Coverage Report

Created: 2025-09-27 06:26

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include "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
47.2M
#define YYCTYPE   unsigned char
53
112M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
768M
#define YYCURSOR  SCNG(yy_cursor)
55
244M
#define YYLIMIT   SCNG(yy_limit)
56
45.3M
#define YYMARKER  SCNG(yy_marker)
57
58
155M
#define YYGETCONDITION()  SCNG(yy_state)
59
16.9M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
4.15M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
335k
#define YYSTATE      YYGETCONDITION()
66
17.7M
#define yytext       ((char*)SCNG(yy_text))
67
62.7M
#define yyleng       SCNG(yy_leng)
68
3.86M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
3.86M
                          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
ZEND_API size_t language_scanner_globals_offset;
91
#else
92
ZEND_API zend_php_scanner_globals language_scanner_globals;
93
#endif
94
95
7.50M
#define HANDLE_NEWLINES(s, l)                         \
96
7.50M
do {                                     \
97
7.50M
  char *p = (s), *boundary = p+(l);                     \
98
7.50M
                                        \
99
67.2M
  while (p<boundary) {                           \
100
59.7M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
101
6.10M
      CG(zend_lineno)++;                          \
102
6.10M
    }                                    \
103
59.7M
    p++;                                  \
104
59.7M
  }                                      \
105
7.50M
} while (0)
106
107
320k
#define HANDLE_NEWLINE(c) \
108
320k
{ \
109
320k
  if (c == '\n' || c == '\r') { \
110
101k
    CG(zend_lineno)++; \
111
101k
  } \
112
320k
}
113
114
/* To save initial string length after scanning to first variable */
115
190k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
116
426k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
117
118
7.72M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
119
46.8k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
120
121
162k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
122
21.3k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
123
124
125
static void strip_underscores(char *str, size_t *len)
126
5.14k
{
127
5.14k
  char *src = str, *dest = str;
128
90.8k
  while (*src != '\0') {
129
85.7k
    if (*src != '_') {
130
79.3k
      *dest = *src;
131
79.3k
      dest++;
132
79.3k
    } else {
133
6.38k
      --(*len);
134
6.38k
    }
135
85.7k
    src++;
136
85.7k
  }
137
5.14k
  *dest = '\0';
138
5.14k
}
139
140
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
141
0
{
142
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
143
0
  ZEND_ASSERT(internal_encoding);
144
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
145
0
}
146
147
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
148
0
{
149
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
150
0
}
151
152
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
153
0
{
154
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
155
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
156
0
}
157
158
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
159
0
{
160
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
161
0
  ZEND_ASSERT(internal_encoding);
162
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
163
0
internal_encoding, zend_multibyte_encoding_utf8);
164
0
}
165
166
167
static void _yy_push_state(int new_state)
168
8.26M
{
169
8.26M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
170
8.26M
  YYSETCONDITION(new_state);
171
8.26M
}
172
173
8.26M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
174
175
static void yy_pop_state(void)
176
4.15M
{
177
4.15M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
178
4.15M
  YYSETCONDITION(*stack_state);
179
4.15M
  zend_stack_del_top(&SCNG(state_stack));
180
4.15M
}
181
182
static void yy_scan_buffer(char *str, size_t len)
183
160k
{
184
160k
  YYCURSOR       = (YYCTYPE*)str;
185
160k
  YYLIMIT        = YYCURSOR + len;
186
160k
  if (!SCNG(yy_start)) {
187
26.1k
    SCNG(yy_start) = YYCURSOR;
188
26.1k
  }
189
160k
}
190
191
void startup_scanner(void)
192
278k
{
193
278k
  CG(parse_error) = 0;
194
278k
  CG(doc_comment) = NULL;
195
278k
  CG(extra_fn_flags) = 0;
196
278k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
197
278k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
198
278k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
199
278k
  SCNG(heredoc_scan_ahead) = 0;
200
278k
}
201
202
5.71M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
203
5.71M
    efree(heredoc_label->label);
204
5.71M
}
205
206
void shutdown_scanner(void)
207
278k
{
208
278k
  CG(parse_error) = 0;
209
278k
  RESET_DOC_COMMENT();
210
278k
  zend_stack_destroy(&SCNG(state_stack));
211
278k
  zend_stack_destroy(&SCNG(nest_location_stack));
212
278k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
213
278k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
214
278k
  SCNG(heredoc_scan_ahead) = 0;
215
278k
  SCNG(on_event) = NULL;
216
278k
  SCNG(on_event_context) = NULL;
217
278k
}
218
219
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
220
335k
{
221
335k
  lex_state->yy_leng   = SCNG(yy_leng);
222
335k
  lex_state->yy_start  = SCNG(yy_start);
223
335k
  lex_state->yy_text   = SCNG(yy_text);
224
335k
  lex_state->yy_cursor = SCNG(yy_cursor);
225
335k
  lex_state->yy_marker = SCNG(yy_marker);
226
335k
  lex_state->yy_limit  = SCNG(yy_limit);
227
228
335k
  lex_state->state_stack = SCNG(state_stack);
229
335k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
230
231
335k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
232
335k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
233
234
335k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
235
335k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
236
237
335k
  lex_state->in = SCNG(yy_in);
238
335k
  lex_state->yy_state = YYSTATE;
239
335k
  lex_state->filename = CG(compiled_filename);
240
335k
  lex_state->lineno = CG(zend_lineno);
241
335k
  CG(compiled_filename) = NULL;
242
243
335k
  lex_state->script_org = SCNG(script_org);
244
335k
  lex_state->script_org_size = SCNG(script_org_size);
245
335k
  lex_state->script_filtered = SCNG(script_filtered);
246
335k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
247
335k
  lex_state->input_filter = SCNG(input_filter);
248
335k
  lex_state->output_filter = SCNG(output_filter);
249
335k
  lex_state->script_encoding = SCNG(script_encoding);
250
251
335k
  lex_state->on_event = SCNG(on_event);
252
335k
  lex_state->on_event_context = SCNG(on_event_context);
253
254
335k
  lex_state->ast = CG(ast);
255
335k
  lex_state->ast_arena = CG(ast_arena);
256
335k
}
257
258
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
259
328k
{
260
328k
  SCNG(yy_leng)   = lex_state->yy_leng;
261
328k
  SCNG(yy_start)  = lex_state->yy_start;
262
328k
  SCNG(yy_text)   = lex_state->yy_text;
263
328k
  SCNG(yy_cursor) = lex_state->yy_cursor;
264
328k
  SCNG(yy_marker) = lex_state->yy_marker;
265
328k
  SCNG(yy_limit)  = lex_state->yy_limit;
266
267
328k
  zend_stack_destroy(&SCNG(state_stack));
268
328k
  SCNG(state_stack) = lex_state->state_stack;
269
270
328k
  zend_stack_destroy(&SCNG(nest_location_stack));
271
328k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
272
273
328k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
274
328k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
275
328k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
276
277
328k
  SCNG(yy_in) = lex_state->in;
278
328k
  YYSETCONDITION(lex_state->yy_state);
279
328k
  CG(zend_lineno) = lex_state->lineno;
280
328k
  zend_restore_compiled_filename(lex_state->filename);
281
282
328k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
283
0
    efree(SCNG(script_filtered));
284
0
    SCNG(script_filtered) = NULL;
285
0
  }
286
328k
  SCNG(script_org) = lex_state->script_org;
287
328k
  SCNG(script_org_size) = lex_state->script_org_size;
288
328k
  SCNG(script_filtered) = lex_state->script_filtered;
289
328k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
290
328k
  SCNG(input_filter) = lex_state->input_filter;
291
328k
  SCNG(output_filter) = lex_state->output_filter;
292
328k
  SCNG(script_encoding) = lex_state->script_encoding;
293
294
328k
  SCNG(on_event) = lex_state->on_event;
295
328k
  SCNG(on_event_context) = lex_state->on_event_context;
296
297
328k
  CG(ast) = lex_state->ast;
298
328k
  CG(ast_arena) = lex_state->ast_arena;
299
300
328k
  RESET_DOC_COMMENT();
301
328k
}
302
303
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
304
16.2k
{
305
16.2k
  unsigned char *end = ident;
306
101k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
307
85.3k
    end++;
308
85.3k
  }
309
310
16.2k
  size_t length = end - ident;
311
16.2k
  if (length == 0) {
312
10
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
313
10
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
314
10
    return FAILURE;
315
10
  }
316
317
16.2k
  if (SCNG(on_event)) {
318
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
319
0
  }
320
321
16.2k
  ZVAL_STRINGL(zv, (char *) ident, length);
322
16.2k
  return SUCCESS;
323
16.2k
}
324
325
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
326
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
327
0
#define BOM_UTF16_BE  "\xfe\xff"
328
0
#define BOM_UTF16_LE  "\xff\xfe"
329
0
#define BOM_UTF8    "\xef\xbb\xbf"
330
331
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
332
0
{
333
0
  const unsigned char *p;
334
0
  int wchar_size = 2;
335
0
  int le = 0;
336
337
  /* utf-16 or utf-32? */
338
0
  p = script;
339
0
  assert(p >= script);
340
0
  while ((size_t)(p-script) < script_size) {
341
0
    p = memchr(p, 0, script_size-(p-script)-2);
342
0
    if (!p) {
343
0
      break;
344
0
    }
345
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
346
0
      wchar_size = 4;
347
0
      break;
348
0
    }
349
350
    /* searching for UTF-32 specific byte orders, so this will do */
351
0
    p += 4;
352
0
  }
353
354
  /* BE or LE? */
355
0
  p = script;
356
0
  assert(p >= script);
357
0
  while ((size_t)(p-script) < script_size) {
358
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
359
      /* BE */
360
0
      le = 0;
361
0
      break;
362
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
363
      /* LE* */
364
0
      le = 1;
365
0
      break;
366
0
    }
367
0
    p += wchar_size;
368
0
  }
369
370
0
  if (wchar_size == 2) {
371
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
372
0
  } else {
373
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
374
0
  }
375
376
0
  return NULL;
377
0
}
378
379
static const zend_encoding* zend_multibyte_detect_unicode(void)
380
0
{
381
0
  const zend_encoding *script_encoding = NULL;
382
0
  int bom_size;
383
0
  unsigned char *pos1, *pos2;
384
385
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
386
0
    return NULL;
387
0
  }
388
389
  /* check out BOM */
390
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
391
0
    script_encoding = zend_multibyte_encoding_utf32be;
392
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
393
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
394
0
    script_encoding = zend_multibyte_encoding_utf32le;
395
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
396
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
397
0
    script_encoding = zend_multibyte_encoding_utf16be;
398
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
399
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
400
0
    script_encoding = zend_multibyte_encoding_utf16le;
401
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
402
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
403
0
    script_encoding = zend_multibyte_encoding_utf8;
404
0
    bom_size = sizeof(BOM_UTF8)-1;
405
0
  }
406
407
0
  if (script_encoding) {
408
    /* remove BOM */
409
0
    LANG_SCNG(script_org) += bom_size;
410
0
    LANG_SCNG(script_org_size) -= bom_size;
411
412
0
    return script_encoding;
413
0
  }
414
415
  /* script contains NULL bytes -> auto-detection */
416
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
417
    /* check if the NULL byte is after the __HALT_COMPILER(); */
418
0
    pos2 = LANG_SCNG(script_org);
419
420
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
421
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
422
0
      if (!pos2) break;
423
0
      pos2++;
424
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
425
0
        pos2 += sizeof("_HALT_COMPILER")-1;
426
0
        while (*pos2 == ' '  ||
427
0
             *pos2 == '\t' ||
428
0
             *pos2 == '\r' ||
429
0
             *pos2 == '\n') {
430
0
          pos2++;
431
0
        }
432
0
        if (*pos2 == '(') {
433
0
          pos2++;
434
0
          while (*pos2 == ' '  ||
435
0
               *pos2 == '\t' ||
436
0
               *pos2 == '\r' ||
437
0
               *pos2 == '\n') {
438
0
            pos2++;
439
0
          }
440
0
          if (*pos2 == ')') {
441
0
            pos2++;
442
0
            while (*pos2 == ' '  ||
443
0
                 *pos2 == '\t' ||
444
0
                 *pos2 == '\r' ||
445
0
                 *pos2 == '\n') {
446
0
              pos2++;
447
0
            }
448
0
            if (*pos2 == ';') {
449
0
              return NULL;
450
0
            }
451
0
          }
452
0
        }
453
0
      }
454
0
    }
455
    /* make best effort if BOM is missing */
456
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
457
0
  }
458
459
0
  return NULL;
460
0
}
461
462
static const zend_encoding* zend_multibyte_find_script_encoding(void)
463
0
{
464
0
  const zend_encoding *script_encoding;
465
466
0
  if (CG(detect_unicode)) {
467
    /* check out bom(byte order mark) and see if containing wchars */
468
0
    script_encoding = zend_multibyte_detect_unicode();
469
0
    if (script_encoding != NULL) {
470
      /* bom or wchar detection is prior to 'script_encoding' option */
471
0
      return script_encoding;
472
0
    }
473
0
  }
474
475
  /* if no script_encoding specified, just leave alone */
476
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
477
0
    return NULL;
478
0
  }
479
480
  /* if multiple encodings specified, detect automagically */
481
0
  if (CG(script_encoding_list_size) > 1) {
482
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
483
0
  }
484
485
0
  return CG(script_encoding_list)[0];
486
0
}
487
488
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
489
0
{
490
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
491
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
492
493
0
  if (!script_encoding) {
494
0
    return FAILURE;
495
0
  }
496
497
  /* judge input/output filter */
498
0
  LANG_SCNG(script_encoding) = script_encoding;
499
0
  LANG_SCNG(input_filter) = NULL;
500
0
  LANG_SCNG(output_filter) = NULL;
501
502
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
503
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
504
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
505
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
506
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
507
0
    } else {
508
0
      LANG_SCNG(input_filter) = NULL;
509
0
      LANG_SCNG(output_filter) = NULL;
510
0
    }
511
0
    return SUCCESS;
512
0
  }
513
514
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
515
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
516
0
    LANG_SCNG(output_filter) = NULL;
517
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
518
0
    LANG_SCNG(input_filter) = NULL;
519
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
520
0
  } else {
521
    /* both script and internal encodings are incompatible w/ flex */
522
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
523
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
524
0
  }
525
526
0
  return SUCCESS;
527
0
}
528
529
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
530
134k
{
531
134k
  char *buf;
532
134k
  size_t size;
533
134k
  zend_string *compiled_filename;
534
535
134k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
536
    /* Still add it to open_files to make destroy_file_handle work */
537
73
    zend_llist_add_element(&CG(open_files), file_handle);
538
73
    file_handle->in_list = 1;
539
73
    return FAILURE;
540
73
  }
541
542
134k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
543
134k
  zend_llist_add_element(&CG(open_files), file_handle);
544
134k
  file_handle->in_list = 1;
545
546
  /* Reset the scanner for scanning the new file */
547
134k
  SCNG(yy_in) = file_handle;
548
134k
  SCNG(yy_start) = NULL;
549
550
134k
  if (size != (size_t)-1) {
551
134k
    if (CG(multibyte)) {
552
0
      SCNG(script_org) = (unsigned char*)buf;
553
0
      SCNG(script_org_size) = size;
554
0
      SCNG(script_filtered) = NULL;
555
556
0
      zend_multibyte_set_filter(NULL);
557
558
0
      if (SCNG(input_filter)) {
559
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
560
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
561
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
562
0
        }
563
0
        buf = (char*)SCNG(script_filtered);
564
0
        size = SCNG(script_filtered_size);
565
0
      }
566
0
    }
567
134k
    SCNG(yy_start) = (unsigned char *)buf;
568
134k
    yy_scan_buffer(buf, size);
569
134k
  } else {
570
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
571
0
  }
572
573
134k
  if (CG(skip_shebang)) {
574
0
    BEGIN(SHEBANG);
575
134k
  } else {
576
134k
    BEGIN(INITIAL);
577
134k
  }
578
579
134k
  if (file_handle->opened_path) {
580
42
    compiled_filename = zend_string_copy(file_handle->opened_path);
581
134k
  } else {
582
134k
    compiled_filename = zend_string_copy(file_handle->filename);
583
134k
  }
584
585
134k
  zend_set_compiled_filename(compiled_filename);
586
134k
  zend_string_release_ex(compiled_filename, 0);
587
588
134k
  SCNG(on_event) = NULL;
589
134k
  SCNG(on_event_context) = NULL;
590
134k
  RESET_DOC_COMMENT();
591
134k
  CG(zend_lineno) = 1;
592
134k
  CG(increment_lineno) = 0;
593
134k
  return SUCCESS;
594
134k
}
595
596
static zend_op_array *zend_compile(int type)
597
138k
{
598
138k
  zend_op_array *op_array = NULL;
599
138k
  bool original_in_compilation = CG(in_compilation);
600
601
138k
  CG(in_compilation) = 1;
602
138k
  CG(ast) = NULL;
603
138k
  CG(ast_arena) = zend_arena_create(1024 * 32);
604
605
138k
  if (!zendparse()) {
606
95.4k
    int last_lineno = CG(zend_lineno);
607
95.4k
    zend_file_context original_file_context;
608
95.4k
    zend_oparray_context original_oparray_context;
609
95.4k
    zend_op_array *original_active_op_array = CG(active_op_array);
610
611
95.4k
    op_array = emalloc(sizeof(zend_op_array));
612
95.4k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
613
95.4k
    CG(active_op_array) = op_array;
614
615
    /* Use heap to not waste arena memory */
616
95.4k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
617
618
95.4k
    if (zend_ast_process) {
619
0
      zend_ast_process(CG(ast));
620
0
    }
621
622
95.4k
    zend_file_context_begin(&original_file_context);
623
95.4k
    zend_oparray_context_begin(&original_oparray_context, op_array);
624
95.4k
    zend_compile_top_stmt(CG(ast));
625
95.4k
    CG(zend_lineno) = last_lineno;
626
95.4k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
627
95.4k
    op_array->line_start = 1;
628
95.4k
    op_array->line_end = last_lineno;
629
95.4k
    pass_two(op_array);
630
95.4k
    zend_oparray_context_end(&original_oparray_context);
631
95.4k
    zend_file_context_end(&original_file_context);
632
633
95.4k
    CG(active_op_array) = original_active_op_array;
634
95.4k
  }
635
636
138k
  zend_ast_destroy(CG(ast));
637
138k
  zend_arena_destroy(CG(ast_arena));
638
639
138k
  CG(in_compilation) = original_in_compilation;
640
641
138k
  return op_array;
642
138k
}
643
644
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
645
134k
{
646
134k
  zend_lex_state original_lex_state;
647
134k
  zend_op_array *op_array = NULL;
648
134k
  zend_save_lexical_state(&original_lex_state);
649
650
134k
  if (open_file_for_scanning(file_handle)==FAILURE) {
651
73
    if (!EG(exception)) {
652
34
      if (type==ZEND_REQUIRE) {
653
18
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
654
18
      } else {
655
16
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
656
16
      }
657
34
    }
658
134k
  } else {
659
134k
    bool orig_record_errors = EG(record_errors);
660
134k
    if (!orig_record_errors) {
661
52
      zend_begin_record_errors();
662
52
    }
663
664
134k
    op_array = zend_compile(ZEND_USER_FUNCTION);
665
666
134k
    if (!orig_record_errors) {
667
52
      zend_emit_recorded_errors();
668
52
      zend_free_recorded_errors();
669
52
    }
670
134k
  }
671
672
134k
  zend_restore_lexical_state(&original_lex_state);
673
134k
  return op_array;
674
134k
}
675
676
ZEND_API zend_ast *zend_compile_string_to_ast(
677
16
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
678
16
  zval code_zv;
679
16
  bool original_in_compilation;
680
16
  zend_lex_state original_lex_state;
681
16
  zend_ast *ast;
682
683
16
  ZVAL_STR_COPY(&code_zv, code);
684
685
16
  original_in_compilation = CG(in_compilation);
686
16
  CG(in_compilation) = 1;
687
688
16
  zend_save_lexical_state(&original_lex_state);
689
16
  zend_prepare_string_for_scanning(&code_zv, filename);
690
16
  CG(ast) = NULL;
691
16
  CG(ast_arena) = zend_arena_create(1024 * 32);
692
16
  LANG_SCNG(yy_state) = yycINITIAL;
693
694
16
  if (zendparse() != 0) {
695
0
    zend_ast_destroy(CG(ast));
696
0
    zend_arena_destroy(CG(ast_arena));
697
0
    CG(ast) = NULL;
698
0
  }
699
700
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
701
16
  ast = CG(ast);
702
16
  *ast_arena = CG(ast_arena);
703
704
16
  zend_restore_lexical_state(&original_lex_state);
705
16
  CG(in_compilation) = original_in_compilation;
706
707
16
  zval_ptr_dtor_str(&code_zv);
708
709
16
  return ast;
710
16
}
711
712
zend_op_array *compile_filename(int type, zend_string *filename)
713
67.4k
{
714
67.4k
  zend_file_handle file_handle;
715
67.4k
  zend_op_array *retval;
716
67.4k
  zend_string *opened_path = NULL;
717
718
67.4k
  zend_stream_init_filename_ex(&file_handle, filename);
719
720
67.4k
  retval = zend_compile_file(&file_handle, type);
721
67.4k
  if (retval && file_handle.handle.stream.handle) {
722
46
    if (!file_handle.opened_path) {
723
5
      file_handle.opened_path = opened_path = zend_string_copy(filename);
724
5
    }
725
726
46
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
727
728
46
    if (opened_path) {
729
5
      zend_string_release_ex(opened_path, 0);
730
5
    }
731
46
  }
732
67.4k
  zend_destroy_file_handle(&file_handle);
733
734
67.4k
  return retval;
735
67.4k
}
736
737
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
738
26.1k
{
739
26.1k
  char *buf;
740
26.1k
  size_t size, old_len;
741
742
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
743
26.1k
  old_len = Z_STRLEN_P(str);
744
26.1k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
745
26.1k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
746
26.1k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
747
748
26.1k
  SCNG(yy_in) = NULL;
749
26.1k
  SCNG(yy_start) = NULL;
750
751
26.1k
  buf = Z_STRVAL_P(str);
752
26.1k
  size = old_len;
753
754
26.1k
  if (CG(multibyte)) {
755
0
    SCNG(script_org) = (unsigned char*)buf;
756
0
    SCNG(script_org_size) = size;
757
0
    SCNG(script_filtered) = NULL;
758
759
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
760
761
0
    if (SCNG(input_filter)) {
762
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
763
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
764
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
765
0
      }
766
0
      buf = (char*)SCNG(script_filtered);
767
0
      size = SCNG(script_filtered_size);
768
0
    }
769
0
  }
770
771
26.1k
  yy_scan_buffer(buf, size);
772
26.1k
  zend_set_compiled_filename(filename);
773
26.1k
  CG(zend_lineno) = 1;
774
26.1k
  CG(increment_lineno) = 0;
775
26.1k
  SCNG(on_event) = NULL;
776
26.1k
  SCNG(on_event_context) = NULL;
777
26.1k
  RESET_DOC_COMMENT();
778
26.1k
}
779
780
781
ZEND_API size_t zend_get_scanned_file_offset(void)
782
68
{
783
68
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
784
68
  if (SCNG(input_filter)) {
785
0
    size_t original_offset = offset, length = 0;
786
0
    do {
787
0
      unsigned char *p = NULL;
788
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
789
0
        return (size_t)-1;
790
0
      }
791
0
      efree(p);
792
0
      if (length > original_offset) {
793
0
        offset--;
794
0
      } else if (length < original_offset) {
795
0
        offset++;
796
0
      }
797
0
    } while (original_offset != length);
798
0
  }
799
68
  return offset;
800
68
}
801
802
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
803
4.02k
{
804
4.02k
  zend_lex_state original_lex_state;
805
4.02k
  zend_op_array *op_array = NULL;
806
4.02k
  zval tmp;
807
4.02k
  zend_string *filename_str;
808
809
4.02k
  if (ZSTR_LEN(source_string) == 0) {
810
70
    return NULL;
811
70
  }
812
813
3.95k
  ZVAL_STR_COPY(&tmp, source_string);
814
815
3.95k
  zend_save_lexical_state(&original_lex_state);
816
3.95k
  filename_str = zend_string_init(filename, strlen(filename), 0);
817
3.95k
  zend_prepare_string_for_scanning(&tmp, filename_str);
818
3.95k
  zend_string_release(filename_str);
819
820
3.95k
  switch (position) {
821
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
822
0
      BEGIN(SHEBANG);
823
0
      break;
824
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
825
0
      BEGIN(INITIAL);
826
0
      break;
827
3.95k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
828
3.95k
      BEGIN(ST_IN_SCRIPTING);
829
3.95k
      break;
830
3.95k
  }
831
832
3.95k
  op_array = zend_compile(ZEND_EVAL_CODE);
833
834
3.95k
  zend_restore_lexical_state(&original_lex_state);
835
3.95k
  zval_ptr_dtor(&tmp);
836
837
3.95k
  return op_array;
838
3.95k
}
839
840
841
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
842
0
{
843
0
  zend_lex_state original_lex_state;
844
0
  zend_file_handle file_handle;
845
846
0
  zend_stream_init_filename(&file_handle, filename);
847
0
  zend_save_lexical_state(&original_lex_state);
848
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
849
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
850
0
    zend_destroy_file_handle(&file_handle);
851
0
    zend_restore_lexical_state(&original_lex_state);
852
0
    return FAILURE;
853
0
  }
854
0
  zend_highlight(syntax_highlighter_ini);
855
0
  if (SCNG(script_filtered)) {
856
0
    efree(SCNG(script_filtered));
857
0
    SCNG(script_filtered) = NULL;
858
0
  }
859
0
  zend_destroy_file_handle(&file_handle);
860
0
  zend_restore_lexical_state(&original_lex_state);
861
0
  return SUCCESS;
862
0
}
863
864
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
865
22.1k
{
866
22.1k
  zend_lex_state original_lex_state;
867
22.1k
  zval str_zv;
868
22.1k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
869
22.1k
  ZVAL_STR_COPY(&str_zv, str);
870
22.1k
  zend_save_lexical_state(&original_lex_state);
871
22.1k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
872
22.1k
  zend_string_release(filename_str);
873
22.1k
  BEGIN(INITIAL);
874
22.1k
  zend_highlight(syntax_highlighter_ini);
875
22.1k
  if (SCNG(script_filtered)) {
876
0
    efree(SCNG(script_filtered));
877
0
    SCNG(script_filtered) = NULL;
878
0
  }
879
22.1k
  zend_restore_lexical_state(&original_lex_state);
880
22.1k
  zval_ptr_dtor(&str_zv);
881
22.1k
}
882
883
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
884
0
{
885
0
  size_t length;
886
0
  unsigned char *new_yy_start;
887
888
  /* convert and set */
889
0
  if (!SCNG(input_filter)) {
890
0
    if (SCNG(script_filtered)) {
891
0
      efree(SCNG(script_filtered));
892
0
      SCNG(script_filtered) = NULL;
893
0
    }
894
0
    SCNG(script_filtered_size) = 0;
895
0
    length = SCNG(script_org_size);
896
0
    new_yy_start = SCNG(script_org);
897
0
  } else {
898
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
899
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
900
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
901
0
    }
902
0
    if (SCNG(script_filtered)) {
903
0
      efree(SCNG(script_filtered));
904
0
    }
905
0
    SCNG(script_filtered) = new_yy_start;
906
0
    SCNG(script_filtered_size) = length;
907
0
  }
908
909
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
910
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
911
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
912
0
  SCNG(yy_limit) = new_yy_start + length;
913
914
0
  SCNG(yy_start) = new_yy_start;
915
0
}
916
917
918
// TODO: avoid reallocation ???
919
# define zend_copy_value(zendlval, yytext, yyleng) \
920
6.66M
  if (SCNG(output_filter)) { \
921
0
    size_t sz = 0; \
922
0
    char *s = NULL; \
923
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
924
0
    ZVAL_STRINGL(zendlval, s, sz); \
925
0
    efree(s); \
926
6.66M
  } else if (yyleng == 1) { \
927
2.23M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
928
4.43M
  } else { \
929
4.43M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
930
4.43M
  }
931
932
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
933
799k
{
934
799k
  char *s, *t;
935
799k
  char *end;
936
937
799k
  if (len <= 1) {
938
201k
    if (len < 1) {
939
23.0k
      ZVAL_EMPTY_STRING(zendlval);
940
178k
    } else {
941
178k
      zend_uchar c = (zend_uchar)*str;
942
178k
      HANDLE_NEWLINE(c);
943
178k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
944
178k
    }
945
201k
    goto skip_escape_conversion;
946
201k
  }
947
948
597k
  ZVAL_STRINGL(zendlval, str, len);
949
950
  /* convert escape sequences */
951
597k
  s = Z_STRVAL_P(zendlval);
952
597k
  end = s+Z_STRLEN_P(zendlval);
953
15.9M
  while (1) {
954
15.9M
    if (UNEXPECTED(*s=='\\')) {
955
130k
      break;
956
130k
    }
957
15.8M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
958
488k
      CG(zend_lineno)++;
959
488k
    }
960
15.8M
    s++;
961
15.8M
    if (s == end) {
962
467k
      goto skip_escape_conversion;
963
467k
    }
964
15.8M
  }
965
966
130k
  t = s;
967
4.29M
  while (s<end) {
968
4.16M
    if (*s=='\\') {
969
302k
      s++;
970
302k
      if (s >= end) {
971
1.77k
        *t++ = '\\';
972
1.77k
        break;
973
1.77k
      }
974
975
300k
      switch(*s) {
976
57.7k
        case 'n':
977
57.7k
          *t++ = '\n';
978
57.7k
          break;
979
1.77k
        case 'r':
980
1.77k
          *t++ = '\r';
981
1.77k
          break;
982
2.27k
        case 't':
983
2.27k
          *t++ = '\t';
984
2.27k
          break;
985
1.70k
        case 'f':
986
1.70k
          *t++ = '\f';
987
1.70k
          break;
988
2.19k
        case 'v':
989
2.19k
          *t++ = '\v';
990
2.19k
          break;
991
466
        case 'e':
992
#ifdef ZEND_WIN32
993
          *t++ = VK_ESCAPE;
994
#else
995
466
          *t++ = '\e';
996
466
#endif
997
466
          break;
998
1.28k
        case '"':
999
3.08k
        case '`':
1000
3.08k
          if (*s != quote_type) {
1001
1.01k
            *t++ = '\\';
1002
1.01k
            *t++ = *s;
1003
1.01k
            break;
1004
1.01k
          }
1005
2.07k
          ZEND_FALLTHROUGH;
1006
87.6k
        case '\\':
1007
88.8k
        case '$':
1008
88.8k
          *t++ = *s;
1009
88.8k
          break;
1010
6.67k
        case 'x':
1011
9.82k
        case 'X':
1012
9.82k
          if (ZEND_IS_HEX(*(s+1))) {
1013
5.33k
            char hex_buf[3] = { 0, 0, 0 };
1014
1015
5.33k
            hex_buf[0] = *(++s);
1016
5.33k
            if (ZEND_IS_HEX(*(s+1))) {
1017
3.10k
              hex_buf[1] = *(++s);
1018
3.10k
            }
1019
5.33k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1020
5.33k
          } else {
1021
4.48k
            *t++ = '\\';
1022
4.48k
            *t++ = *s;
1023
4.48k
          }
1024
9.82k
          break;
1025
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1026
3.95k
        case 'u':
1027
3.95k
          {
1028
            /* cache where we started so we can parse after validating */
1029
3.95k
            char *start = s + 1;
1030
3.95k
            size_t len = 0;
1031
3.95k
            bool valid = 1;
1032
3.95k
            unsigned long codepoint;
1033
1034
3.95k
            if (*start != '{') {
1035
              /* we silently let this pass to avoid breaking code
1036
               * with JSON in string literals (e.g. "\"\u202e\""
1037
               */
1038
1.93k
              *t++ = '\\';
1039
1.93k
              *t++ = 'u';
1040
1.93k
              break;
1041
2.02k
            } else {
1042
              /* on the other hand, invalid \u{blah} errors */
1043
2.02k
              s++;
1044
2.02k
              len++;
1045
2.02k
              s++;
1046
7.52k
              while (*s != '}') {
1047
6.14k
                if (!ZEND_IS_HEX(*s)) {
1048
644
                  valid = 0;
1049
644
                  break;
1050
5.50k
                } else {
1051
5.50k
                  len++;
1052
5.50k
                }
1053
5.50k
                s++;
1054
5.50k
              }
1055
2.02k
              if (*s == '}') {
1056
1.37k
                valid = 1;
1057
1.37k
                len++;
1058
1.37k
              }
1059
2.02k
            }
1060
1061
            /* \u{} is invalid */
1062
2.02k
            if (len <= 2) {
1063
748
              valid = 0;
1064
748
            }
1065
1066
2.02k
            if (!valid) {
1067
844
              zend_throw_exception(zend_ce_parse_error,
1068
844
                "Invalid UTF-8 codepoint escape sequence", 0);
1069
844
              zval_ptr_dtor(zendlval);
1070
844
              ZVAL_UNDEF(zendlval);
1071
844
              return FAILURE;
1072
844
            }
1073
1074
2.02k
            errno = 0;
1075
1.17k
            codepoint = strtoul(start + 1, NULL, 16);
1076
1077
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1078
1.17k
            if (codepoint > 0x10FFFF || errno) {
1079
114
              zend_throw_exception(zend_ce_parse_error,
1080
114
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1081
114
              zval_ptr_dtor(zendlval);
1082
114
              ZVAL_UNDEF(zendlval);
1083
114
              return FAILURE;
1084
114
            }
1085
1086
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1087
1.06k
            if (codepoint < 0x80) {
1088
219
              *t++ = codepoint;
1089
843
            } else if (codepoint <= 0x7FF) {
1090
202
              *t++ = (codepoint >> 6) + 0xC0;
1091
202
              *t++ = (codepoint & 0x3F) + 0x80;
1092
641
            } else if (codepoint <= 0xFFFF) {
1093
373
              *t++ = (codepoint >> 12) + 0xE0;
1094
373
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1095
373
              *t++ = (codepoint & 0x3F) + 0x80;
1096
373
            } else if (codepoint <= 0x10FFFF) {
1097
268
              *t++ = (codepoint >> 18) + 0xF0;
1098
268
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1099
268
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1100
268
              *t++ = (codepoint & 0x3F) + 0x80;
1101
268
            }
1102
1.06k
          }
1103
0
          break;
1104
131k
        default:
1105
          /* check for an octal */
1106
131k
          if (ZEND_IS_OCT(*s)) {
1107
25.2k
            char octal_buf[4] = { 0, 0, 0, 0 };
1108
1109
25.2k
            octal_buf[0] = *s;
1110
25.2k
            if (ZEND_IS_OCT(*(s+1))) {
1111
5.79k
              octal_buf[1] = *(++s);
1112
5.79k
              if (ZEND_IS_OCT(*(s+1))) {
1113
2.55k
                octal_buf[2] = *(++s);
1114
2.55k
              }
1115
5.79k
            }
1116
25.2k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1117
              /* 3 octit values must not overflow 0xFF (\377) */
1118
410
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1119
410
            }
1120
1121
25.2k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1122
105k
          } else {
1123
105k
            *t++ = '\\';
1124
105k
            *t++ = *s;
1125
105k
          }
1126
131k
          break;
1127
300k
      }
1128
3.86M
    } else {
1129
3.86M
      *t++ = *s;
1130
3.86M
    }
1131
1132
4.16M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1133
123k
      CG(zend_lineno)++;
1134
123k
    }
1135
4.16M
    s++;
1136
4.16M
  }
1137
129k
  *t = 0;
1138
129k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1139
1140
798k
skip_escape_conversion:
1141
798k
  if (SCNG(output_filter)) {
1142
0
    size_t sz = 0;
1143
0
    unsigned char *str;
1144
    // TODO: avoid realocation ???
1145
0
    s = Z_STRVAL_P(zendlval);
1146
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1147
0
    zval_ptr_dtor(zendlval);
1148
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1149
0
    efree(str);
1150
0
  }
1151
798k
  return SUCCESS;
1152
129k
}
1153
1154
919k
#define HEREDOC_USING_SPACES 1
1155
79.5k
#define HEREDOC_USING_TABS 2
1156
1157
266k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1158
2.93M
  for (; str < end; str++) {
1159
2.81M
    if (*str == '\r') {
1160
19.7k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1161
19.7k
      return str;
1162
2.79M
    } else if (*str == '\n') {
1163
126k
      *newline_len = 1;
1164
126k
      return str;
1165
126k
    }
1166
2.81M
  }
1167
120k
  *newline_len = 0;
1168
120k
  return NULL;
1169
266k
}
1170
1171
static bool strip_multiline_string_indentation(
1172
  zval *zendlval, int indentation, bool using_spaces,
1173
  bool newline_at_start, bool newline_at_end)
1174
117k
{
1175
117k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1176
117k
  char *copy = Z_STRVAL_P(zendlval);
1177
1178
117k
  int newline_count = 0;
1179
117k
  size_t newline_len;
1180
117k
  const char *nl;
1181
1182
117k
  if (!newline_at_start) {
1183
71.8k
    nl = next_newline(str, end, &newline_len);
1184
71.8k
    if (!nl) {
1185
41.7k
      return 1;
1186
41.7k
    }
1187
1188
30.1k
    str = nl + newline_len;
1189
30.1k
    copy = (char *) nl + newline_len;
1190
30.1k
    newline_count++;
1191
45.6k
  } else {
1192
45.6k
    nl = str;
1193
45.6k
  }
1194
1195
  /* <= intentional */
1196
232k
  while (str <= end && nl) {
1197
194k
    size_t skip;
1198
194k
    nl = next_newline(str, end, &newline_len);
1199
194k
    if (!nl && newline_at_end) {
1200
7.80k
      nl = end;
1201
7.80k
    }
1202
1203
    /* Try to skip indentation */
1204
198k
    for (skip = 0; skip < indentation; skip++, str++) {
1205
4.49k
      if (str == nl) {
1206
        /* Don't require full indentation on whitespace-only lines */
1207
1.18k
        break;
1208
1.18k
      }
1209
1210
3.30k
      if (str == end || (*str != ' ' && *str != '\t')) {
1211
79
        CG(zend_lineno) += newline_count;
1212
79
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1213
79
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1214
79
        goto error;
1215
79
      }
1216
1217
3.22k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1218
28
        CG(zend_lineno) += newline_count;
1219
28
        zend_throw_exception(zend_ce_parse_error,
1220
28
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1221
28
        goto error;
1222
28
      }
1223
3.22k
    }
1224
1225
194k
    if (str == end) {
1226
37.6k
      break;
1227
37.6k
    }
1228
1229
157k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1230
157k
    memmove(copy, str, len);
1231
157k
    str += len;
1232
157k
    copy += len;
1233
157k
    newline_count++;
1234
157k
  }
1235
1236
75.6k
  *copy = '\0';
1237
75.6k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1238
75.6k
  return 1;
1239
1240
107
error:
1241
107
  zval_ptr_dtor_str(zendlval);
1242
107
  ZVAL_UNDEF(zendlval);
1243
1244
107
  return 0;
1245
75.7k
}
1246
1247
static void copy_heredoc_label_stack(void *void_heredoc_label)
1248
2.42M
{
1249
2.42M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1250
2.42M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1251
1252
2.42M
  *new_heredoc_label = *heredoc_label;
1253
2.42M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1254
1255
2.42M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1256
2.42M
}
1257
1258
/* Check that { }, [ ], ( ) are nested correctly */
1259
static void report_bad_nesting(char opening, int opening_lineno, char closing)
1260
247k
{
1261
247k
  char   buf[256];
1262
247k
  size_t used = 0;
1263
1264
247k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1265
1266
247k
  if (opening_lineno != CG(zend_lineno)) {
1267
132k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1268
132k
  }
1269
1270
247k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1271
99.0k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1272
99.0k
  }
1273
1274
247k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1275
247k
}
1276
1277
static void enter_nesting(char opening)
1278
6.00M
{
1279
6.00M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1280
6.00M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1281
6.00M
}
1282
1283
static zend_result exit_nesting(char closing)
1284
1.56M
{
1285
1.56M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1286
28.8k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1287
28.8k
    return FAILURE;
1288
28.8k
  }
1289
1290
1.53M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1291
1.53M
  char opening = nest_loc->text;
1292
1293
1.53M
  if ((opening == '{' && closing != '}') ||
1294
1.48M
      (opening == '[' && closing != ']') ||
1295
1.47M
      (opening == '(' && closing != ')')) {
1296
99.0k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1297
99.0k
    return FAILURE;
1298
99.0k
  }
1299
1300
1.43M
  zend_stack_del_top(&SCNG(nest_location_stack));
1301
1.43M
  return SUCCESS;
1302
1.53M
}
1303
1304
static zend_result check_nesting_at_end(void)
1305
263k
{
1306
263k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1307
148k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1308
148k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1309
148k
    return FAILURE;
1310
148k
  }
1311
1312
114k
  return SUCCESS;
1313
263k
}
1314
1315
#define PARSER_MODE() \
1316
19.3M
  EXPECTED(elem != NULL)
1317
1318
24.8M
#define RETURN_TOKEN(_token) do { \
1319
24.8M
    token = _token; \
1320
24.8M
    goto emit_token; \
1321
24.8M
  } while (0)
1322
1323
3.63M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1324
3.63M
    token = _token; \
1325
3.63M
    goto emit_token_with_val; \
1326
3.63M
  } while (0)
1327
1328
6.66M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1329
6.66M
    token = _token; \
1330
6.66M
    offset = _offset; \
1331
6.66M
    goto emit_token_with_str; \
1332
6.66M
  } while (0)
1333
1334
1.28M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1335
1.28M
    token = _token; \
1336
1.28M
    goto emit_token_with_ident; \
1337
1.28M
  } while (0)
1338
1339
994k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1340
994k
    token = _token; \
1341
994k
    if (PARSER_MODE()) { \
1342
294k
      goto skip_token; \
1343
294k
    } \
1344
994k
    goto emit_token; \
1345
994k
  } while (0)
1346
1347
1.56M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1348
1.56M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1349
413
      RETURN_TOKEN(T_ERROR); \
1350
1.56M
    } else { \
1351
1.56M
      RETURN_TOKEN(_token); \
1352
1.56M
    } \
1353
1.56M
  } while(0)
1354
1355
263k
#define RETURN_END_TOKEN do { \
1356
263k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1357
6.03k
      RETURN_TOKEN(T_ERROR); \
1358
256k
    } else { \
1359
256k
      RETURN_TOKEN(END); \
1360
256k
    } \
1361
263k
  } while (0)
1362
1363
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1364
40.3M
{
1365
40.3M
int token;
1366
40.3M
int offset;
1367
40.3M
int start_line = CG(zend_lineno);
1368
1369
40.3M
  ZVAL_UNDEF(zendlval);
1370
46.9M
restart:
1371
46.9M
  SCNG(yy_text) = YYCURSOR;
1372
1373
1374
46.9M
#line 1375 "Zend/zend_language_scanner.c"
1375
46.9M
{
1376
46.9M
  YYCTYPE yych;
1377
46.9M
  unsigned int yyaccept = 0;
1378
46.9M
  if (YYGETCONDITION() < 5) {
1379
42.6M
    if (YYGETCONDITION() < 2) {
1380
36.2M
      if (YYGETCONDITION() < 1) {
1381
35.8M
        goto yyc_ST_IN_SCRIPTING;
1382
35.8M
      } else {
1383
436k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1384
436k
      }
1385
36.2M
    } else {
1386
6.38M
      if (YYGETCONDITION() < 3) {
1387
240k
        goto yyc_ST_BACKQUOTE;
1388
6.14M
      } else {
1389
6.14M
        if (YYGETCONDITION() < 4) {
1390
674k
          goto yyc_ST_DOUBLE_QUOTES;
1391
5.46M
        } else {
1392
5.46M
          goto yyc_ST_HEREDOC;
1393
5.46M
        }
1394
6.14M
      }
1395
6.38M
    }
1396
42.6M
  } else {
1397
4.27M
    if (YYGETCONDITION() < 8) {
1398
3.78M
      if (YYGETCONDITION() < 6) {
1399
3.44M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1400
3.44M
      } else {
1401
336k
        if (YYGETCONDITION() < 7) {
1402
336k
          goto yyc_ST_VAR_OFFSET;
1403
336k
        } else {
1404
0
          goto yyc_SHEBANG;
1405
0
        }
1406
336k
      }
1407
3.78M
    } else {
1408
485k
      if (YYGETCONDITION() < 9) {
1409
449k
        goto yyc_INITIAL;
1410
449k
      } else {
1411
36.4k
        if (YYGETCONDITION() < 10) {
1412
25.7k
          goto yyc_ST_END_HEREDOC;
1413
25.7k
        } else {
1414
10.7k
          goto yyc_ST_NOWDOC;
1415
10.7k
        }
1416
36.4k
      }
1417
485k
    }
1418
4.27M
  }
1419
/* *********************************** */
1420
35.8M
yyc_ST_IN_SCRIPTING:
1421
35.8M
  {
1422
35.8M
    static const unsigned char yybm[] = {
1423
      /* table 1 .. 8: 0 */
1424
35.8M
        0, 134, 134, 134, 134, 134, 134, 134, 
1425
35.8M
      134, 135,   4, 134, 134,   4, 134, 134, 
1426
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1427
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
35.8M
      135, 134, 134, 134, 134, 134, 134, 134, 
1429
35.8M
      134, 134,  66, 134, 134, 134, 134, 134, 
1430
35.8M
      190, 190, 182, 182, 182, 182, 182, 182, 
1431
35.8M
      166, 166, 134, 134, 134, 134, 134, 134, 
1432
35.8M
      134, 166, 166, 166, 166, 166, 166, 134, 
1433
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1434
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
35.8M
      134, 166, 166, 166, 166, 166, 166, 134, 
1437
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1438
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
35.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
      /* table 9 .. 11: 256 */
1457
35.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1458
35.8M
        0,  32,  32,   0,   0,  32,   0,   0, 
1459
35.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1460
35.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
35.8M
       32,   0,   0,   0,   0,   0,   0,   0, 
1462
35.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1463
35.8M
      192, 192, 192, 192, 192, 192, 192, 192, 
1464
35.8M
      192, 192,   0,   0,   0,   0,   0,   0, 
1465
35.8M
        0, 128, 128, 128, 128, 128, 128, 128, 
1466
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1467
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
35.8M
      128, 128, 128,   0,   0,   0,   0, 128, 
1469
35.8M
        0, 128, 128, 128, 128, 128, 128, 128, 
1470
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1471
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
35.8M
      128, 128, 128,   0,   0,   0,   0,   0, 
1473
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1474
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
35.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
35.8M
    };
1490
35.8M
    YYDEBUG(1, *YYCURSOR);
1491
35.8M
    YYFILL(16);
1492
35.8M
    yych = *YYCURSOR;
1493
35.8M
    if (yybm[256+yych] & 32) {
1494
6.00M
      goto yy5;
1495
6.00M
    }
1496
29.8M
    switch (yych) {
1497
4.03M
    case 0x00:
1498
4.16M
    case 0x01:
1499
4.20M
    case 0x02:
1500
4.23M
    case 0x03:
1501
4.38M
    case 0x04:
1502
4.42M
    case 0x05:
1503
4.44M
    case 0x06:
1504
4.50M
    case 0x07:
1505
4.54M
    case 0x08:
1506
4.54M
    case '\t':
1507
4.54M
    case '\n':
1508
4.59M
    case '\v':
1509
4.62M
    case '\f':
1510
4.62M
    case '\r':
1511
4.65M
    case 0x0E:
1512
4.69M
    case 0x0F:
1513
4.72M
    case 0x10:
1514
4.74M
    case 0x11:
1515
4.75M
    case 0x12:
1516
4.80M
    case 0x13:
1517
4.81M
    case 0x14:
1518
4.83M
    case 0x15:
1519
4.84M
    case 0x16:
1520
4.86M
    case 0x17:
1521
4.88M
    case 0x18:
1522
4.89M
    case 0x19:
1523
4.91M
    case 0x1A:
1524
4.91M
    case 0x1B:
1525
5.28M
    case 0x1C:
1526
5.39M
    case 0x1D:
1527
5.41M
    case 0x1E:
1528
5.44M
    case 0x1F:
1529
5.47M
    case 0x7F:  goto yy3;
1530
0
    case ' ':
1531
163k
    case '!': goto yy8;
1532
360k
    case '"': goto yy10;
1533
601k
    case '#': goto yy12;
1534
1.73M
    case '$': goto yy14;
1535
70.9k
    case '%': goto yy15;
1536
184k
    case '&': goto yy16;
1537
354k
    case '\'':  goto yy18;
1538
1.19M
    case '(': goto yy20;
1539
859k
    case ')':
1540
1.15M
    case ']': goto yy22;
1541
112k
    case '*': goto yy24;
1542
148k
    case '+': goto yy25;
1543
808k
    case ',':
1544
1.81M
    case ';':
1545
2.50M
    case '@':
1546
2.58M
    case '~': goto yy26;
1547
345k
    case '-': goto yy27;
1548
388k
    case '.': goto yy28;
1549
282k
    case '/': goto yy29;
1550
229k
    case '0': goto yy30;
1551
208k
    case '1':
1552
346k
    case '2':
1553
444k
    case '3':
1554
572k
    case '4':
1555
646k
    case '5':
1556
686k
    case '6':
1557
718k
    case '7':
1558
767k
    case '8':
1559
807k
    case '9': goto yy32;
1560
224k
    case ':': goto yy34;
1561
4.54M
    case '<': goto yy35;
1562
593k
    case '=': goto yy36;
1563
68.0k
    case '>': goto yy37;
1564
565k
    case '?': goto yy38;
1565
70.4k
    case 'A':
1566
245k
    case 'a': goto yy39;
1567
54.0k
    case 'B':
1568
104k
    case 'b': goto yy41;
1569
70.6k
    case 'C':
1570
376k
    case 'c': goto yy42;
1571
65.1k
    case 'D':
1572
138k
    case 'd': goto yy43;
1573
92.6k
    case 'E':
1574
580k
    case 'e': goto yy44;
1575
58.2k
    case 'F':
1576
454k
    case 'f': goto yy45;
1577
13.6k
    case 'G':
1578
88.4k
    case 'g': goto yy46;
1579
59.8k
    case 'I':
1580
298k
    case 'i': goto yy49;
1581
14.8k
    case 'L':
1582
64.4k
    case 'l': goto yy50;
1583
17.9k
    case 'M':
1584
73.1k
    case 'm': goto yy51;
1585
34.4k
    case 'N':
1586
237k
    case 'n': goto yy52;
1587
38.8k
    case 'O':
1588
126k
    case 'o': goto yy53;
1589
69.3k
    case 'P':
1590
465k
    case 'p': goto yy54;
1591
16.8k
    case 'R':
1592
141k
    case 'r': goto yy55;
1593
23.3k
    case 'S':
1594
195k
    case 's': goto yy56;
1595
49.3k
    case 'T':
1596
251k
    case 't': goto yy57;
1597
6.51k
    case 'U':
1598
81.1k
    case 'u': goto yy58;
1599
12.8k
    case 'V':
1600
141k
    case 'v': goto yy59;
1601
12.9k
    case 'W':
1602
29.6k
    case 'w': goto yy60;
1603
20.3k
    case 'X':
1604
37.5k
    case 'x': goto yy61;
1605
9.70k
    case 'Y':
1606
124k
    case 'y': goto yy62;
1607
306k
    case '[': goto yy63;
1608
186k
    case '\\':  goto yy64;
1609
99.8k
    case '^': goto yy66;
1610
180k
    case '_': goto yy67;
1611
74.4k
    case '`': goto yy68;
1612
993k
    case '{': goto yy70;
1613
97.6k
    case '|': goto yy72;
1614
412k
    case '}': goto yy73;
1615
1.01M
    default:  goto yy47;
1616
29.8M
    }
1617
5.47M
yy3:
1618
5.47M
    YYDEBUG(3, *YYCURSOR);
1619
5.47M
    ++YYCURSOR;
1620
5.47M
    YYDEBUG(4, *YYCURSOR);
1621
5.47M
    yyleng = YYCURSOR - SCNG(yy_text);
1622
5.47M
#line 3178 "Zend/zend_language_scanner.l"
1623
5.47M
    {
1624
5.47M
  if (YYCURSOR > YYLIMIT) {
1625
149k
    RETURN_END_TOKEN;
1626
149k
  }
1627
1628
5.32M
  RETURN_TOKEN(T_BAD_CHARACTER);
1629
5.32M
}
1630
0
#line 1631 "Zend/zend_language_scanner.c"
1631
9.50M
yy5:
1632
9.50M
    YYDEBUG(5, *YYCURSOR);
1633
9.50M
    ++YYCURSOR;
1634
9.50M
    YYFILL(1);
1635
9.50M
    yych = *YYCURSOR;
1636
9.50M
    YYDEBUG(6, *YYCURSOR);
1637
9.50M
    if (yybm[256+yych] & 32) {
1638
3.49M
      goto yy5;
1639
3.49M
    }
1640
6.00M
    YYDEBUG(7, *YYCURSOR);
1641
6.00M
    yyleng = YYCURSOR - SCNG(yy_text);
1642
6.00M
#line 1596 "Zend/zend_language_scanner.l"
1643
6.00M
    {
1644
6.00M
  goto return_whitespace;
1645
9.50M
}
1646
0
#line 1647 "Zend/zend_language_scanner.c"
1647
163k
yy8:
1648
163k
    YYDEBUG(8, *YYCURSOR);
1649
163k
    yych = *++YYCURSOR;
1650
163k
    if (yych == '=') goto yy75;
1651
5.95M
yy9:
1652
5.95M
    YYDEBUG(9, *YYCURSOR);
1653
5.95M
    yyleng = YYCURSOR - SCNG(yy_text);
1654
5.95M
#line 1968 "Zend/zend_language_scanner.l"
1655
5.95M
    {
1656
5.95M
  RETURN_TOKEN(yytext[0]);
1657
5.95M
}
1658
0
#line 1659 "Zend/zend_language_scanner.c"
1659
361k
yy10:
1660
361k
    YYDEBUG(10, *YYCURSOR);
1661
361k
    ++YYCURSOR;
1662
361k
    YYDEBUG(11, *YYCURSOR);
1663
361k
    yyleng = YYCURSOR - SCNG(yy_text);
1664
361k
#line 2631 "Zend/zend_language_scanner.l"
1665
361k
    {
1666
361k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1667
1668
8.42M
  while (YYCURSOR < YYLIMIT) {
1669
8.41M
    switch (*YYCURSOR++) {
1670
259k
      case '"':
1671
259k
        yyleng = YYCURSOR - SCNG(yy_text);
1672
259k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1673
259k
         || !PARSER_MODE()) {
1674
259k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1675
259k
        } else {
1676
7
          RETURN_TOKEN(T_ERROR);
1677
7
        }
1678
124k
      case '$':
1679
124k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1680
89.4k
          break;
1681
89.4k
        }
1682
35.1k
        continue;
1683
35.1k
      case '{':
1684
30.4k
        if (*YYCURSOR == '$') {
1685
3.00k
          break;
1686
3.00k
        }
1687
27.4k
        continue;
1688
220k
      case '\\':
1689
220k
        if (YYCURSOR < YYLIMIT) {
1690
219k
          YYCURSOR++;
1691
219k
        }
1692
220k
        ZEND_FALLTHROUGH;
1693
7.99M
      default:
1694
7.99M
        continue;
1695
8.41M
    }
1696
1697
92.4k
    YYCURSOR--;
1698
92.4k
    break;
1699
8.41M
  }
1700
1701
  /* Remember how much was scanned to save rescanning */
1702
361k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1703
1704
102k
  YYCURSOR = SCNG(yy_text) + yyleng;
1705
1706
102k
  BEGIN(ST_DOUBLE_QUOTES);
1707
102k
  RETURN_TOKEN('"');
1708
102k
}
1709
0
#line 1710 "Zend/zend_language_scanner.c"
1710
601k
yy12:
1711
601k
    YYDEBUG(12, *YYCURSOR);
1712
601k
    yych = *++YYCURSOR;
1713
601k
    if (yych == '[') goto yy77;
1714
656k
yy13:
1715
656k
    YYDEBUG(13, *YYCURSOR);
1716
656k
    yyleng = YYCURSOR - SCNG(yy_text);
1717
656k
#line 2459 "Zend/zend_language_scanner.l"
1718
656k
    {
1719
7.27M
  while (YYCURSOR < YYLIMIT) {
1720
7.26M
    switch (*YYCURSOR++) {
1721
170k
      case '\r':
1722
645k
      case '\n':
1723
645k
        YYCURSOR--;
1724
645k
        break;
1725
35.5k
      case '?':
1726
35.5k
        if (*YYCURSOR == '>') {
1727
2.83k
          YYCURSOR--;
1728
2.83k
          break;
1729
2.83k
        }
1730
32.6k
        ZEND_FALLTHROUGH;
1731
6.61M
      default:
1732
6.61M
        continue;
1733
7.26M
    }
1734
1735
648k
    break;
1736
7.26M
  }
1737
1738
656k
  yyleng = YYCURSOR - SCNG(yy_text);
1739
656k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1740
656k
}
1741
0
#line 1742 "Zend/zend_language_scanner.c"
1742
1.73M
yy14:
1743
1.73M
    YYDEBUG(14, *YYCURSOR);
1744
1.73M
    yych = *++YYCURSOR;
1745
1.73M
    if (yych <= '_') {
1746
268k
      if (yych <= '@') goto yy9;
1747
47.0k
      if (yych <= 'Z') goto yy79;
1748
12.4k
      if (yych <= '^') goto yy9;
1749
5.06k
      goto yy79;
1750
1.46M
    } else {
1751
1.46M
      if (yych <= '`') goto yy9;
1752
1.46M
      if (yych <= 'z') goto yy79;
1753
441k
      if (yych <= 0x7F) goto yy9;
1754
78.0k
      goto yy79;
1755
441k
    }
1756
70.9k
yy15:
1757
70.9k
    YYDEBUG(15, *YYCURSOR);
1758
70.9k
    yych = *++YYCURSOR;
1759
70.9k
    if (yych == '=') goto yy82;
1760
66.5k
    goto yy9;
1761
184k
yy16:
1762
184k
    YYDEBUG(16, *YYCURSOR);
1763
184k
    yyaccept = 0;
1764
184k
    yych = *(YYMARKER = ++YYCURSOR);
1765
184k
    if (yych <= '"') {
1766
60.7k
      if (yych <= '\f') {
1767
35.2k
        if (yych <= 0x08) goto yy17;
1768
32.7k
        if (yych <= '\n') goto yy85;
1769
32.7k
      } else {
1770
25.5k
        if (yych <= '\r') goto yy85;
1771
20.8k
        if (yych == ' ') goto yy85;
1772
20.8k
      }
1773
124k
    } else {
1774
124k
      if (yych <= '-') {
1775
43.0k
        if (yych <= '$') goto yy85;
1776
25.1k
        if (yych == '&') goto yy90;
1777
81.0k
      } else {
1778
81.0k
        if (yych <= '/') goto yy85;
1779
77.9k
        if (yych == '=') goto yy94;
1780
77.9k
      }
1781
124k
    }
1782
120k
yy17:
1783
120k
    YYDEBUG(17, *YYCURSOR);
1784
120k
    yyleng = YYCURSOR - SCNG(yy_text);
1785
120k
#line 1954 "Zend/zend_language_scanner.l"
1786
120k
    {
1787
120k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1788
120k
}
1789
0
#line 1790 "Zend/zend_language_scanner.c"
1790
354k
yy18:
1791
354k
    YYDEBUG(18, *YYCURSOR);
1792
354k
    ++YYCURSOR;
1793
354k
    YYDEBUG(19, *YYCURSOR);
1794
354k
    yyleng = YYCURSOR - SCNG(yy_text);
1795
354k
#line 2537 "Zend/zend_language_scanner.l"
1796
354k
    {
1797
354k
  char *s, *t;
1798
354k
  char *end;
1799
354k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1800
1801
42.6M
  while (1) {
1802
42.6M
    if (YYCURSOR < YYLIMIT) {
1803
42.5M
      if (*YYCURSOR == '\'') {
1804
343k
        YYCURSOR++;
1805
343k
        yyleng = YYCURSOR - SCNG(yy_text);
1806
1807
343k
        break;
1808
42.2M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1809
133k
        YYCURSOR++;
1810
133k
      }
1811
42.5M
    } else {
1812
11.3k
      yyleng = YYLIMIT - SCNG(yy_text);
1813
1814
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1815
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1816
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1817
11.3k
      ZVAL_NULL(zendlval);
1818
11.3k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1819
11.3k
    }
1820
42.6M
  }
1821
1822
343k
  if (yyleng-bprefix-2 <= 1) {
1823
59.5k
    if (yyleng-bprefix-2 < 1) {
1824
13.5k
      ZVAL_EMPTY_STRING(zendlval);
1825
46.0k
    } else {
1826
46.0k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1827
46.0k
      HANDLE_NEWLINE(c);
1828
46.0k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1829
46.0k
    }
1830
59.5k
    goto skip_escape_conversion;
1831
59.5k
  }
1832
283k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1833
1834
  /* convert escape sequences */
1835
283k
  s = Z_STRVAL_P(zendlval);
1836
283k
  end = s+Z_STRLEN_P(zendlval);
1837
28.9M
  while (1) {
1838
28.9M
    if (UNEXPECTED(*s=='\\')) {
1839
45.9k
      break;
1840
45.9k
    }
1841
28.8M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1842
569k
      CG(zend_lineno)++;
1843
569k
    }
1844
28.8M
    s++;
1845
28.8M
    if (s == end) {
1846
238k
      goto skip_escape_conversion;
1847
238k
    }
1848
28.8M
  }
1849
1850
45.9k
  t = s;
1851
12.1M
  while (s<end) {
1852
12.1M
    if (*s=='\\') {
1853
129k
      s++;
1854
129k
      if (*s == '\\' || *s == '\'') {
1855
45.1k
        *t++ = *s;
1856
83.9k
      } else {
1857
83.9k
        *t++ = '\\';
1858
83.9k
        *t++ = *s;
1859
83.9k
      }
1860
12.0M
    } else {
1861
12.0M
      *t++ = *s;
1862
12.0M
    }
1863
12.1M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1864
239k
      CG(zend_lineno)++;
1865
239k
    }
1866
12.1M
    s++;
1867
12.1M
  }
1868
45.9k
  *t = 0;
1869
45.9k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1870
1871
343k
skip_escape_conversion:
1872
343k
  if (SCNG(output_filter)) {
1873
0
    size_t sz = 0;
1874
0
    char *str = NULL;
1875
0
    zend_string *new_str;
1876
0
    s = Z_STRVAL_P(zendlval);
1877
    // TODO: avoid reallocation ???
1878
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1879
0
    new_str = zend_string_init(str, sz, 0);
1880
0
    if (str != s) {
1881
0
      efree(str);
1882
0
    }
1883
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1884
0
    ZVAL_STR(zendlval, new_str);
1885
0
  }
1886
343k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1887
343k
}
1888
0
#line 1889 "Zend/zend_language_scanner.c"
1889
1.19M
yy20:
1890
1.19M
    YYDEBUG(20, *YYCURSOR);
1891
1.19M
    yyaccept = 1;
1892
1.19M
    yych = *(YYMARKER = ++YYCURSOR);
1893
1.19M
    if (yych <= 'S') {
1894
869k
      if (yych <= 'D') {
1895
810k
        if (yych <= ' ') {
1896
97.7k
          if (yych == '\t') goto yy97;
1897
88.1k
          if (yych >= ' ') goto yy97;
1898
712k
        } else {
1899
712k
          if (yych <= '@') goto yy21;
1900
21.5k
          if (yych != 'C') goto yy97;
1901
21.5k
        }
1902
810k
      } else {
1903
59.5k
        if (yych <= 'I') {
1904
43.4k
          if (yych == 'F') goto yy97;
1905
40.3k
          if (yych >= 'I') goto yy97;
1906
40.3k
        } else {
1907
16.0k
          if (yych == 'O') goto yy97;
1908
12.5k
          if (yych >= 'R') goto yy97;
1909
12.5k
        }
1910
59.5k
      }
1911
869k
    } else {
1912
325k
      if (yych <= 'f') {
1913
136k
        if (yych <= 'b') {
1914
89.3k
          if (yych <= 'T') goto yy21;
1915
81.1k
          if (yych <= 'V') goto yy97;
1916
79.3k
          if (yych >= 'a') goto yy97;
1917
79.3k
        } else {
1918
46.7k
          if (yych == 'd') goto yy97;
1919
41.6k
          if (yych >= 'f') goto yy97;
1920
41.6k
        }
1921
189k
      } else {
1922
189k
        if (yych <= 'o') {
1923
78.9k
          if (yych == 'i') goto yy97;
1924
43.0k
          if (yych >= 'o') goto yy97;
1925
110k
        } else {
1926
110k
          if (yych <= 's') {
1927
46.0k
            if (yych >= 'r') goto yy97;
1928
64.7k
          } else {
1929
64.7k
            if (yych <= 't') goto yy21;
1930
57.0k
            if (yych <= 'v') goto yy97;
1931
57.0k
          }
1932
110k
        }
1933
189k
      }
1934
325k
    }
1935
1.48M
yy21:
1936
1.48M
    YYDEBUG(21, *YYCURSOR);
1937
1.48M
    yyleng = YYCURSOR - SCNG(yy_text);
1938
1.48M
#line 1963 "Zend/zend_language_scanner.l"
1939
1.48M
    {
1940
1.48M
  enter_nesting(yytext[0]);
1941
1.48M
  RETURN_TOKEN(yytext[0]);
1942
1.48M
}
1943
0
#line 1944 "Zend/zend_language_scanner.c"
1944
1.15M
yy22:
1945
1.15M
    YYDEBUG(22, *YYCURSOR);
1946
1.15M
    ++YYCURSOR;
1947
1.15M
    YYDEBUG(23, *YYCURSOR);
1948
1.15M
    yyleng = YYCURSOR - SCNG(yy_text);
1949
1.15M
#line 1958 "Zend/zend_language_scanner.l"
1950
1.15M
    {
1951
  /* Check that ] and ) match up properly with a preceding [ or ( */
1952
1.15M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1953
1.15M
}
1954
0
#line 1955 "Zend/zend_language_scanner.c"
1955
112k
yy24:
1956
112k
    YYDEBUG(24, *YYCURSOR);
1957
112k
    yych = *++YYCURSOR;
1958
112k
    if (yych == '*') goto yy108;
1959
93.5k
    if (yych == '=') goto yy110;
1960
86.7k
    goto yy9;
1961
148k
yy25:
1962
148k
    YYDEBUG(25, *YYCURSOR);
1963
148k
    yych = *++YYCURSOR;
1964
148k
    if (yych == '+') goto yy112;
1965
106k
    if (yych == '=') goto yy114;
1966
102k
    goto yy9;
1967
2.58M
yy26:
1968
2.58M
    YYDEBUG(26, *YYCURSOR);
1969
2.58M
    ++YYCURSOR;
1970
2.58M
    goto yy9;
1971
345k
yy27:
1972
345k
    YYDEBUG(27, *YYCURSOR);
1973
345k
    yych = *++YYCURSOR;
1974
345k
    if (yych <= '<') {
1975
134k
      if (yych == '-') goto yy116;
1976
121k
      goto yy9;
1977
211k
    } else {
1978
211k
      if (yych <= '=') goto yy118;
1979
208k
      if (yych <= '>') goto yy120;
1980
77.2k
      goto yy9;
1981
208k
    }
1982
388k
yy28:
1983
388k
    YYDEBUG(28, *YYCURSOR);
1984
388k
    yyaccept = 2;
1985
388k
    yych = *(YYMARKER = ++YYCURSOR);
1986
388k
    if (yych <= '/') {
1987
161k
      if (yych == '.') goto yy122;
1988
108k
      goto yy9;
1989
226k
    } else {
1990
226k
      if (yych <= '9') goto yy123;
1991
190k
      if (yych == '=') goto yy126;
1992
54.1k
      goto yy9;
1993
190k
    }
1994
282k
yy29:
1995
282k
    YYDEBUG(29, *YYCURSOR);
1996
282k
    yych = *++YYCURSOR;
1997
282k
    if (yych <= '.') {
1998
127k
      if (yych == '*') goto yy128;
1999
32.9k
      goto yy9;
2000
154k
    } else {
2001
154k
      if (yych <= '/') goto yy130;
2002
76.4k
      if (yych == '=') goto yy131;
2003
73.8k
      goto yy9;
2004
76.4k
    }
2005
229k
yy30:
2006
229k
    YYDEBUG(30, *YYCURSOR);
2007
229k
    yyaccept = 3;
2008
229k
    yych = *(YYMARKER = ++YYCURSOR);
2009
229k
    if (yych <= 'X') {
2010
158k
      if (yych <= 'N') {
2011
154k
        if (yych == 'B') goto yy134;
2012
153k
        goto yy33;
2013
154k
      } else {
2014
4.06k
        if (yych <= 'O') goto yy136;
2015
3.01k
        if (yych <= 'W') goto yy33;
2016
1.82k
        goto yy137;
2017
3.01k
      }
2018
158k
    } else {
2019
71.6k
      if (yych <= 'n') {
2020
42.9k
        if (yych == 'b') goto yy134;
2021
38.9k
        goto yy33;
2022
42.9k
      } else {
2023
28.7k
        if (yych <= 'o') goto yy136;
2024
25.9k
        if (yych == 'x') goto yy137;
2025
20.8k
        goto yy33;
2026
25.9k
      }
2027
71.6k
    }
2028
953k
yy31:
2029
953k
    YYDEBUG(31, *YYCURSOR);
2030
953k
    yyleng = YYCURSOR - SCNG(yy_text);
2031
953k
#line 2102 "Zend/zend_language_scanner.l"
2032
953k
    {
2033
953k
  size_t len = yyleng;
2034
953k
  char *end, *lnum = yytext;
2035
953k
  bool is_octal = lnum[0] == '0';
2036
953k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2037
2038
953k
  if (contains_underscores) {
2039
1.45k
    lnum = estrndup(lnum, len);
2040
1.45k
    strip_underscores(lnum, &len);
2041
1.45k
  }
2042
2043
  /* Digits 8 and 9 are illegal in octal literals. */
2044
953k
  if (is_octal) {
2045
203k
    size_t i;
2046
564k
    for (i = 0; i < len; i++) {
2047
363k
      if (lnum[i] == '8' || lnum[i] == '9') {
2048
2.42k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2049
2.42k
        if (PARSER_MODE()) {
2050
38
          if (contains_underscores) {
2051
9
            efree(lnum);
2052
9
          }
2053
38
          ZVAL_UNDEF(zendlval);
2054
38
          RETURN_TOKEN(T_ERROR);
2055
38
        }
2056
2057
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2058
2.38k
        len = i;
2059
2.38k
        break;
2060
2.42k
      }
2061
363k
    }
2062
203k
  }
2063
2064
2065
953k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2066
916k
    errno = 0;
2067
    /* base must be passed explicitly for correct parse error on Windows */
2068
916k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2069
916k
    ZEND_ASSERT(end == lnum + len);
2070
916k
  } else {
2071
36.8k
    errno = 0;
2072
36.8k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2073
36.8k
    if (errno == ERANGE) { /* Overflow */
2074
31.6k
      errno = 0;
2075
31.6k
      if (is_octal) { /* octal overflow */
2076
560
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2077
31.0k
      } else {
2078
31.0k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2079
31.0k
      }
2080
31.6k
      ZEND_ASSERT(end == lnum + len);
2081
31.6k
      if (contains_underscores) {
2082
305
        efree(lnum);
2083
305
      }
2084
31.6k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2085
31.6k
    }
2086
5.20k
    ZEND_ASSERT(end == lnum + len);
2087
5.20k
  }
2088
921k
  ZEND_ASSERT(!errno);
2089
921k
  if (contains_underscores) {
2090
1.14k
    efree(lnum);
2091
1.14k
  }
2092
921k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2093
921k
}
2094
0
#line 2095 "Zend/zend_language_scanner.c"
2095
3.43M
yy32:
2096
3.43M
    YYDEBUG(32, *YYCURSOR);
2097
3.43M
    yyaccept = 3;
2098
3.43M
    YYMARKER = ++YYCURSOR;
2099
3.43M
    YYFILL(3);
2100
3.43M
    yych = *YYCURSOR;
2101
3.64M
yy33:
2102
3.64M
    YYDEBUG(33, *YYCURSOR);
2103
3.64M
    if (yybm[256+yych] & 64) {
2104
2.62M
      goto yy32;
2105
2.62M
    }
2106
1.02M
    if (yych <= 'E') {
2107
787k
      if (yych == '.') goto yy133;
2108
743k
      if (yych <= 'D') goto yy31;
2109
19.6k
      goto yy135;
2110
743k
    } else {
2111
236k
      if (yych <= '_') {
2112
108k
        if (yych <= '^') goto yy31;
2113
9.28k
        goto yy138;
2114
128k
      } else {
2115
128k
        if (yych == 'e') goto yy135;
2116
113k
        goto yy31;
2117
128k
      }
2118
236k
    }
2119
224k
yy34:
2120
224k
    YYDEBUG(34, *YYCURSOR);
2121
224k
    yych = *++YYCURSOR;
2122
224k
    if (yych == ':') goto yy139;
2123
108k
    goto yy9;
2124
4.54M
yy35:
2125
4.54M
    YYDEBUG(35, *YYCURSOR);
2126
4.54M
    yych = *++YYCURSOR;
2127
4.54M
    if (yych <= ';') goto yy9;
2128
4.36M
    if (yych <= '<') goto yy141;
2129
562k
    if (yych <= '=') goto yy143;
2130
550k
    if (yych <= '>') goto yy145;
2131
544k
    goto yy9;
2132
593k
yy36:
2133
593k
    YYDEBUG(36, *YYCURSOR);
2134
593k
    yych = *++YYCURSOR;
2135
593k
    if (yych <= '<') goto yy9;
2136
123k
    if (yych <= '=') goto yy146;
2137
85.7k
    if (yych <= '>') goto yy148;
2138
30.1k
    goto yy9;
2139
68.0k
yy37:
2140
68.0k
    YYDEBUG(37, *YYCURSOR);
2141
68.0k
    yych = *++YYCURSOR;
2142
68.0k
    if (yych <= '<') goto yy9;
2143
34.6k
    if (yych <= '=') goto yy150;
2144
29.3k
    if (yych <= '>') goto yy152;
2145
21.1k
    goto yy9;
2146
565k
yy38:
2147
565k
    YYDEBUG(38, *YYCURSOR);
2148
565k
    yyaccept = 2;
2149
565k
    yych = *(YYMARKER = ++YYCURSOR);
2150
565k
    if (yych <= '=') {
2151
211k
      if (yych == '-') goto yy154;
2152
165k
      goto yy9;
2153
353k
    } else {
2154
353k
      if (yych <= '>') goto yy155;
2155
207k
      if (yych <= '?') goto yy157;
2156
149k
      goto yy9;
2157
207k
    }
2158
245k
yy39:
2159
245k
    YYDEBUG(39, *YYCURSOR);
2160
245k
    yyaccept = 4;
2161
245k
    yych = *(YYMARKER = ++YYCURSOR);
2162
245k
    if (yych <= 'S') {
2163
83.0k
      if (yych <= 'M') {
2164
72.4k
        if (yych == 'B') goto yy159;
2165
70.3k
        goto yy48;
2166
72.4k
      } else {
2167
10.5k
        if (yych <= 'N') goto yy160;
2168
8.17k
        if (yych <= 'Q') goto yy48;
2169
7.60k
        if (yych <= 'R') goto yy161;
2170
6.64k
        goto yy162;
2171
7.60k
      }
2172
162k
    } else {
2173
162k
      if (yych <= 'n') {
2174
44.1k
        if (yych == 'b') goto yy159;
2175
31.7k
        if (yych <= 'm') goto yy48;
2176
9.82k
        goto yy160;
2177
118k
      } else {
2178
118k
        if (yych <= 'q') goto yy48;
2179
115k
        if (yych <= 'r') goto yy161;
2180
79.4k
        if (yych <= 's') goto yy162;
2181
19.0k
        goto yy48;
2182
79.4k
      }
2183
162k
    }
2184
4.11M
yy40:
2185
4.11M
    YYDEBUG(40, *YYCURSOR);
2186
4.11M
    yyleng = YYCURSOR - SCNG(yy_text);
2187
4.11M
#line 2454 "Zend/zend_language_scanner.l"
2188
4.11M
    {
2189
4.11M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2190
4.11M
}
2191
0
#line 2192 "Zend/zend_language_scanner.c"
2192
104k
yy41:
2193
104k
    YYDEBUG(41, *YYCURSOR);
2194
104k
    yyaccept = 4;
2195
104k
    yych = *(YYMARKER = ++YYCURSOR);
2196
104k
    if (yych <= ';') {
2197
33.0k
      if (yych <= '"') {
2198
15.2k
        if (yych <= '!') goto yy48;
2199
1.80k
        goto yy10;
2200
17.8k
      } else {
2201
17.8k
        if (yych == '\'') goto yy18;
2202
17.1k
        goto yy48;
2203
17.8k
      }
2204
71.8k
    } else {
2205
71.8k
      if (yych <= 'R') {
2206
14.7k
        if (yych <= '<') goto yy165;
2207
9.22k
        if (yych <= 'Q') goto yy48;
2208
811
        goto yy166;
2209
57.0k
      } else {
2210
57.0k
        if (yych == 'r') goto yy166;
2211
51.8k
        goto yy48;
2212
57.0k
      }
2213
71.8k
    }
2214
376k
yy42:
2215
376k
    YYDEBUG(42, *YYCURSOR);
2216
376k
    yyaccept = 4;
2217
376k
    yych = *(YYMARKER = ++YYCURSOR);
2218
376k
    if (yych <= 'O') {
2219
80.6k
      if (yych <= 'K') {
2220
67.0k
        if (yych == 'A') goto yy167;
2221
64.2k
        goto yy48;
2222
67.0k
      } else {
2223
13.6k
        if (yych <= 'L') goto yy168;
2224
7.56k
        if (yych <= 'N') goto yy48;
2225
7.15k
        goto yy169;
2226
7.56k
      }
2227
295k
    } else {
2228
295k
      if (yych <= 'k') {
2229
109k
        if (yych == 'a') goto yy167;
2230
26.0k
        goto yy48;
2231
185k
      } else {
2232
185k
        if (yych <= 'l') goto yy168;
2233
90.1k
        if (yych == 'o') goto yy169;
2234
16.8k
        goto yy48;
2235
90.1k
      }
2236
295k
    }
2237
138k
yy43:
2238
138k
    YYDEBUG(43, *YYCURSOR);
2239
138k
    yyaccept = 4;
2240
138k
    yych = *(YYMARKER = ++YYCURSOR);
2241
138k
    if (yych <= 'O') {
2242
37.0k
      if (yych <= 'H') {
2243
26.3k
        if (yych == 'E') goto yy170;
2244
21.2k
        goto yy48;
2245
26.3k
      } else {
2246
10.7k
        if (yych <= 'I') goto yy171;
2247
9.94k
        if (yych <= 'N') goto yy48;
2248
8.81k
        goto yy172;
2249
9.94k
      }
2250
101k
    } else {
2251
101k
      if (yych <= 'h') {
2252
69.0k
        if (yych == 'e') goto yy170;
2253
45.0k
        goto yy48;
2254
69.0k
      } else {
2255
32.2k
        if (yych <= 'i') goto yy171;
2256
23.9k
        if (yych == 'o') goto yy172;
2257
13.9k
        goto yy48;
2258
23.9k
      }
2259
101k
    }
2260
580k
yy44:
2261
580k
    YYDEBUG(44, *YYCURSOR);
2262
580k
    yyaccept = 4;
2263
580k
    yych = *(YYMARKER = ++YYCURSOR);
2264
580k
    switch (yych) {
2265
1.46k
    case 'C':
2266
95.2k
    case 'c': goto yy174;
2267
1.07k
    case 'L':
2268
17.9k
    case 'l': goto yy175;
2269
2.18k
    case 'M':
2270
9.00k
    case 'm': goto yy176;
2271
95.7k
    case 'N':
2272
249k
    case 'n': goto yy177;
2273
907
    case 'V':
2274
6.92k
    case 'v': goto yy178;
2275
2.75k
    case 'X':
2276
70.2k
    case 'x': goto yy179;
2277
131k
    default:  goto yy48;
2278
580k
    }
2279
454k
yy45:
2280
454k
    YYDEBUG(45, *YYCURSOR);
2281
454k
    yyaccept = 4;
2282
454k
    yych = *(YYMARKER = ++YYCURSOR);
2283
454k
    if (yych <= 'U') {
2284
121k
      if (yych <= 'M') {
2285
98.3k
        if (yych == 'I') goto yy180;
2286
96.2k
        goto yy48;
2287
98.3k
      } else {
2288
23.2k
        if (yych <= 'N') goto yy181;
2289
22.2k
        if (yych <= 'O') goto yy183;
2290
10.8k
        if (yych <= 'T') goto yy48;
2291
1.28k
        goto yy184;
2292
10.8k
      }
2293
333k
    } else {
2294
333k
      if (yych <= 'n') {
2295
66.9k
        if (yych == 'i') goto yy180;
2296
45.3k
        if (yych <= 'm') goto yy48;
2297
21.1k
        goto yy181;
2298
266k
      } else {
2299
266k
        if (yych <= 'o') goto yy183;
2300
154k
        if (yych == 'u') goto yy184;
2301
22.6k
        goto yy48;
2302
154k
      }
2303
333k
    }
2304
88.4k
yy46:
2305
88.4k
    YYDEBUG(46, *YYCURSOR);
2306
88.4k
    yyaccept = 4;
2307
88.4k
    yych = *(YYMARKER = ++YYCURSOR);
2308
88.4k
    if (yych <= 'O') {
2309
41.1k
      if (yych == 'L') goto yy185;
2310
36.4k
      if (yych <= 'N') goto yy48;
2311
1.93k
      goto yy186;
2312
47.3k
    } else {
2313
47.3k
      if (yych <= 'l') {
2314
32.3k
        if (yych <= 'k') goto yy48;
2315
5.06k
        goto yy185;
2316
32.3k
      } else {
2317
14.9k
        if (yych == 'o') goto yy186;
2318
7.69k
        goto yy48;
2319
14.9k
      }
2320
47.3k
    }
2321
16.3M
yy47:
2322
16.3M
    YYDEBUG(47, *YYCURSOR);
2323
16.3M
    yyaccept = 4;
2324
16.3M
    YYMARKER = ++YYCURSOR;
2325
16.3M
    YYFILL(1);
2326
16.3M
    yych = *YYCURSOR;
2327
19.2M
yy48:
2328
19.2M
    YYDEBUG(48, *YYCURSOR);
2329
19.2M
    if (yybm[256+yych] & 128) {
2330
15.0M
      goto yy47;
2331
15.0M
    }
2332
4.12M
    if (yych == '\\') goto yy164;
2333
4.07M
    goto yy40;
2334
4.07M
yy49:
2335
298k
    YYDEBUG(49, *YYCURSOR);
2336
298k
    yyaccept = 4;
2337
298k
    yych = *(YYMARKER = ++YYCURSOR);
2338
298k
    if (yych <= 'S') {
2339
65.3k
      if (yych <= 'L') {
2340
35.7k
        if (yych == 'F') goto yy187;
2341
34.7k
        goto yy48;
2342
35.7k
      } else {
2343
29.6k
        if (yych <= 'M') goto yy189;
2344
26.4k
        if (yych <= 'N') goto yy190;
2345
6.82k
        if (yych <= 'R') goto yy48;
2346
3.75k
        goto yy191;
2347
6.82k
      }
2348
232k
    } else {
2349
232k
      if (yych <= 'm') {
2350
86.1k
        if (yych == 'f') goto yy187;
2351
62.7k
        if (yych <= 'l') goto yy48;
2352
38.3k
        goto yy189;
2353
146k
      } else {
2354
146k
        if (yych <= 'n') goto yy190;
2355
49.4k
        if (yych == 's') goto yy191;
2356
20.0k
        goto yy48;
2357
49.4k
      }
2358
232k
    }
2359
64.4k
yy50:
2360
64.4k
    YYDEBUG(50, *YYCURSOR);
2361
64.4k
    yyaccept = 4;
2362
64.4k
    yych = *(YYMARKER = ++YYCURSOR);
2363
64.4k
    if (yych == 'I') goto yy192;
2364
63.4k
    if (yych == 'i') goto yy192;
2365
54.7k
    goto yy48;
2366
73.1k
yy51:
2367
73.1k
    YYDEBUG(51, *YYCURSOR);
2368
73.1k
    yyaccept = 4;
2369
73.1k
    yych = *(YYMARKER = ++YYCURSOR);
2370
73.1k
    if (yych == 'A') goto yy193;
2371
71.0k
    if (yych == 'a') goto yy193;
2372
63.4k
    goto yy48;
2373
237k
yy52:
2374
237k
    YYDEBUG(52, *YYCURSOR);
2375
237k
    yyaccept = 4;
2376
237k
    yych = *(YYMARKER = ++YYCURSOR);
2377
237k
    if (yych <= 'E') {
2378
36.1k
      if (yych == 'A') goto yy194;
2379
33.4k
      if (yych <= 'D') goto yy48;
2380
6.63k
      goto yy195;
2381
201k
    } else {
2382
201k
      if (yych <= 'a') {
2383
46.7k
        if (yych <= '`') goto yy48;
2384
31.5k
        goto yy194;
2385
154k
      } else {
2386
154k
        if (yych == 'e') goto yy195;
2387
57.8k
        goto yy48;
2388
154k
      }
2389
201k
    }
2390
126k
yy53:
2391
126k
    YYDEBUG(53, *YYCURSOR);
2392
126k
    yyaccept = 4;
2393
126k
    yych = *(YYMARKER = ++YYCURSOR);
2394
126k
    if (yych == 'R') goto yy196;
2395
123k
    if (yych == 'r') goto yy196;
2396
116k
    goto yy48;
2397
465k
yy54:
2398
465k
    YYDEBUG(54, *YYCURSOR);
2399
465k
    yyaccept = 4;
2400
465k
    yych = *(YYMARKER = ++YYCURSOR);
2401
465k
    if (yych <= 'U') {
2402
178k
      if (yych == 'R') goto yy198;
2403
173k
      if (yych <= 'T') goto yy48;
2404
1.47k
      goto yy199;
2405
286k
    } else {
2406
286k
      if (yych <= 'r') {
2407
189k
        if (yych <= 'q') goto yy48;
2408
54.0k
        goto yy198;
2409
189k
      } else {
2410
96.9k
        if (yych == 'u') goto yy199;
2411
22.3k
        goto yy48;
2412
96.9k
      }
2413
286k
    }
2414
141k
yy55:
2415
141k
    YYDEBUG(55, *YYCURSOR);
2416
141k
    yyaccept = 4;
2417
141k
    yych = *(YYMARKER = ++YYCURSOR);
2418
141k
    if (yych == 'E') goto yy200;
2419
136k
    if (yych == 'e') goto yy200;
2420
53.1k
    goto yy48;
2421
195k
yy56:
2422
195k
    YYDEBUG(56, *YYCURSOR);
2423
195k
    yyaccept = 4;
2424
195k
    yych = *(YYMARKER = ++YYCURSOR);
2425
195k
    if (yych <= 'W') {
2426
58.8k
      if (yych == 'T') goto yy201;
2427
56.0k
      if (yych <= 'V') goto yy48;
2428
649
      goto yy202;
2429
136k
    } else {
2430
136k
      if (yych <= 't') {
2431
118k
        if (yych <= 's') goto yy48;
2432
63.0k
        goto yy201;
2433
118k
      } else {
2434
18.0k
        if (yych == 'w') goto yy202;
2435
9.00k
        goto yy48;
2436
18.0k
      }
2437
136k
    }
2438
251k
yy57:
2439
251k
    YYDEBUG(57, *YYCURSOR);
2440
251k
    yyaccept = 4;
2441
251k
    yych = *(YYMARKER = ++YYCURSOR);
2442
251k
    if (yych <= 'R') {
2443
45.5k
      if (yych == 'H') goto yy203;
2444
43.7k
      if (yych <= 'Q') goto yy48;
2445
6.66k
      goto yy204;
2446
205k
    } else {
2447
205k
      if (yych <= 'h') {
2448
91.8k
        if (yych <= 'g') goto yy48;
2449
18.5k
        goto yy203;
2450
114k
      } else {
2451
114k
        if (yych == 'r') goto yy204;
2452
31.6k
        goto yy48;
2453
114k
      }
2454
205k
    }
2455
81.1k
yy58:
2456
81.1k
    YYDEBUG(58, *YYCURSOR);
2457
81.1k
    yyaccept = 4;
2458
81.1k
    yych = *(YYMARKER = ++YYCURSOR);
2459
81.1k
    if (yych <= 'S') {
2460
21.1k
      if (yych == 'N') goto yy205;
2461
19.7k
      if (yych <= 'R') goto yy48;
2462
959
      goto yy206;
2463
60.0k
    } else {
2464
60.0k
      if (yych <= 'n') {
2465
35.9k
        if (yych <= 'm') goto yy48;
2466
19.9k
        goto yy205;
2467
35.9k
      } else {
2468
24.0k
        if (yych == 's') goto yy206;
2469
7.26k
        goto yy48;
2470
24.0k
      }
2471
60.0k
    }
2472
141k
yy59:
2473
141k
    YYDEBUG(59, *YYCURSOR);
2474
141k
    yyaccept = 4;
2475
141k
    yych = *(YYMARKER = ++YYCURSOR);
2476
141k
    if (yych == 'A') goto yy207;
2477
140k
    if (yych == 'a') goto yy207;
2478
29.5k
    goto yy48;
2479
29.6k
yy60:
2480
29.6k
    YYDEBUG(60, *YYCURSOR);
2481
29.6k
    yyaccept = 4;
2482
29.6k
    yych = *(YYMARKER = ++YYCURSOR);
2483
29.6k
    if (yych == 'H') goto yy208;
2484
28.2k
    if (yych == 'h') goto yy208;
2485
22.3k
    goto yy48;
2486
37.5k
yy61:
2487
37.5k
    YYDEBUG(61, *YYCURSOR);
2488
37.5k
    yyaccept = 4;
2489
37.5k
    yych = *(YYMARKER = ++YYCURSOR);
2490
37.5k
    if (yych == 'O') goto yy209;
2491
36.8k
    if (yych == 'o') goto yy209;
2492
32.0k
    goto yy48;
2493
124k
yy62:
2494
124k
    YYDEBUG(62, *YYCURSOR);
2495
124k
    yyaccept = 4;
2496
124k
    yych = *(YYMARKER = ++YYCURSOR);
2497
124k
    if (yych == 'I') goto yy210;
2498
123k
    if (yych == 'i') goto yy210;
2499
39.8k
    goto yy48;
2500
306k
yy63:
2501
306k
    YYDEBUG(63, *YYCURSOR);
2502
306k
    ++YYCURSOR;
2503
306k
    goto yy21;
2504
186k
yy64:
2505
186k
    YYDEBUG(64, *YYCURSOR);
2506
186k
    yych = *++YYCURSOR;
2507
186k
    if (yych <= '_') {
2508
145k
      if (yych <= '@') goto yy65;
2509
91.1k
      if (yych <= 'Z') goto yy211;
2510
71.2k
      if (yych >= '_') goto yy211;
2511
71.2k
    } else {
2512
40.6k
      if (yych <= '`') goto yy65;
2513
38.5k
      if (yych <= 'z') goto yy211;
2514
17.5k
      if (yych >= 0x80) goto yy211;
2515
17.5k
    }
2516
137k
yy65:
2517
137k
    YYDEBUG(65, *YYCURSOR);
2518
137k
    yyleng = YYCURSOR - SCNG(yy_text);
2519
137k
#line 2450 "Zend/zend_language_scanner.l"
2520
137k
    {
2521
137k
  RETURN_TOKEN(T_NS_SEPARATOR);
2522
137k
}
2523
0
#line 2524 "Zend/zend_language_scanner.c"
2524
99.8k
yy66:
2525
99.8k
    YYDEBUG(66, *YYCURSOR);
2526
99.8k
    yych = *++YYCURSOR;
2527
99.8k
    if (yych == '=') goto yy214;
2528
99.1k
    goto yy9;
2529
180k
yy67:
2530
180k
    YYDEBUG(67, *YYCURSOR);
2531
180k
    yyaccept = 4;
2532
180k
    yych = *(YYMARKER = ++YYCURSOR);
2533
180k
    if (yych == '_') goto yy216;
2534
51.7k
    goto yy48;
2535
74.4k
yy68:
2536
74.4k
    YYDEBUG(68, *YYCURSOR);
2537
74.4k
    ++YYCURSOR;
2538
74.4k
    YYDEBUG(69, *YYCURSOR);
2539
74.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2540
74.4k
#line 2824 "Zend/zend_language_scanner.l"
2541
74.4k
    {
2542
74.4k
  BEGIN(ST_BACKQUOTE);
2543
74.4k
  RETURN_TOKEN('`');
2544
74.4k
}
2545
0
#line 2546 "Zend/zend_language_scanner.c"
2546
993k
yy70:
2547
993k
    YYDEBUG(70, *YYCURSOR);
2548
993k
    ++YYCURSOR;
2549
993k
    YYDEBUG(71, *YYCURSOR);
2550
993k
    yyleng = YYCURSOR - SCNG(yy_text);
2551
993k
#line 1973 "Zend/zend_language_scanner.l"
2552
993k
    {
2553
993k
  yy_push_state(ST_IN_SCRIPTING);
2554
993k
  enter_nesting('{');
2555
993k
  RETURN_TOKEN('{');
2556
993k
}
2557
0
#line 2558 "Zend/zend_language_scanner.c"
2558
97.6k
yy72:
2559
97.6k
    YYDEBUG(72, *YYCURSOR);
2560
97.6k
    yych = *++YYCURSOR;
2561
97.6k
    if (yych <= '>') {
2562
45.9k
      if (yych <= '<') goto yy9;
2563
8.11k
      if (yych <= '=') goto yy217;
2564
6.16k
      goto yy219;
2565
51.7k
    } else {
2566
51.7k
      if (yych == '|') goto yy221;
2567
41.3k
      goto yy9;
2568
51.7k
    }
2569
412k
yy73:
2570
412k
    YYDEBUG(73, *YYCURSOR);
2571
412k
    ++YYCURSOR;
2572
412k
    YYDEBUG(74, *YYCURSOR);
2573
412k
    yyleng = YYCURSOR - SCNG(yy_text);
2574
412k
#line 1986 "Zend/zend_language_scanner.l"
2575
412k
    {
2576
412k
  RESET_DOC_COMMENT();
2577
412k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2578
383k
    yy_pop_state();
2579
383k
  }
2580
412k
  RETURN_EXIT_NESTING_TOKEN('}');
2581
412k
}
2582
0
#line 2583 "Zend/zend_language_scanner.c"
2583
8.24k
yy75:
2584
8.24k
    YYDEBUG(75, *YYCURSOR);
2585
8.24k
    yych = *++YYCURSOR;
2586
8.24k
    if (yych == '=') goto yy223;
2587
11.9k
yy76:
2588
11.9k
    YYDEBUG(76, *YYCURSOR);
2589
11.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2590
11.9k
#line 1845 "Zend/zend_language_scanner.l"
2591
11.9k
    {
2592
11.9k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2593
11.9k
}
2594
0
#line 2595 "Zend/zend_language_scanner.c"
2595
22.9k
yy77:
2596
22.9k
    YYDEBUG(77, *YYCURSOR);
2597
22.9k
    ++YYCURSOR;
2598
22.9k
    YYDEBUG(78, *YYCURSOR);
2599
22.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2600
22.9k
#line 1422 "Zend/zend_language_scanner.l"
2601
22.9k
    {
2602
22.9k
  enter_nesting('[');
2603
22.9k
  RETURN_TOKEN(T_ATTRIBUTE);
2604
22.9k
}
2605
0
#line 2606 "Zend/zend_language_scanner.c"
2606
4.84M
yy79:
2607
4.84M
    YYDEBUG(79, *YYCURSOR);
2608
4.84M
    ++YYCURSOR;
2609
4.84M
    YYFILL(1);
2610
4.84M
    yych = *YYCURSOR;
2611
4.84M
    YYDEBUG(80, *YYCURSOR);
2612
4.84M
    if (yych <= '^') {
2613
1.42M
      if (yych <= '9') {
2614
1.00M
        if (yych >= '0') goto yy79;
2615
1.00M
      } else {
2616
424k
        if (yych <= '@') goto yy81;
2617
276k
        if (yych <= 'Z') goto yy79;
2618
276k
      }
2619
3.41M
    } else {
2620
3.41M
      if (yych <= '`') {
2621
12.4k
        if (yych <= '_') goto yy79;
2622
3.40M
      } else {
2623
3.40M
        if (yych <= 'z') goto yy79;
2624
977k
        if (yych >= 0x80) goto yy79;
2625
977k
      }
2626
3.41M
    }
2627
1.14M
yy81:
2628
1.14M
    YYDEBUG(81, *YYCURSOR);
2629
1.14M
    yyleng = YYCURSOR - SCNG(yy_text);
2630
1.14M
#line 2416 "Zend/zend_language_scanner.l"
2631
1.14M
    {
2632
1.14M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2633
1.14M
}
2634
0
#line 2635 "Zend/zend_language_scanner.c"
2635
4.42k
yy82:
2636
4.42k
    YYDEBUG(82, *YYCURSOR);
2637
4.42k
    ++YYCURSOR;
2638
4.42k
    YYDEBUG(83, *YYCURSOR);
2639
4.42k
    yyleng = YYCURSOR - SCNG(yy_text);
2640
4.42k
#line 1889 "Zend/zend_language_scanner.l"
2641
4.42k
    {
2642
4.42k
  RETURN_TOKEN(T_MOD_EQUAL);
2643
4.42k
}
2644
0
#line 2645 "Zend/zend_language_scanner.c"
2645
207k
yy84:
2646
207k
    YYDEBUG(84, *YYCURSOR);
2647
207k
    ++YYCURSOR;
2648
207k
    YYFILL(3);
2649
207k
    yych = *YYCURSOR;
2650
276k
yy85:
2651
276k
    YYDEBUG(85, *YYCURSOR);
2652
276k
    if (yych <= ' ') {
2653
75.0k
      if (yych <= '\f') {
2654
50.9k
        if (yych <= 0x08) goto yy86;
2655
48.1k
        if (yych <= '\n') goto yy84;
2656
48.1k
      } else {
2657
24.1k
        if (yych <= '\r') goto yy84;
2658
15.8k
        if (yych >= ' ') goto yy84;
2659
15.8k
      }
2660
201k
    } else {
2661
201k
      if (yych <= '$') {
2662
179k
        if (yych <= '"') goto yy86;
2663
178k
        if (yych <= '#') goto yy87;
2664
21.1k
        goto yy88;
2665
178k
      } else {
2666
22.4k
        if (yych <= '-') goto yy86;
2667
20.4k
        if (yych <= '.') goto yy92;
2668
16.3k
        if (yych <= '/') goto yy93;
2669
16.3k
      }
2670
201k
    }
2671
827k
yy86:
2672
827k
    YYDEBUG(86, *YYCURSOR);
2673
827k
    YYCURSOR = YYMARKER;
2674
827k
    if (yyaccept <= 48) {
2675
649k
      if (yyaccept <= 24) {
2676
637k
        if (yyaccept <= 12) {
2677
626k
          if (yyaccept <= 6) {
2678
376k
            if (yyaccept <= 3) {
2679
320k
              if (yyaccept <= 1) {
2680
286k
                if (yyaccept == 0) {
2681
40.3k
                  goto yy17;
2682
246k
                } else {
2683
246k
                  goto yy21;
2684
246k
                }
2685
286k
              } else {
2686
34.1k
                if (yyaccept == 2) {
2687
17.2k
                  goto yy9;
2688
17.2k
                } else {
2689
16.8k
                  goto yy31;
2690
16.8k
                }
2691
34.1k
              }
2692
320k
            } else {
2693
55.4k
              if (yyaccept <= 5) {
2694
51.6k
                if (yyaccept == 4) {
2695
48.1k
                  goto yy40;
2696
48.1k
                } else {
2697
3.56k
                  goto yy125;
2698
3.56k
                }
2699
51.6k
              } else {
2700
3.70k
                goto yy129;
2701
3.70k
              }
2702
55.4k
            }
2703
376k
          } else {
2704
250k
            if (yyaccept <= 9) {
2705
249k
              if (yyaccept <= 8) {
2706
249k
                if (yyaccept == 7) {
2707
248k
                  goto yy142;
2708
248k
                } else {
2709
274
                  goto yy163;
2710
274
                }
2711
249k
              } else {
2712
218
                goto yy173;
2713
218
              }
2714
249k
            } else {
2715
781
              if (yyaccept <= 11) {
2716
543
                if (yyaccept == 10) {
2717
211
                  goto yy182;
2718
332
                } else {
2719
332
                  goto yy188;
2720
332
                }
2721
543
              } else {
2722
238
                goto yy197;
2723
238
              }
2724
781
            }
2725
250k
          }
2726
626k
        } else {
2727
10.7k
          if (yyaccept <= 18) {
2728
8.65k
            if (yyaccept <= 15) {
2729
5.59k
              if (yyaccept <= 14) {
2730
4.86k
                if (yyaccept == 13) {
2731
4.27k
                  goto yy213;
2732
4.27k
                } else {
2733
590
                  goto yy251;
2734
590
                }
2735
4.86k
              } else {
2736
730
                goto yy257;
2737
730
              }
2738
5.59k
            } else {
2739
3.06k
              if (yyaccept <= 17) {
2740
859
                if (yyaccept == 16) {
2741
368
                  goto yy260;
2742
491
                } else {
2743
491
                  goto yy279;
2744
491
                }
2745
2.20k
              } else {
2746
2.20k
                goto yy283;
2747
2.20k
              }
2748
3.06k
            }
2749
8.65k
          } else {
2750
2.14k
            if (yyaccept <= 21) {
2751
1.12k
              if (yyaccept <= 20) {
2752
830
                if (yyaccept == 19) {
2753
341
                  goto yy295;
2754
489
                } else {
2755
489
                  goto yy306;
2756
489
                }
2757
830
              } else {
2758
297
                goto yy319;
2759
297
              }
2760
1.12k
            } else {
2761
1.01k
              if (yyaccept <= 23) {
2762
666
                if (yyaccept == 22) {
2763
209
                  goto yy331;
2764
457
                } else {
2765
457
                  goto yy334;
2766
457
                }
2767
666
              } else {
2768
352
                goto yy336;
2769
352
              }
2770
1.01k
            }
2771
2.14k
          }
2772
10.7k
        }
2773
637k
      } else {
2774
11.9k
        if (yyaccept <= 36) {
2775
9.11k
          if (yyaccept <= 30) {
2776
7.21k
            if (yyaccept <= 27) {
2777
6.43k
              if (yyaccept <= 26) {
2778
6.23k
                if (yyaccept == 25) {
2779
360
                  goto yy339;
2780
5.87k
                } else {
2781
5.87k
                  goto yy89;
2782
5.87k
                }
2783
6.23k
              } else {
2784
200
                goto yy379;
2785
200
              }
2786
6.43k
            } else {
2787
785
              if (yyaccept <= 29) {
2788
540
                if (yyaccept == 28) {
2789
241
                  goto yy388;
2790
299
                } else {
2791
299
                  goto yy390;
2792
299
                }
2793
540
              } else {
2794
245
                goto yy399;
2795
245
              }
2796
785
            }
2797
7.21k
          } else {
2798
1.90k
            if (yyaccept <= 33) {
2799
741
              if (yyaccept <= 32) {
2800
533
                if (yyaccept == 31) {
2801
212
                  goto yy401;
2802
321
                } else {
2803
321
                  goto yy408;
2804
321
                }
2805
533
              } else {
2806
208
                goto yy415;
2807
208
              }
2808
1.16k
            } else {
2809
1.16k
              if (yyaccept <= 35) {
2810
885
                if (yyaccept == 34) {
2811
405
                  goto yy471;
2812
480
                } else {
2813
480
                  goto yy473;
2814
480
                }
2815
885
              } else {
2816
276
                goto yy476;
2817
276
              }
2818
1.16k
            }
2819
1.90k
          }
2820
9.11k
        } else {
2821
2.86k
          if (yyaccept <= 42) {
2822
1.50k
            if (yyaccept <= 39) {
2823
682
              if (yyaccept <= 38) {
2824
432
                if (yyaccept == 37) {
2825
226
                  goto yy478;
2826
226
                } else {
2827
206
                  goto yy480;
2828
206
                }
2829
432
              } else {
2830
250
                goto yy482;
2831
250
              }
2832
825
            } else {
2833
825
              if (yyaccept <= 41) {
2834
480
                if (yyaccept == 40) {
2835
237
                  goto yy488;
2836
243
                } else {
2837
243
                  goto yy492;
2838
243
                }
2839
480
              } else {
2840
345
                goto yy501;
2841
345
              }
2842
825
            }
2843
1.50k
          } else {
2844
1.35k
            if (yyaccept <= 45) {
2845
732
              if (yyaccept <= 44) {
2846
468
                if (yyaccept == 43) {
2847
226
                  goto yy511;
2848
242
                } else {
2849
242
                  goto yy513;
2850
242
                }
2851
468
              } else {
2852
264
                goto yy516;
2853
264
              }
2854
732
            } else {
2855
624
              if (yyaccept <= 47) {
2856
415
                if (yyaccept == 46) {
2857
200
                  goto yy526;
2858
215
                } else {
2859
215
                  goto yy528;
2860
215
                }
2861
415
              } else {
2862
209
                goto yy530;
2863
209
              }
2864
624
            }
2865
1.35k
          }
2866
2.86k
        }
2867
11.9k
      }
2868
649k
    } else {
2869
178k
      if (yyaccept <= 72) {
2870
155k
        if (yyaccept <= 60) {
2871
150k
          if (yyaccept <= 54) {
2872
147k
            if (yyaccept <= 51) {
2873
50.2k
              if (yyaccept <= 50) {
2874
50.0k
                if (yyaccept == 49) {
2875
197
                  goto yy532;
2876
49.8k
                } else {
2877
49.8k
                  goto yy534;
2878
49.8k
                }
2879
50.0k
              } else {
2880
204
                goto yy576;
2881
204
              }
2882
97.2k
            } else {
2883
97.2k
              if (yyaccept <= 53) {
2884
97.0k
                if (yyaccept == 52) {
2885
201
                  goto yy579;
2886
96.8k
                } else {
2887
96.8k
                  goto yy583;
2888
96.8k
                }
2889
97.0k
              } else {
2890
248
                goto yy597;
2891
248
              }
2892
97.2k
            }
2893
147k
          } else {
2894
3.11k
            if (yyaccept <= 57) {
2895
2.22k
              if (yyaccept <= 56) {
2896
1.67k
                if (yyaccept == 55) {
2897
1.41k
                  goto yy607;
2898
1.41k
                } else {
2899
262
                  goto yy611;
2900
262
                }
2901
1.67k
              } else {
2902
549
                goto yy613;
2903
549
              }
2904
2.22k
            } else {
2905
888
              if (yyaccept <= 59) {
2906
411
                if (yyaccept == 58) {
2907
211
                  goto yy615;
2908
211
                } else {
2909
200
                  goto yy654;
2910
200
                }
2911
477
              } else {
2912
477
                goto yy656;
2913
477
              }
2914
888
            }
2915
3.11k
          }
2916
150k
        } else {
2917
5.11k
          if (yyaccept <= 66) {
2918
3.52k
            if (yyaccept <= 63) {
2919
655
              if (yyaccept <= 62) {
2920
452
                if (yyaccept == 61) {
2921
228
                  goto yy671;
2922
228
                } else {
2923
224
                  goto yy673;
2924
224
                }
2925
452
              } else {
2926
203
                goto yy675;
2927
203
              }
2928
2.87k
            } else {
2929
2.87k
              if (yyaccept <= 65) {
2930
2.50k
                if (yyaccept == 64) {
2931
213
                  goto yy679;
2932
2.29k
                } else {
2933
2.29k
                  goto yy685;
2934
2.29k
                }
2935
2.50k
              } else {
2936
368
                goto yy690;
2937
368
              }
2938
2.87k
            }
2939
3.52k
          } else {
2940
1.58k
            if (yyaccept <= 69) {
2941
717
              if (yyaccept <= 68) {
2942
415
                if (yyaccept == 67) {
2943
209
                  goto yy700;
2944
209
                } else {
2945
206
                  goto yy726;
2946
206
                }
2947
415
              } else {
2948
302
                goto yy728;
2949
302
              }
2950
865
            } else {
2951
865
              if (yyaccept <= 71) {
2952
614
                if (yyaccept == 70) {
2953
231
                  goto yy730;
2954
383
                } else {
2955
383
                  goto yy735;
2956
383
                }
2957
614
              } else {
2958
251
                goto yy743;
2959
251
              }
2960
865
            }
2961
1.58k
          }
2962
5.11k
        }
2963
155k
      } else {
2964
22.3k
        if (yyaccept <= 84) {
2965
5.63k
          if (yyaccept <= 78) {
2966
1.96k
            if (yyaccept <= 75) {
2967
1.26k
              if (yyaccept <= 74) {
2968
1.01k
                if (yyaccept == 73) {
2969
798
                  goto yy754;
2970
798
                } else {
2971
219
                  goto yy764;
2972
219
                }
2973
1.01k
              } else {
2974
244
                goto yy768;
2975
244
              }
2976
1.26k
            } else {
2977
708
              if (yyaccept <= 77) {
2978
511
                if (yyaccept == 76) {
2979
316
                  goto yy784;
2980
316
                } else {
2981
195
                  goto yy797;
2982
195
                }
2983
511
              } else {
2984
197
                goto yy799;
2985
197
              }
2986
708
            }
2987
3.66k
          } else {
2988
3.66k
            if (yyaccept <= 81) {
2989
2.51k
              if (yyaccept <= 80) {
2990
2.31k
                if (yyaccept == 79) {
2991
731
                  goto yy801;
2992
1.58k
                } else {
2993
1.58k
                  goto yy804;
2994
1.58k
                }
2995
2.31k
              } else {
2996
205
                goto yy812;
2997
205
              }
2998
2.51k
            } else {
2999
1.15k
              if (yyaccept <= 83) {
3000
795
                if (yyaccept == 82) {
3001
219
                  goto yy819;
3002
576
                } else {
3003
576
                  goto yy823;
3004
576
                }
3005
795
              } else {
3006
356
                goto yy825;
3007
356
              }
3008
1.15k
            }
3009
3.66k
          }
3010
16.6k
        } else {
3011
16.6k
          if (yyaccept <= 90) {
3012
1.71k
            if (yyaccept <= 87) {
3013
762
              if (yyaccept <= 86) {
3014
487
                if (yyaccept == 85) {
3015
274
                  goto yy836;
3016
274
                } else {
3017
213
                  goto yy839;
3018
213
                }
3019
487
              } else {
3020
275
                goto yy854;
3021
275
              }
3022
957
            } else {
3023
957
              if (yyaccept <= 89) {
3024
739
                if (yyaccept == 88) {
3025
530
                  goto yy869;
3026
530
                } else {
3027
209
                  goto yy898;
3028
209
                }
3029
739
              } else {
3030
218
                goto yy903;
3031
218
              }
3032
957
            }
3033
14.9k
          } else {
3034
14.9k
            if (yyaccept <= 93) {
3035
12.3k
              if (yyaccept <= 92) {
3036
12.1k
                if (yyaccept == 91) {
3037
11.9k
                  goto yy876;
3038
11.9k
                } else {
3039
203
                  goto yy911;
3040
203
                }
3041
12.1k
              } else {
3042
213
                goto yy915;
3043
213
              }
3044
12.3k
            } else {
3045
2.59k
              if (yyaccept <= 95) {
3046
2.06k
                if (yyaccept == 94) {
3047
1.85k
                  goto yy886;
3048
1.85k
                } else {
3049
212
                  goto yy931;
3050
212
                }
3051
2.06k
              } else {
3052
526
                goto yy951;
3053
526
              }
3054
2.59k
            }
3055
14.9k
          }
3056
16.6k
        }
3057
22.3k
      }
3058
178k
    }
3059
157k
yy87:
3060
157k
    YYDEBUG(87, *YYCURSOR);
3061
157k
    ++YYCURSOR;
3062
157k
    YYFILL(1);
3063
157k
    yych = *YYCURSOR;
3064
157k
    if (yych <= '\f') {
3065
35.7k
      if (yych <= 0x00) goto yy86;
3066
35.2k
      if (yych == '\n') goto yy227;
3067
787
      goto yy225;
3068
121k
    } else {
3069
121k
      if (yych <= '\r') goto yy227;
3070
8.74k
      if (yych == '[') goto yy86;
3071
8.53k
      goto yy225;
3072
8.74k
    }
3073
22.2k
yy88:
3074
22.2k
    YYDEBUG(88, *YYCURSOR);
3075
22.2k
    ++YYCURSOR;
3076
29.1k
yy89:
3077
29.1k
    YYDEBUG(89, *YYCURSOR);
3078
29.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3079
29.1k
#line 1949 "Zend/zend_language_scanner.l"
3080
29.1k
    {
3081
29.1k
  yyless(1);
3082
29.1k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3083
29.1k
}
3084
0
#line 3085 "Zend/zend_language_scanner.c"
3085
15.5k
yy90:
3086
15.5k
    YYDEBUG(90, *YYCURSOR);
3087
15.5k
    ++YYCURSOR;
3088
15.5k
    YYDEBUG(91, *YYCURSOR);
3089
15.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3090
15.5k
#line 1925 "Zend/zend_language_scanner.l"
3091
15.5k
    {
3092
15.5k
  RETURN_TOKEN(T_BOOLEAN_AND);
3093
15.5k
}
3094
0
#line 3095 "Zend/zend_language_scanner.c"
3095
4.07k
yy92:
3096
4.07k
    YYDEBUG(92, *YYCURSOR);
3097
4.07k
    yych = *++YYCURSOR;
3098
4.07k
    if (yych == '.') goto yy229;
3099
2.39k
    goto yy86;
3100
4.83k
yy93:
3101
4.83k
    YYDEBUG(93, *YYCURSOR);
3102
4.83k
    ++YYCURSOR;
3103
4.83k
    YYFILL(1);
3104
4.83k
    yych = *YYCURSOR;
3105
4.83k
    if (yych == '*') goto yy230;
3106
1.99k
    if (yych == '/') goto yy225;
3107
1.45k
    goto yy86;
3108
19.2k
yy94:
3109
19.2k
    YYDEBUG(94, *YYCURSOR);
3110
19.2k
    ++YYCURSOR;
3111
19.2k
    YYDEBUG(95, *YYCURSOR);
3112
19.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3113
19.2k
#line 1901 "Zend/zend_language_scanner.l"
3114
19.2k
    {
3115
19.2k
  RETURN_TOKEN(T_AND_EQUAL);
3116
19.2k
}
3117
0
#line 3118 "Zend/zend_language_scanner.c"
3118
191k
yy96:
3119
191k
    YYDEBUG(96, *YYCURSOR);
3120
191k
    ++YYCURSOR;
3121
191k
    YYFILL(7);
3122
191k
    yych = *YYCURSOR;
3123
452k
yy97:
3124
452k
    YYDEBUG(97, *YYCURSOR);
3125
452k
    if (yybm[0+yych] & 1) {
3126
191k
      goto yy96;
3127
191k
    }
3128
260k
    switch (yych) {
3129
6.01k
    case 'A':
3130
39.3k
    case 'a': goto yy98;
3131
5.28k
    case 'B':
3132
16.2k
    case 'b': goto yy99;
3133
1.67k
    case 'D':
3134
7.03k
    case 'd': goto yy100;
3135
3.08k
    case 'F':
3136
27.5k
    case 'f': goto yy101;
3137
1.73k
    case 'I':
3138
37.9k
    case 'i': goto yy102;
3139
3.80k
    case 'O':
3140
12.7k
    case 'o': goto yy103;
3141
880
    case 'R':
3142
8.57k
    case 'r': goto yy104;
3143
3.66k
    case 'S':
3144
33.3k
    case 's': goto yy105;
3145
1.16k
    case 'U':
3146
6.38k
    case 'u': goto yy106;
3147
962
    case 'V':
3148
6.04k
    case 'v': goto yy107;
3149
65.7k
    default:  goto yy86;
3150
260k
    }
3151
39.3k
yy98:
3152
39.3k
    YYDEBUG(98, *YYCURSOR);
3153
39.3k
    yych = *++YYCURSOR;
3154
39.3k
    if (yych == 'R') goto yy232;
3155
39.0k
    if (yych == 'r') goto yy232;
3156
27.1k
    goto yy86;
3157
27.1k
yy99:
3158
16.2k
    YYDEBUG(99, *YYCURSOR);
3159
16.2k
    yych = *++YYCURSOR;
3160
16.2k
    if (yych <= 'O') {
3161
6.53k
      if (yych == 'I') goto yy233;
3162
6.19k
      if (yych <= 'N') goto yy86;
3163
584
      goto yy234;
3164
9.68k
    } else {
3165
9.68k
      if (yych <= 'i') {
3166
4.60k
        if (yych <= 'h') goto yy86;
3167
2.97k
        goto yy233;
3168
5.07k
      } else {
3169
5.07k
        if (yych == 'o') goto yy234;
3170
1.44k
        goto yy86;
3171
5.07k
      }
3172
9.68k
    }
3173
7.03k
yy100:
3174
7.03k
    YYDEBUG(100, *YYCURSOR);
3175
7.03k
    yych = *++YYCURSOR;
3176
7.03k
    if (yych == 'O') goto yy235;
3177
6.58k
    if (yych == 'o') goto yy235;
3178
3.54k
    goto yy86;
3179
27.5k
yy101:
3180
27.5k
    YYDEBUG(101, *YYCURSOR);
3181
27.5k
    yych = *++YYCURSOR;
3182
27.5k
    if (yych == 'L') goto yy236;
3183
27.1k
    if (yych == 'l') goto yy236;
3184
21.7k
    goto yy86;
3185
37.9k
yy102:
3186
37.9k
    YYDEBUG(102, *YYCURSOR);
3187
37.9k
    yych = *++YYCURSOR;
3188
37.9k
    if (yych == 'N') goto yy237;
3189
36.8k
    if (yych == 'n') goto yy237;
3190
22.3k
    goto yy86;
3191
22.3k
yy103:
3192
12.7k
    YYDEBUG(103, *YYCURSOR);
3193
12.7k
    yych = *++YYCURSOR;
3194
12.7k
    if (yych == 'B') goto yy238;
3195
12.4k
    if (yych == 'b') goto yy238;
3196
6.37k
    goto yy86;
3197
8.57k
yy104:
3198
8.57k
    YYDEBUG(104, *YYCURSOR);
3199
8.57k
    yych = *++YYCURSOR;
3200
8.57k
    if (yych == 'E') goto yy239;
3201
7.97k
    if (yych == 'e') goto yy239;
3202
3.76k
    goto yy86;
3203
33.3k
yy105:
3204
33.3k
    YYDEBUG(105, *YYCURSOR);
3205
33.3k
    yych = *++YYCURSOR;
3206
33.3k
    if (yych == 'T') goto yy240;
3207
32.6k
    if (yych == 't') goto yy240;
3208
18.4k
    goto yy86;
3209
18.4k
yy106:
3210
6.38k
    YYDEBUG(106, *YYCURSOR);
3211
6.38k
    yych = *++YYCURSOR;
3212
6.38k
    if (yych == 'N') goto yy241;
3213
5.76k
    if (yych == 'n') goto yy241;
3214
2.18k
    goto yy86;
3215
6.04k
yy107:
3216
6.04k
    YYDEBUG(107, *YYCURSOR);
3217
6.04k
    yych = *++YYCURSOR;
3218
6.04k
    if (yych == 'O') goto yy242;
3219
5.66k
    if (yych == 'o') goto yy242;
3220
3.00k
    goto yy86;
3221
19.3k
yy108:
3222
19.3k
    YYDEBUG(108, *YYCURSOR);
3223
19.3k
    yych = *++YYCURSOR;
3224
19.3k
    if (yych == '=') goto yy243;
3225
18.8k
    YYDEBUG(109, *YYCURSOR);
3226
18.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3227
18.8k
#line 1873 "Zend/zend_language_scanner.l"
3228
18.8k
    {
3229
18.8k
  RETURN_TOKEN(T_POW);
3230
18.8k
}
3231
0
#line 3232 "Zend/zend_language_scanner.c"
3232
6.78k
yy110:
3233
6.78k
    YYDEBUG(110, *YYCURSOR);
3234
6.78k
    ++YYCURSOR;
3235
6.78k
    YYDEBUG(111, *YYCURSOR);
3236
6.78k
    yyleng = YYCURSOR - SCNG(yy_text);
3237
6.78k
#line 1869 "Zend/zend_language_scanner.l"
3238
6.78k
    {
3239
6.78k
  RETURN_TOKEN(T_MUL_EQUAL);
3240
6.78k
}
3241
0
#line 3242 "Zend/zend_language_scanner.c"
3242
41.5k
yy112:
3243
41.5k
    YYDEBUG(112, *YYCURSOR);
3244
41.5k
    ++YYCURSOR;
3245
41.5k
    YYDEBUG(113, *YYCURSOR);
3246
41.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3247
41.5k
#line 1825 "Zend/zend_language_scanner.l"
3248
41.5k
    {
3249
41.5k
  RETURN_TOKEN(T_INC);
3250
41.5k
}
3251
0
#line 3252 "Zend/zend_language_scanner.c"
3252
4.27k
yy114:
3253
4.27k
    YYDEBUG(114, *YYCURSOR);
3254
4.27k
    ++YYCURSOR;
3255
4.27k
    YYDEBUG(115, *YYCURSOR);
3256
4.27k
    yyleng = YYCURSOR - SCNG(yy_text);
3257
4.27k
#line 1861 "Zend/zend_language_scanner.l"
3258
4.27k
    {
3259
4.27k
  RETURN_TOKEN(T_PLUS_EQUAL);
3260
4.27k
}
3261
0
#line 3262 "Zend/zend_language_scanner.c"
3262
12.8k
yy116:
3263
12.8k
    YYDEBUG(116, *YYCURSOR);
3264
12.8k
    ++YYCURSOR;
3265
12.8k
    YYDEBUG(117, *YYCURSOR);
3266
12.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3267
12.8k
#line 1829 "Zend/zend_language_scanner.l"
3268
12.8k
    {
3269
12.8k
  RETURN_TOKEN(T_DEC);
3270
12.8k
}
3271
0
#line 3272 "Zend/zend_language_scanner.c"
3272
2.92k
yy118:
3273
2.92k
    YYDEBUG(118, *YYCURSOR);
3274
2.92k
    ++YYCURSOR;
3275
2.92k
    YYDEBUG(119, *YYCURSOR);
3276
2.92k
    yyleng = YYCURSOR - SCNG(yy_text);
3277
2.92k
#line 1865 "Zend/zend_language_scanner.l"
3278
2.92k
    {
3279
2.92k
  RETURN_TOKEN(T_MINUS_EQUAL);
3280
2.92k
}
3281
0
#line 3282 "Zend/zend_language_scanner.c"
3282
131k
yy120:
3283
131k
    YYDEBUG(120, *YYCURSOR);
3284
131k
    ++YYCURSOR;
3285
131k
    YYDEBUG(121, *YYCURSOR);
3286
131k
    yyleng = YYCURSOR - SCNG(yy_text);
3287
131k
#line 1586 "Zend/zend_language_scanner.l"
3288
131k
    {
3289
131k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3290
131k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3291
131k
}
3292
0
#line 3293 "Zend/zend_language_scanner.c"
3293
53.9k
yy122:
3294
53.9k
    YYDEBUG(122, *YYCURSOR);
3295
53.9k
    yych = *++YYCURSOR;
3296
53.9k
    if (yych == '.') goto yy245;
3297
14.0k
    goto yy86;
3298
387k
yy123:
3299
387k
    YYDEBUG(123, *YYCURSOR);
3300
387k
    yyaccept = 5;
3301
387k
    YYMARKER = ++YYCURSOR;
3302
387k
    YYFILL(2);
3303
387k
    yych = *YYCURSOR;
3304
431k
yy124:
3305
431k
    YYDEBUG(124, *YYCURSOR);
3306
431k
    if (yych <= 'E') {
3307
410k
      if (yych <= '/') goto yy125;
3308
370k
      if (yych <= '9') goto yy123;
3309
19.1k
      if (yych >= 'E') goto yy135;
3310
21.3k
    } else {
3311
21.3k
      if (yych <= '_') {
3312
5.23k
        if (yych >= '_') goto yy247;
3313
16.1k
      } else {
3314
16.1k
        if (yych == 'e') goto yy135;
3315
16.1k
      }
3316
21.3k
    }
3317
107k
yy125:
3318
107k
    YYDEBUG(125, *YYCURSOR);
3319
107k
    yyleng = YYCURSOR - SCNG(yy_text);
3320
107k
#line 2232 "Zend/zend_language_scanner.l"
3321
107k
    {
3322
107k
  const char *end;
3323
107k
  size_t len = yyleng;
3324
107k
  char *dnum = yytext;
3325
107k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3326
3327
107k
  if (contains_underscores) {
3328
1.29k
    dnum = estrndup(dnum, len);
3329
1.29k
    strip_underscores(dnum, &len);
3330
1.29k
  }
3331
3332
107k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3333
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3334
107k
  ZEND_ASSERT(end == dnum + len);
3335
107k
  if (contains_underscores) {
3336
1.29k
    efree(dnum);
3337
1.29k
  }
3338
107k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3339
107k
}
3340
0
#line 3341 "Zend/zend_language_scanner.c"
3341
136k
yy126:
3342
136k
    YYDEBUG(126, *YYCURSOR);
3343
136k
    ++YYCURSOR;
3344
136k
    YYDEBUG(127, *YYCURSOR);
3345
136k
    yyleng = YYCURSOR - SCNG(yy_text);
3346
136k
#line 1885 "Zend/zend_language_scanner.l"
3347
136k
    {
3348
136k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3349
136k
}
3350
0
#line 3351 "Zend/zend_language_scanner.c"
3351
94.9k
yy128:
3352
94.9k
    YYDEBUG(128, *YYCURSOR);
3353
94.9k
    yyaccept = 6;
3354
94.9k
    yych = *(YYMARKER = ++YYCURSOR);
3355
94.9k
    if (yych == '*') goto yy248;
3356
94.9k
yy129:
3357
94.9k
    YYDEBUG(129, *YYCURSOR);
3358
94.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3359
94.9k
#line 2483 "Zend/zend_language_scanner.l"
3360
94.9k
    {
3361
94.9k
  int doc_com;
3362
3363
94.9k
  if (yyleng > 2) {
3364
7.23k
    doc_com = 1;
3365
7.23k
    RESET_DOC_COMMENT();
3366
87.7k
  } else {
3367
87.7k
    doc_com = 0;
3368
87.7k
  }
3369
3370
8.81M
  while (YYCURSOR < YYLIMIT) {
3371
8.79M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3372
68.9k
      break;
3373
68.9k
    }
3374
8.79M
  }
3375
3376
94.9k
  if (YYCURSOR < YYLIMIT) {
3377
68.9k
    YYCURSOR++;
3378
68.9k
  } else {
3379
26.0k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
3380
26.0k
    if (PARSER_MODE()) {
3381
1.41k
      RETURN_TOKEN(T_ERROR);
3382
1.41k
    }
3383
26.0k
  }
3384
3385
93.5k
  yyleng = YYCURSOR - SCNG(yy_text);
3386
93.5k
  HANDLE_NEWLINES(yytext, yyleng);
3387
3388
93.5k
  if (doc_com) {
3389
7.12k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3390
7.12k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3391
7.12k
  }
3392
3393
86.4k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3394
86.4k
}
3395
0
#line 3396 "Zend/zend_language_scanner.c"
3396
78.0k
yy130:
3397
78.0k
    YYDEBUG(130, *YYCURSOR);
3398
78.0k
    ++YYCURSOR;
3399
78.0k
    goto yy13;
3400
2.50k
yy131:
3401
2.50k
    YYDEBUG(131, *YYCURSOR);
3402
2.50k
    ++YYCURSOR;
3403
2.50k
    YYDEBUG(132, *YYCURSOR);
3404
2.50k
    yyleng = YYCURSOR - SCNG(yy_text);
3405
2.50k
#line 1881 "Zend/zend_language_scanner.l"
3406
2.50k
    {
3407
2.50k
  RETURN_TOKEN(T_DIV_EQUAL);
3408
2.50k
}
3409
0
#line 3410 "Zend/zend_language_scanner.c"
3410
44.3k
yy133:
3411
44.3k
    YYDEBUG(133, *YYCURSOR);
3412
44.3k
    yyaccept = 5;
3413
44.3k
    yych = *(YYMARKER = ++YYCURSOR);
3414
44.3k
    if (yych == '_') goto yy125;
3415
44.1k
    goto yy124;
3416
44.1k
yy134:
3417
6.99k
    YYDEBUG(134, *YYCURSOR);
3418
6.99k
    ++YYCURSOR;
3419
6.99k
    YYFILL(1);
3420
6.99k
    yych = *YYCURSOR;
3421
6.99k
    if (yybm[0+yych] & 8) {
3422
4.98k
      goto yy249;
3423
4.98k
    }
3424
2.01k
    goto yy86;
3425
43.1k
yy135:
3426
43.1k
    YYDEBUG(135, *YYCURSOR);
3427
43.1k
    yych = *++YYCURSOR;
3428
43.1k
    if (yych <= ',') {
3429
2.74k
      if (yych == '+') goto yy252;
3430
1.53k
      goto yy86;
3431
40.3k
    } else {
3432
40.3k
      if (yych <= '-') goto yy252;
3433
29.4k
      if (yych <= '/') goto yy86;
3434
29.1k
      if (yych <= '9') goto yy253;
3435
6.38k
      goto yy86;
3436
29.1k
    }
3437
5.29k
yy136:
3438
5.29k
    YYDEBUG(136, *YYCURSOR);
3439
5.29k
    ++YYCURSOR;
3440
5.29k
    YYFILL(1);
3441
5.29k
    yych = *YYCURSOR;
3442
5.29k
    if (yybm[0+yych] & 16) {
3443
3.33k
      goto yy255;
3444
3.33k
    }
3445
1.96k
    goto yy86;
3446
8.74k
yy137:
3447
8.74k
    YYDEBUG(137, *YYCURSOR);
3448
8.74k
    ++YYCURSOR;
3449
8.74k
    YYFILL(1);
3450
8.74k
    yych = *YYCURSOR;
3451
8.74k
    if (yybm[0+yych] & 32) {
3452
7.88k
      goto yy258;
3453
7.88k
    }
3454
863
    goto yy86;
3455
9.28k
yy138:
3456
9.28k
    YYDEBUG(138, *YYCURSOR);
3457
9.28k
    ++YYCURSOR;
3458
9.28k
    YYFILL(1);
3459
9.28k
    yych = *YYCURSOR;
3460
9.28k
    if (yybm[256+yych] & 64) {
3461
2.50k
      goto yy32;
3462
2.50k
    }
3463
6.78k
    goto yy86;
3464
115k
yy139:
3465
115k
    YYDEBUG(139, *YYCURSOR);
3466
115k
    ++YYCURSOR;
3467
115k
    YYDEBUG(140, *YYCURSOR);
3468
115k
    yyleng = YYCURSOR - SCNG(yy_text);
3469
115k
#line 1613 "Zend/zend_language_scanner.l"
3470
115k
    {
3471
115k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3472
115k
}
3473
0
#line 3474 "Zend/zend_language_scanner.c"
3474
3.80M
yy141:
3475
3.80M
    YYDEBUG(141, *YYCURSOR);
3476
3.80M
    yyaccept = 7;
3477
3.80M
    yych = *(YYMARKER = ++YYCURSOR);
3478
3.80M
    if (yych <= ';') goto yy142;
3479
3.72M
    if (yych <= '<') goto yy261;
3480
179k
    if (yych <= '=') goto yy263;
3481
505k
yy142:
3482
505k
    YYDEBUG(142, *YYCURSOR);
3483
505k
    yyleng = YYCURSOR - SCNG(yy_text);
3484
505k
#line 1941 "Zend/zend_language_scanner.l"
3485
505k
    {
3486
505k
  RETURN_TOKEN(T_SL);
3487
505k
}
3488
0
#line 3489 "Zend/zend_language_scanner.c"
3489
12.3k
yy143:
3490
12.3k
    YYDEBUG(143, *YYCURSOR);
3491
12.3k
    yych = *++YYCURSOR;
3492
12.3k
    if (yych == '>') goto yy265;
3493
11.8k
    YYDEBUG(144, *YYCURSOR);
3494
11.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3495
11.8k
#line 1853 "Zend/zend_language_scanner.l"
3496
11.8k
    {
3497
11.8k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3498
11.8k
}
3499
0
#line 3500 "Zend/zend_language_scanner.c"
3500
5.78k
yy145:
3501
5.78k
    YYDEBUG(145, *YYCURSOR);
3502
5.78k
    ++YYCURSOR;
3503
5.78k
    goto yy76;
3504
37.6k
yy146:
3505
37.6k
    YYDEBUG(146, *YYCURSOR);
3506
37.6k
    yych = *++YYCURSOR;
3507
37.6k
    if (yych == '=') goto yy267;
3508
25.2k
    YYDEBUG(147, *YYCURSOR);
3509
25.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3510
25.2k
#line 1841 "Zend/zend_language_scanner.l"
3511
25.2k
    {
3512
25.2k
  RETURN_TOKEN(T_IS_EQUAL);
3513
25.2k
}
3514
0
#line 3515 "Zend/zend_language_scanner.c"
3515
55.6k
yy148:
3516
55.6k
    YYDEBUG(148, *YYCURSOR);
3517
55.6k
    ++YYCURSOR;
3518
55.6k
    YYDEBUG(149, *YYCURSOR);
3519
55.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3520
55.6k
#line 1809 "Zend/zend_language_scanner.l"
3521
55.6k
    {
3522
55.6k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3523
55.6k
}
3524
0
#line 3525 "Zend/zend_language_scanner.c"
3525
5.27k
yy150:
3526
5.27k
    YYDEBUG(150, *YYCURSOR);
3527
5.27k
    ++YYCURSOR;
3528
5.27k
    YYDEBUG(151, *YYCURSOR);
3529
5.27k
    yyleng = YYCURSOR - SCNG(yy_text);
3530
5.27k
#line 1857 "Zend/zend_language_scanner.l"
3531
5.27k
    {
3532
5.27k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3533
5.27k
}
3534
0
#line 3535 "Zend/zend_language_scanner.c"
3535
8.16k
yy152:
3536
8.16k
    YYDEBUG(152, *YYCURSOR);
3537
8.16k
    yych = *++YYCURSOR;
3538
8.16k
    if (yych == '=') goto yy269;
3539
6.84k
    YYDEBUG(153, *YYCURSOR);
3540
6.84k
    yyleng = YYCURSOR - SCNG(yy_text);
3541
6.84k
#line 1945 "Zend/zend_language_scanner.l"
3542
6.84k
    {
3543
6.84k
  RETURN_TOKEN(T_SR);
3544
6.84k
}
3545
0
#line 3546 "Zend/zend_language_scanner.c"
3546
45.7k
yy154:
3547
45.7k
    YYDEBUG(154, *YYCURSOR);
3548
45.7k
    yych = *++YYCURSOR;
3549
45.7k
    if (yych == '>') goto yy271;
3550
3.21k
    goto yy86;
3551
146k
yy155:
3552
146k
    YYDEBUG(155, *YYCURSOR);
3553
146k
    yych = *++YYCURSOR;
3554
146k
    if (yych == '\n') goto yy273;
3555
138k
    if (yych == '\r') goto yy274;
3556
146k
yy156:
3557
146k
    YYDEBUG(156, *YYCURSOR);
3558
146k
    yyleng = YYCURSOR - SCNG(yy_text);
3559
146k
#line 2525 "Zend/zend_language_scanner.l"
3560
146k
    {
3561
146k
  BEGIN(INITIAL);
3562
146k
  if (yytext[yyleng-1] != '>') {
3563
9.36k
    CG(increment_lineno) = 1;
3564
9.36k
  }
3565
146k
  if (PARSER_MODE()) {
3566
127k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3567
127k
  }
3568
18.8k
  RETURN_TOKEN(T_CLOSE_TAG);
3569
18.8k
}
3570
0
#line 3571 "Zend/zend_language_scanner.c"
3571
57.5k
yy157:
3572
57.5k
    YYDEBUG(157, *YYCURSOR);
3573
57.5k
    yych = *++YYCURSOR;
3574
57.5k
    if (yych == '=') goto yy275;
3575
46.7k
    YYDEBUG(158, *YYCURSOR);
3576
46.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3577
46.7k
#line 1621 "Zend/zend_language_scanner.l"
3578
46.7k
    {
3579
46.7k
  RETURN_TOKEN(T_COALESCE);
3580
46.7k
}
3581
0
#line 3582 "Zend/zend_language_scanner.c"
3582
14.4k
yy159:
3583
14.4k
    YYDEBUG(159, *YYCURSOR);
3584
14.4k
    yyaccept = 4;
3585
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
3586
14.4k
    if (yych == 'S') goto yy277;
3587
12.9k
    if (yych == 's') goto yy277;
3588
4.49k
    goto yy48;
3589
12.2k
yy160:
3590
12.2k
    YYDEBUG(160, *YYCURSOR);
3591
12.2k
    yyaccept = 4;
3592
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
3593
12.2k
    if (yych == 'D') goto yy278;
3594
11.2k
    if (yych == 'd') goto yy278;
3595
3.00k
    goto yy48;
3596
37.0k
yy161:
3597
37.0k
    YYDEBUG(161, *YYCURSOR);
3598
37.0k
    yyaccept = 4;
3599
37.0k
    yych = *(YYMARKER = ++YYCURSOR);
3600
37.0k
    if (yych == 'R') goto yy280;
3601
36.4k
    if (yych == 'r') goto yy280;
3602
7.91k
    goto yy48;
3603
67.0k
yy162:
3604
67.0k
    YYDEBUG(162, *YYCURSOR);
3605
67.0k
    yyaccept = 8;
3606
67.0k
    yych = *(YYMARKER = ++YYCURSOR);
3607
67.0k
    if (yybm[256+yych] & 128) {
3608
38.4k
      goto yy47;
3609
38.4k
    }
3610
28.5k
    if (yych == '\\') goto yy164;
3611
28.5k
yy163:
3612
28.5k
    YYDEBUG(163, *YYCURSOR);
3613
28.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3614
28.5k
#line 1509 "Zend/zend_language_scanner.l"
3615
28.5k
    {
3616
28.5k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3617
28.5k
}
3618
0
#line 3619 "Zend/zend_language_scanner.c"
3619
81.0k
yy164:
3620
81.0k
    YYDEBUG(164, *YYCURSOR);
3621
81.0k
    ++YYCURSOR;
3622
81.0k
    YYFILL(1);
3623
81.0k
    yych = *YYCURSOR;
3624
81.0k
    if (yych <= '_') {
3625
53.1k
      if (yych <= '@') goto yy86;
3626
28.3k
      if (yych <= 'Z') goto yy281;
3627
14.7k
      if (yych <= '^') goto yy86;
3628
1.42k
      goto yy281;
3629
27.9k
    } else {
3630
27.9k
      if (yych <= '`') goto yy86;
3631
26.6k
      if (yych <= 'z') goto yy281;
3632
14.0k
      if (yych <= 0x7F) goto yy86;
3633
5.48k
      goto yy281;
3634
14.0k
    }
3635
5.54k
yy165:
3636
5.54k
    YYDEBUG(165, *YYCURSOR);
3637
5.54k
    yych = *++YYCURSOR;
3638
5.54k
    if (yych == '<') goto yy284;
3639
1.61k
    goto yy86;
3640
6.02k
yy166:
3641
6.02k
    YYDEBUG(166, *YYCURSOR);
3642
6.02k
    yyaccept = 4;
3643
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
3644
6.02k
    if (yych == 'E') goto yy285;
3645
5.39k
    if (yych == 'e') goto yy285;
3646
1.63k
    goto yy48;
3647
86.3k
yy167:
3648
86.3k
    YYDEBUG(167, *YYCURSOR);
3649
86.3k
    yyaccept = 4;
3650
86.3k
    yych = *(YYMARKER = ++YYCURSOR);
3651
86.3k
    if (yych <= 'T') {
3652
5.38k
      if (yych <= 'L') {
3653
3.71k
        if (yych <= 'K') goto yy48;
3654
1.14k
        goto yy286;
3655
3.71k
      } else {
3656
1.66k
        if (yych <= 'R') goto yy48;
3657
1.39k
        if (yych <= 'S') goto yy287;
3658
854
        goto yy288;
3659
1.39k
      }
3660
80.9k
    } else {
3661
80.9k
      if (yych <= 'r') {
3662
18.6k
        if (yych == 'l') goto yy286;
3663
1.95k
        goto yy48;
3664
62.2k
      } else {
3665
62.2k
        if (yych <= 's') goto yy287;
3666
51.4k
        if (yych <= 't') goto yy288;
3667
1.23k
        goto yy48;
3668
51.4k
      }
3669
80.9k
    }
3670
101k
yy168:
3671
101k
    YYDEBUG(168, *YYCURSOR);
3672
101k
    yyaccept = 4;
3673
101k
    yych = *(YYMARKER = ++YYCURSOR);
3674
101k
    if (yych <= 'O') {
3675
8.54k
      if (yych == 'A') goto yy289;
3676
6.32k
      if (yych <= 'N') goto yy48;
3677
1.42k
      goto yy290;
3678
93.0k
    } else {
3679
93.0k
      if (yych <= 'a') {
3680
82.9k
        if (yych <= '`') goto yy48;
3681
82.5k
        goto yy289;
3682
82.9k
      } else {
3683
10.1k
        if (yych == 'o') goto yy290;
3684
2.60k
        goto yy48;
3685
10.1k
      }
3686
93.0k
    }
3687
80.4k
yy169:
3688
80.4k
    YYDEBUG(169, *YYCURSOR);
3689
80.4k
    yyaccept = 4;
3690
80.4k
    yych = *(YYMARKER = ++YYCURSOR);
3691
80.4k
    if (yych == 'N') goto yy291;
3692
74.5k
    if (yych == 'n') goto yy291;
3693
10.2k
    goto yy48;
3694
29.0k
yy170:
3695
29.0k
    YYDEBUG(170, *YYCURSOR);
3696
29.0k
    yyaccept = 4;
3697
29.0k
    yych = *(YYMARKER = ++YYCURSOR);
3698
29.0k
    if (yych <= 'F') {
3699
4.90k
      if (yych == 'C') goto yy292;
3700
3.41k
      if (yych <= 'E') goto yy48;
3701
756
      goto yy293;
3702
24.1k
    } else {
3703
24.1k
      if (yych <= 'c') {
3704
10.0k
        if (yych <= 'b') goto yy48;
3705
7.08k
        goto yy292;
3706
14.0k
      } else {
3707
14.0k
        if (yych == 'f') goto yy293;
3708
5.11k
        goto yy48;
3709
14.0k
      }
3710
24.1k
    }
3711
9.11k
yy171:
3712
9.11k
    YYDEBUG(171, *YYCURSOR);
3713
9.11k
    yyaccept = 4;
3714
9.11k
    yych = *(YYMARKER = ++YYCURSOR);
3715
9.11k
    if (yych == 'E') goto yy294;
3716
8.46k
    if (yych == 'e') goto yy294;
3717
2.17k
    goto yy48;
3718
18.7k
yy172:
3719
18.7k
    YYDEBUG(172, *YYCURSOR);
3720
18.7k
    yyaccept = 9;
3721
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
3722
18.7k
    if (yybm[256+yych] & 128) {
3723
15.3k
      goto yy47;
3724
15.3k
    }
3725
3.46k
    if (yych == '\\') goto yy164;
3726
3.32k
yy173:
3727
3.32k
    YYDEBUG(173, *YYCURSOR);
3728
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
3729
3.32k
#line 1477 "Zend/zend_language_scanner.l"
3730
3.32k
    {
3731
3.32k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3732
3.32k
}
3733
0
#line 3734 "Zend/zend_language_scanner.c"
3734
95.2k
yy174:
3735
95.2k
    YYDEBUG(174, *YYCURSOR);
3736
95.2k
    yyaccept = 4;
3737
95.2k
    yych = *(YYMARKER = ++YYCURSOR);
3738
95.2k
    if (yych == 'H') goto yy296;
3739
94.6k
    if (yych == 'h') goto yy296;
3740
6.38k
    goto yy48;
3741
17.9k
yy175:
3742
17.9k
    YYDEBUG(175, *YYCURSOR);
3743
17.9k
    yyaccept = 4;
3744
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
3745
17.9k
    if (yych == 'S') goto yy297;
3746
16.5k
    if (yych == 's') goto yy297;
3747
3.52k
    goto yy48;
3748
9.00k
yy176:
3749
9.00k
    YYDEBUG(176, *YYCURSOR);
3750
9.00k
    yyaccept = 4;
3751
9.00k
    yych = *(YYMARKER = ++YYCURSOR);
3752
9.00k
    if (yych == 'P') goto yy298;
3753
7.51k
    if (yych == 'p') goto yy298;
3754
3.47k
    goto yy48;
3755
249k
yy177:
3756
249k
    YYDEBUG(177, *YYCURSOR);
3757
249k
    yyaccept = 4;
3758
249k
    yych = *(YYMARKER = ++YYCURSOR);
3759
249k
    if (yych <= 'U') {
3760
33.9k
      if (yych == 'D') goto yy299;
3761
8.27k
      if (yych <= 'T') goto yy48;
3762
2.51k
      goto yy300;
3763
215k
    } else {
3764
215k
      if (yych <= 'd') {
3765
34.2k
        if (yych <= 'c') goto yy48;
3766
31.9k
        goto yy299;
3767
180k
      } else {
3768
180k
        if (yych == 'u') goto yy300;
3769
8.39k
        goto yy48;
3770
180k
      }
3771
215k
    }
3772
6.92k
yy178:
3773
6.92k
    YYDEBUG(178, *YYCURSOR);
3774
6.92k
    yyaccept = 4;
3775
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
3776
6.92k
    if (yych == 'A') goto yy301;
3777
6.47k
    if (yych == 'a') goto yy301;
3778
1.08k
    goto yy48;
3779
70.2k
yy179:
3780
70.2k
    YYDEBUG(179, *YYCURSOR);
3781
70.2k
    yyaccept = 4;
3782
70.2k
    yych = *(YYMARKER = ++YYCURSOR);
3783
70.2k
    if (yych <= 'T') {
3784
12.8k
      if (yych == 'I') goto yy302;
3785
12.4k
      if (yych <= 'S') goto yy48;
3786
1.52k
      goto yy303;
3787
57.3k
    } else {
3788
57.3k
      if (yych <= 'i') {
3789
30.7k
        if (yych <= 'h') goto yy48;
3790
2.86k
        goto yy302;
3791
30.7k
      } else {
3792
26.5k
        if (yych == 't') goto yy303;
3793
1.83k
        goto yy48;
3794
26.5k
      }
3795
57.3k
    }
3796
23.7k
yy180:
3797
23.7k
    YYDEBUG(180, *YYCURSOR);
3798
23.7k
    yyaccept = 4;
3799
23.7k
    yych = *(YYMARKER = ++YYCURSOR);
3800
23.7k
    if (yych == 'N') goto yy304;
3801
21.7k
    if (yych == 'n') goto yy304;
3802
7.84k
    goto yy48;
3803
22.1k
yy181:
3804
22.1k
    YYDEBUG(181, *YYCURSOR);
3805
22.1k
    yyaccept = 10;
3806
22.1k
    yych = *(YYMARKER = ++YYCURSOR);
3807
22.1k
    if (yybm[256+yych] & 128) {
3808
2.38k
      goto yy47;
3809
2.38k
    }
3810
19.7k
    if (yych == '\\') goto yy164;
3811
19.6k
yy182:
3812
19.6k
    YYDEBUG(182, *YYCURSOR);
3813
19.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3814
19.6k
#line 1406 "Zend/zend_language_scanner.l"
3815
19.6k
    {
3816
19.6k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3817
19.6k
}
3818
0
#line 3819 "Zend/zend_language_scanner.c"
3819
122k
yy183:
3820
122k
    YYDEBUG(183, *YYCURSOR);
3821
122k
    yyaccept = 4;
3822
122k
    yych = *(YYMARKER = ++YYCURSOR);
3823
122k
    if (yych == 'R') goto yy305;
3824
120k
    if (yych == 'r') goto yy305;
3825
60.2k
    goto yy48;
3826
133k
yy184:
3827
133k
    YYDEBUG(184, *YYCURSOR);
3828
133k
    yyaccept = 4;
3829
133k
    yych = *(YYMARKER = ++YYCURSOR);
3830
133k
    if (yych == 'N') goto yy307;
3831
131k
    if (yych == 'n') goto yy307;
3832
2.65k
    goto yy48;
3833
9.79k
yy185:
3834
9.79k
    YYDEBUG(185, *YYCURSOR);
3835
9.79k
    yyaccept = 4;
3836
9.79k
    yych = *(YYMARKER = ++YYCURSOR);
3837
9.79k
    if (yych == 'O') goto yy308;
3838
5.38k
    if (yych == 'o') goto yy308;
3839
1.11k
    goto yy48;
3840
9.21k
yy186:
3841
9.21k
    YYDEBUG(186, *YYCURSOR);
3842
9.21k
    yyaccept = 4;
3843
9.21k
    yych = *(YYMARKER = ++YYCURSOR);
3844
9.21k
    if (yych == 'T') goto yy309;
3845
8.16k
    if (yych == 't') goto yy309;
3846
1.69k
    goto yy48;
3847
24.3k
yy187:
3848
24.3k
    YYDEBUG(187, *YYCURSOR);
3849
24.3k
    yyaccept = 11;
3850
24.3k
    yych = *(YYMARKER = ++YYCURSOR);
3851
24.3k
    if (yybm[256+yych] & 128) {
3852
1.41k
      goto yy47;
3853
1.41k
    }
3854
22.9k
    if (yych == '\\') goto yy164;
3855
22.9k
yy188:
3856
22.9k
    YYDEBUG(188, *YYCURSOR);
3857
22.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3858
22.9k
#line 1453 "Zend/zend_language_scanner.l"
3859
22.9k
    {
3860
22.9k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3861
22.9k
}
3862
0
#line 3863 "Zend/zend_language_scanner.c"
3863
41.5k
yy189:
3864
41.5k
    YYDEBUG(189, *YYCURSOR);
3865
41.5k
    yyaccept = 4;
3866
41.5k
    yych = *(YYMARKER = ++YYCURSOR);
3867
41.5k
    if (yych == 'P') goto yy310;
3868
39.1k
    if (yych == 'p') goto yy310;
3869
9.70k
    goto yy48;
3870
117k
yy190:
3871
117k
    YYDEBUG(190, *YYCURSOR);
3872
117k
    yyaccept = 4;
3873
117k
    yych = *(YYMARKER = ++YYCURSOR);
3874
117k
    if (yych <= 'T') {
3875
25.0k
      if (yych <= 'C') {
3876
12.0k
        if (yych <= 'B') goto yy48;
3877
1.91k
        goto yy311;
3878
12.9k
      } else {
3879
12.9k
        if (yych <= 'R') goto yy48;
3880
5.58k
        if (yych <= 'S') goto yy312;
3881
2.11k
        goto yy313;
3882
5.58k
      }
3883
91.9k
    } else {
3884
91.9k
      if (yych <= 'r') {
3885
42.9k
        if (yych == 'c') goto yy311;
3886
30.7k
        goto yy48;
3887
48.9k
      } else {
3888
48.9k
        if (yych <= 's') goto yy312;
3889
32.3k
        if (yych <= 't') goto yy313;
3890
4.63k
        goto yy48;
3891
32.3k
      }
3892
91.9k
    }
3893
33.1k
yy191:
3894
33.1k
    YYDEBUG(191, *YYCURSOR);
3895
33.1k
    yyaccept = 4;
3896
33.1k
    yych = *(YYMARKER = ++YYCURSOR);
3897
33.1k
    if (yych == 'S') goto yy314;
3898
32.6k
    if (yych == 's') goto yy314;
3899
13.7k
    goto yy48;
3900
13.7k
yy192:
3901
9.72k
    YYDEBUG(192, *YYCURSOR);
3902
9.72k
    yyaccept = 4;
3903
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
3904
9.72k
    if (yych == 'S') goto yy315;
3905
9.04k
    if (yych == 's') goto yy315;
3906
3.70k
    goto yy48;
3907
9.65k
yy193:
3908
9.65k
    YYDEBUG(193, *YYCURSOR);
3909
9.65k
    yyaccept = 4;
3910
9.65k
    yych = *(YYMARKER = ++YYCURSOR);
3911
9.65k
    if (yych == 'T') goto yy316;
3912
9.35k
    if (yych == 't') goto yy316;
3913
3.66k
    goto yy48;
3914
34.3k
yy194:
3915
34.3k
    YYDEBUG(194, *YYCURSOR);
3916
34.3k
    yyaccept = 4;
3917
34.3k
    yych = *(YYMARKER = ++YYCURSOR);
3918
34.3k
    if (yych == 'M') goto yy317;
3919
31.9k
    if (yych == 'm') goto yy317;
3920
2.80k
    goto yy48;
3921
103k
yy195:
3922
103k
    YYDEBUG(195, *YYCURSOR);
3923
103k
    yyaccept = 4;
3924
103k
    yych = *(YYMARKER = ++YYCURSOR);
3925
103k
    if (yych == 'W') goto yy318;
3926
101k
    if (yych == 'w') goto yy318;
3927
9.15k
    goto yy48;
3928
9.86k
yy196:
3929
9.86k
    YYDEBUG(196, *YYCURSOR);
3930
9.86k
    yyaccept = 12;
3931
9.86k
    yych = *(YYMARKER = ++YYCURSOR);
3932
9.86k
    if (yybm[256+yych] & 128) {
3933
4.55k
      goto yy47;
3934
4.55k
    }
3935
5.30k
    if (yych == '\\') goto yy164;
3936
5.10k
yy197:
3937
5.10k
    YYDEBUG(197, *YYCURSOR);
3938
5.10k
    yyleng = YYCURSOR - SCNG(yy_text);
3939
5.10k
#line 1929 "Zend/zend_language_scanner.l"
3940
5.10k
    {
3941
5.10k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3942
5.10k
}
3943
0
#line 3944 "Zend/zend_language_scanner.c"
3944
58.8k
yy198:
3945
58.8k
    YYDEBUG(198, *YYCURSOR);
3946
58.8k
    yyaccept = 4;
3947
58.8k
    yych = *(YYMARKER = ++YYCURSOR);
3948
58.8k
    if (yych <= 'O') {
3949
5.81k
      if (yych == 'I') goto yy320;
3950
4.35k
      if (yych <= 'N') goto yy48;
3951
2.21k
      goto yy321;
3952
53.0k
    } else {
3953
53.0k
      if (yych <= 'i') {
3954
37.7k
        if (yych <= 'h') goto yy48;
3955
32.3k
        goto yy320;
3956
37.7k
      } else {
3957
15.2k
        if (yych == 'o') goto yy321;
3958
1.60k
        goto yy48;
3959
15.2k
      }
3960
53.0k
    }
3961
76.1k
yy199:
3962
76.1k
    YYDEBUG(199, *YYCURSOR);
3963
76.1k
    yyaccept = 4;
3964
76.1k
    yych = *(YYMARKER = ++YYCURSOR);
3965
76.1k
    if (yych == 'B') goto yy322;
3966
74.8k
    if (yych == 'b') goto yy322;
3967
4.32k
    goto yy48;
3968
88.8k
yy200:
3969
88.8k
    YYDEBUG(200, *YYCURSOR);
3970
88.8k
    yyaccept = 4;
3971
88.8k
    yych = *(YYMARKER = ++YYCURSOR);
3972
88.8k
    if (yych <= 'T') {
3973
8.06k
      if (yych <= 'P') {
3974
6.50k
        if (yych == 'A') goto yy323;
3975
5.79k
        goto yy48;
3976
6.50k
      } else {
3977
1.56k
        if (yych <= 'Q') goto yy324;
3978
902
        if (yych <= 'S') goto yy48;
3979
553
        goto yy325;
3980
902
      }
3981
80.7k
    } else {
3982
80.7k
      if (yych <= 'p') {
3983
17.5k
        if (yych == 'a') goto yy323;
3984
8.34k
        goto yy48;
3985
63.1k
      } else {
3986
63.1k
        if (yych <= 'q') goto yy324;
3987
37.6k
        if (yych == 't') goto yy325;
3988
7.04k
        goto yy48;
3989
37.6k
      }
3990
80.7k
    }
3991
65.8k
yy201:
3992
65.8k
    YYDEBUG(201, *YYCURSOR);
3993
65.8k
    yyaccept = 4;
3994
65.8k
    yych = *(YYMARKER = ++YYCURSOR);
3995
65.8k
    if (yych == 'A') goto yy326;
3996
64.7k
    if (yych == 'a') goto yy326;
3997
40.3k
    goto yy48;
3998
40.3k
yy202:
3999
9.73k
    YYDEBUG(202, *YYCURSOR);
4000
9.73k
    yyaccept = 4;
4001
9.73k
    yych = *(YYMARKER = ++YYCURSOR);
4002
9.73k
    if (yych == 'I') goto yy327;
4003
8.88k
    if (yych == 'i') goto yy327;
4004
975
    goto yy48;
4005
20.3k
yy203:
4006
20.3k
    YYDEBUG(203, *YYCURSOR);
4007
20.3k
    yyaccept = 4;
4008
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
4009
20.3k
    if (yych == 'R') goto yy328;
4010
19.8k
    if (yych == 'r') goto yy328;
4011
4.51k
    goto yy48;
4012
89.1k
yy204:
4013
89.1k
    YYDEBUG(204, *YYCURSOR);
4014
89.1k
    yyaccept = 4;
4015
89.1k
    yych = *(YYMARKER = ++YYCURSOR);
4016
89.1k
    if (yych <= 'Y') {
4017
6.58k
      if (yych == 'A') goto yy329;
4018
4.32k
      if (yych <= 'X') goto yy48;
4019
400
      goto yy330;
4020
82.5k
    } else {
4021
82.5k
      if (yych <= 'a') {
4022
15.5k
        if (yych <= '`') goto yy48;
4023
14.8k
        goto yy329;
4024
67.0k
      } else {
4025
67.0k
        if (yych == 'y') goto yy330;
4026
12.1k
        goto yy48;
4027
67.0k
      }
4028
82.5k
    }
4029
21.4k
yy205:
4030
21.4k
    YYDEBUG(205, *YYCURSOR);
4031
21.4k
    yyaccept = 4;
4032
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
4033
21.4k
    if (yych == 'S') goto yy332;
4034
20.4k
    if (yych == 's') goto yy332;
4035
3.78k
    goto yy48;
4036
17.7k
yy206:
4037
17.7k
    YYDEBUG(206, *YYCURSOR);
4038
17.7k
    yyaccept = 4;
4039
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
4040
17.7k
    if (yych == 'E') goto yy333;
4041
17.1k
    if (yych == 'e') goto yy333;
4042
1.67k
    goto yy48;
4043
111k
yy207:
4044
111k
    YYDEBUG(207, *YYCURSOR);
4045
111k
    yyaccept = 4;
4046
111k
    yych = *(YYMARKER = ++YYCURSOR);
4047
111k
    if (yych == 'R') goto yy335;
4048
110k
    if (yych == 'r') goto yy335;
4049
5.32k
    goto yy48;
4050
7.28k
yy208:
4051
7.28k
    YYDEBUG(208, *YYCURSOR);
4052
7.28k
    yyaccept = 4;
4053
7.28k
    yych = *(YYMARKER = ++YYCURSOR);
4054
7.28k
    if (yych == 'I') goto yy337;
4055
6.23k
    if (yych == 'i') goto yy337;
4056
898
    goto yy48;
4057
5.46k
yy209:
4058
5.46k
    YYDEBUG(209, *YYCURSOR);
4059
5.46k
    yyaccept = 4;
4060
5.46k
    yych = *(YYMARKER = ++YYCURSOR);
4061
5.46k
    if (yych == 'R') goto yy338;
4062
4.93k
    if (yych == 'r') goto yy338;
4063
1.01k
    goto yy48;
4064
84.6k
yy210:
4065
84.6k
    YYDEBUG(210, *YYCURSOR);
4066
84.6k
    yyaccept = 4;
4067
84.6k
    yych = *(YYMARKER = ++YYCURSOR);
4068
84.6k
    if (yych == 'E') goto yy340;
4069
79.4k
    if (yych == 'e') goto yy340;
4070
3.60k
    goto yy48;
4071
265k
yy211:
4072
265k
    YYDEBUG(211, *YYCURSOR);
4073
265k
    yyaccept = 13;
4074
265k
    YYMARKER = ++YYCURSOR;
4075
265k
    YYFILL(1);
4076
265k
    yych = *YYCURSOR;
4077
265k
    YYDEBUG(212, *YYCURSOR);
4078
265k
    if (yych <= '\\') {
4079
96.3k
      if (yych <= '@') {
4080
44.3k
        if (yych <= '/') goto yy213;
4081
17.6k
        if (yych <= '9') goto yy211;
4082
51.9k
      } else {
4083
51.9k
        if (yych <= 'Z') goto yy211;
4084
13.3k
        if (yych >= '\\') goto yy341;
4085
13.3k
      }
4086
168k
    } else {
4087
168k
      if (yych <= '`') {
4088
9.31k
        if (yych == '_') goto yy211;
4089
159k
      } else {
4090
159k
        if (yych <= 'z') goto yy211;
4091
34.2k
        if (yych >= 0x80) goto yy211;
4092
34.2k
      }
4093
168k
    }
4094
48.4k
yy213:
4095
48.4k
    YYDEBUG(213, *YYCURSOR);
4096
48.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4097
48.4k
#line 2446 "Zend/zend_language_scanner.l"
4098
48.4k
    {
4099
48.4k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4100
48.4k
}
4101
0
#line 4102 "Zend/zend_language_scanner.c"
4102
779
yy214:
4103
779
    YYDEBUG(214, *YYCURSOR);
4104
779
    ++YYCURSOR;
4105
779
    YYDEBUG(215, *YYCURSOR);
4106
779
    yyleng = YYCURSOR - SCNG(yy_text);
4107
779
#line 1909 "Zend/zend_language_scanner.l"
4108
779
    {
4109
779
  RETURN_TOKEN(T_XOR_EQUAL);
4110
779
}
4111
0
#line 4112 "Zend/zend_language_scanner.c"
4112
128k
yy216:
4113
128k
    YYDEBUG(216, *YYCURSOR);
4114
128k
    yyaccept = 4;
4115
128k
    yych = *(YYMARKER = ++YYCURSOR);
4116
128k
    switch (yych) {
4117
4.09k
    case 'C':
4118
17.7k
    case 'c': goto yy342;
4119
3.65k
    case 'D':
4120
12.2k
    case 'd': goto yy343;
4121
11.8k
    case 'F':
4122
21.9k
    case 'f': goto yy344;
4123
1.56k
    case 'H':
4124
6.27k
    case 'h': goto yy345;
4125
3.33k
    case 'L':
4126
7.12k
    case 'l': goto yy346;
4127
12.2k
    case 'M':
4128
17.0k
    case 'm': goto yy347;
4129
6.34k
    case 'N':
4130
9.79k
    case 'n': goto yy348;
4131
7.20k
    case 'P':
4132
8.63k
    case 'p': goto yy349;
4133
2.06k
    case 'T':
4134
8.73k
    case 't': goto yy350;
4135
19.0k
    default:  goto yy48;
4136
128k
    }
4137
1.95k
yy217:
4138
1.95k
    YYDEBUG(217, *YYCURSOR);
4139
1.95k
    ++YYCURSOR;
4140
1.95k
    YYDEBUG(218, *YYCURSOR);
4141
1.95k
    yyleng = YYCURSOR - SCNG(yy_text);
4142
1.95k
#line 1905 "Zend/zend_language_scanner.l"
4143
1.95k
    {
4144
1.95k
  RETURN_TOKEN(T_OR_EQUAL);
4145
1.95k
}
4146
0
#line 4147 "Zend/zend_language_scanner.c"
4147
6.16k
yy219:
4148
6.16k
    YYDEBUG(219, *YYCURSOR);
4149
6.16k
    ++YYCURSOR;
4150
6.16k
    YYDEBUG(220, *YYCURSOR);
4151
6.16k
    yyleng = YYCURSOR - SCNG(yy_text);
4152
6.16k
#line 1917 "Zend/zend_language_scanner.l"
4153
6.16k
    {
4154
6.16k
  RETURN_TOKEN(T_PIPE);
4155
6.16k
}
4156
0
#line 4157 "Zend/zend_language_scanner.c"
4157
10.4k
yy221:
4158
10.4k
    YYDEBUG(221, *YYCURSOR);
4159
10.4k
    ++YYCURSOR;
4160
10.4k
    YYDEBUG(222, *YYCURSOR);
4161
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4162
10.4k
#line 1921 "Zend/zend_language_scanner.l"
4163
10.4k
    {
4164
10.4k
  RETURN_TOKEN(T_BOOLEAN_OR);
4165
10.4k
}
4166
0
#line 4167 "Zend/zend_language_scanner.c"
4167
2.10k
yy223:
4168
2.10k
    YYDEBUG(223, *YYCURSOR);
4169
2.10k
    ++YYCURSOR;
4170
2.10k
    YYDEBUG(224, *YYCURSOR);
4171
2.10k
    yyleng = YYCURSOR - SCNG(yy_text);
4172
2.10k
#line 1837 "Zend/zend_language_scanner.l"
4173
2.10k
    {
4174
2.10k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4175
2.10k
}
4176
0
#line 4177 "Zend/zend_language_scanner.c"
4177
444k
yy225:
4178
444k
    YYDEBUG(225, *YYCURSOR);
4179
444k
    ++YYCURSOR;
4180
444k
    YYFILL(1);
4181
444k
    yych = *YYCURSOR;
4182
444k
    YYDEBUG(226, *YYCURSOR);
4183
444k
    if (yybm[0+yych] & 2) {
4184
320k
      goto yy225;
4185
320k
    }
4186
123k
    if (yych <= 0x00) goto yy86;
4187
118k
    goto yy84;
4188
163k
yy227:
4189
163k
    YYDEBUG(227, *YYCURSOR);
4190
163k
    ++YYCURSOR;
4191
163k
    YYFILL(1);
4192
163k
    yych = *YYCURSOR;
4193
163k
    YYDEBUG(228, *YYCURSOR);
4194
163k
    if (yych <= 0x1F) {
4195
10.6k
      if (yych <= '\t') {
4196
1.78k
        if (yych <= 0x00) goto yy86;
4197
1.37k
        if (yych <= 0x08) goto yy225;
4198
398
        goto yy227;
4199
8.90k
      } else {
4200
8.90k
        if (yych <= '\n') goto yy84;
4201
7.77k
        if (yych == '\r') goto yy84;
4202
6.40k
        goto yy225;
4203
7.77k
      }
4204
152k
    } else {
4205
152k
      if (yych <= '$') {
4206
22.6k
        if (yych <= ' ') goto yy227;
4207
21.4k
        if (yych <= '"') goto yy225;
4208
20.8k
        if (yych <= '#') goto yy351;
4209
7.13k
        goto yy352;
4210
130k
      } else {
4211
130k
        if (yych <= '-') goto yy225;
4212
75.2k
        if (yych <= '.') goto yy353;
4213
51.1k
        if (yych <= '/') goto yy354;
4214
28.6k
        goto yy225;
4215
51.1k
      }
4216
152k
    }
4217
1.68k
yy229:
4218
1.68k
    YYDEBUG(229, *YYCURSOR);
4219
1.68k
    yych = *++YYCURSOR;
4220
1.68k
    if (yych == '.') goto yy88;
4221
665
    goto yy86;
4222
188k
yy230:
4223
188k
    YYDEBUG(230, *YYCURSOR);
4224
188k
    ++YYCURSOR;
4225
188k
    YYFILL(1);
4226
188k
    yych = *YYCURSOR;
4227
188k
    YYDEBUG(231, *YYCURSOR);
4228
188k
    if (yybm[0+yych] & 4) {
4229
175k
      goto yy230;
4230
175k
    }
4231
13.7k
    if (yych <= 0x00) goto yy86;
4232
7.09k
    goto yy355;
4233
12.1k
yy232:
4234
12.1k
    YYDEBUG(232, *YYCURSOR);
4235
12.1k
    yych = *++YYCURSOR;
4236
12.1k
    if (yych == 'R') goto yy357;
4237
11.8k
    if (yych == 'r') goto yy357;
4238
1.07k
    goto yy86;
4239
3.31k
yy233:
4240
3.31k
    YYDEBUG(233, *YYCURSOR);
4241
3.31k
    yych = *++YYCURSOR;
4242
3.31k
    if (yych == 'N') goto yy358;
4243
3.01k
    if (yych == 'n') goto yy358;
4244
999
    goto yy86;
4245
4.22k
yy234:
4246
4.22k
    YYDEBUG(234, *YYCURSOR);
4247
4.22k
    yych = *++YYCURSOR;
4248
4.22k
    if (yych == 'O') goto yy359;
4249
3.91k
    if (yych == 'o') goto yy359;
4250
545
    goto yy86;
4251
3.48k
yy235:
4252
3.48k
    YYDEBUG(235, *YYCURSOR);
4253
3.48k
    yych = *++YYCURSOR;
4254
3.48k
    if (yych == 'U') goto yy360;
4255
3.28k
    if (yych == 'u') goto yy360;
4256
638
    goto yy86;
4257
5.73k
yy236:
4258
5.73k
    YYDEBUG(236, *YYCURSOR);
4259
5.73k
    yych = *++YYCURSOR;
4260
5.73k
    if (yych == 'O') goto yy361;
4261
3.05k
    if (yych == 'o') goto yy361;
4262
641
    goto yy86;
4263
15.5k
yy237:
4264
15.5k
    YYDEBUG(237, *YYCURSOR);
4265
15.5k
    yych = *++YYCURSOR;
4266
15.5k
    if (yych == 'T') goto yy362;
4267
14.2k
    if (yych == 't') goto yy362;
4268
4.68k
    goto yy86;
4269
6.39k
yy238:
4270
6.39k
    YYDEBUG(238, *YYCURSOR);
4271
6.39k
    yych = *++YYCURSOR;
4272
6.39k
    if (yych == 'J') goto yy363;
4273
6.14k
    if (yych == 'j') goto yy363;
4274
497
    goto yy86;
4275
4.80k
yy239:
4276
4.80k
    YYDEBUG(239, *YYCURSOR);
4277
4.80k
    yych = *++YYCURSOR;
4278
4.80k
    if (yych == 'A') goto yy364;
4279
4.39k
    if (yych == 'a') goto yy364;
4280
3.28k
    goto yy86;
4281
14.8k
yy240:
4282
14.8k
    YYDEBUG(240, *YYCURSOR);
4283
14.8k
    yych = *++YYCURSOR;
4284
14.8k
    if (yych == 'R') goto yy365;
4285
14.2k
    if (yych == 'r') goto yy365;
4286
1.45k
    goto yy86;
4287
4.20k
yy241:
4288
4.20k
    YYDEBUG(241, *YYCURSOR);
4289
4.20k
    yych = *++YYCURSOR;
4290
4.20k
    if (yych == 'S') goto yy366;
4291
3.80k
    if (yych == 's') goto yy366;
4292
1.24k
    goto yy86;
4293
3.03k
yy242:
4294
3.03k
    YYDEBUG(242, *YYCURSOR);
4295
3.03k
    yych = *++YYCURSOR;
4296
3.03k
    if (yych == 'I') goto yy367;
4297
2.80k
    if (yych == 'i') goto yy367;
4298
367
    goto yy86;
4299
443
yy243:
4300
443
    YYDEBUG(243, *YYCURSOR);
4301
443
    ++YYCURSOR;
4302
443
    YYDEBUG(244, *YYCURSOR);
4303
443
    yyleng = YYCURSOR - SCNG(yy_text);
4304
443
#line 1877 "Zend/zend_language_scanner.l"
4305
443
    {
4306
443
  RETURN_TOKEN(T_POW_EQUAL);
4307
443
}
4308
0
#line 4309 "Zend/zend_language_scanner.c"
4309
39.8k
yy245:
4310
39.8k
    YYDEBUG(245, *YYCURSOR);
4311
39.8k
    ++YYCURSOR;
4312
39.8k
    YYDEBUG(246, *YYCURSOR);
4313
39.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4314
39.8k
#line 1617 "Zend/zend_language_scanner.l"
4315
39.8k
    {
4316
39.8k
  RETURN_TOKEN(T_ELLIPSIS);
4317
39.8k
}
4318
0
#line 4319 "Zend/zend_language_scanner.c"
4319
1.02k
yy247:
4320
1.02k
    YYDEBUG(247, *YYCURSOR);
4321
1.02k
    ++YYCURSOR;
4322
1.02k
    YYFILL(1);
4323
1.02k
    yych = *YYCURSOR;
4324
1.02k
    if (yych <= '/') goto yy86;
4325
782
    if (yych <= '9') goto yy123;
4326
332
    goto yy86;
4327
10.9k
yy248:
4328
10.9k
    YYDEBUG(248, *YYCURSOR);
4329
10.9k
    yych = *++YYCURSOR;
4330
10.9k
    if (yych <= '\f') {
4331
4.95k
      if (yych <= 0x08) goto yy86;
4332
4.39k
      if (yych <= '\n') goto yy368;
4333
359
      goto yy86;
4334
5.98k
    } else {
4335
5.98k
      if (yych <= '\r') goto yy368;
4336
5.37k
      if (yych == ' ') goto yy368;
4337
2.78k
      goto yy86;
4338
5.37k
    }
4339
73.6k
yy249:
4340
73.6k
    YYDEBUG(249, *YYCURSOR);
4341
73.6k
    yyaccept = 14;
4342
73.6k
    YYMARKER = ++YYCURSOR;
4343
73.6k
    YYFILL(1);
4344
73.6k
    yych = *YYCURSOR;
4345
73.6k
    YYDEBUG(250, *YYCURSOR);
4346
73.6k
    if (yybm[0+yych] & 8) {
4347
68.6k
      goto yy249;
4348
68.6k
    }
4349
4.98k
    if (yych == '_') goto yy134;
4350
3.60k
yy251:
4351
3.60k
    YYDEBUG(251, *YYCURSOR);
4352
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
4353
3.60k
#line 2010 "Zend/zend_language_scanner.l"
4354
3.60k
    {
4355
  /* The +/- 2 skips "0b" */
4356
3.60k
  size_t len = yyleng - 2;
4357
3.60k
  char *end, *bin = yytext + 2;
4358
3.60k
  bool contains_underscores;
4359
4360
  /* Skip any leading 0s */
4361
5.83k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4362
2.22k
    ++bin;
4363
2.22k
    --len;
4364
2.22k
  }
4365
4366
3.60k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4367
4368
3.60k
  if (contains_underscores) {
4369
712
    bin = estrndup(bin, len);
4370
712
    strip_underscores(bin, &len);
4371
712
  }
4372
4373
3.60k
  if (len < SIZEOF_ZEND_LONG * 8) {
4374
3.23k
    if (len == 0) {
4375
715
      ZVAL_LONG(zendlval, 0);
4376
2.51k
    } else {
4377
2.51k
      errno = 0;
4378
2.51k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4379
2.51k
      ZEND_ASSERT(!errno && end == bin + len);
4380
2.51k
    }
4381
3.23k
    if (contains_underscores) {
4382
510
      efree(bin);
4383
510
    }
4384
3.23k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4385
3.23k
  } else {
4386
369
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4387
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4388
369
    ZEND_ASSERT(end == bin + len);
4389
369
    if (contains_underscores) {
4390
202
      efree(bin);
4391
202
    }
4392
369
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4393
369
  }
4394
3.60k
}
4395
0
#line 4396 "Zend/zend_language_scanner.c"
4396
13.1k
yy252:
4397
13.1k
    YYDEBUG(252, *YYCURSOR);
4398
13.1k
    ++YYCURSOR;
4399
13.1k
    YYFILL(1);
4400
13.1k
    yych = *YYCURSOR;
4401
13.1k
    if (yych <= '/') goto yy86;
4402
12.3k
    if (yych >= ':') goto yy86;
4403
125k
yy253:
4404
125k
    YYDEBUG(253, *YYCURSOR);
4405
125k
    yyaccept = 5;
4406
125k
    YYMARKER = ++YYCURSOR;
4407
125k
    YYFILL(1);
4408
125k
    yych = *YYCURSOR;
4409
125k
    YYDEBUG(254, *YYCURSOR);
4410
125k
    if (yych <= '/') goto yy125;
4411
106k
    if (yych <= '9') goto yy253;
4412
15.2k
    if (yych == '_') goto yy252;
4413
14.2k
    goto yy125;
4414
24.1k
yy255:
4415
24.1k
    YYDEBUG(255, *YYCURSOR);
4416
24.1k
    yyaccept = 15;
4417
24.1k
    YYMARKER = ++YYCURSOR;
4418
24.1k
    YYFILL(1);
4419
24.1k
    yych = *YYCURSOR;
4420
24.1k
    YYDEBUG(256, *YYCURSOR);
4421
24.1k
    if (yybm[0+yych] & 16) {
4422
20.8k
      goto yy255;
4423
20.8k
    }
4424
3.33k
    if (yych == '_') goto yy136;
4425
2.58k
yy257:
4426
2.58k
    YYDEBUG(257, *YYCURSOR);
4427
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
4428
2.58k
#line 2052 "Zend/zend_language_scanner.l"
4429
2.58k
    {
4430
  /* The +/- 2 skips "0o" */
4431
2.58k
  size_t len = yyleng - 2;
4432
2.58k
  char *end, *octal = yytext + 2;
4433
2.58k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4434
4435
  /* Skip any leading 0s */
4436
4.16k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4437
1.58k
    ++octal;
4438
1.58k
    --len;
4439
1.58k
  }
4440
4441
2.58k
  if (len == 0) {
4442
729
    ZVAL_LONG(zendlval, 0);
4443
729
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4444
729
  }
4445
4446
1.85k
  if (contains_underscores) {
4447
540
    octal = estrndup(octal, len);
4448
540
    strip_underscores(octal, &len);
4449
540
  }
4450
4451
1.85k
  errno = 0;
4452
4453
1.85k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4454
4455
1.85k
  ZEND_ASSERT(end == octal + len);
4456
4457
1.85k
  if (!errno) {
4458
1.22k
    if (contains_underscores) {
4459
323
      efree(octal);
4460
323
    }
4461
1.22k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4462
1.22k
  }
4463
4464
  /* Overflow */
4465
624
  ZEND_ASSERT(errno == ERANGE);
4466
  /* Reset errno */
4467
624
  errno = 0;
4468
4469
  /* zend_oct_strtod skips leading '0' */
4470
624
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4471
624
  ZEND_ASSERT(!errno);
4472
624
  ZEND_ASSERT(end == octal + len);
4473
624
  if (contains_underscores) {
4474
217
    efree(octal);
4475
217
  }
4476
624
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4477
624
}
4478
0
#line 4479 "Zend/zend_language_scanner.c"
4479
66.7k
yy258:
4480
66.7k
    YYDEBUG(258, *YYCURSOR);
4481
66.7k
    yyaccept = 16;
4482
66.7k
    YYMARKER = ++YYCURSOR;
4483
66.7k
    YYFILL(1);
4484
66.7k
    yych = *YYCURSOR;
4485
66.7k
    YYDEBUG(259, *YYCURSOR);
4486
66.7k
    if (yybm[0+yych] & 32) {
4487
58.8k
      goto yy258;
4488
58.8k
    }
4489
7.88k
    if (yych == '_') goto yy137;
4490
6.44k
yy260:
4491
6.44k
    YYDEBUG(260, *YYCURSOR);
4492
6.44k
    yyleng = YYCURSOR - SCNG(yy_text);
4493
6.44k
#line 2165 "Zend/zend_language_scanner.l"
4494
6.44k
    {
4495
  /* The +/- 2 skips "0x" */
4496
6.44k
  size_t len = yyleng - 2;
4497
6.44k
  char *end, *hex = yytext + 2;
4498
6.44k
  bool contains_underscores;
4499
4500
  /* Skip any leading 0s */
4501
17.4k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4502
10.9k
    ++hex;
4503
10.9k
    --len;
4504
10.9k
  }
4505
4506
6.44k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4507
4508
6.44k
  if (contains_underscores) {
4509
1.14k
    hex = estrndup(hex, len);
4510
1.14k
    strip_underscores(hex, &len);
4511
1.14k
  }
4512
4513
6.44k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4514
4.50k
    if (len == 0) {
4515
1.10k
      ZVAL_LONG(zendlval, 0);
4516
3.40k
    } else {
4517
3.40k
      errno = 0;
4518
3.40k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4519
3.40k
      ZEND_ASSERT(!errno && end == hex + len);
4520
3.40k
    }
4521
4.50k
    if (contains_underscores) {
4522
776
      efree(hex);
4523
776
    }
4524
4.50k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4525
4.50k
  } else {
4526
1.94k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4527
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4528
1.94k
    ZEND_ASSERT(end == hex + len);
4529
1.94k
    if (contains_underscores) {
4530
367
      efree(hex);
4531
367
    }
4532
1.94k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4533
1.94k
  }
4534
6.44k
}
4535
0
#line 4536 "Zend/zend_language_scanner.c"
4536
3.58M
yy261:
4537
3.58M
    YYDEBUG(261, *YYCURSOR);
4538
3.58M
    ++YYCURSOR;
4539
3.58M
    YYFILL(2);
4540
3.58M
    yych = *YYCURSOR;
4541
3.58M
    YYDEBUG(262, *YYCURSOR);
4542
3.58M
    if (yych <= '\'') {
4543
77.5k
      if (yych <= ' ') {
4544
53.2k
        if (yych == '\t') goto yy261;
4545
41.4k
        if (yych <= 0x1F) goto yy86;
4546
22.6k
        goto yy261;
4547
41.4k
      } else {
4548
24.2k
        if (yych == '"') goto yy370;
4549
18.8k
        if (yych <= '&') goto yy86;
4550
13.0k
        goto yy371;
4551
18.8k
      }
4552
3.50M
    } else {
4553
3.50M
      if (yych <= '_') {
4554
350k
        if (yych <= '@') goto yy86;
4555
276k
        if (yych <= 'Z') goto yy372;
4556
4.54k
        if (yych <= '^') goto yy86;
4557
3.08k
        goto yy372;
4558
3.15M
      } else {
4559
3.15M
        if (yych <= '`') goto yy86;
4560
3.15M
        if (yych <= 'z') goto yy372;
4561
1.80M
        if (yych <= 0x7F) goto yy86;
4562
1.79M
        goto yy372;
4563
1.80M
      }
4564
3.50M
    }
4565
2.39k
yy263:
4566
2.39k
    YYDEBUG(263, *YYCURSOR);
4567
2.39k
    ++YYCURSOR;
4568
2.39k
    YYDEBUG(264, *YYCURSOR);
4569
2.39k
    yyleng = YYCURSOR - SCNG(yy_text);
4570
2.39k
#line 1893 "Zend/zend_language_scanner.l"
4571
2.39k
    {
4572
2.39k
  RETURN_TOKEN(T_SL_EQUAL);
4573
2.39k
}
4574
0
#line 4575 "Zend/zend_language_scanner.c"
4575
539
yy265:
4576
539
    YYDEBUG(265, *YYCURSOR);
4577
539
    ++YYCURSOR;
4578
539
    YYDEBUG(266, *YYCURSOR);
4579
539
    yyleng = YYCURSOR - SCNG(yy_text);
4580
539
#line 1849 "Zend/zend_language_scanner.l"
4581
539
    {
4582
539
  RETURN_TOKEN(T_SPACESHIP);
4583
539
}
4584
0
#line 4585 "Zend/zend_language_scanner.c"
4585
12.4k
yy267:
4586
12.4k
    YYDEBUG(267, *YYCURSOR);
4587
12.4k
    ++YYCURSOR;
4588
12.4k
    YYDEBUG(268, *YYCURSOR);
4589
12.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4590
12.4k
#line 1833 "Zend/zend_language_scanner.l"
4591
12.4k
    {
4592
12.4k
  RETURN_TOKEN(T_IS_IDENTICAL);
4593
12.4k
}
4594
0
#line 4595 "Zend/zend_language_scanner.c"
4595
1.32k
yy269:
4596
1.32k
    YYDEBUG(269, *YYCURSOR);
4597
1.32k
    ++YYCURSOR;
4598
1.32k
    YYDEBUG(270, *YYCURSOR);
4599
1.32k
    yyleng = YYCURSOR - SCNG(yy_text);
4600
1.32k
#line 1897 "Zend/zend_language_scanner.l"
4601
1.32k
    {
4602
1.32k
  RETURN_TOKEN(T_SR_EQUAL);
4603
1.32k
}
4604
0
#line 4605 "Zend/zend_language_scanner.c"
4605
42.5k
yy271:
4606
42.5k
    YYDEBUG(271, *YYCURSOR);
4607
42.5k
    ++YYCURSOR;
4608
42.5k
    YYDEBUG(272, *YYCURSOR);
4609
42.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4610
42.5k
#line 1591 "Zend/zend_language_scanner.l"
4611
42.5k
    {
4612
42.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4613
42.5k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4614
42.5k
}
4615
0
#line 4616 "Zend/zend_language_scanner.c"
4616
8.42k
yy273:
4617
8.42k
    YYDEBUG(273, *YYCURSOR);
4618
8.42k
    ++YYCURSOR;
4619
8.42k
    goto yy156;
4620
1.23k
yy274:
4621
1.23k
    YYDEBUG(274, *YYCURSOR);
4622
1.23k
    yych = *++YYCURSOR;
4623
1.23k
    if (yych == '\n') goto yy273;
4624
943
    goto yy156;
4625
10.8k
yy275:
4626
10.8k
    YYDEBUG(275, *YYCURSOR);
4627
10.8k
    ++YYCURSOR;
4628
10.8k
    YYDEBUG(276, *YYCURSOR);
4629
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4630
10.8k
#line 1913 "Zend/zend_language_scanner.l"
4631
10.8k
    {
4632
10.8k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4633
10.8k
}
4634
0
#line 4635 "Zend/zend_language_scanner.c"
4635
9.98k
yy277:
4636
9.98k
    YYDEBUG(277, *YYCURSOR);
4637
9.98k
    yyaccept = 4;
4638
9.98k
    yych = *(YYMARKER = ++YYCURSOR);
4639
9.98k
    if (yych == 'T') goto yy374;
4640
7.54k
    if (yych == 't') goto yy374;
4641
756
    goto yy48;
4642
9.24k
yy278:
4643
9.24k
    YYDEBUG(278, *YYCURSOR);
4644
9.24k
    yyaccept = 17;
4645
9.24k
    yych = *(YYMARKER = ++YYCURSOR);
4646
9.24k
    if (yybm[256+yych] & 128) {
4647
406
      goto yy47;
4648
406
    }
4649
8.83k
    if (yych == '\\') goto yy164;
4650
8.82k
yy279:
4651
8.82k
    YYDEBUG(279, *YYCURSOR);
4652
8.82k
    yyleng = YYCURSOR - SCNG(yy_text);
4653
8.82k
#line 1933 "Zend/zend_language_scanner.l"
4654
8.82k
    {
4655
8.82k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4656
8.82k
}
4657
0
#line 4658 "Zend/zend_language_scanner.c"
4658
29.1k
yy280:
4659
29.1k
    YYDEBUG(280, *YYCURSOR);
4660
29.1k
    yyaccept = 4;
4661
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
4662
29.1k
    if (yych == 'A') goto yy375;
4663
28.4k
    if (yych == 'a') goto yy375;
4664
2.45k
    goto yy48;
4665
135k
yy281:
4666
135k
    YYDEBUG(281, *YYCURSOR);
4667
135k
    yyaccept = 18;
4668
135k
    YYMARKER = ++YYCURSOR;
4669
135k
    YYFILL(1);
4670
135k
    yych = *YYCURSOR;
4671
135k
    YYDEBUG(282, *YYCURSOR);
4672
135k
    if (yych <= '\\') {
4673
63.4k
      if (yych <= '@') {
4674
40.6k
        if (yych <= '/') goto yy283;
4675
24.4k
        if (yych <= '9') goto yy281;
4676
24.4k
      } else {
4677
22.7k
        if (yych <= 'Z') goto yy281;
4678
7.60k
        if (yych >= '\\') goto yy164;
4679
7.60k
      }
4680
71.7k
    } else {
4681
71.7k
      if (yych <= '`') {
4682
2.42k
        if (yych == '_') goto yy281;
4683
69.3k
      } else {
4684
69.3k
        if (yych <= 'z') goto yy281;
4685
34.6k
        if (yych >= 0x80) goto yy281;
4686
34.6k
      }
4687
71.7k
    }
4688
28.3k
yy283:
4689
28.3k
    YYDEBUG(283, *YYCURSOR);
4690
28.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4691
28.3k
#line 2442 "Zend/zend_language_scanner.l"
4692
28.3k
    {
4693
28.3k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4694
28.3k
}
4695
0
#line 4696 "Zend/zend_language_scanner.c"
4696
3.92k
yy284:
4697
3.92k
    YYDEBUG(284, *YYCURSOR);
4698
3.92k
    yych = *++YYCURSOR;
4699
3.92k
    if (yych == '<') goto yy261;
4700
656
    goto yy86;
4701
4.38k
yy285:
4702
4.38k
    YYDEBUG(285, *YYCURSOR);
4703
4.38k
    yyaccept = 4;
4704
4.38k
    yych = *(YYMARKER = ++YYCURSOR);
4705
4.38k
    if (yych == 'A') goto yy376;
4706
3.97k
    if (yych == 'a') goto yy376;
4707
670
    goto yy48;
4708
17.8k
yy286:
4709
17.8k
    YYDEBUG(286, *YYCURSOR);
4710
17.8k
    yyaccept = 4;
4711
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
4712
17.8k
    if (yych == 'L') goto yy377;
4713
16.7k
    if (yych == 'l') goto yy377;
4714
2.03k
    goto yy48;
4715
11.4k
yy287:
4716
11.4k
    YYDEBUG(287, *YYCURSOR);
4717
11.4k
    yyaccept = 4;
4718
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
4719
11.4k
    if (yych == 'E') goto yy378;
4720
9.47k
    if (yych == 'e') goto yy378;
4721
1.26k
    goto yy48;
4722
51.0k
yy288:
4723
51.0k
    YYDEBUG(288, *YYCURSOR);
4724
51.0k
    yyaccept = 4;
4725
51.0k
    yych = *(YYMARKER = ++YYCURSOR);
4726
51.0k
    if (yych == 'C') goto yy380;
4727
50.2k
    if (yych == 'c') goto yy380;
4728
1.04k
    goto yy48;
4729
84.7k
yy289:
4730
84.7k
    YYDEBUG(289, *YYCURSOR);
4731
84.7k
    yyaccept = 4;
4732
84.7k
    yych = *(YYMARKER = ++YYCURSOR);
4733
84.7k
    if (yych == 'S') goto yy381;
4734
82.7k
    if (yych == 's') goto yy381;
4735
2.13k
    goto yy48;
4736
8.96k
yy290:
4737
8.96k
    YYDEBUG(290, *YYCURSOR);
4738
8.96k
    yyaccept = 4;
4739
8.96k
    yych = *(YYMARKER = ++YYCURSOR);
4740
8.96k
    if (yych == 'N') goto yy382;
4741
7.69k
    if (yych == 'n') goto yy382;
4742
3.08k
    goto yy48;
4743
70.2k
yy291:
4744
70.2k
    YYDEBUG(291, *YYCURSOR);
4745
70.2k
    yyaccept = 4;
4746
70.2k
    yych = *(YYMARKER = ++YYCURSOR);
4747
70.2k
    if (yych <= 'T') {
4748
7.23k
      if (yych <= 'R') goto yy48;
4749
5.58k
      if (yych <= 'S') goto yy383;
4750
2.03k
      goto yy384;
4751
62.9k
    } else {
4752
62.9k
      if (yych <= 'r') goto yy48;
4753
62.3k
      if (yych <= 's') goto yy383;
4754
6.46k
      if (yych <= 't') goto yy384;
4755
564
      goto yy48;
4756
6.46k
    }
4757
8.57k
yy292:
4758
8.57k
    YYDEBUG(292, *YYCURSOR);
4759
8.57k
    yyaccept = 4;
4760
8.57k
    yych = *(YYMARKER = ++YYCURSOR);
4761
8.57k
    if (yych == 'L') goto yy385;
4762
7.26k
    if (yych == 'l') goto yy385;
4763
767
    goto yy48;
4764
9.72k
yy293:
4765
9.72k
    YYDEBUG(293, *YYCURSOR);
4766
9.72k
    yyaccept = 4;
4767
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
4768
9.72k
    if (yych == 'A') goto yy386;
4769
8.94k
    if (yych == 'a') goto yy386;
4770
4.73k
    goto yy48;
4771
6.94k
yy294:
4772
6.94k
    YYDEBUG(294, *YYCURSOR);
4773
6.94k
    yyaccept = 19;
4774
6.94k
    yych = *(YYMARKER = ++YYCURSOR);
4775
6.94k
    if (yybm[256+yych] & 128) {
4776
820
      goto yy47;
4777
820
    }
4778
6.12k
    if (yych == '\\') goto yy164;
4779
6.12k
yy295:
4780
6.12k
    YYDEBUG(295, *YYCURSOR);
4781
6.12k
    yyleng = YYCURSOR - SCNG(yy_text);
4782
6.12k
#line 1402 "Zend/zend_language_scanner.l"
4783
6.12k
    {
4784
6.12k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4785
6.12k
}
4786
0
#line 4787 "Zend/zend_language_scanner.c"
4787
88.8k
yy296:
4788
88.8k
    YYDEBUG(296, *YYCURSOR);
4789
88.8k
    yyaccept = 4;
4790
88.8k
    yych = *(YYMARKER = ++YYCURSOR);
4791
88.8k
    if (yych == 'O') goto yy387;
4792
88.3k
    if (yych == 'o') goto yy387;
4793
3.61k
    goto yy48;
4794
14.3k
yy297:
4795
14.3k
    YYDEBUG(297, *YYCURSOR);
4796
14.3k
    yyaccept = 4;
4797
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
4798
14.3k
    if (yych == 'E') goto yy389;
4799
13.6k
    if (yych == 'e') goto yy389;
4800
1.36k
    goto yy48;
4801
5.52k
yy298:
4802
5.52k
    YYDEBUG(298, *YYCURSOR);
4803
5.52k
    yyaccept = 4;
4804
5.52k
    yych = *(YYMARKER = ++YYCURSOR);
4805
5.52k
    if (yych == 'T') goto yy391;
4806
4.39k
    if (yych == 't') goto yy391;
4807
765
    goto yy48;
4808
57.6k
yy299:
4809
57.6k
    YYDEBUG(299, *YYCURSOR);
4810
57.6k
    yyaccept = 4;
4811
57.6k
    yych = *(YYMARKER = ++YYCURSOR);
4812
57.6k
    switch (yych) {
4813
2.44k
    case 'D':
4814
8.87k
    case 'd': goto yy392;
4815
4.85k
    case 'F':
4816
12.9k
    case 'f': goto yy393;
4817
6.01k
    case 'I':
4818
9.47k
    case 'i': goto yy394;
4819
1.07k
    case 'S':
4820
6.30k
    case 's': goto yy395;
4821
5.93k
    case 'W':
4822
11.8k
    case 'w': goto yy396;
4823
8.12k
    default:  goto yy48;
4824
57.6k
    }
4825
175k
yy300:
4826
175k
    YYDEBUG(300, *YYCURSOR);
4827
175k
    yyaccept = 4;
4828
175k
    yych = *(YYMARKER = ++YYCURSOR);
4829
175k
    if (yych == 'M') goto yy397;
4830
166k
    if (yych == 'm') goto yy397;
4831
18.5k
    goto yy48;
4832
18.5k
yy301:
4833
5.84k
    YYDEBUG(301, *YYCURSOR);
4834
5.84k
    yyaccept = 4;
4835
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
4836
5.84k
    if (yych == 'L') goto yy398;
4837
5.32k
    if (yych == 'l') goto yy398;
4838
1.15k
    goto yy48;
4839
3.31k
yy302:
4840
3.31k
    YYDEBUG(302, *YYCURSOR);
4841
3.31k
    yyaccept = 4;
4842
3.31k
    yych = *(YYMARKER = ++YYCURSOR);
4843
3.31k
    if (yych == 'T') goto yy400;
4844
2.80k
    if (yych == 't') goto yy400;
4845
750
    goto yy48;
4846
26.2k
yy303:
4847
26.2k
    YYDEBUG(303, *YYCURSOR);
4848
26.2k
    yyaccept = 4;
4849
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
4850
26.2k
    if (yych == 'E') goto yy402;
4851
25.3k
    if (yych == 'e') goto yy402;
4852
2.65k
    goto yy48;
4853
15.8k
yy304:
4854
15.8k
    YYDEBUG(304, *YYCURSOR);
4855
15.8k
    yyaccept = 4;
4856
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
4857
15.8k
    if (yych == 'A') goto yy403;
4858
14.6k
    if (yych == 'a') goto yy403;
4859
1.19k
    goto yy48;
4860
62.4k
yy305:
4861
62.4k
    YYDEBUG(305, *YYCURSOR);
4862
62.4k
    yyaccept = 20;
4863
62.4k
    yych = *(YYMARKER = ++YYCURSOR);
4864
62.4k
    if (yych <= '\\') {
4865
34.1k
      if (yych <= 'D') {
4866
31.4k
        if (yych <= '/') goto yy306;
4867
3.27k
        if (yych <= '9') goto yy47;
4868
2.84k
        if (yych >= 'A') goto yy47;
4869
2.84k
      } else {
4870
2.76k
        if (yych <= 'E') goto yy404;
4871
1.55k
        if (yych <= 'Z') goto yy47;
4872
855
        if (yych >= '\\') goto yy164;
4873
855
      }
4874
34.1k
    } else {
4875
28.2k
      if (yych <= 'd') {
4876
1.03k
        if (yych == '_') goto yy47;
4877
708
        if (yych >= 'a') goto yy47;
4878
27.1k
      } else {
4879
27.1k
        if (yych <= 'e') goto yy404;
4880
2.29k
        if (yych <= 'z') goto yy47;
4881
848
        if (yych >= 0x80) goto yy47;
4882
848
      }
4883
28.2k
    }
4884
32.1k
yy306:
4885
32.1k
    YYDEBUG(306, *YYCURSOR);
4886
32.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4887
32.1k
#line 1481 "Zend/zend_language_scanner.l"
4888
32.1k
    {
4889
32.1k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4890
32.1k
}
4891
0
#line 4892 "Zend/zend_language_scanner.c"
4892
130k
yy307:
4893
130k
    YYDEBUG(307, *YYCURSOR);
4894
130k
    yyaccept = 4;
4895
130k
    yych = *(YYMARKER = ++YYCURSOR);
4896
130k
    if (yych == 'C') goto yy405;
4897
129k
    if (yych == 'c') goto yy405;
4898
2.68k
    goto yy48;
4899
8.68k
yy308:
4900
8.68k
    YYDEBUG(308, *YYCURSOR);
4901
8.68k
    yyaccept = 4;
4902
8.68k
    yych = *(YYMARKER = ++YYCURSOR);
4903
8.68k
    if (yych == 'B') goto yy406;
4904
4.74k
    if (yych == 'b') goto yy406;
4905
1.28k
    goto yy48;
4906
7.51k
yy309:
4907
7.51k
    YYDEBUG(309, *YYCURSOR);
4908
7.51k
    yyaccept = 4;
4909
7.51k
    yych = *(YYMARKER = ++YYCURSOR);
4910
7.51k
    if (yych == 'O') goto yy407;
4911
6.49k
    if (yych == 'o') goto yy407;
4912
671
    goto yy48;
4913
31.8k
yy310:
4914
31.8k
    YYDEBUG(310, *YYCURSOR);
4915
31.8k
    yyaccept = 4;
4916
31.8k
    yych = *(YYMARKER = ++YYCURSOR);
4917
31.8k
    if (yych == 'L') goto yy409;
4918
29.5k
    if (yych == 'l') goto yy409;
4919
2.57k
    goto yy48;
4920
14.1k
yy311:
4921
14.1k
    YYDEBUG(311, *YYCURSOR);
4922
14.1k
    yyaccept = 4;
4923
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
4924
14.1k
    if (yych == 'L') goto yy410;
4925
12.3k
    if (yych == 'l') goto yy410;
4926
3.07k
    goto yy48;
4927
20.1k
yy312:
4928
20.1k
    YYDEBUG(312, *YYCURSOR);
4929
20.1k
    yyaccept = 4;
4930
20.1k
    yych = *(YYMARKER = ++YYCURSOR);
4931
20.1k
    if (yych == 'T') goto yy411;
4932
16.6k
    if (yych == 't') goto yy411;
4933
1.36k
    goto yy48;
4934
29.7k
yy313:
4935
29.7k
    YYDEBUG(313, *YYCURSOR);
4936
29.7k
    yyaccept = 4;
4937
29.7k
    yych = *(YYMARKER = ++YYCURSOR);
4938
29.7k
    if (yych == 'E') goto yy412;
4939
28.3k
    if (yych == 'e') goto yy412;
4940
13.6k
    goto yy48;
4941
19.3k
yy314:
4942
19.3k
    YYDEBUG(314, *YYCURSOR);
4943
19.3k
    yyaccept = 4;
4944
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
4945
19.3k
    if (yych == 'E') goto yy413;
4946
18.7k
    if (yych == 'e') goto yy413;
4947
1.23k
    goto yy48;
4948
6.01k
yy315:
4949
6.01k
    YYDEBUG(315, *YYCURSOR);
4950
6.01k
    yyaccept = 4;
4951
6.01k
    yych = *(YYMARKER = ++YYCURSOR);
4952
6.01k
    if (yych == 'T') goto yy414;
4953
5.21k
    if (yych == 't') goto yy414;
4954
363
    goto yy48;
4955
5.98k
yy316:
4956
5.98k
    YYDEBUG(316, *YYCURSOR);
4957
5.98k
    yyaccept = 4;
4958
5.98k
    yych = *(YYMARKER = ++YYCURSOR);
4959
5.98k
    if (yych == 'C') goto yy416;
4960
5.37k
    if (yych == 'c') goto yy416;
4961
648
    goto yy48;
4962
31.4k
yy317:
4963
31.4k
    YYDEBUG(317, *YYCURSOR);
4964
31.4k
    yyaccept = 4;
4965
31.4k
    yych = *(YYMARKER = ++YYCURSOR);
4966
31.4k
    if (yych == 'E') goto yy417;
4967
28.4k
    if (yych == 'e') goto yy417;
4968
3.59k
    goto yy48;
4969
94.1k
yy318:
4970
94.1k
    YYDEBUG(318, *YYCURSOR);
4971
94.1k
    yyaccept = 21;
4972
94.1k
    yych = *(YYMARKER = ++YYCURSOR);
4973
94.1k
    if (yybm[256+yych] & 128) {
4974
867
      goto yy47;
4975
867
    }
4976
93.2k
    if (yych == '\\') goto yy164;
4977
93.2k
yy319:
4978
93.2k
    YYDEBUG(319, *YYCURSOR);
4979
93.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4980
93.2k
#line 1625 "Zend/zend_language_scanner.l"
4981
93.2k
    {
4982
93.2k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4983
93.2k
}
4984
0
#line 4985 "Zend/zend_language_scanner.c"
4985
33.8k
yy320:
4986
33.8k
    YYDEBUG(320, *YYCURSOR);
4987
33.8k
    yyaccept = 4;
4988
33.8k
    yych = *(YYMARKER = ++YYCURSOR);
4989
33.8k
    if (yych <= 'V') {
4990
3.03k
      if (yych == 'N') goto yy418;
4991
2.01k
      if (yych <= 'U') goto yy48;
4992
1.15k
      goto yy419;
4993
30.8k
    } else {
4994
30.8k
      if (yych <= 'n') {
4995
16.9k
        if (yych <= 'm') goto yy48;
4996
13.0k
        goto yy418;
4997
16.9k
      } else {
4998
13.8k
        if (yych == 'v') goto yy419;
4999
765
        goto yy48;
5000
13.8k
      }
5001
30.8k
    }
5002
15.8k
yy321:
5003
15.8k
    YYDEBUG(321, *YYCURSOR);
5004
15.8k
    yyaccept = 4;
5005
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5006
15.8k
    if (yych == 'T') goto yy420;
5007
14.2k
    if (yych == 't') goto yy420;
5008
2.34k
    goto yy48;
5009
71.8k
yy322:
5010
71.8k
    YYDEBUG(322, *YYCURSOR);
5011
71.8k
    yyaccept = 4;
5012
71.8k
    yych = *(YYMARKER = ++YYCURSOR);
5013
71.8k
    if (yych == 'L') goto yy421;
5014
70.5k
    if (yych == 'l') goto yy421;
5015
1.96k
    goto yy48;
5016
9.93k
yy323:
5017
9.93k
    YYDEBUG(323, *YYCURSOR);
5018
9.93k
    yyaccept = 4;
5019
9.93k
    yych = *(YYMARKER = ++YYCURSOR);
5020
9.93k
    if (yych == 'D') goto yy422;
5021
9.58k
    if (yych == 'd') goto yy422;
5022
2.36k
    goto yy48;
5023
26.1k
yy324:
5024
26.1k
    YYDEBUG(324, *YYCURSOR);
5025
26.1k
    yyaccept = 4;
5026
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
5027
26.1k
    if (yych == 'U') goto yy423;
5028
25.3k
    if (yych == 'u') goto yy423;
5029
5.07k
    goto yy48;
5030
31.1k
yy325:
5031
31.1k
    YYDEBUG(325, *YYCURSOR);
5032
31.1k
    yyaccept = 4;
5033
31.1k
    yych = *(YYMARKER = ++YYCURSOR);
5034
31.1k
    if (yych == 'U') goto yy424;
5035
30.2k
    if (yych == 'u') goto yy424;
5036
1.05k
    goto yy48;
5037
25.4k
yy326:
5038
25.4k
    YYDEBUG(326, *YYCURSOR);
5039
25.4k
    yyaccept = 4;
5040
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
5041
25.4k
    if (yych == 'T') goto yy425;
5042
24.4k
    if (yych == 't') goto yy425;
5043
1.69k
    goto yy48;
5044
8.76k
yy327:
5045
8.76k
    YYDEBUG(327, *YYCURSOR);
5046
8.76k
    yyaccept = 4;
5047
8.76k
    yych = *(YYMARKER = ++YYCURSOR);
5048
8.76k
    if (yych == 'T') goto yy426;
5049
8.20k
    if (yych == 't') goto yy426;
5050
501
    goto yy48;
5051
15.8k
yy328:
5052
15.8k
    YYDEBUG(328, *YYCURSOR);
5053
15.8k
    yyaccept = 4;
5054
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5055
15.8k
    if (yych == 'O') goto yy427;
5056
14.0k
    if (yych == 'o') goto yy427;
5057
788
    goto yy48;
5058
17.0k
yy329:
5059
17.0k
    YYDEBUG(329, *YYCURSOR);
5060
17.0k
    yyaccept = 4;
5061
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
5062
17.0k
    if (yych == 'I') goto yy428;
5063
15.1k
    if (yych == 'i') goto yy428;
5064
2.78k
    goto yy48;
5065
55.2k
yy330:
5066
55.2k
    YYDEBUG(330, *YYCURSOR);
5067
55.2k
    yyaccept = 22;
5068
55.2k
    yych = *(YYMARKER = ++YYCURSOR);
5069
55.2k
    if (yybm[256+yych] & 128) {
5070
1.78k
      goto yy47;
5071
1.78k
    }
5072
53.4k
    if (yych == '\\') goto yy164;
5073
53.4k
yy331:
5074
53.4k
    YYDEBUG(331, *YYCURSOR);
5075
53.4k
    yyleng = YYCURSOR - SCNG(yy_text);
5076
53.4k
#line 1437 "Zend/zend_language_scanner.l"
5077
53.4k
    {
5078
53.4k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5079
53.4k
}
5080
0
#line 5081 "Zend/zend_language_scanner.c"
5081
17.6k
yy332:
5082
17.6k
    YYDEBUG(332, *YYCURSOR);
5083
17.6k
    yyaccept = 4;
5084
17.6k
    yych = *(YYMARKER = ++YYCURSOR);
5085
17.6k
    if (yych == 'E') goto yy429;
5086
16.6k
    if (yych == 'e') goto yy429;
5087
1.65k
    goto yy48;
5088
16.0k
yy333:
5089
16.0k
    YYDEBUG(333, *YYCURSOR);
5090
16.0k
    yyaccept = 23;
5091
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
5092
16.0k
    if (yybm[256+yych] & 128) {
5093
2.42k
      goto yy47;
5094
2.42k
    }
5095
13.6k
    if (yych == '\\') goto yy164;
5096
13.5k
yy334:
5097
13.5k
    YYDEBUG(334, *YYCURSOR);
5098
13.5k
    yyleng = YYCURSOR - SCNG(yy_text);
5099
13.5k
#line 1741 "Zend/zend_language_scanner.l"
5100
13.5k
    {
5101
13.5k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5102
13.5k
}
5103
0
#line 5104 "Zend/zend_language_scanner.c"
5104
106k
yy335:
5105
106k
    YYDEBUG(335, *YYCURSOR);
5106
106k
    yyaccept = 24;
5107
106k
    yych = *(YYMARKER = ++YYCURSOR);
5108
106k
    if (yybm[256+yych] & 128) {
5109
103k
      goto yy47;
5110
103k
    }
5111
2.79k
    if (yych == '\\') goto yy164;
5112
2.68k
yy336:
5113
2.68k
    YYDEBUG(336, *YYCURSOR);
5114
2.68k
    yyleng = YYCURSOR - SCNG(yy_text);
5115
2.68k
#line 1633 "Zend/zend_language_scanner.l"
5116
2.68k
    {
5117
2.68k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5118
2.68k
}
5119
0
#line 5120 "Zend/zend_language_scanner.c"
5120
6.38k
yy337:
5121
6.38k
    YYDEBUG(337, *YYCURSOR);
5122
6.38k
    yyaccept = 4;
5123
6.38k
    yych = *(YYMARKER = ++YYCURSOR);
5124
6.38k
    if (yych == 'L') goto yy430;
5125
5.62k
    if (yych == 'l') goto yy430;
5126
770
    goto yy48;
5127
4.44k
yy338:
5128
4.44k
    YYDEBUG(338, *YYCURSOR);
5129
4.44k
    yyaccept = 25;
5130
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
5131
4.44k
    if (yybm[256+yych] & 128) {
5132
241
      goto yy47;
5133
241
    }
5134
4.20k
    if (yych == '\\') goto yy164;
5135
4.19k
yy339:
5136
4.19k
    YYDEBUG(339, *YYCURSOR);
5137
4.19k
    yyleng = YYCURSOR - SCNG(yy_text);
5138
4.19k
#line 1937 "Zend/zend_language_scanner.l"
5139
4.19k
    {
5140
4.19k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5141
4.19k
}
5142
0
#line 5143 "Zend/zend_language_scanner.c"
5143
81.0k
yy340:
5144
81.0k
    YYDEBUG(340, *YYCURSOR);
5145
81.0k
    yyaccept = 4;
5146
81.0k
    yych = *(YYMARKER = ++YYCURSOR);
5147
81.0k
    if (yych == 'L') goto yy431;
5148
77.7k
    if (yych == 'l') goto yy431;
5149
3.19k
    goto yy48;
5150
12.3k
yy341:
5151
12.3k
    YYDEBUG(341, *YYCURSOR);
5152
12.3k
    ++YYCURSOR;
5153
12.3k
    YYFILL(1);
5154
12.3k
    yych = *YYCURSOR;
5155
12.3k
    if (yych <= '_') {
5156
8.16k
      if (yych <= '@') goto yy86;
5157
7.20k
      if (yych <= 'Z') goto yy211;
5158
2.62k
      if (yych <= '^') goto yy86;
5159
295
      goto yy211;
5160
4.20k
    } else {
5161
4.20k
      if (yych <= '`') goto yy86;
5162
3.95k
      if (yych <= 'z') goto yy211;
5163
1.39k
      if (yych <= 0x7F) goto yy86;
5164
662
      goto yy211;
5165
1.39k
    }
5166
17.7k
yy342:
5167
17.7k
    YYDEBUG(342, *YYCURSOR);
5168
17.7k
    yyaccept = 4;
5169
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
5170
17.7k
    if (yych == 'L') goto yy432;
5171
14.8k
    if (yych == 'l') goto yy432;
5172
11.0k
    goto yy48;
5173
12.2k
yy343:
5174
12.2k
    YYDEBUG(343, *YYCURSOR);
5175
12.2k
    yyaccept = 4;
5176
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5177
12.2k
    if (yych == 'I') goto yy433;
5178
8.89k
    if (yych == 'i') goto yy433;
5179
5.34k
    goto yy48;
5180
21.9k
yy344:
5181
21.9k
    YYDEBUG(344, *YYCURSOR);
5182
21.9k
    yyaccept = 4;
5183
21.9k
    yych = *(YYMARKER = ++YYCURSOR);
5184
21.9k
    if (yych <= 'U') {
5185
12.5k
      if (yych == 'I') goto yy434;
5186
5.77k
      if (yych <= 'T') goto yy48;
5187
5.31k
      goto yy435;
5188
9.34k
    } else {
5189
9.34k
      if (yych <= 'i') {
5190
3.13k
        if (yych <= 'h') goto yy48;
5191
2.56k
        goto yy434;
5192
6.20k
      } else {
5193
6.20k
        if (yych == 'u') goto yy435;
5194
1.01k
        goto yy48;
5195
6.20k
      }
5196
9.34k
    }
5197
6.27k
yy345:
5198
6.27k
    YYDEBUG(345, *YYCURSOR);
5199
6.27k
    yyaccept = 4;
5200
6.27k
    yych = *(YYMARKER = ++YYCURSOR);
5201
6.27k
    if (yych == 'A') goto yy436;
5202
4.96k
    if (yych == 'a') goto yy436;
5203
581
    goto yy48;
5204
7.12k
yy346:
5205
7.12k
    YYDEBUG(346, *YYCURSOR);
5206
7.12k
    yyaccept = 4;
5207
7.12k
    yych = *(YYMARKER = ++YYCURSOR);
5208
7.12k
    if (yych == 'I') goto yy437;
5209
5.14k
    if (yych == 'i') goto yy437;
5210
1.84k
    goto yy48;
5211
17.0k
yy347:
5212
17.0k
    YYDEBUG(347, *YYCURSOR);
5213
17.0k
    yyaccept = 4;
5214
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
5215
17.0k
    if (yych == 'E') goto yy438;
5216
5.06k
    if (yych == 'e') goto yy438;
5217
947
    goto yy48;
5218
9.79k
yy348:
5219
9.79k
    YYDEBUG(348, *YYCURSOR);
5220
9.79k
    yyaccept = 4;
5221
9.79k
    yych = *(YYMARKER = ++YYCURSOR);
5222
9.79k
    if (yych == 'A') goto yy439;
5223
4.59k
    if (yych == 'a') goto yy439;
5224
1.24k
    goto yy48;
5225
8.63k
yy349:
5226
8.63k
    YYDEBUG(349, *YYCURSOR);
5227
8.63k
    yyaccept = 4;
5228
8.63k
    yych = *(YYMARKER = ++YYCURSOR);
5229
8.63k
    if (yych == 'R') goto yy440;
5230
2.04k
    if (yych == 'r') goto yy440;
5231
1.20k
    goto yy48;
5232
8.73k
yy350:
5233
8.73k
    YYDEBUG(350, *YYCURSOR);
5234
8.73k
    yyaccept = 4;
5235
8.73k
    yych = *(YYMARKER = ++YYCURSOR);
5236
8.73k
    if (yych == 'R') goto yy441;
5237
7.02k
    if (yych == 'r') goto yy441;
5238
2.14k
    goto yy48;
5239
13.7k
yy351:
5240
13.7k
    YYDEBUG(351, *YYCURSOR);
5241
13.7k
    ++YYCURSOR;
5242
13.7k
    YYFILL(1);
5243
13.7k
    yych = *YYCURSOR;
5244
13.7k
    if (yybm[0+yych] & 2) {
5245
893
      goto yy225;
5246
893
    }
5247
12.8k
    if (yych <= 0x00) goto yy86;
5248
12.5k
    goto yy227;
5249
12.5k
yy352:
5250
7.51k
    YYDEBUG(352, *YYCURSOR);
5251
7.51k
    yyaccept = 26;
5252
7.51k
    YYMARKER = ++YYCURSOR;
5253
7.51k
    YYFILL(1);
5254
7.51k
    yych = *YYCURSOR;
5255
7.51k
    if (yybm[0+yych] & 2) {
5256
6.11k
      goto yy225;
5257
6.11k
    }
5258
1.39k
    if (yych <= 0x00) goto yy89;
5259
763
    goto yy84;
5260
24.1k
yy353:
5261
24.1k
    YYDEBUG(353, *YYCURSOR);
5262
24.1k
    ++YYCURSOR;
5263
24.1k
    YYFILL(1);
5264
24.1k
    yych = *YYCURSOR;
5265
24.1k
    if (yych <= '\f') {
5266
1.57k
      if (yych <= 0x00) goto yy86;
5267
1.32k
      if (yych == '\n') goto yy84;
5268
254
      goto yy225;
5269
22.5k
    } else {
5270
22.5k
      if (yych <= '\r') goto yy84;
5271
14.0k
      if (yych == '.') goto yy442;
5272
9.65k
      goto yy225;
5273
14.0k
    }
5274
22.4k
yy354:
5275
22.4k
    YYDEBUG(354, *YYCURSOR);
5276
22.4k
    ++YYCURSOR;
5277
22.4k
    YYFILL(1);
5278
22.4k
    yych = *YYCURSOR;
5279
22.4k
    if (yych <= '\f') {
5280
878
      if (yych <= 0x00) goto yy86;
5281
551
      if (yych == '\n') goto yy84;
5282
210
      goto yy225;
5283
21.6k
    } else {
5284
21.6k
      if (yych <= '\r') goto yy84;
5285
20.9k
      if (yych == '*') goto yy443;
5286
2.14k
      goto yy225;
5287
20.9k
    }
5288
9.77k
yy355:
5289
9.77k
    YYDEBUG(355, *YYCURSOR);
5290
9.77k
    ++YYCURSOR;
5291
9.77k
    YYFILL(1);
5292
9.77k
    yych = *YYCURSOR;
5293
9.77k
    YYDEBUG(356, *YYCURSOR);
5294
9.77k
    if (yybm[0+yych] & 64) {
5295
1.37k
      goto yy355;
5296
1.37k
    }
5297
8.39k
    if (yych <= 0x00) goto yy86;
5298
7.40k
    if (yych == '/') goto yy84;
5299
3.93k
    goto yy230;
5300
11.0k
yy357:
5301
11.0k
    YYDEBUG(357, *YYCURSOR);
5302
11.0k
    yych = *++YYCURSOR;
5303
11.0k
    if (yych == 'A') goto yy445;
5304
10.8k
    if (yych == 'a') goto yy445;
5305
2.09k
    goto yy86;
5306
2.31k
yy358:
5307
2.31k
    YYDEBUG(358, *YYCURSOR);
5308
2.31k
    yych = *++YYCURSOR;
5309
2.31k
    if (yych == 'A') goto yy446;
5310
2.08k
    if (yych == 'a') goto yy446;
5311
316
    goto yy86;
5312
3.67k
yy359:
5313
3.67k
    YYDEBUG(359, *YYCURSOR);
5314
3.67k
    yych = *++YYCURSOR;
5315
3.67k
    if (yych == 'L') goto yy447;
5316
3.45k
    if (yych == 'l') goto yy447;
5317
360
    goto yy86;
5318
2.84k
yy360:
5319
2.84k
    YYDEBUG(360, *YYCURSOR);
5320
2.84k
    yych = *++YYCURSOR;
5321
2.84k
    if (yych == 'B') goto yy448;
5322
2.47k
    if (yych == 'b') goto yy448;
5323
502
    goto yy86;
5324
5.09k
yy361:
5325
5.09k
    YYDEBUG(361, *YYCURSOR);
5326
5.09k
    yych = *++YYCURSOR;
5327
5.09k
    if (yych == 'A') goto yy449;
5328
4.85k
    if (yych == 'a') goto yy449;
5329
629
    goto yy86;
5330
10.8k
yy362:
5331
10.8k
    YYDEBUG(362, *YYCURSOR);
5332
10.8k
    yych = *++YYCURSOR;
5333
10.8k
    if (yych == 'E') goto yy454;
5334
9.79k
    if (yych == 'e') goto yy454;
5335
5.77k
    goto yy451;
5336
5.89k
yy363:
5337
5.89k
    YYDEBUG(363, *YYCURSOR);
5338
5.89k
    yych = *++YYCURSOR;
5339
5.89k
    if (yych == 'E') goto yy455;
5340
5.66k
    if (yych == 'e') goto yy455;
5341
2.08k
    goto yy86;
5342
2.08k
yy364:
5343
1.52k
    YYDEBUG(364, *YYCURSOR);
5344
1.52k
    yych = *++YYCURSOR;
5345
1.52k
    if (yych == 'L') goto yy456;
5346
1.23k
    if (yych == 'l') goto yy456;
5347
401
    goto yy86;
5348
13.3k
yy365:
5349
13.3k
    YYDEBUG(365, *YYCURSOR);
5350
13.3k
    yych = *++YYCURSOR;
5351
13.3k
    if (yych == 'I') goto yy458;
5352
13.1k
    if (yych == 'i') goto yy458;
5353
3.17k
    goto yy86;
5354
3.17k
yy366:
5355
2.96k
    YYDEBUG(366, *YYCURSOR);
5356
2.96k
    yych = *++YYCURSOR;
5357
2.96k
    if (yych == 'E') goto yy459;
5358
2.37k
    if (yych == 'e') goto yy459;
5359
564
    goto yy86;
5360
2.66k
yy367:
5361
2.66k
    YYDEBUG(367, *YYCURSOR);
5362
2.66k
    yych = *++YYCURSOR;
5363
2.66k
    if (yych == 'D') goto yy460;
5364
1.91k
    if (yych == 'd') goto yy460;
5365
250
    goto yy86;
5366
14.3k
yy368:
5367
14.3k
    YYDEBUG(368, *YYCURSOR);
5368
14.3k
    ++YYCURSOR;
5369
14.3k
    YYFILL(1);
5370
14.3k
    yych = *YYCURSOR;
5371
14.3k
    YYDEBUG(369, *YYCURSOR);
5372
14.3k
    if (yych <= '\f') {
5373
3.54k
      if (yych <= 0x08) goto yy129;
5374
3.06k
      if (yych <= '\n') goto yy368;
5375
379
      goto yy129;
5376
10.8k
    } else {
5377
10.8k
      if (yych <= '\r') goto yy368;
5378
10.5k
      if (yych == ' ') goto yy368;
5379
6.37k
      goto yy129;
5380
10.5k
    }
5381
5.41k
yy370:
5382
5.41k
    YYDEBUG(370, *YYCURSOR);
5383
5.41k
    yych = *++YYCURSOR;
5384
5.41k
    if (yych == '"') goto yy86;
5385
5.08k
    if (yych <= '/') goto yy463;
5386
3.66k
    if (yych <= '9') goto yy86;
5387
3.41k
    goto yy463;
5388
13.0k
yy371:
5389
13.0k
    YYDEBUG(371, *YYCURSOR);
5390
13.0k
    yych = *++YYCURSOR;
5391
13.0k
    if (yych == '\'') goto yy86;
5392
12.7k
    if (yych <= '/') goto yy465;
5393
12.1k
    if (yych <= '9') goto yy86;
5394
11.9k
    goto yy465;
5395
4.80M
yy372:
5396
4.80M
    YYDEBUG(372, *YYCURSOR);
5397
4.80M
    ++YYCURSOR;
5398
4.80M
    YYFILL(2);
5399
4.80M
    yych = *YYCURSOR;
5400
4.80M
    YYDEBUG(373, *YYCURSOR);
5401
4.80M
    if (yych <= '@') {
5402
3.48M
      if (yych <= '\f') {
5403
3.29M
        if (yych == '\n') goto yy466;
5404
32.6k
        goto yy86;
5405
3.29M
      } else {
5406
193k
        if (yych <= '\r') goto yy468;
5407
170k
        if (yych <= '/') goto yy86;
5408
114k
        if (yych <= '9') goto yy372;
5409
32.4k
        goto yy86;
5410
114k
      }
5411
3.48M
    } else {
5412
1.31M
      if (yych <= '_') {
5413
167k
        if (yych <= 'Z') goto yy372;
5414
19.6k
        if (yych <= '^') goto yy86;
5415
12.1k
        goto yy372;
5416
1.15M
      } else {
5417
1.15M
        if (yych <= '`') goto yy86;
5418
1.14M
        if (yych <= 'z') goto yy372;
5419
739k
        if (yych <= 0x7F) goto yy86;
5420
731k
        goto yy372;
5421
739k
      }
5422
1.31M
    }
5423
9.22k
yy374:
5424
9.22k
    YYDEBUG(374, *YYCURSOR);
5425
9.22k
    yyaccept = 4;
5426
9.22k
    yych = *(YYMARKER = ++YYCURSOR);
5427
9.22k
    if (yych == 'R') goto yy469;
5428
7.58k
    if (yych == 'r') goto yy469;
5429
577
    goto yy48;
5430
26.6k
yy375:
5431
26.6k
    YYDEBUG(375, *YYCURSOR);
5432
26.6k
    yyaccept = 4;
5433
26.6k
    yych = *(YYMARKER = ++YYCURSOR);
5434
26.6k
    if (yych == 'Y') goto yy470;
5435
26.1k
    if (yych == 'y') goto yy470;
5436
1.48k
    goto yy48;
5437
3.71k
yy376:
5438
3.71k
    YYDEBUG(376, *YYCURSOR);
5439
3.71k
    yyaccept = 4;
5440
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
5441
3.71k
    if (yych == 'K') goto yy472;
5442
3.36k
    if (yych == 'k') goto yy472;
5443
356
    goto yy48;
5444
15.8k
yy377:
5445
15.8k
    YYDEBUG(377, *YYCURSOR);
5446
15.8k
    yyaccept = 4;
5447
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5448
15.8k
    if (yych == 'A') goto yy474;
5449
15.2k
    if (yych == 'a') goto yy474;
5450
12.7k
    goto yy48;
5451
12.7k
yy378:
5452
10.1k
    YYDEBUG(378, *YYCURSOR);
5453
10.1k
    yyaccept = 27;
5454
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
5455
10.1k
    if (yybm[256+yych] & 128) {
5456
593
      goto yy47;
5457
593
    }
5458
9.58k
    if (yych == '\\') goto yy164;
5459
9.58k
yy379:
5460
9.58k
    YYDEBUG(379, *YYCURSOR);
5461
9.58k
    yyleng = YYCURSOR - SCNG(yy_text);
5462
9.58k
#line 1525 "Zend/zend_language_scanner.l"
5463
9.58k
    {
5464
9.58k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5465
9.58k
}
5466
0
#line 5467 "Zend/zend_language_scanner.c"
5467
49.9k
yy380:
5468
49.9k
    YYDEBUG(380, *YYCURSOR);
5469
49.9k
    yyaccept = 4;
5470
49.9k
    yych = *(YYMARKER = ++YYCURSOR);
5471
49.9k
    if (yych == 'H') goto yy475;
5472
49.0k
    if (yych == 'h') goto yy475;
5473
741
    goto yy48;
5474
82.6k
yy381:
5475
82.6k
    YYDEBUG(381, *YYCURSOR);
5476
82.6k
    yyaccept = 4;
5477
82.6k
    yych = *(YYMARKER = ++YYCURSOR);
5478
82.6k
    if (yych == 'S') goto yy477;
5479
80.7k
    if (yych == 's') goto yy477;
5480
1.94k
    goto yy48;
5481
5.87k
yy382:
5482
5.87k
    YYDEBUG(382, *YYCURSOR);
5483
5.87k
    yyaccept = 4;
5484
5.87k
    yych = *(YYMARKER = ++YYCURSOR);
5485
5.87k
    if (yych == 'E') goto yy479;
5486
4.50k
    if (yych == 'e') goto yy479;
5487
490
    goto yy48;
5488
59.4k
yy383:
5489
59.4k
    YYDEBUG(383, *YYCURSOR);
5490
59.4k
    yyaccept = 4;
5491
59.4k
    yych = *(YYMARKER = ++YYCURSOR);
5492
59.4k
    if (yych == 'T') goto yy481;
5493
55.9k
    if (yych == 't') goto yy481;
5494
2.40k
    goto yy48;
5495
7.93k
yy384:
5496
7.93k
    YYDEBUG(384, *YYCURSOR);
5497
7.93k
    yyaccept = 4;
5498
7.93k
    yych = *(YYMARKER = ++YYCURSOR);
5499
7.93k
    if (yych == 'I') goto yy483;
5500
6.61k
    if (yych == 'i') goto yy483;
5501
3.39k
    goto yy48;
5502
7.80k
yy385:
5503
7.80k
    YYDEBUG(385, *YYCURSOR);
5504
7.80k
    yyaccept = 4;
5505
7.80k
    yych = *(YYMARKER = ++YYCURSOR);
5506
7.80k
    if (yych == 'A') goto yy484;
5507
6.75k
    if (yych == 'a') goto yy484;
5508
407
    goto yy48;
5509
4.98k
yy386:
5510
4.98k
    YYDEBUG(386, *YYCURSOR);
5511
4.98k
    yyaccept = 4;
5512
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
5513
4.98k
    if (yych == 'U') goto yy485;
5514
4.49k
    if (yych == 'u') goto yy485;
5515
459
    goto yy48;
5516
85.2k
yy387:
5517
85.2k
    YYDEBUG(387, *YYCURSOR);
5518
85.2k
    yyaccept = 28;
5519
85.2k
    yych = *(YYMARKER = ++YYCURSOR);
5520
85.2k
    if (yybm[256+yych] & 128) {
5521
2.17k
      goto yy47;
5522
2.17k
    }
5523
83.0k
    if (yych == '\\') goto yy164;
5524
83.0k
yy388:
5525
83.0k
    YYDEBUG(388, *YYCURSOR);
5526
83.0k
    yyleng = YYCURSOR - SCNG(yy_text);
5527
83.0k
#line 1545 "Zend/zend_language_scanner.l"
5528
83.0k
    {
5529
83.0k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5530
83.0k
}
5531
0
#line 5532 "Zend/zend_language_scanner.c"
5532
13.0k
yy389:
5533
13.0k
    YYDEBUG(389, *YYCURSOR);
5534
13.0k
    yyaccept = 29;
5535
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
5536
13.0k
    if (yych <= '\\') {
5537
6.51k
      if (yych <= 'H') {
5538
5.13k
        if (yych <= '/') goto yy390;
5539
2.18k
        if (yych <= '9') goto yy47;
5540
1.89k
        if (yych >= 'A') goto yy47;
5541
1.89k
      } else {
5542
1.37k
        if (yych <= 'I') goto yy486;
5543
876
        if (yych <= 'Z') goto yy47;
5544
603
        if (yych >= '\\') goto yy164;
5545
603
      }
5546
6.51k
    } else {
5547
6.50k
      if (yych <= 'h') {
5548
889
        if (yych == '_') goto yy47;
5549
692
        if (yych >= 'a') goto yy47;
5550
5.61k
      } else {
5551
5.61k
        if (yych <= 'i') goto yy486;
5552
1.32k
        if (yych <= 'z') goto yy47;
5553
772
        if (yych >= 0x80) goto yy47;
5554
772
      }
5555
6.50k
    }
5556
5.87k
yy390:
5557
5.87k
    YYDEBUG(390, *YYCURSOR);
5558
5.87k
    yyleng = YYCURSOR - SCNG(yy_text);
5559
5.87k
#line 1465 "Zend/zend_language_scanner.l"
5560
5.87k
    {
5561
5.87k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5562
5.87k
}
5563
0
#line 5564 "Zend/zend_language_scanner.c"
5564
4.76k
yy391:
5565
4.76k
    YYDEBUG(391, *YYCURSOR);
5566
4.76k
    yyaccept = 4;
5567
4.76k
    yych = *(YYMARKER = ++YYCURSOR);
5568
4.76k
    if (yych == 'Y') goto yy487;
5569
3.67k
    if (yych == 'y') goto yy487;
5570
656
    goto yy48;
5571
8.87k
yy392:
5572
8.87k
    YYDEBUG(392, *YYCURSOR);
5573
8.87k
    yyaccept = 4;
5574
8.87k
    yych = *(YYMARKER = ++YYCURSOR);
5575
8.87k
    if (yych == 'E') goto yy489;
5576
6.56k
    if (yych == 'e') goto yy489;
5577
1.46k
    goto yy48;
5578
12.9k
yy393:
5579
12.9k
    YYDEBUG(393, *YYCURSOR);
5580
12.9k
    yyaccept = 4;
5581
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
5582
12.9k
    if (yych == 'O') goto yy490;
5583
8.16k
    if (yych == 'o') goto yy490;
5584
779
    goto yy48;
5585
9.47k
yy394:
5586
9.47k
    YYDEBUG(394, *YYCURSOR);
5587
9.47k
    yyaccept = 4;
5588
9.47k
    yych = *(YYMARKER = ++YYCURSOR);
5589
9.47k
    if (yych == 'F') goto yy491;
5590
3.67k
    if (yych == 'f') goto yy491;
5591
518
    goto yy48;
5592
6.30k
yy395:
5593
6.30k
    YYDEBUG(395, *YYCURSOR);
5594
6.30k
    yyaccept = 4;
5595
6.30k
    yych = *(YYMARKER = ++YYCURSOR);
5596
6.30k
    if (yych == 'W') goto yy493;
5597
5.14k
    if (yych == 'w') goto yy493;
5598
2.35k
    goto yy48;
5599
11.8k
yy396:
5600
11.8k
    YYDEBUG(396, *YYCURSOR);
5601
11.8k
    yyaccept = 4;
5602
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5603
11.8k
    if (yych == 'H') goto yy494;
5604
9.00k
    if (yych == 'h') goto yy494;
5605
3.29k
    goto yy48;
5606
156k
yy397:
5607
156k
    YYDEBUG(397, *YYCURSOR);
5608
156k
    yyaccept = 4;
5609
156k
    yych = *(YYMARKER = ++YYCURSOR);
5610
156k
    if (yych <= 0x1F) {
5611
124k
      if (yych <= '\n') {
5612
5.43k
        if (yych <= 0x08) goto yy48;
5613
4.73k
        goto yy495;
5614
119k
      } else {
5615
119k
        if (yych == '\r') goto yy495;
5616
513
        goto yy48;
5617
119k
      }
5618
124k
    } else {
5619
31.9k
      if (yych <= '#') {
5620
20.4k
        if (yych <= ' ') goto yy495;
5621
13.6k
        if (yych <= '"') goto yy48;
5622
13.1k
        goto yy497;
5623
13.6k
      } else {
5624
11.5k
        if (yych == '/') goto yy498;
5625
10.9k
        goto yy48;
5626
11.5k
      }
5627
31.9k
    }
5628
4.68k
yy398:
5629
4.68k
    YYDEBUG(398, *YYCURSOR);
5630
4.68k
    yyaccept = 30;
5631
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
5632
4.68k
    if (yybm[256+yych] & 128) {
5633
654
      goto yy47;
5634
654
    }
5635
4.02k
    if (yych == '\\') goto yy164;
5636
4.02k
yy399:
5637
4.02k
    YYDEBUG(399, *YYCURSOR);
5638
4.02k
    yyleng = YYCURSOR - SCNG(yy_text);
5639
4.02k
#line 1717 "Zend/zend_language_scanner.l"
5640
4.02k
    {
5641
4.02k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5642
4.02k
}
5643
0
#line 5644 "Zend/zend_language_scanner.c"
5644
2.56k
yy400:
5645
2.56k
    YYDEBUG(400, *YYCURSOR);
5646
2.56k
    yyaccept = 31;
5647
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
5648
2.56k
    if (yybm[256+yych] & 128) {
5649
817
      goto yy47;
5650
817
    }
5651
1.75k
    if (yych == '\\') goto yy164;
5652
1.70k
yy401:
5653
1.70k
    YYDEBUG(401, *YYCURSOR);
5654
1.70k
    yyleng = YYCURSOR - SCNG(yy_text);
5655
1.70k
#line 1398 "Zend/zend_language_scanner.l"
5656
1.70k
    {
5657
1.70k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5658
1.70k
}
5659
0
#line 5660 "Zend/zend_language_scanner.c"
5660
23.6k
yy402:
5661
23.6k
    YYDEBUG(402, *YYCURSOR);
5662
23.6k
    yyaccept = 4;
5663
23.6k
    yych = *(YYMARKER = ++YYCURSOR);
5664
23.6k
    if (yych == 'N') goto yy499;
5665
22.5k
    if (yych == 'n') goto yy499;
5666
1.39k
    goto yy48;
5667
14.6k
yy403:
5668
14.6k
    YYDEBUG(403, *YYCURSOR);
5669
14.6k
    yyaccept = 4;
5670
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
5671
14.6k
    if (yych == 'L') goto yy500;
5672
13.5k
    if (yych == 'l') goto yy500;
5673
921
    goto yy48;
5674
26.0k
yy404:
5675
26.0k
    YYDEBUG(404, *YYCURSOR);
5676
26.0k
    yyaccept = 4;
5677
26.0k
    yych = *(YYMARKER = ++YYCURSOR);
5678
26.0k
    if (yych == 'A') goto yy502;
5679
25.6k
    if (yych == 'a') goto yy502;
5680
1.83k
    goto yy48;
5681
127k
yy405:
5682
127k
    YYDEBUG(405, *YYCURSOR);
5683
127k
    yyaccept = 4;
5684
127k
    yych = *(YYMARKER = ++YYCURSOR);
5685
127k
    if (yych == 'T') goto yy503;
5686
126k
    if (yych == 't') goto yy503;
5687
14.5k
    goto yy48;
5688
14.5k
yy406:
5689
7.40k
    YYDEBUG(406, *YYCURSOR);
5690
7.40k
    yyaccept = 4;
5691
7.40k
    yych = *(YYMARKER = ++YYCURSOR);
5692
7.40k
    if (yych == 'A') goto yy504;
5693
4.09k
    if (yych == 'a') goto yy504;
5694
1.12k
    goto yy48;
5695
6.84k
yy407:
5696
6.84k
    YYDEBUG(407, *YYCURSOR);
5697
6.84k
    yyaccept = 32;
5698
6.84k
    yych = *(YYMARKER = ++YYCURSOR);
5699
6.84k
    if (yybm[256+yych] & 128) {
5700
969
      goto yy47;
5701
969
    }
5702
5.87k
    if (yych == '\\') goto yy164;
5703
5.73k
yy408:
5704
5.73k
    YYDEBUG(408, *YYCURSOR);
5705
5.73k
    yyleng = YYCURSOR - SCNG(yy_text);
5706
5.73k
#line 1541 "Zend/zend_language_scanner.l"
5707
5.73k
    {
5708
5.73k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5709
5.73k
}
5710
0
#line 5711 "Zend/zend_language_scanner.c"
5711
29.2k
yy409:
5712
29.2k
    YYDEBUG(409, *YYCURSOR);
5713
29.2k
    yyaccept = 4;
5714
29.2k
    yych = *(YYMARKER = ++YYCURSOR);
5715
29.2k
    if (yych == 'E') goto yy505;
5716
27.0k
    if (yych == 'e') goto yy505;
5717
2.00k
    goto yy48;
5718
11.0k
yy410:
5719
11.0k
    YYDEBUG(410, *YYCURSOR);
5720
11.0k
    yyaccept = 4;
5721
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5722
11.0k
    if (yych == 'U') goto yy506;
5723
9.27k
    if (yych == 'u') goto yy506;
5724
1.01k
    goto yy48;
5725
18.7k
yy411:
5726
18.7k
    YYDEBUG(411, *YYCURSOR);
5727
18.7k
    yyaccept = 4;
5728
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
5729
18.7k
    if (yych <= 'E') {
5730
3.75k
      if (yych == 'A') goto yy507;
5731
1.64k
      if (yych <= 'D') goto yy48;
5732
995
      goto yy508;
5733
15.0k
    } else {
5734
15.0k
      if (yych <= 'a') {
5735
5.18k
        if (yych <= '`') goto yy48;
5736
4.32k
        goto yy507;
5737
9.83k
      } else {
5738
9.83k
        if (yych == 'e') goto yy508;
5739
486
        goto yy48;
5740
9.83k
      }
5741
15.0k
    }
5742
16.1k
yy412:
5743
16.1k
    YYDEBUG(412, *YYCURSOR);
5744
16.1k
    yyaccept = 4;
5745
16.1k
    yych = *(YYMARKER = ++YYCURSOR);
5746
16.1k
    if (yych == 'R') goto yy509;
5747
15.3k
    if (yych == 'r') goto yy509;
5748
4.77k
    goto yy48;
5749
18.1k
yy413:
5750
18.1k
    YYDEBUG(413, *YYCURSOR);
5751
18.1k
    yyaccept = 4;
5752
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
5753
18.1k
    if (yych == 'T') goto yy510;
5754
17.6k
    if (yych == 't') goto yy510;
5755
483
    goto yy48;
5756
5.65k
yy414:
5757
5.65k
    YYDEBUG(414, *YYCURSOR);
5758
5.65k
    yyaccept = 33;
5759
5.65k
    yych = *(YYMARKER = ++YYCURSOR);
5760
5.65k
    if (yybm[256+yych] & 128) {
5761
774
      goto yy47;
5762
774
    }
5763
4.87k
    if (yych == '\\') goto yy164;
5764
4.87k
yy415:
5765
4.87k
    YYDEBUG(415, *YYCURSOR);
5766
4.87k
    yyleng = YYCURSOR - SCNG(yy_text);
5767
4.87k
#line 1813 "Zend/zend_language_scanner.l"
5768
4.87k
    {
5769
4.87k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5770
4.87k
}
5771
0
#line 5772 "Zend/zend_language_scanner.c"
5772
5.33k
yy416:
5773
5.33k
    YYDEBUG(416, *YYCURSOR);
5774
5.33k
    yyaccept = 4;
5775
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
5776
5.33k
    if (yych == 'H') goto yy512;
5777
5.08k
    if (yych == 'h') goto yy512;
5778
555
    goto yy48;
5779
27.9k
yy417:
5780
27.9k
    YYDEBUG(417, *YYCURSOR);
5781
27.9k
    yyaccept = 4;
5782
27.9k
    yych = *(YYMARKER = ++YYCURSOR);
5783
27.9k
    if (yych == 'S') goto yy514;
5784
26.2k
    if (yych == 's') goto yy514;
5785
2.48k
    goto yy48;
5786
14.0k
yy418:
5787
14.0k
    YYDEBUG(418, *YYCURSOR);
5788
14.0k
    yyaccept = 4;
5789
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
5790
14.0k
    if (yych == 'T') goto yy515;
5791
13.6k
    if (yych == 't') goto yy515;
5792
603
    goto yy48;
5793
14.2k
yy419:
5794
14.2k
    YYDEBUG(419, *YYCURSOR);
5795
14.2k
    yyaccept = 4;
5796
14.2k
    yych = *(YYMARKER = ++YYCURSOR);
5797
14.2k
    if (yych == 'A') goto yy517;
5798
12.6k
    if (yych == 'a') goto yy517;
5799
673
    goto yy48;
5800
13.5k
yy420:
5801
13.5k
    YYDEBUG(420, *YYCURSOR);
5802
13.5k
    yyaccept = 4;
5803
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5804
13.5k
    if (yych == 'E') goto yy518;
5805
11.7k
    if (yych == 'e') goto yy518;
5806
1.04k
    goto yy48;
5807
69.8k
yy421:
5808
69.8k
    YYDEBUG(421, *YYCURSOR);
5809
69.8k
    yyaccept = 4;
5810
69.8k
    yych = *(YYMARKER = ++YYCURSOR);
5811
69.8k
    if (yych == 'I') goto yy519;
5812
68.6k
    if (yych == 'i') goto yy519;
5813
1.64k
    goto yy48;
5814
7.56k
yy422:
5815
7.56k
    YYDEBUG(422, *YYCURSOR);
5816
7.56k
    yyaccept = 4;
5817
7.56k
    yych = *(YYMARKER = ++YYCURSOR);
5818
7.56k
    if (yych == 'O') goto yy520;
5819
7.35k
    if (yych == 'o') goto yy520;
5820
989
    goto yy48;
5821
21.1k
yy423:
5822
21.1k
    YYDEBUG(423, *YYCURSOR);
5823
21.1k
    yyaccept = 4;
5824
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
5825
21.1k
    if (yych == 'I') goto yy521;
5826
20.4k
    if (yych == 'i') goto yy521;
5827
877
    goto yy48;
5828
30.1k
yy424:
5829
30.1k
    YYDEBUG(424, *YYCURSOR);
5830
30.1k
    yyaccept = 4;
5831
30.1k
    yych = *(YYMARKER = ++YYCURSOR);
5832
30.1k
    if (yych == 'R') goto yy522;
5833
29.6k
    if (yych == 'r') goto yy522;
5834
538
    goto yy48;
5835
23.7k
yy425:
5836
23.7k
    YYDEBUG(425, *YYCURSOR);
5837
23.7k
    yyaccept = 4;
5838
23.7k
    yych = *(YYMARKER = ++YYCURSOR);
5839
23.7k
    if (yych == 'I') goto yy523;
5840
22.6k
    if (yych == 'i') goto yy523;
5841
966
    goto yy48;
5842
8.26k
yy426:
5843
8.26k
    YYDEBUG(426, *YYCURSOR);
5844
8.26k
    yyaccept = 4;
5845
8.26k
    yych = *(YYMARKER = ++YYCURSOR);
5846
8.26k
    if (yych == 'C') goto yy524;
5847
7.79k
    if (yych == 'c') goto yy524;
5848
1.29k
    goto yy48;
5849
15.0k
yy427:
5850
15.0k
    YYDEBUG(427, *YYCURSOR);
5851
15.0k
    yyaccept = 4;
5852
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
5853
15.0k
    if (yych == 'W') goto yy525;
5854
14.6k
    if (yych == 'w') goto yy525;
5855
933
    goto yy48;
5856
14.2k
yy428:
5857
14.2k
    YYDEBUG(428, *YYCURSOR);
5858
14.2k
    yyaccept = 4;
5859
14.2k
    yych = *(YYMARKER = ++YYCURSOR);
5860
14.2k
    if (yych == 'T') goto yy527;
5861
13.3k
    if (yych == 't') goto yy527;
5862
2.67k
    goto yy48;
5863
16.0k
yy429:
5864
16.0k
    YYDEBUG(429, *YYCURSOR);
5865
16.0k
    yyaccept = 4;
5866
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
5867
16.0k
    if (yych == 'T') goto yy529;
5868
15.1k
    if (yych == 't') goto yy529;
5869
5.79k
    goto yy48;
5870
5.79k
yy430:
5871
5.61k
    YYDEBUG(430, *YYCURSOR);
5872
5.61k
    yyaccept = 4;
5873
5.61k
    yych = *(YYMARKER = ++YYCURSOR);
5874
5.61k
    if (yych == 'E') goto yy531;
5875
4.79k
    if (yych == 'e') goto yy531;
5876
540
    goto yy48;
5877
77.8k
yy431:
5878
77.8k
    YYDEBUG(431, *YYCURSOR);
5879
77.8k
    yyaccept = 4;
5880
77.8k
    yych = *(YYMARKER = ++YYCURSOR);
5881
77.8k
    if (yych == 'D') goto yy533;
5882
75.9k
    if (yych == 'd') goto yy533;
5883
2.69k
    goto yy48;
5884
6.72k
yy432:
5885
6.72k
    YYDEBUG(432, *YYCURSOR);
5886
6.72k
    yyaccept = 4;
5887
6.72k
    yych = *(YYMARKER = ++YYCURSOR);
5888
6.72k
    if (yych == 'A') goto yy535;
5889
4.11k
    if (yych == 'a') goto yy535;
5890
1.12k
    goto yy48;
5891
6.89k
yy433:
5892
6.89k
    YYDEBUG(433, *YYCURSOR);
5893
6.89k
    yyaccept = 4;
5894
6.89k
    yych = *(YYMARKER = ++YYCURSOR);
5895
6.89k
    if (yych == 'R') goto yy536;
5896
3.71k
    if (yych == 'r') goto yy536;
5897
547
    goto yy48;
5898
9.37k
yy434:
5899
9.37k
    YYDEBUG(434, *YYCURSOR);
5900
9.37k
    yyaccept = 4;
5901
9.37k
    yych = *(YYMARKER = ++YYCURSOR);
5902
9.37k
    if (yych == 'L') goto yy537;
5903
3.47k
    if (yych == 'l') goto yy537;
5904
1.29k
    goto yy48;
5905
10.4k
yy435:
5906
10.4k
    YYDEBUG(435, *YYCURSOR);
5907
10.4k
    yyaccept = 4;
5908
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5909
10.4k
    if (yych == 'N') goto yy538;
5910
5.54k
    if (yych == 'n') goto yy538;
5911
812
    goto yy48;
5912
5.69k
yy436:
5913
5.69k
    YYDEBUG(436, *YYCURSOR);
5914
5.69k
    yyaccept = 4;
5915
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
5916
5.69k
    if (yych == 'L') goto yy539;
5917
4.58k
    if (yych == 'l') goto yy539;
5918
373
    goto yy48;
5919
5.28k
yy437:
5920
5.28k
    YYDEBUG(437, *YYCURSOR);
5921
5.28k
    yyaccept = 4;
5922
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
5923
5.28k
    if (yych == 'N') goto yy540;
5924
3.50k
    if (yych == 'n') goto yy540;
5925
597
    goto yy48;
5926
16.0k
yy438:
5927
16.0k
    YYDEBUG(438, *YYCURSOR);
5928
16.0k
    yyaccept = 4;
5929
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
5930
16.0k
    if (yych == 'T') goto yy541;
5931
4.88k
    if (yych == 't') goto yy541;
5932
1.27k
    goto yy48;
5933
8.55k
yy439:
5934
8.55k
    YYDEBUG(439, *YYCURSOR);
5935
8.55k
    yyaccept = 4;
5936
8.55k
    yych = *(YYMARKER = ++YYCURSOR);
5937
8.55k
    if (yych == 'M') goto yy542;
5938
3.33k
    if (yych == 'm') goto yy542;
5939
595
    goto yy48;
5940
7.43k
yy440:
5941
7.43k
    YYDEBUG(440, *YYCURSOR);
5942
7.43k
    yyaccept = 4;
5943
7.43k
    yych = *(YYMARKER = ++YYCURSOR);
5944
7.43k
    if (yych == 'O') goto yy543;
5945
1.58k
    if (yych == 'o') goto yy543;
5946
1.11k
    goto yy48;
5947
6.59k
yy441:
5948
6.59k
    YYDEBUG(441, *YYCURSOR);
5949
6.59k
    yyaccept = 4;
5950
6.59k
    yych = *(YYMARKER = ++YYCURSOR);
5951
6.59k
    if (yych == 'A') goto yy544;
5952
5.03k
    if (yych == 'a') goto yy544;
5953
849
    goto yy48;
5954
4.35k
yy442:
5955
4.35k
    YYDEBUG(442, *YYCURSOR);
5956
4.35k
    ++YYCURSOR;
5957
4.35k
    YYFILL(1);
5958
4.35k
    yych = *YYCURSOR;
5959
4.35k
    if (yych <= '\f') {
5960
710
      if (yych <= 0x00) goto yy86;
5961
458
      if (yych == '\n') goto yy84;
5962
249
      goto yy225;
5963
3.64k
    } else {
5964
3.64k
      if (yych <= '\r') goto yy84;
5965
3.17k
      if (yych == '.') goto yy352;
5966
2.79k
      goto yy225;
5967
3.17k
    }
5968
239k
yy443:
5969
239k
    YYDEBUG(443, *YYCURSOR);
5970
239k
    ++YYCURSOR;
5971
239k
    YYFILL(1);
5972
239k
    yych = *YYCURSOR;
5973
239k
    YYDEBUG(444, *YYCURSOR);
5974
239k
    if (yybm[0+yych] & 128) {
5975
186k
      goto yy443;
5976
186k
    }
5977
53.4k
    if (yych <= 0x00) goto yy86;
5978
50.0k
    if (yych <= '\r') goto yy545;
5979
9.61k
    goto yy547;
5980
9.61k
yy445:
5981
8.97k
    YYDEBUG(445, *YYCURSOR);
5982
8.97k
    yych = *++YYCURSOR;
5983
8.97k
    if (yych == 'Y') goto yy549;
5984
8.70k
    if (yych == 'y') goto yy549;
5985
482
    goto yy86;
5986
1.99k
yy446:
5987
1.99k
    YYDEBUG(446, *YYCURSOR);
5988
1.99k
    yych = *++YYCURSOR;
5989
1.99k
    if (yych == 'R') goto yy551;
5990
1.75k
    if (yych == 'r') goto yy551;
5991
571
    goto yy86;
5992
3.31k
yy447:
5993
3.31k
    YYDEBUG(447, *YYCURSOR);
5994
3.31k
    yych = *++YYCURSOR;
5995
3.31k
    if (yych == 'E') goto yy556;
5996
2.48k
    if (yych == 'e') goto yy556;
5997
1.38k
    goto yy553;
5998
2.34k
yy448:
5999
2.34k
    YYDEBUG(448, *YYCURSOR);
6000
2.34k
    yych = *++YYCURSOR;
6001
2.34k
    if (yych == 'L') goto yy557;
6002
2.14k
    if (yych == 'l') goto yy557;
6003
545
    goto yy86;
6004
4.46k
yy449:
6005
4.46k
    YYDEBUG(449, *YYCURSOR);
6006
4.46k
    yych = *++YYCURSOR;
6007
4.46k
    if (yych == 'T') goto yy558;
6008
4.26k
    if (yych == 't') goto yy558;
6009
546
    goto yy86;
6010
3.09k
yy450:
6011
3.09k
    YYDEBUG(450, *YYCURSOR);
6012
3.09k
    ++YYCURSOR;
6013
3.09k
    YYFILL(1);
6014
3.09k
    yych = *YYCURSOR;
6015
8.86k
yy451:
6016
8.86k
    YYDEBUG(451, *YYCURSOR);
6017
8.86k
    if (yych <= 0x1F) {
6018
496
      if (yych == '\t') goto yy450;
6019
266
      goto yy86;
6020
8.36k
    } else {
6021
8.36k
      if (yych <= ' ') goto yy450;
6022
5.50k
      if (yych != ')') goto yy86;
6023
5.50k
    }
6024
1.70k
    YYDEBUG(452, *YYCURSOR);
6025
1.70k
    ++YYCURSOR;
6026
1.70k
    YYDEBUG(453, *YYCURSOR);
6027
1.70k
    yyleng = YYCURSOR - SCNG(yy_text);
6028
1.70k
#line 1637 "Zend/zend_language_scanner.l"
6029
1.70k
    {
6030
1.70k
  RETURN_TOKEN(T_INT_CAST);
6031
1.70k
}
6032
0
#line 6033 "Zend/zend_language_scanner.c"
6033
5.10k
yy454:
6034
5.10k
    YYDEBUG(454, *YYCURSOR);
6035
5.10k
    yych = *++YYCURSOR;
6036
5.10k
    if (yych == 'G') goto yy560;
6037
4.85k
    if (yych == 'g') goto yy560;
6038
1.67k
    goto yy86;
6039
3.81k
yy455:
6040
3.81k
    YYDEBUG(455, *YYCURSOR);
6041
3.81k
    yych = *++YYCURSOR;
6042
3.81k
    if (yych == 'C') goto yy561;
6043
3.59k
    if (yych == 'c') goto yy561;
6044
740
    goto yy86;
6045
1.58k
yy456:
6046
1.58k
    YYDEBUG(456, *YYCURSOR);
6047
1.58k
    ++YYCURSOR;
6048
1.58k
    YYFILL(1);
6049
1.58k
    yych = *YYCURSOR;
6050
1.58k
    YYDEBUG(457, *YYCURSOR);
6051
1.58k
    if (yych <= 0x1F) {
6052
562
      if (yych == '\t') goto yy456;
6053
308
      goto yy86;
6054
1.02k
    } else {
6055
1.02k
      if (yych <= ' ') goto yy456;
6056
819
      if (yych == ')') goto yy562;
6057
297
      goto yy86;
6058
819
    }
6059
10.2k
yy458:
6060
10.2k
    YYDEBUG(458, *YYCURSOR);
6061
10.2k
    yych = *++YYCURSOR;
6062
10.2k
    if (yych == 'N') goto yy564;
6063
9.90k
    if (yych == 'n') goto yy564;
6064
2.85k
    goto yy86;
6065
2.85k
yy459:
6066
2.39k
    YYDEBUG(459, *YYCURSOR);
6067
2.39k
    yych = *++YYCURSOR;
6068
2.39k
    if (yych == 'T') goto yy565;
6069
1.97k
    if (yych == 't') goto yy565;
6070
1.01k
    goto yy86;
6071
3.77k
yy460:
6072
3.77k
    YYDEBUG(460, *YYCURSOR);
6073
3.77k
    ++YYCURSOR;
6074
3.77k
    YYFILL(1);
6075
3.77k
    yych = *YYCURSOR;
6076
3.77k
    YYDEBUG(461, *YYCURSOR);
6077
3.77k
    if (yych <= 0x1F) {
6078
1.36k
      if (yych == '\t') goto yy460;
6079
369
      goto yy86;
6080
2.40k
    } else {
6081
2.40k
      if (yych <= ' ') goto yy460;
6082
2.04k
      if (yych == ')') goto yy567;
6083
1.16k
      goto yy86;
6084
2.04k
    }
6085
22.0k
yy462:
6086
22.0k
    YYDEBUG(462, *YYCURSOR);
6087
22.0k
    ++YYCURSOR;
6088
22.0k
    YYFILL(3);
6089
22.0k
    yych = *YYCURSOR;
6090
26.8k
yy463:
6091
26.8k
    YYDEBUG(463, *YYCURSOR);
6092
26.8k
    if (yych <= 'Z') {
6093
14.0k
      if (yych <= '/') {
6094
2.62k
        if (yych == '"') goto yy569;
6095
1.85k
        goto yy86;
6096
11.4k
      } else {
6097
11.4k
        if (yych <= '9') goto yy462;
6098
1.80k
        if (yych <= '@') goto yy86;
6099
1.01k
        goto yy462;
6100
1.80k
      }
6101
14.0k
    } else {
6102
12.7k
      if (yych <= '`') {
6103
875
        if (yych == '_') goto yy462;
6104
431
        goto yy86;
6105
11.9k
      } else {
6106
11.9k
        if (yych <= 'z') goto yy462;
6107
2.58k
        if (yych <= 0x7F) goto yy86;
6108
1.59k
        goto yy462;
6109
2.58k
      }
6110
12.7k
    }
6111
37.3k
yy464:
6112
37.3k
    YYDEBUG(464, *YYCURSOR);
6113
37.3k
    ++YYCURSOR;
6114
37.3k
    YYFILL(3);
6115
37.3k
    yych = *YYCURSOR;
6116
49.8k
yy465:
6117
49.8k
    YYDEBUG(465, *YYCURSOR);
6118
49.8k
    if (yych <= 'Z') {
6119
17.4k
      if (yych <= '/') {
6120
11.0k
        if (yych == '\'') goto yy569;
6121
901
        goto yy86;
6122
11.0k
      } else {
6123
6.40k
        if (yych <= '9') goto yy464;
6124
6.03k
        if (yych <= '@') goto yy86;
6125
5.57k
        goto yy464;
6126
6.03k
      }
6127
32.3k
    } else {
6128
32.3k
      if (yych <= '`') {
6129
974
        if (yych == '_') goto yy464;
6130
342
        goto yy86;
6131
31.4k
      } else {
6132
31.4k
        if (yych <= 'z') goto yy464;
6133
7.38k
        if (yych <= 0x7F) goto yy86;
6134
6.70k
        goto yy464;
6135
7.38k
      }
6136
32.3k
    }
6137
3.27M
yy466:
6138
3.27M
    YYDEBUG(466, *YYCURSOR);
6139
3.27M
    ++YYCURSOR;
6140
3.29M
yy467:
6141
3.29M
    YYDEBUG(467, *YYCURSOR);
6142
3.29M
    yyleng = YYCURSOR - SCNG(yy_text);
6143
3.29M
#line 2677 "Zend/zend_language_scanner.l"
6144
3.29M
    {
6145
3.29M
  char *s;
6146
3.29M
  unsigned char *saved_cursor;
6147
3.29M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6148
3.29M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6149
3.29M
  bool is_heredoc = 1;
6150
6151
3.29M
  CG(zend_lineno)++;
6152
3.29M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6153
3.29M
  s = yytext+bprefix+3;
6154
3.31M
  while ((*s == ' ') || (*s == '\t')) {
6155
17.1k
    s++;
6156
17.1k
    heredoc_label->length--;
6157
17.1k
  }
6158
6159
3.29M
  if (*s == '\'') {
6160
9.25k
    s++;
6161
9.25k
    heredoc_label->length -= 2;
6162
9.25k
    is_heredoc = 0;
6163
6164
9.25k
    BEGIN(ST_NOWDOC);
6165
3.28M
  } else {
6166
3.28M
    if (*s == '"') {
6167
353
      s++;
6168
353
      heredoc_label->length -= 2;
6169
353
    }
6170
6171
3.28M
    BEGIN(ST_HEREDOC);
6172
3.28M
  }
6173
6174
3.29M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6175
3.29M
  heredoc_label->indentation_uses_spaces = 0;
6176
3.29M
  heredoc_label->indentation = 0;
6177
3.29M
  saved_cursor = YYCURSOR;
6178
6179
3.29M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6180
6181
3.41M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6182
117k
    if (*YYCURSOR == '\t') {
6183
35.0k
      spacing |= HEREDOC_USING_TABS;
6184
82.3k
    } else {
6185
82.3k
      spacing |= HEREDOC_USING_SPACES;
6186
82.3k
    }
6187
117k
    ++YYCURSOR;
6188
117k
    ++indentation;
6189
117k
  }
6190
6191
3.29M
  if (YYCURSOR == YYLIMIT) {
6192
1.15k
    YYCURSOR = saved_cursor;
6193
1.15k
    RETURN_TOKEN(T_START_HEREDOC);
6194
1.15k
  }
6195
6196
  /* Check for ending label on the next line */
6197
3.29M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6198
8.48k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6199
3.57k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6200
77
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6201
77
        if (PARSER_MODE()) {
6202
11
          RETURN_TOKEN(T_ERROR);
6203
11
        }
6204
77
      }
6205
6206
3.56k
      YYCURSOR = saved_cursor;
6207
3.56k
      heredoc_label->indentation = indentation;
6208
6209
3.56k
      BEGIN(ST_END_HEREDOC);
6210
3.56k
      RETURN_TOKEN(T_START_HEREDOC);
6211
3.56k
    }
6212
8.48k
  }
6213
6214
3.28M
  YYCURSOR = saved_cursor;
6215
6216
3.28M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6217
175k
    zend_lex_state current_state;
6218
175k
    zend_string *saved_doc_comment = CG(doc_comment);
6219
175k
    int heredoc_nesting_level = 1;
6220
175k
    int first_token = 0;
6221
175k
    int error = 0;
6222
6223
175k
    zend_save_lexical_state(&current_state);
6224
6225
175k
    SCNG(heredoc_scan_ahead) = 1;
6226
175k
    SCNG(heredoc_indentation) = 0;
6227
175k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6228
175k
    SCNG(on_event_context) = NULL;
6229
175k
    LANG_SCNG(on_event) = NULL;
6230
175k
    CG(doc_comment) = NULL;
6231
6232
175k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6233
6234
175k
    zend_exception_save();
6235
22.7M
    while (heredoc_nesting_level) {
6236
22.7M
      zval zv;
6237
22.7M
      int retval;
6238
6239
22.7M
      ZVAL_UNDEF(&zv);
6240
22.7M
      retval = lex_scan(&zv, NULL);
6241
22.7M
      zval_ptr_dtor_nogc(&zv);
6242
6243
22.7M
      if (EG(exception)) {
6244
166k
        zend_clear_exception();
6245
166k
        break;
6246
166k
      }
6247
6248
22.5M
      if (!first_token) {
6249
175k
        first_token = retval;
6250
175k
      }
6251
6252
22.5M
      switch (retval) {
6253
3.11M
        case T_START_HEREDOC:
6254
3.11M
          ++heredoc_nesting_level;
6255
3.11M
          break;
6256
18.7k
        case T_END_HEREDOC:
6257
18.7k
          --heredoc_nesting_level;
6258
18.7k
          break;
6259
3.94k
        case END:
6260
3.94k
          heredoc_nesting_level = 0;
6261
22.5M
      }
6262
22.5M
    }
6263
175k
    zend_exception_restore();
6264
6265
175k
    if (
6266
175k
        (first_token == T_VARIABLE
6267
168k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6268
49.6k
         || first_token == T_CURLY_OPEN
6269
175k
        ) && SCNG(heredoc_indentation)) {
6270
8
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6271
8
      error = 1;
6272
8
    }
6273
6274
175k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6275
175k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6276
6277
175k
    zend_restore_lexical_state(&current_state);
6278
175k
    SCNG(heredoc_scan_ahead) = 0;
6279
175k
    CG(increment_lineno) = 0;
6280
175k
    CG(doc_comment) = saved_doc_comment;
6281
6282
175k
    if (PARSER_MODE() && error) {
6283
8
      RETURN_TOKEN(T_ERROR);
6284
8
    }
6285
175k
  }
6286
6287
3.28M
  RETURN_TOKEN(T_START_HEREDOC);
6288
3.28M
}
6289
0
#line 6290 "Zend/zend_language_scanner.c"
6290
24.7k
yy468:
6291
24.7k
    YYDEBUG(468, *YYCURSOR);
6292
24.7k
    yych = *++YYCURSOR;
6293
24.7k
    if (yych == '\n') goto yy466;
6294
24.1k
    goto yy467;
6295
24.1k
yy469:
6296
8.65k
    YYDEBUG(469, *YYCURSOR);
6297
8.65k
    yyaccept = 4;
6298
8.65k
    yych = *(YYMARKER = ++YYCURSOR);
6299
8.65k
    if (yych == 'A') goto yy570;
6300
7.02k
    if (yych == 'a') goto yy570;
6301
659
    goto yy48;
6302
25.1k
yy470:
6303
25.1k
    YYDEBUG(470, *YYCURSOR);
6304
25.1k
    yyaccept = 34;
6305
25.1k
    yych = *(YYMARKER = ++YYCURSOR);
6306
25.1k
    if (yybm[256+yych] & 128) {
6307
6.77k
      goto yy47;
6308
6.77k
    }
6309
18.3k
    if (yych == '\\') goto yy164;
6310
18.3k
yy471:
6311
18.3k
    YYDEBUG(471, *YYCURSOR);
6312
18.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6313
18.3k
#line 1817 "Zend/zend_language_scanner.l"
6314
18.3k
    {
6315
18.3k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6316
18.3k
}
6317
0
#line 6318 "Zend/zend_language_scanner.c"
6318
3.36k
yy472:
6319
3.36k
    YYDEBUG(472, *YYCURSOR);
6320
3.36k
    yyaccept = 35;
6321
3.36k
    yych = *(YYMARKER = ++YYCURSOR);
6322
3.36k
    if (yybm[256+yych] & 128) {
6323
483
      goto yy47;
6324
483
    }
6325
2.87k
    if (yych == '\\') goto yy164;
6326
2.83k
yy473:
6327
2.83k
    YYDEBUG(473, *YYCURSOR);
6328
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
6329
2.83k
#line 1533 "Zend/zend_language_scanner.l"
6330
2.83k
    {
6331
2.83k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6332
2.83k
}
6333
0
#line 6334 "Zend/zend_language_scanner.c"
6334
3.02k
yy474:
6335
3.02k
    YYDEBUG(474, *YYCURSOR);
6336
3.02k
    yyaccept = 4;
6337
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
6338
3.02k
    if (yych == 'B') goto yy571;
6339
2.48k
    if (yych == 'b') goto yy571;
6340
233
    goto yy48;
6341
49.2k
yy475:
6342
49.2k
    YYDEBUG(475, *YYCURSOR);
6343
49.2k
    yyaccept = 36;
6344
49.2k
    yych = *(YYMARKER = ++YYCURSOR);
6345
49.2k
    if (yybm[256+yych] & 128) {
6346
590
      goto yy47;
6347
590
    }
6348
48.6k
    if (yych == '\\') goto yy164;
6349
48.5k
yy476:
6350
48.5k
    YYDEBUG(476, *YYCURSOR);
6351
48.5k
    yyleng = YYCURSOR - SCNG(yy_text);
6352
48.5k
#line 1441 "Zend/zend_language_scanner.l"
6353
48.5k
    {
6354
48.5k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6355
48.5k
}
6356
0
#line 6357 "Zend/zend_language_scanner.c"
6357
80.7k
yy477:
6358
80.7k
    YYDEBUG(477, *YYCURSOR);
6359
80.7k
    yyaccept = 37;
6360
80.7k
    yych = *(YYMARKER = ++YYCURSOR);
6361
80.7k
    if (yybm[256+yych] & 128) {
6362
5.74k
      goto yy47;
6363
5.74k
    }
6364
74.9k
    if (yych == '\\') goto yy164;
6365
74.9k
yy478:
6366
74.9k
    YYDEBUG(478, *YYCURSOR);
6367
74.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6368
74.9k
#line 1553 "Zend/zend_language_scanner.l"
6369
74.9k
    {
6370
74.9k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6371
74.9k
}
6372
0
#line 6373 "Zend/zend_language_scanner.c"
6373
5.38k
yy479:
6374
5.38k
    YYDEBUG(479, *YYCURSOR);
6375
5.38k
    yyaccept = 38;
6376
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
6377
5.38k
    if (yybm[256+yych] & 128) {
6378
541
      goto yy47;
6379
541
    }
6380
4.84k
    if (yych == '\\') goto yy164;
6381
4.83k
yy480:
6382
4.83k
    YYDEBUG(480, *YYCURSOR);
6383
4.83k
    yyleng = YYCURSOR - SCNG(yy_text);
6384
4.83k
#line 1629 "Zend/zend_language_scanner.l"
6385
4.83k
    {
6386
4.83k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6387
4.83k
}
6388
0
#line 6389 "Zend/zend_language_scanner.c"
6389
57.0k
yy481:
6390
57.0k
    YYDEBUG(481, *YYCURSOR);
6391
57.0k
    yyaccept = 39;
6392
57.0k
    yych = *(YYMARKER = ++YYCURSOR);
6393
57.0k
    if (yybm[256+yych] & 128) {
6394
8.15k
      goto yy47;
6395
8.15k
    }
6396
48.9k
    if (yych == '\\') goto yy164;
6397
48.9k
yy482:
6398
48.9k
    YYDEBUG(482, *YYCURSOR);
6399
48.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6400
48.9k
#line 1414 "Zend/zend_language_scanner.l"
6401
48.9k
    {
6402
48.9k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6403
48.9k
}
6404
0
#line 6405 "Zend/zend_language_scanner.c"
6405
4.54k
yy483:
6406
4.54k
    YYDEBUG(483, *YYCURSOR);
6407
4.54k
    yyaccept = 4;
6408
4.54k
    yych = *(YYMARKER = ++YYCURSOR);
6409
4.54k
    if (yych == 'N') goto yy572;
6410
3.54k
    if (yych == 'n') goto yy572;
6411
448
    goto yy48;
6412
7.39k
yy484:
6413
7.39k
    YYDEBUG(484, *YYCURSOR);
6414
7.39k
    yyaccept = 4;
6415
7.39k
    yych = *(YYMARKER = ++YYCURSOR);
6416
7.39k
    if (yych == 'R') goto yy573;
6417
6.73k
    if (yych == 'r') goto yy573;
6418
1.60k
    goto yy48;
6419
4.52k
yy485:
6420
4.52k
    YYDEBUG(485, *YYCURSOR);
6421
4.52k
    yyaccept = 4;
6422
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
6423
4.52k
    if (yych == 'L') goto yy574;
6424
4.18k
    if (yych == 'l') goto yy574;
6425
699
    goto yy48;
6426
4.79k
yy486:
6427
4.79k
    YYDEBUG(486, *YYCURSOR);
6428
4.79k
    yyaccept = 4;
6429
4.79k
    yych = *(YYMARKER = ++YYCURSOR);
6430
4.79k
    if (yych == 'F') goto yy575;
6431
4.45k
    if (yych == 'f') goto yy575;
6432
1.77k
    goto yy48;
6433
4.10k
yy487:
6434
4.10k
    YYDEBUG(487, *YYCURSOR);
6435
4.10k
    yyaccept = 40;
6436
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
6437
4.10k
    if (yybm[256+yych] & 128) {
6438
456
      goto yy47;
6439
456
    }
6440
3.64k
    if (yych == '\\') goto yy164;
6441
3.64k
yy488:
6442
3.64k
    YYDEBUG(488, *YYCURSOR);
6443
3.64k
    yyleng = YYCURSOR - SCNG(yy_text);
6444
3.64k
#line 1757 "Zend/zend_language_scanner.l"
6445
3.64k
    {
6446
3.64k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6447
3.64k
}
6448
0
#line 6449 "Zend/zend_language_scanner.c"
6449
7.41k
yy489:
6450
7.41k
    YYDEBUG(489, *YYCURSOR);
6451
7.41k
    yyaccept = 4;
6452
7.41k
    yych = *(YYMARKER = ++YYCURSOR);
6453
7.41k
    if (yych == 'C') goto yy577;
6454
5.89k
    if (yych == 'c') goto yy577;
6455
1.43k
    goto yy48;
6456
12.1k
yy490:
6457
12.1k
    YYDEBUG(490, *YYCURSOR);
6458
12.1k
    yyaccept = 4;
6459
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
6460
12.1k
    if (yych == 'R') goto yy578;
6461
7.78k
    if (yych == 'r') goto yy578;
6462
700
    goto yy48;
6463
8.95k
yy491:
6464
8.95k
    YYDEBUG(491, *YYCURSOR);
6465
8.95k
    yyaccept = 41;
6466
8.95k
    yych = *(YYMARKER = ++YYCURSOR);
6467
8.95k
    if (yybm[256+yych] & 128) {
6468
396
      goto yy47;
6469
396
    }
6470
8.55k
    if (yych == '\\') goto yy164;
6471
8.55k
yy492:
6472
8.55k
    YYDEBUG(492, *YYCURSOR);
6473
8.55k
    yyleng = YYCURSOR - SCNG(yy_text);
6474
8.55k
#line 1461 "Zend/zend_language_scanner.l"
6475
8.55k
    {
6476
8.55k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6477
8.55k
}
6478
0
#line 6479 "Zend/zend_language_scanner.c"
6479
3.95k
yy493:
6480
3.95k
    YYDEBUG(493, *YYCURSOR);
6481
3.95k
    yyaccept = 4;
6482
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
6483
3.95k
    if (yych == 'I') goto yy580;
6484
2.94k
    if (yych == 'i') goto yy580;
6485
367
    goto yy48;
6486
8.60k
yy494:
6487
8.60k
    YYDEBUG(494, *YYCURSOR);
6488
8.60k
    yyaccept = 4;
6489
8.60k
    yych = *(YYMARKER = ++YYCURSOR);
6490
8.60k
    if (yych == 'I') goto yy581;
6491
6.04k
    if (yych == 'i') goto yy581;
6492
399
    goto yy48;
6493
583k
yy495:
6494
583k
    YYDEBUG(495, *YYCURSOR);
6495
583k
    ++YYCURSOR;
6496
583k
    YYFILL(10);
6497
583k
    yych = *YYCURSOR;
6498
583k
    YYDEBUG(496, *YYCURSOR);
6499
583k
    if (yych <= 'E') {
6500
555k
      if (yych <= ' ') {
6501
44.7k
        if (yych <= '\f') {
6502
17.7k
          if (yych <= 0x08) goto yy86;
6503
14.5k
          if (yych <= '\n') goto yy495;
6504
1.60k
          goto yy86;
6505
27.0k
        } else {
6506
27.0k
          if (yych <= '\r') goto yy495;
6507
9.81k
          if (yych <= 0x1F) goto yy86;
6508
9.10k
          goto yy495;
6509
9.81k
        }
6510
510k
      } else {
6511
510k
        if (yych <= '.') {
6512
498k
          if (yych != '#') goto yy86;
6513
498k
        } else {
6514
11.9k
          if (yych <= '/') goto yy498;
6515
4.72k
          if (yych <= '@') goto yy86;
6516
1.91k
          if (yych <= 'D') goto yy582;
6517
616
          goto yy584;
6518
1.91k
        }
6519
510k
      }
6520
555k
    } else {
6521
28.1k
      if (yych <= '`') {
6522
5.54k
        if (yych <= 'Z') {
6523
4.24k
          if (yych == 'I') goto yy585;
6524
2.42k
          goto yy582;
6525
4.24k
        } else {
6526
1.30k
          if (yych == '_') goto yy582;
6527
530
          goto yy86;
6528
1.30k
        }
6529
22.5k
      } else {
6530
22.5k
        if (yych <= 'h') {
6531
7.70k
          if (yych == 'e') goto yy584;
6532
1.90k
          goto yy582;
6533
14.8k
        } else {
6534
14.8k
          if (yych <= 'i') goto yy585;
6535
10.7k
          if (yych <= 'z') goto yy582;
6536
4.84k
          if (yych <= 0x7F) goto yy86;
6537
3.83k
          goto yy582;
6538
4.84k
        }
6539
22.5k
      }
6540
28.1k
    }
6541
501k
yy497:
6542
501k
    YYDEBUG(497, *YYCURSOR);
6543
501k
    ++YYCURSOR;
6544
501k
    YYFILL(1);
6545
501k
    yych = *YYCURSOR;
6546
501k
    if (yych <= '\f') {
6547
372k
      if (yych <= 0x00) goto yy86;
6548
371k
      if (yych == '\n') goto yy588;
6549
7.57k
      goto yy586;
6550
371k
    } else {
6551
129k
      if (yych <= '\r') goto yy588;
6552
43.6k
      if (yych == '[') goto yy86;
6553
43.2k
      goto yy586;
6554
43.6k
    }
6555
7.80k
yy498:
6556
7.80k
    YYDEBUG(498, *YYCURSOR);
6557
7.80k
    ++YYCURSOR;
6558
7.80k
    YYFILL(1);
6559
7.80k
    yych = *YYCURSOR;
6560
7.80k
    if (yych == '*') goto yy590;
6561
3.18k
    if (yych == '/') goto yy586;
6562
2.01k
    goto yy86;
6563
22.2k
yy499:
6564
22.2k
    YYDEBUG(499, *YYCURSOR);
6565
22.2k
    yyaccept = 4;
6566
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
6567
22.2k
    if (yych == 'D') goto yy592;
6568
21.3k
    if (yych == 'd') goto yy592;
6569
3.93k
    goto yy48;
6570
13.7k
yy500:
6571
13.7k
    YYDEBUG(500, *YYCURSOR);
6572
13.7k
    yyaccept = 42;
6573
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
6574
13.7k
    if (yych <= '\\') {
6575
7.03k
      if (yych <= 'K') {
6576
5.92k
        if (yych <= '/') goto yy501;
6577
1.99k
        if (yych <= '9') goto yy47;
6578
1.32k
        if (yych >= 'A') goto yy47;
6579
1.32k
      } else {
6580
1.11k
        if (yych <= 'L') goto yy593;
6581
799
        if (yych <= 'Z') goto yy47;
6582
581
        if (yych >= '\\') goto yy164;
6583
581
      }
6584
7.03k
    } else {
6585
6.72k
      if (yych <= 'k') {
6586
813
        if (yych == '_') goto yy47;
6587
560
        if (yych >= 'a') goto yy47;
6588
5.91k
      } else {
6589
5.91k
        if (yych <= 'l') goto yy593;
6590
1.15k
        if (yych <= 'z') goto yy47;
6591
834
        if (yych >= 0x80) goto yy47;
6592
834
      }
6593
6.72k
    }
6594
6.06k
yy501:
6595
6.06k
    YYDEBUG(501, *YYCURSOR);
6596
6.06k
    yyleng = YYCURSOR - SCNG(yy_text);
6597
6.06k
#line 1773 "Zend/zend_language_scanner.l"
6598
6.06k
    {
6599
6.06k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6600
6.06k
}
6601
0
#line 6602 "Zend/zend_language_scanner.c"
6602
24.2k
yy502:
6603
24.2k
    YYDEBUG(502, *YYCURSOR);
6604
24.2k
    yyaccept = 4;
6605
24.2k
    yych = *(YYMARKER = ++YYCURSOR);
6606
24.2k
    if (yych == 'C') goto yy594;
6607
23.5k
    if (yych == 'c') goto yy594;
6608
2.17k
    goto yy48;
6609
113k
yy503:
6610
113k
    YYDEBUG(503, *YYCURSOR);
6611
113k
    yyaccept = 4;
6612
113k
    yych = *(YYMARKER = ++YYCURSOR);
6613
113k
    if (yych == 'I') goto yy595;
6614
112k
    if (yych == 'i') goto yy595;
6615
1.17k
    goto yy48;
6616
6.28k
yy504:
6617
6.28k
    YYDEBUG(504, *YYCURSOR);
6618
6.28k
    yyaccept = 4;
6619
6.28k
    yych = *(YYMARKER = ++YYCURSOR);
6620
6.28k
    if (yych == 'L') goto yy596;
6621
2.92k
    if (yych == 'l') goto yy596;
6622
546
    goto yy48;
6623
27.2k
yy505:
6624
27.2k
    YYDEBUG(505, *YYCURSOR);
6625
27.2k
    yyaccept = 4;
6626
27.2k
    yych = *(YYMARKER = ++YYCURSOR);
6627
27.2k
    if (yych == 'M') goto yy598;
6628
19.2k
    if (yych == 'm') goto yy598;
6629
10.3k
    goto yy48;
6630
10.3k
yy506:
6631
10.0k
    YYDEBUG(506, *YYCURSOR);
6632
10.0k
    yyaccept = 4;
6633
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
6634
10.0k
    if (yych == 'D') goto yy599;
6635
8.25k
    if (yych == 'd') goto yy599;
6636
690
    goto yy48;
6637
6.43k
yy507:
6638
6.43k
    YYDEBUG(507, *YYCURSOR);
6639
6.43k
    yyaccept = 4;
6640
6.43k
    yych = *(YYMARKER = ++YYCURSOR);
6641
6.43k
    if (yych == 'N') goto yy600;
6642
4.65k
    if (yych == 'n') goto yy600;
6643
446
    goto yy48;
6644
10.3k
yy508:
6645
10.3k
    YYDEBUG(508, *YYCURSOR);
6646
10.3k
    yyaccept = 4;
6647
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
6648
10.3k
    if (yych == 'A') goto yy601;
6649
9.06k
    if (yych == 'a') goto yy601;
6650
2.95k
    goto yy48;
6651
11.3k
yy509:
6652
11.3k
    YYDEBUG(509, *YYCURSOR);
6653
11.3k
    yyaccept = 4;
6654
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
6655
11.3k
    if (yych == 'F') goto yy602;
6656
10.3k
    if (yych == 'f') goto yy602;
6657
1.31k
    goto yy48;
6658
17.6k
yy510:
6659
17.6k
    YYDEBUG(510, *YYCURSOR);
6660
17.6k
    yyaccept = 43;
6661
17.6k
    yych = *(YYMARKER = ++YYCURSOR);
6662
17.6k
    if (yybm[256+yych] & 128) {
6663
3.58k
      goto yy47;
6664
3.58k
    }
6665
14.0k
    if (yych == '\\') goto yy164;
6666
14.0k
yy511:
6667
14.0k
    YYDEBUG(511, *YYCURSOR);
6668
14.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6669
14.0k
#line 1753 "Zend/zend_language_scanner.l"
6670
14.0k
    {
6671
14.0k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6672
14.0k
}
6673
0
#line 6674 "Zend/zend_language_scanner.c"
6674
4.78k
yy512:
6675
4.78k
    YYDEBUG(512, *YYCURSOR);
6676
4.78k
    yyaccept = 44;
6677
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
6678
4.78k
    if (yybm[256+yych] & 128) {
6679
281
      goto yy47;
6680
281
    }
6681
4.50k
    if (yych == '\\') goto yy164;
6682
4.48k
yy513:
6683
4.48k
    YYDEBUG(513, *YYCURSOR);
6684
4.48k
    yyleng = YYCURSOR - SCNG(yy_text);
6685
4.48k
#line 1517 "Zend/zend_language_scanner.l"
6686
4.48k
    {
6687
4.48k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6688
4.48k
}
6689
0
#line 6690 "Zend/zend_language_scanner.c"
6690
25.4k
yy514:
6691
25.4k
    YYDEBUG(514, *YYCURSOR);
6692
25.4k
    yyaccept = 4;
6693
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
6694
25.4k
    if (yych == 'P') goto yy603;
6695
23.1k
    if (yych == 'p') goto yy603;
6696
595
    goto yy48;
6697
13.4k
yy515:
6698
13.4k
    YYDEBUG(515, *YYCURSOR);
6699
13.4k
    yyaccept = 45;
6700
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
6701
13.4k
    if (yybm[256+yych] & 128) {
6702
7.35k
      goto yy47;
6703
7.35k
    }
6704
6.12k
    if (yych == '\\') goto yy164;
6705
6.09k
yy516:
6706
6.09k
    YYDEBUG(516, *YYCURSOR);
6707
6.09k
    yyleng = YYCURSOR - SCNG(yy_text);
6708
6.09k
#line 1549 "Zend/zend_language_scanner.l"
6709
6.09k
    {
6710
6.09k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6711
6.09k
}
6712
0
#line 6713 "Zend/zend_language_scanner.c"
6713
13.5k
yy517:
6714
13.5k
    YYDEBUG(517, *YYCURSOR);
6715
13.5k
    yyaccept = 4;
6716
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
6717
13.5k
    if (yych == 'T') goto yy604;
6718
12.5k
    if (yych == 't') goto yy604;
6719
816
    goto yy48;
6720
12.4k
yy518:
6721
12.4k
    YYDEBUG(518, *YYCURSOR);
6722
12.4k
    yyaccept = 4;
6723
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
6724
12.4k
    if (yych == 'C') goto yy605;
6725
11.1k
    if (yych == 'c') goto yy605;
6726
820
    goto yy48;
6727
68.2k
yy519:
6728
68.2k
    YYDEBUG(519, *YYCURSOR);
6729
68.2k
    yyaccept = 4;
6730
68.2k
    yych = *(YYMARKER = ++YYCURSOR);
6731
68.2k
    if (yych == 'C') goto yy606;
6732
66.6k
    if (yych == 'c') goto yy606;
6733
2.90k
    goto yy48;
6734
6.57k
yy520:
6735
6.57k
    YYDEBUG(520, *YYCURSOR);
6736
6.57k
    yyaccept = 4;
6737
6.57k
    yych = *(YYMARKER = ++YYCURSOR);
6738
6.57k
    if (yych == 'N') goto yy608;
6739
6.33k
    if (yych == 'n') goto yy608;
6740
547
    goto yy48;
6741
20.2k
yy521:
6742
20.2k
    YYDEBUG(521, *YYCURSOR);
6743
20.2k
    yyaccept = 4;
6744
20.2k
    yych = *(YYMARKER = ++YYCURSOR);
6745
20.2k
    if (yych == 'R') goto yy609;
6746
19.4k
    if (yych == 'r') goto yy609;
6747
1.40k
    goto yy48;
6748
29.5k
yy522:
6749
29.5k
    YYDEBUG(522, *YYCURSOR);
6750
29.5k
    yyaccept = 4;
6751
29.5k
    yych = *(YYMARKER = ++YYCURSOR);
6752
29.5k
    if (yych == 'N') goto yy610;
6753
29.0k
    if (yych == 'n') goto yy610;
6754
1.12k
    goto yy48;
6755
22.8k
yy523:
6756
22.8k
    YYDEBUG(523, *YYCURSOR);
6757
22.8k
    yyaccept = 4;
6758
22.8k
    yych = *(YYMARKER = ++YYCURSOR);
6759
22.8k
    if (yych == 'C') goto yy612;
6760
21.9k
    if (yych == 'c') goto yy612;
6761
1.42k
    goto yy48;
6762
6.96k
yy524:
6763
6.96k
    YYDEBUG(524, *YYCURSOR);
6764
6.96k
    yyaccept = 4;
6765
6.96k
    yych = *(YYMARKER = ++YYCURSOR);
6766
6.96k
    if (yych == 'H') goto yy614;
6767
6.58k
    if (yych == 'h') goto yy614;
6768
1.71k
    goto yy48;
6769
14.1k
yy525:
6770
14.1k
    YYDEBUG(525, *YYCURSOR);
6771
14.1k
    yyaccept = 46;
6772
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
6773
14.1k
    if (yybm[256+yych] & 128) {
6774
5.65k
      goto yy47;
6775
5.65k
    }
6776
8.49k
    if (yych == '\\') goto yy164;
6777
8.49k
yy526:
6778
8.49k
    YYDEBUG(526, *YYCURSOR);
6779
8.49k
    yyleng = YYCURSOR - SCNG(yy_text);
6780
8.49k
#line 1449 "Zend/zend_language_scanner.l"
6781
8.49k
    {
6782
8.49k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6783
8.49k
}
6784
0
#line 6785 "Zend/zend_language_scanner.c"
6785
11.6k
yy527:
6786
11.6k
    YYDEBUG(527, *YYCURSOR);
6787
11.6k
    yyaccept = 47;
6788
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
6789
11.6k
    if (yybm[256+yych] & 128) {
6790
2.22k
      goto yy47;
6791
2.22k
    }
6792
9.39k
    if (yych == '\\') goto yy164;
6793
9.39k
yy528:
6794
9.39k
    YYDEBUG(528, *YYCURSOR);
6795
9.39k
    yyleng = YYCURSOR - SCNG(yy_text);
6796
9.39k
#line 1561 "Zend/zend_language_scanner.l"
6797
9.39k
    {
6798
9.39k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6799
9.39k
}
6800
0
#line 6801 "Zend/zend_language_scanner.c"
6801
10.2k
yy529:
6802
10.2k
    YYDEBUG(529, *YYCURSOR);
6803
10.2k
    yyaccept = 48;
6804
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
6805
10.2k
    if (yybm[256+yych] & 128) {
6806
914
      goto yy47;
6807
914
    }
6808
9.30k
    if (yych == '\\') goto yy164;
6809
9.30k
yy530:
6810
9.30k
    YYDEBUG(530, *YYCURSOR);
6811
9.30k
    yyleng = YYCURSOR - SCNG(yy_text);
6812
9.30k
#line 1805 "Zend/zend_language_scanner.l"
6813
9.30k
    {
6814
9.30k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6815
9.30k
}
6816
0
#line 6817 "Zend/zend_language_scanner.c"
6817
5.07k
yy531:
6818
5.07k
    YYDEBUG(531, *YYCURSOR);
6819
5.07k
    yyaccept = 49;
6820
5.07k
    yych = *(YYMARKER = ++YYCURSOR);
6821
5.07k
    if (yybm[256+yych] & 128) {
6822
828
      goto yy47;
6823
828
    }
6824
4.24k
    if (yych == '\\') goto yy164;
6825
4.24k
yy532:
6826
4.24k
    YYDEBUG(532, *YYCURSOR);
6827
4.24k
    yyleng = YYCURSOR - SCNG(yy_text);
6828
4.24k
#line 1469 "Zend/zend_language_scanner.l"
6829
4.24k
    {
6830
4.24k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6831
4.24k
}
6832
0
#line 6833 "Zend/zend_language_scanner.c"
6833
75.1k
yy533:
6834
75.1k
    YYDEBUG(533, *YYCURSOR);
6835
75.1k
    yyaccept = 50;
6836
75.1k
    yych = *(YYMARKER = ++YYCURSOR);
6837
75.1k
    if (yybm[256+yych] & 128) {
6838
1.28k
      goto yy47;
6839
1.28k
    }
6840
73.8k
    if (yych <= ' ') {
6841
36.0k
      if (yych <= '\f') {
6842
23.3k
        if (yych <= 0x08) goto yy534;
6843
22.2k
        if (yych <= '\n') goto yy616;
6844
22.2k
      } else {
6845
12.7k
        if (yych <= '\r') goto yy616;
6846
11.7k
        if (yych >= ' ') goto yy616;
6847
11.7k
      }
6848
37.8k
    } else {
6849
37.8k
      if (yych <= '.') {
6850
35.5k
        if (yych == '#') goto yy618;
6851
35.5k
      } else {
6852
2.26k
        if (yych <= '/') goto yy619;
6853
1.98k
        if (yych == '\\') goto yy164;
6854
1.98k
      }
6855
37.8k
    }
6856
54.6k
yy534:
6857
54.6k
    YYDEBUG(534, *YYCURSOR);
6858
54.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6859
54.6k
#line 1433 "Zend/zend_language_scanner.l"
6860
54.6k
    {
6861
54.6k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6862
54.6k
}
6863
0
#line 6864 "Zend/zend_language_scanner.c"
6864
5.59k
yy535:
6865
5.59k
    YYDEBUG(535, *YYCURSOR);
6866
5.59k
    yyaccept = 4;
6867
5.59k
    yych = *(YYMARKER = ++YYCURSOR);
6868
5.59k
    if (yych == 'S') goto yy620;
6869
3.28k
    if (yych == 's') goto yy620;
6870
437
    goto yy48;
6871
6.34k
yy536:
6872
6.34k
    YYDEBUG(536, *YYCURSOR);
6873
6.34k
    yyaccept = 4;
6874
6.34k
    yych = *(YYMARKER = ++YYCURSOR);
6875
6.34k
    if (yych == '_') goto yy621;
6876
958
    goto yy48;
6877
8.07k
yy537:
6878
8.07k
    YYDEBUG(537, *YYCURSOR);
6879
8.07k
    yyaccept = 4;
6880
8.07k
    yych = *(YYMARKER = ++YYCURSOR);
6881
8.07k
    if (yych == 'E') goto yy622;
6882
2.23k
    if (yych == 'e') goto yy622;
6883
471
    goto yy48;
6884
9.68k
yy538:
6885
9.68k
    YYDEBUG(538, *YYCURSOR);
6886
9.68k
    yyaccept = 4;
6887
9.68k
    yych = *(YYMARKER = ++YYCURSOR);
6888
9.68k
    if (yych == 'C') goto yy623;
6889
5.27k
    if (yych == 'c') goto yy623;
6890
981
    goto yy48;
6891
5.31k
yy539:
6892
5.31k
    YYDEBUG(539, *YYCURSOR);
6893
5.31k
    yyaccept = 4;
6894
5.31k
    yych = *(YYMARKER = ++YYCURSOR);
6895
5.31k
    if (yych == 'T') goto yy624;
6896
4.34k
    if (yych == 't') goto yy624;
6897
365
    goto yy48;
6898
4.68k
yy540:
6899
4.68k
    YYDEBUG(540, *YYCURSOR);
6900
4.68k
    yyaccept = 4;
6901
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
6902
4.68k
    if (yych == 'E') goto yy625;
6903
2.75k
    if (yych == 'e') goto yy625;
6904
332
    goto yy48;
6905
14.7k
yy541:
6906
14.7k
    YYDEBUG(541, *YYCURSOR);
6907
14.7k
    yyaccept = 4;
6908
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
6909
14.7k
    if (yych == 'H') goto yy626;
6910
4.37k
    if (yych == 'h') goto yy626;
6911
1.15k
    goto yy48;
6912
7.95k
yy542:
6913
7.95k
    YYDEBUG(542, *YYCURSOR);
6914
7.95k
    yyaccept = 4;
6915
7.95k
    yych = *(YYMARKER = ++YYCURSOR);
6916
7.95k
    if (yych == 'E') goto yy627;
6917
3.93k
    if (yych == 'e') goto yy627;
6918
1.24k
    goto yy48;
6919
6.31k
yy543:
6920
6.31k
    YYDEBUG(543, *YYCURSOR);
6921
6.31k
    yyaccept = 4;
6922
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
6923
6.31k
    if (yych == 'P') goto yy628;
6924
818
    if (yych == 'p') goto yy628;
6925
468
    goto yy48;
6926
5.74k
yy544:
6927
5.74k
    YYDEBUG(544, *YYCURSOR);
6928
5.74k
    yyaccept = 4;
6929
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
6930
5.74k
    if (yych == 'I') goto yy629;
6931
4.39k
    if (yych == 'i') goto yy629;
6932
601
    goto yy48;
6933
54.7k
yy545:
6934
54.7k
    YYDEBUG(545, *YYCURSOR);
6935
54.7k
    ++YYCURSOR;
6936
54.7k
    YYFILL(1);
6937
54.7k
    yych = *YYCURSOR;
6938
54.7k
    YYDEBUG(546, *YYCURSOR);
6939
54.7k
    if (yybm[0+yych] & 64) {
6940
346
      goto yy355;
6941
346
    }
6942
54.4k
    if (yych <= ' ') {
6943
8.17k
      if (yych <= '\n') {
6944
4.55k
        if (yych <= 0x00) goto yy86;
6945
3.48k
        if (yych <= 0x08) goto yy230;
6946
2.76k
        goto yy545;
6947
3.61k
      } else {
6948
3.61k
        if (yych == '\r') goto yy545;
6949
1.57k
        if (yych <= 0x1F) goto yy230;
6950
1.15k
        goto yy545;
6951
1.57k
      }
6952
46.2k
    } else {
6953
46.2k
      if (yych <= '$') {
6954
37.8k
        if (yych <= '"') goto yy230;
6955
37.6k
        if (yych <= '#') goto yy630;
6956
1.15k
        goto yy631;
6957
37.6k
      } else {
6958
8.42k
        if (yych <= '-') goto yy230;
6959
7.48k
        if (yych <= '.') goto yy632;
6960
5.90k
        if (yych <= '/') goto yy633;
6961
2.19k
        goto yy230;
6962
5.90k
      }
6963
46.2k
    }
6964
14.6k
yy547:
6965
14.6k
    YYDEBUG(547, *YYCURSOR);
6966
14.6k
    ++YYCURSOR;
6967
14.6k
    YYFILL(1);
6968
14.6k
    yych = *YYCURSOR;
6969
14.6k
    YYDEBUG(548, *YYCURSOR);
6970
14.6k
    if (yych <= '\r') {
6971
3.24k
      if (yych <= '\t') {
6972
786
        if (yych <= 0x00) goto yy86;
6973
323
        goto yy443;
6974
2.45k
      } else {
6975
2.45k
        if (yych <= '\n') goto yy545;
6976
973
        if (yych <= '\f') goto yy443;
6977
717
        goto yy545;
6978
973
      }
6979
11.4k
    } else {
6980
11.4k
      if (yych <= '*') {
6981
5.97k
        if (yych <= ')') goto yy443;
6982
1.42k
        goto yy547;
6983
5.97k
      } else {
6984
5.44k
        if (yych == '/') goto yy227;
6985
2.96k
        goto yy443;
6986
5.44k
      }
6987
11.4k
    }
6988
12.2k
yy549:
6989
12.2k
    YYDEBUG(549, *YYCURSOR);
6990
12.2k
    ++YYCURSOR;
6991
12.2k
    YYFILL(1);
6992
12.2k
    yych = *YYCURSOR;
6993
12.2k
    YYDEBUG(550, *YYCURSOR);
6994
12.2k
    if (yych <= 0x1F) {
6995
656
      if (yych == '\t') goto yy549;
6996
440
      goto yy86;
6997
11.5k
    } else {
6998
11.5k
      if (yych <= ' ') goto yy549;
6999
8.05k
      if (yych == ')') goto yy634;
7000
6.64k
      goto yy86;
7001
8.05k
    }
7002
1.42k
yy551:
7003
1.42k
    YYDEBUG(551, *YYCURSOR);
7004
1.42k
    yych = *++YYCURSOR;
7005
1.42k
    if (yych == 'Y') goto yy636;
7006
1.10k
    if (yych == 'y') goto yy636;
7007
334
    goto yy86;
7008
710
yy552:
7009
710
    YYDEBUG(552, *YYCURSOR);
7010
710
    ++YYCURSOR;
7011
710
    YYFILL(1);
7012
710
    yych = *YYCURSOR;
7013
2.09k
yy553:
7014
2.09k
    YYDEBUG(553, *YYCURSOR);
7015
2.09k
    if (yych <= 0x1F) {
7016
586
      if (yych == '\t') goto yy552;
7017
272
      goto yy86;
7018
1.51k
    } else {
7019
1.51k
      if (yych <= ' ') goto yy552;
7020
1.11k
      if (yych != ')') goto yy86;
7021
1.11k
    }
7022
653
    YYDEBUG(554, *YYCURSOR);
7023
653
    ++YYCURSOR;
7024
653
    YYDEBUG(555, *YYCURSOR);
7025
653
    yyleng = YYCURSOR - SCNG(yy_text);
7026
653
#line 1695 "Zend/zend_language_scanner.l"
7027
653
    {
7028
653
  RETURN_TOKEN(T_BOOL_CAST);
7029
653
}
7030
0
#line 7031 "Zend/zend_language_scanner.c"
7031
1.92k
yy556:
7032
1.92k
    YYDEBUG(556, *YYCURSOR);
7033
1.92k
    yych = *++YYCURSOR;
7034
1.92k
    if (yych == 'A') goto yy638;
7035
1.30k
    if (yych == 'a') goto yy638;
7036
256
    goto yy86;
7037
1.80k
yy557:
7038
1.80k
    YYDEBUG(557, *YYCURSOR);
7039
1.80k
    yych = *++YYCURSOR;
7040
1.80k
    if (yych == 'E') goto yy639;
7041
1.49k
    if (yych == 'e') goto yy639;
7042
446
    goto yy86;
7043
4.68k
yy558:
7044
4.68k
    YYDEBUG(558, *YYCURSOR);
7045
4.68k
    ++YYCURSOR;
7046
4.68k
    YYFILL(1);
7047
4.68k
    yych = *YYCURSOR;
7048
4.68k
    YYDEBUG(559, *YYCURSOR);
7049
4.68k
    if (yych <= 0x1F) {
7050
455
      if (yych == '\t') goto yy558;
7051
245
      goto yy86;
7052
4.23k
    } else {
7053
4.23k
      if (yych <= ' ') goto yy558;
7054
3.67k
      if (yych == ')') goto yy641;
7055
707
      goto yy86;
7056
3.67k
    }
7057
3.42k
yy560:
7058
3.42k
    YYDEBUG(560, *YYCURSOR);
7059
3.42k
    yych = *++YYCURSOR;
7060
3.42k
    if (yych == 'E') goto yy643;
7061
3.13k
    if (yych == 'e') goto yy643;
7062
354
    goto yy86;
7063
3.07k
yy561:
7064
3.07k
    YYDEBUG(561, *YYCURSOR);
7065
3.07k
    yych = *++YYCURSOR;
7066
3.07k
    if (yych == 'T') goto yy644;
7067
2.37k
    if (yych == 't') goto yy644;
7068
246
    goto yy86;
7069
522
yy562:
7070
522
    YYDEBUG(562, *YYCURSOR);
7071
522
    ++YYCURSOR;
7072
522
    YYDEBUG(563, *YYCURSOR);
7073
522
    yyleng = YYCURSOR - SCNG(yy_text);
7074
522
#line 1665 "Zend/zend_language_scanner.l"
7075
522
    {
7076
522
  if (PARSER_MODE()) {
7077
15
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7078
15
    RETURN_TOKEN(T_ERROR);
7079
15
  }
7080
507
  RETURN_TOKEN(T_DOUBLE_CAST);
7081
507
}
7082
0
#line 7083 "Zend/zend_language_scanner.c"
7083
7.34k
yy564:
7084
7.34k
    YYDEBUG(564, *YYCURSOR);
7085
7.34k
    yych = *++YYCURSOR;
7086
7.34k
    if (yych == 'G') goto yy646;
7087
7.03k
    if (yych == 'g') goto yy646;
7088
520
    goto yy86;
7089
2.31k
yy565:
7090
2.31k
    YYDEBUG(565, *YYCURSOR);
7091
2.31k
    ++YYCURSOR;
7092
2.31k
    YYFILL(1);
7093
2.31k
    yych = *YYCURSOR;
7094
2.31k
    YYDEBUG(566, *YYCURSOR);
7095
2.31k
    if (yych <= 0x1F) {
7096
766
      if (yych == '\t') goto yy565;
7097
300
      goto yy86;
7098
1.55k
    } else {
7099
1.55k
      if (yych <= ' ') goto yy565;
7100
1.08k
      if (yych == ')') goto yy648;
7101
640
      goto yy86;
7102
1.08k
    }
7103
883
yy567:
7104
883
    YYDEBUG(567, *YYCURSOR);
7105
883
    ++YYCURSOR;
7106
883
    YYDEBUG(568, *YYCURSOR);
7107
883
    yyleng = YYCURSOR - SCNG(yy_text);
7108
883
#line 1713 "Zend/zend_language_scanner.l"
7109
883
    {
7110
883
  RETURN_TOKEN(T_VOID_CAST);
7111
883
}
7112
0
#line 7113 "Zend/zend_language_scanner.c"
7113
10.9k
yy569:
7114
10.9k
    YYDEBUG(569, *YYCURSOR);
7115
10.9k
    yych = *++YYCURSOR;
7116
10.9k
    if (yych == '\n') goto yy466;
7117
3.07k
    if (yych == '\r') goto yy468;
7118
1.33k
    goto yy86;
7119
7.99k
yy570:
7120
7.99k
    YYDEBUG(570, *YYCURSOR);
7121
7.99k
    yyaccept = 4;
7122
7.99k
    yych = *(YYMARKER = ++YYCURSOR);
7123
7.99k
    if (yych == 'C') goto yy650;
7124
6.08k
    if (yych == 'c') goto yy650;
7125
728
    goto yy48;
7126
2.79k
yy571:
7127
2.79k
    YYDEBUG(571, *YYCURSOR);
7128
2.79k
    yyaccept = 4;
7129
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
7130
2.79k
    if (yych == 'L') goto yy651;
7131
2.32k
    if (yych == 'l') goto yy651;
7132
327
    goto yy48;
7133
4.09k
yy572:
7134
4.09k
    YYDEBUG(572, *YYCURSOR);
7135
4.09k
    yyaccept = 4;
7136
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
7137
4.09k
    if (yych == 'U') goto yy652;
7138
3.12k
    if (yych == 'u') goto yy652;
7139
395
    goto yy48;
7140
5.79k
yy573:
7141
5.79k
    YYDEBUG(573, *YYCURSOR);
7142
5.79k
    yyaccept = 4;
7143
5.79k
    yych = *(YYMARKER = ++YYCURSOR);
7144
5.79k
    if (yych == 'E') goto yy653;
7145
5.18k
    if (yych == 'e') goto yy653;
7146
358
    goto yy48;
7147
3.82k
yy574:
7148
3.82k
    YYDEBUG(574, *YYCURSOR);
7149
3.82k
    yyaccept = 4;
7150
3.82k
    yych = *(YYMARKER = ++YYCURSOR);
7151
3.82k
    if (yych == 'T') goto yy655;
7152
3.46k
    if (yych == 't') goto yy655;
7153
605
    goto yy48;
7154
3.02k
yy575:
7155
3.02k
    YYDEBUG(575, *YYCURSOR);
7156
3.02k
    yyaccept = 51;
7157
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
7158
3.02k
    if (yybm[256+yych] & 128) {
7159
407
      goto yy47;
7160
407
    }
7161
2.61k
    if (yych == '\\') goto yy164;
7162
2.60k
yy576:
7163
2.60k
    YYDEBUG(576, *YYCURSOR);
7164
2.60k
    yyleng = YYCURSOR - SCNG(yy_text);
7165
2.60k
#line 1457 "Zend/zend_language_scanner.l"
7166
2.60k
    {
7167
2.60k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7168
2.60k
}
7169
0
#line 7170 "Zend/zend_language_scanner.c"
7170
5.97k
yy577:
7171
5.97k
    YYDEBUG(577, *YYCURSOR);
7172
5.97k
    yyaccept = 4;
7173
5.97k
    yych = *(YYMARKER = ++YYCURSOR);
7174
5.97k
    if (yych == 'L') goto yy657;
7175
4.79k
    if (yych == 'l') goto yy657;
7176
630
    goto yy48;
7177
11.4k
yy578:
7178
11.4k
    YYDEBUG(578, *YYCURSOR);
7179
11.4k
    yyaccept = 52;
7180
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
7181
11.4k
    if (yych <= '\\') {
7182
6.03k
      if (yych <= 'D') {
7183
1.71k
        if (yych <= '/') goto yy579;
7184
791
        if (yych <= '9') goto yy47;
7185
551
        if (yych >= 'A') goto yy47;
7186
4.31k
      } else {
7187
4.31k
        if (yych <= 'E') goto yy658;
7188
943
        if (yych <= 'Z') goto yy47;
7189
439
        if (yych >= '\\') goto yy164;
7190
439
      }
7191
6.03k
    } else {
7192
5.41k
      if (yych <= 'd') {
7193
597
        if (yych == '_') goto yy47;
7194
401
        if (yych >= 'a') goto yy47;
7195
4.82k
      } else {
7196
4.82k
        if (yych <= 'e') goto yy658;
7197
993
        if (yych <= 'z') goto yy47;
7198
726
        if (yych >= 0x80) goto yy47;
7199
726
      }
7200
5.41k
    }
7201
2.07k
yy579:
7202
2.07k
    YYDEBUG(579, *YYCURSOR);
7203
2.07k
    yyleng = YYCURSOR - SCNG(yy_text);
7204
2.07k
#line 1485 "Zend/zend_language_scanner.l"
7205
2.07k
    {
7206
2.07k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7207
2.07k
}
7208
0
#line 7209 "Zend/zend_language_scanner.c"
7209
3.59k
yy580:
7210
3.59k
    YYDEBUG(580, *YYCURSOR);
7211
3.59k
    yyaccept = 4;
7212
3.59k
    yych = *(YYMARKER = ++YYCURSOR);
7213
3.59k
    if (yych == 'T') goto yy659;
7214
2.76k
    if (yych == 't') goto yy659;
7215
407
    goto yy48;
7216
8.20k
yy581:
7217
8.20k
    YYDEBUG(581, *YYCURSOR);
7218
8.20k
    yyaccept = 4;
7219
8.20k
    yych = *(YYMARKER = ++YYCURSOR);
7220
8.20k
    if (yych == 'L') goto yy660;
7221
5.93k
    if (yych == 'l') goto yy660;
7222
496
    goto yy48;
7223
16.1k
yy582:
7224
16.1k
    YYDEBUG(582, *YYCURSOR);
7225
16.1k
    ++YYCURSOR;
7226
121k
yy583:
7227
121k
    YYDEBUG(583, *YYCURSOR);
7228
121k
    yyleng = YYCURSOR - SCNG(yy_text);
7229
121k
#line 1573 "Zend/zend_language_scanner.l"
7230
121k
    {
7231
121k
  yyless(4);
7232
121k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7233
121k
}
7234
0
#line 7235 "Zend/zend_language_scanner.c"
7235
6.40k
yy584:
7236
6.40k
    YYDEBUG(584, *YYCURSOR);
7237
6.40k
    yyaccept = 53;
7238
6.40k
    yych = *(YYMARKER = ++YYCURSOR);
7239
6.40k
    if (yych == 'X') goto yy661;
7240
6.18k
    if (yych == 'x') goto yy661;
7241
3.33k
    goto yy583;
7242
5.94k
yy585:
7243
5.94k
    YYDEBUG(585, *YYCURSOR);
7244
5.94k
    yyaccept = 53;
7245
5.94k
    yych = *(YYMARKER = ++YYCURSOR);
7246
5.94k
    if (yych == 'M') goto yy662;
7247
4.54k
    if (yych == 'm') goto yy662;
7248
1.88k
    goto yy583;
7249
2.30M
yy586:
7250
2.30M
    YYDEBUG(586, *YYCURSOR);
7251
2.30M
    ++YYCURSOR;
7252
2.30M
    YYFILL(1);
7253
2.30M
    yych = *YYCURSOR;
7254
2.30M
    YYDEBUG(587, *YYCURSOR);
7255
2.30M
    if (yych <= '\n') {
7256
106k
      if (yych <= 0x00) goto yy86;
7257
91.1k
      if (yych <= '\t') goto yy586;
7258
69.0k
      goto yy495;
7259
2.19M
    } else {
7260
2.19M
      if (yych == '\r') goto yy495;
7261
1.89M
      goto yy586;
7262
2.19M
    }
7263
520k
yy588:
7264
520k
    YYDEBUG(588, *YYCURSOR);
7265
520k
    ++YYCURSOR;
7266
520k
    YYFILL(1);
7267
520k
    yych = *YYCURSOR;
7268
520k
    YYDEBUG(589, *YYCURSOR);
7269
520k
    if (yych <= 'D') {
7270
213k
      if (yych <= 0x1F) {
7271
38.4k
        if (yych <= '\t') {
7272
25.4k
          if (yych <= 0x00) goto yy86;
7273
24.4k
          if (yych <= 0x08) goto yy586;
7274
7.27k
          goto yy588;
7275
24.4k
        } else {
7276
12.9k
          if (yych <= '\n') goto yy495;
7277
8.41k
          if (yych == '\r') goto yy495;
7278
2.05k
          goto yy586;
7279
8.41k
        }
7280
174k
      } else {
7281
174k
        if (yych <= '#') {
7282
63.2k
          if (yych <= ' ') goto yy588;
7283
51.3k
          if (yych <= '"') goto yy586;
7284
50.3k
          goto yy663;
7285
111k
        } else {
7286
111k
          if (yych == '/') goto yy664;
7287
9.55k
          if (yych <= '@') goto yy586;
7288
416
          goto yy665;
7289
9.55k
        }
7290
174k
      }
7291
307k
    } else {
7292
307k
      if (yych <= '`') {
7293
10.4k
        if (yych <= 'I') {
7294
6.34k
          if (yych <= 'E') goto yy666;
7295
5.70k
          if (yych <= 'H') goto yy665;
7296
5.43k
          goto yy667;
7297
5.70k
        } else {
7298
4.07k
          if (yych <= 'Z') goto yy665;
7299
1.16k
          if (yych == '_') goto yy665;
7300
796
          goto yy586;
7301
1.16k
        }
7302
296k
      } else {
7303
296k
        if (yych <= 'h') {
7304
238k
          if (yych == 'e') goto yy666;
7305
5.57k
          goto yy665;
7306
238k
        } else {
7307
58.8k
          if (yych <= 'i') goto yy667;
7308
29.6k
          if (yych <= 'z') goto yy665;
7309
16.4k
          if (yych <= 0x7F) goto yy586;
7310
5.46k
          goto yy665;
7311
16.4k
        }
7312
296k
      }
7313
307k
    }
7314
1.50M
yy590:
7315
1.50M
    YYDEBUG(590, *YYCURSOR);
7316
1.50M
    ++YYCURSOR;
7317
1.50M
    YYFILL(1);
7318
1.50M
    yych = *YYCURSOR;
7319
1.50M
    YYDEBUG(591, *YYCURSOR);
7320
1.50M
    if (yych <= 0x00) goto yy86;
7321
1.47M
    if (yych == '*') goto yy668;
7322
1.44M
    goto yy590;
7323
1.44M
yy592:
7324
18.2k
    YYDEBUG(592, *YYCURSOR);
7325
18.2k
    yyaccept = 4;
7326
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
7327
18.2k
    if (yych == 'S') goto yy670;
7328
17.4k
    if (yych == 's') goto yy670;
7329
1.02k
    goto yy48;
7330
5.07k
yy593:
7331
5.07k
    YYDEBUG(593, *YYCURSOR);
7332
5.07k
    yyaccept = 4;
7333
5.07k
    yych = *(YYMARKER = ++YYCURSOR);
7334
5.07k
    if (yych == 'Y') goto yy672;
7335
4.63k
    if (yych == 'y') goto yy672;
7336
517
    goto yy48;
7337
22.0k
yy594:
7338
22.0k
    YYDEBUG(594, *YYCURSOR);
7339
22.0k
    yyaccept = 4;
7340
22.0k
    yych = *(YYMARKER = ++YYCURSOR);
7341
22.0k
    if (yych == 'H') goto yy674;
7342
21.5k
    if (yych == 'h') goto yy674;
7343
666
    goto yy48;
7344
112k
yy595:
7345
112k
    YYDEBUG(595, *YYCURSOR);
7346
112k
    yyaccept = 4;
7347
112k
    yych = *(YYMARKER = ++YYCURSOR);
7348
112k
    if (yych == 'O') goto yy676;
7349
110k
    if (yych == 'o') goto yy676;
7350
2.35k
    goto yy48;
7351
5.73k
yy596:
7352
5.73k
    YYDEBUG(596, *YYCURSOR);
7353
5.73k
    yyaccept = 54;
7354
5.73k
    yych = *(YYMARKER = ++YYCURSOR);
7355
5.73k
    if (yybm[256+yych] & 128) {
7356
747
      goto yy47;
7357
747
    }
7358
4.98k
    if (yych == '\\') goto yy164;
7359
4.98k
yy597:
7360
4.98k
    YYDEBUG(597, *YYCURSOR);
7361
4.98k
    yyleng = YYCURSOR - SCNG(yy_text);
7362
4.98k
#line 1749 "Zend/zend_language_scanner.l"
7363
4.98k
    {
7364
4.98k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7365
4.98k
}
7366
0
#line 7367 "Zend/zend_language_scanner.c"
7367
16.8k
yy598:
7368
16.8k
    YYDEBUG(598, *YYCURSOR);
7369
16.8k
    yyaccept = 4;
7370
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
7371
16.8k
    if (yych == 'E') goto yy677;
7372
15.3k
    if (yych == 'e') goto yy677;
7373
2.45k
    goto yy48;
7374
9.35k
yy599:
7375
9.35k
    YYDEBUG(599, *YYCURSOR);
7376
9.35k
    yyaccept = 4;
7377
9.35k
    yych = *(YYMARKER = ++YYCURSOR);
7378
9.35k
    if (yych == 'E') goto yy678;
7379
7.75k
    if (yych == 'e') goto yy678;
7380
499
    goto yy48;
7381
5.98k
yy600:
7382
5.98k
    YYDEBUG(600, *YYCURSOR);
7383
5.98k
    yyaccept = 4;
7384
5.98k
    yych = *(YYMARKER = ++YYCURSOR);
7385
5.98k
    if (yych == 'C') goto yy680;
7386
4.37k
    if (yych == 'c') goto yy680;
7387
676
    goto yy48;
7388
7.38k
yy601:
7389
7.38k
    YYDEBUG(601, *YYCURSOR);
7390
7.38k
    yyaccept = 4;
7391
7.38k
    yych = *(YYMARKER = ++YYCURSOR);
7392
7.38k
    if (yych == 'D') goto yy681;
7393
6.57k
    if (yych == 'd') goto yy681;
7394
466
    goto yy48;
7395
10.0k
yy602:
7396
10.0k
    YYDEBUG(602, *YYCURSOR);
7397
10.0k
    yyaccept = 4;
7398
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
7399
10.0k
    if (yych == 'A') goto yy682;
7400
9.08k
    if (yych == 'a') goto yy682;
7401
765
    goto yy48;
7402
24.8k
yy603:
7403
24.8k
    YYDEBUG(603, *YYCURSOR);
7404
24.8k
    yyaccept = 4;
7405
24.8k
    yych = *(YYMARKER = ++YYCURSOR);
7406
24.8k
    if (yych == 'A') goto yy683;
7407
23.4k
    if (yych == 'a') goto yy683;
7408
1.69k
    goto yy48;
7409
12.7k
yy604:
7410
12.7k
    YYDEBUG(604, *YYCURSOR);
7411
12.7k
    yyaccept = 4;
7412
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
7413
12.7k
    if (yych == 'E') goto yy684;
7414
11.7k
    if (yych == 'e') goto yy684;
7415
513
    goto yy48;
7416
11.6k
yy605:
7417
11.6k
    YYDEBUG(605, *YYCURSOR);
7418
11.6k
    yyaccept = 4;
7419
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
7420
11.6k
    if (yych == 'T') goto yy686;
7421
10.2k
    if (yych == 't') goto yy686;
7422
2.38k
    goto yy48;
7423
65.3k
yy606:
7424
65.3k
    YYDEBUG(606, *YYCURSOR);
7425
65.3k
    yyaccept = 55;
7426
65.3k
    yych = *(YYMARKER = ++YYCURSOR);
7427
65.3k
    if (yybm[256+yych] & 128) {
7428
1.81k
      goto yy47;
7429
1.81k
    }
7430
63.4k
    if (yych == '(') goto yy687;
7431
61.5k
    if (yych == '\\') goto yy164;
7432
62.6k
yy607:
7433
62.6k
    YYDEBUG(607, *YYCURSOR);
7434
62.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7435
62.6k
#line 1797 "Zend/zend_language_scanner.l"
7436
62.6k
    {
7437
62.6k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7438
62.6k
}
7439
0
#line 7440 "Zend/zend_language_scanner.c"
7440
6.02k
yy608:
7441
6.02k
    YYDEBUG(608, *YYCURSOR);
7442
6.02k
    yyaccept = 4;
7443
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
7444
6.02k
    if (yych == 'L') goto yy688;
7445
5.80k
    if (yych == 'l') goto yy688;
7446
635
    goto yy48;
7447
18.8k
yy609:
7448
18.8k
    YYDEBUG(609, *YYCURSOR);
7449
18.8k
    yyaccept = 4;
7450
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
7451
18.8k
    if (yych == 'E') goto yy689;
7452
18.0k
    if (yych == 'e') goto yy689;
7453
975
    goto yy48;
7454
28.4k
yy610:
7455
28.4k
    YYDEBUG(610, *YYCURSOR);
7456
28.4k
    yyaccept = 56;
7457
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
7458
28.4k
    if (yybm[256+yych] & 128) {
7459
1.20k
      goto yy47;
7460
1.20k
    }
7461
27.2k
    if (yych == '\\') goto yy164;
7462
27.2k
yy611:
7463
27.2k
    YYDEBUG(611, *YYCURSOR);
7464
27.2k
    yyleng = YYCURSOR - SCNG(yy_text);
7465
27.2k
#line 1418 "Zend/zend_language_scanner.l"
7466
27.2k
    {
7467
27.2k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7468
27.2k
}
7469
0
#line 7470 "Zend/zend_language_scanner.c"
7470
21.3k
yy612:
7471
21.3k
    YYDEBUG(612, *YYCURSOR);
7472
21.3k
    yyaccept = 57;
7473
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
7474
21.3k
    if (yybm[256+yych] & 128) {
7475
886
      goto yy47;
7476
886
    }
7477
20.4k
    if (yych == '\\') goto yy164;
7478
20.4k
yy613:
7479
20.4k
    YYDEBUG(613, *YYCURSOR);
7480
20.4k
    yyleng = YYCURSOR - SCNG(yy_text);
7481
20.4k
#line 1765 "Zend/zend_language_scanner.l"
7482
20.4k
    {
7483
20.4k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7484
20.4k
}
7485
0
#line 7486 "Zend/zend_language_scanner.c"
7486
5.24k
yy614:
7487
5.24k
    YYDEBUG(614, *YYCURSOR);
7488
5.24k
    yyaccept = 58;
7489
5.24k
    yych = *(YYMARKER = ++YYCURSOR);
7490
5.24k
    if (yybm[256+yych] & 128) {
7491
505
      goto yy47;
7492
505
    }
7493
4.74k
    if (yych == '\\') goto yy164;
7494
4.73k
yy615:
7495
4.73k
    YYDEBUG(615, *YYCURSOR);
7496
4.73k
    yyleng = YYCURSOR - SCNG(yy_text);
7497
4.73k
#line 1513 "Zend/zend_language_scanner.l"
7498
4.73k
    {
7499
4.73k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7500
4.73k
}
7501
0
#line 7502 "Zend/zend_language_scanner.c"
7502
220k
yy616:
7503
220k
    YYDEBUG(616, *YYCURSOR);
7504
220k
    ++YYCURSOR;
7505
220k
    YYFILL(5);
7506
220k
    yych = *YYCURSOR;
7507
220k
    YYDEBUG(617, *YYCURSOR);
7508
220k
    if (yych <= '"') {
7509
57.1k
      if (yych <= '\f') {
7510
45.8k
        if (yych <= 0x08) goto yy86;
7511
44.5k
        if (yych <= '\n') goto yy616;
7512
1.39k
        goto yy86;
7513
44.5k
      } else {
7514
11.2k
        if (yych <= '\r') goto yy616;
7515
4.70k
        if (yych == ' ') goto yy616;
7516
1.46k
        goto yy86;
7517
4.70k
      }
7518
162k
    } else {
7519
162k
      if (yych <= 'E') {
7520
149k
        if (yych <= '#') goto yy618;
7521
16.5k
        if (yych == '/') goto yy619;
7522
7.97k
        goto yy86;
7523
16.5k
      } else {
7524
12.9k
        if (yych <= 'F') goto yy691;
7525
11.0k
        if (yych == 'f') goto yy691;
7526
4.50k
        goto yy86;
7527
11.0k
      }
7528
162k
    }
7529
168k
yy618:
7530
168k
    YYDEBUG(618, *YYCURSOR);
7531
168k
    ++YYCURSOR;
7532
168k
    YYFILL(1);
7533
168k
    yych = *YYCURSOR;
7534
168k
    if (yych <= '\f') {
7535
36.3k
      if (yych <= 0x00) goto yy86;
7536
35.7k
      if (yych == '\n') goto yy694;
7537
769
      goto yy692;
7538
131k
    } else {
7539
131k
      if (yych <= '\r') goto yy694;
7540
28.2k
      if (yych == '[') goto yy86;
7541
28.0k
      goto yy692;
7542
28.2k
    }
7543
9.07k
yy619:
7544
9.07k
    YYDEBUG(619, *YYCURSOR);
7545
9.07k
    ++YYCURSOR;
7546
9.07k
    YYFILL(1);
7547
9.07k
    yych = *YYCURSOR;
7548
9.07k
    if (yych == '*') goto yy696;
7549
1.86k
    if (yych == '/') goto yy692;
7550
1.21k
    goto yy86;
7551
5.15k
yy620:
7552
5.15k
    YYDEBUG(620, *YYCURSOR);
7553
5.15k
    yyaccept = 4;
7554
5.15k
    yych = *(YYMARKER = ++YYCURSOR);
7555
5.15k
    if (yych == 'S') goto yy698;
7556
3.12k
    if (yych == 's') goto yy698;
7557
309
    goto yy48;
7558
5.38k
yy621:
7559
5.38k
    YYDEBUG(621, *YYCURSOR);
7560
5.38k
    yyaccept = 4;
7561
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
7562
5.38k
    if (yych == '_') goto yy699;
7563
881
    goto yy48;
7564
7.60k
yy622:
7565
7.60k
    YYDEBUG(622, *YYCURSOR);
7566
7.60k
    yyaccept = 4;
7567
7.60k
    yych = *(YYMARKER = ++YYCURSOR);
7568
7.60k
    if (yych == '_') goto yy701;
7569
769
    goto yy48;
7570
8.70k
yy623:
7571
8.70k
    YYDEBUG(623, *YYCURSOR);
7572
8.70k
    yyaccept = 4;
7573
8.70k
    yych = *(YYMARKER = ++YYCURSOR);
7574
8.70k
    if (yych == 'T') goto yy702;
7575
2.80k
    if (yych == 't') goto yy702;
7576
1.11k
    goto yy48;
7577
4.95k
yy624:
7578
4.95k
    YYDEBUG(624, *YYCURSOR);
7579
4.95k
    yyaccept = 4;
7580
4.95k
    yych = *(YYMARKER = ++YYCURSOR);
7581
4.95k
    if (yych == '_') goto yy703;
7582
462
    goto yy48;
7583
4.35k
yy625:
7584
4.35k
    YYDEBUG(625, *YYCURSOR);
7585
4.35k
    yyaccept = 4;
7586
4.35k
    yych = *(YYMARKER = ++YYCURSOR);
7587
4.35k
    if (yych == '_') goto yy704;
7588
792
    goto yy48;
7589
13.6k
yy626:
7590
13.6k
    YYDEBUG(626, *YYCURSOR);
7591
13.6k
    yyaccept = 4;
7592
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
7593
13.6k
    if (yych == 'O') goto yy705;
7594
4.04k
    if (yych == 'o') goto yy705;
7595
1.11k
    goto yy48;
7596
6.71k
yy627:
7597
6.71k
    YYDEBUG(627, *YYCURSOR);
7598
6.71k
    yyaccept = 4;
7599
6.71k
    yych = *(YYMARKER = ++YYCURSOR);
7600
6.71k
    if (yych == 'S') goto yy706;
7601
3.67k
    if (yych == 's') goto yy706;
7602
1.32k
    goto yy48;
7603
5.84k
yy628:
7604
5.84k
    YYDEBUG(628, *YYCURSOR);
7605
5.84k
    yyaccept = 4;
7606
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
7607
5.84k
    if (yych == 'E') goto yy707;
7608
1.32k
    if (yych == 'e') goto yy707;
7609
503
    goto yy48;
7610
5.14k
yy629:
7611
5.14k
    YYDEBUG(629, *YYCURSOR);
7612
5.14k
    yyaccept = 4;
7613
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
7614
5.14k
    if (yych == 'T') goto yy708;
7615
3.77k
    if (yych == 't') goto yy708;
7616
547
    goto yy48;
7617
36.4k
yy630:
7618
36.4k
    YYDEBUG(630, *YYCURSOR);
7619
36.4k
    ++YYCURSOR;
7620
36.4k
    YYFILL(1);
7621
36.4k
    yych = *YYCURSOR;
7622
36.4k
    if (yych <= '\r') {
7623
30.3k
      if (yych <= '\t') {
7624
779
        if (yych <= 0x00) goto yy86;
7625
563
        goto yy443;
7626
29.5k
      } else {
7627
29.5k
        if (yych <= '\n') goto yy709;
7628
17.1k
        if (yych <= '\f') goto yy443;
7629
16.6k
        goto yy709;
7630
17.1k
      }
7631
30.3k
    } else {
7632
6.12k
      if (yych <= '*') {
7633
1.32k
        if (yych <= ')') goto yy443;
7634
497
        goto yy547;
7635
4.79k
      } else {
7636
4.79k
        if (yych == '[') goto yy230;
7637
4.58k
        goto yy443;
7638
4.79k
      }
7639
6.12k
    }
7640
1.35k
yy631:
7641
1.35k
    YYDEBUG(631, *YYCURSOR);
7642
1.35k
    yyaccept = 26;
7643
1.35k
    YYMARKER = ++YYCURSOR;
7644
1.35k
    YYFILL(1);
7645
1.35k
    yych = *YYCURSOR;
7646
1.35k
    if (yybm[0+yych] & 4) {
7647
933
      goto yy230;
7648
933
    }
7649
423
    if (yych <= 0x00) goto yy89;
7650
204
    goto yy355;
7651
1.58k
yy632:
7652
1.58k
    YYDEBUG(632, *YYCURSOR);
7653
1.58k
    ++YYCURSOR;
7654
1.58k
    YYFILL(1);
7655
1.58k
    yych = *YYCURSOR;
7656
1.58k
    if (yybm[0+yych] & 64) {
7657
198
      goto yy355;
7658
198
    }
7659
1.38k
    if (yych <= 0x00) goto yy86;
7660
1.16k
    if (yych == '.') goto yy711;
7661
294
    goto yy230;
7662
3.70k
yy633:
7663
3.70k
    YYDEBUG(633, *YYCURSOR);
7664
3.70k
    ++YYCURSOR;
7665
3.70k
    YYFILL(1);
7666
3.70k
    yych = *YYCURSOR;
7667
3.70k
    if (yych <= '*') {
7668
3.17k
      if (yych <= 0x00) goto yy86;
7669
2.96k
      if (yych <= ')') goto yy230;
7670
2.71k
      goto yy712;
7671
2.96k
    } else {
7672
537
      if (yych == '/') goto yy443;
7673
275
      goto yy230;
7674
537
    }
7675
1.40k
yy634:
7676
1.40k
    YYDEBUG(634, *YYCURSOR);
7677
1.40k
    ++YYCURSOR;
7678
1.40k
    YYDEBUG(635, *YYCURSOR);
7679
1.40k
    yyleng = YYCURSOR - SCNG(yy_text);
7680
1.40k
#line 1687 "Zend/zend_language_scanner.l"
7681
1.40k
    {
7682
1.40k
  RETURN_TOKEN(T_ARRAY_CAST);
7683
1.40k
}
7684
0
#line 7685 "Zend/zend_language_scanner.c"
7685
1.65k
yy636:
7686
1.65k
    YYDEBUG(636, *YYCURSOR);
7687
1.65k
    ++YYCURSOR;
7688
1.65k
    YYFILL(1);
7689
1.65k
    yych = *YYCURSOR;
7690
1.65k
    YYDEBUG(637, *YYCURSOR);
7691
1.65k
    if (yych <= 0x1F) {
7692
520
      if (yych == '\t') goto yy636;
7693
236
      goto yy86;
7694
1.13k
    } else {
7695
1.13k
      if (yych <= ' ') goto yy636;
7696
857
      if (yych == ')') goto yy713;
7697
507
      goto yy86;
7698
857
    }
7699
1.67k
yy638:
7700
1.67k
    YYDEBUG(638, *YYCURSOR);
7701
1.67k
    yych = *++YYCURSOR;
7702
1.67k
    if (yych == 'N') goto yy715;
7703
1.11k
    if (yych == 'n') goto yy715;
7704
297
    goto yy86;
7705
1.90k
yy639:
7706
1.90k
    YYDEBUG(639, *YYCURSOR);
7707
1.90k
    ++YYCURSOR;
7708
1.90k
    YYFILL(1);
7709
1.90k
    yych = *YYCURSOR;
7710
1.90k
    YYDEBUG(640, *YYCURSOR);
7711
1.90k
    if (yych <= 0x1F) {
7712
818
      if (yych == '\t') goto yy639;
7713
562
      goto yy86;
7714
1.08k
    } else {
7715
1.08k
      if (yych <= ' ') goto yy639;
7716
794
      if (yych == ')') goto yy717;
7717
497
      goto yy86;
7718
794
    }
7719
2.97k
yy641:
7720
2.97k
    YYDEBUG(641, *YYCURSOR);
7721
2.97k
    ++YYCURSOR;
7722
2.97k
    YYDEBUG(642, *YYCURSOR);
7723
2.97k
    yyleng = YYCURSOR - SCNG(yy_text);
7724
2.97k
#line 1651 "Zend/zend_language_scanner.l"
7725
2.97k
    {
7726
2.97k
  RETURN_TOKEN(T_DOUBLE_CAST);
7727
2.97k
}
7728
0
#line 7729 "Zend/zend_language_scanner.c"
7729
3.07k
yy643:
7730
3.07k
    YYDEBUG(643, *YYCURSOR);
7731
3.07k
    yych = *++YYCURSOR;
7732
3.07k
    if (yych == 'R') goto yy719;
7733
1.87k
    if (yych == 'r') goto yy719;
7734
641
    goto yy86;
7735
4.45k
yy644:
7736
4.45k
    YYDEBUG(644, *YYCURSOR);
7737
4.45k
    ++YYCURSOR;
7738
4.45k
    YYFILL(1);
7739
4.45k
    yych = *YYCURSOR;
7740
4.45k
    YYDEBUG(645, *YYCURSOR);
7741
4.45k
    if (yych <= 0x1F) {
7742
2.03k
      if (yych == '\t') goto yy644;
7743
756
      goto yy86;
7744
2.42k
    } else {
7745
2.42k
      if (yych <= ' ') goto yy644;
7746
2.06k
      if (yych == ')') goto yy721;
7747
529
      goto yy86;
7748
2.06k
    }
7749
9.30k
yy646:
7750
9.30k
    YYDEBUG(646, *YYCURSOR);
7751
9.30k
    ++YYCURSOR;
7752
9.30k
    YYFILL(1);
7753
9.30k
    yych = *YYCURSOR;
7754
9.30k
    YYDEBUG(647, *YYCURSOR);
7755
9.30k
    if (yych <= 0x1F) {
7756
2.38k
      if (yych == '\t') goto yy646;
7757
2.12k
      goto yy86;
7758
6.91k
    } else {
7759
6.91k
      if (yych <= ' ') goto yy646;
7760
4.69k
      if (yych == ')') goto yy723;
7761
2.77k
      goto yy86;
7762
4.69k
    }
7763
447
yy648:
7764
447
    YYDEBUG(648, *YYCURSOR);
7765
447
    ++YYCURSOR;
7766
447
    YYDEBUG(649, *YYCURSOR);
7767
447
    yyleng = YYCURSOR - SCNG(yy_text);
7768
447
#line 1709 "Zend/zend_language_scanner.l"
7769
447
    {
7770
447
  RETURN_TOKEN(T_UNSET_CAST);
7771
447
}
7772
0
#line 7773 "Zend/zend_language_scanner.c"
7773
7.26k
yy650:
7774
7.26k
    YYDEBUG(650, *YYCURSOR);
7775
7.26k
    yyaccept = 4;
7776
7.26k
    yych = *(YYMARKER = ++YYCURSOR);
7777
7.26k
    if (yych == 'T') goto yy725;
7778
5.83k
    if (yych == 't') goto yy725;
7779
778
    goto yy48;
7780
2.46k
yy651:
7781
2.46k
    YYDEBUG(651, *YYCURSOR);
7782
2.46k
    yyaccept = 4;
7783
2.46k
    yych = *(YYMARKER = ++YYCURSOR);
7784
2.46k
    if (yych == 'E') goto yy727;
7785
2.00k
    if (yych == 'e') goto yy727;
7786
269
    goto yy48;
7787
3.70k
yy652:
7788
3.70k
    YYDEBUG(652, *YYCURSOR);
7789
3.70k
    yyaccept = 4;
7790
3.70k
    yych = *(YYMARKER = ++YYCURSOR);
7791
3.70k
    if (yych == 'E') goto yy729;
7792
2.69k
    if (yych == 'e') goto yy729;
7793
353
    goto yy48;
7794
5.43k
yy653:
7795
5.43k
    YYDEBUG(653, *YYCURSOR);
7796
5.43k
    yyaccept = 59;
7797
5.43k
    yych = *(YYMARKER = ++YYCURSOR);
7798
5.43k
    if (yybm[256+yych] & 128) {
7799
336
      goto yy47;
7800
336
    }
7801
5.10k
    if (yych == '\\') goto yy164;
7802
5.09k
yy654:
7803
5.09k
    YYDEBUG(654, *YYCURSOR);
7804
5.09k
    yyleng = YYCURSOR - SCNG(yy_text);
7805
5.09k
#line 1497 "Zend/zend_language_scanner.l"
7806
5.09k
    {
7807
5.09k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7808
5.09k
}
7809
0
#line 7810 "Zend/zend_language_scanner.c"
7810
3.22k
yy655:
7811
3.22k
    YYDEBUG(655, *YYCURSOR);
7812
3.22k
    yyaccept = 60;
7813
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
7814
3.22k
    if (yybm[256+yych] & 128) {
7815
531
      goto yy47;
7816
531
    }
7817
2.69k
    if (yych == '\\') goto yy164;
7818
2.43k
yy656:
7819
2.43k
    YYDEBUG(656, *YYCURSOR);
7820
2.43k
    yyleng = YYCURSOR - SCNG(yy_text);
7821
2.43k
#line 1529 "Zend/zend_language_scanner.l"
7822
2.43k
    {
7823
2.43k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7824
2.43k
}
7825
0
#line 7826 "Zend/zend_language_scanner.c"
7826
5.34k
yy657:
7827
5.34k
    YYDEBUG(657, *YYCURSOR);
7828
5.34k
    yyaccept = 4;
7829
5.34k
    yych = *(YYMARKER = ++YYCURSOR);
7830
5.34k
    if (yych == 'A') goto yy731;
7831
4.13k
    if (yych == 'a') goto yy731;
7832
658
    goto yy48;
7833
7.20k
yy658:
7834
7.20k
    YYDEBUG(658, *YYCURSOR);
7835
7.20k
    yyaccept = 4;
7836
7.20k
    yych = *(YYMARKER = ++YYCURSOR);
7837
7.20k
    if (yych == 'A') goto yy732;
7838
5.41k
    if (yych == 'a') goto yy732;
7839
1.94k
    goto yy48;
7840
3.18k
yy659:
7841
3.18k
    YYDEBUG(659, *YYCURSOR);
7842
3.18k
    yyaccept = 4;
7843
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
7844
3.18k
    if (yych == 'C') goto yy733;
7845
2.69k
    if (yych == 'c') goto yy733;
7846
598
    goto yy48;
7847
7.71k
yy660:
7848
7.71k
    YYDEBUG(660, *YYCURSOR);
7849
7.71k
    yyaccept = 4;
7850
7.71k
    yych = *(YYMARKER = ++YYCURSOR);
7851
7.71k
    if (yych == 'E') goto yy734;
7852
5.93k
    if (yych == 'e') goto yy734;
7853
1.51k
    goto yy48;
7854
3.07k
yy661:
7855
3.07k
    YYDEBUG(661, *YYCURSOR);
7856
3.07k
    yych = *++YYCURSOR;
7857
3.07k
    if (yych == 'T') goto yy736;
7858
2.38k
    if (yych == 't') goto yy736;
7859
464
    goto yy86;
7860
4.05k
yy662:
7861
4.05k
    YYDEBUG(662, *YYCURSOR);
7862
4.05k
    yych = *++YYCURSOR;
7863
4.05k
    if (yych == 'P') goto yy737;
7864
3.12k
    if (yych == 'p') goto yy737;
7865
862
    goto yy86;
7866
50.3k
yy663:
7867
50.3k
    YYDEBUG(663, *YYCURSOR);
7868
50.3k
    ++YYCURSOR;
7869
50.3k
    YYFILL(1);
7870
50.3k
    yych = *YYCURSOR;
7871
50.3k
    if (yych <= '\n') {
7872
41.7k
      if (yych <= 0x00) goto yy86;
7873
41.3k
      if (yych <= '\t') goto yy586;
7874
40.7k
      goto yy588;
7875
41.3k
    } else {
7876
8.61k
      if (yych == '\r') goto yy588;
7877
5.56k
      goto yy586;
7878
8.61k
    }
7879
102k
yy664:
7880
102k
    YYDEBUG(664, *YYCURSOR);
7881
102k
    ++YYCURSOR;
7882
102k
    YYFILL(1);
7883
102k
    yych = *YYCURSOR;
7884
102k
    if (yych <= '\f') {
7885
1.02k
      if (yych <= 0x00) goto yy86;
7886
655
      if (yych == '\n') goto yy495;
7887
255
      goto yy586;
7888
100k
    } else {
7889
100k
      if (yych <= '\r') goto yy495;
7890
100k
      if (yych == '*') goto yy738;
7891
7.62k
      goto yy586;
7892
100k
    }
7893
28.2k
yy665:
7894
28.2k
    YYDEBUG(665, *YYCURSOR);
7895
28.2k
    yyaccept = 53;
7896
28.2k
    YYMARKER = ++YYCURSOR;
7897
28.2k
    YYFILL(1);
7898
28.2k
    yych = *YYCURSOR;
7899
28.2k
    if (yych <= '\n') {
7900
5.42k
      if (yych <= 0x00) goto yy583;
7901
5.10k
      if (yych <= '\t') goto yy586;
7902
987
      goto yy495;
7903
22.8k
    } else {
7904
22.8k
      if (yych == '\r') goto yy495;
7905
21.4k
      goto yy586;
7906
22.8k
    }
7907
233k
yy666:
7908
233k
    YYDEBUG(666, *YYCURSOR);
7909
233k
    yyaccept = 53;
7910
233k
    YYMARKER = ++YYCURSOR;
7911
233k
    YYFILL(1);
7912
233k
    yych = *YYCURSOR;
7913
233k
    if (yych <= '\r') {
7914
55.0k
      if (yych <= '\t') {
7915
46.4k
        if (yych <= 0x00) goto yy583;
7916
46.1k
        goto yy586;
7917
46.4k
      } else {
7918
8.66k
        if (yych <= '\n') goto yy495;
7919
7.91k
        if (yych <= '\f') goto yy586;
7920
1.84k
        goto yy495;
7921
7.91k
      }
7922
178k
    } else {
7923
178k
      if (yych <= 'X') {
7924
109k
        if (yych <= 'W') goto yy586;
7925
482
        goto yy740;
7926
109k
      } else {
7927
68.9k
        if (yych == 'x') goto yy740;
7928
58.0k
        goto yy586;
7929
68.9k
      }
7930
178k
    }
7931
34.5k
yy667:
7932
34.5k
    YYDEBUG(667, *YYCURSOR);
7933
34.5k
    yyaccept = 53;
7934
34.5k
    YYMARKER = ++YYCURSOR;
7935
34.5k
    YYFILL(1);
7936
34.5k
    yych = *YYCURSOR;
7937
34.5k
    if (yych <= '\r') {
7938
1.55k
      if (yych <= '\t') {
7939
743
        if (yych <= 0x00) goto yy583;
7940
436
        goto yy586;
7941
811
      } else {
7942
811
        if (yych <= '\n') goto yy495;
7943
554
        if (yych <= '\f') goto yy586;
7944
249
        goto yy495;
7945
554
      }
7946
33.0k
    } else {
7947
33.0k
      if (yych <= 'M') {
7948
5.40k
        if (yych <= 'L') goto yy586;
7949
4.70k
        goto yy741;
7950
27.6k
      } else {
7951
27.6k
        if (yych == 'm') goto yy741;
7952
2.22k
        goto yy586;
7953
27.6k
      }
7954
33.0k
    }
7955
37.4k
yy668:
7956
37.4k
    YYDEBUG(668, *YYCURSOR);
7957
37.4k
    ++YYCURSOR;
7958
37.4k
    YYFILL(1);
7959
37.4k
    yych = *YYCURSOR;
7960
37.4k
    YYDEBUG(669, *YYCURSOR);
7961
37.4k
    if (yych <= '*') {
7962
12.8k
      if (yych <= 0x00) goto yy86;
7963
11.7k
      if (yych <= ')') goto yy590;
7964
4.66k
      goto yy668;
7965
24.5k
    } else {
7966
24.5k
      if (yych == '/') goto yy495;
7967
5.53k
      goto yy590;
7968
24.5k
    }
7969
17.2k
yy670:
7970
17.2k
    YYDEBUG(670, *YYCURSOR);
7971
17.2k
    yyaccept = 61;
7972
17.2k
    yych = *(YYMARKER = ++YYCURSOR);
7973
17.2k
    if (yybm[256+yych] & 128) {
7974
458
      goto yy47;
7975
458
    }
7976
16.8k
    if (yych == '\\') goto yy164;
7977
16.8k
yy671:
7978
16.8k
    YYDEBUG(671, *YYCURSOR);
7979
16.8k
    yyleng = YYCURSOR - SCNG(yy_text);
7980
16.8k
#line 1578 "Zend/zend_language_scanner.l"
7981
16.8k
    {
7982
16.8k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7983
16.8k
}
7984
0
#line 7985 "Zend/zend_language_scanner.c"
7985
4.56k
yy672:
7986
4.56k
    YYDEBUG(672, *YYCURSOR);
7987
4.56k
    yyaccept = 62;
7988
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
7989
4.56k
    if (yybm[256+yych] & 128) {
7990
354
      goto yy47;
7991
354
    }
7992
4.20k
    if (yych == '\\') goto yy164;
7993
4.15k
yy673:
7994
4.15k
    YYDEBUG(673, *YYCURSOR);
7995
4.15k
    yyleng = YYCURSOR - SCNG(yy_text);
7996
4.15k
#line 1445 "Zend/zend_language_scanner.l"
7997
4.15k
    {
7998
4.15k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
7999
4.15k
}
8000
0
#line 8001 "Zend/zend_language_scanner.c"
8001
21.4k
yy674:
8002
21.4k
    YYDEBUG(674, *YYCURSOR);
8003
21.4k
    yyaccept = 63;
8004
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
8005
21.4k
    if (yybm[256+yych] & 128) {
8006
884
      goto yy47;
8007
884
    }
8008
20.5k
    if (yych == '\\') goto yy164;
8009
20.5k
yy675:
8010
20.5k
    YYDEBUG(675, *YYCURSOR);
8011
20.5k
    yyleng = YYCURSOR - SCNG(yy_text);
8012
20.5k
#line 1489 "Zend/zend_language_scanner.l"
8013
20.5k
    {
8014
20.5k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8015
20.5k
}
8016
0
#line 8017 "Zend/zend_language_scanner.c"
8017
109k
yy676:
8018
109k
    YYDEBUG(676, *YYCURSOR);
8019
109k
    yyaccept = 4;
8020
109k
    yych = *(YYMARKER = ++YYCURSOR);
8021
109k
    if (yych == 'N') goto yy742;
8022
108k
    if (yych == 'n') goto yy742;
8023
2.01k
    goto yy48;
8024
14.4k
yy677:
8025
14.4k
    YYDEBUG(677, *YYCURSOR);
8026
14.4k
    yyaccept = 4;
8027
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
8028
14.4k
    if (yych == 'N') goto yy744;
8029
13.1k
    if (yych == 'n') goto yy744;
8030
6.41k
    goto yy48;
8031
8.85k
yy678:
8032
8.85k
    YYDEBUG(678, *YYCURSOR);
8033
8.85k
    yyaccept = 64;
8034
8.85k
    yych = *(YYMARKER = ++YYCURSOR);
8035
8.85k
    if (yych <= '\\') {
8036
3.51k
      if (yych <= '@') {
8037
2.83k
        if (yych <= '/') goto yy679;
8038
573
        if (yych <= '9') goto yy47;
8039
680
      } else {
8040
680
        if (yych <= 'Z') goto yy47;
8041
464
        if (yych >= '\\') goto yy164;
8042
464
      }
8043
5.33k
    } else {
8044
5.33k
      if (yych <= '`') {
8045
4.20k
        if (yych == '_') goto yy745;
8046
4.20k
      } else {
8047
1.12k
        if (yych <= 'z') goto yy47;
8048
735
        if (yych >= 0x80) goto yy47;
8049
735
      }
8050
5.33k
    }
8051
3.70k
yy679:
8052
3.70k
    YYDEBUG(679, *YYCURSOR);
8053
3.70k
    yyleng = YYCURSOR - SCNG(yy_text);
8054
3.70k
#line 1721 "Zend/zend_language_scanner.l"
8055
3.70k
    {
8056
3.70k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8057
3.70k
}
8058
0
#line 8059 "Zend/zend_language_scanner.c"
8059
5.31k
yy680:
8060
5.31k
    YYDEBUG(680, *YYCURSOR);
8061
5.31k
    yyaccept = 4;
8062
5.31k
    yych = *(YYMARKER = ++YYCURSOR);
8063
5.31k
    if (yych == 'E') goto yy746;
8064
3.84k
    if (yych == 'e') goto yy746;
8065
833
    goto yy48;
8066
6.92k
yy681:
8067
6.92k
    YYDEBUG(681, *YYCURSOR);
8068
6.92k
    yyaccept = 4;
8069
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
8070
6.92k
    if (yych == 'O') goto yy747;
8071
6.10k
    if (yych == 'o') goto yy747;
8072
1.29k
    goto yy48;
8073
9.27k
yy682:
8074
9.27k
    YYDEBUG(682, *YYCURSOR);
8075
9.27k
    yyaccept = 4;
8076
9.27k
    yych = *(YYMARKER = ++YYCURSOR);
8077
9.27k
    if (yych == 'C') goto yy748;
8078
8.66k
    if (yych == 'c') goto yy748;
8079
614
    goto yy48;
8080
23.1k
yy683:
8081
23.1k
    YYDEBUG(683, *YYCURSOR);
8082
23.1k
    yyaccept = 4;
8083
23.1k
    yych = *(YYMARKER = ++YYCURSOR);
8084
23.1k
    if (yych == 'C') goto yy749;
8085
21.2k
    if (yych == 'c') goto yy749;
8086
1.41k
    goto yy48;
8087
12.2k
yy684:
8088
12.2k
    YYDEBUG(684, *YYCURSOR);
8089
12.2k
    yyaccept = 65;
8090
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
8091
12.2k
    if (yybm[256+yych] & 128) {
8092
674
      goto yy47;
8093
674
    }
8094
11.5k
    if (yych == '(') goto yy750;
8095
8.38k
    if (yych == '\\') goto yy164;
8096
10.4k
yy685:
8097
10.4k
    YYDEBUG(685, *YYCURSOR);
8098
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
8099
10.4k
#line 1777 "Zend/zend_language_scanner.l"
8100
10.4k
    {
8101
10.4k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8102
10.4k
}
8103
0
#line 8104 "Zend/zend_language_scanner.c"
8104
9.24k
yy686:
8105
9.24k
    YYDEBUG(686, *YYCURSOR);
8106
9.24k
    yyaccept = 4;
8107
9.24k
    yych = *(YYMARKER = ++YYCURSOR);
8108
9.24k
    if (yych == 'E') goto yy751;
8109
7.38k
    if (yych == 'e') goto yy751;
8110
458
    goto yy48;
8111
1.98k
yy687:
8112
1.98k
    YYDEBUG(687, *YYCURSOR);
8113
1.98k
    yych = *++YYCURSOR;
8114
1.98k
    if (yych == 'S') goto yy752;
8115
1.49k
    if (yych == 's') goto yy752;
8116
376
    goto yy86;
8117
5.39k
yy688:
8118
5.39k
    YYDEBUG(688, *YYCURSOR);
8119
5.39k
    yyaccept = 4;
8120
5.39k
    yych = *(YYMARKER = ++YYCURSOR);
8121
5.39k
    if (yych == 'Y') goto yy753;
8122
4.62k
    if (yych == 'y') goto yy753;
8123
710
    goto yy48;
8124
17.8k
yy689:
8125
17.8k
    YYDEBUG(689, *YYCURSOR);
8126
17.8k
    yyaccept = 66;
8127
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
8128
17.8k
    if (yych <= '\\') {
8129
7.16k
      if (yych <= '@') {
8130
6.15k
        if (yych <= '/') goto yy690;
8131
797
        if (yych <= '9') goto yy47;
8132
1.01k
      } else {
8133
1.01k
        if (yych <= 'Z') goto yy47;
8134
694
        if (yych >= '\\') goto yy164;
8135
694
      }
8136
10.6k
    } else {
8137
10.6k
      if (yych <= '`') {
8138
4.10k
        if (yych == '_') goto yy755;
8139
6.57k
      } else {
8140
6.57k
        if (yych <= 'z') goto yy47;
8141
5.91k
        if (yych >= 0x80) goto yy47;
8142
5.91k
      }
8143
10.6k
    }
8144
7.13k
yy690:
8145
7.13k
    YYDEBUG(690, *YYCURSOR);
8146
7.13k
    yyleng = YYCURSOR - SCNG(yy_text);
8147
7.13k
#line 1729 "Zend/zend_language_scanner.l"
8148
7.13k
    {
8149
7.13k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8150
7.13k
}
8151
0
#line 8152 "Zend/zend_language_scanner.c"
8152
8.89k
yy691:
8153
8.89k
    YYDEBUG(691, *YYCURSOR);
8154
8.89k
    yych = *++YYCURSOR;
8155
8.89k
    if (yych == 'R') goto yy756;
8156
7.26k
    if (yych == 'r') goto yy756;
8157
3.26k
    goto yy86;
8158
856k
yy692:
8159
856k
    YYDEBUG(692, *YYCURSOR);
8160
856k
    ++YYCURSOR;
8161
856k
    YYFILL(1);
8162
856k
    yych = *YYCURSOR;
8163
856k
    YYDEBUG(693, *YYCURSOR);
8164
856k
    if (yych <= '\n') {
8165
102k
      if (yych <= 0x00) goto yy86;
8166
96.1k
      if (yych <= '\t') goto yy692;
8167
83.8k
      goto yy616;
8168
754k
    } else {
8169
754k
      if (yych == '\r') goto yy616;
8170
730k
      goto yy692;
8171
754k
    }
8172
159k
yy694:
8173
159k
    YYDEBUG(694, *YYCURSOR);
8174
159k
    ++YYCURSOR;
8175
159k
    YYFILL(1);
8176
159k
    yych = *YYCURSOR;
8177
159k
    YYDEBUG(695, *YYCURSOR);
8178
159k
    if (yych <= ' ') {
8179
13.3k
      if (yych <= '\n') {
8180
3.77k
        if (yych <= 0x00) goto yy86;
8181
3.04k
        if (yych <= 0x08) goto yy692;
8182
2.46k
        if (yych <= '\t') goto yy694;
8183
2.19k
        goto yy616;
8184
9.61k
      } else {
8185
9.61k
        if (yych == '\r') goto yy616;
8186
6.76k
        if (yych <= 0x1F) goto yy692;
8187
6.15k
        goto yy694;
8188
6.76k
      }
8189
146k
    } else {
8190
146k
      if (yych <= '/') {
8191
82.3k
        if (yych == '#') goto yy757;
8192
69.9k
        if (yych <= '.') goto yy692;
8193
54.5k
        goto yy758;
8194
69.9k
      } else {
8195
63.9k
        if (yych <= 'F') {
8196
26.3k
          if (yych <= 'E') goto yy692;
8197
18.0k
          goto yy759;
8198
37.6k
        } else {
8199
37.6k
          if (yych == 'f') goto yy759;
8200
35.1k
          goto yy692;
8201
37.6k
        }
8202
63.9k
      }
8203
146k
    }
8204
1.20M
yy696:
8205
1.20M
    YYDEBUG(696, *YYCURSOR);
8206
1.20M
    ++YYCURSOR;
8207
1.20M
    YYFILL(1);
8208
1.20M
    yych = *YYCURSOR;
8209
1.20M
    YYDEBUG(697, *YYCURSOR);
8210
1.20M
    if (yych <= 0x00) goto yy86;
8211
1.19M
    if (yych == '*') goto yy760;
8212
1.16M
    goto yy696;
8213
1.16M
yy698:
8214
4.85k
    YYDEBUG(698, *YYCURSOR);
8215
4.85k
    yyaccept = 4;
8216
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
8217
4.85k
    if (yych == '_') goto yy762;
8218
399
    goto yy48;
8219
4.50k
yy699:
8220
4.50k
    YYDEBUG(699, *YYCURSOR);
8221
4.50k
    yyaccept = 67;
8222
4.50k
    yych = *(YYMARKER = ++YYCURSOR);
8223
4.50k
    if (yybm[256+yych] & 128) {
8224
664
      goto yy47;
8225
664
    }
8226
3.84k
    if (yych == '\\') goto yy164;
8227
3.80k
yy700:
8228
3.80k
    YYDEBUG(700, *YYCURSOR);
8229
3.80k
    yyleng = YYCURSOR - SCNG(yy_text);
8230
3.80k
#line 2280 "Zend/zend_language_scanner.l"
8231
3.80k
    {
8232
3.80k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8233
3.80k
}
8234
0
#line 8235 "Zend/zend_language_scanner.c"
8235
6.83k
yy701:
8236
6.83k
    YYDEBUG(701, *YYCURSOR);
8237
6.83k
    yyaccept = 4;
8238
6.83k
    yych = *(YYMARKER = ++YYCURSOR);
8239
6.83k
    if (yych == '_') goto yy763;
8240
859
    goto yy48;
8241
7.58k
yy702:
8242
7.58k
    YYDEBUG(702, *YYCURSOR);
8243
7.58k
    yyaccept = 4;
8244
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
8245
7.58k
    if (yych == 'I') goto yy765;
8246
3.98k
    if (yych == 'i') goto yy765;
8247
462
    goto yy48;
8248
4.49k
yy703:
8249
4.49k
    YYDEBUG(703, *YYCURSOR);
8250
4.49k
    yyaccept = 4;
8251
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
8252
4.49k
    if (yych == 'C') goto yy766;
8253
3.65k
    if (yych == 'c') goto yy766;
8254
250
    goto yy48;
8255
3.56k
yy704:
8256
3.56k
    YYDEBUG(704, *YYCURSOR);
8257
3.56k
    yyaccept = 4;
8258
3.56k
    yych = *(YYMARKER = ++YYCURSOR);
8259
3.56k
    if (yych == '_') goto yy767;
8260
516
    goto yy48;
8261
12.5k
yy705:
8262
12.5k
    YYDEBUG(705, *YYCURSOR);
8263
12.5k
    yyaccept = 4;
8264
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
8265
12.5k
    if (yych == 'D') goto yy769;
8266
2.77k
    if (yych == 'd') goto yy769;
8267
419
    goto yy48;
8268
5.38k
yy706:
8269
5.38k
    YYDEBUG(706, *YYCURSOR);
8270
5.38k
    yyaccept = 4;
8271
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
8272
5.38k
    if (yych == 'P') goto yy770;
8273
2.72k
    if (yych == 'p') goto yy770;
8274
401
    goto yy48;
8275
5.34k
yy707:
8276
5.34k
    YYDEBUG(707, *YYCURSOR);
8277
5.34k
    yyaccept = 4;
8278
5.34k
    yych = *(YYMARKER = ++YYCURSOR);
8279
5.34k
    if (yych == 'R') goto yy771;
8280
974
    if (yych == 'r') goto yy771;
8281
642
    goto yy48;
8282
4.59k
yy708:
8283
4.59k
    YYDEBUG(708, *YYCURSOR);
8284
4.59k
    yyaccept = 4;
8285
4.59k
    yych = *(YYMARKER = ++YYCURSOR);
8286
4.59k
    if (yych == '_') goto yy772;
8287
739
    goto yy48;
8288
34.8k
yy709:
8289
34.8k
    YYDEBUG(709, *YYCURSOR);
8290
34.8k
    ++YYCURSOR;
8291
34.8k
    YYFILL(1);
8292
34.8k
    yych = *YYCURSOR;
8293
34.8k
    YYDEBUG(710, *YYCURSOR);
8294
34.8k
    if (yych <= ' ') {
8295
4.64k
      if (yych <= '\n') {
8296
1.63k
        if (yych <= 0x00) goto yy86;
8297
1.35k
        if (yych <= 0x08) goto yy443;
8298
896
        if (yych <= '\t') goto yy709;
8299
366
        goto yy545;
8300
3.00k
      } else {
8301
3.00k
        if (yych == '\r') goto yy545;
8302
1.65k
        if (yych <= 0x1F) goto yy443;
8303
1.20k
        goto yy709;
8304
1.65k
      }
8305
30.2k
    } else {
8306
30.2k
      if (yych <= ')') {
8307
7.56k
        if (yych <= '"') goto yy443;
8308
7.34k
        if (yych <= '#') goto yy773;
8309
4.53k
        if (yych <= '$') goto yy774;
8310
3.51k
        goto yy443;
8311
22.6k
      } else {
8312
22.6k
        if (yych <= '-') {
8313
2.22k
          if (yych <= '*') goto yy547;
8314
881
          goto yy443;
8315
20.4k
        } else {
8316
20.4k
          if (yych <= '.') goto yy775;
8317
14.5k
          if (yych <= '/') goto yy776;
8318
7.82k
          goto yy443;
8319
14.5k
        }
8320
22.6k
      }
8321
30.2k
    }
8322
871
yy711:
8323
871
    YYDEBUG(711, *YYCURSOR);
8324
871
    ++YYCURSOR;
8325
871
    YYFILL(1);
8326
871
    yych = *YYCURSOR;
8327
871
    if (yybm[0+yych] & 64) {
8328
201
      goto yy355;
8329
201
    }
8330
670
    if (yych <= 0x00) goto yy86;
8331
441
    if (yych == '.') goto yy631;
8332
235
    goto yy230;
8333
2.71k
yy712:
8334
2.71k
    YYDEBUG(712, *YYCURSOR);
8335
2.71k
    ++YYCURSOR;
8336
2.71k
    YYFILL(1);
8337
2.71k
    yych = *YYCURSOR;
8338
2.71k
    if (yybm[0+yych] & 64) {
8339
352
      goto yy355;
8340
352
    }
8341
2.36k
    if (yych <= 0x00) goto yy86;
8342
2.14k
    if (yych == '/') goto yy545;
8343
304
    goto yy230;
8344
350
yy713:
8345
350
    YYDEBUG(713, *YYCURSOR);
8346
350
    ++YYCURSOR;
8347
350
    YYDEBUG(714, *YYCURSOR);
8348
350
    yyleng = YYCURSOR - SCNG(yy_text);
8349
350
#line 1677 "Zend/zend_language_scanner.l"
8350
350
    {
8351
350
  if (PARSER_MODE()) {
8352
80
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8353
80
    if (EG(exception)) {
8354
0
      RETURN_TOKEN(T_ERROR);
8355
0
    }
8356
80
  }
8357
350
  RETURN_TOKEN(T_STRING_CAST);
8358
350
}
8359
0
#line 8360 "Zend/zend_language_scanner.c"
8360
1.83k
yy715:
8361
1.83k
    YYDEBUG(715, *YYCURSOR);
8362
1.83k
    ++YYCURSOR;
8363
1.83k
    YYFILL(1);
8364
1.83k
    yych = *YYCURSOR;
8365
1.83k
    YYDEBUG(716, *YYCURSOR);
8366
1.83k
    if (yych <= 0x1F) {
8367
619
      if (yych == '\t') goto yy715;
8368
395
      goto yy86;
8369
1.21k
    } else {
8370
1.21k
      if (yych <= ' ') goto yy715;
8371
980
      if (yych == ')') goto yy777;
8372
711
      goto yy86;
8373
980
    }
8374
297
yy717:
8375
297
    YYDEBUG(717, *YYCURSOR);
8376
297
    ++YYCURSOR;
8377
297
    YYDEBUG(718, *YYCURSOR);
8378
297
    yyleng = YYCURSOR - SCNG(yy_text);
8379
297
#line 1655 "Zend/zend_language_scanner.l"
8380
297
    {
8381
297
  if (PARSER_MODE()) {
8382
39
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8383
39
    if (EG(exception)) {
8384
0
      RETURN_TOKEN(T_ERROR);
8385
0
    }
8386
39
  }
8387
297
  RETURN_TOKEN(T_DOUBLE_CAST);
8388
297
}
8389
0
#line 8390 "Zend/zend_language_scanner.c"
8390
3.00k
yy719:
8391
3.00k
    YYDEBUG(719, *YYCURSOR);
8392
3.00k
    ++YYCURSOR;
8393
3.00k
    YYFILL(1);
8394
3.00k
    yych = *YYCURSOR;
8395
3.00k
    YYDEBUG(720, *YYCURSOR);
8396
3.00k
    if (yych <= 0x1F) {
8397
623
      if (yych == '\t') goto yy719;
8398
419
      goto yy86;
8399
2.38k
    } else {
8400
2.38k
      if (yych <= ' ') goto yy719;
8401
2.01k
      if (yych == ')') goto yy779;
8402
481
      goto yy86;
8403
2.01k
    }
8404
1.53k
yy721:
8405
1.53k
    YYDEBUG(721, *YYCURSOR);
8406
1.53k
    ++YYCURSOR;
8407
1.53k
    YYDEBUG(722, *YYCURSOR);
8408
1.53k
    yyleng = YYCURSOR - SCNG(yy_text);
8409
1.53k
#line 1691 "Zend/zend_language_scanner.l"
8410
1.53k
    {
8411
1.53k
  RETURN_TOKEN(T_OBJECT_CAST);
8412
1.53k
}
8413
0
#line 8414 "Zend/zend_language_scanner.c"
8414
1.92k
yy723:
8415
1.92k
    YYDEBUG(723, *YYCURSOR);
8416
1.92k
    ++YYCURSOR;
8417
1.92k
    YYDEBUG(724, *YYCURSOR);
8418
1.92k
    yyleng = YYCURSOR - SCNG(yy_text);
8419
1.92k
#line 1673 "Zend/zend_language_scanner.l"
8420
1.92k
    {
8421
1.92k
  RETURN_TOKEN(T_STRING_CAST);
8422
1.92k
}
8423
0
#line 8424 "Zend/zend_language_scanner.c"
8424
6.48k
yy725:
8425
6.48k
    YYDEBUG(725, *YYCURSOR);
8426
6.48k
    yyaccept = 68;
8427
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
8428
6.48k
    if (yybm[256+yych] & 128) {
8429
1.78k
      goto yy47;
8430
1.78k
    }
8431
4.70k
    if (yych == '\\') goto yy164;
8432
4.69k
yy726:
8433
4.69k
    YYDEBUG(726, *YYCURSOR);
8434
4.69k
    yyleng = YYCURSOR - SCNG(yy_text);
8435
4.69k
#line 1769 "Zend/zend_language_scanner.l"
8436
4.69k
    {
8437
4.69k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8438
4.69k
}
8439
0
#line 8440 "Zend/zend_language_scanner.c"
8440
2.19k
yy727:
8441
2.19k
    YYDEBUG(727, *YYCURSOR);
8442
2.19k
    yyaccept = 69;
8443
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
8444
2.19k
    if (yybm[256+yych] & 128) {
8445
345
      goto yy47;
8446
345
    }
8447
1.85k
    if (yych == '\\') goto yy164;
8448
1.70k
yy728:
8449
1.70k
    YYDEBUG(728, *YYCURSOR);
8450
1.70k
    yyleng = YYCURSOR - SCNG(yy_text);
8451
1.70k
#line 1821 "Zend/zend_language_scanner.l"
8452
1.70k
    {
8453
1.70k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8454
1.70k
}
8455
0
#line 8456 "Zend/zend_language_scanner.c"
8456
3.34k
yy729:
8457
3.34k
    YYDEBUG(729, *YYCURSOR);
8458
3.34k
    yyaccept = 70;
8459
3.34k
    yych = *(YYMARKER = ++YYCURSOR);
8460
3.34k
    if (yybm[256+yych] & 128) {
8461
518
      goto yy47;
8462
518
    }
8463
2.83k
    if (yych == '\\') goto yy164;
8464
2.83k
yy730:
8465
2.83k
    YYDEBUG(730, *YYCURSOR);
8466
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
8467
2.83k
#line 1537 "Zend/zend_language_scanner.l"
8468
2.83k
    {
8469
2.83k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8470
2.83k
}
8471
0
#line 8472 "Zend/zend_language_scanner.c"
8472
4.68k
yy731:
8473
4.68k
    YYDEBUG(731, *YYCURSOR);
8474
4.68k
    yyaccept = 4;
8475
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
8476
4.68k
    if (yych == 'R') goto yy781;
8477
3.99k
    if (yych == 'r') goto yy781;
8478
990
    goto yy48;
8479
5.26k
yy732:
8480
5.26k
    YYDEBUG(732, *YYCURSOR);
8481
5.26k
    yyaccept = 4;
8482
5.26k
    yych = *(YYMARKER = ++YYCURSOR);
8483
5.26k
    if (yych == 'C') goto yy782;
8484
3.44k
    if (yych == 'c') goto yy782;
8485
297
    goto yy48;
8486
2.58k
yy733:
8487
2.58k
    YYDEBUG(733, *YYCURSOR);
8488
2.58k
    yyaccept = 4;
8489
2.58k
    yych = *(YYMARKER = ++YYCURSOR);
8490
2.58k
    if (yych == 'H') goto yy783;
8491
2.04k
    if (yych == 'h') goto yy783;
8492
922
    goto yy48;
8493
6.19k
yy734:
8494
6.19k
    YYDEBUG(734, *YYCURSOR);
8495
6.19k
    yyaccept = 71;
8496
6.19k
    yych = *(YYMARKER = ++YYCURSOR);
8497
6.19k
    if (yybm[256+yych] & 128) {
8498
396
      goto yy47;
8499
396
    }
8500
5.79k
    if (yych == '\\') goto yy164;
8501
5.73k
yy735:
8502
5.73k
    YYDEBUG(735, *YYCURSOR);
8503
5.73k
    yyleng = YYCURSOR - SCNG(yy_text);
8504
5.73k
#line 1473 "Zend/zend_language_scanner.l"
8505
5.73k
    {
8506
5.73k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8507
5.73k
}
8508
0
#line 8509 "Zend/zend_language_scanner.c"
8509
2.61k
yy736:
8510
2.61k
    YYDEBUG(736, *YYCURSOR);
8511
2.61k
    yych = *++YYCURSOR;
8512
2.61k
    if (yych == 'E') goto yy785;
8513
2.33k
    if (yych == 'e') goto yy785;
8514
501
    goto yy86;
8515
3.19k
yy737:
8516
3.19k
    YYDEBUG(737, *YYCURSOR);
8517
3.19k
    yych = *++YYCURSOR;
8518
3.19k
    if (yych == 'L') goto yy786;
8519
2.32k
    if (yych == 'l') goto yy786;
8520
313
    goto yy86;
8521
3.24M
yy738:
8522
3.24M
    YYDEBUG(738, *YYCURSOR);
8523
3.24M
    ++YYCURSOR;
8524
3.24M
    YYFILL(1);
8525
3.24M
    yych = *YYCURSOR;
8526
3.24M
    YYDEBUG(739, *YYCURSOR);
8527
3.24M
    if (yych <= '\f') {
8528
164k
      if (yych <= 0x00) goto yy86;
8529
145k
      if (yych == '\n') goto yy787;
8530
47.1k
      goto yy738;
8531
3.08M
    } else {
8532
3.08M
      if (yych <= '\r') goto yy787;
8533
2.95M
      if (yych == '*') goto yy789;
8534
2.93M
      goto yy738;
8535
2.95M
    }
8536
11.4k
yy740:
8537
11.4k
    YYDEBUG(740, *YYCURSOR);
8538
11.4k
    ++YYCURSOR;
8539
11.4k
    YYFILL(1);
8540
11.4k
    yych = *YYCURSOR;
8541
11.4k
    if (yych <= '\r') {
8542
1.17k
      if (yych <= '\t') {
8543
502
        if (yych <= 0x00) goto yy86;
8544
199
        goto yy586;
8545
671
      } else {
8546
671
        if (yych <= '\n') goto yy495;
8547
473
        if (yych <= '\f') goto yy586;
8548
202
        goto yy495;
8549
473
      }
8550
10.2k
    } else {
8551
10.2k
      if (yych <= 'T') {
8552
1.76k
        if (yych <= 'S') goto yy586;
8553
1.22k
        goto yy791;
8554
8.47k
      } else {
8555
8.47k
        if (yych == 't') goto yy791;
8556
675
        goto yy586;
8557
8.47k
      }
8558
10.2k
    }
8559
30.0k
yy741:
8560
30.0k
    YYDEBUG(741, *YYCURSOR);
8561
30.0k
    ++YYCURSOR;
8562
30.0k
    YYFILL(1);
8563
30.0k
    yych = *YYCURSOR;
8564
30.0k
    if (yych <= '\r') {
8565
1.28k
      if (yych <= '\t') {
8566
487
        if (yych <= 0x00) goto yy86;
8567
250
        goto yy586;
8568
801
      } else {
8569
801
        if (yych <= '\n') goto yy495;
8570
483
        if (yych <= '\f') goto yy586;
8571
224
        goto yy495;
8572
483
      }
8573
28.8k
    } else {
8574
28.8k
      if (yych <= 'P') {
8575
6.02k
        if (yych <= 'O') goto yy586;
8576
3.94k
        goto yy792;
8577
22.7k
      } else {
8578
22.7k
        if (yych == 'p') goto yy792;
8579
659
        goto yy586;
8580
22.7k
      }
8581
28.8k
    }
8582
107k
yy742:
8583
107k
    YYDEBUG(742, *YYCURSOR);
8584
107k
    yyaccept = 72;
8585
107k
    yych = *(YYMARKER = ++YYCURSOR);
8586
107k
    if (yybm[256+yych] & 128) {
8587
1.40k
      goto yy47;
8588
1.40k
    }
8589
106k
    if (yych == '\\') goto yy164;
8590
106k
yy743:
8591
106k
    YYDEBUG(743, *YYCURSOR);
8592
106k
    yyleng = YYCURSOR - SCNG(yy_text);
8593
106k
#line 1410 "Zend/zend_language_scanner.l"
8594
106k
    {
8595
106k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8596
106k
}
8597
0
#line 8598 "Zend/zend_language_scanner.c"
8598
8.03k
yy744:
8599
8.03k
    YYDEBUG(744, *YYCURSOR);
8600
8.03k
    yyaccept = 4;
8601
8.03k
    yych = *(YYMARKER = ++YYCURSOR);
8602
8.03k
    if (yych == 'T') goto yy793;
8603
6.85k
    if (yych == 't') goto yy793;
8604
1.40k
    goto yy48;
8605
3.92k
yy745:
8606
3.92k
    YYDEBUG(745, *YYCURSOR);
8607
3.92k
    yyaccept = 4;
8608
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
8609
3.92k
    if (yych == 'O') goto yy794;
8610
2.96k
    if (yych == 'o') goto yy794;
8611
234
    goto yy48;
8612
4.47k
yy746:
8613
4.47k
    YYDEBUG(746, *YYCURSOR);
8614
4.47k
    yyaccept = 4;
8615
4.47k
    yych = *(YYMARKER = ++YYCURSOR);
8616
4.47k
    if (yych == 'O') goto yy795;
8617
3.00k
    if (yych == 'o') goto yy795;
8618
726
    goto yy48;
8619
5.63k
yy747:
8620
5.63k
    YYDEBUG(747, *YYCURSOR);
8621
5.63k
    yyaccept = 4;
8622
5.63k
    yych = *(YYMARKER = ++YYCURSOR);
8623
5.63k
    if (yych == 'F') goto yy796;
8624
4.82k
    if (yych == 'f') goto yy796;
8625
421
    goto yy48;
8626
8.66k
yy748:
8627
8.66k
    YYDEBUG(748, *YYCURSOR);
8628
8.66k
    yyaccept = 4;
8629
8.66k
    yych = *(YYMARKER = ++YYCURSOR);
8630
8.66k
    if (yych == 'E') goto yy798;
8631
8.11k
    if (yych == 'e') goto yy798;
8632
596
    goto yy48;
8633
21.7k
yy749:
8634
21.7k
    YYDEBUG(749, *YYCURSOR);
8635
21.7k
    yyaccept = 4;
8636
21.7k
    yych = *(YYMARKER = ++YYCURSOR);
8637
21.7k
    if (yych == 'E') goto yy800;
8638
20.3k
    if (yych == 'e') goto yy800;
8639
915
    goto yy48;
8640
3.18k
yy750:
8641
3.18k
    YYDEBUG(750, *YYCURSOR);
8642
3.18k
    yych = *++YYCURSOR;
8643
3.18k
    if (yych == 'S') goto yy802;
8644
2.82k
    if (yych == 's') goto yy802;
8645
291
    goto yy86;
8646
8.78k
yy751:
8647
8.78k
    YYDEBUG(751, *YYCURSOR);
8648
8.78k
    yyaccept = 4;
8649
8.78k
    yych = *(YYMARKER = ++YYCURSOR);
8650
8.78k
    if (yych == 'D') goto yy803;
8651
7.27k
    if (yych == 'd') goto yy803;
8652
600
    goto yy48;
8653
1.60k
yy752:
8654
1.60k
    YYDEBUG(752, *YYCURSOR);
8655
1.60k
    yych = *++YYCURSOR;
8656
1.60k
    if (yych == 'E') goto yy805;
8657
1.38k
    if (yych == 'e') goto yy805;
8658
386
    goto yy86;
8659
4.68k
yy753:
8660
4.68k
    YYDEBUG(753, *YYCURSOR);
8661
4.68k
    yyaccept = 73;
8662
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
8663
4.68k
    if (yybm[256+yych] & 128) {
8664
689
      goto yy47;
8665
689
    }
8666
3.99k
    if (yych == '\\') goto yy164;
8667
3.99k
yy754:
8668
3.99k
    YYDEBUG(754, *YYCURSOR);
8669
3.99k
    yyleng = YYCURSOR - SCNG(yy_text);
8670
3.99k
#line 1801 "Zend/zend_language_scanner.l"
8671
3.99k
    {
8672
3.99k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8673
3.99k
}
8674
0
#line 8675 "Zend/zend_language_scanner.c"
8675
3.72k
yy755:
8676
3.72k
    YYDEBUG(755, *YYCURSOR);
8677
3.72k
    yyaccept = 4;
8678
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
8679
3.72k
    if (yych == 'O') goto yy806;
8680
3.20k
    if (yych == 'o') goto yy806;
8681
306
    goto yy48;
8682
5.62k
yy756:
8683
5.62k
    YYDEBUG(756, *YYCURSOR);
8684
5.62k
    yych = *++YYCURSOR;
8685
5.62k
    if (yych == 'O') goto yy807;
8686
4.33k
    if (yych == 'o') goto yy807;
8687
679
    goto yy86;
8688
12.4k
yy757:
8689
12.4k
    YYDEBUG(757, *YYCURSOR);
8690
12.4k
    ++YYCURSOR;
8691
12.4k
    YYFILL(1);
8692
12.4k
    yych = *YYCURSOR;
8693
12.4k
    if (yych <= '\n') {
8694
9.21k
      if (yych <= 0x00) goto yy86;
8695
8.99k
      if (yych <= '\t') goto yy692;
8696
8.79k
      goto yy694;
8697
8.99k
    } else {
8698
3.22k
      if (yych == '\r') goto yy694;
8699
1.36k
      goto yy692;
8700
3.22k
    }
8701
54.5k
yy758:
8702
54.5k
    YYDEBUG(758, *YYCURSOR);
8703
54.5k
    ++YYCURSOR;
8704
54.5k
    YYFILL(1);
8705
54.5k
    yych = *YYCURSOR;
8706
54.5k
    if (yych <= '\f') {
8707
1.52k
      if (yych <= 0x00) goto yy86;
8708
1.12k
      if (yych == '\n') goto yy616;
8709
457
      goto yy692;
8710
52.9k
    } else {
8711
52.9k
      if (yych <= '\r') goto yy616;
8712
52.3k
      if (yych == '*') goto yy808;
8713
10.7k
      goto yy692;
8714
52.3k
    }
8715
20.5k
yy759:
8716
20.5k
    YYDEBUG(759, *YYCURSOR);
8717
20.5k
    ++YYCURSOR;
8718
20.5k
    YYFILL(1);
8719
20.5k
    yych = *YYCURSOR;
8720
20.5k
    if (yych <= '\r') {
8721
1.85k
      if (yych <= '\t') {
8722
805
        if (yych <= 0x00) goto yy86;
8723
212
        goto yy692;
8724
1.04k
      } else {
8725
1.04k
        if (yych <= '\n') goto yy616;
8726
435
        if (yych <= '\f') goto yy692;
8727
200
        goto yy616;
8728
435
      }
8729
18.6k
    } else {
8730
18.6k
      if (yych <= 'R') {
8731
14.1k
        if (yych <= 'Q') goto yy692;
8732
11.8k
        goto yy810;
8733
14.1k
      } else {
8734
4.53k
        if (yych == 'r') goto yy810;
8735
1.83k
        goto yy692;
8736
4.53k
      }
8737
18.6k
    }
8738
33.8k
yy760:
8739
33.8k
    YYDEBUG(760, *YYCURSOR);
8740
33.8k
    ++YYCURSOR;
8741
33.8k
    YYFILL(1);
8742
33.8k
    yych = *YYCURSOR;
8743
33.8k
    YYDEBUG(761, *YYCURSOR);
8744
33.8k
    if (yych <= '*') {
8745
15.6k
      if (yych <= 0x00) goto yy86;
8746
15.2k
      if (yych <= ')') goto yy696;
8747
3.44k
      goto yy760;
8748
18.1k
    } else {
8749
18.1k
      if (yych == '/') goto yy616;
8750
4.91k
      goto yy696;
8751
18.1k
    }
8752
4.45k
yy762:
8753
4.45k
    YYDEBUG(762, *YYCURSOR);
8754
4.45k
    yyaccept = 4;
8755
4.45k
    yych = *(YYMARKER = ++YYCURSOR);
8756
4.45k
    if (yych == '_') goto yy811;
8757
240
    goto yy48;
8758
5.98k
yy763:
8759
5.98k
    YYDEBUG(763, *YYCURSOR);
8760
5.98k
    yyaccept = 74;
8761
5.98k
    yych = *(YYMARKER = ++YYCURSOR);
8762
5.98k
    if (yybm[256+yych] & 128) {
8763
574
      goto yy47;
8764
574
    }
8765
5.40k
    if (yych == '\\') goto yy164;
8766
5.40k
yy764:
8767
5.40k
    YYDEBUG(764, *YYCURSOR);
8768
5.40k
    yyleng = YYCURSOR - SCNG(yy_text);
8769
5.40k
#line 2276 "Zend/zend_language_scanner.l"
8770
5.40k
    {
8771
5.40k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8772
5.40k
}
8773
0
#line 8774 "Zend/zend_language_scanner.c"
8774
7.12k
yy765:
8775
7.12k
    YYDEBUG(765, *YYCURSOR);
8776
7.12k
    yyaccept = 4;
8777
7.12k
    yych = *(YYMARKER = ++YYCURSOR);
8778
7.12k
    if (yych == 'O') goto yy813;
8779
3.33k
    if (yych == 'o') goto yy813;
8780
715
    goto yy48;
8781
4.24k
yy766:
8782
4.24k
    YYDEBUG(766, *YYCURSOR);
8783
4.24k
    yyaccept = 4;
8784
4.24k
    yych = *(YYMARKER = ++YYCURSOR);
8785
4.24k
    if (yych == 'O') goto yy814;
8786
3.53k
    if (yych == 'o') goto yy814;
8787
407
    goto yy48;
8788
3.04k
yy767:
8789
3.04k
    YYDEBUG(767, *YYCURSOR);
8790
3.04k
    yyaccept = 75;
8791
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
8792
3.04k
    if (yybm[256+yych] & 128) {
8793
429
      goto yy47;
8794
429
    }
8795
2.61k
    if (yych == '\\') goto yy164;
8796
2.27k
yy768:
8797
2.27k
    YYDEBUG(768, *YYCURSOR);
8798
2.27k
    yyleng = YYCURSOR - SCNG(yy_text);
8799
2.27k
#line 2272 "Zend/zend_language_scanner.l"
8800
2.27k
    {
8801
2.27k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8802
2.27k
}
8803
0
#line 8804 "Zend/zend_language_scanner.c"
8804
12.0k
yy769:
8805
12.0k
    YYDEBUG(769, *YYCURSOR);
8806
12.0k
    yyaccept = 4;
8807
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
8808
12.0k
    if (yych == '_') goto yy815;
8809
642
    goto yy48;
8810
4.98k
yy770:
8811
4.98k
    YYDEBUG(770, *YYCURSOR);
8812
4.98k
    yyaccept = 4;
8813
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
8814
4.98k
    if (yych == 'A') goto yy816;
8815
2.65k
    if (yych == 'a') goto yy816;
8816
388
    goto yy48;
8817
4.70k
yy771:
8818
4.70k
    YYDEBUG(771, *YYCURSOR);
8819
4.70k
    yyaccept = 4;
8820
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
8821
4.70k
    if (yych == 'T') goto yy817;
8822
1.15k
    if (yych == 't') goto yy817;
8823
421
    goto yy48;
8824
3.85k
yy772:
8825
3.85k
    YYDEBUG(772, *YYCURSOR);
8826
3.85k
    yyaccept = 4;
8827
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
8828
3.85k
    if (yych == '_') goto yy818;
8829
807
    goto yy48;
8830
2.80k
yy773:
8831
2.80k
    YYDEBUG(773, *YYCURSOR);
8832
2.80k
    ++YYCURSOR;
8833
2.80k
    YYFILL(1);
8834
2.80k
    yych = *YYCURSOR;
8835
2.80k
    if (yybm[0+yych] & 128) {
8836
618
      goto yy443;
8837
618
    }
8838
2.18k
    if (yych <= 0x00) goto yy86;
8839
1.96k
    if (yych <= '\r') goto yy709;
8840
203
    goto yy547;
8841
1.28k
yy774:
8842
1.28k
    YYDEBUG(774, *YYCURSOR);
8843
1.28k
    yyaccept = 26;
8844
1.28k
    YYMARKER = ++YYCURSOR;
8845
1.28k
    YYFILL(1);
8846
1.28k
    yych = *YYCURSOR;
8847
1.28k
    if (yybm[0+yych] & 128) {
8848
438
      goto yy443;
8849
438
    }
8850
843
    if (yych <= 0x00) goto yy89;
8851
593
    if (yych <= '\r') goto yy545;
8852
222
    goto yy547;
8853
5.88k
yy775:
8854
5.88k
    YYDEBUG(775, *YYCURSOR);
8855
5.88k
    ++YYCURSOR;
8856
5.88k
    YYFILL(1);
8857
5.88k
    yych = *YYCURSOR;
8858
5.88k
    if (yych <= '\r') {
8859
1.18k
      if (yych <= '\t') {
8860
447
        if (yych <= 0x00) goto yy86;
8861
235
        goto yy443;
8862
740
      } else {
8863
740
        if (yych <= '\n') goto yy545;
8864
375
        if (yych <= '\f') goto yy443;
8865
308
        goto yy545;
8866
375
      }
8867
4.69k
    } else {
8868
4.69k
      if (yych <= '*') {
8869
1.74k
        if (yych <= ')') goto yy443;
8870
934
        goto yy547;
8871
2.94k
      } else {
8872
2.94k
        if (yych == '.') goto yy820;
8873
983
        goto yy443;
8874
2.94k
      }
8875
4.69k
    }
8876
6.73k
yy776:
8877
6.73k
    YYDEBUG(776, *YYCURSOR);
8878
6.73k
    ++YYCURSOR;
8879
6.73k
    YYFILL(1);
8880
6.73k
    yych = *YYCURSOR;
8881
6.73k
    if (yybm[0+yych] & 128) {
8882
817
      goto yy443;
8883
817
    }
8884
5.91k
    if (yych <= 0x00) goto yy86;
8885
5.50k
    if (yych <= '\r') goto yy545;
8886
4.99k
    goto yy821;
8887
4.99k
yy777:
8888
269
    YYDEBUG(777, *YYCURSOR);
8889
269
    ++YYCURSOR;
8890
269
    YYDEBUG(778, *YYCURSOR);
8891
269
    yyleng = YYCURSOR - SCNG(yy_text);
8892
269
#line 1699 "Zend/zend_language_scanner.l"
8893
269
    {
8894
269
  if (PARSER_MODE()) {
8895
73
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8896
73
    if (EG(exception)) {
8897
0
      RETURN_TOKEN(T_ERROR);
8898
0
    }
8899
73
  }
8900
269
  RETURN_TOKEN(T_BOOL_CAST);
8901
269
}
8902
0
#line 8903 "Zend/zend_language_scanner.c"
8903
1.53k
yy779:
8904
1.53k
    YYDEBUG(779, *YYCURSOR);
8905
1.53k
    ++YYCURSOR;
8906
1.53k
    YYDEBUG(780, *YYCURSOR);
8907
1.53k
    yyleng = YYCURSOR - SCNG(yy_text);
8908
1.53k
#line 1641 "Zend/zend_language_scanner.l"
8909
1.53k
    {
8910
1.53k
  if (PARSER_MODE()) {
8911
102
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8912
102
    if (EG(exception)) {
8913
0
      RETURN_TOKEN(T_ERROR);
8914
0
    }
8915
102
  }
8916
1.53k
  RETURN_TOKEN(T_INT_CAST);
8917
1.53k
}
8918
0
#line 8919 "Zend/zend_language_scanner.c"
8919
3.69k
yy781:
8920
3.69k
    YYDEBUG(781, *YYCURSOR);
8921
3.69k
    yyaccept = 4;
8922
3.69k
    yych = *(YYMARKER = ++YYCURSOR);
8923
3.69k
    if (yych == 'E') goto yy822;
8924
3.13k
    if (yych == 'e') goto yy822;
8925
416
    goto yy48;
8926
4.96k
yy782:
8927
4.96k
    YYDEBUG(782, *YYCURSOR);
8928
4.96k
    yyaccept = 4;
8929
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
8930
4.96k
    if (yych == 'H') goto yy824;
8931
3.33k
    if (yych == 'h') goto yy824;
8932
859
    goto yy48;
8933
1.66k
yy783:
8934
1.66k
    YYDEBUG(783, *YYCURSOR);
8935
1.66k
    yyaccept = 76;
8936
1.66k
    yych = *(YYMARKER = ++YYCURSOR);
8937
1.66k
    if (yybm[256+yych] & 128) {
8938
568
      goto yy47;
8939
568
    }
8940
1.09k
    if (yych == '\\') goto yy164;
8941
1.09k
yy784:
8942
1.09k
    YYDEBUG(784, *YYCURSOR);
8943
1.09k
    yyleng = YYCURSOR - SCNG(yy_text);
8944
1.09k
#line 1521 "Zend/zend_language_scanner.l"
8945
1.09k
    {
8946
1.09k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8947
1.09k
}
8948
0
#line 8949 "Zend/zend_language_scanner.c"
8949
2.11k
yy785:
8950
2.11k
    YYDEBUG(785, *YYCURSOR);
8951
2.11k
    yych = *++YYCURSOR;
8952
2.11k
    if (yych == 'N') goto yy826;
8953
1.50k
    if (yych == 'n') goto yy826;
8954
480
    goto yy86;
8955
2.87k
yy786:
8956
2.87k
    YYDEBUG(786, *YYCURSOR);
8957
2.87k
    yych = *++YYCURSOR;
8958
2.87k
    if (yych == 'E') goto yy827;
8959
2.15k
    if (yych == 'e') goto yy827;
8960
357
    goto yy86;
8961
323k
yy787:
8962
323k
    YYDEBUG(787, *YYCURSOR);
8963
323k
    ++YYCURSOR;
8964
323k
    YYFILL(1);
8965
323k
    yych = *YYCURSOR;
8966
323k
    YYDEBUG(788, *YYCURSOR);
8967
323k
    if (yych <= '@') {
8968
289k
      if (yych <= ' ') {
8969
57.0k
        if (yych <= '\n') {
8970
15.4k
          if (yych <= 0x00) goto yy86;
8971
10.6k
          if (yych <= 0x08) goto yy590;
8972
10.2k
          goto yy787;
8973
41.6k
        } else {
8974
41.6k
          if (yych == '\r') goto yy787;
8975
31.0k
          if (yych <= 0x1F) goto yy590;
8976
30.3k
          goto yy787;
8977
31.0k
        }
8978
232k
      } else {
8979
232k
        if (yych <= ')') {
8980
209k
          if (yych == '#') goto yy828;
8981
7.69k
          goto yy590;
8982
209k
        } else {
8983
23.3k
          if (yych <= '*') goto yy668;
8984
22.4k
          if (yych == '/') goto yy829;
8985
4.35k
          goto yy590;
8986
22.4k
        }
8987
232k
      }
8988
289k
    } else {
8989
33.7k
      if (yych <= '_') {
8990
7.71k
        if (yych <= 'H') {
8991
1.32k
          if (yych == 'E') goto yy831;
8992
861
          goto yy830;
8993
6.39k
        } else {
8994
6.39k
          if (yych <= 'I') goto yy832;
8995
1.94k
          if (yych <= 'Z') goto yy830;
8996
1.16k
          if (yych <= '^') goto yy590;
8997
253
          goto yy830;
8998
1.16k
        }
8999
26.0k
      } else {
9000
26.0k
        if (yych <= 'h') {
9001
14.9k
          if (yych <= '`') goto yy590;
9002
14.5k
          if (yych == 'e') goto yy831;
9003
4.65k
          goto yy830;
9004
14.5k
        } else {
9005
11.1k
          if (yych <= 'i') goto yy832;
9006
4.81k
          if (yych <= 'z') goto yy830;
9007
2.87k
          if (yych <= 0x7F) goto yy590;
9008
1.48k
          goto yy830;
9009
2.87k
        }
9010
26.0k
      }
9011
33.7k
    }
9012
26.9k
yy789:
9013
26.9k
    YYDEBUG(789, *YYCURSOR);
9014
26.9k
    ++YYCURSOR;
9015
26.9k
    YYFILL(1);
9016
26.9k
    yych = *YYCURSOR;
9017
26.9k
    YYDEBUG(790, *YYCURSOR);
9018
26.9k
    if (yych <= '\r') {
9019
7.44k
      if (yych <= '\t') {
9020
1.98k
        if (yych <= 0x00) goto yy86;
9021
1.03k
        goto yy738;
9022
5.46k
      } else {
9023
5.46k
        if (yych <= '\n') goto yy787;
9024
3.94k
        if (yych <= '\f') goto yy738;
9025
3.71k
        goto yy787;
9026
3.94k
      }
9027
19.5k
    } else {
9028
19.5k
      if (yych <= '*') {
9029
4.13k
        if (yych <= ')') goto yy738;
9030
2.16k
        goto yy789;
9031
15.3k
      } else {
9032
15.3k
        if (yych == '/') goto yy588;
9033
7.73k
        goto yy738;
9034
15.3k
      }
9035
19.5k
    }
9036
9.02k
yy791:
9037
9.02k
    YYDEBUG(791, *YYCURSOR);
9038
9.02k
    ++YYCURSOR;
9039
9.02k
    YYFILL(1);
9040
9.02k
    yych = *YYCURSOR;
9041
9.02k
    if (yych <= '\r') {
9042
1.15k
      if (yych <= '\t') {
9043
429
        if (yych <= 0x00) goto yy86;
9044
221
        goto yy586;
9045
722
      } else {
9046
722
        if (yych <= '\n') goto yy495;
9047
498
        if (yych <= '\f') goto yy586;
9048
278
        goto yy495;
9049
498
      }
9050
7.87k
    } else {
9051
7.87k
      if (yych <= 'E') {
9052
1.39k
        if (yych <= 'D') goto yy586;
9053
1.07k
        goto yy833;
9054
6.47k
      } else {
9055
6.47k
        if (yych == 'e') goto yy833;
9056
413
        goto yy586;
9057
6.47k
      }
9058
7.87k
    }
9059
26.0k
yy792:
9060
26.0k
    YYDEBUG(792, *YYCURSOR);
9061
26.0k
    ++YYCURSOR;
9062
26.0k
    YYFILL(1);
9063
26.0k
    yych = *YYCURSOR;
9064
26.0k
    if (yych <= '\r') {
9065
1.26k
      if (yych <= '\t') {
9066
561
        if (yych <= 0x00) goto yy86;
9067
245
        goto yy586;
9068
705
      } else {
9069
705
        if (yych <= '\n') goto yy495;
9070
499
        if (yych <= '\f') goto yy586;
9071
281
        goto yy495;
9072
499
      }
9073
24.7k
    } else {
9074
24.7k
      if (yych <= 'L') {
9075
5.89k
        if (yych <= 'K') goto yy586;
9076
3.59k
        goto yy834;
9077
18.9k
      } else {
9078
18.9k
        if (yych == 'l') goto yy834;
9079
1.21k
        goto yy586;
9080
18.9k
      }
9081
24.7k
    }
9082
6.63k
yy793:
9083
6.63k
    YYDEBUG(793, *YYCURSOR);
9084
6.63k
    yyaccept = 4;
9085
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
9086
6.63k
    if (yych == 'S') goto yy835;
9087
5.75k
    if (yych == 's') goto yy835;
9088
1.10k
    goto yy48;
9089
3.69k
yy794:
9090
3.69k
    YYDEBUG(794, *YYCURSOR);
9091
3.69k
    yyaccept = 4;
9092
3.69k
    yych = *(YYMARKER = ++YYCURSOR);
9093
3.69k
    if (yych == 'N') goto yy837;
9094
2.83k
    if (yych == 'n') goto yy837;
9095
519
    goto yy48;
9096
3.75k
yy795:
9097
3.75k
    YYDEBUG(795, *YYCURSOR);
9098
3.75k
    yyaccept = 4;
9099
3.75k
    yych = *(YYMARKER = ++YYCURSOR);
9100
3.75k
    if (yych == 'F') goto yy838;
9101
2.81k
    if (yych == 'f') goto yy838;
9102
728
    goto yy48;
9103
5.21k
yy796:
9104
5.21k
    YYDEBUG(796, *YYCURSOR);
9105
5.21k
    yyaccept = 77;
9106
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
9107
5.21k
    if (yybm[256+yych] & 128) {
9108
673
      goto yy47;
9109
673
    }
9110
4.53k
    if (yych == '\\') goto yy164;
9111
4.53k
yy797:
9112
4.53k
    YYDEBUG(797, *YYCURSOR);
9113
4.53k
    yyleng = YYCURSOR - SCNG(yy_text);
9114
4.53k
#line 1745 "Zend/zend_language_scanner.l"
9115
4.53k
    {
9116
4.53k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9117
4.53k
}
9118
0
#line 9119 "Zend/zend_language_scanner.c"
9119
8.06k
yy798:
9120
8.06k
    YYDEBUG(798, *YYCURSOR);
9121
8.06k
    yyaccept = 78;
9122
8.06k
    yych = *(YYMARKER = ++YYCURSOR);
9123
8.06k
    if (yybm[256+yych] & 128) {
9124
536
      goto yy47;
9125
536
    }
9126
7.52k
    if (yych == '\\') goto yy164;
9127
7.39k
yy799:
9128
7.39k
    YYDEBUG(799, *YYCURSOR);
9129
7.39k
    yyleng = YYCURSOR - SCNG(yy_text);
9130
7.39k
#line 1557 "Zend/zend_language_scanner.l"
9131
7.39k
    {
9132
7.39k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9133
7.39k
}
9134
0
#line 9135 "Zend/zend_language_scanner.c"
9135
20.8k
yy800:
9136
20.8k
    YYDEBUG(800, *YYCURSOR);
9137
20.8k
    yyaccept = 79;
9138
20.8k
    yych = *(YYMARKER = ++YYCURSOR);
9139
20.8k
    if (yybm[256+yych] & 128) {
9140
983
      goto yy47;
9141
983
    }
9142
19.8k
    if (yych == '\\') goto yy840;
9143
14.7k
yy801:
9144
14.7k
    YYDEBUG(801, *YYCURSOR);
9145
14.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9146
14.7k
#line 1737 "Zend/zend_language_scanner.l"
9147
14.7k
    {
9148
14.7k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9149
14.7k
}
9150
0
#line 9151 "Zend/zend_language_scanner.c"
9151
2.89k
yy802:
9152
2.89k
    YYDEBUG(802, *YYCURSOR);
9153
2.89k
    yych = *++YYCURSOR;
9154
2.89k
    if (yych == 'E') goto yy841;
9155
2.36k
    if (yych == 'e') goto yy841;
9156
1.05k
    goto yy86;
9157
8.18k
yy803:
9158
8.18k
    YYDEBUG(803, *YYCURSOR);
9159
8.18k
    yyaccept = 80;
9160
8.18k
    yych = *(YYMARKER = ++YYCURSOR);
9161
8.18k
    if (yybm[256+yych] & 128) {
9162
407
      goto yy47;
9163
407
    }
9164
7.77k
    if (yych == '(') goto yy842;
9165
5.85k
    if (yych == '\\') goto yy164;
9166
7.17k
yy804:
9167
7.17k
    YYDEBUG(804, *YYCURSOR);
9168
7.17k
    yyleng = YYCURSOR - SCNG(yy_text);
9169
7.17k
#line 1781 "Zend/zend_language_scanner.l"
9170
7.17k
    {
9171
7.17k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9172
7.17k
}
9173
0
#line 9174 "Zend/zend_language_scanner.c"
9174
1.21k
yy805:
9175
1.21k
    YYDEBUG(805, *YYCURSOR);
9176
1.21k
    yych = *++YYCURSOR;
9177
1.21k
    if (yych == 'T') goto yy843;
9178
588
    if (yych == 't') goto yy843;
9179
204
    goto yy86;
9180
3.41k
yy806:
9181
3.41k
    YYDEBUG(806, *YYCURSOR);
9182
3.41k
    yyaccept = 4;
9183
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
9184
3.41k
    if (yych == 'N') goto yy844;
9185
2.98k
    if (yych == 'n') goto yy844;
9186
420
    goto yy48;
9187
4.94k
yy807:
9188
4.94k
    YYDEBUG(807, *YYCURSOR);
9189
4.94k
    yych = *++YYCURSOR;
9190
4.94k
    if (yych == 'M') goto yy845;
9191
4.14k
    if (yych == 'm') goto yy845;
9192
444
    goto yy86;
9193
973k
yy808:
9194
973k
    YYDEBUG(808, *YYCURSOR);
9195
973k
    ++YYCURSOR;
9196
973k
    YYFILL(1);
9197
973k
    yych = *YYCURSOR;
9198
973k
    YYDEBUG(809, *YYCURSOR);
9199
973k
    if (yych <= '\f') {
9200
84.0k
      if (yych <= 0x00) goto yy86;
9201
78.3k
      if (yych == '\n') goto yy846;
9202
20.3k
      goto yy808;
9203
889k
    } else {
9204
889k
      if (yych <= '\r') goto yy846;
9205
857k
      if (yych == '*') goto yy848;
9206
844k
      goto yy808;
9207
857k
    }
9208
14.5k
yy810:
9209
14.5k
    YYDEBUG(810, *YYCURSOR);
9210
14.5k
    ++YYCURSOR;
9211
14.5k
    YYFILL(1);
9212
14.5k
    yych = *YYCURSOR;
9213
14.5k
    if (yych <= '\r') {
9214
1.50k
      if (yych <= '\t') {
9215
415
        if (yych <= 0x00) goto yy86;
9216
202
        goto yy692;
9217
1.09k
      } else {
9218
1.09k
        if (yych <= '\n') goto yy616;
9219
522
        if (yych <= '\f') goto yy692;
9220
314
        goto yy616;
9221
522
      }
9222
13.0k
    } else {
9223
13.0k
      if (yych <= 'O') {
9224
9.96k
        if (yych <= 'N') goto yy692;
9225
8.80k
        goto yy850;
9226
9.96k
      } else {
9227
3.11k
        if (yych == 'o') goto yy850;
9228
1.07k
        goto yy692;
9229
3.11k
      }
9230
13.0k
    }
9231
4.21k
yy811:
9232
4.21k
    YYDEBUG(811, *YYCURSOR);
9233
4.21k
    yyaccept = 81;
9234
4.21k
    yych = *(YYMARKER = ++YYCURSOR);
9235
4.21k
    if (yybm[256+yych] & 128) {
9236
525
      goto yy47;
9237
525
    }
9238
3.68k
    if (yych == '\\') goto yy164;
9239
3.68k
yy812:
9240
3.68k
    YYDEBUG(812, *YYCURSOR);
9241
3.68k
    yyleng = YYCURSOR - SCNG(yy_text);
9242
3.68k
#line 2252 "Zend/zend_language_scanner.l"
9243
3.68k
    {
9244
3.68k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9245
3.68k
}
9246
0
#line 9247 "Zend/zend_language_scanner.c"
9247
6.41k
yy813:
9248
6.41k
    YYDEBUG(813, *YYCURSOR);
9249
6.41k
    yyaccept = 4;
9250
6.41k
    yych = *(YYMARKER = ++YYCURSOR);
9251
6.41k
    if (yych == 'N') goto yy851;
9252
1.67k
    if (yych == 'n') goto yy851;
9253
589
    goto yy48;
9254
3.83k
yy814:
9255
3.83k
    YYDEBUG(814, *YYCURSOR);
9256
3.83k
    yyaccept = 4;
9257
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
9258
3.83k
    if (yych == 'M') goto yy852;
9259
3.17k
    if (yych == 'm') goto yy852;
9260
379
    goto yy48;
9261
11.4k
yy815:
9262
11.4k
    YYDEBUG(815, *YYCURSOR);
9263
11.4k
    yyaccept = 4;
9264
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
9265
11.4k
    if (yych == '_') goto yy853;
9266
503
    goto yy48;
9267
4.59k
yy816:
9268
4.59k
    YYDEBUG(816, *YYCURSOR);
9269
4.59k
    yyaccept = 4;
9270
4.59k
    yych = *(YYMARKER = ++YYCURSOR);
9271
4.59k
    if (yych == 'C') goto yy855;
9272
2.87k
    if (yych == 'c') goto yy855;
9273
718
    goto yy48;
9274
4.27k
yy817:
9275
4.27k
    YYDEBUG(817, *YYCURSOR);
9276
4.27k
    yyaccept = 4;
9277
4.27k
    yych = *(YYMARKER = ++YYCURSOR);
9278
4.27k
    if (yych == 'Y') goto yy856;
9279
693
    if (yych == 'y') goto yy856;
9280
482
    goto yy48;
9281
3.05k
yy818:
9282
3.05k
    YYDEBUG(818, *YYCURSOR);
9283
3.05k
    yyaccept = 82;
9284
3.05k
    yych = *(YYMARKER = ++YYCURSOR);
9285
3.05k
    if (yybm[256+yych] & 128) {
9286
500
      goto yy47;
9287
500
    }
9288
2.55k
    if (yych == '\\') goto yy164;
9289
2.55k
yy819:
9290
2.55k
    YYDEBUG(819, *YYCURSOR);
9291
2.55k
    yyleng = YYCURSOR - SCNG(yy_text);
9292
2.55k
#line 2256 "Zend/zend_language_scanner.l"
9293
2.55k
    {
9294
2.55k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9295
2.55k
}
9296
0
#line 9297 "Zend/zend_language_scanner.c"
9297
1.96k
yy820:
9298
1.96k
    YYDEBUG(820, *YYCURSOR);
9299
1.96k
    ++YYCURSOR;
9300
1.96k
    YYFILL(1);
9301
1.96k
    yych = *YYCURSOR;
9302
1.96k
    if (yych <= '\r') {
9303
1.03k
      if (yych <= '\t') {
9304
402
        if (yych <= 0x00) goto yy86;
9305
199
        goto yy443;
9306
633
      } else {
9307
633
        if (yych <= '\n') goto yy545;
9308
431
        if (yych <= '\f') goto yy443;
9309
215
        goto yy545;
9310
431
      }
9311
1.03k
    } else {
9312
928
      if (yych <= '*') {
9313
453
        if (yych <= ')') goto yy443;
9314
207
        goto yy547;
9315
475
      } else {
9316
475
        if (yych == '.') goto yy774;
9317
210
        goto yy443;
9318
475
      }
9319
928
    }
9320
4.99k
yy821:
9321
4.99k
    YYDEBUG(821, *YYCURSOR);
9322
4.99k
    ++YYCURSOR;
9323
4.99k
    YYFILL(1);
9324
4.99k
    yych = *YYCURSOR;
9325
4.99k
    if (yych <= '\r') {
9326
1.31k
      if (yych <= '\t') {
9327
440
        if (yych <= 0x00) goto yy86;
9328
203
        goto yy443;
9329
879
      } else {
9330
879
        if (yych <= '\n') goto yy545;
9331
427
        if (yych <= '\f') goto yy443;
9332
198
        goto yy545;
9333
427
      }
9334
3.67k
    } else {
9335
3.67k
      if (yych <= '*') {
9336
1.11k
        if (yych <= ')') goto yy443;
9337
216
        goto yy547;
9338
2.56k
      } else {
9339
2.56k
        if (yych == '/') goto yy709;
9340
260
        goto yy443;
9341
2.56k
      }
9342
3.67k
    }
9343
3.28k
yy822:
9344
3.28k
    YYDEBUG(822, *YYCURSOR);
9345
3.28k
    yyaccept = 83;
9346
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
9347
3.28k
    if (yybm[256+yych] & 128) {
9348
1.04k
      goto yy47;
9349
1.04k
    }
9350
2.24k
    if (yych == '\\') goto yy164;
9351
2.24k
yy823:
9352
2.24k
    YYDEBUG(823, *YYCURSOR);
9353
2.24k
    yyleng = YYCURSOR - SCNG(yy_text);
9354
2.24k
#line 1501 "Zend/zend_language_scanner.l"
9355
2.24k
    {
9356
2.24k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9357
2.24k
}
9358
0
#line 9359 "Zend/zend_language_scanner.c"
9359
4.10k
yy824:
9360
4.10k
    YYDEBUG(824, *YYCURSOR);
9361
4.10k
    yyaccept = 84;
9362
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
9363
4.10k
    if (yybm[256+yych] & 128) {
9364
992
      goto yy47;
9365
992
    }
9366
3.11k
    if (yych == '\\') goto yy164;
9367
3.11k
yy825:
9368
3.11k
    YYDEBUG(825, *YYCURSOR);
9369
3.11k
    yyleng = YYCURSOR - SCNG(yy_text);
9370
3.11k
#line 1493 "Zend/zend_language_scanner.l"
9371
3.11k
    {
9372
3.11k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9373
3.11k
}
9374
0
#line 9375 "Zend/zend_language_scanner.c"
9375
1.63k
yy826:
9376
1.63k
    YYDEBUG(826, *YYCURSOR);
9377
1.63k
    yych = *++YYCURSOR;
9378
1.63k
    if (yych == 'D') goto yy857;
9379
1.28k
    if (yych == 'd') goto yy857;
9380
871
    goto yy86;
9381
2.52k
yy827:
9382
2.52k
    YYDEBUG(827, *YYCURSOR);
9383
2.52k
    yych = *++YYCURSOR;
9384
2.52k
    if (yych == 'M') goto yy858;
9385
1.59k
    if (yych == 'm') goto yy858;
9386
793
    goto yy86;
9387
201k
yy828:
9388
201k
    YYDEBUG(828, *YYCURSOR);
9389
201k
    ++YYCURSOR;
9390
201k
    YYFILL(1);
9391
201k
    yych = *YYCURSOR;
9392
201k
    if (yych <= '\r') {
9393
175k
      if (yych <= '\t') {
9394
2.73k
        if (yych <= 0x00) goto yy86;
9395
2.23k
        goto yy738;
9396
172k
      } else {
9397
172k
        if (yych <= '\n') goto yy859;
9398
40.6k
        if (yych <= '\f') goto yy738;
9399
39.8k
        goto yy859;
9400
40.6k
      }
9401
175k
    } else {
9402
26.0k
      if (yych <= '*') {
9403
7.18k
        if (yych <= ')') goto yy738;
9404
1.27k
        goto yy789;
9405
18.8k
      } else {
9406
18.8k
        if (yych == '[') goto yy590;
9407
18.6k
        goto yy738;
9408
18.8k
      }
9409
26.0k
    }
9410
18.1k
yy829:
9411
18.1k
    YYDEBUG(829, *YYCURSOR);
9412
18.1k
    ++YYCURSOR;
9413
18.1k
    YYFILL(1);
9414
18.1k
    yych = *YYCURSOR;
9415
18.1k
    if (yych <= '*') {
9416
14.3k
      if (yych <= 0x00) goto yy86;
9417
14.0k
      if (yych <= ')') goto yy590;
9418
12.8k
      goto yy861;
9419
14.0k
    } else {
9420
3.73k
      if (yych == '/') goto yy738;
9421
1.39k
      goto yy590;
9422
3.73k
    }
9423
9.97k
yy830:
9424
9.97k
    YYDEBUG(830, *YYCURSOR);
9425
9.97k
    yyaccept = 53;
9426
9.97k
    YYMARKER = ++YYCURSOR;
9427
9.97k
    YYFILL(1);
9428
9.97k
    yych = *YYCURSOR;
9429
9.97k
    if (yych <= 0x00) goto yy583;
9430
9.06k
    if (yych == '*') goto yy668;
9431
8.61k
    goto yy590;
9432
10.3k
yy831:
9433
10.3k
    YYDEBUG(831, *YYCURSOR);
9434
10.3k
    yyaccept = 53;
9435
10.3k
    YYMARKER = ++YYCURSOR;
9436
10.3k
    YYFILL(1);
9437
10.3k
    yych = *YYCURSOR;
9438
10.3k
    if (yych <= 'W') {
9439
3.50k
      if (yych <= 0x00) goto yy583;
9440
3.25k
      if (yych == '*') goto yy668;
9441
1.08k
      goto yy590;
9442
6.82k
    } else {
9443
6.82k
      if (yych <= 'X') goto yy862;
9444
6.24k
      if (yych == 'x') goto yy862;
9445
1.24k
      goto yy590;
9446
6.24k
    }
9447
10.7k
yy832:
9448
10.7k
    YYDEBUG(832, *YYCURSOR);
9449
10.7k
    yyaccept = 53;
9450
10.7k
    YYMARKER = ++YYCURSOR;
9451
10.7k
    YYFILL(1);
9452
10.7k
    yych = *YYCURSOR;
9453
10.7k
    if (yych <= 'L') {
9454
1.73k
      if (yych <= 0x00) goto yy583;
9455
1.26k
      if (yych == '*') goto yy668;
9456
1.06k
      goto yy590;
9457
9.02k
    } else {
9458
9.02k
      if (yych <= 'M') goto yy863;
9459
5.38k
      if (yych == 'm') goto yy863;
9460
372
      goto yy590;
9461
5.38k
    }
9462
7.14k
yy833:
9463
7.14k
    YYDEBUG(833, *YYCURSOR);
9464
7.14k
    ++YYCURSOR;
9465
7.14k
    YYFILL(1);
9466
7.14k
    yych = *YYCURSOR;
9467
7.14k
    if (yych <= '\r') {
9468
1.19k
      if (yych <= '\t') {
9469
457
        if (yych <= 0x00) goto yy86;
9470
257
        goto yy586;
9471
736
      } else {
9472
736
        if (yych <= '\n') goto yy495;
9473
515
        if (yych <= '\f') goto yy586;
9474
282
        goto yy495;
9475
515
      }
9476
5.94k
    } else {
9477
5.94k
      if (yych <= 'N') {
9478
1.38k
        if (yych <= 'M') goto yy586;
9479
895
        goto yy864;
9480
4.56k
      } else {
9481
4.56k
        if (yych == 'n') goto yy864;
9482
293
        goto yy586;
9483
4.56k
      }
9484
5.94k
    }
9485
21.2k
yy834:
9486
21.2k
    YYDEBUG(834, *YYCURSOR);
9487
21.2k
    ++YYCURSOR;
9488
21.2k
    YYFILL(1);
9489
21.2k
    yych = *YYCURSOR;
9490
21.2k
    if (yych <= '\r') {
9491
1.89k
      if (yych <= '\t') {
9492
654
        if (yych <= 0x00) goto yy86;
9493
397
        goto yy586;
9494
1.23k
      } else {
9495
1.23k
        if (yych <= '\n') goto yy495;
9496
811
        if (yych <= '\f') goto yy586;
9497
489
        goto yy495;
9498
811
      }
9499
19.3k
    } else {
9500
19.3k
      if (yych <= 'E') {
9501
3.44k
        if (yych <= 'D') goto yy586;
9502
2.99k
        goto yy865;
9503
15.9k
      } else {
9504
15.9k
        if (yych == 'e') goto yy865;
9505
515
        goto yy586;
9506
15.9k
      }
9507
19.3k
    }
9508
5.53k
yy835:
9509
5.53k
    YYDEBUG(835, *YYCURSOR);
9510
5.53k
    yyaccept = 85;
9511
5.53k
    yych = *(YYMARKER = ++YYCURSOR);
9512
5.53k
    if (yybm[256+yych] & 128) {
9513
609
      goto yy47;
9514
609
    }
9515
4.92k
    if (yych == '\\') goto yy164;
9516
4.91k
yy836:
9517
4.91k
    YYDEBUG(836, *YYCURSOR);
9518
4.91k
    yyleng = YYCURSOR - SCNG(yy_text);
9519
4.91k
#line 1582 "Zend/zend_language_scanner.l"
9520
4.91k
    {
9521
4.91k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9522
4.91k
}
9523
0
#line 9524 "Zend/zend_language_scanner.c"
9524
3.17k
yy837:
9525
3.17k
    YYDEBUG(837, *YYCURSOR);
9526
3.17k
    yyaccept = 4;
9527
3.17k
    yych = *(YYMARKER = ++YYCURSOR);
9528
3.17k
    if (yych == 'C') goto yy866;
9529
2.45k
    if (yych == 'c') goto yy866;
9530
263
    goto yy48;
9531
3.02k
yy838:
9532
3.02k
    YYDEBUG(838, *YYCURSOR);
9533
3.02k
    yyaccept = 86;
9534
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
9535
3.02k
    if (yybm[256+yych] & 128) {
9536
911
      goto yy47;
9537
911
    }
9538
2.11k
    if (yych == '\\') goto yy164;
9539
2.11k
yy839:
9540
2.11k
    YYDEBUG(839, *YYCURSOR);
9541
2.11k
    yyleng = YYCURSOR - SCNG(yy_text);
9542
2.11k
#line 1505 "Zend/zend_language_scanner.l"
9543
2.11k
    {
9544
2.11k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9545
2.11k
}
9546
0
#line 9547 "Zend/zend_language_scanner.c"
9547
7.32k
yy840:
9548
7.32k
    YYDEBUG(840, *YYCURSOR);
9549
7.32k
    ++YYCURSOR;
9550
7.32k
    YYFILL(1);
9551
7.32k
    yych = *YYCURSOR;
9552
7.32k
    if (yych <= '_') {
9553
2.18k
      if (yych <= '@') goto yy86;
9554
1.77k
      if (yych <= 'Z') goto yy867;
9555
1.21k
      if (yych <= '^') goto yy86;
9556
802
      goto yy867;
9557
5.14k
    } else {
9558
5.14k
      if (yych <= '`') goto yy86;
9559
4.94k
      if (yych <= 'z') goto yy867;
9560
1.79k
      if (yych <= 0x7F) goto yy86;
9561
1.56k
      goto yy867;
9562
1.79k
    }
9563
1.83k
yy841:
9564
1.83k
    YYDEBUG(841, *YYCURSOR);
9565
1.83k
    yych = *++YYCURSOR;
9566
1.83k
    if (yych == 'T') goto yy870;
9567
1.36k
    if (yych == 't') goto yy870;
9568
398
    goto yy86;
9569
1.92k
yy842:
9570
1.92k
    YYDEBUG(842, *YYCURSOR);
9571
1.92k
    yych = *++YYCURSOR;
9572
1.92k
    if (yych == 'S') goto yy871;
9573
1.55k
    if (yych == 's') goto yy871;
9574
281
    goto yy86;
9575
1.01k
yy843:
9576
1.01k
    YYDEBUG(843, *YYCURSOR);
9577
1.01k
    yych = *++YYCURSOR;
9578
1.01k
    if (yych == ')') goto yy872;
9579
214
    goto yy86;
9580
2.99k
yy844:
9581
2.99k
    YYDEBUG(844, *YYCURSOR);
9582
2.99k
    yyaccept = 4;
9583
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
9584
2.99k
    if (yych == 'C') goto yy874;
9585
2.53k
    if (yych == 'c') goto yy874;
9586
769
    goto yy48;
9587
4.50k
yy845:
9588
4.50k
    YYDEBUG(845, *YYCURSOR);
9589
4.50k
    yych = *++YYCURSOR;
9590
4.50k
    if (yych <= '^') {
9591
2.81k
      if (yych <= '9') {
9592
2.05k
        if (yych <= '/') goto yy875;
9593
293
        goto yy86;
9594
2.05k
      } else {
9595
763
        if (yych <= '@') goto yy875;
9596
464
        if (yych <= 'Z') goto yy86;
9597
220
        goto yy875;
9598
464
      }
9599
2.81k
    } else {
9600
1.68k
      if (yych <= '`') {
9601
427
        if (yych <= '_') goto yy86;
9602
225
        goto yy875;
9603
1.26k
      } else {
9604
1.26k
        if (yych <= 'z') goto yy86;
9605
480
        if (yych <= 0x7F) goto yy875;
9606
274
        goto yy86;
9607
480
      }
9608
1.68k
    }
9609
141k
yy846:
9610
141k
    YYDEBUG(846, *YYCURSOR);
9611
141k
    ++YYCURSOR;
9612
141k
    YYFILL(1);
9613
141k
    yych = *YYCURSOR;
9614
141k
    YYDEBUG(847, *YYCURSOR);
9615
141k
    if (yych <= '#') {
9616
110k
      if (yych <= '\f') {
9617
6.07k
        if (yych <= 0x00) goto yy86;
9618
5.21k
        if (yych <= 0x08) goto yy696;
9619
4.78k
        if (yych <= '\n') goto yy846;
9620
320
        goto yy696;
9621
104k
      } else {
9622
104k
        if (yych <= 0x1F) {
9623
12.0k
          if (yych <= '\r') goto yy846;
9624
358
          goto yy696;
9625
92.0k
        } else {
9626
92.0k
          if (yych <= ' ') goto yy846;
9627
86.1k
          if (yych <= '"') goto yy696;
9628
85.8k
          goto yy877;
9629
86.1k
        }
9630
104k
      }
9631
110k
    } else {
9632
30.8k
      if (yych <= '/') {
9633
16.6k
        if (yych == '*') goto yy760;
9634
16.2k
        if (yych <= '.') goto yy696;
9635
11.1k
        goto yy878;
9636
16.2k
      } else {
9637
14.2k
        if (yych <= 'F') {
9638
9.67k
          if (yych <= 'E') goto yy696;
9639
8.00k
          goto yy879;
9640
9.67k
        } else {
9641
4.57k
          if (yych == 'f') goto yy879;
9642
4.00k
          goto yy696;
9643
4.57k
        }
9644
14.2k
      }
9645
30.8k
    }
9646
17.9k
yy848:
9647
17.9k
    YYDEBUG(848, *YYCURSOR);
9648
17.9k
    ++YYCURSOR;
9649
17.9k
    YYFILL(1);
9650
17.9k
    yych = *YYCURSOR;
9651
17.9k
    YYDEBUG(849, *YYCURSOR);
9652
17.9k
    if (yych <= '\r') {
9653
8.29k
      if (yych <= '\t') {
9654
1.51k
        if (yych <= 0x00) goto yy86;
9655
874
        goto yy808;
9656
6.78k
      } else {
9657
6.78k
        if (yych <= '\n') goto yy846;
9658
2.39k
        if (yych <= '\f') goto yy808;
9659
2.16k
        goto yy846;
9660
2.39k
      }
9661
9.63k
    } else {
9662
9.63k
      if (yych <= '*') {
9663
2.71k
        if (yych <= ')') goto yy808;
9664
1.05k
        goto yy848;
9665
6.92k
      } else {
9666
6.92k
        if (yych == '/') goto yy694;
9667
2.84k
        goto yy808;
9668
6.92k
      }
9669
9.63k
    }
9670
10.8k
yy850:
9671
10.8k
    YYDEBUG(850, *YYCURSOR);
9672
10.8k
    ++YYCURSOR;
9673
10.8k
    YYFILL(1);
9674
10.8k
    yych = *YYCURSOR;
9675
10.8k
    if (yych <= '\r') {
9676
2.07k
      if (yych <= '\t') {
9677
436
        if (yych <= 0x00) goto yy86;
9678
230
        goto yy692;
9679
1.63k
      } else {
9680
1.63k
        if (yych <= '\n') goto yy616;
9681
565
        if (yych <= '\f') goto yy692;
9682
282
        goto yy616;
9683
565
      }
9684
8.77k
    } else {
9685
8.77k
      if (yych <= 'M') {
9686
5.62k
        if (yych <= 'L') goto yy692;
9687
5.15k
        goto yy880;
9688
5.62k
      } else {
9689
3.15k
        if (yych == 'm') goto yy880;
9690
407
        goto yy692;
9691
3.15k
      }
9692
8.77k
    }
9693
5.82k
yy851:
9694
5.82k
    YYDEBUG(851, *YYCURSOR);
9695
5.82k
    yyaccept = 4;
9696
5.82k
    yych = *(YYMARKER = ++YYCURSOR);
9697
5.82k
    if (yych == '_') goto yy881;
9698
562
    goto yy48;
9699
3.45k
yy852:
9700
3.45k
    YYDEBUG(852, *YYCURSOR);
9701
3.45k
    yyaccept = 4;
9702
3.45k
    yych = *(YYMARKER = ++YYCURSOR);
9703
3.45k
    if (yych == 'P') goto yy882;
9704
2.70k
    if (yych == 'p') goto yy882;
9705
207
    goto yy48;
9706
10.9k
yy853:
9707
10.9k
    YYDEBUG(853, *YYCURSOR);
9708
10.9k
    yyaccept = 87;
9709
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
9710
10.9k
    if (yybm[256+yych] & 128) {
9711
405
      goto yy47;
9712
405
    }
9713
10.5k
    if (yych == '\\') goto yy164;
9714
10.5k
yy854:
9715
10.5k
    YYDEBUG(854, *YYCURSOR);
9716
10.5k
    yyleng = YYCURSOR - SCNG(yy_text);
9717
10.5k
#line 2268 "Zend/zend_language_scanner.l"
9718
10.5k
    {
9719
10.5k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9720
10.5k
}
9721
0
#line 9722 "Zend/zend_language_scanner.c"
9722
3.88k
yy855:
9723
3.88k
    YYDEBUG(855, *YYCURSOR);
9724
3.88k
    yyaccept = 4;
9725
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
9726
3.88k
    if (yych == 'E') goto yy883;
9727
2.23k
    if (yych == 'e') goto yy883;
9728
284
    goto yy48;
9729
3.79k
yy856:
9730
3.79k
    YYDEBUG(856, *YYCURSOR);
9731
3.79k
    yyaccept = 4;
9732
3.79k
    yych = *(YYMARKER = ++YYCURSOR);
9733
3.79k
    if (yych == '_') goto yy884;
9734
377
    goto yy48;
9735
1.23k
yy857:
9736
1.23k
    YYDEBUG(857, *YYCURSOR);
9737
1.23k
    yych = *++YYCURSOR;
9738
1.23k
    if (yych == 'S') goto yy885;
9739
1.02k
    if (yych == 's') goto yy885;
9740
778
    goto yy86;
9741
1.72k
yy858:
9742
1.72k
    YYDEBUG(858, *YYCURSOR);
9743
1.72k
    yych = *++YYCURSOR;
9744
1.72k
    if (yych == 'E') goto yy887;
9745
1.27k
    if (yych == 'e') goto yy887;
9746
573
    goto yy86;
9747
272k
yy859:
9748
272k
    YYDEBUG(859, *YYCURSOR);
9749
272k
    ++YYCURSOR;
9750
272k
    YYFILL(1);
9751
272k
    yych = *YYCURSOR;
9752
272k
    YYDEBUG(860, *YYCURSOR);
9753
272k
    if (yych <= '@') {
9754
144k
      if (yych <= 0x1F) {
9755
17.5k
        if (yych <= '\t') {
9756
6.30k
          if (yych <= 0x00) goto yy86;
9757
5.64k
          if (yych <= 0x08) goto yy738;
9758
1.16k
          goto yy859;
9759
11.2k
        } else {
9760
11.2k
          if (yych <= '\n') goto yy787;
9761
9.06k
          if (yych == '\r') goto yy787;
9762
546
          goto yy738;
9763
9.06k
        }
9764
126k
      } else {
9765
126k
        if (yych <= ')') {
9766
89.4k
          if (yych <= ' ') goto yy859;
9767
40.0k
          if (yych == '#') goto yy888;
9768
2.42k
          goto yy738;
9769
40.0k
        } else {
9770
37.3k
          if (yych <= '*') goto yy789;
9771
36.3k
          if (yych == '/') goto yy889;
9772
3.59k
          goto yy738;
9773
36.3k
        }
9774
126k
      }
9775
144k
    } else {
9776
128k
      if (yych <= '_') {
9777
12.6k
        if (yych <= 'H') {
9778
753
          if (yych == 'E') goto yy891;
9779
456
          goto yy890;
9780
11.8k
        } else {
9781
11.8k
          if (yych <= 'I') goto yy892;
9782
1.89k
          if (yych <= 'Z') goto yy890;
9783
1.26k
          if (yych <= '^') goto yy738;
9784
282
          goto yy890;
9785
1.26k
        }
9786
115k
      } else {
9787
115k
        if (yych <= 'h') {
9788
68.8k
          if (yych <= '`') goto yy738;
9789
68.1k
          if (yych == 'e') goto yy891;
9790
1.15k
          goto yy890;
9791
68.1k
        } else {
9792
46.9k
          if (yych <= 'i') goto yy892;
9793
16.6k
          if (yych <= 'z') goto yy890;
9794
8.37k
          if (yych <= 0x7F) goto yy738;
9795
2.38k
          goto yy890;
9796
8.37k
        }
9797
115k
      }
9798
128k
    }
9799
12.8k
yy861:
9800
12.8k
    YYDEBUG(861, *YYCURSOR);
9801
12.8k
    ++YYCURSOR;
9802
12.8k
    YYFILL(1);
9803
12.8k
    yych = *YYCURSOR;
9804
12.8k
    if (yych <= '*') {
9805
1.21k
      if (yych <= 0x00) goto yy86;
9806
896
      if (yych <= ')') goto yy590;
9807
247
      goto yy668;
9808
11.6k
    } else {
9809
11.6k
      if (yych == '/') goto yy787;
9810
433
      goto yy590;
9811
11.6k
    }
9812
5.58k
yy862:
9813
5.58k
    YYDEBUG(862, *YYCURSOR);
9814
5.58k
    ++YYCURSOR;
9815
5.58k
    YYFILL(1);
9816
5.58k
    yych = *YYCURSOR;
9817
5.58k
    if (yych <= 'S') {
9818
646
      if (yych <= 0x00) goto yy86;
9819
450
      if (yych == '*') goto yy668;
9820
256
      goto yy590;
9821
4.94k
    } else {
9822
4.94k
      if (yych <= 'T') goto yy893;
9823
4.18k
      if (yych == 't') goto yy893;
9824
255
      goto yy590;
9825
4.18k
    }
9826
8.65k
yy863:
9827
8.65k
    YYDEBUG(863, *YYCURSOR);
9828
8.65k
    ++YYCURSOR;
9829
8.65k
    YYFILL(1);
9830
8.65k
    yych = *YYCURSOR;
9831
8.65k
    if (yych <= 'O') {
9832
926
      if (yych <= 0x00) goto yy86;
9833
721
      if (yych == '*') goto yy668;
9834
522
      goto yy590;
9835
7.72k
    } else {
9836
7.72k
      if (yych <= 'P') goto yy894;
9837
5.07k
      if (yych == 'p') goto yy894;
9838
271
      goto yy590;
9839
5.07k
    }
9840
5.16k
yy864:
9841
5.16k
    YYDEBUG(864, *YYCURSOR);
9842
5.16k
    ++YYCURSOR;
9843
5.16k
    YYFILL(1);
9844
5.16k
    yych = *YYCURSOR;
9845
5.16k
    if (yych <= '\r') {
9846
1.41k
      if (yych <= '\t') {
9847
568
        if (yych <= 0x00) goto yy86;
9848
335
        goto yy586;
9849
848
      } else {
9850
848
        if (yych <= '\n') goto yy495;
9851
615
        if (yych <= '\f') goto yy586;
9852
383
        goto yy495;
9853
615
      }
9854
3.74k
    } else {
9855
3.74k
      if (yych <= 'D') {
9856
1.09k
        if (yych <= 'C') goto yy586;
9857
492
        goto yy895;
9858
2.65k
      } else {
9859
2.65k
        if (yych == 'd') goto yy895;
9860
994
        goto yy586;
9861
2.65k
      }
9862
3.74k
    }
9863
18.4k
yy865:
9864
18.4k
    YYDEBUG(865, *YYCURSOR);
9865
18.4k
    ++YYCURSOR;
9866
18.4k
    YYFILL(1);
9867
18.4k
    yych = *YYCURSOR;
9868
18.4k
    if (yych <= '\r') {
9869
2.28k
      if (yych <= '\t') {
9870
591
        if (yych <= 0x00) goto yy86;
9871
320
        goto yy586;
9872
1.69k
      } else {
9873
1.69k
        if (yych <= '\n') goto yy495;
9874
406
        if (yych <= '\f') goto yy586;
9875
206
        goto yy495;
9876
406
      }
9877
16.1k
    } else {
9878
16.1k
      if (yych <= 'M') {
9879
9.45k
        if (yych <= 'L') goto yy586;
9880
8.26k
        goto yy896;
9881
9.45k
      } else {
9882
6.69k
        if (yych == 'm') goto yy896;
9883
1.69k
        goto yy586;
9884
6.69k
      }
9885
16.1k
    }
9886
2.91k
yy866:
9887
2.91k
    YYDEBUG(866, *YYCURSOR);
9888
2.91k
    yyaccept = 4;
9889
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
9890
2.91k
    if (yych == 'E') goto yy897;
9891
2.23k
    if (yych == 'e') goto yy897;
9892
343
    goto yy48;
9893
34.1k
yy867:
9894
34.1k
    YYDEBUG(867, *YYCURSOR);
9895
34.1k
    yyaccept = 88;
9896
34.1k
    YYMARKER = ++YYCURSOR;
9897
34.1k
    YYFILL(1);
9898
34.1k
    yych = *YYCURSOR;
9899
34.1k
    YYDEBUG(868, *YYCURSOR);
9900
34.1k
    if (yych <= '\\') {
9901
9.85k
      if (yych <= '@') {
9902
5.51k
        if (yych <= '/') goto yy869;
9903
3.64k
        if (yych <= '9') goto yy867;
9904
4.33k
      } else {
9905
4.33k
        if (yych <= 'Z') goto yy867;
9906
1.71k
        if (yych >= '\\') goto yy840;
9907
1.71k
      }
9908
24.2k
    } else {
9909
24.2k
      if (yych <= '`') {
9910
1.09k
        if (yych == '_') goto yy867;
9911
23.1k
      } else {
9912
23.1k
        if (yych <= 'z') goto yy867;
9913
17.1k
        if (yych >= 0x80) goto yy867;
9914
17.1k
      }
9915
24.2k
    }
9916
5.08k
yy869:
9917
5.08k
    YYDEBUG(869, *YYCURSOR);
9918
5.08k
    yyleng = YYCURSOR - SCNG(yy_text);
9919
5.08k
#line 2438 "Zend/zend_language_scanner.l"
9920
5.08k
    {
9921
5.08k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9922
5.08k
}
9923
0
#line 9924 "Zend/zend_language_scanner.c"
9924
1.44k
yy870:
9925
1.44k
    YYDEBUG(870, *YYCURSOR);
9926
1.44k
    yych = *++YYCURSOR;
9927
1.44k
    if (yych == ')') goto yy899;
9928
486
    goto yy86;
9929
1.64k
yy871:
9930
1.64k
    YYDEBUG(871, *YYCURSOR);
9931
1.64k
    yych = *++YYCURSOR;
9932
1.64k
    if (yych == 'E') goto yy901;
9933
1.19k
    if (yych == 'e') goto yy901;
9934
364
    goto yy86;
9935
800
yy872:
9936
800
    YYDEBUG(872, *YYCURSOR);
9937
800
    ++YYCURSOR;
9938
800
    YYDEBUG(873, *YYCURSOR);
9939
800
    yyleng = YYCURSOR - SCNG(yy_text);
9940
800
#line 1785 "Zend/zend_language_scanner.l"
9941
800
    {
9942
800
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9943
800
}
9944
0
#line 9945 "Zend/zend_language_scanner.c"
9945
2.22k
yy874:
9946
2.22k
    YYDEBUG(874, *YYCURSOR);
9947
2.22k
    yyaccept = 4;
9948
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
9949
2.22k
    if (yych == 'E') goto yy902;
9950
1.91k
    if (yych == 'e') goto yy902;
9951
524
    goto yy48;
9952
3.32k
yy875:
9953
3.32k
    YYDEBUG(875, *YYCURSOR);
9954
3.32k
    ++YYCURSOR;
9955
18.9k
yy876:
9956
18.9k
    YYDEBUG(876, *YYCURSOR);
9957
18.9k
    yyleng = YYCURSOR - SCNG(yy_text);
9958
18.9k
#line 1427 "Zend/zend_language_scanner.l"
9959
18.9k
    {
9960
18.9k
  yyless(yyleng - 1);
9961
18.9k
  HANDLE_NEWLINES(yytext, yyleng);
9962
18.9k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9963
18.9k
}
9964
0
#line 9965 "Zend/zend_language_scanner.c"
9965
86.8k
yy877:
9966
86.8k
    YYDEBUG(877, *YYCURSOR);
9967
86.8k
    ++YYCURSOR;
9968
86.8k
    YYFILL(1);
9969
86.8k
    yych = *YYCURSOR;
9970
86.8k
    if (yych <= '\r') {
9971
75.9k
      if (yych <= '\t') {
9972
1.17k
        if (yych <= 0x00) goto yy86;
9973
736
        goto yy808;
9974
74.8k
      } else {
9975
74.8k
        if (yych <= '\n') goto yy904;
9976
35.1k
        if (yych <= '\f') goto yy808;
9977
34.9k
        goto yy904;
9978
35.1k
      }
9979
75.9k
    } else {
9980
10.8k
      if (yych <= '*') {
9981
4.31k
        if (yych <= ')') goto yy808;
9982
733
        goto yy848;
9983
6.55k
      } else {
9984
6.55k
        if (yych == '[') goto yy696;
9985
6.35k
        goto yy808;
9986
6.55k
      }
9987
10.8k
    }
9988
11.3k
yy878:
9989
11.3k
    YYDEBUG(878, *YYCURSOR);
9990
11.3k
    ++YYCURSOR;
9991
11.3k
    YYFILL(1);
9992
11.3k
    yych = *YYCURSOR;
9993
11.3k
    if (yych <= '*') {
9994
10.2k
      if (yych <= 0x00) goto yy86;
9995
9.97k
      if (yych <= ')') goto yy696;
9996
9.58k
      goto yy906;
9997
9.97k
    } else {
9998
1.11k
      if (yych == '/') goto yy808;
9999
591
      goto yy696;
10000
1.11k
    }
10001
9.31k
yy879:
10002
9.31k
    YYDEBUG(879, *YYCURSOR);
10003
9.31k
    ++YYCURSOR;
10004
9.31k
    YYFILL(1);
10005
9.31k
    yych = *YYCURSOR;
10006
9.31k
    if (yych <= 'Q') {
10007
1.09k
      if (yych <= 0x00) goto yy86;
10008
843
      if (yych == '*') goto yy760;
10009
634
      goto yy696;
10010
8.21k
    } else {
10011
8.21k
      if (yych <= 'R') goto yy907;
10012
1.11k
      if (yych == 'r') goto yy907;
10013
413
      goto yy696;
10014
1.11k
    }
10015
7.89k
yy880:
10016
7.89k
    YYDEBUG(880, *YYCURSOR);
10017
7.89k
    ++YYCURSOR;
10018
7.89k
    YYFILL(1);
10019
7.89k
    yych = *YYCURSOR;
10020
7.89k
    if (yych <= '9') {
10021
5.09k
      if (yych <= '\n') {
10022
2.59k
        if (yych <= 0x00) goto yy875;
10023
2.38k
        if (yych <= '\t') goto yy908;
10024
2.06k
        goto yy909;
10025
2.50k
      } else {
10026
2.50k
        if (yych == '\r') goto yy909;
10027
1.18k
        if (yych <= '/') goto yy908;
10028
203
        goto yy692;
10029
1.18k
      }
10030
5.09k
    } else {
10031
2.80k
      if (yych <= '_') {
10032
1.06k
        if (yych <= '@') goto yy908;
10033
784
        if (yych <= 'Z') goto yy692;
10034
451
        if (yych <= '^') goto yy908;
10035
207
        goto yy692;
10036
1.74k
      } else {
10037
1.74k
        if (yych <= '`') goto yy908;
10038
1.41k
        if (yych <= 'z') goto yy692;
10039
739
        if (yych <= 0x7F) goto yy908;
10040
367
        goto yy692;
10041
739
      }
10042
2.80k
    }
10043
5.26k
yy881:
10044
5.26k
    YYDEBUG(881, *YYCURSOR);
10045
5.26k
    yyaccept = 4;
10046
5.26k
    yych = *(YYMARKER = ++YYCURSOR);
10047
5.26k
    if (yych == '_') goto yy910;
10048
448
    goto yy48;
10049
3.24k
yy882:
10050
3.24k
    YYDEBUG(882, *YYCURSOR);
10051
3.24k
    yyaccept = 4;
10052
3.24k
    yych = *(YYMARKER = ++YYCURSOR);
10053
3.24k
    if (yych == 'I') goto yy912;
10054
2.72k
    if (yych == 'i') goto yy912;
10055
208
    goto yy48;
10056
3.59k
yy883:
10057
3.59k
    YYDEBUG(883, *YYCURSOR);
10058
3.59k
    yyaccept = 4;
10059
3.59k
    yych = *(YYMARKER = ++YYCURSOR);
10060
3.59k
    if (yych == '_') goto yy913;
10061
430
    goto yy48;
10062
3.42k
yy884:
10063
3.42k
    YYDEBUG(884, *YYCURSOR);
10064
3.42k
    yyaccept = 4;
10065
3.42k
    yych = *(YYMARKER = ++YYCURSOR);
10066
3.42k
    if (yych == '_') goto yy914;
10067
610
    goto yy48;
10068
610
yy885:
10069
457
    YYDEBUG(885, *YYCURSOR);
10070
457
    ++YYCURSOR;
10071
3.00k
yy886:
10072
3.00k
    YYDEBUG(886, *YYCURSOR);
10073
3.00k
    yyleng = YYCURSOR - SCNG(yy_text);
10074
3.00k
#line 1569 "Zend/zend_language_scanner.l"
10075
3.00k
    {
10076
3.00k
  yyless(4);
10077
3.00k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10078
3.00k
}
10079
0
#line 10080 "Zend/zend_language_scanner.c"
10080
1.15k
yy887:
10081
1.15k
    YYDEBUG(887, *YYCURSOR);
10082
1.15k
    yych = *++YYCURSOR;
10083
1.15k
    if (yych == 'N') goto yy916;
10084
715
    if (yych == 'n') goto yy916;
10085
290
    goto yy86;
10086
37.6k
yy888:
10087
37.6k
    YYDEBUG(888, *YYCURSOR);
10088
37.6k
    ++YYCURSOR;
10089
37.6k
    YYFILL(1);
10090
37.6k
    yych = *YYCURSOR;
10091
37.6k
    if (yych <= '\f') {
10092
22.3k
      if (yych <= 0x00) goto yy86;
10093
21.4k
      if (yych == '\n') goto yy859;
10094
392
      goto yy738;
10095
21.4k
    } else {
10096
15.2k
      if (yych <= '\r') goto yy859;
10097
11.5k
      if (yych == '*') goto yy789;
10098
11.2k
      goto yy738;
10099
11.5k
    }
10100
32.7k
yy889:
10101
32.7k
    YYDEBUG(889, *YYCURSOR);
10102
32.7k
    ++YYCURSOR;
10103
32.7k
    YYFILL(1);
10104
32.7k
    yych = *YYCURSOR;
10105
32.7k
    if (yych <= '\f') {
10106
1.09k
      if (yych <= 0x00) goto yy86;
10107
512
      if (yych == '\n') goto yy787;
10108
228
      goto yy738;
10109
31.6k
    } else {
10110
31.6k
      if (yych <= '\r') goto yy787;
10111
31.2k
      if (yych == '*') goto yy917;
10112
1.21k
      goto yy738;
10113
31.2k
    }
10114
13.1k
yy890:
10115
13.1k
    YYDEBUG(890, *YYCURSOR);
10116
13.1k
    yyaccept = 53;
10117
13.1k
    YYMARKER = ++YYCURSOR;
10118
13.1k
    YYFILL(1);
10119
13.1k
    yych = *YYCURSOR;
10120
13.1k
    if (yych <= '\f') {
10121
877
      if (yych <= 0x00) goto yy583;
10122
605
      if (yych == '\n') goto yy787;
10123
271
      goto yy738;
10124
12.2k
    } else {
10125
12.2k
      if (yych <= '\r') goto yy787;
10126
11.5k
      if (yych == '*') goto yy789;
10127
11.1k
      goto yy738;
10128
11.5k
    }
10129
67.2k
yy891:
10130
67.2k
    YYDEBUG(891, *YYCURSOR);
10131
67.2k
    yyaccept = 53;
10132
67.2k
    YYMARKER = ++YYCURSOR;
10133
67.2k
    YYFILL(1);
10134
67.2k
    yych = *YYCURSOR;
10135
67.2k
    if (yych <= ')') {
10136
4.35k
      if (yych <= '\n') {
10137
1.86k
        if (yych <= 0x00) goto yy583;
10138
1.63k
        if (yych <= '\t') goto yy738;
10139
332
        goto yy787;
10140
2.48k
      } else {
10141
2.48k
        if (yych == '\r') goto yy787;
10142
1.68k
        goto yy738;
10143
2.48k
      }
10144
62.8k
    } else {
10145
62.8k
      if (yych <= 'X') {
10146
4.96k
        if (yych <= '*') goto yy789;
10147
4.75k
        if (yych <= 'W') goto yy738;
10148
699
        goto yy918;
10149
57.9k
      } else {
10150
57.9k
        if (yych == 'x') goto yy918;
10151
46.2k
        goto yy738;
10152
57.9k
      }
10153
62.8k
    }
10154
40.2k
yy892:
10155
40.2k
    YYDEBUG(892, *YYCURSOR);
10156
40.2k
    yyaccept = 53;
10157
40.2k
    YYMARKER = ++YYCURSOR;
10158
40.2k
    YYFILL(1);
10159
40.2k
    yych = *YYCURSOR;
10160
40.2k
    if (yych <= ')') {
10161
2.18k
      if (yych <= '\n') {
10162
1.01k
        if (yych <= 0x00) goto yy583;
10163
740
        if (yych <= '\t') goto yy738;
10164
358
        goto yy787;
10165
1.17k
      } else {
10166
1.17k
        if (yych == '\r') goto yy787;
10167
935
        goto yy738;
10168
1.17k
      }
10169
38.1k
    } else {
10170
38.1k
      if (yych <= 'M') {
10171
9.38k
        if (yych <= '*') goto yy789;
10172
9.01k
        if (yych <= 'L') goto yy738;
10173
8.58k
        goto yy919;
10174
28.7k
      } else {
10175
28.7k
        if (yych == 'm') goto yy919;
10176
844
        goto yy738;
10177
28.7k
      }
10178
38.1k
    }
10179
4.68k
yy893:
10180
4.68k
    YYDEBUG(893, *YYCURSOR);
10181
4.68k
    ++YYCURSOR;
10182
4.68k
    YYFILL(1);
10183
4.68k
    yych = *YYCURSOR;
10184
4.68k
    if (yych <= 'D') {
10185
600
      if (yych <= 0x00) goto yy86;
10186
406
      if (yych == '*') goto yy668;
10187
204
      goto yy590;
10188
4.08k
    } else {
10189
4.08k
      if (yych <= 'E') goto yy920;
10190
3.82k
      if (yych == 'e') goto yy920;
10191
207
      goto yy590;
10192
3.82k
    }
10193
7.45k
yy894:
10194
7.45k
    YYDEBUG(894, *YYCURSOR);
10195
7.45k
    ++YYCURSOR;
10196
7.45k
    YYFILL(1);
10197
7.45k
    yych = *YYCURSOR;
10198
7.45k
    if (yych <= 'K') {
10199
1.40k
      if (yych <= 0x00) goto yy86;
10200
694
      if (yych == '*') goto yy668;
10201
493
      goto yy590;
10202
6.04k
    } else {
10203
6.04k
      if (yych <= 'L') goto yy921;
10204
3.91k
      if (yych == 'l') goto yy921;
10205
291
      goto yy590;
10206
3.91k
    }
10207
4.18k
yy895:
10208
4.18k
    YYDEBUG(895, *YYCURSOR);
10209
4.18k
    ++YYCURSOR;
10210
4.18k
    YYFILL(1);
10211
4.18k
    yych = *YYCURSOR;
10212
4.18k
    if (yych <= '\r') {
10213
1.23k
      if (yych <= '\t') {
10214
626
        if (yych <= 0x00) goto yy86;
10215
330
        goto yy586;
10216
626
      } else {
10217
607
        if (yych <= '\n') goto yy495;
10218
409
        if (yych <= '\f') goto yy586;
10219
206
        goto yy495;
10220
409
      }
10221
2.94k
    } else {
10222
2.94k
      if (yych <= 'S') {
10223
1.41k
        if (yych <= 'R') goto yy586;
10224
787
        goto yy922;
10225
1.52k
      } else {
10226
1.52k
        if (yych == 's') goto yy922;
10227
320
        goto yy586;
10228
1.52k
      }
10229
2.94k
    }
10230
13.2k
yy896:
10231
13.2k
    YYDEBUG(896, *YYCURSOR);
10232
13.2k
    ++YYCURSOR;
10233
13.2k
    YYFILL(1);
10234
13.2k
    yych = *YYCURSOR;
10235
13.2k
    if (yych <= '\r') {
10236
1.48k
      if (yych <= '\t') {
10237
522
        if (yych <= 0x00) goto yy86;
10238
217
        goto yy586;
10239
964
      } else {
10240
964
        if (yych <= '\n') goto yy495;
10241
535
        if (yych <= '\f') goto yy586;
10242
312
        goto yy495;
10243
535
      }
10244
11.7k
    } else {
10245
11.7k
      if (yych <= 'E') {
10246
2.31k
        if (yych <= 'D') goto yy586;
10247
1.93k
        goto yy923;
10248
9.45k
      } else {
10249
9.45k
        if (yych == 'e') goto yy923;
10250
746
        goto yy586;
10251
9.45k
      }
10252
11.7k
    }
10253
2.56k
yy897:
10254
2.56k
    YYDEBUG(897, *YYCURSOR);
10255
2.56k
    yyaccept = 89;
10256
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
10257
2.56k
    if (yybm[256+yych] & 128) {
10258
390
      goto yy47;
10259
390
    }
10260
2.17k
    if (yych == '\\') goto yy164;
10261
2.16k
yy898:
10262
2.16k
    YYDEBUG(898, *YYCURSOR);
10263
2.16k
    yyleng = YYCURSOR - SCNG(yy_text);
10264
2.16k
#line 1725 "Zend/zend_language_scanner.l"
10265
2.16k
    {
10266
2.16k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10267
2.16k
}
10268
0
#line 10269 "Zend/zend_language_scanner.c"
10269
955
yy899:
10270
955
    YYDEBUG(899, *YYCURSOR);
10271
955
    ++YYCURSOR;
10272
955
    YYDEBUG(900, *YYCURSOR);
10273
955
    yyleng = YYCURSOR - SCNG(yy_text);
10274
955
#line 1793 "Zend/zend_language_scanner.l"
10275
955
    {
10276
955
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10277
955
}
10278
0
#line 10279 "Zend/zend_language_scanner.c"
10279
1.27k
yy901:
10280
1.27k
    YYDEBUG(901, *YYCURSOR);
10281
1.27k
    yych = *++YYCURSOR;
10282
1.27k
    if (yych == 'T') goto yy924;
10283
857
    if (yych == 't') goto yy924;
10284
412
    goto yy86;
10285
1.70k
yy902:
10286
1.70k
    YYDEBUG(902, *YYCURSOR);
10287
1.70k
    yyaccept = 90;
10288
1.70k
    yych = *(YYMARKER = ++YYCURSOR);
10289
1.70k
    if (yybm[256+yych] & 128) {
10290
291
      goto yy47;
10291
291
    }
10292
1.41k
    if (yych == '\\') goto yy164;
10293
1.41k
yy903:
10294
1.41k
    YYDEBUG(903, *YYCURSOR);
10295
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
10296
1.41k
#line 1733 "Zend/zend_language_scanner.l"
10297
1.41k
    {
10298
1.41k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10299
1.41k
}
10300
0
#line 10301 "Zend/zend_language_scanner.c"
10301
108k
yy904:
10302
108k
    YYDEBUG(904, *YYCURSOR);
10303
108k
    ++YYCURSOR;
10304
108k
    YYFILL(1);
10305
108k
    yych = *YYCURSOR;
10306
108k
    YYDEBUG(905, *YYCURSOR);
10307
108k
    if (yych <= '"') {
10308
23.3k
      if (yych <= '\n') {
10309
5.52k
        if (yych <= 0x00) goto yy86;
10310
5.16k
        if (yych <= 0x08) goto yy808;
10311
4.47k
        if (yych <= '\t') goto yy904;
10312
2.92k
        goto yy846;
10313
17.8k
      } else {
10314
17.8k
        if (yych <= '\r') {
10315
5.08k
          if (yych <= '\f') goto yy808;
10316
4.85k
          goto yy846;
10317
12.7k
        } else {
10318
12.7k
          if (yych == ' ') goto yy904;
10319
773
          goto yy808;
10320
12.7k
        }
10321
17.8k
      }
10322
85.1k
    } else {
10323
85.1k
      if (yych <= '/') {
10324
36.9k
        if (yych <= ')') {
10325
17.5k
          if (yych <= '#') goto yy925;
10326
1.47k
          goto yy808;
10327
19.3k
        } else {
10328
19.3k
          if (yych <= '*') goto yy848;
10329
18.7k
          if (yych <= '.') goto yy808;
10330
17.7k
          goto yy926;
10331
18.7k
        }
10332
48.2k
      } else {
10333
48.2k
        if (yych <= 'F') {
10334
21.9k
          if (yych <= 'E') goto yy808;
10335
20.0k
          goto yy927;
10336
26.3k
        } else {
10337
26.3k
          if (yych == 'f') goto yy927;
10338
24.0k
          goto yy808;
10339
26.3k
        }
10340
48.2k
      }
10341
85.1k
    }
10342
9.58k
yy906:
10343
9.58k
    YYDEBUG(906, *YYCURSOR);
10344
9.58k
    ++YYCURSOR;
10345
9.58k
    YYFILL(1);
10346
9.58k
    yych = *YYCURSOR;
10347
9.58k
    if (yych <= '*') {
10348
1.14k
      if (yych <= 0x00) goto yy86;
10349
826
      if (yych <= ')') goto yy696;
10350
202
      goto yy760;
10351
8.44k
    } else {
10352
8.44k
      if (yych == '/') goto yy846;
10353
493
      goto yy696;
10354
8.44k
    }
10355
7.80k
yy907:
10356
7.80k
    YYDEBUG(907, *YYCURSOR);
10357
7.80k
    ++YYCURSOR;
10358
7.80k
    YYFILL(1);
10359
7.80k
    yych = *YYCURSOR;
10360
7.80k
    if (yych <= 'N') {
10361
769
      if (yych <= 0x00) goto yy86;
10362
497
      if (yych == '*') goto yy760;
10363
284
      goto yy696;
10364
7.03k
    } else {
10365
7.03k
      if (yych <= 'O') goto yy928;
10366
1.61k
      if (yych == 'o') goto yy928;
10367
480
      goto yy696;
10368
1.61k
    }
10369
2.51k
yy908:
10370
2.51k
    YYDEBUG(908, *YYCURSOR);
10371
2.51k
    yyaccept = 91;
10372
2.51k
    YYMARKER = ++YYCURSOR;
10373
2.51k
    YYFILL(1);
10374
2.51k
    yych = *YYCURSOR;
10375
2.51k
    if (yych <= '\n') {
10376
877
      if (yych <= 0x00) goto yy876;
10377
623
      if (yych <= '\t') goto yy692;
10378
375
      goto yy616;
10379
1.64k
    } else {
10380
1.64k
      if (yych == '\r') goto yy616;
10381
1.33k
      goto yy692;
10382
1.64k
    }
10383
3.38k
yy909:
10384
3.38k
    YYDEBUG(909, *YYCURSOR);
10385
3.38k
    yyaccept = 91;
10386
3.38k
    YYMARKER = ++YYCURSOR;
10387
3.38k
    YYFILL(5);
10388
3.38k
    yych = *YYCURSOR;
10389
3.38k
    if (yych <= '"') {
10390
1.64k
      if (yych <= '\f') {
10391
693
        if (yych <= 0x08) goto yy876;
10392
439
        if (yych <= '\n') goto yy616;
10393
211
        goto yy876;
10394
947
      } else {
10395
947
        if (yych <= '\r') goto yy616;
10396
615
        if (yych == ' ') goto yy616;
10397
215
        goto yy876;
10398
615
      }
10399
1.74k
    } else {
10400
1.74k
      if (yych <= 'E') {
10401
912
        if (yych <= '#') goto yy618;
10402
447
        if (yych == '/') goto yy619;
10403
247
        goto yy876;
10404
829
      } else {
10405
829
        if (yych <= 'F') goto yy691;
10406
629
        if (yych == 'f') goto yy691;
10407
402
        goto yy876;
10408
629
      }
10409
1.74k
    }
10410
4.81k
yy910:
10411
4.81k
    YYDEBUG(910, *YYCURSOR);
10412
4.81k
    yyaccept = 92;
10413
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
10414
4.81k
    if (yybm[256+yych] & 128) {
10415
535
      goto yy47;
10416
535
    }
10417
4.27k
    if (yych == '\\') goto yy164;
10418
4.25k
yy911:
10419
4.25k
    YYDEBUG(911, *YYCURSOR);
10420
4.25k
    yyleng = YYCURSOR - SCNG(yy_text);
10421
4.25k
#line 2260 "Zend/zend_language_scanner.l"
10422
4.25k
    {
10423
4.25k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10424
4.25k
}
10425
0
#line 10426 "Zend/zend_language_scanner.c"
10426
3.04k
yy912:
10427
3.04k
    YYDEBUG(912, *YYCURSOR);
10428
3.04k
    yyaccept = 4;
10429
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
10430
3.04k
    if (yych == 'L') goto yy929;
10431
2.70k
    if (yych == 'l') goto yy929;
10432
481
    goto yy48;
10433
3.16k
yy913:
10434
3.16k
    YYDEBUG(913, *YYCURSOR);
10435
3.16k
    yyaccept = 4;
10436
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
10437
3.16k
    if (yych == '_') goto yy930;
10438
497
    goto yy48;
10439
2.81k
yy914:
10440
2.81k
    YYDEBUG(914, *YYCURSOR);
10441
2.81k
    yyaccept = 93;
10442
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
10443
2.81k
    if (yybm[256+yych] & 128) {
10444
224
      goto yy47;
10445
224
    }
10446
2.58k
    if (yych == '\\') goto yy164;
10447
2.58k
yy915:
10448
2.58k
    YYDEBUG(915, *YYCURSOR);
10449
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
10450
2.58k
#line 2264 "Zend/zend_language_scanner.l"
10451
2.58k
    {
10452
2.58k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10453
2.58k
}
10454
0
#line 10455 "Zend/zend_language_scanner.c"
10455
865
yy916:
10456
865
    YYDEBUG(916, *YYCURSOR);
10457
865
    yych = *++YYCURSOR;
10458
865
    if (yych == 'T') goto yy857;
10459
647
    if (yych == 't') goto yy857;
10460
390
    goto yy86;
10461
30.0k
yy917:
10462
30.0k
    YYDEBUG(917, *YYCURSOR);
10463
30.0k
    ++YYCURSOR;
10464
30.0k
    YYFILL(1);
10465
30.0k
    yych = *YYCURSOR;
10466
30.0k
    if (yych <= '\r') {
10467
2.07k
      if (yych <= '\t') {
10468
831
        if (yych <= 0x00) goto yy86;
10469
246
        goto yy738;
10470
1.24k
      } else {
10471
1.24k
        if (yych <= '\n') goto yy787;
10472
762
        if (yych <= '\f') goto yy738;
10473
559
        goto yy787;
10474
762
      }
10475
27.9k
    } else {
10476
27.9k
      if (yych <= '*') {
10477
1.28k
        if (yych <= ')') goto yy738;
10478
634
        goto yy789;
10479
26.6k
      } else {
10480
26.6k
        if (yych == '/') goto yy859;
10481
1.09k
        goto yy738;
10482
26.6k
      }
10483
27.9k
    }
10484
12.3k
yy918:
10485
12.3k
    YYDEBUG(918, *YYCURSOR);
10486
12.3k
    ++YYCURSOR;
10487
12.3k
    YYFILL(1);
10488
12.3k
    yych = *YYCURSOR;
10489
12.3k
    if (yych <= ')') {
10490
1.66k
      if (yych <= '\n') {
10491
974
        if (yych <= 0x00) goto yy86;
10492
587
        if (yych <= '\t') goto yy738;
10493
263
        goto yy787;
10494
690
      } else {
10495
690
        if (yych == '\r') goto yy787;
10496
455
        goto yy738;
10497
690
      }
10498
10.6k
    } else {
10499
10.6k
      if (yych <= 'T') {
10500
2.12k
        if (yych <= '*') goto yy789;
10501
1.92k
        if (yych <= 'S') goto yy738;
10502
1.06k
        goto yy932;
10503
8.57k
      } else {
10504
8.57k
        if (yych == 't') goto yy932;
10505
736
        goto yy738;
10506
8.57k
      }
10507
10.6k
    }
10508
36.4k
yy919:
10509
36.4k
    YYDEBUG(919, *YYCURSOR);
10510
36.4k
    ++YYCURSOR;
10511
36.4k
    YYFILL(1);
10512
36.4k
    yych = *YYCURSOR;
10513
36.4k
    if (yych <= ')') {
10514
1.25k
      if (yych <= '\n') {
10515
756
        if (yych <= 0x00) goto yy86;
10516
525
        if (yych <= '\t') goto yy738;
10517
325
        goto yy787;
10518
525
      } else {
10519
498
        if (yych == '\r') goto yy787;
10520
215
        goto yy738;
10521
498
      }
10522
35.2k
    } else {
10523
35.2k
      if (yych <= 'P') {
10524
17.8k
        if (yych <= '*') goto yy789;
10525
17.6k
        if (yych <= 'O') goto yy738;
10526
7.29k
        goto yy933;
10527
17.6k
      } else {
10528
17.3k
        if (yych == 'p') goto yy933;
10529
901
        goto yy738;
10530
17.3k
      }
10531
35.2k
    }
10532
3.87k
yy920:
10533
3.87k
    YYDEBUG(920, *YYCURSOR);
10534
3.87k
    ++YYCURSOR;
10535
3.87k
    YYFILL(1);
10536
3.87k
    yych = *YYCURSOR;
10537
3.87k
    if (yych <= 'M') {
10538
846
      if (yych <= 0x00) goto yy86;
10539
645
      if (yych == '*') goto yy668;
10540
424
      goto yy590;
10541
3.03k
    } else {
10542
3.03k
      if (yych <= 'N') goto yy934;
10543
2.64k
      if (yych == 'n') goto yy934;
10544
516
      goto yy590;
10545
2.64k
    }
10546
5.75k
yy921:
10547
5.75k
    YYDEBUG(921, *YYCURSOR);
10548
5.75k
    ++YYCURSOR;
10549
5.75k
    YYFILL(1);
10550
5.75k
    yych = *YYCURSOR;
10551
5.75k
    if (yych <= 'D') {
10552
670
      if (yych <= 0x00) goto yy86;
10553
466
      if (yych == '*') goto yy668;
10554
240
      goto yy590;
10555
5.08k
    } else {
10556
5.08k
      if (yych <= 'E') goto yy935;
10557
3.39k
      if (yych == 'e') goto yy935;
10558
278
      goto yy590;
10559
3.39k
    }
10560
1.99k
yy922:
10561
1.99k
    YYDEBUG(922, *YYCURSOR);
10562
1.99k
    yyaccept = 94;
10563
1.99k
    YYMARKER = ++YYCURSOR;
10564
1.99k
    YYFILL(1);
10565
1.99k
    yych = *YYCURSOR;
10566
1.99k
    if (yych <= '\n') {
10567
629
      if (yych <= 0x00) goto yy886;
10568
402
      if (yych <= '\t') goto yy586;
10569
202
      goto yy495;
10570
1.36k
    } else {
10571
1.36k
      if (yych == '\r') goto yy495;
10572
920
      goto yy586;
10573
1.36k
    }
10574
10.6k
yy923:
10575
10.6k
    YYDEBUG(923, *YYCURSOR);
10576
10.6k
    ++YYCURSOR;
10577
10.6k
    YYFILL(1);
10578
10.6k
    yych = *YYCURSOR;
10579
10.6k
    if (yych <= '\r') {
10580
6.15k
      if (yych <= '\t') {
10581
5.55k
        if (yych <= 0x00) goto yy86;
10582
4.57k
        goto yy586;
10583
5.55k
      } else {
10584
606
        if (yych <= '\n') goto yy495;
10585
396
        if (yych <= '\f') goto yy586;
10586
198
        goto yy495;
10587
396
      }
10588
6.15k
    } else {
10589
4.48k
      if (yych <= 'N') {
10590
1.78k
        if (yych <= 'M') goto yy586;
10591
1.50k
        goto yy936;
10592
2.70k
      } else {
10593
2.70k
        if (yych == 'n') goto yy936;
10594
676
        goto yy586;
10595
2.70k
      }
10596
4.48k
    }
10597
865
yy924:
10598
865
    YYDEBUG(924, *YYCURSOR);
10599
865
    yych = *++YYCURSOR;
10600
865
    if (yych == ')') goto yy937;
10601
426
    goto yy86;
10602
16.0k
yy925:
10603
16.0k
    YYDEBUG(925, *YYCURSOR);
10604
16.0k
    ++YYCURSOR;
10605
16.0k
    YYFILL(1);
10606
16.0k
    yych = *YYCURSOR;
10607
16.0k
    if (yych <= '\f') {
10608
8.55k
      if (yych <= 0x00) goto yy86;
10609
8.34k
      if (yych == '\n') goto yy904;
10610
208
      goto yy808;
10611
8.34k
    } else {
10612
7.48k
      if (yych <= '\r') goto yy904;
10613
5.91k
      if (yych == '*') goto yy848;
10614
5.64k
      goto yy808;
10615
5.91k
    }
10616
17.7k
yy926:
10617
17.7k
    YYDEBUG(926, *YYCURSOR);
10618
17.7k
    ++YYCURSOR;
10619
17.7k
    YYFILL(1);
10620
17.7k
    yych = *YYCURSOR;
10621
17.7k
    if (yych <= '\f') {
10622
814
      if (yych <= 0x00) goto yy86;
10623
583
      if (yych == '\n') goto yy846;
10624
206
      goto yy808;
10625
16.9k
    } else {
10626
16.9k
      if (yych <= '\r') goto yy846;
10627
16.5k
      if (yych == '*') goto yy939;
10628
1.01k
      goto yy808;
10629
16.5k
    }
10630
22.2k
yy927:
10631
22.2k
    YYDEBUG(927, *YYCURSOR);
10632
22.2k
    ++YYCURSOR;
10633
22.2k
    YYFILL(1);
10634
22.2k
    yych = *YYCURSOR;
10635
22.2k
    if (yych <= ')') {
10636
1.96k
      if (yych <= '\n') {
10637
789
        if (yych <= 0x00) goto yy86;
10638
489
        if (yych <= '\t') goto yy808;
10639
217
        goto yy846;
10640
1.17k
      } else {
10641
1.17k
        if (yych == '\r') goto yy846;
10642
809
        goto yy808;
10643
1.17k
      }
10644
20.2k
    } else {
10645
20.2k
      if (yych <= 'R') {
10646
15.9k
        if (yych <= '*') goto yy848;
10647
15.7k
        if (yych <= 'Q') goto yy808;
10648
15.0k
        goto yy940;
10649
15.7k
      } else {
10650
4.31k
        if (yych == 'r') goto yy940;
10651
825
        goto yy808;
10652
4.31k
      }
10653
20.2k
    }
10654
6.55k
yy928:
10655
6.55k
    YYDEBUG(928, *YYCURSOR);
10656
6.55k
    ++YYCURSOR;
10657
6.55k
    YYFILL(1);
10658
6.55k
    yych = *YYCURSOR;
10659
6.55k
    if (yych <= 'L') {
10660
813
      if (yych <= 0x00) goto yy86;
10661
611
      if (yych == '*') goto yy760;
10662
387
      goto yy696;
10663
5.74k
    } else {
10664
5.74k
      if (yych <= 'M') goto yy941;
10665
1.32k
      if (yych == 'm') goto yy941;
10666
202
      goto yy696;
10667
1.32k
    }
10668
2.56k
yy929:
10669
2.56k
    YYDEBUG(929, *YYCURSOR);
10670
2.56k
    yyaccept = 4;
10671
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
10672
2.56k
    if (yych == 'E') goto yy942;
10673
2.21k
    if (yych == 'e') goto yy942;
10674
887
    goto yy48;
10675
2.66k
yy930:
10676
2.66k
    YYDEBUG(930, *YYCURSOR);
10677
2.66k
    yyaccept = 95;
10678
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
10679
2.66k
    if (yybm[256+yych] & 128) {
10680
261
      goto yy47;
10681
261
    }
10682
2.40k
    if (yych == '\\') goto yy164;
10683
2.23k
yy931:
10684
2.23k
    YYDEBUG(931, *YYCURSOR);
10685
2.23k
    yyleng = YYCURSOR - SCNG(yy_text);
10686
2.23k
#line 2284 "Zend/zend_language_scanner.l"
10687
2.23k
    {
10688
2.23k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10689
2.23k
}
10690
0
#line 10691 "Zend/zend_language_scanner.c"
10691
8.90k
yy932:
10692
8.90k
    YYDEBUG(932, *YYCURSOR);
10693
8.90k
    ++YYCURSOR;
10694
8.90k
    YYFILL(1);
10695
8.90k
    yych = *YYCURSOR;
10696
8.90k
    if (yych <= ')') {
10697
1.93k
      if (yych <= '\n') {
10698
917
        if (yych <= 0x00) goto yy86;
10699
712
        if (yych <= '\t') goto yy738;
10700
373
        goto yy787;
10701
1.02k
      } else {
10702
1.02k
        if (yych == '\r') goto yy787;
10703
218
        goto yy738;
10704
1.02k
      }
10705
6.96k
    } else {
10706
6.96k
      if (yych <= 'E') {
10707
1.13k
        if (yych <= '*') goto yy789;
10708
937
        if (yych <= 'D') goto yy738;
10709
715
        goto yy943;
10710
5.83k
      } else {
10711
5.83k
        if (yych == 'e') goto yy943;
10712
488
        goto yy738;
10713
5.83k
      }
10714
6.96k
    }
10715
23.7k
yy933:
10716
23.7k
    YYDEBUG(933, *YYCURSOR);
10717
23.7k
    ++YYCURSOR;
10718
23.7k
    YYFILL(1);
10719
23.7k
    yych = *YYCURSOR;
10720
23.7k
    if (yych <= ')') {
10721
1.28k
      if (yych <= '\n') {
10722
797
        if (yych <= 0x00) goto yy86;
10723
445
        if (yych <= '\t') goto yy738;
10724
204
        goto yy787;
10725
491
      } else {
10726
491
        if (yych == '\r') goto yy787;
10727
277
        goto yy738;
10728
491
      }
10729
22.4k
    } else {
10730
22.4k
      if (yych <= 'L') {
10731
6.32k
        if (yych <= '*') goto yy789;
10732
6.11k
        if (yych <= 'K') goto yy738;
10733
5.88k
        goto yy944;
10734
16.1k
      } else {
10735
16.1k
        if (yych == 'l') goto yy944;
10736
473
        goto yy738;
10737
16.1k
      }
10738
22.4k
    }
10739
2.51k
yy934:
10740
2.51k
    YYDEBUG(934, *YYCURSOR);
10741
2.51k
    ++YYCURSOR;
10742
2.51k
    YYFILL(1);
10743
2.51k
    yych = *YYCURSOR;
10744
2.51k
    if (yych <= 'C') {
10745
744
      if (yych <= 0x00) goto yy86;
10746
523
      if (yych == '*') goto yy668;
10747
291
      goto yy590;
10748
1.77k
    } else {
10749
1.77k
      if (yych <= 'D') goto yy945;
10750
1.57k
      if (yych == 'd') goto yy945;
10751
323
      goto yy590;
10752
1.57k
    }
10753
4.80k
yy935:
10754
4.80k
    YYDEBUG(935, *YYCURSOR);
10755
4.80k
    ++YYCURSOR;
10756
4.80k
    YYFILL(1);
10757
4.80k
    yych = *YYCURSOR;
10758
4.80k
    if (yych <= 'L') {
10759
954
      if (yych <= 0x00) goto yy86;
10760
752
      if (yych == '*') goto yy668;
10761
554
      goto yy590;
10762
3.85k
    } else {
10763
3.85k
      if (yych <= 'M') goto yy946;
10764
2.40k
      if (yych == 'm') goto yy946;
10765
200
      goto yy590;
10766
2.40k
    }
10767
3.52k
yy936:
10768
3.52k
    YYDEBUG(936, *YYCURSOR);
10769
3.52k
    ++YYCURSOR;
10770
3.52k
    YYFILL(1);
10771
3.52k
    yych = *YYCURSOR;
10772
3.52k
    if (yych <= '\r') {
10773
1.02k
      if (yych <= '\t') {
10774
414
        if (yych <= 0x00) goto yy86;
10775
208
        goto yy586;
10776
606
      } else {
10777
606
        if (yych <= '\n') goto yy495;
10778
402
        if (yych <= '\f') goto yy586;
10779
203
        goto yy495;
10780
402
      }
10781
2.50k
    } else {
10782
2.50k
      if (yych <= 'T') {
10783
1.21k
        if (yych <= 'S') goto yy586;
10784
939
        goto yy895;
10785
1.29k
      } else {
10786
1.29k
        if (yych == 't') goto yy895;
10787
203
        goto yy586;
10788
1.29k
      }
10789
2.50k
    }
10790
439
yy937:
10791
439
    YYDEBUG(937, *YYCURSOR);
10792
439
    ++YYCURSOR;
10793
439
    YYDEBUG(938, *YYCURSOR);
10794
439
    yyleng = YYCURSOR - SCNG(yy_text);
10795
439
#line 1789 "Zend/zend_language_scanner.l"
10796
439
    {
10797
439
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10798
439
}
10799
0
#line 10800 "Zend/zend_language_scanner.c"
10800
15.5k
yy939:
10801
15.5k
    YYDEBUG(939, *YYCURSOR);
10802
15.5k
    ++YYCURSOR;
10803
15.5k
    YYFILL(1);
10804
15.5k
    yych = *YYCURSOR;
10805
15.5k
    if (yych <= '\r') {
10806
3.00k
      if (yych <= '\t') {
10807
1.55k
        if (yych <= 0x00) goto yy86;
10808
1.23k
        goto yy808;
10809
1.55k
      } else {
10810
1.45k
        if (yych <= '\n') goto yy846;
10811
429
        if (yych <= '\f') goto yy808;
10812
212
        goto yy846;
10813
429
      }
10814
12.5k
    } else {
10815
12.5k
      if (yych <= '*') {
10816
742
        if (yych <= ')') goto yy808;
10817
286
        goto yy848;
10818
11.8k
      } else {
10819
11.8k
        if (yych == '/') goto yy904;
10820
1.11k
        goto yy808;
10821
11.8k
      }
10822
12.5k
    }
10823
18.5k
yy940:
10824
18.5k
    YYDEBUG(940, *YYCURSOR);
10825
18.5k
    ++YYCURSOR;
10826
18.5k
    YYFILL(1);
10827
18.5k
    yych = *YYCURSOR;
10828
18.5k
    if (yych <= ')') {
10829
1.86k
      if (yych <= '\n') {
10830
1.32k
        if (yych <= 0x00) goto yy86;
10831
1.11k
        if (yych <= '\t') goto yy808;
10832
636
        goto yy846;
10833
1.11k
      } else {
10834
536
        if (yych == '\r') goto yy846;
10835
322
        goto yy808;
10836
536
      }
10837
16.6k
    } else {
10838
16.6k
      if (yych <= 'O') {
10839
13.0k
        if (yych <= '*') goto yy848;
10840
12.6k
        if (yych <= 'N') goto yy808;
10841
12.1k
        goto yy947;
10842
12.6k
      } else {
10843
3.61k
        if (yych == 'o') goto yy947;
10844
549
        goto yy808;
10845
3.61k
      }
10846
16.6k
    }
10847
5.54k
yy941:
10848
5.54k
    YYDEBUG(941, *YYCURSOR);
10849
5.54k
    ++YYCURSOR;
10850
5.54k
    YYFILL(1);
10851
5.54k
    yych = *YYCURSOR;
10852
5.54k
    if (yych <= '@') {
10853
3.96k
      if (yych <= '*') {
10854
3.20k
        if (yych <= 0x00) goto yy875;
10855
3.00k
        if (yych <= ')') goto yy948;
10856
1.45k
        goto yy949;
10857
3.00k
      } else {
10858
766
        if (yych <= '/') goto yy948;
10859
502
        if (yych <= '9') goto yy696;
10860
264
        goto yy948;
10861
502
      }
10862
3.96k
    } else {
10863
1.57k
      if (yych <= '_') {
10864
627
        if (yych <= 'Z') goto yy696;
10865
423
        if (yych <= '^') goto yy948;
10866
204
        goto yy696;
10867
945
      } else {
10868
945
        if (yych <= '`') goto yy948;
10869
732
        if (yych <= 'z') goto yy696;
10870
483
        if (yych <= 0x7F) goto yy948;
10871
212
        goto yy696;
10872
483
      }
10873
1.57k
    }
10874
1.67k
yy942:
10875
1.67k
    YYDEBUG(942, *YYCURSOR);
10876
1.67k
    yyaccept = 4;
10877
1.67k
    yych = *(YYMARKER = ++YYCURSOR);
10878
1.67k
    if (yych == 'R') goto yy950;
10879
1.33k
    if (yych == 'r') goto yy950;
10880
232
    goto yy48;
10881
6.06k
yy943:
10882
6.06k
    YYDEBUG(943, *YYCURSOR);
10883
6.06k
    ++YYCURSOR;
10884
6.06k
    YYFILL(1);
10885
6.06k
    yych = *YYCURSOR;
10886
6.06k
    if (yych <= ')') {
10887
1.07k
      if (yych <= '\n') {
10888
591
        if (yych <= 0x00) goto yy86;
10889
395
        if (yych <= '\t') goto yy738;
10890
198
        goto yy787;
10891
485
      } else {
10892
485
        if (yych == '\r') goto yy787;
10893
224
        goto yy738;
10894
485
      }
10895
4.98k
    } else {
10896
4.98k
      if (yych <= 'N') {
10897
1.03k
        if (yych <= '*') goto yy789;
10898
805
        if (yych <= 'M') goto yy738;
10899
567
        goto yy952;
10900
3.95k
      } else {
10901
3.95k
        if (yych == 'n') goto yy952;
10902
213
        goto yy738;
10903
3.95k
      }
10904
4.98k
    }
10905
21.5k
yy944:
10906
21.5k
    YYDEBUG(944, *YYCURSOR);
10907
21.5k
    ++YYCURSOR;
10908
21.5k
    YYFILL(1);
10909
21.5k
    yych = *YYCURSOR;
10910
21.5k
    if (yych <= ')') {
10911
1.55k
      if (yych <= '\n') {
10912
908
        if (yych <= 0x00) goto yy86;
10913
485
        if (yych <= '\t') goto yy738;
10914
251
        goto yy787;
10915
642
      } else {
10916
642
        if (yych == '\r') goto yy787;
10917
330
        goto yy738;
10918
642
      }
10919
20.0k
    } else {
10920
20.0k
      if (yych <= 'E') {
10921
5.01k
        if (yych <= '*') goto yy789;
10922
4.79k
        if (yych <= 'D') goto yy738;
10923
4.53k
        goto yy953;
10924
14.9k
      } else {
10925
14.9k
        if (yych == 'e') goto yy953;
10926
538
        goto yy738;
10927
14.9k
      }
10928
20.0k
    }
10929
1.96k
yy945:
10930
1.96k
    YYDEBUG(945, *YYCURSOR);
10931
1.96k
    ++YYCURSOR;
10932
1.96k
    YYFILL(1);
10933
1.96k
    yych = *YYCURSOR;
10934
1.96k
    if (yych <= 'R') {
10935
776
      if (yych <= 0x00) goto yy86;
10936
562
      if (yych == '*') goto yy668;
10937
360
      goto yy590;
10938
1.18k
    } else {
10939
1.18k
      if (yych <= 'S') goto yy954;
10940
771
      if (yych == 's') goto yy954;
10941
217
      goto yy590;
10942
771
    }
10943
3.65k
yy946:
10944
3.65k
    YYDEBUG(946, *YYCURSOR);
10945
3.65k
    ++YYCURSOR;
10946
3.65k
    YYFILL(1);
10947
3.65k
    yych = *YYCURSOR;
10948
3.65k
    if (yych <= 'D') {
10949
627
      if (yych <= 0x00) goto yy86;
10950
422
      if (yych == '*') goto yy668;
10951
205
      goto yy590;
10952
3.02k
    } else {
10953
3.02k
      if (yych <= 'E') goto yy955;
10954
2.26k
      if (yych == 'e') goto yy955;
10955
297
      goto yy590;
10956
2.26k
    }
10957
15.2k
yy947:
10958
15.2k
    YYDEBUG(947, *YYCURSOR);
10959
15.2k
    ++YYCURSOR;
10960
15.2k
    YYFILL(1);
10961
15.2k
    yych = *YYCURSOR;
10962
15.2k
    if (yych <= ')') {
10963
2.05k
      if (yych <= '\n') {
10964
1.16k
        if (yych <= 0x00) goto yy86;
10965
956
        if (yych <= '\t') goto yy808;
10966
758
        goto yy846;
10967
956
      } else {
10968
890
        if (yych == '\r') goto yy846;
10969
472
        goto yy808;
10970
890
      }
10971
13.1k
    } else {
10972
13.1k
      if (yych <= 'M') {
10973
10.1k
        if (yych <= '*') goto yy848;
10974
9.90k
        if (yych <= 'L') goto yy808;
10975
9.57k
        goto yy956;
10976
9.90k
      } else {
10977
3.07k
        if (yych == 'm') goto yy956;
10978
369
        goto yy808;
10979
3.07k
      }
10980
13.1k
    }
10981
2.78k
yy948:
10982
2.78k
    YYDEBUG(948, *YYCURSOR);
10983
2.78k
    yyaccept = 91;
10984
2.78k
    YYMARKER = ++YYCURSOR;
10985
2.78k
    YYFILL(1);
10986
2.78k
    yych = *YYCURSOR;
10987
2.78k
    if (yych <= 0x00) goto yy876;
10988
1.66k
    if (yych == '*') goto yy760;
10989
1.45k
    goto yy696;
10990
1.45k
yy949:
10991
1.45k
    YYDEBUG(949, *YYCURSOR);
10992
1.45k
    yyaccept = 91;
10993
1.45k
    YYMARKER = ++YYCURSOR;
10994
1.45k
    YYFILL(1);
10995
1.45k
    yych = *YYCURSOR;
10996
1.45k
    if (yych <= '*') {
10997
805
      if (yych <= 0x00) goto yy876;
10998
608
      if (yych <= ')') goto yy696;
10999
204
      goto yy760;
11000
649
    } else {
11001
649
      if (yych == '/') goto yy616;
11002
290
      goto yy696;
11003
649
    }
11004
1.44k
yy950:
11005
1.44k
    YYDEBUG(950, *YYCURSOR);
11006
1.44k
    yyaccept = 96;
11007
1.44k
    yych = *(YYMARKER = ++YYCURSOR);
11008
1.44k
    if (yybm[256+yych] & 128) {
11009
352
      goto yy47;
11010
352
    }
11011
1.08k
    if (yych == '\\') goto yy164;
11012
1.08k
yy951:
11013
1.08k
    YYDEBUG(951, *YYCURSOR);
11014
1.08k
    yyleng = YYCURSOR - SCNG(yy_text);
11015
1.08k
#line 1761 "Zend/zend_language_scanner.l"
11016
1.08k
    {
11017
1.08k
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11018
1.08k
}
11019
0
#line 11020 "Zend/zend_language_scanner.c"
11020
4.30k
yy952:
11021
4.30k
    YYDEBUG(952, *YYCURSOR);
11022
4.30k
    ++YYCURSOR;
11023
4.30k
    YYFILL(1);
11024
4.30k
    yych = *YYCURSOR;
11025
4.30k
    if (yych <= ')') {
11026
1.07k
      if (yych <= '\n') {
11027
669
        if (yych <= 0x00) goto yy86;
11028
466
        if (yych <= '\t') goto yy738;
11029
213
        goto yy787;
11030
466
      } else {
11031
409
        if (yych == '\r') goto yy787;
11032
203
        goto yy738;
11033
409
      }
11034
3.23k
    } else {
11035
3.23k
      if (yych <= 'D') {
11036
829
        if (yych <= '*') goto yy789;
11037
490
        if (yych <= 'C') goto yy738;
11038
278
        goto yy957;
11039
2.40k
      } else {
11040
2.40k
        if (yych == 'd') goto yy957;
11041
633
        goto yy738;
11042
2.40k
      }
11043
3.23k
    }
11044
18.9k
yy953:
11045
18.9k
    YYDEBUG(953, *YYCURSOR);
11046
18.9k
    ++YYCURSOR;
11047
18.9k
    YYFILL(1);
11048
18.9k
    yych = *YYCURSOR;
11049
18.9k
    if (yych <= ')') {
11050
8.48k
      if (yych <= '\n') {
11051
6.34k
        if (yych <= 0x00) goto yy86;
11052
6.10k
        if (yych <= '\t') goto yy738;
11053
5.88k
        goto yy787;
11054
6.10k
      } else {
11055
2.13k
        if (yych == '\r') goto yy787;
11056
1.93k
        goto yy738;
11057
2.13k
      }
11058
10.5k
    } else {
11059
10.5k
      if (yych <= 'M') {
11060
7.42k
        if (yych <= '*') goto yy789;
11061
7.04k
        if (yych <= 'L') goto yy738;
11062
6.51k
        goto yy958;
11063
7.04k
      } else {
11064
3.08k
        if (yych == 'm') goto yy958;
11065
467
        goto yy738;
11066
3.08k
      }
11067
10.5k
    }
11068
970
yy954:
11069
970
    YYDEBUG(954, *YYCURSOR);
11070
970
    yyaccept = 94;
11071
970
    YYMARKER = ++YYCURSOR;
11072
970
    YYFILL(1);
11073
970
    yych = *YYCURSOR;
11074
970
    if (yych <= 0x00) goto yy886;
11075
722
    if (yych == '*') goto yy668;
11076
521
    goto yy590;
11077
2.73k
yy955:
11078
2.73k
    YYDEBUG(955, *YYCURSOR);
11079
2.73k
    ++YYCURSOR;
11080
2.73k
    YYFILL(1);
11081
2.73k
    yych = *YYCURSOR;
11082
2.73k
    if (yych <= 'M') {
11083
714
      if (yych <= 0x00) goto yy86;
11084
454
      if (yych == '*') goto yy668;
11085
254
      goto yy590;
11086
2.01k
    } else {
11087
2.01k
      if (yych <= 'N') goto yy959;
11088
1.33k
      if (yych == 'n') goto yy959;
11089
227
      goto yy590;
11090
1.33k
    }
11091
12.2k
yy956:
11092
12.2k
    YYDEBUG(956, *YYCURSOR);
11093
12.2k
    ++YYCURSOR;
11094
12.2k
    YYFILL(1);
11095
12.2k
    yych = *YYCURSOR;
11096
12.2k
    if (yych <= '/') {
11097
8.53k
      if (yych <= '\f') {
11098
3.53k
        if (yych <= 0x00) goto yy875;
11099
3.33k
        if (yych == '\n') goto yy961;
11100
273
        goto yy960;
11101
4.99k
      } else {
11102
4.99k
        if (yych <= '\r') goto yy961;
11103
2.66k
        if (yych == '*') goto yy962;
11104
444
        goto yy960;
11105
2.66k
      }
11106
8.53k
    } else {
11107
3.75k
      if (yych <= '^') {
11108
1.80k
        if (yych <= '9') goto yy808;
11109
1.58k
        if (yych <= '@') goto yy960;
11110
1.01k
        if (yych <= 'Z') goto yy808;
11111
718
        goto yy960;
11112
1.95k
      } else {
11113
1.95k
        if (yych <= '`') {
11114
795
          if (yych <= '_') goto yy808;
11115
590
          goto yy960;
11116
1.15k
        } else {
11117
1.15k
          if (yych <= 'z') goto yy808;
11118
819
          if (yych <= 0x7F) goto yy960;
11119
218
          goto yy808;
11120
819
        }
11121
1.95k
      }
11122
3.75k
    }
11123
3.02k
yy957:
11124
3.02k
    YYDEBUG(957, *YYCURSOR);
11125
3.02k
    ++YYCURSOR;
11126
3.02k
    YYFILL(1);
11127
3.02k
    yych = *YYCURSOR;
11128
3.02k
    if (yych <= ')') {
11129
1.06k
      if (yych <= '\n') {
11130
651
        if (yych <= 0x00) goto yy86;
11131
444
        if (yych <= '\t') goto yy738;
11132
217
        goto yy787;
11133
444
      } else {
11134
411
        if (yych == '\r') goto yy787;
11135
207
        goto yy738;
11136
411
      }
11137
1.95k
    } else {
11138
1.95k
      if (yych <= 'S') {
11139
1.06k
        if (yych <= '*') goto yy789;
11140
859
        if (yych <= 'R') goto yy738;
11141
645
        goto yy963;
11142
894
      } else {
11143
894
        if (yych == 's') goto yy963;
11144
262
        goto yy738;
11145
894
      }
11146
1.95k
    }
11147
9.13k
yy958:
11148
9.13k
    YYDEBUG(958, *YYCURSOR);
11149
9.13k
    ++YYCURSOR;
11150
9.13k
    YYFILL(1);
11151
9.13k
    yych = *YYCURSOR;
11152
9.13k
    if (yych <= ')') {
11153
1.61k
      if (yych <= '\n') {
11154
1.20k
        if (yych <= 0x00) goto yy86;
11155
993
        if (yych <= '\t') goto yy738;
11156
778
        goto yy787;
11157
993
      } else {
11158
408
        if (yych == '\r') goto yy787;
11159
213
        goto yy738;
11160
408
      }
11161
7.51k
    } else {
11162
7.51k
      if (yych <= 'E') {
11163
2.83k
        if (yych <= '*') goto yy789;
11164
2.61k
        if (yych <= 'D') goto yy738;
11165
2.39k
        goto yy964;
11166
4.68k
      } else {
11167
4.68k
        if (yych == 'e') goto yy964;
11168
376
        goto yy738;
11169
4.68k
      }
11170
7.51k
    }
11171
1.79k
yy959:
11172
1.79k
    YYDEBUG(959, *YYCURSOR);
11173
1.79k
    ++YYCURSOR;
11174
1.79k
    YYFILL(1);
11175
1.79k
    yych = *YYCURSOR;
11176
1.79k
    if (yych <= 'S') {
11177
933
      if (yych <= 0x00) goto yy86;
11178
587
      if (yych == '*') goto yy668;
11179
311
      goto yy590;
11180
857
    } else {
11181
857
      if (yych <= 'T') goto yy945;
11182
604
      if (yych == 't') goto yy945;
11183
344
      goto yy590;
11184
604
    }
11185
3.19k
yy960:
11186
3.19k
    YYDEBUG(960, *YYCURSOR);
11187
3.19k
    yyaccept = 91;
11188
3.19k
    YYMARKER = ++YYCURSOR;
11189
3.19k
    YYFILL(1);
11190
3.19k
    yych = *YYCURSOR;
11191
3.19k
    if (yych <= '\f') {
11192
1.08k
      if (yych <= 0x00) goto yy876;
11193
741
      if (yych == '\n') goto yy846;
11194
272
      goto yy808;
11195
2.11k
    } else {
11196
2.11k
      if (yych <= '\r') goto yy846;
11197
1.90k
      if (yych == '*') goto yy848;
11198
1.18k
      goto yy808;
11199
1.90k
    }
11200
5.38k
yy961:
11201
5.38k
    YYDEBUG(961, *YYCURSOR);
11202
5.38k
    yyaccept = 91;
11203
5.38k
    YYMARKER = ++YYCURSOR;
11204
5.38k
    YYFILL(1);
11205
5.38k
    yych = *YYCURSOR;
11206
5.38k
    if (yych <= '#') {
11207
3.47k
      if (yych <= '\f') {
11208
938
        if (yych <= 0x00) goto yy876;
11209
730
        if (yych <= 0x08) goto yy696;
11210
533
        if (yych <= '\n') goto yy846;
11211
217
        goto yy696;
11212
2.54k
      } else {
11213
2.54k
        if (yych <= 0x1F) {
11214
1.04k
          if (yych <= '\r') goto yy846;
11215
212
          goto yy696;
11216
1.49k
        } else {
11217
1.49k
          if (yych <= ' ') goto yy846;
11218
1.29k
          if (yych <= '"') goto yy696;
11219
1.00k
          goto yy877;
11220
1.29k
        }
11221
2.54k
      }
11222
3.47k
    } else {
11223
1.91k
      if (yych <= '/') {
11224
639
        if (yych == '*') goto yy760;
11225
431
        if (yych <= '.') goto yy696;
11226
195
        goto yy878;
11227
1.27k
      } else {
11228
1.27k
        if (yych <= 'F') {
11229
832
          if (yych <= 'E') goto yy696;
11230
536
          goto yy879;
11231
832
        } else {
11232
439
          if (yych == 'f') goto yy879;
11233
239
          goto yy696;
11234
439
        }
11235
1.27k
      }
11236
1.91k
    }
11237
2.22k
yy962:
11238
2.22k
    YYDEBUG(962, *YYCURSOR);
11239
2.22k
    yyaccept = 91;
11240
2.22k
    YYMARKER = ++YYCURSOR;
11241
2.22k
    YYFILL(1);
11242
2.22k
    yych = *YYCURSOR;
11243
2.22k
    if (yych <= '\r') {
11244
1.00k
      if (yych <= '\t') {
11245
515
        if (yych <= 0x00) goto yy876;
11246
256
        goto yy808;
11247
515
      } else {
11248
490
        if (yych <= '\n') goto yy846;
11249
280
        if (yych <= '\f') goto yy808;
11250
69
        goto yy846;
11251
280
      }
11252
1.21k
    } else {
11253
1.21k
      if (yych <= '*') {
11254
475
        if (yych <= ')') goto yy808;
11255
205
        goto yy848;
11256
743
      } else {
11257
743
        if (yych == '/') goto yy694;
11258
549
        goto yy808;
11259
743
      }
11260
1.21k
    }
11261
1.27k
yy963:
11262
1.27k
    YYDEBUG(963, *YYCURSOR);
11263
1.27k
    yyaccept = 94;
11264
1.27k
    YYMARKER = ++YYCURSOR;
11265
1.27k
    YYFILL(1);
11266
1.27k
    yych = *YYCURSOR;
11267
1.27k
    if (yych <= '\f') {
11268
650
      if (yych <= 0x00) goto yy886;
11269
435
      if (yych == '\n') goto yy787;
11270
211
      goto yy738;
11271
627
    } else {
11272
627
      if (yych <= '\r') goto yy787;
11273
431
      if (yych == '*') goto yy789;
11274
228
      goto yy738;
11275
431
    }
11276
6.70k
yy964:
11277
6.70k
    YYDEBUG(964, *YYCURSOR);
11278
6.70k
    ++YYCURSOR;
11279
6.70k
    YYFILL(1);
11280
6.70k
    yych = *YYCURSOR;
11281
6.70k
    if (yych <= ')') {
11282
3.14k
      if (yych <= '\n') {
11283
2.74k
        if (yych <= 0x00) goto yy86;
11284
2.52k
        if (yych <= '\t') goto yy738;
11285
208
        goto yy787;
11286
2.52k
      } else {
11287
398
        if (yych == '\r') goto yy787;
11288
201
        goto yy738;
11289
398
      }
11290
3.56k
    } else {
11291
3.56k
      if (yych <= 'N') {
11292
1.79k
        if (yych <= '*') goto yy789;
11293
1.58k
        if (yych <= 'M') goto yy738;
11294
1.76k
      } else {
11295
1.76k
        if (yych != 'n') goto yy738;
11296
1.76k
      }
11297
3.56k
    }
11298
2.72k
    YYDEBUG(965, *YYCURSOR);
11299
2.72k
    ++YYCURSOR;
11300
2.72k
    YYFILL(1);
11301
2.72k
    yych = *YYCURSOR;
11302
2.72k
    if (yych <= ')') {
11303
1.03k
      if (yych <= '\n') {
11304
624
        if (yych <= 0x00) goto yy86;
11305
425
        if (yych <= '\t') goto yy738;
11306
228
        goto yy787;
11307
425
      } else {
11308
414
        if (yych == '\r') goto yy787;
11309
208
        goto yy738;
11310
414
      }
11311
1.68k
    } else {
11312
1.68k
      if (yych <= 'T') {
11313
856
        if (yych <= '*') goto yy789;
11314
653
        if (yych <= 'S') goto yy738;
11315
362
        goto yy957;
11316
828
      } else {
11317
828
        if (yych == 't') goto yy957;
11318
215
        goto yy738;
11319
828
      }
11320
1.68k
    }
11321
2.72k
  }
11322
/* *********************************** */
11323
436k
yyc_ST_LOOKING_FOR_PROPERTY:
11324
436k
  {
11325
436k
    static const unsigned char yybm[] = {
11326
436k
        0,   0,   0,   0,   0,   0,   0,   0, 
11327
436k
        0,  64,  64,   0,   0,  64,   0,   0, 
11328
436k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
436k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
436k
       64,   0,   0,   0,   0,   0,   0,   0, 
11331
436k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11333
436k
      128, 128,   0,   0,   0,   0,   0,   0, 
11334
436k
        0, 128, 128, 128, 128, 128, 128, 128, 
11335
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11336
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
436k
      128, 128, 128,   0,   0,   0,   0, 128, 
11338
436k
        0, 128, 128, 128, 128, 128, 128, 128, 
11339
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11340
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
436k
      128, 128, 128,   0,   0,   0,   0,   0, 
11342
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
436k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
436k
    };
11359
436k
    YYDEBUG(966, *YYCURSOR);
11360
436k
    YYFILL(4);
11361
436k
    yych = *YYCURSOR;
11362
436k
    if (yybm[0+yych] & 64) {
11363
6.21k
      goto yy970;
11364
6.21k
    }
11365
430k
    if (yych <= '?') {
11366
146k
      if (yych <= '-') {
11367
48.1k
        if (yych == '#') goto yy973;
11368
44.3k
        if (yych >= '-') goto yy975;
11369
98.2k
      } else {
11370
98.2k
        if (yych == '/') goto yy976;
11371
92.8k
        if (yych >= '?') goto yy977;
11372
92.8k
      }
11373
284k
    } else {
11374
284k
      if (yych <= '_') {
11375
32.9k
        if (yych <= '@') goto yy968;
11376
32.7k
        if (yych <= 'Z') goto yy978;
11377
16.4k
        if (yych >= '_') goto yy978;
11378
251k
      } else {
11379
251k
        if (yych <= '`') goto yy968;
11380
250k
        if (yych <= 'z') goto yy978;
11381
18.3k
        if (yych >= 0x80) goto yy978;
11382
18.3k
      }
11383
284k
    }
11384
26.4k
yy968:
11385
26.4k
    YYDEBUG(968, *YYCURSOR);
11386
26.4k
    ++YYCURSOR;
11387
28.3k
yy969:
11388
28.3k
    YYDEBUG(969, *YYCURSOR);
11389
28.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11390
28.3k
#line 2519 "Zend/zend_language_scanner.l"
11391
28.3k
    {
11392
28.3k
  yyless(0);
11393
28.3k
  yy_pop_state();
11394
28.3k
  goto restart;
11395
26.4k
}
11396
0
#line 11397 "Zend/zend_language_scanner.c"
11397
9.79k
yy970:
11398
9.79k
    YYDEBUG(970, *YYCURSOR);
11399
9.79k
    ++YYCURSOR;
11400
9.79k
    YYFILL(1);
11401
9.79k
    yych = *YYCURSOR;
11402
9.79k
    YYDEBUG(971, *YYCURSOR);
11403
9.79k
    if (yybm[0+yych] & 64) {
11404
3.58k
      goto yy970;
11405
3.58k
    }
11406
6.21k
    YYDEBUG(972, *YYCURSOR);
11407
6.21k
    yyleng = YYCURSOR - SCNG(yy_text);
11408
6.21k
#line 1596 "Zend/zend_language_scanner.l"
11409
6.21k
    {
11410
6.21k
  goto return_whitespace;
11411
9.79k
}
11412
0
#line 11413 "Zend/zend_language_scanner.c"
11413
4.69k
yy973:
11414
4.69k
    YYDEBUG(973, *YYCURSOR);
11415
4.69k
    ++YYCURSOR;
11416
4.69k
    YYDEBUG(974, *YYCURSOR);
11417
4.69k
    yyleng = YYCURSOR - SCNG(yy_text);
11418
4.69k
#line 2459 "Zend/zend_language_scanner.l"
11419
4.69k
    {
11420
95.2k
  while (YYCURSOR < YYLIMIT) {
11421
94.6k
    switch (*YYCURSOR++) {
11422
1.16k
      case '\r':
11423
3.88k
      case '\n':
11424
3.88k
        YYCURSOR--;
11425
3.88k
        break;
11426
1.25k
      case '?':
11427
1.25k
        if (*YYCURSOR == '>') {
11428
210
          YYCURSOR--;
11429
210
          break;
11430
210
        }
11431
1.04k
        ZEND_FALLTHROUGH;
11432
90.5k
      default:
11433
90.5k
        continue;
11434
94.6k
    }
11435
11436
4.09k
    break;
11437
94.6k
  }
11438
11439
4.69k
  yyleng = YYCURSOR - SCNG(yy_text);
11440
4.69k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11441
4.69k
}
11442
0
#line 11443 "Zend/zend_language_scanner.c"
11443
35.2k
yy975:
11444
35.2k
    YYDEBUG(975, *YYCURSOR);
11445
35.2k
    yych = *++YYCURSOR;
11446
35.2k
    if (yych == '>') goto yy981;
11447
469
    goto yy969;
11448
5.41k
yy976:
11449
5.41k
    YYDEBUG(976, *YYCURSOR);
11450
5.41k
    yych = *++YYCURSOR;
11451
5.41k
    if (yych == '*') goto yy983;
11452
1.30k
    if (yych == '/') goto yy973;
11453
505
    goto yy969;
11454
90.3k
yy977:
11455
90.3k
    YYDEBUG(977, *YYCURSOR);
11456
90.3k
    yyaccept = 0;
11457
90.3k
    yych = *(YYMARKER = ++YYCURSOR);
11458
90.3k
    if (yych == '-') goto yy985;
11459
551
    goto yy969;
11460
1.14M
yy978:
11461
1.14M
    YYDEBUG(978, *YYCURSOR);
11462
1.14M
    ++YYCURSOR;
11463
1.14M
    YYFILL(1);
11464
1.14M
    yych = *YYCURSOR;
11465
1.14M
    YYDEBUG(979, *YYCURSOR);
11466
1.14M
    if (yybm[0+yych] & 128) {
11467
876k
      goto yy978;
11468
876k
    }
11469
269k
    YYDEBUG(980, *YYCURSOR);
11470
269k
    yyleng = YYCURSOR - SCNG(yy_text);
11471
269k
#line 1608 "Zend/zend_language_scanner.l"
11472
269k
    {
11473
269k
  yy_pop_state();
11474
269k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11475
269k
}
11476
0
#line 11477 "Zend/zend_language_scanner.c"
11477
34.8k
yy981:
11478
34.8k
    YYDEBUG(981, *YYCURSOR);
11479
34.8k
    ++YYCURSOR;
11480
34.8k
    YYDEBUG(982, *YYCURSOR);
11481
34.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11482
34.8k
#line 1600 "Zend/zend_language_scanner.l"
11483
34.8k
    {
11484
34.8k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11485
34.8k
}
11486
0
#line 11487 "Zend/zend_language_scanner.c"
11487
4.11k
yy983:
11488
4.11k
    YYDEBUG(983, *YYCURSOR);
11489
4.11k
    yyaccept = 1;
11490
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
11491
4.11k
    if (yych == '*') goto yy987;
11492
4.11k
yy984:
11493
4.11k
    YYDEBUG(984, *YYCURSOR);
11494
4.11k
    yyleng = YYCURSOR - SCNG(yy_text);
11495
4.11k
#line 2483 "Zend/zend_language_scanner.l"
11496
4.11k
    {
11497
4.11k
  int doc_com;
11498
11499
4.11k
  if (yyleng > 2) {
11500
1.95k
    doc_com = 1;
11501
1.95k
    RESET_DOC_COMMENT();
11502
2.16k
  } else {
11503
2.16k
    doc_com = 0;
11504
2.16k
  }
11505
11506
229k
  while (YYCURSOR < YYLIMIT) {
11507
228k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11508
3.06k
      break;
11509
3.06k
    }
11510
228k
  }
11511
11512
4.11k
  if (YYCURSOR < YYLIMIT) {
11513
3.06k
    YYCURSOR++;
11514
3.06k
  } else {
11515
1.05k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
11516
1.05k
    if (PARSER_MODE()) {
11517
110
      RETURN_TOKEN(T_ERROR);
11518
110
    }
11519
1.05k
  }
11520
11521
4.00k
  yyleng = YYCURSOR - SCNG(yy_text);
11522
4.00k
  HANDLE_NEWLINES(yytext, yyleng);
11523
11524
4.00k
  if (doc_com) {
11525
1.89k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11526
1.89k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11527
1.89k
  }
11528
11529
2.10k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11530
2.10k
}
11531
0
#line 11532 "Zend/zend_language_scanner.c"
11532
89.8k
yy985:
11533
89.8k
    YYDEBUG(985, *YYCURSOR);
11534
89.8k
    yych = *++YYCURSOR;
11535
89.8k
    if (yych == '>') goto yy988;
11536
1.63k
yy986:
11537
1.63k
    YYDEBUG(986, *YYCURSOR);
11538
1.63k
    YYCURSOR = YYMARKER;
11539
1.63k
    if (yyaccept == 0) {
11540
294
      goto yy969;
11541
1.34k
    } else {
11542
1.34k
      goto yy984;
11543
1.34k
    }
11544
3.29k
yy987:
11545
3.29k
    YYDEBUG(987, *YYCURSOR);
11546
3.29k
    yych = *++YYCURSOR;
11547
3.29k
    if (yych <= '\f') {
11548
1.24k
      if (yych <= 0x08) goto yy986;
11549
914
      if (yych <= '\n') goto yy990;
11550
225
      goto yy986;
11551
2.04k
    } else {
11552
2.04k
      if (yych <= '\r') goto yy990;
11553
1.40k
      if (yych == ' ') goto yy990;
11554
785
      goto yy986;
11555
1.40k
    }
11556
89.5k
yy988:
11557
89.5k
    YYDEBUG(988, *YYCURSOR);
11558
89.5k
    ++YYCURSOR;
11559
89.5k
    YYDEBUG(989, *YYCURSOR);
11560
89.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11561
89.5k
#line 1604 "Zend/zend_language_scanner.l"
11562
89.5k
    {
11563
89.5k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11564
89.5k
}
11565
0
#line 11566 "Zend/zend_language_scanner.c"
11566
3.38k
yy990:
11567
3.38k
    YYDEBUG(990, *YYCURSOR);
11568
3.38k
    ++YYCURSOR;
11569
3.38k
    YYFILL(1);
11570
3.38k
    yych = *YYCURSOR;
11571
3.38k
    YYDEBUG(991, *YYCURSOR);
11572
3.38k
    if (yych <= '\f') {
11573
1.32k
      if (yych <= 0x08) goto yy984;
11574
894
      if (yych <= '\n') goto yy990;
11575
451
      goto yy984;
11576
2.06k
    } else {
11577
2.06k
      if (yych <= '\r') goto yy990;
11578
1.30k
      if (yych == ' ') goto yy990;
11579
1.06k
      goto yy984;
11580
1.30k
    }
11581
3.38k
  }
11582
/* *********************************** */
11583
240k
yyc_ST_BACKQUOTE:
11584
240k
  {
11585
240k
    static const unsigned char yybm[] = {
11586
240k
        0,   0,   0,   0,   0,   0,   0,   0, 
11587
240k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
240k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
240k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
240k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
240k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11593
240k
      128, 128,   0,   0,   0,   0,   0,   0, 
11594
240k
        0, 128, 128, 128, 128, 128, 128, 128, 
11595
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11596
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
240k
      128, 128, 128,   0,   0,   0,   0, 128, 
11598
240k
        0, 128, 128, 128, 128, 128, 128, 128, 
11599
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11600
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
240k
      128, 128, 128,   0,   0,   0,   0,   0, 
11602
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
240k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
240k
    };
11619
240k
    YYDEBUG(992, *YYCURSOR);
11620
240k
    YYFILL(2);
11621
240k
    yych = *YYCURSOR;
11622
240k
    if (yych <= '_') {
11623
177k
      if (yych == '$') goto yy996;
11624
177k
    } else {
11625
63.6k
      if (yych <= '`') goto yy997;
11626
18.8k
      if (yych == '{') goto yy999;
11627
18.8k
    }
11628
100k
    YYDEBUG(994, *YYCURSOR);
11629
100k
    ++YYCURSOR;
11630
108k
yy995:
11631
108k
    YYDEBUG(995, *YYCURSOR);
11632
108k
    yyleng = YYCURSOR - SCNG(yy_text);
11633
108k
#line 2917 "Zend/zend_language_scanner.l"
11634
108k
    {
11635
108k
  if (YYCURSOR > YYLIMIT) {
11636
7.59k
    RETURN_END_TOKEN;
11637
7.59k
  }
11638
100k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11639
1.82k
    YYCURSOR++;
11640
1.82k
  }
11641
11642
4.24M
  while (YYCURSOR < YYLIMIT) {
11643
4.23M
    switch (*YYCURSOR++) {
11644
16.3k
      case '`':
11645
16.3k
        break;
11646
94.1k
      case '$':
11647
94.1k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11648
75.9k
          break;
11649
75.9k
        }
11650
18.1k
        continue;
11651
19.0k
      case '{':
11652
19.0k
        if (*YYCURSOR == '$') {
11653
1.40k
          break;
11654
1.40k
        }
11655
17.6k
        continue;
11656
31.4k
      case '\\':
11657
31.4k
        if (YYCURSOR < YYLIMIT) {
11658
30.8k
          YYCURSOR++;
11659
30.8k
        }
11660
31.4k
        ZEND_FALLTHROUGH;
11661
4.10M
      default:
11662
4.10M
        continue;
11663
4.23M
    }
11664
11665
93.6k
    YYCURSOR--;
11666
93.6k
    break;
11667
4.23M
  }
11668
11669
100k
  yyleng = YYCURSOR - SCNG(yy_text);
11670
11671
100k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11672
100k
   || !PARSER_MODE()) {
11673
100k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11674
100k
  } else {
11675
8
    RETURN_TOKEN(T_ERROR);
11676
8
  }
11677
100k
}
11678
0
#line 11679 "Zend/zend_language_scanner.c"
11679
92.4k
yy996:
11680
92.4k
    YYDEBUG(996, *YYCURSOR);
11681
92.4k
    yych = *++YYCURSOR;
11682
92.4k
    if (yych <= '_') {
11683
13.4k
      if (yych <= '@') goto yy995;
11684
11.3k
      if (yych <= 'Z') goto yy1000;
11685
6.88k
      if (yych <= '^') goto yy995;
11686
4.00k
      goto yy1000;
11687
78.9k
    } else {
11688
78.9k
      if (yych <= 'z') {
11689
45.6k
        if (yych <= '`') goto yy995;
11690
44.9k
        goto yy1000;
11691
45.6k
      } else {
11692
33.3k
        if (yych <= '{') goto yy1003;
11693
10.5k
        if (yych <= 0x7F) goto yy995;
11694
10.1k
        goto yy1000;
11695
10.5k
      }
11696
78.9k
    }
11697
44.7k
yy997:
11698
44.7k
    YYDEBUG(997, *YYCURSOR);
11699
44.7k
    ++YYCURSOR;
11700
44.7k
    YYDEBUG(998, *YYCURSOR);
11701
44.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11702
44.7k
#line 2857 "Zend/zend_language_scanner.l"
11703
44.7k
    {
11704
44.7k
  BEGIN(ST_IN_SCRIPTING);
11705
44.7k
  RETURN_TOKEN('`');
11706
44.7k
}
11707
0
#line 11708 "Zend/zend_language_scanner.c"
11708
3.08k
yy999:
11709
3.08k
    YYDEBUG(999, *YYCURSOR);
11710
3.08k
    yych = *++YYCURSOR;
11711
3.08k
    if (yych == '$') goto yy1005;
11712
1.58k
    goto yy995;
11713
215k
yy1000:
11714
215k
    YYDEBUG(1000, *YYCURSOR);
11715
215k
    YYMARKER = ++YYCURSOR;
11716
215k
    YYFILL(4);
11717
215k
    yych = *YYCURSOR;
11718
215k
    YYDEBUG(1001, *YYCURSOR);
11719
215k
    if (yybm[0+yych] & 128) {
11720
151k
      goto yy1000;
11721
151k
    }
11722
63.6k
    if (yych <= '>') {
11723
33.1k
      if (yych == '-') goto yy1007;
11724
33.1k
    } else {
11725
30.5k
      if (yych <= '?') goto yy1009;
11726
6.94k
      if (yych <= '@') goto yy1002;
11727
6.61k
      if (yych <= '[') goto yy1010;
11728
6.61k
    }
11729
49.3k
yy1002:
11730
49.3k
    YYDEBUG(1002, *YYCURSOR);
11731
49.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11732
49.3k
#line 2416 "Zend/zend_language_scanner.l"
11733
49.3k
    {
11734
49.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11735
49.3k
}
11736
0
#line 11737 "Zend/zend_language_scanner.c"
11737
22.7k
yy1003:
11738
22.7k
    YYDEBUG(1003, *YYCURSOR);
11739
22.7k
    ++YYCURSOR;
11740
22.7k
    YYDEBUG(1004, *YYCURSOR);
11741
22.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11742
22.7k
#line 1980 "Zend/zend_language_scanner.l"
11743
22.7k
    {
11744
22.7k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11745
22.7k
  enter_nesting('{');
11746
22.7k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11747
22.7k
}
11748
0
#line 11749 "Zend/zend_language_scanner.c"
11749
1.50k
yy1005:
11750
1.50k
    YYDEBUG(1005, *YYCURSOR);
11751
1.50k
    ++YYCURSOR;
11752
1.50k
    YYDEBUG(1006, *YYCURSOR);
11753
1.50k
    yyleng = YYCURSOR - SCNG(yy_text);
11754
1.50k
#line 2844 "Zend/zend_language_scanner.l"
11755
1.50k
    {
11756
1.50k
  yy_push_state(ST_IN_SCRIPTING);
11757
1.50k
  yyless(1);
11758
1.50k
  enter_nesting('{');
11759
1.50k
  RETURN_TOKEN(T_CURLY_OPEN);
11760
1.50k
}
11761
0
#line 11762 "Zend/zend_language_scanner.c"
11762
5.94k
yy1007:
11763
5.94k
    YYDEBUG(1007, *YYCURSOR);
11764
5.94k
    yych = *++YYCURSOR;
11765
5.94k
    if (yych == '>') goto yy1012;
11766
17.1k
yy1008:
11767
17.1k
    YYDEBUG(1008, *YYCURSOR);
11768
17.1k
    YYCURSOR = YYMARKER;
11769
17.1k
    goto yy1002;
11770
23.5k
yy1009:
11771
23.5k
    YYDEBUG(1009, *YYCURSOR);
11772
23.5k
    yych = *++YYCURSOR;
11773
23.5k
    if (yych == '-') goto yy1013;
11774
10.9k
    goto yy1008;
11775
10.9k
yy1010:
11776
1.92k
    YYDEBUG(1010, *YYCURSOR);
11777
1.92k
    ++YYCURSOR;
11778
1.92k
    YYDEBUG(1011, *YYCURSOR);
11779
1.92k
    yyleng = YYCURSOR - SCNG(yy_text);
11780
1.92k
#line 2410 "Zend/zend_language_scanner.l"
11781
1.92k
    {
11782
1.92k
  yyless(yyleng - 1);
11783
1.92k
  yy_push_state(ST_VAR_OFFSET);
11784
1.92k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11785
1.92k
}
11786
0
#line 11787 "Zend/zend_language_scanner.c"
11787
4.59k
yy1012:
11788
4.59k
    YYDEBUG(1012, *YYCURSOR);
11789
4.59k
    yych = *++YYCURSOR;
11790
4.59k
    if (yych <= '_') {
11791
1.72k
      if (yych <= '@') goto yy1008;
11792
1.23k
      if (yych <= 'Z') goto yy1014;
11793
519
      if (yych <= '^') goto yy1008;
11794
259
      goto yy1014;
11795
2.86k
    } else {
11796
2.86k
      if (yych <= '`') goto yy1008;
11797
2.61k
      if (yych <= 'z') goto yy1014;
11798
1.08k
      if (yych <= 0x7F) goto yy1008;
11799
557
      goto yy1014;
11800
1.08k
    }
11801
12.6k
yy1013:
11802
12.6k
    YYDEBUG(1013, *YYCURSOR);
11803
12.6k
    yych = *++YYCURSOR;
11804
12.6k
    if (yych == '>') goto yy1016;
11805
1.34k
    goto yy1008;
11806
3.06k
yy1014:
11807
3.06k
    YYDEBUG(1014, *YYCURSOR);
11808
3.06k
    ++YYCURSOR;
11809
3.06k
    YYDEBUG(1015, *YYCURSOR);
11810
3.06k
    yyleng = YYCURSOR - SCNG(yy_text);
11811
3.06k
#line 2396 "Zend/zend_language_scanner.l"
11812
3.06k
    {
11813
3.06k
  yyless(yyleng - 3);
11814
3.06k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11815
3.06k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11816
3.06k
}
11817
0
#line 11818 "Zend/zend_language_scanner.c"
11818
11.3k
yy1016:
11819
11.3k
    YYDEBUG(1016, *YYCURSOR);
11820
11.3k
    yych = *++YYCURSOR;
11821
11.3k
    if (yych <= '_') {
11822
2.21k
      if (yych <= '@') goto yy1008;
11823
1.20k
      if (yych <= 'Z') goto yy1017;
11824
943
      if (yych <= '^') goto yy1008;
11825
9.08k
    } else {
11826
9.08k
      if (yych <= '`') goto yy1008;
11827
8.66k
      if (yych <= 'z') goto yy1017;
11828
1.06k
      if (yych <= 0x7F) goto yy1008;
11829
1.06k
    }
11830
9.26k
yy1017:
11831
9.26k
    YYDEBUG(1017, *YYCURSOR);
11832
9.26k
    ++YYCURSOR;
11833
9.26k
    YYDEBUG(1018, *YYCURSOR);
11834
9.26k
    yyleng = YYCURSOR - SCNG(yy_text);
11835
9.26k
#line 2402 "Zend/zend_language_scanner.l"
11836
9.26k
    {
11837
9.26k
  yyless(yyleng - 4);
11838
9.26k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11839
9.26k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11840
9.26k
}
11841
9.26k
#line 11842 "Zend/zend_language_scanner.c"
11842
9.26k
  }
11843
/* *********************************** */
11844
674k
yyc_ST_DOUBLE_QUOTES:
11845
674k
  {
11846
674k
    static const unsigned char yybm[] = {
11847
674k
        0,   0,   0,   0,   0,   0,   0,   0, 
11848
674k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
674k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
674k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
674k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
674k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11854
674k
      128, 128,   0,   0,   0,   0,   0,   0, 
11855
674k
        0, 128, 128, 128, 128, 128, 128, 128, 
11856
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11857
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
674k
      128, 128, 128,   0,   0,   0,   0, 128, 
11859
674k
        0, 128, 128, 128, 128, 128, 128, 128, 
11860
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11861
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
674k
      128, 128, 128,   0,   0,   0,   0,   0, 
11863
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
674k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
674k
    };
11880
674k
    YYDEBUG(1019, *YYCURSOR);
11881
674k
    YYFILL(2);
11882
674k
    yych = *YYCURSOR;
11883
674k
    if (yych <= '#') {
11884
122k
      if (yych == '"') goto yy1023;
11885
552k
    } else {
11886
552k
      if (yych <= '$') goto yy1025;
11887
264k
      if (yych == '{') goto yy1026;
11888
264k
    }
11889
332k
    YYDEBUG(1021, *YYCURSOR);
11890
332k
    ++YYCURSOR;
11891
338k
yy1022:
11892
338k
    YYDEBUG(1022, *YYCURSOR);
11893
338k
    yyleng = YYCURSOR - SCNG(yy_text);
11894
338k
#line 2863 "Zend/zend_language_scanner.l"
11895
338k
    {
11896
338k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11897
88.0k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11898
88.0k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11899
11900
88.0k
    goto double_quotes_scan_done;
11901
88.0k
  }
11902
11903
250k
  if (YYCURSOR > YYLIMIT) {
11904
14.3k
    RETURN_END_TOKEN;
11905
14.3k
  }
11906
235k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11907
10.2k
    YYCURSOR++;
11908
10.2k
  }
11909
11910
5.60M
  while (YYCURSOR < YYLIMIT) {
11911
5.60M
    switch (*YYCURSOR++) {
11912
43.1k
      case '"':
11913
43.1k
        break;
11914
209k
      case '$':
11915
209k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11916
186k
          break;
11917
186k
        }
11918
22.8k
        continue;
11919
22.8k
      case '{':
11920
20.8k
        if (*YYCURSOR == '$') {
11921
1.80k
          break;
11922
1.80k
        }
11923
19.0k
        continue;
11924
27.9k
      case '\\':
11925
27.9k
        if (YYCURSOR < YYLIMIT) {
11926
27.6k
          YYCURSOR++;
11927
27.6k
        }
11928
27.9k
        ZEND_FALLTHROUGH;
11929
5.33M
      default:
11930
5.33M
        continue;
11931
5.60M
    }
11932
11933
231k
    YYCURSOR--;
11934
231k
    break;
11935
5.60M
  }
11936
11937
323k
double_quotes_scan_done:
11938
323k
  yyleng = YYCURSOR - SCNG(yy_text);
11939
11940
323k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11941
323k
   || !PARSER_MODE()) {
11942
323k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11943
323k
  } else {
11944
48
    RETURN_TOKEN(T_ERROR);
11945
48
  }
11946
323k
}
11947
0
#line 11948 "Zend/zend_language_scanner.c"
11948
47.5k
yy1023:
11949
47.5k
    YYDEBUG(1023, *YYCURSOR);
11950
47.5k
    ++YYCURSOR;
11951
47.5k
    YYDEBUG(1024, *YYCURSOR);
11952
47.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11953
47.5k
#line 2852 "Zend/zend_language_scanner.l"
11954
47.5k
    {
11955
47.5k
  BEGIN(ST_IN_SCRIPTING);
11956
47.5k
  RETURN_TOKEN('"');
11957
47.5k
}
11958
0
#line 11959 "Zend/zend_language_scanner.c"
11959
288k
yy1025:
11960
288k
    YYDEBUG(1025, *YYCURSOR);
11961
288k
    yych = *++YYCURSOR;
11962
288k
    if (yych <= '_') {
11963
26.8k
      if (yych <= '@') goto yy1022;
11964
23.8k
      if (yych <= 'Z') goto yy1027;
11965
3.21k
      if (yych <= '^') goto yy1022;
11966
2.90k
      goto yy1027;
11967
261k
    } else {
11968
261k
      if (yych <= 'z') {
11969
204k
        if (yych <= '`') goto yy1022;
11970
203k
        goto yy1027;
11971
204k
      } else {
11972
57.3k
        if (yych <= '{') goto yy1030;
11973
18.0k
        if (yych <= 0x7F) goto yy1022;
11974
17.8k
        goto yy1027;
11975
18.0k
      }
11976
261k
    }
11977
6.41k
yy1026:
11978
6.41k
    YYDEBUG(1026, *YYCURSOR);
11979
6.41k
    yych = *++YYCURSOR;
11980
6.41k
    if (yych == '$') goto yy1032;
11981
1.58k
    goto yy1022;
11982
825k
yy1027:
11983
825k
    YYDEBUG(1027, *YYCURSOR);
11984
825k
    YYMARKER = ++YYCURSOR;
11985
825k
    YYFILL(4);
11986
825k
    yych = *YYCURSOR;
11987
825k
    YYDEBUG(1028, *YYCURSOR);
11988
825k
    if (yybm[0+yych] & 128) {
11989
580k
      goto yy1027;
11990
580k
    }
11991
245k
    if (yych <= '>') {
11992
134k
      if (yych == '-') goto yy1034;
11993
134k
    } else {
11994
110k
      if (yych <= '?') goto yy1036;
11995
21.1k
      if (yych <= '@') goto yy1029;
11996
20.6k
      if (yych <= '[') goto yy1037;
11997
20.6k
    }
11998
188k
yy1029:
11999
188k
    YYDEBUG(1029, *YYCURSOR);
12000
188k
    yyleng = YYCURSOR - SCNG(yy_text);
12001
188k
#line 2416 "Zend/zend_language_scanner.l"
12002
188k
    {
12003
188k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12004
188k
}
12005
0
#line 12006 "Zend/zend_language_scanner.c"
12006
39.2k
yy1030:
12007
39.2k
    YYDEBUG(1030, *YYCURSOR);
12008
39.2k
    ++YYCURSOR;
12009
39.2k
    YYDEBUG(1031, *YYCURSOR);
12010
39.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12011
39.2k
#line 1980 "Zend/zend_language_scanner.l"
12012
39.2k
    {
12013
39.2k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12014
39.2k
  enter_nesting('{');
12015
39.2k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12016
39.2k
}
12017
0
#line 12018 "Zend/zend_language_scanner.c"
12018
4.82k
yy1032:
12019
4.82k
    YYDEBUG(1032, *YYCURSOR);
12020
4.82k
    ++YYCURSOR;
12021
4.82k
    YYDEBUG(1033, *YYCURSOR);
12022
4.82k
    yyleng = YYCURSOR - SCNG(yy_text);
12023
4.82k
#line 2844 "Zend/zend_language_scanner.l"
12024
4.82k
    {
12025
4.82k
  yy_push_state(ST_IN_SCRIPTING);
12026
4.82k
  yyless(1);
12027
4.82k
  enter_nesting('{');
12028
4.82k
  RETURN_TOKEN(T_CURLY_OPEN);
12029
4.82k
}
12030
0
#line 12031 "Zend/zend_language_scanner.c"
12031
23.6k
yy1034:
12032
23.6k
    YYDEBUG(1034, *YYCURSOR);
12033
23.6k
    yych = *++YYCURSOR;
12034
23.6k
    if (yych == '>') goto yy1039;
12035
62.0k
yy1035:
12036
62.0k
    YYDEBUG(1035, *YYCURSOR);
12037
62.0k
    YYCURSOR = YYMARKER;
12038
62.0k
    goto yy1029;
12039
89.3k
yy1036:
12040
89.3k
    YYDEBUG(1036, *YYCURSOR);
12041
89.3k
    yych = *++YYCURSOR;
12042
89.3k
    if (yych == '-') goto yy1040;
12043
47.9k
    goto yy1035;
12044
47.9k
yy1037:
12045
5.66k
    YYDEBUG(1037, *YYCURSOR);
12046
5.66k
    ++YYCURSOR;
12047
5.66k
    YYDEBUG(1038, *YYCURSOR);
12048
5.66k
    yyleng = YYCURSOR - SCNG(yy_text);
12049
5.66k
#line 2410 "Zend/zend_language_scanner.l"
12050
5.66k
    {
12051
5.66k
  yyless(yyleng - 1);
12052
5.66k
  yy_push_state(ST_VAR_OFFSET);
12053
5.66k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12054
5.66k
}
12055
0
#line 12056 "Zend/zend_language_scanner.c"
12056
18.0k
yy1039:
12057
18.0k
    YYDEBUG(1039, *YYCURSOR);
12058
18.0k
    yych = *++YYCURSOR;
12059
18.0k
    if (yych <= '_') {
12060
11.1k
      if (yych <= '@') goto yy1035;
12061
9.89k
      if (yych <= 'Z') goto yy1041;
12062
644
      if (yych <= '^') goto yy1035;
12063
412
      goto yy1041;
12064
6.94k
    } else {
12065
6.94k
      if (yych <= '`') goto yy1035;
12066
6.72k
      if (yych <= 'z') goto yy1041;
12067
1.69k
      if (yych <= 0x7F) goto yy1035;
12068
554
      goto yy1041;
12069
1.69k
    }
12070
41.3k
yy1040:
12071
41.3k
    YYDEBUG(1040, *YYCURSOR);
12072
41.3k
    yych = *++YYCURSOR;
12073
41.3k
    if (yych == '>') goto yy1043;
12074
2.56k
    goto yy1035;
12075
15.2k
yy1041:
12076
15.2k
    YYDEBUG(1041, *YYCURSOR);
12077
15.2k
    ++YYCURSOR;
12078
15.2k
    YYDEBUG(1042, *YYCURSOR);
12079
15.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12080
15.2k
#line 2396 "Zend/zend_language_scanner.l"
12081
15.2k
    {
12082
15.2k
  yyless(yyleng - 3);
12083
15.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12084
15.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12085
15.2k
}
12086
0
#line 12087 "Zend/zend_language_scanner.c"
12087
38.8k
yy1043:
12088
38.8k
    YYDEBUG(1043, *YYCURSOR);
12089
38.8k
    yych = *++YYCURSOR;
12090
38.8k
    if (yych <= '_') {
12091
2.52k
      if (yych <= '@') goto yy1035;
12092
1.22k
      if (yych <= 'Z') goto yy1044;
12093
883
      if (yych <= '^') goto yy1035;
12094
36.2k
    } else {
12095
36.2k
      if (yych <= '`') goto yy1035;
12096
35.9k
      if (yych <= 'z') goto yy1044;
12097
1.64k
      if (yych <= 0x7F) goto yy1035;
12098
1.64k
    }
12099
35.6k
yy1044:
12100
35.6k
    YYDEBUG(1044, *YYCURSOR);
12101
35.6k
    ++YYCURSOR;
12102
35.6k
    YYDEBUG(1045, *YYCURSOR);
12103
35.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12104
35.6k
#line 2402 "Zend/zend_language_scanner.l"
12105
35.6k
    {
12106
35.6k
  yyless(yyleng - 4);
12107
35.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12108
35.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12109
35.6k
}
12110
35.6k
#line 12111 "Zend/zend_language_scanner.c"
12111
35.6k
  }
12112
/* *********************************** */
12113
5.46M
yyc_ST_HEREDOC:
12114
5.46M
  {
12115
5.46M
    static const unsigned char yybm[] = {
12116
5.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12117
5.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
5.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
5.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
5.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
5.46M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12123
5.46M
      128, 128,   0,   0,   0,   0,   0,   0, 
12124
5.46M
        0, 128, 128, 128, 128, 128, 128, 128, 
12125
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12126
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
5.46M
      128, 128, 128,   0,   0,   0,   0, 128, 
12128
5.46M
        0, 128, 128, 128, 128, 128, 128, 128, 
12129
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12130
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
5.46M
      128, 128, 128,   0,   0,   0,   0,   0, 
12132
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
5.46M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
5.46M
    };
12149
5.46M
    YYDEBUG(1046, *YYCURSOR);
12150
5.46M
    YYFILL(2);
12151
5.46M
    yych = *YYCURSOR;
12152
5.46M
    if (yych == '$') goto yy1050;
12153
1.22M
    if (yych == '{') goto yy1051;
12154
1.13M
    YYDEBUG(1048, *YYCURSOR);
12155
1.13M
    ++YYCURSOR;
12156
1.35M
yy1049:
12157
1.35M
    YYDEBUG(1049, *YYCURSOR);
12158
1.35M
    yyleng = YYCURSOR - SCNG(yy_text);
12159
1.35M
#line 2963 "Zend/zend_language_scanner.l"
12160
1.35M
    {
12161
1.35M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12162
1.35M
  int newline = 0, indentation = 0, spacing = 0;
12163
12164
1.35M
  if (YYCURSOR > YYLIMIT) {
12165
21.7k
    RETURN_END_TOKEN;
12166
21.7k
  }
12167
12168
1.32M
  YYCURSOR--;
12169
12170
29.5M
  while (YYCURSOR < YYLIMIT) {
12171
29.5M
    switch (*YYCURSOR++) {
12172
171k
      case '\r':
12173
171k
        if (*YYCURSOR == '\n') {
12174
14.1k
          YYCURSOR++;
12175
14.1k
        }
12176
171k
        ZEND_FALLTHROUGH;
12177
1.76M
      case '\n':
12178
1.76M
        indentation = spacing = 0;
12179
12180
2.54M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12181
777k
          if (*YYCURSOR == '\t') {
12182
17.3k
            spacing |= HEREDOC_USING_TABS;
12183
760k
          } else {
12184
760k
            spacing |= HEREDOC_USING_SPACES;
12185
760k
          }
12186
777k
          ++YYCURSOR;
12187
777k
          ++indentation;
12188
777k
        }
12189
12190
1.76M
        if (YYCURSOR == YYLIMIT) {
12191
1.95k
          yyleng = YYCURSOR - SCNG(yy_text);
12192
1.95k
          HANDLE_NEWLINES(yytext, yyleng);
12193
1.95k
          ZVAL_NULL(zendlval);
12194
1.95k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12195
1.95k
        }
12196
12197
        /* Check for ending label on the next line */
12198
1.76M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12199
29.6k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12200
14.4k
            continue;
12201
14.4k
          }
12202
12203
15.1k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12204
215
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12205
215
            if (PARSER_MODE()) {
12206
14
              RETURN_TOKEN(T_ERROR);
12207
14
            }
12208
215
          }
12209
12210
          /* newline before label will be subtracted from returned text, but
12211
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12212
15.1k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12213
240
            newline = 2; /* Windows newline */
12214
14.8k
          } else {
12215
14.8k
            newline = 1;
12216
14.8k
          }
12217
12218
15.1k
          CG(increment_lineno) = 1; /* For newline before label */
12219
12220
15.1k
          if (SCNG(heredoc_scan_ahead)) {
12221
10.4k
            SCNG(heredoc_indentation) = indentation;
12222
10.4k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12223
10.4k
          } else {
12224
4.64k
            YYCURSOR -= indentation;
12225
4.64k
          }
12226
12227
15.1k
          BEGIN(ST_END_HEREDOC);
12228
12229
15.1k
          goto heredoc_scan_done;
12230
15.1k
        }
12231
1.73M
        continue;
12232
1.73M
      case '$':
12233
1.59M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12234
1.26M
          break;
12235
1.26M
        }
12236
327k
        continue;
12237
375k
      case '{':
12238
375k
        if (*YYCURSOR == '$') {
12239
32.1k
          break;
12240
32.1k
        }
12241
343k
        continue;
12242
343k
      case '\\':
12243
114k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12244
109k
          YYCURSOR++;
12245
109k
        }
12246
114k
        ZEND_FALLTHROUGH;
12247
25.7M
      default:
12248
25.7M
        continue;
12249
29.5M
    }
12250
12251
1.29M
    YYCURSOR--;
12252
1.29M
    break;
12253
29.5M
  }
12254
12255
1.32M
heredoc_scan_done:
12256
12257
1.32M
  yyleng = YYCURSOR - SCNG(yy_text);
12258
1.32M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12259
12260
1.32M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12261
115k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12262
115k
    zend_string *copy = Z_STR_P(zendlval);
12263
12264
115k
    if (!strip_multiline_string_indentation(
12265
115k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12266
115k
        newline_at_start, newline != 0)) {
12267
68
      RETURN_TOKEN(T_ERROR);
12268
68
    }
12269
12270
115k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12271
3
      zend_string_efree(copy);
12272
3
      RETURN_TOKEN(T_ERROR);
12273
3
    }
12274
12275
115k
    zend_string_efree(copy);
12276
1.21M
  } else {
12277
1.21M
    HANDLE_NEWLINES(yytext, yyleng - newline);
12278
1.21M
  }
12279
12280
1.32M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12281
1.32M
}
12282
0
#line 12283 "Zend/zend_language_scanner.c"
12283
4.23M
yy1050:
12284
4.23M
    YYDEBUG(1050, *YYCURSOR);
12285
4.23M
    yych = *++YYCURSOR;
12286
4.23M
    if (yych <= '_') {
12287
190k
      if (yych <= '@') goto yy1049;
12288
32.4k
      if (yych <= 'Z') goto yy1052;
12289
14.7k
      if (yych <= '^') goto yy1049;
12290
5.63k
      goto yy1052;
12291
4.04M
    } else {
12292
4.04M
      if (yych <= 'z') {
12293
525k
        if (yych <= '`') goto yy1049;
12294
524k
        goto yy1052;
12295
3.52M
      } else {
12296
3.52M
        if (yych <= '{') goto yy1055;
12297
138k
        if (yych <= 0x7F) goto yy1049;
12298
133k
        goto yy1052;
12299
138k
      }
12300
4.04M
    }
12301
94.0k
yy1051:
12302
94.0k
    YYDEBUG(1051, *YYCURSOR);
12303
94.0k
    yych = *++YYCURSOR;
12304
94.0k
    if (yych == '$') goto yy1057;
12305
45.4k
    goto yy1049;
12306
2.35M
yy1052:
12307
2.35M
    YYDEBUG(1052, *YYCURSOR);
12308
2.35M
    YYMARKER = ++YYCURSOR;
12309
2.35M
    YYFILL(4);
12310
2.35M
    yych = *YYCURSOR;
12311
2.35M
    YYDEBUG(1053, *YYCURSOR);
12312
2.35M
    if (yybm[0+yych] & 128) {
12313
1.67M
      goto yy1052;
12314
1.67M
    }
12315
681k
    if (yych <= '>') {
12316
511k
      if (yych == '-') goto yy1059;
12317
511k
    } else {
12318
170k
      if (yych <= '?') goto yy1061;
12319
58.1k
      if (yych <= '@') goto yy1054;
12320
56.9k
      if (yych <= '[') goto yy1062;
12321
56.9k
    }
12322
602k
yy1054:
12323
602k
    YYDEBUG(1054, *YYCURSOR);
12324
602k
    yyleng = YYCURSOR - SCNG(yy_text);
12325
602k
#line 2416 "Zend/zend_language_scanner.l"
12326
602k
    {
12327
602k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12328
602k
}
12329
0
#line 12330 "Zend/zend_language_scanner.c"
12330
3.38M
yy1055:
12331
3.38M
    YYDEBUG(1055, *YYCURSOR);
12332
3.38M
    ++YYCURSOR;
12333
3.38M
    YYDEBUG(1056, *YYCURSOR);
12334
3.38M
    yyleng = YYCURSOR - SCNG(yy_text);
12335
3.38M
#line 1980 "Zend/zend_language_scanner.l"
12336
3.38M
    {
12337
3.38M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12338
3.38M
  enter_nesting('{');
12339
3.38M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12340
3.38M
}
12341
0
#line 12342 "Zend/zend_language_scanner.c"
12342
48.5k
yy1057:
12343
48.5k
    YYDEBUG(1057, *YYCURSOR);
12344
48.5k
    ++YYCURSOR;
12345
48.5k
    YYDEBUG(1058, *YYCURSOR);
12346
48.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12347
48.5k
#line 2844 "Zend/zend_language_scanner.l"
12348
48.5k
    {
12349
48.5k
  yy_push_state(ST_IN_SCRIPTING);
12350
48.5k
  yyless(1);
12351
48.5k
  enter_nesting('{');
12352
48.5k
  RETURN_TOKEN(T_CURLY_OPEN);
12353
48.5k
}
12354
0
#line 12355 "Zend/zend_language_scanner.c"
12355
25.8k
yy1059:
12356
25.8k
    YYDEBUG(1059, *YYCURSOR);
12357
25.8k
    yych = *++YYCURSOR;
12358
25.8k
    if (yych == '>') goto yy1064;
12359
76.7k
yy1060:
12360
76.7k
    YYDEBUG(1060, *YYCURSOR);
12361
76.7k
    YYCURSOR = YYMARKER;
12362
76.7k
    goto yy1054;
12363
111k
yy1061:
12364
111k
    YYDEBUG(1061, *YYCURSOR);
12365
111k
    yych = *++YYCURSOR;
12366
111k
    if (yych == '-') goto yy1065;
12367
57.4k
    goto yy1060;
12368
57.4k
yy1062:
12369
18.1k
    YYDEBUG(1062, *YYCURSOR);
12370
18.1k
    ++YYCURSOR;
12371
18.1k
    YYDEBUG(1063, *YYCURSOR);
12372
18.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12373
18.1k
#line 2410 "Zend/zend_language_scanner.l"
12374
18.1k
    {
12375
18.1k
  yyless(yyleng - 1);
12376
18.1k
  yy_push_state(ST_VAR_OFFSET);
12377
18.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12378
18.1k
}
12379
0
#line 12380 "Zend/zend_language_scanner.c"
12380
20.6k
yy1064:
12381
20.6k
    YYDEBUG(1064, *YYCURSOR);
12382
20.6k
    yych = *++YYCURSOR;
12383
20.6k
    if (yych <= '_') {
12384
5.53k
      if (yych <= '@') goto yy1060;
12385
3.39k
      if (yych <= 'Z') goto yy1066;
12386
1.06k
      if (yych <= '^') goto yy1060;
12387
806
      goto yy1066;
12388
15.1k
    } else {
12389
15.1k
      if (yych <= '`') goto yy1060;
12390
14.8k
      if (yych <= 'z') goto yy1066;
12391
2.35k
      if (yych <= 0x7F) goto yy1060;
12392
788
      goto yy1066;
12393
2.35k
    }
12394
54.5k
yy1065:
12395
54.5k
    YYDEBUG(1065, *YYCURSOR);
12396
54.5k
    yych = *++YYCURSOR;
12397
54.5k
    if (yych == '>') goto yy1068;
12398
2.69k
    goto yy1060;
12399
16.4k
yy1066:
12400
16.4k
    YYDEBUG(1066, *YYCURSOR);
12401
16.4k
    ++YYCURSOR;
12402
16.4k
    YYDEBUG(1067, *YYCURSOR);
12403
16.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12404
16.4k
#line 2396 "Zend/zend_language_scanner.l"
12405
16.4k
    {
12406
16.4k
  yyless(yyleng - 3);
12407
16.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12408
16.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12409
16.4k
}
12410
0
#line 12411 "Zend/zend_language_scanner.c"
12411
51.8k
yy1068:
12412
51.8k
    YYDEBUG(1068, *YYCURSOR);
12413
51.8k
    yych = *++YYCURSOR;
12414
51.8k
    if (yych <= '_') {
12415
6.66k
      if (yych <= '@') goto yy1060;
12416
830
      if (yych <= 'Z') goto yy1069;
12417
569
      if (yych <= '^') goto yy1060;
12418
45.1k
    } else {
12419
45.1k
      if (yych <= '`') goto yy1060;
12420
44.4k
      if (yych <= 'z') goto yy1069;
12421
861
      if (yych <= 0x7F) goto yy1060;
12422
861
    }
12423
44.6k
yy1069:
12424
44.6k
    YYDEBUG(1069, *YYCURSOR);
12425
44.6k
    ++YYCURSOR;
12426
44.6k
    YYDEBUG(1070, *YYCURSOR);
12427
44.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12428
44.6k
#line 2402 "Zend/zend_language_scanner.l"
12429
44.6k
    {
12430
44.6k
  yyless(yyleng - 4);
12431
44.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12432
44.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12433
44.6k
}
12434
44.6k
#line 12435 "Zend/zend_language_scanner.c"
12435
44.6k
  }
12436
/* *********************************** */
12437
3.44M
yyc_ST_LOOKING_FOR_VARNAME:
12438
3.44M
  {
12439
3.44M
    static const unsigned char yybm[] = {
12440
3.44M
        0,   0,   0,   0,   0,   0,   0,   0, 
12441
3.44M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
3.44M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.44M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.44M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.44M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12447
3.44M
      128, 128,   0,   0,   0,   0,   0,   0, 
12448
3.44M
        0, 128, 128, 128, 128, 128, 128, 128, 
12449
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12450
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
3.44M
      128, 128, 128,   0,   0,   0,   0, 128, 
12452
3.44M
        0, 128, 128, 128, 128, 128, 128, 128, 
12453
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12454
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
3.44M
      128, 128, 128,   0,   0,   0,   0,   0, 
12456
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.44M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.44M
    };
12473
3.44M
    YYDEBUG(1071, *YYCURSOR);
12474
3.44M
    YYFILL(2);
12475
3.44M
    yych = *YYCURSOR;
12476
3.44M
    if (yych <= '_') {
12477
3.33M
      if (yych <= '@') goto yy1073;
12478
18.4k
      if (yych <= 'Z') goto yy1075;
12479
8.31k
      if (yych >= '_') goto yy1075;
12480
110k
    } else {
12481
110k
      if (yych <= '`') goto yy1073;
12482
106k
      if (yych <= 'z') goto yy1075;
12483
35.3k
      if (yych >= 0x80) goto yy1075;
12484
35.3k
    }
12485
3.33M
yy1073:
12486
3.33M
    YYDEBUG(1073, *YYCURSOR);
12487
3.33M
    ++YYCURSOR;
12488
3.44M
yy1074:
12489
3.44M
    YYDEBUG(1074, *YYCURSOR);
12490
3.44M
    yyleng = YYCURSOR - SCNG(yy_text);
12491
3.44M
#line 2003 "Zend/zend_language_scanner.l"
12492
3.44M
    {
12493
3.44M
  yyless(0);
12494
3.44M
  yy_pop_state();
12495
3.44M
  yy_push_state(ST_IN_SCRIPTING);
12496
3.44M
  goto restart;
12497
3.33M
}
12498
0
#line 12499 "Zend/zend_language_scanner.c"
12499
115k
yy1075:
12500
115k
    YYDEBUG(1075, *YYCURSOR);
12501
115k
    yych = *(YYMARKER = ++YYCURSOR);
12502
115k
    if (yych <= '_') {
12503
53.5k
      if (yych <= '@') {
12504
31.6k
        if (yych <= '/') goto yy1074;
12505
17.2k
        if (yych <= '9') goto yy1077;
12506
16.3k
        goto yy1074;
12507
21.8k
      } else {
12508
21.8k
        if (yych <= '[') goto yy1077;
12509
6.19k
        if (yych <= '^') goto yy1074;
12510
4.93k
        goto yy1077;
12511
6.19k
      }
12512
62.3k
    } else {
12513
62.3k
      if (yych <= '|') {
12514
49.6k
        if (yych <= '`') goto yy1074;
12515
49.2k
        if (yych <= 'z') goto yy1077;
12516
539
        goto yy1074;
12517
49.2k
      } else {
12518
12.7k
        if (yych <= '}') goto yy1077;
12519
11.3k
        if (yych <= 0x7F) goto yy1074;
12520
10.9k
        goto yy1077;
12521
11.3k
      }
12522
62.3k
    }
12523
356k
yy1076:
12524
356k
    YYDEBUG(1076, *YYCURSOR);
12525
356k
    ++YYCURSOR;
12526
356k
    YYFILL(1);
12527
356k
    yych = *YYCURSOR;
12528
438k
yy1077:
12529
438k
    YYDEBUG(1077, *YYCURSOR);
12530
438k
    if (yybm[0+yych] & 128) {
12531
356k
      goto yy1076;
12532
356k
    }
12533
82.6k
    if (yych <= '@') goto yy1078;
12534
10.1k
    if (yych <= '[') goto yy1079;
12535
8.77k
    if (yych == '}') goto yy1079;
12536
79.3k
yy1078:
12537
79.3k
    YYDEBUG(1078, *YYCURSOR);
12538
79.3k
    YYCURSOR = YYMARKER;
12539
79.3k
    goto yy1074;
12540
3.27k
yy1079:
12541
3.27k
    YYDEBUG(1079, *YYCURSOR);
12542
3.27k
    ++YYCURSOR;
12543
3.27k
    YYDEBUG(1080, *YYCURSOR);
12544
3.27k
    yyleng = YYCURSOR - SCNG(yy_text);
12545
3.27k
#line 1995 "Zend/zend_language_scanner.l"
12546
3.27k
    {
12547
3.27k
  yyless(yyleng - 1);
12548
3.27k
  yy_pop_state();
12549
3.27k
  yy_push_state(ST_IN_SCRIPTING);
12550
3.27k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12551
3.27k
}
12552
3.27k
#line 12553 "Zend/zend_language_scanner.c"
12553
3.27k
  }
12554
/* *********************************** */
12555
336k
yyc_ST_VAR_OFFSET:
12556
336k
  {
12557
336k
    static const unsigned char yybm[] = {
12558
336k
        0,   0,   0,   0,   0,   0,   0,   0, 
12559
336k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
336k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
336k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
336k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
336k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
336k
      248, 248, 216, 216, 216, 216, 216, 216, 
12565
336k
      152, 152,   0,   0,   0,   0,   0,   0, 
12566
336k
        0, 144, 144, 144, 144, 144, 144,  16, 
12567
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12568
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
336k
       16,  16,  16,   0,   0,   0,   0,  16, 
12570
336k
        0, 144, 144, 144, 144, 144, 144,  16, 
12571
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12572
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
336k
       16,  16,  16,   0,   0,   0,   0,   0, 
12574
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
336k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
336k
    };
12591
336k
    YYDEBUG(1081, *YYCURSOR);
12592
336k
    YYFILL(2);
12593
336k
    yych = *YYCURSOR;
12594
336k
    if (yych <= '0') {
12595
172k
      if (yych <= ' ') {
12596
75.6k
        if (yych <= '\f') {
12597
61.7k
          if (yych <= 0x08) goto yy1083;
12598
9.07k
          if (yych <= '\n') goto yy1085;
12599
13.8k
        } else {
12600
13.8k
          if (yych <= '\r') goto yy1085;
12601
13.3k
          if (yych >= ' ') goto yy1085;
12602
13.3k
        }
12603
97.2k
      } else {
12604
97.2k
        if (yych <= '$') {
12605
51.3k
          if (yych <= '"') goto yy1087;
12606
42.9k
          if (yych <= '#') goto yy1085;
12607
42.5k
          goto yy1089;
12608
45.8k
        } else {
12609
45.8k
          if (yych == '\'') goto yy1085;
12610
45.0k
          if (yych <= '/') goto yy1087;
12611
19.0k
          goto yy1090;
12612
45.0k
        }
12613
97.2k
      }
12614
172k
    } else {
12615
163k
      if (yych <= ']') {
12616
114k
        if (yych <= 'Z') {
12617
66.5k
          if (yych <= '9') goto yy1092;
12618
51.5k
          if (yych <= '@') goto yy1087;
12619
8.10k
          goto yy1094;
12620
51.5k
        } else {
12621
47.7k
          if (yych <= '[') goto yy1087;
12622
14.9k
          if (yych <= '\\') goto yy1085;
12623
14.6k
          goto yy1097;
12624
14.9k
        }
12625
114k
      } else {
12626
49.4k
        if (yych <= '`') {
12627
4.01k
          if (yych == '_') goto yy1094;
12628
1.90k
          goto yy1087;
12629
45.4k
        } else {
12630
45.4k
          if (yych <= 'z') goto yy1094;
12631
27.2k
          if (yych <= '~') goto yy1087;
12632
19.5k
          if (yych >= 0x80) goto yy1094;
12633
19.5k
        }
12634
49.4k
      }
12635
163k
    }
12636
70.6k
yy1083:
12637
70.6k
    YYDEBUG(1083, *YYCURSOR);
12638
70.6k
    ++YYCURSOR;
12639
70.6k
    YYDEBUG(1084, *YYCURSOR);
12640
70.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12641
70.6k
#line 3178 "Zend/zend_language_scanner.l"
12642
70.6k
    {
12643
70.6k
  if (YYCURSOR > YYLIMIT) {
12644
2.37k
    RETURN_END_TOKEN;
12645
2.37k
  }
12646
12647
68.3k
  RETURN_TOKEN(T_BAD_CHARACTER);
12648
68.3k
}
12649
0
#line 12650 "Zend/zend_language_scanner.c"
12650
8.01k
yy1085:
12651
8.01k
    YYDEBUG(1085, *YYCURSOR);
12652
8.01k
    ++YYCURSOR;
12653
8.01k
    YYDEBUG(1086, *YYCURSOR);
12654
8.01k
    yyleng = YYCURSOR - SCNG(yy_text);
12655
8.01k
#line 2430 "Zend/zend_language_scanner.l"
12656
8.01k
    {
12657
  /* Invalid rule to return a more explicit parse error with proper line number */
12658
8.01k
  yyless(0);
12659
8.01k
  yy_pop_state();
12660
8.01k
  ZVAL_NULL(zendlval);
12661
8.01k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12662
8.01k
}
12663
0
#line 12664 "Zend/zend_language_scanner.c"
12664
120k
yy1087:
12665
120k
    YYDEBUG(1087, *YYCURSOR);
12666
120k
    ++YYCURSOR;
12667
149k
yy1088:
12668
149k
    YYDEBUG(1088, *YYCURSOR);
12669
149k
    yyleng = YYCURSOR - SCNG(yy_text);
12670
149k
#line 2425 "Zend/zend_language_scanner.l"
12671
149k
    {
12672
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12673
149k
  RETURN_TOKEN(yytext[0]);
12674
149k
}
12675
0
#line 12676 "Zend/zend_language_scanner.c"
12676
42.5k
yy1089:
12677
42.5k
    YYDEBUG(1089, *YYCURSOR);
12678
42.5k
    yych = *++YYCURSOR;
12679
42.5k
    if (yych <= '_') {
12680
29.5k
      if (yych <= '@') goto yy1088;
12681
4.21k
      if (yych <= 'Z') goto yy1099;
12682
1.32k
      if (yych <= '^') goto yy1088;
12683
284
      goto yy1099;
12684
13.0k
    } else {
12685
13.0k
      if (yych <= '`') goto yy1088;
12686
12.7k
      if (yych <= 'z') goto yy1099;
12687
5.26k
      if (yych <= 0x7F) goto yy1088;
12688
2.76k
      goto yy1099;
12689
5.26k
    }
12690
19.0k
yy1090:
12691
19.0k
    YYDEBUG(1090, *YYCURSOR);
12692
19.0k
    yyaccept = 0;
12693
19.0k
    yych = *(YYMARKER = ++YYCURSOR);
12694
19.0k
    if (yych <= 'X') {
12695
10.2k
      if (yych <= 'B') {
12696
8.94k
        if (yych <= '/') goto yy1091;
12697
7.50k
        if (yych <= '9') goto yy1102;
12698
4.14k
        if (yych >= 'B') goto yy1105;
12699
4.14k
      } else {
12700
1.30k
        if (yych == 'O') goto yy1107;
12701
1.05k
        if (yych >= 'X') goto yy1108;
12702
1.05k
      }
12703
10.2k
    } else {
12704
8.82k
      if (yych <= 'b') {
12705
5.31k
        if (yych == '_') goto yy1109;
12706
4.48k
        if (yych >= 'b') goto yy1105;
12707
4.48k
      } else {
12708
3.50k
        if (yych <= 'o') {
12709
955
          if (yych >= 'o') goto yy1107;
12710
2.55k
        } else {
12711
2.55k
          if (yych == 'x') goto yy1108;
12712
2.55k
        }
12713
3.50k
      }
12714
8.82k
    }
12715
27.7k
yy1091:
12716
27.7k
    YYDEBUG(1091, *YYCURSOR);
12717
27.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12718
27.7k
#line 2207 "Zend/zend_language_scanner.l"
12719
27.7k
    { /* Offset could be treated as a long */
12720
27.7k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12721
25.8k
    char *end;
12722
25.8k
    errno = 0;
12723
25.8k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12724
25.8k
    if (errno == ERANGE) {
12725
0
      goto string;
12726
0
    }
12727
25.8k
    ZEND_ASSERT(end == yytext + yyleng);
12728
25.8k
  } else {
12729
1.92k
string:
12730
1.92k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12731
1.92k
  }
12732
27.7k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12733
27.7k
}
12734
0
#line 12735 "Zend/zend_language_scanner.c"
12735
109k
yy1092:
12736
109k
    YYDEBUG(1092, *YYCURSOR);
12737
109k
    yyaccept = 0;
12738
109k
    YYMARKER = ++YYCURSOR;
12739
109k
    YYFILL(1);
12740
109k
    yych = *YYCURSOR;
12741
109k
    YYDEBUG(1093, *YYCURSOR);
12742
109k
    if (yybm[0+yych] & 8) {
12743
94.0k
      goto yy1092;
12744
94.0k
    }
12745
15.0k
    if (yych == '_') goto yy1109;
12746
14.2k
    goto yy1091;
12747
183k
yy1094:
12748
183k
    YYDEBUG(1094, *YYCURSOR);
12749
183k
    ++YYCURSOR;
12750
183k
    YYFILL(1);
12751
183k
    yych = *YYCURSOR;
12752
183k
    YYDEBUG(1095, *YYCURSOR);
12753
183k
    if (yybm[0+yych] & 16) {
12754
137k
      goto yy1094;
12755
137k
    }
12756
46.5k
    YYDEBUG(1096, *YYCURSOR);
12757
46.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12758
46.5k
#line 2454 "Zend/zend_language_scanner.l"
12759
46.5k
    {
12760
46.5k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12761
46.5k
}
12762
0
#line 12763 "Zend/zend_language_scanner.c"
12763
14.6k
yy1097:
12764
14.6k
    YYDEBUG(1097, *YYCURSOR);
12765
14.6k
    ++YYCURSOR;
12766
14.6k
    YYDEBUG(1098, *YYCURSOR);
12767
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12768
14.6k
#line 2420 "Zend/zend_language_scanner.l"
12769
14.6k
    {
12770
14.6k
  yy_pop_state();
12771
14.6k
  RETURN_TOKEN(']');
12772
14.6k
}
12773
0
#line 12774 "Zend/zend_language_scanner.c"
12774
39.1k
yy1099:
12775
39.1k
    YYDEBUG(1099, *YYCURSOR);
12776
39.1k
    ++YYCURSOR;
12777
39.1k
    YYFILL(1);
12778
39.1k
    yych = *YYCURSOR;
12779
39.1k
    YYDEBUG(1100, *YYCURSOR);
12780
39.1k
    if (yych <= '^') {
12781
16.0k
      if (yych <= '9') {
12782
4.86k
        if (yych >= '0') goto yy1099;
12783
11.1k
      } else {
12784
11.1k
        if (yych <= '@') goto yy1101;
12785
9.81k
        if (yych <= 'Z') goto yy1099;
12786
9.81k
      }
12787
23.0k
    } else {
12788
23.0k
      if (yych <= '`') {
12789
1.12k
        if (yych <= '_') goto yy1099;
12790
21.9k
      } else {
12791
21.9k
        if (yych <= 'z') goto yy1099;
12792
6.67k
        if (yych >= 0x80) goto yy1099;
12793
6.67k
      }
12794
23.0k
    }
12795
13.4k
yy1101:
12796
13.4k
    YYDEBUG(1101, *YYCURSOR);
12797
13.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12798
13.4k
#line 2416 "Zend/zend_language_scanner.l"
12799
13.4k
    {
12800
13.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12801
13.4k
}
12802
0
#line 12803 "Zend/zend_language_scanner.c"
12803
17.6k
yy1102:
12804
17.6k
    YYDEBUG(1102, *YYCURSOR);
12805
17.6k
    yyaccept = 1;
12806
17.6k
    YYMARKER = ++YYCURSOR;
12807
17.6k
    YYFILL(1);
12808
17.6k
    yych = *YYCURSOR;
12809
17.6k
    YYDEBUG(1103, *YYCURSOR);
12810
17.6k
    if (yych <= '/') goto yy1104;
12811
15.2k
    if (yych <= '9') goto yy1102;
12812
2.02k
    if (yych == '_') goto yy1109;
12813
6.42k
yy1104:
12814
6.42k
    YYDEBUG(1104, *YYCURSOR);
12815
6.42k
    yyleng = YYCURSOR - SCNG(yy_text);
12816
6.42k
#line 2223 "Zend/zend_language_scanner.l"
12817
6.42k
    { /* Offset must be treated as a string */
12818
6.42k
  if (yyleng == 1) {
12819
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12820
6.42k
  } else {
12821
6.42k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12822
6.42k
  }
12823
6.42k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12824
6.42k
}
12825
0
#line 12826 "Zend/zend_language_scanner.c"
12826
1.35k
yy1105:
12827
1.35k
    YYDEBUG(1105, *YYCURSOR);
12828
1.35k
    ++YYCURSOR;
12829
1.35k
    YYFILL(1);
12830
1.35k
    yych = *YYCURSOR;
12831
1.35k
    if (yybm[0+yych] & 32) {
12832
849
      goto yy1110;
12833
849
    }
12834
2.78k
yy1106:
12835
2.78k
    YYDEBUG(1106, *YYCURSOR);
12836
2.78k
    YYCURSOR = YYMARKER;
12837
2.78k
    if (yyaccept == 0) {
12838
2.19k
      goto yy1091;
12839
2.19k
    } else {
12840
596
      goto yy1104;
12841
596
    }
12842
1.17k
yy1107:
12843
1.17k
    YYDEBUG(1107, *YYCURSOR);
12844
1.17k
    ++YYCURSOR;
12845
1.17k
    YYFILL(1);
12846
1.17k
    yych = *YYCURSOR;
12847
1.17k
    if (yybm[0+yych] & 64) {
12848
609
      goto yy1112;
12849
609
    }
12850
567
    goto yy1106;
12851
2.20k
yy1108:
12852
2.20k
    YYDEBUG(1108, *YYCURSOR);
12853
2.20k
    ++YYCURSOR;
12854
2.20k
    YYFILL(1);
12855
2.20k
    yych = *YYCURSOR;
12856
2.20k
    if (yybm[0+yych] & 128) {
12857
1.38k
      goto yy1114;
12858
1.38k
    }
12859
822
    goto yy1106;
12860
1.98k
yy1109:
12861
1.98k
    YYDEBUG(1109, *YYCURSOR);
12862
1.98k
    ++YYCURSOR;
12863
1.98k
    YYFILL(1);
12864
1.98k
    yych = *YYCURSOR;
12865
1.98k
    if (yych <= '/') goto yy1106;
12866
1.65k
    if (yych <= '9') goto yy1102;
12867
560
    goto yy1106;
12868
1.26k
yy1110:
12869
1.26k
    YYDEBUG(1110, *YYCURSOR);
12870
1.26k
    yyaccept = 1;
12871
1.26k
    YYMARKER = ++YYCURSOR;
12872
1.26k
    YYFILL(1);
12873
1.26k
    yych = *YYCURSOR;
12874
1.26k
    YYDEBUG(1111, *YYCURSOR);
12875
1.26k
    if (yybm[0+yych] & 32) {
12876
416
      goto yy1110;
12877
416
    }
12878
849
    if (yych == '_') goto yy1105;
12879
616
    goto yy1104;
12880
1.70k
yy1112:
12881
1.70k
    YYDEBUG(1112, *YYCURSOR);
12882
1.70k
    yyaccept = 1;
12883
1.70k
    YYMARKER = ++YYCURSOR;
12884
1.70k
    YYFILL(1);
12885
1.70k
    yych = *YYCURSOR;
12886
1.70k
    YYDEBUG(1113, *YYCURSOR);
12887
1.70k
    if (yybm[0+yych] & 64) {
12888
1.09k
      goto yy1112;
12889
1.09k
    }
12890
609
    if (yych == '_') goto yy1107;
12891
310
    goto yy1104;
12892
2.82k
yy1114:
12893
2.82k
    YYDEBUG(1114, *YYCURSOR);
12894
2.82k
    yyaccept = 1;
12895
2.82k
    YYMARKER = ++YYCURSOR;
12896
2.82k
    YYFILL(1);
12897
2.82k
    yych = *YYCURSOR;
12898
2.82k
    YYDEBUG(1115, *YYCURSOR);
12899
2.82k
    if (yybm[0+yych] & 128) {
12900
1.44k
      goto yy1114;
12901
1.44k
    }
12902
1.38k
    if (yych == '_') goto yy1108;
12903
778
    goto yy1104;
12904
1.38k
  }
12905
/* *********************************** */
12906
778
yyc_SHEBANG:
12907
0
  {
12908
0
    static const unsigned char yybm[] = {
12909
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12910
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12911
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
    };
12942
0
    YYDEBUG(1116, *YYCURSOR);
12943
0
    YYFILL(2);
12944
0
    yych = *YYCURSOR;
12945
0
    if (yych == '#') goto yy1120;
12946
0
    YYDEBUG(1118, *YYCURSOR);
12947
0
    ++YYCURSOR;
12948
0
yy1119:
12949
0
    YYDEBUG(1119, *YYCURSOR);
12950
0
    yyleng = YYCURSOR - SCNG(yy_text);
12951
0
#line 2294 "Zend/zend_language_scanner.l"
12952
0
    {
12953
0
  yyless(0);
12954
0
  BEGIN(INITIAL);
12955
0
  goto restart;
12956
0
}
12957
0
#line 12958 "Zend/zend_language_scanner.c"
12958
0
yy1120:
12959
0
    YYDEBUG(1120, *YYCURSOR);
12960
0
    yych = *++YYCURSOR;
12961
0
    if (yych != '!') goto yy1119;
12962
0
yy1121:
12963
0
    YYDEBUG(1121, *YYCURSOR);
12964
0
    ++YYCURSOR;
12965
0
    YYFILL(1);
12966
0
    yych = *YYCURSOR;
12967
0
    YYDEBUG(1122, *YYCURSOR);
12968
0
    if (yybm[0+yych] & 128) {
12969
0
      goto yy1121;
12970
0
    }
12971
0
    YYDEBUG(1123, *YYCURSOR);
12972
0
    ++YYCURSOR;
12973
0
    YYDEBUG(1124, *YYCURSOR);
12974
0
    yyleng = YYCURSOR - SCNG(yy_text);
12975
0
#line 2288 "Zend/zend_language_scanner.l"
12976
0
    {
12977
0
  CG(zend_lineno)++;
12978
0
  BEGIN(INITIAL);
12979
0
  goto restart;
12980
0
}
12981
0
#line 12982 "Zend/zend_language_scanner.c"
12982
0
  }
12983
/* *********************************** */
12984
449k
yyc_INITIAL:
12985
449k
  YYDEBUG(1125, *YYCURSOR);
12986
449k
  YYFILL(7);
12987
449k
  yych = *YYCURSOR;
12988
449k
  if (yych == '<') goto yy1129;
12989
201k
  YYDEBUG(1127, *YYCURSOR);
12990
201k
  ++YYCURSOR;
12991
212k
yy1128:
12992
212k
  YYDEBUG(1128, *YYCURSOR);
12993
212k
  yyleng = YYCURSOR - SCNG(yy_text);
12994
212k
#line 2340 "Zend/zend_language_scanner.l"
12995
212k
  {
12996
212k
  if (YYCURSOR > YYLIMIT) {
12997
65.6k
    RETURN_END_TOKEN;
12998
65.6k
  }
12999
13000
146k
inline_char_handler:
13001
13002
306k
  while (1) {
13003
306k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13004
13005
306k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13006
13007
306k
    if (YYCURSOR >= YYLIMIT) {
13008
27.3k
      break;
13009
27.3k
    }
13010
13011
278k
    if (*YYCURSOR == '?') {
13012
119k
      if (CG(short_tags) /* <? */
13013
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13014
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13015
0
          (YYCURSOR + 4 == YYLIMIT ||
13016
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13017
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13018
119k
      ) {
13019
119k
        YYCURSOR--;
13020
119k
        break;
13021
119k
      }
13022
119k
    }
13023
278k
  }
13024
13025
146k
  yyleng = YYCURSOR - SCNG(yy_text);
13026
13027
146k
  if (SCNG(output_filter)) {
13028
0
    size_t readsize;
13029
0
    char *s = NULL;
13030
0
    size_t sz = 0;
13031
    // TODO: avoid reallocation ???
13032
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13033
0
    ZVAL_STRINGL(zendlval, s, sz);
13034
0
    efree(s);
13035
0
    if (readsize < yyleng) {
13036
0
      yyless(readsize);
13037
0
    }
13038
146k
  } else if (yyleng == 1) {
13039
16.1k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13040
130k
  } else {
13041
130k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13042
130k
  }
13043
146k
  HANDLE_NEWLINES(yytext, yyleng);
13044
146k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13045
146k
}
13046
0
#line 13047 "Zend/zend_language_scanner.c"
13047
247k
yy1129:
13048
247k
  YYDEBUG(1129, *YYCURSOR);
13049
247k
  yych = *++YYCURSOR;
13050
247k
  if (yych != '?') goto yy1128;
13051
237k
  YYDEBUG(1130, *YYCURSOR);
13052
237k
  yych = *(YYMARKER = ++YYCURSOR);
13053
237k
  if (yych <= 'O') {
13054
64.5k
    if (yych == '=') goto yy1132;
13055
172k
  } else {
13056
172k
    if (yych <= 'P') goto yy1134;
13057
172k
    if (yych == 'p') goto yy1134;
13058
172k
  }
13059
135k
yy1131:
13060
135k
  YYDEBUG(1131, *YYCURSOR);
13061
135k
  yyleng = YYCURSOR - SCNG(yy_text);
13062
135k
#line 2331 "Zend/zend_language_scanner.l"
13063
135k
  {
13064
135k
  if (CG(short_tags)) {
13065
135k
    BEGIN(ST_IN_SCRIPTING);
13066
135k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13067
135k
  } else {
13068
0
    goto inline_char_handler;
13069
0
  }
13070
135k
}
13071
0
#line 13072 "Zend/zend_language_scanner.c"
13072
1.19k
yy1132:
13073
1.19k
  YYDEBUG(1132, *YYCURSOR);
13074
1.19k
  ++YYCURSOR;
13075
1.19k
  YYDEBUG(1133, *YYCURSOR);
13076
1.19k
  yyleng = YYCURSOR - SCNG(yy_text);
13077
1.19k
#line 2300 "Zend/zend_language_scanner.l"
13078
1.19k
  {
13079
1.19k
  BEGIN(ST_IN_SCRIPTING);
13080
1.19k
  if (PARSER_MODE()) {
13081
    /* We'll reject this as an identifier in zend_lex_tstring. */
13082
607
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13083
607
  }
13084
587
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13085
587
}
13086
0
#line 13087 "Zend/zend_language_scanner.c"
13087
107k
yy1134:
13088
107k
  YYDEBUG(1134, *YYCURSOR);
13089
107k
  yych = *++YYCURSOR;
13090
107k
  if (yych == 'H') goto yy1136;
13091
106k
  if (yych == 'h') goto yy1136;
13092
6.71k
yy1135:
13093
6.71k
  YYDEBUG(1135, *YYCURSOR);
13094
6.71k
  YYCURSOR = YYMARKER;
13095
6.71k
  goto yy1131;
13096
102k
yy1136:
13097
102k
  YYDEBUG(1136, *YYCURSOR);
13098
102k
  yych = *++YYCURSOR;
13099
102k
  if (yych == 'P') goto yy1137;
13100
102k
  if (yych != 'p') goto yy1135;
13101
100k
yy1137:
13102
100k
  YYDEBUG(1137, *YYCURSOR);
13103
100k
  yych = *++YYCURSOR;
13104
100k
  if (yych <= '\f') {
13105
87.9k
    if (yych <= 0x08) goto yy1138;
13106
87.3k
    if (yych <= '\n') goto yy1139;
13107
87.3k
  } else {
13108
12.5k
    if (yych <= '\r') goto yy1141;
13109
11.8k
    if (yych == ' ') goto yy1139;
13110
11.8k
  }
13111
4.67k
yy1138:
13112
4.67k
  YYDEBUG(1138, *YYCURSOR);
13113
4.67k
  yyleng = YYCURSOR - SCNG(yy_text);
13114
4.67k
#line 2316 "Zend/zend_language_scanner.l"
13115
4.67k
  {
13116
  /* Allow <?php followed by end of file. */
13117
4.67k
  if (YYCURSOR == YYLIMIT) {
13118
314
    BEGIN(ST_IN_SCRIPTING);
13119
314
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13120
314
  }
13121
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13122
4.36k
  if (CG(short_tags)) {
13123
4.36k
    yyless(2);
13124
4.36k
    BEGIN(ST_IN_SCRIPTING);
13125
4.36k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13126
4.36k
  }
13127
0
  goto inline_char_handler;
13128
4.36k
}
13129
0
#line 13130 "Zend/zend_language_scanner.c"
13130
95.3k
yy1139:
13131
95.3k
  YYDEBUG(1139, *YYCURSOR);
13132
95.3k
  ++YYCURSOR;
13133
95.8k
yy1140:
13134
95.8k
  YYDEBUG(1140, *YYCURSOR);
13135
95.8k
  yyleng = YYCURSOR - SCNG(yy_text);
13136
95.8k
#line 2310 "Zend/zend_language_scanner.l"
13137
95.8k
  {
13138
95.8k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13139
95.8k
  BEGIN(ST_IN_SCRIPTING);
13140
95.8k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13141
95.8k
}
13142
0
#line 13143 "Zend/zend_language_scanner.c"
13143
710
yy1141:
13144
710
  YYDEBUG(1141, *YYCURSOR);
13145
710
  yych = *++YYCURSOR;
13146
710
  if (yych == '\n') goto yy1139;
13147
490
  goto yy1140;
13148
/* *********************************** */
13149
25.7k
yyc_ST_END_HEREDOC:
13150
25.7k
  YYDEBUG(1142, *YYCURSOR);
13151
25.7k
  YYFILL(1);
13152
25.7k
  yych = *YYCURSOR;
13153
25.7k
  YYDEBUG(1144, *YYCURSOR);
13154
25.7k
  ++YYCURSOR;
13155
25.7k
  YYDEBUG(1145, *YYCURSOR);
13156
25.7k
  yyleng = YYCURSOR - SCNG(yy_text);
13157
25.7k
#line 2830 "Zend/zend_language_scanner.l"
13158
25.7k
  {
13159
25.7k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13160
13161
25.7k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13162
25.7k
  YYCURSOR += yyleng - 1;
13163
13164
25.7k
  heredoc_label_dtor(heredoc_label);
13165
25.7k
  efree(heredoc_label);
13166
13167
25.7k
  BEGIN(ST_IN_SCRIPTING);
13168
25.7k
  RETURN_TOKEN(T_END_HEREDOC);
13169
25.7k
}
13170
0
#line 13171 "Zend/zend_language_scanner.c"
13171
/* *********************************** */
13172
10.7k
yyc_ST_NOWDOC:
13173
10.7k
  YYDEBUG(1146, *YYCURSOR);
13174
10.7k
  YYFILL(1);
13175
10.7k
  yych = *YYCURSOR;
13176
10.7k
  YYDEBUG(1148, *YYCURSOR);
13177
10.7k
  ++YYCURSOR;
13178
10.7k
  YYDEBUG(1149, *YYCURSOR);
13179
10.7k
  yyleng = YYCURSOR - SCNG(yy_text);
13180
10.7k
#line 3087 "Zend/zend_language_scanner.l"
13181
10.7k
  {
13182
10.7k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13183
10.7k
  int newline = 0, indentation = 0, spacing = -1;
13184
13185
10.7k
  if (YYCURSOR > YYLIMIT) {
13186
1.65k
    RETURN_END_TOKEN;
13187
1.65k
  }
13188
13189
9.07k
  YYCURSOR--;
13190
13191
1.12M
  while (YYCURSOR < YYLIMIT) {
13192
1.12M
    switch (*YYCURSOR++) {
13193
9.52k
      case '\r':
13194
9.52k
        if (*YYCURSOR == '\n') {
13195
872
          YYCURSOR++;
13196
872
        }
13197
9.52k
        ZEND_FALLTHROUGH;
13198
79.3k
      case '\n':
13199
79.3k
        indentation = spacing = 0;
13200
13201
118k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13202
39.5k
          if (*YYCURSOR == '\t') {
13203
991
            spacing |= HEREDOC_USING_TABS;
13204
38.5k
          } else {
13205
38.5k
            spacing |= HEREDOC_USING_SPACES;
13206
38.5k
          }
13207
39.5k
          ++YYCURSOR;
13208
39.5k
          ++indentation;
13209
39.5k
        }
13210
13211
79.3k
        if (YYCURSOR == YYLIMIT) {
13212
448
          yyleng = YYCURSOR - SCNG(yy_text);
13213
448
          HANDLE_NEWLINES(yytext, yyleng);
13214
448
          ZVAL_NULL(zendlval);
13215
448
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13216
448
        }
13217
13218
        /* Check for ending label on the next line */
13219
78.8k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13220
8.74k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13221
1.34k
            continue;
13222
1.34k
          }
13223
13224
7.40k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13225
77
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13226
77
            if (PARSER_MODE()) {
13227
11
              RETURN_TOKEN(T_ERROR);
13228
11
            }
13229
77
          }
13230
13231
          /* newline before label will be subtracted from returned text, but
13232
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13233
7.39k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13234
273
            newline = 2; /* Windows newline */
13235
7.11k
          } else {
13236
7.11k
            newline = 1;
13237
7.11k
          }
13238
13239
7.39k
          CG(increment_lineno) = 1; /* For newline before label */
13240
13241
7.39k
          YYCURSOR -= indentation;
13242
7.39k
          heredoc_label->indentation = indentation;
13243
13244
7.39k
          BEGIN(ST_END_HEREDOC);
13245
13246
7.39k
          goto nowdoc_scan_done;
13247
7.40k
        }
13248
70.1k
        ZEND_FALLTHROUGH;
13249
1.11M
      default:
13250
1.11M
        continue;
13251
1.12M
    }
13252
1.12M
  }
13253
13254
8.61k
nowdoc_scan_done:
13255
8.61k
  yyleng = YYCURSOR - SCNG(yy_text);
13256
8.61k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13257
13258
8.61k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13259
1.90k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13260
1.90k
    if (!strip_multiline_string_indentation(
13261
1.90k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13262
1.90k
        newline_at_start, newline != 0)) {
13263
39
      RETURN_TOKEN(T_ERROR);
13264
39
    }
13265
1.90k
  }
13266
13267
8.57k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13268
8.57k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13269
8.57k
}
13270
8.57k
#line 13271 "Zend/zend_language_scanner.c"
13271
8.57k
}
13272
0
#line 3186 "Zend/zend_language_scanner.l"
13273
13274
13275
6.66M
emit_token_with_str:
13276
6.66M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13277
13278
10.3M
emit_token_with_val:
13279
10.3M
  if (PARSER_MODE()) {
13280
3.69M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13281
3.69M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13282
3.69M
  }
13283
13284
35.8M
emit_token:
13285
35.8M
  if (SCNG(on_event)) {
13286
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13287
0
  }
13288
35.8M
  return token;
13289
13290
1.28M
emit_token_with_ident:
13291
1.28M
  if (PARSER_MODE()) {
13292
686k
    elem->ident = SCNG(yy_text);
13293
686k
  }
13294
1.28M
  if (SCNG(on_event)) {
13295
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13296
0
  }
13297
1.28M
  return token;
13298
13299
6.01M
return_whitespace:
13300
6.01M
  HANDLE_NEWLINES(yytext, yyleng);
13301
6.01M
  if (SCNG(on_event)) {
13302
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13303
0
  }
13304
6.01M
  if (PARSER_MODE()) {
13305
2.81M
    start_line = CG(zend_lineno);
13306
2.81M
    goto restart;
13307
3.19M
  } else {
13308
3.19M
    return T_WHITESPACE;
13309
3.19M
  }
13310
13311
294k
skip_token:
13312
294k
  if (SCNG(on_event)) {
13313
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13314
0
  }
13315
294k
  start_line = CG(zend_lineno);
13316
294k
  goto restart;
13317
6.01M
}