Coverage Report

Created: 2025-07-23 06:33

/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source (jump to first uncovered line)
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
66.7M
#define YYCTYPE   unsigned char
53
173M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
1.24G
#define YYCURSOR  SCNG(yy_cursor)
55
407M
#define YYLIMIT   SCNG(yy_limit)
56
65.7M
#define YYMARKER  SCNG(yy_marker)
57
58
219M
#define YYGETCONDITION()  SCNG(yy_state)
59
21.5M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
5.19M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
389k
#define YYSTATE      YYGETCONDITION()
66
23.2M
#define yytext       ((char*)SCNG(yy_text))
67
88.5M
#define yyleng       SCNG(yy_leng)
68
5.01M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
5.01M
                          yyleng   = (unsigned int)x; } while(0)
70
#define yymore()     goto yymore_restart
71
72
/* perform sanity check. If this message is triggered you should
73
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
74
#define YYMAXFILL 16
75
76
#if ZEND_MMAP_AHEAD < YYMAXFILL
77
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
78
#endif
79
80
#include <stdarg.h>
81
82
#ifdef HAVE_UNISTD_H
83
# include <unistd.h>
84
#endif
85
86
/* Globals Macros */
87
2.36G
#define SCNG  LANG_SCNG
88
#ifdef ZTS
89
ZEND_API ts_rsrc_id language_scanner_globals_id;
90
ZEND_API size_t language_scanner_globals_offset;
91
#else
92
ZEND_API zend_php_scanner_globals language_scanner_globals;
93
#endif
94
95
11.6M
#define HANDLE_NEWLINES(s, l)                         \
96
11.6M
do {                                     \
97
11.6M
  char *p = (s), *boundary = p+(l);                     \
98
11.6M
                                        \
99
116M
  while (p<boundary) {                           \
100
105M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
101
10.1M
      CG(zend_lineno)++;                          \
102
10.1M
    }                                    \
103
105M
    p++;                                  \
104
105M
  }                                      \
105
11.6M
} while (0)
106
107
398k
#define HANDLE_NEWLINE(c) \
108
398k
{ \
109
398k
  if (c == '\n' || c == '\r') { \
110
116k
    CG(zend_lineno)++; \
111
116k
  } \
112
398k
}
113
114
/* To save initial string length after scanning to first variable */
115
307k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
116
652k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
117
118
14.7M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
119
73.8k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
120
121
251k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
122
37.1k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
123
124
125
static void strip_underscores(char *str, size_t *len)
126
9.36k
{
127
9.36k
  char *src = str, *dest = str;
128
141k
  while (*src != '\0') {
129
132k
    if (*src != '_') {
130
120k
      *dest = *src;
131
120k
      dest++;
132
120k
    } else {
133
11.6k
      --(*len);
134
11.6k
    }
135
132k
    src++;
136
132k
  }
137
9.36k
  *dest = '\0';
138
9.36k
}
139
140
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
141
0
{
142
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
143
0
  ZEND_ASSERT(internal_encoding);
144
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
145
0
}
146
147
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
148
0
{
149
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
150
0
}
151
152
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
153
0
{
154
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
155
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
156
0
}
157
158
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
159
0
{
160
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
161
0
  ZEND_ASSERT(internal_encoding);
162
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
163
0
internal_encoding, zend_multibyte_encoding_utf8);
164
0
}
165
166
167
static void _yy_push_state(int new_state)
168
10.6M
{
169
10.6M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
170
10.6M
  YYSETCONDITION(new_state);
171
10.6M
}
172
173
10.6M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
174
175
static void yy_pop_state(void)
176
5.32M
{
177
5.32M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
178
5.32M
  YYSETCONDITION(*stack_state);
179
5.32M
  zend_stack_del_top(&SCNG(state_stack));
180
5.32M
}
181
182
static void yy_scan_buffer(char *str, size_t len)
183
171k
{
184
171k
  YYCURSOR       = (YYCTYPE*)str;
185
171k
  YYLIMIT        = YYCURSOR + len;
186
171k
  if (!SCNG(yy_start)) {
187
28.4k
    SCNG(yy_start) = YYCURSOR;
188
28.4k
  }
189
171k
}
190
191
void startup_scanner(void)
192
268k
{
193
268k
  CG(parse_error) = 0;
194
268k
  CG(doc_comment) = NULL;
195
268k
  CG(extra_fn_flags) = 0;
196
268k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
197
268k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
198
268k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
199
268k
  SCNG(heredoc_scan_ahead) = 0;
200
268k
}
201
202
7.33M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
203
7.33M
    efree(heredoc_label->label);
204
7.33M
}
205
206
void shutdown_scanner(void)
207
268k
{
208
268k
  CG(parse_error) = 0;
209
268k
  RESET_DOC_COMMENT();
210
268k
  zend_stack_destroy(&SCNG(state_stack));
211
268k
  zend_stack_destroy(&SCNG(nest_location_stack));
212
268k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
213
268k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
214
268k
  SCNG(heredoc_scan_ahead) = 0;
215
268k
  SCNG(on_event) = NULL;
216
268k
}
217
218
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
219
389k
{
220
389k
  lex_state->yy_leng   = SCNG(yy_leng);
221
389k
  lex_state->yy_start  = SCNG(yy_start);
222
389k
  lex_state->yy_text   = SCNG(yy_text);
223
389k
  lex_state->yy_cursor = SCNG(yy_cursor);
224
389k
  lex_state->yy_marker = SCNG(yy_marker);
225
389k
  lex_state->yy_limit  = SCNG(yy_limit);
226
227
389k
  lex_state->state_stack = SCNG(state_stack);
228
389k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
229
230
389k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
231
389k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
232
233
389k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
234
389k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
235
236
389k
  lex_state->in = SCNG(yy_in);
237
389k
  lex_state->yy_state = YYSTATE;
238
389k
  lex_state->filename = CG(compiled_filename);
239
389k
  lex_state->lineno = CG(zend_lineno);
240
389k
  CG(compiled_filename) = NULL;
241
242
389k
  lex_state->script_org = SCNG(script_org);
243
389k
  lex_state->script_org_size = SCNG(script_org_size);
244
389k
  lex_state->script_filtered = SCNG(script_filtered);
245
389k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
246
389k
  lex_state->input_filter = SCNG(input_filter);
247
389k
  lex_state->output_filter = SCNG(output_filter);
248
389k
  lex_state->script_encoding = SCNG(script_encoding);
249
250
389k
  lex_state->on_event = SCNG(on_event);
251
389k
  lex_state->on_event_context = SCNG(on_event_context);
252
253
389k
  lex_state->ast = CG(ast);
254
389k
  lex_state->ast_arena = CG(ast_arena);
255
389k
}
256
257
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
258
383k
{
259
383k
  SCNG(yy_leng)   = lex_state->yy_leng;
260
383k
  SCNG(yy_start)  = lex_state->yy_start;
261
383k
  SCNG(yy_text)   = lex_state->yy_text;
262
383k
  SCNG(yy_cursor) = lex_state->yy_cursor;
263
383k
  SCNG(yy_marker) = lex_state->yy_marker;
264
383k
  SCNG(yy_limit)  = lex_state->yy_limit;
265
266
383k
  zend_stack_destroy(&SCNG(state_stack));
267
383k
  SCNG(state_stack) = lex_state->state_stack;
268
269
383k
  zend_stack_destroy(&SCNG(nest_location_stack));
270
383k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
271
272
383k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
273
383k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
274
383k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
275
276
383k
  SCNG(yy_in) = lex_state->in;
277
383k
  YYSETCONDITION(lex_state->yy_state);
278
383k
  CG(zend_lineno) = lex_state->lineno;
279
383k
  zend_restore_compiled_filename(lex_state->filename);
280
281
383k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
282
0
    efree(SCNG(script_filtered));
283
0
    SCNG(script_filtered) = NULL;
284
0
  }
285
383k
  SCNG(script_org) = lex_state->script_org;
286
383k
  SCNG(script_org_size) = lex_state->script_org_size;
287
383k
  SCNG(script_filtered) = lex_state->script_filtered;
288
383k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
289
383k
  SCNG(input_filter) = lex_state->input_filter;
290
383k
  SCNG(output_filter) = lex_state->output_filter;
291
383k
  SCNG(script_encoding) = lex_state->script_encoding;
292
293
383k
  SCNG(on_event) = lex_state->on_event;
294
383k
  SCNG(on_event_context) = lex_state->on_event_context;
295
296
383k
  CG(ast) = lex_state->ast;
297
383k
  CG(ast_arena) = lex_state->ast_arena;
298
299
383k
  RESET_DOC_COMMENT();
300
383k
}
301
302
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
303
17.4k
{
304
17.4k
  unsigned char *end = ident;
305
111k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
306
93.5k
    end++;
307
93.5k
  }
308
309
17.4k
  size_t length = end - ident;
310
17.4k
  if (length == 0) {
311
9
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
312
9
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
313
9
    return FAILURE;
314
9
  }
315
316
17.4k
  if (SCNG(on_event)) {
317
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
318
0
  }
319
320
17.4k
  ZVAL_STRINGL(zv, (char *) ident, length);
321
17.4k
  return SUCCESS;
322
17.4k
}
323
324
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
325
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
326
0
#define BOM_UTF16_BE  "\xfe\xff"
327
0
#define BOM_UTF16_LE  "\xff\xfe"
328
0
#define BOM_UTF8    "\xef\xbb\xbf"
329
330
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
331
0
{
332
0
  const unsigned char *p;
333
0
  int wchar_size = 2;
334
0
  int le = 0;
335
336
  /* utf-16 or utf-32? */
337
0
  p = script;
338
0
  assert(p >= script);
339
0
  while ((size_t)(p-script) < script_size) {
340
0
    p = memchr(p, 0, script_size-(p-script)-2);
341
0
    if (!p) {
342
0
      break;
343
0
    }
344
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
345
0
      wchar_size = 4;
346
0
      break;
347
0
    }
348
349
    /* searching for UTF-32 specific byte orders, so this will do */
350
0
    p += 4;
351
0
  }
352
353
  /* BE or LE? */
354
0
  p = script;
355
0
  assert(p >= script);
356
0
  while ((size_t)(p-script) < script_size) {
357
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
358
      /* BE */
359
0
      le = 0;
360
0
      break;
361
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
362
      /* LE* */
363
0
      le = 1;
364
0
      break;
365
0
    }
366
0
    p += wchar_size;
367
0
  }
368
369
0
  if (wchar_size == 2) {
370
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
371
0
  } else {
372
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
373
0
  }
374
375
0
  return NULL;
376
0
}
377
378
static const zend_encoding* zend_multibyte_detect_unicode(void)
379
0
{
380
0
  const zend_encoding *script_encoding = NULL;
381
0
  int bom_size;
382
0
  unsigned char *pos1, *pos2;
383
384
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
385
0
    return NULL;
386
0
  }
387
388
  /* check out BOM */
389
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
390
0
    script_encoding = zend_multibyte_encoding_utf32be;
391
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
392
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
393
0
    script_encoding = zend_multibyte_encoding_utf32le;
394
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
395
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
396
0
    script_encoding = zend_multibyte_encoding_utf16be;
397
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
398
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
399
0
    script_encoding = zend_multibyte_encoding_utf16le;
400
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
401
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
402
0
    script_encoding = zend_multibyte_encoding_utf8;
403
0
    bom_size = sizeof(BOM_UTF8)-1;
404
0
  }
405
406
0
  if (script_encoding) {
407
    /* remove BOM */
408
0
    LANG_SCNG(script_org) += bom_size;
409
0
    LANG_SCNG(script_org_size) -= bom_size;
410
411
0
    return script_encoding;
412
0
  }
413
414
  /* script contains NULL bytes -> auto-detection */
415
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
416
    /* check if the NULL byte is after the __HALT_COMPILER(); */
417
0
    pos2 = LANG_SCNG(script_org);
418
419
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
420
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
421
0
      if (!pos2) break;
422
0
      pos2++;
423
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
424
0
        pos2 += sizeof("_HALT_COMPILER")-1;
425
0
        while (*pos2 == ' '  ||
426
0
             *pos2 == '\t' ||
427
0
             *pos2 == '\r' ||
428
0
             *pos2 == '\n') {
429
0
          pos2++;
430
0
        }
431
0
        if (*pos2 == '(') {
432
0
          pos2++;
433
0
          while (*pos2 == ' '  ||
434
0
               *pos2 == '\t' ||
435
0
               *pos2 == '\r' ||
436
0
               *pos2 == '\n') {
437
0
            pos2++;
438
0
          }
439
0
          if (*pos2 == ')') {
440
0
            pos2++;
441
0
            while (*pos2 == ' '  ||
442
0
                 *pos2 == '\t' ||
443
0
                 *pos2 == '\r' ||
444
0
                 *pos2 == '\n') {
445
0
              pos2++;
446
0
            }
447
0
            if (*pos2 == ';') {
448
0
              return NULL;
449
0
            }
450
0
          }
451
0
        }
452
0
      }
453
0
    }
454
    /* make best effort if BOM is missing */
455
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
456
0
  }
457
458
0
  return NULL;
459
0
}
460
461
static const zend_encoding* zend_multibyte_find_script_encoding(void)
462
0
{
463
0
  const zend_encoding *script_encoding;
464
465
0
  if (CG(detect_unicode)) {
466
    /* check out bom(byte order mark) and see if containing wchars */
467
0
    script_encoding = zend_multibyte_detect_unicode();
468
0
    if (script_encoding != NULL) {
469
      /* bom or wchar detection is prior to 'script_encoding' option */
470
0
      return script_encoding;
471
0
    }
472
0
  }
473
474
  /* if no script_encoding specified, just leave alone */
475
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
476
0
    return NULL;
477
0
  }
478
479
  /* if multiple encodings specified, detect automagically */
480
0
  if (CG(script_encoding_list_size) > 1) {
481
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
482
0
  }
483
484
0
  return CG(script_encoding_list)[0];
485
0
}
486
487
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
488
0
{
489
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
490
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
491
492
0
  if (!script_encoding) {
493
0
    return FAILURE;
494
0
  }
495
496
  /* judge input/output filter */
497
0
  LANG_SCNG(script_encoding) = script_encoding;
498
0
  LANG_SCNG(input_filter) = NULL;
499
0
  LANG_SCNG(output_filter) = NULL;
500
501
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
502
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
503
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
504
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
505
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
506
0
    } else {
507
0
      LANG_SCNG(input_filter) = NULL;
508
0
      LANG_SCNG(output_filter) = NULL;
509
0
    }
510
0
    return SUCCESS;
511
0
  }
512
513
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
514
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
515
0
    LANG_SCNG(output_filter) = NULL;
516
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
517
0
    LANG_SCNG(input_filter) = NULL;
518
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
519
0
  } else {
520
    /* both script and internal encodings are incompatible w/ flex */
521
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
522
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
523
0
  }
524
525
0
  return SUCCESS;
526
0
}
527
528
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
529
143k
{
530
143k
  char *buf;
531
143k
  size_t size;
532
143k
  zend_string *compiled_filename;
533
534
143k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
535
    /* Still add it to open_files to make destroy_file_handle work */
536
92
    zend_llist_add_element(&CG(open_files), file_handle);
537
92
    file_handle->in_list = 1;
538
92
    return FAILURE;
539
92
  }
540
541
143k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
542
143k
  zend_llist_add_element(&CG(open_files), file_handle);
543
143k
  file_handle->in_list = 1;
544
545
  /* Reset the scanner for scanning the new file */
546
143k
  SCNG(yy_in) = file_handle;
547
143k
  SCNG(yy_start) = NULL;
548
549
143k
  if (size != (size_t)-1) {
550
143k
    if (CG(multibyte)) {
551
0
      SCNG(script_org) = (unsigned char*)buf;
552
0
      SCNG(script_org_size) = size;
553
0
      SCNG(script_filtered) = NULL;
554
555
0
      zend_multibyte_set_filter(NULL);
556
557
0
      if (SCNG(input_filter)) {
558
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
559
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
560
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
561
0
        }
562
0
        buf = (char*)SCNG(script_filtered);
563
0
        size = SCNG(script_filtered_size);
564
0
      }
565
0
    }
566
143k
    SCNG(yy_start) = (unsigned char *)buf;
567
143k
    yy_scan_buffer(buf, size);
568
143k
  } else {
569
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
570
0
  }
571
572
143k
  if (CG(skip_shebang)) {
573
0
    BEGIN(SHEBANG);
574
143k
  } else {
575
143k
    BEGIN(INITIAL);
576
143k
  }
577
578
143k
  if (file_handle->opened_path) {
579
33
    compiled_filename = zend_string_copy(file_handle->opened_path);
580
143k
  } else {
581
143k
    compiled_filename = zend_string_copy(file_handle->filename);
582
143k
  }
583
584
143k
  zend_set_compiled_filename(compiled_filename);
585
143k
  zend_string_release_ex(compiled_filename, 0);
586
587
143k
  RESET_DOC_COMMENT();
588
143k
  CG(zend_lineno) = 1;
589
143k
  CG(increment_lineno) = 0;
590
143k
  return SUCCESS;
591
143k
}
592
593
static zend_op_array *zend_compile(int type)
594
147k
{
595
147k
  zend_op_array *op_array = NULL;
596
147k
  bool original_in_compilation = CG(in_compilation);
597
598
147k
  CG(in_compilation) = 1;
599
147k
  CG(ast) = NULL;
600
147k
  CG(ast_arena) = zend_arena_create(1024 * 32);
601
602
147k
  if (!zendparse()) {
603
102k
    int last_lineno = CG(zend_lineno);
604
102k
    zend_file_context original_file_context;
605
102k
    zend_oparray_context original_oparray_context;
606
102k
    zend_op_array *original_active_op_array = CG(active_op_array);
607
608
102k
    op_array = emalloc(sizeof(zend_op_array));
609
102k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
610
102k
    CG(active_op_array) = op_array;
611
612
    /* Use heap to not waste arena memory */
613
102k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
614
615
102k
    if (zend_ast_process) {
616
0
      zend_ast_process(CG(ast));
617
0
    }
618
619
102k
    zend_file_context_begin(&original_file_context);
620
102k
    zend_oparray_context_begin(&original_oparray_context, op_array);
621
102k
    zend_compile_top_stmt(CG(ast));
622
102k
    CG(zend_lineno) = last_lineno;
623
102k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
624
102k
    op_array->line_start = 1;
625
102k
    op_array->line_end = last_lineno;
626
102k
    pass_two(op_array);
627
102k
    zend_oparray_context_end(&original_oparray_context);
628
102k
    zend_file_context_end(&original_file_context);
629
630
102k
    CG(active_op_array) = original_active_op_array;
631
102k
  }
632
633
147k
  zend_ast_destroy(CG(ast));
634
147k
  zend_arena_destroy(CG(ast_arena));
635
636
147k
  CG(in_compilation) = original_in_compilation;
637
638
147k
  return op_array;
639
147k
}
640
641
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
642
143k
{
643
143k
  zend_lex_state original_lex_state;
644
143k
  zend_op_array *op_array = NULL;
645
143k
  zend_save_lexical_state(&original_lex_state);
646
647
143k
  if (open_file_for_scanning(file_handle)==FAILURE) {
648
92
    if (!EG(exception)) {
649
65
      if (type==ZEND_REQUIRE) {
650
18
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
651
47
      } else {
652
47
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
653
47
      }
654
65
    }
655
143k
  } else {
656
143k
    op_array = zend_compile(ZEND_USER_FUNCTION);
657
143k
  }
658
659
143k
  zend_restore_lexical_state(&original_lex_state);
660
143k
  return op_array;
661
143k
}
662
663
ZEND_API zend_ast *zend_compile_string_to_ast(
664
25
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
665
25
  zval code_zv;
666
25
  bool original_in_compilation;
667
25
  zend_lex_state original_lex_state;
668
25
  zend_ast *ast;
669
670
25
  ZVAL_STR_COPY(&code_zv, code);
671
672
25
  original_in_compilation = CG(in_compilation);
673
25
  CG(in_compilation) = 1;
674
675
25
  zend_save_lexical_state(&original_lex_state);
676
25
  zend_prepare_string_for_scanning(&code_zv, filename);
677
25
  CG(ast) = NULL;
678
25
  CG(ast_arena) = zend_arena_create(1024 * 32);
679
25
  LANG_SCNG(yy_state) = yycINITIAL;
680
681
25
  if (zendparse() != 0) {
682
0
    zend_ast_destroy(CG(ast));
683
0
    zend_arena_destroy(CG(ast_arena));
684
0
    CG(ast) = NULL;
685
0
  }
686
687
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
688
25
  ast = CG(ast);
689
25
  *ast_arena = CG(ast_arena);
690
691
25
  zend_restore_lexical_state(&original_lex_state);
692
25
  CG(in_compilation) = original_in_compilation;
693
694
25
  zval_ptr_dtor_str(&code_zv);
695
696
25
  return ast;
697
25
}
698
699
zend_op_array *compile_filename(int type, zend_string *filename)
700
103k
{
701
103k
  zend_file_handle file_handle;
702
103k
  zend_op_array *retval;
703
103k
  zend_string *opened_path = NULL;
704
705
103k
  zend_stream_init_filename_ex(&file_handle, filename);
706
707
103k
  retval = zend_compile_file(&file_handle, type);
708
103k
  if (retval && file_handle.handle.stream.handle) {
709
35
    if (!file_handle.opened_path) {
710
2
      file_handle.opened_path = opened_path = zend_string_copy(filename);
711
2
    }
712
713
35
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
714
715
35
    if (opened_path) {
716
2
      zend_string_release_ex(opened_path, 0);
717
2
    }
718
35
  }
719
103k
  zend_destroy_file_handle(&file_handle);
720
721
103k
  return retval;
722
103k
}
723
724
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
725
28.4k
{
726
28.4k
  char *buf;
727
28.4k
  size_t size, old_len;
728
729
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
730
28.4k
  old_len = Z_STRLEN_P(str);
731
28.4k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
732
28.4k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
733
28.4k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
734
735
28.4k
  SCNG(yy_in) = NULL;
736
28.4k
  SCNG(yy_start) = NULL;
737
738
28.4k
  buf = Z_STRVAL_P(str);
739
28.4k
  size = old_len;
740
741
28.4k
  if (CG(multibyte)) {
742
0
    SCNG(script_org) = (unsigned char*)buf;
743
0
    SCNG(script_org_size) = size;
744
0
    SCNG(script_filtered) = NULL;
745
746
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
747
748
0
    if (SCNG(input_filter)) {
749
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
750
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
751
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
752
0
      }
753
0
      buf = (char*)SCNG(script_filtered);
754
0
      size = SCNG(script_filtered_size);
755
0
    }
756
0
  }
757
758
28.4k
  yy_scan_buffer(buf, size);
759
28.4k
  zend_set_compiled_filename(filename);
760
28.4k
  CG(zend_lineno) = 1;
761
28.4k
  CG(increment_lineno) = 0;
762
28.4k
  RESET_DOC_COMMENT();
763
28.4k
}
764
765
766
ZEND_API size_t zend_get_scanned_file_offset(void)
767
69
{
768
69
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
769
69
  if (SCNG(input_filter)) {
770
0
    size_t original_offset = offset, length = 0;
771
0
    do {
772
0
      unsigned char *p = NULL;
773
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
774
0
        return (size_t)-1;
775
0
      }
776
0
      efree(p);
777
0
      if (length > original_offset) {
778
0
        offset--;
779
0
      } else if (length < original_offset) {
780
0
        offset++;
781
0
      }
782
0
    } while (original_offset != length);
783
0
  }
784
69
  return offset;
785
69
}
786
787
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
788
4.22k
{
789
4.22k
  zend_lex_state original_lex_state;
790
4.22k
  zend_op_array *op_array = NULL;
791
4.22k
  zval tmp;
792
4.22k
  zend_string *filename_str;
793
794
4.22k
  if (ZSTR_LEN(source_string) == 0) {
795
68
    return NULL;
796
68
  }
797
798
4.15k
  ZVAL_STR_COPY(&tmp, source_string);
799
800
4.15k
  zend_save_lexical_state(&original_lex_state);
801
4.15k
  filename_str = zend_string_init(filename, strlen(filename), 0);
802
4.15k
  zend_prepare_string_for_scanning(&tmp, filename_str);
803
4.15k
  zend_string_release(filename_str);
804
805
4.15k
  switch (position) {
806
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
807
0
      BEGIN(SHEBANG);
808
0
      break;
809
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
810
0
      BEGIN(INITIAL);
811
0
      break;
812
4.15k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
813
4.15k
      BEGIN(ST_IN_SCRIPTING);
814
4.15k
      break;
815
4.15k
  }
816
817
4.15k
  op_array = zend_compile(ZEND_EVAL_CODE);
818
819
4.15k
  zend_restore_lexical_state(&original_lex_state);
820
4.15k
  zval_ptr_dtor(&tmp);
821
822
4.15k
  return op_array;
823
4.15k
}
824
825
826
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
827
0
{
828
0
  zend_lex_state original_lex_state;
829
0
  zend_file_handle file_handle;
830
831
0
  zend_stream_init_filename(&file_handle, filename);
832
0
  zend_save_lexical_state(&original_lex_state);
833
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
834
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
835
0
    zend_destroy_file_handle(&file_handle);
836
0
    zend_restore_lexical_state(&original_lex_state);
837
0
    return FAILURE;
838
0
  }
839
0
  zend_highlight(syntax_highlighter_ini);
840
0
  if (SCNG(script_filtered)) {
841
0
    efree(SCNG(script_filtered));
842
0
    SCNG(script_filtered) = NULL;
843
0
  }
844
0
  zend_destroy_file_handle(&file_handle);
845
0
  zend_restore_lexical_state(&original_lex_state);
846
0
  return SUCCESS;
847
0
}
848
849
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
850
24.2k
{
851
24.2k
  zend_lex_state original_lex_state;
852
24.2k
  zval str_zv;
853
24.2k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
854
24.2k
  ZVAL_STR_COPY(&str_zv, str);
855
24.2k
  zend_save_lexical_state(&original_lex_state);
856
24.2k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
857
24.2k
  zend_string_release(filename_str);
858
24.2k
  BEGIN(INITIAL);
859
24.2k
  zend_highlight(syntax_highlighter_ini);
860
24.2k
  if (SCNG(script_filtered)) {
861
0
    efree(SCNG(script_filtered));
862
0
    SCNG(script_filtered) = NULL;
863
0
  }
864
24.2k
  zend_restore_lexical_state(&original_lex_state);
865
24.2k
  zval_ptr_dtor(&str_zv);
866
24.2k
}
867
868
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
869
0
{
870
0
  size_t length;
871
0
  unsigned char *new_yy_start;
872
873
  /* convert and set */
874
0
  if (!SCNG(input_filter)) {
875
0
    if (SCNG(script_filtered)) {
876
0
      efree(SCNG(script_filtered));
877
0
      SCNG(script_filtered) = NULL;
878
0
    }
879
0
    SCNG(script_filtered_size) = 0;
880
0
    length = SCNG(script_org_size);
881
0
    new_yy_start = SCNG(script_org);
882
0
  } else {
883
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
884
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
885
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
886
0
    }
887
0
    if (SCNG(script_filtered)) {
888
0
      efree(SCNG(script_filtered));
889
0
    }
890
0
    SCNG(script_filtered) = new_yy_start;
891
0
    SCNG(script_filtered_size) = length;
892
0
  }
893
894
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
895
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
896
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
897
0
  SCNG(yy_limit) = new_yy_start + length;
898
899
0
  SCNG(yy_start) = new_yy_start;
900
0
}
901
902
903
// TODO: avoid reallocation ???
904
# define zend_copy_value(zendlval, yytext, yyleng) \
905
9.65M
  if (SCNG(output_filter)) { \
906
0
    size_t sz = 0; \
907
0
    char *s = NULL; \
908
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
909
0
    ZVAL_STRINGL(zendlval, s, sz); \
910
0
    efree(s); \
911
9.65M
  } else if (yyleng == 1) { \
912
3.10M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
913
6.55M
  } else { \
914
6.55M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
915
6.55M
  }
916
917
static zend_result zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type)
918
1.20M
{
919
1.20M
  char *s, *t;
920
1.20M
  char *end;
921
922
1.20M
  if (len <= 1) {
923
242k
    if (len < 1) {
924
30.1k
      ZVAL_EMPTY_STRING(zendlval);
925
212k
    } else {
926
212k
      zend_uchar c = (zend_uchar)*str;
927
212k
      HANDLE_NEWLINE(c);
928
212k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
929
212k
    }
930
242k
    goto skip_escape_conversion;
931
242k
  }
932
933
959k
  ZVAL_STRINGL(zendlval, str, len);
934
935
  /* convert escape sequences */
936
959k
  s = Z_STRVAL_P(zendlval);
937
959k
  end = s+Z_STRLEN_P(zendlval);
938
25.7M
  while (1) {
939
25.7M
    if (UNEXPECTED(*s=='\\')) {
940
209k
      break;
941
209k
    }
942
25.5M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
943
898k
      CG(zend_lineno)++;
944
898k
    }
945
25.5M
    s++;
946
25.5M
    if (s == end) {
947
750k
      goto skip_escape_conversion;
948
750k
    }
949
25.5M
  }
950
951
209k
  t = s;
952
7.54M
  while (s<end) {
953
7.34M
    if (*s=='\\') {
954
479k
      s++;
955
479k
      if (s >= end) {
956
1.93k
        *t++ = '\\';
957
1.93k
        break;
958
1.93k
      }
959
960
477k
      switch(*s) {
961
108k
        case 'n':
962
108k
          *t++ = '\n';
963
108k
          break;
964
2.94k
        case 'r':
965
2.94k
          *t++ = '\r';
966
2.94k
          break;
967
4.19k
        case 't':
968
4.19k
          *t++ = '\t';
969
4.19k
          break;
970
4.74k
        case 'f':
971
4.74k
          *t++ = '\f';
972
4.74k
          break;
973
4.19k
        case 'v':
974
4.19k
          *t++ = '\v';
975
4.19k
          break;
976
964
        case 'e':
977
#ifdef ZEND_WIN32
978
          *t++ = VK_ESCAPE;
979
#else
980
964
          *t++ = '\e';
981
964
#endif
982
964
          break;
983
3.08k
        case '"':
984
5.58k
        case '`':
985
5.58k
          if (*s != quote_type) {
986
2.16k
            *t++ = '\\';
987
2.16k
            *t++ = *s;
988
2.16k
            break;
989
2.16k
          }
990
3.41k
          ZEND_FALLTHROUGH;
991
115k
        case '\\':
992
117k
        case '$':
993
117k
          *t++ = *s;
994
117k
          break;
995
11.1k
        case 'x':
996
16.2k
        case 'X':
997
16.2k
          if (ZEND_IS_HEX(*(s+1))) {
998
8.76k
            char hex_buf[3] = { 0, 0, 0 };
999
1000
8.76k
            hex_buf[0] = *(++s);
1001
8.76k
            if (ZEND_IS_HEX(*(s+1))) {
1002
5.54k
              hex_buf[1] = *(++s);
1003
5.54k
            }
1004
8.76k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1005
8.76k
          } else {
1006
7.52k
            *t++ = '\\';
1007
7.52k
            *t++ = *s;
1008
7.52k
          }
1009
16.2k
          break;
1010
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1011
4.22k
        case 'u':
1012
4.22k
          {
1013
            /* cache where we started so we can parse after validating */
1014
4.22k
            char *start = s + 1;
1015
4.22k
            size_t len = 0;
1016
4.22k
            bool valid = 1;
1017
4.22k
            unsigned long codepoint;
1018
1019
4.22k
            if (*start != '{') {
1020
              /* we silently let this pass to avoid breaking code
1021
               * with JSON in string literals (e.g. "\"\u202e\""
1022
               */
1023
1.58k
              *t++ = '\\';
1024
1.58k
              *t++ = 'u';
1025
1.58k
              break;
1026
2.64k
            } else {
1027
              /* on the other hand, invalid \u{blah} errors */
1028
2.64k
              s++;
1029
2.64k
              len++;
1030
2.64k
              s++;
1031
13.7k
              while (*s != '}') {
1032
12.1k
                if (!ZEND_IS_HEX(*s)) {
1033
982
                  valid = 0;
1034
982
                  break;
1035
11.1k
                } else {
1036
11.1k
                  len++;
1037
11.1k
                }
1038
11.1k
                s++;
1039
11.1k
              }
1040
2.64k
              if (*s == '}') {
1041
1.65k
                valid = 1;
1042
1.65k
                len++;
1043
1.65k
              }
1044
2.64k
            }
1045
1046
            /* \u{} is invalid */
1047
2.64k
            if (len <= 2) {
1048
783
              valid = 0;
1049
783
            }
1050
1051
2.64k
            if (!valid) {
1052
1.06k
              zend_throw_exception(zend_ce_parse_error,
1053
1.06k
                "Invalid UTF-8 codepoint escape sequence", 0);
1054
1.06k
              zval_ptr_dtor(zendlval);
1055
1.06k
              ZVAL_UNDEF(zendlval);
1056
1.06k
              return FAILURE;
1057
1.06k
            }
1058
1059
1.57k
            errno = 0;
1060
1.57k
            codepoint = strtoul(start + 1, NULL, 16);
1061
1062
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1063
1.57k
            if (codepoint > 0x10FFFF || errno) {
1064
264
              zend_throw_exception(zend_ce_parse_error,
1065
264
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1066
264
              zval_ptr_dtor(zendlval);
1067
264
              ZVAL_UNDEF(zendlval);
1068
264
              return FAILURE;
1069
264
            }
1070
1071
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1072
1.30k
            if (codepoint < 0x80) {
1073
384
              *t++ = codepoint;
1074
924
            } else if (codepoint <= 0x7FF) {
1075
321
              *t++ = (codepoint >> 6) + 0xC0;
1076
321
              *t++ = (codepoint & 0x3F) + 0x80;
1077
603
            } else if (codepoint <= 0xFFFF) {
1078
399
              *t++ = (codepoint >> 12) + 0xE0;
1079
399
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1080
399
              *t++ = (codepoint & 0x3F) + 0x80;
1081
399
            } else if (codepoint <= 0x10FFFF) {
1082
204
              *t++ = (codepoint >> 18) + 0xF0;
1083
204
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1084
204
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1085
204
              *t++ = (codepoint & 0x3F) + 0x80;
1086
204
            }
1087
1.30k
          }
1088
0
          break;
1089
211k
        default:
1090
          /* check for an octal */
1091
211k
          if (ZEND_IS_OCT(*s)) {
1092
32.4k
            char octal_buf[4] = { 0, 0, 0, 0 };
1093
1094
32.4k
            octal_buf[0] = *s;
1095
32.4k
            if (ZEND_IS_OCT(*(s+1))) {
1096
7.72k
              octal_buf[1] = *(++s);
1097
7.72k
              if (ZEND_IS_OCT(*(s+1))) {
1098
3.89k
                octal_buf[2] = *(++s);
1099
3.89k
              }
1100
7.72k
            }
1101
32.4k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1102
              /* 3 octit values must not overflow 0xFF (\377) */
1103
481
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1104
481
            }
1105
1106
32.4k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1107
178k
          } else {
1108
178k
            *t++ = '\\';
1109
178k
            *t++ = *s;
1110
178k
          }
1111
211k
          break;
1112
477k
      }
1113
6.86M
    } else {
1114
6.86M
      *t++ = *s;
1115
6.86M
    }
1116
1117
7.33M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1118
237k
      CG(zend_lineno)++;
1119
237k
    }
1120
7.33M
    s++;
1121
7.33M
  }
1122
207k
  *t = 0;
1123
207k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1124
1125
1.20M
skip_escape_conversion:
1126
1.20M
  if (SCNG(output_filter)) {
1127
0
    size_t sz = 0;
1128
0
    unsigned char *str;
1129
    // TODO: avoid realocation ???
1130
0
    s = Z_STRVAL_P(zendlval);
1131
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1132
0
    zval_ptr_dtor(zendlval);
1133
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1134
0
    efree(str);
1135
0
  }
1136
1.20M
  return SUCCESS;
1137
207k
}
1138
1139
4.21M
#define HEREDOC_USING_SPACES 1
1140
121k
#define HEREDOC_USING_TABS 2
1141
1142
461k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1143
5.66M
  for (; str < end; str++) {
1144
5.48M
    if (*str == '\r') {
1145
31.2k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1146
31.2k
      return str;
1147
5.45M
    } else if (*str == '\n') {
1148
247k
      *newline_len = 1;
1149
247k
      return str;
1150
247k
    }
1151
5.48M
  }
1152
182k
  *newline_len = 0;
1153
182k
  return NULL;
1154
461k
}
1155
1156
static bool strip_multiline_string_indentation(
1157
  zval *zendlval, int indentation, bool using_spaces,
1158
  bool newline_at_start, bool newline_at_end)
1159
178k
{
1160
178k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1161
178k
  char *copy = Z_STRVAL_P(zendlval);
1162
1163
178k
  int newline_count = 0;
1164
178k
  size_t newline_len;
1165
178k
  const char *nl;
1166
1167
178k
  if (!newline_at_start) {
1168
106k
    nl = next_newline(str, end, &newline_len);
1169
106k
    if (!nl) {
1170
56.0k
      return 1;
1171
56.0k
    }
1172
1173
50.2k
    str = nl + newline_len;
1174
50.2k
    copy = (char *) nl + newline_len;
1175
50.2k
    newline_count++;
1176
71.7k
  } else {
1177
71.7k
    nl = str;
1178
71.7k
  }
1179
1180
  /* <= intentional */
1181
424k
  while (str <= end && nl) {
1182
354k
    size_t skip;
1183
354k
    nl = next_newline(str, end, &newline_len);
1184
354k
    if (!nl && newline_at_end) {
1185
9.75k
      nl = end;
1186
9.75k
    }
1187
1188
    /* Try to skip indentation */
1189
358k
    for (skip = 0; skip < indentation; skip++, str++) {
1190
4.26k
      if (str == nl) {
1191
        /* Don't require full indentation on whitespace-only lines */
1192
715
        break;
1193
715
      }
1194
1195
3.54k
      if (str == end || (*str != ' ' && *str != '\t')) {
1196
64
        CG(zend_lineno) += newline_count;
1197
64
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1198
64
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1199
64
        goto error;
1200
64
      }
1201
1202
3.48k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1203
28
        CG(zend_lineno) += newline_count;
1204
28
        zend_throw_exception(zend_ce_parse_error,
1205
28
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1206
28
        goto error;
1207
28
      }
1208
3.48k
    }
1209
1210
354k
    if (str == end) {
1211
52.3k
      break;
1212
52.3k
    }
1213
1214
302k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1215
302k
    memmove(copy, str, len);
1216
302k
    str += len;
1217
302k
    copy += len;
1218
302k
    newline_count++;
1219
302k
  }
1220
1221
121k
  *copy = '\0';
1222
121k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1223
121k
  return 1;
1224
1225
92
error:
1226
92
  zval_ptr_dtor_str(zendlval);
1227
92
  ZVAL_UNDEF(zendlval);
1228
1229
92
  return 0;
1230
121k
}
1231
1232
static void copy_heredoc_label_stack(void *void_heredoc_label)
1233
3.15M
{
1234
3.15M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1235
3.15M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1236
1237
3.15M
  *new_heredoc_label = *heredoc_label;
1238
3.15M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1239
1240
3.15M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1241
3.15M
}
1242
1243
/* Check that { }, [ ], ( ) are nested correctly */
1244
static void report_bad_nesting(char opening, int opening_lineno, char closing)
1245
310k
{
1246
310k
  char   buf[256];
1247
310k
  size_t used = 0;
1248
1249
310k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1250
1251
310k
  if (opening_lineno != CG(zend_lineno)) {
1252
175k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1253
175k
  }
1254
1255
310k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1256
130k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1257
130k
  }
1258
1259
310k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1260
310k
}
1261
1262
static void enter_nesting(char opening)
1263
7.84M
{
1264
7.84M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1265
7.84M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1266
7.84M
}
1267
1268
static zend_result exit_nesting(char closing)
1269
1.92M
{
1270
1.92M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1271
31.6k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1272
31.6k
    return FAILURE;
1273
31.6k
  }
1274
1275
1.89M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1276
1.89M
  char opening = nest_loc->text;
1277
1278
1.89M
  if ((opening == '{' && closing != '}') ||
1279
1.89M
      (opening == '[' && closing != ']') ||
1280
1.89M
      (opening == '(' && closing != ')')) {
1281
130k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1282
130k
    return FAILURE;
1283
130k
  }
1284
1285
1.76M
  zend_stack_del_top(&SCNG(nest_location_stack));
1286
1.76M
  return SUCCESS;
1287
1.89M
}
1288
1289
static zend_result check_nesting_at_end(void)
1290
299k
{
1291
299k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1292
179k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1293
179k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1294
179k
    return FAILURE;
1295
179k
  }
1296
1297
119k
  return SUCCESS;
1298
299k
}
1299
1300
#define PARSER_MODE() \
1301
28.7M
  EXPECTED(elem != NULL)
1302
1303
34.1M
#define RETURN_TOKEN(_token) do { \
1304
34.1M
    token = _token; \
1305
34.1M
    goto emit_token; \
1306
34.1M
  } while (0)
1307
1308
5.98M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1309
5.98M
    token = _token; \
1310
5.98M
    goto emit_token_with_val; \
1311
5.98M
  } while (0)
1312
1313
9.65M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1314
9.65M
    token = _token; \
1315
9.65M
    offset = _offset; \
1316
9.65M
    goto emit_token_with_str; \
1317
9.65M
  } while (0)
1318
1319
1.82M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1320
1.82M
    token = _token; \
1321
1.82M
    goto emit_token_with_ident; \
1322
1.82M
  } while (0)
1323
1324
1.56M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1325
1.56M
    token = _token; \
1326
1.56M
    if (PARSER_MODE()) { \
1327
324k
      goto skip_token; \
1328
324k
    } \
1329
1.56M
    goto emit_token; \
1330
1.56M
  } while (0)
1331
1332
1.92M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1333
1.92M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1334
408
      RETURN_TOKEN(T_ERROR); \
1335
1.92M
    } else { \
1336
1.92M
      RETURN_TOKEN(_token); \
1337
1.92M
    } \
1338
1.92M
  } while(0)
1339
1340
299k
#define RETURN_END_TOKEN do { \
1341
299k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1342
5.43k
      RETURN_TOKEN(T_ERROR); \
1343
294k
    } else { \
1344
294k
      RETURN_TOKEN(END); \
1345
294k
    } \
1346
299k
  } while (0)
1347
1348
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1349
58.4M
{
1350
58.4M
int token;
1351
58.4M
int offset;
1352
58.4M
int start_line = CG(zend_lineno);
1353
1354
58.4M
  ZVAL_UNDEF(zendlval);
1355
66.3M
restart:
1356
66.3M
  SCNG(yy_text) = YYCURSOR;
1357
1358
1359
66.3M
#line 1360 "Zend/zend_language_scanner.c"
1360
66.3M
{
1361
66.3M
  YYCTYPE yych;
1362
66.3M
  unsigned int yyaccept = 0;
1363
66.3M
  if (YYGETCONDITION() < 5) {
1364
61.0M
    if (YYGETCONDITION() < 2) {
1365
51.5M
      if (YYGETCONDITION() < 1) {
1366
50.9M
        goto yyc_ST_IN_SCRIPTING;
1367
50.9M
      } else {
1368
604k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1369
604k
      }
1370
51.5M
    } else {
1371
9.52M
      if (YYGETCONDITION() < 3) {
1372
367k
        goto yyc_ST_BACKQUOTE;
1373
9.16M
      } else {
1374
9.16M
        if (YYGETCONDITION() < 4) {
1375
1.02M
          goto yyc_ST_DOUBLE_QUOTES;
1376
8.13M
        } else {
1377
8.13M
          goto yyc_ST_HEREDOC;
1378
8.13M
        }
1379
9.16M
      }
1380
9.52M
    }
1381
61.0M
  } else {
1382
5.32M
    if (YYGETCONDITION() < 8) {
1383
4.77M
      if (YYGETCONDITION() < 6) {
1384
4.35M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1385
4.35M
      } else {
1386
417k
        if (YYGETCONDITION() < 7) {
1387
417k
          goto yyc_ST_VAR_OFFSET;
1388
417k
        } else {
1389
0
          goto yyc_SHEBANG;
1390
0
        }
1391
417k
      }
1392
4.77M
    } else {
1393
545k
      if (YYGETCONDITION() < 9) {
1394
482k
        goto yyc_INITIAL;
1395
482k
      } else {
1396
62.9k
        if (YYGETCONDITION() < 10) {
1397
42.3k
          goto yyc_ST_END_HEREDOC;
1398
42.3k
        } else {
1399
20.5k
          goto yyc_ST_NOWDOC;
1400
20.5k
        }
1401
62.9k
      }
1402
545k
    }
1403
5.32M
  }
1404
/* *********************************** */
1405
50.9M
yyc_ST_IN_SCRIPTING:
1406
50.9M
  {
1407
50.9M
    static const unsigned char yybm[] = {
1408
      /* table 1 .. 8: 0 */
1409
50.9M
        0, 134, 134, 134, 134, 134, 134, 134, 
1410
50.9M
      134, 135,   4, 134, 134,   4, 134, 134, 
1411
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1412
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1413
50.9M
      135, 134, 134, 134, 134, 134, 134, 134, 
1414
50.9M
      134, 134,  66, 134, 134, 134, 134, 134, 
1415
50.9M
      190, 190, 182, 182, 182, 182, 182, 182, 
1416
50.9M
      166, 166, 134, 134, 134, 134, 134, 134, 
1417
50.9M
      134, 166, 166, 166, 166, 166, 166, 134, 
1418
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1419
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1420
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1421
50.9M
      134, 166, 166, 166, 166, 166, 166, 134, 
1422
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1423
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1424
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1425
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1426
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1427
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1430
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1431
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1432
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1433
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1434
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1438
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
50.9M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
      /* table 9 .. 11: 256 */
1442
50.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1443
50.9M
        0,  32,  32,   0,   0,  32,   0,   0, 
1444
50.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1445
50.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1446
50.9M
       32,   0,   0,   0,   0,   0,   0,   0, 
1447
50.9M
        0,   0,   0,   0,   0,   0,   0,   0, 
1448
50.9M
      192, 192, 192, 192, 192, 192, 192, 192, 
1449
50.9M
      192, 192,   0,   0,   0,   0,   0,   0, 
1450
50.9M
        0, 128, 128, 128, 128, 128, 128, 128, 
1451
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1452
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1453
50.9M
      128, 128, 128,   0,   0,   0,   0, 128, 
1454
50.9M
        0, 128, 128, 128, 128, 128, 128, 128, 
1455
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1456
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1457
50.9M
      128, 128, 128,   0,   0,   0,   0,   0, 
1458
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1459
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1460
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1461
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1462
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1463
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1464
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1465
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1466
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1467
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1470
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1471
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
50.9M
      128, 128, 128, 128, 128, 128, 128, 128, 
1474
50.9M
    };
1475
50.9M
    YYDEBUG(1, *YYCURSOR);
1476
50.9M
    YYFILL(16);
1477
50.9M
    yych = *YYCURSOR;
1478
50.9M
    if (yybm[256+yych] & 32) {
1479
8.79M
      goto yy5;
1480
8.79M
    }
1481
42.1M
    switch (yych) {
1482
6.32M
    case 0x00:
1483
6.54M
    case 0x01:
1484
6.62M
    case 0x02:
1485
6.67M
    case 0x03:
1486
6.87M
    case 0x04:
1487
6.94M
    case 0x05:
1488
6.97M
    case 0x06:
1489
7.05M
    case 0x07:
1490
7.12M
    case 0x08:
1491
7.12M
    case '\t':
1492
7.12M
    case '\n':
1493
7.20M
    case '\v':
1494
7.26M
    case '\f':
1495
7.26M
    case '\r':
1496
7.31M
    case 0x0E:
1497
7.37M
    case 0x0F:
1498
7.43M
    case 0x10:
1499
7.48M
    case 0x11:
1500
7.50M
    case 0x12:
1501
7.57M
    case 0x13:
1502
7.60M
    case 0x14:
1503
7.61M
    case 0x15:
1504
7.66M
    case 0x16:
1505
7.71M
    case 0x17:
1506
7.73M
    case 0x18:
1507
7.75M
    case 0x19:
1508
7.77M
    case 0x1A:
1509
7.79M
    case 0x1B:
1510
8.22M
    case 0x1C:
1511
8.32M
    case 0x1D:
1512
8.36M
    case 0x1E:
1513
8.40M
    case 0x1F:
1514
8.43M
    case 0x7F:  goto yy3;
1515
0
    case ' ':
1516
236k
    case '!': goto yy8;
1517
530k
    case '"': goto yy10;
1518
1.00M
    case '#': goto yy12;
1519
2.43M
    case '$': goto yy14;
1520
129k
    case '%': goto yy15;
1521
312k
    case '&': goto yy16;
1522
692k
    case '\'':  goto yy18;
1523
1.57M
    case '(': goto yy20;
1524
1.02M
    case ')':
1525
1.38M
    case ']': goto yy22;
1526
182k
    case '*': goto yy24;
1527
182k
    case '+': goto yy25;
1528
1.01M
    case ',':
1529
2.45M
    case ';':
1530
3.28M
    case '@':
1531
3.37M
    case '~': goto yy26;
1532
457k
    case '-': goto yy27;
1533
578k
    case '.': goto yy28;
1534
504k
    case '/': goto yy29;
1535
327k
    case '0': goto yy30;
1536
270k
    case '1':
1537
454k
    case '2':
1538
590k
    case '3':
1539
745k
    case '4':
1540
843k
    case '5':
1541
902k
    case '6':
1542
946k
    case '7':
1543
1.02M
    case '8':
1544
1.07M
    case '9': goto yy32;
1545
273k
    case ':': goto yy34;
1546
5.97M
    case '<': goto yy35;
1547
872k
    case '=': goto yy36;
1548
90.9k
    case '>': goto yy37;
1549
734k
    case '?': goto yy38;
1550
129k
    case 'A':
1551
354k
    case 'a': goto yy39;
1552
75.5k
    case 'B':
1553
157k
    case 'b': goto yy41;
1554
102k
    case 'C':
1555
586k
    case 'c': goto yy42;
1556
117k
    case 'D':
1557
214k
    case 'd': goto yy43;
1558
152k
    case 'E':
1559
831k
    case 'e': goto yy44;
1560
91.3k
    case 'F':
1561
585k
    case 'f': goto yy45;
1562
15.9k
    case 'G':
1563
98.7k
    case 'g': goto yy46;
1564
91.2k
    case 'I':
1565
409k
    case 'i': goto yy49;
1566
23.3k
    case 'L':
1567
97.1k
    case 'l': goto yy50;
1568
18.7k
    case 'M':
1569
96.2k
    case 'm': goto yy51;
1570
52.4k
    case 'N':
1571
318k
    case 'n': goto yy52;
1572
63.4k
    case 'O':
1573
185k
    case 'o': goto yy53;
1574
111k
    case 'P':
1575
727k
    case 'p': goto yy54;
1576
35.7k
    case 'R':
1577
216k
    case 'r': goto yy55;
1578
36.1k
    case 'S':
1579
260k
    case 's': goto yy56;
1580
78.5k
    case 'T':
1581
341k
    case 't': goto yy57;
1582
11.0k
    case 'U':
1583
108k
    case 'u': goto yy58;
1584
18.8k
    case 'V':
1585
196k
    case 'v': goto yy59;
1586
14.9k
    case 'W':
1587
40.0k
    case 'w': goto yy60;
1588
36.7k
    case 'X':
1589
63.1k
    case 'x': goto yy61;
1590
13.3k
    case 'Y':
1591
187k
    case 'y': goto yy62;
1592
410k
    case '[': goto yy63;
1593
271k
    case '\\':  goto yy64;
1594
173k
    case '^': goto yy66;
1595
260k
    case '_': goto yy67;
1596
80.5k
    case '`': goto yy68;
1597
1.35M
    case '{': goto yy70;
1598
142k
    case '|': goto yy72;
1599
547k
    case '}': goto yy73;
1600
1.42M
    default:  goto yy47;
1601
42.1M
    }
1602
8.43M
yy3:
1603
8.43M
    YYDEBUG(3, *YYCURSOR);
1604
8.43M
    ++YYCURSOR;
1605
8.43M
    YYDEBUG(4, *YYCURSOR);
1606
8.43M
    yyleng = YYCURSOR - SCNG(yy_text);
1607
8.43M
#line 3122 "Zend/zend_language_scanner.l"
1608
8.43M
    {
1609
8.43M
  if (YYCURSOR > YYLIMIT) {
1610
169k
    RETURN_END_TOKEN;
1611
169k
  }
1612
1613
8.26M
  RETURN_TOKEN(T_BAD_CHARACTER);
1614
8.26M
}
1615
0
#line 1616 "Zend/zend_language_scanner.c"
1616
14.0M
yy5:
1617
14.0M
    YYDEBUG(5, *YYCURSOR);
1618
14.0M
    ++YYCURSOR;
1619
14.0M
    YYFILL(1);
1620
14.0M
    yych = *YYCURSOR;
1621
14.0M
    YYDEBUG(6, *YYCURSOR);
1622
14.0M
    if (yybm[256+yych] & 32) {
1623
5.26M
      goto yy5;
1624
5.26M
    }
1625
8.79M
    YYDEBUG(7, *YYCURSOR);
1626
8.79M
    yyleng = YYCURSOR - SCNG(yy_text);
1627
8.79M
#line 1581 "Zend/zend_language_scanner.l"
1628
8.79M
    {
1629
8.79M
  goto return_whitespace;
1630
14.0M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
236k
yy8:
1633
236k
    YYDEBUG(8, *YYCURSOR);
1634
236k
    yych = *++YYCURSOR;
1635
236k
    if (yych == '=') goto yy75;
1636
8.36M
yy9:
1637
8.36M
    YYDEBUG(9, *YYCURSOR);
1638
8.36M
    yyleng = YYCURSOR - SCNG(yy_text);
1639
8.36M
#line 1913 "Zend/zend_language_scanner.l"
1640
8.36M
    {
1641
8.36M
  RETURN_TOKEN(yytext[0]);
1642
8.36M
}
1643
0
#line 1644 "Zend/zend_language_scanner.c"
1644
532k
yy10:
1645
532k
    YYDEBUG(10, *YYCURSOR);
1646
532k
    ++YYCURSOR;
1647
532k
    YYDEBUG(11, *YYCURSOR);
1648
532k
    yyleng = YYCURSOR - SCNG(yy_text);
1649
532k
#line 2576 "Zend/zend_language_scanner.l"
1650
532k
    {
1651
532k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1652
1653
13.0M
  while (YYCURSOR < YYLIMIT) {
1654
13.0M
    switch (*YYCURSOR++) {
1655
368k
      case '"':
1656
368k
        yyleng = YYCURSOR - SCNG(yy_text);
1657
368k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1658
368k
         || !PARSER_MODE()) {
1659
368k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1660
368k
        } else {
1661
10
          RETURN_TOKEN(T_ERROR);
1662
10
        }
1663
192k
      case '$':
1664
192k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1665
144k
          break;
1666
144k
        }
1667
48.0k
        continue;
1668
52.9k
      case '{':
1669
52.9k
        if (*YYCURSOR == '$') {
1670
8.16k
          break;
1671
8.16k
        }
1672
44.7k
        continue;
1673
334k
      case '\\':
1674
334k
        if (YYCURSOR < YYLIMIT) {
1675
333k
          YYCURSOR++;
1676
333k
        }
1677
334k
        ZEND_FALLTHROUGH;
1678
12.4M
      default:
1679
12.4M
        continue;
1680
13.0M
    }
1681
1682
152k
    YYCURSOR--;
1683
152k
    break;
1684
13.0M
  }
1685
1686
  /* Remember how much was scanned to save rescanning */
1687
532k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1688
1689
164k
  YYCURSOR = SCNG(yy_text) + yyleng;
1690
1691
164k
  BEGIN(ST_DOUBLE_QUOTES);
1692
164k
  RETURN_TOKEN('"');
1693
164k
}
1694
0
#line 1695 "Zend/zend_language_scanner.c"
1695
1.00M
yy12:
1696
1.00M
    YYDEBUG(12, *YYCURSOR);
1697
1.00M
    yych = *++YYCURSOR;
1698
1.00M
    if (yych == '[') goto yy77;
1699
1.10M
yy13:
1700
1.10M
    YYDEBUG(13, *YYCURSOR);
1701
1.10M
    yyleng = YYCURSOR - SCNG(yy_text);
1702
1.10M
#line 2404 "Zend/zend_language_scanner.l"
1703
1.10M
    {
1704
11.1M
  while (YYCURSOR < YYLIMIT) {
1705
11.1M
    switch (*YYCURSOR++) {
1706
284k
      case '\r':
1707
1.08M
      case '\n':
1708
1.08M
        YYCURSOR--;
1709
1.08M
        break;
1710
50.3k
      case '?':
1711
50.3k
        if (*YYCURSOR == '>') {
1712
3.63k
          YYCURSOR--;
1713
3.63k
          break;
1714
3.63k
        }
1715
46.6k
        ZEND_FALLTHROUGH;
1716
10.0M
      default:
1717
10.0M
        continue;
1718
11.1M
    }
1719
1720
1.09M
    break;
1721
11.1M
  }
1722
1723
1.10M
  yyleng = YYCURSOR - SCNG(yy_text);
1724
1.10M
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1725
1.10M
}
1726
0
#line 1727 "Zend/zend_language_scanner.c"
1727
2.43M
yy14:
1728
2.43M
    YYDEBUG(14, *YYCURSOR);
1729
2.43M
    yych = *++YYCURSOR;
1730
2.43M
    if (yych <= '_') {
1731
394k
      if (yych <= '@') goto yy9;
1732
56.3k
      if (yych <= 'Z') goto yy79;
1733
10.4k
      if (yych <= '^') goto yy9;
1734
5.03k
      goto yy79;
1735
2.04M
    } else {
1736
2.04M
      if (yych <= '`') goto yy9;
1737
2.03M
      if (yych <= 'z') goto yy79;
1738
602k
      if (yych <= 0x7F) goto yy9;
1739
92.0k
      goto yy79;
1740
602k
    }
1741
129k
yy15:
1742
129k
    YYDEBUG(15, *YYCURSOR);
1743
129k
    yych = *++YYCURSOR;
1744
129k
    if (yych == '=') goto yy82;
1745
125k
    goto yy9;
1746
312k
yy16:
1747
312k
    YYDEBUG(16, *YYCURSOR);
1748
312k
    yyaccept = 0;
1749
312k
    yych = *(YYMARKER = ++YYCURSOR);
1750
312k
    if (yych <= '"') {
1751
84.4k
      if (yych <= '\f') {
1752
54.2k
        if (yych <= 0x08) goto yy17;
1753
50.9k
        if (yych <= '\n') goto yy85;
1754
50.9k
      } else {
1755
30.2k
        if (yych <= '\r') goto yy85;
1756
24.1k
        if (yych == ' ') goto yy85;
1757
24.1k
      }
1758
228k
    } else {
1759
228k
      if (yych <= '-') {
1760
75.4k
        if (yych <= '$') goto yy85;
1761
48.8k
        if (yych == '&') goto yy90;
1762
153k
      } else {
1763
153k
        if (yych <= '/') goto yy85;
1764
148k
        if (yych == '=') goto yy94;
1765
148k
      }
1766
228k
    }
1767
205k
yy17:
1768
205k
    YYDEBUG(17, *YYCURSOR);
1769
205k
    yyleng = YYCURSOR - SCNG(yy_text);
1770
205k
#line 1899 "Zend/zend_language_scanner.l"
1771
205k
    {
1772
205k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1773
205k
}
1774
0
#line 1775 "Zend/zend_language_scanner.c"
1775
702k
yy18:
1776
702k
    YYDEBUG(18, *YYCURSOR);
1777
702k
    ++YYCURSOR;
1778
702k
    YYDEBUG(19, *YYCURSOR);
1779
702k
    yyleng = YYCURSOR - SCNG(yy_text);
1780
702k
#line 2482 "Zend/zend_language_scanner.l"
1781
702k
    {
1782
702k
  char *s, *t;
1783
702k
  char *end;
1784
702k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1785
1786
77.5M
  while (1) {
1787
77.5M
    if (YYCURSOR < YYLIMIT) {
1788
77.5M
      if (*YYCURSOR == '\'') {
1789
685k
        YYCURSOR++;
1790
685k
        yyleng = YYCURSOR - SCNG(yy_text);
1791
1792
685k
        break;
1793
76.8M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1794
256k
        YYCURSOR++;
1795
256k
      }
1796
77.5M
    } else {
1797
16.4k
      yyleng = YYLIMIT - SCNG(yy_text);
1798
1799
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1800
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1801
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1802
16.4k
      ZVAL_NULL(zendlval);
1803
16.4k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1804
16.4k
    }
1805
77.5M
  }
1806
1807
685k
  if (yyleng-bprefix-2 <= 1) {
1808
92.8k
    if (yyleng-bprefix-2 < 1) {
1809
22.0k
      ZVAL_EMPTY_STRING(zendlval);
1810
70.8k
    } else {
1811
70.8k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1812
70.8k
      HANDLE_NEWLINE(c);
1813
70.8k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1814
70.8k
    }
1815
92.8k
    goto skip_escape_conversion;
1816
92.8k
  }
1817
593k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1818
1819
  /* convert escape sequences */
1820
593k
  s = Z_STRVAL_P(zendlval);
1821
593k
  end = s+Z_STRLEN_P(zendlval);
1822
51.0M
  while (1) {
1823
51.0M
    if (UNEXPECTED(*s=='\\')) {
1824
77.9k
      break;
1825
77.9k
    }
1826
50.9M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1827
1.06M
      CG(zend_lineno)++;
1828
1.06M
    }
1829
50.9M
    s++;
1830
50.9M
    if (s == end) {
1831
515k
      goto skip_escape_conversion;
1832
515k
    }
1833
50.9M
  }
1834
1835
77.9k
  t = s;
1836
24.6M
  while (s<end) {
1837
24.5M
    if (*s=='\\') {
1838
250k
      s++;
1839
250k
      if (*s == '\\' || *s == '\'') {
1840
84.0k
        *t++ = *s;
1841
166k
      } else {
1842
166k
        *t++ = '\\';
1843
166k
        *t++ = *s;
1844
166k
      }
1845
24.2M
    } else {
1846
24.2M
      *t++ = *s;
1847
24.2M
    }
1848
24.5M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1849
489k
      CG(zend_lineno)++;
1850
489k
    }
1851
24.5M
    s++;
1852
24.5M
  }
1853
77.9k
  *t = 0;
1854
77.9k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1855
1856
685k
skip_escape_conversion:
1857
685k
  if (SCNG(output_filter)) {
1858
0
    size_t sz = 0;
1859
0
    char *str = NULL;
1860
0
    zend_string *new_str;
1861
0
    s = Z_STRVAL_P(zendlval);
1862
    // TODO: avoid reallocation ???
1863
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1864
0
    new_str = zend_string_init(str, sz, 0);
1865
0
    if (str != s) {
1866
0
      efree(str);
1867
0
    }
1868
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1869
0
    ZVAL_STR(zendlval, new_str);
1870
0
  }
1871
685k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1872
685k
}
1873
0
#line 1874 "Zend/zend_language_scanner.c"
1874
1.57M
yy20:
1875
1.57M
    YYDEBUG(20, *YYCURSOR);
1876
1.57M
    yyaccept = 1;
1877
1.57M
    yych = *(YYMARKER = ++YYCURSOR);
1878
1.57M
    if (yych <= 'S') {
1879
1.17M
      if (yych <= 'D') {
1880
1.09M
        if (yych <= ' ') {
1881
107k
          if (yych == '\t') goto yy97;
1882
101k
          if (yych >= ' ') goto yy97;
1883
988k
        } else {
1884
988k
          if (yych <= '@') goto yy21;
1885
24.3k
          if (yych != 'C') goto yy97;
1886
24.3k
        }
1887
1.09M
      } else {
1888
82.6k
        if (yych <= 'I') {
1889
62.2k
          if (yych == 'F') goto yy97;
1890
58.7k
          if (yych >= 'I') goto yy97;
1891
58.7k
        } else {
1892
20.4k
          if (yych == 'O') goto yy97;
1893
15.9k
          if (yych >= 'R') goto yy97;
1894
15.9k
        }
1895
82.6k
      }
1896
1.17M
    } else {
1897
399k
      if (yych <= 'f') {
1898
175k
        if (yych <= 'b') {
1899
114k
          if (yych <= 'T') goto yy21;
1900
102k
          if (yych <= 'V') goto yy97;
1901
99.9k
          if (yych >= 'a') goto yy97;
1902
99.9k
        } else {
1903
60.6k
          if (yych == 'd') goto yy97;
1904
51.6k
          if (yych >= 'f') goto yy97;
1905
51.6k
        }
1906
224k
      } else {
1907
224k
        if (yych <= 'o') {
1908
92.1k
          if (yych == 'i') goto yy97;
1909
49.2k
          if (yych >= 'o') goto yy97;
1910
132k
        } else {
1911
132k
          if (yych <= 's') {
1912
60.1k
            if (yych >= 'r') goto yy97;
1913
72.3k
          } else {
1914
72.3k
            if (yych <= 't') goto yy21;
1915
64.6k
            if (yych <= 'v') goto yy97;
1916
64.6k
          }
1917
132k
        }
1918
224k
      }
1919
399k
    }
1920
1.97M
yy21:
1921
1.97M
    YYDEBUG(21, *YYCURSOR);
1922
1.97M
    yyleng = YYCURSOR - SCNG(yy_text);
1923
1.97M
#line 1908 "Zend/zend_language_scanner.l"
1924
1.97M
    {
1925
1.97M
  enter_nesting(yytext[0]);
1926
1.97M
  RETURN_TOKEN(yytext[0]);
1927
1.97M
}
1928
0
#line 1929 "Zend/zend_language_scanner.c"
1929
1.38M
yy22:
1930
1.38M
    YYDEBUG(22, *YYCURSOR);
1931
1.38M
    ++YYCURSOR;
1932
1.38M
    YYDEBUG(23, *YYCURSOR);
1933
1.38M
    yyleng = YYCURSOR - SCNG(yy_text);
1934
1.38M
#line 1903 "Zend/zend_language_scanner.l"
1935
1.38M
    {
1936
  /* Check that ] and ) match up properly with a preceding [ or ( */
1937
1.38M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1938
1.38M
}
1939
0
#line 1940 "Zend/zend_language_scanner.c"
1940
182k
yy24:
1941
182k
    YYDEBUG(24, *YYCURSOR);
1942
182k
    yych = *++YYCURSOR;
1943
182k
    if (yych == '*') goto yy108;
1944
153k
    if (yych == '=') goto yy110;
1945
146k
    goto yy9;
1946
182k
yy25:
1947
182k
    YYDEBUG(25, *YYCURSOR);
1948
182k
    yych = *++YYCURSOR;
1949
182k
    if (yych == '+') goto yy112;
1950
145k
    if (yych == '=') goto yy114;
1951
139k
    goto yy9;
1952
3.37M
yy26:
1953
3.37M
    YYDEBUG(26, *YYCURSOR);
1954
3.37M
    ++YYCURSOR;
1955
3.37M
    goto yy9;
1956
457k
yy27:
1957
457k
    YYDEBUG(27, *YYCURSOR);
1958
457k
    yych = *++YYCURSOR;
1959
457k
    if (yych <= '<') {
1960
189k
      if (yych == '-') goto yy116;
1961
158k
      goto yy9;
1962
268k
    } else {
1963
268k
      if (yych <= '=') goto yy118;
1964
264k
      if (yych <= '>') goto yy120;
1965
104k
      goto yy9;
1966
264k
    }
1967
578k
yy28:
1968
578k
    YYDEBUG(28, *YYCURSOR);
1969
578k
    yyaccept = 2;
1970
578k
    yych = *(YYMARKER = ++YYCURSOR);
1971
578k
    if (yych <= '/') {
1972
239k
      if (yych == '.') goto yy122;
1973
158k
      goto yy9;
1974
339k
    } else {
1975
339k
      if (yych <= '9') goto yy123;
1976
290k
      if (yych == '=') goto yy126;
1977
89.7k
      goto yy9;
1978
290k
    }
1979
504k
yy29:
1980
504k
    YYDEBUG(29, *YYCURSOR);
1981
504k
    yych = *++YYCURSOR;
1982
504k
    if (yych <= '.') {
1983
280k
      if (yych == '*') goto yy128;
1984
73.9k
      goto yy9;
1985
280k
    } else {
1986
224k
      if (yych <= '/') goto yy130;
1987
108k
      if (yych == '=') goto yy131;
1988
104k
      goto yy9;
1989
108k
    }
1990
327k
yy30:
1991
327k
    YYDEBUG(30, *YYCURSOR);
1992
327k
    yyaccept = 3;
1993
327k
    yych = *(YYMARKER = ++YYCURSOR);
1994
327k
    if (yych <= 'X') {
1995
235k
      if (yych <= 'N') {
1996
229k
        if (yych == 'B') goto yy134;
1997
228k
        goto yy33;
1998
229k
      } else {
1999
6.56k
        if (yych <= 'O') goto yy136;
2000
5.11k
        if (yych <= 'W') goto yy33;
2001
2.53k
        goto yy137;
2002
5.11k
      }
2003
235k
    } else {
2004
91.8k
      if (yych <= 'n') {
2005
60.0k
        if (yych == 'b') goto yy134;
2006
51.7k
        goto yy33;
2007
60.0k
      } else {
2008
31.7k
        if (yych <= 'o') goto yy136;
2009
29.3k
        if (yych == 'x') goto yy137;
2010
20.9k
        goto yy33;
2011
29.3k
      }
2012
91.8k
    }
2013
1.28M
yy31:
2014
1.28M
    YYDEBUG(31, *YYCURSOR);
2015
1.28M
    yyleng = YYCURSOR - SCNG(yy_text);
2016
1.28M
#line 2047 "Zend/zend_language_scanner.l"
2017
1.28M
    {
2018
1.28M
  size_t len = yyleng;
2019
1.28M
  char *end, *lnum = yytext;
2020
1.28M
  bool is_octal = lnum[0] == '0';
2021
1.28M
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2022
2023
1.28M
  if (contains_underscores) {
2024
3.26k
    lnum = estrndup(lnum, len);
2025
3.26k
    strip_underscores(lnum, &len);
2026
3.26k
  }
2027
2028
  /* Digits 8 and 9 are illegal in octal literals. */
2029
1.28M
  if (is_octal) {
2030
287k
    size_t i;
2031
899k
    for (i = 0; i < len; i++) {
2032
616k
      if (lnum[i] == '8' || lnum[i] == '9') {
2033
3.92k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2034
3.92k
        if (PARSER_MODE()) {
2035
38
          if (contains_underscores) {
2036
10
            efree(lnum);
2037
10
          }
2038
38
          ZVAL_UNDEF(zendlval);
2039
38
          RETURN_TOKEN(T_ERROR);
2040
38
        }
2041
2042
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2043
3.89k
        len = i;
2044
3.89k
        break;
2045
3.92k
      }
2046
616k
    }
2047
287k
  }
2048
2049
2050
1.28M
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2051
1.22M
    errno = 0;
2052
    /* base must be passed explicitly for correct parse error on Windows */
2053
1.22M
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2054
1.22M
    ZEND_ASSERT(end == lnum + len);
2055
1.22M
  } else {
2056
57.7k
    errno = 0;
2057
57.7k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2058
57.7k
    if (errno == ERANGE) { /* Overflow */
2059
50.2k
      errno = 0;
2060
50.2k
      if (is_octal) { /* octal overflow */
2061
1.30k
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2062
48.9k
      } else {
2063
48.9k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2064
48.9k
      }
2065
50.2k
      ZEND_ASSERT(end == lnum + len);
2066
50.2k
      if (contains_underscores) {
2067
671
        efree(lnum);
2068
671
      }
2069
50.2k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2070
50.2k
    }
2071
7.53k
    ZEND_ASSERT(end == lnum + len);
2072
7.53k
  }
2073
1.23M
  ZEND_ASSERT(!errno);
2074
1.23M
  if (contains_underscores) {
2075
2.58k
    efree(lnum);
2076
2.58k
  }
2077
1.23M
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2078
1.23M
}
2079
0
#line 2080 "Zend/zend_language_scanner.c"
2080
5.23M
yy32:
2081
5.23M
    YYDEBUG(32, *YYCURSOR);
2082
5.23M
    yyaccept = 3;
2083
5.23M
    YYMARKER = ++YYCURSOR;
2084
5.23M
    YYFILL(3);
2085
5.23M
    yych = *YYCURSOR;
2086
5.53M
yy33:
2087
5.53M
    YYDEBUG(33, *YYCURSOR);
2088
5.53M
    if (yybm[256+yych] & 64) {
2089
4.15M
      goto yy32;
2090
4.15M
    }
2091
1.38M
    if (yych <= 'E') {
2092
1.06M
      if (yych == '.') goto yy133;
2093
1.00M
      if (yych <= 'D') goto yy31;
2094
25.4k
      goto yy135;
2095
1.00M
    } else {
2096
317k
      if (yych <= '_') {
2097
146k
        if (yych <= '^') goto yy31;
2098
15.5k
        goto yy138;
2099
171k
      } else {
2100
171k
        if (yych == 'e') goto yy135;
2101
147k
        goto yy31;
2102
171k
      }
2103
317k
    }
2104
273k
yy34:
2105
273k
    YYDEBUG(34, *YYCURSOR);
2106
273k
    yych = *++YYCURSOR;
2107
273k
    if (yych == ':') goto yy139;
2108
137k
    goto yy9;
2109
5.97M
yy35:
2110
5.97M
    YYDEBUG(35, *YYCURSOR);
2111
5.97M
    yych = *++YYCURSOR;
2112
5.97M
    if (yych <= ';') goto yy9;
2113
5.70M
    if (yych <= '<') goto yy141;
2114
814k
    if (yych <= '=') goto yy143;
2115
802k
    if (yych <= '>') goto yy145;
2116
792k
    goto yy9;
2117
872k
yy36:
2118
872k
    YYDEBUG(36, *YYCURSOR);
2119
872k
    yych = *++YYCURSOR;
2120
872k
    if (yych <= '<') goto yy9;
2121
151k
    if (yych <= '=') goto yy146;
2122
100k
    if (yych <= '>') goto yy148;
2123
35.1k
    goto yy9;
2124
90.9k
yy37:
2125
90.9k
    YYDEBUG(37, *YYCURSOR);
2126
90.9k
    yych = *++YYCURSOR;
2127
90.9k
    if (yych <= '<') goto yy9;
2128
53.9k
    if (yych <= '=') goto yy150;
2129
49.1k
    if (yych <= '>') goto yy152;
2130
29.4k
    goto yy9;
2131
734k
yy38:
2132
734k
    YYDEBUG(38, *YYCURSOR);
2133
734k
    yyaccept = 2;
2134
734k
    yych = *(YYMARKER = ++YYCURSOR);
2135
734k
    if (yych <= '=') {
2136
287k
      if (yych == '-') goto yy154;
2137
221k
      goto yy9;
2138
447k
    } else {
2139
447k
      if (yych <= '>') goto yy155;
2140
297k
      if (yych <= '?') goto yy157;
2141
252k
      goto yy9;
2142
297k
    }
2143
354k
yy39:
2144
354k
    YYDEBUG(39, *YYCURSOR);
2145
354k
    yyaccept = 4;
2146
354k
    yych = *(YYMARKER = ++YYCURSOR);
2147
354k
    if (yych <= 'S') {
2148
125k
      if (yych <= 'M') {
2149
110k
        if (yych == 'B') goto yy159;
2150
107k
        goto yy48;
2151
110k
      } else {
2152
14.4k
        if (yych <= 'N') goto yy160;
2153
11.7k
        if (yych <= 'Q') goto yy48;
2154
11.0k
        if (yych <= 'R') goto yy161;
2155
8.59k
        goto yy162;
2156
11.0k
      }
2157
229k
    } else {
2158
229k
      if (yych <= 'n') {
2159
52.6k
        if (yych == 'b') goto yy159;
2160
36.3k
        if (yych <= 'm') goto yy48;
2161
14.9k
        goto yy160;
2162
176k
      } else {
2163
176k
        if (yych <= 'q') goto yy48;
2164
172k
        if (yych <= 'r') goto yy161;
2165
122k
        if (yych <= 's') goto yy162;
2166
55.8k
        goto yy48;
2167
122k
      }
2168
229k
    }
2169
5.88M
yy40:
2170
5.88M
    YYDEBUG(40, *YYCURSOR);
2171
5.88M
    yyleng = YYCURSOR - SCNG(yy_text);
2172
5.88M
#line 2399 "Zend/zend_language_scanner.l"
2173
5.88M
    {
2174
5.88M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2175
5.88M
}
2176
0
#line 2177 "Zend/zend_language_scanner.c"
2177
157k
yy41:
2178
157k
    YYDEBUG(41, *YYCURSOR);
2179
157k
    yyaccept = 4;
2180
157k
    yych = *(YYMARKER = ++YYCURSOR);
2181
157k
    if (yych <= ';') {
2182
54.2k
      if (yych <= '"') {
2183
25.4k
        if (yych <= '!') goto yy48;
2184
1.93k
        goto yy10;
2185
28.8k
      } else {
2186
28.8k
        if (yych == '\'') goto yy18;
2187
19.4k
        goto yy48;
2188
28.8k
      }
2189
103k
    } else {
2190
103k
      if (yych <= 'R') {
2191
22.7k
        if (yych <= '<') goto yy165;
2192
14.9k
        if (yych <= 'Q') goto yy48;
2193
3.52k
        goto yy166;
2194
80.5k
      } else {
2195
80.5k
        if (yych == 'r') goto yy166;
2196
73.1k
        goto yy48;
2197
80.5k
      }
2198
103k
    }
2199
586k
yy42:
2200
586k
    YYDEBUG(42, *YYCURSOR);
2201
586k
    yyaccept = 4;
2202
586k
    yych = *(YYMARKER = ++YYCURSOR);
2203
586k
    if (yych <= 'O') {
2204
117k
      if (yych <= 'K') {
2205
94.0k
        if (yych == 'A') goto yy167;
2206
89.4k
        goto yy48;
2207
94.0k
      } else {
2208
22.9k
        if (yych <= 'L') goto yy168;
2209
14.2k
        if (yych <= 'N') goto yy48;
2210
13.6k
        goto yy169;
2211
14.2k
      }
2212
469k
    } else {
2213
469k
      if (yych <= 'k') {
2214
138k
        if (yych == 'a') goto yy167;
2215
33.6k
        goto yy48;
2216
330k
      } else {
2217
330k
        if (yych <= 'l') goto yy168;
2218
208k
        if (yych == 'o') goto yy169;
2219
20.1k
        goto yy48;
2220
208k
      }
2221
469k
    }
2222
214k
yy43:
2223
214k
    YYDEBUG(43, *YYCURSOR);
2224
214k
    yyaccept = 4;
2225
214k
    yych = *(YYMARKER = ++YYCURSOR);
2226
214k
    if (yych <= 'O') {
2227
79.2k
      if (yych <= 'H') {
2228
44.5k
        if (yych == 'E') goto yy170;
2229
32.7k
        goto yy48;
2230
44.5k
      } else {
2231
34.6k
        if (yych <= 'I') goto yy171;
2232
32.3k
        if (yych <= 'N') goto yy48;
2233
30.0k
        goto yy172;
2234
32.3k
      }
2235
134k
    } else {
2236
134k
      if (yych <= 'h') {
2237
92.3k
        if (yych == 'e') goto yy170;
2238
63.8k
        goto yy48;
2239
92.3k
      } else {
2240
42.5k
        if (yych <= 'i') goto yy171;
2241
34.2k
        if (yych == 'o') goto yy172;
2242
20.6k
        goto yy48;
2243
34.2k
      }
2244
134k
    }
2245
831k
yy44:
2246
831k
    YYDEBUG(44, *YYCURSOR);
2247
831k
    yyaccept = 4;
2248
831k
    yych = *(YYMARKER = ++YYCURSOR);
2249
831k
    switch (yych) {
2250
2.60k
    case 'C':
2251
128k
    case 'c': goto yy174;
2252
8.81k
    case 'L':
2253
32.8k
    case 'l': goto yy175;
2254
3.31k
    case 'M':
2255
13.3k
    case 'm': goto yy176;
2256
135k
    case 'N':
2257
343k
    case 'n': goto yy177;
2258
919
    case 'V':
2259
14.0k
    case 'v': goto yy178;
2260
8.30k
    case 'X':
2261
104k
    case 'x': goto yy179;
2262
194k
    default:  goto yy48;
2263
831k
    }
2264
585k
yy45:
2265
585k
    YYDEBUG(45, *YYCURSOR);
2266
585k
    yyaccept = 4;
2267
585k
    yych = *(YYMARKER = ++YYCURSOR);
2268
585k
    if (yych <= 'U') {
2269
158k
      if (yych <= 'M') {
2270
117k
        if (yych == 'I') goto yy180;
2271
113k
        goto yy48;
2272
117k
      } else {
2273
40.8k
        if (yych <= 'N') goto yy181;
2274
36.5k
        if (yych <= 'O') goto yy183;
2275
20.3k
        if (yych <= 'T') goto yy48;
2276
3.35k
        goto yy184;
2277
20.3k
      }
2278
426k
    } else {
2279
426k
      if (yych <= 'n') {
2280
87.2k
        if (yych == 'i') goto yy180;
2281
59.4k
        if (yych <= 'm') goto yy48;
2282
28.5k
        goto yy181;
2283
339k
      } else {
2284
339k
        if (yych <= 'o') goto yy183;
2285
194k
        if (yych == 'u') goto yy184;
2286
33.1k
        goto yy48;
2287
194k
      }
2288
426k
    }
2289
98.7k
yy46:
2290
98.7k
    YYDEBUG(46, *YYCURSOR);
2291
98.7k
    yyaccept = 4;
2292
98.7k
    yych = *(YYMARKER = ++YYCURSOR);
2293
98.7k
    if (yych <= 'O') {
2294
46.1k
      if (yych == 'L') goto yy185;
2295
40.7k
      if (yych <= 'N') goto yy48;
2296
3.08k
      goto yy186;
2297
52.5k
    } else {
2298
52.5k
      if (yych <= 'l') {
2299
37.4k
        if (yych <= 'k') goto yy48;
2300
8.02k
        goto yy185;
2301
37.4k
      } else {
2302
15.1k
        if (yych == 'o') goto yy186;
2303
7.93k
        goto yy48;
2304
15.1k
      }
2305
52.5k
    }
2306
23.9M
yy47:
2307
23.9M
    YYDEBUG(47, *YYCURSOR);
2308
23.9M
    yyaccept = 4;
2309
23.9M
    YYMARKER = ++YYCURSOR;
2310
23.9M
    YYFILL(1);
2311
23.9M
    yych = *YYCURSOR;
2312
27.9M
yy48:
2313
27.9M
    YYDEBUG(48, *YYCURSOR);
2314
27.9M
    if (yybm[256+yych] & 128) {
2315
22.0M
      goto yy47;
2316
22.0M
    }
2317
5.88M
    if (yych == '\\') goto yy164;
2318
5.81M
    goto yy40;
2319
5.81M
yy49:
2320
409k
    YYDEBUG(49, *YYCURSOR);
2321
409k
    yyaccept = 4;
2322
409k
    yych = *(YYMARKER = ++YYCURSOR);
2323
409k
    if (yych <= 'S') {
2324
109k
      if (yych <= 'L') {
2325
54.3k
        if (yych == 'F') goto yy187;
2326
50.0k
        goto yy48;
2327
55.4k
      } else {
2328
55.4k
        if (yych <= 'M') goto yy189;
2329
44.8k
        if (yych <= 'N') goto yy190;
2330
13.0k
        if (yych <= 'R') goto yy48;
2331
6.93k
        goto yy191;
2332
13.0k
      }
2333
300k
    } else {
2334
300k
      if (yych <= 'm') {
2335
119k
        if (yych == 'f') goto yy187;
2336
88.3k
        if (yych <= 'l') goto yy48;
2337
51.4k
        goto yy189;
2338
180k
      } else {
2339
180k
        if (yych <= 'n') goto yy190;
2340
67.5k
        if (yych == 's') goto yy191;
2341
28.0k
        goto yy48;
2342
67.5k
      }
2343
300k
    }
2344
97.1k
yy50:
2345
97.1k
    YYDEBUG(50, *YYCURSOR);
2346
97.1k
    yyaccept = 4;
2347
97.1k
    yych = *(YYMARKER = ++YYCURSOR);
2348
97.1k
    if (yych == 'I') goto yy192;
2349
93.8k
    if (yych == 'i') goto yy192;
2350
81.0k
    goto yy48;
2351
96.2k
yy51:
2352
96.2k
    YYDEBUG(51, *YYCURSOR);
2353
96.2k
    yyaccept = 4;
2354
96.2k
    yych = *(YYMARKER = ++YYCURSOR);
2355
96.2k
    if (yych == 'A') goto yy193;
2356
95.6k
    if (yych == 'a') goto yy193;
2357
85.4k
    goto yy48;
2358
318k
yy52:
2359
318k
    YYDEBUG(52, *YYCURSOR);
2360
318k
    yyaccept = 4;
2361
318k
    yych = *(YYMARKER = ++YYCURSOR);
2362
318k
    if (yych <= 'E') {
2363
44.1k
      if (yych == 'A') goto yy194;
2364
39.0k
      if (yych <= 'D') goto yy48;
2365
9.16k
      goto yy195;
2366
274k
    } else {
2367
274k
      if (yych <= 'a') {
2368
68.4k
        if (yych <= '`') goto yy48;
2369
44.4k
        goto yy194;
2370
205k
      } else {
2371
205k
        if (yych == 'e') goto yy195;
2372
76.4k
        goto yy48;
2373
205k
      }
2374
274k
    }
2375
185k
yy53:
2376
185k
    YYDEBUG(53, *YYCURSOR);
2377
185k
    yyaccept = 4;
2378
185k
    yych = *(YYMARKER = ++YYCURSOR);
2379
185k
    if (yych == 'R') goto yy196;
2380
178k
    if (yych == 'r') goto yy196;
2381
168k
    goto yy48;
2382
727k
yy54:
2383
727k
    YYDEBUG(54, *YYCURSOR);
2384
727k
    yyaccept = 4;
2385
727k
    yych = *(YYMARKER = ++YYCURSOR);
2386
727k
    if (yych <= 'U') {
2387
303k
      if (yych == 'R') goto yy198;
2388
292k
      if (yych <= 'T') goto yy48;
2389
3.42k
      goto yy199;
2390
423k
    } else {
2391
423k
      if (yych <= 'r') {
2392
285k
        if (yych <= 'q') goto yy48;
2393
68.6k
        goto yy198;
2394
285k
      } else {
2395
138k
        if (yych == 'u') goto yy199;
2396
39.4k
        goto yy48;
2397
138k
      }
2398
423k
    }
2399
216k
yy55:
2400
216k
    YYDEBUG(55, *YYCURSOR);
2401
216k
    yyaccept = 4;
2402
216k
    yych = *(YYMARKER = ++YYCURSOR);
2403
216k
    if (yych == 'E') goto yy200;
2404
205k
    if (yych == 'e') goto yy200;
2405
80.4k
    goto yy48;
2406
260k
yy56:
2407
260k
    YYDEBUG(56, *YYCURSOR);
2408
260k
    yyaccept = 4;
2409
260k
    yych = *(YYMARKER = ++YYCURSOR);
2410
260k
    if (yych <= 'W') {
2411
78.6k
      if (yych == 'T') goto yy201;
2412
72.9k
      if (yych <= 'V') goto yy48;
2413
3.35k
      goto yy202;
2414
181k
    } else {
2415
181k
      if (yych <= 't') {
2416
159k
        if (yych <= 's') goto yy48;
2417
84.4k
        goto yy201;
2418
159k
      } else {
2419
22.1k
        if (yych == 'w') goto yy202;
2420
11.3k
        goto yy48;
2421
22.1k
      }
2422
181k
    }
2423
341k
yy57:
2424
341k
    YYDEBUG(57, *YYCURSOR);
2425
341k
    yyaccept = 4;
2426
341k
    yych = *(YYMARKER = ++YYCURSOR);
2427
341k
    if (yych <= 'R') {
2428
76.3k
      if (yych == 'H') goto yy203;
2429
73.6k
      if (yych <= 'Q') goto yy48;
2430
10.4k
      goto yy204;
2431
264k
    } else {
2432
264k
      if (yych <= 'h') {
2433
113k
        if (yych <= 'g') goto yy48;
2434
22.0k
        goto yy203;
2435
151k
      } else {
2436
151k
        if (yych == 'r') goto yy204;
2437
48.9k
        goto yy48;
2438
151k
      }
2439
264k
    }
2440
108k
yy58:
2441
108k
    YYDEBUG(58, *YYCURSOR);
2442
108k
    yyaccept = 4;
2443
108k
    yych = *(YYMARKER = ++YYCURSOR);
2444
108k
    if (yych <= 'S') {
2445
27.2k
      if (yych == 'N') goto yy205;
2446
24.6k
      if (yych <= 'R') goto yy48;
2447
1.21k
      goto yy206;
2448
81.1k
    } else {
2449
81.1k
      if (yych <= 'n') {
2450
48.9k
        if (yych <= 'm') goto yy48;
2451
24.0k
        goto yy205;
2452
48.9k
      } else {
2453
32.1k
        if (yych == 's') goto yy206;
2454
11.0k
        goto yy48;
2455
32.1k
      }
2456
81.1k
    }
2457
196k
yy59:
2458
196k
    YYDEBUG(59, *YYCURSOR);
2459
196k
    yyaccept = 4;
2460
196k
    yych = *(YYMARKER = ++YYCURSOR);
2461
196k
    if (yych == 'A') goto yy207;
2462
195k
    if (yych == 'a') goto yy207;
2463
37.6k
    goto yy48;
2464
40.0k
yy60:
2465
40.0k
    YYDEBUG(60, *YYCURSOR);
2466
40.0k
    yyaccept = 4;
2467
40.0k
    yych = *(YYMARKER = ++YYCURSOR);
2468
40.0k
    if (yych == 'H') goto yy208;
2469
37.2k
    if (yych == 'h') goto yy208;
2470
31.7k
    goto yy48;
2471
63.1k
yy61:
2472
63.1k
    YYDEBUG(61, *YYCURSOR);
2473
63.1k
    yyaccept = 4;
2474
63.1k
    yych = *(YYMARKER = ++YYCURSOR);
2475
63.1k
    if (yych == 'O') goto yy209;
2476
61.5k
    if (yych == 'o') goto yy209;
2477
54.6k
    goto yy48;
2478
187k
yy62:
2479
187k
    YYDEBUG(62, *YYCURSOR);
2480
187k
    yyaccept = 4;
2481
187k
    yych = *(YYMARKER = ++YYCURSOR);
2482
187k
    if (yych == 'I') goto yy210;
2483
184k
    if (yych == 'i') goto yy210;
2484
61.3k
    goto yy48;
2485
410k
yy63:
2486
410k
    YYDEBUG(63, *YYCURSOR);
2487
410k
    ++YYCURSOR;
2488
410k
    goto yy21;
2489
271k
yy64:
2490
271k
    YYDEBUG(64, *YYCURSOR);
2491
271k
    yych = *++YYCURSOR;
2492
271k
    if (yych <= '_') {
2493
211k
      if (yych <= '@') goto yy65;
2494
137k
      if (yych <= 'Z') goto yy211;
2495
107k
      if (yych >= '_') goto yy211;
2496
107k
    } else {
2497
59.7k
      if (yych <= '`') goto yy65;
2498
56.6k
      if (yych <= 'z') goto yy211;
2499
22.1k
      if (yych >= 0x80) goto yy211;
2500
22.1k
    }
2501
192k
yy65:
2502
192k
    YYDEBUG(65, *YYCURSOR);
2503
192k
    yyleng = YYCURSOR - SCNG(yy_text);
2504
192k
#line 2395 "Zend/zend_language_scanner.l"
2505
192k
    {
2506
192k
  RETURN_TOKEN(T_NS_SEPARATOR);
2507
192k
}
2508
0
#line 2509 "Zend/zend_language_scanner.c"
2509
173k
yy66:
2510
173k
    YYDEBUG(66, *YYCURSOR);
2511
173k
    yych = *++YYCURSOR;
2512
173k
    if (yych == '=') goto yy214;
2513
172k
    goto yy9;
2514
260k
yy67:
2515
260k
    YYDEBUG(67, *YYCURSOR);
2516
260k
    yyaccept = 4;
2517
260k
    yych = *(YYMARKER = ++YYCURSOR);
2518
260k
    if (yych == '_') goto yy216;
2519
84.1k
    goto yy48;
2520
84.1k
yy68:
2521
80.5k
    YYDEBUG(68, *YYCURSOR);
2522
80.5k
    ++YYCURSOR;
2523
80.5k
    YYDEBUG(69, *YYCURSOR);
2524
80.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2525
80.5k
#line 2768 "Zend/zend_language_scanner.l"
2526
80.5k
    {
2527
80.5k
  BEGIN(ST_BACKQUOTE);
2528
80.5k
  RETURN_TOKEN('`');
2529
80.5k
}
2530
0
#line 2531 "Zend/zend_language_scanner.c"
2531
1.35M
yy70:
2532
1.35M
    YYDEBUG(70, *YYCURSOR);
2533
1.35M
    ++YYCURSOR;
2534
1.35M
    YYDEBUG(71, *YYCURSOR);
2535
1.35M
    yyleng = YYCURSOR - SCNG(yy_text);
2536
1.35M
#line 1918 "Zend/zend_language_scanner.l"
2537
1.35M
    {
2538
1.35M
  yy_push_state(ST_IN_SCRIPTING);
2539
1.35M
  enter_nesting('{');
2540
1.35M
  RETURN_TOKEN('{');
2541
1.35M
}
2542
0
#line 2543 "Zend/zend_language_scanner.c"
2543
142k
yy72:
2544
142k
    YYDEBUG(72, *YYCURSOR);
2545
142k
    yych = *++YYCURSOR;
2546
142k
    if (yych <= '>') {
2547
65.2k
      if (yych <= '<') goto yy9;
2548
8.05k
      if (yych <= '=') goto yy217;
2549
5.43k
      goto yy219;
2550
77.1k
    } else {
2551
77.1k
      if (yych == '|') goto yy221;
2552
56.8k
      goto yy9;
2553
77.1k
    }
2554
547k
yy73:
2555
547k
    YYDEBUG(73, *YYCURSOR);
2556
547k
    ++YYCURSOR;
2557
547k
    YYDEBUG(74, *YYCURSOR);
2558
547k
    yyleng = YYCURSOR - SCNG(yy_text);
2559
547k
#line 1931 "Zend/zend_language_scanner.l"
2560
547k
    {
2561
547k
  RESET_DOC_COMMENT();
2562
547k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2563
518k
    yy_pop_state();
2564
518k
  }
2565
547k
  RETURN_EXIT_NESTING_TOKEN('}');
2566
547k
}
2567
0
#line 2568 "Zend/zend_language_scanner.c"
2568
11.1k
yy75:
2569
11.1k
    YYDEBUG(75, *YYCURSOR);
2570
11.1k
    yych = *++YYCURSOR;
2571
11.1k
    if (yych == '=') goto yy223;
2572
17.5k
yy76:
2573
17.5k
    YYDEBUG(76, *YYCURSOR);
2574
17.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
17.5k
#line 1790 "Zend/zend_language_scanner.l"
2576
17.5k
    {
2577
17.5k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2578
17.5k
}
2579
0
#line 2580 "Zend/zend_language_scanner.c"
2580
19.3k
yy77:
2581
19.3k
    YYDEBUG(77, *YYCURSOR);
2582
19.3k
    ++YYCURSOR;
2583
19.3k
    YYDEBUG(78, *YYCURSOR);
2584
19.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2585
19.3k
#line 1407 "Zend/zend_language_scanner.l"
2586
19.3k
    {
2587
19.3k
  enter_nesting('[');
2588
19.3k
  RETURN_TOKEN(T_ATTRIBUTE);
2589
19.3k
}
2590
0
#line 2591 "Zend/zend_language_scanner.c"
2591
7.01M
yy79:
2592
7.01M
    YYDEBUG(79, *YYCURSOR);
2593
7.01M
    ++YYCURSOR;
2594
7.01M
    YYFILL(1);
2595
7.01M
    yych = *YYCURSOR;
2596
7.01M
    YYDEBUG(80, *YYCURSOR);
2597
7.01M
    if (yych <= '^') {
2598
1.97M
      if (yych <= '9') {
2599
1.42M
        if (yych >= '0') goto yy79;
2600
1.42M
      } else {
2601
547k
        if (yych <= '@') goto yy81;
2602
343k
        if (yych <= 'Z') goto yy79;
2603
343k
      }
2604
5.04M
    } else {
2605
5.04M
      if (yych <= '`') {
2606
25.1k
        if (yych <= '_') goto yy79;
2607
5.01M
      } else {
2608
5.01M
        if (yych <= 'z') goto yy79;
2609
1.61M
        if (yych >= 0x80) goto yy79;
2610
1.61M
      }
2611
5.04M
    }
2612
1.57M
yy81:
2613
1.57M
    YYDEBUG(81, *YYCURSOR);
2614
1.57M
    yyleng = YYCURSOR - SCNG(yy_text);
2615
1.57M
#line 2361 "Zend/zend_language_scanner.l"
2616
1.57M
    {
2617
1.57M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2618
1.57M
}
2619
0
#line 2620 "Zend/zend_language_scanner.c"
2620
4.05k
yy82:
2621
4.05k
    YYDEBUG(82, *YYCURSOR);
2622
4.05k
    ++YYCURSOR;
2623
4.05k
    YYDEBUG(83, *YYCURSOR);
2624
4.05k
    yyleng = YYCURSOR - SCNG(yy_text);
2625
4.05k
#line 1834 "Zend/zend_language_scanner.l"
2626
4.05k
    {
2627
4.05k
  RETURN_TOKEN(T_MOD_EQUAL);
2628
4.05k
}
2629
0
#line 2630 "Zend/zend_language_scanner.c"
2630
452k
yy84:
2631
452k
    YYDEBUG(84, *YYCURSOR);
2632
452k
    ++YYCURSOR;
2633
452k
    YYFILL(3);
2634
452k
    yych = *YYCURSOR;
2635
555k
yy85:
2636
555k
    YYDEBUG(85, *YYCURSOR);
2637
555k
    if (yych <= ' ') {
2638
157k
      if (yych <= '\f') {
2639
82.1k
        if (yych <= 0x08) goto yy86;
2640
78.5k
        if (yych <= '\n') goto yy84;
2641
78.5k
      } else {
2642
75.2k
        if (yych <= '\r') goto yy84;
2643
34.0k
        if (yych >= ' ') goto yy84;
2644
34.0k
      }
2645
398k
    } else {
2646
398k
      if (yych <= '$') {
2647
343k
        if (yych <= '"') goto yy86;
2648
342k
        if (yych <= '#') goto yy87;
2649
28.1k
        goto yy88;
2650
342k
      } else {
2651
55.4k
        if (yych <= '-') goto yy86;
2652
50.6k
        if (yych <= '.') goto yy92;
2653
45.5k
        if (yych <= '/') goto yy93;
2654
45.5k
      }
2655
398k
    }
2656
1.09M
yy86:
2657
1.09M
    YYDEBUG(86, *YYCURSOR);
2658
1.09M
    YYCURSOR = YYMARKER;
2659
1.09M
    if (yyaccept <= 48) {
2660
872k
      if (yyaccept <= 24) {
2661
855k
        if (yyaccept <= 12) {
2662
841k
          if (yyaccept <= 6) {
2663
489k
            if (yyaccept <= 3) {
2664
411k
              if (yyaccept <= 1) {
2665
359k
                if (yyaccept == 0) {
2666
62.4k
                  goto yy17;
2667
297k
                } else {
2668
297k
                  goto yy21;
2669
297k
                }
2670
359k
              } else {
2671
52.4k
                if (yyaccept == 2) {
2672
25.4k
                  goto yy9;
2673
26.9k
                } else {
2674
26.9k
                  goto yy31;
2675
26.9k
                }
2676
52.4k
              }
2677
411k
            } else {
2678
77.7k
              if (yyaccept <= 5) {
2679
73.8k
                if (yyaccept == 4) {
2680
68.4k
                  goto yy40;
2681
68.4k
                } else {
2682
5.40k
                  goto yy125;
2683
5.40k
                }
2684
73.8k
              } else {
2685
3.95k
                goto yy129;
2686
3.95k
              }
2687
77.7k
            }
2688
489k
          } else {
2689
351k
            if (yyaccept <= 9) {
2690
350k
              if (yyaccept <= 8) {
2691
350k
                if (yyaccept == 7) {
2692
350k
                  goto yy142;
2693
350k
                } else {
2694
359
                  goto yy163;
2695
359
                }
2696
350k
              } else {
2697
310
                goto yy173;
2698
310
              }
2699
350k
            } else {
2700
838
              if (yyaccept <= 11) {
2701
484
                if (yyaccept == 10) {
2702
223
                  goto yy182;
2703
261
                } else {
2704
261
                  goto yy188;
2705
261
                }
2706
484
              } else {
2707
354
                goto yy197;
2708
354
              }
2709
838
            }
2710
351k
          }
2711
841k
        } else {
2712
14.5k
          if (yyaccept <= 18) {
2713
12.5k
            if (yyaccept <= 15) {
2714
7.73k
              if (yyaccept <= 14) {
2715
7.33k
                if (yyaccept == 13) {
2716
6.81k
                  goto yy213;
2717
6.81k
                } else {
2718
517
                  goto yy251;
2719
517
                }
2720
7.33k
              } else {
2721
401
                goto yy257;
2722
401
              }
2723
7.73k
            } else {
2724
4.78k
              if (yyaccept <= 17) {
2725
1.51k
                if (yyaccept == 16) {
2726
891
                  goto yy260;
2727
891
                } else {
2728
623
                  goto yy279;
2729
623
                }
2730
3.26k
              } else {
2731
3.26k
                goto yy283;
2732
3.26k
              }
2733
4.78k
            }
2734
12.5k
          } else {
2735
2.01k
            if (yyaccept <= 21) {
2736
775
              if (yyaccept <= 20) {
2737
555
                if (yyaccept == 19) {
2738
301
                  goto yy295;
2739
301
                } else {
2740
254
                  goto yy306;
2741
254
                }
2742
555
              } else {
2743
220
                goto yy319;
2744
220
              }
2745
1.23k
            } else {
2746
1.23k
              if (yyaccept <= 23) {
2747
851
                if (yyaccept == 22) {
2748
318
                  goto yy331;
2749
533
                } else {
2750
533
                  goto yy334;
2751
533
                }
2752
851
              } else {
2753
387
                goto yy336;
2754
387
              }
2755
1.23k
            }
2756
2.01k
          }
2757
14.5k
        }
2758
855k
      } else {
2759
16.9k
        if (yyaccept <= 36) {
2760
13.6k
          if (yyaccept <= 30) {
2761
11.7k
            if (yyaccept <= 27) {
2762
10.7k
              if (yyaccept <= 26) {
2763
10.3k
                if (yyaccept == 25) {
2764
347
                  goto yy339;
2765
10.0k
                } else {
2766
10.0k
                  goto yy89;
2767
10.0k
                }
2768
10.3k
              } else {
2769
347
                goto yy379;
2770
347
              }
2771
10.7k
            } else {
2772
1.04k
              if (yyaccept <= 29) {
2773
707
                if (yyaccept == 28) {
2774
211
                  goto yy388;
2775
496
                } else {
2776
496
                  goto yy390;
2777
496
                }
2778
707
              } else {
2779
338
                goto yy399;
2780
338
              }
2781
1.04k
            }
2782
11.7k
          } else {
2783
1.86k
            if (yyaccept <= 33) {
2784
1.03k
              if (yyaccept <= 32) {
2785
458
                if (yyaccept == 31) {
2786
252
                  goto yy401;
2787
252
                } else {
2788
206
                  goto yy408;
2789
206
                }
2790
580
              } else {
2791
580
                goto yy415;
2792
580
              }
2793
1.03k
            } else {
2794
825
              if (yyaccept <= 35) {
2795
559
                if (yyaccept == 34) {
2796
328
                  goto yy471;
2797
328
                } else {
2798
231
                  goto yy473;
2799
231
                }
2800
559
              } else {
2801
266
                goto yy476;
2802
266
              }
2803
825
            }
2804
1.86k
          }
2805
13.6k
        } else {
2806
3.32k
          if (yyaccept <= 42) {
2807
1.66k
            if (yyaccept <= 39) {
2808
994
              if (yyaccept <= 38) {
2809
438
                if (yyaccept == 37) {
2810
228
                  goto yy478;
2811
228
                } else {
2812
210
                  goto yy480;
2813
210
                }
2814
556
              } else {
2815
556
                goto yy482;
2816
556
              }
2817
994
            } else {
2818
666
              if (yyaccept <= 41) {
2819
436
                if (yyaccept == 40) {
2820
227
                  goto yy488;
2821
227
                } else {
2822
209
                  goto yy492;
2823
209
                }
2824
436
              } else {
2825
230
                goto yy501;
2826
230
              }
2827
666
            }
2828
1.66k
          } else {
2829
1.66k
            if (yyaccept <= 45) {
2830
904
              if (yyaccept <= 44) {
2831
551
                if (yyaccept == 43) {
2832
234
                  goto yy511;
2833
317
                } else {
2834
317
                  goto yy513;
2835
317
                }
2836
551
              } else {
2837
353
                goto yy516;
2838
353
              }
2839
904
            } else {
2840
762
              if (yyaccept <= 47) {
2841
565
                if (yyaccept == 46) {
2842
326
                  goto yy526;
2843
326
                } else {
2844
239
                  goto yy528;
2845
239
                }
2846
565
              } else {
2847
197
                goto yy530;
2848
197
              }
2849
762
            }
2850
1.66k
          }
2851
3.32k
        }
2852
16.9k
      }
2853
872k
    } else {
2854
226k
      if (yyaccept <= 72) {
2855
202k
        if (yyaccept <= 60) {
2856
197k
          if (yyaccept <= 54) {
2857
193k
            if (yyaccept <= 51) {
2858
75.1k
              if (yyaccept <= 50) {
2859
74.8k
                if (yyaccept == 49) {
2860
372
                  goto yy532;
2861
74.5k
                } else {
2862
74.5k
                  goto yy534;
2863
74.5k
                }
2864
74.8k
              } else {
2865
218
                goto yy576;
2866
218
              }
2867
118k
            } else {
2868
118k
              if (yyaccept <= 53) {
2869
118k
                if (yyaccept == 52) {
2870
213
                  goto yy579;
2871
118k
                } else {
2872
118k
                  goto yy583;
2873
118k
                }
2874
118k
              } else {
2875
229
                goto yy597;
2876
229
              }
2877
118k
            }
2878
193k
          } else {
2879
3.54k
            if (yyaccept <= 57) {
2880
2.84k
              if (yyaccept <= 56) {
2881
2.62k
                if (yyaccept == 55) {
2882
2.32k
                  goto yy607;
2883
2.32k
                } else {
2884
294
                  goto yy611;
2885
294
                }
2886
2.62k
              } else {
2887
223
                goto yy613;
2888
223
              }
2889
2.84k
            } else {
2890
701
              if (yyaccept <= 59) {
2891
471
                if (yyaccept == 58) {
2892
240
                  goto yy615;
2893
240
                } else {
2894
231
                  goto yy650;
2895
231
                }
2896
471
              } else {
2897
230
                goto yy652;
2898
230
              }
2899
701
            }
2900
3.54k
          }
2901
197k
        } else {
2902
5.11k
          if (yyaccept <= 66) {
2903
3.31k
            if (yyaccept <= 63) {
2904
746
              if (yyaccept <= 62) {
2905
489
                if (yyaccept == 61) {
2906
218
                  goto yy667;
2907
271
                } else {
2908
271
                  goto yy669;
2909
271
                }
2910
489
              } else {
2911
257
                goto yy671;
2912
257
              }
2913
2.56k
            } else {
2914
2.56k
              if (yyaccept <= 65) {
2915
2.35k
                if (yyaccept == 64) {
2916
215
                  goto yy675;
2917
2.14k
                } else {
2918
2.14k
                  goto yy681;
2919
2.14k
                }
2920
2.35k
              } else {
2921
209
                goto yy686;
2922
209
              }
2923
2.56k
            }
2924
3.31k
          } else {
2925
1.80k
            if (yyaccept <= 69) {
2926
600
              if (yyaccept <= 68) {
2927
406
                if (yyaccept == 67) {
2928
204
                  goto yy696;
2929
204
                } else {
2930
202
                  goto yy714;
2931
202
                }
2932
406
              } else {
2933
194
                goto yy716;
2934
194
              }
2935
1.20k
            } else {
2936
1.20k
              if (yyaccept <= 71) {
2937
847
                if (yyaccept == 70) {
2938
320
                  goto yy718;
2939
527
                } else {
2940
527
                  goto yy723;
2941
527
                }
2942
847
              } else {
2943
353
                goto yy731;
2944
353
              }
2945
1.20k
            }
2946
1.80k
          }
2947
5.11k
        }
2948
202k
      } else {
2949
24.1k
        if (yyaccept <= 84) {
2950
5.29k
          if (yyaccept <= 78) {
2951
1.71k
            if (yyaccept <= 75) {
2952
1.01k
              if (yyaccept <= 74) {
2953
752
                if (yyaccept == 73) {
2954
503
                  goto yy742;
2955
503
                } else {
2956
249
                  goto yy752;
2957
249
                }
2958
752
              } else {
2959
261
                goto yy756;
2960
261
              }
2961
1.01k
            } else {
2962
702
              if (yyaccept <= 77) {
2963
497
                if (yyaccept == 76) {
2964
198
                  goto yy768;
2965
299
                } else {
2966
299
                  goto yy781;
2967
299
                }
2968
497
              } else {
2969
205
                goto yy783;
2970
205
              }
2971
702
            }
2972
3.58k
          } else {
2973
3.58k
            if (yyaccept <= 81) {
2974
2.93k
              if (yyaccept <= 80) {
2975
2.71k
                if (yyaccept == 79) {
2976
877
                  goto yy785;
2977
1.83k
                } else {
2978
1.83k
                  goto yy788;
2979
1.83k
                }
2980
2.71k
              } else {
2981
225
                goto yy796;
2982
225
              }
2983
2.93k
            } else {
2984
643
              if (yyaccept <= 83) {
2985
443
                if (yyaccept == 82) {
2986
217
                  goto yy803;
2987
226
                } else {
2988
226
                  goto yy807;
2989
226
                }
2990
443
              } else {
2991
200
                goto yy809;
2992
200
              }
2993
643
            }
2994
3.58k
          }
2995
18.8k
        } else {
2996
18.8k
          if (yyaccept <= 90) {
2997
2.12k
            if (yyaccept <= 87) {
2998
787
              if (yyaccept <= 86) {
2999
519
                if (yyaccept == 85) {
3000
318
                  goto yy820;
3001
318
                } else {
3002
201
                  goto yy823;
3003
201
                }
3004
519
              } else {
3005
268
                goto yy838;
3006
268
              }
3007
1.34k
            } else {
3008
1.34k
              if (yyaccept <= 89) {
3009
1.10k
                if (yyaccept == 88) {
3010
909
                  goto yy853;
3011
909
                } else {
3012
199
                  goto yy882;
3013
199
                }
3014
1.10k
              } else {
3015
234
                goto yy887;
3016
234
              }
3017
1.34k
            }
3018
16.6k
          } else {
3019
16.6k
            if (yyaccept <= 93) {
3020
14.6k
              if (yyaccept <= 92) {
3021
14.4k
                if (yyaccept == 91) {
3022
14.2k
                  goto yy860;
3023
14.2k
                } else {
3024
198
                  goto yy895;
3025
198
                }
3026
14.4k
              } else {
3027
206
                goto yy899;
3028
206
              }
3029
14.6k
            } else {
3030
2.08k
              if (yyaccept <= 95) {
3031
1.89k
                if (yyaccept == 94) {
3032
1.69k
                  goto yy870;
3033
1.69k
                } else {
3034
200
                  goto yy915;
3035
200
                }
3036
1.89k
              } else {
3037
194
                goto yy935;
3038
194
              }
3039
2.08k
            }
3040
16.6k
          }
3041
18.8k
        }
3042
24.1k
      }
3043
226k
    }
3044
314k
yy87:
3045
314k
    YYDEBUG(87, *YYCURSOR);
3046
314k
    ++YYCURSOR;
3047
314k
    YYFILL(1);
3048
314k
    yych = *YYCURSOR;
3049
314k
    if (yych <= '\f') {
3050
124k
      if (yych <= 0x00) goto yy86;
3051
123k
      if (yych == '\n') goto yy227;
3052
1.24k
      goto yy225;
3053
189k
    } else {
3054
189k
      if (yych <= '\r') goto yy227;
3055
65.1k
      if (yych == '[') goto yy86;
3056
64.7k
      goto yy225;
3057
65.1k
    }
3058
29.1k
yy88:
3059
29.1k
    YYDEBUG(88, *YYCURSOR);
3060
29.1k
    ++YYCURSOR;
3061
41.1k
yy89:
3062
41.1k
    YYDEBUG(89, *YYCURSOR);
3063
41.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3064
41.1k
#line 1894 "Zend/zend_language_scanner.l"
3065
41.1k
    {
3066
41.1k
  yyless(1);
3067
41.1k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3068
41.1k
}
3069
0
#line 3070 "Zend/zend_language_scanner.c"
3070
36.7k
yy90:
3071
36.7k
    YYDEBUG(90, *YYCURSOR);
3072
36.7k
    ++YYCURSOR;
3073
36.7k
    YYDEBUG(91, *YYCURSOR);
3074
36.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3075
36.7k
#line 1870 "Zend/zend_language_scanner.l"
3076
36.7k
    {
3077
36.7k
  RETURN_TOKEN(T_BOOLEAN_AND);
3078
36.7k
}
3079
0
#line 3080 "Zend/zend_language_scanner.c"
3080
5.12k
yy92:
3081
5.12k
    YYDEBUG(92, *YYCURSOR);
3082
5.12k
    yych = *++YYCURSOR;
3083
5.12k
    if (yych == '.') goto yy229;
3084
3.05k
    goto yy86;
3085
22.1k
yy93:
3086
22.1k
    YYDEBUG(93, *YYCURSOR);
3087
22.1k
    ++YYCURSOR;
3088
22.1k
    YYFILL(1);
3089
22.1k
    yych = *YYCURSOR;
3090
22.1k
    if (yych == '*') goto yy230;
3091
4.56k
    if (yych == '/') goto yy225;
3092
1.44k
    goto yy86;
3093
29.7k
yy94:
3094
29.7k
    YYDEBUG(94, *YYCURSOR);
3095
29.7k
    ++YYCURSOR;
3096
29.7k
    YYDEBUG(95, *YYCURSOR);
3097
29.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3098
29.7k
#line 1846 "Zend/zend_language_scanner.l"
3099
29.7k
    {
3100
29.7k
  RETURN_TOKEN(T_AND_EQUAL);
3101
29.7k
}
3102
0
#line 3103 "Zend/zend_language_scanner.c"
3103
233k
yy96:
3104
233k
    YYDEBUG(96, *YYCURSOR);
3105
233k
    ++YYCURSOR;
3106
233k
    YYFILL(7);
3107
233k
    yych = *YYCURSOR;
3108
543k
yy97:
3109
543k
    YYDEBUG(97, *YYCURSOR);
3110
543k
    if (yybm[0+yych] & 1) {
3111
233k
      goto yy96;
3112
233k
    }
3113
310k
    switch (yych) {
3114
7.17k
    case 'A':
3115
50.7k
    case 'a': goto yy98;
3116
8.25k
    case 'B':
3117
20.8k
    case 'b': goto yy99;
3118
2.03k
    case 'D':
3119
11.3k
    case 'd': goto yy100;
3120
3.47k
    case 'F':
3121
35.0k
    case 'f': goto yy101;
3122
2.47k
    case 'I':
3123
45.5k
    case 'i': goto yy102;
3124
4.56k
    case 'O':
3125
12.8k
    case 'o': goto yy103;
3126
1.94k
    case 'R':
3127
11.9k
    case 'r': goto yy104;
3128
3.72k
    case 'S':
3129
42.0k
    case 's': goto yy105;
3130
1.64k
    case 'U':
3131
7.25k
    case 'u': goto yy106;
3132
1.20k
    case 'V':
3133
6.32k
    case 'v': goto yy107;
3134
66.4k
    default:  goto yy86;
3135
310k
    }
3136
50.7k
yy98:
3137
50.7k
    YYDEBUG(98, *YYCURSOR);
3138
50.7k
    yych = *++YYCURSOR;
3139
50.7k
    if (yych == 'R') goto yy232;
3140
50.0k
    if (yych == 'r') goto yy232;
3141
32.0k
    goto yy86;
3142
32.0k
yy99:
3143
20.8k
    YYDEBUG(99, *YYCURSOR);
3144
20.8k
    yych = *++YYCURSOR;
3145
20.8k
    if (yych <= 'O') {
3146
10.1k
      if (yych == 'I') goto yy233;
3147
9.73k
      if (yych <= 'N') goto yy86;
3148
1.40k
      goto yy234;
3149
10.6k
    } else {
3150
10.6k
      if (yych <= 'i') {
3151
5.25k
        if (yych <= 'h') goto yy86;
3152
2.14k
        goto yy233;
3153
5.38k
      } else {
3154
5.38k
        if (yych == 'o') goto yy234;
3155
1.61k
        goto yy86;
3156
5.38k
      }
3157
10.6k
    }
3158
11.3k
yy100:
3159
11.3k
    YYDEBUG(100, *YYCURSOR);
3160
11.3k
    yych = *++YYCURSOR;
3161
11.3k
    if (yych == 'O') goto yy235;
3162
10.8k
    if (yych == 'o') goto yy235;
3163
6.44k
    goto yy86;
3164
35.0k
yy101:
3165
35.0k
    YYDEBUG(101, *YYCURSOR);
3166
35.0k
    yych = *++YYCURSOR;
3167
35.0k
    if (yych == 'L') goto yy236;
3168
34.3k
    if (yych == 'l') goto yy236;
3169
29.6k
    goto yy86;
3170
45.5k
yy102:
3171
45.5k
    YYDEBUG(102, *YYCURSOR);
3172
45.5k
    yych = *++YYCURSOR;
3173
45.5k
    if (yych == 'N') goto yy237;
3174
44.2k
    if (yych == 'n') goto yy237;
3175
29.8k
    goto yy86;
3176
29.8k
yy103:
3177
12.8k
    YYDEBUG(103, *YYCURSOR);
3178
12.8k
    yych = *++YYCURSOR;
3179
12.8k
    if (yych == 'B') goto yy238;
3180
12.2k
    if (yych == 'b') goto yy238;
3181
5.77k
    goto yy86;
3182
11.9k
yy104:
3183
11.9k
    YYDEBUG(104, *YYCURSOR);
3184
11.9k
    yych = *++YYCURSOR;
3185
11.9k
    if (yych == 'E') goto yy239;
3186
11.4k
    if (yych == 'e') goto yy239;
3187
4.41k
    goto yy86;
3188
42.0k
yy105:
3189
42.0k
    YYDEBUG(105, *YYCURSOR);
3190
42.0k
    yych = *++YYCURSOR;
3191
42.0k
    if (yych == 'T') goto yy240;
3192
41.1k
    if (yych == 't') goto yy240;
3193
23.0k
    goto yy86;
3194
23.0k
yy106:
3195
7.25k
    YYDEBUG(106, *YYCURSOR);
3196
7.25k
    yych = *++YYCURSOR;
3197
7.25k
    if (yych == 'N') goto yy241;
3198
6.42k
    if (yych == 'n') goto yy241;
3199
2.28k
    goto yy86;
3200
6.32k
yy107:
3201
6.32k
    YYDEBUG(107, *YYCURSOR);
3202
6.32k
    yych = *++YYCURSOR;
3203
6.32k
    if (yych == 'O') goto yy242;
3204
5.96k
    if (yych == 'o') goto yy242;
3205
3.37k
    goto yy86;
3206
28.6k
yy108:
3207
28.6k
    YYDEBUG(108, *YYCURSOR);
3208
28.6k
    yych = *++YYCURSOR;
3209
28.6k
    if (yych == '=') goto yy243;
3210
28.1k
    YYDEBUG(109, *YYCURSOR);
3211
28.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3212
28.1k
#line 1818 "Zend/zend_language_scanner.l"
3213
28.1k
    {
3214
28.1k
  RETURN_TOKEN(T_POW);
3215
28.1k
}
3216
0
#line 3217 "Zend/zend_language_scanner.c"
3217
6.49k
yy110:
3218
6.49k
    YYDEBUG(110, *YYCURSOR);
3219
6.49k
    ++YYCURSOR;
3220
6.49k
    YYDEBUG(111, *YYCURSOR);
3221
6.49k
    yyleng = YYCURSOR - SCNG(yy_text);
3222
6.49k
#line 1814 "Zend/zend_language_scanner.l"
3223
6.49k
    {
3224
6.49k
  RETURN_TOKEN(T_MUL_EQUAL);
3225
6.49k
}
3226
0
#line 3227 "Zend/zend_language_scanner.c"
3227
36.9k
yy112:
3228
36.9k
    YYDEBUG(112, *YYCURSOR);
3229
36.9k
    ++YYCURSOR;
3230
36.9k
    YYDEBUG(113, *YYCURSOR);
3231
36.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3232
36.9k
#line 1770 "Zend/zend_language_scanner.l"
3233
36.9k
    {
3234
36.9k
  RETURN_TOKEN(T_INC);
3235
36.9k
}
3236
0
#line 3237 "Zend/zend_language_scanner.c"
3237
5.35k
yy114:
3238
5.35k
    YYDEBUG(114, *YYCURSOR);
3239
5.35k
    ++YYCURSOR;
3240
5.35k
    YYDEBUG(115, *YYCURSOR);
3241
5.35k
    yyleng = YYCURSOR - SCNG(yy_text);
3242
5.35k
#line 1806 "Zend/zend_language_scanner.l"
3243
5.35k
    {
3244
5.35k
  RETURN_TOKEN(T_PLUS_EQUAL);
3245
5.35k
}
3246
0
#line 3247 "Zend/zend_language_scanner.c"
3247
30.5k
yy116:
3248
30.5k
    YYDEBUG(116, *YYCURSOR);
3249
30.5k
    ++YYCURSOR;
3250
30.5k
    YYDEBUG(117, *YYCURSOR);
3251
30.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3252
30.5k
#line 1774 "Zend/zend_language_scanner.l"
3253
30.5k
    {
3254
30.5k
  RETURN_TOKEN(T_DEC);
3255
30.5k
}
3256
0
#line 3257 "Zend/zend_language_scanner.c"
3257
3.51k
yy118:
3258
3.51k
    YYDEBUG(118, *YYCURSOR);
3259
3.51k
    ++YYCURSOR;
3260
3.51k
    YYDEBUG(119, *YYCURSOR);
3261
3.51k
    yyleng = YYCURSOR - SCNG(yy_text);
3262
3.51k
#line 1810 "Zend/zend_language_scanner.l"
3263
3.51k
    {
3264
3.51k
  RETURN_TOKEN(T_MINUS_EQUAL);
3265
3.51k
}
3266
0
#line 3267 "Zend/zend_language_scanner.c"
3267
160k
yy120:
3268
160k
    YYDEBUG(120, *YYCURSOR);
3269
160k
    ++YYCURSOR;
3270
160k
    YYDEBUG(121, *YYCURSOR);
3271
160k
    yyleng = YYCURSOR - SCNG(yy_text);
3272
160k
#line 1571 "Zend/zend_language_scanner.l"
3273
160k
    {
3274
160k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3275
160k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3276
160k
}
3277
0
#line 3278 "Zend/zend_language_scanner.c"
3278
80.7k
yy122:
3279
80.7k
    YYDEBUG(122, *YYCURSOR);
3280
80.7k
    yych = *++YYCURSOR;
3281
80.7k
    if (yych == '.') goto yy245;
3282
20.4k
    goto yy86;
3283
550k
yy123:
3284
550k
    YYDEBUG(123, *YYCURSOR);
3285
550k
    yyaccept = 5;
3286
550k
    YYMARKER = ++YYCURSOR;
3287
550k
    YYFILL(2);
3288
550k
    yych = *YYCURSOR;
3289
614k
yy124:
3290
614k
    YYDEBUG(124, *YYCURSOR);
3291
614k
    if (yych <= 'E') {
3292
583k
      if (yych <= '/') goto yy125;
3293
527k
      if (yych <= '9') goto yy123;
3294
27.0k
      if (yych >= 'E') goto yy135;
3295
30.8k
    } else {
3296
30.8k
      if (yych <= '_') {
3297
8.74k
        if (yych >= '_') goto yy247;
3298
22.1k
      } else {
3299
22.1k
        if (yych == 'e') goto yy135;
3300
22.1k
      }
3301
30.8k
    }
3302
148k
yy125:
3303
148k
    YYDEBUG(125, *YYCURSOR);
3304
148k
    yyleng = YYCURSOR - SCNG(yy_text);
3305
148k
#line 2177 "Zend/zend_language_scanner.l"
3306
148k
    {
3307
148k
  const char *end;
3308
148k
  size_t len = yyleng;
3309
148k
  char *dnum = yytext;
3310
148k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3311
3312
148k
  if (contains_underscores) {
3313
2.43k
    dnum = estrndup(dnum, len);
3314
2.43k
    strip_underscores(dnum, &len);
3315
2.43k
  }
3316
3317
148k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3318
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3319
148k
  ZEND_ASSERT(end == dnum + len);
3320
148k
  if (contains_underscores) {
3321
2.43k
    efree(dnum);
3322
2.43k
  }
3323
148k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3324
148k
}
3325
0
#line 3326 "Zend/zend_language_scanner.c"
3326
201k
yy126:
3327
201k
    YYDEBUG(126, *YYCURSOR);
3328
201k
    ++YYCURSOR;
3329
201k
    YYDEBUG(127, *YYCURSOR);
3330
201k
    yyleng = YYCURSOR - SCNG(yy_text);
3331
201k
#line 1830 "Zend/zend_language_scanner.l"
3332
201k
    {
3333
201k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3334
201k
}
3335
0
#line 3336 "Zend/zend_language_scanner.c"
3336
206k
yy128:
3337
206k
    YYDEBUG(128, *YYCURSOR);
3338
206k
    yyaccept = 6;
3339
206k
    yych = *(YYMARKER = ++YYCURSOR);
3340
206k
    if (yych == '*') goto yy248;
3341
206k
yy129:
3342
206k
    YYDEBUG(129, *YYCURSOR);
3343
206k
    yyleng = YYCURSOR - SCNG(yy_text);
3344
206k
#line 2428 "Zend/zend_language_scanner.l"
3345
206k
    {
3346
206k
  int doc_com;
3347
3348
206k
  if (yyleng > 2) {
3349
8.75k
    doc_com = 1;
3350
8.75k
    RESET_DOC_COMMENT();
3351
197k
  } else {
3352
197k
    doc_com = 0;
3353
197k
  }
3354
3355
12.6M
  while (YYCURSOR < YYLIMIT) {
3356
12.6M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3357
176k
      break;
3358
176k
    }
3359
12.6M
  }
3360
3361
206k
  if (YYCURSOR < YYLIMIT) {
3362
176k
    YYCURSOR++;
3363
176k
  } else {
3364
29.4k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
3365
29.4k
    if (PARSER_MODE()) {
3366
1.26k
      RETURN_TOKEN(T_ERROR);
3367
1.26k
    }
3368
29.4k
  }
3369
3370
204k
  yyleng = YYCURSOR - SCNG(yy_text);
3371
204k
  HANDLE_NEWLINES(yytext, yyleng);
3372
3373
204k
  if (doc_com) {
3374
8.67k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3375
8.67k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3376
8.67k
  }
3377
3378
196k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3379
196k
}
3380
0
#line 3381 "Zend/zend_language_scanner.c"
3381
116k
yy130:
3382
116k
    YYDEBUG(130, *YYCURSOR);
3383
116k
    ++YYCURSOR;
3384
116k
    goto yy13;
3385
3.43k
yy131:
3386
3.43k
    YYDEBUG(131, *YYCURSOR);
3387
3.43k
    ++YYCURSOR;
3388
3.43k
    YYDEBUG(132, *YYCURSOR);
3389
3.43k
    yyleng = YYCURSOR - SCNG(yy_text);
3390
3.43k
#line 1826 "Zend/zend_language_scanner.l"
3391
3.43k
    {
3392
3.43k
  RETURN_TOKEN(T_DIV_EQUAL);
3393
3.43k
}
3394
0
#line 3395 "Zend/zend_language_scanner.c"
3395
64.4k
yy133:
3396
64.4k
    YYDEBUG(133, *YYCURSOR);
3397
64.4k
    yyaccept = 5;
3398
64.4k
    yych = *(YYMARKER = ++YYCURSOR);
3399
64.4k
    if (yych == '_') goto yy125;
3400
63.4k
    goto yy124;
3401
63.4k
yy134:
3402
11.0k
    YYDEBUG(134, *YYCURSOR);
3403
11.0k
    ++YYCURSOR;
3404
11.0k
    YYFILL(1);
3405
11.0k
    yych = *YYCURSOR;
3406
11.0k
    if (yybm[0+yych] & 8) {
3407
9.19k
      goto yy249;
3408
9.19k
    }
3409
1.88k
    goto yy86;
3410
59.0k
yy135:
3411
59.0k
    YYDEBUG(135, *YYCURSOR);
3412
59.0k
    yych = *++YYCURSOR;
3413
59.0k
    if (yych <= ',') {
3414
4.82k
      if (yych == '+') goto yy252;
3415
3.26k
      goto yy86;
3416
54.2k
    } else {
3417
54.2k
      if (yych <= '-') goto yy252;
3418
36.4k
      if (yych <= '/') goto yy86;
3419
35.6k
      if (yych <= '9') goto yy253;
3420
9.33k
      goto yy86;
3421
35.6k
    }
3422
5.04k
yy136:
3423
5.04k
    YYDEBUG(136, *YYCURSOR);
3424
5.04k
    ++YYCURSOR;
3425
5.04k
    YYFILL(1);
3426
5.04k
    yych = *YYCURSOR;
3427
5.04k
    if (yybm[0+yych] & 16) {
3428
3.19k
      goto yy255;
3429
3.19k
    }
3430
1.84k
    goto yy86;
3431
14.5k
yy137:
3432
14.5k
    YYDEBUG(137, *YYCURSOR);
3433
14.5k
    ++YYCURSOR;
3434
14.5k
    YYFILL(1);
3435
14.5k
    yych = *YYCURSOR;
3436
14.5k
    if (yybm[0+yych] & 32) {
3437
12.7k
      goto yy258;
3438
12.7k
    }
3439
1.83k
    goto yy86;
3440
15.5k
yy138:
3441
15.5k
    YYDEBUG(138, *YYCURSOR);
3442
15.5k
    ++YYCURSOR;
3443
15.5k
    YYFILL(1);
3444
15.5k
    yych = *YYCURSOR;
3445
15.5k
    if (yybm[256+yych] & 64) {
3446
4.88k
      goto yy32;
3447
4.88k
    }
3448
10.6k
    goto yy86;
3449
135k
yy139:
3450
135k
    YYDEBUG(139, *YYCURSOR);
3451
135k
    ++YYCURSOR;
3452
135k
    YYDEBUG(140, *YYCURSOR);
3453
135k
    yyleng = YYCURSOR - SCNG(yy_text);
3454
135k
#line 1598 "Zend/zend_language_scanner.l"
3455
135k
    {
3456
135k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3457
135k
}
3458
0
#line 3459 "Zend/zend_language_scanner.c"
3459
4.89M
yy141:
3460
4.89M
    YYDEBUG(141, *YYCURSOR);
3461
4.89M
    yyaccept = 7;
3462
4.89M
    yych = *(YYMARKER = ++YYCURSOR);
3463
4.89M
    if (yych <= ';') goto yy142;
3464
4.78M
    if (yych <= '<') goto yy261;
3465
261k
    if (yych <= '=') goto yy263;
3466
719k
yy142:
3467
719k
    YYDEBUG(142, *YYCURSOR);
3468
719k
    yyleng = YYCURSOR - SCNG(yy_text);
3469
719k
#line 1886 "Zend/zend_language_scanner.l"
3470
719k
    {
3471
719k
  RETURN_TOKEN(T_SL);
3472
719k
}
3473
0
#line 3474 "Zend/zend_language_scanner.c"
3474
12.4k
yy143:
3475
12.4k
    YYDEBUG(143, *YYCURSOR);
3476
12.4k
    yych = *++YYCURSOR;
3477
12.4k
    if (yych == '>') goto yy265;
3478
11.2k
    YYDEBUG(144, *YYCURSOR);
3479
11.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3480
11.2k
#line 1798 "Zend/zend_language_scanner.l"
3481
11.2k
    {
3482
11.2k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3483
11.2k
}
3484
0
#line 3485 "Zend/zend_language_scanner.c"
3485
9.19k
yy145:
3486
9.19k
    YYDEBUG(145, *YYCURSOR);
3487
9.19k
    ++YYCURSOR;
3488
9.19k
    goto yy76;
3489
51.0k
yy146:
3490
51.0k
    YYDEBUG(146, *YYCURSOR);
3491
51.0k
    yych = *++YYCURSOR;
3492
51.0k
    if (yych == '=') goto yy267;
3493
29.5k
    YYDEBUG(147, *YYCURSOR);
3494
29.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3495
29.5k
#line 1786 "Zend/zend_language_scanner.l"
3496
29.5k
    {
3497
29.5k
  RETURN_TOKEN(T_IS_EQUAL);
3498
29.5k
}
3499
0
#line 3500 "Zend/zend_language_scanner.c"
3500
64.8k
yy148:
3501
64.8k
    YYDEBUG(148, *YYCURSOR);
3502
64.8k
    ++YYCURSOR;
3503
64.8k
    YYDEBUG(149, *YYCURSOR);
3504
64.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3505
64.8k
#line 1754 "Zend/zend_language_scanner.l"
3506
64.8k
    {
3507
64.8k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3508
64.8k
}
3509
0
#line 3510 "Zend/zend_language_scanner.c"
3510
4.76k
yy150:
3511
4.76k
    YYDEBUG(150, *YYCURSOR);
3512
4.76k
    ++YYCURSOR;
3513
4.76k
    YYDEBUG(151, *YYCURSOR);
3514
4.76k
    yyleng = YYCURSOR - SCNG(yy_text);
3515
4.76k
#line 1802 "Zend/zend_language_scanner.l"
3516
4.76k
    {
3517
4.76k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3518
4.76k
}
3519
0
#line 3520 "Zend/zend_language_scanner.c"
3520
19.7k
yy152:
3521
19.7k
    YYDEBUG(152, *YYCURSOR);
3522
19.7k
    yych = *++YYCURSOR;
3523
19.7k
    if (yych == '=') goto yy269;
3524
18.0k
    YYDEBUG(153, *YYCURSOR);
3525
18.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3526
18.0k
#line 1890 "Zend/zend_language_scanner.l"
3527
18.0k
    {
3528
18.0k
  RETURN_TOKEN(T_SR);
3529
18.0k
}
3530
0
#line 3531 "Zend/zend_language_scanner.c"
3531
65.6k
yy154:
3532
65.6k
    YYDEBUG(154, *YYCURSOR);
3533
65.6k
    yych = *++YYCURSOR;
3534
65.6k
    if (yych == '>') goto yy271;
3535
5.00k
    goto yy86;
3536
150k
yy155:
3537
150k
    YYDEBUG(155, *YYCURSOR);
3538
150k
    yych = *++YYCURSOR;
3539
150k
    if (yych == '\n') goto yy273;
3540
141k
    if (yych == '\r') goto yy274;
3541
150k
yy156:
3542
150k
    YYDEBUG(156, *YYCURSOR);
3543
150k
    yyleng = YYCURSOR - SCNG(yy_text);
3544
150k
#line 2470 "Zend/zend_language_scanner.l"
3545
150k
    {
3546
150k
  BEGIN(INITIAL);
3547
150k
  if (yytext[yyleng-1] != '>') {
3548
10.0k
    CG(increment_lineno) = 1;
3549
10.0k
  }
3550
150k
  if (PARSER_MODE()) {
3551
121k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3552
121k
  }
3553
28.9k
  RETURN_TOKEN(T_CLOSE_TAG);
3554
28.9k
}
3555
0
#line 3556 "Zend/zend_language_scanner.c"
3556
45.4k
yy157:
3557
45.4k
    YYDEBUG(157, *YYCURSOR);
3558
45.4k
    yych = *++YYCURSOR;
3559
45.4k
    if (yych == '=') goto yy275;
3560
36.1k
    YYDEBUG(158, *YYCURSOR);
3561
36.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3562
36.1k
#line 1606 "Zend/zend_language_scanner.l"
3563
36.1k
    {
3564
36.1k
  RETURN_TOKEN(T_COALESCE);
3565
36.1k
}
3566
0
#line 3567 "Zend/zend_language_scanner.c"
3567
19.9k
yy159:
3568
19.9k
    YYDEBUG(159, *YYCURSOR);
3569
19.9k
    yyaccept = 4;
3570
19.9k
    yych = *(YYMARKER = ++YYCURSOR);
3571
19.9k
    if (yych == 'S') goto yy277;
3572
16.8k
    if (yych == 's') goto yy277;
3573
7.33k
    goto yy48;
3574
17.6k
yy160:
3575
17.6k
    YYDEBUG(160, *YYCURSOR);
3576
17.6k
    yyaccept = 4;
3577
17.6k
    yych = *(YYMARKER = ++YYCURSOR);
3578
17.6k
    if (yych == 'D') goto yy278;
3579
15.8k
    if (yych == 'd') goto yy278;
3580
4.16k
    goto yy48;
3581
51.7k
yy161:
3582
51.7k
    YYDEBUG(161, *YYCURSOR);
3583
51.7k
    yyaccept = 4;
3584
51.7k
    yych = *(YYMARKER = ++YYCURSOR);
3585
51.7k
    if (yych == 'R') goto yy280;
3586
50.1k
    if (yych == 'r') goto yy280;
3587
11.5k
    goto yy48;
3588
75.6k
yy162:
3589
75.6k
    YYDEBUG(162, *YYCURSOR);
3590
75.6k
    yyaccept = 8;
3591
75.6k
    yych = *(YYMARKER = ++YYCURSOR);
3592
75.6k
    if (yybm[256+yych] & 128) {
3593
41.5k
      goto yy47;
3594
41.5k
    }
3595
34.1k
    if (yych == '\\') goto yy164;
3596
34.0k
yy163:
3597
34.0k
    YYDEBUG(163, *YYCURSOR);
3598
34.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3599
34.0k
#line 1494 "Zend/zend_language_scanner.l"
3600
34.0k
    {
3601
34.0k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3602
34.0k
}
3603
0
#line 3604 "Zend/zend_language_scanner.c"
3604
105k
yy164:
3605
105k
    YYDEBUG(164, *YYCURSOR);
3606
105k
    ++YYCURSOR;
3607
105k
    YYFILL(1);
3608
105k
    yych = *YYCURSOR;
3609
105k
    if (yych <= '_') {
3610
66.5k
      if (yych <= '@') goto yy86;
3611
36.3k
      if (yych <= 'Z') goto yy281;
3612
20.8k
      if (yych <= '^') goto yy86;
3613
1.75k
      goto yy281;
3614
38.8k
    } else {
3615
38.8k
      if (yych <= '`') goto yy86;
3616
37.6k
      if (yych <= 'z') goto yy281;
3617
14.0k
      if (yych <= 0x7F) goto yy86;
3618
7.85k
      goto yy281;
3619
14.0k
    }
3620
7.81k
yy165:
3621
7.81k
    YYDEBUG(165, *YYCURSOR);
3622
7.81k
    yych = *++YYCURSOR;
3623
7.81k
    if (yych == '<') goto yy284;
3624
2.17k
    goto yy86;
3625
10.9k
yy166:
3626
10.9k
    YYDEBUG(166, *YYCURSOR);
3627
10.9k
    yyaccept = 4;
3628
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
3629
10.9k
    if (yych == 'E') goto yy285;
3630
7.55k
    if (yych == 'e') goto yy285;
3631
1.82k
    goto yy48;
3632
109k
yy167:
3633
109k
    YYDEBUG(167, *YYCURSOR);
3634
109k
    yyaccept = 4;
3635
109k
    yych = *(YYMARKER = ++YYCURSOR);
3636
109k
    if (yych <= 'T') {
3637
8.22k
      if (yych <= 'L') {
3638
4.61k
        if (yych <= 'K') goto yy48;
3639
1.65k
        goto yy286;
3640
4.61k
      } else {
3641
3.61k
        if (yych <= 'R') goto yy48;
3642
3.13k
        if (yych <= 'S') goto yy287;
3643
1.33k
        goto yy288;
3644
3.13k
      }
3645
101k
    } else {
3646
101k
      if (yych <= 'r') {
3647
24.5k
        if (yych == 'l') goto yy286;
3648
3.44k
        goto yy48;
3649
76.9k
      } else {
3650
76.9k
        if (yych <= 's') goto yy287;
3651
63.1k
        if (yych <= 't') goto yy288;
3652
1.23k
        goto yy48;
3653
63.1k
      }
3654
101k
    }
3655
130k
yy168:
3656
130k
    YYDEBUG(168, *YYCURSOR);
3657
130k
    yyaccept = 4;
3658
130k
    yych = *(YYMARKER = ++YYCURSOR);
3659
130k
    if (yych <= 'O') {
3660
11.3k
      if (yych == 'A') goto yy289;
3661
9.18k
      if (yych <= 'N') goto yy48;
3662
3.14k
      goto yy290;
3663
119k
    } else {
3664
119k
      if (yych <= 'a') {
3665
102k
        if (yych <= '`') goto yy48;
3666
102k
        goto yy289;
3667
102k
      } else {
3668
16.8k
        if (yych == 'o') goto yy290;
3669
5.68k
        goto yy48;
3670
16.8k
      }
3671
119k
    }
3672
201k
yy169:
3673
201k
    YYDEBUG(169, *YYCURSOR);
3674
201k
    yyaccept = 4;
3675
201k
    yych = *(YYMARKER = ++YYCURSOR);
3676
201k
    if (yych == 'N') goto yy291;
3677
189k
    if (yych == 'n') goto yy291;
3678
12.1k
    goto yy48;
3679
40.2k
yy170:
3680
40.2k
    YYDEBUG(170, *YYCURSOR);
3681
40.2k
    yyaccept = 4;
3682
40.2k
    yych = *(YYMARKER = ++YYCURSOR);
3683
40.2k
    if (yych <= 'F') {
3684
11.7k
      if (yych == 'C') goto yy292;
3685
9.46k
      if (yych <= 'E') goto yy48;
3686
3.72k
      goto yy293;
3687
28.5k
    } else {
3688
28.5k
      if (yych <= 'c') {
3689
11.9k
        if (yych <= 'b') goto yy48;
3690
8.85k
        goto yy292;
3691
16.6k
      } else {
3692
16.6k
        if (yych == 'f') goto yy293;
3693
5.18k
        goto yy48;
3694
16.6k
      }
3695
28.5k
    }
3696
10.6k
yy171:
3697
10.6k
    YYDEBUG(171, *YYCURSOR);
3698
10.6k
    yyaccept = 4;
3699
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
3700
10.6k
    if (yych == 'E') goto yy294;
3701
9.38k
    if (yych == 'e') goto yy294;
3702
3.08k
    goto yy48;
3703
43.7k
yy172:
3704
43.7k
    YYDEBUG(172, *YYCURSOR);
3705
43.7k
    yyaccept = 9;
3706
43.7k
    yych = *(YYMARKER = ++YYCURSOR);
3707
43.7k
    if (yybm[256+yych] & 128) {
3708
35.1k
      goto yy47;
3709
35.1k
    }
3710
8.65k
    if (yych == '\\') goto yy164;
3711
8.57k
yy173:
3712
8.57k
    YYDEBUG(173, *YYCURSOR);
3713
8.57k
    yyleng = YYCURSOR - SCNG(yy_text);
3714
8.57k
#line 1462 "Zend/zend_language_scanner.l"
3715
8.57k
    {
3716
8.57k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3717
8.57k
}
3718
0
#line 3719 "Zend/zend_language_scanner.c"
3719
128k
yy174:
3720
128k
    YYDEBUG(174, *YYCURSOR);
3721
128k
    yyaccept = 4;
3722
128k
    yych = *(YYMARKER = ++YYCURSOR);
3723
128k
    if (yych == 'H') goto yy296;
3724
127k
    if (yych == 'h') goto yy296;
3725
8.06k
    goto yy48;
3726
32.8k
yy175:
3727
32.8k
    YYDEBUG(175, *YYCURSOR);
3728
32.8k
    yyaccept = 4;
3729
32.8k
    yych = *(YYMARKER = ++YYCURSOR);
3730
32.8k
    if (yych == 'S') goto yy297;
3731
23.8k
    if (yych == 's') goto yy297;
3732
6.20k
    goto yy48;
3733
13.3k
yy176:
3734
13.3k
    YYDEBUG(176, *YYCURSOR);
3735
13.3k
    yyaccept = 4;
3736
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
3737
13.3k
    if (yych == 'P') goto yy298;
3738
11.2k
    if (yych == 'p') goto yy298;
3739
5.67k
    goto yy48;
3740
343k
yy177:
3741
343k
    YYDEBUG(177, *YYCURSOR);
3742
343k
    yyaccept = 4;
3743
343k
    yych = *(YYMARKER = ++YYCURSOR);
3744
343k
    if (yych <= 'U') {
3745
56.0k
      if (yych == 'D') goto yy299;
3746
12.4k
      if (yych <= 'T') goto yy48;
3747
2.02k
      goto yy300;
3748
286k
    } else {
3749
286k
      if (yych <= 'd') {
3750
47.0k
        if (yych <= 'c') goto yy48;
3751
43.8k
        goto yy299;
3752
239k
      } else {
3753
239k
        if (yych == 'u') goto yy300;
3754
15.0k
        goto yy48;
3755
239k
      }
3756
286k
    }
3757
14.0k
yy178:
3758
14.0k
    YYDEBUG(178, *YYCURSOR);
3759
14.0k
    yyaccept = 4;
3760
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
3761
14.0k
    if (yych == 'A') goto yy301;
3762
13.1k
    if (yych == 'a') goto yy301;
3763
2.14k
    goto yy48;
3764
104k
yy179:
3765
104k
    YYDEBUG(179, *YYCURSOR);
3766
104k
    yyaccept = 4;
3767
104k
    yych = *(YYMARKER = ++YYCURSOR);
3768
104k
    if (yych <= 'T') {
3769
22.9k
      if (yych == 'I') goto yy302;
3770
21.2k
      if (yych <= 'S') goto yy48;
3771
3.13k
      goto yy303;
3772
81.7k
    } else {
3773
81.7k
      if (yych <= 'i') {
3774
39.3k
        if (yych <= 'h') goto yy48;
3775
5.21k
        goto yy302;
3776
42.3k
      } else {
3777
42.3k
        if (yych == 't') goto yy303;
3778
9.02k
        goto yy48;
3779
42.3k
      }
3780
81.7k
    }
3781
31.9k
yy180:
3782
31.9k
    YYDEBUG(180, *YYCURSOR);
3783
31.9k
    yyaccept = 4;
3784
31.9k
    yych = *(YYMARKER = ++YYCURSOR);
3785
31.9k
    if (yych == 'N') goto yy304;
3786
27.6k
    if (yych == 'n') goto yy304;
3787
11.1k
    goto yy48;
3788
32.8k
yy181:
3789
32.8k
    YYDEBUG(181, *YYCURSOR);
3790
32.8k
    yyaccept = 10;
3791
32.8k
    yych = *(YYMARKER = ++YYCURSOR);
3792
32.8k
    if (yybm[256+yych] & 128) {
3793
3.64k
      goto yy47;
3794
3.64k
    }
3795
29.1k
    if (yych == '\\') goto yy164;
3796
29.1k
yy182:
3797
29.1k
    YYDEBUG(182, *YYCURSOR);
3798
29.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3799
29.1k
#line 1391 "Zend/zend_language_scanner.l"
3800
29.1k
    {
3801
29.1k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3802
29.1k
}
3803
0
#line 3804 "Zend/zend_language_scanner.c"
3804
160k
yy183:
3805
160k
    YYDEBUG(183, *YYCURSOR);
3806
160k
    yyaccept = 4;
3807
160k
    yych = *(YYMARKER = ++YYCURSOR);
3808
160k
    if (yych == 'R') goto yy305;
3809
156k
    if (yych == 'r') goto yy305;
3810
80.9k
    goto yy48;
3811
164k
yy184:
3812
164k
    YYDEBUG(184, *YYCURSOR);
3813
164k
    yyaccept = 4;
3814
164k
    yych = *(YYMARKER = ++YYCURSOR);
3815
164k
    if (yych == 'N') goto yy307;
3816
161k
    if (yych == 'n') goto yy307;
3817
7.44k
    goto yy48;
3818
13.4k
yy185:
3819
13.4k
    YYDEBUG(185, *YYCURSOR);
3820
13.4k
    yyaccept = 4;
3821
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
3822
13.4k
    if (yych == 'O') goto yy308;
3823
8.23k
    if (yych == 'o') goto yy308;
3824
935
    goto yy48;
3825
10.2k
yy186:
3826
10.2k
    YYDEBUG(186, *YYCURSOR);
3827
10.2k
    yyaccept = 4;
3828
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
3829
10.2k
    if (yych == 'T') goto yy309;
3830
7.86k
    if (yych == 't') goto yy309;
3831
1.42k
    goto yy48;
3832
35.2k
yy187:
3833
35.2k
    YYDEBUG(187, *YYCURSOR);
3834
35.2k
    yyaccept = 11;
3835
35.2k
    yych = *(YYMARKER = ++YYCURSOR);
3836
35.2k
    if (yybm[256+yych] & 128) {
3837
2.74k
      goto yy47;
3838
2.74k
    }
3839
32.5k
    if (yych == '\\') goto yy164;
3840
32.4k
yy188:
3841
32.4k
    YYDEBUG(188, *YYCURSOR);
3842
32.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3843
32.4k
#line 1438 "Zend/zend_language_scanner.l"
3844
32.4k
    {
3845
32.4k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3846
32.4k
}
3847
0
#line 3848 "Zend/zend_language_scanner.c"
3848
62.0k
yy189:
3849
62.0k
    YYDEBUG(189, *YYCURSOR);
3850
62.0k
    yyaccept = 4;
3851
62.0k
    yych = *(YYMARKER = ++YYCURSOR);
3852
62.0k
    if (yych == 'P') goto yy310;
3853
57.7k
    if (yych == 'p') goto yy310;
3854
14.4k
    goto yy48;
3855
144k
yy190:
3856
144k
    YYDEBUG(190, *YYCURSOR);
3857
144k
    yyaccept = 4;
3858
144k
    yych = *(YYMARKER = ++YYCURSOR);
3859
144k
    if (yych <= 'T') {
3860
36.0k
      if (yych <= 'C') {
3861
17.0k
        if (yych <= 'B') goto yy48;
3862
5.69k
        goto yy311;
3863
18.9k
      } else {
3864
18.9k
        if (yych <= 'R') goto yy48;
3865
10.0k
        if (yych <= 'S') goto yy312;
3866
3.27k
        goto yy313;
3867
10.0k
      }
3868
108k
    } else {
3869
108k
      if (yych <= 'r') {
3870
48.0k
        if (yych == 'c') goto yy311;
3871
25.8k
        goto yy48;
3872
60.9k
      } else {
3873
60.9k
        if (yych <= 's') goto yy312;
3874
38.7k
        if (yych <= 't') goto yy313;
3875
5.73k
        goto yy48;
3876
38.7k
      }
3877
108k
    }
3878
46.4k
yy191:
3879
46.4k
    YYDEBUG(191, *YYCURSOR);
3880
46.4k
    yyaccept = 4;
3881
46.4k
    yych = *(YYMARKER = ++YYCURSOR);
3882
46.4k
    if (yych == 'S') goto yy314;
3883
45.5k
    if (yych == 's') goto yy314;
3884
18.7k
    goto yy48;
3885
18.7k
yy192:
3886
16.0k
    YYDEBUG(192, *YYCURSOR);
3887
16.0k
    yyaccept = 4;
3888
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
3889
16.0k
    if (yych == 'S') goto yy315;
3890
13.2k
    if (yych == 's') goto yy315;
3891
4.74k
    goto yy48;
3892
10.7k
yy193:
3893
10.7k
    YYDEBUG(193, *YYCURSOR);
3894
10.7k
    yyaccept = 4;
3895
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
3896
10.7k
    if (yych == 'T') goto yy316;
3897
10.4k
    if (yych == 't') goto yy316;
3898
3.19k
    goto yy48;
3899
49.4k
yy194:
3900
49.4k
    YYDEBUG(194, *YYCURSOR);
3901
49.4k
    yyaccept = 4;
3902
49.4k
    yych = *(YYMARKER = ++YYCURSOR);
3903
49.4k
    if (yych == 'M') goto yy317;
3904
45.3k
    if (yych == 'm') goto yy317;
3905
4.21k
    goto yy48;
3906
138k
yy195:
3907
138k
    YYDEBUG(195, *YYCURSOR);
3908
138k
    yyaccept = 4;
3909
138k
    yych = *(YYMARKER = ++YYCURSOR);
3910
138k
    if (yych == 'W') goto yy318;
3911
136k
    if (yych == 'w') goto yy318;
3912
11.8k
    goto yy48;
3913
16.6k
yy196:
3914
16.6k
    YYDEBUG(196, *YYCURSOR);
3915
16.6k
    yyaccept = 12;
3916
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
3917
16.6k
    if (yybm[256+yych] & 128) {
3918
7.00k
      goto yy47;
3919
7.00k
    }
3920
9.59k
    if (yych == '\\') goto yy164;
3921
9.55k
yy197:
3922
9.55k
    YYDEBUG(197, *YYCURSOR);
3923
9.55k
    yyleng = YYCURSOR - SCNG(yy_text);
3924
9.55k
#line 1874 "Zend/zend_language_scanner.l"
3925
9.55k
    {
3926
9.55k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3927
9.55k
}
3928
0
#line 3929 "Zend/zend_language_scanner.c"
3929
79.6k
yy198:
3930
79.6k
    YYDEBUG(198, *YYCURSOR);
3931
79.6k
    yyaccept = 4;
3932
79.6k
    yych = *(YYMARKER = ++YYCURSOR);
3933
79.6k
    if (yych <= 'O') {
3934
12.6k
      if (yych == 'I') goto yy320;
3935
6.04k
      if (yych <= 'N') goto yy48;
3936
3.32k
      goto yy321;
3937
66.9k
    } else {
3938
66.9k
      if (yych <= 'i') {
3939
50.9k
        if (yych <= 'h') goto yy48;
3940
43.3k
        goto yy320;
3941
50.9k
      } else {
3942
15.9k
        if (yych == 'o') goto yy321;
3943
1.89k
        goto yy48;
3944
15.9k
      }
3945
66.9k
    }
3946
102k
yy199:
3947
102k
    YYDEBUG(199, *YYCURSOR);
3948
102k
    yyaccept = 4;
3949
102k
    yych = *(YYMARKER = ++YYCURSOR);
3950
102k
    if (yych == 'B') goto yy322;
3951
99.2k
    if (yych == 'b') goto yy322;
3952
4.59k
    goto yy48;
3953
135k
yy200:
3954
135k
    YYDEBUG(200, *YYCURSOR);
3955
135k
    yyaccept = 4;
3956
135k
    yych = *(YYMARKER = ++YYCURSOR);
3957
135k
    if (yych <= 'T') {
3958
15.8k
      if (yych <= 'P') {
3959
8.37k
        if (yych == 'A') goto yy323;
3960
7.72k
        goto yy48;
3961
8.37k
      } else {
3962
7.49k
        if (yych <= 'Q') goto yy324;
3963
2.66k
        if (yych <= 'S') goto yy48;
3964
2.05k
        goto yy325;
3965
2.66k
      }
3966
119k
    } else {
3967
119k
      if (yych <= 'p') {
3968
27.5k
        if (yych == 'a') goto yy323;
3969
14.8k
        goto yy48;
3970
92.4k
      } else {
3971
92.4k
        if (yych <= 'q') goto yy324;
3972
43.9k
        if (yych == 't') goto yy325;
3973
9.32k
        goto yy48;
3974
43.9k
      }
3975
119k
    }
3976
90.1k
yy201:
3977
90.1k
    YYDEBUG(201, *YYCURSOR);
3978
90.1k
    yyaccept = 4;
3979
90.1k
    yych = *(YYMARKER = ++YYCURSOR);
3980
90.1k
    if (yych == 'A') goto yy326;
3981
87.4k
    if (yych == 'a') goto yy326;
3982
55.4k
    goto yy48;
3983
55.4k
yy202:
3984
14.0k
    YYDEBUG(202, *YYCURSOR);
3985
14.0k
    yyaccept = 4;
3986
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
3987
14.0k
    if (yych == 'I') goto yy327;
3988
10.6k
    if (yych == 'i') goto yy327;
3989
1.04k
    goto yy48;
3990
24.7k
yy203:
3991
24.7k
    YYDEBUG(203, *YYCURSOR);
3992
24.7k
    yyaccept = 4;
3993
24.7k
    yych = *(YYMARKER = ++YYCURSOR);
3994
24.7k
    if (yych == 'R') goto yy328;
3995
23.6k
    if (yych == 'r') goto yy328;
3996
6.52k
    goto yy48;
3997
113k
yy204:
3998
113k
    YYDEBUG(204, *YYCURSOR);
3999
113k
    yyaccept = 4;
4000
113k
    yych = *(YYMARKER = ++YYCURSOR);
4001
113k
    if (yych <= 'Y') {
4002
8.96k
      if (yych == 'A') goto yy329;
4003
6.34k
      if (yych <= 'X') goto yy48;
4004
1.66k
      goto yy330;
4005
104k
    } else {
4006
104k
      if (yych <= 'a') {
4007
18.3k
        if (yych <= '`') goto yy48;
4008
17.8k
        goto yy329;
4009
85.7k
      } else {
4010
85.7k
        if (yych == 'y') goto yy330;
4011
16.6k
        goto yy48;
4012
85.7k
      }
4013
104k
    }
4014
26.6k
yy205:
4015
26.6k
    YYDEBUG(205, *YYCURSOR);
4016
26.6k
    yyaccept = 4;
4017
26.6k
    yych = *(YYMARKER = ++YYCURSOR);
4018
26.6k
    if (yych == 'S') goto yy332;
4019
25.2k
    if (yych == 's') goto yy332;
4020
5.54k
    goto yy48;
4021
22.3k
yy206:
4022
22.3k
    YYDEBUG(206, *YYCURSOR);
4023
22.3k
    yyaccept = 4;
4024
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
4025
22.3k
    if (yych == 'E') goto yy333;
4026
21.3k
    if (yych == 'e') goto yy333;
4027
1.92k
    goto yy48;
4028
159k
yy207:
4029
159k
    YYDEBUG(207, *YYCURSOR);
4030
159k
    yyaccept = 4;
4031
159k
    yych = *(YYMARKER = ++YYCURSOR);
4032
159k
    if (yych == 'R') goto yy335;
4033
158k
    if (yych == 'r') goto yy335;
4034
8.90k
    goto yy48;
4035
8.90k
yy208:
4036
8.28k
    YYDEBUG(208, *YYCURSOR);
4037
8.28k
    yyaccept = 4;
4038
8.28k
    yych = *(YYMARKER = ++YYCURSOR);
4039
8.28k
    if (yych == 'I') goto yy337;
4040
5.68k
    if (yych == 'i') goto yy337;
4041
1.11k
    goto yy48;
4042
8.47k
yy209:
4043
8.47k
    YYDEBUG(209, *YYCURSOR);
4044
8.47k
    yyaccept = 4;
4045
8.47k
    yych = *(YYMARKER = ++YYCURSOR);
4046
8.47k
    if (yych == 'R') goto yy338;
4047
7.23k
    if (yych == 'r') goto yy338;
4048
1.27k
    goto yy48;
4049
125k
yy210:
4050
125k
    YYDEBUG(210, *YYCURSOR);
4051
125k
    yyaccept = 4;
4052
125k
    yych = *(YYMARKER = ++YYCURSOR);
4053
125k
    if (yych == 'E') goto yy340;
4054
117k
    if (yych == 'e') goto yy340;
4055
5.08k
    goto yy48;
4056
409k
yy211:
4057
409k
    YYDEBUG(211, *YYCURSOR);
4058
409k
    yyaccept = 13;
4059
409k
    YYMARKER = ++YYCURSOR;
4060
409k
    YYFILL(1);
4061
409k
    yych = *YYCURSOR;
4062
409k
    YYDEBUG(212, *YYCURSOR);
4063
409k
    if (yych <= '\\') {
4064
142k
      if (yych <= '@') {
4065
74.5k
        if (yych <= '/') goto yy213;
4066
27.3k
        if (yych <= '9') goto yy211;
4067
67.5k
      } else {
4068
67.5k
        if (yych <= 'Z') goto yy211;
4069
21.4k
        if (yych >= '\\') goto yy341;
4070
21.4k
      }
4071
267k
    } else {
4072
267k
      if (yych <= '`') {
4073
9.52k
        if (yych == '_') goto yy211;
4074
257k
      } else {
4075
257k
        if (yych <= 'z') goto yy211;
4076
100k
        if (yych >= 0x80) goto yy211;
4077
100k
      }
4078
267k
    }
4079
79.0k
yy213:
4080
79.0k
    YYDEBUG(213, *YYCURSOR);
4081
79.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4082
79.0k
#line 2391 "Zend/zend_language_scanner.l"
4083
79.0k
    {
4084
79.0k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4085
79.0k
}
4086
0
#line 4087 "Zend/zend_language_scanner.c"
4087
1.05k
yy214:
4088
1.05k
    YYDEBUG(214, *YYCURSOR);
4089
1.05k
    ++YYCURSOR;
4090
1.05k
    YYDEBUG(215, *YYCURSOR);
4091
1.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4092
1.05k
#line 1854 "Zend/zend_language_scanner.l"
4093
1.05k
    {
4094
1.05k
  RETURN_TOKEN(T_XOR_EQUAL);
4095
1.05k
}
4096
0
#line 4097 "Zend/zend_language_scanner.c"
4097
176k
yy216:
4098
176k
    YYDEBUG(216, *YYCURSOR);
4099
176k
    yyaccept = 4;
4100
176k
    yych = *(YYMARKER = ++YYCURSOR);
4101
176k
    switch (yych) {
4102
6.23k
    case 'C':
4103
26.1k
    case 'c': goto yy342;
4104
8.10k
    case 'D':
4105
18.8k
    case 'd': goto yy343;
4106
20.1k
    case 'F':
4107
29.9k
    case 'f': goto yy344;
4108
1.20k
    case 'H':
4109
7.18k
    case 'h': goto yy345;
4110
4.96k
    case 'L':
4111
8.31k
    case 'l': goto yy346;
4112
18.9k
    case 'M':
4113
23.7k
    case 'm': goto yy347;
4114
8.26k
    case 'N':
4115
12.6k
    case 'n': goto yy348;
4116
5.94k
    case 'P':
4117
7.62k
    case 'p': goto yy349;
4118
5.05k
    case 'T':
4119
11.9k
    case 't': goto yy350;
4120
29.9k
    default:  goto yy48;
4121
176k
    }
4122
2.62k
yy217:
4123
2.62k
    YYDEBUG(217, *YYCURSOR);
4124
2.62k
    ++YYCURSOR;
4125
2.62k
    YYDEBUG(218, *YYCURSOR);
4126
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
4127
2.62k
#line 1850 "Zend/zend_language_scanner.l"
4128
2.62k
    {
4129
2.62k
  RETURN_TOKEN(T_OR_EQUAL);
4130
2.62k
}
4131
0
#line 4132 "Zend/zend_language_scanner.c"
4132
5.43k
yy219:
4133
5.43k
    YYDEBUG(219, *YYCURSOR);
4134
5.43k
    ++YYCURSOR;
4135
5.43k
    YYDEBUG(220, *YYCURSOR);
4136
5.43k
    yyleng = YYCURSOR - SCNG(yy_text);
4137
5.43k
#line 1862 "Zend/zend_language_scanner.l"
4138
5.43k
    {
4139
5.43k
  RETURN_TOKEN(T_PIPE);
4140
5.43k
}
4141
0
#line 4142 "Zend/zend_language_scanner.c"
4142
20.2k
yy221:
4143
20.2k
    YYDEBUG(221, *YYCURSOR);
4144
20.2k
    ++YYCURSOR;
4145
20.2k
    YYDEBUG(222, *YYCURSOR);
4146
20.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4147
20.2k
#line 1866 "Zend/zend_language_scanner.l"
4148
20.2k
    {
4149
20.2k
  RETURN_TOKEN(T_BOOLEAN_OR);
4150
20.2k
}
4151
0
#line 4152 "Zend/zend_language_scanner.c"
4152
2.77k
yy223:
4153
2.77k
    YYDEBUG(223, *YYCURSOR);
4154
2.77k
    ++YYCURSOR;
4155
2.77k
    YYDEBUG(224, *YYCURSOR);
4156
2.77k
    yyleng = YYCURSOR - SCNG(yy_text);
4157
2.77k
#line 1782 "Zend/zend_language_scanner.l"
4158
2.77k
    {
4159
2.77k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4160
2.77k
}
4161
0
#line 4162 "Zend/zend_language_scanner.c"
4162
1.31M
yy225:
4163
1.31M
    YYDEBUG(225, *YYCURSOR);
4164
1.31M
    ++YYCURSOR;
4165
1.31M
    YYFILL(1);
4166
1.31M
    yych = *YYCURSOR;
4167
1.31M
    YYDEBUG(226, *YYCURSOR);
4168
1.31M
    if (yybm[0+yych] & 2) {
4169
1.09M
      goto yy225;
4170
1.09M
    }
4171
218k
    if (yych <= 0x00) goto yy86;
4172
209k
    goto yy84;
4173
290k
yy227:
4174
290k
    YYDEBUG(227, *YYCURSOR);
4175
290k
    ++YYCURSOR;
4176
290k
    YYFILL(1);
4177
290k
    yych = *YYCURSOR;
4178
290k
    YYDEBUG(228, *YYCURSOR);
4179
290k
    if (yych <= 0x1F) {
4180
26.1k
      if (yych <= '\t') {
4181
3.40k
        if (yych <= 0x00) goto yy86;
4182
2.81k
        if (yych <= 0x08) goto yy225;
4183
1.31k
        goto yy227;
4184
22.7k
      } else {
4185
22.7k
        if (yych <= '\n') goto yy84;
4186
21.2k
        if (yych == '\r') goto yy84;
4187
7.15k
        goto yy225;
4188
21.2k
      }
4189
263k
    } else {
4190
263k
      if (yych <= '$') {
4191
38.0k
        if (yych <= ' ') goto yy227;
4192
34.4k
        if (yych <= '"') goto yy225;
4193
33.8k
        if (yych <= '#') goto yy351;
4194
10.3k
        goto yy352;
4195
225k
      } else {
4196
225k
        if (yych <= '-') goto yy225;
4197
173k
        if (yych <= '.') goto yy353;
4198
132k
        if (yych <= '/') goto yy354;
4199
46.9k
        goto yy225;
4200
132k
      }
4201
263k
    }
4202
2.06k
yy229:
4203
2.06k
    YYDEBUG(229, *YYCURSOR);
4204
2.06k
    yych = *++YYCURSOR;
4205
2.06k
    if (yych == '.') goto yy88;
4206
1.09k
    goto yy86;
4207
1.66M
yy230:
4208
1.66M
    YYDEBUG(230, *YYCURSOR);
4209
1.66M
    ++YYCURSOR;
4210
1.66M
    YYFILL(1);
4211
1.66M
    yych = *YYCURSOR;
4212
1.66M
    YYDEBUG(231, *YYCURSOR);
4213
1.66M
    if (yybm[0+yych] & 4) {
4214
1.58M
      goto yy230;
4215
1.58M
    }
4216
78.9k
    if (yych <= 0x00) goto yy86;
4217
68.7k
    goto yy355;
4218
68.7k
yy232:
4219
18.6k
    YYDEBUG(232, *YYCURSOR);
4220
18.6k
    yych = *++YYCURSOR;
4221
18.6k
    if (yych == 'R') goto yy357;
4222
18.3k
    if (yych == 'r') goto yy357;
4223
2.38k
    goto yy86;
4224
2.59k
yy233:
4225
2.59k
    YYDEBUG(233, *YYCURSOR);
4226
2.59k
    yych = *++YYCURSOR;
4227
2.59k
    if (yych == 'N') goto yy358;
4228
2.30k
    if (yych == 'n') goto yy358;
4229
828
    goto yy86;
4230
5.17k
yy234:
4231
5.17k
    YYDEBUG(234, *YYCURSOR);
4232
5.17k
    yych = *++YYCURSOR;
4233
5.17k
    if (yych == 'O') goto yy359;
4234
4.50k
    if (yych == 'o') goto yy359;
4235
827
    goto yy86;
4236
4.90k
yy235:
4237
4.90k
    YYDEBUG(235, *YYCURSOR);
4238
4.90k
    yych = *++YYCURSOR;
4239
4.90k
    if (yych == 'U') goto yy360;
4240
4.66k
    if (yych == 'u') goto yy360;
4241
942
    goto yy86;
4242
5.40k
yy236:
4243
5.40k
    YYDEBUG(236, *YYCURSOR);
4244
5.40k
    yych = *++YYCURSOR;
4245
5.40k
    if (yych == 'O') goto yy361;
4246
4.53k
    if (yych == 'o') goto yy361;
4247
447
    goto yy86;
4248
15.6k
yy237:
4249
15.6k
    YYDEBUG(237, *YYCURSOR);
4250
15.6k
    yych = *++YYCURSOR;
4251
15.6k
    if (yych == 'T') goto yy362;
4252
14.5k
    if (yych == 't') goto yy362;
4253
5.55k
    goto yy86;
4254
7.05k
yy238:
4255
7.05k
    YYDEBUG(238, *YYCURSOR);
4256
7.05k
    yych = *++YYCURSOR;
4257
7.05k
    if (yych == 'J') goto yy363;
4258
6.73k
    if (yych == 'j') goto yy363;
4259
472
    goto yy86;
4260
7.54k
yy239:
4261
7.54k
    YYDEBUG(239, *YYCURSOR);
4262
7.54k
    yych = *++YYCURSOR;
4263
7.54k
    if (yych == 'A') goto yy364;
4264
7.17k
    if (yych == 'a') goto yy364;
4265
4.63k
    goto yy86;
4266
19.0k
yy240:
4267
19.0k
    YYDEBUG(240, *YYCURSOR);
4268
19.0k
    yych = *++YYCURSOR;
4269
19.0k
    if (yych == 'R') goto yy365;
4270
18.2k
    if (yych == 'r') goto yy365;
4271
1.76k
    goto yy86;
4272
4.96k
yy241:
4273
4.96k
    YYDEBUG(241, *YYCURSOR);
4274
4.96k
    yych = *++YYCURSOR;
4275
4.96k
    if (yych == 'S') goto yy366;
4276
4.48k
    if (yych == 's') goto yy366;
4277
1.22k
    goto yy86;
4278
2.95k
yy242:
4279
2.95k
    YYDEBUG(242, *YYCURSOR);
4280
2.95k
    yych = *++YYCURSOR;
4281
2.95k
    if (yych == 'I') goto yy367;
4282
2.74k
    if (yych == 'i') goto yy367;
4283
413
    goto yy86;
4284
504
yy243:
4285
504
    YYDEBUG(243, *YYCURSOR);
4286
504
    ++YYCURSOR;
4287
504
    YYDEBUG(244, *YYCURSOR);
4288
504
    yyleng = YYCURSOR - SCNG(yy_text);
4289
504
#line 1822 "Zend/zend_language_scanner.l"
4290
504
    {
4291
504
  RETURN_TOKEN(T_POW_EQUAL);
4292
504
}
4293
0
#line 4294 "Zend/zend_language_scanner.c"
4294
60.3k
yy245:
4295
60.3k
    YYDEBUG(245, *YYCURSOR);
4296
60.3k
    ++YYCURSOR;
4297
60.3k
    YYDEBUG(246, *YYCURSOR);
4298
60.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4299
60.3k
#line 1602 "Zend/zend_language_scanner.l"
4300
60.3k
    {
4301
60.3k
  RETURN_TOKEN(T_ELLIPSIS);
4302
60.3k
}
4303
0
#line 4304 "Zend/zend_language_scanner.c"
4304
3.09k
yy247:
4305
3.09k
    YYDEBUG(247, *YYCURSOR);
4306
3.09k
    ++YYCURSOR;
4307
3.09k
    YYFILL(1);
4308
3.09k
    yych = *YYCURSOR;
4309
3.09k
    if (yych <= '/') goto yy86;
4310
2.58k
    if (yych <= '9') goto yy123;
4311
850
    goto yy86;
4312
12.7k
yy248:
4313
12.7k
    YYDEBUG(248, *YYCURSOR);
4314
12.7k
    yych = *++YYCURSOR;
4315
12.7k
    if (yych <= '\f') {
4316
5.87k
      if (yych <= 0x08) goto yy86;
4317
5.28k
      if (yych <= '\n') goto yy368;
4318
403
      goto yy86;
4319
6.82k
    } else {
4320
6.82k
      if (yych <= '\r') goto yy368;
4321
6.32k
      if (yych == ' ') goto yy368;
4322
2.95k
      goto yy86;
4323
6.32k
    }
4324
172k
yy249:
4325
172k
    YYDEBUG(249, *YYCURSOR);
4326
172k
    yyaccept = 14;
4327
172k
    YYMARKER = ++YYCURSOR;
4328
172k
    YYFILL(1);
4329
172k
    yych = *YYCURSOR;
4330
172k
    YYDEBUG(250, *YYCURSOR);
4331
172k
    if (yybm[0+yych] & 8) {
4332
163k
      goto yy249;
4333
163k
    }
4334
9.19k
    if (yych == '_') goto yy134;
4335
7.61k
yy251:
4336
7.61k
    YYDEBUG(251, *YYCURSOR);
4337
7.61k
    yyleng = YYCURSOR - SCNG(yy_text);
4338
7.61k
#line 1955 "Zend/zend_language_scanner.l"
4339
7.61k
    {
4340
  /* The +/- 2 skips "0b" */
4341
7.61k
  size_t len = yyleng - 2;
4342
7.61k
  char *end, *bin = yytext + 2;
4343
7.61k
  bool contains_underscores;
4344
4345
  /* Skip any leading 0s */
4346
11.1k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4347
3.51k
    ++bin;
4348
3.51k
    --len;
4349
3.51k
  }
4350
4351
7.61k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4352
4353
7.61k
  if (contains_underscores) {
4354
1.08k
    bin = estrndup(bin, len);
4355
1.08k
    strip_underscores(bin, &len);
4356
1.08k
  }
4357
4358
7.61k
  if (len < SIZEOF_ZEND_LONG * 8) {
4359
7.05k
    if (len == 0) {
4360
1.16k
      ZVAL_LONG(zendlval, 0);
4361
5.89k
    } else {
4362
5.89k
      errno = 0;
4363
5.89k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4364
5.89k
      ZEND_ASSERT(!errno && end == bin + len);
4365
5.89k
    }
4366
7.05k
    if (contains_underscores) {
4367
865
      efree(bin);
4368
865
    }
4369
7.05k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4370
7.05k
  } else {
4371
563
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4372
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4373
563
    ZEND_ASSERT(end == bin + len);
4374
563
    if (contains_underscores) {
4375
221
      efree(bin);
4376
221
    }
4377
563
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4378
563
  }
4379
7.61k
}
4380
0
#line 4381 "Zend/zend_language_scanner.c"
4381
21.0k
yy252:
4382
21.0k
    YYDEBUG(252, *YYCURSOR);
4383
21.0k
    ++YYCURSOR;
4384
21.0k
    YYFILL(1);
4385
21.0k
    yych = *YYCURSOR;
4386
21.0k
    if (yych <= '/') goto yy86;
4387
20.0k
    if (yych >= ':') goto yy86;
4388
168k
yy253:
4389
168k
    YYDEBUG(253, *YYCURSOR);
4390
168k
    yyaccept = 5;
4391
168k
    YYMARKER = ++YYCURSOR;
4392
168k
    YYFILL(1);
4393
168k
    yych = *YYCURSOR;
4394
168k
    YYDEBUG(254, *YYCURSOR);
4395
168k
    if (yych <= '/') goto yy125;
4396
143k
    if (yych <= '9') goto yy253;
4397
18.5k
    if (yych == '_') goto yy252;
4398
16.8k
    goto yy125;
4399
20.9k
yy255:
4400
20.9k
    YYDEBUG(255, *YYCURSOR);
4401
20.9k
    yyaccept = 15;
4402
20.9k
    YYMARKER = ++YYCURSOR;
4403
20.9k
    YYFILL(1);
4404
20.9k
    yych = *YYCURSOR;
4405
20.9k
    YYDEBUG(256, *YYCURSOR);
4406
20.9k
    if (yybm[0+yych] & 16) {
4407
17.7k
      goto yy255;
4408
17.7k
    }
4409
3.19k
    if (yych == '_') goto yy136;
4410
2.45k
yy257:
4411
2.45k
    YYDEBUG(257, *YYCURSOR);
4412
2.45k
    yyleng = YYCURSOR - SCNG(yy_text);
4413
2.45k
#line 1997 "Zend/zend_language_scanner.l"
4414
2.45k
    {
4415
  /* The +/- 2 skips "0o" */
4416
2.45k
  size_t len = yyleng - 2;
4417
2.45k
  char *end, *octal = yytext + 2;
4418
2.45k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4419
4420
  /* Skip any leading 0s */
4421
7.89k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4422
5.44k
    ++octal;
4423
5.44k
    --len;
4424
5.44k
  }
4425
4426
2.45k
  if (len == 0) {
4427
1.10k
    ZVAL_LONG(zendlval, 0);
4428
1.10k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4429
1.10k
  }
4430
4431
1.34k
  if (contains_underscores) {
4432
500
    octal = estrndup(octal, len);
4433
500
    strip_underscores(octal, &len);
4434
500
  }
4435
4436
1.34k
  errno = 0;
4437
4438
1.34k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4439
4440
1.34k
  ZEND_ASSERT(end == octal + len);
4441
4442
1.34k
  if (!errno) {
4443
830
    if (contains_underscores) {
4444
282
      efree(octal);
4445
282
    }
4446
830
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4447
830
  }
4448
4449
  /* Overflow */
4450
518
  ZEND_ASSERT(errno == ERANGE);
4451
  /* Reset errno */
4452
518
  errno = 0;
4453
4454
  /* zend_oct_strtod skips leading '0' */
4455
518
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4456
518
  ZEND_ASSERT(!errno);
4457
518
  ZEND_ASSERT(end == octal + len);
4458
518
  if (contains_underscores) {
4459
218
    efree(octal);
4460
218
  }
4461
518
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4462
518
}
4463
0
#line 4464 "Zend/zend_language_scanner.c"
4464
111k
yy258:
4465
111k
    YYDEBUG(258, *YYCURSOR);
4466
111k
    yyaccept = 16;
4467
111k
    YYMARKER = ++YYCURSOR;
4468
111k
    YYFILL(1);
4469
111k
    yych = *YYCURSOR;
4470
111k
    YYDEBUG(259, *YYCURSOR);
4471
111k
    if (yybm[0+yych] & 32) {
4472
98.7k
      goto yy258;
4473
98.7k
    }
4474
12.7k
    if (yych == '_') goto yy137;
4475
9.95k
yy260:
4476
9.95k
    YYDEBUG(260, *YYCURSOR);
4477
9.95k
    yyleng = YYCURSOR - SCNG(yy_text);
4478
9.95k
#line 2110 "Zend/zend_language_scanner.l"
4479
9.95k
    {
4480
  /* The +/- 2 skips "0x" */
4481
9.95k
  size_t len = yyleng - 2;
4482
9.95k
  char *end, *hex = yytext + 2;
4483
9.95k
  bool contains_underscores;
4484
4485
  /* Skip any leading 0s */
4486
13.8k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4487
3.91k
    ++hex;
4488
3.91k
    --len;
4489
3.91k
  }
4490
4491
9.95k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4492
4493
9.95k
  if (contains_underscores) {
4494
2.07k
    hex = estrndup(hex, len);
4495
2.07k
    strip_underscores(hex, &len);
4496
2.07k
  }
4497
4498
9.95k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4499
7.08k
    if (len == 0) {
4500
1.39k
      ZVAL_LONG(zendlval, 0);
4501
5.68k
    } else {
4502
5.68k
      errno = 0;
4503
5.68k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4504
5.68k
      ZEND_ASSERT(!errno && end == hex + len);
4505
5.68k
    }
4506
7.08k
    if (contains_underscores) {
4507
1.29k
      efree(hex);
4508
1.29k
    }
4509
7.08k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4510
7.08k
  } else {
4511
2.87k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4512
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4513
2.87k
    ZEND_ASSERT(end == hex + len);
4514
2.87k
    if (contains_underscores) {
4515
782
      efree(hex);
4516
782
    }
4517
2.87k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4518
2.87k
  }
4519
9.95k
}
4520
0
#line 4521 "Zend/zend_language_scanner.c"
4521
4.57M
yy261:
4522
4.57M
    YYDEBUG(261, *YYCURSOR);
4523
4.57M
    ++YYCURSOR;
4524
4.57M
    YYFILL(2);
4525
4.57M
    yych = *YYCURSOR;
4526
4.57M
    YYDEBUG(262, *YYCURSOR);
4527
4.57M
    if (yych <= '\'') {
4528
114k
      if (yych <= ' ') {
4529
73.0k
        if (yych == '\t') goto yy261;
4530
53.6k
        if (yych <= 0x1F) goto yy86;
4531
28.4k
        goto yy261;
4532
53.6k
      } else {
4533
41.2k
        if (yych == '"') goto yy370;
4534
33.7k
        if (yych <= '&') goto yy86;
4535
24.7k
        goto yy371;
4536
33.7k
      }
4537
4.45M
    } else {
4538
4.45M
      if (yych <= '_') {
4539
805k
        if (yych <= '@') goto yy86;
4540
709k
        if (yych <= 'Z') goto yy372;
4541
7.09k
        if (yych <= '^') goto yy86;
4542
5.07k
        goto yy372;
4543
3.65M
      } else {
4544
3.65M
        if (yych <= '`') goto yy86;
4545
3.65M
        if (yych <= 'z') goto yy372;
4546
1.72M
        if (yych <= 0x7F) goto yy86;
4547
1.72M
        goto yy372;
4548
1.72M
      }
4549
4.45M
    }
4550
3.37k
yy263:
4551
3.37k
    YYDEBUG(263, *YYCURSOR);
4552
3.37k
    ++YYCURSOR;
4553
3.37k
    YYDEBUG(264, *YYCURSOR);
4554
3.37k
    yyleng = YYCURSOR - SCNG(yy_text);
4555
3.37k
#line 1838 "Zend/zend_language_scanner.l"
4556
3.37k
    {
4557
3.37k
  RETURN_TOKEN(T_SL_EQUAL);
4558
3.37k
}
4559
0
#line 4560 "Zend/zend_language_scanner.c"
4560
1.18k
yy265:
4561
1.18k
    YYDEBUG(265, *YYCURSOR);
4562
1.18k
    ++YYCURSOR;
4563
1.18k
    YYDEBUG(266, *YYCURSOR);
4564
1.18k
    yyleng = YYCURSOR - SCNG(yy_text);
4565
1.18k
#line 1794 "Zend/zend_language_scanner.l"
4566
1.18k
    {
4567
1.18k
  RETURN_TOKEN(T_SPACESHIP);
4568
1.18k
}
4569
0
#line 4570 "Zend/zend_language_scanner.c"
4570
21.5k
yy267:
4571
21.5k
    YYDEBUG(267, *YYCURSOR);
4572
21.5k
    ++YYCURSOR;
4573
21.5k
    YYDEBUG(268, *YYCURSOR);
4574
21.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4575
21.5k
#line 1778 "Zend/zend_language_scanner.l"
4576
21.5k
    {
4577
21.5k
  RETURN_TOKEN(T_IS_IDENTICAL);
4578
21.5k
}
4579
0
#line 4580 "Zend/zend_language_scanner.c"
4580
1.64k
yy269:
4581
1.64k
    YYDEBUG(269, *YYCURSOR);
4582
1.64k
    ++YYCURSOR;
4583
1.64k
    YYDEBUG(270, *YYCURSOR);
4584
1.64k
    yyleng = YYCURSOR - SCNG(yy_text);
4585
1.64k
#line 1842 "Zend/zend_language_scanner.l"
4586
1.64k
    {
4587
1.64k
  RETURN_TOKEN(T_SR_EQUAL);
4588
1.64k
}
4589
0
#line 4590 "Zend/zend_language_scanner.c"
4590
60.6k
yy271:
4591
60.6k
    YYDEBUG(271, *YYCURSOR);
4592
60.6k
    ++YYCURSOR;
4593
60.6k
    YYDEBUG(272, *YYCURSOR);
4594
60.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4595
60.6k
#line 1576 "Zend/zend_language_scanner.l"
4596
60.6k
    {
4597
60.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4598
60.6k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4599
60.6k
}
4600
0
#line 4601 "Zend/zend_language_scanner.c"
4601
8.98k
yy273:
4602
8.98k
    YYDEBUG(273, *YYCURSOR);
4603
8.98k
    ++YYCURSOR;
4604
8.98k
    goto yy156;
4605
1.38k
yy274:
4606
1.38k
    YYDEBUG(274, *YYCURSOR);
4607
1.38k
    yych = *++YYCURSOR;
4608
1.38k
    if (yych == '\n') goto yy273;
4609
1.03k
    goto yy156;
4610
9.30k
yy275:
4611
9.30k
    YYDEBUG(275, *YYCURSOR);
4612
9.30k
    ++YYCURSOR;
4613
9.30k
    YYDEBUG(276, *YYCURSOR);
4614
9.30k
    yyleng = YYCURSOR - SCNG(yy_text);
4615
9.30k
#line 1858 "Zend/zend_language_scanner.l"
4616
9.30k
    {
4617
9.30k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4618
9.30k
}
4619
0
#line 4620 "Zend/zend_language_scanner.c"
4620
12.5k
yy277:
4621
12.5k
    YYDEBUG(277, *YYCURSOR);
4622
12.5k
    yyaccept = 4;
4623
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
4624
12.5k
    if (yych == 'T') goto yy374;
4625
9.03k
    if (yych == 't') goto yy374;
4626
954
    goto yy48;
4627
13.5k
yy278:
4628
13.5k
    YYDEBUG(278, *YYCURSOR);
4629
13.5k
    yyaccept = 17;
4630
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
4631
13.5k
    if (yybm[256+yych] & 128) {
4632
616
      goto yy47;
4633
616
    }
4634
12.9k
    if (yych == '\\') goto yy164;
4635
12.8k
yy279:
4636
12.8k
    YYDEBUG(279, *YYCURSOR);
4637
12.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4638
12.8k
#line 1878 "Zend/zend_language_scanner.l"
4639
12.8k
    {
4640
12.8k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4641
12.8k
}
4642
0
#line 4643 "Zend/zend_language_scanner.c"
4643
40.1k
yy280:
4644
40.1k
    YYDEBUG(280, *YYCURSOR);
4645
40.1k
    yyaccept = 4;
4646
40.1k
    yych = *(YYMARKER = ++YYCURSOR);
4647
40.1k
    if (yych == 'A') goto yy375;
4648
38.8k
    if (yych == 'a') goto yy375;
4649
4.49k
    goto yy48;
4650
194k
yy281:
4651
194k
    YYDEBUG(281, *YYCURSOR);
4652
194k
    yyaccept = 18;
4653
194k
    YYMARKER = ++YYCURSOR;
4654
194k
    YYFILL(1);
4655
194k
    yych = *YYCURSOR;
4656
194k
    YYDEBUG(282, *YYCURSOR);
4657
194k
    if (yych <= '\\') {
4658
88.3k
      if (yych <= '@') {
4659
57.9k
        if (yych <= '/') goto yy283;
4660
32.2k
        if (yych <= '9') goto yy281;
4661
32.2k
      } else {
4662
30.4k
        if (yych <= 'Z') goto yy281;
4663
11.9k
        if (yych >= '\\') goto yy164;
4664
11.9k
      }
4665
105k
    } else {
4666
105k
      if (yych <= '`') {
4667
5.38k
        if (yych == '_') goto yy281;
4668
100k
      } else {
4669
100k
        if (yych <= 'z') goto yy281;
4670
49.5k
        if (yych >= 0x80) goto yy281;
4671
49.5k
      }
4672
105k
    }
4673
40.6k
yy283:
4674
40.6k
    YYDEBUG(283, *YYCURSOR);
4675
40.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4676
40.6k
#line 2387 "Zend/zend_language_scanner.l"
4677
40.6k
    {
4678
40.6k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4679
40.6k
}
4680
0
#line 4681 "Zend/zend_language_scanner.c"
4681
5.63k
yy284:
4682
5.63k
    YYDEBUG(284, *YYCURSOR);
4683
5.63k
    yych = *++YYCURSOR;
4684
5.63k
    if (yych == '<') goto yy261;
4685
1.38k
    goto yy86;
4686
9.12k
yy285:
4687
9.12k
    YYDEBUG(285, *YYCURSOR);
4688
9.12k
    yyaccept = 4;
4689
9.12k
    yych = *(YYMARKER = ++YYCURSOR);
4690
9.12k
    if (yych == 'A') goto yy376;
4691
5.66k
    if (yych == 'a') goto yy376;
4692
824
    goto yy48;
4693
22.7k
yy286:
4694
22.7k
    YYDEBUG(286, *YYCURSOR);
4695
22.7k
    yyaccept = 4;
4696
22.7k
    yych = *(YYMARKER = ++YYCURSOR);
4697
22.7k
    if (yych == 'L') goto yy377;
4698
21.1k
    if (yych == 'l') goto yy377;
4699
3.84k
    goto yy48;
4700
15.6k
yy287:
4701
15.6k
    YYDEBUG(287, *YYCURSOR);
4702
15.6k
    yyaccept = 4;
4703
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
4704
15.6k
    if (yych == 'E') goto yy378;
4705
11.0k
    if (yych == 'e') goto yy378;
4706
1.29k
    goto yy48;
4707
63.2k
yy288:
4708
63.2k
    YYDEBUG(288, *YYCURSOR);
4709
63.2k
    yyaccept = 4;
4710
63.2k
    yych = *(YYMARKER = ++YYCURSOR);
4711
63.2k
    if (yych == 'C') goto yy380;
4712
62.1k
    if (yych == 'c') goto yy380;
4713
1.15k
    goto yy48;
4714
104k
yy289:
4715
104k
    YYDEBUG(289, *YYCURSOR);
4716
104k
    yyaccept = 4;
4717
104k
    yych = *(YYMARKER = ++YYCURSOR);
4718
104k
    if (yych == 'S') goto yy381;
4719
102k
    if (yych == 's') goto yy381;
4720
3.58k
    goto yy48;
4721
14.3k
yy290:
4722
14.3k
    YYDEBUG(290, *YYCURSOR);
4723
14.3k
    yyaccept = 4;
4724
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
4725
14.3k
    if (yych == 'N') goto yy382;
4726
11.4k
    if (yych == 'n') goto yy382;
4727
4.11k
    goto yy48;
4728
189k
yy291:
4729
189k
    YYDEBUG(291, *YYCURSOR);
4730
189k
    yyaccept = 4;
4731
189k
    yych = *(YYMARKER = ++YYCURSOR);
4732
189k
    if (yych <= 'T') {
4733
16.7k
      if (yych <= 'R') goto yy48;
4734
13.1k
      if (yych <= 'S') goto yy383;
4735
5.81k
      goto yy384;
4736
173k
    } else {
4737
173k
      if (yych <= 'r') goto yy48;
4738
172k
      if (yych <= 's') goto yy383;
4739
13.1k
      if (yych <= 't') goto yy384;
4740
1.19k
      goto yy48;
4741
13.1k
    }
4742
11.0k
yy292:
4743
11.0k
    YYDEBUG(292, *YYCURSOR);
4744
11.0k
    yyaccept = 4;
4745
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
4746
11.0k
    if (yych == 'L') goto yy385;
4747
9.29k
    if (yych == 'l') goto yy385;
4748
2.19k
    goto yy48;
4749
15.2k
yy293:
4750
15.2k
    YYDEBUG(293, *YYCURSOR);
4751
15.2k
    yyaccept = 4;
4752
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
4753
15.2k
    if (yych == 'A') goto yy386;
4754
11.7k
    if (yych == 'a') goto yy386;
4755
5.55k
    goto yy48;
4756
7.54k
yy294:
4757
7.54k
    YYDEBUG(294, *YYCURSOR);
4758
7.54k
    yyaccept = 19;
4759
7.54k
    yych = *(YYMARKER = ++YYCURSOR);
4760
7.54k
    if (yybm[256+yych] & 128) {
4761
804
      goto yy47;
4762
804
    }
4763
6.74k
    if (yych == '\\') goto yy164;
4764
6.71k
yy295:
4765
6.71k
    YYDEBUG(295, *YYCURSOR);
4766
6.71k
    yyleng = YYCURSOR - SCNG(yy_text);
4767
6.71k
#line 1387 "Zend/zend_language_scanner.l"
4768
6.71k
    {
4769
6.71k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4770
6.71k
}
4771
0
#line 4772 "Zend/zend_language_scanner.c"
4772
120k
yy296:
4773
120k
    YYDEBUG(296, *YYCURSOR);
4774
120k
    yyaccept = 4;
4775
120k
    yych = *(YYMARKER = ++YYCURSOR);
4776
120k
    if (yych == 'O') goto yy387;
4777
119k
    if (yych == 'o') goto yy387;
4778
5.77k
    goto yy48;
4779
26.6k
yy297:
4780
26.6k
    YYDEBUG(297, *YYCURSOR);
4781
26.6k
    yyaccept = 4;
4782
26.6k
    yych = *(YYMARKER = ++YYCURSOR);
4783
26.6k
    if (yych == 'E') goto yy389;
4784
18.5k
    if (yych == 'e') goto yy389;
4785
2.19k
    goto yy48;
4786
7.64k
yy298:
4787
7.64k
    YYDEBUG(298, *YYCURSOR);
4788
7.64k
    yyaccept = 4;
4789
7.64k
    yych = *(YYMARKER = ++YYCURSOR);
4790
7.64k
    if (yych == 'T') goto yy391;
4791
5.68k
    if (yych == 't') goto yy391;
4792
945
    goto yy48;
4793
87.4k
yy299:
4794
87.4k
    YYDEBUG(299, *YYCURSOR);
4795
87.4k
    yyaccept = 4;
4796
87.4k
    yych = *(YYMARKER = ++YYCURSOR);
4797
87.4k
    switch (yych) {
4798
5.56k
    case 'D':
4799
12.0k
    case 'd': goto yy392;
4800
9.35k
    case 'F':
4801
19.2k
    case 'f': goto yy393;
4802
7.81k
    case 'I':
4803
13.2k
    case 'i': goto yy394;
4804
2.06k
    case 'S':
4805
10.8k
    case 's': goto yy395;
4806
8.14k
    case 'W':
4807
18.7k
    case 'w': goto yy396;
4808
13.2k
    default:  goto yy48;
4809
87.4k
    }
4810
226k
yy300:
4811
226k
    YYDEBUG(300, *YYCURSOR);
4812
226k
    yyaccept = 4;
4813
226k
    yych = *(YYMARKER = ++YYCURSOR);
4814
226k
    if (yych == 'M') goto yy397;
4815
218k
    if (yych == 'm') goto yy397;
4816
22.8k
    goto yy48;
4817
22.8k
yy301:
4818
11.9k
    YYDEBUG(301, *YYCURSOR);
4819
11.9k
    yyaccept = 4;
4820
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
4821
11.9k
    if (yych == 'L') goto yy398;
4822
11.4k
    if (yych == 'l') goto yy398;
4823
1.75k
    goto yy48;
4824
6.89k
yy302:
4825
6.89k
    YYDEBUG(302, *YYCURSOR);
4826
6.89k
    yyaccept = 4;
4827
6.89k
    yych = *(YYMARKER = ++YYCURSOR);
4828
6.89k
    if (yych == 'T') goto yy400;
4829
5.32k
    if (yych == 't') goto yy400;
4830
933
    goto yy48;
4831
36.4k
yy303:
4832
36.4k
    YYDEBUG(303, *YYCURSOR);
4833
36.4k
    yyaccept = 4;
4834
36.4k
    yych = *(YYMARKER = ++YYCURSOR);
4835
36.4k
    if (yych == 'E') goto yy402;
4836
34.1k
    if (yych == 'e') goto yy402;
4837
4.46k
    goto yy48;
4838
20.7k
yy304:
4839
20.7k
    YYDEBUG(304, *YYCURSOR);
4840
20.7k
    yyaccept = 4;
4841
20.7k
    yych = *(YYMARKER = ++YYCURSOR);
4842
20.7k
    if (yych == 'A') goto yy403;
4843
17.2k
    if (yych == 'a') goto yy403;
4844
1.79k
    goto yy48;
4845
79.4k
yy305:
4846
79.4k
    YYDEBUG(305, *YYCURSOR);
4847
79.4k
    yyaccept = 20;
4848
79.4k
    yych = *(YYMARKER = ++YYCURSOR);
4849
79.4k
    if (yych <= '\\') {
4850
46.4k
      if (yych <= 'D') {
4851
42.8k
        if (yych <= '/') goto yy306;
4852
1.85k
        if (yych <= '9') goto yy47;
4853
1.46k
        if (yych >= 'A') goto yy47;
4854
3.60k
      } else {
4855
3.60k
        if (yych <= 'E') goto yy404;
4856
1.51k
        if (yych <= 'Z') goto yy47;
4857
623
        if (yych >= '\\') goto yy164;
4858
623
      }
4859
46.4k
    } else {
4860
32.9k
      if (yych <= 'd') {
4861
905
        if (yych == '_') goto yy47;
4862
559
        if (yych >= 'a') goto yy47;
4863
32.0k
      } else {
4864
32.0k
        if (yych <= 'e') goto yy404;
4865
3.00k
        if (yych <= 'z') goto yy47;
4866
1.45k
        if (yych >= 0x80) goto yy47;
4867
1.45k
      }
4868
32.9k
    }
4869
43.2k
yy306:
4870
43.2k
    YYDEBUG(306, *YYCURSOR);
4871
43.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4872
43.2k
#line 1466 "Zend/zend_language_scanner.l"
4873
43.2k
    {
4874
43.2k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4875
43.2k
}
4876
0
#line 4877 "Zend/zend_language_scanner.c"
4877
157k
yy307:
4878
157k
    YYDEBUG(307, *YYCURSOR);
4879
157k
    yyaccept = 4;
4880
157k
    yych = *(YYMARKER = ++YYCURSOR);
4881
157k
    if (yych == 'C') goto yy405;
4882
154k
    if (yych == 'c') goto yy405;
4883
8.54k
    goto yy48;
4884
12.5k
yy308:
4885
12.5k
    YYDEBUG(308, *YYCURSOR);
4886
12.5k
    yyaccept = 4;
4887
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
4888
12.5k
    if (yych == 'B') goto yy406;
4889
8.07k
    if (yych == 'b') goto yy406;
4890
1.87k
    goto yy48;
4891
8.82k
yy309:
4892
8.82k
    YYDEBUG(309, *YYCURSOR);
4893
8.82k
    yyaccept = 4;
4894
8.82k
    yych = *(YYMARKER = ++YYCURSOR);
4895
8.82k
    if (yych == 'O') goto yy407;
4896
6.46k
    if (yych == 'o') goto yy407;
4897
866
    goto yy48;
4898
47.6k
yy310:
4899
47.6k
    YYDEBUG(310, *YYCURSOR);
4900
47.6k
    yyaccept = 4;
4901
47.6k
    yych = *(YYMARKER = ++YYCURSOR);
4902
47.6k
    if (yych == 'L') goto yy409;
4903
43.6k
    if (yych == 'l') goto yy409;
4904
4.67k
    goto yy48;
4905
27.8k
yy311:
4906
27.8k
    YYDEBUG(311, *YYCURSOR);
4907
27.8k
    yyaccept = 4;
4908
27.8k
    yych = *(YYMARKER = ++YYCURSOR);
4909
27.8k
    if (yych == 'L') goto yy410;
4910
23.7k
    if (yych == 'l') goto yy410;
4911
6.70k
    goto yy48;
4912
28.9k
yy312:
4913
28.9k
    YYDEBUG(312, *YYCURSOR);
4914
28.9k
    yyaccept = 4;
4915
28.9k
    yych = *(YYMARKER = ++YYCURSOR);
4916
28.9k
    if (yych == 'T') goto yy411;
4917
22.2k
    if (yych == 't') goto yy411;
4918
1.31k
    goto yy48;
4919
36.2k
yy313:
4920
36.2k
    YYDEBUG(313, *YYCURSOR);
4921
36.2k
    yyaccept = 4;
4922
36.2k
    yych = *(YYMARKER = ++YYCURSOR);
4923
36.2k
    if (yych == 'E') goto yy412;
4924
33.8k
    if (yych == 'e') goto yy412;
4925
17.4k
    goto yy48;
4926
27.6k
yy314:
4927
27.6k
    YYDEBUG(314, *YYCURSOR);
4928
27.6k
    yyaccept = 4;
4929
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
4930
27.6k
    if (yych == 'E') goto yy413;
4931
26.4k
    if (yych == 'e') goto yy413;
4932
2.99k
    goto yy48;
4933
11.2k
yy315:
4934
11.2k
    YYDEBUG(315, *YYCURSOR);
4935
11.2k
    yyaccept = 4;
4936
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
4937
11.2k
    if (yych == 'T') goto yy414;
4938
8.76k
    if (yych == 't') goto yy414;
4939
475
    goto yy48;
4940
7.51k
yy316:
4941
7.51k
    YYDEBUG(316, *YYCURSOR);
4942
7.51k
    yyaccept = 4;
4943
7.51k
    yych = *(YYMARKER = ++YYCURSOR);
4944
7.51k
    if (yych == 'C') goto yy416;
4945
6.32k
    if (yych == 'c') goto yy416;
4946
1.27k
    goto yy48;
4947
45.2k
yy317:
4948
45.2k
    YYDEBUG(317, *YYCURSOR);
4949
45.2k
    yyaccept = 4;
4950
45.2k
    yych = *(YYMARKER = ++YYCURSOR);
4951
45.2k
    if (yych == 'E') goto yy417;
4952
41.2k
    if (yych == 'e') goto yy417;
4953
4.93k
    goto yy48;
4954
126k
yy318:
4955
126k
    YYDEBUG(318, *YYCURSOR);
4956
126k
    yyaccept = 21;
4957
126k
    yych = *(YYMARKER = ++YYCURSOR);
4958
126k
    if (yybm[256+yych] & 128) {
4959
1.51k
      goto yy47;
4960
1.51k
    }
4961
125k
    if (yych == '\\') goto yy164;
4962
125k
yy319:
4963
125k
    YYDEBUG(319, *YYCURSOR);
4964
125k
    yyleng = YYCURSOR - SCNG(yy_text);
4965
125k
#line 1610 "Zend/zend_language_scanner.l"
4966
125k
    {
4967
125k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4968
125k
}
4969
0
#line 4970 "Zend/zend_language_scanner.c"
4970
50.0k
yy320:
4971
50.0k
    YYDEBUG(320, *YYCURSOR);
4972
50.0k
    yyaccept = 4;
4973
50.0k
    yych = *(YYMARKER = ++YYCURSOR);
4974
50.0k
    if (yych <= 'V') {
4975
8.47k
      if (yych == 'N') goto yy418;
4976
6.81k
      if (yych <= 'U') goto yy48;
4977
5.34k
      goto yy419;
4978
41.5k
    } else {
4979
41.5k
      if (yych <= 'n') {
4980
24.4k
        if (yych <= 'm') goto yy48;
4981
19.1k
        goto yy418;
4982
24.4k
      } else {
4983
17.0k
        if (yych == 'v') goto yy419;
4984
1.34k
        goto yy48;
4985
17.0k
      }
4986
41.5k
    }
4987
17.4k
yy321:
4988
17.4k
    YYDEBUG(321, *YYCURSOR);
4989
17.4k
    yyaccept = 4;
4990
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
4991
17.4k
    if (yych == 'T') goto yy420;
4992
14.6k
    if (yych == 't') goto yy420;
4993
3.24k
    goto yy48;
4994
97.9k
yy322:
4995
97.9k
    YYDEBUG(322, *YYCURSOR);
4996
97.9k
    yyaccept = 4;
4997
97.9k
    yych = *(YYMARKER = ++YYCURSOR);
4998
97.9k
    if (yych == 'L') goto yy421;
4999
94.7k
    if (yych == 'l') goto yy421;
5000
2.98k
    goto yy48;
5001
13.3k
yy323:
5002
13.3k
    YYDEBUG(323, *YYCURSOR);
5003
13.3k
    yyaccept = 4;
5004
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
5005
13.3k
    if (yych == 'D') goto yy422;
5006
12.6k
    if (yych == 'd') goto yy422;
5007
4.29k
    goto yy48;
5008
53.3k
yy324:
5009
53.3k
    YYDEBUG(324, *YYCURSOR);
5010
53.3k
    yyaccept = 4;
5011
53.3k
    yych = *(YYMARKER = ++YYCURSOR);
5012
53.3k
    if (yych == 'U') goto yy423;
5013
48.1k
    if (yych == 'u') goto yy423;
5014
7.14k
    goto yy48;
5015
36.6k
yy325:
5016
36.6k
    YYDEBUG(325, *YYCURSOR);
5017
36.6k
    yyaccept = 4;
5018
36.6k
    yych = *(YYMARKER = ++YYCURSOR);
5019
36.6k
    if (yych == 'U') goto yy424;
5020
34.9k
    if (yych == 'u') goto yy424;
5021
1.40k
    goto yy48;
5022
34.7k
yy326:
5023
34.7k
    YYDEBUG(326, *YYCURSOR);
5024
34.7k
    yyaccept = 4;
5025
34.7k
    yych = *(YYMARKER = ++YYCURSOR);
5026
34.7k
    if (yych == 'T') goto yy425;
5027
32.3k
    if (yych == 't') goto yy425;
5028
2.65k
    goto yy48;
5029
13.0k
yy327:
5030
13.0k
    YYDEBUG(327, *YYCURSOR);
5031
13.0k
    yyaccept = 4;
5032
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
5033
13.0k
    if (yych == 'T') goto yy426;
5034
10.0k
    if (yych == 't') goto yy426;
5035
985
    goto yy48;
5036
18.1k
yy328:
5037
18.1k
    YYDEBUG(328, *YYCURSOR);
5038
18.1k
    yyaccept = 4;
5039
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
5040
18.1k
    if (yych == 'O') goto yy427;
5041
15.7k
    if (yych == 'o') goto yy427;
5042
1.14k
    goto yy48;
5043
20.4k
yy329:
5044
20.4k
    YYDEBUG(329, *YYCURSOR);
5045
20.4k
    yyaccept = 4;
5046
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
5047
20.4k
    if (yych == 'I') goto yy428;
5048
18.0k
    if (yych == 'i') goto yy428;
5049
3.28k
    goto yy48;
5050
70.7k
yy330:
5051
70.7k
    YYDEBUG(330, *YYCURSOR);
5052
70.7k
    yyaccept = 22;
5053
70.7k
    yych = *(YYMARKER = ++YYCURSOR);
5054
70.7k
    if (yybm[256+yych] & 128) {
5055
2.13k
      goto yy47;
5056
2.13k
    }
5057
68.6k
    if (yych == '\\') goto yy164;
5058
68.6k
yy331:
5059
68.6k
    YYDEBUG(331, *YYCURSOR);
5060
68.6k
    yyleng = YYCURSOR - SCNG(yy_text);
5061
68.6k
#line 1422 "Zend/zend_language_scanner.l"
5062
68.6k
    {
5063
68.6k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5064
68.6k
}
5065
0
#line 5066 "Zend/zend_language_scanner.c"
5066
21.0k
yy332:
5067
21.0k
    YYDEBUG(332, *YYCURSOR);
5068
21.0k
    yyaccept = 4;
5069
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
5070
21.0k
    if (yych == 'E') goto yy429;
5071
19.8k
    if (yych == 'e') goto yy429;
5072
2.32k
    goto yy48;
5073
20.4k
yy333:
5074
20.4k
    YYDEBUG(333, *YYCURSOR);
5075
20.4k
    yyaccept = 23;
5076
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
5077
20.4k
    if (yybm[256+yych] & 128) {
5078
2.44k
      goto yy47;
5079
2.44k
    }
5080
17.9k
    if (yych == '\\') goto yy164;
5081
17.6k
yy334:
5082
17.6k
    YYDEBUG(334, *YYCURSOR);
5083
17.6k
    yyleng = YYCURSOR - SCNG(yy_text);
5084
17.6k
#line 1686 "Zend/zend_language_scanner.l"
5085
17.6k
    {
5086
17.6k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5087
17.6k
}
5088
0
#line 5089 "Zend/zend_language_scanner.c"
5089
150k
yy335:
5090
150k
    YYDEBUG(335, *YYCURSOR);
5091
150k
    yyaccept = 24;
5092
150k
    yych = *(YYMARKER = ++YYCURSOR);
5093
150k
    if (yybm[256+yych] & 128) {
5094
141k
      goto yy47;
5095
141k
    }
5096
9.05k
    if (yych == '\\') goto yy164;
5097
8.94k
yy336:
5098
8.94k
    YYDEBUG(336, *YYCURSOR);
5099
8.94k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
8.94k
#line 1618 "Zend/zend_language_scanner.l"
5101
8.94k
    {
5102
8.94k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5103
8.94k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
7.17k
yy337:
5106
7.17k
    YYDEBUG(337, *YYCURSOR);
5107
7.17k
    yyaccept = 4;
5108
7.17k
    yych = *(YYMARKER = ++YYCURSOR);
5109
7.17k
    if (yych == 'L') goto yy430;
5110
4.72k
    if (yych == 'l') goto yy430;
5111
781
    goto yy48;
5112
7.20k
yy338:
5113
7.20k
    YYDEBUG(338, *YYCURSOR);
5114
7.20k
    yyaccept = 25;
5115
7.20k
    yych = *(YYMARKER = ++YYCURSOR);
5116
7.20k
    if (yybm[256+yych] & 128) {
5117
611
      goto yy47;
5118
611
    }
5119
6.59k
    if (yych == '\\') goto yy164;
5120
6.55k
yy339:
5121
6.55k
    YYDEBUG(339, *YYCURSOR);
5122
6.55k
    yyleng = YYCURSOR - SCNG(yy_text);
5123
6.55k
#line 1882 "Zend/zend_language_scanner.l"
5124
6.55k
    {
5125
6.55k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5126
6.55k
}
5127
0
#line 5128 "Zend/zend_language_scanner.c"
5128
120k
yy340:
5129
120k
    YYDEBUG(340, *YYCURSOR);
5130
120k
    yyaccept = 4;
5131
120k
    yych = *(YYMARKER = ++YYCURSOR);
5132
120k
    if (yych == 'L') goto yy431;
5133
114k
    if (yych == 'l') goto yy431;
5134
7.51k
    goto yy48;
5135
20.2k
yy341:
5136
20.2k
    YYDEBUG(341, *YYCURSOR);
5137
20.2k
    ++YYCURSOR;
5138
20.2k
    YYFILL(1);
5139
20.2k
    yych = *YYCURSOR;
5140
20.2k
    if (yych <= '_') {
5141
11.5k
      if (yych <= '@') goto yy86;
5142
8.83k
      if (yych <= 'Z') goto yy211;
5143
3.47k
      if (yych <= '^') goto yy86;
5144
379
      goto yy211;
5145
8.69k
    } else {
5146
8.69k
      if (yych <= '`') goto yy86;
5147
8.39k
      if (yych <= 'z') goto yy211;
5148
2.04k
      if (yych <= 0x7F) goto yy86;
5149
1.32k
      goto yy211;
5150
2.04k
    }
5151
26.1k
yy342:
5152
26.1k
    YYDEBUG(342, *YYCURSOR);
5153
26.1k
    yyaccept = 4;
5154
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
5155
26.1k
    if (yych == 'L') goto yy432;
5156
21.7k
    if (yych == 'l') goto yy432;
5157
15.8k
    goto yy48;
5158
18.8k
yy343:
5159
18.8k
    YYDEBUG(343, *YYCURSOR);
5160
18.8k
    yyaccept = 4;
5161
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
5162
18.8k
    if (yych == 'I') goto yy433;
5163
11.2k
    if (yych == 'i') goto yy433;
5164
7.36k
    goto yy48;
5165
29.9k
yy344:
5166
29.9k
    YYDEBUG(344, *YYCURSOR);
5167
29.9k
    yyaccept = 4;
5168
29.9k
    yych = *(YYMARKER = ++YYCURSOR);
5169
29.9k
    if (yych <= 'U') {
5170
20.1k
      if (yych == 'I') goto yy434;
5171
11.2k
      if (yych <= 'T') goto yy48;
5172
10.2k
      goto yy435;
5173
11.2k
    } else {
5174
9.74k
      if (yych <= 'i') {
5175
3.20k
        if (yych <= 'h') goto yy48;
5176
2.48k
        goto yy434;
5177
6.53k
      } else {
5178
6.53k
        if (yych == 'u') goto yy435;
5179
1.17k
        goto yy48;
5180
6.53k
      }
5181
9.74k
    }
5182
7.18k
yy345:
5183
7.18k
    YYDEBUG(345, *YYCURSOR);
5184
7.18k
    yyaccept = 4;
5185
7.18k
    yych = *(YYMARKER = ++YYCURSOR);
5186
7.18k
    if (yych == 'A') goto yy436;
5187
6.10k
    if (yych == 'a') goto yy436;
5188
974
    goto yy48;
5189
8.31k
yy346:
5190
8.31k
    YYDEBUG(346, *YYCURSOR);
5191
8.31k
    yyaccept = 4;
5192
8.31k
    yych = *(YYMARKER = ++YYCURSOR);
5193
8.31k
    if (yych == 'I') goto yy437;
5194
4.53k
    if (yych == 'i') goto yy437;
5195
1.67k
    goto yy48;
5196
23.7k
yy347:
5197
23.7k
    YYDEBUG(347, *YYCURSOR);
5198
23.7k
    yyaccept = 4;
5199
23.7k
    yych = *(YYMARKER = ++YYCURSOR);
5200
23.7k
    if (yych == 'E') goto yy438;
5201
5.71k
    if (yych == 'e') goto yy438;
5202
1.40k
    goto yy48;
5203
12.6k
yy348:
5204
12.6k
    YYDEBUG(348, *YYCURSOR);
5205
12.6k
    yyaccept = 4;
5206
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5207
12.6k
    if (yych == 'A') goto yy439;
5208
5.57k
    if (yych == 'a') goto yy439;
5209
1.69k
    goto yy48;
5210
7.62k
yy349:
5211
7.62k
    YYDEBUG(349, *YYCURSOR);
5212
7.62k
    yyaccept = 4;
5213
7.62k
    yych = *(YYMARKER = ++YYCURSOR);
5214
7.62k
    if (yych == 'R') goto yy440;
5215
2.06k
    if (yych == 'r') goto yy440;
5216
886
    goto yy48;
5217
11.9k
yy350:
5218
11.9k
    YYDEBUG(350, *YYCURSOR);
5219
11.9k
    yyaccept = 4;
5220
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
5221
11.9k
    if (yych == 'R') goto yy441;
5222
7.11k
    if (yych == 'r') goto yy441;
5223
2.26k
    goto yy48;
5224
23.5k
yy351:
5225
23.5k
    YYDEBUG(351, *YYCURSOR);
5226
23.5k
    ++YYCURSOR;
5227
23.5k
    YYFILL(1);
5228
23.5k
    yych = *YYCURSOR;
5229
23.5k
    if (yybm[0+yych] & 2) {
5230
2.18k
      goto yy225;
5231
2.18k
    }
5232
21.3k
    if (yych <= 0x00) goto yy86;
5233
20.9k
    goto yy227;
5234
20.9k
yy352:
5235
11.0k
    YYDEBUG(352, *YYCURSOR);
5236
11.0k
    yyaccept = 26;
5237
11.0k
    YYMARKER = ++YYCURSOR;
5238
11.0k
    YYFILL(1);
5239
11.0k
    yych = *YYCURSOR;
5240
11.0k
    if (yybm[0+yych] & 2) {
5241
8.93k
      goto yy225;
5242
8.93k
    }
5243
2.12k
    if (yych <= 0x00) goto yy89;
5244
614
    goto yy84;
5245
41.0k
yy353:
5246
41.0k
    YYDEBUG(353, *YYCURSOR);
5247
41.0k
    ++YYCURSOR;
5248
41.0k
    YYFILL(1);
5249
41.0k
    yych = *YYCURSOR;
5250
41.0k
    if (yych <= '\f') {
5251
3.09k
      if (yych <= 0x00) goto yy86;
5252
2.82k
      if (yych == '\n') goto yy84;
5253
600
      goto yy225;
5254
37.9k
    } else {
5255
37.9k
      if (yych <= '\r') goto yy84;
5256
26.4k
      if (yych == '.') goto yy442;
5257
19.3k
      goto yy225;
5258
26.4k
    }
5259
85.0k
yy354:
5260
85.0k
    YYDEBUG(354, *YYCURSOR);
5261
85.0k
    ++YYCURSOR;
5262
85.0k
    YYFILL(1);
5263
85.0k
    yych = *YYCURSOR;
5264
85.0k
    if (yych <= '\f') {
5265
3.06k
      if (yych <= 0x00) goto yy86;
5266
2.60k
      if (yych == '\n') goto yy84;
5267
1.74k
      goto yy225;
5268
82.0k
    } else {
5269
82.0k
      if (yych <= '\r') goto yy84;
5270
72.8k
      if (yych == '*') goto yy443;
5271
2.45k
      goto yy225;
5272
72.8k
    }
5273
77.4k
yy355:
5274
77.4k
    YYDEBUG(355, *YYCURSOR);
5275
77.4k
    ++YYCURSOR;
5276
77.4k
    YYFILL(1);
5277
77.4k
    yych = *YYCURSOR;
5278
77.4k
    YYDEBUG(356, *YYCURSOR);
5279
77.4k
    if (yybm[0+yych] & 64) {
5280
2.47k
      goto yy355;
5281
2.47k
    }
5282
75.0k
    if (yych <= 0x00) goto yy86;
5283
74.3k
    if (yych == '/') goto yy84;
5284
23.5k
    goto yy230;
5285
23.5k
yy357:
5286
16.2k
    YYDEBUG(357, *YYCURSOR);
5287
16.2k
    yych = *++YYCURSOR;
5288
16.2k
    if (yych == 'A') goto yy445;
5289
15.9k
    if (yych == 'a') goto yy445;
5290
3.40k
    goto yy86;
5291
3.40k
yy358:
5292
1.76k
    YYDEBUG(358, *YYCURSOR);
5293
1.76k
    yych = *++YYCURSOR;
5294
1.76k
    if (yych == 'A') goto yy446;
5295
1.40k
    if (yych == 'a') goto yy446;
5296
457
    goto yy86;
5297
4.34k
yy359:
5298
4.34k
    YYDEBUG(359, *YYCURSOR);
5299
4.34k
    yych = *++YYCURSOR;
5300
4.34k
    if (yych == 'L') goto yy447;
5301
3.85k
    if (yych == 'l') goto yy447;
5302
911
    goto yy86;
5303
3.95k
yy360:
5304
3.95k
    YYDEBUG(360, *YYCURSOR);
5305
3.95k
    yych = *++YYCURSOR;
5306
3.95k
    if (yych == 'B') goto yy448;
5307
3.69k
    if (yych == 'b') goto yy448;
5308
767
    goto yy86;
5309
4.95k
yy361:
5310
4.95k
    YYDEBUG(361, *YYCURSOR);
5311
4.95k
    yych = *++YYCURSOR;
5312
4.95k
    if (yych == 'A') goto yy449;
5313
4.71k
    if (yych == 'a') goto yy449;
5314
1.07k
    goto yy86;
5315
10.1k
yy362:
5316
10.1k
    YYDEBUG(362, *YYCURSOR);
5317
10.1k
    yych = *++YYCURSOR;
5318
10.1k
    if (yych == 'E') goto yy454;
5319
9.65k
    if (yych == 'e') goto yy454;
5320
6.54k
    goto yy451;
5321
6.58k
yy363:
5322
6.58k
    YYDEBUG(363, *YYCURSOR);
5323
6.58k
    yych = *++YYCURSOR;
5324
6.58k
    if (yych == 'E') goto yy455;
5325
6.29k
    if (yych == 'e') goto yy455;
5326
2.72k
    goto yy86;
5327
2.91k
yy364:
5328
2.91k
    YYDEBUG(364, *YYCURSOR);
5329
2.91k
    yych = *++YYCURSOR;
5330
2.91k
    if (yych == 'L') goto yy456;
5331
2.52k
    if (yych == 'l') goto yy456;
5332
790
    goto yy86;
5333
17.2k
yy365:
5334
17.2k
    YYDEBUG(365, *YYCURSOR);
5335
17.2k
    yych = *++YYCURSOR;
5336
17.2k
    if (yych == 'I') goto yy458;
5337
16.8k
    if (yych == 'i') goto yy458;
5338
3.87k
    goto yy86;
5339
3.87k
yy366:
5340
3.74k
    YYDEBUG(366, *YYCURSOR);
5341
3.74k
    yych = *++YYCURSOR;
5342
3.74k
    if (yych == 'E') goto yy459;
5343
3.40k
    if (yych == 'e') goto yy459;
5344
673
    goto yy86;
5345
2.53k
yy367:
5346
2.53k
    YYDEBUG(367, *YYCURSOR);
5347
2.53k
    yych = *++YYCURSOR;
5348
2.53k
    if (yych == 'D') goto yy460;
5349
1.98k
    if (yych == 'd') goto yy460;
5350
323
    goto yy86;
5351
18.9k
yy368:
5352
18.9k
    YYDEBUG(368, *YYCURSOR);
5353
18.9k
    ++YYCURSOR;
5354
18.9k
    YYFILL(1);
5355
18.9k
    yych = *YYCURSOR;
5356
18.9k
    YYDEBUG(369, *YYCURSOR);
5357
18.9k
    if (yych <= '\f') {
5358
3.90k
      if (yych <= 0x08) goto yy129;
5359
3.59k
      if (yych <= '\n') goto yy368;
5360
246
      goto yy129;
5361
15.0k
    } else {
5362
15.0k
      if (yych <= '\r') goto yy368;
5363
14.7k
      if (yych == ' ') goto yy368;
5364
8.19k
      goto yy129;
5365
14.7k
    }
5366
7.58k
yy370:
5367
7.58k
    YYDEBUG(370, *YYCURSOR);
5368
7.58k
    yych = *++YYCURSOR;
5369
7.58k
    if (yych == '"') goto yy86;
5370
7.14k
    if (yych <= '/') goto yy463;
5371
5.80k
    if (yych <= '9') goto yy86;
5372
5.41k
    goto yy463;
5373
24.7k
yy371:
5374
24.7k
    YYDEBUG(371, *YYCURSOR);
5375
24.7k
    yych = *++YYCURSOR;
5376
24.7k
    if (yych == '\'') goto yy86;
5377
24.4k
    if (yych <= '/') goto yy465;
5378
23.7k
    if (yych <= '9') goto yy86;
5379
23.4k
    goto yy465;
5380
7.36M
yy372:
5381
7.36M
    YYDEBUG(372, *YYCURSOR);
5382
7.36M
    ++YYCURSOR;
5383
7.36M
    YYFILL(2);
5384
7.36M
    yych = *YYCURSOR;
5385
7.36M
    YYDEBUG(373, *YYCURSOR);
5386
7.36M
    if (yych <= '@') {
5387
4.63M
      if (yych <= '\f') {
5388
4.17M
        if (yych == '\n') goto yy466;
5389
49.3k
        goto yy86;
5390
4.17M
      } else {
5391
465k
        if (yych <= '\r') goto yy468;
5392
436k
        if (yych <= '/') goto yy86;
5393
357k
        if (yych <= '9') goto yy372;
5394
50.3k
        goto yy86;
5395
357k
      }
5396
4.63M
    } else {
5397
2.72M
      if (yych <= '_') {
5398
700k
        if (yych <= 'Z') goto yy372;
5399
32.7k
        if (yych <= '^') goto yy86;
5400
22.4k
        goto yy372;
5401
2.02M
      } else {
5402
2.02M
        if (yych <= '`') goto yy86;
5403
2.02M
        if (yych <= 'z') goto yy372;
5404
1.25M
        if (yych <= 0x7F) goto yy86;
5405
1.24M
        goto yy372;
5406
1.25M
      }
5407
2.72M
    }
5408
11.6k
yy374:
5409
11.6k
    YYDEBUG(374, *YYCURSOR);
5410
11.6k
    yyaccept = 4;
5411
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
5412
11.6k
    if (yych == 'R') goto yy469;
5413
8.81k
    if (yych == 'r') goto yy469;
5414
832
    goto yy48;
5415
35.6k
yy375:
5416
35.6k
    YYDEBUG(375, *YYCURSOR);
5417
35.6k
    yyaccept = 4;
5418
35.6k
    yych = *(YYMARKER = ++YYCURSOR);
5419
35.6k
    if (yych == 'Y') goto yy470;
5420
34.1k
    if (yych == 'y') goto yy470;
5421
1.17k
    goto yy48;
5422
8.29k
yy376:
5423
8.29k
    YYDEBUG(376, *YYCURSOR);
5424
8.29k
    yyaccept = 4;
5425
8.29k
    yych = *(YYMARKER = ++YYCURSOR);
5426
8.29k
    if (yych == 'K') goto yy472;
5427
5.00k
    if (yych == 'k') goto yy472;
5428
495
    goto yy48;
5429
18.9k
yy377:
5430
18.9k
    YYDEBUG(377, *YYCURSOR);
5431
18.9k
    yyaccept = 4;
5432
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
5433
18.9k
    if (yych == 'A') goto yy474;
5434
18.0k
    if (yych == 'a') goto yy474;
5435
14.9k
    goto yy48;
5436
14.9k
yy378:
5437
14.3k
    YYDEBUG(378, *YYCURSOR);
5438
14.3k
    yyaccept = 27;
5439
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
5440
14.3k
    if (yybm[256+yych] & 128) {
5441
628
      goto yy47;
5442
628
    }
5443
13.6k
    if (yych == '\\') goto yy164;
5444
13.5k
yy379:
5445
13.5k
    YYDEBUG(379, *YYCURSOR);
5446
13.5k
    yyleng = YYCURSOR - SCNG(yy_text);
5447
13.5k
#line 1510 "Zend/zend_language_scanner.l"
5448
13.5k
    {
5449
13.5k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5450
13.5k
}
5451
0
#line 5452 "Zend/zend_language_scanner.c"
5452
62.1k
yy380:
5453
62.1k
    YYDEBUG(380, *YYCURSOR);
5454
62.1k
    yyaccept = 4;
5455
62.1k
    yych = *(YYMARKER = ++YYCURSOR);
5456
62.1k
    if (yych == 'H') goto yy475;
5457
60.9k
    if (yych == 'h') goto yy475;
5458
915
    goto yy48;
5459
100k
yy381:
5460
100k
    YYDEBUG(381, *YYCURSOR);
5461
100k
    yyaccept = 4;
5462
100k
    yych = *(YYMARKER = ++YYCURSOR);
5463
100k
    if (yych == 'S') goto yy477;
5464
98.8k
    if (yych == 's') goto yy477;
5465
2.47k
    goto yy48;
5466
10.2k
yy382:
5467
10.2k
    YYDEBUG(382, *YYCURSOR);
5468
10.2k
    yyaccept = 4;
5469
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
5470
10.2k
    if (yych == 'E') goto yy479;
5471
7.18k
    if (yych == 'e') goto yy479;
5472
522
    goto yy48;
5473
166k
yy383:
5474
166k
    YYDEBUG(383, *YYCURSOR);
5475
166k
    yyaccept = 4;
5476
166k
    yych = *(YYMARKER = ++YYCURSOR);
5477
166k
    if (yych == 'T') goto yy481;
5478
159k
    if (yych == 't') goto yy481;
5479
5.08k
    goto yy48;
5480
17.7k
yy384:
5481
17.7k
    YYDEBUG(384, *YYCURSOR);
5482
17.7k
    yyaccept = 4;
5483
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
5484
17.7k
    if (yych == 'I') goto yy483;
5485
15.0k
    if (yych == 'i') goto yy483;
5486
9.10k
    goto yy48;
5487
9.10k
yy385:
5488
8.90k
    YYDEBUG(385, *YYCURSOR);
5489
8.90k
    yyaccept = 4;
5490
8.90k
    yych = *(YYMARKER = ++YYCURSOR);
5491
8.90k
    if (yych == 'A') goto yy484;
5492
7.59k
    if (yych == 'a') goto yy484;
5493
653
    goto yy48;
5494
9.65k
yy386:
5495
9.65k
    YYDEBUG(386, *YYCURSOR);
5496
9.65k
    yyaccept = 4;
5497
9.65k
    yych = *(YYMARKER = ++YYCURSOR);
5498
9.65k
    if (yych == 'U') goto yy485;
5499
6.32k
    if (yych == 'u') goto yy485;
5500
963
    goto yy48;
5501
114k
yy387:
5502
114k
    YYDEBUG(387, *YYCURSOR);
5503
114k
    yyaccept = 28;
5504
114k
    yych = *(YYMARKER = ++YYCURSOR);
5505
114k
    if (yybm[256+yych] & 128) {
5506
3.58k
      goto yy47;
5507
3.58k
    }
5508
111k
    if (yych == '\\') goto yy164;
5509
111k
yy388:
5510
111k
    YYDEBUG(388, *YYCURSOR);
5511
111k
    yyleng = YYCURSOR - SCNG(yy_text);
5512
111k
#line 1530 "Zend/zend_language_scanner.l"
5513
111k
    {
5514
111k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5515
111k
}
5516
0
#line 5517 "Zend/zend_language_scanner.c"
5517
24.4k
yy389:
5518
24.4k
    YYDEBUG(389, *YYCURSOR);
5519
24.4k
    yyaccept = 29;
5520
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
5521
24.4k
    if (yych <= '\\') {
5522
15.2k
      if (yych <= 'H') {
5523
9.72k
        if (yych <= '/') goto yy390;
5524
2.53k
        if (yych <= '9') goto yy47;
5525
1.82k
        if (yych >= 'A') goto yy47;
5526
5.55k
      } else {
5527
5.55k
        if (yych <= 'I') goto yy486;
5528
1.23k
        if (yych <= 'Z') goto yy47;
5529
798
        if (yych >= '\\') goto yy164;
5530
798
      }
5531
15.2k
    } else {
5532
9.22k
      if (yych <= 'h') {
5533
1.10k
        if (yych == '_') goto yy47;
5534
887
        if (yych >= 'a') goto yy47;
5535
8.11k
      } else {
5536
8.11k
        if (yych <= 'i') goto yy486;
5537
1.70k
        if (yych <= 'z') goto yy47;
5538
827
        if (yych >= 0x80) goto yy47;
5539
827
      }
5540
9.22k
    }
5541
10.0k
yy390:
5542
10.0k
    YYDEBUG(390, *YYCURSOR);
5543
10.0k
    yyleng = YYCURSOR - SCNG(yy_text);
5544
10.0k
#line 1450 "Zend/zend_language_scanner.l"
5545
10.0k
    {
5546
10.0k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5547
10.0k
}
5548
0
#line 5549 "Zend/zend_language_scanner.c"
5549
6.70k
yy391:
5550
6.70k
    YYDEBUG(391, *YYCURSOR);
5551
6.70k
    yyaccept = 4;
5552
6.70k
    yych = *(YYMARKER = ++YYCURSOR);
5553
6.70k
    if (yych == 'Y') goto yy487;
5554
4.84k
    if (yych == 'y') goto yy487;
5555
806
    goto yy48;
5556
12.0k
yy392:
5557
12.0k
    YYDEBUG(392, *YYCURSOR);
5558
12.0k
    yyaccept = 4;
5559
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5560
12.0k
    if (yych == 'E') goto yy489;
5561
6.81k
    if (yych == 'e') goto yy489;
5562
1.40k
    goto yy48;
5563
19.2k
yy393:
5564
19.2k
    YYDEBUG(393, *YYCURSOR);
5565
19.2k
    yyaccept = 4;
5566
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
5567
19.2k
    if (yych == 'O') goto yy490;
5568
9.93k
    if (yych == 'o') goto yy490;
5569
752
    goto yy48;
5570
13.2k
yy394:
5571
13.2k
    YYDEBUG(394, *YYCURSOR);
5572
13.2k
    yyaccept = 4;
5573
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
5574
13.2k
    if (yych == 'F') goto yy491;
5575
6.14k
    if (yych == 'f') goto yy491;
5576
1.66k
    goto yy48;
5577
10.8k
yy395:
5578
10.8k
    YYDEBUG(395, *YYCURSOR);
5579
10.8k
    yyaccept = 4;
5580
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
5581
10.8k
    if (yych == 'W') goto yy493;
5582
8.69k
    if (yych == 'w') goto yy493;
5583
3.37k
    goto yy48;
5584
18.7k
yy396:
5585
18.7k
    YYDEBUG(396, *YYCURSOR);
5586
18.7k
    yyaccept = 4;
5587
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
5588
18.7k
    if (yych == 'H') goto yy494;
5589
14.1k
    if (yych == 'h') goto yy494;
5590
4.11k
    goto yy48;
5591
204k
yy397:
5592
204k
    YYDEBUG(397, *YYCURSOR);
5593
204k
    yyaccept = 4;
5594
204k
    yych = *(YYMARKER = ++YYCURSOR);
5595
204k
    if (yych <= 0x1F) {
5596
163k
      if (yych <= '\n') {
5597
9.42k
        if (yych <= 0x08) goto yy48;
5598
7.86k
        goto yy495;
5599
153k
      } else {
5600
153k
        if (yych == '\r') goto yy495;
5601
953
        goto yy48;
5602
153k
      }
5603
163k
    } else {
5604
40.9k
      if (yych <= '#') {
5605
27.7k
        if (yych <= ' ') goto yy495;
5606
15.4k
        if (yych <= '"') goto yy48;
5607
14.9k
        goto yy497;
5608
15.4k
      } else {
5609
13.1k
        if (yych == '/') goto yy498;
5610
12.7k
        goto yy48;
5611
13.1k
      }
5612
40.9k
    }
5613
10.1k
yy398:
5614
10.1k
    YYDEBUG(398, *YYCURSOR);
5615
10.1k
    yyaccept = 30;
5616
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
5617
10.1k
    if (yybm[256+yych] & 128) {
5618
1.14k
      goto yy47;
5619
1.14k
    }
5620
9.01k
    if (yych == '\\') goto yy164;
5621
9.01k
yy399:
5622
9.01k
    YYDEBUG(399, *YYCURSOR);
5623
9.01k
    yyleng = YYCURSOR - SCNG(yy_text);
5624
9.01k
#line 1662 "Zend/zend_language_scanner.l"
5625
9.01k
    {
5626
9.01k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5627
9.01k
}
5628
0
#line 5629 "Zend/zend_language_scanner.c"
5629
5.96k
yy400:
5630
5.96k
    YYDEBUG(400, *YYCURSOR);
5631
5.96k
    yyaccept = 31;
5632
5.96k
    yych = *(YYMARKER = ++YYCURSOR);
5633
5.96k
    if (yybm[256+yych] & 128) {
5634
485
      goto yy47;
5635
485
    }
5636
5.47k
    if (yych == '\\') goto yy164;
5637
5.38k
yy401:
5638
5.38k
    YYDEBUG(401, *YYCURSOR);
5639
5.38k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
5.38k
#line 1383 "Zend/zend_language_scanner.l"
5641
5.38k
    {
5642
5.38k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5643
5.38k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
31.9k
yy402:
5646
31.9k
    YYDEBUG(402, *YYCURSOR);
5647
31.9k
    yyaccept = 4;
5648
31.9k
    yych = *(YYMARKER = ++YYCURSOR);
5649
31.9k
    if (yych == 'N') goto yy499;
5650
29.9k
    if (yych == 'n') goto yy499;
5651
3.99k
    goto yy48;
5652
19.0k
yy403:
5653
19.0k
    YYDEBUG(403, *YYCURSOR);
5654
19.0k
    yyaccept = 4;
5655
19.0k
    yych = *(YYMARKER = ++YYCURSOR);
5656
19.0k
    if (yych == 'L') goto yy500;
5657
15.8k
    if (yych == 'l') goto yy500;
5658
889
    goto yy48;
5659
31.1k
yy404:
5660
31.1k
    YYDEBUG(404, *YYCURSOR);
5661
31.1k
    yyaccept = 4;
5662
31.1k
    yych = *(YYMARKER = ++YYCURSOR);
5663
31.1k
    if (yych == 'A') goto yy502;
5664
29.7k
    if (yych == 'a') goto yy502;
5665
1.62k
    goto yy48;
5666
148k
yy405:
5667
148k
    YYDEBUG(405, *YYCURSOR);
5668
148k
    yyaccept = 4;
5669
148k
    yych = *(YYMARKER = ++YYCURSOR);
5670
148k
    if (yych == 'T') goto yy503;
5671
145k
    if (yych == 't') goto yy503;
5672
7.43k
    goto yy48;
5673
10.6k
yy406:
5674
10.6k
    YYDEBUG(406, *YYCURSOR);
5675
10.6k
    yyaccept = 4;
5676
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
5677
10.6k
    if (yych == 'A') goto yy504;
5678
6.25k
    if (yych == 'a') goto yy504;
5679
803
    goto yy48;
5680
7.95k
yy407:
5681
7.95k
    YYDEBUG(407, *YYCURSOR);
5682
7.95k
    yyaccept = 32;
5683
7.95k
    yych = *(YYMARKER = ++YYCURSOR);
5684
7.95k
    if (yybm[256+yych] & 128) {
5685
876
      goto yy47;
5686
876
    }
5687
7.08k
    if (yych == '\\') goto yy164;
5688
7.07k
yy408:
5689
7.07k
    YYDEBUG(408, *YYCURSOR);
5690
7.07k
    yyleng = YYCURSOR - SCNG(yy_text);
5691
7.07k
#line 1526 "Zend/zend_language_scanner.l"
5692
7.07k
    {
5693
7.07k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5694
7.07k
}
5695
0
#line 5696 "Zend/zend_language_scanner.c"
5696
42.9k
yy409:
5697
42.9k
    YYDEBUG(409, *YYCURSOR);
5698
42.9k
    yyaccept = 4;
5699
42.9k
    yych = *(YYMARKER = ++YYCURSOR);
5700
42.9k
    if (yych == 'E') goto yy505;
5701
37.7k
    if (yych == 'e') goto yy505;
5702
3.94k
    goto yy48;
5703
21.1k
yy410:
5704
21.1k
    YYDEBUG(410, *YYCURSOR);
5705
21.1k
    yyaccept = 4;
5706
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
5707
21.1k
    if (yych == 'U') goto yy506;
5708
16.9k
    if (yych == 'u') goto yy506;
5709
1.86k
    goto yy48;
5710
27.6k
yy411:
5711
27.6k
    YYDEBUG(411, *YYCURSOR);
5712
27.6k
    yyaccept = 4;
5713
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
5714
27.6k
    if (yych <= 'E') {
5715
7.00k
      if (yych == 'A') goto yy507;
5716
3.91k
      if (yych <= 'D') goto yy48;
5717
3.25k
      goto yy508;
5718
20.6k
    } else {
5719
20.6k
      if (yych <= 'a') {
5720
7.31k
        if (yych <= '`') goto yy48;
5721
6.99k
        goto yy507;
5722
13.3k
      } else {
5723
13.3k
        if (yych == 'e') goto yy508;
5724
846
        goto yy48;
5725
13.3k
      }
5726
20.6k
    }
5727
18.8k
yy412:
5728
18.8k
    YYDEBUG(412, *YYCURSOR);
5729
18.8k
    yyaccept = 4;
5730
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
5731
18.8k
    if (yych == 'R') goto yy509;
5732
16.6k
    if (yych == 'r') goto yy509;
5733
4.47k
    goto yy48;
5734
24.7k
yy413:
5735
24.7k
    YYDEBUG(413, *YYCURSOR);
5736
24.7k
    yyaccept = 4;
5737
24.7k
    yych = *(YYMARKER = ++YYCURSOR);
5738
24.7k
    if (yych == 'T') goto yy510;
5739
23.8k
    if (yych == 't') goto yy510;
5740
757
    goto yy48;
5741
10.8k
yy414:
5742
10.8k
    YYDEBUG(414, *YYCURSOR);
5743
10.8k
    yyaccept = 33;
5744
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
5745
10.8k
    if (yybm[256+yych] & 128) {
5746
1.17k
      goto yy47;
5747
1.17k
    }
5748
9.64k
    if (yych == '\\') goto yy164;
5749
9.63k
yy415:
5750
9.63k
    YYDEBUG(415, *YYCURSOR);
5751
9.63k
    yyleng = YYCURSOR - SCNG(yy_text);
5752
9.63k
#line 1758 "Zend/zend_language_scanner.l"
5753
9.63k
    {
5754
9.63k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5755
9.63k
}
5756
0
#line 5757 "Zend/zend_language_scanner.c"
5757
6.24k
yy416:
5758
6.24k
    YYDEBUG(416, *YYCURSOR);
5759
6.24k
    yyaccept = 4;
5760
6.24k
    yych = *(YYMARKER = ++YYCURSOR);
5761
6.24k
    if (yych == 'H') goto yy512;
5762
5.96k
    if (yych == 'h') goto yy512;
5763
1.30k
    goto yy48;
5764
40.3k
yy417:
5765
40.3k
    YYDEBUG(417, *YYCURSOR);
5766
40.3k
    yyaccept = 4;
5767
40.3k
    yych = *(YYMARKER = ++YYCURSOR);
5768
40.3k
    if (yych == 'S') goto yy514;
5769
37.3k
    if (yych == 's') goto yy514;
5770
4.12k
    goto yy48;
5771
20.8k
yy418:
5772
20.8k
    YYDEBUG(418, *YYCURSOR);
5773
20.8k
    yyaccept = 4;
5774
20.8k
    yych = *(YYMARKER = ++YYCURSOR);
5775
20.8k
    if (yych == 'T') goto yy515;
5776
19.5k
    if (yych == 't') goto yy515;
5777
910
    goto yy48;
5778
21.0k
yy419:
5779
21.0k
    YYDEBUG(419, *YYCURSOR);
5780
21.0k
    yyaccept = 4;
5781
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
5782
21.0k
    if (yych == 'A') goto yy517;
5783
16.0k
    if (yych == 'a') goto yy517;
5784
825
    goto yy48;
5785
14.1k
yy420:
5786
14.1k
    YYDEBUG(420, *YYCURSOR);
5787
14.1k
    yyaccept = 4;
5788
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
5789
14.1k
    if (yych == 'E') goto yy518;
5790
11.4k
    if (yych == 'e') goto yy518;
5791
1.27k
    goto yy48;
5792
94.9k
yy421:
5793
94.9k
    YYDEBUG(421, *YYCURSOR);
5794
94.9k
    yyaccept = 4;
5795
94.9k
    yych = *(YYMARKER = ++YYCURSOR);
5796
94.9k
    if (yych == 'I') goto yy519;
5797
91.8k
    if (yych == 'i') goto yy519;
5798
2.22k
    goto yy48;
5799
9.07k
yy422:
5800
9.07k
    YYDEBUG(422, *YYCURSOR);
5801
9.07k
    yyaccept = 4;
5802
9.07k
    yych = *(YYMARKER = ++YYCURSOR);
5803
9.07k
    if (yych == 'O') goto yy520;
5804
8.40k
    if (yych == 'o') goto yy520;
5805
1.34k
    goto yy48;
5806
46.1k
yy423:
5807
46.1k
    YYDEBUG(423, *YYCURSOR);
5808
46.1k
    yyaccept = 4;
5809
46.1k
    yych = *(YYMARKER = ++YYCURSOR);
5810
46.1k
    if (yych == 'I') goto yy521;
5811
41.6k
    if (yych == 'i') goto yy521;
5812
1.10k
    goto yy48;
5813
35.2k
yy424:
5814
35.2k
    YYDEBUG(424, *YYCURSOR);
5815
35.2k
    yyaccept = 4;
5816
35.2k
    yych = *(YYMARKER = ++YYCURSOR);
5817
35.2k
    if (yych == 'R') goto yy522;
5818
33.5k
    if (yych == 'r') goto yy522;
5819
1.14k
    goto yy48;
5820
32.0k
yy425:
5821
32.0k
    YYDEBUG(425, *YYCURSOR);
5822
32.0k
    yyaccept = 4;
5823
32.0k
    yych = *(YYMARKER = ++YYCURSOR);
5824
32.0k
    if (yych == 'I') goto yy523;
5825
29.2k
    if (yych == 'i') goto yy523;
5826
1.23k
    goto yy48;
5827
12.0k
yy426:
5828
12.0k
    YYDEBUG(426, *YYCURSOR);
5829
12.0k
    yyaccept = 4;
5830
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5831
12.0k
    if (yych == 'C') goto yy524;
5832
9.25k
    if (yych == 'c') goto yy524;
5833
863
    goto yy48;
5834
17.0k
yy427:
5835
17.0k
    YYDEBUG(427, *YYCURSOR);
5836
17.0k
    yyaccept = 4;
5837
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
5838
17.0k
    if (yych == 'W') goto yy525;
5839
16.0k
    if (yych == 'w') goto yy525;
5840
1.08k
    goto yy48;
5841
17.1k
yy428:
5842
17.1k
    YYDEBUG(428, *YYCURSOR);
5843
17.1k
    yyaccept = 4;
5844
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
5845
17.1k
    if (yych == 'T') goto yy527;
5846
16.0k
    if (yych == 't') goto yy527;
5847
3.18k
    goto yy48;
5848
18.7k
yy429:
5849
18.7k
    YYDEBUG(429, *YYCURSOR);
5850
18.7k
    yyaccept = 4;
5851
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
5852
18.7k
    if (yych == 'T') goto yy529;
5853
17.3k
    if (yych == 't') goto yy529;
5854
6.22k
    goto yy48;
5855
6.39k
yy430:
5856
6.39k
    YYDEBUG(430, *YYCURSOR);
5857
6.39k
    yyaccept = 4;
5858
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
5859
6.39k
    if (yych == 'E') goto yy531;
5860
4.97k
    if (yych == 'e') goto yy531;
5861
1.49k
    goto yy48;
5862
113k
yy431:
5863
113k
    YYDEBUG(431, *YYCURSOR);
5864
113k
    yyaccept = 4;
5865
113k
    yych = *(YYMARKER = ++YYCURSOR);
5866
113k
    if (yych == 'D') goto yy533;
5867
110k
    if (yych == 'd') goto yy533;
5868
5.00k
    goto yy48;
5869
10.2k
yy432:
5870
10.2k
    YYDEBUG(432, *YYCURSOR);
5871
10.2k
    yyaccept = 4;
5872
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
5873
10.2k
    if (yych == 'A') goto yy535;
5874
6.61k
    if (yych == 'a') goto yy535;
5875
1.92k
    goto yy48;
5876
11.4k
yy433:
5877
11.4k
    YYDEBUG(433, *YYCURSOR);
5878
11.4k
    yyaccept = 4;
5879
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
5880
11.4k
    if (yych == 'R') goto yy536;
5881
4.71k
    if (yych == 'r') goto yy536;
5882
1.36k
    goto yy48;
5883
11.4k
yy434:
5884
11.4k
    YYDEBUG(434, *YYCURSOR);
5885
11.4k
    yyaccept = 4;
5886
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
5887
11.4k
    if (yych == 'L') goto yy537;
5888
3.17k
    if (yych == 'l') goto yy537;
5889
1.13k
    goto yy48;
5890
15.5k
yy435:
5891
15.5k
    YYDEBUG(435, *YYCURSOR);
5892
15.5k
    yyaccept = 4;
5893
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
5894
15.5k
    if (yych == 'N') goto yy538;
5895
6.28k
    if (yych == 'n') goto yy538;
5896
1.52k
    goto yy48;
5897
6.21k
yy436:
5898
6.21k
    YYDEBUG(436, *YYCURSOR);
5899
6.21k
    yyaccept = 4;
5900
6.21k
    yych = *(YYMARKER = ++YYCURSOR);
5901
6.21k
    if (yych == 'L') goto yy539;
5902
5.13k
    if (yych == 'l') goto yy539;
5903
584
    goto yy48;
5904
6.64k
yy437:
5905
6.64k
    YYDEBUG(437, *YYCURSOR);
5906
6.64k
    yyaccept = 4;
5907
6.64k
    yych = *(YYMARKER = ++YYCURSOR);
5908
6.64k
    if (yych == 'N') goto yy540;
5909
3.07k
    if (yych == 'n') goto yy540;
5910
979
    goto yy48;
5911
22.3k
yy438:
5912
22.3k
    YYDEBUG(438, *YYCURSOR);
5913
22.3k
    yyaccept = 4;
5914
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
5915
22.3k
    if (yych == 'T') goto yy541;
5916
4.93k
    if (yych == 't') goto yy541;
5917
1.18k
    goto yy48;
5918
11.0k
yy439:
5919
11.0k
    YYDEBUG(439, *YYCURSOR);
5920
11.0k
    yyaccept = 4;
5921
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5922
11.0k
    if (yych == 'M') goto yy542;
5923
4.72k
    if (yych == 'm') goto yy542;
5924
1.43k
    goto yy48;
5925
6.73k
yy440:
5926
6.73k
    YYDEBUG(440, *YYCURSOR);
5927
6.73k
    yyaccept = 4;
5928
6.73k
    yych = *(YYMARKER = ++YYCURSOR);
5929
6.73k
    if (yych == 'O') goto yy543;
5930
1.90k
    if (yych == 'o') goto yy543;
5931
1.14k
    goto yy48;
5932
9.64k
yy441:
5933
9.64k
    YYDEBUG(441, *YYCURSOR);
5934
9.64k
    yyaccept = 4;
5935
9.64k
    yych = *(YYMARKER = ++YYCURSOR);
5936
9.64k
    if (yych == 'A') goto yy544;
5937
5.52k
    if (yych == 'a') goto yy544;
5938
806
    goto yy48;
5939
7.10k
yy442:
5940
7.10k
    YYDEBUG(442, *YYCURSOR);
5941
7.10k
    ++YYCURSOR;
5942
7.10k
    YYFILL(1);
5943
7.10k
    yych = *YYCURSOR;
5944
7.10k
    if (yych <= '\f') {
5945
1.32k
      if (yych <= 0x00) goto yy86;
5946
774
      if (yych == '\n') goto yy84;
5947
204
      goto yy225;
5948
5.78k
    } else {
5949
5.78k
      if (yych <= '\r') goto yy84;
5950
5.51k
      if (yych == '.') goto yy352;
5951
4.77k
      goto yy225;
5952
5.51k
    }
5953
1.33M
yy443:
5954
1.33M
    YYDEBUG(443, *YYCURSOR);
5955
1.33M
    ++YYCURSOR;
5956
1.33M
    YYFILL(1);
5957
1.33M
    yych = *YYCURSOR;
5958
1.33M
    YYDEBUG(444, *YYCURSOR);
5959
1.33M
    if (yybm[0+yych] & 128) {
5960
1.11M
      goto yy443;
5961
1.11M
    }
5962
219k
    if (yych <= 0x00) goto yy86;
5963
214k
    if (yych <= '\r') goto yy545;
5964
40.5k
    goto yy547;
5965
40.5k
yy445:
5966
12.8k
    YYDEBUG(445, *YYCURSOR);
5967
12.8k
    yych = *++YYCURSOR;
5968
12.8k
    if (yych == 'Y') goto yy549;
5969
12.3k
    if (yych == 'y') goto yy549;
5970
511
    goto yy86;
5971
1.30k
yy446:
5972
1.30k
    YYDEBUG(446, *YYCURSOR);
5973
1.30k
    yych = *++YYCURSOR;
5974
1.30k
    if (yych == 'R') goto yy551;
5975
1.08k
    if (yych == 'r') goto yy551;
5976
585
    goto yy86;
5977
3.43k
yy447:
5978
3.43k
    YYDEBUG(447, *YYCURSOR);
5979
3.43k
    yych = *++YYCURSOR;
5980
3.43k
    if (yych == 'E') goto yy556;
5981
2.78k
    if (yych == 'e') goto yy556;
5982
1.50k
    goto yy553;
5983
3.19k
yy448:
5984
3.19k
    YYDEBUG(448, *YYCURSOR);
5985
3.19k
    yych = *++YYCURSOR;
5986
3.19k
    if (yych == 'L') goto yy557;
5987
2.88k
    if (yych == 'l') goto yy557;
5988
627
    goto yy86;
5989
3.88k
yy449:
5990
3.88k
    YYDEBUG(449, *YYCURSOR);
5991
3.88k
    yych = *++YYCURSOR;
5992
3.88k
    if (yych == 'T') goto yy558;
5993
3.68k
    if (yych == 't') goto yy558;
5994
331
    goto yy86;
5995
4.47k
yy450:
5996
4.47k
    YYDEBUG(450, *YYCURSOR);
5997
4.47k
    ++YYCURSOR;
5998
4.47k
    YYFILL(1);
5999
4.47k
    yych = *YYCURSOR;
6000
11.0k
yy451:
6001
11.0k
    YYDEBUG(451, *YYCURSOR);
6002
11.0k
    if (yych <= 0x1F) {
6003
654
      if (yych == '\t') goto yy450;
6004
262
      goto yy86;
6005
10.3k
    } else {
6006
10.3k
      if (yych <= ' ') goto yy450;
6007
7.19k
      if (yych != ')') goto yy86;
6008
7.19k
    }
6009
2.58k
    YYDEBUG(452, *YYCURSOR);
6010
2.58k
    ++YYCURSOR;
6011
2.58k
    YYDEBUG(453, *YYCURSOR);
6012
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
6013
2.58k
#line 1622 "Zend/zend_language_scanner.l"
6014
2.58k
    {
6015
2.58k
  RETURN_TOKEN(T_INT_CAST);
6016
2.58k
}
6017
0
#line 6018 "Zend/zend_language_scanner.c"
6018
3.57k
yy454:
6019
3.57k
    YYDEBUG(454, *YYCURSOR);
6020
3.57k
    yych = *++YYCURSOR;
6021
3.57k
    if (yych == 'G') goto yy560;
6022
2.81k
    if (yych == 'g') goto yy560;
6023
1.11k
    goto yy86;
6024
3.86k
yy455:
6025
3.86k
    YYDEBUG(455, *YYCURSOR);
6026
3.86k
    yych = *++YYCURSOR;
6027
3.86k
    if (yych == 'C') goto yy561;
6028
3.40k
    if (yych == 'c') goto yy561;
6029
695
    goto yy86;
6030
2.73k
yy456:
6031
2.73k
    YYDEBUG(456, *YYCURSOR);
6032
2.73k
    ++YYCURSOR;
6033
2.73k
    YYFILL(1);
6034
2.73k
    yych = *YYCURSOR;
6035
2.73k
    YYDEBUG(457, *YYCURSOR);
6036
2.73k
    if (yych <= 0x1F) {
6037
1.75k
      if (yych == '\t') goto yy456;
6038
1.34k
      goto yy86;
6039
1.75k
    } else {
6040
980
      if (yych <= ' ') goto yy456;
6041
780
      if (yych == ')') goto yy562;
6042
480
      goto yy86;
6043
780
    }
6044
13.3k
yy458:
6045
13.3k
    YYDEBUG(458, *YYCURSOR);
6046
13.3k
    yych = *++YYCURSOR;
6047
13.3k
    if (yych == 'N') goto yy564;
6048
12.9k
    if (yych == 'n') goto yy564;
6049
2.69k
    goto yy86;
6050
3.07k
yy459:
6051
3.07k
    YYDEBUG(459, *YYCURSOR);
6052
3.07k
    yych = *++YYCURSOR;
6053
3.07k
    if (yych == 'T') goto yy565;
6054
2.56k
    if (yych == 't') goto yy565;
6055
996
    goto yy86;
6056
3.40k
yy460:
6057
3.40k
    YYDEBUG(460, *YYCURSOR);
6058
3.40k
    ++YYCURSOR;
6059
3.40k
    YYFILL(1);
6060
3.40k
    yych = *YYCURSOR;
6061
3.40k
    YYDEBUG(461, *YYCURSOR);
6062
3.40k
    if (yych <= 0x1F) {
6063
1.21k
      if (yych == '\t') goto yy460;
6064
481
      goto yy86;
6065
2.19k
    } else {
6066
2.19k
      if (yych <= ' ') goto yy460;
6067
1.73k
      if (yych == ')') goto yy567;
6068
583
      goto yy86;
6069
1.73k
    }
6070
38.1k
yy462:
6071
38.1k
    YYDEBUG(462, *YYCURSOR);
6072
38.1k
    ++YYCURSOR;
6073
38.1k
    YYFILL(3);
6074
38.1k
    yych = *YYCURSOR;
6075
44.8k
yy463:
6076
44.8k
    YYDEBUG(463, *YYCURSOR);
6077
44.8k
    if (yych <= 'Z') {
6078
17.9k
      if (yych <= '/') {
6079
3.50k
        if (yych == '"') goto yy569;
6080
2.62k
        goto yy86;
6081
14.4k
      } else {
6082
14.4k
        if (yych <= '9') goto yy462;
6083
3.48k
        if (yych <= '@') goto yy86;
6084
2.14k
        goto yy462;
6085
3.48k
      }
6086
26.8k
    } else {
6087
26.8k
      if (yych <= '`') {
6088
1.72k
        if (yych == '_') goto yy462;
6089
901
        goto yy86;
6090
25.1k
      } else {
6091
25.1k
        if (yych <= 'z') goto yy462;
6092
10.0k
        if (yych <= 0x7F) goto yy86;
6093
9.07k
        goto yy462;
6094
10.0k
      }
6095
26.8k
    }
6096
83.5k
yy464:
6097
83.5k
    YYDEBUG(464, *YYCURSOR);
6098
83.5k
    ++YYCURSOR;
6099
83.5k
    YYFILL(3);
6100
83.5k
    yych = *YYCURSOR;
6101
107k
yy465:
6102
107k
    YYDEBUG(465, *YYCURSOR);
6103
107k
    if (yych <= 'Z') {
6104
34.1k
      if (yych <= '/') {
6105
21.7k
        if (yych == '\'') goto yy569;
6106
2.23k
        goto yy86;
6107
21.7k
      } else {
6108
12.3k
        if (yych <= '9') goto yy464;
6109
11.5k
        if (yych <= '@') goto yy86;
6110
10.5k
        goto yy464;
6111
11.5k
      }
6112
73.6k
    } else {
6113
73.6k
      if (yych <= '`') {
6114
1.63k
        if (yych == '_') goto yy464;
6115
737
        goto yy86;
6116
72.0k
      } else {
6117
72.0k
        if (yych <= 'z') goto yy464;
6118
15.8k
        if (yych <= 0x7F) goto yy86;
6119
15.1k
        goto yy464;
6120
15.8k
      }
6121
73.6k
    }
6122
4.14M
yy466:
6123
4.14M
    YYDEBUG(466, *YYCURSOR);
6124
4.14M
    ++YYCURSOR;
6125
4.17M
yy467:
6126
4.17M
    YYDEBUG(467, *YYCURSOR);
6127
4.17M
    yyleng = YYCURSOR - SCNG(yy_text);
6128
4.17M
#line 2622 "Zend/zend_language_scanner.l"
6129
4.17M
    {
6130
4.17M
  char *s;
6131
4.17M
  unsigned char *saved_cursor;
6132
4.17M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6133
4.17M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6134
4.17M
  bool is_heredoc = 1;
6135
6136
4.17M
  CG(zend_lineno)++;
6137
4.17M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6138
4.17M
  s = yytext+bprefix+3;
6139
4.19M
  while ((*s == ' ') || (*s == '\t')) {
6140
21.1k
    s++;
6141
21.1k
    heredoc_label->length--;
6142
21.1k
  }
6143
6144
4.17M
  if (*s == '\'') {
6145
17.9k
    s++;
6146
17.9k
    heredoc_label->length -= 2;
6147
17.9k
    is_heredoc = 0;
6148
6149
17.9k
    BEGIN(ST_NOWDOC);
6150
4.15M
  } else {
6151
4.15M
    if (*s == '"') {
6152
524
      s++;
6153
524
      heredoc_label->length -= 2;
6154
524
    }
6155
6156
4.15M
    BEGIN(ST_HEREDOC);
6157
4.15M
  }
6158
6159
4.17M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6160
4.17M
  heredoc_label->indentation_uses_spaces = 0;
6161
4.17M
  heredoc_label->indentation = 0;
6162
4.17M
  saved_cursor = YYCURSOR;
6163
6164
4.17M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6165
6166
5.40M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6167
1.23M
    if (*YYCURSOR == '\t') {
6168
36.5k
      spacing |= HEREDOC_USING_TABS;
6169
1.19M
    } else {
6170
1.19M
      spacing |= HEREDOC_USING_SPACES;
6171
1.19M
    }
6172
1.23M
    ++YYCURSOR;
6173
1.23M
    ++indentation;
6174
1.23M
  }
6175
6176
4.17M
  if (YYCURSOR == YYLIMIT) {
6177
1.76k
    YYCURSOR = saved_cursor;
6178
1.76k
    RETURN_TOKEN(T_START_HEREDOC);
6179
1.76k
  }
6180
6181
  /* Check for ending label on the next line */
6182
4.16M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6183
12.4k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6184
5.00k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6185
206
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6186
206
        if (PARSER_MODE()) {
6187
12
          RETURN_TOKEN(T_ERROR);
6188
12
        }
6189
206
      }
6190
6191
4.99k
      YYCURSOR = saved_cursor;
6192
4.99k
      heredoc_label->indentation = indentation;
6193
6194
4.99k
      BEGIN(ST_END_HEREDOC);
6195
4.99k
      RETURN_TOKEN(T_START_HEREDOC);
6196
4.99k
    }
6197
12.4k
  }
6198
6199
4.16M
  YYCURSOR = saved_cursor;
6200
6201
4.16M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6202
217k
    zend_lex_state current_state;
6203
217k
    zend_string *saved_doc_comment = CG(doc_comment);
6204
217k
    int heredoc_nesting_level = 1;
6205
217k
    int first_token = 0;
6206
217k
    int error = 0;
6207
6208
217k
    zend_save_lexical_state(&current_state);
6209
6210
217k
    SCNG(heredoc_scan_ahead) = 1;
6211
217k
    SCNG(heredoc_indentation) = 0;
6212
217k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6213
217k
    LANG_SCNG(on_event) = NULL;
6214
217k
    CG(doc_comment) = NULL;
6215
6216
217k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6217
6218
217k
    zend_exception_save();
6219
37.0M
    while (heredoc_nesting_level) {
6220
37.0M
      zval zv;
6221
37.0M
      int retval;
6222
6223
37.0M
      ZVAL_UNDEF(&zv);
6224
37.0M
      retval = lex_scan(&zv, NULL);
6225
37.0M
      zval_ptr_dtor_nogc(&zv);
6226
6227
37.0M
      if (EG(exception)) {
6228
206k
        zend_clear_exception();
6229
206k
        break;
6230
206k
      }
6231
6232
36.8M
      if (!first_token) {
6233
217k
        first_token = retval;
6234
217k
      }
6235
6236
36.8M
      switch (retval) {
6237
3.95M
        case T_START_HEREDOC:
6238
3.95M
          ++heredoc_nesting_level;
6239
3.95M
          break;
6240
32.6k
        case T_END_HEREDOC:
6241
32.6k
          --heredoc_nesting_level;
6242
32.6k
          break;
6243
4.60k
        case END:
6244
4.60k
          heredoc_nesting_level = 0;
6245
36.8M
      }
6246
36.8M
    }
6247
217k
    zend_exception_restore();
6248
6249
217k
    if (
6250
217k
        (first_token == T_VARIABLE
6251
217k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6252
217k
         || first_token == T_CURLY_OPEN
6253
217k
        ) && SCNG(heredoc_indentation)) {
6254
16
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6255
16
      error = 1;
6256
16
    }
6257
6258
217k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6259
217k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6260
6261
217k
    zend_restore_lexical_state(&current_state);
6262
217k
    SCNG(heredoc_scan_ahead) = 0;
6263
217k
    CG(increment_lineno) = 0;
6264
217k
    CG(doc_comment) = saved_doc_comment;
6265
6266
217k
    if (PARSER_MODE() && error) {
6267
8
      RETURN_TOKEN(T_ERROR);
6268
8
    }
6269
217k
  }
6270
6271
4.16M
  RETURN_TOKEN(T_START_HEREDOC);
6272
4.16M
}
6273
0
#line 6274 "Zend/zend_language_scanner.c"
6274
30.3k
yy468:
6275
30.3k
    YYDEBUG(468, *YYCURSOR);
6276
30.3k
    yych = *++YYCURSOR;
6277
30.3k
    if (yych == '\n') goto yy466;
6278
29.4k
    goto yy467;
6279
29.4k
yy469:
6280
10.7k
    YYDEBUG(469, *YYCURSOR);
6281
10.7k
    yyaccept = 4;
6282
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
6283
10.7k
    if (yych == 'A') goto yy570;
6284
8.04k
    if (yych == 'a') goto yy570;
6285
521
    goto yy48;
6286
34.5k
yy470:
6287
34.5k
    YYDEBUG(470, *YYCURSOR);
6288
34.5k
    yyaccept = 34;
6289
34.5k
    yych = *(YYMARKER = ++YYCURSOR);
6290
34.5k
    if (yybm[256+yych] & 128) {
6291
7.71k
      goto yy47;
6292
7.71k
    }
6293
26.7k
    if (yych == '\\') goto yy164;
6294
26.7k
yy471:
6295
26.7k
    YYDEBUG(471, *YYCURSOR);
6296
26.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6297
26.7k
#line 1762 "Zend/zend_language_scanner.l"
6298
26.7k
    {
6299
26.7k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6300
26.7k
}
6301
0
#line 6302 "Zend/zend_language_scanner.c"
6302
7.80k
yy472:
6303
7.80k
    YYDEBUG(472, *YYCURSOR);
6304
7.80k
    yyaccept = 35;
6305
7.80k
    yych = *(YYMARKER = ++YYCURSOR);
6306
7.80k
    if (yybm[256+yych] & 128) {
6307
1.24k
      goto yy47;
6308
1.24k
    }
6309
6.56k
    if (yych == '\\') goto yy164;
6310
6.52k
yy473:
6311
6.52k
    YYDEBUG(473, *YYCURSOR);
6312
6.52k
    yyleng = YYCURSOR - SCNG(yy_text);
6313
6.52k
#line 1518 "Zend/zend_language_scanner.l"
6314
6.52k
    {
6315
6.52k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6316
6.52k
}
6317
0
#line 6318 "Zend/zend_language_scanner.c"
6318
3.94k
yy474:
6319
3.94k
    YYDEBUG(474, *YYCURSOR);
6320
3.94k
    yyaccept = 4;
6321
3.94k
    yych = *(YYMARKER = ++YYCURSOR);
6322
3.94k
    if (yych == 'B') goto yy571;
6323
2.93k
    if (yych == 'b') goto yy571;
6324
344
    goto yy48;
6325
61.2k
yy475:
6326
61.2k
    YYDEBUG(475, *YYCURSOR);
6327
61.2k
    yyaccept = 36;
6328
61.2k
    yych = *(YYMARKER = ++YYCURSOR);
6329
61.2k
    if (yybm[256+yych] & 128) {
6330
577
      goto yy47;
6331
577
    }
6332
60.6k
    if (yych == '\\') goto yy164;
6333
60.5k
yy476:
6334
60.5k
    YYDEBUG(476, *YYCURSOR);
6335
60.5k
    yyleng = YYCURSOR - SCNG(yy_text);
6336
60.5k
#line 1426 "Zend/zend_language_scanner.l"
6337
60.5k
    {
6338
60.5k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6339
60.5k
}
6340
0
#line 6341 "Zend/zend_language_scanner.c"
6341
98.2k
yy477:
6342
98.2k
    YYDEBUG(477, *YYCURSOR);
6343
98.2k
    yyaccept = 37;
6344
98.2k
    yych = *(YYMARKER = ++YYCURSOR);
6345
98.2k
    if (yybm[256+yych] & 128) {
6346
6.39k
      goto yy47;
6347
6.39k
    }
6348
91.8k
    if (yych == '\\') goto yy164;
6349
91.8k
yy478:
6350
91.8k
    YYDEBUG(478, *YYCURSOR);
6351
91.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6352
91.8k
#line 1538 "Zend/zend_language_scanner.l"
6353
91.8k
    {
6354
91.8k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6355
91.8k
}
6356
0
#line 6357 "Zend/zend_language_scanner.c"
6357
9.71k
yy479:
6358
9.71k
    YYDEBUG(479, *YYCURSOR);
6359
9.71k
    yyaccept = 38;
6360
9.71k
    yych = *(YYMARKER = ++YYCURSOR);
6361
9.71k
    if (yybm[256+yych] & 128) {
6362
776
      goto yy47;
6363
776
    }
6364
8.94k
    if (yych == '\\') goto yy164;
6365
8.92k
yy480:
6366
8.92k
    YYDEBUG(480, *YYCURSOR);
6367
8.92k
    yyleng = YYCURSOR - SCNG(yy_text);
6368
8.92k
#line 1614 "Zend/zend_language_scanner.l"
6369
8.92k
    {
6370
8.92k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6371
8.92k
}
6372
0
#line 6373 "Zend/zend_language_scanner.c"
6373
161k
yy481:
6374
161k
    YYDEBUG(481, *YYCURSOR);
6375
161k
    yyaccept = 39;
6376
161k
    yych = *(YYMARKER = ++YYCURSOR);
6377
161k
    if (yybm[256+yych] & 128) {
6378
16.4k
      goto yy47;
6379
16.4k
    }
6380
144k
    if (yych == '\\') goto yy164;
6381
144k
yy482:
6382
144k
    YYDEBUG(482, *YYCURSOR);
6383
144k
    yyleng = YYCURSOR - SCNG(yy_text);
6384
144k
#line 1399 "Zend/zend_language_scanner.l"
6385
144k
    {
6386
144k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6387
144k
}
6388
0
#line 6389 "Zend/zend_language_scanner.c"
6389
8.67k
yy483:
6390
8.67k
    YYDEBUG(483, *YYCURSOR);
6391
8.67k
    yyaccept = 4;
6392
8.67k
    yych = *(YYMARKER = ++YYCURSOR);
6393
8.67k
    if (yych == 'N') goto yy572;
6394
6.25k
    if (yych == 'n') goto yy572;
6395
1.05k
    goto yy48;
6396
8.24k
yy484:
6397
8.24k
    YYDEBUG(484, *YYCURSOR);
6398
8.24k
    yyaccept = 4;
6399
8.24k
    yych = *(YYMARKER = ++YYCURSOR);
6400
8.24k
    if (yych == 'R') goto yy573;
6401
7.15k
    if (yych == 'r') goto yy573;
6402
1.28k
    goto yy48;
6403
8.69k
yy485:
6404
8.69k
    YYDEBUG(485, *YYCURSOR);
6405
8.69k
    yyaccept = 4;
6406
8.69k
    yych = *(YYMARKER = ++YYCURSOR);
6407
8.69k
    if (yych == 'L') goto yy574;
6408
5.35k
    if (yych == 'l') goto yy574;
6409
787
    goto yy48;
6410
10.7k
yy486:
6411
10.7k
    YYDEBUG(486, *YYCURSOR);
6412
10.7k
    yyaccept = 4;
6413
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
6414
10.7k
    if (yych == 'F') goto yy575;
6415
7.18k
    if (yych == 'f') goto yy575;
6416
2.50k
    goto yy48;
6417
5.89k
yy487:
6418
5.89k
    YYDEBUG(487, *YYCURSOR);
6419
5.89k
    yyaccept = 40;
6420
5.89k
    yych = *(YYMARKER = ++YYCURSOR);
6421
5.89k
    if (yybm[256+yych] & 128) {
6422
786
      goto yy47;
6423
786
    }
6424
5.11k
    if (yych == '\\') goto yy164;
6425
5.01k
yy488:
6426
5.01k
    YYDEBUG(488, *YYCURSOR);
6427
5.01k
    yyleng = YYCURSOR - SCNG(yy_text);
6428
5.01k
#line 1702 "Zend/zend_language_scanner.l"
6429
5.01k
    {
6430
5.01k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6431
5.01k
}
6432
0
#line 6433 "Zend/zend_language_scanner.c"
6433
10.6k
yy489:
6434
10.6k
    YYDEBUG(489, *YYCURSOR);
6435
10.6k
    yyaccept = 4;
6436
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
6437
10.6k
    if (yych == 'C') goto yy577;
6438
6.07k
    if (yych == 'c') goto yy577;
6439
1.06k
    goto yy48;
6440
18.5k
yy490:
6441
18.5k
    YYDEBUG(490, *YYCURSOR);
6442
18.5k
    yyaccept = 4;
6443
18.5k
    yych = *(YYMARKER = ++YYCURSOR);
6444
18.5k
    if (yych == 'R') goto yy578;
6445
10.2k
    if (yych == 'r') goto yy578;
6446
1.36k
    goto yy48;
6447
11.5k
yy491:
6448
11.5k
    YYDEBUG(491, *YYCURSOR);
6449
11.5k
    yyaccept = 41;
6450
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
6451
11.5k
    if (yybm[256+yych] & 128) {
6452
1.09k
      goto yy47;
6453
1.09k
    }
6454
10.4k
    if (yych == '\\') goto yy164;
6455
10.4k
yy492:
6456
10.4k
    YYDEBUG(492, *YYCURSOR);
6457
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6458
10.4k
#line 1446 "Zend/zend_language_scanner.l"
6459
10.4k
    {
6460
10.4k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6461
10.4k
}
6462
0
#line 6463 "Zend/zend_language_scanner.c"
6463
7.44k
yy493:
6464
7.44k
    YYDEBUG(493, *YYCURSOR);
6465
7.44k
    yyaccept = 4;
6466
7.44k
    yych = *(YYMARKER = ++YYCURSOR);
6467
7.44k
    if (yych == 'I') goto yy580;
6468
5.58k
    if (yych == 'i') goto yy580;
6469
439
    goto yy48;
6470
14.6k
yy494:
6471
14.6k
    YYDEBUG(494, *YYCURSOR);
6472
14.6k
    yyaccept = 4;
6473
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
6474
14.6k
    if (yych == 'I') goto yy581;
6475
10.0k
    if (yych == 'i') goto yy581;
6476
627
    goto yy48;
6477
847k
yy495:
6478
847k
    YYDEBUG(495, *YYCURSOR);
6479
847k
    ++YYCURSOR;
6480
847k
    YYFILL(10);
6481
847k
    yych = *YYCURSOR;
6482
847k
    YYDEBUG(496, *YYCURSOR);
6483
847k
    if (yych <= 'E') {
6484
803k
      if (yych <= ' ') {
6485
91.4k
        if (yych <= '\f') {
6486
20.8k
          if (yych <= 0x08) goto yy86;
6487
17.9k
          if (yych <= '\n') goto yy495;
6488
1.76k
          goto yy86;
6489
70.6k
        } else {
6490
70.6k
          if (yych <= '\r') goto yy495;
6491
19.7k
          if (yych <= 0x1F) goto yy86;
6492
15.9k
          goto yy495;
6493
19.7k
        }
6494
712k
      } else {
6495
712k
        if (yych <= '.') {
6496
684k
          if (yych != '#') goto yy86;
6497
684k
        } else {
6498
27.7k
          if (yych <= '/') goto yy498;
6499
7.71k
          if (yych <= '@') goto yy86;
6500
2.71k
          if (yych <= 'D') goto yy582;
6501
1.50k
          goto yy584;
6502
2.71k
        }
6503
712k
      }
6504
803k
    } else {
6505
44.2k
      if (yych <= '`') {
6506
6.25k
        if (yych <= 'Z') {
6507
4.82k
          if (yych == 'I') goto yy585;
6508
2.89k
          goto yy582;
6509
4.82k
        } else {
6510
1.43k
          if (yych == '_') goto yy582;
6511
605
          goto yy86;
6512
1.43k
        }
6513
37.9k
      } else {
6514
37.9k
        if (yych <= 'h') {
6515
13.5k
          if (yych == 'e') goto yy584;
6516
2.90k
          goto yy582;
6517
24.3k
        } else {
6518
24.3k
          if (yych <= 'i') goto yy585;
6519
18.0k
          if (yych <= 'z') goto yy582;
6520
9.97k
          if (yych <= 0x7F) goto yy86;
6521
6.04k
          goto yy582;
6522
9.97k
        }
6523
37.9k
      }
6524
44.2k
    }
6525
679k
yy497:
6526
679k
    YYDEBUG(497, *YYCURSOR);
6527
679k
    ++YYCURSOR;
6528
679k
    YYFILL(1);
6529
679k
    yych = *YYCURSOR;
6530
679k
    if (yych <= '\f') {
6531
489k
      if (yych <= 0x00) goto yy86;
6532
488k
      if (yych == '\n') goto yy588;
6533
6.34k
      goto yy586;
6534
488k
    } else {
6535
190k
      if (yych <= '\r') goto yy588;
6536
90.8k
      if (yych == '[') goto yy86;
6537
90.3k
      goto yy586;
6538
90.8k
    }
6539
20.5k
yy498:
6540
20.5k
    YYDEBUG(498, *YYCURSOR);
6541
20.5k
    ++YYCURSOR;
6542
20.5k
    YYFILL(1);
6543
20.5k
    yych = *YYCURSOR;
6544
20.5k
    if (yych == '*') goto yy590;
6545
3.69k
    if (yych == '/') goto yy586;
6546
2.10k
    goto yy86;
6547
28.0k
yy499:
6548
28.0k
    YYDEBUG(499, *YYCURSOR);
6549
28.0k
    yyaccept = 4;
6550
28.0k
    yych = *(YYMARKER = ++YYCURSOR);
6551
28.0k
    if (yych == 'D') goto yy592;
6552
26.2k
    if (yych == 'd') goto yy592;
6553
5.31k
    goto yy48;
6554
18.1k
yy500:
6555
18.1k
    YYDEBUG(500, *YYCURSOR);
6556
18.1k
    yyaccept = 42;
6557
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
6558
18.1k
    if (yych <= '\\') {
6559
11.3k
      if (yych <= 'K') {
6560
9.58k
        if (yych <= '/') goto yy501;
6561
1.61k
        if (yych <= '9') goto yy47;
6562
1.14k
        if (yych >= 'A') goto yy47;
6563
1.74k
      } else {
6564
1.74k
        if (yych <= 'L') goto yy593;
6565
919
        if (yych <= 'Z') goto yy47;
6566
471
        if (yych >= '\\') goto yy164;
6567
471
      }
6568
11.3k
    } else {
6569
6.78k
      if (yych <= 'k') {
6570
933
        if (yych == '_') goto yy47;
6571
642
        if (yych >= 'a') goto yy47;
6572
5.84k
      } else {
6573
5.84k
        if (yych <= 'l') goto yy593;
6574
1.08k
        if (yych <= 'z') goto yy47;
6575
730
        if (yych >= 0x80) goto yy47;
6576
730
      }
6577
6.78k
    }
6578
9.93k
yy501:
6579
9.93k
    YYDEBUG(501, *YYCURSOR);
6580
9.93k
    yyleng = YYCURSOR - SCNG(yy_text);
6581
9.93k
#line 1718 "Zend/zend_language_scanner.l"
6582
9.93k
    {
6583
9.93k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6584
9.93k
}
6585
0
#line 6586 "Zend/zend_language_scanner.c"
6586
29.5k
yy502:
6587
29.5k
    YYDEBUG(502, *YYCURSOR);
6588
29.5k
    yyaccept = 4;
6589
29.5k
    yych = *(YYMARKER = ++YYCURSOR);
6590
29.5k
    if (yych == 'C') goto yy594;
6591
28.0k
    if (yych == 'c') goto yy594;
6592
2.36k
    goto yy48;
6593
141k
yy503:
6594
141k
    YYDEBUG(503, *YYCURSOR);
6595
141k
    yyaccept = 4;
6596
141k
    yych = *(YYMARKER = ++YYCURSOR);
6597
141k
    if (yych == 'I') goto yy595;
6598
138k
    if (yych == 'i') goto yy595;
6599
3.39k
    goto yy48;
6600
9.87k
yy504:
6601
9.87k
    YYDEBUG(504, *YYCURSOR);
6602
9.87k
    yyaccept = 4;
6603
9.87k
    yych = *(YYMARKER = ++YYCURSOR);
6604
9.87k
    if (yych == 'L') goto yy596;
6605
5.52k
    if (yych == 'l') goto yy596;
6606
972
    goto yy48;
6607
39.0k
yy505:
6608
39.0k
    YYDEBUG(505, *YYCURSOR);
6609
39.0k
    yyaccept = 4;
6610
39.0k
    yych = *(YYMARKER = ++YYCURSOR);
6611
39.0k
    if (yych == 'M') goto yy598;
6612
30.0k
    if (yych == 'm') goto yy598;
6613
16.5k
    goto yy48;
6614
19.3k
yy506:
6615
19.3k
    YYDEBUG(506, *YYCURSOR);
6616
19.3k
    yyaccept = 4;
6617
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
6618
19.3k
    if (yych == 'D') goto yy599;
6619
14.7k
    if (yych == 'd') goto yy599;
6620
1.25k
    goto yy48;
6621
10.0k
yy507:
6622
10.0k
    YYDEBUG(507, *YYCURSOR);
6623
10.0k
    yyaccept = 4;
6624
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
6625
10.0k
    if (yych == 'N') goto yy600;
6626
7.28k
    if (yych == 'n') goto yy600;
6627
852
    goto yy48;
6628
15.7k
yy508:
6629
15.7k
    YYDEBUG(508, *YYCURSOR);
6630
15.7k
    yyaccept = 4;
6631
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
6632
15.7k
    if (yych == 'A') goto yy601;
6633
13.3k
    if (yych == 'a') goto yy601;
6634
4.69k
    goto yy48;
6635
14.3k
yy509:
6636
14.3k
    YYDEBUG(509, *YYCURSOR);
6637
14.3k
    yyaccept = 4;
6638
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
6639
14.3k
    if (yych == 'F') goto yy602;
6640
12.5k
    if (yych == 'f') goto yy602;
6641
2.02k
    goto yy48;
6642
23.9k
yy510:
6643
23.9k
    YYDEBUG(510, *YYCURSOR);
6644
23.9k
    yyaccept = 43;
6645
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
6646
23.9k
    if (yybm[256+yych] & 128) {
6647
4.14k
      goto yy47;
6648
4.14k
    }
6649
19.8k
    if (yych == '\\') goto yy164;
6650
19.7k
yy511:
6651
19.7k
    YYDEBUG(511, *YYCURSOR);
6652
19.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6653
19.7k
#line 1698 "Zend/zend_language_scanner.l"
6654
19.7k
    {
6655
19.7k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6656
19.7k
}
6657
0
#line 6658 "Zend/zend_language_scanner.c"
6658
4.93k
yy512:
6659
4.93k
    YYDEBUG(512, *YYCURSOR);
6660
4.93k
    yyaccept = 44;
6661
4.93k
    yych = *(YYMARKER = ++YYCURSOR);
6662
4.93k
    if (yybm[256+yych] & 128) {
6663
587
      goto yy47;
6664
587
    }
6665
4.35k
    if (yych == '\\') goto yy164;
6666
4.34k
yy513:
6667
4.34k
    YYDEBUG(513, *YYCURSOR);
6668
4.34k
    yyleng = YYCURSOR - SCNG(yy_text);
6669
4.34k
#line 1502 "Zend/zend_language_scanner.l"
6670
4.34k
    {
6671
4.34k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6672
4.34k
}
6673
0
#line 6674 "Zend/zend_language_scanner.c"
6674
36.2k
yy514:
6675
36.2k
    YYDEBUG(514, *YYCURSOR);
6676
36.2k
    yyaccept = 4;
6677
36.2k
    yych = *(YYMARKER = ++YYCURSOR);
6678
36.2k
    if (yych == 'P') goto yy603;
6679
32.0k
    if (yych == 'p') goto yy603;
6680
1.48k
    goto yy48;
6681
19.9k
yy515:
6682
19.9k
    YYDEBUG(515, *YYCURSOR);
6683
19.9k
    yyaccept = 45;
6684
19.9k
    yych = *(YYMARKER = ++YYCURSOR);
6685
19.9k
    if (yybm[256+yych] & 128) {
6686
9.48k
      goto yy47;
6687
9.48k
    }
6688
10.4k
    if (yych == '\\') goto yy164;
6689
10.3k
yy516:
6690
10.3k
    YYDEBUG(516, *YYCURSOR);
6691
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6692
10.3k
#line 1534 "Zend/zend_language_scanner.l"
6693
10.3k
    {
6694
10.3k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6695
10.3k
}
6696
0
#line 6697 "Zend/zend_language_scanner.c"
6697
20.2k
yy517:
6698
20.2k
    YYDEBUG(517, *YYCURSOR);
6699
20.2k
    yyaccept = 4;
6700
20.2k
    yych = *(YYMARKER = ++YYCURSOR);
6701
20.2k
    if (yych == 'T') goto yy604;
6702
15.4k
    if (yych == 't') goto yy604;
6703
1.00k
    goto yy48;
6704
12.9k
yy518:
6705
12.9k
    YYDEBUG(518, *YYCURSOR);
6706
12.9k
    yyaccept = 4;
6707
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
6708
12.9k
    if (yych == 'C') goto yy605;
6709
10.3k
    if (yych == 'c') goto yy605;
6710
666
    goto yy48;
6711
92.6k
yy519:
6712
92.6k
    YYDEBUG(519, *YYCURSOR);
6713
92.6k
    yyaccept = 4;
6714
92.6k
    yych = *(YYMARKER = ++YYCURSOR);
6715
92.6k
    if (yych == 'C') goto yy606;
6716
89.4k
    if (yych == 'c') goto yy606;
6717
4.36k
    goto yy48;
6718
7.73k
yy520:
6719
7.73k
    YYDEBUG(520, *YYCURSOR);
6720
7.73k
    yyaccept = 4;
6721
7.73k
    yych = *(YYMARKER = ++YYCURSOR);
6722
7.73k
    if (yych == 'N') goto yy608;
6723
7.04k
    if (yych == 'n') goto yy608;
6724
965
    goto yy48;
6725
45.0k
yy521:
6726
45.0k
    YYDEBUG(521, *YYCURSOR);
6727
45.0k
    yyaccept = 4;
6728
45.0k
    yych = *(YYMARKER = ++YYCURSOR);
6729
45.0k
    if (yych == 'R') goto yy609;
6730
40.6k
    if (yych == 'r') goto yy609;
6731
1.31k
    goto yy48;
6732
34.1k
yy522:
6733
34.1k
    YYDEBUG(522, *YYCURSOR);
6734
34.1k
    yyaccept = 4;
6735
34.1k
    yych = *(YYMARKER = ++YYCURSOR);
6736
34.1k
    if (yych == 'N') goto yy610;
6737
32.3k
    if (yych == 'n') goto yy610;
6738
1.87k
    goto yy48;
6739
30.8k
yy523:
6740
30.8k
    YYDEBUG(523, *YYCURSOR);
6741
30.8k
    yyaccept = 4;
6742
30.8k
    yych = *(YYMARKER = ++YYCURSOR);
6743
30.8k
    if (yych == 'C') goto yy612;
6744
28.5k
    if (yych == 'c') goto yy612;
6745
2.51k
    goto yy48;
6746
11.1k
yy524:
6747
11.1k
    YYDEBUG(524, *YYCURSOR);
6748
11.1k
    yyaccept = 4;
6749
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
6750
11.1k
    if (yych == 'H') goto yy614;
6751
8.41k
    if (yych == 'h') goto yy614;
6752
1.65k
    goto yy48;
6753
15.9k
yy525:
6754
15.9k
    YYDEBUG(525, *YYCURSOR);
6755
15.9k
    yyaccept = 46;
6756
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
6757
15.9k
    if (yybm[256+yych] & 128) {
6758
6.25k
      goto yy47;
6759
6.25k
    }
6760
9.70k
    if (yych == '\\') goto yy164;
6761
9.53k
yy526:
6762
9.53k
    YYDEBUG(526, *YYCURSOR);
6763
9.53k
    yyleng = YYCURSOR - SCNG(yy_text);
6764
9.53k
#line 1434 "Zend/zend_language_scanner.l"
6765
9.53k
    {
6766
9.53k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6767
9.53k
}
6768
0
#line 6769 "Zend/zend_language_scanner.c"
6769
13.9k
yy527:
6770
13.9k
    YYDEBUG(527, *YYCURSOR);
6771
13.9k
    yyaccept = 47;
6772
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
6773
13.9k
    if (yybm[256+yych] & 128) {
6774
3.32k
      goto yy47;
6775
3.32k
    }
6776
10.6k
    if (yych == '\\') goto yy164;
6777
10.2k
yy528:
6778
10.2k
    YYDEBUG(528, *YYCURSOR);
6779
10.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6780
10.2k
#line 1546 "Zend/zend_language_scanner.l"
6781
10.2k
    {
6782
10.2k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6783
10.2k
}
6784
0
#line 6785 "Zend/zend_language_scanner.c"
6785
12.5k
yy529:
6786
12.5k
    YYDEBUG(529, *YYCURSOR);
6787
12.5k
    yyaccept = 48;
6788
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
6789
12.5k
    if (yybm[256+yych] & 128) {
6790
1.16k
      goto yy47;
6791
1.16k
    }
6792
11.3k
    if (yych == '\\') goto yy164;
6793
11.3k
yy530:
6794
11.3k
    YYDEBUG(530, *YYCURSOR);
6795
11.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6796
11.3k
#line 1750 "Zend/zend_language_scanner.l"
6797
11.3k
    {
6798
11.3k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6799
11.3k
}
6800
0
#line 6801 "Zend/zend_language_scanner.c"
6801
4.90k
yy531:
6802
4.90k
    YYDEBUG(531, *YYCURSOR);
6803
4.90k
    yyaccept = 49;
6804
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
6805
4.90k
    if (yybm[256+yych] & 128) {
6806
576
      goto yy47;
6807
576
    }
6808
4.32k
    if (yych == '\\') goto yy164;
6809
4.32k
yy532:
6810
4.32k
    YYDEBUG(532, *YYCURSOR);
6811
4.32k
    yyleng = YYCURSOR - SCNG(yy_text);
6812
4.32k
#line 1454 "Zend/zend_language_scanner.l"
6813
4.32k
    {
6814
4.32k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6815
4.32k
}
6816
0
#line 6817 "Zend/zend_language_scanner.c"
6817
108k
yy533:
6818
108k
    YYDEBUG(533, *YYCURSOR);
6819
108k
    yyaccept = 50;
6820
108k
    yych = *(YYMARKER = ++YYCURSOR);
6821
108k
    if (yybm[256+yych] & 128) {
6822
2.00k
      goto yy47;
6823
2.00k
    }
6824
106k
    if (yych <= ' ') {
6825
45.9k
      if (yych <= '\f') {
6826
27.7k
        if (yych <= 0x08) goto yy534;
6827
25.3k
        if (yych <= '\n') goto yy616;
6828
25.3k
      } else {
6829
18.1k
        if (yych <= '\r') goto yy616;
6830
16.5k
        if (yych >= ' ') goto yy616;
6831
16.5k
      }
6832
60.2k
    } else {
6833
60.2k
      if (yych <= '.') {
6834
57.7k
        if (yych == '#') goto yy618;
6835
57.7k
      } else {
6836
2.44k
        if (yych <= '/') goto yy619;
6837
2.13k
        if (yych == '\\') goto yy164;
6838
2.13k
      }
6839
60.2k
    }
6840
82.0k
yy534:
6841
82.0k
    YYDEBUG(534, *YYCURSOR);
6842
82.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6843
82.0k
#line 1418 "Zend/zend_language_scanner.l"
6844
82.0k
    {
6845
82.0k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6846
82.0k
}
6847
0
#line 6848 "Zend/zend_language_scanner.c"
6848
8.37k
yy535:
6849
8.37k
    YYDEBUG(535, *YYCURSOR);
6850
8.37k
    yyaccept = 4;
6851
8.37k
    yych = *(YYMARKER = ++YYCURSOR);
6852
8.37k
    if (yych == 'S') goto yy620;
6853
4.47k
    if (yych == 's') goto yy620;
6854
448
    goto yy48;
6855
10.1k
yy536:
6856
10.1k
    YYDEBUG(536, *YYCURSOR);
6857
10.1k
    yyaccept = 4;
6858
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
6859
10.1k
    if (yych == '_') goto yy621;
6860
1.82k
    goto yy48;
6861
10.3k
yy537:
6862
10.3k
    YYDEBUG(537, *YYCURSOR);
6863
10.3k
    yyaccept = 4;
6864
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
6865
10.3k
    if (yych == 'E') goto yy622;
6866
2.37k
    if (yych == 'e') goto yy622;
6867
612
    goto yy48;
6868
14.0k
yy538:
6869
14.0k
    YYDEBUG(538, *YYCURSOR);
6870
14.0k
    yyaccept = 4;
6871
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
6872
14.0k
    if (yych == 'C') goto yy623;
6873
5.50k
    if (yych == 'c') goto yy623;
6874
1.27k
    goto yy48;
6875
5.62k
yy539:
6876
5.62k
    YYDEBUG(539, *YYCURSOR);
6877
5.62k
    yyaccept = 4;
6878
5.62k
    yych = *(YYMARKER = ++YYCURSOR);
6879
5.62k
    if (yych == 'T') goto yy624;
6880
4.64k
    if (yych == 't') goto yy624;
6881
874
    goto yy48;
6882
5.66k
yy540:
6883
5.66k
    YYDEBUG(540, *YYCURSOR);
6884
5.66k
    yyaccept = 4;
6885
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
6886
5.66k
    if (yych == 'E') goto yy625;
6887
2.57k
    if (yych == 'e') goto yy625;
6888
692
    goto yy48;
6889
21.1k
yy541:
6890
21.1k
    YYDEBUG(541, *YYCURSOR);
6891
21.1k
    yyaccept = 4;
6892
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
6893
21.1k
    if (yych == 'H') goto yy626;
6894
5.00k
    if (yych == 'h') goto yy626;
6895
1.52k
    goto yy48;
6896
9.56k
yy542:
6897
9.56k
    YYDEBUG(542, *YYCURSOR);
6898
9.56k
    yyaccept = 4;
6899
9.56k
    yych = *(YYMARKER = ++YYCURSOR);
6900
9.56k
    if (yych == 'E') goto yy627;
6901
4.44k
    if (yych == 'e') goto yy627;
6902
1.46k
    goto yy48;
6903
5.59k
yy543:
6904
5.59k
    YYDEBUG(543, *YYCURSOR);
6905
5.59k
    yyaccept = 4;
6906
5.59k
    yych = *(YYMARKER = ++YYCURSOR);
6907
5.59k
    if (yych == 'P') goto yy628;
6908
745
    if (yych == 'p') goto yy628;
6909
482
    goto yy48;
6910
8.83k
yy544:
6911
8.83k
    YYDEBUG(544, *YYCURSOR);
6912
8.83k
    yyaccept = 4;
6913
8.83k
    yych = *(YYMARKER = ++YYCURSOR);
6914
8.83k
    if (yych == 'I') goto yy629;
6915
5.71k
    if (yych == 'i') goto yy629;
6916
1.60k
    goto yy48;
6917
279k
yy545:
6918
279k
    YYDEBUG(545, *YYCURSOR);
6919
279k
    ++YYCURSOR;
6920
279k
    YYFILL(1);
6921
279k
    yych = *YYCURSOR;
6922
279k
    YYDEBUG(546, *YYCURSOR);
6923
279k
    if (yybm[0+yych] & 64) {
6924
4.90k
      goto yy355;
6925
4.90k
    }
6926
274k
    if (yych <= ' ') {
6927
31.8k
      if (yych <= '\n') {
6928
8.73k
        if (yych <= 0x00) goto yy86;
6929
7.40k
        if (yych <= 0x08) goto yy230;
6930
6.70k
        goto yy545;
6931
23.1k
      } else {
6932
23.1k
        if (yych == '\r') goto yy545;
6933
6.53k
        if (yych <= 0x1F) goto yy230;
6934
5.42k
        goto yy545;
6935
6.53k
      }
6936
242k
    } else {
6937
242k
      if (yych <= '$') {
6938
179k
        if (yych <= '"') goto yy230;
6939
179k
        if (yych <= '#') goto yy630;
6940
8.75k
        goto yy631;
6941
179k
      } else {
6942
62.4k
        if (yych <= '-') goto yy230;
6943
51.3k
        if (yych <= '.') goto yy632;
6944
49.2k
        if (yych <= '/') goto yy633;
6945
9.84k
        goto yy230;
6946
49.2k
      }
6947
242k
    }
6948
58.1k
yy547:
6949
58.1k
    YYDEBUG(547, *YYCURSOR);
6950
58.1k
    ++YYCURSOR;
6951
58.1k
    YYFILL(1);
6952
58.1k
    yych = *YYCURSOR;
6953
58.1k
    YYDEBUG(548, *YYCURSOR);
6954
58.1k
    if (yych <= '\r') {
6955
9.17k
      if (yych <= '\t') {
6956
2.79k
        if (yych <= 0x00) goto yy86;
6957
2.53k
        goto yy443;
6958
6.37k
      } else {
6959
6.37k
        if (yych <= '\n') goto yy545;
6960
4.09k
        if (yych <= '\f') goto yy443;
6961
3.81k
        goto yy545;
6962
4.09k
      }
6963
48.9k
    } else {
6964
48.9k
      if (yych <= '*') {
6965
21.2k
        if (yych <= ')') goto yy443;
6966
1.40k
        goto yy547;
6967
27.7k
      } else {
6968
27.7k
        if (yych == '/') goto yy227;
6969
10.8k
        goto yy443;
6970
27.7k
      }
6971
48.9k
    }
6972
18.9k
yy549:
6973
18.9k
    YYDEBUG(549, *YYCURSOR);
6974
18.9k
    ++YYCURSOR;
6975
18.9k
    YYFILL(1);
6976
18.9k
    yych = *YYCURSOR;
6977
18.9k
    YYDEBUG(550, *YYCURSOR);
6978
18.9k
    if (yych <= 0x1F) {
6979
773
      if (yych == '\t') goto yy549;
6980
319
      goto yy86;
6981
18.1k
    } else {
6982
18.1k
      if (yych <= ' ') goto yy549;
6983
12.0k
      if (yych == ')') goto yy634;
6984
10.4k
      goto yy86;
6985
12.0k
    }
6986
720
yy551:
6987
720
    YYDEBUG(551, *YYCURSOR);
6988
720
    yych = *++YYCURSOR;
6989
720
    if (yych == 'Y') goto yy636;
6990
500
    if (yych == 'y') goto yy636;
6991
233
    goto yy86;
6992
1.77k
yy552:
6993
1.77k
    YYDEBUG(552, *YYCURSOR);
6994
1.77k
    ++YYCURSOR;
6995
1.77k
    YYFILL(1);
6996
1.77k
    yych = *YYCURSOR;
6997
3.28k
yy553:
6998
3.28k
    YYDEBUG(553, *YYCURSOR);
6999
3.28k
    if (yych <= 0x1F) {
7000
1.12k
      if (yych == '\t') goto yy552;
7001
576
      goto yy86;
7002
2.15k
    } else {
7003
2.15k
      if (yych <= ' ') goto yy552;
7004
1.74k
      if (yych != ')') goto yy86;
7005
1.74k
    }
7006
482
    YYDEBUG(554, *YYCURSOR);
7007
482
    ++YYCURSOR;
7008
482
    YYDEBUG(555, *YYCURSOR);
7009
482
    yyleng = YYCURSOR - SCNG(yy_text);
7010
482
#line 1650 "Zend/zend_language_scanner.l"
7011
482
    {
7012
482
  RETURN_TOKEN(T_BOOL_CAST);
7013
482
}
7014
0
#line 7015 "Zend/zend_language_scanner.c"
7015
1.92k
yy556:
7016
1.92k
    YYDEBUG(556, *YYCURSOR);
7017
1.92k
    yych = *++YYCURSOR;
7018
1.92k
    if (yych == 'A') goto yy638;
7019
1.33k
    if (yych == 'a') goto yy638;
7020
324
    goto yy86;
7021
2.56k
yy557:
7022
2.56k
    YYDEBUG(557, *YYCURSOR);
7023
2.56k
    yych = *++YYCURSOR;
7024
2.56k
    if (yych == 'E') goto yy558;
7025
2.24k
    if (yych != 'e') goto yy86;
7026
6.83k
yy558:
7027
6.83k
    YYDEBUG(558, *YYCURSOR);
7028
6.83k
    ++YYCURSOR;
7029
6.83k
    YYFILL(1);
7030
6.83k
    yych = *YYCURSOR;
7031
6.83k
    YYDEBUG(559, *YYCURSOR);
7032
6.83k
    if (yych <= 0x1F) {
7033
1.33k
      if (yych == '\t') goto yy558;
7034
771
      goto yy86;
7035
5.50k
    } else {
7036
5.50k
      if (yych <= ' ') goto yy558;
7037
4.67k
      if (yych == ')') goto yy639;
7038
2.29k
      goto yy86;
7039
4.67k
    }
7040
2.46k
yy560:
7041
2.46k
    YYDEBUG(560, *YYCURSOR);
7042
2.46k
    yych = *++YYCURSOR;
7043
2.46k
    if (yych == 'E') goto yy641;
7044
1.77k
    if (yych == 'e') goto yy641;
7045
725
    goto yy86;
7046
3.16k
yy561:
7047
3.16k
    YYDEBUG(561, *YYCURSOR);
7048
3.16k
    yych = *++YYCURSOR;
7049
3.16k
    if (yych == 'T') goto yy642;
7050
2.80k
    if (yych == 't') goto yy642;
7051
316
    goto yy86;
7052
316
yy562:
7053
300
    YYDEBUG(562, *YYCURSOR);
7054
300
    ++YYCURSOR;
7055
300
    YYDEBUG(563, *YYCURSOR);
7056
300
    yyleng = YYCURSOR - SCNG(yy_text);
7057
300
#line 1630 "Zend/zend_language_scanner.l"
7058
300
    {
7059
300
  if (PARSER_MODE()) {
7060
12
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7061
12
    RETURN_TOKEN(T_ERROR);
7062
12
  }
7063
288
  RETURN_TOKEN(T_DOUBLE_CAST);
7064
288
}
7065
0
#line 7066 "Zend/zend_language_scanner.c"
7066
10.6k
yy564:
7067
10.6k
    YYDEBUG(564, *YYCURSOR);
7068
10.6k
    yych = *++YYCURSOR;
7069
10.6k
    if (yych == 'G') goto yy636;
7070
10.4k
    if (yych == 'g') goto yy636;
7071
671
    goto yy86;
7072
3.16k
yy565:
7073
3.16k
    YYDEBUG(565, *YYCURSOR);
7074
3.16k
    ++YYCURSOR;
7075
3.16k
    YYFILL(1);
7076
3.16k
    yych = *YYCURSOR;
7077
3.16k
    YYDEBUG(566, *YYCURSOR);
7078
3.16k
    if (yych <= 0x1F) {
7079
1.07k
      if (yych == '\t') goto yy565;
7080
573
      goto yy86;
7081
2.09k
    } else {
7082
2.09k
      if (yych <= ' ') goto yy565;
7083
1.50k
      if (yych == ')') goto yy644;
7084
986
      goto yy86;
7085
1.50k
    }
7086
1.15k
yy567:
7087
1.15k
    YYDEBUG(567, *YYCURSOR);
7088
1.15k
    ++YYCURSOR;
7089
1.15k
    YYDEBUG(568, *YYCURSOR);
7090
1.15k
    yyleng = YYCURSOR - SCNG(yy_text);
7091
1.15k
#line 1658 "Zend/zend_language_scanner.l"
7092
1.15k
    {
7093
1.15k
  RETURN_TOKEN(T_VOID_CAST);
7094
1.15k
}
7095
0
#line 7096 "Zend/zend_language_scanner.c"
7096
20.4k
yy569:
7097
20.4k
    YYDEBUG(569, *YYCURSOR);
7098
20.4k
    yych = *++YYCURSOR;
7099
20.4k
    if (yych == '\n') goto yy466;
7100
3.31k
    if (yych == '\r') goto yy468;
7101
1.90k
    goto yy86;
7102
10.2k
yy570:
7103
10.2k
    YYDEBUG(570, *YYCURSOR);
7104
10.2k
    yyaccept = 4;
7105
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
7106
10.2k
    if (yych == 'C') goto yy646;
7107
7.71k
    if (yych == 'c') goto yy646;
7108
447
    goto yy48;
7109
3.60k
yy571:
7110
3.60k
    YYDEBUG(571, *YYCURSOR);
7111
3.60k
    yyaccept = 4;
7112
3.60k
    yych = *(YYMARKER = ++YYCURSOR);
7113
3.60k
    if (yych == 'L') goto yy647;
7114
2.80k
    if (yych == 'l') goto yy647;
7115
397
    goto yy48;
7116
7.62k
yy572:
7117
7.62k
    YYDEBUG(572, *YYCURSOR);
7118
7.62k
    yyaccept = 4;
7119
7.62k
    yych = *(YYMARKER = ++YYCURSOR);
7120
7.62k
    if (yych == 'U') goto yy648;
7121
5.29k
    if (yych == 'u') goto yy648;
7122
739
    goto yy48;
7123
6.96k
yy573:
7124
6.96k
    YYDEBUG(573, *YYCURSOR);
7125
6.96k
    yyaccept = 4;
7126
6.96k
    yych = *(YYMARKER = ++YYCURSOR);
7127
6.96k
    if (yych == 'E') goto yy649;
7128
5.79k
    if (yych == 'e') goto yy649;
7129
509
    goto yy48;
7130
7.90k
yy574:
7131
7.90k
    YYDEBUG(574, *YYCURSOR);
7132
7.90k
    yyaccept = 4;
7133
7.90k
    yych = *(YYMARKER = ++YYCURSOR);
7134
7.90k
    if (yych == 'T') goto yy651;
7135
4.57k
    if (yych == 't') goto yy651;
7136
723
    goto yy48;
7137
8.23k
yy575:
7138
8.23k
    YYDEBUG(575, *YYCURSOR);
7139
8.23k
    yyaccept = 51;
7140
8.23k
    yych = *(YYMARKER = ++YYCURSOR);
7141
8.23k
    if (yybm[256+yych] & 128) {
7142
851
      goto yy47;
7143
851
    }
7144
7.37k
    if (yych == '\\') goto yy164;
7145
7.24k
yy576:
7146
7.24k
    YYDEBUG(576, *YYCURSOR);
7147
7.24k
    yyleng = YYCURSOR - SCNG(yy_text);
7148
7.24k
#line 1442 "Zend/zend_language_scanner.l"
7149
7.24k
    {
7150
7.24k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7151
7.24k
}
7152
0
#line 7153 "Zend/zend_language_scanner.c"
7153
9.61k
yy577:
7154
9.61k
    YYDEBUG(577, *YYCURSOR);
7155
9.61k
    yyaccept = 4;
7156
9.61k
    yych = *(YYMARKER = ++YYCURSOR);
7157
9.61k
    if (yych == 'L') goto yy653;
7158
5.25k
    if (yych == 'l') goto yy653;
7159
471
    goto yy48;
7160
17.1k
yy578:
7161
17.1k
    YYDEBUG(578, *YYCURSOR);
7162
17.1k
    yyaccept = 52;
7163
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
7164
17.1k
    if (yych <= '\\') {
7165
12.0k
      if (yych <= 'D') {
7166
6.33k
        if (yych <= '/') goto yy579;
7167
1.87k
        if (yych <= '9') goto yy47;
7168
1.46k
        if (yych >= 'A') goto yy47;
7169
5.69k
      } else {
7170
5.69k
        if (yych <= 'E') goto yy654;
7171
1.00k
        if (yych <= 'Z') goto yy47;
7172
555
        if (yych >= '\\') goto yy164;
7173
555
      }
7174
12.0k
    } else {
7175
5.11k
      if (yych <= 'd') {
7176
617
        if (yych == '_') goto yy47;
7177
398
        if (yych >= 'a') goto yy47;
7178
4.50k
      } else {
7179
4.50k
        if (yych <= 'e') goto yy654;
7180
1.07k
        if (yych <= 'z') goto yy47;
7181
772
        if (yych >= 0x80) goto yy47;
7182
772
      }
7183
5.11k
    }
7184
6.31k
yy579:
7185
6.31k
    YYDEBUG(579, *YYCURSOR);
7186
6.31k
    yyleng = YYCURSOR - SCNG(yy_text);
7187
6.31k
#line 1470 "Zend/zend_language_scanner.l"
7188
6.31k
    {
7189
6.31k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7190
6.31k
}
7191
0
#line 7192 "Zend/zend_language_scanner.c"
7192
7.00k
yy580:
7193
7.00k
    YYDEBUG(580, *YYCURSOR);
7194
7.00k
    yyaccept = 4;
7195
7.00k
    yych = *(YYMARKER = ++YYCURSOR);
7196
7.00k
    if (yych == 'T') goto yy655;
7197
5.48k
    if (yych == 't') goto yy655;
7198
485
    goto yy48;
7199
14.0k
yy581:
7200
14.0k
    YYDEBUG(581, *YYCURSOR);
7201
14.0k
    yyaccept = 4;
7202
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
7203
14.0k
    if (yych == 'L') goto yy656;
7204
9.72k
    if (yych == 'l') goto yy656;
7205
695
    goto yy48;
7206
22.0k
yy582:
7207
22.0k
    YYDEBUG(582, *YYCURSOR);
7208
22.0k
    ++YYCURSOR;
7209
154k
yy583:
7210
154k
    YYDEBUG(583, *YYCURSOR);
7211
154k
    yyleng = YYCURSOR - SCNG(yy_text);
7212
154k
#line 1558 "Zend/zend_language_scanner.l"
7213
154k
    {
7214
154k
  yyless(4);
7215
154k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7216
154k
}
7217
0
#line 7218 "Zend/zend_language_scanner.c"
7218
12.1k
yy584:
7219
12.1k
    YYDEBUG(584, *YYCURSOR);
7220
12.1k
    yyaccept = 53;
7221
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
7222
12.1k
    if (yych == 'X') goto yy657;
7223
11.9k
    if (yych == 'x') goto yy657;
7224
6.96k
    goto yy583;
7225
8.20k
yy585:
7226
8.20k
    YYDEBUG(585, *YYCURSOR);
7227
8.20k
    yyaccept = 53;
7228
8.20k
    yych = *(YYMARKER = ++YYCURSOR);
7229
8.20k
    if (yych == 'M') goto yy658;
7230
6.25k
    if (yych == 'm') goto yy658;
7231
2.80k
    goto yy583;
7232
3.27M
yy586:
7233
3.27M
    YYDEBUG(586, *YYCURSOR);
7234
3.27M
    ++YYCURSOR;
7235
3.27M
    YYFILL(1);
7236
3.27M
    yych = *YYCURSOR;
7237
3.27M
    YYDEBUG(587, *YYCURSOR);
7238
3.27M
    if (yych <= '\n') {
7239
185k
      if (yych <= 0x00) goto yy86;
7240
164k
      if (yych <= '\t') goto yy586;
7241
121k
      goto yy495;
7242
3.08M
    } else {
7243
3.08M
      if (yych == '\r') goto yy495;
7244
2.74M
      goto yy586;
7245
3.08M
    }
7246
688k
yy588:
7247
688k
    YYDEBUG(588, *YYCURSOR);
7248
688k
    ++YYCURSOR;
7249
688k
    YYFILL(1);
7250
688k
    yych = *YYCURSOR;
7251
688k
    YYDEBUG(589, *YYCURSOR);
7252
688k
    if (yych <= 'D') {
7253
336k
      if (yych <= 0x1F) {
7254
46.7k
        if (yych <= '\t') {
7255
13.5k
          if (yych <= 0x00) goto yy86;
7256
12.4k
          if (yych <= 0x08) goto yy586;
7257
1.02k
          goto yy588;
7258
33.1k
        } else {
7259
33.1k
          if (yych <= '\n') goto yy495;
7260
28.9k
          if (yych == '\r') goto yy495;
7261
3.99k
          goto yy586;
7262
28.9k
        }
7263
289k
      } else {
7264
289k
        if (yych <= '#') {
7265
97.3k
          if (yych <= ' ') goto yy588;
7266
72.8k
          if (yych <= '"') goto yy586;
7267
70.8k
          goto yy659;
7268
192k
        } else {
7269
192k
          if (yych == '/') goto yy660;
7270
16.1k
          if (yych <= '@') goto yy586;
7271
1.17k
          goto yy661;
7272
16.1k
        }
7273
289k
      }
7274
352k
    } else {
7275
352k
      if (yych <= '`') {
7276
11.2k
        if (yych <= 'I') {
7277
7.42k
          if (yych <= 'E') goto yy662;
7278
6.33k
          if (yych <= 'H') goto yy661;
7279
5.61k
          goto yy663;
7280
6.33k
        } else {
7281
3.86k
          if (yych <= 'Z') goto yy661;
7282
1.91k
          if (yych == '_') goto yy661;
7283
888
          goto yy586;
7284
1.91k
        }
7285
341k
      } else {
7286
341k
        if (yych <= 'h') {
7287
251k
          if (yych == 'e') goto yy662;
7288
15.2k
          goto yy661;
7289
251k
        } else {
7290
89.7k
          if (yych <= 'i') goto yy663;
7291
49.6k
          if (yych <= 'z') goto yy661;
7292
31.5k
          if (yych <= 0x7F) goto yy586;
7293
9.67k
          goto yy661;
7294
31.5k
        }
7295
341k
      }
7296
352k
    }
7297
3.24M
yy590:
7298
3.24M
    YYDEBUG(590, *YYCURSOR);
7299
3.24M
    ++YYCURSOR;
7300
3.24M
    YYFILL(1);
7301
3.24M
    yych = *YYCURSOR;
7302
3.24M
    YYDEBUG(591, *YYCURSOR);
7303
3.24M
    if (yych <= 0x00) goto yy86;
7304
3.20M
    if (yych == '*') goto yy664;
7305
3.12M
    goto yy590;
7306
3.12M
yy592:
7307
22.6k
    YYDEBUG(592, *YYCURSOR);
7308
22.6k
    yyaccept = 4;
7309
22.6k
    yych = *(YYMARKER = ++YYCURSOR);
7310
22.6k
    if (yych == 'S') goto yy666;
7311
21.0k
    if (yych == 's') goto yy666;
7312
1.71k
    goto yy48;
7313
5.58k
yy593:
7314
5.58k
    YYDEBUG(593, *YYCURSOR);
7315
5.58k
    yyaccept = 4;
7316
5.58k
    yych = *(YYMARKER = ++YYCURSOR);
7317
5.58k
    if (yych == 'Y') goto yy668;
7318
4.85k
    if (yych == 'y') goto yy668;
7319
551
    goto yy48;
7320
27.1k
yy594:
7321
27.1k
    YYDEBUG(594, *YYCURSOR);
7322
27.1k
    yyaccept = 4;
7323
27.1k
    yych = *(YYMARKER = ++YYCURSOR);
7324
27.1k
    if (yych == 'H') goto yy670;
7325
25.6k
    if (yych == 'h') goto yy670;
7326
671
    goto yy48;
7327
138k
yy595:
7328
138k
    YYDEBUG(595, *YYCURSOR);
7329
138k
    yyaccept = 4;
7330
138k
    yych = *(YYMARKER = ++YYCURSOR);
7331
138k
    if (yych == 'O') goto yy672;
7332
134k
    if (yych == 'o') goto yy672;
7333
4.63k
    goto yy48;
7334
8.90k
yy596:
7335
8.90k
    YYDEBUG(596, *YYCURSOR);
7336
8.90k
    yyaccept = 54;
7337
8.90k
    yych = *(YYMARKER = ++YYCURSOR);
7338
8.90k
    if (yybm[256+yych] & 128) {
7339
1.28k
      goto yy47;
7340
1.28k
    }
7341
7.62k
    if (yych == '\\') goto yy164;
7342
6.90k
yy597:
7343
6.90k
    YYDEBUG(597, *YYCURSOR);
7344
6.90k
    yyleng = YYCURSOR - SCNG(yy_text);
7345
6.90k
#line 1694 "Zend/zend_language_scanner.l"
7346
6.90k
    {
7347
6.90k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7348
6.90k
}
7349
0
#line 7350 "Zend/zend_language_scanner.c"
7350
22.4k
yy598:
7351
22.4k
    YYDEBUG(598, *YYCURSOR);
7352
22.4k
    yyaccept = 4;
7353
22.4k
    yych = *(YYMARKER = ++YYCURSOR);
7354
22.4k
    if (yych == 'E') goto yy673;
7355
18.0k
    if (yych == 'e') goto yy673;
7356
3.61k
    goto yy48;
7357
18.0k
yy599:
7358
18.0k
    YYDEBUG(599, *YYCURSOR);
7359
18.0k
    yyaccept = 4;
7360
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
7361
18.0k
    if (yych == 'E') goto yy674;
7362
14.1k
    if (yych == 'e') goto yy674;
7363
982
    goto yy48;
7364
9.24k
yy600:
7365
9.24k
    YYDEBUG(600, *YYCURSOR);
7366
9.24k
    yyaccept = 4;
7367
9.24k
    yych = *(YYMARKER = ++YYCURSOR);
7368
9.24k
    if (yych == 'C') goto yy676;
7369
6.43k
    if (yych == 'c') goto yy676;
7370
724
    goto yy48;
7371
11.0k
yy601:
7372
11.0k
    YYDEBUG(601, *YYCURSOR);
7373
11.0k
    yyaccept = 4;
7374
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
7375
11.0k
    if (yych == 'D') goto yy677;
7376
8.89k
    if (yych == 'd') goto yy677;
7377
628
    goto yy48;
7378
12.3k
yy602:
7379
12.3k
    YYDEBUG(602, *YYCURSOR);
7380
12.3k
    yyaccept = 4;
7381
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
7382
12.3k
    if (yych == 'A') goto yy678;
7383
10.4k
    if (yych == 'a') goto yy678;
7384
508
    goto yy48;
7385
34.7k
yy603:
7386
34.7k
    YYDEBUG(603, *YYCURSOR);
7387
34.7k
    yyaccept = 4;
7388
34.7k
    yych = *(YYMARKER = ++YYCURSOR);
7389
34.7k
    if (yych == 'A') goto yy679;
7390
32.0k
    if (yych == 'a') goto yy679;
7391
2.06k
    goto yy48;
7392
19.2k
yy604:
7393
19.2k
    YYDEBUG(604, *YYCURSOR);
7394
19.2k
    yyaccept = 4;
7395
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
7396
19.2k
    if (yych == 'E') goto yy680;
7397
14.5k
    if (yych == 'e') goto yy680;
7398
1.22k
    goto yy48;
7399
12.2k
yy605:
7400
12.2k
    YYDEBUG(605, *YYCURSOR);
7401
12.2k
    yyaccept = 4;
7402
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
7403
12.2k
    if (yych == 'T') goto yy682;
7404
9.81k
    if (yych == 't') goto yy682;
7405
1.10k
    goto yy48;
7406
88.3k
yy606:
7407
88.3k
    YYDEBUG(606, *YYCURSOR);
7408
88.3k
    yyaccept = 55;
7409
88.3k
    yych = *(YYMARKER = ++YYCURSOR);
7410
88.3k
    if (yybm[256+yych] & 128) {
7411
4.05k
      goto yy47;
7412
4.05k
    }
7413
84.2k
    if (yych == '(') goto yy683;
7414
81.6k
    if (yych == '\\') goto yy164;
7415
83.6k
yy607:
7416
83.6k
    YYDEBUG(607, *YYCURSOR);
7417
83.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7418
83.6k
#line 1742 "Zend/zend_language_scanner.l"
7419
83.6k
    {
7420
83.6k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7421
83.6k
}
7422
0
#line 7423 "Zend/zend_language_scanner.c"
7423
6.76k
yy608:
7424
6.76k
    YYDEBUG(608, *YYCURSOR);
7425
6.76k
    yyaccept = 4;
7426
6.76k
    yych = *(YYMARKER = ++YYCURSOR);
7427
6.76k
    if (yych == 'L') goto yy684;
7428
6.25k
    if (yych == 'l') goto yy684;
7429
923
    goto yy48;
7430
43.7k
yy609:
7431
43.7k
    YYDEBUG(609, *YYCURSOR);
7432
43.7k
    yyaccept = 4;
7433
43.7k
    yych = *(YYMARKER = ++YYCURSOR);
7434
43.7k
    if (yych == 'E') goto yy685;
7435
39.5k
    if (yych == 'e') goto yy685;
7436
1.38k
    goto yy48;
7437
32.2k
yy610:
7438
32.2k
    YYDEBUG(610, *YYCURSOR);
7439
32.2k
    yyaccept = 56;
7440
32.2k
    yych = *(YYMARKER = ++YYCURSOR);
7441
32.2k
    if (yybm[256+yych] & 128) {
7442
1.64k
      goto yy47;
7443
1.64k
    }
7444
30.6k
    if (yych == '\\') goto yy164;
7445
30.6k
yy611:
7446
30.6k
    YYDEBUG(611, *YYCURSOR);
7447
30.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7448
30.6k
#line 1403 "Zend/zend_language_scanner.l"
7449
30.6k
    {
7450
30.6k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7451
30.6k
}
7452
0
#line 7453 "Zend/zend_language_scanner.c"
7453
28.3k
yy612:
7454
28.3k
    YYDEBUG(612, *YYCURSOR);
7455
28.3k
    yyaccept = 57;
7456
28.3k
    yych = *(YYMARKER = ++YYCURSOR);
7457
28.3k
    if (yybm[256+yych] & 128) {
7458
1.30k
      goto yy47;
7459
1.30k
    }
7460
27.0k
    if (yych == '\\') goto yy164;
7461
27.0k
yy613:
7462
27.0k
    YYDEBUG(613, *YYCURSOR);
7463
27.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7464
27.0k
#line 1710 "Zend/zend_language_scanner.l"
7465
27.0k
    {
7466
27.0k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7467
27.0k
}
7468
0
#line 7469 "Zend/zend_language_scanner.c"
7469
9.53k
yy614:
7470
9.53k
    YYDEBUG(614, *YYCURSOR);
7471
9.53k
    yyaccept = 58;
7472
9.53k
    yych = *(YYMARKER = ++YYCURSOR);
7473
9.53k
    if (yybm[256+yych] & 128) {
7474
735
      goto yy47;
7475
735
    }
7476
8.79k
    if (yych == '\\') goto yy164;
7477
8.78k
yy615:
7478
8.78k
    YYDEBUG(615, *YYCURSOR);
7479
8.78k
    yyleng = YYCURSOR - SCNG(yy_text);
7480
8.78k
#line 1498 "Zend/zend_language_scanner.l"
7481
8.78k
    {
7482
8.78k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7483
8.78k
}
7484
0
#line 7485 "Zend/zend_language_scanner.c"
7485
495k
yy616:
7486
495k
    YYDEBUG(616, *YYCURSOR);
7487
495k
    ++YYCURSOR;
7488
495k
    YYFILL(5);
7489
495k
    yych = *YYCURSOR;
7490
495k
    YYDEBUG(617, *YYCURSOR);
7491
495k
    if (yych <= '"') {
7492
144k
      if (yych <= '\f') {
7493
52.5k
        if (yych <= 0x08) goto yy86;
7494
50.9k
        if (yych <= '\n') goto yy616;
7495
1.62k
        goto yy86;
7496
91.9k
      } else {
7497
91.9k
        if (yych <= '\r') goto yy616;
7498
11.6k
        if (yych == ' ') goto yy616;
7499
1.81k
        goto yy86;
7500
11.6k
      }
7501
351k
    } else {
7502
351k
      if (yych <= 'E') {
7503
331k
        if (yych <= '#') goto yy618;
7504
46.0k
        if (yych == '/') goto yy619;
7505
15.2k
        goto yy86;
7506
46.0k
      } else {
7507
19.5k
        if (yych <= 'F') goto yy687;
7508
17.0k
        if (yych == 'f') goto yy687;
7509
8.91k
        goto yy86;
7510
17.0k
      }
7511
351k
    }
7512
341k
yy618:
7513
341k
    YYDEBUG(618, *YYCURSOR);
7514
341k
    ++YYCURSOR;
7515
341k
    YYFILL(1);
7516
341k
    yych = *YYCURSOR;
7517
341k
    if (yych <= '\f') {
7518
146k
      if (yych <= 0x00) goto yy86;
7519
145k
      if (yych == '\n') goto yy690;
7520
1.05k
      goto yy688;
7521
194k
    } else {
7522
194k
      if (yych <= '\r') goto yy690;
7523
88.7k
      if (yych == '[') goto yy86;
7524
88.3k
      goto yy688;
7525
88.7k
    }
7526
31.2k
yy619:
7527
31.2k
    YYDEBUG(619, *YYCURSOR);
7528
31.2k
    ++YYCURSOR;
7529
31.2k
    YYFILL(1);
7530
31.2k
    yych = *YYCURSOR;
7531
31.2k
    if (yych == '*') goto yy692;
7532
1.99k
    if (yych == '/') goto yy688;
7533
1.42k
    goto yy86;
7534
7.92k
yy620:
7535
7.92k
    YYDEBUG(620, *YYCURSOR);
7536
7.92k
    yyaccept = 4;
7537
7.92k
    yych = *(YYMARKER = ++YYCURSOR);
7538
7.92k
    if (yych == 'S') goto yy694;
7539
4.81k
    if (yych == 's') goto yy694;
7540
697
    goto yy48;
7541
8.28k
yy621:
7542
8.28k
    YYDEBUG(621, *YYCURSOR);
7543
8.28k
    yyaccept = 4;
7544
8.28k
    yych = *(YYMARKER = ++YYCURSOR);
7545
8.28k
    if (yych == '_') goto yy695;
7546
603
    goto yy48;
7547
9.72k
yy622:
7548
9.72k
    YYDEBUG(622, *YYCURSOR);
7549
9.72k
    yyaccept = 4;
7550
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
7551
9.72k
    if (yych == '_') goto yy697;
7552
902
    goto yy48;
7553
12.7k
yy623:
7554
12.7k
    YYDEBUG(623, *YYCURSOR);
7555
12.7k
    yyaccept = 4;
7556
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
7557
12.7k
    if (yych == 'T') goto yy698;
7558
3.20k
    if (yych == 't') goto yy698;
7559
1.26k
    goto yy48;
7560
4.75k
yy624:
7561
4.75k
    YYDEBUG(624, *YYCURSOR);
7562
4.75k
    yyaccept = 4;
7563
4.75k
    yych = *(YYMARKER = ++YYCURSOR);
7564
4.75k
    if (yych == '_') goto yy699;
7565
710
    goto yy48;
7566
4.97k
yy625:
7567
4.97k
    YYDEBUG(625, *YYCURSOR);
7568
4.97k
    yyaccept = 4;
7569
4.97k
    yych = *(YYMARKER = ++YYCURSOR);
7570
4.97k
    if (yych == '_') goto yy700;
7571
1.23k
    goto yy48;
7572
19.6k
yy626:
7573
19.6k
    YYDEBUG(626, *YYCURSOR);
7574
19.6k
    yyaccept = 4;
7575
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
7576
19.6k
    if (yych == 'O') goto yy701;
7577
5.84k
    if (yych == 'o') goto yy701;
7578
2.56k
    goto yy48;
7579
8.09k
yy627:
7580
8.09k
    YYDEBUG(627, *YYCURSOR);
7581
8.09k
    yyaccept = 4;
7582
8.09k
    yych = *(YYMARKER = ++YYCURSOR);
7583
8.09k
    if (yych == 'S') goto yy702;
7584
3.93k
    if (yych == 's') goto yy702;
7585
1.52k
    goto yy48;
7586
5.11k
yy628:
7587
5.11k
    YYDEBUG(628, *YYCURSOR);
7588
5.11k
    yyaccept = 4;
7589
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
7590
5.11k
    if (yych == 'E') goto yy703;
7591
2.37k
    if (yych == 'e') goto yy703;
7592
416
    goto yy48;
7593
7.23k
yy629:
7594
7.23k
    YYDEBUG(629, *YYCURSOR);
7595
7.23k
    yyaccept = 4;
7596
7.23k
    yych = *(YYMARKER = ++YYCURSOR);
7597
7.23k
    if (yych == 'T') goto yy704;
7598
4.31k
    if (yych == 't') goto yy704;
7599
490
    goto yy48;
7600
170k
yy630:
7601
170k
    YYDEBUG(630, *YYCURSOR);
7602
170k
    ++YYCURSOR;
7603
170k
    YYFILL(1);
7604
170k
    yych = *YYCURSOR;
7605
170k
    if (yych <= '\r') {
7606
129k
      if (yych <= '\t') {
7607
3.72k
        if (yych <= 0x00) goto yy86;
7608
3.21k
        goto yy443;
7609
126k
      } else {
7610
126k
        if (yych <= '\n') goto yy705;
7611
28.6k
        if (yych <= '\f') goto yy443;
7612
28.0k
        goto yy705;
7613
28.6k
      }
7614
129k
    } else {
7615
40.6k
      if (yych <= '*') {
7616
13.3k
        if (yych <= ')') goto yy443;
7617
6.95k
        goto yy547;
7618
27.3k
      } else {
7619
27.3k
        if (yych == '[') goto yy230;
7620
27.0k
        goto yy443;
7621
27.3k
      }
7622
40.6k
    }
7623
8.96k
yy631:
7624
8.96k
    YYDEBUG(631, *YYCURSOR);
7625
8.96k
    yyaccept = 26;
7626
8.96k
    YYMARKER = ++YYCURSOR;
7627
8.96k
    YYFILL(1);
7628
8.96k
    yych = *YYCURSOR;
7629
8.96k
    if (yybm[0+yych] & 4) {
7630
8.48k
      goto yy230;
7631
8.48k
    }
7632
476
    if (yych <= 0x00) goto yy89;
7633
198
    goto yy355;
7634
2.10k
yy632:
7635
2.10k
    YYDEBUG(632, *YYCURSOR);
7636
2.10k
    ++YYCURSOR;
7637
2.10k
    YYFILL(1);
7638
2.10k
    yych = *YYCURSOR;
7639
2.10k
    if (yybm[0+yych] & 64) {
7640
208
      goto yy355;
7641
208
    }
7642
1.89k
    if (yych <= 0x00) goto yy86;
7643
1.66k
    if (yych == '.') goto yy707;
7644
671
    goto yy230;
7645
39.3k
yy633:
7646
39.3k
    YYDEBUG(633, *YYCURSOR);
7647
39.3k
    ++YYCURSOR;
7648
39.3k
    YYFILL(1);
7649
39.3k
    yych = *YYCURSOR;
7650
39.3k
    if (yych <= '*') {
7651
35.5k
      if (yych <= 0x00) goto yy86;
7652
35.2k
      if (yych <= ')') goto yy230;
7653
34.1k
      goto yy708;
7654
35.2k
    } else {
7655
3.87k
      if (yych == '/') goto yy443;
7656
2.60k
      goto yy230;
7657
3.87k
    }
7658
1.61k
yy634:
7659
1.61k
    YYDEBUG(634, *YYCURSOR);
7660
1.61k
    ++YYCURSOR;
7661
1.61k
    YYDEBUG(635, *YYCURSOR);
7662
1.61k
    yyleng = YYCURSOR - SCNG(yy_text);
7663
1.61k
#line 1642 "Zend/zend_language_scanner.l"
7664
1.61k
    {
7665
1.61k
  RETURN_TOKEN(T_ARRAY_CAST);
7666
1.61k
}
7667
0
#line 7668 "Zend/zend_language_scanner.c"
7668
13.2k
yy636:
7669
13.2k
    YYDEBUG(636, *YYCURSOR);
7670
13.2k
    ++YYCURSOR;
7671
13.2k
    YYFILL(1);
7672
13.2k
    yych = *YYCURSOR;
7673
13.2k
    YYDEBUG(637, *YYCURSOR);
7674
13.2k
    if (yych <= 0x1F) {
7675
4.59k
      if (yych == '\t') goto yy636;
7676
4.32k
      goto yy86;
7677
8.62k
    } else {
7678
8.62k
      if (yych <= ' ') goto yy636;
7679
6.18k
      if (yych == ')') goto yy709;
7680
3.60k
      goto yy86;
7681
6.18k
    }
7682
1.60k
yy638:
7683
1.60k
    YYDEBUG(638, *YYCURSOR);
7684
1.60k
    yych = *++YYCURSOR;
7685
1.60k
    if (yych == 'N') goto yy552;
7686
1.08k
    if (yych == 'n') goto yy552;
7687
787
    goto yy86;
7688
2.37k
yy639:
7689
2.37k
    YYDEBUG(639, *YYCURSOR);
7690
2.37k
    ++YYCURSOR;
7691
2.37k
    YYDEBUG(640, *YYCURSOR);
7692
2.37k
    yyleng = YYCURSOR - SCNG(yy_text);
7693
2.37k
#line 1626 "Zend/zend_language_scanner.l"
7694
2.37k
    {
7695
2.37k
  RETURN_TOKEN(T_DOUBLE_CAST);
7696
2.37k
}
7697
0
#line 7698 "Zend/zend_language_scanner.c"
7698
1.73k
yy641:
7699
1.73k
    YYDEBUG(641, *YYCURSOR);
7700
1.73k
    yych = *++YYCURSOR;
7701
1.73k
    if (yych == 'R') goto yy450;
7702
1.34k
    if (yych == 'r') goto yy450;
7703
826
    goto yy86;
7704
3.97k
yy642:
7705
3.97k
    YYDEBUG(642, *YYCURSOR);
7706
3.97k
    ++YYCURSOR;
7707
3.97k
    YYFILL(1);
7708
3.97k
    yych = *YYCURSOR;
7709
3.97k
    YYDEBUG(643, *YYCURSOR);
7710
3.97k
    if (yych <= 0x1F) {
7711
1.06k
      if (yych == '\t') goto yy642;
7712
388
      goto yy86;
7713
2.91k
    } else {
7714
2.91k
      if (yych <= ' ') goto yy642;
7715
2.46k
      if (yych == ')') goto yy711;
7716
754
      goto yy86;
7717
2.46k
    }
7718
515
yy644:
7719
515
    YYDEBUG(644, *YYCURSOR);
7720
515
    ++YYCURSOR;
7721
515
    YYDEBUG(645, *YYCURSOR);
7722
515
    yyleng = YYCURSOR - SCNG(yy_text);
7723
515
#line 1654 "Zend/zend_language_scanner.l"
7724
515
    {
7725
515
  RETURN_TOKEN(T_UNSET_CAST);
7726
515
}
7727
0
#line 7728 "Zend/zend_language_scanner.c"
7728
9.80k
yy646:
7729
9.80k
    YYDEBUG(646, *YYCURSOR);
7730
9.80k
    yyaccept = 4;
7731
9.80k
    yych = *(YYMARKER = ++YYCURSOR);
7732
9.80k
    if (yych == 'T') goto yy713;
7733
7.32k
    if (yych == 't') goto yy713;
7734
636
    goto yy48;
7735
3.20k
yy647:
7736
3.20k
    YYDEBUG(647, *YYCURSOR);
7737
3.20k
    yyaccept = 4;
7738
3.20k
    yych = *(YYMARKER = ++YYCURSOR);
7739
3.20k
    if (yych == 'E') goto yy715;
7740
2.49k
    if (yych == 'e') goto yy715;
7741
396
    goto yy48;
7742
6.88k
yy648:
7743
6.88k
    YYDEBUG(648, *YYCURSOR);
7744
6.88k
    yyaccept = 4;
7745
6.88k
    yych = *(YYMARKER = ++YYCURSOR);
7746
6.88k
    if (yych == 'E') goto yy717;
7747
4.73k
    if (yych == 'e') goto yy717;
7748
856
    goto yy48;
7749
6.45k
yy649:
7750
6.45k
    YYDEBUG(649, *YYCURSOR);
7751
6.45k
    yyaccept = 59;
7752
6.45k
    yych = *(YYMARKER = ++YYCURSOR);
7753
6.45k
    if (yybm[256+yych] & 128) {
7754
643
      goto yy47;
7755
643
    }
7756
5.81k
    if (yych == '\\') goto yy164;
7757
5.80k
yy650:
7758
5.80k
    YYDEBUG(650, *YYCURSOR);
7759
5.80k
    yyleng = YYCURSOR - SCNG(yy_text);
7760
5.80k
#line 1482 "Zend/zend_language_scanner.l"
7761
5.80k
    {
7762
5.80k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7763
5.80k
}
7764
0
#line 7765 "Zend/zend_language_scanner.c"
7765
7.18k
yy651:
7766
7.18k
    YYDEBUG(651, *YYCURSOR);
7767
7.18k
    yyaccept = 60;
7768
7.18k
    yych = *(YYMARKER = ++YYCURSOR);
7769
7.18k
    if (yybm[256+yych] & 128) {
7770
598
      goto yy47;
7771
598
    }
7772
6.58k
    if (yych == '\\') goto yy164;
7773
6.54k
yy652:
7774
6.54k
    YYDEBUG(652, *YYCURSOR);
7775
6.54k
    yyleng = YYCURSOR - SCNG(yy_text);
7776
6.54k
#line 1514 "Zend/zend_language_scanner.l"
7777
6.54k
    {
7778
6.54k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7779
6.54k
}
7780
0
#line 7781 "Zend/zend_language_scanner.c"
7781
9.14k
yy653:
7782
9.14k
    YYDEBUG(653, *YYCURSOR);
7783
9.14k
    yyaccept = 4;
7784
9.14k
    yych = *(YYMARKER = ++YYCURSOR);
7785
9.14k
    if (yych == 'A') goto yy719;
7786
5.24k
    if (yych == 'a') goto yy719;
7787
903
    goto yy48;
7788
8.11k
yy654:
7789
8.11k
    YYDEBUG(654, *YYCURSOR);
7790
8.11k
    yyaccept = 4;
7791
8.11k
    yych = *(YYMARKER = ++YYCURSOR);
7792
8.11k
    if (yych == 'A') goto yy720;
7793
4.98k
    if (yych == 'a') goto yy720;
7794
1.83k
    goto yy48;
7795
6.52k
yy655:
7796
6.52k
    YYDEBUG(655, *YYCURSOR);
7797
6.52k
    yyaccept = 4;
7798
6.52k
    yych = *(YYMARKER = ++YYCURSOR);
7799
6.52k
    if (yych == 'C') goto yy721;
7800
5.33k
    if (yych == 'c') goto yy721;
7801
871
    goto yy48;
7802
13.3k
yy656:
7803
13.3k
    YYDEBUG(656, *YYCURSOR);
7804
13.3k
    yyaccept = 4;
7805
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
7806
13.3k
    if (yych == 'E') goto yy722;
7807
11.2k
    if (yych == 'e') goto yy722;
7808
2.72k
    goto yy48;
7809
5.20k
yy657:
7810
5.20k
    YYDEBUG(657, *YYCURSOR);
7811
5.20k
    yych = *++YYCURSOR;
7812
5.20k
    if (yych == 'T') goto yy724;
7813
4.44k
    if (yych == 't') goto yy724;
7814
581
    goto yy86;
7815
5.40k
yy658:
7816
5.40k
    YYDEBUG(658, *YYCURSOR);
7817
5.40k
    yych = *++YYCURSOR;
7818
5.40k
    if (yych == 'P') goto yy725;
7819
4.17k
    if (yych == 'p') goto yy725;
7820
1.13k
    goto yy86;
7821
70.8k
yy659:
7822
70.8k
    YYDEBUG(659, *YYCURSOR);
7823
70.8k
    ++YYCURSOR;
7824
70.8k
    YYFILL(1);
7825
70.8k
    yych = *YYCURSOR;
7826
70.8k
    if (yych <= '\n') {
7827
54.7k
      if (yych <= 0x00) goto yy86;
7828
54.2k
      if (yych <= '\t') goto yy586;
7829
53.6k
      goto yy588;
7830
54.2k
    } else {
7831
16.0k
      if (yych == '\r') goto yy588;
7832
11.4k
      goto yy586;
7833
16.0k
    }
7834
176k
yy660:
7835
176k
    YYDEBUG(660, *YYCURSOR);
7836
176k
    ++YYCURSOR;
7837
176k
    YYFILL(1);
7838
176k
    yych = *YYCURSOR;
7839
176k
    if (yych <= '\f') {
7840
4.06k
      if (yych <= 0x00) goto yy86;
7841
3.64k
      if (yych == '\n') goto yy495;
7842
2.03k
      goto yy586;
7843
172k
    } else {
7844
172k
      if (yych <= '\r') goto yy495;
7845
163k
      if (yych == '*') goto yy726;
7846
13.2k
      goto yy586;
7847
163k
    }
7848
47.8k
yy661:
7849
47.8k
    YYDEBUG(661, *YYCURSOR);
7850
47.8k
    yyaccept = 53;
7851
47.8k
    YYMARKER = ++YYCURSOR;
7852
47.8k
    YYFILL(1);
7853
47.8k
    yych = *YYCURSOR;
7854
47.8k
    if (yych <= '\n') {
7855
11.4k
      if (yych <= 0x00) goto yy583;
7856
10.9k
      if (yych <= '\t') goto yy586;
7857
1.97k
      goto yy495;
7858
36.4k
    } else {
7859
36.4k
      if (yych == '\r') goto yy495;
7860
31.9k
      goto yy586;
7861
36.4k
    }
7862
237k
yy662:
7863
237k
    YYDEBUG(662, *YYCURSOR);
7864
237k
    yyaccept = 53;
7865
237k
    YYMARKER = ++YYCURSOR;
7866
237k
    YYFILL(1);
7867
237k
    yych = *YYCURSOR;
7868
237k
    if (yych <= '\r') {
7869
67.1k
      if (yych <= '\t') {
7870
57.3k
        if (yych <= 0x00) goto yy583;
7871
56.8k
        goto yy586;
7872
57.3k
      } else {
7873
9.83k
        if (yych <= '\n') goto yy495;
7874
8.85k
        if (yych <= '\f') goto yy586;
7875
730
        goto yy495;
7876
8.85k
      }
7877
169k
    } else {
7878
169k
      if (yych <= 'X') {
7879
85.4k
        if (yych <= 'W') goto yy586;
7880
1.31k
        goto yy728;
7881
85.4k
      } else {
7882
84.5k
        if (yych == 'x') goto yy728;
7883
61.4k
        goto yy586;
7884
84.5k
      }
7885
169k
    }
7886
45.7k
yy663:
7887
45.7k
    YYDEBUG(663, *YYCURSOR);
7888
45.7k
    yyaccept = 53;
7889
45.7k
    YYMARKER = ++YYCURSOR;
7890
45.7k
    YYFILL(1);
7891
45.7k
    yych = *YYCURSOR;
7892
45.7k
    if (yych <= '\r') {
7893
1.78k
      if (yych <= '\t') {
7894
798
        if (yych <= 0x00) goto yy583;
7895
357
        goto yy586;
7896
990
      } else {
7897
990
        if (yych <= '\n') goto yy495;
7898
608
        if (yych <= '\f') goto yy586;
7899
252
        goto yy495;
7900
608
      }
7901
43.9k
    } else {
7902
43.9k
      if (yych <= 'M') {
7903
7.40k
        if (yych <= 'L') goto yy586;
7904
6.50k
        goto yy729;
7905
36.5k
      } else {
7906
36.5k
        if (yych == 'm') goto yy729;
7907
4.04k
        goto yy586;
7908
36.5k
      }
7909
43.9k
    }
7910
99.0k
yy664:
7911
99.0k
    YYDEBUG(664, *YYCURSOR);
7912
99.0k
    ++YYCURSOR;
7913
99.0k
    YYFILL(1);
7914
99.0k
    yych = *YYCURSOR;
7915
99.0k
    YYDEBUG(665, *YYCURSOR);
7916
99.0k
    if (yych <= '*') {
7917
23.6k
      if (yych <= 0x00) goto yy86;
7918
22.6k
      if (yych <= ')') goto yy590;
7919
7.27k
      goto yy664;
7920
75.3k
    } else {
7921
75.3k
      if (yych == '/') goto yy495;
7922
7.75k
      goto yy590;
7923
75.3k
    }
7924
20.9k
yy666:
7925
20.9k
    YYDEBUG(666, *YYCURSOR);
7926
20.9k
    yyaccept = 61;
7927
20.9k
    yych = *(YYMARKER = ++YYCURSOR);
7928
20.9k
    if (yybm[256+yych] & 128) {
7929
1.55k
      goto yy47;
7930
1.55k
    }
7931
19.4k
    if (yych == '\\') goto yy164;
7932
19.1k
yy667:
7933
19.1k
    YYDEBUG(667, *YYCURSOR);
7934
19.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7935
19.1k
#line 1563 "Zend/zend_language_scanner.l"
7936
19.1k
    {
7937
19.1k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7938
19.1k
}
7939
0
#line 7940 "Zend/zend_language_scanner.c"
7940
5.03k
yy668:
7941
5.03k
    YYDEBUG(668, *YYCURSOR);
7942
5.03k
    yyaccept = 62;
7943
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
7944
5.03k
    if (yybm[256+yych] & 128) {
7945
468
      goto yy47;
7946
468
    }
7947
4.56k
    if (yych == '\\') goto yy164;
7948
4.40k
yy669:
7949
4.40k
    YYDEBUG(669, *YYCURSOR);
7950
4.40k
    yyleng = YYCURSOR - SCNG(yy_text);
7951
4.40k
#line 1430 "Zend/zend_language_scanner.l"
7952
4.40k
    {
7953
4.40k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
7954
4.40k
}
7955
0
#line 7956 "Zend/zend_language_scanner.c"
7956
26.4k
yy670:
7957
26.4k
    YYDEBUG(670, *YYCURSOR);
7958
26.4k
    yyaccept = 63;
7959
26.4k
    yych = *(YYMARKER = ++YYCURSOR);
7960
26.4k
    if (yybm[256+yych] & 128) {
7961
1.18k
      goto yy47;
7962
1.18k
    }
7963
25.3k
    if (yych == '\\') goto yy164;
7964
25.2k
yy671:
7965
25.2k
    YYDEBUG(671, *YYCURSOR);
7966
25.2k
    yyleng = YYCURSOR - SCNG(yy_text);
7967
25.2k
#line 1474 "Zend/zend_language_scanner.l"
7968
25.2k
    {
7969
25.2k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
7970
25.2k
}
7971
0
#line 7972 "Zend/zend_language_scanner.c"
7972
133k
yy672:
7973
133k
    YYDEBUG(672, *YYCURSOR);
7974
133k
    yyaccept = 4;
7975
133k
    yych = *(YYMARKER = ++YYCURSOR);
7976
133k
    if (yych == 'N') goto yy730;
7977
130k
    if (yych == 'n') goto yy730;
7978
3.41k
    goto yy48;
7979
18.8k
yy673:
7980
18.8k
    YYDEBUG(673, *YYCURSOR);
7981
18.8k
    yyaccept = 4;
7982
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
7983
18.8k
    if (yych == 'N') goto yy732;
7984
15.5k
    if (yych == 'n') goto yy732;
7985
7.16k
    goto yy48;
7986
17.0k
yy674:
7987
17.0k
    YYDEBUG(674, *YYCURSOR);
7988
17.0k
    yyaccept = 64;
7989
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
7990
17.0k
    if (yych <= '\\') {
7991
10.2k
      if (yych <= '@') {
7992
9.42k
        if (yych <= '/') goto yy675;
7993
1.08k
        if (yych <= '9') goto yy47;
7994
1.08k
      } else {
7995
822
        if (yych <= 'Z') goto yy47;
7996
556
        if (yych >= '\\') goto yy164;
7997
556
      }
7998
10.2k
    } else {
7999
6.81k
      if (yych <= '`') {
8000
5.73k
        if (yych == '_') goto yy733;
8001
5.73k
      } else {
8002
1.07k
        if (yych <= 'z') goto yy47;
8003
689
        if (yych >= 0x80) goto yy47;
8004
689
      }
8005
6.81k
    }
8006
10.0k
yy675:
8007
10.0k
    YYDEBUG(675, *YYCURSOR);
8008
10.0k
    yyleng = YYCURSOR - SCNG(yy_text);
8009
10.0k
#line 1666 "Zend/zend_language_scanner.l"
8010
10.0k
    {
8011
10.0k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8012
10.0k
}
8013
0
#line 8014 "Zend/zend_language_scanner.c"
8014
8.51k
yy676:
8015
8.51k
    YYDEBUG(676, *YYCURSOR);
8016
8.51k
    yyaccept = 4;
8017
8.51k
    yych = *(YYMARKER = ++YYCURSOR);
8018
8.51k
    if (yych == 'E') goto yy734;
8019
5.49k
    if (yych == 'e') goto yy734;
8020
929
    goto yy48;
8021
10.4k
yy677:
8022
10.4k
    YYDEBUG(677, *YYCURSOR);
8023
10.4k
    yyaccept = 4;
8024
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
8025
10.4k
    if (yych == 'O') goto yy735;
8026
8.37k
    if (yych == 'o') goto yy735;
8027
1.74k
    goto yy48;
8028
11.8k
yy678:
8029
11.8k
    YYDEBUG(678, *YYCURSOR);
8030
11.8k
    yyaccept = 4;
8031
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
8032
11.8k
    if (yych == 'C') goto yy736;
8033
9.90k
    if (yych == 'c') goto yy736;
8034
613
    goto yy48;
8035
32.6k
yy679:
8036
32.6k
    YYDEBUG(679, *YYCURSOR);
8037
32.6k
    yyaccept = 4;
8038
32.6k
    yych = *(YYMARKER = ++YYCURSOR);
8039
32.6k
    if (yych == 'C') goto yy737;
8040
29.0k
    if (yych == 'c') goto yy737;
8041
2.14k
    goto yy48;
8042
18.0k
yy680:
8043
18.0k
    YYDEBUG(680, *YYCURSOR);
8044
18.0k
    yyaccept = 65;
8045
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
8046
18.0k
    if (yybm[256+yych] & 128) {
8047
1.02k
      goto yy47;
8048
1.02k
    }
8049
17.0k
    if (yych == '(') goto yy738;
8050
13.9k
    if (yych == '\\') goto yy164;
8051
15.9k
yy681:
8052
15.9k
    YYDEBUG(681, *YYCURSOR);
8053
15.9k
    yyleng = YYCURSOR - SCNG(yy_text);
8054
15.9k
#line 1722 "Zend/zend_language_scanner.l"
8055
15.9k
    {
8056
15.9k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8057
15.9k
}
8058
0
#line 8059 "Zend/zend_language_scanner.c"
8059
11.1k
yy682:
8060
11.1k
    YYDEBUG(682, *YYCURSOR);
8061
11.1k
    yyaccept = 4;
8062
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
8063
11.1k
    if (yych == 'E') goto yy739;
8064
9.01k
    if (yych == 'e') goto yy739;
8065
1.09k
    goto yy48;
8066
2.62k
yy683:
8067
2.62k
    YYDEBUG(683, *YYCURSOR);
8068
2.62k
    yych = *++YYCURSOR;
8069
2.62k
    if (yych == 'S') goto yy740;
8070
2.07k
    if (yych == 's') goto yy740;
8071
1.02k
    goto yy86;
8072
5.84k
yy684:
8073
5.84k
    YYDEBUG(684, *YYCURSOR);
8074
5.84k
    yyaccept = 4;
8075
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
8076
5.84k
    if (yych == 'Y') goto yy741;
8077
5.26k
    if (yych == 'y') goto yy741;
8078
584
    goto yy48;
8079
42.3k
yy685:
8080
42.3k
    YYDEBUG(685, *YYCURSOR);
8081
42.3k
    yyaccept = 66;
8082
42.3k
    yych = *(YYMARKER = ++YYCURSOR);
8083
42.3k
    if (yych <= '\\') {
8084
9.64k
      if (yych <= '@') {
8085
8.80k
        if (yych <= '/') goto yy686;
8086
608
        if (yych <= '9') goto yy47;
8087
840
      } else {
8088
840
        if (yych <= 'Z') goto yy47;
8089
442
        if (yych >= '\\') goto yy164;
8090
442
      }
8091
32.7k
    } else {
8092
32.7k
      if (yych <= '`') {
8093
9.27k
        if (yych == '_') goto yy743;
8094
23.4k
      } else {
8095
23.4k
        if (yych <= 'z') goto yy47;
8096
22.8k
        if (yych >= 0x80) goto yy47;
8097
22.8k
      }
8098
32.7k
    }
8099
9.45k
yy686:
8100
9.45k
    YYDEBUG(686, *YYCURSOR);
8101
9.45k
    yyleng = YYCURSOR - SCNG(yy_text);
8102
9.45k
#line 1674 "Zend/zend_language_scanner.l"
8103
9.45k
    {
8104
9.45k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8105
9.45k
}
8106
0
#line 8107 "Zend/zend_language_scanner.c"
8107
11.2k
yy687:
8108
11.2k
    YYDEBUG(687, *YYCURSOR);
8109
11.2k
    yych = *++YYCURSOR;
8110
11.2k
    if (yych == 'R') goto yy744;
8111
9.09k
    if (yych == 'r') goto yy744;
8112
3.55k
    goto yy86;
8113
1.34M
yy688:
8114
1.34M
    YYDEBUG(688, *YYCURSOR);
8115
1.34M
    ++YYCURSOR;
8116
1.34M
    YYFILL(1);
8117
1.34M
    yych = *YYCURSOR;
8118
1.34M
    YYDEBUG(689, *YYCURSOR);
8119
1.34M
    if (yych <= '\n') {
8120
131k
      if (yych <= 0x00) goto yy86;
8121
121k
      if (yych <= '\t') goto yy688;
8122
96.1k
      goto yy616;
8123
1.21M
    } else {
8124
1.21M
      if (yych == '\r') goto yy616;
8125
1.12M
      goto yy688;
8126
1.21M
    }
8127
314k
yy690:
8128
314k
    YYDEBUG(690, *YYCURSOR);
8129
314k
    ++YYCURSOR;
8130
314k
    YYFILL(1);
8131
314k
    yych = *YYCURSOR;
8132
314k
    YYDEBUG(691, *YYCURSOR);
8133
314k
    if (yych <= ' ') {
8134
42.2k
      if (yych <= '\n') {
8135
6.10k
        if (yych <= 0x00) goto yy86;
8136
4.97k
        if (yych <= 0x08) goto yy688;
8137
4.14k
        if (yych <= '\t') goto yy690;
8138
3.81k
        goto yy616;
8139
36.1k
      } else {
8140
36.1k
        if (yych == '\r') goto yy616;
8141
10.2k
        if (yych <= 0x1F) goto yy688;
8142
9.42k
        goto yy690;
8143
10.2k
      }
8144
272k
    } else {
8145
272k
      if (yych <= '/') {
8146
199k
        if (yych == '#') goto yy745;
8147
175k
        if (yych <= '.') goto yy688;
8148
161k
        goto yy746;
8149
175k
      } else {
8150
72.4k
        if (yych <= 'F') {
8151
26.1k
          if (yych <= 'E') goto yy688;
8152
18.0k
          goto yy747;
8153
46.3k
        } else {
8154
46.3k
          if (yych == 'f') goto yy747;
8155
40.5k
          goto yy688;
8156
46.3k
        }
8157
72.4k
      }
8158
272k
    }
8159
3.90M
yy692:
8160
3.90M
    YYDEBUG(692, *YYCURSOR);
8161
3.90M
    ++YYCURSOR;
8162
3.90M
    YYFILL(1);
8163
3.90M
    yych = *YYCURSOR;
8164
3.90M
    YYDEBUG(693, *YYCURSOR);
8165
3.90M
    if (yych <= 0x00) goto yy86;
8166
3.88M
    if (yych == '*') goto yy748;
8167
3.76M
    goto yy692;
8168
3.76M
yy694:
8169
7.22k
    YYDEBUG(694, *YYCURSOR);
8170
7.22k
    yyaccept = 4;
8171
7.22k
    yych = *(YYMARKER = ++YYCURSOR);
8172
7.22k
    if (yych == '_') goto yy750;
8173
835
    goto yy48;
8174
7.68k
yy695:
8175
7.68k
    YYDEBUG(695, *YYCURSOR);
8176
7.68k
    yyaccept = 67;
8177
7.68k
    yych = *(YYMARKER = ++YYCURSOR);
8178
7.68k
    if (yybm[256+yych] & 128) {
8179
1.15k
      goto yy47;
8180
1.15k
    }
8181
6.52k
    if (yych == '\\') goto yy164;
8182
6.52k
yy696:
8183
6.52k
    YYDEBUG(696, *YYCURSOR);
8184
6.52k
    yyleng = YYCURSOR - SCNG(yy_text);
8185
6.52k
#line 2225 "Zend/zend_language_scanner.l"
8186
6.52k
    {
8187
6.52k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8188
6.52k
}
8189
0
#line 8190 "Zend/zend_language_scanner.c"
8190
8.81k
yy697:
8191
8.81k
    YYDEBUG(697, *YYCURSOR);
8192
8.81k
    yyaccept = 4;
8193
8.81k
    yych = *(YYMARKER = ++YYCURSOR);
8194
8.81k
    if (yych == '_') goto yy751;
8195
728
    goto yy48;
8196
11.5k
yy698:
8197
11.5k
    YYDEBUG(698, *YYCURSOR);
8198
11.5k
    yyaccept = 4;
8199
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
8200
11.5k
    if (yych == 'I') goto yy753;
8201
4.49k
    if (yych == 'i') goto yy753;
8202
461
    goto yy48;
8203
4.04k
yy699:
8204
4.04k
    YYDEBUG(699, *YYCURSOR);
8205
4.04k
    yyaccept = 4;
8206
4.04k
    yych = *(YYMARKER = ++YYCURSOR);
8207
4.04k
    if (yych == 'C') goto yy754;
8208
2.97k
    if (yych == 'c') goto yy754;
8209
294
    goto yy48;
8210
3.74k
yy700:
8211
3.74k
    YYDEBUG(700, *YYCURSOR);
8212
3.74k
    yyaccept = 4;
8213
3.74k
    yych = *(YYMARKER = ++YYCURSOR);
8214
3.74k
    if (yych == '_') goto yy755;
8215
360
    goto yy48;
8216
17.0k
yy701:
8217
17.0k
    YYDEBUG(701, *YYCURSOR);
8218
17.0k
    yyaccept = 4;
8219
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
8220
17.0k
    if (yych == 'D') goto yy757;
8221
3.16k
    if (yych == 'd') goto yy757;
8222
441
    goto yy48;
8223
6.57k
yy702:
8224
6.57k
    YYDEBUG(702, *YYCURSOR);
8225
6.57k
    yyaccept = 4;
8226
6.57k
    yych = *(YYMARKER = ++YYCURSOR);
8227
6.57k
    if (yych == 'P') goto yy758;
8228
3.03k
    if (yych == 'p') goto yy758;
8229
770
    goto yy48;
8230
4.69k
yy703:
8231
4.69k
    YYDEBUG(703, *YYCURSOR);
8232
4.69k
    yyaccept = 4;
8233
4.69k
    yych = *(YYMARKER = ++YYCURSOR);
8234
4.69k
    if (yych == 'R') goto yy759;
8235
1.43k
    if (yych == 'r') goto yy759;
8236
1.06k
    goto yy48;
8237
6.74k
yy704:
8238
6.74k
    YYDEBUG(704, *YYCURSOR);
8239
6.74k
    yyaccept = 4;
8240
6.74k
    yych = *(YYMARKER = ++YYCURSOR);
8241
6.74k
    if (yych == '_') goto yy760;
8242
908
    goto yy48;
8243
204k
yy705:
8244
204k
    YYDEBUG(705, *YYCURSOR);
8245
204k
    ++YYCURSOR;
8246
204k
    YYFILL(1);
8247
204k
    yych = *YYCURSOR;
8248
204k
    YYDEBUG(706, *YYCURSOR);
8249
204k
    if (yych <= ' ') {
8250
56.1k
      if (yych <= '\n') {
8251
12.3k
        if (yych <= 0x00) goto yy86;
8252
11.7k
        if (yych <= 0x08) goto yy443;
8253
10.8k
        if (yych <= '\t') goto yy705;
8254
5.38k
        goto yy545;
8255
43.7k
      } else {
8256
43.7k
        if (yych == '\r') goto yy545;
8257
16.0k
        if (yych <= 0x1F) goto yy443;
8258
12.0k
        goto yy705;
8259
16.0k
      }
8260
148k
    } else {
8261
148k
      if (yych <= ')') {
8262
17.9k
        if (yych <= '"') goto yy443;
8263
17.4k
        if (yych <= '#') goto yy761;
8264
5.40k
        if (yych <= '$') goto yy762;
8265
3.31k
        goto yy443;
8266
130k
      } else {
8267
130k
        if (yych <= '-') {
8268
5.72k
          if (yych <= '*') goto yy547;
8269
813
          goto yy443;
8270
124k
        } else {
8271
124k
          if (yych <= '.') goto yy763;
8272
115k
          if (yych <= '/') goto yy764;
8273
53.4k
          goto yy443;
8274
115k
        }
8275
130k
      }
8276
148k
    }
8277
998
yy707:
8278
998
    YYDEBUG(707, *YYCURSOR);
8279
998
    ++YYCURSOR;
8280
998
    YYFILL(1);
8281
998
    yych = *YYCURSOR;
8282
998
    if (yybm[0+yych] & 64) {
8283
203
      goto yy355;
8284
203
    }
8285
795
    if (yych <= 0x00) goto yy86;
8286
517
    if (yych == '.') goto yy631;
8287
311
    goto yy230;
8288
34.1k
yy708:
8289
34.1k
    YYDEBUG(708, *YYCURSOR);
8290
34.1k
    ++YYCURSOR;
8291
34.1k
    YYFILL(1);
8292
34.1k
    yych = *YYCURSOR;
8293
34.1k
    if (yybm[0+yych] & 64) {
8294
721
      goto yy355;
8295
721
    }
8296
33.3k
    if (yych <= 0x00) goto yy86;
8297
33.1k
    if (yych == '/') goto yy545;
8298
829
    goto yy230;
8299
2.57k
yy709:
8300
2.57k
    YYDEBUG(709, *YYCURSOR);
8301
2.57k
    ++YYCURSOR;
8302
2.57k
    YYDEBUG(710, *YYCURSOR);
8303
2.57k
    yyleng = YYCURSOR - SCNG(yy_text);
8304
2.57k
#line 1638 "Zend/zend_language_scanner.l"
8305
2.57k
    {
8306
2.57k
  RETURN_TOKEN(T_STRING_CAST);
8307
2.57k
}
8308
0
#line 8309 "Zend/zend_language_scanner.c"
8309
1.71k
yy711:
8310
1.71k
    YYDEBUG(711, *YYCURSOR);
8311
1.71k
    ++YYCURSOR;
8312
1.71k
    YYDEBUG(712, *YYCURSOR);
8313
1.71k
    yyleng = YYCURSOR - SCNG(yy_text);
8314
1.71k
#line 1646 "Zend/zend_language_scanner.l"
8315
1.71k
    {
8316
1.71k
  RETURN_TOKEN(T_OBJECT_CAST);
8317
1.71k
}
8318
0
#line 8319 "Zend/zend_language_scanner.c"
8319
9.17k
yy713:
8320
9.17k
    YYDEBUG(713, *YYCURSOR);
8321
9.17k
    yyaccept = 68;
8322
9.17k
    yych = *(YYMARKER = ++YYCURSOR);
8323
9.17k
    if (yybm[256+yych] & 128) {
8324
1.74k
      goto yy47;
8325
1.74k
    }
8326
7.43k
    if (yych == '\\') goto yy164;
8327
7.43k
yy714:
8328
7.43k
    YYDEBUG(714, *YYCURSOR);
8329
7.43k
    yyleng = YYCURSOR - SCNG(yy_text);
8330
7.43k
#line 1714 "Zend/zend_language_scanner.l"
8331
7.43k
    {
8332
7.43k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8333
7.43k
}
8334
0
#line 8335 "Zend/zend_language_scanner.c"
8335
2.80k
yy715:
8336
2.80k
    YYDEBUG(715, *YYCURSOR);
8337
2.80k
    yyaccept = 69;
8338
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
8339
2.80k
    if (yybm[256+yych] & 128) {
8340
621
      goto yy47;
8341
621
    }
8342
2.18k
    if (yych == '\\') goto yy164;
8343
2.17k
yy716:
8344
2.17k
    YYDEBUG(716, *YYCURSOR);
8345
2.17k
    yyleng = YYCURSOR - SCNG(yy_text);
8346
2.17k
#line 1766 "Zend/zend_language_scanner.l"
8347
2.17k
    {
8348
2.17k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8349
2.17k
}
8350
0
#line 8351 "Zend/zend_language_scanner.c"
8351
6.02k
yy717:
8352
6.02k
    YYDEBUG(717, *YYCURSOR);
8353
6.02k
    yyaccept = 70;
8354
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
8355
6.02k
    if (yybm[256+yych] & 128) {
8356
809
      goto yy47;
8357
809
    }
8358
5.22k
    if (yych == '\\') goto yy164;
8359
5.21k
yy718:
8360
5.21k
    YYDEBUG(718, *YYCURSOR);
8361
5.21k
    yyleng = YYCURSOR - SCNG(yy_text);
8362
5.21k
#line 1522 "Zend/zend_language_scanner.l"
8363
5.21k
    {
8364
5.21k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8365
5.21k
}
8366
0
#line 8367 "Zend/zend_language_scanner.c"
8367
8.24k
yy719:
8368
8.24k
    YYDEBUG(719, *YYCURSOR);
8369
8.24k
    yyaccept = 4;
8370
8.24k
    yych = *(YYMARKER = ++YYCURSOR);
8371
8.24k
    if (yych == 'R') goto yy765;
8372
5.07k
    if (yych == 'r') goto yy765;
8373
1.28k
    goto yy48;
8374
6.28k
yy720:
8375
6.28k
    YYDEBUG(720, *YYCURSOR);
8376
6.28k
    yyaccept = 4;
8377
6.28k
    yych = *(YYMARKER = ++YYCURSOR);
8378
6.28k
    if (yych == 'C') goto yy766;
8379
3.18k
    if (yych == 'c') goto yy766;
8380
334
    goto yy48;
8381
5.64k
yy721:
8382
5.64k
    YYDEBUG(721, *YYCURSOR);
8383
5.64k
    yyaccept = 4;
8384
5.64k
    yych = *(YYMARKER = ++YYCURSOR);
8385
5.64k
    if (yych == 'H') goto yy767;
8386
4.70k
    if (yych == 'h') goto yy767;
8387
3.17k
    goto yy48;
8388
10.6k
yy722:
8389
10.6k
    YYDEBUG(722, *YYCURSOR);
8390
10.6k
    yyaccept = 71;
8391
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
8392
10.6k
    if (yybm[256+yych] & 128) {
8393
419
      goto yy47;
8394
419
    }
8395
10.2k
    if (yych == '\\') goto yy164;
8396
10.1k
yy723:
8397
10.1k
    YYDEBUG(723, *YYCURSOR);
8398
10.1k
    yyleng = YYCURSOR - SCNG(yy_text);
8399
10.1k
#line 1458 "Zend/zend_language_scanner.l"
8400
10.1k
    {
8401
10.1k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8402
10.1k
}
8403
0
#line 8404 "Zend/zend_language_scanner.c"
8404
4.62k
yy724:
8405
4.62k
    YYDEBUG(724, *YYCURSOR);
8406
4.62k
    yych = *++YYCURSOR;
8407
4.62k
    if (yych == 'E') goto yy769;
8408
4.32k
    if (yych == 'e') goto yy769;
8409
968
    goto yy86;
8410
4.26k
yy725:
8411
4.26k
    YYDEBUG(725, *YYCURSOR);
8412
4.26k
    yych = *++YYCURSOR;
8413
4.26k
    if (yych == 'L') goto yy770;
8414
3.22k
    if (yych == 'l') goto yy770;
8415
815
    goto yy86;
8416
4.07M
yy726:
8417
4.07M
    YYDEBUG(726, *YYCURSOR);
8418
4.07M
    ++YYCURSOR;
8419
4.07M
    YYFILL(1);
8420
4.07M
    yych = *YYCURSOR;
8421
4.07M
    YYDEBUG(727, *YYCURSOR);
8422
4.07M
    if (yych <= '\f') {
8423
294k
      if (yych <= 0x00) goto yy86;
8424
272k
      if (yych == '\n') goto yy771;
8425
87.0k
      goto yy726;
8426
3.77M
    } else {
8427
3.77M
      if (yych <= '\r') goto yy771;
8428
3.59M
      if (yych == '*') goto yy773;
8429
3.55M
      goto yy726;
8430
3.59M
    }
8431
24.3k
yy728:
8432
24.3k
    YYDEBUG(728, *YYCURSOR);
8433
24.3k
    ++YYCURSOR;
8434
24.3k
    YYFILL(1);
8435
24.3k
    yych = *YYCURSOR;
8436
24.3k
    if (yych <= '\r') {
8437
1.47k
      if (yych <= '\t') {
8438
521
        if (yych <= 0x00) goto yy86;
8439
226
        goto yy586;
8440
949
      } else {
8441
949
        if (yych <= '\n') goto yy495;
8442
725
        if (yych <= '\f') goto yy586;
8443
400
        goto yy495;
8444
725
      }
8445
22.9k
    } else {
8446
22.9k
      if (yych <= 'T') {
8447
3.88k
        if (yych <= 'S') goto yy586;
8448
2.61k
        goto yy775;
8449
19.0k
      } else {
8450
19.0k
        if (yych == 't') goto yy775;
8451
7.64k
        goto yy586;
8452
19.0k
      }
8453
22.9k
    }
8454
39.0k
yy729:
8455
39.0k
    YYDEBUG(729, *YYCURSOR);
8456
39.0k
    ++YYCURSOR;
8457
39.0k
    YYFILL(1);
8458
39.0k
    yych = *YYCURSOR;
8459
39.0k
    if (yych <= '\r') {
8460
1.99k
      if (yych <= '\t') {
8461
768
        if (yych <= 0x00) goto yy86;
8462
323
        goto yy586;
8463
1.22k
      } else {
8464
1.22k
        if (yych <= '\n') goto yy495;
8465
920
        if (yych <= '\f') goto yy586;
8466
633
        goto yy495;
8467
920
      }
8468
37.0k
    } else {
8469
37.0k
      if (yych <= 'P') {
8470
9.68k
        if (yych <= 'O') goto yy586;
8471
4.00k
        goto yy776;
8472
27.3k
      } else {
8473
27.3k
        if (yych == 'p') goto yy776;
8474
734
        goto yy586;
8475
27.3k
      }
8476
37.0k
    }
8477
130k
yy730:
8478
130k
    YYDEBUG(730, *YYCURSOR);
8479
130k
    yyaccept = 72;
8480
130k
    yych = *(YYMARKER = ++YYCURSOR);
8481
130k
    if (yybm[256+yych] & 128) {
8482
2.00k
      goto yy47;
8483
2.00k
    }
8484
128k
    if (yych == '\\') goto yy164;
8485
128k
yy731:
8486
128k
    YYDEBUG(731, *YYCURSOR);
8487
128k
    yyleng = YYCURSOR - SCNG(yy_text);
8488
128k
#line 1395 "Zend/zend_language_scanner.l"
8489
128k
    {
8490
128k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8491
128k
}
8492
0
#line 8493 "Zend/zend_language_scanner.c"
8493
11.6k
yy732:
8494
11.6k
    YYDEBUG(732, *YYCURSOR);
8495
11.6k
    yyaccept = 4;
8496
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
8497
11.6k
    if (yych == 'T') goto yy777;
8498
9.40k
    if (yych == 't') goto yy777;
8499
2.61k
    goto yy48;
8500
5.54k
yy733:
8501
5.54k
    YYDEBUG(733, *YYCURSOR);
8502
5.54k
    yyaccept = 4;
8503
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
8504
5.54k
    if (yych == 'O') goto yy778;
8505
4.01k
    if (yych == 'o') goto yy778;
8506
400
    goto yy48;
8507
7.58k
yy734:
8508
7.58k
    YYDEBUG(734, *YYCURSOR);
8509
7.58k
    yyaccept = 4;
8510
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
8511
7.58k
    if (yych == 'O') goto yy779;
8512
4.81k
    if (yych == 'o') goto yy779;
8513
945
    goto yy48;
8514
8.67k
yy735:
8515
8.67k
    YYDEBUG(735, *YYCURSOR);
8516
8.67k
    yyaccept = 4;
8517
8.67k
    yych = *(YYMARKER = ++YYCURSOR);
8518
8.67k
    if (yych == 'F') goto yy780;
8519
6.88k
    if (yych == 'f') goto yy780;
8520
780
    goto yy48;
8521
11.2k
yy736:
8522
11.2k
    YYDEBUG(736, *YYCURSOR);
8523
11.2k
    yyaccept = 4;
8524
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
8525
11.2k
    if (yych == 'E') goto yy782;
8526
9.48k
    if (yych == 'e') goto yy782;
8527
982
    goto yy48;
8528
30.5k
yy737:
8529
30.5k
    YYDEBUG(737, *YYCURSOR);
8530
30.5k
    yyaccept = 4;
8531
30.5k
    yych = *(YYMARKER = ++YYCURSOR);
8532
30.5k
    if (yych == 'E') goto yy784;
8533
28.0k
    if (yych == 'e') goto yy784;
8534
942
    goto yy48;
8535
3.03k
yy738:
8536
3.03k
    YYDEBUG(738, *YYCURSOR);
8537
3.03k
    yych = *++YYCURSOR;
8538
3.03k
    if (yych == 'S') goto yy786;
8539
2.74k
    if (yych == 's') goto yy786;
8540
375
    goto yy86;
8541
10.0k
yy739:
8542
10.0k
    YYDEBUG(739, *YYCURSOR);
8543
10.0k
    yyaccept = 4;
8544
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
8545
10.0k
    if (yych == 'D') goto yy787;
8546
8.15k
    if (yych == 'd') goto yy787;
8547
856
    goto yy48;
8548
1.60k
yy740:
8549
1.60k
    YYDEBUG(740, *YYCURSOR);
8550
1.60k
    yych = *++YYCURSOR;
8551
1.60k
    if (yych == 'E') goto yy789;
8552
1.27k
    if (yych == 'e') goto yy789;
8553
347
    goto yy86;
8554
5.25k
yy741:
8555
5.25k
    YYDEBUG(741, *YYCURSOR);
8556
5.25k
    yyaccept = 73;
8557
5.25k
    yych = *(YYMARKER = ++YYCURSOR);
8558
5.25k
    if (yybm[256+yych] & 128) {
8559
1.07k
      goto yy47;
8560
1.07k
    }
8561
4.18k
    if (yych == '\\') goto yy164;
8562
4.17k
yy742:
8563
4.17k
    YYDEBUG(742, *YYCURSOR);
8564
4.17k
    yyleng = YYCURSOR - SCNG(yy_text);
8565
4.17k
#line 1746 "Zend/zend_language_scanner.l"
8566
4.17k
    {
8567
4.17k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8568
4.17k
}
8569
0
#line 8570 "Zend/zend_language_scanner.c"
8570
9.05k
yy743:
8571
9.05k
    YYDEBUG(743, *YYCURSOR);
8572
9.05k
    yyaccept = 4;
8573
9.05k
    yych = *(YYMARKER = ++YYCURSOR);
8574
9.05k
    if (yych == 'O') goto yy790;
8575
5.66k
    if (yych == 'o') goto yy790;
8576
497
    goto yy48;
8577
7.65k
yy744:
8578
7.65k
    YYDEBUG(744, *YYCURSOR);
8579
7.65k
    yych = *++YYCURSOR;
8580
7.65k
    if (yych == 'O') goto yy791;
8581
6.09k
    if (yych == 'o') goto yy791;
8582
1.21k
    goto yy86;
8583
23.5k
yy745:
8584
23.5k
    YYDEBUG(745, *YYCURSOR);
8585
23.5k
    ++YYCURSOR;
8586
23.5k
    YYFILL(1);
8587
23.5k
    yych = *YYCURSOR;
8588
23.5k
    if (yych <= '\n') {
8589
19.8k
      if (yych <= 0x00) goto yy86;
8590
19.5k
      if (yych <= '\t') goto yy688;
8591
19.3k
      goto yy690;
8592
19.5k
    } else {
8593
3.72k
      if (yych == '\r') goto yy690;
8594
1.24k
      goto yy688;
8595
3.72k
    }
8596
161k
yy746:
8597
161k
    YYDEBUG(746, *YYCURSOR);
8598
161k
    ++YYCURSOR;
8599
161k
    YYFILL(1);
8600
161k
    yych = *YYCURSOR;
8601
161k
    if (yych <= '\f') {
8602
4.01k
      if (yych <= 0x00) goto yy86;
8603
3.01k
      if (yych == '\n') goto yy616;
8604
2.09k
      goto yy688;
8605
157k
    } else {
8606
157k
      if (yych <= '\r') goto yy616;
8607
151k
      if (yych == '*') goto yy792;
8608
12.5k
      goto yy688;
8609
151k
    }
8610
23.9k
yy747:
8611
23.9k
    YYDEBUG(747, *YYCURSOR);
8612
23.9k
    ++YYCURSOR;
8613
23.9k
    YYFILL(1);
8614
23.9k
    yych = *YYCURSOR;
8615
23.9k
    if (yych <= '\r') {
8616
1.94k
      if (yych <= '\t') {
8617
586
        if (yych <= 0x00) goto yy86;
8618
276
        goto yy688;
8619
1.36k
      } else {
8620
1.36k
        if (yych <= '\n') goto yy616;
8621
1.00k
        if (yych <= '\f') goto yy688;
8622
218
        goto yy616;
8623
1.00k
      }
8624
21.9k
    } else {
8625
21.9k
      if (yych <= 'R') {
8626
14.5k
        if (yych <= 'Q') goto yy688;
8627
10.7k
        goto yy794;
8628
14.5k
      } else {
8629
7.39k
        if (yych == 'r') goto yy794;
8630
2.07k
        goto yy688;
8631
7.39k
      }
8632
21.9k
    }
8633
147k
yy748:
8634
147k
    YYDEBUG(748, *YYCURSOR);
8635
147k
    ++YYCURSOR;
8636
147k
    YYFILL(1);
8637
147k
    yych = *YYCURSOR;
8638
147k
    YYDEBUG(749, *YYCURSOR);
8639
147k
    if (yych <= '*') {
8640
42.7k
      if (yych <= 0x00) goto yy86;
8641
41.5k
      if (yych <= ')') goto yy692;
8642
8.28k
      goto yy748;
8643
104k
    } else {
8644
104k
      if (yych == '/') goto yy616;
8645
9.27k
      goto yy692;
8646
104k
    }
8647
6.39k
yy750:
8648
6.39k
    YYDEBUG(750, *YYCURSOR);
8649
6.39k
    yyaccept = 4;
8650
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
8651
6.39k
    if (yych == '_') goto yy795;
8652
396
    goto yy48;
8653
8.09k
yy751:
8654
8.09k
    YYDEBUG(751, *YYCURSOR);
8655
8.09k
    yyaccept = 74;
8656
8.09k
    yych = *(YYMARKER = ++YYCURSOR);
8657
8.09k
    if (yybm[256+yych] & 128) {
8658
1.05k
      goto yy47;
8659
1.05k
    }
8660
7.03k
    if (yych == '\\') goto yy164;
8661
6.89k
yy752:
8662
6.89k
    YYDEBUG(752, *YYCURSOR);
8663
6.89k
    yyleng = YYCURSOR - SCNG(yy_text);
8664
6.89k
#line 2221 "Zend/zend_language_scanner.l"
8665
6.89k
    {
8666
6.89k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8667
6.89k
}
8668
0
#line 8669 "Zend/zend_language_scanner.c"
8669
11.0k
yy753:
8670
11.0k
    YYDEBUG(753, *YYCURSOR);
8671
11.0k
    yyaccept = 4;
8672
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
8673
11.0k
    if (yych == 'O') goto yy797;
8674
3.66k
    if (yych == 'o') goto yy797;
8675
1.62k
    goto yy48;
8676
3.75k
yy754:
8677
3.75k
    YYDEBUG(754, *YYCURSOR);
8678
3.75k
    yyaccept = 4;
8679
3.75k
    yych = *(YYMARKER = ++YYCURSOR);
8680
3.75k
    if (yych == 'O') goto yy798;
8681
2.87k
    if (yych == 'o') goto yy798;
8682
451
    goto yy48;
8683
3.38k
yy755:
8684
3.38k
    YYDEBUG(755, *YYCURSOR);
8685
3.38k
    yyaccept = 75;
8686
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
8687
3.38k
    if (yybm[256+yych] & 128) {
8688
467
      goto yy47;
8689
467
    }
8690
2.91k
    if (yych == '\\') goto yy164;
8691
2.69k
yy756:
8692
2.69k
    YYDEBUG(756, *YYCURSOR);
8693
2.69k
    yyleng = YYCURSOR - SCNG(yy_text);
8694
2.69k
#line 2217 "Zend/zend_language_scanner.l"
8695
2.69k
    {
8696
2.69k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8697
2.69k
}
8698
0
#line 8699 "Zend/zend_language_scanner.c"
8699
16.6k
yy757:
8700
16.6k
    YYDEBUG(757, *YYCURSOR);
8701
16.6k
    yyaccept = 4;
8702
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
8703
16.6k
    if (yych == '_') goto yy799;
8704
917
    goto yy48;
8705
5.80k
yy758:
8706
5.80k
    YYDEBUG(758, *YYCURSOR);
8707
5.80k
    yyaccept = 4;
8708
5.80k
    yych = *(YYMARKER = ++YYCURSOR);
8709
5.80k
    if (yych == 'A') goto yy800;
8710
2.86k
    if (yych == 'a') goto yy800;
8711
777
    goto yy48;
8712
3.63k
yy759:
8713
3.63k
    YYDEBUG(759, *YYCURSOR);
8714
3.63k
    yyaccept = 4;
8715
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
8716
3.63k
    if (yych == 'T') goto yy801;
8717
1.62k
    if (yych == 't') goto yy801;
8718
501
    goto yy48;
8719
5.83k
yy760:
8720
5.83k
    YYDEBUG(760, *YYCURSOR);
8721
5.83k
    yyaccept = 4;
8722
5.83k
    yych = *(YYMARKER = ++YYCURSOR);
8723
5.83k
    if (yych == '_') goto yy802;
8724
848
    goto yy48;
8725
12.0k
yy761:
8726
12.0k
    YYDEBUG(761, *YYCURSOR);
8727
12.0k
    ++YYCURSOR;
8728
12.0k
    YYFILL(1);
8729
12.0k
    yych = *YYCURSOR;
8730
12.0k
    if (yybm[0+yych] & 128) {
8731
1.04k
      goto yy443;
8732
1.04k
    }
8733
11.0k
    if (yych <= 0x00) goto yy86;
8734
10.7k
    if (yych <= '\r') goto yy705;
8735
807
    goto yy547;
8736
2.66k
yy762:
8737
2.66k
    YYDEBUG(762, *YYCURSOR);
8738
2.66k
    yyaccept = 26;
8739
2.66k
    YYMARKER = ++YYCURSOR;
8740
2.66k
    YYFILL(1);
8741
2.66k
    yych = *YYCURSOR;
8742
2.66k
    if (yybm[0+yych] & 128) {
8743
1.93k
      goto yy443;
8744
1.93k
    }
8745
733
    if (yych <= 0x00) goto yy89;
8746
531
    if (yych <= '\r') goto yy545;
8747
323
    goto yy547;
8748
8.92k
yy763:
8749
8.92k
    YYDEBUG(763, *YYCURSOR);
8750
8.92k
    ++YYCURSOR;
8751
8.92k
    YYFILL(1);
8752
8.92k
    yych = *YYCURSOR;
8753
8.92k
    if (yych <= '\r') {
8754
1.57k
      if (yych <= '\t') {
8755
435
        if (yych <= 0x00) goto yy86;
8756
224
        goto yy443;
8757
1.14k
      } else {
8758
1.14k
        if (yych <= '\n') goto yy545;
8759
758
        if (yych <= '\f') goto yy443;
8760
510
        goto yy545;
8761
758
      }
8762
7.34k
    } else {
8763
7.34k
      if (yych <= '*') {
8764
3.49k
        if (yych <= ')') goto yy443;
8765
2.25k
        goto yy547;
8766
3.84k
      } else {
8767
3.84k
        if (yych == '.') goto yy804;
8768
736
        goto yy443;
8769
3.84k
      }
8770
7.34k
    }
8771
62.3k
yy764:
8772
62.3k
    YYDEBUG(764, *YYCURSOR);
8773
62.3k
    ++YYCURSOR;
8774
62.3k
    YYFILL(1);
8775
62.3k
    yych = *YYCURSOR;
8776
62.3k
    if (yybm[0+yych] & 128) {
8777
5.61k
      goto yy443;
8778
5.61k
    }
8779
56.7k
    if (yych <= 0x00) goto yy86;
8780
56.4k
    if (yych <= '\r') goto yy545;
8781
54.4k
    goto yy805;
8782
54.4k
yy765:
8783
6.95k
    YYDEBUG(765, *YYCURSOR);
8784
6.95k
    yyaccept = 4;
8785
6.95k
    yych = *(YYMARKER = ++YYCURSOR);
8786
6.95k
    if (yych == 'E') goto yy806;
8787
4.29k
    if (yych == 'e') goto yy806;
8788
792
    goto yy48;
8789
5.95k
yy766:
8790
5.95k
    YYDEBUG(766, *YYCURSOR);
8791
5.95k
    yyaccept = 4;
8792
5.95k
    yych = *(YYMARKER = ++YYCURSOR);
8793
5.95k
    if (yych == 'H') goto yy808;
8794
3.13k
    if (yych == 'h') goto yy808;
8795
810
    goto yy48;
8796
2.47k
yy767:
8797
2.47k
    YYDEBUG(767, *YYCURSOR);
8798
2.47k
    yyaccept = 76;
8799
2.47k
    yych = *(YYMARKER = ++YYCURSOR);
8800
2.47k
    if (yybm[256+yych] & 128) {
8801
809
      goto yy47;
8802
809
    }
8803
1.66k
    if (yych == '\\') goto yy164;
8804
1.66k
yy768:
8805
1.66k
    YYDEBUG(768, *YYCURSOR);
8806
1.66k
    yyleng = YYCURSOR - SCNG(yy_text);
8807
1.66k
#line 1506 "Zend/zend_language_scanner.l"
8808
1.66k
    {
8809
1.66k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8810
1.66k
}
8811
0
#line 8812 "Zend/zend_language_scanner.c"
8812
3.65k
yy769:
8813
3.65k
    YYDEBUG(769, *YYCURSOR);
8814
3.65k
    yych = *++YYCURSOR;
8815
3.65k
    if (yych == 'N') goto yy810;
8816
3.23k
    if (yych == 'n') goto yy810;
8817
1.01k
    goto yy86;
8818
3.45k
yy770:
8819
3.45k
    YYDEBUG(770, *YYCURSOR);
8820
3.45k
    yych = *++YYCURSOR;
8821
3.45k
    if (yych == 'E') goto yy811;
8822
2.61k
    if (yych == 'e') goto yy811;
8823
704
    goto yy86;
8824
541k
yy771:
8825
541k
    YYDEBUG(771, *YYCURSOR);
8826
541k
    ++YYCURSOR;
8827
541k
    YYFILL(1);
8828
541k
    yych = *YYCURSOR;
8829
541k
    YYDEBUG(772, *YYCURSOR);
8830
541k
    if (yych <= '@') {
8831
497k
      if (yych <= ' ') {
8832
61.6k
        if (yych <= '\n') {
8833
12.9k
          if (yych <= 0x00) goto yy86;
8834
10.6k
          if (yych <= 0x08) goto yy590;
8835
10.1k
          goto yy771;
8836
48.6k
        } else {
8837
48.6k
          if (yych == '\r') goto yy771;
8838
24.4k
          if (yych <= 0x1F) goto yy590;
8839
22.1k
          goto yy771;
8840
24.4k
        }
8841
435k
      } else {
8842
435k
        if (yych <= ')') {
8843
361k
          if (yych == '#') goto yy812;
8844
26.5k
          goto yy590;
8845
361k
        } else {
8846
74.0k
          if (yych <= '*') goto yy664;
8847
69.7k
          if (yych == '/') goto yy813;
8848
5.29k
          goto yy590;
8849
69.7k
        }
8850
435k
      }
8851
497k
    } else {
8852
43.7k
      if (yych <= '_') {
8853
8.15k
        if (yych <= 'H') {
8854
2.46k
          if (yych == 'E') goto yy815;
8855
1.67k
          goto yy814;
8856
5.68k
        } else {
8857
5.68k
          if (yych <= 'I') goto yy816;
8858
2.53k
          if (yych <= 'Z') goto yy814;
8859
1.60k
          if (yych <= '^') goto yy590;
8860
462
          goto yy814;
8861
1.60k
        }
8862
35.5k
      } else {
8863
35.5k
        if (yych <= 'h') {
8864
14.6k
          if (yych <= '`') goto yy590;
8865
14.3k
          if (yych == 'e') goto yy815;
8866
2.61k
          goto yy814;
8867
20.8k
        } else {
8868
20.8k
          if (yych <= 'i') goto yy816;
8869
9.82k
          if (yych <= 'z') goto yy814;
8870
6.96k
          if (yych <= 0x7F) goto yy590;
8871
3.92k
          goto yy814;
8872
6.96k
        }
8873
35.5k
      }
8874
43.7k
    }
8875
64.5k
yy773:
8876
64.5k
    YYDEBUG(773, *YYCURSOR);
8877
64.5k
    ++YYCURSOR;
8878
64.5k
    YYFILL(1);
8879
64.5k
    yych = *YYCURSOR;
8880
64.5k
    YYDEBUG(774, *YYCURSOR);
8881
64.5k
    if (yych <= '\r') {
8882
12.0k
      if (yych <= '\t') {
8883
3.09k
        if (yych <= 0x00) goto yy86;
8884
1.95k
        goto yy726;
8885
8.96k
      } else {
8886
8.96k
        if (yych <= '\n') goto yy771;
8887
6.45k
        if (yych <= '\f') goto yy726;
8888
5.86k
        goto yy771;
8889
6.45k
      }
8890
52.4k
    } else {
8891
52.4k
      if (yych <= '*') {
8892
15.2k
        if (yych <= ')') goto yy726;
8893
2.50k
        goto yy773;
8894
37.2k
      } else {
8895
37.2k
        if (yych == '/') goto yy588;
8896
14.3k
        goto yy726;
8897
37.2k
      }
8898
52.4k
    }
8899
14.0k
yy775:
8900
14.0k
    YYDEBUG(775, *YYCURSOR);
8901
14.0k
    ++YYCURSOR;
8902
14.0k
    YYFILL(1);
8903
14.0k
    yych = *YYCURSOR;
8904
14.0k
    if (yych <= '\r') {
8905
1.41k
      if (yych <= '\t') {
8906
459
        if (yych <= 0x00) goto yy86;
8907
230
        goto yy586;
8908
951
      } else {
8909
951
        if (yych <= '\n') goto yy495;
8910
615
        if (yych <= '\f') goto yy586;
8911
406
        goto yy495;
8912
615
      }
8913
12.5k
    } else {
8914
12.5k
      if (yych <= 'E') {
8915
2.00k
        if (yych <= 'D') goto yy586;
8916
1.60k
        goto yy817;
8917
10.5k
      } else {
8918
10.5k
        if (yych == 'e') goto yy817;
8919
1.05k
        goto yy586;
8920
10.5k
      }
8921
12.5k
    }
8922
30.6k
yy776:
8923
30.6k
    YYDEBUG(776, *YYCURSOR);
8924
30.6k
    ++YYCURSOR;
8925
30.6k
    YYFILL(1);
8926
30.6k
    yych = *YYCURSOR;
8927
30.6k
    if (yych <= '\r') {
8928
1.89k
      if (yych <= '\t') {
8929
636
        if (yych <= 0x00) goto yy86;
8930
237
        goto yy586;
8931
1.26k
      } else {
8932
1.26k
        if (yych <= '\n') goto yy495;
8933
982
        if (yych <= '\f') goto yy586;
8934
453
        goto yy495;
8935
982
      }
8936
28.7k
    } else {
8937
28.7k
      if (yych <= 'L') {
8938
5.33k
        if (yych <= 'K') goto yy586;
8939
4.15k
        goto yy818;
8940
23.3k
      } else {
8941
23.3k
        if (yych == 'l') goto yy818;
8942
967
        goto yy586;
8943
23.3k
      }
8944
28.7k
    }
8945
9.08k
yy777:
8946
9.08k
    YYDEBUG(777, *YYCURSOR);
8947
9.08k
    yyaccept = 4;
8948
9.08k
    yych = *(YYMARKER = ++YYCURSOR);
8949
9.08k
    if (yych == 'S') goto yy819;
8950
7.41k
    if (yych == 's') goto yy819;
8951
1.43k
    goto yy48;
8952
5.14k
yy778:
8953
5.14k
    YYDEBUG(778, *YYCURSOR);
8954
5.14k
    yyaccept = 4;
8955
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
8956
5.14k
    if (yych == 'N') goto yy821;
8957
3.80k
    if (yych == 'n') goto yy821;
8958
374
    goto yy48;
8959
6.64k
yy779:
8960
6.64k
    YYDEBUG(779, *YYCURSOR);
8961
6.64k
    yyaccept = 4;
8962
6.64k
    yych = *(YYMARKER = ++YYCURSOR);
8963
6.64k
    if (yych == 'F') goto yy822;
8964
4.35k
    if (yych == 'f') goto yy822;
8965
774
    goto yy48;
8966
7.89k
yy780:
8967
7.89k
    YYDEBUG(780, *YYCURSOR);
8968
7.89k
    yyaccept = 77;
8969
7.89k
    yych = *(YYMARKER = ++YYCURSOR);
8970
7.89k
    if (yybm[256+yych] & 128) {
8971
938
      goto yy47;
8972
938
    }
8973
6.95k
    if (yych == '\\') goto yy164;
8974
6.95k
yy781:
8975
6.95k
    YYDEBUG(781, *YYCURSOR);
8976
6.95k
    yyleng = YYCURSOR - SCNG(yy_text);
8977
6.95k
#line 1690 "Zend/zend_language_scanner.l"
8978
6.95k
    {
8979
6.95k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
8980
6.95k
}
8981
0
#line 8982 "Zend/zend_language_scanner.c"
8982
10.2k
yy782:
8983
10.2k
    YYDEBUG(782, *YYCURSOR);
8984
10.2k
    yyaccept = 78;
8985
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
8986
10.2k
    if (yybm[256+yych] & 128) {
8987
1.06k
      goto yy47;
8988
1.06k
    }
8989
9.15k
    if (yych == '\\') goto yy164;
8990
9.09k
yy783:
8991
9.09k
    YYDEBUG(783, *YYCURSOR);
8992
9.09k
    yyleng = YYCURSOR - SCNG(yy_text);
8993
9.09k
#line 1542 "Zend/zend_language_scanner.l"
8994
9.09k
    {
8995
9.09k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
8996
9.09k
}
8997
0
#line 8998 "Zend/zend_language_scanner.c"
8998
29.5k
yy784:
8999
29.5k
    YYDEBUG(784, *YYCURSOR);
9000
29.5k
    yyaccept = 79;
9001
29.5k
    yych = *(YYMARKER = ++YYCURSOR);
9002
29.5k
    if (yybm[256+yych] & 128) {
9003
967
      goto yy47;
9004
967
    }
9005
28.6k
    if (yych == '\\') goto yy824;
9006
22.6k
yy785:
9007
22.6k
    YYDEBUG(785, *YYCURSOR);
9008
22.6k
    yyleng = YYCURSOR - SCNG(yy_text);
9009
22.6k
#line 1682 "Zend/zend_language_scanner.l"
9010
22.6k
    {
9011
22.6k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9012
22.6k
}
9013
0
#line 9014 "Zend/zend_language_scanner.c"
9014
2.66k
yy786:
9015
2.66k
    YYDEBUG(786, *YYCURSOR);
9016
2.66k
    yych = *++YYCURSOR;
9017
2.66k
    if (yych == 'E') goto yy825;
9018
2.36k
    if (yych == 'e') goto yy825;
9019
948
    goto yy86;
9020
9.18k
yy787:
9021
9.18k
    YYDEBUG(787, *YYCURSOR);
9022
9.18k
    yyaccept = 80;
9023
9.18k
    yych = *(YYMARKER = ++YYCURSOR);
9024
9.18k
    if (yybm[256+yych] & 128) {
9025
391
      goto yy47;
9026
391
    }
9027
8.79k
    if (yych == '(') goto yy826;
9028
6.48k
    if (yych == '\\') goto yy164;
9029
8.05k
yy788:
9030
8.05k
    YYDEBUG(788, *YYCURSOR);
9031
8.05k
    yyleng = YYCURSOR - SCNG(yy_text);
9032
8.05k
#line 1726 "Zend/zend_language_scanner.l"
9033
8.05k
    {
9034
8.05k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9035
8.05k
}
9036
0
#line 9037 "Zend/zend_language_scanner.c"
9037
1.25k
yy789:
9038
1.25k
    YYDEBUG(789, *YYCURSOR);
9039
1.25k
    yych = *++YYCURSOR;
9040
1.25k
    if (yych == 'T') goto yy827;
9041
904
    if (yych == 't') goto yy827;
9042
259
    goto yy86;
9043
8.55k
yy790:
9044
8.55k
    YYDEBUG(790, *YYCURSOR);
9045
8.55k
    yyaccept = 4;
9046
8.55k
    yych = *(YYMARKER = ++YYCURSOR);
9047
8.55k
    if (yych == 'N') goto yy828;
9048
5.30k
    if (yych == 'n') goto yy828;
9049
704
    goto yy48;
9050
6.44k
yy791:
9051
6.44k
    YYDEBUG(791, *YYCURSOR);
9052
6.44k
    yych = *++YYCURSOR;
9053
6.44k
    if (yych == 'M') goto yy829;
9054
5.56k
    if (yych == 'm') goto yy829;
9055
791
    goto yy86;
9056
2.68M
yy792:
9057
2.68M
    YYDEBUG(792, *YYCURSOR);
9058
2.68M
    ++YYCURSOR;
9059
2.68M
    YYFILL(1);
9060
2.68M
    yych = *YYCURSOR;
9061
2.68M
    YYDEBUG(793, *YYCURSOR);
9062
2.68M
    if (yych <= '\f') {
9063
352k
      if (yych <= 0x00) goto yy86;
9064
346k
      if (yych == '\n') goto yy830;
9065
205k
      goto yy792;
9066
2.32M
    } else {
9067
2.32M
      if (yych <= '\r') goto yy830;
9068
2.14M
      if (yych == '*') goto yy832;
9069
2.09M
      goto yy792;
9070
2.14M
    }
9071
16.0k
yy794:
9072
16.0k
    YYDEBUG(794, *YYCURSOR);
9073
16.0k
    ++YYCURSOR;
9074
16.0k
    YYFILL(1);
9075
16.0k
    yych = *YYCURSOR;
9076
16.0k
    if (yych <= '\r') {
9077
1.96k
      if (yych <= '\t') {
9078
1.05k
        if (yych <= 0x00) goto yy86;
9079
791
        goto yy688;
9080
1.05k
      } else {
9081
915
        if (yych <= '\n') goto yy616;
9082
675
        if (yych <= '\f') goto yy688;
9083
312
        goto yy616;
9084
675
      }
9085
14.0k
    } else {
9086
14.0k
      if (yych <= 'O') {
9087
9.18k
        if (yych <= 'N') goto yy688;
9088
8.41k
        goto yy834;
9089
9.18k
      } else {
9090
4.91k
        if (yych == 'o') goto yy834;
9091
666
        goto yy688;
9092
4.91k
      }
9093
14.0k
    }
9094
5.99k
yy795:
9095
5.99k
    YYDEBUG(795, *YYCURSOR);
9096
5.99k
    yyaccept = 81;
9097
5.99k
    yych = *(YYMARKER = ++YYCURSOR);
9098
5.99k
    if (yybm[256+yych] & 128) {
9099
778
      goto yy47;
9100
778
    }
9101
5.21k
    if (yych == '\\') goto yy164;
9102
5.20k
yy796:
9103
5.20k
    YYDEBUG(796, *YYCURSOR);
9104
5.20k
    yyleng = YYCURSOR - SCNG(yy_text);
9105
5.20k
#line 2197 "Zend/zend_language_scanner.l"
9106
5.20k
    {
9107
5.20k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9108
5.20k
}
9109
0
#line 9110 "Zend/zend_language_scanner.c"
9110
9.44k
yy797:
9111
9.44k
    YYDEBUG(797, *YYCURSOR);
9112
9.44k
    yyaccept = 4;
9113
9.44k
    yych = *(YYMARKER = ++YYCURSOR);
9114
9.44k
    if (yych == 'N') goto yy835;
9115
2.49k
    if (yych == 'n') goto yy835;
9116
1.44k
    goto yy48;
9117
3.30k
yy798:
9118
3.30k
    YYDEBUG(798, *YYCURSOR);
9119
3.30k
    yyaccept = 4;
9120
3.30k
    yych = *(YYMARKER = ++YYCURSOR);
9121
3.30k
    if (yych == 'M') goto yy836;
9122
2.73k
    if (yych == 'm') goto yy836;
9123
631
    goto yy48;
9124
15.7k
yy799:
9125
15.7k
    YYDEBUG(799, *YYCURSOR);
9126
15.7k
    yyaccept = 4;
9127
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
9128
15.7k
    if (yych == '_') goto yy837;
9129
918
    goto yy48;
9130
5.02k
yy800:
9131
5.02k
    YYDEBUG(800, *YYCURSOR);
9132
5.02k
    yyaccept = 4;
9133
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
9134
5.02k
    if (yych == 'C') goto yy839;
9135
2.56k
    if (yych == 'c') goto yy839;
9136
503
    goto yy48;
9137
3.13k
yy801:
9138
3.13k
    YYDEBUG(801, *YYCURSOR);
9139
3.13k
    yyaccept = 4;
9140
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
9141
3.13k
    if (yych == 'Y') goto yy840;
9142
914
    if (yych == 'y') goto yy840;
9143
503
    goto yy48;
9144
4.98k
yy802:
9145
4.98k
    YYDEBUG(802, *YYCURSOR);
9146
4.98k
    yyaccept = 82;
9147
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
9148
4.98k
    if (yybm[256+yych] & 128) {
9149
444
      goto yy47;
9150
444
    }
9151
4.54k
    if (yych == '\\') goto yy164;
9152
4.54k
yy803:
9153
4.54k
    YYDEBUG(803, *YYCURSOR);
9154
4.54k
    yyleng = YYCURSOR - SCNG(yy_text);
9155
4.54k
#line 2201 "Zend/zend_language_scanner.l"
9156
4.54k
    {
9157
4.54k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9158
4.54k
}
9159
0
#line 9160 "Zend/zend_language_scanner.c"
9160
3.11k
yy804:
9161
3.11k
    YYDEBUG(804, *YYCURSOR);
9162
3.11k
    ++YYCURSOR;
9163
3.11k
    YYFILL(1);
9164
3.11k
    yych = *YYCURSOR;
9165
3.11k
    if (yych <= '\r') {
9166
1.11k
      if (yych <= '\t') {
9167
434
        if (yych <= 0x00) goto yy86;
9168
201
        goto yy443;
9169
680
      } else {
9170
680
        if (yych <= '\n') goto yy545;
9171
429
        if (yych <= '\f') goto yy443;
9172
221
        goto yy545;
9173
429
      }
9174
1.99k
    } else {
9175
1.99k
      if (yych <= '*') {
9176
774
        if (yych <= ')') goto yy443;
9177
479
        goto yy547;
9178
1.22k
      } else {
9179
1.22k
        if (yych == '.') goto yy762;
9180
650
        goto yy443;
9181
1.22k
      }
9182
1.99k
    }
9183
54.4k
yy805:
9184
54.4k
    YYDEBUG(805, *YYCURSOR);
9185
54.4k
    ++YYCURSOR;
9186
54.4k
    YYFILL(1);
9187
54.4k
    yych = *YYCURSOR;
9188
54.4k
    if (yych <= '\r') {
9189
1.62k
      if (yych <= '\t') {
9190
467
        if (yych <= 0x00) goto yy86;
9191
259
        goto yy443;
9192
1.16k
      } else {
9193
1.16k
        if (yych <= '\n') goto yy545;
9194
749
        if (yych <= '\f') goto yy443;
9195
501
        goto yy545;
9196
749
      }
9197
52.8k
    } else {
9198
52.8k
      if (yych <= '*') {
9199
904
        if (yych <= ')') goto yy443;
9200
495
        goto yy547;
9201
51.9k
      } else {
9202
51.9k
        if (yych == '/') goto yy705;
9203
437
        goto yy443;
9204
51.9k
      }
9205
52.8k
    }
9206
6.16k
yy806:
9207
6.16k
    YYDEBUG(806, *YYCURSOR);
9208
6.16k
    yyaccept = 83;
9209
6.16k
    yych = *(YYMARKER = ++YYCURSOR);
9210
6.16k
    if (yybm[256+yych] & 128) {
9211
704
      goto yy47;
9212
704
    }
9213
5.46k
    if (yych == '\\') goto yy164;
9214
5.46k
yy807:
9215
5.46k
    YYDEBUG(807, *YYCURSOR);
9216
5.46k
    yyleng = YYCURSOR - SCNG(yy_text);
9217
5.46k
#line 1486 "Zend/zend_language_scanner.l"
9218
5.46k
    {
9219
5.46k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9220
5.46k
}
9221
0
#line 9222 "Zend/zend_language_scanner.c"
9222
5.14k
yy808:
9223
5.14k
    YYDEBUG(808, *YYCURSOR);
9224
5.14k
    yyaccept = 84;
9225
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
9226
5.14k
    if (yybm[256+yych] & 128) {
9227
806
      goto yy47;
9228
806
    }
9229
4.33k
    if (yych == '\\') goto yy164;
9230
4.33k
yy809:
9231
4.33k
    YYDEBUG(809, *YYCURSOR);
9232
4.33k
    yyleng = YYCURSOR - SCNG(yy_text);
9233
4.33k
#line 1478 "Zend/zend_language_scanner.l"
9234
4.33k
    {
9235
4.33k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9236
4.33k
}
9237
0
#line 9238 "Zend/zend_language_scanner.c"
9238
2.64k
yy810:
9239
2.64k
    YYDEBUG(810, *YYCURSOR);
9240
2.64k
    yych = *++YYCURSOR;
9241
2.64k
    if (yych == 'D') goto yy841;
9242
2.44k
    if (yych == 'd') goto yy841;
9243
1.07k
    goto yy86;
9244
2.74k
yy811:
9245
2.74k
    YYDEBUG(811, *YYCURSOR);
9246
2.74k
    yych = *++YYCURSOR;
9247
2.74k
    if (yych == 'M') goto yy842;
9248
1.72k
    if (yych == 'm') goto yy842;
9249
719
    goto yy86;
9250
335k
yy812:
9251
335k
    YYDEBUG(812, *YYCURSOR);
9252
335k
    ++YYCURSOR;
9253
335k
    YYFILL(1);
9254
335k
    yych = *YYCURSOR;
9255
335k
    if (yych <= '\r') {
9256
273k
      if (yych <= '\t') {
9257
7.78k
        if (yych <= 0x00) goto yy86;
9258
6.72k
        goto yy726;
9259
265k
      } else {
9260
265k
        if (yych <= '\n') goto yy843;
9261
46.4k
        if (yych <= '\f') goto yy726;
9262
45.4k
        goto yy843;
9263
46.4k
      }
9264
273k
    } else {
9265
61.4k
      if (yych <= '*') {
9266
18.0k
        if (yych <= ')') goto yy726;
9267
6.60k
        goto yy773;
9268
43.3k
      } else {
9269
43.3k
        if (yych == '[') goto yy590;
9270
43.1k
        goto yy726;
9271
43.3k
      }
9272
61.4k
    }
9273
64.4k
yy813:
9274
64.4k
    YYDEBUG(813, *YYCURSOR);
9275
64.4k
    ++YYCURSOR;
9276
64.4k
    YYFILL(1);
9277
64.4k
    yych = *YYCURSOR;
9278
64.4k
    if (yych <= '*') {
9279
58.2k
      if (yych <= 0x00) goto yy86;
9280
57.4k
      if (yych <= ')') goto yy590;
9281
55.4k
      goto yy845;
9282
57.4k
    } else {
9283
6.16k
      if (yych == '/') goto yy726;
9284
2.88k
      goto yy590;
9285
6.16k
    }
9286
12.4k
yy814:
9287
12.4k
    YYDEBUG(814, *YYCURSOR);
9288
12.4k
    yyaccept = 53;
9289
12.4k
    YYMARKER = ++YYCURSOR;
9290
12.4k
    YYFILL(1);
9291
12.4k
    yych = *YYCURSOR;
9292
12.4k
    if (yych <= 0x00) goto yy583;
9293
11.3k
    if (yych == '*') goto yy664;
9294
10.7k
    goto yy590;
9295
12.5k
yy815:
9296
12.5k
    YYDEBUG(815, *YYCURSOR);
9297
12.5k
    yyaccept = 53;
9298
12.5k
    YYMARKER = ++YYCURSOR;
9299
12.5k
    YYFILL(1);
9300
12.5k
    yych = *YYCURSOR;
9301
12.5k
    if (yych <= 'W') {
9302
4.14k
      if (yych <= 0x00) goto yy583;
9303
3.77k
      if (yych == '*') goto yy664;
9304
1.94k
      goto yy590;
9305
8.39k
    } else {
9306
8.39k
      if (yych <= 'X') goto yy846;
9307
7.80k
      if (yych == 'x') goto yy846;
9308
2.14k
      goto yy590;
9309
7.80k
    }
9310
14.2k
yy816:
9311
14.2k
    YYDEBUG(816, *YYCURSOR);
9312
14.2k
    yyaccept = 53;
9313
14.2k
    YYMARKER = ++YYCURSOR;
9314
14.2k
    YYFILL(1);
9315
14.2k
    yych = *YYCURSOR;
9316
14.2k
    if (yych <= 'L') {
9317
1.65k
      if (yych <= 0x00) goto yy583;
9318
1.17k
      if (yych == '*') goto yy664;
9319
981
      goto yy590;
9320
12.5k
    } else {
9321
12.5k
      if (yych <= 'M') goto yy847;
9322
9.53k
      if (yych == 'm') goto yy847;
9323
534
      goto yy590;
9324
9.53k
    }
9325
11.1k
yy817:
9326
11.1k
    YYDEBUG(817, *YYCURSOR);
9327
11.1k
    ++YYCURSOR;
9328
11.1k
    YYFILL(1);
9329
11.1k
    yych = *YYCURSOR;
9330
11.1k
    if (yych <= '\r') {
9331
1.83k
      if (yych <= '\t') {
9332
461
        if (yych <= 0x00) goto yy86;
9333
261
        goto yy586;
9334
1.37k
      } else {
9335
1.37k
        if (yych <= '\n') goto yy495;
9336
1.16k
        if (yych <= '\f') goto yy586;
9337
808
        goto yy495;
9338
1.16k
      }
9339
9.31k
    } else {
9340
9.31k
      if (yych <= 'N') {
9341
3.25k
        if (yych <= 'M') goto yy586;
9342
1.19k
        goto yy848;
9343
6.05k
      } else {
9344
6.05k
        if (yych == 'n') goto yy848;
9345
616
        goto yy586;
9346
6.05k
      }
9347
9.31k
    }
9348
26.5k
yy818:
9349
26.5k
    YYDEBUG(818, *YYCURSOR);
9350
26.5k
    ++YYCURSOR;
9351
26.5k
    YYFILL(1);
9352
26.5k
    yych = *YYCURSOR;
9353
26.5k
    if (yych <= '\r') {
9354
2.09k
      if (yych <= '\t') {
9355
964
        if (yych <= 0x00) goto yy86;
9356
532
        goto yy586;
9357
1.12k
      } else {
9358
1.12k
        if (yych <= '\n') goto yy495;
9359
756
        if (yych <= '\f') goto yy586;
9360
389
        goto yy495;
9361
756
      }
9362
24.4k
    } else {
9363
24.4k
      if (yych <= 'E') {
9364
4.26k
        if (yych <= 'D') goto yy586;
9365
3.62k
        goto yy849;
9366
20.2k
      } else {
9367
20.2k
        if (yych == 'e') goto yy849;
9368
880
        goto yy586;
9369
20.2k
      }
9370
24.4k
    }
9371
7.64k
yy819:
9372
7.64k
    YYDEBUG(819, *YYCURSOR);
9373
7.64k
    yyaccept = 85;
9374
7.64k
    yych = *(YYMARKER = ++YYCURSOR);
9375
7.64k
    if (yybm[256+yych] & 128) {
9376
420
      goto yy47;
9377
420
    }
9378
7.22k
    if (yych == '\\') goto yy164;
9379
7.11k
yy820:
9380
7.11k
    YYDEBUG(820, *YYCURSOR);
9381
7.11k
    yyleng = YYCURSOR - SCNG(yy_text);
9382
7.11k
#line 1567 "Zend/zend_language_scanner.l"
9383
7.11k
    {
9384
7.11k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9385
7.11k
}
9386
0
#line 9387 "Zend/zend_language_scanner.c"
9387
4.76k
yy821:
9388
4.76k
    YYDEBUG(821, *YYCURSOR);
9389
4.76k
    yyaccept = 4;
9390
4.76k
    yych = *(YYMARKER = ++YYCURSOR);
9391
4.76k
    if (yych == 'C') goto yy850;
9392
3.42k
    if (yych == 'c') goto yy850;
9393
557
    goto yy48;
9394
5.86k
yy822:
9395
5.86k
    YYDEBUG(822, *YYCURSOR);
9396
5.86k
    yyaccept = 86;
9397
5.86k
    yych = *(YYMARKER = ++YYCURSOR);
9398
5.86k
    if (yybm[256+yych] & 128) {
9399
1.08k
      goto yy47;
9400
1.08k
    }
9401
4.78k
    if (yych == '\\') goto yy164;
9402
4.74k
yy823:
9403
4.74k
    YYDEBUG(823, *YYCURSOR);
9404
4.74k
    yyleng = YYCURSOR - SCNG(yy_text);
9405
4.74k
#line 1490 "Zend/zend_language_scanner.l"
9406
4.74k
    {
9407
4.74k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9408
4.74k
}
9409
0
#line 9410 "Zend/zend_language_scanner.c"
9410
8.52k
yy824:
9411
8.52k
    YYDEBUG(824, *YYCURSOR);
9412
8.52k
    ++YYCURSOR;
9413
8.52k
    YYFILL(1);
9414
8.52k
    yych = *YYCURSOR;
9415
8.52k
    if (yych <= '_') {
9416
2.18k
      if (yych <= '@') goto yy86;
9417
1.54k
      if (yych <= 'Z') goto yy851;
9418
800
      if (yych <= '^') goto yy86;
9419
329
      goto yy851;
9420
6.34k
    } else {
9421
6.34k
      if (yych <= '`') goto yy86;
9422
6.13k
      if (yych <= 'z') goto yy851;
9423
1.91k
      if (yych <= 0x7F) goto yy86;
9424
1.45k
      goto yy851;
9425
1.91k
    }
9426
1.71k
yy825:
9427
1.71k
    YYDEBUG(825, *YYCURSOR);
9428
1.71k
    yych = *++YYCURSOR;
9429
1.71k
    if (yych == 'T') goto yy854;
9430
1.42k
    if (yych == 't') goto yy854;
9431
376
    goto yy86;
9432
2.30k
yy826:
9433
2.30k
    YYDEBUG(826, *YYCURSOR);
9434
2.30k
    yych = *++YYCURSOR;
9435
2.30k
    if (yych == 'S') goto yy855;
9436
2.00k
    if (yych == 's') goto yy855;
9437
437
    goto yy86;
9438
997
yy827:
9439
997
    YYDEBUG(827, *YYCURSOR);
9440
997
    yych = *++YYCURSOR;
9441
997
    if (yych == ')') goto yy856;
9442
473
    goto yy86;
9443
7.85k
yy828:
9444
7.85k
    YYDEBUG(828, *YYCURSOR);
9445
7.85k
    yyaccept = 4;
9446
7.85k
    yych = *(YYMARKER = ++YYCURSOR);
9447
7.85k
    if (yych == 'C') goto yy858;
9448
4.89k
    if (yych == 'c') goto yy858;
9449
785
    goto yy48;
9450
5.65k
yy829:
9451
5.65k
    YYDEBUG(829, *YYCURSOR);
9452
5.65k
    yych = *++YYCURSOR;
9453
5.65k
    if (yych <= '^') {
9454
3.85k
      if (yych <= '9') {
9455
2.96k
        if (yych <= '/') goto yy859;
9456
427
        goto yy86;
9457
2.96k
      } else {
9458
892
        if (yych <= '@') goto yy859;
9459
577
        if (yych <= 'Z') goto yy86;
9460
248
        goto yy859;
9461
577
      }
9462
3.85k
    } else {
9463
1.79k
      if (yych <= '`') {
9464
488
        if (yych <= '_') goto yy86;
9465
269
        goto yy859;
9466
1.30k
      } else {
9467
1.30k
        if (yych <= 'z') goto yy86;
9468
596
        if (yych <= 0x7F) goto yy859;
9469
337
        goto yy86;
9470
596
      }
9471
1.79k
    }
9472
566k
yy830:
9473
566k
    YYDEBUG(830, *YYCURSOR);
9474
566k
    ++YYCURSOR;
9475
566k
    YYFILL(1);
9476
566k
    yych = *YYCURSOR;
9477
566k
    YYDEBUG(831, *YYCURSOR);
9478
566k
    if (yych <= '#') {
9479
423k
      if (yych <= '\f') {
9480
19.4k
        if (yych <= 0x00) goto yy86;
9481
18.5k
        if (yych <= 0x08) goto yy692;
9482
17.8k
        if (yych <= '\n') goto yy830;
9483
343
        goto yy692;
9484
404k
      } else {
9485
404k
        if (yych <= 0x1F) {
9486
40.8k
          if (yych <= '\r') goto yy830;
9487
863
          goto yy692;
9488
363k
        } else {
9489
363k
          if (yych <= ' ') goto yy830;
9490
355k
          if (yych <= '"') goto yy692;
9491
354k
          goto yy861;
9492
355k
        }
9493
404k
      }
9494
423k
    } else {
9495
142k
      if (yych <= '/') {
9496
105k
        if (yych == '*') goto yy748;
9497
92.2k
        if (yych <= '.') goto yy692;
9498
63.1k
        goto yy862;
9499
92.2k
      } else {
9500
37.0k
        if (yych <= 'F') {
9501
22.5k
          if (yych <= 'E') goto yy692;
9502
11.5k
          goto yy863;
9503
22.5k
        } else {
9504
14.4k
          if (yych == 'f') goto yy863;
9505
13.2k
          goto yy692;
9506
14.4k
        }
9507
37.0k
      }
9508
142k
    }
9509
80.6k
yy832:
9510
80.6k
    YYDEBUG(832, *YYCURSOR);
9511
80.6k
    ++YYCURSOR;
9512
80.6k
    YYFILL(1);
9513
80.6k
    yych = *YYCURSOR;
9514
80.6k
    YYDEBUG(833, *YYCURSOR);
9515
80.6k
    if (yych <= '\r') {
9516
19.4k
      if (yych <= '\t') {
9517
1.82k
        if (yych <= 0x00) goto yy86;
9518
1.30k
        goto yy792;
9519
17.6k
      } else {
9520
17.6k
        if (yych <= '\n') goto yy830;
9521
12.2k
        if (yych <= '\f') goto yy792;
9522
11.8k
        goto yy830;
9523
12.2k
      }
9524
61.1k
    } else {
9525
61.1k
      if (yych <= '*') {
9526
13.4k
        if (yych <= ')') goto yy792;
9527
2.74k
        goto yy832;
9528
47.6k
      } else {
9529
47.6k
        if (yych == '/') goto yy690;
9530
15.6k
        goto yy792;
9531
47.6k
      }
9532
61.1k
    }
9533
12.6k
yy834:
9534
12.6k
    YYDEBUG(834, *YYCURSOR);
9535
12.6k
    ++YYCURSOR;
9536
12.6k
    YYFILL(1);
9537
12.6k
    yych = *YYCURSOR;
9538
12.6k
    if (yych <= '\r') {
9539
1.44k
      if (yych <= '\t') {
9540
432
        if (yych <= 0x00) goto yy86;
9541
201
        goto yy688;
9542
1.01k
      } else {
9543
1.01k
        if (yych <= '\n') goto yy616;
9544
733
        if (yych <= '\f') goto yy688;
9545
206
        goto yy616;
9546
733
      }
9547
11.2k
    } else {
9548
11.2k
      if (yych <= 'M') {
9549
5.82k
        if (yych <= 'L') goto yy688;
9550
5.47k
        goto yy864;
9551
5.82k
      } else {
9552
5.39k
        if (yych == 'm') goto yy864;
9553
404
        goto yy688;
9554
5.39k
      }
9555
11.2k
    }
9556
8.00k
yy835:
9557
8.00k
    YYDEBUG(835, *YYCURSOR);
9558
8.00k
    yyaccept = 4;
9559
8.00k
    yych = *(YYMARKER = ++YYCURSOR);
9560
8.00k
    if (yych == '_') goto yy865;
9561
588
    goto yy48;
9562
2.66k
yy836:
9563
2.66k
    YYDEBUG(836, *YYCURSOR);
9564
2.66k
    yyaccept = 4;
9565
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
9566
2.66k
    if (yych == 'P') goto yy866;
9567
2.11k
    if (yych == 'p') goto yy866;
9568
215
    goto yy48;
9569
14.8k
yy837:
9570
14.8k
    YYDEBUG(837, *YYCURSOR);
9571
14.8k
    yyaccept = 87;
9572
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
9573
14.8k
    if (yybm[256+yych] & 128) {
9574
741
      goto yy47;
9575
741
    }
9576
14.0k
    if (yych == '\\') goto yy164;
9577
14.0k
yy838:
9578
14.0k
    YYDEBUG(838, *YYCURSOR);
9579
14.0k
    yyleng = YYCURSOR - SCNG(yy_text);
9580
14.0k
#line 2213 "Zend/zend_language_scanner.l"
9581
14.0k
    {
9582
14.0k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9583
14.0k
}
9584
0
#line 9585 "Zend/zend_language_scanner.c"
9585
4.52k
yy839:
9586
4.52k
    YYDEBUG(839, *YYCURSOR);
9587
4.52k
    yyaccept = 4;
9588
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
9589
4.52k
    if (yych == 'E') goto yy867;
9590
2.15k
    if (yych == 'e') goto yy867;
9591
427
    goto yy48;
9592
2.62k
yy840:
9593
2.62k
    YYDEBUG(840, *YYCURSOR);
9594
2.62k
    yyaccept = 4;
9595
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
9596
2.62k
    if (yych == '_') goto yy868;
9597
565
    goto yy48;
9598
2.13k
yy841:
9599
2.13k
    YYDEBUG(841, *YYCURSOR);
9600
2.13k
    yych = *++YYCURSOR;
9601
2.13k
    if (yych == 'S') goto yy869;
9602
1.89k
    if (yych == 's') goto yy869;
9603
1.12k
    goto yy86;
9604
2.02k
yy842:
9605
2.02k
    YYDEBUG(842, *YYCURSOR);
9606
2.02k
    yych = *++YYCURSOR;
9607
2.02k
    if (yych == 'E') goto yy871;
9608
1.37k
    if (yych == 'e') goto yy871;
9609
653
    goto yy86;
9610
416k
yy843:
9611
416k
    YYDEBUG(843, *YYCURSOR);
9612
416k
    ++YYCURSOR;
9613
416k
    YYFILL(1);
9614
416k
    yych = *YYCURSOR;
9615
416k
    YYDEBUG(844, *YYCURSOR);
9616
416k
    if (yych <= '@') {
9617
236k
      if (yych <= 0x1F) {
9618
44.9k
        if (yych <= '\t') {
9619
7.18k
          if (yych <= 0x00) goto yy86;
9620
5.98k
          if (yych <= 0x08) goto yy726;
9621
4.51k
          goto yy843;
9622
37.7k
        } else {
9623
37.7k
          if (yych <= '\n') goto yy771;
9624
33.8k
          if (yych == '\r') goto yy771;
9625
2.66k
          goto yy726;
9626
33.8k
        }
9627
192k
      } else {
9628
192k
        if (yych <= ')') {
9629
100k
          if (yych <= ' ') goto yy843;
9630
45.9k
          if (yych == '#') goto yy872;
9631
4.91k
          goto yy726;
9632
91.7k
        } else {
9633
91.7k
          if (yych <= '*') goto yy773;
9634
89.3k
          if (yych == '/') goto yy873;
9635
6.82k
          goto yy726;
9636
89.3k
        }
9637
192k
      }
9638
236k
    } else {
9639
179k
      if (yych <= '_') {
9640
18.1k
        if (yych <= 'H') {
9641
1.48k
          if (yych == 'E') goto yy875;
9642
1.20k
          goto yy874;
9643
16.7k
        } else {
9644
16.7k
          if (yych <= 'I') goto yy876;
9645
3.60k
          if (yych <= 'Z') goto yy874;
9646
2.10k
          if (yych <= '^') goto yy726;
9647
347
          goto yy874;
9648
2.10k
        }
9649
161k
      } else {
9650
161k
        if (yych <= 'h') {
9651
82.3k
          if (yych <= '`') goto yy726;
9652
81.9k
          if (yych == 'e') goto yy875;
9653
2.93k
          goto yy874;
9654
81.9k
        } else {
9655
78.7k
          if (yych <= 'i') goto yy876;
9656
41.2k
          if (yych <= 'z') goto yy874;
9657
30.0k
          if (yych <= 0x7F) goto yy726;
9658
14.3k
          goto yy874;
9659
30.0k
        }
9660
161k
      }
9661
179k
    }
9662
55.4k
yy845:
9663
55.4k
    YYDEBUG(845, *YYCURSOR);
9664
55.4k
    ++YYCURSOR;
9665
55.4k
    YYFILL(1);
9666
55.4k
    yych = *YYCURSOR;
9667
55.4k
    if (yych <= '*') {
9668
2.04k
      if (yych <= 0x00) goto yy86;
9669
1.77k
      if (yych <= ')') goto yy590;
9670
326
      goto yy664;
9671
53.4k
    } else {
9672
53.4k
      if (yych == '/') goto yy771;
9673
1.11k
      goto yy590;
9674
53.4k
    }
9675
6.25k
yy846:
9676
6.25k
    YYDEBUG(846, *YYCURSOR);
9677
6.25k
    ++YYCURSOR;
9678
6.25k
    YYFILL(1);
9679
6.25k
    yych = *YYCURSOR;
9680
6.25k
    if (yych <= 'S') {
9681
820
      if (yych <= 0x00) goto yy86;
9682
619
      if (yych == '*') goto yy664;
9683
419
      goto yy590;
9684
5.43k
    } else {
9685
5.43k
      if (yych <= 'T') goto yy877;
9686
4.72k
      if (yych == 't') goto yy877;
9687
736
      goto yy590;
9688
4.72k
    }
9689
12.0k
yy847:
9690
12.0k
    YYDEBUG(847, *YYCURSOR);
9691
12.0k
    ++YYCURSOR;
9692
12.0k
    YYFILL(1);
9693
12.0k
    yych = *YYCURSOR;
9694
12.0k
    if (yych <= 'O') {
9695
1.00k
      if (yych <= 0x00) goto yy86;
9696
783
      if (yych == '*') goto yy664;
9697
580
      goto yy590;
9698
11.0k
    } else {
9699
11.0k
      if (yych <= 'P') goto yy878;
9700
9.13k
      if (yych == 'p') goto yy878;
9701
312
      goto yy590;
9702
9.13k
    }
9703
6.63k
yy848:
9704
6.63k
    YYDEBUG(848, *YYCURSOR);
9705
6.63k
    ++YYCURSOR;
9706
6.63k
    YYFILL(1);
9707
6.63k
    yych = *YYCURSOR;
9708
6.63k
    if (yych <= '\r') {
9709
1.32k
      if (yych <= '\t') {
9710
581
        if (yych <= 0x00) goto yy86;
9711
293
        goto yy586;
9712
744
      } else {
9713
744
        if (yych <= '\n') goto yy495;
9714
528
        if (yych <= '\f') goto yy586;
9715
204
        goto yy495;
9716
528
      }
9717
5.31k
    } else {
9718
5.31k
      if (yych <= 'D') {
9719
1.31k
        if (yych <= 'C') goto yy586;
9720
516
        goto yy879;
9721
4.00k
      } else {
9722
4.00k
        if (yych == 'd') goto yy879;
9723
2.12k
        goto yy586;
9724
4.00k
      }
9725
5.31k
    }
9726
22.9k
yy849:
9727
22.9k
    YYDEBUG(849, *YYCURSOR);
9728
22.9k
    ++YYCURSOR;
9729
22.9k
    YYFILL(1);
9730
22.9k
    yych = *YYCURSOR;
9731
22.9k
    if (yych <= '\r') {
9732
2.38k
      if (yych <= '\t') {
9733
813
        if (yych <= 0x00) goto yy86;
9734
554
        goto yy586;
9735
1.57k
      } else {
9736
1.57k
        if (yych <= '\n') goto yy495;
9737
587
        if (yych <= '\f') goto yy586;
9738
372
        goto yy495;
9739
587
      }
9740
20.5k
    } else {
9741
20.5k
      if (yych <= 'M') {
9742
10.4k
        if (yych <= 'L') goto yy586;
9743
8.08k
        goto yy880;
9744
10.4k
      } else {
9745
10.1k
        if (yych == 'm') goto yy880;
9746
3.38k
        goto yy586;
9747
10.1k
      }
9748
20.5k
    }
9749
4.20k
yy850:
9750
4.20k
    YYDEBUG(850, *YYCURSOR);
9751
4.20k
    yyaccept = 4;
9752
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
9753
4.20k
    if (yych == 'E') goto yy881;
9754
2.88k
    if (yych == 'e') goto yy881;
9755
412
    goto yy48;
9756
40.1k
yy851:
9757
40.1k
    YYDEBUG(851, *YYCURSOR);
9758
40.1k
    yyaccept = 88;
9759
40.1k
    YYMARKER = ++YYCURSOR;
9760
40.1k
    YYFILL(1);
9761
40.1k
    yych = *YYCURSOR;
9762
40.1k
    YYDEBUG(852, *YYCURSOR);
9763
40.1k
    if (yych <= '\\') {
9764
9.75k
      if (yych <= '@') {
9765
5.51k
        if (yych <= '/') goto yy853;
9766
3.56k
        if (yych <= '9') goto yy851;
9767
4.23k
      } else {
9768
4.23k
        if (yych <= 'Z') goto yy851;
9769
1.87k
        if (yych >= '\\') goto yy824;
9770
1.87k
      }
9771
30.3k
    } else {
9772
30.3k
      if (yych <= '`') {
9773
836
        if (yych == '_') goto yy851;
9774
29.5k
      } else {
9775
29.5k
        if (yych <= 'z') goto yy851;
9776
20.2k
        if (yych >= 0x80) goto yy851;
9777
20.2k
      }
9778
30.3k
    }
9779
5.97k
yy853:
9780
5.97k
    YYDEBUG(853, *YYCURSOR);
9781
5.97k
    yyleng = YYCURSOR - SCNG(yy_text);
9782
5.97k
#line 2383 "Zend/zend_language_scanner.l"
9783
5.97k
    {
9784
5.97k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9785
5.97k
}
9786
0
#line 9787 "Zend/zend_language_scanner.c"
9787
1.34k
yy854:
9788
1.34k
    YYDEBUG(854, *YYCURSOR);
9789
1.34k
    yych = *++YYCURSOR;
9790
1.34k
    if (yych == ')') goto yy883;
9791
251
    goto yy86;
9792
1.86k
yy855:
9793
1.86k
    YYDEBUG(855, *YYCURSOR);
9794
1.86k
    yych = *++YYCURSOR;
9795
1.86k
    if (yych == 'E') goto yy885;
9796
1.59k
    if (yych == 'e') goto yy885;
9797
320
    goto yy86;
9798
524
yy856:
9799
524
    YYDEBUG(856, *YYCURSOR);
9800
524
    ++YYCURSOR;
9801
524
    YYDEBUG(857, *YYCURSOR);
9802
524
    yyleng = YYCURSOR - SCNG(yy_text);
9803
524
#line 1730 "Zend/zend_language_scanner.l"
9804
524
    {
9805
524
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9806
524
}
9807
0
#line 9808 "Zend/zend_language_scanner.c"
9808
7.06k
yy858:
9809
7.06k
    YYDEBUG(858, *YYCURSOR);
9810
7.06k
    yyaccept = 4;
9811
7.06k
    yych = *(YYMARKER = ++YYCURSOR);
9812
7.06k
    if (yych == 'E') goto yy886;
9813
4.12k
    if (yych == 'e') goto yy886;
9814
444
    goto yy48;
9815
4.44k
yy859:
9816
4.44k
    YYDEBUG(859, *YYCURSOR);
9817
4.44k
    ++YYCURSOR;
9818
23.7k
yy860:
9819
23.7k
    YYDEBUG(860, *YYCURSOR);
9820
23.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9821
23.7k
#line 1412 "Zend/zend_language_scanner.l"
9822
23.7k
    {
9823
23.7k
  yyless(yyleng - 1);
9824
23.7k
  HANDLE_NEWLINES(yytext, yyleng);
9825
23.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9826
23.7k
}
9827
0
#line 9828 "Zend/zend_language_scanner.c"
9828
355k
yy861:
9829
355k
    YYDEBUG(861, *YYCURSOR);
9830
355k
    ++YYCURSOR;
9831
355k
    YYFILL(1);
9832
355k
    yych = *YYCURSOR;
9833
355k
    if (yych <= '\r') {
9834
274k
      if (yych <= '\t') {
9835
10.2k
        if (yych <= 0x00) goto yy86;
9836
9.51k
        goto yy792;
9837
264k
      } else {
9838
264k
        if (yych <= '\n') goto yy888;
9839
43.9k
        if (yych <= '\f') goto yy792;
9840
43.5k
        goto yy888;
9841
43.9k
      }
9842
274k
    } else {
9843
81.0k
      if (yych <= '*') {
9844
45.5k
        if (yych <= ')') goto yy792;
9845
23.4k
        goto yy832;
9846
45.5k
      } else {
9847
35.4k
        if (yych == '[') goto yy692;
9848
35.2k
        goto yy792;
9849
35.4k
      }
9850
81.0k
    }
9851
63.3k
yy862:
9852
63.3k
    YYDEBUG(862, *YYCURSOR);
9853
63.3k
    ++YYCURSOR;
9854
63.3k
    YYFILL(1);
9855
63.3k
    yych = *YYCURSOR;
9856
63.3k
    if (yych <= '*') {
9857
57.8k
      if (yych <= 0x00) goto yy86;
9858
57.6k
      if (yych <= ')') goto yy692;
9859
55.8k
      goto yy890;
9860
57.6k
    } else {
9861
5.52k
      if (yych == '/') goto yy792;
9862
3.99k
      goto yy692;
9863
5.52k
    }
9864
13.4k
yy863:
9865
13.4k
    YYDEBUG(863, *YYCURSOR);
9866
13.4k
    ++YYCURSOR;
9867
13.4k
    YYFILL(1);
9868
13.4k
    yych = *YYCURSOR;
9869
13.4k
    if (yych <= 'Q') {
9870
2.17k
      if (yych <= 0x00) goto yy86;
9871
1.70k
      if (yych == '*') goto yy748;
9872
1.48k
      goto yy692;
9873
11.2k
    } else {
9874
11.2k
      if (yych <= 'R') goto yy891;
9875
1.76k
      if (yych == 'r') goto yy891;
9876
920
      goto yy692;
9877
1.76k
    }
9878
10.4k
yy864:
9879
10.4k
    YYDEBUG(864, *YYCURSOR);
9880
10.4k
    ++YYCURSOR;
9881
10.4k
    YYFILL(1);
9882
10.4k
    yych = *YYCURSOR;
9883
10.4k
    if (yych <= '9') {
9884
4.81k
      if (yych <= '\n') {
9885
2.58k
        if (yych <= 0x00) goto yy859;
9886
2.26k
        if (yych <= '\t') goto yy892;
9887
2.00k
        goto yy893;
9888
2.26k
      } else {
9889
2.23k
        if (yych == '\r') goto yy893;
9890
799
        if (yych <= '/') goto yy892;
9891
261
        goto yy688;
9892
799
      }
9893
5.65k
    } else {
9894
5.65k
      if (yych <= '_') {
9895
3.22k
        if (yych <= '@') goto yy892;
9896
2.86k
        if (yych <= 'Z') goto yy688;
9897
978
        if (yych <= '^') goto yy892;
9898
309
        goto yy688;
9899
2.43k
      } else {
9900
2.43k
        if (yych <= '`') goto yy892;
9901
2.11k
        if (yych <= 'z') goto yy688;
9902
1.67k
        if (yych <= 0x7F) goto yy892;
9903
547
        goto yy688;
9904
1.67k
      }
9905
5.65k
    }
9906
7.41k
yy865:
9907
7.41k
    YYDEBUG(865, *YYCURSOR);
9908
7.41k
    yyaccept = 4;
9909
7.41k
    yych = *(YYMARKER = ++YYCURSOR);
9910
7.41k
    if (yych == '_') goto yy894;
9911
831
    goto yy48;
9912
2.45k
yy866:
9913
2.45k
    YYDEBUG(866, *YYCURSOR);
9914
2.45k
    yyaccept = 4;
9915
2.45k
    yych = *(YYMARKER = ++YYCURSOR);
9916
2.45k
    if (yych == 'I') goto yy896;
9917
2.05k
    if (yych == 'i') goto yy896;
9918
316
    goto yy48;
9919
4.09k
yy867:
9920
4.09k
    YYDEBUG(867, *YYCURSOR);
9921
4.09k
    yyaccept = 4;
9922
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
9923
4.09k
    if (yych == '_') goto yy897;
9924
411
    goto yy48;
9925
2.06k
yy868:
9926
2.06k
    YYDEBUG(868, *YYCURSOR);
9927
2.06k
    yyaccept = 4;
9928
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
9929
2.06k
    if (yych == '_') goto yy898;
9930
220
    goto yy48;
9931
1.01k
yy869:
9932
1.01k
    YYDEBUG(869, *YYCURSOR);
9933
1.01k
    ++YYCURSOR;
9934
3.55k
yy870:
9935
3.55k
    YYDEBUG(870, *YYCURSOR);
9936
3.55k
    yyleng = YYCURSOR - SCNG(yy_text);
9937
3.55k
#line 1554 "Zend/zend_language_scanner.l"
9938
3.55k
    {
9939
3.55k
  yyless(4);
9940
3.55k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
9941
3.55k
}
9942
0
#line 9943 "Zend/zend_language_scanner.c"
9943
1.37k
yy871:
9944
1.37k
    YYDEBUG(871, *YYCURSOR);
9945
1.37k
    yych = *++YYCURSOR;
9946
1.37k
    if (yych == 'N') goto yy900;
9947
800
    if (yych == 'n') goto yy900;
9948
322
    goto yy86;
9949
41.0k
yy872:
9950
41.0k
    YYDEBUG(872, *YYCURSOR);
9951
41.0k
    ++YYCURSOR;
9952
41.0k
    YYFILL(1);
9953
41.0k
    yych = *YYCURSOR;
9954
41.0k
    if (yych <= '\f') {
9955
26.1k
      if (yych <= 0x00) goto yy86;
9956
24.9k
      if (yych == '\n') goto yy843;
9957
658
      goto yy726;
9958
24.9k
    } else {
9959
14.8k
      if (yych <= '\r') goto yy843;
9960
12.1k
      if (yych == '*') goto yy773;
9961
11.2k
      goto yy726;
9962
12.1k
    }
9963
82.4k
yy873:
9964
82.4k
    YYDEBUG(873, *YYCURSOR);
9965
82.4k
    ++YYCURSOR;
9966
82.4k
    YYFILL(1);
9967
82.4k
    yych = *YYCURSOR;
9968
82.4k
    if (yych <= '\f') {
9969
2.24k
      if (yych <= 0x00) goto yy86;
9970
1.52k
      if (yych == '\n') goto yy771;
9971
326
      goto yy726;
9972
80.2k
    } else {
9973
80.2k
      if (yych <= '\r') goto yy771;
9974
79.7k
      if (yych == '*') goto yy901;
9975
7.22k
      goto yy726;
9976
79.7k
    }
9977
31.5k
yy874:
9978
31.5k
    YYDEBUG(874, *YYCURSOR);
9979
31.5k
    yyaccept = 53;
9980
31.5k
    YYMARKER = ++YYCURSOR;
9981
31.5k
    YYFILL(1);
9982
31.5k
    yych = *YYCURSOR;
9983
31.5k
    if (yych <= '\f') {
9984
1.46k
      if (yych <= 0x00) goto yy583;
9985
1.15k
      if (yych == '\n') goto yy771;
9986
420
      goto yy726;
9987
30.0k
    } else {
9988
30.0k
      if (yych <= '\r') goto yy771;
9989
28.2k
      if (yych == '*') goto yy773;
9990
27.8k
      goto yy726;
9991
28.2k
    }
9992
79.3k
yy875:
9993
79.3k
    YYDEBUG(875, *YYCURSOR);
9994
79.3k
    yyaccept = 53;
9995
79.3k
    YYMARKER = ++YYCURSOR;
9996
79.3k
    YYFILL(1);
9997
79.3k
    yych = *YYCURSOR;
9998
79.3k
    if (yych <= ')') {
9999
4.56k
      if (yych <= '\n') {
10000
3.06k
        if (yych <= 0x00) goto yy583;
10001
2.82k
        if (yych <= '\t') goto yy726;
10002
504
        goto yy771;
10003
2.82k
      } else {
10004
1.50k
        if (yych == '\r') goto yy771;
10005
1.02k
        goto yy726;
10006
1.50k
      }
10007
74.7k
    } else {
10008
74.7k
      if (yych <= 'X') {
10009
3.92k
        if (yych <= '*') goto yy773;
10010
3.71k
        if (yych <= 'W') goto yy726;
10011
612
        goto yy902;
10012
70.8k
      } else {
10013
70.8k
        if (yych == 'x') goto yy902;
10014
49.0k
        goto yy726;
10015
70.8k
      }
10016
74.7k
    }
10017
50.6k
yy876:
10018
50.6k
    YYDEBUG(876, *YYCURSOR);
10019
50.6k
    yyaccept = 53;
10020
50.6k
    YYMARKER = ++YYCURSOR;
10021
50.6k
    YYFILL(1);
10022
50.6k
    yych = *YYCURSOR;
10023
50.6k
    if (yych <= ')') {
10024
4.22k
      if (yych <= '\n') {
10025
2.45k
        if (yych <= 0x00) goto yy583;
10026
1.31k
        if (yych <= '\t') goto yy726;
10027
1.02k
        goto yy771;
10028
1.77k
      } else {
10029
1.77k
        if (yych == '\r') goto yy771;
10030
1.36k
        goto yy726;
10031
1.77k
      }
10032
46.4k
    } else {
10033
46.4k
      if (yych <= 'M') {
10034
12.4k
        if (yych <= '*') goto yy773;
10035
12.1k
        if (yych <= 'L') goto yy726;
10036
9.92k
        goto yy903;
10037
33.9k
      } else {
10038
33.9k
        if (yych == 'm') goto yy903;
10039
1.71k
        goto yy726;
10040
33.9k
      }
10041
46.4k
    }
10042
4.69k
yy877:
10043
4.69k
    YYDEBUG(877, *YYCURSOR);
10044
4.69k
    ++YYCURSOR;
10045
4.69k
    YYFILL(1);
10046
4.69k
    yych = *YYCURSOR;
10047
4.69k
    if (yych <= 'D') {
10048
681
      if (yych <= 0x00) goto yy86;
10049
476
      if (yych == '*') goto yy664;
10050
275
      goto yy590;
10051
4.01k
    } else {
10052
4.01k
      if (yych <= 'E') goto yy904;
10053
3.66k
      if (yych == 'e') goto yy904;
10054
206
      goto yy590;
10055
3.66k
    }
10056
10.7k
yy878:
10057
10.7k
    YYDEBUG(878, *YYCURSOR);
10058
10.7k
    ++YYCURSOR;
10059
10.7k
    YYFILL(1);
10060
10.7k
    yych = *YYCURSOR;
10061
10.7k
    if (yych <= 'K') {
10062
2.42k
      if (yych <= 0x00) goto yy86;
10063
1.62k
      if (yych == '*') goto yy664;
10064
1.42k
      goto yy590;
10065
8.28k
    } else {
10066
8.28k
      if (yych <= 'L') goto yy905;
10067
6.55k
      if (yych == 'l') goto yy905;
10068
300
      goto yy590;
10069
6.55k
    }
10070
4.75k
yy879:
10071
4.75k
    YYDEBUG(879, *YYCURSOR);
10072
4.75k
    ++YYCURSOR;
10073
4.75k
    YYFILL(1);
10074
4.75k
    yych = *YYCURSOR;
10075
4.75k
    if (yych <= '\r') {
10076
1.35k
      if (yych <= '\t') {
10077
489
        if (yych <= 0x00) goto yy86;
10078
204
        goto yy586;
10079
868
      } else {
10080
868
        if (yych <= '\n') goto yy495;
10081
581
        if (yych <= '\f') goto yy586;
10082
304
        goto yy495;
10083
581
      }
10084
3.39k
    } else {
10085
3.39k
      if (yych <= 'S') {
10086
976
        if (yych <= 'R') goto yy586;
10087
392
        goto yy906;
10088
2.42k
      } else {
10089
2.42k
        if (yych == 's') goto yy906;
10090
1.28k
        goto yy586;
10091
2.42k
      }
10092
3.39k
    }
10093
14.8k
yy880:
10094
14.8k
    YYDEBUG(880, *YYCURSOR);
10095
14.8k
    ++YYCURSOR;
10096
14.8k
    YYFILL(1);
10097
14.8k
    yych = *YYCURSOR;
10098
14.8k
    if (yych <= '\r') {
10099
1.76k
      if (yych <= '\t') {
10100
548
        if (yych <= 0x00) goto yy86;
10101
226
        goto yy586;
10102
1.21k
      } else {
10103
1.21k
        if (yych <= '\n') goto yy495;
10104
861
        if (yych <= '\f') goto yy586;
10105
646
        goto yy495;
10106
861
      }
10107
13.0k
    } else {
10108
13.0k
      if (yych <= 'E') {
10109
2.81k
        if (yych <= 'D') goto yy586;
10110
2.49k
        goto yy907;
10111
10.2k
      } else {
10112
10.2k
        if (yych == 'e') goto yy907;
10113
1.59k
        goto yy586;
10114
10.2k
      }
10115
13.0k
    }
10116
3.79k
yy881:
10117
3.79k
    YYDEBUG(881, *YYCURSOR);
10118
3.79k
    yyaccept = 89;
10119
3.79k
    yych = *(YYMARKER = ++YYCURSOR);
10120
3.79k
    if (yybm[256+yych] & 128) {
10121
708
      goto yy47;
10122
708
    }
10123
3.08k
    if (yych == '\\') goto yy164;
10124
3.08k
yy882:
10125
3.08k
    YYDEBUG(882, *YYCURSOR);
10126
3.08k
    yyleng = YYCURSOR - SCNG(yy_text);
10127
3.08k
#line 1670 "Zend/zend_language_scanner.l"
10128
3.08k
    {
10129
3.08k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10130
3.08k
}
10131
0
#line 10132 "Zend/zend_language_scanner.c"
10132
1.08k
yy883:
10133
1.08k
    YYDEBUG(883, *YYCURSOR);
10134
1.08k
    ++YYCURSOR;
10135
1.08k
    YYDEBUG(884, *YYCURSOR);
10136
1.08k
    yyleng = YYCURSOR - SCNG(yy_text);
10137
1.08k
#line 1738 "Zend/zend_language_scanner.l"
10138
1.08k
    {
10139
1.08k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10140
1.08k
}
10141
0
#line 10142 "Zend/zend_language_scanner.c"
10142
1.54k
yy885:
10143
1.54k
    YYDEBUG(885, *YYCURSOR);
10144
1.54k
    yych = *++YYCURSOR;
10145
1.54k
    if (yych == 'T') goto yy908;
10146
1.35k
    if (yych == 't') goto yy908;
10147
495
    goto yy86;
10148
6.62k
yy886:
10149
6.62k
    YYDEBUG(886, *YYCURSOR);
10150
6.62k
    yyaccept = 90;
10151
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
10152
6.62k
    if (yybm[256+yych] & 128) {
10153
683
      goto yy47;
10154
683
    }
10155
5.93k
    if (yych == '\\') goto yy164;
10156
5.86k
yy887:
10157
5.86k
    YYDEBUG(887, *YYCURSOR);
10158
5.86k
    yyleng = YYCURSOR - SCNG(yy_text);
10159
5.86k
#line 1678 "Zend/zend_language_scanner.l"
10160
5.86k
    {
10161
5.86k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10162
5.86k
}
10163
0
#line 10164 "Zend/zend_language_scanner.c"
10164
466k
yy888:
10165
466k
    YYDEBUG(888, *YYCURSOR);
10166
466k
    ++YYCURSOR;
10167
466k
    YYFILL(1);
10168
466k
    yych = *YYCURSOR;
10169
466k
    YYDEBUG(889, *YYCURSOR);
10170
466k
    if (yych <= '"') {
10171
153k
      if (yych <= '\n') {
10172
17.7k
        if (yych <= 0x00) goto yy86;
10173
17.1k
        if (yych <= 0x08) goto yy792;
10174
16.1k
        if (yych <= '\t') goto yy888;
10175
12.7k
        goto yy830;
10176
136k
      } else {
10177
136k
        if (yych <= '\r') {
10178
86.6k
          if (yych <= '\f') goto yy792;
10179
78.1k
          goto yy830;
10180
86.6k
        } else {
10181
49.4k
          if (yych == ' ') goto yy888;
10182
1.00k
          goto yy792;
10183
49.4k
        }
10184
136k
      }
10185
312k
    } else {
10186
312k
      if (yych <= '/') {
10187
186k
        if (yych <= ')') {
10188
31.9k
          if (yych <= '#') goto yy909;
10189
4.36k
          goto yy792;
10190
154k
        } else {
10191
154k
          if (yych <= '*') goto yy832;
10192
152k
          if (yych <= '.') goto yy792;
10193
150k
          goto yy910;
10194
152k
        }
10195
186k
      } else {
10196
126k
        if (yych <= 'F') {
10197
39.0k
          if (yych <= 'E') goto yy792;
10198
24.3k
          goto yy911;
10199
87.3k
        } else {
10200
87.3k
          if (yych == 'f') goto yy911;
10201
75.5k
          goto yy792;
10202
87.3k
        }
10203
126k
      }
10204
312k
    }
10205
55.8k
yy890:
10206
55.8k
    YYDEBUG(890, *YYCURSOR);
10207
55.8k
    ++YYCURSOR;
10208
55.8k
    YYFILL(1);
10209
55.8k
    yych = *YYCURSOR;
10210
55.8k
    if (yych <= '*') {
10211
1.26k
      if (yych <= 0x00) goto yy86;
10212
1.02k
      if (yych <= ')') goto yy692;
10213
231
      goto yy748;
10214
54.5k
    } else {
10215
54.5k
      if (yych == '/') goto yy830;
10216
909
      goto yy692;
10217
54.5k
    }
10218
10.3k
yy891:
10219
10.3k
    YYDEBUG(891, *YYCURSOR);
10220
10.3k
    ++YYCURSOR;
10221
10.3k
    YYFILL(1);
10222
10.3k
    yych = *YYCURSOR;
10223
10.3k
    if (yych <= 'N') {
10224
820
      if (yych <= 0x00) goto yy86;
10225
564
      if (yych == '*') goto yy748;
10226
368
      goto yy692;
10227
9.49k
    } else {
10228
9.49k
      if (yych <= 'O') goto yy912;
10229
2.20k
      if (yych == 'o') goto yy912;
10230
640
      goto yy692;
10231
2.20k
    }
10232
3.27k
yy892:
10233
3.27k
    YYDEBUG(892, *YYCURSOR);
10234
3.27k
    yyaccept = 91;
10235
3.27k
    YYMARKER = ++YYCURSOR;
10236
3.27k
    YYFILL(1);
10237
3.27k
    yych = *YYCURSOR;
10238
3.27k
    if (yych <= '\n') {
10239
1.02k
      if (yych <= 0x00) goto yy860;
10240
641
      if (yych <= '\t') goto yy688;
10241
253
      goto yy616;
10242
2.25k
    } else {
10243
2.25k
      if (yych == '\r') goto yy616;
10244
1.93k
      goto yy688;
10245
2.25k
    }
10246
3.44k
yy893:
10247
3.44k
    YYDEBUG(893, *YYCURSOR);
10248
3.44k
    yyaccept = 91;
10249
3.44k
    YYMARKER = ++YYCURSOR;
10250
3.44k
    YYFILL(5);
10251
3.44k
    yych = *YYCURSOR;
10252
3.44k
    if (yych <= '"') {
10253
1.40k
      if (yych <= '\f') {
10254
783
        if (yych <= 0x08) goto yy860;
10255
564
        if (yych <= '\n') goto yy616;
10256
254
        goto yy860;
10257
617
      } else {
10258
617
        if (yych <= '\r') goto yy616;
10259
419
        if (yych == ' ') goto yy616;
10260
204
        goto yy860;
10261
419
      }
10262
2.04k
    } else {
10263
2.04k
      if (yych <= 'E') {
10264
1.17k
        if (yych <= '#') goto yy618;
10265
538
        if (yych == '/') goto yy619;
10266
335
        goto yy860;
10267
862
      } else {
10268
862
        if (yych <= 'F') goto yy687;
10269
660
        if (yych == 'f') goto yy687;
10270
317
        goto yy860;
10271
660
      }
10272
2.04k
    }
10273
6.58k
yy894:
10274
6.58k
    YYDEBUG(894, *YYCURSOR);
10275
6.58k
    yyaccept = 92;
10276
6.58k
    yych = *(YYMARKER = ++YYCURSOR);
10277
6.58k
    if (yybm[256+yych] & 128) {
10278
891
      goto yy47;
10279
891
    }
10280
5.69k
    if (yych == '\\') goto yy164;
10281
5.65k
yy895:
10282
5.65k
    YYDEBUG(895, *YYCURSOR);
10283
5.65k
    yyleng = YYCURSOR - SCNG(yy_text);
10284
5.65k
#line 2205 "Zend/zend_language_scanner.l"
10285
5.65k
    {
10286
5.65k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10287
5.65k
}
10288
0
#line 10289 "Zend/zend_language_scanner.c"
10289
2.13k
yy896:
10290
2.13k
    YYDEBUG(896, *YYCURSOR);
10291
2.13k
    yyaccept = 4;
10292
2.13k
    yych = *(YYMARKER = ++YYCURSOR);
10293
2.13k
    if (yych == 'L') goto yy913;
10294
1.72k
    if (yych == 'l') goto yy913;
10295
218
    goto yy48;
10296
3.68k
yy897:
10297
3.68k
    YYDEBUG(897, *YYCURSOR);
10298
3.68k
    yyaccept = 4;
10299
3.68k
    yych = *(YYMARKER = ++YYCURSOR);
10300
3.68k
    if (yych == '_') goto yy914;
10301
492
    goto yy48;
10302
1.84k
yy898:
10303
1.84k
    YYDEBUG(898, *YYCURSOR);
10304
1.84k
    yyaccept = 93;
10305
1.84k
    yych = *(YYMARKER = ++YYCURSOR);
10306
1.84k
    if (yybm[256+yych] & 128) {
10307
354
      goto yy47;
10308
354
    }
10309
1.48k
    if (yych == '\\') goto yy164;
10310
1.48k
yy899:
10311
1.48k
    YYDEBUG(899, *YYCURSOR);
10312
1.48k
    yyleng = YYCURSOR - SCNG(yy_text);
10313
1.48k
#line 2209 "Zend/zend_language_scanner.l"
10314
1.48k
    {
10315
1.48k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10316
1.48k
}
10317
0
#line 10318 "Zend/zend_language_scanner.c"
10318
1.05k
yy900:
10319
1.05k
    YYDEBUG(900, *YYCURSOR);
10320
1.05k
    yych = *++YYCURSOR;
10321
1.05k
    if (yych == 'T') goto yy841;
10322
772
    if (yych == 't') goto yy841;
10323
486
    goto yy86;
10324
72.4k
yy901:
10325
72.4k
    YYDEBUG(901, *YYCURSOR);
10326
72.4k
    ++YYCURSOR;
10327
72.4k
    YYFILL(1);
10328
72.4k
    yych = *YYCURSOR;
10329
72.4k
    if (yych <= '\r') {
10330
2.95k
      if (yych <= '\t') {
10331
1.43k
        if (yych <= 0x00) goto yy86;
10332
510
        goto yy726;
10333
1.52k
      } else {
10334
1.52k
        if (yych <= '\n') goto yy771;
10335
711
        if (yych <= '\f') goto yy726;
10336
427
        goto yy771;
10337
711
      }
10338
69.5k
    } else {
10339
69.5k
      if (yych <= '*') {
10340
2.15k
        if (yych <= ')') goto yy726;
10341
928
        goto yy773;
10342
67.3k
      } else {
10343
67.3k
        if (yych == '/') goto yy843;
10344
1.89k
        goto yy726;
10345
67.3k
      }
10346
69.5k
    }
10347
22.3k
yy902:
10348
22.3k
    YYDEBUG(902, *YYCURSOR);
10349
22.3k
    ++YYCURSOR;
10350
22.3k
    YYFILL(1);
10351
22.3k
    yych = *YYCURSOR;
10352
22.3k
    if (yych <= ')') {
10353
2.15k
      if (yych <= '\n') {
10354
1.47k
        if (yych <= 0x00) goto yy86;
10355
1.21k
        if (yych <= '\t') goto yy726;
10356
452
        goto yy771;
10357
1.21k
      } else {
10358
687
        if (yych == '\r') goto yy771;
10359
461
        goto yy726;
10360
687
      }
10361
20.1k
    } else {
10362
20.1k
      if (yych <= 'T') {
10363
1.68k
        if (yych <= '*') goto yy773;
10364
1.48k
        if (yych <= 'S') goto yy726;
10365
803
        goto yy916;
10366
18.5k
      } else {
10367
18.5k
        if (yych == 't') goto yy916;
10368
6.34k
        goto yy726;
10369
18.5k
      }
10370
20.1k
    }
10371
42.2k
yy903:
10372
42.2k
    YYDEBUG(903, *YYCURSOR);
10373
42.2k
    ++YYCURSOR;
10374
42.2k
    YYFILL(1);
10375
42.2k
    yych = *YYCURSOR;
10376
42.2k
    if (yych <= ')') {
10377
4.08k
      if (yych <= '\n') {
10378
820
        if (yych <= 0x00) goto yy86;
10379
486
        if (yych <= '\t') goto yy726;
10380
203
        goto yy771;
10381
3.26k
      } else {
10382
3.26k
        if (yych == '\r') goto yy771;
10383
2.18k
        goto yy726;
10384
3.26k
      }
10385
38.1k
    } else {
10386
38.1k
      if (yych <= 'P') {
10387
15.6k
        if (yych <= '*') goto yy773;
10388
15.4k
        if (yych <= 'O') goto yy726;
10389
7.01k
        goto yy917;
10390
22.4k
      } else {
10391
22.4k
        if (yych == 'p') goto yy917;
10392
2.61k
        goto yy726;
10393
22.4k
      }
10394
38.1k
    }
10395
3.80k
yy904:
10396
3.80k
    YYDEBUG(904, *YYCURSOR);
10397
3.80k
    ++YYCURSOR;
10398
3.80k
    YYFILL(1);
10399
3.80k
    yych = *YYCURSOR;
10400
3.80k
    if (yych <= 'M') {
10401
774
      if (yych <= 0x00) goto yy86;
10402
446
      if (yych == '*') goto yy664;
10403
219
      goto yy590;
10404
3.03k
    } else {
10405
3.03k
      if (yych <= 'N') goto yy918;
10406
2.48k
      if (yych == 'n') goto yy918;
10407
300
      goto yy590;
10408
2.48k
    }
10409
7.98k
yy905:
10410
7.98k
    YYDEBUG(905, *YYCURSOR);
10411
7.98k
    ++YYCURSOR;
10412
7.98k
    YYFILL(1);
10413
7.98k
    yych = *YYCURSOR;
10414
7.98k
    if (yych <= 'D') {
10415
695
      if (yych <= 0x00) goto yy86;
10416
484
      if (yych == '*') goto yy664;
10417
279
      goto yy590;
10418
7.28k
    } else {
10419
7.28k
      if (yych <= 'E') goto yy919;
10420
5.06k
      if (yych == 'e') goto yy919;
10421
252
      goto yy590;
10422
5.06k
    }
10423
1.53k
yy906:
10424
1.53k
    YYDEBUG(906, *YYCURSOR);
10425
1.53k
    yyaccept = 94;
10426
1.53k
    YYMARKER = ++YYCURSOR;
10427
1.53k
    YYFILL(1);
10428
1.53k
    yych = *YYCURSOR;
10429
1.53k
    if (yych <= '\n') {
10430
727
      if (yych <= 0x00) goto yy870;
10431
494
      if (yych <= '\t') goto yy586;
10432
274
      goto yy495;
10433
805
    } else {
10434
805
      if (yych == '\r') goto yy495;
10435
607
      goto yy586;
10436
805
    }
10437
11.1k
yy907:
10438
11.1k
    YYDEBUG(907, *YYCURSOR);
10439
11.1k
    ++YYCURSOR;
10440
11.1k
    YYFILL(1);
10441
11.1k
    yych = *YYCURSOR;
10442
11.1k
    if (yych <= '\r') {
10443
5.88k
      if (yych <= '\t') {
10444
5.22k
        if (yych <= 0x00) goto yy86;
10445
4.70k
        goto yy586;
10446
5.22k
      } else {
10447
664
        if (yych <= '\n') goto yy495;
10448
460
        if (yych <= '\f') goto yy586;
10449
246
        goto yy495;
10450
460
      }
10451
5.88k
    } else {
10452
5.26k
      if (yych <= 'N') {
10453
2.45k
        if (yych <= 'M') goto yy586;
10454
1.85k
        goto yy920;
10455
2.81k
      } else {
10456
2.81k
        if (yych == 'n') goto yy920;
10457
403
        goto yy586;
10458
2.81k
      }
10459
5.26k
    }
10460
1.05k
yy908:
10461
1.05k
    YYDEBUG(908, *YYCURSOR);
10462
1.05k
    yych = *++YYCURSOR;
10463
1.05k
    if (yych == ')') goto yy921;
10464
503
    goto yy86;
10465
27.5k
yy909:
10466
27.5k
    YYDEBUG(909, *YYCURSOR);
10467
27.5k
    ++YYCURSOR;
10468
27.5k
    YYFILL(1);
10469
27.5k
    yych = *YYCURSOR;
10470
27.5k
    if (yych <= '\f') {
10471
20.4k
      if (yych <= 0x00) goto yy86;
10472
20.1k
      if (yych == '\n') goto yy888;
10473
590
      goto yy792;
10474
20.1k
    } else {
10475
7.13k
      if (yych <= '\r') goto yy888;
10476
4.37k
      if (yych == '*') goto yy832;
10477
4.06k
      goto yy792;
10478
4.37k
    }
10479
150k
yy910:
10480
150k
    YYDEBUG(910, *YYCURSOR);
10481
150k
    ++YYCURSOR;
10482
150k
    YYFILL(1);
10483
150k
    yych = *YYCURSOR;
10484
150k
    if (yych <= '\f') {
10485
4.85k
      if (yych <= 0x00) goto yy86;
10486
4.38k
      if (yych == '\n') goto yy830;
10487
263
      goto yy792;
10488
145k
    } else {
10489
145k
      if (yych <= '\r') goto yy830;
10490
145k
      if (yych == '*') goto yy923;
10491
11.2k
      goto yy792;
10492
145k
    }
10493
36.1k
yy911:
10494
36.1k
    YYDEBUG(911, *YYCURSOR);
10495
36.1k
    ++YYCURSOR;
10496
36.1k
    YYFILL(1);
10497
36.1k
    yych = *YYCURSOR;
10498
36.1k
    if (yych <= ')') {
10499
2.66k
      if (yych <= '\n') {
10500
801
        if (yych <= 0x00) goto yy86;
10501
563
        if (yych <= '\t') goto yy792;
10502
306
        goto yy830;
10503
1.86k
      } else {
10504
1.86k
        if (yych == '\r') goto yy830;
10505
1.36k
        goto yy792;
10506
1.86k
      }
10507
33.4k
    } else {
10508
33.4k
      if (yych <= 'R') {
10509
20.3k
        if (yych <= '*') goto yy832;
10510
20.0k
        if (yych <= 'Q') goto yy792;
10511
18.2k
        goto yy924;
10512
20.0k
      } else {
10513
13.1k
        if (yych == 'r') goto yy924;
10514
9.55k
        goto yy792;
10515
13.1k
      }
10516
33.4k
    }
10517
8.85k
yy912:
10518
8.85k
    YYDEBUG(912, *YYCURSOR);
10519
8.85k
    ++YYCURSOR;
10520
8.85k
    YYFILL(1);
10521
8.85k
    yych = *YYCURSOR;
10522
8.85k
    if (yych <= 'L') {
10523
966
      if (yych <= 0x00) goto yy86;
10524
741
      if (yych == '*') goto yy748;
10525
482
      goto yy692;
10526
7.89k
    } else {
10527
7.89k
      if (yych <= 'M') goto yy925;
10528
1.06k
      if (yych == 'm') goto yy925;
10529
294
      goto yy692;
10530
1.06k
    }
10531
1.92k
yy913:
10532
1.92k
    YYDEBUG(913, *YYCURSOR);
10533
1.92k
    yyaccept = 4;
10534
1.92k
    yych = *(YYMARKER = ++YYCURSOR);
10535
1.92k
    if (yych == 'E') goto yy926;
10536
1.59k
    if (yych == 'e') goto yy926;
10537
251
    goto yy48;
10538
3.19k
yy914:
10539
3.19k
    YYDEBUG(914, *YYCURSOR);
10540
3.19k
    yyaccept = 95;
10541
3.19k
    yych = *(YYMARKER = ++YYCURSOR);
10542
3.19k
    if (yybm[256+yych] & 128) {
10543
313
      goto yy47;
10544
313
    }
10545
2.87k
    if (yych == '\\') goto yy164;
10546
2.87k
yy915:
10547
2.87k
    YYDEBUG(915, *YYCURSOR);
10548
2.87k
    yyleng = YYCURSOR - SCNG(yy_text);
10549
2.87k
#line 2229 "Zend/zend_language_scanner.l"
10550
2.87k
    {
10551
2.87k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10552
2.87k
}
10553
0
#line 10554 "Zend/zend_language_scanner.c"
10554
12.9k
yy916:
10555
12.9k
    YYDEBUG(916, *YYCURSOR);
10556
12.9k
    ++YYCURSOR;
10557
12.9k
    YYFILL(1);
10558
12.9k
    yych = *YYCURSOR;
10559
12.9k
    if (yych <= ')') {
10560
1.86k
      if (yych <= '\n') {
10561
1.00k
        if (yych <= 0x00) goto yy86;
10562
663
        if (yych <= '\t') goto yy726;
10563
321
        goto yy771;
10564
862
      } else {
10565
862
        if (yych == '\r') goto yy771;
10566
511
        goto yy726;
10567
862
      }
10568
11.0k
    } else {
10569
11.0k
      if (yych <= 'E') {
10570
1.13k
        if (yych <= '*') goto yy773;
10571
904
        if (yych <= 'D') goto yy726;
10572
687
        goto yy927;
10573
9.96k
      } else {
10574
9.96k
        if (yych == 'e') goto yy927;
10575
898
        goto yy726;
10576
9.96k
      }
10577
11.0k
    }
10578
26.8k
yy917:
10579
26.8k
    YYDEBUG(917, *YYCURSOR);
10580
26.8k
    ++YYCURSOR;
10581
26.8k
    YYFILL(1);
10582
26.8k
    yych = *YYCURSOR;
10583
26.8k
    if (yych <= ')') {
10584
2.16k
      if (yych <= '\n') {
10585
976
        if (yych <= 0x00) goto yy86;
10586
527
        if (yych <= '\t') goto yy726;
10587
217
        goto yy771;
10588
1.19k
      } else {
10589
1.19k
        if (yych == '\r') goto yy771;
10590
701
        goto yy726;
10591
1.19k
      }
10592
24.6k
    } else {
10593
24.6k
      if (yych <= 'L') {
10594
5.74k
        if (yych <= '*') goto yy773;
10595
5.53k
        if (yych <= 'K') goto yy726;
10596
5.28k
        goto yy928;
10597
18.9k
      } else {
10598
18.9k
        if (yych == 'l') goto yy928;
10599
589
        goto yy726;
10600
18.9k
      }
10601
24.6k
    }
10602
2.73k
yy918:
10603
2.73k
    YYDEBUG(918, *YYCURSOR);
10604
2.73k
    ++YYCURSOR;
10605
2.73k
    YYFILL(1);
10606
2.73k
    yych = *YYCURSOR;
10607
2.73k
    if (yych <= 'C') {
10608
669
      if (yych <= 0x00) goto yy86;
10609
468
      if (yych == '*') goto yy664;
10610
258
      goto yy590;
10611
2.06k
    } else {
10612
2.06k
      if (yych <= 'D') goto yy929;
10613
1.84k
      if (yych == 'd') goto yy929;
10614
425
      goto yy590;
10615
1.84k
    }
10616
7.03k
yy919:
10617
7.03k
    YYDEBUG(919, *YYCURSOR);
10618
7.03k
    ++YYCURSOR;
10619
7.03k
    YYFILL(1);
10620
7.03k
    yych = *YYCURSOR;
10621
7.03k
    if (yych <= 'L') {
10622
1.24k
      if (yych <= 0x00) goto yy86;
10623
1.04k
      if (yych == '*') goto yy664;
10624
650
      goto yy590;
10625
5.79k
    } else {
10626
5.79k
      if (yych <= 'M') goto yy930;
10627
4.33k
      if (yych == 'm') goto yy930;
10628
216
      goto yy590;
10629
4.33k
    }
10630
4.26k
yy920:
10631
4.26k
    YYDEBUG(920, *YYCURSOR);
10632
4.26k
    ++YYCURSOR;
10633
4.26k
    YYFILL(1);
10634
4.26k
    yych = *YYCURSOR;
10635
4.26k
    if (yych <= '\r') {
10636
1.24k
      if (yych <= '\t') {
10637
466
        if (yych <= 0x00) goto yy86;
10638
268
        goto yy586;
10639
780
      } else {
10640
780
        if (yych <= '\n') goto yy495;
10641
537
        if (yych <= '\f') goto yy586;
10642
329
        goto yy495;
10643
537
      }
10644
3.01k
    } else {
10645
3.01k
      if (yych <= 'T') {
10646
1.46k
        if (yych <= 'S') goto yy586;
10647
1.11k
        goto yy879;
10648
1.55k
      } else {
10649
1.55k
        if (yych == 't') goto yy879;
10650
304
        goto yy586;
10651
1.55k
      }
10652
3.01k
    }
10653
551
yy921:
10654
551
    YYDEBUG(921, *YYCURSOR);
10655
551
    ++YYCURSOR;
10656
551
    YYDEBUG(922, *YYCURSOR);
10657
551
    yyleng = YYCURSOR - SCNG(yy_text);
10658
551
#line 1734 "Zend/zend_language_scanner.l"
10659
551
    {
10660
551
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10661
551
}
10662
0
#line 10663 "Zend/zend_language_scanner.c"
10663
133k
yy923:
10664
133k
    YYDEBUG(923, *YYCURSOR);
10665
133k
    ++YYCURSOR;
10666
133k
    YYFILL(1);
10667
133k
    yych = *YYCURSOR;
10668
133k
    if (yych <= '\r') {
10669
2.68k
      if (yych <= '\t') {
10670
1.09k
        if (yych <= 0x00) goto yy86;
10671
720
        goto yy792;
10672
1.59k
      } else {
10673
1.59k
        if (yych <= '\n') goto yy830;
10674
781
        if (yych <= '\f') goto yy792;
10675
541
        goto yy830;
10676
781
      }
10677
131k
    } else {
10678
131k
      if (yych <= '*') {
10679
1.21k
        if (yych <= ')') goto yy792;
10680
845
        goto yy832;
10681
129k
      } else {
10682
129k
        if (yych == '/') goto yy888;
10683
1.52k
        goto yy792;
10684
129k
      }
10685
131k
    }
10686
21.8k
yy924:
10687
21.8k
    YYDEBUG(924, *YYCURSOR);
10688
21.8k
    ++YYCURSOR;
10689
21.8k
    YYFILL(1);
10690
21.8k
    yych = *YYCURSOR;
10691
21.8k
    if (yych <= ')') {
10692
2.20k
      if (yych <= '\n') {
10693
1.68k
        if (yych <= 0x00) goto yy86;
10694
1.43k
        if (yych <= '\t') goto yy792;
10695
366
        goto yy830;
10696
1.43k
      } else {
10697
515
        if (yych == '\r') goto yy830;
10698
286
        goto yy792;
10699
515
      }
10700
19.6k
    } else {
10701
19.6k
      if (yych <= 'O') {
10702
16.2k
        if (yych <= '*') goto yy832;
10703
16.0k
        if (yych <= 'N') goto yy792;
10704
15.7k
        goto yy931;
10705
16.0k
      } else {
10706
3.39k
        if (yych == 'o') goto yy931;
10707
651
        goto yy792;
10708
3.39k
      }
10709
19.6k
    }
10710
7.59k
yy925:
10711
7.59k
    YYDEBUG(925, *YYCURSOR);
10712
7.59k
    ++YYCURSOR;
10713
7.59k
    YYFILL(1);
10714
7.59k
    yych = *YYCURSOR;
10715
7.59k
    if (yych <= '@') {
10716
5.80k
      if (yych <= '*') {
10717
4.56k
        if (yych <= 0x00) goto yy859;
10718
4.29k
        if (yych <= ')') goto yy932;
10719
2.24k
        goto yy933;
10720
4.29k
      } else {
10721
1.24k
        if (yych <= '/') goto yy932;
10722
978
        if (yych <= '9') goto yy692;
10723
764
        goto yy932;
10724
978
      }
10725
5.80k
    } else {
10726
1.78k
      if (yych <= '_') {
10727
688
        if (yych <= 'Z') goto yy692;
10728
417
        if (yych <= '^') goto yy932;
10729
195
        goto yy692;
10730
1.10k
      } else {
10731
1.10k
        if (yych <= '`') goto yy932;
10732
807
        if (yych <= 'z') goto yy692;
10733
594
        if (yych <= 0x7F) goto yy932;
10734
201
        goto yy692;
10735
594
      }
10736
1.78k
    }
10737
1.66k
yy926:
10738
1.66k
    YYDEBUG(926, *YYCURSOR);
10739
1.66k
    yyaccept = 4;
10740
1.66k
    yych = *(YYMARKER = ++YYCURSOR);
10741
1.66k
    if (yych == 'R') goto yy934;
10742
1.34k
    if (yych == 'r') goto yy934;
10743
315
    goto yy48;
10744
9.74k
yy927:
10745
9.74k
    YYDEBUG(927, *YYCURSOR);
10746
9.74k
    ++YYCURSOR;
10747
9.74k
    YYFILL(1);
10748
9.74k
    yych = *YYCURSOR;
10749
9.74k
    if (yych <= ')') {
10750
1.52k
      if (yych <= '\n') {
10751
631
        if (yych <= 0x00) goto yy86;
10752
428
        if (yych <= '\t') goto yy726;
10753
200
        goto yy771;
10754
897
      } else {
10755
897
        if (yych == '\r') goto yy771;
10756
512
        goto yy726;
10757
897
      }
10758
8.22k
    } else {
10759
8.22k
      if (yych <= 'N') {
10760
1.88k
        if (yych <= '*') goto yy773;
10761
1.04k
        if (yych <= 'M') goto yy726;
10762
788
        goto yy936;
10763
6.33k
      } else {
10764
6.33k
        if (yych == 'n') goto yy936;
10765
916
        goto yy726;
10766
6.33k
      }
10767
8.22k
    }
10768
23.6k
yy928:
10769
23.6k
    YYDEBUG(928, *YYCURSOR);
10770
23.6k
    ++YYCURSOR;
10771
23.6k
    YYFILL(1);
10772
23.6k
    yych = *YYCURSOR;
10773
23.6k
    if (yych <= ')') {
10774
2.11k
      if (yych <= '\n') {
10775
1.22k
        if (yych <= 0x00) goto yy86;
10776
868
        if (yych <= '\t') goto yy726;
10777
582
        goto yy771;
10778
886
      } else {
10779
886
        if (yych == '\r') goto yy771;
10780
565
        goto yy726;
10781
886
      }
10782
21.4k
    } else {
10783
21.4k
      if (yych <= 'E') {
10784
5.71k
        if (yych <= '*') goto yy773;
10785
5.51k
        if (yych <= 'D') goto yy726;
10786
5.24k
        goto yy937;
10787
15.7k
      } else {
10788
15.7k
        if (yych == 'e') goto yy937;
10789
759
        goto yy726;
10790
15.7k
      }
10791
21.4k
    }
10792
3.09k
yy929:
10793
3.09k
    YYDEBUG(929, *YYCURSOR);
10794
3.09k
    ++YYCURSOR;
10795
3.09k
    YYFILL(1);
10796
3.09k
    yych = *YYCURSOR;
10797
3.09k
    if (yych <= 'R') {
10798
1.25k
      if (yych <= 0x00) goto yy86;
10799
1.04k
      if (yych == '*') goto yy664;
10800
835
      goto yy590;
10801
1.84k
    } else {
10802
1.84k
      if (yych <= 'S') goto yy938;
10803
1.59k
      if (yych == 's') goto yy938;
10804
783
      goto yy590;
10805
1.59k
    }
10806
5.57k
yy930:
10807
5.57k
    YYDEBUG(930, *YYCURSOR);
10808
5.57k
    ++YYCURSOR;
10809
5.57k
    YYFILL(1);
10810
5.57k
    yych = *YYCURSOR;
10811
5.57k
    if (yych <= 'D') {
10812
793
      if (yych <= 0x00) goto yy86;
10813
510
      if (yych == '*') goto yy664;
10814
208
      goto yy590;
10815
4.78k
    } else {
10816
4.78k
      if (yych <= 'E') goto yy939;
10817
3.69k
      if (yych == 'e') goto yy939;
10818
371
      goto yy590;
10819
3.69k
    }
10820
18.4k
yy931:
10821
18.4k
    YYDEBUG(931, *YYCURSOR);
10822
18.4k
    ++YYCURSOR;
10823
18.4k
    YYFILL(1);
10824
18.4k
    yych = *YYCURSOR;
10825
18.4k
    if (yych <= ')') {
10826
1.57k
      if (yych <= '\n') {
10827
975
        if (yych <= 0x00) goto yy86;
10828
760
        if (yych <= '\t') goto yy792;
10829
367
        goto yy830;
10830
760
      } else {
10831
596
        if (yych == '\r') goto yy830;
10832
372
        goto yy792;
10833
596
      }
10834
16.9k
    } else {
10835
16.9k
      if (yych <= 'M') {
10836
12.9k
        if (yych <= '*') goto yy832;
10837
12.7k
        if (yych <= 'L') goto yy792;
10838
12.3k
        goto yy940;
10839
12.7k
      } else {
10840
3.93k
        if (yych == 'm') goto yy940;
10841
760
        goto yy792;
10842
3.93k
      }
10843
16.9k
    }
10844
3.98k
yy932:
10845
3.98k
    YYDEBUG(932, *YYCURSOR);
10846
3.98k
    yyaccept = 91;
10847
3.98k
    YYMARKER = ++YYCURSOR;
10848
3.98k
    YYFILL(1);
10849
3.98k
    yych = *YYCURSOR;
10850
3.98k
    if (yych <= 0x00) goto yy860;
10851
2.16k
    if (yych == '*') goto yy748;
10852
1.90k
    goto yy692;
10853
2.24k
yy933:
10854
2.24k
    YYDEBUG(933, *YYCURSOR);
10855
2.24k
    yyaccept = 91;
10856
2.24k
    YYMARKER = ++YYCURSOR;
10857
2.24k
    YYFILL(1);
10858
2.24k
    yych = *YYCURSOR;
10859
2.24k
    if (yych <= '*') {
10860
1.63k
      if (yych <= 0x00) goto yy860;
10861
1.15k
      if (yych <= ')') goto yy692;
10862
201
      goto yy748;
10863
1.15k
    } else {
10864
611
      if (yych == '/') goto yy616;
10865
359
      goto yy692;
10866
611
    }
10867
1.35k
yy934:
10868
1.35k
    YYDEBUG(934, *YYCURSOR);
10869
1.35k
    yyaccept = 96;
10870
1.35k
    yych = *(YYMARKER = ++YYCURSOR);
10871
1.35k
    if (yybm[256+yych] & 128) {
10872
506
      goto yy47;
10873
506
    }
10874
848
    if (yych == '\\') goto yy164;
10875
717
yy935:
10876
717
    YYDEBUG(935, *YYCURSOR);
10877
717
    yyleng = YYCURSOR - SCNG(yy_text);
10878
717
#line 1706 "Zend/zend_language_scanner.l"
10879
717
    {
10880
717
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
10881
717
}
10882
0
#line 10883 "Zend/zend_language_scanner.c"
10883
6.20k
yy936:
10884
6.20k
    YYDEBUG(936, *YYCURSOR);
10885
6.20k
    ++YYCURSOR;
10886
6.20k
    YYFILL(1);
10887
6.20k
    yych = *YYCURSOR;
10888
6.20k
    if (yych <= ')') {
10889
1.07k
      if (yych <= '\n') {
10890
621
        if (yych <= 0x00) goto yy86;
10891
422
        if (yych <= '\t') goto yy726;
10892
205
        goto yy771;
10893
453
      } else {
10894
453
        if (yych == '\r') goto yy771;
10895
245
        goto yy726;
10896
453
      }
10897
5.13k
    } else {
10898
5.13k
      if (yych <= 'D') {
10899
1.37k
        if (yych <= '*') goto yy773;
10900
1.01k
        if (yych <= 'C') goto yy726;
10901
684
        goto yy941;
10902
3.75k
      } else {
10903
3.75k
        if (yych == 'd') goto yy941;
10904
876
        goto yy726;
10905
3.75k
      }
10906
5.13k
    }
10907
20.2k
yy937:
10908
20.2k
    YYDEBUG(937, *YYCURSOR);
10909
20.2k
    ++YYCURSOR;
10910
20.2k
    YYFILL(1);
10911
20.2k
    yych = *YYCURSOR;
10912
20.2k
    if (yych <= ')') {
10913
7.80k
      if (yych <= '\n') {
10914
5.26k
        if (yych <= 0x00) goto yy86;
10915
4.96k
        if (yych <= '\t') goto yy726;
10916
4.76k
        goto yy771;
10917
4.96k
      } else {
10918
2.53k
        if (yych == '\r') goto yy771;
10919
1.82k
        goto yy726;
10920
2.53k
      }
10921
12.4k
    } else {
10922
12.4k
      if (yych <= 'M') {
10923
8.15k
        if (yych <= '*') goto yy773;
10924
7.13k
        if (yych <= 'L') goto yy726;
10925
6.66k
        goto yy942;
10926
7.13k
      } else {
10927
4.30k
        if (yych == 'm') goto yy942;
10928
921
        goto yy726;
10929
4.30k
      }
10930
12.4k
    }
10931
1.05k
yy938:
10932
1.05k
    YYDEBUG(938, *YYCURSOR);
10933
1.05k
    yyaccept = 94;
10934
1.05k
    YYMARKER = ++YYCURSOR;
10935
1.05k
    YYFILL(1);
10936
1.05k
    yych = *YYCURSOR;
10937
1.05k
    if (yych <= 0x00) goto yy870;
10938
709
    if (yych == '*') goto yy664;
10939
489
    goto yy590;
10940
4.41k
yy939:
10941
4.41k
    YYDEBUG(939, *YYCURSOR);
10942
4.41k
    ++YYCURSOR;
10943
4.41k
    YYFILL(1);
10944
4.41k
    yych = *YYCURSOR;
10945
4.41k
    if (yych <= 'M') {
10946
845
      if (yych <= 0x00) goto yy86;
10947
584
      if (yych == '*') goto yy664;
10948
258
      goto yy590;
10949
3.56k
    } else {
10950
3.56k
      if (yych <= 'N') goto yy943;
10951
2.30k
      if (yych == 'n') goto yy943;
10952
258
      goto yy590;
10953
2.30k
    }
10954
15.5k
yy940:
10955
15.5k
    YYDEBUG(940, *YYCURSOR);
10956
15.5k
    ++YYCURSOR;
10957
15.5k
    YYFILL(1);
10958
15.5k
    yych = *YYCURSOR;
10959
15.5k
    if (yych <= '/') {
10960
9.68k
      if (yych <= '\f') {
10961
5.50k
        if (yych <= 0x00) goto yy859;
10962
5.27k
        if (yych == '\n') goto yy945;
10963
632
        goto yy944;
10964
5.27k
      } else {
10965
4.18k
        if (yych <= '\r') goto yy945;
10966
3.12k
        if (yych == '*') goto yy946;
10967
422
        goto yy944;
10968
3.12k
      }
10969
9.68k
    } else {
10970
5.87k
      if (yych <= '^') {
10971
2.19k
        if (yych <= '9') goto yy792;
10972
1.90k
        if (yych <= '@') goto yy944;
10973
1.51k
        if (yych <= 'Z') goto yy792;
10974
882
        goto yy944;
10975
3.68k
      } else {
10976
3.68k
        if (yych <= '`') {
10977
673
          if (yych <= '_') goto yy792;
10978
476
          goto yy944;
10979
3.01k
        } else {
10980
3.01k
          if (yych <= 'z') goto yy792;
10981
2.20k
          if (yych <= 0x7F) goto yy944;
10982
1.11k
          goto yy792;
10983
2.20k
        }
10984
3.68k
      }
10985
5.87k
    }
10986
4.13k
yy941:
10987
4.13k
    YYDEBUG(941, *YYCURSOR);
10988
4.13k
    ++YYCURSOR;
10989
4.13k
    YYFILL(1);
10990
4.13k
    yych = *YYCURSOR;
10991
4.13k
    if (yych <= ')') {
10992
1.11k
      if (yych <= '\n') {
10993
633
        if (yych <= 0x00) goto yy86;
10994
432
        if (yych <= '\t') goto yy726;
10995
199
        goto yy771;
10996
483
      } else {
10997
483
        if (yych == '\r') goto yy771;
10998
243
        goto yy726;
10999
483
      }
11000
3.01k
    } else {
11001
3.01k
      if (yych <= 'S') {
11002
1.15k
        if (yych <= '*') goto yy773;
11003
957
        if (yych <= 'R') goto yy726;
11004
744
        goto yy947;
11005
1.85k
      } else {
11006
1.85k
        if (yych == 's') goto yy947;
11007
505
        goto yy726;
11008
1.85k
      }
11009
3.01k
    }
11010
10.0k
yy942:
11011
10.0k
    YYDEBUG(942, *YYCURSOR);
11012
10.0k
    ++YYCURSOR;
11013
10.0k
    YYFILL(1);
11014
10.0k
    yych = *YYCURSOR;
11015
10.0k
    if (yych <= ')') {
11016
1.70k
      if (yych <= '\n') {
11017
1.28k
        if (yych <= 0x00) goto yy86;
11018
1.02k
        if (yych <= '\t') goto yy726;
11019
751
        goto yy771;
11020
1.02k
      } else {
11021
415
        if (yych == '\r') goto yy771;
11022
210
        goto yy726;
11023
415
      }
11024
8.34k
    } else {
11025
8.34k
      if (yych <= 'E') {
11026
3.70k
        if (yych <= '*') goto yy773;
11027
3.48k
        if (yych <= 'D') goto yy726;
11028
3.24k
        goto yy948;
11029
4.64k
      } else {
11030
4.64k
        if (yych == 'e') goto yy948;
11031
235
        goto yy726;
11032
4.64k
      }
11033
8.34k
    }
11034
3.30k
yy943:
11035
3.30k
    YYDEBUG(943, *YYCURSOR);
11036
3.30k
    ++YYCURSOR;
11037
3.30k
    YYFILL(1);
11038
3.30k
    yych = *YYCURSOR;
11039
3.30k
    if (yych <= 'S') {
11040
1.42k
      if (yych <= 0x00) goto yy86;
11041
1.02k
      if (yych == '*') goto yy664;
11042
811
      goto yy590;
11043
1.88k
    } else {
11044
1.88k
      if (yych <= 'T') goto yy929;
11045
1.25k
      if (yych == 't') goto yy929;
11046
427
      goto yy590;
11047
1.25k
    }
11048
3.89k
yy944:
11049
3.89k
    YYDEBUG(944, *YYCURSOR);
11050
3.89k
    yyaccept = 91;
11051
3.89k
    YYMARKER = ++YYCURSOR;
11052
3.89k
    YYFILL(1);
11053
3.89k
    yych = *YYCURSOR;
11054
3.89k
    if (yych <= '\f') {
11055
1.39k
      if (yych <= 0x00) goto yy860;
11056
1.15k
      if (yych == '\n') goto yy830;
11057
708
      goto yy792;
11058
2.50k
    } else {
11059
2.50k
      if (yych <= '\r') goto yy830;
11060
2.01k
      if (yych == '*') goto yy832;
11061
1.42k
      goto yy792;
11062
2.01k
    }
11063
5.70k
yy945:
11064
5.70k
    YYDEBUG(945, *YYCURSOR);
11065
5.70k
    yyaccept = 91;
11066
5.70k
    YYMARKER = ++YYCURSOR;
11067
5.70k
    YYFILL(1);
11068
5.70k
    yych = *YYCURSOR;
11069
5.70k
    if (yych <= '#') {
11070
3.65k
      if (yych <= '\f') {
11071
977
        if (yych <= 0x00) goto yy860;
11072
781
        if (yych <= 0x08) goto yy692;
11073
425
        if (yych <= '\n') goto yy830;
11074
231
        goto yy692;
11075
2.67k
      } else {
11076
2.67k
        if (yych <= 0x1F) {
11077
644
          if (yych <= '\r') goto yy830;
11078
219
          goto yy692;
11079
2.02k
        } else {
11080
2.02k
          if (yych <= ' ') goto yy830;
11081
1.52k
          if (yych <= '"') goto yy692;
11082
1.29k
          goto yy861;
11083
1.52k
        }
11084
2.67k
      }
11085
3.65k
    } else {
11086
2.05k
      if (yych <= '/') {
11087
800
        if (yych == '*') goto yy748;
11088
542
        if (yych <= '.') goto yy692;
11089
194
        goto yy862;
11090
1.25k
      } else {
11091
1.25k
        if (yych <= 'F') {
11092
735
          if (yych <= 'E') goto yy692;
11093
469
          goto yy863;
11094
735
        } else {
11095
515
          if (yych == 'f') goto yy863;
11096
307
          goto yy692;
11097
515
        }
11098
1.25k
      }
11099
2.05k
    }
11100
2.70k
yy946:
11101
2.70k
    YYDEBUG(946, *YYCURSOR);
11102
2.70k
    yyaccept = 91;
11103
2.70k
    YYMARKER = ++YYCURSOR;
11104
2.70k
    YYFILL(1);
11105
2.70k
    yych = *YYCURSOR;
11106
2.70k
    if (yych <= '\r') {
11107
1.70k
      if (yych <= '\t') {
11108
999
        if (yych <= 0x00) goto yy860;
11109
317
        goto yy792;
11110
999
      } else {
11111
709
        if (yych <= '\n') goto yy830;
11112
502
        if (yych <= '\f') goto yy792;
11113
303
        goto yy830;
11114
502
      }
11115
1.70k
    } else {
11116
992
      if (yych <= '*') {
11117
577
        if (yych <= ')') goto yy792;
11118
298
        goto yy832;
11119
577
      } else {
11120
415
        if (yych == '/') goto yy690;
11121
211
        goto yy792;
11122
415
      }
11123
992
    }
11124
2.09k
yy947:
11125
2.09k
    YYDEBUG(947, *YYCURSOR);
11126
2.09k
    yyaccept = 94;
11127
2.09k
    YYMARKER = ++YYCURSOR;
11128
2.09k
    YYFILL(1);
11129
2.09k
    yych = *YYCURSOR;
11130
2.09k
    if (yych <= '\f') {
11131
705
      if (yych <= 0x00) goto yy870;
11132
439
      if (yych == '\n') goto yy771;
11133
199
      goto yy726;
11134
1.39k
    } else {
11135
1.39k
      if (yych <= '\r') goto yy771;
11136
1.18k
      if (yych == '*') goto yy773;
11137
968
      goto yy726;
11138
1.18k
    }
11139
7.65k
yy948:
11140
7.65k
    YYDEBUG(948, *YYCURSOR);
11141
7.65k
    ++YYCURSOR;
11142
7.65k
    YYFILL(1);
11143
7.65k
    yych = *YYCURSOR;
11144
7.65k
    if (yych <= ')') {
11145
3.74k
      if (yych <= '\n') {
11146
3.00k
        if (yych <= 0x00) goto yy86;
11147
2.79k
        if (yych <= '\t') goto yy726;
11148
215
        goto yy771;
11149
2.79k
      } else {
11150
740
        if (yych == '\r') goto yy771;
11151
534
        goto yy726;
11152
740
      }
11153
3.91k
    } else {
11154
3.91k
      if (yych <= 'N') {
11155
2.67k
        if (yych <= '*') goto yy773;
11156
2.46k
        if (yych <= 'M') goto yy726;
11157
2.46k
      } else {
11158
1.23k
        if (yych != 'n') goto yy726;
11159
1.23k
      }
11160
3.91k
    }
11161
2.95k
    YYDEBUG(949, *YYCURSOR);
11162
2.95k
    ++YYCURSOR;
11163
2.95k
    YYFILL(1);
11164
2.95k
    yych = *YYCURSOR;
11165
2.95k
    if (yych <= ')') {
11166
1.50k
      if (yych <= '\n') {
11167
638
        if (yych <= 0x00) goto yy86;
11168
404
        if (yych <= '\t') goto yy726;
11169
198
        goto yy771;
11170
864
      } else {
11171
864
        if (yych == '\r') goto yy771;
11172
233
        goto yy726;
11173
864
      }
11174
1.50k
    } else {
11175
1.44k
      if (yych <= 'T') {
11176
748
        if (yych <= '*') goto yy773;
11177
548
        if (yych <= 'S') goto yy726;
11178
268
        goto yy941;
11179
700
      } else {
11180
700
        if (yych == 't') goto yy941;
11181
401
        goto yy726;
11182
700
      }
11183
1.44k
    }
11184
2.95k
  }
11185
/* *********************************** */
11186
604k
yyc_ST_LOOKING_FOR_PROPERTY:
11187
604k
  {
11188
604k
    static const unsigned char yybm[] = {
11189
604k
        0,   0,   0,   0,   0,   0,   0,   0, 
11190
604k
        0,  64,  64,   0,   0,  64,   0,   0, 
11191
604k
        0,   0,   0,   0,   0,   0,   0,   0, 
11192
604k
        0,   0,   0,   0,   0,   0,   0,   0, 
11193
604k
       64,   0,   0,   0,   0,   0,   0,   0, 
11194
604k
        0,   0,   0,   0,   0,   0,   0,   0, 
11195
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11196
604k
      128, 128,   0,   0,   0,   0,   0,   0, 
11197
604k
        0, 128, 128, 128, 128, 128, 128, 128, 
11198
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11199
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11200
604k
      128, 128, 128,   0,   0,   0,   0, 128, 
11201
604k
        0, 128, 128, 128, 128, 128, 128, 128, 
11202
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11203
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11204
604k
      128, 128, 128,   0,   0,   0,   0,   0, 
11205
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11206
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11207
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11208
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11209
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11210
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11211
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11212
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11213
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11214
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11215
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11216
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11217
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11218
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11219
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11220
604k
      128, 128, 128, 128, 128, 128, 128, 128, 
11221
604k
    };
11222
604k
    YYDEBUG(950, *YYCURSOR);
11223
604k
    YYFILL(4);
11224
604k
    yych = *YYCURSOR;
11225
604k
    if (yybm[0+yych] & 64) {
11226
7.24k
      goto yy954;
11227
7.24k
    }
11228
597k
    if (yych <= '?') {
11229
216k
      if (yych <= '-') {
11230
77.4k
        if (yych == '#') goto yy957;
11231
72.7k
        if (yych >= '-') goto yy959;
11232
138k
      } else {
11233
138k
        if (yych == '/') goto yy960;
11234
131k
        if (yych >= '?') goto yy961;
11235
131k
      }
11236
380k
    } else {
11237
380k
      if (yych <= '_') {
11238
48.3k
        if (yych <= '@') goto yy952;
11239
48.0k
        if (yych <= 'Z') goto yy962;
11240
28.7k
        if (yych >= '_') goto yy962;
11241
332k
      } else {
11242
332k
        if (yych <= '`') goto yy952;
11243
331k
        if (yych <= 'z') goto yy962;
11244
20.8k
        if (yych >= 0x80) goto yy962;
11245
20.8k
      }
11246
380k
    }
11247
42.9k
yy952:
11248
42.9k
    YYDEBUG(952, *YYCURSOR);
11249
42.9k
    ++YYCURSOR;
11250
45.9k
yy953:
11251
45.9k
    YYDEBUG(953, *YYCURSOR);
11252
45.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11253
45.9k
#line 2464 "Zend/zend_language_scanner.l"
11254
45.9k
    {
11255
45.9k
  yyless(0);
11256
45.9k
  yy_pop_state();
11257
45.9k
  goto restart;
11258
42.9k
}
11259
0
#line 11260 "Zend/zend_language_scanner.c"
11260
11.6k
yy954:
11261
11.6k
    YYDEBUG(954, *YYCURSOR);
11262
11.6k
    ++YYCURSOR;
11263
11.6k
    YYFILL(1);
11264
11.6k
    yych = *YYCURSOR;
11265
11.6k
    YYDEBUG(955, *YYCURSOR);
11266
11.6k
    if (yybm[0+yych] & 64) {
11267
4.42k
      goto yy954;
11268
4.42k
    }
11269
7.24k
    YYDEBUG(956, *YYCURSOR);
11270
7.24k
    yyleng = YYCURSOR - SCNG(yy_text);
11271
7.24k
#line 1581 "Zend/zend_language_scanner.l"
11272
7.24k
    {
11273
7.24k
  goto return_whitespace;
11274
11.6k
}
11275
0
#line 11276 "Zend/zend_language_scanner.c"
11276
5.89k
yy957:
11277
5.89k
    YYDEBUG(957, *YYCURSOR);
11278
5.89k
    ++YYCURSOR;
11279
5.89k
    YYDEBUG(958, *YYCURSOR);
11280
5.89k
    yyleng = YYCURSOR - SCNG(yy_text);
11281
5.89k
#line 2404 "Zend/zend_language_scanner.l"
11282
5.89k
    {
11283
164k
  while (YYCURSOR < YYLIMIT) {
11284
164k
    switch (*YYCURSOR++) {
11285
676
      case '\r':
11286
5.03k
      case '\n':
11287
5.03k
        YYCURSOR--;
11288
5.03k
        break;
11289
1.84k
      case '?':
11290
1.84k
        if (*YYCURSOR == '>') {
11291
309
          YYCURSOR--;
11292
309
          break;
11293
309
        }
11294
1.53k
        ZEND_FALLTHROUGH;
11295
158k
      default:
11296
158k
        continue;
11297
164k
    }
11298
11299
5.34k
    break;
11300
164k
  }
11301
11302
5.89k
  yyleng = YYCURSOR - SCNG(yy_text);
11303
5.89k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11304
5.89k
}
11305
0
#line 11306 "Zend/zend_language_scanner.c"
11306
56.7k
yy959:
11307
56.7k
    YYDEBUG(959, *YYCURSOR);
11308
56.7k
    yych = *++YYCURSOR;
11309
56.7k
    if (yych == '>') goto yy965;
11310
582
    goto yy953;
11311
7.53k
yy960:
11312
7.53k
    YYDEBUG(960, *YYCURSOR);
11313
7.53k
    yych = *++YYCURSOR;
11314
7.53k
    if (yych == '*') goto yy967;
11315
1.79k
    if (yych == '/') goto yy957;
11316
546
    goto yy953;
11317
128k
yy961:
11318
128k
    YYDEBUG(961, *YYCURSOR);
11319
128k
    yyaccept = 0;
11320
128k
    yych = *(YYMARKER = ++YYCURSOR);
11321
128k
    if (yych == '-') goto yy969;
11322
1.59k
    goto yy953;
11323
1.49M
yy962:
11324
1.49M
    YYDEBUG(962, *YYCURSOR);
11325
1.49M
    ++YYCURSOR;
11326
1.49M
    YYFILL(1);
11327
1.49M
    yych = *YYCURSOR;
11328
1.49M
    YYDEBUG(963, *YYCURSOR);
11329
1.49M
    if (yybm[0+yych] & 128) {
11330
1.14M
      goto yy962;
11331
1.14M
    }
11332
356k
    YYDEBUG(964, *YYCURSOR);
11333
356k
    yyleng = YYCURSOR - SCNG(yy_text);
11334
356k
#line 1593 "Zend/zend_language_scanner.l"
11335
356k
    {
11336
356k
  yy_pop_state();
11337
356k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11338
356k
}
11339
0
#line 11340 "Zend/zend_language_scanner.c"
11340
56.1k
yy965:
11341
56.1k
    YYDEBUG(965, *YYCURSOR);
11342
56.1k
    ++YYCURSOR;
11343
56.1k
    YYDEBUG(966, *YYCURSOR);
11344
56.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11345
56.1k
#line 1585 "Zend/zend_language_scanner.l"
11346
56.1k
    {
11347
56.1k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11348
56.1k
}
11349
0
#line 11350 "Zend/zend_language_scanner.c"
11350
5.74k
yy967:
11351
5.74k
    YYDEBUG(967, *YYCURSOR);
11352
5.74k
    yyaccept = 1;
11353
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
11354
5.74k
    if (yych == '*') goto yy971;
11355
5.74k
yy968:
11356
5.74k
    YYDEBUG(968, *YYCURSOR);
11357
5.74k
    yyleng = YYCURSOR - SCNG(yy_text);
11358
5.74k
#line 2428 "Zend/zend_language_scanner.l"
11359
5.74k
    {
11360
5.74k
  int doc_com;
11361
11362
5.74k
  if (yyleng > 2) {
11363
2.98k
    doc_com = 1;
11364
2.98k
    RESET_DOC_COMMENT();
11365
2.98k
  } else {
11366
2.76k
    doc_com = 0;
11367
2.76k
  }
11368
11369
542k
  while (YYCURSOR < YYLIMIT) {
11370
540k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11371
3.99k
      break;
11372
3.99k
    }
11373
540k
  }
11374
11375
5.74k
  if (YYCURSOR < YYLIMIT) {
11376
3.99k
    YYCURSOR++;
11377
3.99k
  } else {
11378
1.75k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
11379
1.75k
    if (PARSER_MODE()) {
11380
88
      RETURN_TOKEN(T_ERROR);
11381
88
    }
11382
1.75k
  }
11383
11384
5.65k
  yyleng = YYCURSOR - SCNG(yy_text);
11385
5.65k
  HANDLE_NEWLINES(yytext, yyleng);
11386
11387
5.65k
  if (doc_com) {
11388
2.94k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11389
2.94k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11390
2.94k
  }
11391
11392
2.71k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11393
2.71k
}
11394
0
#line 11395 "Zend/zend_language_scanner.c"
11395
126k
yy969:
11396
126k
    YYDEBUG(969, *YYCURSOR);
11397
126k
    yych = *++YYCURSOR;
11398
126k
    if (yych == '>') goto yy972;
11399
1.66k
yy970:
11400
1.66k
    YYDEBUG(970, *YYCURSOR);
11401
1.66k
    YYCURSOR = YYMARKER;
11402
1.66k
    if (yyaccept == 0) {
11403
222
      goto yy953;
11404
1.44k
    } else {
11405
1.44k
      goto yy968;
11406
1.44k
    }
11407
4.42k
yy971:
11408
4.42k
    YYDEBUG(971, *YYCURSOR);
11409
4.42k
    yych = *++YYCURSOR;
11410
4.42k
    if (yych <= '\f') {
11411
1.76k
      if (yych <= 0x08) goto yy970;
11412
1.51k
      if (yych <= '\n') goto yy974;
11413
198
      goto yy970;
11414
2.66k
    } else {
11415
2.66k
      if (yych <= '\r') goto yy974;
11416
1.95k
      if (yych == ' ') goto yy974;
11417
1.00k
      goto yy970;
11418
1.95k
    }
11419
126k
yy972:
11420
126k
    YYDEBUG(972, *YYCURSOR);
11421
126k
    ++YYCURSOR;
11422
126k
    YYDEBUG(973, *YYCURSOR);
11423
126k
    yyleng = YYCURSOR - SCNG(yy_text);
11424
126k
#line 1589 "Zend/zend_language_scanner.l"
11425
126k
    {
11426
126k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11427
126k
}
11428
0
#line 11429 "Zend/zend_language_scanner.c"
11429
4.35k
yy974:
11430
4.35k
    YYDEBUG(974, *YYCURSOR);
11431
4.35k
    ++YYCURSOR;
11432
4.35k
    YYFILL(1);
11433
4.35k
    yych = *YYCURSOR;
11434
4.35k
    YYDEBUG(975, *YYCURSOR);
11435
4.35k
    if (yych <= '\f') {
11436
1.45k
      if (yych <= 0x08) goto yy968;
11437
703
      if (yych <= '\n') goto yy974;
11438
208
      goto yy968;
11439
2.90k
    } else {
11440
2.90k
      if (yych <= '\r') goto yy974;
11441
2.61k
      if (yych == ' ') goto yy974;
11442
2.02k
      goto yy968;
11443
2.61k
    }
11444
4.35k
  }
11445
/* *********************************** */
11446
367k
yyc_ST_BACKQUOTE:
11447
367k
  {
11448
367k
    static const unsigned char yybm[] = {
11449
367k
        0,   0,   0,   0,   0,   0,   0,   0, 
11450
367k
        0,   0,   0,   0,   0,   0,   0,   0, 
11451
367k
        0,   0,   0,   0,   0,   0,   0,   0, 
11452
367k
        0,   0,   0,   0,   0,   0,   0,   0, 
11453
367k
        0,   0,   0,   0,   0,   0,   0,   0, 
11454
367k
        0,   0,   0,   0,   0,   0,   0,   0, 
11455
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11456
367k
      128, 128,   0,   0,   0,   0,   0,   0, 
11457
367k
        0, 128, 128, 128, 128, 128, 128, 128, 
11458
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11459
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11460
367k
      128, 128, 128,   0,   0,   0,   0, 128, 
11461
367k
        0, 128, 128, 128, 128, 128, 128, 128, 
11462
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11463
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11464
367k
      128, 128, 128,   0,   0,   0,   0,   0, 
11465
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11466
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11467
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11468
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11469
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11470
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11471
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11472
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11473
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11474
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11475
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11476
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11477
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11478
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11479
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11480
367k
      128, 128, 128, 128, 128, 128, 128, 128, 
11481
367k
    };
11482
367k
    YYDEBUG(976, *YYCURSOR);
11483
367k
    YYFILL(2);
11484
367k
    yych = *YYCURSOR;
11485
367k
    if (yych <= '_') {
11486
300k
      if (yych == '$') goto yy980;
11487
300k
    } else {
11488
67.1k
      if (yych <= '`') goto yy981;
11489
22.2k
      if (yych == '{') goto yy983;
11490
22.2k
    }
11491
166k
    YYDEBUG(978, *YYCURSOR);
11492
166k
    ++YYCURSOR;
11493
174k
yy979:
11494
174k
    YYDEBUG(979, *YYCURSOR);
11495
174k
    yyleng = YYCURSOR - SCNG(yy_text);
11496
174k
#line 2861 "Zend/zend_language_scanner.l"
11497
174k
    {
11498
174k
  if (YYCURSOR > YYLIMIT) {
11499
8.78k
    RETURN_END_TOKEN;
11500
8.78k
  }
11501
166k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11502
2.50k
    YYCURSOR++;
11503
2.50k
  }
11504
11505
7.01M
  while (YYCURSOR < YYLIMIT) {
11506
7.00M
    switch (*YYCURSOR++) {
11507
20.1k
      case '`':
11508
20.1k
        break;
11509
167k
      case '$':
11510
167k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11511
135k
          break;
11512
135k
        }
11513
32.4k
        continue;
11514
35.4k
      case '{':
11515
35.4k
        if (*YYCURSOR == '$') {
11516
2.56k
          break;
11517
2.56k
        }
11518
32.8k
        continue;
11519
57.7k
      case '\\':
11520
57.7k
        if (YYCURSOR < YYLIMIT) {
11521
56.9k
          YYCURSOR++;
11522
56.9k
        }
11523
57.7k
        ZEND_FALLTHROUGH;
11524
6.78M
      default:
11525
6.78M
        continue;
11526
7.00M
    }
11527
11528
157k
    YYCURSOR--;
11529
157k
    break;
11530
7.00M
  }
11531
11532
166k
  yyleng = YYCURSOR - SCNG(yy_text);
11533
11534
166k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11535
166k
   || !PARSER_MODE()) {
11536
166k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11537
166k
  } else {
11538
10
    RETURN_TOKEN(T_ERROR);
11539
10
  }
11540
166k
}
11541
0
#line 11542 "Zend/zend_language_scanner.c"
11542
152k
yy980:
11543
152k
    YYDEBUG(980, *YYCURSOR);
11544
152k
    yych = *++YYCURSOR;
11545
152k
    if (yych <= '_') {
11546
14.9k
      if (yych <= '@') goto yy979;
11547
12.4k
      if (yych <= 'Z') goto yy984;
11548
6.30k
      if (yych <= '^') goto yy979;
11549
3.06k
      goto yy984;
11550
137k
    } else {
11551
137k
      if (yych <= 'z') {
11552
96.4k
        if (yych <= '`') goto yy979;
11553
95.9k
        goto yy984;
11554
96.4k
      } else {
11555
40.8k
        if (yych <= '{') goto yy987;
11556
10.5k
        if (yych <= 0x7F) goto yy979;
11557
10.1k
        goto yy984;
11558
10.5k
      }
11559
137k
    }
11560
44.8k
yy981:
11561
44.8k
    YYDEBUG(981, *YYCURSOR);
11562
44.8k
    ++YYCURSOR;
11563
44.8k
    YYDEBUG(982, *YYCURSOR);
11564
44.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11565
44.8k
#line 2801 "Zend/zend_language_scanner.l"
11566
44.8k
    {
11567
44.8k
  BEGIN(ST_IN_SCRIPTING);
11568
44.8k
  RETURN_TOKEN('`');
11569
44.8k
}
11570
0
#line 11571 "Zend/zend_language_scanner.c"
11571
4.28k
yy983:
11572
4.28k
    YYDEBUG(983, *YYCURSOR);
11573
4.28k
    yych = *++YYCURSOR;
11574
4.28k
    if (yych == '$') goto yy989;
11575
1.69k
    goto yy979;
11576
382k
yy984:
11577
382k
    YYDEBUG(984, *YYCURSOR);
11578
382k
    YYMARKER = ++YYCURSOR;
11579
382k
    YYFILL(4);
11580
382k
    yych = *YYCURSOR;
11581
382k
    YYDEBUG(985, *YYCURSOR);
11582
382k
    if (yybm[0+yych] & 128) {
11583
267k
      goto yy984;
11584
267k
    }
11585
115k
    if (yych <= '>') {
11586
75.0k
      if (yych == '-') goto yy991;
11587
75.0k
    } else {
11588
40.1k
      if (yych <= '?') goto yy993;
11589
7.70k
      if (yych <= '@') goto yy986;
11590
7.27k
      if (yych <= '[') goto yy994;
11591
7.27k
    }
11592
93.5k
yy986:
11593
93.5k
    YYDEBUG(986, *YYCURSOR);
11594
93.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11595
93.5k
#line 2361 "Zend/zend_language_scanner.l"
11596
93.5k
    {
11597
93.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11598
93.5k
}
11599
0
#line 11600 "Zend/zend_language_scanner.c"
11600
30.3k
yy987:
11601
30.3k
    YYDEBUG(987, *YYCURSOR);
11602
30.3k
    ++YYCURSOR;
11603
30.3k
    YYDEBUG(988, *YYCURSOR);
11604
30.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11605
30.3k
#line 1925 "Zend/zend_language_scanner.l"
11606
30.3k
    {
11607
30.3k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11608
30.3k
  enter_nesting('{');
11609
30.3k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11610
30.3k
}
11611
0
#line 11612 "Zend/zend_language_scanner.c"
11612
2.58k
yy989:
11613
2.58k
    YYDEBUG(989, *YYCURSOR);
11614
2.58k
    ++YYCURSOR;
11615
2.58k
    YYDEBUG(990, *YYCURSOR);
11616
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
11617
2.58k
#line 2788 "Zend/zend_language_scanner.l"
11618
2.58k
    {
11619
2.58k
  yy_push_state(ST_IN_SCRIPTING);
11620
2.58k
  yyless(1);
11621
2.58k
  enter_nesting('{');
11622
2.58k
  RETURN_TOKEN(T_CURLY_OPEN);
11623
2.58k
}
11624
0
#line 11625 "Zend/zend_language_scanner.c"
11625
10.7k
yy991:
11626
10.7k
    YYDEBUG(991, *YYCURSOR);
11627
10.7k
    yych = *++YYCURSOR;
11628
10.7k
    if (yych == '>') goto yy996;
11629
24.7k
yy992:
11630
24.7k
    YYDEBUG(992, *YYCURSOR);
11631
24.7k
    YYCURSOR = YYMARKER;
11632
24.7k
    goto yy986;
11633
32.4k
yy993:
11634
32.4k
    YYDEBUG(993, *YYCURSOR);
11635
32.4k
    yych = *++YYCURSOR;
11636
32.4k
    if (yych == '-') goto yy997;
11637
14.4k
    goto yy992;
11638
14.4k
yy994:
11639
3.20k
    YYDEBUG(994, *YYCURSOR);
11640
3.20k
    ++YYCURSOR;
11641
3.20k
    YYDEBUG(995, *YYCURSOR);
11642
3.20k
    yyleng = YYCURSOR - SCNG(yy_text);
11643
3.20k
#line 2355 "Zend/zend_language_scanner.l"
11644
3.20k
    {
11645
3.20k
  yyless(yyleng - 1);
11646
3.20k
  yy_push_state(ST_VAR_OFFSET);
11647
3.20k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11648
3.20k
}
11649
0
#line 11650 "Zend/zend_language_scanner.c"
11650
9.15k
yy996:
11651
9.15k
    YYDEBUG(996, *YYCURSOR);
11652
9.15k
    yych = *++YYCURSOR;
11653
9.15k
    if (yych <= '_') {
11654
2.58k
      if (yych <= '@') goto yy992;
11655
1.47k
      if (yych <= 'Z') goto yy998;
11656
634
      if (yych <= '^') goto yy992;
11657
385
      goto yy998;
11658
6.57k
    } else {
11659
6.57k
      if (yych <= '`') goto yy992;
11660
6.26k
      if (yych <= 'z') goto yy998;
11661
3.32k
      if (yych <= 0x7F) goto yy992;
11662
568
      goto yy998;
11663
3.32k
    }
11664
18.0k
yy997:
11665
18.0k
    YYDEBUG(997, *YYCURSOR);
11666
18.0k
    yych = *++YYCURSOR;
11667
18.0k
    if (yych == '>') goto yy1000;
11668
1.34k
    goto yy992;
11669
4.73k
yy998:
11670
4.73k
    YYDEBUG(998, *YYCURSOR);
11671
4.73k
    ++YYCURSOR;
11672
4.73k
    YYDEBUG(999, *YYCURSOR);
11673
4.73k
    yyleng = YYCURSOR - SCNG(yy_text);
11674
4.73k
#line 2341 "Zend/zend_language_scanner.l"
11675
4.73k
    {
11676
4.73k
  yyless(yyleng - 3);
11677
4.73k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11678
4.73k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11679
4.73k
}
11680
0
#line 11681 "Zend/zend_language_scanner.c"
11681
16.6k
yy1000:
11682
16.6k
    YYDEBUG(1000, *YYCURSOR);
11683
16.6k
    yych = *++YYCURSOR;
11684
16.6k
    if (yych <= '_') {
11685
5.44k
      if (yych <= '@') goto yy992;
11686
4.30k
      if (yych <= 'Z') goto yy1001;
11687
4.02k
      if (yych <= '^') goto yy992;
11688
11.2k
    } else {
11689
11.2k
      if (yych <= '`') goto yy992;
11690
11.0k
      if (yych <= 'z') goto yy1001;
11691
1.01k
      if (yych <= 0x7F) goto yy992;
11692
1.01k
    }
11693
13.7k
yy1001:
11694
13.7k
    YYDEBUG(1001, *YYCURSOR);
11695
13.7k
    ++YYCURSOR;
11696
13.7k
    YYDEBUG(1002, *YYCURSOR);
11697
13.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11698
13.7k
#line 2347 "Zend/zend_language_scanner.l"
11699
13.7k
    {
11700
13.7k
  yyless(yyleng - 4);
11701
13.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11702
13.7k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11703
13.7k
}
11704
13.7k
#line 11705 "Zend/zend_language_scanner.c"
11705
13.7k
  }
11706
/* *********************************** */
11707
1.02M
yyc_ST_DOUBLE_QUOTES:
11708
1.02M
  {
11709
1.02M
    static const unsigned char yybm[] = {
11710
1.02M
        0,   0,   0,   0,   0,   0,   0,   0, 
11711
1.02M
        0,   0,   0,   0,   0,   0,   0,   0, 
11712
1.02M
        0,   0,   0,   0,   0,   0,   0,   0, 
11713
1.02M
        0,   0,   0,   0,   0,   0,   0,   0, 
11714
1.02M
        0,   0,   0,   0,   0,   0,   0,   0, 
11715
1.02M
        0,   0,   0,   0,   0,   0,   0,   0, 
11716
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11717
1.02M
      128, 128,   0,   0,   0,   0,   0,   0, 
11718
1.02M
        0, 128, 128, 128, 128, 128, 128, 128, 
11719
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11720
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11721
1.02M
      128, 128, 128,   0,   0,   0,   0, 128, 
11722
1.02M
        0, 128, 128, 128, 128, 128, 128, 128, 
11723
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11724
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11725
1.02M
      128, 128, 128,   0,   0,   0,   0,   0, 
11726
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11727
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11728
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11729
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11730
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11731
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11732
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11733
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11734
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11735
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11736
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11737
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11738
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11739
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11740
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11741
1.02M
      128, 128, 128, 128, 128, 128, 128, 128, 
11742
1.02M
    };
11743
1.02M
    YYDEBUG(1003, *YYCURSOR);
11744
1.02M
    YYFILL(2);
11745
1.02M
    yych = *YYCURSOR;
11746
1.02M
    if (yych <= '#') {
11747
200k
      if (yych == '"') goto yy1007;
11748
828k
    } else {
11749
828k
      if (yych <= '$') goto yy1009;
11750
394k
      if (yych == '{') goto yy1010;
11751
394k
    }
11752
503k
    YYDEBUG(1005, *YYCURSOR);
11753
503k
    ++YYCURSOR;
11754
510k
yy1006:
11755
510k
    YYDEBUG(1006, *YYCURSOR);
11756
510k
    yyleng = YYCURSOR - SCNG(yy_text);
11757
510k
#line 2807 "Zend/zend_language_scanner.l"
11758
510k
    {
11759
510k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11760
142k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11761
142k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11762
11763
142k
    goto double_quotes_scan_done;
11764
142k
  }
11765
11766
368k
  if (YYCURSOR > YYLIMIT) {
11767
17.5k
    RETURN_END_TOKEN;
11768
17.5k
  }
11769
350k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11770
14.3k
    YYCURSOR++;
11771
14.3k
  }
11772
11773
9.45M
  while (YYCURSOR < YYLIMIT) {
11774
9.44M
    switch (*YYCURSOR++) {
11775
68.4k
      case '"':
11776
68.4k
        break;
11777
311k
      case '$':
11778
311k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11779
271k
          break;
11780
271k
        }
11781
39.4k
        continue;
11782
45.9k
      case '{':
11783
45.9k
        if (*YYCURSOR == '$') {
11784
6.18k
          break;
11785
6.18k
        }
11786
39.7k
        continue;
11787
55.2k
      case '\\':
11788
55.2k
        if (YYCURSOR < YYLIMIT) {
11789
54.9k
          YYCURSOR++;
11790
54.9k
        }
11791
55.2k
        ZEND_FALLTHROUGH;
11792
9.02M
      default:
11793
9.02M
        continue;
11794
9.44M
    }
11795
11796
346k
    YYCURSOR--;
11797
346k
    break;
11798
9.44M
  }
11799
11800
493k
double_quotes_scan_done:
11801
493k
  yyleng = YYCURSOR - SCNG(yy_text);
11802
11803
493k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11804
493k
   || !PARSER_MODE()) {
11805
492k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11806
492k
  } else {
11807
90
    RETURN_TOKEN(T_ERROR);
11808
90
  }
11809
493k
}
11810
0
#line 11811 "Zend/zend_language_scanner.c"
11811
74.9k
yy1007:
11812
74.9k
    YYDEBUG(1007, *YYCURSOR);
11813
74.9k
    ++YYCURSOR;
11814
74.9k
    YYDEBUG(1008, *YYCURSOR);
11815
74.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11816
74.9k
#line 2796 "Zend/zend_language_scanner.l"
11817
74.9k
    {
11818
74.9k
  BEGIN(ST_IN_SCRIPTING);
11819
74.9k
  RETURN_TOKEN('"');
11820
74.9k
}
11821
0
#line 11822 "Zend/zend_language_scanner.c"
11822
433k
yy1009:
11823
433k
    YYDEBUG(1009, *YYCURSOR);
11824
433k
    yych = *++YYCURSOR;
11825
433k
    if (yych <= '_') {
11826
31.3k
      if (yych <= '@') goto yy1006;
11827
28.2k
      if (yych <= 'Z') goto yy1011;
11828
5.55k
      if (yych <= '^') goto yy1006;
11829
4.78k
      goto yy1011;
11830
401k
    } else {
11831
401k
      if (yych <= 'z') {
11832
304k
        if (yych <= '`') goto yy1006;
11833
304k
        goto yy1011;
11834
304k
      } else {
11835
97.4k
        if (yych <= '{') goto yy1014;
11836
27.2k
        if (yych <= 0x7F) goto yy1006;
11837
26.8k
        goto yy1011;
11838
27.2k
      }
11839
401k
    }
11840
17.1k
yy1010:
11841
17.1k
    YYDEBUG(1010, *YYCURSOR);
11842
17.1k
    yych = *++YYCURSOR;
11843
17.1k
    if (yych == '$') goto yy1016;
11844
2.81k
    goto yy1006;
11845
1.28M
yy1011:
11846
1.28M
    YYDEBUG(1011, *YYCURSOR);
11847
1.28M
    YYMARKER = ++YYCURSOR;
11848
1.28M
    YYFILL(4);
11849
1.28M
    yych = *YYCURSOR;
11850
1.28M
    YYDEBUG(1012, *YYCURSOR);
11851
1.28M
    if (yybm[0+yych] & 128) {
11852
922k
      goto yy1011;
11853
922k
    }
11854
358k
    if (yych <= '>') {
11855
216k
      if (yych == '-') goto yy1018;
11856
216k
    } else {
11857
141k
      if (yych <= '?') goto yy1020;
11858
31.6k
      if (yych <= '@') goto yy1013;
11859
30.9k
      if (yych <= '[') goto yy1021;
11860
30.9k
    }
11861
284k
yy1013:
11862
284k
    YYDEBUG(1013, *YYCURSOR);
11863
284k
    yyleng = YYCURSOR - SCNG(yy_text);
11864
284k
#line 2361 "Zend/zend_language_scanner.l"
11865
284k
    {
11866
284k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11867
284k
}
11868
0
#line 11869 "Zend/zend_language_scanner.c"
11869
70.2k
yy1014:
11870
70.2k
    YYDEBUG(1014, *YYCURSOR);
11871
70.2k
    ++YYCURSOR;
11872
70.2k
    YYDEBUG(1015, *YYCURSOR);
11873
70.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11874
70.2k
#line 1925 "Zend/zend_language_scanner.l"
11875
70.2k
    {
11876
70.2k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11877
70.2k
  enter_nesting('{');
11878
70.2k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11879
70.2k
}
11880
0
#line 11881 "Zend/zend_language_scanner.c"
11881
14.3k
yy1016:
11882
14.3k
    YYDEBUG(1016, *YYCURSOR);
11883
14.3k
    ++YYCURSOR;
11884
14.3k
    YYDEBUG(1017, *YYCURSOR);
11885
14.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11886
14.3k
#line 2788 "Zend/zend_language_scanner.l"
11887
14.3k
    {
11888
14.3k
  yy_push_state(ST_IN_SCRIPTING);
11889
14.3k
  yyless(1);
11890
14.3k
  enter_nesting('{');
11891
14.3k
  RETURN_TOKEN(T_CURLY_OPEN);
11892
14.3k
}
11893
0
#line 11894 "Zend/zend_language_scanner.c"
11894
29.7k
yy1018:
11895
29.7k
    YYDEBUG(1018, *YYCURSOR);
11896
29.7k
    yych = *++YYCURSOR;
11897
29.7k
    if (yych == '>') goto yy1023;
11898
75.7k
yy1019:
11899
75.7k
    YYDEBUG(1019, *YYCURSOR);
11900
75.7k
    YYCURSOR = YYMARKER;
11901
75.7k
    goto yy1013;
11902
110k
yy1020:
11903
110k
    YYDEBUG(1020, *YYCURSOR);
11904
110k
    yych = *++YYCURSOR;
11905
110k
    if (yych == '-') goto yy1024;
11906
58.7k
    goto yy1019;
11907
58.7k
yy1021:
11908
9.66k
    YYDEBUG(1021, *YYCURSOR);
11909
9.66k
    ++YYCURSOR;
11910
9.66k
    YYDEBUG(1022, *YYCURSOR);
11911
9.66k
    yyleng = YYCURSOR - SCNG(yy_text);
11912
9.66k
#line 2355 "Zend/zend_language_scanner.l"
11913
9.66k
    {
11914
9.66k
  yyless(yyleng - 1);
11915
9.66k
  yy_push_state(ST_VAR_OFFSET);
11916
9.66k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11917
9.66k
}
11918
0
#line 11919 "Zend/zend_language_scanner.c"
11919
23.3k
yy1023:
11920
23.3k
    YYDEBUG(1023, *YYCURSOR);
11921
23.3k
    yych = *++YYCURSOR;
11922
23.3k
    if (yych <= '_') {
11923
12.7k
      if (yych <= '@') goto yy1019;
11924
10.9k
      if (yych <= 'Z') goto yy1025;
11925
1.19k
      if (yych <= '^') goto yy1019;
11926
895
      goto yy1025;
11927
10.5k
    } else {
11928
10.5k
      if (yych <= '`') goto yy1019;
11929
10.3k
      if (yych <= 'z') goto yy1025;
11930
1.95k
      if (yych <= 0x7F) goto yy1019;
11931
589
      goto yy1025;
11932
1.95k
    }
11933
51.3k
yy1024:
11934
51.3k
    YYDEBUG(1024, *YYCURSOR);
11935
51.3k
    yych = *++YYCURSOR;
11936
51.3k
    if (yych == '>') goto yy1027;
11937
2.49k
    goto yy1019;
11938
19.5k
yy1025:
11939
19.5k
    YYDEBUG(1025, *YYCURSOR);
11940
19.5k
    ++YYCURSOR;
11941
19.5k
    YYDEBUG(1026, *YYCURSOR);
11942
19.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11943
19.5k
#line 2341 "Zend/zend_language_scanner.l"
11944
19.5k
    {
11945
19.5k
  yyless(yyleng - 3);
11946
19.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11947
19.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11948
19.5k
}
11949
0
#line 11950 "Zend/zend_language_scanner.c"
11950
48.8k
yy1027:
11951
48.8k
    YYDEBUG(1027, *YYCURSOR);
11952
48.8k
    yych = *++YYCURSOR;
11953
48.8k
    if (yych <= '_') {
11954
3.49k
      if (yych <= '@') goto yy1019;
11955
1.65k
      if (yych <= 'Z') goto yy1028;
11956
1.35k
      if (yych <= '^') goto yy1019;
11957
45.3k
    } else {
11958
45.3k
      if (yych <= '`') goto yy1019;
11959
44.9k
      if (yych <= 'z') goto yy1028;
11960
2.14k
      if (yych <= 0x7F) goto yy1019;
11961
2.14k
    }
11962
44.5k
yy1028:
11963
44.5k
    YYDEBUG(1028, *YYCURSOR);
11964
44.5k
    ++YYCURSOR;
11965
44.5k
    YYDEBUG(1029, *YYCURSOR);
11966
44.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11967
44.5k
#line 2347 "Zend/zend_language_scanner.l"
11968
44.5k
    {
11969
44.5k
  yyless(yyleng - 4);
11970
44.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11971
44.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11972
44.5k
}
11973
44.5k
#line 11974 "Zend/zend_language_scanner.c"
11974
44.5k
  }
11975
/* *********************************** */
11976
8.13M
yyc_ST_HEREDOC:
11977
8.13M
  {
11978
8.13M
    static const unsigned char yybm[] = {
11979
8.13M
        0,   0,   0,   0,   0,   0,   0,   0, 
11980
8.13M
        0,   0,   0,   0,   0,   0,   0,   0, 
11981
8.13M
        0,   0,   0,   0,   0,   0,   0,   0, 
11982
8.13M
        0,   0,   0,   0,   0,   0,   0,   0, 
11983
8.13M
        0,   0,   0,   0,   0,   0,   0,   0, 
11984
8.13M
        0,   0,   0,   0,   0,   0,   0,   0, 
11985
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11986
8.13M
      128, 128,   0,   0,   0,   0,   0,   0, 
11987
8.13M
        0, 128, 128, 128, 128, 128, 128, 128, 
11988
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11989
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11990
8.13M
      128, 128, 128,   0,   0,   0,   0, 128, 
11991
8.13M
        0, 128, 128, 128, 128, 128, 128, 128, 
11992
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11993
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11994
8.13M
      128, 128, 128,   0,   0,   0,   0,   0, 
11995
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11996
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11997
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11998
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
11999
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12000
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12001
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12002
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12003
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12004
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12005
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12006
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12007
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12008
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12009
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12010
8.13M
      128, 128, 128, 128, 128, 128, 128, 128, 
12011
8.13M
    };
12012
8.13M
    YYDEBUG(1030, *YYCURSOR);
12013
8.13M
    YYFILL(2);
12014
8.13M
    yych = *YYCURSOR;
12015
8.13M
    if (yych == '$') goto yy1034;
12016
2.48M
    if (yych == '{') goto yy1035;
12017
2.30M
    YYDEBUG(1032, *YYCURSOR);
12018
2.30M
    ++YYCURSOR;
12019
2.59M
yy1033:
12020
2.59M
    YYDEBUG(1033, *YYCURSOR);
12021
2.59M
    yyleng = YYCURSOR - SCNG(yy_text);
12022
2.59M
#line 2907 "Zend/zend_language_scanner.l"
12023
2.59M
    {
12024
2.59M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12025
2.59M
  int newline = 0, indentation = 0, spacing = 0;
12026
12027
2.59M
  if (YYCURSOR > YYLIMIT) {
12028
29.6k
    RETURN_END_TOKEN;
12029
29.6k
  }
12030
12031
2.56M
  YYCURSOR--;
12032
12033
59.6M
  while (YYCURSOR < YYLIMIT) {
12034
59.6M
    switch (*YYCURSOR++) {
12035
312k
      case '\r':
12036
312k
        if (*YYCURSOR == '\n') {
12037
17.0k
          YYCURSOR++;
12038
17.0k
        }
12039
312k
        ZEND_FALLTHROUGH;
12040
3.58M
      case '\n':
12041
3.58M
        indentation = spacing = 0;
12042
12043
6.46M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12044
2.88M
          if (*YYCURSOR == '\t') {
12045
40.8k
            spacing |= HEREDOC_USING_TABS;
12046
2.84M
          } else {
12047
2.84M
            spacing |= HEREDOC_USING_SPACES;
12048
2.84M
          }
12049
2.88M
          ++YYCURSOR;
12050
2.88M
          ++indentation;
12051
2.88M
        }
12052
12053
3.58M
        if (YYCURSOR == YYLIMIT) {
12054
3.02k
          yyleng = YYCURSOR - SCNG(yy_text);
12055
3.02k
          HANDLE_NEWLINES(yytext, yyleng);
12056
3.02k
          ZVAL_NULL(zendlval);
12057
3.02k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12058
3.02k
        }
12059
12060
        /* Check for ending label on the next line */
12061
3.57M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12062
44.1k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12063
21.3k
            continue;
12064
21.3k
          }
12065
12066
22.8k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12067
213
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12068
213
            if (PARSER_MODE()) {
12069
11
              RETURN_TOKEN(T_ERROR);
12070
11
            }
12071
213
          }
12072
12073
          /* newline before label will be subtracted from returned text, but
12074
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12075
22.8k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12076
260
            newline = 2; /* Windows newline */
12077
22.5k
          } else {
12078
22.5k
            newline = 1;
12079
22.5k
          }
12080
12081
22.8k
          CG(increment_lineno) = 1; /* For newline before label */
12082
12083
22.8k
          if (SCNG(heredoc_scan_ahead)) {
12084
16.1k
            SCNG(heredoc_indentation) = indentation;
12085
16.1k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12086
16.1k
          } else {
12087
6.68k
            YYCURSOR -= indentation;
12088
6.68k
          }
12089
12090
22.8k
          BEGIN(ST_END_HEREDOC);
12091
12092
22.8k
          goto heredoc_scan_done;
12093
22.8k
        }
12094
3.53M
        continue;
12095
3.53M
      case '$':
12096
2.94M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12097
2.41M
          break;
12098
2.41M
        }
12099
523k
        continue;
12100
642k
      case '{':
12101
642k
        if (*YYCURSOR == '$') {
12102
97.2k
          break;
12103
97.2k
        }
12104
545k
        continue;
12105
545k
      case '\\':
12106
199k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12107
192k
          YYCURSOR++;
12108
192k
        }
12109
199k
        ZEND_FALLTHROUGH;
12110
52.4M
      default:
12111
52.4M
        continue;
12112
59.6M
    }
12113
12114
2.51M
    YYCURSOR--;
12115
2.51M
    break;
12116
59.6M
  }
12117
12118
2.56M
heredoc_scan_done:
12119
12120
2.56M
  yyleng = YYCURSOR - SCNG(yy_text);
12121
2.56M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12122
12123
2.56M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12124
175k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12125
175k
    zend_string *copy = Z_STR_P(zendlval);
12126
12127
175k
    if (!strip_multiline_string_indentation(
12128
175k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12129
175k
        newline_at_start, newline != 0)) {
12130
57
      RETURN_TOKEN(T_ERROR);
12131
57
    }
12132
12133
175k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12134
5
      zend_string_efree(copy);
12135
5
      RETURN_TOKEN(T_ERROR);
12136
5
    }
12137
12138
175k
    zend_string_efree(copy);
12139
2.38M
  } else {
12140
2.38M
    HANDLE_NEWLINES(yytext, yyleng - newline);
12141
2.38M
  }
12142
12143
2.56M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12144
2.56M
}
12145
0
#line 12146 "Zend/zend_language_scanner.c"
12146
5.64M
yy1034:
12147
5.64M
    YYDEBUG(1034, *YYCURSOR);
12148
5.64M
    yych = *++YYCURSOR;
12149
5.64M
    if (yych <= '_') {
12150
254k
      if (yych <= '@') goto yy1033;
12151
42.2k
      if (yych <= 'Z') goto yy1036;
12152
18.1k
      if (yych <= '^') goto yy1033;
12153
6.39k
      goto yy1036;
12154
5.39M
    } else {
12155
5.39M
      if (yych <= 'z') {
12156
963k
        if (yych <= '`') goto yy1033;
12157
962k
        goto yy1036;
12158
4.43M
      } else {
12159
4.43M
        if (yych <= '{') goto yy1039;
12160
173k
        if (yych <= 0x7F) goto yy1033;
12161
167k
        goto yy1036;
12162
173k
      }
12163
5.39M
    }
12164
180k
yy1035:
12165
180k
    YYDEBUG(1035, *YYCURSOR);
12166
180k
    yych = *++YYCURSOR;
12167
180k
    if (yych == '$') goto yy1041;
12168
60.3k
    goto yy1033;
12169
4.26M
yy1036:
12170
4.26M
    YYDEBUG(1036, *YYCURSOR);
12171
4.26M
    YYMARKER = ++YYCURSOR;
12172
4.26M
    YYFILL(4);
12173
4.26M
    yych = *YYCURSOR;
12174
4.26M
    YYDEBUG(1037, *YYCURSOR);
12175
4.26M
    if (yybm[0+yych] & 128) {
12176
3.10M
      goto yy1036;
12177
3.10M
    }
12178
1.15M
    if (yych <= '>') {
12179
885k
      if (yych == '-') goto yy1043;
12180
885k
    } else {
12181
274k
      if (yych <= '?') goto yy1045;
12182
103k
      if (yych <= '@') goto yy1038;
12183
101k
      if (yych <= '[') goto yy1046;
12184
101k
    }
12185
1.02M
yy1038:
12186
1.02M
    YYDEBUG(1038, *YYCURSOR);
12187
1.02M
    yyleng = YYCURSOR - SCNG(yy_text);
12188
1.02M
#line 2361 "Zend/zend_language_scanner.l"
12189
1.02M
    {
12190
1.02M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12191
1.02M
}
12192
0
#line 12193 "Zend/zend_language_scanner.c"
12193
4.25M
yy1039:
12194
4.25M
    YYDEBUG(1039, *YYCURSOR);
12195
4.25M
    ++YYCURSOR;
12196
4.25M
    YYDEBUG(1040, *YYCURSOR);
12197
4.25M
    yyleng = YYCURSOR - SCNG(yy_text);
12198
4.25M
#line 1925 "Zend/zend_language_scanner.l"
12199
4.25M
    {
12200
4.25M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12201
4.25M
  enter_nesting('{');
12202
4.25M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12203
4.25M
}
12204
0
#line 12205 "Zend/zend_language_scanner.c"
12205
119k
yy1041:
12206
119k
    YYDEBUG(1041, *YYCURSOR);
12207
119k
    ++YYCURSOR;
12208
119k
    YYDEBUG(1042, *YYCURSOR);
12209
119k
    yyleng = YYCURSOR - SCNG(yy_text);
12210
119k
#line 2788 "Zend/zend_language_scanner.l"
12211
119k
    {
12212
119k
  yy_push_state(ST_IN_SCRIPTING);
12213
119k
  yyless(1);
12214
119k
  enter_nesting('{');
12215
119k
  RETURN_TOKEN(T_CURLY_OPEN);
12216
119k
}
12217
0
#line 12218 "Zend/zend_language_scanner.c"
12218
66.2k
yy1043:
12219
66.2k
    YYDEBUG(1043, *YYCURSOR);
12220
66.2k
    yych = *++YYCURSOR;
12221
66.2k
    if (yych == '>') goto yy1048;
12222
136k
yy1044:
12223
136k
    YYDEBUG(1044, *YYCURSOR);
12224
136k
    YYCURSOR = YYMARKER;
12225
136k
    goto yy1038;
12226
170k
yy1045:
12227
170k
    YYDEBUG(1045, *YYCURSOR);
12228
170k
    yych = *++YYCURSOR;
12229
170k
    if (yych == '-') goto yy1049;
12230
87.4k
    goto yy1044;
12231
87.4k
yy1046:
12232
34.1k
    YYDEBUG(1046, *YYCURSOR);
12233
34.1k
    ++YYCURSOR;
12234
34.1k
    YYDEBUG(1047, *YYCURSOR);
12235
34.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12236
34.1k
#line 2355 "Zend/zend_language_scanner.l"
12237
34.1k
    {
12238
34.1k
  yyless(yyleng - 1);
12239
34.1k
  yy_push_state(ST_VAR_OFFSET);
12240
34.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12241
34.1k
}
12242
0
#line 12243 "Zend/zend_language_scanner.c"
12243
55.7k
yy1048:
12244
55.7k
    YYDEBUG(1048, *YYCURSOR);
12245
55.7k
    yych = *++YYCURSOR;
12246
55.7k
    if (yych <= '_') {
12247
26.3k
      if (yych <= '@') goto yy1044;
12248
5.43k
      if (yych <= 'Z') goto yy1050;
12249
2.55k
      if (yych <= '^') goto yy1044;
12250
2.04k
      goto yy1050;
12251
29.4k
    } else {
12252
29.4k
      if (yych <= '`') goto yy1044;
12253
29.1k
      if (yych <= 'z') goto yy1050;
12254
3.19k
      if (yych <= 0x7F) goto yy1044;
12255
919
      goto yy1050;
12256
3.19k
    }
12257
83.2k
yy1049:
12258
83.2k
    YYDEBUG(1049, *YYCURSOR);
12259
83.2k
    yych = *++YYCURSOR;
12260
83.2k
    if (yych == '>') goto yy1052;
12261
3.12k
    goto yy1044;
12262
31.8k
yy1050:
12263
31.8k
    YYDEBUG(1050, *YYCURSOR);
12264
31.8k
    ++YYCURSOR;
12265
31.8k
    YYDEBUG(1051, *YYCURSOR);
12266
31.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12267
31.8k
#line 2341 "Zend/zend_language_scanner.l"
12268
31.8k
    {
12269
31.8k
  yyless(yyleng - 3);
12270
31.8k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12271
31.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12272
31.8k
}
12273
0
#line 12274 "Zend/zend_language_scanner.c"
12274
80.1k
yy1052:
12275
80.1k
    YYDEBUG(1052, *YYCURSOR);
12276
80.1k
    yych = *++YYCURSOR;
12277
80.1k
    if (yych <= '_') {
12278
12.1k
      if (yych <= '@') goto yy1044;
12279
1.95k
      if (yych <= 'Z') goto yy1053;
12280
1.42k
      if (yych <= '^') goto yy1044;
12281
67.9k
    } else {
12282
67.9k
      if (yych <= '`') goto yy1044;
12283
67.5k
      if (yych <= 'z') goto yy1053;
12284
2.72k
      if (yych <= 0x7F) goto yy1044;
12285
2.72k
    }
12286
68.4k
yy1053:
12287
68.4k
    YYDEBUG(1053, *YYCURSOR);
12288
68.4k
    ++YYCURSOR;
12289
68.4k
    YYDEBUG(1054, *YYCURSOR);
12290
68.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12291
68.4k
#line 2347 "Zend/zend_language_scanner.l"
12292
68.4k
    {
12293
68.4k
  yyless(yyleng - 4);
12294
68.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12295
68.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12296
68.4k
}
12297
68.4k
#line 12298 "Zend/zend_language_scanner.c"
12298
68.4k
  }
12299
/* *********************************** */
12300
4.35M
yyc_ST_LOOKING_FOR_VARNAME:
12301
4.35M
  {
12302
4.35M
    static const unsigned char yybm[] = {
12303
4.35M
        0,   0,   0,   0,   0,   0,   0,   0, 
12304
4.35M
        0,   0,   0,   0,   0,   0,   0,   0, 
12305
4.35M
        0,   0,   0,   0,   0,   0,   0,   0, 
12306
4.35M
        0,   0,   0,   0,   0,   0,   0,   0, 
12307
4.35M
        0,   0,   0,   0,   0,   0,   0,   0, 
12308
4.35M
        0,   0,   0,   0,   0,   0,   0,   0, 
12309
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12310
4.35M
      128, 128,   0,   0,   0,   0,   0,   0, 
12311
4.35M
        0, 128, 128, 128, 128, 128, 128, 128, 
12312
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12313
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12314
4.35M
      128, 128, 128,   0,   0,   0,   0, 128, 
12315
4.35M
        0, 128, 128, 128, 128, 128, 128, 128, 
12316
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12317
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12318
4.35M
      128, 128, 128,   0,   0,   0,   0,   0, 
12319
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12320
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12321
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12322
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12323
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12324
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12325
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12326
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12327
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12328
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12329
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12330
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12331
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12332
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12333
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12334
4.35M
      128, 128, 128, 128, 128, 128, 128, 128, 
12335
4.35M
    };
12336
4.35M
    YYDEBUG(1055, *YYCURSOR);
12337
4.35M
    YYFILL(2);
12338
4.35M
    yych = *YYCURSOR;
12339
4.35M
    if (yych <= '_') {
12340
4.18M
      if (yych <= '@') goto yy1057;
12341
21.2k
      if (yych <= 'Z') goto yy1059;
12342
7.49k
      if (yych >= '_') goto yy1059;
12343
177k
    } else {
12344
177k
      if (yych <= '`') goto yy1057;
12345
172k
      if (yych <= 'z') goto yy1059;
12346
85.2k
      if (yych >= 0x80) goto yy1059;
12347
85.2k
    }
12348
4.17M
yy1057:
12349
4.17M
    YYDEBUG(1057, *YYCURSOR);
12350
4.17M
    ++YYCURSOR;
12351
4.35M
yy1058:
12352
4.35M
    YYDEBUG(1058, *YYCURSOR);
12353
4.35M
    yyleng = YYCURSOR - SCNG(yy_text);
12354
4.35M
#line 1948 "Zend/zend_language_scanner.l"
12355
4.35M
    {
12356
4.35M
  yyless(0);
12357
4.35M
  yy_pop_state();
12358
4.35M
  yy_push_state(ST_IN_SCRIPTING);
12359
4.35M
  goto restart;
12360
4.17M
}
12361
0
#line 12362 "Zend/zend_language_scanner.c"
12362
182k
yy1059:
12363
182k
    YYDEBUG(1059, *YYCURSOR);
12364
182k
    yych = *(YYMARKER = ++YYCURSOR);
12365
182k
    if (yych <= '_') {
12366
96.2k
      if (yych <= '@') {
12367
71.4k
        if (yych <= '/') goto yy1058;
12368
49.0k
        if (yych <= '9') goto yy1061;
12369
47.3k
        goto yy1058;
12370
49.0k
      } else {
12371
24.8k
        if (yych <= '[') goto yy1061;
12372
5.74k
        if (yych <= '^') goto yy1058;
12373
4.45k
        goto yy1061;
12374
5.74k
      }
12375
96.2k
    } else {
12376
86.4k
      if (yych <= '|') {
12377
60.6k
        if (yych <= '`') goto yy1058;
12378
60.3k
        if (yych <= 'z') goto yy1061;
12379
1.36k
        goto yy1058;
12380
60.3k
      } else {
12381
25.7k
        if (yych <= '}') goto yy1061;
12382
24.7k
        if (yych <= 0x7F) goto yy1058;
12383
24.2k
        goto yy1061;
12384
24.7k
      }
12385
86.4k
    }
12386
599k
yy1060:
12387
599k
    YYDEBUG(1060, *YYCURSOR);
12388
599k
    ++YYCURSOR;
12389
599k
    YYFILL(1);
12390
599k
    yych = *YYCURSOR;
12391
709k
yy1061:
12392
709k
    YYDEBUG(1061, *YYCURSOR);
12393
709k
    if (yybm[0+yych] & 128) {
12394
599k
      goto yy1060;
12395
599k
    }
12396
109k
    if (yych <= '@') goto yy1062;
12397
11.9k
    if (yych <= '[') goto yy1063;
12398
9.99k
    if (yych == '}') goto yy1063;
12399
105k
yy1062:
12400
105k
    YYDEBUG(1062, *YYCURSOR);
12401
105k
    YYCURSOR = YYMARKER;
12402
105k
    goto yy1058;
12403
3.69k
yy1063:
12404
3.69k
    YYDEBUG(1063, *YYCURSOR);
12405
3.69k
    ++YYCURSOR;
12406
3.69k
    YYDEBUG(1064, *YYCURSOR);
12407
3.69k
    yyleng = YYCURSOR - SCNG(yy_text);
12408
3.69k
#line 1940 "Zend/zend_language_scanner.l"
12409
3.69k
    {
12410
3.69k
  yyless(yyleng - 1);
12411
3.69k
  yy_pop_state();
12412
3.69k
  yy_push_state(ST_IN_SCRIPTING);
12413
3.69k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12414
3.69k
}
12415
3.69k
#line 12416 "Zend/zend_language_scanner.c"
12416
3.69k
  }
12417
/* *********************************** */
12418
417k
yyc_ST_VAR_OFFSET:
12419
417k
  {
12420
417k
    static const unsigned char yybm[] = {
12421
417k
        0,   0,   0,   0,   0,   0,   0,   0, 
12422
417k
        0,   0,   0,   0,   0,   0,   0,   0, 
12423
417k
        0,   0,   0,   0,   0,   0,   0,   0, 
12424
417k
        0,   0,   0,   0,   0,   0,   0,   0, 
12425
417k
        0,   0,   0,   0,   0,   0,   0,   0, 
12426
417k
        0,   0,   0,   0,   0,   0,   0,   0, 
12427
417k
      248, 248, 216, 216, 216, 216, 216, 216, 
12428
417k
      152, 152,   0,   0,   0,   0,   0,   0, 
12429
417k
        0, 144, 144, 144, 144, 144, 144,  16, 
12430
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12431
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12432
417k
       16,  16,  16,   0,   0,   0,   0,  16, 
12433
417k
        0, 144, 144, 144, 144, 144, 144,  16, 
12434
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12435
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12436
417k
       16,  16,  16,   0,   0,   0,   0,   0, 
12437
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12438
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12439
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12440
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12441
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12442
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12443
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12444
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12445
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12446
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12447
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12448
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12449
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12450
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12451
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12452
417k
       16,  16,  16,  16,  16,  16,  16,  16, 
12453
417k
    };
12454
417k
    YYDEBUG(1065, *YYCURSOR);
12455
417k
    YYFILL(2);
12456
417k
    yych = *YYCURSOR;
12457
417k
    if (yych <= '0') {
12458
215k
      if (yych <= ' ') {
12459
95.1k
        if (yych <= '\f') {
12460
79.4k
          if (yych <= 0x08) goto yy1067;
12461
9.91k
          if (yych <= '\n') goto yy1069;
12462
15.7k
        } else {
12463
15.7k
          if (yych <= '\r') goto yy1069;
12464
14.9k
          if (yych >= ' ') goto yy1069;
12465
14.9k
        }
12466
119k
      } else {
12467
119k
        if (yych <= '$') {
12468
63.7k
          if (yych <= '"') goto yy1071;
12469
54.3k
          if (yych <= '#') goto yy1069;
12470
53.5k
          goto yy1073;
12471
56.1k
        } else {
12472
56.1k
          if (yych == '\'') goto yy1069;
12473
52.5k
          if (yych <= '/') goto yy1071;
12474
22.6k
          goto yy1074;
12475
52.5k
        }
12476
119k
      }
12477
215k
    } else {
12478
202k
      if (yych <= ']') {
12479
152k
        if (yych <= 'Z') {
12480
70.0k
          if (yych <= '9') goto yy1076;
12481
47.1k
          if (yych <= '@') goto yy1071;
12482
8.39k
          goto yy1078;
12483
82.3k
        } else {
12484
82.3k
          if (yych <= '[') goto yy1071;
12485
28.7k
          if (yych <= '\\') goto yy1069;
12486
28.2k
          goto yy1081;
12487
28.7k
        }
12488
152k
      } else {
12489
50.1k
        if (yych <= '`') {
12490
7.02k
          if (yych == '_') goto yy1078;
12491
4.18k
          goto yy1071;
12492
43.1k
        } else {
12493
43.1k
          if (yych <= 'z') goto yy1078;
12494
22.5k
          if (yych <= '~') goto yy1071;
12495
16.9k
          if (yych >= 0x80) goto yy1078;
12496
16.9k
        }
12497
50.1k
      }
12498
202k
    }
12499
86.0k
yy1067:
12500
86.0k
    YYDEBUG(1067, *YYCURSOR);
12501
86.0k
    ++YYCURSOR;
12502
86.0k
    YYDEBUG(1068, *YYCURSOR);
12503
86.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12504
86.0k
#line 3122 "Zend/zend_language_scanner.l"
12505
86.0k
    {
12506
86.0k
  if (YYCURSOR > YYLIMIT) {
12507
2.35k
    RETURN_END_TOKEN;
12508
2.35k
  }
12509
12510
83.7k
  RETURN_TOKEN(T_BAD_CHARACTER);
12511
83.7k
}
12512
0
#line 12513 "Zend/zend_language_scanner.c"
12513
15.6k
yy1069:
12514
15.6k
    YYDEBUG(1069, *YYCURSOR);
12515
15.6k
    ++YYCURSOR;
12516
15.6k
    YYDEBUG(1070, *YYCURSOR);
12517
15.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12518
15.6k
#line 2375 "Zend/zend_language_scanner.l"
12519
15.6k
    {
12520
  /* Invalid rule to return a more explicit parse error with proper line number */
12521
15.6k
  yyless(0);
12522
15.6k
  yy_pop_state();
12523
15.6k
  ZVAL_NULL(zendlval);
12524
15.6k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12525
15.6k
}
12526
0
#line 12527 "Zend/zend_language_scanner.c"
12527
141k
yy1071:
12528
141k
    YYDEBUG(1071, *YYCURSOR);
12529
141k
    ++YYCURSOR;
12530
173k
yy1072:
12531
173k
    YYDEBUG(1072, *YYCURSOR);
12532
173k
    yyleng = YYCURSOR - SCNG(yy_text);
12533
173k
#line 2370 "Zend/zend_language_scanner.l"
12534
173k
    {
12535
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12536
173k
  RETURN_TOKEN(yytext[0]);
12537
173k
}
12538
0
#line 12539 "Zend/zend_language_scanner.c"
12539
53.5k
yy1073:
12540
53.5k
    YYDEBUG(1073, *YYCURSOR);
12541
53.5k
    yych = *++YYCURSOR;
12542
53.5k
    if (yych <= '_') {
12543
33.7k
      if (yych <= '@') goto yy1072;
12544
4.04k
      if (yych <= 'Z') goto yy1083;
12545
1.33k
      if (yych <= '^') goto yy1072;
12546
673
      goto yy1083;
12547
19.8k
    } else {
12548
19.8k
      if (yych <= '`') goto yy1072;
12549
19.4k
      if (yych <= 'z') goto yy1083;
12550
4.31k
      if (yych <= 0x7F) goto yy1072;
12551
2.99k
      goto yy1083;
12552
4.31k
    }
12553
22.6k
yy1074:
12554
22.6k
    YYDEBUG(1074, *YYCURSOR);
12555
22.6k
    yyaccept = 0;
12556
22.6k
    yych = *(YYMARKER = ++YYCURSOR);
12557
22.6k
    if (yych <= 'X') {
12558
10.2k
      if (yych <= 'B') {
12559
8.19k
        if (yych <= '/') goto yy1075;
12560
6.57k
        if (yych <= '9') goto yy1086;
12561
2.12k
        if (yych >= 'B') goto yy1089;
12562
2.12k
      } else {
12563
2.10k
        if (yych == 'O') goto yy1091;
12564
1.42k
        if (yych >= 'X') goto yy1092;
12565
1.42k
      }
12566
12.3k
    } else {
12567
12.3k
      if (yych <= 'b') {
12568
7.56k
        if (yych == '_') goto yy1093;
12569
6.60k
        if (yych >= 'b') goto yy1089;
12570
6.60k
      } else {
12571
4.77k
        if (yych <= 'o') {
12572
1.19k
          if (yych >= 'o') goto yy1091;
12573
3.57k
        } else {
12574
3.57k
          if (yych == 'x') goto yy1092;
12575
3.57k
        }
12576
4.77k
      }
12577
12.3k
    }
12578
37.4k
yy1075:
12579
37.4k
    YYDEBUG(1075, *YYCURSOR);
12580
37.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12581
37.4k
#line 2152 "Zend/zend_language_scanner.l"
12582
37.4k
    { /* Offset could be treated as a long */
12583
37.4k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12584
35.7k
    char *end;
12585
35.7k
    errno = 0;
12586
35.7k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12587
35.7k
    if (errno == ERANGE) {
12588
0
      goto string;
12589
0
    }
12590
35.7k
    ZEND_ASSERT(end == yytext + yyleng);
12591
35.7k
  } else {
12592
1.70k
string:
12593
1.70k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12594
1.70k
  }
12595
37.4k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12596
37.4k
}
12597
0
#line 12598 "Zend/zend_language_scanner.c"
12598
127k
yy1076:
12599
127k
    YYDEBUG(1076, *YYCURSOR);
12600
127k
    yyaccept = 0;
12601
127k
    YYMARKER = ++YYCURSOR;
12602
127k
    YYFILL(1);
12603
127k
    yych = *YYCURSOR;
12604
127k
    YYDEBUG(1077, *YYCURSOR);
12605
127k
    if (yybm[0+yych] & 8) {
12606
104k
      goto yy1076;
12607
104k
    }
12608
22.9k
    if (yych == '_') goto yy1093;
12609
22.3k
    goto yy1075;
12610
203k
yy1078:
12611
203k
    YYDEBUG(1078, *YYCURSOR);
12612
203k
    ++YYCURSOR;
12613
203k
    YYFILL(1);
12614
203k
    yych = *YYCURSOR;
12615
203k
    YYDEBUG(1079, *YYCURSOR);
12616
203k
    if (yybm[0+yych] & 16) {
12617
156k
      goto yy1078;
12618
156k
    }
12619
47.1k
    YYDEBUG(1080, *YYCURSOR);
12620
47.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12621
47.1k
#line 2399 "Zend/zend_language_scanner.l"
12622
47.1k
    {
12623
47.1k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12624
47.1k
}
12625
0
#line 12626 "Zend/zend_language_scanner.c"
12626
28.2k
yy1081:
12627
28.2k
    YYDEBUG(1081, *YYCURSOR);
12628
28.2k
    ++YYCURSOR;
12629
28.2k
    YYDEBUG(1082, *YYCURSOR);
12630
28.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12631
28.2k
#line 2365 "Zend/zend_language_scanner.l"
12632
28.2k
    {
12633
28.2k
  yy_pop_state();
12634
28.2k
  RETURN_TOKEN(']');
12635
28.2k
}
12636
0
#line 12637 "Zend/zend_language_scanner.c"
12637
70.9k
yy1083:
12638
70.9k
    YYDEBUG(1083, *YYCURSOR);
12639
70.9k
    ++YYCURSOR;
12640
70.9k
    YYFILL(1);
12641
70.9k
    yych = *YYCURSOR;
12642
70.9k
    YYDEBUG(1084, *YYCURSOR);
12643
70.9k
    if (yych <= '^') {
12644
24.8k
      if (yych <= '9') {
12645
8.71k
        if (yych >= '0') goto yy1083;
12646
16.1k
      } else {
12647
16.1k
        if (yych <= '@') goto yy1085;
12648
13.9k
        if (yych <= 'Z') goto yy1083;
12649
13.9k
      }
12650
46.0k
    } else {
12651
46.0k
      if (yych <= '`') {
12652
3.75k
        if (yych <= '_') goto yy1083;
12653
42.3k
      } else {
12654
42.3k
        if (yych <= 'z') goto yy1083;
12655
9.90k
        if (yych >= 0x80) goto yy1083;
12656
9.90k
      }
12657
46.0k
    }
12658
21.4k
yy1085:
12659
21.4k
    YYDEBUG(1085, *YYCURSOR);
12660
21.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12661
21.4k
#line 2361 "Zend/zend_language_scanner.l"
12662
21.4k
    {
12663
21.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12664
21.4k
}
12665
0
#line 12666 "Zend/zend_language_scanner.c"
12666
14.0k
yy1086:
12667
14.0k
    YYDEBUG(1086, *YYCURSOR);
12668
14.0k
    yyaccept = 1;
12669
14.0k
    YYMARKER = ++YYCURSOR;
12670
14.0k
    YYFILL(1);
12671
14.0k
    yych = *YYCURSOR;
12672
14.0k
    YYDEBUG(1087, *YYCURSOR);
12673
14.0k
    if (yych <= '/') goto yy1088;
12674
11.6k
    if (yych <= '9') goto yy1086;
12675
3.03k
    if (yych == '_') goto yy1093;
12676
8.07k
yy1088:
12677
8.07k
    YYDEBUG(1088, *YYCURSOR);
12678
8.07k
    yyleng = YYCURSOR - SCNG(yy_text);
12679
8.07k
#line 2168 "Zend/zend_language_scanner.l"
12680
8.07k
    { /* Offset must be treated as a string */
12681
8.07k
  if (yyleng == 1) {
12682
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12683
8.07k
  } else {
12684
8.07k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12685
8.07k
  }
12686
8.07k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12687
8.07k
}
12688
0
#line 12689 "Zend/zend_language_scanner.c"
12689
1.46k
yy1089:
12690
1.46k
    YYDEBUG(1089, *YYCURSOR);
12691
1.46k
    ++YYCURSOR;
12692
1.46k
    YYFILL(1);
12693
1.46k
    yych = *YYCURSOR;
12694
1.46k
    if (yybm[0+yych] & 32) {
12695
1.05k
      goto yy1094;
12696
1.05k
    }
12697
3.57k
yy1090:
12698
3.57k
    YYDEBUG(1090, *YYCURSOR);
12699
3.57k
    YYCURSOR = YYMARKER;
12700
3.57k
    if (yyaccept == 0) {
12701
2.79k
      goto yy1075;
12702
2.79k
    } else {
12703
779
      goto yy1088;
12704
779
    }
12705
1.77k
yy1091:
12706
1.77k
    YYDEBUG(1091, *YYCURSOR);
12707
1.77k
    ++YYCURSOR;
12708
1.77k
    YYFILL(1);
12709
1.77k
    yych = *YYCURSOR;
12710
1.77k
    if (yybm[0+yych] & 64) {
12711
815
      goto yy1096;
12712
815
    }
12713
960
    goto yy1090;
12714
2.86k
yy1092:
12715
2.86k
    YYDEBUG(1092, *YYCURSOR);
12716
2.86k
    ++YYCURSOR;
12717
2.86k
    YYFILL(1);
12718
2.86k
    yych = *YYCURSOR;
12719
2.86k
    if (yybm[0+yych] & 128) {
12720
1.62k
      goto yy1098;
12721
1.62k
    }
12722
1.24k
    goto yy1090;
12723
1.96k
yy1093:
12724
1.96k
    YYDEBUG(1093, *YYCURSOR);
12725
1.96k
    ++YYCURSOR;
12726
1.96k
    YYFILL(1);
12727
1.96k
    yych = *YYCURSOR;
12728
1.96k
    if (yych <= '/') goto yy1090;
12729
1.53k
    if (yych <= '9') goto yy1086;
12730
527
    goto yy1090;
12731
1.60k
yy1094:
12732
1.60k
    YYDEBUG(1094, *YYCURSOR);
12733
1.60k
    yyaccept = 1;
12734
1.60k
    YYMARKER = ++YYCURSOR;
12735
1.60k
    YYFILL(1);
12736
1.60k
    yych = *YYCURSOR;
12737
1.60k
    YYDEBUG(1095, *YYCURSOR);
12738
1.60k
    if (yybm[0+yych] & 32) {
12739
550
      goto yy1094;
12740
550
    }
12741
1.05k
    if (yych == '_') goto yy1089;
12742
644
    goto yy1088;
12743
2.67k
yy1096:
12744
2.67k
    YYDEBUG(1096, *YYCURSOR);
12745
2.67k
    yyaccept = 1;
12746
2.67k
    YYMARKER = ++YYCURSOR;
12747
2.67k
    YYFILL(1);
12748
2.67k
    yych = *YYCURSOR;
12749
2.67k
    YYDEBUG(1097, *YYCURSOR);
12750
2.67k
    if (yybm[0+yych] & 64) {
12751
1.85k
      goto yy1096;
12752
1.85k
    }
12753
815
    if (yych == '_') goto yy1091;
12754
478
    goto yy1088;
12755
3.55k
yy1098:
12756
3.55k
    YYDEBUG(1098, *YYCURSOR);
12757
3.55k
    yyaccept = 1;
12758
3.55k
    YYMARKER = ++YYCURSOR;
12759
3.55k
    YYFILL(1);
12760
3.55k
    yych = *YYCURSOR;
12761
3.55k
    YYDEBUG(1099, *YYCURSOR);
12762
3.55k
    if (yybm[0+yych] & 128) {
12763
1.93k
      goto yy1098;
12764
1.93k
    }
12765
1.62k
    if (yych == '_') goto yy1092;
12766
1.17k
    goto yy1088;
12767
1.62k
  }
12768
/* *********************************** */
12769
1.17k
yyc_SHEBANG:
12770
0
  {
12771
0
    static const unsigned char yybm[] = {
12772
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12773
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12774
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12775
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12776
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12777
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12778
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12779
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12780
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12781
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12782
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12783
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12784
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12785
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12786
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12787
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12788
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12789
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12790
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12791
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12792
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12793
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12794
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12795
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12796
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12797
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12798
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12799
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12800
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12801
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12802
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12803
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12804
0
    };
12805
0
    YYDEBUG(1100, *YYCURSOR);
12806
0
    YYFILL(2);
12807
0
    yych = *YYCURSOR;
12808
0
    if (yych == '#') goto yy1104;
12809
0
    YYDEBUG(1102, *YYCURSOR);
12810
0
    ++YYCURSOR;
12811
0
yy1103:
12812
0
    YYDEBUG(1103, *YYCURSOR);
12813
0
    yyleng = YYCURSOR - SCNG(yy_text);
12814
0
#line 2239 "Zend/zend_language_scanner.l"
12815
0
    {
12816
0
  yyless(0);
12817
0
  BEGIN(INITIAL);
12818
0
  goto restart;
12819
0
}
12820
0
#line 12821 "Zend/zend_language_scanner.c"
12821
0
yy1104:
12822
0
    YYDEBUG(1104, *YYCURSOR);
12823
0
    yych = *++YYCURSOR;
12824
0
    if (yych != '!') goto yy1103;
12825
0
yy1105:
12826
0
    YYDEBUG(1105, *YYCURSOR);
12827
0
    ++YYCURSOR;
12828
0
    YYFILL(1);
12829
0
    yych = *YYCURSOR;
12830
0
    YYDEBUG(1106, *YYCURSOR);
12831
0
    if (yybm[0+yych] & 128) {
12832
0
      goto yy1105;
12833
0
    }
12834
0
    YYDEBUG(1107, *YYCURSOR);
12835
0
    ++YYCURSOR;
12836
0
    YYDEBUG(1108, *YYCURSOR);
12837
0
    yyleng = YYCURSOR - SCNG(yy_text);
12838
0
#line 2233 "Zend/zend_language_scanner.l"
12839
0
    {
12840
0
  CG(zend_lineno)++;
12841
0
  BEGIN(INITIAL);
12842
0
  goto restart;
12843
0
}
12844
0
#line 12845 "Zend/zend_language_scanner.c"
12845
0
  }
12846
/* *********************************** */
12847
482k
yyc_INITIAL:
12848
482k
  YYDEBUG(1109, *YYCURSOR);
12849
482k
  YYFILL(7);
12850
482k
  yych = *YYCURSOR;
12851
482k
  if (yych == '<') goto yy1113;
12852
224k
  YYDEBUG(1111, *YYCURSOR);
12853
224k
  ++YYCURSOR;
12854
234k
yy1112:
12855
234k
  YYDEBUG(1112, *YYCURSOR);
12856
234k
  yyleng = YYCURSOR - SCNG(yy_text);
12857
234k
#line 2285 "Zend/zend_language_scanner.l"
12858
234k
  {
12859
234k
  if (YYCURSOR > YYLIMIT) {
12860
69.5k
    RETURN_END_TOKEN;
12861
69.5k
  }
12862
12863
165k
inline_char_handler:
12864
12865
414k
  while (1) {
12866
414k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
12867
12868
414k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
12869
12870
414k
    if (YYCURSOR >= YYLIMIT) {
12871
32.8k
      break;
12872
32.8k
    }
12873
12874
381k
    if (*YYCURSOR == '?') {
12875
132k
      if (CG(short_tags) /* <? */
12876
132k
        || (*(YYCURSOR + 1) == '=') /* <?= */
12877
132k
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
12878
0
          (YYCURSOR + 4 == YYLIMIT ||
12879
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
12880
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
12881
132k
      ) {
12882
132k
        YYCURSOR--;
12883
132k
        break;
12884
132k
      }
12885
132k
    }
12886
381k
  }
12887
12888
165k
  yyleng = YYCURSOR - SCNG(yy_text);
12889
12890
165k
  if (SCNG(output_filter)) {
12891
0
    size_t readsize;
12892
0
    char *s = NULL;
12893
0
    size_t sz = 0;
12894
    // TODO: avoid reallocation ???
12895
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
12896
0
    ZVAL_STRINGL(zendlval, s, sz);
12897
0
    efree(s);
12898
0
    if (readsize < yyleng) {
12899
0
      yyless(readsize);
12900
0
    }
12901
165k
  } else if (yyleng == 1) {
12902
14.1k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
12903
150k
  } else {
12904
150k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12905
150k
  }
12906
165k
  HANDLE_NEWLINES(yytext, yyleng);
12907
165k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
12908
165k
}
12909
0
#line 12910 "Zend/zend_language_scanner.c"
12910
258k
yy1113:
12911
258k
  YYDEBUG(1113, *YYCURSOR);
12912
258k
  yych = *++YYCURSOR;
12913
258k
  if (yych != '?') goto yy1112;
12914
248k
  YYDEBUG(1114, *YYCURSOR);
12915
248k
  yych = *(YYMARKER = ++YYCURSOR);
12916
248k
  if (yych <= 'O') {
12917
60.6k
    if (yych == '=') goto yy1116;
12918
187k
  } else {
12919
187k
    if (yych <= 'P') goto yy1118;
12920
186k
    if (yych == 'p') goto yy1118;
12921
186k
  }
12922
126k
yy1115:
12923
126k
  YYDEBUG(1115, *YYCURSOR);
12924
126k
  yyleng = YYCURSOR - SCNG(yy_text);
12925
126k
#line 2276 "Zend/zend_language_scanner.l"
12926
126k
  {
12927
126k
  if (CG(short_tags)) {
12928
126k
    BEGIN(ST_IN_SCRIPTING);
12929
126k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12930
126k
  } else {
12931
0
    goto inline_char_handler;
12932
0
  }
12933
126k
}
12934
0
#line 12935 "Zend/zend_language_scanner.c"
12935
1.83k
yy1116:
12936
1.83k
  YYDEBUG(1116, *YYCURSOR);
12937
1.83k
  ++YYCURSOR;
12938
1.83k
  YYDEBUG(1117, *YYCURSOR);
12939
1.83k
  yyleng = YYCURSOR - SCNG(yy_text);
12940
1.83k
#line 2245 "Zend/zend_language_scanner.l"
12941
1.83k
  {
12942
1.83k
  BEGIN(ST_IN_SCRIPTING);
12943
1.83k
  if (PARSER_MODE()) {
12944
    /* We'll reject this as an identifier in zend_lex_tstring. */
12945
591
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
12946
591
  }
12947
1.24k
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
12948
1.24k
}
12949
0
#line 12950 "Zend/zend_language_scanner.c"
12950
126k
yy1118:
12951
126k
  YYDEBUG(1118, *YYCURSOR);
12952
126k
  yych = *++YYCURSOR;
12953
126k
  if (yych == 'H') goto yy1120;
12954
125k
  if (yych == 'h') goto yy1120;
12955
7.03k
yy1119:
12956
7.03k
  YYDEBUG(1119, *YYCURSOR);
12957
7.03k
  YYCURSOR = YYMARKER;
12958
7.03k
  goto yy1115;
12959
122k
yy1120:
12960
122k
  YYDEBUG(1120, *YYCURSOR);
12961
122k
  yych = *++YYCURSOR;
12962
122k
  if (yych == 'P') goto yy1121;
12963
121k
  if (yych != 'p') goto yy1119;
12964
119k
yy1121:
12965
119k
  YYDEBUG(1121, *YYCURSOR);
12966
119k
  yych = *++YYCURSOR;
12967
119k
  if (yych <= '\f') {
12968
100k
    if (yych <= 0x08) goto yy1122;
12969
100k
    if (yych <= '\n') goto yy1123;
12970
100k
  } else {
12971
19.1k
    if (yych <= '\r') goto yy1125;
12972
18.6k
    if (yych == ' ') goto yy1123;
12973
18.6k
  }
12974
4.91k
yy1122:
12975
4.91k
  YYDEBUG(1122, *YYCURSOR);
12976
4.91k
  yyleng = YYCURSOR - SCNG(yy_text);
12977
4.91k
#line 2261 "Zend/zend_language_scanner.l"
12978
4.91k
  {
12979
  /* Allow <?php followed by end of file. */
12980
4.91k
  if (YYCURSOR == YYLIMIT) {
12981
204
    BEGIN(ST_IN_SCRIPTING);
12982
204
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12983
204
  }
12984
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
12985
4.71k
  if (CG(short_tags)) {
12986
4.71k
    yyless(2);
12987
4.71k
    BEGIN(ST_IN_SCRIPTING);
12988
4.71k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12989
4.71k
  }
12990
0
  goto inline_char_handler;
12991
4.71k
}
12992
0
#line 12993 "Zend/zend_language_scanner.c"
12993
114k
yy1123:
12994
114k
  YYDEBUG(1123, *YYCURSOR);
12995
114k
  ++YYCURSOR;
12996
114k
yy1124:
12997
114k
  YYDEBUG(1124, *YYCURSOR);
12998
114k
  yyleng = YYCURSOR - SCNG(yy_text);
12999
114k
#line 2255 "Zend/zend_language_scanner.l"
13000
114k
  {
13001
114k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13002
114k
  BEGIN(ST_IN_SCRIPTING);
13003
114k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13004
114k
}
13005
0
#line 13006 "Zend/zend_language_scanner.c"
13006
533
yy1125:
13007
533
  YYDEBUG(1125, *YYCURSOR);
13008
533
  yych = *++YYCURSOR;
13009
533
  if (yych == '\n') goto yy1123;
13010
291
  goto yy1124;
13011
/* *********************************** */
13012
42.3k
yyc_ST_END_HEREDOC:
13013
42.3k
  YYDEBUG(1126, *YYCURSOR);
13014
42.3k
  YYFILL(1);
13015
42.3k
  yych = *YYCURSOR;
13016
42.3k
  YYDEBUG(1128, *YYCURSOR);
13017
42.3k
  ++YYCURSOR;
13018
42.3k
  YYDEBUG(1129, *YYCURSOR);
13019
42.3k
  yyleng = YYCURSOR - SCNG(yy_text);
13020
42.3k
#line 2774 "Zend/zend_language_scanner.l"
13021
42.3k
  {
13022
42.3k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13023
13024
42.3k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13025
42.3k
  YYCURSOR += yyleng - 1;
13026
13027
42.3k
  heredoc_label_dtor(heredoc_label);
13028
42.3k
  efree(heredoc_label);
13029
13030
42.3k
  BEGIN(ST_IN_SCRIPTING);
13031
42.3k
  RETURN_TOKEN(T_END_HEREDOC);
13032
42.3k
}
13033
0
#line 13034 "Zend/zend_language_scanner.c"
13034
/* *********************************** */
13035
20.5k
yyc_ST_NOWDOC:
13036
20.5k
  YYDEBUG(1130, *YYCURSOR);
13037
20.5k
  YYFILL(1);
13038
20.5k
  yych = *YYCURSOR;
13039
20.5k
  YYDEBUG(1132, *YYCURSOR);
13040
20.5k
  ++YYCURSOR;
13041
20.5k
  YYDEBUG(1133, *YYCURSOR);
13042
20.5k
  yyleng = YYCURSOR - SCNG(yy_text);
13043
20.5k
#line 3031 "Zend/zend_language_scanner.l"
13044
20.5k
  {
13045
20.5k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13046
20.5k
  int newline = 0, indentation = 0, spacing = -1;
13047
13048
20.5k
  if (YYCURSOR > YYLIMIT) {
13049
2.72k
    RETURN_END_TOKEN;
13050
2.72k
  }
13051
13052
17.8k
  YYCURSOR--;
13053
13054
3.22M
  while (YYCURSOR < YYLIMIT) {
13055
3.22M
    switch (*YYCURSOR++) {
13056
28.1k
      case '\r':
13057
28.1k
        if (*YYCURSOR == '\n') {
13058
1.50k
          YYCURSOR++;
13059
1.50k
        }
13060
28.1k
        ZEND_FALLTHROUGH;
13061
193k
      case '\n':
13062
193k
        indentation = spacing = 0;
13063
13064
310k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13065
116k
          if (*YYCURSOR == '\t') {
13066
1.62k
            spacing |= HEREDOC_USING_TABS;
13067
114k
          } else {
13068
114k
            spacing |= HEREDOC_USING_SPACES;
13069
114k
          }
13070
116k
          ++YYCURSOR;
13071
116k
          ++indentation;
13072
116k
        }
13073
13074
193k
        if (YYCURSOR == YYLIMIT) {
13075
570
          yyleng = YYCURSOR - SCNG(yy_text);
13076
570
          HANDLE_NEWLINES(yytext, yyleng);
13077
570
          ZVAL_NULL(zendlval);
13078
570
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13079
570
        }
13080
13081
        /* Check for ending label on the next line */
13082
193k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13083
17.2k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13084
2.20k
            continue;
13085
2.20k
          }
13086
13087
15.0k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13088
74
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13089
74
            if (PARSER_MODE()) {
13090
8
              RETURN_TOKEN(T_ERROR);
13091
8
            }
13092
74
          }
13093
13094
          /* newline before label will be subtracted from returned text, but
13095
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13096
15.0k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13097
250
            newline = 2; /* Windows newline */
13098
14.8k
          } else {
13099
14.8k
            newline = 1;
13100
14.8k
          }
13101
13102
15.0k
          CG(increment_lineno) = 1; /* For newline before label */
13103
13104
15.0k
          YYCURSOR -= indentation;
13105
15.0k
          heredoc_label->indentation = indentation;
13106
13107
15.0k
          BEGIN(ST_END_HEREDOC);
13108
13109
15.0k
          goto nowdoc_scan_done;
13110
15.0k
        }
13111
175k
        ZEND_FALLTHROUGH;
13112
3.20M
      default:
13113
3.20M
        continue;
13114
3.22M
    }
13115
3.22M
  }
13116
13117
17.2k
nowdoc_scan_done:
13118
17.2k
  yyleng = YYCURSOR - SCNG(yy_text);
13119
17.2k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13120
13121
17.2k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13122
2.47k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13123
2.47k
    if (!strip_multiline_string_indentation(
13124
2.47k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13125
2.47k
        newline_at_start, newline != 0)) {
13126
35
      RETURN_TOKEN(T_ERROR);
13127
35
    }
13128
2.47k
  }
13129
13130
17.2k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13131
17.2k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13132
17.2k
}
13133
17.2k
#line 13134 "Zend/zend_language_scanner.c"
13134
17.2k
}
13135
0
#line 3130 "Zend/zend_language_scanner.l"
13136
13137
13138
9.65M
emit_token_with_str:
13139
9.65M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13140
13141
15.6M
emit_token_with_val:
13142
15.6M
  if (PARSER_MODE()) {
13143
4.30M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13144
4.30M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13145
4.30M
  }
13146
13147
51.0M
emit_token:
13148
51.0M
  if (SCNG(on_event)) {
13149
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13150
0
  }
13151
51.0M
  return token;
13152
13153
1.82M
emit_token_with_ident:
13154
1.82M
  if (PARSER_MODE()) {
13155
743k
    elem->ident = SCNG(yy_text);
13156
743k
  }
13157
1.82M
  if (SCNG(on_event)) {
13158
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13159
0
  }
13160
1.82M
  return token;
13161
13162
8.80M
return_whitespace:
13163
8.80M
  HANDLE_NEWLINES(yytext, yyleng);
13164
8.80M
  if (SCNG(on_event)) {
13165
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13166
0
  }
13167
8.80M
  if (PARSER_MODE()) {
13168
3.21M
    start_line = CG(zend_lineno);
13169
3.21M
    goto restart;
13170
5.58M
  } else {
13171
5.58M
    return T_WHITESPACE;
13172
5.58M
  }
13173
13174
324k
skip_token:
13175
324k
  if (SCNG(on_event)) {
13176
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13177
0
  }
13178
324k
  start_line = CG(zend_lineno);
13179
324k
  goto restart;
13180
8.80M
}