Coverage Report

Created: 2026-04-01 06:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include <stdint.h>
36
#include "zend.h"
37
#ifdef ZEND_WIN32
38
# include <Winuser.h>
39
#endif
40
#include "zend_alloc.h"
41
#include <zend_language_parser.h>
42
#include "zend_compile.h"
43
#include "zend_language_scanner.h"
44
#include "zend_highlight.h"
45
#include "zend_constants.h"
46
#include "zend_variables.h"
47
#include "zend_operators.h"
48
#include "zend_API.h"
49
#include "zend_strtod.h"
50
#include "zend_exceptions.h"
51
#include "zend_virtual_cwd.h"
52
53
48.4M
#define YYCTYPE   unsigned char
54
119M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
777M
#define YYCURSOR  SCNG(yy_cursor)
56
248M
#define YYLIMIT   SCNG(yy_limit)
57
47.1M
#define YYMARKER  SCNG(yy_marker)
58
59
159M
#define YYGETCONDITION()  SCNG(yy_state)
60
17.5M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
4.29M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
307k
#define YYSTATE      YYGETCONDITION()
67
18.5M
#define yytext       ((char*)SCNG(yy_text))
68
64.2M
#define yyleng       SCNG(yy_leng)
69
4.03M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
4.03M
                          yyleng   = (unsigned int)x; } while(0)
71
#define yymore()     goto yymore_restart
72
73
/* perform sanity check. If this message is triggered you should
74
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
75
#define YYMAXFILL 16
76
77
#if ZEND_MMAP_AHEAD < YYMAXFILL
78
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
79
#endif
80
81
#include <stdarg.h>
82
83
#ifdef HAVE_UNISTD_H
84
# include <unistd.h>
85
#endif
86
87
/* Globals Macros */
88
1.54G
#define SCNG  LANG_SCNG
89
#ifdef ZTS
90
ZEND_API ts_rsrc_id language_scanner_globals_id;
91
ZEND_API size_t language_scanner_globals_offset;
92
#else
93
ZEND_API zend_php_scanner_globals language_scanner_globals;
94
#endif
95
96
7.31M
#define HANDLE_NEWLINES(s, l)                         \
97
7.31M
do {                                     \
98
7.31M
  char *p = (s), *boundary = p+(l);                     \
99
7.31M
                                        \
100
70.8M
  while (p<boundary) {                           \
101
63.5M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
6.07M
      CG(zend_lineno)++;                          \
103
6.07M
    }                                    \
104
63.5M
    p++;                                  \
105
63.5M
  }                                      \
106
7.31M
} while (0)
107
108
288k
#define HANDLE_NEWLINE(c) \
109
288k
{ \
110
288k
  if (c == '\n' || c == '\r') { \
111
103k
    CG(zend_lineno)++; \
112
103k
  } \
113
288k
}
114
115
/* To save initial string length after scanning to first variable */
116
183k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
378k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
6.97M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
40.1k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
192k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
29.8k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
124
125
126
static void strip_underscores(char *str, size_t *len)
127
6.66k
{
128
6.66k
  char *src = str, *dest = str;
129
114k
  while (*src != '\0') {
130
107k
    if (*src != '_') {
131
99.2k
      *dest = *src;
132
99.2k
      dest++;
133
99.2k
    } else {
134
8.57k
      --(*len);
135
8.57k
    }
136
107k
    src++;
137
107k
  }
138
6.66k
  *dest = '\0';
139
6.66k
}
140
141
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
142
0
{
143
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
144
0
  ZEND_ASSERT(internal_encoding);
145
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
146
0
}
147
148
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
149
0
{
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
156
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
157
0
}
158
159
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
160
0
{
161
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
162
0
  ZEND_ASSERT(internal_encoding);
163
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
164
0
internal_encoding, zend_multibyte_encoding_utf8);
165
0
}
166
167
168
static void _yy_push_state(int new_state)
169
8.67M
{
170
8.67M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
8.67M
  YYSETCONDITION(new_state);
172
8.67M
}
173
174
8.67M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
4.25M
{
178
4.25M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
4.25M
  YYSETCONDITION(*stack_state);
180
4.25M
  zend_stack_del_top(&SCNG(state_stack));
181
4.25M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
147k
{
185
147k
  YYCURSOR       = (YYCTYPE*)str;
186
147k
  YYLIMIT        = YYCURSOR + len;
187
147k
  if (!SCNG(yy_start)) {
188
37.4k
    SCNG(yy_start) = YYCURSOR;
189
37.4k
  }
190
147k
}
191
192
void startup_scanner(void)
193
224k
{
194
224k
  CG(parse_error) = 0;
195
224k
  CG(doc_comment) = NULL;
196
224k
  CG(extra_fn_flags) = 0;
197
224k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
224k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
224k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
224k
  SCNG(heredoc_scan_ahead) = 0;
201
224k
}
202
203
6.01M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
6.01M
    efree(heredoc_label->label);
205
6.01M
}
206
207
void shutdown_scanner(void)
208
224k
{
209
224k
  CG(parse_error) = 0;
210
224k
  RESET_DOC_COMMENT();
211
224k
  zend_stack_destroy(&SCNG(state_stack));
212
224k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
224k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
224k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
224k
  SCNG(heredoc_scan_ahead) = 0;
216
224k
  SCNG(on_event) = NULL;
217
224k
  SCNG(on_event_context) = NULL;
218
224k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
307k
{
222
307k
  lex_state->yy_leng   = SCNG(yy_leng);
223
307k
  lex_state->yy_start  = SCNG(yy_start);
224
307k
  lex_state->yy_text   = SCNG(yy_text);
225
307k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
307k
  lex_state->yy_marker = SCNG(yy_marker);
227
307k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
307k
  lex_state->state_stack = SCNG(state_stack);
230
307k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
307k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
307k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
307k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
307k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
307k
  lex_state->in = SCNG(yy_in);
239
307k
  lex_state->yy_state = YYSTATE;
240
307k
  lex_state->filename = CG(compiled_filename);
241
307k
  lex_state->lineno = CG(zend_lineno);
242
307k
  CG(compiled_filename) = NULL;
243
244
307k
  lex_state->script_org = SCNG(script_org);
245
307k
  lex_state->script_org_size = SCNG(script_org_size);
246
307k
  lex_state->script_filtered = SCNG(script_filtered);
247
307k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
307k
  lex_state->input_filter = SCNG(input_filter);
249
307k
  lex_state->output_filter = SCNG(output_filter);
250
307k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
307k
  lex_state->on_event = SCNG(on_event);
253
307k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
307k
  lex_state->ast = CG(ast);
256
307k
  lex_state->ast_arena = CG(ast_arena);
257
307k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
301k
{
261
301k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
301k
  SCNG(yy_start)  = lex_state->yy_start;
263
301k
  SCNG(yy_text)   = lex_state->yy_text;
264
301k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
301k
  SCNG(yy_marker) = lex_state->yy_marker;
266
301k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
301k
  zend_stack_destroy(&SCNG(state_stack));
269
301k
  SCNG(state_stack) = lex_state->state_stack;
270
271
301k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
301k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
301k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
301k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
301k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
301k
  SCNG(yy_in) = lex_state->in;
279
301k
  YYSETCONDITION(lex_state->yy_state);
280
301k
  CG(zend_lineno) = lex_state->lineno;
281
301k
  zend_restore_compiled_filename(lex_state->filename);
282
283
301k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
284
0
    efree(SCNG(script_filtered));
285
0
    SCNG(script_filtered) = NULL;
286
0
  }
287
301k
  SCNG(script_org) = lex_state->script_org;
288
301k
  SCNG(script_org_size) = lex_state->script_org_size;
289
301k
  SCNG(script_filtered) = lex_state->script_filtered;
290
301k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
301k
  SCNG(input_filter) = lex_state->input_filter;
292
301k
  SCNG(output_filter) = lex_state->output_filter;
293
301k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
301k
  SCNG(on_event) = lex_state->on_event;
296
301k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
301k
  CG(ast) = lex_state->ast;
299
301k
  CG(ast_arena) = lex_state->ast_arena;
300
301
301k
  RESET_DOC_COMMENT();
302
301k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
12.0k
{
306
12.0k
  unsigned char *end = ident;
307
75.8k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
63.7k
    end++;
309
63.7k
  }
310
311
12.0k
  size_t length = end - ident;
312
12.0k
  if (length == 0) {
313
10
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
10
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
10
    return FAILURE;
316
10
  }
317
318
12.0k
  if (SCNG(on_event)) {
319
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
320
0
  }
321
322
12.0k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
12.0k
  return SUCCESS;
324
12.0k
}
325
326
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
327
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
328
0
#define BOM_UTF16_BE  "\xfe\xff"
329
0
#define BOM_UTF16_LE  "\xff\xfe"
330
0
#define BOM_UTF8    "\xef\xbb\xbf"
331
332
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
333
0
{
334
0
  const unsigned char *p;
335
0
  int wchar_size = 2;
336
0
  int le = 0;
337
338
  /* utf-16 or utf-32? */
339
0
  p = script;
340
0
  assert(p >= script);
341
0
  while ((size_t)(p-script) < script_size) {
342
0
    p = memchr(p, 0, script_size-(p-script)-2);
343
0
    if (!p) {
344
0
      break;
345
0
    }
346
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
347
0
      wchar_size = 4;
348
0
      break;
349
0
    }
350
351
    /* searching for UTF-32 specific byte orders, so this will do */
352
0
    p += 4;
353
0
  }
354
355
  /* BE or LE? */
356
0
  p = script;
357
0
  assert(p >= script);
358
0
  while ((size_t)(p-script) < script_size) {
359
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
360
      /* BE */
361
0
      le = 0;
362
0
      break;
363
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
364
      /* LE* */
365
0
      le = 1;
366
0
      break;
367
0
    }
368
0
    p += wchar_size;
369
0
  }
370
371
0
  if (wchar_size == 2) {
372
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
373
0
  } else {
374
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
375
0
  }
376
377
0
  return NULL;
378
0
}
379
380
static const zend_encoding* zend_multibyte_detect_unicode(void)
381
0
{
382
0
  const zend_encoding *script_encoding = NULL;
383
0
  int bom_size;
384
0
  unsigned char *pos1, *pos2;
385
386
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
387
0
    return NULL;
388
0
  }
389
390
  /* check out BOM */
391
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
392
0
    script_encoding = zend_multibyte_encoding_utf32be;
393
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
394
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
395
0
    script_encoding = zend_multibyte_encoding_utf32le;
396
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
397
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
398
0
    script_encoding = zend_multibyte_encoding_utf16be;
399
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
400
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
401
0
    script_encoding = zend_multibyte_encoding_utf16le;
402
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
403
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
404
0
    script_encoding = zend_multibyte_encoding_utf8;
405
0
    bom_size = sizeof(BOM_UTF8)-1;
406
0
  }
407
408
0
  if (script_encoding) {
409
    /* remove BOM */
410
0
    LANG_SCNG(script_org) += bom_size;
411
0
    LANG_SCNG(script_org_size) -= bom_size;
412
413
0
    return script_encoding;
414
0
  }
415
416
  /* script contains NULL bytes -> auto-detection */
417
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
418
    /* check if the NULL byte is after the __HALT_COMPILER(); */
419
0
    pos2 = LANG_SCNG(script_org);
420
421
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
422
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
423
0
      if (!pos2) break;
424
0
      pos2++;
425
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
426
0
        pos2 += sizeof("_HALT_COMPILER")-1;
427
0
        while (*pos2 == ' '  ||
428
0
             *pos2 == '\t' ||
429
0
             *pos2 == '\r' ||
430
0
             *pos2 == '\n') {
431
0
          pos2++;
432
0
        }
433
0
        if (*pos2 == '(') {
434
0
          pos2++;
435
0
          while (*pos2 == ' '  ||
436
0
               *pos2 == '\t' ||
437
0
               *pos2 == '\r' ||
438
0
               *pos2 == '\n') {
439
0
            pos2++;
440
0
          }
441
0
          if (*pos2 == ')') {
442
0
            pos2++;
443
0
            while (*pos2 == ' '  ||
444
0
                 *pos2 == '\t' ||
445
0
                 *pos2 == '\r' ||
446
0
                 *pos2 == '\n') {
447
0
              pos2++;
448
0
            }
449
0
            if (*pos2 == ';') {
450
0
              return NULL;
451
0
            }
452
0
          }
453
0
        }
454
0
      }
455
0
    }
456
    /* make best effort if BOM is missing */
457
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
458
0
  }
459
460
0
  return NULL;
461
0
}
462
463
static const zend_encoding* zend_multibyte_find_script_encoding(void)
464
0
{
465
0
  const zend_encoding *script_encoding;
466
467
0
  if (CG(detect_unicode)) {
468
    /* check out bom(byte order mark) and see if containing wchars */
469
0
    script_encoding = zend_multibyte_detect_unicode();
470
0
    if (script_encoding != NULL) {
471
      /* bom or wchar detection is prior to 'script_encoding' option */
472
0
      return script_encoding;
473
0
    }
474
0
  }
475
476
  /* if no script_encoding specified, just leave alone */
477
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
478
0
    return NULL;
479
0
  }
480
481
  /* if multiple encodings specified, detect automagically */
482
0
  if (CG(script_encoding_list_size) > 1) {
483
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
484
0
  }
485
486
0
  return CG(script_encoding_list)[0];
487
0
}
488
489
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
490
0
{
491
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
492
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
493
494
0
  if (!script_encoding) {
495
0
    return FAILURE;
496
0
  }
497
498
  /* judge input/output filter */
499
0
  LANG_SCNG(script_encoding) = script_encoding;
500
0
  LANG_SCNG(input_filter) = NULL;
501
0
  LANG_SCNG(output_filter) = NULL;
502
503
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
504
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
505
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
506
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
507
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
508
0
    } else {
509
0
      LANG_SCNG(input_filter) = NULL;
510
0
      LANG_SCNG(output_filter) = NULL;
511
0
    }
512
0
    return SUCCESS;
513
0
  }
514
515
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
516
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
517
0
    LANG_SCNG(output_filter) = NULL;
518
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
519
0
    LANG_SCNG(input_filter) = NULL;
520
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
521
0
  } else {
522
    /* both script and internal encodings are incompatible w/ flex */
523
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
524
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
525
0
  }
526
527
0
  return SUCCESS;
528
0
}
529
530
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
531
111k
{
532
111k
  char *buf;
533
111k
  size_t size;
534
111k
  zend_string *compiled_filename;
535
536
111k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
753
    zend_llist_add_element(&CG(open_files), file_handle);
539
753
    file_handle->in_list = 1;
540
753
    return FAILURE;
541
753
  }
542
543
110k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
110k
  zend_llist_add_element(&CG(open_files), file_handle);
545
109k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
109k
  SCNG(yy_in) = file_handle;
549
109k
  SCNG(yy_start) = NULL;
550
551
109k
  if (size != (size_t)-1) {
552
109k
    if (CG(multibyte)) {
553
0
      SCNG(script_org) = (unsigned char*)buf;
554
0
      SCNG(script_org_size) = size;
555
0
      SCNG(script_filtered) = NULL;
556
557
0
      zend_multibyte_set_filter(NULL);
558
559
0
      if (SCNG(input_filter)) {
560
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
561
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
562
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
563
0
        }
564
0
        buf = (char*)SCNG(script_filtered);
565
0
        size = SCNG(script_filtered_size);
566
0
      }
567
0
    }
568
109k
    SCNG(yy_start) = (unsigned char *)buf;
569
109k
    yy_scan_buffer(buf, size);
570
109k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
109k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
109k
  } else {
577
109k
    BEGIN(INITIAL);
578
109k
  }
579
580
109k
  if (file_handle->opened_path) {
581
63
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
109k
  } else {
583
109k
    compiled_filename = zend_string_copy(file_handle->filename);
584
109k
  }
585
586
109k
  zend_set_compiled_filename(compiled_filename);
587
109k
  zend_string_release_ex(compiled_filename, 0);
588
589
109k
  SCNG(on_event) = NULL;
590
109k
  SCNG(on_event_context) = NULL;
591
109k
  RESET_DOC_COMMENT();
592
109k
  CG(zend_lineno) = 1;
593
109k
  CG(increment_lineno) = 0;
594
109k
  return SUCCESS;
595
109k
}
596
597
static zend_op_array *zend_compile(zend_function_type type)
598
114k
{
599
114k
  zend_op_array *op_array = NULL;
600
114k
  bool original_in_compilation = CG(in_compilation);
601
602
114k
  CG(in_compilation) = 1;
603
114k
  CG(ast) = NULL;
604
114k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
114k
  if (!zendparse()) {
607
81.8k
    uint32_t last_lineno = CG(zend_lineno);
608
81.8k
    zend_file_context original_file_context;
609
81.8k
    zend_oparray_context original_oparray_context;
610
81.8k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
81.8k
    op_array = emalloc(sizeof(zend_op_array));
613
81.8k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
81.8k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
81.8k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
81.8k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
81.8k
    zend_file_context_begin(&original_file_context);
624
81.8k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
81.8k
    zend_compile_top_stmt(CG(ast));
626
81.8k
    CG(zend_lineno) = last_lineno;
627
81.8k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
81.8k
    op_array->line_start = 1;
629
81.8k
    op_array->line_end = last_lineno;
630
81.8k
    pass_two(op_array);
631
81.8k
    zend_oparray_context_end(&original_oparray_context);
632
81.8k
    zend_file_context_end(&original_file_context);
633
634
81.8k
    CG(active_op_array) = original_active_op_array;
635
81.8k
  }
636
637
114k
  zend_ast_destroy(CG(ast));
638
114k
  zend_arena_destroy(CG(ast_arena));
639
640
114k
  CG(in_compilation) = original_in_compilation;
641
642
114k
  return op_array;
643
114k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
111k
{
647
111k
  zend_lex_state original_lex_state;
648
111k
  zend_op_array *op_array = NULL;
649
111k
  zend_save_lexical_state(&original_lex_state);
650
651
111k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
753
    if (!EG(exception)) {
653
696
      if (type==ZEND_REQUIRE) {
654
674
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
674
      } else {
656
22
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
22
      }
658
696
    }
659
110k
  } else {
660
110k
    bool orig_record_errors = EG(record_errors);
661
110k
    if (!orig_record_errors) {
662
70
      zend_begin_record_errors();
663
70
    }
664
665
110k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
110k
    if (!orig_record_errors) {
668
70
      zend_emit_recorded_errors();
669
70
      zend_free_recorded_errors();
670
70
    }
671
110k
  }
672
673
111k
  zend_restore_lexical_state(&original_lex_state);
674
111k
  return op_array;
675
111k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
16
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
16
  zval code_zv;
680
16
  bool original_in_compilation;
681
16
  zend_lex_state original_lex_state;
682
16
  zend_ast *ast;
683
684
16
  ZVAL_STR_COPY(&code_zv, code);
685
686
16
  original_in_compilation = CG(in_compilation);
687
16
  CG(in_compilation) = 1;
688
689
16
  zend_save_lexical_state(&original_lex_state);
690
16
  zend_prepare_string_for_scanning(&code_zv, filename);
691
16
  CG(ast) = NULL;
692
16
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
16
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
16
  if (zendparse() != 0) {
696
0
    zend_ast_destroy(CG(ast));
697
0
    zend_arena_destroy(CG(ast_arena));
698
0
    CG(ast) = NULL;
699
0
  }
700
701
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
702
16
  ast = CG(ast);
703
16
  *ast_arena = CG(ast_arena);
704
705
16
  zend_restore_lexical_state(&original_lex_state);
706
16
  CG(in_compilation) = original_in_compilation;
707
708
16
  zval_ptr_dtor_str(&code_zv);
709
710
16
  return ast;
711
16
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
85.7k
{
715
85.7k
  zend_file_handle file_handle;
716
85.7k
  zend_op_array *retval;
717
85.7k
  zend_string *opened_path = NULL;
718
719
85.7k
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
85.7k
  retval = zend_compile_file(&file_handle, type);
722
85.7k
  if (retval && file_handle.handle.stream.handle) {
723
68
    if (!file_handle.opened_path) {
724
6
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
6
    }
726
727
68
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
68
    if (opened_path) {
730
6
      zend_string_release_ex(opened_path, 0);
731
6
    }
732
68
  }
733
85.7k
  zend_destroy_file_handle(&file_handle);
734
735
85.7k
  return retval;
736
85.7k
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
37.4k
{
740
37.4k
  char *buf;
741
37.4k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
37.4k
  old_len = Z_STRLEN_P(str);
745
37.4k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
37.4k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
37.4k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
37.4k
  SCNG(yy_in) = NULL;
750
37.4k
  SCNG(yy_start) = NULL;
751
752
37.4k
  buf = Z_STRVAL_P(str);
753
37.4k
  size = old_len;
754
755
37.4k
  if (CG(multibyte)) {
756
0
    SCNG(script_org) = (unsigned char*)buf;
757
0
    SCNG(script_org_size) = size;
758
0
    SCNG(script_filtered) = NULL;
759
760
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
761
762
0
    if (SCNG(input_filter)) {
763
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
764
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
765
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
766
0
      }
767
0
      buf = (char*)SCNG(script_filtered);
768
0
      size = SCNG(script_filtered_size);
769
0
    }
770
0
  }
771
772
37.4k
  yy_scan_buffer(buf, size);
773
37.4k
  zend_set_compiled_filename(filename);
774
37.4k
  CG(zend_lineno) = 1;
775
37.4k
  CG(increment_lineno) = 0;
776
37.4k
  SCNG(on_event) = NULL;
777
37.4k
  SCNG(on_event_context) = NULL;
778
37.4k
  RESET_DOC_COMMENT();
779
37.4k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
74
{
784
74
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
74
  if (SCNG(input_filter)) {
786
0
    size_t original_offset = offset, length = 0;
787
0
    do {
788
0
      unsigned char *p = NULL;
789
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
790
0
        return (size_t)-1;
791
0
      }
792
0
      efree(p);
793
0
      if (length > original_offset) {
794
0
        offset--;
795
0
      } else if (length < original_offset) {
796
0
        offset++;
797
0
      }
798
0
    } while (original_offset != length);
799
0
  }
800
74
  return offset;
801
74
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
4.50k
{
805
4.50k
  zend_lex_state original_lex_state;
806
4.50k
  zend_op_array *op_array = NULL;
807
4.50k
  zval tmp;
808
4.50k
  zend_string *filename_str;
809
810
4.50k
  if (ZSTR_LEN(source_string) == 0) {
811
100
    return NULL;
812
100
  }
813
814
4.40k
  ZVAL_STR_COPY(&tmp, source_string);
815
816
4.40k
  zend_save_lexical_state(&original_lex_state);
817
4.40k
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
4.40k
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
4.40k
  zend_string_release(filename_str);
820
821
4.40k
  switch (position) {
822
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
823
0
      BEGIN(SHEBANG);
824
0
      break;
825
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
826
0
      BEGIN(INITIAL);
827
0
      break;
828
4.40k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
4.40k
      BEGIN(ST_IN_SCRIPTING);
830
4.40k
      break;
831
4.40k
  }
832
833
4.40k
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
4.40k
  zend_restore_lexical_state(&original_lex_state);
836
4.40k
  zval_ptr_dtor(&tmp);
837
838
4.40k
  return op_array;
839
4.40k
}
840
841
842
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
843
0
{
844
0
  zend_lex_state original_lex_state;
845
0
  zend_file_handle file_handle;
846
847
0
  zend_stream_init_filename(&file_handle, filename);
848
0
  zend_save_lexical_state(&original_lex_state);
849
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
850
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
851
0
    zend_destroy_file_handle(&file_handle);
852
0
    zend_restore_lexical_state(&original_lex_state);
853
0
    return FAILURE;
854
0
  }
855
0
  zend_highlight(syntax_highlighter_ini);
856
0
  if (SCNG(script_filtered)) {
857
0
    efree(SCNG(script_filtered));
858
0
    SCNG(script_filtered) = NULL;
859
0
  }
860
0
  zend_destroy_file_handle(&file_handle);
861
0
  zend_restore_lexical_state(&original_lex_state);
862
0
  return SUCCESS;
863
0
}
864
865
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
866
32.9k
{
867
32.9k
  zend_lex_state original_lex_state;
868
32.9k
  zval str_zv;
869
32.9k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
32.9k
  ZVAL_STR_COPY(&str_zv, str);
871
32.9k
  zend_save_lexical_state(&original_lex_state);
872
32.9k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
32.9k
  zend_string_release(filename_str);
874
32.9k
  BEGIN(INITIAL);
875
32.9k
  zend_highlight(syntax_highlighter_ini);
876
32.9k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
32.9k
  zend_restore_lexical_state(&original_lex_state);
881
32.9k
  zval_ptr_dtor(&str_zv);
882
32.9k
}
883
884
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
885
0
{
886
0
  size_t length;
887
0
  unsigned char *new_yy_start;
888
889
  /* convert and set */
890
0
  if (!SCNG(input_filter)) {
891
0
    if (SCNG(script_filtered)) {
892
0
      efree(SCNG(script_filtered));
893
0
      SCNG(script_filtered) = NULL;
894
0
    }
895
0
    SCNG(script_filtered_size) = 0;
896
0
    length = SCNG(script_org_size);
897
0
    new_yy_start = SCNG(script_org);
898
0
  } else {
899
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
900
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
901
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
902
0
    }
903
0
    if (SCNG(script_filtered)) {
904
0
      efree(SCNG(script_filtered));
905
0
    }
906
0
    SCNG(script_filtered) = new_yy_start;
907
0
    SCNG(script_filtered_size) = length;
908
0
  }
909
910
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
911
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
912
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
913
0
  SCNG(yy_limit) = new_yy_start + length;
914
915
0
  SCNG(yy_start) = new_yy_start;
916
0
}
917
918
919
// TODO: avoid reallocation ???
920
# define zend_copy_value(zendlval, yytext, yyleng) \
921
6.60M
  if (SCNG(output_filter)) { \
922
0
    size_t sz = 0; \
923
0
    char *s = NULL; \
924
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
925
0
    ZVAL_STRINGL(zendlval, s, sz); \
926
0
    efree(s); \
927
6.60M
  } else if (yyleng == 1) { \
928
2.20M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
4.40M
  } else { \
930
4.40M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
4.40M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
738k
{
935
738k
  char *s, *t;
936
738k
  char *end;
937
938
738k
  if (len <= 1) {
939
172k
    if (len < 1) {
940
22.8k
      ZVAL_EMPTY_STRING(zendlval);
941
149k
    } else {
942
149k
      zend_uchar c = (zend_uchar)*str;
943
149k
      HANDLE_NEWLINE(c);
944
149k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
149k
    }
946
172k
    goto skip_escape_conversion;
947
172k
  }
948
949
565k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
565k
  s = Z_STRVAL_P(zendlval);
953
565k
  end = s+Z_STRLEN_P(zendlval);
954
17.8M
  while (1) {
955
17.8M
    if (UNEXPECTED(*s=='\\')) {
956
130k
      break;
957
130k
    }
958
17.7M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
513k
      CG(zend_lineno)++;
960
513k
    }
961
17.7M
    s++;
962
17.7M
    if (s == end) {
963
435k
      goto skip_escape_conversion;
964
435k
    }
965
17.7M
  }
966
967
130k
  t = s;
968
4.91M
  while (s<end) {
969
4.78M
    if (*s=='\\') {
970
317k
      s++;
971
317k
      if (s >= end) {
972
1.71k
        *t++ = '\\';
973
1.71k
        break;
974
1.71k
      }
975
976
315k
      switch(*s) {
977
49.6k
        case 'n':
978
49.6k
          *t++ = '\n';
979
49.6k
          break;
980
1.01k
        case 'r':
981
1.01k
          *t++ = '\r';
982
1.01k
          break;
983
1.40k
        case 't':
984
1.40k
          *t++ = '\t';
985
1.40k
          break;
986
1.70k
        case 'f':
987
1.70k
          *t++ = '\f';
988
1.70k
          break;
989
2.80k
        case 'v':
990
2.80k
          *t++ = '\v';
991
2.80k
          break;
992
1.25k
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
1.25k
          *t++ = '\e';
997
1.25k
#endif
998
1.25k
          break;
999
1.29k
        case '"':
1000
3.55k
        case '`':
1001
3.55k
          if (*s != quote_type) {
1002
913
            *t++ = '\\';
1003
913
            *t++ = *s;
1004
913
            break;
1005
913
          }
1006
2.64k
          ZEND_FALLTHROUGH;
1007
89.8k
        case '\\':
1008
91.5k
        case '$':
1009
91.5k
          *t++ = *s;
1010
91.5k
          break;
1011
8.52k
        case 'x':
1012
11.8k
        case 'X':
1013
11.8k
          if (ZEND_IS_HEX(*(s+1))) {
1014
7.64k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
7.64k
            hex_buf[0] = *(++s);
1017
7.64k
            if (ZEND_IS_HEX(*(s+1))) {
1018
4.89k
              hex_buf[1] = *(++s);
1019
4.89k
            }
1020
7.64k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
7.64k
          } else {
1022
4.23k
            *t++ = '\\';
1023
4.23k
            *t++ = *s;
1024
4.23k
          }
1025
11.8k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
3.56k
        case 'u':
1028
3.56k
          {
1029
            /* cache where we started so we can parse after validating */
1030
3.56k
            char *start = s + 1;
1031
3.56k
            size_t len = 0;
1032
3.56k
            bool valid = 1;
1033
3.56k
            unsigned long codepoint;
1034
1035
3.56k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
726
              *t++ = '\\';
1040
726
              *t++ = 'u';
1041
726
              break;
1042
2.83k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
2.83k
              s++;
1045
2.83k
              len++;
1046
2.83k
              s++;
1047
12.2k
              while (*s != '}') {
1048
10.3k
                if (!ZEND_IS_HEX(*s)) {
1049
957
                  valid = 0;
1050
957
                  break;
1051
9.39k
                } else {
1052
9.39k
                  len++;
1053
9.39k
                }
1054
9.39k
                s++;
1055
9.39k
              }
1056
2.83k
              if (*s == '}') {
1057
1.87k
                valid = 1;
1058
1.87k
                len++;
1059
1.87k
              }
1060
2.83k
            }
1061
1062
            /* \u{} is invalid */
1063
2.83k
            if (len <= 2) {
1064
830
              valid = 0;
1065
830
            }
1066
1067
2.83k
            if (!valid) {
1068
1.02k
              zend_throw_exception(zend_ce_parse_error,
1069
1.02k
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
1.02k
              zval_ptr_dtor(zendlval);
1071
1.02k
              ZVAL_UNDEF(zendlval);
1072
1.02k
              return FAILURE;
1073
1.02k
            }
1074
1075
2.83k
            errno = 0;
1076
1.80k
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
1.80k
            if (codepoint > 0x10FFFF || errno) {
1080
86
              zend_throw_exception(zend_ce_parse_error,
1081
86
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
86
              zval_ptr_dtor(zendlval);
1083
86
              ZVAL_UNDEF(zendlval);
1084
86
              return FAILURE;
1085
86
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
1.72k
            if (codepoint < 0x80) {
1089
202
              *t++ = codepoint;
1090
1.51k
            } else if (codepoint <= 0x7FF) {
1091
258
              *t++ = (codepoint >> 6) + 0xC0;
1092
258
              *t++ = (codepoint & 0x3F) + 0x80;
1093
1.26k
            } else if (codepoint <= 0xFFFF) {
1094
573
              *t++ = (codepoint >> 12) + 0xE0;
1095
573
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
573
              *t++ = (codepoint & 0x3F) + 0x80;
1097
687
            } else if (codepoint <= 0x10FFFF) {
1098
687
              *t++ = (codepoint >> 18) + 0xF0;
1099
687
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
687
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
687
              *t++ = (codepoint & 0x3F) + 0x80;
1102
687
            }
1103
1.72k
          }
1104
0
          break;
1105
150k
        default:
1106
          /* check for an octal */
1107
150k
          if (ZEND_IS_OCT(*s)) {
1108
31.7k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
31.7k
            octal_buf[0] = *s;
1111
31.7k
            if (ZEND_IS_OCT(*(s+1))) {
1112
10.6k
              octal_buf[1] = *(++s);
1113
10.6k
              if (ZEND_IS_OCT(*(s+1))) {
1114
4.73k
                octal_buf[2] = *(++s);
1115
4.73k
              }
1116
10.6k
            }
1117
31.7k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
1.19k
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
1.19k
            }
1121
1122
31.7k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
118k
          } else {
1124
118k
            *t++ = '\\';
1125
118k
            *t++ = *s;
1126
118k
          }
1127
150k
          break;
1128
315k
      }
1129
4.46M
    } else {
1130
4.46M
      *t++ = *s;
1131
4.46M
    }
1132
1133
4.78M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
137k
      CG(zend_lineno)++;
1135
137k
    }
1136
4.78M
    s++;
1137
4.78M
  }
1138
129k
  *t = 0;
1139
129k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
737k
skip_escape_conversion:
1142
737k
  if (SCNG(output_filter)) {
1143
0
    size_t sz = 0;
1144
0
    unsigned char *str;
1145
    // TODO: avoid realocation ???
1146
0
    s = Z_STRVAL_P(zendlval);
1147
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1148
0
    zval_ptr_dtor(zendlval);
1149
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1150
0
    efree(str);
1151
0
  }
1152
737k
  return SUCCESS;
1153
129k
}
1154
1155
639k
#define HEREDOC_USING_SPACES 1
1156
43.3k
#define HEREDOC_USING_TABS 2
1157
1158
229k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
2.87M
  for (; str < end; str++) {
1160
2.76M
    if (*str == '\r') {
1161
16.8k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
16.8k
      return str;
1163
2.75M
    } else if (*str == '\n') {
1164
110k
      *newline_len = 1;
1165
110k
      return str;
1166
110k
    }
1167
2.76M
  }
1168
102k
  *newline_len = 0;
1169
102k
  return NULL;
1170
229k
}
1171
1172
static bool strip_multiline_string_indentation(
1173
  zval *zendlval, int indentation, bool using_spaces,
1174
  bool newline_at_start, bool newline_at_end)
1175
98.0k
{
1176
98.0k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
98.0k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
98.0k
  uint32_t newline_count = 0;
1180
98.0k
  size_t newline_len;
1181
98.0k
  const char *nl;
1182
1183
98.0k
  if (!newline_at_start) {
1184
60.5k
    nl = next_newline(str, end, &newline_len);
1185
60.5k
    if (!nl) {
1186
34.3k
      return 1;
1187
34.3k
    }
1188
1189
26.1k
    str = nl + newline_len;
1190
26.1k
    copy = (char *) nl + newline_len;
1191
26.1k
    newline_count++;
1192
37.5k
  } else {
1193
37.5k
    nl = str;
1194
37.5k
  }
1195
1196
  /* <= intentional */
1197
200k
  while (str <= end && nl) {
1198
169k
    size_t skip;
1199
169k
    nl = next_newline(str, end, &newline_len);
1200
169k
    if (!nl && newline_at_end) {
1201
8.78k
      nl = end;
1202
8.78k
    }
1203
1204
    /* Try to skip indentation */
1205
172k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
3.80k
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
582
        break;
1209
582
      }
1210
1211
3.22k
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
56
        CG(zend_lineno) += newline_count;
1213
56
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
56
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
56
        goto error;
1216
56
      }
1217
1218
3.16k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
31
        CG(zend_lineno) += newline_count;
1220
31
        zend_throw_exception(zend_ce_parse_error,
1221
31
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
31
        goto error;
1223
31
      }
1224
3.16k
    }
1225
1226
169k
    if (str == end) {
1227
31.8k
      break;
1228
31.8k
    }
1229
1230
137k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
137k
    memmove(copy, str, len);
1232
137k
    str += len;
1233
137k
    copy += len;
1234
137k
    newline_count++;
1235
137k
  }
1236
1237
63.6k
  *copy = '\0';
1238
63.6k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
63.6k
  return 1;
1240
1241
87
error:
1242
87
  zval_ptr_dtor_str(zendlval);
1243
87
  ZVAL_UNDEF(zendlval);
1244
1245
87
  return 0;
1246
63.6k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
2.51M
{
1250
2.51M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
2.51M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
2.51M
  *new_heredoc_label = *heredoc_label;
1254
2.51M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
2.51M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
2.51M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
276k
{
1262
276k
  char   buf[256];
1263
276k
  size_t used = 0;
1264
1265
276k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
276k
  if (opening_lineno != CG(zend_lineno)) {
1268
151k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
151k
  }
1270
1271
276k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
136k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
136k
  }
1274
1275
276k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
276k
}
1277
1278
static void enter_nesting(char opening)
1279
6.22M
{
1280
6.22M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
6.22M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
6.22M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
1.44M
{
1286
1.44M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
24.9k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
24.9k
    return FAILURE;
1289
24.9k
  }
1290
1291
1.42M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
1.42M
  char opening = nest_loc->text;
1293
1294
1.42M
  if ((opening == '{' && closing != '}') ||
1295
1.37M
      (opening == '[' && closing != ']') ||
1296
1.35M
      (opening == '(' && closing != ')')) {
1297
136k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
136k
    return FAILURE;
1299
136k
  }
1300
1301
1.28M
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
1.28M
  return SUCCESS;
1303
1.42M
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
240k
{
1307
240k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
139k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
139k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
139k
    return FAILURE;
1311
139k
  }
1312
1313
101k
  return SUCCESS;
1314
240k
}
1315
1316
#define PARSER_MODE() \
1317
19.0M
  EXPECTED(elem != NULL)
1318
1319
26.0M
#define RETURN_TOKEN(_token) do { \
1320
26.0M
    token = _token; \
1321
26.0M
    goto emit_token; \
1322
26.0M
  } while (0)
1323
1324
3.48M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
3.48M
    token = _token; \
1326
3.48M
    goto emit_token_with_val; \
1327
3.48M
  } while (0)
1328
1329
6.60M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
6.60M
    token = _token; \
1331
6.60M
    offset = _offset; \
1332
6.60M
    goto emit_token_with_str; \
1333
6.60M
  } while (0)
1334
1335
1.22M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
1.22M
    token = _token; \
1337
1.22M
    goto emit_token_with_ident; \
1338
1.22M
  } while (0)
1339
1340
1.01M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
1.01M
    token = _token; \
1342
1.01M
    if (PARSER_MODE()) { \
1343
251k
      goto skip_token; \
1344
251k
    } \
1345
1.01M
    goto emit_token; \
1346
1.01M
  } while (0)
1347
1348
1.44M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
1.44M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
260
      RETURN_TOKEN(T_ERROR); \
1351
1.44M
    } else { \
1352
1.44M
      RETURN_TOKEN(_token); \
1353
1.44M
    } \
1354
1.44M
  } while(0)
1355
1356
240k
#define RETURN_END_TOKEN do { \
1357
240k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
4.04k
      RETURN_TOKEN(T_ERROR); \
1359
236k
    } else { \
1360
236k
      RETURN_TOKEN(END); \
1361
236k
    } \
1362
240k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
41.5M
{
1366
41.5M
int token;
1367
41.5M
int offset;
1368
41.5M
uint32_t start_line = CG(zend_lineno);
1369
1370
41.5M
  ZVAL_UNDEF(zendlval);
1371
48.0M
restart:
1372
48.0M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
48.0M
#line 1376 "Zend/zend_language_scanner.c"
1376
48.0M
{
1377
48.0M
  YYCTYPE yych;
1378
48.0M
  unsigned int yyaccept = 0;
1379
48.0M
  if (YYGETCONDITION() < 5) {
1380
43.6M
    if (YYGETCONDITION() < 2) {
1381
37.6M
      if (YYGETCONDITION() < 1) {
1382
37.2M
        goto yyc_ST_IN_SCRIPTING;
1383
37.2M
      } else {
1384
374k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
374k
      }
1386
37.6M
    } else {
1387
6.04M
      if (YYGETCONDITION() < 3) {
1388
199k
        goto yyc_ST_BACKQUOTE;
1389
5.84M
      } else {
1390
5.84M
        if (YYGETCONDITION() < 4) {
1391
585k
          goto yyc_ST_DOUBLE_QUOTES;
1392
5.26M
        } else {
1393
5.26M
          goto yyc_ST_HEREDOC;
1394
5.26M
        }
1395
5.84M
      }
1396
6.04M
    }
1397
43.6M
  } else {
1398
4.31M
    if (YYGETCONDITION() < 8) {
1399
3.84M
      if (YYGETCONDITION() < 6) {
1400
3.64M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
3.64M
      } else {
1402
205k
        if (YYGETCONDITION() < 7) {
1403
205k
          goto yyc_ST_VAR_OFFSET;
1404
205k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
205k
      }
1408
3.84M
    } else {
1409
465k
      if (YYGETCONDITION() < 9) {
1410
435k
        goto yyc_INITIAL;
1411
435k
      } else {
1412
30.1k
        if (YYGETCONDITION() < 10) {
1413
20.5k
          goto yyc_ST_END_HEREDOC;
1414
20.5k
        } else {
1415
9.67k
          goto yyc_ST_NOWDOC;
1416
9.67k
        }
1417
30.1k
      }
1418
465k
    }
1419
4.31M
  }
1420
/* *********************************** */
1421
37.2M
yyc_ST_IN_SCRIPTING:
1422
37.2M
  {
1423
37.2M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
37.2M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
37.2M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
37.2M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
37.2M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
37.2M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
37.2M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
37.2M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
37.2M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
37.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
37.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
37.2M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
37.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
37.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
37.2M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
37.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
37.2M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
37.2M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
37.2M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
37.2M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
37.2M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
37.2M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
37.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
37.2M
    };
1491
37.2M
    YYDEBUG(1, *YYCURSOR);
1492
37.2M
    YYFILL(16);
1493
37.2M
    yych = *YYCURSOR;
1494
37.2M
    if (yybm[256+yych] & 32) {
1495
5.98M
      goto yy5;
1496
5.98M
    }
1497
31.2M
    switch (yych) {
1498
4.68M
    case 0x00:
1499
4.82M
    case 0x01:
1500
4.86M
    case 0x02:
1501
4.90M
    case 0x03:
1502
5.04M
    case 0x04:
1503
5.09M
    case 0x05:
1504
5.12M
    case 0x06:
1505
5.17M
    case 0x07:
1506
5.23M
    case 0x08:
1507
5.23M
    case '\t':
1508
5.23M
    case '\n':
1509
5.28M
    case '\v':
1510
5.32M
    case '\f':
1511
5.32M
    case '\r':
1512
5.37M
    case 0x0E:
1513
5.42M
    case 0x0F:
1514
5.46M
    case 0x10:
1515
5.49M
    case 0x11:
1516
5.52M
    case 0x12:
1517
5.57M
    case 0x13:
1518
5.59M
    case 0x14:
1519
5.60M
    case 0x15:
1520
5.62M
    case 0x16:
1521
5.64M
    case 0x17:
1522
5.66M
    case 0x18:
1523
5.68M
    case 0x19:
1524
5.75M
    case 0x1A:
1525
5.77M
    case 0x1B:
1526
5.97M
    case 0x1C:
1527
6.03M
    case 0x1D:
1528
6.05M
    case 0x1E:
1529
6.09M
    case 0x1F:
1530
6.12M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
172k
    case '!': goto yy8;
1533
373k
    case '"': goto yy10;
1534
628k
    case '#': goto yy12;
1535
1.62M
    case '$': goto yy14;
1536
67.7k
    case '%': goto yy15;
1537
207k
    case '&': goto yy16;
1538
339k
    case '\'':  goto yy18;
1539
1.17M
    case '(': goto yy20;
1540
805k
    case ')':
1541
1.05M
    case ']': goto yy22;
1542
117k
    case '*': goto yy24;
1543
217k
    case '+': goto yy25;
1544
769k
    case ',':
1545
1.74M
    case ';':
1546
2.27M
    case '@':
1547
2.33M
    case '~': goto yy26;
1548
373k
    case '-': goto yy27;
1549
366k
    case '.': goto yy28;
1550
303k
    case '/': goto yy29;
1551
241k
    case '0': goto yy30;
1552
225k
    case '1':
1553
391k
    case '2':
1554
490k
    case '3':
1555
630k
    case '4':
1556
706k
    case '5':
1557
758k
    case '6':
1558
801k
    case '7':
1559
852k
    case '8':
1560
890k
    case '9': goto yy32;
1561
266k
    case ':': goto yy34;
1562
5.02M
    case '<': goto yy35;
1563
637k
    case '=': goto yy36;
1564
83.5k
    case '>': goto yy37;
1565
639k
    case '?': goto yy38;
1566
77.7k
    case 'A':
1567
262k
    case 'a': goto yy39;
1568
56.5k
    case 'B':
1569
119k
    case 'b': goto yy41;
1570
74.5k
    case 'C':
1571
353k
    case 'c': goto yy42;
1572
60.8k
    case 'D':
1573
143k
    case 'd': goto yy43;
1574
79.6k
    case 'E':
1575
589k
    case 'e': goto yy44;
1576
68.4k
    case 'F':
1577
448k
    case 'f': goto yy45;
1578
14.5k
    case 'G':
1579
87.7k
    case 'g': goto yy46;
1580
80.9k
    case 'I':
1581
317k
    case 'i': goto yy49;
1582
13.0k
    case 'L':
1583
63.7k
    case 'l': goto yy50;
1584
29.2k
    case 'M':
1585
102k
    case 'm': goto yy51;
1586
40.3k
    case 'N':
1587
240k
    case 'n': goto yy52;
1588
43.4k
    case 'O':
1589
147k
    case 'o': goto yy53;
1590
79.9k
    case 'P':
1591
448k
    case 'p': goto yy54;
1592
18.3k
    case 'R':
1593
152k
    case 'r': goto yy55;
1594
38.6k
    case 'S':
1595
221k
    case 's': goto yy56;
1596
46.5k
    case 'T':
1597
226k
    case 't': goto yy57;
1598
7.93k
    case 'U':
1599
88.5k
    case 'u': goto yy58;
1600
10.6k
    case 'V':
1601
142k
    case 'v': goto yy59;
1602
17.5k
    case 'W':
1603
36.2k
    case 'w': goto yy60;
1604
16.1k
    case 'X':
1605
31.9k
    case 'x': goto yy61;
1606
15.5k
    case 'Y':
1607
139k
    case 'y': goto yy62;
1608
290k
    case '[': goto yy63;
1609
208k
    case '\\':  goto yy64;
1610
90.1k
    case '^': goto yy66;
1611
226k
    case '_': goto yy67;
1612
68.3k
    case '`': goto yy68;
1613
1.07M
    case '{': goto yy70;
1614
108k
    case '|': goto yy72;
1615
387k
    case '}': goto yy73;
1616
1.19M
    default:  goto yy47;
1617
31.2M
    }
1618
6.12M
yy3:
1619
6.12M
    YYDEBUG(3, *YYCURSOR);
1620
6.12M
    ++YYCURSOR;
1621
6.12M
    YYDEBUG(4, *YYCURSOR);
1622
6.12M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
6.12M
#line 3180 "Zend/zend_language_scanner.l"
1624
6.12M
    {
1625
6.12M
  if (YYCURSOR > YYLIMIT) {
1626
129k
    RETURN_END_TOKEN;
1627
129k
  }
1628
1629
5.99M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
5.99M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
9.59M
yy5:
1633
9.59M
    YYDEBUG(5, *YYCURSOR);
1634
9.59M
    ++YYCURSOR;
1635
9.59M
    YYFILL(1);
1636
9.59M
    yych = *YYCURSOR;
1637
9.59M
    YYDEBUG(6, *YYCURSOR);
1638
9.59M
    if (yybm[256+yych] & 32) {
1639
3.61M
      goto yy5;
1640
3.61M
    }
1641
5.98M
    YYDEBUG(7, *YYCURSOR);
1642
5.98M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
5.98M
#line 1597 "Zend/zend_language_scanner.l"
1644
5.98M
    {
1645
5.98M
  goto return_whitespace;
1646
9.59M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
172k
yy8:
1649
172k
    YYDEBUG(8, *YYCURSOR);
1650
172k
    yych = *++YYCURSOR;
1651
172k
    if (yych == '=') goto yy75;
1652
6.22M
yy9:
1653
6.22M
    YYDEBUG(9, *YYCURSOR);
1654
6.22M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
6.22M
#line 1969 "Zend/zend_language_scanner.l"
1656
6.22M
    {
1657
6.22M
  RETURN_TOKEN(yytext[0]);
1658
6.22M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
375k
yy10:
1661
375k
    YYDEBUG(10, *YYCURSOR);
1662
375k
    ++YYCURSOR;
1663
375k
    YYDEBUG(11, *YYCURSOR);
1664
375k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
375k
#line 2632 "Zend/zend_language_scanner.l"
1666
375k
    {
1667
375k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
11.5M
  while (YYCURSOR < YYLIMIT) {
1670
11.5M
    switch (*YYCURSOR++) {
1671
277k
      case '"':
1672
277k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
277k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
277k
         || !PARSER_MODE()) {
1675
277k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
277k
        } else {
1677
12
          RETURN_TOKEN(T_ERROR);
1678
12
        }
1679
120k
      case '$':
1680
120k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
83.4k
          break;
1682
83.4k
        }
1683
37.4k
        continue;
1684
45.5k
      case '{':
1685
45.5k
        if (*YYCURSOR == '$') {
1686
3.42k
          break;
1687
3.42k
        }
1688
42.1k
        continue;
1689
228k
      case '\\':
1690
228k
        if (YYCURSOR < YYLIMIT) {
1691
227k
          YYCURSOR++;
1692
227k
        }
1693
228k
        ZEND_FALLTHROUGH;
1694
11.0M
      default:
1695
11.0M
        continue;
1696
11.5M
    }
1697
1698
86.8k
    YYCURSOR--;
1699
86.8k
    break;
1700
11.5M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
375k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
97.6k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
97.6k
  BEGIN(ST_DOUBLE_QUOTES);
1708
97.6k
  RETURN_TOKEN('"');
1709
97.6k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
628k
yy12:
1712
628k
    YYDEBUG(12, *YYCURSOR);
1713
628k
    yych = *++YYCURSOR;
1714
628k
    if (yych == '[') goto yy77;
1715
683k
yy13:
1716
683k
    YYDEBUG(13, *YYCURSOR);
1717
683k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
683k
#line 2460 "Zend/zend_language_scanner.l"
1719
683k
    {
1720
7.06M
  while (YYCURSOR < YYLIMIT) {
1721
7.05M
    switch (*YYCURSOR++) {
1722
211k
      case '\r':
1723
671k
      case '\n':
1724
671k
        YYCURSOR--;
1725
671k
        break;
1726
39.3k
      case '?':
1727
39.3k
        if (*YYCURSOR == '>') {
1728
2.44k
          YYCURSOR--;
1729
2.44k
          break;
1730
2.44k
        }
1731
36.8k
        ZEND_FALLTHROUGH;
1732
6.38M
      default:
1733
6.38M
        continue;
1734
7.05M
    }
1735
1736
674k
    break;
1737
7.05M
  }
1738
1739
683k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
683k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
683k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
1.62M
yy14:
1744
1.62M
    YYDEBUG(14, *YYCURSOR);
1745
1.62M
    yych = *++YYCURSOR;
1746
1.62M
    if (yych <= '_') {
1747
236k
      if (yych <= '@') goto yy9;
1748
35.7k
      if (yych <= 'Z') goto yy79;
1749
8.89k
      if (yych <= '^') goto yy9;
1750
4.38k
      goto yy79;
1751
1.38M
    } else {
1752
1.38M
      if (yych <= '`') goto yy9;
1753
1.38M
      if (yych <= 'z') goto yy79;
1754
502k
      if (yych <= 0x7F) goto yy9;
1755
66.9k
      goto yy79;
1756
502k
    }
1757
67.7k
yy15:
1758
67.7k
    YYDEBUG(15, *YYCURSOR);
1759
67.7k
    yych = *++YYCURSOR;
1760
67.7k
    if (yych == '=') goto yy82;
1761
65.9k
    goto yy9;
1762
207k
yy16:
1763
207k
    YYDEBUG(16, *YYCURSOR);
1764
207k
    yyaccept = 0;
1765
207k
    yych = *(YYMARKER = ++YYCURSOR);
1766
207k
    if (yych <= '"') {
1767
71.7k
      if (yych <= '\f') {
1768
45.6k
        if (yych <= 0x08) goto yy17;
1769
42.9k
        if (yych <= '\n') goto yy85;
1770
42.9k
      } else {
1771
26.1k
        if (yych <= '\r') goto yy85;
1772
21.8k
        if (yych == ' ') goto yy85;
1773
21.8k
      }
1774
135k
    } else {
1775
135k
      if (yych <= '-') {
1776
46.9k
        if (yych <= '$') goto yy85;
1777
26.9k
        if (yych == '&') goto yy90;
1778
88.5k
      } else {
1779
88.5k
        if (yych <= '/') goto yy85;
1780
82.1k
        if (yych == '=') goto yy94;
1781
82.1k
      }
1782
135k
    }
1783
141k
yy17:
1784
141k
    YYDEBUG(17, *YYCURSOR);
1785
141k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
141k
#line 1955 "Zend/zend_language_scanner.l"
1787
141k
    {
1788
141k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
141k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
340k
yy18:
1792
340k
    YYDEBUG(18, *YYCURSOR);
1793
340k
    ++YYCURSOR;
1794
340k
    YYDEBUG(19, *YYCURSOR);
1795
340k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
340k
#line 2538 "Zend/zend_language_scanner.l"
1797
340k
    {
1798
340k
  char *s, *t;
1799
340k
  char *end;
1800
340k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
36.8M
  while (1) {
1803
36.8M
    if (YYCURSOR < YYLIMIT) {
1804
36.8M
      if (*YYCURSOR == '\'') {
1805
328k
        YYCURSOR++;
1806
328k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
328k
        break;
1809
36.4M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
108k
        YYCURSOR++;
1811
108k
      }
1812
36.8M
    } else {
1813
12.1k
      yyleng = YYLIMIT - SCNG(yy_text);
1814
1815
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1816
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1817
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1818
12.1k
      ZVAL_NULL(zendlval);
1819
12.1k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
12.1k
    }
1821
36.8M
  }
1822
1823
328k
  if (yyleng-bprefix-2 <= 1) {
1824
81.1k
    if (yyleng-bprefix-2 < 1) {
1825
32.7k
      ZVAL_EMPTY_STRING(zendlval);
1826
48.4k
    } else {
1827
48.4k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
48.4k
      HANDLE_NEWLINE(c);
1829
48.4k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
48.4k
    }
1831
81.1k
    goto skip_escape_conversion;
1832
81.1k
  }
1833
246k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
246k
  s = Z_STRVAL_P(zendlval);
1837
246k
  end = s+Z_STRLEN_P(zendlval);
1838
25.5M
  while (1) {
1839
25.5M
    if (UNEXPECTED(*s=='\\')) {
1840
37.4k
      break;
1841
37.4k
    }
1842
25.5M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
439k
      CG(zend_lineno)++;
1844
439k
    }
1845
25.5M
    s++;
1846
25.5M
    if (s == end) {
1847
209k
      goto skip_escape_conversion;
1848
209k
    }
1849
25.5M
  }
1850
1851
37.4k
  t = s;
1852
9.80M
  while (s<end) {
1853
9.76M
    if (*s=='\\') {
1854
104k
      s++;
1855
104k
      if (*s == '\\' || *s == '\'') {
1856
34.6k
        *t++ = *s;
1857
69.9k
      } else {
1858
69.9k
        *t++ = '\\';
1859
69.9k
        *t++ = *s;
1860
69.9k
      }
1861
9.66M
    } else {
1862
9.66M
      *t++ = *s;
1863
9.66M
    }
1864
9.76M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
181k
      CG(zend_lineno)++;
1866
181k
    }
1867
9.76M
    s++;
1868
9.76M
  }
1869
37.4k
  *t = 0;
1870
37.4k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
328k
skip_escape_conversion:
1873
328k
  if (SCNG(output_filter)) {
1874
0
    size_t sz = 0;
1875
0
    char *str = NULL;
1876
0
    zend_string *new_str;
1877
0
    s = Z_STRVAL_P(zendlval);
1878
    // TODO: avoid reallocation ???
1879
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1880
0
    new_str = zend_string_init(str, sz, 0);
1881
0
    if (str != s) {
1882
0
      efree(str);
1883
0
    }
1884
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1885
0
    ZVAL_STR(zendlval, new_str);
1886
0
  }
1887
328k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
328k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
1.17M
yy20:
1891
1.17M
    YYDEBUG(20, *YYCURSOR);
1892
1.17M
    yyaccept = 1;
1893
1.17M
    yych = *(YYMARKER = ++YYCURSOR);
1894
1.17M
    if (yych <= 'S') {
1895
832k
      if (yych <= 'D') {
1896
771k
        if (yych <= ' ') {
1897
127k
          if (yych == '\t') goto yy97;
1898
120k
          if (yych >= ' ') goto yy97;
1899
643k
        } else {
1900
643k
          if (yych <= '@') goto yy21;
1901
20.3k
          if (yych != 'C') goto yy97;
1902
20.3k
        }
1903
771k
      } else {
1904
60.7k
        if (yych <= 'I') {
1905
36.3k
          if (yych == 'F') goto yy97;
1906
32.5k
          if (yych >= 'I') goto yy97;
1907
32.5k
        } else {
1908
24.3k
          if (yych == 'O') goto yy97;
1909
15.8k
          if (yych >= 'R') goto yy97;
1910
15.8k
        }
1911
60.7k
      }
1912
832k
    } else {
1913
346k
      if (yych <= 'f') {
1914
147k
        if (yych <= 'b') {
1915
98.6k
          if (yych <= 'T') goto yy21;
1916
93.0k
          if (yych <= 'V') goto yy97;
1917
91.6k
          if (yych >= 'a') goto yy97;
1918
91.6k
        } else {
1919
48.8k
          if (yych == 'd') goto yy97;
1920
40.6k
          if (yych >= 'f') goto yy97;
1921
40.6k
        }
1922
199k
      } else {
1923
199k
        if (yych <= 'o') {
1924
72.3k
          if (yych == 'i') goto yy97;
1925
42.3k
          if (yych >= 'o') goto yy97;
1926
127k
        } else {
1927
127k
          if (yych <= 's') {
1928
56.3k
            if (yych >= 'r') goto yy97;
1929
70.7k
          } else {
1930
70.7k
            if (yych <= 't') goto yy21;
1931
62.5k
            if (yych <= 'v') goto yy97;
1932
62.5k
          }
1933
127k
        }
1934
199k
      }
1935
346k
    }
1936
1.45M
yy21:
1937
1.45M
    YYDEBUG(21, *YYCURSOR);
1938
1.45M
    yyleng = YYCURSOR - SCNG(yy_text);
1939
1.45M
#line 1964 "Zend/zend_language_scanner.l"
1940
1.45M
    {
1941
1.45M
  enter_nesting(yytext[0]);
1942
1.45M
  RETURN_TOKEN(yytext[0]);
1943
1.45M
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
1.05M
yy22:
1946
1.05M
    YYDEBUG(22, *YYCURSOR);
1947
1.05M
    ++YYCURSOR;
1948
1.05M
    YYDEBUG(23, *YYCURSOR);
1949
1.05M
    yyleng = YYCURSOR - SCNG(yy_text);
1950
1.05M
#line 1959 "Zend/zend_language_scanner.l"
1951
1.05M
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
1.05M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
1.05M
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
117k
yy24:
1957
117k
    YYDEBUG(24, *YYCURSOR);
1958
117k
    yych = *++YYCURSOR;
1959
117k
    if (yych == '*') goto yy108;
1960
100k
    if (yych == '=') goto yy110;
1961
95.9k
    goto yy9;
1962
217k
yy25:
1963
217k
    YYDEBUG(25, *YYCURSOR);
1964
217k
    yych = *++YYCURSOR;
1965
217k
    if (yych == '+') goto yy112;
1966
151k
    if (yych == '=') goto yy114;
1967
147k
    goto yy9;
1968
2.33M
yy26:
1969
2.33M
    YYDEBUG(26, *YYCURSOR);
1970
2.33M
    ++YYCURSOR;
1971
2.33M
    goto yy9;
1972
373k
yy27:
1973
373k
    YYDEBUG(27, *YYCURSOR);
1974
373k
    yych = *++YYCURSOR;
1975
373k
    if (yych <= '<') {
1976
149k
      if (yych == '-') goto yy116;
1977
135k
      goto yy9;
1978
223k
    } else {
1979
223k
      if (yych <= '=') goto yy118;
1980
220k
      if (yych <= '>') goto yy120;
1981
98.4k
      goto yy9;
1982
220k
    }
1983
366k
yy28:
1984
366k
    YYDEBUG(28, *YYCURSOR);
1985
366k
    yyaccept = 2;
1986
366k
    yych = *(YYMARKER = ++YYCURSOR);
1987
366k
    if (yych <= '/') {
1988
167k
      if (yych == '.') goto yy122;
1989
108k
      goto yy9;
1990
199k
    } else {
1991
199k
      if (yych <= '9') goto yy123;
1992
145k
      if (yych == '=') goto yy126;
1993
54.4k
      goto yy9;
1994
145k
    }
1995
303k
yy29:
1996
303k
    YYDEBUG(29, *YYCURSOR);
1997
303k
    yych = *++YYCURSOR;
1998
303k
    if (yych <= '.') {
1999
148k
      if (yych == '*') goto yy128;
2000
48.5k
      goto yy9;
2001
155k
    } else {
2002
155k
      if (yych <= '/') goto yy130;
2003
83.3k
      if (yych == '=') goto yy131;
2004
80.3k
      goto yy9;
2005
83.3k
    }
2006
241k
yy30:
2007
241k
    YYDEBUG(30, *YYCURSOR);
2008
241k
    yyaccept = 3;
2009
241k
    yych = *(YYMARKER = ++YYCURSOR);
2010
241k
    if (yych <= 'X') {
2011
167k
      if (yych <= 'N') {
2012
161k
        if (yych == 'B') goto yy134;
2013
159k
        goto yy33;
2014
161k
      } else {
2015
6.03k
        if (yych <= 'O') goto yy136;
2016
4.40k
        if (yych <= 'W') goto yy33;
2017
3.09k
        goto yy137;
2018
4.40k
      }
2019
167k
    } else {
2020
74.5k
      if (yych <= 'n') {
2021
44.4k
        if (yych == 'b') goto yy134;
2022
39.4k
        goto yy33;
2023
44.4k
      } else {
2024
30.0k
        if (yych <= 'o') goto yy136;
2025
28.1k
        if (yych == 'x') goto yy137;
2026
23.8k
        goto yy33;
2027
28.1k
      }
2028
74.5k
    }
2029
1.03M
yy31:
2030
1.03M
    YYDEBUG(31, *YYCURSOR);
2031
1.03M
    yyleng = YYCURSOR - SCNG(yy_text);
2032
1.03M
#line 2103 "Zend/zend_language_scanner.l"
2033
1.03M
    {
2034
1.03M
  size_t len = yyleng;
2035
1.03M
  char *end, *lnum = yytext;
2036
1.03M
  bool is_octal = lnum[0] == '0';
2037
1.03M
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
1.03M
  if (contains_underscores) {
2040
2.13k
    lnum = estrndup(lnum, len);
2041
2.13k
    strip_underscores(lnum, &len);
2042
2.13k
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
1.03M
  if (is_octal) {
2046
215k
    size_t i;
2047
602k
    for (i = 0; i < len; i++) {
2048
391k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
3.88k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
3.88k
        if (PARSER_MODE()) {
2051
22
          if (contains_underscores) {
2052
1
            efree(lnum);
2053
1
          }
2054
22
          ZVAL_UNDEF(zendlval);
2055
22
          RETURN_TOKEN(T_ERROR);
2056
22
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
3.86k
        len = i;
2060
3.86k
        break;
2061
3.88k
      }
2062
391k
    }
2063
215k
  }
2064
2065
2066
1.03M
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
994k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
994k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
994k
    ZEND_ASSERT(end == lnum + len);
2071
994k
  } else {
2072
35.7k
    errno = 0;
2073
35.7k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
35.7k
    if (errno == ERANGE) { /* Overflow */
2075
30.6k
      errno = 0;
2076
30.6k
      if (is_octal) { /* octal overflow */
2077
590
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
30.0k
      } else {
2079
30.0k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
30.0k
      }
2081
30.6k
      ZEND_ASSERT(end == lnum + len);
2082
30.6k
      if (contains_underscores) {
2083
385
        efree(lnum);
2084
385
      }
2085
30.6k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
30.6k
    }
2087
5.11k
    ZEND_ASSERT(end == lnum + len);
2088
5.11k
  }
2089
999k
  ZEND_ASSERT(!errno);
2090
999k
  if (contains_underscores) {
2091
1.74k
    efree(lnum);
2092
1.74k
  }
2093
999k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
999k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
3.59M
yy32:
2097
3.59M
    YYDEBUG(32, *YYCURSOR);
2098
3.59M
    yyaccept = 3;
2099
3.59M
    YYMARKER = ++YYCURSOR;
2100
3.59M
    YYFILL(3);
2101
3.59M
    yych = *YYCURSOR;
2102
3.82M
yy33:
2103
3.82M
    YYDEBUG(33, *YYCURSOR);
2104
3.82M
    if (yybm[256+yych] & 64) {
2105
2.70M
      goto yy32;
2106
2.70M
    }
2107
1.11M
    if (yych <= 'E') {
2108
845k
      if (yych == '.') goto yy133;
2109
787k
      if (yych <= 'D') goto yy31;
2110
20.8k
      goto yy135;
2111
787k
    } else {
2112
273k
      if (yych <= '_') {
2113
125k
        if (yych <= '^') goto yy31;
2114
12.3k
        goto yy138;
2115
148k
      } else {
2116
148k
        if (yych == 'e') goto yy135;
2117
130k
        goto yy31;
2118
148k
      }
2119
273k
    }
2120
266k
yy34:
2121
266k
    YYDEBUG(34, *YYCURSOR);
2122
266k
    yych = *++YYCURSOR;
2123
266k
    if (yych == ':') goto yy139;
2124
139k
    goto yy9;
2125
5.02M
yy35:
2126
5.02M
    YYDEBUG(35, *YYCURSOR);
2127
5.02M
    yych = *++YYCURSOR;
2128
5.02M
    if (yych <= ';') goto yy9;
2129
4.81M
    if (yych <= '<') goto yy141;
2130
704k
    if (yych <= '=') goto yy143;
2131
685k
    if (yych <= '>') goto yy145;
2132
677k
    goto yy9;
2133
677k
yy36:
2134
637k
    YYDEBUG(36, *YYCURSOR);
2135
637k
    yych = *++YYCURSOR;
2136
637k
    if (yych <= '<') goto yy9;
2137
120k
    if (yych <= '=') goto yy146;
2138
83.5k
    if (yych <= '>') goto yy148;
2139
34.0k
    goto yy9;
2140
83.5k
yy37:
2141
83.5k
    YYDEBUG(37, *YYCURSOR);
2142
83.5k
    yych = *++YYCURSOR;
2143
83.5k
    if (yych <= '<') goto yy9;
2144
48.2k
    if (yych <= '=') goto yy150;
2145
43.9k
    if (yych <= '>') goto yy152;
2146
25.8k
    goto yy9;
2147
639k
yy38:
2148
639k
    YYDEBUG(38, *YYCURSOR);
2149
639k
    yyaccept = 2;
2150
639k
    yych = *(YYMARKER = ++YYCURSOR);
2151
639k
    if (yych <= '=') {
2152
252k
      if (yych == '-') goto yy154;
2153
209k
      goto yy9;
2154
387k
    } else {
2155
387k
      if (yych <= '>') goto yy155;
2156
245k
      if (yych <= '?') goto yy157;
2157
188k
      goto yy9;
2158
245k
    }
2159
262k
yy39:
2160
262k
    YYDEBUG(39, *YYCURSOR);
2161
262k
    yyaccept = 4;
2162
262k
    yych = *(YYMARKER = ++YYCURSOR);
2163
262k
    if (yych <= 'S') {
2164
89.3k
      if (yych <= 'M') {
2165
79.5k
        if (yych == 'B') goto yy159;
2166
77.8k
        goto yy48;
2167
79.5k
      } else {
2168
9.75k
        if (yych <= 'N') goto yy160;
2169
8.48k
        if (yych <= 'Q') goto yy48;
2170
7.73k
        if (yych <= 'R') goto yy161;
2171
5.69k
        goto yy162;
2172
7.73k
      }
2173
172k
    } else {
2174
172k
      if (yych <= 'n') {
2175
56.2k
        if (yych == 'b') goto yy159;
2176
44.1k
        if (yych <= 'm') goto yy48;
2177
8.36k
        goto yy160;
2178
116k
      } else {
2179
116k
        if (yych <= 'q') goto yy48;
2180
113k
        if (yych <= 'r') goto yy161;
2181
75.4k
        if (yych <= 's') goto yy162;
2182
17.8k
        goto yy48;
2183
75.4k
      }
2184
172k
    }
2185
4.51M
yy40:
2186
4.51M
    YYDEBUG(40, *YYCURSOR);
2187
4.51M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
4.51M
#line 2455 "Zend/zend_language_scanner.l"
2189
4.51M
    {
2190
4.51M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
4.51M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
119k
yy41:
2194
119k
    YYDEBUG(41, *YYCURSOR);
2195
119k
    yyaccept = 4;
2196
119k
    yych = *(YYMARKER = ++YYCURSOR);
2197
119k
    if (yych <= ';') {
2198
32.5k
      if (yych <= '"') {
2199
15.1k
        if (yych <= '!') goto yy48;
2200
1.47k
        goto yy10;
2201
17.4k
      } else {
2202
17.4k
        if (yych == '\'') goto yy18;
2203
16.2k
        goto yy48;
2204
17.4k
      }
2205
86.8k
    } else {
2206
86.8k
      if (yych <= 'R') {
2207
20.8k
        if (yych <= '<') goto yy165;
2208
13.3k
        if (yych <= 'Q') goto yy48;
2209
514
        goto yy166;
2210
66.0k
      } else {
2211
66.0k
        if (yych == 'r') goto yy166;
2212
59.7k
        goto yy48;
2213
66.0k
      }
2214
86.8k
    }
2215
353k
yy42:
2216
353k
    YYDEBUG(42, *YYCURSOR);
2217
353k
    yyaccept = 4;
2218
353k
    yych = *(YYMARKER = ++YYCURSOR);
2219
353k
    if (yych <= 'O') {
2220
84.0k
      if (yych <= 'K') {
2221
73.0k
        if (yych == 'A') goto yy167;
2222
69.8k
        goto yy48;
2223
73.0k
      } else {
2224
10.9k
        if (yych <= 'L') goto yy168;
2225
6.50k
        if (yych <= 'N') goto yy48;
2226
5.62k
        goto yy169;
2227
6.50k
      }
2228
269k
    } else {
2229
269k
      if (yych <= 'k') {
2230
99.7k
        if (yych == 'a') goto yy167;
2231
23.2k
        goto yy48;
2232
169k
      } else {
2233
169k
        if (yych <= 'l') goto yy168;
2234
70.1k
        if (yych == 'o') goto yy169;
2235
22.5k
        goto yy48;
2236
70.1k
      }
2237
269k
    }
2238
143k
yy43:
2239
143k
    YYDEBUG(43, *YYCURSOR);
2240
143k
    yyaccept = 4;
2241
143k
    yych = *(YYMARKER = ++YYCURSOR);
2242
143k
    if (yych <= 'O') {
2243
38.1k
      if (yych <= 'H') {
2244
28.4k
        if (yych == 'E') goto yy170;
2245
25.6k
        goto yy48;
2246
28.4k
      } else {
2247
9.63k
        if (yych <= 'I') goto yy171;
2248
8.83k
        if (yych <= 'N') goto yy48;
2249
7.43k
        goto yy172;
2250
8.83k
      }
2251
105k
    } else {
2252
105k
      if (yych <= 'h') {
2253
68.8k
        if (yych == 'e') goto yy170;
2254
43.3k
        goto yy48;
2255
68.8k
      } else {
2256
36.5k
        if (yych <= 'i') goto yy171;
2257
25.4k
        if (yych == 'o') goto yy172;
2258
16.0k
        goto yy48;
2259
25.4k
      }
2260
105k
    }
2261
589k
yy44:
2262
589k
    YYDEBUG(44, *YYCURSOR);
2263
589k
    yyaccept = 4;
2264
589k
    yych = *(YYMARKER = ++YYCURSOR);
2265
589k
    switch (yych) {
2266
2.91k
    case 'C':
2267
90.5k
    case 'c': goto yy174;
2268
721
    case 'L':
2269
21.0k
    case 'l': goto yy175;
2270
1.78k
    case 'M':
2271
9.92k
    case 'm': goto yy176;
2272
118k
    case 'N':
2273
251k
    case 'n': goto yy177;
2274
653
    case 'V':
2275
8.65k
    case 'v': goto yy178;
2276
3.90k
    case 'X':
2277
69.0k
    case 'x': goto yy179;
2278
139k
    default:  goto yy48;
2279
589k
    }
2280
448k
yy45:
2281
448k
    YYDEBUG(45, *YYCURSOR);
2282
448k
    yyaccept = 4;
2283
448k
    yych = *(YYMARKER = ++YYCURSOR);
2284
448k
    if (yych <= 'U') {
2285
109k
      if (yych <= 'M') {
2286
79.8k
        if (yych == 'I') goto yy180;
2287
78.4k
        goto yy48;
2288
79.8k
      } else {
2289
30.0k
        if (yych <= 'N') goto yy181;
2290
29.1k
        if (yych <= 'O') goto yy183;
2291
18.2k
        if (yych <= 'T') goto yy48;
2292
744
        goto yy184;
2293
18.2k
      }
2294
338k
    } else {
2295
338k
      if (yych <= 'n') {
2296
70.0k
        if (yych == 'i') goto yy180;
2297
49.1k
        if (yych <= 'm') goto yy48;
2298
20.3k
        goto yy181;
2299
268k
      } else {
2300
268k
        if (yych <= 'o') goto yy183;
2301
153k
        if (yych == 'u') goto yy184;
2302
33.5k
        goto yy48;
2303
153k
      }
2304
338k
    }
2305
87.7k
yy46:
2306
87.7k
    YYDEBUG(46, *YYCURSOR);
2307
87.7k
    yyaccept = 4;
2308
87.7k
    yych = *(YYMARKER = ++YYCURSOR);
2309
87.7k
    if (yych <= 'O') {
2310
37.5k
      if (yych == 'L') goto yy185;
2311
33.6k
      if (yych <= 'N') goto yy48;
2312
1.65k
      goto yy186;
2313
50.2k
    } else {
2314
50.2k
      if (yych <= 'l') {
2315
34.9k
        if (yych <= 'k') goto yy48;
2316
5.87k
        goto yy185;
2317
34.9k
      } else {
2318
15.2k
        if (yych == 'o') goto yy186;
2319
9.12k
        goto yy48;
2320
15.2k
      }
2321
50.2k
    }
2322
17.9M
yy47:
2323
17.9M
    YYDEBUG(47, *YYCURSOR);
2324
17.9M
    yyaccept = 4;
2325
17.9M
    YYMARKER = ++YYCURSOR;
2326
17.9M
    YYFILL(1);
2327
17.9M
    yych = *YYCURSOR;
2328
21.0M
yy48:
2329
21.0M
    YYDEBUG(48, *YYCURSOR);
2330
21.0M
    if (yybm[256+yych] & 128) {
2331
16.5M
      goto yy47;
2332
16.5M
    }
2333
4.51M
    if (yych == '\\') goto yy164;
2334
4.46M
    goto yy40;
2335
4.46M
yy49:
2336
317k
    YYDEBUG(49, *YYCURSOR);
2337
317k
    yyaccept = 4;
2338
317k
    yych = *(YYMARKER = ++YYCURSOR);
2339
317k
    if (yych <= 'S') {
2340
85.0k
      if (yych <= 'L') {
2341
37.2k
        if (yych == 'F') goto yy187;
2342
36.4k
        goto yy48;
2343
47.7k
      } else {
2344
47.7k
        if (yych <= 'M') goto yy189;
2345
38.9k
        if (yych <= 'N') goto yy190;
2346
9.17k
        if (yych <= 'R') goto yy48;
2347
4.45k
        goto yy191;
2348
9.17k
      }
2349
232k
    } else {
2350
232k
      if (yych <= 'm') {
2351
87.1k
        if (yych == 'f') goto yy187;
2352
61.6k
        if (yych <= 'l') goto yy48;
2353
32.5k
        goto yy189;
2354
145k
      } else {
2355
145k
        if (yych <= 'n') goto yy190;
2356
50.2k
        if (yych == 's') goto yy191;
2357
23.8k
        goto yy48;
2358
50.2k
      }
2359
232k
    }
2360
63.7k
yy50:
2361
63.7k
    YYDEBUG(50, *YYCURSOR);
2362
63.7k
    yyaccept = 4;
2363
63.7k
    yych = *(YYMARKER = ++YYCURSOR);
2364
63.7k
    if (yych == 'I') goto yy192;
2365
62.5k
    if (yych == 'i') goto yy192;
2366
50.7k
    goto yy48;
2367
102k
yy51:
2368
102k
    YYDEBUG(51, *YYCURSOR);
2369
102k
    yyaccept = 4;
2370
102k
    yych = *(YYMARKER = ++YYCURSOR);
2371
102k
    if (yych == 'A') goto yy193;
2372
99.5k
    if (yych == 'a') goto yy193;
2373
93.4k
    goto yy48;
2374
240k
yy52:
2375
240k
    YYDEBUG(52, *YYCURSOR);
2376
240k
    yyaccept = 4;
2377
240k
    yych = *(YYMARKER = ++YYCURSOR);
2378
240k
    if (yych <= 'E') {
2379
34.5k
      if (yych == 'A') goto yy194;
2380
31.9k
      if (yych <= 'D') goto yy48;
2381
5.72k
      goto yy195;
2382
205k
    } else {
2383
205k
      if (yych <= 'a') {
2384
59.5k
        if (yych <= '`') goto yy48;
2385
41.6k
        goto yy194;
2386
146k
      } else {
2387
146k
        if (yych == 'e') goto yy195;
2388
53.8k
        goto yy48;
2389
146k
      }
2390
205k
    }
2391
147k
yy53:
2392
147k
    YYDEBUG(53, *YYCURSOR);
2393
147k
    yyaccept = 4;
2394
147k
    yych = *(YYMARKER = ++YYCURSOR);
2395
147k
    if (yych == 'R') goto yy196;
2396
144k
    if (yych == 'r') goto yy196;
2397
139k
    goto yy48;
2398
448k
yy54:
2399
448k
    YYDEBUG(54, *YYCURSOR);
2400
448k
    yyaccept = 4;
2401
448k
    yych = *(YYMARKER = ++YYCURSOR);
2402
448k
    if (yych <= 'U') {
2403
138k
      if (yych == 'R') goto yy198;
2404
132k
      if (yych <= 'T') goto yy48;
2405
1.57k
      goto yy199;
2406
310k
    } else {
2407
310k
      if (yych <= 'r') {
2408
213k
        if (yych <= 'q') goto yy48;
2409
59.6k
        goto yy198;
2410
213k
      } else {
2411
96.6k
        if (yych == 'u') goto yy199;
2412
20.3k
        goto yy48;
2413
96.6k
      }
2414
310k
    }
2415
152k
yy55:
2416
152k
    YYDEBUG(55, *YYCURSOR);
2417
152k
    yyaccept = 4;
2418
152k
    yych = *(YYMARKER = ++YYCURSOR);
2419
152k
    if (yych == 'E') goto yy200;
2420
148k
    if (yych == 'e') goto yy200;
2421
63.3k
    goto yy48;
2422
221k
yy56:
2423
221k
    YYDEBUG(56, *YYCURSOR);
2424
221k
    yyaccept = 4;
2425
221k
    yych = *(YYMARKER = ++YYCURSOR);
2426
221k
    if (yych <= 'W') {
2427
77.4k
      if (yych == 'T') goto yy201;
2428
68.8k
      if (yych <= 'V') goto yy48;
2429
546
      goto yy202;
2430
144k
    } else {
2431
144k
      if (yych <= 't') {
2432
125k
        if (yych <= 's') goto yy48;
2433
66.2k
        goto yy201;
2434
125k
      } else {
2435
19.0k
        if (yych == 'w') goto yy202;
2436
9.12k
        goto yy48;
2437
19.0k
      }
2438
144k
    }
2439
226k
yy57:
2440
226k
    YYDEBUG(57, *YYCURSOR);
2441
226k
    yyaccept = 4;
2442
226k
    yych = *(YYMARKER = ++YYCURSOR);
2443
226k
    if (yych <= 'R') {
2444
46.1k
      if (yych == 'H') goto yy203;
2445
45.1k
      if (yych <= 'Q') goto yy48;
2446
6.52k
      goto yy204;
2447
180k
    } else {
2448
180k
      if (yych <= 'h') {
2449
83.8k
        if (yych <= 'g') goto yy48;
2450
16.3k
        goto yy203;
2451
96.4k
      } else {
2452
96.4k
        if (yych == 'r') goto yy204;
2453
27.6k
        goto yy48;
2454
96.4k
      }
2455
180k
    }
2456
88.5k
yy58:
2457
88.5k
    YYDEBUG(58, *YYCURSOR);
2458
88.5k
    yyaccept = 4;
2459
88.5k
    yych = *(YYMARKER = ++YYCURSOR);
2460
88.5k
    if (yych <= 'S') {
2461
23.1k
      if (yych == 'N') goto yy205;
2462
21.3k
      if (yych <= 'R') goto yy48;
2463
610
      goto yy206;
2464
65.3k
    } else {
2465
65.3k
      if (yych <= 'n') {
2466
40.5k
        if (yych <= 'm') goto yy48;
2467
22.9k
        goto yy205;
2468
40.5k
      } else {
2469
24.8k
        if (yych == 's') goto yy206;
2470
8.99k
        goto yy48;
2471
24.8k
      }
2472
65.3k
    }
2473
142k
yy59:
2474
142k
    YYDEBUG(59, *YYCURSOR);
2475
142k
    yyaccept = 4;
2476
142k
    yych = *(YYMARKER = ++YYCURSOR);
2477
142k
    if (yych == 'A') goto yy207;
2478
141k
    if (yych == 'a') goto yy207;
2479
27.0k
    goto yy48;
2480
36.2k
yy60:
2481
36.2k
    YYDEBUG(60, *YYCURSOR);
2482
36.2k
    yyaccept = 4;
2483
36.2k
    yych = *(YYMARKER = ++YYCURSOR);
2484
36.2k
    if (yych == 'H') goto yy208;
2485
34.9k
    if (yych == 'h') goto yy208;
2486
28.6k
    goto yy48;
2487
31.9k
yy61:
2488
31.9k
    YYDEBUG(61, *YYCURSOR);
2489
31.9k
    yyaccept = 4;
2490
31.9k
    yych = *(YYMARKER = ++YYCURSOR);
2491
31.9k
    if (yych == 'O') goto yy209;
2492
31.6k
    if (yych == 'o') goto yy209;
2493
26.8k
    goto yy48;
2494
139k
yy62:
2495
139k
    YYDEBUG(62, *YYCURSOR);
2496
139k
    yyaccept = 4;
2497
139k
    yych = *(YYMARKER = ++YYCURSOR);
2498
139k
    if (yych == 'I') goto yy210;
2499
138k
    if (yych == 'i') goto yy210;
2500
42.6k
    goto yy48;
2501
290k
yy63:
2502
290k
    YYDEBUG(63, *YYCURSOR);
2503
290k
    ++YYCURSOR;
2504
290k
    goto yy21;
2505
208k
yy64:
2506
208k
    YYDEBUG(64, *YYCURSOR);
2507
208k
    yych = *++YYCURSOR;
2508
208k
    if (yych <= '_') {
2509
162k
      if (yych <= '@') goto yy65;
2510
98.4k
      if (yych <= 'Z') goto yy211;
2511
76.1k
      if (yych >= '_') goto yy211;
2512
76.1k
    } else {
2513
46.9k
      if (yych <= '`') goto yy65;
2514
45.4k
      if (yych <= 'z') goto yy211;
2515
16.4k
      if (yych >= 0x80) goto yy211;
2516
16.4k
    }
2517
147k
yy65:
2518
147k
    YYDEBUG(65, *YYCURSOR);
2519
147k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
147k
#line 2451 "Zend/zend_language_scanner.l"
2521
147k
    {
2522
147k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
147k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
90.1k
yy66:
2526
90.1k
    YYDEBUG(66, *YYCURSOR);
2527
90.1k
    yych = *++YYCURSOR;
2528
90.1k
    if (yych == '=') goto yy214;
2529
88.9k
    goto yy9;
2530
226k
yy67:
2531
226k
    YYDEBUG(67, *YYCURSOR);
2532
226k
    yyaccept = 4;
2533
226k
    yych = *(YYMARKER = ++YYCURSOR);
2534
226k
    if (yych == '_') goto yy216;
2535
72.2k
    goto yy48;
2536
72.2k
yy68:
2537
68.3k
    YYDEBUG(68, *YYCURSOR);
2538
68.3k
    ++YYCURSOR;
2539
68.3k
    YYDEBUG(69, *YYCURSOR);
2540
68.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
68.3k
#line 2826 "Zend/zend_language_scanner.l"
2542
68.3k
    {
2543
68.3k
  BEGIN(ST_BACKQUOTE);
2544
68.3k
  RETURN_TOKEN('`');
2545
68.3k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
1.07M
yy70:
2548
1.07M
    YYDEBUG(70, *YYCURSOR);
2549
1.07M
    ++YYCURSOR;
2550
1.07M
    YYDEBUG(71, *YYCURSOR);
2551
1.07M
    yyleng = YYCURSOR - SCNG(yy_text);
2552
1.07M
#line 1974 "Zend/zend_language_scanner.l"
2553
1.07M
    {
2554
1.07M
  yy_push_state(ST_IN_SCRIPTING);
2555
1.07M
  enter_nesting('{');
2556
1.07M
  RETURN_TOKEN('{');
2557
1.07M
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
108k
yy72:
2560
108k
    YYDEBUG(72, *YYCURSOR);
2561
108k
    yych = *++YYCURSOR;
2562
108k
    if (yych <= '>') {
2563
46.8k
      if (yych <= '<') goto yy9;
2564
7.98k
      if (yych <= '=') goto yy217;
2565
5.52k
      goto yy219;
2566
62.1k
    } else {
2567
62.1k
      if (yych == '|') goto yy221;
2568
52.3k
      goto yy9;
2569
62.1k
    }
2570
387k
yy73:
2571
387k
    YYDEBUG(73, *YYCURSOR);
2572
387k
    ++YYCURSOR;
2573
387k
    YYDEBUG(74, *YYCURSOR);
2574
387k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
387k
#line 1987 "Zend/zend_language_scanner.l"
2576
387k
    {
2577
387k
  RESET_DOC_COMMENT();
2578
387k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
335k
    yy_pop_state();
2580
335k
  }
2581
387k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
387k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
8.87k
yy75:
2585
8.87k
    YYDEBUG(75, *YYCURSOR);
2586
8.87k
    yych = *++YYCURSOR;
2587
8.87k
    if (yych == '=') goto yy223;
2588
13.8k
yy76:
2589
13.8k
    YYDEBUG(76, *YYCURSOR);
2590
13.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
13.8k
#line 1846 "Zend/zend_language_scanner.l"
2592
13.8k
    {
2593
13.8k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
13.8k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
17.6k
yy77:
2597
17.6k
    YYDEBUG(77, *YYCURSOR);
2598
17.6k
    ++YYCURSOR;
2599
17.6k
    YYDEBUG(78, *YYCURSOR);
2600
17.6k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
17.6k
#line 1423 "Zend/zend_language_scanner.l"
2602
17.6k
    {
2603
17.6k
  enter_nesting('[');
2604
17.6k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
17.6k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
4.35M
yy79:
2608
4.35M
    YYDEBUG(79, *YYCURSOR);
2609
4.35M
    ++YYCURSOR;
2610
4.35M
    YYFILL(1);
2611
4.35M
    yych = *YYCURSOR;
2612
4.35M
    YYDEBUG(80, *YYCURSOR);
2613
4.35M
    if (yych <= '^') {
2614
1.20M
      if (yych <= '9') {
2615
850k
        if (yych >= '0') goto yy79;
2616
850k
      } else {
2617
354k
        if (yych <= '@') goto yy81;
2618
222k
        if (yych <= 'Z') goto yy79;
2619
222k
      }
2620
3.14M
    } else {
2621
3.14M
      if (yych <= '`') {
2622
15.5k
        if (yych <= '_') goto yy79;
2623
3.13M
      } else {
2624
3.13M
        if (yych <= 'z') goto yy79;
2625
925k
        if (yych >= 0x80) goto yy79;
2626
925k
      }
2627
3.14M
    }
2628
979k
yy81:
2629
979k
    YYDEBUG(81, *YYCURSOR);
2630
979k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
979k
#line 2417 "Zend/zend_language_scanner.l"
2632
979k
    {
2633
979k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
979k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
1.86k
yy82:
2637
1.86k
    YYDEBUG(82, *YYCURSOR);
2638
1.86k
    ++YYCURSOR;
2639
1.86k
    YYDEBUG(83, *YYCURSOR);
2640
1.86k
    yyleng = YYCURSOR - SCNG(yy_text);
2641
1.86k
#line 1890 "Zend/zend_language_scanner.l"
2642
1.86k
    {
2643
1.86k
  RETURN_TOKEN(T_MOD_EQUAL);
2644
1.86k
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
278k
yy84:
2647
278k
    YYDEBUG(84, *YYCURSOR);
2648
278k
    ++YYCURSOR;
2649
278k
    YYFILL(3);
2650
278k
    yych = *YYCURSOR;
2651
365k
yy85:
2652
365k
    YYDEBUG(85, *YYCURSOR);
2653
365k
    if (yych <= ' ') {
2654
89.1k
      if (yych <= '\f') {
2655
60.7k
        if (yych <= 0x08) goto yy86;
2656
58.7k
        if (yych <= '\n') goto yy84;
2657
58.7k
      } else {
2658
28.3k
        if (yych <= '\r') goto yy84;
2659
17.1k
        if (yych >= ' ') goto yy84;
2660
17.1k
      }
2661
276k
    } else {
2662
276k
      if (yych <= '$') {
2663
223k
        if (yych <= '"') goto yy86;
2664
222k
        if (yych <= '#') goto yy87;
2665
23.7k
        goto yy88;
2666
222k
      } else {
2667
52.1k
        if (yych <= '-') goto yy86;
2668
46.1k
        if (yych <= '.') goto yy92;
2669
38.3k
        if (yych <= '/') goto yy93;
2670
38.3k
      }
2671
276k
    }
2672
943k
yy86:
2673
943k
    YYDEBUG(86, *YYCURSOR);
2674
943k
    YYCURSOR = YYMARKER;
2675
943k
    if (yyaccept <= 48) {
2676
758k
      if (yyaccept <= 24) {
2677
745k
        if (yyaccept <= 12) {
2678
731k
          if (yyaccept <= 6) {
2679
449k
            if (yyaccept <= 3) {
2680
394k
              if (yyaccept <= 1) {
2681
350k
                if (yyaccept == 0) {
2682
51.7k
                  goto yy17;
2683
298k
                } else {
2684
298k
                  goto yy21;
2685
298k
                }
2686
350k
              } else {
2687
44.7k
                if (yyaccept == 2) {
2688
24.6k
                  goto yy9;
2689
24.6k
                } else {
2690
20.0k
                  goto yy31;
2691
20.0k
                }
2692
44.7k
              }
2693
394k
            } else {
2694
54.5k
              if (yyaccept <= 5) {
2695
51.6k
                if (yyaccept == 4) {
2696
46.2k
                  goto yy40;
2697
46.2k
                } else {
2698
5.36k
                  goto yy125;
2699
5.36k
                }
2700
51.6k
              } else {
2701
2.98k
                goto yy129;
2702
2.98k
              }
2703
54.5k
            }
2704
449k
          } else {
2705
282k
            if (yyaccept <= 9) {
2706
281k
              if (yyaccept <= 8) {
2707
281k
                if (yyaccept == 7) {
2708
280k
                  goto yy142;
2709
280k
                } else {
2710
425
                  goto yy163;
2711
425
                }
2712
281k
              } else {
2713
207
                goto yy173;
2714
207
              }
2715
281k
            } else {
2716
945
              if (yyaccept <= 11) {
2717
637
                if (yyaccept == 10) {
2718
397
                  goto yy182;
2719
397
                } else {
2720
240
                  goto yy188;
2721
240
                }
2722
637
              } else {
2723
308
                goto yy197;
2724
308
              }
2725
945
            }
2726
282k
          }
2727
731k
        } else {
2728
13.9k
          if (yyaccept <= 18) {
2729
11.9k
            if (yyaccept <= 15) {
2730
8.93k
              if (yyaccept <= 14) {
2731
8.61k
                if (yyaccept == 13) {
2732
7.29k
                  goto yy213;
2733
7.29k
                } else {
2734
1.32k
                  goto yy251;
2735
1.32k
                }
2736
8.61k
              } else {
2737
319
                goto yy257;
2738
319
              }
2739
8.93k
            } else {
2740
2.97k
              if (yyaccept <= 17) {
2741
454
                if (yyaccept == 16) {
2742
356
                  goto yy260;
2743
356
                } else {
2744
98
                  goto yy279;
2745
98
                }
2746
2.51k
              } else {
2747
2.51k
                goto yy283;
2748
2.51k
              }
2749
2.97k
            }
2750
11.9k
          } else {
2751
2.07k
            if (yyaccept <= 21) {
2752
931
              if (yyaccept <= 20) {
2753
488
                if (yyaccept == 19) {
2754
282
                  goto yy295;
2755
282
                } else {
2756
206
                  goto yy306;
2757
206
                }
2758
488
              } else {
2759
443
                goto yy319;
2760
443
              }
2761
1.14k
            } else {
2762
1.14k
              if (yyaccept <= 23) {
2763
927
                if (yyaccept == 22) {
2764
533
                  goto yy331;
2765
533
                } else {
2766
394
                  goto yy334;
2767
394
                }
2768
927
              } else {
2769
214
                goto yy336;
2770
214
              }
2771
1.14k
            }
2772
2.07k
          }
2773
13.9k
        }
2774
745k
      } else {
2775
12.9k
        if (yyaccept <= 36) {
2776
9.70k
          if (yyaccept <= 30) {
2777
7.79k
            if (yyaccept <= 27) {
2778
7.07k
              if (yyaccept <= 26) {
2779
6.74k
                if (yyaccept == 25) {
2780
329
                  goto yy339;
2781
6.41k
                } else {
2782
6.41k
                  goto yy89;
2783
6.41k
                }
2784
6.74k
              } else {
2785
333
                goto yy379;
2786
333
              }
2787
7.07k
            } else {
2788
726
              if (yyaccept <= 29) {
2789
385
                if (yyaccept == 28) {
2790
80
                  goto yy388;
2791
305
                } else {
2792
305
                  goto yy390;
2793
305
                }
2794
385
              } else {
2795
341
                goto yy399;
2796
341
              }
2797
726
            }
2798
7.79k
          } else {
2799
1.91k
            if (yyaccept <= 33) {
2800
932
              if (yyaccept <= 32) {
2801
574
                if (yyaccept == 31) {
2802
260
                  goto yy401;
2803
314
                } else {
2804
314
                  goto yy408;
2805
314
                }
2806
574
              } else {
2807
358
                goto yy415;
2808
358
              }
2809
978
            } else {
2810
978
              if (yyaccept <= 35) {
2811
533
                if (yyaccept == 34) {
2812
215
                  goto yy471;
2813
318
                } else {
2814
318
                  goto yy473;
2815
318
                }
2816
533
              } else {
2817
445
                goto yy476;
2818
445
              }
2819
978
            }
2820
1.91k
          }
2821
9.70k
        } else {
2822
3.22k
          if (yyaccept <= 42) {
2823
1.81k
            if (yyaccept <= 39) {
2824
1.09k
              if (yyaccept <= 38) {
2825
884
                if (yyaccept == 37) {
2826
409
                  goto yy478;
2827
475
                } else {
2828
475
                  goto yy480;
2829
475
                }
2830
884
              } else {
2831
206
                goto yy482;
2832
206
              }
2833
1.09k
            } else {
2834
721
              if (yyaccept <= 41) {
2835
606
                if (yyaccept == 40) {
2836
359
                  goto yy488;
2837
359
                } else {
2838
247
                  goto yy492;
2839
247
                }
2840
606
              } else {
2841
115
                goto yy501;
2842
115
              }
2843
721
            }
2844
1.81k
          } else {
2845
1.41k
            if (yyaccept <= 45) {
2846
655
              if (yyaccept <= 44) {
2847
436
                if (yyaccept == 43) {
2848
195
                  goto yy511;
2849
241
                } else {
2850
241
                  goto yy513;
2851
241
                }
2852
436
              } else {
2853
219
                goto yy516;
2854
219
              }
2855
763
            } else {
2856
763
              if (yyaccept <= 47) {
2857
567
                if (yyaccept == 46) {
2858
330
                  goto yy526;
2859
330
                } else {
2860
237
                  goto yy528;
2861
237
                }
2862
567
              } else {
2863
196
                goto yy530;
2864
196
              }
2865
763
            }
2866
1.41k
          }
2867
3.22k
        }
2868
12.9k
      }
2869
758k
    } else {
2870
184k
      if (yyaccept <= 72) {
2871
157k
        if (yyaccept <= 60) {
2872
150k
          if (yyaccept <= 54) {
2873
146k
            if (yyaccept <= 51) {
2874
54.5k
              if (yyaccept <= 50) {
2875
54.2k
                if (yyaccept == 49) {
2876
70
                  goto yy532;
2877
54.1k
                } else {
2878
54.1k
                  goto yy534;
2879
54.1k
                }
2880
54.2k
              } else {
2881
262
                goto yy576;
2882
262
              }
2883
92.2k
            } else {
2884
92.2k
              if (yyaccept <= 53) {
2885
92.1k
                if (yyaccept == 52) {
2886
343
                  goto yy579;
2887
91.8k
                } else {
2888
91.8k
                  goto yy583;
2889
91.8k
                }
2890
92.1k
              } else {
2891
152
                goto yy597;
2892
152
              }
2893
92.2k
            }
2894
146k
          } else {
2895
3.56k
            if (yyaccept <= 57) {
2896
2.71k
              if (yyaccept <= 56) {
2897
2.38k
                if (yyaccept == 55) {
2898
2.14k
                  goto yy607;
2899
2.14k
                } else {
2900
243
                  goto yy611;
2901
243
                }
2902
2.38k
              } else {
2903
333
                goto yy613;
2904
333
              }
2905
2.71k
            } else {
2906
849
              if (yyaccept <= 59) {
2907
600
                if (yyaccept == 58) {
2908
266
                  goto yy615;
2909
334
                } else {
2910
334
                  goto yy654;
2911
334
                }
2912
600
              } else {
2913
249
                goto yy656;
2914
249
              }
2915
849
            }
2916
3.56k
          }
2917
150k
        } else {
2918
6.67k
          if (yyaccept <= 66) {
2919
5.47k
            if (yyaccept <= 63) {
2920
550
              if (yyaccept <= 62) {
2921
199
                if (yyaccept == 61) {
2922
94
                  goto yy671;
2923
105
                } else {
2924
105
                  goto yy673;
2925
105
                }
2926
351
              } else {
2927
351
                goto yy675;
2928
351
              }
2929
4.92k
            } else {
2930
4.92k
              if (yyaccept <= 65) {
2931
4.39k
                if (yyaccept == 64) {
2932
198
                  goto yy679;
2933
4.19k
                } else {
2934
4.19k
                  goto yy685;
2935
4.19k
                }
2936
4.39k
              } else {
2937
537
                goto yy690;
2938
537
              }
2939
4.92k
            }
2940
5.47k
          } else {
2941
1.19k
            if (yyaccept <= 69) {
2942
355
              if (yyaccept <= 68) {
2943
159
                if (yyaccept == 67) {
2944
72
                  goto yy700;
2945
87
                } else {
2946
87
                  goto yy726;
2947
87
                }
2948
196
              } else {
2949
196
                goto yy728;
2950
196
              }
2951
841
            } else {
2952
841
              if (yyaccept <= 71) {
2953
604
                if (yyaccept == 70) {
2954
196
                  goto yy730;
2955
408
                } else {
2956
408
                  goto yy735;
2957
408
                }
2958
604
              } else {
2959
237
                goto yy743;
2960
237
              }
2961
841
            }
2962
1.19k
          }
2963
6.67k
        }
2964
157k
      } else {
2965
27.3k
        if (yyaccept <= 84) {
2966
7.23k
          if (yyaccept <= 78) {
2967
1.65k
            if (yyaccept <= 75) {
2968
890
              if (yyaccept <= 74) {
2969
692
                if (yyaccept == 73) {
2970
488
                  goto yy754;
2971
488
                } else {
2972
204
                  goto yy764;
2973
204
                }
2974
692
              } else {
2975
198
                goto yy768;
2976
198
              }
2977
890
            } else {
2978
762
              if (yyaccept <= 77) {
2979
408
                if (yyaccept == 76) {
2980
207
                  goto yy784;
2981
207
                } else {
2982
201
                  goto yy797;
2983
201
                }
2984
408
              } else {
2985
354
                goto yy799;
2986
354
              }
2987
762
            }
2988
5.57k
          } else {
2989
5.57k
            if (yyaccept <= 81) {
2990
4.40k
              if (yyaccept <= 80) {
2991
3.98k
                if (yyaccept == 79) {
2992
2.19k
                  goto yy801;
2993
2.19k
                } else {
2994
1.78k
                  goto yy804;
2995
1.78k
                }
2996
3.98k
              } else {
2997
424
                goto yy812;
2998
424
              }
2999
4.40k
            } else {
3000
1.17k
              if (yyaccept <= 83) {
3001
747
                if (yyaccept == 82) {
3002
206
                  goto yy819;
3003
541
                } else {
3004
541
                  goto yy823;
3005
541
                }
3006
747
              } else {
3007
427
                goto yy825;
3008
427
              }
3009
1.17k
            }
3010
5.57k
          }
3011
20.1k
        } else {
3012
20.1k
          if (yyaccept <= 90) {
3013
1.83k
            if (yyaccept <= 87) {
3014
847
              if (yyaccept <= 86) {
3015
634
                if (yyaccept == 85) {
3016
417
                  goto yy836;
3017
417
                } else {
3018
217
                  goto yy839;
3019
217
                }
3020
634
              } else {
3021
213
                goto yy854;
3022
213
              }
3023
985
            } else {
3024
985
              if (yyaccept <= 89) {
3025
908
                if (yyaccept == 88) {
3026
805
                  goto yy869;
3027
805
                } else {
3028
103
                  goto yy898;
3029
103
                }
3030
908
              } else {
3031
77
                goto yy903;
3032
77
              }
3033
985
            }
3034
18.2k
          } else {
3035
18.2k
            if (yyaccept <= 93) {
3036
15.8k
              if (yyaccept <= 92) {
3037
15.4k
                if (yyaccept == 91) {
3038
15.2k
                  goto yy876;
3039
15.2k
                } else {
3040
222
                  goto yy911;
3041
222
                }
3042
15.4k
              } else {
3043
365
                goto yy915;
3044
365
              }
3045
15.8k
            } else {
3046
2.41k
              if (yyaccept <= 95) {
3047
2.21k
                if (yyaccept == 94) {
3048
1.99k
                  goto yy886;
3049
1.99k
                } else {
3050
214
                  goto yy931;
3051
214
                }
3052
2.21k
              } else {
3053
209
                goto yy951;
3054
209
              }
3055
2.41k
            }
3056
18.2k
          }
3057
20.1k
        }
3058
27.3k
      }
3059
184k
    }
3060
199k
yy87:
3061
199k
    YYDEBUG(87, *YYCURSOR);
3062
199k
    ++YYCURSOR;
3063
199k
    YYFILL(1);
3064
199k
    yych = *YYCURSOR;
3065
199k
    if (yych <= '\f') {
3066
52.7k
      if (yych <= 0x00) goto yy86;
3067
51.5k
      if (yych == '\n') goto yy227;
3068
656
      goto yy225;
3069
146k
    } else {
3070
146k
      if (yych <= '\r') goto yy227;
3071
16.0k
      if (yych == '[') goto yy86;
3072
15.7k
      goto yy225;
3073
16.0k
    }
3074
26.6k
yy88:
3075
26.6k
    YYDEBUG(88, *YYCURSOR);
3076
26.6k
    ++YYCURSOR;
3077
34.8k
yy89:
3078
34.8k
    YYDEBUG(89, *YYCURSOR);
3079
34.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
34.8k
#line 1950 "Zend/zend_language_scanner.l"
3081
34.8k
    {
3082
34.8k
  yyless(1);
3083
34.8k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
34.8k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
16.7k
yy90:
3087
16.7k
    YYDEBUG(90, *YYCURSOR);
3088
16.7k
    ++YYCURSOR;
3089
16.7k
    YYDEBUG(91, *YYCURSOR);
3090
16.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
16.7k
#line 1926 "Zend/zend_language_scanner.l"
3092
16.7k
    {
3093
16.7k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
16.7k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
7.77k
yy92:
3097
7.77k
    YYDEBUG(92, *YYCURSOR);
3098
7.77k
    yych = *++YYCURSOR;
3099
7.77k
    if (yych == '.') goto yy229;
3100
3.99k
    goto yy86;
3101
23.2k
yy93:
3102
23.2k
    YYDEBUG(93, *YYCURSOR);
3103
23.2k
    ++YYCURSOR;
3104
23.2k
    YYFILL(1);
3105
23.2k
    yych = *YYCURSOR;
3106
23.2k
    if (yych == '*') goto yy230;
3107
4.78k
    if (yych == '/') goto yy225;
3108
3.26k
    goto yy86;
3109
14.7k
yy94:
3110
14.7k
    YYDEBUG(94, *YYCURSOR);
3111
14.7k
    ++YYCURSOR;
3112
14.7k
    YYDEBUG(95, *YYCURSOR);
3113
14.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
14.7k
#line 1902 "Zend/zend_language_scanner.l"
3115
14.7k
    {
3116
14.7k
  RETURN_TOKEN(T_AND_EQUAL);
3117
14.7k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
294k
yy96:
3120
294k
    YYDEBUG(96, *YYCURSOR);
3121
294k
    ++YYCURSOR;
3122
294k
    YYFILL(7);
3123
294k
    yych = *YYCURSOR;
3124
608k
yy97:
3125
608k
    YYDEBUG(97, *YYCURSOR);
3126
608k
    if (yybm[0+yych] & 1) {
3127
294k
      goto yy96;
3128
294k
    }
3129
314k
    switch (yych) {
3130
6.48k
    case 'A':
3131
47.1k
    case 'a': goto yy98;
3132
5.42k
    case 'B':
3133
20.4k
    case 'b': goto yy99;
3134
1.01k
    case 'D':
3135
9.61k
    case 'd': goto yy100;
3136
3.84k
    case 'F':
3137
24.9k
    case 'f': goto yy101;
3138
1.44k
    case 'I':
3139
31.9k
    case 'i': goto yy102;
3140
8.73k
    case 'O':
3141
16.5k
    case 'o': goto yy103;
3142
3.16k
    case 'R':
3143
13.3k
    case 'r': goto yy104;
3144
6.58k
    case 'S':
3145
40.9k
    case 's': goto yy105;
3146
857
    case 'U':
3147
11.1k
    case 'u': goto yy106;
3148
932
    case 'V':
3149
6.21k
    case 'v': goto yy107;
3150
91.9k
    default:  goto yy86;
3151
314k
    }
3152
47.1k
yy98:
3153
47.1k
    YYDEBUG(98, *YYCURSOR);
3154
47.1k
    yych = *++YYCURSOR;
3155
47.1k
    if (yych == 'R') goto yy232;
3156
46.1k
    if (yych == 'r') goto yy232;
3157
33.0k
    goto yy86;
3158
33.0k
yy99:
3159
20.4k
    YYDEBUG(99, *YYCURSOR);
3160
20.4k
    yych = *++YYCURSOR;
3161
20.4k
    if (yych <= 'O') {
3162
8.59k
      if (yych == 'I') goto yy233;
3163
7.29k
      if (yych <= 'N') goto yy86;
3164
868
      goto yy234;
3165
11.8k
    } else {
3166
11.8k
      if (yych <= 'i') {
3167
6.09k
        if (yych <= 'h') goto yy86;
3168
4.67k
        goto yy233;
3169
6.09k
      } else {
3170
5.78k
        if (yych == 'o') goto yy234;
3171
1.15k
        goto yy86;
3172
5.78k
      }
3173
11.8k
    }
3174
9.61k
yy100:
3175
9.61k
    YYDEBUG(100, *YYCURSOR);
3176
9.61k
    yych = *++YYCURSOR;
3177
9.61k
    if (yych == 'O') goto yy235;
3178
9.15k
    if (yych == 'o') goto yy235;
3179
6.05k
    goto yy86;
3180
24.9k
yy101:
3181
24.9k
    YYDEBUG(101, *YYCURSOR);
3182
24.9k
    yych = *++YYCURSOR;
3183
24.9k
    if (yych == 'L') goto yy236;
3184
24.0k
    if (yych == 'l') goto yy236;
3185
20.1k
    goto yy86;
3186
31.9k
yy102:
3187
31.9k
    YYDEBUG(102, *YYCURSOR);
3188
31.9k
    yych = *++YYCURSOR;
3189
31.9k
    if (yych == 'N') goto yy237;
3190
30.8k
    if (yych == 'n') goto yy237;
3191
21.3k
    goto yy86;
3192
21.3k
yy103:
3193
16.5k
    YYDEBUG(103, *YYCURSOR);
3194
16.5k
    yych = *++YYCURSOR;
3195
16.5k
    if (yych == 'B') goto yy238;
3196
15.9k
    if (yych == 'b') goto yy238;
3197
9.12k
    goto yy86;
3198
13.3k
yy104:
3199
13.3k
    YYDEBUG(104, *YYCURSOR);
3200
13.3k
    yych = *++YYCURSOR;
3201
13.3k
    if (yych == 'E') goto yy239;
3202
13.0k
    if (yych == 'e') goto yy239;
3203
6.43k
    goto yy86;
3204
40.9k
yy105:
3205
40.9k
    YYDEBUG(105, *YYCURSOR);
3206
40.9k
    yych = *++YYCURSOR;
3207
40.9k
    if (yych == 'T') goto yy240;
3208
40.1k
    if (yych == 't') goto yy240;
3209
21.1k
    goto yy86;
3210
21.1k
yy106:
3211
11.1k
    YYDEBUG(106, *YYCURSOR);
3212
11.1k
    yych = *++YYCURSOR;
3213
11.1k
    if (yych == 'N') goto yy241;
3214
10.4k
    if (yych == 'n') goto yy241;
3215
4.70k
    goto yy86;
3216
6.21k
yy107:
3217
6.21k
    YYDEBUG(107, *YYCURSOR);
3218
6.21k
    yych = *++YYCURSOR;
3219
6.21k
    if (yych == 'O') goto yy242;
3220
5.35k
    if (yych == 'o') goto yy242;
3221
3.22k
    goto yy86;
3222
16.9k
yy108:
3223
16.9k
    YYDEBUG(108, *YYCURSOR);
3224
16.9k
    yych = *++YYCURSOR;
3225
16.9k
    if (yych == '=') goto yy243;
3226
16.5k
    YYDEBUG(109, *YYCURSOR);
3227
16.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
16.5k
#line 1874 "Zend/zend_language_scanner.l"
3229
16.5k
    {
3230
16.5k
  RETURN_TOKEN(T_POW);
3231
16.5k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
4.71k
yy110:
3234
4.71k
    YYDEBUG(110, *YYCURSOR);
3235
4.71k
    ++YYCURSOR;
3236
4.71k
    YYDEBUG(111, *YYCURSOR);
3237
4.71k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
4.71k
#line 1870 "Zend/zend_language_scanner.l"
3239
4.71k
    {
3240
4.71k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
4.71k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
66.1k
yy112:
3244
66.1k
    YYDEBUG(112, *YYCURSOR);
3245
66.1k
    ++YYCURSOR;
3246
66.1k
    YYDEBUG(113, *YYCURSOR);
3247
66.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
66.1k
#line 1826 "Zend/zend_language_scanner.l"
3249
66.1k
    {
3250
66.1k
  RETURN_TOKEN(T_INC);
3251
66.1k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
3.95k
yy114:
3254
3.95k
    YYDEBUG(114, *YYCURSOR);
3255
3.95k
    ++YYCURSOR;
3256
3.95k
    YYDEBUG(115, *YYCURSOR);
3257
3.95k
    yyleng = YYCURSOR - SCNG(yy_text);
3258
3.95k
#line 1862 "Zend/zend_language_scanner.l"
3259
3.95k
    {
3260
3.95k
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
3.95k
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
14.5k
yy116:
3264
14.5k
    YYDEBUG(116, *YYCURSOR);
3265
14.5k
    ++YYCURSOR;
3266
14.5k
    YYDEBUG(117, *YYCURSOR);
3267
14.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
14.5k
#line 1830 "Zend/zend_language_scanner.l"
3269
14.5k
    {
3270
14.5k
  RETURN_TOKEN(T_DEC);
3271
14.5k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
2.46k
yy118:
3274
2.46k
    YYDEBUG(118, *YYCURSOR);
3275
2.46k
    ++YYCURSOR;
3276
2.46k
    YYDEBUG(119, *YYCURSOR);
3277
2.46k
    yyleng = YYCURSOR - SCNG(yy_text);
3278
2.46k
#line 1866 "Zend/zend_language_scanner.l"
3279
2.46k
    {
3280
2.46k
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
2.46k
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
122k
yy120:
3284
122k
    YYDEBUG(120, *YYCURSOR);
3285
122k
    ++YYCURSOR;
3286
122k
    YYDEBUG(121, *YYCURSOR);
3287
122k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
122k
#line 1587 "Zend/zend_language_scanner.l"
3289
122k
    {
3290
122k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
122k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
122k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
58.2k
yy122:
3295
58.2k
    YYDEBUG(122, *YYCURSOR);
3296
58.2k
    yych = *++YYCURSOR;
3297
58.2k
    if (yych == '.') goto yy245;
3298
20.6k
    goto yy86;
3299
526k
yy123:
3300
526k
    YYDEBUG(123, *YYCURSOR);
3301
526k
    yyaccept = 5;
3302
526k
    YYMARKER = ++YYCURSOR;
3303
526k
    YYFILL(2);
3304
526k
    yych = *YYCURSOR;
3305
583k
yy124:
3306
583k
    YYDEBUG(124, *YYCURSOR);
3307
583k
    if (yych <= 'E') {
3308
547k
      if (yych <= '/') goto yy125;
3309
499k
      if (yych <= '9') goto yy123;
3310
28.2k
      if (yych >= 'E') goto yy135;
3311
36.7k
    } else {
3312
36.7k
      if (yych <= '_') {
3313
6.92k
        if (yych >= '_') goto yy247;
3314
29.8k
      } else {
3315
29.8k
        if (yych == 'e') goto yy135;
3316
29.8k
      }
3317
36.7k
    }
3318
142k
yy125:
3319
142k
    YYDEBUG(125, *YYCURSOR);
3320
142k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
142k
#line 2233 "Zend/zend_language_scanner.l"
3322
142k
    {
3323
142k
  const char *end;
3324
142k
  size_t len = yyleng;
3325
142k
  char *dnum = yytext;
3326
142k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
142k
  if (contains_underscores) {
3329
1.90k
    dnum = estrndup(dnum, len);
3330
1.90k
    strip_underscores(dnum, &len);
3331
1.90k
  }
3332
3333
142k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
142k
  ZEND_ASSERT(end == dnum + len);
3336
142k
  if (contains_underscores) {
3337
1.90k
    efree(dnum);
3338
1.90k
  }
3339
142k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
142k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
90.9k
yy126:
3343
90.9k
    YYDEBUG(126, *YYCURSOR);
3344
90.9k
    ++YYCURSOR;
3345
90.9k
    YYDEBUG(127, *YYCURSOR);
3346
90.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
90.9k
#line 1886 "Zend/zend_language_scanner.l"
3348
90.9k
    {
3349
90.9k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
90.9k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
99.6k
yy128:
3353
99.6k
    YYDEBUG(128, *YYCURSOR);
3354
99.6k
    yyaccept = 6;
3355
99.6k
    yych = *(YYMARKER = ++YYCURSOR);
3356
99.6k
    if (yych == '*') goto yy248;
3357
99.6k
yy129:
3358
99.6k
    YYDEBUG(129, *YYCURSOR);
3359
99.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
99.6k
#line 2484 "Zend/zend_language_scanner.l"
3361
99.6k
    {
3362
99.6k
  int doc_com;
3363
3364
99.6k
  if (yyleng > 2) {
3365
9.08k
    doc_com = 1;
3366
9.08k
    RESET_DOC_COMMENT();
3367
90.5k
  } else {
3368
90.5k
    doc_com = 0;
3369
90.5k
  }
3370
3371
6.36M
  while (YYCURSOR < YYLIMIT) {
3372
6.33M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
74.4k
      break;
3374
74.4k
    }
3375
6.33M
  }
3376
3377
99.6k
  if (YYCURSOR < YYLIMIT) {
3378
74.4k
    YYCURSOR++;
3379
74.4k
  } else {
3380
25.1k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
25.1k
    if (PARSER_MODE()) {
3382
1.06k
      RETURN_TOKEN(T_ERROR);
3383
1.06k
    }
3384
25.1k
  }
3385
3386
98.5k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
98.5k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
98.5k
  if (doc_com) {
3390
9.02k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
9.02k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
9.02k
  }
3393
3394
89.5k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
89.5k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
72.4k
yy130:
3398
72.4k
    YYDEBUG(130, *YYCURSOR);
3399
72.4k
    ++YYCURSOR;
3400
72.4k
    goto yy13;
3401
3.01k
yy131:
3402
3.01k
    YYDEBUG(131, *YYCURSOR);
3403
3.01k
    ++YYCURSOR;
3404
3.01k
    YYDEBUG(132, *YYCURSOR);
3405
3.01k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
3.01k
#line 1882 "Zend/zend_language_scanner.l"
3407
3.01k
    {
3408
3.01k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
3.01k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
58.1k
yy133:
3412
58.1k
    YYDEBUG(133, *YYCURSOR);
3413
58.1k
    yyaccept = 5;
3414
58.1k
    yych = *(YYMARKER = ++YYCURSOR);
3415
58.1k
    if (yych == '_') goto yy125;
3416
57.4k
    goto yy124;
3417
57.4k
yy134:
3418
10.0k
    YYDEBUG(134, *YYCURSOR);
3419
10.0k
    ++YYCURSOR;
3420
10.0k
    YYFILL(1);
3421
10.0k
    yych = *YYCURSOR;
3422
10.0k
    if (yybm[0+yych] & 8) {
3423
6.92k
      goto yy249;
3424
6.92k
    }
3425
3.08k
    goto yy86;
3426
49.4k
yy135:
3427
49.4k
    YYDEBUG(135, *YYCURSOR);
3428
49.4k
    yych = *++YYCURSOR;
3429
49.4k
    if (yych <= ',') {
3430
3.37k
      if (yych == '+') goto yy252;
3431
2.08k
      goto yy86;
3432
46.0k
    } else {
3433
46.0k
      if (yych <= '-') goto yy252;
3434
31.7k
      if (yych <= '/') goto yy86;
3435
31.2k
      if (yych <= '9') goto yy253;
3436
7.23k
      goto yy86;
3437
31.2k
    }
3438
4.67k
yy136:
3439
4.67k
    YYDEBUG(136, *YYCURSOR);
3440
4.67k
    ++YYCURSOR;
3441
4.67k
    YYFILL(1);
3442
4.67k
    yych = *YYCURSOR;
3443
4.67k
    if (yybm[0+yych] & 16) {
3444
2.79k
      goto yy255;
3445
2.79k
    }
3446
1.87k
    goto yy86;
3447
9.30k
yy137:
3448
9.30k
    YYDEBUG(137, *YYCURSOR);
3449
9.30k
    ++YYCURSOR;
3450
9.30k
    YYFILL(1);
3451
9.30k
    yych = *YYCURSOR;
3452
9.30k
    if (yybm[0+yych] & 32) {
3453
8.53k
      goto yy258;
3454
8.53k
    }
3455
770
    goto yy86;
3456
12.3k
yy138:
3457
12.3k
    YYDEBUG(138, *YYCURSOR);
3458
12.3k
    ++YYCURSOR;
3459
12.3k
    YYFILL(1);
3460
12.3k
    yych = *YYCURSOR;
3461
12.3k
    if (yybm[256+yych] & 64) {
3462
4.05k
      goto yy32;
3463
4.05k
    }
3464
8.26k
    goto yy86;
3465
127k
yy139:
3466
127k
    YYDEBUG(139, *YYCURSOR);
3467
127k
    ++YYCURSOR;
3468
127k
    YYDEBUG(140, *YYCURSOR);
3469
127k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
127k
#line 1614 "Zend/zend_language_scanner.l"
3471
127k
    {
3472
127k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
127k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
4.10M
yy141:
3476
4.10M
    YYDEBUG(141, *YYCURSOR);
3477
4.10M
    yyaccept = 7;
3478
4.10M
    yych = *(YYMARKER = ++YYCURSOR);
3479
4.10M
    if (yych <= ';') goto yy142;
3480
4.01M
    if (yych <= '<') goto yy261;
3481
232k
    if (yych <= '=') goto yy263;
3482
604k
yy142:
3483
604k
    YYDEBUG(142, *YYCURSOR);
3484
604k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
604k
#line 1942 "Zend/zend_language_scanner.l"
3486
604k
    {
3487
604k
  RETURN_TOKEN(T_SL);
3488
604k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
19.6k
yy143:
3491
19.6k
    YYDEBUG(143, *YYCURSOR);
3492
19.6k
    yych = *++YYCURSOR;
3493
19.6k
    if (yych == '>') goto yy265;
3494
18.8k
    YYDEBUG(144, *YYCURSOR);
3495
18.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
18.8k
#line 1854 "Zend/zend_language_scanner.l"
3497
18.8k
    {
3498
18.8k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
18.8k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
7.76k
yy145:
3502
7.76k
    YYDEBUG(145, *YYCURSOR);
3503
7.76k
    ++YYCURSOR;
3504
7.76k
    goto yy76;
3505
36.9k
yy146:
3506
36.9k
    YYDEBUG(146, *YYCURSOR);
3507
36.9k
    yych = *++YYCURSOR;
3508
36.9k
    if (yych == '=') goto yy267;
3509
22.5k
    YYDEBUG(147, *YYCURSOR);
3510
22.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
22.5k
#line 1842 "Zend/zend_language_scanner.l"
3512
22.5k
    {
3513
22.5k
  RETURN_TOKEN(T_IS_EQUAL);
3514
22.5k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
49.5k
yy148:
3517
49.5k
    YYDEBUG(148, *YYCURSOR);
3518
49.5k
    ++YYCURSOR;
3519
49.5k
    YYDEBUG(149, *YYCURSOR);
3520
49.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
49.5k
#line 1810 "Zend/zend_language_scanner.l"
3522
49.5k
    {
3523
49.5k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
49.5k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
4.32k
yy150:
3527
4.32k
    YYDEBUG(150, *YYCURSOR);
3528
4.32k
    ++YYCURSOR;
3529
4.32k
    YYDEBUG(151, *YYCURSOR);
3530
4.32k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
4.32k
#line 1858 "Zend/zend_language_scanner.l"
3532
4.32k
    {
3533
4.32k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
4.32k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
18.1k
yy152:
3537
18.1k
    YYDEBUG(152, *YYCURSOR);
3538
18.1k
    yych = *++YYCURSOR;
3539
18.1k
    if (yych == '=') goto yy269;
3540
16.7k
    YYDEBUG(153, *YYCURSOR);
3541
16.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
16.7k
#line 1946 "Zend/zend_language_scanner.l"
3543
16.7k
    {
3544
16.7k
  RETURN_TOKEN(T_SR);
3545
16.7k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
42.2k
yy154:
3548
42.2k
    YYDEBUG(154, *YYCURSOR);
3549
42.2k
    yych = *++YYCURSOR;
3550
42.2k
    if (yych == '>') goto yy271;
3551
4.04k
    goto yy86;
3552
141k
yy155:
3553
141k
    YYDEBUG(155, *YYCURSOR);
3554
141k
    yych = *++YYCURSOR;
3555
141k
    if (yych == '\n') goto yy273;
3556
131k
    if (yych == '\r') goto yy274;
3557
141k
yy156:
3558
141k
    YYDEBUG(156, *YYCURSOR);
3559
141k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
141k
#line 2526 "Zend/zend_language_scanner.l"
3561
141k
    {
3562
141k
  BEGIN(INITIAL);
3563
141k
  if (yytext[yyleng-1] != '>') {
3564
11.1k
    CG(increment_lineno) = 1;
3565
11.1k
  }
3566
141k
  if (PARSER_MODE()) {
3567
115k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
115k
  }
3569
25.9k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
25.9k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
56.8k
yy157:
3573
56.8k
    YYDEBUG(157, *YYCURSOR);
3574
56.8k
    yych = *++YYCURSOR;
3575
56.8k
    if (yych == '=') goto yy275;
3576
47.5k
    YYDEBUG(158, *YYCURSOR);
3577
47.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
47.5k
#line 1622 "Zend/zend_language_scanner.l"
3579
47.5k
    {
3580
47.5k
  RETURN_TOKEN(T_COALESCE);
3581
47.5k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
13.8k
yy159:
3584
13.8k
    YYDEBUG(159, *YYCURSOR);
3585
13.8k
    yyaccept = 4;
3586
13.8k
    yych = *(YYMARKER = ++YYCURSOR);
3587
13.8k
    if (yych == 'S') goto yy277;
3588
12.2k
    if (yych == 's') goto yy277;
3589
3.36k
    goto yy48;
3590
9.64k
yy160:
3591
9.64k
    YYDEBUG(160, *YYCURSOR);
3592
9.64k
    yyaccept = 4;
3593
9.64k
    yych = *(YYMARKER = ++YYCURSOR);
3594
9.64k
    if (yych == 'D') goto yy278;
3595
9.03k
    if (yych == 'd') goto yy278;
3596
3.41k
    goto yy48;
3597
40.4k
yy161:
3598
40.4k
    YYDEBUG(161, *YYCURSOR);
3599
40.4k
    yyaccept = 4;
3600
40.4k
    yych = *(YYMARKER = ++YYCURSOR);
3601
40.4k
    if (yych == 'R') goto yy280;
3602
39.8k
    if (yych == 'r') goto yy280;
3603
10.0k
    goto yy48;
3604
63.3k
yy162:
3605
63.3k
    YYDEBUG(162, *YYCURSOR);
3606
63.3k
    yyaccept = 8;
3607
63.3k
    yych = *(YYMARKER = ++YYCURSOR);
3608
63.3k
    if (yybm[256+yych] & 128) {
3609
36.2k
      goto yy47;
3610
36.2k
    }
3611
27.0k
    if (yych == '\\') goto yy164;
3612
27.0k
yy163:
3613
27.0k
    YYDEBUG(163, *YYCURSOR);
3614
27.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
27.0k
#line 1510 "Zend/zend_language_scanner.l"
3616
27.0k
    {
3617
27.0k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
27.0k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
90.9k
yy164:
3621
90.9k
    YYDEBUG(164, *YYCURSOR);
3622
90.9k
    ++YYCURSOR;
3623
90.9k
    YYFILL(1);
3624
90.9k
    yych = *YYCURSOR;
3625
90.9k
    if (yych <= '_') {
3626
63.8k
      if (yych <= '@') goto yy86;
3627
35.2k
      if (yych <= 'Z') goto yy281;
3628
16.4k
      if (yych <= '^') goto yy86;
3629
2.09k
      goto yy281;
3630
27.1k
    } else {
3631
27.1k
      if (yych <= '`') goto yy86;
3632
26.5k
      if (yych <= 'z') goto yy281;
3633
11.3k
      if (yych <= 0x7F) goto yy86;
3634
5.66k
      goto yy281;
3635
11.3k
    }
3636
7.48k
yy165:
3637
7.48k
    YYDEBUG(165, *YYCURSOR);
3638
7.48k
    yych = *++YYCURSOR;
3639
7.48k
    if (yych == '<') goto yy284;
3640
2.32k
    goto yy86;
3641
6.75k
yy166:
3642
6.75k
    YYDEBUG(166, *YYCURSOR);
3643
6.75k
    yyaccept = 4;
3644
6.75k
    yych = *(YYMARKER = ++YYCURSOR);
3645
6.75k
    if (yych == 'E') goto yy285;
3646
6.27k
    if (yych == 'e') goto yy285;
3647
2.36k
    goto yy48;
3648
79.7k
yy167:
3649
79.7k
    YYDEBUG(167, *YYCURSOR);
3650
79.7k
    yyaccept = 4;
3651
79.7k
    yych = *(YYMARKER = ++YYCURSOR);
3652
79.7k
    if (yych <= 'T') {
3653
7.21k
      if (yych <= 'L') {
3654
4.50k
        if (yych <= 'K') goto yy48;
3655
2.01k
        goto yy286;
3656
4.50k
      } else {
3657
2.71k
        if (yych <= 'R') goto yy48;
3658
2.41k
        if (yych <= 'S') goto yy287;
3659
2.01k
        goto yy288;
3660
2.41k
      }
3661
72.5k
    } else {
3662
72.5k
      if (yych <= 'r') {
3663
21.1k
        if (yych == 'l') goto yy286;
3664
2.55k
        goto yy48;
3665
51.4k
      } else {
3666
51.4k
        if (yych <= 's') goto yy287;
3667
40.0k
        if (yych <= 't') goto yy288;
3668
835
        goto yy48;
3669
40.0k
      }
3670
72.5k
    }
3671
103k
yy168:
3672
103k
    YYDEBUG(168, *YYCURSOR);
3673
103k
    yyaccept = 4;
3674
103k
    yych = *(YYMARKER = ++YYCURSOR);
3675
103k
    if (yych <= 'O') {
3676
8.38k
      if (yych == 'A') goto yy289;
3677
6.38k
      if (yych <= 'N') goto yy48;
3678
376
      goto yy290;
3679
95.2k
    } else {
3680
95.2k
      if (yych <= 'a') {
3681
84.3k
        if (yych <= '`') goto yy48;
3682
83.4k
        goto yy289;
3683
84.3k
      } else {
3684
10.9k
        if (yych == 'o') goto yy290;
3685
2.93k
        goto yy48;
3686
10.9k
      }
3687
95.2k
    }
3688
53.2k
yy169:
3689
53.2k
    YYDEBUG(169, *YYCURSOR);
3690
53.2k
    yyaccept = 4;
3691
53.2k
    yych = *(YYMARKER = ++YYCURSOR);
3692
53.2k
    if (yych == 'N') goto yy291;
3693
47.7k
    if (yych == 'n') goto yy291;
3694
7.23k
    goto yy48;
3695
28.3k
yy170:
3696
28.3k
    YYDEBUG(170, *YYCURSOR);
3697
28.3k
    yyaccept = 4;
3698
28.3k
    yych = *(YYMARKER = ++YYCURSOR);
3699
28.3k
    if (yych <= 'F') {
3700
3.26k
      if (yych == 'C') goto yy292;
3701
2.14k
      if (yych <= 'E') goto yy48;
3702
695
      goto yy293;
3703
25.0k
    } else {
3704
25.0k
      if (yych <= 'c') {
3705
12.1k
        if (yych <= 'b') goto yy48;
3706
8.70k
        goto yy292;
3707
12.8k
      } else {
3708
12.8k
        if (yych == 'f') goto yy293;
3709
4.02k
        goto yy48;
3710
12.8k
      }
3711
25.0k
    }
3712
11.8k
yy171:
3713
11.8k
    YYDEBUG(171, *YYCURSOR);
3714
11.8k
    yyaccept = 4;
3715
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
3716
11.8k
    if (yych == 'E') goto yy294;
3717
11.6k
    if (yych == 'e') goto yy294;
3718
2.69k
    goto yy48;
3719
16.8k
yy172:
3720
16.8k
    YYDEBUG(172, *YYCURSOR);
3721
16.8k
    yyaccept = 9;
3722
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
3723
16.8k
    if (yybm[256+yych] & 128) {
3724
13.8k
      goto yy47;
3725
13.8k
    }
3726
3.05k
    if (yych == '\\') goto yy164;
3727
2.79k
yy173:
3728
2.79k
    YYDEBUG(173, *YYCURSOR);
3729
2.79k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
2.79k
#line 1478 "Zend/zend_language_scanner.l"
3731
2.79k
    {
3732
2.79k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
2.79k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
90.5k
yy174:
3736
90.5k
    YYDEBUG(174, *YYCURSOR);
3737
90.5k
    yyaccept = 4;
3738
90.5k
    yych = *(YYMARKER = ++YYCURSOR);
3739
90.5k
    if (yych == 'H') goto yy296;
3740
90.1k
    if (yych == 'h') goto yy296;
3741
7.62k
    goto yy48;
3742
21.0k
yy175:
3743
21.0k
    YYDEBUG(175, *YYCURSOR);
3744
21.0k
    yyaccept = 4;
3745
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
3746
21.0k
    if (yych == 'S') goto yy297;
3747
20.3k
    if (yych == 's') goto yy297;
3748
5.25k
    goto yy48;
3749
9.92k
yy176:
3750
9.92k
    YYDEBUG(176, *YYCURSOR);
3751
9.92k
    yyaccept = 4;
3752
9.92k
    yych = *(YYMARKER = ++YYCURSOR);
3753
9.92k
    if (yych == 'P') goto yy298;
3754
8.16k
    if (yych == 'p') goto yy298;
3755
3.61k
    goto yy48;
3756
251k
yy177:
3757
251k
    YYDEBUG(177, *YYCURSOR);
3758
251k
    yyaccept = 4;
3759
251k
    yych = *(YYMARKER = ++YYCURSOR);
3760
251k
    if (yych <= 'U') {
3761
32.3k
      if (yych == 'D') goto yy299;
3762
12.8k
      if (yych <= 'T') goto yy48;
3763
4.39k
      goto yy300;
3764
218k
    } else {
3765
218k
      if (yych <= 'd') {
3766
37.9k
        if (yych <= 'c') goto yy48;
3767
35.5k
        goto yy299;
3768
180k
      } else {
3769
180k
        if (yych == 'u') goto yy300;
3770
10.4k
        goto yy48;
3771
180k
      }
3772
218k
    }
3773
8.65k
yy178:
3774
8.65k
    YYDEBUG(178, *YYCURSOR);
3775
8.65k
    yyaccept = 4;
3776
8.65k
    yych = *(YYMARKER = ++YYCURSOR);
3777
8.65k
    if (yych == 'A') goto yy301;
3778
8.31k
    if (yych == 'a') goto yy301;
3779
1.77k
    goto yy48;
3780
69.0k
yy179:
3781
69.0k
    YYDEBUG(179, *YYCURSOR);
3782
69.0k
    yyaccept = 4;
3783
69.0k
    yych = *(YYMARKER = ++YYCURSOR);
3784
69.0k
    if (yych <= 'T') {
3785
8.93k
      if (yych == 'I') goto yy302;
3786
8.54k
      if (yych <= 'S') goto yy48;
3787
2.27k
      goto yy303;
3788
60.1k
    } else {
3789
60.1k
      if (yych <= 'i') {
3790
32.6k
        if (yych <= 'h') goto yy48;
3791
3.04k
        goto yy302;
3792
32.6k
      } else {
3793
27.4k
        if (yych == 't') goto yy303;
3794
4.87k
        goto yy48;
3795
27.4k
      }
3796
60.1k
    }
3797
22.3k
yy180:
3798
22.3k
    YYDEBUG(180, *YYCURSOR);
3799
22.3k
    yyaccept = 4;
3800
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
3801
22.3k
    if (yych == 'N') goto yy304;
3802
20.7k
    if (yych == 'n') goto yy304;
3803
6.52k
    goto yy48;
3804
21.1k
yy181:
3805
21.1k
    YYDEBUG(181, *YYCURSOR);
3806
21.1k
    yyaccept = 10;
3807
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
3808
21.1k
    if (yybm[256+yych] & 128) {
3809
3.32k
      goto yy47;
3810
3.32k
    }
3811
17.8k
    if (yych == '\\') goto yy164;
3812
17.8k
yy182:
3813
17.8k
    YYDEBUG(182, *YYCURSOR);
3814
17.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
17.8k
#line 1407 "Zend/zend_language_scanner.l"
3816
17.8k
    {
3817
17.8k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
17.8k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
125k
yy183:
3821
125k
    YYDEBUG(183, *YYCURSOR);
3822
125k
    yyaccept = 4;
3823
125k
    yych = *(YYMARKER = ++YYCURSOR);
3824
125k
    if (yych == 'R') goto yy305;
3825
123k
    if (yych == 'r') goto yy305;
3826
55.8k
    goto yy48;
3827
121k
yy184:
3828
121k
    YYDEBUG(184, *YYCURSOR);
3829
121k
    yyaccept = 4;
3830
121k
    yych = *(YYMARKER = ++YYCURSOR);
3831
121k
    if (yych == 'N') goto yy307;
3832
119k
    if (yych == 'n') goto yy307;
3833
2.91k
    goto yy48;
3834
9.79k
yy185:
3835
9.79k
    YYDEBUG(185, *YYCURSOR);
3836
9.79k
    yyaccept = 4;
3837
9.79k
    yych = *(YYMARKER = ++YYCURSOR);
3838
9.79k
    if (yych == 'O') goto yy308;
3839
6.33k
    if (yych == 'o') goto yy308;
3840
1.04k
    goto yy48;
3841
7.83k
yy186:
3842
7.83k
    YYDEBUG(186, *YYCURSOR);
3843
7.83k
    yyaccept = 4;
3844
7.83k
    yych = *(YYMARKER = ++YYCURSOR);
3845
7.83k
    if (yych == 'T') goto yy309;
3846
6.12k
    if (yych == 't') goto yy309;
3847
1.28k
    goto yy48;
3848
26.2k
yy187:
3849
26.2k
    YYDEBUG(187, *YYCURSOR);
3850
26.2k
    yyaccept = 11;
3851
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
3852
26.2k
    if (yybm[256+yych] & 128) {
3853
1.90k
      goto yy47;
3854
1.90k
    }
3855
24.2k
    if (yych == '\\') goto yy164;
3856
24.1k
yy188:
3857
24.1k
    YYDEBUG(188, *YYCURSOR);
3858
24.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
24.1k
#line 1454 "Zend/zend_language_scanner.l"
3860
24.1k
    {
3861
24.1k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
24.1k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
41.3k
yy189:
3865
41.3k
    YYDEBUG(189, *YYCURSOR);
3866
41.3k
    yyaccept = 4;
3867
41.3k
    yych = *(YYMARKER = ++YYCURSOR);
3868
41.3k
    if (yych == 'P') goto yy310;
3869
34.4k
    if (yych == 'p') goto yy310;
3870
8.41k
    goto yy48;
3871
124k
yy190:
3872
124k
    YYDEBUG(190, *YYCURSOR);
3873
124k
    yyaccept = 4;
3874
124k
    yych = *(YYMARKER = ++YYCURSOR);
3875
124k
    if (yych <= 'T') {
3876
33.2k
      if (yych <= 'C') {
3877
15.7k
        if (yych <= 'B') goto yy48;
3878
1.65k
        goto yy311;
3879
17.5k
      } else {
3880
17.5k
        if (yych <= 'R') goto yy48;
3881
4.21k
        if (yych <= 'S') goto yy312;
3882
1.59k
        goto yy313;
3883
4.21k
      }
3884
91.4k
    } else {
3885
91.4k
      if (yych <= 'r') {
3886
42.8k
        if (yych == 'c') goto yy311;
3887
30.8k
        goto yy48;
3888
48.5k
      } else {
3889
48.5k
        if (yych <= 's') goto yy312;
3890
33.7k
        if (yych <= 't') goto yy313;
3891
5.56k
        goto yy48;
3892
33.7k
      }
3893
91.4k
    }
3894
30.8k
yy191:
3895
30.8k
    YYDEBUG(191, *YYCURSOR);
3896
30.8k
    yyaccept = 4;
3897
30.8k
    yych = *(YYMARKER = ++YYCURSOR);
3898
30.8k
    if (yych == 'S') goto yy314;
3899
30.5k
    if (yych == 's') goto yy314;
3900
11.6k
    goto yy48;
3901
13.0k
yy192:
3902
13.0k
    YYDEBUG(192, *YYCURSOR);
3903
13.0k
    yyaccept = 4;
3904
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
3905
13.0k
    if (yych == 'S') goto yy315;
3906
11.9k
    if (yych == 's') goto yy315;
3907
4.93k
    goto yy48;
3908
8.80k
yy193:
3909
8.80k
    YYDEBUG(193, *YYCURSOR);
3910
8.80k
    yyaccept = 4;
3911
8.80k
    yych = *(YYMARKER = ++YYCURSOR);
3912
8.80k
    if (yych == 'T') goto yy316;
3913
8.53k
    if (yych == 't') goto yy316;
3914
4.20k
    goto yy48;
3915
44.3k
yy194:
3916
44.3k
    YYDEBUG(194, *YYCURSOR);
3917
44.3k
    yyaccept = 4;
3918
44.3k
    yych = *(YYMARKER = ++YYCURSOR);
3919
44.3k
    if (yych == 'M') goto yy317;
3920
42.4k
    if (yych == 'm') goto yy317;
3921
3.15k
    goto yy48;
3922
98.1k
yy195:
3923
98.1k
    YYDEBUG(195, *YYCURSOR);
3924
98.1k
    yyaccept = 4;
3925
98.1k
    yych = *(YYMARKER = ++YYCURSOR);
3926
98.1k
    if (yych == 'W') goto yy318;
3927
97.4k
    if (yych == 'w') goto yy318;
3928
10.0k
    goto yy48;
3929
10.0k
yy196:
3930
8.56k
    YYDEBUG(196, *YYCURSOR);
3931
8.56k
    yyaccept = 12;
3932
8.56k
    yych = *(YYMARKER = ++YYCURSOR);
3933
8.56k
    if (yybm[256+yych] & 128) {
3934
3.94k
      goto yy47;
3935
3.94k
    }
3936
4.61k
    if (yych == '\\') goto yy164;
3937
4.55k
yy197:
3938
4.55k
    YYDEBUG(197, *YYCURSOR);
3939
4.55k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
4.55k
#line 1930 "Zend/zend_language_scanner.l"
3941
4.55k
    {
3942
4.55k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
4.55k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
66.2k
yy198:
3946
66.2k
    YYDEBUG(198, *YYCURSOR);
3947
66.2k
    yyaccept = 4;
3948
66.2k
    yych = *(YYMARKER = ++YYCURSOR);
3949
66.2k
    if (yych <= 'O') {
3950
6.57k
      if (yych == 'I') goto yy320;
3951
4.62k
      if (yych <= 'N') goto yy48;
3952
3.19k
      goto yy321;
3953
59.6k
    } else {
3954
59.6k
      if (yych <= 'i') {
3955
43.7k
        if (yych <= 'h') goto yy48;
3956
37.3k
        goto yy320;
3957
43.7k
      } else {
3958
15.9k
        if (yych == 'o') goto yy321;
3959
1.35k
        goto yy48;
3960
15.9k
      }
3961
59.6k
    }
3962
77.8k
yy199:
3963
77.8k
    YYDEBUG(199, *YYCURSOR);
3964
77.8k
    yyaccept = 4;
3965
77.8k
    yych = *(YYMARKER = ++YYCURSOR);
3966
77.8k
    if (yych == 'B') goto yy322;
3967
76.0k
    if (yych == 'b') goto yy322;
3968
4.61k
    goto yy48;
3969
89.0k
yy200:
3970
89.0k
    YYDEBUG(200, *YYCURSOR);
3971
89.0k
    yyaccept = 4;
3972
89.0k
    yych = *(YYMARKER = ++YYCURSOR);
3973
89.0k
    if (yych <= 'T') {
3974
6.98k
      if (yych <= 'P') {
3975
5.81k
        if (yych == 'A') goto yy323;
3976
4.80k
        goto yy48;
3977
5.81k
      } else {
3978
1.17k
        if (yych <= 'Q') goto yy324;
3979
676
        if (yych <= 'S') goto yy48;
3980
431
        goto yy325;
3981
676
      }
3982
82.0k
    } else {
3983
82.0k
      if (yych <= 'p') {
3984
19.8k
        if (yych == 'a') goto yy323;
3985
8.13k
        goto yy48;
3986
62.1k
      } else {
3987
62.1k
        if (yych <= 'q') goto yy324;
3988
34.3k
        if (yych == 't') goto yy325;
3989
6.80k
        goto yy48;
3990
34.3k
      }
3991
82.0k
    }
3992
74.8k
yy201:
3993
74.8k
    YYDEBUG(201, *YYCURSOR);
3994
74.8k
    yyaccept = 4;
3995
74.8k
    yych = *(YYMARKER = ++YYCURSOR);
3996
74.8k
    if (yych == 'A') goto yy326;
3997
74.3k
    if (yych == 'a') goto yy326;
3998
50.5k
    goto yy48;
3999
50.5k
yy202:
4000
10.5k
    YYDEBUG(202, *YYCURSOR);
4001
10.5k
    yyaccept = 4;
4002
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
4003
10.5k
    if (yych == 'I') goto yy327;
4004
9.80k
    if (yych == 'i') goto yy327;
4005
1.37k
    goto yy48;
4006
17.3k
yy203:
4007
17.3k
    YYDEBUG(203, *YYCURSOR);
4008
17.3k
    yyaccept = 4;
4009
17.3k
    yych = *(YYMARKER = ++YYCURSOR);
4010
17.3k
    if (yych == 'R') goto yy328;
4011
16.9k
    if (yych == 'r') goto yy328;
4012
4.42k
    goto yy48;
4013
75.2k
yy204:
4014
75.2k
    YYDEBUG(204, *YYCURSOR);
4015
75.2k
    yyaccept = 4;
4016
75.2k
    yych = *(YYMARKER = ++YYCURSOR);
4017
75.2k
    if (yych <= 'Y') {
4018
7.08k
      if (yych == 'A') goto yy329;
4019
4.71k
      if (yych <= 'X') goto yy48;
4020
348
      goto yy330;
4021
68.1k
    } else {
4022
68.1k
      if (yych <= 'a') {
4023
11.4k
        if (yych <= '`') goto yy48;
4024
11.0k
        goto yy329;
4025
56.6k
      } else {
4026
56.6k
        if (yych == 'y') goto yy330;
4027
12.9k
        goto yy48;
4028
56.6k
      }
4029
68.1k
    }
4030
24.7k
yy205:
4031
24.7k
    YYDEBUG(205, *YYCURSOR);
4032
24.7k
    yyaccept = 4;
4033
24.7k
    yych = *(YYMARKER = ++YYCURSOR);
4034
24.7k
    if (yych == 'S') goto yy332;
4035
24.2k
    if (yych == 's') goto yy332;
4036
5.39k
    goto yy48;
4037
16.4k
yy206:
4038
16.4k
    YYDEBUG(206, *YYCURSOR);
4039
16.4k
    yyaccept = 4;
4040
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
4041
16.4k
    if (yych == 'E') goto yy333;
4042
14.8k
    if (yych == 'e') goto yy333;
4043
1.38k
    goto yy48;
4044
115k
yy207:
4045
115k
    YYDEBUG(207, *YYCURSOR);
4046
115k
    yyaccept = 4;
4047
115k
    yych = *(YYMARKER = ++YYCURSOR);
4048
115k
    if (yych == 'R') goto yy335;
4049
114k
    if (yych == 'r') goto yy335;
4050
8.30k
    goto yy48;
4051
8.30k
yy208:
4052
7.58k
    YYDEBUG(208, *YYCURSOR);
4053
7.58k
    yyaccept = 4;
4054
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
4055
7.58k
    if (yych == 'I') goto yy337;
4056
7.06k
    if (yych == 'i') goto yy337;
4057
1.60k
    goto yy48;
4058
5.16k
yy209:
4059
5.16k
    YYDEBUG(209, *YYCURSOR);
4060
5.16k
    yyaccept = 4;
4061
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
4062
5.16k
    if (yych == 'R') goto yy338;
4063
4.64k
    if (yych == 'r') goto yy338;
4064
668
    goto yy48;
4065
96.9k
yy210:
4066
96.9k
    YYDEBUG(210, *YYCURSOR);
4067
96.9k
    yyaccept = 4;
4068
96.9k
    yych = *(YYMARKER = ++YYCURSOR);
4069
96.9k
    if (yych == 'E') goto yy340;
4070
95.2k
    if (yych == 'e') goto yy340;
4071
5.21k
    goto yy48;
4072
333k
yy211:
4073
333k
    YYDEBUG(211, *YYCURSOR);
4074
333k
    yyaccept = 13;
4075
333k
    YYMARKER = ++YYCURSOR;
4076
333k
    YYFILL(1);
4077
333k
    yych = *YYCURSOR;
4078
333k
    YYDEBUG(212, *YYCURSOR);
4079
333k
    if (yych <= '\\') {
4080
143k
      if (yych <= '@') {
4081
57.4k
        if (yych <= '/') goto yy213;
4082
29.6k
        if (yych <= '9') goto yy211;
4083
86.3k
      } else {
4084
86.3k
        if (yych <= 'Z') goto yy211;
4085
25.8k
        if (yych >= '\\') goto yy341;
4086
25.8k
      }
4087
189k
    } else {
4088
189k
      if (yych <= '`') {
4089
8.95k
        if (yych == '_') goto yy211;
4090
180k
      } else {
4091
180k
        if (yych <= 'z') goto yy211;
4092
46.5k
        if (yych >= 0x80) goto yy211;
4093
46.5k
      }
4094
189k
    }
4095
61.1k
yy213:
4096
61.1k
    YYDEBUG(213, *YYCURSOR);
4097
61.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
61.1k
#line 2447 "Zend/zend_language_scanner.l"
4099
61.1k
    {
4100
61.1k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
61.1k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
1.22k
yy214:
4104
1.22k
    YYDEBUG(214, *YYCURSOR);
4105
1.22k
    ++YYCURSOR;
4106
1.22k
    YYDEBUG(215, *YYCURSOR);
4107
1.22k
    yyleng = YYCURSOR - SCNG(yy_text);
4108
1.22k
#line 1910 "Zend/zend_language_scanner.l"
4109
1.22k
    {
4110
1.22k
  RETURN_TOKEN(T_XOR_EQUAL);
4111
1.22k
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
154k
yy216:
4114
154k
    YYDEBUG(216, *YYCURSOR);
4115
154k
    yyaccept = 4;
4116
154k
    yych = *(YYMARKER = ++YYCURSOR);
4117
154k
    switch (yych) {
4118
4.03k
    case 'C':
4119
23.7k
    case 'c': goto yy342;
4120
3.47k
    case 'D':
4121
14.4k
    case 'd': goto yy343;
4122
12.2k
    case 'F':
4123
25.3k
    case 'f': goto yy344;
4124
1.63k
    case 'H':
4125
9.11k
    case 'h': goto yy345;
4126
2.40k
    case 'L':
4127
6.31k
    case 'l': goto yy346;
4128
8.32k
    case 'M':
4129
16.4k
    case 'm': goto yy347;
4130
7.36k
    case 'N':
4131
14.5k
    case 'n': goto yy348;
4132
6.05k
    case 'P':
4133
8.19k
    case 'p': goto yy349;
4134
1.45k
    case 'T':
4135
9.46k
    case 't': goto yy350;
4136
26.6k
    default:  goto yy48;
4137
154k
    }
4138
2.46k
yy217:
4139
2.46k
    YYDEBUG(217, *YYCURSOR);
4140
2.46k
    ++YYCURSOR;
4141
2.46k
    YYDEBUG(218, *YYCURSOR);
4142
2.46k
    yyleng = YYCURSOR - SCNG(yy_text);
4143
2.46k
#line 1906 "Zend/zend_language_scanner.l"
4144
2.46k
    {
4145
2.46k
  RETURN_TOKEN(T_OR_EQUAL);
4146
2.46k
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
5.52k
yy219:
4149
5.52k
    YYDEBUG(219, *YYCURSOR);
4150
5.52k
    ++YYCURSOR;
4151
5.52k
    YYDEBUG(220, *YYCURSOR);
4152
5.52k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
5.52k
#line 1918 "Zend/zend_language_scanner.l"
4154
5.52k
    {
4155
5.52k
  RETURN_TOKEN(T_PIPE);
4156
5.52k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
9.77k
yy221:
4159
9.77k
    YYDEBUG(221, *YYCURSOR);
4160
9.77k
    ++YYCURSOR;
4161
9.77k
    YYDEBUG(222, *YYCURSOR);
4162
9.77k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
9.77k
#line 1922 "Zend/zend_language_scanner.l"
4164
9.77k
    {
4165
9.77k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
9.77k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
2.83k
yy223:
4169
2.83k
    YYDEBUG(223, *YYCURSOR);
4170
2.83k
    ++YYCURSOR;
4171
2.83k
    YYDEBUG(224, *YYCURSOR);
4172
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
2.83k
#line 1838 "Zend/zend_language_scanner.l"
4174
2.83k
    {
4175
2.83k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
2.83k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
652k
yy225:
4179
652k
    YYDEBUG(225, *YYCURSOR);
4180
652k
    ++YYCURSOR;
4181
652k
    YYFILL(1);
4182
652k
    yych = *YYCURSOR;
4183
652k
    YYDEBUG(226, *YYCURSOR);
4184
652k
    if (yybm[0+yych] & 2) {
4185
495k
      goto yy225;
4186
495k
    }
4187
156k
    if (yych <= 0x00) goto yy86;
4188
152k
    goto yy84;
4189
204k
yy227:
4190
204k
    YYDEBUG(227, *YYCURSOR);
4191
204k
    ++YYCURSOR;
4192
204k
    YYFILL(1);
4193
204k
    yych = *YYCURSOR;
4194
204k
    YYDEBUG(228, *YYCURSOR);
4195
204k
    if (yych <= 0x1F) {
4196
13.8k
      if (yych <= '\t') {
4197
3.61k
        if (yych <= 0x00) goto yy86;
4198
3.06k
        if (yych <= 0x08) goto yy225;
4199
269
        goto yy227;
4200
10.1k
      } else {
4201
10.1k
        if (yych <= '\n') goto yy84;
4202
7.82k
        if (yych == '\r') goto yy84;
4203
3.97k
        goto yy225;
4204
7.82k
      }
4205
190k
    } else {
4206
190k
      if (yych <= '$') {
4207
22.7k
        if (yych <= ' ') goto yy227;
4208
20.4k
        if (yych <= '"') goto yy225;
4209
20.0k
        if (yych <= '#') goto yy351;
4210
4.20k
        goto yy352;
4211
167k
      } else {
4212
167k
        if (yych <= '-') goto yy225;
4213
89.3k
        if (yych <= '.') goto yy353;
4214
72.7k
        if (yych <= '/') goto yy354;
4215
31.8k
        goto yy225;
4216
72.7k
      }
4217
190k
    }
4218
3.77k
yy229:
4219
3.77k
    YYDEBUG(229, *YYCURSOR);
4220
3.77k
    yych = *++YYCURSOR;
4221
3.77k
    if (yych == '.') goto yy88;
4222
853
    goto yy86;
4223
650k
yy230:
4224
650k
    YYDEBUG(230, *YYCURSOR);
4225
650k
    ++YYCURSOR;
4226
650k
    YYFILL(1);
4227
650k
    yych = *YYCURSOR;
4228
650k
    YYDEBUG(231, *YYCURSOR);
4229
650k
    if (yybm[0+yych] & 4) {
4230
610k
      goto yy230;
4231
610k
    }
4232
40.2k
    if (yych <= 0x00) goto yy86;
4233
32.1k
    goto yy355;
4234
32.1k
yy232:
4235
14.1k
    YYDEBUG(232, *YYCURSOR);
4236
14.1k
    yych = *++YYCURSOR;
4237
14.1k
    if (yych == 'R') goto yy357;
4238
13.7k
    if (yych == 'r') goto yy357;
4239
2.30k
    goto yy86;
4240
5.97k
yy233:
4241
5.97k
    YYDEBUG(233, *YYCURSOR);
4242
5.97k
    yych = *++YYCURSOR;
4243
5.97k
    if (yych == 'N') goto yy358;
4244
3.08k
    if (yych == 'n') goto yy358;
4245
1.59k
    goto yy86;
4246
5.50k
yy234:
4247
5.50k
    YYDEBUG(234, *YYCURSOR);
4248
5.50k
    yych = *++YYCURSOR;
4249
5.50k
    if (yych == 'O') goto yy359;
4250
5.13k
    if (yych == 'o') goto yy359;
4251
897
    goto yy86;
4252
3.56k
yy235:
4253
3.56k
    YYDEBUG(235, *YYCURSOR);
4254
3.56k
    yych = *++YYCURSOR;
4255
3.56k
    if (yych == 'U') goto yy360;
4256
2.86k
    if (yych == 'u') goto yy360;
4257
694
    goto yy86;
4258
4.78k
yy236:
4259
4.78k
    YYDEBUG(236, *YYCURSOR);
4260
4.78k
    yych = *++YYCURSOR;
4261
4.78k
    if (yych == 'O') goto yy361;
4262
3.15k
    if (yych == 'o') goto yy361;
4263
1.03k
    goto yy86;
4264
10.5k
yy237:
4265
10.5k
    YYDEBUG(237, *YYCURSOR);
4266
10.5k
    yych = *++YYCURSOR;
4267
10.5k
    if (yych == 'T') goto yy362;
4268
9.15k
    if (yych == 't') goto yy362;
4269
2.39k
    goto yy86;
4270
7.38k
yy238:
4271
7.38k
    YYDEBUG(238, *YYCURSOR);
4272
7.38k
    yych = *++YYCURSOR;
4273
7.38k
    if (yych == 'J') goto yy363;
4274
6.51k
    if (yych == 'j') goto yy363;
4275
1.49k
    goto yy86;
4276
6.91k
yy239:
4277
6.91k
    YYDEBUG(239, *YYCURSOR);
4278
6.91k
    yych = *++YYCURSOR;
4279
6.91k
    if (yych == 'A') goto yy364;
4280
5.18k
    if (yych == 'a') goto yy364;
4281
3.30k
    goto yy86;
4282
19.8k
yy240:
4283
19.8k
    YYDEBUG(240, *YYCURSOR);
4284
19.8k
    yych = *++YYCURSOR;
4285
19.8k
    if (yych == 'R') goto yy365;
4286
19.5k
    if (yych == 'r') goto yy365;
4287
1.60k
    goto yy86;
4288
6.42k
yy241:
4289
6.42k
    YYDEBUG(241, *YYCURSOR);
4290
6.42k
    yych = *++YYCURSOR;
4291
6.42k
    if (yych == 'S') goto yy366;
4292
6.22k
    if (yych == 's') goto yy366;
4293
1.77k
    goto yy86;
4294
2.99k
yy242:
4295
2.99k
    YYDEBUG(242, *YYCURSOR);
4296
2.99k
    yych = *++YYCURSOR;
4297
2.99k
    if (yych == 'I') goto yy367;
4298
2.53k
    if (yych == 'i') goto yy367;
4299
501
    goto yy86;
4300
501
yy243:
4301
412
    YYDEBUG(243, *YYCURSOR);
4302
412
    ++YYCURSOR;
4303
412
    YYDEBUG(244, *YYCURSOR);
4304
412
    yyleng = YYCURSOR - SCNG(yy_text);
4305
412
#line 1878 "Zend/zend_language_scanner.l"
4306
412
    {
4307
412
  RETURN_TOKEN(T_POW_EQUAL);
4308
412
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
37.5k
yy245:
4311
37.5k
    YYDEBUG(245, *YYCURSOR);
4312
37.5k
    ++YYCURSOR;
4313
37.5k
    YYDEBUG(246, *YYCURSOR);
4314
37.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
37.5k
#line 1618 "Zend/zend_language_scanner.l"
4316
37.5k
    {
4317
37.5k
  RETURN_TOKEN(T_ELLIPSIS);
4318
37.5k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
2.11k
yy247:
4321
2.11k
    YYDEBUG(247, *YYCURSOR);
4322
2.11k
    ++YYCURSOR;
4323
2.11k
    YYFILL(1);
4324
2.11k
    yych = *YYCURSOR;
4325
2.11k
    if (yych <= '/') goto yy86;
4326
1.34k
    if (yych <= '9') goto yy123;
4327
404
    goto yy86;
4328
12.0k
yy248:
4329
12.0k
    YYDEBUG(248, *YYCURSOR);
4330
12.0k
    yych = *++YYCURSOR;
4331
12.0k
    if (yych <= '\f') {
4332
6.48k
      if (yych <= 0x08) goto yy86;
4333
5.72k
      if (yych <= '\n') goto yy368;
4334
787
      goto yy86;
4335
5.72k
    } else {
4336
5.58k
      if (yych <= '\r') goto yy368;
4337
4.67k
      if (yych == ' ') goto yy368;
4338
1.44k
      goto yy86;
4339
4.67k
    }
4340
72.7k
yy249:
4341
72.7k
    YYDEBUG(249, *YYCURSOR);
4342
72.7k
    yyaccept = 14;
4343
72.7k
    YYMARKER = ++YYCURSOR;
4344
72.7k
    YYFILL(1);
4345
72.7k
    yych = *YYCURSOR;
4346
72.7k
    YYDEBUG(250, *YYCURSOR);
4347
72.7k
    if (yybm[0+yych] & 8) {
4348
65.8k
      goto yy249;
4349
65.8k
    }
4350
6.92k
    if (yych == '_') goto yy134;
4351
4.30k
yy251:
4352
4.30k
    YYDEBUG(251, *YYCURSOR);
4353
4.30k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
4.30k
#line 2011 "Zend/zend_language_scanner.l"
4355
4.30k
    {
4356
  /* The +/- 2 skips "0b" */
4357
4.30k
  size_t len = yyleng - 2;
4358
4.30k
  char *end, *bin = yytext + 2;
4359
4.30k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
8.56k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
4.26k
    ++bin;
4364
4.26k
    --len;
4365
4.26k
  }
4366
4367
4.30k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
4.30k
  if (contains_underscores) {
4370
850
    bin = estrndup(bin, len);
4371
850
    strip_underscores(bin, &len);
4372
850
  }
4373
4374
4.30k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
3.89k
    if (len == 0) {
4376
567
      ZVAL_LONG(zendlval, 0);
4377
3.32k
    } else {
4378
3.32k
      errno = 0;
4379
3.32k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
3.32k
      ZEND_ASSERT(!errno && end == bin + len);
4381
3.32k
    }
4382
3.89k
    if (contains_underscores) {
4383
741
      efree(bin);
4384
741
    }
4385
3.89k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
3.89k
  } else {
4387
411
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
411
    ZEND_ASSERT(end == bin + len);
4390
411
    if (contains_underscores) {
4391
109
      efree(bin);
4392
109
    }
4393
411
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
411
  }
4395
4.30k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
16.6k
yy252:
4398
16.6k
    YYDEBUG(252, *YYCURSOR);
4399
16.6k
    ++YYCURSOR;
4400
16.6k
    YYFILL(1);
4401
16.6k
    yych = *YYCURSOR;
4402
16.6k
    if (yych <= '/') goto yy86;
4403
15.6k
    if (yych >= ':') goto yy86;
4404
136k
yy253:
4405
136k
    YYDEBUG(253, *YYCURSOR);
4406
136k
    yyaccept = 5;
4407
136k
    YYMARKER = ++YYCURSOR;
4408
136k
    YYFILL(1);
4409
136k
    yych = *YYCURSOR;
4410
136k
    YYDEBUG(254, *YYCURSOR);
4411
136k
    if (yych <= '/') goto yy125;
4412
114k
    if (yych <= '9') goto yy253;
4413
16.6k
    if (yych == '_') goto yy252;
4414
15.5k
    goto yy125;
4415
15.5k
yy255:
4416
15.3k
    YYDEBUG(255, *YYCURSOR);
4417
15.3k
    yyaccept = 15;
4418
15.3k
    YYMARKER = ++YYCURSOR;
4419
15.3k
    YYFILL(1);
4420
15.3k
    yych = *YYCURSOR;
4421
15.3k
    YYDEBUG(256, *YYCURSOR);
4422
15.3k
    if (yybm[0+yych] & 16) {
4423
12.5k
      goto yy255;
4424
12.5k
    }
4425
2.79k
    if (yych == '_') goto yy136;
4426
2.03k
yy257:
4427
2.03k
    YYDEBUG(257, *YYCURSOR);
4428
2.03k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
2.03k
#line 2053 "Zend/zend_language_scanner.l"
4430
2.03k
    {
4431
  /* The +/- 2 skips "0o" */
4432
2.03k
  size_t len = yyleng - 2;
4433
2.03k
  char *end, *octal = yytext + 2;
4434
2.03k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
4.23k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
2.20k
    ++octal;
4439
2.20k
    --len;
4440
2.20k
  }
4441
4442
2.03k
  if (len == 0) {
4443
544
    ZVAL_LONG(zendlval, 0);
4444
544
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
544
  }
4446
4447
1.49k
  if (contains_underscores) {
4448
563
    octal = estrndup(octal, len);
4449
563
    strip_underscores(octal, &len);
4450
563
  }
4451
4452
1.49k
  errno = 0;
4453
4454
1.49k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
1.49k
  ZEND_ASSERT(end == octal + len);
4457
4458
1.49k
  if (!errno) {
4459
1.06k
    if (contains_underscores) {
4460
362
      efree(octal);
4461
362
    }
4462
1.06k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
1.06k
  }
4464
4465
  /* Overflow */
4466
428
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
428
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
428
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
428
  ZEND_ASSERT(!errno);
4473
428
  ZEND_ASSERT(end == octal + len);
4474
428
  if (contains_underscores) {
4475
201
    efree(octal);
4476
201
  }
4477
428
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
428
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
48.0k
yy258:
4481
48.0k
    YYDEBUG(258, *YYCURSOR);
4482
48.0k
    yyaccept = 16;
4483
48.0k
    YYMARKER = ++YYCURSOR;
4484
48.0k
    YYFILL(1);
4485
48.0k
    yych = *YYCURSOR;
4486
48.0k
    YYDEBUG(259, *YYCURSOR);
4487
48.0k
    if (yybm[0+yych] & 32) {
4488
39.5k
      goto yy258;
4489
39.5k
    }
4490
8.53k
    if (yych == '_') goto yy137;
4491
6.91k
yy260:
4492
6.91k
    YYDEBUG(260, *YYCURSOR);
4493
6.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
6.91k
#line 2166 "Zend/zend_language_scanner.l"
4495
6.91k
    {
4496
  /* The +/- 2 skips "0x" */
4497
6.91k
  size_t len = yyleng - 2;
4498
6.91k
  char *end, *hex = yytext + 2;
4499
6.91k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
9.89k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
2.97k
    ++hex;
4504
2.97k
    --len;
4505
2.97k
  }
4506
4507
6.91k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
6.91k
  if (contains_underscores) {
4510
1.22k
    hex = estrndup(hex, len);
4511
1.22k
    strip_underscores(hex, &len);
4512
1.22k
  }
4513
4514
6.91k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
5.85k
    if (len == 0) {
4516
944
      ZVAL_LONG(zendlval, 0);
4517
4.91k
    } else {
4518
4.91k
      errno = 0;
4519
4.91k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
4.91k
      ZEND_ASSERT(!errno && end == hex + len);
4521
4.91k
    }
4522
5.85k
    if (contains_underscores) {
4523
766
      efree(hex);
4524
766
    }
4525
5.85k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
5.85k
  } else {
4527
1.05k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
1.05k
    ZEND_ASSERT(end == hex + len);
4530
1.05k
    if (contains_underscores) {
4531
457
      efree(hex);
4532
457
    }
4533
1.05k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
1.05k
  }
4535
6.91k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
3.80M
yy261:
4538
3.80M
    YYDEBUG(261, *YYCURSOR);
4539
3.80M
    ++YYCURSOR;
4540
3.80M
    YYFILL(2);
4541
3.80M
    yych = *YYCURSOR;
4542
3.80M
    YYDEBUG(262, *YYCURSOR);
4543
3.80M
    if (yych <= '\'') {
4544
69.9k
      if (yych <= ' ') {
4545
45.9k
        if (yych == '\t') goto yy261;
4546
32.4k
        if (yych <= 0x1F) goto yy86;
4547
10.9k
        goto yy261;
4548
32.4k
      } else {
4549
24.0k
        if (yych == '"') goto yy370;
4550
18.3k
        if (yych <= '&') goto yy86;
4551
11.6k
        goto yy371;
4552
18.3k
      }
4553
3.73M
    } else {
4554
3.73M
      if (yych <= '_') {
4555
676k
        if (yych <= '@') goto yy86;
4556
602k
        if (yych <= 'Z') goto yy372;
4557
9.11k
        if (yych <= '^') goto yy86;
4558
7.80k
        goto yy372;
4559
3.05M
      } else {
4560
3.05M
        if (yych <= '`') goto yy86;
4561
3.05M
        if (yych <= 'z') goto yy372;
4562
2.23M
        if (yych <= 0x7F) goto yy86;
4563
2.22M
        goto yy372;
4564
2.23M
      }
4565
3.73M
    }
4566
4.32k
yy263:
4567
4.32k
    YYDEBUG(263, *YYCURSOR);
4568
4.32k
    ++YYCURSOR;
4569
4.32k
    YYDEBUG(264, *YYCURSOR);
4570
4.32k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
4.32k
#line 1894 "Zend/zend_language_scanner.l"
4572
4.32k
    {
4573
4.32k
  RETURN_TOKEN(T_SL_EQUAL);
4574
4.32k
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
774
yy265:
4577
774
    YYDEBUG(265, *YYCURSOR);
4578
774
    ++YYCURSOR;
4579
774
    YYDEBUG(266, *YYCURSOR);
4580
774
    yyleng = YYCURSOR - SCNG(yy_text);
4581
774
#line 1850 "Zend/zend_language_scanner.l"
4582
774
    {
4583
774
  RETURN_TOKEN(T_SPACESHIP);
4584
774
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
14.4k
yy267:
4587
14.4k
    YYDEBUG(267, *YYCURSOR);
4588
14.4k
    ++YYCURSOR;
4589
14.4k
    YYDEBUG(268, *YYCURSOR);
4590
14.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
14.4k
#line 1834 "Zend/zend_language_scanner.l"
4592
14.4k
    {
4593
14.4k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
14.4k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
1.38k
yy269:
4597
1.38k
    YYDEBUG(269, *YYCURSOR);
4598
1.38k
    ++YYCURSOR;
4599
1.38k
    YYDEBUG(270, *YYCURSOR);
4600
1.38k
    yyleng = YYCURSOR - SCNG(yy_text);
4601
1.38k
#line 1898 "Zend/zend_language_scanner.l"
4602
1.38k
    {
4603
1.38k
  RETURN_TOKEN(T_SR_EQUAL);
4604
1.38k
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
38.2k
yy271:
4607
38.2k
    YYDEBUG(271, *YYCURSOR);
4608
38.2k
    ++YYCURSOR;
4609
38.2k
    YYDEBUG(272, *YYCURSOR);
4610
38.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
38.2k
#line 1592 "Zend/zend_language_scanner.l"
4612
38.2k
    {
4613
38.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
38.2k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
38.2k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
10.3k
yy273:
4618
10.3k
    YYDEBUG(273, *YYCURSOR);
4619
10.3k
    ++YYCURSOR;
4620
10.3k
    goto yy156;
4621
1.16k
yy274:
4622
1.16k
    YYDEBUG(274, *YYCURSOR);
4623
1.16k
    yych = *++YYCURSOR;
4624
1.16k
    if (yych == '\n') goto yy273;
4625
797
    goto yy156;
4626
9.31k
yy275:
4627
9.31k
    YYDEBUG(275, *YYCURSOR);
4628
9.31k
    ++YYCURSOR;
4629
9.31k
    YYDEBUG(276, *YYCURSOR);
4630
9.31k
    yyleng = YYCURSOR - SCNG(yy_text);
4631
9.31k
#line 1914 "Zend/zend_language_scanner.l"
4632
9.31k
    {
4633
9.31k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
9.31k
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
10.4k
yy277:
4637
10.4k
    YYDEBUG(277, *YYCURSOR);
4638
10.4k
    yyaccept = 4;
4639
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
4640
10.4k
    if (yych == 'T') goto yy374;
4641
8.29k
    if (yych == 't') goto yy374;
4642
583
    goto yy48;
4643
6.23k
yy278:
4644
6.23k
    YYDEBUG(278, *YYCURSOR);
4645
6.23k
    yyaccept = 17;
4646
6.23k
    yych = *(YYMARKER = ++YYCURSOR);
4647
6.23k
    if (yybm[256+yych] & 128) {
4648
382
      goto yy47;
4649
382
    }
4650
5.85k
    if (yych == '\\') goto yy164;
4651
5.83k
yy279:
4652
5.83k
    YYDEBUG(279, *YYCURSOR);
4653
5.83k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
5.83k
#line 1934 "Zend/zend_language_scanner.l"
4655
5.83k
    {
4656
5.83k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
5.83k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
30.3k
yy280:
4660
30.3k
    YYDEBUG(280, *YYCURSOR);
4661
30.3k
    yyaccept = 4;
4662
30.3k
    yych = *(YYMARKER = ++YYCURSOR);
4663
30.3k
    if (yych == 'A') goto yy375;
4664
30.0k
    if (yych == 'a') goto yy375;
4665
2.37k
    goto yy48;
4666
170k
yy281:
4667
170k
    YYDEBUG(281, *YYCURSOR);
4668
170k
    yyaccept = 18;
4669
170k
    YYMARKER = ++YYCURSOR;
4670
170k
    YYFILL(1);
4671
170k
    yych = *YYCURSOR;
4672
170k
    YYDEBUG(282, *YYCURSOR);
4673
170k
    if (yych <= '\\') {
4674
66.3k
      if (yych <= '@') {
4675
43.3k
        if (yych <= '/') goto yy283;
4676
21.7k
        if (yych <= '9') goto yy281;
4677
23.0k
      } else {
4678
23.0k
        if (yych <= 'Z') goto yy281;
4679
11.3k
        if (yych >= '\\') goto yy164;
4680
11.3k
      }
4681
103k
    } else {
4682
103k
      if (yych <= '`') {
4683
5.52k
        if (yych == '_') goto yy281;
4684
98.1k
      } else {
4685
98.1k
        if (yych <= 'z') goto yy281;
4686
45.1k
        if (yych >= 0x80) goto yy281;
4687
45.1k
      }
4688
103k
    }
4689
33.8k
yy283:
4690
33.8k
    YYDEBUG(283, *YYCURSOR);
4691
33.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
33.8k
#line 2443 "Zend/zend_language_scanner.l"
4693
33.8k
    {
4694
33.8k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
33.8k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
5.16k
yy284:
4698
5.16k
    YYDEBUG(284, *YYCURSOR);
4699
5.16k
    yych = *++YYCURSOR;
4700
5.16k
    if (yych == '<') goto yy261;
4701
1.50k
    goto yy86;
4702
4.39k
yy285:
4703
4.39k
    YYDEBUG(285, *YYCURSOR);
4704
4.39k
    yyaccept = 4;
4705
4.39k
    yych = *(YYMARKER = ++YYCURSOR);
4706
4.39k
    if (yych == 'A') goto yy376;
4707
4.14k
    if (yych == 'a') goto yy376;
4708
1.06k
    goto yy48;
4709
20.5k
yy286:
4710
20.5k
    YYDEBUG(286, *YYCURSOR);
4711
20.5k
    yyaccept = 4;
4712
20.5k
    yych = *(YYMARKER = ++YYCURSOR);
4713
20.5k
    if (yych == 'L') goto yy377;
4714
18.5k
    if (yych == 'l') goto yy377;
4715
2.07k
    goto yy48;
4716
11.7k
yy287:
4717
11.7k
    YYDEBUG(287, *YYCURSOR);
4718
11.7k
    yyaccept = 4;
4719
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
4720
11.7k
    if (yych == 'E') goto yy378;
4721
10.5k
    if (yych == 'e') goto yy378;
4722
2.31k
    goto yy48;
4723
41.2k
yy288:
4724
41.2k
    YYDEBUG(288, *YYCURSOR);
4725
41.2k
    yyaccept = 4;
4726
41.2k
    yych = *(YYMARKER = ++YYCURSOR);
4727
41.2k
    if (yych == 'C') goto yy380;
4728
40.5k
    if (yych == 'c') goto yy380;
4729
1.97k
    goto yy48;
4730
85.4k
yy289:
4731
85.4k
    YYDEBUG(289, *YYCURSOR);
4732
85.4k
    yyaccept = 4;
4733
85.4k
    yych = *(YYMARKER = ++YYCURSOR);
4734
85.4k
    if (yych == 'S') goto yy381;
4735
83.4k
    if (yych == 's') goto yy381;
4736
2.94k
    goto yy48;
4737
8.37k
yy290:
4738
8.37k
    YYDEBUG(290, *YYCURSOR);
4739
8.37k
    yyaccept = 4;
4740
8.37k
    yych = *(YYMARKER = ++YYCURSOR);
4741
8.37k
    if (yych == 'N') goto yy382;
4742
8.06k
    if (yych == 'n') goto yy382;
4743
3.86k
    goto yy48;
4744
46.0k
yy291:
4745
46.0k
    YYDEBUG(291, *YYCURSOR);
4746
46.0k
    yyaccept = 4;
4747
46.0k
    yych = *(YYMARKER = ++YYCURSOR);
4748
46.0k
    if (yych <= 'T') {
4749
7.07k
      if (yych <= 'R') goto yy48;
4750
5.34k
      if (yych <= 'S') goto yy383;
4751
2.33k
      goto yy384;
4752
38.9k
    } else {
4753
38.9k
      if (yych <= 'r') goto yy48;
4754
38.2k
      if (yych <= 's') goto yy383;
4755
6.79k
      if (yych <= 't') goto yy384;
4756
535
      goto yy48;
4757
6.79k
    }
4758
9.81k
yy292:
4759
9.81k
    YYDEBUG(292, *YYCURSOR);
4760
9.81k
    yyaccept = 4;
4761
9.81k
    yych = *(YYMARKER = ++YYCURSOR);
4762
9.81k
    if (yych == 'L') goto yy385;
4763
8.68k
    if (yych == 'l') goto yy385;
4764
478
    goto yy48;
4765
9.55k
yy293:
4766
9.55k
    YYDEBUG(293, *YYCURSOR);
4767
9.55k
    yyaccept = 4;
4768
9.55k
    yych = *(YYMARKER = ++YYCURSOR);
4769
9.55k
    if (yych == 'A') goto yy386;
4770
9.19k
    if (yych == 'a') goto yy386;
4771
4.89k
    goto yy48;
4772
9.17k
yy294:
4773
9.17k
    YYDEBUG(294, *YYCURSOR);
4774
9.17k
    yyaccept = 19;
4775
9.17k
    yych = *(YYMARKER = ++YYCURSOR);
4776
9.17k
    if (yybm[256+yych] & 128) {
4777
1.37k
      goto yy47;
4778
1.37k
    }
4779
7.80k
    if (yych == '\\') goto yy164;
4780
7.79k
yy295:
4781
7.79k
    YYDEBUG(295, *YYCURSOR);
4782
7.79k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
7.79k
#line 1403 "Zend/zend_language_scanner.l"
4784
7.79k
    {
4785
7.79k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
7.79k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
82.9k
yy296:
4789
82.9k
    YYDEBUG(296, *YYCURSOR);
4790
82.9k
    yyaccept = 4;
4791
82.9k
    yych = *(YYMARKER = ++YYCURSOR);
4792
82.9k
    if (yych == 'O') goto yy387;
4793
82.2k
    if (yych == 'o') goto yy387;
4794
2.47k
    goto yy48;
4795
15.7k
yy297:
4796
15.7k
    YYDEBUG(297, *YYCURSOR);
4797
15.7k
    yyaccept = 4;
4798
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
4799
15.7k
    if (yych == 'E') goto yy389;
4800
15.0k
    if (yych == 'e') goto yy389;
4801
2.41k
    goto yy48;
4802
6.30k
yy298:
4803
6.30k
    YYDEBUG(298, *YYCURSOR);
4804
6.30k
    yyaccept = 4;
4805
6.30k
    yych = *(YYMARKER = ++YYCURSOR);
4806
6.30k
    if (yych == 'T') goto yy391;
4807
5.03k
    if (yych == 't') goto yy391;
4808
1.38k
    goto yy48;
4809
55.1k
yy299:
4810
55.1k
    YYDEBUG(299, *YYCURSOR);
4811
55.1k
    yyaccept = 4;
4812
55.1k
    yych = *(YYMARKER = ++YYCURSOR);
4813
55.1k
    switch (yych) {
4814
2.16k
    case 'D':
4815
7.73k
    case 'd': goto yy392;
4816
3.54k
    case 'F':
4817
12.6k
    case 'f': goto yy393;
4818
3.34k
    case 'I':
4819
7.49k
    case 'i': goto yy394;
4820
828
    case 'S':
4821
7.83k
    case 's': goto yy395;
4822
4.83k
    case 'W':
4823
11.3k
    case 'w': goto yy396;
4824
8.03k
    default:  goto yy48;
4825
55.1k
    }
4826
174k
yy300:
4827
174k
    YYDEBUG(300, *YYCURSOR);
4828
174k
    yyaccept = 4;
4829
174k
    yych = *(YYMARKER = ++YYCURSOR);
4830
174k
    if (yych == 'M') goto yy397;
4831
169k
    if (yych == 'm') goto yy397;
4832
16.4k
    goto yy48;
4833
16.4k
yy301:
4834
6.88k
    YYDEBUG(301, *YYCURSOR);
4835
6.88k
    yyaccept = 4;
4836
6.88k
    yych = *(YYMARKER = ++YYCURSOR);
4837
6.88k
    if (yych == 'L') goto yy398;
4838
6.37k
    if (yych == 'l') goto yy398;
4839
1.27k
    goto yy48;
4840
3.43k
yy302:
4841
3.43k
    YYDEBUG(302, *YYCURSOR);
4842
3.43k
    yyaccept = 4;
4843
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
4844
3.43k
    if (yych == 'T') goto yy400;
4845
3.06k
    if (yych == 't') goto yy400;
4846
897
    goto yy48;
4847
24.8k
yy303:
4848
24.8k
    YYDEBUG(303, *YYCURSOR);
4849
24.8k
    yyaccept = 4;
4850
24.8k
    yych = *(YYMARKER = ++YYCURSOR);
4851
24.8k
    if (yych == 'E') goto yy402;
4852
24.1k
    if (yych == 'e') goto yy402;
4853
3.26k
    goto yy48;
4854
15.8k
yy304:
4855
15.8k
    YYDEBUG(304, *YYCURSOR);
4856
15.8k
    yyaccept = 4;
4857
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
4858
15.8k
    if (yych == 'A') goto yy403;
4859
14.0k
    if (yych == 'a') goto yy403;
4860
1.32k
    goto yy48;
4861
69.7k
yy305:
4862
69.7k
    YYDEBUG(305, *YYCURSOR);
4863
69.7k
    yyaccept = 20;
4864
69.7k
    yych = *(YYMARKER = ++YYCURSOR);
4865
69.7k
    if (yych <= '\\') {
4866
37.0k
      if (yych <= 'D') {
4867
34.8k
        if (yych <= '/') goto yy306;
4868
2.74k
        if (yych <= '9') goto yy47;
4869
2.02k
        if (yych >= 'A') goto yy47;
4870
2.28k
      } else {
4871
2.28k
        if (yych <= 'E') goto yy404;
4872
1.47k
        if (yych <= 'Z') goto yy47;
4873
775
        if (yych >= '\\') goto yy164;
4874
775
      }
4875
37.0k
    } else {
4876
32.6k
      if (yych <= 'd') {
4877
1.34k
        if (yych == '_') goto yy47;
4878
1.12k
        if (yych >= 'a') goto yy47;
4879
31.3k
      } else {
4880
31.3k
        if (yych <= 'e') goto yy404;
4881
2.87k
        if (yych <= 'z') goto yy47;
4882
1.14k
        if (yych >= 0x80) goto yy47;
4883
1.14k
      }
4884
32.6k
    }
4885
35.6k
yy306:
4886
35.6k
    YYDEBUG(306, *YYCURSOR);
4887
35.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
35.6k
#line 1482 "Zend/zend_language_scanner.l"
4889
35.6k
    {
4890
35.6k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
35.6k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
118k
yy307:
4894
118k
    YYDEBUG(307, *YYCURSOR);
4895
118k
    yyaccept = 4;
4896
118k
    yych = *(YYMARKER = ++YYCURSOR);
4897
118k
    if (yych == 'C') goto yy405;
4898
117k
    if (yych == 'c') goto yy405;
4899
2.80k
    goto yy48;
4900
8.75k
yy308:
4901
8.75k
    YYDEBUG(308, *YYCURSOR);
4902
8.75k
    yyaccept = 4;
4903
8.75k
    yych = *(YYMARKER = ++YYCURSOR);
4904
8.75k
    if (yych == 'B') goto yy406;
4905
5.67k
    if (yych == 'b') goto yy406;
4906
1.35k
    goto yy48;
4907
6.54k
yy309:
4908
6.54k
    YYDEBUG(309, *YYCURSOR);
4909
6.54k
    yyaccept = 4;
4910
6.54k
    yych = *(YYMARKER = ++YYCURSOR);
4911
6.54k
    if (yych == 'O') goto yy407;
4912
5.26k
    if (yych == 'o') goto yy407;
4913
1.49k
    goto yy48;
4914
32.9k
yy310:
4915
32.9k
    YYDEBUG(310, *YYCURSOR);
4916
32.9k
    yyaccept = 4;
4917
32.9k
    yych = *(YYMARKER = ++YYCURSOR);
4918
32.9k
    if (yych == 'L') goto yy409;
4919
27.6k
    if (yych == 'l') goto yy409;
4920
3.59k
    goto yy48;
4921
13.7k
yy311:
4922
13.7k
    YYDEBUG(311, *YYCURSOR);
4923
13.7k
    yyaccept = 4;
4924
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
4925
13.7k
    if (yych == 'L') goto yy410;
4926
11.9k
    if (yych == 'l') goto yy410;
4927
2.27k
    goto yy48;
4928
17.4k
yy312:
4929
17.4k
    YYDEBUG(312, *YYCURSOR);
4930
17.4k
    yyaccept = 4;
4931
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
4932
17.4k
    if (yych == 'T') goto yy411;
4933
15.8k
    if (yych == 't') goto yy411;
4934
769
    goto yy48;
4935
29.7k
yy313:
4936
29.7k
    YYDEBUG(313, *YYCURSOR);
4937
29.7k
    yyaccept = 4;
4938
29.7k
    yych = *(YYMARKER = ++YYCURSOR);
4939
29.7k
    if (yych == 'E') goto yy412;
4940
29.1k
    if (yych == 'e') goto yy412;
4941
14.6k
    goto yy48;
4942
19.2k
yy314:
4943
19.2k
    YYDEBUG(314, *YYCURSOR);
4944
19.2k
    yyaccept = 4;
4945
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
4946
19.2k
    if (yych == 'E') goto yy413;
4947
18.7k
    if (yych == 'e') goto yy413;
4948
440
    goto yy48;
4949
8.09k
yy315:
4950
8.09k
    YYDEBUG(315, *YYCURSOR);
4951
8.09k
    yyaccept = 4;
4952
8.09k
    yych = *(YYMARKER = ++YYCURSOR);
4953
8.09k
    if (yych == 'T') goto yy414;
4954
6.77k
    if (yych == 't') goto yy414;
4955
1.10k
    goto yy48;
4956
4.60k
yy316:
4957
4.60k
    YYDEBUG(316, *YYCURSOR);
4958
4.60k
    yyaccept = 4;
4959
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
4960
4.60k
    if (yych == 'C') goto yy416;
4961
4.18k
    if (yych == 'c') goto yy416;
4962
400
    goto yy48;
4963
41.1k
yy317:
4964
41.1k
    YYDEBUG(317, *YYCURSOR);
4965
41.1k
    yyaccept = 4;
4966
41.1k
    yych = *(YYMARKER = ++YYCURSOR);
4967
41.1k
    if (yych == 'E') goto yy417;
4968
38.1k
    if (yych == 'e') goto yy417;
4969
3.34k
    goto yy48;
4970
88.0k
yy318:
4971
88.0k
    YYDEBUG(318, *YYCURSOR);
4972
88.0k
    yyaccept = 21;
4973
88.0k
    yych = *(YYMARKER = ++YYCURSOR);
4974
88.0k
    if (yybm[256+yych] & 128) {
4975
1.47k
      goto yy47;
4976
1.47k
    }
4977
86.5k
    if (yych == '\\') goto yy164;
4978
86.5k
yy319:
4979
86.5k
    YYDEBUG(319, *YYCURSOR);
4980
86.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
86.5k
#line 1626 "Zend/zend_language_scanner.l"
4982
86.5k
    {
4983
86.5k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
86.5k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
39.2k
yy320:
4987
39.2k
    YYDEBUG(320, *YYCURSOR);
4988
39.2k
    yyaccept = 4;
4989
39.2k
    yych = *(YYMARKER = ++YYCURSOR);
4990
39.2k
    if (yych <= 'V') {
4991
2.97k
      if (yych == 'N') goto yy418;
4992
1.94k
      if (yych <= 'U') goto yy48;
4993
1.15k
      goto yy419;
4994
36.3k
    } else {
4995
36.3k
      if (yych <= 'n') {
4996
21.0k
        if (yych <= 'm') goto yy48;
4997
15.5k
        goto yy418;
4998
21.0k
      } else {
4999
15.2k
        if (yych == 'v') goto yy419;
5000
766
        goto yy48;
5001
15.2k
      }
5002
36.3k
    }
5003
17.8k
yy321:
5004
17.8k
    YYDEBUG(321, *YYCURSOR);
5005
17.8k
    yyaccept = 4;
5006
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
5007
17.8k
    if (yych == 'T') goto yy420;
5008
16.1k
    if (yych == 't') goto yy420;
5009
2.22k
    goto yy48;
5010
73.2k
yy322:
5011
73.2k
    YYDEBUG(322, *YYCURSOR);
5012
73.2k
    yyaccept = 4;
5013
73.2k
    yych = *(YYMARKER = ++YYCURSOR);
5014
73.2k
    if (yych == 'L') goto yy421;
5015
72.0k
    if (yych == 'l') goto yy421;
5016
2.49k
    goto yy48;
5017
12.7k
yy323:
5018
12.7k
    YYDEBUG(323, *YYCURSOR);
5019
12.7k
    yyaccept = 4;
5020
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5021
12.7k
    if (yych == 'D') goto yy422;
5022
12.5k
    if (yych == 'd') goto yy422;
5023
4.49k
    goto yy48;
5024
28.3k
yy324:
5025
28.3k
    YYDEBUG(324, *YYCURSOR);
5026
28.3k
    yyaccept = 4;
5027
28.3k
    yych = *(YYMARKER = ++YYCURSOR);
5028
28.3k
    if (yych == 'U') goto yy423;
5029
27.8k
    if (yych == 'u') goto yy423;
5030
4.81k
    goto yy48;
5031
27.9k
yy325:
5032
27.9k
    YYDEBUG(325, *YYCURSOR);
5033
27.9k
    yyaccept = 4;
5034
27.9k
    yych = *(YYMARKER = ++YYCURSOR);
5035
27.9k
    if (yych == 'U') goto yy424;
5036
27.5k
    if (yych == 'u') goto yy424;
5037
722
    goto yy48;
5038
24.2k
yy326:
5039
24.2k
    YYDEBUG(326, *YYCURSOR);
5040
24.2k
    yyaccept = 4;
5041
24.2k
    yych = *(YYMARKER = ++YYCURSOR);
5042
24.2k
    if (yych == 'T') goto yy425;
5043
23.7k
    if (yych == 't') goto yy425;
5044
1.74k
    goto yy48;
5045
9.14k
yy327:
5046
9.14k
    YYDEBUG(327, *YYCURSOR);
5047
9.14k
    yyaccept = 4;
5048
9.14k
    yych = *(YYMARKER = ++YYCURSOR);
5049
9.14k
    if (yych == 'T') goto yy426;
5050
8.82k
    if (yych == 't') goto yy426;
5051
618
    goto yy48;
5052
12.9k
yy328:
5053
12.9k
    YYDEBUG(328, *YYCURSOR);
5054
12.9k
    yyaccept = 4;
5055
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
5056
12.9k
    if (yych == 'O') goto yy427;
5057
11.9k
    if (yych == 'o') goto yy427;
5058
1.05k
    goto yy48;
5059
13.3k
yy329:
5060
13.3k
    YYDEBUG(329, *YYCURSOR);
5061
13.3k
    yyaccept = 4;
5062
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
5063
13.3k
    if (yych == 'I') goto yy428;
5064
11.5k
    if (yych == 'i') goto yy428;
5065
2.00k
    goto yy48;
5066
44.0k
yy330:
5067
44.0k
    YYDEBUG(330, *YYCURSOR);
5068
44.0k
    yyaccept = 22;
5069
44.0k
    yych = *(YYMARKER = ++YYCURSOR);
5070
44.0k
    if (yybm[256+yych] & 128) {
5071
1.24k
      goto yy47;
5072
1.24k
    }
5073
42.8k
    if (yych == '\\') goto yy164;
5074
42.7k
yy331:
5075
42.7k
    YYDEBUG(331, *YYCURSOR);
5076
42.7k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
42.7k
#line 1438 "Zend/zend_language_scanner.l"
5078
42.7k
    {
5079
42.7k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
42.7k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
19.3k
yy332:
5083
19.3k
    YYDEBUG(332, *YYCURSOR);
5084
19.3k
    yyaccept = 4;
5085
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
5086
19.3k
    if (yych == 'E') goto yy429;
5087
18.4k
    if (yych == 'e') goto yy429;
5088
2.56k
    goto yy48;
5089
15.0k
yy333:
5090
15.0k
    YYDEBUG(333, *YYCURSOR);
5091
15.0k
    yyaccept = 23;
5092
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
5093
15.0k
    if (yybm[256+yych] & 128) {
5094
2.19k
      goto yy47;
5095
2.19k
    }
5096
12.8k
    if (yych == '\\') goto yy164;
5097
12.5k
yy334:
5098
12.5k
    YYDEBUG(334, *YYCURSOR);
5099
12.5k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
12.5k
#line 1742 "Zend/zend_language_scanner.l"
5101
12.5k
    {
5102
12.5k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
12.5k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
106k
yy335:
5106
106k
    YYDEBUG(335, *YYCURSOR);
5107
106k
    yyaccept = 24;
5108
106k
    yych = *(YYMARKER = ++YYCURSOR);
5109
106k
    if (yybm[256+yych] & 128) {
5110
102k
      goto yy47;
5111
102k
    }
5112
3.95k
    if (yych == '\\') goto yy164;
5113
3.84k
yy336:
5114
3.84k
    YYDEBUG(336, *YYCURSOR);
5115
3.84k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
3.84k
#line 1634 "Zend/zend_language_scanner.l"
5117
3.84k
    {
5118
3.84k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
3.84k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
5.97k
yy337:
5122
5.97k
    YYDEBUG(337, *YYCURSOR);
5123
5.97k
    yyaccept = 4;
5124
5.97k
    yych = *(YYMARKER = ++YYCURSOR);
5125
5.97k
    if (yych == 'L') goto yy430;
5126
5.22k
    if (yych == 'l') goto yy430;
5127
644
    goto yy48;
5128
4.49k
yy338:
5129
4.49k
    YYDEBUG(338, *YYCURSOR);
5130
4.49k
    yyaccept = 25;
5131
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
5132
4.49k
    if (yybm[256+yych] & 128) {
5133
228
      goto yy47;
5134
228
    }
5135
4.27k
    if (yych == '\\') goto yy164;
5136
4.25k
yy339:
5137
4.25k
    YYDEBUG(339, *YYCURSOR);
5138
4.25k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
4.25k
#line 1938 "Zend/zend_language_scanner.l"
5140
4.25k
    {
5141
4.25k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
4.25k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
91.7k
yy340:
5145
91.7k
    YYDEBUG(340, *YYCURSOR);
5146
91.7k
    yyaccept = 4;
5147
91.7k
    yych = *(YYMARKER = ++YYCURSOR);
5148
91.7k
    if (yych == 'L') goto yy431;
5149
89.1k
    if (yych == 'l') goto yy431;
5150
4.41k
    goto yy48;
5151
24.5k
yy341:
5152
24.5k
    YYDEBUG(341, *YYCURSOR);
5153
24.5k
    ++YYCURSOR;
5154
24.5k
    YYFILL(1);
5155
24.5k
    yych = *YYCURSOR;
5156
24.5k
    if (yych <= '_') {
5157
21.0k
      if (yych <= '@') goto yy86;
5158
17.5k
      if (yych <= 'Z') goto yy211;
5159
3.79k
      if (yych <= '^') goto yy86;
5160
701
      goto yy211;
5161
3.79k
    } else {
5162
3.44k
      if (yych <= '`') goto yy86;
5163
3.19k
      if (yych <= 'z') goto yy211;
5164
1.65k
      if (yych <= 0x7F) goto yy86;
5165
1.20k
      goto yy211;
5166
1.65k
    }
5167
23.7k
yy342:
5168
23.7k
    YYDEBUG(342, *YYCURSOR);
5169
23.7k
    yyaccept = 4;
5170
23.7k
    yych = *(YYMARKER = ++YYCURSOR);
5171
23.7k
    if (yych == 'L') goto yy432;
5172
20.9k
    if (yych == 'l') goto yy432;
5173
10.2k
    goto yy48;
5174
14.4k
yy343:
5175
14.4k
    YYDEBUG(343, *YYCURSOR);
5176
14.4k
    yyaccept = 4;
5177
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
5178
14.4k
    if (yych == 'I') goto yy433;
5179
11.4k
    if (yych == 'i') goto yy433;
5180
6.38k
    goto yy48;
5181
25.3k
yy344:
5182
25.3k
    YYDEBUG(344, *YYCURSOR);
5183
25.3k
    yyaccept = 4;
5184
25.3k
    yych = *(YYMARKER = ++YYCURSOR);
5185
25.3k
    if (yych <= 'U') {
5186
12.8k
      if (yych == 'I') goto yy434;
5187
4.75k
      if (yych <= 'T') goto yy48;
5188
3.70k
      goto yy435;
5189
12.5k
    } else {
5190
12.5k
      if (yych <= 'i') {
5191
3.95k
        if (yych <= 'h') goto yy48;
5192
3.40k
        goto yy434;
5193
8.54k
      } else {
5194
8.54k
        if (yych == 'u') goto yy435;
5195
1.45k
        goto yy48;
5196
8.54k
      }
5197
12.5k
    }
5198
9.11k
yy345:
5199
9.11k
    YYDEBUG(345, *YYCURSOR);
5200
9.11k
    yyaccept = 4;
5201
9.11k
    yych = *(YYMARKER = ++YYCURSOR);
5202
9.11k
    if (yych == 'A') goto yy436;
5203
7.69k
    if (yych == 'a') goto yy436;
5204
454
    goto yy48;
5205
6.31k
yy346:
5206
6.31k
    YYDEBUG(346, *YYCURSOR);
5207
6.31k
    yyaccept = 4;
5208
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
5209
6.31k
    if (yych == 'I') goto yy437;
5210
4.60k
    if (yych == 'i') goto yy437;
5211
1.27k
    goto yy48;
5212
16.4k
yy347:
5213
16.4k
    YYDEBUG(347, *YYCURSOR);
5214
16.4k
    yyaccept = 4;
5215
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
5216
16.4k
    if (yych == 'E') goto yy438;
5217
8.75k
    if (yych == 'e') goto yy438;
5218
803
    goto yy48;
5219
14.5k
yy348:
5220
14.5k
    YYDEBUG(348, *YYCURSOR);
5221
14.5k
    yyaccept = 4;
5222
14.5k
    yych = *(YYMARKER = ++YYCURSOR);
5223
14.5k
    if (yych == 'A') goto yy439;
5224
9.31k
    if (yych == 'a') goto yy439;
5225
2.39k
    goto yy48;
5226
8.19k
yy349:
5227
8.19k
    YYDEBUG(349, *YYCURSOR);
5228
8.19k
    yyaccept = 4;
5229
8.19k
    yych = *(YYMARKER = ++YYCURSOR);
5230
8.19k
    if (yych == 'R') goto yy440;
5231
2.10k
    if (yych == 'r') goto yy440;
5232
1.42k
    goto yy48;
5233
9.46k
yy350:
5234
9.46k
    YYDEBUG(350, *YYCURSOR);
5235
9.46k
    yyaccept = 4;
5236
9.46k
    yych = *(YYMARKER = ++YYCURSOR);
5237
9.46k
    if (yych == 'R') goto yy441;
5238
8.19k
    if (yych == 'r') goto yy441;
5239
2.06k
    goto yy48;
5240
15.8k
yy351:
5241
15.8k
    YYDEBUG(351, *YYCURSOR);
5242
15.8k
    ++YYCURSOR;
5243
15.8k
    YYFILL(1);
5244
15.8k
    yych = *YYCURSOR;
5245
15.8k
    if (yybm[0+yych] & 2) {
5246
1.23k
      goto yy225;
5247
1.23k
    }
5248
14.6k
    if (yych <= 0x00) goto yy86;
5249
14.0k
    goto yy227;
5250
14.0k
yy352:
5251
6.43k
    YYDEBUG(352, *YYCURSOR);
5252
6.43k
    yyaccept = 26;
5253
6.43k
    YYMARKER = ++YYCURSOR;
5254
6.43k
    YYFILL(1);
5255
6.43k
    yych = *YYCURSOR;
5256
6.43k
    if (yybm[0+yych] & 2) {
5257
4.77k
      goto yy225;
5258
4.77k
    }
5259
1.65k
    if (yych <= 0x00) goto yy89;
5260
476
    goto yy84;
5261
16.5k
yy353:
5262
16.5k
    YYDEBUG(353, *YYCURSOR);
5263
16.5k
    ++YYCURSOR;
5264
16.5k
    YYFILL(1);
5265
16.5k
    yych = *YYCURSOR;
5266
16.5k
    if (yych <= '\f') {
5267
3.26k
      if (yych <= 0x00) goto yy86;
5268
2.92k
      if (yych == '\n') goto yy84;
5269
644
      goto yy225;
5270
13.2k
    } else {
5271
13.2k
      if (yych <= '\r') goto yy84;
5272
10.9k
      if (yych == '.') goto yy442;
5273
4.06k
      goto yy225;
5274
10.9k
    }
5275
40.8k
yy354:
5276
40.8k
    YYDEBUG(354, *YYCURSOR);
5277
40.8k
    ++YYCURSOR;
5278
40.8k
    YYFILL(1);
5279
40.8k
    yych = *YYCURSOR;
5280
40.8k
    if (yych <= '\f') {
5281
1.27k
      if (yych <= 0x00) goto yy86;
5282
963
      if (yych == '\n') goto yy84;
5283
288
      goto yy225;
5284
39.6k
    } else {
5285
39.6k
      if (yych <= '\r') goto yy84;
5286
37.7k
      if (yych == '*') goto yy443;
5287
6.15k
      goto yy225;
5288
37.7k
    }
5289
49.6k
yy355:
5290
49.6k
    YYDEBUG(355, *YYCURSOR);
5291
49.6k
    ++YYCURSOR;
5292
49.6k
    YYFILL(1);
5293
49.6k
    yych = *YYCURSOR;
5294
49.6k
    YYDEBUG(356, *YYCURSOR);
5295
49.6k
    if (yybm[0+yych] & 64) {
5296
15.8k
      goto yy355;
5297
15.8k
    }
5298
33.7k
    if (yych <= 0x00) goto yy86;
5299
33.1k
    if (yych == '/') goto yy84;
5300
6.35k
    goto yy230;
5301
11.8k
yy357:
5302
11.8k
    YYDEBUG(357, *YYCURSOR);
5303
11.8k
    yych = *++YYCURSOR;
5304
11.8k
    if (yych == 'A') goto yy445;
5305
11.6k
    if (yych == 'a') goto yy445;
5306
1.92k
    goto yy86;
5307
4.38k
yy358:
5308
4.38k
    YYDEBUG(358, *YYCURSOR);
5309
4.38k
    yych = *++YYCURSOR;
5310
4.38k
    if (yych == 'A') goto yy446;
5311
1.68k
    if (yych == 'a') goto yy446;
5312
697
    goto yy86;
5313
4.60k
yy359:
5314
4.60k
    YYDEBUG(359, *YYCURSOR);
5315
4.60k
    yych = *++YYCURSOR;
5316
4.60k
    if (yych == 'L') goto yy447;
5317
4.37k
    if (yych == 'l') goto yy447;
5318
571
    goto yy86;
5319
2.87k
yy360:
5320
2.87k
    YYDEBUG(360, *YYCURSOR);
5321
2.87k
    yych = *++YYCURSOR;
5322
2.87k
    if (yych == 'B') goto yy448;
5323
2.42k
    if (yych == 'b') goto yy448;
5324
936
    goto yy86;
5325
3.75k
yy361:
5326
3.75k
    YYDEBUG(361, *YYCURSOR);
5327
3.75k
    yych = *++YYCURSOR;
5328
3.75k
    if (yych == 'A') goto yy449;
5329
3.55k
    if (yych == 'a') goto yy449;
5330
732
    goto yy86;
5331
8.10k
yy362:
5332
8.10k
    YYDEBUG(362, *YYCURSOR);
5333
8.10k
    yych = *++YYCURSOR;
5334
8.10k
    if (yych == 'E') goto yy454;
5335
7.67k
    if (yych == 'e') goto yy454;
5336
4.49k
    goto yy451;
5337
5.89k
yy363:
5338
5.89k
    YYDEBUG(363, *YYCURSOR);
5339
5.89k
    yych = *++YYCURSOR;
5340
5.89k
    if (yych == 'E') goto yy455;
5341
5.68k
    if (yych == 'e') goto yy455;
5342
2.43k
    goto yy86;
5343
3.60k
yy364:
5344
3.60k
    YYDEBUG(364, *YYCURSOR);
5345
3.60k
    yych = *++YYCURSOR;
5346
3.60k
    if (yych == 'L') goto yy456;
5347
1.23k
    if (yych == 'l') goto yy456;
5348
826
    goto yy86;
5349
18.2k
yy365:
5350
18.2k
    YYDEBUG(365, *YYCURSOR);
5351
18.2k
    yych = *++YYCURSOR;
5352
18.2k
    if (yych == 'I') goto yy458;
5353
17.6k
    if (yych == 'i') goto yy458;
5354
3.38k
    goto yy86;
5355
4.65k
yy366:
5356
4.65k
    YYDEBUG(366, *YYCURSOR);
5357
4.65k
    yych = *++YYCURSOR;
5358
4.65k
    if (yych == 'E') goto yy459;
5359
4.38k
    if (yych == 'e') goto yy459;
5360
716
    goto yy86;
5361
2.49k
yy367:
5362
2.49k
    YYDEBUG(367, *YYCURSOR);
5363
2.49k
    yych = *++YYCURSOR;
5364
2.49k
    if (yych == 'D') goto yy460;
5365
2.02k
    if (yych == 'd') goto yy460;
5366
617
    goto yy86;
5367
16.8k
yy368:
5368
16.8k
    YYDEBUG(368, *YYCURSOR);
5369
16.8k
    ++YYCURSOR;
5370
16.8k
    YYFILL(1);
5371
16.8k
    yych = *YYCURSOR;
5372
16.8k
    YYDEBUG(369, *YYCURSOR);
5373
16.8k
    if (yych <= '\f') {
5374
3.68k
      if (yych <= 0x08) goto yy129;
5375
3.33k
      if (yych <= '\n') goto yy368;
5376
309
      goto yy129;
5377
13.1k
    } else {
5378
13.1k
      if (yych <= '\r') goto yy368;
5379
12.8k
      if (yych == ' ') goto yy368;
5380
8.43k
      goto yy129;
5381
12.8k
    }
5382
5.62k
yy370:
5383
5.62k
    YYDEBUG(370, *YYCURSOR);
5384
5.62k
    yych = *++YYCURSOR;
5385
5.62k
    if (yych == '"') goto yy86;
5386
4.76k
    if (yych <= '/') goto yy463;
5387
3.19k
    if (yych <= '9') goto yy86;
5388
2.91k
    goto yy463;
5389
11.6k
yy371:
5390
11.6k
    YYDEBUG(371, *YYCURSOR);
5391
11.6k
    yych = *++YYCURSOR;
5392
11.6k
    if (yych == '\'') goto yy86;
5393
11.4k
    if (yych <= '/') goto yy465;
5394
10.3k
    if (yych <= '9') goto yy86;
5395
10.2k
    goto yy465;
5396
5.26M
yy372:
5397
5.26M
    YYDEBUG(372, *YYCURSOR);
5398
5.26M
    ++YYCURSOR;
5399
5.26M
    YYFILL(2);
5400
5.26M
    yych = *YYCURSOR;
5401
5.26M
    YYDEBUG(373, *YYCURSOR);
5402
5.26M
    if (yych <= '@') {
5403
3.71M
      if (yych <= '\f') {
5404
3.51M
        if (yych == '\n') goto yy466;
5405
41.2k
        goto yy86;
5406
3.51M
      } else {
5407
200k
        if (yych <= '\r') goto yy468;
5408
182k
        if (yych <= '/') goto yy86;
5409
119k
        if (yych <= '9') goto yy372;
5410
37.7k
        goto yy86;
5411
119k
      }
5412
3.71M
    } else {
5413
1.55M
      if (yych <= '_') {
5414
253k
        if (yych <= 'Z') goto yy372;
5415
37.9k
        if (yych <= '^') goto yy86;
5416
28.6k
        goto yy372;
5417
1.29M
      } else {
5418
1.29M
        if (yych <= '`') goto yy86;
5419
1.29M
        if (yych <= 'z') goto yy372;
5420
780k
        if (yych <= 0x7F) goto yy86;
5421
768k
        goto yy372;
5422
780k
      }
5423
1.55M
    }
5424
9.86k
yy374:
5425
9.86k
    YYDEBUG(374, *YYCURSOR);
5426
9.86k
    yyaccept = 4;
5427
9.86k
    yych = *(YYMARKER = ++YYCURSOR);
5428
9.86k
    if (yych == 'R') goto yy469;
5429
8.11k
    if (yych == 'r') goto yy469;
5430
389
    goto yy48;
5431
28.0k
yy375:
5432
28.0k
    YYDEBUG(375, *YYCURSOR);
5433
28.0k
    yyaccept = 4;
5434
28.0k
    yych = *(YYMARKER = ++YYCURSOR);
5435
28.0k
    if (yych == 'Y') goto yy470;
5436
27.4k
    if (yych == 'y') goto yy470;
5437
1.74k
    goto yy48;
5438
3.33k
yy376:
5439
3.33k
    YYDEBUG(376, *YYCURSOR);
5440
3.33k
    yyaccept = 4;
5441
3.33k
    yych = *(YYMARKER = ++YYCURSOR);
5442
3.33k
    if (yych == 'K') goto yy472;
5443
3.09k
    if (yych == 'k') goto yy472;
5444
506
    goto yy48;
5445
18.4k
yy377:
5446
18.4k
    YYDEBUG(377, *YYCURSOR);
5447
18.4k
    yyaccept = 4;
5448
18.4k
    yych = *(YYMARKER = ++YYCURSOR);
5449
18.4k
    if (yych == 'A') goto yy474;
5450
17.2k
    if (yych == 'a') goto yy474;
5451
12.8k
    goto yy48;
5452
12.8k
yy378:
5453
9.45k
    YYDEBUG(378, *YYCURSOR);
5454
9.45k
    yyaccept = 27;
5455
9.45k
    yych = *(YYMARKER = ++YYCURSOR);
5456
9.45k
    if (yybm[256+yych] & 128) {
5457
783
      goto yy47;
5458
783
    }
5459
8.67k
    if (yych == '\\') goto yy164;
5460
8.47k
yy379:
5461
8.47k
    YYDEBUG(379, *YYCURSOR);
5462
8.47k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
8.47k
#line 1526 "Zend/zend_language_scanner.l"
5464
8.47k
    {
5465
8.47k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
8.47k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
39.2k
yy380:
5469
39.2k
    YYDEBUG(380, *YYCURSOR);
5470
39.2k
    yyaccept = 4;
5471
39.2k
    yych = *(YYMARKER = ++YYCURSOR);
5472
39.2k
    if (yych == 'H') goto yy475;
5473
38.4k
    if (yych == 'h') goto yy475;
5474
1.45k
    goto yy48;
5475
82.5k
yy381:
5476
82.5k
    YYDEBUG(381, *YYCURSOR);
5477
82.5k
    yyaccept = 4;
5478
82.5k
    yych = *(YYMARKER = ++YYCURSOR);
5479
82.5k
    if (yych == 'S') goto yy477;
5480
80.5k
    if (yych == 's') goto yy477;
5481
1.94k
    goto yy48;
5482
4.51k
yy382:
5483
4.51k
    YYDEBUG(382, *YYCURSOR);
5484
4.51k
    yyaccept = 4;
5485
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
5486
4.51k
    if (yych == 'E') goto yy479;
5487
4.21k
    if (yych == 'e') goto yy479;
5488
564
    goto yy48;
5489
34.4k
yy383:
5490
34.4k
    YYDEBUG(383, *YYCURSOR);
5491
34.4k
    yyaccept = 4;
5492
34.4k
    yych = *(YYMARKER = ++YYCURSOR);
5493
34.4k
    if (yych == 'T') goto yy481;
5494
31.7k
    if (yych == 't') goto yy481;
5495
2.10k
    goto yy48;
5496
8.59k
yy384:
5497
8.59k
    YYDEBUG(384, *YYCURSOR);
5498
8.59k
    yyaccept = 4;
5499
8.59k
    yych = *(YYMARKER = ++YYCURSOR);
5500
8.59k
    if (yych == 'I') goto yy483;
5501
7.00k
    if (yych == 'i') goto yy483;
5502
3.57k
    goto yy48;
5503
9.33k
yy385:
5504
9.33k
    YYDEBUG(385, *YYCURSOR);
5505
9.33k
    yyaccept = 4;
5506
9.33k
    yych = *(YYMARKER = ++YYCURSOR);
5507
9.33k
    if (yych == 'A') goto yy484;
5508
8.27k
    if (yych == 'a') goto yy484;
5509
784
    goto yy48;
5510
4.65k
yy386:
5511
4.65k
    YYDEBUG(386, *YYCURSOR);
5512
4.65k
    yyaccept = 4;
5513
4.65k
    yych = *(YYMARKER = ++YYCURSOR);
5514
4.65k
    if (yych == 'U') goto yy485;
5515
4.34k
    if (yych == 'u') goto yy485;
5516
560
    goto yy48;
5517
80.4k
yy387:
5518
80.4k
    YYDEBUG(387, *YYCURSOR);
5519
80.4k
    yyaccept = 28;
5520
80.4k
    yych = *(YYMARKER = ++YYCURSOR);
5521
80.4k
    if (yybm[256+yych] & 128) {
5522
2.01k
      goto yy47;
5523
2.01k
    }
5524
78.4k
    if (yych == '\\') goto yy164;
5525
78.2k
yy388:
5526
78.2k
    YYDEBUG(388, *YYCURSOR);
5527
78.2k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
78.2k
#line 1546 "Zend/zend_language_scanner.l"
5529
78.2k
    {
5530
78.2k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
78.2k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
13.3k
yy389:
5534
13.3k
    YYDEBUG(389, *YYCURSOR);
5535
13.3k
    yyaccept = 29;
5536
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
5537
13.3k
    if (yych <= '\\') {
5538
7.38k
      if (yych <= 'H') {
5539
5.46k
        if (yych <= '/') goto yy390;
5540
2.65k
        if (yych <= '9') goto yy47;
5541
2.37k
        if (yych >= 'A') goto yy47;
5542
2.37k
      } else {
5543
1.92k
        if (yych <= 'I') goto yy486;
5544
1.68k
        if (yych <= 'Z') goto yy47;
5545
1.16k
        if (yych >= '\\') goto yy164;
5546
1.16k
      }
5547
7.38k
    } else {
5548
5.98k
      if (yych <= 'h') {
5549
734
        if (yych == '_') goto yy47;
5550
479
        if (yych >= 'a') goto yy47;
5551
5.24k
      } else {
5552
5.24k
        if (yych <= 'i') goto yy486;
5553
1.32k
        if (yych <= 'z') goto yy47;
5554
787
        if (yych >= 0x80) goto yy47;
5555
787
      }
5556
5.98k
    }
5557
5.70k
yy390:
5558
5.70k
    YYDEBUG(390, *YYCURSOR);
5559
5.70k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
5.70k
#line 1466 "Zend/zend_language_scanner.l"
5561
5.70k
    {
5562
5.70k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
5.70k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
4.92k
yy391:
5566
4.92k
    YYDEBUG(391, *YYCURSOR);
5567
4.92k
    yyaccept = 4;
5568
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
5569
4.92k
    if (yych == 'Y') goto yy487;
5570
3.75k
    if (yych == 'y') goto yy487;
5571
433
    goto yy48;
5572
7.73k
yy392:
5573
7.73k
    YYDEBUG(392, *YYCURSOR);
5574
7.73k
    yyaccept = 4;
5575
7.73k
    yych = *(YYMARKER = ++YYCURSOR);
5576
7.73k
    if (yych == 'E') goto yy489;
5577
5.73k
    if (yych == 'e') goto yy489;
5578
984
    goto yy48;
5579
12.6k
yy393:
5580
12.6k
    YYDEBUG(393, *YYCURSOR);
5581
12.6k
    yyaccept = 4;
5582
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5583
12.6k
    if (yych == 'O') goto yy490;
5584
9.55k
    if (yych == 'o') goto yy490;
5585
1.05k
    goto yy48;
5586
7.49k
yy394:
5587
7.49k
    YYDEBUG(394, *YYCURSOR);
5588
7.49k
    yyaccept = 4;
5589
7.49k
    yych = *(YYMARKER = ++YYCURSOR);
5590
7.49k
    if (yych == 'F') goto yy491;
5591
4.11k
    if (yych == 'f') goto yy491;
5592
1.27k
    goto yy48;
5593
7.83k
yy395:
5594
7.83k
    YYDEBUG(395, *YYCURSOR);
5595
7.83k
    yyaccept = 4;
5596
7.83k
    yych = *(YYMARKER = ++YYCURSOR);
5597
7.83k
    if (yych == 'W') goto yy493;
5598
7.01k
    if (yych == 'w') goto yy493;
5599
3.77k
    goto yy48;
5600
11.3k
yy396:
5601
11.3k
    YYDEBUG(396, *YYCURSOR);
5602
11.3k
    yyaccept = 4;
5603
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
5604
11.3k
    if (yych == 'H') goto yy494;
5605
8.75k
    if (yych == 'h') goto yy494;
5606
2.69k
    goto yy48;
5607
158k
yy397:
5608
158k
    YYDEBUG(397, *YYCURSOR);
5609
158k
    yyaccept = 4;
5610
158k
    yych = *(YYMARKER = ++YYCURSOR);
5611
158k
    if (yych <= 0x1F) {
5612
130k
      if (yych <= '\n') {
5613
5.82k
        if (yych <= 0x08) goto yy48;
5614
5.00k
        goto yy495;
5615
125k
      } else {
5616
125k
        if (yych == '\r') goto yy495;
5617
562
        goto yy48;
5618
125k
      }
5619
130k
    } else {
5620
27.4k
      if (yych <= '#') {
5621
15.3k
        if (yych <= ' ') goto yy495;
5622
9.31k
        if (yych <= '"') goto yy48;
5623
8.88k
        goto yy497;
5624
12.1k
      } else {
5625
12.1k
        if (yych == '/') goto yy498;
5626
11.4k
        goto yy48;
5627
12.1k
      }
5628
27.4k
    }
5629
5.61k
yy398:
5630
5.61k
    YYDEBUG(398, *YYCURSOR);
5631
5.61k
    yyaccept = 30;
5632
5.61k
    yych = *(YYMARKER = ++YYCURSOR);
5633
5.61k
    if (yybm[256+yych] & 128) {
5634
1.14k
      goto yy47;
5635
1.14k
    }
5636
4.46k
    if (yych == '\\') goto yy164;
5637
4.46k
yy399:
5638
4.46k
    YYDEBUG(399, *YYCURSOR);
5639
4.46k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
4.46k
#line 1718 "Zend/zend_language_scanner.l"
5641
4.46k
    {
5642
4.46k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
4.46k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
2.53k
yy400:
5646
2.53k
    YYDEBUG(400, *YYCURSOR);
5647
2.53k
    yyaccept = 31;
5648
2.53k
    yych = *(YYMARKER = ++YYCURSOR);
5649
2.53k
    if (yybm[256+yych] & 128) {
5650
773
      goto yy47;
5651
773
    }
5652
1.76k
    if (yych == '\\') goto yy164;
5653
1.75k
yy401:
5654
1.75k
    YYDEBUG(401, *YYCURSOR);
5655
1.75k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
1.75k
#line 1399 "Zend/zend_language_scanner.l"
5657
1.75k
    {
5658
1.75k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
1.75k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
21.6k
yy402:
5662
21.6k
    YYDEBUG(402, *YYCURSOR);
5663
21.6k
    yyaccept = 4;
5664
21.6k
    yych = *(YYMARKER = ++YYCURSOR);
5665
21.6k
    if (yych == 'N') goto yy499;
5666
19.9k
    if (yych == 'n') goto yy499;
5667
1.77k
    goto yy48;
5668
14.5k
yy403:
5669
14.5k
    YYDEBUG(403, *YYCURSOR);
5670
14.5k
    yyaccept = 4;
5671
14.5k
    yych = *(YYMARKER = ++YYCURSOR);
5672
14.5k
    if (yych == 'L') goto yy500;
5673
13.6k
    if (yych == 'l') goto yy500;
5674
1.75k
    goto yy48;
5675
29.2k
yy404:
5676
29.2k
    YYDEBUG(404, *YYCURSOR);
5677
29.2k
    yyaccept = 4;
5678
29.2k
    yych = *(YYMARKER = ++YYCURSOR);
5679
29.2k
    if (yych == 'A') goto yy502;
5680
28.9k
    if (yych == 'a') goto yy502;
5681
1.82k
    goto yy48;
5682
115k
yy405:
5683
115k
    YYDEBUG(405, *YYCURSOR);
5684
115k
    yyaccept = 4;
5685
115k
    yych = *(YYMARKER = ++YYCURSOR);
5686
115k
    if (yych == 'T') goto yy503;
5687
114k
    if (yych == 't') goto yy503;
5688
11.2k
    goto yy48;
5689
11.2k
yy406:
5690
7.40k
    YYDEBUG(406, *YYCURSOR);
5691
7.40k
    yyaccept = 4;
5692
7.40k
    yych = *(YYMARKER = ++YYCURSOR);
5693
7.40k
    if (yych == 'A') goto yy504;
5694
4.69k
    if (yych == 'a') goto yy504;
5695
890
    goto yy48;
5696
5.05k
yy407:
5697
5.05k
    YYDEBUG(407, *YYCURSOR);
5698
5.05k
    yyaccept = 32;
5699
5.05k
    yych = *(YYMARKER = ++YYCURSOR);
5700
5.05k
    if (yybm[256+yych] & 128) {
5701
881
      goto yy47;
5702
881
    }
5703
4.17k
    if (yych == '\\') goto yy164;
5704
4.13k
yy408:
5705
4.13k
    YYDEBUG(408, *YYCURSOR);
5706
4.13k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
4.13k
#line 1542 "Zend/zend_language_scanner.l"
5708
4.13k
    {
5709
4.13k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
4.13k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
29.3k
yy409:
5713
29.3k
    YYDEBUG(409, *YYCURSOR);
5714
29.3k
    yyaccept = 4;
5715
29.3k
    yych = *(YYMARKER = ++YYCURSOR);
5716
29.3k
    if (yych == 'E') goto yy505;
5717
23.8k
    if (yych == 'e') goto yy505;
5718
4.88k
    goto yy48;
5719
11.4k
yy410:
5720
11.4k
    YYDEBUG(410, *YYCURSOR);
5721
11.4k
    yyaccept = 4;
5722
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
5723
11.4k
    if (yych == 'U') goto yy506;
5724
10.0k
    if (yych == 'u') goto yy506;
5725
784
    goto yy48;
5726
16.6k
yy411:
5727
16.6k
    YYDEBUG(411, *YYCURSOR);
5728
16.6k
    yyaccept = 4;
5729
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
5730
16.6k
    if (yych <= 'E') {
5731
2.39k
      if (yych == 'A') goto yy507;
5732
1.21k
      if (yych <= 'D') goto yy48;
5733
427
      goto yy508;
5734
14.3k
    } else {
5735
14.3k
      if (yych <= 'a') {
5736
4.70k
        if (yych <= '`') goto yy48;
5737
4.12k
        goto yy507;
5738
9.59k
      } else {
5739
9.59k
        if (yych == 'e') goto yy508;
5740
915
        goto yy48;
5741
9.59k
      }
5742
14.3k
    }
5743
15.0k
yy412:
5744
15.0k
    YYDEBUG(412, *YYCURSOR);
5745
15.0k
    yyaccept = 4;
5746
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
5747
15.0k
    if (yych == 'R') goto yy509;
5748
14.8k
    if (yych == 'r') goto yy509;
5749
4.81k
    goto yy48;
5750
18.7k
yy413:
5751
18.7k
    YYDEBUG(413, *YYCURSOR);
5752
18.7k
    yyaccept = 4;
5753
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
5754
18.7k
    if (yych == 'T') goto yy510;
5755
18.4k
    if (yych == 't') goto yy510;
5756
632
    goto yy48;
5757
6.99k
yy414:
5758
6.99k
    YYDEBUG(414, *YYCURSOR);
5759
6.99k
    yyaccept = 33;
5760
6.99k
    yych = *(YYMARKER = ++YYCURSOR);
5761
6.99k
    if (yybm[256+yych] & 128) {
5762
910
      goto yy47;
5763
910
    }
5764
6.08k
    if (yych == '\\') goto yy164;
5765
6.02k
yy415:
5766
6.02k
    YYDEBUG(415, *YYCURSOR);
5767
6.02k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
6.02k
#line 1814 "Zend/zend_language_scanner.l"
5769
6.02k
    {
5770
6.02k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
6.02k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
4.20k
yy416:
5774
4.20k
    YYDEBUG(416, *YYCURSOR);
5775
4.20k
    yyaccept = 4;
5776
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
5777
4.20k
    if (yych == 'H') goto yy512;
5778
3.83k
    if (yych == 'h') goto yy512;
5779
442
    goto yy48;
5780
37.8k
yy417:
5781
37.8k
    YYDEBUG(417, *YYCURSOR);
5782
37.8k
    yyaccept = 4;
5783
37.8k
    yych = *(YYMARKER = ++YYCURSOR);
5784
37.8k
    if (yych == 'S') goto yy514;
5785
36.5k
    if (yych == 's') goto yy514;
5786
2.60k
    goto yy48;
5787
16.6k
yy418:
5788
16.6k
    YYDEBUG(418, *YYCURSOR);
5789
16.6k
    yyaccept = 4;
5790
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
5791
16.6k
    if (yych == 'T') goto yy515;
5792
16.2k
    if (yych == 't') goto yy515;
5793
1.42k
    goto yy48;
5794
15.6k
yy419:
5795
15.6k
    YYDEBUG(419, *YYCURSOR);
5796
15.6k
    yyaccept = 4;
5797
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
5798
15.6k
    if (yych == 'A') goto yy517;
5799
14.5k
    if (yych == 'a') goto yy517;
5800
562
    goto yy48;
5801
15.5k
yy420:
5802
15.5k
    YYDEBUG(420, *YYCURSOR);
5803
15.5k
    yyaccept = 4;
5804
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
5805
15.5k
    if (yych == 'E') goto yy518;
5806
13.8k
    if (yych == 'e') goto yy518;
5807
1.88k
    goto yy48;
5808
70.7k
yy421:
5809
70.7k
    YYDEBUG(421, *YYCURSOR);
5810
70.7k
    yyaccept = 4;
5811
70.7k
    yych = *(YYMARKER = ++YYCURSOR);
5812
70.7k
    if (yych == 'I') goto yy519;
5813
69.4k
    if (yych == 'i') goto yy519;
5814
1.59k
    goto yy48;
5815
8.26k
yy422:
5816
8.26k
    YYDEBUG(422, *YYCURSOR);
5817
8.26k
    yyaccept = 4;
5818
8.26k
    yych = *(YYMARKER = ++YYCURSOR);
5819
8.26k
    if (yych == 'O') goto yy520;
5820
7.89k
    if (yych == 'o') goto yy520;
5821
1.27k
    goto yy48;
5822
23.5k
yy423:
5823
23.5k
    YYDEBUG(423, *YYCURSOR);
5824
23.5k
    yyaccept = 4;
5825
23.5k
    yych = *(YYMARKER = ++YYCURSOR);
5826
23.5k
    if (yych == 'I') goto yy521;
5827
22.9k
    if (yych == 'i') goto yy521;
5828
822
    goto yy48;
5829
27.2k
yy424:
5830
27.2k
    YYDEBUG(424, *YYCURSOR);
5831
27.2k
    yyaccept = 4;
5832
27.2k
    yych = *(YYMARKER = ++YYCURSOR);
5833
27.2k
    if (yych == 'R') goto yy522;
5834
26.7k
    if (yych == 'r') goto yy522;
5835
692
    goto yy48;
5836
22.4k
yy425:
5837
22.4k
    YYDEBUG(425, *YYCURSOR);
5838
22.4k
    yyaccept = 4;
5839
22.4k
    yych = *(YYMARKER = ++YYCURSOR);
5840
22.4k
    if (yych == 'I') goto yy523;
5841
21.6k
    if (yych == 'i') goto yy523;
5842
1.10k
    goto yy48;
5843
8.52k
yy426:
5844
8.52k
    YYDEBUG(426, *YYCURSOR);
5845
8.52k
    yyaccept = 4;
5846
8.52k
    yych = *(YYMARKER = ++YYCURSOR);
5847
8.52k
    if (yych == 'C') goto yy524;
5848
8.07k
    if (yych == 'c') goto yy524;
5849
1.00k
    goto yy48;
5850
11.9k
yy427:
5851
11.9k
    YYDEBUG(427, *YYCURSOR);
5852
11.9k
    yyaccept = 4;
5853
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
5854
11.9k
    if (yych == 'W') goto yy525;
5855
11.3k
    if (yych == 'w') goto yy525;
5856
967
    goto yy48;
5857
11.3k
yy428:
5858
11.3k
    YYDEBUG(428, *YYCURSOR);
5859
11.3k
    yyaccept = 4;
5860
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
5861
11.3k
    if (yych == 'T') goto yy527;
5862
10.7k
    if (yych == 't') goto yy527;
5863
2.55k
    goto yy48;
5864
16.7k
yy429:
5865
16.7k
    YYDEBUG(429, *YYCURSOR);
5866
16.7k
    yyaccept = 4;
5867
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
5868
16.7k
    if (yych == 'T') goto yy529;
5869
16.0k
    if (yych == 't') goto yy529;
5870
6.85k
    goto yy48;
5871
6.85k
yy430:
5872
5.33k
    YYDEBUG(430, *YYCURSOR);
5873
5.33k
    yyaccept = 4;
5874
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
5875
5.33k
    if (yych == 'E') goto yy531;
5876
4.59k
    if (yych == 'e') goto yy531;
5877
707
    goto yy48;
5878
87.3k
yy431:
5879
87.3k
    YYDEBUG(431, *YYCURSOR);
5880
87.3k
    yyaccept = 4;
5881
87.3k
    yych = *(YYMARKER = ++YYCURSOR);
5882
87.3k
    if (yych == 'D') goto yy533;
5883
85.5k
    if (yych == 'd') goto yy533;
5884
2.75k
    goto yy48;
5885
13.4k
yy432:
5886
13.4k
    YYDEBUG(432, *YYCURSOR);
5887
13.4k
    yyaccept = 4;
5888
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
5889
13.4k
    if (yych == 'A') goto yy535;
5890
11.1k
    if (yych == 'a') goto yy535;
5891
1.45k
    goto yy48;
5892
8.10k
yy433:
5893
8.10k
    YYDEBUG(433, *YYCURSOR);
5894
8.10k
    yyaccept = 4;
5895
8.10k
    yych = *(YYMARKER = ++YYCURSOR);
5896
8.10k
    if (yych == 'R') goto yy536;
5897
5.37k
    if (yych == 'r') goto yy536;
5898
773
    goto yy48;
5899
11.5k
yy434:
5900
11.5k
    YYDEBUG(434, *YYCURSOR);
5901
11.5k
    yyaccept = 4;
5902
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
5903
11.5k
    if (yych == 'L') goto yy537;
5904
3.90k
    if (yych == 'l') goto yy537;
5905
1.00k
    goto yy48;
5906
10.8k
yy435:
5907
10.8k
    YYDEBUG(435, *YYCURSOR);
5908
10.8k
    yyaccept = 4;
5909
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
5910
10.8k
    if (yych == 'N') goto yy538;
5911
6.62k
    if (yych == 'n') goto yy538;
5912
985
    goto yy48;
5913
8.66k
yy436:
5914
8.66k
    YYDEBUG(436, *YYCURSOR);
5915
8.66k
    yyaccept = 4;
5916
8.66k
    yych = *(YYMARKER = ++YYCURSOR);
5917
8.66k
    if (yych == 'L') goto yy539;
5918
7.19k
    if (yych == 'l') goto yy539;
5919
1.10k
    goto yy48;
5920
5.03k
yy437:
5921
5.03k
    YYDEBUG(437, *YYCURSOR);
5922
5.03k
    yyaccept = 4;
5923
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
5924
5.03k
    if (yych == 'N') goto yy540;
5925
3.42k
    if (yych == 'n') goto yy540;
5926
675
    goto yy48;
5927
15.6k
yy438:
5928
15.6k
    YYDEBUG(438, *YYCURSOR);
5929
15.6k
    yyaccept = 4;
5930
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
5931
15.6k
    if (yych == 'T') goto yy541;
5932
8.01k
    if (yych == 't') goto yy541;
5933
436
    goto yy48;
5934
12.1k
yy439:
5935
12.1k
    YYDEBUG(439, *YYCURSOR);
5936
12.1k
    yyaccept = 4;
5937
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
5938
12.1k
    if (yych == 'M') goto yy542;
5939
7.42k
    if (yych == 'm') goto yy542;
5940
1.40k
    goto yy48;
5941
6.77k
yy440:
5942
6.77k
    YYDEBUG(440, *YYCURSOR);
5943
6.77k
    yyaccept = 4;
5944
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
5945
6.77k
    if (yych == 'O') goto yy543;
5946
2.58k
    if (yych == 'o') goto yy543;
5947
692
    goto yy48;
5948
7.39k
yy441:
5949
7.39k
    YYDEBUG(441, *YYCURSOR);
5950
7.39k
    yyaccept = 4;
5951
7.39k
    yych = *(YYMARKER = ++YYCURSOR);
5952
7.39k
    if (yych == 'A') goto yy544;
5953
6.16k
    if (yych == 'a') goto yy544;
5954
830
    goto yy48;
5955
6.91k
yy442:
5956
6.91k
    YYDEBUG(442, *YYCURSOR);
5957
6.91k
    ++YYCURSOR;
5958
6.91k
    YYFILL(1);
5959
6.91k
    yych = *YYCURSOR;
5960
6.91k
    if (yych <= '\f') {
5961
794
      if (yych <= 0x00) goto yy86;
5962
551
      if (yych == '\n') goto yy84;
5963
341
      goto yy225;
5964
6.11k
    } else {
5965
6.11k
      if (yych <= '\r') goto yy84;
5966
5.90k
      if (yych == '.') goto yy352;
5967
3.68k
      goto yy225;
5968
5.90k
    }
5969
486k
yy443:
5970
486k
    YYDEBUG(443, *YYCURSOR);
5971
486k
    ++YYCURSOR;
5972
486k
    YYFILL(1);
5973
486k
    yych = *YYCURSOR;
5974
486k
    YYDEBUG(444, *YYCURSOR);
5975
486k
    if (yybm[0+yych] & 128) {
5976
381k
      goto yy443;
5977
381k
    }
5978
105k
    if (yych <= 0x00) goto yy86;
5979
103k
    if (yych <= '\r') goto yy545;
5980
14.1k
    goto yy547;
5981
14.1k
yy445:
5982
9.90k
    YYDEBUG(445, *YYCURSOR);
5983
9.90k
    yych = *++YYCURSOR;
5984
9.90k
    if (yych == 'Y') goto yy549;
5985
9.52k
    if (yych == 'y') goto yy549;
5986
684
    goto yy86;
5987
3.68k
yy446:
5988
3.68k
    YYDEBUG(446, *YYCURSOR);
5989
3.68k
    yych = *++YYCURSOR;
5990
3.68k
    if (yych == 'R') goto yy551;
5991
2.64k
    if (yych == 'r') goto yy551;
5992
574
    goto yy86;
5993
4.03k
yy447:
5994
4.03k
    YYDEBUG(447, *YYCURSOR);
5995
4.03k
    yych = *++YYCURSOR;
5996
4.03k
    if (yych == 'E') goto yy556;
5997
3.30k
    if (yych == 'e') goto yy556;
5998
1.75k
    goto yy553;
5999
1.93k
yy448:
6000
1.93k
    YYDEBUG(448, *YYCURSOR);
6001
1.93k
    yych = *++YYCURSOR;
6002
1.93k
    if (yych == 'L') goto yy557;
6003
1.73k
    if (yych == 'l') goto yy557;
6004
382
    goto yy86;
6005
3.02k
yy449:
6006
3.02k
    YYDEBUG(449, *YYCURSOR);
6007
3.02k
    yych = *++YYCURSOR;
6008
3.02k
    if (yych == 'T') goto yy558;
6009
2.91k
    if (yych == 't') goto yy558;
6010
593
    goto yy86;
6011
2.61k
yy450:
6012
2.61k
    YYDEBUG(450, *YYCURSOR);
6013
2.61k
    ++YYCURSOR;
6014
2.61k
    YYFILL(1);
6015
2.61k
    yych = *YYCURSOR;
6016
7.11k
yy451:
6017
7.11k
    YYDEBUG(451, *YYCURSOR);
6018
7.11k
    if (yych <= 0x1F) {
6019
577
      if (yych == '\t') goto yy450;
6020
238
      goto yy86;
6021
6.53k
    } else {
6022
6.53k
      if (yych <= ' ') goto yy450;
6023
4.25k
      if (yych != ')') goto yy86;
6024
4.25k
    }
6025
1.46k
    YYDEBUG(452, *YYCURSOR);
6026
1.46k
    ++YYCURSOR;
6027
1.46k
    YYDEBUG(453, *YYCURSOR);
6028
1.46k
    yyleng = YYCURSOR - SCNG(yy_text);
6029
1.46k
#line 1638 "Zend/zend_language_scanner.l"
6030
1.46k
    {
6031
1.46k
  RETURN_TOKEN(T_INT_CAST);
6032
1.46k
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
3.61k
yy454:
6035
3.61k
    YYDEBUG(454, *YYCURSOR);
6036
3.61k
    yych = *++YYCURSOR;
6037
3.61k
    if (yych == 'G') goto yy560;
6038
3.49k
    if (yych == 'g') goto yy560;
6039
849
    goto yy86;
6040
3.45k
yy455:
6041
3.45k
    YYDEBUG(455, *YYCURSOR);
6042
3.45k
    yych = *++YYCURSOR;
6043
3.45k
    if (yych == 'C') goto yy561;
6044
3.15k
    if (yych == 'c') goto yy561;
6045
490
    goto yy86;
6046
3.37k
yy456:
6047
3.37k
    YYDEBUG(456, *YYCURSOR);
6048
3.37k
    ++YYCURSOR;
6049
3.37k
    YYFILL(1);
6050
3.37k
    yych = *YYCURSOR;
6051
3.37k
    YYDEBUG(457, *YYCURSOR);
6052
3.37k
    if (yych <= 0x1F) {
6053
885
      if (yych == '\t') goto yy456;
6054
497
      goto yy86;
6055
2.49k
    } else {
6056
2.49k
      if (yych <= ' ') goto yy456;
6057
2.28k
      if (yych == ')') goto yy562;
6058
1.22k
      goto yy86;
6059
2.28k
    }
6060
14.8k
yy458:
6061
14.8k
    YYDEBUG(458, *YYCURSOR);
6062
14.8k
    yych = *++YYCURSOR;
6063
14.8k
    if (yych == 'N') goto yy564;
6064
14.6k
    if (yych == 'n') goto yy564;
6065
2.73k
    goto yy86;
6066
3.93k
yy459:
6067
3.93k
    YYDEBUG(459, *YYCURSOR);
6068
3.93k
    yych = *++YYCURSOR;
6069
3.93k
    if (yych == 'T') goto yy565;
6070
3.43k
    if (yych == 't') goto yy565;
6071
1.99k
    goto yy86;
6072
3.84k
yy460:
6073
3.84k
    YYDEBUG(460, *YYCURSOR);
6074
3.84k
    ++YYCURSOR;
6075
3.84k
    YYFILL(1);
6076
3.84k
    yych = *YYCURSOR;
6077
3.84k
    YYDEBUG(461, *YYCURSOR);
6078
3.84k
    if (yych <= 0x1F) {
6079
2.04k
      if (yych == '\t') goto yy460;
6080
496
      goto yy86;
6081
2.04k
    } else {
6082
1.80k
      if (yych <= ' ') goto yy460;
6083
1.38k
      if (yych == ')') goto yy567;
6084
883
      goto yy86;
6085
1.38k
    }
6086
15.0k
yy462:
6087
15.0k
    YYDEBUG(462, *YYCURSOR);
6088
15.0k
    ++YYCURSOR;
6089
15.0k
    YYFILL(3);
6090
15.0k
    yych = *YYCURSOR;
6091
19.5k
yy463:
6092
19.5k
    YYDEBUG(463, *YYCURSOR);
6093
19.5k
    if (yych <= 'Z') {
6094
6.50k
      if (yych <= '/') {
6095
3.00k
        if (yych == '"') goto yy569;
6096
2.12k
        goto yy86;
6097
3.49k
      } else {
6098
3.49k
        if (yych <= '9') goto yy462;
6099
1.71k
        if (yych <= '@') goto yy86;
6100
918
        goto yy462;
6101
1.71k
      }
6102
13.0k
    } else {
6103
13.0k
      if (yych <= '`') {
6104
630
        if (yych == '_') goto yy462;
6105
439
        goto yy86;
6106
12.4k
      } else {
6107
12.4k
        if (yych <= 'z') goto yy462;
6108
2.44k
        if (yych <= 0x7F) goto yy86;
6109
2.19k
        goto yy462;
6110
2.44k
      }
6111
13.0k
    }
6112
44.1k
yy464:
6113
44.1k
    YYDEBUG(464, *YYCURSOR);
6114
44.1k
    ++YYCURSOR;
6115
44.1k
    YYFILL(3);
6116
44.1k
    yych = *YYCURSOR;
6117
55.5k
yy465:
6118
55.5k
    YYDEBUG(465, *YYCURSOR);
6119
55.5k
    if (yych <= 'Z') {
6120
23.9k
      if (yych <= '/') {
6121
8.87k
        if (yych == '\'') goto yy569;
6122
1.56k
        goto yy86;
6123
15.0k
      } else {
6124
15.0k
        if (yych <= '9') goto yy464;
6125
13.9k
        if (yych <= '@') goto yy86;
6126
12.3k
        goto yy464;
6127
13.9k
      }
6128
31.6k
    } else {
6129
31.6k
      if (yych <= '`') {
6130
1.21k
        if (yych == '_') goto yy464;
6131
323
        goto yy86;
6132
30.3k
      } else {
6133
30.3k
        if (yych <= 'z') goto yy464;
6134
20.3k
        if (yych <= 0x7F) goto yy86;
6135
19.8k
        goto yy464;
6136
20.3k
      }
6137
31.6k
    }
6138
3.47M
yy466:
6139
3.47M
    YYDEBUG(466, *YYCURSOR);
6140
3.47M
    ++YYCURSOR;
6141
3.49M
yy467:
6142
3.49M
    YYDEBUG(467, *YYCURSOR);
6143
3.49M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
3.49M
#line 2678 "Zend/zend_language_scanner.l"
6145
3.49M
    {
6146
3.49M
  char *s;
6147
3.49M
  unsigned char *saved_cursor;
6148
3.49M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
3.49M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
3.49M
  bool is_heredoc = 1;
6151
6152
3.49M
  CG(zend_lineno)++;
6153
3.49M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
3.49M
  s = yytext+bprefix+3;
6155
3.50M
  while ((*s == ' ') || (*s == '\t')) {
6156
7.03k
    s++;
6157
7.03k
    heredoc_label->length--;
6158
7.03k
  }
6159
6160
3.49M
  if (*s == '\'') {
6161
6.93k
    s++;
6162
6.93k
    heredoc_label->length -= 2;
6163
6.93k
    is_heredoc = 0;
6164
6165
6.93k
    BEGIN(ST_NOWDOC);
6166
3.49M
  } else {
6167
3.49M
    if (*s == '"') {
6168
453
      s++;
6169
453
      heredoc_label->length -= 2;
6170
453
    }
6171
6172
3.49M
    BEGIN(ST_HEREDOC);
6173
3.49M
  }
6174
6175
3.49M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
3.49M
  heredoc_label->indentation_uses_spaces = 0;
6177
3.49M
  heredoc_label->indentation = 0;
6178
3.49M
  saved_cursor = YYCURSOR;
6179
6180
3.49M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
3.55M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
59.0k
    if (*YYCURSOR == '\t') {
6184
7.06k
      spacing |= HEREDOC_USING_TABS;
6185
51.9k
    } else {
6186
51.9k
      spacing |= HEREDOC_USING_SPACES;
6187
51.9k
    }
6188
59.0k
    ++YYCURSOR;
6189
59.0k
    ++indentation;
6190
59.0k
  }
6191
6192
3.49M
  if (YYCURSOR == YYLIMIT) {
6193
1.10k
    YYCURSOR = saved_cursor;
6194
1.10k
    RETURN_TOKEN(T_START_HEREDOC);
6195
1.10k
  }
6196
6197
  /* Check for ending label on the next line */
6198
3.49M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
7.02k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
2.93k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
92
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
92
        if (PARSER_MODE()) {
6203
7
          RETURN_TOKEN(T_ERROR);
6204
7
        }
6205
92
      }
6206
6207
2.93k
      YYCURSOR = saved_cursor;
6208
2.93k
      heredoc_label->indentation = indentation;
6209
6210
2.93k
      BEGIN(ST_END_HEREDOC);
6211
2.93k
      RETURN_TOKEN(T_START_HEREDOC);
6212
2.93k
    }
6213
7.02k
  }
6214
6215
3.49M
  YYCURSOR = saved_cursor;
6216
6217
3.49M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
159k
    zend_lex_state current_state;
6219
159k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
159k
    int heredoc_nesting_level = 1;
6221
159k
    int first_token = 0;
6222
159k
    int error = 0;
6223
6224
159k
    zend_save_lexical_state(&current_state);
6225
6226
159k
    SCNG(heredoc_scan_ahead) = 1;
6227
159k
    SCNG(heredoc_indentation) = 0;
6228
159k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
159k
    SCNG(on_event_context) = NULL;
6230
159k
    LANG_SCNG(on_event) = NULL;
6231
159k
    CG(doc_comment) = NULL;
6232
6233
159k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
159k
    zend_object *prev_exception = EG(exception);
6236
159k
    EG(exception) = NULL;
6237
22.3M
    while (heredoc_nesting_level) {
6238
22.3M
      zval zv;
6239
22.3M
      int retval;
6240
6241
22.3M
      ZVAL_UNDEF(&zv);
6242
22.3M
      retval = lex_scan(&zv, NULL);
6243
22.3M
      zval_ptr_dtor_nogc(&zv);
6244
6245
22.3M
      if (EG(exception)) {
6246
148k
        zend_clear_exception();
6247
148k
        break;
6248
148k
      }
6249
6250
22.2M
      if (!first_token) {
6251
159k
        first_token = retval;
6252
159k
      }
6253
6254
22.2M
      switch (retval) {
6255
3.33M
        case T_START_HEREDOC:
6256
3.33M
          ++heredoc_nesting_level;
6257
3.33M
          break;
6258
13.4k
        case T_END_HEREDOC:
6259
13.4k
          --heredoc_nesting_level;
6260
13.4k
          break;
6261
5.15k
        case END:
6262
5.15k
          heredoc_nesting_level = 0;
6263
22.2M
      }
6264
22.2M
    }
6265
159k
    EG(exception) = prev_exception;
6266
6267
159k
    if (
6268
159k
        (first_token == T_VARIABLE
6269
153k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6270
45.7k
         || first_token == T_CURLY_OPEN
6271
159k
        ) && SCNG(heredoc_indentation)) {
6272
7
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6273
7
      error = 1;
6274
7
    }
6275
6276
159k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6277
159k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6278
6279
159k
    zend_restore_lexical_state(&current_state);
6280
159k
    SCNG(heredoc_scan_ahead) = 0;
6281
159k
    CG(increment_lineno) = 0;
6282
159k
    CG(doc_comment) = saved_doc_comment;
6283
6284
159k
    if (PARSER_MODE() && error) {
6285
7
      RETURN_TOKEN(T_ERROR);
6286
7
    }
6287
159k
  }
6288
6289
3.49M
  RETURN_TOKEN(T_START_HEREDOC);
6290
3.49M
}
6291
0
#line 6292 "Zend/zend_language_scanner.c"
6292
18.8k
yy468:
6293
18.8k
    YYDEBUG(468, *YYCURSOR);
6294
18.8k
    yych = *++YYCURSOR;
6295
18.8k
    if (yych == '\n') goto yy466;
6296
17.8k
    goto yy467;
6297
17.8k
yy469:
6298
9.47k
    YYDEBUG(469, *YYCURSOR);
6299
9.47k
    yyaccept = 4;
6300
9.47k
    yych = *(YYMARKER = ++YYCURSOR);
6301
9.47k
    if (yych == 'A') goto yy570;
6302
8.11k
    if (yych == 'a') goto yy570;
6303
879
    goto yy48;
6304
26.2k
yy470:
6305
26.2k
    YYDEBUG(470, *YYCURSOR);
6306
26.2k
    yyaccept = 34;
6307
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
6308
26.2k
    if (yybm[256+yych] & 128) {
6309
6.45k
      goto yy47;
6310
6.45k
    }
6311
19.8k
    if (yych == '\\') goto yy164;
6312
19.8k
yy471:
6313
19.8k
    YYDEBUG(471, *YYCURSOR);
6314
19.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6315
19.8k
#line 1818 "Zend/zend_language_scanner.l"
6316
19.8k
    {
6317
19.8k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6318
19.8k
}
6319
0
#line 6320 "Zend/zend_language_scanner.c"
6320
2.82k
yy472:
6321
2.82k
    YYDEBUG(472, *YYCURSOR);
6322
2.82k
    yyaccept = 35;
6323
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
6324
2.82k
    if (yybm[256+yych] & 128) {
6325
470
      goto yy47;
6326
470
    }
6327
2.35k
    if (yych == '\\') goto yy164;
6328
2.35k
yy473:
6329
2.35k
    YYDEBUG(473, *YYCURSOR);
6330
2.35k
    yyleng = YYCURSOR - SCNG(yy_text);
6331
2.35k
#line 1534 "Zend/zend_language_scanner.l"
6332
2.35k
    {
6333
2.35k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6334
2.35k
}
6335
0
#line 6336 "Zend/zend_language_scanner.c"
6336
5.60k
yy474:
6337
5.60k
    YYDEBUG(474, *YYCURSOR);
6338
5.60k
    yyaccept = 4;
6339
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
6340
5.60k
    if (yych == 'B') goto yy571;
6341
4.16k
    if (yych == 'b') goto yy571;
6342
536
    goto yy48;
6343
37.7k
yy475:
6344
37.7k
    YYDEBUG(475, *YYCURSOR);
6345
37.7k
    yyaccept = 36;
6346
37.7k
    yych = *(YYMARKER = ++YYCURSOR);
6347
37.7k
    if (yybm[256+yych] & 128) {
6348
1.61k
      goto yy47;
6349
1.61k
    }
6350
36.1k
    if (yych == '\\') goto yy164;
6351
36.1k
yy476:
6352
36.1k
    YYDEBUG(476, *YYCURSOR);
6353
36.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6354
36.1k
#line 1442 "Zend/zend_language_scanner.l"
6355
36.1k
    {
6356
36.1k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6357
36.1k
}
6358
0
#line 6359 "Zend/zend_language_scanner.c"
6359
80.6k
yy477:
6360
80.6k
    YYDEBUG(477, *YYCURSOR);
6361
80.6k
    yyaccept = 37;
6362
80.6k
    yych = *(YYMARKER = ++YYCURSOR);
6363
80.6k
    if (yybm[256+yych] & 128) {
6364
11.6k
      goto yy47;
6365
11.6k
    }
6366
68.9k
    if (yych == '\\') goto yy164;
6367
68.9k
yy478:
6368
68.9k
    YYDEBUG(478, *YYCURSOR);
6369
68.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6370
68.9k
#line 1554 "Zend/zend_language_scanner.l"
6371
68.9k
    {
6372
68.9k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6373
68.9k
}
6374
0
#line 6375 "Zend/zend_language_scanner.c"
6375
3.95k
yy479:
6376
3.95k
    YYDEBUG(479, *YYCURSOR);
6377
3.95k
    yyaccept = 38;
6378
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
6379
3.95k
    if (yybm[256+yych] & 128) {
6380
668
      goto yy47;
6381
668
    }
6382
3.28k
    if (yych == '\\') goto yy164;
6383
3.25k
yy480:
6384
3.25k
    YYDEBUG(480, *YYCURSOR);
6385
3.25k
    yyleng = YYCURSOR - SCNG(yy_text);
6386
3.25k
#line 1630 "Zend/zend_language_scanner.l"
6387
3.25k
    {
6388
3.25k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6389
3.25k
}
6390
0
#line 6391 "Zend/zend_language_scanner.c"
6391
32.3k
yy481:
6392
32.3k
    YYDEBUG(481, *YYCURSOR);
6393
32.3k
    yyaccept = 39;
6394
32.3k
    yych = *(YYMARKER = ++YYCURSOR);
6395
32.3k
    if (yybm[256+yych] & 128) {
6396
5.10k
      goto yy47;
6397
5.10k
    }
6398
27.2k
    if (yych == '\\') goto yy164;
6399
27.2k
yy482:
6400
27.2k
    YYDEBUG(482, *YYCURSOR);
6401
27.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6402
27.2k
#line 1415 "Zend/zend_language_scanner.l"
6403
27.2k
    {
6404
27.2k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6405
27.2k
}
6406
0
#line 6407 "Zend/zend_language_scanner.c"
6407
5.02k
yy483:
6408
5.02k
    YYDEBUG(483, *YYCURSOR);
6409
5.02k
    yyaccept = 4;
6410
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
6411
5.02k
    if (yych == 'N') goto yy572;
6412
3.42k
    if (yych == 'n') goto yy572;
6413
713
    goto yy48;
6414
8.55k
yy484:
6415
8.55k
    YYDEBUG(484, *YYCURSOR);
6416
8.55k
    yyaccept = 4;
6417
8.55k
    yych = *(YYMARKER = ++YYCURSOR);
6418
8.55k
    if (yych == 'R') goto yy573;
6419
7.96k
    if (yych == 'r') goto yy573;
6420
1.63k
    goto yy48;
6421
4.09k
yy485:
6422
4.09k
    YYDEBUG(485, *YYCURSOR);
6423
4.09k
    yyaccept = 4;
6424
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
6425
4.09k
    if (yych == 'L') goto yy574;
6426
3.86k
    if (yych == 'l') goto yy574;
6427
728
    goto yy48;
6428
4.16k
yy486:
6429
4.16k
    YYDEBUG(486, *YYCURSOR);
6430
4.16k
    yyaccept = 4;
6431
4.16k
    yych = *(YYMARKER = ++YYCURSOR);
6432
4.16k
    if (yych == 'F') goto yy575;
6433
3.90k
    if (yych == 'f') goto yy575;
6434
709
    goto yy48;
6435
4.48k
yy487:
6436
4.48k
    YYDEBUG(487, *YYCURSOR);
6437
4.48k
    yyaccept = 40;
6438
4.48k
    yych = *(YYMARKER = ++YYCURSOR);
6439
4.48k
    if (yybm[256+yych] & 128) {
6440
545
      goto yy47;
6441
545
    }
6442
3.94k
    if (yych == '\\') goto yy164;
6443
3.94k
yy488:
6444
3.94k
    YYDEBUG(488, *YYCURSOR);
6445
3.94k
    yyleng = YYCURSOR - SCNG(yy_text);
6446
3.94k
#line 1758 "Zend/zend_language_scanner.l"
6447
3.94k
    {
6448
3.94k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6449
3.94k
}
6450
0
#line 6451 "Zend/zend_language_scanner.c"
6451
6.74k
yy489:
6452
6.74k
    YYDEBUG(489, *YYCURSOR);
6453
6.74k
    yyaccept = 4;
6454
6.74k
    yych = *(YYMARKER = ++YYCURSOR);
6455
6.74k
    if (yych == 'C') goto yy577;
6456
5.87k
    if (yych == 'c') goto yy577;
6457
1.49k
    goto yy48;
6458
11.6k
yy490:
6459
11.6k
    YYDEBUG(490, *YYCURSOR);
6460
11.6k
    yyaccept = 4;
6461
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
6462
11.6k
    if (yych == 'R') goto yy578;
6463
9.14k
    if (yych == 'r') goto yy578;
6464
912
    goto yy48;
6465
6.22k
yy491:
6466
6.22k
    YYDEBUG(491, *YYCURSOR);
6467
6.22k
    yyaccept = 41;
6468
6.22k
    yych = *(YYMARKER = ++YYCURSOR);
6469
6.22k
    if (yybm[256+yych] & 128) {
6470
811
      goto yy47;
6471
811
    }
6472
5.40k
    if (yych == '\\') goto yy164;
6473
5.26k
yy492:
6474
5.26k
    YYDEBUG(492, *YYCURSOR);
6475
5.26k
    yyleng = YYCURSOR - SCNG(yy_text);
6476
5.26k
#line 1462 "Zend/zend_language_scanner.l"
6477
5.26k
    {
6478
5.26k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6479
5.26k
}
6480
0
#line 6481 "Zend/zend_language_scanner.c"
6481
4.06k
yy493:
6482
4.06k
    YYDEBUG(493, *YYCURSOR);
6483
4.06k
    yyaccept = 4;
6484
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
6485
4.06k
    if (yych == 'I') goto yy580;
6486
3.23k
    if (yych == 'i') goto yy580;
6487
348
    goto yy48;
6488
8.65k
yy494:
6489
8.65k
    YYDEBUG(494, *YYCURSOR);
6490
8.65k
    yyaccept = 4;
6491
8.65k
    yych = *(YYMARKER = ++YYCURSOR);
6492
8.65k
    if (yych == 'I') goto yy581;
6493
6.27k
    if (yych == 'i') goto yy581;
6494
385
    goto yy48;
6495
693k
yy495:
6496
693k
    YYDEBUG(495, *YYCURSOR);
6497
693k
    ++YYCURSOR;
6498
693k
    YYFILL(10);
6499
693k
    yych = *YYCURSOR;
6500
693k
    YYDEBUG(496, *YYCURSOR);
6501
693k
    if (yych <= 'E') {
6502
652k
      if (yych <= ' ') {
6503
74.6k
        if (yych <= '\f') {
6504
22.5k
          if (yych <= 0x08) goto yy86;
6505
18.8k
          if (yych <= '\n') goto yy495;
6506
994
          goto yy86;
6507
52.1k
        } else {
6508
52.1k
          if (yych <= '\r') goto yy495;
6509
11.7k
          if (yych <= 0x1F) goto yy86;
6510
10.3k
          goto yy495;
6511
11.7k
        }
6512
578k
      } else {
6513
578k
        if (yych <= '.') {
6514
557k
          if (yych != '#') goto yy86;
6515
557k
        } else {
6516
20.3k
          if (yych <= '/') goto yy498;
6517
6.61k
          if (yych <= '@') goto yy86;
6518
2.48k
          if (yych <= 'D') goto yy582;
6519
685
          goto yy584;
6520
2.48k
        }
6521
578k
      }
6522
652k
    } else {
6523
40.8k
      if (yych <= '`') {
6524
7.30k
        if (yych <= 'Z') {
6525
5.36k
          if (yych == 'I') goto yy585;
6526
3.29k
          goto yy582;
6527
5.36k
        } else {
6528
1.93k
          if (yych == '_') goto yy582;
6529
621
          goto yy86;
6530
1.93k
        }
6531
33.5k
      } else {
6532
33.5k
        if (yych <= 'h') {
6533
14.3k
          if (yych == 'e') goto yy584;
6534
4.96k
          goto yy582;
6535
19.1k
        } else {
6536
19.1k
          if (yych <= 'i') goto yy585;
6537
14.1k
          if (yych <= 'z') goto yy582;
6538
7.25k
          if (yych <= 0x7F) goto yy86;
6539
5.58k
          goto yy582;
6540
7.25k
        }
6541
33.5k
      }
6542
40.8k
    }
6543
554k
yy497:
6544
554k
    YYDEBUG(497, *YYCURSOR);
6545
554k
    ++YYCURSOR;
6546
554k
    YYFILL(1);
6547
554k
    yych = *YYCURSOR;
6548
554k
    if (yych <= '\f') {
6549
412k
      if (yych <= 0x00) goto yy86;
6550
411k
      if (yych == '\n') goto yy588;
6551
6.85k
      goto yy586;
6552
411k
    } else {
6553
141k
      if (yych <= '\r') goto yy588;
6554
50.6k
      if (yych == '[') goto yy86;
6555
50.2k
      goto yy586;
6556
50.6k
    }
6557
14.4k
yy498:
6558
14.4k
    YYDEBUG(498, *YYCURSOR);
6559
14.4k
    ++YYCURSOR;
6560
14.4k
    YYFILL(1);
6561
14.4k
    yych = *YYCURSOR;
6562
14.4k
    if (yych == '*') goto yy590;
6563
6.32k
    if (yych == '/') goto yy586;
6564
1.75k
    goto yy86;
6565
19.8k
yy499:
6566
19.8k
    YYDEBUG(499, *YYCURSOR);
6567
19.8k
    yyaccept = 4;
6568
19.8k
    yych = *(YYMARKER = ++YYCURSOR);
6569
19.8k
    if (yych == 'D') goto yy592;
6570
19.0k
    if (yych == 'd') goto yy592;
6571
2.41k
    goto yy48;
6572
12.7k
yy500:
6573
12.7k
    YYDEBUG(500, *YYCURSOR);
6574
12.7k
    yyaccept = 42;
6575
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
6576
12.7k
    if (yych <= '\\') {
6577
5.89k
      if (yych <= 'K') {
6578
4.84k
        if (yych <= '/') goto yy501;
6579
1.85k
        if (yych <= '9') goto yy47;
6580
1.20k
        if (yych >= 'A') goto yy47;
6581
1.20k
      } else {
6582
1.04k
        if (yych <= 'L') goto yy593;
6583
780
        if (yych <= 'Z') goto yy47;
6584
359
        if (yych >= '\\') goto yy164;
6585
359
      }
6586
6.88k
    } else {
6587
6.88k
      if (yych <= 'k') {
6588
1.02k
        if (yych == '_') goto yy47;
6589
701
        if (yych >= 'a') goto yy47;
6590
5.85k
      } else {
6591
5.85k
        if (yych <= 'l') goto yy593;
6592
1.11k
        if (yych <= 'z') goto yy47;
6593
730
        if (yych >= 0x80) goto yy47;
6594
730
      }
6595
6.88k
    }
6596
4.91k
yy501:
6597
4.91k
    YYDEBUG(501, *YYCURSOR);
6598
4.91k
    yyleng = YYCURSOR - SCNG(yy_text);
6599
4.91k
#line 1774 "Zend/zend_language_scanner.l"
6600
4.91k
    {
6601
4.91k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6602
4.91k
}
6603
0
#line 6604 "Zend/zend_language_scanner.c"
6604
27.4k
yy502:
6605
27.4k
    YYDEBUG(502, *YYCURSOR);
6606
27.4k
    yyaccept = 4;
6607
27.4k
    yych = *(YYMARKER = ++YYCURSOR);
6608
27.4k
    if (yych == 'C') goto yy594;
6609
26.9k
    if (yych == 'c') goto yy594;
6610
884
    goto yy48;
6611
104k
yy503:
6612
104k
    YYDEBUG(503, *YYCURSOR);
6613
104k
    yyaccept = 4;
6614
104k
    yych = *(YYMARKER = ++YYCURSOR);
6615
104k
    if (yych == 'I') goto yy595;
6616
103k
    if (yych == 'i') goto yy595;
6617
1.98k
    goto yy48;
6618
6.51k
yy504:
6619
6.51k
    YYDEBUG(504, *YYCURSOR);
6620
6.51k
    yyaccept = 4;
6621
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
6622
6.51k
    if (yych == 'L') goto yy596;
6623
4.00k
    if (yych == 'l') goto yy596;
6624
1.03k
    goto yy48;
6625
24.4k
yy505:
6626
24.4k
    YYDEBUG(505, *YYCURSOR);
6627
24.4k
    yyaccept = 4;
6628
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
6629
24.4k
    if (yych == 'M') goto yy598;
6630
20.5k
    if (yych == 'm') goto yy598;
6631
8.66k
    goto yy48;
6632
10.6k
yy506:
6633
10.6k
    YYDEBUG(506, *YYCURSOR);
6634
10.6k
    yyaccept = 4;
6635
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
6636
10.6k
    if (yych == 'D') goto yy599;
6637
9.36k
    if (yych == 'd') goto yy599;
6638
486
    goto yy48;
6639
5.30k
yy507:
6640
5.30k
    YYDEBUG(507, *YYCURSOR);
6641
5.30k
    yyaccept = 4;
6642
5.30k
    yych = *(YYMARKER = ++YYCURSOR);
6643
5.30k
    if (yych == 'N') goto yy600;
6644
4.62k
    if (yych == 'n') goto yy600;
6645
476
    goto yy48;
6646
9.11k
yy508:
6647
9.11k
    YYDEBUG(508, *YYCURSOR);
6648
9.11k
    yyaccept = 4;
6649
9.11k
    yych = *(YYMARKER = ++YYCURSOR);
6650
9.11k
    if (yych == 'A') goto yy601;
6651
8.48k
    if (yych == 'a') goto yy601;
6652
2.78k
    goto yy48;
6653
10.2k
yy509:
6654
10.2k
    YYDEBUG(509, *YYCURSOR);
6655
10.2k
    yyaccept = 4;
6656
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
6657
10.2k
    if (yych == 'F') goto yy602;
6658
9.67k
    if (yych == 'f') goto yy602;
6659
676
    goto yy48;
6660
18.1k
yy510:
6661
18.1k
    YYDEBUG(510, *YYCURSOR);
6662
18.1k
    yyaccept = 43;
6663
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
6664
18.1k
    if (yybm[256+yych] & 128) {
6665
4.13k
      goto yy47;
6666
4.13k
    }
6667
14.0k
    if (yych == '\\') goto yy164;
6668
14.0k
yy511:
6669
14.0k
    YYDEBUG(511, *YYCURSOR);
6670
14.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6671
14.0k
#line 1754 "Zend/zend_language_scanner.l"
6672
14.0k
    {
6673
14.0k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6674
14.0k
}
6675
0
#line 6676 "Zend/zend_language_scanner.c"
6676
3.76k
yy512:
6677
3.76k
    YYDEBUG(512, *YYCURSOR);
6678
3.76k
    yyaccept = 44;
6679
3.76k
    yych = *(YYMARKER = ++YYCURSOR);
6680
3.76k
    if (yybm[256+yych] & 128) {
6681
362
      goto yy47;
6682
362
    }
6683
3.40k
    if (yych == '\\') goto yy164;
6684
3.40k
yy513:
6685
3.40k
    YYDEBUG(513, *YYCURSOR);
6686
3.40k
    yyleng = YYCURSOR - SCNG(yy_text);
6687
3.40k
#line 1518 "Zend/zend_language_scanner.l"
6688
3.40k
    {
6689
3.40k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6690
3.40k
}
6691
0
#line 6692 "Zend/zend_language_scanner.c"
6692
35.2k
yy514:
6693
35.2k
    YYDEBUG(514, *YYCURSOR);
6694
35.2k
    yyaccept = 4;
6695
35.2k
    yych = *(YYMARKER = ++YYCURSOR);
6696
35.2k
    if (yych == 'P') goto yy603;
6697
22.5k
    if (yych == 'p') goto yy603;
6698
1.40k
    goto yy48;
6699
15.2k
yy515:
6700
15.2k
    YYDEBUG(515, *YYCURSOR);
6701
15.2k
    yyaccept = 45;
6702
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
6703
15.2k
    if (yybm[256+yych] & 128) {
6704
7.76k
      goto yy47;
6705
7.76k
    }
6706
7.44k
    if (yych == '\\') goto yy164;
6707
7.35k
yy516:
6708
7.35k
    YYDEBUG(516, *YYCURSOR);
6709
7.35k
    yyleng = YYCURSOR - SCNG(yy_text);
6710
7.35k
#line 1550 "Zend/zend_language_scanner.l"
6711
7.35k
    {
6712
7.35k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6713
7.35k
}
6714
0
#line 6715 "Zend/zend_language_scanner.c"
6715
15.0k
yy517:
6716
15.0k
    YYDEBUG(517, *YYCURSOR);
6717
15.0k
    yyaccept = 4;
6718
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
6719
15.0k
    if (yych == 'T') goto yy604;
6720
14.0k
    if (yych == 't') goto yy604;
6721
737
    goto yy48;
6722
13.7k
yy518:
6723
13.7k
    YYDEBUG(518, *YYCURSOR);
6724
13.7k
    yyaccept = 4;
6725
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
6726
13.7k
    if (yych == 'C') goto yy605;
6727
12.4k
    if (yych == 'c') goto yy605;
6728
1.31k
    goto yy48;
6729
69.1k
yy519:
6730
69.1k
    YYDEBUG(519, *YYCURSOR);
6731
69.1k
    yyaccept = 4;
6732
69.1k
    yych = *(YYMARKER = ++YYCURSOR);
6733
69.1k
    if (yych == 'C') goto yy606;
6734
66.6k
    if (yych == 'c') goto yy606;
6735
2.78k
    goto yy48;
6736
6.99k
yy520:
6737
6.99k
    YYDEBUG(520, *YYCURSOR);
6738
6.99k
    yyaccept = 4;
6739
6.99k
    yych = *(YYMARKER = ++YYCURSOR);
6740
6.99k
    if (yych == 'N') goto yy608;
6741
6.76k
    if (yych == 'n') goto yy608;
6742
423
    goto yy48;
6743
22.7k
yy521:
6744
22.7k
    YYDEBUG(521, *YYCURSOR);
6745
22.7k
    yyaccept = 4;
6746
22.7k
    yych = *(YYMARKER = ++YYCURSOR);
6747
22.7k
    if (yych == 'R') goto yy609;
6748
21.9k
    if (yych == 'r') goto yy609;
6749
969
    goto yy48;
6750
26.5k
yy522:
6751
26.5k
    YYDEBUG(522, *YYCURSOR);
6752
26.5k
    yyaccept = 4;
6753
26.5k
    yych = *(YYMARKER = ++YYCURSOR);
6754
26.5k
    if (yych == 'N') goto yy610;
6755
25.9k
    if (yych == 'n') goto yy610;
6756
999
    goto yy48;
6757
21.3k
yy523:
6758
21.3k
    YYDEBUG(523, *YYCURSOR);
6759
21.3k
    yyaccept = 4;
6760
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
6761
21.3k
    if (yych == 'C') goto yy612;
6762
20.6k
    if (yych == 'c') goto yy612;
6763
1.42k
    goto yy48;
6764
7.52k
yy524:
6765
7.52k
    YYDEBUG(524, *YYCURSOR);
6766
7.52k
    yyaccept = 4;
6767
7.52k
    yych = *(YYMARKER = ++YYCURSOR);
6768
7.52k
    if (yych == 'H') goto yy614;
6769
6.87k
    if (yych == 'h') goto yy614;
6770
2.16k
    goto yy48;
6771
10.9k
yy525:
6772
10.9k
    YYDEBUG(525, *YYCURSOR);
6773
10.9k
    yyaccept = 46;
6774
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
6775
10.9k
    if (yybm[256+yych] & 128) {
6776
3.46k
      goto yy47;
6777
3.46k
    }
6778
7.47k
    if (yych == '\\') goto yy164;
6779
7.46k
yy526:
6780
7.46k
    YYDEBUG(526, *YYCURSOR);
6781
7.46k
    yyleng = YYCURSOR - SCNG(yy_text);
6782
7.46k
#line 1450 "Zend/zend_language_scanner.l"
6783
7.46k
    {
6784
7.46k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6785
7.46k
}
6786
0
#line 6787 "Zend/zend_language_scanner.c"
6787
8.82k
yy527:
6788
8.82k
    YYDEBUG(527, *YYCURSOR);
6789
8.82k
    yyaccept = 47;
6790
8.82k
    yych = *(YYMARKER = ++YYCURSOR);
6791
8.82k
    if (yybm[256+yych] & 128) {
6792
1.80k
      goto yy47;
6793
1.80k
    }
6794
7.02k
    if (yych == '\\') goto yy164;
6795
6.99k
yy528:
6796
6.99k
    YYDEBUG(528, *YYCURSOR);
6797
6.99k
    yyleng = YYCURSOR - SCNG(yy_text);
6798
6.99k
#line 1562 "Zend/zend_language_scanner.l"
6799
6.99k
    {
6800
6.99k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6801
6.99k
}
6802
0
#line 6803 "Zend/zend_language_scanner.c"
6803
9.92k
yy529:
6804
9.92k
    YYDEBUG(529, *YYCURSOR);
6805
9.92k
    yyaccept = 48;
6806
9.92k
    yych = *(YYMARKER = ++YYCURSOR);
6807
9.92k
    if (yybm[256+yych] & 128) {
6808
935
      goto yy47;
6809
935
    }
6810
8.99k
    if (yych == '\\') goto yy164;
6811
8.98k
yy530:
6812
8.98k
    YYDEBUG(530, *YYCURSOR);
6813
8.98k
    yyleng = YYCURSOR - SCNG(yy_text);
6814
8.98k
#line 1806 "Zend/zend_language_scanner.l"
6815
8.98k
    {
6816
8.98k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6817
8.98k
}
6818
0
#line 6819 "Zend/zend_language_scanner.c"
6819
4.62k
yy531:
6820
4.62k
    YYDEBUG(531, *YYCURSOR);
6821
4.62k
    yyaccept = 49;
6822
4.62k
    yych = *(YYMARKER = ++YYCURSOR);
6823
4.62k
    if (yybm[256+yych] & 128) {
6824
779
      goto yy47;
6825
779
    }
6826
3.84k
    if (yych == '\\') goto yy164;
6827
3.84k
yy532:
6828
3.84k
    YYDEBUG(532, *YYCURSOR);
6829
3.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6830
3.84k
#line 1470 "Zend/zend_language_scanner.l"
6831
3.84k
    {
6832
3.84k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6833
3.84k
}
6834
0
#line 6835 "Zend/zend_language_scanner.c"
6835
84.5k
yy533:
6836
84.5k
    YYDEBUG(533, *YYCURSOR);
6837
84.5k
    yyaccept = 50;
6838
84.5k
    yych = *(YYMARKER = ++YYCURSOR);
6839
84.5k
    if (yybm[256+yych] & 128) {
6840
1.17k
      goto yy47;
6841
1.17k
    }
6842
83.4k
    if (yych <= ' ') {
6843
41.3k
      if (yych <= '\f') {
6844
27.9k
        if (yych <= 0x08) goto yy534;
6845
27.0k
        if (yych <= '\n') goto yy616;
6846
27.0k
      } else {
6847
13.3k
        if (yych <= '\r') goto yy616;
6848
11.9k
        if (yych >= ' ') goto yy616;
6849
11.9k
      }
6850
42.1k
    } else {
6851
42.1k
      if (yych <= '.') {
6852
39.0k
        if (yych == '#') goto yy618;
6853
39.0k
      } else {
6854
3.03k
        if (yych <= '/') goto yy619;
6855
2.44k
        if (yych == '\\') goto yy164;
6856
2.44k
      }
6857
42.1k
    }
6858
59.6k
yy534:
6859
59.6k
    YYDEBUG(534, *YYCURSOR);
6860
59.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6861
59.6k
#line 1434 "Zend/zend_language_scanner.l"
6862
59.6k
    {
6863
59.6k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6864
59.6k
}
6865
0
#line 6866 "Zend/zend_language_scanner.c"
6866
12.0k
yy535:
6867
12.0k
    YYDEBUG(535, *YYCURSOR);
6868
12.0k
    yyaccept = 4;
6869
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
6870
12.0k
    if (yych == 'S') goto yy620;
6871
10.3k
    if (yych == 's') goto yy620;
6872
1.44k
    goto yy48;
6873
7.33k
yy536:
6874
7.33k
    YYDEBUG(536, *YYCURSOR);
6875
7.33k
    yyaccept = 4;
6876
7.33k
    yych = *(YYMARKER = ++YYCURSOR);
6877
7.33k
    if (yych == '_') goto yy621;
6878
1.71k
    goto yy48;
6879
10.5k
yy537:
6880
10.5k
    YYDEBUG(537, *YYCURSOR);
6881
10.5k
    yyaccept = 4;
6882
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6883
10.5k
    if (yych == 'E') goto yy622;
6884
3.25k
    if (yych == 'e') goto yy622;
6885
669
    goto yy48;
6886
9.81k
yy538:
6887
9.81k
    YYDEBUG(538, *YYCURSOR);
6888
9.81k
    yyaccept = 4;
6889
9.81k
    yych = *(YYMARKER = ++YYCURSOR);
6890
9.81k
    if (yych == 'C') goto yy623;
6891
6.60k
    if (yych == 'c') goto yy623;
6892
1.56k
    goto yy48;
6893
7.56k
yy539:
6894
7.56k
    YYDEBUG(539, *YYCURSOR);
6895
7.56k
    yyaccept = 4;
6896
7.56k
    yych = *(YYMARKER = ++YYCURSOR);
6897
7.56k
    if (yych == 'T') goto yy624;
6898
5.94k
    if (yych == 't') goto yy624;
6899
445
    goto yy48;
6900
4.36k
yy540:
6901
4.36k
    YYDEBUG(540, *YYCURSOR);
6902
4.36k
    yyaccept = 4;
6903
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
6904
4.36k
    if (yych == 'E') goto yy625;
6905
2.80k
    if (yych == 'e') goto yy625;
6906
495
    goto yy48;
6907
15.1k
yy541:
6908
15.1k
    YYDEBUG(541, *YYCURSOR);
6909
15.1k
    yyaccept = 4;
6910
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
6911
15.1k
    if (yych == 'H') goto yy626;
6912
8.02k
    if (yych == 'h') goto yy626;
6913
1.16k
    goto yy48;
6914
10.7k
yy542:
6915
10.7k
    YYDEBUG(542, *YYCURSOR);
6916
10.7k
    yyaccept = 4;
6917
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
6918
10.7k
    if (yych == 'E') goto yy627;
6919
7.19k
    if (yych == 'e') goto yy627;
6920
1.08k
    goto yy48;
6921
6.08k
yy543:
6922
6.08k
    YYDEBUG(543, *YYCURSOR);
6923
6.08k
    yyaccept = 4;
6924
6.08k
    yych = *(YYMARKER = ++YYCURSOR);
6925
6.08k
    if (yych == 'P') goto yy628;
6926
1.53k
    if (yych == 'p') goto yy628;
6927
976
    goto yy48;
6928
6.56k
yy544:
6929
6.56k
    YYDEBUG(544, *YYCURSOR);
6930
6.56k
    yyaccept = 4;
6931
6.56k
    yych = *(YYMARKER = ++YYCURSOR);
6932
6.56k
    if (yych == 'I') goto yy629;
6933
5.62k
    if (yych == 'i') goto yy629;
6934
685
    goto yy48;
6935
121k
yy545:
6936
121k
    YYDEBUG(545, *YYCURSOR);
6937
121k
    ++YYCURSOR;
6938
121k
    YYFILL(1);
6939
121k
    yych = *YYCURSOR;
6940
121k
    YYDEBUG(546, *YYCURSOR);
6941
121k
    if (yybm[0+yych] & 64) {
6942
559
      goto yy355;
6943
559
    }
6944
120k
    if (yych <= ' ') {
6945
14.1k
      if (yych <= '\n') {
6946
6.60k
        if (yych <= 0x00) goto yy86;
6947
5.01k
        if (yych <= 0x08) goto yy230;
6948
4.52k
        goto yy545;
6949
7.52k
      } else {
6950
7.52k
        if (yych == '\r') goto yy545;
6951
1.53k
        if (yych <= 0x1F) goto yy230;
6952
1.24k
        goto yy545;
6953
1.53k
      }
6954
106k
    } else {
6955
106k
      if (yych <= '$') {
6956
78.3k
        if (yych <= '"') goto yy230;
6957
78.3k
        if (yych <= '#') goto yy630;
6958
2.18k
        goto yy631;
6959
78.3k
      } else {
6960
28.4k
        if (yych <= '-') goto yy230;
6961
21.3k
        if (yych <= '.') goto yy632;
6962
19.8k
        if (yych <= '/') goto yy633;
6963
3.97k
        goto yy230;
6964
19.8k
      }
6965
106k
    }
6966
18.2k
yy547:
6967
18.2k
    YYDEBUG(547, *YYCURSOR);
6968
18.2k
    ++YYCURSOR;
6969
18.2k
    YYFILL(1);
6970
18.2k
    yych = *YYCURSOR;
6971
18.2k
    YYDEBUG(548, *YYCURSOR);
6972
18.2k
    if (yych <= '\r') {
6973
3.38k
      if (yych <= '\t') {
6974
858
        if (yych <= 0x00) goto yy86;
6975
374
        goto yy443;
6976
2.52k
      } else {
6977
2.52k
        if (yych <= '\n') goto yy545;
6978
1.64k
        if (yych <= '\f') goto yy443;
6979
1.19k
        goto yy545;
6980
1.64k
      }
6981
14.9k
    } else {
6982
14.9k
      if (yych <= '*') {
6983
6.24k
        if (yych <= ')') goto yy443;
6984
833
        goto yy547;
6985
8.66k
      } else {
6986
8.66k
        if (yych == '/') goto yy227;
6987
2.07k
        goto yy443;
6988
8.66k
      }
6989
14.9k
    }
6990
13.4k
yy549:
6991
13.4k
    YYDEBUG(549, *YYCURSOR);
6992
13.4k
    ++YYCURSOR;
6993
13.4k
    YYFILL(1);
6994
13.4k
    yych = *YYCURSOR;
6995
13.4k
    YYDEBUG(550, *YYCURSOR);
6996
13.4k
    if (yych <= 0x1F) {
6997
500
      if (yych == '\t') goto yy549;
6998
302
      goto yy86;
6999
12.9k
    } else {
7000
12.9k
      if (yych <= ' ') goto yy549;
7001
8.92k
      if (yych == ')') goto yy634;
7002
7.95k
      goto yy86;
7003
8.92k
    }
7004
3.11k
yy551:
7005
3.11k
    YYDEBUG(551, *YYCURSOR);
7006
3.11k
    yych = *++YYCURSOR;
7007
3.11k
    if (yych == 'Y') goto yy636;
7008
2.86k
    if (yych == 'y') goto yy636;
7009
406
    goto yy86;
7010
890
yy552:
7011
890
    YYDEBUG(552, *YYCURSOR);
7012
890
    ++YYCURSOR;
7013
890
    YYFILL(1);
7014
890
    yych = *YYCURSOR;
7015
2.64k
yy553:
7016
2.64k
    YYDEBUG(553, *YYCURSOR);
7017
2.64k
    if (yych <= 0x1F) {
7018
1.07k
      if (yych == '\t') goto yy552;
7019
533
      goto yy86;
7020
1.56k
    } else {
7021
1.56k
      if (yych <= ' ') goto yy552;
7022
1.22k
      if (yych != ')') goto yy86;
7023
1.22k
    }
7024
813
    YYDEBUG(554, *YYCURSOR);
7025
813
    ++YYCURSOR;
7026
813
    YYDEBUG(555, *YYCURSOR);
7027
813
    yyleng = YYCURSOR - SCNG(yy_text);
7028
813
#line 1696 "Zend/zend_language_scanner.l"
7029
813
    {
7030
813
  RETURN_TOKEN(T_BOOL_CAST);
7031
813
}
7032
0
#line 7033 "Zend/zend_language_scanner.c"
7033
2.28k
yy556:
7034
2.28k
    YYDEBUG(556, *YYCURSOR);
7035
2.28k
    yych = *++YYCURSOR;
7036
2.28k
    if (yych == 'A') goto yy638;
7037
1.69k
    if (yych == 'a') goto yy638;
7038
520
    goto yy86;
7039
1.55k
yy557:
7040
1.55k
    YYDEBUG(557, *YYCURSOR);
7041
1.55k
    yych = *++YYCURSOR;
7042
1.55k
    if (yych == 'E') goto yy639;
7043
1.09k
    if (yych == 'e') goto yy639;
7044
382
    goto yy86;
7045
3.31k
yy558:
7046
3.31k
    YYDEBUG(558, *YYCURSOR);
7047
3.31k
    ++YYCURSOR;
7048
3.31k
    YYFILL(1);
7049
3.31k
    yych = *YYCURSOR;
7050
3.31k
    YYDEBUG(559, *YYCURSOR);
7051
3.31k
    if (yych <= 0x1F) {
7052
919
      if (yych == '\t') goto yy558;
7053
450
      goto yy86;
7054
2.40k
    } else {
7055
2.40k
      if (yych <= ' ') goto yy558;
7056
1.98k
      if (yych == ')') goto yy641;
7057
518
      goto yy86;
7058
1.98k
    }
7059
2.76k
yy560:
7060
2.76k
    YYDEBUG(560, *YYCURSOR);
7061
2.76k
    yych = *++YYCURSOR;
7062
2.76k
    if (yych == 'E') goto yy643;
7063
2.48k
    if (yych == 'e') goto yy643;
7064
416
    goto yy86;
7065
2.96k
yy561:
7066
2.96k
    YYDEBUG(561, *YYCURSOR);
7067
2.96k
    yych = *++YYCURSOR;
7068
2.96k
    if (yych == 'T') goto yy644;
7069
2.04k
    if (yych == 't') goto yy644;
7070
453
    goto yy86;
7071
1.05k
yy562:
7072
1.05k
    YYDEBUG(562, *YYCURSOR);
7073
1.05k
    ++YYCURSOR;
7074
1.05k
    YYDEBUG(563, *YYCURSOR);
7075
1.05k
    yyleng = YYCURSOR - SCNG(yy_text);
7076
1.05k
#line 1666 "Zend/zend_language_scanner.l"
7077
1.05k
    {
7078
1.05k
  if (PARSER_MODE()) {
7079
9
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7080
9
    RETURN_TOKEN(T_ERROR);
7081
9
  }
7082
1.05k
  RETURN_TOKEN(T_DOUBLE_CAST);
7083
1.05k
}
7084
0
#line 7085 "Zend/zend_language_scanner.c"
7085
12.1k
yy564:
7086
12.1k
    YYDEBUG(564, *YYCURSOR);
7087
12.1k
    yych = *++YYCURSOR;
7088
12.1k
    if (yych == 'G') goto yy646;
7089
11.7k
    if (yych == 'g') goto yy646;
7090
1.22k
    goto yy86;
7091
2.75k
yy565:
7092
2.75k
    YYDEBUG(565, *YYCURSOR);
7093
2.75k
    ++YYCURSOR;
7094
2.75k
    YYFILL(1);
7095
2.75k
    yych = *YYCURSOR;
7096
2.75k
    YYDEBUG(566, *YYCURSOR);
7097
2.75k
    if (yych <= 0x1F) {
7098
684
      if (yych == '\t') goto yy565;
7099
315
      goto yy86;
7100
2.07k
    } else {
7101
2.07k
      if (yych <= ' ') goto yy565;
7102
1.63k
      if (yych == ')') goto yy648;
7103
778
      goto yy86;
7104
1.63k
    }
7105
502
yy567:
7106
502
    YYDEBUG(567, *YYCURSOR);
7107
502
    ++YYCURSOR;
7108
502
    YYDEBUG(568, *YYCURSOR);
7109
502
    yyleng = YYCURSOR - SCNG(yy_text);
7110
502
#line 1714 "Zend/zend_language_scanner.l"
7111
502
    {
7112
502
  RETURN_TOKEN(T_VOID_CAST);
7113
502
}
7114
0
#line 7115 "Zend/zend_language_scanner.c"
7115
8.19k
yy569:
7116
8.19k
    YYDEBUG(569, *YYCURSOR);
7117
8.19k
    yych = *++YYCURSOR;
7118
8.19k
    if (yych == '\n') goto yy466;
7119
2.38k
    if (yych == '\r') goto yy468;
7120
816
    goto yy86;
7121
8.60k
yy570:
7122
8.60k
    YYDEBUG(570, *YYCURSOR);
7123
8.60k
    yyaccept = 4;
7124
8.60k
    yych = *(YYMARKER = ++YYCURSOR);
7125
8.60k
    if (yych == 'C') goto yy650;
7126
7.29k
    if (yych == 'c') goto yy650;
7127
1.20k
    goto yy48;
7128
5.06k
yy571:
7129
5.06k
    YYDEBUG(571, *YYCURSOR);
7130
5.06k
    yyaccept = 4;
7131
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
7132
5.06k
    if (yych == 'L') goto yy651;
7133
3.99k
    if (yych == 'l') goto yy651;
7134
506
    goto yy48;
7135
4.31k
yy572:
7136
4.31k
    YYDEBUG(572, *YYCURSOR);
7137
4.31k
    yyaccept = 4;
7138
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
7139
4.31k
    if (yych == 'U') goto yy652;
7140
3.08k
    if (yych == 'u') goto yy652;
7141
552
    goto yy48;
7142
6.91k
yy573:
7143
6.91k
    YYDEBUG(573, *YYCURSOR);
7144
6.91k
    yyaccept = 4;
7145
6.91k
    yych = *(YYMARKER = ++YYCURSOR);
7146
6.91k
    if (yych == 'E') goto yy653;
7147
6.57k
    if (yych == 'e') goto yy653;
7148
756
    goto yy48;
7149
3.37k
yy574:
7150
3.37k
    YYDEBUG(574, *YYCURSOR);
7151
3.37k
    yyaccept = 4;
7152
3.37k
    yych = *(YYMARKER = ++YYCURSOR);
7153
3.37k
    if (yych == 'T') goto yy655;
7154
3.03k
    if (yych == 't') goto yy655;
7155
555
    goto yy48;
7156
3.45k
yy575:
7157
3.45k
    YYDEBUG(575, *YYCURSOR);
7158
3.45k
    yyaccept = 51;
7159
3.45k
    yych = *(YYMARKER = ++YYCURSOR);
7160
3.45k
    if (yybm[256+yych] & 128) {
7161
802
      goto yy47;
7162
802
    }
7163
2.64k
    if (yych == '\\') goto yy164;
7164
2.54k
yy576:
7165
2.54k
    YYDEBUG(576, *YYCURSOR);
7166
2.54k
    yyleng = YYCURSOR - SCNG(yy_text);
7167
2.54k
#line 1458 "Zend/zend_language_scanner.l"
7168
2.54k
    {
7169
2.54k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7170
2.54k
}
7171
0
#line 7172 "Zend/zend_language_scanner.c"
7172
5.25k
yy577:
7173
5.25k
    YYDEBUG(577, *YYCURSOR);
7174
5.25k
    yyaccept = 4;
7175
5.25k
    yych = *(YYMARKER = ++YYCURSOR);
7176
5.25k
    if (yych == 'L') goto yy657;
7177
4.66k
    if (yych == 'l') goto yy657;
7178
1.38k
    goto yy48;
7179
10.7k
yy578:
7180
10.7k
    YYDEBUG(578, *YYCURSOR);
7181
10.7k
    yyaccept = 52;
7182
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
7183
10.7k
    if (yych <= '\\') {
7184
5.71k
      if (yych <= 'D') {
7185
2.82k
        if (yych <= '/') goto yy579;
7186
2.01k
        if (yych <= '9') goto yy47;
7187
1.01k
        if (yych >= 'A') goto yy47;
7188
2.89k
      } else {
7189
2.89k
        if (yych <= 'E') goto yy658;
7190
923
        if (yych <= 'Z') goto yy47;
7191
542
        if (yych >= '\\') goto yy164;
7192
542
      }
7193
5.71k
    } else {
7194
4.99k
      if (yych <= 'd') {
7195
728
        if (yych == '_') goto yy47;
7196
507
        if (yych >= 'a') goto yy47;
7197
4.26k
      } else {
7198
4.26k
        if (yych <= 'e') goto yy658;
7199
1.05k
        if (yych <= 'z') goto yy47;
7200
815
        if (yych >= 0x80) goto yy47;
7201
815
      }
7202
4.99k
    }
7203
2.71k
yy579:
7204
2.71k
    YYDEBUG(579, *YYCURSOR);
7205
2.71k
    yyleng = YYCURSOR - SCNG(yy_text);
7206
2.71k
#line 1486 "Zend/zend_language_scanner.l"
7207
2.71k
    {
7208
2.71k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7209
2.71k
}
7210
0
#line 7211 "Zend/zend_language_scanner.c"
7211
3.71k
yy580:
7212
3.71k
    YYDEBUG(580, *YYCURSOR);
7213
3.71k
    yyaccept = 4;
7214
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
7215
3.71k
    if (yych == 'T') goto yy659;
7216
2.59k
    if (yych == 't') goto yy659;
7217
442
    goto yy48;
7218
8.27k
yy581:
7219
8.27k
    YYDEBUG(581, *YYCURSOR);
7220
8.27k
    yyaccept = 4;
7221
8.27k
    yych = *(YYMARKER = ++YYCURSOR);
7222
8.27k
    if (yych == 'L') goto yy660;
7223
5.84k
    if (yych == 'l') goto yy660;
7224
629
    goto yy48;
7225
23.8k
yy582:
7226
23.8k
    YYDEBUG(582, *YYCURSOR);
7227
23.8k
    ++YYCURSOR;
7228
127k
yy583:
7229
127k
    YYDEBUG(583, *YYCURSOR);
7230
127k
    yyleng = YYCURSOR - SCNG(yy_text);
7231
127k
#line 1574 "Zend/zend_language_scanner.l"
7232
127k
    {
7233
127k
  yyless(4);
7234
127k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7235
127k
}
7236
0
#line 7237 "Zend/zend_language_scanner.c"
7237
10.0k
yy584:
7238
10.0k
    YYDEBUG(584, *YYCURSOR);
7239
10.0k
    yyaccept = 53;
7240
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
7241
10.0k
    if (yych == 'X') goto yy661;
7242
9.86k
    if (yych == 'x') goto yy661;
7243
7.35k
    goto yy583;
7244
7.35k
yy585:
7245
7.06k
    YYDEBUG(585, *YYCURSOR);
7246
7.06k
    yyaccept = 53;
7247
7.06k
    yych = *(YYMARKER = ++YYCURSOR);
7248
7.06k
    if (yych == 'M') goto yy662;
7249
5.64k
    if (yych == 'm') goto yy662;
7250
1.55k
    goto yy583;
7251
2.71M
yy586:
7252
2.71M
    YYDEBUG(586, *YYCURSOR);
7253
2.71M
    ++YYCURSOR;
7254
2.71M
    YYFILL(1);
7255
2.71M
    yych = *YYCURSOR;
7256
2.71M
    YYDEBUG(587, *YYCURSOR);
7257
2.71M
    if (yych <= '\n') {
7258
117k
      if (yych <= 0x00) goto yy86;
7259
102k
      if (yych <= '\t') goto yy586;
7260
71.3k
      goto yy495;
7261
2.59M
    } else {
7262
2.59M
      if (yych == '\r') goto yy495;
7263
2.25M
      goto yy586;
7264
2.59M
    }
7265
558k
yy588:
7266
558k
    YYDEBUG(588, *YYCURSOR);
7267
558k
    ++YYCURSOR;
7268
558k
    YYFILL(1);
7269
558k
    yych = *YYCURSOR;
7270
558k
    YYDEBUG(589, *YYCURSOR);
7271
558k
    if (yych <= 'D') {
7272
212k
      if (yych <= 0x1F) {
7273
26.8k
        if (yych <= '\t') {
7274
7.08k
          if (yych <= 0x00) goto yy86;
7275
5.74k
          if (yych <= 0x08) goto yy586;
7276
1.16k
          goto yy588;
7277
19.7k
        } else {
7278
19.7k
          if (yych <= '\n') goto yy495;
7279
16.7k
          if (yych == '\r') goto yy495;
7280
3.29k
          goto yy586;
7281
16.7k
        }
7282
185k
      } else {
7283
185k
        if (yych <= '#') {
7284
52.7k
          if (yych <= ' ') goto yy588;
7285
40.3k
          if (yych <= '"') goto yy586;
7286
39.0k
          goto yy663;
7287
133k
        } else {
7288
133k
          if (yych == '/') goto yy664;
7289
14.2k
          if (yych <= '@') goto yy586;
7290
533
          goto yy665;
7291
14.2k
        }
7292
185k
      }
7293
346k
    } else {
7294
346k
      if (yych <= '`') {
7295
13.3k
        if (yych <= 'I') {
7296
10.7k
          if (yych <= 'E') goto yy666;
7297
10.1k
          if (yych <= 'H') goto yy665;
7298
9.69k
          goto yy667;
7299
10.1k
        } else {
7300
2.54k
          if (yych <= 'Z') goto yy665;
7301
1.36k
          if (yych == '_') goto yy665;
7302
782
          goto yy586;
7303
1.36k
        }
7304
332k
      } else {
7305
332k
        if (yych <= 'h') {
7306
266k
          if (yych == 'e') goto yy666;
7307
7.13k
          goto yy665;
7308
266k
        } else {
7309
66.1k
          if (yych <= 'i') goto yy667;
7310
30.7k
          if (yych <= 'z') goto yy665;
7311
17.3k
          if (yych <= 0x7F) goto yy586;
7312
5.28k
          goto yy665;
7313
17.3k
        }
7314
332k
      }
7315
346k
    }
7316
2.45M
yy590:
7317
2.45M
    YYDEBUG(590, *YYCURSOR);
7318
2.45M
    ++YYCURSOR;
7319
2.45M
    YYFILL(1);
7320
2.45M
    yych = *YYCURSOR;
7321
2.45M
    YYDEBUG(591, *YYCURSOR);
7322
2.45M
    if (yych <= 0x00) goto yy86;
7323
2.42M
    if (yych == '*') goto yy668;
7324
2.37M
    goto yy590;
7325
2.37M
yy592:
7326
17.4k
    YYDEBUG(592, *YYCURSOR);
7327
17.4k
    yyaccept = 4;
7328
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
7329
17.4k
    if (yych == 'S') goto yy670;
7330
16.8k
    if (yych == 's') goto yy670;
7331
1.26k
    goto yy48;
7332
5.00k
yy593:
7333
5.00k
    YYDEBUG(593, *YYCURSOR);
7334
5.00k
    yyaccept = 4;
7335
5.00k
    yych = *(YYMARKER = ++YYCURSOR);
7336
5.00k
    if (yych == 'Y') goto yy672;
7337
4.78k
    if (yych == 'y') goto yy672;
7338
347
    goto yy48;
7339
26.5k
yy594:
7340
26.5k
    YYDEBUG(594, *YYCURSOR);
7341
26.5k
    yyaccept = 4;
7342
26.5k
    yych = *(YYMARKER = ++YYCURSOR);
7343
26.5k
    if (yych == 'H') goto yy674;
7344
26.1k
    if (yych == 'h') goto yy674;
7345
1.12k
    goto yy48;
7346
102k
yy595:
7347
102k
    YYDEBUG(595, *YYCURSOR);
7348
102k
    yyaccept = 4;
7349
102k
    yych = *(YYMARKER = ++YYCURSOR);
7350
102k
    if (yych == 'O') goto yy676;
7351
101k
    if (yych == 'o') goto yy676;
7352
2.33k
    goto yy48;
7353
5.47k
yy596:
7354
5.47k
    YYDEBUG(596, *YYCURSOR);
7355
5.47k
    yyaccept = 54;
7356
5.47k
    yych = *(YYMARKER = ++YYCURSOR);
7357
5.47k
    if (yybm[256+yych] & 128) {
7358
1.65k
      goto yy47;
7359
1.65k
    }
7360
3.82k
    if (yych == '\\') goto yy164;
7361
3.79k
yy597:
7362
3.79k
    YYDEBUG(597, *YYCURSOR);
7363
3.79k
    yyleng = YYCURSOR - SCNG(yy_text);
7364
3.79k
#line 1750 "Zend/zend_language_scanner.l"
7365
3.79k
    {
7366
3.79k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7367
3.79k
}
7368
0
#line 7369 "Zend/zend_language_scanner.c"
7369
15.8k
yy598:
7370
15.8k
    YYDEBUG(598, *YYCURSOR);
7371
15.8k
    yyaccept = 4;
7372
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
7373
15.8k
    if (yych == 'E') goto yy677;
7374
12.6k
    if (yych == 'e') goto yy677;
7375
3.41k
    goto yy48;
7376
10.1k
yy599:
7377
10.1k
    YYDEBUG(599, *YYCURSOR);
7378
10.1k
    yyaccept = 4;
7379
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
7380
10.1k
    if (yych == 'E') goto yy678;
7381
8.52k
    if (yych == 'e') goto yy678;
7382
590
    goto yy48;
7383
4.82k
yy600:
7384
4.82k
    YYDEBUG(600, *YYCURSOR);
7385
4.82k
    yyaccept = 4;
7386
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
7387
4.82k
    if (yych == 'C') goto yy680;
7388
4.19k
    if (yych == 'c') goto yy680;
7389
329
    goto yy48;
7390
6.32k
yy601:
7391
6.32k
    YYDEBUG(601, *YYCURSOR);
7392
6.32k
    yyaccept = 4;
7393
6.32k
    yych = *(YYMARKER = ++YYCURSOR);
7394
6.32k
    if (yych == 'D') goto yy681;
7395
5.92k
    if (yych == 'd') goto yy681;
7396
568
    goto yy48;
7397
9.59k
yy602:
7398
9.59k
    YYDEBUG(602, *YYCURSOR);
7399
9.59k
    yyaccept = 4;
7400
9.59k
    yych = *(YYMARKER = ++YYCURSOR);
7401
9.59k
    if (yych == 'A') goto yy682;
7402
9.19k
    if (yych == 'a') goto yy682;
7403
1.04k
    goto yy48;
7404
33.8k
yy603:
7405
33.8k
    YYDEBUG(603, *YYCURSOR);
7406
33.8k
    yyaccept = 4;
7407
33.8k
    yych = *(YYMARKER = ++YYCURSOR);
7408
33.8k
    if (yych == 'A') goto yy683;
7409
32.8k
    if (yych == 'a') goto yy683;
7410
1.07k
    goto yy48;
7411
14.3k
yy604:
7412
14.3k
    YYDEBUG(604, *YYCURSOR);
7413
14.3k
    yyaccept = 4;
7414
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
7415
14.3k
    if (yych == 'E') goto yy684;
7416
13.2k
    if (yych == 'e') goto yy684;
7417
766
    goto yy48;
7418
12.3k
yy605:
7419
12.3k
    YYDEBUG(605, *YYCURSOR);
7420
12.3k
    yyaccept = 4;
7421
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
7422
12.3k
    if (yych == 'T') goto yy686;
7423
10.9k
    if (yych == 't') goto yy686;
7424
1.46k
    goto yy48;
7425
66.3k
yy606:
7426
66.3k
    YYDEBUG(606, *YYCURSOR);
7427
66.3k
    yyaccept = 55;
7428
66.3k
    yych = *(YYMARKER = ++YYCURSOR);
7429
66.3k
    if (yybm[256+yych] & 128) {
7430
1.95k
      goto yy47;
7431
1.95k
    }
7432
64.3k
    if (yych == '(') goto yy687;
7433
61.3k
    if (yych == '\\') goto yy164;
7434
63.1k
yy607:
7435
63.1k
    YYDEBUG(607, *YYCURSOR);
7436
63.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7437
63.1k
#line 1798 "Zend/zend_language_scanner.l"
7438
63.1k
    {
7439
63.1k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7440
63.1k
}
7441
0
#line 7442 "Zend/zend_language_scanner.c"
7442
6.56k
yy608:
7443
6.56k
    YYDEBUG(608, *YYCURSOR);
7444
6.56k
    yyaccept = 4;
7445
6.56k
    yych = *(YYMARKER = ++YYCURSOR);
7446
6.56k
    if (yych == 'L') goto yy688;
7447
6.32k
    if (yych == 'l') goto yy688;
7448
870
    goto yy48;
7449
21.7k
yy609:
7450
21.7k
    YYDEBUG(609, *YYCURSOR);
7451
21.7k
    yyaccept = 4;
7452
21.7k
    yych = *(YYMARKER = ++YYCURSOR);
7453
21.7k
    if (yych == 'E') goto yy689;
7454
21.3k
    if (yych == 'e') goto yy689;
7455
942
    goto yy48;
7456
25.5k
yy610:
7457
25.5k
    YYDEBUG(610, *YYCURSOR);
7458
25.5k
    yyaccept = 56;
7459
25.5k
    yych = *(YYMARKER = ++YYCURSOR);
7460
25.5k
    if (yybm[256+yych] & 128) {
7461
1.55k
      goto yy47;
7462
1.55k
    }
7463
23.9k
    if (yych == '\\') goto yy164;
7464
23.9k
yy611:
7465
23.9k
    YYDEBUG(611, *YYCURSOR);
7466
23.9k
    yyleng = YYCURSOR - SCNG(yy_text);
7467
23.9k
#line 1419 "Zend/zend_language_scanner.l"
7468
23.9k
    {
7469
23.9k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7470
23.9k
}
7471
0
#line 7472 "Zend/zend_language_scanner.c"
7472
19.9k
yy612:
7473
19.9k
    YYDEBUG(612, *YYCURSOR);
7474
19.9k
    yyaccept = 57;
7475
19.9k
    yych = *(YYMARKER = ++YYCURSOR);
7476
19.9k
    if (yybm[256+yych] & 128) {
7477
1.21k
      goto yy47;
7478
1.21k
    }
7479
18.7k
    if (yych == '\\') goto yy164;
7480
18.7k
yy613:
7481
18.7k
    YYDEBUG(613, *YYCURSOR);
7482
18.7k
    yyleng = YYCURSOR - SCNG(yy_text);
7483
18.7k
#line 1766 "Zend/zend_language_scanner.l"
7484
18.7k
    {
7485
18.7k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7486
18.7k
}
7487
0
#line 7488 "Zend/zend_language_scanner.c"
7488
5.35k
yy614:
7489
5.35k
    YYDEBUG(614, *YYCURSOR);
7490
5.35k
    yyaccept = 58;
7491
5.35k
    yych = *(YYMARKER = ++YYCURSOR);
7492
5.35k
    if (yybm[256+yych] & 128) {
7493
427
      goto yy47;
7494
427
    }
7495
4.92k
    if (yych == '\\') goto yy164;
7496
4.92k
yy615:
7497
4.92k
    YYDEBUG(615, *YYCURSOR);
7498
4.92k
    yyleng = YYCURSOR - SCNG(yy_text);
7499
4.92k
#line 1514 "Zend/zend_language_scanner.l"
7500
4.92k
    {
7501
4.92k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7502
4.92k
}
7503
0
#line 7504 "Zend/zend_language_scanner.c"
7504
261k
yy616:
7505
261k
    YYDEBUG(616, *YYCURSOR);
7506
261k
    ++YYCURSOR;
7507
261k
    YYFILL(5);
7508
261k
    yych = *YYCURSOR;
7509
261k
    YYDEBUG(617, *YYCURSOR);
7510
261k
    if (yych <= '"') {
7511
68.9k
      if (yych <= '\f') {
7512
55.2k
        if (yych <= 0x08) goto yy86;
7513
52.8k
        if (yych <= '\n') goto yy616;
7514
490
        goto yy86;
7515
52.8k
      } else {
7516
13.7k
        if (yych <= '\r') goto yy616;
7517
2.89k
        if (yych == ' ') goto yy616;
7518
997
        goto yy86;
7519
2.89k
      }
7520
192k
    } else {
7521
192k
      if (yych <= 'E') {
7522
175k
        if (yych <= '#') goto yy618;
7523
17.4k
        if (yych == '/') goto yy619;
7524
10.9k
        goto yy86;
7525
17.4k
      } else {
7526
16.6k
        if (yych <= 'F') goto yy691;
7527
14.5k
        if (yych == 'f') goto yy691;
7528
6.38k
        goto yy86;
7529
14.5k
      }
7530
192k
    }
7531
196k
yy618:
7532
196k
    YYDEBUG(618, *YYCURSOR);
7533
196k
    ++YYCURSOR;
7534
196k
    YYFILL(1);
7535
196k
    yych = *YYCURSOR;
7536
196k
    if (yych <= '\f') {
7537
48.5k
      if (yych <= 0x00) goto yy86;
7538
48.0k
      if (yych == '\n') goto yy694;
7539
1.45k
      goto yy692;
7540
147k
    } else {
7541
147k
      if (yych <= '\r') goto yy694;
7542
28.4k
      if (yych == '[') goto yy86;
7543
27.9k
      goto yy692;
7544
28.4k
    }
7545
7.65k
yy619:
7546
7.65k
    YYDEBUG(619, *YYCURSOR);
7547
7.65k
    ++YYCURSOR;
7548
7.65k
    YYFILL(1);
7549
7.65k
    yych = *YYCURSOR;
7550
7.65k
    if (yych == '*') goto yy696;
7551
4.30k
    if (yych == '/') goto yy692;
7552
1.86k
    goto yy86;
7553
10.5k
yy620:
7554
10.5k
    YYDEBUG(620, *YYCURSOR);
7555
10.5k
    yyaccept = 4;
7556
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
7557
10.5k
    if (yych == 'S') goto yy698;
7558
9.16k
    if (yych == 's') goto yy698;
7559
533
    goto yy48;
7560
5.61k
yy621:
7561
5.61k
    YYDEBUG(621, *YYCURSOR);
7562
5.61k
    yyaccept = 4;
7563
5.61k
    yych = *(YYMARKER = ++YYCURSOR);
7564
5.61k
    if (yych == '_') goto yy699;
7565
603
    goto yy48;
7566
9.87k
yy622:
7567
9.87k
    YYDEBUG(622, *YYCURSOR);
7568
9.87k
    yyaccept = 4;
7569
9.87k
    yych = *(YYMARKER = ++YYCURSOR);
7570
9.87k
    if (yych == '_') goto yy701;
7571
443
    goto yy48;
7572
8.24k
yy623:
7573
8.24k
    YYDEBUG(623, *YYCURSOR);
7574
8.24k
    yyaccept = 4;
7575
8.24k
    yych = *(YYMARKER = ++YYCURSOR);
7576
8.24k
    if (yych == 'T') goto yy702;
7577
3.19k
    if (yych == 't') goto yy702;
7578
1.14k
    goto yy48;
7579
7.11k
yy624:
7580
7.11k
    YYDEBUG(624, *YYCURSOR);
7581
7.11k
    yyaccept = 4;
7582
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
7583
7.11k
    if (yych == '_') goto yy703;
7584
618
    goto yy48;
7585
3.86k
yy625:
7586
3.86k
    YYDEBUG(625, *YYCURSOR);
7587
3.86k
    yyaccept = 4;
7588
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
7589
3.86k
    if (yych == '_') goto yy704;
7590
751
    goto yy48;
7591
14.0k
yy626:
7592
14.0k
    YYDEBUG(626, *YYCURSOR);
7593
14.0k
    yyaccept = 4;
7594
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
7595
14.0k
    if (yych == 'O') goto yy705;
7596
7.13k
    if (yych == 'o') goto yy705;
7597
1.16k
    goto yy48;
7598
9.69k
yy627:
7599
9.69k
    YYDEBUG(627, *YYCURSOR);
7600
9.69k
    yyaccept = 4;
7601
9.69k
    yych = *(YYMARKER = ++YYCURSOR);
7602
9.69k
    if (yych == 'S') goto yy706;
7603
6.78k
    if (yych == 's') goto yy706;
7604
1.14k
    goto yy48;
7605
5.10k
yy628:
7606
5.10k
    YYDEBUG(628, *YYCURSOR);
7607
5.10k
    yyaccept = 4;
7608
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
7609
5.10k
    if (yych == 'E') goto yy707;
7610
2.82k
    if (yych == 'e') goto yy707;
7611
596
    goto yy48;
7612
5.88k
yy629:
7613
5.88k
    YYDEBUG(629, *YYCURSOR);
7614
5.88k
    yyaccept = 4;
7615
5.88k
    yych = *(YYMARKER = ++YYCURSOR);
7616
5.88k
    if (yych == 'T') goto yy708;
7617
4.81k
    if (yych == 't') goto yy708;
7618
828
    goto yy48;
7619
76.1k
yy630:
7620
76.1k
    YYDEBUG(630, *YYCURSOR);
7621
76.1k
    ++YYCURSOR;
7622
76.1k
    YYFILL(1);
7623
76.1k
    yych = *YYCURSOR;
7624
76.1k
    if (yych <= '\r') {
7625
65.6k
      if (yych <= '\t') {
7626
1.40k
        if (yych <= 0x00) goto yy86;
7627
1.13k
        goto yy443;
7628
64.2k
      } else {
7629
64.2k
        if (yych <= '\n') goto yy709;
7630
37.4k
        if (yych <= '\f') goto yy443;
7631
36.9k
        goto yy709;
7632
37.4k
      }
7633
65.6k
    } else {
7634
10.4k
      if (yych <= '*') {
7635
3.13k
        if (yych <= ')') goto yy443;
7636
1.04k
        goto yy547;
7637
7.30k
      } else {
7638
7.30k
        if (yych == '[') goto yy230;
7639
7.09k
        goto yy443;
7640
7.30k
      }
7641
10.4k
    }
7642
2.44k
yy631:
7643
2.44k
    YYDEBUG(631, *YYCURSOR);
7644
2.44k
    yyaccept = 26;
7645
2.44k
    YYMARKER = ++YYCURSOR;
7646
2.44k
    YYFILL(1);
7647
2.44k
    yych = *YYCURSOR;
7648
2.44k
    if (yybm[0+yych] & 4) {
7649
1.72k
      goto yy230;
7650
1.72k
    }
7651
715
    if (yych <= 0x00) goto yy89;
7652
379
    goto yy355;
7653
1.53k
yy632:
7654
1.53k
    YYDEBUG(632, *YYCURSOR);
7655
1.53k
    ++YYCURSOR;
7656
1.53k
    YYFILL(1);
7657
1.53k
    yych = *YYCURSOR;
7658
1.53k
    if (yybm[0+yych] & 64) {
7659
227
      goto yy355;
7660
227
    }
7661
1.30k
    if (yych <= 0x00) goto yy86;
7662
1.00k
    if (yych == '.') goto yy711;
7663
211
    goto yy230;
7664
15.8k
yy633:
7665
15.8k
    YYDEBUG(633, *YYCURSOR);
7666
15.8k
    ++YYCURSOR;
7667
15.8k
    YYFILL(1);
7668
15.8k
    yych = *YYCURSOR;
7669
15.8k
    if (yych <= '*') {
7670
13.7k
      if (yych <= 0x00) goto yy86;
7671
13.5k
      if (yych <= ')') goto yy230;
7672
13.3k
      goto yy712;
7673
13.5k
    } else {
7674
2.05k
      if (yych == '/') goto yy443;
7675
490
      goto yy230;
7676
2.05k
    }
7677
967
yy634:
7678
967
    YYDEBUG(634, *YYCURSOR);
7679
967
    ++YYCURSOR;
7680
967
    YYDEBUG(635, *YYCURSOR);
7681
967
    yyleng = YYCURSOR - SCNG(yy_text);
7682
967
#line 1688 "Zend/zend_language_scanner.l"
7683
967
    {
7684
967
  RETURN_TOKEN(T_ARRAY_CAST);
7685
967
}
7686
0
#line 7687 "Zend/zend_language_scanner.c"
7687
3.10k
yy636:
7688
3.10k
    YYDEBUG(636, *YYCURSOR);
7689
3.10k
    ++YYCURSOR;
7690
3.10k
    YYFILL(1);
7691
3.10k
    yych = *YYCURSOR;
7692
3.10k
    YYDEBUG(637, *YYCURSOR);
7693
3.10k
    if (yych <= 0x1F) {
7694
553
      if (yych == '\t') goto yy636;
7695
358
      goto yy86;
7696
2.55k
    } else {
7697
2.55k
      if (yych <= ' ') goto yy636;
7698
2.34k
      if (yych == ')') goto yy713;
7699
348
      goto yy86;
7700
2.34k
    }
7701
1.76k
yy638:
7702
1.76k
    YYDEBUG(638, *YYCURSOR);
7703
1.76k
    yych = *++YYCURSOR;
7704
1.76k
    if (yych == 'N') goto yy715;
7705
1.28k
    if (yych == 'n') goto yy715;
7706
417
    goto yy86;
7707
2.05k
yy639:
7708
2.05k
    YYDEBUG(639, *YYCURSOR);
7709
2.05k
    ++YYCURSOR;
7710
2.05k
    YYFILL(1);
7711
2.05k
    yych = *YYCURSOR;
7712
2.05k
    YYDEBUG(640, *YYCURSOR);
7713
2.05k
    if (yych <= 0x1F) {
7714
609
      if (yych == '\t') goto yy639;
7715
246
      goto yy86;
7716
1.44k
    } else {
7717
1.44k
      if (yych <= ' ') goto yy639;
7718
924
      if (yych == ')') goto yy717;
7719
594
      goto yy86;
7720
924
    }
7721
1.46k
yy641:
7722
1.46k
    YYDEBUG(641, *YYCURSOR);
7723
1.46k
    ++YYCURSOR;
7724
1.46k
    YYDEBUG(642, *YYCURSOR);
7725
1.46k
    yyleng = YYCURSOR - SCNG(yy_text);
7726
1.46k
#line 1652 "Zend/zend_language_scanner.l"
7727
1.46k
    {
7728
1.46k
  RETURN_TOKEN(T_DOUBLE_CAST);
7729
1.46k
}
7730
0
#line 7731 "Zend/zend_language_scanner.c"
7731
2.34k
yy643:
7732
2.34k
    YYDEBUG(643, *YYCURSOR);
7733
2.34k
    yych = *++YYCURSOR;
7734
2.34k
    if (yych == 'R') goto yy719;
7735
1.94k
    if (yych == 'r') goto yy719;
7736
384
    goto yy86;
7737
4.06k
yy644:
7738
4.06k
    YYDEBUG(644, *YYCURSOR);
7739
4.06k
    ++YYCURSOR;
7740
4.06k
    YYFILL(1);
7741
4.06k
    yych = *YYCURSOR;
7742
4.06k
    YYDEBUG(645, *YYCURSOR);
7743
4.06k
    if (yych <= 0x1F) {
7744
2.03k
      if (yych == '\t') goto yy644;
7745
915
      goto yy86;
7746
2.03k
    } else {
7747
2.02k
      if (yych <= ' ') goto yy644;
7748
1.59k
      if (yych == ')') goto yy721;
7749
694
      goto yy86;
7750
1.59k
    }
7751
13.1k
yy646:
7752
13.1k
    YYDEBUG(646, *YYCURSOR);
7753
13.1k
    ++YYCURSOR;
7754
13.1k
    YYFILL(1);
7755
13.1k
    yych = *YYCURSOR;
7756
13.1k
    YYDEBUG(647, *YYCURSOR);
7757
13.1k
    if (yych <= 0x1F) {
7758
3.73k
      if (yych == '\t') goto yy646;
7759
3.45k
      goto yy86;
7760
9.42k
    } else {
7761
9.42k
      if (yych <= ' ') goto yy646;
7762
7.46k
      if (yych == ')') goto yy723;
7763
2.80k
      goto yy86;
7764
7.46k
    }
7765
852
yy648:
7766
852
    YYDEBUG(648, *YYCURSOR);
7767
852
    ++YYCURSOR;
7768
852
    YYDEBUG(649, *YYCURSOR);
7769
852
    yyleng = YYCURSOR - SCNG(yy_text);
7770
852
#line 1710 "Zend/zend_language_scanner.l"
7771
852
    {
7772
852
  RETURN_TOKEN(T_UNSET_CAST);
7773
852
}
7774
0
#line 7775 "Zend/zend_language_scanner.c"
7775
7.39k
yy650:
7776
7.39k
    YYDEBUG(650, *YYCURSOR);
7777
7.39k
    yyaccept = 4;
7778
7.39k
    yych = *(YYMARKER = ++YYCURSOR);
7779
7.39k
    if (yych == 'T') goto yy725;
7780
6.26k
    if (yych == 't') goto yy725;
7781
1.20k
    goto yy48;
7782
4.56k
yy651:
7783
4.56k
    YYDEBUG(651, *YYCURSOR);
7784
4.56k
    yyaccept = 4;
7785
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
7786
4.56k
    if (yych == 'E') goto yy727;
7787
3.85k
    if (yych == 'e') goto yy727;
7788
525
    goto yy48;
7789
3.75k
yy652:
7790
3.75k
    YYDEBUG(652, *YYCURSOR);
7791
3.75k
    yyaccept = 4;
7792
3.75k
    yych = *(YYMARKER = ++YYCURSOR);
7793
3.75k
    if (yych == 'E') goto yy729;
7794
2.80k
    if (yych == 'e') goto yy729;
7795
554
    goto yy48;
7796
6.16k
yy653:
7797
6.16k
    YYDEBUG(653, *YYCURSOR);
7798
6.16k
    yyaccept = 59;
7799
6.16k
    yych = *(YYMARKER = ++YYCURSOR);
7800
6.16k
    if (yybm[256+yych] & 128) {
7801
399
      goto yy47;
7802
399
    }
7803
5.76k
    if (yych == '\\') goto yy164;
7804
5.76k
yy654:
7805
5.76k
    YYDEBUG(654, *YYCURSOR);
7806
5.76k
    yyleng = YYCURSOR - SCNG(yy_text);
7807
5.76k
#line 1498 "Zend/zend_language_scanner.l"
7808
5.76k
    {
7809
5.76k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7810
5.76k
}
7811
0
#line 7812 "Zend/zend_language_scanner.c"
7812
2.81k
yy655:
7813
2.81k
    YYDEBUG(655, *YYCURSOR);
7814
2.81k
    yyaccept = 60;
7815
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
7816
2.81k
    if (yybm[256+yych] & 128) {
7817
677
      goto yy47;
7818
677
    }
7819
2.13k
    if (yych == '\\') goto yy164;
7820
1.83k
yy656:
7821
1.83k
    YYDEBUG(656, *YYCURSOR);
7822
1.83k
    yyleng = YYCURSOR - SCNG(yy_text);
7823
1.83k
#line 1530 "Zend/zend_language_scanner.l"
7824
1.83k
    {
7825
1.83k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7826
1.83k
}
7827
0
#line 7828 "Zend/zend_language_scanner.c"
7828
3.86k
yy657:
7829
3.86k
    YYDEBUG(657, *YYCURSOR);
7830
3.86k
    yyaccept = 4;
7831
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
7832
3.86k
    if (yych == 'A') goto yy731;
7833
3.14k
    if (yych == 'a') goto yy731;
7834
330
    goto yy48;
7835
5.17k
yy658:
7836
5.17k
    YYDEBUG(658, *YYCURSOR);
7837
5.17k
    yyaccept = 4;
7838
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
7839
5.17k
    if (yych == 'A') goto yy732;
7840
3.55k
    if (yych == 'a') goto yy732;
7841
601
    goto yy48;
7842
3.27k
yy659:
7843
3.27k
    YYDEBUG(659, *YYCURSOR);
7844
3.27k
    yyaccept = 4;
7845
3.27k
    yych = *(YYMARKER = ++YYCURSOR);
7846
3.27k
    if (yych == 'C') goto yy733;
7847
2.77k
    if (yych == 'c') goto yy733;
7848
642
    goto yy48;
7849
7.64k
yy660:
7850
7.64k
    YYDEBUG(660, *YYCURSOR);
7851
7.64k
    yyaccept = 4;
7852
7.64k
    yych = *(YYMARKER = ++YYCURSOR);
7853
7.64k
    if (yych == 'E') goto yy734;
7854
6.79k
    if (yych == 'e') goto yy734;
7855
1.92k
    goto yy48;
7856
2.72k
yy661:
7857
2.72k
    YYDEBUG(661, *YYCURSOR);
7858
2.72k
    yych = *++YYCURSOR;
7859
2.72k
    if (yych == 'T') goto yy736;
7860
2.45k
    if (yych == 't') goto yy736;
7861
310
    goto yy86;
7862
5.51k
yy662:
7863
5.51k
    YYDEBUG(662, *YYCURSOR);
7864
5.51k
    yych = *++YYCURSOR;
7865
5.51k
    if (yych == 'P') goto yy737;
7866
4.25k
    if (yych == 'p') goto yy737;
7867
486
    goto yy86;
7868
39.0k
yy663:
7869
39.0k
    YYDEBUG(663, *YYCURSOR);
7870
39.0k
    ++YYCURSOR;
7871
39.0k
    YYFILL(1);
7872
39.0k
    yych = *YYCURSOR;
7873
39.0k
    if (yych <= '\n') {
7874
29.7k
      if (yych <= 0x00) goto yy86;
7875
29.3k
      if (yych <= '\t') goto yy586;
7876
29.0k
      goto yy588;
7877
29.3k
    } else {
7878
9.34k
      if (yych == '\r') goto yy588;
7879
5.05k
      goto yy586;
7880
9.34k
    }
7881
118k
yy664:
7882
118k
    YYDEBUG(664, *YYCURSOR);
7883
118k
    ++YYCURSOR;
7884
118k
    YYFILL(1);
7885
118k
    yych = *YYCURSOR;
7886
118k
    if (yych <= '\f') {
7887
1.09k
      if (yych <= 0x00) goto yy86;
7888
811
      if (yych == '\n') goto yy495;
7889
356
      goto yy586;
7890
117k
    } else {
7891
117k
      if (yych <= '\r') goto yy495;
7892
113k
      if (yych == '*') goto yy738;
7893
16.8k
      goto yy586;
7894
113k
    }
7895
28.5k
yy665:
7896
28.5k
    YYDEBUG(665, *YYCURSOR);
7897
28.5k
    yyaccept = 53;
7898
28.5k
    YYMARKER = ++YYCURSOR;
7899
28.5k
    YYFILL(1);
7900
28.5k
    yych = *YYCURSOR;
7901
28.5k
    if (yych <= '\n') {
7902
4.57k
      if (yych <= 0x00) goto yy583;
7903
4.15k
      if (yych <= '\t') goto yy586;
7904
617
      goto yy495;
7905
24.0k
    } else {
7906
24.0k
      if (yych == '\r') goto yy495;
7907
22.4k
      goto yy586;
7908
24.0k
    }
7909
260k
yy666:
7910
260k
    YYDEBUG(666, *YYCURSOR);
7911
260k
    yyaccept = 53;
7912
260k
    YYMARKER = ++YYCURSOR;
7913
260k
    YYFILL(1);
7914
260k
    yych = *YYCURSOR;
7915
260k
    if (yych <= '\r') {
7916
36.9k
      if (yych <= '\t') {
7917
25.5k
        if (yych <= 0x00) goto yy583;
7918
25.0k
        goto yy586;
7919
25.5k
      } else {
7920
11.3k
        if (yych <= '\n') goto yy495;
7921
10.4k
        if (yych <= '\f') goto yy586;
7922
4.39k
        goto yy495;
7923
10.4k
      }
7924
223k
    } else {
7925
223k
      if (yych <= 'X') {
7926
151k
        if (yych <= 'W') goto yy586;
7927
3.54k
        goto yy740;
7928
151k
      } else {
7929
71.4k
        if (yych == 'x') goto yy740;
7930
55.1k
        goto yy586;
7931
71.4k
      }
7932
223k
    }
7933
45.0k
yy667:
7934
45.0k
    YYDEBUG(667, *YYCURSOR);
7935
45.0k
    yyaccept = 53;
7936
45.0k
    YYMARKER = ++YYCURSOR;
7937
45.0k
    YYFILL(1);
7938
45.0k
    yych = *YYCURSOR;
7939
45.0k
    if (yych <= '\r') {
7940
1.63k
      if (yych <= '\t') {
7941
617
        if (yych <= 0x00) goto yy583;
7942
303
        goto yy586;
7943
1.01k
      } else {
7944
1.01k
        if (yych <= '\n') goto yy495;
7945
644
        if (yych <= '\f') goto yy586;
7946
340
        goto yy495;
7947
644
      }
7948
43.4k
    } else {
7949
43.4k
      if (yych <= 'M') {
7950
10.6k
        if (yych <= 'L') goto yy586;
7951
8.69k
        goto yy741;
7952
32.7k
      } else {
7953
32.7k
        if (yych == 'm') goto yy741;
7954
5.97k
        goto yy586;
7955
32.7k
      }
7956
43.4k
    }
7957
56.6k
yy668:
7958
56.6k
    YYDEBUG(668, *YYCURSOR);
7959
56.6k
    ++YYCURSOR;
7960
56.6k
    YYFILL(1);
7961
56.6k
    yych = *YYCURSOR;
7962
56.6k
    YYDEBUG(669, *YYCURSOR);
7963
56.6k
    if (yych <= '*') {
7964
13.5k
      if (yych <= 0x00) goto yy86;
7965
12.5k
      if (yych <= ')') goto yy590;
7966
4.66k
      goto yy668;
7967
43.1k
    } else {
7968
43.1k
      if (yych == '/') goto yy495;
7969
7.41k
      goto yy590;
7970
43.1k
    }
7971
16.1k
yy670:
7972
16.1k
    YYDEBUG(670, *YYCURSOR);
7973
16.1k
    yyaccept = 61;
7974
16.1k
    yych = *(YYMARKER = ++YYCURSOR);
7975
16.1k
    if (yybm[256+yych] & 128) {
7976
528
      goto yy47;
7977
528
    }
7978
15.6k
    if (yych == '\\') goto yy164;
7979
15.6k
yy671:
7980
15.6k
    YYDEBUG(671, *YYCURSOR);
7981
15.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7982
15.6k
#line 1579 "Zend/zend_language_scanner.l"
7983
15.6k
    {
7984
15.6k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7985
15.6k
}
7986
0
#line 7987 "Zend/zend_language_scanner.c"
7987
4.66k
yy672:
7988
4.66k
    YYDEBUG(672, *YYCURSOR);
7989
4.66k
    yyaccept = 62;
7990
4.66k
    yych = *(YYMARKER = ++YYCURSOR);
7991
4.66k
    if (yybm[256+yych] & 128) {
7992
883
      goto yy47;
7993
883
    }
7994
3.77k
    if (yych == '\\') goto yy164;
7995
3.54k
yy673:
7996
3.54k
    YYDEBUG(673, *YYCURSOR);
7997
3.54k
    yyleng = YYCURSOR - SCNG(yy_text);
7998
3.54k
#line 1446 "Zend/zend_language_scanner.l"
7999
3.54k
    {
8000
3.54k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8001
3.54k
}
8002
0
#line 8003 "Zend/zend_language_scanner.c"
8003
25.4k
yy674:
8004
25.4k
    YYDEBUG(674, *YYCURSOR);
8005
25.4k
    yyaccept = 63;
8006
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
8007
25.4k
    if (yybm[256+yych] & 128) {
8008
2.13k
      goto yy47;
8009
2.13k
    }
8010
23.2k
    if (yych == '\\') goto yy164;
8011
23.2k
yy675:
8012
23.2k
    YYDEBUG(675, *YYCURSOR);
8013
23.2k
    yyleng = YYCURSOR - SCNG(yy_text);
8014
23.2k
#line 1490 "Zend/zend_language_scanner.l"
8015
23.2k
    {
8016
23.2k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8017
23.2k
}
8018
0
#line 8019 "Zend/zend_language_scanner.c"
8019
99.8k
yy676:
8020
99.8k
    YYDEBUG(676, *YYCURSOR);
8021
99.8k
    yyaccept = 4;
8022
99.8k
    yych = *(YYMARKER = ++YYCURSOR);
8023
99.8k
    if (yych == 'N') goto yy742;
8024
99.0k
    if (yych == 'n') goto yy742;
8025
2.38k
    goto yy48;
8026
12.4k
yy677:
8027
12.4k
    YYDEBUG(677, *YYCURSOR);
8028
12.4k
    yyaccept = 4;
8029
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
8030
12.4k
    if (yych == 'N') goto yy744;
8031
10.2k
    if (yych == 'n') goto yy744;
8032
3.29k
    goto yy48;
8033
9.60k
yy678:
8034
9.60k
    YYDEBUG(678, *YYCURSOR);
8035
9.60k
    yyaccept = 64;
8036
9.60k
    yych = *(YYMARKER = ++YYCURSOR);
8037
9.60k
    if (yych <= '\\') {
8038
4.33k
      if (yych <= '@') {
8039
3.42k
        if (yych <= '/') goto yy679;
8040
538
        if (yych <= '9') goto yy47;
8041
903
      } else {
8042
903
        if (yych <= 'Z') goto yy47;
8043
446
        if (yych >= '\\') goto yy164;
8044
446
      }
8045
5.26k
    } else {
8046
5.26k
      if (yych <= '`') {
8047
3.99k
        if (yych == '_') goto yy745;
8048
3.99k
      } else {
8049
1.26k
        if (yych <= 'z') goto yy47;
8050
1.00k
        if (yych >= 0x80) goto yy47;
8051
1.00k
      }
8052
5.26k
    }
8053
4.05k
yy679:
8054
4.05k
    YYDEBUG(679, *YYCURSOR);
8055
4.05k
    yyleng = YYCURSOR - SCNG(yy_text);
8056
4.05k
#line 1722 "Zend/zend_language_scanner.l"
8057
4.05k
    {
8058
4.05k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8059
4.05k
}
8060
0
#line 8061 "Zend/zend_language_scanner.c"
8061
4.49k
yy680:
8062
4.49k
    YYDEBUG(680, *YYCURSOR);
8063
4.49k
    yyaccept = 4;
8064
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
8065
4.49k
    if (yych == 'E') goto yy746;
8066
3.80k
    if (yych == 'e') goto yy746;
8067
477
    goto yy48;
8068
5.76k
yy681:
8069
5.76k
    YYDEBUG(681, *YYCURSOR);
8070
5.76k
    yyaccept = 4;
8071
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
8072
5.76k
    if (yych == 'O') goto yy747;
8073
5.14k
    if (yych == 'o') goto yy747;
8074
854
    goto yy48;
8075
8.54k
yy682:
8076
8.54k
    YYDEBUG(682, *YYCURSOR);
8077
8.54k
    yyaccept = 4;
8078
8.54k
    yych = *(YYMARKER = ++YYCURSOR);
8079
8.54k
    if (yych == 'C') goto yy748;
8080
7.99k
    if (yych == 'c') goto yy748;
8081
964
    goto yy48;
8082
32.7k
yy683:
8083
32.7k
    YYDEBUG(683, *YYCURSOR);
8084
32.7k
    yyaccept = 4;
8085
32.7k
    yych = *(YYMARKER = ++YYCURSOR);
8086
32.7k
    if (yych == 'C') goto yy749;
8087
20.4k
    if (yych == 'c') goto yy749;
8088
1.67k
    goto yy48;
8089
13.5k
yy684:
8090
13.5k
    YYDEBUG(684, *YYCURSOR);
8091
13.5k
    yyaccept = 65;
8092
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
8093
13.5k
    if (yybm[256+yych] & 128) {
8094
842
      goto yy47;
8095
842
    }
8096
12.7k
    if (yych == '(') goto yy750;
8097
7.31k
    if (yych == '\\') goto yy164;
8098
11.2k
yy685:
8099
11.2k
    YYDEBUG(685, *YYCURSOR);
8100
11.2k
    yyleng = YYCURSOR - SCNG(yy_text);
8101
11.2k
#line 1778 "Zend/zend_language_scanner.l"
8102
11.2k
    {
8103
11.2k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8104
11.2k
}
8105
0
#line 8106 "Zend/zend_language_scanner.c"
8106
10.9k
yy686:
8107
10.9k
    YYDEBUG(686, *YYCURSOR);
8108
10.9k
    yyaccept = 4;
8109
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
8110
10.9k
    if (yych == 'E') goto yy751;
8111
9.71k
    if (yych == 'e') goto yy751;
8112
900
    goto yy48;
8113
3.07k
yy687:
8114
3.07k
    YYDEBUG(687, *YYCURSOR);
8115
3.07k
    yych = *++YYCURSOR;
8116
3.07k
    if (yych == 'S') goto yy752;
8117
2.29k
    if (yych == 's') goto yy752;
8118
714
    goto yy86;
8119
5.69k
yy688:
8120
5.69k
    YYDEBUG(688, *YYCURSOR);
8121
5.69k
    yyaccept = 4;
8122
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
8123
5.69k
    if (yych == 'Y') goto yy753;
8124
5.34k
    if (yych == 'y') goto yy753;
8125
776
    goto yy48;
8126
20.8k
yy689:
8127
20.8k
    YYDEBUG(689, *YYCURSOR);
8128
20.8k
    yyaccept = 66;
8129
20.8k
    yych = *(YYMARKER = ++YYCURSOR);
8130
20.8k
    if (yych <= '\\') {
8131
10.0k
      if (yych <= '@') {
8132
8.81k
        if (yych <= '/') goto yy690;
8133
1.17k
        if (yych <= '9') goto yy47;
8134
1.22k
      } else {
8135
1.22k
        if (yych <= 'Z') goto yy47;
8136
845
        if (yych >= '\\') goto yy164;
8137
845
      }
8138
10.7k
    } else {
8139
10.7k
      if (yych <= '`') {
8140
4.21k
        if (yych == '_') goto yy755;
8141
6.56k
      } else {
8142
6.56k
        if (yych <= 'z') goto yy47;
8143
5.82k
        if (yych >= 0x80) goto yy47;
8144
5.82k
      }
8145
10.7k
    }
8146
9.67k
yy690:
8147
9.67k
    YYDEBUG(690, *YYCURSOR);
8148
9.67k
    yyleng = YYCURSOR - SCNG(yy_text);
8149
9.67k
#line 1730 "Zend/zend_language_scanner.l"
8150
9.67k
    {
8151
9.67k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8152
9.67k
}
8153
0
#line 8154 "Zend/zend_language_scanner.c"
8154
10.7k
yy691:
8155
10.7k
    YYDEBUG(691, *YYCURSOR);
8156
10.7k
    yych = *++YYCURSOR;
8157
10.7k
    if (yych == 'R') goto yy756;
8158
8.86k
    if (yych == 'r') goto yy756;
8159
3.23k
    goto yy86;
8160
843k
yy692:
8161
843k
    YYDEBUG(692, *YYCURSOR);
8162
843k
    ++YYCURSOR;
8163
843k
    YYFILL(1);
8164
843k
    yych = *YYCURSOR;
8165
843k
    YYDEBUG(693, *YYCURSOR);
8166
843k
    if (yych <= '\n') {
8167
108k
      if (yych <= 0x00) goto yy86;
8168
102k
      if (yych <= '\t') goto yy692;
8169
89.4k
      goto yy616;
8170
734k
    } else {
8171
734k
      if (yych == '\r') goto yy616;
8172
703k
      goto yy692;
8173
734k
    }
8174
182k
yy694:
8175
182k
    YYDEBUG(694, *YYCURSOR);
8176
182k
    ++YYCURSOR;
8177
182k
    YYFILL(1);
8178
182k
    yych = *YYCURSOR;
8179
182k
    YYDEBUG(695, *YYCURSOR);
8180
182k
    if (yych <= ' ') {
8181
13.9k
      if (yych <= '\n') {
8182
5.29k
        if (yych <= 0x00) goto yy86;
8183
4.04k
        if (yych <= 0x08) goto yy692;
8184
3.15k
        if (yych <= '\t') goto yy694;
8185
2.69k
        goto yy616;
8186
8.62k
      } else {
8187
8.62k
        if (yych == '\r') goto yy616;
8188
1.67k
        if (yych <= 0x1F) goto yy692;
8189
786
        goto yy694;
8190
1.67k
      }
8191
168k
    } else {
8192
168k
      if (yych <= '/') {
8193
95.9k
        if (yych == '#') goto yy757;
8194
85.7k
        if (yych <= '.') goto yy692;
8195
75.4k
        goto yy758;
8196
85.7k
      } else {
8197
72.9k
        if (yych <= 'F') {
8198
35.1k
          if (yych <= 'E') goto yy692;
8199
18.5k
          goto yy759;
8200
37.7k
        } else {
8201
37.7k
          if (yych == 'f') goto yy759;
8202
35.6k
          goto yy692;
8203
37.7k
        }
8204
72.9k
      }
8205
168k
    }
8206
2.49M
yy696:
8207
2.49M
    YYDEBUG(696, *YYCURSOR);
8208
2.49M
    ++YYCURSOR;
8209
2.49M
    YYFILL(1);
8210
2.49M
    yych = *YYCURSOR;
8211
2.49M
    YYDEBUG(697, *YYCURSOR);
8212
2.49M
    if (yych <= 0x00) goto yy86;
8213
2.47M
    if (yych == '*') goto yy760;
8214
2.40M
    goto yy696;
8215
2.40M
yy698:
8216
10.0k
    YYDEBUG(698, *YYCURSOR);
8217
10.0k
    yyaccept = 4;
8218
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
8219
10.0k
    if (yych == '_') goto yy762;
8220
831
    goto yy48;
8221
5.01k
yy699:
8222
5.01k
    YYDEBUG(699, *YYCURSOR);
8223
5.01k
    yyaccept = 67;
8224
5.01k
    yych = *(YYMARKER = ++YYCURSOR);
8225
5.01k
    if (yybm[256+yych] & 128) {
8226
811
      goto yy47;
8227
811
    }
8228
4.20k
    if (yych == '\\') goto yy164;
8229
4.20k
yy700:
8230
4.20k
    YYDEBUG(700, *YYCURSOR);
8231
4.20k
    yyleng = YYCURSOR - SCNG(yy_text);
8232
4.20k
#line 2281 "Zend/zend_language_scanner.l"
8233
4.20k
    {
8234
4.20k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8235
4.20k
}
8236
0
#line 8237 "Zend/zend_language_scanner.c"
8237
9.42k
yy701:
8238
9.42k
    YYDEBUG(701, *YYCURSOR);
8239
9.42k
    yyaccept = 4;
8240
9.42k
    yych = *(YYMARKER = ++YYCURSOR);
8241
9.42k
    if (yych == '_') goto yy763;
8242
2.83k
    goto yy48;
8243
7.10k
yy702:
8244
7.10k
    YYDEBUG(702, *YYCURSOR);
8245
7.10k
    yyaccept = 4;
8246
7.10k
    yych = *(YYMARKER = ++YYCURSOR);
8247
7.10k
    if (yych == 'I') goto yy765;
8248
4.58k
    if (yych == 'i') goto yy765;
8249
366
    goto yy48;
8250
6.49k
yy703:
8251
6.49k
    YYDEBUG(703, *YYCURSOR);
8252
6.49k
    yyaccept = 4;
8253
6.49k
    yych = *(YYMARKER = ++YYCURSOR);
8254
6.49k
    if (yych == 'C') goto yy766;
8255
5.44k
    if (yych == 'c') goto yy766;
8256
460
    goto yy48;
8257
3.11k
yy704:
8258
3.11k
    YYDEBUG(704, *YYCURSOR);
8259
3.11k
    yyaccept = 4;
8260
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
8261
3.11k
    if (yych == '_') goto yy767;
8262
448
    goto yy48;
8263
12.8k
yy705:
8264
12.8k
    YYDEBUG(705, *YYCURSOR);
8265
12.8k
    yyaccept = 4;
8266
12.8k
    yych = *(YYMARKER = ++YYCURSOR);
8267
12.8k
    if (yych == 'D') goto yy769;
8268
6.18k
    if (yych == 'd') goto yy769;
8269
780
    goto yy48;
8270
8.55k
yy706:
8271
8.55k
    YYDEBUG(706, *YYCURSOR);
8272
8.55k
    yyaccept = 4;
8273
8.55k
    yych = *(YYMARKER = ++YYCURSOR);
8274
8.55k
    if (yych == 'P') goto yy770;
8275
6.10k
    if (yych == 'p') goto yy770;
8276
760
    goto yy48;
8277
4.50k
yy707:
8278
4.50k
    YYDEBUG(707, *YYCURSOR);
8279
4.50k
    yyaccept = 4;
8280
4.50k
    yych = *(YYMARKER = ++YYCURSOR);
8281
4.50k
    if (yych == 'R') goto yy771;
8282
2.88k
    if (yych == 'r') goto yy771;
8283
227
    goto yy48;
8284
5.05k
yy708:
8285
5.05k
    YYDEBUG(708, *YYCURSOR);
8286
5.05k
    yyaccept = 4;
8287
5.05k
    yych = *(YYMARKER = ++YYCURSOR);
8288
5.05k
    if (yych == '_') goto yy772;
8289
1.07k
    goto yy48;
8290
90.7k
yy709:
8291
90.7k
    YYDEBUG(709, *YYCURSOR);
8292
90.7k
    ++YYCURSOR;
8293
90.7k
    YYFILL(1);
8294
90.7k
    yych = *YYCURSOR;
8295
90.7k
    YYDEBUG(710, *YYCURSOR);
8296
90.7k
    if (yych <= ' ') {
8297
6.59k
      if (yych <= '\n') {
8298
2.75k
        if (yych <= 0x00) goto yy86;
8299
2.32k
        if (yych <= 0x08) goto yy443;
8300
1.98k
        if (yych <= '\t') goto yy709;
8301
1.07k
        goto yy545;
8302
3.84k
      } else {
8303
3.84k
        if (yych == '\r') goto yy545;
8304
1.94k
        if (yych <= 0x1F) goto yy443;
8305
1.11k
        goto yy709;
8306
1.94k
      }
8307
84.1k
    } else {
8308
84.1k
      if (yych <= ')') {
8309
38.8k
        if (yych <= '"') goto yy443;
8310
38.5k
        if (yych <= '#') goto yy773;
8311
23.0k
        if (yych <= '$') goto yy774;
8312
21.9k
        goto yy443;
8313
45.3k
      } else {
8314
45.3k
        if (yych <= '-') {
8315
1.50k
          if (yych <= '*') goto yy547;
8316
1.05k
          goto yy443;
8317
43.8k
        } else {
8318
43.8k
          if (yych <= '.') goto yy775;
8319
36.5k
          if (yych <= '/') goto yy776;
8320
18.6k
          goto yy443;
8321
36.5k
        }
8322
45.3k
      }
8323
84.1k
    }
8324
791
yy711:
8325
791
    YYDEBUG(711, *YYCURSOR);
8326
791
    ++YYCURSOR;
8327
791
    YYFILL(1);
8328
791
    yych = *YYCURSOR;
8329
791
    if (yybm[0+yych] & 64) {
8330
228
      goto yy355;
8331
228
    }
8332
563
    if (yych <= 0x00) goto yy86;
8333
364
    if (yych == '.') goto yy631;
8334
110
    goto yy230;
8335
13.3k
yy712:
8336
13.3k
    YYDEBUG(712, *YYCURSOR);
8337
13.3k
    ++YYCURSOR;
8338
13.3k
    YYFILL(1);
8339
13.3k
    yych = *YYCURSOR;
8340
13.3k
    if (yybm[0+yych] & 64) {
8341
218
      goto yy355;
8342
218
    }
8343
13.0k
    if (yych <= 0x00) goto yy86;
8344
12.8k
    if (yych == '/') goto yy545;
8345
502
    goto yy230;
8346
1.99k
yy713:
8347
1.99k
    YYDEBUG(713, *YYCURSOR);
8348
1.99k
    ++YYCURSOR;
8349
1.99k
    YYDEBUG(714, *YYCURSOR);
8350
1.99k
    yyleng = YYCURSOR - SCNG(yy_text);
8351
1.99k
#line 1678 "Zend/zend_language_scanner.l"
8352
1.99k
    {
8353
1.99k
  if (PARSER_MODE()) {
8354
92
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8355
92
    if (EG(exception)) {
8356
0
      RETURN_TOKEN(T_ERROR);
8357
0
    }
8358
92
  }
8359
1.99k
  RETURN_TOKEN(T_STRING_CAST);
8360
1.99k
}
8361
0
#line 8362 "Zend/zend_language_scanner.c"
8362
1.99k
yy715:
8363
1.99k
    YYDEBUG(715, *YYCURSOR);
8364
1.99k
    ++YYCURSOR;
8365
1.99k
    YYFILL(1);
8366
1.99k
    yych = *YYCURSOR;
8367
1.99k
    YYDEBUG(716, *YYCURSOR);
8368
1.99k
    if (yych <= 0x1F) {
8369
706
      if (yych == '\t') goto yy715;
8370
392
      goto yy86;
8371
1.28k
    } else {
8372
1.28k
      if (yych <= ' ') goto yy715;
8373
952
      if (yych == ')') goto yy777;
8374
648
      goto yy86;
8375
952
    }
8376
330
yy717:
8377
330
    YYDEBUG(717, *YYCURSOR);
8378
330
    ++YYCURSOR;
8379
330
    YYDEBUG(718, *YYCURSOR);
8380
330
    yyleng = YYCURSOR - SCNG(yy_text);
8381
330
#line 1656 "Zend/zend_language_scanner.l"
8382
330
    {
8383
330
  if (PARSER_MODE()) {
8384
93
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8385
93
    if (EG(exception)) {
8386
0
      RETURN_TOKEN(T_ERROR);
8387
0
    }
8388
93
  }
8389
330
  RETURN_TOKEN(T_DOUBLE_CAST);
8390
330
}
8391
0
#line 8392 "Zend/zend_language_scanner.c"
8392
4.02k
yy719:
8393
4.02k
    YYDEBUG(719, *YYCURSOR);
8394
4.02k
    ++YYCURSOR;
8395
4.02k
    YYFILL(1);
8396
4.02k
    yych = *YYCURSOR;
8397
4.02k
    YYDEBUG(720, *YYCURSOR);
8398
4.02k
    if (yych <= 0x1F) {
8399
616
      if (yych == '\t') goto yy719;
8400
416
      goto yy86;
8401
3.40k
    } else {
8402
3.40k
      if (yych <= ' ') goto yy719;
8403
1.54k
      if (yych == ')') goto yy779;
8404
989
      goto yy86;
8405
1.54k
    }
8406
905
yy721:
8407
905
    YYDEBUG(721, *YYCURSOR);
8408
905
    ++YYCURSOR;
8409
905
    YYDEBUG(722, *YYCURSOR);
8410
905
    yyleng = YYCURSOR - SCNG(yy_text);
8411
905
#line 1692 "Zend/zend_language_scanner.l"
8412
905
    {
8413
905
  RETURN_TOKEN(T_OBJECT_CAST);
8414
905
}
8415
0
#line 8416 "Zend/zend_language_scanner.c"
8416
4.65k
yy723:
8417
4.65k
    YYDEBUG(723, *YYCURSOR);
8418
4.65k
    ++YYCURSOR;
8419
4.65k
    YYDEBUG(724, *YYCURSOR);
8420
4.65k
    yyleng = YYCURSOR - SCNG(yy_text);
8421
4.65k
#line 1674 "Zend/zend_language_scanner.l"
8422
4.65k
    {
8423
4.65k
  RETURN_TOKEN(T_STRING_CAST);
8424
4.65k
}
8425
0
#line 8426 "Zend/zend_language_scanner.c"
8426
6.18k
yy725:
8427
6.18k
    YYDEBUG(725, *YYCURSOR);
8428
6.18k
    yyaccept = 68;
8429
6.18k
    yych = *(YYMARKER = ++YYCURSOR);
8430
6.18k
    if (yybm[256+yych] & 128) {
8431
1.56k
      goto yy47;
8432
1.56k
    }
8433
4.62k
    if (yych == '\\') goto yy164;
8434
4.55k
yy726:
8435
4.55k
    YYDEBUG(726, *YYCURSOR);
8436
4.55k
    yyleng = YYCURSOR - SCNG(yy_text);
8437
4.55k
#line 1770 "Zend/zend_language_scanner.l"
8438
4.55k
    {
8439
4.55k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8440
4.55k
}
8441
0
#line 8442 "Zend/zend_language_scanner.c"
8442
4.03k
yy727:
8443
4.03k
    YYDEBUG(727, *YYCURSOR);
8444
4.03k
    yyaccept = 69;
8445
4.03k
    yych = *(YYMARKER = ++YYCURSOR);
8446
4.03k
    if (yybm[256+yych] & 128) {
8447
603
      goto yy47;
8448
603
    }
8449
3.43k
    if (yych == '\\') goto yy164;
8450
3.43k
yy728:
8451
3.43k
    YYDEBUG(728, *YYCURSOR);
8452
3.43k
    yyleng = YYCURSOR - SCNG(yy_text);
8453
3.43k
#line 1822 "Zend/zend_language_scanner.l"
8454
3.43k
    {
8455
3.43k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8456
3.43k
}
8457
0
#line 8458 "Zend/zend_language_scanner.c"
8458
3.20k
yy729:
8459
3.20k
    YYDEBUG(729, *YYCURSOR);
8460
3.20k
    yyaccept = 70;
8461
3.20k
    yych = *(YYMARKER = ++YYCURSOR);
8462
3.20k
    if (yybm[256+yych] & 128) {
8463
576
      goto yy47;
8464
576
    }
8465
2.62k
    if (yych == '\\') goto yy164;
8466
2.62k
yy730:
8467
2.62k
    YYDEBUG(730, *YYCURSOR);
8468
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
8469
2.62k
#line 1538 "Zend/zend_language_scanner.l"
8470
2.62k
    {
8471
2.62k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8472
2.62k
}
8473
0
#line 8474 "Zend/zend_language_scanner.c"
8474
3.53k
yy731:
8475
3.53k
    YYDEBUG(731, *YYCURSOR);
8476
3.53k
    yyaccept = 4;
8477
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
8478
3.53k
    if (yych == 'R') goto yy781;
8479
3.03k
    if (yych == 'r') goto yy781;
8480
537
    goto yy48;
8481
4.57k
yy732:
8482
4.57k
    YYDEBUG(732, *YYCURSOR);
8483
4.57k
    yyaccept = 4;
8484
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
8485
4.57k
    if (yych == 'C') goto yy782;
8486
3.01k
    if (yych == 'c') goto yy782;
8487
215
    goto yy48;
8488
2.63k
yy733:
8489
2.63k
    YYDEBUG(733, *YYCURSOR);
8490
2.63k
    yyaccept = 4;
8491
2.63k
    yych = *(YYMARKER = ++YYCURSOR);
8492
2.63k
    if (yych == 'H') goto yy783;
8493
2.02k
    if (yych == 'h') goto yy783;
8494
587
    goto yy48;
8495
5.72k
yy734:
8496
5.72k
    YYDEBUG(734, *YYCURSOR);
8497
5.72k
    yyaccept = 71;
8498
5.72k
    yych = *(YYMARKER = ++YYCURSOR);
8499
5.72k
    if (yybm[256+yych] & 128) {
8500
819
      goto yy47;
8501
819
    }
8502
4.90k
    if (yych == '\\') goto yy164;
8503
4.82k
yy735:
8504
4.82k
    YYDEBUG(735, *YYCURSOR);
8505
4.82k
    yyleng = YYCURSOR - SCNG(yy_text);
8506
4.82k
#line 1474 "Zend/zend_language_scanner.l"
8507
4.82k
    {
8508
4.82k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8509
4.82k
}
8510
0
#line 8511 "Zend/zend_language_scanner.c"
8511
2.41k
yy736:
8512
2.41k
    YYDEBUG(736, *YYCURSOR);
8513
2.41k
    yych = *++YYCURSOR;
8514
2.41k
    if (yych == 'E') goto yy785;
8515
2.17k
    if (yych == 'e') goto yy785;
8516
384
    goto yy86;
8517
5.03k
yy737:
8518
5.03k
    YYDEBUG(737, *YYCURSOR);
8519
5.03k
    yych = *++YYCURSOR;
8520
5.03k
    if (yych == 'L') goto yy786;
8521
3.77k
    if (yych == 'l') goto yy786;
8522
407
    goto yy86;
8523
2.18M
yy738:
8524
2.18M
    YYDEBUG(738, *YYCURSOR);
8525
2.18M
    ++YYCURSOR;
8526
2.18M
    YYFILL(1);
8527
2.18M
    yych = *YYCURSOR;
8528
2.18M
    YYDEBUG(739, *YYCURSOR);
8529
2.18M
    if (yych <= '\f') {
8530
153k
      if (yych <= 0x00) goto yy86;
8531
142k
      if (yych == '\n') goto yy787;
8532
48.6k
      goto yy738;
8533
2.02M
    } else {
8534
2.02M
      if (yych <= '\r') goto yy787;
8535
1.86M
      if (yych == '*') goto yy789;
8536
1.83M
      goto yy738;
8537
1.86M
    }
8538
19.8k
yy740:
8539
19.8k
    YYDEBUG(740, *YYCURSOR);
8540
19.8k
    ++YYCURSOR;
8541
19.8k
    YYFILL(1);
8542
19.8k
    yych = *YYCURSOR;
8543
19.8k
    if (yych <= '\r') {
8544
1.43k
      if (yych <= '\t') {
8545
734
        if (yych <= 0x00) goto yy86;
8546
362
        goto yy586;
8547
734
      } else {
8548
700
        if (yych <= '\n') goto yy495;
8549
455
        if (yych <= '\f') goto yy586;
8550
225
        goto yy495;
8551
455
      }
8552
18.3k
    } else {
8553
18.3k
      if (yych <= 'T') {
8554
5.60k
        if (yych <= 'S') goto yy586;
8555
3.47k
        goto yy791;
8556
12.7k
      } else {
8557
12.7k
        if (yych == 't') goto yy791;
8558
4.69k
        goto yy586;
8559
12.7k
      }
8560
18.3k
    }
8561
35.4k
yy741:
8562
35.4k
    YYDEBUG(741, *YYCURSOR);
8563
35.4k
    ++YYCURSOR;
8564
35.4k
    YYFILL(1);
8565
35.4k
    yych = *YYCURSOR;
8566
35.4k
    if (yych <= '\r') {
8567
1.91k
      if (yych <= '\t') {
8568
782
        if (yych <= 0x00) goto yy86;
8569
226
        goto yy586;
8570
1.13k
      } else {
8571
1.13k
        if (yych <= '\n') goto yy495;
8572
600
        if (yych <= '\f') goto yy586;
8573
327
        goto yy495;
8574
600
      }
8575
33.5k
    } else {
8576
33.5k
      if (yych <= 'P') {
8577
8.51k
        if (yych <= 'O') goto yy586;
8578
7.20k
        goto yy792;
8579
25.0k
      } else {
8580
25.0k
        if (yych == 'p') goto yy792;
8581
960
        goto yy586;
8582
25.0k
      }
8583
33.5k
    }
8584
97.4k
yy742:
8585
97.4k
    YYDEBUG(742, *YYCURSOR);
8586
97.4k
    yyaccept = 72;
8587
97.4k
    yych = *(YYMARKER = ++YYCURSOR);
8588
97.4k
    if (yybm[256+yych] & 128) {
8589
1.43k
      goto yy47;
8590
1.43k
    }
8591
95.9k
    if (yych == '\\') goto yy164;
8592
95.9k
yy743:
8593
95.9k
    YYDEBUG(743, *YYCURSOR);
8594
95.9k
    yyleng = YYCURSOR - SCNG(yy_text);
8595
95.9k
#line 1411 "Zend/zend_language_scanner.l"
8596
95.9k
    {
8597
95.9k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8598
95.9k
}
8599
0
#line 8600 "Zend/zend_language_scanner.c"
8600
9.11k
yy744:
8601
9.11k
    YYDEBUG(744, *YYCURSOR);
8602
9.11k
    yyaccept = 4;
8603
9.11k
    yych = *(YYMARKER = ++YYCURSOR);
8604
9.11k
    if (yych == 'T') goto yy793;
8605
8.41k
    if (yych == 't') goto yy793;
8606
2.28k
    goto yy48;
8607
3.77k
yy745:
8608
3.77k
    YYDEBUG(745, *YYCURSOR);
8609
3.77k
    yyaccept = 4;
8610
3.77k
    yych = *(YYMARKER = ++YYCURSOR);
8611
3.77k
    if (yych == 'O') goto yy794;
8612
3.02k
    if (yych == 'o') goto yy794;
8613
529
    goto yy48;
8614
4.01k
yy746:
8615
4.01k
    YYDEBUG(746, *YYCURSOR);
8616
4.01k
    yyaccept = 4;
8617
4.01k
    yych = *(YYMARKER = ++YYCURSOR);
8618
4.01k
    if (yych == 'O') goto yy795;
8619
3.24k
    if (yych == 'o') goto yy795;
8620
477
    goto yy48;
8621
4.90k
yy747:
8622
4.90k
    YYDEBUG(747, *YYCURSOR);
8623
4.90k
    yyaccept = 4;
8624
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
8625
4.90k
    if (yych == 'F') goto yy796;
8626
4.31k
    if (yych == 'f') goto yy796;
8627
615
    goto yy48;
8628
7.58k
yy748:
8629
7.58k
    YYDEBUG(748, *YYCURSOR);
8630
7.58k
    yyaccept = 4;
8631
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
8632
7.58k
    if (yych == 'E') goto yy798;
8633
7.25k
    if (yych == 'e') goto yy798;
8634
448
    goto yy48;
8635
31.0k
yy749:
8636
31.0k
    YYDEBUG(749, *YYCURSOR);
8637
31.0k
    yyaccept = 4;
8638
31.0k
    yych = *(YYMARKER = ++YYCURSOR);
8639
31.0k
    if (yych == 'E') goto yy800;
8640
27.7k
    if (yych == 'e') goto yy800;
8641
1.55k
    goto yy48;
8642
5.43k
yy750:
8643
5.43k
    YYDEBUG(750, *YYCURSOR);
8644
5.43k
    yych = *++YYCURSOR;
8645
5.43k
    if (yych == 'S') goto yy802;
8646
3.58k
    if (yych == 's') goto yy802;
8647
766
    goto yy86;
8648
10.0k
yy751:
8649
10.0k
    YYDEBUG(751, *YYCURSOR);
8650
10.0k
    yyaccept = 4;
8651
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
8652
10.0k
    if (yych == 'D') goto yy803;
8653
8.87k
    if (yych == 'd') goto yy803;
8654
786
    goto yy48;
8655
2.35k
yy752:
8656
2.35k
    YYDEBUG(752, *YYCURSOR);
8657
2.35k
    yych = *++YYCURSOR;
8658
2.35k
    if (yych == 'E') goto yy805;
8659
1.80k
    if (yych == 'e') goto yy805;
8660
448
    goto yy86;
8661
4.92k
yy753:
8662
4.92k
    YYDEBUG(753, *YYCURSOR);
8663
4.92k
    yyaccept = 73;
8664
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
8665
4.92k
    if (yybm[256+yych] & 128) {
8666
1.04k
      goto yy47;
8667
1.04k
    }
8668
3.87k
    if (yych == '\\') goto yy164;
8669
3.85k
yy754:
8670
3.85k
    YYDEBUG(754, *YYCURSOR);
8671
3.85k
    yyleng = YYCURSOR - SCNG(yy_text);
8672
3.85k
#line 1802 "Zend/zend_language_scanner.l"
8673
3.85k
    {
8674
3.85k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8675
3.85k
}
8676
0
#line 8677 "Zend/zend_language_scanner.c"
8677
3.99k
yy755:
8678
3.99k
    YYDEBUG(755, *YYCURSOR);
8679
3.99k
    yyaccept = 4;
8680
3.99k
    yych = *(YYMARKER = ++YYCURSOR);
8681
3.99k
    if (yych == 'O') goto yy806;
8682
3.46k
    if (yych == 'o') goto yy806;
8683
714
    goto yy48;
8684
7.50k
yy756:
8685
7.50k
    YYDEBUG(756, *YYCURSOR);
8686
7.50k
    yych = *++YYCURSOR;
8687
7.50k
    if (yych == 'O') goto yy807;
8688
5.35k
    if (yych == 'o') goto yy807;
8689
794
    goto yy86;
8690
10.1k
yy757:
8691
10.1k
    YYDEBUG(757, *YYCURSOR);
8692
10.1k
    ++YYCURSOR;
8693
10.1k
    YYFILL(1);
8694
10.1k
    yych = *YYCURSOR;
8695
10.1k
    if (yych <= '\n') {
8696
4.99k
      if (yych <= 0x00) goto yy86;
8697
4.78k
      if (yych <= '\t') goto yy692;
8698
3.80k
      goto yy694;
8699
5.15k
    } else {
8700
5.15k
      if (yych == '\r') goto yy694;
8701
2.41k
      goto yy692;
8702
5.15k
    }
8703
75.4k
yy758:
8704
75.4k
    YYDEBUG(758, *YYCURSOR);
8705
75.4k
    ++YYCURSOR;
8706
75.4k
    YYFILL(1);
8707
75.4k
    yych = *YYCURSOR;
8708
75.4k
    if (yych <= '\f') {
8709
1.66k
      if (yych <= 0x00) goto yy86;
8710
1.21k
      if (yych == '\n') goto yy616;
8711
838
      goto yy692;
8712
73.8k
    } else {
8713
73.8k
      if (yych <= '\r') goto yy616;
8714
70.9k
      if (yych == '*') goto yy808;
8715
15.9k
      goto yy692;
8716
70.9k
    }
8717
20.6k
yy759:
8718
20.6k
    YYDEBUG(759, *YYCURSOR);
8719
20.6k
    ++YYCURSOR;
8720
20.6k
    YYFILL(1);
8721
20.6k
    yych = *YYCURSOR;
8722
20.6k
    if (yych <= '\r') {
8723
1.26k
      if (yych <= '\t') {
8724
424
        if (yych <= 0x00) goto yy86;
8725
202
        goto yy692;
8726
837
      } else {
8727
837
        if (yych <= '\n') goto yy616;
8728
483
        if (yych <= '\f') goto yy692;
8729
254
        goto yy616;
8730
483
      }
8731
19.4k
    } else {
8732
19.4k
      if (yych <= 'R') {
8733
15.6k
        if (yych <= 'Q') goto yy692;
8734
14.6k
        goto yy810;
8735
15.6k
      } else {
8736
3.80k
        if (yych == 'r') goto yy810;
8737
1.05k
        goto yy692;
8738
3.80k
      }
8739
19.4k
    }
8740
76.2k
yy760:
8741
76.2k
    YYDEBUG(760, *YYCURSOR);
8742
76.2k
    ++YYCURSOR;
8743
76.2k
    YYFILL(1);
8744
76.2k
    yych = *YYCURSOR;
8745
76.2k
    YYDEBUG(761, *YYCURSOR);
8746
76.2k
    if (yych <= '*') {
8747
51.4k
      if (yych <= 0x00) goto yy86;
8748
50.9k
      if (yych <= ')') goto yy696;
8749
2.62k
      goto yy760;
8750
50.9k
    } else {
8751
24.8k
      if (yych == '/') goto yy616;
8752
8.06k
      goto yy696;
8753
24.8k
    }
8754
9.19k
yy762:
8755
9.19k
    YYDEBUG(762, *YYCURSOR);
8756
9.19k
    yyaccept = 4;
8757
9.19k
    yych = *(YYMARKER = ++YYCURSOR);
8758
9.19k
    if (yych == '_') goto yy811;
8759
422
    goto yy48;
8760
6.59k
yy763:
8761
6.59k
    YYDEBUG(763, *YYCURSOR);
8762
6.59k
    yyaccept = 74;
8763
6.59k
    yych = *(YYMARKER = ++YYCURSOR);
8764
6.59k
    if (yybm[256+yych] & 128) {
8765
537
      goto yy47;
8766
537
    }
8767
6.06k
    if (yych == '\\') goto yy164;
8768
6.04k
yy764:
8769
6.04k
    YYDEBUG(764, *YYCURSOR);
8770
6.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8771
6.04k
#line 2277 "Zend/zend_language_scanner.l"
8772
6.04k
    {
8773
6.04k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8774
6.04k
}
8775
0
#line 8776 "Zend/zend_language_scanner.c"
8776
6.74k
yy765:
8777
6.74k
    YYDEBUG(765, *YYCURSOR);
8778
6.74k
    yyaccept = 4;
8779
6.74k
    yych = *(YYMARKER = ++YYCURSOR);
8780
6.74k
    if (yych == 'O') goto yy813;
8781
4.38k
    if (yych == 'o') goto yy813;
8782
479
    goto yy48;
8783
6.03k
yy766:
8784
6.03k
    YYDEBUG(766, *YYCURSOR);
8785
6.03k
    yyaccept = 4;
8786
6.03k
    yych = *(YYMARKER = ++YYCURSOR);
8787
6.03k
    if (yych == 'O') goto yy814;
8788
5.13k
    if (yych == 'o') goto yy814;
8789
668
    goto yy48;
8790
2.66k
yy767:
8791
2.66k
    YYDEBUG(767, *YYCURSOR);
8792
2.66k
    yyaccept = 75;
8793
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
8794
2.66k
    if (yybm[256+yych] & 128) {
8795
894
      goto yy47;
8796
894
    }
8797
1.77k
    if (yych == '\\') goto yy164;
8798
1.63k
yy768:
8799
1.63k
    YYDEBUG(768, *YYCURSOR);
8800
1.63k
    yyleng = YYCURSOR - SCNG(yy_text);
8801
1.63k
#line 2273 "Zend/zend_language_scanner.l"
8802
1.63k
    {
8803
1.63k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8804
1.63k
}
8805
0
#line 8806 "Zend/zend_language_scanner.c"
8806
12.0k
yy769:
8807
12.0k
    YYDEBUG(769, *YYCURSOR);
8808
12.0k
    yyaccept = 4;
8809
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
8810
12.0k
    if (yych == '_') goto yy815;
8811
897
    goto yy48;
8812
7.79k
yy770:
8813
7.79k
    YYDEBUG(770, *YYCURSOR);
8814
7.79k
    yyaccept = 4;
8815
7.79k
    yych = *(YYMARKER = ++YYCURSOR);
8816
7.79k
    if (yych == 'A') goto yy816;
8817
5.63k
    if (yych == 'a') goto yy816;
8818
557
    goto yy48;
8819
4.28k
yy771:
8820
4.28k
    YYDEBUG(771, *YYCURSOR);
8821
4.28k
    yyaccept = 4;
8822
4.28k
    yych = *(YYMARKER = ++YYCURSOR);
8823
4.28k
    if (yych == 'T') goto yy817;
8824
2.43k
    if (yych == 't') goto yy817;
8825
273
    goto yy48;
8826
3.97k
yy772:
8827
3.97k
    YYDEBUG(772, *YYCURSOR);
8828
3.97k
    yyaccept = 4;
8829
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
8830
3.97k
    if (yych == '_') goto yy818;
8831
578
    goto yy48;
8832
15.5k
yy773:
8833
15.5k
    YYDEBUG(773, *YYCURSOR);
8834
15.5k
    ++YYCURSOR;
8835
15.5k
    YYFILL(1);
8836
15.5k
    yych = *YYCURSOR;
8837
15.5k
    if (yybm[0+yych] & 128) {
8838
1.71k
      goto yy443;
8839
1.71k
    }
8840
13.7k
    if (yych <= 0x00) goto yy86;
8841
13.6k
    if (yych <= '\r') goto yy709;
8842
280
    goto yy547;
8843
1.86k
yy774:
8844
1.86k
    YYDEBUG(774, *YYCURSOR);
8845
1.86k
    yyaccept = 26;
8846
1.86k
    YYMARKER = ++YYCURSOR;
8847
1.86k
    YYFILL(1);
8848
1.86k
    yych = *YYCURSOR;
8849
1.86k
    if (yybm[0+yych] & 128) {
8850
1.22k
      goto yy443;
8851
1.22k
    }
8852
643
    if (yych <= 0x00) goto yy89;
8853
369
    if (yych <= '\r') goto yy545;
8854
169
    goto yy547;
8855
7.29k
yy775:
8856
7.29k
    YYDEBUG(775, *YYCURSOR);
8857
7.29k
    ++YYCURSOR;
8858
7.29k
    YYFILL(1);
8859
7.29k
    yych = *YYCURSOR;
8860
7.29k
    if (yych <= '\r') {
8861
2.19k
      if (yych <= '\t') {
8862
543
        if (yych <= 0x00) goto yy86;
8863
323
        goto yy443;
8864
1.65k
      } else {
8865
1.65k
        if (yych <= '\n') goto yy545;
8866
435
        if (yych <= '\f') goto yy443;
8867
362
        goto yy545;
8868
435
      }
8869
5.09k
    } else {
8870
5.09k
      if (yych <= '*') {
8871
1.28k
        if (yych <= ')') goto yy443;
8872
740
        goto yy547;
8873
3.81k
      } else {
8874
3.81k
        if (yych == '.') goto yy820;
8875
428
        goto yy443;
8876
3.81k
      }
8877
5.09k
    }
8878
17.9k
yy776:
8879
17.9k
    YYDEBUG(776, *YYCURSOR);
8880
17.9k
    ++YYCURSOR;
8881
17.9k
    YYFILL(1);
8882
17.9k
    yych = *YYCURSOR;
8883
17.9k
    if (yybm[0+yych] & 128) {
8884
2.87k
      goto yy443;
8885
2.87k
    }
8886
15.0k
    if (yych <= 0x00) goto yy86;
8887
14.7k
    if (yych <= '\r') goto yy545;
8888
14.4k
    goto yy821;
8889
14.4k
yy777:
8890
304
    YYDEBUG(777, *YYCURSOR);
8891
304
    ++YYCURSOR;
8892
304
    YYDEBUG(778, *YYCURSOR);
8893
304
    yyleng = YYCURSOR - SCNG(yy_text);
8894
304
#line 1700 "Zend/zend_language_scanner.l"
8895
304
    {
8896
304
  if (PARSER_MODE()) {
8897
83
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8898
83
    if (EG(exception)) {
8899
0
      RETURN_TOKEN(T_ERROR);
8900
0
    }
8901
83
  }
8902
304
  RETURN_TOKEN(T_BOOL_CAST);
8903
304
}
8904
0
#line 8905 "Zend/zend_language_scanner.c"
8905
557
yy779:
8906
557
    YYDEBUG(779, *YYCURSOR);
8907
557
    ++YYCURSOR;
8908
557
    YYDEBUG(780, *YYCURSOR);
8909
557
    yyleng = YYCURSOR - SCNG(yy_text);
8910
557
#line 1642 "Zend/zend_language_scanner.l"
8911
557
    {
8912
557
  if (PARSER_MODE()) {
8913
79
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8914
79
    if (EG(exception)) {
8915
0
      RETURN_TOKEN(T_ERROR);
8916
0
    }
8917
79
  }
8918
557
  RETURN_TOKEN(T_INT_CAST);
8919
557
}
8920
0
#line 8921 "Zend/zend_language_scanner.c"
8921
2.99k
yy781:
8922
2.99k
    YYDEBUG(781, *YYCURSOR);
8923
2.99k
    yyaccept = 4;
8924
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
8925
2.99k
    if (yych == 'E') goto yy822;
8926
2.51k
    if (yych == 'e') goto yy822;
8927
324
    goto yy48;
8928
4.36k
yy782:
8929
4.36k
    YYDEBUG(782, *YYCURSOR);
8930
4.36k
    yyaccept = 4;
8931
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
8932
4.36k
    if (yych == 'H') goto yy824;
8933
2.90k
    if (yych == 'h') goto yy824;
8934
722
    goto yy48;
8935
2.04k
yy783:
8936
2.04k
    YYDEBUG(783, *YYCURSOR);
8937
2.04k
    yyaccept = 76;
8938
2.04k
    yych = *(YYMARKER = ++YYCURSOR);
8939
2.04k
    if (yybm[256+yych] & 128) {
8940
539
      goto yy47;
8941
539
    }
8942
1.50k
    if (yych == '\\') goto yy164;
8943
1.50k
yy784:
8944
1.50k
    YYDEBUG(784, *YYCURSOR);
8945
1.50k
    yyleng = YYCURSOR - SCNG(yy_text);
8946
1.50k
#line 1522 "Zend/zend_language_scanner.l"
8947
1.50k
    {
8948
1.50k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8949
1.50k
}
8950
0
#line 8951 "Zend/zend_language_scanner.c"
8951
2.02k
yy785:
8952
2.02k
    YYDEBUG(785, *YYCURSOR);
8953
2.02k
    yych = *++YYCURSOR;
8954
2.02k
    if (yych == 'N') goto yy826;
8955
1.50k
    if (yych == 'n') goto yy826;
8956
453
    goto yy86;
8957
4.62k
yy786:
8958
4.62k
    YYDEBUG(786, *YYCURSOR);
8959
4.62k
    yych = *++YYCURSOR;
8960
4.62k
    if (yych == 'E') goto yy827;
8961
3.51k
    if (yych == 'e') goto yy827;
8962
1.04k
    goto yy86;
8963
371k
yy787:
8964
371k
    YYDEBUG(787, *YYCURSOR);
8965
371k
    ++YYCURSOR;
8966
371k
    YYFILL(1);
8967
371k
    yych = *YYCURSOR;
8968
371k
    YYDEBUG(788, *YYCURSOR);
8969
371k
    if (yych <= '@') {
8970
335k
      if (yych <= ' ') {
8971
51.6k
        if (yych <= '\n') {
8972
9.74k
          if (yych <= 0x00) goto yy86;
8973
7.89k
          if (yych <= 0x08) goto yy590;
8974
7.45k
          goto yy787;
8975
41.9k
        } else {
8976
41.9k
          if (yych == '\r') goto yy787;
8977
23.0k
          if (yych <= 0x1F) goto yy590;
8978
22.0k
          goto yy787;
8979
23.0k
        }
8980
283k
      } else {
8981
283k
        if (yych <= ')') {
8982
249k
          if (yych == '#') goto yy828;
8983
13.7k
          goto yy590;
8984
249k
        } else {
8985
33.7k
          if (yych <= '*') goto yy668;
8986
33.1k
          if (yych == '/') goto yy829;
8987
5.54k
          goto yy590;
8988
33.1k
        }
8989
283k
      }
8990
335k
    } else {
8991
35.7k
      if (yych <= '_') {
8992
6.10k
        if (yych <= 'H') {
8993
1.91k
          if (yych == 'E') goto yy831;
8994
1.35k
          goto yy830;
8995
4.19k
        } else {
8996
4.19k
          if (yych <= 'I') goto yy832;
8997
1.67k
          if (yych <= 'Z') goto yy830;
8998
1.24k
          if (yych <= '^') goto yy590;
8999
391
          goto yy830;
9000
1.24k
        }
9001
29.6k
      } else {
9002
29.6k
        if (yych <= 'h') {
9003
12.7k
          if (yych <= '`') goto yy590;
9004
12.3k
          if (yych == 'e') goto yy831;
9005
1.34k
          goto yy830;
9006
16.9k
        } else {
9007
16.9k
          if (yych <= 'i') goto yy832;
9008
5.31k
          if (yych <= 'z') goto yy830;
9009
3.16k
          if (yych <= 0x7F) goto yy590;
9010
1.82k
          goto yy830;
9011
3.16k
        }
9012
29.6k
      }
9013
35.7k
    }
9014
46.2k
yy789:
9015
46.2k
    YYDEBUG(789, *YYCURSOR);
9016
46.2k
    ++YYCURSOR;
9017
46.2k
    YYFILL(1);
9018
46.2k
    yych = *YYCURSOR;
9019
46.2k
    YYDEBUG(790, *YYCURSOR);
9020
46.2k
    if (yych <= '\r') {
9021
12.9k
      if (yych <= '\t') {
9022
1.22k
        if (yych <= 0x00) goto yy86;
9023
268
        goto yy738;
9024
11.6k
      } else {
9025
11.6k
        if (yych <= '\n') goto yy787;
9026
10.5k
        if (yych <= '\f') goto yy738;
9027
8.58k
        goto yy787;
9028
10.5k
      }
9029
33.3k
    } else {
9030
33.3k
      if (yych <= '*') {
9031
10.5k
        if (yych <= ')') goto yy738;
9032
3.28k
        goto yy789;
9033
22.7k
      } else {
9034
22.7k
        if (yych == '/') goto yy588;
9035
6.88k
        goto yy738;
9036
22.7k
      }
9037
33.3k
    }
9038
11.5k
yy791:
9039
11.5k
    YYDEBUG(791, *YYCURSOR);
9040
11.5k
    ++YYCURSOR;
9041
11.5k
    YYFILL(1);
9042
11.5k
    yych = *YYCURSOR;
9043
11.5k
    if (yych <= '\r') {
9044
1.80k
      if (yych <= '\t') {
9045
648
        if (yych <= 0x00) goto yy86;
9046
333
        goto yy586;
9047
1.15k
      } else {
9048
1.15k
        if (yych <= '\n') goto yy495;
9049
781
        if (yych <= '\f') goto yy586;
9050
562
        goto yy495;
9051
781
      }
9052
9.76k
    } else {
9053
9.76k
      if (yych <= 'E') {
9054
1.24k
        if (yych <= 'D') goto yy586;
9055
849
        goto yy833;
9056
8.52k
      } else {
9057
8.52k
        if (yych == 'e') goto yy833;
9058
423
        goto yy586;
9059
8.52k
      }
9060
9.76k
    }
9061
31.3k
yy792:
9062
31.3k
    YYDEBUG(792, *YYCURSOR);
9063
31.3k
    ++YYCURSOR;
9064
31.3k
    YYFILL(1);
9065
31.3k
    yych = *YYCURSOR;
9066
31.3k
    if (yych <= '\r') {
9067
1.61k
      if (yych <= '\t') {
9068
534
        if (yych <= 0x00) goto yy86;
9069
189
        goto yy586;
9070
1.07k
      } else {
9071
1.07k
        if (yych <= '\n') goto yy495;
9072
766
        if (yych <= '\f') goto yy586;
9073
290
        goto yy495;
9074
766
      }
9075
29.6k
    } else {
9076
29.6k
      if (yych <= 'L') {
9077
6.64k
        if (yych <= 'K') goto yy586;
9078
5.70k
        goto yy834;
9079
23.0k
      } else {
9080
23.0k
        if (yych == 'l') goto yy834;
9081
1.98k
        goto yy586;
9082
23.0k
      }
9083
29.6k
    }
9084
6.82k
yy793:
9085
6.82k
    YYDEBUG(793, *YYCURSOR);
9086
6.82k
    yyaccept = 4;
9087
6.82k
    yych = *(YYMARKER = ++YYCURSOR);
9088
6.82k
    if (yych == 'S') goto yy835;
9089
6.31k
    if (yych == 's') goto yy835;
9090
1.49k
    goto yy48;
9091
3.24k
yy794:
9092
3.24k
    YYDEBUG(794, *YYCURSOR);
9093
3.24k
    yyaccept = 4;
9094
3.24k
    yych = *(YYMARKER = ++YYCURSOR);
9095
3.24k
    if (yych == 'N') goto yy837;
9096
2.74k
    if (yych == 'n') goto yy837;
9097
339
    goto yy48;
9098
3.54k
yy795:
9099
3.54k
    YYDEBUG(795, *YYCURSOR);
9100
3.54k
    yyaccept = 4;
9101
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
9102
3.54k
    if (yych == 'F') goto yy838;
9103
3.09k
    if (yych == 'f') goto yy838;
9104
588
    goto yy48;
9105
4.29k
yy796:
9106
4.29k
    YYDEBUG(796, *YYCURSOR);
9107
4.29k
    yyaccept = 77;
9108
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
9109
4.29k
    if (yybm[256+yych] & 128) {
9110
479
      goto yy47;
9111
479
    }
9112
3.81k
    if (yych == '\\') goto yy164;
9113
3.81k
yy797:
9114
3.81k
    YYDEBUG(797, *YYCURSOR);
9115
3.81k
    yyleng = YYCURSOR - SCNG(yy_text);
9116
3.81k
#line 1746 "Zend/zend_language_scanner.l"
9117
3.81k
    {
9118
3.81k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9119
3.81k
}
9120
0
#line 9121 "Zend/zend_language_scanner.c"
9121
7.13k
yy798:
9122
7.13k
    YYDEBUG(798, *YYCURSOR);
9123
7.13k
    yyaccept = 78;
9124
7.13k
    yych = *(YYMARKER = ++YYCURSOR);
9125
7.13k
    if (yybm[256+yych] & 128) {
9126
976
      goto yy47;
9127
976
    }
9128
6.16k
    if (yych == '\\') goto yy164;
9129
6.15k
yy799:
9130
6.15k
    YYDEBUG(799, *YYCURSOR);
9131
6.15k
    yyleng = YYCURSOR - SCNG(yy_text);
9132
6.15k
#line 1558 "Zend/zend_language_scanner.l"
9133
6.15k
    {
9134
6.15k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9135
6.15k
}
9136
0
#line 9137 "Zend/zend_language_scanner.c"
9137
29.5k
yy800:
9138
29.5k
    YYDEBUG(800, *YYCURSOR);
9139
29.5k
    yyaccept = 79;
9140
29.5k
    yych = *(YYMARKER = ++YYCURSOR);
9141
29.5k
    if (yybm[256+yych] & 128) {
9142
969
      goto yy47;
9143
969
    }
9144
28.5k
    if (yych == '\\') goto yy840;
9145
15.1k
yy801:
9146
15.1k
    YYDEBUG(801, *YYCURSOR);
9147
15.1k
    yyleng = YYCURSOR - SCNG(yy_text);
9148
15.1k
#line 1738 "Zend/zend_language_scanner.l"
9149
15.1k
    {
9150
15.1k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9151
15.1k
}
9152
0
#line 9153 "Zend/zend_language_scanner.c"
9153
4.67k
yy802:
9154
4.67k
    YYDEBUG(802, *YYCURSOR);
9155
4.67k
    yych = *++YYCURSOR;
9156
4.67k
    if (yych == 'E') goto yy841;
9157
4.59k
    if (yych == 'e') goto yy841;
9158
1.59k
    goto yy86;
9159
9.24k
yy803:
9160
9.24k
    YYDEBUG(803, *YYCURSOR);
9161
9.24k
    yyaccept = 80;
9162
9.24k
    yych = *(YYMARKER = ++YYCURSOR);
9163
9.24k
    if (yybm[256+yych] & 128) {
9164
872
      goto yy47;
9165
872
    }
9166
8.37k
    if (yych == '(') goto yy842;
9167
6.16k
    if (yych == '\\') goto yy164;
9168
7.74k
yy804:
9169
7.74k
    YYDEBUG(804, *YYCURSOR);
9170
7.74k
    yyleng = YYCURSOR - SCNG(yy_text);
9171
7.74k
#line 1782 "Zend/zend_language_scanner.l"
9172
7.74k
    {
9173
7.74k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9174
7.74k
}
9175
0
#line 9176 "Zend/zend_language_scanner.c"
9176
1.90k
yy805:
9177
1.90k
    YYDEBUG(805, *YYCURSOR);
9178
1.90k
    yych = *++YYCURSOR;
9179
1.90k
    if (yych == 'T') goto yy843;
9180
1.08k
    if (yych == 't') goto yy843;
9181
385
    goto yy86;
9182
3.28k
yy806:
9183
3.28k
    YYDEBUG(806, *YYCURSOR);
9184
3.28k
    yyaccept = 4;
9185
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
9186
3.28k
    if (yych == 'N') goto yy844;
9187
2.80k
    if (yych == 'n') goto yy844;
9188
492
    goto yy48;
9189
6.70k
yy807:
9190
6.70k
    YYDEBUG(807, *YYCURSOR);
9191
6.70k
    yych = *++YYCURSOR;
9192
6.70k
    if (yych == 'M') goto yy845;
9193
5.45k
    if (yych == 'm') goto yy845;
9194
717
    goto yy86;
9195
774k
yy808:
9196
774k
    YYDEBUG(808, *YYCURSOR);
9197
774k
    ++YYCURSOR;
9198
774k
    YYFILL(1);
9199
774k
    yych = *YYCURSOR;
9200
774k
    YYDEBUG(809, *YYCURSOR);
9201
774k
    if (yych <= '\f') {
9202
91.1k
      if (yych <= 0x00) goto yy86;
9203
87.5k
      if (yych == '\n') goto yy846;
9204
16.2k
      goto yy808;
9205
683k
    } else {
9206
683k
      if (yych <= '\r') goto yy846;
9207
645k
      if (yych == '*') goto yy848;
9208
622k
      goto yy808;
9209
645k
    }
9210
17.3k
yy810:
9211
17.3k
    YYDEBUG(810, *YYCURSOR);
9212
17.3k
    ++YYCURSOR;
9213
17.3k
    YYFILL(1);
9214
17.3k
    yych = *YYCURSOR;
9215
17.3k
    if (yych <= '\r') {
9216
1.53k
      if (yych <= '\t') {
9217
599
        if (yych <= 0x00) goto yy86;
9218
342
        goto yy692;
9219
935
      } else {
9220
935
        if (yych <= '\n') goto yy616;
9221
461
        if (yych <= '\f') goto yy692;
9222
259
        goto yy616;
9223
461
      }
9224
15.8k
    } else {
9225
15.8k
      if (yych <= 'O') {
9226
12.2k
        if (yych <= 'N') goto yy692;
9227
11.7k
        goto yy850;
9228
12.2k
      } else {
9229
3.60k
        if (yych == 'o') goto yy850;
9230
1.06k
        goto yy692;
9231
3.60k
      }
9232
15.8k
    }
9233
8.77k
yy811:
9234
8.77k
    YYDEBUG(811, *YYCURSOR);
9235
8.77k
    yyaccept = 81;
9236
8.77k
    yych = *(YYMARKER = ++YYCURSOR);
9237
8.77k
    if (yybm[256+yych] & 128) {
9238
883
      goto yy47;
9239
883
    }
9240
7.88k
    if (yych == '\\') goto yy164;
9241
7.75k
yy812:
9242
7.75k
    YYDEBUG(812, *YYCURSOR);
9243
7.75k
    yyleng = YYCURSOR - SCNG(yy_text);
9244
7.75k
#line 2253 "Zend/zend_language_scanner.l"
9245
7.75k
    {
9246
7.75k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9247
7.75k
}
9248
0
#line 9249 "Zend/zend_language_scanner.c"
9249
6.26k
yy813:
9250
6.26k
    YYDEBUG(813, *YYCURSOR);
9251
6.26k
    yyaccept = 4;
9252
6.26k
    yych = *(YYMARKER = ++YYCURSOR);
9253
6.26k
    if (yych == 'N') goto yy851;
9254
2.09k
    if (yych == 'n') goto yy851;
9255
859
    goto yy48;
9256
5.37k
yy814:
9257
5.37k
    YYDEBUG(814, *YYCURSOR);
9258
5.37k
    yyaccept = 4;
9259
5.37k
    yych = *(YYMARKER = ++YYCURSOR);
9260
5.37k
    if (yych == 'M') goto yy852;
9261
4.50k
    if (yych == 'm') goto yy852;
9262
718
    goto yy48;
9263
11.1k
yy815:
9264
11.1k
    YYDEBUG(815, *YYCURSOR);
9265
11.1k
    yyaccept = 4;
9266
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
9267
11.1k
    if (yych == '_') goto yy853;
9268
366
    goto yy48;
9269
7.23k
yy816:
9270
7.23k
    YYDEBUG(816, *YYCURSOR);
9271
7.23k
    yyaccept = 4;
9272
7.23k
    yych = *(YYMARKER = ++YYCURSOR);
9273
7.23k
    if (yych == 'C') goto yy855;
9274
5.23k
    if (yych == 'c') goto yy855;
9275
692
    goto yy48;
9276
4.00k
yy817:
9277
4.00k
    YYDEBUG(817, *YYCURSOR);
9278
4.00k
    yyaccept = 4;
9279
4.00k
    yych = *(YYMARKER = ++YYCURSOR);
9280
4.00k
    if (yych == 'Y') goto yy856;
9281
961
    if (yych == 'y') goto yy856;
9282
871
    goto yy48;
9283
3.40k
yy818:
9284
3.40k
    YYDEBUG(818, *YYCURSOR);
9285
3.40k
    yyaccept = 82;
9286
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
9287
3.40k
    if (yybm[256+yych] & 128) {
9288
641
      goto yy47;
9289
641
    }
9290
2.76k
    if (yych == '\\') goto yy164;
9291
2.73k
yy819:
9292
2.73k
    YYDEBUG(819, *YYCURSOR);
9293
2.73k
    yyleng = YYCURSOR - SCNG(yy_text);
9294
2.73k
#line 2257 "Zend/zend_language_scanner.l"
9295
2.73k
    {
9296
2.73k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9297
2.73k
}
9298
0
#line 9299 "Zend/zend_language_scanner.c"
9299
3.38k
yy820:
9300
3.38k
    YYDEBUG(820, *YYCURSOR);
9301
3.38k
    ++YYCURSOR;
9302
3.38k
    YYFILL(1);
9303
3.38k
    yych = *YYCURSOR;
9304
3.38k
    if (yych <= '\r') {
9305
1.34k
      if (yych <= '\t') {
9306
363
        if (yych <= 0x00) goto yy86;
9307
288
        goto yy443;
9308
981
      } else {
9309
981
        if (yych <= '\n') goto yy545;
9310
441
        if (yych <= '\f') goto yy443;
9311
226
        goto yy545;
9312
441
      }
9313
2.03k
    } else {
9314
2.03k
      if (yych <= '*') {
9315
616
        if (yych <= ')') goto yy443;
9316
387
        goto yy547;
9317
1.42k
      } else {
9318
1.42k
        if (yych == '.') goto yy774;
9319
610
        goto yy443;
9320
1.42k
      }
9321
2.03k
    }
9322
14.4k
yy821:
9323
14.4k
    YYDEBUG(821, *YYCURSOR);
9324
14.4k
    ++YYCURSOR;
9325
14.4k
    YYFILL(1);
9326
14.4k
    yych = *YYCURSOR;
9327
14.4k
    if (yych <= '\r') {
9328
1.47k
      if (yych <= '\t') {
9329
467
        if (yych <= 0x00) goto yy86;
9330
254
        goto yy443;
9331
1.00k
      } else {
9332
1.00k
        if (yych <= '\n') goto yy545;
9333
602
        if (yych <= '\f') goto yy443;
9334
214
        goto yy545;
9335
602
      }
9336
12.9k
    } else {
9337
12.9k
      if (yych <= '*') {
9338
653
        if (yych <= ')') goto yy443;
9339
248
        goto yy547;
9340
12.3k
      } else {
9341
12.3k
        if (yych == '/') goto yy709;
9342
751
        goto yy443;
9343
12.3k
      }
9344
12.9k
    }
9345
2.67k
yy822:
9346
2.67k
    YYDEBUG(822, *YYCURSOR);
9347
2.67k
    yyaccept = 83;
9348
2.67k
    yych = *(YYMARKER = ++YYCURSOR);
9349
2.67k
    if (yybm[256+yych] & 128) {
9350
710
      goto yy47;
9351
710
    }
9352
1.96k
    if (yych == '\\') goto yy164;
9353
1.86k
yy823:
9354
1.86k
    YYDEBUG(823, *YYCURSOR);
9355
1.86k
    yyleng = YYCURSOR - SCNG(yy_text);
9356
1.86k
#line 1502 "Zend/zend_language_scanner.l"
9357
1.86k
    {
9358
1.86k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9359
1.86k
}
9360
0
#line 9361 "Zend/zend_language_scanner.c"
9361
3.64k
yy824:
9362
3.64k
    YYDEBUG(824, *YYCURSOR);
9363
3.64k
    yyaccept = 84;
9364
3.64k
    yych = *(YYMARKER = ++YYCURSOR);
9365
3.64k
    if (yybm[256+yych] & 128) {
9366
534
      goto yy47;
9367
534
    }
9368
3.10k
    if (yych == '\\') goto yy164;
9369
3.10k
yy825:
9370
3.10k
    YYDEBUG(825, *YYCURSOR);
9371
3.10k
    yyleng = YYCURSOR - SCNG(yy_text);
9372
3.10k
#line 1494 "Zend/zend_language_scanner.l"
9373
3.10k
    {
9374
3.10k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9375
3.10k
}
9376
0
#line 9377 "Zend/zend_language_scanner.c"
9377
1.57k
yy826:
9378
1.57k
    YYDEBUG(826, *YYCURSOR);
9379
1.57k
    yych = *++YYCURSOR;
9380
1.57k
    if (yych == 'D') goto yy857;
9381
1.31k
    if (yych == 'd') goto yy857;
9382
528
    goto yy86;
9383
3.57k
yy827:
9384
3.57k
    YYDEBUG(827, *YYCURSOR);
9385
3.57k
    yych = *++YYCURSOR;
9386
3.57k
    if (yych == 'M') goto yy858;
9387
2.53k
    if (yych == 'm') goto yy858;
9388
636
    goto yy86;
9389
236k
yy828:
9390
236k
    YYDEBUG(828, *YYCURSOR);
9391
236k
    ++YYCURSOR;
9392
236k
    YYFILL(1);
9393
236k
    yych = *YYCURSOR;
9394
236k
    if (yych <= '\r') {
9395
198k
      if (yych <= '\t') {
9396
3.20k
        if (yych <= 0x00) goto yy86;
9397
2.98k
        goto yy738;
9398
195k
      } else {
9399
195k
        if (yych <= '\n') goto yy859;
9400
62.6k
        if (yych <= '\f') goto yy738;
9401
62.0k
        goto yy859;
9402
62.6k
      }
9403
198k
    } else {
9404
37.2k
      if (yych <= '*') {
9405
6.11k
        if (yych <= ')') goto yy738;
9406
2.65k
        goto yy789;
9407
31.1k
      } else {
9408
31.1k
        if (yych == '[') goto yy590;
9409
30.8k
        goto yy738;
9410
31.1k
      }
9411
37.2k
    }
9412
27.6k
yy829:
9413
27.6k
    YYDEBUG(829, *YYCURSOR);
9414
27.6k
    ++YYCURSOR;
9415
27.6k
    YYFILL(1);
9416
27.6k
    yych = *YYCURSOR;
9417
27.6k
    if (yych <= '*') {
9418
25.0k
      if (yych <= 0x00) goto yy86;
9419
24.7k
      if (yych <= ')') goto yy590;
9420
24.3k
      goto yy861;
9421
24.7k
    } else {
9422
2.63k
      if (yych == '/') goto yy738;
9423
2.12k
      goto yy590;
9424
2.63k
    }
9425
7.49k
yy830:
9426
7.49k
    YYDEBUG(830, *YYCURSOR);
9427
7.49k
    yyaccept = 53;
9428
7.49k
    YYMARKER = ++YYCURSOR;
9429
7.49k
    YYFILL(1);
9430
7.49k
    yych = *YYCURSOR;
9431
7.49k
    if (yych <= 0x00) goto yy583;
9432
6.87k
    if (yych == '*') goto yy668;
9433
6.16k
    goto yy590;
9434
11.5k
yy831:
9435
11.5k
    YYDEBUG(831, *YYCURSOR);
9436
11.5k
    yyaccept = 53;
9437
11.5k
    YYMARKER = ++YYCURSOR;
9438
11.5k
    YYFILL(1);
9439
11.5k
    yych = *YYCURSOR;
9440
11.5k
    if (yych <= 'W') {
9441
4.58k
      if (yych <= 0x00) goto yy583;
9442
4.28k
      if (yych == '*') goto yy668;
9443
2.68k
      goto yy590;
9444
6.96k
    } else {
9445
6.96k
      if (yych <= 'X') goto yy862;
9446
6.27k
      if (yych == 'x') goto yy862;
9447
1.49k
      goto yy590;
9448
6.27k
    }
9449
14.1k
yy832:
9450
14.1k
    YYDEBUG(832, *YYCURSOR);
9451
14.1k
    yyaccept = 53;
9452
14.1k
    YYMARKER = ++YYCURSOR;
9453
14.1k
    YYFILL(1);
9454
14.1k
    yych = *YYCURSOR;
9455
14.1k
    if (yych <= 'L') {
9456
1.02k
      if (yych <= 0x00) goto yy583;
9457
759
      if (yych == '*') goto yy668;
9458
554
      goto yy590;
9459
13.0k
    } else {
9460
13.0k
      if (yych <= 'M') goto yy863;
9461
10.4k
      if (yych == 'm') goto yy863;
9462
912
      goto yy590;
9463
10.4k
    }
9464
8.94k
yy833:
9465
8.94k
    YYDEBUG(833, *YYCURSOR);
9466
8.94k
    ++YYCURSOR;
9467
8.94k
    YYFILL(1);
9468
8.94k
    yych = *YYCURSOR;
9469
8.94k
    if (yych <= '\r') {
9470
1.73k
      if (yych <= '\t') {
9471
851
        if (yych <= 0x00) goto yy86;
9472
338
        goto yy586;
9473
883
      } else {
9474
883
        if (yych <= '\n') goto yy495;
9475
551
        if (yych <= '\f') goto yy586;
9476
322
        goto yy495;
9477
551
      }
9478
7.21k
    } else {
9479
7.21k
      if (yych <= 'N') {
9480
3.50k
        if (yych <= 'M') goto yy586;
9481
2.88k
        goto yy864;
9482
3.70k
      } else {
9483
3.70k
        if (yych == 'n') goto yy864;
9484
503
        goto yy586;
9485
3.70k
      }
9486
7.21k
    }
9487
26.7k
yy834:
9488
26.7k
    YYDEBUG(834, *YYCURSOR);
9489
26.7k
    ++YYCURSOR;
9490
26.7k
    YYFILL(1);
9491
26.7k
    yych = *YYCURSOR;
9492
26.7k
    if (yych <= '\r') {
9493
2.29k
      if (yych <= '\t') {
9494
607
        if (yych <= 0x00) goto yy86;
9495
345
        goto yy586;
9496
1.68k
      } else {
9497
1.68k
        if (yych <= '\n') goto yy495;
9498
1.18k
        if (yych <= '\f') goto yy586;
9499
950
        goto yy495;
9500
1.18k
      }
9501
24.4k
    } else {
9502
24.4k
      if (yych <= 'E') {
9503
6.59k
        if (yych <= 'D') goto yy586;
9504
4.77k
        goto yy865;
9505
17.8k
      } else {
9506
17.8k
        if (yych == 'e') goto yy865;
9507
746
        goto yy586;
9508
17.8k
      }
9509
24.4k
    }
9510
5.33k
yy835:
9511
5.33k
    YYDEBUG(835, *YYCURSOR);
9512
5.33k
    yyaccept = 85;
9513
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
9514
5.33k
    if (yybm[256+yych] & 128) {
9515
792
      goto yy47;
9516
792
    }
9517
4.54k
    if (yych == '\\') goto yy164;
9518
4.53k
yy836:
9519
4.53k
    YYDEBUG(836, *YYCURSOR);
9520
4.53k
    yyleng = YYCURSOR - SCNG(yy_text);
9521
4.53k
#line 1583 "Zend/zend_language_scanner.l"
9522
4.53k
    {
9523
4.53k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9524
4.53k
}
9525
0
#line 9526 "Zend/zend_language_scanner.c"
9526
2.90k
yy837:
9527
2.90k
    YYDEBUG(837, *YYCURSOR);
9528
2.90k
    yyaccept = 4;
9529
2.90k
    yych = *(YYMARKER = ++YYCURSOR);
9530
2.90k
    if (yych == 'C') goto yy866;
9531
2.34k
    if (yych == 'c') goto yy866;
9532
755
    goto yy48;
9533
2.95k
yy838:
9534
2.95k
    YYDEBUG(838, *YYCURSOR);
9535
2.95k
    yyaccept = 86;
9536
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
9537
2.95k
    if (yybm[256+yych] & 128) {
9538
540
      goto yy47;
9539
540
    }
9540
2.41k
    if (yych == '\\') goto yy164;
9541
2.40k
yy839:
9542
2.40k
    YYDEBUG(839, *YYCURSOR);
9543
2.40k
    yyleng = YYCURSOR - SCNG(yy_text);
9544
2.40k
#line 1506 "Zend/zend_language_scanner.l"
9545
2.40k
    {
9546
2.40k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9547
2.40k
}
9548
0
#line 9549 "Zend/zend_language_scanner.c"
9549
18.4k
yy840:
9550
18.4k
    YYDEBUG(840, *YYCURSOR);
9551
18.4k
    ++YYCURSOR;
9552
18.4k
    YYFILL(1);
9553
18.4k
    yych = *YYCURSOR;
9554
18.4k
    if (yych <= '_') {
9555
5.42k
      if (yych <= '@') goto yy86;
9556
2.98k
      if (yych <= 'Z') goto yy867;
9557
585
      if (yych <= '^') goto yy86;
9558
339
      goto yy867;
9559
13.0k
    } else {
9560
13.0k
      if (yych <= '`') goto yy86;
9561
12.9k
      if (yych <= 'z') goto yy867;
9562
1.04k
      if (yych <= 0x7F) goto yy86;
9563
822
      goto yy867;
9564
1.04k
    }
9565
3.07k
yy841:
9566
3.07k
    YYDEBUG(841, *YYCURSOR);
9567
3.07k
    yych = *++YYCURSOR;
9568
3.07k
    if (yych == 'T') goto yy870;
9569
2.99k
    if (yych == 't') goto yy870;
9570
1.26k
    goto yy86;
9571
2.20k
yy842:
9572
2.20k
    YYDEBUG(842, *YYCURSOR);
9573
2.20k
    yych = *++YYCURSOR;
9574
2.20k
    if (yych == 'S') goto yy871;
9575
2.00k
    if (yych == 's') goto yy871;
9576
375
    goto yy86;
9577
1.52k
yy843:
9578
1.52k
    YYDEBUG(843, *YYCURSOR);
9579
1.52k
    yych = *++YYCURSOR;
9580
1.52k
    if (yych == ')') goto yy872;
9581
318
    goto yy86;
9582
2.79k
yy844:
9583
2.79k
    YYDEBUG(844, *YYCURSOR);
9584
2.79k
    yyaccept = 4;
9585
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
9586
2.79k
    if (yych == 'C') goto yy874;
9587
2.42k
    if (yych == 'c') goto yy874;
9588
283
    goto yy48;
9589
5.98k
yy845:
9590
5.98k
    YYDEBUG(845, *YYCURSOR);
9591
5.98k
    yych = *++YYCURSOR;
9592
5.98k
    if (yych <= '^') {
9593
3.92k
      if (yych <= '9') {
9594
3.02k
        if (yych <= '/') goto yy875;
9595
209
        goto yy86;
9596
3.02k
      } else {
9597
901
        if (yych <= '@') goto yy875;
9598
526
        if (yych <= 'Z') goto yy86;
9599
208
        goto yy875;
9600
526
      }
9601
3.92k
    } else {
9602
2.06k
      if (yych <= '`') {
9603
351
        if (yych <= '_') goto yy86;
9604
75
        goto yy875;
9605
1.71k
      } else {
9606
1.71k
        if (yych <= 'z') goto yy86;
9607
1.06k
        if (yych <= 0x7F) goto yy875;
9608
552
        goto yy86;
9609
1.06k
      }
9610
2.06k
    }
9611
194k
yy846:
9612
194k
    YYDEBUG(846, *YYCURSOR);
9613
194k
    ++YYCURSOR;
9614
194k
    YYFILL(1);
9615
194k
    yych = *YYCURSOR;
9616
194k
    YYDEBUG(847, *YYCURSOR);
9617
194k
    if (yych <= '#') {
9618
147k
      if (yych <= '\f') {
9619
14.4k
        if (yych <= 0x00) goto yy86;
9620
13.1k
        if (yych <= 0x08) goto yy696;
9621
12.6k
        if (yych <= '\n') goto yy846;
9622
250
        goto yy696;
9623
133k
      } else {
9624
133k
        if (yych <= 0x1F) {
9625
18.2k
          if (yych <= '\r') goto yy846;
9626
324
          goto yy696;
9627
115k
        } else {
9628
115k
          if (yych <= ' ') goto yy846;
9629
110k
          if (yych <= '"') goto yy696;
9630
109k
          goto yy877;
9631
110k
        }
9632
133k
      }
9633
147k
    } else {
9634
47.2k
      if (yych <= '/') {
9635
28.6k
        if (yych == '*') goto yy760;
9636
28.2k
        if (yych <= '.') goto yy696;
9637
20.2k
        goto yy878;
9638
28.2k
      } else {
9639
18.6k
        if (yych <= 'F') {
9640
12.3k
          if (yych <= 'E') goto yy696;
9641
9.33k
          goto yy879;
9642
12.3k
        } else {
9643
6.27k
          if (yych == 'f') goto yy879;
9644
5.53k
          goto yy696;
9645
6.27k
        }
9646
18.6k
      }
9647
47.2k
    }
9648
31.4k
yy848:
9649
31.4k
    YYDEBUG(848, *YYCURSOR);
9650
31.4k
    ++YYCURSOR;
9651
31.4k
    YYFILL(1);
9652
31.4k
    yych = *YYCURSOR;
9653
31.4k
    YYDEBUG(849, *YYCURSOR);
9654
31.4k
    if (yych <= '\r') {
9655
8.55k
      if (yych <= '\t') {
9656
1.58k
        if (yych <= 0x00) goto yy86;
9657
1.39k
        goto yy808;
9658
6.96k
      } else {
9659
6.96k
        if (yych <= '\n') goto yy846;
9660
4.18k
        if (yych <= '\f') goto yy808;
9661
3.83k
        goto yy846;
9662
4.18k
      }
9663
22.8k
    } else {
9664
22.8k
      if (yych <= '*') {
9665
10.5k
        if (yych <= ')') goto yy808;
9666
5.71k
        goto yy848;
9667
12.3k
      } else {
9668
12.3k
        if (yych == '/') goto yy694;
9669
3.57k
        goto yy808;
9670
12.3k
      }
9671
22.8k
    }
9672
14.2k
yy850:
9673
14.2k
    YYDEBUG(850, *YYCURSOR);
9674
14.2k
    ++YYCURSOR;
9675
14.2k
    YYFILL(1);
9676
14.2k
    yych = *YYCURSOR;
9677
14.2k
    if (yych <= '\r') {
9678
2.15k
      if (yych <= '\t') {
9679
755
        if (yych <= 0x00) goto yy86;
9680
382
        goto yy692;
9681
1.39k
      } else {
9682
1.39k
        if (yych <= '\n') goto yy616;
9683
929
        if (yych <= '\f') goto yy692;
9684
430
        goto yy616;
9685
929
      }
9686
12.0k
    } else {
9687
12.0k
      if (yych <= 'M') {
9688
8.60k
        if (yych <= 'L') goto yy692;
9689
8.24k
        goto yy880;
9690
8.60k
      } else {
9691
3.48k
        if (yych == 'm') goto yy880;
9692
684
        goto yy692;
9693
3.48k
      }
9694
12.0k
    }
9695
5.40k
yy851:
9696
5.40k
    YYDEBUG(851, *YYCURSOR);
9697
5.40k
    yyaccept = 4;
9698
5.40k
    yych = *(YYMARKER = ++YYCURSOR);
9699
5.40k
    if (yych == '_') goto yy881;
9700
620
    goto yy48;
9701
4.65k
yy852:
9702
4.65k
    YYDEBUG(852, *YYCURSOR);
9703
4.65k
    yyaccept = 4;
9704
4.65k
    yych = *(YYMARKER = ++YYCURSOR);
9705
4.65k
    if (yych == 'P') goto yy882;
9706
3.86k
    if (yych == 'p') goto yy882;
9707
576
    goto yy48;
9708
10.8k
yy853:
9709
10.8k
    YYDEBUG(853, *YYCURSOR);
9710
10.8k
    yyaccept = 87;
9711
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
9712
10.8k
    if (yybm[256+yych] & 128) {
9713
1.09k
      goto yy47;
9714
1.09k
    }
9715
9.72k
    if (yych == '\\') goto yy164;
9716
9.68k
yy854:
9717
9.68k
    YYDEBUG(854, *YYCURSOR);
9718
9.68k
    yyleng = YYCURSOR - SCNG(yy_text);
9719
9.68k
#line 2269 "Zend/zend_language_scanner.l"
9720
9.68k
    {
9721
9.68k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9722
9.68k
}
9723
0
#line 9724 "Zend/zend_language_scanner.c"
9724
6.54k
yy855:
9725
6.54k
    YYDEBUG(855, *YYCURSOR);
9726
6.54k
    yyaccept = 4;
9727
6.54k
    yych = *(YYMARKER = ++YYCURSOR);
9728
6.54k
    if (yych == 'E') goto yy883;
9729
4.54k
    if (yych == 'e') goto yy883;
9730
800
    goto yy48;
9731
3.13k
yy856:
9732
3.13k
    YYDEBUG(856, *YYCURSOR);
9733
3.13k
    yyaccept = 4;
9734
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
9735
3.13k
    if (yych == '_') goto yy884;
9736
1.50k
    goto yy48;
9737
2.00k
yy857:
9738
2.00k
    YYDEBUG(857, *YYCURSOR);
9739
2.00k
    yych = *++YYCURSOR;
9740
2.00k
    if (yych == 'S') goto yy885;
9741
1.78k
    if (yych == 's') goto yy885;
9742
1.24k
    goto yy86;
9743
2.94k
yy858:
9744
2.94k
    YYDEBUG(858, *YYCURSOR);
9745
2.94k
    yych = *++YYCURSOR;
9746
2.94k
    if (yych == 'E') goto yy887;
9747
2.14k
    if (yych == 'e') goto yy887;
9748
771
    goto yy86;
9749
285k
yy859:
9750
285k
    YYDEBUG(859, *YYCURSOR);
9751
285k
    ++YYCURSOR;
9752
285k
    YYFILL(1);
9753
285k
    yych = *YYCURSOR;
9754
285k
    YYDEBUG(860, *YYCURSOR);
9755
285k
    if (yych <= '@') {
9756
147k
      if (yych <= 0x1F) {
9757
23.4k
        if (yych <= '\t') {
9758
3.06k
          if (yych <= 0x00) goto yy86;
9759
2.58k
          if (yych <= 0x08) goto yy738;
9760
1.67k
          goto yy859;
9761
20.3k
        } else {
9762
20.3k
          if (yych <= '\n') goto yy787;
9763
17.8k
          if (yych == '\r') goto yy787;
9764
1.41k
          goto yy738;
9765
17.8k
        }
9766
124k
      } else {
9767
124k
        if (yych <= ')') {
9768
63.7k
          if (yych <= ' ') goto yy859;
9769
38.4k
          if (yych == '#') goto yy888;
9770
3.85k
          goto yy738;
9771
60.7k
        } else {
9772
60.7k
          if (yych <= '*') goto yy789;
9773
59.7k
          if (yych == '/') goto yy889;
9774
4.47k
          goto yy738;
9775
59.7k
        }
9776
124k
      }
9777
147k
    } else {
9778
137k
      if (yych <= '_') {
9779
14.8k
        if (yych <= 'H') {
9780
1.26k
          if (yych == 'E') goto yy891;
9781
765
          goto yy890;
9782
13.6k
        } else {
9783
13.6k
          if (yych <= 'I') goto yy892;
9784
1.76k
          if (yych <= 'Z') goto yy890;
9785
606
          if (yych <= '^') goto yy738;
9786
268
          goto yy890;
9787
606
        }
9788
122k
      } else {
9789
122k
        if (yych <= 'h') {
9790
77.3k
          if (yych <= '`') goto yy738;
9791
75.7k
          if (yych == 'e') goto yy891;
9792
691
          goto yy890;
9793
75.7k
        } else {
9794
45.4k
          if (yych <= 'i') goto yy892;
9795
19.9k
          if (yych <= 'z') goto yy890;
9796
16.3k
          if (yych <= 0x7F) goto yy738;
9797
6.40k
          goto yy890;
9798
16.3k
        }
9799
122k
      }
9800
137k
    }
9801
24.3k
yy861:
9802
24.3k
    YYDEBUG(861, *YYCURSOR);
9803
24.3k
    ++YYCURSOR;
9804
24.3k
    YYFILL(1);
9805
24.3k
    yych = *YYCURSOR;
9806
24.3k
    if (yych <= '*') {
9807
1.41k
      if (yych <= 0x00) goto yy86;
9808
1.17k
      if (yych <= ')') goto yy590;
9809
233
      goto yy668;
9810
22.9k
    } else {
9811
22.9k
      if (yych == '/') goto yy787;
9812
207
      goto yy590;
9813
22.9k
    }
9814
5.46k
yy862:
9815
5.46k
    YYDEBUG(862, *YYCURSOR);
9816
5.46k
    ++YYCURSOR;
9817
5.46k
    YYFILL(1);
9818
5.46k
    yych = *YYCURSOR;
9819
5.46k
    if (yych <= 'S') {
9820
1.05k
      if (yych <= 0x00) goto yy86;
9821
774
      if (yych == '*') goto yy668;
9822
410
      goto yy590;
9823
4.41k
    } else {
9824
4.41k
      if (yych <= 'T') goto yy893;
9825
3.73k
      if (yych == 't') goto yy893;
9826
365
      goto yy590;
9827
3.73k
    }
9828
12.1k
yy863:
9829
12.1k
    YYDEBUG(863, *YYCURSOR);
9830
12.1k
    ++YYCURSOR;
9831
12.1k
    YYFILL(1);
9832
12.1k
    yych = *YYCURSOR;
9833
12.1k
    if (yych <= 'O') {
9834
679
      if (yych <= 0x00) goto yy86;
9835
460
      if (yych == '*') goto yy668;
9836
246
      goto yy590;
9837
11.5k
    } else {
9838
11.5k
      if (yych <= 'P') goto yy894;
9839
9.51k
      if (yych == 'p') goto yy894;
9840
289
      goto yy590;
9841
9.51k
    }
9842
6.08k
yy864:
9843
6.08k
    YYDEBUG(864, *YYCURSOR);
9844
6.08k
    ++YYCURSOR;
9845
6.08k
    YYFILL(1);
9846
6.08k
    yych = *YYCURSOR;
9847
6.08k
    if (yych <= '\r') {
9848
1.90k
      if (yych <= '\t') {
9849
455
        if (yych <= 0x00) goto yy86;
9850
231
        goto yy586;
9851
1.45k
      } else {
9852
1.45k
        if (yych <= '\n') goto yy495;
9853
1.25k
        if (yych <= '\f') goto yy586;
9854
864
        goto yy495;
9855
1.25k
      }
9856
4.18k
    } else {
9857
4.18k
      if (yych <= 'D') {
9858
1.74k
        if (yych <= 'C') goto yy586;
9859
727
        goto yy895;
9860
2.44k
      } else {
9861
2.44k
        if (yych == 'd') goto yy895;
9862
1.29k
        goto yy586;
9863
2.44k
      }
9864
4.18k
    }
9865
21.9k
yy865:
9866
21.9k
    YYDEBUG(865, *YYCURSOR);
9867
21.9k
    ++YYCURSOR;
9868
21.9k
    YYFILL(1);
9869
21.9k
    yych = *YYCURSOR;
9870
21.9k
    if (yych <= '\r') {
9871
1.50k
      if (yych <= '\t') {
9872
476
        if (yych <= 0x00) goto yy86;
9873
238
        goto yy586;
9874
1.03k
      } else {
9875
1.03k
        if (yych <= '\n') goto yy495;
9876
548
        if (yych <= '\f') goto yy586;
9877
254
        goto yy495;
9878
548
      }
9879
20.4k
    } else {
9880
20.4k
      if (yych <= 'M') {
9881
6.29k
        if (yych <= 'L') goto yy586;
9882
5.42k
        goto yy896;
9883
14.1k
      } else {
9884
14.1k
        if (yych == 'm') goto yy896;
9885
3.91k
        goto yy586;
9886
14.1k
      }
9887
20.4k
    }
9888
2.14k
yy866:
9889
2.14k
    YYDEBUG(866, *YYCURSOR);
9890
2.14k
    yyaccept = 4;
9891
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
9892
2.14k
    if (yych == 'E') goto yy897;
9893
1.57k
    if (yych == 'e') goto yy897;
9894
365
    goto yy48;
9895
87.9k
yy867:
9896
87.9k
    YYDEBUG(867, *YYCURSOR);
9897
87.9k
    yyaccept = 88;
9898
87.9k
    YYMARKER = ++YYCURSOR;
9899
87.9k
    YYFILL(1);
9900
87.9k
    yych = *YYCURSOR;
9901
87.9k
    YYDEBUG(868, *YYCURSOR);
9902
87.9k
    if (yych <= '\\') {
9903
19.6k
      if (yych <= '@') {
9904
13.4k
        if (yych <= '/') goto yy869;
9905
11.7k
        if (yych <= '9') goto yy867;
9906
11.7k
      } else {
9907
6.23k
        if (yych <= 'Z') goto yy867;
9908
3.14k
        if (yych >= '\\') goto yy840;
9909
3.14k
      }
9910
68.3k
    } else {
9911
68.3k
      if (yych <= '`') {
9912
975
        if (yych == '_') goto yy867;
9913
67.3k
      } else {
9914
67.3k
        if (yych <= 'z') goto yy867;
9915
13.3k
        if (yych >= 0x80) goto yy867;
9916
13.3k
      }
9917
68.3k
    }
9918
13.3k
yy869:
9919
13.3k
    YYDEBUG(869, *YYCURSOR);
9920
13.3k
    yyleng = YYCURSOR - SCNG(yy_text);
9921
13.3k
#line 2439 "Zend/zend_language_scanner.l"
9922
13.3k
    {
9923
13.3k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9924
13.3k
}
9925
0
#line 9926 "Zend/zend_language_scanner.c"
9926
1.80k
yy870:
9927
1.80k
    YYDEBUG(870, *YYCURSOR);
9928
1.80k
    yych = *++YYCURSOR;
9929
1.80k
    if (yych == ')') goto yy899;
9930
347
    goto yy86;
9931
1.83k
yy871:
9932
1.83k
    YYDEBUG(871, *YYCURSOR);
9933
1.83k
    yych = *++YYCURSOR;
9934
1.83k
    if (yych == 'E') goto yy901;
9935
962
    if (yych == 'e') goto yy901;
9936
274
    goto yy86;
9937
1.20k
yy872:
9938
1.20k
    YYDEBUG(872, *YYCURSOR);
9939
1.20k
    ++YYCURSOR;
9940
1.20k
    YYDEBUG(873, *YYCURSOR);
9941
1.20k
    yyleng = YYCURSOR - SCNG(yy_text);
9942
1.20k
#line 1786 "Zend/zend_language_scanner.l"
9943
1.20k
    {
9944
1.20k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9945
1.20k
}
9946
0
#line 9947 "Zend/zend_language_scanner.c"
9947
2.50k
yy874:
9948
2.50k
    YYDEBUG(874, *YYCURSOR);
9949
2.50k
    yyaccept = 4;
9950
2.50k
    yych = *(YYMARKER = ++YYCURSOR);
9951
2.50k
    if (yych == 'E') goto yy902;
9952
2.23k
    if (yych == 'e') goto yy902;
9953
543
    goto yy48;
9954
4.58k
yy875:
9955
4.58k
    YYDEBUG(875, *YYCURSOR);
9956
4.58k
    ++YYCURSOR;
9957
23.7k
yy876:
9958
23.7k
    YYDEBUG(876, *YYCURSOR);
9959
23.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9960
23.7k
#line 1428 "Zend/zend_language_scanner.l"
9961
23.7k
    {
9962
23.7k
  yyless(yyleng - 1);
9963
23.7k
  HANDLE_NEWLINES(yytext, yyleng);
9964
23.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9965
23.7k
}
9966
0
#line 9967 "Zend/zend_language_scanner.c"
9967
110k
yy877:
9968
110k
    YYDEBUG(877, *YYCURSOR);
9969
110k
    ++YYCURSOR;
9970
110k
    YYFILL(1);
9971
110k
    yych = *YYCURSOR;
9972
110k
    if (yych <= '\r') {
9973
88.4k
      if (yych <= '\t') {
9974
1.09k
        if (yych <= 0x00) goto yy86;
9975
839
        goto yy808;
9976
87.3k
      } else {
9977
87.3k
        if (yych <= '\n') goto yy904;
9978
42.4k
        if (yych <= '\f') goto yy808;
9979
42.1k
        goto yy904;
9980
42.4k
      }
9981
88.4k
    } else {
9982
21.6k
      if (yych <= '*') {
9983
5.39k
        if (yych <= ')') goto yy808;
9984
1.59k
        goto yy848;
9985
16.2k
      } else {
9986
16.2k
        if (yych == '[') goto yy696;
9987
15.8k
        goto yy808;
9988
16.2k
      }
9989
21.6k
    }
9990
20.4k
yy878:
9991
20.4k
    YYDEBUG(878, *YYCURSOR);
9992
20.4k
    ++YYCURSOR;
9993
20.4k
    YYFILL(1);
9994
20.4k
    yych = *YYCURSOR;
9995
20.4k
    if (yych <= '*') {
9996
18.3k
      if (yych <= 0x00) goto yy86;
9997
18.1k
      if (yych <= ')') goto yy696;
9998
17.6k
      goto yy906;
9999
18.1k
    } else {
10000
2.04k
      if (yych == '/') goto yy808;
10001
1.36k
      goto yy696;
10002
2.04k
    }
10003
10.5k
yy879:
10004
10.5k
    YYDEBUG(879, *YYCURSOR);
10005
10.5k
    ++YYCURSOR;
10006
10.5k
    YYFILL(1);
10007
10.5k
    yych = *YYCURSOR;
10008
10.5k
    if (yych <= 'Q') {
10009
1.50k
      if (yych <= 0x00) goto yy86;
10010
1.27k
      if (yych == '*') goto yy760;
10011
879
      goto yy696;
10012
9.08k
    } else {
10013
9.08k
      if (yych <= 'R') goto yy907;
10014
2.37k
      if (yych == 'r') goto yy907;
10015
1.09k
      goto yy696;
10016
2.37k
    }
10017
11.0k
yy880:
10018
11.0k
    YYDEBUG(880, *YYCURSOR);
10019
11.0k
    ++YYCURSOR;
10020
11.0k
    YYFILL(1);
10021
11.0k
    yych = *YYCURSOR;
10022
11.0k
    if (yych <= '9') {
10023
6.24k
      if (yych <= '\n') {
10024
2.75k
        if (yych <= 0x00) goto yy875;
10025
2.50k
        if (yych <= '\t') goto yy908;
10026
2.01k
        goto yy909;
10027
3.49k
      } else {
10028
3.49k
        if (yych == '\r') goto yy909;
10029
903
        if (yych <= '/') goto yy908;
10030
236
        goto yy692;
10031
903
      }
10032
6.24k
    } else {
10033
4.80k
      if (yych <= '_') {
10034
2.24k
        if (yych <= '@') goto yy908;
10035
1.92k
        if (yych <= 'Z') goto yy692;
10036
1.34k
        if (yych <= '^') goto yy908;
10037
242
        goto yy692;
10038
2.55k
      } else {
10039
2.55k
        if (yych <= '`') goto yy908;
10040
2.05k
        if (yych <= 'z') goto yy692;
10041
1.79k
        if (yych <= 0x7F) goto yy908;
10042
1.11k
        goto yy692;
10043
1.79k
      }
10044
4.80k
    }
10045
4.78k
yy881:
10046
4.78k
    YYDEBUG(881, *YYCURSOR);
10047
4.78k
    yyaccept = 4;
10048
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
10049
4.78k
    if (yych == '_') goto yy910;
10050
287
    goto yy48;
10051
4.07k
yy882:
10052
4.07k
    YYDEBUG(882, *YYCURSOR);
10053
4.07k
    yyaccept = 4;
10054
4.07k
    yych = *(YYMARKER = ++YYCURSOR);
10055
4.07k
    if (yych == 'I') goto yy912;
10056
3.63k
    if (yych == 'i') goto yy912;
10057
438
    goto yy48;
10058
5.74k
yy883:
10059
5.74k
    YYDEBUG(883, *YYCURSOR);
10060
5.74k
    yyaccept = 4;
10061
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
10062
5.74k
    if (yych == '_') goto yy913;
10063
626
    goto yy48;
10064
1.63k
yy884:
10065
1.63k
    YYDEBUG(884, *YYCURSOR);
10066
1.63k
    yyaccept = 4;
10067
1.63k
    yych = *(YYMARKER = ++YYCURSOR);
10068
1.63k
    if (yych == '_') goto yy914;
10069
223
    goto yy48;
10070
760
yy885:
10071
760
    YYDEBUG(885, *YYCURSOR);
10072
760
    ++YYCURSOR;
10073
3.57k
yy886:
10074
3.57k
    YYDEBUG(886, *YYCURSOR);
10075
3.57k
    yyleng = YYCURSOR - SCNG(yy_text);
10076
3.57k
#line 1570 "Zend/zend_language_scanner.l"
10077
3.57k
    {
10078
3.57k
  yyless(4);
10079
3.57k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10080
3.57k
}
10081
0
#line 10082 "Zend/zend_language_scanner.c"
10082
2.17k
yy887:
10083
2.17k
    YYDEBUG(887, *YYCURSOR);
10084
2.17k
    yych = *++YYCURSOR;
10085
2.17k
    if (yych == 'N') goto yy916;
10086
1.55k
    if (yych == 'n') goto yy916;
10087
692
    goto yy86;
10088
34.5k
yy888:
10089
34.5k
    YYDEBUG(888, *YYCURSOR);
10090
34.5k
    ++YYCURSOR;
10091
34.5k
    YYFILL(1);
10092
34.5k
    yych = *YYCURSOR;
10093
34.5k
    if (yych <= '\f') {
10094
17.5k
      if (yych <= 0x00) goto yy86;
10095
17.1k
      if (yych == '\n') goto yy859;
10096
291
      goto yy738;
10097
17.1k
    } else {
10098
16.9k
      if (yych <= '\r') goto yy859;
10099
14.7k
      if (yych == '*') goto yy789;
10100
14.3k
      goto yy738;
10101
14.7k
    }
10102
55.2k
yy889:
10103
55.2k
    YYDEBUG(889, *YYCURSOR);
10104
55.2k
    ++YYCURSOR;
10105
55.2k
    YYFILL(1);
10106
55.2k
    yych = *YYCURSOR;
10107
55.2k
    if (yych <= '\f') {
10108
1.69k
      if (yych <= 0x00) goto yy86;
10109
928
      if (yych == '\n') goto yy787;
10110
511
      goto yy738;
10111
53.5k
    } else {
10112
53.5k
      if (yych <= '\r') goto yy787;
10113
52.8k
      if (yych == '*') goto yy917;
10114
2.88k
      goto yy738;
10115
52.8k
    }
10116
12.8k
yy890:
10117
12.8k
    YYDEBUG(890, *YYCURSOR);
10118
12.8k
    yyaccept = 53;
10119
12.8k
    YYMARKER = ++YYCURSOR;
10120
12.8k
    YYFILL(1);
10121
12.8k
    yych = *YYCURSOR;
10122
12.8k
    if (yych <= '\f') {
10123
1.35k
      if (yych <= 0x00) goto yy583;
10124
1.00k
      if (yych == '\n') goto yy787;
10125
515
      goto yy738;
10126
11.5k
    } else {
10127
11.5k
      if (yych <= '\r') goto yy787;
10128
11.0k
      if (yych == '*') goto yy789;
10129
10.5k
      goto yy738;
10130
11.0k
    }
10131
75.5k
yy891:
10132
75.5k
    YYDEBUG(891, *YYCURSOR);
10133
75.5k
    yyaccept = 53;
10134
75.5k
    YYMARKER = ++YYCURSOR;
10135
75.5k
    YYFILL(1);
10136
75.5k
    yych = *YYCURSOR;
10137
75.5k
    if (yych <= ')') {
10138
4.39k
      if (yych <= '\n') {
10139
1.95k
        if (yych <= 0x00) goto yy583;
10140
1.70k
        if (yych <= '\t') goto yy738;
10141
346
        goto yy787;
10142
2.43k
      } else {
10143
2.43k
        if (yych == '\r') goto yy787;
10144
1.76k
        goto yy738;
10145
2.43k
      }
10146
71.2k
    } else {
10147
71.2k
      if (yych <= 'X') {
10148
21.7k
        if (yych <= '*') goto yy789;
10149
21.4k
        if (yych <= 'W') goto yy738;
10150
3.91k
        goto yy918;
10151
49.4k
      } else {
10152
49.4k
        if (yych == 'x') goto yy918;
10153
32.3k
        goto yy738;
10154
49.4k
      }
10155
71.2k
    }
10156
37.3k
yy892:
10157
37.3k
    YYDEBUG(892, *YYCURSOR);
10158
37.3k
    yyaccept = 53;
10159
37.3k
    YYMARKER = ++YYCURSOR;
10160
37.3k
    YYFILL(1);
10161
37.3k
    yych = *YYCURSOR;
10162
37.3k
    if (yych <= ')') {
10163
1.56k
      if (yych <= '\n') {
10164
891
        if (yych <= 0x00) goto yy583;
10165
612
        if (yych <= '\t') goto yy738;
10166
274
        goto yy787;
10167
677
      } else {
10168
677
        if (yych == '\r') goto yy787;
10169
471
        goto yy738;
10170
677
      }
10171
35.8k
    } else {
10172
35.8k
      if (yych <= 'M') {
10173
11.6k
        if (yych <= '*') goto yy789;
10174
11.3k
        if (yych <= 'L') goto yy738;
10175
10.6k
        goto yy919;
10176
24.1k
      } else {
10177
24.1k
        if (yych == 'm') goto yy919;
10178
666
        goto yy738;
10179
24.1k
      }
10180
35.8k
    }
10181
4.04k
yy893:
10182
4.04k
    YYDEBUG(893, *YYCURSOR);
10183
4.04k
    ++YYCURSOR;
10184
4.04k
    YYFILL(1);
10185
4.04k
    yych = *YYCURSOR;
10186
4.04k
    if (yych <= 'D') {
10187
687
      if (yych <= 0x00) goto yy86;
10188
487
      if (yych == '*') goto yy668;
10189
387
      goto yy590;
10190
3.35k
    } else {
10191
3.35k
      if (yych <= 'E') goto yy920;
10192
3.08k
      if (yych == 'e') goto yy920;
10193
270
      goto yy590;
10194
3.08k
    }
10195
11.2k
yy894:
10196
11.2k
    YYDEBUG(894, *YYCURSOR);
10197
11.2k
    ++YYCURSOR;
10198
11.2k
    YYFILL(1);
10199
11.2k
    yych = *YYCURSOR;
10200
11.2k
    if (yych <= 'K') {
10201
3.17k
      if (yych <= 0x00) goto yy86;
10202
2.39k
      if (yych == '*') goto yy668;
10203
2.14k
      goto yy590;
10204
8.04k
    } else {
10205
8.04k
      if (yych <= 'L') goto yy921;
10206
6.40k
      if (yych == 'l') goto yy921;
10207
263
      goto yy590;
10208
6.40k
    }
10209
4.21k
yy895:
10210
4.21k
    YYDEBUG(895, *YYCURSOR);
10211
4.21k
    ++YYCURSOR;
10212
4.21k
    YYFILL(1);
10213
4.21k
    yych = *YYCURSOR;
10214
4.21k
    if (yych <= '\r') {
10215
1.42k
      if (yych <= '\t') {
10216
475
        if (yych <= 0x00) goto yy86;
10217
221
        goto yy586;
10218
954
      } else {
10219
954
        if (yych <= '\n') goto yy495;
10220
678
        if (yych <= '\f') goto yy586;
10221
336
        goto yy495;
10222
678
      }
10223
2.78k
    } else {
10224
2.78k
      if (yych <= 'S') {
10225
897
        if (yych <= 'R') goto yy586;
10226
246
        goto yy922;
10227
1.88k
      } else {
10228
1.88k
        if (yych == 's') goto yy922;
10229
390
        goto yy586;
10230
1.88k
      }
10231
2.78k
    }
10232
15.6k
yy896:
10233
15.6k
    YYDEBUG(896, *YYCURSOR);
10234
15.6k
    ++YYCURSOR;
10235
15.6k
    YYFILL(1);
10236
15.6k
    yych = *YYCURSOR;
10237
15.6k
    if (yych <= '\r') {
10238
2.01k
      if (yych <= '\t') {
10239
504
        if (yych <= 0x00) goto yy86;
10240
284
        goto yy586;
10241
1.50k
      } else {
10242
1.50k
        if (yych <= '\n') goto yy495;
10243
1.17k
        if (yych <= '\f') goto yy586;
10244
402
        goto yy495;
10245
1.17k
      }
10246
13.6k
    } else {
10247
13.6k
      if (yych <= 'E') {
10248
4.19k
        if (yych <= 'D') goto yy586;
10249
2.99k
        goto yy923;
10250
9.41k
      } else {
10251
9.41k
        if (yych == 'e') goto yy923;
10252
1.40k
        goto yy586;
10253
9.41k
      }
10254
13.6k
    }
10255
1.78k
yy897:
10256
1.78k
    YYDEBUG(897, *YYCURSOR);
10257
1.78k
    yyaccept = 89;
10258
1.78k
    yych = *(YYMARKER = ++YYCURSOR);
10259
1.78k
    if (yybm[256+yych] & 128) {
10260
588
      goto yy47;
10261
588
    }
10262
1.19k
    if (yych == '\\') goto yy164;
10263
1.16k
yy898:
10264
1.16k
    YYDEBUG(898, *YYCURSOR);
10265
1.16k
    yyleng = YYCURSOR - SCNG(yy_text);
10266
1.16k
#line 1726 "Zend/zend_language_scanner.l"
10267
1.16k
    {
10268
1.16k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10269
1.16k
}
10270
0
#line 10271 "Zend/zend_language_scanner.c"
10271
1.46k
yy899:
10272
1.46k
    YYDEBUG(899, *YYCURSOR);
10273
1.46k
    ++YYCURSOR;
10274
1.46k
    YYDEBUG(900, *YYCURSOR);
10275
1.46k
    yyleng = YYCURSOR - SCNG(yy_text);
10276
1.46k
#line 1794 "Zend/zend_language_scanner.l"
10277
1.46k
    {
10278
1.46k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10279
1.46k
}
10280
0
#line 10281 "Zend/zend_language_scanner.c"
10281
1.55k
yy901:
10282
1.55k
    YYDEBUG(901, *YYCURSOR);
10283
1.55k
    yych = *++YYCURSOR;
10284
1.55k
    if (yych == 'T') goto yy924;
10285
1.18k
    if (yych == 't') goto yy924;
10286
534
    goto yy86;
10287
1.96k
yy902:
10288
1.96k
    YYDEBUG(902, *YYCURSOR);
10289
1.96k
    yyaccept = 90;
10290
1.96k
    yych = *(YYMARKER = ++YYCURSOR);
10291
1.96k
    if (yybm[256+yych] & 128) {
10292
665
      goto yy47;
10293
665
    }
10294
1.30k
    if (yych == '\\') goto yy164;
10295
1.29k
yy903:
10296
1.29k
    YYDEBUG(903, *YYCURSOR);
10297
1.29k
    yyleng = YYCURSOR - SCNG(yy_text);
10298
1.29k
#line 1734 "Zend/zend_language_scanner.l"
10299
1.29k
    {
10300
1.29k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10301
1.29k
}
10302
0
#line 10303 "Zend/zend_language_scanner.c"
10303
112k
yy904:
10304
112k
    YYDEBUG(904, *YYCURSOR);
10305
112k
    ++YYCURSOR;
10306
112k
    YYFILL(1);
10307
112k
    yych = *YYCURSOR;
10308
112k
    YYDEBUG(905, *YYCURSOR);
10309
112k
    if (yych <= '"') {
10310
17.0k
      if (yych <= '\n') {
10311
4.44k
        if (yych <= 0x00) goto yy86;
10312
3.99k
        if (yych <= 0x08) goto yy808;
10313
3.41k
        if (yych <= '\t') goto yy904;
10314
1.87k
        goto yy846;
10315
12.6k
      } else {
10316
12.6k
        if (yych <= '\r') {
10317
10.3k
          if (yych <= '\f') goto yy808;
10318
10.1k
          goto yy846;
10319
10.3k
        } else {
10320
2.34k
          if (yych == ' ') goto yy904;
10321
1.12k
          goto yy808;
10322
2.34k
        }
10323
12.6k
      }
10324
95.1k
    } else {
10325
95.1k
      if (yych <= '/') {
10326
40.2k
        if (yych <= ')') {
10327
7.16k
          if (yych <= '#') goto yy925;
10328
2.19k
          goto yy808;
10329
33.1k
        } else {
10330
33.1k
          if (yych <= '*') goto yy848;
10331
32.7k
          if (yych <= '.') goto yy808;
10332
31.1k
          goto yy926;
10333
32.7k
        }
10334
54.8k
      } else {
10335
54.8k
        if (yych <= 'F') {
10336
33.8k
          if (yych <= 'E') goto yy808;
10337
31.7k
          goto yy927;
10338
33.8k
        } else {
10339
20.9k
          if (yych == 'f') goto yy927;
10340
20.6k
          goto yy808;
10341
20.9k
        }
10342
54.8k
      }
10343
95.1k
    }
10344
17.6k
yy906:
10345
17.6k
    YYDEBUG(906, *YYCURSOR);
10346
17.6k
    ++YYCURSOR;
10347
17.6k
    YYFILL(1);
10348
17.6k
    yych = *YYCURSOR;
10349
17.6k
    if (yych <= '*') {
10350
3.21k
      if (yych <= 0x00) goto yy86;
10351
2.91k
      if (yych <= ')') goto yy696;
10352
265
      goto yy760;
10353
14.4k
    } else {
10354
14.4k
      if (yych == '/') goto yy846;
10355
273
      goto yy696;
10356
14.4k
    }
10357
7.98k
yy907:
10358
7.98k
    YYDEBUG(907, *YYCURSOR);
10359
7.98k
    ++YYCURSOR;
10360
7.98k
    YYFILL(1);
10361
7.98k
    yych = *YYCURSOR;
10362
7.98k
    if (yych <= 'N') {
10363
838
      if (yych <= 0x00) goto yy86;
10364
502
      if (yych == '*') goto yy760;
10365
241
      goto yy696;
10366
7.14k
    } else {
10367
7.14k
      if (yych <= 'O') goto yy928;
10368
2.47k
      if (yych == 'o') goto yy928;
10369
414
      goto yy696;
10370
2.47k
    }
10371
3.76k
yy908:
10372
3.76k
    YYDEBUG(908, *YYCURSOR);
10373
3.76k
    yyaccept = 91;
10374
3.76k
    YYMARKER = ++YYCURSOR;
10375
3.76k
    YYFILL(1);
10376
3.76k
    yych = *YYCURSOR;
10377
3.76k
    if (yych <= '\n') {
10378
2.17k
      if (yych <= 0x00) goto yy876;
10379
1.76k
      if (yych <= '\t') goto yy692;
10380
1.45k
      goto yy616;
10381
1.76k
    } else {
10382
1.59k
      if (yych == '\r') goto yy616;
10383
1.28k
      goto yy692;
10384
1.59k
    }
10385
4.60k
yy909:
10386
4.60k
    YYDEBUG(909, *YYCURSOR);
10387
4.60k
    yyaccept = 91;
10388
4.60k
    YYMARKER = ++YYCURSOR;
10389
4.60k
    YYFILL(5);
10390
4.60k
    yych = *YYCURSOR;
10391
4.60k
    if (yych <= '"') {
10392
2.01k
      if (yych <= '\f') {
10393
1.10k
        if (yych <= 0x08) goto yy876;
10394
849
        if (yych <= '\n') goto yy616;
10395
69
        goto yy876;
10396
913
      } else {
10397
913
        if (yych <= '\r') goto yy616;
10398
363
        if (yych == ' ') goto yy616;
10399
87
        goto yy876;
10400
363
      }
10401
2.58k
    } else {
10402
2.58k
      if (yych <= 'E') {
10403
1.79k
        if (yych <= '#') goto yy618;
10404
972
        if (yych == '/') goto yy619;
10405
373
        goto yy876;
10406
972
      } else {
10407
787
        if (yych <= 'F') goto yy691;
10408
547
        if (yych == 'f') goto yy691;
10409
323
        goto yy876;
10410
547
      }
10411
2.58k
    }
10412
4.49k
yy910:
10413
4.49k
    YYDEBUG(910, *YYCURSOR);
10414
4.49k
    yyaccept = 92;
10415
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
10416
4.49k
    if (yybm[256+yych] & 128) {
10417
489
      goto yy47;
10418
489
    }
10419
4.00k
    if (yych == '\\') goto yy164;
10420
3.94k
yy911:
10421
3.94k
    YYDEBUG(911, *YYCURSOR);
10422
3.94k
    yyleng = YYCURSOR - SCNG(yy_text);
10423
3.94k
#line 2261 "Zend/zend_language_scanner.l"
10424
3.94k
    {
10425
3.94k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10426
3.94k
}
10427
0
#line 10428 "Zend/zend_language_scanner.c"
10428
3.63k
yy912:
10429
3.63k
    YYDEBUG(912, *YYCURSOR);
10430
3.63k
    yyaccept = 4;
10431
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
10432
3.63k
    if (yych == 'L') goto yy929;
10433
3.26k
    if (yych == 'l') goto yy929;
10434
787
    goto yy48;
10435
5.11k
yy913:
10436
5.11k
    YYDEBUG(913, *YYCURSOR);
10437
5.11k
    yyaccept = 4;
10438
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
10439
5.11k
    if (yych == '_') goto yy930;
10440
933
    goto yy48;
10441
1.40k
yy914:
10442
1.40k
    YYDEBUG(914, *YYCURSOR);
10443
1.40k
    yyaccept = 93;
10444
1.40k
    yych = *(YYMARKER = ++YYCURSOR);
10445
1.40k
    if (yybm[256+yych] & 128) {
10446
287
      goto yy47;
10447
287
    }
10448
1.12k
    if (yych == '\\') goto yy164;
10449
1.12k
yy915:
10450
1.12k
    YYDEBUG(915, *YYCURSOR);
10451
1.12k
    yyleng = YYCURSOR - SCNG(yy_text);
10452
1.12k
#line 2265 "Zend/zend_language_scanner.l"
10453
1.12k
    {
10454
1.12k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10455
1.12k
}
10456
0
#line 10457 "Zend/zend_language_scanner.c"
10457
1.47k
yy916:
10458
1.47k
    YYDEBUG(916, *YYCURSOR);
10459
1.47k
    yych = *++YYCURSOR;
10460
1.47k
    if (yych == 'T') goto yy857;
10461
1.18k
    if (yych == 't') goto yy857;
10462
524
    goto yy86;
10463
49.9k
yy917:
10464
49.9k
    YYDEBUG(917, *YYCURSOR);
10465
49.9k
    ++YYCURSOR;
10466
49.9k
    YYFILL(1);
10467
49.9k
    yych = *YYCURSOR;
10468
49.9k
    if (yych <= '\r') {
10469
2.42k
      if (yych <= '\t') {
10470
744
        if (yych <= 0x00) goto yy86;
10471
497
        goto yy738;
10472
1.67k
      } else {
10473
1.67k
        if (yych <= '\n') goto yy787;
10474
849
        if (yych <= '\f') goto yy738;
10475
491
        goto yy787;
10476
849
      }
10477
47.5k
    } else {
10478
47.5k
      if (yych <= '*') {
10479
1.27k
        if (yych <= ')') goto yy738;
10480
284
        goto yy789;
10481
46.2k
      } else {
10482
46.2k
        if (yych == '/') goto yy859;
10483
1.74k
        goto yy738;
10484
46.2k
      }
10485
47.5k
    }
10486
21.0k
yy918:
10487
21.0k
    YYDEBUG(918, *YYCURSOR);
10488
21.0k
    ++YYCURSOR;
10489
21.0k
    YYFILL(1);
10490
21.0k
    yych = *YYCURSOR;
10491
21.0k
    if (yych <= ')') {
10492
1.48k
      if (yych <= '\n') {
10493
870
        if (yych <= 0x00) goto yy86;
10494
545
        if (yych <= '\t') goto yy738;
10495
212
        goto yy787;
10496
615
      } else {
10497
615
        if (yych == '\r') goto yy787;
10498
353
        goto yy738;
10499
615
      }
10500
19.5k
    } else {
10501
19.5k
      if (yych <= 'T') {
10502
4.80k
        if (yych <= '*') goto yy789;
10503
4.25k
        if (yych <= 'S') goto yy738;
10504
3.55k
        goto yy932;
10505
14.7k
      } else {
10506
14.7k
        if (yych == 't') goto yy932;
10507
4.94k
        goto yy738;
10508
14.7k
      }
10509
19.5k
    }
10510
34.1k
yy919:
10511
34.1k
    YYDEBUG(919, *YYCURSOR);
10512
34.1k
    ++YYCURSOR;
10513
34.1k
    YYFILL(1);
10514
34.1k
    yych = *YYCURSOR;
10515
34.1k
    if (yych <= ')') {
10516
1.33k
      if (yych <= '\n') {
10517
781
        if (yych <= 0x00) goto yy86;
10518
558
        if (yych <= '\t') goto yy738;
10519
344
        goto yy787;
10520
558
      } else {
10521
554
        if (yych == '\r') goto yy787;
10522
294
        goto yy738;
10523
554
      }
10524
32.8k
    } else {
10525
32.8k
      if (yych <= 'P') {
10526
11.6k
        if (yych <= '*') goto yy789;
10527
10.6k
        if (yych <= 'O') goto yy738;
10528
9.45k
        goto yy933;
10529
21.1k
      } else {
10530
21.1k
        if (yych == 'p') goto yy933;
10531
1.07k
        goto yy738;
10532
21.1k
      }
10533
32.8k
    }
10534
3.08k
yy920:
10535
3.08k
    YYDEBUG(920, *YYCURSOR);
10536
3.08k
    ++YYCURSOR;
10537
3.08k
    YYFILL(1);
10538
3.08k
    yych = *YYCURSOR;
10539
3.08k
    if (yych <= 'M') {
10540
792
      if (yych <= 0x00) goto yy86;
10541
578
      if (yych == '*') goto yy668;
10542
355
      goto yy590;
10543
2.29k
    } else {
10544
2.29k
      if (yych <= 'N') goto yy934;
10545
2.01k
      if (yych == 'n') goto yy934;
10546
235
      goto yy590;
10547
2.01k
    }
10548
7.77k
yy921:
10549
7.77k
    YYDEBUG(921, *YYCURSOR);
10550
7.77k
    ++YYCURSOR;
10551
7.77k
    YYFILL(1);
10552
7.77k
    yych = *YYCURSOR;
10553
7.77k
    if (yych <= 'D') {
10554
888
      if (yych <= 0x00) goto yy86;
10555
647
      if (yych == '*') goto yy668;
10556
433
      goto yy590;
10557
6.89k
    } else {
10558
6.89k
      if (yych <= 'E') goto yy935;
10559
5.19k
      if (yych == 'e') goto yy935;
10560
252
      goto yy590;
10561
5.19k
    }
10562
1.74k
yy922:
10563
1.74k
    YYDEBUG(922, *YYCURSOR);
10564
1.74k
    yyaccept = 94;
10565
1.74k
    YYMARKER = ++YYCURSOR;
10566
1.74k
    YYFILL(1);
10567
1.74k
    yych = *YYCURSOR;
10568
1.74k
    if (yych <= '\n') {
10569
742
      if (yych <= 0x00) goto yy886;
10570
518
      if (yych <= '\t') goto yy586;
10571
227
      goto yy495;
10572
1.00k
    } else {
10573
1.00k
      if (yych == '\r') goto yy495;
10574
703
      goto yy586;
10575
1.00k
    }
10576
10.9k
yy923:
10577
10.9k
    YYDEBUG(923, *YYCURSOR);
10578
10.9k
    ++YYCURSOR;
10579
10.9k
    YYFILL(1);
10580
10.9k
    yych = *YYCURSOR;
10581
10.9k
    if (yych <= '\r') {
10582
2.90k
      if (yych <= '\t') {
10583
1.24k
        if (yych <= 0x00) goto yy86;
10584
1.05k
        goto yy586;
10585
1.65k
      } else {
10586
1.65k
        if (yych <= '\n') goto yy495;
10587
1.47k
        if (yych <= '\f') goto yy586;
10588
1.24k
        goto yy495;
10589
1.47k
      }
10590
8.09k
    } else {
10591
8.09k
      if (yych <= 'N') {
10592
2.25k
        if (yych <= 'M') goto yy586;
10593
1.30k
        goto yy936;
10594
5.84k
      } else {
10595
5.84k
        if (yych == 'n') goto yy936;
10596
2.91k
        goto yy586;
10597
5.84k
      }
10598
8.09k
    }
10599
1.02k
yy924:
10600
1.02k
    YYDEBUG(924, *YYCURSOR);
10601
1.02k
    yych = *++YYCURSOR;
10602
1.02k
    if (yych == ')') goto yy937;
10603
499
    goto yy86;
10604
4.97k
yy925:
10605
4.97k
    YYDEBUG(925, *YYCURSOR);
10606
4.97k
    ++YYCURSOR;
10607
4.97k
    YYFILL(1);
10608
4.97k
    yych = *YYCURSOR;
10609
4.97k
    if (yych <= '\f') {
10610
2.44k
      if (yych <= 0x00) goto yy86;
10611
2.20k
      if (yych == '\n') goto yy904;
10612
104
      goto yy808;
10613
2.52k
    } else {
10614
2.52k
      if (yych <= '\r') goto yy904;
10615
1.26k
      if (yych == '*') goto yy848;
10616
1.14k
      goto yy808;
10617
1.26k
    }
10618
31.1k
yy926:
10619
31.1k
    YYDEBUG(926, *YYCURSOR);
10620
31.1k
    ++YYCURSOR;
10621
31.1k
    YYFILL(1);
10622
31.1k
    yych = *YYCURSOR;
10623
31.1k
    if (yych <= '\f') {
10624
1.18k
      if (yych <= 0x00) goto yy86;
10625
882
      if (yych == '\n') goto yy846;
10626
298
      goto yy808;
10627
29.9k
    } else {
10628
29.9k
      if (yych <= '\r') goto yy846;
10629
29.2k
      if (yych == '*') goto yy939;
10630
2.33k
      goto yy808;
10631
29.2k
    }
10632
32.1k
yy927:
10633
32.1k
    YYDEBUG(927, *YYCURSOR);
10634
32.1k
    ++YYCURSOR;
10635
32.1k
    YYFILL(1);
10636
32.1k
    yych = *YYCURSOR;
10637
32.1k
    if (yych <= ')') {
10638
4.80k
      if (yych <= '\n') {
10639
4.00k
        if (yych <= 0x00) goto yy86;
10640
3.79k
        if (yych <= '\t') goto yy808;
10641
3.55k
        goto yy846;
10642
3.79k
      } else {
10643
808
        if (yych == '\r') goto yy846;
10644
403
        goto yy808;
10645
808
      }
10646
27.3k
    } else {
10647
27.3k
      if (yych <= 'R') {
10648
14.5k
        if (yych <= '*') goto yy848;
10649
14.3k
        if (yych <= 'Q') goto yy808;
10650
13.4k
        goto yy940;
10651
14.3k
      } else {
10652
12.8k
        if (yych == 'r') goto yy940;
10653
1.20k
        goto yy808;
10654
12.8k
      }
10655
27.3k
    }
10656
6.73k
yy928:
10657
6.73k
    YYDEBUG(928, *YYCURSOR);
10658
6.73k
    ++YYCURSOR;
10659
6.73k
    YYFILL(1);
10660
6.73k
    yych = *YYCURSOR;
10661
6.73k
    if (yych <= 'L') {
10662
383
      if (yych <= 0x00) goto yy86;
10663
287
      if (yych == '*') goto yy760;
10664
212
      goto yy696;
10665
6.34k
    } else {
10666
6.34k
      if (yych <= 'M') goto yy941;
10667
2.30k
      if (yych == 'm') goto yy941;
10668
342
      goto yy696;
10669
2.30k
    }
10670
2.85k
yy929:
10671
2.85k
    YYDEBUG(929, *YYCURSOR);
10672
2.85k
    yyaccept = 4;
10673
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
10674
2.85k
    if (yych == 'E') goto yy942;
10675
2.62k
    if (yych == 'e') goto yy942;
10676
374
    goto yy48;
10677
4.18k
yy930:
10678
4.18k
    YYDEBUG(930, *YYCURSOR);
10679
4.18k
    yyaccept = 95;
10680
4.18k
    yych = *(YYMARKER = ++YYCURSOR);
10681
4.18k
    if (yybm[256+yych] & 128) {
10682
748
      goto yy47;
10683
748
    }
10684
3.43k
    if (yych == '\\') goto yy164;
10685
3.43k
yy931:
10686
3.43k
    YYDEBUG(931, *YYCURSOR);
10687
3.43k
    yyleng = YYCURSOR - SCNG(yy_text);
10688
3.43k
#line 2285 "Zend/zend_language_scanner.l"
10689
3.43k
    {
10690
3.43k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10691
3.43k
}
10692
0
#line 10693 "Zend/zend_language_scanner.c"
10693
13.3k
yy932:
10694
13.3k
    YYDEBUG(932, *YYCURSOR);
10695
13.3k
    ++YYCURSOR;
10696
13.3k
    YYFILL(1);
10697
13.3k
    yych = *YYCURSOR;
10698
13.3k
    if (yych <= ')') {
10699
2.02k
      if (yych <= '\n') {
10700
976
        if (yych <= 0x00) goto yy86;
10701
629
        if (yych <= '\t') goto yy738;
10702
432
        goto yy787;
10703
1.04k
      } else {
10704
1.04k
        if (yych == '\r') goto yy787;
10705
292
        goto yy738;
10706
1.04k
      }
10707
11.3k
    } else {
10708
11.3k
      if (yych <= 'E') {
10709
749
        if (yych <= '*') goto yy789;
10710
538
        if (yych <= 'D') goto yy738;
10711
330
        goto yy943;
10712
10.5k
      } else {
10713
10.5k
        if (yych == 'e') goto yy943;
10714
668
        goto yy738;
10715
10.5k
      }
10716
11.3k
    }
10717
29.5k
yy933:
10718
29.5k
    YYDEBUG(933, *YYCURSOR);
10719
29.5k
    ++YYCURSOR;
10720
29.5k
    YYFILL(1);
10721
29.5k
    yych = *YYCURSOR;
10722
29.5k
    if (yych <= ')') {
10723
1.44k
      if (yych <= '\n') {
10724
688
        if (yych <= 0x00) goto yy86;
10725
478
        if (yych <= '\t') goto yy738;
10726
234
        goto yy787;
10727
757
      } else {
10728
757
        if (yych == '\r') goto yy787;
10729
302
        goto yy738;
10730
757
      }
10731
28.1k
    } else {
10732
28.1k
      if (yych <= 'L') {
10733
8.79k
        if (yych <= '*') goto yy789;
10734
8.59k
        if (yych <= 'K') goto yy738;
10735
6.16k
        goto yy944;
10736
19.3k
      } else {
10737
19.3k
        if (yych == 'l') goto yy944;
10738
430
        goto yy738;
10739
19.3k
      }
10740
28.1k
    }
10741
2.06k
yy934:
10742
2.06k
    YYDEBUG(934, *YYCURSOR);
10743
2.06k
    ++YYCURSOR;
10744
2.06k
    YYFILL(1);
10745
2.06k
    yych = *YYCURSOR;
10746
2.06k
    if (yych <= 'C') {
10747
641
      if (yych <= 0x00) goto yy86;
10748
468
      if (yych == '*') goto yy668;
10749
253
      goto yy590;
10750
1.42k
    } else {
10751
1.42k
      if (yych <= 'D') goto yy945;
10752
1.11k
      if (yych == 'd') goto yy945;
10753
308
      goto yy590;
10754
1.11k
    }
10755
6.63k
yy935:
10756
6.63k
    YYDEBUG(935, *YYCURSOR);
10757
6.63k
    ++YYCURSOR;
10758
6.63k
    YYFILL(1);
10759
6.63k
    yych = *YYCURSOR;
10760
6.63k
    if (yych <= 'L') {
10761
1.10k
      if (yych <= 0x00) goto yy86;
10762
900
      if (yych == '*') goto yy668;
10763
534
      goto yy590;
10764
5.53k
    } else {
10765
5.53k
      if (yych <= 'M') goto yy946;
10766
4.18k
      if (yych == 'm') goto yy946;
10767
325
      goto yy590;
10768
4.18k
    }
10769
4.23k
yy936:
10770
4.23k
    YYDEBUG(936, *YYCURSOR);
10771
4.23k
    ++YYCURSOR;
10772
4.23k
    YYFILL(1);
10773
4.23k
    yych = *YYCURSOR;
10774
4.23k
    if (yych <= '\r') {
10775
1.00k
      if (yych <= '\t') {
10776
468
        if (yych <= 0x00) goto yy86;
10777
261
        goto yy586;
10778
540
      } else {
10779
540
        if (yych <= '\n') goto yy495;
10780
446
        if (yych <= '\f') goto yy586;
10781
223
        goto yy495;
10782
446
      }
10783
3.23k
    } else {
10784
3.23k
      if (yych <= 'T') {
10785
875
        if (yych <= 'S') goto yy586;
10786
506
        goto yy895;
10787
2.35k
      } else {
10788
2.35k
        if (yych == 't') goto yy895;
10789
521
        goto yy586;
10790
2.35k
      }
10791
3.23k
    }
10792
523
yy937:
10793
523
    YYDEBUG(937, *YYCURSOR);
10794
523
    ++YYCURSOR;
10795
523
    YYDEBUG(938, *YYCURSOR);
10796
523
    yyleng = YYCURSOR - SCNG(yy_text);
10797
523
#line 1790 "Zend/zend_language_scanner.l"
10798
523
    {
10799
523
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10800
523
}
10801
0
#line 10802 "Zend/zend_language_scanner.c"
10802
26.9k
yy939:
10803
26.9k
    YYDEBUG(939, *YYCURSOR);
10804
26.9k
    ++YYCURSOR;
10805
26.9k
    YYFILL(1);
10806
26.9k
    yych = *YYCURSOR;
10807
26.9k
    if (yych <= '\r') {
10808
4.98k
      if (yych <= '\t') {
10809
3.95k
        if (yych <= 0x00) goto yy86;
10810
3.64k
        goto yy808;
10811
3.95k
      } else {
10812
1.03k
        if (yych <= '\n') goto yy846;
10813
532
        if (yych <= '\f') goto yy808;
10814
260
        goto yy846;
10815
532
      }
10816
21.9k
    } else {
10817
21.9k
      if (yych <= '*') {
10818
1.05k
        if (yych <= ')') goto yy808;
10819
115
        goto yy848;
10820
20.9k
      } else {
10821
20.9k
        if (yych == '/') goto yy904;
10822
1.87k
        goto yy808;
10823
20.9k
      }
10824
21.9k
    }
10825
25.0k
yy940:
10826
25.0k
    YYDEBUG(940, *YYCURSOR);
10827
25.0k
    ++YYCURSOR;
10828
25.0k
    YYFILL(1);
10829
25.0k
    yych = *YYCURSOR;
10830
25.0k
    if (yych <= ')') {
10831
1.35k
      if (yych <= '\n') {
10832
694
        if (yych <= 0x00) goto yy86;
10833
455
        if (yych <= '\t') goto yy808;
10834
252
        goto yy846;
10835
665
      } else {
10836
665
        if (yych == '\r') goto yy846;
10837
449
        goto yy808;
10838
665
      }
10839
23.6k
    } else {
10840
23.6k
      if (yych <= 'O') {
10841
12.9k
        if (yych <= '*') goto yy848;
10842
12.8k
        if (yych <= 'N') goto yy808;
10843
12.5k
        goto yy947;
10844
12.8k
      } else {
10845
10.6k
        if (yych == 'o') goto yy947;
10846
828
        goto yy808;
10847
10.6k
      }
10848
23.6k
    }
10849
6.00k
yy941:
10850
6.00k
    YYDEBUG(941, *YYCURSOR);
10851
6.00k
    ++YYCURSOR;
10852
6.00k
    YYFILL(1);
10853
6.00k
    yych = *YYCURSOR;
10854
6.00k
    if (yych <= '@') {
10855
4.34k
      if (yych <= '*') {
10856
3.69k
        if (yych <= 0x00) goto yy875;
10857
3.41k
        if (yych <= ')') goto yy948;
10858
1.40k
        goto yy949;
10859
3.41k
      } else {
10860
649
        if (yych <= '/') goto yy948;
10861
445
        if (yych <= '9') goto yy696;
10862
249
        goto yy948;
10863
445
      }
10864
4.34k
    } else {
10865
1.65k
      if (yych <= '_') {
10866
643
        if (yych <= 'Z') goto yy696;
10867
409
        if (yych <= '^') goto yy948;
10868
206
        goto yy696;
10869
1.01k
      } else {
10870
1.01k
        if (yych <= '`') goto yy948;
10871
794
        if (yych <= 'z') goto yy696;
10872
603
        if (yych <= 0x7F) goto yy948;
10873
215
        goto yy696;
10874
603
      }
10875
1.65k
    }
10876
2.47k
yy942:
10877
2.47k
    YYDEBUG(942, *YYCURSOR);
10878
2.47k
    yyaccept = 4;
10879
2.47k
    yych = *(YYMARKER = ++YYCURSOR);
10880
2.47k
    if (yych == 'R') goto yy950;
10881
2.00k
    if (yych == 'r') goto yy950;
10882
637
    goto yy48;
10883
10.2k
yy943:
10884
10.2k
    YYDEBUG(943, *YYCURSOR);
10885
10.2k
    ++YYCURSOR;
10886
10.2k
    YYFILL(1);
10887
10.2k
    yych = *YYCURSOR;
10888
10.2k
    if (yych <= ')') {
10889
2.22k
      if (yych <= '\n') {
10890
1.44k
        if (yych <= 0x00) goto yy86;
10891
1.18k
        if (yych <= '\t') goto yy738;
10892
920
        goto yy787;
10893
1.18k
      } else {
10894
771
        if (yych == '\r') goto yy787;
10895
321
        goto yy738;
10896
771
      }
10897
8.04k
    } else {
10898
8.04k
      if (yych <= 'N') {
10899
3.32k
        if (yych <= '*') goto yy789;
10900
2.79k
        if (yych <= 'M') goto yy738;
10901
1.18k
        goto yy952;
10902
4.71k
      } else {
10903
4.71k
        if (yych == 'n') goto yy952;
10904
760
        goto yy738;
10905
4.71k
      }
10906
8.04k
    }
10907
25.0k
yy944:
10908
25.0k
    YYDEBUG(944, *YYCURSOR);
10909
25.0k
    ++YYCURSOR;
10910
25.0k
    YYFILL(1);
10911
25.0k
    yych = *YYCURSOR;
10912
25.0k
    if (yych <= ')') {
10913
2.29k
      if (yych <= '\n') {
10914
1.07k
        if (yych <= 0x00) goto yy86;
10915
776
        if (yych <= '\t') goto yy738;
10916
375
        goto yy787;
10917
1.22k
      } else {
10918
1.22k
        if (yych == '\r') goto yy787;
10919
361
        goto yy738;
10920
1.22k
      }
10921
22.7k
    } else {
10922
22.7k
      if (yych <= 'E') {
10923
7.50k
        if (yych <= '*') goto yy789;
10924
7.28k
        if (yych <= 'D') goto yy738;
10925
4.37k
        goto yy953;
10926
15.2k
      } else {
10927
15.2k
        if (yych == 'e') goto yy953;
10928
1.08k
        goto yy738;
10929
15.2k
      }
10930
22.7k
    }
10931
2.68k
yy945:
10932
2.68k
    YYDEBUG(945, *YYCURSOR);
10933
2.68k
    ++YYCURSOR;
10934
2.68k
    YYFILL(1);
10935
2.68k
    yych = *YYCURSOR;
10936
2.68k
    if (yych <= 'R') {
10937
1.11k
      if (yych <= 0x00) goto yy86;
10938
857
      if (yych == '*') goto yy668;
10939
351
      goto yy590;
10940
1.56k
    } else {
10941
1.56k
      if (yych <= 'S') goto yy954;
10942
1.32k
      if (yych == 's') goto yy954;
10943
546
      goto yy590;
10944
1.32k
    }
10945
5.21k
yy946:
10946
5.21k
    YYDEBUG(946, *YYCURSOR);
10947
5.21k
    ++YYCURSOR;
10948
5.21k
    YYFILL(1);
10949
5.21k
    yych = *YYCURSOR;
10950
5.21k
    if (yych <= 'D') {
10951
629
      if (yych <= 0x00) goto yy86;
10952
403
      if (yych == '*') goto yy668;
10953
225
      goto yy590;
10954
4.58k
    } else {
10955
4.58k
      if (yych <= 'E') goto yy955;
10956
3.54k
      if (yych == 'e') goto yy955;
10957
293
      goto yy590;
10958
3.54k
    }
10959
22.3k
yy947:
10960
22.3k
    YYDEBUG(947, *YYCURSOR);
10961
22.3k
    ++YYCURSOR;
10962
22.3k
    YYFILL(1);
10963
22.3k
    yych = *YYCURSOR;
10964
22.3k
    if (yych <= ')') {
10965
1.35k
      if (yych <= '\n') {
10966
829
        if (yych <= 0x00) goto yy86;
10967
753
        if (yych <= '\t') goto yy808;
10968
545
        goto yy846;
10969
753
      } else {
10970
522
        if (yych == '\r') goto yy846;
10971
280
        goto yy808;
10972
522
      }
10973
21.0k
    } else {
10974
21.0k
      if (yych <= 'M') {
10975
9.84k
        if (yych <= '*') goto yy848;
10976
9.81k
        if (yych <= 'L') goto yy808;
10977
9.54k
        goto yy956;
10978
11.1k
      } else {
10979
11.1k
        if (yych == 'm') goto yy956;
10980
542
        goto yy808;
10981
11.1k
      }
10982
21.0k
    }
10983
3.28k
yy948:
10984
3.28k
    YYDEBUG(948, *YYCURSOR);
10985
3.28k
    yyaccept = 91;
10986
3.28k
    YYMARKER = ++YYCURSOR;
10987
3.28k
    YYFILL(1);
10988
3.28k
    yych = *YYCURSOR;
10989
3.28k
    if (yych <= 0x00) goto yy876;
10990
2.02k
    if (yych == '*') goto yy760;
10991
1.72k
    goto yy696;
10992
1.72k
yy949:
10993
1.40k
    YYDEBUG(949, *YYCURSOR);
10994
1.40k
    yyaccept = 91;
10995
1.40k
    YYMARKER = ++YYCURSOR;
10996
1.40k
    YYFILL(1);
10997
1.40k
    yych = *YYCURSOR;
10998
1.40k
    if (yych <= '*') {
10999
1.07k
      if (yych <= 0x00) goto yy876;
11000
843
      if (yych <= ')') goto yy696;
11001
209
      goto yy760;
11002
843
    } else {
11003
330
      if (yych == '/') goto yy616;
11004
223
      goto yy696;
11005
330
    }
11006
1.84k
yy950:
11007
1.84k
    YYDEBUG(950, *YYCURSOR);
11008
1.84k
    yyaccept = 96;
11009
1.84k
    yych = *(YYMARKER = ++YYCURSOR);
11010
1.84k
    if (yybm[256+yych] & 128) {
11011
731
      goto yy47;
11012
731
    }
11013
1.10k
    if (yych == '\\') goto yy164;
11014
947
yy951:
11015
947
    YYDEBUG(951, *YYCURSOR);
11016
947
    yyleng = YYCURSOR - SCNG(yy_text);
11017
947
#line 1762 "Zend/zend_language_scanner.l"
11018
947
    {
11019
947
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11020
947
}
11021
0
#line 11022 "Zend/zend_language_scanner.c"
11022
5.13k
yy952:
11023
5.13k
    YYDEBUG(952, *YYCURSOR);
11024
5.13k
    ++YYCURSOR;
11025
5.13k
    YYFILL(1);
11026
5.13k
    yych = *YYCURSOR;
11027
5.13k
    if (yych <= ')') {
11028
1.02k
      if (yych <= '\n') {
11029
538
        if (yych <= 0x00) goto yy86;
11030
466
        if (yych <= '\t') goto yy738;
11031
234
        goto yy787;
11032
488
      } else {
11033
488
        if (yych == '\r') goto yy787;
11034
234
        goto yy738;
11035
488
      }
11036
4.11k
    } else {
11037
4.11k
      if (yych <= 'D') {
11038
1.10k
        if (yych <= '*') goto yy789;
11039
875
        if (yych <= 'C') goto yy738;
11040
502
        goto yy957;
11041
3.00k
      } else {
11042
3.00k
        if (yych == 'd') goto yy957;
11043
1.62k
        goto yy738;
11044
3.00k
      }
11045
4.11k
    }
11046
18.5k
yy953:
11047
18.5k
    YYDEBUG(953, *YYCURSOR);
11048
18.5k
    ++YYCURSOR;
11049
18.5k
    YYFILL(1);
11050
18.5k
    yych = *YYCURSOR;
11051
18.5k
    if (yych <= ')') {
11052
4.18k
      if (yych <= '\n') {
11053
2.83k
        if (yych <= 0x00) goto yy86;
11054
2.75k
        if (yych <= '\t') goto yy738;
11055
2.47k
        goto yy787;
11056
2.75k
      } else {
11057
1.35k
        if (yych == '\r') goto yy787;
11058
1.12k
        goto yy738;
11059
1.35k
      }
11060
14.3k
    } else {
11061
14.3k
      if (yych <= 'M') {
11062
6.34k
        if (yych <= '*') goto yy789;
11063
4.88k
        if (yych <= 'L') goto yy738;
11064
4.40k
        goto yy958;
11065
8.01k
      } else {
11066
8.01k
        if (yych == 'm') goto yy958;
11067
488
        goto yy738;
11068
8.01k
      }
11069
14.3k
    }
11070
1.02k
yy954:
11071
1.02k
    YYDEBUG(954, *YYCURSOR);
11072
1.02k
    yyaccept = 94;
11073
1.02k
    YYMARKER = ++YYCURSOR;
11074
1.02k
    YYFILL(1);
11075
1.02k
    yych = *YYCURSOR;
11076
1.02k
    if (yych <= 0x00) goto yy886;
11077
649
    if (yych == '*') goto yy668;
11078
433
    goto yy590;
11079
4.29k
yy955:
11080
4.29k
    YYDEBUG(955, *YYCURSOR);
11081
4.29k
    ++YYCURSOR;
11082
4.29k
    YYFILL(1);
11083
4.29k
    yych = *YYCURSOR;
11084
4.29k
    if (yych <= 'M') {
11085
699
      if (yych <= 0x00) goto yy86;
11086
483
      if (yych == '*') goto yy668;
11087
282
      goto yy590;
11088
3.59k
    } else {
11089
3.59k
      if (yych <= 'N') goto yy959;
11090
2.55k
      if (yych == 'n') goto yy959;
11091
527
      goto yy590;
11092
2.55k
    }
11093
20.1k
yy956:
11094
20.1k
    YYDEBUG(956, *YYCURSOR);
11095
20.1k
    ++YYCURSOR;
11096
20.1k
    YYFILL(1);
11097
20.1k
    yych = *YYCURSOR;
11098
20.1k
    if (yych <= '/') {
11099
16.8k
      if (yych <= '\f') {
11100
4.29k
        if (yych <= 0x00) goto yy875;
11101
4.23k
        if (yych == '\n') goto yy961;
11102
838
        goto yy960;
11103
12.5k
      } else {
11104
12.5k
        if (yych <= '\r') goto yy961;
11105
2.95k
        if (yych == '*') goto yy962;
11106
567
        goto yy960;
11107
2.95k
      }
11108
16.8k
    } else {
11109
3.32k
      if (yych <= '^') {
11110
1.24k
        if (yych <= '9') goto yy808;
11111
1.06k
        if (yych <= '@') goto yy960;
11112
829
        if (yych <= 'Z') goto yy808;
11113
534
        goto yy960;
11114
2.08k
      } else {
11115
2.08k
        if (yych <= '`') {
11116
795
          if (yych <= '_') goto yy808;
11117
497
          goto yy960;
11118
1.29k
        } else {
11119
1.29k
          if (yych <= 'z') goto yy808;
11120
773
          if (yych <= 0x7F) goto yy960;
11121
469
          goto yy808;
11122
773
        }
11123
2.08k
      }
11124
3.32k
    }
11125
3.49k
yy957:
11126
3.49k
    YYDEBUG(957, *YYCURSOR);
11127
3.49k
    ++YYCURSOR;
11128
3.49k
    YYFILL(1);
11129
3.49k
    yych = *YYCURSOR;
11130
3.49k
    if (yych <= ')') {
11131
1.17k
      if (yych <= '\n') {
11132
747
        if (yych <= 0x00) goto yy86;
11133
536
        if (yych <= '\t') goto yy738;
11134
257
        goto yy787;
11135
536
      } else {
11136
423
        if (yych == '\r') goto yy787;
11137
320
        goto yy738;
11138
423
      }
11139
2.32k
    } else {
11140
2.32k
      if (yych <= 'S') {
11141
686
        if (yych <= '*') goto yy789;
11142
430
        if (yych <= 'R') goto yy738;
11143
130
        goto yy963;
11144
1.63k
      } else {
11145
1.63k
        if (yych == 's') goto yy963;
11146
365
        goto yy738;
11147
1.63k
      }
11148
2.32k
    }
11149
11.9k
yy958:
11150
11.9k
    YYDEBUG(958, *YYCURSOR);
11151
11.9k
    ++YYCURSOR;
11152
11.9k
    YYFILL(1);
11153
11.9k
    yych = *YYCURSOR;
11154
11.9k
    if (yych <= ')') {
11155
1.82k
      if (yych <= '\n') {
11156
714
        if (yych <= 0x00) goto yy86;
11157
478
        if (yych <= '\t') goto yy738;
11158
422
        goto yy787;
11159
1.11k
      } else {
11160
1.11k
        if (yych == '\r') goto yy787;
11161
1.04k
        goto yy738;
11162
1.11k
      }
11163
10.0k
    } else {
11164
10.0k
      if (yych <= 'E') {
11165
3.10k
        if (yych <= '*') goto yy789;
11166
2.83k
        if (yych <= 'D') goto yy738;
11167
2.23k
        goto yy964;
11168
6.99k
      } else {
11169
6.99k
        if (yych == 'e') goto yy964;
11170
395
        goto yy738;
11171
6.99k
      }
11172
10.0k
    }
11173
3.06k
yy959:
11174
3.06k
    YYDEBUG(959, *YYCURSOR);
11175
3.06k
    ++YYCURSOR;
11176
3.06k
    YYFILL(1);
11177
3.06k
    yych = *YYCURSOR;
11178
3.06k
    if (yych <= 'S') {
11179
1.18k
      if (yych <= 0x00) goto yy86;
11180
1.01k
      if (yych == '*') goto yy668;
11181
803
      goto yy590;
11182
1.88k
    } else {
11183
1.88k
      if (yych <= 'T') goto yy945;
11184
1.54k
      if (yych == 't') goto yy945;
11185
309
      goto yy590;
11186
1.54k
    }
11187
2.97k
yy960:
11188
2.97k
    YYDEBUG(960, *YYCURSOR);
11189
2.97k
    yyaccept = 91;
11190
2.97k
    YYMARKER = ++YYCURSOR;
11191
2.97k
    YYFILL(1);
11192
2.97k
    yych = *YYCURSOR;
11193
2.97k
    if (yych <= '\f') {
11194
947
      if (yych <= 0x00) goto yy876;
11195
642
      if (yych == '\n') goto yy846;
11196
216
      goto yy808;
11197
2.02k
    } else {
11198
2.02k
      if (yych <= '\r') goto yy846;
11199
1.40k
      if (yych == '*') goto yy848;
11200
1.06k
      goto yy808;
11201
1.40k
    }
11202
12.9k
yy961:
11203
12.9k
    YYDEBUG(961, *YYCURSOR);
11204
12.9k
    yyaccept = 91;
11205
12.9k
    YYMARKER = ++YYCURSOR;
11206
12.9k
    YYFILL(1);
11207
12.9k
    yych = *YYCURSOR;
11208
12.9k
    if (yych <= '#') {
11209
10.6k
      if (yych <= '\f') {
11210
1.00k
        if (yych <= 0x00) goto yy876;
11211
659
        if (yych <= 0x08) goto yy696;
11212
587
        if (yych <= '\n') goto yy846;
11213
322
        goto yy696;
11214
9.64k
      } else {
11215
9.64k
        if (yych <= 0x1F) {
11216
8.08k
          if (yych <= '\r') goto yy846;
11217
537
          goto yy696;
11218
8.08k
        } else {
11219
1.55k
          if (yych <= ' ') goto yy846;
11220
778
          if (yych <= '"') goto yy696;
11221
434
          goto yy877;
11222
778
        }
11223
9.64k
      }
11224
10.6k
    } else {
11225
2.32k
      if (yych <= '/') {
11226
749
        if (yych == '*') goto yy760;
11227
457
        if (yych <= '.') goto yy696;
11228
215
        goto yy878;
11229
1.57k
      } else {
11230
1.57k
        if (yych <= 'F') {
11231
780
          if (yych <= 'E') goto yy696;
11232
282
          goto yy879;
11233
797
        } else {
11234
797
          if (yych == 'f') goto yy879;
11235
556
          goto yy696;
11236
797
        }
11237
1.57k
      }
11238
2.32k
    }
11239
2.39k
yy962:
11240
2.39k
    YYDEBUG(962, *YYCURSOR);
11241
2.39k
    yyaccept = 91;
11242
2.39k
    YYMARKER = ++YYCURSOR;
11243
2.39k
    YYFILL(1);
11244
2.39k
    yych = *YYCURSOR;
11245
2.39k
    if (yych <= '\r') {
11246
1.32k
      if (yych <= '\t') {
11247
458
        if (yych <= 0x00) goto yy876;
11248
197
        goto yy808;
11249
862
      } else {
11250
862
        if (yych <= '\n') goto yy846;
11251
452
        if (yych <= '\f') goto yy808;
11252
210
        goto yy846;
11253
452
      }
11254
1.32k
    } else {
11255
1.07k
      if (yych <= '*') {
11256
619
        if (yych <= ')') goto yy808;
11257
364
        goto yy848;
11258
619
      } else {
11259
452
        if (yych == '/') goto yy694;
11260
199
        goto yy808;
11261
452
      }
11262
1.07k
    }
11263
1.40k
yy963:
11264
1.40k
    YYDEBUG(963, *YYCURSOR);
11265
1.40k
    yyaccept = 94;
11266
1.40k
    YYMARKER = ++YYCURSOR;
11267
1.40k
    YYFILL(1);
11268
1.40k
    yych = *YYCURSOR;
11269
1.40k
    if (yych <= '\f') {
11270
679
      if (yych <= 0x00) goto yy886;
11271
453
      if (yych == '\n') goto yy787;
11272
250
      goto yy738;
11273
722
    } else {
11274
722
      if (yych <= '\r') goto yy787;
11275
492
      if (yych == '*') goto yy789;
11276
410
      goto yy738;
11277
492
    }
11278
8.83k
yy964:
11279
8.83k
    YYDEBUG(964, *YYCURSOR);
11280
8.83k
    ++YYCURSOR;
11281
8.83k
    YYFILL(1);
11282
8.83k
    yych = *YYCURSOR;
11283
8.83k
    if (yych <= ')') {
11284
4.13k
      if (yych <= '\n') {
11285
1.87k
        if (yych <= 0x00) goto yy86;
11286
1.59k
        if (yych <= '\t') goto yy738;
11287
502
        goto yy787;
11288
2.26k
      } else {
11289
2.26k
        if (yych == '\r') goto yy787;
11290
212
        goto yy738;
11291
2.26k
      }
11292
4.69k
    } else {
11293
4.69k
      if (yych <= 'N') {
11294
2.61k
        if (yych <= '*') goto yy789;
11295
2.41k
        if (yych <= 'M') goto yy738;
11296
2.41k
      } else {
11297
2.07k
        if (yych != 'n') goto yy738;
11298
2.07k
      }
11299
4.69k
    }
11300
3.64k
    YYDEBUG(965, *YYCURSOR);
11301
3.64k
    ++YYCURSOR;
11302
3.64k
    YYFILL(1);
11303
3.64k
    yych = *YYCURSOR;
11304
3.64k
    if (yych <= ')') {
11305
1.10k
      if (yych <= '\n') {
11306
606
        if (yych <= 0x00) goto yy86;
11307
405
        if (yych <= '\t') goto yy738;
11308
199
        goto yy787;
11309
502
      } else {
11310
502
        if (yych == '\r') goto yy787;
11311
303
        goto yy738;
11312
502
      }
11313
2.54k
    } else {
11314
2.54k
      if (yych <= 'T') {
11315
819
        if (yych <= '*') goto yy789;
11316
625
        if (yych <= 'S') goto yy738;
11317
338
        goto yy957;
11318
1.72k
      } else {
11319
1.72k
        if (yych == 't') goto yy957;
11320
448
        goto yy738;
11321
1.72k
      }
11322
2.54k
    }
11323
3.64k
  }
11324
/* *********************************** */
11325
374k
yyc_ST_LOOKING_FOR_PROPERTY:
11326
374k
  {
11327
374k
    static const unsigned char yybm[] = {
11328
374k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
374k
        0,  64,  64,   0,   0,  64,   0,   0, 
11330
374k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
374k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
374k
       64,   0,   0,   0,   0,   0,   0,   0, 
11333
374k
        0,   0,   0,   0,   0,   0,   0,   0, 
11334
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11335
374k
      128, 128,   0,   0,   0,   0,   0,   0, 
11336
374k
        0, 128, 128, 128, 128, 128, 128, 128, 
11337
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11339
374k
      128, 128, 128,   0,   0,   0,   0, 128, 
11340
374k
        0, 128, 128, 128, 128, 128, 128, 128, 
11341
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
374k
      128, 128, 128,   0,   0,   0,   0,   0, 
11344
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
374k
      128, 128, 128, 128, 128, 128, 128, 128, 
11360
374k
    };
11361
374k
    YYDEBUG(966, *YYCURSOR);
11362
374k
    YYFILL(4);
11363
374k
    yych = *YYCURSOR;
11364
374k
    if (yybm[0+yych] & 64) {
11365
5.95k
      goto yy970;
11366
5.95k
    }
11367
368k
    if (yych <= '?') {
11368
128k
      if (yych <= '-') {
11369
38.3k
        if (yych == '#') goto yy973;
11370
35.8k
        if (yych >= '-') goto yy975;
11371
90.1k
      } else {
11372
90.1k
        if (yych == '/') goto yy976;
11373
74.8k
        if (yych >= '?') goto yy977;
11374
74.8k
      }
11375
240k
    } else {
11376
240k
      if (yych <= '_') {
11377
31.5k
        if (yych <= '@') goto yy968;
11378
31.2k
        if (yych <= 'Z') goto yy978;
11379
19.6k
        if (yych >= '_') goto yy978;
11380
208k
      } else {
11381
208k
        if (yych <= '`') goto yy968;
11382
207k
        if (yych <= 'z') goto yy978;
11383
19.7k
        if (yych >= 0x80) goto yy978;
11384
19.7k
      }
11385
240k
    }
11386
30.7k
yy968:
11387
30.7k
    YYDEBUG(968, *YYCURSOR);
11388
30.7k
    ++YYCURSOR;
11389
34.5k
yy969:
11390
34.5k
    YYDEBUG(969, *YYCURSOR);
11391
34.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11392
34.5k
#line 2520 "Zend/zend_language_scanner.l"
11393
34.5k
    {
11394
34.5k
  yyless(0);
11395
34.5k
  yy_pop_state();
11396
34.5k
  goto restart;
11397
30.7k
}
11398
0
#line 11399 "Zend/zend_language_scanner.c"
11399
7.97k
yy970:
11400
7.97k
    YYDEBUG(970, *YYCURSOR);
11401
7.97k
    ++YYCURSOR;
11402
7.97k
    YYFILL(1);
11403
7.97k
    yych = *YYCURSOR;
11404
7.97k
    YYDEBUG(971, *YYCURSOR);
11405
7.97k
    if (yybm[0+yych] & 64) {
11406
2.01k
      goto yy970;
11407
2.01k
    }
11408
5.95k
    YYDEBUG(972, *YYCURSOR);
11409
5.95k
    yyleng = YYCURSOR - SCNG(yy_text);
11410
5.95k
#line 1597 "Zend/zend_language_scanner.l"
11411
5.95k
    {
11412
5.95k
  goto return_whitespace;
11413
7.97k
}
11414
0
#line 11415 "Zend/zend_language_scanner.c"
11415
5.23k
yy973:
11416
5.23k
    YYDEBUG(973, *YYCURSOR);
11417
5.23k
    ++YYCURSOR;
11418
5.23k
    YYDEBUG(974, *YYCURSOR);
11419
5.23k
    yyleng = YYCURSOR - SCNG(yy_text);
11420
5.23k
#line 2460 "Zend/zend_language_scanner.l"
11421
5.23k
    {
11422
138k
  while (YYCURSOR < YYLIMIT) {
11423
137k
    switch (*YYCURSOR++) {
11424
569
      case '\r':
11425
4.45k
      case '\n':
11426
4.45k
        YYCURSOR--;
11427
4.45k
        break;
11428
2.20k
      case '?':
11429
2.20k
        if (*YYCURSOR == '>') {
11430
220
          YYCURSOR--;
11431
220
          break;
11432
220
        }
11433
1.98k
        ZEND_FALLTHROUGH;
11434
132k
      default:
11435
132k
        continue;
11436
137k
    }
11437
11438
4.67k
    break;
11439
137k
  }
11440
11441
5.23k
  yyleng = YYCURSOR - SCNG(yy_text);
11442
5.23k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11443
5.23k
}
11444
0
#line 11445 "Zend/zend_language_scanner.c"
11445
25.9k
yy975:
11446
25.9k
    YYDEBUG(975, *YYCURSOR);
11447
25.9k
    yych = *++YYCURSOR;
11448
25.9k
    if (yych == '>') goto yy981;
11449
788
    goto yy969;
11450
15.2k
yy976:
11451
15.2k
    YYDEBUG(976, *YYCURSOR);
11452
15.2k
    yych = *++YYCURSOR;
11453
15.2k
    if (yych == '*') goto yy983;
11454
4.73k
    if (yych == '/') goto yy973;
11455
1.95k
    goto yy969;
11456
72.6k
yy977:
11457
72.6k
    YYDEBUG(977, *YYCURSOR);
11458
72.6k
    yyaccept = 0;
11459
72.6k
    yych = *(YYMARKER = ++YYCURSOR);
11460
72.6k
    if (yych == '-') goto yy985;
11461
820
    goto yy969;
11462
967k
yy978:
11463
967k
    YYDEBUG(978, *YYCURSOR);
11464
967k
    ++YYCURSOR;
11465
967k
    YYFILL(1);
11466
967k
    yych = *YYCURSOR;
11467
967k
    YYDEBUG(979, *YYCURSOR);
11468
967k
    if (yybm[0+yych] & 128) {
11469
745k
      goto yy978;
11470
745k
    }
11471
221k
    YYDEBUG(980, *YYCURSOR);
11472
221k
    yyleng = YYCURSOR - SCNG(yy_text);
11473
221k
#line 1609 "Zend/zend_language_scanner.l"
11474
221k
    {
11475
221k
  yy_pop_state();
11476
221k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11477
221k
}
11478
0
#line 11479 "Zend/zend_language_scanner.c"
11479
25.1k
yy981:
11480
25.1k
    YYDEBUG(981, *YYCURSOR);
11481
25.1k
    ++YYCURSOR;
11482
25.1k
    YYDEBUG(982, *YYCURSOR);
11483
25.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11484
25.1k
#line 1601 "Zend/zend_language_scanner.l"
11485
25.1k
    {
11486
25.1k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11487
25.1k
}
11488
0
#line 11489 "Zend/zend_language_scanner.c"
11489
10.4k
yy983:
11490
10.4k
    YYDEBUG(983, *YYCURSOR);
11491
10.4k
    yyaccept = 1;
11492
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
11493
10.4k
    if (yych == '*') goto yy987;
11494
10.4k
yy984:
11495
10.4k
    YYDEBUG(984, *YYCURSOR);
11496
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11497
10.4k
#line 2484 "Zend/zend_language_scanner.l"
11498
10.4k
    {
11499
10.4k
  int doc_com;
11500
11501
10.4k
  if (yyleng > 2) {
11502
2.34k
    doc_com = 1;
11503
2.34k
    RESET_DOC_COMMENT();
11504
8.15k
  } else {
11505
8.15k
    doc_com = 0;
11506
8.15k
  }
11507
11508
491k
  while (YYCURSOR < YYLIMIT) {
11509
490k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11510
9.66k
      break;
11511
9.66k
    }
11512
490k
  }
11513
11514
10.4k
  if (YYCURSOR < YYLIMIT) {
11515
9.66k
    YYCURSOR++;
11516
9.66k
  } else {
11517
825
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11518
825
    if (PARSER_MODE()) {
11519
84
      RETURN_TOKEN(T_ERROR);
11520
84
    }
11521
825
  }
11522
11523
10.4k
  yyleng = YYCURSOR - SCNG(yy_text);
11524
10.4k
  HANDLE_NEWLINES(yytext, yyleng);
11525
11526
10.4k
  if (doc_com) {
11527
2.30k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11528
2.30k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11529
2.30k
  }
11530
11531
8.10k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11532
8.10k
}
11533
0
#line 11534 "Zend/zend_language_scanner.c"
11534
71.8k
yy985:
11535
71.8k
    YYDEBUG(985, *YYCURSOR);
11536
71.8k
    yych = *++YYCURSOR;
11537
71.8k
    if (yych == '>') goto yy988;
11538
4.55k
yy986:
11539
4.55k
    YYDEBUG(986, *YYCURSOR);
11540
4.55k
    YYCURSOR = YYMARKER;
11541
4.55k
    if (yyaccept == 0) {
11542
268
      goto yy969;
11543
4.28k
    } else {
11544
4.28k
      goto yy984;
11545
4.28k
    }
11546
6.62k
yy987:
11547
6.62k
    YYDEBUG(987, *YYCURSOR);
11548
6.62k
    yych = *++YYCURSOR;
11549
6.62k
    if (yych <= '\f') {
11550
1.96k
      if (yych <= 0x08) goto yy986;
11551
1.88k
      if (yych <= '\n') goto yy990;
11552
933
      goto yy986;
11553
4.65k
    } else {
11554
4.65k
      if (yych <= '\r') goto yy990;
11555
4.01k
      if (yych == ' ') goto yy990;
11556
3.26k
      goto yy986;
11557
4.01k
    }
11558
71.5k
yy988:
11559
71.5k
    YYDEBUG(988, *YYCURSOR);
11560
71.5k
    ++YYCURSOR;
11561
71.5k
    YYDEBUG(989, *YYCURSOR);
11562
71.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11563
71.5k
#line 1605 "Zend/zend_language_scanner.l"
11564
71.5k
    {
11565
71.5k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11566
71.5k
}
11567
0
#line 11568 "Zend/zend_language_scanner.c"
11568
3.54k
yy990:
11569
3.54k
    YYDEBUG(990, *YYCURSOR);
11570
3.54k
    ++YYCURSOR;
11571
3.54k
    YYFILL(1);
11572
3.54k
    yych = *YYCURSOR;
11573
3.54k
    YYDEBUG(991, *YYCURSOR);
11574
3.54k
    if (yych <= '\f') {
11575
1.25k
      if (yych <= 0x08) goto yy984;
11576
913
      if (yych <= '\n') goto yy990;
11577
424
      goto yy984;
11578
2.29k
    } else {
11579
2.29k
      if (yych <= '\r') goto yy990;
11580
1.89k
      if (yych == ' ') goto yy990;
11581
1.57k
      goto yy984;
11582
1.89k
    }
11583
3.54k
  }
11584
/* *********************************** */
11585
199k
yyc_ST_BACKQUOTE:
11586
199k
  {
11587
199k
    static const unsigned char yybm[] = {
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
        0,   0,   0,   0,   0,   0,   0,   0, 
11594
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11595
199k
      128, 128,   0,   0,   0,   0,   0,   0, 
11596
199k
        0, 128, 128, 128, 128, 128, 128, 128, 
11597
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11599
199k
      128, 128, 128,   0,   0,   0,   0, 128, 
11600
199k
        0, 128, 128, 128, 128, 128, 128, 128, 
11601
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
199k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
199k
      128, 128, 128,   0,   0,   0,   0,   0, 
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
      128, 128, 128, 128, 128, 128, 128, 128, 
11620
199k
    };
11621
199k
    YYDEBUG(992, *YYCURSOR);
11622
199k
    YYFILL(2);
11623
199k
    yych = *YYCURSOR;
11624
199k
    if (yych <= '_') {
11625
141k
      if (yych == '$') goto yy996;
11626
141k
    } else {
11627
57.7k
      if (yych <= '`') goto yy997;
11628
16.3k
      if (yych == '{') goto yy999;
11629
16.3k
    }
11630
84.7k
    YYDEBUG(994, *YYCURSOR);
11631
84.7k
    ++YYCURSOR;
11632
91.2k
yy995:
11633
91.2k
    YYDEBUG(995, *YYCURSOR);
11634
91.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11635
91.2k
#line 2919 "Zend/zend_language_scanner.l"
11636
91.2k
    {
11637
91.2k
  if (YYCURSOR > YYLIMIT) {
11638
6.79k
    RETURN_END_TOKEN;
11639
6.79k
  }
11640
84.4k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11641
2.95k
    YYCURSOR++;
11642
2.95k
  }
11643
11644
4.21M
  while (YYCURSOR < YYLIMIT) {
11645
4.20M
    switch (*YYCURSOR++) {
11646
20.2k
      case '`':
11647
20.2k
        break;
11648
71.2k
      case '$':
11649
71.2k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11650
56.4k
          break;
11651
56.4k
        }
11652
14.7k
        continue;
11653
16.9k
      case '{':
11654
16.9k
        if (*YYCURSOR == '$') {
11655
1.03k
          break;
11656
1.03k
        }
11657
15.8k
        continue;
11658
27.8k
      case '\\':
11659
27.8k
        if (YYCURSOR < YYLIMIT) {
11660
27.2k
          YYCURSOR++;
11661
27.2k
        }
11662
27.8k
        ZEND_FALLTHROUGH;
11663
4.09M
      default:
11664
4.09M
        continue;
11665
4.20M
    }
11666
11667
77.7k
    YYCURSOR--;
11668
77.7k
    break;
11669
4.20M
  }
11670
11671
84.4k
  yyleng = YYCURSOR - SCNG(yy_text);
11672
11673
84.4k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11674
84.4k
   || !PARSER_MODE()) {
11675
84.4k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11676
84.4k
  } else {
11677
9
    RETURN_TOKEN(T_ERROR);
11678
9
  }
11679
84.4k
}
11680
0
#line 11681 "Zend/zend_language_scanner.c"
11681
70.7k
yy996:
11682
70.7k
    YYDEBUG(996, *YYCURSOR);
11683
70.7k
    yych = *++YYCURSOR;
11684
70.7k
    if (yych <= '_') {
11685
11.4k
      if (yych <= '@') goto yy995;
11686
9.53k
      if (yych <= 'Z') goto yy1000;
11687
6.41k
      if (yych <= '^') goto yy995;
11688
3.78k
      goto yy1000;
11689
59.2k
    } else {
11690
59.2k
      if (yych <= 'z') {
11691
30.1k
        if (yych <= '`') goto yy995;
11692
29.6k
        goto yy1000;
11693
30.1k
      } else {
11694
29.1k
        if (yych <= '{') goto yy1003;
11695
9.41k
        if (yych <= 0x7F) goto yy995;
11696
9.12k
        goto yy1000;
11697
9.41k
      }
11698
59.2k
    }
11699
41.4k
yy997:
11700
41.4k
    YYDEBUG(997, *YYCURSOR);
11701
41.4k
    ++YYCURSOR;
11702
41.4k
    YYDEBUG(998, *YYCURSOR);
11703
41.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11704
41.4k
#line 2859 "Zend/zend_language_scanner.l"
11705
41.4k
    {
11706
41.4k
  BEGIN(ST_IN_SCRIPTING);
11707
41.4k
  RETURN_TOKEN('`');
11708
41.4k
}
11709
0
#line 11710 "Zend/zend_language_scanner.c"
11710
2.27k
yy999:
11711
2.27k
    YYDEBUG(999, *YYCURSOR);
11712
2.27k
    yych = *++YYCURSOR;
11713
2.27k
    if (yych == '$') goto yy1005;
11714
1.19k
    goto yy995;
11715
183k
yy1000:
11716
183k
    YYDEBUG(1000, *YYCURSOR);
11717
183k
    YYMARKER = ++YYCURSOR;
11718
183k
    YYFILL(4);
11719
183k
    yych = *YYCURSOR;
11720
183k
    YYDEBUG(1001, *YYCURSOR);
11721
183k
    if (yybm[0+yych] & 128) {
11722
138k
      goto yy1000;
11723
138k
    }
11724
45.7k
    if (yych <= '>') {
11725
29.3k
      if (yych == '-') goto yy1007;
11726
29.3k
    } else {
11727
16.3k
      if (yych <= '?') goto yy1009;
11728
6.02k
      if (yych <= '@') goto yy1002;
11729
5.75k
      if (yych <= '[') goto yy1010;
11730
5.75k
    }
11731
36.4k
yy1002:
11732
36.4k
    YYDEBUG(1002, *YYCURSOR);
11733
36.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11734
36.4k
#line 2417 "Zend/zend_language_scanner.l"
11735
36.4k
    {
11736
36.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11737
36.4k
}
11738
0
#line 11739 "Zend/zend_language_scanner.c"
11739
19.7k
yy1003:
11740
19.7k
    YYDEBUG(1003, *YYCURSOR);
11741
19.7k
    ++YYCURSOR;
11742
19.7k
    YYDEBUG(1004, *YYCURSOR);
11743
19.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11744
19.7k
#line 1981 "Zend/zend_language_scanner.l"
11745
19.7k
    {
11746
19.7k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11747
19.7k
  enter_nesting('{');
11748
19.7k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11749
19.7k
}
11750
0
#line 11751 "Zend/zend_language_scanner.c"
11751
1.08k
yy1005:
11752
1.08k
    YYDEBUG(1005, *YYCURSOR);
11753
1.08k
    ++YYCURSOR;
11754
1.08k
    YYDEBUG(1006, *YYCURSOR);
11755
1.08k
    yyleng = YYCURSOR - SCNG(yy_text);
11756
1.08k
#line 2846 "Zend/zend_language_scanner.l"
11757
1.08k
    {
11758
1.08k
  yy_push_state(ST_IN_SCRIPTING);
11759
1.08k
  yyless(1);
11760
1.08k
  enter_nesting('{');
11761
1.08k
  RETURN_TOKEN(T_CURLY_OPEN);
11762
1.08k
}
11763
0
#line 11764 "Zend/zend_language_scanner.c"
11764
6.55k
yy1007:
11765
6.55k
    YYDEBUG(1007, *YYCURSOR);
11766
6.55k
    yych = *++YYCURSOR;
11767
6.55k
    if (yych == '>') goto yy1012;
11768
9.60k
yy1008:
11769
9.60k
    YYDEBUG(1008, *YYCURSOR);
11770
9.60k
    YYCURSOR = YYMARKER;
11771
9.60k
    goto yy1002;
11772
10.3k
yy1009:
11773
10.3k
    YYDEBUG(1009, *YYCURSOR);
11774
10.3k
    yych = *++YYCURSOR;
11775
10.3k
    if (yych == '-') goto yy1013;
11776
4.03k
    goto yy1008;
11777
4.03k
yy1010:
11778
2.02k
    YYDEBUG(1010, *YYCURSOR);
11779
2.02k
    ++YYCURSOR;
11780
2.02k
    YYDEBUG(1011, *YYCURSOR);
11781
2.02k
    yyleng = YYCURSOR - SCNG(yy_text);
11782
2.02k
#line 2411 "Zend/zend_language_scanner.l"
11783
2.02k
    {
11784
2.02k
  yyless(yyleng - 1);
11785
2.02k
  yy_push_state(ST_VAR_OFFSET);
11786
2.02k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11787
2.02k
}
11788
0
#line 11789 "Zend/zend_language_scanner.c"
11789
5.01k
yy1012:
11790
5.01k
    YYDEBUG(1012, *YYCURSOR);
11791
5.01k
    yych = *++YYCURSOR;
11792
5.01k
    if (yych <= '_') {
11793
1.52k
      if (yych <= '@') goto yy1008;
11794
690
      if (yych <= 'Z') goto yy1014;
11795
553
      if (yych <= '^') goto yy1008;
11796
289
      goto yy1014;
11797
3.49k
    } else {
11798
3.49k
      if (yych <= '`') goto yy1008;
11799
3.01k
      if (yych <= 'z') goto yy1014;
11800
1.15k
      if (yych <= 0x7F) goto yy1008;
11801
809
      goto yy1014;
11802
1.15k
    }
11803
6.26k
yy1013:
11804
6.26k
    YYDEBUG(1013, *YYCURSOR);
11805
6.26k
    yych = *++YYCURSOR;
11806
6.26k
    if (yych == '>') goto yy1016;
11807
617
    goto yy1008;
11808
3.09k
yy1014:
11809
3.09k
    YYDEBUG(1014, *YYCURSOR);
11810
3.09k
    ++YYCURSOR;
11811
3.09k
    YYDEBUG(1015, *YYCURSOR);
11812
3.09k
    yyleng = YYCURSOR - SCNG(yy_text);
11813
3.09k
#line 2397 "Zend/zend_language_scanner.l"
11814
3.09k
    {
11815
3.09k
  yyless(yyleng - 3);
11816
3.09k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11817
3.09k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11818
3.09k
}
11819
0
#line 11820 "Zend/zend_language_scanner.c"
11820
5.65k
yy1016:
11821
5.65k
    YYDEBUG(1016, *YYCURSOR);
11822
5.65k
    yych = *++YYCURSOR;
11823
5.65k
    if (yych <= '_') {
11824
1.35k
      if (yych <= '@') goto yy1008;
11825
859
      if (yych <= 'Z') goto yy1017;
11826
597
      if (yych <= '^') goto yy1008;
11827
4.30k
    } else {
11828
4.30k
      if (yych <= '`') goto yy1008;
11829
3.79k
      if (yych <= 'z') goto yy1017;
11830
694
      if (yych <= 0x7F) goto yy1008;
11831
694
    }
11832
4.15k
yy1017:
11833
4.15k
    YYDEBUG(1017, *YYCURSOR);
11834
4.15k
    ++YYCURSOR;
11835
4.15k
    YYDEBUG(1018, *YYCURSOR);
11836
4.15k
    yyleng = YYCURSOR - SCNG(yy_text);
11837
4.15k
#line 2403 "Zend/zend_language_scanner.l"
11838
4.15k
    {
11839
4.15k
  yyless(yyleng - 4);
11840
4.15k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11841
4.15k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11842
4.15k
}
11843
4.15k
#line 11844 "Zend/zend_language_scanner.c"
11844
4.15k
  }
11845
/* *********************************** */
11846
585k
yyc_ST_DOUBLE_QUOTES:
11847
585k
  {
11848
585k
    static const unsigned char yybm[] = {
11849
585k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
585k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
585k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
585k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
585k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
585k
        0,   0,   0,   0,   0,   0,   0,   0, 
11855
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11856
585k
      128, 128,   0,   0,   0,   0,   0,   0, 
11857
585k
        0, 128, 128, 128, 128, 128, 128, 128, 
11858
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11860
585k
      128, 128, 128,   0,   0,   0,   0, 128, 
11861
585k
        0, 128, 128, 128, 128, 128, 128, 128, 
11862
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
585k
      128, 128, 128,   0,   0,   0,   0,   0, 
11865
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
585k
      128, 128, 128, 128, 128, 128, 128, 128, 
11881
585k
    };
11882
585k
    YYDEBUG(1019, *YYCURSOR);
11883
585k
    YYFILL(2);
11884
585k
    yych = *YYCURSOR;
11885
585k
    if (yych <= '#') {
11886
107k
      if (yych == '"') goto yy1023;
11887
477k
    } else {
11888
477k
      if (yych <= '$') goto yy1025;
11889
228k
      if (yych == '{') goto yy1026;
11890
228k
    }
11891
287k
    YYDEBUG(1021, *YYCURSOR);
11892
287k
    ++YYCURSOR;
11893
293k
yy1022:
11894
293k
    YYDEBUG(1022, *YYCURSOR);
11895
293k
    yyleng = YYCURSOR - SCNG(yy_text);
11896
293k
#line 2865 "Zend/zend_language_scanner.l"
11897
293k
    {
11898
293k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11899
85.5k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11900
85.5k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11901
11902
85.5k
    goto double_quotes_scan_done;
11903
85.5k
  }
11904
11905
207k
  if (YYCURSOR > YYLIMIT) {
11906
13.8k
    RETURN_END_TOKEN;
11907
13.8k
  }
11908
193k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11909
9.24k
    YYCURSOR++;
11910
9.24k
  }
11911
11912
5.11M
  while (YYCURSOR < YYLIMIT) {
11913
5.11M
    switch (*YYCURSOR++) {
11914
38.4k
      case '"':
11915
38.4k
        break;
11916
173k
      case '$':
11917
173k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11918
151k
          break;
11919
151k
        }
11920
22.4k
        continue;
11921
22.4k
      case '{':
11922
13.4k
        if (*YYCURSOR == '$') {
11923
1.59k
          break;
11924
1.59k
        }
11925
11.8k
        continue;
11926
39.9k
      case '\\':
11927
39.9k
        if (YYCURSOR < YYLIMIT) {
11928
39.6k
          YYCURSOR++;
11929
39.6k
        }
11930
39.9k
        ZEND_FALLTHROUGH;
11931
4.88M
      default:
11932
4.88M
        continue;
11933
5.11M
    }
11934
11935
191k
    YYCURSOR--;
11936
191k
    break;
11937
5.11M
  }
11938
11939
279k
double_quotes_scan_done:
11940
279k
  yyleng = YYCURSOR - SCNG(yy_text);
11941
11942
279k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11943
279k
   || !PARSER_MODE()) {
11944
279k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11945
279k
  } else {
11946
38
    RETURN_TOKEN(T_ERROR);
11947
38
  }
11948
279k
}
11949
0
#line 11950 "Zend/zend_language_scanner.c"
11950
42.1k
yy1023:
11951
42.1k
    YYDEBUG(1023, *YYCURSOR);
11952
42.1k
    ++YYCURSOR;
11953
42.1k
    YYDEBUG(1024, *YYCURSOR);
11954
42.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11955
42.1k
#line 2854 "Zend/zend_language_scanner.l"
11956
42.1k
    {
11957
42.1k
  BEGIN(ST_IN_SCRIPTING);
11958
42.1k
  RETURN_TOKEN('"');
11959
42.1k
}
11960
0
#line 11961 "Zend/zend_language_scanner.c"
11961
248k
yy1025:
11962
248k
    YYDEBUG(1025, *YYCURSOR);
11963
248k
    yych = *++YYCURSOR;
11964
248k
    if (yych <= '_') {
11965
27.6k
      if (yych <= '@') goto yy1022;
11966
25.1k
      if (yych <= 'Z') goto yy1027;
11967
3.69k
      if (yych <= '^') goto yy1022;
11968
3.44k
      goto yy1027;
11969
221k
    } else {
11970
221k
      if (yych <= 'z') {
11971
162k
        if (yych <= '`') goto yy1022;
11972
161k
        goto yy1027;
11973
162k
      } else {
11974
59.0k
        if (yych <= '{') goto yy1030;
11975
18.9k
        if (yych <= 0x7F) goto yy1022;
11976
18.3k
        goto yy1027;
11977
18.9k
      }
11978
221k
    }
11979
7.14k
yy1026:
11980
7.14k
    YYDEBUG(1026, *YYCURSOR);
11981
7.14k
    yych = *++YYCURSOR;
11982
7.14k
    if (yych == '$') goto yy1032;
11983
2.12k
    goto yy1022;
11984
676k
yy1027:
11985
676k
    YYDEBUG(1027, *YYCURSOR);
11986
676k
    YYMARKER = ++YYCURSOR;
11987
676k
    YYFILL(4);
11988
676k
    yych = *YYCURSOR;
11989
676k
    YYDEBUG(1028, *YYCURSOR);
11990
676k
    if (yybm[0+yych] & 128) {
11991
471k
      goto yy1027;
11992
471k
    }
11993
205k
    if (yych <= '>') {
11994
105k
      if (yych == '-') goto yy1034;
11995
105k
    } else {
11996
99.5k
      if (yych <= '?') goto yy1036;
11997
19.9k
      if (yych <= '@') goto yy1029;
11998
19.5k
      if (yych <= '[') goto yy1037;
11999
19.5k
    }
12000
155k
yy1029:
12001
155k
    YYDEBUG(1029, *YYCURSOR);
12002
155k
    yyleng = YYCURSOR - SCNG(yy_text);
12003
155k
#line 2417 "Zend/zend_language_scanner.l"
12004
155k
    {
12005
155k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12006
155k
}
12007
0
#line 12008 "Zend/zend_language_scanner.c"
12008
40.0k
yy1030:
12009
40.0k
    YYDEBUG(1030, *YYCURSOR);
12010
40.0k
    ++YYCURSOR;
12011
40.0k
    YYDEBUG(1031, *YYCURSOR);
12012
40.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12013
40.0k
#line 1981 "Zend/zend_language_scanner.l"
12014
40.0k
    {
12015
40.0k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12016
40.0k
  enter_nesting('{');
12017
40.0k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12018
40.0k
}
12019
0
#line 12020 "Zend/zend_language_scanner.c"
12020
5.01k
yy1032:
12021
5.01k
    YYDEBUG(1032, *YYCURSOR);
12022
5.01k
    ++YYCURSOR;
12023
5.01k
    YYDEBUG(1033, *YYCURSOR);
12024
5.01k
    yyleng = YYCURSOR - SCNG(yy_text);
12025
5.01k
#line 2846 "Zend/zend_language_scanner.l"
12026
5.01k
    {
12027
5.01k
  yy_push_state(ST_IN_SCRIPTING);
12028
5.01k
  yyless(1);
12029
5.01k
  enter_nesting('{');
12030
5.01k
  RETURN_TOKEN(T_CURLY_OPEN);
12031
5.01k
}
12032
0
#line 12033 "Zend/zend_language_scanner.c"
12033
17.5k
yy1034:
12034
17.5k
    YYDEBUG(1034, *YYCURSOR);
12035
17.5k
    yych = *++YYCURSOR;
12036
17.5k
    if (yych == '>') goto yy1039;
12037
52.5k
yy1035:
12038
52.5k
    YYDEBUG(1035, *YYCURSOR);
12039
52.5k
    YYCURSOR = YYMARKER;
12040
52.5k
    goto yy1029;
12041
79.5k
yy1036:
12042
79.5k
    YYDEBUG(1036, *YYCURSOR);
12043
79.5k
    yych = *++YYCURSOR;
12044
79.5k
    if (yych == '-') goto yy1040;
12045
42.1k
    goto yy1035;
12046
42.1k
yy1037:
12047
5.17k
    YYDEBUG(1037, *YYCURSOR);
12048
5.17k
    ++YYCURSOR;
12049
5.17k
    YYDEBUG(1038, *YYCURSOR);
12050
5.17k
    yyleng = YYCURSOR - SCNG(yy_text);
12051
5.17k
#line 2411 "Zend/zend_language_scanner.l"
12052
5.17k
    {
12053
5.17k
  yyless(yyleng - 1);
12054
5.17k
  yy_push_state(ST_VAR_OFFSET);
12055
5.17k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12056
5.17k
}
12057
0
#line 12058 "Zend/zend_language_scanner.c"
12058
13.9k
yy1039:
12059
13.9k
    YYDEBUG(1039, *YYCURSOR);
12060
13.9k
    yych = *++YYCURSOR;
12061
13.9k
    if (yych <= '_') {
12062
7.77k
      if (yych <= '@') goto yy1035;
12063
6.50k
      if (yych <= 'Z') goto yy1041;
12064
578
      if (yych <= '^') goto yy1035;
12065
394
      goto yy1041;
12066
6.22k
    } else {
12067
6.22k
      if (yych <= '`') goto yy1035;
12068
5.93k
      if (yych <= 'z') goto yy1041;
12069
1.61k
      if (yych <= 0x7F) goto yy1035;
12070
760
      goto yy1041;
12071
1.61k
    }
12072
37.4k
yy1040:
12073
37.4k
    YYDEBUG(1040, *YYCURSOR);
12074
37.4k
    yych = *++YYCURSOR;
12075
37.4k
    if (yych == '>') goto yy1043;
12076
1.69k
    goto yy1035;
12077
11.3k
yy1041:
12078
11.3k
    YYDEBUG(1041, *YYCURSOR);
12079
11.3k
    ++YYCURSOR;
12080
11.3k
    YYDEBUG(1042, *YYCURSOR);
12081
11.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12082
11.3k
#line 2397 "Zend/zend_language_scanner.l"
12083
11.3k
    {
12084
11.3k
  yyless(yyleng - 3);
12085
11.3k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12086
11.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12087
11.3k
}
12088
0
#line 12089 "Zend/zend_language_scanner.c"
12089
35.7k
yy1043:
12090
35.7k
    YYDEBUG(1043, *YYCURSOR);
12091
35.7k
    yych = *++YYCURSOR;
12092
35.7k
    if (yych <= '_') {
12093
2.75k
      if (yych <= '@') goto yy1035;
12094
1.61k
      if (yych <= 'Z') goto yy1044;
12095
1.09k
      if (yych <= '^') goto yy1035;
12096
32.9k
    } else {
12097
32.9k
      if (yych <= '`') goto yy1035;
12098
32.7k
      if (yych <= 'z') goto yy1044;
12099
2.01k
      if (yych <= 0x7F) goto yy1035;
12100
2.01k
    }
12101
33.1k
yy1044:
12102
33.1k
    YYDEBUG(1044, *YYCURSOR);
12103
33.1k
    ++YYCURSOR;
12104
33.1k
    YYDEBUG(1045, *YYCURSOR);
12105
33.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12106
33.1k
#line 2403 "Zend/zend_language_scanner.l"
12107
33.1k
    {
12108
33.1k
  yyless(yyleng - 4);
12109
33.1k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12110
33.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12111
33.1k
}
12112
33.1k
#line 12113 "Zend/zend_language_scanner.c"
12113
33.1k
  }
12114
/* *********************************** */
12115
5.26M
yyc_ST_HEREDOC:
12116
5.26M
  {
12117
5.26M
    static const unsigned char yybm[] = {
12118
5.26M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
5.26M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
5.26M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
5.26M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
5.26M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
5.26M
        0,   0,   0,   0,   0,   0,   0,   0, 
12124
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12125
5.26M
      128, 128,   0,   0,   0,   0,   0,   0, 
12126
5.26M
        0, 128, 128, 128, 128, 128, 128, 128, 
12127
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12129
5.26M
      128, 128, 128,   0,   0,   0,   0, 128, 
12130
5.26M
        0, 128, 128, 128, 128, 128, 128, 128, 
12131
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
5.26M
      128, 128, 128,   0,   0,   0,   0,   0, 
12134
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
5.26M
      128, 128, 128, 128, 128, 128, 128, 128, 
12150
5.26M
    };
12151
5.26M
    YYDEBUG(1046, *YYCURSOR);
12152
5.26M
    YYFILL(2);
12153
5.26M
    yych = *YYCURSOR;
12154
5.26M
    if (yych == '$') goto yy1050;
12155
1.02M
    if (yych == '{') goto yy1051;
12156
948k
    YYDEBUG(1048, *YYCURSOR);
12157
948k
    ++YYCURSOR;
12158
1.15M
yy1049:
12159
1.15M
    YYDEBUG(1049, *YYCURSOR);
12160
1.15M
    yyleng = YYCURSOR - SCNG(yy_text);
12161
1.15M
#line 2965 "Zend/zend_language_scanner.l"
12162
1.15M
    {
12163
1.15M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12164
1.15M
  int newline = 0, indentation = 0, spacing = 0;
12165
12166
1.15M
  if (YYCURSOR > YYLIMIT) {
12167
23.1k
    RETURN_END_TOKEN;
12168
23.1k
  }
12169
12170
1.13M
  YYCURSOR--;
12171
12172
30.5M
  while (YYCURSOR < YYLIMIT) {
12173
30.5M
    switch (*YYCURSOR++) {
12174
165k
      case '\r':
12175
165k
        if (*YYCURSOR == '\n') {
12176
12.9k
          YYCURSOR++;
12177
12.9k
        }
12178
165k
        ZEND_FALLTHROUGH;
12179
1.57M
      case '\n':
12180
1.57M
        indentation = spacing = 0;
12181
12182
2.09M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12183
520k
          if (*YYCURSOR == '\t') {
12184
13.9k
            spacing |= HEREDOC_USING_TABS;
12185
506k
          } else {
12186
506k
            spacing |= HEREDOC_USING_SPACES;
12187
506k
          }
12188
520k
          ++YYCURSOR;
12189
520k
          ++indentation;
12190
520k
        }
12191
12192
1.57M
        if (YYCURSOR == YYLIMIT) {
12193
2.19k
          yyleng = YYCURSOR - SCNG(yy_text);
12194
2.19k
          HANDLE_NEWLINES(yytext, yyleng);
12195
2.19k
          ZVAL_NULL(zendlval);
12196
2.19k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12197
2.19k
        }
12198
12199
        /* Check for ending label on the next line */
12200
1.56M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12201
27.3k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12202
13.3k
            continue;
12203
13.3k
          }
12204
12205
13.9k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12206
86
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12207
86
            if (PARSER_MODE()) {
12208
8
              RETURN_TOKEN(T_ERROR);
12209
8
            }
12210
86
          }
12211
12212
          /* newline before label will be subtracted from returned text, but
12213
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12214
13.9k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12215
275
            newline = 2; /* Windows newline */
12216
13.7k
          } else {
12217
13.7k
            newline = 1;
12218
13.7k
          }
12219
12220
13.9k
          CG(increment_lineno) = 1; /* For newline before label */
12221
12222
13.9k
          if (SCNG(heredoc_scan_ahead)) {
12223
8.56k
            SCNG(heredoc_indentation) = indentation;
12224
8.56k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12225
8.56k
          } else {
12226
5.42k
            YYCURSOR -= indentation;
12227
5.42k
          }
12228
12229
13.9k
          BEGIN(ST_END_HEREDOC);
12230
12231
13.9k
          goto heredoc_scan_done;
12232
13.9k
        }
12233
1.54M
        continue;
12234
1.54M
      case '$':
12235
1.43M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12236
1.08M
          break;
12237
1.08M
        }
12238
352k
        continue;
12239
352k
      case '{':
12240
311k
        if (*YYCURSOR == '$') {
12241
12.3k
          break;
12242
12.3k
        }
12243
299k
        continue;
12244
299k
      case '\\':
12245
115k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12246
112k
          YYCURSOR++;
12247
112k
        }
12248
115k
        ZEND_FALLTHROUGH;
12249
27.1M
      default:
12250
27.1M
        continue;
12251
30.5M
    }
12252
12253
1.09M
    YYCURSOR--;
12254
1.09M
    break;
12255
30.5M
  }
12256
12257
1.12M
heredoc_scan_done:
12258
12259
1.12M
  yyleng = YYCURSOR - SCNG(yy_text);
12260
1.12M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12261
12262
1.12M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12263
96.7k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12264
96.7k
    zend_string *copy = Z_STR_P(zendlval);
12265
12266
96.7k
    if (!strip_multiline_string_indentation(
12267
96.7k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12268
96.7k
        newline_at_start, newline != 0)) {
12269
54
      RETURN_TOKEN(T_ERROR);
12270
54
    }
12271
12272
96.7k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12273
23
      zend_string_efree(copy);
12274
23
      RETURN_TOKEN(T_ERROR);
12275
23
    }
12276
12277
96.7k
    zend_string_efree(copy);
12278
1.03M
  } else {
12279
1.03M
    HANDLE_NEWLINES(yytext, yyleng - newline);
12280
1.03M
  }
12281
12282
1.12M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12283
1.12M
}
12284
0
#line 12285 "Zend/zend_language_scanner.c"
12285
4.23M
yy1050:
12286
4.23M
    YYDEBUG(1050, *YYCURSOR);
12287
4.23M
    yych = *++YYCURSOR;
12288
4.23M
    if (yych <= '_') {
12289
187k
      if (yych <= '@') goto yy1049;
12290
36.1k
      if (yych <= 'Z') goto yy1052;
12291
12.8k
      if (yych <= '^') goto yy1049;
12292
6.77k
      goto yy1052;
12293
4.05M
    } else {
12294
4.05M
      if (yych <= 'z') {
12295
243k
        if (yych <= '`') goto yy1049;
12296
241k
        goto yy1052;
12297
3.80M
      } else {
12298
3.80M
        if (yych <= '{') goto yy1055;
12299
224k
        if (yych <= 0x7F) goto yy1049;
12300
218k
        goto yy1052;
12301
224k
      }
12302
4.05M
    }
12303
74.9k
yy1051:
12304
74.9k
    YYDEBUG(1051, *YYCURSOR);
12305
74.9k
    yych = *++YYCURSOR;
12306
74.9k
    if (yych == '$') goto yy1057;
12307
40.8k
    goto yy1049;
12308
1.61M
yy1052:
12309
1.61M
    YYDEBUG(1052, *YYCURSOR);
12310
1.61M
    YYMARKER = ++YYCURSOR;
12311
1.61M
    YYFILL(4);
12312
1.61M
    yych = *YYCURSOR;
12313
1.61M
    YYDEBUG(1053, *YYCURSOR);
12314
1.61M
    if (yybm[0+yych] & 128) {
12315
1.12M
      goto yy1052;
12316
1.12M
    }
12317
490k
    if (yych <= '>') {
12318
355k
      if (yych == '-') goto yy1059;
12319
355k
    } else {
12320
134k
      if (yych <= '?') goto yy1061;
12321
54.8k
      if (yych <= '@') goto yy1054;
12322
52.5k
      if (yych <= '[') goto yy1062;
12323
52.5k
    }
12324
430k
yy1054:
12325
430k
    YYDEBUG(1054, *YYCURSOR);
12326
430k
    yyleng = YYCURSOR - SCNG(yy_text);
12327
430k
#line 2417 "Zend/zend_language_scanner.l"
12328
430k
    {
12329
430k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12330
430k
}
12331
0
#line 12332 "Zend/zend_language_scanner.c"
12332
3.58M
yy1055:
12333
3.58M
    YYDEBUG(1055, *YYCURSOR);
12334
3.58M
    ++YYCURSOR;
12335
3.58M
    YYDEBUG(1056, *YYCURSOR);
12336
3.58M
    yyleng = YYCURSOR - SCNG(yy_text);
12337
3.58M
#line 1981 "Zend/zend_language_scanner.l"
12338
3.58M
    {
12339
3.58M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12340
3.58M
  enter_nesting('{');
12341
3.58M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12342
3.58M
}
12343
0
#line 12344 "Zend/zend_language_scanner.c"
12344
34.1k
yy1057:
12345
34.1k
    YYDEBUG(1057, *YYCURSOR);
12346
34.1k
    ++YYCURSOR;
12347
34.1k
    YYDEBUG(1058, *YYCURSOR);
12348
34.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12349
34.1k
#line 2846 "Zend/zend_language_scanner.l"
12350
34.1k
    {
12351
34.1k
  yy_push_state(ST_IN_SCRIPTING);
12352
34.1k
  yyless(1);
12353
34.1k
  enter_nesting('{');
12354
34.1k
  RETURN_TOKEN(T_CURLY_OPEN);
12355
34.1k
}
12356
0
#line 12357 "Zend/zend_language_scanner.c"
12357
17.1k
yy1059:
12358
17.1k
    YYDEBUG(1059, *YYCURSOR);
12359
17.1k
    yych = *++YYCURSOR;
12360
17.1k
    if (yych == '>') goto yy1064;
12361
52.1k
yy1060:
12362
52.1k
    YYDEBUG(1060, *YYCURSOR);
12363
52.1k
    YYCURSOR = YYMARKER;
12364
52.1k
    goto yy1054;
12365
79.5k
yy1061:
12366
79.5k
    YYDEBUG(1061, *YYCURSOR);
12367
79.5k
    yych = *++YYCURSOR;
12368
79.5k
    if (yych == '-') goto yy1065;
12369
40.1k
    goto yy1060;
12370
40.1k
yy1062:
12371
15.1k
    YYDEBUG(1062, *YYCURSOR);
12372
15.1k
    ++YYCURSOR;
12373
15.1k
    YYDEBUG(1063, *YYCURSOR);
12374
15.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12375
15.1k
#line 2411 "Zend/zend_language_scanner.l"
12376
15.1k
    {
12377
15.1k
  yyless(yyleng - 1);
12378
15.1k
  yy_push_state(ST_VAR_OFFSET);
12379
15.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12380
15.1k
}
12381
0
#line 12382 "Zend/zend_language_scanner.c"
12382
13.3k
yy1064:
12383
13.3k
    YYDEBUG(1064, *YYCURSOR);
12384
13.3k
    yych = *++YYCURSOR;
12385
13.3k
    if (yych <= '_') {
12386
5.17k
      if (yych <= '@') goto yy1060;
12387
3.50k
      if (yych <= 'Z') goto yy1066;
12388
1.56k
      if (yych <= '^') goto yy1060;
12389
1.19k
      goto yy1066;
12390
8.13k
    } else {
12391
8.13k
      if (yych <= '`') goto yy1060;
12392
7.68k
      if (yych <= 'z') goto yy1066;
12393
1.12k
      if (yych <= 0x7F) goto yy1060;
12394
655
      goto yy1066;
12395
1.12k
    }
12396
39.4k
yy1065:
12397
39.4k
    YYDEBUG(1065, *YYCURSOR);
12398
39.4k
    yych = *++YYCURSOR;
12399
39.4k
    if (yych == '>') goto yy1068;
12400
1.81k
    goto yy1060;
12401
10.3k
yy1066:
12402
10.3k
    YYDEBUG(1066, *YYCURSOR);
12403
10.3k
    ++YYCURSOR;
12404
10.3k
    YYDEBUG(1067, *YYCURSOR);
12405
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12406
10.3k
#line 2397 "Zend/zend_language_scanner.l"
12407
10.3k
    {
12408
10.3k
  yyless(yyleng - 3);
12409
10.3k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12410
10.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12411
10.3k
}
12412
0
#line 12413 "Zend/zend_language_scanner.c"
12413
37.6k
yy1068:
12414
37.6k
    YYDEBUG(1068, *YYCURSOR);
12415
37.6k
    yych = *++YYCURSOR;
12416
37.6k
    if (yych <= '_') {
12417
3.65k
      if (yych <= '@') goto yy1060;
12418
972
      if (yych <= 'Z') goto yy1069;
12419
715
      if (yych <= '^') goto yy1060;
12420
33.9k
    } else {
12421
33.9k
      if (yych <= '`') goto yy1060;
12422
33.7k
      if (yych <= 'z') goto yy1069;
12423
3.54k
      if (yych <= 0x7F) goto yy1060;
12424
3.54k
    }
12425
34.2k
yy1069:
12426
34.2k
    YYDEBUG(1069, *YYCURSOR);
12427
34.2k
    ++YYCURSOR;
12428
34.2k
    YYDEBUG(1070, *YYCURSOR);
12429
34.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12430
34.2k
#line 2403 "Zend/zend_language_scanner.l"
12431
34.2k
    {
12432
34.2k
  yyless(yyleng - 4);
12433
34.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12434
34.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12435
34.2k
}
12436
34.2k
#line 12437 "Zend/zend_language_scanner.c"
12437
34.2k
  }
12438
/* *********************************** */
12439
3.64M
yyc_ST_LOOKING_FOR_VARNAME:
12440
3.64M
  {
12441
3.64M
    static const unsigned char yybm[] = {
12442
3.64M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.64M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.64M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.64M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.64M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
3.64M
        0,   0,   0,   0,   0,   0,   0,   0, 
12448
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12449
3.64M
      128, 128,   0,   0,   0,   0,   0,   0, 
12450
3.64M
        0, 128, 128, 128, 128, 128, 128, 128, 
12451
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12453
3.64M
      128, 128, 128,   0,   0,   0,   0, 128, 
12454
3.64M
        0, 128, 128, 128, 128, 128, 128, 128, 
12455
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
3.64M
      128, 128, 128,   0,   0,   0,   0,   0, 
12458
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
3.64M
      128, 128, 128, 128, 128, 128, 128, 128, 
12474
3.64M
    };
12475
3.64M
    YYDEBUG(1071, *YYCURSOR);
12476
3.64M
    YYFILL(2);
12477
3.64M
    yych = *YYCURSOR;
12478
3.64M
    if (yych <= '_') {
12479
3.50M
      if (yych <= '@') goto yy1073;
12480
22.3k
      if (yych <= 'Z') goto yy1075;
12481
10.7k
      if (yych >= '_') goto yy1075;
12482
138k
    } else {
12483
138k
      if (yych <= '`') goto yy1073;
12484
135k
      if (yych <= 'z') goto yy1075;
12485
38.3k
      if (yych >= 0x80) goto yy1075;
12486
38.3k
    }
12487
3.49M
yy1073:
12488
3.49M
    YYDEBUG(1073, *YYCURSOR);
12489
3.49M
    ++YYCURSOR;
12490
3.63M
yy1074:
12491
3.63M
    YYDEBUG(1074, *YYCURSOR);
12492
3.63M
    yyleng = YYCURSOR - SCNG(yy_text);
12493
3.63M
#line 2004 "Zend/zend_language_scanner.l"
12494
3.63M
    {
12495
3.63M
  yyless(0);
12496
3.63M
  yy_pop_state();
12497
3.63M
  yy_push_state(ST_IN_SCRIPTING);
12498
3.63M
  goto restart;
12499
3.49M
}
12500
0
#line 12501 "Zend/zend_language_scanner.c"
12501
148k
yy1075:
12502
148k
    YYDEBUG(1075, *YYCURSOR);
12503
148k
    yych = *(YYMARKER = ++YYCURSOR);
12504
148k
    if (yych <= '_') {
12505
49.9k
      if (yych <= '@') {
12506
32.8k
        if (yych <= '/') goto yy1074;
12507
18.6k
        if (yych <= '9') goto yy1077;
12508
17.4k
        goto yy1074;
12509
18.6k
      } else {
12510
17.0k
        if (yych <= '[') goto yy1077;
12511
7.18k
        if (yych <= '^') goto yy1074;
12512
6.52k
        goto yy1077;
12513
7.18k
      }
12514
98.6k
    } else {
12515
98.6k
      if (yych <= '|') {
12516
76.3k
        if (yych <= '`') goto yy1074;
12517
76.0k
        if (yych <= 'z') goto yy1077;
12518
813
        goto yy1074;
12519
76.0k
      } else {
12520
22.3k
        if (yych <= '}') goto yy1077;
12521
19.6k
        if (yych <= 0x7F) goto yy1074;
12522
19.1k
        goto yy1077;
12523
19.6k
      }
12524
98.6k
    }
12525
588k
yy1076:
12526
588k
    YYDEBUG(1076, *YYCURSOR);
12527
588k
    ++YYCURSOR;
12528
588k
    YYFILL(1);
12529
588k
    yych = *YYCURSOR;
12530
702k
yy1077:
12531
702k
    YYDEBUG(1077, *YYCURSOR);
12532
702k
    if (yybm[0+yych] & 128) {
12533
588k
      goto yy1076;
12534
588k
    }
12535
114k
    if (yych <= '@') goto yy1078;
12536
23.5k
    if (yych <= '[') goto yy1079;
12537
22.5k
    if (yych == '}') goto yy1079;
12538
110k
yy1078:
12539
110k
    YYDEBUG(1078, *YYCURSOR);
12540
110k
    YYCURSOR = YYMARKER;
12541
110k
    goto yy1074;
12542
4.29k
yy1079:
12543
4.29k
    YYDEBUG(1079, *YYCURSOR);
12544
4.29k
    ++YYCURSOR;
12545
4.29k
    YYDEBUG(1080, *YYCURSOR);
12546
4.29k
    yyleng = YYCURSOR - SCNG(yy_text);
12547
4.29k
#line 1996 "Zend/zend_language_scanner.l"
12548
4.29k
    {
12549
4.29k
  yyless(yyleng - 1);
12550
4.29k
  yy_pop_state();
12551
4.29k
  yy_push_state(ST_IN_SCRIPTING);
12552
4.29k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12553
4.29k
}
12554
4.29k
#line 12555 "Zend/zend_language_scanner.c"
12555
4.29k
  }
12556
/* *********************************** */
12557
205k
yyc_ST_VAR_OFFSET:
12558
205k
  {
12559
205k
    static const unsigned char yybm[] = {
12560
205k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
205k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
205k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
205k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
205k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
205k
        0,   0,   0,   0,   0,   0,   0,   0, 
12566
205k
      248, 248, 216, 216, 216, 216, 216, 216, 
12567
205k
      152, 152,   0,   0,   0,   0,   0,   0, 
12568
205k
        0, 144, 144, 144, 144, 144, 144,  16, 
12569
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12571
205k
       16,  16,  16,   0,   0,   0,   0,  16, 
12572
205k
        0, 144, 144, 144, 144, 144, 144,  16, 
12573
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
205k
       16,  16,  16,   0,   0,   0,   0,   0, 
12576
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
205k
       16,  16,  16,  16,  16,  16,  16,  16, 
12592
205k
    };
12593
205k
    YYDEBUG(1081, *YYCURSOR);
12594
205k
    YYFILL(2);
12595
205k
    yych = *YYCURSOR;
12596
205k
    if (yych <= '0') {
12597
95.0k
      if (yych <= ' ') {
12598
40.4k
        if (yych <= '\f') {
12599
31.1k
          if (yych <= 0x08) goto yy1083;
12600
4.68k
          if (yych <= '\n') goto yy1085;
12601
9.32k
        } else {
12602
9.32k
          if (yych <= '\r') goto yy1085;
12603
8.84k
          if (yych >= ' ') goto yy1085;
12604
8.84k
        }
12605
54.6k
      } else {
12606
54.6k
        if (yych <= '$') {
12607
19.6k
          if (yych <= '"') goto yy1087;
12608
14.5k
          if (yych <= '#') goto yy1085;
12609
14.1k
          goto yy1089;
12610
35.0k
        } else {
12611
35.0k
          if (yych == '\'') goto yy1085;
12612
34.3k
          if (yych <= '/') goto yy1087;
12613
14.6k
          goto yy1090;
12614
34.3k
        }
12615
54.6k
      }
12616
110k
    } else {
12617
110k
      if (yych <= ']') {
12618
77.8k
        if (yych <= 'Z') {
12619
36.4k
          if (yych <= '9') goto yy1092;
12620
26.1k
          if (yych <= '@') goto yy1087;
12621
5.36k
          goto yy1094;
12622
41.4k
        } else {
12623
41.4k
          if (yych <= '[') goto yy1087;
12624
12.9k
          if (yych <= '\\') goto yy1085;
12625
12.6k
          goto yy1097;
12626
12.9k
        }
12627
77.8k
      } else {
12628
32.1k
        if (yych <= '`') {
12629
6.78k
          if (yych == '_') goto yy1094;
12630
3.66k
          goto yy1087;
12631
25.3k
        } else {
12632
25.3k
          if (yych <= 'z') goto yy1094;
12633
13.2k
          if (yych <= '~') goto yy1087;
12634
10.3k
          if (yych >= 0x80) goto yy1094;
12635
10.3k
        }
12636
32.1k
      }
12637
110k
    }
12638
34.6k
yy1083:
12639
34.6k
    YYDEBUG(1083, *YYCURSOR);
12640
34.6k
    ++YYCURSOR;
12641
34.6k
    YYDEBUG(1084, *YYCURSOR);
12642
34.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12643
34.6k
#line 3180 "Zend/zend_language_scanner.l"
12644
34.6k
    {
12645
34.6k
  if (YYCURSOR > YYLIMIT) {
12646
1.44k
    RETURN_END_TOKEN;
12647
1.44k
  }
12648
12649
33.1k
  RETURN_TOKEN(T_BAD_CHARACTER);
12650
33.1k
}
12651
0
#line 12652 "Zend/zend_language_scanner.c"
12652
7.71k
yy1085:
12653
7.71k
    YYDEBUG(1085, *YYCURSOR);
12654
7.71k
    ++YYCURSOR;
12655
7.71k
    YYDEBUG(1086, *YYCURSOR);
12656
7.71k
    yyleng = YYCURSOR - SCNG(yy_text);
12657
7.71k
#line 2431 "Zend/zend_language_scanner.l"
12658
7.71k
    {
12659
  /* Invalid rule to return a more explicit parse error with proper line number */
12660
7.71k
  yyless(0);
12661
7.71k
  yy_pop_state();
12662
7.71k
  ZVAL_NULL(zendlval);
12663
7.71k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12664
7.71k
}
12665
0
#line 12666 "Zend/zend_language_scanner.c"
12666
80.5k
yy1087:
12667
80.5k
    YYDEBUG(1087, *YYCURSOR);
12668
80.5k
    ++YYCURSOR;
12669
85.9k
yy1088:
12670
85.9k
    YYDEBUG(1088, *YYCURSOR);
12671
85.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12672
85.9k
#line 2426 "Zend/zend_language_scanner.l"
12673
85.9k
    {
12674
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12675
85.9k
  RETURN_TOKEN(yytext[0]);
12676
85.9k
}
12677
0
#line 12678 "Zend/zend_language_scanner.c"
12678
14.1k
yy1089:
12679
14.1k
    YYDEBUG(1089, *YYCURSOR);
12680
14.1k
    yych = *++YYCURSOR;
12681
14.1k
    if (yych <= '_') {
12682
6.53k
      if (yych <= '@') goto yy1088;
12683
2.71k
      if (yych <= 'Z') goto yy1099;
12684
1.41k
      if (yych <= '^') goto yy1088;
12685
1.18k
      goto yy1099;
12686
7.63k
    } else {
12687
7.63k
      if (yych <= '`') goto yy1088;
12688
7.08k
      if (yych <= 'z') goto yy1099;
12689
2.32k
      if (yych <= 0x7F) goto yy1088;
12690
1.57k
      goto yy1099;
12691
2.32k
    }
12692
14.6k
yy1090:
12693
14.6k
    YYDEBUG(1090, *YYCURSOR);
12694
14.6k
    yyaccept = 0;
12695
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
12696
14.6k
    if (yych <= 'X') {
12697
4.77k
      if (yych <= 'B') {
12698
3.70k
        if (yych <= '/') goto yy1091;
12699
3.02k
        if (yych <= '9') goto yy1102;
12700
871
        if (yych >= 'B') goto yy1105;
12701
1.06k
      } else {
12702
1.06k
        if (yych == 'O') goto yy1107;
12703
814
        if (yych >= 'X') goto yy1108;
12704
814
      }
12705
9.86k
    } else {
12706
9.86k
      if (yych <= 'b') {
12707
7.64k
        if (yych == '_') goto yy1109;
12708
6.38k
        if (yych >= 'b') goto yy1105;
12709
6.38k
      } else {
12710
2.21k
        if (yych <= 'o') {
12711
810
          if (yych >= 'o') goto yy1107;
12712
1.40k
        } else {
12713
1.40k
          if (yych == 'x') goto yy1108;
12714
1.40k
        }
12715
2.21k
      }
12716
9.86k
    }
12717
20.5k
yy1091:
12718
20.5k
    YYDEBUG(1091, *YYCURSOR);
12719
20.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12720
20.5k
#line 2208 "Zend/zend_language_scanner.l"
12721
20.5k
    { /* Offset could be treated as a long */
12722
20.5k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12723
19.3k
    char *end;
12724
19.3k
    errno = 0;
12725
19.3k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12726
19.3k
    if (errno == ERANGE) {
12727
0
      goto string;
12728
0
    }
12729
19.3k
    ZEND_ASSERT(end == yytext + yyleng);
12730
19.3k
  } else {
12731
1.23k
string:
12732
1.23k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12733
1.23k
  }
12734
20.5k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12735
20.5k
}
12736
0
#line 12737 "Zend/zend_language_scanner.c"
12737
73.9k
yy1092:
12738
73.9k
    YYDEBUG(1092, *YYCURSOR);
12739
73.9k
    yyaccept = 0;
12740
73.9k
    YYMARKER = ++YYCURSOR;
12741
73.9k
    YYFILL(1);
12742
73.9k
    yych = *YYCURSOR;
12743
73.9k
    YYDEBUG(1093, *YYCURSOR);
12744
73.9k
    if (yybm[0+yych] & 8) {
12745
63.6k
      goto yy1092;
12746
63.6k
    }
12747
10.3k
    if (yych == '_') goto yy1109;
12748
9.70k
    goto yy1091;
12749
132k
yy1094:
12750
132k
    YYDEBUG(1094, *YYCURSOR);
12751
132k
    ++YYCURSOR;
12752
132k
    YYFILL(1);
12753
132k
    yych = *YYCURSOR;
12754
132k
    YYDEBUG(1095, *YYCURSOR);
12755
132k
    if (yybm[0+yych] & 16) {
12756
101k
      goto yy1094;
12757
101k
    }
12758
30.5k
    YYDEBUG(1096, *YYCURSOR);
12759
30.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12760
30.5k
#line 2455 "Zend/zend_language_scanner.l"
12761
30.5k
    {
12762
30.5k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12763
30.5k
}
12764
0
#line 12765 "Zend/zend_language_scanner.c"
12765
12.6k
yy1097:
12766
12.6k
    YYDEBUG(1097, *YYCURSOR);
12767
12.6k
    ++YYCURSOR;
12768
12.6k
    YYDEBUG(1098, *YYCURSOR);
12769
12.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12770
12.6k
#line 2421 "Zend/zend_language_scanner.l"
12771
12.6k
    {
12772
12.6k
  yy_pop_state();
12773
12.6k
  RETURN_TOKEN(']');
12774
12.6k
}
12775
0
#line 12776 "Zend/zend_language_scanner.c"
12776
34.7k
yy1099:
12777
34.7k
    YYDEBUG(1099, *YYCURSOR);
12778
34.7k
    ++YYCURSOR;
12779
34.7k
    YYFILL(1);
12780
34.7k
    yych = *YYCURSOR;
12781
34.7k
    YYDEBUG(1100, *YYCURSOR);
12782
34.7k
    if (yych <= '^') {
12783
11.5k
      if (yych <= '9') {
12784
3.85k
        if (yych >= '0') goto yy1099;
12785
7.70k
      } else {
12786
7.70k
        if (yych <= '@') goto yy1101;
12787
6.18k
        if (yych <= 'Z') goto yy1099;
12788
6.18k
      }
12789
23.1k
    } else {
12790
23.1k
      if (yych <= '`') {
12791
2.14k
        if (yych <= '_') goto yy1099;
12792
21.0k
      } else {
12793
21.0k
        if (yych <= 'z') goto yy1099;
12794
12.6k
        if (yych >= 0x80) goto yy1099;
12795
12.6k
      }
12796
23.1k
    }
12797
8.81k
yy1101:
12798
8.81k
    YYDEBUG(1101, *YYCURSOR);
12799
8.81k
    yyleng = YYCURSOR - SCNG(yy_text);
12800
8.81k
#line 2417 "Zend/zend_language_scanner.l"
12801
8.81k
    {
12802
8.81k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12803
8.81k
}
12804
0
#line 12805 "Zend/zend_language_scanner.c"
12805
9.09k
yy1102:
12806
9.09k
    YYDEBUG(1102, *YYCURSOR);
12807
9.09k
    yyaccept = 1;
12808
9.09k
    YYMARKER = ++YYCURSOR;
12809
9.09k
    YYFILL(1);
12810
9.09k
    yych = *YYCURSOR;
12811
9.09k
    YYDEBUG(1103, *YYCURSOR);
12812
9.09k
    if (yych <= '/') goto yy1104;
12813
8.06k
    if (yych <= '9') goto yy1102;
12814
1.88k
    if (yych == '_') goto yy1109;
12815
4.36k
yy1104:
12816
4.36k
    YYDEBUG(1104, *YYCURSOR);
12817
4.36k
    yyleng = YYCURSOR - SCNG(yy_text);
12818
4.36k
#line 2224 "Zend/zend_language_scanner.l"
12819
4.36k
    { /* Offset must be treated as a string */
12820
4.36k
  if (yyleng == 1) {
12821
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12822
4.36k
  } else {
12823
4.36k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12824
4.36k
  }
12825
4.36k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12826
4.36k
}
12827
0
#line 12828 "Zend/zend_language_scanner.c"
12828
1.03k
yy1105:
12829
1.03k
    YYDEBUG(1105, *YYCURSOR);
12830
1.03k
    ++YYCURSOR;
12831
1.03k
    YYFILL(1);
12832
1.03k
    yych = *YYCURSOR;
12833
1.03k
    if (yybm[0+yych] & 32) {
12834
624
      goto yy1110;
12835
624
    }
12836
2.91k
yy1106:
12837
2.91k
    YYDEBUG(1106, *YYCURSOR);
12838
2.91k
    YYCURSOR = YYMARKER;
12839
2.91k
    if (yyaccept == 0) {
12840
2.01k
      goto yy1091;
12841
2.01k
    } else {
12842
892
      goto yy1104;
12843
892
    }
12844
997
yy1107:
12845
997
    YYDEBUG(1107, *YYCURSOR);
12846
997
    ++YYCURSOR;
12847
997
    YYFILL(1);
12848
997
    yych = *YYCURSOR;
12849
997
    if (yybm[0+yych] & 64) {
12850
721
      goto yy1112;
12851
721
    }
12852
276
    goto yy1106;
12853
1.31k
yy1108:
12854
1.31k
    YYDEBUG(1108, *YYCURSOR);
12855
1.31k
    ++YYCURSOR;
12856
1.31k
    YYFILL(1);
12857
1.31k
    yych = *YYCURSOR;
12858
1.31k
    if (yybm[0+yych] & 128) {
12859
866
      goto yy1114;
12860
866
    }
12861
446
    goto yy1106;
12862
2.53k
yy1109:
12863
2.53k
    YYDEBUG(1109, *YYCURSOR);
12864
2.53k
    ++YYCURSOR;
12865
2.53k
    YYFILL(1);
12866
2.53k
    yych = *YYCURSOR;
12867
2.53k
    if (yych <= '/') goto yy1106;
12868
1.21k
    if (yych <= '9') goto yy1102;
12869
456
    goto yy1106;
12870
929
yy1110:
12871
929
    YYDEBUG(1110, *YYCURSOR);
12872
929
    yyaccept = 1;
12873
929
    YYMARKER = ++YYCURSOR;
12874
929
    YYFILL(1);
12875
929
    yych = *YYCURSOR;
12876
929
    YYDEBUG(1111, *YYCURSOR);
12877
929
    if (yybm[0+yych] & 32) {
12878
305
      goto yy1110;
12879
305
    }
12880
624
    if (yych == '_') goto yy1105;
12881
332
    goto yy1104;
12882
2.12k
yy1112:
12883
2.12k
    YYDEBUG(1112, *YYCURSOR);
12884
2.12k
    yyaccept = 1;
12885
2.12k
    YYMARKER = ++YYCURSOR;
12886
2.12k
    YYFILL(1);
12887
2.12k
    yych = *YYCURSOR;
12888
2.12k
    YYDEBUG(1113, *YYCURSOR);
12889
2.12k
    if (yybm[0+yych] & 64) {
12890
1.40k
      goto yy1112;
12891
1.40k
    }
12892
721
    if (yych == '_') goto yy1107;
12893
457
    goto yy1104;
12894
1.39k
yy1114:
12895
1.39k
    YYDEBUG(1114, *YYCURSOR);
12896
1.39k
    yyaccept = 1;
12897
1.39k
    YYMARKER = ++YYCURSOR;
12898
1.39k
    YYFILL(1);
12899
1.39k
    yych = *YYCURSOR;
12900
1.39k
    YYDEBUG(1115, *YYCURSOR);
12901
1.39k
    if (yybm[0+yych] & 128) {
12902
527
      goto yy1114;
12903
527
    }
12904
866
    if (yych == '_') goto yy1108;
12905
441
    goto yy1104;
12906
866
  }
12907
/* *********************************** */
12908
441
yyc_SHEBANG:
12909
0
  {
12910
0
    static const unsigned char yybm[] = {
12911
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12912
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12943
0
    };
12944
0
    YYDEBUG(1116, *YYCURSOR);
12945
0
    YYFILL(2);
12946
0
    yych = *YYCURSOR;
12947
0
    if (yych == '#') goto yy1120;
12948
0
    YYDEBUG(1118, *YYCURSOR);
12949
0
    ++YYCURSOR;
12950
0
yy1119:
12951
0
    YYDEBUG(1119, *YYCURSOR);
12952
0
    yyleng = YYCURSOR - SCNG(yy_text);
12953
0
#line 2295 "Zend/zend_language_scanner.l"
12954
0
    {
12955
0
  yyless(0);
12956
0
  BEGIN(INITIAL);
12957
0
  goto restart;
12958
0
}
12959
0
#line 12960 "Zend/zend_language_scanner.c"
12960
0
yy1120:
12961
0
    YYDEBUG(1120, *YYCURSOR);
12962
0
    yych = *++YYCURSOR;
12963
0
    if (yych != '!') goto yy1119;
12964
0
yy1121:
12965
0
    YYDEBUG(1121, *YYCURSOR);
12966
0
    ++YYCURSOR;
12967
0
    YYFILL(1);
12968
0
    yych = *YYCURSOR;
12969
0
    YYDEBUG(1122, *YYCURSOR);
12970
0
    if (yybm[0+yych] & 128) {
12971
0
      goto yy1121;
12972
0
    }
12973
0
    YYDEBUG(1123, *YYCURSOR);
12974
0
    ++YYCURSOR;
12975
0
    YYDEBUG(1124, *YYCURSOR);
12976
0
    yyleng = YYCURSOR - SCNG(yy_text);
12977
0
#line 2289 "Zend/zend_language_scanner.l"
12978
0
    {
12979
0
  CG(zend_lineno)++;
12980
0
  BEGIN(INITIAL);
12981
0
  goto restart;
12982
0
}
12983
0
#line 12984 "Zend/zend_language_scanner.c"
12984
0
  }
12985
/* *********************************** */
12986
435k
yyc_INITIAL:
12987
435k
  YYDEBUG(1125, *YYCURSOR);
12988
435k
  YYFILL(7);
12989
435k
  yych = *YYCURSOR;
12990
435k
  if (yych == '<') goto yy1129;
12991
202k
  YYDEBUG(1127, *YYCURSOR);
12992
202k
  ++YYCURSOR;
12993
213k
yy1128:
12994
213k
  YYDEBUG(1128, *YYCURSOR);
12995
213k
  yyleng = YYCURSOR - SCNG(yy_text);
12996
213k
#line 2341 "Zend/zend_language_scanner.l"
12997
213k
  {
12998
213k
  if (YYCURSOR > YYLIMIT) {
12999
63.0k
    RETURN_END_TOKEN;
13000
63.0k
  }
13001
13002
150k
inline_char_handler:
13003
13004
402k
  while (1) {
13005
402k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13006
13007
402k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13008
13009
402k
    if (YYCURSOR >= YYLIMIT) {
13010
28.3k
      break;
13011
28.3k
    }
13012
13013
373k
    if (*YYCURSOR == '?') {
13014
122k
      if (CG(short_tags) /* <? */
13015
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13016
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13017
0
          (YYCURSOR + 4 == YYLIMIT ||
13018
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13019
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13020
122k
      ) {
13021
122k
        YYCURSOR--;
13022
122k
        break;
13023
122k
      }
13024
122k
    }
13025
373k
  }
13026
13027
150k
  yyleng = YYCURSOR - SCNG(yy_text);
13028
13029
150k
  if (SCNG(output_filter)) {
13030
0
    size_t readsize;
13031
0
    char *s = NULL;
13032
0
    size_t sz = 0;
13033
    // TODO: avoid reallocation ???
13034
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13035
0
    ZVAL_STRINGL(zendlval, s, sz);
13036
0
    efree(s);
13037
0
    if (readsize < yyleng) {
13038
0
      yyless(readsize);
13039
0
    }
13040
150k
  } else if (yyleng == 1) {
13041
14.6k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13042
135k
  } else {
13043
135k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13044
135k
  }
13045
150k
  HANDLE_NEWLINES(yytext, yyleng);
13046
150k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13047
150k
}
13048
0
#line 13049 "Zend/zend_language_scanner.c"
13049
232k
yy1129:
13050
232k
  YYDEBUG(1129, *YYCURSOR);
13051
232k
  yych = *++YYCURSOR;
13052
232k
  if (yych != '?') goto yy1128;
13053
221k
  YYDEBUG(1130, *YYCURSOR);
13054
221k
  yych = *(YYMARKER = ++YYCURSOR);
13055
221k
  if (yych <= 'O') {
13056
61.7k
    if (yych == '=') goto yy1132;
13057
159k
  } else {
13058
159k
    if (yych <= 'P') goto yy1134;
13059
159k
    if (yych == 'p') goto yy1134;
13060
159k
  }
13061
125k
yy1131:
13062
125k
  YYDEBUG(1131, *YYCURSOR);
13063
125k
  yyleng = YYCURSOR - SCNG(yy_text);
13064
125k
#line 2332 "Zend/zend_language_scanner.l"
13065
125k
  {
13066
125k
  if (CG(short_tags)) {
13067
125k
    BEGIN(ST_IN_SCRIPTING);
13068
125k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13069
125k
  } else {
13070
0
    goto inline_char_handler;
13071
0
  }
13072
125k
}
13073
0
#line 13074 "Zend/zend_language_scanner.c"
13074
1.90k
yy1132:
13075
1.90k
  YYDEBUG(1132, *YYCURSOR);
13076
1.90k
  ++YYCURSOR;
13077
1.90k
  YYDEBUG(1133, *YYCURSOR);
13078
1.90k
  yyleng = YYCURSOR - SCNG(yy_text);
13079
1.90k
#line 2301 "Zend/zend_language_scanner.l"
13080
1.90k
  {
13081
1.90k
  BEGIN(ST_IN_SCRIPTING);
13082
1.90k
  if (PARSER_MODE()) {
13083
    /* We'll reject this as an identifier in zend_lex_tstring. */
13084
1.09k
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13085
1.09k
  }
13086
805
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13087
805
}
13088
0
#line 13089 "Zend/zend_language_scanner.c"
13089
102k
yy1134:
13090
102k
  YYDEBUG(1134, *YYCURSOR);
13091
102k
  yych = *++YYCURSOR;
13092
102k
  if (yych == 'H') goto yy1136;
13093
100k
  if (yych == 'h') goto yy1136;
13094
7.70k
yy1135:
13095
7.70k
  YYDEBUG(1135, *YYCURSOR);
13096
7.70k
  YYCURSOR = YYMARKER;
13097
7.70k
  goto yy1131;
13098
97.3k
yy1136:
13099
97.3k
  YYDEBUG(1136, *YYCURSOR);
13100
97.3k
  yych = *++YYCURSOR;
13101
97.3k
  if (yych == 'P') goto yy1137;
13102
96.4k
  if (yych != 'p') goto yy1135;
13103
94.6k
yy1137:
13104
94.6k
  YYDEBUG(1137, *YYCURSOR);
13105
94.6k
  yych = *++YYCURSOR;
13106
94.6k
  if (yych <= '\f') {
13107
82.3k
    if (yych <= 0x08) goto yy1138;
13108
81.5k
    if (yych <= '\n') goto yy1139;
13109
81.5k
  } else {
13110
12.3k
    if (yych <= '\r') goto yy1141;
13111
11.4k
    if (yych == ' ') goto yy1139;
13112
11.4k
  }
13113
4.59k
yy1138:
13114
4.59k
  YYDEBUG(1138, *YYCURSOR);
13115
4.59k
  yyleng = YYCURSOR - SCNG(yy_text);
13116
4.59k
#line 2317 "Zend/zend_language_scanner.l"
13117
4.59k
  {
13118
  /* Allow <?php followed by end of file. */
13119
4.59k
  if (YYCURSOR == YYLIMIT) {
13120
310
    BEGIN(ST_IN_SCRIPTING);
13121
310
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13122
310
  }
13123
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13124
4.28k
  if (CG(short_tags)) {
13125
4.28k
    yyless(2);
13126
4.28k
    BEGIN(ST_IN_SCRIPTING);
13127
4.28k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13128
4.28k
  }
13129
0
  goto inline_char_handler;
13130
4.28k
}
13131
0
#line 13132 "Zend/zend_language_scanner.c"
13132
89.8k
yy1139:
13133
89.8k
  YYDEBUG(1139, *YYCURSOR);
13134
89.8k
  ++YYCURSOR;
13135
90.0k
yy1140:
13136
90.0k
  YYDEBUG(1140, *YYCURSOR);
13137
90.0k
  yyleng = YYCURSOR - SCNG(yy_text);
13138
90.0k
#line 2311 "Zend/zend_language_scanner.l"
13139
90.0k
  {
13140
90.0k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13141
90.0k
  BEGIN(ST_IN_SCRIPTING);
13142
90.0k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13143
90.0k
}
13144
0
#line 13145 "Zend/zend_language_scanner.c"
13145
876
yy1141:
13146
876
  YYDEBUG(1141, *YYCURSOR);
13147
876
  yych = *++YYCURSOR;
13148
876
  if (yych == '\n') goto yy1139;
13149
264
  goto yy1140;
13150
/* *********************************** */
13151
20.5k
yyc_ST_END_HEREDOC:
13152
20.5k
  YYDEBUG(1142, *YYCURSOR);
13153
20.5k
  YYFILL(1);
13154
20.5k
  yych = *YYCURSOR;
13155
20.5k
  YYDEBUG(1144, *YYCURSOR);
13156
20.5k
  ++YYCURSOR;
13157
20.5k
  YYDEBUG(1145, *YYCURSOR);
13158
20.5k
  yyleng = YYCURSOR - SCNG(yy_text);
13159
20.5k
#line 2832 "Zend/zend_language_scanner.l"
13160
20.5k
  {
13161
20.5k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13162
13163
20.5k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13164
20.5k
  YYCURSOR += yyleng - 1;
13165
13166
20.5k
  heredoc_label_dtor(heredoc_label);
13167
20.5k
  efree(heredoc_label);
13168
13169
20.5k
  BEGIN(ST_IN_SCRIPTING);
13170
20.5k
  RETURN_TOKEN(T_END_HEREDOC);
13171
20.5k
}
13172
0
#line 13173 "Zend/zend_language_scanner.c"
13173
/* *********************************** */
13174
9.67k
yyc_ST_NOWDOC:
13175
9.67k
  YYDEBUG(1146, *YYCURSOR);
13176
9.67k
  YYFILL(1);
13177
9.67k
  yych = *YYCURSOR;
13178
9.67k
  YYDEBUG(1148, *YYCURSOR);
13179
9.67k
  ++YYCURSOR;
13180
9.67k
  YYDEBUG(1149, *YYCURSOR);
13181
9.67k
  yyleng = YYCURSOR - SCNG(yy_text);
13182
9.67k
#line 3089 "Zend/zend_language_scanner.l"
13183
9.67k
  {
13184
9.67k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13185
9.67k
  int newline = 0, indentation = 0, spacing = -1;
13186
13187
9.67k
  if (YYCURSOR > YYLIMIT) {
13188
2.82k
    RETURN_END_TOKEN;
13189
2.82k
  }
13190
13191
6.85k
  YYCURSOR--;
13192
13193
2.36M
  while (YYCURSOR < YYLIMIT) {
13194
2.36M
    switch (*YYCURSOR++) {
13195
16.6k
      case '\r':
13196
16.6k
        if (*YYCURSOR == '\n') {
13197
1.27k
          YYCURSOR++;
13198
1.27k
        }
13199
16.6k
        ZEND_FALLTHROUGH;
13200
115k
      case '\n':
13201
115k
        indentation = spacing = 0;
13202
13203
166k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13204
51.8k
          if (*YYCURSOR == '\t') {
13205
1.35k
            spacing |= HEREDOC_USING_TABS;
13206
50.5k
          } else {
13207
50.5k
            spacing |= HEREDOC_USING_SPACES;
13208
50.5k
          }
13209
51.8k
          ++YYCURSOR;
13210
51.8k
          ++indentation;
13211
51.8k
        }
13212
13213
115k
        if (YYCURSOR == YYLIMIT) {
13214
705
          yyleng = YYCURSOR - SCNG(yy_text);
13215
705
          HANDLE_NEWLINES(yytext, yyleng);
13216
705
          ZVAL_NULL(zendlval);
13217
705
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13218
705
        }
13219
13220
        /* Check for ending label on the next line */
13221
114k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13222
5.77k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13223
1.76k
            continue;
13224
1.76k
          }
13225
13226
4.00k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13227
215
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13228
215
            if (PARSER_MODE()) {
13229
9
              RETURN_TOKEN(T_ERROR);
13230
9
            }
13231
215
          }
13232
13233
          /* newline before label will be subtracted from returned text, but
13234
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13235
3.99k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13236
240
            newline = 2; /* Windows newline */
13237
3.75k
          } else {
13238
3.75k
            newline = 1;
13239
3.75k
          }
13240
13241
3.99k
          CG(increment_lineno) = 1; /* For newline before label */
13242
13243
3.99k
          YYCURSOR -= indentation;
13244
3.99k
          heredoc_label->indentation = indentation;
13245
13246
3.99k
          BEGIN(ST_END_HEREDOC);
13247
13248
3.99k
          goto nowdoc_scan_done;
13249
4.00k
        }
13250
108k
        ZEND_FALLTHROUGH;
13251
2.35M
      default:
13252
2.35M
        continue;
13253
2.36M
    }
13254
2.36M
  }
13255
13256
6.14k
nowdoc_scan_done:
13257
6.14k
  yyleng = YYCURSOR - SCNG(yy_text);
13258
6.14k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13259
13260
6.14k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13261
1.27k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13262
1.27k
    if (!strip_multiline_string_indentation(
13263
1.27k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13264
1.27k
        newline_at_start, newline != 0)) {
13265
33
      RETURN_TOKEN(T_ERROR);
13266
33
    }
13267
1.27k
  }
13268
13269
6.10k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13270
6.10k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13271
6.10k
}
13272
6.10k
#line 13273 "Zend/zend_language_scanner.c"
13273
6.10k
}
13274
0
#line 3188 "Zend/zend_language_scanner.l"
13275
13276
13277
6.60M
emit_token_with_str:
13278
6.60M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13279
13280
10.0M
emit_token_with_val:
13281
10.0M
  if (PARSER_MODE()) {
13282
3.32M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13283
3.32M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13284
3.32M
  }
13285
13286
36.8M
emit_token:
13287
36.8M
  if (SCNG(on_event)) {
13288
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13289
0
  }
13290
36.8M
  return token;
13291
13292
1.22M
emit_token_with_ident:
13293
1.22M
  if (PARSER_MODE()) {
13294
613k
    elem->ident = SCNG(yy_text);
13295
613k
  }
13296
1.22M
  if (SCNG(on_event)) {
13297
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13298
0
  }
13299
1.22M
  return token;
13300
13301
5.98M
return_whitespace:
13302
5.98M
  HANDLE_NEWLINES(yytext, yyleng);
13303
5.98M
  if (SCNG(on_event)) {
13304
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13305
0
  }
13306
5.98M
  if (PARSER_MODE()) {
13307
2.57M
    start_line = CG(zend_lineno);
13308
2.57M
    goto restart;
13309
3.41M
  } else {
13310
3.41M
    return T_WHITESPACE;
13311
3.41M
  }
13312
13313
251k
skip_token:
13314
251k
  if (SCNG(on_event)) {
13315
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13316
0
  }
13317
251k
  start_line = CG(zend_lineno);
13318
251k
  goto restart;
13319
5.98M
}