Coverage Report

Created: 2026-06-02 06:40

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright © Zend Technologies Ltd., a subsidiary company of          |
8
   |     Perforce Software, Inc., and Contributors.                       |
9
   +----------------------------------------------------------------------+
10
   | This source file is subject to the Modified BSD License that is      |
11
   | bundled with this package in the file LICENSE, and is available      |
12
   | through the World Wide Web at <https://www.php.net/license/>.        |
13
   |                                                                      |
14
   | SPDX-License-Identifier: BSD-3-Clause                                |
15
   +----------------------------------------------------------------------+
16
   | Authors: Marcus Boerger <helly@php.net>                              |
17
   |          Nuno Lopes <nlopess@php.net>                                |
18
   |          Scott MacVicar <scottmac@php.net>                           |
19
   | Flex version authors:                                                |
20
   |          Andi Gutmans <andi@php.net>                                 |
21
   |          Zeev Suraski <zeev@php.net>                                 |
22
   +----------------------------------------------------------------------+
23
*/
24
25
#if 0
26
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
27
#else
28
# define YYDEBUG(s, c)
29
#endif
30
31
#include "zend_language_scanner_defs.h"
32
33
#include <errno.h>
34
#include <stdint.h>
35
#include "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
44.2M
#define YYCTYPE   unsigned char
53
112M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
722M
#define YYCURSOR  SCNG(yy_cursor)
55
230M
#define YYLIMIT   SCNG(yy_limit)
56
42.6M
#define YYMARKER  SCNG(yy_marker)
57
58
145M
#define YYGETCONDITION()  SCNG(yy_state)
59
15.6M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
3.83M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
282k
#define YYSTATE      YYGETCONDITION()
66
16.6M
#define yytext       ((char*)SCNG(yy_text))
67
58.4M
#define yyleng       SCNG(yy_leng)
68
3.61M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
3.61M
                          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.42G
#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
6.76M
#define HANDLE_NEWLINES(s, l)                         \
96
6.76M
do {                                     \
97
6.76M
  char *p = (s), *boundary = p+(l);                     \
98
6.76M
                                        \
99
63.5M
  while (p<boundary) {                           \
100
56.7M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
101
5.55M
      CG(zend_lineno)++;                          \
102
5.55M
    }                                    \
103
56.7M
    p++;                                  \
104
56.7M
  }                                      \
105
6.76M
} while (0)
106
107
262k
#define HANDLE_NEWLINE(c) \
108
262k
{ \
109
262k
  if (c == '\n' || c == '\r') { \
110
95.5k
    CG(zend_lineno)++; \
111
95.5k
  } \
112
262k
}
113
114
/* To save initial string length after scanning to first variable */
115
175k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
116
352k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
117
118
6.14M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
119
41.1k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
120
121
167k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
122
28.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
7.31k
{
127
7.31k
  char *src = str, *dest = str;
128
145k
  while (*src != '\0') {
129
138k
    if (*src != '_') {
130
128k
      *dest = *src;
131
128k
      dest++;
132
128k
    } else {
133
9.51k
      --(*len);
134
9.51k
    }
135
138k
    src++;
136
138k
  }
137
7.31k
  *dest = '\0';
138
7.31k
}
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
7.76M
{
169
7.76M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
170
7.76M
  YYSETCONDITION(new_state);
171
7.76M
}
172
173
7.76M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
174
175
static void yy_pop_state(void)
176
3.80M
{
177
3.80M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
178
3.80M
  YYSETCONDITION(*stack_state);
179
3.80M
  zend_stack_del_top(&SCNG(state_stack));
180
3.80M
}
181
182
static void yy_scan_buffer(char *str, size_t len)
183
134k
{
184
134k
  YYCURSOR       = (YYCTYPE*)str;
185
134k
  YYLIMIT        = YYCURSOR + len;
186
134k
  if (!SCNG(yy_start)) {
187
28.9k
    SCNG(yy_start) = YYCURSOR;
188
28.9k
  }
189
134k
}
190
191
void startup_scanner(void)
192
228k
{
193
228k
  CG(parse_error) = 0;
194
228k
  CG(doc_comment) = NULL;
195
228k
  CG(extra_fn_flags) = 0;
196
228k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
197
228k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
198
228k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
199
228k
  SCNG(heredoc_scan_ahead) = 0;
200
228k
}
201
202
5.30M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
203
5.30M
    efree(heredoc_label->label);
204
5.30M
}
205
206
void shutdown_scanner(void)
207
228k
{
208
228k
  CG(parse_error) = 0;
209
228k
  RESET_DOC_COMMENT();
210
228k
  zend_stack_destroy(&SCNG(state_stack));
211
228k
  zend_stack_destroy(&SCNG(nest_location_stack));
212
228k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
213
228k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
214
228k
  SCNG(heredoc_scan_ahead) = 0;
215
228k
  SCNG(on_event) = NULL;
216
228k
  SCNG(on_event_context) = NULL;
217
228k
}
218
219
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
220
282k
{
221
282k
  lex_state->yy_leng   = SCNG(yy_leng);
222
282k
  lex_state->yy_start  = SCNG(yy_start);
223
282k
  lex_state->yy_text   = SCNG(yy_text);
224
282k
  lex_state->yy_cursor = SCNG(yy_cursor);
225
282k
  lex_state->yy_marker = SCNG(yy_marker);
226
282k
  lex_state->yy_limit  = SCNG(yy_limit);
227
228
282k
  lex_state->state_stack = SCNG(state_stack);
229
282k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
230
231
282k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
232
282k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
233
234
282k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
235
282k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
236
237
282k
  lex_state->in = SCNG(yy_in);
238
282k
  lex_state->yy_state = YYSTATE;
239
282k
  lex_state->filename = CG(compiled_filename);
240
282k
  lex_state->lineno = CG(zend_lineno);
241
282k
  CG(compiled_filename) = NULL;
242
243
282k
  lex_state->script_org = SCNG(script_org);
244
282k
  lex_state->script_org_size = SCNG(script_org_size);
245
282k
  lex_state->script_filtered = SCNG(script_filtered);
246
282k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
247
282k
  lex_state->input_filter = SCNG(input_filter);
248
282k
  lex_state->output_filter = SCNG(output_filter);
249
282k
  lex_state->script_encoding = SCNG(script_encoding);
250
251
282k
  lex_state->on_event = SCNG(on_event);
252
282k
  lex_state->on_event_context = SCNG(on_event_context);
253
254
282k
  lex_state->ast = CG(ast);
255
282k
  lex_state->ast_arena = CG(ast_arena);
256
282k
}
257
258
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
259
276k
{
260
276k
  SCNG(yy_leng)   = lex_state->yy_leng;
261
276k
  SCNG(yy_start)  = lex_state->yy_start;
262
276k
  SCNG(yy_text)   = lex_state->yy_text;
263
276k
  SCNG(yy_cursor) = lex_state->yy_cursor;
264
276k
  SCNG(yy_marker) = lex_state->yy_marker;
265
276k
  SCNG(yy_limit)  = lex_state->yy_limit;
266
267
276k
  zend_stack_destroy(&SCNG(state_stack));
268
276k
  SCNG(state_stack) = lex_state->state_stack;
269
270
276k
  zend_stack_destroy(&SCNG(nest_location_stack));
271
276k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
272
273
276k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
274
276k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
275
276k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
276
277
276k
  SCNG(yy_in) = lex_state->in;
278
276k
  YYSETCONDITION(lex_state->yy_state);
279
276k
  CG(zend_lineno) = lex_state->lineno;
280
276k
  zend_restore_compiled_filename(lex_state->filename);
281
282
276k
  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
276k
  SCNG(script_org) = lex_state->script_org;
287
276k
  SCNG(script_org_size) = lex_state->script_org_size;
288
276k
  SCNG(script_filtered) = lex_state->script_filtered;
289
276k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
290
276k
  SCNG(input_filter) = lex_state->input_filter;
291
276k
  SCNG(output_filter) = lex_state->output_filter;
292
276k
  SCNG(script_encoding) = lex_state->script_encoding;
293
294
276k
  SCNG(on_event) = lex_state->on_event;
295
276k
  SCNG(on_event_context) = lex_state->on_event_context;
296
297
276k
  CG(ast) = lex_state->ast;
298
276k
  CG(ast_arena) = lex_state->ast_arena;
299
300
276k
  RESET_DOC_COMMENT();
301
276k
}
302
303
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
304
13.3k
{
305
13.3k
  unsigned char *end = ident;
306
81.1k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
307
67.7k
    end++;
308
67.7k
  }
309
310
13.3k
  size_t length = end - ident;
311
13.3k
  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
13.3k
  if (SCNG(on_event)) {
318
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
319
0
  }
320
321
13.3k
  ZVAL_STRINGL(zv, (char *) ident, length);
322
13.3k
  return SUCCESS;
323
13.3k
}
324
325
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
326
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
327
0
#define BOM_UTF16_BE  "\xfe\xff"
328
0
#define BOM_UTF16_LE  "\xff\xfe"
329
0
#define BOM_UTF8    "\xef\xbb\xbf"
330
331
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
332
0
{
333
0
  const unsigned char *p;
334
0
  int wchar_size = 2;
335
0
  int le = 0;
336
337
  /* utf-16 or utf-32? */
338
0
  p = script;
339
0
  assert(p >= script);
340
0
  while ((size_t)(p-script) < script_size) {
341
0
    p = memchr(p, 0, script_size-(p-script)-2);
342
0
    if (!p) {
343
0
      break;
344
0
    }
345
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
346
0
      wchar_size = 4;
347
0
      break;
348
0
    }
349
350
    /* searching for UTF-32 specific byte orders, so this will do */
351
0
    p += 4;
352
0
  }
353
354
  /* BE or LE? */
355
0
  p = script;
356
0
  assert(p >= script);
357
0
  while ((size_t)(p-script) < script_size) {
358
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
359
      /* BE */
360
0
      le = 0;
361
0
      break;
362
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
363
      /* LE* */
364
0
      le = 1;
365
0
      break;
366
0
    }
367
0
    p += wchar_size;
368
0
  }
369
370
0
  if (wchar_size == 2) {
371
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
372
0
  } else {
373
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
374
0
  }
375
376
0
  return NULL;
377
0
}
378
379
static const zend_encoding* zend_multibyte_detect_unicode(void)
380
0
{
381
0
  const zend_encoding *script_encoding = NULL;
382
0
  int bom_size;
383
0
  unsigned char *pos1, *pos2;
384
385
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
386
0
    return NULL;
387
0
  }
388
389
  /* check out BOM */
390
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
391
0
    script_encoding = zend_multibyte_encoding_utf32be;
392
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
393
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
394
0
    script_encoding = zend_multibyte_encoding_utf32le;
395
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
396
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
397
0
    script_encoding = zend_multibyte_encoding_utf16be;
398
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
399
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
400
0
    script_encoding = zend_multibyte_encoding_utf16le;
401
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
402
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
403
0
    script_encoding = zend_multibyte_encoding_utf8;
404
0
    bom_size = sizeof(BOM_UTF8)-1;
405
0
  }
406
407
0
  if (script_encoding) {
408
    /* remove BOM */
409
0
    LANG_SCNG(script_org) += bom_size;
410
0
    LANG_SCNG(script_org_size) -= bom_size;
411
412
0
    return script_encoding;
413
0
  }
414
415
  /* script contains NULL bytes -> auto-detection */
416
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
417
    /* check if the NULL byte is after the __HALT_COMPILER(); */
418
0
    pos2 = LANG_SCNG(script_org);
419
420
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
421
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
422
0
      if (!pos2) break;
423
0
      pos2++;
424
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
425
0
        pos2 += sizeof("_HALT_COMPILER")-1;
426
0
        while (*pos2 == ' '  ||
427
0
             *pos2 == '\t' ||
428
0
             *pos2 == '\r' ||
429
0
             *pos2 == '\n') {
430
0
          pos2++;
431
0
        }
432
0
        if (*pos2 == '(') {
433
0
          pos2++;
434
0
          while (*pos2 == ' '  ||
435
0
               *pos2 == '\t' ||
436
0
               *pos2 == '\r' ||
437
0
               *pos2 == '\n') {
438
0
            pos2++;
439
0
          }
440
0
          if (*pos2 == ')') {
441
0
            pos2++;
442
0
            while (*pos2 == ' '  ||
443
0
                 *pos2 == '\t' ||
444
0
                 *pos2 == '\r' ||
445
0
                 *pos2 == '\n') {
446
0
              pos2++;
447
0
            }
448
0
            if (*pos2 == ';') {
449
0
              return NULL;
450
0
            }
451
0
          }
452
0
        }
453
0
      }
454
0
    }
455
    /* make best effort if BOM is missing */
456
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
457
0
  }
458
459
0
  return NULL;
460
0
}
461
462
static const zend_encoding* zend_multibyte_find_script_encoding(void)
463
0
{
464
0
  const zend_encoding *script_encoding;
465
466
0
  if (CG(detect_unicode)) {
467
    /* check out bom(byte order mark) and see if containing wchars */
468
0
    script_encoding = zend_multibyte_detect_unicode();
469
0
    if (script_encoding != NULL) {
470
      /* bom or wchar detection is prior to 'script_encoding' option */
471
0
      return script_encoding;
472
0
    }
473
0
  }
474
475
  /* if no script_encoding specified, just leave alone */
476
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
477
0
    return NULL;
478
0
  }
479
480
  /* if multiple encodings specified, detect automagically */
481
0
  if (CG(script_encoding_list_size) > 1) {
482
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
483
0
  }
484
485
0
  return CG(script_encoding_list)[0];
486
0
}
487
488
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
489
0
{
490
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
491
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
492
493
0
  if (!script_encoding) {
494
0
    return FAILURE;
495
0
  }
496
497
  /* judge input/output filter */
498
0
  LANG_SCNG(script_encoding) = script_encoding;
499
0
  LANG_SCNG(input_filter) = NULL;
500
0
  LANG_SCNG(output_filter) = NULL;
501
502
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
503
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
504
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
505
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
506
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
507
0
    } else {
508
0
      LANG_SCNG(input_filter) = NULL;
509
0
      LANG_SCNG(output_filter) = NULL;
510
0
    }
511
0
    return SUCCESS;
512
0
  }
513
514
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
515
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
516
0
    LANG_SCNG(output_filter) = NULL;
517
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
518
0
    LANG_SCNG(input_filter) = NULL;
519
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
520
0
  } else {
521
    /* both script and internal encodings are incompatible w/ flex */
522
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
523
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
524
0
  }
525
526
0
  return SUCCESS;
527
0
}
528
529
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
530
107k
{
531
107k
  char *buf;
532
107k
  size_t size;
533
107k
  zend_string *compiled_filename;
534
535
107k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
536
    /* Still add it to open_files to make destroy_file_handle work */
537
777
    zend_llist_add_element(&CG(open_files), file_handle);
538
777
    file_handle->in_list = 1;
539
777
    return FAILURE;
540
777
  }
541
542
106k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
543
106k
  zend_llist_add_element(&CG(open_files), file_handle);
544
105k
  file_handle->in_list = 1;
545
546
  /* Reset the scanner for scanning the new file */
547
105k
  SCNG(yy_in) = file_handle;
548
105k
  SCNG(yy_start) = NULL;
549
550
105k
  if (size != (size_t)-1) {
551
105k
    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
105k
    SCNG(yy_start) = (unsigned char *)buf;
568
105k
    yy_scan_buffer(buf, size);
569
105k
  } else {
570
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
571
0
  }
572
573
105k
  if (CG(skip_shebang)) {
574
0
    BEGIN(SHEBANG);
575
105k
  } else {
576
105k
    BEGIN(INITIAL);
577
105k
  }
578
579
105k
  if (file_handle->opened_path) {
580
51
    compiled_filename = zend_string_copy(file_handle->opened_path);
581
105k
  } else {
582
105k
    compiled_filename = zend_string_copy(file_handle->filename);
583
105k
  }
584
585
105k
  zend_set_compiled_filename(compiled_filename);
586
105k
  zend_string_release_ex(compiled_filename, 0);
587
588
105k
  SCNG(on_event) = NULL;
589
105k
  SCNG(on_event_context) = NULL;
590
105k
  RESET_DOC_COMMENT();
591
105k
  CG(zend_lineno) = 1;
592
105k
  CG(increment_lineno) = 0;
593
105k
  return SUCCESS;
594
105k
}
595
596
static zend_op_array *zend_compile(zend_function_type type)
597
110k
{
598
110k
  zend_op_array *op_array = NULL;
599
110k
  bool original_in_compilation = CG(in_compilation);
600
601
110k
  CG(in_compilation) = 1;
602
110k
  CG(ast) = NULL;
603
110k
  CG(ast_arena) = zend_arena_create(1024 * 32);
604
605
110k
  if (!zendparse()) {
606
79.1k
    uint32_t last_lineno = CG(zend_lineno);
607
79.1k
    zend_file_context original_file_context;
608
79.1k
    zend_oparray_context original_oparray_context;
609
79.1k
    zend_op_array *original_active_op_array = CG(active_op_array);
610
611
79.1k
    op_array = emalloc(sizeof(zend_op_array));
612
79.1k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
613
79.1k
    CG(active_op_array) = op_array;
614
615
    /* Use heap to not waste arena memory */
616
79.1k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
617
618
79.1k
    if (zend_ast_process) {
619
0
      zend_ast_process(CG(ast));
620
0
    }
621
622
79.1k
    zend_file_context_begin(&original_file_context);
623
79.1k
    zend_oparray_context_begin(&original_oparray_context, op_array);
624
79.1k
    zend_compile_top_stmt(CG(ast));
625
79.1k
    CG(zend_lineno) = last_lineno;
626
79.1k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
627
79.1k
    op_array->line_start = 1;
628
79.1k
    op_array->line_end = last_lineno;
629
79.1k
    pass_two(op_array);
630
79.1k
    zend_oparray_context_end(&original_oparray_context);
631
79.1k
    zend_file_context_end(&original_file_context);
632
633
79.1k
    CG(active_op_array) = original_active_op_array;
634
79.1k
  }
635
636
110k
  zend_ast_destroy(CG(ast));
637
110k
  zend_arena_destroy(CG(ast_arena));
638
639
110k
  CG(in_compilation) = original_in_compilation;
640
641
110k
  return op_array;
642
110k
}
643
644
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
645
107k
{
646
107k
  zend_lex_state original_lex_state;
647
107k
  zend_op_array *op_array = NULL;
648
107k
  zend_save_lexical_state(&original_lex_state);
649
650
107k
  if (open_file_for_scanning(file_handle)==FAILURE) {
651
777
    if (!EG(exception)) {
652
710
      if (type==ZEND_REQUIRE) {
653
681
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
654
681
      } else {
655
29
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
656
29
      }
657
710
    }
658
106k
  } else {
659
106k
    bool orig_record_errors = EG(record_errors);
660
106k
    if (!orig_record_errors) {
661
60
      zend_begin_record_errors();
662
60
    }
663
664
106k
    op_array = zend_compile(ZEND_USER_FUNCTION);
665
666
106k
    if (!orig_record_errors) {
667
60
      zend_emit_recorded_errors();
668
60
      zend_free_recorded_errors();
669
60
    }
670
106k
  }
671
672
107k
  zend_restore_lexical_state(&original_lex_state);
673
107k
  return op_array;
674
107k
}
675
676
ZEND_API zend_ast *zend_compile_string_to_ast(
677
18
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
678
18
  zval code_zv;
679
18
  bool original_in_compilation;
680
18
  zend_lex_state original_lex_state;
681
18
  zend_ast *ast;
682
683
18
  ZVAL_STR_COPY(&code_zv, code);
684
685
18
  original_in_compilation = CG(in_compilation);
686
18
  CG(in_compilation) = 1;
687
688
18
  zend_save_lexical_state(&original_lex_state);
689
18
  zend_prepare_string_for_scanning(&code_zv, filename);
690
18
  CG(ast) = NULL;
691
18
  CG(ast_arena) = zend_arena_create(1024 * 32);
692
18
  LANG_SCNG(yy_state) = yycINITIAL;
693
694
18
  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
18
  ast = CG(ast);
702
18
  *ast_arena = CG(ast_arena);
703
704
18
  zend_restore_lexical_state(&original_lex_state);
705
18
  CG(in_compilation) = original_in_compilation;
706
707
18
  zval_ptr_dtor_str(&code_zv);
708
709
18
  return ast;
710
18
}
711
712
zend_op_array *compile_filename(int type, zend_string *filename)
713
110k
{
714
110k
  zend_file_handle file_handle;
715
110k
  zend_op_array *retval;
716
110k
  zend_string *opened_path = NULL;
717
718
110k
  zend_stream_init_filename_ex(&file_handle, filename);
719
720
110k
  retval = zend_compile_file(&file_handle, type);
721
110k
  if (retval && file_handle.handle.stream.handle) {
722
61
    if (!file_handle.opened_path) {
723
11
      file_handle.opened_path = opened_path = zend_string_copy(filename);
724
11
    }
725
726
61
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
727
728
61
    if (opened_path) {
729
11
      zend_string_release_ex(opened_path, 0);
730
11
    }
731
61
  }
732
110k
  zend_destroy_file_handle(&file_handle);
733
734
110k
  return retval;
735
110k
}
736
737
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
738
28.9k
{
739
28.9k
  char *buf;
740
28.9k
  size_t size, old_len;
741
742
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
743
28.9k
  old_len = Z_STRLEN_P(str);
744
28.9k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
745
28.9k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
746
28.9k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
747
748
28.9k
  SCNG(yy_in) = NULL;
749
28.9k
  SCNG(yy_start) = NULL;
750
751
28.9k
  buf = Z_STRVAL_P(str);
752
28.9k
  size = old_len;
753
754
28.9k
  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
28.9k
  yy_scan_buffer(buf, size);
772
28.9k
  zend_set_compiled_filename(filename);
773
28.9k
  CG(zend_lineno) = 1;
774
28.9k
  CG(increment_lineno) = 0;
775
28.9k
  SCNG(on_event) = NULL;
776
28.9k
  SCNG(on_event_context) = NULL;
777
28.9k
  RESET_DOC_COMMENT();
778
28.9k
}
779
780
781
ZEND_API size_t zend_get_scanned_file_offset(void)
782
75
{
783
75
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
784
75
  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
75
  return offset;
800
75
}
801
802
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
803
4.71k
{
804
4.71k
  zend_lex_state original_lex_state;
805
4.71k
  zend_op_array *op_array = NULL;
806
4.71k
  zval tmp;
807
4.71k
  zend_string *filename_str;
808
809
4.71k
  if (ZSTR_LEN(source_string) == 0) {
810
31
    return NULL;
811
31
  }
812
813
4.68k
  ZVAL_STR_COPY(&tmp, source_string);
814
815
4.68k
  zend_save_lexical_state(&original_lex_state);
816
4.68k
  filename_str = zend_string_init(filename, strlen(filename), 0);
817
4.68k
  zend_prepare_string_for_scanning(&tmp, filename_str);
818
4.68k
  zend_string_release(filename_str);
819
820
4.68k
  switch (position) {
821
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
822
0
      BEGIN(SHEBANG);
823
0
      break;
824
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
825
0
      BEGIN(INITIAL);
826
0
      break;
827
4.68k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
828
4.68k
      BEGIN(ST_IN_SCRIPTING);
829
4.68k
      break;
830
4.68k
  }
831
832
4.68k
  op_array = zend_compile(ZEND_EVAL_CODE);
833
834
4.68k
  zend_restore_lexical_state(&original_lex_state);
835
4.68k
  zval_ptr_dtor(&tmp);
836
837
4.68k
  return op_array;
838
4.68k
}
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
24.2k
{
866
24.2k
  zend_lex_state original_lex_state;
867
24.2k
  zval str_zv;
868
24.2k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
869
24.2k
  ZVAL_STR_COPY(&str_zv, str);
870
24.2k
  zend_save_lexical_state(&original_lex_state);
871
24.2k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
872
24.2k
  zend_string_release(filename_str);
873
24.2k
  BEGIN(INITIAL);
874
24.2k
  zend_highlight(syntax_highlighter_ini);
875
24.2k
  if (SCNG(script_filtered)) {
876
0
    efree(SCNG(script_filtered));
877
0
    SCNG(script_filtered) = NULL;
878
0
  }
879
24.2k
  zend_restore_lexical_state(&original_lex_state);
880
24.2k
  zval_ptr_dtor(&str_zv);
881
24.2k
}
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.03M
  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.03M
  } else if (yyleng == 1) { \
927
2.01M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
928
4.01M
  } else { \
929
4.01M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
930
4.01M
  }
931
932
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
933
701k
{
934
701k
  char *s, *t;
935
701k
  char *end;
936
937
701k
  if (len <= 1) {
938
154k
    if (len < 1) {
939
23.1k
      ZVAL_EMPTY_STRING(zendlval);
940
130k
    } else {
941
130k
      zend_uchar c = (zend_uchar)*str;
942
130k
      HANDLE_NEWLINE(c);
943
130k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
944
130k
    }
945
154k
    goto skip_escape_conversion;
946
154k
  }
947
948
547k
  ZVAL_STRINGL(zendlval, str, len);
949
950
  /* convert escape sequences */
951
547k
  s = Z_STRVAL_P(zendlval);
952
547k
  end = s+Z_STRLEN_P(zendlval);
953
16.7M
  while (1) {
954
16.7M
    if (UNEXPECTED(*s=='\\')) {
955
120k
      break;
956
120k
    }
957
16.6M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
958
493k
      CG(zend_lineno)++;
959
493k
    }
960
16.6M
    s++;
961
16.6M
    if (s == end) {
962
426k
      goto skip_escape_conversion;
963
426k
    }
964
16.6M
  }
965
966
120k
  t = s;
967
4.38M
  while (s<end) {
968
4.26M
    if (*s=='\\') {
969
288k
      s++;
970
288k
      if (s >= end) {
971
1.42k
        *t++ = '\\';
972
1.42k
        break;
973
1.42k
      }
974
975
287k
      switch(*s) {
976
49.3k
        case 'n':
977
49.3k
          *t++ = '\n';
978
49.3k
          break;
979
1.25k
        case 'r':
980
1.25k
          *t++ = '\r';
981
1.25k
          break;
982
1.18k
        case 't':
983
1.18k
          *t++ = '\t';
984
1.18k
          break;
985
1.70k
        case 'f':
986
1.70k
          *t++ = '\f';
987
1.70k
          break;
988
2.51k
        case 'v':
989
2.51k
          *t++ = '\v';
990
2.51k
          break;
991
650
        case 'e':
992
#ifdef ZEND_WIN32
993
          *t++ = VK_ESCAPE;
994
#else
995
650
          *t++ = '\e';
996
650
#endif
997
650
          break;
998
1.57k
        case '"':
999
3.14k
        case '`':
1000
3.14k
          if (*s != quote_type) {
1001
957
            *t++ = '\\';
1002
957
            *t++ = *s;
1003
957
            break;
1004
957
          }
1005
2.19k
          ZEND_FALLTHROUGH;
1006
79.5k
        case '\\':
1007
81.7k
        case '$':
1008
81.7k
          *t++ = *s;
1009
81.7k
          break;
1010
6.94k
        case 'x':
1011
11.6k
        case 'X':
1012
11.6k
          if (ZEND_IS_HEX(*(s+1))) {
1013
7.42k
            char hex_buf[3] = { 0, 0, 0 };
1014
1015
7.42k
            hex_buf[0] = *(++s);
1016
7.42k
            if (ZEND_IS_HEX(*(s+1))) {
1017
4.89k
              hex_buf[1] = *(++s);
1018
4.89k
            }
1019
7.42k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1020
7.42k
          } else {
1021
4.24k
            *t++ = '\\';
1022
4.24k
            *t++ = *s;
1023
4.24k
          }
1024
11.6k
          break;
1025
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1026
3.22k
        case 'u':
1027
3.22k
          {
1028
            /* cache where we started so we can parse after validating */
1029
3.22k
            char *start = s + 1;
1030
3.22k
            size_t len = 0;
1031
3.22k
            bool valid = 1;
1032
3.22k
            unsigned long codepoint;
1033
1034
3.22k
            if (*start != '{') {
1035
              /* we silently let this pass to avoid breaking code
1036
               * with JSON in string literals (e.g. "\"\u202e\""
1037
               */
1038
664
              *t++ = '\\';
1039
664
              *t++ = 'u';
1040
664
              break;
1041
2.55k
            } else {
1042
              /* on the other hand, invalid \u{blah} errors */
1043
2.55k
              s++;
1044
2.55k
              len++;
1045
2.55k
              s++;
1046
11.3k
              while (*s != '}') {
1047
9.28k
                if (!ZEND_IS_HEX(*s)) {
1048
475
                  valid = 0;
1049
475
                  break;
1050
8.80k
                } else {
1051
8.80k
                  len++;
1052
8.80k
                }
1053
8.80k
                s++;
1054
8.80k
              }
1055
2.55k
              if (*s == '}') {
1056
2.08k
                valid = 1;
1057
2.08k
                len++;
1058
2.08k
              }
1059
2.55k
            }
1060
1061
            /* \u{} is invalid */
1062
2.55k
            if (len <= 2) {
1063
545
              valid = 0;
1064
545
            }
1065
1066
2.55k
            if (!valid) {
1067
678
              zend_throw_exception(zend_ce_parse_error,
1068
678
                "Invalid UTF-8 codepoint escape sequence", 0);
1069
678
              zval_ptr_dtor(zendlval);
1070
678
              ZVAL_UNDEF(zendlval);
1071
678
              return FAILURE;
1072
678
            }
1073
1074
2.55k
            errno = 0;
1075
1.88k
            codepoint = strtoul(start + 1, NULL, 16);
1076
1077
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1078
1.88k
            if (codepoint > 0x10FFFF || errno) {
1079
73
              zend_throw_exception(zend_ce_parse_error,
1080
73
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1081
73
              zval_ptr_dtor(zendlval);
1082
73
              ZVAL_UNDEF(zendlval);
1083
73
              return FAILURE;
1084
73
            }
1085
1086
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1087
1.80k
            if (codepoint < 0x80) {
1088
301
              *t++ = codepoint;
1089
1.50k
            } else if (codepoint <= 0x7FF) {
1090
318
              *t++ = (codepoint >> 6) + 0xC0;
1091
318
              *t++ = (codepoint & 0x3F) + 0x80;
1092
1.18k
            } else if (codepoint <= 0xFFFF) {
1093
272
              *t++ = (codepoint >> 12) + 0xE0;
1094
272
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1095
272
              *t++ = (codepoint & 0x3F) + 0x80;
1096
917
            } else if (codepoint <= 0x10FFFF) {
1097
917
              *t++ = (codepoint >> 18) + 0xF0;
1098
917
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1099
917
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1100
917
              *t++ = (codepoint & 0x3F) + 0x80;
1101
917
            }
1102
1.80k
          }
1103
0
          break;
1104
133k
        default:
1105
          /* check for an octal */
1106
133k
          if (ZEND_IS_OCT(*s)) {
1107
26.9k
            char octal_buf[4] = { 0, 0, 0, 0 };
1108
1109
26.9k
            octal_buf[0] = *s;
1110
26.9k
            if (ZEND_IS_OCT(*(s+1))) {
1111
7.65k
              octal_buf[1] = *(++s);
1112
7.65k
              if (ZEND_IS_OCT(*(s+1))) {
1113
3.38k
                octal_buf[2] = *(++s);
1114
3.38k
              }
1115
7.65k
            }
1116
26.9k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1117
              /* 3 octit values must not overflow 0xFF (\377) */
1118
505
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1119
505
            }
1120
1121
26.9k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1122
106k
          } else {
1123
106k
            *t++ = '\\';
1124
106k
            *t++ = *s;
1125
106k
          }
1126
133k
          break;
1127
287k
      }
1128
3.97M
    } else {
1129
3.97M
      *t++ = *s;
1130
3.97M
    }
1131
1132
4.25M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1133
120k
      CG(zend_lineno)++;
1134
120k
    }
1135
4.25M
    s++;
1136
4.25M
  }
1137
120k
  *t = 0;
1138
120k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1139
1140
700k
skip_escape_conversion:
1141
700k
  if (SCNG(output_filter)) {
1142
0
    size_t sz = 0;
1143
0
    unsigned char *str;
1144
    // TODO: avoid realocation ???
1145
0
    s = Z_STRVAL_P(zendlval);
1146
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1147
0
    zval_ptr_dtor(zendlval);
1148
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1149
0
    efree(str);
1150
0
  }
1151
700k
  return SUCCESS;
1152
120k
}
1153
1154
566k
#define HEREDOC_USING_SPACES 1
1155
38.0k
#define HEREDOC_USING_TABS 2
1156
1157
218k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1158
2.66M
  for (; str < end; str++) {
1159
2.56M
    if (*str == '\r') {
1160
16.2k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1161
16.2k
      return str;
1162
2.54M
    } else if (*str == '\n') {
1163
102k
      *newline_len = 1;
1164
102k
      return str;
1165
102k
    }
1166
2.56M
  }
1167
100k
  *newline_len = 0;
1168
100k
  return NULL;
1169
218k
}
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
96.3k
{
1175
96.3k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1176
96.3k
  char *copy = Z_STRVAL_P(zendlval);
1177
1178
96.3k
  uint32_t newline_count = 0;
1179
96.3k
  size_t newline_len;
1180
96.3k
  const char *nl;
1181
1182
96.3k
  if (!newline_at_start) {
1183
62.4k
    nl = next_newline(str, end, &newline_len);
1184
62.4k
    if (!nl) {
1185
36.2k
      return 1;
1186
36.2k
    }
1187
1188
26.2k
    str = nl + newline_len;
1189
26.2k
    copy = (char *) nl + newline_len;
1190
26.2k
    newline_count++;
1191
33.8k
  } else {
1192
33.8k
    nl = str;
1193
33.8k
  }
1194
1195
  /* <= intentional */
1196
184k
  while (str <= end && nl) {
1197
155k
    size_t skip;
1198
155k
    nl = next_newline(str, end, &newline_len);
1199
155k
    if (!nl && newline_at_end) {
1200
8.05k
      nl = end;
1201
8.05k
    }
1202
1203
    /* Try to skip indentation */
1204
158k
    for (skip = 0; skip < indentation; skip++, str++) {
1205
3.38k
      if (str == nl) {
1206
        /* Don't require full indentation on whitespace-only lines */
1207
461
        break;
1208
461
      }
1209
1210
2.92k
      if (str == end || (*str != ' ' && *str != '\t')) {
1211
56
        CG(zend_lineno) += newline_count;
1212
56
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1213
56
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1214
56
        goto error;
1215
56
      }
1216
1217
2.86k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1218
29
        CG(zend_lineno) += newline_count;
1219
29
        zend_throw_exception(zend_ce_parse_error,
1220
29
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1221
29
        goto error;
1222
29
      }
1223
2.86k
    }
1224
1225
155k
    if (str == end) {
1226
31.4k
      break;
1227
31.4k
    }
1228
1229
124k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1230
124k
    memmove(copy, str, len);
1231
124k
    str += len;
1232
124k
    copy += len;
1233
124k
    newline_count++;
1234
124k
  }
1235
1236
59.9k
  *copy = '\0';
1237
59.9k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1238
59.9k
  return 1;
1239
1240
85
error:
1241
85
  zval_ptr_dtor_str(zendlval);
1242
85
  ZVAL_UNDEF(zendlval);
1243
1244
85
  return 0;
1245
60.0k
}
1246
1247
static void copy_heredoc_label_stack(void *void_heredoc_label)
1248
2.21M
{
1249
2.21M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1250
2.21M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1251
1252
2.21M
  *new_heredoc_label = *heredoc_label;
1253
2.21M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1254
1255
2.21M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1256
2.21M
}
1257
1258
/* Check that { }, [ ], ( ) are nested correctly */
1259
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1260
277k
{
1261
277k
  char   buf[256];
1262
277k
  size_t used = 0;
1263
1264
277k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1265
1266
277k
  if (opening_lineno != CG(zend_lineno)) {
1267
164k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1268
164k
  }
1269
1270
277k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1271
150k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1272
150k
  }
1273
1274
277k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1275
277k
}
1276
1277
static void enter_nesting(char opening)
1278
5.65M
{
1279
5.65M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1280
5.65M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1281
5.65M
}
1282
1283
static zend_result exit_nesting(char closing)
1284
1.42M
{
1285
1.42M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1286
20.1k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1287
20.1k
    return FAILURE;
1288
20.1k
  }
1289
1290
1.40M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1291
1.40M
  char opening = nest_loc->text;
1292
1293
1.40M
  if ((opening == '{' && closing != '}') ||
1294
1.36M
      (opening == '[' && closing != ']') ||
1295
1.34M
      (opening == '(' && closing != ')')) {
1296
150k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1297
150k
    return FAILURE;
1298
150k
  }
1299
1300
1.25M
  zend_stack_del_top(&SCNG(nest_location_stack));
1301
1.25M
  return SUCCESS;
1302
1.40M
}
1303
1304
static zend_result check_nesting_at_end(void)
1305
221k
{
1306
221k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1307
126k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1308
126k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1309
126k
    return FAILURE;
1310
126k
  }
1311
1312
94.3k
  return SUCCESS;
1313
221k
}
1314
1315
#define PARSER_MODE() \
1316
17.7M
  EXPECTED(elem != NULL)
1317
1318
23.6M
#define RETURN_TOKEN(_token) do { \
1319
23.6M
    token = _token; \
1320
23.6M
    goto emit_token; \
1321
23.6M
  } while (0)
1322
1323
3.14M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1324
3.14M
    token = _token; \
1325
3.14M
    goto emit_token_with_val; \
1326
3.14M
  } while (0)
1327
1328
6.03M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1329
6.03M
    token = _token; \
1330
6.03M
    offset = _offset; \
1331
6.03M
    goto emit_token_with_str; \
1332
6.03M
  } while (0)
1333
1334
1.18M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1335
1.18M
    token = _token; \
1336
1.18M
    goto emit_token_with_ident; \
1337
1.18M
  } while (0)
1338
1339
969k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1340
969k
    token = _token; \
1341
969k
    if (PARSER_MODE()) { \
1342
251k
      goto skip_token; \
1343
251k
    } \
1344
969k
    goto emit_token; \
1345
969k
  } while (0)
1346
1347
1.42M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1348
1.42M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1349
232
      RETURN_TOKEN(T_ERROR); \
1350
1.42M
    } else { \
1351
1.42M
      RETURN_TOKEN(_token); \
1352
1.42M
    } \
1353
1.42M
  } while(0)
1354
1355
221k
#define RETURN_END_TOKEN do { \
1356
221k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1357
3.89k
      RETURN_TOKEN(T_ERROR); \
1358
217k
    } else { \
1359
217k
      RETURN_TOKEN(END); \
1360
217k
    } \
1361
221k
  } while (0)
1362
1363
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1364
37.7M
{
1365
37.7M
int token;
1366
37.7M
int offset;
1367
37.7M
uint32_t start_line = CG(zend_lineno);
1368
1369
37.7M
  ZVAL_UNDEF(zendlval);
1370
43.8M
restart:
1371
43.8M
  SCNG(yy_text) = YYCURSOR;
1372
1373
1374
43.8M
#line 1375 "Zend/zend_language_scanner.c"
1375
43.8M
{
1376
43.8M
  YYCTYPE yych;
1377
43.8M
  unsigned int yyaccept = 0;
1378
43.8M
  if (YYGETCONDITION() < 5) {
1379
39.9M
    if (YYGETCONDITION() < 2) {
1380
34.6M
      if (YYGETCONDITION() < 1) {
1381
34.3M
        goto yyc_ST_IN_SCRIPTING;
1382
34.3M
      } else {
1383
348k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1384
348k
      }
1385
34.6M
    } else {
1386
5.29M
      if (YYGETCONDITION() < 3) {
1387
199k
        goto yyc_ST_BACKQUOTE;
1388
5.09M
      } else {
1389
5.09M
        if (YYGETCONDITION() < 4) {
1390
544k
          goto yyc_ST_DOUBLE_QUOTES;
1391
4.55M
        } else {
1392
4.55M
          goto yyc_ST_HEREDOC;
1393
4.55M
        }
1394
5.09M
      }
1395
5.29M
    }
1396
39.9M
  } else {
1397
3.91M
    if (YYGETCONDITION() < 8) {
1398
3.46M
      if (YYGETCONDITION() < 6) {
1399
3.21M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1400
3.21M
      } else {
1401
251k
        if (YYGETCONDITION() < 7) {
1402
251k
          goto yyc_ST_VAR_OFFSET;
1403
251k
        } else {
1404
0
          goto yyc_SHEBANG;
1405
0
        }
1406
251k
      }
1407
3.46M
    } else {
1408
445k
      if (YYGETCONDITION() < 9) {
1409
412k
        goto yyc_INITIAL;
1410
412k
      } else {
1411
33.3k
        if (YYGETCONDITION() < 10) {
1412
22.6k
          goto yyc_ST_END_HEREDOC;
1413
22.6k
        } else {
1414
10.6k
          goto yyc_ST_NOWDOC;
1415
10.6k
        }
1416
33.3k
      }
1417
445k
    }
1418
3.91M
  }
1419
/* *********************************** */
1420
34.3M
yyc_ST_IN_SCRIPTING:
1421
34.3M
  {
1422
34.3M
    static const unsigned char yybm[] = {
1423
      /* table 1 .. 8: 0 */
1424
34.3M
        0, 134, 134, 134, 134, 134, 134, 134, 
1425
34.3M
      134, 135,   4, 134, 134,   4, 134, 134, 
1426
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1427
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
34.3M
      135, 134, 134, 134, 134, 134, 134, 134, 
1429
34.3M
      134, 134,  66, 134, 134, 134, 134, 134, 
1430
34.3M
      190, 190, 182, 182, 182, 182, 182, 182, 
1431
34.3M
      166, 166, 134, 134, 134, 134, 134, 134, 
1432
34.3M
      134, 166, 166, 166, 166, 166, 166, 134, 
1433
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1434
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
34.3M
      134, 166, 166, 166, 166, 166, 166, 134, 
1437
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1438
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
34.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
      /* table 9 .. 11: 256 */
1457
34.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1458
34.3M
        0,  32,  32,   0,   0,  32,   0,   0, 
1459
34.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1460
34.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
34.3M
       32,   0,   0,   0,   0,   0,   0,   0, 
1462
34.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1463
34.3M
      192, 192, 192, 192, 192, 192, 192, 192, 
1464
34.3M
      192, 192,   0,   0,   0,   0,   0,   0, 
1465
34.3M
        0, 128, 128, 128, 128, 128, 128, 128, 
1466
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1467
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
34.3M
      128, 128, 128,   0,   0,   0,   0, 128, 
1469
34.3M
        0, 128, 128, 128, 128, 128, 128, 128, 
1470
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1471
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
34.3M
      128, 128, 128,   0,   0,   0,   0,   0, 
1473
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1474
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
34.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
34.3M
    };
1490
34.3M
    YYDEBUG(1, *YYCURSOR);
1491
34.3M
    YYFILL(16);
1492
34.3M
    yych = *YYCURSOR;
1493
34.3M
    if (yybm[256+yych] & 32) {
1494
5.66M
      goto yy5;
1495
5.66M
    }
1496
28.6M
    switch (yych) {
1497
3.89M
    case 0x00:
1498
4.01M
    case 0x01:
1499
4.04M
    case 0x02:
1500
4.07M
    case 0x03:
1501
4.19M
    case 0x04:
1502
4.25M
    case 0x05:
1503
4.27M
    case 0x06:
1504
4.31M
    case 0x07:
1505
4.36M
    case 0x08:
1506
4.36M
    case '\t':
1507
4.36M
    case '\n':
1508
4.40M
    case '\v':
1509
4.46M
    case '\f':
1510
4.46M
    case '\r':
1511
4.49M
    case 0x0E:
1512
4.54M
    case 0x0F:
1513
4.59M
    case 0x10:
1514
4.60M
    case 0x11:
1515
4.62M
    case 0x12:
1516
4.70M
    case 0x13:
1517
4.72M
    case 0x14:
1518
4.73M
    case 0x15:
1519
4.74M
    case 0x16:
1520
4.75M
    case 0x17:
1521
4.77M
    case 0x18:
1522
4.79M
    case 0x19:
1523
4.83M
    case 0x1A:
1524
4.85M
    case 0x1B:
1525
5.01M
    case 0x1C:
1526
5.06M
    case 0x1D:
1527
5.08M
    case 0x1E:
1528
5.10M
    case 0x1F:
1529
5.16M
    case 0x7F:  goto yy3;
1530
0
    case ' ':
1531
167k
    case '!': goto yy8;
1532
352k
    case '"': goto yy10;
1533
603k
    case '#': goto yy12;
1534
1.59M
    case '$': goto yy14;
1535
55.8k
    case '%': goto yy15;
1536
201k
    case '&': goto yy16;
1537
333k
    case '\'':  goto yy18;
1538
1.09M
    case '(': goto yy20;
1539
766k
    case ')':
1540
1.05M
    case ']': goto yy22;
1541
115k
    case '*': goto yy24;
1542
184k
    case '+': goto yy25;
1543
718k
    case ',':
1544
1.65M
    case ';':
1545
2.22M
    case '@':
1546
2.31M
    case '~': goto yy26;
1547
356k
    case '-': goto yy27;
1548
364k
    case '.': goto yy28;
1549
294k
    case '/': goto yy29;
1550
244k
    case '0': goto yy30;
1551
208k
    case '1':
1552
359k
    case '2':
1553
447k
    case '3':
1554
572k
    case '4':
1555
637k
    case '5':
1556
686k
    case '6':
1557
726k
    case '7':
1558
774k
    case '8':
1559
810k
    case '9': goto yy32;
1560
269k
    case ':': goto yy34;
1561
4.43M
    case '<': goto yy35;
1562
613k
    case '=': goto yy36;
1563
83.6k
    case '>': goto yy37;
1564
551k
    case '?': goto yy38;
1565
68.8k
    case 'A':
1566
226k
    case 'a': goto yy39;
1567
52.8k
    case 'B':
1568
110k
    case 'b': goto yy41;
1569
82.5k
    case 'C':
1570
355k
    case 'c': goto yy42;
1571
51.1k
    case 'D':
1572
129k
    case 'd': goto yy43;
1573
70.6k
    case 'E':
1574
553k
    case 'e': goto yy44;
1575
55.4k
    case 'F':
1576
411k
    case 'f': goto yy45;
1577
11.8k
    case 'G':
1578
75.2k
    case 'g': goto yy46;
1579
70.9k
    case 'I':
1580
300k
    case 'i': goto yy49;
1581
11.3k
    case 'L':
1582
54.3k
    case 'l': goto yy50;
1583
26.5k
    case 'M':
1584
90.6k
    case 'm': goto yy51;
1585
34.8k
    case 'N':
1586
207k
    case 'n': goto yy52;
1587
33.3k
    case 'O':
1588
131k
    case 'o': goto yy53;
1589
70.2k
    case 'P':
1590
399k
    case 'p': goto yy54;
1591
19.6k
    case 'R':
1592
140k
    case 'r': goto yy55;
1593
34.3k
    case 'S':
1594
204k
    case 's': goto yy56;
1595
44.8k
    case 'T':
1596
203k
    case 't': goto yy57;
1597
6.86k
    case 'U':
1598
80.5k
    case 'u': goto yy58;
1599
9.35k
    case 'V':
1600
127k
    case 'v': goto yy59;
1601
15.6k
    case 'W':
1602
29.7k
    case 'w': goto yy60;
1603
15.1k
    case 'X':
1604
32.4k
    case 'x': goto yy61;
1605
6.45k
    case 'Y':
1606
130k
    case 'y': goto yy62;
1607
273k
    case '[': goto yy63;
1608
206k
    case '\\':  goto yy64;
1609
77.0k
    case '^': goto yy66;
1610
197k
    case '_': goto yy67;
1611
55.9k
    case '`': goto yy68;
1612
1.01M
    case '{': goto yy70;
1613
106k
    case '|': goto yy72;
1614
375k
    case '}': goto yy73;
1615
1.08M
    default:  goto yy47;
1616
28.6M
    }
1617
5.16M
yy3:
1618
5.16M
    YYDEBUG(3, *YYCURSOR);
1619
5.16M
    ++YYCURSOR;
1620
5.16M
    YYDEBUG(4, *YYCURSOR);
1621
5.16M
    yyleng = YYCURSOR - SCNG(yy_text);
1622
5.16M
#line 3179 "Zend/zend_language_scanner.l"
1623
5.16M
    {
1624
5.16M
  if (YYCURSOR > YYLIMIT) {
1625
116k
    RETURN_END_TOKEN;
1626
116k
  }
1627
1628
5.05M
  RETURN_TOKEN(T_BAD_CHARACTER);
1629
5.05M
}
1630
0
#line 1631 "Zend/zend_language_scanner.c"
1631
9.12M
yy5:
1632
9.12M
    YYDEBUG(5, *YYCURSOR);
1633
9.12M
    ++YYCURSOR;
1634
9.12M
    YYFILL(1);
1635
9.12M
    yych = *YYCURSOR;
1636
9.12M
    YYDEBUG(6, *YYCURSOR);
1637
9.12M
    if (yybm[256+yych] & 32) {
1638
3.46M
      goto yy5;
1639
3.46M
    }
1640
5.66M
    YYDEBUG(7, *YYCURSOR);
1641
5.66M
    yyleng = YYCURSOR - SCNG(yy_text);
1642
5.66M
#line 1596 "Zend/zend_language_scanner.l"
1643
5.66M
    {
1644
5.66M
  goto return_whitespace;
1645
9.12M
}
1646
0
#line 1647 "Zend/zend_language_scanner.c"
1647
167k
yy8:
1648
167k
    YYDEBUG(8, *YYCURSOR);
1649
167k
    yych = *++YYCURSOR;
1650
167k
    if (yych == '=') goto yy75;
1651
5.91M
yy9:
1652
5.91M
    YYDEBUG(9, *YYCURSOR);
1653
5.91M
    yyleng = YYCURSOR - SCNG(yy_text);
1654
5.91M
#line 1968 "Zend/zend_language_scanner.l"
1655
5.91M
    {
1656
5.91M
  RETURN_TOKEN(yytext[0]);
1657
5.91M
}
1658
0
#line 1659 "Zend/zend_language_scanner.c"
1659
353k
yy10:
1660
353k
    YYDEBUG(10, *YYCURSOR);
1661
353k
    ++YYCURSOR;
1662
353k
    YYDEBUG(11, *YYCURSOR);
1663
353k
    yyleng = YYCURSOR - SCNG(yy_text);
1664
353k
#line 2631 "Zend/zend_language_scanner.l"
1665
353k
    {
1666
353k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1667
1668
10.8M
  while (YYCURSOR < YYLIMIT) {
1669
10.8M
    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
116k
      case '$':
1679
116k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1680
81.4k
          break;
1681
81.4k
        }
1682
35.4k
        continue;
1683
38.9k
      case '{':
1684
38.9k
        if (*YYCURSOR == '$') {
1685
3.06k
          break;
1686
3.06k
        }
1687
35.9k
        continue;
1688
211k
      case '\\':
1689
211k
        if (YYCURSOR < YYLIMIT) {
1690
210k
          YYCURSOR++;
1691
210k
        }
1692
211k
        ZEND_FALLTHROUGH;
1693
10.4M
      default:
1694
10.4M
        continue;
1695
10.8M
    }
1696
1697
84.5k
    YYCURSOR--;
1698
84.5k
    break;
1699
10.8M
  }
1700
1701
  /* Remember how much was scanned to save rescanning */
1702
353k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1703
1704
94.0k
  YYCURSOR = SCNG(yy_text) + yyleng;
1705
1706
94.0k
  BEGIN(ST_DOUBLE_QUOTES);
1707
94.0k
  RETURN_TOKEN('"');
1708
94.0k
}
1709
0
#line 1710 "Zend/zend_language_scanner.c"
1710
603k
yy12:
1711
603k
    YYDEBUG(12, *YYCURSOR);
1712
603k
    yych = *++YYCURSOR;
1713
603k
    if (yych == '[') goto yy77;
1714
654k
yy13:
1715
654k
    YYDEBUG(13, *YYCURSOR);
1716
654k
    yyleng = YYCURSOR - SCNG(yy_text);
1717
654k
#line 2459 "Zend/zend_language_scanner.l"
1718
654k
    {
1719
7.02M
  while (YYCURSOR < YYLIMIT) {
1720
7.01M
    switch (*YYCURSOR++) {
1721
195k
      case '\r':
1722
644k
      case '\n':
1723
644k
        YYCURSOR--;
1724
644k
        break;
1725
39.7k
      case '?':
1726
39.7k
        if (*YYCURSOR == '>') {
1727
2.51k
          YYCURSOR--;
1728
2.51k
          break;
1729
2.51k
        }
1730
37.2k
        ZEND_FALLTHROUGH;
1731
6.36M
      default:
1732
6.36M
        continue;
1733
7.01M
    }
1734
1735
647k
    break;
1736
7.01M
  }
1737
1738
654k
  yyleng = YYCURSOR - SCNG(yy_text);
1739
654k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1740
654k
}
1741
0
#line 1742 "Zend/zend_language_scanner.c"
1742
1.59M
yy14:
1743
1.59M
    YYDEBUG(14, *YYCURSOR);
1744
1.59M
    yych = *++YYCURSOR;
1745
1.59M
    if (yych <= '_') {
1746
239k
      if (yych <= '@') goto yy9;
1747
40.0k
      if (yych <= 'Z') goto yy79;
1748
9.44k
      if (yych <= '^') goto yy9;
1749
5.42k
      goto yy79;
1750
1.35M
    } else {
1751
1.35M
      if (yych <= '`') goto yy9;
1752
1.35M
      if (yych <= 'z') goto yy79;
1753
488k
      if (yych <= 0x7F) goto yy9;
1754
70.4k
      goto yy79;
1755
488k
    }
1756
55.8k
yy15:
1757
55.8k
    YYDEBUG(15, *YYCURSOR);
1758
55.8k
    yych = *++YYCURSOR;
1759
55.8k
    if (yych == '=') goto yy82;
1760
54.4k
    goto yy9;
1761
201k
yy16:
1762
201k
    YYDEBUG(16, *YYCURSOR);
1763
201k
    yyaccept = 0;
1764
201k
    yych = *(YYMARKER = ++YYCURSOR);
1765
201k
    if (yych <= '"') {
1766
69.9k
      if (yych <= '\f') {
1767
42.3k
        if (yych <= 0x08) goto yy17;
1768
39.8k
        if (yych <= '\n') goto yy85;
1769
39.8k
      } else {
1770
27.6k
        if (yych <= '\r') goto yy85;
1771
22.0k
        if (yych == ' ') goto yy85;
1772
22.0k
      }
1773
131k
    } else {
1774
131k
      if (yych <= '-') {
1775
44.1k
        if (yych <= '$') goto yy85;
1776
25.7k
        if (yych == '&') goto yy90;
1777
87.2k
      } else {
1778
87.2k
        if (yych <= '/') goto yy85;
1779
82.6k
        if (yych == '=') goto yy94;
1780
82.6k
      }
1781
131k
    }
1782
138k
yy17:
1783
138k
    YYDEBUG(17, *YYCURSOR);
1784
138k
    yyleng = YYCURSOR - SCNG(yy_text);
1785
138k
#line 1954 "Zend/zend_language_scanner.l"
1786
138k
    {
1787
138k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1788
138k
}
1789
0
#line 1790 "Zend/zend_language_scanner.c"
1790
334k
yy18:
1791
334k
    YYDEBUG(18, *YYCURSOR);
1792
334k
    ++YYCURSOR;
1793
334k
    YYDEBUG(19, *YYCURSOR);
1794
334k
    yyleng = YYCURSOR - SCNG(yy_text);
1795
334k
#line 2537 "Zend/zend_language_scanner.l"
1796
334k
    {
1797
334k
  char *s, *t;
1798
334k
  char *end;
1799
334k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1800
1801
34.6M
  while (1) {
1802
34.6M
    if (YYCURSOR < YYLIMIT) {
1803
34.6M
      if (*YYCURSOR == '\'') {
1804
323k
        YYCURSOR++;
1805
323k
        yyleng = YYCURSOR - SCNG(yy_text);
1806
1807
323k
        break;
1808
34.3M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1809
97.8k
        YYCURSOR++;
1810
97.8k
      }
1811
34.6M
    } else {
1812
10.4k
      yyleng = YYLIMIT - SCNG(yy_text);
1813
1814
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1815
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1816
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1817
10.4k
      ZVAL_NULL(zendlval);
1818
10.4k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1819
10.4k
    }
1820
34.6M
  }
1821
1822
323k
  if (yyleng-bprefix-2 <= 1) {
1823
71.7k
    if (yyleng-bprefix-2 < 1) {
1824
25.5k
      ZVAL_EMPTY_STRING(zendlval);
1825
46.1k
    } else {
1826
46.1k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1827
46.1k
      HANDLE_NEWLINE(c);
1828
46.1k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1829
46.1k
    }
1830
71.7k
    goto skip_escape_conversion;
1831
71.7k
  }
1832
252k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1833
1834
  /* convert escape sequences */
1835
252k
  s = Z_STRVAL_P(zendlval);
1836
252k
  end = s+Z_STRLEN_P(zendlval);
1837
24.1M
  while (1) {
1838
24.1M
    if (UNEXPECTED(*s=='\\')) {
1839
33.7k
      break;
1840
33.7k
    }
1841
24.0M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1842
413k
      CG(zend_lineno)++;
1843
413k
    }
1844
24.0M
    s++;
1845
24.0M
    if (s == end) {
1846
218k
      goto skip_escape_conversion;
1847
218k
    }
1848
24.0M
  }
1849
1850
33.7k
  t = s;
1851
9.32M
  while (s<end) {
1852
9.29M
    if (*s=='\\') {
1853
94.8k
      s++;
1854
94.8k
      if (*s == '\\' || *s == '\'') {
1855
33.4k
        *t++ = *s;
1856
61.4k
      } else {
1857
61.4k
        *t++ = '\\';
1858
61.4k
        *t++ = *s;
1859
61.4k
      }
1860
9.19M
    } else {
1861
9.19M
      *t++ = *s;
1862
9.19M
    }
1863
9.29M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1864
165k
      CG(zend_lineno)++;
1865
165k
    }
1866
9.29M
    s++;
1867
9.29M
  }
1868
33.7k
  *t = 0;
1869
33.7k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1870
1871
323k
skip_escape_conversion:
1872
323k
  if (SCNG(output_filter)) {
1873
0
    size_t sz = 0;
1874
0
    char *str = NULL;
1875
0
    zend_string *new_str;
1876
0
    s = Z_STRVAL_P(zendlval);
1877
    // TODO: avoid reallocation ???
1878
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1879
0
    new_str = zend_string_init(str, sz, 0);
1880
0
    if (str != s) {
1881
0
      efree(str);
1882
0
    }
1883
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1884
0
    ZVAL_STR(zendlval, new_str);
1885
0
  }
1886
323k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1887
323k
}
1888
0
#line 1889 "Zend/zend_language_scanner.c"
1889
1.09M
yy20:
1890
1.09M
    YYDEBUG(20, *YYCURSOR);
1891
1.09M
    yyaccept = 1;
1892
1.09M
    yych = *(YYMARKER = ++YYCURSOR);
1893
1.09M
    if (yych <= 'S') {
1894
778k
      if (yych <= 'D') {
1895
726k
        if (yych <= ' ') {
1896
110k
          if (yych == '\t') goto yy97;
1897
102k
          if (yych >= ' ') goto yy97;
1898
616k
        } else {
1899
616k
          if (yych <= '@') goto yy21;
1900
19.3k
          if (yych != 'C') goto yy97;
1901
19.3k
        }
1902
726k
      } else {
1903
52.4k
        if (yych <= 'I') {
1904
32.1k
          if (yych == 'F') goto yy97;
1905
29.4k
          if (yych >= 'I') goto yy97;
1906
29.4k
        } else {
1907
20.3k
          if (yych == 'O') goto yy97;
1908
14.2k
          if (yych >= 'R') goto yy97;
1909
14.2k
        }
1910
52.4k
      }
1911
778k
    } else {
1912
319k
      if (yych <= 'f') {
1913
135k
        if (yych <= 'b') {
1914
90.9k
          if (yych <= 'T') goto yy21;
1915
85.3k
          if (yych <= 'V') goto yy97;
1916
83.8k
          if (yych >= 'a') goto yy97;
1917
83.8k
        } else {
1918
44.8k
          if (yych == 'd') goto yy97;
1919
37.7k
          if (yych >= 'f') goto yy97;
1920
37.7k
        }
1921
183k
      } else {
1922
183k
        if (yych <= 'o') {
1923
67.9k
          if (yych == 'i') goto yy97;
1924
38.3k
          if (yych >= 'o') goto yy97;
1925
115k
        } else {
1926
115k
          if (yych <= 's') {
1927
52.0k
            if (yych >= 'r') goto yy97;
1928
63.5k
          } else {
1929
63.5k
            if (yych <= 't') goto yy21;
1930
55.6k
            if (yych <= 'v') goto yy97;
1931
55.6k
          }
1932
115k
        }
1933
183k
      }
1934
319k
    }
1935
1.35M
yy21:
1936
1.35M
    YYDEBUG(21, *YYCURSOR);
1937
1.35M
    yyleng = YYCURSOR - SCNG(yy_text);
1938
1.35M
#line 1963 "Zend/zend_language_scanner.l"
1939
1.35M
    {
1940
1.35M
  enter_nesting(yytext[0]);
1941
1.35M
  RETURN_TOKEN(yytext[0]);
1942
1.35M
}
1943
0
#line 1944 "Zend/zend_language_scanner.c"
1944
1.05M
yy22:
1945
1.05M
    YYDEBUG(22, *YYCURSOR);
1946
1.05M
    ++YYCURSOR;
1947
1.05M
    YYDEBUG(23, *YYCURSOR);
1948
1.05M
    yyleng = YYCURSOR - SCNG(yy_text);
1949
1.05M
#line 1958 "Zend/zend_language_scanner.l"
1950
1.05M
    {
1951
  /* Check that ] and ) match up properly with a preceding [ or ( */
1952
1.05M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1953
1.05M
}
1954
0
#line 1955 "Zend/zend_language_scanner.c"
1955
115k
yy24:
1956
115k
    YYDEBUG(24, *YYCURSOR);
1957
115k
    yych = *++YYCURSOR;
1958
115k
    if (yych == '*') goto yy108;
1959
94.3k
    if (yych == '=') goto yy110;
1960
89.5k
    goto yy9;
1961
184k
yy25:
1962
184k
    YYDEBUG(25, *YYCURSOR);
1963
184k
    yych = *++YYCURSOR;
1964
184k
    if (yych == '+') goto yy112;
1965
134k
    if (yych == '=') goto yy114;
1966
129k
    goto yy9;
1967
2.31M
yy26:
1968
2.31M
    YYDEBUG(26, *YYCURSOR);
1969
2.31M
    ++YYCURSOR;
1970
2.31M
    goto yy9;
1971
356k
yy27:
1972
356k
    YYDEBUG(27, *YYCURSOR);
1973
356k
    yych = *++YYCURSOR;
1974
356k
    if (yych <= '<') {
1975
139k
      if (yych == '-') goto yy116;
1976
128k
      goto yy9;
1977
216k
    } else {
1978
216k
      if (yych <= '=') goto yy118;
1979
214k
      if (yych <= '>') goto yy120;
1980
94.5k
      goto yy9;
1981
214k
    }
1982
364k
yy28:
1983
364k
    YYDEBUG(28, *YYCURSOR);
1984
364k
    yyaccept = 2;
1985
364k
    yych = *(YYMARKER = ++YYCURSOR);
1986
364k
    if (yych <= '/') {
1987
185k
      if (yych == '.') goto yy122;
1988
103k
      goto yy9;
1989
185k
    } else {
1990
178k
      if (yych <= '9') goto yy123;
1991
141k
      if (yych == '=') goto yy126;
1992
56.8k
      goto yy9;
1993
141k
    }
1994
294k
yy29:
1995
294k
    YYDEBUG(29, *YYCURSOR);
1996
294k
    yych = *++YYCURSOR;
1997
294k
    if (yych <= '.') {
1998
143k
      if (yych == '*') goto yy128;
1999
44.3k
      goto yy9;
2000
151k
    } else {
2001
151k
      if (yych <= '/') goto yy130;
2002
80.5k
      if (yych == '=') goto yy131;
2003
77.7k
      goto yy9;
2004
80.5k
    }
2005
244k
yy30:
2006
244k
    YYDEBUG(30, *YYCURSOR);
2007
244k
    yyaccept = 3;
2008
244k
    yych = *(YYMARKER = ++YYCURSOR);
2009
244k
    if (yych <= 'X') {
2010
165k
      if (yych <= 'N') {
2011
158k
        if (yych == 'B') goto yy134;
2012
157k
        goto yy33;
2013
158k
      } else {
2014
7.08k
        if (yych <= 'O') goto yy136;
2015
5.61k
        if (yych <= 'W') goto yy33;
2016
4.26k
        goto yy137;
2017
5.61k
      }
2018
165k
    } else {
2019
78.6k
      if (yych <= 'n') {
2020
43.2k
        if (yych == 'b') goto yy134;
2021
39.5k
        goto yy33;
2022
43.2k
      } else {
2023
35.3k
        if (yych <= 'o') goto yy136;
2024
33.8k
        if (yych == 'x') goto yy137;
2025
28.8k
        goto yy33;
2026
33.8k
      }
2027
78.6k
    }
2028
961k
yy31:
2029
961k
    YYDEBUG(31, *YYCURSOR);
2030
961k
    yyleng = YYCURSOR - SCNG(yy_text);
2031
961k
#line 2102 "Zend/zend_language_scanner.l"
2032
961k
    {
2033
961k
  size_t len = yyleng;
2034
961k
  char *end, *lnum = yytext;
2035
961k
  bool is_octal = lnum[0] == '0';
2036
961k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2037
2038
961k
  if (contains_underscores) {
2039
1.94k
    lnum = estrndup(lnum, len);
2040
1.94k
    strip_underscores(lnum, &len);
2041
1.94k
  }
2042
2043
  /* Digits 8 and 9 are illegal in octal literals. */
2044
961k
  if (is_octal) {
2045
219k
    size_t i;
2046
600k
    for (i = 0; i < len; i++) {
2047
384k
      if (lnum[i] == '8' || lnum[i] == '9') {
2048
3.04k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2049
3.04k
        if (PARSER_MODE()) {
2050
21
          if (contains_underscores) {
2051
2
            efree(lnum);
2052
2
          }
2053
21
          ZVAL_UNDEF(zendlval);
2054
21
          RETURN_TOKEN(T_ERROR);
2055
21
        }
2056
2057
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2058
3.01k
        len = i;
2059
3.01k
        break;
2060
3.04k
      }
2061
384k
    }
2062
219k
  }
2063
2064
2065
961k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2066
927k
    errno = 0;
2067
    /* base must be passed explicitly for correct parse error on Windows */
2068
927k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2069
927k
    ZEND_ASSERT(end == lnum + len);
2070
927k
  } else {
2071
33.6k
    errno = 0;
2072
33.6k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2073
33.6k
    if (errno == ERANGE) { /* Overflow */
2074
29.3k
      errno = 0;
2075
29.3k
      if (is_octal) { /* octal overflow */
2076
738
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2077
28.6k
      } else {
2078
28.6k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2079
28.6k
      }
2080
29.3k
      ZEND_ASSERT(end == lnum + len);
2081
29.3k
      if (contains_underscores) {
2082
449
        efree(lnum);
2083
449
      }
2084
29.3k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2085
29.3k
    }
2086
4.25k
    ZEND_ASSERT(end == lnum + len);
2087
4.25k
  }
2088
931k
  ZEND_ASSERT(!errno);
2089
931k
  if (contains_underscores) {
2090
1.49k
    efree(lnum);
2091
1.49k
  }
2092
931k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2093
931k
}
2094
0
#line 2095 "Zend/zend_language_scanner.c"
2095
3.26M
yy32:
2096
3.26M
    YYDEBUG(32, *YYCURSOR);
2097
3.26M
    yyaccept = 3;
2098
3.26M
    YYMARKER = ++YYCURSOR;
2099
3.26M
    YYFILL(3);
2100
3.26M
    yych = *YYCURSOR;
2101
3.49M
yy33:
2102
3.49M
    YYDEBUG(33, *YYCURSOR);
2103
3.49M
    if (yybm[256+yych] & 64) {
2104
2.45M
      goto yy32;
2105
2.45M
    }
2106
1.04M
    if (yych <= 'E') {
2107
774k
      if (yych == '.') goto yy133;
2108
721k
      if (yych <= 'D') goto yy31;
2109
16.1k
      goto yy135;
2110
721k
    } else {
2111
267k
      if (yych <= '_') {
2112
119k
        if (yych <= '^') goto yy31;
2113
10.9k
        goto yy138;
2114
147k
      } else {
2115
147k
        if (yych == 'e') goto yy135;
2116
129k
        goto yy31;
2117
147k
      }
2118
267k
    }
2119
269k
yy34:
2120
269k
    YYDEBUG(34, *YYCURSOR);
2121
269k
    yych = *++YYCURSOR;
2122
269k
    if (yych == ':') goto yy139;
2123
139k
    goto yy9;
2124
4.43M
yy35:
2125
4.43M
    YYDEBUG(35, *YYCURSOR);
2126
4.43M
    yych = *++YYCURSOR;
2127
4.43M
    if (yych <= ';') goto yy9;
2128
4.24M
    if (yych <= '<') goto yy141;
2129
632k
    if (yych <= '=') goto yy143;
2130
616k
    if (yych <= '>') goto yy145;
2131
610k
    goto yy9;
2132
613k
yy36:
2133
613k
    YYDEBUG(36, *YYCURSOR);
2134
613k
    yych = *++YYCURSOR;
2135
613k
    if (yych <= '<') goto yy9;
2136
113k
    if (yych <= '=') goto yy146;
2137
81.7k
    if (yych <= '>') goto yy148;
2138
29.2k
    goto yy9;
2139
83.6k
yy37:
2140
83.6k
    YYDEBUG(37, *YYCURSOR);
2141
83.6k
    yych = *++YYCURSOR;
2142
83.6k
    if (yych <= '<') goto yy9;
2143
45.9k
    if (yych <= '=') goto yy150;
2144
40.8k
    if (yych <= '>') goto yy152;
2145
27.1k
    goto yy9;
2146
551k
yy38:
2147
551k
    YYDEBUG(38, *YYCURSOR);
2148
551k
    yyaccept = 2;
2149
551k
    yych = *(YYMARKER = ++YYCURSOR);
2150
551k
    if (yych <= '=') {
2151
204k
      if (yych == '-') goto yy154;
2152
165k
      goto yy9;
2153
347k
    } else {
2154
347k
      if (yych <= '>') goto yy155;
2155
207k
      if (yych <= '?') goto yy157;
2156
161k
      goto yy9;
2157
207k
    }
2158
226k
yy39:
2159
226k
    YYDEBUG(39, *YYCURSOR);
2160
226k
    yyaccept = 4;
2161
226k
    yych = *(YYMARKER = ++YYCURSOR);
2162
226k
    if (yych <= 'S') {
2163
81.0k
      if (yych <= 'M') {
2164
71.2k
        if (yych == 'B') goto yy159;
2165
69.9k
        goto yy48;
2166
71.2k
      } else {
2167
9.80k
        if (yych <= 'N') goto yy160;
2168
8.18k
        if (yych <= 'Q') goto yy48;
2169
7.42k
        if (yych <= 'R') goto yy161;
2170
5.81k
        goto yy162;
2171
7.42k
      }
2172
145k
    } else {
2173
145k
      if (yych <= 'n') {
2174
40.2k
        if (yych == 'b') goto yy159;
2175
28.3k
        if (yych <= 'm') goto yy48;
2176
9.04k
        goto yy160;
2177
105k
      } else {
2178
105k
        if (yych <= 'q') goto yy48;
2179
103k
        if (yych <= 'r') goto yy161;
2180
65.5k
        if (yych <= 's') goto yy162;
2181
16.5k
        goto yy48;
2182
65.5k
      }
2183
145k
    }
2184
4.05M
yy40:
2185
4.05M
    YYDEBUG(40, *YYCURSOR);
2186
4.05M
    yyleng = YYCURSOR - SCNG(yy_text);
2187
4.05M
#line 2454 "Zend/zend_language_scanner.l"
2188
4.05M
    {
2189
4.05M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2190
4.05M
}
2191
0
#line 2192 "Zend/zend_language_scanner.c"
2192
110k
yy41:
2193
110k
    YYDEBUG(41, *YYCURSOR);
2194
110k
    yyaccept = 4;
2195
110k
    yych = *(YYMARKER = ++YYCURSOR);
2196
110k
    if (yych <= ';') {
2197
27.6k
      if (yych <= '"') {
2198
12.3k
        if (yych <= '!') goto yy48;
2199
1.00k
        goto yy10;
2200
15.2k
      } else {
2201
15.2k
        if (yych == '\'') goto yy18;
2202
14.5k
        goto yy48;
2203
15.2k
      }
2204
82.9k
    } else {
2205
82.9k
      if (yych <= 'R') {
2206
17.3k
        if (yych <= '<') goto yy165;
2207
12.0k
        if (yych <= 'Q') goto yy48;
2208
792
        goto yy166;
2209
65.5k
      } else {
2210
65.5k
        if (yych == 'r') goto yy166;
2211
58.6k
        goto yy48;
2212
65.5k
      }
2213
82.9k
    }
2214
355k
yy42:
2215
355k
    YYDEBUG(42, *YYCURSOR);
2216
355k
    yyaccept = 4;
2217
355k
    yych = *(YYMARKER = ++YYCURSOR);
2218
355k
    if (yych <= 'O') {
2219
82.4k
      if (yych <= 'K') {
2220
71.9k
        if (yych == 'A') goto yy167;
2221
69.5k
        goto yy48;
2222
71.9k
      } else {
2223
10.4k
        if (yych <= 'L') goto yy168;
2224
6.73k
        if (yych <= 'N') goto yy48;
2225
6.15k
        goto yy169;
2226
6.73k
      }
2227
272k
    } else {
2228
272k
      if (yych <= 'k') {
2229
93.3k
        if (yych == 'a') goto yy167;
2230
23.8k
        goto yy48;
2231
179k
      } else {
2232
179k
        if (yych <= 'l') goto yy168;
2233
83.5k
        if (yych == 'o') goto yy169;
2234
22.2k
        goto yy48;
2235
83.5k
      }
2236
272k
    }
2237
129k
yy43:
2238
129k
    YYDEBUG(43, *YYCURSOR);
2239
129k
    yyaccept = 4;
2240
129k
    yych = *(YYMARKER = ++YYCURSOR);
2241
129k
    if (yych <= 'O') {
2242
37.6k
      if (yych <= 'H') {
2243
29.7k
        if (yych == 'E') goto yy170;
2244
28.1k
        goto yy48;
2245
29.7k
      } else {
2246
7.93k
        if (yych <= 'I') goto yy171;
2247
7.37k
        if (yych <= 'N') goto yy48;
2248
6.27k
        goto yy172;
2249
7.37k
      }
2250
91.4k
    } else {
2251
91.4k
      if (yych <= 'h') {
2252
58.2k
        if (yych == 'e') goto yy170;
2253
34.1k
        goto yy48;
2254
58.2k
      } else {
2255
33.1k
        if (yych <= 'i') goto yy171;
2256
22.7k
        if (yych == 'o') goto yy172;
2257
14.5k
        goto yy48;
2258
22.7k
      }
2259
91.4k
    }
2260
553k
yy44:
2261
553k
    YYDEBUG(44, *YYCURSOR);
2262
553k
    yyaccept = 4;
2263
553k
    yych = *(YYMARKER = ++YYCURSOR);
2264
553k
    switch (yych) {
2265
2.16k
    case 'C':
2266
78.9k
    case 'c': goto yy174;
2267
1.76k
    case 'L':
2268
21.7k
    case 'l': goto yy175;
2269
1.89k
    case 'M':
2270
9.95k
    case 'm': goto yy176;
2271
101k
    case 'N':
2272
240k
    case 'n': goto yy177;
2273
431
    case 'V':
2274
8.64k
    case 'v': goto yy178;
2275
2.92k
    case 'X':
2276
65.2k
    case 'x': goto yy179;
2277
129k
    default:  goto yy48;
2278
553k
    }
2279
411k
yy45:
2280
411k
    YYDEBUG(45, *YYCURSOR);
2281
411k
    yyaccept = 4;
2282
411k
    yych = *(YYMARKER = ++YYCURSOR);
2283
411k
    if (yych <= 'U') {
2284
99.5k
      if (yych <= 'M') {
2285
74.2k
        if (yych == 'I') goto yy180;
2286
71.9k
        goto yy48;
2287
74.2k
      } else {
2288
25.2k
        if (yych <= 'N') goto yy181;
2289
24.6k
        if (yych <= 'O') goto yy183;
2290
13.8k
        if (yych <= 'T') goto yy48;
2291
2.46k
        goto yy184;
2292
13.8k
      }
2293
312k
    } else {
2294
312k
      if (yych <= 'n') {
2295
72.4k
        if (yych == 'i') goto yy180;
2296
51.2k
        if (yych <= 'm') goto yy48;
2297
21.6k
        goto yy181;
2298
239k
      } else {
2299
239k
        if (yych <= 'o') goto yy183;
2300
133k
        if (yych == 'u') goto yy184;
2301
23.9k
        goto yy48;
2302
133k
      }
2303
312k
    }
2304
75.2k
yy46:
2305
75.2k
    YYDEBUG(46, *YYCURSOR);
2306
75.2k
    yyaccept = 4;
2307
75.2k
    yych = *(YYMARKER = ++YYCURSOR);
2308
75.2k
    if (yych <= 'O') {
2309
31.4k
      if (yych == 'L') goto yy185;
2310
27.1k
      if (yych <= 'N') goto yy48;
2311
1.48k
      goto yy186;
2312
43.7k
    } else {
2313
43.7k
      if (yych <= 'l') {
2314
34.0k
        if (yych <= 'k') goto yy48;
2315
5.60k
        goto yy185;
2316
34.0k
      } else {
2317
9.66k
        if (yych == 'o') goto yy186;
2318
4.09k
        goto yy48;
2319
9.66k
      }
2320
43.7k
    }
2321
15.9M
yy47:
2322
15.9M
    YYDEBUG(47, *YYCURSOR);
2323
15.9M
    yyaccept = 4;
2324
15.9M
    YYMARKER = ++YYCURSOR;
2325
15.9M
    YYFILL(1);
2326
15.9M
    yych = *YYCURSOR;
2327
18.6M
yy48:
2328
18.6M
    YYDEBUG(48, *YYCURSOR);
2329
18.6M
    if (yybm[256+yych] & 128) {
2330
14.6M
      goto yy47;
2331
14.6M
    }
2332
4.06M
    if (yych == '\\') goto yy164;
2333
4.01M
    goto yy40;
2334
4.01M
yy49:
2335
300k
    YYDEBUG(49, *YYCURSOR);
2336
300k
    yyaccept = 4;
2337
300k
    yych = *(YYMARKER = ++YYCURSOR);
2338
300k
    if (yych <= 'S') {
2339
80.2k
      if (yych <= 'L') {
2340
36.7k
        if (yych == 'F') goto yy187;
2341
36.3k
        goto yy48;
2342
43.5k
      } else {
2343
43.5k
        if (yych <= 'M') goto yy189;
2344
38.3k
        if (yych <= 'N') goto yy190;
2345
8.66k
        if (yych <= 'R') goto yy48;
2346
4.61k
        goto yy191;
2347
8.66k
      }
2348
219k
    } else {
2349
219k
      if (yych <= 'm') {
2350
81.6k
        if (yych == 'f') goto yy187;
2351
55.5k
        if (yych <= 'l') goto yy48;
2352
31.8k
        goto yy189;
2353
138k
      } else {
2354
138k
        if (yych <= 'n') goto yy190;
2355
44.7k
        if (yych == 's') goto yy191;
2356
20.7k
        goto yy48;
2357
44.7k
      }
2358
219k
    }
2359
54.3k
yy50:
2360
54.3k
    YYDEBUG(50, *YYCURSOR);
2361
54.3k
    yyaccept = 4;
2362
54.3k
    yych = *(YYMARKER = ++YYCURSOR);
2363
54.3k
    if (yych == 'I') goto yy192;
2364
52.8k
    if (yych == 'i') goto yy192;
2365
44.6k
    goto yy48;
2366
90.6k
yy51:
2367
90.6k
    YYDEBUG(51, *YYCURSOR);
2368
90.6k
    yyaccept = 4;
2369
90.6k
    yych = *(YYMARKER = ++YYCURSOR);
2370
90.6k
    if (yych == 'A') goto yy193;
2371
88.1k
    if (yych == 'a') goto yy193;
2372
80.3k
    goto yy48;
2373
207k
yy52:
2374
207k
    YYDEBUG(52, *YYCURSOR);
2375
207k
    yyaccept = 4;
2376
207k
    yych = *(YYMARKER = ++YYCURSOR);
2377
207k
    if (yych <= 'E') {
2378
32.5k
      if (yych == 'A') goto yy194;
2379
29.9k
      if (yych <= 'D') goto yy48;
2380
3.64k
      goto yy195;
2381
175k
    } else {
2382
175k
      if (yych <= 'a') {
2383
39.6k
        if (yych <= '`') goto yy48;
2384
25.3k
        goto yy194;
2385
135k
      } else {
2386
135k
        if (yych == 'e') goto yy195;
2387
51.3k
        goto yy48;
2388
135k
      }
2389
175k
    }
2390
131k
yy53:
2391
131k
    YYDEBUG(53, *YYCURSOR);
2392
131k
    yyaccept = 4;
2393
131k
    yych = *(YYMARKER = ++YYCURSOR);
2394
131k
    if (yych == 'R') goto yy196;
2395
128k
    if (yych == 'r') goto yy196;
2396
122k
    goto yy48;
2397
399k
yy54:
2398
399k
    YYDEBUG(54, *YYCURSOR);
2399
399k
    yyaccept = 4;
2400
399k
    yych = *(YYMARKER = ++YYCURSOR);
2401
399k
    if (yych <= 'U') {
2402
122k
      if (yych == 'R') goto yy198;
2403
116k
      if (yych <= 'T') goto yy48;
2404
2.03k
      goto yy199;
2405
277k
    } else {
2406
277k
      if (yych <= 'r') {
2407
190k
        if (yych <= 'q') goto yy48;
2408
56.2k
        goto yy198;
2409
190k
      } else {
2410
86.8k
        if (yych == 'u') goto yy199;
2411
17.8k
        goto yy48;
2412
86.8k
      }
2413
277k
    }
2414
140k
yy55:
2415
140k
    YYDEBUG(55, *YYCURSOR);
2416
140k
    yyaccept = 4;
2417
140k
    yych = *(YYMARKER = ++YYCURSOR);
2418
140k
    if (yych == 'E') goto yy200;
2419
135k
    if (yych == 'e') goto yy200;
2420
59.5k
    goto yy48;
2421
204k
yy56:
2422
204k
    YYDEBUG(56, *YYCURSOR);
2423
204k
    yyaccept = 4;
2424
204k
    yych = *(YYMARKER = ++YYCURSOR);
2425
204k
    if (yych <= 'W') {
2426
71.2k
      if (yych == 'T') goto yy201;
2427
62.0k
      if (yych <= 'V') goto yy48;
2428
388
      goto yy202;
2429
133k
    } else {
2430
133k
      if (yych <= 't') {
2431
117k
        if (yych <= 's') goto yy48;
2432
61.4k
        goto yy201;
2433
117k
      } else {
2434
16.1k
        if (yych == 'w') goto yy202;
2435
8.04k
        goto yy48;
2436
16.1k
      }
2437
133k
    }
2438
203k
yy57:
2439
203k
    YYDEBUG(57, *YYCURSOR);
2440
203k
    yyaccept = 4;
2441
203k
    yych = *(YYMARKER = ++YYCURSOR);
2442
203k
    if (yych <= 'R') {
2443
40.0k
      if (yych == 'H') goto yy203;
2444
38.9k
      if (yych <= 'Q') goto yy48;
2445
5.53k
      goto yy204;
2446
163k
    } else {
2447
163k
      if (yych <= 'h') {
2448
76.7k
        if (yych <= 'g') goto yy48;
2449
15.2k
        goto yy203;
2450
86.8k
      } else {
2451
86.8k
        if (yych == 'r') goto yy204;
2452
24.4k
        goto yy48;
2453
86.8k
      }
2454
163k
    }
2455
80.5k
yy58:
2456
80.5k
    YYDEBUG(58, *YYCURSOR);
2457
80.5k
    yyaccept = 4;
2458
80.5k
    yych = *(YYMARKER = ++YYCURSOR);
2459
80.5k
    if (yych <= 'S') {
2460
20.9k
      if (yych == 'N') goto yy205;
2461
19.4k
      if (yych <= 'R') goto yy48;
2462
679
      goto yy206;
2463
59.5k
    } else {
2464
59.5k
      if (yych <= 'n') {
2465
38.2k
        if (yych <= 'm') goto yy48;
2466
21.5k
        goto yy205;
2467
38.2k
      } else {
2468
21.3k
        if (yych == 's') goto yy206;
2469
7.64k
        goto yy48;
2470
21.3k
      }
2471
59.5k
    }
2472
127k
yy59:
2473
127k
    YYDEBUG(59, *YYCURSOR);
2474
127k
    yyaccept = 4;
2475
127k
    yych = *(YYMARKER = ++YYCURSOR);
2476
127k
    if (yych == 'A') goto yy207;
2477
127k
    if (yych == 'a') goto yy207;
2478
22.8k
    goto yy48;
2479
29.7k
yy60:
2480
29.7k
    YYDEBUG(60, *YYCURSOR);
2481
29.7k
    yyaccept = 4;
2482
29.7k
    yych = *(YYMARKER = ++YYCURSOR);
2483
29.7k
    if (yych == 'H') goto yy208;
2484
29.3k
    if (yych == 'h') goto yy208;
2485
22.8k
    goto yy48;
2486
32.4k
yy61:
2487
32.4k
    YYDEBUG(61, *YYCURSOR);
2488
32.4k
    yyaccept = 4;
2489
32.4k
    yych = *(YYMARKER = ++YYCURSOR);
2490
32.4k
    if (yych == 'O') goto yy209;
2491
31.9k
    if (yych == 'o') goto yy209;
2492
25.5k
    goto yy48;
2493
130k
yy62:
2494
130k
    YYDEBUG(62, *YYCURSOR);
2495
130k
    yyaccept = 4;
2496
130k
    yych = *(YYMARKER = ++YYCURSOR);
2497
130k
    if (yych == 'I') goto yy210;
2498
129k
    if (yych == 'i') goto yy210;
2499
36.1k
    goto yy48;
2500
273k
yy63:
2501
273k
    YYDEBUG(63, *YYCURSOR);
2502
273k
    ++YYCURSOR;
2503
273k
    goto yy21;
2504
206k
yy64:
2505
206k
    YYDEBUG(64, *YYCURSOR);
2506
206k
    yych = *++YYCURSOR;
2507
206k
    if (yych <= '_') {
2508
161k
      if (yych <= '@') goto yy65;
2509
105k
      if (yych <= 'Z') goto yy211;
2510
83.0k
      if (yych >= '_') goto yy211;
2511
83.0k
    } else {
2512
45.2k
      if (yych <= '`') goto yy65;
2513
43.8k
      if (yych <= 'z') goto yy211;
2514
15.7k
      if (yych >= 0x80) goto yy211;
2515
15.7k
    }
2516
147k
yy65:
2517
147k
    YYDEBUG(65, *YYCURSOR);
2518
147k
    yyleng = YYCURSOR - SCNG(yy_text);
2519
147k
#line 2450 "Zend/zend_language_scanner.l"
2520
147k
    {
2521
147k
  RETURN_TOKEN(T_NS_SEPARATOR);
2522
147k
}
2523
0
#line 2524 "Zend/zend_language_scanner.c"
2524
77.0k
yy66:
2525
77.0k
    YYDEBUG(66, *YYCURSOR);
2526
77.0k
    yych = *++YYCURSOR;
2527
77.0k
    if (yych == '=') goto yy214;
2528
76.0k
    goto yy9;
2529
197k
yy67:
2530
197k
    YYDEBUG(67, *YYCURSOR);
2531
197k
    yyaccept = 4;
2532
197k
    yych = *(YYMARKER = ++YYCURSOR);
2533
197k
    if (yych == '_') goto yy216;
2534
58.6k
    goto yy48;
2535
58.6k
yy68:
2536
55.9k
    YYDEBUG(68, *YYCURSOR);
2537
55.9k
    ++YYCURSOR;
2538
55.9k
    YYDEBUG(69, *YYCURSOR);
2539
55.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2540
55.9k
#line 2825 "Zend/zend_language_scanner.l"
2541
55.9k
    {
2542
55.9k
  BEGIN(ST_BACKQUOTE);
2543
55.9k
  RETURN_TOKEN('`');
2544
55.9k
}
2545
0
#line 2546 "Zend/zend_language_scanner.c"
2546
1.01M
yy70:
2547
1.01M
    YYDEBUG(70, *YYCURSOR);
2548
1.01M
    ++YYCURSOR;
2549
1.01M
    YYDEBUG(71, *YYCURSOR);
2550
1.01M
    yyleng = YYCURSOR - SCNG(yy_text);
2551
1.01M
#line 1973 "Zend/zend_language_scanner.l"
2552
1.01M
    {
2553
1.01M
  yy_push_state(ST_IN_SCRIPTING);
2554
1.01M
  enter_nesting('{');
2555
1.01M
  RETURN_TOKEN('{');
2556
1.01M
}
2557
0
#line 2558 "Zend/zend_language_scanner.c"
2558
106k
yy72:
2559
106k
    YYDEBUG(72, *YYCURSOR);
2560
106k
    yych = *++YYCURSOR;
2561
106k
    if (yych <= '>') {
2562
47.3k
      if (yych <= '<') goto yy9;
2563
10.0k
      if (yych <= '=') goto yy217;
2564
7.91k
      goto yy219;
2565
59.1k
    } else {
2566
59.1k
      if (yych == '|') goto yy221;
2567
51.0k
      goto yy9;
2568
59.1k
    }
2569
375k
yy73:
2570
375k
    YYDEBUG(73, *YYCURSOR);
2571
375k
    ++YYCURSOR;
2572
375k
    YYDEBUG(74, *YYCURSOR);
2573
375k
    yyleng = YYCURSOR - SCNG(yy_text);
2574
375k
#line 1986 "Zend/zend_language_scanner.l"
2575
375k
    {
2576
375k
  RESET_DOC_COMMENT();
2577
375k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2578
329k
    yy_pop_state();
2579
329k
  }
2580
375k
  RETURN_EXIT_NESTING_TOKEN('}');
2581
375k
}
2582
0
#line 2583 "Zend/zend_language_scanner.c"
2583
11.2k
yy75:
2584
11.2k
    YYDEBUG(75, *YYCURSOR);
2585
11.2k
    yych = *++YYCURSOR;
2586
11.2k
    if (yych == '=') goto yy223;
2587
14.3k
yy76:
2588
14.3k
    YYDEBUG(76, *YYCURSOR);
2589
14.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2590
14.3k
#line 1845 "Zend/zend_language_scanner.l"
2591
14.3k
    {
2592
14.3k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2593
14.3k
}
2594
0
#line 2595 "Zend/zend_language_scanner.c"
2595
19.3k
yy77:
2596
19.3k
    YYDEBUG(77, *YYCURSOR);
2597
19.3k
    ++YYCURSOR;
2598
19.3k
    YYDEBUG(78, *YYCURSOR);
2599
19.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2600
19.3k
#line 1422 "Zend/zend_language_scanner.l"
2601
19.3k
    {
2602
19.3k
  enter_nesting('[');
2603
19.3k
  RETURN_TOKEN(T_ATTRIBUTE);
2604
19.3k
}
2605
0
#line 2606 "Zend/zend_language_scanner.c"
2606
4.21M
yy79:
2607
4.21M
    YYDEBUG(79, *YYCURSOR);
2608
4.21M
    ++YYCURSOR;
2609
4.21M
    YYFILL(1);
2610
4.21M
    yych = *YYCURSOR;
2611
4.21M
    YYDEBUG(80, *YYCURSOR);
2612
4.21M
    if (yych <= '^') {
2613
1.18M
      if (yych <= '9') {
2614
830k
        if (yych >= '0') goto yy79;
2615
830k
      } else {
2616
354k
        if (yych <= '@') goto yy81;
2617
220k
        if (yych <= 'Z') goto yy79;
2618
220k
      }
2619
3.03M
    } else {
2620
3.03M
      if (yych <= '`') {
2621
21.4k
        if (yych <= '_') goto yy79;
2622
3.01M
      } else {
2623
3.01M
        if (yych <= 'z') goto yy79;
2624
884k
        if (yych >= 0x80) goto yy79;
2625
884k
      }
2626
3.03M
    }
2627
970k
yy81:
2628
970k
    YYDEBUG(81, *YYCURSOR);
2629
970k
    yyleng = YYCURSOR - SCNG(yy_text);
2630
970k
#line 2416 "Zend/zend_language_scanner.l"
2631
970k
    {
2632
970k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2633
970k
}
2634
0
#line 2635 "Zend/zend_language_scanner.c"
2635
1.41k
yy82:
2636
1.41k
    YYDEBUG(82, *YYCURSOR);
2637
1.41k
    ++YYCURSOR;
2638
1.41k
    YYDEBUG(83, *YYCURSOR);
2639
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
2640
1.41k
#line 1889 "Zend/zend_language_scanner.l"
2641
1.41k
    {
2642
1.41k
  RETURN_TOKEN(T_MOD_EQUAL);
2643
1.41k
}
2644
0
#line 2645 "Zend/zend_language_scanner.c"
2645
253k
yy84:
2646
253k
    YYDEBUG(84, *YYCURSOR);
2647
253k
    ++YYCURSOR;
2648
253k
    YYFILL(3);
2649
253k
    yych = *YYCURSOR;
2650
335k
yy85:
2651
335k
    YYDEBUG(85, *YYCURSOR);
2652
335k
    if (yych <= ' ') {
2653
84.9k
      if (yych <= '\f') {
2654
56.7k
        if (yych <= 0x08) goto yy86;
2655
54.4k
        if (yych <= '\n') goto yy84;
2656
54.4k
      } else {
2657
28.1k
        if (yych <= '\r') goto yy84;
2658
17.2k
        if (yych >= ' ') goto yy84;
2659
17.2k
      }
2660
250k
    } else {
2661
250k
      if (yych <= '$') {
2662
215k
        if (yych <= '"') goto yy86;
2663
215k
        if (yych <= '#') goto yy87;
2664
24.9k
        goto yy88;
2665
215k
      } else {
2666
34.7k
        if (yych <= '-') goto yy86;
2667
29.1k
        if (yych <= '.') goto yy92;
2668
22.9k
        if (yych <= '/') goto yy93;
2669
22.9k
      }
2670
250k
    }
2671
847k
yy86:
2672
847k
    YYDEBUG(86, *YYCURSOR);
2673
847k
    YYCURSOR = YYMARKER;
2674
847k
    if (yyaccept <= 48) {
2675
665k
      if (yyaccept <= 24) {
2676
654k
        if (yyaccept <= 12) {
2677
640k
          if (yyaccept <= 6) {
2678
389k
            if (yyaccept <= 3) {
2679
344k
              if (yyaccept <= 1) {
2680
308k
                if (yyaccept == 0) {
2681
47.1k
                  goto yy17;
2682
261k
                } else {
2683
261k
                  goto yy21;
2684
261k
                }
2685
308k
              } else {
2686
35.5k
                if (yyaccept == 2) {
2687
18.2k
                  goto yy9;
2688
18.2k
                } else {
2689
17.3k
                  goto yy31;
2690
17.3k
                }
2691
35.5k
              }
2692
344k
            } else {
2693
44.7k
              if (yyaccept <= 5) {
2694
42.0k
                if (yyaccept == 4) {
2695
37.8k
                  goto yy40;
2696
37.8k
                } else {
2697
4.21k
                  goto yy125;
2698
4.21k
                }
2699
42.0k
              } else {
2700
2.63k
                goto yy129;
2701
2.63k
              }
2702
44.7k
            }
2703
389k
          } else {
2704
251k
            if (yyaccept <= 9) {
2705
250k
              if (yyaccept <= 8) {
2706
250k
                if (yyaccept == 7) {
2707
249k
                  goto yy142;
2708
249k
                } else {
2709
438
                  goto yy163;
2710
438
                }
2711
250k
              } else {
2712
216
                goto yy173;
2713
216
              }
2714
250k
            } else {
2715
1.01k
              if (yyaccept <= 11) {
2716
548
                if (yyaccept == 10) {
2717
242
                  goto yy182;
2718
306
                } else {
2719
306
                  goto yy188;
2720
306
                }
2721
548
              } else {
2722
468
                goto yy197;
2723
468
              }
2724
1.01k
            }
2725
251k
          }
2726
640k
        } else {
2727
13.4k
          if (yyaccept <= 18) {
2728
11.6k
            if (yyaccept <= 15) {
2729
8.43k
              if (yyaccept <= 14) {
2730
8.23k
                if (yyaccept == 13) {
2731
7.38k
                  goto yy213;
2732
7.38k
                } else {
2733
852
                  goto yy251;
2734
852
                }
2735
8.23k
              } else {
2736
199
                goto yy257;
2737
199
              }
2738
8.43k
            } else {
2739
3.19k
              if (yyaccept <= 17) {
2740
716
                if (yyaccept == 16) {
2741
408
                  goto yy260;
2742
408
                } else {
2743
308
                  goto yy279;
2744
308
                }
2745
2.47k
              } else {
2746
2.47k
                goto yy283;
2747
2.47k
              }
2748
3.19k
            }
2749
11.6k
          } else {
2750
1.87k
            if (yyaccept <= 21) {
2751
1.13k
              if (yyaccept <= 20) {
2752
910
                if (yyaccept == 19) {
2753
541
                  goto yy295;
2754
541
                } else {
2755
369
                  goto yy306;
2756
369
                }
2757
910
              } else {
2758
229
                goto yy319;
2759
229
              }
2760
1.13k
            } else {
2761
731
              if (yyaccept <= 23) {
2762
657
                if (yyaccept == 22) {
2763
372
                  goto yy331;
2764
372
                } else {
2765
285
                  goto yy334;
2766
285
                }
2767
657
              } else {
2768
74
                goto yy336;
2769
74
              }
2770
731
            }
2771
1.87k
          }
2772
13.4k
        }
2773
654k
      } else {
2774
11.4k
        if (yyaccept <= 36) {
2775
8.64k
          if (yyaccept <= 30) {
2776
7.03k
            if (yyaccept <= 27) {
2777
6.51k
              if (yyaccept <= 26) {
2778
6.33k
                if (yyaccept == 25) {
2779
213
                  goto yy339;
2780
6.12k
                } else {
2781
6.12k
                  goto yy89;
2782
6.12k
                }
2783
6.33k
              } else {
2784
180
                goto yy379;
2785
180
              }
2786
6.51k
            } else {
2787
520
              if (yyaccept <= 29) {
2788
380
                if (yyaccept == 28) {
2789
220
                  goto yy388;
2790
220
                } else {
2791
160
                  goto yy390;
2792
160
                }
2793
380
              } else {
2794
140
                goto yy399;
2795
140
              }
2796
520
            }
2797
7.03k
          } else {
2798
1.60k
            if (yyaccept <= 33) {
2799
732
              if (yyaccept <= 32) {
2800
497
                if (yyaccept == 31) {
2801
264
                  goto yy401;
2802
264
                } else {
2803
233
                  goto yy408;
2804
233
                }
2805
497
              } else {
2806
235
                goto yy415;
2807
235
              }
2808
877
            } else {
2809
877
              if (yyaccept <= 35) {
2810
612
                if (yyaccept == 34) {
2811
210
                  goto yy471;
2812
402
                } else {
2813
402
                  goto yy473;
2814
402
                }
2815
612
              } else {
2816
265
                goto yy476;
2817
265
              }
2818
877
            }
2819
1.60k
          }
2820
8.64k
        } else {
2821
2.80k
          if (yyaccept <= 42) {
2822
1.69k
            if (yyaccept <= 39) {
2823
673
              if (yyaccept <= 38) {
2824
366
                if (yyaccept == 37) {
2825
208
                  goto yy478;
2826
208
                } else {
2827
158
                  goto yy480;
2828
158
                }
2829
366
              } else {
2830
307
                goto yy482;
2831
307
              }
2832
1.02k
            } else {
2833
1.02k
              if (yyaccept <= 41) {
2834
542
                if (yyaccept == 40) {
2835
334
                  goto yy488;
2836
334
                } else {
2837
208
                  goto yy492;
2838
208
                }
2839
542
              } else {
2840
478
                goto yy501;
2841
478
              }
2842
1.02k
            }
2843
1.69k
          } else {
2844
1.10k
            if (yyaccept <= 45) {
2845
660
              if (yyaccept <= 44) {
2846
337
                if (yyaccept == 43) {
2847
195
                  goto yy511;
2848
195
                } else {
2849
142
                  goto yy513;
2850
142
                }
2851
337
              } else {
2852
323
                goto yy516;
2853
323
              }
2854
660
            } else {
2855
448
              if (yyaccept <= 47) {
2856
246
                if (yyaccept == 46) {
2857
65
                  goto yy526;
2858
181
                } else {
2859
181
                  goto yy528;
2860
181
                }
2861
246
              } else {
2862
202
                goto yy530;
2863
202
              }
2864
448
            }
2865
1.10k
          }
2866
2.80k
        }
2867
11.4k
      }
2868
665k
    } else {
2869
181k
      if (yyaccept <= 72) {
2870
155k
        if (yyaccept <= 60) {
2871
150k
          if (yyaccept <= 54) {
2872
146k
            if (yyaccept <= 51) {
2873
53.5k
              if (yyaccept <= 50) {
2874
53.2k
                if (yyaccept == 49) {
2875
213
                  goto yy532;
2876
52.9k
                } else {
2877
52.9k
                  goto yy534;
2878
52.9k
                }
2879
53.2k
              } else {
2880
355
                goto yy576;
2881
355
              }
2882
93.3k
            } else {
2883
93.3k
              if (yyaccept <= 53) {
2884
93.1k
                if (yyaccept == 52) {
2885
265
                  goto yy579;
2886
92.8k
                } else {
2887
92.8k
                  goto yy583;
2888
92.8k
                }
2889
93.1k
              } else {
2890
238
                goto yy597;
2891
238
              }
2892
93.3k
            }
2893
146k
          } else {
2894
3.33k
            if (yyaccept <= 57) {
2895
2.14k
              if (yyaccept <= 56) {
2896
1.87k
                if (yyaccept == 55) {
2897
1.61k
                  goto yy607;
2898
1.61k
                } else {
2899
260
                  goto yy611;
2900
260
                }
2901
1.87k
              } else {
2902
271
                goto yy613;
2903
271
              }
2904
2.14k
            } else {
2905
1.19k
              if (yyaccept <= 59) {
2906
939
                if (yyaccept == 58) {
2907
579
                  goto yy615;
2908
579
                } else {
2909
360
                  goto yy654;
2910
360
                }
2911
939
              } else {
2912
257
                goto yy656;
2913
257
              }
2914
1.19k
            }
2915
3.33k
          }
2916
150k
        } else {
2917
4.80k
          if (yyaccept <= 66) {
2918
3.48k
            if (yyaccept <= 63) {
2919
626
              if (yyaccept <= 62) {
2920
404
                if (yyaccept == 61) {
2921
194
                  goto yy671;
2922
210
                } else {
2923
210
                  goto yy673;
2924
210
                }
2925
404
              } else {
2926
222
                goto yy675;
2927
222
              }
2928
2.86k
            } else {
2929
2.86k
              if (yyaccept <= 65) {
2930
2.53k
                if (yyaccept == 64) {
2931
203
                  goto yy679;
2932
2.32k
                } else {
2933
2.32k
                  goto yy685;
2934
2.32k
                }
2935
2.53k
              } else {
2936
331
                goto yy690;
2937
331
              }
2938
2.86k
            }
2939
3.48k
          } else {
2940
1.31k
            if (yyaccept <= 69) {
2941
652
              if (yyaccept <= 68) {
2942
402
                if (yyaccept == 67) {
2943
235
                  goto yy700;
2944
235
                } else {
2945
167
                  goto yy726;
2946
167
                }
2947
402
              } else {
2948
250
                goto yy728;
2949
250
              }
2950
663
            } else {
2951
663
              if (yyaccept <= 71) {
2952
391
                if (yyaccept == 70) {
2953
206
                  goto yy730;
2954
206
                } else {
2955
185
                  goto yy735;
2956
185
                }
2957
391
              } else {
2958
272
                goto yy743;
2959
272
              }
2960
663
            }
2961
1.31k
          }
2962
4.80k
        }
2963
155k
      } else {
2964
26.5k
        if (yyaccept <= 84) {
2965
6.05k
          if (yyaccept <= 78) {
2966
1.45k
            if (yyaccept <= 75) {
2967
910
              if (yyaccept <= 74) {
2968
618
                if (yyaccept == 73) {
2969
349
                  goto yy754;
2970
349
                } else {
2971
269
                  goto yy764;
2972
269
                }
2973
618
              } else {
2974
292
                goto yy768;
2975
292
              }
2976
910
            } else {
2977
546
              if (yyaccept <= 77) {
2978
395
                if (yyaccept == 76) {
2979
69
                  goto yy784;
2980
326
                } else {
2981
326
                  goto yy797;
2982
326
                }
2983
395
              } else {
2984
151
                goto yy799;
2985
151
              }
2986
546
            }
2987
4.60k
          } else {
2988
4.60k
            if (yyaccept <= 81) {
2989
3.03k
              if (yyaccept <= 80) {
2990
2.77k
                if (yyaccept == 79) {
2991
787
                  goto yy801;
2992
1.98k
                } else {
2993
1.98k
                  goto yy804;
2994
1.98k
                }
2995
2.77k
              } else {
2996
259
                goto yy812;
2997
259
              }
2998
3.03k
            } else {
2999
1.56k
              if (yyaccept <= 83) {
3000
1.12k
                if (yyaccept == 82) {
3001
218
                  goto yy819;
3002
904
                } else {
3003
904
                  goto yy823;
3004
904
                }
3005
1.12k
              } else {
3006
446
                goto yy825;
3007
446
              }
3008
1.56k
            }
3009
4.60k
          }
3010
20.4k
        } else {
3011
20.4k
          if (yyaccept <= 90) {
3012
1.21k
            if (yyaccept <= 87) {
3013
678
              if (yyaccept <= 86) {
3014
470
                if (yyaccept == 85) {
3015
257
                  goto yy836;
3016
257
                } else {
3017
213
                  goto yy839;
3018
213
                }
3019
470
              } else {
3020
208
                goto yy854;
3021
208
              }
3022
678
            } else {
3023
538
              if (yyaccept <= 89) {
3024
434
                if (yyaccept == 88) {
3025
218
                  goto yy869;
3026
218
                } else {
3027
216
                  goto yy898;
3028
216
                }
3029
434
              } else {
3030
104
                goto yy903;
3031
104
              }
3032
538
            }
3033
19.2k
          } else {
3034
19.2k
            if (yyaccept <= 93) {
3035
15.4k
              if (yyaccept <= 92) {
3036
15.1k
                if (yyaccept == 91) {
3037
14.7k
                  goto yy876;
3038
14.7k
                } else {
3039
402
                  goto yy911;
3040
402
                }
3041
15.1k
              } else {
3042
279
                goto yy915;
3043
279
              }
3044
15.4k
            } else {
3045
3.82k
              if (yyaccept <= 95) {
3046
3.54k
                if (yyaccept == 94) {
3047
3.30k
                  goto yy886;
3048
3.30k
                } else {
3049
244
                  goto yy931;
3050
244
                }
3051
3.54k
              } else {
3052
284
                goto yy951;
3053
284
              }
3054
3.82k
            }
3055
19.2k
          }
3056
20.4k
        }
3057
26.5k
      }
3058
181k
    }
3059
190k
yy87:
3060
190k
    YYDEBUG(87, *YYCURSOR);
3061
190k
    ++YYCURSOR;
3062
190k
    YYFILL(1);
3063
190k
    yych = *YYCURSOR;
3064
190k
    if (yych <= '\f') {
3065
55.7k
      if (yych <= 0x00) goto yy86;
3066
53.7k
      if (yych == '\n') goto yy227;
3067
884
      goto yy225;
3068
134k
    } else {
3069
134k
      if (yych <= '\r') goto yy227;
3070
17.2k
      if (yych == '[') goto yy86;
3071
16.9k
      goto yy225;
3072
17.2k
    }
3073
27.6k
yy88:
3074
27.6k
    YYDEBUG(88, *YYCURSOR);
3075
27.6k
    ++YYCURSOR;
3076
34.6k
yy89:
3077
34.6k
    YYDEBUG(89, *YYCURSOR);
3078
34.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3079
34.6k
#line 1949 "Zend/zend_language_scanner.l"
3080
34.6k
    {
3081
34.6k
  yyless(1);
3082
34.6k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3083
34.6k
}
3084
0
#line 3085 "Zend/zend_language_scanner.c"
3085
14.2k
yy90:
3086
14.2k
    YYDEBUG(90, *YYCURSOR);
3087
14.2k
    ++YYCURSOR;
3088
14.2k
    YYDEBUG(91, *YYCURSOR);
3089
14.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3090
14.2k
#line 1925 "Zend/zend_language_scanner.l"
3091
14.2k
    {
3092
14.2k
  RETURN_TOKEN(T_BOOLEAN_AND);
3093
14.2k
}
3094
0
#line 3095 "Zend/zend_language_scanner.c"
3095
6.19k
yy92:
3096
6.19k
    YYDEBUG(92, *YYCURSOR);
3097
6.19k
    yych = *++YYCURSOR;
3098
6.19k
    if (yych == '.') goto yy229;
3099
2.00k
    goto yy86;
3100
9.23k
yy93:
3101
9.23k
    YYDEBUG(93, *YYCURSOR);
3102
9.23k
    ++YYCURSOR;
3103
9.23k
    YYFILL(1);
3104
9.23k
    yych = *YYCURSOR;
3105
9.23k
    if (yych == '*') goto yy230;
3106
2.04k
    if (yych == '/') goto yy225;
3107
1.38k
    goto yy86;
3108
13.9k
yy94:
3109
13.9k
    YYDEBUG(94, *YYCURSOR);
3110
13.9k
    ++YYCURSOR;
3111
13.9k
    YYDEBUG(95, *YYCURSOR);
3112
13.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3113
13.9k
#line 1901 "Zend/zend_language_scanner.l"
3114
13.9k
    {
3115
13.9k
  RETURN_TOKEN(T_AND_EQUAL);
3116
13.9k
}
3117
0
#line 3118 "Zend/zend_language_scanner.c"
3118
262k
yy96:
3119
262k
    YYDEBUG(96, *YYCURSOR);
3120
262k
    ++YYCURSOR;
3121
262k
    YYFILL(7);
3122
262k
    yych = *YYCURSOR;
3123
542k
yy97:
3124
542k
    YYDEBUG(97, *YYCURSOR);
3125
542k
    if (yybm[0+yych] & 1) {
3126
262k
      goto yy96;
3127
262k
    }
3128
279k
    switch (yych) {
3129
5.81k
    case 'A':
3130
38.7k
    case 'a': goto yy98;
3131
5.03k
    case 'B':
3132
22.9k
    case 'b': goto yy99;
3133
801
    case 'D':
3134
8.24k
    case 'd': goto yy100;
3135
2.80k
    case 'F':
3136
20.3k
    case 'f': goto yy101;
3137
1.09k
    case 'I':
3138
31.2k
    case 'i': goto yy102;
3139
6.08k
    case 'O':
3140
13.9k
    case 'o': goto yy103;
3141
3.87k
    case 'R':
3142
12.2k
    case 'r': goto yy104;
3143
4.53k
    case 'S':
3144
37.4k
    case 's': goto yy105;
3145
745
    case 'U':
3146
10.6k
    case 'u': goto yy106;
3147
872
    case 'V':
3148
4.77k
    case 'v': goto yy107;
3149
79.0k
    default:  goto yy86;
3150
279k
    }
3151
38.7k
yy98:
3152
38.7k
    YYDEBUG(98, *YYCURSOR);
3153
38.7k
    yych = *++YYCURSOR;
3154
38.7k
    if (yych == 'R') goto yy232;
3155
38.3k
    if (yych == 'r') goto yy232;
3156
24.9k
    goto yy86;
3157
24.9k
yy99:
3158
22.9k
    YYDEBUG(99, *YYCURSOR);
3159
22.9k
    yych = *++YYCURSOR;
3160
22.9k
    if (yych <= 'O') {
3161
7.60k
      if (yych == 'I') goto yy233;
3162
6.79k
      if (yych <= 'N') goto yy86;
3163
953
      goto yy234;
3164
15.3k
    } else {
3165
15.3k
      if (yych <= 'i') {
3166
8.18k
        if (yych <= 'h') goto yy86;
3167
6.43k
        goto yy233;
3168
8.18k
      } else {
3169
7.13k
        if (yych == 'o') goto yy234;
3170
1.34k
        goto yy86;
3171
7.13k
      }
3172
15.3k
    }
3173
8.24k
yy100:
3174
8.24k
    YYDEBUG(100, *YYCURSOR);
3175
8.24k
    yych = *++YYCURSOR;
3176
8.24k
    if (yych == 'O') goto yy235;
3177
7.80k
    if (yych == 'o') goto yy235;
3178
4.13k
    goto yy86;
3179
20.3k
yy101:
3180
20.3k
    YYDEBUG(101, *YYCURSOR);
3181
20.3k
    yych = *++YYCURSOR;
3182
20.3k
    if (yych == 'L') goto yy236;
3183
19.8k
    if (yych == 'l') goto yy236;
3184
16.4k
    goto yy86;
3185
31.2k
yy102:
3186
31.2k
    YYDEBUG(102, *YYCURSOR);
3187
31.2k
    yych = *++YYCURSOR;
3188
31.2k
    if (yych == 'N') goto yy237;
3189
30.2k
    if (yych == 'n') goto yy237;
3190
17.7k
    goto yy86;
3191
17.7k
yy103:
3192
13.9k
    YYDEBUG(103, *YYCURSOR);
3193
13.9k
    yych = *++YYCURSOR;
3194
13.9k
    if (yych == 'B') goto yy238;
3195
13.6k
    if (yych == 'b') goto yy238;
3196
7.16k
    goto yy86;
3197
12.2k
yy104:
3198
12.2k
    YYDEBUG(104, *YYCURSOR);
3199
12.2k
    yych = *++YYCURSOR;
3200
12.2k
    if (yych == 'E') goto yy239;
3201
12.0k
    if (yych == 'e') goto yy239;
3202
8.02k
    goto yy86;
3203
37.4k
yy105:
3204
37.4k
    YYDEBUG(105, *YYCURSOR);
3205
37.4k
    yych = *++YYCURSOR;
3206
37.4k
    if (yych == 'T') goto yy240;
3207
36.3k
    if (yych == 't') goto yy240;
3208
18.7k
    goto yy86;
3209
18.7k
yy106:
3210
10.6k
    YYDEBUG(106, *YYCURSOR);
3211
10.6k
    yych = *++YYCURSOR;
3212
10.6k
    if (yych == 'N') goto yy241;
3213
10.2k
    if (yych == 'n') goto yy241;
3214
4.67k
    goto yy86;
3215
4.77k
yy107:
3216
4.77k
    YYDEBUG(107, *YYCURSOR);
3217
4.77k
    yych = *++YYCURSOR;
3218
4.77k
    if (yych == 'O') goto yy242;
3219
4.31k
    if (yych == 'o') goto yy242;
3220
2.58k
    goto yy86;
3221
20.8k
yy108:
3222
20.8k
    YYDEBUG(108, *YYCURSOR);
3223
20.8k
    yych = *++YYCURSOR;
3224
20.8k
    if (yych == '=') goto yy243;
3225
20.1k
    YYDEBUG(109, *YYCURSOR);
3226
20.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3227
20.1k
#line 1873 "Zend/zend_language_scanner.l"
3228
20.1k
    {
3229
20.1k
  RETURN_TOKEN(T_POW);
3230
20.1k
}
3231
0
#line 3232 "Zend/zend_language_scanner.c"
3232
4.85k
yy110:
3233
4.85k
    YYDEBUG(110, *YYCURSOR);
3234
4.85k
    ++YYCURSOR;
3235
4.85k
    YYDEBUG(111, *YYCURSOR);
3236
4.85k
    yyleng = YYCURSOR - SCNG(yy_text);
3237
4.85k
#line 1869 "Zend/zend_language_scanner.l"
3238
4.85k
    {
3239
4.85k
  RETURN_TOKEN(T_MUL_EQUAL);
3240
4.85k
}
3241
0
#line 3242 "Zend/zend_language_scanner.c"
3242
49.3k
yy112:
3243
49.3k
    YYDEBUG(112, *YYCURSOR);
3244
49.3k
    ++YYCURSOR;
3245
49.3k
    YYDEBUG(113, *YYCURSOR);
3246
49.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3247
49.3k
#line 1825 "Zend/zend_language_scanner.l"
3248
49.3k
    {
3249
49.3k
  RETURN_TOKEN(T_INC);
3250
49.3k
}
3251
0
#line 3252 "Zend/zend_language_scanner.c"
3252
4.92k
yy114:
3253
4.92k
    YYDEBUG(114, *YYCURSOR);
3254
4.92k
    ++YYCURSOR;
3255
4.92k
    YYDEBUG(115, *YYCURSOR);
3256
4.92k
    yyleng = YYCURSOR - SCNG(yy_text);
3257
4.92k
#line 1861 "Zend/zend_language_scanner.l"
3258
4.92k
    {
3259
4.92k
  RETURN_TOKEN(T_PLUS_EQUAL);
3260
4.92k
}
3261
0
#line 3262 "Zend/zend_language_scanner.c"
3262
11.5k
yy116:
3263
11.5k
    YYDEBUG(116, *YYCURSOR);
3264
11.5k
    ++YYCURSOR;
3265
11.5k
    YYDEBUG(117, *YYCURSOR);
3266
11.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3267
11.5k
#line 1829 "Zend/zend_language_scanner.l"
3268
11.5k
    {
3269
11.5k
  RETURN_TOKEN(T_DEC);
3270
11.5k
}
3271
0
#line 3272 "Zend/zend_language_scanner.c"
3272
2.51k
yy118:
3273
2.51k
    YYDEBUG(118, *YYCURSOR);
3274
2.51k
    ++YYCURSOR;
3275
2.51k
    YYDEBUG(119, *YYCURSOR);
3276
2.51k
    yyleng = YYCURSOR - SCNG(yy_text);
3277
2.51k
#line 1865 "Zend/zend_language_scanner.l"
3278
2.51k
    {
3279
2.51k
  RETURN_TOKEN(T_MINUS_EQUAL);
3280
2.51k
}
3281
0
#line 3282 "Zend/zend_language_scanner.c"
3282
119k
yy120:
3283
119k
    YYDEBUG(120, *YYCURSOR);
3284
119k
    ++YYCURSOR;
3285
119k
    YYDEBUG(121, *YYCURSOR);
3286
119k
    yyleng = YYCURSOR - SCNG(yy_text);
3287
119k
#line 1586 "Zend/zend_language_scanner.l"
3288
119k
    {
3289
119k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3290
119k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3291
119k
}
3292
0
#line 3293 "Zend/zend_language_scanner.c"
3293
82.9k
yy122:
3294
82.9k
    YYDEBUG(122, *YYCURSOR);
3295
82.9k
    yych = *++YYCURSOR;
3296
82.9k
    if (yych == '.') goto yy245;
3297
12.2k
    goto yy86;
3298
476k
yy123:
3299
476k
    YYDEBUG(123, *YYCURSOR);
3300
476k
    yyaccept = 5;
3301
476k
    YYMARKER = ++YYCURSOR;
3302
476k
    YYFILL(2);
3303
476k
    yych = *YYCURSOR;
3304
529k
yy124:
3305
529k
    YYDEBUG(124, *YYCURSOR);
3306
529k
    if (yych <= 'E') {
3307
497k
      if (yych <= '/') goto yy125;
3308
462k
      if (yych <= '9') goto yy123;
3309
22.7k
      if (yych >= 'E') goto yy135;
3310
31.7k
    } else {
3311
31.7k
      if (yych <= '_') {
3312
3.80k
        if (yych >= '_') goto yy247;
3313
27.9k
      } else {
3314
27.9k
        if (yych == 'e') goto yy135;
3315
27.9k
      }
3316
31.7k
    }
3317
116k
yy125:
3318
116k
    YYDEBUG(125, *YYCURSOR);
3319
116k
    yyleng = YYCURSOR - SCNG(yy_text);
3320
116k
#line 2232 "Zend/zend_language_scanner.l"
3321
116k
    {
3322
116k
  const char *end;
3323
116k
  size_t len = yyleng;
3324
116k
  char *dnum = yytext;
3325
116k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3326
3327
116k
  if (contains_underscores) {
3328
1.82k
    dnum = estrndup(dnum, len);
3329
1.82k
    strip_underscores(dnum, &len);
3330
1.82k
  }
3331
3332
116k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3333
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3334
116k
  ZEND_ASSERT(end == dnum + len);
3335
116k
  if (contains_underscores) {
3336
1.82k
    efree(dnum);
3337
1.82k
  }
3338
116k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3339
116k
}
3340
0
#line 3341 "Zend/zend_language_scanner.c"
3341
85.1k
yy126:
3342
85.1k
    YYDEBUG(126, *YYCURSOR);
3343
85.1k
    ++YYCURSOR;
3344
85.1k
    YYDEBUG(127, *YYCURSOR);
3345
85.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3346
85.1k
#line 1885 "Zend/zend_language_scanner.l"
3347
85.1k
    {
3348
85.1k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3349
85.1k
}
3350
0
#line 3351 "Zend/zend_language_scanner.c"
3351
98.7k
yy128:
3352
98.7k
    YYDEBUG(128, *YYCURSOR);
3353
98.7k
    yyaccept = 6;
3354
98.7k
    yych = *(YYMARKER = ++YYCURSOR);
3355
98.7k
    if (yych == '*') goto yy248;
3356
98.7k
yy129:
3357
98.7k
    YYDEBUG(129, *YYCURSOR);
3358
98.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3359
98.7k
#line 2483 "Zend/zend_language_scanner.l"
3360
98.7k
    {
3361
98.7k
  int doc_com;
3362
3363
98.7k
  if (yyleng > 2) {
3364
7.34k
    doc_com = 1;
3365
7.34k
    RESET_DOC_COMMENT();
3366
91.3k
  } else {
3367
91.3k
    doc_com = 0;
3368
91.3k
  }
3369
3370
6.04M
  while (YYCURSOR < YYLIMIT) {
3371
6.02M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3372
76.6k
      break;
3373
76.6k
    }
3374
6.02M
  }
3375
3376
98.7k
  if (YYCURSOR < YYLIMIT) {
3377
76.6k
    YYCURSOR++;
3378
76.6k
  } else {
3379
22.1k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3380
22.1k
    if (PARSER_MODE()) {
3381
985
      RETURN_TOKEN(T_ERROR);
3382
985
    }
3383
22.1k
  }
3384
3385
97.7k
  yyleng = YYCURSOR - SCNG(yy_text);
3386
97.7k
  HANDLE_NEWLINES(yytext, yyleng);
3387
3388
97.7k
  if (doc_com) {
3389
7.27k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3390
7.27k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3391
7.27k
  }
3392
3393
90.4k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3394
90.4k
}
3395
0
#line 3396 "Zend/zend_language_scanner.c"
3396
71.1k
yy130:
3397
71.1k
    YYDEBUG(130, *YYCURSOR);
3398
71.1k
    ++YYCURSOR;
3399
71.1k
    goto yy13;
3400
2.80k
yy131:
3401
2.80k
    YYDEBUG(131, *YYCURSOR);
3402
2.80k
    ++YYCURSOR;
3403
2.80k
    YYDEBUG(132, *YYCURSOR);
3404
2.80k
    yyleng = YYCURSOR - SCNG(yy_text);
3405
2.80k
#line 1881 "Zend/zend_language_scanner.l"
3406
2.80k
    {
3407
2.80k
  RETURN_TOKEN(T_DIV_EQUAL);
3408
2.80k
}
3409
0
#line 3410 "Zend/zend_language_scanner.c"
3410
53.1k
yy133:
3411
53.1k
    YYDEBUG(133, *YYCURSOR);
3412
53.1k
    yyaccept = 5;
3413
53.1k
    yych = *(YYMARKER = ++YYCURSOR);
3414
53.1k
    if (yych == '_') goto yy125;
3415
52.5k
    goto yy124;
3416
52.5k
yy134:
3417
7.61k
    YYDEBUG(134, *YYCURSOR);
3418
7.61k
    ++YYCURSOR;
3419
7.61k
    YYFILL(1);
3420
7.61k
    yych = *YYCURSOR;
3421
7.61k
    if (yybm[0+yych] & 8) {
3422
5.38k
      goto yy249;
3423
5.38k
    }
3424
2.22k
    goto yy86;
3425
43.8k
yy135:
3426
43.8k
    YYDEBUG(135, *YYCURSOR);
3427
43.8k
    yych = *++YYCURSOR;
3428
43.8k
    if (yych <= ',') {
3429
3.39k
      if (yych == '+') goto yy252;
3430
2.18k
      goto yy86;
3431
40.4k
    } else {
3432
40.4k
      if (yych <= '-') goto yy252;
3433
27.6k
      if (yych <= '/') goto yy86;
3434
27.4k
      if (yych <= '9') goto yy253;
3435
6.10k
      goto yy86;
3436
27.4k
    }
3437
4.24k
yy136:
3438
4.24k
    YYDEBUG(136, *YYCURSOR);
3439
4.24k
    ++YYCURSOR;
3440
4.24k
    YYFILL(1);
3441
4.24k
    yych = *YYCURSOR;
3442
4.24k
    if (yybm[0+yych] & 16) {
3443
3.03k
      goto yy255;
3444
3.03k
    }
3445
1.21k
    goto yy86;
3446
12.2k
yy137:
3447
12.2k
    YYDEBUG(137, *YYCURSOR);
3448
12.2k
    ++YYCURSOR;
3449
12.2k
    YYFILL(1);
3450
12.2k
    yych = *YYCURSOR;
3451
12.2k
    if (yybm[0+yych] & 32) {
3452
11.3k
      goto yy258;
3453
11.3k
    }
3454
963
    goto yy86;
3455
10.9k
yy138:
3456
10.9k
    YYDEBUG(138, *YYCURSOR);
3457
10.9k
    ++YYCURSOR;
3458
10.9k
    YYFILL(1);
3459
10.9k
    yych = *YYCURSOR;
3460
10.9k
    if (yybm[256+yych] & 64) {
3461
4.04k
      goto yy32;
3462
4.04k
    }
3463
6.91k
    goto yy86;
3464
129k
yy139:
3465
129k
    YYDEBUG(139, *YYCURSOR);
3466
129k
    ++YYCURSOR;
3467
129k
    YYDEBUG(140, *YYCURSOR);
3468
129k
    yyleng = YYCURSOR - SCNG(yy_text);
3469
129k
#line 1613 "Zend/zend_language_scanner.l"
3470
129k
    {
3471
129k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3472
129k
}
3473
0
#line 3474 "Zend/zend_language_scanner.c"
3474
3.61M
yy141:
3475
3.61M
    YYDEBUG(141, *YYCURSOR);
3476
3.61M
    yyaccept = 7;
3477
3.61M
    yych = *(YYMARKER = ++YYCURSOR);
3478
3.61M
    if (yych <= ';') goto yy142;
3479
3.53M
    if (yych <= '<') goto yy261;
3480
196k
    if (yych <= '=') goto yy263;
3481
523k
yy142:
3482
523k
    YYDEBUG(142, *YYCURSOR);
3483
523k
    yyleng = YYCURSOR - SCNG(yy_text);
3484
523k
#line 1941 "Zend/zend_language_scanner.l"
3485
523k
    {
3486
523k
  RETURN_TOKEN(T_SL);
3487
523k
}
3488
0
#line 3489 "Zend/zend_language_scanner.c"
3489
15.9k
yy143:
3490
15.9k
    YYDEBUG(143, *YYCURSOR);
3491
15.9k
    yych = *++YYCURSOR;
3492
15.9k
    if (yych == '>') goto yy265;
3493
14.8k
    YYDEBUG(144, *YYCURSOR);
3494
14.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3495
14.8k
#line 1853 "Zend/zend_language_scanner.l"
3496
14.8k
    {
3497
14.8k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3498
14.8k
}
3499
0
#line 3500 "Zend/zend_language_scanner.c"
3500
6.09k
yy145:
3501
6.09k
    YYDEBUG(145, *YYCURSOR);
3502
6.09k
    ++YYCURSOR;
3503
6.09k
    goto yy76;
3504
31.3k
yy146:
3505
31.3k
    YYDEBUG(146, *YYCURSOR);
3506
31.3k
    yych = *++YYCURSOR;
3507
31.3k
    if (yych == '=') goto yy267;
3508
21.9k
    YYDEBUG(147, *YYCURSOR);
3509
21.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3510
21.9k
#line 1841 "Zend/zend_language_scanner.l"
3511
21.9k
    {
3512
21.9k
  RETURN_TOKEN(T_IS_EQUAL);
3513
21.9k
}
3514
0
#line 3515 "Zend/zend_language_scanner.c"
3515
52.5k
yy148:
3516
52.5k
    YYDEBUG(148, *YYCURSOR);
3517
52.5k
    ++YYCURSOR;
3518
52.5k
    YYDEBUG(149, *YYCURSOR);
3519
52.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3520
52.5k
#line 1809 "Zend/zend_language_scanner.l"
3521
52.5k
    {
3522
52.5k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3523
52.5k
}
3524
0
#line 3525 "Zend/zend_language_scanner.c"
3525
5.05k
yy150:
3526
5.05k
    YYDEBUG(150, *YYCURSOR);
3527
5.05k
    ++YYCURSOR;
3528
5.05k
    YYDEBUG(151, *YYCURSOR);
3529
5.05k
    yyleng = YYCURSOR - SCNG(yy_text);
3530
5.05k
#line 1857 "Zend/zend_language_scanner.l"
3531
5.05k
    {
3532
5.05k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3533
5.05k
}
3534
0
#line 3535 "Zend/zend_language_scanner.c"
3535
13.7k
yy152:
3536
13.7k
    YYDEBUG(152, *YYCURSOR);
3537
13.7k
    yych = *++YYCURSOR;
3538
13.7k
    if (yych == '=') goto yy269;
3539
12.9k
    YYDEBUG(153, *YYCURSOR);
3540
12.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3541
12.9k
#line 1945 "Zend/zend_language_scanner.l"
3542
12.9k
    {
3543
12.9k
  RETURN_TOKEN(T_SR);
3544
12.9k
}
3545
0
#line 3546 "Zend/zend_language_scanner.c"
3546
39.0k
yy154:
3547
39.0k
    YYDEBUG(154, *YYCURSOR);
3548
39.0k
    yych = *++YYCURSOR;
3549
39.0k
    if (yych == '>') goto yy271;
3550
5.98k
    goto yy86;
3551
139k
yy155:
3552
139k
    YYDEBUG(155, *YYCURSOR);
3553
139k
    yych = *++YYCURSOR;
3554
139k
    if (yych == '\n') goto yy273;
3555
130k
    if (yych == '\r') goto yy274;
3556
139k
yy156:
3557
139k
    YYDEBUG(156, *YYCURSOR);
3558
139k
    yyleng = YYCURSOR - SCNG(yy_text);
3559
139k
#line 2525 "Zend/zend_language_scanner.l"
3560
139k
    {
3561
139k
  BEGIN(INITIAL);
3562
139k
  if (yytext[yyleng-1] != '>') {
3563
11.7k
    CG(increment_lineno) = 1;
3564
11.7k
  }
3565
139k
  if (PARSER_MODE()) {
3566
117k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3567
117k
  }
3568
22.2k
  RETURN_TOKEN(T_CLOSE_TAG);
3569
22.2k
}
3570
0
#line 3571 "Zend/zend_language_scanner.c"
3571
46.2k
yy157:
3572
46.2k
    YYDEBUG(157, *YYCURSOR);
3573
46.2k
    yych = *++YYCURSOR;
3574
46.2k
    if (yych == '=') goto yy275;
3575
37.1k
    YYDEBUG(158, *YYCURSOR);
3576
37.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3577
37.1k
#line 1621 "Zend/zend_language_scanner.l"
3578
37.1k
    {
3579
37.1k
  RETURN_TOKEN(T_COALESCE);
3580
37.1k
}
3581
0
#line 3582 "Zend/zend_language_scanner.c"
3582
13.1k
yy159:
3583
13.1k
    YYDEBUG(159, *YYCURSOR);
3584
13.1k
    yyaccept = 4;
3585
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
3586
13.1k
    if (yych == 'S') goto yy277;
3587
11.5k
    if (yych == 's') goto yy277;
3588
4.05k
    goto yy48;
3589
10.6k
yy160:
3590
10.6k
    YYDEBUG(160, *YYCURSOR);
3591
10.6k
    yyaccept = 4;
3592
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
3593
10.6k
    if (yych == 'D') goto yy278;
3594
8.68k
    if (yych == 'd') goto yy278;
3595
3.77k
    goto yy48;
3596
39.3k
yy161:
3597
39.3k
    YYDEBUG(161, *YYCURSOR);
3598
39.3k
    yyaccept = 4;
3599
39.3k
    yych = *(YYMARKER = ++YYCURSOR);
3600
39.3k
    if (yych == 'R') goto yy280;
3601
38.6k
    if (yych == 'r') goto yy280;
3602
7.78k
    goto yy48;
3603
54.8k
yy162:
3604
54.8k
    YYDEBUG(162, *YYCURSOR);
3605
54.8k
    yyaccept = 8;
3606
54.8k
    yych = *(YYMARKER = ++YYCURSOR);
3607
54.8k
    if (yybm[256+yych] & 128) {
3608
28.1k
      goto yy47;
3609
28.1k
    }
3610
26.7k
    if (yych == '\\') goto yy164;
3611
26.6k
yy163:
3612
26.6k
    YYDEBUG(163, *YYCURSOR);
3613
26.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3614
26.6k
#line 1509 "Zend/zend_language_scanner.l"
3615
26.6k
    {
3616
26.6k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3617
26.6k
}
3618
0
#line 3619 "Zend/zend_language_scanner.c"
3619
79.6k
yy164:
3620
79.6k
    YYDEBUG(164, *YYCURSOR);
3621
79.6k
    ++YYCURSOR;
3622
79.6k
    YYFILL(1);
3623
79.6k
    yych = *YYCURSOR;
3624
79.6k
    if (yych <= '_') {
3625
55.6k
      if (yych <= '@') goto yy86;
3626
30.6k
      if (yych <= 'Z') goto yy281;
3627
14.5k
      if (yych <= '^') goto yy86;
3628
1.40k
      goto yy281;
3629
24.0k
    } else {
3630
24.0k
      if (yych <= '`') goto yy86;
3631
23.3k
      if (yych <= 'z') goto yy281;
3632
10.6k
      if (yych <= 0x7F) goto yy86;
3633
5.62k
      goto yy281;
3634
10.6k
    }
3635
5.27k
yy165:
3636
5.27k
    YYDEBUG(165, *YYCURSOR);
3637
5.27k
    yych = *++YYCURSOR;
3638
5.27k
    if (yych == '<') goto yy284;
3639
1.56k
    goto yy86;
3640
7.69k
yy166:
3641
7.69k
    YYDEBUG(166, *YYCURSOR);
3642
7.69k
    yyaccept = 4;
3643
7.69k
    yych = *(YYMARKER = ++YYCURSOR);
3644
7.69k
    if (yych == 'E') goto yy285;
3645
6.06k
    if (yych == 'e') goto yy285;
3646
1.82k
    goto yy48;
3647
71.9k
yy167:
3648
71.9k
    YYDEBUG(167, *YYCURSOR);
3649
71.9k
    yyaccept = 4;
3650
71.9k
    yych = *(YYMARKER = ++YYCURSOR);
3651
71.9k
    if (yych <= 'T') {
3652
5.09k
      if (yych <= 'L') {
3653
3.83k
        if (yych <= 'K') goto yy48;
3654
1.73k
        goto yy286;
3655
3.83k
      } else {
3656
1.25k
        if (yych <= 'R') goto yy48;
3657
853
        if (yych <= 'S') goto yy287;
3658
594
        goto yy288;
3659
853
      }
3660
66.8k
    } else {
3661
66.8k
      if (yych <= 'r') {
3662
19.1k
        if (yych == 'l') goto yy286;
3663
2.50k
        goto yy48;
3664
47.6k
      } else {
3665
47.6k
        if (yych <= 's') goto yy287;
3666
37.1k
        if (yych <= 't') goto yy288;
3667
722
        goto yy48;
3668
37.1k
      }
3669
66.8k
    }
3670
99.5k
yy168:
3671
99.5k
    YYDEBUG(168, *YYCURSOR);
3672
99.5k
    yyaccept = 4;
3673
99.5k
    yych = *(YYMARKER = ++YYCURSOR);
3674
99.5k
    if (yych <= 'O') {
3675
5.68k
      if (yych == 'A') goto yy289;
3676
3.66k
      if (yych <= 'N') goto yy48;
3677
726
      goto yy290;
3678
93.8k
    } else {
3679
93.8k
      if (yych <= 'a') {
3680
83.2k
        if (yych <= '`') goto yy48;
3681
82.5k
        goto yy289;
3682
83.2k
      } else {
3683
10.6k
        if (yych == 'o') goto yy290;
3684
2.73k
        goto yy48;
3685
10.6k
      }
3686
93.8k
    }
3687
67.4k
yy169:
3688
67.4k
    YYDEBUG(169, *YYCURSOR);
3689
67.4k
    yyaccept = 4;
3690
67.4k
    yych = *(YYMARKER = ++YYCURSOR);
3691
67.4k
    if (yych == 'N') goto yy291;
3692
61.7k
    if (yych == 'n') goto yy291;
3693
7.12k
    goto yy48;
3694
25.7k
yy170:
3695
25.7k
    YYDEBUG(170, *YYCURSOR);
3696
25.7k
    yyaccept = 4;
3697
25.7k
    yych = *(YYMARKER = ++YYCURSOR);
3698
25.7k
    if (yych <= 'F') {
3699
2.17k
      if (yych == 'C') goto yy292;
3700
1.82k
      if (yych <= 'E') goto yy48;
3701
810
      goto yy293;
3702
23.5k
    } else {
3703
23.5k
      if (yych <= 'c') {
3704
11.5k
        if (yych <= 'b') goto yy48;
3705
9.38k
        goto yy292;
3706
11.9k
      } else {
3707
11.9k
        if (yych == 'f') goto yy293;
3708
3.87k
        goto yy48;
3709
11.9k
      }
3710
23.5k
    }
3711
10.9k
yy171:
3712
10.9k
    YYDEBUG(171, *YYCURSOR);
3713
10.9k
    yyaccept = 4;
3714
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
3715
10.9k
    if (yych == 'E') goto yy294;
3716
10.6k
    if (yych == 'e') goto yy294;
3717
2.43k
    goto yy48;
3718
14.4k
yy172:
3719
14.4k
    YYDEBUG(172, *YYCURSOR);
3720
14.4k
    yyaccept = 9;
3721
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
3722
14.4k
    if (yybm[256+yych] & 128) {
3723
12.1k
      goto yy47;
3724
12.1k
    }
3725
2.30k
    if (yych == '\\') goto yy164;
3726
2.07k
yy173:
3727
2.07k
    YYDEBUG(173, *YYCURSOR);
3728
2.07k
    yyleng = YYCURSOR - SCNG(yy_text);
3729
2.07k
#line 1477 "Zend/zend_language_scanner.l"
3730
2.07k
    {
3731
2.07k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3732
2.07k
}
3733
0
#line 3734 "Zend/zend_language_scanner.c"
3734
78.9k
yy174:
3735
78.9k
    YYDEBUG(174, *YYCURSOR);
3736
78.9k
    yyaccept = 4;
3737
78.9k
    yych = *(YYMARKER = ++YYCURSOR);
3738
78.9k
    if (yych == 'H') goto yy296;
3739
78.1k
    if (yych == 'h') goto yy296;
3740
4.82k
    goto yy48;
3741
21.7k
yy175:
3742
21.7k
    YYDEBUG(175, *YYCURSOR);
3743
21.7k
    yyaccept = 4;
3744
21.7k
    yych = *(YYMARKER = ++YYCURSOR);
3745
21.7k
    if (yych == 'S') goto yy297;
3746
20.3k
    if (yych == 's') goto yy297;
3747
5.50k
    goto yy48;
3748
9.95k
yy176:
3749
9.95k
    YYDEBUG(176, *YYCURSOR);
3750
9.95k
    yyaccept = 4;
3751
9.95k
    yych = *(YYMARKER = ++YYCURSOR);
3752
9.95k
    if (yych == 'P') goto yy298;
3753
8.25k
    if (yych == 'p') goto yy298;
3754
3.81k
    goto yy48;
3755
240k
yy177:
3756
240k
    YYDEBUG(177, *YYCURSOR);
3757
240k
    yyaccept = 4;
3758
240k
    yych = *(YYMARKER = ++YYCURSOR);
3759
240k
    if (yych <= 'U') {
3760
28.9k
      if (yych == 'D') goto yy299;
3761
11.0k
      if (yych <= 'T') goto yy48;
3762
2.68k
      goto yy300;
3763
211k
    } else {
3764
211k
      if (yych <= 'd') {
3765
31.0k
        if (yych <= 'c') goto yy48;
3766
29.2k
        goto yy299;
3767
180k
      } else {
3768
180k
        if (yych == 'u') goto yy300;
3769
7.22k
        goto yy48;
3770
180k
      }
3771
211k
    }
3772
8.64k
yy178:
3773
8.64k
    YYDEBUG(178, *YYCURSOR);
3774
8.64k
    yyaccept = 4;
3775
8.64k
    yych = *(YYMARKER = ++YYCURSOR);
3776
8.64k
    if (yych == 'A') goto yy301;
3777
7.93k
    if (yych == 'a') goto yy301;
3778
1.38k
    goto yy48;
3779
65.2k
yy179:
3780
65.2k
    YYDEBUG(179, *YYCURSOR);
3781
65.2k
    yyaccept = 4;
3782
65.2k
    yych = *(YYMARKER = ++YYCURSOR);
3783
65.2k
    if (yych <= 'T') {
3784
7.62k
      if (yych == 'I') goto yy302;
3785
7.27k
      if (yych <= 'S') goto yy48;
3786
2.52k
      goto yy303;
3787
57.6k
    } else {
3788
57.6k
      if (yych <= 'i') {
3789
26.7k
        if (yych <= 'h') goto yy48;
3790
2.88k
        goto yy302;
3791
30.8k
      } else {
3792
30.8k
        if (yych == 't') goto yy303;
3793
8.85k
        goto yy48;
3794
30.8k
      }
3795
57.6k
    }
3796
23.4k
yy180:
3797
23.4k
    YYDEBUG(180, *YYCURSOR);
3798
23.4k
    yyaccept = 4;
3799
23.4k
    yych = *(YYMARKER = ++YYCURSOR);
3800
23.4k
    if (yych == 'N') goto yy304;
3801
21.6k
    if (yych == 'n') goto yy304;
3802
5.84k
    goto yy48;
3803
22.2k
yy181:
3804
22.2k
    YYDEBUG(181, *YYCURSOR);
3805
22.2k
    yyaccept = 10;
3806
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
3807
22.2k
    if (yybm[256+yych] & 128) {
3808
2.23k
      goto yy47;
3809
2.23k
    }
3810
20.0k
    if (yych == '\\') goto yy164;
3811
19.9k
yy182:
3812
19.9k
    YYDEBUG(182, *YYCURSOR);
3813
19.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3814
19.9k
#line 1406 "Zend/zend_language_scanner.l"
3815
19.9k
    {
3816
19.9k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3817
19.9k
}
3818
0
#line 3819 "Zend/zend_language_scanner.c"
3819
117k
yy183:
3820
117k
    YYDEBUG(183, *YYCURSOR);
3821
117k
    yyaccept = 4;
3822
117k
    yych = *(YYMARKER = ++YYCURSOR);
3823
117k
    if (yych == 'R') goto yy305;
3824
115k
    if (yych == 'r') goto yy305;
3825
50.9k
    goto yy48;
3826
111k
yy184:
3827
111k
    YYDEBUG(184, *YYCURSOR);
3828
111k
    yyaccept = 4;
3829
111k
    yych = *(YYMARKER = ++YYCURSOR);
3830
111k
    if (yych == 'N') goto yy307;
3831
109k
    if (yych == 'n') goto yy307;
3832
4.38k
    goto yy48;
3833
9.90k
yy185:
3834
9.90k
    YYDEBUG(185, *YYCURSOR);
3835
9.90k
    yyaccept = 4;
3836
9.90k
    yych = *(YYMARKER = ++YYCURSOR);
3837
9.90k
    if (yych == 'O') goto yy308;
3838
5.99k
    if (yych == 'o') goto yy308;
3839
1.02k
    goto yy48;
3840
7.05k
yy186:
3841
7.05k
    YYDEBUG(186, *YYCURSOR);
3842
7.05k
    yyaccept = 4;
3843
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
3844
7.05k
    if (yych == 'T') goto yy309;
3845
5.82k
    if (yych == 't') goto yy309;
3846
968
    goto yy48;
3847
26.4k
yy187:
3848
26.4k
    YYDEBUG(187, *YYCURSOR);
3849
26.4k
    yyaccept = 11;
3850
26.4k
    yych = *(YYMARKER = ++YYCURSOR);
3851
26.4k
    if (yybm[256+yych] & 128) {
3852
1.76k
      goto yy47;
3853
1.76k
    }
3854
24.7k
    if (yych == '\\') goto yy164;
3855
24.6k
yy188:
3856
24.6k
    YYDEBUG(188, *YYCURSOR);
3857
24.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3858
24.6k
#line 1453 "Zend/zend_language_scanner.l"
3859
24.6k
    {
3860
24.6k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3861
24.6k
}
3862
0
#line 3863 "Zend/zend_language_scanner.c"
3863
37.0k
yy189:
3864
37.0k
    YYDEBUG(189, *YYCURSOR);
3865
37.0k
    yyaccept = 4;
3866
37.0k
    yych = *(YYMARKER = ++YYCURSOR);
3867
37.0k
    if (yych == 'P') goto yy310;
3868
34.4k
    if (yych == 'p') goto yy310;
3869
9.43k
    goto yy48;
3870
123k
yy190:
3871
123k
    YYDEBUG(190, *YYCURSOR);
3872
123k
    yyaccept = 4;
3873
123k
    yych = *(YYMARKER = ++YYCURSOR);
3874
123k
    if (yych <= 'T') {
3875
32.0k
      if (yych <= 'C') {
3876
15.8k
        if (yych <= 'B') goto yy48;
3877
2.76k
        goto yy311;
3878
16.2k
      } else {
3879
16.2k
        if (yych <= 'R') goto yy48;
3880
3.97k
        if (yych <= 'S') goto yy312;
3881
1.57k
        goto yy313;
3882
3.97k
      }
3883
91.2k
    } else {
3884
91.2k
      if (yych <= 'r') {
3885
45.4k
        if (yych == 'c') goto yy311;
3886
30.1k
        goto yy48;
3887
45.7k
      } else {
3888
45.7k
        if (yych <= 's') goto yy312;
3889
31.7k
        if (yych <= 't') goto yy313;
3890
4.99k
        goto yy48;
3891
31.7k
      }
3892
91.2k
    }
3893
28.6k
yy191:
3894
28.6k
    YYDEBUG(191, *YYCURSOR);
3895
28.6k
    yyaccept = 4;
3896
28.6k
    yych = *(YYMARKER = ++YYCURSOR);
3897
28.6k
    if (yych == 'S') goto yy314;
3898
28.1k
    if (yych == 's') goto yy314;
3899
13.1k
    goto yy48;
3900
13.1k
yy192:
3901
9.77k
    YYDEBUG(192, *YYCURSOR);
3902
9.77k
    yyaccept = 4;
3903
9.77k
    yych = *(YYMARKER = ++YYCURSOR);
3904
9.77k
    if (yych == 'S') goto yy315;
3905
9.09k
    if (yych == 's') goto yy315;
3906
4.78k
    goto yy48;
3907
10.3k
yy193:
3908
10.3k
    YYDEBUG(193, *YYCURSOR);
3909
10.3k
    yyaccept = 4;
3910
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
3911
10.3k
    if (yych == 'T') goto yy316;
3912
9.91k
    if (yych == 't') goto yy316;
3913
4.03k
    goto yy48;
3914
27.9k
yy194:
3915
27.9k
    YYDEBUG(194, *YYCURSOR);
3916
27.9k
    yyaccept = 4;
3917
27.9k
    yych = *(YYMARKER = ++YYCURSOR);
3918
27.9k
    if (yych == 'M') goto yy317;
3919
26.0k
    if (yych == 'm') goto yy317;
3920
2.13k
    goto yy48;
3921
87.9k
yy195:
3922
87.9k
    YYDEBUG(195, *YYCURSOR);
3923
87.9k
    yyaccept = 4;
3924
87.9k
    yych = *(YYMARKER = ++YYCURSOR);
3925
87.9k
    if (yych == 'W') goto yy318;
3926
87.3k
    if (yych == 'w') goto yy318;
3927
7.76k
    goto yy48;
3928
8.39k
yy196:
3929
8.39k
    YYDEBUG(196, *YYCURSOR);
3930
8.39k
    yyaccept = 12;
3931
8.39k
    yych = *(YYMARKER = ++YYCURSOR);
3932
8.39k
    if (yybm[256+yych] & 128) {
3933
2.77k
      goto yy47;
3934
2.77k
    }
3935
5.62k
    if (yych == '\\') goto yy164;
3936
5.57k
yy197:
3937
5.57k
    YYDEBUG(197, *YYCURSOR);
3938
5.57k
    yyleng = YYCURSOR - SCNG(yy_text);
3939
5.57k
#line 1929 "Zend/zend_language_scanner.l"
3940
5.57k
    {
3941
5.57k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3942
5.57k
}
3943
0
#line 3944 "Zend/zend_language_scanner.c"
3944
62.4k
yy198:
3945
62.4k
    YYDEBUG(198, *YYCURSOR);
3946
62.4k
    yyaccept = 4;
3947
62.4k
    yych = *(YYMARKER = ++YYCURSOR);
3948
62.4k
    if (yych <= 'O') {
3949
6.29k
      if (yych == 'I') goto yy320;
3950
4.48k
      if (yych <= 'N') goto yy48;
3951
3.24k
      goto yy321;
3952
56.1k
    } else {
3953
56.1k
      if (yych <= 'i') {
3954
40.5k
        if (yych <= 'h') goto yy48;
3955
35.0k
        goto yy320;
3956
40.5k
      } else {
3957
15.6k
        if (yych == 'o') goto yy321;
3958
1.34k
        goto yy48;
3959
15.6k
      }
3960
56.1k
    }
3961
70.9k
yy199:
3962
70.9k
    YYDEBUG(199, *YYCURSOR);
3963
70.9k
    yyaccept = 4;
3964
70.9k
    yych = *(YYMARKER = ++YYCURSOR);
3965
70.9k
    if (yych == 'B') goto yy322;
3966
68.9k
    if (yych == 'b') goto yy322;
3967
3.68k
    goto yy48;
3968
80.6k
yy200:
3969
80.6k
    YYDEBUG(200, *YYCURSOR);
3970
80.6k
    yyaccept = 4;
3971
80.6k
    yych = *(YYMARKER = ++YYCURSOR);
3972
80.6k
    if (yych <= 'T') {
3973
7.44k
      if (yych <= 'P') {
3974
4.89k
        if (yych == 'A') goto yy323;
3975
4.19k
        goto yy48;
3976
4.89k
      } else {
3977
2.55k
        if (yych <= 'Q') goto yy324;
3978
1.04k
        if (yych <= 'S') goto yy48;
3979
804
        goto yy325;
3980
1.04k
      }
3981
73.2k
    } else {
3982
73.2k
      if (yych <= 'p') {
3983
17.4k
        if (yych == 'a') goto yy323;
3984
7.39k
        goto yy48;
3985
55.7k
      } else {
3986
55.7k
        if (yych <= 'q') goto yy324;
3987
30.4k
        if (yych == 't') goto yy325;
3988
4.44k
        goto yy48;
3989
30.4k
      }
3990
73.2k
    }
3991
70.5k
yy201:
3992
70.5k
    YYDEBUG(201, *YYCURSOR);
3993
70.5k
    yyaccept = 4;
3994
70.5k
    yych = *(YYMARKER = ++YYCURSOR);
3995
70.5k
    if (yych == 'A') goto yy326;
3996
70.1k
    if (yych == 'a') goto yy326;
3997
49.9k
    goto yy48;
3998
49.9k
yy202:
3999
8.47k
    YYDEBUG(202, *YYCURSOR);
4000
8.47k
    yyaccept = 4;
4001
8.47k
    yych = *(YYMARKER = ++YYCURSOR);
4002
8.47k
    if (yych == 'I') goto yy327;
4003
7.96k
    if (yych == 'i') goto yy327;
4004
905
    goto yy48;
4005
16.3k
yy203:
4006
16.3k
    YYDEBUG(203, *YYCURSOR);
4007
16.3k
    yyaccept = 4;
4008
16.3k
    yych = *(YYMARKER = ++YYCURSOR);
4009
16.3k
    if (yych == 'R') goto yy328;
4010
15.8k
    if (yych == 'r') goto yy328;
4011
3.50k
    goto yy48;
4012
68.0k
yy204:
4013
68.0k
    YYDEBUG(204, *YYCURSOR);
4014
68.0k
    yyaccept = 4;
4015
68.0k
    yych = *(YYMARKER = ++YYCURSOR);
4016
68.0k
    if (yych <= 'Y') {
4017
5.22k
      if (yych == 'A') goto yy329;
4018
3.71k
      if (yych <= 'X') goto yy48;
4019
276
      goto yy330;
4020
62.8k
    } else {
4021
62.8k
      if (yych <= 'a') {
4022
11.0k
        if (yych <= '`') goto yy48;
4023
10.7k
        goto yy329;
4024
51.7k
      } else {
4025
51.7k
        if (yych == 'y') goto yy330;
4026
11.6k
        goto yy48;
4027
51.7k
      }
4028
62.8k
    }
4029
23.0k
yy205:
4030
23.0k
    YYDEBUG(205, *YYCURSOR);
4031
23.0k
    yyaccept = 4;
4032
23.0k
    yych = *(YYMARKER = ++YYCURSOR);
4033
23.0k
    if (yych == 'S') goto yy332;
4034
22.5k
    if (yych == 's') goto yy332;
4035
5.11k
    goto yy48;
4036
14.3k
yy206:
4037
14.3k
    YYDEBUG(206, *YYCURSOR);
4038
14.3k
    yyaccept = 4;
4039
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
4040
14.3k
    if (yych == 'E') goto yy333;
4041
13.9k
    if (yych == 'e') goto yy333;
4042
1.17k
    goto yy48;
4043
105k
yy207:
4044
105k
    YYDEBUG(207, *YYCURSOR);
4045
105k
    yyaccept = 4;
4046
105k
    yych = *(YYMARKER = ++YYCURSOR);
4047
105k
    if (yych == 'R') goto yy335;
4048
104k
    if (yych == 'r') goto yy335;
4049
6.81k
    goto yy48;
4050
6.97k
yy208:
4051
6.97k
    YYDEBUG(208, *YYCURSOR);
4052
6.97k
    yyaccept = 4;
4053
6.97k
    yych = *(YYMARKER = ++YYCURSOR);
4054
6.97k
    if (yych == 'I') goto yy337;
4055
5.77k
    if (yych == 'i') goto yy337;
4056
1.06k
    goto yy48;
4057
6.98k
yy209:
4058
6.98k
    YYDEBUG(209, *YYCURSOR);
4059
6.98k
    yyaccept = 4;
4060
6.98k
    yych = *(YYMARKER = ++YYCURSOR);
4061
6.98k
    if (yych == 'R') goto yy338;
4062
6.41k
    if (yych == 'r') goto yy338;
4063
746
    goto yy48;
4064
94.0k
yy210:
4065
94.0k
    YYDEBUG(210, *YYCURSOR);
4066
94.0k
    yyaccept = 4;
4067
94.0k
    yych = *(YYMARKER = ++YYCURSOR);
4068
94.0k
    if (yych == 'E') goto yy340;
4069
92.2k
    if (yych == 'e') goto yy340;
4070
4.06k
    goto yy48;
4071
331k
yy211:
4072
331k
    YYDEBUG(211, *YYCURSOR);
4073
331k
    yyaccept = 13;
4074
331k
    YYMARKER = ++YYCURSOR;
4075
331k
    YYFILL(1);
4076
331k
    yych = *YYCURSOR;
4077
331k
    YYDEBUG(212, *YYCURSOR);
4078
331k
    if (yych <= '\\') {
4079
130k
      if (yych <= '@') {
4080
48.3k
        if (yych <= '/') goto yy213;
4081
20.3k
        if (yych <= '9') goto yy211;
4082
82.1k
      } else {
4083
82.1k
        if (yych <= 'Z') goto yy211;
4084
28.7k
        if (yych >= '\\') goto yy341;
4085
28.7k
      }
4086
200k
    } else {
4087
200k
      if (yych <= '`') {
4088
9.97k
        if (yych == '_') goto yy211;
4089
190k
      } else {
4090
190k
        if (yych <= 'z') goto yy211;
4091
56.7k
        if (yych >= 0x80) goto yy211;
4092
56.7k
      }
4093
200k
    }
4094
59.9k
yy213:
4095
59.9k
    YYDEBUG(213, *YYCURSOR);
4096
59.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4097
59.9k
#line 2446 "Zend/zend_language_scanner.l"
4098
59.9k
    {
4099
59.9k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4100
59.9k
}
4101
0
#line 4102 "Zend/zend_language_scanner.c"
4102
988
yy214:
4103
988
    YYDEBUG(214, *YYCURSOR);
4104
988
    ++YYCURSOR;
4105
988
    YYDEBUG(215, *YYCURSOR);
4106
988
    yyleng = YYCURSOR - SCNG(yy_text);
4107
988
#line 1909 "Zend/zend_language_scanner.l"
4108
988
    {
4109
988
  RETURN_TOKEN(T_XOR_EQUAL);
4110
988
}
4111
0
#line 4112 "Zend/zend_language_scanner.c"
4112
138k
yy216:
4113
138k
    YYDEBUG(216, *YYCURSOR);
4114
138k
    yyaccept = 4;
4115
138k
    yych = *(YYMARKER = ++YYCURSOR);
4116
138k
    switch (yych) {
4117
3.63k
    case 'C':
4118
20.9k
    case 'c': goto yy342;
4119
2.80k
    case 'D':
4120
10.2k
    case 'd': goto yy343;
4121
12.0k
    case 'F':
4122
28.0k
    case 'f': goto yy344;
4123
1.48k
    case 'H':
4124
7.63k
    case 'h': goto yy345;
4125
1.82k
    case 'L':
4126
5.28k
    case 'l': goto yy346;
4127
7.88k
    case 'M':
4128
14.5k
    case 'm': goto yy347;
4129
3.97k
    case 'N':
4130
11.3k
    case 'n': goto yy348;
4131
5.46k
    case 'P':
4132
7.15k
    case 'p': goto yy349;
4133
1.98k
    case 'T':
4134
9.25k
    case 't': goto yy350;
4135
24.1k
    default:  goto yy48;
4136
138k
    }
4137
2.14k
yy217:
4138
2.14k
    YYDEBUG(217, *YYCURSOR);
4139
2.14k
    ++YYCURSOR;
4140
2.14k
    YYDEBUG(218, *YYCURSOR);
4141
2.14k
    yyleng = YYCURSOR - SCNG(yy_text);
4142
2.14k
#line 1905 "Zend/zend_language_scanner.l"
4143
2.14k
    {
4144
2.14k
  RETURN_TOKEN(T_OR_EQUAL);
4145
2.14k
}
4146
0
#line 4147 "Zend/zend_language_scanner.c"
4147
7.91k
yy219:
4148
7.91k
    YYDEBUG(219, *YYCURSOR);
4149
7.91k
    ++YYCURSOR;
4150
7.91k
    YYDEBUG(220, *YYCURSOR);
4151
7.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4152
7.91k
#line 1917 "Zend/zend_language_scanner.l"
4153
7.91k
    {
4154
7.91k
  RETURN_TOKEN(T_PIPE);
4155
7.91k
}
4156
0
#line 4157 "Zend/zend_language_scanner.c"
4157
8.10k
yy221:
4158
8.10k
    YYDEBUG(221, *YYCURSOR);
4159
8.10k
    ++YYCURSOR;
4160
8.10k
    YYDEBUG(222, *YYCURSOR);
4161
8.10k
    yyleng = YYCURSOR - SCNG(yy_text);
4162
8.10k
#line 1921 "Zend/zend_language_scanner.l"
4163
8.10k
    {
4164
8.10k
  RETURN_TOKEN(T_BOOLEAN_OR);
4165
8.10k
}
4166
0
#line 4167 "Zend/zend_language_scanner.c"
4167
2.93k
yy223:
4168
2.93k
    YYDEBUG(223, *YYCURSOR);
4169
2.93k
    ++YYCURSOR;
4170
2.93k
    YYDEBUG(224, *YYCURSOR);
4171
2.93k
    yyleng = YYCURSOR - SCNG(yy_text);
4172
2.93k
#line 1837 "Zend/zend_language_scanner.l"
4173
2.93k
    {
4174
2.93k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4175
2.93k
}
4176
0
#line 4177 "Zend/zend_language_scanner.c"
4177
693k
yy225:
4178
693k
    YYDEBUG(225, *YYCURSOR);
4179
693k
    ++YYCURSOR;
4180
693k
    YYFILL(1);
4181
693k
    yych = *YYCURSOR;
4182
693k
    YYDEBUG(226, *YYCURSOR);
4183
693k
    if (yybm[0+yych] & 2) {
4184
545k
      goto yy225;
4185
545k
    }
4186
148k
    if (yych <= 0x00) goto yy86;
4187
144k
    goto yy84;
4188
187k
yy227:
4189
187k
    YYDEBUG(227, *YYCURSOR);
4190
187k
    ++YYCURSOR;
4191
187k
    YYFILL(1);
4192
187k
    yych = *YYCURSOR;
4193
187k
    YYDEBUG(228, *YYCURSOR);
4194
187k
    if (yych <= 0x1F) {
4195
15.7k
      if (yych <= '\t') {
4196
3.14k
        if (yych <= 0x00) goto yy86;
4197
2.57k
        if (yych <= 0x08) goto yy225;
4198
727
        goto yy227;
4199
12.5k
      } else {
4200
12.5k
        if (yych <= '\n') goto yy84;
4201
10.4k
        if (yych == '\r') goto yy84;
4202
6.16k
        goto yy225;
4203
10.4k
      }
4204
172k
    } else {
4205
172k
      if (yych <= '$') {
4206
18.1k
        if (yych <= ' ') goto yy227;
4207
16.8k
        if (yych <= '"') goto yy225;
4208
16.1k
        if (yych <= '#') goto yy351;
4209
4.40k
        goto yy352;
4210
154k
      } else {
4211
154k
        if (yych <= '-') goto yy225;
4212
89.0k
        if (yych <= '.') goto yy353;
4213
70.4k
        if (yych <= '/') goto yy354;
4214
32.8k
        goto yy225;
4215
70.4k
      }
4216
172k
    }
4217
4.19k
yy229:
4218
4.19k
    YYDEBUG(229, *YYCURSOR);
4219
4.19k
    yych = *++YYCURSOR;
4220
4.19k
    if (yych == '.') goto yy88;
4221
1.50k
    goto yy86;
4222
500k
yy230:
4223
500k
    YYDEBUG(230, *YYCURSOR);
4224
500k
    ++YYCURSOR;
4225
500k
    YYFILL(1);
4226
500k
    yych = *YYCURSOR;
4227
500k
    YYDEBUG(231, *YYCURSOR);
4228
500k
    if (yybm[0+yych] & 4) {
4229
470k
      goto yy230;
4230
470k
    }
4231
29.6k
    if (yych <= 0x00) goto yy86;
4232
21.6k
    goto yy355;
4233
21.6k
yy232:
4234
13.8k
    YYDEBUG(232, *YYCURSOR);
4235
13.8k
    yych = *++YYCURSOR;
4236
13.8k
    if (yych == 'R') goto yy357;
4237
13.7k
    if (yych == 'r') goto yy357;
4238
1.78k
    goto yy86;
4239
7.24k
yy233:
4240
7.24k
    YYDEBUG(233, *YYCURSOR);
4241
7.24k
    yych = *++YYCURSOR;
4242
7.24k
    if (yych == 'N') goto yy358;
4243
3.13k
    if (yych == 'n') goto yy358;
4244
1.76k
    goto yy86;
4245
6.74k
yy234:
4246
6.74k
    YYDEBUG(234, *YYCURSOR);
4247
6.74k
    yych = *++YYCURSOR;
4248
6.74k
    if (yych == 'O') goto yy359;
4249
5.98k
    if (yych == 'o') goto yy359;
4250
989
    goto yy86;
4251
4.11k
yy235:
4252
4.11k
    YYDEBUG(235, *YYCURSOR);
4253
4.11k
    yych = *++YYCURSOR;
4254
4.11k
    if (yych == 'U') goto yy360;
4255
3.92k
    if (yych == 'u') goto yy360;
4256
513
    goto yy86;
4257
3.92k
yy236:
4258
3.92k
    YYDEBUG(236, *YYCURSOR);
4259
3.92k
    yych = *++YYCURSOR;
4260
3.92k
    if (yych == 'O') goto yy361;
4261
2.21k
    if (yych == 'o') goto yy361;
4262
651
    goto yy86;
4263
13.5k
yy237:
4264
13.5k
    YYDEBUG(237, *YYCURSOR);
4265
13.5k
    yych = *++YYCURSOR;
4266
13.5k
    if (yych == 'T') goto yy362;
4267
12.3k
    if (yych == 't') goto yy362;
4268
3.78k
    goto yy86;
4269
6.73k
yy238:
4270
6.73k
    YYDEBUG(238, *YYCURSOR);
4271
6.73k
    yych = *++YYCURSOR;
4272
6.73k
    if (yych == 'J') goto yy363;
4273
6.12k
    if (yych == 'j') goto yy363;
4274
1.56k
    goto yy86;
4275
4.17k
yy239:
4276
4.17k
    YYDEBUG(239, *YYCURSOR);
4277
4.17k
    yych = *++YYCURSOR;
4278
4.17k
    if (yych == 'A') goto yy364;
4279
3.42k
    if (yych == 'a') goto yy364;
4280
2.13k
    goto yy86;
4281
18.7k
yy240:
4282
18.7k
    YYDEBUG(240, *YYCURSOR);
4283
18.7k
    yych = *++YYCURSOR;
4284
18.7k
    if (yych == 'R') goto yy365;
4285
18.4k
    if (yych == 'r') goto yy365;
4286
2.04k
    goto yy86;
4287
5.99k
yy241:
4288
5.99k
    YYDEBUG(241, *YYCURSOR);
4289
5.99k
    yych = *++YYCURSOR;
4290
5.99k
    if (yych == 'S') goto yy366;
4291
5.78k
    if (yych == 's') goto yy366;
4292
1.57k
    goto yy86;
4293
2.19k
yy242:
4294
2.19k
    YYDEBUG(242, *YYCURSOR);
4295
2.19k
    yych = *++YYCURSOR;
4296
2.19k
    if (yych == 'I') goto yy367;
4297
1.95k
    if (yych == 'i') goto yy367;
4298
584
    goto yy86;
4299
654
yy243:
4300
654
    YYDEBUG(243, *YYCURSOR);
4301
654
    ++YYCURSOR;
4302
654
    YYDEBUG(244, *YYCURSOR);
4303
654
    yyleng = YYCURSOR - SCNG(yy_text);
4304
654
#line 1877 "Zend/zend_language_scanner.l"
4305
654
    {
4306
654
  RETURN_TOKEN(T_POW_EQUAL);
4307
654
}
4308
0
#line 4309 "Zend/zend_language_scanner.c"
4309
70.6k
yy245:
4310
70.6k
    YYDEBUG(245, *YYCURSOR);
4311
70.6k
    ++YYCURSOR;
4312
70.6k
    YYDEBUG(246, *YYCURSOR);
4313
70.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4314
70.6k
#line 1617 "Zend/zend_language_scanner.l"
4315
70.6k
    {
4316
70.6k
  RETURN_TOKEN(T_ELLIPSIS);
4317
70.6k
}
4318
0
#line 4319 "Zend/zend_language_scanner.c"
4319
2.27k
yy247:
4320
2.27k
    YYDEBUG(247, *YYCURSOR);
4321
2.27k
    ++YYCURSOR;
4322
2.27k
    YYFILL(1);
4323
2.27k
    yych = *YYCURSOR;
4324
2.27k
    if (yych <= '/') goto yy86;
4325
1.44k
    if (yych <= '9') goto yy123;
4326
1.02k
    goto yy86;
4327
9.97k
yy248:
4328
9.97k
    YYDEBUG(248, *YYCURSOR);
4329
9.97k
    yych = *++YYCURSOR;
4330
9.97k
    if (yych <= '\f') {
4331
5.59k
      if (yych <= 0x08) goto yy86;
4332
5.41k
      if (yych <= '\n') goto yy368;
4333
1.21k
      goto yy86;
4334
5.41k
    } else {
4335
4.37k
      if (yych <= '\r') goto yy368;
4336
3.86k
      if (yych == ' ') goto yy368;
4337
1.24k
      goto yy86;
4338
3.86k
    }
4339
79.6k
yy249:
4340
79.6k
    YYDEBUG(249, *YYCURSOR);
4341
79.6k
    yyaccept = 14;
4342
79.6k
    YYMARKER = ++YYCURSOR;
4343
79.6k
    YYFILL(1);
4344
79.6k
    yych = *YYCURSOR;
4345
79.6k
    YYDEBUG(250, *YYCURSOR);
4346
79.6k
    if (yybm[0+yych] & 8) {
4347
74.2k
      goto yy249;
4348
74.2k
    }
4349
5.38k
    if (yych == '_') goto yy134;
4350
3.09k
yy251:
4351
3.09k
    YYDEBUG(251, *YYCURSOR);
4352
3.09k
    yyleng = YYCURSOR - SCNG(yy_text);
4353
3.09k
#line 2010 "Zend/zend_language_scanner.l"
4354
3.09k
    {
4355
  /* The +/- 2 skips "0b" */
4356
3.09k
  size_t len = yyleng - 2;
4357
3.09k
  char *end, *bin = yytext + 2;
4358
3.09k
  bool contains_underscores;
4359
4360
  /* Skip any leading 0s */
4361
5.66k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4362
2.57k
    ++bin;
4363
2.57k
    --len;
4364
2.57k
  }
4365
4366
3.09k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4367
4368
3.09k
  if (contains_underscores) {
4369
573
    bin = estrndup(bin, len);
4370
573
    strip_underscores(bin, &len);
4371
573
  }
4372
4373
3.09k
  if (len < SIZEOF_ZEND_LONG * 8) {
4374
2.61k
    if (len == 0) {
4375
468
      ZVAL_LONG(zendlval, 0);
4376
2.15k
    } else {
4377
2.15k
      errno = 0;
4378
2.15k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4379
2.15k
      ZEND_ASSERT(!errno && end == bin + len);
4380
2.15k
    }
4381
2.61k
    if (contains_underscores) {
4382
358
      efree(bin);
4383
358
    }
4384
2.61k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4385
2.61k
  } else {
4386
474
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4387
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4388
474
    ZEND_ASSERT(end == bin + len);
4389
474
    if (contains_underscores) {
4390
215
      efree(bin);
4391
215
    }
4392
474
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4393
474
  }
4394
3.09k
}
4395
0
#line 4396 "Zend/zend_language_scanner.c"
4396
14.7k
yy252:
4397
14.7k
    YYDEBUG(252, *YYCURSOR);
4398
14.7k
    ++YYCURSOR;
4399
14.7k
    YYFILL(1);
4400
14.7k
    yych = *YYCURSOR;
4401
14.7k
    if (yych <= '/') goto yy86;
4402
14.1k
    if (yych >= ':') goto yy86;
4403
128k
yy253:
4404
128k
    YYDEBUG(253, *YYCURSOR);
4405
128k
    yyaccept = 5;
4406
128k
    YYMARKER = ++YYCURSOR;
4407
128k
    YYFILL(1);
4408
128k
    yych = *YYCURSOR;
4409
128k
    YYDEBUG(254, *YYCURSOR);
4410
128k
    if (yych <= '/') goto yy125;
4411
110k
    if (yych <= '9') goto yy253;
4412
16.6k
    if (yych == '_') goto yy252;
4413
15.8k
    goto yy125;
4414
15.8k
yy255:
4415
13.1k
    YYDEBUG(255, *YYCURSOR);
4416
13.1k
    yyaccept = 15;
4417
13.1k
    YYMARKER = ++YYCURSOR;
4418
13.1k
    YYFILL(1);
4419
13.1k
    yych = *YYCURSOR;
4420
13.1k
    YYDEBUG(256, *YYCURSOR);
4421
13.1k
    if (yybm[0+yych] & 16) {
4422
10.0k
      goto yy255;
4423
10.0k
    }
4424
3.03k
    if (yych == '_') goto yy136;
4425
1.95k
yy257:
4426
1.95k
    YYDEBUG(257, *YYCURSOR);
4427
1.95k
    yyleng = YYCURSOR - SCNG(yy_text);
4428
1.95k
#line 2052 "Zend/zend_language_scanner.l"
4429
1.95k
    {
4430
  /* The +/- 2 skips "0o" */
4431
1.95k
  size_t len = yyleng - 2;
4432
1.95k
  char *end, *octal = yytext + 2;
4433
1.95k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4434
4435
  /* Skip any leading 0s */
4436
4.17k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4437
2.21k
    ++octal;
4438
2.21k
    --len;
4439
2.21k
  }
4440
4441
1.95k
  if (len == 0) {
4442
427
    ZVAL_LONG(zendlval, 0);
4443
427
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4444
427
  }
4445
4446
1.52k
  if (contains_underscores) {
4447
963
    octal = estrndup(octal, len);
4448
963
    strip_underscores(octal, &len);
4449
963
  }
4450
4451
1.52k
  errno = 0;
4452
4453
1.52k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4454
4455
1.52k
  ZEND_ASSERT(end == octal + len);
4456
4457
1.52k
  if (!errno) {
4458
1.19k
    if (contains_underscores) {
4459
745
      efree(octal);
4460
745
    }
4461
1.19k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4462
1.19k
  }
4463
4464
  /* Overflow */
4465
337
  ZEND_ASSERT(errno == ERANGE);
4466
  /* Reset errno */
4467
337
  errno = 0;
4468
4469
  /* zend_oct_strtod skips leading '0' */
4470
337
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4471
337
  ZEND_ASSERT(!errno);
4472
337
  ZEND_ASSERT(end == octal + len);
4473
337
  if (contains_underscores) {
4474
218
    efree(octal);
4475
218
  }
4476
337
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4477
337
}
4478
0
#line 4479 "Zend/zend_language_scanner.c"
4479
64.3k
yy258:
4480
64.3k
    YYDEBUG(258, *YYCURSOR);
4481
64.3k
    yyaccept = 16;
4482
64.3k
    YYMARKER = ++YYCURSOR;
4483
64.3k
    YYFILL(1);
4484
64.3k
    yych = *YYCURSOR;
4485
64.3k
    YYDEBUG(259, *YYCURSOR);
4486
64.3k
    if (yybm[0+yych] & 32) {
4487
52.9k
      goto yy258;
4488
52.9k
    }
4489
11.3k
    if (yych == '_') goto yy137;
4490
8.68k
yy260:
4491
8.68k
    YYDEBUG(260, *YYCURSOR);
4492
8.68k
    yyleng = YYCURSOR - SCNG(yy_text);
4493
8.68k
#line 2165 "Zend/zend_language_scanner.l"
4494
8.68k
    {
4495
  /* The +/- 2 skips "0x" */
4496
8.68k
  size_t len = yyleng - 2;
4497
8.68k
  char *end, *hex = yytext + 2;
4498
8.68k
  bool contains_underscores;
4499
4500
  /* Skip any leading 0s */
4501
12.4k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4502
3.73k
    ++hex;
4503
3.73k
    --len;
4504
3.73k
  }
4505
4506
8.68k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4507
4508
8.68k
  if (contains_underscores) {
4509
2.00k
    hex = estrndup(hex, len);
4510
2.00k
    strip_underscores(hex, &len);
4511
2.00k
  }
4512
4513
8.68k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4514
7.24k
    if (len == 0) {
4515
1.04k
      ZVAL_LONG(zendlval, 0);
4516
6.20k
    } else {
4517
6.20k
      errno = 0;
4518
6.20k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4519
6.20k
      ZEND_ASSERT(!errno && end == hex + len);
4520
6.20k
    }
4521
7.24k
    if (contains_underscores) {
4522
1.13k
      efree(hex);
4523
1.13k
    }
4524
7.24k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4525
7.24k
  } else {
4526
1.43k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4527
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4528
1.43k
    ZEND_ASSERT(end == hex + len);
4529
1.43k
    if (contains_underscores) {
4530
870
      efree(hex);
4531
870
    }
4532
1.43k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4533
1.43k
  }
4534
8.68k
}
4535
0
#line 4536 "Zend/zend_language_scanner.c"
4536
3.35M
yy261:
4537
3.35M
    YYDEBUG(261, *YYCURSOR);
4538
3.35M
    ++YYCURSOR;
4539
3.35M
    YYFILL(2);
4540
3.35M
    yych = *YYCURSOR;
4541
3.35M
    YYDEBUG(262, *YYCURSOR);
4542
3.35M
    if (yych <= '\'') {
4543
63.6k
      if (yych <= ' ') {
4544
40.4k
        if (yych == '\t') goto yy261;
4545
29.2k
        if (yych <= 0x1F) goto yy86;
4546
9.78k
        goto yy261;
4547
29.2k
      } else {
4548
23.2k
        if (yych == '"') goto yy370;
4549
17.9k
        if (yych <= '&') goto yy86;
4550
11.7k
        goto yy371;
4551
17.9k
      }
4552
3.29M
    } else {
4553
3.29M
      if (yych <= '_') {
4554
598k
        if (yych <= '@') goto yy86;
4555
532k
        if (yych <= 'Z') goto yy372;
4556
5.81k
        if (yych <= '^') goto yy86;
4557
4.78k
        goto yy372;
4558
2.69M
      } else {
4559
2.69M
        if (yych <= '`') goto yy86;
4560
2.69M
        if (yych <= 'z') goto yy372;
4561
1.96M
        if (yych <= 0x7F) goto yy86;
4562
1.95M
        goto yy372;
4563
1.96M
      }
4564
3.29M
    }
4565
2.13k
yy263:
4566
2.13k
    YYDEBUG(263, *YYCURSOR);
4567
2.13k
    ++YYCURSOR;
4568
2.13k
    YYDEBUG(264, *YYCURSOR);
4569
2.13k
    yyleng = YYCURSOR - SCNG(yy_text);
4570
2.13k
#line 1893 "Zend/zend_language_scanner.l"
4571
2.13k
    {
4572
2.13k
  RETURN_TOKEN(T_SL_EQUAL);
4573
2.13k
}
4574
0
#line 4575 "Zend/zend_language_scanner.c"
4575
1.07k
yy265:
4576
1.07k
    YYDEBUG(265, *YYCURSOR);
4577
1.07k
    ++YYCURSOR;
4578
1.07k
    YYDEBUG(266, *YYCURSOR);
4579
1.07k
    yyleng = YYCURSOR - SCNG(yy_text);
4580
1.07k
#line 1849 "Zend/zend_language_scanner.l"
4581
1.07k
    {
4582
1.07k
  RETURN_TOKEN(T_SPACESHIP);
4583
1.07k
}
4584
0
#line 4585 "Zend/zend_language_scanner.c"
4585
9.40k
yy267:
4586
9.40k
    YYDEBUG(267, *YYCURSOR);
4587
9.40k
    ++YYCURSOR;
4588
9.40k
    YYDEBUG(268, *YYCURSOR);
4589
9.40k
    yyleng = YYCURSOR - SCNG(yy_text);
4590
9.40k
#line 1833 "Zend/zend_language_scanner.l"
4591
9.40k
    {
4592
9.40k
  RETURN_TOKEN(T_IS_IDENTICAL);
4593
9.40k
}
4594
0
#line 4595 "Zend/zend_language_scanner.c"
4595
759
yy269:
4596
759
    YYDEBUG(269, *YYCURSOR);
4597
759
    ++YYCURSOR;
4598
759
    YYDEBUG(270, *YYCURSOR);
4599
759
    yyleng = YYCURSOR - SCNG(yy_text);
4600
759
#line 1897 "Zend/zend_language_scanner.l"
4601
759
    {
4602
759
  RETURN_TOKEN(T_SR_EQUAL);
4603
759
}
4604
0
#line 4605 "Zend/zend_language_scanner.c"
4605
33.0k
yy271:
4606
33.0k
    YYDEBUG(271, *YYCURSOR);
4607
33.0k
    ++YYCURSOR;
4608
33.0k
    YYDEBUG(272, *YYCURSOR);
4609
33.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4610
33.0k
#line 1591 "Zend/zend_language_scanner.l"
4611
33.0k
    {
4612
33.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4613
33.0k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4614
33.0k
}
4615
0
#line 4616 "Zend/zend_language_scanner.c"
4616
9.66k
yy273:
4617
9.66k
    YYDEBUG(273, *YYCURSOR);
4618
9.66k
    ++YYCURSOR;
4619
9.66k
    goto yy156;
4620
2.36k
yy274:
4621
2.36k
    YYDEBUG(274, *YYCURSOR);
4622
2.36k
    yych = *++YYCURSOR;
4623
2.36k
    if (yych == '\n') goto yy273;
4624
2.04k
    goto yy156;
4625
9.11k
yy275:
4626
9.11k
    YYDEBUG(275, *YYCURSOR);
4627
9.11k
    ++YYCURSOR;
4628
9.11k
    YYDEBUG(276, *YYCURSOR);
4629
9.11k
    yyleng = YYCURSOR - SCNG(yy_text);
4630
9.11k
#line 1913 "Zend/zend_language_scanner.l"
4631
9.11k
    {
4632
9.11k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4633
9.11k
}
4634
0
#line 4635 "Zend/zend_language_scanner.c"
4635
9.06k
yy277:
4636
9.06k
    YYDEBUG(277, *YYCURSOR);
4637
9.06k
    yyaccept = 4;
4638
9.06k
    yych = *(YYMARKER = ++YYCURSOR);
4639
9.06k
    if (yych == 'T') goto yy374;
4640
7.33k
    if (yych == 't') goto yy374;
4641
831
    goto yy48;
4642
6.89k
yy278:
4643
6.89k
    YYDEBUG(278, *YYCURSOR);
4644
6.89k
    yyaccept = 17;
4645
6.89k
    yych = *(YYMARKER = ++YYCURSOR);
4646
6.89k
    if (yybm[256+yych] & 128) {
4647
332
      goto yy47;
4648
332
    }
4649
6.55k
    if (yych == '\\') goto yy164;
4650
6.53k
yy279:
4651
6.53k
    YYDEBUG(279, *YYCURSOR);
4652
6.53k
    yyleng = YYCURSOR - SCNG(yy_text);
4653
6.53k
#line 1933 "Zend/zend_language_scanner.l"
4654
6.53k
    {
4655
6.53k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4656
6.53k
}
4657
0
#line 4658 "Zend/zend_language_scanner.c"
4658
31.6k
yy280:
4659
31.6k
    YYDEBUG(280, *YYCURSOR);
4660
31.6k
    yyaccept = 4;
4661
31.6k
    yych = *(YYMARKER = ++YYCURSOR);
4662
31.6k
    if (yych == 'A') goto yy375;
4663
30.8k
    if (yych == 'a') goto yy375;
4664
2.97k
    goto yy48;
4665
120k
yy281:
4666
120k
    YYDEBUG(281, *YYCURSOR);
4667
120k
    yyaccept = 18;
4668
120k
    YYMARKER = ++YYCURSOR;
4669
120k
    YYFILL(1);
4670
120k
    yych = *YYCURSOR;
4671
120k
    YYDEBUG(282, *YYCURSOR);
4672
120k
    if (yych <= '\\') {
4673
49.9k
      if (yych <= '@') {
4674
27.5k
        if (yych <= '/') goto yy283;
4675
11.5k
        if (yych <= '9') goto yy281;
4676
22.3k
      } else {
4677
22.3k
        if (yych <= 'Z') goto yy281;
4678
11.2k
        if (yych >= '\\') goto yy164;
4679
11.2k
      }
4680
70.0k
    } else {
4681
70.0k
      if (yych <= '`') {
4682
4.67k
        if (yych == '_') goto yy281;
4683
65.4k
      } else {
4684
65.4k
        if (yych <= 'z') goto yy281;
4685
28.2k
        if (yych >= 0x80) goto yy281;
4686
28.2k
      }
4687
70.0k
    }
4688
27.9k
yy283:
4689
27.9k
    YYDEBUG(283, *YYCURSOR);
4690
27.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4691
27.9k
#line 2442 "Zend/zend_language_scanner.l"
4692
27.9k
    {
4693
27.9k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4694
27.9k
}
4695
0
#line 4696 "Zend/zend_language_scanner.c"
4696
3.71k
yy284:
4697
3.71k
    YYDEBUG(284, *YYCURSOR);
4698
3.71k
    yych = *++YYCURSOR;
4699
3.71k
    if (yych == '<') goto yy261;
4700
704
    goto yy86;
4701
5.87k
yy285:
4702
5.87k
    YYDEBUG(285, *YYCURSOR);
4703
5.87k
    yyaccept = 4;
4704
5.87k
    yych = *(YYMARKER = ++YYCURSOR);
4705
5.87k
    if (yych == 'A') goto yy376;
4706
5.07k
    if (yych == 'a') goto yy376;
4707
1.49k
    goto yy48;
4708
18.3k
yy286:
4709
18.3k
    YYDEBUG(286, *YYCURSOR);
4710
18.3k
    yyaccept = 4;
4711
18.3k
    yych = *(YYMARKER = ++YYCURSOR);
4712
18.3k
    if (yych == 'L') goto yy377;
4713
16.1k
    if (yych == 'l') goto yy377;
4714
1.61k
    goto yy48;
4715
10.8k
yy287:
4716
10.8k
    YYDEBUG(287, *YYCURSOR);
4717
10.8k
    yyaccept = 4;
4718
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
4719
10.8k
    if (yych == 'E') goto yy378;
4720
8.28k
    if (yych == 'e') goto yy378;
4721
1.63k
    goto yy48;
4722
37.0k
yy288:
4723
37.0k
    YYDEBUG(288, *YYCURSOR);
4724
37.0k
    yyaccept = 4;
4725
37.0k
    yych = *(YYMARKER = ++YYCURSOR);
4726
37.0k
    if (yych == 'C') goto yy380;
4727
36.4k
    if (yych == 'c') goto yy380;
4728
1.68k
    goto yy48;
4729
84.6k
yy289:
4730
84.6k
    YYDEBUG(289, *YYCURSOR);
4731
84.6k
    yyaccept = 4;
4732
84.6k
    yych = *(YYMARKER = ++YYCURSOR);
4733
84.6k
    if (yych == 'S') goto yy381;
4734
82.8k
    if (yych == 's') goto yy381;
4735
2.70k
    goto yy48;
4736
8.64k
yy290:
4737
8.64k
    YYDEBUG(290, *YYCURSOR);
4738
8.64k
    yyaccept = 4;
4739
8.64k
    yych = *(YYMARKER = ++YYCURSOR);
4740
8.64k
    if (yych == 'N') goto yy382;
4741
7.97k
    if (yych == 'n') goto yy382;
4742
3.27k
    goto yy48;
4743
60.3k
yy291:
4744
60.3k
    YYDEBUG(291, *YYCURSOR);
4745
60.3k
    yyaccept = 4;
4746
60.3k
    yych = *(YYMARKER = ++YYCURSOR);
4747
60.3k
    if (yych <= 'T') {
4748
7.86k
      if (yych <= 'R') goto yy48;
4749
5.45k
      if (yych <= 'S') goto yy383;
4750
2.98k
      goto yy384;
4751
52.4k
    } else {
4752
52.4k
      if (yych <= 'r') goto yy48;
4753
51.9k
      if (yych <= 's') goto yy383;
4754
7.66k
      if (yych <= 't') goto yy384;
4755
1.07k
      goto yy48;
4756
7.66k
    }
4757
9.73k
yy292:
4758
9.73k
    YYDEBUG(292, *YYCURSOR);
4759
9.73k
    yyaccept = 4;
4760
9.73k
    yych = *(YYMARKER = ++YYCURSOR);
4761
9.73k
    if (yych == 'L') goto yy385;
4762
9.35k
    if (yych == 'l') goto yy385;
4763
640
    goto yy48;
4764
8.89k
yy293:
4765
8.89k
    YYDEBUG(293, *YYCURSOR);
4766
8.89k
    yyaccept = 4;
4767
8.89k
    yych = *(YYMARKER = ++YYCURSOR);
4768
8.89k
    if (yych == 'A') goto yy386;
4769
8.21k
    if (yych == 'a') goto yy386;
4770
4.35k
    goto yy48;
4771
8.54k
yy294:
4772
8.54k
    YYDEBUG(294, *YYCURSOR);
4773
8.54k
    yyaccept = 19;
4774
8.54k
    yych = *(YYMARKER = ++YYCURSOR);
4775
8.54k
    if (yybm[256+yych] & 128) {
4776
1.18k
      goto yy47;
4777
1.18k
    }
4778
7.36k
    if (yych == '\\') goto yy164;
4779
7.28k
yy295:
4780
7.28k
    YYDEBUG(295, *YYCURSOR);
4781
7.28k
    yyleng = YYCURSOR - SCNG(yy_text);
4782
7.28k
#line 1402 "Zend/zend_language_scanner.l"
4783
7.28k
    {
4784
7.28k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4785
7.28k
}
4786
0
#line 4787 "Zend/zend_language_scanner.c"
4787
74.1k
yy296:
4788
74.1k
    YYDEBUG(296, *YYCURSOR);
4789
74.1k
    yyaccept = 4;
4790
74.1k
    yych = *(YYMARKER = ++YYCURSOR);
4791
74.1k
    if (yych == 'O') goto yy387;
4792
73.2k
    if (yych == 'o') goto yy387;
4793
1.44k
    goto yy48;
4794
16.2k
yy297:
4795
16.2k
    YYDEBUG(297, *YYCURSOR);
4796
16.2k
    yyaccept = 4;
4797
16.2k
    yych = *(YYMARKER = ++YYCURSOR);
4798
16.2k
    if (yych == 'E') goto yy389;
4799
14.9k
    if (yych == 'e') goto yy389;
4800
988
    goto yy48;
4801
6.14k
yy298:
4802
6.14k
    YYDEBUG(298, *YYCURSOR);
4803
6.14k
    yyaccept = 4;
4804
6.14k
    yych = *(YYMARKER = ++YYCURSOR);
4805
6.14k
    if (yych == 'T') goto yy391;
4806
4.86k
    if (yych == 't') goto yy391;
4807
1.02k
    goto yy48;
4808
47.1k
yy299:
4809
47.1k
    YYDEBUG(299, *YYCURSOR);
4810
47.1k
    yyaccept = 4;
4811
47.1k
    yych = *(YYMARKER = ++YYCURSOR);
4812
47.1k
    switch (yych) {
4813
815
    case 'D':
4814
4.98k
    case 'd': goto yy392;
4815
4.18k
    case 'F':
4816
12.4k
    case 'f': goto yy393;
4817
2.94k
    case 'I':
4818
6.71k
    case 'i': goto yy394;
4819
2.32k
    case 'S':
4820
8.17k
    case 's': goto yy395;
4821
4.01k
    case 'W':
4822
8.64k
    case 'w': goto yy396;
4823
6.17k
    default:  goto yy48;
4824
47.1k
    }
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
169k
    if (yych == 'm') goto yy397;
4831
15.9k
    goto yy48;
4832
15.9k
yy301:
4833
7.26k
    YYDEBUG(301, *YYCURSOR);
4834
7.26k
    yyaccept = 4;
4835
7.26k
    yych = *(YYMARKER = ++YYCURSOR);
4836
7.26k
    if (yych == 'L') goto yy398;
4837
6.94k
    if (yych == 'l') goto yy398;
4838
1.60k
    goto yy48;
4839
3.22k
yy302:
4840
3.22k
    YYDEBUG(302, *YYCURSOR);
4841
3.22k
    yyaccept = 4;
4842
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
4843
3.22k
    if (yych == 'T') goto yy400;
4844
2.83k
    if (yych == 't') goto yy400;
4845
1.10k
    goto yy48;
4846
24.4k
yy303:
4847
24.4k
    YYDEBUG(303, *YYCURSOR);
4848
24.4k
    yyaccept = 4;
4849
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
4850
24.4k
    if (yych == 'E') goto yy402;
4851
23.6k
    if (yych == 'e') goto yy402;
4852
3.35k
    goto yy48;
4853
17.6k
yy304:
4854
17.6k
    YYDEBUG(304, *YYCURSOR);
4855
17.6k
    yyaccept = 4;
4856
17.6k
    yych = *(YYMARKER = ++YYCURSOR);
4857
17.6k
    if (yych == 'A') goto yy403;
4858
16.3k
    if (yych == 'a') goto yy403;
4859
2.65k
    goto yy48;
4860
66.6k
yy305:
4861
66.6k
    YYDEBUG(305, *YYCURSOR);
4862
66.6k
    yyaccept = 20;
4863
66.6k
    yych = *(YYMARKER = ++YYCURSOR);
4864
66.6k
    if (yych <= '\\') {
4865
37.0k
      if (yych <= 'D') {
4866
32.6k
        if (yych <= '/') goto yy306;
4867
3.68k
        if (yych <= '9') goto yy47;
4868
2.98k
        if (yych >= 'A') goto yy47;
4869
4.38k
      } else {
4870
4.38k
        if (yych <= 'E') goto yy404;
4871
3.14k
        if (yych <= 'Z') goto yy47;
4872
655
        if (yych >= '\\') goto yy164;
4873
655
      }
4874
37.0k
    } else {
4875
29.6k
      if (yych <= 'd') {
4876
1.28k
        if (yych == '_') goto yy47;
4877
942
        if (yych >= 'a') goto yy47;
4878
28.3k
      } else {
4879
28.3k
        if (yych <= 'e') goto yy404;
4880
2.82k
        if (yych <= 'z') goto yy47;
4881
1.49k
        if (yych >= 0x80) goto yy47;
4882
1.49k
      }
4883
29.6k
    }
4884
33.3k
yy306:
4885
33.3k
    YYDEBUG(306, *YYCURSOR);
4886
33.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4887
33.3k
#line 1481 "Zend/zend_language_scanner.l"
4888
33.3k
    {
4889
33.3k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4890
33.3k
}
4891
0
#line 4892 "Zend/zend_language_scanner.c"
4892
107k
yy307:
4893
107k
    YYDEBUG(307, *YYCURSOR);
4894
107k
    yyaccept = 4;
4895
107k
    yych = *(YYMARKER = ++YYCURSOR);
4896
107k
    if (yych == 'C') goto yy405;
4897
104k
    if (yych == 'c') goto yy405;
4898
1.53k
    goto yy48;
4899
8.88k
yy308:
4900
8.88k
    YYDEBUG(308, *YYCURSOR);
4901
8.88k
    yyaccept = 4;
4902
8.88k
    yych = *(YYMARKER = ++YYCURSOR);
4903
8.88k
    if (yych == 'B') goto yy406;
4904
5.79k
    if (yych == 'b') goto yy406;
4905
1.83k
    goto yy48;
4906
6.08k
yy309:
4907
6.08k
    YYDEBUG(309, *YYCURSOR);
4908
6.08k
    yyaccept = 4;
4909
6.08k
    yych = *(YYMARKER = ++YYCURSOR);
4910
6.08k
    if (yych == 'O') goto yy407;
4911
4.95k
    if (yych == 'o') goto yy407;
4912
660
    goto yy48;
4913
27.6k
yy310:
4914
27.6k
    YYDEBUG(310, *YYCURSOR);
4915
27.6k
    yyaccept = 4;
4916
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
4917
27.6k
    if (yych == 'L') goto yy409;
4918
25.6k
    if (yych == 'l') goto yy409;
4919
3.30k
    goto yy48;
4920
18.0k
yy311:
4921
18.0k
    YYDEBUG(311, *YYCURSOR);
4922
18.0k
    yyaccept = 4;
4923
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
4924
18.0k
    if (yych == 'L') goto yy410;
4925
15.5k
    if (yych == 'l') goto yy410;
4926
2.84k
    goto yy48;
4927
16.4k
yy312:
4928
16.4k
    YYDEBUG(312, *YYCURSOR);
4929
16.4k
    yyaccept = 4;
4930
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
4931
16.4k
    if (yych == 'T') goto yy411;
4932
14.5k
    if (yych == 't') goto yy411;
4933
960
    goto yy48;
4934
28.3k
yy313:
4935
28.3k
    YYDEBUG(313, *YYCURSOR);
4936
28.3k
    yyaccept = 4;
4937
28.3k
    yych = *(YYMARKER = ++YYCURSOR);
4938
28.3k
    if (yych == 'E') goto yy412;
4939
27.2k
    if (yych == 'e') goto yy412;
4940
12.5k
    goto yy48;
4941
15.4k
yy314:
4942
15.4k
    YYDEBUG(314, *YYCURSOR);
4943
15.4k
    yyaccept = 4;
4944
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
4945
15.4k
    if (yych == 'E') goto yy413;
4946
15.0k
    if (yych == 'e') goto yy413;
4947
463
    goto yy48;
4948
4.98k
yy315:
4949
4.98k
    YYDEBUG(315, *YYCURSOR);
4950
4.98k
    yyaccept = 4;
4951
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
4952
4.98k
    if (yych == 'T') goto yy414;
4953
4.33k
    if (yych == 't') goto yy414;
4954
577
    goto yy48;
4955
6.28k
yy316:
4956
6.28k
    YYDEBUG(316, *YYCURSOR);
4957
6.28k
    yyaccept = 4;
4958
6.28k
    yych = *(YYMARKER = ++YYCURSOR);
4959
6.28k
    if (yych == 'C') goto yy416;
4960
5.56k
    if (yych == 'c') goto yy416;
4961
815
    goto yy48;
4962
25.8k
yy317:
4963
25.8k
    YYDEBUG(317, *YYCURSOR);
4964
25.8k
    yyaccept = 4;
4965
25.8k
    yych = *(YYMARKER = ++YYCURSOR);
4966
25.8k
    if (yych == 'E') goto yy417;
4967
23.9k
    if (yych == 'e') goto yy417;
4968
2.61k
    goto yy48;
4969
80.1k
yy318:
4970
80.1k
    YYDEBUG(318, *YYCURSOR);
4971
80.1k
    yyaccept = 21;
4972
80.1k
    yych = *(YYMARKER = ++YYCURSOR);
4973
80.1k
    if (yybm[256+yych] & 128) {
4974
1.67k
      goto yy47;
4975
1.67k
    }
4976
78.5k
    if (yych == '\\') goto yy164;
4977
78.5k
yy319:
4978
78.5k
    YYDEBUG(319, *YYCURSOR);
4979
78.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4980
78.5k
#line 1625 "Zend/zend_language_scanner.l"
4981
78.5k
    {
4982
78.5k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4983
78.5k
}
4984
0
#line 4985 "Zend/zend_language_scanner.c"
4985
36.8k
yy320:
4986
36.8k
    YYDEBUG(320, *YYCURSOR);
4987
36.8k
    yyaccept = 4;
4988
36.8k
    yych = *(YYMARKER = ++YYCURSOR);
4989
36.8k
    if (yych <= 'V') {
4990
4.34k
      if (yych == 'N') goto yy418;
4991
2.24k
      if (yych <= 'U') goto yy48;
4992
1.29k
      goto yy419;
4993
32.4k
    } else {
4994
32.4k
      if (yych <= 'n') {
4995
19.5k
        if (yych <= 'm') goto yy48;
4996
14.5k
        goto yy418;
4997
19.5k
      } else {
4998
12.8k
        if (yych == 'v') goto yy419;
4999
711
        goto yy48;
5000
12.8k
      }
5001
32.4k
    }
5002
17.5k
yy321:
5003
17.5k
    YYDEBUG(321, *YYCURSOR);
5004
17.5k
    yyaccept = 4;
5005
17.5k
    yych = *(YYMARKER = ++YYCURSOR);
5006
17.5k
    if (yych == 'T') goto yy420;
5007
15.1k
    if (yych == 't') goto yy420;
5008
2.19k
    goto yy48;
5009
67.2k
yy322:
5010
67.2k
    YYDEBUG(322, *YYCURSOR);
5011
67.2k
    yyaccept = 4;
5012
67.2k
    yych = *(YYMARKER = ++YYCURSOR);
5013
67.2k
    if (yych == 'L') goto yy421;
5014
65.8k
    if (yych == 'l') goto yy421;
5015
2.34k
    goto yy48;
5016
10.7k
yy323:
5017
10.7k
    YYDEBUG(323, *YYCURSOR);
5018
10.7k
    yyaccept = 4;
5019
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
5020
10.7k
    if (yych == 'D') goto yy422;
5021
10.2k
    if (yych == 'd') goto yy422;
5022
3.17k
    goto yy48;
5023
26.8k
yy324:
5024
26.8k
    YYDEBUG(324, *YYCURSOR);
5025
26.8k
    yyaccept = 4;
5026
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
5027
26.8k
    if (yych == 'U') goto yy423;
5028
25.3k
    if (yych == 'u') goto yy423;
5029
4.65k
    goto yy48;
5030
26.8k
yy325:
5031
26.8k
    YYDEBUG(325, *YYCURSOR);
5032
26.8k
    yyaccept = 4;
5033
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
5034
26.8k
    if (yych == 'U') goto yy424;
5035
25.6k
    if (yych == 'u') goto yy424;
5036
916
    goto yy48;
5037
20.6k
yy326:
5038
20.6k
    YYDEBUG(326, *YYCURSOR);
5039
20.6k
    yyaccept = 4;
5040
20.6k
    yych = *(YYMARKER = ++YYCURSOR);
5041
20.6k
    if (yych == 'T') goto yy425;
5042
20.1k
    if (yych == 't') goto yy425;
5043
1.83k
    goto yy48;
5044
7.56k
yy327:
5045
7.56k
    YYDEBUG(327, *YYCURSOR);
5046
7.56k
    yyaccept = 4;
5047
7.56k
    yych = *(YYMARKER = ++YYCURSOR);
5048
7.56k
    if (yych == 'T') goto yy426;
5049
7.21k
    if (yych == 't') goto yy426;
5050
187
    goto yy48;
5051
12.8k
yy328:
5052
12.8k
    YYDEBUG(328, *YYCURSOR);
5053
12.8k
    yyaccept = 4;
5054
12.8k
    yych = *(YYMARKER = ++YYCURSOR);
5055
12.8k
    if (yych == 'O') goto yy427;
5056
11.6k
    if (yych == 'o') goto yy427;
5057
573
    goto yy48;
5058
12.2k
yy329:
5059
12.2k
    YYDEBUG(329, *YYCURSOR);
5060
12.2k
    yyaccept = 4;
5061
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5062
12.2k
    if (yych == 'I') goto yy428;
5063
11.1k
    if (yych == 'i') goto yy428;
5064
1.88k
    goto yy48;
5065
40.3k
yy330:
5066
40.3k
    YYDEBUG(330, *YYCURSOR);
5067
40.3k
    yyaccept = 22;
5068
40.3k
    yych = *(YYMARKER = ++YYCURSOR);
5069
40.3k
    if (yybm[256+yych] & 128) {
5070
1.01k
      goto yy47;
5071
1.01k
    }
5072
39.3k
    if (yych == '\\') goto yy164;
5073
39.2k
yy331:
5074
39.2k
    YYDEBUG(331, *YYCURSOR);
5075
39.2k
    yyleng = YYCURSOR - SCNG(yy_text);
5076
39.2k
#line 1437 "Zend/zend_language_scanner.l"
5077
39.2k
    {
5078
39.2k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5079
39.2k
}
5080
0
#line 5081 "Zend/zend_language_scanner.c"
5081
17.9k
yy332:
5082
17.9k
    YYDEBUG(332, *YYCURSOR);
5083
17.9k
    yyaccept = 4;
5084
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
5085
17.9k
    if (yych == 'E') goto yy429;
5086
17.3k
    if (yych == 'e') goto yy429;
5087
2.12k
    goto yy48;
5088
13.1k
yy333:
5089
13.1k
    YYDEBUG(333, *YYCURSOR);
5090
13.1k
    yyaccept = 23;
5091
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
5092
13.1k
    if (yybm[256+yych] & 128) {
5093
2.36k
      goto yy47;
5094
2.36k
    }
5095
10.8k
    if (yych == '\\') goto yy164;
5096
10.6k
yy334:
5097
10.6k
    YYDEBUG(334, *YYCURSOR);
5098
10.6k
    yyleng = YYCURSOR - SCNG(yy_text);
5099
10.6k
#line 1741 "Zend/zend_language_scanner.l"
5100
10.6k
    {
5101
10.6k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5102
10.6k
}
5103
0
#line 5104 "Zend/zend_language_scanner.c"
5104
98.2k
yy335:
5105
98.2k
    YYDEBUG(335, *YYCURSOR);
5106
98.2k
    yyaccept = 24;
5107
98.2k
    yych = *(YYMARKER = ++YYCURSOR);
5108
98.2k
    if (yybm[256+yych] & 128) {
5109
94.5k
      goto yy47;
5110
94.5k
    }
5111
3.75k
    if (yych == '\\') goto yy164;
5112
3.32k
yy336:
5113
3.32k
    YYDEBUG(336, *YYCURSOR);
5114
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
5115
3.32k
#line 1633 "Zend/zend_language_scanner.l"
5116
3.32k
    {
5117
3.32k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5118
3.32k
}
5119
0
#line 5120 "Zend/zend_language_scanner.c"
5120
5.91k
yy337:
5121
5.91k
    YYDEBUG(337, *YYCURSOR);
5122
5.91k
    yyaccept = 4;
5123
5.91k
    yych = *(YYMARKER = ++YYCURSOR);
5124
5.91k
    if (yych == 'L') goto yy430;
5125
5.51k
    if (yych == 'l') goto yy430;
5126
1.47k
    goto yy48;
5127
6.23k
yy338:
5128
6.23k
    YYDEBUG(338, *YYCURSOR);
5129
6.23k
    yyaccept = 25;
5130
6.23k
    yych = *(YYMARKER = ++YYCURSOR);
5131
6.23k
    if (yybm[256+yych] & 128) {
5132
303
      goto yy47;
5133
303
    }
5134
5.93k
    if (yych == '\\') goto yy164;
5135
5.93k
yy339:
5136
5.93k
    YYDEBUG(339, *YYCURSOR);
5137
5.93k
    yyleng = YYCURSOR - SCNG(yy_text);
5138
5.93k
#line 1937 "Zend/zend_language_scanner.l"
5139
5.93k
    {
5140
5.93k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5141
5.93k
}
5142
0
#line 5143 "Zend/zend_language_scanner.c"
5143
89.9k
yy340:
5144
89.9k
    YYDEBUG(340, *YYCURSOR);
5145
89.9k
    yyaccept = 4;
5146
89.9k
    yych = *(YYMARKER = ++YYCURSOR);
5147
89.9k
    if (yych == 'L') goto yy431;
5148
87.7k
    if (yych == 'l') goto yy431;
5149
5.05k
    goto yy48;
5150
27.8k
yy341:
5151
27.8k
    YYDEBUG(341, *YYCURSOR);
5152
27.8k
    ++YYCURSOR;
5153
27.8k
    YYFILL(1);
5154
27.8k
    yych = *YYCURSOR;
5155
27.8k
    if (yych <= '_') {
5156
24.5k
      if (yych <= '@') goto yy86;
5157
21.3k
      if (yych <= 'Z') goto yy211;
5158
4.26k
      if (yych <= '^') goto yy86;
5159
1.06k
      goto yy211;
5160
4.26k
    } else {
5161
3.34k
      if (yych <= '`') goto yy86;
5162
3.13k
      if (yych <= 'z') goto yy211;
5163
1.29k
      if (yych <= 0x7F) goto yy86;
5164
570
      goto yy211;
5165
1.29k
    }
5166
20.9k
yy342:
5167
20.9k
    YYDEBUG(342, *YYCURSOR);
5168
20.9k
    yyaccept = 4;
5169
20.9k
    yych = *(YYMARKER = ++YYCURSOR);
5170
20.9k
    if (yych == 'L') goto yy432;
5171
18.7k
    if (yych == 'l') goto yy432;
5172
11.0k
    goto yy48;
5173
11.0k
yy343:
5174
10.2k
    YYDEBUG(343, *YYCURSOR);
5175
10.2k
    yyaccept = 4;
5176
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
5177
10.2k
    if (yych == 'I') goto yy433;
5178
7.62k
    if (yych == 'i') goto yy433;
5179
4.99k
    goto yy48;
5180
28.0k
yy344:
5181
28.0k
    YYDEBUG(344, *YYCURSOR);
5182
28.0k
    yyaccept = 4;
5183
28.0k
    yych = *(YYMARKER = ++YYCURSOR);
5184
28.0k
    if (yych <= 'U') {
5185
13.5k
      if (yych == 'I') goto yy434;
5186
5.03k
      if (yych <= 'T') goto yy48;
5187
4.13k
      goto yy435;
5188
14.5k
    } else {
5189
14.5k
      if (yych <= 'i') {
5190
4.40k
        if (yych <= 'h') goto yy48;
5191
3.63k
        goto yy434;
5192
10.1k
      } else {
5193
10.1k
        if (yych == 'u') goto yy435;
5194
943
        goto yy48;
5195
10.1k
      }
5196
14.5k
    }
5197
7.63k
yy345:
5198
7.63k
    YYDEBUG(345, *YYCURSOR);
5199
7.63k
    yyaccept = 4;
5200
7.63k
    yych = *(YYMARKER = ++YYCURSOR);
5201
7.63k
    if (yych == 'A') goto yy436;
5202
6.13k
    if (yych == 'a') goto yy436;
5203
709
    goto yy48;
5204
5.28k
yy346:
5205
5.28k
    YYDEBUG(346, *YYCURSOR);
5206
5.28k
    yyaccept = 4;
5207
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
5208
5.28k
    if (yych == 'I') goto yy437;
5209
3.56k
    if (yych == 'i') goto yy437;
5210
1.18k
    goto yy48;
5211
14.5k
yy347:
5212
14.5k
    YYDEBUG(347, *YYCURSOR);
5213
14.5k
    yyaccept = 4;
5214
14.5k
    yych = *(YYMARKER = ++YYCURSOR);
5215
14.5k
    if (yych == 'E') goto yy438;
5216
7.26k
    if (yych == 'e') goto yy438;
5217
925
    goto yy48;
5218
11.3k
yy348:
5219
11.3k
    YYDEBUG(348, *YYCURSOR);
5220
11.3k
    yyaccept = 4;
5221
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
5222
11.3k
    if (yych == 'A') goto yy439;
5223
7.86k
    if (yych == 'a') goto yy439;
5224
984
    goto yy48;
5225
7.15k
yy349:
5226
7.15k
    YYDEBUG(349, *YYCURSOR);
5227
7.15k
    yyaccept = 4;
5228
7.15k
    yych = *(YYMARKER = ++YYCURSOR);
5229
7.15k
    if (yych == 'R') goto yy440;
5230
1.51k
    if (yych == 'r') goto yy440;
5231
1.10k
    goto yy48;
5232
9.25k
yy350:
5233
9.25k
    YYDEBUG(350, *YYCURSOR);
5234
9.25k
    yyaccept = 4;
5235
9.25k
    yych = *(YYMARKER = ++YYCURSOR);
5236
9.25k
    if (yych == 'R') goto yy441;
5237
7.56k
    if (yych == 'r') goto yy441;
5238
2.19k
    goto yy48;
5239
11.7k
yy351:
5240
11.7k
    YYDEBUG(351, *YYCURSOR);
5241
11.7k
    ++YYCURSOR;
5242
11.7k
    YYFILL(1);
5243
11.7k
    yych = *YYCURSOR;
5244
11.7k
    if (yybm[0+yych] & 2) {
5245
1.70k
      goto yy225;
5246
1.70k
    }
5247
10.0k
    if (yych <= 0x00) goto yy86;
5248
9.69k
    goto yy227;
5249
9.69k
yy352:
5250
5.54k
    YYDEBUG(352, *YYCURSOR);
5251
5.54k
    yyaccept = 26;
5252
5.54k
    YYMARKER = ++YYCURSOR;
5253
5.54k
    YYFILL(1);
5254
5.54k
    yych = *YYCURSOR;
5255
5.54k
    if (yybm[0+yych] & 2) {
5256
4.78k
      goto yy225;
5257
4.78k
    }
5258
759
    if (yych <= 0x00) goto yy89;
5259
447
    goto yy84;
5260
18.6k
yy353:
5261
18.6k
    YYDEBUG(353, *YYCURSOR);
5262
18.6k
    ++YYCURSOR;
5263
18.6k
    YYFILL(1);
5264
18.6k
    yych = *YYCURSOR;
5265
18.6k
    if (yych <= '\f') {
5266
2.46k
      if (yych <= 0x00) goto yy86;
5267
2.21k
      if (yych == '\n') goto yy84;
5268
255
      goto yy225;
5269
16.1k
    } else {
5270
16.1k
      if (yych <= '\r') goto yy84;
5271
14.5k
      if (yych == '.') goto yy442;
5272
6.72k
      goto yy225;
5273
14.5k
    }
5274
37.5k
yy354:
5275
37.5k
    YYDEBUG(354, *YYCURSOR);
5276
37.5k
    ++YYCURSOR;
5277
37.5k
    YYFILL(1);
5278
37.5k
    yych = *YYCURSOR;
5279
37.5k
    if (yych <= '\f') {
5280
1.41k
      if (yych <= 0x00) goto yy86;
5281
850
      if (yych == '\n') goto yy84;
5282
335
      goto yy225;
5283
36.1k
    } else {
5284
36.1k
      if (yych <= '\r') goto yy84;
5285
33.8k
      if (yych == '*') goto yy443;
5286
4.17k
      goto yy225;
5287
33.8k
    }
5288
24.8k
yy355:
5289
24.8k
    YYDEBUG(355, *YYCURSOR);
5290
24.8k
    ++YYCURSOR;
5291
24.8k
    YYFILL(1);
5292
24.8k
    yych = *YYCURSOR;
5293
24.8k
    YYDEBUG(356, *YYCURSOR);
5294
24.8k
    if (yybm[0+yych] & 64) {
5295
1.47k
      goto yy355;
5296
1.47k
    }
5297
23.4k
    if (yych <= 0x00) goto yy86;
5298
22.8k
    if (yych == '/') goto yy84;
5299
8.39k
    goto yy230;
5300
12.0k
yy357:
5301
12.0k
    YYDEBUG(357, *YYCURSOR);
5302
12.0k
    yych = *++YYCURSOR;
5303
12.0k
    if (yych == 'A') goto yy445;
5304
11.8k
    if (yych == 'a') goto yy445;
5305
2.21k
    goto yy86;
5306
5.47k
yy358:
5307
5.47k
    YYDEBUG(358, *YYCURSOR);
5308
5.47k
    yych = *++YYCURSOR;
5309
5.47k
    if (yych == 'A') goto yy446;
5310
1.57k
    if (yych == 'a') goto yy446;
5311
481
    goto yy86;
5312
5.75k
yy359:
5313
5.75k
    YYDEBUG(359, *YYCURSOR);
5314
5.75k
    yych = *++YYCURSOR;
5315
5.75k
    if (yych == 'L') goto yy447;
5316
5.56k
    if (yych == 'l') goto yy447;
5317
936
    goto yy86;
5318
3.59k
yy360:
5319
3.59k
    YYDEBUG(360, *YYCURSOR);
5320
3.59k
    yych = *++YYCURSOR;
5321
3.59k
    if (yych == 'B') goto yy448;
5322
3.23k
    if (yych == 'b') goto yy448;
5323
591
    goto yy86;
5324
3.27k
yy361:
5325
3.27k
    YYDEBUG(361, *YYCURSOR);
5326
3.27k
    yych = *++YYCURSOR;
5327
3.27k
    if (yych == 'A') goto yy449;
5328
2.99k
    if (yych == 'a') goto yy449;
5329
265
    goto yy86;
5330
9.78k
yy362:
5331
9.78k
    YYDEBUG(362, *YYCURSOR);
5332
9.78k
    yych = *++YYCURSOR;
5333
9.78k
    if (yych == 'E') goto yy454;
5334
9.03k
    if (yych == 'e') goto yy454;
5335
4.25k
    goto yy451;
5336
5.17k
yy363:
5337
5.17k
    YYDEBUG(363, *YYCURSOR);
5338
5.17k
    yych = *++YYCURSOR;
5339
5.17k
    if (yych == 'E') goto yy455;
5340
4.98k
    if (yych == 'e') goto yy455;
5341
2.42k
    goto yy86;
5342
2.42k
yy364:
5343
2.04k
    YYDEBUG(364, *YYCURSOR);
5344
2.04k
    yych = *++YYCURSOR;
5345
2.04k
    if (yych == 'L') goto yy456;
5346
1.02k
    if (yych == 'l') goto yy456;
5347
571
    goto yy86;
5348
16.6k
yy365:
5349
16.6k
    YYDEBUG(365, *YYCURSOR);
5350
16.6k
    yych = *++YYCURSOR;
5351
16.6k
    if (yych == 'I') goto yy458;
5352
16.3k
    if (yych == 'i') goto yy458;
5353
2.59k
    goto yy86;
5354
4.42k
yy366:
5355
4.42k
    YYDEBUG(366, *YYCURSOR);
5356
4.42k
    yych = *++YYCURSOR;
5357
4.42k
    if (yych == 'E') goto yy459;
5358
4.18k
    if (yych == 'e') goto yy459;
5359
569
    goto yy86;
5360
1.60k
yy367:
5361
1.60k
    YYDEBUG(367, *YYCURSOR);
5362
1.60k
    yych = *++YYCURSOR;
5363
1.60k
    if (yych == 'D') goto yy460;
5364
1.19k
    if (yych == 'd') goto yy460;
5365
355
    goto yy86;
5366
15.2k
yy368:
5367
15.2k
    YYDEBUG(368, *YYCURSOR);
5368
15.2k
    ++YYCURSOR;
5369
15.2k
    YYFILL(1);
5370
15.2k
    yych = *YYCURSOR;
5371
15.2k
    YYDEBUG(369, *YYCURSOR);
5372
15.2k
    if (yych <= '\f') {
5373
3.73k
      if (yych <= 0x08) goto yy129;
5374
3.40k
      if (yych <= '\n') goto yy368;
5375
252
      goto yy129;
5376
11.5k
    } else {
5377
11.5k
      if (yych <= '\r') goto yy368;
5378
11.2k
      if (yych == ' ') goto yy368;
5379
6.76k
      goto yy129;
5380
11.2k
    }
5381
5.29k
yy370:
5382
5.29k
    YYDEBUG(370, *YYCURSOR);
5383
5.29k
    yych = *++YYCURSOR;
5384
5.29k
    if (yych == '"') goto yy86;
5385
4.06k
    if (yych <= '/') goto yy463;
5386
2.61k
    if (yych <= '9') goto yy86;
5387
2.35k
    goto yy463;
5388
11.7k
yy371:
5389
11.7k
    YYDEBUG(371, *YYCURSOR);
5390
11.7k
    yych = *++YYCURSOR;
5391
11.7k
    if (yych == '\'') goto yy86;
5392
11.5k
    if (yych <= '/') goto yy465;
5393
11.2k
    if (yych <= '9') goto yy86;
5394
11.0k
    goto yy465;
5395
4.69M
yy372:
5396
4.69M
    YYDEBUG(372, *YYCURSOR);
5397
4.69M
    ++YYCURSOR;
5398
4.69M
    YYFILL(2);
5399
4.69M
    yych = *YYCURSOR;
5400
4.69M
    YYDEBUG(373, *YYCURSOR);
5401
4.69M
    if (yych <= '@') {
5402
3.28M
      if (yych <= '\f') {
5403
3.08M
        if (yych == '\n') goto yy466;
5404
31.3k
        goto yy86;
5405
3.08M
      } else {
5406
196k
        if (yych <= '\r') goto yy468;
5407
176k
        if (yych <= '/') goto yy86;
5408
118k
        if (yych <= '9') goto yy372;
5409
36.5k
        goto yy86;
5410
118k
      }
5411
3.28M
    } else {
5412
1.41M
      if (yych <= '_') {
5413
234k
        if (yych <= 'Z') goto yy372;
5414
33.3k
        if (yych <= '^') goto yy86;
5415
24.5k
        goto yy372;
5416
1.17M
      } else {
5417
1.17M
        if (yych <= '`') goto yy86;
5418
1.17M
        if (yych <= 'z') goto yy372;
5419
710k
        if (yych <= 0x7F) goto yy86;
5420
701k
        goto yy372;
5421
710k
      }
5422
1.41M
    }
5423
8.23k
yy374:
5424
8.23k
    YYDEBUG(374, *YYCURSOR);
5425
8.23k
    yyaccept = 4;
5426
8.23k
    yych = *(YYMARKER = ++YYCURSOR);
5427
8.23k
    if (yych == 'R') goto yy469;
5428
7.07k
    if (yych == 'r') goto yy469;
5429
503
    goto yy48;
5430
28.6k
yy375:
5431
28.6k
    YYDEBUG(375, *YYCURSOR);
5432
28.6k
    yyaccept = 4;
5433
28.6k
    yych = *(YYMARKER = ++YYCURSOR);
5434
28.6k
    if (yych == 'Y') goto yy470;
5435
27.4k
    if (yych == 'y') goto yy470;
5436
1.61k
    goto yy48;
5437
4.37k
yy376:
5438
4.37k
    YYDEBUG(376, *YYCURSOR);
5439
4.37k
    yyaccept = 4;
5440
4.37k
    yych = *(YYMARKER = ++YYCURSOR);
5441
4.37k
    if (yych == 'K') goto yy472;
5442
3.88k
    if (yych == 'k') goto yy472;
5443
804
    goto yy48;
5444
16.7k
yy377:
5445
16.7k
    YYDEBUG(377, *YYCURSOR);
5446
16.7k
    yyaccept = 4;
5447
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
5448
16.7k
    if (yych == 'A') goto yy474;
5449
15.5k
    if (yych == 'a') goto yy474;
5450
11.6k
    goto yy48;
5451
11.6k
yy378:
5452
9.16k
    YYDEBUG(378, *YYCURSOR);
5453
9.16k
    yyaccept = 27;
5454
9.16k
    yych = *(YYMARKER = ++YYCURSOR);
5455
9.16k
    if (yybm[256+yych] & 128) {
5456
597
      goto yy47;
5457
597
    }
5458
8.56k
    if (yych == '\\') goto yy164;
5459
8.56k
yy379:
5460
8.56k
    YYDEBUG(379, *YYCURSOR);
5461
8.56k
    yyleng = YYCURSOR - SCNG(yy_text);
5462
8.56k
#line 1525 "Zend/zend_language_scanner.l"
5463
8.56k
    {
5464
8.56k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5465
8.56k
}
5466
0
#line 5467 "Zend/zend_language_scanner.c"
5467
35.3k
yy380:
5468
35.3k
    YYDEBUG(380, *YYCURSOR);
5469
35.3k
    yyaccept = 4;
5470
35.3k
    yych = *(YYMARKER = ++YYCURSOR);
5471
35.3k
    if (yych == 'H') goto yy475;
5472
35.0k
    if (yych == 'h') goto yy475;
5473
978
    goto yy48;
5474
81.8k
yy381:
5475
81.8k
    YYDEBUG(381, *YYCURSOR);
5476
81.8k
    yyaccept = 4;
5477
81.8k
    yych = *(YYMARKER = ++YYCURSOR);
5478
81.8k
    if (yych == 'S') goto yy477;
5479
80.7k
    if (yych == 's') goto yy477;
5480
1.72k
    goto yy48;
5481
5.36k
yy382:
5482
5.36k
    YYDEBUG(382, *YYCURSOR);
5483
5.36k
    yyaccept = 4;
5484
5.36k
    yych = *(YYMARKER = ++YYCURSOR);
5485
5.36k
    if (yych == 'E') goto yy479;
5486
4.69k
    if (yych == 'e') goto yy479;
5487
484
    goto yy48;
5488
46.7k
yy383:
5489
46.7k
    YYDEBUG(383, *YYCURSOR);
5490
46.7k
    yyaccept = 4;
5491
46.7k
    yych = *(YYMARKER = ++YYCURSOR);
5492
46.7k
    if (yych == 'T') goto yy481;
5493
44.5k
    if (yych == 't') goto yy481;
5494
3.19k
    goto yy48;
5495
9.58k
yy384:
5496
9.58k
    YYDEBUG(384, *YYCURSOR);
5497
9.58k
    yyaccept = 4;
5498
9.58k
    yych = *(YYMARKER = ++YYCURSOR);
5499
9.58k
    if (yych == 'I') goto yy483;
5500
7.08k
    if (yych == 'i') goto yy483;
5501
2.80k
    goto yy48;
5502
9.09k
yy385:
5503
9.09k
    YYDEBUG(385, *YYCURSOR);
5504
9.09k
    yyaccept = 4;
5505
9.09k
    yych = *(YYMARKER = ++YYCURSOR);
5506
9.09k
    if (yych == 'A') goto yy484;
5507
8.82k
    if (yych == 'a') goto yy484;
5508
452
    goto yy48;
5509
4.54k
yy386:
5510
4.54k
    YYDEBUG(386, *YYCURSOR);
5511
4.54k
    yyaccept = 4;
5512
4.54k
    yych = *(YYMARKER = ++YYCURSOR);
5513
4.54k
    if (yych == 'U') goto yy485;
5514
3.96k
    if (yych == 'u') goto yy485;
5515
474
    goto yy48;
5516
72.6k
yy387:
5517
72.6k
    YYDEBUG(387, *YYCURSOR);
5518
72.6k
    yyaccept = 28;
5519
72.6k
    yych = *(YYMARKER = ++YYCURSOR);
5520
72.6k
    if (yybm[256+yych] & 128) {
5521
1.53k
      goto yy47;
5522
1.53k
    }
5523
71.1k
    if (yych == '\\') goto yy164;
5524
71.1k
yy388:
5525
71.1k
    YYDEBUG(388, *YYCURSOR);
5526
71.1k
    yyleng = YYCURSOR - SCNG(yy_text);
5527
71.1k
#line 1545 "Zend/zend_language_scanner.l"
5528
71.1k
    {
5529
71.1k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5530
71.1k
}
5531
0
#line 5532 "Zend/zend_language_scanner.c"
5532
15.2k
yy389:
5533
15.2k
    YYDEBUG(389, *YYCURSOR);
5534
15.2k
    yyaccept = 29;
5535
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
5536
15.2k
    if (yych <= '\\') {
5537
8.81k
      if (yych <= 'H') {
5538
5.44k
        if (yych <= '/') goto yy390;
5539
2.00k
        if (yych <= '9') goto yy47;
5540
1.90k
        if (yych >= 'A') goto yy47;
5541
3.37k
      } else {
5542
3.37k
        if (yych <= 'I') goto yy486;
5543
2.89k
        if (yych <= 'Z') goto yy47;
5544
731
        if (yych >= '\\') goto yy164;
5545
731
      }
5546
8.81k
    } else {
5547
6.41k
      if (yych <= 'h') {
5548
889
        if (yych == '_') goto yy47;
5549
624
        if (yych >= 'a') goto yy47;
5550
5.52k
      } else {
5551
5.52k
        if (yych <= 'i') goto yy486;
5552
1.11k
        if (yych <= 'z') goto yy47;
5553
664
        if (yych >= 0x80) goto yy47;
5554
664
      }
5555
6.41k
    }
5556
6.24k
yy390:
5557
6.24k
    YYDEBUG(390, *YYCURSOR);
5558
6.24k
    yyleng = YYCURSOR - SCNG(yy_text);
5559
6.24k
#line 1465 "Zend/zend_language_scanner.l"
5560
6.24k
    {
5561
6.24k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5562
6.24k
}
5563
0
#line 5564 "Zend/zend_language_scanner.c"
5564
5.12k
yy391:
5565
5.12k
    YYDEBUG(391, *YYCURSOR);
5566
5.12k
    yyaccept = 4;
5567
5.12k
    yych = *(YYMARKER = ++YYCURSOR);
5568
5.12k
    if (yych == 'Y') goto yy487;
5569
3.82k
    if (yych == 'y') goto yy487;
5570
669
    goto yy48;
5571
4.98k
yy392:
5572
4.98k
    YYDEBUG(392, *YYCURSOR);
5573
4.98k
    yyaccept = 4;
5574
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
5575
4.98k
    if (yych == 'E') goto yy489;
5576
4.43k
    if (yych == 'e') goto yy489;
5577
621
    goto yy48;
5578
12.4k
yy393:
5579
12.4k
    YYDEBUG(393, *YYCURSOR);
5580
12.4k
    yyaccept = 4;
5581
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5582
12.4k
    if (yych == 'O') goto yy490;
5583
9.35k
    if (yych == 'o') goto yy490;
5584
1.92k
    goto yy48;
5585
6.71k
yy394:
5586
6.71k
    YYDEBUG(394, *YYCURSOR);
5587
6.71k
    yyaccept = 4;
5588
6.71k
    yych = *(YYMARKER = ++YYCURSOR);
5589
6.71k
    if (yych == 'F') goto yy491;
5590
3.88k
    if (yych == 'f') goto yy491;
5591
886
    goto yy48;
5592
8.17k
yy395:
5593
8.17k
    YYDEBUG(395, *YYCURSOR);
5594
8.17k
    yyaccept = 4;
5595
8.17k
    yych = *(YYMARKER = ++YYCURSOR);
5596
8.17k
    if (yych == 'W') goto yy493;
5597
6.42k
    if (yych == 'w') goto yy493;
5598
4.30k
    goto yy48;
5599
8.64k
yy396:
5600
8.64k
    YYDEBUG(396, *YYCURSOR);
5601
8.64k
    yyaccept = 4;
5602
8.64k
    yych = *(YYMARKER = ++YYCURSOR);
5603
8.64k
    if (yych == 'H') goto yy494;
5604
6.26k
    if (yych == 'h') goto yy494;
5605
2.08k
    goto yy48;
5606
159k
yy397:
5607
159k
    YYDEBUG(397, *YYCURSOR);
5608
159k
    yyaccept = 4;
5609
159k
    yych = *(YYMARKER = ++YYCURSOR);
5610
159k
    if (yych <= 0x1F) {
5611
130k
      if (yych <= '\n') {
5612
6.22k
        if (yych <= 0x08) goto yy48;
5613
5.28k
        goto yy495;
5614
124k
      } else {
5615
124k
        if (yych == '\r') goto yy495;
5616
705
        goto yy48;
5617
124k
      }
5618
130k
    } else {
5619
29.3k
      if (yych <= '#') {
5620
18.3k
        if (yych <= ' ') goto yy495;
5621
8.50k
        if (yych <= '"') goto yy48;
5622
8.19k
        goto yy497;
5623
11.0k
      } else {
5624
11.0k
        if (yych == '/') goto yy498;
5625
10.5k
        goto yy48;
5626
11.0k
      }
5627
29.3k
    }
5628
5.65k
yy398:
5629
5.65k
    YYDEBUG(398, *YYCURSOR);
5630
5.65k
    yyaccept = 30;
5631
5.65k
    yych = *(YYMARKER = ++YYCURSOR);
5632
5.65k
    if (yybm[256+yych] & 128) {
5633
1.78k
      goto yy47;
5634
1.78k
    }
5635
3.86k
    if (yych == '\\') goto yy164;
5636
3.86k
yy399:
5637
3.86k
    YYDEBUG(399, *YYCURSOR);
5638
3.86k
    yyleng = YYCURSOR - SCNG(yy_text);
5639
3.86k
#line 1717 "Zend/zend_language_scanner.l"
5640
3.86k
    {
5641
3.86k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5642
3.86k
}
5643
0
#line 5644 "Zend/zend_language_scanner.c"
5644
2.12k
yy400:
5645
2.12k
    YYDEBUG(400, *YYCURSOR);
5646
2.12k
    yyaccept = 31;
5647
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
5648
2.12k
    if (yybm[256+yych] & 128) {
5649
550
      goto yy47;
5650
550
    }
5651
1.57k
    if (yych == '\\') goto yy164;
5652
1.50k
yy401:
5653
1.50k
    YYDEBUG(401, *YYCURSOR);
5654
1.50k
    yyleng = YYCURSOR - SCNG(yy_text);
5655
1.50k
#line 1398 "Zend/zend_language_scanner.l"
5656
1.50k
    {
5657
1.50k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5658
1.50k
}
5659
0
#line 5660 "Zend/zend_language_scanner.c"
5660
21.1k
yy402:
5661
21.1k
    YYDEBUG(402, *YYCURSOR);
5662
21.1k
    yyaccept = 4;
5663
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
5664
21.1k
    if (yych == 'N') goto yy499;
5665
19.4k
    if (yych == 'n') goto yy499;
5666
2.44k
    goto yy48;
5667
14.9k
yy403:
5668
14.9k
    YYDEBUG(403, *YYCURSOR);
5669
14.9k
    yyaccept = 4;
5670
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
5671
14.9k
    if (yych == 'L') goto yy500;
5672
14.2k
    if (yych == 'l') goto yy500;
5673
1.40k
    goto yy48;
5674
26.7k
yy404:
5675
26.7k
    YYDEBUG(404, *YYCURSOR);
5676
26.7k
    yyaccept = 4;
5677
26.7k
    yych = *(YYMARKER = ++YYCURSOR);
5678
26.7k
    if (yych == 'A') goto yy502;
5679
26.3k
    if (yych == 'a') goto yy502;
5680
1.94k
    goto yy48;
5681
105k
yy405:
5682
105k
    YYDEBUG(405, *YYCURSOR);
5683
105k
    yyaccept = 4;
5684
105k
    yych = *(YYMARKER = ++YYCURSOR);
5685
105k
    if (yych == 'T') goto yy503;
5686
103k
    if (yych == 't') goto yy503;
5687
6.79k
    goto yy48;
5688
7.05k
yy406:
5689
7.05k
    YYDEBUG(406, *YYCURSOR);
5690
7.05k
    yyaccept = 4;
5691
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
5692
7.05k
    if (yych == 'A') goto yy504;
5693
4.27k
    if (yych == 'a') goto yy504;
5694
710
    goto yy48;
5695
5.42k
yy407:
5696
5.42k
    YYDEBUG(407, *YYCURSOR);
5697
5.42k
    yyaccept = 32;
5698
5.42k
    yych = *(YYMARKER = ++YYCURSOR);
5699
5.42k
    if (yybm[256+yych] & 128) {
5700
745
      goto yy47;
5701
745
    }
5702
4.68k
    if (yych == '\\') goto yy164;
5703
4.67k
yy408:
5704
4.67k
    YYDEBUG(408, *YYCURSOR);
5705
4.67k
    yyleng = YYCURSOR - SCNG(yy_text);
5706
4.67k
#line 1541 "Zend/zend_language_scanner.l"
5707
4.67k
    {
5708
4.67k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5709
4.67k
}
5710
0
#line 5711 "Zend/zend_language_scanner.c"
5711
24.3k
yy409:
5712
24.3k
    YYDEBUG(409, *YYCURSOR);
5713
24.3k
    yyaccept = 4;
5714
24.3k
    yych = *(YYMARKER = ++YYCURSOR);
5715
24.3k
    if (yych == 'E') goto yy505;
5716
20.9k
    if (yych == 'e') goto yy505;
5717
3.19k
    goto yy48;
5718
15.1k
yy410:
5719
15.1k
    YYDEBUG(410, *YYCURSOR);
5720
15.1k
    yyaccept = 4;
5721
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
5722
15.1k
    if (yych == 'U') goto yy506;
5723
13.3k
    if (yych == 'u') goto yy506;
5724
1.90k
    goto yy48;
5725
15.4k
yy411:
5726
15.4k
    YYDEBUG(411, *YYCURSOR);
5727
15.4k
    yyaccept = 4;
5728
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
5729
15.4k
    if (yych <= 'E') {
5730
2.34k
      if (yych == 'A') goto yy507;
5731
1.01k
      if (yych <= 'D') goto yy48;
5732
409
      goto yy508;
5733
13.1k
    } else {
5734
13.1k
      if (yych <= 'a') {
5735
4.69k
        if (yych <= '`') goto yy48;
5736
4.13k
        goto yy507;
5737
8.44k
      } else {
5738
8.44k
        if (yych == 'e') goto yy508;
5739
382
        goto yy48;
5740
8.44k
      }
5741
13.1k
    }
5742
15.7k
yy412:
5743
15.7k
    YYDEBUG(412, *YYCURSOR);
5744
15.7k
    yyaccept = 4;
5745
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
5746
15.7k
    if (yych == 'R') goto yy509;
5747
15.0k
    if (yych == 'r') goto yy509;
5748
6.27k
    goto yy48;
5749
14.9k
yy413:
5750
14.9k
    YYDEBUG(413, *YYCURSOR);
5751
14.9k
    yyaccept = 4;
5752
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
5753
14.9k
    if (yych == 'T') goto yy510;
5754
14.5k
    if (yych == 't') goto yy510;
5755
539
    goto yy48;
5756
4.41k
yy414:
5757
4.41k
    YYDEBUG(414, *YYCURSOR);
5758
4.41k
    yyaccept = 33;
5759
4.41k
    yych = *(YYMARKER = ++YYCURSOR);
5760
4.41k
    if (yybm[256+yych] & 128) {
5761
871
      goto yy47;
5762
871
    }
5763
3.54k
    if (yych == '\\') goto yy164;
5764
3.52k
yy415:
5765
3.52k
    YYDEBUG(415, *YYCURSOR);
5766
3.52k
    yyleng = YYCURSOR - SCNG(yy_text);
5767
3.52k
#line 1813 "Zend/zend_language_scanner.l"
5768
3.52k
    {
5769
3.52k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5770
3.52k
}
5771
0
#line 5772 "Zend/zend_language_scanner.c"
5772
5.47k
yy416:
5773
5.47k
    YYDEBUG(416, *YYCURSOR);
5774
5.47k
    yyaccept = 4;
5775
5.47k
    yych = *(YYMARKER = ++YYCURSOR);
5776
5.47k
    if (yych == 'H') goto yy512;
5777
5.19k
    if (yych == 'h') goto yy512;
5778
946
    goto yy48;
5779
23.2k
yy417:
5780
23.2k
    YYDEBUG(417, *YYCURSOR);
5781
23.2k
    yyaccept = 4;
5782
23.2k
    yych = *(YYMARKER = ++YYCURSOR);
5783
23.2k
    if (yych == 'S') goto yy514;
5784
21.6k
    if (yych == 's') goto yy514;
5785
1.29k
    goto yy48;
5786
16.6k
yy418:
5787
16.6k
    YYDEBUG(418, *YYCURSOR);
5788
16.6k
    yyaccept = 4;
5789
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
5790
16.6k
    if (yych == 'T') goto yy515;
5791
16.0k
    if (yych == 't') goto yy515;
5792
1.15k
    goto yy48;
5793
13.4k
yy419:
5794
13.4k
    YYDEBUG(419, *YYCURSOR);
5795
13.4k
    yyaccept = 4;
5796
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
5797
13.4k
    if (yych == 'A') goto yy517;
5798
12.3k
    if (yych == 'a') goto yy517;
5799
703
    goto yy48;
5800
15.3k
yy420:
5801
15.3k
    YYDEBUG(420, *YYCURSOR);
5802
15.3k
    yyaccept = 4;
5803
15.3k
    yych = *(YYMARKER = ++YYCURSOR);
5804
15.3k
    if (yych == 'E') goto yy518;
5805
13.3k
    if (yych == 'e') goto yy518;
5806
1.72k
    goto yy48;
5807
64.9k
yy421:
5808
64.9k
    YYDEBUG(421, *YYCURSOR);
5809
64.9k
    yyaccept = 4;
5810
64.9k
    yych = *(YYMARKER = ++YYCURSOR);
5811
64.9k
    if (yych == 'I') goto yy519;
5812
63.4k
    if (yych == 'i') goto yy519;
5813
1.38k
    goto yy48;
5814
7.58k
yy422:
5815
7.58k
    YYDEBUG(422, *YYCURSOR);
5816
7.58k
    yyaccept = 4;
5817
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
5818
7.58k
    if (yych == 'O') goto yy520;
5819
7.37k
    if (yych == 'o') goto yy520;
5820
1.31k
    goto yy48;
5821
22.1k
yy423:
5822
22.1k
    YYDEBUG(423, *YYCURSOR);
5823
22.1k
    yyaccept = 4;
5824
22.1k
    yych = *(YYMARKER = ++YYCURSOR);
5825
22.1k
    if (yych == 'I') goto yy521;
5826
20.7k
    if (yych == 'i') goto yy521;
5827
650
    goto yy48;
5828
25.9k
yy424:
5829
25.9k
    YYDEBUG(424, *YYCURSOR);
5830
25.9k
    yyaccept = 4;
5831
25.9k
    yych = *(YYMARKER = ++YYCURSOR);
5832
25.9k
    if (yych == 'R') goto yy522;
5833
25.1k
    if (yych == 'r') goto yy522;
5834
624
    goto yy48;
5835
18.8k
yy425:
5836
18.8k
    YYDEBUG(425, *YYCURSOR);
5837
18.8k
    yyaccept = 4;
5838
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
5839
18.8k
    if (yych == 'I') goto yy523;
5840
18.1k
    if (yych == 'i') goto yy523;
5841
853
    goto yy48;
5842
7.38k
yy426:
5843
7.38k
    YYDEBUG(426, *YYCURSOR);
5844
7.38k
    yyaccept = 4;
5845
7.38k
    yych = *(YYMARKER = ++YYCURSOR);
5846
7.38k
    if (yych == 'C') goto yy524;
5847
6.41k
    if (yych == 'c') goto yy524;
5848
749
    goto yy48;
5849
12.2k
yy427:
5850
12.2k
    YYDEBUG(427, *YYCURSOR);
5851
12.2k
    yyaccept = 4;
5852
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5853
12.2k
    if (yych == 'W') goto yy525;
5854
11.7k
    if (yych == 'w') goto yy525;
5855
971
    goto yy48;
5856
10.4k
yy428:
5857
10.4k
    YYDEBUG(428, *YYCURSOR);
5858
10.4k
    yyaccept = 4;
5859
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5860
10.4k
    if (yych == 'T') goto yy527;
5861
9.80k
    if (yych == 't') goto yy527;
5862
1.63k
    goto yy48;
5863
15.7k
yy429:
5864
15.7k
    YYDEBUG(429, *YYCURSOR);
5865
15.7k
    yyaccept = 4;
5866
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
5867
15.7k
    if (yych == 'T') goto yy529;
5868
14.7k
    if (yych == 't') goto yy529;
5869
5.38k
    goto yy48;
5870
5.38k
yy430:
5871
4.43k
    YYDEBUG(430, *YYCURSOR);
5872
4.43k
    yyaccept = 4;
5873
4.43k
    yych = *(YYMARKER = ++YYCURSOR);
5874
4.43k
    if (yych == 'E') goto yy531;
5875
4.01k
    if (yych == 'e') goto yy531;
5876
348
    goto yy48;
5877
84.9k
yy431:
5878
84.9k
    YYDEBUG(431, *YYCURSOR);
5879
84.9k
    yyaccept = 4;
5880
84.9k
    yych = *(YYMARKER = ++YYCURSOR);
5881
84.9k
    if (yych == 'D') goto yy533;
5882
83.6k
    if (yych == 'd') goto yy533;
5883
2.84k
    goto yy48;
5884
9.86k
yy432:
5885
9.86k
    YYDEBUG(432, *YYCURSOR);
5886
9.86k
    yyaccept = 4;
5887
9.86k
    yych = *(YYMARKER = ++YYCURSOR);
5888
9.86k
    if (yych == 'A') goto yy535;
5889
8.12k
    if (yych == 'a') goto yy535;
5890
1.56k
    goto yy48;
5891
5.24k
yy433:
5892
5.24k
    YYDEBUG(433, *YYCURSOR);
5893
5.24k
    yyaccept = 4;
5894
5.24k
    yych = *(YYMARKER = ++YYCURSOR);
5895
5.24k
    if (yych == 'R') goto yy536;
5896
3.18k
    if (yych == 'r') goto yy536;
5897
671
    goto yy48;
5898
12.1k
yy434:
5899
12.1k
    YYDEBUG(434, *YYCURSOR);
5900
12.1k
    yyaccept = 4;
5901
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
5902
12.1k
    if (yych == 'L') goto yy537;
5903
4.78k
    if (yych == 'l') goto yy537;
5904
1.35k
    goto yy48;
5905
13.3k
yy435:
5906
13.3k
    YYDEBUG(435, *YYCURSOR);
5907
13.3k
    yyaccept = 4;
5908
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
5909
13.3k
    if (yych == 'N') goto yy538;
5910
10.0k
    if (yych == 'n') goto yy538;
5911
932
    goto yy48;
5912
6.92k
yy436:
5913
6.92k
    YYDEBUG(436, *YYCURSOR);
5914
6.92k
    yyaccept = 4;
5915
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
5916
6.92k
    if (yych == 'L') goto yy539;
5917
5.46k
    if (yych == 'l') goto yy539;
5918
441
    goto yy48;
5919
4.09k
yy437:
5920
4.09k
    YYDEBUG(437, *YYCURSOR);
5921
4.09k
    yyaccept = 4;
5922
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
5923
4.09k
    if (yych == 'N') goto yy540;
5924
2.45k
    if (yych == 'n') goto yy540;
5925
1.17k
    goto yy48;
5926
13.5k
yy438:
5927
13.5k
    YYDEBUG(438, *YYCURSOR);
5928
13.5k
    yyaccept = 4;
5929
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5930
13.5k
    if (yych == 'T') goto yy541;
5931
6.34k
    if (yych == 't') goto yy541;
5932
442
    goto yy48;
5933
10.3k
yy439:
5934
10.3k
    YYDEBUG(439, *YYCURSOR);
5935
10.3k
    yyaccept = 4;
5936
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
5937
10.3k
    if (yych == 'M') goto yy542;
5938
6.94k
    if (yych == 'm') goto yy542;
5939
983
    goto yy48;
5940
6.04k
yy440:
5941
6.04k
    YYDEBUG(440, *YYCURSOR);
5942
6.04k
    yyaccept = 4;
5943
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
5944
6.04k
    if (yych == 'O') goto yy543;
5945
2.00k
    if (yych == 'o') goto yy543;
5946
643
    goto yy48;
5947
7.05k
yy441:
5948
7.05k
    YYDEBUG(441, *YYCURSOR);
5949
7.05k
    yyaccept = 4;
5950
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
5951
7.05k
    if (yych == 'A') goto yy544;
5952
5.47k
    if (yych == 'a') goto yy544;
5953
1.06k
    goto yy48;
5954
7.77k
yy442:
5955
7.77k
    YYDEBUG(442, *YYCURSOR);
5956
7.77k
    ++YYCURSOR;
5957
7.77k
    YYFILL(1);
5958
7.77k
    yych = *YYCURSOR;
5959
7.77k
    if (yych <= '\f') {
5960
924
      if (yych <= 0x00) goto yy86;
5961
653
      if (yych == '\n') goto yy84;
5962
328
      goto yy225;
5963
6.85k
    } else {
5964
6.85k
      if (yych <= '\r') goto yy84;
5965
6.36k
      if (yych == '.') goto yy352;
5966
5.23k
      goto yy225;
5967
6.36k
    }
5968
501k
yy443:
5969
501k
    YYDEBUG(443, *YYCURSOR);
5970
501k
    ++YYCURSOR;
5971
501k
    YYFILL(1);
5972
501k
    yych = *YYCURSOR;
5973
501k
    YYDEBUG(444, *YYCURSOR);
5974
501k
    if (yybm[0+yych] & 128) {
5975
408k
      goto yy443;
5976
408k
    }
5977
93.2k
    if (yych <= 0x00) goto yy86;
5978
90.4k
    if (yych <= '\r') goto yy545;
5979
14.9k
    goto yy547;
5980
14.9k
yy445:
5981
9.81k
    YYDEBUG(445, *YYCURSOR);
5982
9.81k
    yych = *++YYCURSOR;
5983
9.81k
    if (yych == 'Y') goto yy549;
5984
9.22k
    if (yych == 'y') goto yy549;
5985
469
    goto yy86;
5986
4.99k
yy446:
5987
4.99k
    YYDEBUG(446, *YYCURSOR);
5988
4.99k
    yych = *++YYCURSOR;
5989
4.99k
    if (yych == 'R') goto yy551;
5990
3.73k
    if (yych == 'r') goto yy551;
5991
1.09k
    goto yy86;
5992
4.82k
yy447:
5993
4.82k
    YYDEBUG(447, *YYCURSOR);
5994
4.82k
    yych = *++YYCURSOR;
5995
4.82k
    if (yych == 'E') goto yy556;
5996
3.27k
    if (yych == 'e') goto yy556;
5997
1.73k
    goto yy553;
5998
3.00k
yy448:
5999
3.00k
    YYDEBUG(448, *YYCURSOR);
6000
3.00k
    yych = *++YYCURSOR;
6001
3.00k
    if (yych == 'L') goto yy557;
6002
2.83k
    if (yych == 'l') goto yy557;
6003
472
    goto yy86;
6004
3.00k
yy449:
6005
3.00k
    YYDEBUG(449, *YYCURSOR);
6006
3.00k
    yych = *++YYCURSOR;
6007
3.00k
    if (yych == 'T') goto yy558;
6008
2.69k
    if (yych == 't') goto yy558;
6009
713
    goto yy86;
6010
2.41k
yy450:
6011
2.41k
    YYDEBUG(450, *YYCURSOR);
6012
2.41k
    ++YYCURSOR;
6013
2.41k
    YYFILL(1);
6014
2.41k
    yych = *YYCURSOR;
6015
6.67k
yy451:
6016
6.67k
    YYDEBUG(451, *YYCURSOR);
6017
6.67k
    if (yych <= 0x1F) {
6018
369
      if (yych == '\t') goto yy450;
6019
120
      goto yy86;
6020
6.30k
    } else {
6021
6.30k
      if (yych <= ' ') goto yy450;
6022
4.13k
      if (yych != ')') goto yy86;
6023
4.13k
    }
6024
1.83k
    YYDEBUG(452, *YYCURSOR);
6025
1.83k
    ++YYCURSOR;
6026
1.83k
    YYDEBUG(453, *YYCURSOR);
6027
1.83k
    yyleng = YYCURSOR - SCNG(yy_text);
6028
1.83k
#line 1637 "Zend/zend_language_scanner.l"
6029
1.83k
    {
6030
1.83k
  RETURN_TOKEN(T_INT_CAST);
6031
1.83k
}
6032
0
#line 6033 "Zend/zend_language_scanner.c"
6033
5.52k
yy454:
6034
5.52k
    YYDEBUG(454, *YYCURSOR);
6035
5.52k
    yych = *++YYCURSOR;
6036
5.52k
    if (yych == 'G') goto yy560;
6037
5.20k
    if (yych == 'g') goto yy560;
6038
1.02k
    goto yy86;
6039
2.75k
yy455:
6040
2.75k
    YYDEBUG(455, *YYCURSOR);
6041
2.75k
    yych = *++YYCURSOR;
6042
2.75k
    if (yych == 'C') goto yy561;
6043
2.53k
    if (yych == 'c') goto yy561;
6044
232
    goto yy86;
6045
2.38k
yy456:
6046
2.38k
    YYDEBUG(456, *YYCURSOR);
6047
2.38k
    ++YYCURSOR;
6048
2.38k
    YYFILL(1);
6049
2.38k
    yych = *YYCURSOR;
6050
2.38k
    YYDEBUG(457, *YYCURSOR);
6051
2.38k
    if (yych <= 0x1F) {
6052
360
      if (yych == '\t') goto yy456;
6053
257
      goto yy86;
6054
2.02k
    } else {
6055
2.02k
      if (yych <= ' ') goto yy456;
6056
1.21k
      if (yych == ')') goto yy562;
6057
919
      goto yy86;
6058
1.21k
    }
6059
14.0k
yy458:
6060
14.0k
    YYDEBUG(458, *YYCURSOR);
6061
14.0k
    yych = *++YYCURSOR;
6062
14.0k
    if (yych == 'N') goto yy564;
6063
13.9k
    if (yych == 'n') goto yy564;
6064
2.81k
    goto yy86;
6065
3.85k
yy459:
6066
3.85k
    YYDEBUG(459, *YYCURSOR);
6067
3.85k
    yych = *++YYCURSOR;
6068
3.85k
    if (yych == 'T') goto yy565;
6069
3.26k
    if (yych == 't') goto yy565;
6070
1.78k
    goto yy86;
6071
1.78k
yy460:
6072
1.71k
    YYDEBUG(460, *YYCURSOR);
6073
1.71k
    ++YYCURSOR;
6074
1.71k
    YYFILL(1);
6075
1.71k
    yych = *YYCURSOR;
6076
1.71k
    YYDEBUG(461, *YYCURSOR);
6077
1.71k
    if (yych <= 0x1F) {
6078
591
      if (yych == '\t') goto yy460;
6079
272
      goto yy86;
6080
1.12k
    } else {
6081
1.12k
      if (yych <= ' ') goto yy460;
6082
979
      if (yych == ')') goto yy567;
6083
494
      goto yy86;
6084
979
    }
6085
17.3k
yy462:
6086
17.3k
    YYDEBUG(462, *YYCURSOR);
6087
17.3k
    ++YYCURSOR;
6088
17.3k
    YYFILL(3);
6089
17.3k
    yych = *YYCURSOR;
6090
21.1k
yy463:
6091
21.1k
    YYDEBUG(463, *YYCURSOR);
6092
21.1k
    if (yych <= 'Z') {
6093
6.31k
      if (yych <= '/') {
6094
2.58k
        if (yych == '"') goto yy569;
6095
1.96k
        goto yy86;
6096
3.72k
      } else {
6097
3.72k
        if (yych <= '9') goto yy462;
6098
1.22k
        if (yych <= '@') goto yy86;
6099
839
        goto yy462;
6100
1.22k
      }
6101
14.8k
    } else {
6102
14.8k
      if (yych <= '`') {
6103
1.65k
        if (yych == '_') goto yy462;
6104
316
        goto yy86;
6105
13.1k
      } else {
6106
13.1k
        if (yych <= 'z') goto yy462;
6107
4.96k
        if (yych <= 0x7F) goto yy86;
6108
4.44k
        goto yy462;
6109
4.96k
      }
6110
14.8k
    }
6111
35.1k
yy464:
6112
35.1k
    YYDEBUG(464, *YYCURSOR);
6113
35.1k
    ++YYCURSOR;
6114
35.1k
    YYFILL(3);
6115
35.1k
    yych = *YYCURSOR;
6116
46.4k
yy465:
6117
46.4k
    YYDEBUG(465, *YYCURSOR);
6118
46.4k
    if (yych <= 'Z') {
6119
22.0k
      if (yych <= '/') {
6120
9.64k
        if (yych == '\'') goto yy569;
6121
645
        goto yy86;
6122
12.4k
      } else {
6123
12.4k
        if (yych <= '9') goto yy464;
6124
11.6k
        if (yych <= '@') goto yy86;
6125
10.7k
        goto yy464;
6126
11.6k
      }
6127
24.3k
    } else {
6128
24.3k
      if (yych <= '`') {
6129
1.13k
        if (yych == '_') goto yy464;
6130
266
        goto yy86;
6131
23.2k
      } else {
6132
23.2k
        if (yych <= 'z') goto yy464;
6133
13.7k
        if (yych <= 0x7F) goto yy86;
6134
13.2k
        goto yy464;
6135
13.7k
      }
6136
24.3k
    }
6137
3.06M
yy466:
6138
3.06M
    YYDEBUG(466, *YYCURSOR);
6139
3.06M
    ++YYCURSOR;
6140
3.08M
yy467:
6141
3.08M
    YYDEBUG(467, *YYCURSOR);
6142
3.08M
    yyleng = YYCURSOR - SCNG(yy_text);
6143
3.08M
#line 2677 "Zend/zend_language_scanner.l"
6144
3.08M
    {
6145
3.08M
  char *s;
6146
3.08M
  unsigned char *saved_cursor;
6147
3.08M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6148
3.08M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6149
3.08M
  bool is_heredoc = 1;
6150
6151
3.08M
  CG(zend_lineno)++;
6152
3.08M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6153
3.08M
  s = yytext+bprefix+3;
6154
3.09M
  while ((*s == ' ') || (*s == '\t')) {
6155
6.16k
    s++;
6156
6.16k
    heredoc_label->length--;
6157
6.16k
  }
6158
6159
3.08M
  if (*s == '\'') {
6160
8.28k
    s++;
6161
8.28k
    heredoc_label->length -= 2;
6162
8.28k
    is_heredoc = 0;
6163
6164
8.28k
    BEGIN(ST_NOWDOC);
6165
3.07M
  } else {
6166
3.07M
    if (*s == '"') {
6167
148
      s++;
6168
148
      heredoc_label->length -= 2;
6169
148
    }
6170
6171
3.07M
    BEGIN(ST_HEREDOC);
6172
3.07M
  }
6173
6174
3.08M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6175
3.08M
  heredoc_label->indentation_uses_spaces = 0;
6176
3.08M
  heredoc_label->indentation = 0;
6177
3.08M
  saved_cursor = YYCURSOR;
6178
6179
3.08M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6180
6181
3.13M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6182
45.3k
    if (*YYCURSOR == '\t') {
6183
4.84k
      spacing |= HEREDOC_USING_TABS;
6184
40.5k
    } else {
6185
40.5k
      spacing |= HEREDOC_USING_SPACES;
6186
40.5k
    }
6187
45.3k
    ++YYCURSOR;
6188
45.3k
    ++indentation;
6189
45.3k
  }
6190
6191
3.08M
  if (YYCURSOR == YYLIMIT) {
6192
1.92k
    YYCURSOR = saved_cursor;
6193
1.92k
    RETURN_TOKEN(T_START_HEREDOC);
6194
1.92k
  }
6195
6196
  /* Check for ending label on the next line */
6197
3.08M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6198
8.24k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6199
3.10k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6200
63
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6201
63
        if (PARSER_MODE()) {
6202
7
          RETURN_TOKEN(T_ERROR);
6203
7
        }
6204
63
      }
6205
6206
3.09k
      YYCURSOR = saved_cursor;
6207
3.09k
      heredoc_label->indentation = indentation;
6208
6209
3.09k
      BEGIN(ST_END_HEREDOC);
6210
3.09k
      RETURN_TOKEN(T_START_HEREDOC);
6211
3.09k
    }
6212
8.24k
  }
6213
6214
3.08M
  YYCURSOR = saved_cursor;
6215
6216
3.08M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6217
146k
    zend_lex_state current_state;
6218
146k
    zend_string *saved_doc_comment = CG(doc_comment);
6219
146k
    int heredoc_nesting_level = 1;
6220
146k
    int first_token = 0;
6221
146k
    int error = 0;
6222
6223
146k
    zend_save_lexical_state(&current_state);
6224
6225
146k
    SCNG(heredoc_scan_ahead) = 1;
6226
146k
    SCNG(heredoc_indentation) = 0;
6227
146k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6228
146k
    SCNG(on_event_context) = NULL;
6229
146k
    LANG_SCNG(on_event) = NULL;
6230
146k
    CG(doc_comment) = NULL;
6231
6232
146k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6233
6234
146k
    zend_object *prev_exception = EG(exception);
6235
146k
    EG(exception) = NULL;
6236
20.3M
    while (heredoc_nesting_level) {
6237
20.3M
      zval zv;
6238
20.3M
      int retval;
6239
6240
20.3M
      ZVAL_UNDEF(&zv);
6241
20.3M
      retval = lex_scan(&zv, NULL);
6242
20.3M
      zval_ptr_dtor_nogc(&zv);
6243
6244
20.3M
      if (EG(exception)) {
6245
137k
        zend_clear_exception();
6246
137k
        break;
6247
137k
      }
6248
6249
20.2M
      if (!first_token) {
6250
146k
        first_token = retval;
6251
146k
      }
6252
6253
20.2M
      switch (retval) {
6254
2.93M
        case T_START_HEREDOC:
6255
2.93M
          ++heredoc_nesting_level;
6256
2.93M
          break;
6257
16.0k
        case T_END_HEREDOC:
6258
16.0k
          --heredoc_nesting_level;
6259
16.0k
          break;
6260
4.16k
        case END:
6261
4.16k
          heredoc_nesting_level = 0;
6262
20.2M
      }
6263
20.2M
    }
6264
146k
    EG(exception) = prev_exception;
6265
6266
146k
    if (
6267
146k
        (first_token == T_VARIABLE
6268
140k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6269
40.6k
         || first_token == T_CURLY_OPEN
6270
146k
        ) && SCNG(heredoc_indentation)) {
6271
10
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6272
10
      error = 1;
6273
10
    }
6274
6275
146k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6276
146k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6277
6278
146k
    zend_restore_lexical_state(&current_state);
6279
146k
    SCNG(heredoc_scan_ahead) = 0;
6280
146k
    CG(increment_lineno) = 0;
6281
146k
    CG(doc_comment) = saved_doc_comment;
6282
6283
146k
    if (PARSER_MODE() && error) {
6284
10
      RETURN_TOKEN(T_ERROR);
6285
10
    }
6286
146k
  }
6287
6288
3.08M
  RETURN_TOKEN(T_START_HEREDOC);
6289
3.08M
}
6290
0
#line 6291 "Zend/zend_language_scanner.c"
6291
22.0k
yy468:
6292
22.0k
    YYDEBUG(468, *YYCURSOR);
6293
22.0k
    yych = *++YYCURSOR;
6294
22.0k
    if (yych == '\n') goto yy466;
6295
21.4k
    goto yy467;
6296
21.4k
yy469:
6297
7.73k
    YYDEBUG(469, *YYCURSOR);
6298
7.73k
    yyaccept = 4;
6299
7.73k
    yych = *(YYMARKER = ++YYCURSOR);
6300
7.73k
    if (yych == 'A') goto yy570;
6301
6.67k
    if (yych == 'a') goto yy570;
6302
866
    goto yy48;
6303
27.0k
yy470:
6304
27.0k
    YYDEBUG(470, *YYCURSOR);
6305
27.0k
    yyaccept = 34;
6306
27.0k
    yych = *(YYMARKER = ++YYCURSOR);
6307
27.0k
    if (yybm[256+yych] & 128) {
6308
7.92k
      goto yy47;
6309
7.92k
    }
6310
19.0k
    if (yych == '\\') goto yy164;
6311
19.0k
yy471:
6312
19.0k
    YYDEBUG(471, *YYCURSOR);
6313
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6314
19.0k
#line 1817 "Zend/zend_language_scanner.l"
6315
19.0k
    {
6316
19.0k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6317
19.0k
}
6318
0
#line 6319 "Zend/zend_language_scanner.c"
6319
3.57k
yy472:
6320
3.57k
    YYDEBUG(472, *YYCURSOR);
6321
3.57k
    yyaccept = 35;
6322
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
6323
3.57k
    if (yybm[256+yych] & 128) {
6324
339
      goto yy47;
6325
339
    }
6326
3.23k
    if (yych == '\\') goto yy164;
6327
3.23k
yy473:
6328
3.23k
    YYDEBUG(473, *YYCURSOR);
6329
3.23k
    yyleng = YYCURSOR - SCNG(yy_text);
6330
3.23k
#line 1533 "Zend/zend_language_scanner.l"
6331
3.23k
    {
6332
3.23k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6333
3.23k
}
6334
0
#line 6335 "Zend/zend_language_scanner.c"
6335
5.07k
yy474:
6336
5.07k
    YYDEBUG(474, *YYCURSOR);
6337
5.07k
    yyaccept = 4;
6338
5.07k
    yych = *(YYMARKER = ++YYCURSOR);
6339
5.07k
    if (yych == 'B') goto yy571;
6340
3.65k
    if (yych == 'b') goto yy571;
6341
526
    goto yy48;
6342
34.3k
yy475:
6343
34.3k
    YYDEBUG(475, *YYCURSOR);
6344
34.3k
    yyaccept = 36;
6345
34.3k
    yych = *(YYMARKER = ++YYCURSOR);
6346
34.3k
    if (yybm[256+yych] & 128) {
6347
681
      goto yy47;
6348
681
    }
6349
33.6k
    if (yych == '\\') goto yy164;
6350
33.4k
yy476:
6351
33.4k
    YYDEBUG(476, *YYCURSOR);
6352
33.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6353
33.4k
#line 1441 "Zend/zend_language_scanner.l"
6354
33.4k
    {
6355
33.4k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6356
33.4k
}
6357
0
#line 6358 "Zend/zend_language_scanner.c"
6358
80.1k
yy477:
6359
80.1k
    YYDEBUG(477, *YYCURSOR);
6360
80.1k
    yyaccept = 37;
6361
80.1k
    yych = *(YYMARKER = ++YYCURSOR);
6362
80.1k
    if (yybm[256+yych] & 128) {
6363
12.1k
      goto yy47;
6364
12.1k
    }
6365
68.0k
    if (yych == '\\') goto yy164;
6366
68.0k
yy478:
6367
68.0k
    YYDEBUG(478, *YYCURSOR);
6368
68.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6369
68.0k
#line 1553 "Zend/zend_language_scanner.l"
6370
68.0k
    {
6371
68.0k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6372
68.0k
}
6373
0
#line 6374 "Zend/zend_language_scanner.c"
6374
4.88k
yy479:
6375
4.88k
    YYDEBUG(479, *YYCURSOR);
6376
4.88k
    yyaccept = 38;
6377
4.88k
    yych = *(YYMARKER = ++YYCURSOR);
6378
4.88k
    if (yybm[256+yych] & 128) {
6379
631
      goto yy47;
6380
631
    }
6381
4.25k
    if (yych == '\\') goto yy164;
6382
4.20k
yy480:
6383
4.20k
    YYDEBUG(480, *YYCURSOR);
6384
4.20k
    yyleng = YYCURSOR - SCNG(yy_text);
6385
4.20k
#line 1629 "Zend/zend_language_scanner.l"
6386
4.20k
    {
6387
4.20k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6388
4.20k
}
6389
0
#line 6390 "Zend/zend_language_scanner.c"
6390
43.5k
yy481:
6391
43.5k
    YYDEBUG(481, *YYCURSOR);
6392
43.5k
    yyaccept = 39;
6393
43.5k
    yych = *(YYMARKER = ++YYCURSOR);
6394
43.5k
    if (yybm[256+yych] & 128) {
6395
4.87k
      goto yy47;
6396
4.87k
    }
6397
38.7k
    if (yych == '\\') goto yy164;
6398
38.4k
yy482:
6399
38.4k
    YYDEBUG(482, *YYCURSOR);
6400
38.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6401
38.4k
#line 1414 "Zend/zend_language_scanner.l"
6402
38.4k
    {
6403
38.4k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6404
38.4k
}
6405
0
#line 6406 "Zend/zend_language_scanner.c"
6406
6.77k
yy483:
6407
6.77k
    YYDEBUG(483, *YYCURSOR);
6408
6.77k
    yyaccept = 4;
6409
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
6410
6.77k
    if (yych == 'N') goto yy572;
6411
4.97k
    if (yych == 'n') goto yy572;
6412
893
    goto yy48;
6413
8.64k
yy484:
6414
8.64k
    YYDEBUG(484, *YYCURSOR);
6415
8.64k
    yyaccept = 4;
6416
8.64k
    yych = *(YYMARKER = ++YYCURSOR);
6417
8.64k
    if (yych == 'R') goto yy573;
6418
8.39k
    if (yych == 'r') goto yy573;
6419
960
    goto yy48;
6420
4.06k
yy485:
6421
4.06k
    YYDEBUG(485, *YYCURSOR);
6422
4.06k
    yyaccept = 4;
6423
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
6424
4.06k
    if (yych == 'L') goto yy574;
6425
3.56k
    if (yych == 'l') goto yy574;
6426
645
    goto yy48;
6427
4.89k
yy486:
6428
4.89k
    YYDEBUG(486, *YYCURSOR);
6429
4.89k
    yyaccept = 4;
6430
4.89k
    yych = *(YYMARKER = ++YYCURSOR);
6431
4.89k
    if (yych == 'F') goto yy575;
6432
4.52k
    if (yych == 'f') goto yy575;
6433
1.08k
    goto yy48;
6434
4.45k
yy487:
6435
4.45k
    YYDEBUG(487, *YYCURSOR);
6436
4.45k
    yyaccept = 40;
6437
4.45k
    yych = *(YYMARKER = ++YYCURSOR);
6438
4.45k
    if (yybm[256+yych] & 128) {
6439
766
      goto yy47;
6440
766
    }
6441
3.68k
    if (yych == '\\') goto yy164;
6442
3.68k
yy488:
6443
3.68k
    YYDEBUG(488, *YYCURSOR);
6444
3.68k
    yyleng = YYCURSOR - SCNG(yy_text);
6445
3.68k
#line 1757 "Zend/zend_language_scanner.l"
6446
3.68k
    {
6447
3.68k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6448
3.68k
}
6449
0
#line 6450 "Zend/zend_language_scanner.c"
6450
4.36k
yy489:
6451
4.36k
    YYDEBUG(489, *YYCURSOR);
6452
4.36k
    yyaccept = 4;
6453
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
6454
4.36k
    if (yych == 'C') goto yy577;
6455
3.81k
    if (yych == 'c') goto yy577;
6456
467
    goto yy48;
6457
10.5k
yy490:
6458
10.5k
    YYDEBUG(490, *YYCURSOR);
6459
10.5k
    yyaccept = 4;
6460
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6461
10.5k
    if (yych == 'R') goto yy578;
6462
7.47k
    if (yych == 'r') goto yy578;
6463
347
    goto yy48;
6464
5.82k
yy491:
6465
5.82k
    YYDEBUG(491, *YYCURSOR);
6466
5.82k
    yyaccept = 41;
6467
5.82k
    yych = *(YYMARKER = ++YYCURSOR);
6468
5.82k
    if (yybm[256+yych] & 128) {
6469
695
      goto yy47;
6470
695
    }
6471
5.13k
    if (yych == '\\') goto yy164;
6472
5.10k
yy492:
6473
5.10k
    YYDEBUG(492, *YYCURSOR);
6474
5.10k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
5.10k
#line 1461 "Zend/zend_language_scanner.l"
6476
5.10k
    {
6477
5.10k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6478
5.10k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
3.87k
yy493:
6481
3.87k
    YYDEBUG(493, *YYCURSOR);
6482
3.87k
    yyaccept = 4;
6483
3.87k
    yych = *(YYMARKER = ++YYCURSOR);
6484
3.87k
    if (yych == 'I') goto yy580;
6485
2.17k
    if (yych == 'i') goto yy580;
6486
171
    goto yy48;
6487
6.55k
yy494:
6488
6.55k
    YYDEBUG(494, *YYCURSOR);
6489
6.55k
    yyaccept = 4;
6490
6.55k
    yych = *(YYMARKER = ++YYCURSOR);
6491
6.55k
    if (yych == 'I') goto yy581;
6492
4.18k
    if (yych == 'i') goto yy581;
6493
373
    goto yy48;
6494
752k
yy495:
6495
752k
    YYDEBUG(495, *YYCURSOR);
6496
752k
    ++YYCURSOR;
6497
752k
    YYFILL(10);
6498
752k
    yych = *YYCURSOR;
6499
752k
    YYDEBUG(496, *YYCURSOR);
6500
752k
    if (yych <= 'E') {
6501
710k
      if (yych <= ' ') {
6502
62.3k
        if (yych <= '\f') {
6503
18.5k
          if (yych <= 0x08) goto yy86;
6504
15.1k
          if (yych <= '\n') goto yy495;
6505
1.87k
          goto yy86;
6506
43.8k
        } else {
6507
43.8k
          if (yych <= '\r') goto yy495;
6508
7.94k
          if (yych <= 0x1F) goto yy86;
6509
6.51k
          goto yy495;
6510
7.94k
        }
6511
647k
      } else {
6512
647k
        if (yych <= '.') {
6513
631k
          if (yych != '#') goto yy86;
6514
631k
        } else {
6515
16.3k
          if (yych <= '/') goto yy498;
6516
4.93k
          if (yych <= '@') goto yy86;
6517
1.67k
          if (yych <= 'D') goto yy582;
6518
733
          goto yy584;
6519
1.67k
        }
6520
647k
      }
6521
710k
    } else {
6522
42.3k
      if (yych <= '`') {
6523
9.94k
        if (yych <= 'Z') {
6524
6.29k
          if (yych == 'I') goto yy585;
6525
3.84k
          goto yy582;
6526
6.29k
        } else {
6527
3.65k
          if (yych == '_') goto yy582;
6528
419
          goto yy86;
6529
3.65k
        }
6530
32.4k
      } else {
6531
32.4k
        if (yych <= 'h') {
6532
13.1k
          if (yych == 'e') goto yy584;
6533
4.02k
          goto yy582;
6534
19.2k
        } else {
6535
19.2k
          if (yych <= 'i') goto yy585;
6536
13.8k
          if (yych <= 'z') goto yy582;
6537
9.13k
          if (yych <= 0x7F) goto yy86;
6538
7.56k
          goto yy582;
6539
9.13k
        }
6540
32.4k
      }
6541
42.3k
    }
6542
625k
yy497:
6543
625k
    YYDEBUG(497, *YYCURSOR);
6544
625k
    ++YYCURSOR;
6545
625k
    YYFILL(1);
6546
625k
    yych = *YYCURSOR;
6547
625k
    if (yych <= '\f') {
6548
456k
      if (yych <= 0x00) goto yy86;
6549
456k
      if (yych == '\n') goto yy588;
6550
12.9k
      goto yy586;
6551
456k
    } else {
6552
168k
      if (yych <= '\r') goto yy588;
6553
72.3k
      if (yych == '[') goto yy86;
6554
72.0k
      goto yy586;
6555
72.3k
    }
6556
11.9k
yy498:
6557
11.9k
    YYDEBUG(498, *YYCURSOR);
6558
11.9k
    ++YYCURSOR;
6559
11.9k
    YYFILL(1);
6560
11.9k
    yych = *YYCURSOR;
6561
11.9k
    if (yych == '*') goto yy590;
6562
2.81k
    if (yych == '/') goto yy586;
6563
1.71k
    goto yy86;
6564
18.6k
yy499:
6565
18.6k
    YYDEBUG(499, *YYCURSOR);
6566
18.6k
    yyaccept = 4;
6567
18.6k
    yych = *(YYMARKER = ++YYCURSOR);
6568
18.6k
    if (yych == 'D') goto yy592;
6569
17.7k
    if (yych == 'd') goto yy592;
6570
2.17k
    goto yy48;
6571
13.5k
yy500:
6572
13.5k
    YYDEBUG(500, *YYCURSOR);
6573
13.5k
    yyaccept = 42;
6574
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
6575
13.5k
    if (yych <= '\\') {
6576
6.62k
      if (yych <= 'K') {
6577
5.28k
        if (yych <= '/') goto yy501;
6578
2.17k
        if (yych <= '9') goto yy47;
6579
1.54k
        if (yych >= 'A') goto yy47;
6580
1.54k
      } else {
6581
1.34k
        if (yych <= 'L') goto yy593;
6582
897
        if (yych <= 'Z') goto yy47;
6583
696
        if (yych >= '\\') goto yy164;
6584
696
      }
6585
6.94k
    } else {
6586
6.94k
      if (yych <= 'k') {
6587
1.22k
        if (yych == '_') goto yy47;
6588
594
        if (yych >= 'a') goto yy47;
6589
5.71k
      } else {
6590
5.71k
        if (yych <= 'l') goto yy593;
6591
1.79k
        if (yych <= 'z') goto yy47;
6592
853
        if (yych >= 0x80) goto yy47;
6593
853
      }
6594
6.94k
    }
6595
5.62k
yy501:
6596
5.62k
    YYDEBUG(501, *YYCURSOR);
6597
5.62k
    yyleng = YYCURSOR - SCNG(yy_text);
6598
5.62k
#line 1773 "Zend/zend_language_scanner.l"
6599
5.62k
    {
6600
5.62k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6601
5.62k
}
6602
0
#line 6603 "Zend/zend_language_scanner.c"
6603
24.8k
yy502:
6604
24.8k
    YYDEBUG(502, *YYCURSOR);
6605
24.8k
    yyaccept = 4;
6606
24.8k
    yych = *(YYMARKER = ++YYCURSOR);
6607
24.8k
    if (yych == 'C') goto yy594;
6608
24.2k
    if (yych == 'c') goto yy594;
6609
744
    goto yy48;
6610
98.8k
yy503:
6611
98.8k
    YYDEBUG(503, *YYCURSOR);
6612
98.8k
    yyaccept = 4;
6613
98.8k
    yych = *(YYMARKER = ++YYCURSOR);
6614
98.8k
    if (yych == 'I') goto yy595;
6615
97.7k
    if (yych == 'i') goto yy595;
6616
1.32k
    goto yy48;
6617
6.34k
yy504:
6618
6.34k
    YYDEBUG(504, *YYCURSOR);
6619
6.34k
    yyaccept = 4;
6620
6.34k
    yych = *(YYMARKER = ++YYCURSOR);
6621
6.34k
    if (yych == 'L') goto yy596;
6622
3.76k
    if (yych == 'l') goto yy596;
6623
568
    goto yy48;
6624
21.1k
yy505:
6625
21.1k
    YYDEBUG(505, *YYCURSOR);
6626
21.1k
    yyaccept = 4;
6627
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
6628
21.1k
    if (yych == 'M') goto yy598;
6629
19.6k
    if (yych == 'm') goto yy598;
6630
7.49k
    goto yy48;
6631
13.2k
yy506:
6632
13.2k
    YYDEBUG(506, *YYCURSOR);
6633
13.2k
    yyaccept = 4;
6634
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
6635
13.2k
    if (yych == 'D') goto yy599;
6636
11.5k
    if (yych == 'd') goto yy599;
6637
1.04k
    goto yy48;
6638
5.46k
yy507:
6639
5.46k
    YYDEBUG(507, *YYCURSOR);
6640
5.46k
    yyaccept = 4;
6641
5.46k
    yych = *(YYMARKER = ++YYCURSOR);
6642
5.46k
    if (yych == 'N') goto yy600;
6643
4.54k
    if (yych == 'n') goto yy600;
6644
289
    goto yy48;
6645
8.47k
yy508:
6646
8.47k
    YYDEBUG(508, *YYCURSOR);
6647
8.47k
    yyaccept = 4;
6648
8.47k
    yych = *(YYMARKER = ++YYCURSOR);
6649
8.47k
    if (yych == 'A') goto yy601;
6650
7.88k
    if (yych == 'a') goto yy601;
6651
1.84k
    goto yy48;
6652
9.49k
yy509:
6653
9.49k
    YYDEBUG(509, *YYCURSOR);
6654
9.49k
    yyaccept = 4;
6655
9.49k
    yych = *(YYMARKER = ++YYCURSOR);
6656
9.49k
    if (yych == 'F') goto yy602;
6657
8.74k
    if (yych == 'f') goto yy602;
6658
1.60k
    goto yy48;
6659
14.4k
yy510:
6660
14.4k
    YYDEBUG(510, *YYCURSOR);
6661
14.4k
    yyaccept = 43;
6662
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
6663
14.4k
    if (yybm[256+yych] & 128) {
6664
4.40k
      goto yy47;
6665
4.40k
    }
6666
10.0k
    if (yych == '\\') goto yy164;
6667
9.97k
yy511:
6668
9.97k
    YYDEBUG(511, *YYCURSOR);
6669
9.97k
    yyleng = YYCURSOR - SCNG(yy_text);
6670
9.97k
#line 1753 "Zend/zend_language_scanner.l"
6671
9.97k
    {
6672
9.97k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6673
9.97k
}
6674
0
#line 6675 "Zend/zend_language_scanner.c"
6675
4.52k
yy512:
6676
4.52k
    YYDEBUG(512, *YYCURSOR);
6677
4.52k
    yyaccept = 44;
6678
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
6679
4.52k
    if (yybm[256+yych] & 128) {
6680
398
      goto yy47;
6681
398
    }
6682
4.12k
    if (yych == '\\') goto yy164;
6683
4.12k
yy513:
6684
4.12k
    YYDEBUG(513, *YYCURSOR);
6685
4.12k
    yyleng = YYCURSOR - SCNG(yy_text);
6686
4.12k
#line 1517 "Zend/zend_language_scanner.l"
6687
4.12k
    {
6688
4.12k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6689
4.12k
}
6690
0
#line 6691 "Zend/zend_language_scanner.c"
6691
21.9k
yy514:
6692
21.9k
    YYDEBUG(514, *YYCURSOR);
6693
21.9k
    yyaccept = 4;
6694
21.9k
    yych = *(YYMARKER = ++YYCURSOR);
6695
21.9k
    if (yych == 'P') goto yy603;
6696
19.2k
    if (yych == 'p') goto yy603;
6697
802
    goto yy48;
6698
15.4k
yy515:
6699
15.4k
    YYDEBUG(515, *YYCURSOR);
6700
15.4k
    yyaccept = 45;
6701
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
6702
15.4k
    if (yybm[256+yych] & 128) {
6703
8.45k
      goto yy47;
6704
8.45k
    }
6705
7.01k
    if (yych == '\\') goto yy164;
6706
7.00k
yy516:
6707
7.00k
    YYDEBUG(516, *YYCURSOR);
6708
7.00k
    yyleng = YYCURSOR - SCNG(yy_text);
6709
7.00k
#line 1549 "Zend/zend_language_scanner.l"
6710
7.00k
    {
6711
7.00k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6712
7.00k
}
6713
0
#line 6714 "Zend/zend_language_scanner.c"
6714
12.7k
yy517:
6715
12.7k
    YYDEBUG(517, *YYCURSOR);
6716
12.7k
    yyaccept = 4;
6717
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
6718
12.7k
    if (yych == 'T') goto yy604;
6719
11.1k
    if (yych == 't') goto yy604;
6720
676
    goto yy48;
6721
13.5k
yy518:
6722
13.5k
    YYDEBUG(518, *YYCURSOR);
6723
13.5k
    yyaccept = 4;
6724
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
6725
13.5k
    if (yych == 'C') goto yy605;
6726
12.1k
    if (yych == 'c') goto yy605;
6727
1.18k
    goto yy48;
6728
63.5k
yy519:
6729
63.5k
    YYDEBUG(519, *YYCURSOR);
6730
63.5k
    yyaccept = 4;
6731
63.5k
    yych = *(YYMARKER = ++YYCURSOR);
6732
63.5k
    if (yych == 'C') goto yy606;
6733
61.2k
    if (yych == 'c') goto yy606;
6734
2.42k
    goto yy48;
6735
6.26k
yy520:
6736
6.26k
    YYDEBUG(520, *YYCURSOR);
6737
6.26k
    yyaccept = 4;
6738
6.26k
    yych = *(YYMARKER = ++YYCURSOR);
6739
6.26k
    if (yych == 'N') goto yy608;
6740
5.86k
    if (yych == 'n') goto yy608;
6741
573
    goto yy48;
6742
21.5k
yy521:
6743
21.5k
    YYDEBUG(521, *YYCURSOR);
6744
21.5k
    yyaccept = 4;
6745
21.5k
    yych = *(YYMARKER = ++YYCURSOR);
6746
21.5k
    if (yych == 'R') goto yy609;
6747
19.8k
    if (yych == 'r') goto yy609;
6748
1.72k
    goto yy48;
6749
25.2k
yy522:
6750
25.2k
    YYDEBUG(522, *YYCURSOR);
6751
25.2k
    yyaccept = 4;
6752
25.2k
    yych = *(YYMARKER = ++YYCURSOR);
6753
25.2k
    if (yych == 'N') goto yy610;
6754
24.4k
    if (yych == 'n') goto yy610;
6755
628
    goto yy48;
6756
17.9k
yy523:
6757
17.9k
    YYDEBUG(523, *YYCURSOR);
6758
17.9k
    yyaccept = 4;
6759
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
6760
17.9k
    if (yych == 'C') goto yy612;
6761
17.4k
    if (yych == 'c') goto yy612;
6762
1.06k
    goto yy48;
6763
6.63k
yy524:
6764
6.63k
    YYDEBUG(524, *YYCURSOR);
6765
6.63k
    yyaccept = 4;
6766
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
6767
6.63k
    if (yych == 'H') goto yy614;
6768
5.94k
    if (yych == 'h') goto yy614;
6769
1.41k
    goto yy48;
6770
11.3k
yy525:
6771
11.3k
    YYDEBUG(525, *YYCURSOR);
6772
11.3k
    yyaccept = 46;
6773
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
6774
11.3k
    if (yybm[256+yych] & 128) {
6775
3.23k
      goto yy47;
6776
3.23k
    }
6777
8.07k
    if (yych == '\\') goto yy164;
6778
8.07k
yy526:
6779
8.07k
    YYDEBUG(526, *YYCURSOR);
6780
8.07k
    yyleng = YYCURSOR - SCNG(yy_text);
6781
8.07k
#line 1449 "Zend/zend_language_scanner.l"
6782
8.07k
    {
6783
8.07k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6784
8.07k
}
6785
0
#line 6786 "Zend/zend_language_scanner.c"
6786
8.77k
yy527:
6787
8.77k
    YYDEBUG(527, *YYCURSOR);
6788
8.77k
    yyaccept = 47;
6789
8.77k
    yych = *(YYMARKER = ++YYCURSOR);
6790
8.77k
    if (yybm[256+yych] & 128) {
6791
2.17k
      goto yy47;
6792
2.17k
    }
6793
6.60k
    if (yych == '\\') goto yy164;
6794
6.59k
yy528:
6795
6.59k
    YYDEBUG(528, *YYCURSOR);
6796
6.59k
    yyleng = YYCURSOR - SCNG(yy_text);
6797
6.59k
#line 1561 "Zend/zend_language_scanner.l"
6798
6.59k
    {
6799
6.59k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6800
6.59k
}
6801
0
#line 6802 "Zend/zend_language_scanner.c"
6802
10.4k
yy529:
6803
10.4k
    YYDEBUG(529, *YYCURSOR);
6804
10.4k
    yyaccept = 48;
6805
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
6806
10.4k
    if (yybm[256+yych] & 128) {
6807
1.08k
      goto yy47;
6808
1.08k
    }
6809
9.32k
    if (yych == '\\') goto yy164;
6810
9.32k
yy530:
6811
9.32k
    YYDEBUG(530, *YYCURSOR);
6812
9.32k
    yyleng = YYCURSOR - SCNG(yy_text);
6813
9.32k
#line 1805 "Zend/zend_language_scanner.l"
6814
9.32k
    {
6815
9.32k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6816
9.32k
}
6817
0
#line 6818 "Zend/zend_language_scanner.c"
6818
4.09k
yy531:
6819
4.09k
    YYDEBUG(531, *YYCURSOR);
6820
4.09k
    yyaccept = 49;
6821
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
6822
4.09k
    if (yybm[256+yych] & 128) {
6823
459
      goto yy47;
6824
459
    }
6825
3.63k
    if (yych == '\\') goto yy164;
6826
3.59k
yy532:
6827
3.59k
    YYDEBUG(532, *YYCURSOR);
6828
3.59k
    yyleng = YYCURSOR - SCNG(yy_text);
6829
3.59k
#line 1469 "Zend/zend_language_scanner.l"
6830
3.59k
    {
6831
3.59k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6832
3.59k
}
6833
0
#line 6834 "Zend/zend_language_scanner.c"
6834
82.0k
yy533:
6835
82.0k
    YYDEBUG(533, *YYCURSOR);
6836
82.0k
    yyaccept = 50;
6837
82.0k
    yych = *(YYMARKER = ++YYCURSOR);
6838
82.0k
    if (yybm[256+yych] & 128) {
6839
1.96k
      goto yy47;
6840
1.96k
    }
6841
80.0k
    if (yych <= ' ') {
6842
40.0k
      if (yych <= '\f') {
6843
26.7k
        if (yych <= 0x08) goto yy534;
6844
25.9k
        if (yych <= '\n') goto yy616;
6845
25.9k
      } else {
6846
13.2k
        if (yych <= '\r') goto yy616;
6847
12.1k
        if (yych >= ' ') goto yy616;
6848
12.1k
      }
6849
40.0k
    } else {
6850
40.0k
      if (yych <= '.') {
6851
37.7k
        if (yych == '#') goto yy618;
6852
37.7k
      } else {
6853
2.25k
        if (yych <= '/') goto yy619;
6854
1.92k
        if (yych == '\\') goto yy164;
6855
1.92k
      }
6856
40.0k
    }
6857
58.3k
yy534:
6858
58.3k
    YYDEBUG(534, *YYCURSOR);
6859
58.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
58.3k
#line 1433 "Zend/zend_language_scanner.l"
6861
58.3k
    {
6862
58.3k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6863
58.3k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
8.30k
yy535:
6866
8.30k
    YYDEBUG(535, *YYCURSOR);
6867
8.30k
    yyaccept = 4;
6868
8.30k
    yych = *(YYMARKER = ++YYCURSOR);
6869
8.30k
    if (yych == 'S') goto yy620;
6870
6.81k
    if (yych == 's') goto yy620;
6871
854
    goto yy48;
6872
4.57k
yy536:
6873
4.57k
    YYDEBUG(536, *YYCURSOR);
6874
4.57k
    yyaccept = 4;
6875
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
6876
4.57k
    if (yych == '_') goto yy621;
6877
1.18k
    goto yy48;
6878
10.8k
yy537:
6879
10.8k
    YYDEBUG(537, *YYCURSOR);
6880
10.8k
    yyaccept = 4;
6881
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
6882
10.8k
    if (yych == 'E') goto yy622;
6883
4.07k
    if (yych == 'e') goto yy622;
6884
919
    goto yy48;
6885
12.3k
yy538:
6886
12.3k
    YYDEBUG(538, *YYCURSOR);
6887
12.3k
    yyaccept = 4;
6888
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
6889
12.3k
    if (yych == 'C') goto yy623;
6890
9.26k
    if (yych == 'c') goto yy623;
6891
908
    goto yy48;
6892
6.48k
yy539:
6893
6.48k
    YYDEBUG(539, *YYCURSOR);
6894
6.48k
    yyaccept = 4;
6895
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
6896
6.48k
    if (yych == 'T') goto yy624;
6897
5.15k
    if (yych == 't') goto yy624;
6898
582
    goto yy48;
6899
2.92k
yy540:
6900
2.92k
    YYDEBUG(540, *YYCURSOR);
6901
2.92k
    yyaccept = 4;
6902
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
6903
2.92k
    if (yych == 'E') goto yy625;
6904
1.48k
    if (yych == 'e') goto yy625;
6905
299
    goto yy48;
6906
13.1k
yy541:
6907
13.1k
    YYDEBUG(541, *YYCURSOR);
6908
13.1k
    yyaccept = 4;
6909
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
6910
13.1k
    if (yych == 'H') goto yy626;
6911
6.36k
    if (yych == 'h') goto yy626;
6912
944
    goto yy48;
6913
9.37k
yy542:
6914
9.37k
    YYDEBUG(542, *YYCURSOR);
6915
9.37k
    yyaccept = 4;
6916
9.37k
    yych = *(YYMARKER = ++YYCURSOR);
6917
9.37k
    if (yych == 'E') goto yy627;
6918
6.55k
    if (yych == 'e') goto yy627;
6919
984
    goto yy48;
6920
5.40k
yy543:
6921
5.40k
    YYDEBUG(543, *YYCURSOR);
6922
5.40k
    yyaccept = 4;
6923
5.40k
    yych = *(YYMARKER = ++YYCURSOR);
6924
5.40k
    if (yych == 'P') goto yy628;
6925
1.13k
    if (yych == 'p') goto yy628;
6926
624
    goto yy48;
6927
5.99k
yy544:
6928
5.99k
    YYDEBUG(544, *YYCURSOR);
6929
5.99k
    yyaccept = 4;
6930
5.99k
    yych = *(YYMARKER = ++YYCURSOR);
6931
5.99k
    if (yych == 'I') goto yy629;
6932
4.85k
    if (yych == 'i') goto yy629;
6933
736
    goto yy48;
6934
110k
yy545:
6935
110k
    YYDEBUG(545, *YYCURSOR);
6936
110k
    ++YYCURSOR;
6937
110k
    YYFILL(1);
6938
110k
    yych = *YYCURSOR;
6939
110k
    YYDEBUG(546, *YYCURSOR);
6940
110k
    if (yybm[0+yych] & 64) {
6941
850
      goto yy355;
6942
850
    }
6943
109k
    if (yych <= ' ') {
6944
18.1k
      if (yych <= '\n') {
6945
6.05k
        if (yych <= 0x00) goto yy86;
6946
4.64k
        if (yych <= 0x08) goto yy230;
6947
4.20k
        goto yy545;
6948
12.0k
      } else {
6949
12.0k
        if (yych == '\r') goto yy545;
6950
3.33k
        if (yych <= 0x1F) goto yy230;
6951
3.07k
        goto yy545;
6952
3.33k
      }
6953
91.6k
    } else {
6954
91.6k
      if (yych <= '$') {
6955
68.2k
        if (yych <= '"') goto yy230;
6956
67.8k
        if (yych <= '#') goto yy630;
6957
2.80k
        goto yy631;
6958
67.8k
      } else {
6959
23.4k
        if (yych <= '-') goto yy230;
6960
20.4k
        if (yych <= '.') goto yy632;
6961
18.6k
        if (yych <= '/') goto yy633;
6962
4.88k
        goto yy230;
6963
18.6k
      }
6964
91.6k
    }
6965
19.3k
yy547:
6966
19.3k
    YYDEBUG(547, *YYCURSOR);
6967
19.3k
    ++YYCURSOR;
6968
19.3k
    YYFILL(1);
6969
19.3k
    yych = *YYCURSOR;
6970
19.3k
    YYDEBUG(548, *YYCURSOR);
6971
19.3k
    if (yych <= '\r') {
6972
3.94k
      if (yych <= '\t') {
6973
1.65k
        if (yych <= 0x00) goto yy86;
6974
1.35k
        goto yy443;
6975
2.28k
      } else {
6976
2.28k
        if (yych <= '\n') goto yy545;
6977
1.71k
        if (yych <= '\f') goto yy443;
6978
1.49k
        goto yy545;
6979
1.71k
      }
6980
15.4k
    } else {
6981
15.4k
      if (yych <= '*') {
6982
6.44k
        if (yych <= ')') goto yy443;
6983
380
        goto yy547;
6984
9.00k
      } else {
6985
9.00k
        if (yych == '/') goto yy227;
6986
2.70k
        goto yy443;
6987
9.00k
      }
6988
15.4k
    }
6989
13.3k
yy549:
6990
13.3k
    YYDEBUG(549, *YYCURSOR);
6991
13.3k
    ++YYCURSOR;
6992
13.3k
    YYFILL(1);
6993
13.3k
    yych = *YYCURSOR;
6994
13.3k
    YYDEBUG(550, *YYCURSOR);
6995
13.3k
    if (yych <= 0x1F) {
6996
852
      if (yych == '\t') goto yy549;
6997
531
      goto yy86;
6998
12.4k
    } else {
6999
12.4k
      if (yych <= ' ') goto yy549;
7000
8.81k
      if (yych == ')') goto yy634;
7001
7.43k
      goto yy86;
7002
8.81k
    }
7003
3.89k
yy551:
7004
3.89k
    YYDEBUG(551, *YYCURSOR);
7005
3.89k
    yych = *++YYCURSOR;
7006
3.89k
    if (yych == 'Y') goto yy636;
7007
3.62k
    if (yych == 'y') goto yy636;
7008
612
    goto yy86;
7009
658
yy552:
7010
658
    YYDEBUG(552, *YYCURSOR);
7011
658
    ++YYCURSOR;
7012
658
    YYFILL(1);
7013
658
    yych = *YYCURSOR;
7014
2.38k
yy553:
7015
2.38k
    YYDEBUG(553, *YYCURSOR);
7016
2.38k
    if (yych <= 0x1F) {
7017
798
      if (yych == '\t') goto yy552;
7018
423
      goto yy86;
7019
1.59k
    } else {
7020
1.59k
      if (yych <= ' ') goto yy552;
7021
1.30k
      if (yych != ')') goto yy86;
7022
1.30k
    }
7023
676
    YYDEBUG(554, *YYCURSOR);
7024
676
    ++YYCURSOR;
7025
676
    YYDEBUG(555, *YYCURSOR);
7026
676
    yyleng = YYCURSOR - SCNG(yy_text);
7027
676
#line 1695 "Zend/zend_language_scanner.l"
7028
676
    {
7029
676
  RETURN_TOKEN(T_BOOL_CAST);
7030
676
}
7031
0
#line 7032 "Zend/zend_language_scanner.c"
7032
3.08k
yy556:
7033
3.08k
    YYDEBUG(556, *YYCURSOR);
7034
3.08k
    yych = *++YYCURSOR;
7035
3.08k
    if (yych == 'A') goto yy638;
7036
1.50k
    if (yych == 'a') goto yy638;
7037
430
    goto yy86;
7038
2.53k
yy557:
7039
2.53k
    YYDEBUG(557, *YYCURSOR);
7040
2.53k
    yych = *++YYCURSOR;
7041
2.53k
    if (yych == 'E') goto yy639;
7042
2.00k
    if (yych == 'e') goto yy639;
7043
356
    goto yy86;
7044
2.89k
yy558:
7045
2.89k
    YYDEBUG(558, *YYCURSOR);
7046
2.89k
    ++YYCURSOR;
7047
2.89k
    YYFILL(1);
7048
2.89k
    yych = *YYCURSOR;
7049
2.89k
    YYDEBUG(559, *YYCURSOR);
7050
2.89k
    if (yych <= 0x1F) {
7051
429
      if (yych == '\t') goto yy558;
7052
217
      goto yy86;
7053
2.46k
    } else {
7054
2.46k
      if (yych <= ' ') goto yy558;
7055
2.07k
      if (yych == ')') goto yy641;
7056
624
      goto yy86;
7057
2.07k
    }
7058
4.50k
yy560:
7059
4.50k
    YYDEBUG(560, *YYCURSOR);
7060
4.50k
    yych = *++YYCURSOR;
7061
4.50k
    if (yych == 'E') goto yy643;
7062
4.31k
    if (yych == 'e') goto yy643;
7063
718
    goto yy86;
7064
2.51k
yy561:
7065
2.51k
    YYDEBUG(561, *YYCURSOR);
7066
2.51k
    yych = *++YYCURSOR;
7067
2.51k
    if (yych == 'T') goto yy644;
7068
2.39k
    if (yych == 't') goto yy644;
7069
379
    goto yy86;
7070
379
yy562:
7071
295
    YYDEBUG(562, *YYCURSOR);
7072
295
    ++YYCURSOR;
7073
295
    YYDEBUG(563, *YYCURSOR);
7074
295
    yyleng = YYCURSOR - SCNG(yy_text);
7075
295
#line 1665 "Zend/zend_language_scanner.l"
7076
295
    {
7077
295
  if (PARSER_MODE()) {
7078
10
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7079
10
    RETURN_TOKEN(T_ERROR);
7080
10
  }
7081
285
  RETURN_TOKEN(T_DOUBLE_CAST);
7082
285
}
7083
0
#line 7084 "Zend/zend_language_scanner.c"
7084
11.2k
yy564:
7085
11.2k
    YYDEBUG(564, *YYCURSOR);
7086
11.2k
    yych = *++YYCURSOR;
7087
11.2k
    if (yych == 'G') goto yy646;
7088
10.9k
    if (yych == 'g') goto yy646;
7089
643
    goto yy86;
7090
3.07k
yy565:
7091
3.07k
    YYDEBUG(565, *YYCURSOR);
7092
3.07k
    ++YYCURSOR;
7093
3.07k
    YYFILL(1);
7094
3.07k
    yych = *YYCURSOR;
7095
3.07k
    YYDEBUG(566, *YYCURSOR);
7096
3.07k
    if (yych <= 0x1F) {
7097
639
      if (yych == '\t') goto yy565;
7098
272
      goto yy86;
7099
2.44k
    } else {
7100
2.44k
      if (yych <= ' ') goto yy565;
7101
1.79k
      if (yych == ')') goto yy648;
7102
666
      goto yy86;
7103
1.79k
    }
7104
485
yy567:
7105
485
    YYDEBUG(567, *YYCURSOR);
7106
485
    ++YYCURSOR;
7107
485
    YYDEBUG(568, *YYCURSOR);
7108
485
    yyleng = YYCURSOR - SCNG(yy_text);
7109
485
#line 1713 "Zend/zend_language_scanner.l"
7110
485
    {
7111
485
  RETURN_TOKEN(T_VOID_CAST);
7112
485
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
9.61k
yy569:
7115
9.61k
    YYDEBUG(569, *YYCURSOR);
7116
9.61k
    yych = *++YYCURSOR;
7117
9.61k
    if (yych == '\n') goto yy466;
7118
3.05k
    if (yych == '\r') goto yy468;
7119
1.18k
    goto yy86;
7120
6.86k
yy570:
7121
6.86k
    YYDEBUG(570, *YYCURSOR);
7122
6.86k
    yyaccept = 4;
7123
6.86k
    yych = *(YYMARKER = ++YYCURSOR);
7124
6.86k
    if (yych == 'C') goto yy650;
7125
5.73k
    if (yych == 'c') goto yy650;
7126
233
    goto yy48;
7127
4.54k
yy571:
7128
4.54k
    YYDEBUG(571, *YYCURSOR);
7129
4.54k
    yyaccept = 4;
7130
4.54k
    yych = *(YYMARKER = ++YYCURSOR);
7131
4.54k
    if (yych == 'L') goto yy651;
7132
3.55k
    if (yych == 'l') goto yy651;
7133
637
    goto yy48;
7134
5.88k
yy572:
7135
5.88k
    YYDEBUG(572, *YYCURSOR);
7136
5.88k
    yyaccept = 4;
7137
5.88k
    yych = *(YYMARKER = ++YYCURSOR);
7138
5.88k
    if (yych == 'U') goto yy652;
7139
4.37k
    if (yych == 'u') goto yy652;
7140
552
    goto yy48;
7141
7.68k
yy573:
7142
7.68k
    YYDEBUG(573, *YYCURSOR);
7143
7.68k
    yyaccept = 4;
7144
7.68k
    yych = *(YYMARKER = ++YYCURSOR);
7145
7.68k
    if (yych == 'E') goto yy653;
7146
7.36k
    if (yych == 'e') goto yy653;
7147
439
    goto yy48;
7148
3.42k
yy574:
7149
3.42k
    YYDEBUG(574, *YYCURSOR);
7150
3.42k
    yyaccept = 4;
7151
3.42k
    yych = *(YYMARKER = ++YYCURSOR);
7152
3.42k
    if (yych == 'T') goto yy655;
7153
2.83k
    if (yych == 't') goto yy655;
7154
419
    goto yy48;
7155
3.80k
yy575:
7156
3.80k
    YYDEBUG(575, *YYCURSOR);
7157
3.80k
    yyaccept = 51;
7158
3.80k
    yych = *(YYMARKER = ++YYCURSOR);
7159
3.80k
    if (yybm[256+yych] & 128) {
7160
734
      goto yy47;
7161
734
    }
7162
3.07k
    if (yych == '\\') goto yy164;
7163
2.98k
yy576:
7164
2.98k
    YYDEBUG(576, *YYCURSOR);
7165
2.98k
    yyleng = YYCURSOR - SCNG(yy_text);
7166
2.98k
#line 1457 "Zend/zend_language_scanner.l"
7167
2.98k
    {
7168
2.98k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7169
2.98k
}
7170
0
#line 7171 "Zend/zend_language_scanner.c"
7171
3.89k
yy577:
7172
3.89k
    YYDEBUG(577, *YYCURSOR);
7173
3.89k
    yyaccept = 4;
7174
3.89k
    yych = *(YYMARKER = ++YYCURSOR);
7175
3.89k
    if (yych == 'L') goto yy657;
7176
3.51k
    if (yych == 'l') goto yy657;
7177
404
    goto yy48;
7178
10.1k
yy578:
7179
10.1k
    YYDEBUG(578, *YYCURSOR);
7180
10.1k
    yyaccept = 52;
7181
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
7182
10.1k
    if (yych <= '\\') {
7183
5.54k
      if (yych <= 'D') {
7184
2.65k
        if (yych <= '/') goto yy579;
7185
973
        if (yych <= '9') goto yy47;
7186
740
        if (yych >= 'A') goto yy47;
7187
2.88k
      } else {
7188
2.88k
        if (yych <= 'E') goto yy658;
7189
632
        if (yych <= 'Z') goto yy47;
7190
403
        if (yych >= '\\') goto yy164;
7191
403
      }
7192
5.54k
    } else {
7193
4.64k
      if (yych <= 'd') {
7194
480
        if (yych == '_') goto yy47;
7195
275
        if (yych >= 'a') goto yy47;
7196
4.16k
      } else {
7197
4.16k
        if (yych <= 'e') goto yy658;
7198
1.25k
        if (yych <= 'z') goto yy47;
7199
864
        if (yych >= 0x80) goto yy47;
7200
864
      }
7201
4.64k
    }
7202
3.20k
yy579:
7203
3.20k
    YYDEBUG(579, *YYCURSOR);
7204
3.20k
    yyleng = YYCURSOR - SCNG(yy_text);
7205
3.20k
#line 1485 "Zend/zend_language_scanner.l"
7206
3.20k
    {
7207
3.20k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7208
3.20k
}
7209
0
#line 7210 "Zend/zend_language_scanner.c"
7210
3.69k
yy580:
7211
3.69k
    YYDEBUG(580, *YYCURSOR);
7212
3.69k
    yyaccept = 4;
7213
3.69k
    yych = *(YYMARKER = ++YYCURSOR);
7214
3.69k
    if (yych == 'T') goto yy659;
7215
2.06k
    if (yych == 't') goto yy659;
7216
568
    goto yy48;
7217
6.18k
yy581:
7218
6.18k
    YYDEBUG(581, *YYCURSOR);
7219
6.18k
    yyaccept = 4;
7220
6.18k
    yych = *(YYMARKER = ++YYCURSOR);
7221
6.18k
    if (yych == 'L') goto yy660;
7222
3.74k
    if (yych == 'l') goto yy660;
7223
348
    goto yy48;
7224
24.3k
yy582:
7225
24.3k
    YYDEBUG(582, *YYCURSOR);
7226
24.3k
    ++YYCURSOR;
7227
130k
yy583:
7228
130k
    YYDEBUG(583, *YYCURSOR);
7229
130k
    yyleng = YYCURSOR - SCNG(yy_text);
7230
130k
#line 1573 "Zend/zend_language_scanner.l"
7231
130k
    {
7232
130k
  yyless(4);
7233
130k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7234
130k
}
7235
0
#line 7236 "Zend/zend_language_scanner.c"
7236
9.85k
yy584:
7237
9.85k
    YYDEBUG(584, *YYCURSOR);
7238
9.85k
    yyaccept = 53;
7239
9.85k
    yych = *(YYMARKER = ++YYCURSOR);
7240
9.85k
    if (yych == 'X') goto yy661;
7241
9.36k
    if (yych == 'x') goto yy661;
7242
6.21k
    goto yy583;
7243
7.87k
yy585:
7244
7.87k
    YYDEBUG(585, *YYCURSOR);
7245
7.87k
    yyaccept = 53;
7246
7.87k
    yych = *(YYMARKER = ++YYCURSOR);
7247
7.87k
    if (yych == 'M') goto yy662;
7248
6.71k
    if (yych == 'm') goto yy662;
7249
3.29k
    goto yy583;
7250
3.03M
yy586:
7251
3.03M
    YYDEBUG(586, *YYCURSOR);
7252
3.03M
    ++YYCURSOR;
7253
3.03M
    YYFILL(1);
7254
3.03M
    yych = *YYCURSOR;
7255
3.03M
    YYDEBUG(587, *YYCURSOR);
7256
3.03M
    if (yych <= '\n') {
7257
141k
      if (yych <= 0x00) goto yy86;
7258
127k
      if (yych <= '\t') goto yy586;
7259
91.9k
      goto yy495;
7260
2.89M
    } else {
7261
2.89M
      if (yych == '\r') goto yy495;
7262
2.50M
      goto yy586;
7263
2.89M
    }
7264
602k
yy588:
7265
602k
    YYDEBUG(588, *YYCURSOR);
7266
602k
    ++YYCURSOR;
7267
602k
    YYFILL(1);
7268
602k
    yych = *YYCURSOR;
7269
602k
    YYDEBUG(589, *YYCURSOR);
7270
602k
    if (yych <= 'D') {
7271
235k
      if (yych <= 0x1F) {
7272
34.1k
        if (yych <= '\t') {
7273
6.01k
          if (yych <= 0x00) goto yy86;
7274
5.00k
          if (yych <= 0x08) goto yy586;
7275
1.22k
          goto yy588;
7276
28.1k
        } else {
7277
28.1k
          if (yych <= '\n') goto yy495;
7278
24.9k
          if (yych == '\r') goto yy495;
7279
9.40k
          goto yy586;
7280
24.9k
        }
7281
201k
      } else {
7282
201k
        if (yych <= '#') {
7283
52.7k
          if (yych <= ' ') goto yy588;
7284
40.7k
          if (yych <= '"') goto yy586;
7285
39.0k
          goto yy663;
7286
148k
        } else {
7287
148k
          if (yych == '/') goto yy664;
7288
27.2k
          if (yych <= '@') goto yy586;
7289
411
          goto yy665;
7290
27.2k
        }
7291
201k
      }
7292
367k
    } else {
7293
367k
      if (yych <= '`') {
7294
15.0k
        if (yych <= 'I') {
7295
10.7k
          if (yych <= 'E') goto yy666;
7296
6.25k
          if (yych <= 'H') goto yy665;
7297
5.65k
          goto yy667;
7298
6.25k
        } else {
7299
4.30k
          if (yych <= 'Z') goto yy665;
7300
2.55k
          if (yych == '_') goto yy665;
7301
585
          goto yy586;
7302
2.55k
        }
7303
352k
      } else {
7304
352k
        if (yych <= 'h') {
7305
276k
          if (yych == 'e') goto yy666;
7306
5.49k
          goto yy665;
7307
276k
        } else {
7308
76.1k
          if (yych <= 'i') goto yy667;
7309
35.7k
          if (yych <= 'z') goto yy665;
7310
19.2k
          if (yych <= 0x7F) goto yy586;
7311
7.75k
          goto yy665;
7312
19.2k
        }
7313
352k
      }
7314
367k
    }
7315
2.30M
yy590:
7316
2.30M
    YYDEBUG(590, *YYCURSOR);
7317
2.30M
    ++YYCURSOR;
7318
2.30M
    YYFILL(1);
7319
2.30M
    yych = *YYCURSOR;
7320
2.30M
    YYDEBUG(591, *YYCURSOR);
7321
2.30M
    if (yych <= 0x00) goto yy86;
7322
2.27M
    if (yych == '*') goto yy668;
7323
2.23M
    goto yy590;
7324
2.23M
yy592:
7325
16.5k
    YYDEBUG(592, *YYCURSOR);
7326
16.5k
    yyaccept = 4;
7327
16.5k
    yych = *(YYMARKER = ++YYCURSOR);
7328
16.5k
    if (yych == 'S') goto yy670;
7329
16.0k
    if (yych == 's') goto yy670;
7330
1.77k
    goto yy48;
7331
4.37k
yy593:
7332
4.37k
    YYDEBUG(593, *YYCURSOR);
7333
4.37k
    yyaccept = 4;
7334
4.37k
    yych = *(YYMARKER = ++YYCURSOR);
7335
4.37k
    if (yych == 'Y') goto yy672;
7336
4.13k
    if (yych == 'y') goto yy672;
7337
350
    goto yy48;
7338
24.0k
yy594:
7339
24.0k
    YYDEBUG(594, *YYCURSOR);
7340
24.0k
    yyaccept = 4;
7341
24.0k
    yych = *(YYMARKER = ++YYCURSOR);
7342
24.0k
    if (yych == 'H') goto yy674;
7343
23.6k
    if (yych == 'h') goto yy674;
7344
996
    goto yy48;
7345
97.5k
yy595:
7346
97.5k
    YYDEBUG(595, *YYCURSOR);
7347
97.5k
    yyaccept = 4;
7348
97.5k
    yych = *(YYMARKER = ++YYCURSOR);
7349
97.5k
    if (yych == 'O') goto yy676;
7350
96.1k
    if (yych == 'o') goto yy676;
7351
1.76k
    goto yy48;
7352
5.77k
yy596:
7353
5.77k
    YYDEBUG(596, *YYCURSOR);
7354
5.77k
    yyaccept = 54;
7355
5.77k
    yych = *(YYMARKER = ++YYCURSOR);
7356
5.77k
    if (yybm[256+yych] & 128) {
7357
2.00k
      goto yy47;
7358
2.00k
    }
7359
3.77k
    if (yych == '\\') goto yy164;
7360
3.76k
yy597:
7361
3.76k
    YYDEBUG(597, *YYCURSOR);
7362
3.76k
    yyleng = YYCURSOR - SCNG(yy_text);
7363
3.76k
#line 1749 "Zend/zend_language_scanner.l"
7364
3.76k
    {
7365
3.76k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7366
3.76k
}
7367
0
#line 7368 "Zend/zend_language_scanner.c"
7368
13.6k
yy598:
7369
13.6k
    YYDEBUG(598, *YYCURSOR);
7370
13.6k
    yyaccept = 4;
7371
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
7372
13.6k
    if (yych == 'E') goto yy677;
7373
11.5k
    if (yych == 'e') goto yy677;
7374
3.17k
    goto yy48;
7375
12.2k
yy599:
7376
12.2k
    YYDEBUG(599, *YYCURSOR);
7377
12.2k
    yyaccept = 4;
7378
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
7379
12.2k
    if (yych == 'E') goto yy678;
7380
10.2k
    if (yych == 'e') goto yy678;
7381
1.23k
    goto yy48;
7382
5.17k
yy600:
7383
5.17k
    YYDEBUG(600, *YYCURSOR);
7384
5.17k
    yyaccept = 4;
7385
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
7386
5.17k
    if (yych == 'C') goto yy680;
7387
3.99k
    if (yych == 'c') goto yy680;
7388
777
    goto yy48;
7389
6.62k
yy601:
7390
6.62k
    YYDEBUG(601, *YYCURSOR);
7391
6.62k
    yyaccept = 4;
7392
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
7393
6.62k
    if (yych == 'D') goto yy681;
7394
6.13k
    if (yych == 'd') goto yy681;
7395
273
    goto yy48;
7396
7.88k
yy602:
7397
7.88k
    YYDEBUG(602, *YYCURSOR);
7398
7.88k
    yyaccept = 4;
7399
7.88k
    yych = *(YYMARKER = ++YYCURSOR);
7400
7.88k
    if (yych == 'A') goto yy682;
7401
7.30k
    if (yych == 'a') goto yy682;
7402
748
    goto yy48;
7403
21.1k
yy603:
7404
21.1k
    YYDEBUG(603, *YYCURSOR);
7405
21.1k
    yyaccept = 4;
7406
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
7407
21.1k
    if (yych == 'A') goto yy683;
7408
19.9k
    if (yych == 'a') goto yy683;
7409
877
    goto yy48;
7410
12.0k
yy604:
7411
12.0k
    YYDEBUG(604, *YYCURSOR);
7412
12.0k
    yyaccept = 4;
7413
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
7414
12.0k
    if (yych == 'E') goto yy684;
7415
10.7k
    if (yych == 'e') goto yy684;
7416
699
    goto yy48;
7417
12.4k
yy605:
7418
12.4k
    YYDEBUG(605, *YYCURSOR);
7419
12.4k
    yyaccept = 4;
7420
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
7421
12.4k
    if (yych == 'T') goto yy686;
7422
10.3k
    if (yych == 't') goto yy686;
7423
1.06k
    goto yy48;
7424
61.1k
yy606:
7425
61.1k
    YYDEBUG(606, *YYCURSOR);
7426
61.1k
    yyaccept = 55;
7427
61.1k
    yych = *(YYMARKER = ++YYCURSOR);
7428
61.1k
    if (yybm[256+yych] & 128) {
7429
1.49k
      goto yy47;
7430
1.49k
    }
7431
59.6k
    if (yych == '(') goto yy687;
7432
56.9k
    if (yych == '\\') goto yy164;
7433
58.1k
yy607:
7434
58.1k
    YYDEBUG(607, *YYCURSOR);
7435
58.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7436
58.1k
#line 1797 "Zend/zend_language_scanner.l"
7437
58.1k
    {
7438
58.1k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7439
58.1k
}
7440
0
#line 7441 "Zend/zend_language_scanner.c"
7441
5.69k
yy608:
7442
5.69k
    YYDEBUG(608, *YYCURSOR);
7443
5.69k
    yyaccept = 4;
7444
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
7445
5.69k
    if (yych == 'L') goto yy688;
7446
5.48k
    if (yych == 'l') goto yy688;
7447
1.08k
    goto yy48;
7448
19.7k
yy609:
7449
19.7k
    YYDEBUG(609, *YYCURSOR);
7450
19.7k
    yyaccept = 4;
7451
19.7k
    yych = *(YYMARKER = ++YYCURSOR);
7452
19.7k
    if (yych == 'E') goto yy689;
7453
18.6k
    if (yych == 'e') goto yy689;
7454
629
    goto yy48;
7455
24.6k
yy610:
7456
24.6k
    YYDEBUG(610, *YYCURSOR);
7457
24.6k
    yyaccept = 56;
7458
24.6k
    yych = *(YYMARKER = ++YYCURSOR);
7459
24.6k
    if (yybm[256+yych] & 128) {
7460
1.64k
      goto yy47;
7461
1.64k
    }
7462
23.0k
    if (yych == '\\') goto yy164;
7463
22.9k
yy611:
7464
22.9k
    YYDEBUG(611, *YYCURSOR);
7465
22.9k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
22.9k
#line 1418 "Zend/zend_language_scanner.l"
7467
22.9k
    {
7468
22.9k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7469
22.9k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
16.8k
yy612:
7472
16.8k
    YYDEBUG(612, *YYCURSOR);
7473
16.8k
    yyaccept = 57;
7474
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
7475
16.8k
    if (yybm[256+yych] & 128) {
7476
780
      goto yy47;
7477
780
    }
7478
16.1k
    if (yych == '\\') goto yy164;
7479
16.1k
yy613:
7480
16.1k
    YYDEBUG(613, *YYCURSOR);
7481
16.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7482
16.1k
#line 1765 "Zend/zend_language_scanner.l"
7483
16.1k
    {
7484
16.1k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7485
16.1k
}
7486
0
#line 7487 "Zend/zend_language_scanner.c"
7487
5.21k
yy614:
7488
5.21k
    YYDEBUG(614, *YYCURSOR);
7489
5.21k
    yyaccept = 58;
7490
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
7491
5.21k
    if (yybm[256+yych] & 128) {
7492
483
      goto yy47;
7493
483
    }
7494
4.73k
    if (yych == '\\') goto yy164;
7495
4.69k
yy615:
7496
4.69k
    YYDEBUG(615, *YYCURSOR);
7497
4.69k
    yyleng = YYCURSOR - SCNG(yy_text);
7498
4.69k
#line 1513 "Zend/zend_language_scanner.l"
7499
4.69k
    {
7500
4.69k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7501
4.69k
}
7502
0
#line 7503 "Zend/zend_language_scanner.c"
7503
297k
yy616:
7504
297k
    YYDEBUG(616, *YYCURSOR);
7505
297k
    ++YYCURSOR;
7506
297k
    YYFILL(5);
7507
297k
    yych = *YYCURSOR;
7508
297k
    YYDEBUG(617, *YYCURSOR);
7509
297k
    if (yych <= '"') {
7510
84.2k
      if (yych <= '\f') {
7511
68.1k
        if (yych <= 0x08) goto yy86;
7512
67.0k
        if (yych <= '\n') goto yy616;
7513
608
        goto yy86;
7514
67.0k
      } else {
7515
16.1k
        if (yych <= '\r') goto yy616;
7516
3.59k
        if (yych == ' ') goto yy616;
7517
1.05k
        goto yy86;
7518
3.59k
      }
7519
213k
    } else {
7520
213k
      if (yych <= 'E') {
7521
197k
        if (yych <= '#') goto yy618;
7522
16.8k
        if (yych == '/') goto yy619;
7523
12.9k
        goto yy86;
7524
16.8k
      } else {
7525
16.1k
        if (yych <= 'F') goto yy691;
7526
14.6k
        if (yych == 'f') goto yy691;
7527
6.80k
        goto yy86;
7528
14.6k
      }
7529
213k
    }
7530
216k
yy618:
7531
216k
    YYDEBUG(618, *YYCURSOR);
7532
216k
    ++YYCURSOR;
7533
216k
    YYFILL(1);
7534
216k
    yych = *YYCURSOR;
7535
216k
    if (yych <= '\f') {
7536
65.8k
      if (yych <= 0x00) goto yy86;
7537
65.0k
      if (yych == '\n') goto yy694;
7538
958
      goto yy692;
7539
150k
    } else {
7540
150k
      if (yych <= '\r') goto yy694;
7541
31.3k
      if (yych == '[') goto yy86;
7542
31.0k
      goto yy692;
7543
31.3k
    }
7544
4.56k
yy619:
7545
4.56k
    YYDEBUG(619, *YYCURSOR);
7546
4.56k
    ++YYCURSOR;
7547
4.56k
    YYFILL(1);
7548
4.56k
    yych = *YYCURSOR;
7549
4.56k
    if (yych == '*') goto yy696;
7550
1.74k
    if (yych == '/') goto yy692;
7551
1.27k
    goto yy86;
7552
7.45k
yy620:
7553
7.45k
    YYDEBUG(620, *YYCURSOR);
7554
7.45k
    yyaccept = 4;
7555
7.45k
    yych = *(YYMARKER = ++YYCURSOR);
7556
7.45k
    if (yych == 'S') goto yy698;
7557
6.20k
    if (yych == 's') goto yy698;
7558
884
    goto yy48;
7559
3.39k
yy621:
7560
3.39k
    YYDEBUG(621, *YYCURSOR);
7561
3.39k
    yyaccept = 4;
7562
3.39k
    yych = *(YYMARKER = ++YYCURSOR);
7563
3.39k
    if (yych == '_') goto yy699;
7564
781
    goto yy48;
7565
9.89k
yy622:
7566
9.89k
    YYDEBUG(622, *YYCURSOR);
7567
9.89k
    yyaccept = 4;
7568
9.89k
    yych = *(YYMARKER = ++YYCURSOR);
7569
9.89k
    if (yych == '_') goto yy701;
7570
1.39k
    goto yy48;
7571
11.4k
yy623:
7572
11.4k
    YYDEBUG(623, *YYCURSOR);
7573
11.4k
    yyaccept = 4;
7574
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
7575
11.4k
    if (yych == 'T') goto yy702;
7576
5.22k
    if (yych == 't') goto yy702;
7577
2.49k
    goto yy48;
7578
5.90k
yy624:
7579
5.90k
    YYDEBUG(624, *YYCURSOR);
7580
5.90k
    yyaccept = 4;
7581
5.90k
    yych = *(YYMARKER = ++YYCURSOR);
7582
5.90k
    if (yych == '_') goto yy703;
7583
561
    goto yy48;
7584
2.62k
yy625:
7585
2.62k
    YYDEBUG(625, *YYCURSOR);
7586
2.62k
    yyaccept = 4;
7587
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
7588
2.62k
    if (yych == '_') goto yy704;
7589
312
    goto yy48;
7590
12.2k
yy626:
7591
12.2k
    YYDEBUG(626, *YYCURSOR);
7592
12.2k
    yyaccept = 4;
7593
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
7594
12.2k
    if (yych == 'O') goto yy705;
7595
5.61k
    if (yych == 'o') goto yy705;
7596
995
    goto yy48;
7597
8.39k
yy627:
7598
8.39k
    YYDEBUG(627, *YYCURSOR);
7599
8.39k
    yyaccept = 4;
7600
8.39k
    yych = *(YYMARKER = ++YYCURSOR);
7601
8.39k
    if (yych == 'S') goto yy706;
7602
5.91k
    if (yych == 's') goto yy706;
7603
661
    goto yy48;
7604
4.78k
yy628:
7605
4.78k
    YYDEBUG(628, *YYCURSOR);
7606
4.78k
    yyaccept = 4;
7607
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
7608
4.78k
    if (yych == 'E') goto yy707;
7609
2.05k
    if (yych == 'e') goto yy707;
7610
594
    goto yy48;
7611
5.25k
yy629:
7612
5.25k
    YYDEBUG(629, *YYCURSOR);
7613
5.25k
    yyaccept = 4;
7614
5.25k
    yych = *(YYMARKER = ++YYCURSOR);
7615
5.25k
    if (yych == 'T') goto yy708;
7616
4.09k
    if (yych == 't') goto yy708;
7617
1.20k
    goto yy48;
7618
65.0k
yy630:
7619
65.0k
    YYDEBUG(630, *YYCURSOR);
7620
65.0k
    ++YYCURSOR;
7621
65.0k
    YYFILL(1);
7622
65.0k
    yych = *YYCURSOR;
7623
65.0k
    if (yych <= '\r') {
7624
51.3k
      if (yych <= '\t') {
7625
981
        if (yych <= 0x00) goto yy86;
7626
727
        goto yy443;
7627
50.3k
      } else {
7628
50.3k
        if (yych <= '\n') goto yy709;
7629
22.9k
        if (yych <= '\f') goto yy443;
7630
22.3k
        goto yy709;
7631
22.9k
      }
7632
51.3k
    } else {
7633
13.7k
      if (yych <= '*') {
7634
4.49k
        if (yych <= ')') goto yy443;
7635
1.39k
        goto yy547;
7636
9.23k
      } else {
7637
9.23k
        if (yych == '[') goto yy230;
7638
9.01k
        goto yy443;
7639
9.23k
      }
7640
13.7k
    }
7641
3.00k
yy631:
7642
3.00k
    YYDEBUG(631, *YYCURSOR);
7643
3.00k
    yyaccept = 26;
7644
3.00k
    YYMARKER = ++YYCURSOR;
7645
3.00k
    YYFILL(1);
7646
3.00k
    yych = *YYCURSOR;
7647
3.00k
    if (yybm[0+yych] & 4) {
7648
2.49k
      goto yy230;
7649
2.49k
    }
7650
508
    if (yych <= 0x00) goto yy89;
7651
291
    goto yy355;
7652
1.82k
yy632:
7653
1.82k
    YYDEBUG(632, *YYCURSOR);
7654
1.82k
    ++YYCURSOR;
7655
1.82k
    YYFILL(1);
7656
1.82k
    yych = *YYCURSOR;
7657
1.82k
    if (yybm[0+yych] & 64) {
7658
233
      goto yy355;
7659
233
    }
7660
1.59k
    if (yych <= 0x00) goto yy86;
7661
1.43k
    if (yych == '.') goto yy711;
7662
481
    goto yy230;
7663
13.7k
yy633:
7664
13.7k
    YYDEBUG(633, *YYCURSOR);
7665
13.7k
    ++YYCURSOR;
7666
13.7k
    YYFILL(1);
7667
13.7k
    yych = *YYCURSOR;
7668
13.7k
    if (yych <= '*') {
7669
12.3k
      if (yych <= 0x00) goto yy86;
7670
12.1k
      if (yych <= ')') goto yy230;
7671
11.6k
      goto yy712;
7672
12.1k
    } else {
7673
1.35k
      if (yych == '/') goto yy443;
7674
616
      goto yy230;
7675
1.35k
    }
7676
1.38k
yy634:
7677
1.38k
    YYDEBUG(634, *YYCURSOR);
7678
1.38k
    ++YYCURSOR;
7679
1.38k
    YYDEBUG(635, *YYCURSOR);
7680
1.38k
    yyleng = YYCURSOR - SCNG(yy_text);
7681
1.38k
#line 1687 "Zend/zend_language_scanner.l"
7682
1.38k
    {
7683
1.38k
  RETURN_TOKEN(T_ARRAY_CAST);
7684
1.38k
}
7685
0
#line 7686 "Zend/zend_language_scanner.c"
7686
3.79k
yy636:
7687
3.79k
    YYDEBUG(636, *YYCURSOR);
7688
3.79k
    ++YYCURSOR;
7689
3.79k
    YYFILL(1);
7690
3.79k
    yych = *YYCURSOR;
7691
3.79k
    YYDEBUG(637, *YYCURSOR);
7692
3.79k
    if (yych <= 0x1F) {
7693
594
      if (yych == '\t') goto yy636;
7694
314
      goto yy86;
7695
3.19k
    } else {
7696
3.19k
      if (yych <= ' ') goto yy636;
7697
2.97k
      if (yych == ')') goto yy713;
7698
616
      goto yy86;
7699
2.97k
    }
7700
2.65k
yy638:
7701
2.65k
    YYDEBUG(638, *YYCURSOR);
7702
2.65k
    yych = *++YYCURSOR;
7703
2.65k
    if (yych == 'N') goto yy715;
7704
1.51k
    if (yych == 'n') goto yy715;
7705
467
    goto yy86;
7706
2.59k
yy639:
7707
2.59k
    YYDEBUG(639, *YYCURSOR);
7708
2.59k
    ++YYCURSOR;
7709
2.59k
    YYFILL(1);
7710
2.59k
    yych = *YYCURSOR;
7711
2.59k
    YYDEBUG(640, *YYCURSOR);
7712
2.59k
    if (yych <= 0x1F) {
7713
297
      if (yych == '\t') goto yy639;
7714
221
      goto yy86;
7715
2.30k
    } else {
7716
2.30k
      if (yych <= ' ') goto yy639;
7717
1.95k
      if (yych == ')') goto yy717;
7718
1.16k
      goto yy86;
7719
1.95k
    }
7720
1.45k
yy641:
7721
1.45k
    YYDEBUG(641, *YYCURSOR);
7722
1.45k
    ++YYCURSOR;
7723
1.45k
    YYDEBUG(642, *YYCURSOR);
7724
1.45k
    yyleng = YYCURSOR - SCNG(yy_text);
7725
1.45k
#line 1651 "Zend/zend_language_scanner.l"
7726
1.45k
    {
7727
1.45k
  RETURN_TOKEN(T_DOUBLE_CAST);
7728
1.45k
}
7729
0
#line 7730 "Zend/zend_language_scanner.c"
7730
3.78k
yy643:
7731
3.78k
    YYDEBUG(643, *YYCURSOR);
7732
3.78k
    yych = *++YYCURSOR;
7733
3.78k
    if (yych == 'R') goto yy719;
7734
2.88k
    if (yych == 'r') goto yy719;
7735
1.09k
    goto yy86;
7736
4.05k
yy644:
7737
4.05k
    YYDEBUG(644, *YYCURSOR);
7738
4.05k
    ++YYCURSOR;
7739
4.05k
    YYFILL(1);
7740
4.05k
    yych = *YYCURSOR;
7741
4.05k
    YYDEBUG(645, *YYCURSOR);
7742
4.05k
    if (yych <= 0x1F) {
7743
589
      if (yych == '\t') goto yy644;
7744
321
      goto yy86;
7745
3.46k
    } else {
7746
3.46k
      if (yych <= ' ') goto yy644;
7747
1.81k
      if (yych == ')') goto yy721;
7748
784
      goto yy86;
7749
1.81k
    }
7750
13.0k
yy646:
7751
13.0k
    YYDEBUG(646, *YYCURSOR);
7752
13.0k
    ++YYCURSOR;
7753
13.0k
    YYFILL(1);
7754
13.0k
    yych = *YYCURSOR;
7755
13.0k
    YYDEBUG(647, *YYCURSOR);
7756
13.0k
    if (yych <= 0x1F) {
7757
3.15k
      if (yych == '\t') goto yy646;
7758
2.78k
      goto yy86;
7759
9.91k
    } else {
7760
9.91k
      if (yych <= ' ') goto yy646;
7761
7.81k
      if (yych == ')') goto yy723;
7762
2.92k
      goto yy86;
7763
7.81k
    }
7764
1.12k
yy648:
7765
1.12k
    YYDEBUG(648, *YYCURSOR);
7766
1.12k
    ++YYCURSOR;
7767
1.12k
    YYDEBUG(649, *YYCURSOR);
7768
1.12k
    yyleng = YYCURSOR - SCNG(yy_text);
7769
1.12k
#line 1709 "Zend/zend_language_scanner.l"
7770
1.12k
    {
7771
1.12k
  RETURN_TOKEN(T_UNSET_CAST);
7772
1.12k
}
7773
0
#line 7774 "Zend/zend_language_scanner.c"
7774
6.63k
yy650:
7775
6.63k
    YYDEBUG(650, *YYCURSOR);
7776
6.63k
    yyaccept = 4;
7777
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
7778
6.63k
    if (yych == 'T') goto yy725;
7779
5.67k
    if (yych == 't') goto yy725;
7780
763
    goto yy48;
7781
3.90k
yy651:
7782
3.90k
    YYDEBUG(651, *YYCURSOR);
7783
3.90k
    yyaccept = 4;
7784
3.90k
    yych = *(YYMARKER = ++YYCURSOR);
7785
3.90k
    if (yych == 'E') goto yy727;
7786
3.37k
    if (yych == 'e') goto yy727;
7787
580
    goto yy48;
7788
5.33k
yy652:
7789
5.33k
    YYDEBUG(652, *YYCURSOR);
7790
5.33k
    yyaccept = 4;
7791
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
7792
5.33k
    if (yych == 'E') goto yy729;
7793
4.34k
    if (yych == 'e') goto yy729;
7794
1.13k
    goto yy48;
7795
7.24k
yy653:
7796
7.24k
    YYDEBUG(653, *YYCURSOR);
7797
7.24k
    yyaccept = 59;
7798
7.24k
    yych = *(YYMARKER = ++YYCURSOR);
7799
7.24k
    if (yybm[256+yych] & 128) {
7800
472
      goto yy47;
7801
472
    }
7802
6.77k
    if (yych == '\\') goto yy164;
7803
6.77k
yy654:
7804
6.77k
    YYDEBUG(654, *YYCURSOR);
7805
6.77k
    yyleng = YYCURSOR - SCNG(yy_text);
7806
6.77k
#line 1497 "Zend/zend_language_scanner.l"
7807
6.77k
    {
7808
6.77k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7809
6.77k
}
7810
0
#line 7811 "Zend/zend_language_scanner.c"
7811
3.00k
yy655:
7812
3.00k
    YYDEBUG(655, *YYCURSOR);
7813
3.00k
    yyaccept = 60;
7814
3.00k
    yych = *(YYMARKER = ++YYCURSOR);
7815
3.00k
    if (yybm[256+yych] & 128) {
7816
727
      goto yy47;
7817
727
    }
7818
2.27k
    if (yych == '\\') goto yy164;
7819
2.19k
yy656:
7820
2.19k
    YYDEBUG(656, *YYCURSOR);
7821
2.19k
    yyleng = YYCURSOR - SCNG(yy_text);
7822
2.19k
#line 1529 "Zend/zend_language_scanner.l"
7823
2.19k
    {
7824
2.19k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7825
2.19k
}
7826
0
#line 7827 "Zend/zend_language_scanner.c"
7827
3.49k
yy657:
7828
3.49k
    YYDEBUG(657, *YYCURSOR);
7829
3.49k
    yyaccept = 4;
7830
3.49k
    yych = *(YYMARKER = ++YYCURSOR);
7831
3.49k
    if (yych == 'A') goto yy731;
7832
3.11k
    if (yych == 'a') goto yy731;
7833
477
    goto yy48;
7834
5.16k
yy658:
7835
5.16k
    YYDEBUG(658, *YYCURSOR);
7836
5.16k
    yyaccept = 4;
7837
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
7838
5.16k
    if (yych == 'A') goto yy732;
7839
3.44k
    if (yych == 'a') goto yy732;
7840
588
    goto yy48;
7841
3.13k
yy659:
7842
3.13k
    YYDEBUG(659, *YYCURSOR);
7843
3.13k
    yyaccept = 4;
7844
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
7845
3.13k
    if (yych == 'C') goto yy733;
7846
2.16k
    if (yych == 'c') goto yy733;
7847
886
    goto yy48;
7848
5.83k
yy660:
7849
5.83k
    YYDEBUG(660, *YYCURSOR);
7850
5.83k
    yyaccept = 4;
7851
5.83k
    yych = *(YYMARKER = ++YYCURSOR);
7852
5.83k
    if (yych == 'E') goto yy734;
7853
5.05k
    if (yych == 'e') goto yy734;
7854
1.73k
    goto yy48;
7855
3.63k
yy661:
7856
3.63k
    YYDEBUG(661, *YYCURSOR);
7857
3.63k
    yych = *++YYCURSOR;
7858
3.63k
    if (yych == 'T') goto yy736;
7859
3.33k
    if (yych == 't') goto yy736;
7860
558
    goto yy86;
7861
4.58k
yy662:
7862
4.58k
    YYDEBUG(662, *YYCURSOR);
7863
4.58k
    yych = *++YYCURSOR;
7864
4.58k
    if (yych == 'P') goto yy737;
7865
3.61k
    if (yych == 'p') goto yy737;
7866
558
    goto yy86;
7867
39.0k
yy663:
7868
39.0k
    YYDEBUG(663, *YYCURSOR);
7869
39.0k
    ++YYCURSOR;
7870
39.0k
    YYFILL(1);
7871
39.0k
    yych = *YYCURSOR;
7872
39.0k
    if (yych <= '\n') {
7873
30.3k
      if (yych <= 0x00) goto yy86;
7874
30.0k
      if (yych <= '\t') goto yy586;
7875
29.6k
      goto yy588;
7876
30.0k
    } else {
7877
8.65k
      if (yych == '\r') goto yy588;
7878
6.04k
      goto yy586;
7879
8.65k
    }
7880
121k
yy664:
7881
121k
    YYDEBUG(664, *YYCURSOR);
7882
121k
    ++YYCURSOR;
7883
121k
    YYFILL(1);
7884
121k
    yych = *YYCURSOR;
7885
121k
    if (yych <= '\f') {
7886
1.27k
      if (yych <= 0x00) goto yy86;
7887
832
      if (yych == '\n') goto yy495;
7888
453
      goto yy586;
7889
119k
    } else {
7890
119k
      if (yych <= '\r') goto yy495;
7891
115k
      if (yych == '*') goto yy738;
7892
13.9k
      goto yy586;
7893
115k
    }
7894
34.4k
yy665:
7895
34.4k
    YYDEBUG(665, *YYCURSOR);
7896
34.4k
    yyaccept = 53;
7897
34.4k
    YYMARKER = ++YYCURSOR;
7898
34.4k
    YYFILL(1);
7899
34.4k
    yych = *YYCURSOR;
7900
34.4k
    if (yych <= '\n') {
7901
3.66k
      if (yych <= 0x00) goto yy583;
7902
3.20k
      if (yych <= '\t') goto yy586;
7903
1.09k
      goto yy495;
7904
30.8k
    } else {
7905
30.8k
      if (yych == '\r') goto yy495;
7906
29.7k
      goto yy586;
7907
30.8k
    }
7908
275k
yy666:
7909
275k
    YYDEBUG(666, *YYCURSOR);
7910
275k
    yyaccept = 53;
7911
275k
    YYMARKER = ++YYCURSOR;
7912
275k
    YYFILL(1);
7913
275k
    yych = *YYCURSOR;
7914
275k
    if (yych <= '\r') {
7915
40.1k
      if (yych <= '\t') {
7916
24.3k
        if (yych <= 0x00) goto yy583;
7917
24.0k
        goto yy586;
7918
24.3k
      } else {
7919
15.8k
        if (yych <= '\n') goto yy495;
7920
14.9k
        if (yych <= '\f') goto yy586;
7921
4.59k
        goto yy495;
7922
14.9k
      }
7923
235k
    } else {
7924
235k
      if (yych <= 'X') {
7925
131k
        if (yych <= 'W') goto yy586;
7926
2.89k
        goto yy740;
7927
131k
      } else {
7928
103k
        if (yych == 'x') goto yy740;
7929
75.0k
        goto yy586;
7930
103k
      }
7931
235k
    }
7932
46.1k
yy667:
7933
46.1k
    YYDEBUG(667, *YYCURSOR);
7934
46.1k
    yyaccept = 53;
7935
46.1k
    YYMARKER = ++YYCURSOR;
7936
46.1k
    YYFILL(1);
7937
46.1k
    yych = *YYCURSOR;
7938
46.1k
    if (yych <= '\r') {
7939
1.77k
      if (yych <= '\t') {
7940
407
        if (yych <= 0x00) goto yy583;
7941
183
        goto yy586;
7942
1.37k
      } else {
7943
1.37k
        if (yych <= '\n') goto yy495;
7944
1.15k
        if (yych <= '\f') goto yy586;
7945
775
        goto yy495;
7946
1.15k
      }
7947
44.3k
    } else {
7948
44.3k
      if (yych <= 'M') {
7949
5.85k
        if (yych <= 'L') goto yy586;
7950
4.91k
        goto yy741;
7951
38.4k
      } else {
7952
38.4k
        if (yych == 'm') goto yy741;
7953
7.18k
        goto yy586;
7954
38.4k
      }
7955
44.3k
    }
7956
51.9k
yy668:
7957
51.9k
    YYDEBUG(668, *YYCURSOR);
7958
51.9k
    ++YYCURSOR;
7959
51.9k
    YYFILL(1);
7960
51.9k
    yych = *YYCURSOR;
7961
51.9k
    YYDEBUG(669, *YYCURSOR);
7962
51.9k
    if (yych <= '*') {
7963
12.4k
      if (yych <= 0x00) goto yy86;
7964
11.1k
      if (yych <= ')') goto yy590;
7965
2.63k
      goto yy668;
7966
39.5k
    } else {
7967
39.5k
      if (yych == '/') goto yy495;
7968
3.91k
      goto yy590;
7969
39.5k
    }
7970
14.7k
yy670:
7971
14.7k
    YYDEBUG(670, *YYCURSOR);
7972
14.7k
    yyaccept = 61;
7973
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
7974
14.7k
    if (yybm[256+yych] & 128) {
7975
605
      goto yy47;
7976
605
    }
7977
14.1k
    if (yych == '\\') goto yy164;
7978
14.0k
yy671:
7979
14.0k
    YYDEBUG(671, *YYCURSOR);
7980
14.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7981
14.0k
#line 1578 "Zend/zend_language_scanner.l"
7982
14.0k
    {
7983
14.0k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7984
14.0k
}
7985
0
#line 7986 "Zend/zend_language_scanner.c"
7986
4.02k
yy672:
7987
4.02k
    YYDEBUG(672, *YYCURSOR);
7988
4.02k
    yyaccept = 62;
7989
4.02k
    yych = *(YYMARKER = ++YYCURSOR);
7990
4.02k
    if (yybm[256+yych] & 128) {
7991
567
      goto yy47;
7992
567
    }
7993
3.45k
    if (yych == '\\') goto yy164;
7994
3.27k
yy673:
7995
3.27k
    YYDEBUG(673, *YYCURSOR);
7996
3.27k
    yyleng = YYCURSOR - SCNG(yy_text);
7997
3.27k
#line 1445 "Zend/zend_language_scanner.l"
7998
3.27k
    {
7999
3.27k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8000
3.27k
}
8001
0
#line 8002 "Zend/zend_language_scanner.c"
8002
23.0k
yy674:
8003
23.0k
    YYDEBUG(674, *YYCURSOR);
8004
23.0k
    yyaccept = 63;
8005
23.0k
    yych = *(YYMARKER = ++YYCURSOR);
8006
23.0k
    if (yybm[256+yych] & 128) {
8007
1.48k
      goto yy47;
8008
1.48k
    }
8009
21.5k
    if (yych == '\\') goto yy164;
8010
21.5k
yy675:
8011
21.5k
    YYDEBUG(675, *YYCURSOR);
8012
21.5k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
21.5k
#line 1489 "Zend/zend_language_scanner.l"
8014
21.5k
    {
8015
21.5k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8016
21.5k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
95.7k
yy676:
8019
95.7k
    YYDEBUG(676, *YYCURSOR);
8020
95.7k
    yyaccept = 4;
8021
95.7k
    yych = *(YYMARKER = ++YYCURSOR);
8022
95.7k
    if (yych == 'N') goto yy742;
8023
94.9k
    if (yych == 'n') goto yy742;
8024
1.93k
    goto yy48;
8025
10.4k
yy677:
8026
10.4k
    YYDEBUG(677, *YYCURSOR);
8027
10.4k
    yyaccept = 4;
8028
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
8029
10.4k
    if (yych == 'N') goto yy744;
8030
8.61k
    if (yych == 'n') goto yy744;
8031
1.75k
    goto yy48;
8032
11.0k
yy678:
8033
11.0k
    YYDEBUG(678, *YYCURSOR);
8034
11.0k
    yyaccept = 64;
8035
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
8036
11.0k
    if (yych <= '\\') {
8037
4.14k
      if (yych <= '@') {
8038
3.52k
        if (yych <= '/') goto yy679;
8039
756
        if (yych <= '9') goto yy47;
8040
756
      } else {
8041
618
        if (yych <= 'Z') goto yy47;
8042
452
        if (yych >= '\\') goto yy164;
8043
452
      }
8044
6.87k
    } else {
8045
6.87k
      if (yych <= '`') {
8046
5.77k
        if (yych == '_') goto yy745;
8047
5.77k
      } else {
8048
1.09k
        if (yych <= 'z') goto yy47;
8049
583
        if (yych >= 0x80) goto yy47;
8050
583
      }
8051
6.87k
    }
8052
4.39k
yy679:
8053
4.39k
    YYDEBUG(679, *YYCURSOR);
8054
4.39k
    yyleng = YYCURSOR - SCNG(yy_text);
8055
4.39k
#line 1721 "Zend/zend_language_scanner.l"
8056
4.39k
    {
8057
4.39k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8058
4.39k
}
8059
0
#line 8060 "Zend/zend_language_scanner.c"
8060
4.40k
yy680:
8061
4.40k
    YYDEBUG(680, *YYCURSOR);
8062
4.40k
    yyaccept = 4;
8063
4.40k
    yych = *(YYMARKER = ++YYCURSOR);
8064
4.40k
    if (yych == 'E') goto yy746;
8065
3.22k
    if (yych == 'e') goto yy746;
8066
526
    goto yy48;
8067
6.35k
yy681:
8068
6.35k
    YYDEBUG(681, *YYCURSOR);
8069
6.35k
    yyaccept = 4;
8070
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
8071
6.35k
    if (yych == 'O') goto yy747;
8072
5.94k
    if (yych == 'o') goto yy747;
8073
812
    goto yy48;
8074
7.13k
yy682:
8075
7.13k
    YYDEBUG(682, *YYCURSOR);
8076
7.13k
    yyaccept = 4;
8077
7.13k
    yych = *(YYMARKER = ++YYCURSOR);
8078
7.13k
    if (yych == 'C') goto yy748;
8079
6.67k
    if (yych == 'c') goto yy748;
8080
880
    goto yy48;
8081
20.2k
yy683:
8082
20.2k
    YYDEBUG(683, *YYCURSOR);
8083
20.2k
    yyaccept = 4;
8084
20.2k
    yych = *(YYMARKER = ++YYCURSOR);
8085
20.2k
    if (yych == 'C') goto yy749;
8086
17.7k
    if (yych == 'c') goto yy749;
8087
1.23k
    goto yy48;
8088
11.3k
yy684:
8089
11.3k
    YYDEBUG(684, *YYCURSOR);
8090
11.3k
    yyaccept = 65;
8091
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
8092
11.3k
    if (yybm[256+yych] & 128) {
8093
780
      goto yy47;
8094
780
    }
8095
10.6k
    if (yych == '(') goto yy750;
8096
7.97k
    if (yych == '\\') goto yy164;
8097
9.93k
yy685:
8098
9.93k
    YYDEBUG(685, *YYCURSOR);
8099
9.93k
    yyleng = YYCURSOR - SCNG(yy_text);
8100
9.93k
#line 1777 "Zend/zend_language_scanner.l"
8101
9.93k
    {
8102
9.93k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8103
9.93k
}
8104
0
#line 8105 "Zend/zend_language_scanner.c"
8105
11.3k
yy686:
8106
11.3k
    YYDEBUG(686, *YYCURSOR);
8107
11.3k
    yyaccept = 4;
8108
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
8109
11.3k
    if (yych == 'E') goto yy751;
8110
9.32k
    if (yych == 'e') goto yy751;
8111
1.05k
    goto yy48;
8112
2.73k
yy687:
8113
2.73k
    YYDEBUG(687, *YYCURSOR);
8114
2.73k
    yych = *++YYCURSOR;
8115
2.73k
    if (yych == 'S') goto yy752;
8116
2.09k
    if (yych == 's') goto yy752;
8117
416
    goto yy86;
8118
4.60k
yy688:
8119
4.60k
    YYDEBUG(688, *YYCURSOR);
8120
4.60k
    yyaccept = 4;
8121
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
8122
4.60k
    if (yych == 'Y') goto yy753;
8123
4.43k
    if (yych == 'y') goto yy753;
8124
818
    goto yy48;
8125
19.1k
yy689:
8126
19.1k
    YYDEBUG(689, *YYCURSOR);
8127
19.1k
    yyaccept = 66;
8128
19.1k
    yych = *(YYMARKER = ++YYCURSOR);
8129
19.1k
    if (yych <= '\\') {
8130
9.49k
      if (yych <= '@') {
8131
8.56k
        if (yych <= '/') goto yy690;
8132
1.23k
        if (yych <= '9') goto yy47;
8133
1.23k
      } else {
8134
932
        if (yych <= 'Z') goto yy47;
8135
650
        if (yych >= '\\') goto yy164;
8136
650
      }
8137
9.67k
    } else {
8138
9.67k
      if (yych <= '`') {
8139
4.07k
        if (yych == '_') goto yy755;
8140
5.59k
      } else {
8141
5.59k
        if (yych <= 'z') goto yy47;
8142
4.33k
        if (yych >= 0x80) goto yy47;
8143
4.33k
      }
8144
9.67k
    }
8145
9.26k
yy690:
8146
9.26k
    YYDEBUG(690, *YYCURSOR);
8147
9.26k
    yyleng = YYCURSOR - SCNG(yy_text);
8148
9.26k
#line 1729 "Zend/zend_language_scanner.l"
8149
9.26k
    {
8150
9.26k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8151
9.26k
}
8152
0
#line 8153 "Zend/zend_language_scanner.c"
8153
9.60k
yy691:
8154
9.60k
    YYDEBUG(691, *YYCURSOR);
8155
9.60k
    yych = *++YYCURSOR;
8156
9.60k
    if (yych == 'R') goto yy756;
8157
8.25k
    if (yych == 'r') goto yy756;
8158
2.79k
    goto yy86;
8159
1.12M
yy692:
8160
1.12M
    YYDEBUG(692, *YYCURSOR);
8161
1.12M
    ++YYCURSOR;
8162
1.12M
    YYFILL(1);
8163
1.12M
    yych = *YYCURSOR;
8164
1.12M
    YYDEBUG(693, *YYCURSOR);
8165
1.12M
    if (yych <= '\n') {
8166
93.7k
      if (yych <= 0x00) goto yy86;
8167
89.5k
      if (yych <= '\t') goto yy692;
8168
79.5k
      goto yy616;
8169
1.02M
    } else {
8170
1.02M
      if (yych == '\r') goto yy616;
8171
973k
      goto yy692;
8172
1.02M
    }
8173
202k
yy694:
8174
202k
    YYDEBUG(694, *YYCURSOR);
8175
202k
    ++YYCURSOR;
8176
202k
    YYFILL(1);
8177
202k
    yych = *YYCURSOR;
8178
202k
    YYDEBUG(695, *YYCURSOR);
8179
202k
    if (yych <= ' ') {
8180
17.7k
      if (yych <= '\n') {
8181
4.04k
        if (yych <= 0x00) goto yy86;
8182
3.19k
        if (yych <= 0x08) goto yy692;
8183
2.43k
        if (yych <= '\t') goto yy694;
8184
1.82k
        goto yy616;
8185
13.7k
      } else {
8186
13.7k
        if (yych == '\r') goto yy616;
8187
4.72k
        if (yych <= 0x1F) goto yy692;
8188
1.95k
        goto yy694;
8189
4.72k
      }
8190
185k
    } else {
8191
185k
      if (yych <= '/') {
8192
100k
        if (yych == '#') goto yy757;
8193
92.1k
        if (yych <= '.') goto yy692;
8194
84.4k
        goto yy758;
8195
92.1k
      } else {
8196
84.6k
        if (yych <= 'F') {
8197
38.4k
          if (yych <= 'E') goto yy692;
8198
20.8k
          goto yy759;
8199
46.1k
        } else {
8200
46.1k
          if (yych == 'f') goto yy759;
8201
44.5k
          goto yy692;
8202
46.1k
        }
8203
84.6k
      }
8204
185k
    }
8205
2.62M
yy696:
8206
2.62M
    YYDEBUG(696, *YYCURSOR);
8207
2.62M
    ++YYCURSOR;
8208
2.62M
    YYFILL(1);
8209
2.62M
    yych = *YYCURSOR;
8210
2.62M
    YYDEBUG(697, *YYCURSOR);
8211
2.62M
    if (yych <= 0x00) goto yy86;
8212
2.60M
    if (yych == '*') goto yy760;
8213
2.54M
    goto yy696;
8214
2.54M
yy698:
8215
6.56k
    YYDEBUG(698, *YYCURSOR);
8216
6.56k
    yyaccept = 4;
8217
6.56k
    yych = *(YYMARKER = ++YYCURSOR);
8218
6.56k
    if (yych == '_') goto yy762;
8219
406
    goto yy48;
8220
2.60k
yy699:
8221
2.60k
    YYDEBUG(699, *YYCURSOR);
8222
2.60k
    yyaccept = 67;
8223
2.60k
    yych = *(YYMARKER = ++YYCURSOR);
8224
2.60k
    if (yybm[256+yych] & 128) {
8225
918
      goto yy47;
8226
918
    }
8227
1.69k
    if (yych == '\\') goto yy164;
8228
1.68k
yy700:
8229
1.68k
    YYDEBUG(700, *YYCURSOR);
8230
1.68k
    yyleng = YYCURSOR - SCNG(yy_text);
8231
1.68k
#line 2280 "Zend/zend_language_scanner.l"
8232
1.68k
    {
8233
1.68k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8234
1.68k
}
8235
0
#line 8236 "Zend/zend_language_scanner.c"
8236
8.49k
yy701:
8237
8.49k
    YYDEBUG(701, *YYCURSOR);
8238
8.49k
    yyaccept = 4;
8239
8.49k
    yych = *(YYMARKER = ++YYCURSOR);
8240
8.49k
    if (yych == '_') goto yy763;
8241
2.66k
    goto yy48;
8242
8.98k
yy702:
8243
8.98k
    YYDEBUG(702, *YYCURSOR);
8244
8.98k
    yyaccept = 4;
8245
8.98k
    yych = *(YYMARKER = ++YYCURSOR);
8246
8.98k
    if (yych == 'I') goto yy765;
8247
6.85k
    if (yych == 'i') goto yy765;
8248
563
    goto yy48;
8249
5.34k
yy703:
8250
5.34k
    YYDEBUG(703, *YYCURSOR);
8251
5.34k
    yyaccept = 4;
8252
5.34k
    yych = *(YYMARKER = ++YYCURSOR);
8253
5.34k
    if (yych == 'C') goto yy766;
8254
4.40k
    if (yych == 'c') goto yy766;
8255
733
    goto yy48;
8256
2.31k
yy704:
8257
2.31k
    YYDEBUG(704, *YYCURSOR);
8258
2.31k
    yyaccept = 4;
8259
2.31k
    yych = *(YYMARKER = ++YYCURSOR);
8260
2.31k
    if (yych == '_') goto yy767;
8261
301
    goto yy48;
8262
11.2k
yy705:
8263
11.2k
    YYDEBUG(705, *YYCURSOR);
8264
11.2k
    yyaccept = 4;
8265
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
8266
11.2k
    if (yych == 'D') goto yy769;
8267
4.83k
    if (yych == 'd') goto yy769;
8268
636
    goto yy48;
8269
7.73k
yy706:
8270
7.73k
    YYDEBUG(706, *YYCURSOR);
8271
7.73k
    yyaccept = 4;
8272
7.73k
    yych = *(YYMARKER = ++YYCURSOR);
8273
7.73k
    if (yych == 'P') goto yy770;
8274
5.65k
    if (yych == 'p') goto yy770;
8275
825
    goto yy48;
8276
4.18k
yy707:
8277
4.18k
    YYDEBUG(707, *YYCURSOR);
8278
4.18k
    yyaccept = 4;
8279
4.18k
    yych = *(YYMARKER = ++YYCURSOR);
8280
4.18k
    if (yych == 'R') goto yy771;
8281
2.18k
    if (yych == 'r') goto yy771;
8282
131
    goto yy48;
8283
4.05k
yy708:
8284
4.05k
    YYDEBUG(708, *YYCURSOR);
8285
4.05k
    yyaccept = 4;
8286
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
8287
4.05k
    if (yych == '_') goto yy772;
8288
812
    goto yy48;
8289
65.5k
yy709:
8290
65.5k
    YYDEBUG(709, *YYCURSOR);
8291
65.5k
    ++YYCURSOR;
8292
65.5k
    YYFILL(1);
8293
65.5k
    yych = *YYCURSOR;
8294
65.5k
    YYDEBUG(710, *YYCURSOR);
8295
65.5k
    if (yych <= ' ') {
8296
7.87k
      if (yych <= '\n') {
8297
2.90k
        if (yych <= 0x00) goto yy86;
8298
2.70k
        if (yych <= 0x08) goto yy443;
8299
2.23k
        if (yych <= '\t') goto yy709;
8300
962
        goto yy545;
8301
4.96k
      } else {
8302
4.96k
        if (yych == '\r') goto yy545;
8303
2.65k
        if (yych <= 0x1F) goto yy443;
8304
1.31k
        goto yy709;
8305
2.65k
      }
8306
57.6k
    } else {
8307
57.6k
      if (yych <= ')') {
8308
16.8k
        if (yych <= '"') goto yy443;
8309
16.4k
        if (yych <= '#') goto yy773;
8310
10.4k
        if (yych <= '$') goto yy774;
8311
8.93k
        goto yy443;
8312
40.7k
      } else {
8313
40.7k
        if (yych <= '-') {
8314
1.28k
          if (yych <= '*') goto yy547;
8315
673
          goto yy443;
8316
39.4k
        } else {
8317
39.4k
          if (yych <= '.') goto yy775;
8318
33.0k
          if (yych <= '/') goto yy776;
8319
18.5k
          goto yy443;
8320
33.0k
        }
8321
40.7k
      }
8322
57.6k
    }
8323
953
yy711:
8324
953
    YYDEBUG(711, *YYCURSOR);
8325
953
    ++YYCURSOR;
8326
953
    YYFILL(1);
8327
953
    yych = *YYCURSOR;
8328
953
    if (yybm[0+yych] & 64) {
8329
160
      goto yy355;
8330
160
    }
8331
793
    if (yych <= 0x00) goto yy86;
8332
609
    if (yych == '.') goto yy631;
8333
402
    goto yy230;
8334
11.6k
yy712:
8335
11.6k
    YYDEBUG(712, *YYCURSOR);
8336
11.6k
    ++YYCURSOR;
8337
11.6k
    YYFILL(1);
8338
11.6k
    yych = *YYCURSOR;
8339
11.6k
    if (yybm[0+yych] & 64) {
8340
273
      goto yy355;
8341
273
    }
8342
11.3k
    if (yych <= 0x00) goto yy86;
8343
11.0k
    if (yych == '/') goto yy545;
8344
541
    goto yy230;
8345
2.35k
yy713:
8346
2.35k
    YYDEBUG(713, *YYCURSOR);
8347
2.35k
    ++YYCURSOR;
8348
2.35k
    YYDEBUG(714, *YYCURSOR);
8349
2.35k
    yyleng = YYCURSOR - SCNG(yy_text);
8350
2.35k
#line 1677 "Zend/zend_language_scanner.l"
8351
2.35k
    {
8352
2.35k
  if (PARSER_MODE()) {
8353
187
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8354
187
    if (EG(exception)) {
8355
0
      RETURN_TOKEN(T_ERROR);
8356
0
    }
8357
187
  }
8358
2.35k
  RETURN_TOKEN(T_STRING_CAST);
8359
2.35k
}
8360
0
#line 8361 "Zend/zend_language_scanner.c"
8361
3.39k
yy715:
8362
3.39k
    YYDEBUG(715, *YYCURSOR);
8363
3.39k
    ++YYCURSOR;
8364
3.39k
    YYFILL(1);
8365
3.39k
    yych = *YYCURSOR;
8366
3.39k
    YYDEBUG(716, *YYCURSOR);
8367
3.39k
    if (yych <= 0x1F) {
8368
1.38k
      if (yych == '\t') goto yy715;
8369
532
      goto yy86;
8370
2.00k
    } else {
8371
2.00k
      if (yych <= ' ') goto yy715;
8372
1.66k
      if (yych == ')') goto yy777;
8373
946
      goto yy86;
8374
1.66k
    }
8375
796
yy717:
8376
796
    YYDEBUG(717, *YYCURSOR);
8377
796
    ++YYCURSOR;
8378
796
    YYDEBUG(718, *YYCURSOR);
8379
796
    yyleng = YYCURSOR - SCNG(yy_text);
8380
796
#line 1655 "Zend/zend_language_scanner.l"
8381
796
    {
8382
796
  if (PARSER_MODE()) {
8383
98
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8384
98
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
98
  }
8388
796
  RETURN_TOKEN(T_DOUBLE_CAST);
8389
796
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
3.42k
yy719:
8392
3.42k
    YYDEBUG(719, *YYCURSOR);
8393
3.42k
    ++YYCURSOR;
8394
3.42k
    YYFILL(1);
8395
3.42k
    yych = *YYCURSOR;
8396
3.42k
    YYDEBUG(720, *YYCURSOR);
8397
3.42k
    if (yych <= 0x1F) {
8398
483
      if (yych == '\t') goto yy719;
8399
267
      goto yy86;
8400
2.94k
    } else {
8401
2.94k
      if (yych <= ' ') goto yy719;
8402
2.42k
      if (yych == ')') goto yy779;
8403
1.46k
      goto yy86;
8404
2.42k
    }
8405
1.03k
yy721:
8406
1.03k
    YYDEBUG(721, *YYCURSOR);
8407
1.03k
    ++YYCURSOR;
8408
1.03k
    YYDEBUG(722, *YYCURSOR);
8409
1.03k
    yyleng = YYCURSOR - SCNG(yy_text);
8410
1.03k
#line 1691 "Zend/zend_language_scanner.l"
8411
1.03k
    {
8412
1.03k
  RETURN_TOKEN(T_OBJECT_CAST);
8413
1.03k
}
8414
0
#line 8415 "Zend/zend_language_scanner.c"
8415
4.88k
yy723:
8416
4.88k
    YYDEBUG(723, *YYCURSOR);
8417
4.88k
    ++YYCURSOR;
8418
4.88k
    YYDEBUG(724, *YYCURSOR);
8419
4.88k
    yyleng = YYCURSOR - SCNG(yy_text);
8420
4.88k
#line 1673 "Zend/zend_language_scanner.l"
8421
4.88k
    {
8422
4.88k
  RETURN_TOKEN(T_STRING_CAST);
8423
4.88k
}
8424
0
#line 8425 "Zend/zend_language_scanner.c"
8425
5.87k
yy725:
8426
5.87k
    YYDEBUG(725, *YYCURSOR);
8427
5.87k
    yyaccept = 68;
8428
5.87k
    yych = *(YYMARKER = ++YYCURSOR);
8429
5.87k
    if (yybm[256+yych] & 128) {
8430
1.94k
      goto yy47;
8431
1.94k
    }
8432
3.92k
    if (yych == '\\') goto yy164;
8433
3.91k
yy726:
8434
3.91k
    YYDEBUG(726, *YYCURSOR);
8435
3.91k
    yyleng = YYCURSOR - SCNG(yy_text);
8436
3.91k
#line 1769 "Zend/zend_language_scanner.l"
8437
3.91k
    {
8438
3.91k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8439
3.91k
}
8440
0
#line 8441 "Zend/zend_language_scanner.c"
8441
3.32k
yy727:
8442
3.32k
    YYDEBUG(727, *YYCURSOR);
8443
3.32k
    yyaccept = 69;
8444
3.32k
    yych = *(YYMARKER = ++YYCURSOR);
8445
3.32k
    if (yybm[256+yych] & 128) {
8446
597
      goto yy47;
8447
597
    }
8448
2.73k
    if (yych == '\\') goto yy164;
8449
2.73k
yy728:
8450
2.73k
    YYDEBUG(728, *YYCURSOR);
8451
2.73k
    yyleng = YYCURSOR - SCNG(yy_text);
8452
2.73k
#line 1821 "Zend/zend_language_scanner.l"
8453
2.73k
    {
8454
2.73k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8455
2.73k
}
8456
0
#line 8457 "Zend/zend_language_scanner.c"
8457
4.19k
yy729:
8458
4.19k
    YYDEBUG(729, *YYCURSOR);
8459
4.19k
    yyaccept = 70;
8460
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
8461
4.19k
    if (yybm[256+yych] & 128) {
8462
468
      goto yy47;
8463
468
    }
8464
3.73k
    if (yych == '\\') goto yy164;
8465
3.72k
yy730:
8466
3.72k
    YYDEBUG(730, *YYCURSOR);
8467
3.72k
    yyleng = YYCURSOR - SCNG(yy_text);
8468
3.72k
#line 1537 "Zend/zend_language_scanner.l"
8469
3.72k
    {
8470
3.72k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8471
3.72k
}
8472
0
#line 8473 "Zend/zend_language_scanner.c"
8473
3.01k
yy731:
8474
3.01k
    YYDEBUG(731, *YYCURSOR);
8475
3.01k
    yyaccept = 4;
8476
3.01k
    yych = *(YYMARKER = ++YYCURSOR);
8477
3.01k
    if (yych == 'R') goto yy781;
8478
2.62k
    if (yych == 'r') goto yy781;
8479
294
    goto yy48;
8480
4.57k
yy732:
8481
4.57k
    YYDEBUG(732, *YYCURSOR);
8482
4.57k
    yyaccept = 4;
8483
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
8484
4.57k
    if (yych == 'C') goto yy782;
8485
3.08k
    if (yych == 'c') goto yy782;
8486
359
    goto yy48;
8487
2.24k
yy733:
8488
2.24k
    YYDEBUG(733, *YYCURSOR);
8489
2.24k
    yyaccept = 4;
8490
2.24k
    yych = *(YYMARKER = ++YYCURSOR);
8491
2.24k
    if (yych == 'H') goto yy783;
8492
1.93k
    if (yych == 'h') goto yy783;
8493
1.26k
    goto yy48;
8494
4.09k
yy734:
8495
4.09k
    YYDEBUG(734, *YYCURSOR);
8496
4.09k
    yyaccept = 71;
8497
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
8498
4.09k
    if (yybm[256+yych] & 128) {
8499
641
      goto yy47;
8500
641
    }
8501
3.45k
    if (yych == '\\') goto yy164;
8502
3.43k
yy735:
8503
3.43k
    YYDEBUG(735, *YYCURSOR);
8504
3.43k
    yyleng = YYCURSOR - SCNG(yy_text);
8505
3.43k
#line 1473 "Zend/zend_language_scanner.l"
8506
3.43k
    {
8507
3.43k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8508
3.43k
}
8509
0
#line 8510 "Zend/zend_language_scanner.c"
8510
3.07k
yy736:
8511
3.07k
    YYDEBUG(736, *YYCURSOR);
8512
3.07k
    yych = *++YYCURSOR;
8513
3.07k
    if (yych == 'E') goto yy785;
8514
2.72k
    if (yych == 'e') goto yy785;
8515
616
    goto yy86;
8516
4.03k
yy737:
8517
4.03k
    YYDEBUG(737, *YYCURSOR);
8518
4.03k
    yych = *++YYCURSOR;
8519
4.03k
    if (yych == 'L') goto yy786;
8520
3.11k
    if (yych == 'l') goto yy786;
8521
408
    goto yy86;
8522
2.77M
yy738:
8523
2.77M
    YYDEBUG(738, *YYCURSOR);
8524
2.77M
    ++YYCURSOR;
8525
2.77M
    YYFILL(1);
8526
2.77M
    yych = *YYCURSOR;
8527
2.77M
    YYDEBUG(739, *YYCURSOR);
8528
2.77M
    if (yych <= '\f') {
8529
147k
      if (yych <= 0x00) goto yy86;
8530
134k
      if (yych == '\n') goto yy787;
8531
20.2k
      goto yy738;
8532
2.62M
    } else {
8533
2.62M
      if (yych <= '\r') goto yy787;
8534
2.42M
      if (yych == '*') goto yy789;
8535
2.39M
      goto yy738;
8536
2.42M
    }
8537
31.2k
yy740:
8538
31.2k
    YYDEBUG(740, *YYCURSOR);
8539
31.2k
    ++YYCURSOR;
8540
31.2k
    YYFILL(1);
8541
31.2k
    yych = *YYCURSOR;
8542
31.2k
    if (yych <= '\r') {
8543
1.82k
      if (yych <= '\t') {
8544
554
        if (yych <= 0x00) goto yy86;
8545
258
        goto yy586;
8546
1.27k
      } else {
8547
1.27k
        if (yych <= '\n') goto yy495;
8548
892
        if (yych <= '\f') goto yy586;
8549
663
        goto yy495;
8550
892
      }
8551
29.4k
    } else {
8552
29.4k
      if (yych <= 'T') {
8553
6.13k
        if (yych <= 'S') goto yy586;
8554
4.50k
        goto yy791;
8555
23.3k
      } else {
8556
23.3k
        if (yych == 't') goto yy791;
8557
12.4k
        goto yy586;
8558
23.3k
      }
8559
29.4k
    }
8560
36.2k
yy741:
8561
36.2k
    YYDEBUG(741, *YYCURSOR);
8562
36.2k
    ++YYCURSOR;
8563
36.2k
    YYFILL(1);
8564
36.2k
    yych = *YYCURSOR;
8565
36.2k
    if (yych <= '\r') {
8566
2.38k
      if (yych <= '\t') {
8567
1.26k
        if (yych <= 0x00) goto yy86;
8568
1.03k
        goto yy586;
8569
1.26k
      } else {
8570
1.11k
        if (yych <= '\n') goto yy495;
8571
817
        if (yych <= '\f') goto yy586;
8572
484
        goto yy495;
8573
817
      }
8574
33.8k
    } else {
8575
33.8k
      if (yych <= 'P') {
8576
3.88k
        if (yych <= 'O') goto yy586;
8577
2.89k
        goto yy792;
8578
29.9k
      } else {
8579
29.9k
        if (yych == 'p') goto yy792;
8580
1.95k
        goto yy586;
8581
29.9k
      }
8582
33.8k
    }
8583
93.8k
yy742:
8584
93.8k
    YYDEBUG(742, *YYCURSOR);
8585
93.8k
    yyaccept = 72;
8586
93.8k
    yych = *(YYMARKER = ++YYCURSOR);
8587
93.8k
    if (yybm[256+yych] & 128) {
8588
1.37k
      goto yy47;
8589
1.37k
    }
8590
92.4k
    if (yych == '\\') goto yy164;
8591
92.4k
yy743:
8592
92.4k
    YYDEBUG(743, *YYCURSOR);
8593
92.4k
    yyleng = YYCURSOR - SCNG(yy_text);
8594
92.4k
#line 1410 "Zend/zend_language_scanner.l"
8595
92.4k
    {
8596
92.4k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8597
92.4k
}
8598
0
#line 8599 "Zend/zend_language_scanner.c"
8599
8.71k
yy744:
8600
8.71k
    YYDEBUG(744, *YYCURSOR);
8601
8.71k
    yyaccept = 4;
8602
8.71k
    yych = *(YYMARKER = ++YYCURSOR);
8603
8.71k
    if (yych == 'T') goto yy793;
8604
8.16k
    if (yych == 't') goto yy793;
8605
2.27k
    goto yy48;
8606
5.29k
yy745:
8607
5.29k
    YYDEBUG(745, *YYCURSOR);
8608
5.29k
    yyaccept = 4;
8609
5.29k
    yych = *(YYMARKER = ++YYCURSOR);
8610
5.29k
    if (yych == 'O') goto yy794;
8611
4.21k
    if (yych == 'o') goto yy794;
8612
347
    goto yy48;
8613
3.87k
yy746:
8614
3.87k
    YYDEBUG(746, *YYCURSOR);
8615
3.87k
    yyaccept = 4;
8616
3.87k
    yych = *(YYMARKER = ++YYCURSOR);
8617
3.87k
    if (yych == 'O') goto yy795;
8618
3.02k
    if (yych == 'o') goto yy795;
8619
668
    goto yy48;
8620
5.54k
yy747:
8621
5.54k
    YYDEBUG(747, *YYCURSOR);
8622
5.54k
    yyaccept = 4;
8623
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
8624
5.54k
    if (yych == 'F') goto yy796;
8625
5.01k
    if (yych == 'f') goto yy796;
8626
446
    goto yy48;
8627
6.25k
yy748:
8628
6.25k
    YYDEBUG(748, *YYCURSOR);
8629
6.25k
    yyaccept = 4;
8630
6.25k
    yych = *(YYMARKER = ++YYCURSOR);
8631
6.25k
    if (yych == 'E') goto yy798;
8632
5.88k
    if (yych == 'e') goto yy798;
8633
395
    goto yy48;
8634
19.0k
yy749:
8635
19.0k
    YYDEBUG(749, *YYCURSOR);
8636
19.0k
    yyaccept = 4;
8637
19.0k
    yych = *(YYMARKER = ++YYCURSOR);
8638
19.0k
    if (yych == 'E') goto yy800;
8639
17.5k
    if (yych == 'e') goto yy800;
8640
1.15k
    goto yy48;
8641
2.64k
yy750:
8642
2.64k
    YYDEBUG(750, *YYCURSOR);
8643
2.64k
    yych = *++YYCURSOR;
8644
2.64k
    if (yych == 'S') goto yy802;
8645
1.85k
    if (yych == 's') goto yy802;
8646
255
    goto yy86;
8647
10.2k
yy751:
8648
10.2k
    YYDEBUG(751, *YYCURSOR);
8649
10.2k
    yyaccept = 4;
8650
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
8651
10.2k
    if (yych == 'D') goto yy803;
8652
8.30k
    if (yych == 'd') goto yy803;
8653
780
    goto yy48;
8654
2.31k
yy752:
8655
2.31k
    YYDEBUG(752, *YYCURSOR);
8656
2.31k
    yych = *++YYCURSOR;
8657
2.31k
    if (yych == 'E') goto yy805;
8658
1.99k
    if (yych == 'e') goto yy805;
8659
369
    goto yy86;
8660
3.78k
yy753:
8661
3.78k
    YYDEBUG(753, *YYCURSOR);
8662
3.78k
    yyaccept = 73;
8663
3.78k
    yych = *(YYMARKER = ++YYCURSOR);
8664
3.78k
    if (yybm[256+yych] & 128) {
8665
556
      goto yy47;
8666
556
    }
8667
3.22k
    if (yych == '\\') goto yy164;
8668
3.22k
yy754:
8669
3.22k
    YYDEBUG(754, *YYCURSOR);
8670
3.22k
    yyleng = YYCURSOR - SCNG(yy_text);
8671
3.22k
#line 1801 "Zend/zend_language_scanner.l"
8672
3.22k
    {
8673
3.22k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8674
3.22k
}
8675
0
#line 8676 "Zend/zend_language_scanner.c"
8676
3.83k
yy755:
8677
3.83k
    YYDEBUG(755, *YYCURSOR);
8678
3.83k
    yyaccept = 4;
8679
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
8680
3.83k
    if (yych == 'O') goto yy806;
8681
2.97k
    if (yych == 'o') goto yy806;
8682
491
    goto yy48;
8683
6.80k
yy756:
8684
6.80k
    YYDEBUG(756, *YYCURSOR);
8685
6.80k
    yych = *++YYCURSOR;
8686
6.80k
    if (yych == 'O') goto yy807;
8687
5.52k
    if (yych == 'o') goto yy807;
8688
1.05k
    goto yy86;
8689
8.30k
yy757:
8690
8.30k
    YYDEBUG(757, *YYCURSOR);
8691
8.30k
    ++YYCURSOR;
8692
8.30k
    YYFILL(1);
8693
8.30k
    yych = *YYCURSOR;
8694
8.30k
    if (yych <= '\n') {
8695
4.10k
      if (yych <= 0x00) goto yy86;
8696
3.89k
      if (yych <= '\t') goto yy692;
8697
3.77k
      goto yy694;
8698
4.20k
    } else {
8699
4.20k
      if (yych == '\r') goto yy694;
8700
1.87k
      goto yy692;
8701
4.20k
    }
8702
84.4k
yy758:
8703
84.4k
    YYDEBUG(758, *YYCURSOR);
8704
84.4k
    ++YYCURSOR;
8705
84.4k
    YYFILL(1);
8706
84.4k
    yych = *YYCURSOR;
8707
84.4k
    if (yych <= '\f') {
8708
1.01k
      if (yych <= 0x00) goto yy86;
8709
565
      if (yych == '\n') goto yy616;
8710
323
      goto yy692;
8711
83.4k
    } else {
8712
83.4k
      if (yych <= '\r') goto yy616;
8713
78.9k
      if (yych == '*') goto yy808;
8714
16.1k
      goto yy692;
8715
78.9k
    }
8716
22.4k
yy759:
8717
22.4k
    YYDEBUG(759, *YYCURSOR);
8718
22.4k
    ++YYCURSOR;
8719
22.4k
    YYFILL(1);
8720
22.4k
    yych = *YYCURSOR;
8721
22.4k
    if (yych <= '\r') {
8722
1.92k
      if (yych <= '\t') {
8723
592
        if (yych <= 0x00) goto yy86;
8724
369
        goto yy692;
8725
1.32k
      } else {
8726
1.32k
        if (yych <= '\n') goto yy616;
8727
679
        if (yych <= '\f') goto yy692;
8728
409
        goto yy616;
8729
679
      }
8730
20.5k
    } else {
8731
20.5k
      if (yych <= 'R') {
8732
17.6k
        if (yych <= 'Q') goto yy692;
8733
17.0k
        goto yy810;
8734
17.6k
      } else {
8735
2.92k
        if (yych == 'r') goto yy810;
8736
916
        goto yy692;
8737
2.92k
      }
8738
20.5k
    }
8739
58.4k
yy760:
8740
58.4k
    YYDEBUG(760, *YYCURSOR);
8741
58.4k
    ++YYCURSOR;
8742
58.4k
    YYFILL(1);
8743
58.4k
    yych = *YYCURSOR;
8744
58.4k
    YYDEBUG(761, *YYCURSOR);
8745
58.4k
    if (yych <= '*') {
8746
27.2k
      if (yych <= 0x00) goto yy86;
8747
26.7k
      if (yych <= ')') goto yy696;
8748
1.46k
      goto yy760;
8749
31.2k
    } else {
8750
31.2k
      if (yych == '/') goto yy616;
8751
8.76k
      goto yy696;
8752
31.2k
    }
8753
6.16k
yy762:
8754
6.16k
    YYDEBUG(762, *YYCURSOR);
8755
6.16k
    yyaccept = 4;
8756
6.16k
    yych = *(YYMARKER = ++YYCURSOR);
8757
6.16k
    if (yych == '_') goto yy811;
8758
455
    goto yy48;
8759
5.82k
yy763:
8760
5.82k
    YYDEBUG(763, *YYCURSOR);
8761
5.82k
    yyaccept = 74;
8762
5.82k
    yych = *(YYMARKER = ++YYCURSOR);
8763
5.82k
    if (yybm[256+yych] & 128) {
8764
468
      goto yy47;
8765
468
    }
8766
5.35k
    if (yych == '\\') goto yy164;
8767
5.16k
yy764:
8768
5.16k
    YYDEBUG(764, *YYCURSOR);
8769
5.16k
    yyleng = YYCURSOR - SCNG(yy_text);
8770
5.16k
#line 2276 "Zend/zend_language_scanner.l"
8771
5.16k
    {
8772
5.16k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8773
5.16k
}
8774
0
#line 8775 "Zend/zend_language_scanner.c"
8775
8.42k
yy765:
8776
8.42k
    YYDEBUG(765, *YYCURSOR);
8777
8.42k
    yyaccept = 4;
8778
8.42k
    yych = *(YYMARKER = ++YYCURSOR);
8779
8.42k
    if (yych == 'O') goto yy813;
8780
6.00k
    if (yych == 'o') goto yy813;
8781
573
    goto yy48;
8782
4.61k
yy766:
8783
4.61k
    YYDEBUG(766, *YYCURSOR);
8784
4.61k
    yyaccept = 4;
8785
4.61k
    yych = *(YYMARKER = ++YYCURSOR);
8786
4.61k
    if (yych == 'O') goto yy814;
8787
3.73k
    if (yych == 'o') goto yy814;
8788
274
    goto yy48;
8789
2.01k
yy767:
8790
2.01k
    YYDEBUG(767, *YYCURSOR);
8791
2.01k
    yyaccept = 75;
8792
2.01k
    yych = *(YYMARKER = ++YYCURSOR);
8793
2.01k
    if (yybm[256+yych] & 128) {
8794
288
      goto yy47;
8795
288
    }
8796
1.72k
    if (yych == '\\') goto yy164;
8797
1.69k
yy768:
8798
1.69k
    YYDEBUG(768, *YYCURSOR);
8799
1.69k
    yyleng = YYCURSOR - SCNG(yy_text);
8800
1.69k
#line 2272 "Zend/zend_language_scanner.l"
8801
1.69k
    {
8802
1.69k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8803
1.69k
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
10.5k
yy769:
8806
10.5k
    YYDEBUG(769, *YYCURSOR);
8807
10.5k
    yyaccept = 4;
8808
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
8809
10.5k
    if (yych == '_') goto yy815;
8810
752
    goto yy48;
8811
6.90k
yy770:
8812
6.90k
    YYDEBUG(770, *YYCURSOR);
8813
6.90k
    yyaccept = 4;
8814
6.90k
    yych = *(YYMARKER = ++YYCURSOR);
8815
6.90k
    if (yych == 'A') goto yy816;
8816
4.85k
    if (yych == 'a') goto yy816;
8817
328
    goto yy48;
8818
4.05k
yy771:
8819
4.05k
    YYDEBUG(771, *YYCURSOR);
8820
4.05k
    yyaccept = 4;
8821
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
8822
4.05k
    if (yych == 'T') goto yy817;
8823
1.63k
    if (yych == 't') goto yy817;
8824
584
    goto yy48;
8825
3.24k
yy772:
8826
3.24k
    YYDEBUG(772, *YYCURSOR);
8827
3.24k
    yyaccept = 4;
8828
3.24k
    yych = *(YYMARKER = ++YYCURSOR);
8829
3.24k
    if (yych == '_') goto yy818;
8830
818
    goto yy48;
8831
6.00k
yy773:
8832
6.00k
    YYDEBUG(773, *YYCURSOR);
8833
6.00k
    ++YYCURSOR;
8834
6.00k
    YYFILL(1);
8835
6.00k
    yych = *YYCURSOR;
8836
6.00k
    if (yybm[0+yych] & 128) {
8837
1.24k
      goto yy443;
8838
1.24k
    }
8839
4.76k
    if (yych <= 0x00) goto yy86;
8840
4.66k
    if (yych <= '\r') goto yy709;
8841
350
    goto yy547;
8842
2.07k
yy774:
8843
2.07k
    YYDEBUG(774, *YYCURSOR);
8844
2.07k
    yyaccept = 26;
8845
2.07k
    YYMARKER = ++YYCURSOR;
8846
2.07k
    YYFILL(1);
8847
2.07k
    yych = *YYCURSOR;
8848
2.07k
    if (yybm[0+yych] & 128) {
8849
1.13k
      goto yy443;
8850
1.13k
    }
8851
941
    if (yych <= 0x00) goto yy89;
8852
603
    if (yych <= '\r') goto yy545;
8853
312
    goto yy547;
8854
6.36k
yy775:
8855
6.36k
    YYDEBUG(775, *YYCURSOR);
8856
6.36k
    ++YYCURSOR;
8857
6.36k
    YYFILL(1);
8858
6.36k
    yych = *YYCURSOR;
8859
6.36k
    if (yych <= '\r') {
8860
1.34k
      if (yych <= '\t') {
8861
361
        if (yych <= 0x00) goto yy86;
8862
254
        goto yy443;
8863
981
      } else {
8864
981
        if (yych <= '\n') goto yy545;
8865
540
        if (yych <= '\f') goto yy443;
8866
322
        goto yy545;
8867
540
      }
8868
5.02k
    } else {
8869
5.02k
      if (yych <= '*') {
8870
1.39k
        if (yych <= ')') goto yy443;
8871
792
        goto yy547;
8872
3.62k
      } else {
8873
3.62k
        if (yych == '.') goto yy820;
8874
618
        goto yy443;
8875
3.62k
      }
8876
5.02k
    }
8877
14.5k
yy776:
8878
14.5k
    YYDEBUG(776, *YYCURSOR);
8879
14.5k
    ++YYCURSOR;
8880
14.5k
    YYFILL(1);
8881
14.5k
    yych = *YYCURSOR;
8882
14.5k
    if (yybm[0+yych] & 128) {
8883
1.89k
      goto yy443;
8884
1.89k
    }
8885
12.6k
    if (yych <= 0x00) goto yy86;
8886
12.4k
    if (yych <= '\r') goto yy545;
8887
11.8k
    goto yy821;
8888
11.8k
yy777:
8889
714
    YYDEBUG(777, *YYCURSOR);
8890
714
    ++YYCURSOR;
8891
714
    YYDEBUG(778, *YYCURSOR);
8892
714
    yyleng = YYCURSOR - SCNG(yy_text);
8893
714
#line 1699 "Zend/zend_language_scanner.l"
8894
714
    {
8895
714
  if (PARSER_MODE()) {
8896
67
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8897
67
    if (EG(exception)) {
8898
0
      RETURN_TOKEN(T_ERROR);
8899
0
    }
8900
67
  }
8901
714
  RETURN_TOKEN(T_BOOL_CAST);
8902
714
}
8903
0
#line 8904 "Zend/zend_language_scanner.c"
8904
962
yy779:
8905
962
    YYDEBUG(779, *YYCURSOR);
8906
962
    ++YYCURSOR;
8907
962
    YYDEBUG(780, *YYCURSOR);
8908
962
    yyleng = YYCURSOR - SCNG(yy_text);
8909
962
#line 1641 "Zend/zend_language_scanner.l"
8910
962
    {
8911
962
  if (PARSER_MODE()) {
8912
39
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8913
39
    if (EG(exception)) {
8914
0
      RETURN_TOKEN(T_ERROR);
8915
0
    }
8916
39
  }
8917
962
  RETURN_TOKEN(T_INT_CAST);
8918
962
}
8919
0
#line 8920 "Zend/zend_language_scanner.c"
8920
2.71k
yy781:
8921
2.71k
    YYDEBUG(781, *YYCURSOR);
8922
2.71k
    yyaccept = 4;
8923
2.71k
    yych = *(YYMARKER = ++YYCURSOR);
8924
2.71k
    if (yych == 'E') goto yy822;
8925
2.36k
    if (yych == 'e') goto yy822;
8926
532
    goto yy48;
8927
4.22k
yy782:
8928
4.22k
    YYDEBUG(782, *YYCURSOR);
8929
4.22k
    yyaccept = 4;
8930
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
8931
4.22k
    if (yych == 'H') goto yy824;
8932
2.83k
    if (yych == 'h') goto yy824;
8933
437
    goto yy48;
8934
984
yy783:
8935
984
    YYDEBUG(783, *YYCURSOR);
8936
984
    yyaccept = 76;
8937
984
    yych = *(YYMARKER = ++YYCURSOR);
8938
984
    if (yybm[256+yych] & 128) {
8939
404
      goto yy47;
8940
404
    }
8941
580
    if (yych == '\\') goto yy164;
8942
580
yy784:
8943
580
    YYDEBUG(784, *YYCURSOR);
8944
580
    yyleng = YYCURSOR - SCNG(yy_text);
8945
580
#line 1521 "Zend/zend_language_scanner.l"
8946
580
    {
8947
580
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8948
580
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
2.46k
yy785:
8951
2.46k
    YYDEBUG(785, *YYCURSOR);
8952
2.46k
    yych = *++YYCURSOR;
8953
2.46k
    if (yych == 'N') goto yy826;
8954
2.26k
    if (yych == 'n') goto yy826;
8955
515
    goto yy86;
8956
3.62k
yy786:
8957
3.62k
    YYDEBUG(786, *YYCURSOR);
8958
3.62k
    yych = *++YYCURSOR;
8959
3.62k
    if (yych == 'E') goto yy827;
8960
2.62k
    if (yych == 'e') goto yy827;
8961
346
    goto yy86;
8962
464k
yy787:
8963
464k
    YYDEBUG(787, *YYCURSOR);
8964
464k
    ++YYCURSOR;
8965
464k
    YYFILL(1);
8966
464k
    yych = *YYCURSOR;
8967
464k
    YYDEBUG(788, *YYCURSOR);
8968
464k
    if (yych <= '@') {
8969
428k
      if (yych <= ' ') {
8970
71.1k
        if (yych <= '\n') {
8971
13.9k
          if (yych <= 0x00) goto yy86;
8972
11.8k
          if (yych <= 0x08) goto yy590;
8973
11.4k
          goto yy787;
8974
57.2k
        } else {
8975
57.2k
          if (yych == '\r') goto yy787;
8976
28.6k
          if (yych <= 0x1F) goto yy590;
8977
28.0k
          goto yy787;
8978
28.6k
        }
8979
357k
      } else {
8980
357k
        if (yych <= ')') {
8981
314k
          if (yych == '#') goto yy828;
8982
14.4k
          goto yy590;
8983
314k
        } else {
8984
43.4k
          if (yych <= '*') goto yy668;
8985
42.9k
          if (yych == '/') goto yy829;
8986
4.58k
          goto yy590;
8987
42.9k
        }
8988
357k
      }
8989
428k
    } else {
8990
35.6k
      if (yych <= '_') {
8991
6.18k
        if (yych <= 'H') {
8992
1.72k
          if (yych == 'E') goto yy831;
8993
1.25k
          goto yy830;
8994
4.46k
        } else {
8995
4.46k
          if (yych <= 'I') goto yy832;
8996
2.39k
          if (yych <= 'Z') goto yy830;
8997
1.01k
          if (yych <= '^') goto yy590;
8998
168
          goto yy830;
8999
1.01k
        }
9000
29.4k
      } else {
9001
29.4k
        if (yych <= 'h') {
9002
12.4k
          if (yych <= '`') goto yy590;
9003
12.0k
          if (yych == 'e') goto yy831;
9004
2.31k
          goto yy830;
9005
17.0k
        } else {
9006
17.0k
          if (yych <= 'i') goto yy832;
9007
6.67k
          if (yych <= 'z') goto yy830;
9008
3.06k
          if (yych <= 0x7F) goto yy590;
9009
1.69k
          goto yy830;
9010
3.06k
        }
9011
29.4k
      }
9012
35.6k
    }
9013
50.3k
yy789:
9014
50.3k
    YYDEBUG(789, *YYCURSOR);
9015
50.3k
    ++YYCURSOR;
9016
50.3k
    YYFILL(1);
9017
50.3k
    yych = *YYCURSOR;
9018
50.3k
    YYDEBUG(790, *YYCURSOR);
9019
50.3k
    if (yych <= '\r') {
9020
13.5k
      if (yych <= '\t') {
9021
1.95k
        if (yych <= 0x00) goto yy86;
9022
289
        goto yy738;
9023
11.6k
      } else {
9024
11.6k
        if (yych <= '\n') goto yy787;
9025
10.5k
        if (yych <= '\f') goto yy738;
9026
9.64k
        goto yy787;
9027
10.5k
      }
9028
36.7k
    } else {
9029
36.7k
      if (yych <= '*') {
9030
12.8k
        if (yych <= ')') goto yy738;
9031
5.55k
        goto yy789;
9032
23.8k
      } else {
9033
23.8k
        if (yych == '/') goto yy588;
9034
5.73k
        goto yy738;
9035
23.8k
      }
9036
36.7k
    }
9037
15.4k
yy791:
9038
15.4k
    YYDEBUG(791, *YYCURSOR);
9039
15.4k
    ++YYCURSOR;
9040
15.4k
    YYFILL(1);
9041
15.4k
    yych = *YYCURSOR;
9042
15.4k
    if (yych <= '\r') {
9043
1.60k
      if (yych <= '\t') {
9044
750
        if (yych <= 0x00) goto yy86;
9045
242
        goto yy586;
9046
853
      } else {
9047
853
        if (yych <= '\n') goto yy495;
9048
444
        if (yych <= '\f') goto yy586;
9049
256
        goto yy495;
9050
444
      }
9051
13.8k
    } else {
9052
13.8k
      if (yych <= 'E') {
9053
1.81k
        if (yych <= 'D') goto yy586;
9054
604
        goto yy833;
9055
12.0k
      } else {
9056
12.0k
        if (yych == 'e') goto yy833;
9057
2.54k
        goto yy586;
9058
12.0k
      }
9059
13.8k
    }
9060
30.8k
yy792:
9061
30.8k
    YYDEBUG(792, *YYCURSOR);
9062
30.8k
    ++YYCURSOR;
9063
30.8k
    YYFILL(1);
9064
30.8k
    yych = *YYCURSOR;
9065
30.8k
    if (yych <= '\r') {
9066
1.39k
      if (yych <= '\t') {
9067
678
        if (yych <= 0x00) goto yy86;
9068
343
        goto yy586;
9069
719
      } else {
9070
719
        if (yych <= '\n') goto yy495;
9071
422
        if (yych <= '\f') goto yy586;
9072
395
        goto yy495;
9073
422
      }
9074
29.4k
    } else {
9075
29.4k
      if (yych <= 'L') {
9076
6.22k
        if (yych <= 'K') goto yy586;
9077
2.21k
        goto yy834;
9078
23.2k
      } else {
9079
23.2k
        if (yych == 'l') goto yy834;
9080
937
        goto yy586;
9081
23.2k
      }
9082
29.4k
    }
9083
6.43k
yy793:
9084
6.43k
    YYDEBUG(793, *YYCURSOR);
9085
6.43k
    yyaccept = 4;
9086
6.43k
    yych = *(YYMARKER = ++YYCURSOR);
9087
6.43k
    if (yych == 'S') goto yy835;
9088
6.04k
    if (yych == 's') goto yy835;
9089
1.40k
    goto yy48;
9090
4.95k
yy794:
9091
4.95k
    YYDEBUG(794, *YYCURSOR);
9092
4.95k
    yyaccept = 4;
9093
4.95k
    yych = *(YYMARKER = ++YYCURSOR);
9094
4.95k
    if (yych == 'N') goto yy837;
9095
4.09k
    if (yych == 'n') goto yy837;
9096
455
    goto yy48;
9097
3.20k
yy795:
9098
3.20k
    YYDEBUG(795, *YYCURSOR);
9099
3.20k
    yyaccept = 4;
9100
3.20k
    yych = *(YYMARKER = ++YYCURSOR);
9101
3.20k
    if (yych == 'F') goto yy838;
9102
2.66k
    if (yych == 'f') goto yy838;
9103
586
    goto yy48;
9104
5.09k
yy796:
9105
5.09k
    YYDEBUG(796, *YYCURSOR);
9106
5.09k
    yyaccept = 77;
9107
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
9108
5.09k
    if (yybm[256+yych] & 128) {
9109
923
      goto yy47;
9110
923
    }
9111
4.17k
    if (yych == '\\') goto yy164;
9112
4.12k
yy797:
9113
4.12k
    YYDEBUG(797, *YYCURSOR);
9114
4.12k
    yyleng = YYCURSOR - SCNG(yy_text);
9115
4.12k
#line 1745 "Zend/zend_language_scanner.l"
9116
4.12k
    {
9117
4.12k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9118
4.12k
}
9119
0
#line 9120 "Zend/zend_language_scanner.c"
9120
5.86k
yy798:
9121
5.86k
    YYDEBUG(798, *YYCURSOR);
9122
5.86k
    yyaccept = 78;
9123
5.86k
    yych = *(YYMARKER = ++YYCURSOR);
9124
5.86k
    if (yybm[256+yych] & 128) {
9125
439
      goto yy47;
9126
439
    }
9127
5.42k
    if (yych == '\\') goto yy164;
9128
5.40k
yy799:
9129
5.40k
    YYDEBUG(799, *YYCURSOR);
9130
5.40k
    yyleng = YYCURSOR - SCNG(yy_text);
9131
5.40k
#line 1557 "Zend/zend_language_scanner.l"
9132
5.40k
    {
9133
5.40k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9134
5.40k
}
9135
0
#line 9136 "Zend/zend_language_scanner.c"
9136
17.8k
yy800:
9137
17.8k
    YYDEBUG(800, *YYCURSOR);
9138
17.8k
    yyaccept = 79;
9139
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
9140
17.8k
    if (yybm[256+yych] & 128) {
9141
1.41k
      goto yy47;
9142
1.41k
    }
9143
16.4k
    if (yych == '\\') goto yy840;
9144
12.6k
yy801:
9145
12.6k
    YYDEBUG(801, *YYCURSOR);
9146
12.6k
    yyleng = YYCURSOR - SCNG(yy_text);
9147
12.6k
#line 1737 "Zend/zend_language_scanner.l"
9148
12.6k
    {
9149
12.6k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9150
12.6k
}
9151
0
#line 9152 "Zend/zend_language_scanner.c"
9152
2.39k
yy802:
9153
2.39k
    YYDEBUG(802, *YYCURSOR);
9154
2.39k
    yych = *++YYCURSOR;
9155
2.39k
    if (yych == 'E') goto yy841;
9156
2.04k
    if (yych == 'e') goto yy841;
9157
1.23k
    goto yy86;
9158
9.50k
yy803:
9159
9.50k
    YYDEBUG(803, *YYCURSOR);
9160
9.50k
    yyaccept = 80;
9161
9.50k
    yych = *(YYMARKER = ++YYCURSOR);
9162
9.50k
    if (yybm[256+yych] & 128) {
9163
804
      goto yy47;
9164
804
    }
9165
8.70k
    if (yych == '(') goto yy842;
9166
6.17k
    if (yych == '\\') goto yy164;
9167
7.95k
yy804:
9168
7.95k
    YYDEBUG(804, *YYCURSOR);
9169
7.95k
    yyleng = YYCURSOR - SCNG(yy_text);
9170
7.95k
#line 1781 "Zend/zend_language_scanner.l"
9171
7.95k
    {
9172
7.95k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9173
7.95k
}
9174
0
#line 9175 "Zend/zend_language_scanner.c"
9175
1.95k
yy805:
9176
1.95k
    YYDEBUG(805, *YYCURSOR);
9177
1.95k
    yych = *++YYCURSOR;
9178
1.95k
    if (yych == 'T') goto yy843;
9179
1.36k
    if (yych == 't') goto yy843;
9180
235
    goto yy86;
9181
3.34k
yy806:
9182
3.34k
    YYDEBUG(806, *YYCURSOR);
9183
3.34k
    yyaccept = 4;
9184
3.34k
    yych = *(YYMARKER = ++YYCURSOR);
9185
3.34k
    if (yych == 'N') goto yy844;
9186
2.70k
    if (yych == 'n') goto yy844;
9187
371
    goto yy48;
9188
5.75k
yy807:
9189
5.75k
    YYDEBUG(807, *YYCURSOR);
9190
5.75k
    yych = *++YYCURSOR;
9191
5.75k
    if (yych == 'M') goto yy845;
9192
4.84k
    if (yych == 'm') goto yy845;
9193
303
    goto yy86;
9194
1.03M
yy808:
9195
1.03M
    YYDEBUG(808, *YYCURSOR);
9196
1.03M
    ++YYCURSOR;
9197
1.03M
    YYFILL(1);
9198
1.03M
    yych = *YYCURSOR;
9199
1.03M
    YYDEBUG(809, *YYCURSOR);
9200
1.03M
    if (yych <= '\f') {
9201
105k
      if (yych <= 0x00) goto yy86;
9202
101k
      if (yych == '\n') goto yy846;
9203
16.9k
      goto yy808;
9204
931k
    } else {
9205
931k
      if (yych <= '\r') goto yy846;
9206
882k
      if (yych == '*') goto yy848;
9207
856k
      goto yy808;
9208
882k
    }
9209
19.0k
yy810:
9210
19.0k
    YYDEBUG(810, *YYCURSOR);
9211
19.0k
    ++YYCURSOR;
9212
19.0k
    YYFILL(1);
9213
19.0k
    yych = *YYCURSOR;
9214
19.0k
    if (yych <= '\r') {
9215
2.40k
      if (yych <= '\t') {
9216
697
        if (yych <= 0x00) goto yy86;
9217
474
        goto yy692;
9218
1.70k
      } else {
9219
1.70k
        if (yych <= '\n') goto yy616;
9220
1.48k
        if (yych <= '\f') goto yy692;
9221
238
        goto yy616;
9222
1.48k
      }
9223
16.6k
    } else {
9224
16.6k
      if (yych <= 'O') {
9225
13.7k
        if (yych <= 'N') goto yy692;
9226
10.5k
        goto yy850;
9227
13.7k
      } else {
9228
2.85k
        if (yych == 'o') goto yy850;
9229
1.15k
        goto yy692;
9230
2.85k
      }
9231
16.6k
    }
9232
5.70k
yy811:
9233
5.70k
    YYDEBUG(811, *YYCURSOR);
9234
5.70k
    yyaccept = 81;
9235
5.70k
    yych = *(YYMARKER = ++YYCURSOR);
9236
5.70k
    if (yybm[256+yych] & 128) {
9237
546
      goto yy47;
9238
546
    }
9239
5.16k
    if (yych == '\\') goto yy164;
9240
5.15k
yy812:
9241
5.15k
    YYDEBUG(812, *YYCURSOR);
9242
5.15k
    yyleng = YYCURSOR - SCNG(yy_text);
9243
5.15k
#line 2252 "Zend/zend_language_scanner.l"
9244
5.15k
    {
9245
5.15k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9246
5.15k
}
9247
0
#line 9248 "Zend/zend_language_scanner.c"
9248
7.85k
yy813:
9249
7.85k
    YYDEBUG(813, *YYCURSOR);
9250
7.85k
    yyaccept = 4;
9251
7.85k
    yych = *(YYMARKER = ++YYCURSOR);
9252
7.85k
    if (yych == 'N') goto yy851;
9253
2.59k
    if (yych == 'n') goto yy851;
9254
535
    goto yy48;
9255
4.33k
yy814:
9256
4.33k
    YYDEBUG(814, *YYCURSOR);
9257
4.33k
    yyaccept = 4;
9258
4.33k
    yych = *(YYMARKER = ++YYCURSOR);
9259
4.33k
    if (yych == 'M') goto yy852;
9260
3.52k
    if (yych == 'm') goto yy852;
9261
280
    goto yy48;
9262
9.82k
yy815:
9263
9.82k
    YYDEBUG(815, *YYCURSOR);
9264
9.82k
    yyaccept = 4;
9265
9.82k
    yych = *(YYMARKER = ++YYCURSOR);
9266
9.82k
    if (yych == '_') goto yy853;
9267
348
    goto yy48;
9268
6.57k
yy816:
9269
6.57k
    YYDEBUG(816, *YYCURSOR);
9270
6.57k
    yyaccept = 4;
9271
6.57k
    yych = *(YYMARKER = ++YYCURSOR);
9272
6.57k
    if (yych == 'C') goto yy855;
9273
4.39k
    if (yych == 'c') goto yy855;
9274
1.04k
    goto yy48;
9275
3.47k
yy817:
9276
3.47k
    YYDEBUG(817, *YYCURSOR);
9277
3.47k
    yyaccept = 4;
9278
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
9279
3.47k
    if (yych == 'Y') goto yy856;
9280
720
    if (yych == 'y') goto yy856;
9281
542
    goto yy48;
9282
2.42k
yy818:
9283
2.42k
    YYDEBUG(818, *YYCURSOR);
9284
2.42k
    yyaccept = 82;
9285
2.42k
    yych = *(YYMARKER = ++YYCURSOR);
9286
2.42k
    if (yybm[256+yych] & 128) {
9287
477
      goto yy47;
9288
477
    }
9289
1.94k
    if (yych == '\\') goto yy164;
9290
1.91k
yy819:
9291
1.91k
    YYDEBUG(819, *YYCURSOR);
9292
1.91k
    yyleng = YYCURSOR - SCNG(yy_text);
9293
1.91k
#line 2256 "Zend/zend_language_scanner.l"
9294
1.91k
    {
9295
1.91k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9296
1.91k
}
9297
0
#line 9298 "Zend/zend_language_scanner.c"
9298
3.00k
yy820:
9299
3.00k
    YYDEBUG(820, *YYCURSOR);
9300
3.00k
    ++YYCURSOR;
9301
3.00k
    YYFILL(1);
9302
3.00k
    yych = *YYCURSOR;
9303
3.00k
    if (yych <= '\r') {
9304
1.40k
      if (yych <= '\t') {
9305
510
        if (yych <= 0x00) goto yy86;
9306
220
        goto yy443;
9307
897
      } else {
9308
897
        if (yych <= '\n') goto yy545;
9309
689
        if (yych <= '\f') goto yy443;
9310
502
        goto yy545;
9311
689
      }
9312
1.59k
    } else {
9313
1.59k
      if (yych <= '*') {
9314
418
        if (yych <= ')') goto yy443;
9315
337
        goto yy547;
9316
1.17k
      } else {
9317
1.17k
        if (yych == '.') goto yy774;
9318
601
        goto yy443;
9319
1.17k
      }
9320
1.59k
    }
9321
11.8k
yy821:
9322
11.8k
    YYDEBUG(821, *YYCURSOR);
9323
11.8k
    ++YYCURSOR;
9324
11.8k
    YYFILL(1);
9325
11.8k
    yych = *YYCURSOR;
9326
11.8k
    if (yych <= '\r') {
9327
1.61k
      if (yych <= '\t') {
9328
529
        if (yych <= 0x00) goto yy86;
9329
212
        goto yy443;
9330
1.08k
      } else {
9331
1.08k
        if (yych <= '\n') goto yy545;
9332
577
        if (yych <= '\f') goto yy443;
9333
409
        goto yy545;
9334
577
      }
9335
10.2k
    } else {
9336
10.2k
      if (yych <= '*') {
9337
746
        if (yych <= ')') goto yy443;
9338
219
        goto yy547;
9339
9.49k
      } else {
9340
9.49k
        if (yych == '/') goto yy709;
9341
697
        goto yy443;
9342
9.49k
      }
9343
10.2k
    }
9344
2.18k
yy822:
9345
2.18k
    YYDEBUG(822, *YYCURSOR);
9346
2.18k
    yyaccept = 83;
9347
2.18k
    yych = *(YYMARKER = ++YYCURSOR);
9348
2.18k
    if (yybm[256+yych] & 128) {
9349
637
      goto yy47;
9350
637
    }
9351
1.55k
    if (yych == '\\') goto yy164;
9352
1.51k
yy823:
9353
1.51k
    YYDEBUG(823, *YYCURSOR);
9354
1.51k
    yyleng = YYCURSOR - SCNG(yy_text);
9355
1.51k
#line 1501 "Zend/zend_language_scanner.l"
9356
1.51k
    {
9357
1.51k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9358
1.51k
}
9359
0
#line 9360 "Zend/zend_language_scanner.c"
9360
3.78k
yy824:
9361
3.78k
    YYDEBUG(824, *YYCURSOR);
9362
3.78k
    yyaccept = 84;
9363
3.78k
    yych = *(YYMARKER = ++YYCURSOR);
9364
3.78k
    if (yybm[256+yych] & 128) {
9365
608
      goto yy47;
9366
608
    }
9367
3.17k
    if (yych == '\\') goto yy164;
9368
3.17k
yy825:
9369
3.17k
    YYDEBUG(825, *YYCURSOR);
9370
3.17k
    yyleng = YYCURSOR - SCNG(yy_text);
9371
3.17k
#line 1493 "Zend/zend_language_scanner.l"
9372
3.17k
    {
9373
3.17k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9374
3.17k
}
9375
0
#line 9376 "Zend/zend_language_scanner.c"
9376
1.94k
yy826:
9377
1.94k
    YYDEBUG(826, *YYCURSOR);
9378
1.94k
    yych = *++YYCURSOR;
9379
1.94k
    if (yych == 'D') goto yy857;
9380
1.29k
    if (yych == 'd') goto yy857;
9381
316
    goto yy86;
9382
3.27k
yy827:
9383
3.27k
    YYDEBUG(827, *YYCURSOR);
9384
3.27k
    yych = *++YYCURSOR;
9385
3.27k
    if (yych == 'M') goto yy858;
9386
2.37k
    if (yych == 'm') goto yy858;
9387
874
    goto yy86;
9388
300k
yy828:
9389
300k
    YYDEBUG(828, *YYCURSOR);
9390
300k
    ++YYCURSOR;
9391
300k
    YYFILL(1);
9392
300k
    yych = *YYCURSOR;
9393
300k
    if (yych <= '\r') {
9394
247k
      if (yych <= '\t') {
9395
5.69k
        if (yych <= 0x00) goto yy86;
9396
5.34k
        goto yy738;
9397
242k
      } else {
9398
242k
        if (yych <= '\n') goto yy859;
9399
66.3k
        if (yych <= '\f') goto yy738;
9400
65.0k
        goto yy859;
9401
66.3k
      }
9402
247k
    } else {
9403
52.2k
      if (yych <= '*') {
9404
9.03k
        if (yych <= ')') goto yy738;
9405
3.84k
        goto yy789;
9406
43.2k
      } else {
9407
43.2k
        if (yych == '[') goto yy590;
9408
42.9k
        goto yy738;
9409
43.2k
      }
9410
52.2k
    }
9411
38.4k
yy829:
9412
38.4k
    YYDEBUG(829, *YYCURSOR);
9413
38.4k
    ++YYCURSOR;
9414
38.4k
    YYFILL(1);
9415
38.4k
    yych = *YYCURSOR;
9416
38.4k
    if (yych <= '*') {
9417
35.3k
      if (yych <= 0x00) goto yy86;
9418
35.0k
      if (yych <= ')') goto yy590;
9419
34.5k
      goto yy861;
9420
35.0k
    } else {
9421
3.07k
      if (yych == '/') goto yy738;
9422
2.16k
      goto yy590;
9423
3.07k
    }
9424
10.4k
yy830:
9425
10.4k
    YYDEBUG(830, *YYCURSOR);
9426
10.4k
    yyaccept = 53;
9427
10.4k
    YYMARKER = ++YYCURSOR;
9428
10.4k
    YYFILL(1);
9429
10.4k
    yych = *YYCURSOR;
9430
10.4k
    if (yych <= 0x00) goto yy583;
9431
9.13k
    if (yych == '*') goto yy668;
9432
8.67k
    goto yy590;
9433
10.1k
yy831:
9434
10.1k
    YYDEBUG(831, *YYCURSOR);
9435
10.1k
    yyaccept = 53;
9436
10.1k
    YYMARKER = ++YYCURSOR;
9437
10.1k
    YYFILL(1);
9438
10.1k
    yych = *YYCURSOR;
9439
10.1k
    if (yych <= 'W') {
9440
3.91k
      if (yych <= 0x00) goto yy583;
9441
3.71k
      if (yych == '*') goto yy668;
9442
1.97k
      goto yy590;
9443
6.27k
    } else {
9444
6.27k
      if (yych <= 'X') goto yy862;
9445
5.84k
      if (yych == 'x') goto yy862;
9446
1.03k
      goto yy590;
9447
5.84k
    }
9448
12.4k
yy832:
9449
12.4k
    YYDEBUG(832, *YYCURSOR);
9450
12.4k
    yyaccept = 53;
9451
12.4k
    YYMARKER = ++YYCURSOR;
9452
12.4k
    YYFILL(1);
9453
12.4k
    yych = *YYCURSOR;
9454
12.4k
    if (yych <= 'L') {
9455
765
      if (yych <= 0x00) goto yy583;
9456
520
      if (yych == '*') goto yy668;
9457
457
      goto yy590;
9458
11.6k
    } else {
9459
11.6k
      if (yych <= 'M') goto yy863;
9460
9.63k
      if (yych == 'm') goto yy863;
9461
607
      goto yy590;
9462
9.63k
    }
9463
10.0k
yy833:
9464
10.0k
    YYDEBUG(833, *YYCURSOR);
9465
10.0k
    ++YYCURSOR;
9466
10.0k
    YYFILL(1);
9467
10.0k
    yych = *YYCURSOR;
9468
10.0k
    if (yych <= '\r') {
9469
1.44k
      if (yych <= '\t') {
9470
567
        if (yych <= 0x00) goto yy86;
9471
269
        goto yy586;
9472
881
      } else {
9473
881
        if (yych <= '\n') goto yy495;
9474
508
        if (yych <= '\f') goto yy586;
9475
385
        goto yy495;
9476
508
      }
9477
8.61k
    } else {
9478
8.61k
      if (yych <= 'N') {
9479
5.04k
        if (yych <= 'M') goto yy586;
9480
3.44k
        goto yy864;
9481
5.04k
      } else {
9482
3.57k
        if (yych == 'n') goto yy864;
9483
563
        goto yy586;
9484
3.57k
      }
9485
8.61k
    }
9486
24.5k
yy834:
9487
24.5k
    YYDEBUG(834, *YYCURSOR);
9488
24.5k
    ++YYCURSOR;
9489
24.5k
    YYFILL(1);
9490
24.5k
    yych = *YYCURSOR;
9491
24.5k
    if (yych <= '\r') {
9492
1.99k
      if (yych <= '\t') {
9493
523
        if (yych <= 0x00) goto yy86;
9494
452
        goto yy586;
9495
1.47k
      } else {
9496
1.47k
        if (yych <= '\n') goto yy495;
9497
1.20k
        if (yych <= '\f') goto yy586;
9498
676
        goto yy495;
9499
1.20k
      }
9500
22.5k
    } else {
9501
22.5k
      if (yych <= 'E') {
9502
2.59k
        if (yych <= 'D') goto yy586;
9503
1.86k
        goto yy865;
9504
19.9k
      } else {
9505
19.9k
        if (yych == 'e') goto yy865;
9506
430
        goto yy586;
9507
19.9k
      }
9508
22.5k
    }
9509
5.03k
yy835:
9510
5.03k
    YYDEBUG(835, *YYCURSOR);
9511
5.03k
    yyaccept = 85;
9512
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
9513
5.03k
    if (yybm[256+yych] & 128) {
9514
737
      goto yy47;
9515
737
    }
9516
4.29k
    if (yych == '\\') goto yy164;
9517
4.27k
yy836:
9518
4.27k
    YYDEBUG(836, *YYCURSOR);
9519
4.27k
    yyleng = YYCURSOR - SCNG(yy_text);
9520
4.27k
#line 1582 "Zend/zend_language_scanner.l"
9521
4.27k
    {
9522
4.27k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9523
4.27k
}
9524
0
#line 9525 "Zend/zend_language_scanner.c"
9525
4.49k
yy837:
9526
4.49k
    YYDEBUG(837, *YYCURSOR);
9527
4.49k
    yyaccept = 4;
9528
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
9529
4.49k
    if (yych == 'C') goto yy866;
9530
3.77k
    if (yych == 'c') goto yy866;
9531
493
    goto yy48;
9532
2.62k
yy838:
9533
2.62k
    YYDEBUG(838, *YYCURSOR);
9534
2.62k
    yyaccept = 86;
9535
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
9536
2.62k
    if (yybm[256+yych] & 128) {
9537
594
      goto yy47;
9538
594
    }
9539
2.02k
    if (yych == '\\') goto yy164;
9540
2.02k
yy839:
9541
2.02k
    YYDEBUG(839, *YYCURSOR);
9542
2.02k
    yyleng = YYCURSOR - SCNG(yy_text);
9543
2.02k
#line 1505 "Zend/zend_language_scanner.l"
9544
2.02k
    {
9545
2.02k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9546
2.02k
}
9547
0
#line 9548 "Zend/zend_language_scanner.c"
9548
6.02k
yy840:
9549
6.02k
    YYDEBUG(840, *YYCURSOR);
9550
6.02k
    ++YYCURSOR;
9551
6.02k
    YYFILL(1);
9552
6.02k
    yych = *YYCURSOR;
9553
6.02k
    if (yych <= '_') {
9554
2.16k
      if (yych <= '@') goto yy86;
9555
1.71k
      if (yych <= 'Z') goto yy867;
9556
412
      if (yych <= '^') goto yy86;
9557
329
      goto yy867;
9558
3.86k
    } else {
9559
3.86k
      if (yych <= '`') goto yy86;
9560
3.66k
      if (yych <= 'z') goto yy867;
9561
915
      if (yych <= 0x7F) goto yy86;
9562
646
      goto yy867;
9563
915
    }
9564
1.15k
yy841:
9565
1.15k
    YYDEBUG(841, *YYCURSOR);
9566
1.15k
    yych = *++YYCURSOR;
9567
1.15k
    if (yych == 'T') goto yy870;
9568
847
    if (yych == 't') goto yy870;
9569
271
    goto yy86;
9570
2.52k
yy842:
9571
2.52k
    YYDEBUG(842, *YYCURSOR);
9572
2.52k
    yych = *++YYCURSOR;
9573
2.52k
    if (yych == 'S') goto yy871;
9574
1.97k
    if (yych == 's') goto yy871;
9575
308
    goto yy86;
9576
1.71k
yy843:
9577
1.71k
    YYDEBUG(843, *YYCURSOR);
9578
1.71k
    yych = *++YYCURSOR;
9579
1.71k
    if (yych == ')') goto yy872;
9580
386
    goto yy86;
9581
2.97k
yy844:
9582
2.97k
    YYDEBUG(844, *YYCURSOR);
9583
2.97k
    yyaccept = 4;
9584
2.97k
    yych = *(YYMARKER = ++YYCURSOR);
9585
2.97k
    if (yych == 'C') goto yy874;
9586
2.38k
    if (yych == 'c') goto yy874;
9587
238
    goto yy48;
9588
5.45k
yy845:
9589
5.45k
    YYDEBUG(845, *YYCURSOR);
9590
5.45k
    yych = *++YYCURSOR;
9591
5.45k
    if (yych <= '^') {
9592
3.11k
      if (yych <= '9') {
9593
2.13k
        if (yych <= '/') goto yy875;
9594
99
        goto yy86;
9595
2.13k
      } else {
9596
978
        if (yych <= '@') goto yy875;
9597
646
        if (yych <= 'Z') goto yy86;
9598
334
        goto yy875;
9599
646
      }
9600
3.11k
    } else {
9601
2.33k
      if (yych <= '`') {
9602
695
        if (yych <= '_') goto yy86;
9603
431
        goto yy875;
9604
1.64k
      } else {
9605
1.64k
        if (yych <= 'z') goto yy86;
9606
1.05k
        if (yych <= 0x7F) goto yy875;
9607
361
        goto yy86;
9608
1.05k
      }
9609
2.33k
    }
9610
237k
yy846:
9611
237k
    YYDEBUG(846, *YYCURSOR);
9612
237k
    ++YYCURSOR;
9613
237k
    YYFILL(1);
9614
237k
    yych = *YYCURSOR;
9615
237k
    YYDEBUG(847, *YYCURSOR);
9616
237k
    if (yych <= '#') {
9617
175k
      if (yych <= '\f') {
9618
15.7k
        if (yych <= 0x00) goto yy86;
9619
14.5k
        if (yych <= 0x08) goto yy696;
9620
14.1k
        if (yych <= '\n') goto yy846;
9621
350
        goto yy696;
9622
160k
      } else {
9623
160k
        if (yych <= 0x1F) {
9624
30.9k
          if (yych <= '\r') goto yy846;
9625
657
          goto yy696;
9626
129k
        } else {
9627
129k
          if (yych <= ' ') goto yy846;
9628
123k
          if (yych <= '"') goto yy696;
9629
122k
          goto yy877;
9630
123k
        }
9631
160k
      }
9632
175k
    } else {
9633
62.1k
      if (yych <= '/') {
9634
41.2k
        if (yych == '*') goto yy760;
9635
40.8k
        if (yych <= '.') goto yy696;
9636
30.0k
        goto yy878;
9637
40.8k
      } else {
9638
20.8k
        if (yych <= 'F') {
9639
11.6k
          if (yych <= 'E') goto yy696;
9640
8.31k
          goto yy879;
9641
11.6k
        } else {
9642
9.24k
          if (yych == 'f') goto yy879;
9643
8.39k
          goto yy696;
9644
9.24k
        }
9645
20.8k
      }
9646
62.1k
    }
9647
32.9k
yy848:
9648
32.9k
    YYDEBUG(848, *YYCURSOR);
9649
32.9k
    ++YYCURSOR;
9650
32.9k
    YYFILL(1);
9651
32.9k
    yych = *YYCURSOR;
9652
32.9k
    YYDEBUG(849, *YYCURSOR);
9653
32.9k
    if (yych <= '\r') {
9654
8.51k
      if (yych <= '\t') {
9655
1.37k
        if (yych <= 0x00) goto yy86;
9656
967
        goto yy808;
9657
7.13k
      } else {
9658
7.13k
        if (yych <= '\n') goto yy846;
9659
4.75k
        if (yych <= '\f') goto yy808;
9660
4.48k
        goto yy846;
9661
4.75k
      }
9662
24.4k
    } else {
9663
24.4k
      if (yych <= '*') {
9664
8.57k
        if (yych <= ')') goto yy808;
9665
1.59k
        goto yy848;
9666
15.8k
      } else {
9667
15.8k
        if (yych == '/') goto yy694;
9668
5.07k
        goto yy808;
9669
15.8k
      }
9670
24.4k
    }
9671
12.2k
yy850:
9672
12.2k
    YYDEBUG(850, *YYCURSOR);
9673
12.2k
    ++YYCURSOR;
9674
12.2k
    YYFILL(1);
9675
12.2k
    yych = *YYCURSOR;
9676
12.2k
    if (yych <= '\r') {
9677
3.41k
      if (yych <= '\t') {
9678
822
        if (yych <= 0x00) goto yy86;
9679
447
        goto yy692;
9680
2.59k
      } else {
9681
2.59k
        if (yych <= '\n') goto yy616;
9682
2.28k
        if (yych <= '\f') goto yy692;
9683
230
        goto yy616;
9684
2.28k
      }
9685
8.83k
    } else {
9686
8.83k
      if (yych <= 'M') {
9687
5.94k
        if (yych <= 'L') goto yy692;
9688
5.62k
        goto yy880;
9689
5.94k
      } else {
9690
2.89k
        if (yych == 'm') goto yy880;
9691
1.44k
        goto yy692;
9692
2.89k
      }
9693
8.83k
    }
9694
7.31k
yy851:
9695
7.31k
    YYDEBUG(851, *YYCURSOR);
9696
7.31k
    yyaccept = 4;
9697
7.31k
    yych = *(YYMARKER = ++YYCURSOR);
9698
7.31k
    if (yych == '_') goto yy881;
9699
1.06k
    goto yy48;
9700
4.05k
yy852:
9701
4.05k
    YYDEBUG(852, *YYCURSOR);
9702
4.05k
    yyaccept = 4;
9703
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
9704
4.05k
    if (yych == 'P') goto yy882;
9705
3.30k
    if (yych == 'p') goto yy882;
9706
582
    goto yy48;
9707
9.47k
yy853:
9708
9.47k
    YYDEBUG(853, *YYCURSOR);
9709
9.47k
    yyaccept = 87;
9710
9.47k
    yych = *(YYMARKER = ++YYCURSOR);
9711
9.47k
    if (yybm[256+yych] & 128) {
9712
749
      goto yy47;
9713
749
    }
9714
8.72k
    if (yych == '\\') goto yy164;
9715
8.72k
yy854:
9716
8.72k
    YYDEBUG(854, *YYCURSOR);
9717
8.72k
    yyleng = YYCURSOR - SCNG(yy_text);
9718
8.72k
#line 2268 "Zend/zend_language_scanner.l"
9719
8.72k
    {
9720
8.72k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9721
8.72k
}
9722
0
#line 9723 "Zend/zend_language_scanner.c"
9723
5.53k
yy855:
9724
5.53k
    YYDEBUG(855, *YYCURSOR);
9725
5.53k
    yyaccept = 4;
9726
5.53k
    yych = *(YYMARKER = ++YYCURSOR);
9727
5.53k
    if (yych == 'E') goto yy883;
9728
3.55k
    if (yych == 'e') goto yy883;
9729
599
    goto yy48;
9730
2.93k
yy856:
9731
2.93k
    YYDEBUG(856, *YYCURSOR);
9732
2.93k
    yyaccept = 4;
9733
2.93k
    yych = *(YYMARKER = ++YYCURSOR);
9734
2.93k
    if (yych == '_') goto yy884;
9735
1.08k
    goto yy48;
9736
2.59k
yy857:
9737
2.59k
    YYDEBUG(857, *YYCURSOR);
9738
2.59k
    yych = *++YYCURSOR;
9739
2.59k
    if (yych == 'S') goto yy885;
9740
2.44k
    if (yych == 's') goto yy885;
9741
2.09k
    goto yy86;
9742
2.40k
yy858:
9743
2.40k
    YYDEBUG(858, *YYCURSOR);
9744
2.40k
    yych = *++YYCURSOR;
9745
2.40k
    if (yych == 'E') goto yy887;
9746
1.72k
    if (yych == 'e') goto yy887;
9747
635
    goto yy86;
9748
343k
yy859:
9749
343k
    YYDEBUG(859, *YYCURSOR);
9750
343k
    ++YYCURSOR;
9751
343k
    YYFILL(1);
9752
343k
    yych = *YYCURSOR;
9753
343k
    YYDEBUG(860, *YYCURSOR);
9754
343k
    if (yych <= '@') {
9755
164k
      if (yych <= 0x1F) {
9756
19.9k
        if (yych <= '\t') {
9757
3.35k
          if (yych <= 0x00) goto yy86;
9758
2.69k
          if (yych <= 0x08) goto yy738;
9759
1.50k
          goto yy859;
9760
16.5k
        } else {
9761
16.5k
          if (yych <= '\n') goto yy787;
9762
15.4k
          if (yych == '\r') goto yy787;
9763
1.51k
          goto yy738;
9764
15.4k
        }
9765
144k
      } else {
9766
144k
        if (yych <= ')') {
9767
76.0k
          if (yych <= ' ') goto yy859;
9768
50.2k
          if (yych == '#') goto yy888;
9769
10.1k
          goto yy738;
9770
68.2k
        } else {
9771
68.2k
          if (yych <= '*') goto yy789;
9772
67.5k
          if (yych == '/') goto yy889;
9773
4.63k
          goto yy738;
9774
67.5k
        }
9775
144k
      }
9776
179k
    } else {
9777
179k
      if (yych <= '_') {
9778
15.9k
        if (yych <= 'H') {
9779
1.50k
          if (yych == 'E') goto yy891;
9780
1.00k
          goto yy890;
9781
14.4k
        } else {
9782
14.4k
          if (yych <= 'I') goto yy892;
9783
5.55k
          if (yych <= 'Z') goto yy890;
9784
4.17k
          if (yych <= '^') goto yy738;
9785
3.70k
          goto yy890;
9786
4.17k
        }
9787
163k
      } else {
9788
163k
        if (yych <= 'h') {
9789
102k
          if (yych <= '`') goto yy738;
9790
101k
          if (yych == 'e') goto yy891;
9791
1.82k
          goto yy890;
9792
101k
        } else {
9793
60.4k
          if (yych <= 'i') goto yy892;
9794
27.3k
          if (yych <= 'z') goto yy890;
9795
21.4k
          if (yych <= 0x7F) goto yy738;
9796
11.2k
          goto yy890;
9797
21.4k
        }
9798
163k
      }
9799
179k
    }
9800
34.5k
yy861:
9801
34.5k
    YYDEBUG(861, *YYCURSOR);
9802
34.5k
    ++YYCURSOR;
9803
34.5k
    YYFILL(1);
9804
34.5k
    yych = *YYCURSOR;
9805
34.5k
    if (yych <= '*') {
9806
1.67k
      if (yych <= 0x00) goto yy86;
9807
1.35k
      if (yych <= ')') goto yy590;
9808
227
      goto yy668;
9809
32.8k
    } else {
9810
32.8k
      if (yych == '/') goto yy787;
9811
545
      goto yy590;
9812
32.8k
    }
9813
5.23k
yy862:
9814
5.23k
    YYDEBUG(862, *YYCURSOR);
9815
5.23k
    ++YYCURSOR;
9816
5.23k
    YYFILL(1);
9817
5.23k
    yych = *YYCURSOR;
9818
5.23k
    if (yych <= 'S') {
9819
637
      if (yych <= 0x00) goto yy86;
9820
442
      if (yych == '*') goto yy668;
9821
242
      goto yy590;
9822
4.60k
    } else {
9823
4.60k
      if (yych <= 'T') goto yy893;
9824
3.69k
      if (yych == 't') goto yy893;
9825
488
      goto yy590;
9826
3.69k
    }
9827
11.0k
yy863:
9828
11.0k
    YYDEBUG(863, *YYCURSOR);
9829
11.0k
    ++YYCURSOR;
9830
11.0k
    YYFILL(1);
9831
11.0k
    yych = *YYCURSOR;
9832
11.0k
    if (yych <= 'O') {
9833
833
      if (yych <= 0x00) goto yy86;
9834
636
      if (yych == '*') goto yy668;
9835
569
      goto yy590;
9836
10.2k
    } else {
9837
10.2k
      if (yych <= 'P') goto yy894;
9838
8.41k
      if (yych == 'p') goto yy894;
9839
279
      goto yy590;
9840
8.41k
    }
9841
6.45k
yy864:
9842
6.45k
    YYDEBUG(864, *YYCURSOR);
9843
6.45k
    ++YYCURSOR;
9844
6.45k
    YYFILL(1);
9845
6.45k
    yych = *YYCURSOR;
9846
6.45k
    if (yych <= '\r') {
9847
1.10k
      if (yych <= '\t') {
9848
324
        if (yych <= 0x00) goto yy86;
9849
235
        goto yy586;
9850
779
      } else {
9851
779
        if (yych <= '\n') goto yy495;
9852
436
        if (yych <= '\f') goto yy586;
9853
233
        goto yy495;
9854
436
      }
9855
5.35k
    } else {
9856
5.35k
      if (yych <= 'D') {
9857
2.95k
        if (yych <= 'C') goto yy586;
9858
929
        goto yy895;
9859
2.95k
      } else {
9860
2.40k
        if (yych == 'd') goto yy895;
9861
479
        goto yy586;
9862
2.40k
      }
9863
5.35k
    }
9864
21.3k
yy865:
9865
21.3k
    YYDEBUG(865, *YYCURSOR);
9866
21.3k
    ++YYCURSOR;
9867
21.3k
    YYFILL(1);
9868
21.3k
    yych = *YYCURSOR;
9869
21.3k
    if (yych <= '\r') {
9870
4.96k
      if (yych <= '\t') {
9871
3.72k
        if (yych <= 0x00) goto yy86;
9872
3.60k
        goto yy586;
9873
3.72k
      } else {
9874
1.24k
        if (yych <= '\n') goto yy495;
9875
747
        if (yych <= '\f') goto yy586;
9876
290
        goto yy495;
9877
747
      }
9878
16.4k
    } else {
9879
16.4k
      if (yych <= 'M') {
9880
2.49k
        if (yych <= 'L') goto yy586;
9881
2.01k
        goto yy896;
9882
13.9k
      } else {
9883
13.9k
        if (yych == 'm') goto yy896;
9884
3.44k
        goto yy586;
9885
13.9k
      }
9886
16.4k
    }
9887
4.00k
yy866:
9888
4.00k
    YYDEBUG(866, *YYCURSOR);
9889
4.00k
    yyaccept = 4;
9890
4.00k
    yych = *(YYMARKER = ++YYCURSOR);
9891
4.00k
    if (yych == 'E') goto yy897;
9892
3.22k
    if (yych == 'e') goto yy897;
9893
576
    goto yy48;
9894
30.3k
yy867:
9895
30.3k
    YYDEBUG(867, *YYCURSOR);
9896
30.3k
    yyaccept = 88;
9897
30.3k
    YYMARKER = ++YYCURSOR;
9898
30.3k
    YYFILL(1);
9899
30.3k
    yych = *YYCURSOR;
9900
30.3k
    YYDEBUG(868, *YYCURSOR);
9901
30.3k
    if (yych <= '\\') {
9902
7.32k
      if (yych <= '@') {
9903
3.09k
        if (yych <= '/') goto yy869;
9904
2.07k
        if (yych <= '9') goto yy867;
9905
4.22k
      } else {
9906
4.22k
        if (yych <= 'Z') goto yy867;
9907
2.21k
        if (yych >= '\\') goto yy840;
9908
2.21k
      }
9909
23.0k
    } else {
9910
23.0k
      if (yych <= '`') {
9911
1.26k
        if (yych == '_') goto yy867;
9912
21.7k
      } else {
9913
21.7k
        if (yych <= 'z') goto yy867;
9914
13.0k
        if (yych >= 0x80) goto yy867;
9915
13.0k
      }
9916
23.0k
    }
9917
3.83k
yy869:
9918
3.83k
    YYDEBUG(869, *YYCURSOR);
9919
3.83k
    yyleng = YYCURSOR - SCNG(yy_text);
9920
3.83k
#line 2438 "Zend/zend_language_scanner.l"
9921
3.83k
    {
9922
3.83k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9923
3.83k
}
9924
0
#line 9925 "Zend/zend_language_scanner.c"
9925
887
yy870:
9926
887
    YYDEBUG(870, *YYCURSOR);
9927
887
    yych = *++YYCURSOR;
9928
887
    if (yych == ')') goto yy899;
9929
322
    goto yy86;
9930
2.22k
yy871:
9931
2.22k
    YYDEBUG(871, *YYCURSOR);
9932
2.22k
    yych = *++YYCURSOR;
9933
2.22k
    if (yych == 'E') goto yy901;
9934
1.46k
    if (yych == 'e') goto yy901;
9935
773
    goto yy86;
9936
1.32k
yy872:
9937
1.32k
    YYDEBUG(872, *YYCURSOR);
9938
1.32k
    ++YYCURSOR;
9939
1.32k
    YYDEBUG(873, *YYCURSOR);
9940
1.32k
    yyleng = YYCURSOR - SCNG(yy_text);
9941
1.32k
#line 1785 "Zend/zend_language_scanner.l"
9942
1.32k
    {
9943
1.32k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9944
1.32k
}
9945
0
#line 9946 "Zend/zend_language_scanner.c"
9946
2.73k
yy874:
9947
2.73k
    YYDEBUG(874, *YYCURSOR);
9948
2.73k
    yyaccept = 4;
9949
2.73k
    yych = *(YYMARKER = ++YYCURSOR);
9950
2.73k
    if (yych == 'E') goto yy902;
9951
2.07k
    if (yych == 'e') goto yy902;
9952
606
    goto yy48;
9953
4.44k
yy875:
9954
4.44k
    YYDEBUG(875, *YYCURSOR);
9955
4.44k
    ++YYCURSOR;
9956
21.7k
yy876:
9957
21.7k
    YYDEBUG(876, *YYCURSOR);
9958
21.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9959
21.7k
#line 1427 "Zend/zend_language_scanner.l"
9960
21.7k
    {
9961
21.7k
  yyless(yyleng - 1);
9962
21.7k
  HANDLE_NEWLINES(yytext, yyleng);
9963
21.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9964
21.7k
}
9965
0
#line 9966 "Zend/zend_language_scanner.c"
9966
123k
yy877:
9967
123k
    YYDEBUG(877, *YYCURSOR);
9968
123k
    ++YYCURSOR;
9969
123k
    YYFILL(1);
9970
123k
    yych = *YYCURSOR;
9971
123k
    if (yych <= '\r') {
9972
98.2k
      if (yych <= '\t') {
9973
961
        if (yych <= 0x00) goto yy86;
9974
716
        goto yy808;
9975
97.3k
      } else {
9976
97.3k
        if (yych <= '\n') goto yy904;
9977
41.1k
        if (yych <= '\f') goto yy808;
9978
40.8k
        goto yy904;
9979
41.1k
      }
9980
98.2k
    } else {
9981
25.5k
      if (yych <= '*') {
9982
5.04k
        if (yych <= ')') goto yy808;
9983
1.91k
        goto yy848;
9984
20.5k
      } else {
9985
20.5k
        if (yych == '[') goto yy696;
9986
20.2k
        goto yy808;
9987
20.5k
      }
9988
25.5k
    }
9989
30.0k
yy878:
9990
30.0k
    YYDEBUG(878, *YYCURSOR);
9991
30.0k
    ++YYCURSOR;
9992
30.0k
    YYFILL(1);
9993
30.0k
    yych = *YYCURSOR;
9994
30.0k
    if (yych <= '*') {
9995
28.1k
      if (yych <= 0x00) goto yy86;
9996
27.7k
      if (yych <= ')') goto yy696;
9997
27.2k
      goto yy906;
9998
27.7k
    } else {
9999
1.94k
      if (yych == '/') goto yy808;
10000
1.58k
      goto yy696;
10001
1.94k
    }
10002
9.51k
yy879:
10003
9.51k
    YYDEBUG(879, *YYCURSOR);
10004
9.51k
    ++YYCURSOR;
10005
9.51k
    YYFILL(1);
10006
9.51k
    yych = *YYCURSOR;
10007
9.51k
    if (yych <= 'Q') {
10008
1.14k
      if (yych <= 0x00) goto yy86;
10009
966
      if (yych == '*') goto yy760;
10010
616
      goto yy696;
10011
8.36k
    } else {
10012
8.36k
      if (yych <= 'R') goto yy907;
10013
1.63k
      if (yych == 'r') goto yy907;
10014
690
      goto yy696;
10015
1.63k
    }
10016
7.07k
yy880:
10017
7.07k
    YYDEBUG(880, *YYCURSOR);
10018
7.07k
    ++YYCURSOR;
10019
7.07k
    YYFILL(1);
10020
7.07k
    yych = *YYCURSOR;
10021
7.07k
    if (yych <= '9') {
10022
4.22k
      if (yych <= '\n') {
10023
1.57k
        if (yych <= 0x00) goto yy875;
10024
1.50k
        if (yych <= '\t') goto yy908;
10025
1.27k
        goto yy909;
10026
2.65k
      } else {
10027
2.65k
        if (yych == '\r') goto yy909;
10028
974
        if (yych <= '/') goto yy908;
10029
218
        goto yy692;
10030
974
      }
10031
4.22k
    } else {
10032
2.85k
      if (yych <= '_') {
10033
1.34k
        if (yych <= '@') goto yy908;
10034
844
        if (yych <= 'Z') goto yy692;
10035
507
        if (yych <= '^') goto yy908;
10036
69
        goto yy692;
10037
1.51k
      } else {
10038
1.51k
        if (yych <= '`') goto yy908;
10039
1.27k
        if (yych <= 'z') goto yy692;
10040
991
        if (yych <= 0x7F) goto yy908;
10041
580
        goto yy692;
10042
991
      }
10043
2.85k
    }
10044
6.25k
yy881:
10045
6.25k
    YYDEBUG(881, *YYCURSOR);
10046
6.25k
    yyaccept = 4;
10047
6.25k
    yych = *(YYMARKER = ++YYCURSOR);
10048
6.25k
    if (yych == '_') goto yy910;
10049
161
    goto yy48;
10050
3.47k
yy882:
10051
3.47k
    YYDEBUG(882, *YYCURSOR);
10052
3.47k
    yyaccept = 4;
10053
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
10054
3.47k
    if (yych == 'I') goto yy912;
10055
2.66k
    if (yych == 'i') goto yy912;
10056
251
    goto yy48;
10057
4.94k
yy883:
10058
4.94k
    YYDEBUG(883, *YYCURSOR);
10059
4.94k
    yyaccept = 4;
10060
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
10061
4.94k
    if (yych == '_') goto yy913;
10062
500
    goto yy48;
10063
1.84k
yy884:
10064
1.84k
    YYDEBUG(884, *YYCURSOR);
10065
1.84k
    yyaccept = 4;
10066
1.84k
    yych = *(YYMARKER = ++YYCURSOR);
10067
1.84k
    if (yych == '_') goto yy914;
10068
105
    goto yy48;
10069
500
yy885:
10070
500
    YYDEBUG(885, *YYCURSOR);
10071
500
    ++YYCURSOR;
10072
4.10k
yy886:
10073
4.10k
    YYDEBUG(886, *YYCURSOR);
10074
4.10k
    yyleng = YYCURSOR - SCNG(yy_text);
10075
4.10k
#line 1569 "Zend/zend_language_scanner.l"
10076
4.10k
    {
10077
4.10k
  yyless(4);
10078
4.10k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10079
4.10k
}
10080
0
#line 10081 "Zend/zend_language_scanner.c"
10081
1.76k
yy887:
10082
1.76k
    YYDEBUG(887, *YYCURSOR);
10083
1.76k
    yych = *++YYCURSOR;
10084
1.76k
    if (yych == 'N') goto yy916;
10085
1.12k
    if (yych == 'n') goto yy916;
10086
424
    goto yy86;
10087
40.0k
yy888:
10088
40.0k
    YYDEBUG(888, *YYCURSOR);
10089
40.0k
    ++YYCURSOR;
10090
40.0k
    YYFILL(1);
10091
40.0k
    yych = *YYCURSOR;
10092
40.0k
    if (yych <= '\f') {
10093
23.2k
      if (yych <= 0x00) goto yy86;
10094
23.0k
      if (yych == '\n') goto yy859;
10095
276
      goto yy738;
10096
23.0k
    } else {
10097
16.8k
      if (yych <= '\r') goto yy859;
10098
15.4k
      if (yych == '*') goto yy789;
10099
14.8k
      goto yy738;
10100
15.4k
    }
10101
62.9k
yy889:
10102
62.9k
    YYDEBUG(889, *YYCURSOR);
10103
62.9k
    ++YYCURSOR;
10104
62.9k
    YYFILL(1);
10105
62.9k
    yych = *YYCURSOR;
10106
62.9k
    if (yych <= '\f') {
10107
1.50k
      if (yych <= 0x00) goto yy86;
10108
842
      if (yych == '\n') goto yy787;
10109
418
      goto yy738;
10110
61.4k
    } else {
10111
61.4k
      if (yych <= '\r') goto yy787;
10112
60.5k
      if (yych == '*') goto yy917;
10113
3.28k
      goto yy738;
10114
60.5k
    }
10115
25.0k
yy890:
10116
25.0k
    YYDEBUG(890, *YYCURSOR);
10117
25.0k
    yyaccept = 53;
10118
25.0k
    YYMARKER = ++YYCURSOR;
10119
25.0k
    YYFILL(1);
10120
25.0k
    yych = *YYCURSOR;
10121
25.0k
    if (yych <= '\f') {
10122
2.93k
      if (yych <= 0x00) goto yy583;
10123
2.45k
      if (yych == '\n') goto yy787;
10124
229
      goto yy738;
10125
22.1k
    } else {
10126
22.1k
      if (yych <= '\r') goto yy787;
10127
21.8k
      if (yych == '*') goto yy789;
10128
21.3k
      goto yy738;
10129
21.8k
    }
10130
100k
yy891:
10131
100k
    YYDEBUG(891, *YYCURSOR);
10132
100k
    yyaccept = 53;
10133
100k
    YYMARKER = ++YYCURSOR;
10134
100k
    YYFILL(1);
10135
100k
    yych = *YYCURSOR;
10136
100k
    if (yych <= ')') {
10137
5.97k
      if (yych <= '\n') {
10138
3.11k
        if (yych <= 0x00) goto yy583;
10139
2.83k
        if (yych <= '\t') goto yy738;
10140
630
        goto yy787;
10141
2.86k
      } else {
10142
2.86k
        if (yych == '\r') goto yy787;
10143
1.78k
        goto yy738;
10144
2.86k
      }
10145
94.3k
    } else {
10146
94.3k
      if (yych <= 'X') {
10147
29.6k
        if (yych <= '*') goto yy789;
10148
29.5k
        if (yych <= 'W') goto yy738;
10149
4.30k
        goto yy918;
10150
64.7k
      } else {
10151
64.7k
        if (yych == 'x') goto yy918;
10152
40.8k
        goto yy738;
10153
64.7k
      }
10154
94.3k
    }
10155
41.9k
yy892:
10156
41.9k
    YYDEBUG(892, *YYCURSOR);
10157
41.9k
    yyaccept = 53;
10158
41.9k
    YYMARKER = ++YYCURSOR;
10159
41.9k
    YYFILL(1);
10160
41.9k
    yych = *YYCURSOR;
10161
41.9k
    if (yych <= ')') {
10162
1.31k
      if (yych <= '\n') {
10163
667
        if (yych <= 0x00) goto yy583;
10164
406
        if (yych <= '\t') goto yy738;
10165
244
        goto yy787;
10166
645
      } else {
10167
645
        if (yych == '\r') goto yy787;
10168
393
        goto yy738;
10169
645
      }
10170
40.6k
    } else {
10171
40.6k
      if (yych <= 'M') {
10172
8.91k
        if (yych <= '*') goto yy789;
10173
8.71k
        if (yych <= 'L') goto yy738;
10174
7.76k
        goto yy919;
10175
31.7k
      } else {
10176
31.7k
        if (yych == 'm') goto yy919;
10177
1.68k
        goto yy738;
10178
31.7k
      }
10179
40.6k
    }
10180
4.11k
yy893:
10181
4.11k
    YYDEBUG(893, *YYCURSOR);
10182
4.11k
    ++YYCURSOR;
10183
4.11k
    YYFILL(1);
10184
4.11k
    yych = *YYCURSOR;
10185
4.11k
    if (yych <= 'D') {
10186
838
      if (yych <= 0x00) goto yy86;
10187
600
      if (yych == '*') goto yy668;
10188
411
      goto yy590;
10189
3.27k
    } else {
10190
3.27k
      if (yych <= 'E') goto yy920;
10191
3.06k
      if (yych == 'e') goto yy920;
10192
323
      goto yy590;
10193
3.06k
    }
10194
9.92k
yy894:
10195
9.92k
    YYDEBUG(894, *YYCURSOR);
10196
9.92k
    ++YYCURSOR;
10197
9.92k
    YYFILL(1);
10198
9.92k
    yych = *YYCURSOR;
10199
9.92k
    if (yych <= 'K') {
10200
2.95k
      if (yych <= 0x00) goto yy86;
10201
2.17k
      if (yych == '*') goto yy668;
10202
1.98k
      goto yy590;
10203
6.96k
    } else {
10204
6.96k
      if (yych <= 'L') goto yy921;
10205
5.21k
      if (yych == 'l') goto yy921;
10206
275
      goto yy590;
10207
5.21k
    }
10208
6.71k
yy895:
10209
6.71k
    YYDEBUG(895, *YYCURSOR);
10210
6.71k
    ++YYCURSOR;
10211
6.71k
    YYFILL(1);
10212
6.71k
    yych = *YYCURSOR;
10213
6.71k
    if (yych <= '\r') {
10214
1.79k
      if (yych <= '\t') {
10215
575
        if (yych <= 0x00) goto yy86;
10216
356
        goto yy586;
10217
1.21k
      } else {
10218
1.21k
        if (yych <= '\n') goto yy495;
10219
1.07k
        if (yych <= '\f') goto yy586;
10220
588
        goto yy495;
10221
1.07k
      }
10222
4.92k
    } else {
10223
4.92k
      if (yych <= 'S') {
10224
1.24k
        if (yych <= 'R') goto yy586;
10225
298
        goto yy922;
10226
3.67k
      } else {
10227
3.67k
        if (yych == 's') goto yy922;
10228
516
        goto yy586;
10229
3.67k
      }
10230
4.92k
    }
10231
12.4k
yy896:
10232
12.4k
    YYDEBUG(896, *YYCURSOR);
10233
12.4k
    ++YYCURSOR;
10234
12.4k
    YYFILL(1);
10235
12.4k
    yych = *YYCURSOR;
10236
12.4k
    if (yych <= '\r') {
10237
2.04k
      if (yych <= '\t') {
10238
402
        if (yych <= 0x00) goto yy86;
10239
238
        goto yy586;
10240
1.64k
      } else {
10241
1.64k
        if (yych <= '\n') goto yy495;
10242
1.26k
        if (yych <= '\f') goto yy586;
10243
648
        goto yy495;
10244
1.26k
      }
10245
10.4k
    } else {
10246
10.4k
      if (yych <= 'E') {
10247
1.22k
        if (yych <= 'D') goto yy586;
10248
813
        goto yy923;
10249
9.21k
      } else {
10250
9.21k
        if (yych == 'e') goto yy923;
10251
923
        goto yy586;
10252
9.21k
      }
10253
10.4k
    }
10254
3.42k
yy897:
10255
3.42k
    YYDEBUG(897, *YYCURSOR);
10256
3.42k
    yyaccept = 89;
10257
3.42k
    yych = *(YYMARKER = ++YYCURSOR);
10258
3.42k
    if (yybm[256+yych] & 128) {
10259
365
      goto yy47;
10260
365
    }
10261
3.06k
    if (yych == '\\') goto yy164;
10262
3.04k
yy898:
10263
3.04k
    YYDEBUG(898, *YYCURSOR);
10264
3.04k
    yyleng = YYCURSOR - SCNG(yy_text);
10265
3.04k
#line 1725 "Zend/zend_language_scanner.l"
10266
3.04k
    {
10267
3.04k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10268
3.04k
}
10269
0
#line 10270 "Zend/zend_language_scanner.c"
10270
565
yy899:
10271
565
    YYDEBUG(899, *YYCURSOR);
10272
565
    ++YYCURSOR;
10273
565
    YYDEBUG(900, *YYCURSOR);
10274
565
    yyleng = YYCURSOR - SCNG(yy_text);
10275
565
#line 1793 "Zend/zend_language_scanner.l"
10276
565
    {
10277
565
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10278
565
}
10279
0
#line 10280 "Zend/zend_language_scanner.c"
10280
1.44k
yy901:
10281
1.44k
    YYDEBUG(901, *YYCURSOR);
10282
1.44k
    yych = *++YYCURSOR;
10283
1.44k
    if (yych == 'T') goto yy924;
10284
1.24k
    if (yych == 't') goto yy924;
10285
578
    goto yy86;
10286
2.12k
yy902:
10287
2.12k
    YYDEBUG(902, *YYCURSOR);
10288
2.12k
    yyaccept = 90;
10289
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
10290
2.12k
    if (yybm[256+yych] & 128) {
10291
394
      goto yy47;
10292
394
    }
10293
1.73k
    if (yych == '\\') goto yy164;
10294
1.73k
yy903:
10295
1.73k
    YYDEBUG(903, *YYCURSOR);
10296
1.73k
    yyleng = YYCURSOR - SCNG(yy_text);
10297
1.73k
#line 1733 "Zend/zend_language_scanner.l"
10298
1.73k
    {
10299
1.73k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10300
1.73k
}
10301
0
#line 10302 "Zend/zend_language_scanner.c"
10302
123k
yy904:
10303
123k
    YYDEBUG(904, *YYCURSOR);
10304
123k
    ++YYCURSOR;
10305
123k
    YYFILL(1);
10306
123k
    yych = *YYCURSOR;
10307
123k
    YYDEBUG(905, *YYCURSOR);
10308
123k
    if (yych <= '"') {
10309
14.4k
      if (yych <= '\n') {
10310
4.74k
        if (yych <= 0x00) goto yy86;
10311
4.24k
        if (yych <= 0x08) goto yy808;
10312
3.26k
        if (yych <= '\t') goto yy904;
10313
1.49k
        goto yy846;
10314
9.71k
      } else {
10315
9.71k
        if (yych <= '\r') {
10316
7.89k
          if (yych <= '\f') goto yy808;
10317
7.82k
          goto yy846;
10318
7.89k
        } else {
10319
1.82k
          if (yych == ' ') goto yy904;
10320
886
          goto yy808;
10321
1.82k
        }
10322
9.71k
      }
10323
109k
    } else {
10324
109k
      if (yych <= '/') {
10325
44.1k
        if (yych <= ')') {
10326
9.04k
          if (yych <= '#') goto yy925;
10327
3.26k
          goto yy808;
10328
35.0k
        } else {
10329
35.0k
          if (yych <= '*') goto yy848;
10330
34.6k
          if (yych <= '.') goto yy808;
10331
33.4k
          goto yy926;
10332
34.6k
        }
10333
65.3k
      } else {
10334
65.3k
        if (yych <= 'F') {
10335
32.7k
          if (yych <= 'E') goto yy808;
10336
30.3k
          goto yy927;
10337
32.7k
        } else {
10338
32.5k
          if (yych == 'f') goto yy927;
10339
32.0k
          goto yy808;
10340
32.5k
        }
10341
65.3k
      }
10342
109k
    }
10343
27.2k
yy906:
10344
27.2k
    YYDEBUG(906, *YYCURSOR);
10345
27.2k
    ++YYCURSOR;
10346
27.2k
    YYFILL(1);
10347
27.2k
    yych = *YYCURSOR;
10348
27.2k
    if (yych <= '*') {
10349
2.52k
      if (yych <= 0x00) goto yy86;
10350
2.18k
      if (yych <= ')') goto yy696;
10351
327
      goto yy760;
10352
24.7k
    } else {
10353
24.7k
      if (yych == '/') goto yy846;
10354
325
      goto yy696;
10355
24.7k
    }
10356
7.67k
yy907:
10357
7.67k
    YYDEBUG(907, *YYCURSOR);
10358
7.67k
    ++YYCURSOR;
10359
7.67k
    YYFILL(1);
10360
7.67k
    yych = *YYCURSOR;
10361
7.67k
    if (yych <= 'N') {
10362
768
      if (yych <= 0x00) goto yy86;
10363
487
      if (yych == '*') goto yy760;
10364
419
      goto yy696;
10365
6.90k
    } else {
10366
6.90k
      if (yych <= 'O') goto yy928;
10367
1.69k
      if (yych == 'o') goto yy928;
10368
371
      goto yy696;
10369
1.69k
    }
10370
2.57k
yy908:
10371
2.57k
    YYDEBUG(908, *YYCURSOR);
10372
2.57k
    yyaccept = 91;
10373
2.57k
    YYMARKER = ++YYCURSOR;
10374
2.57k
    YYFILL(1);
10375
2.57k
    yych = *YYCURSOR;
10376
2.57k
    if (yych <= '\n') {
10377
1.36k
      if (yych <= 0x00) goto yy876;
10378
1.07k
      if (yych <= '\t') goto yy692;
10379
944
      goto yy616;
10380
1.21k
    } else {
10381
1.21k
      if (yych == '\r') goto yy616;
10382
811
      goto yy692;
10383
1.21k
    }
10384
2.94k
yy909:
10385
2.94k
    YYDEBUG(909, *YYCURSOR);
10386
2.94k
    yyaccept = 91;
10387
2.94k
    YYMARKER = ++YYCURSOR;
10388
2.94k
    YYFILL(5);
10389
2.94k
    yych = *YYCURSOR;
10390
2.94k
    if (yych <= '"') {
10391
1.66k
      if (yych <= '\f') {
10392
1.00k
        if (yych <= 0x08) goto yy876;
10393
872
        if (yych <= '\n') goto yy616;
10394
192
        goto yy876;
10395
872
      } else {
10396
655
        if (yych <= '\r') goto yy616;
10397
323
        if (yych == ' ') goto yy616;
10398
65
        goto yy876;
10399
323
      }
10400
1.66k
    } else {
10401
1.28k
      if (yych <= 'E') {
10402
781
        if (yych <= '#') goto yy618;
10403
540
        if (yych == '/') goto yy619;
10404
264
        goto yy876;
10405
540
      } else {
10406
503
        if (yych <= 'F') goto yy691;
10407
429
        if (yych == 'f') goto yy691;
10408
226
        goto yy876;
10409
429
      }
10410
1.28k
    }
10411
6.09k
yy910:
10412
6.09k
    YYDEBUG(910, *YYCURSOR);
10413
6.09k
    yyaccept = 92;
10414
6.09k
    yych = *(YYMARKER = ++YYCURSOR);
10415
6.09k
    if (yybm[256+yych] & 128) {
10416
656
      goto yy47;
10417
656
    }
10418
5.43k
    if (yych == '\\') goto yy164;
10419
5.41k
yy911:
10420
5.41k
    YYDEBUG(911, *YYCURSOR);
10421
5.41k
    yyleng = YYCURSOR - SCNG(yy_text);
10422
5.41k
#line 2260 "Zend/zend_language_scanner.l"
10423
5.41k
    {
10424
5.41k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10425
5.41k
}
10426
0
#line 10427 "Zend/zend_language_scanner.c"
10427
3.22k
yy912:
10428
3.22k
    YYDEBUG(912, *YYCURSOR);
10429
3.22k
    yyaccept = 4;
10430
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
10431
3.22k
    if (yych == 'L') goto yy929;
10432
2.98k
    if (yych == 'l') goto yy929;
10433
569
    goto yy48;
10434
4.44k
yy913:
10435
4.44k
    YYDEBUG(913, *YYCURSOR);
10436
4.44k
    yyaccept = 4;
10437
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
10438
4.44k
    if (yych == '_') goto yy930;
10439
837
    goto yy48;
10440
1.74k
yy914:
10441
1.74k
    YYDEBUG(914, *YYCURSOR);
10442
1.74k
    yyaccept = 93;
10443
1.74k
    yych = *(YYMARKER = ++YYCURSOR);
10444
1.74k
    if (yybm[256+yych] & 128) {
10445
329
      goto yy47;
10446
329
    }
10447
1.41k
    if (yych == '\\') goto yy164;
10448
1.41k
yy915:
10449
1.41k
    YYDEBUG(915, *YYCURSOR);
10450
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
10451
1.41k
#line 2264 "Zend/zend_language_scanner.l"
10452
1.41k
    {
10453
1.41k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10454
1.41k
}
10455
0
#line 10456 "Zend/zend_language_scanner.c"
10456
1.34k
yy916:
10457
1.34k
    YYDEBUG(916, *YYCURSOR);
10458
1.34k
    yych = *++YYCURSOR;
10459
1.34k
    if (yych == 'T') goto yy857;
10460
876
    if (yych == 't') goto yy857;
10461
375
    goto yy86;
10462
57.2k
yy917:
10463
57.2k
    YYDEBUG(917, *YYCURSOR);
10464
57.2k
    ++YYCURSOR;
10465
57.2k
    YYFILL(1);
10466
57.2k
    yych = *YYCURSOR;
10467
57.2k
    if (yych <= '\r') {
10468
3.11k
      if (yych <= '\t') {
10469
545
        if (yych <= 0x00) goto yy86;
10470
251
        goto yy738;
10471
2.57k
      } else {
10472
2.57k
        if (yych <= '\n') goto yy787;
10473
1.63k
        if (yych <= '\f') goto yy738;
10474
1.41k
        goto yy787;
10475
1.63k
      }
10476
54.1k
    } else {
10477
54.1k
      if (yych <= '*') {
10478
2.03k
        if (yych <= ')') goto yy738;
10479
788
        goto yy789;
10480
52.1k
      } else {
10481
52.1k
        if (yych == '/') goto yy859;
10482
750
        goto yy738;
10483
52.1k
      }
10484
54.1k
    }
10485
28.1k
yy918:
10486
28.1k
    YYDEBUG(918, *YYCURSOR);
10487
28.1k
    ++YYCURSOR;
10488
28.1k
    YYFILL(1);
10489
28.1k
    yych = *YYCURSOR;
10490
28.1k
    if (yych <= ')') {
10491
1.53k
      if (yych <= '\n') {
10492
721
        if (yych <= 0x00) goto yy86;
10493
449
        if (yych <= '\t') goto yy738;
10494
218
        goto yy787;
10495
814
      } else {
10496
814
        if (yych == '\r') goto yy787;
10497
576
        goto yy738;
10498
814
      }
10499
26.6k
    } else {
10500
26.6k
      if (yych <= 'T') {
10501
5.66k
        if (yych <= '*') goto yy789;
10502
5.58k
        if (yych <= 'S') goto yy738;
10503
4.73k
        goto yy932;
10504
20.9k
      } else {
10505
20.9k
        if (yych == 't') goto yy932;
10506
10.5k
        goto yy738;
10507
20.9k
      }
10508
26.6k
    }
10509
37.8k
yy919:
10510
37.8k
    YYDEBUG(919, *YYCURSOR);
10511
37.8k
    ++YYCURSOR;
10512
37.8k
    YYFILL(1);
10513
37.8k
    yych = *YYCURSOR;
10514
37.8k
    if (yych <= ')') {
10515
2.51k
      if (yych <= '\n') {
10516
1.95k
        if (yych <= 0x00) goto yy86;
10517
1.74k
        if (yych <= '\t') goto yy738;
10518
436
        goto yy787;
10519
1.74k
      } else {
10520
554
        if (yych == '\r') goto yy787;
10521
306
        goto yy738;
10522
554
      }
10523
35.2k
    } else {
10524
35.2k
      if (yych <= 'P') {
10525
8.50k
        if (yych <= '*') goto yy789;
10526
7.91k
        if (yych <= 'O') goto yy738;
10527
5.23k
        goto yy933;
10528
26.7k
      } else {
10529
26.7k
        if (yych == 'p') goto yy933;
10530
1.86k
        goto yy738;
10531
26.7k
      }
10532
35.2k
    }
10533
2.95k
yy920:
10534
2.95k
    YYDEBUG(920, *YYCURSOR);
10535
2.95k
    ++YYCURSOR;
10536
2.95k
    YYFILL(1);
10537
2.95k
    yych = *YYCURSOR;
10538
2.95k
    if (yych <= 'M') {
10539
670
      if (yych <= 0x00) goto yy86;
10540
453
      if (yych == '*') goto yy668;
10541
241
      goto yy590;
10542
2.28k
    } else {
10543
2.28k
      if (yych <= 'N') goto yy934;
10544
1.89k
      if (yych == 'n') goto yy934;
10545
295
      goto yy590;
10546
1.89k
    }
10547
6.69k
yy921:
10548
6.69k
    YYDEBUG(921, *YYCURSOR);
10549
6.69k
    ++YYCURSOR;
10550
6.69k
    YYFILL(1);
10551
6.69k
    yych = *YYCURSOR;
10552
6.69k
    if (yych <= 'D') {
10553
888
      if (yych <= 0x00) goto yy86;
10554
634
      if (yych == '*') goto yy668;
10555
479
      goto yy590;
10556
5.80k
    } else {
10557
5.80k
      if (yych <= 'E') goto yy935;
10558
4.04k
      if (yych == 'e') goto yy935;
10559
335
      goto yy590;
10560
4.04k
    }
10561
3.45k
yy922:
10562
3.45k
    YYDEBUG(922, *YYCURSOR);
10563
3.45k
    yyaccept = 94;
10564
3.45k
    YYMARKER = ++YYCURSOR;
10565
3.45k
    YYFILL(1);
10566
3.45k
    yych = *YYCURSOR;
10567
3.45k
    if (yych <= '\n') {
10568
276
      if (yych <= 0x00) goto yy886;
10569
205
      if (yych <= '\t') goto yy586;
10570
111
      goto yy495;
10571
3.18k
    } else {
10572
3.18k
      if (yych == '\r') goto yy495;
10573
2.96k
      goto yy586;
10574
3.18k
    }
10575
9.10k
yy923:
10576
9.10k
    YYDEBUG(923, *YYCURSOR);
10577
9.10k
    ++YYCURSOR;
10578
9.10k
    YYFILL(1);
10579
9.10k
    yych = *YYCURSOR;
10580
9.10k
    if (yych <= '\r') {
10581
2.10k
      if (yych <= '\t') {
10582
806
        if (yych <= 0x00) goto yy86;
10583
593
        goto yy586;
10584
1.30k
      } else {
10585
1.30k
        if (yych <= '\n') goto yy495;
10586
568
        if (yych <= '\f') goto yy586;
10587
365
        goto yy495;
10588
568
      }
10589
6.99k
    } else {
10590
6.99k
      if (yych <= 'N') {
10591
898
        if (yych <= 'M') goto yy586;
10592
657
        goto yy936;
10593
6.10k
      } else {
10594
6.10k
        if (yych == 'n') goto yy936;
10595
1.02k
        goto yy586;
10596
6.10k
      }
10597
6.99k
    }
10598
870
yy924:
10599
870
    YYDEBUG(924, *YYCURSOR);
10600
870
    yych = *++YYCURSOR;
10601
870
    if (yych == ')') goto yy937;
10602
262
    goto yy86;
10603
5.77k
yy925:
10604
5.77k
    YYDEBUG(925, *YYCURSOR);
10605
5.77k
    ++YYCURSOR;
10606
5.77k
    YYFILL(1);
10607
5.77k
    yych = *YYCURSOR;
10608
5.77k
    if (yych <= '\f') {
10609
2.18k
      if (yych <= 0x00) goto yy86;
10610
1.98k
      if (yych == '\n') goto yy904;
10611
218
      goto yy808;
10612
3.58k
    } else {
10613
3.58k
      if (yych <= '\r') goto yy904;
10614
1.78k
      if (yych == '*') goto yy848;
10615
1.27k
      goto yy808;
10616
1.78k
    }
10617
33.4k
yy926:
10618
33.4k
    YYDEBUG(926, *YYCURSOR);
10619
33.4k
    ++YYCURSOR;
10620
33.4k
    YYFILL(1);
10621
33.4k
    yych = *YYCURSOR;
10622
33.4k
    if (yych <= '\f') {
10623
1.30k
      if (yych <= 0x00) goto yy86;
10624
1.09k
      if (yych == '\n') goto yy846;
10625
271
      goto yy808;
10626
32.1k
    } else {
10627
32.1k
      if (yych <= '\r') goto yy846;
10628
31.4k
      if (yych == '*') goto yy939;
10629
2.53k
      goto yy808;
10630
31.4k
    }
10631
30.9k
yy927:
10632
30.9k
    YYDEBUG(927, *YYCURSOR);
10633
30.9k
    ++YYCURSOR;
10634
30.9k
    YYFILL(1);
10635
30.9k
    yych = *YYCURSOR;
10636
30.9k
    if (yych <= ')') {
10637
5.65k
      if (yych <= '\n') {
10638
5.31k
        if (yych <= 0x00) goto yy86;
10639
5.10k
        if (yych <= '\t') goto yy808;
10640
4.85k
        goto yy846;
10641
5.10k
      } else {
10642
341
        if (yych == '\r') goto yy846;
10643
62
        goto yy808;
10644
341
      }
10645
25.2k
    } else {
10646
25.2k
      if (yych <= 'R') {
10647
15.5k
        if (yych <= '*') goto yy848;
10648
15.3k
        if (yych <= 'Q') goto yy808;
10649
15.0k
        goto yy940;
10650
15.3k
      } else {
10651
9.71k
        if (yych == 'r') goto yy940;
10652
3.18k
        goto yy808;
10653
9.71k
      }
10654
25.2k
    }
10655
6.53k
yy928:
10656
6.53k
    YYDEBUG(928, *YYCURSOR);
10657
6.53k
    ++YYCURSOR;
10658
6.53k
    YYFILL(1);
10659
6.53k
    yych = *YYCURSOR;
10660
6.53k
    if (yych <= 'L') {
10661
992
      if (yych <= 0x00) goto yy86;
10662
716
      if (yych == '*') goto yy760;
10663
457
      goto yy696;
10664
5.54k
    } else {
10665
5.54k
      if (yych <= 'M') goto yy941;
10666
804
      if (yych == 'm') goto yy941;
10667
88
      goto yy696;
10668
804
    }
10669
2.65k
yy929:
10670
2.65k
    YYDEBUG(929, *YYCURSOR);
10671
2.65k
    yyaccept = 4;
10672
2.65k
    yych = *(YYMARKER = ++YYCURSOR);
10673
2.65k
    if (yych == 'E') goto yy942;
10674
2.43k
    if (yych == 'e') goto yy942;
10675
619
    goto yy48;
10676
3.60k
yy930:
10677
3.60k
    YYDEBUG(930, *YYCURSOR);
10678
3.60k
    yyaccept = 95;
10679
3.60k
    yych = *(YYMARKER = ++YYCURSOR);
10680
3.60k
    if (yybm[256+yych] & 128) {
10681
291
      goto yy47;
10682
291
    }
10683
3.31k
    if (yych == '\\') goto yy164;
10684
3.15k
yy931:
10685
3.15k
    YYDEBUG(931, *YYCURSOR);
10686
3.15k
    yyleng = YYCURSOR - SCNG(yy_text);
10687
3.15k
#line 2284 "Zend/zend_language_scanner.l"
10688
3.15k
    {
10689
3.15k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10690
3.15k
}
10691
0
#line 10692 "Zend/zend_language_scanner.c"
10692
15.2k
yy932:
10693
15.2k
    YYDEBUG(932, *YYCURSOR);
10694
15.2k
    ++YYCURSOR;
10695
15.2k
    YYFILL(1);
10696
15.2k
    yych = *YYCURSOR;
10697
15.2k
    if (yych <= ')') {
10698
2.03k
      if (yych <= '\n') {
10699
1.68k
        if (yych <= 0x00) goto yy86;
10700
1.45k
        if (yych <= '\t') goto yy738;
10701
1.15k
        goto yy787;
10702
1.45k
      } else {
10703
341
        if (yych == '\r') goto yy787;
10704
99
        goto yy738;
10705
341
      }
10706
13.1k
    } else {
10707
13.1k
      if (yych <= 'E') {
10708
1.38k
        if (yych <= '*') goto yy789;
10709
1.10k
        if (yych <= 'D') goto yy738;
10710
506
        goto yy943;
10711
11.7k
      } else {
10712
11.7k
        if (yych == 'e') goto yy943;
10713
1.07k
        goto yy738;
10714
11.7k
      }
10715
13.1k
    }
10716
30.1k
yy933:
10717
30.1k
    YYDEBUG(933, *YYCURSOR);
10718
30.1k
    ++YYCURSOR;
10719
30.1k
    YYFILL(1);
10720
30.1k
    yych = *YYCURSOR;
10721
30.1k
    if (yych <= ')') {
10722
1.88k
      if (yych <= '\n') {
10723
539
        if (yych <= 0x00) goto yy86;
10724
341
        if (yych <= '\t') goto yy738;
10725
201
        goto yy787;
10726
1.34k
      } else {
10727
1.34k
        if (yych == '\r') goto yy787;
10728
427
        goto yy738;
10729
1.34k
      }
10730
28.2k
    } else {
10731
28.2k
      if (yych <= 'L') {
10732
4.52k
        if (yych <= '*') goto yy789;
10733
4.31k
        if (yych <= 'K') goto yy738;
10734
3.65k
        goto yy944;
10735
23.7k
      } else {
10736
23.7k
        if (yych == 'l') goto yy944;
10737
1.44k
        goto yy738;
10738
23.7k
      }
10739
28.2k
    }
10740
1.98k
yy934:
10741
1.98k
    YYDEBUG(934, *YYCURSOR);
10742
1.98k
    ++YYCURSOR;
10743
1.98k
    YYFILL(1);
10744
1.98k
    yych = *YYCURSOR;
10745
1.98k
    if (yych <= 'C') {
10746
512
      if (yych <= 0x00) goto yy86;
10747
268
      if (yych == '*') goto yy668;
10748
65
      goto yy590;
10749
1.47k
    } else {
10750
1.47k
      if (yych <= 'D') goto yy945;
10751
1.20k
      if (yych == 'd') goto yy945;
10752
293
      goto yy590;
10753
1.20k
    }
10754
5.46k
yy935:
10755
5.46k
    YYDEBUG(935, *YYCURSOR);
10756
5.46k
    ++YYCURSOR;
10757
5.46k
    YYFILL(1);
10758
5.46k
    yych = *YYCURSOR;
10759
5.46k
    if (yych <= 'L') {
10760
1.11k
      if (yych <= 0x00) goto yy86;
10761
834
      if (yych == '*') goto yy668;
10762
539
      goto yy590;
10763
4.35k
    } else {
10764
4.35k
      if (yych <= 'M') goto yy946;
10765
3.42k
      if (yych == 'm') goto yy946;
10766
496
      goto yy590;
10767
3.42k
    }
10768
5.73k
yy936:
10769
5.73k
    YYDEBUG(936, *YYCURSOR);
10770
5.73k
    ++YYCURSOR;
10771
5.73k
    YYFILL(1);
10772
5.73k
    yych = *YYCURSOR;
10773
5.73k
    if (yych <= '\r') {
10774
1.19k
      if (yych <= '\t') {
10775
501
        if (yych <= 0x00) goto yy86;
10776
267
        goto yy586;
10777
690
      } else {
10778
690
        if (yych <= '\n') goto yy495;
10779
492
        if (yych <= '\f') goto yy586;
10780
239
        goto yy495;
10781
492
      }
10782
4.54k
    } else {
10783
4.54k
      if (yych <= 'T') {
10784
529
        if (yych <= 'S') goto yy586;
10785
72
        goto yy895;
10786
4.01k
      } else {
10787
4.01k
        if (yych == 't') goto yy895;
10788
223
        goto yy586;
10789
4.01k
      }
10790
4.54k
    }
10791
608
yy937:
10792
608
    YYDEBUG(937, *YYCURSOR);
10793
608
    ++YYCURSOR;
10794
608
    YYDEBUG(938, *YYCURSOR);
10795
608
    yyleng = YYCURSOR - SCNG(yy_text);
10796
608
#line 1789 "Zend/zend_language_scanner.l"
10797
608
    {
10798
608
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10799
608
}
10800
0
#line 10801 "Zend/zend_language_scanner.c"
10801
28.9k
yy939:
10802
28.9k
    YYDEBUG(939, *YYCURSOR);
10803
28.9k
    ++YYCURSOR;
10804
28.9k
    YYFILL(1);
10805
28.9k
    yych = *YYCURSOR;
10806
28.9k
    if (yych <= '\r') {
10807
5.66k
      if (yych <= '\t') {
10808
3.83k
        if (yych <= 0x00) goto yy86;
10809
3.56k
        goto yy808;
10810
3.83k
      } else {
10811
1.83k
        if (yych <= '\n') goto yy846;
10812
1.05k
        if (yych <= '\f') goto yy808;
10813
861
        goto yy846;
10814
1.05k
      }
10815
23.2k
    } else {
10816
23.2k
      if (yych <= '*') {
10817
793
        if (yych <= ')') goto yy808;
10818
361
        goto yy848;
10819
22.4k
      } else {
10820
22.4k
        if (yych == '/') goto yy904;
10821
1.93k
        goto yy808;
10822
22.4k
      }
10823
23.2k
    }
10824
21.5k
yy940:
10825
21.5k
    YYDEBUG(940, *YYCURSOR);
10826
21.5k
    ++YYCURSOR;
10827
21.5k
    YYFILL(1);
10828
21.5k
    yych = *YYCURSOR;
10829
21.5k
    if (yych <= ')') {
10830
1.18k
      if (yych <= '\n') {
10831
791
        if (yych <= 0x00) goto yy86;
10832
504
        if (yych <= '\t') goto yy808;
10833
215
        goto yy846;
10834
504
      } else {
10835
391
        if (yych == '\r') goto yy846;
10836
230
        goto yy808;
10837
391
      }
10838
20.4k
    } else {
10839
20.4k
      if (yych <= 'O') {
10840
13.3k
        if (yych <= '*') goto yy848;
10841
12.8k
        if (yych <= 'N') goto yy808;
10842
12.6k
        goto yy947;
10843
12.8k
      } else {
10844
7.03k
        if (yych == 'o') goto yy947;
10845
1.20k
        goto yy808;
10846
7.03k
      }
10847
20.4k
    }
10848
5.45k
yy941:
10849
5.45k
    YYDEBUG(941, *YYCURSOR);
10850
5.45k
    ++YYCURSOR;
10851
5.45k
    YYFILL(1);
10852
5.45k
    yych = *YYCURSOR;
10853
5.45k
    if (yych <= '@') {
10854
3.43k
      if (yych <= '*') {
10855
3.09k
        if (yych <= 0x00) goto yy875;
10856
2.74k
        if (yych <= ')') goto yy948;
10857
1.28k
        goto yy949;
10858
2.74k
      } else {
10859
340
        if (yych <= '/') goto yy948;
10860
280
        if (yych <= '9') goto yy696;
10861
269
        goto yy948;
10862
280
      }
10863
3.43k
    } else {
10864
2.01k
      if (yych <= '_') {
10865
946
        if (yych <= 'Z') goto yy696;
10866
701
        if (yych <= '^') goto yy948;
10867
207
        goto yy696;
10868
1.07k
      } else {
10869
1.07k
        if (yych <= '`') goto yy948;
10870
795
        if (yych <= 'z') goto yy696;
10871
559
        if (yych <= 0x7F) goto yy948;
10872
313
        goto yy696;
10873
559
      }
10874
2.01k
    }
10875
2.03k
yy942:
10876
2.03k
    YYDEBUG(942, *YYCURSOR);
10877
2.03k
    yyaccept = 4;
10878
2.03k
    yych = *(YYMARKER = ++YYCURSOR);
10879
2.03k
    if (yych == 'R') goto yy950;
10880
1.77k
    if (yych == 'r') goto yy950;
10881
242
    goto yy48;
10882
11.2k
yy943:
10883
11.2k
    YYDEBUG(943, *YYCURSOR);
10884
11.2k
    ++YYCURSOR;
10885
11.2k
    YYFILL(1);
10886
11.2k
    yych = *YYCURSOR;
10887
11.2k
    if (yych <= ')') {
10888
2.57k
      if (yych <= '\n') {
10889
1.87k
        if (yych <= 0x00) goto yy86;
10890
1.67k
        if (yych <= '\t') goto yy738;
10891
1.27k
        goto yy787;
10892
1.67k
      } else {
10893
695
        if (yych == '\r') goto yy787;
10894
244
        goto yy738;
10895
695
      }
10896
8.65k
    } else {
10897
8.65k
      if (yych <= 'N') {
10898
4.96k
        if (yych <= '*') goto yy789;
10899
3.72k
        if (yych <= 'M') goto yy738;
10900
1.61k
        goto yy952;
10901
3.72k
      } else {
10902
3.69k
        if (yych == 'n') goto yy952;
10903
482
        goto yy738;
10904
3.69k
      }
10905
8.65k
    }
10906
25.9k
yy944:
10907
25.9k
    YYDEBUG(944, *YYCURSOR);
10908
25.9k
    ++YYCURSOR;
10909
25.9k
    YYFILL(1);
10910
25.9k
    yych = *YYCURSOR;
10911
25.9k
    if (yych <= ')') {
10912
2.22k
      if (yych <= '\n') {
10913
1.48k
        if (yych <= 0x00) goto yy86;
10914
1.30k
        if (yych <= '\t') goto yy738;
10915
952
        goto yy787;
10916
1.30k
      } else {
10917
738
        if (yych == '\r') goto yy787;
10918
584
        goto yy738;
10919
738
      }
10920
23.7k
    } else {
10921
23.7k
      if (yych <= 'E') {
10922
3.71k
        if (yych <= '*') goto yy789;
10923
3.51k
        if (yych <= 'D') goto yy738;
10924
3.26k
        goto yy953;
10925
20.0k
      } else {
10926
20.0k
        if (yych == 'e') goto yy953;
10927
534
        goto yy738;
10928
20.0k
      }
10929
23.7k
    }
10930
2.07k
yy945:
10931
2.07k
    YYDEBUG(945, *YYCURSOR);
10932
2.07k
    ++YYCURSOR;
10933
2.07k
    YYFILL(1);
10934
2.07k
    yych = *YYCURSOR;
10935
2.07k
    if (yych <= 'R') {
10936
1.01k
      if (yych <= 0x00) goto yy86;
10937
775
      if (yych == '*') goto yy668;
10938
512
      goto yy590;
10939
1.06k
    } else {
10940
1.06k
      if (yych <= 'S') goto yy954;
10941
860
      if (yych == 's') goto yy954;
10942
410
      goto yy590;
10943
860
    }
10944
3.86k
yy946:
10945
3.86k
    YYDEBUG(946, *YYCURSOR);
10946
3.86k
    ++YYCURSOR;
10947
3.86k
    YYFILL(1);
10948
3.86k
    yych = *YYCURSOR;
10949
3.86k
    if (yych <= 'D') {
10950
520
      if (yych <= 0x00) goto yy86;
10951
321
      if (yych == '*') goto yy668;
10952
100
      goto yy590;
10953
3.34k
    } else {
10954
3.34k
      if (yych <= 'E') goto yy955;
10955
2.51k
      if (yych == 'e') goto yy955;
10956
284
      goto yy590;
10957
2.51k
    }
10958
18.5k
yy947:
10959
18.5k
    YYDEBUG(947, *YYCURSOR);
10960
18.5k
    ++YYCURSOR;
10961
18.5k
    YYFILL(1);
10962
18.5k
    yych = *YYCURSOR;
10963
18.5k
    if (yych <= ')') {
10964
1.22k
      if (yych <= '\n') {
10965
679
        if (yych <= 0x00) goto yy86;
10966
453
        if (yych <= '\t') goto yy808;
10967
104
        goto yy846;
10968
544
      } else {
10969
544
        if (yych == '\r') goto yy846;
10970
315
        goto yy808;
10971
544
      }
10972
17.2k
    } else {
10973
17.2k
      if (yych <= 'M') {
10974
10.8k
        if (yych <= '*') goto yy848;
10975
10.7k
        if (yych <= 'L') goto yy808;
10976
10.3k
        goto yy956;
10977
10.7k
      } else {
10978
6.47k
        if (yych == 'm') goto yy956;
10979
653
        goto yy808;
10980
6.47k
      }
10981
17.2k
    }
10982
2.81k
yy948:
10983
2.81k
    YYDEBUG(948, *YYCURSOR);
10984
2.81k
    yyaccept = 91;
10985
2.81k
    YYMARKER = ++YYCURSOR;
10986
2.81k
    YYFILL(1);
10987
2.81k
    yych = *YYCURSOR;
10988
2.81k
    if (yych <= 0x00) goto yy876;
10989
1.95k
    if (yych == '*') goto yy760;
10990
1.65k
    goto yy696;
10991
1.65k
yy949:
10992
1.28k
    YYDEBUG(949, *YYCURSOR);
10993
1.28k
    yyaccept = 91;
10994
1.28k
    YYMARKER = ++YYCURSOR;
10995
1.28k
    YYFILL(1);
10996
1.28k
    yych = *YYCURSOR;
10997
1.28k
    if (yych <= '*') {
10998
840
      if (yych <= 0x00) goto yy876;
10999
666
      if (yych <= ')') goto yy696;
11000
516
      goto yy760;
11001
666
    } else {
11002
442
      if (yych == '/') goto yy616;
11003
244
      goto yy696;
11004
442
    }
11005
1.79k
yy950:
11006
1.79k
    YYDEBUG(950, *YYCURSOR);
11007
1.79k
    yyaccept = 96;
11008
1.79k
    yych = *(YYMARKER = ++YYCURSOR);
11009
1.79k
    if (yybm[256+yych] & 128) {
11010
432
      goto yy47;
11011
432
    }
11012
1.36k
    if (yych == '\\') goto yy164;
11013
1.20k
yy951:
11014
1.20k
    YYDEBUG(951, *YYCURSOR);
11015
1.20k
    yyleng = YYCURSOR - SCNG(yy_text);
11016
1.20k
#line 1761 "Zend/zend_language_scanner.l"
11017
1.20k
    {
11018
1.20k
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11019
1.20k
}
11020
0
#line 11021 "Zend/zend_language_scanner.c"
11021
4.82k
yy952:
11022
4.82k
    YYDEBUG(952, *YYCURSOR);
11023
4.82k
    ++YYCURSOR;
11024
4.82k
    YYFILL(1);
11025
4.82k
    yych = *YYCURSOR;
11026
4.82k
    if (yych <= ')') {
11027
1.23k
      if (yych <= '\n') {
11028
672
        if (yych <= 0x00) goto yy86;
11029
466
        if (yych <= '\t') goto yy738;
11030
258
        goto yy787;
11031
559
      } else {
11032
559
        if (yych == '\r') goto yy787;
11033
349
        goto yy738;
11034
559
      }
11035
3.59k
    } else {
11036
3.59k
      if (yych <= 'D') {
11037
813
        if (yych <= '*') goto yy789;
11038
612
        if (yych <= 'C') goto yy738;
11039
306
        goto yy957;
11040
2.78k
      } else {
11041
2.78k
        if (yych == 'd') goto yy957;
11042
1.21k
        goto yy738;
11043
2.78k
      }
11044
3.59k
    }
11045
22.7k
yy953:
11046
22.7k
    YYDEBUG(953, *YYCURSOR);
11047
22.7k
    ++YYCURSOR;
11048
22.7k
    YYFILL(1);
11049
22.7k
    yych = *YYCURSOR;
11050
22.7k
    if (yych <= ')') {
11051
5.48k
      if (yych <= '\n') {
11052
4.12k
        if (yych <= 0x00) goto yy86;
11053
3.91k
        if (yych <= '\t') goto yy738;
11054
3.47k
        goto yy787;
11055
3.91k
      } else {
11056
1.35k
        if (yych == '\r') goto yy787;
11057
935
        goto yy738;
11058
1.35k
      }
11059
17.2k
    } else {
11060
17.2k
      if (yych <= 'M') {
11061
4.01k
        if (yych <= '*') goto yy789;
11062
2.34k
        if (yych <= 'L') goto yy738;
11063
2.11k
        goto yy958;
11064
13.2k
      } else {
11065
13.2k
        if (yych == 'm') goto yy958;
11066
637
        goto yy738;
11067
13.2k
      }
11068
17.2k
    }
11069
651
yy954:
11070
651
    YYDEBUG(954, *YYCURSOR);
11071
651
    yyaccept = 94;
11072
651
    YYMARKER = ++YYCURSOR;
11073
651
    YYFILL(1);
11074
651
    yych = *YYCURSOR;
11075
651
    if (yych <= 0x00) goto yy886;
11076
491
    if (yych == '*') goto yy668;
11077
292
    goto yy590;
11078
3.05k
yy955:
11079
3.05k
    YYDEBUG(955, *YYCURSOR);
11080
3.05k
    ++YYCURSOR;
11081
3.05k
    YYFILL(1);
11082
3.05k
    yych = *YYCURSOR;
11083
3.05k
    if (yych <= 'M') {
11084
681
      if (yych <= 0x00) goto yy86;
11085
566
      if (yych == '*') goto yy668;
11086
364
      goto yy590;
11087
2.37k
    } else {
11088
2.37k
      if (yych <= 'N') goto yy959;
11089
1.67k
      if (yych == 'n') goto yy959;
11090
346
      goto yy590;
11091
1.67k
    }
11092
16.1k
yy956:
11093
16.1k
    YYDEBUG(956, *YYCURSOR);
11094
16.1k
    ++YYCURSOR;
11095
16.1k
    YYFILL(1);
11096
16.1k
    yych = *YYCURSOR;
11097
16.1k
    if (yych <= '/') {
11098
12.3k
      if (yych <= '\f') {
11099
4.26k
        if (yych <= 0x00) goto yy875;
11100
4.06k
        if (yych == '\n') goto yy961;
11101
358
        goto yy960;
11102
8.12k
      } else {
11103
8.12k
        if (yych <= '\r') goto yy961;
11104
3.13k
        if (yych == '*') goto yy962;
11105
640
        goto yy960;
11106
3.13k
      }
11107
12.3k
    } else {
11108
3.81k
      if (yych <= '^') {
11109
1.31k
        if (yych <= '9') goto yy808;
11110
1.25k
        if (yych <= '@') goto yy960;
11111
1.07k
        if (yych <= 'Z') goto yy808;
11112
725
        goto yy960;
11113
2.50k
      } else {
11114
2.50k
        if (yych <= '`') {
11115
1.41k
          if (yych <= '_') goto yy808;
11116
1.08k
          goto yy960;
11117
1.41k
        } else {
11118
1.08k
          if (yych <= 'z') goto yy808;
11119
463
          if (yych <= 0x7F) goto yy960;
11120
210
          goto yy808;
11121
463
        }
11122
2.50k
      }
11123
3.81k
    }
11124
5.64k
yy957:
11125
5.64k
    YYDEBUG(957, *YYCURSOR);
11126
5.64k
    ++YYCURSOR;
11127
5.64k
    YYFILL(1);
11128
5.64k
    yych = *YYCURSOR;
11129
5.64k
    if (yych <= ')') {
11130
1.61k
      if (yych <= '\n') {
11131
762
        if (yych <= 0x00) goto yy86;
11132
583
        if (yych <= '\t') goto yy738;
11133
205
        goto yy787;
11134
853
      } else {
11135
853
        if (yych == '\r') goto yy787;
11136
287
        goto yy738;
11137
853
      }
11138
4.03k
    } else {
11139
4.03k
      if (yych <= 'S') {
11140
2.44k
        if (yych <= '*') goto yy789;
11141
2.24k
        if (yych <= 'R') goto yy738;
11142
225
        goto yy963;
11143
2.24k
      } else {
11144
1.58k
        if (yych == 's') goto yy963;
11145
441
        goto yy738;
11146
1.58k
      }
11147
4.03k
    }
11148
14.7k
yy958:
11149
14.7k
    YYDEBUG(958, *YYCURSOR);
11150
14.7k
    ++YYCURSOR;
11151
14.7k
    YYFILL(1);
11152
14.7k
    yych = *YYCURSOR;
11153
14.7k
    if (yych <= ')') {
11154
3.05k
      if (yych <= '\n') {
11155
768
        if (yych <= 0x00) goto yy86;
11156
567
        if (yych <= '\t') goto yy738;
11157
291
        goto yy787;
11158
2.29k
      } else {
11159
2.29k
        if (yych == '\r') goto yy787;
11160
747
        goto yy738;
11161
2.29k
      }
11162
11.6k
    } else {
11163
11.6k
      if (yych <= 'E') {
11164
1.88k
        if (yych <= '*') goto yy789;
11165
1.66k
        if (yych <= 'D') goto yy738;
11166
1.19k
        goto yy964;
11167
9.80k
      } else {
11168
9.80k
        if (yych == 'e') goto yy964;
11169
285
        goto yy738;
11170
9.80k
      }
11171
11.6k
    }
11172
2.03k
yy959:
11173
2.03k
    YYDEBUG(959, *YYCURSOR);
11174
2.03k
    ++YYCURSOR;
11175
2.03k
    YYFILL(1);
11176
2.03k
    yych = *YYCURSOR;
11177
2.03k
    if (yych <= 'S') {
11178
901
      if (yych <= 0x00) goto yy86;
11179
615
      if (yych == '*') goto yy668;
11180
543
      goto yy590;
11181
1.12k
    } else {
11182
1.12k
      if (yych <= 'T') goto yy945;
11183
928
      if (yych == 't') goto yy945;
11184
232
      goto yy590;
11185
928
    }
11186
3.24k
yy960:
11187
3.24k
    YYDEBUG(960, *YYCURSOR);
11188
3.24k
    yyaccept = 91;
11189
3.24k
    YYMARKER = ++YYCURSOR;
11190
3.24k
    YYFILL(1);
11191
3.24k
    yych = *YYCURSOR;
11192
3.24k
    if (yych <= '\f') {
11193
1.16k
      if (yych <= 0x00) goto yy876;
11194
1.02k
      if (yych == '\n') goto yy846;
11195
106
      goto yy808;
11196
2.07k
    } else {
11197
2.07k
      if (yych <= '\r') goto yy846;
11198
1.81k
      if (yych == '*') goto yy848;
11199
1.52k
      goto yy808;
11200
1.81k
    }
11201
8.69k
yy961:
11202
8.69k
    YYDEBUG(961, *YYCURSOR);
11203
8.69k
    yyaccept = 91;
11204
8.69k
    YYMARKER = ++YYCURSOR;
11205
8.69k
    YYFILL(1);
11206
8.69k
    yych = *YYCURSOR;
11207
8.69k
    if (yych <= '#') {
11208
6.62k
      if (yych <= '\f') {
11209
1.61k
        if (yych <= 0x00) goto yy876;
11210
1.45k
        if (yych <= 0x08) goto yy696;
11211
521
        if (yych <= '\n') goto yy846;
11212
136
        goto yy696;
11213
5.01k
      } else {
11214
5.01k
        if (yych <= 0x1F) {
11215
2.96k
          if (yych <= '\r') goto yy846;
11216
520
          goto yy696;
11217
2.96k
        } else {
11218
2.05k
          if (yych <= ' ') goto yy846;
11219
1.28k
          if (yych <= '"') goto yy696;
11220
1.06k
          goto yy877;
11221
1.28k
        }
11222
5.01k
      }
11223
6.62k
    } else {
11224
2.06k
      if (yych <= '/') {
11225
498
        if (yych == '*') goto yy760;
11226
318
        if (yych <= '.') goto yy696;
11227
67
        goto yy878;
11228
1.56k
      } else {
11229
1.56k
        if (yych <= 'F') {
11230
658
          if (yych <= 'E') goto yy696;
11231
291
          goto yy879;
11232
911
        } else {
11233
911
          if (yych == 'f') goto yy879;
11234
847
          goto yy696;
11235
911
        }
11236
1.56k
      }
11237
2.06k
    }
11238
2.49k
yy962:
11239
2.49k
    YYDEBUG(962, *YYCURSOR);
11240
2.49k
    yyaccept = 91;
11241
2.49k
    YYMARKER = ++YYCURSOR;
11242
2.49k
    YYFILL(1);
11243
2.49k
    yych = *YYCURSOR;
11244
2.49k
    if (yych <= '\r') {
11245
1.25k
      if (yych <= '\t') {
11246
269
        if (yych <= 0x00) goto yy876;
11247
235
        goto yy808;
11248
984
      } else {
11249
984
        if (yych <= '\n') goto yy846;
11250
548
        if (yych <= '\f') goto yy808;
11251
295
        goto yy846;
11252
548
      }
11253
1.25k
    } else {
11254
1.24k
      if (yych <= '*') {
11255
527
        if (yych <= ')') goto yy808;
11256
287
        goto yy848;
11257
717
      } else {
11258
717
        if (yych == '/') goto yy694;
11259
674
        goto yy808;
11260
717
      }
11261
1.24k
    }
11262
1.36k
yy963:
11263
1.36k
    YYDEBUG(963, *YYCURSOR);
11264
1.36k
    yyaccept = 94;
11265
1.36k
    YYMARKER = ++YYCURSOR;
11266
1.36k
    YYFILL(1);
11267
1.36k
    yych = *YYCURSOR;
11268
1.36k
    if (yych <= '\f') {
11269
409
      if (yych <= 0x00) goto yy886;
11270
341
      if (yych == '\n') goto yy787;
11271
72
      goto yy738;
11272
957
    } else {
11273
957
      if (yych <= '\r') goto yy787;
11274
745
      if (yych == '*') goto yy789;
11275
555
      goto yy738;
11276
745
    }
11277
10.7k
yy964:
11278
10.7k
    YYDEBUG(964, *YYCURSOR);
11279
10.7k
    ++YYCURSOR;
11280
10.7k
    YYFILL(1);
11281
10.7k
    yych = *YYCURSOR;
11282
10.7k
    if (yych <= ')') {
11283
2.04k
      if (yych <= '\n') {
11284
1.32k
        if (yych <= 0x00) goto yy86;
11285
1.23k
        if (yych <= '\t') goto yy738;
11286
856
        goto yy787;
11287
1.23k
      } else {
11288
719
        if (yych == '\r') goto yy787;
11289
202
        goto yy738;
11290
719
      }
11291
8.67k
    } else {
11292
8.67k
      if (yych <= 'N') {
11293
1.91k
        if (yych <= '*') goto yy789;
11294
1.71k
        if (yych <= 'M') goto yy738;
11295
6.75k
      } else {
11296
6.75k
        if (yych != 'n') goto yy738;
11297
6.75k
      }
11298
8.67k
    }
11299
5.73k
    YYDEBUG(965, *YYCURSOR);
11300
5.73k
    ++YYCURSOR;
11301
5.73k
    YYFILL(1);
11302
5.73k
    yych = *YYCURSOR;
11303
5.73k
    if (yych <= ')') {
11304
1.02k
      if (yych <= '\n') {
11305
626
        if (yych <= 0x00) goto yy86;
11306
443
        if (yych <= '\t') goto yy738;
11307
232
        goto yy787;
11308
443
      } else {
11309
397
        if (yych == '\r') goto yy787;
11310
201
        goto yy738;
11311
397
      }
11312
4.71k
    } else {
11313
4.71k
      if (yych <= 'T') {
11314
1.18k
        if (yych <= '*') goto yy789;
11315
847
        if (yych <= 'S') goto yy738;
11316
526
        goto yy957;
11317
3.52k
      } else {
11318
3.52k
        if (yych == 't') goto yy957;
11319
278
        goto yy738;
11320
3.52k
      }
11321
4.71k
    }
11322
5.73k
  }
11323
/* *********************************** */
11324
348k
yyc_ST_LOOKING_FOR_PROPERTY:
11325
348k
  {
11326
348k
    static const unsigned char yybm[] = {
11327
348k
        0,   0,   0,   0,   0,   0,   0,   0, 
11328
348k
        0,  64,  64,   0,   0,  64,   0,   0, 
11329
348k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
348k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
348k
       64,   0,   0,   0,   0,   0,   0,   0, 
11332
348k
        0,   0,   0,   0,   0,   0,   0,   0, 
11333
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11334
348k
      128, 128,   0,   0,   0,   0,   0,   0, 
11335
348k
        0, 128, 128, 128, 128, 128, 128, 128, 
11336
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
348k
      128, 128, 128,   0,   0,   0,   0, 128, 
11339
348k
        0, 128, 128, 128, 128, 128, 128, 128, 
11340
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
348k
      128, 128, 128,   0,   0,   0,   0,   0, 
11343
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
348k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
348k
    };
11360
348k
    YYDEBUG(966, *YYCURSOR);
11361
348k
    YYFILL(4);
11362
348k
    yych = *YYCURSOR;
11363
348k
    if (yybm[0+yych] & 64) {
11364
4.27k
      goto yy970;
11365
4.27k
    }
11366
344k
    if (yych <= '?') {
11367
115k
      if (yych <= '-') {
11368
38.7k
        if (yych == '#') goto yy973;
11369
36.3k
        if (yych >= '-') goto yy975;
11370
76.7k
      } else {
11371
76.7k
        if (yych == '/') goto yy976;
11372
68.7k
        if (yych >= '?') goto yy977;
11373
68.7k
      }
11374
228k
    } else {
11375
228k
      if (yych <= '_') {
11376
34.2k
        if (yych <= '@') goto yy968;
11377
34.0k
        if (yych <= 'Z') goto yy978;
11378
21.1k
        if (yych >= '_') goto yy978;
11379
194k
      } else {
11380
194k
        if (yych <= '`') goto yy968;
11381
193k
        if (yych <= 'z') goto yy978;
11382
19.6k
        if (yych >= 0x80) goto yy978;
11383
19.6k
      }
11384
228k
    }
11385
28.7k
yy968:
11386
28.7k
    YYDEBUG(968, *YYCURSOR);
11387
28.7k
    ++YYCURSOR;
11388
31.7k
yy969:
11389
31.7k
    YYDEBUG(969, *YYCURSOR);
11390
31.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11391
31.7k
#line 2519 "Zend/zend_language_scanner.l"
11392
31.7k
    {
11393
31.7k
  yyless(0);
11394
31.7k
  yy_pop_state();
11395
31.7k
  goto restart;
11396
28.7k
}
11397
0
#line 11398 "Zend/zend_language_scanner.c"
11398
8.37k
yy970:
11399
8.37k
    YYDEBUG(970, *YYCURSOR);
11400
8.37k
    ++YYCURSOR;
11401
8.37k
    YYFILL(1);
11402
8.37k
    yych = *YYCURSOR;
11403
8.37k
    YYDEBUG(971, *YYCURSOR);
11404
8.37k
    if (yybm[0+yych] & 64) {
11405
4.09k
      goto yy970;
11406
4.09k
    }
11407
4.27k
    YYDEBUG(972, *YYCURSOR);
11408
4.27k
    yyleng = YYCURSOR - SCNG(yy_text);
11409
4.27k
#line 1596 "Zend/zend_language_scanner.l"
11410
4.27k
    {
11411
4.27k
  goto return_whitespace;
11412
8.37k
}
11413
0
#line 11414 "Zend/zend_language_scanner.c"
11414
3.64k
yy973:
11415
3.64k
    YYDEBUG(973, *YYCURSOR);
11416
3.64k
    ++YYCURSOR;
11417
3.64k
    YYDEBUG(974, *YYCURSOR);
11418
3.64k
    yyleng = YYCURSOR - SCNG(yy_text);
11419
3.64k
#line 2459 "Zend/zend_language_scanner.l"
11420
3.64k
    {
11421
126k
  while (YYCURSOR < YYLIMIT) {
11422
125k
    switch (*YYCURSOR++) {
11423
809
      case '\r':
11424
2.88k
      case '\n':
11425
2.88k
        YYCURSOR--;
11426
2.88k
        break;
11427
1.19k
      case '?':
11428
1.19k
        if (*YYCURSOR == '>') {
11429
244
          YYCURSOR--;
11430
244
          break;
11431
244
        }
11432
954
        ZEND_FALLTHROUGH;
11433
122k
      default:
11434
122k
        continue;
11435
125k
    }
11436
11437
3.12k
    break;
11438
125k
  }
11439
11440
3.64k
  yyleng = YYCURSOR - SCNG(yy_text);
11441
3.64k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11442
3.64k
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
27.2k
yy975:
11445
27.2k
    YYDEBUG(975, *YYCURSOR);
11446
27.2k
    yych = *++YYCURSOR;
11447
27.2k
    if (yych == '>') goto yy981;
11448
521
    goto yy969;
11449
7.96k
yy976:
11450
7.96k
    YYDEBUG(976, *YYCURSOR);
11451
7.96k
    yych = *++YYCURSOR;
11452
7.96k
    if (yych == '*') goto yy983;
11453
1.71k
    if (yych == '/') goto yy973;
11454
453
    goto yy969;
11455
66.8k
yy977:
11456
66.8k
    YYDEBUG(977, *YYCURSOR);
11457
66.8k
    yyaccept = 0;
11458
66.8k
    yych = *(YYMARKER = ++YYCURSOR);
11459
66.8k
    if (yych == '-') goto yy985;
11460
1.11k
    goto yy969;
11461
954k
yy978:
11462
954k
    YYDEBUG(978, *YYCURSOR);
11463
954k
    ++YYCURSOR;
11464
954k
    YYFILL(1);
11465
954k
    yych = *YYCURSOR;
11466
954k
    YYDEBUG(979, *YYCURSOR);
11467
954k
    if (yybm[0+yych] & 128) {
11468
743k
      goto yy978;
11469
743k
    }
11470
211k
    YYDEBUG(980, *YYCURSOR);
11471
211k
    yyleng = YYCURSOR - SCNG(yy_text);
11472
211k
#line 1608 "Zend/zend_language_scanner.l"
11473
211k
    {
11474
211k
  yy_pop_state();
11475
211k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11476
211k
}
11477
0
#line 11478 "Zend/zend_language_scanner.c"
11478
26.7k
yy981:
11479
26.7k
    YYDEBUG(981, *YYCURSOR);
11480
26.7k
    ++YYCURSOR;
11481
26.7k
    YYDEBUG(982, *YYCURSOR);
11482
26.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11483
26.7k
#line 1600 "Zend/zend_language_scanner.l"
11484
26.7k
    {
11485
26.7k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11486
26.7k
}
11487
0
#line 11488 "Zend/zend_language_scanner.c"
11488
6.24k
yy983:
11489
6.24k
    YYDEBUG(983, *YYCURSOR);
11490
6.24k
    yyaccept = 1;
11491
6.24k
    yych = *(YYMARKER = ++YYCURSOR);
11492
6.24k
    if (yych == '*') goto yy987;
11493
6.24k
yy984:
11494
6.24k
    YYDEBUG(984, *YYCURSOR);
11495
6.24k
    yyleng = YYCURSOR - SCNG(yy_text);
11496
6.24k
#line 2483 "Zend/zend_language_scanner.l"
11497
6.24k
    {
11498
6.24k
  int doc_com;
11499
11500
6.24k
  if (yyleng > 2) {
11501
1.92k
    doc_com = 1;
11502
1.92k
    RESET_DOC_COMMENT();
11503
4.32k
  } else {
11504
4.32k
    doc_com = 0;
11505
4.32k
  }
11506
11507
367k
  while (YYCURSOR < YYLIMIT) {
11508
366k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11509
5.27k
      break;
11510
5.27k
    }
11511
366k
  }
11512
11513
6.24k
  if (YYCURSOR < YYLIMIT) {
11514
5.27k
    YYCURSOR++;
11515
5.27k
  } else {
11516
975
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11517
975
    if (PARSER_MODE()) {
11518
59
      RETURN_TOKEN(T_ERROR);
11519
59
    }
11520
975
  }
11521
11522
6.18k
  yyleng = YYCURSOR - SCNG(yy_text);
11523
6.18k
  HANDLE_NEWLINES(yytext, yyleng);
11524
11525
6.18k
  if (doc_com) {
11526
1.89k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11527
1.89k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11528
1.89k
  }
11529
11530
4.29k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11531
4.29k
}
11532
0
#line 11533 "Zend/zend_language_scanner.c"
11533
65.7k
yy985:
11534
65.7k
    YYDEBUG(985, *YYCURSOR);
11535
65.7k
    yych = *++YYCURSOR;
11536
65.7k
    if (yych == '>') goto yy988;
11537
3.89k
yy986:
11538
3.89k
    YYDEBUG(986, *YYCURSOR);
11539
3.89k
    YYCURSOR = YYMARKER;
11540
3.89k
    if (yyaccept == 0) {
11541
855
      goto yy969;
11542
3.03k
    } else {
11543
3.03k
      goto yy984;
11544
3.03k
    }
11545
4.95k
yy987:
11546
4.95k
    YYDEBUG(987, *YYCURSOR);
11547
4.95k
    yych = *++YYCURSOR;
11548
4.95k
    if (yych <= '\f') {
11549
2.92k
      if (yych <= 0x08) goto yy986;
11550
2.84k
      if (yych <= '\n') goto yy990;
11551
1.98k
      goto yy986;
11552
2.84k
    } else {
11553
2.03k
      if (yych <= '\r') goto yy990;
11554
1.63k
      if (yych == ' ') goto yy990;
11555
968
      goto yy986;
11556
1.63k
    }
11557
64.8k
yy988:
11558
64.8k
    YYDEBUG(988, *YYCURSOR);
11559
64.8k
    ++YYCURSOR;
11560
64.8k
    YYDEBUG(989, *YYCURSOR);
11561
64.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11562
64.8k
#line 1604 "Zend/zend_language_scanner.l"
11563
64.8k
    {
11564
64.8k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11565
64.8k
}
11566
0
#line 11567 "Zend/zend_language_scanner.c"
11567
3.37k
yy990:
11568
3.37k
    YYDEBUG(990, *YYCURSOR);
11569
3.37k
    ++YYCURSOR;
11570
3.37k
    YYFILL(1);
11571
3.37k
    yych = *YYCURSOR;
11572
3.37k
    YYDEBUG(991, *YYCURSOR);
11573
3.37k
    if (yych <= '\f') {
11574
1.16k
      if (yych <= 0x08) goto yy984;
11575
1.01k
      if (yych <= '\n') goto yy990;
11576
290
      goto yy984;
11577
2.20k
    } else {
11578
2.20k
      if (yych <= '\r') goto yy990;
11579
1.70k
      if (yych == ' ') goto yy990;
11580
1.48k
      goto yy984;
11581
1.70k
    }
11582
3.37k
  }
11583
/* *********************************** */
11584
199k
yyc_ST_BACKQUOTE:
11585
199k
  {
11586
199k
    static const unsigned char yybm[] = {
11587
199k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
199k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
199k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
199k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
199k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
199k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11594
199k
      128, 128,   0,   0,   0,   0,   0,   0, 
11595
199k
        0, 128, 128, 128, 128, 128, 128, 128, 
11596
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
199k
      128, 128, 128,   0,   0,   0,   0, 128, 
11599
199k
        0, 128, 128, 128, 128, 128, 128, 128, 
11600
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
199k
      128, 128, 128,   0,   0,   0,   0,   0, 
11603
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
199k
    };
11620
199k
    YYDEBUG(992, *YYCURSOR);
11621
199k
    YYFILL(2);
11622
199k
    yych = *YYCURSOR;
11623
199k
    if (yych <= '_') {
11624
158k
      if (yych == '$') goto yy996;
11625
158k
    } else {
11626
41.1k
      if (yych <= '`') goto yy997;
11627
14.5k
      if (yych == '{') goto yy999;
11628
14.5k
    }
11629
88.2k
    YYDEBUG(994, *YYCURSOR);
11630
88.2k
    ++YYCURSOR;
11631
94.9k
yy995:
11632
94.9k
    YYDEBUG(995, *YYCURSOR);
11633
94.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11634
94.9k
#line 2918 "Zend/zend_language_scanner.l"
11635
94.9k
    {
11636
94.9k
  if (YYCURSOR > YYLIMIT) {
11637
6.94k
    RETURN_END_TOKEN;
11638
6.94k
  }
11639
87.9k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11640
1.67k
    YYCURSOR++;
11641
1.67k
  }
11642
11643
3.49M
  while (YYCURSOR < YYLIMIT) {
11644
3.48M
    switch (*YYCURSOR++) {
11645
14.7k
      case '`':
11646
14.7k
        break;
11647
79.9k
      case '$':
11648
79.9k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11649
65.1k
          break;
11650
65.1k
        }
11651
14.8k
        continue;
11652
19.6k
      case '{':
11653
19.6k
        if (*YYCURSOR == '$') {
11654
1.24k
          break;
11655
1.24k
        }
11656
18.3k
        continue;
11657
19.6k
      case '\\':
11658
19.6k
        if (YYCURSOR < YYLIMIT) {
11659
19.1k
          YYCURSOR++;
11660
19.1k
        }
11661
19.6k
        ZEND_FALLTHROUGH;
11662
3.37M
      default:
11663
3.37M
        continue;
11664
3.48M
    }
11665
11666
81.1k
    YYCURSOR--;
11667
81.1k
    break;
11668
3.48M
  }
11669
11670
87.9k
  yyleng = YYCURSOR - SCNG(yy_text);
11671
11672
87.9k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11673
87.9k
   || !PARSER_MODE()) {
11674
87.9k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11675
87.9k
  } else {
11676
8
    RETURN_TOKEN(T_ERROR);
11677
8
  }
11678
87.9k
}
11679
0
#line 11680 "Zend/zend_language_scanner.c"
11680
81.4k
yy996:
11681
81.4k
    YYDEBUG(996, *YYCURSOR);
11682
81.4k
    yych = *++YYCURSOR;
11683
81.4k
    if (yych <= '_') {
11684
10.8k
      if (yych <= '@') goto yy995;
11685
8.05k
      if (yych <= 'Z') goto yy1000;
11686
5.30k
      if (yych <= '^') goto yy995;
11687
4.01k
      goto yy1000;
11688
70.5k
    } else {
11689
70.5k
      if (yych <= 'z') {
11690
27.3k
        if (yych <= '`') goto yy995;
11691
26.9k
        goto yy1000;
11692
43.2k
      } else {
11693
43.2k
        if (yych <= '{') goto yy1003;
11694
20.4k
        if (yych <= 0x7F) goto yy995;
11695
20.0k
        goto yy1000;
11696
20.4k
      }
11697
70.5k
    }
11698
26.6k
yy997:
11699
26.6k
    YYDEBUG(997, *YYCURSOR);
11700
26.6k
    ++YYCURSOR;
11701
26.6k
    YYDEBUG(998, *YYCURSOR);
11702
26.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11703
26.6k
#line 2858 "Zend/zend_language_scanner.l"
11704
26.6k
    {
11705
26.6k
  BEGIN(ST_IN_SCRIPTING);
11706
26.6k
  RETURN_TOKEN('`');
11707
26.6k
}
11708
0
#line 11709 "Zend/zend_language_scanner.c"
11709
3.13k
yy999:
11710
3.13k
    YYDEBUG(999, *YYCURSOR);
11711
3.13k
    yych = *++YYCURSOR;
11712
3.13k
    if (yych == '$') goto yy1005;
11713
1.85k
    goto yy995;
11714
175k
yy1000:
11715
175k
    YYDEBUG(1000, *YYCURSOR);
11716
175k
    YYMARKER = ++YYCURSOR;
11717
175k
    YYFILL(4);
11718
175k
    yych = *YYCURSOR;
11719
175k
    YYDEBUG(1001, *YYCURSOR);
11720
175k
    if (yybm[0+yych] & 128) {
11721
122k
      goto yy1000;
11722
122k
    }
11723
53.7k
    if (yych <= '>') {
11724
29.4k
      if (yych == '-') goto yy1007;
11725
29.4k
    } else {
11726
24.2k
      if (yych <= '?') goto yy1009;
11727
5.35k
      if (yych <= '@') goto yy1002;
11728
5.10k
      if (yych <= '[') goto yy1010;
11729
5.10k
    }
11730
43.1k
yy1002:
11731
43.1k
    YYDEBUG(1002, *YYCURSOR);
11732
43.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
43.1k
#line 2416 "Zend/zend_language_scanner.l"
11734
43.1k
    {
11735
43.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11736
43.1k
}
11737
0
#line 11738 "Zend/zend_language_scanner.c"
11738
22.8k
yy1003:
11739
22.8k
    YYDEBUG(1003, *YYCURSOR);
11740
22.8k
    ++YYCURSOR;
11741
22.8k
    YYDEBUG(1004, *YYCURSOR);
11742
22.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11743
22.8k
#line 1980 "Zend/zend_language_scanner.l"
11744
22.8k
    {
11745
22.8k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11746
22.8k
  enter_nesting('{');
11747
22.8k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11748
22.8k
}
11749
0
#line 11750 "Zend/zend_language_scanner.c"
11750
1.27k
yy1005:
11751
1.27k
    YYDEBUG(1005, *YYCURSOR);
11752
1.27k
    ++YYCURSOR;
11753
1.27k
    YYDEBUG(1006, *YYCURSOR);
11754
1.27k
    yyleng = YYCURSOR - SCNG(yy_text);
11755
1.27k
#line 2845 "Zend/zend_language_scanner.l"
11756
1.27k
    {
11757
1.27k
  yy_push_state(ST_IN_SCRIPTING);
11758
1.27k
  yyless(1);
11759
1.27k
  enter_nesting('{');
11760
1.27k
  RETURN_TOKEN(T_CURLY_OPEN);
11761
1.27k
}
11762
0
#line 11763 "Zend/zend_language_scanner.c"
11763
6.88k
yy1007:
11764
6.88k
    YYDEBUG(1007, *YYCURSOR);
11765
6.88k
    yych = *++YYCURSOR;
11766
6.88k
    if (yych == '>') goto yy1012;
11767
16.9k
yy1008:
11768
16.9k
    YYDEBUG(1008, *YYCURSOR);
11769
16.9k
    YYCURSOR = YYMARKER;
11770
16.9k
    goto yy1002;
11771
18.9k
yy1009:
11772
18.9k
    YYDEBUG(1009, *YYCURSOR);
11773
18.9k
    yych = *++YYCURSOR;
11774
18.9k
    if (yych == '-') goto yy1013;
11775
4.43k
    goto yy1008;
11776
4.43k
yy1010:
11777
1.68k
    YYDEBUG(1010, *YYCURSOR);
11778
1.68k
    ++YYCURSOR;
11779
1.68k
    YYDEBUG(1011, *YYCURSOR);
11780
1.68k
    yyleng = YYCURSOR - SCNG(yy_text);
11781
1.68k
#line 2410 "Zend/zend_language_scanner.l"
11782
1.68k
    {
11783
1.68k
  yyless(yyleng - 1);
11784
1.68k
  yy_push_state(ST_VAR_OFFSET);
11785
1.68k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11786
1.68k
}
11787
0
#line 11788 "Zend/zend_language_scanner.c"
11788
5.18k
yy1012:
11789
5.18k
    YYDEBUG(1012, *YYCURSOR);
11790
5.18k
    yych = *++YYCURSOR;
11791
5.18k
    if (yych <= '_') {
11792
1.50k
      if (yych <= '@') goto yy1008;
11793
1.03k
      if (yych <= 'Z') goto yy1014;
11794
498
      if (yych <= '^') goto yy1008;
11795
290
      goto yy1014;
11796
3.68k
    } else {
11797
3.68k
      if (yych <= '`') goto yy1008;
11798
3.42k
      if (yych <= 'z') goto yy1014;
11799
1.37k
      if (yych <= 0x7F) goto yy1008;
11800
729
      goto yy1014;
11801
1.37k
    }
11802
14.5k
yy1013:
11803
14.5k
    YYDEBUG(1013, *YYCURSOR);
11804
14.5k
    yych = *++YYCURSOR;
11805
14.5k
    if (yych == '>') goto yy1016;
11806
4.11k
    goto yy1008;
11807
4.11k
yy1014:
11808
3.60k
    YYDEBUG(1014, *YYCURSOR);
11809
3.60k
    ++YYCURSOR;
11810
3.60k
    YYDEBUG(1015, *YYCURSOR);
11811
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
11812
3.60k
#line 2396 "Zend/zend_language_scanner.l"
11813
3.60k
    {
11814
3.60k
  yyless(yyleng - 3);
11815
3.60k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11816
3.60k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
3.60k
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
10.3k
yy1016:
11820
10.3k
    YYDEBUG(1016, *YYCURSOR);
11821
10.3k
    yych = *++YYCURSOR;
11822
10.3k
    if (yych <= '_') {
11823
6.31k
      if (yych <= '@') goto yy1008;
11824
4.20k
      if (yych <= 'Z') goto yy1017;
11825
2.81k
      if (yych <= '^') goto yy1008;
11826
4.07k
    } else {
11827
4.07k
      if (yych <= '`') goto yy1008;
11828
3.77k
      if (yych <= 'z') goto yy1017;
11829
1.60k
      if (yych <= 0x7F) goto yy1008;
11830
1.60k
    }
11831
5.28k
yy1017:
11832
5.28k
    YYDEBUG(1017, *YYCURSOR);
11833
5.28k
    ++YYCURSOR;
11834
5.28k
    YYDEBUG(1018, *YYCURSOR);
11835
5.28k
    yyleng = YYCURSOR - SCNG(yy_text);
11836
5.28k
#line 2402 "Zend/zend_language_scanner.l"
11837
5.28k
    {
11838
5.28k
  yyless(yyleng - 4);
11839
5.28k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11840
5.28k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11841
5.28k
}
11842
5.28k
#line 11843 "Zend/zend_language_scanner.c"
11843
5.28k
  }
11844
/* *********************************** */
11845
544k
yyc_ST_DOUBLE_QUOTES:
11846
544k
  {
11847
544k
    static const unsigned char yybm[] = {
11848
544k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
544k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
544k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
544k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
544k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
544k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11855
544k
      128, 128,   0,   0,   0,   0,   0,   0, 
11856
544k
        0, 128, 128, 128, 128, 128, 128, 128, 
11857
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
544k
      128, 128, 128,   0,   0,   0,   0, 128, 
11860
544k
        0, 128, 128, 128, 128, 128, 128, 128, 
11861
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
544k
      128, 128, 128,   0,   0,   0,   0,   0, 
11864
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
544k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
544k
    };
11881
544k
    YYDEBUG(1019, *YYCURSOR);
11882
544k
    YYFILL(2);
11883
544k
    yych = *YYCURSOR;
11884
544k
    if (yych <= '#') {
11885
103k
      if (yych == '"') goto yy1023;
11886
441k
    } else {
11887
441k
      if (yych <= '$') goto yy1025;
11888
210k
      if (yych == '{') goto yy1026;
11889
210k
    }
11890
265k
    YYDEBUG(1021, *YYCURSOR);
11891
265k
    ++YYCURSOR;
11892
271k
yy1022:
11893
271k
    YYDEBUG(1022, *YYCURSOR);
11894
271k
    yyleng = YYCURSOR - SCNG(yy_text);
11895
271k
#line 2864 "Zend/zend_language_scanner.l"
11896
271k
    {
11897
271k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11898
81.5k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11899
81.5k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11900
11901
81.5k
    goto double_quotes_scan_done;
11902
81.5k
  }
11903
11904
189k
  if (YYCURSOR > YYLIMIT) {
11905
12.1k
    RETURN_END_TOKEN;
11906
12.1k
  }
11907
177k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11908
8.57k
    YYCURSOR++;
11909
8.57k
  }
11910
11911
4.91M
  while (YYCURSOR < YYLIMIT) {
11912
4.91M
    switch (*YYCURSOR++) {
11913
36.8k
      case '"':
11914
36.8k
        break;
11915
157k
      case '$':
11916
157k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11917
136k
          break;
11918
136k
        }
11919
21.4k
        continue;
11920
21.4k
      case '{':
11921
13.9k
        if (*YYCURSOR == '$') {
11922
1.81k
          break;
11923
1.81k
        }
11924
12.1k
        continue;
11925
38.1k
      case '\\':
11926
38.1k
        if (YYCURSOR < YYLIMIT) {
11927
38.0k
          YYCURSOR++;
11928
38.0k
        }
11929
38.1k
        ZEND_FALLTHROUGH;
11930
4.70M
      default:
11931
4.70M
        continue;
11932
4.91M
    }
11933
11934
174k
    YYCURSOR--;
11935
174k
    break;
11936
4.91M
  }
11937
11938
258k
double_quotes_scan_done:
11939
258k
  yyleng = YYCURSOR - SCNG(yy_text);
11940
11941
258k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11942
258k
   || !PARSER_MODE()) {
11943
258k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11944
258k
  } else {
11945
41
    RETURN_TOKEN(T_ERROR);
11946
41
  }
11947
258k
}
11948
0
#line 11949 "Zend/zend_language_scanner.c"
11949
40.4k
yy1023:
11950
40.4k
    YYDEBUG(1023, *YYCURSOR);
11951
40.4k
    ++YYCURSOR;
11952
40.4k
    YYDEBUG(1024, *YYCURSOR);
11953
40.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11954
40.4k
#line 2853 "Zend/zend_language_scanner.l"
11955
40.4k
    {
11956
40.4k
  BEGIN(ST_IN_SCRIPTING);
11957
40.4k
  RETURN_TOKEN('"');
11958
40.4k
}
11959
0
#line 11960 "Zend/zend_language_scanner.c"
11960
231k
yy1025:
11961
231k
    YYDEBUG(1025, *YYCURSOR);
11962
231k
    yych = *++YYCURSOR;
11963
231k
    if (yych <= '_') {
11964
24.7k
      if (yych <= '@') goto yy1022;
11965
22.8k
      if (yych <= 'Z') goto yy1027;
11966
6.10k
      if (yych <= '^') goto yy1022;
11967
5.57k
      goto yy1027;
11968
206k
    } else {
11969
206k
      if (yych <= 'z') {
11970
150k
        if (yych <= '`') goto yy1022;
11971
149k
        goto yy1027;
11972
150k
      } else {
11973
56.1k
        if (yych <= '{') goto yy1030;
11974
16.6k
        if (yych <= 0x7F) goto yy1022;
11975
16.3k
        goto yy1027;
11976
16.6k
      }
11977
206k
    }
11978
7.64k
yy1026:
11979
7.64k
    YYDEBUG(1026, *YYCURSOR);
11980
7.64k
    yych = *++YYCURSOR;
11981
7.64k
    if (yych == '$') goto yy1032;
11982
2.49k
    goto yy1022;
11983
630k
yy1027:
11984
630k
    YYDEBUG(1027, *YYCURSOR);
11985
630k
    YYMARKER = ++YYCURSOR;
11986
630k
    YYFILL(4);
11987
630k
    yych = *YYCURSOR;
11988
630k
    YYDEBUG(1028, *YYCURSOR);
11989
630k
    if (yybm[0+yych] & 128) {
11990
441k
      goto yy1027;
11991
441k
    }
11992
188k
    if (yych <= '>') {
11993
99.2k
      if (yych == '-') goto yy1034;
11994
99.2k
    } else {
11995
89.4k
      if (yych <= '?') goto yy1036;
11996
18.6k
      if (yych <= '@') goto yy1029;
11997
18.4k
      if (yych <= '[') goto yy1037;
11998
18.4k
    }
11999
143k
yy1029:
12000
143k
    YYDEBUG(1029, *YYCURSOR);
12001
143k
    yyleng = YYCURSOR - SCNG(yy_text);
12002
143k
#line 2416 "Zend/zend_language_scanner.l"
12003
143k
    {
12004
143k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12005
143k
}
12006
0
#line 12007 "Zend/zend_language_scanner.c"
12007
39.5k
yy1030:
12008
39.5k
    YYDEBUG(1030, *YYCURSOR);
12009
39.5k
    ++YYCURSOR;
12010
39.5k
    YYDEBUG(1031, *YYCURSOR);
12011
39.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12012
39.5k
#line 1980 "Zend/zend_language_scanner.l"
12013
39.5k
    {
12014
39.5k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12015
39.5k
  enter_nesting('{');
12016
39.5k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12017
39.5k
}
12018
0
#line 12019 "Zend/zend_language_scanner.c"
12019
5.14k
yy1032:
12020
5.14k
    YYDEBUG(1032, *YYCURSOR);
12021
5.14k
    ++YYCURSOR;
12022
5.14k
    YYDEBUG(1033, *YYCURSOR);
12023
5.14k
    yyleng = YYCURSOR - SCNG(yy_text);
12024
5.14k
#line 2845 "Zend/zend_language_scanner.l"
12025
5.14k
    {
12026
5.14k
  yy_push_state(ST_IN_SCRIPTING);
12027
5.14k
  yyless(1);
12028
5.14k
  enter_nesting('{');
12029
5.14k
  RETURN_TOKEN(T_CURLY_OPEN);
12030
5.14k
}
12031
0
#line 12032 "Zend/zend_language_scanner.c"
12032
16.2k
yy1034:
12033
16.2k
    YYDEBUG(1034, *YYCURSOR);
12034
16.2k
    yych = *++YYCURSOR;
12035
16.2k
    if (yych == '>') goto yy1039;
12036
47.1k
yy1035:
12037
47.1k
    YYDEBUG(1035, *YYCURSOR);
12038
47.1k
    YYCURSOR = YYMARKER;
12039
47.1k
    goto yy1029;
12040
70.7k
yy1036:
12041
70.7k
    YYDEBUG(1036, *YYCURSOR);
12042
70.7k
    yych = *++YYCURSOR;
12043
70.7k
    if (yych == '-') goto yy1040;
12044
36.7k
    goto yy1035;
12045
36.7k
yy1037:
12046
5.07k
    YYDEBUG(1037, *YYCURSOR);
12047
5.07k
    ++YYCURSOR;
12048
5.07k
    YYDEBUG(1038, *YYCURSOR);
12049
5.07k
    yyleng = YYCURSOR - SCNG(yy_text);
12050
5.07k
#line 2410 "Zend/zend_language_scanner.l"
12051
5.07k
    {
12052
5.07k
  yyless(yyleng - 1);
12053
5.07k
  yy_push_state(ST_VAR_OFFSET);
12054
5.07k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12055
5.07k
}
12056
0
#line 12057 "Zend/zend_language_scanner.c"
12057
12.4k
yy1039:
12058
12.4k
    YYDEBUG(1039, *YYCURSOR);
12059
12.4k
    yych = *++YYCURSOR;
12060
12.4k
    if (yych <= '_') {
12061
7.00k
      if (yych <= '@') goto yy1035;
12062
6.19k
      if (yych <= 'Z') goto yy1041;
12063
654
      if (yych <= '^') goto yy1035;
12064
315
      goto yy1041;
12065
5.43k
    } else {
12066
5.43k
      if (yych <= '`') goto yy1035;
12067
5.19k
      if (yych <= 'z') goto yy1041;
12068
1.47k
      if (yych <= 0x7F) goto yy1035;
12069
963
      goto yy1041;
12070
1.47k
    }
12071
34.0k
yy1040:
12072
34.0k
    YYDEBUG(1040, *YYCURSOR);
12073
34.0k
    yych = *++YYCURSOR;
12074
34.0k
    if (yych == '>') goto yy1043;
12075
1.35k
    goto yy1035;
12076
10.5k
yy1041:
12077
10.5k
    YYDEBUG(1041, *YYCURSOR);
12078
10.5k
    ++YYCURSOR;
12079
10.5k
    YYDEBUG(1042, *YYCURSOR);
12080
10.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
10.5k
#line 2396 "Zend/zend_language_scanner.l"
12082
10.5k
    {
12083
10.5k
  yyless(yyleng - 3);
12084
10.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12085
10.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
10.5k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
32.6k
yy1043:
12089
32.6k
    YYDEBUG(1043, *YYCURSOR);
12090
32.6k
    yych = *++YYCURSOR;
12091
32.6k
    if (yych <= '_') {
12092
5.84k
      if (yych <= '@') goto yy1035;
12093
4.93k
      if (yych <= 'Z') goto yy1044;
12094
4.83k
      if (yych <= '^') goto yy1035;
12095
26.8k
    } else {
12096
26.8k
      if (yych <= '`') goto yy1035;
12097
26.3k
      if (yych <= 'z') goto yy1044;
12098
1.02k
      if (yych <= 0x7F) goto yy1035;
12099
1.02k
    }
12100
29.2k
yy1044:
12101
29.2k
    YYDEBUG(1044, *YYCURSOR);
12102
29.2k
    ++YYCURSOR;
12103
29.2k
    YYDEBUG(1045, *YYCURSOR);
12104
29.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12105
29.2k
#line 2402 "Zend/zend_language_scanner.l"
12106
29.2k
    {
12107
29.2k
  yyless(yyleng - 4);
12108
29.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12109
29.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12110
29.2k
}
12111
29.2k
#line 12112 "Zend/zend_language_scanner.c"
12112
29.2k
  }
12113
/* *********************************** */
12114
4.55M
yyc_ST_HEREDOC:
12115
4.55M
  {
12116
4.55M
    static const unsigned char yybm[] = {
12117
4.55M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
4.55M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
4.55M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
4.55M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
4.55M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
4.55M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12124
4.55M
      128, 128,   0,   0,   0,   0,   0,   0, 
12125
4.55M
        0, 128, 128, 128, 128, 128, 128, 128, 
12126
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
4.55M
      128, 128, 128,   0,   0,   0,   0, 128, 
12129
4.55M
        0, 128, 128, 128, 128, 128, 128, 128, 
12130
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
4.55M
      128, 128, 128,   0,   0,   0,   0,   0, 
12133
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
4.55M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
4.55M
    };
12150
4.55M
    YYDEBUG(1046, *YYCURSOR);
12151
4.55M
    YYFILL(2);
12152
4.55M
    yych = *YYCURSOR;
12153
4.55M
    if (yych == '$') goto yy1050;
12154
826k
    if (yych == '{') goto yy1051;
12155
740k
    YYDEBUG(1048, *YYCURSOR);
12156
740k
    ++YYCURSOR;
12157
944k
yy1049:
12158
944k
    YYDEBUG(1049, *YYCURSOR);
12159
944k
    yyleng = YYCURSOR - SCNG(yy_text);
12160
944k
#line 2964 "Zend/zend_language_scanner.l"
12161
944k
    {
12162
944k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12163
944k
  int newline = 0, indentation = 0, spacing = 0;
12164
12165
944k
  if (YYCURSOR > YYLIMIT) {
12166
21.2k
    RETURN_END_TOKEN;
12167
21.2k
  }
12168
12169
922k
  YYCURSOR--;
12170
12171
27.1M
  while (YYCURSOR < YYLIMIT) {
12172
27.1M
    switch (*YYCURSOR++) {
12173
159k
      case '\r':
12174
159k
        if (*YYCURSOR == '\n') {
12175
11.6k
          YYCURSOR++;
12176
11.6k
        }
12177
159k
        ZEND_FALLTHROUGH;
12178
1.41M
      case '\n':
12179
1.41M
        indentation = spacing = 0;
12180
12181
1.87M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12182
459k
          if (*YYCURSOR == '\t') {
12183
9.09k
            spacing |= HEREDOC_USING_TABS;
12184
450k
          } else {
12185
450k
            spacing |= HEREDOC_USING_SPACES;
12186
450k
          }
12187
459k
          ++YYCURSOR;
12188
459k
          ++indentation;
12189
459k
        }
12190
12191
1.41M
        if (YYCURSOR == YYLIMIT) {
12192
1.90k
          yyleng = YYCURSOR - SCNG(yy_text);
12193
1.90k
          HANDLE_NEWLINES(yytext, yyleng);
12194
1.90k
          ZVAL_NULL(zendlval);
12195
1.90k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12196
1.90k
        }
12197
12198
        /* Check for ending label on the next line */
12199
1.41M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12200
25.2k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12201
10.8k
            continue;
12202
10.8k
          }
12203
12204
14.3k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12205
49
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12206
49
            if (PARSER_MODE()) {
12207
7
              RETURN_TOKEN(T_ERROR);
12208
7
            }
12209
49
          }
12210
12211
          /* newline before label will be subtracted from returned text, but
12212
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12213
14.3k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12214
296
            newline = 2; /* Windows newline */
12215
14.0k
          } else {
12216
14.0k
            newline = 1;
12217
14.0k
          }
12218
12219
14.3k
          CG(increment_lineno) = 1; /* For newline before label */
12220
12221
14.3k
          if (SCNG(heredoc_scan_ahead)) {
12222
9.16k
            SCNG(heredoc_indentation) = indentation;
12223
9.16k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12224
9.16k
          } else {
12225
5.19k
            YYCURSOR -= indentation;
12226
5.19k
          }
12227
12228
14.3k
          BEGIN(ST_END_HEREDOC);
12229
12230
14.3k
          goto heredoc_scan_done;
12231
14.3k
        }
12232
1.38M
        continue;
12233
1.38M
      case '$':
12234
1.18M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12235
878k
          break;
12236
878k
        }
12237
309k
        continue;
12238
316k
      case '{':
12239
316k
        if (*YYCURSOR == '$') {
12240
11.2k
          break;
12241
11.2k
        }
12242
305k
        continue;
12243
305k
      case '\\':
12244
109k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12245
107k
          YYCURSOR++;
12246
107k
        }
12247
109k
        ZEND_FALLTHROUGH;
12248
24.2M
      default:
12249
24.2M
        continue;
12250
27.1M
    }
12251
12252
890k
    YYCURSOR--;
12253
890k
    break;
12254
27.1M
  }
12255
12256
921k
heredoc_scan_done:
12257
12258
921k
  yyleng = YYCURSOR - SCNG(yy_text);
12259
921k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12260
12261
921k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12262
95.1k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12263
95.1k
    zend_string *copy = Z_STR_P(zendlval);
12264
12265
95.1k
    if (!strip_multiline_string_indentation(
12266
95.1k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12267
95.1k
        newline_at_start, newline != 0)) {
12268
52
      RETURN_TOKEN(T_ERROR);
12269
52
    }
12270
12271
95.1k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12272
14
      zend_string_efree(copy);
12273
14
      RETURN_TOKEN(T_ERROR);
12274
14
    }
12275
12276
95.1k
    zend_string_efree(copy);
12277
825k
  } else {
12278
825k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12279
825k
  }
12280
12281
920k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12282
920k
}
12283
0
#line 12284 "Zend/zend_language_scanner.c"
12284
3.72M
yy1050:
12285
3.72M
    YYDEBUG(1050, *YYCURSOR);
12286
3.72M
    yych = *++YYCURSOR;
12287
3.72M
    if (yych <= '_') {
12288
187k
      if (yych <= '@') goto yy1049;
12289
39.8k
      if (yych <= 'Z') goto yy1052;
12290
11.6k
      if (yych <= '^') goto yy1049;
12291
6.49k
      goto yy1052;
12292
3.53M
    } else {
12293
3.53M
      if (yych <= 'z') {
12294
267k
        if (yych <= '`') goto yy1049;
12295
264k
        goto yy1052;
12296
3.26M
      } else {
12297
3.26M
        if (yych <= '{') goto yy1055;
12298
114k
        if (yych <= 0x7F) goto yy1049;
12299
109k
        goto yy1052;
12300
114k
      }
12301
3.53M
    }
12302
85.5k
yy1051:
12303
85.5k
    YYDEBUG(1051, *YYCURSOR);
12304
85.5k
    yych = *++YYCURSOR;
12305
85.5k
    if (yych == '$') goto yy1057;
12306
42.0k
    goto yy1049;
12307
1.34M
yy1052:
12308
1.34M
    YYDEBUG(1052, *YYCURSOR);
12309
1.34M
    YYMARKER = ++YYCURSOR;
12310
1.34M
    YYFILL(4);
12311
1.34M
    yych = *YYCURSOR;
12312
1.34M
    YYDEBUG(1053, *YYCURSOR);
12313
1.34M
    if (yybm[0+yych] & 128) {
12314
931k
      goto yy1052;
12315
931k
    }
12316
408k
    if (yych <= '>') {
12317
288k
      if (yych == '-') goto yy1059;
12318
288k
    } else {
12319
120k
      if (yych <= '?') goto yy1061;
12320
47.2k
      if (yych <= '@') goto yy1054;
12321
45.8k
      if (yych <= '[') goto yy1062;
12322
45.8k
    }
12323
351k
yy1054:
12324
351k
    YYDEBUG(1054, *YYCURSOR);
12325
351k
    yyleng = YYCURSOR - SCNG(yy_text);
12326
351k
#line 2416 "Zend/zend_language_scanner.l"
12327
351k
    {
12328
351k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12329
351k
}
12330
0
#line 12331 "Zend/zend_language_scanner.c"
12331
3.15M
yy1055:
12332
3.15M
    YYDEBUG(1055, *YYCURSOR);
12333
3.15M
    ++YYCURSOR;
12334
3.15M
    YYDEBUG(1056, *YYCURSOR);
12335
3.15M
    yyleng = YYCURSOR - SCNG(yy_text);
12336
3.15M
#line 1980 "Zend/zend_language_scanner.l"
12337
3.15M
    {
12338
3.15M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12339
3.15M
  enter_nesting('{');
12340
3.15M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12341
3.15M
}
12342
0
#line 12343 "Zend/zend_language_scanner.c"
12343
43.5k
yy1057:
12344
43.5k
    YYDEBUG(1057, *YYCURSOR);
12345
43.5k
    ++YYCURSOR;
12346
43.5k
    YYDEBUG(1058, *YYCURSOR);
12347
43.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12348
43.5k
#line 2845 "Zend/zend_language_scanner.l"
12349
43.5k
    {
12350
43.5k
  yy_push_state(ST_IN_SCRIPTING);
12351
43.5k
  yyless(1);
12352
43.5k
  enter_nesting('{');
12353
43.5k
  RETURN_TOKEN(T_CURLY_OPEN);
12354
43.5k
}
12355
0
#line 12356 "Zend/zend_language_scanner.c"
12356
19.6k
yy1059:
12357
19.6k
    YYDEBUG(1059, *YYCURSOR);
12358
19.6k
    yych = *++YYCURSOR;
12359
19.6k
    if (yych == '>') goto yy1064;
12360
50.1k
yy1060:
12361
50.1k
    YYDEBUG(1060, *YYCURSOR);
12362
50.1k
    YYCURSOR = YYMARKER;
12363
50.1k
    goto yy1054;
12364
72.9k
yy1061:
12365
72.9k
    YYDEBUG(1061, *YYCURSOR);
12366
72.9k
    yych = *++YYCURSOR;
12367
72.9k
    if (yych == '-') goto yy1065;
12368
36.4k
    goto yy1060;
12369
36.4k
yy1062:
12370
15.0k
    YYDEBUG(1062, *YYCURSOR);
12371
15.0k
    ++YYCURSOR;
12372
15.0k
    YYDEBUG(1063, *YYCURSOR);
12373
15.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12374
15.0k
#line 2410 "Zend/zend_language_scanner.l"
12375
15.0k
    {
12376
15.0k
  yyless(yyleng - 1);
12377
15.0k
  yy_push_state(ST_VAR_OFFSET);
12378
15.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12379
15.0k
}
12380
0
#line 12381 "Zend/zend_language_scanner.c"
12381
15.5k
yy1064:
12382
15.5k
    YYDEBUG(1064, *YYCURSOR);
12383
15.5k
    yych = *++YYCURSOR;
12384
15.5k
    if (yych <= '_') {
12385
5.63k
      if (yych <= '@') goto yy1060;
12386
3.89k
      if (yych <= 'Z') goto yy1066;
12387
1.17k
      if (yych <= '^') goto yy1060;
12388
967
      goto yy1066;
12389
9.90k
    } else {
12390
9.90k
      if (yych <= '`') goto yy1060;
12391
9.27k
      if (yych <= 'z') goto yy1066;
12392
1.43k
      if (yych <= 0x7F) goto yy1060;
12393
917
      goto yy1066;
12394
1.43k
    }
12395
36.4k
yy1065:
12396
36.4k
    YYDEBUG(1065, *YYCURSOR);
12397
36.4k
    yych = *++YYCURSOR;
12398
36.4k
    if (yych == '>') goto yy1068;
12399
2.34k
    goto yy1060;
12400
12.4k
yy1066:
12401
12.4k
    YYDEBUG(1066, *YYCURSOR);
12402
12.4k
    ++YYCURSOR;
12403
12.4k
    YYDEBUG(1067, *YYCURSOR);
12404
12.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
12.4k
#line 2396 "Zend/zend_language_scanner.l"
12406
12.4k
    {
12407
12.4k
  yyless(yyleng - 3);
12408
12.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12409
12.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
12.4k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
34.1k
yy1068:
12413
34.1k
    YYDEBUG(1068, *YYCURSOR);
12414
34.1k
    yych = *++YYCURSOR;
12415
34.1k
    if (yych <= '_') {
12416
4.97k
      if (yych <= '@') goto yy1060;
12417
2.73k
      if (yych <= 'Z') goto yy1069;
12418
2.62k
      if (yych <= '^') goto yy1060;
12419
29.1k
    } else {
12420
29.1k
      if (yych <= '`') goto yy1060;
12421
28.6k
      if (yych <= 'z') goto yy1069;
12422
1.03k
      if (yych <= 0x7F) goto yy1060;
12423
1.03k
    }
12424
29.9k
yy1069:
12425
29.9k
    YYDEBUG(1069, *YYCURSOR);
12426
29.9k
    ++YYCURSOR;
12427
29.9k
    YYDEBUG(1070, *YYCURSOR);
12428
29.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12429
29.9k
#line 2402 "Zend/zend_language_scanner.l"
12430
29.9k
    {
12431
29.9k
  yyless(yyleng - 4);
12432
29.9k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12433
29.9k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12434
29.9k
}
12435
29.9k
#line 12436 "Zend/zend_language_scanner.c"
12436
29.9k
  }
12437
/* *********************************** */
12438
3.21M
yyc_ST_LOOKING_FOR_VARNAME:
12439
3.21M
  {
12440
3.21M
    static const unsigned char yybm[] = {
12441
3.21M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
3.21M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.21M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.21M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.21M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.21M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12448
3.21M
      128, 128,   0,   0,   0,   0,   0,   0, 
12449
3.21M
        0, 128, 128, 128, 128, 128, 128, 128, 
12450
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
3.21M
      128, 128, 128,   0,   0,   0,   0, 128, 
12453
3.21M
        0, 128, 128, 128, 128, 128, 128, 128, 
12454
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
3.21M
      128, 128, 128,   0,   0,   0,   0,   0, 
12457
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.21M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
3.21M
    };
12474
3.21M
    YYDEBUG(1071, *YYCURSOR);
12475
3.21M
    YYFILL(2);
12476
3.21M
    yych = *YYCURSOR;
12477
3.21M
    if (yych <= '_') {
12478
3.10M
      if (yych <= '@') goto yy1073;
12479
24.4k
      if (yych <= 'Z') goto yy1075;
12480
10.5k
      if (yych >= '_') goto yy1075;
12481
116k
    } else {
12482
116k
      if (yych <= '`') goto yy1073;
12483
110k
      if (yych <= 'z') goto yy1075;
12484
25.7k
      if (yych >= 0x80) goto yy1075;
12485
25.7k
    }
12486
3.09M
yy1073:
12487
3.09M
    YYDEBUG(1073, *YYCURSOR);
12488
3.09M
    ++YYCURSOR;
12489
3.21M
yy1074:
12490
3.21M
    YYDEBUG(1074, *YYCURSOR);
12491
3.21M
    yyleng = YYCURSOR - SCNG(yy_text);
12492
3.21M
#line 2003 "Zend/zend_language_scanner.l"
12493
3.21M
    {
12494
3.21M
  yyless(0);
12495
3.21M
  yy_pop_state();
12496
3.21M
  yy_push_state(ST_IN_SCRIPTING);
12497
3.21M
  goto restart;
12498
3.09M
}
12499
0
#line 12500 "Zend/zend_language_scanner.c"
12500
126k
yy1075:
12501
126k
    YYDEBUG(1075, *YYCURSOR);
12502
126k
    yych = *(YYMARKER = ++YYCURSOR);
12503
126k
    if (yych <= '_') {
12504
44.3k
      if (yych <= '@') {
12505
25.4k
        if (yych <= '/') goto yy1074;
12506
11.7k
        if (yych <= '9') goto yy1077;
12507
10.6k
        goto yy1074;
12508
18.9k
      } else {
12509
18.9k
        if (yych <= '[') goto yy1077;
12510
7.45k
        if (yych <= '^') goto yy1074;
12511
6.59k
        goto yy1077;
12512
7.45k
      }
12513
82.3k
    } else {
12514
82.3k
      if (yych <= '|') {
12515
69.1k
        if (yych <= '`') goto yy1074;
12516
67.7k
        if (yych <= 'z') goto yy1077;
12517
480
        goto yy1074;
12518
67.7k
      } else {
12519
13.1k
        if (yych <= '}') goto yy1077;
12520
12.1k
        if (yych <= 0x7F) goto yy1074;
12521
11.7k
        goto yy1077;
12522
12.1k
      }
12523
82.3k
    }
12524
499k
yy1076:
12525
499k
    YYDEBUG(1076, *YYCURSOR);
12526
499k
    ++YYCURSOR;
12527
499k
    YYFILL(1);
12528
499k
    yych = *YYCURSOR;
12529
598k
yy1077:
12530
598k
    YYDEBUG(1077, *YYCURSOR);
12531
598k
    if (yybm[0+yych] & 128) {
12532
499k
      goto yy1076;
12533
499k
    }
12534
99.1k
    if (yych <= '@') goto yy1078;
12535
12.5k
    if (yych <= '[') goto yy1079;
12536
10.7k
    if (yych == '}') goto yy1079;
12537
95.7k
yy1078:
12538
95.7k
    YYDEBUG(1078, *YYCURSOR);
12539
95.7k
    YYCURSOR = YYMARKER;
12540
95.7k
    goto yy1074;
12541
3.39k
yy1079:
12542
3.39k
    YYDEBUG(1079, *YYCURSOR);
12543
3.39k
    ++YYCURSOR;
12544
3.39k
    YYDEBUG(1080, *YYCURSOR);
12545
3.39k
    yyleng = YYCURSOR - SCNG(yy_text);
12546
3.39k
#line 1995 "Zend/zend_language_scanner.l"
12547
3.39k
    {
12548
3.39k
  yyless(yyleng - 1);
12549
3.39k
  yy_pop_state();
12550
3.39k
  yy_push_state(ST_IN_SCRIPTING);
12551
3.39k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12552
3.39k
}
12553
3.39k
#line 12554 "Zend/zend_language_scanner.c"
12554
3.39k
  }
12555
/* *********************************** */
12556
251k
yyc_ST_VAR_OFFSET:
12557
251k
  {
12558
251k
    static const unsigned char yybm[] = {
12559
251k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
251k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
251k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
251k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
251k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
251k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
251k
      248, 248, 216, 216, 216, 216, 216, 216, 
12566
251k
      152, 152,   0,   0,   0,   0,   0,   0, 
12567
251k
        0, 144, 144, 144, 144, 144, 144,  16, 
12568
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
251k
       16,  16,  16,   0,   0,   0,   0,  16, 
12571
251k
        0, 144, 144, 144, 144, 144, 144,  16, 
12572
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
251k
       16,  16,  16,   0,   0,   0,   0,   0, 
12575
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
251k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
251k
    };
12592
251k
    YYDEBUG(1081, *YYCURSOR);
12593
251k
    YYFILL(2);
12594
251k
    yych = *YYCURSOR;
12595
251k
    if (yych <= '0') {
12596
114k
      if (yych <= ' ') {
12597
52.8k
        if (yych <= '\f') {
12598
43.7k
          if (yych <= 0x08) goto yy1083;
12599
6.87k
          if (yych <= '\n') goto yy1085;
12600
9.09k
        } else {
12601
9.09k
          if (yych <= '\r') goto yy1085;
12602
8.04k
          if (yych >= ' ') goto yy1085;
12603
8.04k
        }
12604
61.4k
      } else {
12605
61.4k
        if (yych <= '$') {
12606
26.5k
          if (yych <= '"') goto yy1087;
12607
21.2k
          if (yych <= '#') goto yy1085;
12608
20.5k
          goto yy1089;
12609
34.8k
        } else {
12610
34.8k
          if (yych == '\'') goto yy1085;
12611
34.0k
          if (yych <= '/') goto yy1087;
12612
19.5k
          goto yy1090;
12613
34.0k
        }
12614
61.4k
      }
12615
137k
    } else {
12616
137k
      if (yych <= ']') {
12617
89.7k
        if (yych <= 'Z') {
12618
53.5k
          if (yych <= '9') goto yy1092;
12619
43.5k
          if (yych <= '@') goto yy1087;
12620
7.56k
          goto yy1094;
12621
43.5k
        } else {
12622
36.2k
          if (yych <= '[') goto yy1087;
12623
9.30k
          if (yych <= '\\') goto yy1085;
12624
8.99k
          goto yy1097;
12625
9.30k
        }
12626
89.7k
      } else {
12627
47.5k
        if (yych <= '`') {
12628
6.33k
          if (yych == '_') goto yy1094;
12629
3.57k
          goto yy1087;
12630
41.2k
        } else {
12631
41.2k
          if (yych <= 'z') goto yy1094;
12632
25.9k
          if (yych <= '~') goto yy1087;
12633
15.9k
          if (yych >= 0x80) goto yy1094;
12634
15.9k
        }
12635
47.5k
      }
12636
137k
    }
12637
45.4k
yy1083:
12638
45.4k
    YYDEBUG(1083, *YYCURSOR);
12639
45.4k
    ++YYCURSOR;
12640
45.4k
    YYDEBUG(1084, *YYCURSOR);
12641
45.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12642
45.4k
#line 3179 "Zend/zend_language_scanner.l"
12643
45.4k
    {
12644
45.4k
  if (YYCURSOR > YYLIMIT) {
12645
1.11k
    RETURN_END_TOKEN;
12646
1.11k
  }
12647
12648
44.3k
  RETURN_TOKEN(T_BAD_CHARACTER);
12649
44.3k
}
12650
0
#line 12651 "Zend/zend_language_scanner.c"
12651
11.1k
yy1085:
12652
11.1k
    YYDEBUG(1085, *YYCURSOR);
12653
11.1k
    ++YYCURSOR;
12654
11.1k
    YYDEBUG(1086, *YYCURSOR);
12655
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12656
11.1k
#line 2430 "Zend/zend_language_scanner.l"
12657
11.1k
    {
12658
  /* Invalid rule to return a more explicit parse error with proper line number */
12659
11.1k
  yyless(0);
12660
11.1k
  yy_pop_state();
12661
11.1k
  ZVAL_NULL(zendlval);
12662
11.1k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12663
11.1k
}
12664
0
#line 12665 "Zend/zend_language_scanner.c"
12665
96.3k
yy1087:
12666
96.3k
    YYDEBUG(1087, *YYCURSOR);
12667
96.3k
    ++YYCURSOR;
12668
108k
yy1088:
12669
108k
    YYDEBUG(1088, *YYCURSOR);
12670
108k
    yyleng = YYCURSOR - SCNG(yy_text);
12671
108k
#line 2425 "Zend/zend_language_scanner.l"
12672
108k
    {
12673
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12674
108k
  RETURN_TOKEN(yytext[0]);
12675
108k
}
12676
0
#line 12677 "Zend/zend_language_scanner.c"
12677
20.5k
yy1089:
12678
20.5k
    YYDEBUG(1089, *YYCURSOR);
12679
20.5k
    yych = *++YYCURSOR;
12680
20.5k
    if (yych <= '_') {
12681
8.22k
      if (yych <= '@') goto yy1088;
12682
1.85k
      if (yych <= 'Z') goto yy1099;
12683
602
      if (yych <= '^') goto yy1088;
12684
387
      goto yy1099;
12685
12.3k
    } else {
12686
12.3k
      if (yych <= '`') goto yy1088;
12687
12.0k
      if (yych <= 'z') goto yy1099;
12688
6.84k
      if (yych <= 0x7F) goto yy1088;
12689
1.24k
      goto yy1099;
12690
6.84k
    }
12691
19.5k
yy1090:
12692
19.5k
    YYDEBUG(1090, *YYCURSOR);
12693
19.5k
    yyaccept = 0;
12694
19.5k
    yych = *(YYMARKER = ++YYCURSOR);
12695
19.5k
    if (yych <= 'X') {
12696
7.80k
      if (yych <= 'B') {
12697
5.79k
        if (yych <= '/') goto yy1091;
12698
4.85k
        if (yych <= '9') goto yy1102;
12699
3.30k
        if (yych >= 'B') goto yy1105;
12700
3.30k
      } else {
12701
2.01k
        if (yych == 'O') goto yy1107;
12702
1.69k
        if (yych >= 'X') goto yy1108;
12703
1.69k
      }
12704
11.7k
    } else {
12705
11.7k
      if (yych <= 'b') {
12706
5.43k
        if (yych == '_') goto yy1109;
12707
4.67k
        if (yych >= 'b') goto yy1105;
12708
6.31k
      } else {
12709
6.31k
        if (yych <= 'o') {
12710
1.11k
          if (yych >= 'o') goto yy1107;
12711
5.19k
        } else {
12712
5.19k
          if (yych == 'x') goto yy1108;
12713
5.19k
        }
12714
6.31k
      }
12715
11.7k
    }
12716
25.0k
yy1091:
12717
25.0k
    YYDEBUG(1091, *YYCURSOR);
12718
25.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12719
25.0k
#line 2207 "Zend/zend_language_scanner.l"
12720
25.0k
    { /* Offset could be treated as a long */
12721
25.0k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12722
23.9k
    char *end;
12723
23.9k
    errno = 0;
12724
23.9k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12725
23.9k
    if (errno == ERANGE) {
12726
0
      goto string;
12727
0
    }
12728
23.9k
    ZEND_ASSERT(end == yytext + yyleng);
12729
23.9k
  } else {
12730
1.05k
string:
12731
1.05k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12732
1.05k
  }
12733
25.0k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12734
25.0k
}
12735
0
#line 12736 "Zend/zend_language_scanner.c"
12736
60.1k
yy1092:
12737
60.1k
    YYDEBUG(1092, *YYCURSOR);
12738
60.1k
    yyaccept = 0;
12739
60.1k
    YYMARKER = ++YYCURSOR;
12740
60.1k
    YYFILL(1);
12741
60.1k
    yych = *YYCURSOR;
12742
60.1k
    YYDEBUG(1093, *YYCURSOR);
12743
60.1k
    if (yybm[0+yych] & 8) {
12744
50.1k
      goto yy1092;
12745
50.1k
    }
12746
9.94k
    if (yych == '_') goto yy1109;
12747
9.16k
    goto yy1091;
12748
158k
yy1094:
12749
158k
    YYDEBUG(1094, *YYCURSOR);
12750
158k
    ++YYCURSOR;
12751
158k
    YYFILL(1);
12752
158k
    yych = *YYCURSOR;
12753
158k
    YYDEBUG(1095, *YYCURSOR);
12754
158k
    if (yybm[0+yych] & 16) {
12755
119k
      goto yy1094;
12756
119k
    }
12757
39.5k
    YYDEBUG(1096, *YYCURSOR);
12758
39.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12759
39.5k
#line 2454 "Zend/zend_language_scanner.l"
12760
39.5k
    {
12761
39.5k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12762
39.5k
}
12763
0
#line 12764 "Zend/zend_language_scanner.c"
12764
8.99k
yy1097:
12765
8.99k
    YYDEBUG(1097, *YYCURSOR);
12766
8.99k
    ++YYCURSOR;
12767
8.99k
    YYDEBUG(1098, *YYCURSOR);
12768
8.99k
    yyleng = YYCURSOR - SCNG(yy_text);
12769
8.99k
#line 2420 "Zend/zend_language_scanner.l"
12770
8.99k
    {
12771
8.99k
  yy_pop_state();
12772
8.99k
  RETURN_TOKEN(']');
12773
8.99k
}
12774
0
#line 12775 "Zend/zend_language_scanner.c"
12775
31.2k
yy1099:
12776
31.2k
    YYDEBUG(1099, *YYCURSOR);
12777
31.2k
    ++YYCURSOR;
12778
31.2k
    YYFILL(1);
12779
31.2k
    yych = *YYCURSOR;
12780
31.2k
    YYDEBUG(1100, *YYCURSOR);
12781
31.2k
    if (yych <= '^') {
12782
12.1k
      if (yych <= '9') {
12783
2.91k
        if (yych >= '0') goto yy1099;
12784
9.24k
      } else {
12785
9.24k
        if (yych <= '@') goto yy1101;
12786
6.92k
        if (yych <= 'Z') goto yy1099;
12787
6.92k
      }
12788
19.1k
    } else {
12789
19.1k
      if (yych <= '`') {
12790
1.57k
        if (yych <= '_') goto yy1099;
12791
17.5k
      } else {
12792
17.5k
        if (yych <= 'z') goto yy1099;
12793
5.73k
        if (yych >= 0x80) goto yy1099;
12794
5.73k
      }
12795
19.1k
    }
12796
8.04k
yy1101:
12797
8.04k
    YYDEBUG(1101, *YYCURSOR);
12798
8.04k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
8.04k
#line 2416 "Zend/zend_language_scanner.l"
12800
8.04k
    {
12801
8.04k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12802
8.04k
}
12803
0
#line 12804 "Zend/zend_language_scanner.c"
12804
10.6k
yy1102:
12805
10.6k
    YYDEBUG(1102, *YYCURSOR);
12806
10.6k
    yyaccept = 1;
12807
10.6k
    YYMARKER = ++YYCURSOR;
12808
10.6k
    YYFILL(1);
12809
10.6k
    yych = *YYCURSOR;
12810
10.6k
    YYDEBUG(1103, *YYCURSOR);
12811
10.6k
    if (yych <= '/') goto yy1104;
12812
9.87k
    if (yych <= '9') goto yy1102;
12813
1.33k
    if (yych == '_') goto yy1109;
12814
4.44k
yy1104:
12815
4.44k
    YYDEBUG(1104, *YYCURSOR);
12816
4.44k
    yyleng = YYCURSOR - SCNG(yy_text);
12817
4.44k
#line 2223 "Zend/zend_language_scanner.l"
12818
4.44k
    { /* Offset must be treated as a string */
12819
4.44k
  if (yyleng == 1) {
12820
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12821
4.44k
  } else {
12822
4.44k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12823
4.44k
  }
12824
4.44k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12825
4.44k
}
12826
0
#line 12827 "Zend/zend_language_scanner.c"
12827
3.39k
yy1105:
12828
3.39k
    YYDEBUG(1105, *YYCURSOR);
12829
3.39k
    ++YYCURSOR;
12830
3.39k
    YYFILL(1);
12831
3.39k
    yych = *YYCURSOR;
12832
3.39k
    if (yybm[0+yych] & 32) {
12833
955
      goto yy1110;
12834
955
    }
12835
4.85k
yy1106:
12836
4.85k
    YYDEBUG(1106, *YYCURSOR);
12837
4.85k
    YYCURSOR = YYMARKER;
12838
4.85k
    if (yyaccept == 0) {
12839
4.18k
      goto yy1091;
12840
4.18k
    } else {
12841
669
      goto yy1104;
12842
669
    }
12843
978
yy1107:
12844
978
    YYDEBUG(1107, *YYCURSOR);
12845
978
    ++YYCURSOR;
12846
978
    YYFILL(1);
12847
978
    yych = *YYCURSOR;
12848
978
    if (yybm[0+yych] & 64) {
12849
474
      goto yy1112;
12850
474
    }
12851
504
    goto yy1106;
12852
2.41k
yy1108:
12853
2.41k
    YYDEBUG(1108, *YYCURSOR);
12854
2.41k
    ++YYCURSOR;
12855
2.41k
    YYFILL(1);
12856
2.41k
    yych = *YYCURSOR;
12857
2.41k
    if (yybm[0+yych] & 128) {
12858
1.97k
      goto yy1114;
12859
1.97k
    }
12860
440
    goto yy1106;
12861
1.98k
yy1109:
12862
1.98k
    YYDEBUG(1109, *YYCURSOR);
12863
1.98k
    ++YYCURSOR;
12864
1.98k
    YYFILL(1);
12865
1.98k
    yych = *YYCURSOR;
12866
1.98k
    if (yych <= '/') goto yy1106;
12867
1.21k
    if (yych <= '9') goto yy1102;
12868
703
    goto yy1106;
12869
1.20k
yy1110:
12870
1.20k
    YYDEBUG(1110, *YYCURSOR);
12871
1.20k
    yyaccept = 1;
12872
1.20k
    YYMARKER = ++YYCURSOR;
12873
1.20k
    YYFILL(1);
12874
1.20k
    yych = *YYCURSOR;
12875
1.20k
    YYDEBUG(1111, *YYCURSOR);
12876
1.20k
    if (yybm[0+yych] & 32) {
12877
253
      goto yy1110;
12878
253
    }
12879
955
    if (yych == '_') goto yy1105;
12880
579
    goto yy1104;
12881
769
yy1112:
12882
769
    YYDEBUG(1112, *YYCURSOR);
12883
769
    yyaccept = 1;
12884
769
    YYMARKER = ++YYCURSOR;
12885
769
    YYFILL(1);
12886
769
    yych = *YYCURSOR;
12887
769
    YYDEBUG(1113, *YYCURSOR);
12888
769
    if (yybm[0+yych] & 64) {
12889
295
      goto yy1112;
12890
295
    }
12891
474
    if (yych == '_') goto yy1107;
12892
213
    goto yy1104;
12893
3.70k
yy1114:
12894
3.70k
    YYDEBUG(1114, *YYCURSOR);
12895
3.70k
    yyaccept = 1;
12896
3.70k
    YYMARKER = ++YYCURSOR;
12897
3.70k
    YYFILL(1);
12898
3.70k
    yych = *YYCURSOR;
12899
3.70k
    YYDEBUG(1115, *YYCURSOR);
12900
3.70k
    if (yybm[0+yych] & 128) {
12901
1.73k
      goto yy1114;
12902
1.73k
    }
12903
1.97k
    if (yych == '_') goto yy1108;
12904
1.35k
    goto yy1104;
12905
1.97k
  }
12906
/* *********************************** */
12907
1.35k
yyc_SHEBANG:
12908
0
  {
12909
0
    static const unsigned char yybm[] = {
12910
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12911
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
    };
12943
0
    YYDEBUG(1116, *YYCURSOR);
12944
0
    YYFILL(2);
12945
0
    yych = *YYCURSOR;
12946
0
    if (yych == '#') goto yy1120;
12947
0
    YYDEBUG(1118, *YYCURSOR);
12948
0
    ++YYCURSOR;
12949
0
yy1119:
12950
0
    YYDEBUG(1119, *YYCURSOR);
12951
0
    yyleng = YYCURSOR - SCNG(yy_text);
12952
0
#line 2294 "Zend/zend_language_scanner.l"
12953
0
    {
12954
0
  yyless(0);
12955
0
  BEGIN(INITIAL);
12956
0
  goto restart;
12957
0
}
12958
0
#line 12959 "Zend/zend_language_scanner.c"
12959
0
yy1120:
12960
0
    YYDEBUG(1120, *YYCURSOR);
12961
0
    yych = *++YYCURSOR;
12962
0
    if (yych != '!') goto yy1119;
12963
0
yy1121:
12964
0
    YYDEBUG(1121, *YYCURSOR);
12965
0
    ++YYCURSOR;
12966
0
    YYFILL(1);
12967
0
    yych = *YYCURSOR;
12968
0
    YYDEBUG(1122, *YYCURSOR);
12969
0
    if (yybm[0+yych] & 128) {
12970
0
      goto yy1121;
12971
0
    }
12972
0
    YYDEBUG(1123, *YYCURSOR);
12973
0
    ++YYCURSOR;
12974
0
    YYDEBUG(1124, *YYCURSOR);
12975
0
    yyleng = YYCURSOR - SCNG(yy_text);
12976
0
#line 2288 "Zend/zend_language_scanner.l"
12977
0
    {
12978
0
  CG(zend_lineno)++;
12979
0
  BEGIN(INITIAL);
12980
0
  goto restart;
12981
0
}
12982
0
#line 12983 "Zend/zend_language_scanner.c"
12983
0
  }
12984
/* *********************************** */
12985
412k
yyc_INITIAL:
12986
412k
  YYDEBUG(1125, *YYCURSOR);
12987
412k
  YYFILL(7);
12988
412k
  yych = *YYCURSOR;
12989
412k
  if (yych == '<') goto yy1129;
12990
193k
  YYDEBUG(1127, *YYCURSOR);
12991
193k
  ++YYCURSOR;
12992
203k
yy1128:
12993
203k
  YYDEBUG(1128, *YYCURSOR);
12994
203k
  yyleng = YYCURSOR - SCNG(yy_text);
12995
203k
#line 2340 "Zend/zend_language_scanner.l"
12996
203k
  {
12997
203k
  if (YYCURSOR > YYLIMIT) {
12998
60.6k
    RETURN_END_TOKEN;
12999
60.6k
  }
13000
13001
142k
inline_char_handler:
13002
13003
336k
  while (1) {
13004
336k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13005
13006
336k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13007
13008
336k
    if (YYCURSOR >= YYLIMIT) {
13009
26.8k
      break;
13010
26.8k
    }
13011
13012
309k
    if (*YYCURSOR == '?') {
13013
115k
      if (CG(short_tags) /* <? */
13014
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13015
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13016
0
          (YYCURSOR + 4 == YYLIMIT ||
13017
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13018
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13019
115k
      ) {
13020
115k
        YYCURSOR--;
13021
115k
        break;
13022
115k
      }
13023
115k
    }
13024
309k
  }
13025
13026
142k
  yyleng = YYCURSOR - SCNG(yy_text);
13027
13028
142k
  if (SCNG(output_filter)) {
13029
0
    size_t readsize;
13030
0
    char *s = NULL;
13031
0
    size_t sz = 0;
13032
    // TODO: avoid reallocation ???
13033
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13034
0
    ZVAL_STRINGL(zendlval, s, sz);
13035
0
    efree(s);
13036
0
    if (readsize < yyleng) {
13037
0
      yyless(readsize);
13038
0
    }
13039
142k
  } else if (yyleng == 1) {
13040
14.8k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13041
127k
  } else {
13042
127k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13043
127k
  }
13044
142k
  HANDLE_NEWLINES(yytext, yyleng);
13045
142k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13046
142k
}
13047
0
#line 13048 "Zend/zend_language_scanner.c"
13048
218k
yy1129:
13049
218k
  YYDEBUG(1129, *YYCURSOR);
13050
218k
  yych = *++YYCURSOR;
13051
218k
  if (yych != '?') goto yy1128;
13052
208k
  YYDEBUG(1130, *YYCURSOR);
13053
208k
  yych = *(YYMARKER = ++YYCURSOR);
13054
208k
  if (yych <= 'O') {
13055
53.3k
    if (yych == '=') goto yy1132;
13056
155k
  } else {
13057
155k
    if (yych <= 'P') goto yy1134;
13058
154k
    if (yych == 'p') goto yy1134;
13059
154k
  }
13060
118k
yy1131:
13061
118k
  YYDEBUG(1131, *YYCURSOR);
13062
118k
  yyleng = YYCURSOR - SCNG(yy_text);
13063
118k
#line 2331 "Zend/zend_language_scanner.l"
13064
118k
  {
13065
118k
  if (CG(short_tags)) {
13066
118k
    BEGIN(ST_IN_SCRIPTING);
13067
118k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13068
118k
  } else {
13069
0
    goto inline_char_handler;
13070
0
  }
13071
118k
}
13072
0
#line 13073 "Zend/zend_language_scanner.c"
13073
1.68k
yy1132:
13074
1.68k
  YYDEBUG(1132, *YYCURSOR);
13075
1.68k
  ++YYCURSOR;
13076
1.68k
  YYDEBUG(1133, *YYCURSOR);
13077
1.68k
  yyleng = YYCURSOR - SCNG(yy_text);
13078
1.68k
#line 2300 "Zend/zend_language_scanner.l"
13079
1.68k
  {
13080
1.68k
  BEGIN(ST_IN_SCRIPTING);
13081
1.68k
  if (PARSER_MODE()) {
13082
    /* We'll reject this as an identifier in zend_lex_tstring. */
13083
1.16k
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13084
1.16k
  }
13085
527
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13086
527
}
13087
0
#line 13088 "Zend/zend_language_scanner.c"
13088
94.6k
yy1134:
13089
94.6k
  YYDEBUG(1134, *YYCURSOR);
13090
94.6k
  yych = *++YYCURSOR;
13091
94.6k
  if (yych == 'H') goto yy1136;
13092
93.5k
  if (yych == 'h') goto yy1136;
13093
6.31k
yy1135:
13094
6.31k
  YYDEBUG(1135, *YYCURSOR);
13095
6.31k
  YYCURSOR = YYMARKER;
13096
6.31k
  goto yy1131;
13097
90.6k
yy1136:
13098
90.6k
  YYDEBUG(1136, *YYCURSOR);
13099
90.6k
  yych = *++YYCURSOR;
13100
90.6k
  if (yych == 'P') goto yy1137;
13101
89.9k
  if (yych != 'p') goto yy1135;
13102
88.3k
yy1137:
13103
88.3k
  YYDEBUG(1137, *YYCURSOR);
13104
88.3k
  yych = *++YYCURSOR;
13105
88.3k
  if (yych <= '\f') {
13106
78.2k
    if (yych <= 0x08) goto yy1138;
13107
77.5k
    if (yych <= '\n') goto yy1139;
13108
77.5k
  } else {
13109
10.0k
    if (yych <= '\r') goto yy1141;
13110
9.64k
    if (yych == ' ') goto yy1139;
13111
9.64k
  }
13112
3.06k
yy1138:
13113
3.06k
  YYDEBUG(1138, *YYCURSOR);
13114
3.06k
  yyleng = YYCURSOR - SCNG(yy_text);
13115
3.06k
#line 2316 "Zend/zend_language_scanner.l"
13116
3.06k
  {
13117
  /* Allow <?php followed by end of file. */
13118
3.06k
  if (YYCURSOR == YYLIMIT) {
13119
387
    BEGIN(ST_IN_SCRIPTING);
13120
387
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13121
387
  }
13122
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13123
2.67k
  if (CG(short_tags)) {
13124
2.67k
    yyless(2);
13125
2.67k
    BEGIN(ST_IN_SCRIPTING);
13126
2.67k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13127
2.67k
  }
13128
0
  goto inline_char_handler;
13129
2.67k
}
13130
0
#line 13131 "Zend/zend_language_scanner.c"
13131
84.9k
yy1139:
13132
84.9k
  YYDEBUG(1139, *YYCURSOR);
13133
84.9k
  ++YYCURSOR;
13134
85.2k
yy1140:
13135
85.2k
  YYDEBUG(1140, *YYCURSOR);
13136
85.2k
  yyleng = YYCURSOR - SCNG(yy_text);
13137
85.2k
#line 2310 "Zend/zend_language_scanner.l"
13138
85.2k
  {
13139
85.2k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13140
85.2k
  BEGIN(ST_IN_SCRIPTING);
13141
85.2k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13142
85.2k
}
13143
0
#line 13144 "Zend/zend_language_scanner.c"
13144
399
yy1141:
13145
399
  YYDEBUG(1141, *YYCURSOR);
13146
399
  yych = *++YYCURSOR;
13147
399
  if (yych == '\n') goto yy1139;
13148
271
  goto yy1140;
13149
/* *********************************** */
13150
22.6k
yyc_ST_END_HEREDOC:
13151
22.6k
  YYDEBUG(1142, *YYCURSOR);
13152
22.6k
  YYFILL(1);
13153
22.6k
  yych = *YYCURSOR;
13154
22.6k
  YYDEBUG(1144, *YYCURSOR);
13155
22.6k
  ++YYCURSOR;
13156
22.6k
  YYDEBUG(1145, *YYCURSOR);
13157
22.6k
  yyleng = YYCURSOR - SCNG(yy_text);
13158
22.6k
#line 2831 "Zend/zend_language_scanner.l"
13159
22.6k
  {
13160
22.6k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13161
13162
22.6k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13163
22.6k
  YYCURSOR += yyleng - 1;
13164
13165
22.6k
  heredoc_label_dtor(heredoc_label);
13166
22.6k
  efree(heredoc_label);
13167
13168
22.6k
  BEGIN(ST_IN_SCRIPTING);
13169
22.6k
  RETURN_TOKEN(T_END_HEREDOC);
13170
22.6k
}
13171
0
#line 13172 "Zend/zend_language_scanner.c"
13172
/* *********************************** */
13173
10.6k
yyc_ST_NOWDOC:
13174
10.6k
  YYDEBUG(1146, *YYCURSOR);
13175
10.6k
  YYFILL(1);
13176
10.6k
  yych = *YYCURSOR;
13177
10.6k
  YYDEBUG(1148, *YYCURSOR);
13178
10.6k
  ++YYCURSOR;
13179
10.6k
  YYDEBUG(1149, *YYCURSOR);
13180
10.6k
  yyleng = YYCURSOR - SCNG(yy_text);
13181
10.6k
#line 3088 "Zend/zend_language_scanner.l"
13182
10.6k
  {
13183
10.6k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13184
10.6k
  int newline = 0, indentation = 0, spacing = -1;
13185
13186
10.6k
  if (YYCURSOR > YYLIMIT) {
13187
2.61k
    RETURN_END_TOKEN;
13188
2.61k
  }
13189
13190
8.05k
  YYCURSOR--;
13191
13192
2.31M
  while (YYCURSOR < YYLIMIT) {
13193
2.31M
    switch (*YYCURSOR++) {
13194
14.9k
      case '\r':
13195
14.9k
        if (*YYCURSOR == '\n') {
13196
994
          YYCURSOR++;
13197
994
        }
13198
14.9k
        ZEND_FALLTHROUGH;
13199
117k
      case '\n':
13200
117k
        indentation = spacing = 0;
13201
13202
160k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13203
43.5k
          if (*YYCURSOR == '\t') {
13204
1.20k
            spacing |= HEREDOC_USING_TABS;
13205
42.3k
          } else {
13206
42.3k
            spacing |= HEREDOC_USING_SPACES;
13207
42.3k
          }
13208
43.5k
          ++YYCURSOR;
13209
43.5k
          ++indentation;
13210
43.5k
        }
13211
13212
117k
        if (YYCURSOR == YYLIMIT) {
13213
447
          yyleng = YYCURSOR - SCNG(yy_text);
13214
447
          HANDLE_NEWLINES(yytext, yyleng);
13215
447
          ZVAL_NULL(zendlval);
13216
447
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13217
447
        }
13218
13219
        /* Check for ending label on the next line */
13220
116k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13221
7.59k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13222
2.17k
            continue;
13223
2.17k
          }
13224
13225
5.42k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13226
79
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13227
79
            if (PARSER_MODE()) {
13228
6
              RETURN_TOKEN(T_ERROR);
13229
6
            }
13230
79
          }
13231
13232
          /* newline before label will be subtracted from returned text, but
13233
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13234
5.41k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13235
294
            newline = 2; /* Windows newline */
13236
5.12k
          } else {
13237
5.12k
            newline = 1;
13238
5.12k
          }
13239
13240
5.41k
          CG(increment_lineno) = 1; /* For newline before label */
13241
13242
5.41k
          YYCURSOR -= indentation;
13243
5.41k
          heredoc_label->indentation = indentation;
13244
13245
5.41k
          BEGIN(ST_END_HEREDOC);
13246
13247
5.41k
          goto nowdoc_scan_done;
13248
5.42k
        }
13249
109k
        ZEND_FALLTHROUGH;
13250
2.30M
      default:
13251
2.30M
        continue;
13252
2.31M
    }
13253
2.31M
  }
13254
13255
7.59k
nowdoc_scan_done:
13256
7.59k
  yyleng = YYCURSOR - SCNG(yy_text);
13257
7.59k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13258
13259
7.59k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13260
1.18k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13261
1.18k
    if (!strip_multiline_string_indentation(
13262
1.18k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13263
1.18k
        newline_at_start, newline != 0)) {
13264
33
      RETURN_TOKEN(T_ERROR);
13265
33
    }
13266
1.18k
  }
13267
13268
7.56k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13269
7.56k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13270
7.56k
}
13271
7.56k
#line 13272 "Zend/zend_language_scanner.c"
13272
7.56k
}
13273
0
#line 3187 "Zend/zend_language_scanner.l"
13274
13275
13276
6.03M
emit_token_with_str:
13277
6.03M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13278
13279
9.18M
emit_token_with_val:
13280
9.18M
  if (PARSER_MODE()) {
13281
3.30M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13282
3.30M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13283
3.30M
  }
13284
13285
33.5M
emit_token:
13286
33.5M
  if (SCNG(on_event)) {
13287
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13288
0
  }
13289
33.5M
  return token;
13290
13291
1.18M
emit_token_with_ident:
13292
1.18M
  if (PARSER_MODE()) {
13293
616k
    elem->ident = SCNG(yy_text);
13294
616k
  }
13295
1.18M
  if (SCNG(on_event)) {
13296
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13297
0
  }
13298
1.18M
  return token;
13299
13300
5.66M
return_whitespace:
13301
5.66M
  HANDLE_NEWLINES(yytext, yyleng);
13302
5.66M
  if (SCNG(on_event)) {
13303
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13304
0
  }
13305
5.66M
  if (PARSER_MODE()) {
13306
2.59M
    start_line = CG(zend_lineno);
13307
2.59M
    goto restart;
13308
3.07M
  } else {
13309
3.07M
    return T_WHITESPACE;
13310
3.07M
  }
13311
13312
251k
skip_token:
13313
251k
  if (SCNG(on_event)) {
13314
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13315
0
  }
13316
251k
  start_line = CG(zend_lineno);
13317
251k
  goto restart;
13318
5.66M
}