Coverage Report

Created: 2026-09-14 06:25

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright © Zend Technologies Ltd., a subsidiary company of          |
8
   |     Perforce Software, Inc., and Contributors.                       |
9
   +----------------------------------------------------------------------+
10
   | This source file is subject to the Modified BSD License that is      |
11
   | bundled with this package in the file LICENSE, and is available      |
12
   | through the World Wide Web at <https://www.php.net/license/>.        |
13
   |                                                                      |
14
   | SPDX-License-Identifier: BSD-3-Clause                                |
15
   +----------------------------------------------------------------------+
16
   | Authors: Marcus Boerger <helly@php.net>                              |
17
   |          Nuno Lopes <nlopess@php.net>                                |
18
   |          Scott MacVicar <scottmac@php.net>                           |
19
   | Flex version authors:                                                |
20
   |          Andi Gutmans <andi@php.net>                                 |
21
   |          Zeev Suraski <zeev@php.net>                                 |
22
   +----------------------------------------------------------------------+
23
*/
24
25
#if 0
26
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
27
#else
28
# define YYDEBUG(s, c)
29
#endif
30
31
#include "zend_language_scanner_defs.h"
32
33
#include <errno.h>
34
#include <stdint.h>
35
#include "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
46.8M
#define YYCTYPE   unsigned char
53
122M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
774M
#define YYCURSOR  SCNG(yy_cursor)
55
247M
#define YYLIMIT   SCNG(yy_limit)
56
45.1M
#define YYMARKER  SCNG(yy_marker)
57
58
153M
#define YYGETCONDITION()  SCNG(yy_state)
59
15.9M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
3.89M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
309k
#define YYSTATE      YYGETCONDITION()
66
16.9M
#define yytext       ((char*)SCNG(yy_text))
67
61.6M
#define yyleng       SCNG(yy_leng)
68
3.62M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
3.62M
                          yyleng   = (unsigned int)x; } while(0)
70
#define yymore()     goto yymore_restart
71
72
/* perform sanity check. If this message is triggered you should
73
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
74
#define YYMAXFILL 16
75
76
#if ZEND_MMAP_AHEAD < YYMAXFILL
77
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
78
#endif
79
80
#include <stdarg.h>
81
82
#ifdef HAVE_UNISTD_H
83
# include <unistd.h>
84
#endif
85
86
/* Globals Macros */
87
1.52G
#define SCNG  LANG_SCNG
88
#ifdef ZTS
89
ZEND_API ts_rsrc_id language_scanner_globals_id;
90
# ifdef ZEND_WIN32
91
TSRM_TLS zend_php_scanner_globals language_scanner_globals;
92
# else
93
ZEND_API TSRM_TLS TSRM_TLS_MODEL_ATTR zend_php_scanner_globals language_scanner_globals;
94
# endif
95
#else
96
ZEND_API zend_php_scanner_globals language_scanner_globals;
97
#endif
98
99
7.89M
#define HANDLE_NEWLINES(s, l)                         \
100
7.89M
do {                                     \
101
7.89M
  char *p = (s), *boundary = p+(l);                     \
102
7.89M
                                        \
103
66.0M
  while (p<boundary) {                           \
104
58.2M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
105
6.06M
      CG(zend_lineno)++;                          \
106
6.06M
    }                                    \
107
58.2M
    p++;                                  \
108
58.2M
  }                                      \
109
7.89M
} while (0)
110
111
290k
#define HANDLE_NEWLINE(c) \
112
290k
{ \
113
290k
  if (c == '\n' || c == '\r') { \
114
110k
    CG(zend_lineno)++; \
115
110k
  } \
116
290k
}
117
118
/* To save initial string length after scanning to first variable */
119
204k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
120
404k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
121
122
6.91M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
123
43.2k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
124
125
204k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
126
30.6k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
127
128
129
static void strip_underscores(char *str, size_t *len)
130
5.70k
{
131
5.70k
  char *src = str, *dest = str;
132
93.6k
  while (*src != '\0') {
133
87.9k
    if (*src != '_') {
134
81.2k
      *dest = *src;
135
81.2k
      dest++;
136
81.2k
    } else {
137
6.69k
      --(*len);
138
6.69k
    }
139
87.9k
    src++;
140
87.9k
  }
141
5.70k
  *dest = '\0';
142
5.70k
}
143
144
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
145
0
{
146
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
147
0
  ZEND_ASSERT(internal_encoding);
148
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
149
0
}
150
151
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
152
0
{
153
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
154
0
}
155
156
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
157
0
{
158
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
159
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
160
0
}
161
162
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
163
0
{
164
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
165
0
  ZEND_ASSERT(internal_encoding);
166
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
167
0
internal_encoding, zend_multibyte_encoding_utf8);
168
0
}
169
170
171
static void _yy_push_state(int new_state)
172
7.85M
{
173
7.85M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
174
7.85M
  YYSETCONDITION(new_state);
175
7.85M
}
176
177
7.85M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
178
179
static void yy_pop_state(void)
180
3.91M
{
181
3.91M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
182
3.91M
  YYSETCONDITION(*stack_state);
183
3.91M
  zend_stack_del_top(&SCNG(state_stack));
184
3.91M
}
185
186
static void yy_scan_buffer(char *str, size_t len)
187
156k
{
188
156k
  YYCURSOR       = (YYCTYPE*)str;
189
156k
  YYLIMIT        = YYCURSOR + len;
190
156k
  if (!SCNG(yy_start)) {
191
32.7k
    SCNG(yy_start) = YYCURSOR;
192
32.7k
  }
193
156k
}
194
195
void startup_scanner(void)
196
295k
{
197
295k
  CG(parse_error) = 0;
198
295k
  CG(doc_comment) = NULL;
199
295k
  CG(extra_fn_flags) = 0;
200
295k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
201
295k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
202
295k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
203
295k
  SCNG(heredoc_scan_ahead) = 0;
204
295k
}
205
206
5.35M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
207
5.35M
    efree(heredoc_label->label);
208
5.35M
}
209
210
void shutdown_scanner(void)
211
295k
{
212
295k
  CG(parse_error) = 0;
213
295k
  RESET_DOC_COMMENT();
214
295k
  zend_stack_destroy(&SCNG(state_stack));
215
295k
  zend_stack_destroy(&SCNG(nest_location_stack));
216
295k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
217
295k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
218
295k
  SCNG(heredoc_scan_ahead) = 0;
219
295k
  SCNG(on_event) = NULL;
220
295k
  SCNG(on_event_context) = NULL;
221
295k
}
222
223
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
224
309k
{
225
309k
  lex_state->yy_leng   = SCNG(yy_leng);
226
309k
  lex_state->yy_start  = SCNG(yy_start);
227
309k
  lex_state->yy_text   = SCNG(yy_text);
228
309k
  lex_state->yy_cursor = SCNG(yy_cursor);
229
309k
  lex_state->yy_marker = SCNG(yy_marker);
230
309k
  lex_state->yy_limit  = SCNG(yy_limit);
231
232
309k
  lex_state->state_stack = SCNG(state_stack);
233
309k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
234
235
309k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
236
309k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
237
238
309k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
239
309k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
240
241
309k
  lex_state->in = SCNG(yy_in);
242
309k
  lex_state->yy_state = YYSTATE;
243
309k
  lex_state->filename = CG(compiled_filename);
244
309k
  lex_state->lineno = CG(zend_lineno);
245
309k
  CG(compiled_filename) = NULL;
246
247
309k
  lex_state->script_org = SCNG(script_org);
248
309k
  lex_state->script_org_size = SCNG(script_org_size);
249
309k
  lex_state->script_filtered = SCNG(script_filtered);
250
309k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
251
309k
  lex_state->input_filter = SCNG(input_filter);
252
309k
  lex_state->output_filter = SCNG(output_filter);
253
309k
  lex_state->script_encoding = SCNG(script_encoding);
254
255
309k
  lex_state->on_event = SCNG(on_event);
256
309k
  lex_state->on_event_context = SCNG(on_event_context);
257
258
309k
  lex_state->ast = CG(ast);
259
309k
  lex_state->ast_arena = CG(ast_arena);
260
309k
}
261
262
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
263
303k
{
264
303k
  SCNG(yy_leng)   = lex_state->yy_leng;
265
303k
  SCNG(yy_start)  = lex_state->yy_start;
266
303k
  SCNG(yy_text)   = lex_state->yy_text;
267
303k
  SCNG(yy_cursor) = lex_state->yy_cursor;
268
303k
  SCNG(yy_marker) = lex_state->yy_marker;
269
303k
  SCNG(yy_limit)  = lex_state->yy_limit;
270
271
303k
  zend_stack_destroy(&SCNG(state_stack));
272
303k
  SCNG(state_stack) = lex_state->state_stack;
273
274
303k
  zend_stack_destroy(&SCNG(nest_location_stack));
275
303k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
276
277
303k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
278
303k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
279
303k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
280
281
303k
  SCNG(yy_in) = lex_state->in;
282
303k
  YYSETCONDITION(lex_state->yy_state);
283
303k
  CG(zend_lineno) = lex_state->lineno;
284
303k
  zend_restore_compiled_filename(lex_state->filename);
285
286
303k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
287
0
    efree(SCNG(script_filtered));
288
0
    SCNG(script_filtered) = NULL;
289
0
  }
290
303k
  SCNG(script_org) = lex_state->script_org;
291
303k
  SCNG(script_org_size) = lex_state->script_org_size;
292
303k
  SCNG(script_filtered) = lex_state->script_filtered;
293
303k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
294
303k
  SCNG(input_filter) = lex_state->input_filter;
295
303k
  SCNG(output_filter) = lex_state->output_filter;
296
303k
  SCNG(script_encoding) = lex_state->script_encoding;
297
298
303k
  SCNG(on_event) = lex_state->on_event;
299
303k
  SCNG(on_event_context) = lex_state->on_event_context;
300
301
303k
  CG(ast) = lex_state->ast;
302
303k
  CG(ast_arena) = lex_state->ast_arena;
303
304
303k
  RESET_DOC_COMMENT();
305
303k
}
306
307
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
308
18.1k
{
309
18.1k
  unsigned char *end = ident;
310
113k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
311
95.5k
    end++;
312
95.5k
  }
313
314
18.1k
  size_t length = end - ident;
315
18.1k
  if (length == 0) {
316
9
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
317
9
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
318
9
    return FAILURE;
319
9
  }
320
321
18.1k
  if (SCNG(on_event)) {
322
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
323
0
  }
324
325
18.1k
  ZVAL_STRINGL(zv, (char *) ident, length);
326
18.1k
  return SUCCESS;
327
18.1k
}
328
329
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
330
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
331
0
#define BOM_UTF16_BE  "\xfe\xff"
332
0
#define BOM_UTF16_LE  "\xff\xfe"
333
0
#define BOM_UTF8    "\xef\xbb\xbf"
334
335
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
336
0
{
337
0
  const unsigned char *p;
338
0
  size_t offset = 0;
339
0
  int wchar_size = 2;
340
0
  int le = 0;
341
342
  /* utf-16 or utf-32? */
343
0
  while (offset < script_size && script_size - offset > 2) {
344
0
    p = memchr(script + offset, 0, script_size - offset - 2);
345
0
    if (!p) {
346
0
      break;
347
0
    }
348
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
349
0
      wchar_size = 4;
350
0
      break;
351
0
    }
352
353
    /* searching for UTF-32 specific byte orders, so this will do */
354
0
    offset = p - script + 4;
355
0
  }
356
357
  /* BE or LE? */
358
0
  offset = 0;
359
0
  while (script_size - offset >= (size_t) wchar_size) {
360
0
    p = script + offset;
361
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
362
      /* BE */
363
0
      le = 0;
364
0
      break;
365
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
366
      /* LE* */
367
0
      le = 1;
368
0
      break;
369
0
    }
370
0
    offset += wchar_size;
371
0
  }
372
373
0
  if (wchar_size == 2) {
374
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
375
0
  } else {
376
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
377
0
  }
378
379
0
  return NULL;
380
0
}
381
382
static const zend_encoding* zend_multibyte_detect_unicode(void)
383
0
{
384
0
  const zend_encoding *script_encoding = NULL;
385
0
  int bom_size;
386
0
  unsigned char *pos1, *pos2;
387
388
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
389
0
    return NULL;
390
0
  }
391
392
  /* check out BOM */
393
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
394
0
    script_encoding = zend_multibyte_encoding_utf32be;
395
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
396
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
397
0
    script_encoding = zend_multibyte_encoding_utf32le;
398
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
399
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
400
0
    script_encoding = zend_multibyte_encoding_utf16be;
401
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
402
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
403
0
    script_encoding = zend_multibyte_encoding_utf16le;
404
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
405
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
406
0
    script_encoding = zend_multibyte_encoding_utf8;
407
0
    bom_size = sizeof(BOM_UTF8)-1;
408
0
  }
409
410
0
  if (script_encoding) {
411
    /* remove BOM */
412
0
    LANG_SCNG(script_org) += bom_size;
413
0
    LANG_SCNG(script_org_size) -= bom_size;
414
415
0
    return script_encoding;
416
0
  }
417
418
  /* script contains NULL bytes -> auto-detection */
419
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
420
    /* check if the NULL byte is after the __HALT_COMPILER(); */
421
0
    pos2 = LANG_SCNG(script_org);
422
423
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
424
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
425
0
      if (!pos2) break;
426
0
      pos2++;
427
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
428
0
        pos2 += sizeof("_HALT_COMPILER")-1;
429
0
        while (*pos2 == ' '  ||
430
0
             *pos2 == '\t' ||
431
0
             *pos2 == '\r' ||
432
0
             *pos2 == '\n') {
433
0
          pos2++;
434
0
        }
435
0
        if (*pos2 == '(') {
436
0
          pos2++;
437
0
          while (*pos2 == ' '  ||
438
0
               *pos2 == '\t' ||
439
0
               *pos2 == '\r' ||
440
0
               *pos2 == '\n') {
441
0
            pos2++;
442
0
          }
443
0
          if (*pos2 == ')') {
444
0
            pos2++;
445
0
            while (*pos2 == ' '  ||
446
0
                 *pos2 == '\t' ||
447
0
                 *pos2 == '\r' ||
448
0
                 *pos2 == '\n') {
449
0
              pos2++;
450
0
            }
451
0
            if (*pos2 == ';') {
452
0
              return NULL;
453
0
            }
454
0
          }
455
0
        }
456
0
      }
457
0
    }
458
    /* make best effort if BOM is missing */
459
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
460
0
  }
461
462
0
  return NULL;
463
0
}
464
465
static const zend_encoding* zend_multibyte_find_script_encoding(void)
466
0
{
467
0
  const zend_encoding *script_encoding;
468
469
0
  if (CG(detect_unicode)) {
470
    /* check out bom(byte order mark) and see if containing wchars */
471
0
    script_encoding = zend_multibyte_detect_unicode();
472
0
    if (script_encoding != NULL) {
473
      /* bom or wchar detection is prior to 'script_encoding' option */
474
0
      return script_encoding;
475
0
    }
476
0
  }
477
478
  /* if no script_encoding specified, just leave alone */
479
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
480
0
    return NULL;
481
0
  }
482
483
  /* if multiple encodings specified, detect automagically */
484
0
  if (CG(script_encoding_list_size) > 1) {
485
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
486
0
  }
487
488
0
  return CG(script_encoding_list)[0];
489
0
}
490
491
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
492
0
{
493
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
494
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
495
496
0
  if (!script_encoding) {
497
0
    return FAILURE;
498
0
  }
499
500
  /* judge input/output filter */
501
0
  LANG_SCNG(script_encoding) = script_encoding;
502
0
  LANG_SCNG(input_filter) = NULL;
503
0
  LANG_SCNG(output_filter) = NULL;
504
505
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
506
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
507
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
508
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
509
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
510
0
    } else {
511
0
      LANG_SCNG(input_filter) = NULL;
512
0
      LANG_SCNG(output_filter) = NULL;
513
0
    }
514
0
    return SUCCESS;
515
0
  }
516
517
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
518
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
519
0
    LANG_SCNG(output_filter) = NULL;
520
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
521
0
    LANG_SCNG(input_filter) = NULL;
522
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
523
0
  } else {
524
    /* both script and internal encodings are incompatible w/ flex */
525
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
526
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
527
0
  }
528
529
0
  return SUCCESS;
530
0
}
531
532
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
533
125k
{
534
125k
  char *buf;
535
125k
  size_t size;
536
125k
  zend_string *compiled_filename;
537
538
125k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
539
    /* Still add it to open_files to make destroy_file_handle work */
540
833
    zend_llist_add_element(&CG(open_files), file_handle);
541
833
    file_handle->in_list = 1;
542
833
    return FAILURE;
543
833
  }
544
545
124k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
546
124k
  zend_llist_add_element(&CG(open_files), file_handle);
547
124k
  file_handle->in_list = 1;
548
549
  /* Reset the scanner for scanning the new file */
550
124k
  SCNG(yy_in) = file_handle;
551
124k
  SCNG(yy_start) = NULL;
552
553
124k
  if (size != (size_t)-1) {
554
124k
    if (CG(multibyte)) {
555
0
      SCNG(script_org) = (unsigned char*)buf;
556
0
      SCNG(script_org_size) = size;
557
0
      SCNG(script_filtered) = NULL;
558
559
0
      zend_multibyte_set_filter(NULL);
560
561
0
      if (SCNG(input_filter)) {
562
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
563
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
564
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
565
0
        }
566
0
        buf = (char*)SCNG(script_filtered);
567
0
        size = SCNG(script_filtered_size);
568
0
      }
569
0
    }
570
124k
    SCNG(yy_start) = (unsigned char *)buf;
571
124k
    yy_scan_buffer(buf, size);
572
124k
  } else {
573
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
574
0
  }
575
576
124k
  if (CG(skip_shebang)) {
577
0
    BEGIN(SHEBANG);
578
124k
  } else {
579
124k
    BEGIN(INITIAL);
580
124k
  }
581
582
124k
  if (file_handle->opened_path) {
583
39
    compiled_filename = zend_string_copy(file_handle->opened_path);
584
124k
  } else {
585
124k
    compiled_filename = zend_string_copy(file_handle->filename);
586
124k
  }
587
588
124k
  zend_set_compiled_filename(compiled_filename);
589
124k
  zend_string_release_ex(compiled_filename, 0);
590
591
124k
  SCNG(on_event) = NULL;
592
124k
  SCNG(on_event_context) = NULL;
593
124k
  RESET_DOC_COMMENT();
594
124k
  CG(zend_lineno) = 1;
595
124k
  CG(increment_lineno) = 0;
596
124k
  return SUCCESS;
597
124k
}
598
599
static zend_op_array *zend_compile_ast_internal(int type)
600
96.4k
{
601
96.4k
  ZEND_ASSERT(CG(in_compilation));
602
96.4k
  ZEND_ASSERT(CG(ast));
603
604
96.4k
  uint32_t last_lineno = CG(zend_lineno);
605
96.4k
  zend_file_context original_file_context;
606
96.4k
  zend_oparray_context original_oparray_context;
607
96.4k
  zend_op_array *original_active_op_array = CG(active_op_array);
608
609
96.4k
  zend_op_array *op_array = emalloc(sizeof(*op_array));
610
96.4k
  init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
611
96.4k
  CG(active_op_array) = op_array;
612
613
  /* Use heap to not waste arena memory */
614
96.4k
  op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
615
616
96.4k
  if (zend_ast_process) {
617
0
    zend_ast_process(CG(ast));
618
0
  }
619
620
96.4k
  zend_file_context_begin(&original_file_context);
621
96.4k
  zend_oparray_context_begin(&original_oparray_context, op_array);
622
96.4k
  zend_compile_top_stmt(CG(ast));
623
96.4k
  CG(zend_lineno) = last_lineno;
624
96.4k
  zend_emit_final_return(type == ZEND_USER_FUNCTION);
625
96.4k
  op_array->line_start = 1;
626
96.4k
  op_array->line_end = last_lineno;
627
96.4k
  pass_two(op_array);
628
96.4k
  zend_oparray_context_end(&original_oparray_context);
629
96.4k
  zend_file_context_end(&original_file_context);
630
631
96.4k
  CG(active_op_array) = original_active_op_array;
632
633
96.4k
  return op_array;
634
96.4k
}
635
636
static zend_op_array *zend_compile(zend_function_type type)
637
130k
{
638
130k
  zend_op_array *op_array = NULL;
639
130k
  bool original_in_compilation = CG(in_compilation);
640
641
130k
  CG(in_compilation) = 1;
642
130k
  CG(ast) = NULL;
643
130k
  CG(ast_arena) = zend_arena_create(1024 * 32);
644
645
130k
  if (!zendparse()) {
646
95.4k
    op_array = zend_compile_ast_internal(type);
647
95.4k
  }
648
649
130k
  zend_ast_destroy(CG(ast));
650
130k
  zend_arena_destroy(CG(ast_arena));
651
652
130k
  CG(in_compilation) = original_in_compilation;
653
654
130k
  return op_array;
655
130k
}
656
657
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
658
125k
{
659
125k
  zend_lex_state original_lex_state;
660
125k
  zend_op_array *op_array = NULL;
661
125k
  zend_save_lexical_state(&original_lex_state);
662
663
125k
  if (open_file_for_scanning(file_handle)==FAILURE) {
664
833
    if (!EG(exception)) {
665
746
      if (type==ZEND_REQUIRE) {
666
713
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
667
713
      } else {
668
33
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
669
33
      }
670
746
    }
671
124k
  } else {
672
124k
    bool orig_record_errors = EG(record_errors);
673
124k
    if (!orig_record_errors) {
674
55
      zend_begin_record_errors();
675
55
    }
676
677
124k
    op_array = zend_compile(ZEND_USER_FUNCTION);
678
679
124k
    if (!orig_record_errors) {
680
55
      zend_emit_recorded_errors();
681
55
      zend_free_recorded_errors();
682
55
    }
683
124k
  }
684
685
125k
  zend_restore_lexical_state(&original_lex_state);
686
125k
  return op_array;
687
125k
}
688
689
ZEND_API zend_op_array *zend_compile_ast(
690
  zend_ast *ast, int type, zend_string *filename)
691
1.04k
{
692
1.04k
  zend_string *original_compiled_filename = CG(compiled_filename);
693
1.04k
  bool original_in_compilation = CG(in_compilation);
694
1.04k
  CG(in_compilation) = true;
695
1.04k
  CG(ast) = ast;
696
697
1.04k
  zend_set_compiled_filename(filename);
698
1.04k
  zend_op_array *op_array = zend_compile_ast_internal(type);
699
700
1.04k
  CG(in_compilation) = original_in_compilation;
701
1.04k
  zend_restore_compiled_filename(original_compiled_filename);
702
703
1.04k
  return op_array;
704
1.04k
}
705
706
ZEND_API zend_ast *zend_compile_string_to_ast(
707
19
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
708
19
  zval code_zv;
709
19
  bool original_in_compilation;
710
19
  zend_lex_state original_lex_state;
711
19
  zend_ast *ast;
712
713
19
  ZVAL_STR_COPY(&code_zv, code);
714
715
19
  original_in_compilation = CG(in_compilation);
716
19
  CG(in_compilation) = 1;
717
718
19
  zend_save_lexical_state(&original_lex_state);
719
19
  zend_prepare_string_for_scanning(&code_zv, filename);
720
19
  CG(ast) = NULL;
721
19
  CG(ast_arena) = zend_arena_create(1024 * 32);
722
19
  LANG_SCNG(yy_state) = yycINITIAL;
723
724
19
  if (zendparse() != 0) {
725
0
    zend_ast_destroy(CG(ast));
726
0
    zend_arena_destroy(CG(ast_arena));
727
0
    CG(ast) = NULL;
728
0
  }
729
730
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
731
19
  ast = CG(ast);
732
19
  *ast_arena = CG(ast_arena);
733
734
19
  zend_restore_lexical_state(&original_lex_state);
735
19
  CG(in_compilation) = original_in_compilation;
736
737
19
  zval_ptr_dtor_str(&code_zv);
738
739
19
  return ast;
740
19
}
741
742
zend_op_array *compile_filename(int type, zend_string *filename)
743
100k
{
744
100k
  zend_file_handle file_handle;
745
100k
  zend_op_array *retval;
746
100k
  zend_string *opened_path = NULL;
747
748
100k
  zend_stream_init_filename_ex(&file_handle, filename);
749
750
100k
  retval = zend_compile_file(&file_handle, type);
751
100k
  if (retval && file_handle.handle.stream.handle) {
752
59
    if (!file_handle.opened_path) {
753
21
      file_handle.opened_path = opened_path = zend_string_copy(filename);
754
21
    }
755
756
59
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
757
758
59
    if (opened_path) {
759
21
      zend_string_release_ex(opened_path, 0);
760
21
    }
761
59
  }
762
100k
  zend_destroy_file_handle(&file_handle);
763
764
100k
  return retval;
765
100k
}
766
767
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
768
32.7k
{
769
32.7k
  char *buf;
770
32.7k
  size_t size, old_len;
771
772
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
773
32.7k
  old_len = Z_STRLEN_P(str);
774
32.7k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
775
32.7k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
776
32.7k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
777
778
32.7k
  SCNG(yy_in) = NULL;
779
32.7k
  SCNG(yy_start) = NULL;
780
781
32.7k
  buf = Z_STRVAL_P(str);
782
32.7k
  size = old_len;
783
784
32.7k
  if (CG(multibyte)) {
785
0
    SCNG(script_org) = (unsigned char*)buf;
786
0
    SCNG(script_org_size) = size;
787
0
    SCNG(script_filtered) = NULL;
788
789
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
790
791
0
    if (SCNG(input_filter)) {
792
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
793
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
794
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
795
0
      }
796
0
      buf = (char*)SCNG(script_filtered);
797
0
      size = SCNG(script_filtered_size);
798
0
    }
799
0
  }
800
801
32.7k
  yy_scan_buffer(buf, size);
802
32.7k
  zend_set_compiled_filename(filename);
803
32.7k
  CG(zend_lineno) = 1;
804
32.7k
  CG(increment_lineno) = 0;
805
32.7k
  SCNG(on_event) = NULL;
806
32.7k
  SCNG(on_event_context) = NULL;
807
32.7k
  RESET_DOC_COMMENT();
808
32.7k
}
809
810
811
ZEND_API size_t zend_get_scanned_file_offset(void)
812
141
{
813
141
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
814
141
  if (SCNG(input_filter)) {
815
0
    size_t original_offset = offset, length = 0;
816
0
    do {
817
0
      unsigned char *p = NULL;
818
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
819
0
        return (size_t)-1;
820
0
      }
821
0
      efree(p);
822
0
      if (length > original_offset) {
823
0
        offset--;
824
0
      } else if (length < original_offset) {
825
0
        offset++;
826
0
      }
827
0
    } while (original_offset != length);
828
0
  }
829
141
  return offset;
830
141
}
831
832
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
833
6.10k
{
834
6.10k
  zend_lex_state original_lex_state;
835
6.10k
  zend_op_array *op_array = NULL;
836
6.10k
  zval tmp;
837
6.10k
  zend_string *filename_str;
838
839
6.10k
  if (ZSTR_LEN(source_string) == 0) {
840
68
    return NULL;
841
68
  }
842
843
6.03k
  ZVAL_STR_COPY(&tmp, source_string);
844
845
6.03k
  zend_save_lexical_state(&original_lex_state);
846
6.03k
  filename_str = zend_string_init(filename, strlen(filename), 0);
847
6.03k
  zend_prepare_string_for_scanning(&tmp, filename_str);
848
6.03k
  zend_string_release(filename_str);
849
850
6.03k
  switch (position) {
851
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
852
0
      BEGIN(SHEBANG);
853
0
      break;
854
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
855
0
      BEGIN(INITIAL);
856
0
      break;
857
6.03k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
858
6.03k
      BEGIN(ST_IN_SCRIPTING);
859
6.03k
      break;
860
6.03k
  }
861
862
6.03k
  op_array = zend_compile(ZEND_EVAL_CODE);
863
864
6.03k
  zend_restore_lexical_state(&original_lex_state);
865
6.03k
  zval_ptr_dtor(&tmp);
866
867
6.03k
  return op_array;
868
6.03k
}
869
870
871
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
872
0
{
873
0
  zend_lex_state original_lex_state;
874
0
  zend_file_handle file_handle;
875
876
0
  zend_stream_init_filename(&file_handle, filename);
877
0
  zend_save_lexical_state(&original_lex_state);
878
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
879
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
880
0
    zend_destroy_file_handle(&file_handle);
881
0
    zend_restore_lexical_state(&original_lex_state);
882
0
    return FAILURE;
883
0
  }
884
0
  zend_highlight(syntax_highlighter_ini);
885
0
  if (SCNG(script_filtered)) {
886
0
    efree(SCNG(script_filtered));
887
0
    SCNG(script_filtered) = NULL;
888
0
  }
889
0
  zend_destroy_file_handle(&file_handle);
890
0
  zend_restore_lexical_state(&original_lex_state);
891
0
  return SUCCESS;
892
0
}
893
894
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
895
26.6k
{
896
26.6k
  zend_lex_state original_lex_state;
897
26.6k
  zval str_zv;
898
26.6k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
899
26.6k
  ZVAL_STR_COPY(&str_zv, str);
900
26.6k
  zend_save_lexical_state(&original_lex_state);
901
26.6k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
902
26.6k
  zend_string_release(filename_str);
903
26.6k
  BEGIN(INITIAL);
904
26.6k
  zend_highlight(syntax_highlighter_ini);
905
26.6k
  if (SCNG(script_filtered)) {
906
0
    efree(SCNG(script_filtered));
907
0
    SCNG(script_filtered) = NULL;
908
0
  }
909
26.6k
  zend_restore_lexical_state(&original_lex_state);
910
26.6k
  zval_ptr_dtor(&str_zv);
911
26.6k
}
912
913
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
914
0
{
915
0
  size_t length;
916
0
  unsigned char *new_yy_start;
917
918
  /* convert and set */
919
0
  if (!SCNG(input_filter)) {
920
0
    if (SCNG(script_filtered)) {
921
0
      efree(SCNG(script_filtered));
922
0
      SCNG(script_filtered) = NULL;
923
0
    }
924
0
    SCNG(script_filtered_size) = 0;
925
0
    length = SCNG(script_org_size);
926
0
    new_yy_start = SCNG(script_org);
927
0
  } else {
928
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
929
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
930
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
931
0
    }
932
0
    if (SCNG(script_filtered)) {
933
0
      efree(SCNG(script_filtered));
934
0
    }
935
0
    SCNG(script_filtered) = new_yy_start;
936
0
    SCNG(script_filtered_size) = length;
937
0
  }
938
939
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
940
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
941
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
942
0
  SCNG(yy_limit) = new_yy_start + length;
943
944
0
  SCNG(yy_start) = new_yy_start;
945
0
}
946
947
948
// TODO: avoid reallocation ???
949
# define zend_copy_value(zendlval, yytext, yyleng) \
950
6.56M
  if (SCNG(output_filter)) { \
951
0
    size_t sz = 0; \
952
0
    char *s = NULL; \
953
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
954
0
    ZVAL_STRINGL(zendlval, s, sz); \
955
0
    efree(s); \
956
6.56M
  } else if (yyleng == 1) { \
957
2.08M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
958
4.48M
  } else { \
959
4.48M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
960
4.48M
  }
961
962
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
963
762k
{
964
762k
  char *s, *t;
965
762k
  char *end;
966
967
762k
  if (len <= 1) {
968
159k
    if (len < 1) {
969
24.0k
      ZVAL_EMPTY_STRING(zendlval);
970
135k
    } else {
971
135k
      zend_uchar c = (zend_uchar)*str;
972
135k
      HANDLE_NEWLINE(c);
973
135k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
974
135k
    }
975
159k
    goto skip_escape_conversion;
976
159k
  }
977
978
602k
  ZVAL_STRINGL(zendlval, str, len);
979
980
  /* convert escape sequences */
981
602k
  s = Z_STRVAL_P(zendlval);
982
602k
  end = s+Z_STRLEN_P(zendlval);
983
17.1M
  while (1) {
984
17.1M
    if (UNEXPECTED(*s=='\\')) {
985
147k
      break;
986
147k
    }
987
17.0M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
988
506k
      CG(zend_lineno)++;
989
506k
    }
990
17.0M
    s++;
991
17.0M
    if (s == end) {
992
455k
      goto skip_escape_conversion;
993
455k
    }
994
17.0M
  }
995
996
147k
  t = s;
997
5.65M
  while (s<end) {
998
5.51M
    if (*s=='\\') {
999
362k
      s++;
1000
362k
      if (s >= end) {
1001
1.46k
        *t++ = '\\';
1002
1.46k
        break;
1003
1.46k
      }
1004
1005
361k
      switch(*s) {
1006
63.6k
        case 'n':
1007
63.6k
          *t++ = '\n';
1008
63.6k
          break;
1009
1.76k
        case 'r':
1010
1.76k
          *t++ = '\r';
1011
1.76k
          break;
1012
1.86k
        case 't':
1013
1.86k
          *t++ = '\t';
1014
1.86k
          break;
1015
2.96k
        case 'f':
1016
2.96k
          *t++ = '\f';
1017
2.96k
          break;
1018
5.21k
        case 'v':
1019
5.21k
          *t++ = '\v';
1020
5.21k
          break;
1021
535
        case 'e':
1022
#ifdef ZEND_WIN32
1023
          *t++ = VK_ESCAPE;
1024
#else
1025
535
          *t++ = '\e';
1026
535
#endif
1027
535
          break;
1028
2.02k
        case '"':
1029
4.69k
        case '`':
1030
4.69k
          if (*s != quote_type) {
1031
963
            *t++ = '\\';
1032
963
            *t++ = *s;
1033
963
            break;
1034
963
          }
1035
3.73k
          ZEND_FALLTHROUGH;
1036
100k
        case '\\':
1037
103k
        case '$':
1038
103k
          *t++ = *s;
1039
103k
          break;
1040
9.19k
        case 'x':
1041
13.2k
        case 'X':
1042
13.2k
          if (ZEND_IS_HEX(*(s+1))) {
1043
9.18k
            char hex_buf[3] = { 0, 0, 0 };
1044
1045
9.18k
            hex_buf[0] = *(++s);
1046
9.18k
            if (ZEND_IS_HEX(*(s+1))) {
1047
6.35k
              hex_buf[1] = *(++s);
1048
6.35k
            }
1049
9.18k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1050
9.18k
          } else {
1051
4.03k
            *t++ = '\\';
1052
4.03k
            *t++ = *s;
1053
4.03k
          }
1054
13.2k
          break;
1055
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1056
3.30k
        case 'u':
1057
3.30k
          {
1058
            /* cache where we started so we can parse after validating */
1059
3.30k
            char *start = s + 1;
1060
3.30k
            size_t len = 0;
1061
3.30k
            bool valid = 1;
1062
3.30k
            unsigned long codepoint;
1063
1064
3.30k
            if (*start != '{') {
1065
              /* we silently let this pass to avoid breaking code
1066
               * with JSON in string literals (e.g. "\"\u202e\""
1067
               */
1068
1.18k
              *t++ = '\\';
1069
1.18k
              *t++ = 'u';
1070
1.18k
              break;
1071
2.11k
            } else {
1072
              /* on the other hand, invalid \u{blah} errors */
1073
2.11k
              s++;
1074
2.11k
              len++;
1075
2.11k
              s++;
1076
9.64k
              while (*s != '}') {
1077
8.21k
                if (!ZEND_IS_HEX(*s)) {
1078
685
                  valid = 0;
1079
685
                  break;
1080
7.53k
                } else {
1081
7.53k
                  len++;
1082
7.53k
                }
1083
7.53k
                s++;
1084
7.53k
              }
1085
2.11k
              if (*s == '}') {
1086
1.43k
                valid = 1;
1087
1.43k
                len++;
1088
1.43k
              }
1089
2.11k
            }
1090
1091
            /* \u{} is invalid */
1092
2.11k
            if (len <= 2) {
1093
709
              valid = 0;
1094
709
            }
1095
1096
2.11k
            if (!valid) {
1097
867
              zend_throw_exception(zend_ce_parse_error,
1098
867
                "Invalid UTF-8 codepoint escape sequence", 0);
1099
867
              zval_ptr_dtor(zendlval);
1100
867
              ZVAL_UNDEF(zendlval);
1101
867
              return FAILURE;
1102
867
            }
1103
1104
2.11k
            errno = 0;
1105
1.24k
            codepoint = strtoul(start + 1, NULL, 16);
1106
1107
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1108
1.24k
            if (codepoint > 0x10FFFF || errno) {
1109
211
              zend_throw_exception(zend_ce_parse_error,
1110
211
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1111
211
              zval_ptr_dtor(zendlval);
1112
211
              ZVAL_UNDEF(zendlval);
1113
211
              return FAILURE;
1114
211
            }
1115
1116
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1117
1.03k
            if (codepoint < 0x80) {
1118
340
              *t++ = codepoint;
1119
698
            } else if (codepoint <= 0x7FF) {
1120
188
              *t++ = (codepoint >> 6) + 0xC0;
1121
188
              *t++ = (codepoint & 0x3F) + 0x80;
1122
510
            } else if (codepoint <= 0xFFFF) {
1123
268
              *t++ = (codepoint >> 12) + 0xE0;
1124
268
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1125
268
              *t++ = (codepoint & 0x3F) + 0x80;
1126
268
            } else if (codepoint <= 0x10FFFF) {
1127
242
              *t++ = (codepoint >> 18) + 0xF0;
1128
242
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1129
242
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1130
242
              *t++ = (codepoint & 0x3F) + 0x80;
1131
242
            }
1132
1.03k
          }
1133
0
          break;
1134
164k
        default:
1135
          /* check for an octal */
1136
164k
          if (ZEND_IS_OCT(*s)) {
1137
30.8k
            char octal_buf[4] = { 0, 0, 0, 0 };
1138
1139
30.8k
            octal_buf[0] = *s;
1140
30.8k
            if (ZEND_IS_OCT(*(s+1))) {
1141
9.06k
              octal_buf[1] = *(++s);
1142
9.06k
              if (ZEND_IS_OCT(*(s+1))) {
1143
4.04k
                octal_buf[2] = *(++s);
1144
4.04k
              }
1145
9.06k
            }
1146
30.8k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1147
              /* 3 octit values must not overflow 0xFF (\377) */
1148
1.34k
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1149
1.34k
            }
1150
1151
30.8k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1152
133k
          } else {
1153
133k
            *t++ = '\\';
1154
133k
            *t++ = *s;
1155
133k
          }
1156
164k
          break;
1157
361k
      }
1158
5.15M
    } else {
1159
5.15M
      *t++ = *s;
1160
5.15M
    }
1161
1162
5.51M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1163
151k
      CG(zend_lineno)++;
1164
151k
    }
1165
5.51M
    s++;
1166
5.51M
  }
1167
146k
  *t = 0;
1168
146k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1169
1170
761k
skip_escape_conversion:
1171
761k
  if (SCNG(output_filter)) {
1172
0
    size_t sz = 0;
1173
0
    unsigned char *str;
1174
    // TODO: avoid realocation ???
1175
0
    s = Z_STRVAL_P(zendlval);
1176
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1177
0
    zval_ptr_dtor(zendlval);
1178
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1179
0
    efree(str);
1180
0
  }
1181
761k
  return SUCCESS;
1182
146k
}
1183
1184
814k
#define HEREDOC_USING_SPACES 1
1185
40.0k
#define HEREDOC_USING_TABS 2
1186
1187
263k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1188
3.27M
  for (; str < end; str++) {
1189
3.15M
    if (*str == '\r') {
1190
20.5k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1191
20.5k
      return str;
1192
3.13M
    } else if (*str == '\n') {
1193
126k
      *newline_len = 1;
1194
126k
      return str;
1195
126k
    }
1196
3.15M
  }
1197
117k
  *newline_len = 0;
1198
117k
  return NULL;
1199
263k
}
1200
1201
static bool strip_multiline_string_indentation(
1202
  zval *zendlval, int indentation, bool using_spaces,
1203
  bool newline_at_start, bool newline_at_end)
1204
112k
{
1205
112k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1206
112k
  char *copy = Z_STRVAL_P(zendlval);
1207
1208
112k
  uint32_t newline_count = 0;
1209
112k
  size_t newline_len;
1210
112k
  const char *nl;
1211
1212
112k
  if (!newline_at_start) {
1213
74.8k
    nl = next_newline(str, end, &newline_len);
1214
74.8k
    if (!nl) {
1215
42.4k
      return 1;
1216
42.4k
    }
1217
1218
32.3k
    str = nl + newline_len;
1219
32.3k
    copy = (char *) nl + newline_len;
1220
32.3k
    newline_count++;
1221
37.8k
  } else {
1222
37.8k
    nl = str;
1223
37.8k
  }
1224
1225
  /* <= intentional */
1226
222k
  while (str <= end && nl) {
1227
189k
    size_t skip;
1228
189k
    nl = next_newline(str, end, &newline_len);
1229
189k
    if (!nl && newline_at_end) {
1230
9.60k
      nl = end;
1231
9.60k
    }
1232
1233
    /* Try to skip indentation */
1234
191k
    for (skip = 0; skip < indentation; skip++, str++) {
1235
3.30k
      if (str == nl) {
1236
        /* Don't require full indentation on whitespace-only lines */
1237
414
        break;
1238
414
      }
1239
1240
2.88k
      if (str == end || (*str != ' ' && *str != '\t')) {
1241
63
        CG(zend_lineno) += newline_count;
1242
63
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1243
63
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1244
63
        goto error;
1245
63
      }
1246
1247
2.82k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1248
34
        CG(zend_lineno) += newline_count;
1249
34
        zend_throw_exception(zend_ce_parse_error,
1250
34
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1251
34
        goto error;
1252
34
      }
1253
2.82k
    }
1254
1255
188k
    if (str == end) {
1256
36.3k
      break;
1257
36.3k
    }
1258
1259
152k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1260
152k
    memmove(copy, str, len);
1261
152k
    str += len;
1262
152k
    copy += len;
1263
152k
    newline_count++;
1264
152k
  }
1265
1266
70.0k
  *copy = '\0';
1267
70.0k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1268
70.0k
  return 1;
1269
1270
97
error:
1271
97
  zval_ptr_dtor_str(zendlval);
1272
97
  ZVAL_UNDEF(zendlval);
1273
1274
97
  return 0;
1275
70.1k
}
1276
1277
static void copy_heredoc_label_stack(void *void_heredoc_label)
1278
2.27M
{
1279
2.27M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1280
2.27M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1281
1282
2.27M
  *new_heredoc_label = *heredoc_label;
1283
2.27M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1284
1285
2.27M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1286
2.27M
}
1287
1288
/* Check that { }, [ ], ( ) are nested correctly */
1289
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1290
289k
{
1291
289k
  char   buf[256];
1292
289k
  size_t used = 0;
1293
1294
289k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1295
1296
289k
  if (opening_lineno != CG(zend_lineno)) {
1297
162k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1298
162k
  }
1299
1300
289k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1301
158k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1302
158k
  }
1303
1304
289k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1305
289k
}
1306
1307
static void enter_nesting(char opening)
1308
5.87M
{
1309
5.87M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1310
5.87M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1311
5.87M
}
1312
1313
static zend_result exit_nesting(char closing)
1314
1.63M
{
1315
1.63M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1316
16.6k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1317
16.6k
    return FAILURE;
1318
16.6k
  }
1319
1320
1.61M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1321
1.61M
  char opening = nest_loc->text;
1322
1323
1.61M
  if ((opening == '{' && closing != '}') ||
1324
1.58M
      (opening == '[' && closing != ']') ||
1325
1.57M
      (opening == '(' && closing != ')')) {
1326
158k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1327
158k
    return FAILURE;
1328
158k
  }
1329
1330
1.46M
  zend_stack_del_top(&SCNG(nest_location_stack));
1331
1.46M
  return SUCCESS;
1332
1.61M
}
1333
1334
static zend_result check_nesting_at_end(void)
1335
242k
{
1336
242k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1337
131k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1338
131k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1339
131k
    return FAILURE;
1340
131k
  }
1341
1342
110k
  return SUCCESS;
1343
242k
}
1344
1345
#define PARSER_MODE() \
1346
19.7M
  EXPECTED(elem != NULL)
1347
1348
24.2M
#define RETURN_TOKEN(_token) do { \
1349
24.2M
    token = _token; \
1350
24.2M
    goto emit_token; \
1351
24.2M
  } while (0)
1352
1353
3.44M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1354
3.44M
    token = _token; \
1355
3.44M
    goto emit_token_with_val; \
1356
3.44M
  } while (0)
1357
1358
6.56M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1359
6.56M
    token = _token; \
1360
6.56M
    offset = _offset; \
1361
6.56M
    goto emit_token_with_str; \
1362
6.56M
  } while (0)
1363
1364
1.32M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1365
1.32M
    token = _token; \
1366
1.32M
    goto emit_token_with_ident; \
1367
1.32M
  } while (0)
1368
1369
1.13M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1370
1.13M
    token = _token; \
1371
1.13M
    if (PARSER_MODE()) { \
1372
289k
      goto skip_token; \
1373
289k
    } \
1374
1.13M
    goto emit_token; \
1375
1.13M
  } while (0)
1376
1377
1.63M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1378
1.63M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1379
344
      RETURN_TOKEN(T_ERROR); \
1380
1.63M
    } else { \
1381
1.63M
      RETURN_TOKEN(_token); \
1382
1.63M
    } \
1383
1.63M
  } while(0)
1384
1385
242k
#define RETURN_END_TOKEN do { \
1386
242k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1387
4.17k
      RETURN_TOKEN(T_ERROR); \
1388
238k
    } else { \
1389
238k
      RETURN_TOKEN(END); \
1390
238k
    } \
1391
242k
  } while (0)
1392
1393
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1394
39.7M
{
1395
39.7M
int token;
1396
39.7M
int offset;
1397
39.7M
uint32_t start_line = CG(zend_lineno);
1398
1399
39.7M
  ZVAL_UNDEF(zendlval);
1400
46.5M
restart:
1401
46.5M
  SCNG(yy_text) = YYCURSOR;
1402
1403
1404
46.5M
#line 1405 "Zend/zend_language_scanner.c"
1405
46.5M
{
1406
46.5M
  YYCTYPE yych;
1407
46.5M
  unsigned int yyaccept = 0;
1408
46.5M
  if (YYGETCONDITION() < 5) {
1409
42.5M
    if (YYGETCONDITION() < 2) {
1410
36.8M
      if (YYGETCONDITION() < 1) {
1411
36.4M
        goto yyc_ST_IN_SCRIPTING;
1412
36.4M
      } else {
1413
394k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1414
394k
      }
1415
36.8M
    } else {
1416
5.72M
      if (YYGETCONDITION() < 3) {
1417
184k
        goto yyc_ST_BACKQUOTE;
1418
5.54M
      } else {
1419
5.54M
        if (YYGETCONDITION() < 4) {
1420
620k
          goto yyc_ST_DOUBLE_QUOTES;
1421
4.91M
        } else {
1422
4.91M
          goto yyc_ST_HEREDOC;
1423
4.91M
        }
1424
5.54M
      }
1425
5.72M
    }
1426
42.5M
  } else {
1427
3.92M
    if (YYGETCONDITION() < 8) {
1428
3.44M
      if (YYGETCONDITION() < 6) {
1429
3.23M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1430
3.23M
      } else {
1431
208k
        if (YYGETCONDITION() < 7) {
1432
208k
          goto yyc_ST_VAR_OFFSET;
1433
208k
        } else {
1434
0
          goto yyc_SHEBANG;
1435
0
        }
1436
208k
      }
1437
3.44M
    } else {
1438
482k
      if (YYGETCONDITION() < 9) {
1439
453k
        goto yyc_INITIAL;
1440
453k
      } else {
1441
29.2k
        if (YYGETCONDITION() < 10) {
1442
21.2k
          goto yyc_ST_END_HEREDOC;
1443
21.2k
        } else {
1444
8.04k
          goto yyc_ST_NOWDOC;
1445
8.04k
        }
1446
29.2k
      }
1447
482k
    }
1448
3.92M
  }
1449
/* *********************************** */
1450
36.4M
yyc_ST_IN_SCRIPTING:
1451
36.4M
  {
1452
36.4M
    static const unsigned char yybm[] = {
1453
      /* table 1 .. 8: 0 */
1454
36.4M
        0, 134, 134, 134, 134, 134, 134, 134, 
1455
36.4M
      134, 135,   4, 134, 134,   4, 134, 134, 
1456
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1458
36.4M
      135, 134, 134, 134, 134, 134, 134, 134, 
1459
36.4M
      134, 134,  66, 134, 134, 134, 134, 134, 
1460
36.4M
      190, 190, 182, 182, 182, 182, 182, 182, 
1461
36.4M
      166, 166, 134, 134, 134, 134, 134, 134, 
1462
36.4M
      134, 166, 166, 166, 166, 166, 166, 134, 
1463
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1464
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1465
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1466
36.4M
      134, 166, 166, 166, 166, 166, 166, 134, 
1467
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1468
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1469
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1470
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1471
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1472
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1473
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1474
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1475
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1476
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1477
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1478
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1479
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1480
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1481
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1482
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1483
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1484
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1485
36.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1486
      /* table 9 .. 11: 256 */
1487
36.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1488
36.4M
        0,  32,  32,   0,   0,  32,   0,   0, 
1489
36.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1490
36.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1491
36.4M
       32,   0,   0,   0,   0,   0,   0,   0, 
1492
36.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1493
36.4M
      192, 192, 192, 192, 192, 192, 192, 192, 
1494
36.4M
      192, 192,   0,   0,   0,   0,   0,   0, 
1495
36.4M
        0, 128, 128, 128, 128, 128, 128, 128, 
1496
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1497
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1498
36.4M
      128, 128, 128,   0,   0,   0,   0, 128, 
1499
36.4M
        0, 128, 128, 128, 128, 128, 128, 128, 
1500
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1501
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1502
36.4M
      128, 128, 128,   0,   0,   0,   0,   0, 
1503
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1504
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1505
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1506
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1507
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1508
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1509
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1510
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1511
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1512
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1513
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1514
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1515
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1516
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1517
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1518
36.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1519
36.4M
    };
1520
36.4M
    YYDEBUG(1, *YYCURSOR);
1521
36.4M
    YYFILL(16);
1522
36.4M
    yych = *YYCURSOR;
1523
36.4M
    if (yybm[256+yych] & 32) {
1524
6.54M
      goto yy5;
1525
6.54M
    }
1526
29.9M
    switch (yych) {
1527
3.83M
    case 0x00:
1528
3.96M
    case 0x01:
1529
4.00M
    case 0x02:
1530
4.04M
    case 0x03:
1531
4.18M
    case 0x04:
1532
4.23M
    case 0x05:
1533
4.26M
    case 0x06:
1534
4.31M
    case 0x07:
1535
4.37M
    case 0x08:
1536
4.37M
    case '\t':
1537
4.37M
    case '\n':
1538
4.42M
    case '\v':
1539
4.46M
    case '\f':
1540
4.46M
    case '\r':
1541
4.50M
    case 0x0E:
1542
4.55M
    case 0x0F:
1543
4.57M
    case 0x10:
1544
4.59M
    case 0x11:
1545
4.61M
    case 0x12:
1546
4.67M
    case 0x13:
1547
4.68M
    case 0x14:
1548
4.69M
    case 0x15:
1549
4.70M
    case 0x16:
1550
4.74M
    case 0x17:
1551
4.76M
    case 0x18:
1552
4.77M
    case 0x19:
1553
4.81M
    case 0x1A:
1554
4.82M
    case 0x1B:
1555
5.02M
    case 0x1C:
1556
5.06M
    case 0x1D:
1557
5.09M
    case 0x1E:
1558
5.14M
    case 0x1F:
1559
5.18M
    case 0x7F:  goto yy3;
1560
0
    case ' ':
1561
157k
    case '!': goto yy8;
1562
379k
    case '"': goto yy10;
1563
680k
    case '#': goto yy12;
1564
1.82M
    case '$': goto yy14;
1565
59.1k
    case '%': goto yy15;
1566
195k
    case '&': goto yy16;
1567
350k
    case '\'':  goto yy18;
1568
1.24M
    case '(': goto yy20;
1569
895k
    case ')':
1570
1.22M
    case ']': goto yy22;
1571
127k
    case '*': goto yy24;
1572
210k
    case '+': goto yy25;
1573
767k
    case ',':
1574
1.84M
    case ';':
1575
2.34M
    case '@':
1576
2.40M
    case '~': goto yy26;
1577
368k
    case '-': goto yy27;
1578
378k
    case '.': goto yy28;
1579
365k
    case '/': goto yy29;
1580
224k
    case '0': goto yy30;
1581
226k
    case '1':
1582
384k
    case '2':
1583
478k
    case '3':
1584
609k
    case '4':
1585
675k
    case '5':
1586
725k
    case '6':
1587
769k
    case '7':
1588
816k
    case '8':
1589
848k
    case '9': goto yy32;
1590
250k
    case ':': goto yy34;
1591
4.46M
    case '<': goto yy35;
1592
662k
    case '=': goto yy36;
1593
84.9k
    case '>': goto yy37;
1594
545k
    case '?': goto yy38;
1595
72.7k
    case 'A':
1596
234k
    case 'a': goto yy39;
1597
51.6k
    case 'B':
1598
116k
    case 'b': goto yy41;
1599
79.2k
    case 'C':
1600
378k
    case 'c': goto yy42;
1601
61.2k
    case 'D':
1602
136k
    case 'd': goto yy43;
1603
83.5k
    case 'E':
1604
597k
    case 'e': goto yy44;
1605
62.6k
    case 'F':
1606
431k
    case 'f': goto yy45;
1607
12.5k
    case 'G':
1608
79.2k
    case 'g': goto yy46;
1609
68.4k
    case 'I':
1610
292k
    case 'i': goto yy49;
1611
12.6k
    case 'L':
1612
57.5k
    case 'l': goto yy50;
1613
22.7k
    case 'M':
1614
83.7k
    case 'm': goto yy51;
1615
37.6k
    case 'N':
1616
230k
    case 'n': goto yy52;
1617
49.3k
    case 'O':
1618
145k
    case 'o': goto yy53;
1619
80.3k
    case 'P':
1620
444k
    case 'p': goto yy54;
1621
22.0k
    case 'R':
1622
151k
    case 'r': goto yy55;
1623
26.9k
    case 'S':
1624
201k
    case 's': goto yy56;
1625
50.0k
    case 'T':
1626
233k
    case 't': goto yy57;
1627
7.13k
    case 'U':
1628
85.1k
    case 'u': goto yy58;
1629
9.22k
    case 'V':
1630
146k
    case 'v': goto yy59;
1631
13.9k
    case 'W':
1632
33.7k
    case 'w': goto yy60;
1633
17.6k
    case 'X':
1634
35.1k
    case 'x': goto yy61;
1635
7.29k
    case 'Y':
1636
143k
    case 'y': goto yy62;
1637
318k
    case '[': goto yy63;
1638
166k
    case '\\':  goto yy64;
1639
95.1k
    case '^': goto yy66;
1640
186k
    case '_': goto yy67;
1641
48.3k
    case '`': goto yy68;
1642
1.04M
    case '{': goto yy70;
1643
100k
    case '|': goto yy72;
1644
407k
    case '}': goto yy73;
1645
1.06M
    default:  goto yy47;
1646
29.9M
    }
1647
5.18M
yy3:
1648
5.18M
    YYDEBUG(3, *YYCURSOR);
1649
5.18M
    ++YYCURSOR;
1650
5.18M
    YYDEBUG(4, *YYCURSOR);
1651
5.18M
    yyleng = YYCURSOR - SCNG(yy_text);
1652
5.18M
#line 3209 "Zend/zend_language_scanner.l"
1653
5.18M
    {
1654
5.18M
  if (YYCURSOR > YYLIMIT) {
1655
125k
    RETURN_END_TOKEN;
1656
125k
  }
1657
1658
5.06M
  RETURN_TOKEN(T_BAD_CHARACTER);
1659
5.06M
}
1660
0
#line 1661 "Zend/zend_language_scanner.c"
1661
10.6M
yy5:
1662
10.6M
    YYDEBUG(5, *YYCURSOR);
1663
10.6M
    ++YYCURSOR;
1664
10.6M
    YYFILL(1);
1665
10.6M
    yych = *YYCURSOR;
1666
10.6M
    YYDEBUG(6, *YYCURSOR);
1667
10.6M
    if (yybm[256+yych] & 32) {
1668
4.06M
      goto yy5;
1669
4.06M
    }
1670
6.54M
    YYDEBUG(7, *YYCURSOR);
1671
6.54M
    yyleng = YYCURSOR - SCNG(yy_text);
1672
6.54M
#line 1626 "Zend/zend_language_scanner.l"
1673
6.54M
    {
1674
6.54M
  goto return_whitespace;
1675
10.6M
}
1676
0
#line 1677 "Zend/zend_language_scanner.c"
1677
157k
yy8:
1678
157k
    YYDEBUG(8, *YYCURSOR);
1679
157k
    yych = *++YYCURSOR;
1680
157k
    if (yych == '=') goto yy75;
1681
6.04M
yy9:
1682
6.04M
    YYDEBUG(9, *YYCURSOR);
1683
6.04M
    yyleng = YYCURSOR - SCNG(yy_text);
1684
6.04M
#line 1998 "Zend/zend_language_scanner.l"
1685
6.04M
    {
1686
6.04M
  RETURN_TOKEN(yytext[0]);
1687
6.04M
}
1688
0
#line 1689 "Zend/zend_language_scanner.c"
1689
380k
yy10:
1690
380k
    YYDEBUG(10, *YYCURSOR);
1691
380k
    ++YYCURSOR;
1692
380k
    YYDEBUG(11, *YYCURSOR);
1693
380k
    yyleng = YYCURSOR - SCNG(yy_text);
1694
380k
#line 2661 "Zend/zend_language_scanner.l"
1695
380k
    {
1696
380k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1697
1698
10.4M
  while (YYCURSOR < YYLIMIT) {
1699
10.4M
    switch (*YYCURSOR++) {
1700
271k
      case '"':
1701
271k
        yyleng = YYCURSOR - SCNG(yy_text);
1702
271k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1703
271k
         || !PARSER_MODE()) {
1704
271k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1705
271k
        } else {
1706
10
          RETURN_TOKEN(T_ERROR);
1707
10
        }
1708
123k
      case '$':
1709
123k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1710
94.8k
          break;
1711
94.8k
        }
1712
28.6k
        continue;
1713
42.4k
      case '{':
1714
42.4k
        if (*YYCURSOR == '$') {
1715
4.03k
          break;
1716
4.03k
        }
1717
38.3k
        continue;
1718
258k
      case '\\':
1719
258k
        if (YYCURSOR < YYLIMIT) {
1720
258k
          YYCURSOR++;
1721
258k
        }
1722
258k
        ZEND_FALLTHROUGH;
1723
9.98M
      default:
1724
9.98M
        continue;
1725
10.4M
    }
1726
1727
98.8k
    YYCURSOR--;
1728
98.8k
    break;
1729
10.4M
  }
1730
1731
  /* Remember how much was scanned to save rescanning */
1732
380k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1733
1734
108k
  YYCURSOR = SCNG(yy_text) + yyleng;
1735
1736
108k
  BEGIN(ST_DOUBLE_QUOTES);
1737
108k
  RETURN_TOKEN('"');
1738
108k
}
1739
0
#line 1740 "Zend/zend_language_scanner.c"
1740
680k
yy12:
1741
680k
    YYDEBUG(12, *YYCURSOR);
1742
680k
    yych = *++YYCURSOR;
1743
680k
    if (yych == '[') goto yy77;
1744
760k
yy13:
1745
760k
    YYDEBUG(13, *YYCURSOR);
1746
760k
    yyleng = YYCURSOR - SCNG(yy_text);
1747
760k
#line 2489 "Zend/zend_language_scanner.l"
1748
760k
    {
1749
9.22M
  while (YYCURSOR < YYLIMIT) {
1750
9.21M
    switch (*YYCURSOR++) {
1751
216k
      case '\r':
1752
748k
      case '\n':
1753
748k
        YYCURSOR--;
1754
748k
        break;
1755
40.8k
      case '?':
1756
40.8k
        if (*YYCURSOR == '>') {
1757
2.53k
          YYCURSOR--;
1758
2.53k
          break;
1759
2.53k
        }
1760
38.2k
        ZEND_FALLTHROUGH;
1761
8.46M
      default:
1762
8.46M
        continue;
1763
9.21M
    }
1764
1765
751k
    break;
1766
9.21M
  }
1767
1768
760k
  yyleng = YYCURSOR - SCNG(yy_text);
1769
760k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1770
760k
}
1771
0
#line 1772 "Zend/zend_language_scanner.c"
1772
1.82M
yy14:
1773
1.82M
    YYDEBUG(14, *YYCURSOR);
1774
1.82M
    yych = *++YYCURSOR;
1775
1.82M
    if (yych <= '_') {
1776
257k
      if (yych <= '@') goto yy9;
1777
42.6k
      if (yych <= 'Z') goto yy79;
1778
8.30k
      if (yych <= '^') goto yy9;
1779
4.62k
      goto yy79;
1780
1.56M
    } else {
1781
1.56M
      if (yych <= '`') goto yy9;
1782
1.56M
      if (yych <= 'z') goto yy79;
1783
465k
      if (yych <= 0x7F) goto yy9;
1784
75.1k
      goto yy79;
1785
465k
    }
1786
59.1k
yy15:
1787
59.1k
    YYDEBUG(15, *YYCURSOR);
1788
59.1k
    yych = *++YYCURSOR;
1789
59.1k
    if (yych == '=') goto yy82;
1790
57.8k
    goto yy9;
1791
195k
yy16:
1792
195k
    YYDEBUG(16, *YYCURSOR);
1793
195k
    yyaccept = 0;
1794
195k
    yych = *(YYMARKER = ++YYCURSOR);
1795
195k
    if (yych <= '"') {
1796
74.4k
      if (yych <= '\f') {
1797
51.9k
        if (yych <= 0x08) goto yy17;
1798
50.0k
        if (yych <= '\n') goto yy85;
1799
50.0k
      } else {
1800
22.4k
        if (yych <= '\r') goto yy85;
1801
19.4k
        if (yych == ' ') goto yy85;
1802
19.4k
      }
1803
121k
    } else {
1804
121k
      if (yych <= '-') {
1805
42.5k
        if (yych <= '$') goto yy85;
1806
21.6k
        if (yych == '&') goto yy90;
1807
78.6k
      } else {
1808
78.6k
        if (yych <= '/') goto yy85;
1809
73.3k
        if (yych == '=') goto yy94;
1810
73.3k
      }
1811
121k
    }
1812
128k
yy17:
1813
128k
    YYDEBUG(17, *YYCURSOR);
1814
128k
    yyleng = YYCURSOR - SCNG(yy_text);
1815
128k
#line 1984 "Zend/zend_language_scanner.l"
1816
128k
    {
1817
128k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1818
128k
}
1819
0
#line 1820 "Zend/zend_language_scanner.c"
1820
351k
yy18:
1821
351k
    YYDEBUG(18, *YYCURSOR);
1822
351k
    ++YYCURSOR;
1823
351k
    YYDEBUG(19, *YYCURSOR);
1824
351k
    yyleng = YYCURSOR - SCNG(yy_text);
1825
351k
#line 2567 "Zend/zend_language_scanner.l"
1826
351k
    {
1827
351k
  char *s, *t;
1828
351k
  char *end;
1829
351k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1830
1831
36.0M
  while (1) {
1832
36.0M
    if (YYCURSOR < YYLIMIT) {
1833
36.0M
      if (*YYCURSOR == '\'') {
1834
340k
        YYCURSOR++;
1835
340k
        yyleng = YYCURSOR - SCNG(yy_text);
1836
1837
340k
        break;
1838
35.6M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1839
107k
        YYCURSOR++;
1840
107k
      }
1841
36.0M
    } else {
1842
10.9k
      yyleng = YYLIMIT - SCNG(yy_text);
1843
1844
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1845
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1846
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1847
10.9k
      ZVAL_NULL(zendlval);
1848
10.9k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1849
10.9k
    }
1850
36.0M
  }
1851
1852
340k
  if (yyleng-bprefix-2 <= 1) {
1853
77.4k
    if (yyleng-bprefix-2 < 1) {
1854
23.8k
      ZVAL_EMPTY_STRING(zendlval);
1855
53.5k
    } else {
1856
53.5k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1857
53.5k
      HANDLE_NEWLINE(c);
1858
53.5k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1859
53.5k
    }
1860
77.4k
    goto skip_escape_conversion;
1861
77.4k
  }
1862
262k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1863
1864
  /* convert escape sequences */
1865
262k
  s = Z_STRVAL_P(zendlval);
1866
262k
  end = s+Z_STRLEN_P(zendlval);
1867
24.6M
  while (1) {
1868
24.6M
    if (UNEXPECTED(*s=='\\')) {
1869
37.8k
      break;
1870
37.8k
    }
1871
24.5M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1872
423k
      CG(zend_lineno)++;
1873
423k
    }
1874
24.5M
    s++;
1875
24.5M
    if (s == end) {
1876
225k
      goto skip_escape_conversion;
1877
225k
    }
1878
24.5M
  }
1879
1880
37.8k
  t = s;
1881
10.1M
  while (s<end) {
1882
10.0M
    if (*s=='\\') {
1883
103k
      s++;
1884
103k
      if (*s == '\\' || *s == '\'') {
1885
34.3k
        *t++ = *s;
1886
69.6k
      } else {
1887
69.6k
        *t++ = '\\';
1888
69.6k
        *t++ = *s;
1889
69.6k
      }
1890
9.98M
    } else {
1891
9.98M
      *t++ = *s;
1892
9.98M
    }
1893
10.0M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1894
189k
      CG(zend_lineno)++;
1895
189k
    }
1896
10.0M
    s++;
1897
10.0M
  }
1898
37.8k
  *t = 0;
1899
37.8k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1900
1901
340k
skip_escape_conversion:
1902
340k
  if (SCNG(output_filter)) {
1903
0
    size_t sz = 0;
1904
0
    char *str = NULL;
1905
0
    zend_string *new_str;
1906
0
    s = Z_STRVAL_P(zendlval);
1907
    // TODO: avoid reallocation ???
1908
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1909
0
    new_str = zend_string_init(str, sz, 0);
1910
0
    if (str != s) {
1911
0
      efree(str);
1912
0
    }
1913
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1914
0
    ZVAL_STR(zendlval, new_str);
1915
0
  }
1916
340k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1917
340k
}
1918
0
#line 1919 "Zend/zend_language_scanner.c"
1919
1.24M
yy20:
1920
1.24M
    YYDEBUG(20, *YYCURSOR);
1921
1.24M
    yyaccept = 1;
1922
1.24M
    yych = *(YYMARKER = ++YYCURSOR);
1923
1.24M
    if (yych <= 'S') {
1924
881k
      if (yych <= 'D') {
1925
827k
        if (yych <= ' ') {
1926
101k
          if (yych == '\t') goto yy97;
1927
96.9k
          if (yych >= ' ') goto yy97;
1928
726k
        } else {
1929
726k
          if (yych <= '@') goto yy21;
1930
20.5k
          if (yych != 'C') goto yy97;
1931
20.5k
        }
1932
827k
      } else {
1933
53.5k
        if (yych <= 'I') {
1934
37.0k
          if (yych == 'F') goto yy97;
1935
33.1k
          if (yych >= 'I') goto yy97;
1936
33.1k
        } else {
1937
16.5k
          if (yych == 'O') goto yy97;
1938
13.8k
          if (yych >= 'R') goto yy97;
1939
13.8k
        }
1940
53.5k
      }
1941
881k
    } else {
1942
362k
      if (yych <= 'f') {
1943
163k
        if (yych <= 'b') {
1944
113k
          if (yych <= 'T') goto yy21;
1945
105k
          if (yych <= 'V') goto yy97;
1946
103k
          if (yych >= 'a') goto yy97;
1947
103k
        } else {
1948
49.8k
          if (yych == 'd') goto yy97;
1949
41.7k
          if (yych >= 'f') goto yy97;
1950
41.7k
        }
1951
198k
      } else {
1952
198k
        if (yych <= 'o') {
1953
76.8k
          if (yych == 'i') goto yy97;
1954
45.4k
          if (yych >= 'o') goto yy97;
1955
121k
        } else {
1956
121k
          if (yych <= 's') {
1957
57.2k
            if (yych >= 'r') goto yy97;
1958
64.5k
          } else {
1959
64.5k
            if (yych <= 't') goto yy21;
1960
55.1k
            if (yych <= 'v') goto yy97;
1961
55.1k
          }
1962
121k
        }
1963
198k
      }
1964
362k
    }
1965
1.53M
yy21:
1966
1.53M
    YYDEBUG(21, *YYCURSOR);
1967
1.53M
    yyleng = YYCURSOR - SCNG(yy_text);
1968
1.53M
#line 1993 "Zend/zend_language_scanner.l"
1969
1.53M
    {
1970
1.53M
  enter_nesting(yytext[0]);
1971
1.53M
  RETURN_TOKEN(yytext[0]);
1972
1.53M
}
1973
0
#line 1974 "Zend/zend_language_scanner.c"
1974
1.22M
yy22:
1975
1.22M
    YYDEBUG(22, *YYCURSOR);
1976
1.22M
    ++YYCURSOR;
1977
1.22M
    YYDEBUG(23, *YYCURSOR);
1978
1.22M
    yyleng = YYCURSOR - SCNG(yy_text);
1979
1.22M
#line 1988 "Zend/zend_language_scanner.l"
1980
1.22M
    {
1981
  /* Check that ] and ) match up properly with a preceding [ or ( */
1982
1.22M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1983
1.22M
}
1984
0
#line 1985 "Zend/zend_language_scanner.c"
1985
127k
yy24:
1986
127k
    YYDEBUG(24, *YYCURSOR);
1987
127k
    yych = *++YYCURSOR;
1988
127k
    if (yych == '*') goto yy108;
1989
98.5k
    if (yych == '=') goto yy110;
1990
92.9k
    goto yy9;
1991
210k
yy25:
1992
210k
    YYDEBUG(25, *YYCURSOR);
1993
210k
    yych = *++YYCURSOR;
1994
210k
    if (yych == '+') goto yy112;
1995
145k
    if (yych == '=') goto yy114;
1996
139k
    goto yy9;
1997
2.40M
yy26:
1998
2.40M
    YYDEBUG(26, *YYCURSOR);
1999
2.40M
    ++YYCURSOR;
2000
2.40M
    goto yy9;
2001
368k
yy27:
2002
368k
    YYDEBUG(27, *YYCURSOR);
2003
368k
    yych = *++YYCURSOR;
2004
368k
    if (yych <= '<') {
2005
136k
      if (yych == '-') goto yy116;
2006
123k
      goto yy9;
2007
231k
    } else {
2008
231k
      if (yych <= '=') goto yy118;
2009
228k
      if (yych <= '>') goto yy120;
2010
80.5k
      goto yy9;
2011
228k
    }
2012
378k
yy28:
2013
378k
    YYDEBUG(28, *YYCURSOR);
2014
378k
    yyaccept = 2;
2015
378k
    yych = *(YYMARKER = ++YYCURSOR);
2016
378k
    if (yych <= '/') {
2017
180k
      if (yych == '.') goto yy122;
2018
119k
      goto yy9;
2019
197k
    } else {
2020
197k
      if (yych <= '9') goto yy123;
2021
157k
      if (yych == '=') goto yy126;
2022
57.1k
      goto yy9;
2023
157k
    }
2024
365k
yy29:
2025
365k
    YYDEBUG(29, *YYCURSOR);
2026
365k
    yych = *++YYCURSOR;
2027
365k
    if (yych <= '.') {
2028
185k
      if (yych == '*') goto yy128;
2029
48.2k
      goto yy9;
2030
185k
    } else {
2031
179k
      if (yych <= '/') goto yy130;
2032
78.7k
      if (yych == '=') goto yy131;
2033
76.7k
      goto yy9;
2034
78.7k
    }
2035
224k
yy30:
2036
224k
    YYDEBUG(30, *YYCURSOR);
2037
224k
    yyaccept = 3;
2038
224k
    yych = *(YYMARKER = ++YYCURSOR);
2039
224k
    if (yych <= 'X') {
2040
156k
      if (yych <= 'N') {
2041
151k
        if (yych == 'B') goto yy134;
2042
150k
        goto yy33;
2043
151k
      } else {
2044
4.76k
        if (yych <= 'O') goto yy136;
2045
4.18k
        if (yych <= 'W') goto yy33;
2046
3.48k
        goto yy137;
2047
4.18k
      }
2048
156k
    } else {
2049
67.9k
      if (yych <= 'n') {
2050
45.0k
        if (yych == 'b') goto yy134;
2051
41.8k
        goto yy33;
2052
45.0k
      } else {
2053
22.9k
        if (yych <= 'o') goto yy136;
2054
21.5k
        if (yych == 'x') goto yy137;
2055
17.3k
        goto yy33;
2056
21.5k
      }
2057
67.9k
    }
2058
987k
yy31:
2059
987k
    YYDEBUG(31, *YYCURSOR);
2060
987k
    yyleng = YYCURSOR - SCNG(yy_text);
2061
987k
#line 2132 "Zend/zend_language_scanner.l"
2062
987k
    {
2063
987k
  size_t len = yyleng;
2064
987k
  char *end, *lnum = yytext;
2065
987k
  bool is_octal = lnum[0] == '0';
2066
987k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2067
2068
987k
  if (contains_underscores) {
2069
1.90k
    lnum = estrndup(lnum, len);
2070
1.90k
    strip_underscores(lnum, &len);
2071
1.90k
  }
2072
2073
  /* Digits 8 and 9 are illegal in octal literals. */
2074
987k
  if (is_octal) {
2075
201k
    size_t i;
2076
540k
    for (i = 0; i < len; i++) {
2077
342k
      if (lnum[i] == '8' || lnum[i] == '9') {
2078
3.55k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2079
3.55k
        if (PARSER_MODE()) {
2080
27
          if (contains_underscores) {
2081
9
            efree(lnum);
2082
9
          }
2083
27
          ZVAL_UNDEF(zendlval);
2084
27
          RETURN_TOKEN(T_ERROR);
2085
27
        }
2086
2087
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2088
3.52k
        len = i;
2089
3.52k
        break;
2090
3.55k
      }
2091
342k
    }
2092
201k
  }
2093
2094
2095
987k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2096
954k
    errno = 0;
2097
    /* base must be passed explicitly for correct parse error on Windows */
2098
954k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2099
954k
    ZEND_ASSERT(end == lnum + len);
2100
954k
  } else {
2101
32.8k
    errno = 0;
2102
32.8k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2103
32.8k
    if (errno == ERANGE) { /* Overflow */
2104
29.0k
      errno = 0;
2105
29.0k
      if (is_octal) { /* octal overflow */
2106
415
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2107
28.6k
      } else {
2108
28.6k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2109
28.6k
      }
2110
29.0k
      ZEND_ASSERT(end == lnum + len);
2111
29.0k
      if (contains_underscores) {
2112
263
        efree(lnum);
2113
263
      }
2114
29.0k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2115
29.0k
    }
2116
3.78k
    ZEND_ASSERT(end == lnum + len);
2117
3.78k
  }
2118
958k
  ZEND_ASSERT(!errno);
2119
958k
  if (contains_underscores) {
2120
1.62k
    efree(lnum);
2121
1.62k
  }
2122
958k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2123
958k
}
2124
0
#line 2125 "Zend/zend_language_scanner.c"
2125
3.25M
yy32:
2126
3.25M
    YYDEBUG(32, *YYCURSOR);
2127
3.25M
    yyaccept = 3;
2128
3.25M
    YYMARKER = ++YYCURSOR;
2129
3.25M
    YYFILL(3);
2130
3.25M
    yych = *YYCURSOR;
2131
3.46M
yy33:
2132
3.46M
    YYDEBUG(33, *YYCURSOR);
2133
3.46M
    if (yybm[256+yych] & 64) {
2134
2.40M
      goto yy32;
2135
2.40M
    }
2136
1.06M
    if (yych <= 'E') {
2137
820k
      if (yych == '.') goto yy133;
2138
768k
      if (yych <= 'D') goto yy31;
2139
19.6k
      goto yy135;
2140
768k
    } else {
2141
242k
      if (yych <= '_') {
2142
124k
        if (yych <= '^') goto yy31;
2143
10.3k
        goto yy138;
2144
124k
      } else {
2145
117k
        if (yych == 'e') goto yy135;
2146
106k
        goto yy31;
2147
117k
      }
2148
242k
    }
2149
250k
yy34:
2150
250k
    YYDEBUG(34, *YYCURSOR);
2151
250k
    yych = *++YYCURSOR;
2152
250k
    if (yych == ':') goto yy139;
2153
114k
    goto yy9;
2154
4.46M
yy35:
2155
4.46M
    YYDEBUG(35, *YYCURSOR);
2156
4.46M
    yych = *++YYCURSOR;
2157
4.46M
    if (yych <= ';') goto yy9;
2158
4.26M
    if (yych <= '<') goto yy141;
2159
658k
    if (yych <= '=') goto yy143;
2160
636k
    if (yych <= '>') goto yy145;
2161
631k
    goto yy9;
2162
662k
yy36:
2163
662k
    YYDEBUG(36, *YYCURSOR);
2164
662k
    yych = *++YYCURSOR;
2165
662k
    if (yych <= '<') goto yy9;
2166
123k
    if (yych <= '=') goto yy146;
2167
88.2k
    if (yych <= '>') goto yy148;
2168
31.4k
    goto yy9;
2169
84.9k
yy37:
2170
84.9k
    YYDEBUG(37, *YYCURSOR);
2171
84.9k
    yych = *++YYCURSOR;
2172
84.9k
    if (yych <= '<') goto yy9;
2173
43.7k
    if (yych <= '=') goto yy150;
2174
38.6k
    if (yych <= '>') goto yy152;
2175
25.8k
    goto yy9;
2176
545k
yy38:
2177
545k
    YYDEBUG(38, *YYCURSOR);
2178
545k
    yyaccept = 2;
2179
545k
    yych = *(YYMARKER = ++YYCURSOR);
2180
545k
    if (yych <= '=') {
2181
205k
      if (yych == '-') goto yy154;
2182
169k
      goto yy9;
2183
339k
    } else {
2184
339k
      if (yych <= '>') goto yy155;
2185
187k
      if (yych <= '?') goto yy157;
2186
144k
      goto yy9;
2187
187k
    }
2188
234k
yy39:
2189
234k
    YYDEBUG(39, *YYCURSOR);
2190
234k
    yyaccept = 4;
2191
234k
    yych = *(YYMARKER = ++YYCURSOR);
2192
234k
    if (yych <= 'S') {
2193
79.4k
      if (yych <= 'M') {
2194
68.9k
        if (yych == 'B') goto yy159;
2195
66.8k
        goto yy48;
2196
68.9k
      } else {
2197
10.4k
        if (yych <= 'N') goto yy160;
2198
8.00k
        if (yych <= 'Q') goto yy48;
2199
7.52k
        if (yych <= 'R') goto yy161;
2200
5.92k
        goto yy162;
2201
7.52k
      }
2202
154k
    } else {
2203
154k
      if (yych <= 'n') {
2204
40.9k
        if (yych == 'b') goto yy159;
2205
28.8k
        if (yych <= 'm') goto yy48;
2206
7.38k
        goto yy160;
2207
113k
      } else {
2208
113k
        if (yych <= 'q') goto yy48;
2209
111k
        if (yych <= 'r') goto yy161;
2210
68.4k
        if (yych <= 's') goto yy162;
2211
15.8k
        goto yy48;
2212
68.4k
      }
2213
154k
    }
2214
4.15M
yy40:
2215
4.15M
    YYDEBUG(40, *YYCURSOR);
2216
4.15M
    yyleng = YYCURSOR - SCNG(yy_text);
2217
4.15M
#line 2484 "Zend/zend_language_scanner.l"
2218
4.15M
    {
2219
4.15M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2220
4.15M
}
2221
0
#line 2222 "Zend/zend_language_scanner.c"
2222
116k
yy41:
2223
116k
    YYDEBUG(41, *YYCURSOR);
2224
116k
    yyaccept = 4;
2225
116k
    yych = *(YYMARKER = ++YYCURSOR);
2226
116k
    if (yych <= ';') {
2227
29.0k
      if (yych <= '"') {
2228
14.2k
        if (yych <= '!') goto yy48;
2229
886
        goto yy10;
2230
14.8k
      } else {
2231
14.8k
        if (yych == '\'') goto yy18;
2232
14.4k
        goto yy48;
2233
14.8k
      }
2234
87.9k
    } else {
2235
87.9k
      if (yych <= 'R') {
2236
14.7k
        if (yych <= '<') goto yy165;
2237
9.64k
        if (yych <= 'Q') goto yy48;
2238
419
        goto yy166;
2239
73.1k
      } else {
2240
73.1k
        if (yych == 'r') goto yy166;
2241
67.5k
        goto yy48;
2242
73.1k
      }
2243
87.9k
    }
2244
378k
yy42:
2245
378k
    YYDEBUG(42, *YYCURSOR);
2246
378k
    yyaccept = 4;
2247
378k
    yych = *(YYMARKER = ++YYCURSOR);
2248
378k
    if (yych <= 'O') {
2249
81.8k
      if (yych <= 'K') {
2250
72.6k
        if (yych == 'A') goto yy167;
2251
69.8k
        goto yy48;
2252
72.6k
      } else {
2253
9.16k
        if (yych <= 'L') goto yy168;
2254
5.46k
        if (yych <= 'N') goto yy48;
2255
5.14k
        goto yy169;
2256
5.46k
      }
2257
296k
    } else {
2258
296k
      if (yych <= 'k') {
2259
106k
        if (yych == 'a') goto yy167;
2260
27.4k
        goto yy48;
2261
190k
      } else {
2262
190k
        if (yych <= 'l') goto yy168;
2263
82.4k
        if (yych == 'o') goto yy169;
2264
21.5k
        goto yy48;
2265
82.4k
      }
2266
296k
    }
2267
136k
yy43:
2268
136k
    YYDEBUG(43, *YYCURSOR);
2269
136k
    yyaccept = 4;
2270
136k
    yych = *(YYMARKER = ++YYCURSOR);
2271
136k
    if (yych <= 'O') {
2272
38.6k
      if (yych <= 'H') {
2273
25.7k
        if (yych == 'E') goto yy170;
2274
23.2k
        goto yy48;
2275
25.7k
      } else {
2276
12.8k
        if (yych <= 'I') goto yy171;
2277
12.0k
        if (yych <= 'N') goto yy48;
2278
10.9k
        goto yy172;
2279
12.0k
      }
2280
98.2k
    } else {
2281
98.2k
      if (yych <= 'h') {
2282
69.9k
        if (yych == 'e') goto yy170;
2283
39.3k
        goto yy48;
2284
69.9k
      } else {
2285
28.3k
        if (yych <= 'i') goto yy171;
2286
21.4k
        if (yych == 'o') goto yy172;
2287
12.2k
        goto yy48;
2288
21.4k
      }
2289
98.2k
    }
2290
597k
yy44:
2291
597k
    YYDEBUG(44, *YYCURSOR);
2292
597k
    yyaccept = 4;
2293
597k
    yych = *(YYMARKER = ++YYCURSOR);
2294
597k
    switch (yych) {
2295
2.02k
    case 'C':
2296
111k
    case 'c': goto yy174;
2297
1.65k
    case 'L':
2298
16.6k
    case 'l': goto yy175;
2299
3.59k
    case 'M':
2300
14.2k
    case 'm': goto yy176;
2301
103k
    case 'N':
2302
240k
    case 'n': goto yy177;
2303
271
    case 'V':
2304
7.98k
    case 'v': goto yy178;
2305
4.80k
    case 'X':
2306
79.6k
    case 'x': goto yy179;
2307
127k
    default:  goto yy48;
2308
597k
    }
2309
431k
yy45:
2310
431k
    YYDEBUG(45, *YYCURSOR);
2311
431k
    yyaccept = 4;
2312
431k
    yych = *(YYMARKER = ++YYCURSOR);
2313
431k
    if (yych <= 'U') {
2314
94.9k
      if (yych <= 'M') {
2315
65.2k
        if (yych == 'I') goto yy180;
2316
63.5k
        goto yy48;
2317
65.2k
      } else {
2318
29.7k
        if (yych <= 'N') goto yy181;
2319
29.1k
        if (yych <= 'O') goto yy183;
2320
18.3k
        if (yych <= 'T') goto yy48;
2321
803
        goto yy184;
2322
18.3k
      }
2323
336k
    } else {
2324
336k
      if (yych <= 'n') {
2325
70.5k
        if (yych == 'i') goto yy180;
2326
52.1k
        if (yych <= 'm') goto yy48;
2327
25.2k
        goto yy181;
2328
265k
      } else {
2329
265k
        if (yych <= 'o') goto yy183;
2330
151k
        if (yych == 'u') goto yy184;
2331
22.6k
        goto yy48;
2332
151k
      }
2333
336k
    }
2334
79.2k
yy46:
2335
79.2k
    YYDEBUG(46, *YYCURSOR);
2336
79.2k
    yyaccept = 4;
2337
79.2k
    yych = *(YYMARKER = ++YYCURSOR);
2338
79.2k
    if (yych <= 'O') {
2339
32.3k
      if (yych == 'L') goto yy185;
2340
29.4k
      if (yych <= 'N') goto yy48;
2341
2.05k
      goto yy186;
2342
46.8k
    } else {
2343
46.8k
      if (yych <= 'l') {
2344
36.9k
        if (yych <= 'k') goto yy48;
2345
7.60k
        goto yy185;
2346
36.9k
      } else {
2347
9.98k
        if (yych == 'o') goto yy186;
2348
5.74k
        goto yy48;
2349
9.98k
      }
2350
46.8k
    }
2351
17.0M
yy47:
2352
17.0M
    YYDEBUG(47, *YYCURSOR);
2353
17.0M
    yyaccept = 4;
2354
17.0M
    YYMARKER = ++YYCURSOR;
2355
17.0M
    YYFILL(1);
2356
17.0M
    yych = *YYCURSOR;
2357
19.8M
yy48:
2358
19.8M
    YYDEBUG(48, *YYCURSOR);
2359
19.8M
    if (yybm[256+yych] & 128) {
2360
15.6M
      goto yy47;
2361
15.6M
    }
2362
4.15M
    if (yych == '\\') goto yy164;
2363
4.11M
    goto yy40;
2364
4.11M
yy49:
2365
292k
    YYDEBUG(49, *YYCURSOR);
2366
292k
    yyaccept = 4;
2367
292k
    yych = *(YYMARKER = ++YYCURSOR);
2368
292k
    if (yych <= 'S') {
2369
78.0k
      if (yych <= 'L') {
2370
38.0k
        if (yych == 'F') goto yy187;
2371
36.8k
        goto yy48;
2372
39.9k
      } else {
2373
39.9k
        if (yych <= 'M') goto yy189;
2374
35.0k
        if (yych <= 'N') goto yy190;
2375
9.23k
        if (yych <= 'R') goto yy48;
2376
3.78k
        goto yy191;
2377
9.23k
      }
2378
214k
    } else {
2379
214k
      if (yych <= 'm') {
2380
86.5k
        if (yych == 'f') goto yy187;
2381
58.0k
        if (yych <= 'l') goto yy48;
2382
30.6k
        goto yy189;
2383
128k
      } else {
2384
128k
        if (yych <= 'n') goto yy190;
2385
43.9k
        if (yych == 's') goto yy191;
2386
17.9k
        goto yy48;
2387
43.9k
      }
2388
214k
    }
2389
57.5k
yy50:
2390
57.5k
    YYDEBUG(50, *YYCURSOR);
2391
57.5k
    yyaccept = 4;
2392
57.5k
    yych = *(YYMARKER = ++YYCURSOR);
2393
57.5k
    if (yych == 'I') goto yy192;
2394
55.8k
    if (yych == 'i') goto yy192;
2395
48.4k
    goto yy48;
2396
83.7k
yy51:
2397
83.7k
    YYDEBUG(51, *YYCURSOR);
2398
83.7k
    yyaccept = 4;
2399
83.7k
    yych = *(YYMARKER = ++YYCURSOR);
2400
83.7k
    if (yych == 'A') goto yy193;
2401
81.0k
    if (yych == 'a') goto yy193;
2402
72.4k
    goto yy48;
2403
230k
yy52:
2404
230k
    YYDEBUG(52, *YYCURSOR);
2405
230k
    yyaccept = 4;
2406
230k
    yych = *(YYMARKER = ++YYCURSOR);
2407
230k
    if (yych <= 'E') {
2408
38.8k
      if (yych == 'A') goto yy194;
2409
34.7k
      if (yych <= 'D') goto yy48;
2410
6.25k
      goto yy195;
2411
192k
    } else {
2412
192k
      if (yych <= 'a') {
2413
38.4k
        if (yych <= '`') goto yy48;
2414
27.1k
        goto yy194;
2415
153k
      } else {
2416
153k
        if (yych == 'e') goto yy195;
2417
50.6k
        goto yy48;
2418
153k
      }
2419
192k
    }
2420
145k
yy53:
2421
145k
    YYDEBUG(53, *YYCURSOR);
2422
145k
    yyaccept = 4;
2423
145k
    yych = *(YYMARKER = ++YYCURSOR);
2424
145k
    if (yych == 'R') goto yy196;
2425
142k
    if (yych == 'r') goto yy196;
2426
134k
    goto yy48;
2427
444k
yy54:
2428
444k
    YYDEBUG(54, *YYCURSOR);
2429
444k
    yyaccept = 4;
2430
444k
    yych = *(YYMARKER = ++YYCURSOR);
2431
444k
    if (yych <= 'U') {
2432
160k
      if (yych == 'R') goto yy198;
2433
153k
      if (yych <= 'T') goto yy48;
2434
2.73k
      goto yy199;
2435
284k
    } else {
2436
284k
      if (yych <= 'r') {
2437
181k
        if (yych <= 'q') goto yy48;
2438
57.1k
        goto yy198;
2439
181k
      } else {
2440
102k
        if (yych == 'u') goto yy199;
2441
23.4k
        goto yy48;
2442
102k
      }
2443
284k
    }
2444
151k
yy55:
2445
151k
    YYDEBUG(55, *YYCURSOR);
2446
151k
    yyaccept = 4;
2447
151k
    yych = *(YYMARKER = ++YYCURSOR);
2448
151k
    if (yych == 'E') goto yy200;
2449
146k
    if (yych == 'e') goto yy200;
2450
58.8k
    goto yy48;
2451
201k
yy56:
2452
201k
    YYDEBUG(56, *YYCURSOR);
2453
201k
    yyaccept = 4;
2454
201k
    yych = *(YYMARKER = ++YYCURSOR);
2455
201k
    if (yych <= 'W') {
2456
56.7k
      if (yych == 'T') goto yy201;
2457
53.9k
      if (yych <= 'V') goto yy48;
2458
830
      goto yy202;
2459
144k
    } else {
2460
144k
      if (yych <= 't') {
2461
129k
        if (yych <= 's') goto yy48;
2462
72.7k
        goto yy201;
2463
129k
      } else {
2464
15.3k
        if (yych == 'w') goto yy202;
2465
8.50k
        goto yy48;
2466
15.3k
      }
2467
144k
    }
2468
233k
yy57:
2469
233k
    YYDEBUG(57, *YYCURSOR);
2470
233k
    yyaccept = 4;
2471
233k
    yych = *(YYMARKER = ++YYCURSOR);
2472
233k
    if (yych <= 'R') {
2473
42.4k
      if (yych == 'H') goto yy203;
2474
40.9k
      if (yych <= 'Q') goto yy48;
2475
4.42k
      goto yy204;
2476
191k
    } else {
2477
191k
      if (yych <= 'h') {
2478
88.2k
        if (yych <= 'g') goto yy48;
2479
17.7k
        goto yy203;
2480
103k
      } else {
2481
103k
        if (yych == 'r') goto yy204;
2482
26.0k
        goto yy48;
2483
103k
      }
2484
191k
    }
2485
85.1k
yy58:
2486
85.1k
    YYDEBUG(58, *YYCURSOR);
2487
85.1k
    yyaccept = 4;
2488
85.1k
    yych = *(YYMARKER = ++YYCURSOR);
2489
85.1k
    if (yych <= 'S') {
2490
19.0k
      if (yych == 'N') goto yy205;
2491
17.5k
      if (yych <= 'R') goto yy48;
2492
1.26k
      goto yy206;
2493
66.0k
    } else {
2494
66.0k
      if (yych <= 'n') {
2495
44.0k
        if (yych <= 'm') goto yy48;
2496
25.1k
        goto yy205;
2497
44.0k
      } else {
2498
22.0k
        if (yych == 's') goto yy206;
2499
8.09k
        goto yy48;
2500
22.0k
      }
2501
66.0k
    }
2502
146k
yy59:
2503
146k
    YYDEBUG(59, *YYCURSOR);
2504
146k
    yyaccept = 4;
2505
146k
    yych = *(YYMARKER = ++YYCURSOR);
2506
146k
    if (yych == 'A') goto yy207;
2507
144k
    if (yych == 'a') goto yy207;
2508
22.7k
    goto yy48;
2509
33.7k
yy60:
2510
33.7k
    YYDEBUG(60, *YYCURSOR);
2511
33.7k
    yyaccept = 4;
2512
33.7k
    yych = *(YYMARKER = ++YYCURSOR);
2513
33.7k
    if (yych == 'H') goto yy208;
2514
33.2k
    if (yych == 'h') goto yy208;
2515
25.6k
    goto yy48;
2516
35.1k
yy61:
2517
35.1k
    YYDEBUG(61, *YYCURSOR);
2518
35.1k
    yyaccept = 4;
2519
35.1k
    yych = *(YYMARKER = ++YYCURSOR);
2520
35.1k
    if (yych == 'O') goto yy209;
2521
34.2k
    if (yych == 'o') goto yy209;
2522
28.7k
    goto yy48;
2523
143k
yy62:
2524
143k
    YYDEBUG(62, *YYCURSOR);
2525
143k
    yyaccept = 4;
2526
143k
    yych = *(YYMARKER = ++YYCURSOR);
2527
143k
    if (yych == 'I') goto yy210;
2528
143k
    if (yych == 'i') goto yy210;
2529
52.4k
    goto yy48;
2530
318k
yy63:
2531
318k
    YYDEBUG(63, *YYCURSOR);
2532
318k
    ++YYCURSOR;
2533
318k
    goto yy21;
2534
166k
yy64:
2535
166k
    YYDEBUG(64, *YYCURSOR);
2536
166k
    yych = *++YYCURSOR;
2537
166k
    if (yych <= '_') {
2538
123k
      if (yych <= '@') goto yy65;
2539
78.8k
      if (yych <= 'Z') goto yy211;
2540
58.7k
      if (yych >= '_') goto yy211;
2541
58.7k
    } else {
2542
42.9k
      if (yych <= '`') goto yy65;
2543
40.8k
      if (yych <= 'z') goto yy211;
2544
13.1k
      if (yych >= 0x80) goto yy211;
2545
13.1k
    }
2546
110k
yy65:
2547
110k
    YYDEBUG(65, *YYCURSOR);
2548
110k
    yyleng = YYCURSOR - SCNG(yy_text);
2549
110k
#line 2480 "Zend/zend_language_scanner.l"
2550
110k
    {
2551
110k
  RETURN_TOKEN(T_NS_SEPARATOR);
2552
110k
}
2553
0
#line 2554 "Zend/zend_language_scanner.c"
2554
95.1k
yy66:
2555
95.1k
    YYDEBUG(66, *YYCURSOR);
2556
95.1k
    yych = *++YYCURSOR;
2557
95.1k
    if (yych == '=') goto yy214;
2558
91.1k
    goto yy9;
2559
186k
yy67:
2560
186k
    YYDEBUG(67, *YYCURSOR);
2561
186k
    yyaccept = 4;
2562
186k
    yych = *(YYMARKER = ++YYCURSOR);
2563
186k
    if (yych == '_') goto yy216;
2564
54.3k
    goto yy48;
2565
54.3k
yy68:
2566
48.3k
    YYDEBUG(68, *YYCURSOR);
2567
48.3k
    ++YYCURSOR;
2568
48.3k
    YYDEBUG(69, *YYCURSOR);
2569
48.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2570
48.3k
#line 2855 "Zend/zend_language_scanner.l"
2571
48.3k
    {
2572
48.3k
  BEGIN(ST_BACKQUOTE);
2573
48.3k
  RETURN_TOKEN('`');
2574
48.3k
}
2575
0
#line 2576 "Zend/zend_language_scanner.c"
2576
1.04M
yy70:
2577
1.04M
    YYDEBUG(70, *YYCURSOR);
2578
1.04M
    ++YYCURSOR;
2579
1.04M
    YYDEBUG(71, *YYCURSOR);
2580
1.04M
    yyleng = YYCURSOR - SCNG(yy_text);
2581
1.04M
#line 2003 "Zend/zend_language_scanner.l"
2582
1.04M
    {
2583
1.04M
  yy_push_state(ST_IN_SCRIPTING);
2584
1.04M
  enter_nesting('{');
2585
1.04M
  RETURN_TOKEN('{');
2586
1.04M
}
2587
0
#line 2588 "Zend/zend_language_scanner.c"
2588
100k
yy72:
2589
100k
    YYDEBUG(72, *YYCURSOR);
2590
100k
    yych = *++YYCURSOR;
2591
100k
    if (yych <= '>') {
2592
39.4k
      if (yych <= '<') goto yy9;
2593
7.09k
      if (yych <= '=') goto yy217;
2594
5.43k
      goto yy219;
2595
61.4k
    } else {
2596
61.4k
      if (yych == '|') goto yy221;
2597
47.7k
      goto yy9;
2598
61.4k
    }
2599
407k
yy73:
2600
407k
    YYDEBUG(73, *YYCURSOR);
2601
407k
    ++YYCURSOR;
2602
407k
    YYDEBUG(74, *YYCURSOR);
2603
407k
    yyleng = YYCURSOR - SCNG(yy_text);
2604
407k
#line 2016 "Zend/zend_language_scanner.l"
2605
407k
    {
2606
407k
  RESET_DOC_COMMENT();
2607
407k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2608
377k
    yy_pop_state();
2609
377k
  }
2610
407k
  RETURN_EXIT_NESTING_TOKEN('}');
2611
407k
}
2612
0
#line 2613 "Zend/zend_language_scanner.c"
2613
15.2k
yy75:
2614
15.2k
    YYDEBUG(75, *YYCURSOR);
2615
15.2k
    yych = *++YYCURSOR;
2616
15.2k
    if (yych == '=') goto yy223;
2617
17.2k
yy76:
2618
17.2k
    YYDEBUG(76, *YYCURSOR);
2619
17.2k
    yyleng = YYCURSOR - SCNG(yy_text);
2620
17.2k
#line 1875 "Zend/zend_language_scanner.l"
2621
17.2k
    {
2622
17.2k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2623
17.2k
}
2624
0
#line 2625 "Zend/zend_language_scanner.c"
2625
20.2k
yy77:
2626
20.2k
    YYDEBUG(77, *YYCURSOR);
2627
20.2k
    ++YYCURSOR;
2628
20.2k
    YYDEBUG(78, *YYCURSOR);
2629
20.2k
    yyleng = YYCURSOR - SCNG(yy_text);
2630
20.2k
#line 1452 "Zend/zend_language_scanner.l"
2631
20.2k
    {
2632
20.2k
  enter_nesting('[');
2633
20.2k
  RETURN_TOKEN(T_ATTRIBUTE);
2634
20.2k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
4.90M
yy79:
2637
4.90M
    YYDEBUG(79, *YYCURSOR);
2638
4.90M
    ++YYCURSOR;
2639
4.90M
    YYFILL(1);
2640
4.90M
    yych = *YYCURSOR;
2641
4.90M
    YYDEBUG(80, *YYCURSOR);
2642
4.90M
    if (yych <= '^') {
2643
1.47M
      if (yych <= '9') {
2644
1.02M
        if (yych >= '0') goto yy79;
2645
1.02M
      } else {
2646
443k
        if (yych <= '@') goto yy81;
2647
269k
        if (yych <= 'Z') goto yy79;
2648
269k
      }
2649
3.43M
    } else {
2650
3.43M
      if (yych <= '`') {
2651
15.6k
        if (yych <= '_') goto yy79;
2652
3.41M
      } else {
2653
3.41M
        if (yych <= 'z') goto yy79;
2654
882k
        if (yych >= 0x80) goto yy79;
2655
882k
      }
2656
3.43M
    }
2657
1.21M
yy81:
2658
1.21M
    YYDEBUG(81, *YYCURSOR);
2659
1.21M
    yyleng = YYCURSOR - SCNG(yy_text);
2660
1.21M
#line 2446 "Zend/zend_language_scanner.l"
2661
1.21M
    {
2662
1.21M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2663
1.21M
}
2664
0
#line 2665 "Zend/zend_language_scanner.c"
2665
1.27k
yy82:
2666
1.27k
    YYDEBUG(82, *YYCURSOR);
2667
1.27k
    ++YYCURSOR;
2668
1.27k
    YYDEBUG(83, *YYCURSOR);
2669
1.27k
    yyleng = YYCURSOR - SCNG(yy_text);
2670
1.27k
#line 1919 "Zend/zend_language_scanner.l"
2671
1.27k
    {
2672
1.27k
  RETURN_TOKEN(T_MOD_EQUAL);
2673
1.27k
}
2674
0
#line 2675 "Zend/zend_language_scanner.c"
2675
345k
yy84:
2676
345k
    YYDEBUG(84, *YYCURSOR);
2677
345k
    ++YYCURSOR;
2678
345k
    YYFILL(3);
2679
345k
    yych = *YYCURSOR;
2680
438k
yy85:
2681
438k
    YYDEBUG(85, *YYCURSOR);
2682
438k
    if (yych <= ' ') {
2683
112k
      if (yych <= '\f') {
2684
65.7k
        if (yych <= 0x08) goto yy86;
2685
63.9k
        if (yych <= '\n') goto yy84;
2686
63.9k
      } else {
2687
46.6k
        if (yych <= '\r') goto yy84;
2688
19.9k
        if (yych >= ' ') goto yy84;
2689
19.9k
      }
2690
326k
    } else {
2691
326k
      if (yych <= '$') {
2692
277k
        if (yych <= '"') goto yy86;
2693
276k
        if (yych <= '#') goto yy87;
2694
28.1k
        goto yy88;
2695
276k
      } else {
2696
48.7k
        if (yych <= '-') goto yy86;
2697
43.9k
        if (yych <= '.') goto yy92;
2698
38.1k
        if (yych <= '/') goto yy93;
2699
38.1k
      }
2700
326k
    }
2701
847k
yy86:
2702
847k
    YYDEBUG(86, *YYCURSOR);
2703
847k
    YYCURSOR = YYMARKER;
2704
847k
    if (yyaccept <= 48) {
2705
678k
      if (yyaccept <= 24) {
2706
666k
        if (yyaccept <= 12) {
2707
657k
          if (yyaccept <= 6) {
2708
406k
            if (yyaccept <= 3) {
2709
360k
              if (yyaccept <= 1) {
2710
319k
                if (yyaccept == 0) {
2711
54.1k
                  goto yy17;
2712
265k
                } else {
2713
265k
                  goto yy21;
2714
265k
                }
2715
319k
              } else {
2716
40.6k
                if (yyaccept == 2) {
2717
23.4k
                  goto yy9;
2718
23.4k
                } else {
2719
17.2k
                  goto yy31;
2720
17.2k
                }
2721
40.6k
              }
2722
360k
            } else {
2723
46.5k
              if (yyaccept <= 5) {
2724
44.0k
                if (yyaccept == 4) {
2725
39.3k
                  goto yy40;
2726
39.3k
                } else {
2727
4.72k
                  goto yy125;
2728
4.72k
                }
2729
44.0k
              } else {
2730
2.52k
                goto yy129;
2731
2.52k
              }
2732
46.5k
            }
2733
406k
          } else {
2734
250k
            if (yyaccept <= 9) {
2735
249k
              if (yyaccept <= 8) {
2736
249k
                if (yyaccept == 7) {
2737
249k
                  goto yy142;
2738
249k
                } else {
2739
193
                  goto yy163;
2740
193
                }
2741
249k
              } else {
2742
172
                goto yy173;
2743
172
              }
2744
249k
            } else {
2745
1.19k
              if (yyaccept <= 11) {
2746
993
                if (yyaccept == 10) {
2747
674
                  goto yy182;
2748
674
                } else {
2749
319
                  goto yy188;
2750
319
                }
2751
993
              } else {
2752
205
                goto yy197;
2753
205
              }
2754
1.19k
            }
2755
250k
          }
2756
657k
        } else {
2757
8.50k
          if (yyaccept <= 18) {
2758
6.42k
            if (yyaccept <= 15) {
2759
4.41k
              if (yyaccept <= 14) {
2760
4.05k
                if (yyaccept == 13) {
2761
3.27k
                  goto yy213;
2762
3.27k
                } else {
2763
780
                  goto yy251;
2764
780
                }
2765
4.05k
              } else {
2766
361
                goto yy257;
2767
361
              }
2768
4.41k
            } else {
2769
2.01k
              if (yyaccept <= 17) {
2770
359
                if (yyaccept == 16) {
2771
305
                  goto yy260;
2772
305
                } else {
2773
54
                  goto yy279;
2774
54
                }
2775
1.65k
              } else {
2776
1.65k
                goto yy283;
2777
1.65k
              }
2778
2.01k
            }
2779
6.42k
          } else {
2780
2.07k
            if (yyaccept <= 21) {
2781
1.04k
              if (yyaccept <= 20) {
2782
678
                if (yyaccept == 19) {
2783
513
                  goto yy295;
2784
513
                } else {
2785
165
                  goto yy306;
2786
165
                }
2787
678
              } else {
2788
371
                goto yy319;
2789
371
              }
2790
1.04k
            } else {
2791
1.02k
              if (yyaccept <= 23) {
2792
815
                if (yyaccept == 22) {
2793
480
                  goto yy331;
2794
480
                } else {
2795
335
                  goto yy334;
2796
335
                }
2797
815
              } else {
2798
211
                goto yy336;
2799
211
              }
2800
1.02k
            }
2801
2.07k
          }
2802
8.50k
        }
2803
666k
      } else {
2804
12.7k
        if (yyaccept <= 36) {
2805
10.0k
          if (yyaccept <= 30) {
2806
8.99k
            if (yyaccept <= 27) {
2807
8.10k
              if (yyaccept <= 26) {
2808
7.88k
                if (yyaccept == 25) {
2809
66
                  goto yy339;
2810
7.82k
                } else {
2811
7.82k
                  goto yy89;
2812
7.82k
                }
2813
7.88k
              } else {
2814
214
                goto yy379;
2815
214
              }
2816
8.10k
            } else {
2817
899
              if (yyaccept <= 29) {
2818
627
                if (yyaccept == 28) {
2819
408
                  goto yy388;
2820
408
                } else {
2821
219
                  goto yy390;
2822
219
                }
2823
627
              } else {
2824
272
                goto yy399;
2825
272
              }
2826
899
            }
2827
8.99k
          } else {
2828
1.00k
            if (yyaccept <= 33) {
2829
696
              if (yyaccept <= 32) {
2830
524
                if (yyaccept == 31) {
2831
204
                  goto yy401;
2832
320
                } else {
2833
320
                  goto yy408;
2834
320
                }
2835
524
              } else {
2836
172
                goto yy415;
2837
172
              }
2838
696
            } else {
2839
305
              if (yyaccept <= 35) {
2840
279
                if (yyaccept == 34) {
2841
65
                  goto yy471;
2842
214
                } else {
2843
214
                  goto yy473;
2844
214
                }
2845
279
              } else {
2846
26
                goto yy476;
2847
26
              }
2848
305
            }
2849
1.00k
          }
2850
10.0k
        } else {
2851
2.73k
          if (yyaccept <= 42) {
2852
1.06k
            if (yyaccept <= 39) {
2853
369
              if (yyaccept <= 38) {
2854
251
                if (yyaccept == 37) {
2855
190
                  goto yy478;
2856
190
                } else {
2857
61
                  goto yy480;
2858
61
                }
2859
251
              } else {
2860
118
                goto yy482;
2861
118
              }
2862
693
            } else {
2863
693
              if (yyaccept <= 41) {
2864
489
                if (yyaccept == 40) {
2865
278
                  goto yy488;
2866
278
                } else {
2867
211
                  goto yy492;
2868
211
                }
2869
489
              } else {
2870
204
                goto yy501;
2871
204
              }
2872
693
            }
2873
1.66k
          } else {
2874
1.66k
            if (yyaccept <= 45) {
2875
311
              if (yyaccept <= 44) {
2876
241
                if (yyaccept == 43) {
2877
25
                  goto yy511;
2878
216
                } else {
2879
216
                  goto yy513;
2880
216
                }
2881
241
              } else {
2882
70
                goto yy516;
2883
70
              }
2884
1.35k
            } else {
2885
1.35k
              if (yyaccept <= 47) {
2886
1.05k
                if (yyaccept == 46) {
2887
161
                  goto yy526;
2888
896
                } else {
2889
896
                  goto yy528;
2890
896
                }
2891
1.05k
              } else {
2892
301
                goto yy530;
2893
301
              }
2894
1.35k
            }
2895
1.66k
          }
2896
2.73k
        }
2897
12.7k
      }
2898
678k
    } else {
2899
168k
      if (yyaccept <= 72) {
2900
150k
        if (yyaccept <= 60) {
2901
145k
          if (yyaccept <= 54) {
2902
142k
            if (yyaccept <= 51) {
2903
51.6k
              if (yyaccept <= 50) {
2904
51.4k
                if (yyaccept == 49) {
2905
164
                  goto yy532;
2906
51.2k
                } else {
2907
51.2k
                  goto yy534;
2908
51.2k
                }
2909
51.4k
              } else {
2910
228
                goto yy576;
2911
228
              }
2912
91.0k
            } else {
2913
91.0k
              if (yyaccept <= 53) {
2914
90.9k
                if (yyaccept == 52) {
2915
425
                  goto yy579;
2916
90.4k
                } else {
2917
90.4k
                  goto yy583;
2918
90.4k
                }
2919
90.9k
              } else {
2920
147
                goto yy597;
2921
147
              }
2922
91.0k
            }
2923
142k
          } else {
2924
3.03k
            if (yyaccept <= 57) {
2925
2.32k
              if (yyaccept <= 56) {
2926
2.08k
                if (yyaccept == 55) {
2927
1.90k
                  goto yy607;
2928
1.90k
                } else {
2929
178
                  goto yy611;
2930
178
                }
2931
2.08k
              } else {
2932
246
                goto yy613;
2933
246
              }
2934
2.32k
            } else {
2935
708
              if (yyaccept <= 59) {
2936
478
                if (yyaccept == 58) {
2937
210
                  goto yy615;
2938
268
                } else {
2939
268
                  goto yy654;
2940
268
                }
2941
478
              } else {
2942
230
                goto yy656;
2943
230
              }
2944
708
            }
2945
3.03k
          }
2946
145k
        } else {
2947
4.53k
          if (yyaccept <= 66) {
2948
2.84k
            if (yyaccept <= 63) {
2949
569
              if (yyaccept <= 62) {
2950
418
                if (yyaccept == 61) {
2951
318
                  goto yy671;
2952
318
                } else {
2953
100
                  goto yy673;
2954
100
                }
2955
418
              } else {
2956
151
                goto yy675;
2957
151
              }
2958
2.28k
            } else {
2959
2.28k
              if (yyaccept <= 65) {
2960
2.25k
                if (yyaccept == 64) {
2961
474
                  goto yy679;
2962
1.78k
                } else {
2963
1.78k
                  goto yy685;
2964
1.78k
                }
2965
2.25k
              } else {
2966
25
                goto yy690;
2967
25
              }
2968
2.28k
            }
2969
2.84k
          } else {
2970
1.68k
            if (yyaccept <= 69) {
2971
733
              if (yyaccept <= 68) {
2972
514
                if (yyaccept == 67) {
2973
476
                  goto yy700;
2974
476
                } else {
2975
38
                  goto yy726;
2976
38
                }
2977
514
              } else {
2978
219
                goto yy728;
2979
219
              }
2980
950
            } else {
2981
950
              if (yyaccept <= 71) {
2982
399
                if (yyaccept == 70) {
2983
195
                  goto yy730;
2984
204
                } else {
2985
204
                  goto yy735;
2986
204
                }
2987
551
              } else {
2988
551
                goto yy743;
2989
551
              }
2990
950
            }
2991
1.68k
          }
2992
4.53k
        }
2993
150k
      } else {
2994
18.3k
        if (yyaccept <= 84) {
2995
4.59k
          if (yyaccept <= 78) {
2996
1.63k
            if (yyaccept <= 75) {
2997
918
              if (yyaccept <= 74) {
2998
684
                if (yyaccept == 73) {
2999
625
                  goto yy754;
3000
625
                } else {
3001
59
                  goto yy764;
3002
59
                }
3003
684
              } else {
3004
234
                goto yy768;
3005
234
              }
3006
918
            } else {
3007
713
              if (yyaccept <= 77) {
3008
479
                if (yyaccept == 76) {
3009
62
                  goto yy784;
3010
417
                } else {
3011
417
                  goto yy797;
3012
417
                }
3013
479
              } else {
3014
234
                goto yy799;
3015
234
              }
3016
713
            }
3017
2.96k
          } else {
3018
2.96k
            if (yyaccept <= 81) {
3019
2.44k
              if (yyaccept <= 80) {
3020
1.93k
                if (yyaccept == 79) {
3021
828
                  goto yy801;
3022
1.10k
                } else {
3023
1.10k
                  goto yy804;
3024
1.10k
                }
3025
1.93k
              } else {
3026
506
                goto yy812;
3027
506
              }
3028
2.44k
            } else {
3029
523
              if (yyaccept <= 83) {
3030
338
                if (yyaccept == 82) {
3031
168
                  goto yy819;
3032
170
                } else {
3033
170
                  goto yy823;
3034
170
                }
3035
338
              } else {
3036
185
                goto yy825;
3037
185
              }
3038
523
            }
3039
2.96k
          }
3040
13.7k
        } else {
3041
13.7k
          if (yyaccept <= 90) {
3042
1.02k
            if (yyaccept <= 87) {
3043
354
              if (yyaccept <= 86) {
3044
267
                if (yyaccept == 85) {
3045
251
                  goto yy836;
3046
251
                } else {
3047
16
                  goto yy839;
3048
16
                }
3049
267
              } else {
3050
87
                goto yy854;
3051
87
              }
3052
668
            } else {
3053
668
              if (yyaccept <= 89) {
3054
596
                if (yyaccept == 88) {
3055
579
                  goto yy869;
3056
579
                } else {
3057
17
                  goto yy898;
3058
17
                }
3059
596
              } else {
3060
72
                goto yy903;
3061
72
              }
3062
668
            }
3063
12.7k
          } else {
3064
12.7k
            if (yyaccept <= 93) {
3065
11.3k
              if (yyaccept <= 92) {
3066
11.1k
                if (yyaccept == 91) {
3067
10.7k
                  goto yy876;
3068
10.7k
                } else {
3069
444
                  goto yy911;
3070
444
                }
3071
11.1k
              } else {
3072
158
                goto yy915;
3073
158
              }
3074
11.3k
            } else {
3075
1.36k
              if (yyaccept <= 95) {
3076
1.15k
                if (yyaccept == 94) {
3077
937
                  goto yy886;
3078
937
                } else {
3079
215
                  goto yy931;
3080
215
                }
3081
1.15k
              } else {
3082
216
                goto yy951;
3083
216
              }
3084
1.36k
            }
3085
12.7k
          }
3086
13.7k
        }
3087
18.3k
      }
3088
168k
    }
3089
248k
yy87:
3090
248k
    YYDEBUG(87, *YYCURSOR);
3091
248k
    ++YYCURSOR;
3092
248k
    YYFILL(1);
3093
248k
    yych = *YYCURSOR;
3094
248k
    if (yych <= '\f') {
3095
121k
      if (yych <= 0x00) goto yy86;
3096
121k
      if (yych == '\n') goto yy227;
3097
810
      goto yy225;
3098
126k
    } else {
3099
126k
      if (yych <= '\r') goto yy227;
3100
32.3k
      if (yych == '[') goto yy86;
3101
31.8k
      goto yy225;
3102
32.3k
    }
3103
30.4k
yy88:
3104
30.4k
    YYDEBUG(88, *YYCURSOR);
3105
30.4k
    ++YYCURSOR;
3106
39.1k
yy89:
3107
39.1k
    YYDEBUG(89, *YYCURSOR);
3108
39.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3109
39.1k
#line 1979 "Zend/zend_language_scanner.l"
3110
39.1k
    {
3111
39.1k
  yyless(1);
3112
39.1k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3113
39.1k
}
3114
0
#line 3115 "Zend/zend_language_scanner.c"
3115
11.4k
yy90:
3116
11.4k
    YYDEBUG(90, *YYCURSOR);
3117
11.4k
    ++YYCURSOR;
3118
11.4k
    YYDEBUG(91, *YYCURSOR);
3119
11.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3120
11.4k
#line 1955 "Zend/zend_language_scanner.l"
3121
11.4k
    {
3122
11.4k
  RETURN_TOKEN(T_BOOLEAN_AND);
3123
11.4k
}
3124
0
#line 3125 "Zend/zend_language_scanner.c"
3125
5.75k
yy92:
3126
5.75k
    YYDEBUG(92, *YYCURSOR);
3127
5.75k
    yych = *++YYCURSOR;
3128
5.75k
    if (yych == '.') goto yy229;
3129
2.57k
    goto yy86;
3130
18.1k
yy93:
3131
18.1k
    YYDEBUG(93, *YYCURSOR);
3132
18.1k
    ++YYCURSOR;
3133
18.1k
    YYFILL(1);
3134
18.1k
    yych = *YYCURSOR;
3135
18.1k
    if (yych == '*') goto yy230;
3136
2.33k
    if (yych == '/') goto yy225;
3137
1.03k
    goto yy86;
3138
16.4k
yy94:
3139
16.4k
    YYDEBUG(94, *YYCURSOR);
3140
16.4k
    ++YYCURSOR;
3141
16.4k
    YYDEBUG(95, *YYCURSOR);
3142
16.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3143
16.4k
#line 1931 "Zend/zend_language_scanner.l"
3144
16.4k
    {
3145
16.4k
  RETURN_TOKEN(T_AND_EQUAL);
3146
16.4k
}
3147
0
#line 3148 "Zend/zend_language_scanner.c"
3148
230k
yy96:
3149
230k
    YYDEBUG(96, *YYCURSOR);
3150
230k
    ++YYCURSOR;
3151
230k
    YYFILL(7);
3152
230k
    yych = *YYCURSOR;
3153
520k
yy97:
3154
520k
    YYDEBUG(97, *YYCURSOR);
3155
520k
    if (yybm[0+yych] & 1) {
3156
230k
      goto yy96;
3157
230k
    }
3158
289k
    switch (yych) {
3159
6.01k
    case 'A':
3160
47.8k
    case 'a': goto yy98;
3161
4.91k
    case 'B':
3162
26.8k
    case 'b': goto yy99;
3163
1.32k
    case 'D':
3164
9.73k
    case 'd': goto yy100;
3165
3.85k
    case 'F':
3166
25.9k
    case 'f': goto yy101;
3167
1.08k
    case 'I':
3168
34.2k
    case 'i': goto yy102;
3169
2.65k
    case 'O':
3170
10.8k
    case 'o': goto yy103;
3171
3.50k
    case 'R':
3172
11.1k
    case 'r': goto yy104;
3173
2.60k
    case 'S':
3174
38.4k
    case 's': goto yy105;
3175
1.24k
    case 'U':
3176
7.98k
    case 'u': goto yy106;
3177
1.27k
    case 'V':
3178
6.87k
    case 'v': goto yy107;
3179
69.1k
    default:  goto yy86;
3180
289k
    }
3181
47.8k
yy98:
3182
47.8k
    YYDEBUG(98, *YYCURSOR);
3183
47.8k
    yych = *++YYCURSOR;
3184
47.8k
    if (yych == 'R') goto yy232;
3185
47.3k
    if (yych == 'r') goto yy232;
3186
31.3k
    goto yy86;
3187
31.3k
yy99:
3188
26.8k
    YYDEBUG(99, *YYCURSOR);
3189
26.8k
    yych = *++YYCURSOR;
3190
26.8k
    if (yych <= 'O') {
3191
6.64k
      if (yych == 'I') goto yy233;
3192
6.04k
      if (yych <= 'N') goto yy86;
3193
606
      goto yy234;
3194
20.1k
    } else {
3195
20.1k
      if (yych <= 'i') {
3196
12.8k
        if (yych <= 'h') goto yy86;
3197
10.2k
        goto yy233;
3198
12.8k
      } else {
3199
7.31k
        if (yych == 'o') goto yy234;
3200
1.40k
        goto yy86;
3201
7.31k
      }
3202
20.1k
    }
3203
9.73k
yy100:
3204
9.73k
    YYDEBUG(100, *YYCURSOR);
3205
9.73k
    yych = *++YYCURSOR;
3206
9.73k
    if (yych == 'O') goto yy235;
3207
9.47k
    if (yych == 'o') goto yy235;
3208
5.79k
    goto yy86;
3209
25.9k
yy101:
3210
25.9k
    YYDEBUG(101, *YYCURSOR);
3211
25.9k
    yych = *++YYCURSOR;
3212
25.9k
    if (yych == 'L') goto yy236;
3213
25.2k
    if (yych == 'l') goto yy236;
3214
19.9k
    goto yy86;
3215
34.2k
yy102:
3216
34.2k
    YYDEBUG(102, *YYCURSOR);
3217
34.2k
    yych = *++YYCURSOR;
3218
34.2k
    if (yych == 'N') goto yy237;
3219
32.3k
    if (yych == 'n') goto yy237;
3220
19.9k
    goto yy86;
3221
19.9k
yy103:
3222
10.8k
    YYDEBUG(103, *YYCURSOR);
3223
10.8k
    yych = *++YYCURSOR;
3224
10.8k
    if (yych == 'B') goto yy238;
3225
10.4k
    if (yych == 'b') goto yy238;
3226
3.93k
    goto yy86;
3227
11.1k
yy104:
3228
11.1k
    YYDEBUG(104, *YYCURSOR);
3229
11.1k
    yych = *++YYCURSOR;
3230
11.1k
    if (yych == 'E') goto yy239;
3231
11.0k
    if (yych == 'e') goto yy239;
3232
6.42k
    goto yy86;
3233
38.4k
yy105:
3234
38.4k
    YYDEBUG(105, *YYCURSOR);
3235
38.4k
    yych = *++YYCURSOR;
3236
38.4k
    if (yych == 'T') goto yy240;
3237
37.6k
    if (yych == 't') goto yy240;
3238
19.6k
    goto yy86;
3239
19.6k
yy106:
3240
7.98k
    YYDEBUG(106, *YYCURSOR);
3241
7.98k
    yych = *++YYCURSOR;
3242
7.98k
    if (yych == 'N') goto yy241;
3243
7.49k
    if (yych == 'n') goto yy241;
3244
3.02k
    goto yy86;
3245
6.87k
yy107:
3246
6.87k
    YYDEBUG(107, *YYCURSOR);
3247
6.87k
    yych = *++YYCURSOR;
3248
6.87k
    if (yych == 'O') goto yy242;
3249
6.47k
    if (yych == 'o') goto yy242;
3250
4.21k
    goto yy86;
3251
28.9k
yy108:
3252
28.9k
    YYDEBUG(108, *YYCURSOR);
3253
28.9k
    yych = *++YYCURSOR;
3254
28.9k
    if (yych == '=') goto yy243;
3255
27.7k
    YYDEBUG(109, *YYCURSOR);
3256
27.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3257
27.7k
#line 1903 "Zend/zend_language_scanner.l"
3258
27.7k
    {
3259
27.7k
  RETURN_TOKEN(T_POW);
3260
27.7k
}
3261
0
#line 3262 "Zend/zend_language_scanner.c"
3262
5.69k
yy110:
3263
5.69k
    YYDEBUG(110, *YYCURSOR);
3264
5.69k
    ++YYCURSOR;
3265
5.69k
    YYDEBUG(111, *YYCURSOR);
3266
5.69k
    yyleng = YYCURSOR - SCNG(yy_text);
3267
5.69k
#line 1899 "Zend/zend_language_scanner.l"
3268
5.69k
    {
3269
5.69k
  RETURN_TOKEN(T_MUL_EQUAL);
3270
5.69k
}
3271
0
#line 3272 "Zend/zend_language_scanner.c"
3272
64.9k
yy112:
3273
64.9k
    YYDEBUG(112, *YYCURSOR);
3274
64.9k
    ++YYCURSOR;
3275
64.9k
    YYDEBUG(113, *YYCURSOR);
3276
64.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3277
64.9k
#line 1855 "Zend/zend_language_scanner.l"
3278
64.9k
    {
3279
64.9k
  RETURN_TOKEN(T_INC);
3280
64.9k
}
3281
0
#line 3282 "Zend/zend_language_scanner.c"
3282
6.53k
yy114:
3283
6.53k
    YYDEBUG(114, *YYCURSOR);
3284
6.53k
    ++YYCURSOR;
3285
6.53k
    YYDEBUG(115, *YYCURSOR);
3286
6.53k
    yyleng = YYCURSOR - SCNG(yy_text);
3287
6.53k
#line 1891 "Zend/zend_language_scanner.l"
3288
6.53k
    {
3289
6.53k
  RETURN_TOKEN(T_PLUS_EQUAL);
3290
6.53k
}
3291
0
#line 3292 "Zend/zend_language_scanner.c"
3292
13.3k
yy116:
3293
13.3k
    YYDEBUG(116, *YYCURSOR);
3294
13.3k
    ++YYCURSOR;
3295
13.3k
    YYDEBUG(117, *YYCURSOR);
3296
13.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3297
13.3k
#line 1859 "Zend/zend_language_scanner.l"
3298
13.3k
    {
3299
13.3k
  RETURN_TOKEN(T_DEC);
3300
13.3k
}
3301
0
#line 3302 "Zend/zend_language_scanner.c"
3302
2.74k
yy118:
3303
2.74k
    YYDEBUG(118, *YYCURSOR);
3304
2.74k
    ++YYCURSOR;
3305
2.74k
    YYDEBUG(119, *YYCURSOR);
3306
2.74k
    yyleng = YYCURSOR - SCNG(yy_text);
3307
2.74k
#line 1895 "Zend/zend_language_scanner.l"
3308
2.74k
    {
3309
2.74k
  RETURN_TOKEN(T_MINUS_EQUAL);
3310
2.74k
}
3311
0
#line 3312 "Zend/zend_language_scanner.c"
3312
148k
yy120:
3313
148k
    YYDEBUG(120, *YYCURSOR);
3314
148k
    ++YYCURSOR;
3315
148k
    YYDEBUG(121, *YYCURSOR);
3316
148k
    yyleng = YYCURSOR - SCNG(yy_text);
3317
148k
#line 1616 "Zend/zend_language_scanner.l"
3318
148k
    {
3319
148k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3320
148k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3321
148k
}
3322
0
#line 3323 "Zend/zend_language_scanner.c"
3323
61.8k
yy122:
3324
61.8k
    YYDEBUG(122, *YYCURSOR);
3325
61.8k
    yych = *++YYCURSOR;
3326
61.8k
    if (yych == '.') goto yy245;
3327
19.5k
    goto yy86;
3328
391k
yy123:
3329
391k
    YYDEBUG(123, *YYCURSOR);
3330
391k
    yyaccept = 5;
3331
391k
    YYMARKER = ++YYCURSOR;
3332
391k
    YYFILL(2);
3333
391k
    yych = *YYCURSOR;
3334
442k
yy124:
3335
442k
    YYDEBUG(124, *YYCURSOR);
3336
442k
    if (yych <= 'E') {
3337
419k
      if (yych <= '/') goto yy125;
3338
376k
      if (yych <= '9') goto yy123;
3339
25.3k
      if (yych >= 'E') goto yy135;
3340
25.3k
    } else {
3341
22.9k
      if (yych <= '_') {
3342
4.03k
        if (yych >= '_') goto yy247;
3343
18.9k
      } else {
3344
18.9k
        if (yych == 'e') goto yy135;
3345
18.9k
      }
3346
22.9k
    }
3347
113k
yy125:
3348
113k
    YYDEBUG(125, *YYCURSOR);
3349
113k
    yyleng = YYCURSOR - SCNG(yy_text);
3350
113k
#line 2262 "Zend/zend_language_scanner.l"
3351
113k
    {
3352
113k
  const char *end;
3353
113k
  size_t len = yyleng;
3354
113k
  char *dnum = yytext;
3355
113k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3356
3357
113k
  if (contains_underscores) {
3358
1.50k
    dnum = estrndup(dnum, len);
3359
1.50k
    strip_underscores(dnum, &len);
3360
1.50k
  }
3361
3362
113k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3363
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3364
113k
  ZEND_ASSERT(end == dnum + len);
3365
113k
  if (contains_underscores) {
3366
1.50k
    efree(dnum);
3367
1.50k
  }
3368
113k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3369
113k
}
3370
0
#line 3371 "Zend/zend_language_scanner.c"
3371
100k
yy126:
3372
100k
    YYDEBUG(126, *YYCURSOR);
3373
100k
    ++YYCURSOR;
3374
100k
    YYDEBUG(127, *YYCURSOR);
3375
100k
    yyleng = YYCURSOR - SCNG(yy_text);
3376
100k
#line 1915 "Zend/zend_language_scanner.l"
3377
100k
    {
3378
100k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3379
100k
}
3380
0
#line 3381 "Zend/zend_language_scanner.c"
3381
136k
yy128:
3382
136k
    YYDEBUG(128, *YYCURSOR);
3383
136k
    yyaccept = 6;
3384
136k
    yych = *(YYMARKER = ++YYCURSOR);
3385
136k
    if (yych == '*') goto yy248;
3386
136k
yy129:
3387
136k
    YYDEBUG(129, *YYCURSOR);
3388
136k
    yyleng = YYCURSOR - SCNG(yy_text);
3389
136k
#line 2513 "Zend/zend_language_scanner.l"
3390
136k
    {
3391
136k
  int doc_com;
3392
3393
136k
  if (yyleng > 2) {
3394
7.61k
    doc_com = 1;
3395
7.61k
    RESET_DOC_COMMENT();
3396
129k
  } else {
3397
129k
    doc_com = 0;
3398
129k
  }
3399
3400
5.91M
  while (YYCURSOR < YYLIMIT) {
3401
5.88M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3402
115k
      break;
3403
115k
    }
3404
5.88M
  }
3405
3406
136k
  if (YYCURSOR < YYLIMIT) {
3407
115k
    YYCURSOR++;
3408
115k
  } else {
3409
21.9k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3410
21.9k
    if (PARSER_MODE()) {
3411
892
      RETURN_TOKEN(T_ERROR);
3412
892
    }
3413
21.9k
  }
3414
3415
136k
  yyleng = YYCURSOR - SCNG(yy_text);
3416
136k
  HANDLE_NEWLINES(yytext, yyleng);
3417
3418
136k
  if (doc_com) {
3419
7.54k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3420
7.54k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3421
7.54k
  }
3422
3423
128k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3424
128k
}
3425
0
#line 3426 "Zend/zend_language_scanner.c"
3426
101k
yy130:
3427
101k
    YYDEBUG(130, *YYCURSOR);
3428
101k
    ++YYCURSOR;
3429
101k
    goto yy13;
3430
2.00k
yy131:
3431
2.00k
    YYDEBUG(131, *YYCURSOR);
3432
2.00k
    ++YYCURSOR;
3433
2.00k
    YYDEBUG(132, *YYCURSOR);
3434
2.00k
    yyleng = YYCURSOR - SCNG(yy_text);
3435
2.00k
#line 1911 "Zend/zend_language_scanner.l"
3436
2.00k
    {
3437
2.00k
  RETURN_TOKEN(T_DIV_EQUAL);
3438
2.00k
}
3439
0
#line 3440 "Zend/zend_language_scanner.c"
3440
52.3k
yy133:
3441
52.3k
    YYDEBUG(133, *YYCURSOR);
3442
52.3k
    yyaccept = 5;
3443
52.3k
    yych = *(YYMARKER = ++YYCURSOR);
3444
52.3k
    if (yych == '_') goto yy125;
3445
50.9k
    goto yy124;
3446
50.9k
yy134:
3447
5.69k
    YYDEBUG(134, *YYCURSOR);
3448
5.69k
    ++YYCURSOR;
3449
5.69k
    YYFILL(1);
3450
5.69k
    yych = *YYCURSOR;
3451
5.69k
    if (yybm[0+yych] & 8) {
3452
4.24k
      goto yy249;
3453
4.24k
    }
3454
1.45k
    goto yy86;
3455
39.4k
yy135:
3456
39.4k
    YYDEBUG(135, *YYCURSOR);
3457
39.4k
    yych = *++YYCURSOR;
3458
39.4k
    if (yych <= ',') {
3459
3.90k
      if (yych == '+') goto yy252;
3460
2.39k
      goto yy86;
3461
35.5k
    } else {
3462
35.5k
      if (yych <= '-') goto yy252;
3463
26.9k
      if (yych <= '/') goto yy86;
3464
26.3k
      if (yych <= '9') goto yy253;
3465
7.23k
      goto yy86;
3466
26.3k
    }
3467
3.00k
yy136:
3468
3.00k
    YYDEBUG(136, *YYCURSOR);
3469
3.00k
    ++YYCURSOR;
3470
3.00k
    YYFILL(1);
3471
3.00k
    yych = *YYCURSOR;
3472
3.00k
    if (yybm[0+yych] & 16) {
3473
2.03k
      goto yy255;
3474
2.03k
    }
3475
969
    goto yy86;
3476
9.49k
yy137:
3477
9.49k
    YYDEBUG(137, *YYCURSOR);
3478
9.49k
    ++YYCURSOR;
3479
9.49k
    YYFILL(1);
3480
9.49k
    yych = *YYCURSOR;
3481
9.49k
    if (yybm[0+yych] & 32) {
3482
8.50k
      goto yy258;
3483
8.50k
    }
3484
987
    goto yy86;
3485
10.3k
yy138:
3486
10.3k
    YYDEBUG(138, *YYCURSOR);
3487
10.3k
    ++YYCURSOR;
3488
10.3k
    YYFILL(1);
3489
10.3k
    yych = *YYCURSOR;
3490
10.3k
    if (yybm[256+yych] & 64) {
3491
3.61k
      goto yy32;
3492
3.61k
    }
3493
6.69k
    goto yy86;
3494
135k
yy139:
3495
135k
    YYDEBUG(139, *YYCURSOR);
3496
135k
    ++YYCURSOR;
3497
135k
    YYDEBUG(140, *YYCURSOR);
3498
135k
    yyleng = YYCURSOR - SCNG(yy_text);
3499
135k
#line 1643 "Zend/zend_language_scanner.l"
3500
135k
    {
3501
135k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3502
135k
}
3503
0
#line 3504 "Zend/zend_language_scanner.c"
3504
3.60M
yy141:
3505
3.60M
    YYDEBUG(141, *YYCURSOR);
3506
3.60M
    yyaccept = 7;
3507
3.60M
    yych = *(YYMARKER = ++YYCURSOR);
3508
3.60M
    if (yych <= ';') goto yy142;
3509
3.52M
    if (yych <= '<') goto yy261;
3510
191k
    if (yych <= '=') goto yy263;
3511
523k
yy142:
3512
523k
    YYDEBUG(142, *YYCURSOR);
3513
523k
    yyleng = YYCURSOR - SCNG(yy_text);
3514
523k
#line 1971 "Zend/zend_language_scanner.l"
3515
523k
    {
3516
523k
  RETURN_TOKEN(T_SL);
3517
523k
}
3518
0
#line 3519 "Zend/zend_language_scanner.c"
3519
22.2k
yy143:
3520
22.2k
    YYDEBUG(143, *YYCURSOR);
3521
22.2k
    yych = *++YYCURSOR;
3522
22.2k
    if (yych == '>') goto yy265;
3523
19.6k
    YYDEBUG(144, *YYCURSOR);
3524
19.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3525
19.6k
#line 1883 "Zend/zend_language_scanner.l"
3526
19.6k
    {
3527
19.6k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3528
19.6k
}
3529
0
#line 3530 "Zend/zend_language_scanner.c"
3530
5.44k
yy145:
3531
5.44k
    YYDEBUG(145, *YYCURSOR);
3532
5.44k
    ++YYCURSOR;
3533
5.44k
    goto yy76;
3534
35.1k
yy146:
3535
35.1k
    YYDEBUG(146, *YYCURSOR);
3536
35.1k
    yych = *++YYCURSOR;
3537
35.1k
    if (yych == '=') goto yy267;
3538
24.0k
    YYDEBUG(147, *YYCURSOR);
3539
24.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3540
24.0k
#line 1871 "Zend/zend_language_scanner.l"
3541
24.0k
    {
3542
24.0k
  RETURN_TOKEN(T_IS_EQUAL);
3543
24.0k
}
3544
0
#line 3545 "Zend/zend_language_scanner.c"
3545
56.8k
yy148:
3546
56.8k
    YYDEBUG(148, *YYCURSOR);
3547
56.8k
    ++YYCURSOR;
3548
56.8k
    YYDEBUG(149, *YYCURSOR);
3549
56.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3550
56.8k
#line 1839 "Zend/zend_language_scanner.l"
3551
56.8k
    {
3552
56.8k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3553
56.8k
}
3554
0
#line 3555 "Zend/zend_language_scanner.c"
3555
5.04k
yy150:
3556
5.04k
    YYDEBUG(150, *YYCURSOR);
3557
5.04k
    ++YYCURSOR;
3558
5.04k
    YYDEBUG(151, *YYCURSOR);
3559
5.04k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
5.04k
#line 1887 "Zend/zend_language_scanner.l"
3561
5.04k
    {
3562
5.04k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3563
5.04k
}
3564
0
#line 3565 "Zend/zend_language_scanner.c"
3565
12.8k
yy152:
3566
12.8k
    YYDEBUG(152, *YYCURSOR);
3567
12.8k
    yych = *++YYCURSOR;
3568
12.8k
    if (yych == '=') goto yy269;
3569
11.9k
    YYDEBUG(153, *YYCURSOR);
3570
11.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3571
11.9k
#line 1975 "Zend/zend_language_scanner.l"
3572
11.9k
    {
3573
11.9k
  RETURN_TOKEN(T_SR);
3574
11.9k
}
3575
0
#line 3576 "Zend/zend_language_scanner.c"
3576
35.9k
yy154:
3577
35.9k
    YYDEBUG(154, *YYCURSOR);
3578
35.9k
    yych = *++YYCURSOR;
3579
35.9k
    if (yych == '>') goto yy271;
3580
3.83k
    goto yy86;
3581
152k
yy155:
3582
152k
    YYDEBUG(155, *YYCURSOR);
3583
152k
    yych = *++YYCURSOR;
3584
152k
    if (yych == '\n') goto yy273;
3585
140k
    if (yych == '\r') goto yy274;
3586
152k
yy156:
3587
152k
    YYDEBUG(156, *YYCURSOR);
3588
152k
    yyleng = YYCURSOR - SCNG(yy_text);
3589
152k
#line 2555 "Zend/zend_language_scanner.l"
3590
152k
    {
3591
152k
  BEGIN(INITIAL);
3592
152k
  if (yytext[yyleng-1] != '>') {
3593
12.7k
    CG(increment_lineno) = 1;
3594
12.7k
  }
3595
152k
  if (PARSER_MODE()) {
3596
124k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3597
124k
  }
3598
28.0k
  RETURN_TOKEN(T_CLOSE_TAG);
3599
28.0k
}
3600
0
#line 3601 "Zend/zend_language_scanner.c"
3601
43.2k
yy157:
3602
43.2k
    YYDEBUG(157, *YYCURSOR);
3603
43.2k
    yych = *++YYCURSOR;
3604
43.2k
    if (yych == '=') goto yy275;
3605
33.8k
    YYDEBUG(158, *YYCURSOR);
3606
33.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3607
33.8k
#line 1651 "Zend/zend_language_scanner.l"
3608
33.8k
    {
3609
33.8k
  RETURN_TOKEN(T_COALESCE);
3610
33.8k
}
3611
0
#line 3612 "Zend/zend_language_scanner.c"
3612
14.1k
yy159:
3613
14.1k
    YYDEBUG(159, *YYCURSOR);
3614
14.1k
    yyaccept = 4;
3615
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
3616
14.1k
    if (yych == 'S') goto yy277;
3617
12.0k
    if (yych == 's') goto yy277;
3618
3.31k
    goto yy48;
3619
9.87k
yy160:
3620
9.87k
    YYDEBUG(160, *YYCURSOR);
3621
9.87k
    yyaccept = 4;
3622
9.87k
    yych = *(YYMARKER = ++YYCURSOR);
3623
9.87k
    if (yych == 'D') goto yy278;
3624
8.57k
    if (yych == 'd') goto yy278;
3625
3.01k
    goto yy48;
3626
44.3k
yy161:
3627
44.3k
    YYDEBUG(161, *YYCURSOR);
3628
44.3k
    yyaccept = 4;
3629
44.3k
    yych = *(YYMARKER = ++YYCURSOR);
3630
44.3k
    if (yych == 'R') goto yy280;
3631
43.2k
    if (yych == 'r') goto yy280;
3632
9.16k
    goto yy48;
3633
58.5k
yy162:
3634
58.5k
    YYDEBUG(162, *YYCURSOR);
3635
58.5k
    yyaccept = 8;
3636
58.5k
    yych = *(YYMARKER = ++YYCURSOR);
3637
58.5k
    if (yybm[256+yych] & 128) {
3638
31.3k
      goto yy47;
3639
31.3k
    }
3640
27.1k
    if (yych == '\\') goto yy164;
3641
27.1k
yy163:
3642
27.1k
    YYDEBUG(163, *YYCURSOR);
3643
27.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3644
27.1k
#line 1539 "Zend/zend_language_scanner.l"
3645
27.1k
    {
3646
27.1k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3647
27.1k
}
3648
0
#line 3649 "Zend/zend_language_scanner.c"
3649
68.8k
yy164:
3650
68.8k
    YYDEBUG(164, *YYCURSOR);
3651
68.8k
    ++YYCURSOR;
3652
68.8k
    YYFILL(1);
3653
68.8k
    yych = *YYCURSOR;
3654
68.8k
    if (yych <= '_') {
3655
44.3k
      if (yych <= '@') goto yy86;
3656
25.2k
      if (yych <= 'Z') goto yy281;
3657
11.6k
      if (yych <= '^') goto yy86;
3658
865
      goto yy281;
3659
24.4k
    } else {
3660
24.4k
      if (yych <= '`') goto yy86;
3661
23.2k
      if (yych <= 'z') goto yy281;
3662
10.9k
      if (yych <= 0x7F) goto yy86;
3663
6.35k
      goto yy281;
3664
10.9k
    }
3665
5.13k
yy165:
3666
5.13k
    YYDEBUG(165, *YYCURSOR);
3667
5.13k
    yych = *++YYCURSOR;
3668
5.13k
    if (yych == '<') goto yy284;
3669
1.98k
    goto yy86;
3670
6.11k
yy166:
3671
6.11k
    YYDEBUG(166, *YYCURSOR);
3672
6.11k
    yyaccept = 4;
3673
6.11k
    yych = *(YYMARKER = ++YYCURSOR);
3674
6.11k
    if (yych == 'E') goto yy285;
3675
5.61k
    if (yych == 'e') goto yy285;
3676
1.53k
    goto yy48;
3677
81.7k
yy167:
3678
81.7k
    YYDEBUG(167, *YYCURSOR);
3679
81.7k
    yyaccept = 4;
3680
81.7k
    yych = *(YYMARKER = ++YYCURSOR);
3681
81.7k
    if (yych <= 'T') {
3682
6.31k
      if (yych <= 'L') {
3683
4.96k
        if (yych <= 'K') goto yy48;
3684
1.88k
        goto yy286;
3685
4.96k
      } else {
3686
1.34k
        if (yych <= 'R') goto yy48;
3687
1.06k
        if (yych <= 'S') goto yy287;
3688
646
        goto yy288;
3689
1.06k
      }
3690
75.4k
    } else {
3691
75.4k
      if (yych <= 'r') {
3692
16.8k
        if (yych == 'l') goto yy286;
3693
2.27k
        goto yy48;
3694
58.5k
      } else {
3695
58.5k
        if (yych <= 's') goto yy287;
3696
44.3k
        if (yych <= 't') goto yy288;
3697
1.12k
        goto yy48;
3698
44.3k
      }
3699
75.4k
    }
3700
111k
yy168:
3701
111k
    YYDEBUG(168, *YYCURSOR);
3702
111k
    yyaccept = 4;
3703
111k
    yych = *(YYMARKER = ++YYCURSOR);
3704
111k
    if (yych <= 'O') {
3705
5.29k
      if (yych == 'A') goto yy289;
3706
3.71k
      if (yych <= 'N') goto yy48;
3707
1.34k
      goto yy290;
3708
106k
    } else {
3709
106k
      if (yych <= 'a') {
3710
94.6k
        if (yych <= '`') goto yy48;
3711
94.2k
        goto yy289;
3712
94.6k
      } else {
3713
11.4k
        if (yych == 'o') goto yy290;
3714
3.01k
        goto yy48;
3715
11.4k
      }
3716
106k
    }
3717
65.9k
yy169:
3718
65.9k
    YYDEBUG(169, *YYCURSOR);
3719
65.9k
    yyaccept = 4;
3720
65.9k
    yych = *(YYMARKER = ++YYCURSOR);
3721
65.9k
    if (yych == 'N') goto yy291;
3722
61.0k
    if (yych == 'n') goto yy291;
3723
9.24k
    goto yy48;
3724
33.1k
yy170:
3725
33.1k
    YYDEBUG(170, *YYCURSOR);
3726
33.1k
    yyaccept = 4;
3727
33.1k
    yych = *(YYMARKER = ++YYCURSOR);
3728
33.1k
    if (yych <= 'F') {
3729
2.58k
      if (yych == 'C') goto yy292;
3730
2.29k
      if (yych <= 'E') goto yy48;
3731
637
      goto yy293;
3732
30.5k
    } else {
3733
30.5k
      if (yych <= 'c') {
3734
13.4k
        if (yych <= 'b') goto yy48;
3735
11.0k
        goto yy292;
3736
17.1k
      } else {
3737
17.1k
        if (yych == 'f') goto yy293;
3738
5.90k
        goto yy48;
3739
17.1k
      }
3740
30.5k
    }
3741
7.71k
yy171:
3742
7.71k
    YYDEBUG(171, *YYCURSOR);
3743
7.71k
    yyaccept = 4;
3744
7.71k
    yych = *(YYMARKER = ++YYCURSOR);
3745
7.71k
    if (yych == 'E') goto yy294;
3746
7.42k
    if (yych == 'e') goto yy294;
3747
3.24k
    goto yy48;
3748
20.1k
yy172:
3749
20.1k
    YYDEBUG(172, *YYCURSOR);
3750
20.1k
    yyaccept = 9;
3751
20.1k
    yych = *(YYMARKER = ++YYCURSOR);
3752
20.1k
    if (yybm[256+yych] & 128) {
3753
16.2k
      goto yy47;
3754
16.2k
    }
3755
3.87k
    if (yych == '\\') goto yy164;
3756
3.79k
yy173:
3757
3.79k
    YYDEBUG(173, *YYCURSOR);
3758
3.79k
    yyleng = YYCURSOR - SCNG(yy_text);
3759
3.79k
#line 1507 "Zend/zend_language_scanner.l"
3760
3.79k
    {
3761
3.79k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3762
3.79k
}
3763
0
#line 3764 "Zend/zend_language_scanner.c"
3764
111k
yy174:
3765
111k
    YYDEBUG(174, *YYCURSOR);
3766
111k
    yyaccept = 4;
3767
111k
    yych = *(YYMARKER = ++YYCURSOR);
3768
111k
    if (yych == 'H') goto yy296;
3769
111k
    if (yych == 'h') goto yy296;
3770
5.70k
    goto yy48;
3771
16.6k
yy175:
3772
16.6k
    YYDEBUG(175, *YYCURSOR);
3773
16.6k
    yyaccept = 4;
3774
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
3775
16.6k
    if (yych == 'S') goto yy297;
3776
15.8k
    if (yych == 's') goto yy297;
3777
5.45k
    goto yy48;
3778
14.2k
yy176:
3779
14.2k
    YYDEBUG(176, *YYCURSOR);
3780
14.2k
    yyaccept = 4;
3781
14.2k
    yych = *(YYMARKER = ++YYCURSOR);
3782
14.2k
    if (yych == 'P') goto yy298;
3783
10.9k
    if (yych == 'p') goto yy298;
3784
7.10k
    goto yy48;
3785
240k
yy177:
3786
240k
    YYDEBUG(177, *YYCURSOR);
3787
240k
    yyaccept = 4;
3788
240k
    yych = *(YYMARKER = ++YYCURSOR);
3789
240k
    if (yych <= 'U') {
3790
32.6k
      if (yych == 'D') goto yy299;
3791
12.2k
      if (yych <= 'T') goto yy48;
3792
4.50k
      goto yy300;
3793
207k
    } else {
3794
207k
      if (yych <= 'd') {
3795
30.6k
        if (yych <= 'c') goto yy48;
3796
28.2k
        goto yy299;
3797
176k
      } else {
3798
176k
        if (yych == 'u') goto yy300;
3799
7.39k
        goto yy48;
3800
176k
      }
3801
207k
    }
3802
7.98k
yy178:
3803
7.98k
    YYDEBUG(178, *YYCURSOR);
3804
7.98k
    yyaccept = 4;
3805
7.98k
    yych = *(YYMARKER = ++YYCURSOR);
3806
7.98k
    if (yych == 'A') goto yy301;
3807
7.67k
    if (yych == 'a') goto yy301;
3808
830
    goto yy48;
3809
79.6k
yy179:
3810
79.6k
    YYDEBUG(179, *YYCURSOR);
3811
79.6k
    yyaccept = 4;
3812
79.6k
    yych = *(YYMARKER = ++YYCURSOR);
3813
79.6k
    if (yych <= 'T') {
3814
9.48k
      if (yych == 'I') goto yy302;
3815
8.37k
      if (yych <= 'S') goto yy48;
3816
1.29k
      goto yy303;
3817
70.1k
    } else {
3818
70.1k
      if (yych <= 'i') {
3819
28.4k
        if (yych <= 'h') goto yy48;
3820
1.97k
        goto yy302;
3821
41.6k
      } else {
3822
41.6k
        if (yych == 't') goto yy303;
3823
16.6k
        goto yy48;
3824
41.6k
      }
3825
70.1k
    }
3826
20.0k
yy180:
3827
20.0k
    YYDEBUG(180, *YYCURSOR);
3828
20.0k
    yyaccept = 4;
3829
20.0k
    yych = *(YYMARKER = ++YYCURSOR);
3830
20.0k
    if (yych == 'N') goto yy304;
3831
19.1k
    if (yych == 'n') goto yy304;
3832
5.63k
    goto yy48;
3833
25.8k
yy181:
3834
25.8k
    YYDEBUG(181, *YYCURSOR);
3835
25.8k
    yyaccept = 10;
3836
25.8k
    yych = *(YYMARKER = ++YYCURSOR);
3837
25.8k
    if (yybm[256+yych] & 128) {
3838
3.49k
      goto yy47;
3839
3.49k
    }
3840
22.3k
    if (yych == '\\') goto yy164;
3841
22.1k
yy182:
3842
22.1k
    YYDEBUG(182, *YYCURSOR);
3843
22.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3844
22.1k
#line 1436 "Zend/zend_language_scanner.l"
3845
22.1k
    {
3846
22.1k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3847
22.1k
}
3848
0
#line 3849 "Zend/zend_language_scanner.c"
3849
125k
yy183:
3850
125k
    YYDEBUG(183, *YYCURSOR);
3851
125k
    yyaccept = 4;
3852
125k
    yych = *(YYMARKER = ++YYCURSOR);
3853
125k
    if (yych == 'R') goto yy305;
3854
122k
    if (yych == 'r') goto yy305;
3855
60.6k
    goto yy48;
3856
129k
yy184:
3857
129k
    YYDEBUG(184, *YYCURSOR);
3858
129k
    yyaccept = 4;
3859
129k
    yych = *(YYMARKER = ++YYCURSOR);
3860
129k
    if (yych == 'N') goto yy307;
3861
128k
    if (yych == 'n') goto yy307;
3862
2.78k
    goto yy48;
3863
10.5k
yy185:
3864
10.5k
    YYDEBUG(185, *YYCURSOR);
3865
10.5k
    yyaccept = 4;
3866
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
3867
10.5k
    if (yych == 'O') goto yy308;
3868
7.79k
    if (yych == 'o') goto yy308;
3869
1.05k
    goto yy48;
3870
6.29k
yy186:
3871
6.29k
    YYDEBUG(186, *YYCURSOR);
3872
6.29k
    yyaccept = 4;
3873
6.29k
    yych = *(YYMARKER = ++YYCURSOR);
3874
6.29k
    if (yych == 'T') goto yy309;
3875
4.47k
    if (yych == 't') goto yy309;
3876
862
    goto yy48;
3877
29.7k
yy187:
3878
29.7k
    YYDEBUG(187, *YYCURSOR);
3879
29.7k
    yyaccept = 11;
3880
29.7k
    yych = *(YYMARKER = ++YYCURSOR);
3881
29.7k
    if (yybm[256+yych] & 128) {
3882
1.72k
      goto yy47;
3883
1.72k
    }
3884
28.0k
    if (yych == '\\') goto yy164;
3885
27.9k
yy188:
3886
27.9k
    YYDEBUG(188, *YYCURSOR);
3887
27.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3888
27.9k
#line 1483 "Zend/zend_language_scanner.l"
3889
27.9k
    {
3890
27.9k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3891
27.9k
}
3892
0
#line 3893 "Zend/zend_language_scanner.c"
3893
35.5k
yy189:
3894
35.5k
    YYDEBUG(189, *YYCURSOR);
3895
35.5k
    yyaccept = 4;
3896
35.5k
    yych = *(YYMARKER = ++YYCURSOR);
3897
35.5k
    if (yych == 'P') goto yy310;
3898
32.5k
    if (yych == 'p') goto yy310;
3899
6.63k
    goto yy48;
3900
110k
yy190:
3901
110k
    YYDEBUG(190, *YYCURSOR);
3902
110k
    yyaccept = 4;
3903
110k
    yych = *(YYMARKER = ++YYCURSOR);
3904
110k
    if (yych <= 'T') {
3905
27.5k
      if (yych <= 'C') {
3906
11.9k
        if (yych <= 'B') goto yy48;
3907
2.42k
        goto yy311;
3908
15.5k
      } else {
3909
15.5k
        if (yych <= 'R') goto yy48;
3910
6.60k
        if (yych <= 'S') goto yy312;
3911
3.32k
        goto yy313;
3912
6.60k
      }
3913
82.5k
    } else {
3914
82.5k
      if (yych <= 'r') {
3915
36.1k
        if (yych == 'c') goto yy311;
3916
24.0k
        goto yy48;
3917
46.4k
      } else {
3918
46.4k
        if (yych <= 's') goto yy312;
3919
32.5k
        if (yych <= 't') goto yy313;
3920
5.38k
        goto yy48;
3921
32.5k
      }
3922
82.5k
    }
3923
29.8k
yy191:
3924
29.8k
    YYDEBUG(191, *YYCURSOR);
3925
29.8k
    yyaccept = 4;
3926
29.8k
    yych = *(YYMARKER = ++YYCURSOR);
3927
29.8k
    if (yych == 'S') goto yy314;
3928
29.5k
    if (yych == 's') goto yy314;
3929
13.0k
    goto yy48;
3930
13.0k
yy192:
3931
9.03k
    YYDEBUG(192, *YYCURSOR);
3932
9.03k
    yyaccept = 4;
3933
9.03k
    yych = *(YYMARKER = ++YYCURSOR);
3934
9.03k
    if (yych == 'S') goto yy315;
3935
7.76k
    if (yych == 's') goto yy315;
3936
3.12k
    goto yy48;
3937
11.2k
yy193:
3938
11.2k
    YYDEBUG(193, *YYCURSOR);
3939
11.2k
    yyaccept = 4;
3940
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
3941
11.2k
    if (yych == 'T') goto yy316;
3942
10.8k
    if (yych == 't') goto yy316;
3943
5.03k
    goto yy48;
3944
31.2k
yy194:
3945
31.2k
    YYDEBUG(194, *YYCURSOR);
3946
31.2k
    yyaccept = 4;
3947
31.2k
    yych = *(YYMARKER = ++YYCURSOR);
3948
31.2k
    if (yych == 'M') goto yy317;
3949
27.9k
    if (yych == 'm') goto yy317;
3950
1.99k
    goto yy48;
3951
109k
yy195:
3952
109k
    YYDEBUG(195, *YYCURSOR);
3953
109k
    yyaccept = 4;
3954
109k
    yych = *(YYMARKER = ++YYCURSOR);
3955
109k
    if (yych == 'W') goto yy318;
3956
108k
    if (yych == 'w') goto yy318;
3957
10.6k
    goto yy48;
3958
10.8k
yy196:
3959
10.8k
    YYDEBUG(196, *YYCURSOR);
3960
10.8k
    yyaccept = 12;
3961
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
3962
10.8k
    if (yybm[256+yych] & 128) {
3963
4.23k
      goto yy47;
3964
4.23k
    }
3965
6.63k
    if (yych == '\\') goto yy164;
3966
6.55k
yy197:
3967
6.55k
    YYDEBUG(197, *YYCURSOR);
3968
6.55k
    yyleng = YYCURSOR - SCNG(yy_text);
3969
6.55k
#line 1959 "Zend/zend_language_scanner.l"
3970
6.55k
    {
3971
6.55k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3972
6.55k
}
3973
0
#line 3974 "Zend/zend_language_scanner.c"
3974
64.6k
yy198:
3975
64.6k
    YYDEBUG(198, *YYCURSOR);
3976
64.6k
    yyaccept = 4;
3977
64.6k
    yych = *(YYMARKER = ++YYCURSOR);
3978
64.6k
    if (yych <= 'O') {
3979
4.85k
      if (yych == 'I') goto yy320;
3980
3.23k
      if (yych <= 'N') goto yy48;
3981
1.89k
      goto yy321;
3982
59.7k
    } else {
3983
59.7k
      if (yych <= 'i') {
3984
46.2k
        if (yych <= 'h') goto yy48;
3985
38.7k
        goto yy320;
3986
46.2k
      } else {
3987
13.5k
        if (yych == 'o') goto yy321;
3988
2.00k
        goto yy48;
3989
13.5k
      }
3990
59.7k
    }
3991
82.1k
yy199:
3992
82.1k
    YYDEBUG(199, *YYCURSOR);
3993
82.1k
    yyaccept = 4;
3994
82.1k
    yych = *(YYMARKER = ++YYCURSOR);
3995
82.1k
    if (yych == 'B') goto yy322;
3996
80.7k
    if (yych == 'b') goto yy322;
3997
4.83k
    goto yy48;
3998
92.9k
yy200:
3999
92.9k
    YYDEBUG(200, *YYCURSOR);
4000
92.9k
    yyaccept = 4;
4001
92.9k
    yych = *(YYMARKER = ++YYCURSOR);
4002
92.9k
    if (yych <= 'T') {
4003
7.21k
      if (yych <= 'P') {
4004
4.87k
        if (yych == 'A') goto yy323;
4005
4.52k
        goto yy48;
4006
4.87k
      } else {
4007
2.33k
        if (yych <= 'Q') goto yy324;
4008
632
        if (yych <= 'S') goto yy48;
4009
553
        goto yy325;
4010
632
      }
4011
85.7k
    } else {
4012
85.7k
      if (yych <= 'p') {
4013
22.1k
        if (yych == 'a') goto yy323;
4014
10.8k
        goto yy48;
4015
63.5k
      } else {
4016
63.5k
        if (yych <= 'q') goto yy324;
4017
38.9k
        if (yych == 't') goto yy325;
4018
6.13k
        goto yy48;
4019
38.9k
      }
4020
85.7k
    }
4021
75.5k
yy201:
4022
75.5k
    YYDEBUG(201, *YYCURSOR);
4023
75.5k
    yyaccept = 4;
4024
75.5k
    yych = *(YYMARKER = ++YYCURSOR);
4025
75.5k
    if (yych == 'A') goto yy326;
4026
74.8k
    if (yych == 'a') goto yy326;
4027
48.7k
    goto yy48;
4028
48.7k
yy202:
4029
7.67k
    YYDEBUG(202, *YYCURSOR);
4030
7.67k
    yyaccept = 4;
4031
7.67k
    yych = *(YYMARKER = ++YYCURSOR);
4032
7.67k
    if (yych == 'I') goto yy327;
4033
7.09k
    if (yych == 'i') goto yy327;
4034
861
    goto yy48;
4035
19.2k
yy203:
4036
19.2k
    YYDEBUG(203, *YYCURSOR);
4037
19.2k
    yyaccept = 4;
4038
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
4039
19.2k
    if (yych == 'R') goto yy328;
4040
18.0k
    if (yych == 'r') goto yy328;
4041
3.64k
    goto yy48;
4042
81.3k
yy204:
4043
81.3k
    YYDEBUG(204, *YYCURSOR);
4044
81.3k
    yyaccept = 4;
4045
81.3k
    yych = *(YYMARKER = ++YYCURSOR);
4046
81.3k
    if (yych <= 'Y') {
4047
5.93k
      if (yych == 'A') goto yy329;
4048
4.32k
      if (yych <= 'X') goto yy48;
4049
1.11k
      goto yy330;
4050
75.4k
    } else {
4051
75.4k
      if (yych <= 'a') {
4052
11.7k
        if (yych <= '`') goto yy48;
4053
11.4k
        goto yy329;
4054
63.6k
      } else {
4055
63.6k
        if (yych == 'y') goto yy330;
4056
14.2k
        goto yy48;
4057
63.6k
      }
4058
75.4k
    }
4059
26.6k
yy205:
4060
26.6k
    YYDEBUG(205, *YYCURSOR);
4061
26.6k
    yyaccept = 4;
4062
26.6k
    yych = *(YYMARKER = ++YYCURSOR);
4063
26.6k
    if (yych == 'S') goto yy332;
4064
26.1k
    if (yych == 's') goto yy332;
4065
4.42k
    goto yy48;
4066
15.2k
yy206:
4067
15.2k
    YYDEBUG(206, *YYCURSOR);
4068
15.2k
    yyaccept = 4;
4069
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
4070
15.2k
    if (yych == 'E') goto yy333;
4071
14.3k
    if (yych == 'e') goto yy333;
4072
1.30k
    goto yy48;
4073
123k
yy207:
4074
123k
    YYDEBUG(207, *YYCURSOR);
4075
123k
    yyaccept = 4;
4076
123k
    yych = *(YYMARKER = ++YYCURSOR);
4077
123k
    if (yych == 'R') goto yy335;
4078
121k
    if (yych == 'r') goto yy335;
4079
5.74k
    goto yy48;
4080
8.09k
yy208:
4081
8.09k
    YYDEBUG(208, *YYCURSOR);
4082
8.09k
    yyaccept = 4;
4083
8.09k
    yych = *(YYMARKER = ++YYCURSOR);
4084
8.09k
    if (yych == 'I') goto yy337;
4085
7.66k
    if (yych == 'i') goto yy337;
4086
903
    goto yy48;
4087
6.38k
yy209:
4088
6.38k
    YYDEBUG(209, *YYCURSOR);
4089
6.38k
    yyaccept = 4;
4090
6.38k
    yych = *(YYMARKER = ++YYCURSOR);
4091
6.38k
    if (yych == 'R') goto yy338;
4092
5.36k
    if (yych == 'r') goto yy338;
4093
554
    goto yy48;
4094
91.2k
yy210:
4095
91.2k
    YYDEBUG(210, *YYCURSOR);
4096
91.2k
    yyaccept = 4;
4097
91.2k
    yych = *(YYMARKER = ++YYCURSOR);
4098
91.2k
    if (yych == 'E') goto yy340;
4099
88.5k
    if (yych == 'e') goto yy340;
4100
4.87k
    goto yy48;
4101
319k
yy211:
4102
319k
    YYDEBUG(211, *YYCURSOR);
4103
319k
    yyaccept = 13;
4104
319k
    YYMARKER = ++YYCURSOR;
4105
319k
    YYFILL(1);
4106
319k
    yych = *YYCURSOR;
4107
319k
    YYDEBUG(212, *YYCURSOR);
4108
319k
    if (yych <= '\\') {
4109
110k
      if (yych <= '@') {
4110
49.8k
        if (yych <= '/') goto yy213;
4111
20.0k
        if (yych <= '9') goto yy211;
4112
61.0k
      } else {
4113
61.0k
        if (yych <= 'Z') goto yy211;
4114
15.7k
        if (yych >= '\\') goto yy341;
4115
15.7k
      }
4116
208k
    } else {
4117
208k
      if (yych <= '`') {
4118
11.3k
        if (yych == '_') goto yy211;
4119
197k
      } else {
4120
197k
        if (yych <= 'z') goto yy211;
4121
39.7k
        if (yych >= 0x80) goto yy211;
4122
39.7k
      }
4123
208k
    }
4124
55.4k
yy213:
4125
55.4k
    YYDEBUG(213, *YYCURSOR);
4126
55.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4127
55.4k
#line 2476 "Zend/zend_language_scanner.l"
4128
55.4k
    {
4129
55.4k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4130
55.4k
}
4131
0
#line 4132 "Zend/zend_language_scanner.c"
4132
4.01k
yy214:
4133
4.01k
    YYDEBUG(214, *YYCURSOR);
4134
4.01k
    ++YYCURSOR;
4135
4.01k
    YYDEBUG(215, *YYCURSOR);
4136
4.01k
    yyleng = YYCURSOR - SCNG(yy_text);
4137
4.01k
#line 1939 "Zend/zend_language_scanner.l"
4138
4.01k
    {
4139
4.01k
  RETURN_TOKEN(T_XOR_EQUAL);
4140
4.01k
}
4141
0
#line 4142 "Zend/zend_language_scanner.c"
4142
132k
yy216:
4143
132k
    YYDEBUG(216, *YYCURSOR);
4144
132k
    yyaccept = 4;
4145
132k
    yych = *(YYMARKER = ++YYCURSOR);
4146
132k
    switch (yych) {
4147
4.03k
    case 'C':
4148
19.4k
    case 'c': goto yy342;
4149
3.34k
    case 'D':
4150
12.6k
    case 'd': goto yy343;
4151
12.9k
    case 'F':
4152
22.8k
    case 'f': goto yy344;
4153
5.04k
    case 'H':
4154
9.28k
    case 'h': goto yy345;
4155
1.88k
    case 'L':
4156
5.12k
    case 'l': goto yy346;
4157
9.06k
    case 'M':
4158
13.7k
    case 'm': goto yy347;
4159
5.12k
    case 'N':
4160
9.83k
    case 'n': goto yy348;
4161
6.10k
    case 'P':
4162
6.91k
    case 'p': goto yy349;
4163
2.05k
    case 'T':
4164
7.86k
    case 't': goto yy350;
4165
24.8k
    default:  goto yy48;
4166
132k
    }
4167
1.66k
yy217:
4168
1.66k
    YYDEBUG(217, *YYCURSOR);
4169
1.66k
    ++YYCURSOR;
4170
1.66k
    YYDEBUG(218, *YYCURSOR);
4171
1.66k
    yyleng = YYCURSOR - SCNG(yy_text);
4172
1.66k
#line 1935 "Zend/zend_language_scanner.l"
4173
1.66k
    {
4174
1.66k
  RETURN_TOKEN(T_OR_EQUAL);
4175
1.66k
}
4176
0
#line 4177 "Zend/zend_language_scanner.c"
4177
5.43k
yy219:
4178
5.43k
    YYDEBUG(219, *YYCURSOR);
4179
5.43k
    ++YYCURSOR;
4180
5.43k
    YYDEBUG(220, *YYCURSOR);
4181
5.43k
    yyleng = YYCURSOR - SCNG(yy_text);
4182
5.43k
#line 1947 "Zend/zend_language_scanner.l"
4183
5.43k
    {
4184
5.43k
  RETURN_TOKEN(T_PIPE);
4185
5.43k
}
4186
0
#line 4187 "Zend/zend_language_scanner.c"
4187
13.7k
yy221:
4188
13.7k
    YYDEBUG(221, *YYCURSOR);
4189
13.7k
    ++YYCURSOR;
4190
13.7k
    YYDEBUG(222, *YYCURSOR);
4191
13.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4192
13.7k
#line 1951 "Zend/zend_language_scanner.l"
4193
13.7k
    {
4194
13.7k
  RETURN_TOKEN(T_BOOLEAN_OR);
4195
13.7k
}
4196
0
#line 4197 "Zend/zend_language_scanner.c"
4197
3.44k
yy223:
4198
3.44k
    YYDEBUG(223, *YYCURSOR);
4199
3.44k
    ++YYCURSOR;
4200
3.44k
    YYDEBUG(224, *YYCURSOR);
4201
3.44k
    yyleng = YYCURSOR - SCNG(yy_text);
4202
3.44k
#line 1867 "Zend/zend_language_scanner.l"
4203
3.44k
    {
4204
3.44k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4205
3.44k
}
4206
0
#line 4207 "Zend/zend_language_scanner.c"
4207
974k
yy225:
4208
974k
    YYDEBUG(225, *YYCURSOR);
4209
974k
    ++YYCURSOR;
4210
974k
    YYFILL(1);
4211
974k
    yych = *YYCURSOR;
4212
974k
    YYDEBUG(226, *YYCURSOR);
4213
974k
    if (yybm[0+yych] & 2) {
4214
816k
      goto yy225;
4215
816k
    }
4216
157k
    if (yych <= 0x00) goto yy86;
4217
152k
    goto yy84;
4218
258k
yy227:
4219
258k
    YYDEBUG(227, *YYCURSOR);
4220
258k
    ++YYCURSOR;
4221
258k
    YYFILL(1);
4222
258k
    yych = *YYCURSOR;
4223
258k
    YYDEBUG(228, *YYCURSOR);
4224
258k
    if (yych <= 0x1F) {
4225
25.8k
      if (yych <= '\t') {
4226
6.47k
        if (yych <= 0x00) goto yy86;
4227
6.14k
        if (yych <= 0x08) goto yy225;
4228
2.67k
        goto yy227;
4229
19.3k
      } else {
4230
19.3k
        if (yych <= '\n') goto yy84;
4231
17.7k
        if (yych == '\r') goto yy84;
4232
3.51k
        goto yy225;
4233
17.7k
      }
4234
232k
    } else {
4235
232k
      if (yych <= '$') {
4236
32.9k
        if (yych <= ' ') goto yy227;
4237
23.4k
        if (yych <= '"') goto yy225;
4238
21.9k
        if (yych <= '#') goto yy351;
4239
6.30k
        goto yy352;
4240
199k
      } else {
4241
199k
        if (yych <= '-') goto yy225;
4242
152k
        if (yych <= '.') goto yy353;
4243
134k
        if (yych <= '/') goto yy354;
4244
46.2k
        goto yy225;
4245
134k
      }
4246
232k
    }
4247
3.18k
yy229:
4248
3.18k
    YYDEBUG(229, *YYCURSOR);
4249
3.18k
    yych = *++YYCURSOR;
4250
3.18k
    if (yych == '.') goto yy88;
4251
898
    goto yy86;
4252
943k
yy230:
4253
943k
    YYDEBUG(230, *YYCURSOR);
4254
943k
    ++YYCURSOR;
4255
943k
    YYFILL(1);
4256
943k
    yych = *YYCURSOR;
4257
943k
    YYDEBUG(231, *YYCURSOR);
4258
943k
    if (yybm[0+yych] & 4) {
4259
876k
      goto yy230;
4260
876k
    }
4261
67.2k
    if (yych <= 0x00) goto yy86;
4262
58.4k
    goto yy355;
4263
58.4k
yy232:
4264
16.5k
    YYDEBUG(232, *YYCURSOR);
4265
16.5k
    yych = *++YYCURSOR;
4266
16.5k
    if (yych == 'R') goto yy357;
4267
16.1k
    if (yych == 'r') goto yy357;
4268
2.22k
    goto yy86;
4269
10.8k
yy233:
4270
10.8k
    YYDEBUG(233, *YYCURSOR);
4271
10.8k
    yych = *++YYCURSOR;
4272
10.8k
    if (yych == 'N') goto yy358;
4273
9.35k
    if (yych == 'n') goto yy358;
4274
2.39k
    goto yy86;
4275
6.51k
yy234:
4276
6.51k
    YYDEBUG(234, *YYCURSOR);
4277
6.51k
    yych = *++YYCURSOR;
4278
6.51k
    if (yych == 'O') goto yy359;
4279
5.98k
    if (yych == 'o') goto yy359;
4280
688
    goto yy86;
4281
3.94k
yy235:
4282
3.94k
    YYDEBUG(235, *YYCURSOR);
4283
3.94k
    yych = *++YYCURSOR;
4284
3.94k
    if (yych == 'U') goto yy360;
4285
3.65k
    if (yych == 'u') goto yy360;
4286
418
    goto yy86;
4287
5.95k
yy236:
4288
5.95k
    YYDEBUG(236, *YYCURSOR);
4289
5.95k
    yych = *++YYCURSOR;
4290
5.95k
    if (yych == 'O') goto yy361;
4291
4.21k
    if (yych == 'o') goto yy361;
4292
720
    goto yy86;
4293
14.3k
yy237:
4294
14.3k
    YYDEBUG(237, *YYCURSOR);
4295
14.3k
    yych = *++YYCURSOR;
4296
14.3k
    if (yych == 'T') goto yy362;
4297
12.4k
    if (yych == 't') goto yy362;
4298
2.48k
    goto yy86;
4299
6.94k
yy238:
4300
6.94k
    YYDEBUG(238, *YYCURSOR);
4301
6.94k
    yych = *++YYCURSOR;
4302
6.94k
    if (yych == 'J') goto yy363;
4303
6.40k
    if (yych == 'j') goto yy363;
4304
1.28k
    goto yy86;
4305
4.77k
yy239:
4306
4.77k
    YYDEBUG(239, *YYCURSOR);
4307
4.77k
    yych = *++YYCURSOR;
4308
4.77k
    if (yych == 'A') goto yy364;
4309
4.43k
    if (yych == 'a') goto yy364;
4310
2.51k
    goto yy86;
4311
18.8k
yy240:
4312
18.8k
    YYDEBUG(240, *YYCURSOR);
4313
18.8k
    yych = *++YYCURSOR;
4314
18.8k
    if (yych == 'R') goto yy365;
4315
18.7k
    if (yych == 'r') goto yy365;
4316
1.76k
    goto yy86;
4317
4.96k
yy241:
4318
4.96k
    YYDEBUG(241, *YYCURSOR);
4319
4.96k
    yych = *++YYCURSOR;
4320
4.96k
    if (yych == 'S') goto yy366;
4321
4.74k
    if (yych == 's') goto yy366;
4322
640
    goto yy86;
4323
2.65k
yy242:
4324
2.65k
    YYDEBUG(242, *YYCURSOR);
4325
2.65k
    yych = *++YYCURSOR;
4326
2.65k
    if (yych == 'I') goto yy367;
4327
2.42k
    if (yych == 'i') goto yy367;
4328
183
    goto yy86;
4329
1.15k
yy243:
4330
1.15k
    YYDEBUG(243, *YYCURSOR);
4331
1.15k
    ++YYCURSOR;
4332
1.15k
    YYDEBUG(244, *YYCURSOR);
4333
1.15k
    yyleng = YYCURSOR - SCNG(yy_text);
4334
1.15k
#line 1907 "Zend/zend_language_scanner.l"
4335
1.15k
    {
4336
1.15k
  RETURN_TOKEN(T_POW_EQUAL);
4337
1.15k
}
4338
0
#line 4339 "Zend/zend_language_scanner.c"
4339
42.2k
yy245:
4340
42.2k
    YYDEBUG(245, *YYCURSOR);
4341
42.2k
    ++YYCURSOR;
4342
42.2k
    YYDEBUG(246, *YYCURSOR);
4343
42.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4344
42.2k
#line 1647 "Zend/zend_language_scanner.l"
4345
42.2k
    {
4346
42.2k
  RETURN_TOKEN(T_ELLIPSIS);
4347
42.2k
}
4348
0
#line 4349 "Zend/zend_language_scanner.c"
4349
1.49k
yy247:
4350
1.49k
    YYDEBUG(247, *YYCURSOR);
4351
1.49k
    ++YYCURSOR;
4352
1.49k
    YYFILL(1);
4353
1.49k
    yych = *YYCURSOR;
4354
1.49k
    if (yych <= '/') goto yy86;
4355
914
    if (yych <= '9') goto yy123;
4356
530
    goto yy86;
4357
10.1k
yy248:
4358
10.1k
    YYDEBUG(248, *YYCURSOR);
4359
10.1k
    yych = *++YYCURSOR;
4360
10.1k
    if (yych <= '\f') {
4361
4.61k
      if (yych <= 0x08) goto yy86;
4362
4.18k
      if (yych <= '\n') goto yy368;
4363
198
      goto yy86;
4364
5.51k
    } else {
4365
5.51k
      if (yych <= '\r') goto yy368;
4366
5.31k
      if (yych == ' ') goto yy368;
4367
1.88k
      goto yy86;
4368
5.31k
    }
4369
73.7k
yy249:
4370
73.7k
    YYDEBUG(249, *YYCURSOR);
4371
73.7k
    yyaccept = 14;
4372
73.7k
    YYMARKER = ++YYCURSOR;
4373
73.7k
    YYFILL(1);
4374
73.7k
    yych = *YYCURSOR;
4375
73.7k
    YYDEBUG(250, *YYCURSOR);
4376
73.7k
    if (yybm[0+yych] & 8) {
4377
69.4k
      goto yy249;
4378
69.4k
    }
4379
4.24k
    if (yych == '_') goto yy134;
4380
3.19k
yy251:
4381
3.19k
    YYDEBUG(251, *YYCURSOR);
4382
3.19k
    yyleng = YYCURSOR - SCNG(yy_text);
4383
3.19k
#line 2040 "Zend/zend_language_scanner.l"
4384
3.19k
    {
4385
  /* The +/- 2 skips "0b" */
4386
3.19k
  size_t len = yyleng - 2;
4387
3.19k
  char *end, *bin = yytext + 2;
4388
3.19k
  bool contains_underscores;
4389
4390
  /* Skip any leading 0s */
4391
5.04k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4392
1.85k
    ++bin;
4393
1.85k
    --len;
4394
1.85k
  }
4395
4396
3.19k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4397
4398
3.19k
  if (contains_underscores) {
4399
347
    bin = estrndup(bin, len);
4400
347
    strip_underscores(bin, &len);
4401
347
  }
4402
4403
3.19k
  if (len < SIZEOF_ZEND_LONG * 8) {
4404
2.61k
    if (len == 0) {
4405
550
      ZVAL_LONG(zendlval, 0);
4406
2.06k
    } else {
4407
2.06k
      errno = 0;
4408
2.06k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4409
2.06k
      ZEND_ASSERT(!errno && end == bin + len);
4410
2.06k
    }
4411
2.61k
    if (contains_underscores) {
4412
226
      efree(bin);
4413
226
    }
4414
2.61k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4415
2.61k
  } else {
4416
572
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4417
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4418
572
    ZEND_ASSERT(end == bin + len);
4419
572
    if (contains_underscores) {
4420
121
      efree(bin);
4421
121
    }
4422
572
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4423
572
  }
4424
3.19k
}
4425
0
#line 4426 "Zend/zend_language_scanner.c"
4426
11.4k
yy252:
4427
11.4k
    YYDEBUG(252, *YYCURSOR);
4428
11.4k
    ++YYCURSOR;
4429
11.4k
    YYFILL(1);
4430
11.4k
    yych = *YYCURSOR;
4431
11.4k
    if (yych <= '/') goto yy86;
4432
11.0k
    if (yych >= ':') goto yy86;
4433
97.8k
yy253:
4434
97.8k
    YYDEBUG(253, *YYCURSOR);
4435
97.8k
    yyaccept = 5;
4436
97.8k
    YYMARKER = ++YYCURSOR;
4437
97.8k
    YYFILL(1);
4438
97.8k
    yych = *YYCURSOR;
4439
97.8k
    YYDEBUG(254, *YYCURSOR);
4440
97.8k
    if (yych <= '/') goto yy125;
4441
81.6k
    if (yych <= '9') goto yy253;
4442
12.4k
    if (yych == '_') goto yy252;
4443
11.0k
    goto yy125;
4444
11.0k
yy255:
4445
6.53k
    YYDEBUG(255, *YYCURSOR);
4446
6.53k
    yyaccept = 15;
4447
6.53k
    YYMARKER = ++YYCURSOR;
4448
6.53k
    YYFILL(1);
4449
6.53k
    yych = *YYCURSOR;
4450
6.53k
    YYDEBUG(256, *YYCURSOR);
4451
6.53k
    if (yybm[0+yych] & 16) {
4452
4.50k
      goto yy255;
4453
4.50k
    }
4454
2.03k
    if (yych == '_') goto yy136;
4455
1.34k
yy257:
4456
1.34k
    YYDEBUG(257, *YYCURSOR);
4457
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
4458
1.34k
#line 2082 "Zend/zend_language_scanner.l"
4459
1.34k
    {
4460
  /* The +/- 2 skips "0o" */
4461
1.34k
  size_t len = yyleng - 2;
4462
1.34k
  char *end, *octal = yytext + 2;
4463
1.34k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4464
4465
  /* Skip any leading 0s */
4466
2.45k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4467
1.10k
    ++octal;
4468
1.10k
    --len;
4469
1.10k
  }
4470
4471
1.34k
  if (len == 0) {
4472
355
    ZVAL_LONG(zendlval, 0);
4473
355
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4474
355
  }
4475
4476
994
  if (contains_underscores) {
4477
631
    octal = estrndup(octal, len);
4478
631
    strip_underscores(octal, &len);
4479
631
  }
4480
4481
994
  errno = 0;
4482
4483
994
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4484
4485
994
  ZEND_ASSERT(end == octal + len);
4486
4487
994
  if (!errno) {
4488
871
    if (contains_underscores) {
4489
565
      efree(octal);
4490
565
    }
4491
871
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4492
871
  }
4493
4494
  /* Overflow */
4495
123
  ZEND_ASSERT(errno == ERANGE);
4496
  /* Reset errno */
4497
123
  errno = 0;
4498
4499
  /* zend_oct_strtod skips leading '0' */
4500
123
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4501
123
  ZEND_ASSERT(!errno);
4502
123
  ZEND_ASSERT(end == octal + len);
4503
123
  if (contains_underscores) {
4504
66
    efree(octal);
4505
66
  }
4506
123
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4507
123
}
4508
0
#line 4509 "Zend/zend_language_scanner.c"
4509
61.5k
yy258:
4510
61.5k
    YYDEBUG(258, *YYCURSOR);
4511
61.5k
    yyaccept = 16;
4512
61.5k
    YYMARKER = ++YYCURSOR;
4513
61.5k
    YYFILL(1);
4514
61.5k
    yych = *YYCURSOR;
4515
61.5k
    YYDEBUG(259, *YYCURSOR);
4516
61.5k
    if (yybm[0+yych] & 32) {
4517
53.0k
      goto yy258;
4518
53.0k
    }
4519
8.50k
    if (yych == '_') goto yy137;
4520
7.05k
yy260:
4521
7.05k
    YYDEBUG(260, *YYCURSOR);
4522
7.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4523
7.05k
#line 2195 "Zend/zend_language_scanner.l"
4524
7.05k
    {
4525
  /* The +/- 2 skips "0x" */
4526
7.05k
  size_t len = yyleng - 2;
4527
7.05k
  char *end, *hex = yytext + 2;
4528
7.05k
  bool contains_underscores;
4529
4530
  /* Skip any leading 0s */
4531
9.81k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4532
2.76k
    ++hex;
4533
2.76k
    --len;
4534
2.76k
  }
4535
4536
7.05k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4537
4538
7.05k
  if (contains_underscores) {
4539
1.31k
    hex = estrndup(hex, len);
4540
1.31k
    strip_underscores(hex, &len);
4541
1.31k
  }
4542
4543
7.05k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4544
5.28k
    if (len == 0) {
4545
774
      ZVAL_LONG(zendlval, 0);
4546
4.50k
    } else {
4547
4.50k
      errno = 0;
4548
4.50k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4549
4.50k
      ZEND_ASSERT(!errno && end == hex + len);
4550
4.50k
    }
4551
5.28k
    if (contains_underscores) {
4552
701
      efree(hex);
4553
701
    }
4554
5.28k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4555
5.28k
  } else {
4556
1.77k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4557
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4558
1.77k
    ZEND_ASSERT(end == hex + len);
4559
1.77k
    if (contains_underscores) {
4560
614
      efree(hex);
4561
614
    }
4562
1.77k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4563
1.77k
  }
4564
7.05k
}
4565
0
#line 4566 "Zend/zend_language_scanner.c"
4566
3.36M
yy261:
4567
3.36M
    YYDEBUG(261, *YYCURSOR);
4568
3.36M
    ++YYCURSOR;
4569
3.36M
    YYFILL(2);
4570
3.36M
    yych = *YYCURSOR;
4571
3.36M
    YYDEBUG(262, *YYCURSOR);
4572
3.36M
    if (yych <= '\'') {
4573
68.4k
      if (yych <= ' ') {
4574
48.4k
        if (yych == '\t') goto yy261;
4575
30.8k
        if (yych <= 0x1F) goto yy86;
4576
14.6k
        goto yy261;
4577
30.8k
      } else {
4578
20.0k
        if (yych == '"') goto yy370;
4579
16.9k
        if (yych <= '&') goto yy86;
4580
9.68k
        goto yy371;
4581
16.9k
      }
4582
3.29M
    } else {
4583
3.29M
      if (yych <= '_') {
4584
319k
        if (yych <= '@') goto yy86;
4585
266k
        if (yych <= 'Z') goto yy372;
4586
4.63k
        if (yych <= '^') goto yy86;
4587
3.41k
        goto yy372;
4588
2.97M
      } else {
4589
2.97M
        if (yych <= '`') goto yy86;
4590
2.97M
        if (yych <= 'z') goto yy372;
4591
2.04M
        if (yych <= 0x7F) goto yy86;
4592
2.04M
        goto yy372;
4593
2.04M
      }
4594
3.29M
    }
4595
1.80k
yy263:
4596
1.80k
    YYDEBUG(263, *YYCURSOR);
4597
1.80k
    ++YYCURSOR;
4598
1.80k
    YYDEBUG(264, *YYCURSOR);
4599
1.80k
    yyleng = YYCURSOR - SCNG(yy_text);
4600
1.80k
#line 1923 "Zend/zend_language_scanner.l"
4601
1.80k
    {
4602
1.80k
  RETURN_TOKEN(T_SL_EQUAL);
4603
1.80k
}
4604
0
#line 4605 "Zend/zend_language_scanner.c"
4605
2.58k
yy265:
4606
2.58k
    YYDEBUG(265, *YYCURSOR);
4607
2.58k
    ++YYCURSOR;
4608
2.58k
    YYDEBUG(266, *YYCURSOR);
4609
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
4610
2.58k
#line 1879 "Zend/zend_language_scanner.l"
4611
2.58k
    {
4612
2.58k
  RETURN_TOKEN(T_SPACESHIP);
4613
2.58k
}
4614
0
#line 4615 "Zend/zend_language_scanner.c"
4615
11.1k
yy267:
4616
11.1k
    YYDEBUG(267, *YYCURSOR);
4617
11.1k
    ++YYCURSOR;
4618
11.1k
    YYDEBUG(268, *YYCURSOR);
4619
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4620
11.1k
#line 1863 "Zend/zend_language_scanner.l"
4621
11.1k
    {
4622
11.1k
  RETURN_TOKEN(T_IS_IDENTICAL);
4623
11.1k
}
4624
0
#line 4625 "Zend/zend_language_scanner.c"
4625
881
yy269:
4626
881
    YYDEBUG(269, *YYCURSOR);
4627
881
    ++YYCURSOR;
4628
881
    YYDEBUG(270, *YYCURSOR);
4629
881
    yyleng = YYCURSOR - SCNG(yy_text);
4630
881
#line 1927 "Zend/zend_language_scanner.l"
4631
881
    {
4632
881
  RETURN_TOKEN(T_SR_EQUAL);
4633
881
}
4634
0
#line 4635 "Zend/zend_language_scanner.c"
4635
32.1k
yy271:
4636
32.1k
    YYDEBUG(271, *YYCURSOR);
4637
32.1k
    ++YYCURSOR;
4638
32.1k
    YYDEBUG(272, *YYCURSOR);
4639
32.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4640
32.1k
#line 1621 "Zend/zend_language_scanner.l"
4641
32.1k
    {
4642
32.1k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4643
32.1k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4644
32.1k
}
4645
0
#line 4646 "Zend/zend_language_scanner.c"
4646
12.1k
yy273:
4647
12.1k
    YYDEBUG(273, *YYCURSOR);
4648
12.1k
    ++YYCURSOR;
4649
12.1k
    goto yy156;
4650
1.03k
yy274:
4651
1.03k
    YYDEBUG(274, *YYCURSOR);
4652
1.03k
    yych = *++YYCURSOR;
4653
1.03k
    if (yych == '\n') goto yy273;
4654
562
    goto yy156;
4655
9.43k
yy275:
4656
9.43k
    YYDEBUG(275, *YYCURSOR);
4657
9.43k
    ++YYCURSOR;
4658
9.43k
    YYDEBUG(276, *YYCURSOR);
4659
9.43k
    yyleng = YYCURSOR - SCNG(yy_text);
4660
9.43k
#line 1943 "Zend/zend_language_scanner.l"
4661
9.43k
    {
4662
9.43k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4663
9.43k
}
4664
0
#line 4665 "Zend/zend_language_scanner.c"
4665
10.8k
yy277:
4666
10.8k
    YYDEBUG(277, *YYCURSOR);
4667
10.8k
    yyaccept = 4;
4668
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
4669
10.8k
    if (yych == 'T') goto yy374;
4670
8.85k
    if (yych == 't') goto yy374;
4671
1.13k
    goto yy48;
4672
6.86k
yy278:
4673
6.86k
    YYDEBUG(278, *YYCURSOR);
4674
6.86k
    yyaccept = 17;
4675
6.86k
    yych = *(YYMARKER = ++YYCURSOR);
4676
6.86k
    if (yybm[256+yych] & 128) {
4677
427
      goto yy47;
4678
427
    }
4679
6.43k
    if (yych == '\\') goto yy164;
4680
6.42k
yy279:
4681
6.42k
    YYDEBUG(279, *YYCURSOR);
4682
6.42k
    yyleng = YYCURSOR - SCNG(yy_text);
4683
6.42k
#line 1963 "Zend/zend_language_scanner.l"
4684
6.42k
    {
4685
6.42k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4686
6.42k
}
4687
0
#line 4688 "Zend/zend_language_scanner.c"
4688
35.2k
yy280:
4689
35.2k
    YYDEBUG(280, *YYCURSOR);
4690
35.2k
    yyaccept = 4;
4691
35.2k
    yych = *(YYMARKER = ++YYCURSOR);
4692
35.2k
    if (yych == 'A') goto yy375;
4693
34.2k
    if (yych == 'a') goto yy375;
4694
2.30k
    goto yy48;
4695
119k
yy281:
4696
119k
    YYDEBUG(281, *YYCURSOR);
4697
119k
    yyaccept = 18;
4698
119k
    YYMARKER = ++YYCURSOR;
4699
119k
    YYFILL(1);
4700
119k
    yych = *YYCURSOR;
4701
119k
    YYDEBUG(282, *YYCURSOR);
4702
119k
    if (yych <= '\\') {
4703
44.8k
      if (yych <= '@') {
4704
27.9k
        if (yych <= '/') goto yy283;
4705
10.8k
        if (yych <= '9') goto yy281;
4706
16.8k
      } else {
4707
16.8k
        if (yych <= 'Z') goto yy281;
4708
7.44k
        if (yych >= '\\') goto yy164;
4709
7.44k
      }
4710
74.9k
    } else {
4711
74.9k
      if (yych <= '`') {
4712
1.87k
        if (yych == '_') goto yy281;
4713
73.0k
      } else {
4714
73.0k
        if (yych <= 'z') goto yy281;
4715
24.3k
        if (yych >= 0x80) goto yy281;
4716
24.3k
      }
4717
74.9k
    }
4718
27.8k
yy283:
4719
27.8k
    YYDEBUG(283, *YYCURSOR);
4720
27.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4721
27.8k
#line 2472 "Zend/zend_language_scanner.l"
4722
27.8k
    {
4723
27.8k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4724
27.8k
}
4725
0
#line 4726 "Zend/zend_language_scanner.c"
4726
3.15k
yy284:
4727
3.15k
    YYDEBUG(284, *YYCURSOR);
4728
3.15k
    yych = *++YYCURSOR;
4729
3.15k
    if (yych == '<') goto yy261;
4730
807
    goto yy86;
4731
4.58k
yy285:
4732
4.58k
    YYDEBUG(285, *YYCURSOR);
4733
4.58k
    yyaccept = 4;
4734
4.58k
    yych = *(YYMARKER = ++YYCURSOR);
4735
4.58k
    if (yych == 'A') goto yy376;
4736
4.16k
    if (yych == 'a') goto yy376;
4737
773
    goto yy48;
4738
16.4k
yy286:
4739
16.4k
    YYDEBUG(286, *YYCURSOR);
4740
16.4k
    yyaccept = 4;
4741
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
4742
16.4k
    if (yych == 'L') goto yy377;
4743
14.6k
    if (yych == 'l') goto yy377;
4744
1.44k
    goto yy48;
4745
14.7k
yy287:
4746
14.7k
    YYDEBUG(287, *YYCURSOR);
4747
14.7k
    yyaccept = 4;
4748
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
4749
14.7k
    if (yych == 'E') goto yy378;
4750
13.1k
    if (yych == 'e') goto yy378;
4751
2.46k
    goto yy48;
4752
43.8k
yy288:
4753
43.8k
    YYDEBUG(288, *YYCURSOR);
4754
43.8k
    yyaccept = 4;
4755
43.8k
    yych = *(YYMARKER = ++YYCURSOR);
4756
43.8k
    if (yych == 'C') goto yy380;
4757
43.4k
    if (yych == 'c') goto yy380;
4758
2.30k
    goto yy48;
4759
95.8k
yy289:
4760
95.8k
    YYDEBUG(289, *YYCURSOR);
4761
95.8k
    yyaccept = 4;
4762
95.8k
    yych = *(YYMARKER = ++YYCURSOR);
4763
95.8k
    if (yych == 'S') goto yy381;
4764
94.6k
    if (yych == 's') goto yy381;
4765
2.68k
    goto yy48;
4766
9.76k
yy290:
4767
9.76k
    YYDEBUG(290, *YYCURSOR);
4768
9.76k
    yyaccept = 4;
4769
9.76k
    yych = *(YYMARKER = ++YYCURSOR);
4770
9.76k
    if (yych == 'N') goto yy382;
4771
9.01k
    if (yych == 'n') goto yy382;
4772
4.43k
    goto yy48;
4773
56.7k
yy291:
4774
56.7k
    YYDEBUG(291, *YYCURSOR);
4775
56.7k
    yyaccept = 4;
4776
56.7k
    yych = *(YYMARKER = ++YYCURSOR);
4777
56.7k
    if (yych <= 'T') {
4778
6.11k
      if (yych <= 'R') goto yy48;
4779
4.76k
      if (yych <= 'S') goto yy383;
4780
2.06k
      goto yy384;
4781
50.6k
    } else {
4782
50.6k
      if (yych <= 'r') goto yy48;
4783
50.1k
      if (yych <= 's') goto yy383;
4784
8.38k
      if (yych <= 't') goto yy384;
4785
520
      goto yy48;
4786
8.38k
    }
4787
11.3k
yy292:
4788
11.3k
    YYDEBUG(292, *YYCURSOR);
4789
11.3k
    yyaccept = 4;
4790
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
4791
11.3k
    if (yych == 'L') goto yy385;
4792
11.0k
    if (yych == 'l') goto yy385;
4793
2.04k
    goto yy48;
4794
11.8k
yy293:
4795
11.8k
    YYDEBUG(293, *YYCURSOR);
4796
11.8k
    yyaccept = 4;
4797
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
4798
11.8k
    if (yych == 'A') goto yy386;
4799
11.4k
    if (yych == 'a') goto yy386;
4800
7.75k
    goto yy48;
4801
7.75k
yy294:
4802
4.47k
    YYDEBUG(294, *YYCURSOR);
4803
4.47k
    yyaccept = 19;
4804
4.47k
    yych = *(YYMARKER = ++YYCURSOR);
4805
4.47k
    if (yybm[256+yych] & 128) {
4806
792
      goto yy47;
4807
792
    }
4808
3.68k
    if (yych == '\\') goto yy164;
4809
3.68k
yy295:
4810
3.68k
    YYDEBUG(295, *YYCURSOR);
4811
3.68k
    yyleng = YYCURSOR - SCNG(yy_text);
4812
3.68k
#line 1432 "Zend/zend_language_scanner.l"
4813
3.68k
    {
4814
3.68k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4815
3.68k
}
4816
0
#line 4817 "Zend/zend_language_scanner.c"
4817
105k
yy296:
4818
105k
    YYDEBUG(296, *YYCURSOR);
4819
105k
    yyaccept = 4;
4820
105k
    yych = *(YYMARKER = ++YYCURSOR);
4821
105k
    if (yych == 'O') goto yy387;
4822
105k
    if (yych == 'o') goto yy387;
4823
1.71k
    goto yy48;
4824
11.1k
yy297:
4825
11.1k
    YYDEBUG(297, *YYCURSOR);
4826
11.1k
    yyaccept = 4;
4827
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
4828
11.1k
    if (yych == 'E') goto yy389;
4829
10.7k
    if (yych == 'e') goto yy389;
4830
774
    goto yy48;
4831
7.14k
yy298:
4832
7.14k
    YYDEBUG(298, *YYCURSOR);
4833
7.14k
    yyaccept = 4;
4834
7.14k
    yych = *(YYMARKER = ++YYCURSOR);
4835
7.14k
    if (yych == 'T') goto yy391;
4836
5.19k
    if (yych == 't') goto yy391;
4837
1.87k
    goto yy48;
4838
48.6k
yy299:
4839
48.6k
    YYDEBUG(299, *YYCURSOR);
4840
48.6k
    yyaccept = 4;
4841
48.6k
    yych = *(YYMARKER = ++YYCURSOR);
4842
48.6k
    switch (yych) {
4843
1.13k
    case 'D':
4844
4.66k
    case 'd': goto yy392;
4845
6.57k
    case 'F':
4846
13.1k
    case 'f': goto yy393;
4847
3.80k
    case 'I':
4848
6.65k
    case 'i': goto yy394;
4849
1.05k
    case 'S':
4850
6.86k
    case 's': goto yy395;
4851
4.00k
    case 'W':
4852
9.24k
    case 'w': goto yy396;
4853
8.06k
    default:  goto yy48;
4854
48.6k
    }
4855
174k
yy300:
4856
174k
    YYDEBUG(300, *YYCURSOR);
4857
174k
    yyaccept = 4;
4858
174k
    yych = *(YYMARKER = ++YYCURSOR);
4859
174k
    if (yych == 'M') goto yy397;
4860
170k
    if (yych == 'm') goto yy397;
4861
15.7k
    goto yy48;
4862
15.7k
yy301:
4863
7.15k
    YYDEBUG(301, *YYCURSOR);
4864
7.15k
    yyaccept = 4;
4865
7.15k
    yych = *(YYMARKER = ++YYCURSOR);
4866
7.15k
    if (yych == 'L') goto yy398;
4867
6.96k
    if (yych == 'l') goto yy398;
4868
1.18k
    goto yy48;
4869
3.08k
yy302:
4870
3.08k
    YYDEBUG(302, *YYCURSOR);
4871
3.08k
    yyaccept = 4;
4872
3.08k
    yych = *(YYMARKER = ++YYCURSOR);
4873
3.08k
    if (yych == 'T') goto yy400;
4874
2.16k
    if (yych == 't') goto yy400;
4875
621
    goto yy48;
4876
26.2k
yy303:
4877
26.2k
    YYDEBUG(303, *YYCURSOR);
4878
26.2k
    yyaccept = 4;
4879
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
4880
26.2k
    if (yych == 'E') goto yy402;
4881
25.2k
    if (yych == 'e') goto yy402;
4882
3.19k
    goto yy48;
4883
14.4k
yy304:
4884
14.4k
    YYDEBUG(304, *YYCURSOR);
4885
14.4k
    yyaccept = 4;
4886
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
4887
14.4k
    if (yych == 'A') goto yy403;
4888
13.0k
    if (yych == 'a') goto yy403;
4889
1.08k
    goto yy48;
4890
64.6k
yy305:
4891
64.6k
    YYDEBUG(305, *YYCURSOR);
4892
64.6k
    yyaccept = 20;
4893
64.6k
    yych = *(YYMARKER = ++YYCURSOR);
4894
64.6k
    if (yych <= '\\') {
4895
35.6k
      if (yych <= 'D') {
4896
32.9k
        if (yych <= '/') goto yy306;
4897
2.36k
        if (yych <= '9') goto yy47;
4898
2.16k
        if (yych >= 'A') goto yy47;
4899
2.70k
      } else {
4900
2.70k
        if (yych <= 'E') goto yy404;
4901
1.19k
        if (yych <= 'Z') goto yy47;
4902
319
        if (yych >= '\\') goto yy164;
4903
319
      }
4904
35.6k
    } else {
4905
28.9k
      if (yych <= 'd') {
4906
1.04k
        if (yych == '_') goto yy47;
4907
825
        if (yych >= 'a') goto yy47;
4908
27.8k
      } else {
4909
27.8k
        if (yych <= 'e') goto yy404;
4910
2.57k
        if (yych <= 'z') goto yy47;
4911
1.18k
        if (yych >= 0x80) goto yy47;
4912
1.18k
      }
4913
28.9k
    }
4914
33.9k
yy306:
4915
33.9k
    YYDEBUG(306, *YYCURSOR);
4916
33.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4917
33.9k
#line 1511 "Zend/zend_language_scanner.l"
4918
33.9k
    {
4919
33.9k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4920
33.9k
}
4921
0
#line 4922 "Zend/zend_language_scanner.c"
4922
126k
yy307:
4923
126k
    YYDEBUG(307, *YYCURSOR);
4924
126k
    yyaccept = 4;
4925
126k
    yych = *(YYMARKER = ++YYCURSOR);
4926
126k
    if (yych == 'C') goto yy405;
4927
125k
    if (yych == 'c') goto yy405;
4928
1.66k
    goto yy48;
4929
9.52k
yy308:
4930
9.52k
    YYDEBUG(308, *YYCURSOR);
4931
9.52k
    yyaccept = 4;
4932
9.52k
    yych = *(YYMARKER = ++YYCURSOR);
4933
9.52k
    if (yych == 'B') goto yy406;
4934
6.83k
    if (yych == 'b') goto yy406;
4935
1.83k
    goto yy48;
4936
5.42k
yy309:
4937
5.42k
    YYDEBUG(309, *YYCURSOR);
4938
5.42k
    yyaccept = 4;
4939
5.42k
    yych = *(YYMARKER = ++YYCURSOR);
4940
5.42k
    if (yych == 'O') goto yy407;
4941
3.61k
    if (yych == 'o') goto yy407;
4942
633
    goto yy48;
4943
28.8k
yy310:
4944
28.8k
    YYDEBUG(310, *YYCURSOR);
4945
28.8k
    yyaccept = 4;
4946
28.8k
    yych = *(YYMARKER = ++YYCURSOR);
4947
28.8k
    if (yych == 'L') goto yy409;
4948
26.3k
    if (yych == 'l') goto yy409;
4949
3.89k
    goto yy48;
4950
14.5k
yy311:
4951
14.5k
    YYDEBUG(311, *YYCURSOR);
4952
14.5k
    yyaccept = 4;
4953
14.5k
    yych = *(YYMARKER = ++YYCURSOR);
4954
14.5k
    if (yych == 'L') goto yy410;
4955
12.3k
    if (yych == 'l') goto yy410;
4956
2.63k
    goto yy48;
4957
17.1k
yy312:
4958
17.1k
    YYDEBUG(312, *YYCURSOR);
4959
17.1k
    yyaccept = 4;
4960
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
4961
17.1k
    if (yych == 'T') goto yy411;
4962
14.0k
    if (yych == 't') goto yy411;
4963
1.21k
    goto yy48;
4964
30.5k
yy313:
4965
30.5k
    YYDEBUG(313, *YYCURSOR);
4966
30.5k
    yyaccept = 4;
4967
30.5k
    yych = *(YYMARKER = ++YYCURSOR);
4968
30.5k
    if (yych == 'E') goto yy412;
4969
29.2k
    if (yych == 'e') goto yy412;
4970
16.9k
    goto yy48;
4971
16.9k
yy314:
4972
16.7k
    YYDEBUG(314, *YYCURSOR);
4973
16.7k
    yyaccept = 4;
4974
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
4975
16.7k
    if (yych == 'E') goto yy413;
4976
16.5k
    if (yych == 'e') goto yy413;
4977
794
    goto yy48;
4978
5.90k
yy315:
4979
5.90k
    YYDEBUG(315, *YYCURSOR);
4980
5.90k
    yyaccept = 4;
4981
5.90k
    yych = *(YYMARKER = ++YYCURSOR);
4982
5.90k
    if (yych == 'T') goto yy414;
4983
5.01k
    if (yych == 't') goto yy414;
4984
729
    goto yy48;
4985
6.24k
yy316:
4986
6.24k
    YYDEBUG(316, *YYCURSOR);
4987
6.24k
    yyaccept = 4;
4988
6.24k
    yych = *(YYMARKER = ++YYCURSOR);
4989
6.24k
    if (yych == 'C') goto yy416;
4990
5.93k
    if (yych == 'c') goto yy416;
4991
585
    goto yy48;
4992
29.3k
yy317:
4993
29.3k
    YYDEBUG(317, *YYCURSOR);
4994
29.3k
    yyaccept = 4;
4995
29.3k
    yych = *(YYMARKER = ++YYCURSOR);
4996
29.3k
    if (yych == 'E') goto yy417;
4997
26.7k
    if (yych == 'e') goto yy417;
4998
3.58k
    goto yy48;
4999
98.6k
yy318:
5000
98.6k
    YYDEBUG(318, *YYCURSOR);
5001
98.6k
    yyaccept = 21;
5002
98.6k
    yych = *(YYMARKER = ++YYCURSOR);
5003
98.6k
    if (yybm[256+yych] & 128) {
5004
1.31k
      goto yy47;
5005
1.31k
    }
5006
97.2k
    if (yych == '\\') goto yy164;
5007
97.2k
yy319:
5008
97.2k
    YYDEBUG(319, *YYCURSOR);
5009
97.2k
    yyleng = YYCURSOR - SCNG(yy_text);
5010
97.2k
#line 1655 "Zend/zend_language_scanner.l"
5011
97.2k
    {
5012
97.2k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
5013
97.2k
}
5014
0
#line 5015 "Zend/zend_language_scanner.c"
5015
40.3k
yy320:
5016
40.3k
    YYDEBUG(320, *YYCURSOR);
5017
40.3k
    yyaccept = 4;
5018
40.3k
    yych = *(YYMARKER = ++YYCURSOR);
5019
40.3k
    if (yych <= 'V') {
5020
3.78k
      if (yych == 'N') goto yy418;
5021
2.54k
      if (yych <= 'U') goto yy48;
5022
1.56k
      goto yy419;
5023
36.6k
    } else {
5024
36.6k
      if (yych <= 'n') {
5025
21.8k
        if (yych <= 'm') goto yy48;
5026
17.0k
        goto yy418;
5027
21.8k
      } else {
5028
14.7k
        if (yych == 'v') goto yy419;
5029
1.01k
        goto yy48;
5030
14.7k
      }
5031
36.6k
    }
5032
13.4k
yy321:
5033
13.4k
    YYDEBUG(321, *YYCURSOR);
5034
13.4k
    yyaccept = 4;
5035
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
5036
13.4k
    if (yych == 'T') goto yy420;
5037
12.2k
    if (yych == 't') goto yy420;
5038
1.70k
    goto yy48;
5039
77.3k
yy322:
5040
77.3k
    YYDEBUG(322, *YYCURSOR);
5041
77.3k
    yyaccept = 4;
5042
77.3k
    yych = *(YYMARKER = ++YYCURSOR);
5043
77.3k
    if (yych == 'L') goto yy421;
5044
75.8k
    if (yych == 'l') goto yy421;
5045
2.78k
    goto yy48;
5046
11.6k
yy323:
5047
11.6k
    YYDEBUG(323, *YYCURSOR);
5048
11.6k
    yyaccept = 4;
5049
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
5050
11.6k
    if (yych == 'D') goto yy422;
5051
11.4k
    if (yych == 'd') goto yy422;
5052
2.75k
    goto yy48;
5053
26.3k
yy324:
5054
26.3k
    YYDEBUG(324, *YYCURSOR);
5055
26.3k
    yyaccept = 4;
5056
26.3k
    yych = *(YYMARKER = ++YYCURSOR);
5057
26.3k
    if (yych == 'U') goto yy423;
5058
24.6k
    if (yych == 'u') goto yy423;
5059
5.10k
    goto yy48;
5060
33.3k
yy325:
5061
33.3k
    YYDEBUG(325, *YYCURSOR);
5062
33.3k
    yyaccept = 4;
5063
33.3k
    yych = *(YYMARKER = ++YYCURSOR);
5064
33.3k
    if (yych == 'U') goto yy424;
5065
32.9k
    if (yych == 'u') goto yy424;
5066
678
    goto yy48;
5067
26.7k
yy326:
5068
26.7k
    YYDEBUG(326, *YYCURSOR);
5069
26.7k
    yyaccept = 4;
5070
26.7k
    yych = *(YYMARKER = ++YYCURSOR);
5071
26.7k
    if (yych == 'T') goto yy425;
5072
26.0k
    if (yych == 't') goto yy425;
5073
1.87k
    goto yy48;
5074
6.81k
yy327:
5075
6.81k
    YYDEBUG(327, *YYCURSOR);
5076
6.81k
    yyaccept = 4;
5077
6.81k
    yych = *(YYMARKER = ++YYCURSOR);
5078
6.81k
    if (yych == 'T') goto yy426;
5079
6.23k
    if (yych == 't') goto yy426;
5080
361
    goto yy48;
5081
15.5k
yy328:
5082
15.5k
    YYDEBUG(328, *YYCURSOR);
5083
15.5k
    yyaccept = 4;
5084
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
5085
15.5k
    if (yych == 'O') goto yy427;
5086
12.6k
    if (yych == 'o') goto yy427;
5087
972
    goto yy48;
5088
13.0k
yy329:
5089
13.0k
    YYDEBUG(329, *YYCURSOR);
5090
13.0k
    yyaccept = 4;
5091
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
5092
13.0k
    if (yych == 'I') goto yy428;
5093
11.4k
    if (yych == 'i') goto yy428;
5094
1.62k
    goto yy48;
5095
50.5k
yy330:
5096
50.5k
    YYDEBUG(330, *YYCURSOR);
5097
50.5k
    yyaccept = 22;
5098
50.5k
    yych = *(YYMARKER = ++YYCURSOR);
5099
50.5k
    if (yybm[256+yych] & 128) {
5100
1.83k
      goto yy47;
5101
1.83k
    }
5102
48.7k
    if (yych == '\\') goto yy164;
5103
48.7k
yy331:
5104
48.7k
    YYDEBUG(331, *YYCURSOR);
5105
48.7k
    yyleng = YYCURSOR - SCNG(yy_text);
5106
48.7k
#line 1467 "Zend/zend_language_scanner.l"
5107
48.7k
    {
5108
48.7k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5109
48.7k
}
5110
0
#line 5111 "Zend/zend_language_scanner.c"
5111
22.2k
yy332:
5112
22.2k
    YYDEBUG(332, *YYCURSOR);
5113
22.2k
    yyaccept = 4;
5114
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
5115
22.2k
    if (yych == 'E') goto yy429;
5116
20.1k
    if (yych == 'e') goto yy429;
5117
2.63k
    goto yy48;
5118
13.9k
yy333:
5119
13.9k
    YYDEBUG(333, *YYCURSOR);
5120
13.9k
    yyaccept = 23;
5121
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
5122
13.9k
    if (yybm[256+yych] & 128) {
5123
2.57k
      goto yy47;
5124
2.57k
    }
5125
11.3k
    if (yych == '\\') goto yy164;
5126
11.3k
yy334:
5127
11.3k
    YYDEBUG(334, *YYCURSOR);
5128
11.3k
    yyleng = YYCURSOR - SCNG(yy_text);
5129
11.3k
#line 1771 "Zend/zend_language_scanner.l"
5130
11.3k
    {
5131
11.3k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5132
11.3k
}
5133
0
#line 5134 "Zend/zend_language_scanner.c"
5134
117k
yy335:
5135
117k
    YYDEBUG(335, *YYCURSOR);
5136
117k
    yyaccept = 24;
5137
117k
    yych = *(YYMARKER = ++YYCURSOR);
5138
117k
    if (yybm[256+yych] & 128) {
5139
113k
      goto yy47;
5140
113k
    }
5141
4.54k
    if (yych == '\\') goto yy164;
5142
4.42k
yy336:
5143
4.42k
    YYDEBUG(336, *YYCURSOR);
5144
4.42k
    yyleng = YYCURSOR - SCNG(yy_text);
5145
4.42k
#line 1663 "Zend/zend_language_scanner.l"
5146
4.42k
    {
5147
4.42k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5148
4.42k
}
5149
0
#line 5150 "Zend/zend_language_scanner.c"
5150
7.19k
yy337:
5151
7.19k
    YYDEBUG(337, *YYCURSOR);
5152
7.19k
    yyaccept = 4;
5153
7.19k
    yych = *(YYMARKER = ++YYCURSOR);
5154
7.19k
    if (yych == 'L') goto yy430;
5155
6.81k
    if (yych == 'l') goto yy430;
5156
691
    goto yy48;
5157
5.83k
yy338:
5158
5.83k
    YYDEBUG(338, *YYCURSOR);
5159
5.83k
    yyaccept = 25;
5160
5.83k
    yych = *(YYMARKER = ++YYCURSOR);
5161
5.83k
    if (yybm[256+yych] & 128) {
5162
226
      goto yy47;
5163
226
    }
5164
5.60k
    if (yych == '\\') goto yy164;
5165
5.60k
yy339:
5166
5.60k
    YYDEBUG(339, *YYCURSOR);
5167
5.60k
    yyleng = YYCURSOR - SCNG(yy_text);
5168
5.60k
#line 1967 "Zend/zend_language_scanner.l"
5169
5.60k
    {
5170
5.60k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5171
5.60k
}
5172
0
#line 5173 "Zend/zend_language_scanner.c"
5173
86.3k
yy340:
5174
86.3k
    YYDEBUG(340, *YYCURSOR);
5175
86.3k
    yyaccept = 4;
5176
86.3k
    yych = *(YYMARKER = ++YYCURSOR);
5177
86.3k
    if (yych == 'L') goto yy431;
5178
84.0k
    if (yych == 'l') goto yy431;
5179
6.14k
    goto yy48;
5180
14.5k
yy341:
5181
14.5k
    YYDEBUG(341, *YYCURSOR);
5182
14.5k
    ++YYCURSOR;
5183
14.5k
    YYFILL(1);
5184
14.5k
    yych = *YYCURSOR;
5185
14.5k
    if (yych <= '_') {
5186
11.7k
      if (yych <= '@') goto yy86;
5187
10.2k
      if (yych <= 'Z') goto yy211;
5188
1.98k
      if (yych <= '^') goto yy86;
5189
712
      goto yy211;
5190
2.81k
    } else {
5191
2.81k
      if (yych <= '`') goto yy86;
5192
2.58k
      if (yych <= 'z') goto yy211;
5193
746
      if (yych <= 0x7F) goto yy86;
5194
387
      goto yy211;
5195
746
    }
5196
19.4k
yy342:
5197
19.4k
    YYDEBUG(342, *YYCURSOR);
5198
19.4k
    yyaccept = 4;
5199
19.4k
    yych = *(YYMARKER = ++YYCURSOR);
5200
19.4k
    if (yych == 'L') goto yy432;
5201
16.4k
    if (yych == 'l') goto yy432;
5202
11.6k
    goto yy48;
5203
12.6k
yy343:
5204
12.6k
    YYDEBUG(343, *YYCURSOR);
5205
12.6k
    yyaccept = 4;
5206
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5207
12.6k
    if (yych == 'I') goto yy433;
5208
9.61k
    if (yych == 'i') goto yy433;
5209
5.50k
    goto yy48;
5210
22.8k
yy344:
5211
22.8k
    YYDEBUG(344, *YYCURSOR);
5212
22.8k
    yyaccept = 4;
5213
22.8k
    yych = *(YYMARKER = ++YYCURSOR);
5214
22.8k
    if (yych <= 'U') {
5215
14.2k
      if (yych == 'I') goto yy434;
5216
4.98k
      if (yych <= 'T') goto yy48;
5217
4.54k
      goto yy435;
5218
8.61k
    } else {
5219
8.61k
      if (yych <= 'i') {
5220
2.29k
        if (yych <= 'h') goto yy48;
5221
2.07k
        goto yy434;
5222
6.31k
      } else {
5223
6.31k
        if (yych == 'u') goto yy435;
5224
1.33k
        goto yy48;
5225
6.31k
      }
5226
8.61k
    }
5227
9.28k
yy345:
5228
9.28k
    YYDEBUG(345, *YYCURSOR);
5229
9.28k
    yyaccept = 4;
5230
9.28k
    yych = *(YYMARKER = ++YYCURSOR);
5231
9.28k
    if (yych == 'A') goto yy436;
5232
4.93k
    if (yych == 'a') goto yy436;
5233
1.07k
    goto yy48;
5234
5.12k
yy346:
5235
5.12k
    YYDEBUG(346, *YYCURSOR);
5236
5.12k
    yyaccept = 4;
5237
5.12k
    yych = *(YYMARKER = ++YYCURSOR);
5238
5.12k
    if (yych == 'I') goto yy437;
5239
3.75k
    if (yych == 'i') goto yy437;
5240
1.27k
    goto yy48;
5241
13.7k
yy347:
5242
13.7k
    YYDEBUG(347, *YYCURSOR);
5243
13.7k
    yyaccept = 4;
5244
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
5245
13.7k
    if (yych == 'E') goto yy438;
5246
5.19k
    if (yych == 'e') goto yy438;
5247
1.06k
    goto yy48;
5248
9.83k
yy348:
5249
9.83k
    YYDEBUG(348, *YYCURSOR);
5250
9.83k
    yyaccept = 4;
5251
9.83k
    yych = *(YYMARKER = ++YYCURSOR);
5252
9.83k
    if (yych == 'A') goto yy439;
5253
5.05k
    if (yych == 'a') goto yy439;
5254
1.05k
    goto yy48;
5255
6.91k
yy349:
5256
6.91k
    YYDEBUG(349, *YYCURSOR);
5257
6.91k
    yyaccept = 4;
5258
6.91k
    yych = *(YYMARKER = ++YYCURSOR);
5259
6.91k
    if (yych == 'R') goto yy440;
5260
1.28k
    if (yych == 'r') goto yy440;
5261
612
    goto yy48;
5262
7.86k
yy350:
5263
7.86k
    YYDEBUG(350, *YYCURSOR);
5264
7.86k
    yyaccept = 4;
5265
7.86k
    yych = *(YYMARKER = ++YYCURSOR);
5266
7.86k
    if (yych == 'R') goto yy441;
5267
5.54k
    if (yych == 'r') goto yy441;
5268
1.86k
    goto yy48;
5269
15.6k
yy351:
5270
15.6k
    YYDEBUG(351, *YYCURSOR);
5271
15.6k
    ++YYCURSOR;
5272
15.6k
    YYFILL(1);
5273
15.6k
    yych = *YYCURSOR;
5274
15.6k
    if (yybm[0+yych] & 2) {
5275
1.86k
      goto yy225;
5276
1.86k
    }
5277
13.7k
    if (yych <= 0x00) goto yy86;
5278
11.8k
    goto yy227;
5279
11.8k
yy352:
5280
7.19k
    YYDEBUG(352, *YYCURSOR);
5281
7.19k
    yyaccept = 26;
5282
7.19k
    YYMARKER = ++YYCURSOR;
5283
7.19k
    YYFILL(1);
5284
7.19k
    yych = *YYCURSOR;
5285
7.19k
    if (yybm[0+yych] & 2) {
5286
6.43k
      goto yy225;
5287
6.43k
    }
5288
755
    if (yych <= 0x00) goto yy89;
5289
430
    goto yy84;
5290
18.7k
yy353:
5291
18.7k
    YYDEBUG(353, *YYCURSOR);
5292
18.7k
    ++YYCURSOR;
5293
18.7k
    YYFILL(1);
5294
18.7k
    yych = *YYCURSOR;
5295
18.7k
    if (yych <= '\f') {
5296
2.19k
      if (yych <= 0x00) goto yy86;
5297
1.70k
      if (yych == '\n') goto yy84;
5298
156
      goto yy225;
5299
16.5k
    } else {
5300
16.5k
      if (yych <= '\r') goto yy84;
5301
11.3k
      if (yych == '.') goto yy442;
5302
5.32k
      goto yy225;
5303
11.3k
    }
5304
88.0k
yy354:
5305
88.0k
    YYDEBUG(354, *YYCURSOR);
5306
88.0k
    ++YYCURSOR;
5307
88.0k
    YYFILL(1);
5308
88.0k
    yych = *YYCURSOR;
5309
88.0k
    if (yych <= '\f') {
5310
2.37k
      if (yych <= 0x00) goto yy86;
5311
1.60k
      if (yych == '\n') goto yy84;
5312
921
      goto yy225;
5313
85.6k
    } else {
5314
85.6k
      if (yych <= '\r') goto yy84;
5315
72.9k
      if (yych == '*') goto yy443;
5316
4.49k
      goto yy225;
5317
72.9k
    }
5318
61.9k
yy355:
5319
61.9k
    YYDEBUG(355, *YYCURSOR);
5320
61.9k
    ++YYCURSOR;
5321
61.9k
    YYFILL(1);
5322
61.9k
    yych = *YYCURSOR;
5323
61.9k
    YYDEBUG(356, *YYCURSOR);
5324
61.9k
    if (yybm[0+yych] & 64) {
5325
1.27k
      goto yy355;
5326
1.27k
    }
5327
60.6k
    if (yych <= 0x00) goto yy86;
5328
59.8k
    if (yych == '/') goto yy84;
5329
13.8k
    goto yy230;
5330
14.3k
yy357:
5331
14.3k
    YYDEBUG(357, *YYCURSOR);
5332
14.3k
    yych = *++YYCURSOR;
5333
14.3k
    if (yych == 'A') goto yy445;
5334
14.1k
    if (yych == 'a') goto yy445;
5335
1.52k
    goto yy86;
5336
8.46k
yy358:
5337
8.46k
    YYDEBUG(358, *YYCURSOR);
5338
8.46k
    yych = *++YYCURSOR;
5339
8.46k
    if (yych == 'A') goto yy446;
5340
7.30k
    if (yych == 'a') goto yy446;
5341
2.05k
    goto yy86;
5342
5.82k
yy359:
5343
5.82k
    YYDEBUG(359, *YYCURSOR);
5344
5.82k
    yych = *++YYCURSOR;
5345
5.82k
    if (yych == 'L') goto yy447;
5346
5.64k
    if (yych == 'l') goto yy447;
5347
720
    goto yy86;
5348
3.52k
yy360:
5349
3.52k
    YYDEBUG(360, *YYCURSOR);
5350
3.52k
    yych = *++YYCURSOR;
5351
3.52k
    if (yych == 'B') goto yy448;
5352
3.29k
    if (yych == 'b') goto yy448;
5353
676
    goto yy86;
5354
5.23k
yy361:
5355
5.23k
    YYDEBUG(361, *YYCURSOR);
5356
5.23k
    yych = *++YYCURSOR;
5357
5.23k
    if (yych == 'A') goto yy449;
5358
4.95k
    if (yych == 'a') goto yy449;
5359
733
    goto yy86;
5360
11.8k
yy362:
5361
11.8k
    YYDEBUG(362, *YYCURSOR);
5362
11.8k
    yych = *++YYCURSOR;
5363
11.8k
    if (yych == 'E') goto yy454;
5364
11.4k
    if (yych == 'e') goto yy454;
5365
6.95k
    goto yy451;
5366
6.95k
yy363:
5367
5.65k
    YYDEBUG(363, *YYCURSOR);
5368
5.65k
    yych = *++YYCURSOR;
5369
5.65k
    if (yych == 'E') goto yy455;
5370
5.37k
    if (yych == 'e') goto yy455;
5371
1.60k
    goto yy86;
5372
2.26k
yy364:
5373
2.26k
    YYDEBUG(364, *YYCURSOR);
5374
2.26k
    yych = *++YYCURSOR;
5375
2.26k
    if (yych == 'L') goto yy456;
5376
2.09k
    if (yych == 'l') goto yy456;
5377
1.55k
    goto yy86;
5378
17.0k
yy365:
5379
17.0k
    YYDEBUG(365, *YYCURSOR);
5380
17.0k
    yych = *++YYCURSOR;
5381
17.0k
    if (yych == 'I') goto yy458;
5382
16.6k
    if (yych == 'i') goto yy458;
5383
2.81k
    goto yy86;
5384
4.32k
yy366:
5385
4.32k
    YYDEBUG(366, *YYCURSOR);
5386
4.32k
    yych = *++YYCURSOR;
5387
4.32k
    if (yych == 'E') goto yy459;
5388
3.33k
    if (yych == 'e') goto yy459;
5389
1.07k
    goto yy86;
5390
2.46k
yy367:
5391
2.46k
    YYDEBUG(367, *YYCURSOR);
5392
2.46k
    yych = *++YYCURSOR;
5393
2.46k
    if (yych == 'D') goto yy460;
5394
2.26k
    if (yych == 'd') goto yy460;
5395
320
    goto yy86;
5396
15.5k
yy368:
5397
15.5k
    YYDEBUG(368, *YYCURSOR);
5398
15.5k
    ++YYCURSOR;
5399
15.5k
    YYFILL(1);
5400
15.5k
    yych = *YYCURSOR;
5401
15.5k
    YYDEBUG(369, *YYCURSOR);
5402
15.5k
    if (yych <= '\f') {
5403
3.89k
      if (yych <= 0x08) goto yy129;
5404
3.25k
      if (yych <= '\n') goto yy368;
5405
182
      goto yy129;
5406
11.6k
    } else {
5407
11.6k
      if (yych <= '\r') goto yy368;
5408
11.4k
      if (yych == ' ') goto yy368;
5409
6.79k
      goto yy129;
5410
11.4k
    }
5411
3.10k
yy370:
5412
3.10k
    YYDEBUG(370, *YYCURSOR);
5413
3.10k
    yych = *++YYCURSOR;
5414
3.10k
    if (yych == '"') goto yy86;
5415
2.74k
    if (yych <= '/') goto yy463;
5416
1.72k
    if (yych <= '9') goto yy86;
5417
1.67k
    goto yy463;
5418
9.68k
yy371:
5419
9.68k
    YYDEBUG(371, *YYCURSOR);
5420
9.68k
    yych = *++YYCURSOR;
5421
9.68k
    if (yych == '\'') goto yy86;
5422
9.51k
    if (yych <= '/') goto yy465;
5423
9.18k
    if (yych <= '9') goto yy86;
5424
8.68k
    goto yy465;
5425
4.61M
yy372:
5426
4.61M
    YYDEBUG(372, *YYCURSOR);
5427
4.61M
    ++YYCURSOR;
5428
4.61M
    YYFILL(2);
5429
4.61M
    yych = *YYCURSOR;
5430
4.61M
    YYDEBUG(373, *YYCURSOR);
5431
4.61M
    if (yych <= '@') {
5432
3.29M
      if (yych <= '\f') {
5433
3.09M
        if (yych == '\n') goto yy466;
5434
38.2k
        goto yy86;
5435
3.09M
      } else {
5436
196k
        if (yych <= '\r') goto yy468;
5437
183k
        if (yych <= '/') goto yy86;
5438
119k
        if (yych <= '9') goto yy372;
5439
36.1k
        goto yy86;
5440
119k
      }
5441
3.29M
    } else {
5442
1.32M
      if (yych <= '_') {
5443
201k
        if (yych <= 'Z') goto yy372;
5444
27.6k
        if (yych <= '^') goto yy86;
5445
18.5k
        goto yy372;
5446
1.12M
      } else {
5447
1.12M
        if (yych <= '`') goto yy86;
5448
1.12M
        if (yych <= 'z') goto yy372;
5449
680k
        if (yych <= 0x7F) goto yy86;
5450
670k
        goto yy372;
5451
680k
      }
5452
1.32M
    }
5453
9.72k
yy374:
5454
9.72k
    YYDEBUG(374, *YYCURSOR);
5455
9.72k
    yyaccept = 4;
5456
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
5457
9.72k
    if (yych == 'R') goto yy469;
5458
8.44k
    if (yych == 'r') goto yy469;
5459
670
    goto yy48;
5460
32.9k
yy375:
5461
32.9k
    YYDEBUG(375, *YYCURSOR);
5462
32.9k
    yyaccept = 4;
5463
32.9k
    yych = *(YYMARKER = ++YYCURSOR);
5464
32.9k
    if (yych == 'Y') goto yy470;
5465
32.4k
    if (yych == 'y') goto yy470;
5466
2.46k
    goto yy48;
5467
3.80k
yy376:
5468
3.80k
    YYDEBUG(376, *YYCURSOR);
5469
3.80k
    yyaccept = 4;
5470
3.80k
    yych = *(YYMARKER = ++YYCURSOR);
5471
3.80k
    if (yych == 'K') goto yy472;
5472
3.49k
    if (yych == 'k') goto yy472;
5473
487
    goto yy48;
5474
15.0k
yy377:
5475
15.0k
    YYDEBUG(377, *YYCURSOR);
5476
15.0k
    yyaccept = 4;
5477
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
5478
15.0k
    if (yych == 'A') goto yy474;
5479
14.0k
    if (yych == 'a') goto yy474;
5480
11.1k
    goto yy48;
5481
12.2k
yy378:
5482
12.2k
    YYDEBUG(378, *YYCURSOR);
5483
12.2k
    yyaccept = 27;
5484
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5485
12.2k
    if (yybm[256+yych] & 128) {
5486
549
      goto yy47;
5487
549
    }
5488
11.6k
    if (yych == '\\') goto yy164;
5489
11.6k
yy379:
5490
11.6k
    YYDEBUG(379, *YYCURSOR);
5491
11.6k
    yyleng = YYCURSOR - SCNG(yy_text);
5492
11.6k
#line 1555 "Zend/zend_language_scanner.l"
5493
11.6k
    {
5494
11.6k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5495
11.6k
}
5496
0
#line 5497 "Zend/zend_language_scanner.c"
5497
41.5k
yy380:
5498
41.5k
    YYDEBUG(380, *YYCURSOR);
5499
41.5k
    yyaccept = 4;
5500
41.5k
    yych = *(YYMARKER = ++YYCURSOR);
5501
41.5k
    if (yych == 'H') goto yy475;
5502
40.9k
    if (yych == 'h') goto yy475;
5503
743
    goto yy48;
5504
93.1k
yy381:
5505
93.1k
    YYDEBUG(381, *YYCURSOR);
5506
93.1k
    yyaccept = 4;
5507
93.1k
    yych = *(YYMARKER = ++YYCURSOR);
5508
93.1k
    if (yych == 'S') goto yy477;
5509
91.9k
    if (yych == 's') goto yy477;
5510
1.24k
    goto yy48;
5511
5.33k
yy382:
5512
5.33k
    YYDEBUG(382, *YYCURSOR);
5513
5.33k
    yyaccept = 4;
5514
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
5515
5.33k
    if (yych == 'E') goto yy479;
5516
4.49k
    if (yych == 'e') goto yy479;
5517
311
    goto yy48;
5518
44.4k
yy383:
5519
44.4k
    YYDEBUG(383, *YYCURSOR);
5520
44.4k
    yyaccept = 4;
5521
44.4k
    yych = *(YYMARKER = ++YYCURSOR);
5522
44.4k
    if (yych == 'T') goto yy481;
5523
41.8k
    if (yych == 't') goto yy481;
5524
3.40k
    goto yy48;
5525
9.92k
yy384:
5526
9.92k
    YYDEBUG(384, *YYCURSOR);
5527
9.92k
    yyaccept = 4;
5528
9.92k
    yych = *(YYMARKER = ++YYCURSOR);
5529
9.92k
    if (yych == 'I') goto yy483;
5530
8.43k
    if (yych == 'i') goto yy483;
5531
4.84k
    goto yy48;
5532
9.27k
yy385:
5533
9.27k
    YYDEBUG(385, *YYCURSOR);
5534
9.27k
    yyaccept = 4;
5535
9.27k
    yych = *(YYMARKER = ++YYCURSOR);
5536
9.27k
    if (yych == 'A') goto yy484;
5537
9.02k
    if (yych == 'a') goto yy484;
5538
664
    goto yy48;
5539
4.08k
yy386:
5540
4.08k
    YYDEBUG(386, *YYCURSOR);
5541
4.08k
    yyaccept = 4;
5542
4.08k
    yych = *(YYMARKER = ++YYCURSOR);
5543
4.08k
    if (yych == 'U') goto yy485;
5544
3.67k
    if (yych == 'u') goto yy485;
5545
541
    goto yy48;
5546
104k
yy387:
5547
104k
    YYDEBUG(387, *YYCURSOR);
5548
104k
    yyaccept = 28;
5549
104k
    yych = *(YYMARKER = ++YYCURSOR);
5550
104k
    if (yybm[256+yych] & 128) {
5551
2.27k
      goto yy47;
5552
2.27k
    }
5553
101k
    if (yych == '\\') goto yy164;
5554
101k
yy388:
5555
101k
    YYDEBUG(388, *YYCURSOR);
5556
101k
    yyleng = YYCURSOR - SCNG(yy_text);
5557
101k
#line 1575 "Zend/zend_language_scanner.l"
5558
101k
    {
5559
101k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5560
101k
}
5561
0
#line 5562 "Zend/zend_language_scanner.c"
5562
10.4k
yy389:
5563
10.4k
    YYDEBUG(389, *YYCURSOR);
5564
10.4k
    yyaccept = 29;
5565
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5566
10.4k
    if (yych <= '\\') {
5567
6.48k
      if (yych <= 'H') {
5568
4.41k
        if (yych <= '/') goto yy390;
5569
1.31k
        if (yych <= '9') goto yy47;
5570
1.04k
        if (yych >= 'A') goto yy47;
5571
2.07k
      } else {
5572
2.07k
        if (yych <= 'I') goto yy486;
5573
1.51k
        if (yych <= 'Z') goto yy47;
5574
371
        if (yych >= '\\') goto yy164;
5575
371
      }
5576
6.48k
    } else {
5577
3.92k
      if (yych <= 'h') {
5578
553
        if (yych == '_') goto yy47;
5579
312
        if (yych >= 'a') goto yy47;
5580
3.37k
      } else {
5581
3.37k
        if (yych <= 'i') goto yy486;
5582
1.11k
        if (yych <= 'z') goto yy47;
5583
779
        if (yych >= 0x80) goto yy47;
5584
779
      }
5585
3.92k
    }
5586
4.85k
yy390:
5587
4.85k
    YYDEBUG(390, *YYCURSOR);
5588
4.85k
    yyleng = YYCURSOR - SCNG(yy_text);
5589
4.85k
#line 1495 "Zend/zend_language_scanner.l"
5590
4.85k
    {
5591
4.85k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5592
4.85k
}
5593
0
#line 5594 "Zend/zend_language_scanner.c"
5594
5.27k
yy391:
5595
5.27k
    YYDEBUG(391, *YYCURSOR);
5596
5.27k
    yyaccept = 4;
5597
5.27k
    yych = *(YYMARKER = ++YYCURSOR);
5598
5.27k
    if (yych == 'Y') goto yy487;
5599
3.36k
    if (yych == 'y') goto yy487;
5600
180
    goto yy48;
5601
4.66k
yy392:
5602
4.66k
    YYDEBUG(392, *YYCURSOR);
5603
4.66k
    yyaccept = 4;
5604
4.66k
    yych = *(YYMARKER = ++YYCURSOR);
5605
4.66k
    if (yych == 'E') goto yy489;
5606
3.73k
    if (yych == 'e') goto yy489;
5607
1.34k
    goto yy48;
5608
13.1k
yy393:
5609
13.1k
    YYDEBUG(393, *YYCURSOR);
5610
13.1k
    yyaccept = 4;
5611
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
5612
13.1k
    if (yych == 'O') goto yy490;
5613
7.28k
    if (yych == 'o') goto yy490;
5614
842
    goto yy48;
5615
6.65k
yy394:
5616
6.65k
    YYDEBUG(394, *YYCURSOR);
5617
6.65k
    yyaccept = 4;
5618
6.65k
    yych = *(YYMARKER = ++YYCURSOR);
5619
6.65k
    if (yych == 'F') goto yy491;
5620
3.07k
    if (yych == 'f') goto yy491;
5621
516
    goto yy48;
5622
6.86k
yy395:
5623
6.86k
    YYDEBUG(395, *YYCURSOR);
5624
6.86k
    yyaccept = 4;
5625
6.86k
    yych = *(YYMARKER = ++YYCURSOR);
5626
6.86k
    if (yych == 'W') goto yy493;
5627
6.01k
    if (yych == 'w') goto yy493;
5628
3.09k
    goto yy48;
5629
9.24k
yy396:
5630
9.24k
    YYDEBUG(396, *YYCURSOR);
5631
9.24k
    yyaccept = 4;
5632
9.24k
    yych = *(YYMARKER = ++YYCURSOR);
5633
9.24k
    if (yych == 'H') goto yy494;
5634
6.90k
    if (yych == 'h') goto yy494;
5635
1.78k
    goto yy48;
5636
158k
yy397:
5637
158k
    YYDEBUG(397, *YYCURSOR);
5638
158k
    yyaccept = 4;
5639
158k
    yych = *(YYMARKER = ++YYCURSOR);
5640
158k
    if (yych <= 0x1F) {
5641
133k
      if (yych <= '\n') {
5642
6.76k
        if (yych <= 0x08) goto yy48;
5643
5.91k
        goto yy495;
5644
126k
      } else {
5645
126k
        if (yych == '\r') goto yy495;
5646
466
        goto yy48;
5647
126k
      }
5648
133k
    } else {
5649
24.9k
      if (yych <= '#') {
5650
15.0k
        if (yych <= ' ') goto yy495;
5651
7.35k
        if (yych <= '"') goto yy48;
5652
6.95k
        goto yy497;
5653
9.86k
      } else {
5654
9.86k
        if (yych == '/') goto yy498;
5655
8.65k
        goto yy48;
5656
9.86k
      }
5657
24.9k
    }
5658
5.97k
yy398:
5659
5.97k
    YYDEBUG(398, *YYCURSOR);
5660
5.97k
    yyaccept = 30;
5661
5.97k
    yych = *(YYMARKER = ++YYCURSOR);
5662
5.97k
    if (yybm[256+yych] & 128) {
5663
1.85k
      goto yy47;
5664
1.85k
    }
5665
4.12k
    if (yych == '\\') goto yy164;
5666
4.12k
yy399:
5667
4.12k
    YYDEBUG(399, *YYCURSOR);
5668
4.12k
    yyleng = YYCURSOR - SCNG(yy_text);
5669
4.12k
#line 1747 "Zend/zend_language_scanner.l"
5670
4.12k
    {
5671
4.12k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5672
4.12k
}
5673
0
#line 5674 "Zend/zend_language_scanner.c"
5674
2.46k
yy400:
5675
2.46k
    YYDEBUG(400, *YYCURSOR);
5676
2.46k
    yyaccept = 31;
5677
2.46k
    yych = *(YYMARKER = ++YYCURSOR);
5678
2.46k
    if (yybm[256+yych] & 128) {
5679
321
      goto yy47;
5680
321
    }
5681
2.14k
    if (yych == '\\') goto yy164;
5682
2.12k
yy401:
5683
2.12k
    YYDEBUG(401, *YYCURSOR);
5684
2.12k
    yyleng = YYCURSOR - SCNG(yy_text);
5685
2.12k
#line 1428 "Zend/zend_language_scanner.l"
5686
2.12k
    {
5687
2.12k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5688
2.12k
}
5689
0
#line 5690 "Zend/zend_language_scanner.c"
5690
23.0k
yy402:
5691
23.0k
    YYDEBUG(402, *YYCURSOR);
5692
23.0k
    yyaccept = 4;
5693
23.0k
    yych = *(YYMARKER = ++YYCURSOR);
5694
23.0k
    if (yych == 'N') goto yy499;
5695
22.1k
    if (yych == 'n') goto yy499;
5696
2.21k
    goto yy48;
5697
13.3k
yy403:
5698
13.3k
    YYDEBUG(403, *YYCURSOR);
5699
13.3k
    yyaccept = 4;
5700
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
5701
13.3k
    if (yych == 'L') goto yy500;
5702
12.4k
    if (yych == 'l') goto yy500;
5703
951
    goto yy48;
5704
26.8k
yy404:
5705
26.8k
    YYDEBUG(404, *YYCURSOR);
5706
26.8k
    yyaccept = 4;
5707
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
5708
26.8k
    if (yych == 'A') goto yy502;
5709
26.0k
    if (yych == 'a') goto yy502;
5710
1.87k
    goto yy48;
5711
125k
yy405:
5712
125k
    YYDEBUG(405, *YYCURSOR);
5713
125k
    yyaccept = 4;
5714
125k
    yych = *(YYMARKER = ++YYCURSOR);
5715
125k
    if (yych == 'T') goto yy503;
5716
123k
    if (yych == 't') goto yy503;
5717
8.84k
    goto yy48;
5718
8.84k
yy406:
5719
7.69k
    YYDEBUG(406, *YYCURSOR);
5720
7.69k
    yyaccept = 4;
5721
7.69k
    yych = *(YYMARKER = ++YYCURSOR);
5722
7.69k
    if (yych == 'A') goto yy504;
5723
5.26k
    if (yych == 'a') goto yy504;
5724
686
    goto yy48;
5725
4.79k
yy407:
5726
4.79k
    YYDEBUG(407, *YYCURSOR);
5727
4.79k
    yyaccept = 32;
5728
4.79k
    yych = *(YYMARKER = ++YYCURSOR);
5729
4.79k
    if (yybm[256+yych] & 128) {
5730
332
      goto yy47;
5731
332
    }
5732
4.46k
    if (yych == '\\') goto yy164;
5733
4.40k
yy408:
5734
4.40k
    YYDEBUG(408, *YYCURSOR);
5735
4.40k
    yyleng = YYCURSOR - SCNG(yy_text);
5736
4.40k
#line 1571 "Zend/zend_language_scanner.l"
5737
4.40k
    {
5738
4.40k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5739
4.40k
}
5740
0
#line 5741 "Zend/zend_language_scanner.c"
5741
24.9k
yy409:
5742
24.9k
    YYDEBUG(409, *YYCURSOR);
5743
24.9k
    yyaccept = 4;
5744
24.9k
    yych = *(YYMARKER = ++YYCURSOR);
5745
24.9k
    if (yych == 'E') goto yy505;
5746
20.0k
    if (yych == 'e') goto yy505;
5747
4.53k
    goto yy48;
5748
11.9k
yy410:
5749
11.9k
    YYDEBUG(410, *YYCURSOR);
5750
11.9k
    yyaccept = 4;
5751
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
5752
11.9k
    if (yych == 'U') goto yy506;
5753
9.80k
    if (yych == 'u') goto yy506;
5754
1.17k
    goto yy48;
5755
15.8k
yy411:
5756
15.8k
    YYDEBUG(411, *YYCURSOR);
5757
15.8k
    yyaccept = 4;
5758
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5759
15.8k
    if (yych <= 'E') {
5760
3.39k
      if (yych == 'A') goto yy507;
5761
1.66k
      if (yych <= 'D') goto yy48;
5762
1.12k
      goto yy508;
5763
12.4k
    } else {
5764
12.4k
      if (yych <= 'a') {
5765
5.31k
        if (yych <= '`') goto yy48;
5766
5.05k
        goto yy507;
5767
7.17k
      } else {
5768
7.17k
        if (yych == 'e') goto yy508;
5769
537
        goto yy48;
5770
7.17k
      }
5771
12.4k
    }
5772
13.5k
yy412:
5773
13.5k
    YYDEBUG(412, *YYCURSOR);
5774
13.5k
    yyaccept = 4;
5775
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5776
13.5k
    if (yych == 'R') goto yy509;
5777
11.9k
    if (yych == 'r') goto yy509;
5778
4.12k
    goto yy48;
5779
15.9k
yy413:
5780
15.9k
    YYDEBUG(413, *YYCURSOR);
5781
15.9k
    yyaccept = 4;
5782
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
5783
15.9k
    if (yych == 'T') goto yy510;
5784
15.6k
    if (yych == 't') goto yy510;
5785
409
    goto yy48;
5786
5.17k
yy414:
5787
5.17k
    YYDEBUG(414, *YYCURSOR);
5788
5.17k
    yyaccept = 33;
5789
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
5790
5.17k
    if (yybm[256+yych] & 128) {
5791
613
      goto yy47;
5792
613
    }
5793
4.56k
    if (yych == '\\') goto yy164;
5794
4.51k
yy415:
5795
4.51k
    YYDEBUG(415, *YYCURSOR);
5796
4.51k
    yyleng = YYCURSOR - SCNG(yy_text);
5797
4.51k
#line 1843 "Zend/zend_language_scanner.l"
5798
4.51k
    {
5799
4.51k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5800
4.51k
}
5801
0
#line 5802 "Zend/zend_language_scanner.c"
5802
5.66k
yy416:
5803
5.66k
    YYDEBUG(416, *YYCURSOR);
5804
5.66k
    yyaccept = 4;
5805
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
5806
5.66k
    if (yych == 'H') goto yy512;
5807
5.35k
    if (yych == 'h') goto yy512;
5808
613
    goto yy48;
5809
25.7k
yy417:
5810
25.7k
    YYDEBUG(417, *YYCURSOR);
5811
25.7k
    yyaccept = 4;
5812
25.7k
    yych = *(YYMARKER = ++YYCURSOR);
5813
25.7k
    if (yych == 'S') goto yy514;
5814
23.7k
    if (yych == 's') goto yy514;
5815
2.09k
    goto yy48;
5816
18.2k
yy418:
5817
18.2k
    YYDEBUG(418, *YYCURSOR);
5818
18.2k
    yyaccept = 4;
5819
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
5820
18.2k
    if (yych == 'T') goto yy515;
5821
17.4k
    if (yych == 't') goto yy515;
5822
559
    goto yy48;
5823
15.2k
yy419:
5824
15.2k
    YYDEBUG(419, *YYCURSOR);
5825
15.2k
    yyaccept = 4;
5826
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
5827
15.2k
    if (yych == 'A') goto yy517;
5828
12.9k
    if (yych == 'a') goto yy517;
5829
853
    goto yy48;
5830
11.7k
yy420:
5831
11.7k
    YYDEBUG(420, *YYCURSOR);
5832
11.7k
    yyaccept = 4;
5833
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
5834
11.7k
    if (yych == 'E') goto yy518;
5835
10.6k
    if (yych == 'e') goto yy518;
5836
967
    goto yy48;
5837
74.5k
yy421:
5838
74.5k
    YYDEBUG(421, *YYCURSOR);
5839
74.5k
    yyaccept = 4;
5840
74.5k
    yych = *(YYMARKER = ++YYCURSOR);
5841
74.5k
    if (yych == 'I') goto yy519;
5842
72.9k
    if (yych == 'i') goto yy519;
5843
1.20k
    goto yy48;
5844
8.89k
yy422:
5845
8.89k
    YYDEBUG(422, *YYCURSOR);
5846
8.89k
    yyaccept = 4;
5847
8.89k
    yych = *(YYMARKER = ++YYCURSOR);
5848
8.89k
    if (yych == 'O') goto yy520;
5849
8.67k
    if (yych == 'o') goto yy520;
5850
853
    goto yy48;
5851
21.2k
yy423:
5852
21.2k
    YYDEBUG(423, *YYCURSOR);
5853
21.2k
    yyaccept = 4;
5854
21.2k
    yych = *(YYMARKER = ++YYCURSOR);
5855
21.2k
    if (yych == 'I') goto yy521;
5856
19.6k
    if (yych == 'i') goto yy521;
5857
817
    goto yy48;
5858
32.6k
yy424:
5859
32.6k
    YYDEBUG(424, *YYCURSOR);
5860
32.6k
    yyaccept = 4;
5861
32.6k
    yych = *(YYMARKER = ++YYCURSOR);
5862
32.6k
    if (yych == 'R') goto yy522;
5863
32.3k
    if (yych == 'r') goto yy522;
5864
414
    goto yy48;
5865
24.8k
yy425:
5866
24.8k
    YYDEBUG(425, *YYCURSOR);
5867
24.8k
    yyaccept = 4;
5868
24.8k
    yych = *(YYMARKER = ++YYCURSOR);
5869
24.8k
    if (yych == 'I') goto yy523;
5870
23.8k
    if (yych == 'i') goto yy523;
5871
1.26k
    goto yy48;
5872
6.45k
yy426:
5873
6.45k
    YYDEBUG(426, *YYCURSOR);
5874
6.45k
    yyaccept = 4;
5875
6.45k
    yych = *(YYMARKER = ++YYCURSOR);
5876
6.45k
    if (yych == 'C') goto yy524;
5877
6.21k
    if (yych == 'c') goto yy524;
5878
378
    goto yy48;
5879
14.5k
yy427:
5880
14.5k
    YYDEBUG(427, *YYCURSOR);
5881
14.5k
    yyaccept = 4;
5882
14.5k
    yych = *(YYMARKER = ++YYCURSOR);
5883
14.5k
    if (yych == 'W') goto yy525;
5884
13.5k
    if (yych == 'w') goto yy525;
5885
1.24k
    goto yy48;
5886
11.4k
yy428:
5887
11.4k
    YYDEBUG(428, *YYCURSOR);
5888
11.4k
    yyaccept = 4;
5889
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
5890
11.4k
    if (yych == 'T') goto yy527;
5891
10.3k
    if (yych == 't') goto yy527;
5892
1.39k
    goto yy48;
5893
19.5k
yy429:
5894
19.5k
    YYDEBUG(429, *YYCURSOR);
5895
19.5k
    yyaccept = 4;
5896
19.5k
    yych = *(YYMARKER = ++YYCURSOR);
5897
19.5k
    if (yych == 'T') goto yy529;
5898
18.9k
    if (yych == 't') goto yy529;
5899
5.87k
    goto yy48;
5900
6.50k
yy430:
5901
6.50k
    YYDEBUG(430, *YYCURSOR);
5902
6.50k
    yyaccept = 4;
5903
6.50k
    yych = *(YYMARKER = ++YYCURSOR);
5904
6.50k
    if (yych == 'E') goto yy531;
5905
6.12k
    if (yych == 'e') goto yy531;
5906
483
    goto yy48;
5907
80.2k
yy431:
5908
80.2k
    YYDEBUG(431, *YYCURSOR);
5909
80.2k
    yyaccept = 4;
5910
80.2k
    yych = *(YYMARKER = ++YYCURSOR);
5911
80.2k
    if (yych == 'D') goto yy533;
5912
78.4k
    if (yych == 'd') goto yy533;
5913
2.67k
    goto yy48;
5914
7.71k
yy432:
5915
7.71k
    YYDEBUG(432, *YYCURSOR);
5916
7.71k
    yyaccept = 4;
5917
7.71k
    yych = *(YYMARKER = ++YYCURSOR);
5918
7.71k
    if (yych == 'A') goto yy535;
5919
5.20k
    if (yych == 'a') goto yy535;
5920
1.26k
    goto yy48;
5921
7.11k
yy433:
5922
7.11k
    YYDEBUG(433, *YYCURSOR);
5923
7.11k
    yyaccept = 4;
5924
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
5925
7.11k
    if (yych == 'R') goto yy536;
5926
4.58k
    if (yych == 'r') goto yy536;
5927
1.19k
    goto yy48;
5928
11.3k
yy434:
5929
11.3k
    YYDEBUG(434, *YYCURSOR);
5930
11.3k
    yyaccept = 4;
5931
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
5932
11.3k
    if (yych == 'L') goto yy537;
5933
3.15k
    if (yych == 'l') goto yy537;
5934
1.24k
    goto yy48;
5935
9.53k
yy435:
5936
9.53k
    YYDEBUG(435, *YYCURSOR);
5937
9.53k
    yyaccept = 4;
5938
9.53k
    yych = *(YYMARKER = ++YYCURSOR);
5939
9.53k
    if (yych == 'N') goto yy538;
5940
5.60k
    if (yych == 'n') goto yy538;
5941
1.18k
    goto yy48;
5942
8.21k
yy436:
5943
8.21k
    YYDEBUG(436, *YYCURSOR);
5944
8.21k
    yyaccept = 4;
5945
8.21k
    yych = *(YYMARKER = ++YYCURSOR);
5946
8.21k
    if (yych == 'L') goto yy539;
5947
4.61k
    if (yych == 'l') goto yy539;
5948
1.23k
    goto yy48;
5949
3.85k
yy437:
5950
3.85k
    YYDEBUG(437, *YYCURSOR);
5951
3.85k
    yyaccept = 4;
5952
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
5953
3.85k
    if (yych == 'N') goto yy540;
5954
2.46k
    if (yych == 'n') goto yy540;
5955
751
    goto yy48;
5956
12.7k
yy438:
5957
12.7k
    YYDEBUG(438, *YYCURSOR);
5958
12.7k
    yyaccept = 4;
5959
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5960
12.7k
    if (yych == 'T') goto yy541;
5961
4.24k
    if (yych == 't') goto yy541;
5962
386
    goto yy48;
5963
8.78k
yy439:
5964
8.78k
    YYDEBUG(439, *YYCURSOR);
5965
8.78k
    yyaccept = 4;
5966
8.78k
    yych = *(YYMARKER = ++YYCURSOR);
5967
8.78k
    if (yych == 'M') goto yy542;
5968
3.94k
    if (yych == 'm') goto yy542;
5969
343
    goto yy48;
5970
6.30k
yy440:
5971
6.30k
    YYDEBUG(440, *YYCURSOR);
5972
6.30k
    yyaccept = 4;
5973
6.30k
    yych = *(YYMARKER = ++YYCURSOR);
5974
6.30k
    if (yych == 'O') goto yy543;
5975
3.22k
    if (yych == 'o') goto yy543;
5976
1.24k
    goto yy48;
5977
6.00k
yy441:
5978
6.00k
    YYDEBUG(441, *YYCURSOR);
5979
6.00k
    yyaccept = 4;
5980
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
5981
6.00k
    if (yych == 'A') goto yy544;
5982
4.98k
    if (yych == 'a') goto yy544;
5983
877
    goto yy48;
5984
6.02k
yy442:
5985
6.02k
    YYDEBUG(442, *YYCURSOR);
5986
6.02k
    ++YYCURSOR;
5987
6.02k
    YYFILL(1);
5988
6.02k
    yych = *YYCURSOR;
5989
6.02k
    if (yych <= '\f') {
5990
1.89k
      if (yych <= 0x00) goto yy86;
5991
1.53k
      if (yych == '\n') goto yy84;
5992
535
      goto yy225;
5993
4.12k
    } else {
5994
4.12k
      if (yych <= '\r') goto yy84;
5995
3.23k
      if (yych == '.') goto yy352;
5996
2.34k
      goto yy225;
5997
3.23k
    }
5998
1.21M
yy443:
5999
1.21M
    YYDEBUG(443, *YYCURSOR);
6000
1.21M
    ++YYCURSOR;
6001
1.21M
    YYFILL(1);
6002
1.21M
    yych = *YYCURSOR;
6003
1.21M
    YYDEBUG(444, *YYCURSOR);
6004
1.21M
    if (yybm[0+yych] & 128) {
6005
1.01M
      goto yy443;
6006
1.01M
    }
6007
196k
    if (yych <= 0x00) goto yy86;
6008
193k
    if (yych <= '\r') goto yy545;
6009
42.9k
    goto yy547;
6010
42.9k
yy445:
6011
12.8k
    YYDEBUG(445, *YYCURSOR);
6012
12.8k
    yych = *++YYCURSOR;
6013
12.8k
    if (yych == 'Y') goto yy549;
6014
11.8k
    if (yych == 'y') goto yy549;
6015
1.20k
    goto yy86;
6016
6.41k
yy446:
6017
6.41k
    YYDEBUG(446, *YYCURSOR);
6018
6.41k
    yych = *++YYCURSOR;
6019
6.41k
    if (yych == 'R') goto yy551;
6020
6.22k
    if (yych == 'r') goto yy551;
6021
3.53k
    goto yy86;
6022
5.10k
yy447:
6023
5.10k
    YYDEBUG(447, *YYCURSOR);
6024
5.10k
    yych = *++YYCURSOR;
6025
5.10k
    if (yych == 'E') goto yy556;
6026
4.96k
    if (yych == 'e') goto yy556;
6027
2.28k
    goto yy553;
6028
2.85k
yy448:
6029
2.85k
    YYDEBUG(448, *YYCURSOR);
6030
2.85k
    yych = *++YYCURSOR;
6031
2.85k
    if (yych == 'L') goto yy557;
6032
2.62k
    if (yych == 'l') goto yy557;
6033
359
    goto yy86;
6034
4.50k
yy449:
6035
4.50k
    YYDEBUG(449, *YYCURSOR);
6036
4.50k
    yych = *++YYCURSOR;
6037
4.50k
    if (yych == 'T') goto yy558;
6038
3.80k
    if (yych == 't') goto yy558;
6039
815
    goto yy86;
6040
2.88k
yy450:
6041
2.88k
    YYDEBUG(450, *YYCURSOR);
6042
2.88k
    ++YYCURSOR;
6043
2.88k
    YYFILL(1);
6044
2.88k
    yych = *YYCURSOR;
6045
9.84k
yy451:
6046
9.84k
    YYDEBUG(451, *YYCURSOR);
6047
9.84k
    if (yych <= 0x1F) {
6048
788
      if (yych == '\t') goto yy450;
6049
499
      goto yy86;
6050
9.05k
    } else {
6051
9.05k
      if (yych <= ' ') goto yy450;
6052
6.45k
      if (yych != ')') goto yy86;
6053
6.45k
    }
6054
2.90k
    YYDEBUG(452, *YYCURSOR);
6055
2.90k
    ++YYCURSOR;
6056
2.90k
    YYDEBUG(453, *YYCURSOR);
6057
2.90k
    yyleng = YYCURSOR - SCNG(yy_text);
6058
2.90k
#line 1667 "Zend/zend_language_scanner.l"
6059
2.90k
    {
6060
2.90k
  RETURN_TOKEN(T_INT_CAST);
6061
2.90k
}
6062
0
#line 6063 "Zend/zend_language_scanner.c"
6063
4.88k
yy454:
6064
4.88k
    YYDEBUG(454, *YYCURSOR);
6065
4.88k
    yych = *++YYCURSOR;
6066
4.88k
    if (yych == 'G') goto yy560;
6067
4.46k
    if (yych == 'g') goto yy560;
6068
1.49k
    goto yy86;
6069
4.04k
yy455:
6070
4.04k
    YYDEBUG(455, *YYCURSOR);
6071
4.04k
    yych = *++YYCURSOR;
6072
4.04k
    if (yych == 'C') goto yy561;
6073
3.70k
    if (yych == 'c') goto yy561;
6074
335
    goto yy86;
6075
1.24k
yy456:
6076
1.24k
    YYDEBUG(456, *YYCURSOR);
6077
1.24k
    ++YYCURSOR;
6078
1.24k
    YYFILL(1);
6079
1.24k
    yych = *YYCURSOR;
6080
1.24k
    YYDEBUG(457, *YYCURSOR);
6081
1.24k
    if (yych <= 0x1F) {
6082
417
      if (yych == '\t') goto yy456;
6083
170
      goto yy86;
6084
832
    } else {
6085
832
      if (yych <= ' ') goto yy456;
6086
539
      if (yych == ')') goto yy562;
6087
433
      goto yy86;
6088
539
    }
6089
14.2k
yy458:
6090
14.2k
    YYDEBUG(458, *YYCURSOR);
6091
14.2k
    yych = *++YYCURSOR;
6092
14.2k
    if (yych == 'N') goto yy564;
6093
13.9k
    if (yych == 'n') goto yy564;
6094
2.70k
    goto yy86;
6095
3.25k
yy459:
6096
3.25k
    YYDEBUG(459, *YYCURSOR);
6097
3.25k
    yych = *++YYCURSOR;
6098
3.25k
    if (yych == 'T') goto yy565;
6099
2.93k
    if (yych == 't') goto yy565;
6100
1.12k
    goto yy86;
6101
2.82k
yy460:
6102
2.82k
    YYDEBUG(460, *YYCURSOR);
6103
2.82k
    ++YYCURSOR;
6104
2.82k
    YYFILL(1);
6105
2.82k
    yych = *YYCURSOR;
6106
2.82k
    YYDEBUG(461, *YYCURSOR);
6107
2.82k
    if (yych <= 0x1F) {
6108
362
      if (yych == '\t') goto yy460;
6109
83
      goto yy86;
6110
2.46k
    } else {
6111
2.46k
      if (yych <= ' ') goto yy460;
6112
2.06k
      if (yych == ')') goto yy567;
6113
428
      goto yy86;
6114
2.06k
    }
6115
7.45k
yy462:
6116
7.45k
    YYDEBUG(462, *YYCURSOR);
6117
7.45k
    ++YYCURSOR;
6118
7.45k
    YYFILL(3);
6119
7.45k
    yych = *YYCURSOR;
6120
10.1k
yy463:
6121
10.1k
    YYDEBUG(463, *YYCURSOR);
6122
10.1k
    if (yych <= 'Z') {
6123
3.62k
      if (yych <= '/') {
6124
1.96k
        if (yych == '"') goto yy569;
6125
1.47k
        goto yy86;
6126
1.96k
      } else {
6127
1.66k
        if (yych <= '9') goto yy462;
6128
1.11k
        if (yych <= '@') goto yy86;
6129
843
        goto yy462;
6130
1.11k
      }
6131
6.52k
    } else {
6132
6.52k
      if (yych <= '`') {
6133
448
        if (yych == '_') goto yy462;
6134
169
        goto yy86;
6135
6.07k
      } else {
6136
6.07k
        if (yych <= 'z') goto yy462;
6137
2.38k
        if (yych <= 0x7F) goto yy86;
6138
2.09k
        goto yy462;
6139
2.38k
      }
6140
6.52k
    }
6141
25.9k
yy464:
6142
25.9k
    YYDEBUG(464, *YYCURSOR);
6143
25.9k
    ++YYCURSOR;
6144
25.9k
    YYFILL(3);
6145
25.9k
    yych = *YYCURSOR;
6146
34.9k
yy465:
6147
34.9k
    YYDEBUG(465, *YYCURSOR);
6148
34.9k
    if (yych <= 'Z') {
6149
17.8k
      if (yych <= '/') {
6150
7.19k
        if (yych == '\'') goto yy569;
6151
577
        goto yy86;
6152
10.6k
      } else {
6153
10.6k
        if (yych <= '9') goto yy464;
6154
10.0k
        if (yych <= '@') goto yy86;
6155
9.45k
        goto yy464;
6156
10.0k
      }
6157
17.8k
    } else {
6158
17.1k
      if (yych <= '`') {
6159
1.45k
        if (yych == '_') goto yy464;
6160
704
        goto yy86;
6161
15.6k
      } else {
6162
15.6k
        if (yych <= 'z') goto yy464;
6163
5.91k
        if (yych <= 0x7F) goto yy86;
6164
5.37k
        goto yy464;
6165
5.91k
      }
6166
17.1k
    }
6167
3.06M
yy466:
6168
3.06M
    YYDEBUG(466, *YYCURSOR);
6169
3.06M
    ++YYCURSOR;
6170
3.08M
yy467:
6171
3.08M
    YYDEBUG(467, *YYCURSOR);
6172
3.08M
    yyleng = YYCURSOR - SCNG(yy_text);
6173
3.08M
#line 2707 "Zend/zend_language_scanner.l"
6174
3.08M
    {
6175
3.08M
  char *s;
6176
3.08M
  unsigned char *saved_cursor;
6177
3.08M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6178
3.08M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6179
3.08M
  bool is_heredoc = 1;
6180
6181
3.08M
  CG(zend_lineno)++;
6182
3.08M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6183
3.08M
  s = yytext+bprefix+3;
6184
3.09M
  while ((*s == ' ') || (*s == '\t')) {
6185
9.27k
    s++;
6186
9.27k
    heredoc_label->length--;
6187
9.27k
  }
6188
6189
3.08M
  if (*s == '\'') {
6190
5.72k
    s++;
6191
5.72k
    heredoc_label->length -= 2;
6192
5.72k
    is_heredoc = 0;
6193
6194
5.72k
    BEGIN(ST_NOWDOC);
6195
3.07M
  } else {
6196
3.07M
    if (*s == '"') {
6197
351
      s++;
6198
351
      heredoc_label->length -= 2;
6199
351
    }
6200
6201
3.07M
    BEGIN(ST_HEREDOC);
6202
3.07M
  }
6203
6204
3.08M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6205
3.08M
  heredoc_label->indentation_uses_spaces = 0;
6206
3.08M
  heredoc_label->indentation = 0;
6207
3.08M
  saved_cursor = YYCURSOR;
6208
6209
3.08M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6210
6211
3.14M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6212
66.7k
    if (*YYCURSOR == '\t') {
6213
8.02k
      spacing |= HEREDOC_USING_TABS;
6214
58.7k
    } else {
6215
58.7k
      spacing |= HEREDOC_USING_SPACES;
6216
58.7k
    }
6217
66.7k
    ++YYCURSOR;
6218
66.7k
    ++indentation;
6219
66.7k
  }
6220
6221
3.08M
  if (YYCURSOR == YYLIMIT) {
6222
1.29k
    YYCURSOR = saved_cursor;
6223
1.29k
    RETURN_TOKEN(T_START_HEREDOC);
6224
1.29k
  }
6225
6226
  /* Check for ending label on the next line */
6227
3.07M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6228
8.04k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6229
3.38k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6230
202
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6231
202
        if (PARSER_MODE()) {
6232
7
          RETURN_TOKEN(T_ERROR);
6233
7
        }
6234
202
      }
6235
6236
3.38k
      YYCURSOR = saved_cursor;
6237
3.38k
      heredoc_label->indentation = indentation;
6238
6239
3.38k
      BEGIN(ST_END_HEREDOC);
6240
3.38k
      RETURN_TOKEN(T_START_HEREDOC);
6241
3.38k
    }
6242
8.04k
  }
6243
6244
3.07M
  YYCURSOR = saved_cursor;
6245
6246
3.07M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6247
150k
    zend_lex_state current_state;
6248
150k
    zend_string *saved_doc_comment = CG(doc_comment);
6249
150k
    int heredoc_nesting_level = 1;
6250
150k
    int first_token = 0;
6251
150k
    int error = 0;
6252
6253
150k
    zend_save_lexical_state(&current_state);
6254
6255
150k
    SCNG(heredoc_scan_ahead) = 1;
6256
150k
    SCNG(heredoc_indentation) = 0;
6257
150k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6258
150k
    SCNG(on_event_context) = NULL;
6259
150k
    LANG_SCNG(on_event) = NULL;
6260
150k
    CG(doc_comment) = NULL;
6261
6262
150k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6263
6264
150k
    zend_object *prev_exception = EG(exception);
6265
150k
    EG(exception) = NULL;
6266
20.9M
    while (heredoc_nesting_level) {
6267
20.9M
      zval zv;
6268
20.9M
      int retval;
6269
6270
20.9M
      ZVAL_UNDEF(&zv);
6271
20.9M
      retval = lex_scan(&zv, NULL);
6272
20.9M
      zval_ptr_dtor_nogc(&zv);
6273
6274
20.9M
      if (EG(exception)) {
6275
140k
        zend_clear_exception();
6276
140k
        break;
6277
140k
      }
6278
6279
20.7M
      if (!first_token) {
6280
150k
        first_token = retval;
6281
150k
      }
6282
6283
20.7M
      switch (retval) {
6284
2.92M
        case T_START_HEREDOC:
6285
2.92M
          ++heredoc_nesting_level;
6286
2.92M
          break;
6287
13.4k
        case T_END_HEREDOC:
6288
13.4k
          --heredoc_nesting_level;
6289
13.4k
          break;
6290
3.82k
        case END:
6291
3.82k
          heredoc_nesting_level = 0;
6292
20.7M
      }
6293
20.7M
    }
6294
150k
    EG(exception) = prev_exception;
6295
6296
150k
    if (
6297
150k
        (first_token == T_VARIABLE
6298
143k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6299
43.0k
         || first_token == T_CURLY_OPEN
6300
150k
        ) && SCNG(heredoc_indentation)) {
6301
9
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6302
9
      error = 1;
6303
9
    }
6304
6305
150k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6306
150k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6307
6308
150k
    zend_restore_lexical_state(&current_state);
6309
150k
    SCNG(heredoc_scan_ahead) = 0;
6310
150k
    CG(increment_lineno) = 0;
6311
150k
    CG(doc_comment) = saved_doc_comment;
6312
6313
150k
    if (PARSER_MODE() && error) {
6314
9
      RETURN_TOKEN(T_ERROR);
6315
9
    }
6316
150k
  }
6317
6318
3.07M
  RETURN_TOKEN(T_START_HEREDOC);
6319
3.07M
}
6320
0
#line 6321 "Zend/zend_language_scanner.c"
6321
14.6k
yy468:
6322
14.6k
    YYDEBUG(468, *YYCURSOR);
6323
14.6k
    yych = *++YYCURSOR;
6324
14.6k
    if (yych == '\n') goto yy466;
6325
14.2k
    goto yy467;
6326
14.2k
yy469:
6327
9.05k
    YYDEBUG(469, *YYCURSOR);
6328
9.05k
    yyaccept = 4;
6329
9.05k
    yych = *(YYMARKER = ++YYCURSOR);
6330
9.05k
    if (yych == 'A') goto yy570;
6331
7.89k
    if (yych == 'a') goto yy570;
6332
887
    goto yy48;
6333
30.4k
yy470:
6334
30.4k
    YYDEBUG(470, *YYCURSOR);
6335
30.4k
    yyaccept = 34;
6336
30.4k
    yych = *(YYMARKER = ++YYCURSOR);
6337
30.4k
    if (yybm[256+yych] & 128) {
6338
7.74k
      goto yy47;
6339
7.74k
    }
6340
22.7k
    if (yych == '\\') goto yy164;
6341
22.7k
yy471:
6342
22.7k
    YYDEBUG(471, *YYCURSOR);
6343
22.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6344
22.7k
#line 1847 "Zend/zend_language_scanner.l"
6345
22.7k
    {
6346
22.7k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6347
22.7k
}
6348
0
#line 6349 "Zend/zend_language_scanner.c"
6349
3.32k
yy472:
6350
3.32k
    YYDEBUG(472, *YYCURSOR);
6351
3.32k
    yyaccept = 35;
6352
3.32k
    yych = *(YYMARKER = ++YYCURSOR);
6353
3.32k
    if (yybm[256+yych] & 128) {
6354
345
      goto yy47;
6355
345
    }
6356
2.97k
    if (yych == '\\') goto yy164;
6357
2.84k
yy473:
6358
2.84k
    YYDEBUG(473, *YYCURSOR);
6359
2.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6360
2.84k
#line 1563 "Zend/zend_language_scanner.l"
6361
2.84k
    {
6362
2.84k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6363
2.84k
}
6364
0
#line 6365 "Zend/zend_language_scanner.c"
6365
3.92k
yy474:
6366
3.92k
    YYDEBUG(474, *YYCURSOR);
6367
3.92k
    yyaccept = 4;
6368
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
6369
3.92k
    if (yych == 'B') goto yy571;
6370
3.07k
    if (yych == 'b') goto yy571;
6371
437
    goto yy48;
6372
40.7k
yy475:
6373
40.7k
    YYDEBUG(475, *YYCURSOR);
6374
40.7k
    yyaccept = 36;
6375
40.7k
    yych = *(YYMARKER = ++YYCURSOR);
6376
40.7k
    if (yybm[256+yych] & 128) {
6377
1.11k
      goto yy47;
6378
1.11k
    }
6379
39.6k
    if (yych == '\\') goto yy164;
6380
39.6k
yy476:
6381
39.6k
    YYDEBUG(476, *YYCURSOR);
6382
39.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6383
39.6k
#line 1471 "Zend/zend_language_scanner.l"
6384
39.6k
    {
6385
39.6k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6386
39.6k
}
6387
0
#line 6388 "Zend/zend_language_scanner.c"
6388
91.9k
yy477:
6389
91.9k
    YYDEBUG(477, *YYCURSOR);
6390
91.9k
    yyaccept = 37;
6391
91.9k
    yych = *(YYMARKER = ++YYCURSOR);
6392
91.9k
    if (yybm[256+yych] & 128) {
6393
6.76k
      goto yy47;
6394
6.76k
    }
6395
85.1k
    if (yych == '\\') goto yy164;
6396
85.1k
yy478:
6397
85.1k
    YYDEBUG(478, *YYCURSOR);
6398
85.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6399
85.1k
#line 1583 "Zend/zend_language_scanner.l"
6400
85.1k
    {
6401
85.1k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6402
85.1k
}
6403
0
#line 6404 "Zend/zend_language_scanner.c"
6404
5.02k
yy479:
6405
5.02k
    YYDEBUG(479, *YYCURSOR);
6406
5.02k
    yyaccept = 38;
6407
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
6408
5.02k
    if (yybm[256+yych] & 128) {
6409
515
      goto yy47;
6410
515
    }
6411
4.50k
    if (yych == '\\') goto yy164;
6412
4.50k
yy480:
6413
4.50k
    YYDEBUG(480, *YYCURSOR);
6414
4.50k
    yyleng = YYCURSOR - SCNG(yy_text);
6415
4.50k
#line 1659 "Zend/zend_language_scanner.l"
6416
4.50k
    {
6417
4.50k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6418
4.50k
}
6419
0
#line 6420 "Zend/zend_language_scanner.c"
6420
41.0k
yy481:
6421
41.0k
    YYDEBUG(481, *YYCURSOR);
6422
41.0k
    yyaccept = 39;
6423
41.0k
    yych = *(YYMARKER = ++YYCURSOR);
6424
41.0k
    if (yybm[256+yych] & 128) {
6425
4.62k
      goto yy47;
6426
4.62k
    }
6427
36.3k
    if (yych == '\\') goto yy164;
6428
36.3k
yy482:
6429
36.3k
    YYDEBUG(482, *YYCURSOR);
6430
36.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6431
36.3k
#line 1444 "Zend/zend_language_scanner.l"
6432
36.3k
    {
6433
36.3k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6434
36.3k
}
6435
0
#line 6436 "Zend/zend_language_scanner.c"
6436
5.08k
yy483:
6437
5.08k
    YYDEBUG(483, *YYCURSOR);
6438
5.08k
    yyaccept = 4;
6439
5.08k
    yych = *(YYMARKER = ++YYCURSOR);
6440
5.08k
    if (yych == 'N') goto yy572;
6441
4.36k
    if (yych == 'n') goto yy572;
6442
958
    goto yy48;
6443
8.61k
yy484:
6444
8.61k
    YYDEBUG(484, *YYCURSOR);
6445
8.61k
    yyaccept = 4;
6446
8.61k
    yych = *(YYMARKER = ++YYCURSOR);
6447
8.61k
    if (yych == 'R') goto yy573;
6448
8.49k
    if (yych == 'r') goto yy573;
6449
1.34k
    goto yy48;
6450
3.54k
yy485:
6451
3.54k
    YYDEBUG(485, *YYCURSOR);
6452
3.54k
    yyaccept = 4;
6453
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
6454
3.54k
    if (yych == 'L') goto yy574;
6455
3.36k
    if (yych == 'l') goto yy574;
6456
375
    goto yy48;
6457
2.82k
yy486:
6458
2.82k
    YYDEBUG(486, *YYCURSOR);
6459
2.82k
    yyaccept = 4;
6460
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
6461
2.82k
    if (yych == 'F') goto yy575;
6462
2.68k
    if (yych == 'f') goto yy575;
6463
647
    goto yy48;
6464
5.09k
yy487:
6465
5.09k
    YYDEBUG(487, *YYCURSOR);
6466
5.09k
    yyaccept = 40;
6467
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
6468
5.09k
    if (yybm[256+yych] & 128) {
6469
333
      goto yy47;
6470
333
    }
6471
4.76k
    if (yych == '\\') goto yy164;
6472
4.76k
yy488:
6473
4.76k
    YYDEBUG(488, *YYCURSOR);
6474
4.76k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
4.76k
#line 1787 "Zend/zend_language_scanner.l"
6476
4.76k
    {
6477
4.76k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6478
4.76k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
3.31k
yy489:
6481
3.31k
    YYDEBUG(489, *YYCURSOR);
6482
3.31k
    yyaccept = 4;
6483
3.31k
    yych = *(YYMARKER = ++YYCURSOR);
6484
3.31k
    if (yych == 'C') goto yy577;
6485
2.69k
    if (yych == 'c') goto yy577;
6486
575
    goto yy48;
6487
12.2k
yy490:
6488
12.2k
    YYDEBUG(490, *YYCURSOR);
6489
12.2k
    yyaccept = 4;
6490
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
6491
12.2k
    if (yych == 'R') goto yy578;
6492
7.22k
    if (yych == 'r') goto yy578;
6493
888
    goto yy48;
6494
6.13k
yy491:
6495
6.13k
    YYDEBUG(491, *YYCURSOR);
6496
6.13k
    yyaccept = 41;
6497
6.13k
    yych = *(YYMARKER = ++YYCURSOR);
6498
6.13k
    if (yybm[256+yych] & 128) {
6499
786
      goto yy47;
6500
786
    }
6501
5.35k
    if (yych == '\\') goto yy164;
6502
5.25k
yy492:
6503
5.25k
    YYDEBUG(492, *YYCURSOR);
6504
5.25k
    yyleng = YYCURSOR - SCNG(yy_text);
6505
5.25k
#line 1491 "Zend/zend_language_scanner.l"
6506
5.25k
    {
6507
5.25k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6508
5.25k
}
6509
0
#line 6510 "Zend/zend_language_scanner.c"
6510
3.76k
yy493:
6511
3.76k
    YYDEBUG(493, *YYCURSOR);
6512
3.76k
    yyaccept = 4;
6513
3.76k
    yych = *(YYMARKER = ++YYCURSOR);
6514
3.76k
    if (yych == 'I') goto yy580;
6515
2.99k
    if (yych == 'i') goto yy580;
6516
408
    goto yy48;
6517
7.45k
yy494:
6518
7.45k
    YYDEBUG(494, *YYCURSOR);
6519
7.45k
    yyaccept = 4;
6520
7.45k
    yych = *(YYMARKER = ++YYCURSOR);
6521
7.45k
    if (yych == 'I') goto yy581;
6522
5.57k
    if (yych == 'i') goto yy581;
6523
1.10k
    goto yy48;
6524
844k
yy495:
6525
844k
    YYDEBUG(495, *YYCURSOR);
6526
844k
    ++YYCURSOR;
6527
844k
    YYFILL(10);
6528
844k
    yych = *YYCURSOR;
6529
844k
    YYDEBUG(496, *YYCURSOR);
6530
844k
    if (yych <= 'E') {
6531
804k
      if (yych <= ' ') {
6532
105k
        if (yych <= '\f') {
6533
28.2k
          if (yych <= 0x08) goto yy86;
6534
24.6k
          if (yych <= '\n') goto yy495;
6535
1.99k
          goto yy86;
6536
76.8k
        } else {
6537
76.8k
          if (yych <= '\r') goto yy495;
6538
9.72k
          if (yych <= 0x1F) goto yy86;
6539
8.37k
          goto yy495;
6540
9.72k
        }
6541
699k
      } else {
6542
699k
        if (yych <= '.') {
6543
678k
          if (yych != '#') goto yy86;
6544
678k
        } else {
6545
21.2k
          if (yych <= '/') goto yy498;
6546
7.44k
          if (yych <= '@') goto yy86;
6547
2.17k
          if (yych <= 'D') goto yy582;
6548
903
          goto yy584;
6549
2.17k
        }
6550
699k
      }
6551
804k
    } else {
6552
39.9k
      if (yych <= '`') {
6553
9.92k
        if (yych <= 'Z') {
6554
7.33k
          if (yych == 'I') goto yy585;
6555
3.88k
          goto yy582;
6556
7.33k
        } else {
6557
2.59k
          if (yych == '_') goto yy582;
6558
434
          goto yy86;
6559
2.59k
        }
6560
30.0k
      } else {
6561
30.0k
        if (yych <= 'h') {
6562
14.1k
          if (yych == 'e') goto yy584;
6563
5.00k
          goto yy582;
6564
15.8k
        } else {
6565
15.8k
          if (yych <= 'i') goto yy585;
6566
10.4k
          if (yych <= 'z') goto yy582;
6567
6.87k
          if (yych <= 0x7F) goto yy86;
6568
4.83k
          goto yy582;
6569
6.87k
        }
6570
30.0k
      }
6571
39.9k
    }
6572
669k
yy497:
6573
669k
    YYDEBUG(497, *YYCURSOR);
6574
669k
    ++YYCURSOR;
6575
669k
    YYFILL(1);
6576
669k
    yych = *YYCURSOR;
6577
669k
    if (yych <= '\f') {
6578
492k
      if (yych <= 0x00) goto yy86;
6579
491k
      if (yych == '\n') goto yy588;
6580
5.63k
      goto yy586;
6581
491k
    } else {
6582
176k
      if (yych <= '\r') goto yy588;
6583
82.3k
      if (yych == '[') goto yy86;
6584
81.7k
      goto yy586;
6585
82.3k
    }
6586
14.9k
yy498:
6587
14.9k
    YYDEBUG(498, *YYCURSOR);
6588
14.9k
    ++YYCURSOR;
6589
14.9k
    YYFILL(1);
6590
14.9k
    yych = *YYCURSOR;
6591
14.9k
    if (yych == '*') goto yy590;
6592
3.63k
    if (yych == '/') goto yy586;
6593
2.54k
    goto yy86;
6594
20.8k
yy499:
6595
20.8k
    YYDEBUG(499, *YYCURSOR);
6596
20.8k
    yyaccept = 4;
6597
20.8k
    yych = *(YYMARKER = ++YYCURSOR);
6598
20.8k
    if (yych == 'D') goto yy592;
6599
20.0k
    if (yych == 'd') goto yy592;
6600
1.91k
    goto yy48;
6601
12.3k
yy500:
6602
12.3k
    YYDEBUG(500, *YYCURSOR);
6603
12.3k
    yyaccept = 42;
6604
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
6605
12.3k
    if (yych <= '\\') {
6606
7.44k
      if (yych <= 'K') {
6607
6.04k
        if (yych <= '/') goto yy501;
6608
1.99k
        if (yych <= '9') goto yy47;
6609
1.47k
        if (yych >= 'A') goto yy47;
6610
1.47k
      } else {
6611
1.40k
        if (yych <= 'L') goto yy593;
6612
1.08k
        if (yych <= 'Z') goto yy47;
6613
454
        if (yych >= '\\') goto yy164;
6614
454
      }
6615
7.44k
    } else {
6616
4.94k
      if (yych <= 'k') {
6617
781
        if (yych == '_') goto yy47;
6618
563
        if (yych >= 'a') goto yy47;
6619
4.16k
      } else {
6620
4.16k
        if (yych <= 'l') goto yy593;
6621
619
        if (yych <= 'z') goto yy47;
6622
424
        if (yych >= 0x80) goto yy47;
6623
424
      }
6624
4.94k
    }
6625
5.73k
yy501:
6626
5.73k
    YYDEBUG(501, *YYCURSOR);
6627
5.73k
    yyleng = YYCURSOR - SCNG(yy_text);
6628
5.73k
#line 1803 "Zend/zend_language_scanner.l"
6629
5.73k
    {
6630
5.73k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6631
5.73k
}
6632
0
#line 6633 "Zend/zend_language_scanner.c"
6633
24.9k
yy502:
6634
24.9k
    YYDEBUG(502, *YYCURSOR);
6635
24.9k
    yyaccept = 4;
6636
24.9k
    yych = *(YYMARKER = ++YYCURSOR);
6637
24.9k
    if (yych == 'C') goto yy594;
6638
24.1k
    if (yych == 'c') goto yy594;
6639
1.06k
    goto yy48;
6640
116k
yy503:
6641
116k
    YYDEBUG(503, *YYCURSOR);
6642
116k
    yyaccept = 4;
6643
116k
    yych = *(YYMARKER = ++YYCURSOR);
6644
116k
    if (yych == 'I') goto yy595;
6645
115k
    if (yych == 'i') goto yy595;
6646
860
    goto yy48;
6647
7.01k
yy504:
6648
7.01k
    YYDEBUG(504, *YYCURSOR);
6649
7.01k
    yyaccept = 4;
6650
7.01k
    yych = *(YYMARKER = ++YYCURSOR);
6651
7.01k
    if (yych == 'L') goto yy596;
6652
4.62k
    if (yych == 'l') goto yy596;
6653
754
    goto yy48;
6654
20.4k
yy505:
6655
20.4k
    YYDEBUG(505, *YYCURSOR);
6656
20.4k
    yyaccept = 4;
6657
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
6658
20.4k
    if (yych == 'M') goto yy598;
6659
18.3k
    if (yych == 'm') goto yy598;
6660
7.07k
    goto yy48;
6661
10.7k
yy506:
6662
10.7k
    YYDEBUG(506, *YYCURSOR);
6663
10.7k
    yyaccept = 4;
6664
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
6665
10.7k
    if (yych == 'D') goto yy599;
6666
8.99k
    if (yych == 'd') goto yy599;
6667
936
    goto yy48;
6668
6.77k
yy507:
6669
6.77k
    YYDEBUG(507, *YYCURSOR);
6670
6.77k
    yyaccept = 4;
6671
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
6672
6.77k
    if (yych == 'N') goto yy600;
6673
5.11k
    if (yych == 'n') goto yy600;
6674
355
    goto yy48;
6675
7.76k
yy508:
6676
7.76k
    YYDEBUG(508, *YYCURSOR);
6677
7.76k
    yyaccept = 4;
6678
7.76k
    yych = *(YYMARKER = ++YYCURSOR);
6679
7.76k
    if (yych == 'A') goto yy601;
6680
6.60k
    if (yych == 'a') goto yy601;
6681
1.99k
    goto yy48;
6682
9.44k
yy509:
6683
9.44k
    YYDEBUG(509, *YYCURSOR);
6684
9.44k
    yyaccept = 4;
6685
9.44k
    yych = *(YYMARKER = ++YYCURSOR);
6686
9.44k
    if (yych == 'F') goto yy602;
6687
8.44k
    if (yych == 'f') goto yy602;
6688
744
    goto yy48;
6689
15.5k
yy510:
6690
15.5k
    YYDEBUG(510, *YYCURSOR);
6691
15.5k
    yyaccept = 43;
6692
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
6693
15.5k
    if (yybm[256+yych] & 128) {
6694
3.81k
      goto yy47;
6695
3.81k
    }
6696
11.7k
    if (yych == '\\') goto yy164;
6697
11.7k
yy511:
6698
11.7k
    YYDEBUG(511, *YYCURSOR);
6699
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6700
11.7k
#line 1783 "Zend/zend_language_scanner.l"
6701
11.7k
    {
6702
11.7k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6703
11.7k
}
6704
0
#line 6705 "Zend/zend_language_scanner.c"
6705
5.04k
yy512:
6706
5.04k
    YYDEBUG(512, *YYCURSOR);
6707
5.04k
    yyaccept = 44;
6708
5.04k
    yych = *(YYMARKER = ++YYCURSOR);
6709
5.04k
    if (yybm[256+yych] & 128) {
6710
625
      goto yy47;
6711
625
    }
6712
4.42k
    if (yych == '\\') goto yy164;
6713
4.42k
yy513:
6714
4.42k
    YYDEBUG(513, *YYCURSOR);
6715
4.42k
    yyleng = YYCURSOR - SCNG(yy_text);
6716
4.42k
#line 1547 "Zend/zend_language_scanner.l"
6717
4.42k
    {
6718
4.42k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6719
4.42k
}
6720
0
#line 6721 "Zend/zend_language_scanner.c"
6721
23.6k
yy514:
6722
23.6k
    YYDEBUG(514, *YYCURSOR);
6723
23.6k
    yyaccept = 4;
6724
23.6k
    yych = *(YYMARKER = ++YYCURSOR);
6725
23.6k
    if (yych == 'P') goto yy603;
6726
21.1k
    if (yych == 'p') goto yy603;
6727
1.17k
    goto yy48;
6728
17.7k
yy515:
6729
17.7k
    YYDEBUG(515, *YYCURSOR);
6730
17.7k
    yyaccept = 45;
6731
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
6732
17.7k
    if (yybm[256+yych] & 128) {
6733
10.9k
      goto yy47;
6734
10.9k
    }
6735
6.78k
    if (yych == '\\') goto yy164;
6736
6.66k
yy516:
6737
6.66k
    YYDEBUG(516, *YYCURSOR);
6738
6.66k
    yyleng = YYCURSOR - SCNG(yy_text);
6739
6.66k
#line 1579 "Zend/zend_language_scanner.l"
6740
6.66k
    {
6741
6.66k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6742
6.66k
}
6743
0
#line 6744 "Zend/zend_language_scanner.c"
6744
14.4k
yy517:
6745
14.4k
    YYDEBUG(517, *YYCURSOR);
6746
14.4k
    yyaccept = 4;
6747
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
6748
14.4k
    if (yych == 'T') goto yy604;
6749
13.1k
    if (yych == 't') goto yy604;
6750
1.75k
    goto yy48;
6751
10.7k
yy518:
6752
10.7k
    YYDEBUG(518, *YYCURSOR);
6753
10.7k
    yyaccept = 4;
6754
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
6755
10.7k
    if (yych == 'C') goto yy605;
6756
9.64k
    if (yych == 'c') goto yy605;
6757
405
    goto yy48;
6758
73.3k
yy519:
6759
73.3k
    YYDEBUG(519, *YYCURSOR);
6760
73.3k
    yyaccept = 4;
6761
73.3k
    yych = *(YYMARKER = ++YYCURSOR);
6762
73.3k
    if (yych == 'C') goto yy606;
6763
71.9k
    if (yych == 'c') goto yy606;
6764
2.34k
    goto yy48;
6765
8.04k
yy520:
6766
8.04k
    YYDEBUG(520, *YYCURSOR);
6767
8.04k
    yyaccept = 4;
6768
8.04k
    yych = *(YYMARKER = ++YYCURSOR);
6769
8.04k
    if (yych == 'N') goto yy608;
6770
7.83k
    if (yych == 'n') goto yy608;
6771
762
    goto yy48;
6772
20.4k
yy521:
6773
20.4k
    YYDEBUG(521, *YYCURSOR);
6774
20.4k
    yyaccept = 4;
6775
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
6776
20.4k
    if (yych == 'R') goto yy609;
6777
18.6k
    if (yych == 'r') goto yy609;
6778
1.13k
    goto yy48;
6779
32.2k
yy522:
6780
32.2k
    YYDEBUG(522, *YYCURSOR);
6781
32.2k
    yyaccept = 4;
6782
32.2k
    yych = *(YYMARKER = ++YYCURSOR);
6783
32.2k
    if (yych == 'N') goto yy610;
6784
31.6k
    if (yych == 'n') goto yy610;
6785
379
    goto yy48;
6786
23.6k
yy523:
6787
23.6k
    YYDEBUG(523, *YYCURSOR);
6788
23.6k
    yyaccept = 4;
6789
23.6k
    yych = *(YYMARKER = ++YYCURSOR);
6790
23.6k
    if (yych == 'C') goto yy612;
6791
23.0k
    if (yych == 'c') goto yy612;
6792
1.76k
    goto yy48;
6793
6.07k
yy524:
6794
6.07k
    YYDEBUG(524, *YYCURSOR);
6795
6.07k
    yyaccept = 4;
6796
6.07k
    yych = *(YYMARKER = ++YYCURSOR);
6797
6.07k
    if (yych == 'H') goto yy614;
6798
5.58k
    if (yych == 'h') goto yy614;
6799
1.02k
    goto yy48;
6800
13.3k
yy525:
6801
13.3k
    YYDEBUG(525, *YYCURSOR);
6802
13.3k
    yyaccept = 46;
6803
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
6804
13.3k
    if (yybm[256+yych] & 128) {
6805
4.80k
      goto yy47;
6806
4.80k
    }
6807
8.54k
    if (yych == '\\') goto yy164;
6808
8.54k
yy526:
6809
8.54k
    YYDEBUG(526, *YYCURSOR);
6810
8.54k
    yyleng = YYCURSOR - SCNG(yy_text);
6811
8.54k
#line 1479 "Zend/zend_language_scanner.l"
6812
8.54k
    {
6813
8.54k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6814
8.54k
}
6815
0
#line 6816 "Zend/zend_language_scanner.c"
6816
10.0k
yy527:
6817
10.0k
    YYDEBUG(527, *YYCURSOR);
6818
10.0k
    yyaccept = 47;
6819
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
6820
10.0k
    if (yybm[256+yych] & 128) {
6821
1.50k
      goto yy47;
6822
1.50k
    }
6823
8.51k
    if (yych == '\\') goto yy164;
6824
8.49k
yy528:
6825
8.49k
    YYDEBUG(528, *YYCURSOR);
6826
8.49k
    yyleng = YYCURSOR - SCNG(yy_text);
6827
8.49k
#line 1591 "Zend/zend_language_scanner.l"
6828
8.49k
    {
6829
8.49k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6830
8.49k
}
6831
0
#line 6832 "Zend/zend_language_scanner.c"
6832
13.7k
yy529:
6833
13.7k
    YYDEBUG(529, *YYCURSOR);
6834
13.7k
    yyaccept = 48;
6835
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
6836
13.7k
    if (yybm[256+yych] & 128) {
6837
962
      goto yy47;
6838
962
    }
6839
12.7k
    if (yych == '\\') goto yy164;
6840
12.6k
yy530:
6841
12.6k
    YYDEBUG(530, *YYCURSOR);
6842
12.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6843
12.6k
#line 1835 "Zend/zend_language_scanner.l"
6844
12.6k
    {
6845
12.6k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6846
12.6k
}
6847
0
#line 6848 "Zend/zend_language_scanner.c"
6848
6.02k
yy531:
6849
6.02k
    YYDEBUG(531, *YYCURSOR);
6850
6.02k
    yyaccept = 49;
6851
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
6852
6.02k
    if (yybm[256+yych] & 128) {
6853
482
      goto yy47;
6854
482
    }
6855
5.54k
    if (yych == '\\') goto yy164;
6856
5.50k
yy532:
6857
5.50k
    YYDEBUG(532, *YYCURSOR);
6858
5.50k
    yyleng = YYCURSOR - SCNG(yy_text);
6859
5.50k
#line 1499 "Zend/zend_language_scanner.l"
6860
5.50k
    {
6861
5.50k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6862
5.50k
}
6863
0
#line 6864 "Zend/zend_language_scanner.c"
6864
77.5k
yy533:
6865
77.5k
    YYDEBUG(533, *YYCURSOR);
6866
77.5k
    yyaccept = 50;
6867
77.5k
    yych = *(YYMARKER = ++YYCURSOR);
6868
77.5k
    if (yybm[256+yych] & 128) {
6869
1.79k
      goto yy47;
6870
1.79k
    }
6871
75.7k
    if (yych <= ' ') {
6872
28.6k
      if (yych <= '\f') {
6873
16.8k
        if (yych <= 0x08) goto yy534;
6874
16.0k
        if (yych <= '\n') goto yy616;
6875
16.0k
      } else {
6876
11.8k
        if (yych <= '\r') goto yy616;
6877
11.0k
        if (yych >= ' ') goto yy616;
6878
11.0k
      }
6879
47.1k
    } else {
6880
47.1k
      if (yych <= '.') {
6881
44.3k
        if (yych == '#') goto yy618;
6882
44.3k
      } else {
6883
2.72k
        if (yych <= '/') goto yy619;
6884
2.25k
        if (yych == '\\') goto yy164;
6885
2.25k
      }
6886
47.1k
    }
6887
56.7k
yy534:
6888
56.7k
    YYDEBUG(534, *YYCURSOR);
6889
56.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6890
56.7k
#line 1463 "Zend/zend_language_scanner.l"
6891
56.7k
    {
6892
56.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6893
56.7k
}
6894
0
#line 6895 "Zend/zend_language_scanner.c"
6895
6.45k
yy535:
6896
6.45k
    YYDEBUG(535, *YYCURSOR);
6897
6.45k
    yyaccept = 4;
6898
6.45k
    yych = *(YYMARKER = ++YYCURSOR);
6899
6.45k
    if (yych == 'S') goto yy620;
6900
3.82k
    if (yych == 's') goto yy620;
6901
372
    goto yy48;
6902
5.92k
yy536:
6903
5.92k
    YYDEBUG(536, *YYCURSOR);
6904
5.92k
    yyaccept = 4;
6905
5.92k
    yych = *(YYMARKER = ++YYCURSOR);
6906
5.92k
    if (yych == '_') goto yy621;
6907
1.43k
    goto yy48;
6908
10.1k
yy537:
6909
10.1k
    YYDEBUG(537, *YYCURSOR);
6910
10.1k
    yyaccept = 4;
6911
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
6912
10.1k
    if (yych == 'E') goto yy622;
6913
2.26k
    if (yych == 'e') goto yy622;
6914
591
    goto yy48;
6915
8.35k
yy538:
6916
8.35k
    YYDEBUG(538, *YYCURSOR);
6917
8.35k
    yyaccept = 4;
6918
8.35k
    yych = *(YYMARKER = ++YYCURSOR);
6919
8.35k
    if (yych == 'C') goto yy623;
6920
4.69k
    if (yych == 'c') goto yy623;
6921
652
    goto yy48;
6922
6.97k
yy539:
6923
6.97k
    YYDEBUG(539, *YYCURSOR);
6924
6.97k
    yyaccept = 4;
6925
6.97k
    yych = *(YYMARKER = ++YYCURSOR);
6926
6.97k
    if (yych == 'T') goto yy624;
6927
3.94k
    if (yych == 't') goto yy624;
6928
579
    goto yy48;
6929
3.10k
yy540:
6930
3.10k
    YYDEBUG(540, *YYCURSOR);
6931
3.10k
    yyaccept = 4;
6932
3.10k
    yych = *(YYMARKER = ++YYCURSOR);
6933
3.10k
    if (yych == 'E') goto yy625;
6934
2.16k
    if (yych == 'e') goto yy625;
6935
454
    goto yy48;
6936
12.3k
yy541:
6937
12.3k
    YYDEBUG(541, *YYCURSOR);
6938
12.3k
    yyaccept = 4;
6939
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
6940
12.3k
    if (yych == 'H') goto yy626;
6941
4.25k
    if (yych == 'h') goto yy626;
6942
686
    goto yy48;
6943
8.43k
yy542:
6944
8.43k
    YYDEBUG(542, *YYCURSOR);
6945
8.43k
    yyaccept = 4;
6946
8.43k
    yych = *(YYMARKER = ++YYCURSOR);
6947
8.43k
    if (yych == 'E') goto yy627;
6948
4.19k
    if (yych == 'e') goto yy627;
6949
714
    goto yy48;
6950
5.06k
yy543:
6951
5.06k
    YYDEBUG(543, *YYCURSOR);
6952
5.06k
    yyaccept = 4;
6953
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
6954
5.06k
    if (yych == 'P') goto yy628;
6955
809
    if (yych == 'p') goto yy628;
6956
497
    goto yy48;
6957
5.12k
yy544:
6958
5.12k
    YYDEBUG(544, *YYCURSOR);
6959
5.12k
    yyaccept = 4;
6960
5.12k
    yych = *(YYMARKER = ++YYCURSOR);
6961
5.12k
    if (yych == 'I') goto yy629;
6962
4.34k
    if (yych == 'i') goto yy629;
6963
1.16k
    goto yy48;
6964
259k
yy545:
6965
259k
    YYDEBUG(545, *YYCURSOR);
6966
259k
    ++YYCURSOR;
6967
259k
    YYFILL(1);
6968
259k
    yych = *YYCURSOR;
6969
259k
    YYDEBUG(546, *YYCURSOR);
6970
259k
    if (yybm[0+yych] & 64) {
6971
370
      goto yy355;
6972
370
    }
6973
259k
    if (yych <= ' ') {
6974
51.8k
      if (yych <= '\n') {
6975
4.76k
        if (yych <= 0x00) goto yy86;
6976
3.65k
        if (yych <= 0x08) goto yy230;
6977
3.20k
        goto yy545;
6978
47.1k
      } else {
6979
47.1k
        if (yych == '\r') goto yy545;
6980
4.37k
        if (yych <= 0x1F) goto yy230;
6981
3.98k
        goto yy545;
6982
4.37k
      }
6983
207k
    } else {
6984
207k
      if (yych <= '$') {
6985
122k
        if (yych <= '"') goto yy230;
6986
122k
        if (yych <= '#') goto yy630;
6987
3.69k
        goto yy631;
6988
122k
      } else {
6989
84.8k
        if (yych <= '-') goto yy230;
6990
69.3k
        if (yych <= '.') goto yy632;
6991
67.5k
        if (yych <= '/') goto yy633;
6992
13.9k
        goto yy230;
6993
67.5k
      }
6994
207k
    }
6995
48.0k
yy547:
6996
48.0k
    YYDEBUG(547, *YYCURSOR);
6997
48.0k
    ++YYCURSOR;
6998
48.0k
    YYFILL(1);
6999
48.0k
    yych = *YYCURSOR;
7000
48.0k
    YYDEBUG(548, *YYCURSOR);
7001
48.0k
    if (yych <= '\r') {
7002
4.93k
      if (yych <= '\t') {
7003
1.16k
        if (yych <= 0x00) goto yy86;
7004
652
        goto yy443;
7005
3.76k
      } else {
7006
3.76k
        if (yych <= '\n') goto yy545;
7007
3.12k
        if (yych <= '\f') goto yy443;
7008
2.84k
        goto yy545;
7009
3.12k
      }
7010
43.1k
    } else {
7011
43.1k
      if (yych <= '*') {
7012
20.5k
        if (yych <= ')') goto yy443;
7013
1.99k
        goto yy547;
7014
22.5k
      } else {
7015
22.5k
        if (yych == '/') goto yy227;
7016
2.51k
        goto yy443;
7017
22.5k
      }
7018
43.1k
    }
7019
16.1k
yy549:
7020
16.1k
    YYDEBUG(549, *YYCURSOR);
7021
16.1k
    ++YYCURSOR;
7022
16.1k
    YYFILL(1);
7023
16.1k
    yych = *YYCURSOR;
7024
16.1k
    YYDEBUG(550, *YYCURSOR);
7025
16.1k
    if (yych <= 0x1F) {
7026
1.44k
      if (yych == '\t') goto yy549;
7027
327
      goto yy86;
7028
14.6k
    } else {
7029
14.6k
      if (yych <= ' ') goto yy549;
7030
11.2k
      if (yych == ')') goto yy634;
7031
6.63k
      goto yy86;
7032
11.2k
    }
7033
2.88k
yy551:
7034
2.88k
    YYDEBUG(551, *YYCURSOR);
7035
2.88k
    yych = *++YYCURSOR;
7036
2.88k
    if (yych == 'Y') goto yy636;
7037
2.83k
    if (yych == 'y') goto yy636;
7038
1.79k
    goto yy86;
7039
1.79k
yy552:
7040
944
    YYDEBUG(552, *YYCURSOR);
7041
944
    ++YYCURSOR;
7042
944
    YYFILL(1);
7043
944
    yych = *YYCURSOR;
7044
3.23k
yy553:
7045
3.23k
    YYDEBUG(553, *YYCURSOR);
7046
3.23k
    if (yych <= 0x1F) {
7047
1.00k
      if (yych == '\t') goto yy552;
7048
635
      goto yy86;
7049
2.22k
    } else {
7050
2.22k
      if (yych <= ' ') goto yy552;
7051
1.65k
      if (yych != ')') goto yy86;
7052
1.65k
    }
7053
925
    YYDEBUG(554, *YYCURSOR);
7054
925
    ++YYCURSOR;
7055
925
    YYDEBUG(555, *YYCURSOR);
7056
925
    yyleng = YYCURSOR - SCNG(yy_text);
7057
925
#line 1725 "Zend/zend_language_scanner.l"
7058
925
    {
7059
925
  RETURN_TOKEN(T_BOOL_CAST);
7060
925
}
7061
0
#line 7062 "Zend/zend_language_scanner.c"
7062
2.82k
yy556:
7063
2.82k
    YYDEBUG(556, *YYCURSOR);
7064
2.82k
    yych = *++YYCURSOR;
7065
2.82k
    if (yych == 'A') goto yy638;
7066
2.31k
    if (yych == 'a') goto yy638;
7067
530
    goto yy86;
7068
2.49k
yy557:
7069
2.49k
    YYDEBUG(557, *YYCURSOR);
7070
2.49k
    yych = *++YYCURSOR;
7071
2.49k
    if (yych == 'E') goto yy639;
7072
1.32k
    if (yych == 'e') goto yy639;
7073
263
    goto yy86;
7074
5.73k
yy558:
7075
5.73k
    YYDEBUG(558, *YYCURSOR);
7076
5.73k
    ++YYCURSOR;
7077
5.73k
    YYFILL(1);
7078
5.73k
    yych = *YYCURSOR;
7079
5.73k
    YYDEBUG(559, *YYCURSOR);
7080
5.73k
    if (yych <= 0x1F) {
7081
1.76k
      if (yych == '\t') goto yy558;
7082
229
      goto yy86;
7083
3.97k
    } else {
7084
3.97k
      if (yych <= ' ') goto yy558;
7085
3.45k
      if (yych == ')') goto yy641;
7086
1.24k
      goto yy86;
7087
3.45k
    }
7088
3.39k
yy560:
7089
3.39k
    YYDEBUG(560, *YYCURSOR);
7090
3.39k
    yych = *++YYCURSOR;
7091
3.39k
    if (yych == 'E') goto yy643;
7092
2.89k
    if (yych == 'e') goto yy643;
7093
647
    goto yy86;
7094
3.71k
yy561:
7095
3.71k
    YYDEBUG(561, *YYCURSOR);
7096
3.71k
    yych = *++YYCURSOR;
7097
3.71k
    if (yych == 'T') goto yy644;
7098
3.52k
    if (yych == 't') goto yy644;
7099
566
    goto yy86;
7100
566
yy562:
7101
106
    YYDEBUG(562, *YYCURSOR);
7102
106
    ++YYCURSOR;
7103
106
    YYDEBUG(563, *YYCURSOR);
7104
106
    yyleng = YYCURSOR - SCNG(yy_text);
7105
106
#line 1695 "Zend/zend_language_scanner.l"
7106
106
    {
7107
106
  if (PARSER_MODE()) {
7108
7
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7109
7
    RETURN_TOKEN(T_ERROR);
7110
7
  }
7111
99
  RETURN_TOKEN(T_DOUBLE_CAST);
7112
99
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
11.5k
yy564:
7115
11.5k
    YYDEBUG(564, *YYCURSOR);
7116
11.5k
    yych = *++YYCURSOR;
7117
11.5k
    if (yych == 'G') goto yy646;
7118
11.1k
    if (yych == 'g') goto yy646;
7119
324
    goto yy86;
7120
2.69k
yy565:
7121
2.69k
    YYDEBUG(565, *YYCURSOR);
7122
2.69k
    ++YYCURSOR;
7123
2.69k
    YYFILL(1);
7124
2.69k
    yych = *YYCURSOR;
7125
2.69k
    YYDEBUG(566, *YYCURSOR);
7126
2.69k
    if (yych <= 0x1F) {
7127
483
      if (yych == '\t') goto yy565;
7128
395
      goto yy86;
7129
2.21k
    } else {
7130
2.21k
      if (yych <= ' ') goto yy565;
7131
1.73k
      if (yych == ')') goto yy648;
7132
972
      goto yy86;
7133
1.73k
    }
7134
1.63k
yy567:
7135
1.63k
    YYDEBUG(567, *YYCURSOR);
7136
1.63k
    ++YYCURSOR;
7137
1.63k
    YYDEBUG(568, *YYCURSOR);
7138
1.63k
    yyleng = YYCURSOR - SCNG(yy_text);
7139
1.63k
#line 1743 "Zend/zend_language_scanner.l"
7140
1.63k
    {
7141
1.63k
  RETURN_TOKEN(T_VOID_CAST);
7142
1.63k
}
7143
0
#line 7144 "Zend/zend_language_scanner.c"
7144
7.11k
yy569:
7145
7.11k
    YYDEBUG(569, *YYCURSOR);
7146
7.11k
    yych = *++YYCURSOR;
7147
7.11k
    if (yych == '\n') goto yy466;
7148
2.50k
    if (yych == '\r') goto yy468;
7149
1.03k
    goto yy86;
7150
8.16k
yy570:
7151
8.16k
    YYDEBUG(570, *YYCURSOR);
7152
8.16k
    yyaccept = 4;
7153
8.16k
    yych = *(YYMARKER = ++YYCURSOR);
7154
8.16k
    if (yych == 'C') goto yy650;
7155
6.70k
    if (yych == 'c') goto yy650;
7156
1.32k
    goto yy48;
7157
3.48k
yy571:
7158
3.48k
    YYDEBUG(571, *YYCURSOR);
7159
3.48k
    yyaccept = 4;
7160
3.48k
    yych = *(YYMARKER = ++YYCURSOR);
7161
3.48k
    if (yych == 'L') goto yy651;
7162
2.83k
    if (yych == 'l') goto yy651;
7163
327
    goto yy48;
7164
4.12k
yy572:
7165
4.12k
    YYDEBUG(572, *YYCURSOR);
7166
4.12k
    yyaccept = 4;
7167
4.12k
    yych = *(YYMARKER = ++YYCURSOR);
7168
4.12k
    if (yych == 'U') goto yy652;
7169
3.39k
    if (yych == 'u') goto yy652;
7170
355
    goto yy48;
7171
7.27k
yy573:
7172
7.27k
    YYDEBUG(573, *YYCURSOR);
7173
7.27k
    yyaccept = 4;
7174
7.27k
    yych = *(YYMARKER = ++YYCURSOR);
7175
7.27k
    if (yych == 'E') goto yy653;
7176
7.12k
    if (yych == 'e') goto yy653;
7177
446
    goto yy48;
7178
3.17k
yy574:
7179
3.17k
    YYDEBUG(574, *YYCURSOR);
7180
3.17k
    yyaccept = 4;
7181
3.17k
    yych = *(YYMARKER = ++YYCURSOR);
7182
3.17k
    if (yych == 'T') goto yy655;
7183
2.81k
    if (yych == 't') goto yy655;
7184
542
    goto yy48;
7185
2.17k
yy575:
7186
2.17k
    YYDEBUG(575, *YYCURSOR);
7187
2.17k
    yyaccept = 51;
7188
2.17k
    yych = *(YYMARKER = ++YYCURSOR);
7189
2.17k
    if (yybm[256+yych] & 128) {
7190
249
      goto yy47;
7191
249
    }
7192
1.92k
    if (yych == '\\') goto yy164;
7193
1.90k
yy576:
7194
1.90k
    YYDEBUG(576, *YYCURSOR);
7195
1.90k
    yyleng = YYCURSOR - SCNG(yy_text);
7196
1.90k
#line 1487 "Zend/zend_language_scanner.l"
7197
1.90k
    {
7198
1.90k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7199
1.90k
}
7200
0
#line 7201 "Zend/zend_language_scanner.c"
7201
2.74k
yy577:
7202
2.74k
    YYDEBUG(577, *YYCURSOR);
7203
2.74k
    yyaccept = 4;
7204
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
7205
2.74k
    if (yych == 'L') goto yy657;
7206
1.97k
    if (yych == 'l') goto yy657;
7207
105
    goto yy48;
7208
11.3k
yy578:
7209
11.3k
    YYDEBUG(578, *YYCURSOR);
7210
11.3k
    yyaccept = 52;
7211
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
7212
11.3k
    if (yych <= '\\') {
7213
6.38k
      if (yych <= 'D') {
7214
2.80k
        if (yych <= '/') goto yy579;
7215
1.44k
        if (yych <= '9') goto yy47;
7216
951
        if (yych >= 'A') goto yy47;
7217
3.58k
      } else {
7218
3.58k
        if (yych <= 'E') goto yy658;
7219
738
        if (yych <= 'Z') goto yy47;
7220
486
        if (yych >= '\\') goto yy164;
7221
486
      }
7222
6.38k
    } else {
7223
5.00k
      if (yych <= 'd') {
7224
1.19k
        if (yych == '_') goto yy47;
7225
349
        if (yych >= 'a') goto yy47;
7226
3.81k
      } else {
7227
3.81k
        if (yych <= 'e') goto yy658;
7228
1.21k
        if (yych <= 'z') goto yy47;
7229
619
        if (yych >= 0x80) goto yy47;
7230
619
      }
7231
5.00k
    }
7232
2.98k
yy579:
7233
2.98k
    YYDEBUG(579, *YYCURSOR);
7234
2.98k
    yyleng = YYCURSOR - SCNG(yy_text);
7235
2.98k
#line 1515 "Zend/zend_language_scanner.l"
7236
2.98k
    {
7237
2.98k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7238
2.98k
}
7239
0
#line 7240 "Zend/zend_language_scanner.c"
7240
3.35k
yy580:
7241
3.35k
    YYDEBUG(580, *YYCURSOR);
7242
3.35k
    yyaccept = 4;
7243
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
7244
3.35k
    if (yych == 'T') goto yy659;
7245
2.97k
    if (yych == 't') goto yy659;
7246
519
    goto yy48;
7247
6.35k
yy581:
7248
6.35k
    YYDEBUG(581, *YYCURSOR);
7249
6.35k
    yyaccept = 4;
7250
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
7251
6.35k
    if (yych == 'L') goto yy660;
7252
4.31k
    if (yych == 'l') goto yy660;
7253
450
    goto yy48;
7254
20.7k
yy582:
7255
20.7k
    YYDEBUG(582, *YYCURSOR);
7256
20.7k
    ++YYCURSOR;
7257
127k
yy583:
7258
127k
    YYDEBUG(583, *YYCURSOR);
7259
127k
    yyleng = YYCURSOR - SCNG(yy_text);
7260
127k
#line 1603 "Zend/zend_language_scanner.l"
7261
127k
    {
7262
127k
  yyless(4);
7263
127k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7264
127k
}
7265
0
#line 7266 "Zend/zend_language_scanner.c"
7266
10.0k
yy584:
7267
10.0k
    YYDEBUG(584, *YYCURSOR);
7268
10.0k
    yyaccept = 53;
7269
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
7270
10.0k
    if (yych == 'X') goto yy661;
7271
9.85k
    if (yych == 'x') goto yy661;
7272
7.71k
    goto yy583;
7273
8.90k
yy585:
7274
8.90k
    YYDEBUG(585, *YYCURSOR);
7275
8.90k
    yyaccept = 53;
7276
8.90k
    yych = *(YYMARKER = ++YYCURSOR);
7277
8.90k
    if (yych == 'M') goto yy662;
7278
8.23k
    if (yych == 'm') goto yy662;
7279
4.12k
    goto yy583;
7280
3.38M
yy586:
7281
3.38M
    YYDEBUG(586, *YYCURSOR);
7282
3.38M
    ++YYCURSOR;
7283
3.38M
    YYFILL(1);
7284
3.38M
    yych = *YYCURSOR;
7285
3.38M
    YYDEBUG(587, *YYCURSOR);
7286
3.38M
    if (yych <= '\n') {
7287
154k
      if (yych <= 0x00) goto yy86;
7288
139k
      if (yych <= '\t') goto yy586;
7289
108k
      goto yy495;
7290
3.23M
    } else {
7291
3.23M
      if (yych == '\r') goto yy495;
7292
2.87M
      goto yy586;
7293
3.23M
    }
7294
688k
yy588:
7295
688k
    YYDEBUG(588, *YYCURSOR);
7296
688k
    ++YYCURSOR;
7297
688k
    YYFILL(1);
7298
688k
    yych = *YYCURSOR;
7299
688k
    YYDEBUG(589, *YYCURSOR);
7300
688k
    if (yych <= 'D') {
7301
338k
      if (yych <= 0x1F) {
7302
61.1k
        if (yych <= '\t') {
7303
13.7k
          if (yych <= 0x00) goto yy86;
7304
12.8k
          if (yych <= 0x08) goto yy586;
7305
1.94k
          goto yy588;
7306
47.4k
        } else {
7307
47.4k
          if (yych <= '\n') goto yy495;
7308
44.6k
          if (yych == '\r') goto yy495;
7309
15.4k
          goto yy586;
7310
44.6k
        }
7311
277k
      } else {
7312
277k
        if (yych <= '#') {
7313
70.7k
          if (yych <= ' ') goto yy588;
7314
46.2k
          if (yych <= '"') goto yy586;
7315
43.7k
          goto yy663;
7316
206k
        } else {
7317
206k
          if (yych == '/') goto yy664;
7318
12.1k
          if (yych <= '@') goto yy586;
7319
1.39k
          goto yy665;
7320
12.1k
        }
7321
277k
      }
7322
349k
    } else {
7323
349k
      if (yych <= '`') {
7324
21.2k
        if (yych <= 'I') {
7325
7.86k
          if (yych <= 'E') goto yy666;
7326
7.39k
          if (yych <= 'H') goto yy665;
7327
6.94k
          goto yy667;
7328
13.3k
        } else {
7329
13.3k
          if (yych <= 'Z') goto yy665;
7330
1.39k
          if (yych == '_') goto yy665;
7331
705
          goto yy586;
7332
1.39k
        }
7333
328k
      } else {
7334
328k
        if (yych <= 'h') {
7335
250k
          if (yych == 'e') goto yy666;
7336
7.55k
          goto yy665;
7337
250k
        } else {
7338
78.0k
          if (yych <= 'i') goto yy667;
7339
42.7k
          if (yych <= 'z') goto yy665;
7340
22.9k
          if (yych <= 0x7F) goto yy586;
7341
4.84k
          goto yy665;
7342
22.9k
        }
7343
328k
      }
7344
349k
    }
7345
2.74M
yy590:
7346
2.74M
    YYDEBUG(590, *YYCURSOR);
7347
2.74M
    ++YYCURSOR;
7348
2.74M
    YYFILL(1);
7349
2.74M
    yych = *YYCURSOR;
7350
2.74M
    YYDEBUG(591, *YYCURSOR);
7351
2.74M
    if (yych <= 0x00) goto yy86;
7352
2.72M
    if (yych == '*') goto yy668;
7353
2.63M
    goto yy590;
7354
2.63M
yy592:
7355
18.9k
    YYDEBUG(592, *YYCURSOR);
7356
18.9k
    yyaccept = 4;
7357
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
7358
18.9k
    if (yych == 'S') goto yy670;
7359
18.1k
    if (yych == 's') goto yy670;
7360
949
    goto yy48;
7361
3.85k
yy593:
7362
3.85k
    YYDEBUG(593, *YYCURSOR);
7363
3.85k
    yyaccept = 4;
7364
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
7365
3.85k
    if (yych == 'Y') goto yy672;
7366
3.60k
    if (yych == 'y') goto yy672;
7367
235
    goto yy48;
7368
23.8k
yy594:
7369
23.8k
    YYDEBUG(594, *YYCURSOR);
7370
23.8k
    yyaccept = 4;
7371
23.8k
    yych = *(YYMARKER = ++YYCURSOR);
7372
23.8k
    if (yych == 'H') goto yy674;
7373
23.5k
    if (yych == 'h') goto yy674;
7374
912
    goto yy48;
7375
115k
yy595:
7376
115k
    YYDEBUG(595, *YYCURSOR);
7377
115k
    yyaccept = 4;
7378
115k
    yych = *(YYMARKER = ++YYCURSOR);
7379
115k
    if (yych == 'O') goto yy676;
7380
114k
    if (yych == 'o') goto yy676;
7381
2.04k
    goto yy48;
7382
6.25k
yy596:
7383
6.25k
    YYDEBUG(596, *YYCURSOR);
7384
6.25k
    yyaccept = 54;
7385
6.25k
    yych = *(YYMARKER = ++YYCURSOR);
7386
6.25k
    if (yybm[256+yych] & 128) {
7387
1.90k
      goto yy47;
7388
1.90k
    }
7389
4.35k
    if (yych == '\\') goto yy164;
7390
4.19k
yy597:
7391
4.19k
    YYDEBUG(597, *YYCURSOR);
7392
4.19k
    yyleng = YYCURSOR - SCNG(yy_text);
7393
4.19k
#line 1779 "Zend/zend_language_scanner.l"
7394
4.19k
    {
7395
4.19k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7396
4.19k
}
7397
0
#line 7398 "Zend/zend_language_scanner.c"
7398
13.3k
yy598:
7399
13.3k
    YYDEBUG(598, *YYCURSOR);
7400
13.3k
    yyaccept = 4;
7401
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
7402
13.3k
    if (yych == 'E') goto yy677;
7403
10.1k
    if (yych == 'e') goto yy677;
7404
2.09k
    goto yy48;
7405
9.82k
yy599:
7406
9.82k
    YYDEBUG(599, *YYCURSOR);
7407
9.82k
    yyaccept = 4;
7408
9.82k
    yych = *(YYMARKER = ++YYCURSOR);
7409
9.82k
    if (yych == 'E') goto yy678;
7410
7.61k
    if (yych == 'e') goto yy678;
7411
592
    goto yy48;
7412
6.42k
yy600:
7413
6.42k
    YYDEBUG(600, *YYCURSOR);
7414
6.42k
    yyaccept = 4;
7415
6.42k
    yych = *(YYMARKER = ++YYCURSOR);
7416
6.42k
    if (yych == 'C') goto yy680;
7417
5.01k
    if (yych == 'c') goto yy680;
7418
691
    goto yy48;
7419
5.76k
yy601:
7420
5.76k
    YYDEBUG(601, *YYCURSOR);
7421
5.76k
    yyaccept = 4;
7422
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
7423
5.76k
    if (yych == 'D') goto yy681;
7424
4.39k
    if (yych == 'd') goto yy681;
7425
222
    goto yy48;
7426
8.69k
yy602:
7427
8.69k
    YYDEBUG(602, *YYCURSOR);
7428
8.69k
    yyaccept = 4;
7429
8.69k
    yych = *(YYMARKER = ++YYCURSOR);
7430
8.69k
    if (yych == 'A') goto yy682;
7431
7.56k
    if (yych == 'a') goto yy682;
7432
677
    goto yy48;
7433
22.4k
yy603:
7434
22.4k
    YYDEBUG(603, *YYCURSOR);
7435
22.4k
    yyaccept = 4;
7436
22.4k
    yych = *(YYMARKER = ++YYCURSOR);
7437
22.4k
    if (yych == 'A') goto yy683;
7438
20.5k
    if (yych == 'a') goto yy683;
7439
979
    goto yy48;
7440
12.6k
yy604:
7441
12.6k
    YYDEBUG(604, *YYCURSOR);
7442
12.6k
    yyaccept = 4;
7443
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
7444
12.6k
    if (yych == 'E') goto yy684;
7445
11.6k
    if (yych == 'e') goto yy684;
7446
436
    goto yy48;
7447
10.3k
yy605:
7448
10.3k
    YYDEBUG(605, *YYCURSOR);
7449
10.3k
    yyaccept = 4;
7450
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
7451
10.3k
    if (yych == 'T') goto yy686;
7452
9.44k
    if (yych == 't') goto yy686;
7453
1.41k
    goto yy48;
7454
70.9k
yy606:
7455
70.9k
    YYDEBUG(606, *YYCURSOR);
7456
70.9k
    yyaccept = 55;
7457
70.9k
    yych = *(YYMARKER = ++YYCURSOR);
7458
70.9k
    if (yybm[256+yych] & 128) {
7459
1.76k
      goto yy47;
7460
1.76k
    }
7461
69.2k
    if (yych == '(') goto yy687;
7462
66.3k
    if (yych == '\\') goto yy164;
7463
68.1k
yy607:
7464
68.1k
    YYDEBUG(607, *YYCURSOR);
7465
68.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
68.1k
#line 1827 "Zend/zend_language_scanner.l"
7467
68.1k
    {
7468
68.1k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7469
68.1k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
7.27k
yy608:
7472
7.27k
    YYDEBUG(608, *YYCURSOR);
7473
7.27k
    yyaccept = 4;
7474
7.27k
    yych = *(YYMARKER = ++YYCURSOR);
7475
7.27k
    if (yych == 'L') goto yy688;
7476
6.99k
    if (yych == 'l') goto yy688;
7477
776
    goto yy48;
7478
19.2k
yy609:
7479
19.2k
    YYDEBUG(609, *YYCURSOR);
7480
19.2k
    yyaccept = 4;
7481
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
7482
19.2k
    if (yych == 'E') goto yy689;
7483
18.0k
    if (yych == 'e') goto yy689;
7484
608
    goto yy48;
7485
31.8k
yy610:
7486
31.8k
    YYDEBUG(610, *YYCURSOR);
7487
31.8k
    yyaccept = 56;
7488
31.8k
    yych = *(YYMARKER = ++YYCURSOR);
7489
31.8k
    if (yybm[256+yych] & 128) {
7490
2.13k
      goto yy47;
7491
2.13k
    }
7492
29.7k
    if (yych == '\\') goto yy164;
7493
29.7k
yy611:
7494
29.7k
    YYDEBUG(611, *YYCURSOR);
7495
29.7k
    yyleng = YYCURSOR - SCNG(yy_text);
7496
29.7k
#line 1448 "Zend/zend_language_scanner.l"
7497
29.7k
    {
7498
29.7k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7499
29.7k
}
7500
0
#line 7501 "Zend/zend_language_scanner.c"
7501
21.8k
yy612:
7502
21.8k
    YYDEBUG(612, *YYCURSOR);
7503
21.8k
    yyaccept = 57;
7504
21.8k
    yych = *(YYMARKER = ++YYCURSOR);
7505
21.8k
    if (yybm[256+yych] & 128) {
7506
1.06k
      goto yy47;
7507
1.06k
    }
7508
20.7k
    if (yych == '\\') goto yy164;
7509
20.7k
yy613:
7510
20.7k
    YYDEBUG(613, *YYCURSOR);
7511
20.7k
    yyleng = YYCURSOR - SCNG(yy_text);
7512
20.7k
#line 1795 "Zend/zend_language_scanner.l"
7513
20.7k
    {
7514
20.7k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7515
20.7k
}
7516
0
#line 7517 "Zend/zend_language_scanner.c"
7517
5.05k
yy614:
7518
5.05k
    YYDEBUG(614, *YYCURSOR);
7519
5.05k
    yyaccept = 58;
7520
5.05k
    yych = *(YYMARKER = ++YYCURSOR);
7521
5.05k
    if (yybm[256+yych] & 128) {
7522
556
      goto yy47;
7523
556
    }
7524
4.49k
    if (yych == '\\') goto yy164;
7525
4.44k
yy615:
7526
4.44k
    YYDEBUG(615, *YYCURSOR);
7527
4.44k
    yyleng = YYCURSOR - SCNG(yy_text);
7528
4.44k
#line 1543 "Zend/zend_language_scanner.l"
7529
4.44k
    {
7530
4.44k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7531
4.44k
}
7532
0
#line 7533 "Zend/zend_language_scanner.c"
7533
314k
yy616:
7534
314k
    YYDEBUG(616, *YYCURSOR);
7535
314k
    ++YYCURSOR;
7536
314k
    YYFILL(5);
7537
314k
    yych = *YYCURSOR;
7538
314k
    YYDEBUG(617, *YYCURSOR);
7539
314k
    if (yych <= '"') {
7540
70.5k
      if (yych <= '\f') {
7541
39.9k
        if (yych <= 0x08) goto yy86;
7542
39.3k
        if (yych <= '\n') goto yy616;
7543
891
        goto yy86;
7544
39.3k
      } else {
7545
30.5k
        if (yych <= '\r') goto yy616;
7546
4.86k
        if (yych == ' ') goto yy616;
7547
1.68k
        goto yy86;
7548
4.86k
      }
7549
244k
    } else {
7550
244k
      if (yych <= 'E') {
7551
227k
        if (yych <= '#') goto yy618;
7552
15.0k
        if (yych == '/') goto yy619;
7553
9.38k
        goto yy86;
7554
16.7k
      } else {
7555
16.7k
        if (yych <= 'F') goto yy691;
7556
13.7k
        if (yych == 'f') goto yy691;
7557
7.22k
        goto yy86;
7558
13.7k
      }
7559
244k
    }
7560
255k
yy618:
7561
255k
    YYDEBUG(618, *YYCURSOR);
7562
255k
    ++YYCURSOR;
7563
255k
    YYFILL(1);
7564
255k
    yych = *YYCURSOR;
7565
255k
    if (yych <= '\f') {
7566
124k
      if (yych <= 0x00) goto yy86;
7567
123k
      if (yych == '\n') goto yy694;
7568
1.62k
      goto yy692;
7569
131k
    } else {
7570
131k
      if (yych <= '\r') goto yy694;
7571
50.0k
      if (yych == '[') goto yy86;
7572
49.4k
      goto yy692;
7573
50.0k
    }
7574
6.32k
yy619:
7575
6.32k
    YYDEBUG(619, *YYCURSOR);
7576
6.32k
    ++YYCURSOR;
7577
6.32k
    YYFILL(1);
7578
6.32k
    yych = *YYCURSOR;
7579
6.32k
    if (yych == '*') goto yy696;
7580
2.17k
    if (yych == '/') goto yy692;
7581
1.28k
    goto yy86;
7582
6.07k
yy620:
7583
6.07k
    YYDEBUG(620, *YYCURSOR);
7584
6.07k
    yyaccept = 4;
7585
6.07k
    yych = *(YYMARKER = ++YYCURSOR);
7586
6.07k
    if (yych == 'S') goto yy698;
7587
3.84k
    if (yych == 's') goto yy698;
7588
609
    goto yy48;
7589
4.49k
yy621:
7590
4.49k
    YYDEBUG(621, *YYCURSOR);
7591
4.49k
    yyaccept = 4;
7592
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
7593
4.49k
    if (yych == '_') goto yy699;
7594
729
    goto yy48;
7595
9.52k
yy622:
7596
9.52k
    YYDEBUG(622, *YYCURSOR);
7597
9.52k
    yyaccept = 4;
7598
9.52k
    yych = *(YYMARKER = ++YYCURSOR);
7599
9.52k
    if (yych == '_') goto yy701;
7600
403
    goto yy48;
7601
7.70k
yy623:
7602
7.70k
    YYDEBUG(623, *YYCURSOR);
7603
7.70k
    yyaccept = 4;
7604
7.70k
    yych = *(YYMARKER = ++YYCURSOR);
7605
7.70k
    if (yych == 'T') goto yy702;
7606
4.16k
    if (yych == 't') goto yy702;
7607
1.22k
    goto yy48;
7608
6.39k
yy624:
7609
6.39k
    YYDEBUG(624, *YYCURSOR);
7610
6.39k
    yyaccept = 4;
7611
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
7612
6.39k
    if (yych == '_') goto yy703;
7613
397
    goto yy48;
7614
2.64k
yy625:
7615
2.64k
    YYDEBUG(625, *YYCURSOR);
7616
2.64k
    yyaccept = 4;
7617
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
7618
2.64k
    if (yych == '_') goto yy704;
7619
453
    goto yy48;
7620
11.6k
yy626:
7621
11.6k
    YYDEBUG(626, *YYCURSOR);
7622
11.6k
    yyaccept = 4;
7623
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
7624
11.6k
    if (yych == 'O') goto yy705;
7625
3.71k
    if (yych == 'o') goto yy705;
7626
334
    goto yy48;
7627
7.72k
yy627:
7628
7.72k
    YYDEBUG(627, *YYCURSOR);
7629
7.72k
    yyaccept = 4;
7630
7.72k
    yych = *(YYMARKER = ++YYCURSOR);
7631
7.72k
    if (yych == 'S') goto yy706;
7632
3.56k
    if (yych == 's') goto yy706;
7633
387
    goto yy48;
7634
4.56k
yy628:
7635
4.56k
    YYDEBUG(628, *YYCURSOR);
7636
4.56k
    yyaccept = 4;
7637
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
7638
4.56k
    if (yych == 'E') goto yy707;
7639
1.21k
    if (yych == 'e') goto yy707;
7640
464
    goto yy48;
7641
3.95k
yy629:
7642
3.95k
    YYDEBUG(629, *YYCURSOR);
7643
3.95k
    yyaccept = 4;
7644
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
7645
3.95k
    if (yych == 'T') goto yy708;
7646
2.82k
    if (yych == 't') goto yy708;
7647
283
    goto yy48;
7648
118k
yy630:
7649
118k
    YYDEBUG(630, *YYCURSOR);
7650
118k
    ++YYCURSOR;
7651
118k
    YYFILL(1);
7652
118k
    yych = *YYCURSOR;
7653
118k
    if (yych <= '\r') {
7654
87.1k
      if (yych <= '\t') {
7655
530
        if (yych <= 0x00) goto yy86;
7656
411
        goto yy443;
7657
86.6k
      } else {
7658
86.6k
        if (yych <= '\n') goto yy709;
7659
16.7k
        if (yych <= '\f') goto yy443;
7660
16.2k
        goto yy709;
7661
16.7k
      }
7662
87.1k
    } else {
7663
31.1k
      if (yych <= '*') {
7664
4.20k
        if (yych <= ')') goto yy443;
7665
1.45k
        goto yy547;
7666
26.9k
      } else {
7667
26.9k
        if (yych == '[') goto yy230;
7668
26.7k
        goto yy443;
7669
26.9k
      }
7670
31.1k
    }
7671
3.87k
yy631:
7672
3.87k
    YYDEBUG(631, *YYCURSOR);
7673
3.87k
    yyaccept = 26;
7674
3.87k
    YYMARKER = ++YYCURSOR;
7675
3.87k
    YYFILL(1);
7676
3.87k
    yych = *YYCURSOR;
7677
3.87k
    if (yybm[0+yych] & 4) {
7678
3.30k
      goto yy230;
7679
3.30k
    }
7680
566
    if (yych <= 0x00) goto yy89;
7681
303
    goto yy355;
7682
1.84k
yy632:
7683
1.84k
    YYDEBUG(632, *YYCURSOR);
7684
1.84k
    ++YYCURSOR;
7685
1.84k
    YYFILL(1);
7686
1.84k
    yych = *YYCURSOR;
7687
1.84k
    if (yybm[0+yych] & 64) {
7688
438
      goto yy355;
7689
438
    }
7690
1.41k
    if (yych <= 0x00) goto yy86;
7691
1.19k
    if (yych == '.') goto yy711;
7692
351
    goto yy230;
7693
53.5k
yy633:
7694
53.5k
    YYDEBUG(633, *YYCURSOR);
7695
53.5k
    ++YYCURSOR;
7696
53.5k
    YYFILL(1);
7697
53.5k
    yych = *YYCURSOR;
7698
53.5k
    if (yych <= '*') {
7699
50.9k
      if (yych <= 0x00) goto yy86;
7700
50.6k
      if (yych <= ')') goto yy230;
7701
50.0k
      goto yy712;
7702
50.6k
    } else {
7703
2.59k
      if (yych == '/') goto yy443;
7704
1.01k
      goto yy230;
7705
2.59k
    }
7706
4.63k
yy634:
7707
4.63k
    YYDEBUG(634, *YYCURSOR);
7708
4.63k
    ++YYCURSOR;
7709
4.63k
    YYDEBUG(635, *YYCURSOR);
7710
4.63k
    yyleng = YYCURSOR - SCNG(yy_text);
7711
4.63k
#line 1717 "Zend/zend_language_scanner.l"
7712
4.63k
    {
7713
4.63k
  RETURN_TOKEN(T_ARRAY_CAST);
7714
4.63k
}
7715
0
#line 7716 "Zend/zend_language_scanner.c"
7716
1.66k
yy636:
7717
1.66k
    YYDEBUG(636, *YYCURSOR);
7718
1.66k
    ++YYCURSOR;
7719
1.66k
    YYFILL(1);
7720
1.66k
    yych = *YYCURSOR;
7721
1.66k
    YYDEBUG(637, *YYCURSOR);
7722
1.66k
    if (yych <= 0x1F) {
7723
250
      if (yych == '\t') goto yy636;
7724
185
      goto yy86;
7725
1.41k
    } else {
7726
1.41k
      if (yych <= ' ') goto yy636;
7727
902
      if (yych == ')') goto yy713;
7728
327
      goto yy86;
7729
902
    }
7730
2.29k
yy638:
7731
2.29k
    YYDEBUG(638, *YYCURSOR);
7732
2.29k
    yych = *++YYCURSOR;
7733
2.29k
    if (yych == 'N') goto yy715;
7734
2.06k
    if (yych == 'n') goto yy715;
7735
323
    goto yy86;
7736
3.14k
yy639:
7737
3.14k
    YYDEBUG(639, *YYCURSOR);
7738
3.14k
    ++YYCURSOR;
7739
3.14k
    YYFILL(1);
7740
3.14k
    yych = *YYCURSOR;
7741
3.14k
    YYDEBUG(640, *YYCURSOR);
7742
3.14k
    if (yych <= 0x1F) {
7743
1.11k
      if (yych == '\t') goto yy639;
7744
546
      goto yy86;
7745
2.03k
    } else {
7746
2.03k
      if (yych <= ' ') goto yy639;
7747
1.68k
      if (yych == ')') goto yy717;
7748
664
      goto yy86;
7749
1.68k
    }
7750
2.21k
yy641:
7751
2.21k
    YYDEBUG(641, *YYCURSOR);
7752
2.21k
    ++YYCURSOR;
7753
2.21k
    YYDEBUG(642, *YYCURSOR);
7754
2.21k
    yyleng = YYCURSOR - SCNG(yy_text);
7755
2.21k
#line 1681 "Zend/zend_language_scanner.l"
7756
2.21k
    {
7757
2.21k
  RETURN_TOKEN(T_DOUBLE_CAST);
7758
2.21k
}
7759
0
#line 7760 "Zend/zend_language_scanner.c"
7760
2.74k
yy643:
7761
2.74k
    YYDEBUG(643, *YYCURSOR);
7762
2.74k
    yych = *++YYCURSOR;
7763
2.74k
    if (yych == 'R') goto yy719;
7764
2.68k
    if (yych == 'r') goto yy719;
7765
235
    goto yy86;
7766
3.83k
yy644:
7767
3.83k
    YYDEBUG(644, *YYCURSOR);
7768
3.83k
    ++YYCURSOR;
7769
3.83k
    YYFILL(1);
7770
3.83k
    yych = *YYCURSOR;
7771
3.83k
    YYDEBUG(645, *YYCURSOR);
7772
3.83k
    if (yych <= 0x1F) {
7773
926
      if (yych == '\t') goto yy644;
7774
778
      goto yy86;
7775
2.90k
    } else {
7776
2.90k
      if (yych <= ' ') goto yy644;
7777
2.36k
      if (yych == ')') goto yy721;
7778
1.12k
      goto yy86;
7779
2.36k
    }
7780
13.7k
yy646:
7781
13.7k
    YYDEBUG(646, *YYCURSOR);
7782
13.7k
    ++YYCURSOR;
7783
13.7k
    YYFILL(1);
7784
13.7k
    yych = *YYCURSOR;
7785
13.7k
    YYDEBUG(647, *YYCURSOR);
7786
13.7k
    if (yych <= 0x1F) {
7787
2.84k
      if (yych == '\t') goto yy646;
7788
2.79k
      goto yy86;
7789
10.9k
    } else {
7790
10.9k
      if (yych <= ' ') goto yy646;
7791
8.39k
      if (yych == ')') goto yy723;
7792
3.28k
      goto yy86;
7793
8.39k
    }
7794
761
yy648:
7795
761
    YYDEBUG(648, *YYCURSOR);
7796
761
    ++YYCURSOR;
7797
761
    YYDEBUG(649, *YYCURSOR);
7798
761
    yyleng = YYCURSOR - SCNG(yy_text);
7799
761
#line 1739 "Zend/zend_language_scanner.l"
7800
761
    {
7801
761
  RETURN_TOKEN(T_UNSET_CAST);
7802
761
}
7803
0
#line 7804 "Zend/zend_language_scanner.c"
7804
6.84k
yy650:
7805
6.84k
    YYDEBUG(650, *YYCURSOR);
7806
6.84k
    yyaccept = 4;
7807
6.84k
    yych = *(YYMARKER = ++YYCURSOR);
7808
6.84k
    if (yych == 'T') goto yy725;
7809
5.83k
    if (yych == 't') goto yy725;
7810
712
    goto yy48;
7811
3.15k
yy651:
7812
3.15k
    YYDEBUG(651, *YYCURSOR);
7813
3.15k
    yyaccept = 4;
7814
3.15k
    yych = *(YYMARKER = ++YYCURSOR);
7815
3.15k
    if (yych == 'E') goto yy727;
7816
2.73k
    if (yych == 'e') goto yy727;
7817
354
    goto yy48;
7818
3.76k
yy652:
7819
3.76k
    YYDEBUG(652, *YYCURSOR);
7820
3.76k
    yyaccept = 4;
7821
3.76k
    yych = *(YYMARKER = ++YYCURSOR);
7822
3.76k
    if (yych == 'E') goto yy729;
7823
3.29k
    if (yych == 'e') goto yy729;
7824
497
    goto yy48;
7825
6.82k
yy653:
7826
6.82k
    YYDEBUG(653, *YYCURSOR);
7827
6.82k
    yyaccept = 59;
7828
6.82k
    yych = *(YYMARKER = ++YYCURSOR);
7829
6.82k
    if (yybm[256+yych] & 128) {
7830
375
      goto yy47;
7831
375
    }
7832
6.45k
    if (yych == '\\') goto yy164;
7833
6.41k
yy654:
7834
6.41k
    YYDEBUG(654, *YYCURSOR);
7835
6.41k
    yyleng = YYCURSOR - SCNG(yy_text);
7836
6.41k
#line 1527 "Zend/zend_language_scanner.l"
7837
6.41k
    {
7838
6.41k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7839
6.41k
}
7840
0
#line 7841 "Zend/zend_language_scanner.c"
7841
2.62k
yy655:
7842
2.62k
    YYDEBUG(655, *YYCURSOR);
7843
2.62k
    yyaccept = 60;
7844
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
7845
2.62k
    if (yybm[256+yych] & 128) {
7846
337
      goto yy47;
7847
337
    }
7848
2.29k
    if (yych == '\\') goto yy164;
7849
2.25k
yy656:
7850
2.25k
    YYDEBUG(656, *YYCURSOR);
7851
2.25k
    yyleng = YYCURSOR - SCNG(yy_text);
7852
2.25k
#line 1559 "Zend/zend_language_scanner.l"
7853
2.25k
    {
7854
2.25k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7855
2.25k
}
7856
0
#line 7857 "Zend/zend_language_scanner.c"
7857
2.63k
yy657:
7858
2.63k
    YYDEBUG(657, *YYCURSOR);
7859
2.63k
    yyaccept = 4;
7860
2.63k
    yych = *(YYMARKER = ++YYCURSOR);
7861
2.63k
    if (yych == 'A') goto yy731;
7862
1.89k
    if (yych == 'a') goto yy731;
7863
494
    goto yy48;
7864
5.44k
yy658:
7865
5.44k
    YYDEBUG(658, *YYCURSOR);
7866
5.44k
    yyaccept = 4;
7867
5.44k
    yych = *(YYMARKER = ++YYCURSOR);
7868
5.44k
    if (yych == 'A') goto yy732;
7869
3.30k
    if (yych == 'a') goto yy732;
7870
919
    goto yy48;
7871
2.83k
yy659:
7872
2.83k
    YYDEBUG(659, *YYCURSOR);
7873
2.83k
    yyaccept = 4;
7874
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
7875
2.83k
    if (yych == 'C') goto yy733;
7876
2.62k
    if (yych == 'c') goto yy733;
7877
643
    goto yy48;
7878
5.90k
yy660:
7879
5.90k
    YYDEBUG(660, *YYCURSOR);
7880
5.90k
    yyaccept = 4;
7881
5.90k
    yych = *(YYMARKER = ++YYCURSOR);
7882
5.90k
    if (yych == 'E') goto yy734;
7883
4.76k
    if (yych == 'e') goto yy734;
7884
949
    goto yy48;
7885
2.37k
yy661:
7886
2.37k
    YYDEBUG(661, *YYCURSOR);
7887
2.37k
    yych = *++YYCURSOR;
7888
2.37k
    if (yych == 'T') goto yy736;
7889
1.96k
    if (yych == 't') goto yy736;
7890
892
    goto yy86;
7891
4.78k
yy662:
7892
4.78k
    YYDEBUG(662, *YYCURSOR);
7893
4.78k
    yych = *++YYCURSOR;
7894
4.78k
    if (yych == 'P') goto yy737;
7895
4.20k
    if (yych == 'p') goto yy737;
7896
408
    goto yy86;
7897
43.7k
yy663:
7898
43.7k
    YYDEBUG(663, *YYCURSOR);
7899
43.7k
    ++YYCURSOR;
7900
43.7k
    YYFILL(1);
7901
43.7k
    yych = *YYCURSOR;
7902
43.7k
    if (yych <= '\n') {
7903
30.5k
      if (yych <= 0x00) goto yy86;
7904
30.2k
      if (yych <= '\t') goto yy586;
7905
29.7k
      goto yy588;
7906
30.2k
    } else {
7907
13.2k
      if (yych == '\r') goto yy588;
7908
7.35k
      goto yy586;
7909
13.2k
    }
7910
194k
yy664:
7911
194k
    YYDEBUG(664, *YYCURSOR);
7912
194k
    ++YYCURSOR;
7913
194k
    YYFILL(1);
7914
194k
    yych = *YYCURSOR;
7915
194k
    if (yych <= '\f') {
7916
2.97k
      if (yych <= 0x00) goto yy86;
7917
2.46k
      if (yych == '\n') goto yy495;
7918
1.38k
      goto yy586;
7919
191k
    } else {
7920
191k
      if (yych <= '\r') goto yy495;
7921
175k
      if (yych == '*') goto yy738;
7922
12.9k
      goto yy586;
7923
175k
    }
7924
46.7k
yy665:
7925
46.7k
    YYDEBUG(665, *YYCURSOR);
7926
46.7k
    yyaccept = 53;
7927
46.7k
    YYMARKER = ++YYCURSOR;
7928
46.7k
    YYFILL(1);
7929
46.7k
    yych = *YYCURSOR;
7930
46.7k
    if (yych <= '\n') {
7931
4.54k
      if (yych <= 0x00) goto yy583;
7932
3.75k
      if (yych <= '\t') goto yy586;
7933
908
      goto yy495;
7934
42.1k
    } else {
7935
42.1k
      if (yych == '\r') goto yy495;
7936
38.7k
      goto yy586;
7937
42.1k
    }
7938
242k
yy666:
7939
242k
    YYDEBUG(666, *YYCURSOR);
7940
242k
    yyaccept = 53;
7941
242k
    YYMARKER = ++YYCURSOR;
7942
242k
    YYFILL(1);
7943
242k
    yych = *YYCURSOR;
7944
242k
    if (yych <= '\r') {
7945
40.6k
      if (yych <= '\t') {
7946
25.5k
        if (yych <= 0x00) goto yy583;
7947
25.1k
        goto yy586;
7948
25.5k
      } else {
7949
15.0k
        if (yych <= '\n') goto yy495;
7950
13.6k
        if (yych <= '\f') goto yy586;
7951
3.41k
        goto yy495;
7952
13.6k
      }
7953
202k
    } else {
7954
202k
      if (yych <= 'X') {
7955
100k
        if (yych <= 'W') goto yy586;
7956
5.22k
        goto yy740;
7957
101k
      } else {
7958
101k
        if (yych == 'x') goto yy740;
7959
66.3k
        goto yy586;
7960
101k
      }
7961
202k
    }
7962
42.1k
yy667:
7963
42.1k
    YYDEBUG(667, *YYCURSOR);
7964
42.1k
    yyaccept = 53;
7965
42.1k
    YYMARKER = ++YYCURSOR;
7966
42.1k
    YYFILL(1);
7967
42.1k
    yych = *YYCURSOR;
7968
42.1k
    if (yych <= '\r') {
7969
4.13k
      if (yych <= '\t') {
7970
737
        if (yych <= 0x00) goto yy583;
7971
218
        goto yy586;
7972
3.40k
      } else {
7973
3.40k
        if (yych <= '\n') goto yy495;
7974
657
        if (yych <= '\f') goto yy586;
7975
368
        goto yy495;
7976
657
      }
7977
38.0k
    } else {
7978
38.0k
      if (yych <= 'M') {
7979
7.44k
        if (yych <= 'L') goto yy586;
7980
6.88k
        goto yy741;
7981
30.6k
      } else {
7982
30.6k
        if (yych == 'm') goto yy741;
7983
5.62k
        goto yy586;
7984
30.6k
      }
7985
38.0k
    }
7986
106k
yy668:
7987
106k
    YYDEBUG(668, *YYCURSOR);
7988
106k
    ++YYCURSOR;
7989
106k
    YYFILL(1);
7990
106k
    yych = *YYCURSOR;
7991
106k
    YYDEBUG(669, *YYCURSOR);
7992
106k
    if (yych <= '*') {
7993
22.0k
      if (yych <= 0x00) goto yy86;
7994
21.3k
      if (yych <= ')') goto yy590;
7995
8.91k
      goto yy668;
7996
84.1k
    } else {
7997
84.1k
      if (yych == '/') goto yy495;
7998
7.22k
      goto yy590;
7999
84.1k
    }
8000
18.0k
yy670:
8001
18.0k
    YYDEBUG(670, *YYCURSOR);
8002
18.0k
    yyaccept = 61;
8003
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
8004
18.0k
    if (yybm[256+yych] & 128) {
8005
1.05k
      goto yy47;
8006
1.05k
    }
8007
16.9k
    if (yych == '\\') goto yy164;
8008
16.9k
yy671:
8009
16.9k
    YYDEBUG(671, *YYCURSOR);
8010
16.9k
    yyleng = YYCURSOR - SCNG(yy_text);
8011
16.9k
#line 1608 "Zend/zend_language_scanner.l"
8012
16.9k
    {
8013
16.9k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
8014
16.9k
}
8015
0
#line 8016 "Zend/zend_language_scanner.c"
8016
3.62k
yy672:
8017
3.62k
    YYDEBUG(672, *YYCURSOR);
8018
3.62k
    yyaccept = 62;
8019
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
8020
3.62k
    if (yybm[256+yych] & 128) {
8021
493
      goto yy47;
8022
493
    }
8023
3.13k
    if (yych == '\\') goto yy164;
8024
3.12k
yy673:
8025
3.12k
    YYDEBUG(673, *YYCURSOR);
8026
3.12k
    yyleng = YYCURSOR - SCNG(yy_text);
8027
3.12k
#line 1475 "Zend/zend_language_scanner.l"
8028
3.12k
    {
8029
3.12k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8030
3.12k
}
8031
0
#line 8032 "Zend/zend_language_scanner.c"
8032
22.9k
yy674:
8033
22.9k
    YYDEBUG(674, *YYCURSOR);
8034
22.9k
    yyaccept = 63;
8035
22.9k
    yych = *(YYMARKER = ++YYCURSOR);
8036
22.9k
    if (yybm[256+yych] & 128) {
8037
997
      goto yy47;
8038
997
    }
8039
21.9k
    if (yych == '\\') goto yy164;
8040
21.9k
yy675:
8041
21.9k
    YYDEBUG(675, *YYCURSOR);
8042
21.9k
    yyleng = YYCURSOR - SCNG(yy_text);
8043
21.9k
#line 1519 "Zend/zend_language_scanner.l"
8044
21.9k
    {
8045
21.9k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8046
21.9k
}
8047
0
#line 8048 "Zend/zend_language_scanner.c"
8048
113k
yy676:
8049
113k
    YYDEBUG(676, *YYCURSOR);
8050
113k
    yyaccept = 4;
8051
113k
    yych = *(YYMARKER = ++YYCURSOR);
8052
113k
    if (yych == 'N') goto yy742;
8053
112k
    if (yych == 'n') goto yy742;
8054
1.59k
    goto yy48;
8055
11.2k
yy677:
8056
11.2k
    YYDEBUG(677, *YYCURSOR);
8057
11.2k
    yyaccept = 4;
8058
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
8059
11.2k
    if (yych == 'N') goto yy744;
8060
7.99k
    if (yych == 'n') goto yy744;
8061
1.38k
    goto yy48;
8062
9.23k
yy678:
8063
9.23k
    YYDEBUG(678, *YYCURSOR);
8064
9.23k
    yyaccept = 64;
8065
9.23k
    yych = *(YYMARKER = ++YYCURSOR);
8066
9.23k
    if (yych <= '\\') {
8067
4.39k
      if (yych <= '@') {
8068
3.25k
        if (yych <= '/') goto yy679;
8069
605
        if (yych <= '9') goto yy47;
8070
1.14k
      } else {
8071
1.14k
        if (yych <= 'Z') goto yy47;
8072
534
        if (yych >= '\\') goto yy164;
8073
534
      }
8074
4.84k
    } else {
8075
4.84k
      if (yych <= '`') {
8076
3.92k
        if (yych == '_') goto yy745;
8077
3.92k
      } else {
8078
917
        if (yych <= 'z') goto yy47;
8079
595
        if (yych >= 0x80) goto yy47;
8080
595
      }
8081
4.84k
    }
8082
3.93k
yy679:
8083
3.93k
    YYDEBUG(679, *YYCURSOR);
8084
3.93k
    yyleng = YYCURSOR - SCNG(yy_text);
8085
3.93k
#line 1751 "Zend/zend_language_scanner.l"
8086
3.93k
    {
8087
3.93k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8088
3.93k
}
8089
0
#line 8090 "Zend/zend_language_scanner.c"
8090
5.73k
yy680:
8091
5.73k
    YYDEBUG(680, *YYCURSOR);
8092
5.73k
    yyaccept = 4;
8093
5.73k
    yych = *(YYMARKER = ++YYCURSOR);
8094
5.73k
    if (yych == 'E') goto yy746;
8095
4.52k
    if (yych == 'e') goto yy746;
8096
761
    goto yy48;
8097
5.54k
yy681:
8098
5.54k
    YYDEBUG(681, *YYCURSOR);
8099
5.54k
    yyaccept = 4;
8100
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
8101
5.54k
    if (yych == 'O') goto yy747;
8102
4.22k
    if (yych == 'o') goto yy747;
8103
412
    goto yy48;
8104
8.02k
yy682:
8105
8.02k
    YYDEBUG(682, *YYCURSOR);
8106
8.02k
    yyaccept = 4;
8107
8.02k
    yych = *(YYMARKER = ++YYCURSOR);
8108
8.02k
    if (yych == 'C') goto yy748;
8109
7.12k
    if (yych == 'c') goto yy748;
8110
476
    goto yy48;
8111
21.4k
yy683:
8112
21.4k
    YYDEBUG(683, *YYCURSOR);
8113
21.4k
    yyaccept = 4;
8114
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
8115
21.4k
    if (yych == 'C') goto yy749;
8116
19.0k
    if (yych == 'c') goto yy749;
8117
832
    goto yy48;
8118
12.2k
yy684:
8119
12.2k
    YYDEBUG(684, *YYCURSOR);
8120
12.2k
    yyaccept = 65;
8121
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
8122
12.2k
    if (yybm[256+yych] & 128) {
8123
571
      goto yy47;
8124
571
    }
8125
11.6k
    if (yych == '(') goto yy750;
8126
9.18k
    if (yych == '\\') goto yy164;
8127
10.9k
yy685:
8128
10.9k
    YYDEBUG(685, *YYCURSOR);
8129
10.9k
    yyleng = YYCURSOR - SCNG(yy_text);
8130
10.9k
#line 1807 "Zend/zend_language_scanner.l"
8131
10.9k
    {
8132
10.9k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8133
10.9k
}
8134
0
#line 8135 "Zend/zend_language_scanner.c"
8135
8.94k
yy686:
8136
8.94k
    YYDEBUG(686, *YYCURSOR);
8137
8.94k
    yyaccept = 4;
8138
8.94k
    yych = *(YYMARKER = ++YYCURSOR);
8139
8.94k
    if (yych == 'E') goto yy751;
8140
7.69k
    if (yych == 'e') goto yy751;
8141
247
    goto yy48;
8142
2.90k
yy687:
8143
2.90k
    YYDEBUG(687, *YYCURSOR);
8144
2.90k
    yych = *++YYCURSOR;
8145
2.90k
    if (yych == 'S') goto yy752;
8146
1.97k
    if (yych == 's') goto yy752;
8147
413
    goto yy86;
8148
6.50k
yy688:
8149
6.50k
    YYDEBUG(688, *YYCURSOR);
8150
6.50k
    yyaccept = 4;
8151
6.50k
    yych = *(YYMARKER = ++YYCURSOR);
8152
6.50k
    if (yych == 'Y') goto yy753;
8153
6.43k
    if (yych == 'y') goto yy753;
8154
811
    goto yy48;
8155
18.6k
yy689:
8156
18.6k
    YYDEBUG(689, *YYCURSOR);
8157
18.6k
    yyaccept = 66;
8158
18.6k
    yych = *(YYMARKER = ++YYCURSOR);
8159
18.6k
    if (yych <= '\\') {
8160
10.5k
      if (yych <= '@') {
8161
9.76k
        if (yych <= '/') goto yy690;
8162
1.80k
        if (yych <= '9') goto yy47;
8163
1.80k
      } else {
8164
733
        if (yych <= 'Z') goto yy47;
8165
274
        if (yych >= '\\') goto yy164;
8166
274
      }
8167
10.5k
    } else {
8168
8.15k
      if (yych <= '`') {
8169
2.62k
        if (yych == '_') goto yy755;
8170
5.52k
      } else {
8171
5.52k
        if (yych <= 'z') goto yy47;
8172
5.11k
        if (yych >= 0x80) goto yy47;
8173
5.11k
      }
8174
8.15k
    }
8175
9.80k
yy690:
8176
9.80k
    YYDEBUG(690, *YYCURSOR);
8177
9.80k
    yyleng = YYCURSOR - SCNG(yy_text);
8178
9.80k
#line 1759 "Zend/zend_language_scanner.l"
8179
9.80k
    {
8180
9.80k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8181
9.80k
}
8182
0
#line 8183 "Zend/zend_language_scanner.c"
8183
10.1k
yy691:
8184
10.1k
    YYDEBUG(691, *YYCURSOR);
8185
10.1k
    yych = *++YYCURSOR;
8186
10.1k
    if (yych == 'R') goto yy756;
8187
7.22k
    if (yych == 'r') goto yy756;
8188
3.21k
    goto yy86;
8189
1.05M
yy692:
8190
1.05M
    YYDEBUG(692, *YYCURSOR);
8191
1.05M
    ++YYCURSOR;
8192
1.05M
    YYFILL(1);
8193
1.05M
    yych = *YYCURSOR;
8194
1.05M
    YYDEBUG(693, *YYCURSOR);
8195
1.05M
    if (yych <= '\n') {
8196
71.2k
      if (yych <= 0x00) goto yy86;
8197
66.0k
      if (yych <= '\t') goto yy692;
8198
54.5k
      goto yy616;
8199
980k
    } else {
8200
980k
      if (yych == '\r') goto yy616;
8201
907k
      goto yy692;
8202
980k
    }
8203
244k
yy694:
8204
244k
    YYDEBUG(694, *YYCURSOR);
8205
244k
    ++YYCURSOR;
8206
244k
    YYFILL(1);
8207
244k
    yych = *YYCURSOR;
8208
244k
    YYDEBUG(695, *YYCURSOR);
8209
244k
    if (yych <= ' ') {
8210
37.0k
      if (yych <= '\n') {
8211
5.97k
        if (yych <= 0x00) goto yy86;
8212
5.23k
        if (yych <= 0x08) goto yy692;
8213
4.63k
        if (yych <= '\t') goto yy694;
8214
2.69k
        goto yy616;
8215
31.0k
      } else {
8216
31.0k
        if (yych == '\r') goto yy616;
8217
9.50k
        if (yych <= 0x1F) goto yy692;
8218
8.76k
        goto yy694;
8219
9.50k
      }
8220
207k
    } else {
8221
207k
      if (yych <= '/') {
8222
144k
        if (yych == '#') goto yy757;
8223
135k
        if (yych <= '.') goto yy692;
8224
127k
        goto yy758;
8225
135k
      } else {
8226
63.4k
        if (yych <= 'F') {
8227
25.4k
          if (yych <= 'E') goto yy692;
8228
18.5k
          goto yy759;
8229
37.9k
        } else {
8230
37.9k
          if (yych == 'f') goto yy759;
8231
36.3k
          goto yy692;
8232
37.9k
        }
8233
63.4k
      }
8234
207k
    }
8235
1.82M
yy696:
8236
1.82M
    YYDEBUG(696, *YYCURSOR);
8237
1.82M
    ++YYCURSOR;
8238
1.82M
    YYFILL(1);
8239
1.82M
    yych = *YYCURSOR;
8240
1.82M
    YYDEBUG(697, *YYCURSOR);
8241
1.82M
    if (yych <= 0x00) goto yy86;
8242
1.81M
    if (yych == '*') goto yy760;
8243
1.74M
    goto yy696;
8244
1.74M
yy698:
8245
5.46k
    YYDEBUG(698, *YYCURSOR);
8246
5.46k
    yyaccept = 4;
8247
5.46k
    yych = *(YYMARKER = ++YYCURSOR);
8248
5.46k
    if (yych == '_') goto yy762;
8249
370
    goto yy48;
8250
3.76k
yy699:
8251
3.76k
    YYDEBUG(699, *YYCURSOR);
8252
3.76k
    yyaccept = 67;
8253
3.76k
    yych = *(YYMARKER = ++YYCURSOR);
8254
3.76k
    if (yybm[256+yych] & 128) {
8255
609
      goto yy47;
8256
609
    }
8257
3.15k
    if (yych == '\\') goto yy164;
8258
3.15k
yy700:
8259
3.15k
    YYDEBUG(700, *YYCURSOR);
8260
3.15k
    yyleng = YYCURSOR - SCNG(yy_text);
8261
3.15k
#line 2310 "Zend/zend_language_scanner.l"
8262
3.15k
    {
8263
3.15k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8264
3.15k
}
8265
0
#line 8266 "Zend/zend_language_scanner.c"
8266
9.12k
yy701:
8267
9.12k
    YYDEBUG(701, *YYCURSOR);
8268
9.12k
    yyaccept = 4;
8269
9.12k
    yych = *(YYMARKER = ++YYCURSOR);
8270
9.12k
    if (yych == '_') goto yy763;
8271
2.72k
    goto yy48;
8272
6.48k
yy702:
8273
6.48k
    YYDEBUG(702, *YYCURSOR);
8274
6.48k
    yyaccept = 4;
8275
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
8276
6.48k
    if (yych == 'I') goto yy765;
8277
3.62k
    if (yych == 'i') goto yy765;
8278
212
    goto yy48;
8279
6.00k
yy703:
8280
6.00k
    YYDEBUG(703, *YYCURSOR);
8281
6.00k
    yyaccept = 4;
8282
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
8283
6.00k
    if (yych == 'C') goto yy766;
8284
3.28k
    if (yych == 'c') goto yy766;
8285
495
    goto yy48;
8286
2.19k
yy704:
8287
2.19k
    YYDEBUG(704, *YYCURSOR);
8288
2.19k
    yyaccept = 4;
8289
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
8290
2.19k
    if (yych == '_') goto yy767;
8291
154
    goto yy48;
8292
11.3k
yy705:
8293
11.3k
    YYDEBUG(705, *YYCURSOR);
8294
11.3k
    yyaccept = 4;
8295
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
8296
11.3k
    if (yych == 'D') goto yy769;
8297
3.59k
    if (yych == 'd') goto yy769;
8298
537
    goto yy48;
8299
7.33k
yy706:
8300
7.33k
    YYDEBUG(706, *YYCURSOR);
8301
7.33k
    yyaccept = 4;
8302
7.33k
    yych = *(YYMARKER = ++YYCURSOR);
8303
7.33k
    if (yych == 'P') goto yy770;
8304
3.63k
    if (yych == 'p') goto yy770;
8305
855
    goto yy48;
8306
4.10k
yy707:
8307
4.10k
    YYDEBUG(707, *YYCURSOR);
8308
4.10k
    yyaccept = 4;
8309
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
8310
4.10k
    if (yych == 'R') goto yy771;
8311
2.37k
    if (yych == 'r') goto yy771;
8312
499
    goto yy48;
8313
3.67k
yy708:
8314
3.67k
    YYDEBUG(708, *YYCURSOR);
8315
3.67k
    yyaccept = 4;
8316
3.67k
    yych = *(YYMARKER = ++YYCURSOR);
8317
3.67k
    if (yych == '_') goto yy772;
8318
599
    goto yy48;
8319
128k
yy709:
8320
128k
    YYDEBUG(709, *YYCURSOR);
8321
128k
    ++YYCURSOR;
8322
128k
    YYFILL(1);
8323
128k
    yych = *YYCURSOR;
8324
128k
    YYDEBUG(710, *YYCURSOR);
8325
128k
    if (yych <= ' ') {
8326
12.6k
      if (yych <= '\n') {
8327
4.61k
        if (yych <= 0x00) goto yy86;
8328
4.26k
        if (yych <= 0x08) goto yy443;
8329
3.73k
        if (yych <= '\t') goto yy709;
8330
677
        goto yy545;
8331
8.03k
      } else {
8332
8.03k
        if (yych == '\r') goto yy545;
8333
3.25k
        if (yych <= 0x1F) goto yy443;
8334
1.58k
        goto yy709;
8335
3.25k
      }
8336
115k
    } else {
8337
115k
      if (yych <= ')') {
8338
14.8k
        if (yych <= '"') goto yy443;
8339
14.5k
        if (yych <= '#') goto yy773;
8340
5.27k
        if (yych <= '$') goto yy774;
8341
3.84k
        goto yy443;
8342
100k
      } else {
8343
100k
        if (yych <= '-') {
8344
1.24k
          if (yych <= '*') goto yy547;
8345
1.05k
          goto yy443;
8346
99.4k
        } else {
8347
99.4k
          if (yych <= '.') goto yy775;
8348
94.1k
          if (yych <= '/') goto yy776;
8349
57.9k
          goto yy443;
8350
94.1k
        }
8351
100k
      }
8352
115k
    }
8353
848
yy711:
8354
848
    YYDEBUG(711, *YYCURSOR);
8355
848
    ++YYCURSOR;
8356
848
    YYFILL(1);
8357
848
    yych = *YYCURSOR;
8358
848
    if (yybm[0+yych] & 64) {
8359
240
      goto yy355;
8360
240
    }
8361
608
    if (yych <= 0x00) goto yy86;
8362
444
    if (yych == '.') goto yy631;
8363
267
    goto yy230;
8364
50.0k
yy712:
8365
50.0k
    YYDEBUG(712, *YYCURSOR);
8366
50.0k
    ++YYCURSOR;
8367
50.0k
    YYFILL(1);
8368
50.0k
    yych = *YYCURSOR;
8369
50.0k
    if (yybm[0+yych] & 64) {
8370
917
      goto yy355;
8371
917
    }
8372
49.1k
    if (yych <= 0x00) goto yy86;
8373
48.7k
    if (yych == '/') goto yy545;
8374
1.02k
    goto yy230;
8375
1.02k
yy713:
8376
575
    YYDEBUG(713, *YYCURSOR);
8377
575
    ++YYCURSOR;
8378
575
    YYDEBUG(714, *YYCURSOR);
8379
575
    yyleng = YYCURSOR - SCNG(yy_text);
8380
575
#line 1707 "Zend/zend_language_scanner.l"
8381
575
    {
8382
575
  if (PARSER_MODE()) {
8383
61
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8384
61
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
61
  }
8388
575
  RETURN_TOKEN(T_STRING_CAST);
8389
575
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
3.58k
yy715:
8392
3.58k
    YYDEBUG(715, *YYCURSOR);
8393
3.58k
    ++YYCURSOR;
8394
3.58k
    YYFILL(1);
8395
3.58k
    yych = *YYCURSOR;
8396
3.58k
    YYDEBUG(716, *YYCURSOR);
8397
3.58k
    if (yych <= 0x1F) {
8398
444
      if (yych == '\t') goto yy715;
8399
35
      goto yy86;
8400
3.13k
    } else {
8401
3.13k
      if (yych <= ' ') goto yy715;
8402
1.93k
      if (yych == ')') goto yy777;
8403
610
      goto yy86;
8404
1.93k
    }
8405
1.02k
yy717:
8406
1.02k
    YYDEBUG(717, *YYCURSOR);
8407
1.02k
    ++YYCURSOR;
8408
1.02k
    YYDEBUG(718, *YYCURSOR);
8409
1.02k
    yyleng = YYCURSOR - SCNG(yy_text);
8410
1.02k
#line 1685 "Zend/zend_language_scanner.l"
8411
1.02k
    {
8412
1.02k
  if (PARSER_MODE()) {
8413
330
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8414
330
    if (EG(exception)) {
8415
0
      RETURN_TOKEN(T_ERROR);
8416
0
    }
8417
330
  }
8418
1.02k
  RETURN_TOKEN(T_DOUBLE_CAST);
8419
1.02k
}
8420
0
#line 8421 "Zend/zend_language_scanner.c"
8421
2.91k
yy719:
8422
2.91k
    YYDEBUG(719, *YYCURSOR);
8423
2.91k
    ++YYCURSOR;
8424
2.91k
    YYFILL(1);
8425
2.91k
    yych = *YYCURSOR;
8426
2.91k
    YYDEBUG(720, *YYCURSOR);
8427
2.91k
    if (yych <= 0x1F) {
8428
903
      if (yych == '\t') goto yy719;
8429
638
      goto yy86;
8430
2.01k
    } else {
8431
2.01k
      if (yych <= ' ') goto yy719;
8432
1.87k
      if (yych == ')') goto yy779;
8433
700
      goto yy86;
8434
1.87k
    }
8435
1.24k
yy721:
8436
1.24k
    YYDEBUG(721, *YYCURSOR);
8437
1.24k
    ++YYCURSOR;
8438
1.24k
    YYDEBUG(722, *YYCURSOR);
8439
1.24k
    yyleng = YYCURSOR - SCNG(yy_text);
8440
1.24k
#line 1721 "Zend/zend_language_scanner.l"
8441
1.24k
    {
8442
1.24k
  RETURN_TOKEN(T_OBJECT_CAST);
8443
1.24k
}
8444
0
#line 8445 "Zend/zend_language_scanner.c"
8445
5.11k
yy723:
8446
5.11k
    YYDEBUG(723, *YYCURSOR);
8447
5.11k
    ++YYCURSOR;
8448
5.11k
    YYDEBUG(724, *YYCURSOR);
8449
5.11k
    yyleng = YYCURSOR - SCNG(yy_text);
8450
5.11k
#line 1703 "Zend/zend_language_scanner.l"
8451
5.11k
    {
8452
5.11k
  RETURN_TOKEN(T_STRING_CAST);
8453
5.11k
}
8454
0
#line 8455 "Zend/zend_language_scanner.c"
8455
6.12k
yy725:
8456
6.12k
    YYDEBUG(725, *YYCURSOR);
8457
6.12k
    yyaccept = 68;
8458
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
8459
6.12k
    if (yybm[256+yych] & 128) {
8460
1.77k
      goto yy47;
8461
1.77k
    }
8462
4.35k
    if (yych == '\\') goto yy164;
8463
4.34k
yy726:
8464
4.34k
    YYDEBUG(726, *YYCURSOR);
8465
4.34k
    yyleng = YYCURSOR - SCNG(yy_text);
8466
4.34k
#line 1799 "Zend/zend_language_scanner.l"
8467
4.34k
    {
8468
4.34k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8469
4.34k
}
8470
0
#line 8471 "Zend/zend_language_scanner.c"
8471
2.80k
yy727:
8472
2.80k
    YYDEBUG(727, *YYCURSOR);
8473
2.80k
    yyaccept = 69;
8474
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
8475
2.80k
    if (yybm[256+yych] & 128) {
8476
400
      goto yy47;
8477
400
    }
8478
2.40k
    if (yych == '\\') goto yy164;
8479
2.40k
yy728:
8480
2.40k
    YYDEBUG(728, *YYCURSOR);
8481
2.40k
    yyleng = YYCURSOR - SCNG(yy_text);
8482
2.40k
#line 1851 "Zend/zend_language_scanner.l"
8483
2.40k
    {
8484
2.40k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8485
2.40k
}
8486
0
#line 8487 "Zend/zend_language_scanner.c"
8487
3.27k
yy729:
8488
3.27k
    YYDEBUG(729, *YYCURSOR);
8489
3.27k
    yyaccept = 70;
8490
3.27k
    yych = *(YYMARKER = ++YYCURSOR);
8491
3.27k
    if (yybm[256+yych] & 128) {
8492
442
      goto yy47;
8493
442
    }
8494
2.83k
    if (yych == '\\') goto yy164;
8495
2.82k
yy730:
8496
2.82k
    YYDEBUG(730, *YYCURSOR);
8497
2.82k
    yyleng = YYCURSOR - SCNG(yy_text);
8498
2.82k
#line 1567 "Zend/zend_language_scanner.l"
8499
2.82k
    {
8500
2.82k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8501
2.82k
}
8502
0
#line 8503 "Zend/zend_language_scanner.c"
8503
2.14k
yy731:
8504
2.14k
    YYDEBUG(731, *YYCURSOR);
8505
2.14k
    yyaccept = 4;
8506
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
8507
2.14k
    if (yych == 'R') goto yy781;
8508
1.67k
    if (yych == 'r') goto yy781;
8509
284
    goto yy48;
8510
4.52k
yy732:
8511
4.52k
    YYDEBUG(732, *YYCURSOR);
8512
4.52k
    yyaccept = 4;
8513
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
8514
4.52k
    if (yych == 'C') goto yy782;
8515
2.51k
    if (yych == 'c') goto yy782;
8516
160
    goto yy48;
8517
2.19k
yy733:
8518
2.19k
    YYDEBUG(733, *YYCURSOR);
8519
2.19k
    yyaccept = 4;
8520
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
8521
2.19k
    if (yych == 'H') goto yy783;
8522
1.78k
    if (yych == 'h') goto yy783;
8523
747
    goto yy48;
8524
4.95k
yy734:
8525
4.95k
    YYDEBUG(734, *YYCURSOR);
8526
4.95k
    yyaccept = 71;
8527
4.95k
    yych = *(YYMARKER = ++YYCURSOR);
8528
4.95k
    if (yybm[256+yych] & 128) {
8529
571
      goto yy47;
8530
571
    }
8531
4.38k
    if (yych == '\\') goto yy164;
8532
4.36k
yy735:
8533
4.36k
    YYDEBUG(735, *YYCURSOR);
8534
4.36k
    yyleng = YYCURSOR - SCNG(yy_text);
8535
4.36k
#line 1503 "Zend/zend_language_scanner.l"
8536
4.36k
    {
8537
4.36k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8538
4.36k
}
8539
0
#line 8540 "Zend/zend_language_scanner.c"
8540
1.48k
yy736:
8541
1.48k
    YYDEBUG(736, *YYCURSOR);
8542
1.48k
    yych = *++YYCURSOR;
8543
1.48k
    if (yych == 'E') goto yy785;
8544
1.32k
    if (yych == 'e') goto yy785;
8545
281
    goto yy86;
8546
4.37k
yy737:
8547
4.37k
    YYDEBUG(737, *YYCURSOR);
8548
4.37k
    yych = *++YYCURSOR;
8549
4.37k
    if (yych == 'L') goto yy786;
8550
3.94k
    if (yych == 'l') goto yy786;
8551
511
    goto yy86;
8552
3.22M
yy738:
8553
3.22M
    YYDEBUG(738, *YYCURSOR);
8554
3.22M
    ++YYCURSOR;
8555
3.22M
    YYFILL(1);
8556
3.22M
    yych = *YYCURSOR;
8557
3.22M
    YYDEBUG(739, *YYCURSOR);
8558
3.22M
    if (yych <= '\f') {
8559
210k
      if (yych <= 0x00) goto yy86;
8560
199k
      if (yych == '\n') goto yy787;
8561
39.6k
      goto yy738;
8562
3.01M
    } else {
8563
3.01M
      if (yych <= '\r') goto yy787;
8564
2.82M
      if (yych == '*') goto yy789;
8565
2.74M
      goto yy738;
8566
2.82M
    }
8567
40.7k
yy740:
8568
40.7k
    YYDEBUG(740, *YYCURSOR);
8569
40.7k
    ++YYCURSOR;
8570
40.7k
    YYFILL(1);
8571
40.7k
    yych = *YYCURSOR;
8572
40.7k
    if (yych <= '\r') {
8573
2.36k
      if (yych <= '\t') {
8574
1.65k
        if (yych <= 0x00) goto yy86;
8575
1.36k
        goto yy586;
8576
1.65k
      } else {
8577
704
        if (yych <= '\n') goto yy495;
8578
352
        if (yych <= '\f') goto yy586;
8579
74
        goto yy495;
8580
352
      }
8581
38.3k
    } else {
8582
38.3k
      if (yych <= 'T') {
8583
3.47k
        if (yych <= 'S') goto yy586;
8584
1.34k
        goto yy791;
8585
34.8k
      } else {
8586
34.8k
        if (yych == 't') goto yy791;
8587
24.4k
        goto yy586;
8588
34.8k
      }
8589
38.3k
    }
8590
31.8k
yy741:
8591
31.8k
    YYDEBUG(741, *YYCURSOR);
8592
31.8k
    ++YYCURSOR;
8593
31.8k
    YYFILL(1);
8594
31.8k
    yych = *YYCURSOR;
8595
31.8k
    if (yych <= '\r') {
8596
1.79k
      if (yych <= '\t') {
8597
451
        if (yych <= 0x00) goto yy86;
8598
179
        goto yy586;
8599
1.34k
      } else {
8600
1.34k
        if (yych <= '\n') goto yy495;
8601
1.25k
        if (yych <= '\f') goto yy586;
8602
819
        goto yy495;
8603
1.25k
      }
8604
30.0k
    } else {
8605
30.0k
      if (yych <= 'P') {
8606
4.49k
        if (yych <= 'O') goto yy586;
8607
2.81k
        goto yy792;
8608
25.5k
      } else {
8609
25.5k
        if (yych == 'p') goto yy792;
8610
987
        goto yy586;
8611
25.5k
      }
8612
30.0k
    }
8613
111k
yy742:
8614
111k
    YYDEBUG(742, *YYCURSOR);
8615
111k
    yyaccept = 72;
8616
111k
    yych = *(YYMARKER = ++YYCURSOR);
8617
111k
    if (yybm[256+yych] & 128) {
8618
1.25k
      goto yy47;
8619
1.25k
    }
8620
110k
    if (yych == '\\') goto yy164;
8621
110k
yy743:
8622
110k
    YYDEBUG(743, *YYCURSOR);
8623
110k
    yyleng = YYCURSOR - SCNG(yy_text);
8624
110k
#line 1440 "Zend/zend_language_scanner.l"
8625
110k
    {
8626
110k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8627
110k
}
8628
0
#line 8629 "Zend/zend_language_scanner.c"
8629
9.89k
yy744:
8630
9.89k
    YYDEBUG(744, *YYCURSOR);
8631
9.89k
    yyaccept = 4;
8632
9.89k
    yych = *(YYMARKER = ++YYCURSOR);
8633
9.89k
    if (yych == 'T') goto yy793;
8634
9.20k
    if (yych == 't') goto yy793;
8635
3.51k
    goto yy48;
8636
3.90k
yy745:
8637
3.90k
    YYDEBUG(745, *YYCURSOR);
8638
3.90k
    yyaccept = 4;
8639
3.90k
    yych = *(YYMARKER = ++YYCURSOR);
8640
3.90k
    if (yych == 'O') goto yy794;
8641
2.93k
    if (yych == 'o') goto yy794;
8642
280
    goto yy48;
8643
4.97k
yy746:
8644
4.97k
    YYDEBUG(746, *YYCURSOR);
8645
4.97k
    yyaccept = 4;
8646
4.97k
    yych = *(YYMARKER = ++YYCURSOR);
8647
4.97k
    if (yych == 'O') goto yy795;
8648
3.82k
    if (yych == 'o') goto yy795;
8649
852
    goto yy48;
8650
5.13k
yy747:
8651
5.13k
    YYDEBUG(747, *YYCURSOR);
8652
5.13k
    yyaccept = 4;
8653
5.13k
    yych = *(YYMARKER = ++YYCURSOR);
8654
5.13k
    if (yych == 'F') goto yy796;
8655
4.03k
    if (yych == 'f') goto yy796;
8656
535
    goto yy48;
8657
7.54k
yy748:
8658
7.54k
    YYDEBUG(748, *YYCURSOR);
8659
7.54k
    yyaccept = 4;
8660
7.54k
    yych = *(YYMARKER = ++YYCURSOR);
8661
7.54k
    if (yych == 'E') goto yy798;
8662
6.36k
    if (yych == 'e') goto yy798;
8663
153
    goto yy48;
8664
20.6k
yy749:
8665
20.6k
    YYDEBUG(749, *YYCURSOR);
8666
20.6k
    yyaccept = 4;
8667
20.6k
    yych = *(YYMARKER = ++YYCURSOR);
8668
20.6k
    if (yych == 'E') goto yy800;
8669
18.7k
    if (yych == 'e') goto yy800;
8670
989
    goto yy48;
8671
2.48k
yy750:
8672
2.48k
    YYDEBUG(750, *YYCURSOR);
8673
2.48k
    yych = *++YYCURSOR;
8674
2.48k
    if (yych == 'S') goto yy802;
8675
2.30k
    if (yych == 's') goto yy802;
8676
302
    goto yy86;
8677
8.69k
yy751:
8678
8.69k
    YYDEBUG(751, *YYCURSOR);
8679
8.69k
    yyaccept = 4;
8680
8.69k
    yych = *(YYMARKER = ++YYCURSOR);
8681
8.69k
    if (yych == 'D') goto yy803;
8682
7.52k
    if (yych == 'd') goto yy803;
8683
317
    goto yy48;
8684
2.49k
yy752:
8685
2.49k
    YYDEBUG(752, *YYCURSOR);
8686
2.49k
    yych = *++YYCURSOR;
8687
2.49k
    if (yych == 'E') goto yy805;
8688
2.08k
    if (yych == 'e') goto yy805;
8689
743
    goto yy86;
8690
5.69k
yy753:
8691
5.69k
    YYDEBUG(753, *YYCURSOR);
8692
5.69k
    yyaccept = 73;
8693
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
8694
5.69k
    if (yybm[256+yych] & 128) {
8695
1.23k
      goto yy47;
8696
1.23k
    }
8697
4.46k
    if (yych == '\\') goto yy164;
8698
4.45k
yy754:
8699
4.45k
    YYDEBUG(754, *YYCURSOR);
8700
4.45k
    yyleng = YYCURSOR - SCNG(yy_text);
8701
4.45k
#line 1831 "Zend/zend_language_scanner.l"
8702
4.45k
    {
8703
4.45k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8704
4.45k
}
8705
0
#line 8706 "Zend/zend_language_scanner.c"
8706
2.54k
yy755:
8707
2.54k
    YYDEBUG(755, *YYCURSOR);
8708
2.54k
    yyaccept = 4;
8709
2.54k
    yych = *(YYMARKER = ++YYCURSOR);
8710
2.54k
    if (yych == 'O') goto yy806;
8711
1.86k
    if (yych == 'o') goto yy806;
8712
266
    goto yy48;
8713
6.92k
yy756:
8714
6.92k
    YYDEBUG(756, *YYCURSOR);
8715
6.92k
    yych = *++YYCURSOR;
8716
6.92k
    if (yych == 'O') goto yy807;
8717
5.56k
    if (yych == 'o') goto yy807;
8718
2.21k
    goto yy86;
8719
9.00k
yy757:
8720
9.00k
    YYDEBUG(757, *YYCURSOR);
8721
9.00k
    ++YYCURSOR;
8722
9.00k
    YYFILL(1);
8723
9.00k
    yych = *YYCURSOR;
8724
9.00k
    if (yych <= '\n') {
8725
4.04k
      if (yych <= 0x00) goto yy86;
8726
3.82k
      if (yych <= '\t') goto yy692;
8727
3.41k
      goto yy694;
8728
4.96k
    } else {
8729
4.96k
      if (yych == '\r') goto yy694;
8730
2.25k
      goto yy692;
8731
4.96k
    }
8732
127k
yy758:
8733
127k
    YYDEBUG(758, *YYCURSOR);
8734
127k
    ++YYCURSOR;
8735
127k
    YYFILL(1);
8736
127k
    yych = *YYCURSOR;
8737
127k
    if (yych <= '\f') {
8738
1.59k
      if (yych <= 0x00) goto yy86;
8739
967
      if (yych == '\n') goto yy616;
8740
363
      goto yy692;
8741
125k
    } else {
8742
125k
      if (yych <= '\r') goto yy616;
8743
109k
      if (yych == '*') goto yy808;
8744
12.9k
      goto yy692;
8745
109k
    }
8746
20.1k
yy759:
8747
20.1k
    YYDEBUG(759, *YYCURSOR);
8748
20.1k
    ++YYCURSOR;
8749
20.1k
    YYFILL(1);
8750
20.1k
    yych = *YYCURSOR;
8751
20.1k
    if (yych <= '\r') {
8752
1.41k
      if (yych <= '\t') {
8753
560
        if (yych <= 0x00) goto yy86;
8754
280
        goto yy692;
8755
856
      } else {
8756
856
        if (yych <= '\n') goto yy616;
8757
374
        if (yych <= '\f') goto yy692;
8758
150
        goto yy616;
8759
374
      }
8760
18.7k
    } else {
8761
18.7k
      if (yych <= 'R') {
8762
15.3k
        if (yych <= 'Q') goto yy692;
8763
14.5k
        goto yy810;
8764
15.3k
      } else {
8765
3.40k
        if (yych == 'r') goto yy810;
8766
1.27k
        goto yy692;
8767
3.40k
      }
8768
18.7k
    }
8769
67.9k
yy760:
8770
67.9k
    YYDEBUG(760, *YYCURSOR);
8771
67.9k
    ++YYCURSOR;
8772
67.9k
    YYFILL(1);
8773
67.9k
    yych = *YYCURSOR;
8774
67.9k
    YYDEBUG(761, *YYCURSOR);
8775
67.9k
    if (yych <= '*') {
8776
15.2k
      if (yych <= 0x00) goto yy86;
8777
14.6k
      if (yych <= ')') goto yy696;
8778
2.84k
      goto yy760;
8779
52.7k
    } else {
8780
52.7k
      if (yych == '/') goto yy616;
8781
5.40k
      goto yy696;
8782
52.7k
    }
8783
5.09k
yy762:
8784
5.09k
    YYDEBUG(762, *YYCURSOR);
8785
5.09k
    yyaccept = 4;
8786
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
8787
5.09k
    if (yych == '_') goto yy811;
8788
199
    goto yy48;
8789
6.39k
yy763:
8790
6.39k
    YYDEBUG(763, *YYCURSOR);
8791
6.39k
    yyaccept = 74;
8792
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
8793
6.39k
    if (yybm[256+yych] & 128) {
8794
287
      goto yy47;
8795
287
    }
8796
6.11k
    if (yych == '\\') goto yy164;
8797
5.96k
yy764:
8798
5.96k
    YYDEBUG(764, *YYCURSOR);
8799
5.96k
    yyleng = YYCURSOR - SCNG(yy_text);
8800
5.96k
#line 2306 "Zend/zend_language_scanner.l"
8801
5.96k
    {
8802
5.96k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8803
5.96k
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
6.27k
yy765:
8806
6.27k
    YYDEBUG(765, *YYCURSOR);
8807
6.27k
    yyaccept = 4;
8808
6.27k
    yych = *(YYMARKER = ++YYCURSOR);
8809
6.27k
    if (yych == 'O') goto yy813;
8810
3.55k
    if (yych == 'o') goto yy813;
8811
717
    goto yy48;
8812
5.50k
yy766:
8813
5.50k
    YYDEBUG(766, *YYCURSOR);
8814
5.50k
    yyaccept = 4;
8815
5.50k
    yych = *(YYMARKER = ++YYCURSOR);
8816
5.50k
    if (yych == 'O') goto yy814;
8817
3.08k
    if (yych == 'o') goto yy814;
8818
325
    goto yy48;
8819
2.04k
yy767:
8820
2.04k
    YYDEBUG(767, *YYCURSOR);
8821
2.04k
    yyaccept = 75;
8822
2.04k
    yych = *(YYMARKER = ++YYCURSOR);
8823
2.04k
    if (yybm[256+yych] & 128) {
8824
622
      goto yy47;
8825
622
    }
8826
1.41k
    if (yych == '\\') goto yy164;
8827
1.38k
yy768:
8828
1.38k
    YYDEBUG(768, *YYCURSOR);
8829
1.38k
    yyleng = YYCURSOR - SCNG(yy_text);
8830
1.38k
#line 2302 "Zend/zend_language_scanner.l"
8831
1.38k
    {
8832
1.38k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8833
1.38k
}
8834
0
#line 8835 "Zend/zend_language_scanner.c"
8835
10.7k
yy769:
8836
10.7k
    YYDEBUG(769, *YYCURSOR);
8837
10.7k
    yyaccept = 4;
8838
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
8839
10.7k
    if (yych == '_') goto yy815;
8840
512
    goto yy48;
8841
6.48k
yy770:
8842
6.48k
    YYDEBUG(770, *YYCURSOR);
8843
6.48k
    yyaccept = 4;
8844
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
8845
6.48k
    if (yych == 'A') goto yy816;
8846
2.83k
    if (yych == 'a') goto yy816;
8847
324
    goto yy48;
8848
3.60k
yy771:
8849
3.60k
    YYDEBUG(771, *YYCURSOR);
8850
3.60k
    yyaccept = 4;
8851
3.60k
    yych = *(YYMARKER = ++YYCURSOR);
8852
3.60k
    if (yych == 'T') goto yy817;
8853
1.06k
    if (yych == 't') goto yy817;
8854
439
    goto yy48;
8855
3.07k
yy772:
8856
3.07k
    YYDEBUG(772, *YYCURSOR);
8857
3.07k
    yyaccept = 4;
8858
3.07k
    yych = *(YYMARKER = ++YYCURSOR);
8859
3.07k
    if (yych == '_') goto yy818;
8860
505
    goto yy48;
8861
9.24k
yy773:
8862
9.24k
    YYDEBUG(773, *YYCURSOR);
8863
9.24k
    ++YYCURSOR;
8864
9.24k
    YYFILL(1);
8865
9.24k
    yych = *YYCURSOR;
8866
9.24k
    if (yybm[0+yych] & 128) {
8867
999
      goto yy443;
8868
999
    }
8869
8.24k
    if (yych <= 0x00) goto yy86;
8870
7.96k
    if (yych <= '\r') goto yy709;
8871
305
    goto yy547;
8872
1.88k
yy774:
8873
1.88k
    YYDEBUG(774, *YYCURSOR);
8874
1.88k
    yyaccept = 26;
8875
1.88k
    YYMARKER = ++YYCURSOR;
8876
1.88k
    YYFILL(1);
8877
1.88k
    yych = *YYCURSOR;
8878
1.88k
    if (yybm[0+yych] & 128) {
8879
1.26k
      goto yy443;
8880
1.26k
    }
8881
622
    if (yych <= 0x00) goto yy89;
8882
337
    if (yych <= '\r') goto yy545;
8883
202
    goto yy547;
8884
5.29k
yy775:
8885
5.29k
    YYDEBUG(775, *YYCURSOR);
8886
5.29k
    ++YYCURSOR;
8887
5.29k
    YYFILL(1);
8888
5.29k
    yych = *YYCURSOR;
8889
5.29k
    if (yych <= '\r') {
8890
963
      if (yych <= '\t') {
8891
305
        if (yych <= 0x00) goto yy86;
8892
120
        goto yy443;
8893
658
      } else {
8894
658
        if (yych <= '\n') goto yy545;
8895
422
        if (yych <= '\f') goto yy443;
8896
338
        goto yy545;
8897
422
      }
8898
4.33k
    } else {
8899
4.33k
      if (yych <= '*') {
8900
645
        if (yych <= ')') goto yy443;
8901
419
        goto yy547;
8902
3.68k
      } else {
8903
3.68k
        if (yych == '.') goto yy820;
8904
571
        goto yy443;
8905
3.68k
      }
8906
4.33k
    }
8907
36.1k
yy776:
8908
36.1k
    YYDEBUG(776, *YYCURSOR);
8909
36.1k
    ++YYCURSOR;
8910
36.1k
    YYFILL(1);
8911
36.1k
    yych = *YYCURSOR;
8912
36.1k
    if (yybm[0+yych] & 128) {
8913
2.38k
      goto yy443;
8914
2.38k
    }
8915
33.8k
    if (yych <= 0x00) goto yy86;
8916
33.1k
    if (yych <= '\r') goto yy545;
8917
32.3k
    goto yy821;
8918
32.3k
yy777:
8919
1.32k
    YYDEBUG(777, *YYCURSOR);
8920
1.32k
    ++YYCURSOR;
8921
1.32k
    YYDEBUG(778, *YYCURSOR);
8922
1.32k
    yyleng = YYCURSOR - SCNG(yy_text);
8923
1.32k
#line 1729 "Zend/zend_language_scanner.l"
8924
1.32k
    {
8925
1.32k
  if (PARSER_MODE()) {
8926
201
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8927
201
    if (EG(exception)) {
8928
0
      RETURN_TOKEN(T_ERROR);
8929
0
    }
8930
201
  }
8931
1.32k
  RETURN_TOKEN(T_BOOL_CAST);
8932
1.32k
}
8933
0
#line 8934 "Zend/zend_language_scanner.c"
8934
1.17k
yy779:
8935
1.17k
    YYDEBUG(779, *YYCURSOR);
8936
1.17k
    ++YYCURSOR;
8937
1.17k
    YYDEBUG(780, *YYCURSOR);
8938
1.17k
    yyleng = YYCURSOR - SCNG(yy_text);
8939
1.17k
#line 1671 "Zend/zend_language_scanner.l"
8940
1.17k
    {
8941
1.17k
  if (PARSER_MODE()) {
8942
35
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8943
35
    if (EG(exception)) {
8944
0
      RETURN_TOKEN(T_ERROR);
8945
0
    }
8946
35
  }
8947
1.17k
  RETURN_TOKEN(T_INT_CAST);
8948
1.17k
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
1.85k
yy781:
8951
1.85k
    YYDEBUG(781, *YYCURSOR);
8952
1.85k
    yyaccept = 4;
8953
1.85k
    yych = *(YYMARKER = ++YYCURSOR);
8954
1.85k
    if (yych == 'E') goto yy822;
8955
1.30k
    if (yych == 'e') goto yy822;
8956
158
    goto yy48;
8957
4.36k
yy782:
8958
4.36k
    YYDEBUG(782, *YYCURSOR);
8959
4.36k
    yyaccept = 4;
8960
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
8961
4.36k
    if (yych == 'H') goto yy824;
8962
2.62k
    if (yych == 'h') goto yy824;
8963
528
    goto yy48;
8964
1.44k
yy783:
8965
1.44k
    YYDEBUG(783, *YYCURSOR);
8966
1.44k
    yyaccept = 76;
8967
1.44k
    yych = *(YYMARKER = ++YYCURSOR);
8968
1.44k
    if (yybm[256+yych] & 128) {
8969
627
      goto yy47;
8970
627
    }
8971
818
    if (yych == '\\') goto yy164;
8972
780
yy784:
8973
780
    YYDEBUG(784, *YYCURSOR);
8974
780
    yyleng = YYCURSOR - SCNG(yy_text);
8975
780
#line 1551 "Zend/zend_language_scanner.l"
8976
780
    {
8977
780
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8978
780
}
8979
0
#line 8980 "Zend/zend_language_scanner.c"
8980
1.20k
yy785:
8981
1.20k
    YYDEBUG(785, *YYCURSOR);
8982
1.20k
    yych = *++YYCURSOR;
8983
1.20k
    if (yych == 'N') goto yy826;
8984
1.05k
    if (yych == 'n') goto yy826;
8985
285
    goto yy86;
8986
3.86k
yy786:
8987
3.86k
    YYDEBUG(786, *YYCURSOR);
8988
3.86k
    yych = *++YYCURSOR;
8989
3.86k
    if (yych == 'E') goto yy827;
8990
3.31k
    if (yych == 'e') goto yy827;
8991
618
    goto yy86;
8992
584k
yy787:
8993
584k
    YYDEBUG(787, *YYCURSOR);
8994
584k
    ++YYCURSOR;
8995
584k
    YYFILL(1);
8996
584k
    yych = *YYCURSOR;
8997
584k
    YYDEBUG(788, *YYCURSOR);
8998
584k
    if (yych <= '@') {
8999
535k
      if (yych <= ' ') {
9000
113k
        if (yych <= '\n') {
9001
13.9k
          if (yych <= 0x00) goto yy86;
9002
11.7k
          if (yych <= 0x08) goto yy590;
9003
11.2k
          goto yy787;
9004
99.4k
        } else {
9005
99.4k
          if (yych == '\r') goto yy787;
9006
27.8k
          if (yych <= 0x1F) goto yy590;
9007
27.0k
          goto yy787;
9008
27.8k
        }
9009
421k
      } else {
9010
421k
        if (yych <= ')') {
9011
335k
          if (yych == '#') goto yy828;
9012
29.2k
          goto yy590;
9013
335k
        } else {
9014
86.3k
          if (yych <= '*') goto yy668;
9015
85.1k
          if (yych == '/') goto yy829;
9016
7.46k
          goto yy590;
9017
85.1k
        }
9018
421k
      }
9019
535k
    } else {
9020
48.6k
      if (yych <= '_') {
9021
12.6k
        if (yych <= 'H') {
9022
1.98k
          if (yych == 'E') goto yy831;
9023
1.56k
          goto yy830;
9024
10.7k
        } else {
9025
10.7k
          if (yych <= 'I') goto yy832;
9026
1.29k
          if (yych <= 'Z') goto yy830;
9027
934
          if (yych <= '^') goto yy590;
9028
285
          goto yy830;
9029
934
        }
9030
35.9k
      } else {
9031
35.9k
        if (yych <= 'h') {
9032
11.2k
          if (yych <= '`') goto yy590;
9033
11.0k
          if (yych == 'e') goto yy831;
9034
1.70k
          goto yy830;
9035
24.7k
        } else {
9036
24.7k
          if (yych <= 'i') goto yy832;
9037
15.3k
          if (yych <= 'z') goto yy830;
9038
13.1k
          if (yych <= 0x7F) goto yy590;
9039
11.1k
          goto yy830;
9040
13.1k
        }
9041
35.9k
      }
9042
48.6k
    }
9043
89.8k
yy789:
9044
89.8k
    YYDEBUG(789, *YYCURSOR);
9045
89.8k
    ++YYCURSOR;
9046
89.8k
    YYFILL(1);
9047
89.8k
    yych = *YYCURSOR;
9048
89.8k
    YYDEBUG(790, *YYCURSOR);
9049
89.8k
    if (yych <= '\r') {
9050
12.5k
      if (yych <= '\t') {
9051
1.46k
        if (yych <= 0x00) goto yy86;
9052
606
        goto yy738;
9053
11.1k
      } else {
9054
11.1k
        if (yych <= '\n') goto yy787;
9055
9.53k
        if (yych <= '\f') goto yy738;
9056
9.09k
        goto yy787;
9057
9.53k
      }
9058
77.2k
    } else {
9059
77.2k
      if (yych <= '*') {
9060
23.2k
        if (yych <= ')') goto yy738;
9061
3.66k
        goto yy789;
9062
54.0k
      } else {
9063
54.0k
        if (yych == '/') goto yy588;
9064
8.42k
        goto yy738;
9065
54.0k
      }
9066
77.2k
    }
9067
11.7k
yy791:
9068
11.7k
    YYDEBUG(791, *YYCURSOR);
9069
11.7k
    ++YYCURSOR;
9070
11.7k
    YYFILL(1);
9071
11.7k
    yych = *YYCURSOR;
9072
11.7k
    if (yych <= '\r') {
9073
1.36k
      if (yych <= '\t') {
9074
459
        if (yych <= 0x00) goto yy86;
9075
173
        goto yy586;
9076
902
      } else {
9077
902
        if (yych <= '\n') goto yy495;
9078
642
        if (yych <= '\f') goto yy586;
9079
456
        goto yy495;
9080
642
      }
9081
10.4k
    } else {
9082
10.4k
      if (yych <= 'E') {
9083
1.59k
        if (yych <= 'D') goto yy586;
9084
632
        goto yy833;
9085
8.83k
      } else {
9086
8.83k
        if (yych == 'e') goto yy833;
9087
2.28k
        goto yy586;
9088
8.83k
      }
9089
10.4k
    }
9090
27.4k
yy792:
9091
27.4k
    YYDEBUG(792, *YYCURSOR);
9092
27.4k
    ++YYCURSOR;
9093
27.4k
    YYFILL(1);
9094
27.4k
    yych = *YYCURSOR;
9095
27.4k
    if (yych <= '\r') {
9096
1.45k
      if (yych <= '\t') {
9097
793
        if (yych <= 0x00) goto yy86;
9098
287
        goto yy586;
9099
793
      } else {
9100
666
        if (yych <= '\n') goto yy495;
9101
415
        if (yych <= '\f') goto yy586;
9102
338
        goto yy495;
9103
415
      }
9104
25.9k
    } else {
9105
25.9k
      if (yych <= 'L') {
9106
4.63k
        if (yych <= 'K') goto yy586;
9107
2.22k
        goto yy834;
9108
21.3k
      } else {
9109
21.3k
        if (yych == 'l') goto yy834;
9110
1.64k
        goto yy586;
9111
21.3k
      }
9112
25.9k
    }
9113
6.37k
yy793:
9114
6.37k
    YYDEBUG(793, *YYCURSOR);
9115
6.37k
    yyaccept = 4;
9116
6.37k
    yych = *(YYMARKER = ++YYCURSOR);
9117
6.37k
    if (yych == 'S') goto yy835;
9118
5.80k
    if (yych == 's') goto yy835;
9119
1.06k
    goto yy48;
9120
3.62k
yy794:
9121
3.62k
    YYDEBUG(794, *YYCURSOR);
9122
3.62k
    yyaccept = 4;
9123
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
9124
3.62k
    if (yych == 'N') goto yy837;
9125
2.51k
    if (yych == 'n') goto yy837;
9126
349
    goto yy48;
9127
4.11k
yy795:
9128
4.11k
    YYDEBUG(795, *YYCURSOR);
9129
4.11k
    yyaccept = 4;
9130
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
9131
4.11k
    if (yych == 'F') goto yy838;
9132
3.29k
    if (yych == 'f') goto yy838;
9133
457
    goto yy48;
9134
4.60k
yy796:
9135
4.60k
    YYDEBUG(796, *YYCURSOR);
9136
4.60k
    yyaccept = 77;
9137
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
9138
4.60k
    if (yybm[256+yych] & 128) {
9139
564
      goto yy47;
9140
564
    }
9141
4.03k
    if (yych == '\\') goto yy164;
9142
3.83k
yy797:
9143
3.83k
    YYDEBUG(797, *YYCURSOR);
9144
3.83k
    yyleng = YYCURSOR - SCNG(yy_text);
9145
3.83k
#line 1775 "Zend/zend_language_scanner.l"
9146
3.83k
    {
9147
3.83k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9148
3.83k
}
9149
0
#line 9150 "Zend/zend_language_scanner.c"
9150
7.39k
yy798:
9151
7.39k
    YYDEBUG(798, *YYCURSOR);
9152
7.39k
    yyaccept = 78;
9153
7.39k
    yych = *(YYMARKER = ++YYCURSOR);
9154
7.39k
    if (yybm[256+yych] & 128) {
9155
1.71k
      goto yy47;
9156
1.71k
    }
9157
5.67k
    if (yych == '\\') goto yy164;
9158
5.64k
yy799:
9159
5.64k
    YYDEBUG(799, *YYCURSOR);
9160
5.64k
    yyleng = YYCURSOR - SCNG(yy_text);
9161
5.64k
#line 1587 "Zend/zend_language_scanner.l"
9162
5.64k
    {
9163
5.64k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9164
5.64k
}
9165
0
#line 9166 "Zend/zend_language_scanner.c"
9166
19.6k
yy800:
9167
19.6k
    YYDEBUG(800, *YYCURSOR);
9168
19.6k
    yyaccept = 79;
9169
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
9170
19.6k
    if (yybm[256+yych] & 128) {
9171
501
      goto yy47;
9172
501
    }
9173
19.1k
    if (yych == '\\') goto yy840;
9174
14.5k
yy801:
9175
14.5k
    YYDEBUG(801, *YYCURSOR);
9176
14.5k
    yyleng = YYCURSOR - SCNG(yy_text);
9177
14.5k
#line 1767 "Zend/zend_language_scanner.l"
9178
14.5k
    {
9179
14.5k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9180
14.5k
}
9181
0
#line 9182 "Zend/zend_language_scanner.c"
9182
2.18k
yy802:
9183
2.18k
    YYDEBUG(802, *YYCURSOR);
9184
2.18k
    yych = *++YYCURSOR;
9185
2.18k
    if (yych == 'E') goto yy841;
9186
1.52k
    if (yych == 'e') goto yy841;
9187
694
    goto yy86;
9188
8.38k
yy803:
9189
8.38k
    YYDEBUG(803, *YYCURSOR);
9190
8.38k
    yyaccept = 80;
9191
8.38k
    yych = *(YYMARKER = ++YYCURSOR);
9192
8.38k
    if (yybm[256+yych] & 128) {
9193
371
      goto yy47;
9194
371
    }
9195
8.00k
    if (yych == '(') goto yy842;
9196
6.16k
    if (yych == '\\') goto yy164;
9197
7.05k
yy804:
9198
7.05k
    YYDEBUG(804, *YYCURSOR);
9199
7.05k
    yyleng = YYCURSOR - SCNG(yy_text);
9200
7.05k
#line 1811 "Zend/zend_language_scanner.l"
9201
7.05k
    {
9202
7.05k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9203
7.05k
}
9204
0
#line 9205 "Zend/zend_language_scanner.c"
9205
1.75k
yy805:
9206
1.75k
    YYDEBUG(805, *YYCURSOR);
9207
1.75k
    yych = *++YYCURSOR;
9208
1.75k
    if (yych == 'T') goto yy843;
9209
1.02k
    if (yych == 't') goto yy843;
9210
465
    goto yy86;
9211
2.28k
yy806:
9212
2.28k
    YYDEBUG(806, *YYCURSOR);
9213
2.28k
    yyaccept = 4;
9214
2.28k
    yych = *(YYMARKER = ++YYCURSOR);
9215
2.28k
    if (yych == 'N') goto yy844;
9216
1.74k
    if (yych == 'n') goto yy844;
9217
263
    goto yy48;
9218
4.70k
yy807:
9219
4.70k
    YYDEBUG(807, *YYCURSOR);
9220
4.70k
    yych = *++YYCURSOR;
9221
4.70k
    if (yych == 'M') goto yy845;
9222
3.71k
    if (yych == 'm') goto yy845;
9223
533
    goto yy86;
9224
1.72M
yy808:
9225
1.72M
    YYDEBUG(808, *YYCURSOR);
9226
1.72M
    ++YYCURSOR;
9227
1.72M
    YYFILL(1);
9228
1.72M
    yych = *YYCURSOR;
9229
1.72M
    YYDEBUG(809, *YYCURSOR);
9230
1.72M
    if (yych <= '\f') {
9231
146k
      if (yych <= 0x00) goto yy86;
9232
142k
      if (yych == '\n') goto yy846;
9233
13.1k
      goto yy808;
9234
1.58M
    } else {
9235
1.58M
      if (yych <= '\r') goto yy846;
9236
1.50M
      if (yych == '*') goto yy848;
9237
1.44M
      goto yy808;
9238
1.50M
    }
9239
16.6k
yy810:
9240
16.6k
    YYDEBUG(810, *YYCURSOR);
9241
16.6k
    ++YYCURSOR;
9242
16.6k
    YYFILL(1);
9243
16.6k
    yych = *YYCURSOR;
9244
16.6k
    if (yych <= '\r') {
9245
2.63k
      if (yych <= '\t') {
9246
2.00k
        if (yych <= 0x00) goto yy86;
9247
1.79k
        goto yy692;
9248
2.00k
      } else {
9249
636
        if (yych <= '\n') goto yy616;
9250
441
        if (yych <= '\f') goto yy692;
9251
235
        goto yy616;
9252
441
      }
9253
14.0k
    } else {
9254
14.0k
      if (yych <= 'O') {
9255
10.4k
        if (yych <= 'N') goto yy692;
9256
9.50k
        goto yy850;
9257
10.4k
      } else {
9258
3.55k
        if (yych == 'o') goto yy850;
9259
909
        goto yy692;
9260
3.55k
      }
9261
14.0k
    }
9262
4.90k
yy811:
9263
4.90k
    YYDEBUG(811, *YYCURSOR);
9264
4.90k
    yyaccept = 81;
9265
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
9266
4.90k
    if (yybm[256+yych] & 128) {
9267
479
      goto yy47;
9268
479
    }
9269
4.42k
    if (yych == '\\') goto yy164;
9270
4.42k
yy812:
9271
4.42k
    YYDEBUG(812, *YYCURSOR);
9272
4.42k
    yyleng = YYCURSOR - SCNG(yy_text);
9273
4.42k
#line 2282 "Zend/zend_language_scanner.l"
9274
4.42k
    {
9275
4.42k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9276
4.42k
}
9277
0
#line 9278 "Zend/zend_language_scanner.c"
9278
5.55k
yy813:
9279
5.55k
    YYDEBUG(813, *YYCURSOR);
9280
5.55k
    yyaccept = 4;
9281
5.55k
    yych = *(YYMARKER = ++YYCURSOR);
9282
5.55k
    if (yych == 'N') goto yy851;
9283
2.76k
    if (yych == 'n') goto yy851;
9284
609
    goto yy48;
9285
5.18k
yy814:
9286
5.18k
    YYDEBUG(814, *YYCURSOR);
9287
5.18k
    yyaccept = 4;
9288
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
9289
5.18k
    if (yych == 'M') goto yy852;
9290
3.02k
    if (yych == 'm') goto yy852;
9291
344
    goto yy48;
9292
10.2k
yy815:
9293
10.2k
    YYDEBUG(815, *YYCURSOR);
9294
10.2k
    yyaccept = 4;
9295
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
9296
10.2k
    if (yych == '_') goto yy853;
9297
449
    goto yy48;
9298
6.15k
yy816:
9299
6.15k
    YYDEBUG(816, *YYCURSOR);
9300
6.15k
    yyaccept = 4;
9301
6.15k
    yych = *(YYMARKER = ++YYCURSOR);
9302
6.15k
    if (yych == 'C') goto yy855;
9303
3.10k
    if (yych == 'c') goto yy855;
9304
702
    goto yy48;
9305
3.16k
yy817:
9306
3.16k
    YYDEBUG(817, *YYCURSOR);
9307
3.16k
    yyaccept = 4;
9308
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
9309
3.16k
    if (yych == 'Y') goto yy856;
9310
1.05k
    if (yych == 'y') goto yy856;
9311
444
    goto yy48;
9312
2.57k
yy818:
9313
2.57k
    YYDEBUG(818, *YYCURSOR);
9314
2.57k
    yyaccept = 82;
9315
2.57k
    yych = *(YYMARKER = ++YYCURSOR);
9316
2.57k
    if (yybm[256+yych] & 128) {
9317
281
      goto yy47;
9318
281
    }
9319
2.29k
    if (yych == '\\') goto yy164;
9320
2.29k
yy819:
9321
2.29k
    YYDEBUG(819, *YYCURSOR);
9322
2.29k
    yyleng = YYCURSOR - SCNG(yy_text);
9323
2.29k
#line 2286 "Zend/zend_language_scanner.l"
9324
2.29k
    {
9325
2.29k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9326
2.29k
}
9327
0
#line 9328 "Zend/zend_language_scanner.c"
9328
3.11k
yy820:
9329
3.11k
    YYDEBUG(820, *YYCURSOR);
9330
3.11k
    ++YYCURSOR;
9331
3.11k
    YYFILL(1);
9332
3.11k
    yych = *YYCURSOR;
9333
3.11k
    if (yych <= '\r') {
9334
930
      if (yych <= '\t') {
9335
380
        if (yych <= 0x00) goto yy86;
9336
194
        goto yy443;
9337
550
      } else {
9338
550
        if (yych <= '\n') goto yy545;
9339
353
        if (yych <= '\f') goto yy443;
9340
273
        goto yy545;
9341
353
      }
9342
2.18k
    } else {
9343
2.18k
      if (yych <= '*') {
9344
853
        if (yych <= ')') goto yy443;
9345
494
        goto yy547;
9346
1.33k
      } else {
9347
1.33k
        if (yych == '.') goto yy774;
9348
873
        goto yy443;
9349
1.33k
      }
9350
2.18k
    }
9351
32.3k
yy821:
9352
32.3k
    YYDEBUG(821, *YYCURSOR);
9353
32.3k
    ++YYCURSOR;
9354
32.3k
    YYFILL(1);
9355
32.3k
    yych = *YYCURSOR;
9356
32.3k
    if (yych <= '\r') {
9357
1.54k
      if (yych <= '\t') {
9358
640
        if (yych <= 0x00) goto yy86;
9359
255
        goto yy443;
9360
904
      } else {
9361
904
        if (yych <= '\n') goto yy545;
9362
272
        if (yych <= '\f') goto yy443;
9363
235
        goto yy545;
9364
272
      }
9365
30.7k
    } else {
9366
30.7k
      if (yych <= '*') {
9367
549
        if (yych <= ')') goto yy443;
9368
71
        goto yy547;
9369
30.2k
      } else {
9370
30.2k
        if (yych == '/') goto yy709;
9371
540
        goto yy443;
9372
30.2k
      }
9373
30.7k
    }
9374
1.70k
yy822:
9375
1.70k
    YYDEBUG(822, *YYCURSOR);
9376
1.70k
    yyaccept = 83;
9377
1.70k
    yych = *(YYMARKER = ++YYCURSOR);
9378
1.70k
    if (yybm[256+yych] & 128) {
9379
822
      goto yy47;
9380
822
    }
9381
879
    if (yych == '\\') goto yy164;
9382
877
yy823:
9383
877
    YYDEBUG(823, *YYCURSOR);
9384
877
    yyleng = YYCURSOR - SCNG(yy_text);
9385
877
#line 1531 "Zend/zend_language_scanner.l"
9386
877
    {
9387
877
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9388
877
}
9389
0
#line 9390 "Zend/zend_language_scanner.c"
9390
3.83k
yy824:
9391
3.83k
    YYDEBUG(824, *YYCURSOR);
9392
3.83k
    yyaccept = 84;
9393
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
9394
3.83k
    if (yybm[256+yych] & 128) {
9395
604
      goto yy47;
9396
604
    }
9397
3.22k
    if (yych == '\\') goto yy164;
9398
3.22k
yy825:
9399
3.22k
    YYDEBUG(825, *YYCURSOR);
9400
3.22k
    yyleng = YYCURSOR - SCNG(yy_text);
9401
3.22k
#line 1523 "Zend/zend_language_scanner.l"
9402
3.22k
    {
9403
3.22k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9404
3.22k
}
9405
0
#line 9406 "Zend/zend_language_scanner.c"
9406
918
yy826:
9407
918
    YYDEBUG(826, *YYCURSOR);
9408
918
    yych = *++YYCURSOR;
9409
918
    if (yych == 'D') goto yy857;
9410
818
    if (yych == 'd') goto yy857;
9411
341
    goto yy86;
9412
3.24k
yy827:
9413
3.24k
    YYDEBUG(827, *YYCURSOR);
9414
3.24k
    yych = *++YYCURSOR;
9415
3.24k
    if (yych == 'M') goto yy858;
9416
2.72k
    if (yych == 'm') goto yy858;
9417
627
    goto yy86;
9418
306k
yy828:
9419
306k
    YYDEBUG(828, *YYCURSOR);
9420
306k
    ++YYCURSOR;
9421
306k
    YYFILL(1);
9422
306k
    yych = *YYCURSOR;
9423
306k
    if (yych <= '\r') {
9424
237k
      if (yych <= '\t') {
9425
4.25k
        if (yych <= 0x00) goto yy86;
9426
3.53k
        goto yy738;
9427
232k
      } else {
9428
232k
        if (yych <= '\n') goto yy859;
9429
46.6k
        if (yych <= '\f') goto yy738;
9430
45.5k
        goto yy859;
9431
46.6k
      }
9432
237k
    } else {
9433
69.1k
      if (yych <= '*') {
9434
10.0k
        if (yych <= ')') goto yy738;
9435
4.07k
        goto yy789;
9436
59.0k
      } else {
9437
59.0k
        if (yych == '[') goto yy590;
9438
58.9k
        goto yy738;
9439
59.0k
      }
9440
69.1k
    }
9441
77.6k
yy829:
9442
77.6k
    YYDEBUG(829, *YYCURSOR);
9443
77.6k
    ++YYCURSOR;
9444
77.6k
    YYFILL(1);
9445
77.6k
    yych = *YYCURSOR;
9446
77.6k
    if (yych <= '*') {
9447
72.6k
      if (yych <= 0x00) goto yy86;
9448
72.4k
      if (yych <= ')') goto yy590;
9449
71.5k
      goto yy861;
9450
72.4k
    } else {
9451
5.01k
      if (yych == '/') goto yy738;
9452
3.88k
      goto yy590;
9453
5.01k
    }
9454
17.2k
yy830:
9455
17.2k
    YYDEBUG(830, *YYCURSOR);
9456
17.2k
    yyaccept = 53;
9457
17.2k
    YYMARKER = ++YYCURSOR;
9458
17.2k
    YYFILL(1);
9459
17.2k
    yych = *YYCURSOR;
9460
17.2k
    if (yych <= 0x00) goto yy583;
9461
16.5k
    if (yych == '*') goto yy668;
9462
15.8k
    goto yy590;
9463
15.8k
yy831:
9464
9.74k
    YYDEBUG(831, *YYCURSOR);
9465
9.74k
    yyaccept = 53;
9466
9.74k
    YYMARKER = ++YYCURSOR;
9467
9.74k
    YYFILL(1);
9468
9.74k
    yych = *YYCURSOR;
9469
9.74k
    if (yych <= 'W') {
9470
2.30k
      if (yych <= 0x00) goto yy583;
9471
1.91k
      if (yych == '*') goto yy668;
9472
921
      goto yy590;
9473
7.43k
    } else {
9474
7.43k
      if (yych <= 'X') goto yy862;
9475
5.77k
      if (yych == 'x') goto yy862;
9476
2.35k
      goto yy590;
9477
5.77k
    }
9478
18.8k
yy832:
9479
18.8k
    YYDEBUG(832, *YYCURSOR);
9480
18.8k
    yyaccept = 53;
9481
18.8k
    YYMARKER = ++YYCURSOR;
9482
18.8k
    YYFILL(1);
9483
18.8k
    yych = *YYCURSOR;
9484
18.8k
    if (yych <= 'L') {
9485
3.65k
      if (yych <= 0x00) goto yy583;
9486
3.42k
      if (yych == '*') goto yy668;
9487
3.22k
      goto yy590;
9488
15.2k
    } else {
9489
15.2k
      if (yych <= 'M') goto yy863;
9490
8.56k
      if (yych == 'm') goto yy863;
9491
687
      goto yy590;
9492
8.56k
    }
9493
7.18k
yy833:
9494
7.18k
    YYDEBUG(833, *YYCURSOR);
9495
7.18k
    ++YYCURSOR;
9496
7.18k
    YYFILL(1);
9497
7.18k
    yych = *YYCURSOR;
9498
7.18k
    if (yych <= '\r') {
9499
1.63k
      if (yych <= '\t') {
9500
852
        if (yych <= 0x00) goto yy86;
9501
615
        goto yy586;
9502
852
      } else {
9503
778
        if (yych <= '\n') goto yy495;
9504
505
        if (yych <= '\f') goto yy586;
9505
269
        goto yy495;
9506
505
      }
9507
5.55k
    } else {
9508
5.55k
      if (yych <= 'N') {
9509
1.21k
        if (yych <= 'M') goto yy586;
9510
864
        goto yy864;
9511
4.33k
      } else {
9512
4.33k
        if (yych == 'n') goto yy864;
9513
635
        goto yy586;
9514
4.33k
      }
9515
5.55k
    }
9516
21.8k
yy834:
9517
21.8k
    YYDEBUG(834, *YYCURSOR);
9518
21.8k
    ++YYCURSOR;
9519
21.8k
    YYFILL(1);
9520
21.8k
    yych = *YYCURSOR;
9521
21.8k
    if (yych <= '\r') {
9522
2.39k
      if (yych <= '\t') {
9523
421
        if (yych <= 0x00) goto yy86;
9524
214
        goto yy586;
9525
1.97k
      } else {
9526
1.97k
        if (yych <= '\n') goto yy495;
9527
1.81k
        if (yych <= '\f') goto yy586;
9528
1.51k
        goto yy495;
9529
1.81k
      }
9530
19.4k
    } else {
9531
19.4k
      if (yych <= 'E') {
9532
4.95k
        if (yych <= 'D') goto yy586;
9533
1.55k
        goto yy865;
9534
14.5k
      } else {
9535
14.5k
        if (yych == 'e') goto yy865;
9536
2.61k
        goto yy586;
9537
14.5k
      }
9538
19.4k
    }
9539
5.31k
yy835:
9540
5.31k
    YYDEBUG(835, *YYCURSOR);
9541
5.31k
    yyaccept = 85;
9542
5.31k
    yych = *(YYMARKER = ++YYCURSOR);
9543
5.31k
    if (yybm[256+yych] & 128) {
9544
391
      goto yy47;
9545
391
    }
9546
4.92k
    if (yych == '\\') goto yy164;
9547
4.92k
yy836:
9548
4.92k
    YYDEBUG(836, *YYCURSOR);
9549
4.92k
    yyleng = YYCURSOR - SCNG(yy_text);
9550
4.92k
#line 1612 "Zend/zend_language_scanner.l"
9551
4.92k
    {
9552
4.92k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9553
4.92k
}
9554
0
#line 9555 "Zend/zend_language_scanner.c"
9555
3.27k
yy837:
9556
3.27k
    YYDEBUG(837, *YYCURSOR);
9557
3.27k
    yyaccept = 4;
9558
3.27k
    yych = *(YYMARKER = ++YYCURSOR);
9559
3.27k
    if (yych == 'C') goto yy866;
9560
2.37k
    if (yych == 'c') goto yy866;
9561
419
    goto yy48;
9562
3.66k
yy838:
9563
3.66k
    YYDEBUG(838, *YYCURSOR);
9564
3.66k
    yyaccept = 86;
9565
3.66k
    yych = *(YYMARKER = ++YYCURSOR);
9566
3.66k
    if (yybm[256+yych] & 128) {
9567
515
      goto yy47;
9568
515
    }
9569
3.14k
    if (yych == '\\') goto yy164;
9570
3.10k
yy839:
9571
3.10k
    YYDEBUG(839, *YYCURSOR);
9572
3.10k
    yyleng = YYCURSOR - SCNG(yy_text);
9573
3.10k
#line 1535 "Zend/zend_language_scanner.l"
9574
3.10k
    {
9575
3.10k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9576
3.10k
}
9577
0
#line 9578 "Zend/zend_language_scanner.c"
9578
7.74k
yy840:
9579
7.74k
    YYDEBUG(840, *YYCURSOR);
9580
7.74k
    ++YYCURSOR;
9581
7.74k
    YYFILL(1);
9582
7.74k
    yych = *YYCURSOR;
9583
7.74k
    if (yych <= '_') {
9584
2.62k
      if (yych <= '@') goto yy86;
9585
2.20k
      if (yych <= 'Z') goto yy867;
9586
590
      if (yych <= '^') goto yy86;
9587
374
      goto yy867;
9588
5.12k
    } else {
9589
5.12k
      if (yych <= '`') goto yy86;
9590
4.90k
      if (yych <= 'z') goto yy867;
9591
1.14k
      if (yych <= 0x7F) goto yy86;
9592
590
      goto yy867;
9593
1.14k
    }
9594
1.49k
yy841:
9595
1.49k
    YYDEBUG(841, *YYCURSOR);
9596
1.49k
    yych = *++YYCURSOR;
9597
1.49k
    if (yych == 'T') goto yy870;
9598
1.01k
    if (yych == 't') goto yy870;
9599
241
    goto yy86;
9600
1.84k
yy842:
9601
1.84k
    YYDEBUG(842, *YYCURSOR);
9602
1.84k
    yych = *++YYCURSOR;
9603
1.84k
    if (yych == 'S') goto yy871;
9604
1.57k
    if (yych == 's') goto yy871;
9605
151
    goto yy86;
9606
1.28k
yy843:
9607
1.28k
    YYDEBUG(843, *YYCURSOR);
9608
1.28k
    yych = *++YYCURSOR;
9609
1.28k
    if (yych == ')') goto yy872;
9610
218
    goto yy86;
9611
2.01k
yy844:
9612
2.01k
    YYDEBUG(844, *YYCURSOR);
9613
2.01k
    yyaccept = 4;
9614
2.01k
    yych = *(YYMARKER = ++YYCURSOR);
9615
2.01k
    if (yych == 'C') goto yy874;
9616
1.43k
    if (yych == 'c') goto yy874;
9617
150
    goto yy48;
9618
4.17k
yy845:
9619
4.17k
    YYDEBUG(845, *YYCURSOR);
9620
4.17k
    yych = *++YYCURSOR;
9621
4.17k
    if (yych <= '^') {
9622
3.22k
      if (yych <= '9') {
9623
2.65k
        if (yych <= '/') goto yy875;
9624
128
        goto yy86;
9625
2.65k
      } else {
9626
572
        if (yych <= '@') goto yy875;
9627
309
        if (yych <= 'Z') goto yy86;
9628
66
        goto yy875;
9629
309
      }
9630
3.22k
    } else {
9631
944
      if (yych <= '`') {
9632
322
        if (yych <= '_') goto yy86;
9633
72
        goto yy875;
9634
622
      } else {
9635
622
        if (yych <= 'z') goto yy86;
9636
404
        if (yych <= 0x7F) goto yy875;
9637
77
        goto yy86;
9638
404
      }
9639
944
    }
9640
390k
yy846:
9641
390k
    YYDEBUG(846, *YYCURSOR);
9642
390k
    ++YYCURSOR;
9643
390k
    YYFILL(1);
9644
390k
    yych = *YYCURSOR;
9645
390k
    YYDEBUG(847, *YYCURSOR);
9646
390k
    if (yych <= '#') {
9647
267k
      if (yych <= '\f') {
9648
18.4k
        if (yych <= 0x00) goto yy86;
9649
17.0k
        if (yych <= 0x08) goto yy696;
9650
16.9k
        if (yych <= '\n') goto yy846;
9651
125
        goto yy696;
9652
249k
      } else {
9653
249k
        if (yych <= 0x1F) {
9654
71.8k
          if (yych <= '\r') goto yy846;
9655
657
          goto yy696;
9656
177k
        } else {
9657
177k
          if (yych <= ' ') goto yy846;
9658
173k
          if (yych <= '"') goto yy696;
9659
172k
          goto yy877;
9660
173k
        }
9661
249k
      }
9662
267k
    } else {
9663
123k
      if (yych <= '/') {
9664
94.0k
        if (yych == '*') goto yy760;
9665
93.6k
        if (yych <= '.') goto yy696;
9666
69.5k
        goto yy878;
9667
93.6k
      } else {
9668
29.0k
        if (yych <= 'F') {
9669
10.9k
          if (yych <= 'E') goto yy696;
9670
6.74k
          goto yy879;
9671
18.0k
        } else {
9672
18.0k
          if (yych == 'f') goto yy879;
9673
16.9k
          goto yy696;
9674
18.0k
        }
9675
29.0k
      }
9676
123k
    }
9677
62.7k
yy848:
9678
62.7k
    YYDEBUG(848, *YYCURSOR);
9679
62.7k
    ++YYCURSOR;
9680
62.7k
    YYFILL(1);
9681
62.7k
    yych = *YYCURSOR;
9682
62.7k
    YYDEBUG(849, *YYCURSOR);
9683
62.7k
    if (yych <= '\r') {
9684
9.53k
      if (yych <= '\t') {
9685
859
        if (yych <= 0x00) goto yy86;
9686
594
        goto yy808;
9687
8.67k
      } else {
9688
8.67k
        if (yych <= '\n') goto yy846;
9689
5.00k
        if (yych <= '\f') goto yy808;
9690
4.67k
        goto yy846;
9691
5.00k
      }
9692
53.2k
    } else {
9693
53.2k
      if (yych <= '*') {
9694
25.1k
        if (yych <= ')') goto yy808;
9695
3.78k
        goto yy848;
9696
28.0k
      } else {
9697
28.0k
        if (yych == '/') goto yy694;
9698
3.61k
        goto yy808;
9699
28.0k
      }
9700
53.2k
    }
9701
12.1k
yy850:
9702
12.1k
    YYDEBUG(850, *YYCURSOR);
9703
12.1k
    ++YYCURSOR;
9704
12.1k
    YYFILL(1);
9705
12.1k
    yych = *YYCURSOR;
9706
12.1k
    if (yych <= '\r') {
9707
2.31k
      if (yych <= '\t') {
9708
590
        if (yych <= 0x00) goto yy86;
9709
516
        goto yy692;
9710
1.72k
      } else {
9711
1.72k
        if (yych <= '\n') goto yy616;
9712
961
        if (yych <= '\f') goto yy692;
9713
291
        goto yy616;
9714
961
      }
9715
9.83k
    } else {
9716
9.83k
      if (yych <= 'M') {
9717
7.62k
        if (yych <= 'L') goto yy692;
9718
7.18k
        goto yy880;
9719
7.62k
      } else {
9720
2.20k
        if (yych == 'm') goto yy880;
9721
850
        goto yy692;
9722
2.20k
      }
9723
9.83k
    }
9724
4.94k
yy851:
9725
4.94k
    YYDEBUG(851, *YYCURSOR);
9726
4.94k
    yyaccept = 4;
9727
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
9728
4.94k
    if (yych == '_') goto yy881;
9729
501
    goto yy48;
9730
4.83k
yy852:
9731
4.83k
    YYDEBUG(852, *YYCURSOR);
9732
4.83k
    yyaccept = 4;
9733
4.83k
    yych = *(YYMARKER = ++YYCURSOR);
9734
4.83k
    if (yych == 'P') goto yy882;
9735
3.71k
    if (yych == 'p') goto yy882;
9736
1.26k
    goto yy48;
9737
9.82k
yy853:
9738
9.82k
    YYDEBUG(853, *YYCURSOR);
9739
9.82k
    yyaccept = 87;
9740
9.82k
    yych = *(YYMARKER = ++YYCURSOR);
9741
9.82k
    if (yybm[256+yych] & 128) {
9742
482
      goto yy47;
9743
482
    }
9744
9.34k
    if (yych == '\\') goto yy164;
9745
9.34k
yy854:
9746
9.34k
    YYDEBUG(854, *YYCURSOR);
9747
9.34k
    yyleng = YYCURSOR - SCNG(yy_text);
9748
9.34k
#line 2298 "Zend/zend_language_scanner.l"
9749
9.34k
    {
9750
9.34k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9751
9.34k
}
9752
0
#line 9753 "Zend/zend_language_scanner.c"
9753
5.45k
yy855:
9754
5.45k
    YYDEBUG(855, *YYCURSOR);
9755
5.45k
    yyaccept = 4;
9756
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
9757
5.45k
    if (yych == 'E') goto yy883;
9758
2.24k
    if (yych == 'e') goto yy883;
9759
680
    goto yy48;
9760
2.72k
yy856:
9761
2.72k
    YYDEBUG(856, *YYCURSOR);
9762
2.72k
    yyaccept = 4;
9763
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
9764
2.72k
    if (yych == '_') goto yy884;
9765
572
    goto yy48;
9766
1.72k
yy857:
9767
1.72k
    YYDEBUG(857, *YYCURSOR);
9768
1.72k
    yych = *++YYCURSOR;
9769
1.72k
    if (yych == 'S') goto yy885;
9770
1.45k
    if (yych == 's') goto yy885;
9771
703
    goto yy86;
9772
2.61k
yy858:
9773
2.61k
    YYDEBUG(858, *YYCURSOR);
9774
2.61k
    yych = *++YYCURSOR;
9775
2.61k
    if (yych == 'E') goto yy887;
9776
2.23k
    if (yych == 'e') goto yy887;
9777
534
    goto yy86;
9778
343k
yy859:
9779
343k
    YYDEBUG(859, *YYCURSOR);
9780
343k
    ++YYCURSOR;
9781
343k
    YYFILL(1);
9782
343k
    yych = *YYCURSOR;
9783
343k
    YYDEBUG(860, *YYCURSOR);
9784
343k
    if (yych <= '@') {
9785
171k
      if (yych <= 0x1F) {
9786
32.5k
        if (yych <= '\t') {
9787
10.2k
          if (yych <= 0x00) goto yy86;
9788
9.56k
          if (yych <= 0x08) goto yy738;
9789
5.13k
          goto yy859;
9790
22.3k
        } else {
9791
22.3k
          if (yych <= '\n') goto yy787;
9792
20.1k
          if (yych == '\r') goto yy787;
9793
1.88k
          goto yy738;
9794
20.1k
        }
9795
139k
      } else {
9796
139k
        if (yych <= ')') {
9797
57.8k
          if (yych <= ' ') goto yy859;
9798
34.1k
          if (yych == '#') goto yy888;
9799
4.52k
          goto yy738;
9800
81.4k
        } else {
9801
81.4k
          if (yych <= '*') goto yy789;
9802
80.8k
          if (yych == '/') goto yy889;
9803
4.71k
          goto yy738;
9804
80.8k
        }
9805
139k
      }
9806
171k
    } else {
9807
171k
      if (yych <= '_') {
9808
9.78k
        if (yych <= 'H') {
9809
773
          if (yych == 'E') goto yy891;
9810
570
          goto yy890;
9811
9.01k
        } else {
9812
9.01k
          if (yych <= 'I') goto yy892;
9813
3.22k
          if (yych <= 'Z') goto yy890;
9814
1.90k
          if (yych <= '^') goto yy738;
9815
759
          goto yy890;
9816
1.90k
        }
9817
161k
      } else {
9818
161k
        if (yych <= 'h') {
9819
98.2k
          if (yych <= '`') goto yy738;
9820
96.3k
          if (yych == 'e') goto yy891;
9821
2.19k
          goto yy890;
9822
96.3k
        } else {
9823
63.6k
          if (yych <= 'i') goto yy892;
9824
40.8k
          if (yych <= 'z') goto yy890;
9825
32.6k
          if (yych <= 0x7F) goto yy738;
9826
21.3k
          goto yy890;
9827
32.6k
        }
9828
161k
      }
9829
171k
    }
9830
71.5k
yy861:
9831
71.5k
    YYDEBUG(861, *YYCURSOR);
9832
71.5k
    ++YYCURSOR;
9833
71.5k
    YYFILL(1);
9834
71.5k
    yych = *YYCURSOR;
9835
71.5k
    if (yych <= '*') {
9836
2.23k
      if (yych <= 0x00) goto yy86;
9837
1.70k
      if (yych <= ')') goto yy590;
9838
400
      goto yy668;
9839
69.3k
    } else {
9840
69.3k
      if (yych == '/') goto yy787;
9841
841
      goto yy590;
9842
69.3k
    }
9843
5.08k
yy862:
9844
5.08k
    YYDEBUG(862, *YYCURSOR);
9845
5.08k
    ++YYCURSOR;
9846
5.08k
    YYFILL(1);
9847
5.08k
    yych = *YYCURSOR;
9848
5.08k
    if (yych <= 'S') {
9849
854
      if (yych <= 0x00) goto yy86;
9850
594
      if (yych == '*') goto yy668;
9851
261
      goto yy590;
9852
4.22k
    } else {
9853
4.22k
      if (yych <= 'T') goto yy893;
9854
3.79k
      if (yych == 't') goto yy893;
9855
914
      goto yy590;
9856
3.79k
    }
9857
14.5k
yy863:
9858
14.5k
    YYDEBUG(863, *YYCURSOR);
9859
14.5k
    ++YYCURSOR;
9860
14.5k
    YYFILL(1);
9861
14.5k
    yych = *YYCURSOR;
9862
14.5k
    if (yych <= 'O') {
9863
517
      if (yych <= 0x00) goto yy86;
9864
327
      if (yych == '*') goto yy668;
9865
283
      goto yy590;
9866
14.0k
    } else {
9867
14.0k
      if (yych <= 'P') goto yy894;
9868
7.74k
      if (yych == 'p') goto yy894;
9869
184
      goto yy590;
9870
7.74k
    }
9871
4.56k
yy864:
9872
4.56k
    YYDEBUG(864, *YYCURSOR);
9873
4.56k
    ++YYCURSOR;
9874
4.56k
    YYFILL(1);
9875
4.56k
    yych = *YYCURSOR;
9876
4.56k
    if (yych <= '\r') {
9877
1.06k
      if (yych <= '\t') {
9878
337
        if (yych <= 0x00) goto yy86;
9879
120
        goto yy586;
9880
727
      } else {
9881
727
        if (yych <= '\n') goto yy495;
9882
447
        if (yych <= '\f') goto yy586;
9883
290
        goto yy495;
9884
447
      }
9885
3.50k
    } else {
9886
3.50k
      if (yych <= 'D') {
9887
1.27k
        if (yych <= 'C') goto yy586;
9888
265
        goto yy895;
9889
2.22k
      } else {
9890
2.22k
        if (yych == 'd') goto yy895;
9891
306
        goto yy586;
9892
2.22k
      }
9893
3.50k
    }
9894
13.4k
yy865:
9895
13.4k
    YYDEBUG(865, *YYCURSOR);
9896
13.4k
    ++YYCURSOR;
9897
13.4k
    YYFILL(1);
9898
13.4k
    yych = *YYCURSOR;
9899
13.4k
    if (yych <= '\r') {
9900
1.39k
      if (yych <= '\t') {
9901
378
        if (yych <= 0x00) goto yy86;
9902
229
        goto yy586;
9903
1.01k
      } else {
9904
1.01k
        if (yych <= '\n') goto yy495;
9905
482
        if (yych <= '\f') goto yy586;
9906
223
        goto yy495;
9907
482
      }
9908
12.0k
    } else {
9909
12.0k
      if (yych <= 'M') {
9910
2.57k
        if (yych <= 'L') goto yy586;
9911
1.99k
        goto yy896;
9912
9.50k
      } else {
9913
9.50k
        if (yych == 'm') goto yy896;
9914
3.45k
        goto yy586;
9915
9.50k
      }
9916
12.0k
    }
9917
2.85k
yy866:
9918
2.85k
    YYDEBUG(866, *YYCURSOR);
9919
2.85k
    yyaccept = 4;
9920
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
9921
2.85k
    if (yych == 'E') goto yy897;
9922
2.04k
    if (yych == 'e') goto yy897;
9923
950
    goto yy48;
9924
34.1k
yy867:
9925
34.1k
    YYDEBUG(867, *YYCURSOR);
9926
34.1k
    yyaccept = 88;
9927
34.1k
    YYMARKER = ++YYCURSOR;
9928
34.1k
    YYFILL(1);
9929
34.1k
    yych = *YYCURSOR;
9930
34.1k
    YYDEBUG(868, *YYCURSOR);
9931
34.1k
    if (yych <= '\\') {
9932
10.9k
      if (yych <= '@') {
9933
4.29k
        if (yych <= '/') goto yy869;
9934
2.40k
        if (yych <= '9') goto yy867;
9935
6.60k
      } else {
9936
6.60k
        if (yych <= 'Z') goto yy867;
9937
2.51k
        if (yych >= '\\') goto yy840;
9938
2.51k
      }
9939
23.2k
    } else {
9940
23.2k
      if (yych <= '`') {
9941
814
        if (yych == '_') goto yy867;
9942
22.3k
      } else {
9943
22.3k
        if (yych <= 'z') goto yy867;
9944
12.7k
        if (yych >= 0x80) goto yy867;
9945
12.7k
      }
9946
23.2k
    }
9947
4.58k
yy869:
9948
4.58k
    YYDEBUG(869, *YYCURSOR);
9949
4.58k
    yyleng = YYCURSOR - SCNG(yy_text);
9950
4.58k
#line 2468 "Zend/zend_language_scanner.l"
9951
4.58k
    {
9952
4.58k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9953
4.58k
}
9954
0
#line 9955 "Zend/zend_language_scanner.c"
9955
1.25k
yy870:
9956
1.25k
    YYDEBUG(870, *YYCURSOR);
9957
1.25k
    yych = *++YYCURSOR;
9958
1.25k
    if (yych == ')') goto yy899;
9959
536
    goto yy86;
9960
1.69k
yy871:
9961
1.69k
    YYDEBUG(871, *YYCURSOR);
9962
1.69k
    yych = *++YYCURSOR;
9963
1.69k
    if (yych == 'E') goto yy901;
9964
1.40k
    if (yych == 'e') goto yy901;
9965
242
    goto yy86;
9966
1.06k
yy872:
9967
1.06k
    YYDEBUG(872, *YYCURSOR);
9968
1.06k
    ++YYCURSOR;
9969
1.06k
    YYDEBUG(873, *YYCURSOR);
9970
1.06k
    yyleng = YYCURSOR - SCNG(yy_text);
9971
1.06k
#line 1815 "Zend/zend_language_scanner.l"
9972
1.06k
    {
9973
1.06k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9974
1.06k
}
9975
0
#line 9976 "Zend/zend_language_scanner.c"
9976
1.86k
yy874:
9977
1.86k
    YYDEBUG(874, *YYCURSOR);
9978
1.86k
    yyaccept = 4;
9979
1.86k
    yych = *(YYMARKER = ++YYCURSOR);
9980
1.86k
    if (yych == 'E') goto yy902;
9981
1.60k
    if (yych == 'e') goto yy902;
9982
242
    goto yy48;
9983
4.19k
yy875:
9984
4.19k
    YYDEBUG(875, *YYCURSOR);
9985
4.19k
    ++YYCURSOR;
9986
18.7k
yy876:
9987
18.7k
    YYDEBUG(876, *YYCURSOR);
9988
18.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9989
18.7k
#line 1457 "Zend/zend_language_scanner.l"
9990
18.7k
    {
9991
18.7k
  yyless(yyleng - 1);
9992
18.7k
  HANDLE_NEWLINES(yytext, yyleng);
9993
18.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9994
18.7k
}
9995
0
#line 9996 "Zend/zend_language_scanner.c"
9996
173k
yy877:
9997
173k
    YYDEBUG(877, *YYCURSOR);
9998
173k
    ++YYCURSOR;
9999
173k
    YYFILL(1);
10000
173k
    yych = *YYCURSOR;
10001
173k
    if (yych <= '\r') {
10002
126k
      if (yych <= '\t') {
10003
1.62k
        if (yych <= 0x00) goto yy86;
10004
1.23k
        goto yy808;
10005
124k
      } else {
10006
124k
        if (yych <= '\n') goto yy904;
10007
31.7k
        if (yych <= '\f') goto yy808;
10008
31.6k
        goto yy904;
10009
31.7k
      }
10010
126k
    } else {
10011
47.4k
      if (yych <= '*') {
10012
7.17k
        if (yych <= ')') goto yy808;
10013
2.83k
        goto yy848;
10014
40.2k
      } else {
10015
40.2k
        if (yych == '[') goto yy696;
10016
40.1k
        goto yy808;
10017
40.2k
      }
10018
47.4k
    }
10019
69.6k
yy878:
10020
69.6k
    YYDEBUG(878, *YYCURSOR);
10021
69.6k
    ++YYCURSOR;
10022
69.6k
    YYFILL(1);
10023
69.6k
    yych = *YYCURSOR;
10024
69.6k
    if (yych <= '*') {
10025
66.9k
      if (yych <= 0x00) goto yy86;
10026
66.7k
      if (yych <= ')') goto yy696;
10027
66.1k
      goto yy906;
10028
66.7k
    } else {
10029
2.71k
      if (yych == '/') goto yy808;
10030
2.20k
      goto yy696;
10031
2.71k
    }
10032
8.31k
yy879:
10033
8.31k
    YYDEBUG(879, *YYCURSOR);
10034
8.31k
    ++YYCURSOR;
10035
8.31k
    YYFILL(1);
10036
8.31k
    yych = *YYCURSOR;
10037
8.31k
    if (yych <= 'Q') {
10038
924
      if (yych <= 0x00) goto yy86;
10039
626
      if (yych == '*') goto yy760;
10040
350
      goto yy696;
10041
7.39k
    } else {
10042
7.39k
      if (yych <= 'R') goto yy907;
10043
897
      if (yych == 'r') goto yy907;
10044
478
      goto yy696;
10045
897
    }
10046
8.54k
yy880:
10047
8.54k
    YYDEBUG(880, *YYCURSOR);
10048
8.54k
    ++YYCURSOR;
10049
8.54k
    YYFILL(1);
10050
8.54k
    yych = *YYCURSOR;
10051
8.54k
    if (yych <= '9') {
10052
5.33k
      if (yych <= '\n') {
10053
1.75k
        if (yych <= 0x00) goto yy875;
10054
1.69k
        if (yych <= '\t') goto yy908;
10055
1.55k
        goto yy909;
10056
3.58k
      } else {
10057
3.58k
        if (yych == '\r') goto yy909;
10058
1.38k
        if (yych <= '/') goto yy908;
10059
221
        goto yy692;
10060
1.38k
      }
10061
5.33k
    } else {
10062
3.21k
      if (yych <= '_') {
10063
1.02k
        if (yych <= '@') goto yy908;
10064
687
        if (yych <= 'Z') goto yy692;
10065
142
        if (yych <= '^') goto yy908;
10066
84
        goto yy692;
10067
2.18k
      } else {
10068
2.18k
        if (yych <= '`') goto yy908;
10069
1.99k
        if (yych <= 'z') goto yy692;
10070
1.47k
        if (yych <= 0x7F) goto yy908;
10071
629
        goto yy692;
10072
1.47k
      }
10073
3.21k
    }
10074
4.44k
yy881:
10075
4.44k
    YYDEBUG(881, *YYCURSOR);
10076
4.44k
    yyaccept = 4;
10077
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
10078
4.44k
    if (yych == '_') goto yy910;
10079
309
    goto yy48;
10080
3.57k
yy882:
10081
3.57k
    YYDEBUG(882, *YYCURSOR);
10082
3.57k
    yyaccept = 4;
10083
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
10084
3.57k
    if (yych == 'I') goto yy912;
10085
2.66k
    if (yych == 'i') goto yy912;
10086
548
    goto yy48;
10087
4.77k
yy883:
10088
4.77k
    YYDEBUG(883, *YYCURSOR);
10089
4.77k
    yyaccept = 4;
10090
4.77k
    yych = *(YYMARKER = ++YYCURSOR);
10091
4.77k
    if (yych == '_') goto yy913;
10092
516
    goto yy48;
10093
2.14k
yy884:
10094
2.14k
    YYDEBUG(884, *YYCURSOR);
10095
2.14k
    yyaccept = 4;
10096
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
10097
2.14k
    if (yych == '_') goto yy914;
10098
379
    goto yy48;
10099
1.02k
yy885:
10100
1.02k
    YYDEBUG(885, *YYCURSOR);
10101
1.02k
    ++YYCURSOR;
10102
2.58k
yy886:
10103
2.58k
    YYDEBUG(886, *YYCURSOR);
10104
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
10105
2.58k
#line 1599 "Zend/zend_language_scanner.l"
10106
2.58k
    {
10107
2.58k
  yyless(4);
10108
2.58k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10109
2.58k
}
10110
0
#line 10111 "Zend/zend_language_scanner.c"
10111
2.08k
yy887:
10112
2.08k
    YYDEBUG(887, *YYCURSOR);
10113
2.08k
    yych = *++YYCURSOR;
10114
2.08k
    if (yych == 'N') goto yy916;
10115
1.46k
    if (yych == 'n') goto yy916;
10116
209
    goto yy86;
10117
29.6k
yy888:
10118
29.6k
    YYDEBUG(888, *YYCURSOR);
10119
29.6k
    ++YYCURSOR;
10120
29.6k
    YYFILL(1);
10121
29.6k
    yych = *YYCURSOR;
10122
29.6k
    if (yych <= '\f') {
10123
17.6k
      if (yych <= 0x00) goto yy86;
10124
17.4k
      if (yych == '\n') goto yy859;
10125
149
      goto yy738;
10126
17.4k
    } else {
10127
11.9k
      if (yych <= '\r') goto yy859;
10128
9.88k
      if (yych == '*') goto yy789;
10129
9.17k
      goto yy738;
10130
9.88k
    }
10131
76.1k
yy889:
10132
76.1k
    YYDEBUG(889, *YYCURSOR);
10133
76.1k
    ++YYCURSOR;
10134
76.1k
    YYFILL(1);
10135
76.1k
    yych = *YYCURSOR;
10136
76.1k
    if (yych <= '\f') {
10137
1.85k
      if (yych <= 0x00) goto yy86;
10138
1.09k
      if (yych == '\n') goto yy787;
10139
522
      goto yy738;
10140
74.2k
    } else {
10141
74.2k
      if (yych <= '\r') goto yy787;
10142
73.0k
      if (yych == '*') goto yy917;
10143
4.03k
      goto yy738;
10144
73.0k
    }
10145
34.4k
yy890:
10146
34.4k
    YYDEBUG(890, *YYCURSOR);
10147
34.4k
    yyaccept = 53;
10148
34.4k
    YYMARKER = ++YYCURSOR;
10149
34.4k
    YYFILL(1);
10150
34.4k
    yych = *YYCURSOR;
10151
34.4k
    if (yych <= '\f') {
10152
1.61k
      if (yych <= 0x00) goto yy583;
10153
1.19k
      if (yych == '\n') goto yy787;
10154
389
      goto yy738;
10155
32.8k
    } else {
10156
32.8k
      if (yych <= '\r') goto yy787;
10157
31.9k
      if (yych == '*') goto yy789;
10158
31.6k
      goto yy738;
10159
31.9k
    }
10160
94.3k
yy891:
10161
94.3k
    YYDEBUG(891, *YYCURSOR);
10162
94.3k
    yyaccept = 53;
10163
94.3k
    YYMARKER = ++YYCURSOR;
10164
94.3k
    YYFILL(1);
10165
94.3k
    yych = *YYCURSOR;
10166
94.3k
    if (yych <= ')') {
10167
4.60k
      if (yych <= '\n') {
10168
2.18k
        if (yych <= 0x00) goto yy583;
10169
1.92k
        if (yych <= '\t') goto yy738;
10170
790
        goto yy787;
10171
2.41k
      } else {
10172
2.41k
        if (yych == '\r') goto yy787;
10173
2.10k
        goto yy738;
10174
2.41k
      }
10175
89.7k
    } else {
10176
89.7k
      if (yych <= 'X') {
10177
18.2k
        if (yych <= '*') goto yy789;
10178
18.1k
        if (yych <= 'W') goto yy738;
10179
6.41k
        goto yy918;
10180
71.4k
      } else {
10181
71.4k
        if (yych == 'x') goto yy918;
10182
44.1k
        goto yy738;
10183
71.4k
      }
10184
89.7k
    }
10185
28.5k
yy892:
10186
28.5k
    YYDEBUG(892, *YYCURSOR);
10187
28.5k
    yyaccept = 53;
10188
28.5k
    YYMARKER = ++YYCURSOR;
10189
28.5k
    YYFILL(1);
10190
28.5k
    yych = *YYCURSOR;
10191
28.5k
    if (yych <= ')') {
10192
4.07k
      if (yych <= '\n') {
10193
3.32k
        if (yych <= 0x00) goto yy583;
10194
3.05k
        if (yych <= '\t') goto yy738;
10195
2.79k
        goto yy787;
10196
3.05k
      } else {
10197
748
        if (yych == '\r') goto yy787;
10198
421
        goto yy738;
10199
748
      }
10200
24.4k
    } else {
10201
24.4k
      if (yych <= 'M') {
10202
4.79k
        if (yych <= '*') goto yy789;
10203
4.21k
        if (yych <= 'L') goto yy738;
10204
3.86k
        goto yy919;
10205
19.6k
      } else {
10206
19.6k
        if (yych == 'm') goto yy919;
10207
1.32k
        goto yy738;
10208
19.6k
      }
10209
24.4k
    }
10210
3.31k
yy893:
10211
3.31k
    YYDEBUG(893, *YYCURSOR);
10212
3.31k
    ++YYCURSOR;
10213
3.31k
    YYFILL(1);
10214
3.31k
    yych = *YYCURSOR;
10215
3.31k
    if (yych <= 'D') {
10216
442
      if (yych <= 0x00) goto yy86;
10217
291
      if (yych == '*') goto yy668;
10218
226
      goto yy590;
10219
2.87k
    } else {
10220
2.87k
      if (yych <= 'E') goto yy920;
10221
2.65k
      if (yych == 'e') goto yy920;
10222
71
      goto yy590;
10223
2.65k
    }
10224
13.8k
yy894:
10225
13.8k
    YYDEBUG(894, *YYCURSOR);
10226
13.8k
    ++YYCURSOR;
10227
13.8k
    YYFILL(1);
10228
13.8k
    yych = *YYCURSOR;
10229
13.8k
    if (yych <= 'K') {
10230
2.62k
      if (yych <= 0x00) goto yy86;
10231
2.14k
      if (yych == '*') goto yy668;
10232
1.95k
      goto yy590;
10233
11.2k
    } else {
10234
11.2k
      if (yych <= 'L') goto yy921;
10235
4.89k
      if (yych == 'l') goto yy921;
10236
282
      goto yy590;
10237
4.89k
    }
10238
3.57k
yy895:
10239
3.57k
    YYDEBUG(895, *YYCURSOR);
10240
3.57k
    ++YYCURSOR;
10241
3.57k
    YYFILL(1);
10242
3.57k
    yych = *YYCURSOR;
10243
3.57k
    if (yych <= '\r') {
10244
1.03k
      if (yych <= '\t') {
10245
489
        if (yych <= 0x00) goto yy86;
10246
260
        goto yy586;
10247
545
      } else {
10248
545
        if (yych <= '\n') goto yy495;
10249
358
        if (yych <= '\f') goto yy586;
10250
276
        goto yy495;
10251
358
      }
10252
2.53k
    } else {
10253
2.53k
      if (yych <= 'S') {
10254
1.20k
        if (yych <= 'R') goto yy586;
10255
613
        goto yy922;
10256
1.32k
      } else {
10257
1.32k
        if (yych == 's') goto yy922;
10258
638
        goto yy586;
10259
1.32k
      }
10260
2.53k
    }
10261
8.04k
yy896:
10262
8.04k
    YYDEBUG(896, *YYCURSOR);
10263
8.04k
    ++YYCURSOR;
10264
8.04k
    YYFILL(1);
10265
8.04k
    yych = *YYCURSOR;
10266
8.04k
    if (yych <= '\r') {
10267
1.55k
      if (yych <= '\t') {
10268
613
        if (yych <= 0x00) goto yy86;
10269
309
        goto yy586;
10270
939
      } else {
10271
939
        if (yych <= '\n') goto yy495;
10272
585
        if (yych <= '\f') goto yy586;
10273
307
        goto yy495;
10274
585
      }
10275
6.49k
    } else {
10276
6.49k
      if (yych <= 'E') {
10277
1.08k
        if (yych <= 'D') goto yy586;
10278
704
        goto yy923;
10279
5.41k
      } else {
10280
5.41k
        if (yych == 'e') goto yy923;
10281
571
        goto yy586;
10282
5.41k
      }
10283
6.49k
    }
10284
1.90k
yy897:
10285
1.90k
    YYDEBUG(897, *YYCURSOR);
10286
1.90k
    yyaccept = 89;
10287
1.90k
    yych = *(YYMARKER = ++YYCURSOR);
10288
1.90k
    if (yybm[256+yych] & 128) {
10289
109
      goto yy47;
10290
109
    }
10291
1.79k
    if (yych == '\\') goto yy164;
10292
1.66k
yy898:
10293
1.66k
    YYDEBUG(898, *YYCURSOR);
10294
1.66k
    yyleng = YYCURSOR - SCNG(yy_text);
10295
1.66k
#line 1755 "Zend/zend_language_scanner.l"
10296
1.66k
    {
10297
1.66k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10298
1.66k
}
10299
0
#line 10300 "Zend/zend_language_scanner.c"
10300
714
yy899:
10301
714
    YYDEBUG(899, *YYCURSOR);
10302
714
    ++YYCURSOR;
10303
714
    YYDEBUG(900, *YYCURSOR);
10304
714
    yyleng = YYCURSOR - SCNG(yy_text);
10305
714
#line 1823 "Zend/zend_language_scanner.l"
10306
714
    {
10307
714
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10308
714
}
10309
0
#line 10310 "Zend/zend_language_scanner.c"
10310
1.45k
yy901:
10311
1.45k
    YYDEBUG(901, *YYCURSOR);
10312
1.45k
    yych = *++YYCURSOR;
10313
1.45k
    if (yych == 'T') goto yy924;
10314
1.38k
    if (yych == 't') goto yy924;
10315
403
    goto yy86;
10316
1.62k
yy902:
10317
1.62k
    YYDEBUG(902, *YYCURSOR);
10318
1.62k
    yyaccept = 90;
10319
1.62k
    yych = *(YYMARKER = ++YYCURSOR);
10320
1.62k
    if (yybm[256+yych] & 128) {
10321
468
      goto yy47;
10322
468
    }
10323
1.15k
    if (yych == '\\') goto yy164;
10324
1.15k
yy903:
10325
1.15k
    YYDEBUG(903, *YYCURSOR);
10326
1.15k
    yyleng = YYCURSOR - SCNG(yy_text);
10327
1.15k
#line 1763 "Zend/zend_language_scanner.l"
10328
1.15k
    {
10329
1.15k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10330
1.15k
}
10331
0
#line 10332 "Zend/zend_language_scanner.c"
10332
175k
yy904:
10333
175k
    YYDEBUG(904, *YYCURSOR);
10334
175k
    ++YYCURSOR;
10335
175k
    YYFILL(1);
10336
175k
    yych = *YYCURSOR;
10337
175k
    YYDEBUG(905, *YYCURSOR);
10338
175k
    if (yych <= '"') {
10339
20.4k
      if (yych <= '\n') {
10340
6.87k
        if (yych <= 0x00) goto yy86;
10341
6.39k
        if (yych <= 0x08) goto yy808;
10342
5.85k
        if (yych <= '\t') goto yy904;
10343
3.29k
        goto yy846;
10344
13.5k
      } else {
10345
13.5k
        if (yych <= '\r') {
10346
11.3k
          if (yych <= '\f') goto yy808;
10347
10.8k
          goto yy846;
10348
11.3k
        } else {
10349
2.17k
          if (yych == ' ') goto yy904;
10350
1.02k
          goto yy808;
10351
2.17k
        }
10352
13.5k
      }
10353
155k
    } else {
10354
155k
      if (yych <= '/') {
10355
65.0k
        if (yych <= ')') {
10356
11.2k
          if (yych <= '#') goto yy925;
10357
3.52k
          goto yy808;
10358
53.8k
        } else {
10359
53.8k
          if (yych <= '*') goto yy848;
10360
53.3k
          if (yych <= '.') goto yy808;
10361
51.5k
          goto yy926;
10362
53.3k
        }
10363
90.1k
      } else {
10364
90.1k
        if (yych <= 'F') {
10365
21.0k
          if (yych <= 'E') goto yy808;
10366
19.4k
          goto yy927;
10367
69.1k
        } else {
10368
69.1k
          if (yych == 'f') goto yy927;
10369
68.2k
          goto yy808;
10370
69.1k
        }
10371
90.1k
      }
10372
155k
    }
10373
66.1k
yy906:
10374
66.1k
    YYDEBUG(906, *YYCURSOR);
10375
66.1k
    ++YYCURSOR;
10376
66.1k
    YYFILL(1);
10377
66.1k
    yych = *YYCURSOR;
10378
66.1k
    if (yych <= '*') {
10379
2.59k
      if (yych <= 0x00) goto yy86;
10380
2.06k
      if (yych <= ')') goto yy696;
10381
484
      goto yy760;
10382
63.5k
    } else {
10383
63.5k
      if (yych == '/') goto yy846;
10384
653
      goto yy696;
10385
63.5k
    }
10386
6.91k
yy907:
10387
6.91k
    YYDEBUG(907, *YYCURSOR);
10388
6.91k
    ++YYCURSOR;
10389
6.91k
    YYFILL(1);
10390
6.91k
    yych = *YYCURSOR;
10391
6.91k
    if (yych <= 'N') {
10392
582
      if (yych <= 0x00) goto yy86;
10393
491
      if (yych == '*') goto yy760;
10394
249
      goto yy696;
10395
6.33k
    } else {
10396
6.33k
      if (yych <= 'O') goto yy928;
10397
1.72k
      if (yych == 'o') goto yy928;
10398
228
      goto yy696;
10399
1.72k
    }
10400
2.72k
yy908:
10401
2.72k
    YYDEBUG(908, *YYCURSOR);
10402
2.72k
    yyaccept = 91;
10403
2.72k
    YYMARKER = ++YYCURSOR;
10404
2.72k
    YYFILL(1);
10405
2.72k
    yych = *YYCURSOR;
10406
2.72k
    if (yych <= '\n') {
10407
1.02k
      if (yych <= 0x00) goto yy876;
10408
682
      if (yych <= '\t') goto yy692;
10409
429
      goto yy616;
10410
1.70k
    } else {
10411
1.70k
      if (yych == '\r') goto yy616;
10412
1.57k
      goto yy692;
10413
1.70k
    }
10414
3.75k
yy909:
10415
3.75k
    YYDEBUG(909, *YYCURSOR);
10416
3.75k
    yyaccept = 91;
10417
3.75k
    YYMARKER = ++YYCURSOR;
10418
3.75k
    YYFILL(5);
10419
3.75k
    yych = *YYCURSOR;
10420
3.75k
    if (yych <= '"') {
10421
1.83k
      if (yych <= '\f') {
10422
1.02k
        if (yych <= 0x08) goto yy876;
10423
814
        if (yych <= '\n') goto yy616;
10424
62
        goto yy876;
10425
815
      } else {
10426
815
        if (yych <= '\r') goto yy616;
10427
534
        if (yych == ' ') goto yy616;
10428
246
        goto yy876;
10429
534
      }
10430
1.91k
    } else {
10431
1.91k
      if (yych <= 'E') {
10432
864
        if (yych <= '#') goto yy618;
10433
478
        if (yych == '/') goto yy619;
10434
269
        goto yy876;
10435
1.04k
      } else {
10436
1.04k
        if (yych <= 'F') goto yy691;
10437
674
        if (yych == 'f') goto yy691;
10438
405
        goto yy876;
10439
674
      }
10440
1.91k
    }
10441
4.13k
yy910:
10442
4.13k
    YYDEBUG(910, *YYCURSOR);
10443
4.13k
    yyaccept = 92;
10444
4.13k
    yych = *(YYMARKER = ++YYCURSOR);
10445
4.13k
    if (yybm[256+yych] & 128) {
10446
637
      goto yy47;
10447
637
    }
10448
3.49k
    if (yych == '\\') goto yy164;
10449
3.49k
yy911:
10450
3.49k
    YYDEBUG(911, *YYCURSOR);
10451
3.49k
    yyleng = YYCURSOR - SCNG(yy_text);
10452
3.49k
#line 2290 "Zend/zend_language_scanner.l"
10453
3.49k
    {
10454
3.49k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10455
3.49k
}
10456
0
#line 10457 "Zend/zend_language_scanner.c"
10457
3.02k
yy912:
10458
3.02k
    YYDEBUG(912, *YYCURSOR);
10459
3.02k
    yyaccept = 4;
10460
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
10461
3.02k
    if (yych == 'L') goto yy929;
10462
2.78k
    if (yych == 'l') goto yy929;
10463
1.20k
    goto yy48;
10464
4.25k
yy913:
10465
4.25k
    YYDEBUG(913, *YYCURSOR);
10466
4.25k
    yyaccept = 4;
10467
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
10468
4.25k
    if (yych == '_') goto yy930;
10469
868
    goto yy48;
10470
1.77k
yy914:
10471
1.77k
    YYDEBUG(914, *YYCURSOR);
10472
1.77k
    yyaccept = 93;
10473
1.77k
    yych = *(YYMARKER = ++YYCURSOR);
10474
1.77k
    if (yybm[256+yych] & 128) {
10475
462
      goto yy47;
10476
462
    }
10477
1.30k
    if (yych == '\\') goto yy164;
10478
1.30k
yy915:
10479
1.30k
    YYDEBUG(915, *YYCURSOR);
10480
1.30k
    yyleng = YYCURSOR - SCNG(yy_text);
10481
1.30k
#line 2294 "Zend/zend_language_scanner.l"
10482
1.30k
    {
10483
1.30k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10484
1.30k
}
10485
0
#line 10486 "Zend/zend_language_scanner.c"
10486
1.87k
yy916:
10487
1.87k
    YYDEBUG(916, *YYCURSOR);
10488
1.87k
    yych = *++YYCURSOR;
10489
1.87k
    if (yych == 'T') goto yy857;
10490
1.62k
    if (yych == 't') goto yy857;
10491
728
    goto yy86;
10492
69.0k
yy917:
10493
69.0k
    YYDEBUG(917, *YYCURSOR);
10494
69.0k
    ++YYCURSOR;
10495
69.0k
    YYFILL(1);
10496
69.0k
    yych = *YYCURSOR;
10497
69.0k
    if (yych <= '\r') {
10498
2.32k
      if (yych <= '\t') {
10499
804
        if (yych <= 0x00) goto yy86;
10500
411
        goto yy738;
10501
1.52k
      } else {
10502
1.52k
        if (yych <= '\n') goto yy787;
10503
602
        if (yych <= '\f') goto yy738;
10504
391
        goto yy787;
10505
602
      }
10506
66.6k
    } else {
10507
66.6k
      if (yych <= '*') {
10508
2.12k
        if (yych <= ')') goto yy738;
10509
302
        goto yy789;
10510
64.5k
      } else {
10511
64.5k
        if (yych == '/') goto yy859;
10512
1.05k
        goto yy738;
10513
64.5k
      }
10514
66.6k
    }
10515
33.7k
yy918:
10516
33.7k
    YYDEBUG(918, *YYCURSOR);
10517
33.7k
    ++YYCURSOR;
10518
33.7k
    YYFILL(1);
10519
33.7k
    yych = *YYCURSOR;
10520
33.7k
    if (yych <= ')') {
10521
1.84k
      if (yych <= '\n') {
10522
1.21k
        if (yych <= 0x00) goto yy86;
10523
896
        if (yych <= '\t') goto yy738;
10524
241
        goto yy787;
10525
896
      } else {
10526
630
        if (yych == '\r') goto yy787;
10527
582
        goto yy738;
10528
630
      }
10529
31.9k
    } else {
10530
31.9k
      if (yych <= 'T') {
10531
2.27k
        if (yych <= '*') goto yy789;
10532
1.98k
        if (yych <= 'S') goto yy738;
10533
1.20k
        goto yy932;
10534
29.6k
      } else {
10535
29.6k
        if (yych == 't') goto yy932;
10536
20.2k
        goto yy738;
10537
29.6k
      }
10538
31.9k
    }
10539
22.2k
yy919:
10540
22.2k
    YYDEBUG(919, *YYCURSOR);
10541
22.2k
    ++YYCURSOR;
10542
22.2k
    YYFILL(1);
10543
22.2k
    yych = *YYCURSOR;
10544
22.2k
    if (yych <= ')') {
10545
1.40k
      if (yych <= '\n') {
10546
896
        if (yych <= 0x00) goto yy86;
10547
548
        if (yych <= '\t') goto yy738;
10548
89
        goto yy787;
10549
548
      } else {
10550
510
        if (yych == '\r') goto yy787;
10551
211
        goto yy738;
10552
510
      }
10553
20.8k
    } else {
10554
20.8k
      if (yych <= 'P') {
10555
3.47k
        if (yych <= '*') goto yy789;
10556
3.43k
        if (yych <= 'O') goto yy738;
10557
1.83k
        goto yy933;
10558
17.3k
      } else {
10559
17.3k
        if (yych == 'p') goto yy933;
10560
417
        goto yy738;
10561
17.3k
      }
10562
20.8k
    }
10563
2.80k
yy920:
10564
2.80k
    YYDEBUG(920, *YYCURSOR);
10565
2.80k
    ++YYCURSOR;
10566
2.80k
    YYFILL(1);
10567
2.80k
    yych = *YYCURSOR;
10568
2.80k
    if (yych <= 'M') {
10569
1.01k
      if (yych <= 0x00) goto yy86;
10570
833
      if (yych == '*') goto yy668;
10571
634
      goto yy590;
10572
1.78k
    } else {
10573
1.78k
      if (yych <= 'N') goto yy934;
10574
1.50k
      if (yych == 'n') goto yy934;
10575
77
      goto yy590;
10576
1.50k
    }
10577
10.9k
yy921:
10578
10.9k
    YYDEBUG(921, *YYCURSOR);
10579
10.9k
    ++YYCURSOR;
10580
10.9k
    YYFILL(1);
10581
10.9k
    yych = *YYCURSOR;
10582
10.9k
    if (yych <= 'D') {
10583
1.14k
      if (yych <= 0x00) goto yy86;
10584
894
      if (yych == '*') goto yy668;
10585
346
      goto yy590;
10586
9.78k
    } else {
10587
9.78k
      if (yych <= 'E') goto yy935;
10588
3.67k
      if (yych == 'e') goto yy935;
10589
794
      goto yy590;
10590
3.67k
    }
10591
1.30k
yy922:
10592
1.30k
    YYDEBUG(922, *YYCURSOR);
10593
1.30k
    yyaccept = 94;
10594
1.30k
    YYMARKER = ++YYCURSOR;
10595
1.30k
    YYFILL(1);
10596
1.30k
    yych = *YYCURSOR;
10597
1.30k
    if (yych <= '\n') {
10598
755
      if (yych <= 0x00) goto yy886;
10599
208
      if (yych <= '\t') goto yy586;
10600
4
      goto yy495;
10601
547
    } else {
10602
547
      if (yych == '\r') goto yy495;
10603
318
      goto yy586;
10604
547
    }
10605
5.54k
yy923:
10606
5.54k
    YYDEBUG(923, *YYCURSOR);
10607
5.54k
    ++YYCURSOR;
10608
5.54k
    YYFILL(1);
10609
5.54k
    yych = *YYCURSOR;
10610
5.54k
    if (yych <= '\r') {
10611
1.44k
      if (yych <= '\t') {
10612
872
        if (yych <= 0x00) goto yy86;
10613
685
        goto yy586;
10614
872
      } else {
10615
572
        if (yych <= '\n') goto yy495;
10616
398
        if (yych <= '\f') goto yy586;
10617
28
        goto yy495;
10618
398
      }
10619
4.09k
    } else {
10620
4.09k
      if (yych <= 'N') {
10621
1.11k
        if (yych <= 'M') goto yy586;
10622
1.04k
        goto yy936;
10623
2.98k
      } else {
10624
2.98k
        if (yych == 'n') goto yy936;
10625
622
        goto yy586;
10626
2.98k
      }
10627
4.09k
    }
10628
1.05k
yy924:
10629
1.05k
    YYDEBUG(924, *YYCURSOR);
10630
1.05k
    yych = *++YYCURSOR;
10631
1.05k
    if (yych == ')') goto yy937;
10632
311
    goto yy86;
10633
7.75k
yy925:
10634
7.75k
    YYDEBUG(925, *YYCURSOR);
10635
7.75k
    ++YYCURSOR;
10636
7.75k
    YYFILL(1);
10637
7.75k
    yych = *YYCURSOR;
10638
7.75k
    if (yych <= '\f') {
10639
3.28k
      if (yych <= 0x00) goto yy86;
10640
3.05k
      if (yych == '\n') goto yy904;
10641
290
      goto yy808;
10642
4.47k
    } else {
10643
4.47k
      if (yych <= '\r') goto yy904;
10644
1.78k
      if (yych == '*') goto yy848;
10645
1.36k
      goto yy808;
10646
1.78k
    }
10647
51.5k
yy926:
10648
51.5k
    YYDEBUG(926, *YYCURSOR);
10649
51.5k
    ++YYCURSOR;
10650
51.5k
    YYFILL(1);
10651
51.5k
    yych = *YYCURSOR;
10652
51.5k
    if (yych <= '\f') {
10653
1.12k
      if (yych <= 0x00) goto yy86;
10654
868
      if (yych == '\n') goto yy846;
10655
304
      goto yy808;
10656
50.3k
    } else {
10657
50.3k
      if (yych <= '\r') goto yy846;
10658
49.0k
      if (yych == '*') goto yy939;
10659
2.52k
      goto yy808;
10660
49.0k
    }
10661
20.3k
yy927:
10662
20.3k
    YYDEBUG(927, *YYCURSOR);
10663
20.3k
    ++YYCURSOR;
10664
20.3k
    YYFILL(1);
10665
20.3k
    yych = *YYCURSOR;
10666
20.3k
    if (yych <= ')') {
10667
1.56k
      if (yych <= '\n') {
10668
1.01k
        if (yych <= 0x00) goto yy86;
10669
811
        if (yych <= '\t') goto yy808;
10670
639
        goto yy846;
10671
811
      } else {
10672
548
        if (yych == '\r') goto yy846;
10673
392
        goto yy808;
10674
548
      }
10675
18.7k
    } else {
10676
18.7k
      if (yych <= 'R') {
10677
15.7k
        if (yych <= '*') goto yy848;
10678
15.3k
        if (yych <= 'Q') goto yy808;
10679
15.0k
        goto yy940;
10680
15.3k
      } else {
10681
3.04k
        if (yych == 'r') goto yy940;
10682
1.13k
        goto yy808;
10683
3.04k
      }
10684
18.7k
    }
10685
6.10k
yy928:
10686
6.10k
    YYDEBUG(928, *YYCURSOR);
10687
6.10k
    ++YYCURSOR;
10688
6.10k
    YYFILL(1);
10689
6.10k
    yych = *YYCURSOR;
10690
6.10k
    if (yych <= 'L') {
10691
563
      if (yych <= 0x00) goto yy86;
10692
493
      if (yych == '*') goto yy760;
10693
290
      goto yy696;
10694
5.53k
    } else {
10695
5.53k
      if (yych <= 'M') goto yy941;
10696
708
      if (yych == 'm') goto yy941;
10697
360
      goto yy696;
10698
708
    }
10699
1.81k
yy929:
10700
1.81k
    YYDEBUG(929, *YYCURSOR);
10701
1.81k
    yyaccept = 4;
10702
1.81k
    yych = *(YYMARKER = ++YYCURSOR);
10703
1.81k
    if (yych == 'E') goto yy942;
10704
1.53k
    if (yych == 'e') goto yy942;
10705
92
    goto yy48;
10706
3.39k
yy930:
10707
3.39k
    YYDEBUG(930, *YYCURSOR);
10708
3.39k
    yyaccept = 95;
10709
3.39k
    yych = *(YYMARKER = ++YYCURSOR);
10710
3.39k
    if (yybm[256+yych] & 128) {
10711
430
      goto yy47;
10712
430
    }
10713
2.96k
    if (yych == '\\') goto yy164;
10714
2.94k
yy931:
10715
2.94k
    YYDEBUG(931, *YYCURSOR);
10716
2.94k
    yyleng = YYCURSOR - SCNG(yy_text);
10717
2.94k
#line 2314 "Zend/zend_language_scanner.l"
10718
2.94k
    {
10719
2.94k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10720
2.94k
}
10721
0
#line 10722 "Zend/zend_language_scanner.c"
10722
10.6k
yy932:
10723
10.6k
    YYDEBUG(932, *YYCURSOR);
10724
10.6k
    ++YYCURSOR;
10725
10.6k
    YYFILL(1);
10726
10.6k
    yych = *YYCURSOR;
10727
10.6k
    if (yych <= ')') {
10728
1.79k
      if (yych <= '\n') {
10729
976
        if (yych <= 0x00) goto yy86;
10730
613
        if (yych <= '\t') goto yy738;
10731
206
        goto yy787;
10732
818
      } else {
10733
818
        if (yych == '\r') goto yy787;
10734
525
        goto yy738;
10735
818
      }
10736
8.81k
    } else {
10737
8.81k
      if (yych <= 'E') {
10738
761
        if (yych <= '*') goto yy789;
10739
607
        if (yych <= 'D') goto yy738;
10740
273
        goto yy943;
10741
8.05k
      } else {
10742
8.05k
        if (yych == 'e') goto yy943;
10743
587
        goto yy738;
10744
8.05k
      }
10745
8.81k
    }
10746
18.7k
yy933:
10747
18.7k
    YYDEBUG(933, *YYCURSOR);
10748
18.7k
    ++YYCURSOR;
10749
18.7k
    YYFILL(1);
10750
18.7k
    yych = *YYCURSOR;
10751
18.7k
    if (yych <= ')') {
10752
1.02k
      if (yych <= '\n') {
10753
527
        if (yych <= 0x00) goto yy86;
10754
269
        if (yych <= '\t') goto yy738;
10755
159
        goto yy787;
10756
501
      } else {
10757
501
        if (yych == '\r') goto yy787;
10758
313
        goto yy738;
10759
501
      }
10760
17.7k
    } else {
10761
17.7k
      if (yych <= 'L') {
10762
1.94k
        if (yych <= '*') goto yy789;
10763
1.72k
        if (yych <= 'K') goto yy738;
10764
1.44k
        goto yy944;
10765
15.7k
      } else {
10766
15.7k
        if (yych == 'l') goto yy944;
10767
1.17k
        goto yy738;
10768
15.7k
      }
10769
17.7k
    }
10770
1.70k
yy934:
10771
1.70k
    YYDEBUG(934, *YYCURSOR);
10772
1.70k
    ++YYCURSOR;
10773
1.70k
    YYFILL(1);
10774
1.70k
    yych = *YYCURSOR;
10775
1.70k
    if (yych <= 'C') {
10776
575
      if (yych <= 0x00) goto yy86;
10777
373
      if (yych == '*') goto yy668;
10778
172
      goto yy590;
10779
1.13k
    } else {
10780
1.13k
      if (yych <= 'D') goto yy945;
10781
978
      if (yych == 'd') goto yy945;
10782
235
      goto yy590;
10783
978
    }
10784
8.99k
yy935:
10785
8.99k
    YYDEBUG(935, *YYCURSOR);
10786
8.99k
    ++YYCURSOR;
10787
8.99k
    YYFILL(1);
10788
8.99k
    yych = *YYCURSOR;
10789
8.99k
    if (yych <= 'L') {
10790
892
      if (yych <= 0x00) goto yy86;
10791
847
      if (yych == '*') goto yy668;
10792
665
      goto yy590;
10793
8.09k
    } else {
10794
8.09k
      if (yych <= 'M') goto yy946;
10795
3.35k
      if (yych == 'm') goto yy946;
10796
868
      goto yy590;
10797
3.35k
    }
10798
3.41k
yy936:
10799
3.41k
    YYDEBUG(936, *YYCURSOR);
10800
3.41k
    ++YYCURSOR;
10801
3.41k
    YYFILL(1);
10802
3.41k
    yych = *YYCURSOR;
10803
3.41k
    if (yych <= '\r') {
10804
1.63k
      if (yych <= '\t') {
10805
301
        if (yych <= 0x00) goto yy86;
10806
135
        goto yy586;
10807
1.33k
      } else {
10808
1.33k
        if (yych <= '\n') goto yy495;
10809
1.10k
        if (yych <= '\f') goto yy586;
10810
629
        goto yy495;
10811
1.10k
      }
10812
1.78k
    } else {
10813
1.78k
      if (yych <= 'T') {
10814
465
        if (yych <= 'S') goto yy586;
10815
294
        goto yy895;
10816
1.31k
      } else {
10817
1.31k
        if (yych == 't') goto yy895;
10818
224
        goto yy586;
10819
1.31k
      }
10820
1.78k
    }
10821
739
yy937:
10822
739
    YYDEBUG(937, *YYCURSOR);
10823
739
    ++YYCURSOR;
10824
739
    YYDEBUG(938, *YYCURSOR);
10825
739
    yyleng = YYCURSOR - SCNG(yy_text);
10826
739
#line 1819 "Zend/zend_language_scanner.l"
10827
739
    {
10828
739
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10829
739
}
10830
0
#line 10831 "Zend/zend_language_scanner.c"
10831
46.5k
yy939:
10832
46.5k
    YYDEBUG(939, *YYCURSOR);
10833
46.5k
    ++YYCURSOR;
10834
46.5k
    YYFILL(1);
10835
46.5k
    yych = *YYCURSOR;
10836
46.5k
    if (yych <= '\r') {
10837
2.23k
      if (yych <= '\t') {
10838
918
        if (yych <= 0x00) goto yy86;
10839
789
        goto yy808;
10840
1.32k
      } else {
10841
1.32k
        if (yych <= '\n') goto yy846;
10842
841
        if (yych <= '\f') goto yy808;
10843
544
        goto yy846;
10844
841
      }
10845
44.2k
    } else {
10846
44.2k
      if (yych <= '*') {
10847
1.33k
        if (yych <= ')') goto yy808;
10848
173
        goto yy848;
10849
42.9k
      } else {
10850
42.9k
        if (yych == '/') goto yy904;
10851
857
        goto yy808;
10852
42.9k
      }
10853
44.2k
    }
10854
16.9k
yy940:
10855
16.9k
    YYDEBUG(940, *YYCURSOR);
10856
16.9k
    ++YYCURSOR;
10857
16.9k
    YYFILL(1);
10858
16.9k
    yych = *YYCURSOR;
10859
16.9k
    if (yych <= ')') {
10860
1.11k
      if (yych <= '\n') {
10861
590
        if (yych <= 0x00) goto yy86;
10862
387
        if (yych <= '\t') goto yy808;
10863
47
        goto yy846;
10864
523
      } else {
10865
523
        if (yych == '\r') goto yy846;
10866
319
        goto yy808;
10867
523
      }
10868
15.7k
    } else {
10869
15.7k
      if (yych <= 'O') {
10870
12.4k
        if (yych <= '*') goto yy848;
10871
11.8k
        if (yych <= 'N') goto yy808;
10872
11.2k
        goto yy947;
10873
11.8k
      } else {
10874
3.38k
        if (yych == 'o') goto yy947;
10875
1.37k
        goto yy808;
10876
3.38k
      }
10877
15.7k
    }
10878
5.17k
yy941:
10879
5.17k
    YYDEBUG(941, *YYCURSOR);
10880
5.17k
    ++YYCURSOR;
10881
5.17k
    YYFILL(1);
10882
5.17k
    yych = *YYCURSOR;
10883
5.17k
    if (yych <= '@') {
10884
3.99k
      if (yych <= '*') {
10885
3.50k
        if (yych <= 0x00) goto yy875;
10886
2.83k
        if (yych <= ')') goto yy948;
10887
821
        goto yy949;
10888
2.83k
      } else {
10889
497
        if (yych <= '/') goto yy948;
10890
261
        if (yych <= '9') goto yy696;
10891
185
        goto yy948;
10892
261
      }
10893
3.99k
    } else {
10894
1.18k
      if (yych <= '_') {
10895
497
        if (yych <= 'Z') goto yy696;
10896
362
        if (yych <= '^') goto yy948;
10897
139
        goto yy696;
10898
684
      } else {
10899
684
        if (yych <= '`') goto yy948;
10900
614
        if (yych <= 'z') goto yy696;
10901
384
        if (yych <= 0x7F) goto yy948;
10902
73
        goto yy696;
10903
384
      }
10904
1.18k
    }
10905
1.72k
yy942:
10906
1.72k
    YYDEBUG(942, *YYCURSOR);
10907
1.72k
    yyaccept = 4;
10908
1.72k
    yych = *(YYMARKER = ++YYCURSOR);
10909
1.72k
    if (yych == 'R') goto yy950;
10910
1.51k
    if (yych == 'r') goto yy950;
10911
373
    goto yy48;
10912
7.73k
yy943:
10913
7.73k
    YYDEBUG(943, *YYCURSOR);
10914
7.73k
    ++YYCURSOR;
10915
7.73k
    YYFILL(1);
10916
7.73k
    yych = *YYCURSOR;
10917
7.73k
    if (yych <= ')') {
10918
1.57k
      if (yych <= '\n') {
10919
642
        if (yych <= 0x00) goto yy86;
10920
410
        if (yych <= '\t') goto yy738;
10921
210
        goto yy787;
10922
929
      } else {
10923
929
        if (yych == '\r') goto yy787;
10924
255
        goto yy738;
10925
929
      }
10926
6.16k
    } else {
10927
6.16k
      if (yych <= 'N') {
10928
1.42k
        if (yych <= '*') goto yy789;
10929
1.36k
        if (yych <= 'M') goto yy738;
10930
604
        goto yy952;
10931
4.74k
      } else {
10932
4.74k
        if (yych == 'n') goto yy952;
10933
384
        goto yy738;
10934
4.74k
      }
10935
6.16k
    }
10936
16.0k
yy944:
10937
16.0k
    YYDEBUG(944, *YYCURSOR);
10938
16.0k
    ++YYCURSOR;
10939
16.0k
    YYFILL(1);
10940
16.0k
    yych = *YYCURSOR;
10941
16.0k
    if (yych <= ')') {
10942
2.14k
      if (yych <= '\n') {
10943
977
        if (yych <= 0x00) goto yy86;
10944
572
        if (yych <= '\t') goto yy738;
10945
198
        goto yy787;
10946
1.16k
      } else {
10947
1.16k
        if (yych == '\r') goto yy787;
10948
804
        goto yy738;
10949
1.16k
      }
10950
13.9k
    } else {
10951
13.9k
      if (yych <= 'E') {
10952
2.10k
        if (yych <= '*') goto yy789;
10953
1.98k
        if (yych <= 'D') goto yy738;
10954
1.37k
        goto yy953;
10955
11.7k
      } else {
10956
11.7k
        if (yych == 'e') goto yy953;
10957
676
        goto yy738;
10958
11.7k
      }
10959
13.9k
    }
10960
1.43k
yy945:
10961
1.43k
    YYDEBUG(945, *YYCURSOR);
10962
1.43k
    ++YYCURSOR;
10963
1.43k
    YYFILL(1);
10964
1.43k
    yych = *YYCURSOR;
10965
1.43k
    if (yych <= 'R') {
10966
859
      if (yych <= 0x00) goto yy86;
10967
667
      if (yych == '*') goto yy668;
10968
626
      goto yy590;
10969
667
    } else {
10970
573
      if (yych <= 'S') goto yy954;
10971
496
      if (yych == 's') goto yy954;
10972
126
      goto yy590;
10973
496
    }
10974
7.23k
yy946:
10975
7.23k
    YYDEBUG(946, *YYCURSOR);
10976
7.23k
    ++YYCURSOR;
10977
7.23k
    YYFILL(1);
10978
7.23k
    yych = *YYCURSOR;
10979
7.23k
    if (yych <= 'D') {
10980
4.22k
      if (yych <= 0x00) goto yy86;
10981
4.02k
      if (yych == '*') goto yy668;
10982
102
      goto yy590;
10983
4.02k
    } else {
10984
3.00k
      if (yych <= 'E') goto yy955;
10985
2.28k
      if (yych == 'e') goto yy955;
10986
318
      goto yy590;
10987
2.28k
    }
10988
13.2k
yy947:
10989
13.2k
    YYDEBUG(947, *YYCURSOR);
10990
13.2k
    ++YYCURSOR;
10991
13.2k
    YYFILL(1);
10992
13.2k
    yych = *YYCURSOR;
10993
13.2k
    if (yych <= ')') {
10994
1.93k
      if (yych <= '\n') {
10995
876
        if (yych <= 0x00) goto yy86;
10996
628
        if (yych <= '\t') goto yy808;
10997
263
        goto yy846;
10998
1.05k
      } else {
10999
1.05k
        if (yych == '\r') goto yy846;
11000
762
        goto yy808;
11001
1.05k
      }
11002
11.3k
    } else {
11003
11.3k
      if (yych <= 'M') {
11004
9.50k
        if (yych <= '*') goto yy848;
11005
9.32k
        if (yych <= 'L') goto yy808;
11006
8.85k
        goto yy956;
11007
9.32k
      } else {
11008
1.82k
        if (yych == 'm') goto yy956;
11009
988
        goto yy808;
11010
1.82k
      }
11011
11.3k
    }
11012
3.04k
yy948:
11013
3.04k
    YYDEBUG(948, *YYCURSOR);
11014
3.04k
    yyaccept = 91;
11015
3.04k
    YYMARKER = ++YYCURSOR;
11016
3.04k
    YYFILL(1);
11017
3.04k
    yych = *YYCURSOR;
11018
3.04k
    if (yych <= 0x00) goto yy876;
11019
1.39k
    if (yych == '*') goto yy760;
11020
1.17k
    goto yy696;
11021
1.17k
yy949:
11022
821
    YYDEBUG(949, *YYCURSOR);
11023
821
    yyaccept = 91;
11024
821
    YYMARKER = ++YYCURSOR;
11025
821
    YYFILL(1);
11026
821
    yych = *YYCURSOR;
11027
821
    if (yych <= '*') {
11028
512
      if (yych <= 0x00) goto yy876;
11029
345
      if (yych <= ')') goto yy696;
11030
69
      goto yy760;
11031
345
    } else {
11032
309
      if (yych == '/') goto yy616;
11033
202
      goto yy696;
11034
309
    }
11035
1.35k
yy950:
11036
1.35k
    YYDEBUG(950, *YYCURSOR);
11037
1.35k
    yyaccept = 96;
11038
1.35k
    yych = *(YYMARKER = ++YYCURSOR);
11039
1.35k
    if (yybm[256+yych] & 128) {
11040
355
      goto yy47;
11041
355
    }
11042
995
    if (yych == '\\') goto yy164;
11043
921
yy951:
11044
921
    YYDEBUG(951, *YYCURSOR);
11045
921
    yyleng = YYCURSOR - SCNG(yy_text);
11046
921
#line 1791 "Zend/zend_language_scanner.l"
11047
921
    {
11048
921
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11049
921
}
11050
0
#line 11051 "Zend/zend_language_scanner.c"
11051
4.96k
yy952:
11052
4.96k
    YYDEBUG(952, *YYCURSOR);
11053
4.96k
    ++YYCURSOR;
11054
4.96k
    YYFILL(1);
11055
4.96k
    yych = *YYCURSOR;
11056
4.96k
    if (yych <= ')') {
11057
931
      if (yych <= '\n') {
11058
214
        if (yych <= 0x00) goto yy86;
11059
55
        if (yych <= '\t') goto yy738;
11060
43
        goto yy787;
11061
717
      } else {
11062
717
        if (yych == '\r') goto yy787;
11063
366
        goto yy738;
11064
717
      }
11065
4.03k
    } else {
11066
4.03k
      if (yych <= 'D') {
11067
616
        if (yych <= '*') goto yy789;
11068
444
        if (yych <= 'C') goto yy738;
11069
414
        goto yy957;
11070
3.42k
      } else {
11071
3.42k
        if (yych == 'd') goto yy957;
11072
1.10k
        goto yy738;
11073
3.42k
      }
11074
4.03k
    }
11075
12.4k
yy953:
11076
12.4k
    YYDEBUG(953, *YYCURSOR);
11077
12.4k
    ++YYCURSOR;
11078
12.4k
    YYFILL(1);
11079
12.4k
    yych = *YYCURSOR;
11080
12.4k
    if (yych <= ')') {
11081
3.16k
      if (yych <= '\n') {
11082
2.21k
        if (yych <= 0x00) goto yy86;
11083
2.15k
        if (yych <= '\t') goto yy738;
11084
2.08k
        goto yy787;
11085
2.15k
      } else {
11086
946
        if (yych == '\r') goto yy787;
11087
831
        goto yy738;
11088
946
      }
11089
9.33k
    } else {
11090
9.33k
      if (yych <= 'M') {
11091
3.62k
        if (yych <= '*') goto yy789;
11092
2.37k
        if (yych <= 'L') goto yy738;
11093
2.06k
        goto yy958;
11094
5.70k
      } else {
11095
5.70k
        if (yych == 'm') goto yy958;
11096
446
        goto yy738;
11097
5.70k
      }
11098
9.33k
    }
11099
447
yy954:
11100
447
    YYDEBUG(954, *YYCURSOR);
11101
447
    yyaccept = 94;
11102
447
    YYMARKER = ++YYCURSOR;
11103
447
    YYFILL(1);
11104
447
    yych = *YYCURSOR;
11105
447
    if (yych <= 0x00) goto yy886;
11106
368
    if (yych == '*') goto yy668;
11107
294
    goto yy590;
11108
2.68k
yy955:
11109
2.68k
    YYDEBUG(955, *YYCURSOR);
11110
2.68k
    ++YYCURSOR;
11111
2.68k
    YYFILL(1);
11112
2.68k
    yych = *YYCURSOR;
11113
2.68k
    if (yych <= 'M') {
11114
569
      if (yych <= 0x00) goto yy86;
11115
375
      if (yych == '*') goto yy668;
11116
345
      goto yy590;
11117
2.11k
    } else {
11118
2.11k
      if (yych <= 'N') goto yy959;
11119
1.15k
      if (yych == 'n') goto yy959;
11120
286
      goto yy590;
11121
1.15k
    }
11122
9.68k
yy956:
11123
9.68k
    YYDEBUG(956, *YYCURSOR);
11124
9.68k
    ++YYCURSOR;
11125
9.68k
    YYFILL(1);
11126
9.68k
    yych = *YYCURSOR;
11127
9.68k
    if (yych <= '/') {
11128
7.26k
      if (yych <= '\f') {
11129
4.30k
        if (yych <= 0x00) goto yy875;
11130
4.08k
        if (yych == '\n') goto yy961;
11131
503
        goto yy960;
11132
4.08k
      } else {
11133
2.95k
        if (yych <= '\r') goto yy961;
11134
2.18k
        if (yych == '*') goto yy962;
11135
576
        goto yy960;
11136
2.18k
      }
11137
7.26k
    } else {
11138
2.42k
      if (yych <= '^') {
11139
863
        if (yych <= '9') goto yy808;
11140
626
        if (yych <= '@') goto yy960;
11141
390
        if (yych <= 'Z') goto yy808;
11142
119
        goto yy960;
11143
1.56k
      } else {
11144
1.56k
        if (yych <= '`') {
11145
352
          if (yych <= '_') goto yy808;
11146
85
          goto yy960;
11147
1.21k
        } else {
11148
1.21k
          if (yych <= 'z') goto yy808;
11149
948
          if (yych <= 0x7F) goto yy960;
11150
317
          goto yy808;
11151
948
        }
11152
1.56k
      }
11153
2.42k
    }
11154
4.87k
yy957:
11155
4.87k
    YYDEBUG(957, *YYCURSOR);
11156
4.87k
    ++YYCURSOR;
11157
4.87k
    YYFILL(1);
11158
4.87k
    yych = *YYCURSOR;
11159
4.87k
    if (yych <= ')') {
11160
1.79k
      if (yych <= '\n') {
11161
618
        if (yych <= 0x00) goto yy86;
11162
402
        if (yych <= '\t') goto yy738;
11163
200
        goto yy787;
11164
1.17k
      } else {
11165
1.17k
        if (yych == '\r') goto yy787;
11166
418
        goto yy738;
11167
1.17k
      }
11168
3.07k
    } else {
11169
3.07k
      if (yych <= 'S') {
11170
1.79k
        if (yych <= '*') goto yy789;
11171
1.67k
        if (yych <= 'R') goto yy738;
11172
296
        goto yy963;
11173
1.67k
      } else {
11174
1.28k
        if (yych == 's') goto yy963;
11175
819
        goto yy738;
11176
1.28k
      }
11177
3.07k
    }
11178
7.32k
yy958:
11179
7.32k
    YYDEBUG(958, *YYCURSOR);
11180
7.32k
    ++YYCURSOR;
11181
7.32k
    YYFILL(1);
11182
7.32k
    yych = *YYCURSOR;
11183
7.32k
    if (yych <= ')') {
11184
728
      if (yych <= '\n') {
11185
445
        if (yych <= 0x00) goto yy86;
11186
369
        if (yych <= '\t') goto yy738;
11187
296
        goto yy787;
11188
369
      } else {
11189
283
        if (yych == '\r') goto yy787;
11190
191
        goto yy738;
11191
283
      }
11192
6.60k
    } else {
11193
6.60k
      if (yych <= 'E') {
11194
1.52k
        if (yych <= '*') goto yy789;
11195
1.04k
        if (yych <= 'D') goto yy738;
11196
833
        goto yy964;
11197
5.07k
      } else {
11198
5.07k
        if (yych == 'e') goto yy964;
11199
234
        goto yy738;
11200
5.07k
      }
11201
6.60k
    }
11202
1.83k
yy959:
11203
1.83k
    YYDEBUG(959, *YYCURSOR);
11204
1.83k
    ++YYCURSOR;
11205
1.83k
    YYFILL(1);
11206
1.83k
    yych = *YYCURSOR;
11207
1.83k
    if (yych <= 'S') {
11208
1.12k
      if (yych <= 0x00) goto yy86;
11209
971
      if (yych == '*') goto yy668;
11210
654
      goto yy590;
11211
971
    } else {
11212
707
      if (yych <= 'T') goto yy945;
11213
515
      if (yych == 't') goto yy945;
11214
174
      goto yy590;
11215
515
    }
11216
2.15k
yy960:
11217
2.15k
    YYDEBUG(960, *YYCURSOR);
11218
2.15k
    yyaccept = 91;
11219
2.15k
    YYMARKER = ++YYCURSOR;
11220
2.15k
    YYFILL(1);
11221
2.15k
    yych = *YYCURSOR;
11222
2.15k
    if (yych <= '\f') {
11223
520
      if (yych <= 0x00) goto yy876;
11224
344
      if (yych == '\n') goto yy846;
11225
282
      goto yy808;
11226
1.63k
    } else {
11227
1.63k
      if (yych <= '\r') goto yy846;
11228
1.39k
      if (yych == '*') goto yy848;
11229
546
      goto yy808;
11230
1.39k
    }
11231
4.36k
yy961:
11232
4.36k
    YYDEBUG(961, *YYCURSOR);
11233
4.36k
    yyaccept = 91;
11234
4.36k
    YYMARKER = ++YYCURSOR;
11235
4.36k
    YYFILL(1);
11236
4.36k
    yych = *YYCURSOR;
11237
4.36k
    if (yych <= '#') {
11238
2.83k
      if (yych <= '\f') {
11239
743
        if (yych <= 0x00) goto yy876;
11240
492
        if (yych <= 0x08) goto yy696;
11241
478
        if (yych <= '\n') goto yy846;
11242
233
        goto yy696;
11243
2.08k
      } else {
11244
2.08k
        if (yych <= 0x1F) {
11245
466
          if (yych <= '\r') goto yy846;
11246
69
          goto yy696;
11247
1.62k
        } else {
11248
1.62k
          if (yych <= ' ') goto yy846;
11249
1.47k
          if (yych <= '"') goto yy696;
11250
916
          goto yy877;
11251
1.47k
        }
11252
2.08k
      }
11253
2.83k
    } else {
11254
1.53k
      if (yych <= '/') {
11255
311
        if (yych == '*') goto yy760;
11256
104
        if (yych <= '.') goto yy696;
11257
50
        goto yy878;
11258
1.21k
      } else {
11259
1.21k
        if (yych <= 'F') {
11260
397
          if (yych <= 'E') goto yy696;
11261
205
          goto yy879;
11262
822
        } else {
11263
822
          if (yych == 'f') goto yy879;
11264
648
          goto yy696;
11265
822
        }
11266
1.21k
      }
11267
1.53k
    }
11268
1.60k
yy962:
11269
1.60k
    YYDEBUG(962, *YYCURSOR);
11270
1.60k
    yyaccept = 91;
11271
1.60k
    YYMARKER = ++YYCURSOR;
11272
1.60k
    YYFILL(1);
11273
1.60k
    yych = *YYCURSOR;
11274
1.60k
    if (yych <= '\r') {
11275
1.24k
      if (yych <= '\t') {
11276
400
        if (yych <= 0x00) goto yy876;
11277
327
        goto yy808;
11278
846
      } else {
11279
846
        if (yych <= '\n') goto yy846;
11280
549
        if (yych <= '\f') goto yy808;
11281
381
        goto yy846;
11282
549
      }
11283
1.24k
    } else {
11284
358
      if (yych <= '*') {
11285
204
        if (yych <= ')') goto yy808;
11286
68
        goto yy848;
11287
204
      } else {
11288
154
        if (yych == '/') goto yy694;
11289
86
        goto yy808;
11290
154
      }
11291
358
    }
11292
758
yy963:
11293
758
    YYDEBUG(963, *YYCURSOR);
11294
758
    yyaccept = 94;
11295
758
    YYMARKER = ++YYCURSOR;
11296
758
    YYFILL(1);
11297
758
    yych = *YYCURSOR;
11298
758
    if (yych <= '\f') {
11299
442
      if (yych <= 0x00) goto yy886;
11300
441
      if (yych == '\n') goto yy787;
11301
234
      goto yy738;
11302
441
    } else {
11303
316
      if (yych <= '\r') goto yy787;
11304
151
      if (yych == '*') goto yy789;
11305
81
      goto yy738;
11306
151
    }
11307
5.67k
yy964:
11308
5.67k
    YYDEBUG(964, *YYCURSOR);
11309
5.67k
    ++YYCURSOR;
11310
5.67k
    YYFILL(1);
11311
5.67k
    yych = *YYCURSOR;
11312
5.67k
    if (yych <= ')') {
11313
1.56k
      if (yych <= '\n') {
11314
1.10k
        if (yych <= 0x00) goto yy86;
11315
863
        if (yych <= '\t') goto yy738;
11316
179
        goto yy787;
11317
863
      } else {
11318
465
        if (yych == '\r') goto yy787;
11319
193
        goto yy738;
11320
465
      }
11321
4.10k
    } else {
11322
4.10k
      if (yych <= 'N') {
11323
1.13k
        if (yych <= '*') goto yy789;
11324
1.09k
        if (yych <= 'M') goto yy738;
11325
2.97k
      } else {
11326
2.97k
        if (yych != 'n') goto yy738;
11327
2.97k
      }
11328
4.10k
    }
11329
3.69k
    YYDEBUG(965, *YYCURSOR);
11330
3.69k
    ++YYCURSOR;
11331
3.69k
    YYFILL(1);
11332
3.69k
    yych = *YYCURSOR;
11333
3.69k
    if (yych <= ')') {
11334
806
      if (yych <= '\n') {
11335
625
        if (yych <= 0x00) goto yy86;
11336
427
        if (yych <= '\t') goto yy738;
11337
238
        goto yy787;
11338
427
      } else {
11339
181
        if (yych == '\r') goto yy787;
11340
170
        goto yy738;
11341
181
      }
11342
2.88k
    } else {
11343
2.88k
      if (yych <= 'T') {
11344
477
        if (yych <= '*') goto yy789;
11345
294
        if (yych <= 'S') goto yy738;
11346
197
        goto yy957;
11347
2.41k
      } else {
11348
2.41k
        if (yych == 't') goto yy957;
11349
468
        goto yy738;
11350
2.41k
      }
11351
2.88k
    }
11352
3.69k
  }
11353
/* *********************************** */
11354
394k
yyc_ST_LOOKING_FOR_PROPERTY:
11355
394k
  {
11356
394k
    static const unsigned char yybm[] = {
11357
394k
        0,   0,   0,   0,   0,   0,   0,   0, 
11358
394k
        0,  64,  64,   0,   0,  64,   0,   0, 
11359
394k
        0,   0,   0,   0,   0,   0,   0,   0, 
11360
394k
        0,   0,   0,   0,   0,   0,   0,   0, 
11361
394k
       64,   0,   0,   0,   0,   0,   0,   0, 
11362
394k
        0,   0,   0,   0,   0,   0,   0,   0, 
11363
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11364
394k
      128, 128,   0,   0,   0,   0,   0,   0, 
11365
394k
        0, 128, 128, 128, 128, 128, 128, 128, 
11366
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11367
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11368
394k
      128, 128, 128,   0,   0,   0,   0, 128, 
11369
394k
        0, 128, 128, 128, 128, 128, 128, 128, 
11370
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11371
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11372
394k
      128, 128, 128,   0,   0,   0,   0,   0, 
11373
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11374
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11375
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11376
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11377
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11378
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11379
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11380
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11381
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11382
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11383
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11384
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11385
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11386
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11387
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11388
394k
      128, 128, 128, 128, 128, 128, 128, 128, 
11389
394k
    };
11390
394k
    YYDEBUG(966, *YYCURSOR);
11391
394k
    YYFILL(4);
11392
394k
    yych = *YYCURSOR;
11393
394k
    if (yybm[0+yych] & 64) {
11394
8.64k
      goto yy970;
11395
8.64k
    }
11396
385k
    if (yych <= '?') {
11397
125k
      if (yych <= '-') {
11398
44.9k
        if (yych == '#') goto yy973;
11399
40.3k
        if (yych >= '-') goto yy975;
11400
80.8k
      } else {
11401
80.8k
        if (yych == '/') goto yy976;
11402
70.5k
        if (yych >= '?') goto yy977;
11403
70.5k
      }
11404
259k
    } else {
11405
259k
      if (yych <= '_') {
11406
34.2k
        if (yych <= '@') goto yy968;
11407
33.6k
        if (yych <= 'Z') goto yy978;
11408
19.0k
        if (yych >= '_') goto yy978;
11409
225k
      } else {
11410
225k
        if (yych <= '`') goto yy968;
11411
224k
        if (yych <= 'z') goto yy978;
11412
20.8k
        if (yych >= 0x80) goto yy978;
11413
20.8k
      }
11414
259k
    }
11415
30.9k
yy968:
11416
30.9k
    YYDEBUG(968, *YYCURSOR);
11417
30.9k
    ++YYCURSOR;
11418
33.3k
yy969:
11419
33.3k
    YYDEBUG(969, *YYCURSOR);
11420
33.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11421
33.3k
#line 2549 "Zend/zend_language_scanner.l"
11422
33.3k
    {
11423
33.3k
  yyless(0);
11424
33.3k
  yy_pop_state();
11425
33.3k
  goto restart;
11426
30.9k
}
11427
0
#line 11428 "Zend/zend_language_scanner.c"
11428
15.6k
yy970:
11429
15.6k
    YYDEBUG(970, *YYCURSOR);
11430
15.6k
    ++YYCURSOR;
11431
15.6k
    YYFILL(1);
11432
15.6k
    yych = *YYCURSOR;
11433
15.6k
    YYDEBUG(971, *YYCURSOR);
11434
15.6k
    if (yybm[0+yych] & 64) {
11435
6.99k
      goto yy970;
11436
6.99k
    }
11437
8.64k
    YYDEBUG(972, *YYCURSOR);
11438
8.64k
    yyleng = YYCURSOR - SCNG(yy_text);
11439
8.64k
#line 1626 "Zend/zend_language_scanner.l"
11440
8.64k
    {
11441
8.64k
  goto return_whitespace;
11442
15.6k
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
7.90k
yy973:
11445
7.90k
    YYDEBUG(973, *YYCURSOR);
11446
7.90k
    ++YYCURSOR;
11447
7.90k
    YYDEBUG(974, *YYCURSOR);
11448
7.90k
    yyleng = YYCURSOR - SCNG(yy_text);
11449
7.90k
#line 2489 "Zend/zend_language_scanner.l"
11450
7.90k
    {
11451
304k
  while (YYCURSOR < YYLIMIT) {
11452
303k
    switch (*YYCURSOR++) {
11453
1.11k
      case '\r':
11454
6.88k
      case '\n':
11455
6.88k
        YYCURSOR--;
11456
6.88k
        break;
11457
4.49k
      case '?':
11458
4.49k
        if (*YYCURSOR == '>') {
11459
374
          YYCURSOR--;
11460
374
          break;
11461
374
        }
11462
4.12k
        ZEND_FALLTHROUGH;
11463
296k
      default:
11464
296k
        continue;
11465
303k
    }
11466
11467
7.25k
    break;
11468
303k
  }
11469
11470
7.90k
  yyleng = YYCURSOR - SCNG(yy_text);
11471
7.90k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11472
7.90k
}
11473
0
#line 11474 "Zend/zend_language_scanner.c"
11474
28.6k
yy975:
11475
28.6k
    YYDEBUG(975, *YYCURSOR);
11476
28.6k
    yych = *++YYCURSOR;
11477
28.6k
    if (yych == '>') goto yy981;
11478
360
    goto yy969;
11479
10.2k
yy976:
11480
10.2k
    YYDEBUG(976, *YYCURSOR);
11481
10.2k
    yych = *++YYCURSOR;
11482
10.2k
    if (yych == '*') goto yy983;
11483
4.25k
    if (yych == '/') goto yy973;
11484
896
    goto yy969;
11485
69.1k
yy977:
11486
69.1k
    YYDEBUG(977, *YYCURSOR);
11487
69.1k
    yyaccept = 0;
11488
69.1k
    yych = *(YYMARKER = ++YYCURSOR);
11489
69.1k
    if (yych == '-') goto yy985;
11490
931
    goto yy969;
11491
1.12M
yy978:
11492
1.12M
    YYDEBUG(978, *YYCURSOR);
11493
1.12M
    ++YYCURSOR;
11494
1.12M
    YYFILL(1);
11495
1.12M
    yych = *YYCURSOR;
11496
1.12M
    YYDEBUG(979, *YYCURSOR);
11497
1.12M
    if (yybm[0+yych] & 128) {
11498
882k
      goto yy978;
11499
882k
    }
11500
241k
    YYDEBUG(980, *YYCURSOR);
11501
241k
    yyleng = YYCURSOR - SCNG(yy_text);
11502
241k
#line 1638 "Zend/zend_language_scanner.l"
11503
241k
    {
11504
241k
  yy_pop_state();
11505
241k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11506
241k
}
11507
0
#line 11508 "Zend/zend_language_scanner.c"
11508
28.2k
yy981:
11509
28.2k
    YYDEBUG(981, *YYCURSOR);
11510
28.2k
    ++YYCURSOR;
11511
28.2k
    YYDEBUG(982, *YYCURSOR);
11512
28.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11513
28.2k
#line 1630 "Zend/zend_language_scanner.l"
11514
28.2k
    {
11515
28.2k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11516
28.2k
}
11517
0
#line 11518 "Zend/zend_language_scanner.c"
11518
5.99k
yy983:
11519
5.99k
    YYDEBUG(983, *YYCURSOR);
11520
5.99k
    yyaccept = 1;
11521
5.99k
    yych = *(YYMARKER = ++YYCURSOR);
11522
5.99k
    if (yych == '*') goto yy987;
11523
5.99k
yy984:
11524
5.99k
    YYDEBUG(984, *YYCURSOR);
11525
5.99k
    yyleng = YYCURSOR - SCNG(yy_text);
11526
5.99k
#line 2513 "Zend/zend_language_scanner.l"
11527
5.99k
    {
11528
5.99k
  int doc_com;
11529
11530
5.99k
  if (yyleng > 2) {
11531
2.71k
    doc_com = 1;
11532
2.71k
    RESET_DOC_COMMENT();
11533
3.27k
  } else {
11534
3.27k
    doc_com = 0;
11535
3.27k
  }
11536
11537
308k
  while (YYCURSOR < YYLIMIT) {
11538
307k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11539
4.97k
      break;
11540
4.97k
    }
11541
307k
  }
11542
11543
5.99k
  if (YYCURSOR < YYLIMIT) {
11544
4.97k
    YYCURSOR++;
11545
4.97k
  } else {
11546
1.02k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11547
1.02k
    if (PARSER_MODE()) {
11548
61
      RETURN_TOKEN(T_ERROR);
11549
61
    }
11550
1.02k
  }
11551
11552
5.92k
  yyleng = YYCURSOR - SCNG(yy_text);
11553
5.92k
  HANDLE_NEWLINES(yytext, yyleng);
11554
11555
5.92k
  if (doc_com) {
11556
2.68k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11557
2.68k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11558
2.68k
  }
11559
11560
3.24k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11561
3.24k
}
11562
0
#line 11563 "Zend/zend_language_scanner.c"
11563
68.1k
yy985:
11564
68.1k
    YYDEBUG(985, *YYCURSOR);
11565
68.1k
    yych = *++YYCURSOR;
11566
68.1k
    if (yych == '>') goto yy988;
11567
2.23k
yy986:
11568
2.23k
    YYDEBUG(986, *YYCURSOR);
11569
2.23k
    YYCURSOR = YYMARKER;
11570
2.23k
    if (yyaccept == 0) {
11571
273
      goto yy969;
11572
1.96k
    } else {
11573
1.96k
      goto yy984;
11574
1.96k
    }
11575
4.67k
yy987:
11576
4.67k
    YYDEBUG(987, *YYCURSOR);
11577
4.67k
    yych = *++YYCURSOR;
11578
4.67k
    if (yych <= '\f') {
11579
2.47k
      if (yych <= 0x08) goto yy986;
11580
2.26k
      if (yych <= '\n') goto yy990;
11581
547
      goto yy986;
11582
2.26k
    } else {
11583
2.19k
      if (yych <= '\r') goto yy990;
11584
1.70k
      if (yych == ' ') goto yy990;
11585
1.20k
      goto yy986;
11586
1.70k
    }
11587
67.9k
yy988:
11588
67.9k
    YYDEBUG(988, *YYCURSOR);
11589
67.9k
    ++YYCURSOR;
11590
67.9k
    YYDEBUG(989, *YYCURSOR);
11591
67.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11592
67.9k
#line 1634 "Zend/zend_language_scanner.l"
11593
67.9k
    {
11594
67.9k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11595
67.9k
}
11596
0
#line 11597 "Zend/zend_language_scanner.c"
11597
3.75k
yy990:
11598
3.75k
    YYDEBUG(990, *YYCURSOR);
11599
3.75k
    ++YYCURSOR;
11600
3.75k
    YYFILL(1);
11601
3.75k
    yych = *YYCURSOR;
11602
3.75k
    YYDEBUG(991, *YYCURSOR);
11603
3.75k
    if (yych <= '\f') {
11604
1.05k
      if (yych <= 0x08) goto yy984;
11605
818
      if (yych <= '\n') goto yy990;
11606
518
      goto yy984;
11607
2.70k
    } else {
11608
2.70k
      if (yych <= '\r') goto yy990;
11609
2.31k
      if (yych == ' ') goto yy990;
11610
1.96k
      goto yy984;
11611
2.31k
    }
11612
3.75k
  }
11613
/* *********************************** */
11614
184k
yyc_ST_BACKQUOTE:
11615
184k
  {
11616
184k
    static const unsigned char yybm[] = {
11617
184k
        0,   0,   0,   0,   0,   0,   0,   0, 
11618
184k
        0,   0,   0,   0,   0,   0,   0,   0, 
11619
184k
        0,   0,   0,   0,   0,   0,   0,   0, 
11620
184k
        0,   0,   0,   0,   0,   0,   0,   0, 
11621
184k
        0,   0,   0,   0,   0,   0,   0,   0, 
11622
184k
        0,   0,   0,   0,   0,   0,   0,   0, 
11623
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11624
184k
      128, 128,   0,   0,   0,   0,   0,   0, 
11625
184k
        0, 128, 128, 128, 128, 128, 128, 128, 
11626
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11627
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11628
184k
      128, 128, 128,   0,   0,   0,   0, 128, 
11629
184k
        0, 128, 128, 128, 128, 128, 128, 128, 
11630
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11631
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11632
184k
      128, 128, 128,   0,   0,   0,   0,   0, 
11633
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11634
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11635
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11636
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11637
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11638
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11639
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11640
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11641
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11642
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11643
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11644
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11645
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11646
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11647
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11648
184k
      128, 128, 128, 128, 128, 128, 128, 128, 
11649
184k
    };
11650
184k
    YYDEBUG(992, *YYCURSOR);
11651
184k
    YYFILL(2);
11652
184k
    yych = *YYCURSOR;
11653
184k
    if (yych <= '_') {
11654
146k
      if (yych == '$') goto yy996;
11655
146k
    } else {
11656
38.1k
      if (yych <= '`') goto yy997;
11657
13.7k
      if (yych == '{') goto yy999;
11658
13.7k
    }
11659
85.2k
    YYDEBUG(994, *YYCURSOR);
11660
85.2k
    ++YYCURSOR;
11661
88.9k
yy995:
11662
88.9k
    YYDEBUG(995, *YYCURSOR);
11663
88.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11664
88.9k
#line 2948 "Zend/zend_language_scanner.l"
11665
88.9k
    {
11666
88.9k
  if (YYCURSOR > YYLIMIT) {
11667
5.92k
    RETURN_END_TOKEN;
11668
5.92k
  }
11669
82.9k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11670
2.57k
    YYCURSOR++;
11671
2.57k
  }
11672
11673
3.82M
  while (YYCURSOR < YYLIMIT) {
11674
3.82M
    switch (*YYCURSOR++) {
11675
13.0k
      case '`':
11676
13.0k
        break;
11677
77.3k
      case '$':
11678
77.3k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11679
63.0k
          break;
11680
63.0k
        }
11681
14.2k
        continue;
11682
19.3k
      case '{':
11683
19.3k
        if (*YYCURSOR == '$') {
11684
1.16k
          break;
11685
1.16k
        }
11686
18.2k
        continue;
11687
26.6k
      case '\\':
11688
26.6k
        if (YYCURSOR < YYLIMIT) {
11689
25.9k
          YYCURSOR++;
11690
25.9k
        }
11691
26.6k
        ZEND_FALLTHROUGH;
11692
3.71M
      default:
11693
3.71M
        continue;
11694
3.82M
    }
11695
11696
77.2k
    YYCURSOR--;
11697
77.2k
    break;
11698
3.82M
  }
11699
11700
82.9k
  yyleng = YYCURSOR - SCNG(yy_text);
11701
11702
82.9k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11703
82.9k
   || !PARSER_MODE()) {
11704
82.9k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11705
82.9k
  } else {
11706
9
    RETURN_TOKEN(T_ERROR);
11707
9
  }
11708
82.9k
}
11709
0
#line 11710 "Zend/zend_language_scanner.c"
11710
72.0k
yy996:
11711
72.0k
    YYDEBUG(996, *YYCURSOR);
11712
72.0k
    yych = *++YYCURSOR;
11713
72.0k
    if (yych <= '_') {
11714
8.05k
      if (yych <= '@') goto yy995;
11715
6.82k
      if (yych <= 'Z') goto yy1000;
11716
2.64k
      if (yych <= '^') goto yy995;
11717
2.05k
      goto yy1000;
11718
63.9k
    } else {
11719
63.9k
      if (yych <= 'z') {
11720
37.7k
        if (yych <= '`') goto yy995;
11721
37.4k
        goto yy1000;
11722
37.7k
      } else {
11723
26.2k
        if (yych <= '{') goto yy1003;
11724
8.69k
        if (yych <= 0x7F) goto yy995;
11725
8.42k
        goto yy1000;
11726
8.69k
      }
11727
63.9k
    }
11728
24.3k
yy997:
11729
24.3k
    YYDEBUG(997, *YYCURSOR);
11730
24.3k
    ++YYCURSOR;
11731
24.3k
    YYDEBUG(998, *YYCURSOR);
11732
24.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
24.3k
#line 2888 "Zend/zend_language_scanner.l"
11734
24.3k
    {
11735
24.3k
  BEGIN(ST_IN_SCRIPTING);
11736
24.3k
  RETURN_TOKEN('`');
11737
24.3k
}
11738
0
#line 11739 "Zend/zend_language_scanner.c"
11739
2.49k
yy999:
11740
2.49k
    YYDEBUG(999, *YYCURSOR);
11741
2.49k
    yych = *++YYCURSOR;
11742
2.49k
    if (yych == '$') goto yy1005;
11743
1.23k
    goto yy995;
11744
198k
yy1000:
11745
198k
    YYDEBUG(1000, *YYCURSOR);
11746
198k
    YYMARKER = ++YYCURSOR;
11747
198k
    YYFILL(4);
11748
198k
    yych = *YYCURSOR;
11749
198k
    YYDEBUG(1001, *YYCURSOR);
11750
198k
    if (yybm[0+yych] & 128) {
11751
146k
      goto yy1000;
11752
146k
    }
11753
52.1k
    if (yych <= '>') {
11754
36.9k
      if (yych == '-') goto yy1007;
11755
36.9k
    } else {
11756
15.1k
      if (yych <= '?') goto yy1009;
11757
5.60k
      if (yych <= '@') goto yy1002;
11758
5.38k
      if (yych <= '[') goto yy1010;
11759
5.38k
    }
11760
41.6k
yy1002:
11761
41.6k
    YYDEBUG(1002, *YYCURSOR);
11762
41.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11763
41.6k
#line 2446 "Zend/zend_language_scanner.l"
11764
41.6k
    {
11765
41.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11766
41.6k
}
11767
0
#line 11768 "Zend/zend_language_scanner.c"
11768
17.5k
yy1003:
11769
17.5k
    YYDEBUG(1003, *YYCURSOR);
11770
17.5k
    ++YYCURSOR;
11771
17.5k
    YYDEBUG(1004, *YYCURSOR);
11772
17.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11773
17.5k
#line 2010 "Zend/zend_language_scanner.l"
11774
17.5k
    {
11775
17.5k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11776
17.5k
  enter_nesting('{');
11777
17.5k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11778
17.5k
}
11779
0
#line 11780 "Zend/zend_language_scanner.c"
11780
1.25k
yy1005:
11781
1.25k
    YYDEBUG(1005, *YYCURSOR);
11782
1.25k
    ++YYCURSOR;
11783
1.25k
    YYDEBUG(1006, *YYCURSOR);
11784
1.25k
    yyleng = YYCURSOR - SCNG(yy_text);
11785
1.25k
#line 2875 "Zend/zend_language_scanner.l"
11786
1.25k
    {
11787
1.25k
  yy_push_state(ST_IN_SCRIPTING);
11788
1.25k
  yyless(1);
11789
1.25k
  enter_nesting('{');
11790
1.25k
  RETURN_TOKEN(T_CURLY_OPEN);
11791
1.25k
}
11792
0
#line 11793 "Zend/zend_language_scanner.c"
11793
8.50k
yy1007:
11794
8.50k
    YYDEBUG(1007, *YYCURSOR);
11795
8.50k
    yych = *++YYCURSOR;
11796
8.50k
    if (yych == '>') goto yy1012;
11797
9.96k
yy1008:
11798
9.96k
    YYDEBUG(1008, *YYCURSOR);
11799
9.96k
    YYCURSOR = YYMARKER;
11800
9.96k
    goto yy1002;
11801
9.56k
yy1009:
11802
9.56k
    YYDEBUG(1009, *YYCURSOR);
11803
9.56k
    yych = *++YYCURSOR;
11804
9.56k
    if (yych == '-') goto yy1013;
11805
3.99k
    goto yy1008;
11806
3.99k
yy1010:
11807
2.34k
    YYDEBUG(1010, *YYCURSOR);
11808
2.34k
    ++YYCURSOR;
11809
2.34k
    YYDEBUG(1011, *YYCURSOR);
11810
2.34k
    yyleng = YYCURSOR - SCNG(yy_text);
11811
2.34k
#line 2440 "Zend/zend_language_scanner.l"
11812
2.34k
    {
11813
2.34k
  yyless(yyleng - 1);
11814
2.34k
  yy_push_state(ST_VAR_OFFSET);
11815
2.34k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11816
2.34k
}
11817
0
#line 11818 "Zend/zend_language_scanner.c"
11818
6.46k
yy1012:
11819
6.46k
    YYDEBUG(1012, *YYCURSOR);
11820
6.46k
    yych = *++YYCURSOR;
11821
6.46k
    if (yych <= '_') {
11822
2.49k
      if (yych <= '@') goto yy1008;
11823
1.79k
      if (yych <= 'Z') goto yy1014;
11824
1.00k
      if (yych <= '^') goto yy1008;
11825
689
      goto yy1014;
11826
3.97k
    } else {
11827
3.97k
      if (yych <= '`') goto yy1008;
11828
3.75k
      if (yych <= 'z') goto yy1014;
11829
1.73k
      if (yych <= 0x7F) goto yy1008;
11830
1.18k
      goto yy1014;
11831
1.73k
    }
11832
5.57k
yy1013:
11833
5.57k
    YYDEBUG(1013, *YYCURSOR);
11834
5.57k
    yych = *++YYCURSOR;
11835
5.57k
    if (yych == '>') goto yy1016;
11836
501
    goto yy1008;
11837
4.68k
yy1014:
11838
4.68k
    YYDEBUG(1014, *YYCURSOR);
11839
4.68k
    ++YYCURSOR;
11840
4.68k
    YYDEBUG(1015, *YYCURSOR);
11841
4.68k
    yyleng = YYCURSOR - SCNG(yy_text);
11842
4.68k
#line 2426 "Zend/zend_language_scanner.l"
11843
4.68k
    {
11844
4.68k
  yyless(yyleng - 3);
11845
4.68k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11846
4.68k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11847
4.68k
}
11848
0
#line 11849 "Zend/zend_language_scanner.c"
11849
5.07k
yy1016:
11850
5.07k
    YYDEBUG(1016, *YYCURSOR);
11851
5.07k
    yych = *++YYCURSOR;
11852
5.07k
    if (yych <= '_') {
11853
1.48k
      if (yych <= '@') goto yy1008;
11854
677
      if (yych <= 'Z') goto yy1017;
11855
504
      if (yych <= '^') goto yy1008;
11856
3.58k
    } else {
11857
3.58k
      if (yych <= '`') goto yy1008;
11858
3.32k
      if (yych <= 'z') goto yy1017;
11859
675
      if (yych <= 0x7F) goto yy1008;
11860
675
    }
11861
3.42k
yy1017:
11862
3.42k
    YYDEBUG(1017, *YYCURSOR);
11863
3.42k
    ++YYCURSOR;
11864
3.42k
    YYDEBUG(1018, *YYCURSOR);
11865
3.42k
    yyleng = YYCURSOR - SCNG(yy_text);
11866
3.42k
#line 2432 "Zend/zend_language_scanner.l"
11867
3.42k
    {
11868
3.42k
  yyless(yyleng - 4);
11869
3.42k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11870
3.42k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11871
3.42k
}
11872
3.42k
#line 11873 "Zend/zend_language_scanner.c"
11873
3.42k
  }
11874
/* *********************************** */
11875
620k
yyc_ST_DOUBLE_QUOTES:
11876
620k
  {
11877
620k
    static const unsigned char yybm[] = {
11878
620k
        0,   0,   0,   0,   0,   0,   0,   0, 
11879
620k
        0,   0,   0,   0,   0,   0,   0,   0, 
11880
620k
        0,   0,   0,   0,   0,   0,   0,   0, 
11881
620k
        0,   0,   0,   0,   0,   0,   0,   0, 
11882
620k
        0,   0,   0,   0,   0,   0,   0,   0, 
11883
620k
        0,   0,   0,   0,   0,   0,   0,   0, 
11884
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11885
620k
      128, 128,   0,   0,   0,   0,   0,   0, 
11886
620k
        0, 128, 128, 128, 128, 128, 128, 128, 
11887
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11888
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11889
620k
      128, 128, 128,   0,   0,   0,   0, 128, 
11890
620k
        0, 128, 128, 128, 128, 128, 128, 128, 
11891
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11892
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11893
620k
      128, 128, 128,   0,   0,   0,   0,   0, 
11894
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11895
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11896
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11897
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11898
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11899
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11900
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11901
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11902
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11903
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11904
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11905
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11906
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11907
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11908
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11909
620k
      128, 128, 128, 128, 128, 128, 128, 128, 
11910
620k
    };
11911
620k
    YYDEBUG(1019, *YYCURSOR);
11912
620k
    YYFILL(2);
11913
620k
    yych = *YYCURSOR;
11914
620k
    if (yych <= '#') {
11915
126k
      if (yych == '"') goto yy1023;
11916
493k
    } else {
11917
493k
      if (yych <= '$') goto yy1025;
11918
235k
      if (yych == '{') goto yy1026;
11919
235k
    }
11920
304k
    YYDEBUG(1021, *YYCURSOR);
11921
304k
    ++YYCURSOR;
11922
309k
yy1022:
11923
309k
    YYDEBUG(1022, *YYCURSOR);
11924
309k
    yyleng = YYCURSOR - SCNG(yy_text);
11925
309k
#line 2894 "Zend/zend_language_scanner.l"
11926
309k
    {
11927
309k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11928
95.3k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11929
95.3k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11930
11931
95.3k
    goto double_quotes_scan_done;
11932
95.3k
  }
11933
11934
214k
  if (YYCURSOR > YYLIMIT) {
11935
12.8k
    RETURN_END_TOKEN;
11936
12.8k
  }
11937
201k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11938
9.30k
    YYCURSOR++;
11939
9.30k
  }
11940
11941
6.12M
  while (YYCURSOR < YYLIMIT) {
11942
6.12M
    switch (*YYCURSOR++) {
11943
44.5k
      case '"':
11944
44.5k
        break;
11945
176k
      case '$':
11946
176k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11947
151k
          break;
11948
151k
        }
11949
25.2k
        continue;
11950
25.2k
      case '{':
11951
20.7k
        if (*YYCURSOR == '$') {
11952
2.05k
          break;
11953
2.05k
        }
11954
18.7k
        continue;
11955
53.5k
      case '\\':
11956
53.5k
        if (YYCURSOR < YYLIMIT) {
11957
53.2k
          YYCURSOR++;
11958
53.2k
        }
11959
53.5k
        ZEND_FALLTHROUGH;
11960
5.88M
      default:
11961
5.88M
        continue;
11962
6.12M
    }
11963
11964
198k
    YYCURSOR--;
11965
198k
    break;
11966
6.12M
  }
11967
11968
296k
double_quotes_scan_done:
11969
296k
  yyleng = YYCURSOR - SCNG(yy_text);
11970
11971
296k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11972
296k
   || !PARSER_MODE()) {
11973
296k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11974
296k
  } else {
11975
54
    RETURN_TOKEN(T_ERROR);
11976
54
  }
11977
296k
}
11978
0
#line 11979 "Zend/zend_language_scanner.c"
11979
49.8k
yy1023:
11980
49.8k
    YYDEBUG(1023, *YYCURSOR);
11981
49.8k
    ++YYCURSOR;
11982
49.8k
    YYDEBUG(1024, *YYCURSOR);
11983
49.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11984
49.8k
#line 2883 "Zend/zend_language_scanner.l"
11985
49.8k
    {
11986
49.8k
  BEGIN(ST_IN_SCRIPTING);
11987
49.8k
  RETURN_TOKEN('"');
11988
49.8k
}
11989
0
#line 11990 "Zend/zend_language_scanner.c"
11990
257k
yy1025:
11991
257k
    YYDEBUG(1025, *YYCURSOR);
11992
257k
    yych = *++YYCURSOR;
11993
257k
    if (yych <= '_') {
11994
24.9k
      if (yych <= '@') goto yy1022;
11995
22.8k
      if (yych <= 'Z') goto yy1027;
11996
4.72k
      if (yych <= '^') goto yy1022;
11997
4.32k
      goto yy1027;
11998
232k
    } else {
11999
232k
      if (yych <= 'z') {
12000
169k
        if (yych <= '`') goto yy1022;
12001
169k
        goto yy1027;
12002
169k
      } else {
12003
63.2k
        if (yych <= '{') goto yy1030;
12004
20.6k
        if (yych <= 0x7F) goto yy1022;
12005
20.2k
        goto yy1027;
12006
20.6k
      }
12007
232k
    }
12008
7.83k
yy1026:
12009
7.83k
    YYDEBUG(1026, *YYCURSOR);
12010
7.83k
    yych = *++YYCURSOR;
12011
7.83k
    if (yych == '$') goto yy1032;
12012
1.75k
    goto yy1022;
12013
711k
yy1027:
12014
711k
    YYDEBUG(1027, *YYCURSOR);
12015
711k
    YYMARKER = ++YYCURSOR;
12016
711k
    YYFILL(4);
12017
711k
    yych = *YYCURSOR;
12018
711k
    YYDEBUG(1028, *YYCURSOR);
12019
711k
    if (yybm[0+yych] & 128) {
12020
499k
      goto yy1027;
12021
499k
    }
12022
212k
    if (yych <= '>') {
12023
128k
      if (yych == '-') goto yy1034;
12024
128k
    } else {
12025
83.9k
      if (yych <= '?') goto yy1036;
12026
20.3k
      if (yych <= '@') goto yy1029;
12027
19.9k
      if (yych <= '[') goto yy1037;
12028
19.9k
    }
12029
168k
yy1029:
12030
168k
    YYDEBUG(1029, *YYCURSOR);
12031
168k
    yyleng = YYCURSOR - SCNG(yy_text);
12032
168k
#line 2446 "Zend/zend_language_scanner.l"
12033
168k
    {
12034
168k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12035
168k
}
12036
0
#line 12037 "Zend/zend_language_scanner.c"
12037
42.6k
yy1030:
12038
42.6k
    YYDEBUG(1030, *YYCURSOR);
12039
42.6k
    ++YYCURSOR;
12040
42.6k
    YYDEBUG(1031, *YYCURSOR);
12041
42.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12042
42.6k
#line 2010 "Zend/zend_language_scanner.l"
12043
42.6k
    {
12044
42.6k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12045
42.6k
  enter_nesting('{');
12046
42.6k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12047
42.6k
}
12048
0
#line 12049 "Zend/zend_language_scanner.c"
12049
6.07k
yy1032:
12050
6.07k
    YYDEBUG(1032, *YYCURSOR);
12051
6.07k
    ++YYCURSOR;
12052
6.07k
    YYDEBUG(1033, *YYCURSOR);
12053
6.07k
    yyleng = YYCURSOR - SCNG(yy_text);
12054
6.07k
#line 2875 "Zend/zend_language_scanner.l"
12055
6.07k
    {
12056
6.07k
  yy_push_state(ST_IN_SCRIPTING);
12057
6.07k
  yyless(1);
12058
6.07k
  enter_nesting('{');
12059
6.07k
  RETURN_TOKEN(T_CURLY_OPEN);
12060
6.07k
}
12061
0
#line 12062 "Zend/zend_language_scanner.c"
12062
20.0k
yy1034:
12063
20.0k
    YYDEBUG(1034, *YYCURSOR);
12064
20.0k
    yych = *++YYCURSOR;
12065
20.0k
    if (yych == '>') goto yy1039;
12066
46.1k
yy1035:
12067
46.1k
    YYDEBUG(1035, *YYCURSOR);
12068
46.1k
    YYCURSOR = YYMARKER;
12069
46.1k
    goto yy1029;
12070
63.5k
yy1036:
12071
63.5k
    YYDEBUG(1036, *YYCURSOR);
12072
63.5k
    yych = *++YYCURSOR;
12073
63.5k
    if (yych == '-') goto yy1040;
12074
33.7k
    goto yy1035;
12075
33.7k
yy1037:
12076
6.21k
    YYDEBUG(1037, *YYCURSOR);
12077
6.21k
    ++YYCURSOR;
12078
6.21k
    YYDEBUG(1038, *YYCURSOR);
12079
6.21k
    yyleng = YYCURSOR - SCNG(yy_text);
12080
6.21k
#line 2440 "Zend/zend_language_scanner.l"
12081
6.21k
    {
12082
6.21k
  yyless(yyleng - 1);
12083
6.21k
  yy_push_state(ST_VAR_OFFSET);
12084
6.21k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12085
6.21k
}
12086
0
#line 12087 "Zend/zend_language_scanner.c"
12087
15.3k
yy1039:
12088
15.3k
    YYDEBUG(1039, *YYCURSOR);
12089
15.3k
    yych = *++YYCURSOR;
12090
15.3k
    if (yych <= '_') {
12091
8.68k
      if (yych <= '@') goto yy1035;
12092
7.67k
      if (yych <= 'Z') goto yy1041;
12093
303
      if (yych <= '^') goto yy1035;
12094
184
      goto yy1041;
12095
6.68k
    } else {
12096
6.68k
      if (yych <= '`') goto yy1035;
12097
6.07k
      if (yych <= 'z') goto yy1041;
12098
2.16k
      if (yych <= 0x7F) goto yy1035;
12099
621
      goto yy1041;
12100
2.16k
    }
12101
29.7k
yy1040:
12102
29.7k
    YYDEBUG(1040, *YYCURSOR);
12103
29.7k
    yych = *++YYCURSOR;
12104
29.7k
    if (yych == '>') goto yy1043;
12105
1.11k
    goto yy1035;
12106
12.0k
yy1041:
12107
12.0k
    YYDEBUG(1041, *YYCURSOR);
12108
12.0k
    ++YYCURSOR;
12109
12.0k
    YYDEBUG(1042, *YYCURSOR);
12110
12.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12111
12.0k
#line 2426 "Zend/zend_language_scanner.l"
12112
12.0k
    {
12113
12.0k
  yyless(yyleng - 3);
12114
12.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12115
12.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12116
12.0k
}
12117
0
#line 12118 "Zend/zend_language_scanner.c"
12118
28.6k
yy1043:
12119
28.6k
    YYDEBUG(1043, *YYCURSOR);
12120
28.6k
    yych = *++YYCURSOR;
12121
28.6k
    if (yych <= '_') {
12122
3.38k
      if (yych <= '@') goto yy1035;
12123
2.03k
      if (yych <= 'Z') goto yy1044;
12124
1.75k
      if (yych <= '^') goto yy1035;
12125
25.2k
    } else {
12126
25.2k
      if (yych <= '`') goto yy1035;
12127
24.6k
      if (yych <= 'z') goto yy1044;
12128
1.37k
      if (yych <= 0x7F) goto yy1035;
12129
1.37k
    }
12130
25.3k
yy1044:
12131
25.3k
    YYDEBUG(1044, *YYCURSOR);
12132
25.3k
    ++YYCURSOR;
12133
25.3k
    YYDEBUG(1045, *YYCURSOR);
12134
25.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12135
25.3k
#line 2432 "Zend/zend_language_scanner.l"
12136
25.3k
    {
12137
25.3k
  yyless(yyleng - 4);
12138
25.3k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12139
25.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12140
25.3k
}
12141
25.3k
#line 12142 "Zend/zend_language_scanner.c"
12142
25.3k
  }
12143
/* *********************************** */
12144
4.91M
yyc_ST_HEREDOC:
12145
4.91M
  {
12146
4.91M
    static const unsigned char yybm[] = {
12147
4.91M
        0,   0,   0,   0,   0,   0,   0,   0, 
12148
4.91M
        0,   0,   0,   0,   0,   0,   0,   0, 
12149
4.91M
        0,   0,   0,   0,   0,   0,   0,   0, 
12150
4.91M
        0,   0,   0,   0,   0,   0,   0,   0, 
12151
4.91M
        0,   0,   0,   0,   0,   0,   0,   0, 
12152
4.91M
        0,   0,   0,   0,   0,   0,   0,   0, 
12153
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12154
4.91M
      128, 128,   0,   0,   0,   0,   0,   0, 
12155
4.91M
        0, 128, 128, 128, 128, 128, 128, 128, 
12156
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12157
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12158
4.91M
      128, 128, 128,   0,   0,   0,   0, 128, 
12159
4.91M
        0, 128, 128, 128, 128, 128, 128, 128, 
12160
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12161
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12162
4.91M
      128, 128, 128,   0,   0,   0,   0,   0, 
12163
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12164
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12165
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12166
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12167
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12168
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12169
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12170
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12171
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12172
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12173
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12174
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12175
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12176
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12177
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12178
4.91M
      128, 128, 128, 128, 128, 128, 128, 128, 
12179
4.91M
    };
12180
4.91M
    YYDEBUG(1046, *YYCURSOR);
12181
4.91M
    YYFILL(2);
12182
4.91M
    yych = *YYCURSOR;
12183
4.91M
    if (yych == '$') goto yy1050;
12184
1.02M
    if (yych == '{') goto yy1051;
12185
953k
    YYDEBUG(1048, *YYCURSOR);
12186
953k
    ++YYCURSOR;
12187
1.16M
yy1049:
12188
1.16M
    YYDEBUG(1049, *YYCURSOR);
12189
1.16M
    yyleng = YYCURSOR - SCNG(yy_text);
12190
1.16M
#line 2994 "Zend/zend_language_scanner.l"
12191
1.16M
    {
12192
1.16M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12193
1.16M
  int newline = 0, indentation = 0, spacing = 0;
12194
12195
1.16M
  if (YYCURSOR > YYLIMIT) {
12196
21.5k
    RETURN_END_TOKEN;
12197
21.5k
  }
12198
12199
1.14M
  YYCURSOR--;
12200
12201
28.1M
  while (YYCURSOR < YYLIMIT) {
12202
28.1M
    switch (*YYCURSOR++) {
12203
164k
      case '\r':
12204
164k
        if (*YYCURSOR == '\n') {
12205
19.5k
          YYCURSOR++;
12206
19.5k
        }
12207
164k
        ZEND_FALLTHROUGH;
12208
1.55M
      case '\n':
12209
1.55M
        indentation = spacing = 0;
12210
12211
2.22M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12212
675k
          if (*YYCURSOR == '\t') {
12213
8.74k
            spacing |= HEREDOC_USING_TABS;
12214
666k
          } else {
12215
666k
            spacing |= HEREDOC_USING_SPACES;
12216
666k
          }
12217
675k
          ++YYCURSOR;
12218
675k
          ++indentation;
12219
675k
        }
12220
12221
1.55M
        if (YYCURSOR == YYLIMIT) {
12222
1.94k
          yyleng = YYCURSOR - SCNG(yy_text);
12223
1.94k
          HANDLE_NEWLINES(yytext, yyleng);
12224
1.94k
          ZVAL_NULL(zendlval);
12225
1.94k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12226
1.94k
        }
12227
12228
        /* Check for ending label on the next line */
12229
1.55M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12230
29.2k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12231
14.0k
            continue;
12232
14.0k
          }
12233
12234
15.1k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12235
43
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12236
43
            if (PARSER_MODE()) {
12237
13
              RETURN_TOKEN(T_ERROR);
12238
13
            }
12239
43
          }
12240
12241
          /* newline before label will be subtracted from returned text, but
12242
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12243
15.1k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12244
303
            newline = 2; /* Windows newline */
12245
14.8k
          } else {
12246
14.8k
            newline = 1;
12247
14.8k
          }
12248
12249
15.1k
          CG(increment_lineno) = 1; /* For newline before label */
12250
12251
15.1k
          if (SCNG(heredoc_scan_ahead)) {
12252
9.03k
            SCNG(heredoc_indentation) = indentation;
12253
9.03k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12254
9.03k
          } else {
12255
6.07k
            YYCURSOR -= indentation;
12256
6.07k
          }
12257
12258
15.1k
          BEGIN(ST_END_HEREDOC);
12259
12260
15.1k
          goto heredoc_scan_done;
12261
15.1k
        }
12262
1.52M
        continue;
12263
1.52M
      case '$':
12264
1.42M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12265
1.09M
          break;
12266
1.09M
        }
12267
331k
        continue;
12268
331k
      case '{':
12269
328k
        if (*YYCURSOR == '$') {
12270
12.7k
          break;
12271
12.7k
        }
12272
315k
        continue;
12273
315k
      case '\\':
12274
110k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12275
107k
          YYCURSOR++;
12276
107k
        }
12277
110k
        ZEND_FALLTHROUGH;
12278
24.8M
      default:
12279
24.8M
        continue;
12280
28.1M
    }
12281
12282
1.10M
    YYCURSOR--;
12283
1.10M
    break;
12284
28.1M
  }
12285
12286
1.13M
heredoc_scan_done:
12287
12288
1.13M
  yyleng = YYCURSOR - SCNG(yy_text);
12289
1.13M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12290
12291
1.13M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12292
111k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12293
111k
    zend_string *copy = Z_STR_P(zendlval);
12294
12295
111k
    if (!strip_multiline_string_indentation(
12296
111k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12297
111k
        newline_at_start, newline != 0)) {
12298
52
      RETURN_TOKEN(T_ERROR);
12299
52
    }
12300
12301
111k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12302
8
      zend_string_efree(copy);
12303
8
      RETURN_TOKEN(T_ERROR);
12304
8
    }
12305
12306
111k
    zend_string_efree(copy);
12307
1.02M
  } else {
12308
1.02M
    HANDLE_NEWLINES(yytext, yyleng - newline);
12309
1.02M
  }
12310
12311
1.13M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12312
1.13M
}
12313
0
#line 12314 "Zend/zend_language_scanner.c"
12314
3.89M
yy1050:
12315
3.89M
    YYDEBUG(1050, *YYCURSOR);
12316
3.89M
    yych = *++YYCURSOR;
12317
3.89M
    if (yych <= '_') {
12318
181k
      if (yych <= '@') goto yy1049;
12319
38.2k
      if (yych <= 'Z') goto yy1052;
12320
16.3k
      if (yych <= '^') goto yy1049;
12321
5.43k
      goto yy1052;
12322
3.71M
    } else {
12323
3.71M
      if (yych <= 'z') {
12324
316k
        if (yych <= '`') goto yy1049;
12325
315k
        goto yy1052;
12326
3.39M
      } else {
12327
3.39M
        if (yych <= '{') goto yy1055;
12328
216k
        if (yych <= 0x7F) goto yy1049;
12329
208k
        goto yy1052;
12330
216k
      }
12331
3.71M
    }
12332
72.6k
yy1051:
12333
72.6k
    YYDEBUG(1051, *YYCURSOR);
12334
72.6k
    yych = *++YYCURSOR;
12335
72.6k
    if (yych == '$') goto yy1057;
12336
46.5k
    goto yy1049;
12337
1.88M
yy1052:
12338
1.88M
    YYDEBUG(1052, *YYCURSOR);
12339
1.88M
    YYMARKER = ++YYCURSOR;
12340
1.88M
    YYFILL(4);
12341
1.88M
    yych = *YYCURSOR;
12342
1.88M
    YYDEBUG(1053, *YYCURSOR);
12343
1.88M
    if (yybm[0+yych] & 128) {
12344
1.33M
      goto yy1052;
12345
1.33M
    }
12346
550k
    if (yych <= '>') {
12347
395k
      if (yych == '-') goto yy1059;
12348
395k
    } else {
12349
155k
      if (yych <= '?') goto yy1061;
12350
46.5k
      if (yych <= '@') goto yy1054;
12351
45.5k
      if (yych <= '[') goto yy1062;
12352
45.5k
    }
12353
485k
yy1054:
12354
485k
    YYDEBUG(1054, *YYCURSOR);
12355
485k
    yyleng = YYCURSOR - SCNG(yy_text);
12356
485k
#line 2446 "Zend/zend_language_scanner.l"
12357
485k
    {
12358
485k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12359
485k
}
12360
0
#line 12361 "Zend/zend_language_scanner.c"
12361
3.17M
yy1055:
12362
3.17M
    YYDEBUG(1055, *YYCURSOR);
12363
3.17M
    ++YYCURSOR;
12364
3.17M
    YYDEBUG(1056, *YYCURSOR);
12365
3.17M
    yyleng = YYCURSOR - SCNG(yy_text);
12366
3.17M
#line 2010 "Zend/zend_language_scanner.l"
12367
3.17M
    {
12368
3.17M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12369
3.17M
  enter_nesting('{');
12370
3.17M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12371
3.17M
}
12372
0
#line 12373 "Zend/zend_language_scanner.c"
12373
26.0k
yy1057:
12374
26.0k
    YYDEBUG(1057, *YYCURSOR);
12375
26.0k
    ++YYCURSOR;
12376
26.0k
    YYDEBUG(1058, *YYCURSOR);
12377
26.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12378
26.0k
#line 2875 "Zend/zend_language_scanner.l"
12379
26.0k
    {
12380
26.0k
  yy_push_state(ST_IN_SCRIPTING);
12381
26.0k
  yyless(1);
12382
26.0k
  enter_nesting('{');
12383
26.0k
  RETURN_TOKEN(T_CURLY_OPEN);
12384
26.0k
}
12385
0
#line 12386 "Zend/zend_language_scanner.c"
12386
22.8k
yy1059:
12387
22.8k
    YYDEBUG(1059, *YYCURSOR);
12388
22.8k
    yych = *++YYCURSOR;
12389
22.8k
    if (yych == '>') goto yy1064;
12390
81.0k
yy1060:
12391
81.0k
    YYDEBUG(1060, *YYCURSOR);
12392
81.0k
    YYCURSOR = YYMARKER;
12393
81.0k
    goto yy1054;
12394
108k
yy1061:
12395
108k
    YYDEBUG(1061, *YYCURSOR);
12396
108k
    yych = *++YYCURSOR;
12397
108k
    if (yych == '-') goto yy1065;
12398
59.6k
    goto yy1060;
12399
59.6k
yy1062:
12400
14.6k
    YYDEBUG(1062, *YYCURSOR);
12401
14.6k
    ++YYCURSOR;
12402
14.6k
    YYDEBUG(1063, *YYCURSOR);
12403
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12404
14.6k
#line 2440 "Zend/zend_language_scanner.l"
12405
14.6k
    {
12406
14.6k
  yyless(yyleng - 1);
12407
14.6k
  yy_push_state(ST_VAR_OFFSET);
12408
14.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12409
14.6k
}
12410
0
#line 12411 "Zend/zend_language_scanner.c"
12411
19.0k
yy1064:
12412
19.0k
    YYDEBUG(1064, *YYCURSOR);
12413
19.0k
    yych = *++YYCURSOR;
12414
19.0k
    if (yych <= '_') {
12415
5.53k
      if (yych <= '@') goto yy1060;
12416
2.85k
      if (yych <= 'Z') goto yy1066;
12417
848
      if (yych <= '^') goto yy1060;
12418
704
      goto yy1066;
12419
13.5k
    } else {
12420
13.5k
      if (yych <= '`') goto yy1060;
12421
9.38k
      if (yych <= 'z') goto yy1066;
12422
1.49k
      if (yych <= 0x7F) goto yy1060;
12423
670
      goto yy1066;
12424
1.49k
    }
12425
48.8k
yy1065:
12426
48.8k
    YYDEBUG(1065, *YYCURSOR);
12427
48.8k
    yych = *++YYCURSOR;
12428
48.8k
    if (yych == '>') goto yy1068;
12429
2.70k
    goto yy1060;
12430
11.2k
yy1066:
12431
11.2k
    YYDEBUG(1066, *YYCURSOR);
12432
11.2k
    ++YYCURSOR;
12433
11.2k
    YYDEBUG(1067, *YYCURSOR);
12434
11.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12435
11.2k
#line 2426 "Zend/zend_language_scanner.l"
12436
11.2k
    {
12437
11.2k
  yyless(yyleng - 3);
12438
11.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12439
11.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12440
11.2k
}
12441
0
#line 12442 "Zend/zend_language_scanner.c"
12442
46.1k
yy1068:
12443
46.1k
    YYDEBUG(1068, *YYCURSOR);
12444
46.1k
    yych = *++YYCURSOR;
12445
46.1k
    if (yych <= '_') {
12446
6.87k
      if (yych <= '@') goto yy1060;
12447
899
      if (yych <= 'Z') goto yy1069;
12448
800
      if (yych <= '^') goto yy1060;
12449
39.2k
    } else {
12450
39.2k
      if (yych <= '`') goto yy1060;
12451
38.8k
      if (yych <= 'z') goto yy1069;
12452
1.27k
      if (yych <= 0x7F) goto yy1060;
12453
1.27k
    }
12454
39.1k
yy1069:
12455
39.1k
    YYDEBUG(1069, *YYCURSOR);
12456
39.1k
    ++YYCURSOR;
12457
39.1k
    YYDEBUG(1070, *YYCURSOR);
12458
39.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12459
39.1k
#line 2432 "Zend/zend_language_scanner.l"
12460
39.1k
    {
12461
39.1k
  yyless(yyleng - 4);
12462
39.1k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12463
39.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12464
39.1k
}
12465
39.1k
#line 12466 "Zend/zend_language_scanner.c"
12466
39.1k
  }
12467
/* *********************************** */
12468
3.23M
yyc_ST_LOOKING_FOR_VARNAME:
12469
3.23M
  {
12470
3.23M
    static const unsigned char yybm[] = {
12471
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12472
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12473
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12474
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12475
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12476
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12477
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12478
3.23M
      128, 128,   0,   0,   0,   0,   0,   0, 
12479
3.23M
        0, 128, 128, 128, 128, 128, 128, 128, 
12480
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12481
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12482
3.23M
      128, 128, 128,   0,   0,   0,   0, 128, 
12483
3.23M
        0, 128, 128, 128, 128, 128, 128, 128, 
12484
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12485
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12486
3.23M
      128, 128, 128,   0,   0,   0,   0,   0, 
12487
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12488
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12489
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12490
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12491
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12492
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12493
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12494
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12495
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12496
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12497
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12498
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12499
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12500
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12501
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12502
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12503
3.23M
    };
12504
3.23M
    YYDEBUG(1071, *YYCURSOR);
12505
3.23M
    YYFILL(2);
12506
3.23M
    yych = *YYCURSOR;
12507
3.23M
    if (yych <= '_') {
12508
3.13M
      if (yych <= '@') goto yy1073;
12509
19.1k
      if (yych <= 'Z') goto yy1075;
12510
9.00k
      if (yych >= '_') goto yy1075;
12511
104k
    } else {
12512
104k
      if (yych <= '`') goto yy1073;
12513
101k
      if (yych <= 'z') goto yy1075;
12514
30.0k
      if (yych >= 0x80) goto yy1075;
12515
30.0k
    }
12516
3.12M
yy1073:
12517
3.12M
    YYDEBUG(1073, *YYCURSOR);
12518
3.12M
    ++YYCURSOR;
12519
3.22M
yy1074:
12520
3.22M
    YYDEBUG(1074, *YYCURSOR);
12521
3.22M
    yyleng = YYCURSOR - SCNG(yy_text);
12522
3.22M
#line 2033 "Zend/zend_language_scanner.l"
12523
3.22M
    {
12524
3.22M
  yyless(0);
12525
3.22M
  yy_pop_state();
12526
3.22M
  yy_push_state(ST_IN_SCRIPTING);
12527
3.22M
  goto restart;
12528
3.12M
}
12529
0
#line 12530 "Zend/zend_language_scanner.c"
12530
112k
yy1075:
12531
112k
    YYDEBUG(1075, *YYCURSOR);
12532
112k
    yych = *(YYMARKER = ++YYCURSOR);
12533
112k
    if (yych <= '_') {
12534
40.3k
      if (yych <= '@') {
12535
23.4k
        if (yych <= '/') goto yy1074;
12536
13.3k
        if (yych <= '9') goto yy1077;
12537
12.2k
        goto yy1074;
12538
16.9k
      } else {
12539
16.9k
        if (yych <= '[') goto yy1077;
12540
7.09k
        if (yych <= '^') goto yy1074;
12541
6.29k
        goto yy1077;
12542
7.09k
      }
12543
72.5k
    } else {
12544
72.5k
      if (yych <= '|') {
12545
59.0k
        if (yych <= '`') goto yy1074;
12546
58.8k
        if (yych <= 'z') goto yy1077;
12547
848
        goto yy1074;
12548
58.8k
      } else {
12549
13.5k
        if (yych <= '}') goto yy1077;
12550
12.8k
        if (yych <= 0x7F) goto yy1074;
12551
12.6k
        goto yy1077;
12552
12.8k
      }
12553
72.5k
    }
12554
433k
yy1076:
12555
433k
    YYDEBUG(1076, *YYCURSOR);
12556
433k
    ++YYCURSOR;
12557
433k
    YYFILL(1);
12558
433k
    yych = *YYCURSOR;
12559
521k
yy1077:
12560
521k
    YYDEBUG(1077, *YYCURSOR);
12561
521k
    if (yybm[0+yych] & 128) {
12562
433k
      goto yy1076;
12563
433k
    }
12564
88.3k
    if (yych <= '@') goto yy1078;
12565
23.3k
    if (yych <= '[') goto yy1079;
12566
22.0k
    if (yych == '}') goto yy1079;
12567
72.8k
yy1078:
12568
72.8k
    YYDEBUG(1078, *YYCURSOR);
12569
72.8k
    YYCURSOR = YYMARKER;
12570
72.8k
    goto yy1074;
12571
15.5k
yy1079:
12572
15.5k
    YYDEBUG(1079, *YYCURSOR);
12573
15.5k
    ++YYCURSOR;
12574
15.5k
    YYDEBUG(1080, *YYCURSOR);
12575
15.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12576
15.5k
#line 2025 "Zend/zend_language_scanner.l"
12577
15.5k
    {
12578
15.5k
  yyless(yyleng - 1);
12579
15.5k
  yy_pop_state();
12580
15.5k
  yy_push_state(ST_IN_SCRIPTING);
12581
15.5k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12582
15.5k
}
12583
15.5k
#line 12584 "Zend/zend_language_scanner.c"
12584
15.5k
  }
12585
/* *********************************** */
12586
208k
yyc_ST_VAR_OFFSET:
12587
208k
  {
12588
208k
    static const unsigned char yybm[] = {
12589
208k
        0,   0,   0,   0,   0,   0,   0,   0, 
12590
208k
        0,   0,   0,   0,   0,   0,   0,   0, 
12591
208k
        0,   0,   0,   0,   0,   0,   0,   0, 
12592
208k
        0,   0,   0,   0,   0,   0,   0,   0, 
12593
208k
        0,   0,   0,   0,   0,   0,   0,   0, 
12594
208k
        0,   0,   0,   0,   0,   0,   0,   0, 
12595
208k
      248, 248, 216, 216, 216, 216, 216, 216, 
12596
208k
      152, 152,   0,   0,   0,   0,   0,   0, 
12597
208k
        0, 144, 144, 144, 144, 144, 144,  16, 
12598
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12599
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12600
208k
       16,  16,  16,   0,   0,   0,   0,  16, 
12601
208k
        0, 144, 144, 144, 144, 144, 144,  16, 
12602
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12603
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12604
208k
       16,  16,  16,   0,   0,   0,   0,   0, 
12605
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12606
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12607
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12608
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12609
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12610
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12611
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12612
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12613
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12614
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12615
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12616
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12617
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12618
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12619
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12620
208k
       16,  16,  16,  16,  16,  16,  16,  16, 
12621
208k
    };
12622
208k
    YYDEBUG(1081, *YYCURSOR);
12623
208k
    YYFILL(2);
12624
208k
    yych = *YYCURSOR;
12625
208k
    if (yych <= '0') {
12626
98.2k
      if (yych <= ' ') {
12627
33.8k
        if (yych <= '\f') {
12628
25.5k
          if (yych <= 0x08) goto yy1083;
12629
5.19k
          if (yych <= '\n') goto yy1085;
12630
8.23k
        } else {
12631
8.23k
          if (yych <= '\r') goto yy1085;
12632
7.76k
          if (yych >= ' ') goto yy1085;
12633
7.76k
        }
12634
64.4k
      } else {
12635
64.4k
        if (yych <= '$') {
12636
22.8k
          if (yych <= '"') goto yy1087;
12637
18.4k
          if (yych <= '#') goto yy1085;
12638
17.9k
          goto yy1089;
12639
41.5k
        } else {
12640
41.5k
          if (yych == '\'') goto yy1085;
12641
40.4k
          if (yych <= '/') goto yy1087;
12642
18.5k
          goto yy1090;
12643
40.4k
        }
12644
64.4k
      }
12645
109k
    } else {
12646
109k
      if (yych <= ']') {
12647
77.0k
        if (yych <= 'Z') {
12648
36.4k
          if (yych <= '9') goto yy1092;
12649
29.0k
          if (yych <= '@') goto yy1087;
12650
5.32k
          goto yy1094;
12651
40.5k
        } else {
12652
40.5k
          if (yych <= '[') goto yy1087;
12653
13.0k
          if (yych <= '\\') goto yy1085;
12654
12.7k
          goto yy1097;
12655
13.0k
        }
12656
77.0k
      } else {
12657
32.7k
        if (yych <= '`') {
12658
6.17k
          if (yych == '_') goto yy1094;
12659
3.28k
          goto yy1087;
12660
26.5k
        } else {
12661
26.5k
          if (yych <= 'z') goto yy1094;
12662
13.6k
          if (yych <= '~') goto yy1087;
12663
8.53k
          if (yych >= 0x80) goto yy1094;
12664
8.53k
        }
12665
32.7k
      }
12666
109k
    }
12667
29.1k
yy1083:
12668
29.1k
    YYDEBUG(1083, *YYCURSOR);
12669
29.1k
    ++YYCURSOR;
12670
29.1k
    YYDEBUG(1084, *YYCURSOR);
12671
29.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12672
29.1k
#line 3209 "Zend/zend_language_scanner.l"
12673
29.1k
    {
12674
29.1k
  if (YYCURSOR > YYLIMIT) {
12675
1.44k
    RETURN_END_TOKEN;
12676
1.44k
  }
12677
12678
27.6k
  RETURN_TOKEN(T_BAD_CHARACTER);
12679
27.6k
}
12680
0
#line 12681 "Zend/zend_language_scanner.c"
12681
8.51k
yy1085:
12682
8.51k
    YYDEBUG(1085, *YYCURSOR);
12683
8.51k
    ++YYCURSOR;
12684
8.51k
    YYDEBUG(1086, *YYCURSOR);
12685
8.51k
    yyleng = YYCURSOR - SCNG(yy_text);
12686
8.51k
#line 2460 "Zend/zend_language_scanner.l"
12687
8.51k
    {
12688
  /* Invalid rule to return a more explicit parse error with proper line number */
12689
8.51k
  yyless(0);
12690
8.51k
  yy_pop_state();
12691
8.51k
  ZVAL_NULL(zendlval);
12692
8.51k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12693
8.51k
}
12694
0
#line 12695 "Zend/zend_language_scanner.c"
12695
85.9k
yy1087:
12696
85.9k
    YYDEBUG(1087, *YYCURSOR);
12697
85.9k
    ++YYCURSOR;
12698
94.2k
yy1088:
12699
94.2k
    YYDEBUG(1088, *YYCURSOR);
12700
94.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12701
94.2k
#line 2455 "Zend/zend_language_scanner.l"
12702
94.2k
    {
12703
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12704
94.2k
  RETURN_TOKEN(yytext[0]);
12705
94.2k
}
12706
0
#line 12707 "Zend/zend_language_scanner.c"
12707
17.9k
yy1089:
12708
17.9k
    YYDEBUG(1089, *YYCURSOR);
12709
17.9k
    yych = *++YYCURSOR;
12710
17.9k
    if (yych <= '_') {
12711
7.62k
      if (yych <= '@') goto yy1088;
12712
2.18k
      if (yych <= 'Z') goto yy1099;
12713
1.09k
      if (yych <= '^') goto yy1088;
12714
484
      goto yy1099;
12715
10.2k
    } else {
12716
10.2k
      if (yych <= '`') goto yy1088;
12717
10.0k
      if (yych <= 'z') goto yy1099;
12718
3.63k
      if (yych <= 0x7F) goto yy1088;
12719
1.68k
      goto yy1099;
12720
3.63k
    }
12721
18.5k
yy1090:
12722
18.5k
    YYDEBUG(1090, *YYCURSOR);
12723
18.5k
    yyaccept = 0;
12724
18.5k
    yych = *(YYMARKER = ++YYCURSOR);
12725
18.5k
    if (yych <= 'X') {
12726
10.5k
      if (yych <= 'B') {
12727
8.68k
        if (yych <= '/') goto yy1091;
12728
5.98k
        if (yych <= '9') goto yy1102;
12729
4.08k
        if (yych >= 'B') goto yy1105;
12730
4.08k
      } else {
12731
1.81k
        if (yych == 'O') goto yy1107;
12732
1.18k
        if (yych >= 'X') goto yy1108;
12733
1.18k
      }
12734
10.5k
    } else {
12735
8.07k
      if (yych <= 'b') {
12736
4.76k
        if (yych == '_') goto yy1109;
12737
3.47k
        if (yych >= 'b') goto yy1105;
12738
3.47k
      } else {
12739
3.31k
        if (yych <= 'o') {
12740
1.08k
          if (yych >= 'o') goto yy1107;
12741
2.23k
        } else {
12742
2.23k
          if (yych == 'x') goto yy1108;
12743
2.23k
        }
12744
3.31k
      }
12745
8.07k
    }
12746
20.1k
yy1091:
12747
20.1k
    YYDEBUG(1091, *YYCURSOR);
12748
20.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12749
20.1k
#line 2237 "Zend/zend_language_scanner.l"
12750
20.1k
    { /* Offset could be treated as a long */
12751
20.1k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12752
19.3k
    char *end;
12753
19.3k
    errno = 0;
12754
19.3k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12755
19.3k
    if (errno == ERANGE) {
12756
0
      goto string;
12757
0
    }
12758
19.3k
    ZEND_ASSERT(end == yytext + yyleng);
12759
19.3k
  } else {
12760
822
string:
12761
822
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12762
822
  }
12763
20.1k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12764
20.1k
}
12765
0
#line 12766 "Zend/zend_language_scanner.c"
12766
40.8k
yy1092:
12767
40.8k
    YYDEBUG(1092, *YYCURSOR);
12768
40.8k
    yyaccept = 0;
12769
40.8k
    YYMARKER = ++YYCURSOR;
12770
40.8k
    YYFILL(1);
12771
40.8k
    yych = *YYCURSOR;
12772
40.8k
    YYDEBUG(1093, *YYCURSOR);
12773
40.8k
    if (yybm[0+yych] & 8) {
12774
33.4k
      goto yy1092;
12775
33.4k
    }
12776
7.38k
    if (yych == '_') goto yy1109;
12777
6.95k
    goto yy1091;
12778
96.3k
yy1094:
12779
96.3k
    YYDEBUG(1094, *YYCURSOR);
12780
96.3k
    ++YYCURSOR;
12781
96.3k
    YYFILL(1);
12782
96.3k
    yych = *YYCURSOR;
12783
96.3k
    YYDEBUG(1095, *YYCURSOR);
12784
96.3k
    if (yybm[0+yych] & 16) {
12785
68.6k
      goto yy1094;
12786
68.6k
    }
12787
27.7k
    YYDEBUG(1096, *YYCURSOR);
12788
27.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12789
27.7k
#line 2484 "Zend/zend_language_scanner.l"
12790
27.7k
    {
12791
27.7k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12792
27.7k
}
12793
0
#line 12794 "Zend/zend_language_scanner.c"
12794
12.7k
yy1097:
12795
12.7k
    YYDEBUG(1097, *YYCURSOR);
12796
12.7k
    ++YYCURSOR;
12797
12.7k
    YYDEBUG(1098, *YYCURSOR);
12798
12.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
12.7k
#line 2450 "Zend/zend_language_scanner.l"
12800
12.7k
    {
12801
12.7k
  yy_pop_state();
12802
12.7k
  RETURN_TOKEN(']');
12803
12.7k
}
12804
0
#line 12805 "Zend/zend_language_scanner.c"
12805
29.8k
yy1099:
12806
29.8k
    YYDEBUG(1099, *YYCURSOR);
12807
29.8k
    ++YYCURSOR;
12808
29.8k
    YYFILL(1);
12809
29.8k
    yych = *YYCURSOR;
12810
29.8k
    YYDEBUG(1100, *YYCURSOR);
12811
29.8k
    if (yych <= '^') {
12812
14.0k
      if (yych <= '9') {
12813
5.60k
        if (yych >= '0') goto yy1099;
12814
8.48k
      } else {
12815
8.48k
        if (yych <= '@') goto yy1101;
12816
6.41k
        if (yych <= 'Z') goto yy1099;
12817
6.41k
      }
12818
15.7k
    } else {
12819
15.7k
      if (yych <= '`') {
12820
1.03k
        if (yych <= '_') goto yy1099;
12821
14.7k
      } else {
12822
14.7k
        if (yych <= 'z') goto yy1099;
12823
7.03k
        if (yych >= 0x80) goto yy1099;
12824
7.03k
      }
12825
15.7k
    }
12826
9.64k
yy1101:
12827
9.64k
    YYDEBUG(1101, *YYCURSOR);
12828
9.64k
    yyleng = YYCURSOR - SCNG(yy_text);
12829
9.64k
#line 2446 "Zend/zend_language_scanner.l"
12830
9.64k
    {
12831
9.64k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12832
9.64k
}
12833
0
#line 12834 "Zend/zend_language_scanner.c"
12834
4.75k
yy1102:
12835
4.75k
    YYDEBUG(1102, *YYCURSOR);
12836
4.75k
    yyaccept = 1;
12837
4.75k
    YYMARKER = ++YYCURSOR;
12838
4.75k
    YYFILL(1);
12839
4.75k
    yych = *YYCURSOR;
12840
4.75k
    YYDEBUG(1103, *YYCURSOR);
12841
4.75k
    if (yych <= '/') goto yy1104;
12842
4.18k
    if (yych <= '9') goto yy1102;
12843
2.12k
    if (yych == '_') goto yy1109;
12844
5.77k
yy1104:
12845
5.77k
    YYDEBUG(1104, *YYCURSOR);
12846
5.77k
    yyleng = YYCURSOR - SCNG(yy_text);
12847
5.77k
#line 2253 "Zend/zend_language_scanner.l"
12848
5.77k
    { /* Offset must be treated as a string */
12849
5.77k
  if (yyleng == 1) {
12850
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12851
5.77k
  } else {
12852
5.77k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12853
5.77k
  }
12854
5.77k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12855
5.77k
}
12856
0
#line 12857 "Zend/zend_language_scanner.c"
12857
3.65k
yy1105:
12858
3.65k
    YYDEBUG(1105, *YYCURSOR);
12859
3.65k
    ++YYCURSOR;
12860
3.65k
    YYFILL(1);
12861
3.65k
    yych = *YYCURSOR;
12862
3.65k
    if (yybm[0+yych] & 32) {
12863
2.57k
      goto yy1110;
12864
2.57k
    }
12865
3.90k
yy1106:
12866
3.90k
    YYDEBUG(1106, *YYCURSOR);
12867
3.90k
    YYCURSOR = YYMARKER;
12868
3.90k
    if (yyaccept == 0) {
12869
2.77k
      goto yy1091;
12870
2.77k
    } else {
12871
1.13k
      goto yy1104;
12872
1.13k
    }
12873
980
yy1107:
12874
980
    YYDEBUG(1107, *YYCURSOR);
12875
980
    ++YYCURSOR;
12876
980
    YYFILL(1);
12877
980
    yych = *YYCURSOR;
12878
980
    if (yybm[0+yych] & 64) {
12879
535
      goto yy1112;
12880
535
    }
12881
445
    goto yy1106;
12882
1.79k
yy1108:
12883
1.79k
    YYDEBUG(1108, *YYCURSOR);
12884
1.79k
    ++YYCURSOR;
12885
1.79k
    YYFILL(1);
12886
1.79k
    yych = *YYCURSOR;
12887
1.79k
    if (yybm[0+yych] & 128) {
12888
857
      goto yy1114;
12889
857
    }
12890
935
    goto yy1106;
12891
2.24k
yy1109:
12892
2.24k
    YYDEBUG(1109, *YYCURSOR);
12893
2.24k
    ++YYCURSOR;
12894
2.24k
    YYFILL(1);
12895
2.24k
    yych = *YYCURSOR;
12896
2.24k
    if (yych <= '/') goto yy1106;
12897
1.38k
    if (yych <= '9') goto yy1102;
12898
590
    goto yy1106;
12899
2.93k
yy1110:
12900
2.93k
    YYDEBUG(1110, *YYCURSOR);
12901
2.93k
    yyaccept = 1;
12902
2.93k
    YYMARKER = ++YYCURSOR;
12903
2.93k
    YYFILL(1);
12904
2.93k
    yych = *YYCURSOR;
12905
2.93k
    YYDEBUG(1111, *YYCURSOR);
12906
2.93k
    if (yybm[0+yych] & 32) {
12907
360
      goto yy1110;
12908
360
    }
12909
2.57k
    if (yych == '_') goto yy1105;
12910
1.35k
    goto yy1104;
12911
2.96k
yy1112:
12912
2.96k
    YYDEBUG(1112, *YYCURSOR);
12913
2.96k
    yyaccept = 1;
12914
2.96k
    YYMARKER = ++YYCURSOR;
12915
2.96k
    YYFILL(1);
12916
2.96k
    yych = *YYCURSOR;
12917
2.96k
    YYDEBUG(1113, *YYCURSOR);
12918
2.96k
    if (yybm[0+yych] & 64) {
12919
2.43k
      goto yy1112;
12920
2.43k
    }
12921
535
    if (yych == '_') goto yy1107;
12922
280
    goto yy1104;
12923
1.17k
yy1114:
12924
1.17k
    YYDEBUG(1114, *YYCURSOR);
12925
1.17k
    yyaccept = 1;
12926
1.17k
    YYMARKER = ++YYCURSOR;
12927
1.17k
    YYFILL(1);
12928
1.17k
    yych = *YYCURSOR;
12929
1.17k
    YYDEBUG(1115, *YYCURSOR);
12930
1.17k
    if (yybm[0+yych] & 128) {
12931
315
      goto yy1114;
12932
315
    }
12933
857
    if (yych == '_') goto yy1108;
12934
841
    goto yy1104;
12935
857
  }
12936
/* *********************************** */
12937
841
yyc_SHEBANG:
12938
0
  {
12939
0
    static const unsigned char yybm[] = {
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12942
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12943
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12944
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12945
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12946
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12947
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12948
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12949
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12950
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12951
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12952
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12953
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12954
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12955
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12956
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12957
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12958
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12959
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12960
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12961
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12962
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12963
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12964
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12965
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12966
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12967
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12968
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12969
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12970
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12971
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12972
0
    };
12973
0
    YYDEBUG(1116, *YYCURSOR);
12974
0
    YYFILL(2);
12975
0
    yych = *YYCURSOR;
12976
0
    if (yych == '#') goto yy1120;
12977
0
    YYDEBUG(1118, *YYCURSOR);
12978
0
    ++YYCURSOR;
12979
0
yy1119:
12980
0
    YYDEBUG(1119, *YYCURSOR);
12981
0
    yyleng = YYCURSOR - SCNG(yy_text);
12982
0
#line 2324 "Zend/zend_language_scanner.l"
12983
0
    {
12984
0
  yyless(0);
12985
0
  BEGIN(INITIAL);
12986
0
  goto restart;
12987
0
}
12988
0
#line 12989 "Zend/zend_language_scanner.c"
12989
0
yy1120:
12990
0
    YYDEBUG(1120, *YYCURSOR);
12991
0
    yych = *++YYCURSOR;
12992
0
    if (yych != '!') goto yy1119;
12993
0
yy1121:
12994
0
    YYDEBUG(1121, *YYCURSOR);
12995
0
    ++YYCURSOR;
12996
0
    YYFILL(1);
12997
0
    yych = *YYCURSOR;
12998
0
    YYDEBUG(1122, *YYCURSOR);
12999
0
    if (yybm[0+yych] & 128) {
13000
0
      goto yy1121;
13001
0
    }
13002
0
    YYDEBUG(1123, *YYCURSOR);
13003
0
    ++YYCURSOR;
13004
0
    YYDEBUG(1124, *YYCURSOR);
13005
0
    yyleng = YYCURSOR - SCNG(yy_text);
13006
0
#line 2318 "Zend/zend_language_scanner.l"
13007
0
    {
13008
0
  CG(zend_lineno)++;
13009
0
  BEGIN(INITIAL);
13010
0
  goto restart;
13011
0
}
13012
0
#line 13013 "Zend/zend_language_scanner.c"
13013
0
  }
13014
/* *********************************** */
13015
453k
yyc_INITIAL:
13016
453k
  YYDEBUG(1125, *YYCURSOR);
13017
453k
  YYFILL(7);
13018
453k
  yych = *YYCURSOR;
13019
453k
  if (yych == '<') goto yy1129;
13020
214k
  YYDEBUG(1127, *YYCURSOR);
13021
214k
  ++YYCURSOR;
13022
223k
yy1128:
13023
223k
  YYDEBUG(1128, *YYCURSOR);
13024
223k
  yyleng = YYCURSOR - SCNG(yy_text);
13025
223k
#line 2370 "Zend/zend_language_scanner.l"
13026
223k
  {
13027
223k
  if (YYCURSOR > YYLIMIT) {
13028
73.2k
    RETURN_END_TOKEN;
13029
73.2k
  }
13030
13031
149k
inline_char_handler:
13032
13033
315k
  while (1) {
13034
315k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13035
13036
315k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13037
13038
315k
    if (YYCURSOR >= YYLIMIT) {
13039
30.6k
      break;
13040
30.6k
    }
13041
13042
284k
    if (*YYCURSOR == '?') {
13043
119k
      if (CG(short_tags) /* <? */
13044
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13045
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13046
0
          (YYCURSOR + 4 == YYLIMIT ||
13047
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13048
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13049
119k
      ) {
13050
119k
        YYCURSOR--;
13051
119k
        break;
13052
119k
      }
13053
119k
    }
13054
284k
  }
13055
13056
149k
  yyleng = YYCURSOR - SCNG(yy_text);
13057
13058
149k
  if (SCNG(output_filter)) {
13059
0
    size_t readsize;
13060
0
    char *s = NULL;
13061
0
    size_t sz = 0;
13062
    // TODO: avoid reallocation ???
13063
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13064
0
    ZVAL_STRINGL(zendlval, s, sz);
13065
0
    efree(s);
13066
0
    if (readsize < yyleng) {
13067
0
      yyless(readsize);
13068
0
    }
13069
149k
  } else if (yyleng == 1) {
13070
13.8k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13071
136k
  } else {
13072
136k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13073
136k
  }
13074
149k
  HANDLE_NEWLINES(yytext, yyleng);
13075
149k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13076
149k
}
13077
0
#line 13078 "Zend/zend_language_scanner.c"
13078
238k
yy1129:
13079
238k
  YYDEBUG(1129, *YYCURSOR);
13080
238k
  yych = *++YYCURSOR;
13081
238k
  if (yych != '?') goto yy1128;
13082
229k
  YYDEBUG(1130, *YYCURSOR);
13083
229k
  yych = *(YYMARKER = ++YYCURSOR);
13084
229k
  if (yych <= 'O') {
13085
60.9k
    if (yych == '=') goto yy1132;
13086
168k
  } else {
13087
168k
    if (yych <= 'P') goto yy1134;
13088
168k
    if (yych == 'p') goto yy1134;
13089
168k
  }
13090
123k
yy1131:
13091
123k
  YYDEBUG(1131, *YYCURSOR);
13092
123k
  yyleng = YYCURSOR - SCNG(yy_text);
13093
123k
#line 2361 "Zend/zend_language_scanner.l"
13094
123k
  {
13095
123k
  if (CG(short_tags)) {
13096
123k
    BEGIN(ST_IN_SCRIPTING);
13097
123k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13098
123k
  } else {
13099
0
    goto inline_char_handler;
13100
0
  }
13101
123k
}
13102
0
#line 13103 "Zend/zend_language_scanner.c"
13103
1.89k
yy1132:
13104
1.89k
  YYDEBUG(1132, *YYCURSOR);
13105
1.89k
  ++YYCURSOR;
13106
1.89k
  YYDEBUG(1133, *YYCURSOR);
13107
1.89k
  yyleng = YYCURSOR - SCNG(yy_text);
13108
1.89k
#line 2330 "Zend/zend_language_scanner.l"
13109
1.89k
  {
13110
1.89k
  BEGIN(ST_IN_SCRIPTING);
13111
1.89k
  if (PARSER_MODE()) {
13112
    /* We'll reject this as an identifier in zend_lex_tstring. */
13113
1.26k
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13114
1.26k
  }
13115
635
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13116
635
}
13117
0
#line 13118 "Zend/zend_language_scanner.c"
13118
111k
yy1134:
13119
111k
  YYDEBUG(1134, *YYCURSOR);
13120
111k
  yych = *++YYCURSOR;
13121
111k
  if (yych == 'H') goto yy1136;
13122
109k
  if (yych == 'h') goto yy1136;
13123
6.91k
yy1135:
13124
6.91k
  YYDEBUG(1135, *YYCURSOR);
13125
6.91k
  YYCURSOR = YYMARKER;
13126
6.91k
  goto yy1131;
13127
107k
yy1136:
13128
107k
  YYDEBUG(1136, *YYCURSOR);
13129
107k
  yych = *++YYCURSOR;
13130
107k
  if (yych == 'P') goto yy1137;
13131
106k
  if (yych != 'p') goto yy1135;
13132
104k
yy1137:
13133
104k
  YYDEBUG(1137, *YYCURSOR);
13134
104k
  yych = *++YYCURSOR;
13135
104k
  if (yych <= '\f') {
13136
92.3k
    if (yych <= 0x08) goto yy1138;
13137
91.8k
    if (yych <= '\n') goto yy1139;
13138
91.8k
  } else {
13139
11.9k
    if (yych <= '\r') goto yy1141;
13140
11.1k
    if (yych == ' ') goto yy1139;
13141
11.1k
  }
13142
3.38k
yy1138:
13143
3.38k
  YYDEBUG(1138, *YYCURSOR);
13144
3.38k
  yyleng = YYCURSOR - SCNG(yy_text);
13145
3.38k
#line 2346 "Zend/zend_language_scanner.l"
13146
3.38k
  {
13147
  /* Allow <?php followed by end of file. */
13148
3.38k
  if (YYCURSOR == YYLIMIT) {
13149
185
    BEGIN(ST_IN_SCRIPTING);
13150
185
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13151
185
  }
13152
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13153
3.20k
  if (CG(short_tags)) {
13154
3.20k
    yyless(2);
13155
3.20k
    BEGIN(ST_IN_SCRIPTING);
13156
3.20k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13157
3.20k
  }
13158
0
  goto inline_char_handler;
13159
3.20k
}
13160
0
#line 13161 "Zend/zend_language_scanner.c"
13161
100k
yy1139:
13162
100k
  YYDEBUG(1139, *YYCURSOR);
13163
100k
  ++YYCURSOR;
13164
100k
yy1140:
13165
100k
  YYDEBUG(1140, *YYCURSOR);
13166
100k
  yyleng = YYCURSOR - SCNG(yy_text);
13167
100k
#line 2340 "Zend/zend_language_scanner.l"
13168
100k
  {
13169
100k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13170
100k
  BEGIN(ST_IN_SCRIPTING);
13171
100k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13172
100k
}
13173
0
#line 13174 "Zend/zend_language_scanner.c"
13174
774
yy1141:
13175
774
  YYDEBUG(1141, *YYCURSOR);
13176
774
  yych = *++YYCURSOR;
13177
774
  if (yych == '\n') goto yy1139;
13178
368
  goto yy1140;
13179
/* *********************************** */
13180
21.2k
yyc_ST_END_HEREDOC:
13181
21.2k
  YYDEBUG(1142, *YYCURSOR);
13182
21.2k
  YYFILL(1);
13183
21.2k
  yych = *YYCURSOR;
13184
21.2k
  YYDEBUG(1144, *YYCURSOR);
13185
21.2k
  ++YYCURSOR;
13186
21.2k
  YYDEBUG(1145, *YYCURSOR);
13187
21.2k
  yyleng = YYCURSOR - SCNG(yy_text);
13188
21.2k
#line 2861 "Zend/zend_language_scanner.l"
13189
21.2k
  {
13190
21.2k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13191
13192
21.2k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13193
21.2k
  YYCURSOR += yyleng - 1;
13194
13195
21.2k
  heredoc_label_dtor(heredoc_label);
13196
21.2k
  efree(heredoc_label);
13197
13198
21.2k
  BEGIN(ST_IN_SCRIPTING);
13199
21.2k
  RETURN_TOKEN(T_END_HEREDOC);
13200
21.2k
}
13201
0
#line 13202 "Zend/zend_language_scanner.c"
13202
/* *********************************** */
13203
8.04k
yyc_ST_NOWDOC:
13204
8.04k
  YYDEBUG(1146, *YYCURSOR);
13205
8.04k
  YYFILL(1);
13206
8.04k
  yych = *YYCURSOR;
13207
8.04k
  YYDEBUG(1148, *YYCURSOR);
13208
8.04k
  ++YYCURSOR;
13209
8.04k
  YYDEBUG(1149, *YYCURSOR);
13210
8.04k
  yyleng = YYCURSOR - SCNG(yy_text);
13211
8.04k
#line 3118 "Zend/zend_language_scanner.l"
13212
8.04k
  {
13213
8.04k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13214
8.04k
  int newline = 0, indentation = 0, spacing = -1;
13215
13216
8.04k
  if (YYCURSOR > YYLIMIT) {
13217
2.46k
    RETURN_END_TOKEN;
13218
2.46k
  }
13219
13220
5.57k
  YYCURSOR--;
13221
13222
2.23M
  while (YYCURSOR < YYLIMIT) {
13223
2.22M
    switch (*YYCURSOR++) {
13224
14.4k
      case '\r':
13225
14.4k
        if (*YYCURSOR == '\n') {
13226
580
          YYCURSOR++;
13227
580
        }
13228
14.4k
        ZEND_FALLTHROUGH;
13229
106k
      case '\n':
13230
106k
        indentation = spacing = 0;
13231
13232
164k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13233
58.0k
          if (*YYCURSOR == '\t') {
13234
1.65k
            spacing |= HEREDOC_USING_TABS;
13235
56.4k
          } else {
13236
56.4k
            spacing |= HEREDOC_USING_SPACES;
13237
56.4k
          }
13238
58.0k
          ++YYCURSOR;
13239
58.0k
          ++indentation;
13240
58.0k
        }
13241
13242
106k
        if (YYCURSOR == YYLIMIT) {
13243
700
          yyleng = YYCURSOR - SCNG(yy_text);
13244
700
          HANDLE_NEWLINES(yytext, yyleng);
13245
700
          ZVAL_NULL(zendlval);
13246
700
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13247
700
        }
13248
13249
        /* Check for ending label on the next line */
13250
105k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13251
6.01k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13252
2.92k
            continue;
13253
2.92k
          }
13254
13255
3.08k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13256
68
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13257
68
            if (PARSER_MODE()) {
13258
7
              RETURN_TOKEN(T_ERROR);
13259
7
            }
13260
68
          }
13261
13262
          /* newline before label will be subtracted from returned text, but
13263
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13264
3.07k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13265
21
            newline = 2; /* Windows newline */
13266
3.05k
          } else {
13267
3.05k
            newline = 1;
13268
3.05k
          }
13269
13270
3.07k
          CG(increment_lineno) = 1; /* For newline before label */
13271
13272
3.07k
          YYCURSOR -= indentation;
13273
3.07k
          heredoc_label->indentation = indentation;
13274
13275
3.07k
          BEGIN(ST_END_HEREDOC);
13276
13277
3.07k
          goto nowdoc_scan_done;
13278
3.08k
        }
13279
99.6k
        ZEND_FALLTHROUGH;
13280
2.22M
      default:
13281
2.22M
        continue;
13282
2.22M
    }
13283
2.22M
  }
13284
13285
4.87k
nowdoc_scan_done:
13286
4.87k
  yyleng = YYCURSOR - SCNG(yy_text);
13287
4.87k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13288
13289
4.87k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13290
1.50k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13291
1.50k
    if (!strip_multiline_string_indentation(
13292
1.50k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13293
1.50k
        newline_at_start, newline != 0)) {
13294
45
      RETURN_TOKEN(T_ERROR);
13295
45
    }
13296
1.50k
  }
13297
13298
4.82k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13299
4.82k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13300
4.82k
}
13301
4.82k
#line 13302 "Zend/zend_language_scanner.c"
13302
4.82k
}
13303
0
#line 3217 "Zend/zend_language_scanner.l"
13304
13305
13306
6.56M
emit_token_with_str:
13307
6.56M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13308
13309
10.0M
emit_token_with_val:
13310
10.0M
  if (PARSER_MODE()) {
13311
3.78M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13312
3.78M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13313
3.78M
  }
13314
13315
35.1M
emit_token:
13316
35.1M
  if (SCNG(on_event)) {
13317
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13318
0
  }
13319
35.1M
  return token;
13320
13321
1.32M
emit_token_with_ident:
13322
1.32M
  if (PARSER_MODE()) {
13323
731k
    elem->ident = SCNG(yy_text);
13324
731k
  }
13325
1.32M
  if (SCNG(on_event)) {
13326
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13327
0
  }
13328
1.32M
  return token;
13329
13330
6.54M
return_whitespace:
13331
6.54M
  HANDLE_NEWLINES(yytext, yyleng);
13332
6.54M
  if (SCNG(on_event)) {
13333
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13334
0
  }
13335
6.54M
  if (PARSER_MODE()) {
13336
3.23M
    start_line = CG(zend_lineno);
13337
3.23M
    goto restart;
13338
3.31M
  } else {
13339
3.31M
    return T_WHITESPACE;
13340
3.31M
  }
13341
13342
289k
skip_token:
13343
289k
  if (SCNG(on_event)) {
13344
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13345
0
  }
13346
289k
  start_line = CG(zend_lineno);
13347
289k
  goto restart;
13348
6.54M
}