Coverage Report

Created: 2026-02-09 07:07

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
46.5M
#define YYCTYPE   unsigned char
54
117M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
774M
#define YYCURSOR  SCNG(yy_cursor)
56
248M
#define YYLIMIT   SCNG(yy_limit)
57
45.0M
#define YYMARKER  SCNG(yy_marker)
58
59
152M
#define YYGETCONDITION()  SCNG(yy_state)
60
16.9M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
4.11M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
274k
#define YYSTATE      YYGETCONDITION()
67
17.6M
#define yytext       ((char*)SCNG(yy_text))
68
61.5M
#define yyleng       SCNG(yy_leng)
69
3.86M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
3.86M
                          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.51G
#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
6.93M
#define HANDLE_NEWLINES(s, l)                         \
97
6.93M
do {                                     \
98
6.93M
  char *p = (s), *boundary = p+(l);                     \
99
6.93M
                                        \
100
69.9M
  while (p<boundary) {                           \
101
63.0M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
5.93M
      CG(zend_lineno)++;                          \
103
5.93M
    }                                    \
104
63.0M
    p++;                                  \
105
63.0M
  }                                      \
106
6.93M
} while (0)
107
108
282k
#define HANDLE_NEWLINE(c) \
109
282k
{ \
110
282k
  if (c == '\n' || c == '\r') { \
111
98.6k
    CG(zend_lineno)++; \
112
98.6k
  } \
113
282k
}
114
115
/* To save initial string length after scanning to first variable */
116
172k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
389k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
6.37M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
41.4k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
185k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
25.5k
#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.79k
{
128
6.79k
  char *src = str, *dest = str;
129
99.7k
  while (*src != '\0') {
130
92.9k
    if (*src != '_') {
131
85.8k
      *dest = *src;
132
85.8k
      dest++;
133
85.8k
    } else {
134
7.10k
      --(*len);
135
7.10k
    }
136
92.9k
    src++;
137
92.9k
  }
138
6.79k
  *dest = '\0';
139
6.79k
}
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
8.48M
{
170
8.48M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
8.48M
  YYSETCONDITION(new_state);
172
8.48M
}
173
174
8.48M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
4.06M
{
178
4.06M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
4.06M
  YYSETCONDITION(*stack_state);
180
4.06M
  zend_stack_del_top(&SCNG(state_stack));
181
4.06M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
135k
{
185
135k
  YYCURSOR       = (YYCTYPE*)str;
186
135k
  YYLIMIT        = YYCURSOR + len;
187
135k
  if (!SCNG(yy_start)) {
188
33.5k
    SCNG(yy_start) = YYCURSOR;
189
33.5k
  }
190
135k
}
191
192
void startup_scanner(void)
193
244k
{
194
244k
  CG(parse_error) = 0;
195
244k
  CG(doc_comment) = NULL;
196
244k
  CG(extra_fn_flags) = 0;
197
244k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
244k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
244k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
244k
  SCNG(heredoc_scan_ahead) = 0;
201
244k
}
202
203
5.59M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
5.59M
    efree(heredoc_label->label);
205
5.59M
}
206
207
void shutdown_scanner(void)
208
244k
{
209
244k
  CG(parse_error) = 0;
210
244k
  RESET_DOC_COMMENT();
211
244k
  zend_stack_destroy(&SCNG(state_stack));
212
244k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
244k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
244k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
244k
  SCNG(heredoc_scan_ahead) = 0;
216
244k
  SCNG(on_event) = NULL;
217
244k
  SCNG(on_event_context) = NULL;
218
244k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
274k
{
222
274k
  lex_state->yy_leng   = SCNG(yy_leng);
223
274k
  lex_state->yy_start  = SCNG(yy_start);
224
274k
  lex_state->yy_text   = SCNG(yy_text);
225
274k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
274k
  lex_state->yy_marker = SCNG(yy_marker);
227
274k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
274k
  lex_state->state_stack = SCNG(state_stack);
230
274k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
274k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
274k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
274k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
274k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
274k
  lex_state->in = SCNG(yy_in);
239
274k
  lex_state->yy_state = YYSTATE;
240
274k
  lex_state->filename = CG(compiled_filename);
241
274k
  lex_state->lineno = CG(zend_lineno);
242
274k
  CG(compiled_filename) = NULL;
243
244
274k
  lex_state->script_org = SCNG(script_org);
245
274k
  lex_state->script_org_size = SCNG(script_org_size);
246
274k
  lex_state->script_filtered = SCNG(script_filtered);
247
274k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
274k
  lex_state->input_filter = SCNG(input_filter);
249
274k
  lex_state->output_filter = SCNG(output_filter);
250
274k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
274k
  lex_state->on_event = SCNG(on_event);
253
274k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
274k
  lex_state->ast = CG(ast);
256
274k
  lex_state->ast_arena = CG(ast_arena);
257
274k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
268k
{
261
268k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
268k
  SCNG(yy_start)  = lex_state->yy_start;
263
268k
  SCNG(yy_text)   = lex_state->yy_text;
264
268k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
268k
  SCNG(yy_marker) = lex_state->yy_marker;
266
268k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
268k
  zend_stack_destroy(&SCNG(state_stack));
269
268k
  SCNG(state_stack) = lex_state->state_stack;
270
271
268k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
268k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
268k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
268k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
268k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
268k
  SCNG(yy_in) = lex_state->in;
279
268k
  YYSETCONDITION(lex_state->yy_state);
280
268k
  CG(zend_lineno) = lex_state->lineno;
281
268k
  zend_restore_compiled_filename(lex_state->filename);
282
283
268k
  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
268k
  SCNG(script_org) = lex_state->script_org;
288
268k
  SCNG(script_org_size) = lex_state->script_org_size;
289
268k
  SCNG(script_filtered) = lex_state->script_filtered;
290
268k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
268k
  SCNG(input_filter) = lex_state->input_filter;
292
268k
  SCNG(output_filter) = lex_state->output_filter;
293
268k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
268k
  SCNG(on_event) = lex_state->on_event;
296
268k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
268k
  CG(ast) = lex_state->ast;
299
268k
  CG(ast_arena) = lex_state->ast_arena;
300
301
268k
  RESET_DOC_COMMENT();
302
268k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
11.9k
{
306
11.9k
  unsigned char *end = ident;
307
75.8k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
63.9k
    end++;
309
63.9k
  }
310
311
11.9k
  size_t length = end - ident;
312
11.9k
  if (length == 0) {
313
6
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
6
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
6
    return FAILURE;
316
6
  }
317
318
11.9k
  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
11.9k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
11.9k
  return SUCCESS;
324
11.9k
}
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
103k
{
532
103k
  char *buf;
533
103k
  size_t size;
534
103k
  zend_string *compiled_filename;
535
536
103k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
731
    zend_llist_add_element(&CG(open_files), file_handle);
539
731
    file_handle->in_list = 1;
540
731
    return FAILURE;
541
731
  }
542
543
102k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
102k
  zend_llist_add_element(&CG(open_files), file_handle);
545
102k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
102k
  SCNG(yy_in) = file_handle;
549
102k
  SCNG(yy_start) = NULL;
550
551
102k
  if (size != (size_t)-1) {
552
102k
    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
102k
    SCNG(yy_start) = (unsigned char *)buf;
569
102k
    yy_scan_buffer(buf, size);
570
102k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
102k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
102k
  } else {
577
102k
    BEGIN(INITIAL);
578
102k
  }
579
580
102k
  if (file_handle->opened_path) {
581
55
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
102k
  } else {
583
102k
    compiled_filename = zend_string_copy(file_handle->filename);
584
102k
  }
585
586
102k
  zend_set_compiled_filename(compiled_filename);
587
102k
  zend_string_release_ex(compiled_filename, 0);
588
589
102k
  SCNG(on_event) = NULL;
590
102k
  SCNG(on_event_context) = NULL;
591
102k
  RESET_DOC_COMMENT();
592
102k
  CG(zend_lineno) = 1;
593
102k
  CG(increment_lineno) = 0;
594
102k
  return SUCCESS;
595
102k
}
596
597
static zend_op_array *zend_compile(int type)
598
106k
{
599
106k
  zend_op_array *op_array = NULL;
600
106k
  bool original_in_compilation = CG(in_compilation);
601
602
106k
  CG(in_compilation) = 1;
603
106k
  CG(ast) = NULL;
604
106k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
106k
  if (!zendparse()) {
607
77.2k
    uint32_t last_lineno = CG(zend_lineno);
608
77.2k
    zend_file_context original_file_context;
609
77.2k
    zend_oparray_context original_oparray_context;
610
77.2k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
77.2k
    op_array = emalloc(sizeof(zend_op_array));
613
77.2k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
77.2k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
77.2k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
77.2k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
77.2k
    zend_file_context_begin(&original_file_context);
624
77.2k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
77.2k
    zend_compile_top_stmt(CG(ast));
626
77.2k
    CG(zend_lineno) = last_lineno;
627
77.2k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
77.2k
    op_array->line_start = 1;
629
77.2k
    op_array->line_end = last_lineno;
630
77.2k
    pass_two(op_array);
631
77.2k
    zend_oparray_context_end(&original_oparray_context);
632
77.2k
    zend_file_context_end(&original_file_context);
633
634
77.2k
    CG(active_op_array) = original_active_op_array;
635
77.2k
  }
636
637
106k
  zend_ast_destroy(CG(ast));
638
106k
  zend_arena_destroy(CG(ast_arena));
639
640
106k
  CG(in_compilation) = original_in_compilation;
641
642
106k
  return op_array;
643
106k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
103k
{
647
103k
  zend_lex_state original_lex_state;
648
103k
  zend_op_array *op_array = NULL;
649
103k
  zend_save_lexical_state(&original_lex_state);
650
651
103k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
731
    if (!EG(exception)) {
653
696
      if (type==ZEND_REQUIRE) {
654
672
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
672
      } else {
656
24
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
24
      }
658
696
    }
659
102k
  } else {
660
102k
    bool orig_record_errors = EG(record_errors);
661
102k
    if (!orig_record_errors) {
662
61
      zend_begin_record_errors();
663
61
    }
664
665
102k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
102k
    if (!orig_record_errors) {
668
61
      zend_emit_recorded_errors();
669
61
      zend_free_recorded_errors();
670
61
    }
671
102k
  }
672
673
103k
  zend_restore_lexical_state(&original_lex_state);
674
103k
  return op_array;
675
103k
}
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
93.3k
{
715
93.3k
  zend_file_handle file_handle;
716
93.3k
  zend_op_array *retval;
717
93.3k
  zend_string *opened_path = NULL;
718
719
93.3k
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
93.3k
  retval = zend_compile_file(&file_handle, type);
722
93.3k
  if (retval && file_handle.handle.stream.handle) {
723
58
    if (!file_handle.opened_path) {
724
4
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
4
    }
726
727
58
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
58
    if (opened_path) {
730
4
      zend_string_release_ex(opened_path, 0);
731
4
    }
732
58
  }
733
93.3k
  zend_destroy_file_handle(&file_handle);
734
735
93.3k
  return retval;
736
93.3k
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
33.5k
{
740
33.5k
  char *buf;
741
33.5k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
33.5k
  old_len = Z_STRLEN_P(str);
745
33.5k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
33.5k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
33.5k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
33.5k
  SCNG(yy_in) = NULL;
750
33.5k
  SCNG(yy_start) = NULL;
751
752
33.5k
  buf = Z_STRVAL_P(str);
753
33.5k
  size = old_len;
754
755
33.5k
  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
33.5k
  yy_scan_buffer(buf, size);
773
33.5k
  zend_set_compiled_filename(filename);
774
33.5k
  CG(zend_lineno) = 1;
775
33.5k
  CG(increment_lineno) = 0;
776
33.5k
  SCNG(on_event) = NULL;
777
33.5k
  SCNG(on_event_context) = NULL;
778
33.5k
  RESET_DOC_COMMENT();
779
33.5k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
59
{
784
59
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
59
  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
59
  return offset;
801
59
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
4.22k
{
805
4.22k
  zend_lex_state original_lex_state;
806
4.22k
  zend_op_array *op_array = NULL;
807
4.22k
  zval tmp;
808
4.22k
  zend_string *filename_str;
809
810
4.22k
  if (ZSTR_LEN(source_string) == 0) {
811
35
    return NULL;
812
35
  }
813
814
4.19k
  ZVAL_STR_COPY(&tmp, source_string);
815
816
4.19k
  zend_save_lexical_state(&original_lex_state);
817
4.19k
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
4.19k
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
4.19k
  zend_string_release(filename_str);
820
821
4.19k
  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.19k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
4.19k
      BEGIN(ST_IN_SCRIPTING);
830
4.19k
      break;
831
4.19k
  }
832
833
4.19k
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
4.19k
  zend_restore_lexical_state(&original_lex_state);
836
4.19k
  zval_ptr_dtor(&tmp);
837
838
4.19k
  return op_array;
839
4.19k
}
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
29.3k
{
867
29.3k
  zend_lex_state original_lex_state;
868
29.3k
  zval str_zv;
869
29.3k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
29.3k
  ZVAL_STR_COPY(&str_zv, str);
871
29.3k
  zend_save_lexical_state(&original_lex_state);
872
29.3k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
29.3k
  zend_string_release(filename_str);
874
29.3k
  BEGIN(INITIAL);
875
29.3k
  zend_highlight(syntax_highlighter_ini);
876
29.3k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
29.3k
  zend_restore_lexical_state(&original_lex_state);
881
29.3k
  zval_ptr_dtor(&str_zv);
882
29.3k
}
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
6.22M
  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
6.22M
  } else if (yyleng == 1) { \
928
2.02M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
4.20M
  } else { \
930
4.20M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
4.20M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
711k
{
935
711k
  char *s, *t;
936
711k
  char *end;
937
938
711k
  if (len <= 1) {
939
173k
    if (len < 1) {
940
20.6k
      ZVAL_EMPTY_STRING(zendlval);
941
152k
    } else {
942
152k
      zend_uchar c = (zend_uchar)*str;
943
152k
      HANDLE_NEWLINE(c);
944
152k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
152k
    }
946
173k
    goto skip_escape_conversion;
947
173k
  }
948
949
537k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
537k
  s = Z_STRVAL_P(zendlval);
953
537k
  end = s+Z_STRLEN_P(zendlval);
954
17.6M
  while (1) {
955
17.6M
    if (UNEXPECTED(*s=='\\')) {
956
132k
      break;
957
132k
    }
958
17.5M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
493k
      CG(zend_lineno)++;
960
493k
    }
961
17.5M
    s++;
962
17.5M
    if (s == end) {
963
405k
      goto skip_escape_conversion;
964
405k
    }
965
17.5M
  }
966
967
132k
  t = s;
968
5.14M
  while (s<end) {
969
5.01M
    if (*s=='\\') {
970
331k
      s++;
971
331k
      if (s >= end) {
972
1.30k
        *t++ = '\\';
973
1.30k
        break;
974
1.30k
      }
975
976
330k
      switch(*s) {
977
50.4k
        case 'n':
978
50.4k
          *t++ = '\n';
979
50.4k
          break;
980
980
        case 'r':
981
980
          *t++ = '\r';
982
980
          break;
983
1.18k
        case 't':
984
1.18k
          *t++ = '\t';
985
1.18k
          break;
986
2.21k
        case 'f':
987
2.21k
          *t++ = '\f';
988
2.21k
          break;
989
2.81k
        case 'v':
990
2.81k
          *t++ = '\v';
991
2.81k
          break;
992
665
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
665
          *t++ = '\e';
997
665
#endif
998
665
          break;
999
1.50k
        case '"':
1000
4.49k
        case '`':
1001
4.49k
          if (*s != quote_type) {
1002
1.11k
            *t++ = '\\';
1003
1.11k
            *t++ = *s;
1004
1.11k
            break;
1005
1.11k
          }
1006
3.38k
          ZEND_FALLTHROUGH;
1007
103k
        case '\\':
1008
104k
        case '$':
1009
104k
          *t++ = *s;
1010
104k
          break;
1011
9.48k
        case 'x':
1012
12.6k
        case 'X':
1013
12.6k
          if (ZEND_IS_HEX(*(s+1))) {
1014
7.38k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
7.38k
            hex_buf[0] = *(++s);
1017
7.38k
            if (ZEND_IS_HEX(*(s+1))) {
1018
4.65k
              hex_buf[1] = *(++s);
1019
4.65k
            }
1020
7.38k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
7.38k
          } else {
1022
5.25k
            *t++ = '\\';
1023
5.25k
            *t++ = *s;
1024
5.25k
          }
1025
12.6k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
2.40k
        case 'u':
1028
2.40k
          {
1029
            /* cache where we started so we can parse after validating */
1030
2.40k
            char *start = s + 1;
1031
2.40k
            size_t len = 0;
1032
2.40k
            bool valid = 1;
1033
2.40k
            unsigned long codepoint;
1034
1035
2.40k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
611
              *t++ = '\\';
1040
611
              *t++ = 'u';
1041
611
              break;
1042
1.79k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
1.79k
              s++;
1045
1.79k
              len++;
1046
1.79k
              s++;
1047
6.66k
              while (*s != '}') {
1048
5.51k
                if (!ZEND_IS_HEX(*s)) {
1049
645
                  valid = 0;
1050
645
                  break;
1051
4.87k
                } else {
1052
4.87k
                  len++;
1053
4.87k
                }
1054
4.87k
                s++;
1055
4.87k
              }
1056
1.79k
              if (*s == '}') {
1057
1.14k
                valid = 1;
1058
1.14k
                len++;
1059
1.14k
              }
1060
1.79k
            }
1061
1062
            /* \u{} is invalid */
1063
1.79k
            if (len <= 2) {
1064
598
              valid = 0;
1065
598
            }
1066
1067
1.79k
            if (!valid) {
1068
680
              zend_throw_exception(zend_ce_parse_error,
1069
680
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
680
              zval_ptr_dtor(zendlval);
1071
680
              ZVAL_UNDEF(zendlval);
1072
680
              return FAILURE;
1073
680
            }
1074
1075
1.79k
            errno = 0;
1076
1.11k
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
1.11k
            if (codepoint > 0x10FFFF || errno) {
1080
75
              zend_throw_exception(zend_ce_parse_error,
1081
75
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
75
              zval_ptr_dtor(zendlval);
1083
75
              ZVAL_UNDEF(zendlval);
1084
75
              return FAILURE;
1085
75
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
1.03k
            if (codepoint < 0x80) {
1089
163
              *t++ = codepoint;
1090
875
            } else if (codepoint <= 0x7FF) {
1091
292
              *t++ = (codepoint >> 6) + 0xC0;
1092
292
              *t++ = (codepoint & 0x3F) + 0x80;
1093
583
            } else if (codepoint <= 0xFFFF) {
1094
391
              *t++ = (codepoint >> 12) + 0xE0;
1095
391
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
391
              *t++ = (codepoint & 0x3F) + 0x80;
1097
391
            } else if (codepoint <= 0x10FFFF) {
1098
192
              *t++ = (codepoint >> 18) + 0xF0;
1099
192
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
192
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
192
              *t++ = (codepoint & 0x3F) + 0x80;
1102
192
            }
1103
1.03k
          }
1104
0
          break;
1105
151k
        default:
1106
          /* check for an octal */
1107
151k
          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.40k
              octal_buf[1] = *(++s);
1113
6.40k
              if (ZEND_IS_OCT(*(s+1))) {
1114
2.35k
                octal_buf[2] = *(++s);
1115
2.35k
              }
1116
6.40k
            }
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
283
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
283
            }
1121
1122
27.8k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
123k
          } else {
1124
123k
            *t++ = '\\';
1125
123k
            *t++ = *s;
1126
123k
          }
1127
151k
          break;
1128
330k
      }
1129
4.68M
    } else {
1130
4.68M
      *t++ = *s;
1131
4.68M
    }
1132
1133
5.01M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
137k
      CG(zend_lineno)++;
1135
137k
    }
1136
5.01M
    s++;
1137
5.01M
  }
1138
131k
  *t = 0;
1139
131k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
710k
skip_escape_conversion:
1142
710k
  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
710k
  return SUCCESS;
1153
131k
}
1154
1155
694k
#define HEREDOC_USING_SPACES 1
1156
47.4k
#define HEREDOC_USING_TABS 2
1157
1158
223k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
3.03M
  for (; str < end; str++) {
1160
2.94M
    if (*str == '\r') {
1161
17.8k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
17.8k
      return str;
1163
2.92M
    } else if (*str == '\n') {
1164
109k
      *newline_len = 1;
1165
109k
      return str;
1166
109k
    }
1167
2.94M
  }
1168
96.5k
  *newline_len = 0;
1169
96.5k
  return NULL;
1170
223k
}
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
92.8k
{
1176
92.8k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
92.8k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
92.8k
  uint32_t newline_count = 0;
1180
92.8k
  size_t newline_len;
1181
92.8k
  const char *nl;
1182
1183
92.8k
  if (!newline_at_start) {
1184
62.7k
    nl = next_newline(str, end, &newline_len);
1185
62.7k
    if (!nl) {
1186
38.2k
      return 1;
1187
38.2k
    }
1188
1189
24.4k
    str = nl + newline_len;
1190
24.4k
    copy = (char *) nl + newline_len;
1191
24.4k
    newline_count++;
1192
30.1k
  } else {
1193
30.1k
    nl = str;
1194
30.1k
  }
1195
1196
  /* <= intentional */
1197
188k
  while (str <= end && nl) {
1198
160k
    size_t skip;
1199
160k
    nl = next_newline(str, end, &newline_len);
1200
160k
    if (!nl && newline_at_end) {
1201
7.77k
      nl = end;
1202
7.77k
    }
1203
1204
    /* Try to skip indentation */
1205
163k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
3.37k
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
492
        break;
1209
492
      }
1210
1211
2.88k
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
61
        CG(zend_lineno) += newline_count;
1213
61
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
61
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
61
        goto error;
1216
61
      }
1217
1218
2.82k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
27
        CG(zend_lineno) += newline_count;
1220
27
        zend_throw_exception(zend_ce_parse_error,
1221
27
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
27
        goto error;
1223
27
      }
1224
2.82k
    }
1225
1226
160k
    if (str == end) {
1227
26.7k
      break;
1228
26.7k
    }
1229
1230
133k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
133k
    memmove(copy, str, len);
1232
133k
    str += len;
1233
133k
    copy += len;
1234
133k
    newline_count++;
1235
133k
  }
1236
1237
54.5k
  *copy = '\0';
1238
54.5k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
54.5k
  return 1;
1240
1241
88
error:
1242
88
  zval_ptr_dtor_str(zendlval);
1243
88
  ZVAL_UNDEF(zendlval);
1244
1245
88
  return 0;
1246
54.6k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
2.23M
{
1250
2.23M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
2.23M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
2.23M
  *new_heredoc_label = *heredoc_label;
1254
2.23M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
2.23M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
2.23M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
273k
{
1262
273k
  char   buf[256];
1263
273k
  size_t used = 0;
1264
1265
273k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
273k
  if (opening_lineno != CG(zend_lineno)) {
1268
151k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
151k
  }
1270
1271
273k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
154k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
154k
  }
1274
1275
273k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
273k
}
1277
1278
static void enter_nesting(char opening)
1279
6.07M
{
1280
6.07M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
6.07M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
6.07M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
1.38M
{
1286
1.38M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
24.8k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
24.8k
    return FAILURE;
1289
24.8k
  }
1290
1291
1.35M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
1.35M
  char opening = nest_loc->text;
1293
1294
1.35M
  if ((opening == '{' && closing != '}') ||
1295
1.28M
      (opening == '[' && closing != ']') ||
1296
1.27M
      (opening == '(' && closing != ')')) {
1297
154k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
154k
    return FAILURE;
1299
154k
  }
1300
1301
1.20M
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
1.20M
  return SUCCESS;
1303
1.35M
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
214k
{
1307
214k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
118k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
118k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
118k
    return FAILURE;
1311
118k
  }
1312
1313
96.1k
  return SUCCESS;
1314
214k
}
1315
1316
#define PARSER_MODE() \
1317
18.0M
  EXPECTED(elem != NULL)
1318
1319
25.2M
#define RETURN_TOKEN(_token) do { \
1320
25.2M
    token = _token; \
1321
25.2M
    goto emit_token; \
1322
25.2M
  } while (0)
1323
1324
3.16M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
3.16M
    token = _token; \
1326
3.16M
    goto emit_token_with_val; \
1327
3.16M
  } while (0)
1328
1329
6.22M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
6.22M
    token = _token; \
1331
6.22M
    offset = _offset; \
1332
6.22M
    goto emit_token_with_str; \
1333
6.22M
  } while (0)
1334
1335
1.20M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
1.20M
    token = _token; \
1337
1.20M
    goto emit_token_with_ident; \
1338
1.20M
  } while (0)
1339
1340
979k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
979k
    token = _token; \
1342
979k
    if (PARSER_MODE()) { \
1343
236k
      goto skip_token; \
1344
236k
    } \
1345
979k
    goto emit_token; \
1346
979k
  } while (0)
1347
1348
1.38M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
1.38M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
243
      RETURN_TOKEN(T_ERROR); \
1351
1.38M
    } else { \
1352
1.38M
      RETURN_TOKEN(_token); \
1353
1.38M
    } \
1354
1.38M
  } while(0)
1355
1356
214k
#define RETURN_END_TOKEN do { \
1357
214k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
4.05k
      RETURN_TOKEN(T_ERROR); \
1359
210k
    } else { \
1360
210k
      RETURN_TOKEN(END); \
1361
210k
    } \
1362
214k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
39.9M
{
1366
39.9M
int token;
1367
39.9M
int offset;
1368
39.9M
uint32_t start_line = CG(zend_lineno);
1369
1370
39.9M
  ZVAL_UNDEF(zendlval);
1371
46.1M
restart:
1372
46.1M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
46.1M
#line 1376 "Zend/zend_language_scanner.c"
1376
46.1M
{
1377
46.1M
  YYCTYPE yych;
1378
46.1M
  unsigned int yyaccept = 0;
1379
46.1M
  if (YYGETCONDITION() < 5) {
1380
42.0M
    if (YYGETCONDITION() < 2) {
1381
36.3M
      if (YYGETCONDITION() < 1) {
1382
35.9M
        goto yyc_ST_IN_SCRIPTING;
1383
35.9M
      } else {
1384
382k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
382k
      }
1386
36.3M
    } else {
1387
5.70M
      if (YYGETCONDITION() < 3) {
1388
183k
        goto yyc_ST_BACKQUOTE;
1389
5.52M
      } else {
1390
5.52M
        if (YYGETCONDITION() < 4) {
1391
623k
          goto yyc_ST_DOUBLE_QUOTES;
1392
4.90M
        } else {
1393
4.90M
          goto yyc_ST_HEREDOC;
1394
4.90M
        }
1395
5.52M
      }
1396
5.70M
    }
1397
42.0M
  } else {
1398
4.08M
    if (YYGETCONDITION() < 8) {
1399
3.65M
      if (YYGETCONDITION() < 6) {
1400
3.46M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
3.46M
      } else {
1402
190k
        if (YYGETCONDITION() < 7) {
1403
190k
          goto yyc_ST_VAR_OFFSET;
1404
190k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
190k
      }
1408
3.65M
    } else {
1409
429k
      if (YYGETCONDITION() < 9) {
1410
398k
        goto yyc_INITIAL;
1411
398k
      } else {
1412
30.8k
        if (YYGETCONDITION() < 10) {
1413
22.6k
          goto yyc_ST_END_HEREDOC;
1414
22.6k
        } else {
1415
8.14k
          goto yyc_ST_NOWDOC;
1416
8.14k
        }
1417
30.8k
      }
1418
429k
    }
1419
4.08M
  }
1420
/* *********************************** */
1421
35.9M
yyc_ST_IN_SCRIPTING:
1422
35.9M
  {
1423
35.9M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
35.9M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
35.9M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
35.9M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
35.9M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
35.9M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
35.9M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
35.9M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
35.9M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
35.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
35.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
35.9M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
35.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
35.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
35.9M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
35.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
35.9M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
35.9M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
35.9M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
35.9M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
35.9M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
35.9M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
35.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
35.9M
    };
1491
35.9M
    YYDEBUG(1, *YYCURSOR);
1492
35.9M
    YYFILL(16);
1493
35.9M
    yych = *YYCURSOR;
1494
35.9M
    if (yybm[256+yych] & 32) {
1495
5.77M
      goto yy5;
1496
5.77M
    }
1497
30.1M
    switch (yych) {
1498
4.84M
    case 0x00:
1499
4.97M
    case 0x01:
1500
5.03M
    case 0x02:
1501
5.08M
    case 0x03:
1502
5.22M
    case 0x04:
1503
5.27M
    case 0x05:
1504
5.30M
    case 0x06:
1505
5.35M
    case 0x07:
1506
5.41M
    case 0x08:
1507
5.41M
    case '\t':
1508
5.41M
    case '\n':
1509
5.47M
    case '\v':
1510
5.53M
    case '\f':
1511
5.53M
    case '\r':
1512
5.57M
    case 0x0E:
1513
5.62M
    case 0x0F:
1514
5.64M
    case 0x10:
1515
5.65M
    case 0x11:
1516
5.67M
    case 0x12:
1517
5.75M
    case 0x13:
1518
5.78M
    case 0x14:
1519
5.78M
    case 0x15:
1520
5.80M
    case 0x16:
1521
5.82M
    case 0x17:
1522
5.84M
    case 0x18:
1523
5.85M
    case 0x19:
1524
5.87M
    case 0x1A:
1525
5.88M
    case 0x1B:
1526
6.09M
    case 0x1C:
1527
6.15M
    case 0x1D:
1528
6.17M
    case 0x1E:
1529
6.19M
    case 0x1F:
1530
6.22M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
167k
    case '!': goto yy8;
1533
333k
    case '"': goto yy10;
1534
598k
    case '#': goto yy12;
1535
1.58M
    case '$': goto yy14;
1536
62.6k
    case '%': goto yy15;
1537
188k
    case '&': goto yy16;
1538
312k
    case '\'':  goto yy18;
1539
1.08M
    case '(': goto yy20;
1540
792k
    case ')':
1541
1.01M
    case ']': goto yy22;
1542
113k
    case '*': goto yy24;
1543
207k
    case '+': goto yy25;
1544
721k
    case ',':
1545
1.66M
    case ';':
1546
2.15M
    case '@':
1547
2.21M
    case '~': goto yy26;
1548
340k
    case '-': goto yy27;
1549
381k
    case '.': goto yy28;
1550
316k
    case '/': goto yy29;
1551
232k
    case '0': goto yy30;
1552
202k
    case '1':
1553
359k
    case '2':
1554
456k
    case '3':
1555
583k
    case '4':
1556
652k
    case '5':
1557
692k
    case '6':
1558
725k
    case '7':
1559
775k
    case '8':
1560
816k
    case '9': goto yy32;
1561
214k
    case ':': goto yy34;
1562
4.79M
    case '<': goto yy35;
1563
593k
    case '=': goto yy36;
1564
74.9k
    case '>': goto yy37;
1565
596k
    case '?': goto yy38;
1566
71.0k
    case 'A':
1567
231k
    case 'a': goto yy39;
1568
55.9k
    case 'B':
1569
113k
    case 'b': goto yy41;
1570
73.8k
    case 'C':
1571
355k
    case 'c': goto yy42;
1572
56.4k
    case 'D':
1573
128k
    case 'd': goto yy43;
1574
86.0k
    case 'E':
1575
585k
    case 'e': goto yy44;
1576
52.8k
    case 'F':
1577
403k
    case 'f': goto yy45;
1578
13.7k
    case 'G':
1579
78.1k
    case 'g': goto yy46;
1580
75.4k
    case 'I':
1581
308k
    case 'i': goto yy49;
1582
12.8k
    case 'L':
1583
58.8k
    case 'l': goto yy50;
1584
20.2k
    case 'M':
1585
75.2k
    case 'm': goto yy51;
1586
40.7k
    case 'N':
1587
231k
    case 'n': goto yy52;
1588
41.0k
    case 'O':
1589
132k
    case 'o': goto yy53;
1590
71.2k
    case 'P':
1591
434k
    case 'p': goto yy54;
1592
15.5k
    case 'R':
1593
142k
    case 'r': goto yy55;
1594
26.7k
    case 'S':
1595
198k
    case 's': goto yy56;
1596
49.9k
    case 'T':
1597
222k
    case 't': goto yy57;
1598
6.14k
    case 'U':
1599
77.3k
    case 'u': goto yy58;
1600
10.4k
    case 'V':
1601
141k
    case 'v': goto yy59;
1602
13.0k
    case 'W':
1603
29.1k
    case 'w': goto yy60;
1604
17.5k
    case 'X':
1605
33.7k
    case 'x': goto yy61;
1606
10.1k
    case 'Y':
1607
138k
    case 'y': goto yy62;
1608
241k
    case '[': goto yy63;
1609
197k
    case '\\':  goto yy64;
1610
86.6k
    case '^': goto yy66;
1611
213k
    case '_': goto yy67;
1612
63.3k
    case '`': goto yy68;
1613
1.22M
    case '{': goto yy70;
1614
105k
    case '|': goto yy72;
1615
372k
    case '}': goto yy73;
1616
1.08M
    default:  goto yy47;
1617
30.1M
    }
1618
6.22M
yy3:
1619
6.22M
    YYDEBUG(3, *YYCURSOR);
1620
6.22M
    ++YYCURSOR;
1621
6.22M
    YYDEBUG(4, *YYCURSOR);
1622
6.22M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
6.22M
#line 3180 "Zend/zend_language_scanner.l"
1624
6.22M
    {
1625
6.22M
  if (YYCURSOR > YYLIMIT) {
1626
111k
    RETURN_END_TOKEN;
1627
111k
  }
1628
1629
6.11M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
6.11M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
9.21M
yy5:
1633
9.21M
    YYDEBUG(5, *YYCURSOR);
1634
9.21M
    ++YYCURSOR;
1635
9.21M
    YYFILL(1);
1636
9.21M
    yych = *YYCURSOR;
1637
9.21M
    YYDEBUG(6, *YYCURSOR);
1638
9.21M
    if (yybm[256+yych] & 32) {
1639
3.44M
      goto yy5;
1640
3.44M
    }
1641
5.77M
    YYDEBUG(7, *YYCURSOR);
1642
5.77M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
5.77M
#line 1597 "Zend/zend_language_scanner.l"
1644
5.77M
    {
1645
5.77M
  goto return_whitespace;
1646
9.21M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
167k
yy8:
1649
167k
    YYDEBUG(8, *YYCURSOR);
1650
167k
    yych = *++YYCURSOR;
1651
167k
    if (yych == '=') goto yy75;
1652
5.89M
yy9:
1653
5.89M
    YYDEBUG(9, *YYCURSOR);
1654
5.89M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
5.89M
#line 1969 "Zend/zend_language_scanner.l"
1656
5.89M
    {
1657
5.89M
  RETURN_TOKEN(yytext[0]);
1658
5.89M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
335k
yy10:
1661
335k
    YYDEBUG(10, *YYCURSOR);
1662
335k
    ++YYCURSOR;
1663
335k
    YYDEBUG(11, *YYCURSOR);
1664
335k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
335k
#line 2632 "Zend/zend_language_scanner.l"
1666
335k
    {
1667
335k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
10.0M
  while (YYCURSOR < YYLIMIT) {
1670
10.0M
    switch (*YYCURSOR++) {
1671
243k
      case '"':
1672
243k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
243k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
243k
         || !PARSER_MODE()) {
1675
243k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
243k
        } else {
1677
10
          RETURN_TOKEN(T_ERROR);
1678
10
        }
1679
110k
      case '$':
1680
110k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
78.9k
          break;
1682
78.9k
        }
1683
31.0k
        continue;
1684
37.1k
      case '{':
1685
37.1k
        if (*YYCURSOR == '$') {
1686
3.74k
          break;
1687
3.74k
        }
1688
33.3k
        continue;
1689
240k
      case '\\':
1690
240k
        if (YYCURSOR < YYLIMIT) {
1691
240k
          YYCURSOR++;
1692
240k
        }
1693
240k
        ZEND_FALLTHROUGH;
1694
9.68M
      default:
1695
9.68M
        continue;
1696
10.0M
    }
1697
1698
82.7k
    YYCURSOR--;
1699
82.7k
    break;
1700
10.0M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
335k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
91.8k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
91.8k
  BEGIN(ST_DOUBLE_QUOTES);
1708
91.8k
  RETURN_TOKEN('"');
1709
91.8k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
598k
yy12:
1712
598k
    YYDEBUG(12, *YYCURSOR);
1713
598k
    yych = *++YYCURSOR;
1714
598k
    if (yych == '[') goto yy77;
1715
665k
yy13:
1716
665k
    YYDEBUG(13, *YYCURSOR);
1717
665k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
665k
#line 2460 "Zend/zend_language_scanner.l"
1719
665k
    {
1720
7.49M
  while (YYCURSOR < YYLIMIT) {
1721
7.48M
    switch (*YYCURSOR++) {
1722
190k
      case '\r':
1723
655k
      case '\n':
1724
655k
        YYCURSOR--;
1725
655k
        break;
1726
40.0k
      case '?':
1727
40.0k
        if (*YYCURSOR == '>') {
1728
2.62k
          YYCURSOR--;
1729
2.62k
          break;
1730
2.62k
        }
1731
37.4k
        ZEND_FALLTHROUGH;
1732
6.83M
      default:
1733
6.83M
        continue;
1734
7.48M
    }
1735
1736
658k
    break;
1737
7.48M
  }
1738
1739
665k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
665k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
665k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
1.58M
yy14:
1744
1.58M
    YYDEBUG(14, *YYCURSOR);
1745
1.58M
    yych = *++YYCURSOR;
1746
1.58M
    if (yych <= '_') {
1747
224k
      if (yych <= '@') goto yy9;
1748
37.2k
      if (yych <= 'Z') goto yy79;
1749
13.2k
      if (yych <= '^') goto yy9;
1750
4.15k
      goto yy79;
1751
1.36M
    } else {
1752
1.36M
      if (yych <= '`') goto yy9;
1753
1.36M
      if (yych <= 'z') goto yy79;
1754
489k
      if (yych <= 0x7F) goto yy9;
1755
64.6k
      goto yy79;
1756
489k
    }
1757
62.6k
yy15:
1758
62.6k
    YYDEBUG(15, *YYCURSOR);
1759
62.6k
    yych = *++YYCURSOR;
1760
62.6k
    if (yych == '=') goto yy82;
1761
60.4k
    goto yy9;
1762
188k
yy16:
1763
188k
    YYDEBUG(16, *YYCURSOR);
1764
188k
    yyaccept = 0;
1765
188k
    yych = *(YYMARKER = ++YYCURSOR);
1766
188k
    if (yych <= '"') {
1767
63.8k
      if (yych <= '\f') {
1768
38.0k
        if (yych <= 0x08) goto yy17;
1769
35.2k
        if (yych <= '\n') goto yy85;
1770
35.2k
      } else {
1771
25.8k
        if (yych <= '\r') goto yy85;
1772
21.5k
        if (yych == ' ') goto yy85;
1773
21.5k
      }
1774
124k
    } else {
1775
124k
      if (yych <= '-') {
1776
42.8k
        if (yych <= '$') goto yy85;
1777
25.1k
        if (yych == '&') goto yy90;
1778
81.6k
      } else {
1779
81.6k
        if (yych <= '/') goto yy85;
1780
79.2k
        if (yych == '=') goto yy94;
1781
79.2k
      }
1782
124k
    }
1783
125k
yy17:
1784
125k
    YYDEBUG(17, *YYCURSOR);
1785
125k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
125k
#line 1955 "Zend/zend_language_scanner.l"
1787
125k
    {
1788
125k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
125k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
313k
yy18:
1792
313k
    YYDEBUG(18, *YYCURSOR);
1793
313k
    ++YYCURSOR;
1794
313k
    YYDEBUG(19, *YYCURSOR);
1795
313k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
313k
#line 2538 "Zend/zend_language_scanner.l"
1797
313k
    {
1798
313k
  char *s, *t;
1799
313k
  char *end;
1800
313k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
39.2M
  while (1) {
1803
39.2M
    if (YYCURSOR < YYLIMIT) {
1804
39.2M
      if (*YYCURSOR == '\'') {
1805
302k
        YYCURSOR++;
1806
302k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
302k
        break;
1809
38.9M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
115k
        YYCURSOR++;
1811
115k
      }
1812
39.2M
    } else {
1813
11.0k
      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
11.0k
      ZVAL_NULL(zendlval);
1819
11.0k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
11.0k
    }
1821
39.2M
  }
1822
1823
302k
  if (yyleng-bprefix-2 <= 1) {
1824
56.7k
    if (yyleng-bprefix-2 < 1) {
1825
15.2k
      ZVAL_EMPTY_STRING(zendlval);
1826
41.4k
    } else {
1827
41.4k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
41.4k
      HANDLE_NEWLINE(c);
1829
41.4k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
41.4k
    }
1831
56.7k
    goto skip_escape_conversion;
1832
56.7k
  }
1833
245k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
245k
  s = Z_STRVAL_P(zendlval);
1837
245k
  end = s+Z_STRLEN_P(zendlval);
1838
26.9M
  while (1) {
1839
26.9M
    if (UNEXPECTED(*s=='\\')) {
1840
39.0k
      break;
1841
39.0k
    }
1842
26.9M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
473k
      CG(zend_lineno)++;
1844
473k
    }
1845
26.9M
    s++;
1846
26.9M
    if (s == end) {
1847
206k
      goto skip_escape_conversion;
1848
206k
    }
1849
26.9M
  }
1850
1851
39.0k
  t = s;
1852
10.9M
  while (s<end) {
1853
10.8M
    if (*s=='\\') {
1854
109k
      s++;
1855
109k
      if (*s == '\\' || *s == '\'') {
1856
37.6k
        *t++ = *s;
1857
72.2k
      } else {
1858
72.2k
        *t++ = '\\';
1859
72.2k
        *t++ = *s;
1860
72.2k
      }
1861
10.7M
    } else {
1862
10.7M
      *t++ = *s;
1863
10.7M
    }
1864
10.8M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
201k
      CG(zend_lineno)++;
1866
201k
    }
1867
10.8M
    s++;
1868
10.8M
  }
1869
39.0k
  *t = 0;
1870
39.0k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
302k
skip_escape_conversion:
1873
302k
  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
302k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
302k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
1.08M
yy20:
1891
1.08M
    YYDEBUG(20, *YYCURSOR);
1892
1.08M
    yyaccept = 1;
1893
1.08M
    yych = *(YYMARKER = ++YYCURSOR);
1894
1.08M
    if (yych <= 'S') {
1895
778k
      if (yych <= 'D') {
1896
721k
        if (yych <= ' ') {
1897
113k
          if (yych == '\t') goto yy97;
1898
105k
          if (yych >= ' ') goto yy97;
1899
607k
        } else {
1900
607k
          if (yych <= '@') goto yy21;
1901
22.3k
          if (yych != 'C') goto yy97;
1902
22.3k
        }
1903
721k
      } else {
1904
57.1k
        if (yych <= 'I') {
1905
36.6k
          if (yych == 'F') goto yy97;
1906
32.9k
          if (yych >= 'I') goto yy97;
1907
32.9k
        } else {
1908
20.4k
          if (yych == 'O') goto yy97;
1909
11.7k
          if (yych >= 'R') goto yy97;
1910
11.7k
        }
1911
57.1k
      }
1912
778k
    } else {
1913
307k
      if (yych <= 'f') {
1914
124k
        if (yych <= 'b') {
1915
83.2k
          if (yych <= 'T') goto yy21;
1916
77.6k
          if (yych <= 'V') goto yy97;
1917
76.1k
          if (yych >= 'a') goto yy97;
1918
76.1k
        } else {
1919
40.9k
          if (yych == 'd') goto yy97;
1920
36.0k
          if (yych >= 'f') goto yy97;
1921
36.0k
        }
1922
183k
      } else {
1923
183k
        if (yych <= 'o') {
1924
71.8k
          if (yych == 'i') goto yy97;
1925
40.5k
          if (yych >= 'o') goto yy97;
1926
111k
        } else {
1927
111k
          if (yych <= 's') {
1928
48.5k
            if (yych >= 'r') goto yy97;
1929
62.8k
          } else {
1930
62.8k
            if (yych <= 't') goto yy21;
1931
56.1k
            if (yych <= 'v') goto yy97;
1932
56.1k
          }
1933
111k
        }
1934
183k
      }
1935
307k
    }
1936
1.31M
yy21:
1937
1.31M
    YYDEBUG(21, *YYCURSOR);
1938
1.31M
    yyleng = YYCURSOR - SCNG(yy_text);
1939
1.31M
#line 1964 "Zend/zend_language_scanner.l"
1940
1.31M
    {
1941
1.31M
  enter_nesting(yytext[0]);
1942
1.31M
  RETURN_TOKEN(yytext[0]);
1943
1.31M
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
1.01M
yy22:
1946
1.01M
    YYDEBUG(22, *YYCURSOR);
1947
1.01M
    ++YYCURSOR;
1948
1.01M
    YYDEBUG(23, *YYCURSOR);
1949
1.01M
    yyleng = YYCURSOR - SCNG(yy_text);
1950
1.01M
#line 1959 "Zend/zend_language_scanner.l"
1951
1.01M
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
1.01M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
1.01M
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
113k
yy24:
1957
113k
    YYDEBUG(24, *YYCURSOR);
1958
113k
    yych = *++YYCURSOR;
1959
113k
    if (yych == '*') goto yy108;
1960
85.8k
    if (yych == '=') goto yy110;
1961
81.4k
    goto yy9;
1962
207k
yy25:
1963
207k
    YYDEBUG(25, *YYCURSOR);
1964
207k
    yych = *++YYCURSOR;
1965
207k
    if (yych == '+') goto yy112;
1966
166k
    if (yych == '=') goto yy114;
1967
161k
    goto yy9;
1968
2.21M
yy26:
1969
2.21M
    YYDEBUG(26, *YYCURSOR);
1970
2.21M
    ++YYCURSOR;
1971
2.21M
    goto yy9;
1972
340k
yy27:
1973
340k
    YYDEBUG(27, *YYCURSOR);
1974
340k
    yych = *++YYCURSOR;
1975
340k
    if (yych <= '<') {
1976
148k
      if (yych == '-') goto yy116;
1977
130k
      goto yy9;
1978
192k
    } else {
1979
192k
      if (yych <= '=') goto yy118;
1980
190k
      if (yych <= '>') goto yy120;
1981
72.8k
      goto yy9;
1982
190k
    }
1983
381k
yy28:
1984
381k
    YYDEBUG(28, *YYCURSOR);
1985
381k
    yyaccept = 2;
1986
381k
    yych = *(YYMARKER = ++YYCURSOR);
1987
381k
    if (yych <= '/') {
1988
185k
      if (yych == '.') goto yy122;
1989
119k
      goto yy9;
1990
196k
    } else {
1991
196k
      if (yych <= '9') goto yy123;
1992
151k
      if (yych == '=') goto yy126;
1993
54.4k
      goto yy9;
1994
151k
    }
1995
316k
yy29:
1996
316k
    YYDEBUG(29, *YYCURSOR);
1997
316k
    yych = *++YYCURSOR;
1998
316k
    if (yych <= '.') {
1999
149k
      if (yych == '*') goto yy128;
2000
41.8k
      goto yy9;
2001
167k
    } else {
2002
167k
      if (yych <= '/') goto yy130;
2003
84.2k
      if (yych == '=') goto yy131;
2004
79.1k
      goto yy9;
2005
84.2k
    }
2006
232k
yy30:
2007
232k
    YYDEBUG(30, *YYCURSOR);
2008
232k
    yyaccept = 3;
2009
232k
    yych = *(YYMARKER = ++YYCURSOR);
2010
232k
    if (yych <= 'X') {
2011
165k
      if (yych <= 'N') {
2012
154k
        if (yych == 'B') goto yy134;
2013
153k
        goto yy33;
2014
154k
      } else {
2015
10.7k
        if (yych <= 'O') goto yy136;
2016
9.93k
        if (yych <= 'W') goto yy33;
2017
9.09k
        goto yy137;
2018
9.93k
      }
2019
165k
    } else {
2020
67.2k
      if (yych <= 'n') {
2021
39.1k
        if (yych == 'b') goto yy134;
2022
35.9k
        goto yy33;
2023
39.1k
      } else {
2024
28.1k
        if (yych <= 'o') goto yy136;
2025
24.2k
        if (yych == 'x') goto yy137;
2026
20.8k
        goto yy33;
2027
24.2k
      }
2028
67.2k
    }
2029
954k
yy31:
2030
954k
    YYDEBUG(31, *YYCURSOR);
2031
954k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
954k
#line 2103 "Zend/zend_language_scanner.l"
2033
954k
    {
2034
954k
  size_t len = yyleng;
2035
954k
  char *end, *lnum = yytext;
2036
954k
  bool is_octal = lnum[0] == '0';
2037
954k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
954k
  if (contains_underscores) {
2040
1.74k
    lnum = estrndup(lnum, len);
2041
1.74k
    strip_underscores(lnum, &len);
2042
1.74k
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
954k
  if (is_octal) {
2046
199k
    size_t i;
2047
587k
    for (i = 0; i < len; i++) {
2048
391k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
3.11k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
3.11k
        if (PARSER_MODE()) {
2051
19
          if (contains_underscores) {
2052
2
            efree(lnum);
2053
2
          }
2054
19
          ZVAL_UNDEF(zendlval);
2055
19
          RETURN_TOKEN(T_ERROR);
2056
19
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
3.09k
        len = i;
2060
3.09k
        break;
2061
3.11k
      }
2062
391k
    }
2063
199k
  }
2064
2065
2066
954k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
913k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
913k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
913k
    ZEND_ASSERT(end == lnum + len);
2071
913k
  } else {
2072
40.5k
    errno = 0;
2073
40.5k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
40.5k
    if (errno == ERANGE) { /* Overflow */
2075
34.9k
      errno = 0;
2076
34.9k
      if (is_octal) { /* octal overflow */
2077
512
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
34.4k
      } else {
2079
34.4k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
34.4k
      }
2081
34.9k
      ZEND_ASSERT(end == lnum + len);
2082
34.9k
      if (contains_underscores) {
2083
368
        efree(lnum);
2084
368
      }
2085
34.9k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
34.9k
    }
2087
5.58k
    ZEND_ASSERT(end == lnum + len);
2088
5.58k
  }
2089
919k
  ZEND_ASSERT(!errno);
2090
919k
  if (contains_underscores) {
2091
1.37k
    efree(lnum);
2092
1.37k
  }
2093
919k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
919k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
3.61M
yy32:
2097
3.61M
    YYDEBUG(32, *YYCURSOR);
2098
3.61M
    yyaccept = 3;
2099
3.61M
    YYMARKER = ++YYCURSOR;
2100
3.61M
    YYFILL(3);
2101
3.61M
    yych = *YYCURSOR;
2102
3.82M
yy33:
2103
3.82M
    YYDEBUG(33, *YYCURSOR);
2104
3.82M
    if (yybm[256+yych] & 64) {
2105
2.79M
      goto yy32;
2106
2.79M
    }
2107
1.03M
    if (yych <= 'E') {
2108
778k
      if (yych == '.') goto yy133;
2109
727k
      if (yych <= 'D') goto yy31;
2110
21.6k
      goto yy135;
2111
727k
    } else {
2112
252k
      if (yych <= '_') {
2113
109k
        if (yych <= '^') goto yy31;
2114
10.3k
        goto yy138;
2115
143k
      } else {
2116
143k
        if (yych == 'e') goto yy135;
2117
129k
        goto yy31;
2118
143k
      }
2119
252k
    }
2120
214k
yy34:
2121
214k
    YYDEBUG(34, *YYCURSOR);
2122
214k
    yych = *++YYCURSOR;
2123
214k
    if (yych == ':') goto yy139;
2124
106k
    goto yy9;
2125
4.79M
yy35:
2126
4.79M
    YYDEBUG(35, *YYCURSOR);
2127
4.79M
    yych = *++YYCURSOR;
2128
4.79M
    if (yych <= ';') goto yy9;
2129
4.59M
    if (yych <= '<') goto yy141;
2130
661k
    if (yych <= '=') goto yy143;
2131
644k
    if (yych <= '>') goto yy145;
2132
639k
    goto yy9;
2133
639k
yy36:
2134
593k
    YYDEBUG(36, *YYCURSOR);
2135
593k
    yych = *++YYCURSOR;
2136
593k
    if (yych <= '<') goto yy9;
2137
113k
    if (yych <= '=') goto yy146;
2138
76.0k
    if (yych <= '>') goto yy148;
2139
29.9k
    goto yy9;
2140
74.9k
yy37:
2141
74.9k
    YYDEBUG(37, *YYCURSOR);
2142
74.9k
    yych = *++YYCURSOR;
2143
74.9k
    if (yych <= '<') goto yy9;
2144
33.9k
    if (yych <= '=') goto yy150;
2145
30.0k
    if (yych <= '>') goto yy152;
2146
21.9k
    goto yy9;
2147
596k
yy38:
2148
596k
    YYDEBUG(38, *YYCURSOR);
2149
596k
    yyaccept = 2;
2150
596k
    yych = *(YYMARKER = ++YYCURSOR);
2151
596k
    if (yych <= '=') {
2152
247k
      if (yych == '-') goto yy154;
2153
203k
      goto yy9;
2154
349k
    } else {
2155
349k
      if (yych <= '>') goto yy155;
2156
219k
      if (yych <= '?') goto yy157;
2157
173k
      goto yy9;
2158
219k
    }
2159
231k
yy39:
2160
231k
    YYDEBUG(39, *YYCURSOR);
2161
231k
    yyaccept = 4;
2162
231k
    yych = *(YYMARKER = ++YYCURSOR);
2163
231k
    if (yych <= 'S') {
2164
82.6k
      if (yych <= 'M') {
2165
76.5k
        if (yych == 'B') goto yy159;
2166
74.4k
        goto yy48;
2167
76.5k
      } else {
2168
6.09k
        if (yych <= 'N') goto yy160;
2169
5.53k
        if (yych <= 'Q') goto yy48;
2170
5.06k
        if (yych <= 'R') goto yy161;
2171
3.88k
        goto yy162;
2172
5.06k
      }
2173
149k
    } else {
2174
149k
      if (yych <= 'n') {
2175
46.4k
        if (yych == 'b') goto yy159;
2176
29.7k
        if (yych <= 'm') goto yy48;
2177
8.00k
        goto yy160;
2178
102k
      } else {
2179
102k
        if (yych <= 'q') goto yy48;
2180
100k
        if (yych <= 'r') goto yy161;
2181
65.3k
        if (yych <= 's') goto yy162;
2182
14.8k
        goto yy48;
2183
65.3k
      }
2184
149k
    }
2185
4.16M
yy40:
2186
4.16M
    YYDEBUG(40, *YYCURSOR);
2187
4.16M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
4.16M
#line 2455 "Zend/zend_language_scanner.l"
2189
4.16M
    {
2190
4.16M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
4.16M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
113k
yy41:
2194
113k
    YYDEBUG(41, *YYCURSOR);
2195
113k
    yyaccept = 4;
2196
113k
    yych = *(YYMARKER = ++YYCURSOR);
2197
113k
    if (yych <= ';') {
2198
32.3k
      if (yych <= '"') {
2199
15.3k
        if (yych <= '!') goto yy48;
2200
1.32k
        goto yy10;
2201
16.9k
      } else {
2202
16.9k
        if (yych == '\'') goto yy18;
2203
16.3k
        goto yy48;
2204
16.9k
      }
2205
81.6k
    } else {
2206
81.6k
      if (yych <= 'R') {
2207
16.6k
        if (yych <= '<') goto yy165;
2208
10.2k
        if (yych <= 'Q') goto yy48;
2209
433
        goto yy166;
2210
65.0k
      } else {
2211
65.0k
        if (yych == 'r') goto yy166;
2212
53.9k
        goto yy48;
2213
65.0k
      }
2214
81.6k
    }
2215
355k
yy42:
2216
355k
    YYDEBUG(42, *YYCURSOR);
2217
355k
    yyaccept = 4;
2218
355k
    yych = *(YYMARKER = ++YYCURSOR);
2219
355k
    if (yych <= 'O') {
2220
85.0k
      if (yych <= 'K') {
2221
73.6k
        if (yych == 'A') goto yy167;
2222
71.4k
        goto yy48;
2223
73.6k
      } else {
2224
11.3k
        if (yych <= 'L') goto yy168;
2225
6.51k
        if (yych <= 'N') goto yy48;
2226
5.88k
        goto yy169;
2227
6.51k
      }
2228
270k
    } else {
2229
270k
      if (yych <= 'k') {
2230
106k
        if (yych == 'a') goto yy167;
2231
34.4k
        goto yy48;
2232
163k
      } else {
2233
163k
        if (yych <= 'l') goto yy168;
2234
67.1k
        if (yych == 'o') goto yy169;
2235
20.9k
        goto yy48;
2236
67.1k
      }
2237
270k
    }
2238
128k
yy43:
2239
128k
    YYDEBUG(43, *YYCURSOR);
2240
128k
    yyaccept = 4;
2241
128k
    yych = *(YYMARKER = ++YYCURSOR);
2242
128k
    if (yych <= 'O') {
2243
34.8k
      if (yych <= 'H') {
2244
26.3k
        if (yych == 'E') goto yy170;
2245
22.6k
        goto yy48;
2246
26.3k
      } else {
2247
8.50k
        if (yych <= 'I') goto yy171;
2248
8.25k
        if (yych <= 'N') goto yy48;
2249
7.41k
        goto yy172;
2250
8.25k
      }
2251
93.9k
    } else {
2252
93.9k
      if (yych <= 'h') {
2253
61.2k
        if (yych == 'e') goto yy170;
2254
38.7k
        goto yy48;
2255
61.2k
      } else {
2256
32.7k
        if (yych <= 'i') goto yy171;
2257
23.8k
        if (yych == 'o') goto yy172;
2258
14.4k
        goto yy48;
2259
23.8k
      }
2260
93.9k
    }
2261
585k
yy44:
2262
585k
    YYDEBUG(44, *YYCURSOR);
2263
585k
    yyaccept = 4;
2264
585k
    yych = *(YYMARKER = ++YYCURSOR);
2265
585k
    switch (yych) {
2266
2.27k
    case 'C':
2267
92.6k
    case 'c': goto yy174;
2268
1.21k
    case 'L':
2269
21.0k
    case 'l': goto yy175;
2270
2.08k
    case 'M':
2271
9.39k
    case 'm': goto yy176;
2272
105k
    case 'N':
2273
247k
    case 'n': goto yy177;
2274
282
    case 'V':
2275
9.91k
    case 'v': goto yy178;
2276
2.77k
    case 'X':
2277
67.0k
    case 'x': goto yy179;
2278
138k
    default:  goto yy48;
2279
585k
    }
2280
403k
yy45:
2281
403k
    YYDEBUG(45, *YYCURSOR);
2282
403k
    yyaccept = 4;
2283
403k
    yych = *(YYMARKER = ++YYCURSOR);
2284
403k
    if (yych <= 'U') {
2285
89.4k
      if (yych <= 'M') {
2286
62.2k
        if (yych == 'I') goto yy180;
2287
61.3k
        goto yy48;
2288
62.2k
      } else {
2289
27.2k
        if (yych <= 'N') goto yy181;
2290
25.5k
        if (yych <= 'O') goto yy183;
2291
13.3k
        if (yych <= 'T') goto yy48;
2292
932
        goto yy184;
2293
13.3k
      }
2294
313k
    } else {
2295
313k
      if (yych <= 'n') {
2296
67.5k
        if (yych == 'i') goto yy180;
2297
47.1k
        if (yych <= 'm') goto yy48;
2298
19.6k
        goto yy181;
2299
246k
      } else {
2300
246k
        if (yych <= 'o') goto yy183;
2301
132k
        if (yych == 'u') goto yy184;
2302
19.0k
        goto yy48;
2303
132k
      }
2304
313k
    }
2305
78.1k
yy46:
2306
78.1k
    YYDEBUG(46, *YYCURSOR);
2307
78.1k
    yyaccept = 4;
2308
78.1k
    yych = *(YYMARKER = ++YYCURSOR);
2309
78.1k
    if (yych <= 'O') {
2310
34.8k
      if (yych == 'L') goto yy185;
2311
31.0k
      if (yych <= 'N') goto yy48;
2312
1.38k
      goto yy186;
2313
43.2k
    } else {
2314
43.2k
      if (yych <= 'l') {
2315
32.3k
        if (yych <= 'k') goto yy48;
2316
6.31k
        goto yy185;
2317
32.3k
      } else {
2318
10.9k
        if (yych == 'o') goto yy186;
2319
5.86k
        goto yy48;
2320
10.9k
      }
2321
43.2k
    }
2322
16.9M
yy47:
2323
16.9M
    YYDEBUG(47, *YYCURSOR);
2324
16.9M
    yyaccept = 4;
2325
16.9M
    YYMARKER = ++YYCURSOR;
2326
16.9M
    YYFILL(1);
2327
16.9M
    yych = *YYCURSOR;
2328
19.7M
yy48:
2329
19.7M
    YYDEBUG(48, *YYCURSOR);
2330
19.7M
    if (yybm[256+yych] & 128) {
2331
15.5M
      goto yy47;
2332
15.5M
    }
2333
4.17M
    if (yych == '\\') goto yy164;
2334
4.12M
    goto yy40;
2335
4.12M
yy49:
2336
308k
    YYDEBUG(49, *YYCURSOR);
2337
308k
    yyaccept = 4;
2338
308k
    yych = *(YYMARKER = ++YYCURSOR);
2339
308k
    if (yych <= 'S') {
2340
85.6k
      if (yych <= 'L') {
2341
39.1k
        if (yych == 'F') goto yy187;
2342
38.3k
        goto yy48;
2343
46.4k
      } else {
2344
46.4k
        if (yych <= 'M') goto yy189;
2345
40.4k
        if (yych <= 'N') goto yy190;
2346
10.7k
        if (yych <= 'R') goto yy48;
2347
6.34k
        goto yy191;
2348
10.7k
      }
2349
222k
    } else {
2350
222k
      if (yych <= 'm') {
2351
86.5k
        if (yych == 'f') goto yy187;
2352
61.7k
        if (yych <= 'l') goto yy48;
2353
34.0k
        goto yy189;
2354
135k
      } else {
2355
135k
        if (yych <= 'n') goto yy190;
2356
51.0k
        if (yych == 's') goto yy191;
2357
22.5k
        goto yy48;
2358
51.0k
      }
2359
222k
    }
2360
58.8k
yy50:
2361
58.8k
    YYDEBUG(50, *YYCURSOR);
2362
58.8k
    yyaccept = 4;
2363
58.8k
    yych = *(YYMARKER = ++YYCURSOR);
2364
58.8k
    if (yych == 'I') goto yy192;
2365
58.1k
    if (yych == 'i') goto yy192;
2366
50.1k
    goto yy48;
2367
75.2k
yy51:
2368
75.2k
    YYDEBUG(51, *YYCURSOR);
2369
75.2k
    yyaccept = 4;
2370
75.2k
    yych = *(YYMARKER = ++YYCURSOR);
2371
75.2k
    if (yych == 'A') goto yy193;
2372
72.3k
    if (yych == 'a') goto yy193;
2373
66.4k
    goto yy48;
2374
231k
yy52:
2375
231k
    YYDEBUG(52, *YYCURSOR);
2376
231k
    yyaccept = 4;
2377
231k
    yych = *(YYMARKER = ++YYCURSOR);
2378
231k
    if (yych <= 'E') {
2379
37.5k
      if (yych == 'A') goto yy194;
2380
35.7k
      if (yych <= 'D') goto yy48;
2381
5.74k
      goto yy195;
2382
193k
    } else {
2383
193k
      if (yych <= 'a') {
2384
58.6k
        if (yych <= '`') goto yy48;
2385
40.0k
        goto yy194;
2386
135k
      } else {
2387
135k
        if (yych == 'e') goto yy195;
2388
48.1k
        goto yy48;
2389
135k
      }
2390
193k
    }
2391
132k
yy53:
2392
132k
    YYDEBUG(53, *YYCURSOR);
2393
132k
    yyaccept = 4;
2394
132k
    yych = *(YYMARKER = ++YYCURSOR);
2395
132k
    if (yych == 'R') goto yy196;
2396
128k
    if (yych == 'r') goto yy196;
2397
123k
    goto yy48;
2398
434k
yy54:
2399
434k
    YYDEBUG(54, *YYCURSOR);
2400
434k
    yyaccept = 4;
2401
434k
    yych = *(YYMARKER = ++YYCURSOR);
2402
434k
    if (yych <= 'U') {
2403
149k
      if (yych == 'R') goto yy198;
2404
144k
      if (yych <= 'T') goto yy48;
2405
1.47k
      goto yy199;
2406
285k
    } else {
2407
285k
      if (yych <= 'r') {
2408
182k
        if (yych <= 'q') goto yy48;
2409
52.2k
        goto yy198;
2410
182k
      } else {
2411
103k
        if (yych == 'u') goto yy199;
2412
23.3k
        goto yy48;
2413
103k
      }
2414
285k
    }
2415
142k
yy55:
2416
142k
    YYDEBUG(55, *YYCURSOR);
2417
142k
    yyaccept = 4;
2418
142k
    yych = *(YYMARKER = ++YYCURSOR);
2419
142k
    if (yych == 'E') goto yy200;
2420
137k
    if (yych == 'e') goto yy200;
2421
52.8k
    goto yy48;
2422
198k
yy56:
2423
198k
    YYDEBUG(56, *YYCURSOR);
2424
198k
    yyaccept = 4;
2425
198k
    yych = *(YYMARKER = ++YYCURSOR);
2426
198k
    if (yych <= 'W') {
2427
67.2k
      if (yych == 'T') goto yy201;
2428
64.4k
      if (yych <= 'V') goto yy48;
2429
869
      goto yy202;
2430
131k
    } else {
2431
131k
      if (yych <= 't') {
2432
114k
        if (yych <= 's') goto yy48;
2433
57.8k
        goto yy201;
2434
114k
      } else {
2435
16.6k
        if (yych == 'w') goto yy202;
2436
7.99k
        goto yy48;
2437
16.6k
      }
2438
131k
    }
2439
222k
yy57:
2440
222k
    YYDEBUG(57, *YYCURSOR);
2441
222k
    yyaccept = 4;
2442
222k
    yych = *(YYMARKER = ++YYCURSOR);
2443
222k
    if (yych <= 'R') {
2444
44.4k
      if (yych == 'H') goto yy203;
2445
43.5k
      if (yych <= 'Q') goto yy48;
2446
6.09k
      goto yy204;
2447
177k
    } else {
2448
177k
      if (yych <= 'h') {
2449
78.8k
        if (yych <= 'g') goto yy48;
2450
15.4k
        goto yy203;
2451
98.9k
      } else {
2452
98.9k
        if (yych == 'r') goto yy204;
2453
30.5k
        goto yy48;
2454
98.9k
      }
2455
177k
    }
2456
77.3k
yy58:
2457
77.3k
    YYDEBUG(58, *YYCURSOR);
2458
77.3k
    yyaccept = 4;
2459
77.3k
    yych = *(YYMARKER = ++YYCURSOR);
2460
77.3k
    if (yych <= 'S') {
2461
19.1k
      if (yych == 'N') goto yy205;
2462
17.7k
      if (yych <= 'R') goto yy48;
2463
512
      goto yy206;
2464
58.2k
    } else {
2465
58.2k
      if (yych <= 'n') {
2466
37.5k
        if (yych <= 'm') goto yy48;
2467
20.9k
        goto yy205;
2468
37.5k
      } else {
2469
20.6k
        if (yych == 's') goto yy206;
2470
6.36k
        goto yy48;
2471
20.6k
      }
2472
58.2k
    }
2473
141k
yy59:
2474
141k
    YYDEBUG(59, *YYCURSOR);
2475
141k
    yyaccept = 4;
2476
141k
    yych = *(YYMARKER = ++YYCURSOR);
2477
141k
    if (yych == 'A') goto yy207;
2478
141k
    if (yych == 'a') goto yy207;
2479
30.4k
    goto yy48;
2480
30.4k
yy60:
2481
29.1k
    YYDEBUG(60, *YYCURSOR);
2482
29.1k
    yyaccept = 4;
2483
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
2484
29.1k
    if (yych == 'H') goto yy208;
2485
28.3k
    if (yych == 'h') goto yy208;
2486
22.4k
    goto yy48;
2487
33.7k
yy61:
2488
33.7k
    YYDEBUG(61, *YYCURSOR);
2489
33.7k
    yyaccept = 4;
2490
33.7k
    yych = *(YYMARKER = ++YYCURSOR);
2491
33.7k
    if (yych == 'O') goto yy209;
2492
33.0k
    if (yych == 'o') goto yy209;
2493
28.1k
    goto yy48;
2494
138k
yy62:
2495
138k
    YYDEBUG(62, *YYCURSOR);
2496
138k
    yyaccept = 4;
2497
138k
    yych = *(YYMARKER = ++YYCURSOR);
2498
138k
    if (yych == 'I') goto yy210;
2499
136k
    if (yych == 'i') goto yy210;
2500
42.8k
    goto yy48;
2501
241k
yy63:
2502
241k
    YYDEBUG(63, *YYCURSOR);
2503
241k
    ++YYCURSOR;
2504
241k
    goto yy21;
2505
197k
yy64:
2506
197k
    YYDEBUG(64, *YYCURSOR);
2507
197k
    yych = *++YYCURSOR;
2508
197k
    if (yych <= '_') {
2509
149k
      if (yych <= '@') goto yy65;
2510
90.6k
      if (yych <= 'Z') goto yy211;
2511
71.3k
      if (yych >= '_') goto yy211;
2512
71.3k
    } else {
2513
48.0k
      if (yych <= '`') goto yy65;
2514
45.0k
      if (yych <= 'z') goto yy211;
2515
16.9k
      if (yych >= 0x80) goto yy211;
2516
16.9k
    }
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
86.6k
yy66:
2526
86.6k
    YYDEBUG(66, *YYCURSOR);
2527
86.6k
    yych = *++YYCURSOR;
2528
86.6k
    if (yych == '=') goto yy214;
2529
84.9k
    goto yy9;
2530
213k
yy67:
2531
213k
    YYDEBUG(67, *YYCURSOR);
2532
213k
    yyaccept = 4;
2533
213k
    yych = *(YYMARKER = ++YYCURSOR);
2534
213k
    if (yych == '_') goto yy216;
2535
71.9k
    goto yy48;
2536
71.9k
yy68:
2537
63.3k
    YYDEBUG(68, *YYCURSOR);
2538
63.3k
    ++YYCURSOR;
2539
63.3k
    YYDEBUG(69, *YYCURSOR);
2540
63.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
63.3k
#line 2826 "Zend/zend_language_scanner.l"
2542
63.3k
    {
2543
63.3k
  BEGIN(ST_BACKQUOTE);
2544
63.3k
  RETURN_TOKEN('`');
2545
63.3k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
1.22M
yy70:
2548
1.22M
    YYDEBUG(70, *YYCURSOR);
2549
1.22M
    ++YYCURSOR;
2550
1.22M
    YYDEBUG(71, *YYCURSOR);
2551
1.22M
    yyleng = YYCURSOR - SCNG(yy_text);
2552
1.22M
#line 1974 "Zend/zend_language_scanner.l"
2553
1.22M
    {
2554
1.22M
  yy_push_state(ST_IN_SCRIPTING);
2555
1.22M
  enter_nesting('{');
2556
1.22M
  RETURN_TOKEN('{');
2557
1.22M
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
105k
yy72:
2560
105k
    YYDEBUG(72, *YYCURSOR);
2561
105k
    yych = *++YYCURSOR;
2562
105k
    if (yych <= '>') {
2563
44.8k
      if (yych <= '<') goto yy9;
2564
8.95k
      if (yych <= '=') goto yy217;
2565
7.16k
      goto yy219;
2566
60.4k
    } else {
2567
60.4k
      if (yych == '|') goto yy221;
2568
50.3k
      goto yy9;
2569
60.4k
    }
2570
372k
yy73:
2571
372k
    YYDEBUG(73, *YYCURSOR);
2572
372k
    ++YYCURSOR;
2573
372k
    YYDEBUG(74, *YYCURSOR);
2574
372k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
372k
#line 1987 "Zend/zend_language_scanner.l"
2576
372k
    {
2577
372k
  RESET_DOC_COMMENT();
2578
372k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
321k
    yy_pop_state();
2580
321k
  }
2581
372k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
372k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
7.49k
yy75:
2585
7.49k
    YYDEBUG(75, *YYCURSOR);
2586
7.49k
    yych = *++YYCURSOR;
2587
7.49k
    if (yych == '=') goto yy223;
2588
10.9k
yy76:
2589
10.9k
    YYDEBUG(76, *YYCURSOR);
2590
10.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
10.9k
#line 1846 "Zend/zend_language_scanner.l"
2592
10.9k
    {
2593
10.9k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
10.9k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
15.9k
yy77:
2597
15.9k
    YYDEBUG(77, *YYCURSOR);
2598
15.9k
    ++YYCURSOR;
2599
15.9k
    YYDEBUG(78, *YYCURSOR);
2600
15.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
15.9k
#line 1423 "Zend/zend_language_scanner.l"
2602
15.9k
    {
2603
15.9k
  enter_nesting('[');
2604
15.9k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
15.9k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
4.33M
yy79:
2608
4.33M
    YYDEBUG(79, *YYCURSOR);
2609
4.33M
    ++YYCURSOR;
2610
4.33M
    YYFILL(1);
2611
4.33M
    yych = *YYCURSOR;
2612
4.33M
    YYDEBUG(80, *YYCURSOR);
2613
4.33M
    if (yych <= '^') {
2614
1.18M
      if (yych <= '9') {
2615
841k
        if (yych >= '0') goto yy79;
2616
841k
      } else {
2617
342k
        if (yych <= '@') goto yy81;
2618
213k
        if (yych <= 'Z') goto yy79;
2619
213k
      }
2620
3.15M
    } else {
2621
3.15M
      if (yych <= '`') {
2622
11.0k
        if (yych <= '_') goto yy79;
2623
3.14M
      } else {
2624
3.14M
        if (yych <= 'z') goto yy79;
2625
909k
        if (yych >= 0x80) goto yy79;
2626
909k
      }
2627
3.15M
    }
2628
964k
yy81:
2629
964k
    YYDEBUG(81, *YYCURSOR);
2630
964k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
964k
#line 2417 "Zend/zend_language_scanner.l"
2632
964k
    {
2633
964k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
964k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
2.19k
yy82:
2637
2.19k
    YYDEBUG(82, *YYCURSOR);
2638
2.19k
    ++YYCURSOR;
2639
2.19k
    YYDEBUG(83, *YYCURSOR);
2640
2.19k
    yyleng = YYCURSOR - SCNG(yy_text);
2641
2.19k
#line 1890 "Zend/zend_language_scanner.l"
2642
2.19k
    {
2643
2.19k
  RETURN_TOKEN(T_MOD_EQUAL);
2644
2.19k
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
834k
yy84:
2647
834k
    YYDEBUG(84, *YYCURSOR);
2648
834k
    ++YYCURSOR;
2649
834k
    YYFILL(3);
2650
834k
    yych = *YYCURSOR;
2651
907k
yy85:
2652
907k
    YYDEBUG(85, *YYCURSOR);
2653
907k
    if (yych <= ' ') {
2654
79.1k
      if (yych <= '\f') {
2655
52.2k
        if (yych <= 0x08) goto yy86;
2656
49.8k
        if (yych <= '\n') goto yy84;
2657
49.8k
      } else {
2658
26.8k
        if (yych <= '\r') goto yy84;
2659
17.8k
        if (yych >= ' ') goto yy84;
2660
17.8k
      }
2661
828k
    } else {
2662
828k
      if (yych <= '$') {
2663
801k
        if (yych <= '"') goto yy86;
2664
800k
        if (yych <= '#') goto yy87;
2665
19.4k
        goto yy88;
2666
800k
      } else {
2667
27.2k
        if (yych <= '-') goto yy86;
2668
24.9k
        if (yych <= '.') goto yy92;
2669
21.5k
        if (yych <= '/') goto yy93;
2670
21.5k
      }
2671
828k
    }
2672
892k
yy86:
2673
892k
    YYDEBUG(86, *YYCURSOR);
2674
892k
    YYCURSOR = YYMARKER;
2675
892k
    if (yyaccept <= 48) {
2676
716k
      if (yyaccept <= 24) {
2677
700k
        if (yyaccept <= 12) {
2678
688k
          if (yyaccept <= 6) {
2679
407k
            if (yyaccept <= 3) {
2680
349k
              if (yyaccept <= 1) {
2681
303k
                if (yyaccept == 0) {
2682
44.1k
                  goto yy17;
2683
259k
                } else {
2684
259k
                  goto yy21;
2685
259k
                }
2686
303k
              } else {
2687
45.4k
                if (yyaccept == 2) {
2688
26.1k
                  goto yy9;
2689
26.1k
                } else {
2690
19.3k
                  goto yy31;
2691
19.3k
                }
2692
45.4k
              }
2693
349k
            } else {
2694
57.8k
              if (yyaccept <= 5) {
2695
54.1k
                if (yyaccept == 4) {
2696
48.8k
                  goto yy40;
2697
48.8k
                } else {
2698
5.32k
                  goto yy125;
2699
5.32k
                }
2700
54.1k
              } else {
2701
3.73k
                goto yy129;
2702
3.73k
              }
2703
57.8k
            }
2704
407k
          } else {
2705
281k
            if (yyaccept <= 9) {
2706
280k
              if (yyaccept <= 8) {
2707
280k
                if (yyaccept == 7) {
2708
280k
                  goto yy142;
2709
280k
                } else {
2710
257
                  goto yy163;
2711
257
                }
2712
280k
              } else {
2713
102
                goto yy173;
2714
102
              }
2715
280k
            } else {
2716
898
              if (yyaccept <= 11) {
2717
450
                if (yyaccept == 10) {
2718
218
                  goto yy182;
2719
232
                } else {
2720
232
                  goto yy188;
2721
232
                }
2722
450
              } else {
2723
448
                goto yy197;
2724
448
              }
2725
898
            }
2726
281k
          }
2727
688k
        } else {
2728
11.8k
          if (yyaccept <= 18) {
2729
9.95k
            if (yyaccept <= 15) {
2730
6.26k
              if (yyaccept <= 14) {
2731
5.71k
                if (yyaccept == 13) {
2732
5.23k
                  goto yy213;
2733
5.23k
                } else {
2734
476
                  goto yy251;
2735
476
                }
2736
5.71k
              } else {
2737
554
                goto yy257;
2738
554
              }
2739
6.26k
            } else {
2740
3.68k
              if (yyaccept <= 17) {
2741
492
                if (yyaccept == 16) {
2742
294
                  goto yy260;
2743
294
                } else {
2744
198
                  goto yy279;
2745
198
                }
2746
3.19k
              } else {
2747
3.19k
                goto yy283;
2748
3.19k
              }
2749
3.68k
            }
2750
9.95k
          } else {
2751
1.93k
            if (yyaccept <= 21) {
2752
1.24k
              if (yyaccept <= 20) {
2753
1.02k
                if (yyaccept == 19) {
2754
200
                  goto yy295;
2755
822
                } else {
2756
822
                  goto yy306;
2757
822
                }
2758
1.02k
              } else {
2759
221
                goto yy319;
2760
221
              }
2761
1.24k
            } else {
2762
687
              if (yyaccept <= 23) {
2763
508
                if (yyaccept == 22) {
2764
267
                  goto yy331;
2765
267
                } else {
2766
241
                  goto yy334;
2767
241
                }
2768
508
              } else {
2769
179
                goto yy336;
2770
179
              }
2771
687
            }
2772
1.93k
          }
2773
11.8k
        }
2774
700k
      } else {
2775
15.6k
        if (yyaccept <= 36) {
2776
13.0k
          if (yyaccept <= 30) {
2777
9.14k
            if (yyaccept <= 27) {
2778
8.42k
              if (yyaccept <= 26) {
2779
8.25k
                if (yyaccept == 25) {
2780
213
                  goto yy339;
2781
8.03k
                } else {
2782
8.03k
                  goto yy89;
2783
8.03k
                }
2784
8.25k
              } else {
2785
178
                goto yy379;
2786
178
              }
2787
8.42k
            } else {
2788
713
              if (yyaccept <= 29) {
2789
313
                if (yyaccept == 28) {
2790
70
                  goto yy388;
2791
243
                } else {
2792
243
                  goto yy390;
2793
243
                }
2794
400
              } else {
2795
400
                goto yy399;
2796
400
              }
2797
713
            }
2798
9.14k
          } else {
2799
3.90k
            if (yyaccept <= 33) {
2800
1.40k
              if (yyaccept <= 32) {
2801
258
                if (yyaccept == 31) {
2802
90
                  goto yy401;
2803
168
                } else {
2804
168
                  goto yy408;
2805
168
                }
2806
1.14k
              } else {
2807
1.14k
                goto yy415;
2808
1.14k
              }
2809
2.50k
            } else {
2810
2.50k
              if (yyaccept <= 35) {
2811
2.33k
                if (yyaccept == 34) {
2812
121
                  goto yy471;
2813
2.21k
                } else {
2814
2.21k
                  goto yy473;
2815
2.21k
                }
2816
2.33k
              } else {
2817
172
                goto yy476;
2818
172
              }
2819
2.50k
            }
2820
3.90k
          }
2821
13.0k
        } else {
2822
2.63k
          if (yyaccept <= 42) {
2823
1.28k
            if (yyaccept <= 39) {
2824
583
              if (yyaccept <= 38) {
2825
431
                if (yyaccept == 37) {
2826
248
                  goto yy478;
2827
248
                } else {
2828
183
                  goto yy480;
2829
183
                }
2830
431
              } else {
2831
152
                goto yy482;
2832
152
              }
2833
697
            } else {
2834
697
              if (yyaccept <= 41) {
2835
299
                if (yyaccept == 40) {
2836
228
                  goto yy488;
2837
228
                } else {
2838
71
                  goto yy492;
2839
71
                }
2840
398
              } else {
2841
398
                goto yy501;
2842
398
              }
2843
697
            }
2844
1.35k
          } else {
2845
1.35k
            if (yyaccept <= 45) {
2846
747
              if (yyaccept <= 44) {
2847
562
                if (yyaccept == 43) {
2848
495
                  goto yy511;
2849
495
                } else {
2850
67
                  goto yy513;
2851
67
                }
2852
562
              } else {
2853
185
                goto yy516;
2854
185
              }
2855
747
            } else {
2856
606
              if (yyaccept <= 47) {
2857
415
                if (yyaccept == 46) {
2858
201
                  goto yy526;
2859
214
                } else {
2860
214
                  goto yy528;
2861
214
                }
2862
415
              } else {
2863
191
                goto yy530;
2864
191
              }
2865
606
            }
2866
1.35k
          }
2867
2.63k
        }
2868
15.6k
      }
2869
716k
    } else {
2870
176k
      if (yyaccept <= 72) {
2871
154k
        if (yyaccept <= 60) {
2872
149k
          if (yyaccept <= 54) {
2873
146k
            if (yyaccept <= 51) {
2874
56.7k
              if (yyaccept <= 50) {
2875
56.6k
                if (yyaccept == 49) {
2876
305
                  goto yy532;
2877
56.3k
                } else {
2878
56.3k
                  goto yy534;
2879
56.3k
                }
2880
56.6k
              } else {
2881
43
                goto yy576;
2882
43
              }
2883
89.8k
            } else {
2884
89.8k
              if (yyaccept <= 53) {
2885
89.5k
                if (yyaccept == 52) {
2886
169
                  goto yy579;
2887
89.4k
                } else {
2888
89.4k
                  goto yy583;
2889
89.4k
                }
2890
89.5k
              } else {
2891
241
                goto yy597;
2892
241
              }
2893
89.8k
            }
2894
146k
          } else {
2895
3.35k
            if (yyaccept <= 57) {
2896
2.45k
              if (yyaccept <= 56) {
2897
2.07k
                if (yyaccept == 55) {
2898
1.84k
                  goto yy607;
2899
1.84k
                } else {
2900
234
                  goto yy611;
2901
234
                }
2902
2.07k
              } else {
2903
377
                goto yy613;
2904
377
              }
2905
2.45k
            } else {
2906
905
              if (yyaccept <= 59) {
2907
857
                if (yyaccept == 58) {
2908
554
                  goto yy615;
2909
554
                } else {
2910
303
                  goto yy654;
2911
303
                }
2912
857
              } else {
2913
48
                goto yy656;
2914
48
              }
2915
905
            }
2916
3.35k
          }
2917
149k
        } else {
2918
4.66k
          if (yyaccept <= 66) {
2919
3.19k
            if (yyaccept <= 63) {
2920
702
              if (yyaccept <= 62) {
2921
445
                if (yyaccept == 61) {
2922
216
                  goto yy671;
2923
229
                } else {
2924
229
                  goto yy673;
2925
229
                }
2926
445
              } else {
2927
257
                goto yy675;
2928
257
              }
2929
2.49k
            } else {
2930
2.49k
              if (yyaccept <= 65) {
2931
2.14k
                if (yyaccept == 64) {
2932
31
                  goto yy679;
2933
2.11k
                } else {
2934
2.11k
                  goto yy685;
2935
2.11k
                }
2936
2.14k
              } else {
2937
352
                goto yy690;
2938
352
              }
2939
2.49k
            }
2940
3.19k
          } else {
2941
1.46k
            if (yyaccept <= 69) {
2942
755
              if (yyaccept <= 68) {
2943
638
                if (yyaccept == 67) {
2944
469
                  goto yy700;
2945
469
                } else {
2946
169
                  goto yy726;
2947
169
                }
2948
638
              } else {
2949
117
                goto yy728;
2950
117
              }
2951
755
            } else {
2952
714
              if (yyaccept <= 71) {
2953
69
                if (yyaccept == 70) {
2954
52
                  goto yy730;
2955
52
                } else {
2956
17
                  goto yy735;
2957
17
                }
2958
645
              } else {
2959
645
                goto yy743;
2960
645
              }
2961
714
            }
2962
1.46k
          }
2963
4.66k
        }
2964
154k
      } else {
2965
21.6k
        if (yyaccept <= 84) {
2966
5.19k
          if (yyaccept <= 78) {
2967
1.49k
            if (yyaccept <= 75) {
2968
814
              if (yyaccept <= 74) {
2969
749
                if (yyaccept == 73) {
2970
431
                  goto yy754;
2971
431
                } else {
2972
318
                  goto yy764;
2973
318
                }
2974
749
              } else {
2975
65
                goto yy768;
2976
65
              }
2977
814
            } else {
2978
676
              if (yyaccept <= 77) {
2979
548
                if (yyaccept == 76) {
2980
484
                  goto yy784;
2981
484
                } else {
2982
64
                  goto yy797;
2983
64
                }
2984
548
              } else {
2985
128
                goto yy799;
2986
128
              }
2987
676
            }
2988
3.70k
          } else {
2989
3.70k
            if (yyaccept <= 81) {
2990
2.13k
              if (yyaccept <= 80) {
2991
1.98k
                if (yyaccept == 79) {
2992
491
                  goto yy801;
2993
1.49k
                } else {
2994
1.49k
                  goto yy804;
2995
1.49k
                }
2996
1.98k
              } else {
2997
149
                goto yy812;
2998
149
              }
2999
2.13k
            } else {
3000
1.56k
              if (yyaccept <= 83) {
3001
686
                if (yyaccept == 82) {
3002
206
                  goto yy819;
3003
480
                } else {
3004
480
                  goto yy823;
3005
480
                }
3006
881
              } else {
3007
881
                goto yy825;
3008
881
              }
3009
1.56k
            }
3010
3.70k
          }
3011
16.4k
        } else {
3012
16.4k
          if (yyaccept <= 90) {
3013
1.59k
            if (yyaccept <= 87) {
3014
531
              if (yyaccept <= 86) {
3015
507
                if (yyaccept == 85) {
3016
293
                  goto yy836;
3017
293
                } else {
3018
214
                  goto yy839;
3019
214
                }
3020
507
              } else {
3021
24
                goto yy854;
3022
24
              }
3023
1.06k
            } else {
3024
1.06k
              if (yyaccept <= 89) {
3025
592
                if (yyaccept == 88) {
3026
523
                  goto yy869;
3027
523
                } else {
3028
69
                  goto yy898;
3029
69
                }
3030
592
              } else {
3031
473
                goto yy903;
3032
473
              }
3033
1.06k
            }
3034
14.8k
          } else {
3035
14.8k
            if (yyaccept <= 93) {
3036
13.1k
              if (yyaccept <= 92) {
3037
13.1k
                if (yyaccept == 91) {
3038
12.8k
                  goto yy876;
3039
12.8k
                } else {
3040
237
                  goto yy911;
3041
237
                }
3042
13.1k
              } else {
3043
71
                goto yy915;
3044
71
              }
3045
13.1k
            } else {
3046
1.72k
              if (yyaccept <= 95) {
3047
1.52k
                if (yyaccept == 94) {
3048
1.26k
                  goto yy886;
3049
1.26k
                } else {
3050
258
                  goto yy931;
3051
258
                }
3052
1.52k
              } else {
3053
198
                goto yy951;
3054
198
              }
3055
1.72k
            }
3056
14.8k
          }
3057
16.4k
        }
3058
21.6k
      }
3059
176k
    }
3060
781k
yy87:
3061
781k
    YYDEBUG(87, *YYCURSOR);
3062
781k
    ++YYCURSOR;
3063
781k
    YYFILL(1);
3064
781k
    yych = *YYCURSOR;
3065
781k
    if (yych <= '\f') {
3066
63.3k
      if (yych <= 0x00) goto yy86;
3067
61.6k
      if (yych == '\n') goto yy227;
3068
627
      goto yy225;
3069
717k
    } else {
3070
717k
      if (yych <= '\r') goto yy227;
3071
18.6k
      if (yych == '[') goto yy86;
3072
18.3k
      goto yy225;
3073
18.6k
    }
3074
20.4k
yy88:
3075
20.4k
    YYDEBUG(88, *YYCURSOR);
3076
20.4k
    ++YYCURSOR;
3077
29.0k
yy89:
3078
29.0k
    YYDEBUG(89, *YYCURSOR);
3079
29.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
29.0k
#line 1950 "Zend/zend_language_scanner.l"
3081
29.0k
    {
3082
29.0k
  yyless(1);
3083
29.0k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
29.0k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
14.9k
yy90:
3087
14.9k
    YYDEBUG(90, *YYCURSOR);
3088
14.9k
    ++YYCURSOR;
3089
14.9k
    YYDEBUG(91, *YYCURSOR);
3090
14.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
14.9k
#line 1926 "Zend/zend_language_scanner.l"
3092
14.9k
    {
3093
14.9k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
14.9k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
3.40k
yy92:
3097
3.40k
    YYDEBUG(92, *YYCURSOR);
3098
3.40k
    yych = *++YYCURSOR;
3099
3.40k
    if (yych == '.') goto yy229;
3100
1.60k
    goto yy86;
3101
6.73k
yy93:
3102
6.73k
    YYDEBUG(93, *YYCURSOR);
3103
6.73k
    ++YYCURSOR;
3104
6.73k
    YYFILL(1);
3105
6.73k
    yych = *YYCURSOR;
3106
6.73k
    if (yych == '*') goto yy230;
3107
1.80k
    if (yych == '/') goto yy225;
3108
1.25k
    goto yy86;
3109
18.4k
yy94:
3110
18.4k
    YYDEBUG(94, *YYCURSOR);
3111
18.4k
    ++YYCURSOR;
3112
18.4k
    YYDEBUG(95, *YYCURSOR);
3113
18.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
18.4k
#line 1902 "Zend/zend_language_scanner.l"
3115
18.4k
    {
3116
18.4k
  RETURN_TOKEN(T_AND_EQUAL);
3117
18.4k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
277k
yy96:
3120
277k
    YYDEBUG(96, *YYCURSOR);
3121
277k
    ++YYCURSOR;
3122
277k
    YYFILL(7);
3123
277k
    yych = *YYCURSOR;
3124
548k
yy97:
3125
548k
    YYDEBUG(97, *YYCURSOR);
3126
548k
    if (yybm[0+yych] & 1) {
3127
277k
      goto yy96;
3128
277k
    }
3129
271k
    switch (yych) {
3130
5.03k
    case 'A':
3131
36.8k
    case 'a': goto yy98;
3132
7.98k
    case 'B':
3133
17.0k
    case 'b': goto yy99;
3134
1.08k
    case 'D':
3135
6.52k
    case 'd': goto yy100;
3136
3.85k
    case 'F':
3137
22.3k
    case 'f': goto yy101;
3138
1.18k
    case 'I':
3139
32.9k
    case 'i': goto yy102;
3140
8.98k
    case 'O':
3141
14.6k
    case 'o': goto yy103;
3142
991
    case 'R':
3143
9.30k
    case 'r': goto yy104;
3144
3.93k
    case 'S':
3145
34.5k
    case 's': goto yy105;
3146
997
    case 'U':
3147
9.35k
    case 'u': goto yy106;
3148
900
    case 'V':
3149
5.77k
    case 'v': goto yy107;
3150
81.8k
    default:  goto yy86;
3151
271k
    }
3152
36.8k
yy98:
3153
36.8k
    YYDEBUG(98, *YYCURSOR);
3154
36.8k
    yych = *++YYCURSOR;
3155
36.8k
    if (yych == 'R') goto yy232;
3156
36.7k
    if (yych == 'r') goto yy232;
3157
23.4k
    goto yy86;
3158
23.4k
yy99:
3159
17.0k
    YYDEBUG(99, *YYCURSOR);
3160
17.0k
    yych = *++YYCURSOR;
3161
17.0k
    if (yych <= 'O') {
3162
9.78k
      if (yych == 'I') goto yy233;
3163
9.11k
      if (yych <= 'N') goto yy86;
3164
862
      goto yy234;
3165
9.11k
    } else {
3166
7.27k
      if (yych <= 'i') {
3167
4.21k
        if (yych <= 'h') goto yy86;
3168
2.68k
        goto yy233;
3169
4.21k
      } else {
3170
3.06k
        if (yych == 'o') goto yy234;
3171
734
        goto yy86;
3172
3.06k
      }
3173
7.27k
    }
3174
6.52k
yy100:
3175
6.52k
    YYDEBUG(100, *YYCURSOR);
3176
6.52k
    yych = *++YYCURSOR;
3177
6.52k
    if (yych == 'O') goto yy235;
3178
6.24k
    if (yych == 'o') goto yy235;
3179
3.15k
    goto yy86;
3180
22.3k
yy101:
3181
22.3k
    YYDEBUG(101, *YYCURSOR);
3182
22.3k
    yych = *++YYCURSOR;
3183
22.3k
    if (yych == 'L') goto yy236;
3184
21.7k
    if (yych == 'l') goto yy236;
3185
18.8k
    goto yy86;
3186
32.9k
yy102:
3187
32.9k
    YYDEBUG(102, *YYCURSOR);
3188
32.9k
    yych = *++YYCURSOR;
3189
32.9k
    if (yych == 'N') goto yy237;
3190
31.6k
    if (yych == 'n') goto yy237;
3191
22.0k
    goto yy86;
3192
22.0k
yy103:
3193
14.6k
    YYDEBUG(103, *YYCURSOR);
3194
14.6k
    yych = *++YYCURSOR;
3195
14.6k
    if (yych == 'B') goto yy238;
3196
14.4k
    if (yych == 'b') goto yy238;
3197
3.43k
    goto yy86;
3198
9.30k
yy104:
3199
9.30k
    YYDEBUG(104, *YYCURSOR);
3200
9.30k
    yych = *++YYCURSOR;
3201
9.30k
    if (yych == 'E') goto yy239;
3202
8.99k
    if (yych == 'e') goto yy239;
3203
4.13k
    goto yy86;
3204
34.5k
yy105:
3205
34.5k
    YYDEBUG(105, *YYCURSOR);
3206
34.5k
    yych = *++YYCURSOR;
3207
34.5k
    if (yych == 'T') goto yy240;
3208
33.7k
    if (yych == 't') goto yy240;
3209
18.0k
    goto yy86;
3210
18.0k
yy106:
3211
9.35k
    YYDEBUG(106, *YYCURSOR);
3212
9.35k
    yych = *++YYCURSOR;
3213
9.35k
    if (yych == 'N') goto yy241;
3214
8.72k
    if (yych == 'n') goto yy241;
3215
3.23k
    goto yy86;
3216
5.77k
yy107:
3217
5.77k
    YYDEBUG(107, *YYCURSOR);
3218
5.77k
    yych = *++YYCURSOR;
3219
5.77k
    if (yych == 'O') goto yy242;
3220
5.61k
    if (yych == 'o') goto yy242;
3221
3.26k
    goto yy86;
3222
27.5k
yy108:
3223
27.5k
    YYDEBUG(108, *YYCURSOR);
3224
27.5k
    yych = *++YYCURSOR;
3225
27.5k
    if (yych == '=') goto yy243;
3226
27.2k
    YYDEBUG(109, *YYCURSOR);
3227
27.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
27.2k
#line 1874 "Zend/zend_language_scanner.l"
3229
27.2k
    {
3230
27.2k
  RETURN_TOKEN(T_POW);
3231
27.2k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
4.39k
yy110:
3234
4.39k
    YYDEBUG(110, *YYCURSOR);
3235
4.39k
    ++YYCURSOR;
3236
4.39k
    YYDEBUG(111, *YYCURSOR);
3237
4.39k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
4.39k
#line 1870 "Zend/zend_language_scanner.l"
3239
4.39k
    {
3240
4.39k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
4.39k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
41.2k
yy112:
3244
41.2k
    YYDEBUG(112, *YYCURSOR);
3245
41.2k
    ++YYCURSOR;
3246
41.2k
    YYDEBUG(113, *YYCURSOR);
3247
41.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
41.2k
#line 1826 "Zend/zend_language_scanner.l"
3249
41.2k
    {
3250
41.2k
  RETURN_TOKEN(T_INC);
3251
41.2k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
4.51k
yy114:
3254
4.51k
    YYDEBUG(114, *YYCURSOR);
3255
4.51k
    ++YYCURSOR;
3256
4.51k
    YYDEBUG(115, *YYCURSOR);
3257
4.51k
    yyleng = YYCURSOR - SCNG(yy_text);
3258
4.51k
#line 1862 "Zend/zend_language_scanner.l"
3259
4.51k
    {
3260
4.51k
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
4.51k
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
18.0k
yy116:
3264
18.0k
    YYDEBUG(116, *YYCURSOR);
3265
18.0k
    ++YYCURSOR;
3266
18.0k
    YYDEBUG(117, *YYCURSOR);
3267
18.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
18.0k
#line 1830 "Zend/zend_language_scanner.l"
3269
18.0k
    {
3270
18.0k
  RETURN_TOKEN(T_DEC);
3271
18.0k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
2.25k
yy118:
3274
2.25k
    YYDEBUG(118, *YYCURSOR);
3275
2.25k
    ++YYCURSOR;
3276
2.25k
    YYDEBUG(119, *YYCURSOR);
3277
2.25k
    yyleng = YYCURSOR - SCNG(yy_text);
3278
2.25k
#line 1866 "Zend/zend_language_scanner.l"
3279
2.25k
    {
3280
2.25k
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
2.25k
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
117k
yy120:
3284
117k
    YYDEBUG(120, *YYCURSOR);
3285
117k
    ++YYCURSOR;
3286
117k
    YYDEBUG(121, *YYCURSOR);
3287
117k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
117k
#line 1587 "Zend/zend_language_scanner.l"
3289
117k
    {
3290
117k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
117k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
117k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
66.4k
yy122:
3295
66.4k
    YYDEBUG(122, *YYCURSOR);
3296
66.4k
    yych = *++YYCURSOR;
3297
66.4k
    if (yych == '.') goto yy245;
3298
23.1k
    goto yy86;
3299
428k
yy123:
3300
428k
    YYDEBUG(123, *YYCURSOR);
3301
428k
    yyaccept = 5;
3302
428k
    YYMARKER = ++YYCURSOR;
3303
428k
    YYFILL(2);
3304
428k
    yych = *YYCURSOR;
3305
478k
yy124:
3306
478k
    YYDEBUG(124, *YYCURSOR);
3307
478k
    if (yych <= 'E') {
3308
451k
      if (yych <= '/') goto yy125;
3309
403k
      if (yych <= '9') goto yy123;
3310
20.6k
      if (yych >= 'E') goto yy135;
3311
27.5k
    } else {
3312
27.5k
      if (yych <= '_') {
3313
4.43k
        if (yych >= '_') goto yy247;
3314
23.0k
      } else {
3315
23.0k
        if (yych == 'e') goto yy135;
3316
23.0k
      }
3317
27.5k
    }
3318
121k
yy125:
3319
121k
    YYDEBUG(125, *YYCURSOR);
3320
121k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
121k
#line 2233 "Zend/zend_language_scanner.l"
3322
121k
    {
3323
121k
  const char *end;
3324
121k
  size_t len = yyleng;
3325
121k
  char *dnum = yytext;
3326
121k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
121k
  if (contains_underscores) {
3329
1.80k
    dnum = estrndup(dnum, len);
3330
1.80k
    strip_underscores(dnum, &len);
3331
1.80k
  }
3332
3333
121k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
121k
  ZEND_ASSERT(end == dnum + len);
3336
121k
  if (contains_underscores) {
3337
1.80k
    efree(dnum);
3338
1.80k
  }
3339
121k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
121k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
97.3k
yy126:
3343
97.3k
    YYDEBUG(126, *YYCURSOR);
3344
97.3k
    ++YYCURSOR;
3345
97.3k
    YYDEBUG(127, *YYCURSOR);
3346
97.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
97.3k
#line 1886 "Zend/zend_language_scanner.l"
3348
97.3k
    {
3349
97.3k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
97.3k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
107k
yy128:
3353
107k
    YYDEBUG(128, *YYCURSOR);
3354
107k
    yyaccept = 6;
3355
107k
    yych = *(YYMARKER = ++YYCURSOR);
3356
107k
    if (yych == '*') goto yy248;
3357
107k
yy129:
3358
107k
    YYDEBUG(129, *YYCURSOR);
3359
107k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
107k
#line 2484 "Zend/zend_language_scanner.l"
3361
107k
    {
3362
107k
  int doc_com;
3363
3364
107k
  if (yyleng > 2) {
3365
9.74k
    doc_com = 1;
3366
9.74k
    RESET_DOC_COMMENT();
3367
97.5k
  } else {
3368
97.5k
    doc_com = 0;
3369
97.5k
  }
3370
3371
8.39M
  while (YYCURSOR < YYLIMIT) {
3372
8.37M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
85.4k
      break;
3374
85.4k
    }
3375
8.37M
  }
3376
3377
107k
  if (YYCURSOR < YYLIMIT) {
3378
85.4k
    YYCURSOR++;
3379
85.4k
  } else {
3380
21.8k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
21.8k
    if (PARSER_MODE()) {
3382
1.04k
      RETURN_TOKEN(T_ERROR);
3383
1.04k
    }
3384
21.8k
  }
3385
3386
106k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
106k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
106k
  if (doc_com) {
3390
9.68k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
9.68k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
9.68k
  }
3393
3394
96.5k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
96.5k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
82.9k
yy130:
3398
82.9k
    YYDEBUG(130, *YYCURSOR);
3399
82.9k
    ++YYCURSOR;
3400
82.9k
    goto yy13;
3401
5.02k
yy131:
3402
5.02k
    YYDEBUG(131, *YYCURSOR);
3403
5.02k
    ++YYCURSOR;
3404
5.02k
    YYDEBUG(132, *YYCURSOR);
3405
5.02k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
5.02k
#line 1882 "Zend/zend_language_scanner.l"
3407
5.02k
    {
3408
5.02k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
5.02k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
50.5k
yy133:
3412
50.5k
    YYDEBUG(133, *YYCURSOR);
3413
50.5k
    yyaccept = 5;
3414
50.5k
    yych = *(YYMARKER = ++YYCURSOR);
3415
50.5k
    if (yych == '_') goto yy125;
3416
50.3k
    goto yy124;
3417
50.3k
yy134:
3418
5.72k
    YYDEBUG(134, *YYCURSOR);
3419
5.72k
    ++YYCURSOR;
3420
5.72k
    YYFILL(1);
3421
5.72k
    yych = *YYCURSOR;
3422
5.72k
    if (yybm[0+yych] & 8) {
3423
4.05k
      goto yy249;
3424
4.05k
    }
3425
1.66k
    goto yy86;
3426
47.2k
yy135:
3427
47.2k
    YYDEBUG(135, *YYCURSOR);
3428
47.2k
    yych = *++YYCURSOR;
3429
47.2k
    if (yych <= ',') {
3430
2.87k
      if (yych == '+') goto yy252;
3431
1.69k
      goto yy86;
3432
44.4k
    } else {
3433
44.4k
      if (yych <= '-') goto yy252;
3434
31.4k
      if (yych <= '/') goto yy86;
3435
30.4k
      if (yych <= '9') goto yy253;
3436
7.65k
      goto yy86;
3437
30.4k
    }
3438
6.61k
yy136:
3439
6.61k
    YYDEBUG(136, *YYCURSOR);
3440
6.61k
    ++YYCURSOR;
3441
6.61k
    YYFILL(1);
3442
6.61k
    yych = *YYCURSOR;
3443
6.61k
    if (yybm[0+yych] & 16) {
3444
4.76k
      goto yy255;
3445
4.76k
    }
3446
1.84k
    goto yy86;
3447
14.8k
yy137:
3448
14.8k
    YYDEBUG(137, *YYCURSOR);
3449
14.8k
    ++YYCURSOR;
3450
14.8k
    YYFILL(1);
3451
14.8k
    yych = *YYCURSOR;
3452
14.8k
    if (yybm[0+yych] & 32) {
3453
13.6k
      goto yy258;
3454
13.6k
    }
3455
1.12k
    goto yy86;
3456
10.3k
yy138:
3457
10.3k
    YYDEBUG(138, *YYCURSOR);
3458
10.3k
    ++YYCURSOR;
3459
10.3k
    YYFILL(1);
3460
10.3k
    yych = *YYCURSOR;
3461
10.3k
    if (yybm[256+yych] & 64) {
3462
3.13k
      goto yy32;
3463
3.13k
    }
3464
7.20k
    goto yy86;
3465
108k
yy139:
3466
108k
    YYDEBUG(139, *YYCURSOR);
3467
108k
    ++YYCURSOR;
3468
108k
    YYDEBUG(140, *YYCURSOR);
3469
108k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
108k
#line 1614 "Zend/zend_language_scanner.l"
3471
108k
    {
3472
108k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
108k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
3.93M
yy141:
3476
3.93M
    YYDEBUG(141, *YYCURSOR);
3477
3.93M
    yyaccept = 7;
3478
3.93M
    yych = *(YYMARKER = ++YYCURSOR);
3479
3.93M
    if (yych <= ';') goto yy142;
3480
3.84M
    if (yych <= '<') goto yy261;
3481
200k
    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
16.4k
yy143:
3491
16.4k
    YYDEBUG(143, *YYCURSOR);
3492
16.4k
    yych = *++YYCURSOR;
3493
16.4k
    if (yych == '>') goto yy265;
3494
14.7k
    YYDEBUG(144, *YYCURSOR);
3495
14.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
14.7k
#line 1854 "Zend/zend_language_scanner.l"
3497
14.7k
    {
3498
14.7k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
14.7k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
5.66k
yy145:
3502
5.66k
    YYDEBUG(145, *YYCURSOR);
3503
5.66k
    ++YYCURSOR;
3504
5.66k
    goto yy76;
3505
37.0k
yy146:
3506
37.0k
    YYDEBUG(146, *YYCURSOR);
3507
37.0k
    yych = *++YYCURSOR;
3508
37.0k
    if (yych == '=') goto yy267;
3509
23.3k
    YYDEBUG(147, *YYCURSOR);
3510
23.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
23.3k
#line 1842 "Zend/zend_language_scanner.l"
3512
23.3k
    {
3513
23.3k
  RETURN_TOKEN(T_IS_EQUAL);
3514
23.3k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
46.0k
yy148:
3517
46.0k
    YYDEBUG(148, *YYCURSOR);
3518
46.0k
    ++YYCURSOR;
3519
46.0k
    YYDEBUG(149, *YYCURSOR);
3520
46.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
46.0k
#line 1810 "Zend/zend_language_scanner.l"
3522
46.0k
    {
3523
46.0k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
46.0k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
3.86k
yy150:
3527
3.86k
    YYDEBUG(150, *YYCURSOR);
3528
3.86k
    ++YYCURSOR;
3529
3.86k
    YYDEBUG(151, *YYCURSOR);
3530
3.86k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
3.86k
#line 1858 "Zend/zend_language_scanner.l"
3532
3.86k
    {
3533
3.86k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
3.86k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
8.12k
yy152:
3537
8.12k
    YYDEBUG(152, *YYCURSOR);
3538
8.12k
    yych = *++YYCURSOR;
3539
8.12k
    if (yych == '=') goto yy269;
3540
7.67k
    YYDEBUG(153, *YYCURSOR);
3541
7.67k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
7.67k
#line 1946 "Zend/zend_language_scanner.l"
3543
7.67k
    {
3544
7.67k
  RETURN_TOKEN(T_SR);
3545
7.67k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
44.2k
yy154:
3548
44.2k
    YYDEBUG(154, *YYCURSOR);
3549
44.2k
    yych = *++YYCURSOR;
3550
44.2k
    if (yych == '>') goto yy271;
3551
3.01k
    goto yy86;
3552
129k
yy155:
3553
129k
    YYDEBUG(155, *YYCURSOR);
3554
129k
    yych = *++YYCURSOR;
3555
129k
    if (yych == '\n') goto yy273;
3556
121k
    if (yych == '\r') goto yy274;
3557
129k
yy156:
3558
129k
    YYDEBUG(156, *YYCURSOR);
3559
129k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
129k
#line 2526 "Zend/zend_language_scanner.l"
3561
129k
    {
3562
129k
  BEGIN(INITIAL);
3563
129k
  if (yytext[yyleng-1] != '>') {
3564
9.68k
    CG(increment_lineno) = 1;
3565
9.68k
  }
3566
129k
  if (PARSER_MODE()) {
3567
104k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
104k
  }
3569
25.2k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
25.2k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
45.9k
yy157:
3573
45.9k
    YYDEBUG(157, *YYCURSOR);
3574
45.9k
    yych = *++YYCURSOR;
3575
45.9k
    if (yych == '=') goto yy275;
3576
38.0k
    YYDEBUG(158, *YYCURSOR);
3577
38.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
38.0k
#line 1622 "Zend/zend_language_scanner.l"
3579
38.0k
    {
3580
38.0k
  RETURN_TOKEN(T_COALESCE);
3581
38.0k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
18.9k
yy159:
3584
18.9k
    YYDEBUG(159, *YYCURSOR);
3585
18.9k
    yyaccept = 4;
3586
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
3587
18.9k
    if (yych == 'S') goto yy277;
3588
17.4k
    if (yych == 's') goto yy277;
3589
4.46k
    goto yy48;
3590
8.56k
yy160:
3591
8.56k
    YYDEBUG(160, *YYCURSOR);
3592
8.56k
    yyaccept = 4;
3593
8.56k
    yych = *(YYMARKER = ++YYCURSOR);
3594
8.56k
    if (yych == 'D') goto yy278;
3595
7.22k
    if (yych == 'd') goto yy278;
3596
2.24k
    goto yy48;
3597
36.6k
yy161:
3598
36.6k
    YYDEBUG(161, *YYCURSOR);
3599
36.6k
    yyaccept = 4;
3600
36.6k
    yych = *(YYMARKER = ++YYCURSOR);
3601
36.6k
    if (yych == 'R') goto yy280;
3602
36.3k
    if (yych == 'r') goto yy280;
3603
8.59k
    goto yy48;
3604
54.3k
yy162:
3605
54.3k
    YYDEBUG(162, *YYCURSOR);
3606
54.3k
    yyaccept = 8;
3607
54.3k
    yych = *(YYMARKER = ++YYCURSOR);
3608
54.3k
    if (yybm[256+yych] & 128) {
3609
28.1k
      goto yy47;
3610
28.1k
    }
3611
26.1k
    if (yych == '\\') goto yy164;
3612
26.1k
yy163:
3613
26.1k
    YYDEBUG(163, *YYCURSOR);
3614
26.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
26.1k
#line 1510 "Zend/zend_language_scanner.l"
3616
26.1k
    {
3617
26.1k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
26.1k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
91.9k
yy164:
3621
91.9k
    YYDEBUG(164, *YYCURSOR);
3622
91.9k
    ++YYCURSOR;
3623
91.9k
    YYFILL(1);
3624
91.9k
    yych = *YYCURSOR;
3625
91.9k
    if (yych <= '_') {
3626
66.1k
      if (yych <= '@') goto yy86;
3627
36.6k
      if (yych <= 'Z') goto yy281;
3628
15.5k
      if (yych <= '^') goto yy86;
3629
2.15k
      goto yy281;
3630
25.8k
    } else {
3631
25.8k
      if (yych <= '`') goto yy86;
3632
24.2k
      if (yych <= 'z') goto yy281;
3633
14.0k
      if (yych <= 0x7F) goto yy86;
3634
5.45k
      goto yy281;
3635
14.0k
    }
3636
6.39k
yy165:
3637
6.39k
    YYDEBUG(165, *YYCURSOR);
3638
6.39k
    yych = *++YYCURSOR;
3639
6.39k
    if (yych == '<') goto yy284;
3640
1.69k
    goto yy86;
3641
11.5k
yy166:
3642
11.5k
    YYDEBUG(166, *YYCURSOR);
3643
11.5k
    yyaccept = 4;
3644
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
3645
11.5k
    if (yych == 'E') goto yy285;
3646
8.92k
    if (yych == 'e') goto yy285;
3647
3.83k
    goto yy48;
3648
74.4k
yy167:
3649
74.4k
    YYDEBUG(167, *YYCURSOR);
3650
74.4k
    yyaccept = 4;
3651
74.4k
    yych = *(YYMARKER = ++YYCURSOR);
3652
74.4k
    if (yych <= 'T') {
3653
4.97k
      if (yych <= 'L') {
3654
3.58k
        if (yych <= 'K') goto yy48;
3655
2.01k
        goto yy286;
3656
3.58k
      } else {
3657
1.39k
        if (yych <= 'R') goto yy48;
3658
1.30k
        if (yych <= 'S') goto yy287;
3659
1.10k
        goto yy288;
3660
1.30k
      }
3661
69.4k
    } else {
3662
69.4k
      if (yych <= 'r') {
3663
16.9k
        if (yych == 'l') goto yy286;
3664
2.75k
        goto yy48;
3665
52.4k
      } else {
3666
52.4k
        if (yych <= 's') goto yy287;
3667
40.9k
        if (yych <= 't') goto yy288;
3668
705
        goto yy48;
3669
40.9k
      }
3670
69.4k
    }
3671
101k
yy168:
3672
101k
    YYDEBUG(168, *YYCURSOR);
3673
101k
    yyaccept = 4;
3674
101k
    yych = *(YYMARKER = ++YYCURSOR);
3675
101k
    if (yych <= 'O') {
3676
7.86k
      if (yych == 'A') goto yy289;
3677
5.81k
      if (yych <= 'N') goto yy48;
3678
1.11k
      goto yy290;
3679
93.1k
    } else {
3680
93.1k
      if (yych <= 'a') {
3681
83.2k
        if (yych <= '`') goto yy48;
3682
78.6k
        goto yy289;
3683
83.2k
      } else {
3684
9.93k
        if (yych == 'o') goto yy290;
3685
2.99k
        goto yy48;
3686
9.93k
      }
3687
93.1k
    }
3688
52.0k
yy169:
3689
52.0k
    YYDEBUG(169, *YYCURSOR);
3690
52.0k
    yyaccept = 4;
3691
52.0k
    yych = *(YYMARKER = ++YYCURSOR);
3692
52.0k
    if (yych == 'N') goto yy291;
3693
46.5k
    if (yych == 'n') goto yy291;
3694
6.65k
    goto yy48;
3695
26.2k
yy170:
3696
26.2k
    YYDEBUG(170, *YYCURSOR);
3697
26.2k
    yyaccept = 4;
3698
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
3699
26.2k
    if (yych <= 'F') {
3700
4.59k
      if (yych == 'C') goto yy292;
3701
2.56k
      if (yych <= 'E') goto yy48;
3702
944
      goto yy293;
3703
21.6k
    } else {
3704
21.6k
      if (yych <= 'c') {
3705
10.8k
        if (yych <= 'b') goto yy48;
3706
8.17k
        goto yy292;
3707
10.8k
      } else {
3708
10.7k
        if (yych == 'f') goto yy293;
3709
3.38k
        goto yy48;
3710
10.7k
      }
3711
21.6k
    }
3712
9.10k
yy171:
3713
9.10k
    YYDEBUG(171, *YYCURSOR);
3714
9.10k
    yyaccept = 4;
3715
9.10k
    yych = *(YYMARKER = ++YYCURSOR);
3716
9.10k
    if (yych == 'E') goto yy294;
3717
8.99k
    if (yych == 'e') goto yy294;
3718
1.39k
    goto yy48;
3719
16.8k
yy172:
3720
16.8k
    YYDEBUG(172, *YYCURSOR);
3721
16.8k
    yyaccept = 9;
3722
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
3723
16.8k
    if (yybm[256+yych] & 128) {
3724
14.3k
      goto yy47;
3725
14.3k
    }
3726
2.55k
    if (yych == '\\') goto yy164;
3727
2.53k
yy173:
3728
2.53k
    YYDEBUG(173, *YYCURSOR);
3729
2.53k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
2.53k
#line 1478 "Zend/zend_language_scanner.l"
3731
2.53k
    {
3732
2.53k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
2.53k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
92.6k
yy174:
3736
92.6k
    YYDEBUG(174, *YYCURSOR);
3737
92.6k
    yyaccept = 4;
3738
92.6k
    yych = *(YYMARKER = ++YYCURSOR);
3739
92.6k
    if (yych == 'H') goto yy296;
3740
92.3k
    if (yych == 'h') goto yy296;
3741
6.75k
    goto yy48;
3742
21.0k
yy175:
3743
21.0k
    YYDEBUG(175, *YYCURSOR);
3744
21.0k
    yyaccept = 4;
3745
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
3746
21.0k
    if (yych == 'S') goto yy297;
3747
20.5k
    if (yych == 's') goto yy297;
3748
6.44k
    goto yy48;
3749
9.39k
yy176:
3750
9.39k
    YYDEBUG(176, *YYCURSOR);
3751
9.39k
    yyaccept = 4;
3752
9.39k
    yych = *(YYMARKER = ++YYCURSOR);
3753
9.39k
    if (yych == 'P') goto yy298;
3754
7.56k
    if (yych == 'p') goto yy298;
3755
3.52k
    goto yy48;
3756
247k
yy177:
3757
247k
    YYDEBUG(177, *YYCURSOR);
3758
247k
    yyaccept = 4;
3759
247k
    yych = *(YYMARKER = ++YYCURSOR);
3760
247k
    if (yych <= 'U') {
3761
37.6k
      if (yych == 'D') goto yy299;
3762
11.7k
      if (yych <= 'T') goto yy48;
3763
2.73k
      goto yy300;
3764
209k
    } else {
3765
209k
      if (yych <= 'd') {
3766
32.9k
        if (yych <= 'c') goto yy48;
3767
30.4k
        goto yy299;
3768
176k
      } else {
3769
176k
        if (yych == 'u') goto yy300;
3770
9.15k
        goto yy48;
3771
176k
      }
3772
209k
    }
3773
9.91k
yy178:
3774
9.91k
    YYDEBUG(178, *YYCURSOR);
3775
9.91k
    yyaccept = 4;
3776
9.91k
    yych = *(YYMARKER = ++YYCURSOR);
3777
9.91k
    if (yych == 'A') goto yy301;
3778
9.79k
    if (yych == 'a') goto yy301;
3779
3.47k
    goto yy48;
3780
67.0k
yy179:
3781
67.0k
    YYDEBUG(179, *YYCURSOR);
3782
67.0k
    yyaccept = 4;
3783
67.0k
    yych = *(YYMARKER = ++YYCURSOR);
3784
67.0k
    if (yych <= 'T') {
3785
8.20k
      if (yych == 'I') goto yy302;
3786
7.98k
      if (yych <= 'S') goto yy48;
3787
2.66k
      goto yy303;
3788
58.8k
    } else {
3789
58.8k
      if (yych <= 'i') {
3790
31.0k
        if (yych <= 'h') goto yy48;
3791
2.35k
        goto yy302;
3792
31.0k
      } else {
3793
27.7k
        if (yych == 't') goto yy303;
3794
4.86k
        goto yy48;
3795
27.7k
      }
3796
58.8k
    }
3797
21.4k
yy180:
3798
21.4k
    YYDEBUG(180, *YYCURSOR);
3799
21.4k
    yyaccept = 4;
3800
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
3801
21.4k
    if (yych == 'N') goto yy304;
3802
20.8k
    if (yych == 'n') goto yy304;
3803
5.44k
    goto yy48;
3804
21.3k
yy181:
3805
21.3k
    YYDEBUG(181, *YYCURSOR);
3806
21.3k
    yyaccept = 10;
3807
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
3808
21.3k
    if (yybm[256+yych] & 128) {
3809
3.18k
      goto yy47;
3810
3.18k
    }
3811
18.1k
    if (yych == '\\') goto yy164;
3812
18.1k
yy182:
3813
18.1k
    YYDEBUG(182, *YYCURSOR);
3814
18.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
18.1k
#line 1407 "Zend/zend_language_scanner.l"
3816
18.1k
    {
3817
18.1k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
18.1k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
125k
yy183:
3821
125k
    YYDEBUG(183, *YYCURSOR);
3822
125k
    yyaccept = 4;
3823
125k
    yych = *(YYMARKER = ++YYCURSOR);
3824
125k
    if (yych == 'R') goto yy305;
3825
123k
    if (yych == 'r') goto yy305;
3826
60.6k
    goto yy48;
3827
114k
yy184:
3828
114k
    YYDEBUG(184, *YYCURSOR);
3829
114k
    yyaccept = 4;
3830
114k
    yych = *(YYMARKER = ++YYCURSOR);
3831
114k
    if (yych == 'N') goto yy307;
3832
112k
    if (yych == 'n') goto yy307;
3833
3.01k
    goto yy48;
3834
10.1k
yy185:
3835
10.1k
    YYDEBUG(185, *YYCURSOR);
3836
10.1k
    yyaccept = 4;
3837
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
3838
10.1k
    if (yych == 'O') goto yy308;
3839
6.90k
    if (yych == 'o') goto yy308;
3840
1.21k
    goto yy48;
3841
6.44k
yy186:
3842
6.44k
    YYDEBUG(186, *YYCURSOR);
3843
6.44k
    yyaccept = 4;
3844
6.44k
    yych = *(YYMARKER = ++YYCURSOR);
3845
6.44k
    if (yych == 'T') goto yy309;
3846
5.03k
    if (yych == 't') goto yy309;
3847
1.01k
    goto yy48;
3848
25.5k
yy187:
3849
25.5k
    YYDEBUG(187, *YYCURSOR);
3850
25.5k
    yyaccept = 11;
3851
25.5k
    yych = *(YYMARKER = ++YYCURSOR);
3852
25.5k
    if (yybm[256+yych] & 128) {
3853
1.52k
      goto yy47;
3854
1.52k
    }
3855
24.0k
    if (yych == '\\') goto yy164;
3856
24.0k
yy188:
3857
24.0k
    YYDEBUG(188, *YYCURSOR);
3858
24.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
24.0k
#line 1454 "Zend/zend_language_scanner.l"
3860
24.0k
    {
3861
24.0k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
24.0k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
40.0k
yy189:
3865
40.0k
    YYDEBUG(189, *YYCURSOR);
3866
40.0k
    yyaccept = 4;
3867
40.0k
    yych = *(YYMARKER = ++YYCURSOR);
3868
40.0k
    if (yych == 'P') goto yy310;
3869
36.0k
    if (yych == 'p') goto yy310;
3870
9.43k
    goto yy48;
3871
114k
yy190:
3872
114k
    YYDEBUG(190, *YYCURSOR);
3873
114k
    yyaccept = 4;
3874
114k
    yych = *(YYMARKER = ++YYCURSOR);
3875
114k
    if (yych <= 'T') {
3876
31.0k
      if (yych <= 'C') {
3877
14.0k
        if (yych <= 'B') goto yy48;
3878
2.20k
        goto yy311;
3879
17.0k
      } else {
3880
17.0k
        if (yych <= 'R') goto yy48;
3881
3.23k
        if (yych <= 'S') goto yy312;
3882
919
        goto yy313;
3883
3.23k
      }
3884
83.6k
    } else {
3885
83.6k
      if (yych <= 'r') {
3886
40.0k
        if (yych == 'c') goto yy311;
3887
26.2k
        goto yy48;
3888
43.5k
      } else {
3889
43.5k
        if (yych <= 's') goto yy312;
3890
28.9k
        if (yych <= 't') goto yy313;
3891
5.26k
        goto yy48;
3892
28.9k
      }
3893
83.6k
    }
3894
34.8k
yy191:
3895
34.8k
    YYDEBUG(191, *YYCURSOR);
3896
34.8k
    yyaccept = 4;
3897
34.8k
    yych = *(YYMARKER = ++YYCURSOR);
3898
34.8k
    if (yych == 'S') goto yy314;
3899
34.4k
    if (yych == 's') goto yy314;
3900
13.6k
    goto yy48;
3901
13.6k
yy192:
3902
8.67k
    YYDEBUG(192, *YYCURSOR);
3903
8.67k
    yyaccept = 4;
3904
8.67k
    yych = *(YYMARKER = ++YYCURSOR);
3905
8.67k
    if (yych == 'S') goto yy315;
3906
8.38k
    if (yych == 's') goto yy315;
3907
3.85k
    goto yy48;
3908
8.73k
yy193:
3909
8.73k
    YYDEBUG(193, *YYCURSOR);
3910
8.73k
    yyaccept = 4;
3911
8.73k
    yych = *(YYMARKER = ++YYCURSOR);
3912
8.73k
    if (yych == 'T') goto yy316;
3913
8.64k
    if (yych == 't') goto yy316;
3914
4.42k
    goto yy48;
3915
41.8k
yy194:
3916
41.8k
    YYDEBUG(194, *YYCURSOR);
3917
41.8k
    yyaccept = 4;
3918
41.8k
    yych = *(YYMARKER = ++YYCURSOR);
3919
41.8k
    if (yych == 'M') goto yy317;
3920
40.4k
    if (yych == 'm') goto yy317;
3921
2.34k
    goto yy48;
3922
92.6k
yy195:
3923
92.6k
    YYDEBUG(195, *YYCURSOR);
3924
92.6k
    yyaccept = 4;
3925
92.6k
    yych = *(YYMARKER = ++YYCURSOR);
3926
92.6k
    if (yych == 'W') goto yy318;
3927
90.9k
    if (yych == 'w') goto yy318;
3928
8.89k
    goto yy48;
3929
8.89k
yy196:
3930
8.67k
    YYDEBUG(196, *YYCURSOR);
3931
8.67k
    yyaccept = 12;
3932
8.67k
    yych = *(YYMARKER = ++YYCURSOR);
3933
8.67k
    if (yybm[256+yych] & 128) {
3934
3.52k
      goto yy47;
3935
3.52k
    }
3936
5.14k
    if (yych == '\\') goto yy164;
3937
5.09k
yy197:
3938
5.09k
    YYDEBUG(197, *YYCURSOR);
3939
5.09k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
5.09k
#line 1930 "Zend/zend_language_scanner.l"
3941
5.09k
    {
3942
5.09k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
5.09k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
57.3k
yy198:
3946
57.3k
    YYDEBUG(198, *YYCURSOR);
3947
57.3k
    yyaccept = 4;
3948
57.3k
    yych = *(YYMARKER = ++YYCURSOR);
3949
57.3k
    if (yych <= 'O') {
3950
5.50k
      if (yych == 'I') goto yy320;
3951
3.77k
      if (yych <= 'N') goto yy48;
3952
2.47k
      goto yy321;
3953
51.8k
    } else {
3954
51.8k
      if (yych <= 'i') {
3955
37.7k
        if (yych <= 'h') goto yy48;
3956
31.9k
        goto yy320;
3957
37.7k
      } else {
3958
14.1k
        if (yych == 'o') goto yy321;
3959
1.43k
        goto yy48;
3960
14.1k
      }
3961
51.8k
    }
3962
81.4k
yy199:
3963
81.4k
    YYDEBUG(199, *YYCURSOR);
3964
81.4k
    yyaccept = 4;
3965
81.4k
    yych = *(YYMARKER = ++YYCURSOR);
3966
81.4k
    if (yych == 'B') goto yy322;
3967
79.3k
    if (yych == 'b') goto yy322;
3968
4.63k
    goto yy48;
3969
89.3k
yy200:
3970
89.3k
    YYDEBUG(200, *YYCURSOR);
3971
89.3k
    yyaccept = 4;
3972
89.3k
    yych = *(YYMARKER = ++YYCURSOR);
3973
89.3k
    if (yych <= 'T') {
3974
6.79k
      if (yych <= 'P') {
3975
5.44k
        if (yych == 'A') goto yy323;
3976
5.35k
        goto yy48;
3977
5.44k
      } else {
3978
1.35k
        if (yych <= 'Q') goto yy324;
3979
774
        if (yych <= 'S') goto yy48;
3980
545
        goto yy325;
3981
774
      }
3982
82.5k
    } else {
3983
82.5k
      if (yych <= 'p') {
3984
19.1k
        if (yych == 'a') goto yy323;
3985
7.59k
        goto yy48;
3986
63.4k
      } else {
3987
63.4k
        if (yych <= 'q') goto yy324;
3988
37.0k
        if (yych == 't') goto yy325;
3989
7.65k
        goto yy48;
3990
37.0k
      }
3991
82.5k
    }
3992
60.5k
yy201:
3993
60.5k
    YYDEBUG(201, *YYCURSOR);
3994
60.5k
    yyaccept = 4;
3995
60.5k
    yych = *(YYMARKER = ++YYCURSOR);
3996
60.5k
    if (yych == 'A') goto yy326;
3997
59.9k
    if (yych == 'a') goto yy326;
3998
38.7k
    goto yy48;
3999
38.7k
yy202:
4000
9.47k
    YYDEBUG(202, *YYCURSOR);
4001
9.47k
    yyaccept = 4;
4002
9.47k
    yych = *(YYMARKER = ++YYCURSOR);
4003
9.47k
    if (yych == 'I') goto yy327;
4004
8.45k
    if (yych == 'i') goto yy327;
4005
1.02k
    goto yy48;
4006
16.4k
yy203:
4007
16.4k
    YYDEBUG(203, *YYCURSOR);
4008
16.4k
    yyaccept = 4;
4009
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
4010
16.4k
    if (yych == 'R') goto yy328;
4011
16.0k
    if (yych == 'r') goto yy328;
4012
4.09k
    goto yy48;
4013
74.4k
yy204:
4014
74.4k
    YYDEBUG(204, *YYCURSOR);
4015
74.4k
    yyaccept = 4;
4016
74.4k
    yych = *(YYMARKER = ++YYCURSOR);
4017
74.4k
    if (yych <= 'Y') {
4018
7.03k
      if (yych == 'A') goto yy329;
4019
4.32k
      if (yych <= 'X') goto yy48;
4020
296
      goto yy330;
4021
67.4k
    } else {
4022
67.4k
      if (yych <= 'a') {
4023
11.9k
        if (yych <= '`') goto yy48;
4024
11.3k
        goto yy329;
4025
55.5k
      } else {
4026
55.5k
        if (yych == 'y') goto yy330;
4027
10.5k
        goto yy48;
4028
55.5k
      }
4029
67.4k
    }
4030
22.3k
yy205:
4031
22.3k
    YYDEBUG(205, *YYCURSOR);
4032
22.3k
    yyaccept = 4;
4033
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
4034
22.3k
    if (yych == 'S') goto yy332;
4035
21.5k
    if (yych == 's') goto yy332;
4036
4.08k
    goto yy48;
4037
14.7k
yy206:
4038
14.7k
    YYDEBUG(206, *YYCURSOR);
4039
14.7k
    yyaccept = 4;
4040
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
4041
14.7k
    if (yych == 'E') goto yy333;
4042
13.8k
    if (yych == 'e') goto yy333;
4043
1.22k
    goto yy48;
4044
111k
yy207:
4045
111k
    YYDEBUG(207, *YYCURSOR);
4046
111k
    yyaccept = 4;
4047
111k
    yych = *(YYMARKER = ++YYCURSOR);
4048
111k
    if (yych == 'R') goto yy335;
4049
110k
    if (yych == 'r') goto yy335;
4050
7.27k
    goto yy48;
4051
7.27k
yy208:
4052
6.79k
    YYDEBUG(208, *YYCURSOR);
4053
6.79k
    yyaccept = 4;
4054
6.79k
    yych = *(YYMARKER = ++YYCURSOR);
4055
6.79k
    if (yych == 'I') goto yy337;
4056
6.32k
    if (yych == 'i') goto yy337;
4057
1.66k
    goto yy48;
4058
5.58k
yy209:
4059
5.58k
    YYDEBUG(209, *YYCURSOR);
4060
5.58k
    yyaccept = 4;
4061
5.58k
    yych = *(YYMARKER = ++YYCURSOR);
4062
5.58k
    if (yych == 'R') goto yy338;
4063
5.11k
    if (yych == 'r') goto yy338;
4064
719
    goto yy48;
4065
95.2k
yy210:
4066
95.2k
    YYDEBUG(210, *YYCURSOR);
4067
95.2k
    yyaccept = 4;
4068
95.2k
    yych = *(YYMARKER = ++YYCURSOR);
4069
95.2k
    if (yych == 'E') goto yy340;
4070
93.0k
    if (yych == 'e') goto yy340;
4071
4.57k
    goto yy48;
4072
293k
yy211:
4073
293k
    YYDEBUG(211, *YYCURSOR);
4074
293k
    yyaccept = 13;
4075
293k
    YYMARKER = ++YYCURSOR;
4076
293k
    YYFILL(1);
4077
293k
    yych = *YYCURSOR;
4078
293k
    YYDEBUG(212, *YYCURSOR);
4079
293k
    if (yych <= '\\') {
4080
114k
      if (yych <= '@') {
4081
49.3k
        if (yych <= '/') goto yy213;
4082
23.0k
        if (yych <= '9') goto yy211;
4083
65.3k
      } else {
4084
65.3k
        if (yych <= 'Z') goto yy211;
4085
25.2k
        if (yych >= '\\') goto yy341;
4086
25.2k
      }
4087
179k
    } else {
4088
179k
      if (yych <= '`') {
4089
8.56k
        if (yych == '_') goto yy211;
4090
170k
      } else {
4091
170k
        if (yych <= 'z') goto yy211;
4092
44.4k
        if (yych >= 0x80) goto yy211;
4093
44.4k
      }
4094
179k
    }
4095
54.8k
yy213:
4096
54.8k
    YYDEBUG(213, *YYCURSOR);
4097
54.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
54.8k
#line 2447 "Zend/zend_language_scanner.l"
4099
54.8k
    {
4100
54.8k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
54.8k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
1.77k
yy214:
4104
1.77k
    YYDEBUG(214, *YYCURSOR);
4105
1.77k
    ++YYCURSOR;
4106
1.77k
    YYDEBUG(215, *YYCURSOR);
4107
1.77k
    yyleng = YYCURSOR - SCNG(yy_text);
4108
1.77k
#line 1910 "Zend/zend_language_scanner.l"
4109
1.77k
    {
4110
1.77k
  RETURN_TOKEN(T_XOR_EQUAL);
4111
1.77k
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
141k
yy216:
4114
141k
    YYDEBUG(216, *YYCURSOR);
4115
141k
    yyaccept = 4;
4116
141k
    yych = *(YYMARKER = ++YYCURSOR);
4117
141k
    switch (yych) {
4118
4.56k
    case 'C':
4119
22.7k
    case 'c': goto yy342;
4120
4.65k
    case 'D':
4121
13.5k
    case 'd': goto yy343;
4122
10.7k
    case 'F':
4123
22.0k
    case 'f': goto yy344;
4124
1.35k
    case 'H':
4125
8.98k
    case 'h': goto yy345;
4126
2.50k
    case 'L':
4127
7.24k
    case 'l': goto yy346;
4128
10.2k
    case 'M':
4129
15.9k
    case 'm': goto yy347;
4130
6.69k
    case 'N':
4131
12.1k
    case 'n': goto yy348;
4132
4.47k
    case 'P':
4133
5.62k
    case 'p': goto yy349;
4134
1.50k
    case 'T':
4135
8.69k
    case 't': goto yy350;
4136
24.3k
    default:  goto yy48;
4137
141k
    }
4138
1.79k
yy217:
4139
1.79k
    YYDEBUG(217, *YYCURSOR);
4140
1.79k
    ++YYCURSOR;
4141
1.79k
    YYDEBUG(218, *YYCURSOR);
4142
1.79k
    yyleng = YYCURSOR - SCNG(yy_text);
4143
1.79k
#line 1906 "Zend/zend_language_scanner.l"
4144
1.79k
    {
4145
1.79k
  RETURN_TOKEN(T_OR_EQUAL);
4146
1.79k
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
7.16k
yy219:
4149
7.16k
    YYDEBUG(219, *YYCURSOR);
4150
7.16k
    ++YYCURSOR;
4151
7.16k
    YYDEBUG(220, *YYCURSOR);
4152
7.16k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
7.16k
#line 1918 "Zend/zend_language_scanner.l"
4154
7.16k
    {
4155
7.16k
  RETURN_TOKEN(T_PIPE);
4156
7.16k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
10.1k
yy221:
4159
10.1k
    YYDEBUG(221, *YYCURSOR);
4160
10.1k
    ++YYCURSOR;
4161
10.1k
    YYDEBUG(222, *YYCURSOR);
4162
10.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
10.1k
#line 1922 "Zend/zend_language_scanner.l"
4164
10.1k
    {
4165
10.1k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
10.1k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
2.20k
yy223:
4169
2.20k
    YYDEBUG(223, *YYCURSOR);
4170
2.20k
    ++YYCURSOR;
4171
2.20k
    YYDEBUG(224, *YYCURSOR);
4172
2.20k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
2.20k
#line 1838 "Zend/zend_language_scanner.l"
4174
2.20k
    {
4175
2.20k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
2.20k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
1.47M
yy225:
4179
1.47M
    YYDEBUG(225, *YYCURSOR);
4180
1.47M
    ++YYCURSOR;
4181
1.47M
    YYFILL(1);
4182
1.47M
    yych = *YYCURSOR;
4183
1.47M
    YYDEBUG(226, *YYCURSOR);
4184
1.47M
    if (yybm[0+yych] & 2) {
4185
746k
      goto yy225;
4186
746k
    }
4187
730k
    if (yych <= 0x00) goto yy86;
4188
724k
    goto yy84;
4189
778k
yy227:
4190
778k
    YYDEBUG(227, *YYCURSOR);
4191
778k
    ++YYCURSOR;
4192
778k
    YYFILL(1);
4193
778k
    yych = *YYCURSOR;
4194
778k
    YYDEBUG(228, *YYCURSOR);
4195
778k
    if (yych <= 0x1F) {
4196
14.3k
      if (yych <= '\t') {
4197
4.00k
        if (yych <= 0x00) goto yy86;
4198
3.71k
        if (yych <= 0x08) goto yy225;
4199
751
        goto yy227;
4200
10.3k
      } else {
4201
10.3k
        if (yych <= '\n') goto yy84;
4202
8.87k
        if (yych == '\r') goto yy84;
4203
2.68k
        goto yy225;
4204
8.87k
      }
4205
764k
    } else {
4206
764k
      if (yych <= '$') {
4207
16.8k
        if (yych <= ' ') goto yy227;
4208
15.9k
        if (yych <= '"') goto yy225;
4209
15.1k
        if (yych <= '#') goto yy351;
4210
3.62k
        goto yy352;
4211
747k
      } else {
4212
747k
        if (yych <= '-') goto yy225;
4213
93.4k
        if (yych <= '.') goto yy353;
4214
75.4k
        if (yych <= '/') goto yy354;
4215
32.7k
        goto yy225;
4216
75.4k
      }
4217
764k
    }
4218
1.79k
yy229:
4219
1.79k
    YYDEBUG(229, *YYCURSOR);
4220
1.79k
    yych = *++YYCURSOR;
4221
1.79k
    if (yych == '.') goto yy88;
4222
743
    goto yy86;
4223
633k
yy230:
4224
633k
    YYDEBUG(230, *YYCURSOR);
4225
633k
    ++YYCURSOR;
4226
633k
    YYFILL(1);
4227
633k
    yych = *YYCURSOR;
4228
633k
    YYDEBUG(231, *YYCURSOR);
4229
633k
    if (yybm[0+yych] & 4) {
4230
602k
      goto yy230;
4231
602k
    }
4232
31.0k
    if (yych <= 0x00) goto yy86;
4233
21.5k
    goto yy355;
4234
21.5k
yy232:
4235
13.3k
    YYDEBUG(232, *YYCURSOR);
4236
13.3k
    yych = *++YYCURSOR;
4237
13.3k
    if (yych == 'R') goto yy357;
4238
13.1k
    if (yych == 'r') goto yy357;
4239
1.49k
    goto yy86;
4240
3.34k
yy233:
4241
3.34k
    YYDEBUG(233, *YYCURSOR);
4242
3.34k
    yych = *++YYCURSOR;
4243
3.34k
    if (yych == 'N') goto yy358;
4244
3.17k
    if (yych == 'n') goto yy358;
4245
1.51k
    goto yy86;
4246
3.19k
yy234:
4247
3.19k
    YYDEBUG(234, *YYCURSOR);
4248
3.19k
    yych = *++YYCURSOR;
4249
3.19k
    if (yych == 'O') goto yy359;
4250
2.87k
    if (yych == 'o') goto yy359;
4251
482
    goto yy86;
4252
3.36k
yy235:
4253
3.36k
    YYDEBUG(235, *YYCURSOR);
4254
3.36k
    yych = *++YYCURSOR;
4255
3.36k
    if (yych == 'U') goto yy360;
4256
3.10k
    if (yych == 'u') goto yy360;
4257
577
    goto yy86;
4258
3.48k
yy236:
4259
3.48k
    YYDEBUG(236, *YYCURSOR);
4260
3.48k
    yych = *++YYCURSOR;
4261
3.48k
    if (yych == 'O') goto yy361;
4262
2.22k
    if (yych == 'o') goto yy361;
4263
1.11k
    goto yy86;
4264
10.8k
yy237:
4265
10.8k
    YYDEBUG(237, *YYCURSOR);
4266
10.8k
    yych = *++YYCURSOR;
4267
10.8k
    if (yych == 'T') goto yy362;
4268
10.2k
    if (yych == 't') goto yy362;
4269
2.68k
    goto yy86;
4270
11.2k
yy238:
4271
11.2k
    YYDEBUG(238, *YYCURSOR);
4272
11.2k
    yych = *++YYCURSOR;
4273
11.2k
    if (yych == 'J') goto yy363;
4274
10.7k
    if (yych == 'j') goto yy363;
4275
2.24k
    goto yy86;
4276
5.16k
yy239:
4277
5.16k
    YYDEBUG(239, *YYCURSOR);
4278
5.16k
    yych = *++YYCURSOR;
4279
5.16k
    if (yych == 'A') goto yy364;
4280
4.86k
    if (yych == 'a') goto yy364;
4281
3.70k
    goto yy86;
4282
16.4k
yy240:
4283
16.4k
    YYDEBUG(240, *YYCURSOR);
4284
16.4k
    yych = *++YYCURSOR;
4285
16.4k
    if (yych == 'R') goto yy365;
4286
16.3k
    if (yych == 'r') goto yy365;
4287
1.24k
    goto yy86;
4288
6.11k
yy241:
4289
6.11k
    YYDEBUG(241, *YYCURSOR);
4290
6.11k
    yych = *++YYCURSOR;
4291
6.11k
    if (yych == 'S') goto yy366;
4292
5.62k
    if (yych == 's') goto yy366;
4293
1.20k
    goto yy86;
4294
2.50k
yy242:
4295
2.50k
    YYDEBUG(242, *YYCURSOR);
4296
2.50k
    yych = *++YYCURSOR;
4297
2.50k
    if (yych == 'I') goto yy367;
4298
2.27k
    if (yych == 'i') goto yy367;
4299
423
    goto yy86;
4300
423
yy243:
4301
351
    YYDEBUG(243, *YYCURSOR);
4302
351
    ++YYCURSOR;
4303
351
    YYDEBUG(244, *YYCURSOR);
4304
351
    yyleng = YYCURSOR - SCNG(yy_text);
4305
351
#line 1878 "Zend/zend_language_scanner.l"
4306
351
    {
4307
351
  RETURN_TOKEN(T_POW_EQUAL);
4308
351
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
43.2k
yy245:
4311
43.2k
    YYDEBUG(245, *YYCURSOR);
4312
43.2k
    ++YYCURSOR;
4313
43.2k
    YYDEBUG(246, *YYCURSOR);
4314
43.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
43.2k
#line 1618 "Zend/zend_language_scanner.l"
4316
43.2k
    {
4317
43.2k
  RETURN_TOKEN(T_ELLIPSIS);
4318
43.2k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
2.33k
yy247:
4321
2.33k
    YYDEBUG(247, *YYCURSOR);
4322
2.33k
    ++YYCURSOR;
4323
2.33k
    YYFILL(1);
4324
2.33k
    yych = *YYCURSOR;
4325
2.33k
    if (yych <= '/') goto yy86;
4326
2.05k
    if (yych <= '9') goto yy123;
4327
1.11k
    goto yy86;
4328
13.4k
yy248:
4329
13.4k
    YYDEBUG(248, *YYCURSOR);
4330
13.4k
    yych = *++YYCURSOR;
4331
13.4k
    if (yych <= '\f') {
4332
5.99k
      if (yych <= 0x08) goto yy86;
4333
5.69k
      if (yych <= '\n') goto yy368;
4334
1.66k
      goto yy86;
4335
7.49k
    } else {
4336
7.49k
      if (yych <= '\r') goto yy368;
4337
6.34k
      if (yych == ' ') goto yy368;
4338
1.77k
      goto yy86;
4339
6.34k
    }
4340
49.8k
yy249:
4341
49.8k
    YYDEBUG(249, *YYCURSOR);
4342
49.8k
    yyaccept = 14;
4343
49.8k
    YYMARKER = ++YYCURSOR;
4344
49.8k
    YYFILL(1);
4345
49.8k
    yych = *YYCURSOR;
4346
49.8k
    YYDEBUG(250, *YYCURSOR);
4347
49.8k
    if (yybm[0+yych] & 8) {
4348
45.7k
      goto yy249;
4349
45.7k
    }
4350
4.05k
    if (yych == '_') goto yy134;
4351
2.84k
yy251:
4352
2.84k
    YYDEBUG(251, *YYCURSOR);
4353
2.84k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
2.84k
#line 2011 "Zend/zend_language_scanner.l"
4355
2.84k
    {
4356
  /* The +/- 2 skips "0b" */
4357
2.84k
  size_t len = yyleng - 2;
4358
2.84k
  char *end, *bin = yytext + 2;
4359
2.84k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
5.10k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
2.26k
    ++bin;
4364
2.26k
    --len;
4365
2.26k
  }
4366
4367
2.84k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
2.84k
  if (contains_underscores) {
4370
382
    bin = estrndup(bin, len);
4371
382
    strip_underscores(bin, &len);
4372
382
  }
4373
4374
2.84k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
2.62k
    if (len == 0) {
4376
543
      ZVAL_LONG(zendlval, 0);
4377
2.08k
    } else {
4378
2.08k
      errno = 0;
4379
2.08k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
2.08k
      ZEND_ASSERT(!errno && end == bin + len);
4381
2.08k
    }
4382
2.62k
    if (contains_underscores) {
4383
288
      efree(bin);
4384
288
    }
4385
2.62k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
2.62k
  } else {
4387
221
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
221
    ZEND_ASSERT(end == bin + len);
4390
221
    if (contains_underscores) {
4391
94
      efree(bin);
4392
94
    }
4393
221
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
221
  }
4395
2.84k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
14.9k
yy252:
4398
14.9k
    YYDEBUG(252, *YYCURSOR);
4399
14.9k
    ++YYCURSOR;
4400
14.9k
    YYFILL(1);
4401
14.9k
    yych = *YYCURSOR;
4402
14.9k
    if (yych <= '/') goto yy86;
4403
13.7k
    if (yych >= ':') goto yy86;
4404
109k
yy253:
4405
109k
    YYDEBUG(253, *YYCURSOR);
4406
109k
    yyaccept = 5;
4407
109k
    YYMARKER = ++YYCURSOR;
4408
109k
    YYFILL(1);
4409
109k
    yych = *YYCURSOR;
4410
109k
    YYDEBUG(254, *YYCURSOR);
4411
109k
    if (yych <= '/') goto yy125;
4412
88.2k
    if (yych <= '9') goto yy253;
4413
14.1k
    if (yych == '_') goto yy252;
4414
13.3k
    goto yy125;
4415
15.0k
yy255:
4416
15.0k
    YYDEBUG(255, *YYCURSOR);
4417
15.0k
    yyaccept = 15;
4418
15.0k
    YYMARKER = ++YYCURSOR;
4419
15.0k
    YYFILL(1);
4420
15.0k
    yych = *YYCURSOR;
4421
15.0k
    YYDEBUG(256, *YYCURSOR);
4422
15.0k
    if (yybm[0+yych] & 16) {
4423
10.3k
      goto yy255;
4424
10.3k
    }
4425
4.76k
    if (yych == '_') goto yy136;
4426
3.36k
yy257:
4427
3.36k
    YYDEBUG(257, *YYCURSOR);
4428
3.36k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
3.36k
#line 2053 "Zend/zend_language_scanner.l"
4430
3.36k
    {
4431
  /* The +/- 2 skips "0o" */
4432
3.36k
  size_t len = yyleng - 2;
4433
3.36k
  char *end, *octal = yytext + 2;
4434
3.36k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
7.98k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
4.62k
    ++octal;
4439
4.62k
    --len;
4440
4.62k
  }
4441
4442
3.36k
  if (len == 0) {
4443
728
    ZVAL_LONG(zendlval, 0);
4444
728
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
728
  }
4446
4447
2.63k
  if (contains_underscores) {
4448
1.36k
    octal = estrndup(octal, len);
4449
1.36k
    strip_underscores(octal, &len);
4450
1.36k
  }
4451
4452
2.63k
  errno = 0;
4453
4454
2.63k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
2.63k
  ZEND_ASSERT(end == octal + len);
4457
4458
2.63k
  if (!errno) {
4459
2.30k
    if (contains_underscores) {
4460
1.18k
      efree(octal);
4461
1.18k
    }
4462
2.30k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
2.30k
  }
4464
4465
  /* Overflow */
4466
327
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
327
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
327
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
327
  ZEND_ASSERT(!errno);
4473
327
  ZEND_ASSERT(end == octal + len);
4474
327
  if (contains_underscores) {
4475
181
    efree(octal);
4476
181
  }
4477
327
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
327
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
116k
yy258:
4481
116k
    YYDEBUG(258, *YYCURSOR);
4482
116k
    yyaccept = 16;
4483
116k
    YYMARKER = ++YYCURSOR;
4484
116k
    YYFILL(1);
4485
116k
    yych = *YYCURSOR;
4486
116k
    YYDEBUG(259, *YYCURSOR);
4487
116k
    if (yybm[0+yych] & 32) {
4488
102k
      goto yy258;
4489
102k
    }
4490
13.6k
    if (yych == '_') goto yy137;
4491
11.6k
yy260:
4492
11.6k
    YYDEBUG(260, *YYCURSOR);
4493
11.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
11.6k
#line 2166 "Zend/zend_language_scanner.l"
4495
11.6k
    {
4496
  /* The +/- 2 skips "0x" */
4497
11.6k
  size_t len = yyleng - 2;
4498
11.6k
  char *end, *hex = yytext + 2;
4499
11.6k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
13.6k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
2.01k
    ++hex;
4504
2.01k
    --len;
4505
2.01k
  }
4506
4507
11.6k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
11.6k
  if (contains_underscores) {
4510
1.50k
    hex = estrndup(hex, len);
4511
1.50k
    strip_underscores(hex, &len);
4512
1.50k
  }
4513
4514
11.6k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
7.89k
    if (len == 0) {
4516
691
      ZVAL_LONG(zendlval, 0);
4517
7.20k
    } else {
4518
7.20k
      errno = 0;
4519
7.20k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
7.20k
      ZEND_ASSERT(!errno && end == hex + len);
4521
7.20k
    }
4522
7.89k
    if (contains_underscores) {
4523
628
      efree(hex);
4524
628
    }
4525
7.89k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
7.89k
  } else {
4527
3.76k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
3.76k
    ZEND_ASSERT(end == hex + len);
4530
3.76k
    if (contains_underscores) {
4531
874
      efree(hex);
4532
874
    }
4533
3.76k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
3.76k
  }
4535
11.6k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
3.67M
yy261:
4538
3.67M
    YYDEBUG(261, *YYCURSOR);
4539
3.67M
    ++YYCURSOR;
4540
3.67M
    YYFILL(2);
4541
3.67M
    yych = *YYCURSOR;
4542
3.67M
    YYDEBUG(262, *YYCURSOR);
4543
3.67M
    if (yych <= '\'') {
4544
68.5k
      if (yych <= ' ') {
4545
45.5k
        if (yych == '\t') goto yy261;
4546
28.6k
        if (yych <= 0x1F) goto yy86;
4547
7.71k
        goto yy261;
4548
28.6k
      } else {
4549
23.0k
        if (yych == '"') goto yy370;
4550
17.4k
        if (yych <= '&') goto yy86;
4551
10.4k
        goto yy371;
4552
17.4k
      }
4553
3.60M
    } else {
4554
3.60M
      if (yych <= '_') {
4555
624k
        if (yych <= '@') goto yy86;
4556
547k
        if (yych <= 'Z') goto yy372;
4557
8.05k
        if (yych <= '^') goto yy86;
4558
7.00k
        goto yy372;
4559
2.98M
      } else {
4560
2.98M
        if (yych <= '`') goto yy86;
4561
2.98M
        if (yych <= 'z') goto yy372;
4562
2.15M
        if (yych <= 0x7F) goto yy86;
4563
2.14M
        goto yy372;
4564
2.15M
      }
4565
3.60M
    }
4566
2.39k
yy263:
4567
2.39k
    YYDEBUG(263, *YYCURSOR);
4568
2.39k
    ++YYCURSOR;
4569
2.39k
    YYDEBUG(264, *YYCURSOR);
4570
2.39k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
2.39k
#line 1894 "Zend/zend_language_scanner.l"
4572
2.39k
    {
4573
2.39k
  RETURN_TOKEN(T_SL_EQUAL);
4574
2.39k
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
1.69k
yy265:
4577
1.69k
    YYDEBUG(265, *YYCURSOR);
4578
1.69k
    ++YYCURSOR;
4579
1.69k
    YYDEBUG(266, *YYCURSOR);
4580
1.69k
    yyleng = YYCURSOR - SCNG(yy_text);
4581
1.69k
#line 1850 "Zend/zend_language_scanner.l"
4582
1.69k
    {
4583
1.69k
  RETURN_TOKEN(T_SPACESHIP);
4584
1.69k
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
13.6k
yy267:
4587
13.6k
    YYDEBUG(267, *YYCURSOR);
4588
13.6k
    ++YYCURSOR;
4589
13.6k
    YYDEBUG(268, *YYCURSOR);
4590
13.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
13.6k
#line 1834 "Zend/zend_language_scanner.l"
4592
13.6k
    {
4593
13.6k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
13.6k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
445
yy269:
4597
445
    YYDEBUG(269, *YYCURSOR);
4598
445
    ++YYCURSOR;
4599
445
    YYDEBUG(270, *YYCURSOR);
4600
445
    yyleng = YYCURSOR - SCNG(yy_text);
4601
445
#line 1898 "Zend/zend_language_scanner.l"
4602
445
    {
4603
445
  RETURN_TOKEN(T_SR_EQUAL);
4604
445
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
41.2k
yy271:
4607
41.2k
    YYDEBUG(271, *YYCURSOR);
4608
41.2k
    ++YYCURSOR;
4609
41.2k
    YYDEBUG(272, *YYCURSOR);
4610
41.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
41.2k
#line 1592 "Zend/zend_language_scanner.l"
4612
41.2k
    {
4613
41.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
41.2k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
41.2k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
8.90k
yy273:
4618
8.90k
    YYDEBUG(273, *YYCURSOR);
4619
8.90k
    ++YYCURSOR;
4620
8.90k
    goto yy156;
4621
1.18k
yy274:
4622
1.18k
    YYDEBUG(274, *YYCURSOR);
4623
1.18k
    yych = *++YYCURSOR;
4624
1.18k
    if (yych == '\n') goto yy273;
4625
782
    goto yy156;
4626
7.87k
yy275:
4627
7.87k
    YYDEBUG(275, *YYCURSOR);
4628
7.87k
    ++YYCURSOR;
4629
7.87k
    YYDEBUG(276, *YYCURSOR);
4630
7.87k
    yyleng = YYCURSOR - SCNG(yy_text);
4631
7.87k
#line 1914 "Zend/zend_language_scanner.l"
4632
7.87k
    {
4633
7.87k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
7.87k
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
14.4k
yy277:
4637
14.4k
    YYDEBUG(277, *YYCURSOR);
4638
14.4k
    yyaccept = 4;
4639
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
4640
14.4k
    if (yych == 'T') goto yy374;
4641
12.5k
    if (yych == 't') goto yy374;
4642
758
    goto yy48;
4643
6.31k
yy278:
4644
6.31k
    YYDEBUG(278, *YYCURSOR);
4645
6.31k
    yyaccept = 17;
4646
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
4647
6.31k
    if (yybm[256+yych] & 128) {
4648
261
      goto yy47;
4649
261
    }
4650
6.05k
    if (yych == '\\') goto yy164;
4651
6.05k
yy279:
4652
6.05k
    YYDEBUG(279, *YYCURSOR);
4653
6.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
6.05k
#line 1934 "Zend/zend_language_scanner.l"
4655
6.05k
    {
4656
6.05k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
6.05k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
28.0k
yy280:
4660
28.0k
    YYDEBUG(280, *YYCURSOR);
4661
28.0k
    yyaccept = 4;
4662
28.0k
    yych = *(YYMARKER = ++YYCURSOR);
4663
28.0k
    if (yych == 'A') goto yy375;
4664
27.7k
    if (yych == 'a') goto yy375;
4665
2.47k
    goto yy48;
4666
156k
yy281:
4667
156k
    YYDEBUG(281, *YYCURSOR);
4668
156k
    yyaccept = 18;
4669
156k
    YYMARKER = ++YYCURSOR;
4670
156k
    YYFILL(1);
4671
156k
    yych = *YYCURSOR;
4672
156k
    YYDEBUG(282, *YYCURSOR);
4673
156k
    if (yych <= '\\') {
4674
68.1k
      if (yych <= '@') {
4675
46.4k
        if (yych <= '/') goto yy283;
4676
27.4k
        if (yych <= '9') goto yy281;
4677
27.4k
      } else {
4678
21.7k
        if (yych <= 'Z') goto yy281;
4679
11.4k
        if (yych >= '\\') goto yy164;
4680
11.4k
      }
4681
88.2k
    } else {
4682
88.2k
      if (yych <= '`') {
4683
2.38k
        if (yych == '_') goto yy281;
4684
85.9k
      } else {
4685
85.9k
        if (yych <= 'z') goto yy281;
4686
48.2k
        if (yych >= 0x80) goto yy281;
4687
48.2k
      }
4688
88.2k
    }
4689
30.8k
yy283:
4690
30.8k
    YYDEBUG(283, *YYCURSOR);
4691
30.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
30.8k
#line 2443 "Zend/zend_language_scanner.l"
4693
30.8k
    {
4694
30.8k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
30.8k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
4.70k
yy284:
4698
4.70k
    YYDEBUG(284, *YYCURSOR);
4699
4.70k
    yych = *++YYCURSOR;
4700
4.70k
    if (yych == '<') goto yy261;
4701
909
    goto yy86;
4702
7.69k
yy285:
4703
7.69k
    YYDEBUG(285, *YYCURSOR);
4704
7.69k
    yyaccept = 4;
4705
7.69k
    yych = *(YYMARKER = ++YYCURSOR);
4706
7.69k
    if (yych == 'A') goto yy376;
4707
7.25k
    if (yych == 'a') goto yy376;
4708
1.20k
    goto yy48;
4709
16.2k
yy286:
4710
16.2k
    YYDEBUG(286, *YYCURSOR);
4711
16.2k
    yyaccept = 4;
4712
16.2k
    yych = *(YYMARKER = ++YYCURSOR);
4713
16.2k
    if (yych == 'L') goto yy377;
4714
14.4k
    if (yych == 'l') goto yy377;
4715
1.31k
    goto yy48;
4716
11.7k
yy287:
4717
11.7k
    YYDEBUG(287, *YYCURSOR);
4718
11.7k
    yyaccept = 4;
4719
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
4720
11.7k
    if (yych == 'E') goto yy378;
4721
10.5k
    if (yych == 'e') goto yy378;
4722
1.00k
    goto yy48;
4723
41.3k
yy288:
4724
41.3k
    YYDEBUG(288, *YYCURSOR);
4725
41.3k
    yyaccept = 4;
4726
41.3k
    yych = *(YYMARKER = ++YYCURSOR);
4727
41.3k
    if (yych == 'C') goto yy380;
4728
40.9k
    if (yych == 'c') goto yy380;
4729
1.59k
    goto yy48;
4730
80.6k
yy289:
4731
80.6k
    YYDEBUG(289, *YYCURSOR);
4732
80.6k
    yyaccept = 4;
4733
80.6k
    yych = *(YYMARKER = ++YYCURSOR);
4734
80.6k
    if (yych == 'S') goto yy381;
4735
78.5k
    if (yych == 's') goto yy381;
4736
2.42k
    goto yy48;
4737
8.04k
yy290:
4738
8.04k
    YYDEBUG(290, *YYCURSOR);
4739
8.04k
    yyaccept = 4;
4740
8.04k
    yych = *(YYMARKER = ++YYCURSOR);
4741
8.04k
    if (yych == 'N') goto yy382;
4742
7.75k
    if (yych == 'n') goto yy382;
4743
3.51k
    goto yy48;
4744
45.4k
yy291:
4745
45.4k
    YYDEBUG(291, *YYCURSOR);
4746
45.4k
    yyaccept = 4;
4747
45.4k
    yych = *(YYMARKER = ++YYCURSOR);
4748
45.4k
    if (yych <= 'T') {
4749
6.86k
      if (yych <= 'R') goto yy48;
4750
5.51k
      if (yych <= 'S') goto yy383;
4751
2.60k
      goto yy384;
4752
38.5k
    } else {
4753
38.5k
      if (yych <= 'r') goto yy48;
4754
38.2k
      if (yych <= 's') goto yy383;
4755
5.00k
      if (yych <= 't') goto yy384;
4756
369
      goto yy48;
4757
5.00k
    }
4758
10.2k
yy292:
4759
10.2k
    YYDEBUG(292, *YYCURSOR);
4760
10.2k
    yyaccept = 4;
4761
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
4762
10.2k
    if (yych == 'L') goto yy385;
4763
8.75k
    if (yych == 'l') goto yy385;
4764
1.00k
    goto yy48;
4765
8.29k
yy293:
4766
8.29k
    YYDEBUG(293, *YYCURSOR);
4767
8.29k
    yyaccept = 4;
4768
8.29k
    yych = *(YYMARKER = ++YYCURSOR);
4769
8.29k
    if (yych == 'A') goto yy386;
4770
7.84k
    if (yych == 'a') goto yy386;
4771
4.98k
    goto yy48;
4772
7.70k
yy294:
4773
7.70k
    YYDEBUG(294, *YYCURSOR);
4774
7.70k
    yyaccept = 19;
4775
7.70k
    yych = *(YYMARKER = ++YYCURSOR);
4776
7.70k
    if (yybm[256+yych] & 128) {
4777
1.88k
      goto yy47;
4778
1.88k
    }
4779
5.82k
    if (yych == '\\') goto yy164;
4780
5.82k
yy295:
4781
5.82k
    YYDEBUG(295, *YYCURSOR);
4782
5.82k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
5.82k
#line 1403 "Zend/zend_language_scanner.l"
4784
5.82k
    {
4785
5.82k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
5.82k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
85.8k
yy296:
4789
85.8k
    YYDEBUG(296, *YYCURSOR);
4790
85.8k
    yyaccept = 4;
4791
85.8k
    yych = *(YYMARKER = ++YYCURSOR);
4792
85.8k
    if (yych == 'O') goto yy387;
4793
85.5k
    if (yych == 'o') goto yy387;
4794
2.55k
    goto yy48;
4795
14.6k
yy297:
4796
14.6k
    YYDEBUG(297, *YYCURSOR);
4797
14.6k
    yyaccept = 4;
4798
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
4799
14.6k
    if (yych == 'E') goto yy389;
4800
14.1k
    if (yych == 'e') goto yy389;
4801
1.05k
    goto yy48;
4802
5.87k
yy298:
4803
5.87k
    YYDEBUG(298, *YYCURSOR);
4804
5.87k
    yyaccept = 4;
4805
5.87k
    yych = *(YYMARKER = ++YYCURSOR);
4806
5.87k
    if (yych == 'T') goto yy391;
4807
4.37k
    if (yych == 't') goto yy391;
4808
732
    goto yy48;
4809
56.4k
yy299:
4810
56.4k
    YYDEBUG(299, *YYCURSOR);
4811
56.4k
    yyaccept = 4;
4812
56.4k
    yych = *(YYMARKER = ++YYCURSOR);
4813
56.4k
    switch (yych) {
4814
2.57k
    case 'D':
4815
6.78k
    case 'd': goto yy392;
4816
3.68k
    case 'F':
4817
12.7k
    case 'f': goto yy393;
4818
3.36k
    case 'I':
4819
5.74k
    case 'i': goto yy394;
4820
2.44k
    case 'S':
4821
8.45k
    case 's': goto yy395;
4822
6.27k
    case 'W':
4823
11.9k
    case 'w': goto yy396;
4824
10.7k
    default:  goto yy48;
4825
56.4k
    }
4826
170k
yy300:
4827
170k
    YYDEBUG(300, *YYCURSOR);
4828
170k
    yyaccept = 4;
4829
170k
    yych = *(YYMARKER = ++YYCURSOR);
4830
170k
    if (yych == 'M') goto yy397;
4831
164k
    if (yych == 'm') goto yy397;
4832
20.1k
    goto yy48;
4833
20.1k
yy301:
4834
6.44k
    YYDEBUG(301, *YYCURSOR);
4835
6.44k
    yyaccept = 4;
4836
6.44k
    yych = *(YYMARKER = ++YYCURSOR);
4837
6.44k
    if (yych == 'L') goto yy398;
4838
6.28k
    if (yych == 'l') goto yy398;
4839
1.56k
    goto yy48;
4840
2.56k
yy302:
4841
2.56k
    YYDEBUG(302, *YYCURSOR);
4842
2.56k
    yyaccept = 4;
4843
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
4844
2.56k
    if (yych == 'T') goto yy400;
4845
2.38k
    if (yych == 't') goto yy400;
4846
732
    goto yy48;
4847
25.5k
yy303:
4848
25.5k
    YYDEBUG(303, *YYCURSOR);
4849
25.5k
    yyaccept = 4;
4850
25.5k
    yych = *(YYMARKER = ++YYCURSOR);
4851
25.5k
    if (yych == 'E') goto yy402;
4852
24.8k
    if (yych == 'e') goto yy402;
4853
2.07k
    goto yy48;
4854
15.9k
yy304:
4855
15.9k
    YYDEBUG(304, *YYCURSOR);
4856
15.9k
    yyaccept = 4;
4857
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
4858
15.9k
    if (yych == 'A') goto yy403;
4859
14.2k
    if (yych == 'a') goto yy403;
4860
922
    goto yy48;
4861
64.9k
yy305:
4862
64.9k
    YYDEBUG(305, *YYCURSOR);
4863
64.9k
    yyaccept = 20;
4864
64.9k
    yych = *(YYMARKER = ++YYCURSOR);
4865
64.9k
    if (yych <= '\\') {
4866
36.9k
      if (yych <= 'D') {
4867
33.5k
        if (yych <= '/') goto yy306;
4868
2.33k
        if (yych <= '9') goto yy47;
4869
1.96k
        if (yych >= 'A') goto yy47;
4870
3.44k
      } else {
4871
3.44k
        if (yych <= 'E') goto yy404;
4872
2.14k
        if (yych <= 'Z') goto yy47;
4873
1.31k
        if (yych >= '\\') goto yy164;
4874
1.31k
      }
4875
36.9k
    } else {
4876
27.9k
      if (yych <= 'd') {
4877
1.08k
        if (yych == '_') goto yy47;
4878
689
        if (yych >= 'a') goto yy47;
4879
26.9k
      } else {
4880
26.9k
        if (yych <= 'e') goto yy404;
4881
2.06k
        if (yych <= 'z') goto yy47;
4882
913
        if (yych >= 0x80) goto yy47;
4883
913
      }
4884
27.9k
    }
4885
34.4k
yy306:
4886
34.4k
    YYDEBUG(306, *YYCURSOR);
4887
34.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
34.4k
#line 1482 "Zend/zend_language_scanner.l"
4889
34.4k
    {
4890
34.4k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
34.4k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
111k
yy307:
4894
111k
    YYDEBUG(307, *YYCURSOR);
4895
111k
    yyaccept = 4;
4896
111k
    yych = *(YYMARKER = ++YYCURSOR);
4897
111k
    if (yych == 'C') goto yy405;
4898
110k
    if (yych == 'c') goto yy405;
4899
2.47k
    goto yy48;
4900
8.91k
yy308:
4901
8.91k
    YYDEBUG(308, *YYCURSOR);
4902
8.91k
    yyaccept = 4;
4903
8.91k
    yych = *(YYMARKER = ++YYCURSOR);
4904
8.91k
    if (yych == 'B') goto yy406;
4905
6.24k
    if (yych == 'b') goto yy406;
4906
1.53k
    goto yy48;
4907
5.43k
yy309:
4908
5.43k
    YYDEBUG(309, *YYCURSOR);
4909
5.43k
    yyaccept = 4;
4910
5.43k
    yych = *(YYMARKER = ++YYCURSOR);
4911
5.43k
    if (yych == 'O') goto yy407;
4912
4.15k
    if (yych == 'o') goto yy407;
4913
1.21k
    goto yy48;
4914
30.5k
yy310:
4915
30.5k
    YYDEBUG(310, *YYCURSOR);
4916
30.5k
    yyaccept = 4;
4917
30.5k
    yych = *(YYMARKER = ++YYCURSOR);
4918
30.5k
    if (yych == 'L') goto yy409;
4919
26.5k
    if (yych == 'l') goto yy409;
4920
2.33k
    goto yy48;
4921
16.0k
yy311:
4922
16.0k
    YYDEBUG(311, *YYCURSOR);
4923
16.0k
    yyaccept = 4;
4924
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
4925
16.0k
    if (yych == 'L') goto yy410;
4926
14.0k
    if (yych == 'l') goto yy410;
4927
2.81k
    goto yy48;
4928
16.9k
yy312:
4929
16.9k
    YYDEBUG(312, *YYCURSOR);
4930
16.9k
    yyaccept = 4;
4931
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
4932
16.9k
    if (yych == 'T') goto yy411;
4933
15.2k
    if (yych == 't') goto yy411;
4934
1.15k
    goto yy48;
4935
24.5k
yy313:
4936
24.5k
    YYDEBUG(313, *YYCURSOR);
4937
24.5k
    yyaccept = 4;
4938
24.5k
    yych = *(YYMARKER = ++YYCURSOR);
4939
24.5k
    if (yych == 'E') goto yy412;
4940
23.7k
    if (yych == 'e') goto yy412;
4941
12.6k
    goto yy48;
4942
21.2k
yy314:
4943
21.2k
    YYDEBUG(314, *YYCURSOR);
4944
21.2k
    yyaccept = 4;
4945
21.2k
    yych = *(YYMARKER = ++YYCURSOR);
4946
21.2k
    if (yych == 'E') goto yy413;
4947
20.8k
    if (yych == 'e') goto yy413;
4948
913
    goto yy48;
4949
4.81k
yy315:
4950
4.81k
    YYDEBUG(315, *YYCURSOR);
4951
4.81k
    yyaccept = 4;
4952
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
4953
4.81k
    if (yych == 'T') goto yy414;
4954
4.51k
    if (yych == 't') goto yy414;
4955
279
    goto yy48;
4956
4.31k
yy316:
4957
4.31k
    YYDEBUG(316, *YYCURSOR);
4958
4.31k
    yyaccept = 4;
4959
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
4960
4.31k
    if (yych == 'C') goto yy416;
4961
3.91k
    if (yych == 'c') goto yy416;
4962
540
    goto yy48;
4963
39.5k
yy317:
4964
39.5k
    YYDEBUG(317, *YYCURSOR);
4965
39.5k
    yyaccept = 4;
4966
39.5k
    yych = *(YYMARKER = ++YYCURSOR);
4967
39.5k
    if (yych == 'E') goto yy417;
4968
38.2k
    if (yych == 'e') goto yy417;
4969
2.97k
    goto yy48;
4970
83.7k
yy318:
4971
83.7k
    YYDEBUG(318, *YYCURSOR);
4972
83.7k
    yyaccept = 21;
4973
83.7k
    yych = *(YYMARKER = ++YYCURSOR);
4974
83.7k
    if (yybm[256+yych] & 128) {
4975
836
      goto yy47;
4976
836
    }
4977
82.9k
    if (yych == '\\') goto yy164;
4978
82.8k
yy319:
4979
82.8k
    YYDEBUG(319, *YYCURSOR);
4980
82.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
82.8k
#line 1626 "Zend/zend_language_scanner.l"
4982
82.8k
    {
4983
82.8k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
82.8k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
33.7k
yy320:
4987
33.7k
    YYDEBUG(320, *YYCURSOR);
4988
33.7k
    yyaccept = 4;
4989
33.7k
    yych = *(YYMARKER = ++YYCURSOR);
4990
33.7k
    if (yych <= 'V') {
4991
3.20k
      if (yych == 'N') goto yy418;
4992
1.87k
      if (yych <= 'U') goto yy48;
4993
954
      goto yy419;
4994
30.5k
    } else {
4995
30.5k
      if (yych <= 'n') {
4996
17.7k
        if (yych <= 'm') goto yy48;
4997
12.5k
        goto yy418;
4998
17.7k
      } else {
4999
12.7k
        if (yych == 'v') goto yy419;
5000
1.67k
        goto yy48;
5001
12.7k
      }
5002
30.5k
    }
5003
15.1k
yy321:
5004
15.1k
    YYDEBUG(321, *YYCURSOR);
5005
15.1k
    yyaccept = 4;
5006
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
5007
15.1k
    if (yych == 'T') goto yy420;
5008
13.9k
    if (yych == 't') goto yy420;
5009
2.36k
    goto yy48;
5010
76.8k
yy322:
5011
76.8k
    YYDEBUG(322, *YYCURSOR);
5012
76.8k
    yyaccept = 4;
5013
76.8k
    yych = *(YYMARKER = ++YYCURSOR);
5014
76.8k
    if (yych == 'L') goto yy421;
5015
75.5k
    if (yych == 'l') goto yy421;
5016
2.38k
    goto yy48;
5017
11.6k
yy323:
5018
11.6k
    YYDEBUG(323, *YYCURSOR);
5019
11.6k
    yyaccept = 4;
5020
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
5021
11.6k
    if (yych == 'D') goto yy422;
5022
11.4k
    if (yych == 'd') goto yy422;
5023
3.22k
    goto yy48;
5024
26.9k
yy324:
5025
26.9k
    YYDEBUG(324, *YYCURSOR);
5026
26.9k
    yyaccept = 4;
5027
26.9k
    yych = *(YYMARKER = ++YYCURSOR);
5028
26.9k
    if (yych == 'U') goto yy423;
5029
26.4k
    if (yych == 'u') goto yy423;
5030
5.05k
    goto yy48;
5031
29.8k
yy325:
5032
29.8k
    YYDEBUG(325, *YYCURSOR);
5033
29.8k
    yyaccept = 4;
5034
29.8k
    yych = *(YYMARKER = ++YYCURSOR);
5035
29.8k
    if (yych == 'U') goto yy424;
5036
29.5k
    if (yych == 'u') goto yy424;
5037
852
    goto yy48;
5038
21.8k
yy326:
5039
21.8k
    YYDEBUG(326, *YYCURSOR);
5040
21.8k
    yyaccept = 4;
5041
21.8k
    yych = *(YYMARKER = ++YYCURSOR);
5042
21.8k
    if (yych == 'T') goto yy425;
5043
21.4k
    if (yych == 't') goto yy425;
5044
2.23k
    goto yy48;
5045
8.45k
yy327:
5046
8.45k
    YYDEBUG(327, *YYCURSOR);
5047
8.45k
    yyaccept = 4;
5048
8.45k
    yych = *(YYMARKER = ++YYCURSOR);
5049
8.45k
    if (yych == 'T') goto yy426;
5050
7.77k
    if (yych == 't') goto yy426;
5051
525
    goto yy48;
5052
12.3k
yy328:
5053
12.3k
    YYDEBUG(328, *YYCURSOR);
5054
12.3k
    yyaccept = 4;
5055
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
5056
12.3k
    if (yych == 'O') goto yy427;
5057
11.2k
    if (yych == 'o') goto yy427;
5058
594
    goto yy48;
5059
14.0k
yy329:
5060
14.0k
    YYDEBUG(329, *YYCURSOR);
5061
14.0k
    yyaccept = 4;
5062
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
5063
14.0k
    if (yych == 'I') goto yy428;
5064
11.6k
    if (yych == 'i') goto yy428;
5065
2.02k
    goto yy48;
5066
45.2k
yy330:
5067
45.2k
    YYDEBUG(330, *YYCURSOR);
5068
45.2k
    yyaccept = 22;
5069
45.2k
    yych = *(YYMARKER = ++YYCURSOR);
5070
45.2k
    if (yybm[256+yych] & 128) {
5071
1.23k
      goto yy47;
5072
1.23k
    }
5073
43.9k
    if (yych == '\\') goto yy164;
5074
43.9k
yy331:
5075
43.9k
    YYDEBUG(331, *YYCURSOR);
5076
43.9k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
43.9k
#line 1438 "Zend/zend_language_scanner.l"
5078
43.9k
    {
5079
43.9k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
43.9k
}
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
17.2k
    if (yych == 'e') goto yy429;
5088
2.29k
    goto yy48;
5089
13.5k
yy333:
5090
13.5k
    YYDEBUG(333, *YYCURSOR);
5091
13.5k
    yyaccept = 23;
5092
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5093
13.5k
    if (yybm[256+yych] & 128) {
5094
2.21k
      goto yy47;
5095
2.21k
    }
5096
11.3k
    if (yych == '\\') goto yy164;
5097
11.2k
yy334:
5098
11.2k
    YYDEBUG(334, *YYCURSOR);
5099
11.2k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
11.2k
#line 1742 "Zend/zend_language_scanner.l"
5101
11.2k
    {
5102
11.2k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
11.2k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
104k
yy335:
5106
104k
    YYDEBUG(335, *YYCURSOR);
5107
104k
    yyaccept = 24;
5108
104k
    yych = *(YYMARKER = ++YYCURSOR);
5109
104k
    if (yybm[256+yych] & 128) {
5110
101k
      goto yy47;
5111
101k
    }
5112
2.45k
    if (yych == '\\') goto yy164;
5113
2.21k
yy336:
5114
2.21k
    YYDEBUG(336, *YYCURSOR);
5115
2.21k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
2.21k
#line 1634 "Zend/zend_language_scanner.l"
5117
2.21k
    {
5118
2.21k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
2.21k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
5.12k
yy337:
5122
5.12k
    YYDEBUG(337, *YYCURSOR);
5123
5.12k
    yyaccept = 4;
5124
5.12k
    yych = *(YYMARKER = ++YYCURSOR);
5125
5.12k
    if (yych == 'L') goto yy430;
5126
4.67k
    if (yych == 'l') goto yy430;
5127
673
    goto yy48;
5128
4.86k
yy338:
5129
4.86k
    YYDEBUG(338, *YYCURSOR);
5130
4.86k
    yyaccept = 25;
5131
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
5132
4.86k
    if (yybm[256+yych] & 128) {
5133
247
      goto yy47;
5134
247
    }
5135
4.61k
    if (yych == '\\') goto yy164;
5136
4.61k
yy339:
5137
4.61k
    YYDEBUG(339, *YYCURSOR);
5138
4.61k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
4.61k
#line 1938 "Zend/zend_language_scanner.l"
5140
4.61k
    {
5141
4.61k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
4.61k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
90.6k
yy340:
5145
90.6k
    YYDEBUG(340, *YYCURSOR);
5146
90.6k
    yyaccept = 4;
5147
90.6k
    yych = *(YYMARKER = ++YYCURSOR);
5148
90.6k
    if (yych == 'L') goto yy431;
5149
88.3k
    if (yych == 'l') goto yy431;
5150
4.33k
    goto yy48;
5151
24.5k
yy341:
5152
24.5k
    YYDEBUG(341, *YYCURSOR);
5153
24.5k
    ++YYCURSOR;
5154
24.5k
    YYFILL(1);
5155
24.5k
    yych = *YYCURSOR;
5156
24.5k
    if (yych <= '_') {
5157
22.1k
      if (yych <= '@') goto yy86;
5158
20.1k
      if (yych <= 'Z') goto yy211;
5159
2.76k
      if (yych <= '^') goto yy86;
5160
132
      goto yy211;
5161
2.76k
    } else {
5162
2.44k
      if (yych <= '`') goto yy86;
5163
2.16k
      if (yych <= 'z') goto yy211;
5164
1.14k
      if (yych <= 0x7F) goto yy86;
5165
825
      goto yy211;
5166
1.14k
    }
5167
22.7k
yy342:
5168
22.7k
    YYDEBUG(342, *YYCURSOR);
5169
22.7k
    yyaccept = 4;
5170
22.7k
    yych = *(YYMARKER = ++YYCURSOR);
5171
22.7k
    if (yych == 'L') goto yy432;
5172
19.5k
    if (yych == 'l') goto yy432;
5173
10.7k
    goto yy48;
5174
13.5k
yy343:
5175
13.5k
    YYDEBUG(343, *YYCURSOR);
5176
13.5k
    yyaccept = 4;
5177
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5178
13.5k
    if (yych == 'I') goto yy433;
5179
9.81k
    if (yych == 'i') goto yy433;
5180
5.79k
    goto yy48;
5181
22.0k
yy344:
5182
22.0k
    YYDEBUG(344, *YYCURSOR);
5183
22.0k
    yyaccept = 4;
5184
22.0k
    yych = *(YYMARKER = ++YYCURSOR);
5185
22.0k
    if (yych <= 'U') {
5186
11.7k
      if (yych == 'I') goto yy434;
5187
5.05k
      if (yych <= 'T') goto yy48;
5188
4.23k
      goto yy435;
5189
10.2k
    } else {
5190
10.2k
      if (yych <= 'i') {
5191
3.42k
        if (yych <= 'h') goto yy48;
5192
3.18k
        goto yy434;
5193
6.84k
      } else {
5194
6.84k
        if (yych == 'u') goto yy435;
5195
493
        goto yy48;
5196
6.84k
      }
5197
10.2k
    }
5198
8.98k
yy345:
5199
8.98k
    YYDEBUG(345, *YYCURSOR);
5200
8.98k
    yyaccept = 4;
5201
8.98k
    yych = *(YYMARKER = ++YYCURSOR);
5202
8.98k
    if (yych == 'A') goto yy436;
5203
7.98k
    if (yych == 'a') goto yy436;
5204
718
    goto yy48;
5205
7.24k
yy346:
5206
7.24k
    YYDEBUG(346, *YYCURSOR);
5207
7.24k
    yyaccept = 4;
5208
7.24k
    yych = *(YYMARKER = ++YYCURSOR);
5209
7.24k
    if (yych == 'I') goto yy437;
5210
5.19k
    if (yych == 'i') goto yy437;
5211
1.92k
    goto yy48;
5212
15.9k
yy347:
5213
15.9k
    YYDEBUG(347, *YYCURSOR);
5214
15.9k
    yyaccept = 4;
5215
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
5216
15.9k
    if (yych == 'E') goto yy438;
5217
6.32k
    if (yych == 'e') goto yy438;
5218
1.28k
    goto yy48;
5219
12.1k
yy348:
5220
12.1k
    YYDEBUG(348, *YYCURSOR);
5221
12.1k
    yyaccept = 4;
5222
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
5223
12.1k
    if (yych == 'A') goto yy439;
5224
6.82k
    if (yych == 'a') goto yy439;
5225
1.59k
    goto yy48;
5226
5.62k
yy349:
5227
5.62k
    YYDEBUG(349, *YYCURSOR);
5228
5.62k
    yyaccept = 4;
5229
5.62k
    yych = *(YYMARKER = ++YYCURSOR);
5230
5.62k
    if (yych == 'R') goto yy440;
5231
852
    if (yych == 'r') goto yy440;
5232
367
    goto yy48;
5233
8.69k
yy350:
5234
8.69k
    YYDEBUG(350, *YYCURSOR);
5235
8.69k
    yyaccept = 4;
5236
8.69k
    yych = *(YYMARKER = ++YYCURSOR);
5237
8.69k
    if (yych == 'R') goto yy441;
5238
7.50k
    if (yych == 'r') goto yy441;
5239
2.64k
    goto yy48;
5240
11.5k
yy351:
5241
11.5k
    YYDEBUG(351, *YYCURSOR);
5242
11.5k
    ++YYCURSOR;
5243
11.5k
    YYFILL(1);
5244
11.5k
    yych = *YYCURSOR;
5245
11.5k
    if (yybm[0+yych] & 2) {
5246
1.55k
      goto yy225;
5247
1.55k
    }
5248
9.95k
    if (yych <= 0x00) goto yy86;
5249
9.62k
    goto yy227;
5250
9.62k
yy352:
5251
5.07k
    YYDEBUG(352, *YYCURSOR);
5252
5.07k
    yyaccept = 26;
5253
5.07k
    YYMARKER = ++YYCURSOR;
5254
5.07k
    YYFILL(1);
5255
5.07k
    yych = *YYCURSOR;
5256
5.07k
    if (yybm[0+yych] & 2) {
5257
4.30k
      goto yy225;
5258
4.30k
    }
5259
766
    if (yych <= 0x00) goto yy89;
5260
519
    goto yy84;
5261
17.9k
yy353:
5262
17.9k
    YYDEBUG(353, *YYCURSOR);
5263
17.9k
    ++YYCURSOR;
5264
17.9k
    YYFILL(1);
5265
17.9k
    yych = *YYCURSOR;
5266
17.9k
    if (yych <= '\f') {
5267
2.64k
      if (yych <= 0x00) goto yy86;
5268
2.59k
      if (yych == '\n') goto yy84;
5269
724
      goto yy225;
5270
15.3k
    } else {
5271
15.3k
      if (yych <= '\r') goto yy84;
5272
10.0k
      if (yych == '.') goto yy442;
5273
4.75k
      goto yy225;
5274
10.0k
    }
5275
42.6k
yy354:
5276
42.6k
    YYDEBUG(354, *YYCURSOR);
5277
42.6k
    ++YYCURSOR;
5278
42.6k
    YYFILL(1);
5279
42.6k
    yych = *YYCURSOR;
5280
42.6k
    if (yych <= '\f') {
5281
1.04k
      if (yych <= 0x00) goto yy86;
5282
739
      if (yych == '\n') goto yy84;
5283
172
      goto yy225;
5284
41.6k
    } else {
5285
41.6k
      if (yych <= '\r') goto yy84;
5286
36.1k
      if (yych == '*') goto yy443;
5287
2.96k
      goto yy225;
5288
36.1k
    }
5289
32.6k
yy355:
5290
32.6k
    YYDEBUG(355, *YYCURSOR);
5291
32.6k
    ++YYCURSOR;
5292
32.6k
    YYFILL(1);
5293
32.6k
    yych = *YYCURSOR;
5294
32.6k
    YYDEBUG(356, *YYCURSOR);
5295
32.6k
    if (yybm[0+yych] & 64) {
5296
7.37k
      goto yy355;
5297
7.37k
    }
5298
25.2k
    if (yych <= 0x00) goto yy86;
5299
24.5k
    if (yych == '/') goto yy84;
5300
10.9k
    goto yy230;
5301
11.8k
yy357:
5302
11.8k
    YYDEBUG(357, *YYCURSOR);
5303
11.8k
    yych = *++YYCURSOR;
5304
11.8k
    if (yych == 'A') goto yy445;
5305
11.5k
    if (yych == 'a') goto yy445;
5306
2.04k
    goto yy86;
5307
2.04k
yy358:
5308
1.83k
    YYDEBUG(358, *YYCURSOR);
5309
1.83k
    yych = *++YYCURSOR;
5310
1.83k
    if (yych == 'A') goto yy446;
5311
1.24k
    if (yych == 'a') goto yy446;
5312
103
    goto yy86;
5313
2.70k
yy359:
5314
2.70k
    YYDEBUG(359, *YYCURSOR);
5315
2.70k
    yych = *++YYCURSOR;
5316
2.70k
    if (yych == 'L') goto yy447;
5317
2.39k
    if (yych == 'l') goto yy447;
5318
347
    goto yy86;
5319
2.79k
yy360:
5320
2.79k
    YYDEBUG(360, *YYCURSOR);
5321
2.79k
    yych = *++YYCURSOR;
5322
2.79k
    if (yych == 'B') goto yy448;
5323
1.85k
    if (yych == 'b') goto yy448;
5324
383
    goto yy86;
5325
2.37k
yy361:
5326
2.37k
    YYDEBUG(361, *YYCURSOR);
5327
2.37k
    yych = *++YYCURSOR;
5328
2.37k
    if (yych == 'A') goto yy449;
5329
2.21k
    if (yych == 'a') goto yy449;
5330
606
    goto yy86;
5331
8.16k
yy362:
5332
8.16k
    YYDEBUG(362, *YYCURSOR);
5333
8.16k
    yych = *++YYCURSOR;
5334
8.16k
    if (yych == 'E') goto yy454;
5335
7.53k
    if (yych == 'e') goto yy454;
5336
3.74k
    goto yy451;
5337
8.97k
yy363:
5338
8.97k
    YYDEBUG(363, *YYCURSOR);
5339
8.97k
    yych = *++YYCURSOR;
5340
8.97k
    if (yych == 'E') goto yy455;
5341
8.34k
    if (yych == 'e') goto yy455;
5342
4.55k
    goto yy86;
5343
4.55k
yy364:
5344
1.46k
    YYDEBUG(364, *YYCURSOR);
5345
1.46k
    yych = *++YYCURSOR;
5346
1.46k
    if (yych == 'L') goto yy456;
5347
851
    if (yych == 'l') goto yy456;
5348
676
    goto yy86;
5349
15.2k
yy365:
5350
15.2k
    YYDEBUG(365, *YYCURSOR);
5351
15.2k
    yych = *++YYCURSOR;
5352
15.2k
    if (yych == 'I') goto yy458;
5353
14.6k
    if (yych == 'i') goto yy458;
5354
2.18k
    goto yy86;
5355
4.90k
yy366:
5356
4.90k
    YYDEBUG(366, *YYCURSOR);
5357
4.90k
    yych = *++YYCURSOR;
5358
4.90k
    if (yych == 'E') goto yy459;
5359
4.18k
    if (yych == 'e') goto yy459;
5360
875
    goto yy86;
5361
2.07k
yy367:
5362
2.07k
    YYDEBUG(367, *YYCURSOR);
5363
2.07k
    yych = *++YYCURSOR;
5364
2.07k
    if (yych == 'D') goto yy460;
5365
1.85k
    if (yych == 'd') goto yy460;
5366
244
    goto yy86;
5367
17.7k
yy368:
5368
17.7k
    YYDEBUG(368, *YYCURSOR);
5369
17.7k
    ++YYCURSOR;
5370
17.7k
    YYFILL(1);
5371
17.7k
    yych = *YYCURSOR;
5372
17.7k
    YYDEBUG(369, *YYCURSOR);
5373
17.7k
    if (yych <= '\f') {
5374
4.73k
      if (yych <= 0x08) goto yy129;
5375
4.02k
      if (yych <= '\n') goto yy368;
5376
239
      goto yy129;
5377
13.0k
    } else {
5378
13.0k
      if (yych <= '\r') goto yy368;
5379
12.7k
      if (yych == ' ') goto yy368;
5380
8.80k
      goto yy129;
5381
12.7k
    }
5382
5.60k
yy370:
5383
5.60k
    YYDEBUG(370, *YYCURSOR);
5384
5.60k
    yych = *++YYCURSOR;
5385
5.60k
    if (yych == '"') goto yy86;
5386
5.48k
    if (yych <= '/') goto yy463;
5387
4.06k
    if (yych <= '9') goto yy86;
5388
3.42k
    goto yy463;
5389
10.4k
yy371:
5390
10.4k
    YYDEBUG(371, *YYCURSOR);
5391
10.4k
    yych = *++YYCURSOR;
5392
10.4k
    if (yych == '\'') goto yy86;
5393
10.1k
    if (yych <= '/') goto yy465;
5394
9.17k
    if (yych <= '9') goto yy86;
5395
8.80k
    goto yy465;
5396
5.13M
yy372:
5397
5.13M
    YYDEBUG(372, *YYCURSOR);
5398
5.13M
    ++YYCURSOR;
5399
5.13M
    YYFILL(2);
5400
5.13M
    yych = *YYCURSOR;
5401
5.13M
    YYDEBUG(373, *YYCURSOR);
5402
5.13M
    if (yych <= '@') {
5403
3.59M
      if (yych <= '\f') {
5404
3.38M
        if (yych == '\n') goto yy466;
5405
41.2k
        goto yy86;
5406
3.38M
      } else {
5407
210k
        if (yych <= '\r') goto yy468;
5408
197k
        if (yych <= '/') goto yy86;
5409
136k
        if (yych <= '9') goto yy372;
5410
42.2k
        goto yy86;
5411
136k
      }
5412
3.59M
    } else {
5413
1.53M
      if (yych <= '_') {
5414
207k
        if (yych <= 'Z') goto yy372;
5415
37.9k
        if (yych <= '^') goto yy86;
5416
28.5k
        goto yy372;
5417
1.32M
      } else {
5418
1.32M
        if (yych <= '`') goto yy86;
5419
1.32M
        if (yych <= 'z') goto yy372;
5420
835k
        if (yych <= 0x7F) goto yy86;
5421
826k
        goto yy372;
5422
835k
      }
5423
1.53M
    }
5424
13.6k
yy374:
5425
13.6k
    YYDEBUG(374, *YYCURSOR);
5426
13.6k
    yyaccept = 4;
5427
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
5428
13.6k
    if (yych == 'R') goto yy469;
5429
12.7k
    if (yych == 'r') goto yy469;
5430
664
    goto yy48;
5431
25.6k
yy375:
5432
25.6k
    YYDEBUG(375, *YYCURSOR);
5433
25.6k
    yyaccept = 4;
5434
25.6k
    yych = *(YYMARKER = ++YYCURSOR);
5435
25.6k
    if (yych == 'Y') goto yy470;
5436
25.3k
    if (yych == 'y') goto yy470;
5437
1.25k
    goto yy48;
5438
6.49k
yy376:
5439
6.49k
    YYDEBUG(376, *YYCURSOR);
5440
6.49k
    yyaccept = 4;
5441
6.49k
    yych = *(YYMARKER = ++YYCURSOR);
5442
6.49k
    if (yych == 'K') goto yy472;
5443
5.77k
    if (yych == 'k') goto yy472;
5444
904
    goto yy48;
5445
14.9k
yy377:
5446
14.9k
    YYDEBUG(377, *YYCURSOR);
5447
14.9k
    yyaccept = 4;
5448
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
5449
14.9k
    if (yych == 'A') goto yy474;
5450
14.1k
    if (yych == 'a') goto yy474;
5451
10.9k
    goto yy48;
5452
10.9k
yy378:
5453
10.7k
    YYDEBUG(378, *YYCURSOR);
5454
10.7k
    yyaccept = 27;
5455
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
5456
10.7k
    if (yybm[256+yych] & 128) {
5457
762
      goto yy47;
5458
762
    }
5459
9.96k
    if (yych == '\\') goto yy164;
5460
9.90k
yy379:
5461
9.90k
    YYDEBUG(379, *YYCURSOR);
5462
9.90k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
9.90k
#line 1526 "Zend/zend_language_scanner.l"
5464
9.90k
    {
5465
9.90k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
9.90k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
39.7k
yy380:
5469
39.7k
    YYDEBUG(380, *YYCURSOR);
5470
39.7k
    yyaccept = 4;
5471
39.7k
    yych = *(YYMARKER = ++YYCURSOR);
5472
39.7k
    if (yych == 'H') goto yy475;
5473
38.9k
    if (yych == 'h') goto yy475;
5474
1.07k
    goto yy48;
5475
78.2k
yy381:
5476
78.2k
    YYDEBUG(381, *YYCURSOR);
5477
78.2k
    yyaccept = 4;
5478
78.2k
    yych = *(YYMARKER = ++YYCURSOR);
5479
78.2k
    if (yych == 'S') goto yy477;
5480
76.3k
    if (yych == 's') goto yy477;
5481
1.59k
    goto yy48;
5482
4.53k
yy382:
5483
4.53k
    YYDEBUG(382, *YYCURSOR);
5484
4.53k
    yyaccept = 4;
5485
4.53k
    yych = *(YYMARKER = ++YYCURSOR);
5486
4.53k
    if (yych == 'E') goto yy479;
5487
4.42k
    if (yych == 'e') goto yy479;
5488
614
    goto yy48;
5489
36.1k
yy383:
5490
36.1k
    YYDEBUG(383, *YYCURSOR);
5491
36.1k
    yyaccept = 4;
5492
36.1k
    yych = *(YYMARKER = ++YYCURSOR);
5493
36.1k
    if (yych == 'T') goto yy481;
5494
33.3k
    if (yych == 't') goto yy481;
5495
1.82k
    goto yy48;
5496
7.24k
yy384:
5497
7.24k
    YYDEBUG(384, *YYCURSOR);
5498
7.24k
    yyaccept = 4;
5499
7.24k
    yych = *(YYMARKER = ++YYCURSOR);
5500
7.24k
    if (yych == 'I') goto yy483;
5501
5.91k
    if (yych == 'i') goto yy483;
5502
3.51k
    goto yy48;
5503
9.20k
yy385:
5504
9.20k
    YYDEBUG(385, *YYCURSOR);
5505
9.20k
    yyaccept = 4;
5506
9.20k
    yych = *(YYMARKER = ++YYCURSOR);
5507
9.20k
    if (yych == 'A') goto yy484;
5508
8.06k
    if (yych == 'a') goto yy484;
5509
536
    goto yy48;
5510
3.31k
yy386:
5511
3.31k
    YYDEBUG(386, *YYCURSOR);
5512
3.31k
    yyaccept = 4;
5513
3.31k
    yych = *(YYMARKER = ++YYCURSOR);
5514
3.31k
    if (yych == 'U') goto yy485;
5515
2.91k
    if (yych == 'u') goto yy485;
5516
542
    goto yy48;
5517
83.3k
yy387:
5518
83.3k
    YYDEBUG(387, *YYCURSOR);
5519
83.3k
    yyaccept = 28;
5520
83.3k
    yych = *(YYMARKER = ++YYCURSOR);
5521
83.3k
    if (yybm[256+yych] & 128) {
5522
1.78k
      goto yy47;
5523
1.78k
    }
5524
81.5k
    if (yych == '\\') goto yy164;
5525
81.4k
yy388:
5526
81.4k
    YYDEBUG(388, *YYCURSOR);
5527
81.4k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
81.4k
#line 1546 "Zend/zend_language_scanner.l"
5529
81.4k
    {
5530
81.4k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
81.4k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
13.5k
yy389:
5534
13.5k
    YYDEBUG(389, *YYCURSOR);
5535
13.5k
    yyaccept = 29;
5536
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5537
13.5k
    if (yych <= '\\') {
5538
6.94k
      if (yych <= 'H') {
5539
5.28k
        if (yych <= '/') goto yy390;
5540
2.10k
        if (yych <= '9') goto yy47;
5541
1.88k
        if (yych >= 'A') goto yy47;
5542
1.88k
      } else {
5543
1.65k
        if (yych <= 'I') goto yy486;
5544
1.24k
        if (yych <= 'Z') goto yy47;
5545
780
        if (yych >= '\\') goto yy164;
5546
780
      }
5547
6.94k
    } else {
5548
6.64k
      if (yych <= 'h') {
5549
1.01k
        if (yych == '_') goto yy47;
5550
656
        if (yych >= 'a') goto yy47;
5551
5.63k
      } else {
5552
5.63k
        if (yych <= 'i') goto yy486;
5553
1.47k
        if (yych <= 'z') goto yy47;
5554
890
        if (yych >= 0x80) goto yy47;
5555
890
      }
5556
6.64k
    }
5557
6.41k
yy390:
5558
6.41k
    YYDEBUG(390, *YYCURSOR);
5559
6.41k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
6.41k
#line 1466 "Zend/zend_language_scanner.l"
5561
6.41k
    {
5562
6.41k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
6.41k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
5.14k
yy391:
5566
5.14k
    YYDEBUG(391, *YYCURSOR);
5567
5.14k
    yyaccept = 4;
5568
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
5569
5.14k
    if (yych == 'Y') goto yy487;
5570
3.68k
    if (yych == 'y') goto yy487;
5571
322
    goto yy48;
5572
6.78k
yy392:
5573
6.78k
    YYDEBUG(392, *YYCURSOR);
5574
6.78k
    yyaccept = 4;
5575
6.78k
    yych = *(YYMARKER = ++YYCURSOR);
5576
6.78k
    if (yych == 'E') goto yy489;
5577
4.26k
    if (yych == 'e') goto yy489;
5578
821
    goto yy48;
5579
12.7k
yy393:
5580
12.7k
    YYDEBUG(393, *YYCURSOR);
5581
12.7k
    yyaccept = 4;
5582
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5583
12.7k
    if (yych == 'O') goto yy490;
5584
9.27k
    if (yych == 'o') goto yy490;
5585
901
    goto yy48;
5586
5.74k
yy394:
5587
5.74k
    YYDEBUG(394, *YYCURSOR);
5588
5.74k
    yyaccept = 4;
5589
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
5590
5.74k
    if (yych == 'F') goto yy491;
5591
2.51k
    if (yych == 'f') goto yy491;
5592
368
    goto yy48;
5593
8.45k
yy395:
5594
8.45k
    YYDEBUG(395, *YYCURSOR);
5595
8.45k
    yyaccept = 4;
5596
8.45k
    yych = *(YYMARKER = ++YYCURSOR);
5597
8.45k
    if (yych == 'W') goto yy493;
5598
6.33k
    if (yych == 'w') goto yy493;
5599
3.54k
    goto yy48;
5600
11.9k
yy396:
5601
11.9k
    YYDEBUG(396, *YYCURSOR);
5602
11.9k
    yyaccept = 4;
5603
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
5604
11.9k
    if (yych == 'H') goto yy494;
5605
7.78k
    if (yych == 'h') goto yy494;
5606
2.60k
    goto yy48;
5607
149k
yy397:
5608
149k
    YYDEBUG(397, *YYCURSOR);
5609
149k
    yyaccept = 4;
5610
149k
    yych = *(YYMARKER = ++YYCURSOR);
5611
149k
    if (yych <= 0x1F) {
5612
122k
      if (yych <= '\n') {
5613
5.04k
        if (yych <= 0x08) goto yy48;
5614
4.22k
        goto yy495;
5615
117k
      } else {
5616
117k
        if (yych == '\r') goto yy495;
5617
724
        goto yy48;
5618
117k
      }
5619
122k
    } else {
5620
27.2k
      if (yych <= '#') {
5621
16.2k
        if (yych <= ' ') goto yy495;
5622
10.6k
        if (yych <= '"') goto yy48;
5623
10.3k
        goto yy497;
5624
10.9k
      } else {
5625
10.9k
        if (yych == '/') goto yy498;
5626
9.39k
        goto yy48;
5627
10.9k
      }
5628
27.2k
    }
5629
4.87k
yy398:
5630
4.87k
    YYDEBUG(398, *YYCURSOR);
5631
4.87k
    yyaccept = 30;
5632
4.87k
    yych = *(YYMARKER = ++YYCURSOR);
5633
4.87k
    if (yybm[256+yych] & 128) {
5634
998
      goto yy47;
5635
998
    }
5636
3.88k
    if (yych == '\\') goto yy164;
5637
3.84k
yy399:
5638
3.84k
    YYDEBUG(399, *YYCURSOR);
5639
3.84k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
3.84k
#line 1718 "Zend/zend_language_scanner.l"
5641
3.84k
    {
5642
3.84k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
3.84k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
1.83k
yy400:
5646
1.83k
    YYDEBUG(400, *YYCURSOR);
5647
1.83k
    yyaccept = 31;
5648
1.83k
    yych = *(YYMARKER = ++YYCURSOR);
5649
1.83k
    if (yybm[256+yych] & 128) {
5650
330
      goto yy47;
5651
330
    }
5652
1.50k
    if (yych == '\\') goto yy164;
5653
1.50k
yy401:
5654
1.50k
    YYDEBUG(401, *YYCURSOR);
5655
1.50k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
1.50k
#line 1399 "Zend/zend_language_scanner.l"
5657
1.50k
    {
5658
1.50k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
1.50k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
23.4k
yy402:
5662
23.4k
    YYDEBUG(402, *YYCURSOR);
5663
23.4k
    yyaccept = 4;
5664
23.4k
    yych = *(YYMARKER = ++YYCURSOR);
5665
23.4k
    if (yych == 'N') goto yy499;
5666
21.4k
    if (yych == 'n') goto yy499;
5667
1.16k
    goto yy48;
5668
15.0k
yy403:
5669
15.0k
    YYDEBUG(403, *YYCURSOR);
5670
15.0k
    yyaccept = 4;
5671
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
5672
15.0k
    if (yych == 'L') goto yy500;
5673
14.6k
    if (yych == 'l') goto yy500;
5674
1.16k
    goto yy48;
5675
26.1k
yy404:
5676
26.1k
    YYDEBUG(404, *YYCURSOR);
5677
26.1k
    yyaccept = 4;
5678
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
5679
26.1k
    if (yych == 'A') goto yy502;
5680
24.8k
    if (yych == 'a') goto yy502;
5681
1.97k
    goto yy48;
5682
109k
yy405:
5683
109k
    YYDEBUG(405, *YYCURSOR);
5684
109k
    yyaccept = 4;
5685
109k
    yych = *(YYMARKER = ++YYCURSOR);
5686
109k
    if (yych == 'T') goto yy503;
5687
108k
    if (yych == 't') goto yy503;
5688
7.74k
    goto yy48;
5689
7.74k
yy406:
5690
7.37k
    YYDEBUG(406, *YYCURSOR);
5691
7.37k
    yyaccept = 4;
5692
7.37k
    yych = *(YYMARKER = ++YYCURSOR);
5693
7.37k
    if (yych == 'A') goto yy504;
5694
5.10k
    if (yych == 'a') goto yy504;
5695
1.06k
    goto yy48;
5696
4.21k
yy407:
5697
4.21k
    YYDEBUG(407, *YYCURSOR);
5698
4.21k
    yyaccept = 32;
5699
4.21k
    yych = *(YYMARKER = ++YYCURSOR);
5700
4.21k
    if (yybm[256+yych] & 128) {
5701
880
      goto yy47;
5702
880
    }
5703
3.33k
    if (yych == '\\') goto yy164;
5704
3.30k
yy408:
5705
3.30k
    YYDEBUG(408, *YYCURSOR);
5706
3.30k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
3.30k
#line 1542 "Zend/zend_language_scanner.l"
5708
3.30k
    {
5709
3.30k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
3.30k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
28.2k
yy409:
5713
28.2k
    YYDEBUG(409, *YYCURSOR);
5714
28.2k
    yyaccept = 4;
5715
28.2k
    yych = *(YYMARKER = ++YYCURSOR);
5716
28.2k
    if (yych == 'E') goto yy505;
5717
23.5k
    if (yych == 'e') goto yy505;
5718
3.30k
    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
11.5k
    if (yych == 'u') goto yy506;
5725
1.28k
    goto yy48;
5726
15.8k
yy411:
5727
15.8k
    YYDEBUG(411, *YYCURSOR);
5728
15.8k
    yyaccept = 4;
5729
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5730
15.8k
    if (yych <= 'E') {
5731
2.95k
      if (yych == 'A') goto yy507;
5732
1.39k
      if (yych <= 'D') goto yy48;
5733
582
      goto yy508;
5734
12.8k
    } else {
5735
12.8k
      if (yych <= 'a') {
5736
4.99k
        if (yych <= '`') goto yy48;
5737
4.75k
        goto yy507;
5738
7.88k
      } else {
5739
7.88k
        if (yych == 'e') goto yy508;
5740
638
        goto yy48;
5741
7.88k
      }
5742
12.8k
    }
5743
11.8k
yy412:
5744
11.8k
    YYDEBUG(412, *YYCURSOR);
5745
11.8k
    yyaccept = 4;
5746
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5747
11.8k
    if (yych == 'R') goto yy509;
5748
11.3k
    if (yych == 'r') goto yy509;
5749
4.39k
    goto yy48;
5750
20.2k
yy413:
5751
20.2k
    YYDEBUG(413, *YYCURSOR);
5752
20.2k
    yyaccept = 4;
5753
20.2k
    yych = *(YYMARKER = ++YYCURSOR);
5754
20.2k
    if (yych == 'T') goto yy510;
5755
19.8k
    if (yych == 't') goto yy510;
5756
676
    goto yy48;
5757
4.53k
yy414:
5758
4.53k
    YYDEBUG(414, *YYCURSOR);
5759
4.53k
    yyaccept = 33;
5760
4.53k
    yych = *(YYMARKER = ++YYCURSOR);
5761
4.53k
    if (yybm[256+yych] & 128) {
5762
849
      goto yy47;
5763
849
    }
5764
3.68k
    if (yych == '\\') goto yy164;
5765
3.53k
yy415:
5766
3.53k
    YYDEBUG(415, *YYCURSOR);
5767
3.53k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
3.53k
#line 1814 "Zend/zend_language_scanner.l"
5769
3.53k
    {
5770
3.53k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
3.53k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
3.77k
yy416:
5774
3.77k
    YYDEBUG(416, *YYCURSOR);
5775
3.77k
    yyaccept = 4;
5776
3.77k
    yych = *(YYMARKER = ++YYCURSOR);
5777
3.77k
    if (yych == 'H') goto yy512;
5778
3.69k
    if (yych == 'h') goto yy512;
5779
397
    goto yy48;
5780
36.5k
yy417:
5781
36.5k
    YYDEBUG(417, *YYCURSOR);
5782
36.5k
    yyaccept = 4;
5783
36.5k
    yych = *(YYMARKER = ++YYCURSOR);
5784
36.5k
    if (yych == 'S') goto yy514;
5785
35.7k
    if (yych == 's') goto yy514;
5786
3.65k
    goto yy48;
5787
13.9k
yy418:
5788
13.9k
    YYDEBUG(418, *YYCURSOR);
5789
13.9k
    yyaccept = 4;
5790
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
5791
13.9k
    if (yych == 'T') goto yy515;
5792
13.0k
    if (yych == 't') goto yy515;
5793
739
    goto yy48;
5794
12.0k
yy419:
5795
12.0k
    YYDEBUG(419, *YYCURSOR);
5796
12.0k
    yyaccept = 4;
5797
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5798
12.0k
    if (yych == 'A') goto yy517;
5799
10.9k
    if (yych == 'a') goto yy517;
5800
536
    goto yy48;
5801
12.7k
yy420:
5802
12.7k
    YYDEBUG(420, *YYCURSOR);
5803
12.7k
    yyaccept = 4;
5804
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5805
12.7k
    if (yych == 'E') goto yy518;
5806
11.5k
    if (yych == 'e') goto yy518;
5807
1.04k
    goto yy48;
5808
74.4k
yy421:
5809
74.4k
    YYDEBUG(421, *YYCURSOR);
5810
74.4k
    yyaccept = 4;
5811
74.4k
    yych = *(YYMARKER = ++YYCURSOR);
5812
74.4k
    if (yych == 'I') goto yy519;
5813
72.8k
    if (yych == 'i') goto yy519;
5814
1.15k
    goto yy48;
5815
8.43k
yy422:
5816
8.43k
    YYDEBUG(422, *YYCURSOR);
5817
8.43k
    yyaccept = 4;
5818
8.43k
    yych = *(YYMARKER = ++YYCURSOR);
5819
8.43k
    if (yych == 'O') goto yy520;
5820
8.08k
    if (yych == 'o') goto yy520;
5821
1.01k
    goto yy48;
5822
21.9k
yy423:
5823
21.9k
    YYDEBUG(423, *YYCURSOR);
5824
21.9k
    yyaccept = 4;
5825
21.9k
    yych = *(YYMARKER = ++YYCURSOR);
5826
21.9k
    if (yych == 'I') goto yy521;
5827
21.3k
    if (yych == 'i') goto yy521;
5828
1.13k
    goto yy48;
5829
29.0k
yy424:
5830
29.0k
    YYDEBUG(424, *YYCURSOR);
5831
29.0k
    yyaccept = 4;
5832
29.0k
    yych = *(YYMARKER = ++YYCURSOR);
5833
29.0k
    if (yych == 'R') goto yy522;
5834
28.4k
    if (yych == 'r') goto yy522;
5835
607
    goto yy48;
5836
19.6k
yy425:
5837
19.6k
    YYDEBUG(425, *YYCURSOR);
5838
19.6k
    yyaccept = 4;
5839
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
5840
19.6k
    if (yych == 'I') goto yy523;
5841
19.0k
    if (yych == 'i') goto yy523;
5842
779
    goto yy48;
5843
7.92k
yy426:
5844
7.92k
    YYDEBUG(426, *YYCURSOR);
5845
7.92k
    yyaccept = 4;
5846
7.92k
    yych = *(YYMARKER = ++YYCURSOR);
5847
7.92k
    if (yych == 'C') goto yy524;
5848
7.35k
    if (yych == 'c') goto yy524;
5849
608
    goto yy48;
5850
11.7k
yy427:
5851
11.7k
    YYDEBUG(427, *YYCURSOR);
5852
11.7k
    yyaccept = 4;
5853
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
5854
11.7k
    if (yych == 'W') goto yy525;
5855
11.3k
    if (yych == 'w') goto yy525;
5856
1.29k
    goto yy48;
5857
12.0k
yy428:
5858
12.0k
    YYDEBUG(428, *YYCURSOR);
5859
12.0k
    yyaccept = 4;
5860
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5861
12.0k
    if (yych == 'T') goto yy527;
5862
11.3k
    if (yych == 't') goto yy527;
5863
3.16k
    goto yy48;
5864
15.9k
yy429:
5865
15.9k
    YYDEBUG(429, *YYCURSOR);
5866
15.9k
    yyaccept = 4;
5867
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
5868
15.9k
    if (yych == 'T') goto yy529;
5869
13.9k
    if (yych == 't') goto yy529;
5870
5.63k
    goto yy48;
5871
5.63k
yy430:
5872
4.45k
    YYDEBUG(430, *YYCURSOR);
5873
4.45k
    yyaccept = 4;
5874
4.45k
    yych = *(YYMARKER = ++YYCURSOR);
5875
4.45k
    if (yych == 'E') goto yy531;
5876
3.98k
    if (yych == 'e') goto yy531;
5877
329
    goto yy48;
5878
86.3k
yy431:
5879
86.3k
    YYDEBUG(431, *YYCURSOR);
5880
86.3k
    yyaccept = 4;
5881
86.3k
    yych = *(YYMARKER = ++YYCURSOR);
5882
86.3k
    if (yych == 'D') goto yy533;
5883
84.0k
    if (yych == 'd') goto yy533;
5884
3.11k
    goto yy48;
5885
11.9k
yy432:
5886
11.9k
    YYDEBUG(432, *YYCURSOR);
5887
11.9k
    yyaccept = 4;
5888
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
5889
11.9k
    if (yych == 'A') goto yy535;
5890
9.24k
    if (yych == 'a') goto yy535;
5891
1.43k
    goto yy48;
5892
7.75k
yy433:
5893
7.75k
    YYDEBUG(433, *YYCURSOR);
5894
7.75k
    yyaccept = 4;
5895
7.75k
    yych = *(YYMARKER = ++YYCURSOR);
5896
7.75k
    if (yych == 'R') goto yy536;
5897
4.87k
    if (yych == 'r') goto yy536;
5898
1.03k
    goto yy48;
5899
9.91k
yy434:
5900
9.91k
    YYDEBUG(434, *YYCURSOR);
5901
9.91k
    yyaccept = 4;
5902
9.91k
    yych = *(YYMARKER = ++YYCURSOR);
5903
9.91k
    if (yych == 'L') goto yy537;
5904
4.09k
    if (yych == 'l') goto yy537;
5905
1.61k
    goto yy48;
5906
10.5k
yy435:
5907
10.5k
    YYDEBUG(435, *YYCURSOR);
5908
10.5k
    yyaccept = 4;
5909
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
5910
10.5k
    if (yych == 'N') goto yy538;
5911
6.61k
    if (yych == 'n') goto yy538;
5912
1.41k
    goto yy48;
5913
8.26k
yy436:
5914
8.26k
    YYDEBUG(436, *YYCURSOR);
5915
8.26k
    yyaccept = 4;
5916
8.26k
    yych = *(YYMARKER = ++YYCURSOR);
5917
8.26k
    if (yych == 'L') goto yy539;
5918
7.28k
    if (yych == 'l') goto yy539;
5919
1.31k
    goto yy48;
5920
5.31k
yy437:
5921
5.31k
    YYDEBUG(437, *YYCURSOR);
5922
5.31k
    yyaccept = 4;
5923
5.31k
    yych = *(YYMARKER = ++YYCURSOR);
5924
5.31k
    if (yych == 'N') goto yy540;
5925
3.77k
    if (yych == 'n') goto yy540;
5926
1.06k
    goto yy48;
5927
14.7k
yy438:
5928
14.7k
    YYDEBUG(438, *YYCURSOR);
5929
14.7k
    yyaccept = 4;
5930
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
5931
14.7k
    if (yych == 'T') goto yy541;
5932
5.31k
    if (yych == 't') goto yy541;
5933
945
    goto yy48;
5934
10.5k
yy439:
5935
10.5k
    YYDEBUG(439, *YYCURSOR);
5936
10.5k
    yyaccept = 4;
5937
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
5938
10.5k
    if (yych == 'M') goto yy542;
5939
5.38k
    if (yych == 'm') goto yy542;
5940
1.19k
    goto yy48;
5941
5.25k
yy440:
5942
5.25k
    YYDEBUG(440, *YYCURSOR);
5943
5.25k
    yyaccept = 4;
5944
5.25k
    yych = *(YYMARKER = ++YYCURSOR);
5945
5.25k
    if (yych == 'O') goto yy543;
5946
1.91k
    if (yych == 'o') goto yy543;
5947
309
    goto yy48;
5948
6.05k
yy441:
5949
6.05k
    YYDEBUG(441, *YYCURSOR);
5950
6.05k
    yyaccept = 4;
5951
6.05k
    yych = *(YYMARKER = ++YYCURSOR);
5952
6.05k
    if (yych == 'A') goto yy544;
5953
4.58k
    if (yych == 'a') goto yy544;
5954
679
    goto yy48;
5955
5.25k
yy442:
5956
5.25k
    YYDEBUG(442, *YYCURSOR);
5957
5.25k
    ++YYCURSOR;
5958
5.25k
    YYFILL(1);
5959
5.25k
    yych = *YYCURSOR;
5960
5.25k
    if (yych <= '\f') {
5961
611
      if (yych <= 0x00) goto yy86;
5962
413
      if (yych == '\n') goto yy84;
5963
196
      goto yy225;
5964
4.64k
    } else {
5965
4.64k
      if (yych <= '\r') goto yy84;
5966
4.42k
      if (yych == '.') goto yy352;
5967
2.98k
      goto yy225;
5968
4.42k
    }
5969
607k
yy443:
5970
607k
    YYDEBUG(443, *YYCURSOR);
5971
607k
    ++YYCURSOR;
5972
607k
    YYFILL(1);
5973
607k
    yych = *YYCURSOR;
5974
607k
    YYDEBUG(444, *YYCURSOR);
5975
607k
    if (yybm[0+yych] & 128) {
5976
505k
      goto yy443;
5977
505k
    }
5978
102k
    if (yych <= 0x00) goto yy86;
5979
100k
    if (yych <= '\r') goto yy545;
5980
19.0k
    goto yy547;
5981
19.0k
yy445:
5982
9.84k
    YYDEBUG(445, *YYCURSOR);
5983
9.84k
    yych = *++YYCURSOR;
5984
9.84k
    if (yych == 'Y') goto yy549;
5985
9.38k
    if (yych == 'y') goto yy549;
5986
532
    goto yy86;
5987
1.73k
yy446:
5988
1.73k
    YYDEBUG(446, *YYCURSOR);
5989
1.73k
    yych = *++YYCURSOR;
5990
1.73k
    if (yych == 'R') goto yy551;
5991
1.52k
    if (yych == 'r') goto yy551;
5992
460
    goto yy86;
5993
2.36k
yy447:
5994
2.36k
    YYDEBUG(447, *YYCURSOR);
5995
2.36k
    yych = *++YYCURSOR;
5996
2.36k
    if (yych == 'E') goto yy556;
5997
2.16k
    if (yych == 'e') goto yy556;
5998
1.50k
    goto yy553;
5999
2.40k
yy448:
6000
2.40k
    YYDEBUG(448, *YYCURSOR);
6001
2.40k
    yych = *++YYCURSOR;
6002
2.40k
    if (yych == 'L') goto yy557;
6003
1.59k
    if (yych == 'l') goto yy557;
6004
273
    goto yy86;
6005
1.76k
yy449:
6006
1.76k
    YYDEBUG(449, *YYCURSOR);
6007
1.76k
    yych = *++YYCURSOR;
6008
1.76k
    if (yych == 'T') goto yy558;
6009
1.60k
    if (yych == 't') goto yy558;
6010
342
    goto yy86;
6011
2.02k
yy450:
6012
2.02k
    YYDEBUG(450, *YYCURSOR);
6013
2.02k
    ++YYCURSOR;
6014
2.02k
    YYFILL(1);
6015
2.02k
    yych = *YYCURSOR;
6016
5.76k
yy451:
6017
5.76k
    YYDEBUG(451, *YYCURSOR);
6018
5.76k
    if (yych <= 0x1F) {
6019
459
      if (yych == '\t') goto yy450;
6020
251
      goto yy86;
6021
5.30k
    } else {
6022
5.30k
      if (yych <= ' ') goto yy450;
6023
3.49k
      if (yych != ')') goto yy86;
6024
3.49k
    }
6025
1.14k
    YYDEBUG(452, *YYCURSOR);
6026
1.14k
    ++YYCURSOR;
6027
1.14k
    YYDEBUG(453, *YYCURSOR);
6028
1.14k
    yyleng = YYCURSOR - SCNG(yy_text);
6029
1.14k
#line 1638 "Zend/zend_language_scanner.l"
6030
1.14k
    {
6031
1.14k
  RETURN_TOKEN(T_INT_CAST);
6032
1.14k
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
4.42k
yy454:
6035
4.42k
    YYDEBUG(454, *YYCURSOR);
6036
4.42k
    yych = *++YYCURSOR;
6037
4.42k
    if (yych == 'G') goto yy560;
6038
4.11k
    if (yych == 'g') goto yy560;
6039
1.14k
    goto yy86;
6040
4.42k
yy455:
6041
4.42k
    YYDEBUG(455, *YYCURSOR);
6042
4.42k
    yych = *++YYCURSOR;
6043
4.42k
    if (yych == 'C') goto yy561;
6044
4.26k
    if (yych == 'c') goto yy561;
6045
526
    goto yy86;
6046
1.24k
yy456:
6047
1.24k
    YYDEBUG(456, *YYCURSOR);
6048
1.24k
    ++YYCURSOR;
6049
1.24k
    YYFILL(1);
6050
1.24k
    yych = *YYCURSOR;
6051
1.24k
    YYDEBUG(457, *YYCURSOR);
6052
1.24k
    if (yych <= 0x1F) {
6053
432
      if (yych == '\t') goto yy456;
6054
225
      goto yy86;
6055
808
    } else {
6056
808
      if (yych <= ' ') goto yy456;
6057
561
      if (yych == ')') goto yy562;
6058
326
      goto yy86;
6059
561
    }
6060
13.0k
yy458:
6061
13.0k
    YYDEBUG(458, *YYCURSOR);
6062
13.0k
    yych = *++YYCURSOR;
6063
13.0k
    if (yych == 'N') goto yy564;
6064
12.8k
    if (yych == 'n') goto yy564;
6065
2.67k
    goto yy86;
6066
4.03k
yy459:
6067
4.03k
    YYDEBUG(459, *YYCURSOR);
6068
4.03k
    yych = *++YYCURSOR;
6069
4.03k
    if (yych == 'T') goto yy565;
6070
2.29k
    if (yych == 't') goto yy565;
6071
1.10k
    goto yy86;
6072
2.92k
yy460:
6073
2.92k
    YYDEBUG(460, *YYCURSOR);
6074
2.92k
    ++YYCURSOR;
6075
2.92k
    YYFILL(1);
6076
2.92k
    yych = *YYCURSOR;
6077
2.92k
    YYDEBUG(461, *YYCURSOR);
6078
2.92k
    if (yych <= 0x1F) {
6079
1.25k
      if (yych == '\t') goto yy460;
6080
430
      goto yy86;
6081
1.67k
    } else {
6082
1.67k
      if (yych <= ' ') goto yy460;
6083
1.40k
      if (yych == ')') goto yy567;
6084
886
      goto yy86;
6085
1.40k
    }
6086
31.8k
yy462:
6087
31.8k
    YYDEBUG(462, *YYCURSOR);
6088
31.8k
    ++YYCURSOR;
6089
31.8k
    YYFILL(3);
6090
31.8k
    yych = *YYCURSOR;
6091
36.6k
yy463:
6092
36.6k
    YYDEBUG(463, *YYCURSOR);
6093
36.6k
    if (yych <= 'Z') {
6094
10.2k
      if (yych <= '/') {
6095
3.93k
        if (yych == '"') goto yy569;
6096
3.20k
        goto yy86;
6097
6.33k
      } else {
6098
6.33k
        if (yych <= '9') goto yy462;
6099
5.54k
        if (yych <= '@') goto yy86;
6100
5.18k
        goto yy462;
6101
5.54k
      }
6102
26.4k
    } else {
6103
26.4k
      if (yych <= '`') {
6104
1.14k
        if (yych == '_') goto yy462;
6105
287
        goto yy86;
6106
25.2k
      } else {
6107
25.2k
        if (yych <= 'z') goto yy462;
6108
12.8k
        if (yych <= 0x7F) goto yy86;
6109
12.6k
        goto yy462;
6110
12.8k
      }
6111
26.4k
    }
6112
31.0k
yy464:
6113
31.0k
    YYDEBUG(464, *YYCURSOR);
6114
31.0k
    ++YYCURSOR;
6115
31.0k
    YYFILL(3);
6116
31.0k
    yych = *YYCURSOR;
6117
40.8k
yy465:
6118
40.8k
    YYDEBUG(465, *YYCURSOR);
6119
40.8k
    if (yych <= 'Z') {
6120
19.3k
      if (yych <= '/') {
6121
7.62k
        if (yych == '\'') goto yy569;
6122
1.39k
        goto yy86;
6123
11.7k
      } else {
6124
11.7k
        if (yych <= '9') goto yy464;
6125
11.4k
        if (yych <= '@') goto yy86;
6126
9.87k
        goto yy464;
6127
11.4k
      }
6128
21.4k
    } else {
6129
21.4k
      if (yych <= '`') {
6130
1.08k
        if (yych == '_') goto yy464;
6131
159
        goto yy86;
6132
20.3k
      } else {
6133
20.3k
        if (yych <= 'z') goto yy464;
6134
11.9k
        if (yych <= 0x7F) goto yy86;
6135
11.5k
        goto yy464;
6136
11.9k
      }
6137
21.4k
    }
6138
3.35M
yy466:
6139
3.35M
    YYDEBUG(466, *YYCURSOR);
6140
3.35M
    ++YYCURSOR;
6141
3.36M
yy467:
6142
3.36M
    YYDEBUG(467, *YYCURSOR);
6143
3.36M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
3.36M
#line 2678 "Zend/zend_language_scanner.l"
6145
3.36M
    {
6146
3.36M
  char *s;
6147
3.36M
  unsigned char *saved_cursor;
6148
3.36M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
3.36M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
3.36M
  bool is_heredoc = 1;
6151
6152
3.36M
  CG(zend_lineno)++;
6153
3.36M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
3.36M
  s = yytext+bprefix+3;
6155
3.37M
  while ((*s == ' ') || (*s == '\t')) {
6156
5.38k
    s++;
6157
5.38k
    heredoc_label->length--;
6158
5.38k
  }
6159
6160
3.36M
  if (*s == '\'') {
6161
6.03k
    s++;
6162
6.03k
    heredoc_label->length -= 2;
6163
6.03k
    is_heredoc = 0;
6164
6165
6.03k
    BEGIN(ST_NOWDOC);
6166
3.36M
  } else {
6167
3.36M
    if (*s == '"') {
6168
515
      s++;
6169
515
      heredoc_label->length -= 2;
6170
515
    }
6171
6172
3.36M
    BEGIN(ST_HEREDOC);
6173
3.36M
  }
6174
6175
3.36M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
3.36M
  heredoc_label->indentation_uses_spaces = 0;
6177
3.36M
  heredoc_label->indentation = 0;
6178
3.36M
  saved_cursor = YYCURSOR;
6179
6180
3.36M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
3.41M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
50.1k
    if (*YYCURSOR == '\t') {
6184
4.90k
      spacing |= HEREDOC_USING_TABS;
6185
45.2k
    } else {
6186
45.2k
      spacing |= HEREDOC_USING_SPACES;
6187
45.2k
    }
6188
50.1k
    ++YYCURSOR;
6189
50.1k
    ++indentation;
6190
50.1k
  }
6191
6192
3.36M
  if (YYCURSOR == YYLIMIT) {
6193
1.00k
    YYCURSOR = saved_cursor;
6194
1.00k
    RETURN_TOKEN(T_START_HEREDOC);
6195
1.00k
  }
6196
6197
  /* Check for ending label on the next line */
6198
3.36M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
11.3k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
5.77k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
200
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
200
        if (PARSER_MODE()) {
6203
11
          RETURN_TOKEN(T_ERROR);
6204
11
        }
6205
200
      }
6206
6207
5.76k
      YYCURSOR = saved_cursor;
6208
5.76k
      heredoc_label->indentation = indentation;
6209
6210
5.76k
      BEGIN(ST_END_HEREDOC);
6211
5.76k
      RETURN_TOKEN(T_START_HEREDOC);
6212
5.76k
    }
6213
11.3k
  }
6214
6215
3.35M
  YYCURSOR = saved_cursor;
6216
6217
3.35M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
136k
    zend_lex_state current_state;
6219
136k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
136k
    int heredoc_nesting_level = 1;
6221
136k
    int first_token = 0;
6222
136k
    int error = 0;
6223
6224
136k
    zend_save_lexical_state(&current_state);
6225
6226
136k
    SCNG(heredoc_scan_ahead) = 1;
6227
136k
    SCNG(heredoc_indentation) = 0;
6228
136k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
136k
    SCNG(on_event_context) = NULL;
6230
136k
    LANG_SCNG(on_event) = NULL;
6231
136k
    CG(doc_comment) = NULL;
6232
6233
136k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
136k
    zend_object *prev_exception = EG(exception);
6236
136k
    EG(exception) = NULL;
6237
21.3M
    while (heredoc_nesting_level) {
6238
21.3M
      zval zv;
6239
21.3M
      int retval;
6240
6241
21.3M
      ZVAL_UNDEF(&zv);
6242
21.3M
      retval = lex_scan(&zv, NULL);
6243
21.3M
      zval_ptr_dtor_nogc(&zv);
6244
6245
21.3M
      if (EG(exception)) {
6246
127k
        zend_clear_exception();
6247
127k
        break;
6248
127k
      }
6249
6250
21.2M
      if (!first_token) {
6251
136k
        first_token = retval;
6252
136k
      }
6253
6254
21.2M
      switch (retval) {
6255
3.22M
        case T_START_HEREDOC:
6256
3.22M
          ++heredoc_nesting_level;
6257
3.22M
          break;
6258
15.6k
        case T_END_HEREDOC:
6259
15.6k
          --heredoc_nesting_level;
6260
15.6k
          break;
6261
4.11k
        case END:
6262
4.11k
          heredoc_nesting_level = 0;
6263
21.2M
      }
6264
21.2M
    }
6265
136k
    EG(exception) = prev_exception;
6266
6267
136k
    if (
6268
136k
        (first_token == T_VARIABLE
6269
131k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6270
36.6k
         || first_token == T_CURLY_OPEN
6271
136k
        ) && SCNG(heredoc_indentation)) {
6272
11
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6273
11
      error = 1;
6274
11
    }
6275
6276
136k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6277
136k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6278
6279
136k
    zend_restore_lexical_state(&current_state);
6280
136k
    SCNG(heredoc_scan_ahead) = 0;
6281
136k
    CG(increment_lineno) = 0;
6282
136k
    CG(doc_comment) = saved_doc_comment;
6283
6284
136k
    if (PARSER_MODE() && error) {
6285
11
      RETURN_TOKEN(T_ERROR);
6286
11
    }
6287
136k
  }
6288
6289
3.35M
  RETURN_TOKEN(T_START_HEREDOC);
6290
3.35M
}
6291
0
#line 6292 "Zend/zend_language_scanner.c"
6292
15.5k
yy468:
6293
15.5k
    YYDEBUG(468, *YYCURSOR);
6294
15.5k
    yych = *++YYCURSOR;
6295
15.5k
    if (yych == '\n') goto yy466;
6296
14.7k
    goto yy467;
6297
14.7k
yy469:
6298
13.0k
    YYDEBUG(469, *YYCURSOR);
6299
13.0k
    yyaccept = 4;
6300
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
6301
13.0k
    if (yych == 'A') goto yy570;
6302
11.9k
    if (yych == 'a') goto yy570;
6303
711
    goto yy48;
6304
24.3k
yy470:
6305
24.3k
    YYDEBUG(470, *YYCURSOR);
6306
24.3k
    yyaccept = 34;
6307
24.3k
    yych = *(YYMARKER = ++YYCURSOR);
6308
24.3k
    if (yybm[256+yych] & 128) {
6309
5.92k
      goto yy47;
6310
5.92k
    }
6311
18.4k
    if (yych == '\\') goto yy164;
6312
18.4k
yy471:
6313
18.4k
    YYDEBUG(471, *YYCURSOR);
6314
18.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6315
18.4k
#line 1818 "Zend/zend_language_scanner.l"
6316
18.4k
    {
6317
18.4k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6318
18.4k
}
6319
0
#line 6320 "Zend/zend_language_scanner.c"
6320
5.59k
yy472:
6321
5.59k
    YYDEBUG(472, *YYCURSOR);
6322
5.59k
    yyaccept = 35;
6323
5.59k
    yych = *(YYMARKER = ++YYCURSOR);
6324
5.59k
    if (yybm[256+yych] & 128) {
6325
954
      goto yy47;
6326
954
    }
6327
4.63k
    if (yych == '\\') goto yy164;
6328
4.63k
yy473:
6329
4.63k
    YYDEBUG(473, *YYCURSOR);
6330
4.63k
    yyleng = YYCURSOR - SCNG(yy_text);
6331
4.63k
#line 1534 "Zend/zend_language_scanner.l"
6332
4.63k
    {
6333
4.63k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6334
4.63k
}
6335
0
#line 6336 "Zend/zend_language_scanner.c"
6336
3.96k
yy474:
6337
3.96k
    YYDEBUG(474, *YYCURSOR);
6338
3.96k
    yyaccept = 4;
6339
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
6340
3.96k
    if (yych == 'B') goto yy571;
6341
2.90k
    if (yych == 'b') goto yy571;
6342
240
    goto yy48;
6343
38.6k
yy475:
6344
38.6k
    YYDEBUG(475, *YYCURSOR);
6345
38.6k
    yyaccept = 36;
6346
38.6k
    yych = *(YYMARKER = ++YYCURSOR);
6347
38.6k
    if (yybm[256+yych] & 128) {
6348
2.23k
      goto yy47;
6349
2.23k
    }
6350
36.4k
    if (yych == '\\') goto yy164;
6351
36.4k
yy476:
6352
36.4k
    YYDEBUG(476, *YYCURSOR);
6353
36.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6354
36.4k
#line 1442 "Zend/zend_language_scanner.l"
6355
36.4k
    {
6356
36.4k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6357
36.4k
}
6358
0
#line 6359 "Zend/zend_language_scanner.c"
6359
76.6k
yy477:
6360
76.6k
    YYDEBUG(477, *YYCURSOR);
6361
76.6k
    yyaccept = 37;
6362
76.6k
    yych = *(YYMARKER = ++YYCURSOR);
6363
76.6k
    if (yybm[256+yych] & 128) {
6364
4.71k
      goto yy47;
6365
4.71k
    }
6366
71.9k
    if (yych == '\\') goto yy164;
6367
71.9k
yy478:
6368
71.9k
    YYDEBUG(478, *YYCURSOR);
6369
71.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6370
71.9k
#line 1554 "Zend/zend_language_scanner.l"
6371
71.9k
    {
6372
71.9k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6373
71.9k
}
6374
0
#line 6375 "Zend/zend_language_scanner.c"
6375
3.91k
yy479:
6376
3.91k
    YYDEBUG(479, *YYCURSOR);
6377
3.91k
    yyaccept = 38;
6378
3.91k
    yych = *(YYMARKER = ++YYCURSOR);
6379
3.91k
    if (yybm[256+yych] & 128) {
6380
870
      goto yy47;
6381
870
    }
6382
3.04k
    if (yych == '\\') goto yy164;
6383
3.04k
yy480:
6384
3.04k
    YYDEBUG(480, *YYCURSOR);
6385
3.04k
    yyleng = YYCURSOR - SCNG(yy_text);
6386
3.04k
#line 1630 "Zend/zend_language_scanner.l"
6387
3.04k
    {
6388
3.04k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6389
3.04k
}
6390
0
#line 6391 "Zend/zend_language_scanner.c"
6391
34.2k
yy481:
6392
34.2k
    YYDEBUG(481, *YYCURSOR);
6393
34.2k
    yyaccept = 39;
6394
34.2k
    yych = *(YYMARKER = ++YYCURSOR);
6395
34.2k
    if (yybm[256+yych] & 128) {
6396
5.17k
      goto yy47;
6397
5.17k
    }
6398
29.1k
    if (yych == '\\') goto yy164;
6399
29.1k
yy482:
6400
29.1k
    YYDEBUG(482, *YYCURSOR);
6401
29.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6402
29.1k
#line 1415 "Zend/zend_language_scanner.l"
6403
29.1k
    {
6404
29.1k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6405
29.1k
}
6406
0
#line 6407 "Zend/zend_language_scanner.c"
6407
3.72k
yy483:
6408
3.72k
    YYDEBUG(483, *YYCURSOR);
6409
3.72k
    yyaccept = 4;
6410
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
6411
3.72k
    if (yych == 'N') goto yy572;
6412
2.27k
    if (yych == 'n') goto yy572;
6413
358
    goto yy48;
6414
8.67k
yy484:
6415
8.67k
    YYDEBUG(484, *YYCURSOR);
6416
8.67k
    yyaccept = 4;
6417
8.67k
    yych = *(YYMARKER = ++YYCURSOR);
6418
8.67k
    if (yych == 'R') goto yy573;
6419
8.22k
    if (yych == 'r') goto yy573;
6420
2.02k
    goto yy48;
6421
2.77k
yy485:
6422
2.77k
    YYDEBUG(485, *YYCURSOR);
6423
2.77k
    yyaccept = 4;
6424
2.77k
    yych = *(YYMARKER = ++YYCURSOR);
6425
2.77k
    if (yych == 'L') goto yy574;
6426
2.51k
    if (yych == 'l') goto yy574;
6427
528
    goto yy48;
6428
4.57k
yy486:
6429
4.57k
    YYDEBUG(486, *YYCURSOR);
6430
4.57k
    yyaccept = 4;
6431
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
6432
4.57k
    if (yych == 'F') goto yy575;
6433
4.19k
    if (yych == 'f') goto yy575;
6434
1.77k
    goto yy48;
6435
4.82k
yy487:
6436
4.82k
    YYDEBUG(487, *YYCURSOR);
6437
4.82k
    yyaccept = 40;
6438
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
6439
4.82k
    if (yybm[256+yych] & 128) {
6440
917
      goto yy47;
6441
917
    }
6442
3.90k
    if (yych == '\\') goto yy164;
6443
3.86k
yy488:
6444
3.86k
    YYDEBUG(488, *YYCURSOR);
6445
3.86k
    yyleng = YYCURSOR - SCNG(yy_text);
6446
3.86k
#line 1758 "Zend/zend_language_scanner.l"
6447
3.86k
    {
6448
3.86k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6449
3.86k
}
6450
0
#line 6451 "Zend/zend_language_scanner.c"
6451
5.96k
yy489:
6452
5.96k
    YYDEBUG(489, *YYCURSOR);
6453
5.96k
    yyaccept = 4;
6454
5.96k
    yych = *(YYMARKER = ++YYCURSOR);
6455
5.96k
    if (yych == 'C') goto yy577;
6456
4.63k
    if (yych == 'c') goto yy577;
6457
1.17k
    goto yy48;
6458
11.8k
yy490:
6459
11.8k
    YYDEBUG(490, *YYCURSOR);
6460
11.8k
    yyaccept = 4;
6461
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
6462
11.8k
    if (yych == 'R') goto yy578;
6463
8.80k
    if (yych == 'r') goto yy578;
6464
759
    goto yy48;
6465
5.38k
yy491:
6466
5.38k
    YYDEBUG(491, *YYCURSOR);
6467
5.38k
    yyaccept = 41;
6468
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
6469
5.38k
    if (yybm[256+yych] & 128) {
6470
579
      goto yy47;
6471
579
    }
6472
4.80k
    if (yych == '\\') goto yy164;
6473
4.80k
yy492:
6474
4.80k
    YYDEBUG(492, *YYCURSOR);
6475
4.80k
    yyleng = YYCURSOR - SCNG(yy_text);
6476
4.80k
#line 1462 "Zend/zend_language_scanner.l"
6477
4.80k
    {
6478
4.80k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6479
4.80k
}
6480
0
#line 6481 "Zend/zend_language_scanner.c"
6481
4.90k
yy493:
6482
4.90k
    YYDEBUG(493, *YYCURSOR);
6483
4.90k
    yyaccept = 4;
6484
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
6485
4.90k
    if (yych == 'I') goto yy580;
6486
2.92k
    if (yych == 'i') goto yy580;
6487
383
    goto yy48;
6488
9.30k
yy494:
6489
9.30k
    YYDEBUG(494, *YYCURSOR);
6490
9.30k
    yyaccept = 4;
6491
9.30k
    yych = *(YYMARKER = ++YYCURSOR);
6492
9.30k
    if (yych == 'I') goto yy581;
6493
5.45k
    if (yych == 'i') goto yy581;
6494
712
    goto yy48;
6495
655k
yy495:
6496
655k
    YYDEBUG(495, *YYCURSOR);
6497
655k
    ++YYCURSOR;
6498
655k
    YYFILL(10);
6499
655k
    yych = *YYCURSOR;
6500
655k
    YYDEBUG(496, *YYCURSOR);
6501
655k
    if (yych <= 'E') {
6502
617k
      if (yych <= ' ') {
6503
62.5k
        if (yych <= '\f') {
6504
18.8k
          if (yych <= 0x08) goto yy86;
6505
16.5k
          if (yych <= '\n') goto yy495;
6506
1.04k
          goto yy86;
6507
43.6k
        } else {
6508
43.6k
          if (yych <= '\r') goto yy495;
6509
9.06k
          if (yych <= 0x1F) goto yy86;
6510
8.11k
          goto yy495;
6511
9.06k
        }
6512
554k
      } else {
6513
554k
        if (yych <= '.') {
6514
538k
          if (yych != '#') goto yy86;
6515
538k
        } else {
6516
16.5k
          if (yych <= '/') goto yy498;
6517
5.04k
          if (yych <= '@') goto yy86;
6518
2.10k
          if (yych <= 'D') goto yy582;
6519
554
          goto yy584;
6520
2.10k
        }
6521
554k
      }
6522
617k
    } else {
6523
37.9k
      if (yych <= '`') {
6524
7.45k
        if (yych <= 'Z') {
6525
5.60k
          if (yych == 'I') goto yy585;
6526
3.14k
          goto yy582;
6527
5.60k
        } else {
6528
1.85k
          if (yych == '_') goto yy582;
6529
1.06k
          goto yy86;
6530
1.85k
        }
6531
30.5k
      } else {
6532
30.5k
        if (yych <= 'h') {
6533
14.6k
          if (yych == 'e') goto yy584;
6534
4.72k
          goto yy582;
6535
15.9k
        } else {
6536
15.9k
          if (yych <= 'i') goto yy585;
6537
12.0k
          if (yych <= 'z') goto yy582;
6538
7.60k
          if (yych <= 0x7F) goto yy86;
6539
6.16k
          goto yy582;
6540
7.60k
        }
6541
30.5k
      }
6542
37.9k
    }
6543
533k
yy497:
6544
533k
    YYDEBUG(497, *YYCURSOR);
6545
533k
    ++YYCURSOR;
6546
533k
    YYFILL(1);
6547
533k
    yych = *YYCURSOR;
6548
533k
    if (yych <= '\f') {
6549
396k
      if (yych <= 0x00) goto yy86;
6550
395k
      if (yych == '\n') goto yy588;
6551
4.60k
      goto yy586;
6552
395k
    } else {
6553
136k
      if (yych <= '\r') goto yy588;
6554
51.9k
      if (yych == '[') goto yy86;
6555
51.7k
      goto yy586;
6556
51.9k
    }
6557
13.1k
yy498:
6558
13.1k
    YYDEBUG(498, *YYCURSOR);
6559
13.1k
    ++YYCURSOR;
6560
13.1k
    YYFILL(1);
6561
13.1k
    yych = *YYCURSOR;
6562
13.1k
    if (yych == '*') goto yy590;
6563
7.49k
    if (yych == '/') goto yy586;
6564
1.66k
    goto yy86;
6565
22.3k
yy499:
6566
22.3k
    YYDEBUG(499, *YYCURSOR);
6567
22.3k
    yyaccept = 4;
6568
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
6569
22.3k
    if (yych == 'D') goto yy592;
6570
21.0k
    if (yych == 'd') goto yy592;
6571
2.92k
    goto yy48;
6572
13.9k
yy500:
6573
13.9k
    YYDEBUG(500, *YYCURSOR);
6574
13.9k
    yyaccept = 42;
6575
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
6576
13.9k
    if (yych <= '\\') {
6577
7.29k
      if (yych <= 'K') {
6578
5.58k
        if (yych <= '/') goto yy501;
6579
2.91k
        if (yych <= '9') goto yy47;
6580
1.97k
        if (yych >= 'A') goto yy47;
6581
1.97k
      } else {
6582
1.70k
        if (yych <= 'L') goto yy593;
6583
1.24k
        if (yych <= 'Z') goto yy47;
6584
849
        if (yych >= '\\') goto yy164;
6585
849
      }
6586
7.29k
    } else {
6587
6.61k
      if (yych <= 'k') {
6588
689
        if (yych == '_') goto yy47;
6589
288
        if (yych >= 'a') goto yy47;
6590
5.92k
      } else {
6591
5.92k
        if (yych <= 'l') goto yy593;
6592
883
        if (yych <= 'z') goto yy47;
6593
462
        if (yych >= 0x80) goto yy47;
6594
462
      }
6595
6.61k
    }
6596
5.64k
yy501:
6597
5.64k
    YYDEBUG(501, *YYCURSOR);
6598
5.64k
    yyleng = YYCURSOR - SCNG(yy_text);
6599
5.64k
#line 1774 "Zend/zend_language_scanner.l"
6600
5.64k
    {
6601
5.64k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6602
5.64k
}
6603
0
#line 6604 "Zend/zend_language_scanner.c"
6604
24.1k
yy502:
6605
24.1k
    YYDEBUG(502, *YYCURSOR);
6606
24.1k
    yyaccept = 4;
6607
24.1k
    yych = *(YYMARKER = ++YYCURSOR);
6608
24.1k
    if (yych == 'C') goto yy594;
6609
23.5k
    if (yych == 'c') goto yy594;
6610
712
    goto yy48;
6611
101k
yy503:
6612
101k
    YYDEBUG(503, *YYCURSOR);
6613
101k
    yyaccept = 4;
6614
101k
    yych = *(YYMARKER = ++YYCURSOR);
6615
101k
    if (yych == 'I') goto yy595;
6616
100k
    if (yych == 'i') goto yy595;
6617
1.51k
    goto yy48;
6618
6.31k
yy504:
6619
6.31k
    YYDEBUG(504, *YYCURSOR);
6620
6.31k
    yyaccept = 4;
6621
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
6622
6.31k
    if (yych == 'L') goto yy596;
6623
4.34k
    if (yych == 'l') goto yy596;
6624
1.20k
    goto yy48;
6625
24.9k
yy505:
6626
24.9k
    YYDEBUG(505, *YYCURSOR);
6627
24.9k
    yyaccept = 4;
6628
24.9k
    yych = *(YYMARKER = ++YYCURSOR);
6629
24.9k
    if (yych == 'M') goto yy598;
6630
21.3k
    if (yych == 'm') goto yy598;
6631
7.99k
    goto yy48;
6632
11.9k
yy506:
6633
11.9k
    YYDEBUG(506, *YYCURSOR);
6634
11.9k
    yyaccept = 4;
6635
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
6636
11.9k
    if (yych == 'D') goto yy599;
6637
10.3k
    if (yych == 'd') goto yy599;
6638
531
    goto yy48;
6639
6.31k
yy507:
6640
6.31k
    YYDEBUG(507, *YYCURSOR);
6641
6.31k
    yyaccept = 4;
6642
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
6643
6.31k
    if (yych == 'N') goto yy600;
6644
5.54k
    if (yych == 'n') goto yy600;
6645
975
    goto yy48;
6646
7.82k
yy508:
6647
7.82k
    YYDEBUG(508, *YYCURSOR);
6648
7.82k
    yyaccept = 4;
6649
7.82k
    yych = *(YYMARKER = ++YYCURSOR);
6650
7.82k
    if (yych == 'A') goto yy601;
6651
7.23k
    if (yych == 'a') goto yy601;
6652
2.93k
    goto yy48;
6653
7.47k
yy509:
6654
7.47k
    YYDEBUG(509, *YYCURSOR);
6655
7.47k
    yyaccept = 4;
6656
7.47k
    yych = *(YYMARKER = ++YYCURSOR);
6657
7.47k
    if (yych == 'F') goto yy602;
6658
7.12k
    if (yych == 'f') goto yy602;
6659
376
    goto yy48;
6660
19.6k
yy510:
6661
19.6k
    YYDEBUG(510, *YYCURSOR);
6662
19.6k
    yyaccept = 43;
6663
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
6664
19.6k
    if (yybm[256+yych] & 128) {
6665
3.77k
      goto yy47;
6666
3.77k
    }
6667
15.8k
    if (yych == '\\') goto yy164;
6668
15.8k
yy511:
6669
15.8k
    YYDEBUG(511, *YYCURSOR);
6670
15.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6671
15.8k
#line 1754 "Zend/zend_language_scanner.l"
6672
15.8k
    {
6673
15.8k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6674
15.8k
}
6675
0
#line 6676 "Zend/zend_language_scanner.c"
6676
3.37k
yy512:
6677
3.37k
    YYDEBUG(512, *YYCURSOR);
6678
3.37k
    yyaccept = 44;
6679
3.37k
    yych = *(YYMARKER = ++YYCURSOR);
6680
3.37k
    if (yybm[256+yych] & 128) {
6681
515
      goto yy47;
6682
515
    }
6683
2.86k
    if (yych == '\\') goto yy164;
6684
2.85k
yy513:
6685
2.85k
    YYDEBUG(513, *YYCURSOR);
6686
2.85k
    yyleng = YYCURSOR - SCNG(yy_text);
6687
2.85k
#line 1518 "Zend/zend_language_scanner.l"
6688
2.85k
    {
6689
2.85k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6690
2.85k
}
6691
0
#line 6692 "Zend/zend_language_scanner.c"
6692
32.8k
yy514:
6693
32.8k
    YYDEBUG(514, *YYCURSOR);
6694
32.8k
    yyaccept = 4;
6695
32.8k
    yych = *(YYMARKER = ++YYCURSOR);
6696
32.8k
    if (yych == 'P') goto yy603;
6697
19.9k
    if (yych == 'p') goto yy603;
6698
1.47k
    goto yy48;
6699
13.1k
yy515:
6700
13.1k
    YYDEBUG(515, *YYCURSOR);
6701
13.1k
    yyaccept = 45;
6702
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
6703
13.1k
    if (yybm[256+yych] & 128) {
6704
7.78k
      goto yy47;
6705
7.78k
    }
6706
5.38k
    if (yych == '\\') goto yy164;
6707
5.35k
yy516:
6708
5.35k
    YYDEBUG(516, *YYCURSOR);
6709
5.35k
    yyleng = YYCURSOR - SCNG(yy_text);
6710
5.35k
#line 1550 "Zend/zend_language_scanner.l"
6711
5.35k
    {
6712
5.35k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6713
5.35k
}
6714
0
#line 6715 "Zend/zend_language_scanner.c"
6715
11.4k
yy517:
6716
11.4k
    YYDEBUG(517, *YYCURSOR);
6717
11.4k
    yyaccept = 4;
6718
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
6719
11.4k
    if (yych == 'T') goto yy604;
6720
10.1k
    if (yych == 't') goto yy604;
6721
1.06k
    goto yy48;
6722
11.7k
yy518:
6723
11.7k
    YYDEBUG(518, *YYCURSOR);
6724
11.7k
    yyaccept = 4;
6725
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
6726
11.7k
    if (yych == 'C') goto yy605;
6727
10.6k
    if (yych == 'c') goto yy605;
6728
581
    goto yy48;
6729
73.2k
yy519:
6730
73.2k
    YYDEBUG(519, *YYCURSOR);
6731
73.2k
    yyaccept = 4;
6732
73.2k
    yych = *(YYMARKER = ++YYCURSOR);
6733
73.2k
    if (yych == 'C') goto yy606;
6734
71.6k
    if (yych == 'c') goto yy606;
6735
3.29k
    goto yy48;
6736
7.42k
yy520:
6737
7.42k
    YYDEBUG(520, *YYCURSOR);
6738
7.42k
    yyaccept = 4;
6739
7.42k
    yych = *(YYMARKER = ++YYCURSOR);
6740
7.42k
    if (yych == 'N') goto yy608;
6741
7.21k
    if (yych == 'n') goto yy608;
6742
750
    goto yy48;
6743
20.7k
yy521:
6744
20.7k
    YYDEBUG(521, *YYCURSOR);
6745
20.7k
    yyaccept = 4;
6746
20.7k
    yych = *(YYMARKER = ++YYCURSOR);
6747
20.7k
    if (yych == 'R') goto yy609;
6748
20.0k
    if (yych == 'r') goto yy609;
6749
1.12k
    goto yy48;
6750
28.4k
yy522:
6751
28.4k
    YYDEBUG(522, *YYCURSOR);
6752
28.4k
    yyaccept = 4;
6753
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
6754
28.4k
    if (yych == 'N') goto yy610;
6755
27.7k
    if (yych == 'n') goto yy610;
6756
1.85k
    goto yy48;
6757
18.8k
yy523:
6758
18.8k
    YYDEBUG(523, *YYCURSOR);
6759
18.8k
    yyaccept = 4;
6760
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
6761
18.8k
    if (yych == 'C') goto yy612;
6762
18.1k
    if (yych == 'c') goto yy612;
6763
1.44k
    goto yy48;
6764
7.31k
yy524:
6765
7.31k
    YYDEBUG(524, *YYCURSOR);
6766
7.31k
    yyaccept = 4;
6767
7.31k
    yych = *(YYMARKER = ++YYCURSOR);
6768
7.31k
    if (yych == 'H') goto yy614;
6769
6.77k
    if (yych == 'h') goto yy614;
6770
2.61k
    goto yy48;
6771
10.4k
yy525:
6772
10.4k
    YYDEBUG(525, *YYCURSOR);
6773
10.4k
    yyaccept = 46;
6774
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
6775
10.4k
    if (yybm[256+yych] & 128) {
6776
3.58k
      goto yy47;
6777
3.58k
    }
6778
6.84k
    if (yych == '\\') goto yy164;
6779
6.84k
yy526:
6780
6.84k
    YYDEBUG(526, *YYCURSOR);
6781
6.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6782
6.84k
#line 1450 "Zend/zend_language_scanner.l"
6783
6.84k
    {
6784
6.84k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6785
6.84k
}
6786
0
#line 6787 "Zend/zend_language_scanner.c"
6787
8.87k
yy527:
6788
8.87k
    YYDEBUG(527, *YYCURSOR);
6789
8.87k
    yyaccept = 47;
6790
8.87k
    yych = *(YYMARKER = ++YYCURSOR);
6791
8.87k
    if (yybm[256+yych] & 128) {
6792
1.55k
      goto yy47;
6793
1.55k
    }
6794
7.31k
    if (yych == '\\') goto yy164;
6795
7.17k
yy528:
6796
7.17k
    YYDEBUG(528, *YYCURSOR);
6797
7.17k
    yyleng = YYCURSOR - SCNG(yy_text);
6798
7.17k
#line 1562 "Zend/zend_language_scanner.l"
6799
7.17k
    {
6800
7.17k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6801
7.17k
}
6802
0
#line 6803 "Zend/zend_language_scanner.c"
6803
10.3k
yy529:
6804
10.3k
    YYDEBUG(529, *YYCURSOR);
6805
10.3k
    yyaccept = 48;
6806
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
6807
10.3k
    if (yybm[256+yych] & 128) {
6808
1.28k
      goto yy47;
6809
1.28k
    }
6810
9.03k
    if (yych == '\\') goto yy164;
6811
8.89k
yy530:
6812
8.89k
    YYDEBUG(530, *YYCURSOR);
6813
8.89k
    yyleng = YYCURSOR - SCNG(yy_text);
6814
8.89k
#line 1806 "Zend/zend_language_scanner.l"
6815
8.89k
    {
6816
8.89k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6817
8.89k
}
6818
0
#line 6819 "Zend/zend_language_scanner.c"
6819
4.12k
yy531:
6820
4.12k
    YYDEBUG(531, *YYCURSOR);
6821
4.12k
    yyaccept = 49;
6822
4.12k
    yych = *(YYMARKER = ++YYCURSOR);
6823
4.12k
    if (yybm[256+yych] & 128) {
6824
748
      goto yy47;
6825
748
    }
6826
3.37k
    if (yych == '\\') goto yy164;
6827
3.18k
yy532:
6828
3.18k
    YYDEBUG(532, *YYCURSOR);
6829
3.18k
    yyleng = YYCURSOR - SCNG(yy_text);
6830
3.18k
#line 1470 "Zend/zend_language_scanner.l"
6831
3.18k
    {
6832
3.18k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6833
3.18k
}
6834
0
#line 6835 "Zend/zend_language_scanner.c"
6835
83.1k
yy533:
6836
83.1k
    YYDEBUG(533, *YYCURSOR);
6837
83.1k
    yyaccept = 50;
6838
83.1k
    yych = *(YYMARKER = ++YYCURSOR);
6839
83.1k
    if (yybm[256+yych] & 128) {
6840
1.49k
      goto yy47;
6841
1.49k
    }
6842
81.6k
    if (yych <= ' ') {
6843
43.6k
      if (yych <= '\f') {
6844
31.1k
        if (yych <= 0x08) goto yy534;
6845
30.1k
        if (yych <= '\n') goto yy616;
6846
30.1k
      } else {
6847
12.5k
        if (yych <= '\r') goto yy616;
6848
11.5k
        if (yych >= ' ') goto yy616;
6849
11.5k
      }
6850
43.6k
    } else {
6851
38.0k
      if (yych <= '.') {
6852
35.7k
        if (yych == '#') goto yy618;
6853
35.7k
      } else {
6854
2.25k
        if (yych <= '/') goto yy619;
6855
1.57k
        if (yych == '\\') goto yy164;
6856
1.57k
      }
6857
38.0k
    }
6858
61.6k
yy534:
6859
61.6k
    YYDEBUG(534, *YYCURSOR);
6860
61.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6861
61.6k
#line 1434 "Zend/zend_language_scanner.l"
6862
61.6k
    {
6863
61.6k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6864
61.6k
}
6865
0
#line 6866 "Zend/zend_language_scanner.c"
6866
10.5k
yy535:
6867
10.5k
    YYDEBUG(535, *YYCURSOR);
6868
10.5k
    yyaccept = 4;
6869
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6870
10.5k
    if (yych == 'S') goto yy620;
6871
8.88k
    if (yych == 's') goto yy620;
6872
1.35k
    goto yy48;
6873
6.72k
yy536:
6874
6.72k
    YYDEBUG(536, *YYCURSOR);
6875
6.72k
    yyaccept = 4;
6876
6.72k
    yych = *(YYMARKER = ++YYCURSOR);
6877
6.72k
    if (yych == '_') goto yy621;
6878
1.03k
    goto yy48;
6879
8.29k
yy537:
6880
8.29k
    YYDEBUG(537, *YYCURSOR);
6881
8.29k
    yyaccept = 4;
6882
8.29k
    yych = *(YYMARKER = ++YYCURSOR);
6883
8.29k
    if (yych == 'E') goto yy622;
6884
2.67k
    if (yych == 'e') goto yy622;
6885
389
    goto yy48;
6886
9.16k
yy538:
6887
9.16k
    YYDEBUG(538, *YYCURSOR);
6888
9.16k
    yyaccept = 4;
6889
9.16k
    yych = *(YYMARKER = ++YYCURSOR);
6890
9.16k
    if (yych == 'C') goto yy623;
6891
5.75k
    if (yych == 'c') goto yy623;
6892
721
    goto yy48;
6893
6.95k
yy539:
6894
6.95k
    YYDEBUG(539, *YYCURSOR);
6895
6.95k
    yyaccept = 4;
6896
6.95k
    yych = *(YYMARKER = ++YYCURSOR);
6897
6.95k
    if (yych == 'T') goto yy624;
6898
5.93k
    if (yych == 't') goto yy624;
6899
660
    goto yy48;
6900
4.25k
yy540:
6901
4.25k
    YYDEBUG(540, *YYCURSOR);
6902
4.25k
    yyaccept = 4;
6903
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
6904
4.25k
    if (yych == 'E') goto yy625;
6905
2.52k
    if (yych == 'e') goto yy625;
6906
378
    goto yy48;
6907
13.7k
yy541:
6908
13.7k
    YYDEBUG(541, *YYCURSOR);
6909
13.7k
    yyaccept = 4;
6910
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
6911
13.7k
    if (yych == 'H') goto yy626;
6912
4.78k
    if (yych == 'h') goto yy626;
6913
1.03k
    goto yy48;
6914
9.38k
yy542:
6915
9.38k
    YYDEBUG(542, *YYCURSOR);
6916
9.38k
    yyaccept = 4;
6917
9.38k
    yych = *(YYMARKER = ++YYCURSOR);
6918
9.38k
    if (yych == 'E') goto yy627;
6919
5.81k
    if (yych == 'e') goto yy627;
6920
1.90k
    goto yy48;
6921
4.94k
yy543:
6922
4.94k
    YYDEBUG(543, *YYCURSOR);
6923
4.94k
    yyaccept = 4;
6924
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
6925
4.94k
    if (yych == 'P') goto yy628;
6926
2.18k
    if (yych == 'p') goto yy628;
6927
1.43k
    goto yy48;
6928
5.37k
yy544:
6929
5.37k
    YYDEBUG(544, *YYCURSOR);
6930
5.37k
    yyaccept = 4;
6931
5.37k
    yych = *(YYMARKER = ++YYCURSOR);
6932
5.37k
    if (yych == 'I') goto yy629;
6933
4.49k
    if (yych == 'i') goto yy629;
6934
700
    goto yy48;
6935
124k
yy545:
6936
124k
    YYDEBUG(545, *YYCURSOR);
6937
124k
    ++YYCURSOR;
6938
124k
    YYFILL(1);
6939
124k
    yych = *YYCURSOR;
6940
124k
    YYDEBUG(546, *YYCURSOR);
6941
124k
    if (yybm[0+yych] & 64) {
6942
413
      goto yy355;
6943
413
    }
6944
124k
    if (yych <= ' ') {
6945
19.2k
      if (yych <= '\n') {
6946
5.66k
        if (yych <= 0x00) goto yy86;
6947
4.03k
        if (yych <= 0x08) goto yy230;
6948
3.76k
        goto yy545;
6949
13.6k
      } else {
6950
13.6k
        if (yych == '\r') goto yy545;
6951
1.69k
        if (yych <= 0x1F) goto yy230;
6952
1.50k
        goto yy545;
6953
1.69k
      }
6954
105k
    } else {
6955
105k
      if (yych <= '$') {
6956
73.1k
        if (yych <= '"') goto yy230;
6957
72.8k
        if (yych <= '#') goto yy630;
6958
3.88k
        goto yy631;
6959
72.8k
      } else {
6960
31.9k
        if (yych <= '-') goto yy230;
6961
25.1k
        if (yych <= '.') goto yy632;
6962
23.3k
        if (yych <= '/') goto yy633;
6963
4.07k
        goto yy230;
6964
23.3k
      }
6965
105k
    }
6966
28.7k
yy547:
6967
28.7k
    YYDEBUG(547, *YYCURSOR);
6968
28.7k
    ++YYCURSOR;
6969
28.7k
    YYFILL(1);
6970
28.7k
    yych = *YYCURSOR;
6971
28.7k
    YYDEBUG(548, *YYCURSOR);
6972
28.7k
    if (yych <= '\r') {
6973
3.43k
      if (yych <= '\t') {
6974
767
        if (yych <= 0x00) goto yy86;
6975
353
        goto yy443;
6976
2.67k
      } else {
6977
2.67k
        if (yych <= '\n') goto yy545;
6978
1.17k
        if (yych <= '\f') goto yy443;
6979
982
        goto yy545;
6980
1.17k
      }
6981
25.3k
    } else {
6982
25.3k
      if (yych <= '*') {
6983
15.4k
        if (yych <= ')') goto yy443;
6984
6.09k
        goto yy547;
6985
15.4k
      } else {
6986
9.85k
        if (yych == '/') goto yy227;
6987
2.33k
        goto yy443;
6988
9.85k
      }
6989
25.3k
    }
6990
13.5k
yy549:
6991
13.5k
    YYDEBUG(549, *YYCURSOR);
6992
13.5k
    ++YYCURSOR;
6993
13.5k
    YYFILL(1);
6994
13.5k
    yych = *YYCURSOR;
6995
13.5k
    YYDEBUG(550, *YYCURSOR);
6996
13.5k
    if (yych <= 0x1F) {
6997
636
      if (yych == '\t') goto yy549;
6998
393
      goto yy86;
6999
12.9k
    } else {
7000
12.9k
      if (yych <= ' ') goto yy549;
7001
8.92k
      if (yych == ')') goto yy634;
7002
6.70k
      goto yy86;
7003
8.92k
    }
7004
1.27k
yy551:
7005
1.27k
    YYDEBUG(551, *YYCURSOR);
7006
1.27k
    yych = *++YYCURSOR;
7007
1.27k
    if (yych == 'Y') goto yy636;
7008
1.21k
    if (yych == 'y') goto yy636;
7009
492
    goto yy86;
7010
788
yy552:
7011
788
    YYDEBUG(552, *YYCURSOR);
7012
788
    ++YYCURSOR;
7013
788
    YYFILL(1);
7014
788
    yych = *YYCURSOR;
7015
2.28k
yy553:
7016
2.28k
    YYDEBUG(553, *YYCURSOR);
7017
2.28k
    if (yych <= 0x1F) {
7018
842
      if (yych == '\t') goto yy552;
7019
489
      goto yy86;
7020
1.44k
    } else {
7021
1.44k
      if (yych <= ' ') goto yy552;
7022
1.01k
      if (yych != ')') goto yy86;
7023
1.01k
    }
7024
650
    YYDEBUG(554, *YYCURSOR);
7025
650
    ++YYCURSOR;
7026
650
    YYDEBUG(555, *YYCURSOR);
7027
650
    yyleng = YYCURSOR - SCNG(yy_text);
7028
650
#line 1696 "Zend/zend_language_scanner.l"
7029
650
    {
7030
650
  RETURN_TOKEN(T_BOOL_CAST);
7031
650
}
7032
0
#line 7033 "Zend/zend_language_scanner.c"
7033
862
yy556:
7034
862
    YYDEBUG(556, *YYCURSOR);
7035
862
    yych = *++YYCURSOR;
7036
862
    if (yych == 'A') goto yy638;
7037
698
    if (yych == 'a') goto yy638;
7038
81
    goto yy86;
7039
2.13k
yy557:
7040
2.13k
    YYDEBUG(557, *YYCURSOR);
7041
2.13k
    yych = *++YYCURSOR;
7042
2.13k
    if (yych == 'E') goto yy639;
7043
1.56k
    if (yych == 'e') goto yy639;
7044
1.03k
    goto yy86;
7045
2.07k
yy558:
7046
2.07k
    YYDEBUG(558, *YYCURSOR);
7047
2.07k
    ++YYCURSOR;
7048
2.07k
    YYFILL(1);
7049
2.07k
    yych = *YYCURSOR;
7050
2.07k
    YYDEBUG(559, *YYCURSOR);
7051
2.07k
    if (yych <= 0x1F) {
7052
346
      if (yych == '\t') goto yy558;
7053
113
      goto yy86;
7054
1.72k
    } else {
7055
1.72k
      if (yych <= ' ') goto yy558;
7056
1.31k
      if (yych == ')') goto yy641;
7057
418
      goto yy86;
7058
1.31k
    }
7059
3.28k
yy560:
7060
3.28k
    YYDEBUG(560, *YYCURSOR);
7061
3.28k
    yych = *++YYCURSOR;
7062
3.28k
    if (yych == 'E') goto yy643;
7063
2.86k
    if (yych == 'e') goto yy643;
7064
743
    goto yy86;
7065
3.90k
yy561:
7066
3.90k
    YYDEBUG(561, *YYCURSOR);
7067
3.90k
    yych = *++YYCURSOR;
7068
3.90k
    if (yych == 'T') goto yy644;
7069
1.86k
    if (yych == 't') goto yy644;
7070
343
    goto yy86;
7071
343
yy562:
7072
235
    YYDEBUG(562, *YYCURSOR);
7073
235
    ++YYCURSOR;
7074
235
    YYDEBUG(563, *YYCURSOR);
7075
235
    yyleng = YYCURSOR - SCNG(yy_text);
7076
235
#line 1666 "Zend/zend_language_scanner.l"
7077
235
    {
7078
235
  if (PARSER_MODE()) {
7079
8
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7080
8
    RETURN_TOKEN(T_ERROR);
7081
8
  }
7082
227
  RETURN_TOKEN(T_DOUBLE_CAST);
7083
227
}
7084
0
#line 7085 "Zend/zend_language_scanner.c"
7085
10.3k
yy564:
7086
10.3k
    YYDEBUG(564, *YYCURSOR);
7087
10.3k
    yych = *++YYCURSOR;
7088
10.3k
    if (yych == 'G') goto yy646;
7089
9.97k
    if (yych == 'g') goto yy646;
7090
750
    goto yy86;
7091
4.37k
yy565:
7092
4.37k
    YYDEBUG(565, *YYCURSOR);
7093
4.37k
    ++YYCURSOR;
7094
4.37k
    YYFILL(1);
7095
4.37k
    yych = *YYCURSOR;
7096
4.37k
    YYDEBUG(566, *YYCURSOR);
7097
4.37k
    if (yych <= 0x1F) {
7098
1.48k
      if (yych == '\t') goto yy565;
7099
1.27k
      goto yy86;
7100
2.89k
    } else {
7101
2.89k
      if (yych <= ' ') goto yy565;
7102
1.65k
      if (yych == ')') goto yy648;
7103
920
      goto yy86;
7104
1.65k
    }
7105
519
yy567:
7106
519
    YYDEBUG(567, *YYCURSOR);
7107
519
    ++YYCURSOR;
7108
519
    YYDEBUG(568, *YYCURSOR);
7109
519
    yyleng = YYCURSOR - SCNG(yy_text);
7110
519
#line 1714 "Zend/zend_language_scanner.l"
7111
519
    {
7112
519
  RETURN_TOKEN(T_VOID_CAST);
7113
519
}
7114
0
#line 7115 "Zend/zend_language_scanner.c"
7115
6.96k
yy569:
7116
6.96k
    YYDEBUG(569, *YYCURSOR);
7117
6.96k
    yych = *++YYCURSOR;
7118
6.96k
    if (yych == '\n') goto yy466;
7119
2.19k
    if (yych == '\r') goto yy468;
7120
411
    goto yy86;
7121
12.3k
yy570:
7122
12.3k
    YYDEBUG(570, *YYCURSOR);
7123
12.3k
    yyaccept = 4;
7124
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
7125
12.3k
    if (yych == 'C') goto yy650;
7126
11.2k
    if (yych == 'c') goto yy650;
7127
339
    goto yy48;
7128
3.72k
yy571:
7129
3.72k
    YYDEBUG(571, *YYCURSOR);
7130
3.72k
    yyaccept = 4;
7131
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
7132
3.72k
    if (yych == 'L') goto yy651;
7133
3.04k
    if (yych == 'l') goto yy651;
7134
371
    goto yy48;
7135
3.36k
yy572:
7136
3.36k
    YYDEBUG(572, *YYCURSOR);
7137
3.36k
    yyaccept = 4;
7138
3.36k
    yych = *(YYMARKER = ++YYCURSOR);
7139
3.36k
    if (yych == 'U') goto yy652;
7140
2.29k
    if (yych == 'u') goto yy652;
7141
281
    goto yy48;
7142
6.65k
yy573:
7143
6.65k
    YYDEBUG(573, *YYCURSOR);
7144
6.65k
    yyaccept = 4;
7145
6.65k
    yych = *(YYMARKER = ++YYCURSOR);
7146
6.65k
    if (yych == 'E') goto yy653;
7147
6.34k
    if (yych == 'e') goto yy653;
7148
644
    goto yy48;
7149
2.24k
yy574:
7150
2.24k
    YYDEBUG(574, *YYCURSOR);
7151
2.24k
    yyaccept = 4;
7152
2.24k
    yych = *(YYMARKER = ++YYCURSOR);
7153
2.24k
    if (yych == 'T') goto yy655;
7154
1.83k
    if (yych == 't') goto yy655;
7155
342
    goto yy48;
7156
2.80k
yy575:
7157
2.80k
    YYDEBUG(575, *YYCURSOR);
7158
2.80k
    yyaccept = 51;
7159
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
7160
2.80k
    if (yybm[256+yych] & 128) {
7161
439
      goto yy47;
7162
439
    }
7163
2.36k
    if (yych == '\\') goto yy164;
7164
2.33k
yy576:
7165
2.33k
    YYDEBUG(576, *YYCURSOR);
7166
2.33k
    yyleng = YYCURSOR - SCNG(yy_text);
7167
2.33k
#line 1458 "Zend/zend_language_scanner.l"
7168
2.33k
    {
7169
2.33k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7170
2.33k
}
7171
0
#line 7172 "Zend/zend_language_scanner.c"
7172
4.78k
yy577:
7173
4.78k
    YYDEBUG(577, *YYCURSOR);
7174
4.78k
    yyaccept = 4;
7175
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
7176
4.78k
    if (yych == 'L') goto yy657;
7177
3.81k
    if (yych == 'l') goto yy657;
7178
918
    goto yy48;
7179
11.1k
yy578:
7180
11.1k
    YYDEBUG(578, *YYCURSOR);
7181
11.1k
    yyaccept = 52;
7182
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
7183
11.1k
    if (yych <= '\\') {
7184
5.00k
      if (yych <= 'D') {
7185
2.16k
        if (yych <= '/') goto yy579;
7186
962
        if (yych <= '9') goto yy47;
7187
641
        if (yych >= 'A') goto yy47;
7188
2.83k
      } else {
7189
2.83k
        if (yych <= 'E') goto yy658;
7190
684
        if (yych <= 'Z') goto yy47;
7191
362
        if (yych >= '\\') goto yy164;
7192
362
      }
7193
6.10k
    } else {
7194
6.10k
      if (yych <= 'd') {
7195
1.34k
        if (yych == '_') goto yy47;
7196
1.26k
        if (yych >= 'a') goto yy47;
7197
4.75k
      } else {
7198
4.75k
        if (yych <= 'e') goto yy658;
7199
1.19k
        if (yych <= 'z') goto yy47;
7200
911
        if (yych >= 0x80) goto yy47;
7201
911
      }
7202
6.10k
    }
7203
2.43k
yy579:
7204
2.43k
    YYDEBUG(579, *YYCURSOR);
7205
2.43k
    yyleng = YYCURSOR - SCNG(yy_text);
7206
2.43k
#line 1486 "Zend/zend_language_scanner.l"
7207
2.43k
    {
7208
2.43k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7209
2.43k
}
7210
0
#line 7211 "Zend/zend_language_scanner.c"
7211
4.52k
yy580:
7212
4.52k
    YYDEBUG(580, *YYCURSOR);
7213
4.52k
    yyaccept = 4;
7214
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
7215
4.52k
    if (yych == 'T') goto yy659;
7216
2.68k
    if (yych == 't') goto yy659;
7217
302
    goto yy48;
7218
8.59k
yy581:
7219
8.59k
    YYDEBUG(581, *YYCURSOR);
7220
8.59k
    yyaccept = 4;
7221
8.59k
    yych = *(YYMARKER = ++YYCURSOR);
7222
8.59k
    if (yych == 'L') goto yy660;
7223
4.81k
    if (yych == 'l') goto yy660;
7224
507
    goto yy48;
7225
20.8k
yy582:
7226
20.8k
    YYDEBUG(582, *YYCURSOR);
7227
20.8k
    ++YYCURSOR;
7228
122k
yy583:
7229
122k
    YYDEBUG(583, *YYCURSOR);
7230
122k
    yyleng = YYCURSOR - SCNG(yy_text);
7231
122k
#line 1574 "Zend/zend_language_scanner.l"
7232
122k
    {
7233
122k
  yyless(4);
7234
122k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7235
122k
}
7236
0
#line 7237 "Zend/zend_language_scanner.c"
7237
10.4k
yy584:
7238
10.4k
    YYDEBUG(584, *YYCURSOR);
7239
10.4k
    yyaccept = 53;
7240
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
7241
10.4k
    if (yych == 'X') goto yy661;
7242
10.1k
    if (yych == 'x') goto yy661;
7243
7.27k
    goto yy583;
7244
7.27k
yy585:
7245
6.31k
    YYDEBUG(585, *YYCURSOR);
7246
6.31k
    yyaccept = 53;
7247
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
7248
6.31k
    if (yych == 'M') goto yy662;
7249
4.89k
    if (yych == 'm') goto yy662;
7250
2.08k
    goto yy583;
7251
2.82M
yy586:
7252
2.82M
    YYDEBUG(586, *YYCURSOR);
7253
2.82M
    ++YYCURSOR;
7254
2.82M
    YYFILL(1);
7255
2.82M
    yych = *YYCURSOR;
7256
2.82M
    YYDEBUG(587, *YYCURSOR);
7257
2.82M
    if (yych <= '\n') {
7258
114k
      if (yych <= 0x00) goto yy86;
7259
101k
      if (yych <= '\t') goto yy586;
7260
74.0k
      goto yy495;
7261
2.70M
    } else {
7262
2.70M
      if (yych == '\r') goto yy495;
7263
2.38M
      goto yy586;
7264
2.70M
    }
7265
563k
yy588:
7266
563k
    YYDEBUG(588, *YYCURSOR);
7267
563k
    ++YYCURSOR;
7268
563k
    YYFILL(1);
7269
563k
    yych = *YYCURSOR;
7270
563k
    YYDEBUG(589, *YYCURSOR);
7271
563k
    if (yych <= 'D') {
7272
241k
      if (yych <= 0x1F) {
7273
45.3k
        if (yych <= '\t') {
7274
24.3k
          if (yych <= 0x00) goto yy86;
7275
23.7k
          if (yych <= 0x08) goto yy586;
7276
13.7k
          goto yy588;
7277
23.7k
        } else {
7278
20.9k
          if (yych <= '\n') goto yy495;
7279
18.1k
          if (yych == '\r') goto yy495;
7280
1.32k
          goto yy586;
7281
18.1k
        }
7282
196k
      } else {
7283
196k
        if (yych <= '#') {
7284
65.1k
          if (yych <= ' ') goto yy588;
7285
44.8k
          if (yych <= '"') goto yy586;
7286
43.5k
          goto yy663;
7287
131k
        } else {
7288
131k
          if (yych == '/') goto yy664;
7289
14.8k
          if (yych <= '@') goto yy586;
7290
476
          goto yy665;
7291
14.8k
        }
7292
196k
      }
7293
321k
    } else {
7294
321k
      if (yych <= '`') {
7295
14.6k
        if (yych <= 'I') {
7296
10.1k
          if (yych <= 'E') goto yy666;
7297
9.14k
          if (yych <= 'H') goto yy665;
7298
9.00k
          goto yy667;
7299
9.14k
        } else {
7300
4.51k
          if (yych <= 'Z') goto yy665;
7301
2.17k
          if (yych == '_') goto yy665;
7302
805
          goto yy586;
7303
2.17k
        }
7304
306k
      } else {
7305
306k
        if (yych <= 'h') {
7306
246k
          if (yych == 'e') goto yy666;
7307
5.89k
          goto yy665;
7308
246k
        } else {
7309
60.9k
          if (yych <= 'i') goto yy667;
7310
27.5k
          if (yych <= 'z') goto yy665;
7311
18.2k
          if (yych <= 0x7F) goto yy586;
7312
7.47k
          goto yy665;
7313
18.2k
        }
7314
306k
      }
7315
321k
    }
7316
2.48M
yy590:
7317
2.48M
    YYDEBUG(590, *YYCURSOR);
7318
2.48M
    ++YYCURSOR;
7319
2.48M
    YYFILL(1);
7320
2.48M
    yych = *YYCURSOR;
7321
2.48M
    YYDEBUG(591, *YYCURSOR);
7322
2.48M
    if (yych <= 0x00) goto yy86;
7323
2.45M
    if (yych == '*') goto yy668;
7324
2.41M
    goto yy590;
7325
2.41M
yy592:
7326
19.3k
    YYDEBUG(592, *YYCURSOR);
7327
19.3k
    yyaccept = 4;
7328
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
7329
19.3k
    if (yych == 'S') goto yy670;
7330
18.9k
    if (yych == 's') goto yy670;
7331
2.47k
    goto yy48;
7332
5.50k
yy593:
7333
5.50k
    YYDEBUG(593, *YYCURSOR);
7334
5.50k
    yyaccept = 4;
7335
5.50k
    yych = *(YYMARKER = ++YYCURSOR);
7336
5.50k
    if (yych == 'Y') goto yy672;
7337
5.41k
    if (yych == 'y') goto yy672;
7338
516
    goto yy48;
7339
23.4k
yy594:
7340
23.4k
    YYDEBUG(594, *YYCURSOR);
7341
23.4k
    yyaccept = 4;
7342
23.4k
    yych = *(YYMARKER = ++YYCURSOR);
7343
23.4k
    if (yych == 'H') goto yy674;
7344
23.1k
    if (yych == 'h') goto yy674;
7345
993
    goto yy48;
7346
99.8k
yy595:
7347
99.8k
    YYDEBUG(595, *YYCURSOR);
7348
99.8k
    yyaccept = 4;
7349
99.8k
    yych = *(YYMARKER = ++YYCURSOR);
7350
99.8k
    if (yych == 'O') goto yy676;
7351
98.9k
    if (yych == 'o') goto yy676;
7352
2.68k
    goto yy48;
7353
5.10k
yy596:
7354
5.10k
    YYDEBUG(596, *YYCURSOR);
7355
5.10k
    yyaccept = 54;
7356
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
7357
5.10k
    if (yybm[256+yych] & 128) {
7358
1.22k
      goto yy47;
7359
1.22k
    }
7360
3.88k
    if (yych == '\\') goto yy164;
7361
3.75k
yy597:
7362
3.75k
    YYDEBUG(597, *YYCURSOR);
7363
3.75k
    yyleng = YYCURSOR - SCNG(yy_text);
7364
3.75k
#line 1750 "Zend/zend_language_scanner.l"
7365
3.75k
    {
7366
3.75k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7367
3.75k
}
7368
0
#line 7369 "Zend/zend_language_scanner.c"
7369
16.9k
yy598:
7370
16.9k
    YYDEBUG(598, *YYCURSOR);
7371
16.9k
    yyaccept = 4;
7372
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
7373
16.9k
    if (yych == 'E') goto yy677;
7374
13.7k
    if (yych == 'e') goto yy677;
7375
3.24k
    goto yy48;
7376
11.4k
yy599:
7377
11.4k
    YYDEBUG(599, *YYCURSOR);
7378
11.4k
    yyaccept = 4;
7379
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
7380
11.4k
    if (yych == 'E') goto yy678;
7381
7.70k
    if (yych == 'e') goto yy678;
7382
586
    goto yy48;
7383
5.34k
yy600:
7384
5.34k
    YYDEBUG(600, *YYCURSOR);
7385
5.34k
    yyaccept = 4;
7386
5.34k
    yych = *(YYMARKER = ++YYCURSOR);
7387
5.34k
    if (yych == 'C') goto yy680;
7388
4.61k
    if (yych == 'c') goto yy680;
7389
1.13k
    goto yy48;
7390
4.89k
yy601:
7391
4.89k
    YYDEBUG(601, *YYCURSOR);
7392
4.89k
    yyaccept = 4;
7393
4.89k
    yych = *(YYMARKER = ++YYCURSOR);
7394
4.89k
    if (yych == 'D') goto yy681;
7395
4.37k
    if (yych == 'd') goto yy681;
7396
569
    goto yy48;
7397
7.10k
yy602:
7398
7.10k
    YYDEBUG(602, *YYCURSOR);
7399
7.10k
    yyaccept = 4;
7400
7.10k
    yych = *(YYMARKER = ++YYCURSOR);
7401
7.10k
    if (yych == 'A') goto yy682;
7402
6.48k
    if (yych == 'a') goto yy682;
7403
479
    goto yy48;
7404
31.4k
yy603:
7405
31.4k
    YYDEBUG(603, *YYCURSOR);
7406
31.4k
    yyaccept = 4;
7407
31.4k
    yych = *(YYMARKER = ++YYCURSOR);
7408
31.4k
    if (yych == 'A') goto yy683;
7409
30.7k
    if (yych == 'a') goto yy683;
7410
1.02k
    goto yy48;
7411
10.4k
yy604:
7412
10.4k
    YYDEBUG(604, *YYCURSOR);
7413
10.4k
    yyaccept = 4;
7414
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
7415
10.4k
    if (yych == 'E') goto yy684;
7416
9.27k
    if (yych == 'e') goto yy684;
7417
903
    goto yy48;
7418
11.1k
yy605:
7419
11.1k
    YYDEBUG(605, *YYCURSOR);
7420
11.1k
    yyaccept = 4;
7421
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
7422
11.1k
    if (yych == 'T') goto yy686;
7423
10.1k
    if (yych == 't') goto yy686;
7424
1.04k
    goto yy48;
7425
69.9k
yy606:
7426
69.9k
    YYDEBUG(606, *YYCURSOR);
7427
69.9k
    yyaccept = 55;
7428
69.9k
    yych = *(YYMARKER = ++YYCURSOR);
7429
69.9k
    if (yybm[256+yych] & 128) {
7430
1.85k
      goto yy47;
7431
1.85k
    }
7432
68.1k
    if (yych == '(') goto yy687;
7433
65.4k
    if (yych == '\\') goto yy164;
7434
67.0k
yy607:
7435
67.0k
    YYDEBUG(607, *YYCURSOR);
7436
67.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7437
67.0k
#line 1798 "Zend/zend_language_scanner.l"
7438
67.0k
    {
7439
67.0k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7440
67.0k
}
7441
0
#line 7442 "Zend/zend_language_scanner.c"
7442
6.67k
yy608:
7443
6.67k
    YYDEBUG(608, *YYCURSOR);
7444
6.67k
    yyaccept = 4;
7445
6.67k
    yych = *(YYMARKER = ++YYCURSOR);
7446
6.67k
    if (yych == 'L') goto yy688;
7447
6.49k
    if (yych == 'l') goto yy688;
7448
874
    goto yy48;
7449
19.6k
yy609:
7450
19.6k
    YYDEBUG(609, *YYCURSOR);
7451
19.6k
    yyaccept = 4;
7452
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
7453
19.6k
    if (yych == 'E') goto yy689;
7454
19.0k
    if (yych == 'e') goto yy689;
7455
453
    goto yy48;
7456
26.5k
yy610:
7457
26.5k
    YYDEBUG(610, *YYCURSOR);
7458
26.5k
    yyaccept = 56;
7459
26.5k
    yych = *(YYMARKER = ++YYCURSOR);
7460
26.5k
    if (yybm[256+yych] & 128) {
7461
1.01k
      goto yy47;
7462
1.01k
    }
7463
25.5k
    if (yych == '\\') goto yy164;
7464
25.5k
yy611:
7465
25.5k
    YYDEBUG(611, *YYCURSOR);
7466
25.5k
    yyleng = YYCURSOR - SCNG(yy_text);
7467
25.5k
#line 1419 "Zend/zend_language_scanner.l"
7468
25.5k
    {
7469
25.5k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7470
25.5k
}
7471
0
#line 7472 "Zend/zend_language_scanner.c"
7472
17.4k
yy612:
7473
17.4k
    YYDEBUG(612, *YYCURSOR);
7474
17.4k
    yyaccept = 57;
7475
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
7476
17.4k
    if (yybm[256+yych] & 128) {
7477
675
      goto yy47;
7478
675
    }
7479
16.7k
    if (yych == '\\') goto yy164;
7480
16.7k
yy613:
7481
16.7k
    YYDEBUG(613, *YYCURSOR);
7482
16.7k
    yyleng = YYCURSOR - SCNG(yy_text);
7483
16.7k
#line 1766 "Zend/zend_language_scanner.l"
7484
16.7k
    {
7485
16.7k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7486
16.7k
}
7487
0
#line 7488 "Zend/zend_language_scanner.c"
7488
4.70k
yy614:
7489
4.70k
    YYDEBUG(614, *YYCURSOR);
7490
4.70k
    yyaccept = 58;
7491
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
7492
4.70k
    if (yybm[256+yych] & 128) {
7493
510
      goto yy47;
7494
510
    }
7495
4.19k
    if (yych == '\\') goto yy164;
7496
4.19k
yy615:
7497
4.19k
    YYDEBUG(615, *YYCURSOR);
7498
4.19k
    yyleng = YYCURSOR - SCNG(yy_text);
7499
4.19k
#line 1514 "Zend/zend_language_scanner.l"
7500
4.19k
    {
7501
4.19k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7502
4.19k
}
7503
0
#line 7504 "Zend/zend_language_scanner.c"
7504
324k
yy616:
7505
324k
    YYDEBUG(616, *YYCURSOR);
7506
324k
    ++YYCURSOR;
7507
324k
    YYFILL(5);
7508
324k
    yych = *YYCURSOR;
7509
324k
    YYDEBUG(617, *YYCURSOR);
7510
324k
    if (yych <= '"') {
7511
88.2k
      if (yych <= '\f') {
7512
74.8k
        if (yych <= 0x08) goto yy86;
7513
73.5k
        if (yych <= '\n') goto yy616;
7514
751
        goto yy86;
7515
73.5k
      } else {
7516
13.4k
        if (yych <= '\r') goto yy616;
7517
2.78k
        if (yych == ' ') goto yy616;
7518
1.14k
        goto yy86;
7519
2.78k
      }
7520
236k
    } else {
7521
236k
      if (yych <= 'E') {
7522
220k
        if (yych <= '#') goto yy618;
7523
19.1k
        if (yych == '/') goto yy619;
7524
11.5k
        goto yy86;
7525
19.1k
      } else {
7526
16.1k
        if (yych <= 'F') goto yy691;
7527
13.4k
        if (yych == 'f') goto yy691;
7528
6.70k
        goto yy86;
7529
13.4k
      }
7530
236k
    }
7531
235k
yy618:
7532
235k
    YYDEBUG(618, *YYCURSOR);
7533
235k
    ++YYCURSOR;
7534
235k
    YYFILL(1);
7535
235k
    yych = *YYCURSOR;
7536
235k
    if (yych <= '\f') {
7537
66.6k
      if (yych <= 0x00) goto yy86;
7538
66.0k
      if (yych == '\n') goto yy694;
7539
1.10k
      goto yy692;
7540
168k
    } else {
7541
168k
      if (yych <= '\r') goto yy694;
7542
37.8k
      if (yych == '[') goto yy86;
7543
36.8k
      goto yy692;
7544
37.8k
    }
7545
8.77k
yy619:
7546
8.77k
    YYDEBUG(619, *YYCURSOR);
7547
8.77k
    ++YYCURSOR;
7548
8.77k
    YYFILL(1);
7549
8.77k
    yych = *YYCURSOR;
7550
8.77k
    if (yych == '*') goto yy696;
7551
3.13k
    if (yych == '/') goto yy692;
7552
1.83k
    goto yy86;
7553
9.21k
yy620:
7554
9.21k
    YYDEBUG(620, *YYCURSOR);
7555
9.21k
    yyaccept = 4;
7556
9.21k
    yych = *(YYMARKER = ++YYCURSOR);
7557
9.21k
    if (yych == 'S') goto yy698;
7558
7.80k
    if (yych == 's') goto yy698;
7559
671
    goto yy48;
7560
5.68k
yy621:
7561
5.68k
    YYDEBUG(621, *YYCURSOR);
7562
5.68k
    yyaccept = 4;
7563
5.68k
    yych = *(YYMARKER = ++YYCURSOR);
7564
5.68k
    if (yych == '_') goto yy699;
7565
837
    goto yy48;
7566
7.90k
yy622:
7567
7.90k
    YYDEBUG(622, *YYCURSOR);
7568
7.90k
    yyaccept = 4;
7569
7.90k
    yych = *(YYMARKER = ++YYCURSOR);
7570
7.90k
    if (yych == '_') goto yy701;
7571
265
    goto yy48;
7572
8.44k
yy623:
7573
8.44k
    YYDEBUG(623, *YYCURSOR);
7574
8.44k
    yyaccept = 4;
7575
8.44k
    yych = *(YYMARKER = ++YYCURSOR);
7576
8.44k
    if (yych == 'T') goto yy702;
7577
3.80k
    if (yych == 't') goto yy702;
7578
1.52k
    goto yy48;
7579
6.29k
yy624:
7580
6.29k
    YYDEBUG(624, *YYCURSOR);
7581
6.29k
    yyaccept = 4;
7582
6.29k
    yych = *(YYMARKER = ++YYCURSOR);
7583
6.29k
    if (yych == '_') goto yy703;
7584
371
    goto yy48;
7585
3.87k
yy625:
7586
3.87k
    YYDEBUG(625, *YYCURSOR);
7587
3.87k
    yyaccept = 4;
7588
3.87k
    yych = *(YYMARKER = ++YYCURSOR);
7589
3.87k
    if (yych == '_') goto yy704;
7590
1.15k
    goto yy48;
7591
12.7k
yy626:
7592
12.7k
    YYDEBUG(626, *YYCURSOR);
7593
12.7k
    yyaccept = 4;
7594
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
7595
12.7k
    if (yych == 'O') goto yy705;
7596
4.48k
    if (yych == 'o') goto yy705;
7597
1.06k
    goto yy48;
7598
7.47k
yy627:
7599
7.47k
    YYDEBUG(627, *YYCURSOR);
7600
7.47k
    yyaccept = 4;
7601
7.47k
    yych = *(YYMARKER = ++YYCURSOR);
7602
7.47k
    if (yych == 'S') goto yy706;
7603
5.08k
    if (yych == 's') goto yy706;
7604
1.55k
    goto yy48;
7605
3.50k
yy628:
7606
3.50k
    YYDEBUG(628, *YYCURSOR);
7607
3.50k
    yyaccept = 4;
7608
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
7609
3.50k
    if (yych == 'E') goto yy707;
7610
2.16k
    if (yych == 'e') goto yy707;
7611
586
    goto yy48;
7612
4.67k
yy629:
7613
4.67k
    YYDEBUG(629, *YYCURSOR);
7614
4.67k
    yyaccept = 4;
7615
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
7616
4.67k
    if (yych == 'T') goto yy708;
7617
3.82k
    if (yych == 't') goto yy708;
7618
737
    goto yy48;
7619
68.9k
yy630:
7620
68.9k
    YYDEBUG(630, *YYCURSOR);
7621
68.9k
    ++YYCURSOR;
7622
68.9k
    YYFILL(1);
7623
68.9k
    yych = *YYCURSOR;
7624
68.9k
    if (yych <= '\r') {
7625
52.7k
      if (yych <= '\t') {
7626
1.48k
        if (yych <= 0x00) goto yy86;
7627
1.17k
        goto yy443;
7628
51.2k
      } else {
7629
51.2k
        if (yych <= '\n') goto yy709;
7630
14.4k
        if (yych <= '\f') goto yy443;
7631
13.7k
        goto yy709;
7632
14.4k
      }
7633
52.7k
    } else {
7634
16.1k
      if (yych <= '*') {
7635
2.97k
        if (yych <= ')') goto yy443;
7636
1.18k
        goto yy547;
7637
13.2k
      } else {
7638
13.2k
        if (yych == '[') goto yy230;
7639
12.9k
        goto yy443;
7640
13.2k
      }
7641
16.1k
    }
7642
4.16k
yy631:
7643
4.16k
    YYDEBUG(631, *YYCURSOR);
7644
4.16k
    yyaccept = 26;
7645
4.16k
    YYMARKER = ++YYCURSOR;
7646
4.16k
    YYFILL(1);
7647
4.16k
    yych = *YYCURSOR;
7648
4.16k
    if (yybm[0+yych] & 4) {
7649
1.56k
      goto yy230;
7650
1.56k
    }
7651
2.60k
    if (yych <= 0x00) goto yy89;
7652
2.29k
    goto yy355;
7653
2.29k
yy632:
7654
1.81k
    YYDEBUG(632, *YYCURSOR);
7655
1.81k
    ++YYCURSOR;
7656
1.81k
    YYFILL(1);
7657
1.81k
    yych = *YYCURSOR;
7658
1.81k
    if (yybm[0+yych] & 64) {
7659
380
      goto yy355;
7660
380
    }
7661
1.43k
    if (yych <= 0x00) goto yy86;
7662
1.19k
    if (yych == '.') goto yy711;
7663
177
    goto yy230;
7664
19.2k
yy633:
7665
19.2k
    YYDEBUG(633, *YYCURSOR);
7666
19.2k
    ++YYCURSOR;
7667
19.2k
    YYFILL(1);
7668
19.2k
    yych = *YYCURSOR;
7669
19.2k
    if (yych <= '*') {
7670
18.1k
      if (yych <= 0x00) goto yy86;
7671
17.8k
      if (yych <= ')') goto yy230;
7672
17.6k
      goto yy712;
7673
17.8k
    } else {
7674
1.04k
      if (yych == '/') goto yy443;
7675
459
      goto yy230;
7676
1.04k
    }
7677
2.21k
yy634:
7678
2.21k
    YYDEBUG(634, *YYCURSOR);
7679
2.21k
    ++YYCURSOR;
7680
2.21k
    YYDEBUG(635, *YYCURSOR);
7681
2.21k
    yyleng = YYCURSOR - SCNG(yy_text);
7682
2.21k
#line 1688 "Zend/zend_language_scanner.l"
7683
2.21k
    {
7684
2.21k
  RETURN_TOKEN(T_ARRAY_CAST);
7685
2.21k
}
7686
0
#line 7687 "Zend/zend_language_scanner.c"
7687
1.06k
yy636:
7688
1.06k
    YYDEBUG(636, *YYCURSOR);
7689
1.06k
    ++YYCURSOR;
7690
1.06k
    YYFILL(1);
7691
1.06k
    yych = *YYCURSOR;
7692
1.06k
    YYDEBUG(637, *YYCURSOR);
7693
1.06k
    if (yych <= 0x1F) {
7694
452
      if (yych == '\t') goto yy636;
7695
244
      goto yy86;
7696
611
    } else {
7697
611
      if (yych <= ' ') goto yy636;
7698
534
      if (yych == ')') goto yy713;
7699
202
      goto yy86;
7700
534
    }
7701
781
yy638:
7702
781
    YYDEBUG(638, *YYCURSOR);
7703
781
    yych = *++YYCURSOR;
7704
781
    if (yych == 'N') goto yy715;
7705
643
    if (yych == 'n') goto yy715;
7706
123
    goto yy86;
7707
1.36k
yy639:
7708
1.36k
    YYDEBUG(639, *YYCURSOR);
7709
1.36k
    ++YYCURSOR;
7710
1.36k
    YYFILL(1);
7711
1.36k
    yych = *YYCURSOR;
7712
1.36k
    YYDEBUG(640, *YYCURSOR);
7713
1.36k
    if (yych <= 0x1F) {
7714
256
      if (yych == '\t') goto yy639;
7715
43
      goto yy86;
7716
1.11k
    } else {
7717
1.11k
      if (yych <= ' ') goto yy639;
7718
1.06k
      if (yych == ')') goto yy717;
7719
597
      goto yy86;
7720
1.06k
    }
7721
896
yy641:
7722
896
    YYDEBUG(641, *YYCURSOR);
7723
896
    ++YYCURSOR;
7724
896
    YYDEBUG(642, *YYCURSOR);
7725
896
    yyleng = YYCURSOR - SCNG(yy_text);
7726
896
#line 1652 "Zend/zend_language_scanner.l"
7727
896
    {
7728
896
  RETURN_TOKEN(T_DOUBLE_CAST);
7729
896
}
7730
0
#line 7731 "Zend/zend_language_scanner.c"
7731
2.53k
yy643:
7732
2.53k
    YYDEBUG(643, *YYCURSOR);
7733
2.53k
    yych = *++YYCURSOR;
7734
2.53k
    if (yych == 'R') goto yy719;
7735
1.80k
    if (yych == 'r') goto yy719;
7736
585
    goto yy86;
7737
5.08k
yy644:
7738
5.08k
    YYDEBUG(644, *YYCURSOR);
7739
5.08k
    ++YYCURSOR;
7740
5.08k
    YYFILL(1);
7741
5.08k
    yych = *YYCURSOR;
7742
5.08k
    YYDEBUG(645, *YYCURSOR);
7743
5.08k
    if (yych <= 0x1F) {
7744
3.03k
      if (yych == '\t') goto yy644;
7745
1.69k
      goto yy86;
7746
3.03k
    } else {
7747
2.04k
      if (yych <= ' ') goto yy644;
7748
1.86k
      if (yych == ')') goto yy721;
7749
788
      goto yy86;
7750
1.86k
    }
7751
11.7k
yy646:
7752
11.7k
    YYDEBUG(646, *YYCURSOR);
7753
11.7k
    ++YYCURSOR;
7754
11.7k
    YYFILL(1);
7755
11.7k
    yych = *YYCURSOR;
7756
11.7k
    YYDEBUG(647, *YYCURSOR);
7757
11.7k
    if (yych <= 0x1F) {
7758
4.14k
      if (yych == '\t') goto yy646;
7759
3.92k
      goto yy86;
7760
7.56k
    } else {
7761
7.56k
      if (yych <= ' ') goto yy646;
7762
5.70k
      if (yych == ')') goto yy723;
7763
3.21k
      goto yy86;
7764
5.70k
    }
7765
734
yy648:
7766
734
    YYDEBUG(648, *YYCURSOR);
7767
734
    ++YYCURSOR;
7768
734
    YYDEBUG(649, *YYCURSOR);
7769
734
    yyleng = YYCURSOR - SCNG(yy_text);
7770
734
#line 1710 "Zend/zend_language_scanner.l"
7771
734
    {
7772
734
  RETURN_TOKEN(T_UNSET_CAST);
7773
734
}
7774
0
#line 7775 "Zend/zend_language_scanner.c"
7775
11.9k
yy650:
7776
11.9k
    YYDEBUG(650, *YYCURSOR);
7777
11.9k
    yyaccept = 4;
7778
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
7779
11.9k
    if (yych == 'T') goto yy725;
7780
11.1k
    if (yych == 't') goto yy725;
7781
3.50k
    goto yy48;
7782
3.50k
yy651:
7783
3.35k
    YYDEBUG(651, *YYCURSOR);
7784
3.35k
    yyaccept = 4;
7785
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
7786
3.35k
    if (yych == 'E') goto yy727;
7787
3.03k
    if (yych == 'e') goto yy727;
7788
463
    goto yy48;
7789
3.08k
yy652:
7790
3.08k
    YYDEBUG(652, *YYCURSOR);
7791
3.08k
    yyaccept = 4;
7792
3.08k
    yych = *(YYMARKER = ++YYCURSOR);
7793
3.08k
    if (yych == 'E') goto yy729;
7794
2.07k
    if (yych == 'e') goto yy729;
7795
301
    goto yy48;
7796
6.00k
yy653:
7797
6.00k
    YYDEBUG(653, *YYCURSOR);
7798
6.00k
    yyaccept = 59;
7799
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
7800
6.00k
    if (yybm[256+yych] & 128) {
7801
474
      goto yy47;
7802
474
    }
7803
5.53k
    if (yych == '\\') goto yy164;
7804
5.53k
yy654:
7805
5.53k
    YYDEBUG(654, *YYCURSOR);
7806
5.53k
    yyleng = YYCURSOR - SCNG(yy_text);
7807
5.53k
#line 1498 "Zend/zend_language_scanner.l"
7808
5.53k
    {
7809
5.53k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7810
5.53k
}
7811
0
#line 7812 "Zend/zend_language_scanner.c"
7812
1.90k
yy655:
7813
1.90k
    YYDEBUG(655, *YYCURSOR);
7814
1.90k
    yyaccept = 60;
7815
1.90k
    yych = *(YYMARKER = ++YYCURSOR);
7816
1.90k
    if (yybm[256+yych] & 128) {
7817
332
      goto yy47;
7818
332
    }
7819
1.57k
    if (yych == '\\') goto yy164;
7820
1.55k
yy656:
7821
1.55k
    YYDEBUG(656, *YYCURSOR);
7822
1.55k
    yyleng = YYCURSOR - SCNG(yy_text);
7823
1.55k
#line 1530 "Zend/zend_language_scanner.l"
7824
1.55k
    {
7825
1.55k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7826
1.55k
}
7827
0
#line 7828 "Zend/zend_language_scanner.c"
7828
3.86k
yy657:
7829
3.86k
    YYDEBUG(657, *YYCURSOR);
7830
3.86k
    yyaccept = 4;
7831
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
7832
3.86k
    if (yych == 'A') goto yy731;
7833
2.94k
    if (yych == 'a') goto yy731;
7834
651
    goto yy48;
7835
5.71k
yy658:
7836
5.71k
    YYDEBUG(658, *YYCURSOR);
7837
5.71k
    yyaccept = 4;
7838
5.71k
    yych = *(YYMARKER = ++YYCURSOR);
7839
5.71k
    if (yych == 'A') goto yy732;
7840
3.78k
    if (yych == 'a') goto yy732;
7841
462
    goto yy48;
7842
4.22k
yy659:
7843
4.22k
    YYDEBUG(659, *YYCURSOR);
7844
4.22k
    yyaccept = 4;
7845
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
7846
4.22k
    if (yych == 'C') goto yy733;
7847
3.10k
    if (yych == 'c') goto yy733;
7848
782
    goto yy48;
7849
8.09k
yy660:
7850
8.09k
    YYDEBUG(660, *YYCURSOR);
7851
8.09k
    yyaccept = 4;
7852
8.09k
    yych = *(YYMARKER = ++YYCURSOR);
7853
8.09k
    if (yych == 'E') goto yy734;
7854
7.36k
    if (yych == 'e') goto yy734;
7855
3.40k
    goto yy48;
7856
3.40k
yy661:
7857
3.15k
    YYDEBUG(661, *YYCURSOR);
7858
3.15k
    yych = *++YYCURSOR;
7859
3.15k
    if (yych == 'T') goto yy736;
7860
2.08k
    if (yych == 't') goto yy736;
7861
396
    goto yy86;
7862
4.22k
yy662:
7863
4.22k
    YYDEBUG(662, *YYCURSOR);
7864
4.22k
    yych = *++YYCURSOR;
7865
4.22k
    if (yych == 'P') goto yy737;
7866
2.99k
    if (yych == 'p') goto yy737;
7867
623
    goto yy86;
7868
43.5k
yy663:
7869
43.5k
    YYDEBUG(663, *YYCURSOR);
7870
43.5k
    ++YYCURSOR;
7871
43.5k
    YYFILL(1);
7872
43.5k
    yych = *YYCURSOR;
7873
43.5k
    if (yych <= '\n') {
7874
28.9k
      if (yych <= 0x00) goto yy86;
7875
28.5k
      if (yych <= '\t') goto yy586;
7876
28.0k
      goto yy588;
7877
28.5k
    } else {
7878
14.6k
      if (yych == '\r') goto yy588;
7879
6.46k
      goto yy586;
7880
14.6k
    }
7881
116k
yy664:
7882
116k
    YYDEBUG(664, *YYCURSOR);
7883
116k
    ++YYCURSOR;
7884
116k
    YYFILL(1);
7885
116k
    yych = *YYCURSOR;
7886
116k
    if (yych <= '\f') {
7887
1.99k
      if (yych <= 0x00) goto yy86;
7888
1.24k
      if (yych == '\n') goto yy495;
7889
480
      goto yy586;
7890
114k
    } else {
7891
114k
      if (yych <= '\r') goto yy495;
7892
108k
      if (yych == '*') goto yy738;
7893
14.8k
      goto yy586;
7894
108k
    }
7895
27.0k
yy665:
7896
27.0k
    YYDEBUG(665, *YYCURSOR);
7897
27.0k
    yyaccept = 53;
7898
27.0k
    YYMARKER = ++YYCURSOR;
7899
27.0k
    YYFILL(1);
7900
27.0k
    yych = *YYCURSOR;
7901
27.0k
    if (yych <= '\n') {
7902
4.50k
      if (yych <= 0x00) goto yy583;
7903
4.00k
      if (yych <= '\t') goto yy586;
7904
317
      goto yy495;
7905
22.5k
    } else {
7906
22.5k
      if (yych == '\r') goto yy495;
7907
21.2k
      goto yy586;
7908
22.5k
    }
7909
241k
yy666:
7910
241k
    YYDEBUG(666, *YYCURSOR);
7911
241k
    yyaccept = 53;
7912
241k
    YYMARKER = ++YYCURSOR;
7913
241k
    YYFILL(1);
7914
241k
    yych = *YYCURSOR;
7915
241k
    if (yych <= '\r') {
7916
47.4k
      if (yych <= '\t') {
7917
31.3k
        if (yych <= 0x00) goto yy583;
7918
30.9k
        goto yy586;
7919
31.3k
      } else {
7920
16.1k
        if (yych <= '\n') goto yy495;
7921
15.5k
        if (yych <= '\f') goto yy586;
7922
2.06k
        goto yy495;
7923
15.5k
      }
7924
193k
    } else {
7925
193k
      if (yych <= 'X') {
7926
125k
        if (yych <= 'W') goto yy586;
7927
1.77k
        goto yy740;
7928
125k
      } else {
7929
68.2k
        if (yych == 'x') goto yy740;
7930
55.3k
        goto yy586;
7931
68.2k
      }
7932
193k
    }
7933
42.3k
yy667:
7934
42.3k
    YYDEBUG(667, *YYCURSOR);
7935
42.3k
    yyaccept = 53;
7936
42.3k
    YYMARKER = ++YYCURSOR;
7937
42.3k
    YYFILL(1);
7938
42.3k
    yych = *YYCURSOR;
7939
42.3k
    if (yych <= '\r') {
7940
1.78k
      if (yych <= '\t') {
7941
871
        if (yych <= 0x00) goto yy583;
7942
599
        goto yy586;
7943
911
      } else {
7944
911
        if (yych <= '\n') goto yy495;
7945
453
        if (yych <= '\f') goto yy586;
7946
128
        goto yy495;
7947
453
      }
7948
40.6k
    } else {
7949
40.6k
      if (yych <= 'M') {
7950
9.12k
        if (yych <= 'L') goto yy586;
7951
8.33k
        goto yy741;
7952
31.4k
      } else {
7953
31.4k
        if (yych == 'm') goto yy741;
7954
6.11k
        goto yy586;
7955
31.4k
      }
7956
40.6k
    }
7957
67.6k
yy668:
7958
67.6k
    YYDEBUG(668, *YYCURSOR);
7959
67.6k
    ++YYCURSOR;
7960
67.6k
    YYFILL(1);
7961
67.6k
    yych = *YYCURSOR;
7962
67.6k
    YYDEBUG(669, *YYCURSOR);
7963
67.6k
    if (yych <= '*') {
7964
27.5k
      if (yych <= 0x00) goto yy86;
7965
26.2k
      if (yych <= ')') goto yy590;
7966
19.0k
      goto yy668;
7967
40.0k
    } else {
7968
40.0k
      if (yych == '/') goto yy495;
7969
9.79k
      goto yy590;
7970
40.0k
    }
7971
16.9k
yy670:
7972
16.9k
    YYDEBUG(670, *YYCURSOR);
7973
16.9k
    yyaccept = 61;
7974
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
7975
16.9k
    if (yybm[256+yych] & 128) {
7976
853
      goto yy47;
7977
853
    }
7978
16.0k
    if (yych == '\\') goto yy164;
7979
16.0k
yy671:
7980
16.0k
    YYDEBUG(671, *YYCURSOR);
7981
16.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7982
16.0k
#line 1579 "Zend/zend_language_scanner.l"
7983
16.0k
    {
7984
16.0k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7985
16.0k
}
7986
0
#line 7987 "Zend/zend_language_scanner.c"
7987
4.99k
yy672:
7988
4.99k
    YYDEBUG(672, *YYCURSOR);
7989
4.99k
    yyaccept = 62;
7990
4.99k
    yych = *(YYMARKER = ++YYCURSOR);
7991
4.99k
    if (yybm[256+yych] & 128) {
7992
711
      goto yy47;
7993
711
    }
7994
4.27k
    if (yych == '\\') goto yy164;
7995
3.87k
yy673:
7996
3.87k
    YYDEBUG(673, *YYCURSOR);
7997
3.87k
    yyleng = YYCURSOR - SCNG(yy_text);
7998
3.87k
#line 1446 "Zend/zend_language_scanner.l"
7999
3.87k
    {
8000
3.87k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8001
3.87k
}
8002
0
#line 8003 "Zend/zend_language_scanner.c"
8003
22.4k
yy674:
8004
22.4k
    YYDEBUG(674, *YYCURSOR);
8005
22.4k
    yyaccept = 63;
8006
22.4k
    yych = *(YYMARKER = ++YYCURSOR);
8007
22.4k
    if (yybm[256+yych] & 128) {
8008
1.39k
      goto yy47;
8009
1.39k
    }
8010
21.0k
    if (yych == '\\') goto yy164;
8011
20.9k
yy675:
8012
20.9k
    YYDEBUG(675, *YYCURSOR);
8013
20.9k
    yyleng = YYCURSOR - SCNG(yy_text);
8014
20.9k
#line 1490 "Zend/zend_language_scanner.l"
8015
20.9k
    {
8016
20.9k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8017
20.9k
}
8018
0
#line 8019 "Zend/zend_language_scanner.c"
8019
97.1k
yy676:
8020
97.1k
    YYDEBUG(676, *YYCURSOR);
8021
97.1k
    yyaccept = 4;
8022
97.1k
    yych = *(YYMARKER = ++YYCURSOR);
8023
97.1k
    if (yych == 'N') goto yy742;
8024
96.6k
    if (yych == 'n') goto yy742;
8025
2.58k
    goto yy48;
8026
13.7k
yy677:
8027
13.7k
    YYDEBUG(677, *YYCURSOR);
8028
13.7k
    yyaccept = 4;
8029
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
8030
13.7k
    if (yych == 'N') goto yy744;
8031
10.9k
    if (yych == 'n') goto yy744;
8032
2.78k
    goto yy48;
8033
10.8k
yy678:
8034
10.8k
    YYDEBUG(678, *YYCURSOR);
8035
10.8k
    yyaccept = 64;
8036
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
8037
10.8k
    if (yych <= '\\') {
8038
5.71k
      if (yych <= '@') {
8039
5.24k
        if (yych <= '/') goto yy679;
8040
1.82k
        if (yych <= '9') goto yy47;
8041
1.82k
      } else {
8042
475
        if (yych <= 'Z') goto yy47;
8043
206
        if (yych >= '\\') goto yy164;
8044
206
      }
8045
5.71k
    } else {
8046
5.10k
      if (yych <= '`') {
8047
4.12k
        if (yych == '_') goto yy745;
8048
4.12k
      } else {
8049
987
        if (yych <= 'z') goto yy47;
8050
513
        if (yych >= 0x80) goto yy47;
8051
513
      }
8052
5.10k
    }
8053
5.64k
yy679:
8054
5.64k
    YYDEBUG(679, *YYCURSOR);
8055
5.64k
    yyleng = YYCURSOR - SCNG(yy_text);
8056
5.64k
#line 1722 "Zend/zend_language_scanner.l"
8057
5.64k
    {
8058
5.64k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8059
5.64k
}
8060
0
#line 8061 "Zend/zend_language_scanner.c"
8061
4.20k
yy680:
8062
4.20k
    YYDEBUG(680, *YYCURSOR);
8063
4.20k
    yyaccept = 4;
8064
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
8065
4.20k
    if (yych == 'E') goto yy746;
8066
3.46k
    if (yych == 'e') goto yy746;
8067
479
    goto yy48;
8068
4.32k
yy681:
8069
4.32k
    YYDEBUG(681, *YYCURSOR);
8070
4.32k
    yyaccept = 4;
8071
4.32k
    yych = *(YYMARKER = ++YYCURSOR);
8072
4.32k
    if (yych == 'O') goto yy747;
8073
3.93k
    if (yych == 'o') goto yy747;
8074
588
    goto yy48;
8075
6.62k
yy682:
8076
6.62k
    YYDEBUG(682, *YYCURSOR);
8077
6.62k
    yyaccept = 4;
8078
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
8079
6.62k
    if (yych == 'C') goto yy748;
8080
6.28k
    if (yych == 'c') goto yy748;
8081
446
    goto yy48;
8082
30.3k
yy683:
8083
30.3k
    YYDEBUG(683, *YYCURSOR);
8084
30.3k
    yyaccept = 4;
8085
30.3k
    yych = *(YYMARKER = ++YYCURSOR);
8086
30.3k
    if (yych == 'C') goto yy749;
8087
17.5k
    if (yych == 'c') goto yy749;
8088
862
    goto yy48;
8089
9.52k
yy684:
8090
9.52k
    YYDEBUG(684, *YYCURSOR);
8091
9.52k
    yyaccept = 65;
8092
9.52k
    yych = *(YYMARKER = ++YYCURSOR);
8093
9.52k
    if (yybm[256+yych] & 128) {
8094
821
      goto yy47;
8095
821
    }
8096
8.70k
    if (yych == '(') goto yy750;
8097
6.34k
    if (yych == '\\') goto yy164;
8098
8.25k
yy685:
8099
8.25k
    YYDEBUG(685, *YYCURSOR);
8100
8.25k
    yyleng = YYCURSOR - SCNG(yy_text);
8101
8.25k
#line 1778 "Zend/zend_language_scanner.l"
8102
8.25k
    {
8103
8.25k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8104
8.25k
}
8105
0
#line 8106 "Zend/zend_language_scanner.c"
8106
10.1k
yy686:
8107
10.1k
    YYDEBUG(686, *YYCURSOR);
8108
10.1k
    yyaccept = 4;
8109
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
8110
10.1k
    if (yych == 'E') goto yy751;
8111
8.60k
    if (yych == 'e') goto yy751;
8112
839
    goto yy48;
8113
2.66k
yy687:
8114
2.66k
    YYDEBUG(687, *YYCURSOR);
8115
2.66k
    yych = *++YYCURSOR;
8116
2.66k
    if (yych == 'S') goto yy752;
8117
1.92k
    if (yych == 's') goto yy752;
8118
433
    goto yy86;
8119
5.80k
yy688:
8120
5.80k
    YYDEBUG(688, *YYCURSOR);
8121
5.80k
    yyaccept = 4;
8122
5.80k
    yych = *(YYMARKER = ++YYCURSOR);
8123
5.80k
    if (yych == 'Y') goto yy753;
8124
5.50k
    if (yych == 'y') goto yy753;
8125
597
    goto yy48;
8126
19.2k
yy689:
8127
19.2k
    YYDEBUG(689, *YYCURSOR);
8128
19.2k
    yyaccept = 66;
8129
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
8130
19.2k
    if (yych <= '\\') {
8131
8.16k
      if (yych <= '@') {
8132
6.86k
        if (yych <= '/') goto yy690;
8133
908
        if (yych <= '9') goto yy47;
8134
1.30k
      } else {
8135
1.30k
        if (yych <= 'Z') goto yy47;
8136
1.13k
        if (yych >= '\\') goto yy164;
8137
1.13k
      }
8138
11.0k
    } else {
8139
11.0k
      if (yych <= '`') {
8140
3.97k
        if (yych == '_') goto yy755;
8141
7.06k
      } else {
8142
7.06k
        if (yych <= 'z') goto yy47;
8143
6.51k
        if (yych >= 0x80) goto yy47;
8144
6.51k
      }
8145
11.0k
    }
8146
8.37k
yy690:
8147
8.37k
    YYDEBUG(690, *YYCURSOR);
8148
8.37k
    yyleng = YYCURSOR - SCNG(yy_text);
8149
8.37k
#line 1730 "Zend/zend_language_scanner.l"
8150
8.37k
    {
8151
8.37k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8152
8.37k
}
8153
0
#line 8154 "Zend/zend_language_scanner.c"
8154
9.50k
yy691:
8155
9.50k
    YYDEBUG(691, *YYCURSOR);
8156
9.50k
    yych = *++YYCURSOR;
8157
9.50k
    if (yych == 'R') goto yy756;
8158
7.21k
    if (yych == 'r') goto yy756;
8159
2.84k
    goto yy86;
8160
1.03M
yy692:
8161
1.03M
    YYDEBUG(692, *YYCURSOR);
8162
1.03M
    ++YYCURSOR;
8163
1.03M
    YYFILL(1);
8164
1.03M
    yych = *YYCURSOR;
8165
1.03M
    YYDEBUG(693, *YYCURSOR);
8166
1.03M
    if (yych <= '\n') {
8167
116k
      if (yych <= 0x00) goto yy86;
8168
109k
      if (yych <= '\t') goto yy692;
8169
100k
      goto yy616;
8170
913k
    } else {
8171
913k
      if (yych == '\r') goto yy616;
8172
864k
      goto yy692;
8173
913k
    }
8174
229k
yy694:
8175
229k
    YYDEBUG(694, *YYCURSOR);
8176
229k
    ++YYCURSOR;
8177
229k
    YYFILL(1);
8178
229k
    yych = *YYCURSOR;
8179
229k
    YYDEBUG(695, *YYCURSOR);
8180
229k
    if (yych <= ' ') {
8181
32.4k
      if (yych <= '\n') {
8182
16.0k
        if (yych <= 0x00) goto yy86;
8183
15.2k
        if (yych <= 0x08) goto yy692;
8184
11.7k
        if (yych <= '\t') goto yy694;
8185
2.81k
        goto yy616;
8186
16.4k
      } else {
8187
16.4k
        if (yych == '\r') goto yy616;
8188
3.06k
        if (yych <= 0x1F) goto yy692;
8189
2.42k
        goto yy694;
8190
3.06k
      }
8191
197k
    } else {
8192
197k
      if (yych <= '/') {
8193
121k
        if (yych == '#') goto yy757;
8194
108k
        if (yych <= '.') goto yy692;
8195
96.9k
        goto yy758;
8196
108k
      } else {
8197
75.6k
        if (yych <= 'F') {
8198
37.6k
          if (yych <= 'E') goto yy692;
8199
16.7k
          goto yy759;
8200
37.9k
        } else {
8201
37.9k
          if (yych == 'f') goto yy759;
8202
35.4k
          goto yy692;
8203
37.9k
        }
8204
75.6k
      }
8205
197k
    }
8206
2.03M
yy696:
8207
2.03M
    YYDEBUG(696, *YYCURSOR);
8208
2.03M
    ++YYCURSOR;
8209
2.03M
    YYFILL(1);
8210
2.03M
    yych = *YYCURSOR;
8211
2.03M
    YYDEBUG(697, *YYCURSOR);
8212
2.03M
    if (yych <= 0x00) goto yy86;
8213
2.02M
    if (yych == '*') goto yy760;
8214
1.93M
    goto yy696;
8215
1.93M
yy698:
8216
8.54k
    YYDEBUG(698, *YYCURSOR);
8217
8.54k
    yyaccept = 4;
8218
8.54k
    yych = *(YYMARKER = ++YYCURSOR);
8219
8.54k
    if (yych == '_') goto yy762;
8220
330
    goto yy48;
8221
4.85k
yy699:
8222
4.85k
    YYDEBUG(699, *YYCURSOR);
8223
4.85k
    yyaccept = 67;
8224
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
8225
4.85k
    if (yybm[256+yych] & 128) {
8226
503
      goto yy47;
8227
503
    }
8228
4.34k
    if (yych == '\\') goto yy164;
8229
4.34k
yy700:
8230
4.34k
    YYDEBUG(700, *YYCURSOR);
8231
4.34k
    yyleng = YYCURSOR - SCNG(yy_text);
8232
4.34k
#line 2281 "Zend/zend_language_scanner.l"
8233
4.34k
    {
8234
4.34k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8235
4.34k
}
8236
0
#line 8237 "Zend/zend_language_scanner.c"
8237
7.64k
yy701:
8238
7.64k
    YYDEBUG(701, *YYCURSOR);
8239
7.64k
    yyaccept = 4;
8240
7.64k
    yych = *(YYMARKER = ++YYCURSOR);
8241
7.64k
    if (yych == '_') goto yy763;
8242
979
    goto yy48;
8243
6.92k
yy702:
8244
6.92k
    YYDEBUG(702, *YYCURSOR);
8245
6.92k
    yyaccept = 4;
8246
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
8247
6.92k
    if (yych == 'I') goto yy765;
8248
4.07k
    if (yych == 'i') goto yy765;
8249
794
    goto yy48;
8250
5.92k
yy703:
8251
5.92k
    YYDEBUG(703, *YYCURSOR);
8252
5.92k
    yyaccept = 4;
8253
5.92k
    yych = *(YYMARKER = ++YYCURSOR);
8254
5.92k
    if (yych == 'C') goto yy766;
8255
5.14k
    if (yych == 'c') goto yy766;
8256
153
    goto yy48;
8257
2.71k
yy704:
8258
2.71k
    YYDEBUG(704, *YYCURSOR);
8259
2.71k
    yyaccept = 4;
8260
2.71k
    yych = *(YYMARKER = ++YYCURSOR);
8261
2.71k
    if (yych == '_') goto yy767;
8262
522
    goto yy48;
8263
11.6k
yy705:
8264
11.6k
    YYDEBUG(705, *YYCURSOR);
8265
11.6k
    yyaccept = 4;
8266
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
8267
11.6k
    if (yych == 'D') goto yy769;
8268
3.41k
    if (yych == 'd') goto yy769;
8269
309
    goto yy48;
8270
5.91k
yy706:
8271
5.91k
    YYDEBUG(706, *YYCURSOR);
8272
5.91k
    yyaccept = 4;
8273
5.91k
    yych = *(YYMARKER = ++YYCURSOR);
8274
5.91k
    if (yych == 'P') goto yy770;
8275
3.73k
    if (yych == 'p') goto yy770;
8276
346
    goto yy48;
8277
2.92k
yy707:
8278
2.92k
    YYDEBUG(707, *YYCURSOR);
8279
2.92k
    yyaccept = 4;
8280
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
8281
2.92k
    if (yych == 'R') goto yy771;
8282
906
    if (yych == 'r') goto yy771;
8283
613
    goto yy48;
8284
3.94k
yy708:
8285
3.94k
    YYDEBUG(708, *YYCURSOR);
8286
3.94k
    yyaccept = 4;
8287
3.94k
    yych = *(YYMARKER = ++YYCURSOR);
8288
3.94k
    if (yych == '_') goto yy772;
8289
653
    goto yy48;
8290
69.9k
yy709:
8291
69.9k
    YYDEBUG(709, *YYCURSOR);
8292
69.9k
    ++YYCURSOR;
8293
69.9k
    YYFILL(1);
8294
69.9k
    yych = *YYCURSOR;
8295
69.9k
    YYDEBUG(710, *YYCURSOR);
8296
69.9k
    if (yych <= ' ') {
8297
7.44k
      if (yych <= '\n') {
8298
3.50k
        if (yych <= 0x00) goto yy86;
8299
3.14k
        if (yych <= 0x08) goto yy443;
8300
2.73k
        if (yych <= '\t') goto yy709;
8301
1.57k
        goto yy545;
8302
3.93k
      } else {
8303
3.93k
        if (yych == '\r') goto yy545;
8304
1.27k
        if (yych <= 0x1F) goto yy443;
8305
838
        goto yy709;
8306
1.27k
      }
8307
62.5k
    } else {
8308
62.5k
      if (yych <= ')') {
8309
9.65k
        if (yych <= '"') goto yy443;
8310
9.46k
        if (yych <= '#') goto yy773;
8311
4.61k
        if (yych <= '$') goto yy774;
8312
3.75k
        goto yy443;
8313
52.8k
      } else {
8314
52.8k
        if (yych <= '-') {
8315
1.19k
          if (yych <= '*') goto yy547;
8316
659
          goto yy443;
8317
51.6k
        } else {
8318
51.6k
          if (yych <= '.') goto yy775;
8319
46.8k
          if (yych <= '/') goto yy776;
8320
28.3k
          goto yy443;
8321
46.8k
        }
8322
52.8k
      }
8323
62.5k
    }
8324
1.01k
yy711:
8325
1.01k
    YYDEBUG(711, *YYCURSOR);
8326
1.01k
    ++YYCURSOR;
8327
1.01k
    YYFILL(1);
8328
1.01k
    yych = *YYCURSOR;
8329
1.01k
    if (yybm[0+yych] & 64) {
8330
493
      goto yy355;
8331
493
    }
8332
525
    if (yych <= 0x00) goto yy86;
8333
458
    if (yych == '.') goto yy631;
8334
180
    goto yy230;
8335
17.6k
yy712:
8336
17.6k
    YYDEBUG(712, *YYCURSOR);
8337
17.6k
    ++YYCURSOR;
8338
17.6k
    YYFILL(1);
8339
17.6k
    yych = *YYCURSOR;
8340
17.6k
    if (yybm[0+yych] & 64) {
8341
160
      goto yy355;
8342
160
    }
8343
17.5k
    if (yych <= 0x00) goto yy86;
8344
17.2k
    if (yych == '/') goto yy545;
8345
691
    goto yy230;
8346
691
yy713:
8347
332
    YYDEBUG(713, *YYCURSOR);
8348
332
    ++YYCURSOR;
8349
332
    YYDEBUG(714, *YYCURSOR);
8350
332
    yyleng = YYCURSOR - SCNG(yy_text);
8351
332
#line 1678 "Zend/zend_language_scanner.l"
8352
332
    {
8353
332
  if (PARSER_MODE()) {
8354
42
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8355
42
    if (EG(exception)) {
8356
0
      RETURN_TOKEN(T_ERROR);
8357
0
    }
8358
42
  }
8359
332
  RETURN_TOKEN(T_STRING_CAST);
8360
332
}
8361
0
#line 8362 "Zend/zend_language_scanner.c"
8362
1.28k
yy715:
8363
1.28k
    YYDEBUG(715, *YYCURSOR);
8364
1.28k
    ++YYCURSOR;
8365
1.28k
    YYFILL(1);
8366
1.28k
    yych = *YYCURSOR;
8367
1.28k
    YYDEBUG(716, *YYCURSOR);
8368
1.28k
    if (yych <= 0x1F) {
8369
631
      if (yych == '\t') goto yy715;
8370
267
      goto yy86;
8371
651
    } else {
8372
651
      if (yych <= ' ') goto yy715;
8373
391
      if (yych == ')') goto yy777;
8374
337
      goto yy86;
8375
391
    }
8376
466
yy717:
8377
466
    YYDEBUG(717, *YYCURSOR);
8378
466
    ++YYCURSOR;
8379
466
    YYDEBUG(718, *YYCURSOR);
8380
466
    yyleng = YYCURSOR - SCNG(yy_text);
8381
466
#line 1656 "Zend/zend_language_scanner.l"
8382
466
    {
8383
466
  if (PARSER_MODE()) {
8384
85
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8385
85
    if (EG(exception)) {
8386
0
      RETURN_TOKEN(T_ERROR);
8387
0
    }
8388
85
  }
8389
466
  RETURN_TOKEN(T_DOUBLE_CAST);
8390
466
}
8391
0
#line 8392 "Zend/zend_language_scanner.c"
8392
7.33k
yy719:
8393
7.33k
    YYDEBUG(719, *YYCURSOR);
8394
7.33k
    ++YYCURSOR;
8395
7.33k
    YYFILL(1);
8396
7.33k
    yych = *YYCURSOR;
8397
7.33k
    YYDEBUG(720, *YYCURSOR);
8398
7.33k
    if (yych <= 0x1F) {
8399
3.89k
      if (yych == '\t') goto yy719;
8400
369
      goto yy86;
8401
3.89k
    } else {
8402
3.43k
      if (yych <= ' ') goto yy719;
8403
1.58k
      if (yych == ')') goto yy779;
8404
1.04k
      goto yy86;
8405
1.58k
    }
8406
1.07k
yy721:
8407
1.07k
    YYDEBUG(721, *YYCURSOR);
8408
1.07k
    ++YYCURSOR;
8409
1.07k
    YYDEBUG(722, *YYCURSOR);
8410
1.07k
    yyleng = YYCURSOR - SCNG(yy_text);
8411
1.07k
#line 1692 "Zend/zend_language_scanner.l"
8412
1.07k
    {
8413
1.07k
  RETURN_TOKEN(T_OBJECT_CAST);
8414
1.07k
}
8415
0
#line 8416 "Zend/zend_language_scanner.c"
8416
2.49k
yy723:
8417
2.49k
    YYDEBUG(723, *YYCURSOR);
8418
2.49k
    ++YYCURSOR;
8419
2.49k
    YYDEBUG(724, *YYCURSOR);
8420
2.49k
    yyleng = YYCURSOR - SCNG(yy_text);
8421
2.49k
#line 1674 "Zend/zend_language_scanner.l"
8422
2.49k
    {
8423
2.49k
  RETURN_TOKEN(T_STRING_CAST);
8424
2.49k
}
8425
0
#line 8426 "Zend/zend_language_scanner.c"
8426
8.45k
yy725:
8427
8.45k
    YYDEBUG(725, *YYCURSOR);
8428
8.45k
    yyaccept = 68;
8429
8.45k
    yych = *(YYMARKER = ++YYCURSOR);
8430
8.45k
    if (yybm[256+yych] & 128) {
8431
1.43k
      goto yy47;
8432
1.43k
    }
8433
7.02k
    if (yych == '\\') goto yy164;
8434
6.96k
yy726:
8435
6.96k
    YYDEBUG(726, *YYCURSOR);
8436
6.96k
    yyleng = YYCURSOR - SCNG(yy_text);
8437
6.96k
#line 1770 "Zend/zend_language_scanner.l"
8438
6.96k
    {
8439
6.96k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8440
6.96k
}
8441
0
#line 8442 "Zend/zend_language_scanner.c"
8442
2.89k
yy727:
8443
2.89k
    YYDEBUG(727, *YYCURSOR);
8444
2.89k
    yyaccept = 69;
8445
2.89k
    yych = *(YYMARKER = ++YYCURSOR);
8446
2.89k
    if (yybm[256+yych] & 128) {
8447
249
      goto yy47;
8448
249
    }
8449
2.64k
    if (yych == '\\') goto yy164;
8450
2.56k
yy728:
8451
2.56k
    YYDEBUG(728, *YYCURSOR);
8452
2.56k
    yyleng = YYCURSOR - SCNG(yy_text);
8453
2.56k
#line 1822 "Zend/zend_language_scanner.l"
8454
2.56k
    {
8455
2.56k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8456
2.56k
}
8457
0
#line 8458 "Zend/zend_language_scanner.c"
8458
2.78k
yy729:
8459
2.78k
    YYDEBUG(729, *YYCURSOR);
8460
2.78k
    yyaccept = 70;
8461
2.78k
    yych = *(YYMARKER = ++YYCURSOR);
8462
2.78k
    if (yybm[256+yych] & 128) {
8463
422
      goto yy47;
8464
422
    }
8465
2.36k
    if (yych == '\\') goto yy164;
8466
2.36k
yy730:
8467
2.36k
    YYDEBUG(730, *YYCURSOR);
8468
2.36k
    yyleng = YYCURSOR - SCNG(yy_text);
8469
2.36k
#line 1538 "Zend/zend_language_scanner.l"
8470
2.36k
    {
8471
2.36k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8472
2.36k
}
8473
0
#line 8474 "Zend/zend_language_scanner.c"
8474
3.21k
yy731:
8475
3.21k
    YYDEBUG(731, *YYCURSOR);
8476
3.21k
    yyaccept = 4;
8477
3.21k
    yych = *(YYMARKER = ++YYCURSOR);
8478
3.21k
    if (yych == 'R') goto yy781;
8479
2.56k
    if (yych == 'r') goto yy781;
8480
657
    goto yy48;
8481
5.25k
yy732:
8482
5.25k
    YYDEBUG(732, *YYCURSOR);
8483
5.25k
    yyaccept = 4;
8484
5.25k
    yych = *(YYMARKER = ++YYCURSOR);
8485
5.25k
    if (yych == 'C') goto yy782;
8486
3.69k
    if (yych == 'c') goto yy782;
8487
799
    goto yy48;
8488
3.43k
yy733:
8489
3.43k
    YYDEBUG(733, *YYCURSOR);
8490
3.43k
    yyaccept = 4;
8491
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
8492
3.43k
    if (yych == 'H') goto yy783;
8493
2.72k
    if (yych == 'h') goto yy783;
8494
1.12k
    goto yy48;
8495
4.68k
yy734:
8496
4.68k
    YYDEBUG(734, *YYCURSOR);
8497
4.68k
    yyaccept = 71;
8498
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
8499
4.68k
    if (yybm[256+yych] & 128) {
8500
485
      goto yy47;
8501
485
    }
8502
4.20k
    if (yych == '\\') goto yy164;
8503
4.20k
yy735:
8504
4.20k
    YYDEBUG(735, *YYCURSOR);
8505
4.20k
    yyleng = YYCURSOR - SCNG(yy_text);
8506
4.20k
#line 1474 "Zend/zend_language_scanner.l"
8507
4.20k
    {
8508
4.20k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8509
4.20k
}
8510
0
#line 8511 "Zend/zend_language_scanner.c"
8511
2.75k
yy736:
8512
2.75k
    YYDEBUG(736, *YYCURSOR);
8513
2.75k
    yych = *++YYCURSOR;
8514
2.75k
    if (yych == 'E') goto yy785;
8515
2.37k
    if (yych == 'e') goto yy785;
8516
334
    goto yy86;
8517
3.60k
yy737:
8518
3.60k
    YYDEBUG(737, *YYCURSOR);
8519
3.60k
    yych = *++YYCURSOR;
8520
3.60k
    if (yych == 'L') goto yy786;
8521
2.35k
    if (yych == 'l') goto yy786;
8522
508
    goto yy86;
8523
2.22M
yy738:
8524
2.22M
    YYDEBUG(738, *YYCURSOR);
8525
2.22M
    ++YYCURSOR;
8526
2.22M
    YYFILL(1);
8527
2.22M
    yych = *YYCURSOR;
8528
2.22M
    YYDEBUG(739, *YYCURSOR);
8529
2.22M
    if (yych <= '\f') {
8530
136k
      if (yych <= 0x00) goto yy86;
8531
126k
      if (yych == '\n') goto yy787;
8532
37.6k
      goto yy738;
8533
2.08M
    } else {
8534
2.08M
      if (yych <= '\r') goto yy787;
8535
1.94M
      if (yych == '*') goto yy789;
8536
1.91M
      goto yy738;
8537
1.94M
    }
8538
14.7k
yy740:
8539
14.7k
    YYDEBUG(740, *YYCURSOR);
8540
14.7k
    ++YYCURSOR;
8541
14.7k
    YYFILL(1);
8542
14.7k
    yych = *YYCURSOR;
8543
14.7k
    if (yych <= '\r') {
8544
1.54k
      if (yych <= '\t') {
8545
1.00k
        if (yych <= 0x00) goto yy86;
8546
314
        goto yy586;
8547
1.00k
      } else {
8548
535
        if (yych <= '\n') goto yy495;
8549
184
        if (yych <= '\f') goto yy586;
8550
113
        goto yy495;
8551
184
      }
8552
13.1k
    } else {
8553
13.1k
      if (yych <= 'T') {
8554
4.39k
        if (yych <= 'S') goto yy586;
8555
3.10k
        goto yy791;
8556
8.79k
      } else {
8557
8.79k
        if (yych == 't') goto yy791;
8558
4.00k
        goto yy586;
8559
8.79k
      }
8560
13.1k
    }
8561
33.6k
yy741:
8562
33.6k
    YYDEBUG(741, *YYCURSOR);
8563
33.6k
    ++YYCURSOR;
8564
33.6k
    YYFILL(1);
8565
33.6k
    yych = *YYCURSOR;
8566
33.6k
    if (yych <= '\r') {
8567
1.48k
      if (yych <= '\t') {
8568
563
        if (yych <= 0x00) goto yy86;
8569
195
        goto yy586;
8570
918
      } else {
8571
918
        if (yych <= '\n') goto yy495;
8572
755
        if (yych <= '\f') goto yy586;
8573
574
        goto yy495;
8574
755
      }
8575
32.2k
    } else {
8576
32.2k
      if (yych <= 'P') {
8577
8.63k
        if (yych <= 'O') goto yy586;
8578
7.40k
        goto yy792;
8579
23.5k
      } else {
8580
23.5k
        if (yych == 'p') goto yy792;
8581
976
        goto yy586;
8582
23.5k
      }
8583
32.2k
    }
8584
94.5k
yy742:
8585
94.5k
    YYDEBUG(742, *YYCURSOR);
8586
94.5k
    yyaccept = 72;
8587
94.5k
    yych = *(YYMARKER = ++YYCURSOR);
8588
94.5k
    if (yybm[256+yych] & 128) {
8589
1.86k
      goto yy47;
8590
1.86k
    }
8591
92.7k
    if (yych == '\\') goto yy164;
8592
92.7k
yy743:
8593
92.7k
    YYDEBUG(743, *YYCURSOR);
8594
92.7k
    yyleng = YYCURSOR - SCNG(yy_text);
8595
92.7k
#line 1411 "Zend/zend_language_scanner.l"
8596
92.7k
    {
8597
92.7k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8598
92.7k
}
8599
0
#line 8600 "Zend/zend_language_scanner.c"
8600
10.9k
yy744:
8601
10.9k
    YYDEBUG(744, *YYCURSOR);
8602
10.9k
    yyaccept = 4;
8603
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
8604
10.9k
    if (yych == 'T') goto yy793;
8605
8.72k
    if (yych == 't') goto yy793;
8606
2.51k
    goto yy48;
8607
3.95k
yy745:
8608
3.95k
    YYDEBUG(745, *YYCURSOR);
8609
3.95k
    yyaccept = 4;
8610
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
8611
3.95k
    if (yych == 'O') goto yy794;
8612
2.89k
    if (yych == 'o') goto yy794;
8613
624
    goto yy48;
8614
3.72k
yy746:
8615
3.72k
    YYDEBUG(746, *YYCURSOR);
8616
3.72k
    yyaccept = 4;
8617
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
8618
3.72k
    if (yych == 'O') goto yy795;
8619
3.00k
    if (yych == 'o') goto yy795;
8620
613
    goto yy48;
8621
3.73k
yy747:
8622
3.73k
    YYDEBUG(747, *YYCURSOR);
8623
3.73k
    yyaccept = 4;
8624
3.73k
    yych = *(YYMARKER = ++YYCURSOR);
8625
3.73k
    if (yych == 'F') goto yy796;
8626
3.17k
    if (yych == 'f') goto yy796;
8627
767
    goto yy48;
8628
6.17k
yy748:
8629
6.17k
    YYDEBUG(748, *YYCURSOR);
8630
6.17k
    yyaccept = 4;
8631
6.17k
    yych = *(YYMARKER = ++YYCURSOR);
8632
6.17k
    if (yych == 'E') goto yy798;
8633
5.94k
    if (yych == 'e') goto yy798;
8634
515
    goto yy48;
8635
29.5k
yy749:
8636
29.5k
    YYDEBUG(749, *YYCURSOR);
8637
29.5k
    yyaccept = 4;
8638
29.5k
    yych = *(YYMARKER = ++YYCURSOR);
8639
29.5k
    if (yych == 'E') goto yy800;
8640
28.2k
    if (yych == 'e') goto yy800;
8641
1.06k
    goto yy48;
8642
2.35k
yy750:
8643
2.35k
    YYDEBUG(750, *YYCURSOR);
8644
2.35k
    yych = *++YYCURSOR;
8645
2.35k
    if (yych == 'S') goto yy802;
8646
1.46k
    if (yych == 's') goto yy802;
8647
260
    goto yy86;
8648
9.27k
yy751:
8649
9.27k
    YYDEBUG(751, *YYCURSOR);
8650
9.27k
    yyaccept = 4;
8651
9.27k
    yych = *(YYMARKER = ++YYCURSOR);
8652
9.27k
    if (yych == 'D') goto yy803;
8653
7.96k
    if (yych == 'd') goto yy803;
8654
309
    goto yy48;
8655
2.23k
yy752:
8656
2.23k
    YYDEBUG(752, *YYCURSOR);
8657
2.23k
    yych = *++YYCURSOR;
8658
2.23k
    if (yych == 'E') goto yy805;
8659
1.82k
    if (yych == 'e') goto yy805;
8660
502
    goto yy86;
8661
5.20k
yy753:
8662
5.20k
    YYDEBUG(753, *YYCURSOR);
8663
5.20k
    yyaccept = 73;
8664
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
8665
5.20k
    if (yybm[256+yych] & 128) {
8666
777
      goto yy47;
8667
777
    }
8668
4.42k
    if (yych == '\\') goto yy164;
8669
4.42k
yy754:
8670
4.42k
    YYDEBUG(754, *YYCURSOR);
8671
4.42k
    yyleng = YYCURSOR - SCNG(yy_text);
8672
4.42k
#line 1802 "Zend/zend_language_scanner.l"
8673
4.42k
    {
8674
4.42k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8675
4.42k
}
8676
0
#line 8677 "Zend/zend_language_scanner.c"
8677
3.61k
yy755:
8678
3.61k
    YYDEBUG(755, *YYCURSOR);
8679
3.61k
    yyaccept = 4;
8680
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
8681
3.61k
    if (yych == 'O') goto yy806;
8682
3.00k
    if (yych == 'o') goto yy806;
8683
483
    goto yy48;
8684
6.65k
yy756:
8685
6.65k
    YYDEBUG(756, *YYCURSOR);
8686
6.65k
    yych = *++YYCURSOR;
8687
6.65k
    if (yych == 'O') goto yy807;
8688
4.53k
    if (yych == 'o') goto yy807;
8689
762
    goto yy86;
8690
12.6k
yy757:
8691
12.6k
    YYDEBUG(757, *YYCURSOR);
8692
12.6k
    ++YYCURSOR;
8693
12.6k
    YYFILL(1);
8694
12.6k
    yych = *YYCURSOR;
8695
12.6k
    if (yych <= '\n') {
8696
6.71k
      if (yych <= 0x00) goto yy86;
8697
6.50k
      if (yych <= '\t') goto yy692;
8698
6.31k
      goto yy694;
8699
6.50k
    } else {
8700
5.94k
      if (yych == '\r') goto yy694;
8701
3.62k
      goto yy692;
8702
5.94k
    }
8703
96.9k
yy758:
8704
96.9k
    YYDEBUG(758, *YYCURSOR);
8705
96.9k
    ++YYCURSOR;
8706
96.9k
    YYFILL(1);
8707
96.9k
    yych = *YYCURSOR;
8708
96.9k
    if (yych <= '\f') {
8709
1.64k
      if (yych <= 0x00) goto yy86;
8710
542
      if (yych == '\n') goto yy616;
8711
338
      goto yy692;
8712
95.3k
    } else {
8713
95.3k
      if (yych <= '\r') goto yy616;
8714
89.3k
      if (yych == '*') goto yy808;
8715
30.2k
      goto yy692;
8716
89.3k
    }
8717
19.2k
yy759:
8718
19.2k
    YYDEBUG(759, *YYCURSOR);
8719
19.2k
    ++YYCURSOR;
8720
19.2k
    YYFILL(1);
8721
19.2k
    yych = *YYCURSOR;
8722
19.2k
    if (yych <= '\r') {
8723
1.05k
      if (yych <= '\t') {
8724
382
        if (yych <= 0x00) goto yy86;
8725
211
        goto yy692;
8726
675
      } else {
8727
675
        if (yych <= '\n') goto yy616;
8728
346
        if (yych <= '\f') goto yy692;
8729
70
        goto yy616;
8730
346
      }
8731
18.1k
    } else {
8732
18.1k
      if (yych <= 'R') {
8733
15.3k
        if (yych <= 'Q') goto yy692;
8734
14.1k
        goto yy810;
8735
15.3k
      } else {
8736
2.81k
        if (yych == 'r') goto yy810;
8737
707
        goto yy692;
8738
2.81k
      }
8739
18.1k
    }
8740
93.5k
yy760:
8741
93.5k
    YYDEBUG(760, *YYCURSOR);
8742
93.5k
    ++YYCURSOR;
8743
93.5k
    YYFILL(1);
8744
93.5k
    yych = *YYCURSOR;
8745
93.5k
    YYDEBUG(761, *YYCURSOR);
8746
93.5k
    if (yych <= '*') {
8747
64.5k
      if (yych <= 0x00) goto yy86;
8748
62.9k
      if (yych <= ')') goto yy696;
8749
1.95k
      goto yy760;
8750
62.9k
    } else {
8751
29.0k
      if (yych == '/') goto yy616;
8752
8.16k
      goto yy696;
8753
29.0k
    }
8754
8.21k
yy762:
8755
8.21k
    YYDEBUG(762, *YYCURSOR);
8756
8.21k
    yyaccept = 4;
8757
8.21k
    yych = *(YYMARKER = ++YYCURSOR);
8758
8.21k
    if (yych == '_') goto yy811;
8759
634
    goto yy48;
8760
6.66k
yy763:
8761
6.66k
    YYDEBUG(763, *YYCURSOR);
8762
6.66k
    yyaccept = 74;
8763
6.66k
    yych = *(YYMARKER = ++YYCURSOR);
8764
6.66k
    if (yybm[256+yych] & 128) {
8765
646
      goto yy47;
8766
646
    }
8767
6.01k
    if (yych == '\\') goto yy164;
8768
6.01k
yy764:
8769
6.01k
    YYDEBUG(764, *YYCURSOR);
8770
6.01k
    yyleng = YYCURSOR - SCNG(yy_text);
8771
6.01k
#line 2277 "Zend/zend_language_scanner.l"
8772
6.01k
    {
8773
6.01k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8774
6.01k
}
8775
0
#line 8776 "Zend/zend_language_scanner.c"
8776
6.13k
yy765:
8777
6.13k
    YYDEBUG(765, *YYCURSOR);
8778
6.13k
    yyaccept = 4;
8779
6.13k
    yych = *(YYMARKER = ++YYCURSOR);
8780
6.13k
    if (yych == 'O') goto yy813;
8781
3.43k
    if (yych == 'o') goto yy813;
8782
414
    goto yy48;
8783
5.76k
yy766:
8784
5.76k
    YYDEBUG(766, *YYCURSOR);
8785
5.76k
    yyaccept = 4;
8786
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
8787
5.76k
    if (yych == 'O') goto yy814;
8788
5.03k
    if (yych == 'o') goto yy814;
8789
290
    goto yy48;
8790
2.19k
yy767:
8791
2.19k
    YYDEBUG(767, *YYCURSOR);
8792
2.19k
    yyaccept = 75;
8793
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
8794
2.19k
    if (yybm[256+yych] & 128) {
8795
770
      goto yy47;
8796
770
    }
8797
1.42k
    if (yych == '\\') goto yy164;
8798
1.41k
yy768:
8799
1.41k
    YYDEBUG(768, *YYCURSOR);
8800
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
8801
1.41k
#line 2273 "Zend/zend_language_scanner.l"
8802
1.41k
    {
8803
1.41k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8804
1.41k
}
8805
0
#line 8806 "Zend/zend_language_scanner.c"
8806
11.3k
yy769:
8807
11.3k
    YYDEBUG(769, *YYCURSOR);
8808
11.3k
    yyaccept = 4;
8809
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
8810
11.3k
    if (yych == '_') goto yy815;
8811
1.07k
    goto yy48;
8812
5.57k
yy770:
8813
5.57k
    YYDEBUG(770, *YYCURSOR);
8814
5.57k
    yyaccept = 4;
8815
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
8816
5.57k
    if (yych == 'A') goto yy816;
8817
3.43k
    if (yych == 'a') goto yy816;
8818
256
    goto yy48;
8819
2.31k
yy771:
8820
2.31k
    YYDEBUG(771, *YYCURSOR);
8821
2.31k
    yyaccept = 4;
8822
2.31k
    yych = *(YYMARKER = ++YYCURSOR);
8823
2.31k
    if (yych == 'T') goto yy817;
8824
1.15k
    if (yych == 't') goto yy817;
8825
386
    goto yy48;
8826
3.28k
yy772:
8827
3.28k
    YYDEBUG(772, *YYCURSOR);
8828
3.28k
    yyaccept = 4;
8829
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
8830
3.28k
    if (yych == '_') goto yy818;
8831
263
    goto yy48;
8832
4.84k
yy773:
8833
4.84k
    YYDEBUG(773, *YYCURSOR);
8834
4.84k
    ++YYCURSOR;
8835
4.84k
    YYFILL(1);
8836
4.84k
    yych = *YYCURSOR;
8837
4.84k
    if (yybm[0+yych] & 128) {
8838
724
      goto yy443;
8839
724
    }
8840
4.11k
    if (yych <= 0x00) goto yy86;
8841
4.08k
    if (yych <= '\r') goto yy709;
8842
305
    goto yy547;
8843
1.38k
yy774:
8844
1.38k
    YYDEBUG(774, *YYCURSOR);
8845
1.38k
    yyaccept = 26;
8846
1.38k
    YYMARKER = ++YYCURSOR;
8847
1.38k
    YYFILL(1);
8848
1.38k
    yych = *YYCURSOR;
8849
1.38k
    if (yybm[0+yych] & 128) {
8850
938
      goto yy443;
8851
938
    }
8852
445
    if (yych <= 0x00) goto yy89;
8853
403
    if (yych <= '\r') goto yy545;
8854
243
    goto yy547;
8855
4.85k
yy775:
8856
4.85k
    YYDEBUG(775, *YYCURSOR);
8857
4.85k
    ++YYCURSOR;
8858
4.85k
    YYFILL(1);
8859
4.85k
    yych = *YYCURSOR;
8860
4.85k
    if (yych <= '\r') {
8861
1.92k
      if (yych <= '\t') {
8862
565
        if (yych <= 0x00) goto yy86;
8863
382
        goto yy443;
8864
1.35k
      } else {
8865
1.35k
        if (yych <= '\n') goto yy545;
8866
666
        if (yych <= '\f') goto yy443;
8867
482
        goto yy545;
8868
666
      }
8869
2.93k
    } else {
8870
2.93k
      if (yych <= '*') {
8871
1.03k
        if (yych <= ')') goto yy443;
8872
551
        goto yy547;
8873
1.90k
      } else {
8874
1.90k
        if (yych == '.') goto yy820;
8875
241
        goto yy443;
8876
1.90k
      }
8877
2.93k
    }
8878
18.5k
yy776:
8879
18.5k
    YYDEBUG(776, *YYCURSOR);
8880
18.5k
    ++YYCURSOR;
8881
18.5k
    YYFILL(1);
8882
18.5k
    yych = *YYCURSOR;
8883
18.5k
    if (yybm[0+yych] & 128) {
8884
1.36k
      goto yy443;
8885
1.36k
    }
8886
17.1k
    if (yych <= 0x00) goto yy86;
8887
17.1k
    if (yych <= '\r') goto yy545;
8888
16.5k
    goto yy821;
8889
16.5k
yy777:
8890
54
    YYDEBUG(777, *YYCURSOR);
8891
54
    ++YYCURSOR;
8892
54
    YYDEBUG(778, *YYCURSOR);
8893
54
    yyleng = YYCURSOR - SCNG(yy_text);
8894
54
#line 1700 "Zend/zend_language_scanner.l"
8895
54
    {
8896
54
  if (PARSER_MODE()) {
8897
34
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8898
34
    if (EG(exception)) {
8899
0
      RETURN_TOKEN(T_ERROR);
8900
0
    }
8901
34
  }
8902
54
  RETURN_TOKEN(T_BOOL_CAST);
8903
54
}
8904
0
#line 8905 "Zend/zend_language_scanner.c"
8905
539
yy779:
8906
539
    YYDEBUG(779, *YYCURSOR);
8907
539
    ++YYCURSOR;
8908
539
    YYDEBUG(780, *YYCURSOR);
8909
539
    yyleng = YYCURSOR - SCNG(yy_text);
8910
539
#line 1642 "Zend/zend_language_scanner.l"
8911
539
    {
8912
539
  if (PARSER_MODE()) {
8913
55
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8914
55
    if (EG(exception)) {
8915
0
      RETURN_TOKEN(T_ERROR);
8916
0
    }
8917
55
  }
8918
539
  RETURN_TOKEN(T_INT_CAST);
8919
539
}
8920
0
#line 8921 "Zend/zend_language_scanner.c"
8921
2.55k
yy781:
8922
2.55k
    YYDEBUG(781, *YYCURSOR);
8923
2.55k
    yyaccept = 4;
8924
2.55k
    yych = *(YYMARKER = ++YYCURSOR);
8925
2.55k
    if (yych == 'E') goto yy822;
8926
2.10k
    if (yych == 'e') goto yy822;
8927
740
    goto yy48;
8928
4.45k
yy782:
8929
4.45k
    YYDEBUG(782, *YYCURSOR);
8930
4.45k
    yyaccept = 4;
8931
4.45k
    yych = *(YYMARKER = ++YYCURSOR);
8932
4.45k
    if (yych == 'H') goto yy824;
8933
2.89k
    if (yych == 'h') goto yy824;
8934
520
    goto yy48;
8935
2.31k
yy783:
8936
2.31k
    YYDEBUG(783, *YYCURSOR);
8937
2.31k
    yyaccept = 76;
8938
2.31k
    yych = *(YYMARKER = ++YYCURSOR);
8939
2.31k
    if (yybm[256+yych] & 128) {
8940
783
      goto yy47;
8941
783
    }
8942
1.53k
    if (yych == '\\') goto yy164;
8943
1.53k
yy784:
8944
1.53k
    YYDEBUG(784, *YYCURSOR);
8945
1.53k
    yyleng = YYCURSOR - SCNG(yy_text);
8946
1.53k
#line 1522 "Zend/zend_language_scanner.l"
8947
1.53k
    {
8948
1.53k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8949
1.53k
}
8950
0
#line 8951 "Zend/zend_language_scanner.c"
8951
2.42k
yy785:
8952
2.42k
    YYDEBUG(785, *YYCURSOR);
8953
2.42k
    yych = *++YYCURSOR;
8954
2.42k
    if (yych == 'N') goto yy826;
8955
1.66k
    if (yych == 'n') goto yy826;
8956
499
    goto yy86;
8957
3.09k
yy786:
8958
3.09k
    YYDEBUG(786, *YYCURSOR);
8959
3.09k
    yych = *++YYCURSOR;
8960
3.09k
    if (yych == 'E') goto yy827;
8961
2.49k
    if (yych == 'e') goto yy827;
8962
806
    goto yy86;
8963
350k
yy787:
8964
350k
    YYDEBUG(787, *YYCURSOR);
8965
350k
    ++YYCURSOR;
8966
350k
    YYFILL(1);
8967
350k
    yych = *YYCURSOR;
8968
350k
    YYDEBUG(788, *YYCURSOR);
8969
350k
    if (yych <= '@') {
8970
319k
      if (yych <= ' ') {
8971
55.9k
        if (yych <= '\n') {
8972
10.4k
          if (yych <= 0x00) goto yy86;
8973
8.29k
          if (yych <= 0x08) goto yy590;
8974
7.96k
          goto yy787;
8975
45.4k
        } else {
8976
45.4k
          if (yych == '\r') goto yy787;
8977
21.3k
          if (yych <= 0x1F) goto yy590;
8978
20.8k
          goto yy787;
8979
21.3k
        }
8980
263k
      } else {
8981
263k
        if (yych <= ')') {
8982
233k
          if (yych == '#') goto yy828;
8983
16.3k
          goto yy590;
8984
233k
        } else {
8985
30.7k
          if (yych <= '*') goto yy668;
8986
30.4k
          if (yych == '/') goto yy829;
8987
4.99k
          goto yy590;
8988
30.4k
        }
8989
263k
      }
8990
319k
    } else {
8991
30.7k
      if (yych <= '_') {
8992
7.57k
        if (yych <= 'H') {
8993
1.28k
          if (yych == 'E') goto yy831;
8994
997
          goto yy830;
8995
6.29k
        } else {
8996
6.29k
          if (yych <= 'I') goto yy832;
8997
2.54k
          if (yych <= 'Z') goto yy830;
8998
1.41k
          if (yych <= '^') goto yy590;
8999
821
          goto yy830;
9000
1.41k
        }
9001
23.1k
      } else {
9002
23.1k
        if (yych <= 'h') {
9003
10.0k
          if (yych <= '`') goto yy590;
9004
9.75k
          if (yych == 'e') goto yy831;
9005
1.99k
          goto yy830;
9006
13.1k
        } else {
9007
13.1k
          if (yych <= 'i') goto yy832;
9008
4.24k
          if (yych <= 'z') goto yy830;
9009
2.45k
          if (yych <= 0x7F) goto yy590;
9010
1.49k
          goto yy830;
9011
2.45k
        }
9012
23.1k
      }
9013
30.7k
    }
9014
84.3k
yy789:
9015
84.3k
    YYDEBUG(789, *YYCURSOR);
9016
84.3k
    ++YYCURSOR;
9017
84.3k
    YYFILL(1);
9018
84.3k
    yych = *YYCURSOR;
9019
84.3k
    YYDEBUG(790, *YYCURSOR);
9020
84.3k
    if (yych <= '\r') {
9021
12.3k
      if (yych <= '\t') {
9022
1.07k
        if (yych <= 0x00) goto yy86;
9023
371
        goto yy738;
9024
11.2k
      } else {
9025
11.2k
        if (yych <= '\n') goto yy787;
9026
8.93k
        if (yych <= '\f') goto yy738;
9027
7.76k
        goto yy787;
9028
8.93k
      }
9029
72.0k
    } else {
9030
72.0k
      if (yych <= '*') {
9031
46.1k
        if (yych <= ')') goto yy738;
9032
38.2k
        goto yy789;
9033
46.1k
      } else {
9034
25.8k
        if (yych == '/') goto yy588;
9035
8.46k
        goto yy738;
9036
25.8k
      }
9037
72.0k
    }
9038
7.89k
yy791:
9039
7.89k
    YYDEBUG(791, *YYCURSOR);
9040
7.89k
    ++YYCURSOR;
9041
7.89k
    YYFILL(1);
9042
7.89k
    yych = *YYCURSOR;
9043
7.89k
    if (yych <= '\r') {
9044
827
      if (yych <= '\t') {
9045
469
        if (yych <= 0x00) goto yy86;
9046
243
        goto yy586;
9047
469
      } else {
9048
358
        if (yych <= '\n') goto yy495;
9049
278
        if (yych <= '\f') goto yy586;
9050
249
        goto yy495;
9051
278
      }
9052
7.06k
    } else {
9053
7.06k
      if (yych <= 'E') {
9054
1.09k
        if (yych <= 'D') goto yy586;
9055
584
        goto yy833;
9056
5.97k
      } else {
9057
5.97k
        if (yych == 'e') goto yy833;
9058
268
        goto yy586;
9059
5.97k
      }
9060
7.06k
    }
9061
30.0k
yy792:
9062
30.0k
    YYDEBUG(792, *YYCURSOR);
9063
30.0k
    ++YYCURSOR;
9064
30.0k
    YYFILL(1);
9065
30.0k
    yych = *YYCURSOR;
9066
30.0k
    if (yych <= '\r') {
9067
1.12k
      if (yych <= '\t') {
9068
500
        if (yych <= 0x00) goto yy86;
9069
117
        goto yy586;
9070
622
      } else {
9071
622
        if (yych <= '\n') goto yy495;
9072
449
        if (yych <= '\f') goto yy586;
9073
203
        goto yy495;
9074
449
      }
9075
28.8k
    } else {
9076
28.8k
      if (yych <= 'L') {
9077
8.06k
        if (yych <= 'K') goto yy586;
9078
7.68k
        goto yy834;
9079
20.8k
      } else {
9080
20.8k
        if (yych == 'l') goto yy834;
9081
1.66k
        goto yy586;
9082
20.8k
      }
9083
28.8k
    }
9084
8.40k
yy793:
9085
8.40k
    YYDEBUG(793, *YYCURSOR);
9086
8.40k
    yyaccept = 4;
9087
8.40k
    yych = *(YYMARKER = ++YYCURSOR);
9088
8.40k
    if (yych == 'S') goto yy835;
9089
7.71k
    if (yych == 's') goto yy835;
9090
2.04k
    goto yy48;
9091
3.32k
yy794:
9092
3.32k
    YYDEBUG(794, *YYCURSOR);
9093
3.32k
    yyaccept = 4;
9094
3.32k
    yych = *(YYMARKER = ++YYCURSOR);
9095
3.32k
    if (yych == 'N') goto yy837;
9096
2.49k
    if (yych == 'n') goto yy837;
9097
372
    goto yy48;
9098
3.11k
yy795:
9099
3.11k
    YYDEBUG(795, *YYCURSOR);
9100
3.11k
    yyaccept = 4;
9101
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
9102
3.11k
    if (yych == 'F') goto yy838;
9103
2.58k
    if (yych == 'f') goto yy838;
9104
260
    goto yy48;
9105
2.96k
yy796:
9106
2.96k
    YYDEBUG(796, *YYCURSOR);
9107
2.96k
    yyaccept = 77;
9108
2.96k
    yych = *(YYMARKER = ++YYCURSOR);
9109
2.96k
    if (yybm[256+yych] & 128) {
9110
519
      goto yy47;
9111
519
    }
9112
2.44k
    if (yych == '\\') goto yy164;
9113
2.44k
yy797:
9114
2.44k
    YYDEBUG(797, *YYCURSOR);
9115
2.44k
    yyleng = YYCURSOR - SCNG(yy_text);
9116
2.44k
#line 1746 "Zend/zend_language_scanner.l"
9117
2.44k
    {
9118
2.44k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9119
2.44k
}
9120
0
#line 9121 "Zend/zend_language_scanner.c"
9121
5.66k
yy798:
9122
5.66k
    YYDEBUG(798, *YYCURSOR);
9123
5.66k
    yyaccept = 78;
9124
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
9125
5.66k
    if (yybm[256+yych] & 128) {
9126
577
      goto yy47;
9127
577
    }
9128
5.08k
    if (yych == '\\') goto yy164;
9129
5.08k
yy799:
9130
5.08k
    YYDEBUG(799, *YYCURSOR);
9131
5.08k
    yyleng = YYCURSOR - SCNG(yy_text);
9132
5.08k
#line 1558 "Zend/zend_language_scanner.l"
9133
5.08k
    {
9134
5.08k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9135
5.08k
}
9136
0
#line 9137 "Zend/zend_language_scanner.c"
9137
28.4k
yy800:
9138
28.4k
    YYDEBUG(800, *YYCURSOR);
9139
28.4k
    yyaccept = 79;
9140
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
9141
28.4k
    if (yybm[256+yych] & 128) {
9142
1.30k
      goto yy47;
9143
1.30k
    }
9144
27.1k
    if (yych == '\\') goto yy840;
9145
11.7k
yy801:
9146
11.7k
    YYDEBUG(801, *YYCURSOR);
9147
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9148
11.7k
#line 1738 "Zend/zend_language_scanner.l"
9149
11.7k
    {
9150
11.7k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9151
11.7k
}
9152
0
#line 9153 "Zend/zend_language_scanner.c"
9153
2.09k
yy802:
9154
2.09k
    YYDEBUG(802, *YYCURSOR);
9155
2.09k
    yych = *++YYCURSOR;
9156
2.09k
    if (yych == 'E') goto yy841;
9157
1.87k
    if (yych == 'e') goto yy841;
9158
1.10k
    goto yy86;
9159
8.96k
yy803:
9160
8.96k
    YYDEBUG(803, *YYCURSOR);
9161
8.96k
    yyaccept = 80;
9162
8.96k
    yych = *(YYMARKER = ++YYCURSOR);
9163
8.96k
    if (yybm[256+yych] & 128) {
9164
469
      goto yy47;
9165
469
    }
9166
8.49k
    if (yych == '(') goto yy842;
9167
5.78k
    if (yych == '\\') goto yy164;
9168
7.02k
yy804:
9169
7.02k
    YYDEBUG(804, *YYCURSOR);
9170
7.02k
    yyleng = YYCURSOR - SCNG(yy_text);
9171
7.02k
#line 1782 "Zend/zend_language_scanner.l"
9172
7.02k
    {
9173
7.02k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9174
7.02k
}
9175
0
#line 9176 "Zend/zend_language_scanner.c"
9176
1.72k
yy805:
9177
1.72k
    YYDEBUG(805, *YYCURSOR);
9178
1.72k
    yych = *++YYCURSOR;
9179
1.72k
    if (yych == 'T') goto yy843;
9180
1.08k
    if (yych == 't') goto yy843;
9181
199
    goto yy86;
9182
3.13k
yy806:
9183
3.13k
    YYDEBUG(806, *YYCURSOR);
9184
3.13k
    yyaccept = 4;
9185
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
9186
3.13k
    if (yych == 'N') goto yy844;
9187
2.69k
    if (yych == 'n') goto yy844;
9188
409
    goto yy48;
9189
5.89k
yy807:
9190
5.89k
    YYDEBUG(807, *YYCURSOR);
9191
5.89k
    yych = *++YYCURSOR;
9192
5.89k
    if (yych == 'M') goto yy845;
9193
4.93k
    if (yych == 'm') goto yy845;
9194
865
    goto yy86;
9195
896k
yy808:
9196
896k
    YYDEBUG(808, *YYCURSOR);
9197
896k
    ++YYCURSOR;
9198
896k
    YYFILL(1);
9199
896k
    yych = *YYCURSOR;
9200
896k
    YYDEBUG(809, *YYCURSOR);
9201
896k
    if (yych <= '\f') {
9202
92.1k
      if (yych <= 0x00) goto yy86;
9203
88.5k
      if (yych == '\n') goto yy846;
9204
15.2k
      goto yy808;
9205
804k
    } else {
9206
804k
      if (yych <= '\r') goto yy846;
9207
759k
      if (yych == '*') goto yy848;
9208
730k
      goto yy808;
9209
759k
    }
9210
16.2k
yy810:
9211
16.2k
    YYDEBUG(810, *YYCURSOR);
9212
16.2k
    ++YYCURSOR;
9213
16.2k
    YYFILL(1);
9214
16.2k
    yych = *YYCURSOR;
9215
16.2k
    if (yych <= '\r') {
9216
2.10k
      if (yych <= '\t') {
9217
1.01k
        if (yych <= 0x00) goto yy86;
9218
705
        goto yy692;
9219
1.09k
      } else {
9220
1.09k
        if (yych <= '\n') goto yy616;
9221
651
        if (yych <= '\f') goto yy692;
9222
225
        goto yy616;
9223
651
      }
9224
14.1k
    } else {
9225
14.1k
      if (yych <= 'O') {
9226
11.5k
        if (yych <= 'N') goto yy692;
9227
11.1k
        goto yy850;
9228
11.5k
      } else {
9229
2.59k
        if (yych == 'o') goto yy850;
9230
1.11k
        goto yy692;
9231
2.59k
      }
9232
14.1k
    }
9233
7.57k
yy811:
9234
7.57k
    YYDEBUG(811, *YYCURSOR);
9235
7.57k
    yyaccept = 81;
9236
7.57k
    yych = *(YYMARKER = ++YYCURSOR);
9237
7.57k
    if (yybm[256+yych] & 128) {
9238
637
      goto yy47;
9239
637
    }
9240
6.94k
    if (yych == '\\') goto yy164;
9241
6.94k
yy812:
9242
6.94k
    YYDEBUG(812, *YYCURSOR);
9243
6.94k
    yyleng = YYCURSOR - SCNG(yy_text);
9244
6.94k
#line 2253 "Zend/zend_language_scanner.l"
9245
6.94k
    {
9246
6.94k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9247
6.94k
}
9248
0
#line 9249 "Zend/zend_language_scanner.c"
9249
5.71k
yy813:
9250
5.71k
    YYDEBUG(813, *YYCURSOR);
9251
5.71k
    yyaccept = 4;
9252
5.71k
    yych = *(YYMARKER = ++YYCURSOR);
9253
5.71k
    if (yych == 'N') goto yy851;
9254
1.40k
    if (yych == 'n') goto yy851;
9255
205
    goto yy48;
9256
5.47k
yy814:
9257
5.47k
    YYDEBUG(814, *YYCURSOR);
9258
5.47k
    yyaccept = 4;
9259
5.47k
    yych = *(YYMARKER = ++YYCURSOR);
9260
5.47k
    if (yych == 'M') goto yy852;
9261
4.64k
    if (yych == 'm') goto yy852;
9262
744
    goto yy48;
9263
10.2k
yy815:
9264
10.2k
    YYDEBUG(815, *YYCURSOR);
9265
10.2k
    yyaccept = 4;
9266
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
9267
10.2k
    if (yych == '_') goto yy853;
9268
557
    goto yy48;
9269
5.31k
yy816:
9270
5.31k
    YYDEBUG(816, *YYCURSOR);
9271
5.31k
    yyaccept = 4;
9272
5.31k
    yych = *(YYMARKER = ++YYCURSOR);
9273
5.31k
    if (yych == 'C') goto yy855;
9274
3.21k
    if (yych == 'c') goto yy855;
9275
407
    goto yy48;
9276
1.92k
yy817:
9277
1.92k
    YYDEBUG(817, *YYCURSOR);
9278
1.92k
    yyaccept = 4;
9279
1.92k
    yych = *(YYMARKER = ++YYCURSOR);
9280
1.92k
    if (yych == 'Y') goto yy856;
9281
723
    if (yych == 'y') goto yy856;
9282
326
    goto yy48;
9283
3.02k
yy818:
9284
3.02k
    YYDEBUG(818, *YYCURSOR);
9285
3.02k
    yyaccept = 82;
9286
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
9287
3.02k
    if (yybm[256+yych] & 128) {
9288
921
      goto yy47;
9289
921
    }
9290
2.10k
    if (yych == '\\') goto yy164;
9291
2.10k
yy819:
9292
2.10k
    YYDEBUG(819, *YYCURSOR);
9293
2.10k
    yyleng = YYCURSOR - SCNG(yy_text);
9294
2.10k
#line 2257 "Zend/zend_language_scanner.l"
9295
2.10k
    {
9296
2.10k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9297
2.10k
}
9298
0
#line 9299 "Zend/zend_language_scanner.c"
9299
1.66k
yy820:
9300
1.66k
    YYDEBUG(820, *YYCURSOR);
9301
1.66k
    ++YYCURSOR;
9302
1.66k
    YYFILL(1);
9303
1.66k
    yych = *YYCURSOR;
9304
1.66k
    if (yych <= '\r') {
9305
733
      if (yych <= '\t') {
9306
219
        if (yych <= 0x00) goto yy86;
9307
144
        goto yy443;
9308
514
      } else {
9309
514
        if (yych <= '\n') goto yy545;
9310
306
        if (yych <= '\f') goto yy443;
9311
79
        goto yy545;
9312
306
      }
9313
927
    } else {
9314
927
      if (yych <= '*') {
9315
135
        if (yych <= ')') goto yy443;
9316
68
        goto yy547;
9317
792
      } else {
9318
792
        if (yych == '.') goto yy774;
9319
272
        goto yy443;
9320
792
      }
9321
927
    }
9322
16.5k
yy821:
9323
16.5k
    YYDEBUG(821, *YYCURSOR);
9324
16.5k
    ++YYCURSOR;
9325
16.5k
    YYFILL(1);
9326
16.5k
    yych = *YYCURSOR;
9327
16.5k
    if (yych <= '\r') {
9328
1.68k
      if (yych <= '\t') {
9329
517
        if (yych <= 0x00) goto yy86;
9330
336
        goto yy443;
9331
1.16k
      } else {
9332
1.16k
        if (yych <= '\n') goto yy545;
9333
259
        if (yych <= '\f') goto yy443;
9334
190
        goto yy545;
9335
259
      }
9336
14.8k
    } else {
9337
14.8k
      if (yych <= '*') {
9338
802
        if (yych <= ')') goto yy443;
9339
702
        goto yy547;
9340
14.0k
      } else {
9341
14.0k
        if (yych == '/') goto yy709;
9342
424
        goto yy443;
9343
14.0k
      }
9344
14.8k
    }
9345
1.81k
yy822:
9346
1.81k
    YYDEBUG(822, *YYCURSOR);
9347
1.81k
    yyaccept = 83;
9348
1.81k
    yych = *(YYMARKER = ++YYCURSOR);
9349
1.81k
    if (yybm[256+yych] & 128) {
9350
606
      goto yy47;
9351
606
    }
9352
1.21k
    if (yych == '\\') goto yy164;
9353
1.21k
yy823:
9354
1.21k
    YYDEBUG(823, *YYCURSOR);
9355
1.21k
    yyleng = YYCURSOR - SCNG(yy_text);
9356
1.21k
#line 1502 "Zend/zend_language_scanner.l"
9357
1.21k
    {
9358
1.21k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9359
1.21k
}
9360
0
#line 9361 "Zend/zend_language_scanner.c"
9361
3.93k
yy824:
9362
3.93k
    YYDEBUG(824, *YYCURSOR);
9363
3.93k
    yyaccept = 84;
9364
3.93k
    yych = *(YYMARKER = ++YYCURSOR);
9365
3.93k
    if (yybm[256+yych] & 128) {
9366
416
      goto yy47;
9367
416
    }
9368
3.51k
    if (yych == '\\') goto yy164;
9369
3.51k
yy825:
9370
3.51k
    YYDEBUG(825, *YYCURSOR);
9371
3.51k
    yyleng = YYCURSOR - SCNG(yy_text);
9372
3.51k
#line 1494 "Zend/zend_language_scanner.l"
9373
3.51k
    {
9374
3.51k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9375
3.51k
}
9376
0
#line 9377 "Zend/zend_language_scanner.c"
9377
1.92k
yy826:
9378
1.92k
    YYDEBUG(826, *YYCURSOR);
9379
1.92k
    yych = *++YYCURSOR;
9380
1.92k
    if (yych == 'D') goto yy857;
9381
985
    if (yych == 'd') goto yy857;
9382
463
    goto yy86;
9383
2.28k
yy827:
9384
2.28k
    YYDEBUG(827, *YYCURSOR);
9385
2.28k
    yych = *++YYCURSOR;
9386
2.28k
    if (yych == 'M') goto yy858;
9387
1.55k
    if (yych == 'm') goto yy858;
9388
649
    goto yy86;
9389
216k
yy828:
9390
216k
    YYDEBUG(828, *YYCURSOR);
9391
216k
    ++YYCURSOR;
9392
216k
    YYFILL(1);
9393
216k
    yych = *YYCURSOR;
9394
216k
    if (yych <= '\r') {
9395
172k
      if (yych <= '\t') {
9396
3.70k
        if (yych <= 0x00) goto yy86;
9397
3.14k
        goto yy738;
9398
169k
      } else {
9399
169k
        if (yych <= '\n') goto yy859;
9400
36.9k
        if (yych <= '\f') goto yy738;
9401
36.2k
        goto yy859;
9402
36.9k
      }
9403
172k
    } else {
9404
44.0k
      if (yych <= '*') {
9405
6.16k
        if (yych <= ')') goto yy738;
9406
2.72k
        goto yy789;
9407
37.9k
      } else {
9408
37.9k
        if (yych == '[') goto yy590;
9409
37.6k
        goto yy738;
9410
37.9k
      }
9411
44.0k
    }
9412
25.4k
yy829:
9413
25.4k
    YYDEBUG(829, *YYCURSOR);
9414
25.4k
    ++YYCURSOR;
9415
25.4k
    YYFILL(1);
9416
25.4k
    yych = *YYCURSOR;
9417
25.4k
    if (yych <= '*') {
9418
22.9k
      if (yych <= 0x00) goto yy86;
9419
22.7k
      if (yych <= ')') goto yy590;
9420
22.2k
      goto yy861;
9421
22.7k
    } else {
9422
2.52k
      if (yych == '/') goto yy738;
9423
1.97k
      goto yy590;
9424
2.52k
    }
9425
8.22k
yy830:
9426
8.22k
    YYDEBUG(830, *YYCURSOR);
9427
8.22k
    yyaccept = 53;
9428
8.22k
    YYMARKER = ++YYCURSOR;
9429
8.22k
    YYFILL(1);
9430
8.22k
    yych = *YYCURSOR;
9431
8.22k
    if (yych <= 0x00) goto yy583;
9432
7.78k
    if (yych == '*') goto yy668;
9433
7.50k
    goto yy590;
9434
8.04k
yy831:
9435
8.04k
    YYDEBUG(831, *YYCURSOR);
9436
8.04k
    yyaccept = 53;
9437
8.04k
    YYMARKER = ++YYCURSOR;
9438
8.04k
    YYFILL(1);
9439
8.04k
    yych = *YYCURSOR;
9440
8.04k
    if (yych <= 'W') {
9441
3.14k
      if (yych <= 0x00) goto yy583;
9442
3.03k
      if (yych == '*') goto yy668;
9443
1.29k
      goto yy590;
9444
4.89k
    } else {
9445
4.89k
      if (yych <= 'X') goto yy862;
9446
4.54k
      if (yych == 'x') goto yy862;
9447
1.69k
      goto yy590;
9448
4.54k
    }
9449
12.6k
yy832:
9450
12.6k
    YYDEBUG(832, *YYCURSOR);
9451
12.6k
    yyaccept = 53;
9452
12.6k
    YYMARKER = ++YYCURSOR;
9453
12.6k
    YYFILL(1);
9454
12.6k
    yych = *YYCURSOR;
9455
12.6k
    if (yych <= 'L') {
9456
1.85k
      if (yych <= 0x00) goto yy583;
9457
1.62k
      if (yych == '*') goto yy668;
9458
1.43k
      goto yy590;
9459
10.7k
    } else {
9460
10.7k
      if (yych <= 'M') goto yy863;
9461
8.21k
      if (yych == 'm') goto yy863;
9462
625
      goto yy590;
9463
8.21k
    }
9464
6.29k
yy833:
9465
6.29k
    YYDEBUG(833, *YYCURSOR);
9466
6.29k
    ++YYCURSOR;
9467
6.29k
    YYFILL(1);
9468
6.29k
    yych = *YYCURSOR;
9469
6.29k
    if (yych <= '\r') {
9470
1.32k
      if (yych <= '\t') {
9471
481
        if (yych <= 0x00) goto yy86;
9472
231
        goto yy586;
9473
843
      } else {
9474
843
        if (yych <= '\n') goto yy495;
9475
317
        if (yych <= '\f') goto yy586;
9476
106
        goto yy495;
9477
317
      }
9478
4.96k
    } else {
9479
4.96k
      if (yych <= 'N') {
9480
2.57k
        if (yych <= 'M') goto yy586;
9481
2.25k
        goto yy864;
9482
2.57k
      } else {
9483
2.39k
        if (yych == 'n') goto yy864;
9484
264
        goto yy586;
9485
2.39k
      }
9486
4.96k
    }
9487
26.8k
yy834:
9488
26.8k
    YYDEBUG(834, *YYCURSOR);
9489
26.8k
    ++YYCURSOR;
9490
26.8k
    YYFILL(1);
9491
26.8k
    yych = *YYCURSOR;
9492
26.8k
    if (yych <= '\r') {
9493
2.65k
      if (yych <= '\t') {
9494
1.06k
        if (yych <= 0x00) goto yy86;
9495
323
        goto yy586;
9496
1.59k
      } else {
9497
1.59k
        if (yych <= '\n') goto yy495;
9498
1.17k
        if (yych <= '\f') goto yy586;
9499
779
        goto yy495;
9500
1.17k
      }
9501
24.1k
    } else {
9502
24.1k
      if (yych <= 'E') {
9503
6.62k
        if (yych <= 'D') goto yy586;
9504
6.24k
        goto yy865;
9505
17.5k
      } else {
9506
17.5k
        if (yych == 'e') goto yy865;
9507
628
        goto yy586;
9508
17.5k
      }
9509
24.1k
    }
9510
6.35k
yy835:
9511
6.35k
    YYDEBUG(835, *YYCURSOR);
9512
6.35k
    yyaccept = 85;
9513
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
9514
6.35k
    if (yybm[256+yych] & 128) {
9515
623
      goto yy47;
9516
623
    }
9517
5.73k
    if (yych == '\\') goto yy164;
9518
5.72k
yy836:
9519
5.72k
    YYDEBUG(836, *YYCURSOR);
9520
5.72k
    yyleng = YYCURSOR - SCNG(yy_text);
9521
5.72k
#line 1583 "Zend/zend_language_scanner.l"
9522
5.72k
    {
9523
5.72k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9524
5.72k
}
9525
0
#line 9526 "Zend/zend_language_scanner.c"
9526
2.95k
yy837:
9527
2.95k
    YYDEBUG(837, *YYCURSOR);
9528
2.95k
    yyaccept = 4;
9529
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
9530
2.95k
    if (yych == 'C') goto yy866;
9531
2.39k
    if (yych == 'c') goto yy866;
9532
612
    goto yy48;
9533
2.85k
yy838:
9534
2.85k
    YYDEBUG(838, *YYCURSOR);
9535
2.85k
    yyaccept = 86;
9536
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
9537
2.85k
    if (yybm[256+yych] & 128) {
9538
294
      goto yy47;
9539
294
    }
9540
2.56k
    if (yych == '\\') goto yy164;
9541
2.56k
yy839:
9542
2.56k
    YYDEBUG(839, *YYCURSOR);
9543
2.56k
    yyleng = YYCURSOR - SCNG(yy_text);
9544
2.56k
#line 1506 "Zend/zend_language_scanner.l"
9545
2.56k
    {
9546
2.56k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9547
2.56k
}
9548
0
#line 9549 "Zend/zend_language_scanner.c"
9549
16.9k
yy840:
9550
16.9k
    YYDEBUG(840, *YYCURSOR);
9551
16.9k
    ++YYCURSOR;
9552
16.9k
    YYFILL(1);
9553
16.9k
    yych = *YYCURSOR;
9554
16.9k
    if (yych <= '_') {
9555
1.23k
      if (yych <= '@') goto yy86;
9556
927
      if (yych <= 'Z') goto yy867;
9557
395
      if (yych <= '^') goto yy86;
9558
116
      goto yy867;
9559
15.7k
    } else {
9560
15.7k
      if (yych <= '`') goto yy86;
9561
15.3k
      if (yych <= 'z') goto yy867;
9562
1.49k
      if (yych <= 0x7F) goto yy86;
9563
1.37k
      goto yy867;
9564
1.49k
    }
9565
990
yy841:
9566
990
    YYDEBUG(841, *YYCURSOR);
9567
990
    yych = *++YYCURSOR;
9568
990
    if (yych == 'T') goto yy870;
9569
915
    if (yych == 't') goto yy870;
9570
511
    goto yy86;
9571
2.71k
yy842:
9572
2.71k
    YYDEBUG(842, *YYCURSOR);
9573
2.71k
    yych = *++YYCURSOR;
9574
2.71k
    if (yych == 'S') goto yy871;
9575
2.28k
    if (yych == 's') goto yy871;
9576
210
    goto yy86;
9577
1.53k
yy843:
9578
1.53k
    YYDEBUG(843, *YYCURSOR);
9579
1.53k
    yych = *++YYCURSOR;
9580
1.53k
    if (yych == ')') goto yy872;
9581
485
    goto yy86;
9582
2.72k
yy844:
9583
2.72k
    YYDEBUG(844, *YYCURSOR);
9584
2.72k
    yyaccept = 4;
9585
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
9586
2.72k
    if (yych == 'C') goto yy874;
9587
2.16k
    if (yych == 'c') goto yy874;
9588
296
    goto yy48;
9589
5.03k
yy845:
9590
5.03k
    YYDEBUG(845, *YYCURSOR);
9591
5.03k
    yych = *++YYCURSOR;
9592
5.03k
    if (yych <= '^') {
9593
3.39k
      if (yych <= '9') {
9594
2.59k
        if (yych <= '/') goto yy875;
9595
210
        goto yy86;
9596
2.59k
      } else {
9597
802
        if (yych <= '@') goto yy875;
9598
286
        if (yych <= 'Z') goto yy86;
9599
210
        goto yy875;
9600
286
      }
9601
3.39k
    } else {
9602
1.63k
      if (yych <= '`') {
9603
502
        if (yych <= '_') goto yy86;
9604
194
        goto yy875;
9605
1.13k
      } else {
9606
1.13k
        if (yych <= 'z') goto yy86;
9607
766
        if (yych <= 0x7F) goto yy875;
9608
611
        goto yy86;
9609
766
      }
9610
1.63k
    }
9611
205k
yy846:
9612
205k
    YYDEBUG(846, *YYCURSOR);
9613
205k
    ++YYCURSOR;
9614
205k
    YYFILL(1);
9615
205k
    yych = *YYCURSOR;
9616
205k
    YYDEBUG(847, *YYCURSOR);
9617
205k
    if (yych <= '#') {
9618
149k
      if (yych <= '\f') {
9619
10.1k
        if (yych <= 0x00) goto yy86;
9620
8.99k
        if (yych <= 0x08) goto yy696;
9621
8.78k
        if (yych <= '\n') goto yy846;
9622
325
        goto yy696;
9623
139k
      } else {
9624
139k
        if (yych <= 0x1F) {
9625
20.3k
          if (yych <= '\r') goto yy846;
9626
657
          goto yy696;
9627
119k
        } else {
9628
119k
          if (yych <= ' ') goto yy846;
9629
116k
          if (yych <= '"') goto yy696;
9630
116k
          goto yy877;
9631
116k
        }
9632
139k
      }
9633
149k
    } else {
9634
55.8k
      if (yych <= '/') {
9635
39.0k
        if (yych == '*') goto yy760;
9636
37.9k
        if (yych <= '.') goto yy696;
9637
27.2k
        goto yy878;
9638
37.9k
      } else {
9639
16.8k
        if (yych <= 'F') {
9640
10.6k
          if (yych <= 'E') goto yy696;
9641
7.64k
          goto yy879;
9642
10.6k
        } else {
9643
6.20k
          if (yych == 'f') goto yy879;
9644
5.87k
          goto yy696;
9645
6.20k
        }
9646
16.8k
      }
9647
55.8k
    }
9648
39.3k
yy848:
9649
39.3k
    YYDEBUG(848, *YYCURSOR);
9650
39.3k
    ++YYCURSOR;
9651
39.3k
    YYFILL(1);
9652
39.3k
    yych = *YYCURSOR;
9653
39.3k
    YYDEBUG(849, *YYCURSOR);
9654
39.3k
    if (yych <= '\r') {
9655
9.49k
      if (yych <= '\t') {
9656
1.69k
        if (yych <= 0x00) goto yy86;
9657
1.51k
        goto yy808;
9658
7.79k
      } else {
9659
7.79k
        if (yych <= '\n') goto yy846;
9660
4.77k
        if (yych <= '\f') goto yy808;
9661
4.36k
        goto yy846;
9662
4.77k
      }
9663
29.8k
    } else {
9664
29.8k
      if (yych <= '*') {
9665
12.1k
        if (yych <= ')') goto yy808;
9666
4.78k
        goto yy848;
9667
17.7k
      } else {
9668
17.7k
        if (yych == '/') goto yy694;
9669
3.90k
        goto yy808;
9670
17.7k
      }
9671
29.8k
    }
9672
12.6k
yy850:
9673
12.6k
    YYDEBUG(850, *YYCURSOR);
9674
12.6k
    ++YYCURSOR;
9675
12.6k
    YYFILL(1);
9676
12.6k
    yych = *YYCURSOR;
9677
12.6k
    if (yych <= '\r') {
9678
3.08k
      if (yych <= '\t') {
9679
608
        if (yych <= 0x00) goto yy86;
9680
335
        goto yy692;
9681
2.47k
      } else {
9682
2.47k
        if (yych <= '\n') goto yy616;
9683
1.04k
        if (yych <= '\f') goto yy692;
9684
701
        goto yy616;
9685
1.04k
      }
9686
9.54k
    } else {
9687
9.54k
      if (yych <= 'M') {
9688
7.14k
        if (yych <= 'L') goto yy692;
9689
6.42k
        goto yy880;
9690
7.14k
      } else {
9691
2.39k
        if (yych == 'm') goto yy880;
9692
283
        goto yy692;
9693
2.39k
      }
9694
9.54k
    }
9695
5.51k
yy851:
9696
5.51k
    YYDEBUG(851, *YYCURSOR);
9697
5.51k
    yyaccept = 4;
9698
5.51k
    yych = *(YYMARKER = ++YYCURSOR);
9699
5.51k
    if (yych == '_') goto yy881;
9700
310
    goto yy48;
9701
4.73k
yy852:
9702
4.73k
    YYDEBUG(852, *YYCURSOR);
9703
4.73k
    yyaccept = 4;
9704
4.73k
    yych = *(YYMARKER = ++YYCURSOR);
9705
4.73k
    if (yych == 'P') goto yy882;
9706
3.97k
    if (yych == 'p') goto yy882;
9707
436
    goto yy48;
9708
9.72k
yy853:
9709
9.72k
    YYDEBUG(853, *YYCURSOR);
9710
9.72k
    yyaccept = 87;
9711
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
9712
9.72k
    if (yybm[256+yych] & 128) {
9713
290
      goto yy47;
9714
290
    }
9715
9.43k
    if (yych == '\\') goto yy164;
9716
8.99k
yy854:
9717
8.99k
    YYDEBUG(854, *YYCURSOR);
9718
8.99k
    yyleng = YYCURSOR - SCNG(yy_text);
9719
8.99k
#line 2269 "Zend/zend_language_scanner.l"
9720
8.99k
    {
9721
8.99k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9722
8.99k
}
9723
0
#line 9724 "Zend/zend_language_scanner.c"
9724
4.90k
yy855:
9725
4.90k
    YYDEBUG(855, *YYCURSOR);
9726
4.90k
    yyaccept = 4;
9727
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
9728
4.90k
    if (yych == 'E') goto yy883;
9729
2.85k
    if (yych == 'e') goto yy883;
9730
443
    goto yy48;
9731
1.59k
yy856:
9732
1.59k
    YYDEBUG(856, *YYCURSOR);
9733
1.59k
    yyaccept = 4;
9734
1.59k
    yych = *(YYMARKER = ++YYCURSOR);
9735
1.59k
    if (yych == '_') goto yy884;
9736
523
    goto yy48;
9737
1.96k
yy857:
9738
1.96k
    YYDEBUG(857, *YYCURSOR);
9739
1.96k
    yych = *++YYCURSOR;
9740
1.96k
    if (yych == 'S') goto yy885;
9741
1.66k
    if (yych == 's') goto yy885;
9742
1.46k
    goto yy86;
9743
1.63k
yy858:
9744
1.63k
    YYDEBUG(858, *YYCURSOR);
9745
1.63k
    yych = *++YYCURSOR;
9746
1.63k
    if (yych == 'E') goto yy887;
9747
1.26k
    if (yych == 'e') goto yy887;
9748
450
    goto yy86;
9749
238k
yy859:
9750
238k
    YYDEBUG(859, *YYCURSOR);
9751
238k
    ++YYCURSOR;
9752
238k
    YYFILL(1);
9753
238k
    yych = *YYCURSOR;
9754
238k
    YYDEBUG(860, *YYCURSOR);
9755
238k
    if (yych <= '@') {
9756
117k
      if (yych <= 0x1F) {
9757
26.1k
        if (yych <= '\t') {
9758
4.26k
          if (yych <= 0x00) goto yy86;
9759
3.80k
          if (yych <= 0x08) goto yy738;
9760
2.07k
          goto yy859;
9761
21.9k
        } else {
9762
21.9k
          if (yych <= '\n') goto yy787;
9763
19.5k
          if (yych == '\r') goto yy787;
9764
1.01k
          goto yy738;
9765
19.5k
        }
9766
91.7k
      } else {
9767
91.7k
        if (yych <= ')') {
9768
40.9k
          if (yych <= ' ') goto yy859;
9769
21.4k
          if (yych == '#') goto yy888;
9770
4.39k
          goto yy738;
9771
50.8k
        } else {
9772
50.8k
          if (yych <= '*') goto yy789;
9773
50.3k
          if (yych == '/') goto yy889;
9774
5.63k
          goto yy738;
9775
50.3k
        }
9776
91.7k
      }
9777
120k
    } else {
9778
120k
      if (yych <= '_') {
9779
7.86k
        if (yych <= 'H') {
9780
601
          if (yych == 'E') goto yy891;
9781
366
          goto yy890;
9782
7.25k
        } else {
9783
7.25k
          if (yych <= 'I') goto yy892;
9784
1.58k
          if (yych <= 'Z') goto yy890;
9785
822
          if (yych <= '^') goto yy738;
9786
406
          goto yy890;
9787
822
        }
9788
113k
      } else {
9789
113k
        if (yych <= 'h') {
9790
72.6k
          if (yych <= '`') goto yy738;
9791
71.6k
          if (yych == 'e') goto yy891;
9792
1.64k
          goto yy890;
9793
71.6k
        } else {
9794
40.5k
          if (yych <= 'i') goto yy892;
9795
15.6k
          if (yych <= 'z') goto yy890;
9796
12.8k
          if (yych <= 0x7F) goto yy738;
9797
8.38k
          goto yy890;
9798
12.8k
        }
9799
113k
      }
9800
120k
    }
9801
22.2k
yy861:
9802
22.2k
    YYDEBUG(861, *YYCURSOR);
9803
22.2k
    ++YYCURSOR;
9804
22.2k
    YYFILL(1);
9805
22.2k
    yych = *YYCURSOR;
9806
22.2k
    if (yych <= '*') {
9807
2.23k
      if (yych <= 0x00) goto yy86;
9808
1.94k
      if (yych <= ')') goto yy590;
9809
195
      goto yy668;
9810
20.0k
    } else {
9811
20.0k
      if (yych == '/') goto yy787;
9812
451
      goto yy590;
9813
20.0k
    }
9814
3.20k
yy862:
9815
3.20k
    YYDEBUG(862, *YYCURSOR);
9816
3.20k
    ++YYCURSOR;
9817
3.20k
    YYFILL(1);
9818
3.20k
    yych = *YYCURSOR;
9819
3.20k
    if (yych <= 'S') {
9820
483
      if (yych <= 0x00) goto yy86;
9821
211
      if (yych == '*') goto yy668;
9822
180
      goto yy590;
9823
2.72k
    } else {
9824
2.72k
      if (yych <= 'T') goto yy893;
9825
2.10k
      if (yych == 't') goto yy893;
9826
114
      goto yy590;
9827
2.10k
    }
9828
10.1k
yy863:
9829
10.1k
    YYDEBUG(863, *YYCURSOR);
9830
10.1k
    ++YYCURSOR;
9831
10.1k
    YYFILL(1);
9832
10.1k
    yych = *YYCURSOR;
9833
10.1k
    if (yych <= 'O') {
9834
676
      if (yych <= 0x00) goto yy86;
9835
433
      if (yych == '*') goto yy668;
9836
268
      goto yy590;
9837
9.47k
    } else {
9838
9.47k
      if (yych <= 'P') goto yy894;
9839
7.46k
      if (yych == 'p') goto yy894;
9840
109
      goto yy590;
9841
7.46k
    }
9842
4.38k
yy864:
9843
4.38k
    YYDEBUG(864, *YYCURSOR);
9844
4.38k
    ++YYCURSOR;
9845
4.38k
    YYFILL(1);
9846
4.38k
    yych = *YYCURSOR;
9847
4.38k
    if (yych <= '\r') {
9848
1.53k
      if (yych <= '\t') {
9849
543
        if (yych <= 0x00) goto yy86;
9850
264
        goto yy586;
9851
994
      } else {
9852
994
        if (yych <= '\n') goto yy495;
9853
800
        if (yych <= '\f') goto yy586;
9854
643
        goto yy495;
9855
800
      }
9856
2.84k
    } else {
9857
2.84k
      if (yych <= 'D') {
9858
849
        if (yych <= 'C') goto yy586;
9859
670
        goto yy895;
9860
1.99k
      } else {
9861
1.99k
        if (yych == 'd') goto yy895;
9862
922
        goto yy586;
9863
1.99k
      }
9864
2.84k
    }
9865
23.1k
yy865:
9866
23.1k
    YYDEBUG(865, *YYCURSOR);
9867
23.1k
    ++YYCURSOR;
9868
23.1k
    YYFILL(1);
9869
23.1k
    yych = *YYCURSOR;
9870
23.1k
    if (yych <= '\r') {
9871
1.22k
      if (yych <= '\t') {
9872
463
        if (yych <= 0x00) goto yy86;
9873
258
        goto yy586;
9874
758
      } else {
9875
758
        if (yych <= '\n') goto yy495;
9876
268
        if (yych <= '\f') goto yy586;
9877
234
        goto yy495;
9878
268
      }
9879
21.9k
    } else {
9880
21.9k
      if (yych <= 'M') {
9881
8.37k
        if (yych <= 'L') goto yy586;
9882
6.49k
        goto yy896;
9883
13.5k
      } else {
9884
13.5k
        if (yych == 'm') goto yy896;
9885
4.53k
        goto yy586;
9886
13.5k
      }
9887
21.9k
    }
9888
2.34k
yy866:
9889
2.34k
    YYDEBUG(866, *YYCURSOR);
9890
2.34k
    yyaccept = 4;
9891
2.34k
    yych = *(YYMARKER = ++YYCURSOR);
9892
2.34k
    if (yych == 'E') goto yy897;
9893
1.83k
    if (yych == 'e') goto yy897;
9894
284
    goto yy48;
9895
96.4k
yy867:
9896
96.4k
    YYDEBUG(867, *YYCURSOR);
9897
96.4k
    yyaccept = 88;
9898
96.4k
    YYMARKER = ++YYCURSOR;
9899
96.4k
    YYFILL(1);
9900
96.4k
    yych = *YYCURSOR;
9901
96.4k
    YYDEBUG(868, *YYCURSOR);
9902
96.4k
    if (yych <= '\\') {
9903
17.2k
      if (yych <= '@') {
9904
13.8k
        if (yych <= '/') goto yy869;
9905
12.5k
        if (yych <= '9') goto yy867;
9906
12.5k
      } else {
9907
3.47k
        if (yych <= 'Z') goto yy867;
9908
1.71k
        if (yych >= '\\') goto yy840;
9909
1.71k
      }
9910
79.1k
    } else {
9911
79.1k
      if (yych <= '`') {
9912
787
        if (yych == '_') goto yy867;
9913
78.3k
      } else {
9914
78.3k
        if (yych <= 'z') goto yy867;
9915
16.3k
        if (yych >= 0x80) goto yy867;
9916
16.3k
      }
9917
79.1k
    }
9918
15.3k
yy869:
9919
15.3k
    YYDEBUG(869, *YYCURSOR);
9920
15.3k
    yyleng = YYCURSOR - SCNG(yy_text);
9921
15.3k
#line 2439 "Zend/zend_language_scanner.l"
9922
15.3k
    {
9923
15.3k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9924
15.3k
}
9925
0
#line 9926 "Zend/zend_language_scanner.c"
9926
479
yy870:
9927
479
    YYDEBUG(870, *YYCURSOR);
9928
479
    yych = *++YYCURSOR;
9929
479
    if (yych == ')') goto yy899;
9930
92
    goto yy86;
9931
2.50k
yy871:
9932
2.50k
    YYDEBUG(871, *YYCURSOR);
9933
2.50k
    yych = *++YYCURSOR;
9934
2.50k
    if (yych == 'E') goto yy901;
9935
1.96k
    if (yych == 'e') goto yy901;
9936
430
    goto yy86;
9937
1.04k
yy872:
9938
1.04k
    YYDEBUG(872, *YYCURSOR);
9939
1.04k
    ++YYCURSOR;
9940
1.04k
    YYDEBUG(873, *YYCURSOR);
9941
1.04k
    yyleng = YYCURSOR - SCNG(yy_text);
9942
1.04k
#line 1786 "Zend/zend_language_scanner.l"
9943
1.04k
    {
9944
1.04k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9945
1.04k
}
9946
0
#line 9947 "Zend/zend_language_scanner.c"
9947
2.42k
yy874:
9948
2.42k
    YYDEBUG(874, *YYCURSOR);
9949
2.42k
    yyaccept = 4;
9950
2.42k
    yych = *(YYMARKER = ++YYCURSOR);
9951
2.42k
    if (yych == 'E') goto yy902;
9952
1.91k
    if (yych == 'e') goto yy902;
9953
769
    goto yy48;
9954
3.95k
yy875:
9955
3.95k
    YYDEBUG(875, *YYCURSOR);
9956
3.95k
    ++YYCURSOR;
9957
20.0k
yy876:
9958
20.0k
    YYDEBUG(876, *YYCURSOR);
9959
20.0k
    yyleng = YYCURSOR - SCNG(yy_text);
9960
20.0k
#line 1428 "Zend/zend_language_scanner.l"
9961
20.0k
    {
9962
20.0k
  yyless(yyleng - 1);
9963
20.0k
  HANDLE_NEWLINES(yytext, yyleng);
9964
20.0k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9965
20.0k
}
9966
0
#line 9967 "Zend/zend_language_scanner.c"
9967
116k
yy877:
9968
116k
    YYDEBUG(877, *YYCURSOR);
9969
116k
    ++YYCURSOR;
9970
116k
    YYFILL(1);
9971
116k
    yych = *YYCURSOR;
9972
116k
    if (yych <= '\r') {
9973
89.2k
      if (yych <= '\t') {
9974
1.17k
        if (yych <= 0x00) goto yy86;
9975
908
        goto yy808;
9976
88.0k
      } else {
9977
88.0k
        if (yych <= '\n') goto yy904;
9978
33.2k
        if (yych <= '\f') goto yy808;
9979
33.0k
        goto yy904;
9980
33.2k
      }
9981
89.2k
    } else {
9982
27.1k
      if (yych <= '*') {
9983
6.56k
        if (yych <= ')') goto yy808;
9984
2.39k
        goto yy848;
9985
20.6k
      } else {
9986
20.6k
        if (yych == '[') goto yy696;
9987
20.5k
        goto yy808;
9988
20.6k
      }
9989
27.1k
    }
9990
27.4k
yy878:
9991
27.4k
    YYDEBUG(878, *YYCURSOR);
9992
27.4k
    ++YYCURSOR;
9993
27.4k
    YYFILL(1);
9994
27.4k
    yych = *YYCURSOR;
9995
27.4k
    if (yych <= '*') {
9996
25.4k
      if (yych <= 0x00) goto yy86;
9997
25.3k
      if (yych <= ')') goto yy696;
9998
24.8k
      goto yy906;
9999
25.3k
    } else {
10000
1.98k
      if (yych == '/') goto yy808;
10001
1.46k
      goto yy696;
10002
1.98k
    }
10003
8.26k
yy879:
10004
8.26k
    YYDEBUG(879, *YYCURSOR);
10005
8.26k
    ++YYCURSOR;
10006
8.26k
    YYFILL(1);
10007
8.26k
    yych = *YYCURSOR;
10008
8.26k
    if (yych <= 'Q') {
10009
1.83k
      if (yych <= 0x00) goto yy86;
10010
1.62k
      if (yych == '*') goto yy760;
10011
1.48k
      goto yy696;
10012
6.42k
    } else {
10013
6.42k
      if (yych <= 'R') goto yy907;
10014
423
      if (yych == 'r') goto yy907;
10015
112
      goto yy696;
10016
423
    }
10017
8.53k
yy880:
10018
8.53k
    YYDEBUG(880, *YYCURSOR);
10019
8.53k
    ++YYCURSOR;
10020
8.53k
    YYFILL(1);
10021
8.53k
    yych = *YYCURSOR;
10022
8.53k
    if (yych <= '9') {
10023
4.13k
      if (yych <= '\n') {
10024
2.32k
        if (yych <= 0x00) goto yy875;
10025
2.07k
        if (yych <= '\t') goto yy908;
10026
1.69k
        goto yy909;
10027
2.07k
      } else {
10028
1.80k
        if (yych == '\r') goto yy909;
10029
888
        if (yych <= '/') goto yy908;
10030
99
        goto yy692;
10031
888
      }
10032
4.40k
    } else {
10033
4.40k
      if (yych <= '_') {
10034
1.03k
        if (yych <= '@') goto yy908;
10035
724
        if (yych <= 'Z') goto yy692;
10036
563
        if (yych <= '^') goto yy908;
10037
232
        goto yy692;
10038
3.37k
      } else {
10039
3.37k
        if (yych <= '`') goto yy908;
10040
3.16k
        if (yych <= 'z') goto yy692;
10041
1.83k
        if (yych <= 0x7F) goto yy908;
10042
512
        goto yy692;
10043
1.83k
      }
10044
4.40k
    }
10045
5.20k
yy881:
10046
5.20k
    YYDEBUG(881, *YYCURSOR);
10047
5.20k
    yyaccept = 4;
10048
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
10049
5.20k
    if (yych == '_') goto yy910;
10050
363
    goto yy48;
10051
4.29k
yy882:
10052
4.29k
    YYDEBUG(882, *YYCURSOR);
10053
4.29k
    yyaccept = 4;
10054
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
10055
4.29k
    if (yych == 'I') goto yy912;
10056
3.68k
    if (yych == 'i') goto yy912;
10057
146
    goto yy48;
10058
4.46k
yy883:
10059
4.46k
    YYDEBUG(883, *YYCURSOR);
10060
4.46k
    yyaccept = 4;
10061
4.46k
    yych = *(YYMARKER = ++YYCURSOR);
10062
4.46k
    if (yych == '_') goto yy913;
10063
560
    goto yy48;
10064
1.07k
yy884:
10065
1.07k
    YYDEBUG(884, *YYCURSOR);
10066
1.07k
    yyaccept = 4;
10067
1.07k
    yych = *(YYMARKER = ++YYCURSOR);
10068
1.07k
    if (yych == '_') goto yy914;
10069
119
    goto yy48;
10070
507
yy885:
10071
507
    YYDEBUG(885, *YYCURSOR);
10072
507
    ++YYCURSOR;
10073
2.22k
yy886:
10074
2.22k
    YYDEBUG(886, *YYCURSOR);
10075
2.22k
    yyleng = YYCURSOR - SCNG(yy_text);
10076
2.22k
#line 1570 "Zend/zend_language_scanner.l"
10077
2.22k
    {
10078
2.22k
  yyless(4);
10079
2.22k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10080
2.22k
}
10081
0
#line 10082 "Zend/zend_language_scanner.c"
10082
1.18k
yy887:
10083
1.18k
    YYDEBUG(887, *YYCURSOR);
10084
1.18k
    yych = *++YYCURSOR;
10085
1.18k
    if (yych == 'N') goto yy916;
10086
829
    if (yych == 'n') goto yy916;
10087
266
    goto yy86;
10088
17.0k
yy888:
10089
17.0k
    YYDEBUG(888, *YYCURSOR);
10090
17.0k
    ++YYCURSOR;
10091
17.0k
    YYFILL(1);
10092
17.0k
    yych = *YYCURSOR;
10093
17.0k
    if (yych <= '\f') {
10094
6.88k
      if (yych <= 0x00) goto yy86;
10095
6.57k
      if (yych == '\n') goto yy859;
10096
268
      goto yy738;
10097
10.1k
    } else {
10098
10.1k
      if (yych <= '\r') goto yy859;
10099
5.25k
      if (yych == '*') goto yy789;
10100
4.64k
      goto yy738;
10101
5.25k
    }
10102
44.7k
yy889:
10103
44.7k
    YYDEBUG(889, *YYCURSOR);
10104
44.7k
    ++YYCURSOR;
10105
44.7k
    YYFILL(1);
10106
44.7k
    yych = *YYCURSOR;
10107
44.7k
    if (yych <= '\f') {
10108
1.45k
      if (yych <= 0x00) goto yy86;
10109
982
      if (yych == '\n') goto yy787;
10110
539
      goto yy738;
10111
43.2k
    } else {
10112
43.2k
      if (yych <= '\r') goto yy787;
10113
42.5k
      if (yych == '*') goto yy917;
10114
1.57k
      goto yy738;
10115
42.5k
    }
10116
14.3k
yy890:
10117
14.3k
    YYDEBUG(890, *YYCURSOR);
10118
14.3k
    yyaccept = 53;
10119
14.3k
    YYMARKER = ++YYCURSOR;
10120
14.3k
    YYFILL(1);
10121
14.3k
    yych = *YYCURSOR;
10122
14.3k
    if (yych <= '\f') {
10123
1.15k
      if (yych <= 0x00) goto yy583;
10124
846
      if (yych == '\n') goto yy787;
10125
638
      goto yy738;
10126
13.1k
    } else {
10127
13.1k
      if (yych <= '\r') goto yy787;
10128
12.8k
      if (yych == '*') goto yy789;
10129
12.2k
      goto yy738;
10130
12.8k
    }
10131
70.2k
yy891:
10132
70.2k
    YYDEBUG(891, *YYCURSOR);
10133
70.2k
    yyaccept = 53;
10134
70.2k
    YYMARKER = ++YYCURSOR;
10135
70.2k
    YYFILL(1);
10136
70.2k
    yych = *YYCURSOR;
10137
70.2k
    if (yych <= ')') {
10138
14.8k
      if (yych <= '\n') {
10139
1.90k
        if (yych <= 0x00) goto yy583;
10140
1.82k
        if (yych <= '\t') goto yy738;
10141
179
        goto yy787;
10142
12.9k
      } else {
10143
12.9k
        if (yych == '\r') goto yy787;
10144
12.6k
        goto yy738;
10145
12.9k
      }
10146
55.3k
    } else {
10147
55.3k
      if (yych <= 'X') {
10148
9.54k
        if (yych <= '*') goto yy789;
10149
9.14k
        if (yych <= 'W') goto yy738;
10150
2.30k
        goto yy918;
10151
45.8k
      } else {
10152
45.8k
        if (yych == 'x') goto yy918;
10153
31.2k
        goto yy738;
10154
45.8k
      }
10155
55.3k
    }
10156
30.5k
yy892:
10157
30.5k
    YYDEBUG(892, *YYCURSOR);
10158
30.5k
    yyaccept = 53;
10159
30.5k
    YYMARKER = ++YYCURSOR;
10160
30.5k
    YYFILL(1);
10161
30.5k
    yych = *YYCURSOR;
10162
30.5k
    if (yych <= ')') {
10163
1.23k
      if (yych <= '\n') {
10164
580
        if (yych <= 0x00) goto yy583;
10165
466
        if (yych <= '\t') goto yy738;
10166
208
        goto yy787;
10167
652
      } else {
10168
652
        if (yych == '\r') goto yy787;
10169
134
        goto yy738;
10170
652
      }
10171
29.3k
    } else {
10172
29.3k
      if (yych <= 'M') {
10173
5.30k
        if (yych <= '*') goto yy789;
10174
4.97k
        if (yych <= 'L') goto yy738;
10175
4.40k
        goto yy919;
10176
24.0k
      } else {
10177
24.0k
        if (yych == 'm') goto yy919;
10178
959
        goto yy738;
10179
24.0k
      }
10180
29.3k
    }
10181
2.61k
yy893:
10182
2.61k
    YYDEBUG(893, *YYCURSOR);
10183
2.61k
    ++YYCURSOR;
10184
2.61k
    YYFILL(1);
10185
2.61k
    yych = *YYCURSOR;
10186
2.61k
    if (yych <= 'D') {
10187
639
      if (yych <= 0x00) goto yy86;
10188
442
      if (yych == '*') goto yy668;
10189
235
      goto yy590;
10190
1.97k
    } else {
10191
1.97k
      if (yych <= 'E') goto yy920;
10192
1.85k
      if (yych == 'e') goto yy920;
10193
113
      goto yy590;
10194
1.85k
    }
10195
9.37k
yy894:
10196
9.37k
    YYDEBUG(894, *YYCURSOR);
10197
9.37k
    ++YYCURSOR;
10198
9.37k
    YYFILL(1);
10199
9.37k
    yych = *YYCURSOR;
10200
9.37k
    if (yych <= 'K') {
10201
2.81k
      if (yych <= 0x00) goto yy86;
10202
2.07k
      if (yych == '*') goto yy668;
10203
2.02k
      goto yy590;
10204
6.55k
    } else {
10205
6.55k
      if (yych <= 'L') goto yy921;
10206
4.81k
      if (yych == 'l') goto yy921;
10207
319
      goto yy590;
10208
4.81k
    }
10209
5.93k
yy895:
10210
5.93k
    YYDEBUG(895, *YYCURSOR);
10211
5.93k
    ++YYCURSOR;
10212
5.93k
    YYFILL(1);
10213
5.93k
    yych = *YYCURSOR;
10214
5.93k
    if (yych <= '\r') {
10215
1.36k
      if (yych <= '\t') {
10216
758
        if (yych <= 0x00) goto yy86;
10217
88
        goto yy586;
10218
758
      } else {
10219
605
        if (yych <= '\n') goto yy495;
10220
541
        if (yych <= '\f') goto yy586;
10221
51
        goto yy495;
10222
541
      }
10223
4.57k
    } else {
10224
4.57k
      if (yych <= 'S') {
10225
2.30k
        if (yych <= 'R') goto yy586;
10226
1.54k
        goto yy922;
10227
2.30k
      } else {
10228
2.26k
        if (yych == 's') goto yy922;
10229
483
        goto yy586;
10230
2.26k
      }
10231
4.57k
    }
10232
15.5k
yy896:
10233
15.5k
    YYDEBUG(896, *YYCURSOR);
10234
15.5k
    ++YYCURSOR;
10235
15.5k
    YYFILL(1);
10236
15.5k
    yych = *YYCURSOR;
10237
15.5k
    if (yych <= '\r') {
10238
1.19k
      if (yych <= '\t') {
10239
227
        if (yych <= 0x00) goto yy86;
10240
147
        goto yy586;
10241
965
      } else {
10242
965
        if (yych <= '\n') goto yy495;
10243
444
        if (yych <= '\f') goto yy586;
10244
259
        goto yy495;
10245
444
      }
10246
14.3k
    } else {
10247
14.3k
      if (yych <= 'E') {
10248
4.95k
        if (yych <= 'D') goto yy586;
10249
4.53k
        goto yy923;
10250
9.40k
      } else {
10251
9.40k
        if (yych == 'e') goto yy923;
10252
1.25k
        goto yy586;
10253
9.40k
      }
10254
14.3k
    }
10255
2.06k
yy897:
10256
2.06k
    YYDEBUG(897, *YYCURSOR);
10257
2.06k
    yyaccept = 89;
10258
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
10259
2.06k
    if (yybm[256+yych] & 128) {
10260
366
      goto yy47;
10261
366
    }
10262
1.69k
    if (yych == '\\') goto yy164;
10263
1.69k
yy898:
10264
1.69k
    YYDEBUG(898, *YYCURSOR);
10265
1.69k
    yyleng = YYCURSOR - SCNG(yy_text);
10266
1.69k
#line 1726 "Zend/zend_language_scanner.l"
10267
1.69k
    {
10268
1.69k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10269
1.69k
}
10270
0
#line 10271 "Zend/zend_language_scanner.c"
10271
387
yy899:
10272
387
    YYDEBUG(899, *YYCURSOR);
10273
387
    ++YYCURSOR;
10274
387
    YYDEBUG(900, *YYCURSOR);
10275
387
    yyleng = YYCURSOR - SCNG(yy_text);
10276
387
#line 1794 "Zend/zend_language_scanner.l"
10277
387
    {
10278
387
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10279
387
}
10280
0
#line 10281 "Zend/zend_language_scanner.c"
10281
2.07k
yy901:
10282
2.07k
    YYDEBUG(901, *YYCURSOR);
10283
2.07k
    yych = *++YYCURSOR;
10284
2.07k
    if (yych == 'T') goto yy924;
10285
1.86k
    if (yych == 't') goto yy924;
10286
353
    goto yy86;
10287
1.65k
yy902:
10288
1.65k
    YYDEBUG(902, *YYCURSOR);
10289
1.65k
    yyaccept = 90;
10290
1.65k
    yych = *(YYMARKER = ++YYCURSOR);
10291
1.65k
    if (yybm[256+yych] & 128) {
10292
310
      goto yy47;
10293
310
    }
10294
1.34k
    if (yych == '\\') goto yy164;
10295
1.34k
yy903:
10296
1.34k
    YYDEBUG(903, *YYCURSOR);
10297
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
10298
1.34k
#line 1734 "Zend/zend_language_scanner.l"
10299
1.34k
    {
10300
1.34k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10301
1.34k
}
10302
0
#line 10303 "Zend/zend_language_scanner.c"
10303
123k
yy904:
10304
123k
    YYDEBUG(904, *YYCURSOR);
10305
123k
    ++YYCURSOR;
10306
123k
    YYFILL(1);
10307
123k
    yych = *YYCURSOR;
10308
123k
    YYDEBUG(905, *YYCURSOR);
10309
123k
    if (yych <= '"') {
10310
20.4k
      if (yych <= '\n') {
10311
4.62k
        if (yych <= 0x00) goto yy86;
10312
4.02k
        if (yych <= 0x08) goto yy808;
10313
3.40k
        if (yych <= '\t') goto yy904;
10314
1.85k
        goto yy846;
10315
15.8k
      } else {
10316
15.8k
        if (yych <= '\r') {
10317
13.5k
          if (yych <= '\f') goto yy808;
10318
13.3k
          goto yy846;
10319
13.5k
        } else {
10320
2.26k
          if (yych == ' ') goto yy904;
10321
1.04k
          goto yy808;
10322
2.26k
        }
10323
15.8k
      }
10324
103k
    } else {
10325
103k
      if (yych <= '/') {
10326
52.9k
        if (yych <= ')') {
10327
12.4k
          if (yych <= '#') goto yy925;
10328
4.26k
          goto yy808;
10329
40.5k
        } else {
10330
40.5k
          if (yych <= '*') goto yy848;
10331
39.9k
          if (yych <= '.') goto yy808;
10332
37.5k
          goto yy926;
10333
39.9k
        }
10334
52.9k
      } else {
10335
50.5k
        if (yych <= 'F') {
10336
22.4k
          if (yych <= 'E') goto yy808;
10337
20.5k
          goto yy927;
10338
28.1k
        } else {
10339
28.1k
          if (yych == 'f') goto yy927;
10340
27.6k
          goto yy808;
10341
28.1k
        }
10342
50.5k
      }
10343
103k
    }
10344
24.8k
yy906:
10345
24.8k
    YYDEBUG(906, *YYCURSOR);
10346
24.8k
    ++YYCURSOR;
10347
24.8k
    YYFILL(1);
10348
24.8k
    yych = *YYCURSOR;
10349
24.8k
    if (yych <= '*') {
10350
2.47k
      if (yych <= 0x00) goto yy86;
10351
1.93k
      if (yych <= ')') goto yy696;
10352
395
      goto yy760;
10353
22.3k
    } else {
10354
22.3k
      if (yych == '/') goto yy846;
10355
413
      goto yy696;
10356
22.3k
    }
10357
6.31k
yy907:
10358
6.31k
    YYDEBUG(907, *YYCURSOR);
10359
6.31k
    ++YYCURSOR;
10360
6.31k
    YYFILL(1);
10361
6.31k
    yych = *YYCURSOR;
10362
6.31k
    if (yych <= 'N') {
10363
581
      if (yych <= 0x00) goto yy86;
10364
261
      if (yych == '*') goto yy760;
10365
221
      goto yy696;
10366
5.73k
    } else {
10367
5.73k
      if (yych <= 'O') goto yy928;
10368
1.61k
      if (yych == 'o') goto yy928;
10369
237
      goto yy696;
10370
1.61k
    }
10371
3.34k
yy908:
10372
3.34k
    YYDEBUG(908, *YYCURSOR);
10373
3.34k
    yyaccept = 91;
10374
3.34k
    YYMARKER = ++YYCURSOR;
10375
3.34k
    YYFILL(1);
10376
3.34k
    yych = *YYCURSOR;
10377
3.34k
    if (yych <= '\n') {
10378
2.10k
      if (yych <= 0x00) goto yy876;
10379
1.87k
      if (yych <= '\t') goto yy692;
10380
853
      goto yy616;
10381
1.87k
    } else {
10382
1.24k
      if (yych == '\r') goto yy616;
10383
896
      goto yy692;
10384
1.24k
    }
10385
2.61k
yy909:
10386
2.61k
    YYDEBUG(909, *YYCURSOR);
10387
2.61k
    yyaccept = 91;
10388
2.61k
    YYMARKER = ++YYCURSOR;
10389
2.61k
    YYFILL(5);
10390
2.61k
    yych = *YYCURSOR;
10391
2.61k
    if (yych <= '"') {
10392
1.20k
      if (yych <= '\f') {
10393
607
        if (yych <= 0x08) goto yy876;
10394
523
        if (yych <= '\n') goto yy616;
10395
230
        goto yy876;
10396
601
      } else {
10397
601
        if (yych <= '\r') goto yy616;
10398
523
        if (yych == ' ') goto yy616;
10399
168
        goto yy876;
10400
523
      }
10401
1.40k
    } else {
10402
1.40k
      if (yych <= 'E') {
10403
1.25k
        if (yych <= '#') goto yy618;
10404
897
        if (yych == '/') goto yy619;
10405
341
        goto yy876;
10406
897
      } else {
10407
152
        if (yych <= 'F') goto yy691;
10408
109
        if (yych == 'f') goto yy691;
10409
90
        goto yy876;
10410
109
      }
10411
1.40k
    }
10412
4.83k
yy910:
10413
4.83k
    YYDEBUG(910, *YYCURSOR);
10414
4.83k
    yyaccept = 92;
10415
4.83k
    yych = *(YYMARKER = ++YYCURSOR);
10416
4.83k
    if (yybm[256+yych] & 128) {
10417
158
      goto yy47;
10418
158
    }
10419
4.68k
    if (yych == '\\') goto yy164;
10420
4.67k
yy911:
10421
4.67k
    YYDEBUG(911, *YYCURSOR);
10422
4.67k
    yyleng = YYCURSOR - SCNG(yy_text);
10423
4.67k
#line 2261 "Zend/zend_language_scanner.l"
10424
4.67k
    {
10425
4.67k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10426
4.67k
}
10427
0
#line 10428 "Zend/zend_language_scanner.c"
10428
4.15k
yy912:
10429
4.15k
    YYDEBUG(912, *YYCURSOR);
10430
4.15k
    yyaccept = 4;
10431
4.15k
    yych = *(YYMARKER = ++YYCURSOR);
10432
4.15k
    if (yych == 'L') goto yy929;
10433
3.92k
    if (yych == 'l') goto yy929;
10434
702
    goto yy48;
10435
3.90k
yy913:
10436
3.90k
    YYDEBUG(913, *YYCURSOR);
10437
3.90k
    yyaccept = 4;
10438
3.90k
    yych = *(YYMARKER = ++YYCURSOR);
10439
3.90k
    if (yych == '_') goto yy930;
10440
879
    goto yy48;
10441
956
yy914:
10442
956
    YYDEBUG(914, *YYCURSOR);
10443
956
    yyaccept = 93;
10444
956
    yych = *(YYMARKER = ++YYCURSOR);
10445
956
    if (yybm[256+yych] & 128) {
10446
222
      goto yy47;
10447
222
    }
10448
734
    if (yych == '\\') goto yy164;
10449
734
yy915:
10450
734
    YYDEBUG(915, *YYCURSOR);
10451
734
    yyleng = YYCURSOR - SCNG(yy_text);
10452
734
#line 2265 "Zend/zend_language_scanner.l"
10453
734
    {
10454
734
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10455
734
}
10456
0
#line 10457 "Zend/zend_language_scanner.c"
10457
923
yy916:
10458
923
    YYDEBUG(916, *YYCURSOR);
10459
923
    yych = *++YYCURSOR;
10460
923
    if (yych == 'T') goto yy857;
10461
535
    if (yych == 't') goto yy857;
10462
417
    goto yy86;
10463
40.9k
yy917:
10464
40.9k
    YYDEBUG(917, *YYCURSOR);
10465
40.9k
    ++YYCURSOR;
10466
40.9k
    YYFILL(1);
10467
40.9k
    yych = *YYCURSOR;
10468
40.9k
    if (yych <= '\r') {
10469
1.51k
      if (yych <= '\t') {
10470
428
        if (yych <= 0x00) goto yy86;
10471
324
        goto yy738;
10472
1.08k
      } else {
10473
1.08k
        if (yych <= '\n') goto yy787;
10474
683
        if (yych <= '\f') goto yy738;
10475
423
        goto yy787;
10476
683
      }
10477
39.4k
    } else {
10478
39.4k
      if (yych <= '*') {
10479
782
        if (yych <= ')') goto yy738;
10480
149
        goto yy789;
10481
38.6k
      } else {
10482
38.6k
        if (yych == '/') goto yy859;
10483
775
        goto yy738;
10484
38.6k
      }
10485
39.4k
    }
10486
16.8k
yy918:
10487
16.8k
    YYDEBUG(918, *YYCURSOR);
10488
16.8k
    ++YYCURSOR;
10489
16.8k
    YYFILL(1);
10490
16.8k
    yych = *YYCURSOR;
10491
16.8k
    if (yych <= ')') {
10492
1.17k
      if (yych <= '\n') {
10493
624
        if (yych <= 0x00) goto yy86;
10494
289
        if (yych <= '\t') goto yy738;
10495
174
        goto yy787;
10496
549
      } else {
10497
549
        if (yych == '\r') goto yy787;
10498
259
        goto yy738;
10499
549
      }
10500
15.7k
    } else {
10501
15.7k
      if (yych <= 'T') {
10502
1.96k
        if (yych <= '*') goto yy789;
10503
1.92k
        if (yych <= 'S') goto yy738;
10504
1.20k
        goto yy932;
10505
13.7k
      } else {
10506
13.7k
        if (yych == 't') goto yy932;
10507
4.69k
        goto yy738;
10508
13.7k
      }
10509
15.7k
    }
10510
27.4k
yy919:
10511
27.4k
    YYDEBUG(919, *YYCURSOR);
10512
27.4k
    ++YYCURSOR;
10513
27.4k
    YYFILL(1);
10514
27.4k
    yych = *YYCURSOR;
10515
27.4k
    if (yych <= ')') {
10516
1.84k
      if (yych <= '\n') {
10517
589
        if (yych <= 0x00) goto yy86;
10518
313
        if (yych <= '\t') goto yy738;
10519
279
        goto yy787;
10520
1.25k
      } else {
10521
1.25k
        if (yych == '\r') goto yy787;
10522
220
        goto yy738;
10523
1.25k
      }
10524
25.6k
    } else {
10525
25.6k
      if (yych <= 'P') {
10526
7.04k
        if (yych <= '*') goto yy789;
10527
5.86k
        if (yych <= 'O') goto yy738;
10528
4.15k
        goto yy933;
10529
18.5k
      } else {
10530
18.5k
        if (yych == 'p') goto yy933;
10531
737
        goto yy738;
10532
18.5k
      }
10533
25.6k
    }
10534
1.85k
yy920:
10535
1.85k
    YYDEBUG(920, *YYCURSOR);
10536
1.85k
    ++YYCURSOR;
10537
1.85k
    YYFILL(1);
10538
1.85k
    yych = *YYCURSOR;
10539
1.85k
    if (yych <= 'M') {
10540
647
      if (yych <= 0x00) goto yy86;
10541
492
      if (yych == '*') goto yy668;
10542
278
      goto yy590;
10543
1.21k
    } else {
10544
1.21k
      if (yych <= 'N') goto yy934;
10545
1.01k
      if (yych == 'n') goto yy934;
10546
77
      goto yy590;
10547
1.01k
    }
10548
6.23k
yy921:
10549
6.23k
    YYDEBUG(921, *YYCURSOR);
10550
6.23k
    ++YYCURSOR;
10551
6.23k
    YYFILL(1);
10552
6.23k
    yych = *YYCURSOR;
10553
6.23k
    if (yych <= 'D') {
10554
987
      if (yych <= 0x00) goto yy86;
10555
786
      if (yych == '*') goto yy668;
10556
630
      goto yy590;
10557
5.25k
    } else {
10558
5.25k
      if (yych <= 'E') goto yy935;
10559
3.86k
      if (yych == 'e') goto yy935;
10560
208
      goto yy590;
10561
3.86k
    }
10562
3.31k
yy922:
10563
3.31k
    YYDEBUG(922, *YYCURSOR);
10564
3.31k
    yyaccept = 94;
10565
3.31k
    YYMARKER = ++YYCURSOR;
10566
3.31k
    YYFILL(1);
10567
3.31k
    yych = *YYCURSOR;
10568
3.31k
    if (yych <= '\n') {
10569
514
      if (yych <= 0x00) goto yy886;
10570
302
      if (yych <= '\t') goto yy586;
10571
9
      goto yy495;
10572
2.80k
    } else {
10573
2.80k
      if (yych == '\r') goto yy495;
10574
2.49k
      goto yy586;
10575
2.80k
    }
10576
12.6k
yy923:
10577
12.6k
    YYDEBUG(923, *YYCURSOR);
10578
12.6k
    ++YYCURSOR;
10579
12.6k
    YYFILL(1);
10580
12.6k
    yych = *YYCURSOR;
10581
12.6k
    if (yych <= '\r') {
10582
2.23k
      if (yych <= '\t') {
10583
1.52k
        if (yych <= 0x00) goto yy86;
10584
1.28k
        goto yy586;
10585
1.52k
      } else {
10586
713
        if (yych <= '\n') goto yy495;
10587
472
        if (yych <= '\f') goto yy586;
10588
260
        goto yy495;
10589
472
      }
10590
10.4k
    } else {
10591
10.4k
      if (yych <= 'N') {
10592
2.68k
        if (yych <= 'M') goto yy586;
10593
2.18k
        goto yy936;
10594
7.75k
      } else {
10595
7.75k
        if (yych == 'n') goto yy936;
10596
4.40k
        goto yy586;
10597
7.75k
      }
10598
10.4k
    }
10599
1.71k
yy924:
10600
1.71k
    YYDEBUG(924, *YYCURSOR);
10601
1.71k
    yych = *++YYCURSOR;
10602
1.71k
    if (yych == ')') goto yy937;
10603
409
    goto yy86;
10604
8.16k
yy925:
10605
8.16k
    YYDEBUG(925, *YYCURSOR);
10606
8.16k
    ++YYCURSOR;
10607
8.16k
    YYFILL(1);
10608
8.16k
    yych = *YYCURSOR;
10609
8.16k
    if (yych <= '\f') {
10610
6.06k
      if (yych <= 0x00) goto yy86;
10611
5.52k
      if (yych == '\n') goto yy904;
10612
458
      goto yy808;
10613
5.52k
    } else {
10614
2.10k
      if (yych <= '\r') goto yy904;
10615
1.53k
      if (yych == '*') goto yy848;
10616
1.30k
      goto yy808;
10617
1.53k
    }
10618
37.5k
yy926:
10619
37.5k
    YYDEBUG(926, *YYCURSOR);
10620
37.5k
    ++YYCURSOR;
10621
37.5k
    YYFILL(1);
10622
37.5k
    yych = *YYCURSOR;
10623
37.5k
    if (yych <= '\f') {
10624
1.07k
      if (yych <= 0x00) goto yy86;
10625
906
      if (yych == '\n') goto yy846;
10626
342
      goto yy808;
10627
36.5k
    } else {
10628
36.5k
      if (yych <= '\r') goto yy846;
10629
35.7k
      if (yych == '*') goto yy939;
10630
1.21k
      goto yy808;
10631
35.7k
    }
10632
21.0k
yy927:
10633
21.0k
    YYDEBUG(927, *YYCURSOR);
10634
21.0k
    ++YYCURSOR;
10635
21.0k
    YYFILL(1);
10636
21.0k
    yych = *YYCURSOR;
10637
21.0k
    if (yych <= ')') {
10638
3.69k
      if (yych <= '\n') {
10639
3.05k
        if (yych <= 0x00) goto yy86;
10640
3.02k
        if (yych <= '\t') goto yy808;
10641
2.93k
        goto yy846;
10642
3.02k
      } else {
10643
636
        if (yych == '\r') goto yy846;
10644
250
        goto yy808;
10645
636
      }
10646
17.3k
    } else {
10647
17.3k
      if (yych <= 'R') {
10648
14.2k
        if (yych <= '*') goto yy848;
10649
14.1k
        if (yych <= 'Q') goto yy808;
10650
13.5k
        goto yy940;
10651
14.1k
      } else {
10652
3.02k
        if (yych == 'r') goto yy940;
10653
634
        goto yy808;
10654
3.02k
      }
10655
17.3k
    }
10656
5.49k
yy928:
10657
5.49k
    YYDEBUG(928, *YYCURSOR);
10658
5.49k
    ++YYCURSOR;
10659
5.49k
    YYFILL(1);
10660
5.49k
    yych = *YYCURSOR;
10661
5.49k
    if (yych <= 'L') {
10662
424
      if (yych <= 0x00) goto yy86;
10663
353
      if (yych == '*') goto yy760;
10664
157
      goto yy696;
10665
5.07k
    } else {
10666
5.07k
      if (yych <= 'M') goto yy941;
10667
1.04k
      if (yych == 'm') goto yy941;
10668
208
      goto yy696;
10669
1.04k
    }
10670
3.44k
yy929:
10671
3.44k
    YYDEBUG(929, *YYCURSOR);
10672
3.44k
    yyaccept = 4;
10673
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
10674
3.44k
    if (yych == 'E') goto yy942;
10675
3.18k
    if (yych == 'e') goto yy942;
10676
154
    goto yy48;
10677
3.02k
yy930:
10678
3.02k
    YYDEBUG(930, *YYCURSOR);
10679
3.02k
    yyaccept = 95;
10680
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
10681
3.02k
    if (yybm[256+yych] & 128) {
10682
787
      goto yy47;
10683
787
    }
10684
2.23k
    if (yych == '\\') goto yy164;
10685
2.23k
yy931:
10686
2.23k
    YYDEBUG(931, *YYCURSOR);
10687
2.23k
    yyleng = YYCURSOR - SCNG(yy_text);
10688
2.23k
#line 2285 "Zend/zend_language_scanner.l"
10689
2.23k
    {
10690
2.23k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10691
2.23k
}
10692
0
#line 10693 "Zend/zend_language_scanner.c"
10693
10.2k
yy932:
10694
10.2k
    YYDEBUG(932, *YYCURSOR);
10695
10.2k
    ++YYCURSOR;
10696
10.2k
    YYFILL(1);
10697
10.2k
    yych = *YYCURSOR;
10698
10.2k
    if (yych <= ')') {
10699
1.14k
      if (yych <= '\n') {
10700
735
        if (yych <= 0x00) goto yy86;
10701
567
        if (yych <= '\t') goto yy738;
10702
275
        goto yy787;
10703
567
      } else {
10704
407
        if (yych == '\r') goto yy787;
10705
210
        goto yy738;
10706
407
      }
10707
9.13k
    } else {
10708
9.13k
      if (yych <= 'E') {
10709
910
        if (yych <= '*') goto yy789;
10710
729
        if (yych <= 'D') goto yy738;
10711
458
        goto yy943;
10712
8.22k
      } else {
10713
8.22k
        if (yych == 'e') goto yy943;
10714
605
        goto yy738;
10715
8.22k
      }
10716
9.13k
    }
10717
21.9k
yy933:
10718
21.9k
    YYDEBUG(933, *YYCURSOR);
10719
21.9k
    ++YYCURSOR;
10720
21.9k
    YYFILL(1);
10721
21.9k
    yych = *YYCURSOR;
10722
21.9k
    if (yych <= ')') {
10723
755
      if (yych <= '\n') {
10724
362
        if (yych <= 0x00) goto yy86;
10725
296
        if (yych <= '\t') goto yy738;
10726
212
        goto yy787;
10727
393
      } else {
10728
393
        if (yych == '\r') goto yy787;
10729
193
        goto yy738;
10730
393
      }
10731
21.2k
    } else {
10732
21.2k
      if (yych <= 'L') {
10733
4.42k
        if (yych <= '*') goto yy789;
10734
4.20k
        if (yych <= 'K') goto yy738;
10735
4.09k
        goto yy944;
10736
16.8k
      } else {
10737
16.8k
        if (yych == 'l') goto yy944;
10738
528
        goto yy738;
10739
16.8k
      }
10740
21.2k
    }
10741
1.13k
yy934:
10742
1.13k
    YYDEBUG(934, *YYCURSOR);
10743
1.13k
    ++YYCURSOR;
10744
1.13k
    YYFILL(1);
10745
1.13k
    yych = *YYCURSOR;
10746
1.13k
    if (yych <= 'C') {
10747
320
      if (yych <= 0x00) goto yy86;
10748
115
      if (yych == '*') goto yy668;
10749
41
      goto yy590;
10750
815
    } else {
10751
815
      if (yych <= 'D') goto yy945;
10752
645
      if (yych == 'd') goto yy945;
10753
227
      goto yy590;
10754
645
    }
10755
5.04k
yy935:
10756
5.04k
    YYDEBUG(935, *YYCURSOR);
10757
5.04k
    ++YYCURSOR;
10758
5.04k
    YYFILL(1);
10759
5.04k
    yych = *YYCURSOR;
10760
5.04k
    if (yych <= 'L') {
10761
768
      if (yych <= 0x00) goto yy86;
10762
599
      if (yych == '*') goto yy668;
10763
337
      goto yy590;
10764
4.27k
    } else {
10765
4.27k
      if (yych <= 'M') goto yy946;
10766
3.04k
      if (yych == 'm') goto yy946;
10767
294
      goto yy590;
10768
3.04k
    }
10769
5.53k
yy936:
10770
5.53k
    YYDEBUG(936, *YYCURSOR);
10771
5.53k
    ++YYCURSOR;
10772
5.53k
    YYFILL(1);
10773
5.53k
    yych = *YYCURSOR;
10774
5.53k
    if (yych <= '\r') {
10775
949
      if (yych <= '\t') {
10776
584
        if (yych <= 0x00) goto yy86;
10777
482
        goto yy586;
10778
584
      } else {
10779
365
        if (yych <= '\n') goto yy495;
10780
277
        if (yych <= '\f') goto yy586;
10781
217
        goto yy495;
10782
277
      }
10783
4.58k
    } else {
10784
4.58k
      if (yych <= 'T') {
10785
2.33k
        if (yych <= 'S') goto yy586;
10786
2.18k
        goto yy895;
10787
2.33k
      } else {
10788
2.25k
        if (yych == 't') goto yy895;
10789
250
        goto yy586;
10790
2.25k
      }
10791
4.58k
    }
10792
1.31k
yy937:
10793
1.31k
    YYDEBUG(937, *YYCURSOR);
10794
1.31k
    ++YYCURSOR;
10795
1.31k
    YYDEBUG(938, *YYCURSOR);
10796
1.31k
    yyleng = YYCURSOR - SCNG(yy_text);
10797
1.31k
#line 1790 "Zend/zend_language_scanner.l"
10798
1.31k
    {
10799
1.31k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10800
1.31k
}
10801
0
#line 10802 "Zend/zend_language_scanner.c"
10802
34.4k
yy939:
10803
34.4k
    YYDEBUG(939, *YYCURSOR);
10804
34.4k
    ++YYCURSOR;
10805
34.4k
    YYFILL(1);
10806
34.4k
    yych = *YYCURSOR;
10807
34.4k
    if (yych <= '\r') {
10808
4.08k
      if (yych <= '\t') {
10809
3.28k
        if (yych <= 0x00) goto yy86;
10810
2.98k
        goto yy808;
10811
3.28k
      } else {
10812
794
        if (yych <= '\n') goto yy846;
10813
429
        if (yych <= '\f') goto yy808;
10814
235
        goto yy846;
10815
429
      }
10816
30.4k
    } else {
10817
30.4k
      if (yych <= '*') {
10818
1.80k
        if (yych <= ')') goto yy808;
10819
896
        goto yy848;
10820
28.6k
      } else {
10821
28.6k
        if (yych == '/') goto yy904;
10822
837
        goto yy808;
10823
28.6k
      }
10824
30.4k
    }
10825
15.9k
yy940:
10826
15.9k
    YYDEBUG(940, *YYCURSOR);
10827
15.9k
    ++YYCURSOR;
10828
15.9k
    YYFILL(1);
10829
15.9k
    yych = *YYCURSOR;
10830
15.9k
    if (yych <= ')') {
10831
1.83k
      if (yych <= '\n') {
10832
628
        if (yych <= 0x00) goto yy86;
10833
510
        if (yych <= '\t') goto yy808;
10834
351
        goto yy846;
10835
1.20k
      } else {
10836
1.20k
        if (yych == '\r') goto yy846;
10837
464
        goto yy808;
10838
1.20k
      }
10839
14.1k
    } else {
10840
14.1k
      if (yych <= 'O') {
10841
12.7k
        if (yych <= '*') goto yy848;
10842
12.4k
        if (yych <= 'N') goto yy808;
10843
12.2k
        goto yy947;
10844
12.4k
      } else {
10845
1.41k
        if (yych == 'o') goto yy947;
10846
320
        goto yy808;
10847
1.41k
      }
10848
14.1k
    }
10849
4.86k
yy941:
10850
4.86k
    YYDEBUG(941, *YYCURSOR);
10851
4.86k
    ++YYCURSOR;
10852
4.86k
    YYFILL(1);
10853
4.86k
    yych = *YYCURSOR;
10854
4.86k
    if (yych <= '@') {
10855
3.13k
      if (yych <= '*') {
10856
2.75k
        if (yych <= 0x00) goto yy875;
10857
2.55k
        if (yych <= ')') goto yy948;
10858
1.08k
        goto yy949;
10859
2.55k
      } else {
10860
376
        if (yych <= '/') goto yy948;
10861
140
        if (yych <= '9') goto yy696;
10862
63
        goto yy948;
10863
140
      }
10864
3.13k
    } else {
10865
1.73k
      if (yych <= '_') {
10866
1.00k
        if (yych <= 'Z') goto yy696;
10867
561
        if (yych <= '^') goto yy948;
10868
283
        goto yy696;
10869
725
      } else {
10870
725
        if (yych <= '`') goto yy948;
10871
558
        if (yych <= 'z') goto yy696;
10872
159
        if (yych <= 0x7F) goto yy948;
10873
46
        goto yy696;
10874
159
      }
10875
1.73k
    }
10876
3.29k
yy942:
10877
3.29k
    YYDEBUG(942, *YYCURSOR);
10878
3.29k
    yyaccept = 4;
10879
3.29k
    yych = *(YYMARKER = ++YYCURSOR);
10880
3.29k
    if (yych == 'R') goto yy950;
10881
1.85k
    if (yych == 'r') goto yy950;
10882
541
    goto yy48;
10883
8.08k
yy943:
10884
8.08k
    YYDEBUG(943, *YYCURSOR);
10885
8.08k
    ++YYCURSOR;
10886
8.08k
    YYFILL(1);
10887
8.08k
    yych = *YYCURSOR;
10888
8.08k
    if (yych <= ')') {
10889
1.60k
      if (yych <= '\n') {
10890
962
        if (yych <= 0x00) goto yy86;
10891
559
        if (yych <= '\t') goto yy738;
10892
312
        goto yy787;
10893
643
      } else {
10894
643
        if (yych == '\r') goto yy787;
10895
145
        goto yy738;
10896
643
      }
10897
6.47k
    } else {
10898
6.47k
      if (yych <= 'N') {
10899
2.51k
        if (yych <= '*') goto yy789;
10900
1.21k
        if (yych <= 'M') goto yy738;
10901
497
        goto yy952;
10902
3.95k
      } else {
10903
3.95k
        if (yych == 'n') goto yy952;
10904
690
        goto yy738;
10905
3.95k
      }
10906
6.47k
    }
10907
20.3k
yy944:
10908
20.3k
    YYDEBUG(944, *YYCURSOR);
10909
20.3k
    ++YYCURSOR;
10910
20.3k
    YYFILL(1);
10911
20.3k
    yych = *YYCURSOR;
10912
20.3k
    if (yych <= ')') {
10913
1.61k
      if (yych <= '\n') {
10914
730
        if (yych <= 0x00) goto yy86;
10915
530
        if (yych <= '\t') goto yy738;
10916
320
        goto yy787;
10917
884
      } else {
10918
884
        if (yych == '\r') goto yy787;
10919
402
        goto yy738;
10920
884
      }
10921
18.7k
    } else {
10922
18.7k
      if (yych <= 'E') {
10923
3.50k
        if (yych <= '*') goto yy789;
10924
3.39k
        if (yych <= 'D') goto yy738;
10925
3.20k
        goto yy953;
10926
15.2k
      } else {
10927
15.2k
        if (yych == 'e') goto yy953;
10928
682
        goto yy738;
10929
15.2k
      }
10930
18.7k
    }
10931
1.75k
yy945:
10932
1.75k
    YYDEBUG(945, *YYCURSOR);
10933
1.75k
    ++YYCURSOR;
10934
1.75k
    YYFILL(1);
10935
1.75k
    yych = *YYCURSOR;
10936
1.75k
    if (yych <= 'R') {
10937
981
      if (yych <= 0x00) goto yy86;
10938
732
      if (yych == '*') goto yy668;
10939
260
      goto yy590;
10940
778
    } else {
10941
778
      if (yych <= 'S') goto yy954;
10942
737
      if (yych == 's') goto yy954;
10943
428
      goto yy590;
10944
737
    }
10945
3.98k
yy946:
10946
3.98k
    YYDEBUG(946, *YYCURSOR);
10947
3.98k
    ++YYCURSOR;
10948
3.98k
    YYFILL(1);
10949
3.98k
    yych = *YYCURSOR;
10950
3.98k
    if (yych <= 'D') {
10951
442
      if (yych <= 0x00) goto yy86;
10952
276
      if (yych == '*') goto yy668;
10953
111
      goto yy590;
10954
3.53k
    } else {
10955
3.53k
      if (yych <= 'E') goto yy955;
10956
2.88k
      if (yych == 'e') goto yy955;
10957
536
      goto yy590;
10958
2.88k
    }
10959
13.3k
yy947:
10960
13.3k
    YYDEBUG(947, *YYCURSOR);
10961
13.3k
    ++YYCURSOR;
10962
13.3k
    YYFILL(1);
10963
13.3k
    yych = *YYCURSOR;
10964
13.3k
    if (yych <= ')') {
10965
668
      if (yych <= '\n') {
10966
256
        if (yych <= 0x00) goto yy86;
10967
80
        if (yych <= '\t') goto yy808;
10968
25
        goto yy846;
10969
412
      } else {
10970
412
        if (yych == '\r') goto yy846;
10971
91
        goto yy808;
10972
412
      }
10973
12.6k
    } else {
10974
12.6k
      if (yych <= 'M') {
10975
10.8k
        if (yych <= '*') goto yy848;
10976
10.6k
        if (yych <= 'L') goto yy808;
10977
10.4k
        goto yy956;
10978
10.6k
      } else {
10979
1.82k
        if (yych == 'm') goto yy956;
10980
526
        goto yy808;
10981
1.82k
      }
10982
12.6k
    }
10983
2.32k
yy948:
10984
2.32k
    YYDEBUG(948, *YYCURSOR);
10985
2.32k
    yyaccept = 91;
10986
2.32k
    YYMARKER = ++YYCURSOR;
10987
2.32k
    YYFILL(1);
10988
2.32k
    yych = *YYCURSOR;
10989
2.32k
    if (yych <= 0x00) goto yy876;
10990
1.26k
    if (yych == '*') goto yy760;
10991
955
    goto yy696;
10992
1.08k
yy949:
10993
1.08k
    YYDEBUG(949, *YYCURSOR);
10994
1.08k
    yyaccept = 91;
10995
1.08k
    YYMARKER = ++YYCURSOR;
10996
1.08k
    YYFILL(1);
10997
1.08k
    yych = *YYCURSOR;
10998
1.08k
    if (yych <= '*') {
10999
530
      if (yych <= 0x00) goto yy876;
11000
187
      if (yych <= ')') goto yy696;
11001
53
      goto yy760;
11002
557
    } else {
11003
557
      if (yych == '/') goto yy616;
11004
464
      goto yy696;
11005
557
    }
11006
2.75k
yy950:
11007
2.75k
    YYDEBUG(950, *YYCURSOR);
11008
2.75k
    yyaccept = 96;
11009
2.75k
    yych = *(YYMARKER = ++YYCURSOR);
11010
2.75k
    if (yybm[256+yych] & 128) {
11011
965
      goto yy47;
11012
965
    }
11013
1.78k
    if (yych == '\\') goto yy164;
11014
1.62k
yy951:
11015
1.62k
    YYDEBUG(951, *YYCURSOR);
11016
1.62k
    yyleng = YYCURSOR - SCNG(yy_text);
11017
1.62k
#line 1762 "Zend/zend_language_scanner.l"
11018
1.62k
    {
11019
1.62k
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11020
1.62k
}
11021
0
#line 11022 "Zend/zend_language_scanner.c"
11022
3.76k
yy952:
11023
3.76k
    YYDEBUG(952, *YYCURSOR);
11024
3.76k
    ++YYCURSOR;
11025
3.76k
    YYFILL(1);
11026
3.76k
    yych = *YYCURSOR;
11027
3.76k
    if (yych <= ')') {
11028
787
      if (yych <= '\n') {
11029
452
        if (yych <= 0x00) goto yy86;
11030
216
        if (yych <= '\t') goto yy738;
11031
54
        goto yy787;
11032
335
      } else {
11033
335
        if (yych == '\r') goto yy787;
11034
139
        goto yy738;
11035
335
      }
11036
2.97k
    } else {
11037
2.97k
      if (yych <= 'D') {
11038
450
        if (yych <= '*') goto yy789;
11039
279
        if (yych <= 'C') goto yy738;
11040
157
        goto yy957;
11041
2.52k
      } else {
11042
2.52k
        if (yych == 'd') goto yy957;
11043
638
        goto yy738;
11044
2.52k
      }
11045
2.97k
    }
11046
17.7k
yy953:
11047
17.7k
    YYDEBUG(953, *YYCURSOR);
11048
17.7k
    ++YYCURSOR;
11049
17.7k
    YYFILL(1);
11050
17.7k
    yych = *YYCURSOR;
11051
17.7k
    if (yych <= ')') {
11052
4.43k
      if (yych <= '\n') {
11053
3.64k
        if (yych <= 0x00) goto yy86;
11054
3.54k
        if (yych <= '\t') goto yy738;
11055
3.28k
        goto yy787;
11056
3.54k
      } else {
11057
792
        if (yych == '\r') goto yy787;
11058
617
        goto yy738;
11059
792
      }
11060
13.3k
    } else {
11061
13.3k
      if (yych <= 'M') {
11062
7.64k
        if (yych <= '*') goto yy789;
11063
4.03k
        if (yych <= 'L') goto yy738;
11064
3.69k
        goto yy958;
11065
5.70k
      } else {
11066
5.70k
        if (yych == 'm') goto yy958;
11067
224
        goto yy738;
11068
5.70k
      }
11069
13.3k
    }
11070
350
yy954:
11071
350
    YYDEBUG(954, *YYCURSOR);
11072
350
    yyaccept = 94;
11073
350
    YYMARKER = ++YYCURSOR;
11074
350
    YYFILL(1);
11075
350
    yych = *YYCURSOR;
11076
350
    if (yych <= 0x00) goto yy886;
11077
329
    if (yych == '*') goto yy668;
11078
137
    goto yy590;
11079
3.00k
yy955:
11080
3.00k
    YYDEBUG(955, *YYCURSOR);
11081
3.00k
    ++YYCURSOR;
11082
3.00k
    YYFILL(1);
11083
3.00k
    yych = *YYCURSOR;
11084
3.00k
    if (yych <= 'M') {
11085
1.01k
      if (yych <= 0x00) goto yy86;
11086
826
      if (yych == '*') goto yy668;
11087
540
      goto yy590;
11088
1.98k
    } else {
11089
1.98k
      if (yych <= 'N') goto yy959;
11090
1.39k
      if (yych == 'n') goto yy959;
11091
52
      goto yy590;
11092
1.39k
    }
11093
11.7k
yy956:
11094
11.7k
    YYDEBUG(956, *YYCURSOR);
11095
11.7k
    ++YYCURSOR;
11096
11.7k
    YYFILL(1);
11097
11.7k
    yych = *YYCURSOR;
11098
11.7k
    if (yych <= '/') {
11099
9.29k
      if (yych <= '\f') {
11100
4.69k
        if (yych <= 0x00) goto yy875;
11101
4.65k
        if (yych == '\n') goto yy961;
11102
65
        goto yy960;
11103
4.65k
      } else {
11104
4.60k
        if (yych <= '\r') goto yy961;
11105
3.07k
        if (yych == '*') goto yy962;
11106
1.27k
        goto yy960;
11107
3.07k
      }
11108
9.29k
    } else {
11109
2.40k
      if (yych <= '^') {
11110
532
        if (yych <= '9') goto yy808;
11111
310
        if (yych <= '@') goto yy960;
11112
184
        if (yych <= 'Z') goto yy808;
11113
66
        goto yy960;
11114
1.87k
      } else {
11115
1.87k
        if (yych <= '`') {
11116
527
          if (yych <= '_') goto yy808;
11117
505
          goto yy960;
11118
1.35k
        } else {
11119
1.35k
          if (yych <= 'z') goto yy808;
11120
1.10k
          if (yych <= 0x7F) goto yy960;
11121
361
          goto yy808;
11122
1.10k
        }
11123
1.87k
      }
11124
2.40k
    }
11125
4.67k
yy957:
11126
4.67k
    YYDEBUG(957, *YYCURSOR);
11127
4.67k
    ++YYCURSOR;
11128
4.67k
    YYFILL(1);
11129
4.67k
    yych = *YYCURSOR;
11130
4.67k
    if (yych <= ')') {
11131
1.22k
      if (yych <= '\n') {
11132
800
        if (yych <= 0x00) goto yy86;
11133
586
        if (yych <= '\t') goto yy738;
11134
215
        goto yy787;
11135
586
      } else {
11136
421
        if (yych == '\r') goto yy787;
11137
220
        goto yy738;
11138
421
      }
11139
3.45k
    } else {
11140
3.45k
      if (yych <= 'S') {
11141
1.39k
        if (yych <= '*') goto yy789;
11142
1.07k
        if (yych <= 'R') goto yy738;
11143
440
        goto yy963;
11144
2.06k
      } else {
11145
2.06k
        if (yych == 's') goto yy963;
11146
1.04k
        goto yy738;
11147
2.06k
      }
11148
3.45k
    }
11149
9.16k
yy958:
11150
9.16k
    YYDEBUG(958, *YYCURSOR);
11151
9.16k
    ++YYCURSOR;
11152
9.16k
    YYFILL(1);
11153
9.16k
    yych = *YYCURSOR;
11154
9.16k
    if (yych <= ')') {
11155
2.61k
      if (yych <= '\n') {
11156
1.44k
        if (yych <= 0x00) goto yy86;
11157
1.27k
        if (yych <= '\t') goto yy738;
11158
809
        goto yy787;
11159
1.27k
      } else {
11160
1.17k
        if (yych == '\r') goto yy787;
11161
884
        goto yy738;
11162
1.17k
      }
11163
6.55k
    } else {
11164
6.55k
      if (yych <= 'E') {
11165
1.49k
        if (yych <= '*') goto yy789;
11166
1.46k
        if (yych <= 'D') goto yy738;
11167
1.21k
        goto yy964;
11168
5.05k
      } else {
11169
5.05k
        if (yych == 'e') goto yy964;
11170
551
        goto yy738;
11171
5.05k
      }
11172
6.55k
    }
11173
1.93k
yy959:
11174
1.93k
    YYDEBUG(959, *YYCURSOR);
11175
1.93k
    ++YYCURSOR;
11176
1.93k
    YYFILL(1);
11177
1.93k
    yych = *YYCURSOR;
11178
1.93k
    if (yych <= 'S') {
11179
667
      if (yych <= 0x00) goto yy86;
11180
420
      if (yych == '*') goto yy668;
11181
208
      goto yy590;
11182
1.26k
    } else {
11183
1.26k
      if (yych <= 'T') goto yy945;
11184
957
      if (yych == 't') goto yy945;
11185
98
      goto yy590;
11186
957
    }
11187
2.78k
yy960:
11188
2.78k
    YYDEBUG(960, *YYCURSOR);
11189
2.78k
    yyaccept = 91;
11190
2.78k
    YYMARKER = ++YYCURSOR;
11191
2.78k
    YYFILL(1);
11192
2.78k
    yych = *YYCURSOR;
11193
2.78k
    if (yych <= '\f') {
11194
1.18k
      if (yych <= 0x00) goto yy876;
11195
1.09k
      if (yych == '\n') goto yy846;
11196
263
      goto yy808;
11197
1.59k
    } else {
11198
1.59k
      if (yych <= '\r') goto yy846;
11199
1.56k
      if (yych == '*') goto yy848;
11200
901
      goto yy808;
11201
1.56k
    }
11202
6.11k
yy961:
11203
6.11k
    YYDEBUG(961, *YYCURSOR);
11204
6.11k
    yyaccept = 91;
11205
6.11k
    YYMARKER = ++YYCURSOR;
11206
6.11k
    YYFILL(1);
11207
6.11k
    yych = *YYCURSOR;
11208
6.11k
    if (yych <= '#') {
11209
4.74k
      if (yych <= '\f') {
11210
1.03k
        if (yych <= 0x00) goto yy876;
11211
804
        if (yych <= 0x08) goto yy696;
11212
557
        if (yych <= '\n') goto yy846;
11213
233
        goto yy696;
11214
3.70k
      } else {
11215
3.70k
        if (yych <= 0x1F) {
11216
727
          if (yych <= '\r') goto yy846;
11217
228
          goto yy696;
11218
2.98k
        } else {
11219
2.98k
          if (yych <= ' ') goto yy846;
11220
594
          if (yych <= '"') goto yy696;
11221
373
          goto yy877;
11222
594
        }
11223
3.70k
      }
11224
4.74k
    } else {
11225
1.37k
      if (yych <= '/') {
11226
599
        if (yych == '*') goto yy760;
11227
290
        if (yych <= '.') goto yy696;
11228
216
        goto yy878;
11229
775
      } else {
11230
775
        if (yych <= 'F') {
11231
385
          if (yych <= 'E') goto yy696;
11232
98
          goto yy879;
11233
390
        } else {
11234
390
          if (yych == 'f') goto yy879;
11235
202
          goto yy696;
11236
390
        }
11237
775
      }
11238
1.37k
    }
11239
1.80k
yy962:
11240
1.80k
    YYDEBUG(962, *YYCURSOR);
11241
1.80k
    yyaccept = 91;
11242
1.80k
    YYMARKER = ++YYCURSOR;
11243
1.80k
    YYFILL(1);
11244
1.80k
    yych = *YYCURSOR;
11245
1.80k
    if (yych <= '\r') {
11246
1.11k
      if (yych <= '\t') {
11247
420
        if (yych <= 0x00) goto yy876;
11248
84
        goto yy808;
11249
691
      } else {
11250
691
        if (yych <= '\n') goto yy846;
11251
341
        if (yych <= '\f') goto yy808;
11252
68
        goto yy846;
11253
341
      }
11254
1.11k
    } else {
11255
689
      if (yych <= '*') {
11256
475
        if (yych <= ')') goto yy808;
11257
279
        goto yy848;
11258
475
      } else {
11259
214
        if (yych == '/') goto yy694;
11260
164
        goto yy808;
11261
214
      }
11262
689
    }
11263
1.45k
yy963:
11264
1.45k
    YYDEBUG(963, *YYCURSOR);
11265
1.45k
    yyaccept = 94;
11266
1.45k
    YYMARKER = ++YYCURSOR;
11267
1.45k
    YYFILL(1);
11268
1.45k
    yych = *YYCURSOR;
11269
1.45k
    if (yych <= '\f') {
11270
794
      if (yych <= 0x00) goto yy886;
11271
578
      if (yych == '\n') goto yy787;
11272
361
      goto yy738;
11273
662
    } else {
11274
662
      if (yych <= '\r') goto yy787;
11275
594
      if (yych == '*') goto yy789;
11276
407
      goto yy738;
11277
594
    }
11278
5.72k
yy964:
11279
5.72k
    YYDEBUG(964, *YYCURSOR);
11280
5.72k
    ++YYCURSOR;
11281
5.72k
    YYFILL(1);
11282
5.72k
    yych = *YYCURSOR;
11283
5.72k
    if (yych <= ')') {
11284
1.41k
      if (yych <= '\n') {
11285
1.19k
        if (yych <= 0x00) goto yy86;
11286
1.17k
        if (yych <= '\t') goto yy738;
11287
213
        goto yy787;
11288
1.17k
      } else {
11289
216
        if (yych == '\r') goto yy787;
11290
144
        goto yy738;
11291
216
      }
11292
4.30k
    } else {
11293
4.30k
      if (yych <= 'N') {
11294
1.31k
        if (yych <= '*') goto yy789;
11295
1.10k
        if (yych <= 'M') goto yy738;
11296
2.99k
      } else {
11297
2.99k
        if (yych != 'n') goto yy738;
11298
2.99k
      }
11299
4.30k
    }
11300
3.77k
    YYDEBUG(965, *YYCURSOR);
11301
3.77k
    ++YYCURSOR;
11302
3.77k
    YYFILL(1);
11303
3.77k
    yych = *YYCURSOR;
11304
3.77k
    if (yych <= ')') {
11305
697
      if (yych <= '\n') {
11306
515
        if (yych <= 0x00) goto yy86;
11307
344
        if (yych <= '\t') goto yy738;
11308
145
        goto yy787;
11309
344
      } else {
11310
182
        if (yych == '\r') goto yy787;
11311
40
        goto yy738;
11312
182
      }
11313
3.08k
    } else {
11314
3.08k
      if (yych <= 'T') {
11315
1.56k
        if (yych <= '*') goto yy789;
11316
1.52k
        if (yych <= 'S') goto yy738;
11317
1.33k
        goto yy957;
11318
1.52k
      } else {
11319
1.52k
        if (yych == 't') goto yy957;
11320
229
        goto yy738;
11321
1.52k
      }
11322
3.08k
    }
11323
3.77k
  }
11324
/* *********************************** */
11325
382k
yyc_ST_LOOKING_FOR_PROPERTY:
11326
382k
  {
11327
382k
    static const unsigned char yybm[] = {
11328
382k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
382k
        0,  64,  64,   0,   0,  64,   0,   0, 
11330
382k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
382k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
382k
       64,   0,   0,   0,   0,   0,   0,   0, 
11333
382k
        0,   0,   0,   0,   0,   0,   0,   0, 
11334
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11335
382k
      128, 128,   0,   0,   0,   0,   0,   0, 
11336
382k
        0, 128, 128, 128, 128, 128, 128, 128, 
11337
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11339
382k
      128, 128, 128,   0,   0,   0,   0, 128, 
11340
382k
        0, 128, 128, 128, 128, 128, 128, 128, 
11341
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
382k
      128, 128, 128,   0,   0,   0,   0,   0, 
11344
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
382k
      128, 128, 128, 128, 128, 128, 128, 128, 
11360
382k
    };
11361
382k
    YYDEBUG(966, *YYCURSOR);
11362
382k
    YYFILL(4);
11363
382k
    yych = *YYCURSOR;
11364
382k
    if (yybm[0+yych] & 64) {
11365
5.68k
      goto yy970;
11366
5.68k
    }
11367
377k
    if (yych <= '?') {
11368
128k
      if (yych <= '-') {
11369
40.2k
        if (yych == '#') goto yy973;
11370
38.5k
        if (yych >= '-') goto yy975;
11371
88.6k
      } else {
11372
88.6k
        if (yych == '/') goto yy976;
11373
80.8k
        if (yych >= '?') goto yy977;
11374
80.8k
      }
11375
248k
    } else {
11376
248k
      if (yych <= '_') {
11377
34.6k
        if (yych <= '@') goto yy968;
11378
34.4k
        if (yych <= 'Z') goto yy978;
11379
21.2k
        if (yych >= '_') goto yy978;
11380
213k
      } else {
11381
213k
        if (yych <= '`') goto yy968;
11382
212k
        if (yych <= 'z') goto yy978;
11383
17.6k
        if (yych >= 0x80) goto yy978;
11384
17.6k
      }
11385
248k
    }
11386
33.6k
yy968:
11387
33.6k
    YYDEBUG(968, *YYCURSOR);
11388
33.6k
    ++YYCURSOR;
11389
36.4k
yy969:
11390
36.4k
    YYDEBUG(969, *YYCURSOR);
11391
36.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11392
36.4k
#line 2520 "Zend/zend_language_scanner.l"
11393
36.4k
    {
11394
36.4k
  yyless(0);
11395
36.4k
  yy_pop_state();
11396
36.4k
  goto restart;
11397
33.6k
}
11398
0
#line 11399 "Zend/zend_language_scanner.c"
11399
7.80k
yy970:
11400
7.80k
    YYDEBUG(970, *YYCURSOR);
11401
7.80k
    ++YYCURSOR;
11402
7.80k
    YYFILL(1);
11403
7.80k
    yych = *YYCURSOR;
11404
7.80k
    YYDEBUG(971, *YYCURSOR);
11405
7.80k
    if (yybm[0+yych] & 64) {
11406
2.11k
      goto yy970;
11407
2.11k
    }
11408
5.68k
    YYDEBUG(972, *YYCURSOR);
11409
5.68k
    yyleng = YYCURSOR - SCNG(yy_text);
11410
5.68k
#line 1597 "Zend/zend_language_scanner.l"
11411
5.68k
    {
11412
5.68k
  goto return_whitespace;
11413
7.80k
}
11414
0
#line 11415 "Zend/zend_language_scanner.c"
11415
4.63k
yy973:
11416
4.63k
    YYDEBUG(973, *YYCURSOR);
11417
4.63k
    ++YYCURSOR;
11418
4.63k
    YYDEBUG(974, *YYCURSOR);
11419
4.63k
    yyleng = YYCURSOR - SCNG(yy_text);
11420
4.63k
#line 2460 "Zend/zend_language_scanner.l"
11421
4.63k
    {
11422
91.3k
  while (YYCURSOR < YYLIMIT) {
11423
91.0k
    switch (*YYCURSOR++) {
11424
366
      case '\r':
11425
4.06k
      case '\n':
11426
4.06k
        YYCURSOR--;
11427
4.06k
        break;
11428
2.90k
      case '?':
11429
2.90k
        if (*YYCURSOR == '>') {
11430
267
          YYCURSOR--;
11431
267
          break;
11432
267
        }
11433
2.63k
        ZEND_FALLTHROUGH;
11434
86.6k
      default:
11435
86.6k
        continue;
11436
91.0k
    }
11437
11438
4.33k
    break;
11439
91.0k
  }
11440
11441
4.63k
  yyleng = YYCURSOR - SCNG(yy_text);
11442
4.63k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11443
4.63k
}
11444
0
#line 11445 "Zend/zend_language_scanner.c"
11445
30.3k
yy975:
11446
30.3k
    YYDEBUG(975, *YYCURSOR);
11447
30.3k
    yych = *++YYCURSOR;
11448
30.3k
    if (yych == '>') goto yy981;
11449
569
    goto yy969;
11450
7.81k
yy976:
11451
7.81k
    YYDEBUG(976, *YYCURSOR);
11452
7.81k
    yych = *++YYCURSOR;
11453
7.81k
    if (yych == '*') goto yy983;
11454
4.02k
    if (yych == '/') goto yy973;
11455
1.04k
    goto yy969;
11456
77.0k
yy977:
11457
77.0k
    YYDEBUG(977, *YYCURSOR);
11458
77.0k
    yyaccept = 0;
11459
77.0k
    yych = *(YYMARKER = ++YYCURSOR);
11460
77.0k
    if (yych == '-') goto yy985;
11461
884
    goto yy969;
11462
980k
yy978:
11463
980k
    YYDEBUG(978, *YYCURSOR);
11464
980k
    ++YYCURSOR;
11465
980k
    YYFILL(1);
11466
980k
    yych = *YYCURSOR;
11467
980k
    YYDEBUG(979, *YYCURSOR);
11468
980k
    if (yybm[0+yych] & 128) {
11469
753k
      goto yy978;
11470
753k
    }
11471
226k
    YYDEBUG(980, *YYCURSOR);
11472
226k
    yyleng = YYCURSOR - SCNG(yy_text);
11473
226k
#line 1609 "Zend/zend_language_scanner.l"
11474
226k
    {
11475
226k
  yy_pop_state();
11476
226k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11477
226k
}
11478
0
#line 11479 "Zend/zend_language_scanner.c"
11479
29.7k
yy981:
11480
29.7k
    YYDEBUG(981, *YYCURSOR);
11481
29.7k
    ++YYCURSOR;
11482
29.7k
    YYDEBUG(982, *YYCURSOR);
11483
29.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11484
29.7k
#line 1601 "Zend/zend_language_scanner.l"
11485
29.7k
    {
11486
29.7k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11487
29.7k
}
11488
0
#line 11489 "Zend/zend_language_scanner.c"
11489
3.78k
yy983:
11490
3.78k
    YYDEBUG(983, *YYCURSOR);
11491
3.78k
    yyaccept = 1;
11492
3.78k
    yych = *(YYMARKER = ++YYCURSOR);
11493
3.78k
    if (yych == '*') goto yy987;
11494
3.78k
yy984:
11495
3.78k
    YYDEBUG(984, *YYCURSOR);
11496
3.78k
    yyleng = YYCURSOR - SCNG(yy_text);
11497
3.78k
#line 2484 "Zend/zend_language_scanner.l"
11498
3.78k
    {
11499
3.78k
  int doc_com;
11500
11501
3.78k
  if (yyleng > 2) {
11502
1.55k
    doc_com = 1;
11503
1.55k
    RESET_DOC_COMMENT();
11504
2.23k
  } else {
11505
2.23k
    doc_com = 0;
11506
2.23k
  }
11507
11508
348k
  while (YYCURSOR < YYLIMIT) {
11509
347k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11510
2.72k
      break;
11511
2.72k
    }
11512
347k
  }
11513
11514
3.78k
  if (YYCURSOR < YYLIMIT) {
11515
2.72k
    YYCURSOR++;
11516
2.72k
  } else {
11517
1.06k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11518
1.06k
    if (PARSER_MODE()) {
11519
74
      RETURN_TOKEN(T_ERROR);
11520
74
    }
11521
1.06k
  }
11522
11523
3.71k
  yyleng = YYCURSOR - SCNG(yy_text);
11524
3.71k
  HANDLE_NEWLINES(yytext, yyleng);
11525
11526
3.71k
  if (doc_com) {
11527
1.51k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11528
1.51k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11529
1.51k
  }
11530
11531
2.19k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11532
2.19k
}
11533
0
#line 11534 "Zend/zend_language_scanner.c"
11534
76.2k
yy985:
11535
76.2k
    YYDEBUG(985, *YYCURSOR);
11536
76.2k
    yych = *++YYCURSOR;
11537
76.2k
    if (yych == '>') goto yy988;
11538
1.66k
yy986:
11539
1.66k
    YYDEBUG(986, *YYCURSOR);
11540
1.66k
    YYCURSOR = YYMARKER;
11541
1.66k
    if (yyaccept == 0) {
11542
277
      goto yy969;
11543
1.38k
    } else {
11544
1.38k
      goto yy984;
11545
1.38k
    }
11546
2.93k
yy987:
11547
2.93k
    YYDEBUG(987, *YYCURSOR);
11548
2.93k
    yych = *++YYCURSOR;
11549
2.93k
    if (yych <= '\f') {
11550
826
      if (yych <= 0x08) goto yy986;
11551
538
      if (yych <= '\n') goto yy990;
11552
45
      goto yy986;
11553
2.10k
    } else {
11554
2.10k
      if (yych <= '\r') goto yy990;
11555
1.77k
      if (yych == ' ') goto yy990;
11556
1.05k
      goto yy986;
11557
1.77k
    }
11558
75.9k
yy988:
11559
75.9k
    YYDEBUG(988, *YYCURSOR);
11560
75.9k
    ++YYCURSOR;
11561
75.9k
    YYDEBUG(989, *YYCURSOR);
11562
75.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11563
75.9k
#line 1605 "Zend/zend_language_scanner.l"
11564
75.9k
    {
11565
75.9k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11566
75.9k
}
11567
0
#line 11568 "Zend/zend_language_scanner.c"
11568
2.81k
yy990:
11569
2.81k
    YYDEBUG(990, *YYCURSOR);
11570
2.81k
    ++YYCURSOR;
11571
2.81k
    YYFILL(1);
11572
2.81k
    yych = *YYCURSOR;
11573
2.81k
    YYDEBUG(991, *YYCURSOR);
11574
2.81k
    if (yych <= '\f') {
11575
982
      if (yych <= 0x08) goto yy984;
11576
702
      if (yych <= '\n') goto yy990;
11577
257
      goto yy984;
11578
1.83k
    } else {
11579
1.83k
      if (yych <= '\r') goto yy990;
11580
1.22k
      if (yych == ' ') goto yy990;
11581
1.01k
      goto yy984;
11582
1.22k
    }
11583
2.81k
  }
11584
/* *********************************** */
11585
183k
yyc_ST_BACKQUOTE:
11586
183k
  {
11587
183k
    static const unsigned char yybm[] = {
11588
183k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
183k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
183k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
183k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
183k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
183k
        0,   0,   0,   0,   0,   0,   0,   0, 
11594
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11595
183k
      128, 128,   0,   0,   0,   0,   0,   0, 
11596
183k
        0, 128, 128, 128, 128, 128, 128, 128, 
11597
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11599
183k
      128, 128, 128,   0,   0,   0,   0, 128, 
11600
183k
        0, 128, 128, 128, 128, 128, 128, 128, 
11601
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
183k
      128, 128, 128,   0,   0,   0,   0,   0, 
11604
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
183k
      128, 128, 128, 128, 128, 128, 128, 128, 
11620
183k
    };
11621
183k
    YYDEBUG(992, *YYCURSOR);
11622
183k
    YYFILL(2);
11623
183k
    yych = *YYCURSOR;
11624
183k
    if (yych <= '_') {
11625
122k
      if (yych == '$') goto yy996;
11626
122k
    } else {
11627
61.5k
      if (yych <= '`') goto yy997;
11628
22.7k
      if (yych == '{') goto yy999;
11629
22.7k
    }
11630
79.3k
    YYDEBUG(994, *YYCURSOR);
11631
79.3k
    ++YYCURSOR;
11632
85.7k
yy995:
11633
85.7k
    YYDEBUG(995, *YYCURSOR);
11634
85.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11635
85.7k
#line 2919 "Zend/zend_language_scanner.l"
11636
85.7k
    {
11637
85.7k
  if (YYCURSOR > YYLIMIT) {
11638
6.53k
    RETURN_END_TOKEN;
11639
6.53k
  }
11640
79.2k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11641
1.50k
    YYCURSOR++;
11642
1.50k
  }
11643
11644
5.11M
  while (YYCURSOR < YYLIMIT) {
11645
5.10M
    switch (*YYCURSOR++) {
11646
21.4k
      case '`':
11647
21.4k
        break;
11648
71.0k
      case '$':
11649
71.0k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11650
49.6k
          break;
11651
49.6k
        }
11652
21.4k
        continue;
11653
21.4k
      case '{':
11654
19.5k
        if (*YYCURSOR == '$') {
11655
1.84k
          break;
11656
1.84k
        }
11657
17.7k
        continue;
11658
33.8k
      case '\\':
11659
33.8k
        if (YYCURSOR < YYLIMIT) {
11660
33.2k
          YYCURSOR++;
11661
33.2k
        }
11662
33.8k
        ZEND_FALLTHROUGH;
11663
4.99M
      default:
11664
4.99M
        continue;
11665
5.10M
    }
11666
11667
72.9k
    YYCURSOR--;
11668
72.9k
    break;
11669
5.10M
  }
11670
11671
79.2k
  yyleng = YYCURSOR - SCNG(yy_text);
11672
11673
79.2k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11674
79.2k
   || !PARSER_MODE()) {
11675
79.2k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11676
79.2k
  } else {
11677
8
    RETURN_TOKEN(T_ERROR);
11678
8
  }
11679
79.2k
}
11680
0
#line 11681 "Zend/zend_language_scanner.c"
11681
61.2k
yy996:
11682
61.2k
    YYDEBUG(996, *YYCURSOR);
11683
61.2k
    yych = *++YYCURSOR;
11684
61.2k
    if (yych <= '_') {
11685
8.54k
      if (yych <= '@') goto yy995;
11686
7.63k
      if (yych <= 'Z') goto yy1000;
11687
4.87k
      if (yych <= '^') goto yy995;
11688
2.29k
      goto yy1000;
11689
52.7k
    } else {
11690
52.7k
      if (yych <= 'z') {
11691
26.5k
        if (yych <= '`') goto yy995;
11692
26.1k
        goto yy1000;
11693
26.5k
      } else {
11694
26.1k
        if (yych <= '{') goto yy1003;
11695
9.48k
        if (yych <= 0x7F) goto yy995;
11696
9.19k
        goto yy1000;
11697
9.48k
      }
11698
52.7k
    }
11699
38.7k
yy997:
11700
38.7k
    YYDEBUG(997, *YYCURSOR);
11701
38.7k
    ++YYCURSOR;
11702
38.7k
    YYDEBUG(998, *YYCURSOR);
11703
38.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11704
38.7k
#line 2859 "Zend/zend_language_scanner.l"
11705
38.7k
    {
11706
38.7k
  BEGIN(ST_IN_SCRIPTING);
11707
38.7k
  RETURN_TOKEN('`');
11708
38.7k
}
11709
0
#line 11710 "Zend/zend_language_scanner.c"
11710
4.25k
yy999:
11711
4.25k
    YYDEBUG(999, *YYCURSOR);
11712
4.25k
    yych = *++YYCURSOR;
11713
4.25k
    if (yych == '$') goto yy1005;
11714
2.27k
    goto yy995;
11715
147k
yy1000:
11716
147k
    YYDEBUG(1000, *YYCURSOR);
11717
147k
    YYMARKER = ++YYCURSOR;
11718
147k
    YYFILL(4);
11719
147k
    yych = *YYCURSOR;
11720
147k
    YYDEBUG(1001, *YYCURSOR);
11721
147k
    if (yybm[0+yych] & 128) {
11722
106k
      goto yy1000;
11723
106k
    }
11724
40.4k
    if (yych <= '>') {
11725
26.4k
      if (yych == '-') goto yy1007;
11726
26.4k
    } else {
11727
14.0k
      if (yych <= '?') goto yy1009;
11728
5.41k
      if (yych <= '@') goto yy1002;
11729
5.17k
      if (yych <= '[') goto yy1010;
11730
5.17k
    }
11731
31.8k
yy1002:
11732
31.8k
    YYDEBUG(1002, *YYCURSOR);
11733
31.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11734
31.8k
#line 2417 "Zend/zend_language_scanner.l"
11735
31.8k
    {
11736
31.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11737
31.8k
}
11738
0
#line 11739 "Zend/zend_language_scanner.c"
11739
16.6k
yy1003:
11740
16.6k
    YYDEBUG(1003, *YYCURSOR);
11741
16.6k
    ++YYCURSOR;
11742
16.6k
    YYDEBUG(1004, *YYCURSOR);
11743
16.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11744
16.6k
#line 1981 "Zend/zend_language_scanner.l"
11745
16.6k
    {
11746
16.6k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11747
16.6k
  enter_nesting('{');
11748
16.6k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11749
16.6k
}
11750
0
#line 11751 "Zend/zend_language_scanner.c"
11751
1.97k
yy1005:
11752
1.97k
    YYDEBUG(1005, *YYCURSOR);
11753
1.97k
    ++YYCURSOR;
11754
1.97k
    YYDEBUG(1006, *YYCURSOR);
11755
1.97k
    yyleng = YYCURSOR - SCNG(yy_text);
11756
1.97k
#line 2846 "Zend/zend_language_scanner.l"
11757
1.97k
    {
11758
1.97k
  yy_push_state(ST_IN_SCRIPTING);
11759
1.97k
  yyless(1);
11760
1.97k
  enter_nesting('{');
11761
1.97k
  RETURN_TOKEN(T_CURLY_OPEN);
11762
1.97k
}
11763
0
#line 11764 "Zend/zend_language_scanner.c"
11764
5.75k
yy1007:
11765
5.75k
    YYDEBUG(1007, *YYCURSOR);
11766
5.75k
    yych = *++YYCURSOR;
11767
5.75k
    if (yych == '>') goto yy1012;
11768
7.54k
yy1008:
11769
7.54k
    YYDEBUG(1008, *YYCURSOR);
11770
7.54k
    YYCURSOR = YYMARKER;
11771
7.54k
    goto yy1002;
11772
8.59k
yy1009:
11773
8.59k
    YYDEBUG(1009, *YYCURSOR);
11774
8.59k
    yych = *++YYCURSOR;
11775
8.59k
    if (yych == '-') goto yy1013;
11776
3.03k
    goto yy1008;
11777
3.03k
yy1010:
11778
1.81k
    YYDEBUG(1010, *YYCURSOR);
11779
1.81k
    ++YYCURSOR;
11780
1.81k
    YYDEBUG(1011, *YYCURSOR);
11781
1.81k
    yyleng = YYCURSOR - SCNG(yy_text);
11782
1.81k
#line 2411 "Zend/zend_language_scanner.l"
11783
1.81k
    {
11784
1.81k
  yyless(yyleng - 1);
11785
1.81k
  yy_push_state(ST_VAR_OFFSET);
11786
1.81k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11787
1.81k
}
11788
0
#line 11789 "Zend/zend_language_scanner.c"
11789
4.39k
yy1012:
11790
4.39k
    YYDEBUG(1012, *YYCURSOR);
11791
4.39k
    yych = *++YYCURSOR;
11792
4.39k
    if (yych <= '_') {
11793
1.16k
      if (yych <= '@') goto yy1008;
11794
784
      if (yych <= 'Z') goto yy1014;
11795
480
      if (yych <= '^') goto yy1008;
11796
239
      goto yy1014;
11797
3.22k
    } else {
11798
3.22k
      if (yych <= '`') goto yy1008;
11799
3.13k
      if (yych <= 'z') goto yy1014;
11800
1.69k
      if (yych <= 0x7F) goto yy1008;
11801
1.32k
      goto yy1014;
11802
1.69k
    }
11803
5.55k
yy1013:
11804
5.55k
    YYDEBUG(1013, *YYCURSOR);
11805
5.55k
    yych = *++YYCURSOR;
11806
5.55k
    if (yych == '>') goto yy1016;
11807
704
    goto yy1008;
11808
3.30k
yy1014:
11809
3.30k
    YYDEBUG(1014, *YYCURSOR);
11810
3.30k
    ++YYCURSOR;
11811
3.30k
    YYDEBUG(1015, *YYCURSOR);
11812
3.30k
    yyleng = YYCURSOR - SCNG(yy_text);
11813
3.30k
#line 2397 "Zend/zend_language_scanner.l"
11814
3.30k
    {
11815
3.30k
  yyless(yyleng - 3);
11816
3.30k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11817
3.30k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11818
3.30k
}
11819
0
#line 11820 "Zend/zend_language_scanner.c"
11820
4.85k
yy1016:
11821
4.85k
    YYDEBUG(1016, *YYCURSOR);
11822
4.85k
    yych = *++YYCURSOR;
11823
4.85k
    if (yych <= '_') {
11824
1.11k
      if (yych <= '@') goto yy1008;
11825
526
      if (yych <= 'Z') goto yy1017;
11826
326
      if (yych <= '^') goto yy1008;
11827
3.74k
    } else {
11828
3.74k
      if (yych <= '`') goto yy1008;
11829
3.26k
      if (yych <= 'z') goto yy1017;
11830
840
      if (yych <= 0x7F) goto yy1008;
11831
840
    }
11832
3.50k
yy1017:
11833
3.50k
    YYDEBUG(1017, *YYCURSOR);
11834
3.50k
    ++YYCURSOR;
11835
3.50k
    YYDEBUG(1018, *YYCURSOR);
11836
3.50k
    yyleng = YYCURSOR - SCNG(yy_text);
11837
3.50k
#line 2403 "Zend/zend_language_scanner.l"
11838
3.50k
    {
11839
3.50k
  yyless(yyleng - 4);
11840
3.50k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11841
3.50k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11842
3.50k
}
11843
3.50k
#line 11844 "Zend/zend_language_scanner.c"
11844
3.50k
  }
11845
/* *********************************** */
11846
623k
yyc_ST_DOUBLE_QUOTES:
11847
623k
  {
11848
623k
    static const unsigned char yybm[] = {
11849
623k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
623k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
623k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
623k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
623k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
623k
        0,   0,   0,   0,   0,   0,   0,   0, 
11855
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11856
623k
      128, 128,   0,   0,   0,   0,   0,   0, 
11857
623k
        0, 128, 128, 128, 128, 128, 128, 128, 
11858
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11860
623k
      128, 128, 128,   0,   0,   0,   0, 128, 
11861
623k
        0, 128, 128, 128, 128, 128, 128, 128, 
11862
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
623k
      128, 128, 128,   0,   0,   0,   0,   0, 
11865
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
623k
      128, 128, 128, 128, 128, 128, 128, 128, 
11881
623k
    };
11882
623k
    YYDEBUG(1019, *YYCURSOR);
11883
623k
    YYFILL(2);
11884
623k
    yych = *YYCURSOR;
11885
623k
    if (yych <= '#') {
11886
113k
      if (yych == '"') goto yy1023;
11887
509k
    } else {
11888
509k
      if (yych <= '$') goto yy1025;
11889
244k
      if (yych == '{') goto yy1026;
11890
244k
    }
11891
303k
    YYDEBUG(1021, *YYCURSOR);
11892
303k
    ++YYCURSOR;
11893
309k
yy1022:
11894
309k
    YYDEBUG(1022, *YYCURSOR);
11895
309k
    yyleng = YYCURSOR - SCNG(yy_text);
11896
309k
#line 2865 "Zend/zend_language_scanner.l"
11897
309k
    {
11898
309k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11899
80.4k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11900
80.4k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11901
11902
80.4k
    goto double_quotes_scan_done;
11903
80.4k
  }
11904
11905
229k
  if (YYCURSOR > YYLIMIT) {
11906
12.1k
    RETURN_END_TOKEN;
11907
12.1k
  }
11908
216k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11909
9.70k
    YYCURSOR++;
11910
9.70k
  }
11911
11912
5.51M
  while (YYCURSOR < YYLIMIT) {
11913
5.50M
    switch (*YYCURSOR++) {
11914
41.7k
      case '"':
11915
41.7k
        break;
11916
199k
      case '$':
11917
199k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11918
170k
          break;
11919
170k
        }
11920
28.4k
        continue;
11921
28.4k
      case '{':
11922
15.1k
        if (*YYCURSOR == '$') {
11923
2.09k
          break;
11924
2.09k
        }
11925
13.0k
        continue;
11926
37.0k
      case '\\':
11927
37.0k
        if (YYCURSOR < YYLIMIT) {
11928
36.8k
          YYCURSOR++;
11929
36.8k
        }
11930
37.0k
        ZEND_FALLTHROUGH;
11931
5.25M
      default:
11932
5.25M
        continue;
11933
5.50M
    }
11934
11935
214k
    YYCURSOR--;
11936
214k
    break;
11937
5.50M
  }
11938
11939
297k
double_quotes_scan_done:
11940
297k
  yyleng = YYCURSOR - SCNG(yy_text);
11941
11942
297k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11943
297k
   || !PARSER_MODE()) {
11944
297k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11945
297k
  } else {
11946
40
    RETURN_TOKEN(T_ERROR);
11947
40
  }
11948
297k
}
11949
0
#line 11950 "Zend/zend_language_scanner.c"
11950
46.1k
yy1023:
11951
46.1k
    YYDEBUG(1023, *YYCURSOR);
11952
46.1k
    ++YYCURSOR;
11953
46.1k
    YYDEBUG(1024, *YYCURSOR);
11954
46.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11955
46.1k
#line 2854 "Zend/zend_language_scanner.l"
11956
46.1k
    {
11957
46.1k
  BEGIN(ST_IN_SCRIPTING);
11958
46.1k
  RETURN_TOKEN('"');
11959
46.1k
}
11960
0
#line 11961 "Zend/zend_language_scanner.c"
11961
265k
yy1025:
11962
265k
    YYDEBUG(1025, *YYCURSOR);
11963
265k
    yych = *++YYCURSOR;
11964
265k
    if (yych <= '_') {
11965
33.8k
      if (yych <= '@') goto yy1022;
11966
30.7k
      if (yych <= 'Z') goto yy1027;
11967
4.75k
      if (yych <= '^') goto yy1022;
11968
4.51k
      goto yy1027;
11969
231k
    } else {
11970
231k
      if (yych <= 'z') {
11971
183k
        if (yych <= '`') goto yy1022;
11972
183k
        goto yy1027;
11973
183k
      } else {
11974
48.0k
        if (yych <= '{') goto yy1030;
11975
18.1k
        if (yych <= 0x7F) goto yy1022;
11976
17.7k
        goto yy1027;
11977
18.1k
      }
11978
231k
    }
11979
7.60k
yy1026:
11980
7.60k
    YYDEBUG(1026, *YYCURSOR);
11981
7.60k
    yych = *++YYCURSOR;
11982
7.60k
    if (yych == '$') goto yy1032;
11983
1.75k
    goto yy1022;
11984
796k
yy1027:
11985
796k
    YYDEBUG(1027, *YYCURSOR);
11986
796k
    YYMARKER = ++YYCURSOR;
11987
796k
    YYFILL(4);
11988
796k
    yych = *YYCURSOR;
11989
796k
    YYDEBUG(1028, *YYCURSOR);
11990
796k
    if (yybm[0+yych] & 128) {
11991
564k
      goto yy1027;
11992
564k
    }
11993
231k
    if (yych <= '>') {
11994
126k
      if (yych == '-') goto yy1034;
11995
126k
    } else {
11996
105k
      if (yych <= '?') goto yy1036;
11997
20.4k
      if (yych <= '@') goto yy1029;
11998
20.1k
      if (yych <= '[') goto yy1037;
11999
20.1k
    }
12000
178k
yy1029:
12001
178k
    YYDEBUG(1029, *YYCURSOR);
12002
178k
    yyleng = YYCURSOR - SCNG(yy_text);
12003
178k
#line 2417 "Zend/zend_language_scanner.l"
12004
178k
    {
12005
178k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12006
178k
}
12007
0
#line 12008 "Zend/zend_language_scanner.c"
12008
29.8k
yy1030:
12009
29.8k
    YYDEBUG(1030, *YYCURSOR);
12010
29.8k
    ++YYCURSOR;
12011
29.8k
    YYDEBUG(1031, *YYCURSOR);
12012
29.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12013
29.8k
#line 1981 "Zend/zend_language_scanner.l"
12014
29.8k
    {
12015
29.8k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12016
29.8k
  enter_nesting('{');
12017
29.8k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12018
29.8k
}
12019
0
#line 12020 "Zend/zend_language_scanner.c"
12020
5.85k
yy1032:
12021
5.85k
    YYDEBUG(1032, *YYCURSOR);
12022
5.85k
    ++YYCURSOR;
12023
5.85k
    YYDEBUG(1033, *YYCURSOR);
12024
5.85k
    yyleng = YYCURSOR - SCNG(yy_text);
12025
5.85k
#line 2846 "Zend/zend_language_scanner.l"
12026
5.85k
    {
12027
5.85k
  yy_push_state(ST_IN_SCRIPTING);
12028
5.85k
  yyless(1);
12029
5.85k
  enter_nesting('{');
12030
5.85k
  RETURN_TOKEN(T_CURLY_OPEN);
12031
5.85k
}
12032
0
#line 12033 "Zend/zend_language_scanner.c"
12033
18.7k
yy1034:
12034
18.7k
    YYDEBUG(1034, *YYCURSOR);
12035
18.7k
    yych = *++YYCURSOR;
12036
18.7k
    if (yych == '>') goto yy1039;
12037
55.5k
yy1035:
12038
55.5k
    YYDEBUG(1035, *YYCURSOR);
12039
55.5k
    YYCURSOR = YYMARKER;
12040
55.5k
    goto yy1029;
12041
84.8k
yy1036:
12042
84.8k
    YYDEBUG(1036, *YYCURSOR);
12043
84.8k
    yych = *++YYCURSOR;
12044
84.8k
    if (yych == '-') goto yy1040;
12045
45.9k
    goto yy1035;
12046
45.9k
yy1037:
12047
5.35k
    YYDEBUG(1037, *YYCURSOR);
12048
5.35k
    ++YYCURSOR;
12049
5.35k
    YYDEBUG(1038, *YYCURSOR);
12050
5.35k
    yyleng = YYCURSOR - SCNG(yy_text);
12051
5.35k
#line 2411 "Zend/zend_language_scanner.l"
12052
5.35k
    {
12053
5.35k
  yyless(yyleng - 1);
12054
5.35k
  yy_push_state(ST_VAR_OFFSET);
12055
5.35k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12056
5.35k
}
12057
0
#line 12058 "Zend/zend_language_scanner.c"
12058
15.3k
yy1039:
12059
15.3k
    YYDEBUG(1039, *YYCURSOR);
12060
15.3k
    yych = *++YYCURSOR;
12061
15.3k
    if (yych <= '_') {
12062
8.75k
      if (yych <= '@') goto yy1035;
12063
7.54k
      if (yych <= 'Z') goto yy1041;
12064
566
      if (yych <= '^') goto yy1035;
12065
352
      goto yy1041;
12066
6.60k
    } else {
12067
6.60k
      if (yych <= '`') goto yy1035;
12068
6.24k
      if (yych <= 'z') goto yy1041;
12069
1.47k
      if (yych <= 0x7F) goto yy1035;
12070
768
      goto yy1041;
12071
1.47k
    }
12072
38.9k
yy1040:
12073
38.9k
    YYDEBUG(1040, *YYCURSOR);
12074
38.9k
    yych = *++YYCURSOR;
12075
38.9k
    if (yych == '>') goto yy1043;
12076
1.50k
    goto yy1035;
12077
12.8k
yy1041:
12078
12.8k
    YYDEBUG(1041, *YYCURSOR);
12079
12.8k
    ++YYCURSOR;
12080
12.8k
    YYDEBUG(1042, *YYCURSOR);
12081
12.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12082
12.8k
#line 2397 "Zend/zend_language_scanner.l"
12083
12.8k
    {
12084
12.8k
  yyless(yyleng - 3);
12085
12.8k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12086
12.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12087
12.8k
}
12088
0
#line 12089 "Zend/zend_language_scanner.c"
12089
37.4k
yy1043:
12090
37.4k
    YYDEBUG(1043, *YYCURSOR);
12091
37.4k
    yych = *++YYCURSOR;
12092
37.4k
    if (yych <= '_') {
12093
1.90k
      if (yych <= '@') goto yy1035;
12094
828
      if (yych <= 'Z') goto yy1044;
12095
438
      if (yych <= '^') goto yy1035;
12096
35.5k
    } else {
12097
35.5k
      if (yych <= '`') goto yy1035;
12098
35.1k
      if (yych <= 'z') goto yy1044;
12099
1.47k
      if (yych <= 0x7F) goto yy1035;
12100
1.47k
    }
12101
35.1k
yy1044:
12102
35.1k
    YYDEBUG(1044, *YYCURSOR);
12103
35.1k
    ++YYCURSOR;
12104
35.1k
    YYDEBUG(1045, *YYCURSOR);
12105
35.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12106
35.1k
#line 2403 "Zend/zend_language_scanner.l"
12107
35.1k
    {
12108
35.1k
  yyless(yyleng - 4);
12109
35.1k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12110
35.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12111
35.1k
}
12112
35.1k
#line 12113 "Zend/zend_language_scanner.c"
12113
35.1k
  }
12114
/* *********************************** */
12115
4.90M
yyc_ST_HEREDOC:
12116
4.90M
  {
12117
4.90M
    static const unsigned char yybm[] = {
12118
4.90M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
4.90M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
4.90M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
4.90M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
4.90M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
4.90M
        0,   0,   0,   0,   0,   0,   0,   0, 
12124
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12125
4.90M
      128, 128,   0,   0,   0,   0,   0,   0, 
12126
4.90M
        0, 128, 128, 128, 128, 128, 128, 128, 
12127
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12129
4.90M
      128, 128, 128,   0,   0,   0,   0, 128, 
12130
4.90M
        0, 128, 128, 128, 128, 128, 128, 128, 
12131
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
4.90M
      128, 128, 128,   0,   0,   0,   0,   0, 
12134
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
4.90M
      128, 128, 128, 128, 128, 128, 128, 128, 
12150
4.90M
    };
12151
4.90M
    YYDEBUG(1046, *YYCURSOR);
12152
4.90M
    YYFILL(2);
12153
4.90M
    yych = *YYCURSOR;
12154
4.90M
    if (yych == '$') goto yy1050;
12155
893k
    if (yych == '{') goto yy1051;
12156
810k
    YYDEBUG(1048, *YYCURSOR);
12157
810k
    ++YYCURSOR;
12158
990k
yy1049:
12159
990k
    YYDEBUG(1049, *YYCURSOR);
12160
990k
    yyleng = YYCURSOR - SCNG(yy_text);
12161
990k
#line 2965 "Zend/zend_language_scanner.l"
12162
990k
    {
12163
990k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12164
990k
  int newline = 0, indentation = 0, spacing = 0;
12165
12166
990k
  if (YYCURSOR > YYLIMIT) {
12167
20.0k
    RETURN_END_TOKEN;
12168
20.0k
  }
12169
12170
970k
  YYCURSOR--;
12171
12172
27.7M
  while (YYCURSOR < YYLIMIT) {
12173
27.7M
    switch (*YYCURSOR++) {
12174
175k
      case '\r':
12175
175k
        if (*YYCURSOR == '\n') {
12176
13.5k
          YYCURSOR++;
12177
13.5k
        }
12178
175k
        ZEND_FALLTHROUGH;
12179
1.44M
      case '\n':
12180
1.44M
        indentation = spacing = 0;
12181
12182
2.01M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12183
565k
          if (*YYCURSOR == '\t') {
12184
18.0k
            spacing |= HEREDOC_USING_TABS;
12185
547k
          } else {
12186
547k
            spacing |= HEREDOC_USING_SPACES;
12187
547k
          }
12188
565k
          ++YYCURSOR;
12189
565k
          ++indentation;
12190
565k
        }
12191
12192
1.44M
        if (YYCURSOR == YYLIMIT) {
12193
1.78k
          yyleng = YYCURSOR - SCNG(yy_text);
12194
1.78k
          HANDLE_NEWLINES(yytext, yyleng);
12195
1.78k
          ZVAL_NULL(zendlval);
12196
1.78k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12197
1.78k
        }
12198
12199
        /* Check for ending label on the next line */
12200
1.44M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12201
25.8k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12202
11.9k
            continue;
12203
11.9k
          }
12204
12205
13.8k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12206
22
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12207
22
            if (PARSER_MODE()) {
12208
6
              RETURN_TOKEN(T_ERROR);
12209
6
            }
12210
22
          }
12211
12212
          /* newline before label will be subtracted from returned text, but
12213
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12214
13.8k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12215
271
            newline = 2; /* Windows newline */
12216
13.5k
          } else {
12217
13.5k
            newline = 1;
12218
13.5k
          }
12219
12220
13.8k
          CG(increment_lineno) = 1; /* For newline before label */
12221
12222
13.8k
          if (SCNG(heredoc_scan_ahead)) {
12223
8.43k
            SCNG(heredoc_indentation) = indentation;
12224
8.43k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12225
8.43k
          } else {
12226
5.40k
            YYCURSOR -= indentation;
12227
5.40k
          }
12228
12229
13.8k
          BEGIN(ST_END_HEREDOC);
12230
12231
13.8k
          goto heredoc_scan_done;
12232
13.8k
        }
12233
1.42M
        continue;
12234
1.42M
      case '$':
12235
1.21M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12236
924k
          break;
12237
924k
        }
12238
292k
        continue;
12239
292k
      case '{':
12240
260k
        if (*YYCURSOR == '$') {
12241
13.1k
          break;
12242
13.1k
        }
12243
247k
        continue;
12244
247k
      case '\\':
12245
113k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12246
110k
          YYCURSOR++;
12247
110k
        }
12248
113k
        ZEND_FALLTHROUGH;
12249
24.8M
      default:
12250
24.8M
        continue;
12251
27.7M
    }
12252
12253
938k
    YYCURSOR--;
12254
938k
    break;
12255
27.7M
  }
12256
12257
968k
heredoc_scan_done:
12258
12259
968k
  yyleng = YYCURSOR - SCNG(yy_text);
12260
968k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12261
12262
968k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12263
91.7k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12264
91.7k
    zend_string *copy = Z_STR_P(zendlval);
12265
12266
91.7k
    if (!strip_multiline_string_indentation(
12267
91.7k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12268
91.7k
        newline_at_start, newline != 0)) {
12269
59
      RETURN_TOKEN(T_ERROR);
12270
59
    }
12271
12272
91.6k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12273
15
      zend_string_efree(copy);
12274
15
      RETURN_TOKEN(T_ERROR);
12275
15
    }
12276
12277
91.6k
    zend_string_efree(copy);
12278
876k
  } else {
12279
876k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12280
876k
  }
12281
12282
968k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12283
968k
}
12284
0
#line 12285 "Zend/zend_language_scanner.c"
12285
4.00M
yy1050:
12286
4.00M
    YYDEBUG(1050, *YYCURSOR);
12287
4.00M
    yych = *++YYCURSOR;
12288
4.00M
    if (yych <= '_') {
12289
159k
      if (yych <= '@') goto yy1049;
12290
34.4k
      if (yych <= 'Z') goto yy1052;
12291
12.5k
      if (yych <= '^') goto yy1049;
12292
4.89k
      goto yy1052;
12293
3.84M
    } else {
12294
3.84M
      if (yych <= 'z') {
12295
255k
        if (yych <= '`') goto yy1049;
12296
254k
        goto yy1052;
12297
3.59M
      } else {
12298
3.59M
        if (yych <= '{') goto yy1055;
12299
173k
        if (yych <= 0x7F) goto yy1049;
12300
167k
        goto yy1052;
12301
173k
      }
12302
3.84M
    }
12303
82.9k
yy1051:
12304
82.9k
    YYDEBUG(1051, *YYCURSOR);
12305
82.9k
    yych = *++YYCURSOR;
12306
82.9k
    if (yych == '$') goto yy1057;
12307
39.9k
    goto yy1049;
12308
1.61M
yy1052:
12309
1.61M
    YYDEBUG(1052, *YYCURSOR);
12310
1.61M
    YYMARKER = ++YYCURSOR;
12311
1.61M
    YYFILL(4);
12312
1.61M
    yych = *YYCURSOR;
12313
1.61M
    YYDEBUG(1053, *YYCURSOR);
12314
1.61M
    if (yybm[0+yych] & 128) {
12315
1.16M
      goto yy1052;
12316
1.16M
    }
12317
448k
    if (yych <= '>') {
12318
302k
      if (yych == '-') goto yy1059;
12319
302k
    } else {
12320
146k
      if (yych <= '?') goto yy1061;
12321
54.1k
      if (yych <= '@') goto yy1054;
12322
53.1k
      if (yych <= '[') goto yy1062;
12323
53.1k
    }
12324
387k
yy1054:
12325
387k
    YYDEBUG(1054, *YYCURSOR);
12326
387k
    yyleng = YYCURSOR - SCNG(yy_text);
12327
387k
#line 2417 "Zend/zend_language_scanner.l"
12328
387k
    {
12329
387k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12330
387k
}
12331
0
#line 12332 "Zend/zend_language_scanner.c"
12332
3.41M
yy1055:
12333
3.41M
    YYDEBUG(1055, *YYCURSOR);
12334
3.41M
    ++YYCURSOR;
12335
3.41M
    YYDEBUG(1056, *YYCURSOR);
12336
3.41M
    yyleng = YYCURSOR - SCNG(yy_text);
12337
3.41M
#line 1981 "Zend/zend_language_scanner.l"
12338
3.41M
    {
12339
3.41M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12340
3.41M
  enter_nesting('{');
12341
3.41M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12342
3.41M
}
12343
0
#line 12344 "Zend/zend_language_scanner.c"
12344
42.9k
yy1057:
12345
42.9k
    YYDEBUG(1057, *YYCURSOR);
12346
42.9k
    ++YYCURSOR;
12347
42.9k
    YYDEBUG(1058, *YYCURSOR);
12348
42.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12349
42.9k
#line 2846 "Zend/zend_language_scanner.l"
12350
42.9k
    {
12351
42.9k
  yy_push_state(ST_IN_SCRIPTING);
12352
42.9k
  yyless(1);
12353
42.9k
  enter_nesting('{');
12354
42.9k
  RETURN_TOKEN(T_CURLY_OPEN);
12355
42.9k
}
12356
0
#line 12357 "Zend/zend_language_scanner.c"
12357
19.5k
yy1059:
12358
19.5k
    YYDEBUG(1059, *YYCURSOR);
12359
19.5k
    yych = *++YYCURSOR;
12360
19.5k
    if (yych == '>') goto yy1064;
12361
61.2k
yy1060:
12362
61.2k
    YYDEBUG(1060, *YYCURSOR);
12363
61.2k
    YYCURSOR = YYMARKER;
12364
61.2k
    goto yy1054;
12365
92.2k
yy1061:
12366
92.2k
    YYDEBUG(1061, *YYCURSOR);
12367
92.2k
    yych = *++YYCURSOR;
12368
92.2k
    if (yych == '-') goto yy1065;
12369
47.0k
    goto yy1060;
12370
47.0k
yy1062:
12371
10.6k
    YYDEBUG(1062, *YYCURSOR);
12372
10.6k
    ++YYCURSOR;
12373
10.6k
    YYDEBUG(1063, *YYCURSOR);
12374
10.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12375
10.6k
#line 2411 "Zend/zend_language_scanner.l"
12376
10.6k
    {
12377
10.6k
  yyless(yyleng - 1);
12378
10.6k
  yy_push_state(ST_VAR_OFFSET);
12379
10.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12380
10.6k
}
12381
0
#line 12382 "Zend/zend_language_scanner.c"
12382
16.0k
yy1064:
12383
16.0k
    YYDEBUG(1064, *YYCURSOR);
12384
16.0k
    yych = *++YYCURSOR;
12385
16.0k
    if (yych <= '_') {
12386
5.20k
      if (yych <= '@') goto yy1060;
12387
3.86k
      if (yych <= 'Z') goto yy1066;
12388
816
      if (yych <= '^') goto yy1060;
12389
668
      goto yy1066;
12390
10.8k
    } else {
12391
10.8k
      if (yych <= '`') goto yy1060;
12392
9.94k
      if (yych <= 'z') goto yy1066;
12393
1.40k
      if (yych <= 0x7F) goto yy1060;
12394
997
      goto yy1066;
12395
1.40k
    }
12396
45.1k
yy1065:
12397
45.1k
    YYDEBUG(1065, *YYCURSOR);
12398
45.1k
    yych = *++YYCURSOR;
12399
45.1k
    if (yych == '>') goto yy1068;
12400
2.18k
    goto yy1060;
12401
13.2k
yy1066:
12402
13.2k
    YYDEBUG(1066, *YYCURSOR);
12403
13.2k
    ++YYCURSOR;
12404
13.2k
    YYDEBUG(1067, *YYCURSOR);
12405
13.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12406
13.2k
#line 2397 "Zend/zend_language_scanner.l"
12407
13.2k
    {
12408
13.2k
  yyless(yyleng - 3);
12409
13.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12410
13.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12411
13.2k
}
12412
0
#line 12413 "Zend/zend_language_scanner.c"
12413
42.9k
yy1068:
12414
42.9k
    YYDEBUG(1068, *YYCURSOR);
12415
42.9k
    yych = *++YYCURSOR;
12416
42.9k
    if (yych <= '_') {
12417
4.47k
      if (yych <= '@') goto yy1060;
12418
1.01k
      if (yych <= 'Z') goto yy1069;
12419
736
      if (yych <= '^') goto yy1060;
12420
38.5k
    } else {
12421
38.5k
      if (yych <= '`') goto yy1060;
12422
36.8k
      if (yych <= 'z') goto yy1069;
12423
981
      if (yych <= 0x7F) goto yy1060;
12424
981
    }
12425
37.2k
yy1069:
12426
37.2k
    YYDEBUG(1069, *YYCURSOR);
12427
37.2k
    ++YYCURSOR;
12428
37.2k
    YYDEBUG(1070, *YYCURSOR);
12429
37.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12430
37.2k
#line 2403 "Zend/zend_language_scanner.l"
12431
37.2k
    {
12432
37.2k
  yyless(yyleng - 4);
12433
37.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12434
37.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12435
37.2k
}
12436
37.2k
#line 12437 "Zend/zend_language_scanner.c"
12437
37.2k
  }
12438
/* *********************************** */
12439
3.46M
yyc_ST_LOOKING_FOR_VARNAME:
12440
3.46M
  {
12441
3.46M
    static const unsigned char yybm[] = {
12442
3.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
3.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12448
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12449
3.46M
      128, 128,   0,   0,   0,   0,   0,   0, 
12450
3.46M
        0, 128, 128, 128, 128, 128, 128, 128, 
12451
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12453
3.46M
      128, 128, 128,   0,   0,   0,   0, 128, 
12454
3.46M
        0, 128, 128, 128, 128, 128, 128, 128, 
12455
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
3.46M
      128, 128, 128,   0,   0,   0,   0,   0, 
12458
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
3.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12474
3.46M
    };
12475
3.46M
    YYDEBUG(1071, *YYCURSOR);
12476
3.46M
    YYFILL(2);
12477
3.46M
    yych = *YYCURSOR;
12478
3.46M
    if (yych <= '_') {
12479
3.34M
      if (yych <= '@') goto yy1073;
12480
20.9k
      if (yych <= 'Z') goto yy1075;
12481
8.34k
      if (yych >= '_') goto yy1075;
12482
119k
    } else {
12483
119k
      if (yych <= '`') goto yy1073;
12484
116k
      if (yych <= 'z') goto yy1075;
12485
37.8k
      if (yych >= 0x80) goto yy1075;
12486
37.8k
    }
12487
3.33M
yy1073:
12488
3.33M
    YYDEBUG(1073, *YYCURSOR);
12489
3.33M
    ++YYCURSOR;
12490
3.46M
yy1074:
12491
3.46M
    YYDEBUG(1074, *YYCURSOR);
12492
3.46M
    yyleng = YYCURSOR - SCNG(yy_text);
12493
3.46M
#line 2004 "Zend/zend_language_scanner.l"
12494
3.46M
    {
12495
3.46M
  yyless(0);
12496
3.46M
  yy_pop_state();
12497
3.46M
  yy_push_state(ST_IN_SCRIPTING);
12498
3.46M
  goto restart;
12499
3.33M
}
12500
0
#line 12501 "Zend/zend_language_scanner.c"
12501
129k
yy1075:
12502
129k
    YYDEBUG(1075, *YYCURSOR);
12503
129k
    yych = *(YYMARKER = ++YYCURSOR);
12504
129k
    if (yych <= '_') {
12505
50.2k
      if (yych <= '@') {
12506
33.4k
        if (yych <= '/') goto yy1074;
12507
17.7k
        if (yych <= '9') goto yy1077;
12508
16.2k
        goto yy1074;
12509
17.7k
      } else {
12510
16.8k
        if (yych <= '[') goto yy1077;
12511
6.26k
        if (yych <= '^') goto yy1074;
12512
5.39k
        goto yy1077;
12513
6.26k
      }
12514
79.5k
    } else {
12515
79.5k
      if (yych <= '|') {
12516
62.5k
        if (yych <= '`') goto yy1074;
12517
62.3k
        if (yych <= 'z') goto yy1077;
12518
1.11k
        goto yy1074;
12519
62.3k
      } else {
12520
16.9k
        if (yych <= '}') goto yy1077;
12521
16.4k
        if (yych <= 0x7F) goto yy1074;
12522
15.8k
        goto yy1077;
12523
16.4k
      }
12524
79.5k
    }
12525
500k
yy1076:
12526
500k
    YYDEBUG(1076, *YYCURSOR);
12527
500k
    ++YYCURSOR;
12528
500k
    YYFILL(1);
12529
500k
    yych = *YYCURSOR;
12530
596k
yy1077:
12531
596k
    YYDEBUG(1077, *YYCURSOR);
12532
596k
    if (yybm[0+yych] & 128) {
12533
500k
      goto yy1076;
12534
500k
    }
12535
95.0k
    if (yych <= '@') goto yy1078;
12536
22.1k
    if (yych <= '[') goto yy1079;
12537
20.9k
    if (yych == '}') goto yy1079;
12538
92.7k
yy1078:
12539
92.7k
    YYDEBUG(1078, *YYCURSOR);
12540
92.7k
    YYCURSOR = YYMARKER;
12541
92.7k
    goto yy1074;
12542
2.33k
yy1079:
12543
2.33k
    YYDEBUG(1079, *YYCURSOR);
12544
2.33k
    ++YYCURSOR;
12545
2.33k
    YYDEBUG(1080, *YYCURSOR);
12546
2.33k
    yyleng = YYCURSOR - SCNG(yy_text);
12547
2.33k
#line 1996 "Zend/zend_language_scanner.l"
12548
2.33k
    {
12549
2.33k
  yyless(yyleng - 1);
12550
2.33k
  yy_pop_state();
12551
2.33k
  yy_push_state(ST_IN_SCRIPTING);
12552
2.33k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12553
2.33k
}
12554
2.33k
#line 12555 "Zend/zend_language_scanner.c"
12555
2.33k
  }
12556
/* *********************************** */
12557
190k
yyc_ST_VAR_OFFSET:
12558
190k
  {
12559
190k
    static const unsigned char yybm[] = {
12560
190k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
190k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
190k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
190k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
190k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
190k
        0,   0,   0,   0,   0,   0,   0,   0, 
12566
190k
      248, 248, 216, 216, 216, 216, 216, 216, 
12567
190k
      152, 152,   0,   0,   0,   0,   0,   0, 
12568
190k
        0, 144, 144, 144, 144, 144, 144,  16, 
12569
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12571
190k
       16,  16,  16,   0,   0,   0,   0,  16, 
12572
190k
        0, 144, 144, 144, 144, 144, 144,  16, 
12573
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
190k
       16,  16,  16,   0,   0,   0,   0,   0, 
12576
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
190k
       16,  16,  16,  16,  16,  16,  16,  16, 
12592
190k
    };
12593
190k
    YYDEBUG(1081, *YYCURSOR);
12594
190k
    YYFILL(2);
12595
190k
    yych = *YYCURSOR;
12596
190k
    if (yych <= '0') {
12597
81.5k
      if (yych <= ' ') {
12598
33.2k
        if (yych <= '\f') {
12599
27.5k
          if (yych <= 0x08) goto yy1083;
12600
6.13k
          if (yych <= '\n') goto yy1085;
12601
6.13k
        } else {
12602
5.69k
          if (yych <= '\r') goto yy1085;
12603
5.34k
          if (yych >= ' ') goto yy1085;
12604
5.34k
        }
12605
48.3k
      } else {
12606
48.3k
        if (yych <= '$') {
12607
19.4k
          if (yych <= '"') goto yy1087;
12608
13.9k
          if (yych <= '#') goto yy1085;
12609
13.5k
          goto yy1089;
12610
28.8k
        } else {
12611
28.8k
          if (yych == '\'') goto yy1085;
12612
28.4k
          if (yych <= '/') goto yy1087;
12613
12.7k
          goto yy1090;
12614
28.4k
        }
12615
48.3k
      }
12616
109k
    } else {
12617
109k
      if (yych <= ']') {
12618
69.7k
        if (yych <= 'Z') {
12619
33.6k
          if (yych <= '9') goto yy1092;
12620
23.5k
          if (yych <= '@') goto yy1087;
12621
4.55k
          goto yy1094;
12622
36.1k
        } else {
12623
36.1k
          if (yych <= '[') goto yy1087;
12624
9.81k
          if (yych <= '\\') goto yy1085;
12625
9.50k
          goto yy1097;
12626
9.81k
        }
12627
69.7k
      } else {
12628
39.3k
        if (yych <= '`') {
12629
11.1k
          if (yych == '_') goto yy1094;
12630
8.00k
          goto yy1087;
12631
28.1k
        } else {
12632
28.1k
          if (yych <= 'z') goto yy1094;
12633
15.8k
          if (yych <= '~') goto yy1087;
12634
9.04k
          if (yych >= 0x80) goto yy1094;
12635
9.04k
        }
12636
39.3k
      }
12637
109k
    }
12638
29.3k
yy1083:
12639
29.3k
    YYDEBUG(1083, *YYCURSOR);
12640
29.3k
    ++YYCURSOR;
12641
29.3k
    YYDEBUG(1084, *YYCURSOR);
12642
29.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12643
29.3k
#line 3180 "Zend/zend_language_scanner.l"
12644
29.3k
    {
12645
29.3k
  if (YYCURSOR > YYLIMIT) {
12646
1.73k
    RETURN_END_TOKEN;
12647
1.73k
  }
12648
12649
27.5k
  RETURN_TOKEN(T_BAD_CHARACTER);
12650
27.5k
}
12651
0
#line 12652 "Zend/zend_language_scanner.c"
12652
6.05k
yy1085:
12653
6.05k
    YYDEBUG(1085, *YYCURSOR);
12654
6.05k
    ++YYCURSOR;
12655
6.05k
    YYDEBUG(1086, *YYCURSOR);
12656
6.05k
    yyleng = YYCURSOR - SCNG(yy_text);
12657
6.05k
#line 2431 "Zend/zend_language_scanner.l"
12658
6.05k
    {
12659
  /* Invalid rule to return a more explicit parse error with proper line number */
12660
6.05k
  yyless(0);
12661
6.05k
  yy_pop_state();
12662
6.05k
  ZVAL_NULL(zendlval);
12663
6.05k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12664
6.05k
}
12665
0
#line 12666 "Zend/zend_language_scanner.c"
12666
81.2k
yy1087:
12667
81.2k
    YYDEBUG(1087, *YYCURSOR);
12668
81.2k
    ++YYCURSOR;
12669
86.6k
yy1088:
12670
86.6k
    YYDEBUG(1088, *YYCURSOR);
12671
86.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12672
86.6k
#line 2426 "Zend/zend_language_scanner.l"
12673
86.6k
    {
12674
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12675
86.6k
  RETURN_TOKEN(yytext[0]);
12676
86.6k
}
12677
0
#line 12678 "Zend/zend_language_scanner.c"
12678
13.5k
yy1089:
12679
13.5k
    YYDEBUG(1089, *YYCURSOR);
12680
13.5k
    yych = *++YYCURSOR;
12681
13.5k
    if (yych <= '_') {
12682
5.74k
      if (yych <= '@') goto yy1088;
12683
2.40k
      if (yych <= 'Z') goto yy1099;
12684
1.29k
      if (yych <= '^') goto yy1088;
12685
659
      goto yy1099;
12686
7.75k
    } else {
12687
7.75k
      if (yych <= '`') goto yy1088;
12688
7.30k
      if (yych <= 'z') goto yy1099;
12689
2.58k
      if (yych <= 0x7F) goto yy1088;
12690
1.55k
      goto yy1099;
12691
2.58k
    }
12692
12.7k
yy1090:
12693
12.7k
    YYDEBUG(1090, *YYCURSOR);
12694
12.7k
    yyaccept = 0;
12695
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
12696
12.7k
    if (yych <= 'X') {
12697
5.83k
      if (yych <= 'B') {
12698
4.73k
        if (yych <= '/') goto yy1091;
12699
4.23k
        if (yych <= '9') goto yy1102;
12700
1.04k
        if (yych >= 'B') goto yy1105;
12701
1.09k
      } else {
12702
1.09k
        if (yych == 'O') goto yy1107;
12703
869
        if (yych >= 'X') goto yy1108;
12704
869
      }
12705
6.94k
    } else {
12706
6.94k
      if (yych <= 'b') {
12707
4.32k
        if (yych == '_') goto yy1109;
12708
3.76k
        if (yych >= 'b') goto yy1105;
12709
3.76k
      } else {
12710
2.61k
        if (yych <= 'o') {
12711
848
          if (yych >= 'o') goto yy1107;
12712
1.76k
        } else {
12713
1.76k
          if (yych == 'x') goto yy1108;
12714
1.76k
        }
12715
2.61k
      }
12716
6.94k
    }
12717
17.6k
yy1091:
12718
17.6k
    YYDEBUG(1091, *YYCURSOR);
12719
17.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12720
17.6k
#line 2208 "Zend/zend_language_scanner.l"
12721
17.6k
    { /* Offset could be treated as a long */
12722
17.6k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12723
16.2k
    char *end;
12724
16.2k
    errno = 0;
12725
16.2k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12726
16.2k
    if (errno == ERANGE) {
12727
0
      goto string;
12728
0
    }
12729
16.2k
    ZEND_ASSERT(end == yytext + yyleng);
12730
16.2k
  } else {
12731
1.32k
string:
12732
1.32k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12733
1.32k
  }
12734
17.6k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12735
17.6k
}
12736
0
#line 12737 "Zend/zend_language_scanner.c"
12737
78.2k
yy1092:
12738
78.2k
    YYDEBUG(1092, *YYCURSOR);
12739
78.2k
    yyaccept = 0;
12740
78.2k
    YYMARKER = ++YYCURSOR;
12741
78.2k
    YYFILL(1);
12742
78.2k
    yych = *YYCURSOR;
12743
78.2k
    YYDEBUG(1093, *YYCURSOR);
12744
78.2k
    if (yybm[0+yych] & 8) {
12745
68.0k
      goto yy1092;
12746
68.0k
    }
12747
10.1k
    if (yych == '_') goto yy1109;
12748
9.03k
    goto yy1091;
12749
126k
yy1094:
12750
126k
    YYDEBUG(1094, *YYCURSOR);
12751
126k
    ++YYCURSOR;
12752
126k
    YYFILL(1);
12753
126k
    yych = *YYCURSOR;
12754
126k
    YYDEBUG(1095, *YYCURSOR);
12755
126k
    if (yybm[0+yych] & 16) {
12756
98.7k
      goto yy1094;
12757
98.7k
    }
12758
28.1k
    YYDEBUG(1096, *YYCURSOR);
12759
28.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12760
28.1k
#line 2455 "Zend/zend_language_scanner.l"
12761
28.1k
    {
12762
28.1k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12763
28.1k
}
12764
0
#line 12765 "Zend/zend_language_scanner.c"
12765
9.50k
yy1097:
12766
9.50k
    YYDEBUG(1097, *YYCURSOR);
12767
9.50k
    ++YYCURSOR;
12768
9.50k
    YYDEBUG(1098, *YYCURSOR);
12769
9.50k
    yyleng = YYCURSOR - SCNG(yy_text);
12770
9.50k
#line 2421 "Zend/zend_language_scanner.l"
12771
9.50k
    {
12772
9.50k
  yy_pop_state();
12773
9.50k
  RETURN_TOKEN(']');
12774
9.50k
}
12775
0
#line 12776 "Zend/zend_language_scanner.c"
12776
28.9k
yy1099:
12777
28.9k
    YYDEBUG(1099, *YYCURSOR);
12778
28.9k
    ++YYCURSOR;
12779
28.9k
    YYFILL(1);
12780
28.9k
    yych = *YYCURSOR;
12781
28.9k
    YYDEBUG(1100, *YYCURSOR);
12782
28.9k
    if (yych <= '^') {
12783
10.4k
      if (yych <= '9') {
12784
3.42k
        if (yych >= '0') goto yy1099;
12785
7.02k
      } else {
12786
7.02k
        if (yych <= '@') goto yy1101;
12787
5.32k
        if (yych <= 'Z') goto yy1099;
12788
5.32k
      }
12789
18.5k
    } else {
12790
18.5k
      if (yych <= '`') {
12791
1.33k
        if (yych <= '_') goto yy1099;
12792
17.1k
      } else {
12793
17.1k
        if (yych <= 'z') goto yy1099;
12794
9.79k
        if (yych >= 0x80) goto yy1099;
12795
9.79k
      }
12796
18.5k
    }
12797
8.04k
yy1101:
12798
8.04k
    YYDEBUG(1101, *YYCURSOR);
12799
8.04k
    yyleng = YYCURSOR - SCNG(yy_text);
12800
8.04k
#line 2417 "Zend/zend_language_scanner.l"
12801
8.04k
    {
12802
8.04k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12803
8.04k
}
12804
0
#line 12805 "Zend/zend_language_scanner.c"
12805
11.2k
yy1102:
12806
11.2k
    YYDEBUG(1102, *YYCURSOR);
12807
11.2k
    yyaccept = 1;
12808
11.2k
    YYMARKER = ++YYCURSOR;
12809
11.2k
    YYFILL(1);
12810
11.2k
    yych = *YYCURSOR;
12811
11.2k
    YYDEBUG(1103, *YYCURSOR);
12812
11.2k
    if (yych <= '/') goto yy1104;
12813
10.1k
    if (yych <= '9') goto yy1102;
12814
2.84k
    if (yych == '_') goto yy1109;
12815
5.29k
yy1104:
12816
5.29k
    YYDEBUG(1104, *YYCURSOR);
12817
5.29k
    yyleng = YYCURSOR - SCNG(yy_text);
12818
5.29k
#line 2224 "Zend/zend_language_scanner.l"
12819
5.29k
    { /* Offset must be treated as a string */
12820
5.29k
  if (yyleng == 1) {
12821
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12822
5.29k
  } else {
12823
5.29k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12824
5.29k
  }
12825
5.29k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12826
5.29k
}
12827
0
#line 12828 "Zend/zend_language_scanner.c"
12828
1.03k
yy1105:
12829
1.03k
    YYDEBUG(1105, *YYCURSOR);
12830
1.03k
    ++YYCURSOR;
12831
1.03k
    YYFILL(1);
12832
1.03k
    yych = *YYCURSOR;
12833
1.03k
    if (yybm[0+yych] & 32) {
12834
643
      goto yy1110;
12835
643
    }
12836
4.09k
yy1106:
12837
4.09k
    YYDEBUG(1106, *YYCURSOR);
12838
4.09k
    YYCURSOR = YYMARKER;
12839
4.09k
    if (yyaccept == 0) {
12840
2.34k
      goto yy1091;
12841
2.34k
    } else {
12842
1.75k
      goto yy1104;
12843
1.75k
    }
12844
962
yy1107:
12845
962
    YYDEBUG(1107, *YYCURSOR);
12846
962
    ++YYCURSOR;
12847
962
    YYFILL(1);
12848
962
    yych = *YYCURSOR;
12849
962
    if (yybm[0+yych] & 64) {
12850
562
      goto yy1112;
12851
562
    }
12852
400
    goto yy1106;
12853
1.48k
yy1108:
12854
1.48k
    YYDEBUG(1108, *YYCURSOR);
12855
1.48k
    ++YYCURSOR;
12856
1.48k
    YYFILL(1);
12857
1.48k
    yych = *YYCURSOR;
12858
1.48k
    if (yybm[0+yych] & 128) {
12859
595
      goto yy1114;
12860
595
    }
12861
890
    goto yy1106;
12862
3.12k
yy1109:
12863
3.12k
    YYDEBUG(1109, *YYCURSOR);
12864
3.12k
    ++YYCURSOR;
12865
3.12k
    YYFILL(1);
12866
3.12k
    yych = *YYCURSOR;
12867
3.12k
    if (yych <= '/') goto yy1106;
12868
1.55k
    if (yych <= '9') goto yy1102;
12869
857
    goto yy1106;
12870
968
yy1110:
12871
968
    YYDEBUG(1110, *YYCURSOR);
12872
968
    yyaccept = 1;
12873
968
    YYMARKER = ++YYCURSOR;
12874
968
    YYFILL(1);
12875
968
    yych = *YYCURSOR;
12876
968
    YYDEBUG(1111, *YYCURSOR);
12877
968
    if (yybm[0+yych] & 32) {
12878
325
      goto yy1110;
12879
325
    }
12880
643
    if (yych == '_') goto yy1105;
12881
432
    goto yy1104;
12882
1.23k
yy1112:
12883
1.23k
    YYDEBUG(1112, *YYCURSOR);
12884
1.23k
    yyaccept = 1;
12885
1.23k
    YYMARKER = ++YYCURSOR;
12886
1.23k
    YYFILL(1);
12887
1.23k
    yych = *YYCURSOR;
12888
1.23k
    YYDEBUG(1113, *YYCURSOR);
12889
1.23k
    if (yybm[0+yych] & 64) {
12890
673
      goto yy1112;
12891
673
    }
12892
562
    if (yych == '_') goto yy1107;
12893
250
    goto yy1104;
12894
1.40k
yy1114:
12895
1.40k
    YYDEBUG(1114, *YYCURSOR);
12896
1.40k
    yyaccept = 1;
12897
1.40k
    YYMARKER = ++YYCURSOR;
12898
1.40k
    YYFILL(1);
12899
1.40k
    yych = *YYCURSOR;
12900
1.40k
    YYDEBUG(1115, *YYCURSOR);
12901
1.40k
    if (yybm[0+yych] & 128) {
12902
810
      goto yy1114;
12903
810
    }
12904
595
    if (yych == '_') goto yy1108;
12905
413
    goto yy1104;
12906
595
  }
12907
/* *********************************** */
12908
413
yyc_SHEBANG:
12909
0
  {
12910
0
    static const unsigned char yybm[] = {
12911
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12912
0
      128, 128,   0, 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
      128, 128, 128, 128, 128, 128, 128, 128, 
12943
0
    };
12944
0
    YYDEBUG(1116, *YYCURSOR);
12945
0
    YYFILL(2);
12946
0
    yych = *YYCURSOR;
12947
0
    if (yych == '#') goto yy1120;
12948
0
    YYDEBUG(1118, *YYCURSOR);
12949
0
    ++YYCURSOR;
12950
0
yy1119:
12951
0
    YYDEBUG(1119, *YYCURSOR);
12952
0
    yyleng = YYCURSOR - SCNG(yy_text);
12953
0
#line 2295 "Zend/zend_language_scanner.l"
12954
0
    {
12955
0
  yyless(0);
12956
0
  BEGIN(INITIAL);
12957
0
  goto restart;
12958
0
}
12959
0
#line 12960 "Zend/zend_language_scanner.c"
12960
0
yy1120:
12961
0
    YYDEBUG(1120, *YYCURSOR);
12962
0
    yych = *++YYCURSOR;
12963
0
    if (yych != '!') goto yy1119;
12964
0
yy1121:
12965
0
    YYDEBUG(1121, *YYCURSOR);
12966
0
    ++YYCURSOR;
12967
0
    YYFILL(1);
12968
0
    yych = *YYCURSOR;
12969
0
    YYDEBUG(1122, *YYCURSOR);
12970
0
    if (yybm[0+yych] & 128) {
12971
0
      goto yy1121;
12972
0
    }
12973
0
    YYDEBUG(1123, *YYCURSOR);
12974
0
    ++YYCURSOR;
12975
0
    YYDEBUG(1124, *YYCURSOR);
12976
0
    yyleng = YYCURSOR - SCNG(yy_text);
12977
0
#line 2289 "Zend/zend_language_scanner.l"
12978
0
    {
12979
0
  CG(zend_lineno)++;
12980
0
  BEGIN(INITIAL);
12981
0
  goto restart;
12982
0
}
12983
0
#line 12984 "Zend/zend_language_scanner.c"
12984
0
  }
12985
/* *********************************** */
12986
398k
yyc_INITIAL:
12987
398k
  YYDEBUG(1125, *YYCURSOR);
12988
398k
  YYFILL(7);
12989
398k
  yych = *YYCURSOR;
12990
398k
  if (yych == '<') goto yy1129;
12991
188k
  YYDEBUG(1127, *YYCURSOR);
12992
188k
  ++YYCURSOR;
12993
197k
yy1128:
12994
197k
  YYDEBUG(1128, *YYCURSOR);
12995
197k
  yyleng = YYCURSOR - SCNG(yy_text);
12996
197k
#line 2341 "Zend/zend_language_scanner.l"
12997
197k
  {
12998
197k
  if (YYCURSOR > YYLIMIT) {
12999
60.2k
    RETURN_END_TOKEN;
13000
60.2k
  }
13001
13002
137k
inline_char_handler:
13003
13004
378k
  while (1) {
13005
378k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13006
13007
378k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13008
13009
378k
    if (YYCURSOR >= YYLIMIT) {
13010
27.6k
      break;
13011
27.6k
    }
13012
13013
350k
    if (*YYCURSOR == '?') {
13014
109k
      if (CG(short_tags) /* <? */
13015
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13016
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13017
0
          (YYCURSOR + 4 == YYLIMIT ||
13018
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13019
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13020
109k
      ) {
13021
109k
        YYCURSOR--;
13022
109k
        break;
13023
109k
      }
13024
109k
    }
13025
350k
  }
13026
13027
137k
  yyleng = YYCURSOR - SCNG(yy_text);
13028
13029
137k
  if (SCNG(output_filter)) {
13030
0
    size_t readsize;
13031
0
    char *s = NULL;
13032
0
    size_t sz = 0;
13033
    // TODO: avoid reallocation ???
13034
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13035
0
    ZVAL_STRINGL(zendlval, s, sz);
13036
0
    efree(s);
13037
0
    if (readsize < yyleng) {
13038
0
      yyless(readsize);
13039
0
    }
13040
137k
  } else if (yyleng == 1) {
13041
12.9k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13042
124k
  } else {
13043
124k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13044
124k
  }
13045
137k
  HANDLE_NEWLINES(yytext, yyleng);
13046
137k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13047
137k
}
13048
0
#line 13049 "Zend/zend_language_scanner.c"
13049
210k
yy1129:
13050
210k
  YYDEBUG(1129, *YYCURSOR);
13051
210k
  yych = *++YYCURSOR;
13052
210k
  if (yych != '?') goto yy1128;
13053
201k
  YYDEBUG(1130, *YYCURSOR);
13054
201k
  yych = *(YYMARKER = ++YYCURSOR);
13055
201k
  if (yych <= 'O') {
13056
49.3k
    if (yych == '=') goto yy1132;
13057
151k
  } else {
13058
151k
    if (yych <= 'P') goto yy1134;
13059
151k
    if (yych == 'p') goto yy1134;
13060
151k
  }
13061
106k
yy1131:
13062
106k
  YYDEBUG(1131, *YYCURSOR);
13063
106k
  yyleng = YYCURSOR - SCNG(yy_text);
13064
106k
#line 2332 "Zend/zend_language_scanner.l"
13065
106k
  {
13066
106k
  if (CG(short_tags)) {
13067
106k
    BEGIN(ST_IN_SCRIPTING);
13068
106k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13069
106k
  } else {
13070
0
    goto inline_char_handler;
13071
0
  }
13072
106k
}
13073
0
#line 13074 "Zend/zend_language_scanner.c"
13074
1.09k
yy1132:
13075
1.09k
  YYDEBUG(1132, *YYCURSOR);
13076
1.09k
  ++YYCURSOR;
13077
1.09k
  YYDEBUG(1133, *YYCURSOR);
13078
1.09k
  yyleng = YYCURSOR - SCNG(yy_text);
13079
1.09k
#line 2301 "Zend/zend_language_scanner.l"
13080
1.09k
  {
13081
1.09k
  BEGIN(ST_IN_SCRIPTING);
13082
1.09k
  if (PARSER_MODE()) {
13083
    /* We'll reject this as an identifier in zend_lex_tstring. */
13084
573
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13085
573
  }
13086
520
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13087
520
}
13088
0
#line 13089 "Zend/zend_language_scanner.c"
13089
101k
yy1134:
13090
101k
  YYDEBUG(1134, *YYCURSOR);
13091
101k
  yych = *++YYCURSOR;
13092
101k
  if (yych == 'H') goto yy1136;
13093
99.1k
  if (yych == 'h') goto yy1136;
13094
7.79k
yy1135:
13095
7.79k
  YYDEBUG(1135, *YYCURSOR);
13096
7.79k
  YYCURSOR = YYMARKER;
13097
7.79k
  goto yy1131;
13098
96.4k
yy1136:
13099
96.4k
  YYDEBUG(1136, *YYCURSOR);
13100
96.4k
  yych = *++YYCURSOR;
13101
96.4k
  if (yych == 'P') goto yy1137;
13102
95.2k
  if (yych != 'p') goto yy1135;
13103
93.7k
yy1137:
13104
93.7k
  YYDEBUG(1137, *YYCURSOR);
13105
93.7k
  yych = *++YYCURSOR;
13106
93.7k
  if (yych <= '\f') {
13107
80.8k
    if (yych <= 0x08) goto yy1138;
13108
80.2k
    if (yych <= '\n') goto yy1139;
13109
80.2k
  } else {
13110
12.8k
    if (yych <= '\r') goto yy1141;
13111
12.3k
    if (yych == ' ') goto yy1139;
13112
12.3k
  }
13113
5.23k
yy1138:
13114
5.23k
  YYDEBUG(1138, *YYCURSOR);
13115
5.23k
  yyleng = YYCURSOR - SCNG(yy_text);
13116
5.23k
#line 2317 "Zend/zend_language_scanner.l"
13117
5.23k
  {
13118
  /* Allow <?php followed by end of file. */
13119
5.23k
  if (YYCURSOR == YYLIMIT) {
13120
305
    BEGIN(ST_IN_SCRIPTING);
13121
305
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13122
305
  }
13123
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13124
4.92k
  if (CG(short_tags)) {
13125
4.92k
    yyless(2);
13126
4.92k
    BEGIN(ST_IN_SCRIPTING);
13127
4.92k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13128
4.92k
  }
13129
0
  goto inline_char_handler;
13130
4.92k
}
13131
0
#line 13132 "Zend/zend_language_scanner.c"
13132
88.3k
yy1139:
13133
88.3k
  YYDEBUG(1139, *YYCURSOR);
13134
88.3k
  ++YYCURSOR;
13135
88.5k
yy1140:
13136
88.5k
  YYDEBUG(1140, *YYCURSOR);
13137
88.5k
  yyleng = YYCURSOR - SCNG(yy_text);
13138
88.5k
#line 2311 "Zend/zend_language_scanner.l"
13139
88.5k
  {
13140
88.5k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13141
88.5k
  BEGIN(ST_IN_SCRIPTING);
13142
88.5k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13143
88.5k
}
13144
0
#line 13145 "Zend/zend_language_scanner.c"
13145
506
yy1141:
13146
506
  YYDEBUG(1141, *YYCURSOR);
13147
506
  yych = *++YYCURSOR;
13148
506
  if (yych == '\n') goto yy1139;
13149
213
  goto yy1140;
13150
/* *********************************** */
13151
22.6k
yyc_ST_END_HEREDOC:
13152
22.6k
  YYDEBUG(1142, *YYCURSOR);
13153
22.6k
  YYFILL(1);
13154
22.6k
  yych = *YYCURSOR;
13155
22.6k
  YYDEBUG(1144, *YYCURSOR);
13156
22.6k
  ++YYCURSOR;
13157
22.6k
  YYDEBUG(1145, *YYCURSOR);
13158
22.6k
  yyleng = YYCURSOR - SCNG(yy_text);
13159
22.6k
#line 2832 "Zend/zend_language_scanner.l"
13160
22.6k
  {
13161
22.6k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13162
13163
22.6k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13164
22.6k
  YYCURSOR += yyleng - 1;
13165
13166
22.6k
  heredoc_label_dtor(heredoc_label);
13167
22.6k
  efree(heredoc_label);
13168
13169
22.6k
  BEGIN(ST_IN_SCRIPTING);
13170
22.6k
  RETURN_TOKEN(T_END_HEREDOC);
13171
22.6k
}
13172
0
#line 13173 "Zend/zend_language_scanner.c"
13173
/* *********************************** */
13174
8.14k
yyc_ST_NOWDOC:
13175
8.14k
  YYDEBUG(1146, *YYCURSOR);
13176
8.14k
  YYFILL(1);
13177
8.14k
  yych = *YYCURSOR;
13178
8.14k
  YYDEBUG(1148, *YYCURSOR);
13179
8.14k
  ++YYCURSOR;
13180
8.14k
  YYDEBUG(1149, *YYCURSOR);
13181
8.14k
  yyleng = YYCURSOR - SCNG(yy_text);
13182
8.14k
#line 3089 "Zend/zend_language_scanner.l"
13183
8.14k
  {
13184
8.14k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13185
8.14k
  int newline = 0, indentation = 0, spacing = -1;
13186
13187
8.14k
  if (YYCURSOR > YYLIMIT) {
13188
2.31k
    RETURN_END_TOKEN;
13189
2.31k
  }
13190
13191
5.83k
  YYCURSOR--;
13192
13193
2.99M
  while (YYCURSOR < YYLIMIT) {
13194
2.99M
    switch (*YYCURSOR++) {
13195
25.0k
      case '\r':
13196
25.0k
        if (*YYCURSOR == '\n') {
13197
1.34k
          YYCURSOR++;
13198
1.34k
        }
13199
25.0k
        ZEND_FALLTHROUGH;
13200
145k
      case '\n':
13201
145k
        indentation = spacing = 0;
13202
13203
216k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13204
70.7k
          if (*YYCURSOR == '\t') {
13205
1.40k
            spacing |= HEREDOC_USING_TABS;
13206
69.3k
          } else {
13207
69.3k
            spacing |= HEREDOC_USING_SPACES;
13208
69.3k
          }
13209
70.7k
          ++YYCURSOR;
13210
70.7k
          ++indentation;
13211
70.7k
        }
13212
13213
145k
        if (YYCURSOR == YYLIMIT) {
13214
544
          yyleng = YYCURSOR - SCNG(yy_text);
13215
544
          HANDLE_NEWLINES(yytext, yyleng);
13216
544
          ZVAL_NULL(zendlval);
13217
544
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13218
544
        }
13219
13220
        /* Check for ending label on the next line */
13221
144k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13222
4.32k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13223
820
            continue;
13224
820
          }
13225
13226
3.50k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13227
200
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13228
200
            if (PARSER_MODE()) {
13229
5
              RETURN_TOKEN(T_ERROR);
13230
5
            }
13231
200
          }
13232
13233
          /* newline before label will be subtracted from returned text, but
13234
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13235
3.50k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13236
336
            newline = 2; /* Windows newline */
13237
3.16k
          } else {
13238
3.16k
            newline = 1;
13239
3.16k
          }
13240
13241
3.50k
          CG(increment_lineno) = 1; /* For newline before label */
13242
13243
3.50k
          YYCURSOR -= indentation;
13244
3.50k
          heredoc_label->indentation = indentation;
13245
13246
3.50k
          BEGIN(ST_END_HEREDOC);
13247
13248
3.50k
          goto nowdoc_scan_done;
13249
3.50k
        }
13250
140k
        ZEND_FALLTHROUGH;
13251
2.98M
      default:
13252
2.98M
        continue;
13253
2.99M
    }
13254
2.99M
  }
13255
13256
5.28k
nowdoc_scan_done:
13257
5.28k
  yyleng = YYCURSOR - SCNG(yy_text);
13258
5.28k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13259
13260
5.28k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13261
1.16k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13262
1.16k
    if (!strip_multiline_string_indentation(
13263
1.16k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13264
1.16k
        newline_at_start, newline != 0)) {
13265
29
      RETURN_TOKEN(T_ERROR);
13266
29
    }
13267
1.16k
  }
13268
13269
5.25k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13270
5.25k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13271
5.25k
}
13272
5.25k
#line 13273 "Zend/zend_language_scanner.c"
13273
5.25k
}
13274
0
#line 3188 "Zend/zend_language_scanner.l"
13275
13276
13277
6.22M
emit_token_with_str:
13278
6.22M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13279
13280
9.39M
emit_token_with_val:
13281
9.39M
  if (PARSER_MODE()) {
13282
3.16M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13283
3.16M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13284
3.16M
  }
13285
13286
35.4M
emit_token:
13287
35.4M
  if (SCNG(on_event)) {
13288
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13289
0
  }
13290
35.4M
  return token;
13291
13292
1.20M
emit_token_with_ident:
13293
1.20M
  if (PARSER_MODE()) {
13294
591k
    elem->ident = SCNG(yy_text);
13295
591k
  }
13296
1.20M
  if (SCNG(on_event)) {
13297
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13298
0
  }
13299
1.20M
  return token;
13300
13301
5.78M
return_whitespace:
13302
5.78M
  HANDLE_NEWLINES(yytext, yyleng);
13303
5.78M
  if (SCNG(on_event)) {
13304
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13305
0
  }
13306
5.78M
  if (PARSER_MODE()) {
13307
2.49M
    start_line = CG(zend_lineno);
13308
2.49M
    goto restart;
13309
3.28M
  } else {
13310
3.28M
    return T_WHITESPACE;
13311
3.28M
  }
13312
13313
236k
skip_token:
13314
236k
  if (SCNG(on_event)) {
13315
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13316
0
  }
13317
236k
  start_line = CG(zend_lineno);
13318
236k
  goto restart;
13319
5.78M
}