Coverage Report

Created: 2025-12-31 07:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include <stdint.h>
36
#include "zend.h"
37
#ifdef ZEND_WIN32
38
# include <Winuser.h>
39
#endif
40
#include "zend_alloc.h"
41
#include <zend_language_parser.h>
42
#include "zend_compile.h"
43
#include "zend_language_scanner.h"
44
#include "zend_highlight.h"
45
#include "zend_constants.h"
46
#include "zend_variables.h"
47
#include "zend_operators.h"
48
#include "zend_API.h"
49
#include "zend_strtod.h"
50
#include "zend_exceptions.h"
51
#include "zend_virtual_cwd.h"
52
53
31.6M
#define YYCTYPE   unsigned char
54
80.0M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
507M
#define YYCURSOR  SCNG(yy_cursor)
56
157M
#define YYLIMIT   SCNG(yy_limit)
57
29.1M
#define YYMARKER  SCNG(yy_marker)
58
59
107M
#define YYGETCONDITION()  SCNG(yy_state)
60
14.4M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
3.53M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
221k
#define YYSTATE      YYGETCONDITION()
67
14.8M
#define yytext       ((char*)SCNG(yy_text))
68
44.5M
#define yyleng       SCNG(yy_leng)
69
3.46M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
3.46M
                          yyleng   = (unsigned int)x; } while(0)
71
#define yymore()     goto yymore_restart
72
73
/* perform sanity check. If this message is triggered you should
74
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
75
#define YYMAXFILL 16
76
77
#if ZEND_MMAP_AHEAD < YYMAXFILL
78
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
79
#endif
80
81
#include <stdarg.h>
82
83
#ifdef HAVE_UNISTD_H
84
# include <unistd.h>
85
#endif
86
87
/* Globals Macros */
88
1.02G
#define SCNG  LANG_SCNG
89
#ifdef ZTS
90
ZEND_API ts_rsrc_id language_scanner_globals_id;
91
ZEND_API size_t language_scanner_globals_offset;
92
#else
93
ZEND_API zend_php_scanner_globals language_scanner_globals;
94
#endif
95
96
4.28M
#define HANDLE_NEWLINES(s, l)                         \
97
4.28M
do {                                     \
98
4.28M
  char *p = (s), *boundary = p+(l);                     \
99
4.28M
                                        \
100
36.5M
  while (p<boundary) {                           \
101
32.2M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
3.84M
      CG(zend_lineno)++;                          \
103
3.84M
    }                                    \
104
32.2M
    p++;                                  \
105
32.2M
  }                                      \
106
4.28M
} while (0)
107
108
231k
#define HANDLE_NEWLINE(c) \
109
231k
{ \
110
231k
  if (c == '\n' || c == '\r') { \
111
39.3k
    CG(zend_lineno)++; \
112
39.3k
  } \
113
231k
}
114
115
/* To save initial string length after scanning to first variable */
116
151k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
362k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
5.44M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
32.0k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
82.5k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
28.2k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
124
125
126
static void strip_underscores(char *str, size_t *len)
127
5.67k
{
128
5.67k
  char *src = str, *dest = str;
129
120k
  while (*src != '\0') {
130
114k
    if (*src != '_') {
131
107k
      *dest = *src;
132
107k
      dest++;
133
107k
    } else {
134
7.43k
      --(*len);
135
7.43k
    }
136
114k
    src++;
137
114k
  }
138
5.67k
  *dest = '\0';
139
5.67k
}
140
141
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
142
0
{
143
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
144
0
  ZEND_ASSERT(internal_encoding);
145
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
146
0
}
147
148
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
149
0
{
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
156
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
157
0
}
158
159
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
160
0
{
161
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
162
0
  ZEND_ASSERT(internal_encoding);
163
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
164
0
internal_encoding, zend_multibyte_encoding_utf8);
165
0
}
166
167
168
static void _yy_push_state(int new_state)
169
7.20M
{
170
7.20M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
7.20M
  YYSETCONDITION(new_state);
172
7.20M
}
173
174
7.20M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
3.53M
{
178
3.53M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
3.53M
  YYSETCONDITION(*stack_state);
180
3.53M
  zend_stack_del_top(&SCNG(state_stack));
181
3.53M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
77.4k
{
185
77.4k
  YYCURSOR       = (YYCTYPE*)str;
186
77.4k
  YYLIMIT        = YYCURSOR + len;
187
77.4k
  if (!SCNG(yy_start)) {
188
5.48k
    SCNG(yy_start) = YYCURSOR;
189
5.48k
  }
190
77.4k
}
191
192
void startup_scanner(void)
193
222k
{
194
222k
  CG(parse_error) = 0;
195
222k
  CG(doc_comment) = NULL;
196
222k
  CG(extra_fn_flags) = 0;
197
222k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
222k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
222k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
222k
  SCNG(heredoc_scan_ahead) = 0;
201
222k
}
202
203
5.40M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
5.40M
    efree(heredoc_label->label);
205
5.40M
}
206
207
void shutdown_scanner(void)
208
222k
{
209
222k
  CG(parse_error) = 0;
210
222k
  RESET_DOC_COMMENT();
211
222k
  zend_stack_destroy(&SCNG(state_stack));
212
222k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
222k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
222k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
222k
  SCNG(heredoc_scan_ahead) = 0;
216
222k
  SCNG(on_event) = NULL;
217
222k
  SCNG(on_event_context) = NULL;
218
222k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
221k
{
222
221k
  lex_state->yy_leng   = SCNG(yy_leng);
223
221k
  lex_state->yy_start  = SCNG(yy_start);
224
221k
  lex_state->yy_text   = SCNG(yy_text);
225
221k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
221k
  lex_state->yy_marker = SCNG(yy_marker);
227
221k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
221k
  lex_state->state_stack = SCNG(state_stack);
230
221k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
221k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
221k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
221k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
221k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
221k
  lex_state->in = SCNG(yy_in);
239
221k
  lex_state->yy_state = YYSTATE;
240
221k
  lex_state->filename = CG(compiled_filename);
241
221k
  lex_state->lineno = CG(zend_lineno);
242
221k
  CG(compiled_filename) = NULL;
243
244
221k
  lex_state->script_org = SCNG(script_org);
245
221k
  lex_state->script_org_size = SCNG(script_org_size);
246
221k
  lex_state->script_filtered = SCNG(script_filtered);
247
221k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
221k
  lex_state->input_filter = SCNG(input_filter);
249
221k
  lex_state->output_filter = SCNG(output_filter);
250
221k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
221k
  lex_state->on_event = SCNG(on_event);
253
221k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
221k
  lex_state->ast = CG(ast);
256
221k
  lex_state->ast_arena = CG(ast_arena);
257
221k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
217k
{
261
217k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
217k
  SCNG(yy_start)  = lex_state->yy_start;
263
217k
  SCNG(yy_text)   = lex_state->yy_text;
264
217k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
217k
  SCNG(yy_marker) = lex_state->yy_marker;
266
217k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
217k
  zend_stack_destroy(&SCNG(state_stack));
269
217k
  SCNG(state_stack) = lex_state->state_stack;
270
271
217k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
217k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
217k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
217k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
217k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
217k
  SCNG(yy_in) = lex_state->in;
279
217k
  YYSETCONDITION(lex_state->yy_state);
280
217k
  CG(zend_lineno) = lex_state->lineno;
281
217k
  zend_restore_compiled_filename(lex_state->filename);
282
283
217k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
284
0
    efree(SCNG(script_filtered));
285
0
    SCNG(script_filtered) = NULL;
286
0
  }
287
217k
  SCNG(script_org) = lex_state->script_org;
288
217k
  SCNG(script_org_size) = lex_state->script_org_size;
289
217k
  SCNG(script_filtered) = lex_state->script_filtered;
290
217k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
217k
  SCNG(input_filter) = lex_state->input_filter;
292
217k
  SCNG(output_filter) = lex_state->output_filter;
293
217k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
217k
  SCNG(on_event) = lex_state->on_event;
296
217k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
217k
  CG(ast) = lex_state->ast;
299
217k
  CG(ast_arena) = lex_state->ast_arena;
300
301
217k
  RESET_DOC_COMMENT();
302
217k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
9.67k
{
306
9.67k
  unsigned char *end = ident;
307
60.9k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
51.2k
    end++;
309
51.2k
  }
310
311
9.67k
  size_t length = end - ident;
312
9.67k
  if (length == 0) {
313
5
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
5
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
5
    return FAILURE;
316
5
  }
317
318
9.67k
  if (SCNG(on_event)) {
319
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
320
0
  }
321
322
9.67k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
9.67k
  return SUCCESS;
324
9.67k
}
325
326
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
327
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
328
0
#define BOM_UTF16_BE  "\xfe\xff"
329
0
#define BOM_UTF16_LE  "\xff\xfe"
330
0
#define BOM_UTF8    "\xef\xbb\xbf"
331
332
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
333
0
{
334
0
  const unsigned char *p;
335
0
  int wchar_size = 2;
336
0
  int le = 0;
337
338
  /* utf-16 or utf-32? */
339
0
  p = script;
340
0
  assert(p >= script);
341
0
  while ((size_t)(p-script) < script_size) {
342
0
    p = memchr(p, 0, script_size-(p-script)-2);
343
0
    if (!p) {
344
0
      break;
345
0
    }
346
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
347
0
      wchar_size = 4;
348
0
      break;
349
0
    }
350
351
    /* searching for UTF-32 specific byte orders, so this will do */
352
0
    p += 4;
353
0
  }
354
355
  /* BE or LE? */
356
0
  p = script;
357
0
  assert(p >= script);
358
0
  while ((size_t)(p-script) < script_size) {
359
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
360
      /* BE */
361
0
      le = 0;
362
0
      break;
363
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
364
      /* LE* */
365
0
      le = 1;
366
0
      break;
367
0
    }
368
0
    p += wchar_size;
369
0
  }
370
371
0
  if (wchar_size == 2) {
372
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
373
0
  } else {
374
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
375
0
  }
376
377
0
  return NULL;
378
0
}
379
380
static const zend_encoding* zend_multibyte_detect_unicode(void)
381
0
{
382
0
  const zend_encoding *script_encoding = NULL;
383
0
  int bom_size;
384
0
  unsigned char *pos1, *pos2;
385
386
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
387
0
    return NULL;
388
0
  }
389
390
  /* check out BOM */
391
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
392
0
    script_encoding = zend_multibyte_encoding_utf32be;
393
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
394
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
395
0
    script_encoding = zend_multibyte_encoding_utf32le;
396
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
397
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
398
0
    script_encoding = zend_multibyte_encoding_utf16be;
399
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
400
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
401
0
    script_encoding = zend_multibyte_encoding_utf16le;
402
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
403
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
404
0
    script_encoding = zend_multibyte_encoding_utf8;
405
0
    bom_size = sizeof(BOM_UTF8)-1;
406
0
  }
407
408
0
  if (script_encoding) {
409
    /* remove BOM */
410
0
    LANG_SCNG(script_org) += bom_size;
411
0
    LANG_SCNG(script_org_size) -= bom_size;
412
413
0
    return script_encoding;
414
0
  }
415
416
  /* script contains NULL bytes -> auto-detection */
417
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
418
    /* check if the NULL byte is after the __HALT_COMPILER(); */
419
0
    pos2 = LANG_SCNG(script_org);
420
421
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
422
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
423
0
      if (!pos2) break;
424
0
      pos2++;
425
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
426
0
        pos2 += sizeof("_HALT_COMPILER")-1;
427
0
        while (*pos2 == ' '  ||
428
0
             *pos2 == '\t' ||
429
0
             *pos2 == '\r' ||
430
0
             *pos2 == '\n') {
431
0
          pos2++;
432
0
        }
433
0
        if (*pos2 == '(') {
434
0
          pos2++;
435
0
          while (*pos2 == ' '  ||
436
0
               *pos2 == '\t' ||
437
0
               *pos2 == '\r' ||
438
0
               *pos2 == '\n') {
439
0
            pos2++;
440
0
          }
441
0
          if (*pos2 == ')') {
442
0
            pos2++;
443
0
            while (*pos2 == ' '  ||
444
0
                 *pos2 == '\t' ||
445
0
                 *pos2 == '\r' ||
446
0
                 *pos2 == '\n') {
447
0
              pos2++;
448
0
            }
449
0
            if (*pos2 == ';') {
450
0
              return NULL;
451
0
            }
452
0
          }
453
0
        }
454
0
      }
455
0
    }
456
    /* make best effort if BOM is missing */
457
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
458
0
  }
459
460
0
  return NULL;
461
0
}
462
463
static const zend_encoding* zend_multibyte_find_script_encoding(void)
464
0
{
465
0
  const zend_encoding *script_encoding;
466
467
0
  if (CG(detect_unicode)) {
468
    /* check out bom(byte order mark) and see if containing wchars */
469
0
    script_encoding = zend_multibyte_detect_unicode();
470
0
    if (script_encoding != NULL) {
471
      /* bom or wchar detection is prior to 'script_encoding' option */
472
0
      return script_encoding;
473
0
    }
474
0
  }
475
476
  /* if no script_encoding specified, just leave alone */
477
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
478
0
    return NULL;
479
0
  }
480
481
  /* if multiple encodings specified, detect automagically */
482
0
  if (CG(script_encoding_list_size) > 1) {
483
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
484
0
  }
485
486
0
  return CG(script_encoding_list)[0];
487
0
}
488
489
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
490
0
{
491
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
492
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
493
494
0
  if (!script_encoding) {
495
0
    return FAILURE;
496
0
  }
497
498
  /* judge input/output filter */
499
0
  LANG_SCNG(script_encoding) = script_encoding;
500
0
  LANG_SCNG(input_filter) = NULL;
501
0
  LANG_SCNG(output_filter) = NULL;
502
503
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
504
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
505
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
506
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
507
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
508
0
    } else {
509
0
      LANG_SCNG(input_filter) = NULL;
510
0
      LANG_SCNG(output_filter) = NULL;
511
0
    }
512
0
    return SUCCESS;
513
0
  }
514
515
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
516
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
517
0
    LANG_SCNG(output_filter) = NULL;
518
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
519
0
    LANG_SCNG(input_filter) = NULL;
520
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
521
0
  } else {
522
    /* both script and internal encodings are incompatible w/ flex */
523
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
524
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
525
0
  }
526
527
0
  return SUCCESS;
528
0
}
529
530
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
531
73.2k
{
532
73.2k
  char *buf;
533
73.2k
  size_t size;
534
73.2k
  zend_string *compiled_filename;
535
536
73.2k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
667
    zend_llist_add_element(&CG(open_files), file_handle);
539
667
    file_handle->in_list = 1;
540
667
    return FAILURE;
541
667
  }
542
543
72.5k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
72.5k
  zend_llist_add_element(&CG(open_files), file_handle);
545
71.9k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
71.9k
  SCNG(yy_in) = file_handle;
549
71.9k
  SCNG(yy_start) = NULL;
550
551
71.9k
  if (size != (size_t)-1) {
552
71.9k
    if (CG(multibyte)) {
553
0
      SCNG(script_org) = (unsigned char*)buf;
554
0
      SCNG(script_org_size) = size;
555
0
      SCNG(script_filtered) = NULL;
556
557
0
      zend_multibyte_set_filter(NULL);
558
559
0
      if (SCNG(input_filter)) {
560
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
561
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
562
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
563
0
        }
564
0
        buf = (char*)SCNG(script_filtered);
565
0
        size = SCNG(script_filtered_size);
566
0
      }
567
0
    }
568
71.9k
    SCNG(yy_start) = (unsigned char *)buf;
569
71.9k
    yy_scan_buffer(buf, size);
570
71.9k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
71.9k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
71.9k
  } else {
577
71.9k
    BEGIN(INITIAL);
578
71.9k
  }
579
580
71.9k
  if (file_handle->opened_path) {
581
3
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
71.9k
  } else {
583
71.9k
    compiled_filename = zend_string_copy(file_handle->filename);
584
71.9k
  }
585
586
71.9k
  zend_set_compiled_filename(compiled_filename);
587
71.9k
  zend_string_release_ex(compiled_filename, 0);
588
589
71.9k
  SCNG(on_event) = NULL;
590
71.9k
  SCNG(on_event_context) = NULL;
591
71.9k
  RESET_DOC_COMMENT();
592
71.9k
  CG(zend_lineno) = 1;
593
71.9k
  CG(increment_lineno) = 0;
594
71.9k
  return SUCCESS;
595
71.9k
}
596
597
static zend_op_array *zend_compile(int type)
598
72.3k
{
599
72.3k
  zend_op_array *op_array = NULL;
600
72.3k
  bool original_in_compilation = CG(in_compilation);
601
602
72.3k
  CG(in_compilation) = 1;
603
72.3k
  CG(ast) = NULL;
604
72.3k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
72.3k
  if (!zendparse()) {
607
42.3k
    uint32_t last_lineno = CG(zend_lineno);
608
42.3k
    zend_file_context original_file_context;
609
42.3k
    zend_oparray_context original_oparray_context;
610
42.3k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
42.3k
    op_array = emalloc(sizeof(zend_op_array));
613
42.3k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
42.3k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
42.3k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
42.3k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
42.3k
    zend_file_context_begin(&original_file_context);
624
42.3k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
42.3k
    zend_compile_top_stmt(CG(ast));
626
42.3k
    CG(zend_lineno) = last_lineno;
627
42.3k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
42.3k
    op_array->line_start = 1;
629
42.3k
    op_array->line_end = last_lineno;
630
42.3k
    pass_two(op_array);
631
42.3k
    zend_oparray_context_end(&original_oparray_context);
632
42.3k
    zend_file_context_end(&original_file_context);
633
634
42.3k
    CG(active_op_array) = original_active_op_array;
635
42.3k
  }
636
637
72.3k
  zend_ast_destroy(CG(ast));
638
72.3k
  zend_arena_destroy(CG(ast_arena));
639
640
72.3k
  CG(in_compilation) = original_in_compilation;
641
642
72.3k
  return op_array;
643
72.3k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
73.2k
{
647
73.2k
  zend_lex_state original_lex_state;
648
73.2k
  zend_op_array *op_array = NULL;
649
73.2k
  zend_save_lexical_state(&original_lex_state);
650
651
73.2k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
667
    if (!EG(exception)) {
653
664
      if (type==ZEND_REQUIRE) {
654
662
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
662
      } else {
656
2
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
2
      }
658
664
    }
659
72.5k
  } else {
660
72.5k
    bool orig_record_errors = EG(record_errors);
661
72.5k
    if (!orig_record_errors) {
662
0
      zend_begin_record_errors();
663
0
    }
664
665
72.5k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
72.5k
    if (!orig_record_errors) {
668
0
      zend_emit_recorded_errors();
669
0
      zend_free_recorded_errors();
670
0
    }
671
72.5k
  }
672
673
73.2k
  zend_restore_lexical_state(&original_lex_state);
674
73.2k
  return op_array;
675
73.2k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
1
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
1
  zval code_zv;
680
1
  bool original_in_compilation;
681
1
  zend_lex_state original_lex_state;
682
1
  zend_ast *ast;
683
684
1
  ZVAL_STR_COPY(&code_zv, code);
685
686
1
  original_in_compilation = CG(in_compilation);
687
1
  CG(in_compilation) = 1;
688
689
1
  zend_save_lexical_state(&original_lex_state);
690
1
  zend_prepare_string_for_scanning(&code_zv, filename);
691
1
  CG(ast) = NULL;
692
1
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
1
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
1
  if (zendparse() != 0) {
696
0
    zend_ast_destroy(CG(ast));
697
0
    zend_arena_destroy(CG(ast_arena));
698
0
    CG(ast) = NULL;
699
0
  }
700
701
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
702
1
  ast = CG(ast);
703
1
  *ast_arena = CG(ast_arena);
704
705
1
  zend_restore_lexical_state(&original_lex_state);
706
1
  CG(in_compilation) = original_in_compilation;
707
708
1
  zval_ptr_dtor_str(&code_zv);
709
710
1
  return ast;
711
1
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
38.8k
{
715
38.8k
  zend_file_handle file_handle;
716
38.8k
  zend_op_array *retval;
717
38.8k
  zend_string *opened_path = NULL;
718
719
38.8k
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
38.8k
  retval = zend_compile_file(&file_handle, type);
722
38.8k
  if (retval && file_handle.handle.stream.handle) {
723
2
    if (!file_handle.opened_path) {
724
0
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
0
    }
726
727
2
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
2
    if (opened_path) {
730
0
      zend_string_release_ex(opened_path, 0);
731
0
    }
732
2
  }
733
38.8k
  zend_destroy_file_handle(&file_handle);
734
735
38.8k
  return retval;
736
38.8k
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
5.48k
{
740
5.48k
  char *buf;
741
5.48k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
5.48k
  old_len = Z_STRLEN_P(str);
745
5.48k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
5.48k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
5.48k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
5.48k
  SCNG(yy_in) = NULL;
750
5.48k
  SCNG(yy_start) = NULL;
751
752
5.48k
  buf = Z_STRVAL_P(str);
753
5.48k
  size = old_len;
754
755
5.48k
  if (CG(multibyte)) {
756
0
    SCNG(script_org) = (unsigned char*)buf;
757
0
    SCNG(script_org_size) = size;
758
0
    SCNG(script_filtered) = NULL;
759
760
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
761
762
0
    if (SCNG(input_filter)) {
763
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
764
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
765
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
766
0
      }
767
0
      buf = (char*)SCNG(script_filtered);
768
0
      size = SCNG(script_filtered_size);
769
0
    }
770
0
  }
771
772
5.48k
  yy_scan_buffer(buf, size);
773
5.48k
  zend_set_compiled_filename(filename);
774
5.48k
  CG(zend_lineno) = 1;
775
5.48k
  CG(increment_lineno) = 0;
776
5.48k
  SCNG(on_event) = NULL;
777
5.48k
  SCNG(on_event_context) = NULL;
778
5.48k
  RESET_DOC_COMMENT();
779
5.48k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
22
{
784
22
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
22
  if (SCNG(input_filter)) {
786
0
    size_t original_offset = offset, length = 0;
787
0
    do {
788
0
      unsigned char *p = NULL;
789
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
790
0
        return (size_t)-1;
791
0
      }
792
0
      efree(p);
793
0
      if (length > original_offset) {
794
0
        offset--;
795
0
      } else if (length < original_offset) {
796
0
        offset++;
797
0
      }
798
0
    } while (original_offset != length);
799
0
  }
800
22
  return offset;
801
22
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
445
{
805
445
  zend_lex_state original_lex_state;
806
445
  zend_op_array *op_array = NULL;
807
445
  zval tmp;
808
445
  zend_string *filename_str;
809
810
445
  if (ZSTR_LEN(source_string) == 0) {
811
1
    return NULL;
812
1
  }
813
814
444
  ZVAL_STR_COPY(&tmp, source_string);
815
816
444
  zend_save_lexical_state(&original_lex_state);
817
444
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
444
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
444
  zend_string_release(filename_str);
820
821
444
  switch (position) {
822
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
823
0
      BEGIN(SHEBANG);
824
0
      break;
825
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
826
0
      BEGIN(INITIAL);
827
0
      break;
828
444
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
444
      BEGIN(ST_IN_SCRIPTING);
830
444
      break;
831
444
  }
832
833
444
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
444
  zend_restore_lexical_state(&original_lex_state);
836
444
  zval_ptr_dtor(&tmp);
837
838
444
  return op_array;
839
444
}
840
841
842
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
843
0
{
844
0
  zend_lex_state original_lex_state;
845
0
  zend_file_handle file_handle;
846
847
0
  zend_stream_init_filename(&file_handle, filename);
848
0
  zend_save_lexical_state(&original_lex_state);
849
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
850
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
851
0
    zend_destroy_file_handle(&file_handle);
852
0
    zend_restore_lexical_state(&original_lex_state);
853
0
    return FAILURE;
854
0
  }
855
0
  zend_highlight(syntax_highlighter_ini);
856
0
  if (SCNG(script_filtered)) {
857
0
    efree(SCNG(script_filtered));
858
0
    SCNG(script_filtered) = NULL;
859
0
  }
860
0
  zend_destroy_file_handle(&file_handle);
861
0
  zend_restore_lexical_state(&original_lex_state);
862
0
  return SUCCESS;
863
0
}
864
865
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
866
5.04k
{
867
5.04k
  zend_lex_state original_lex_state;
868
5.04k
  zval str_zv;
869
5.04k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
5.04k
  ZVAL_STR_COPY(&str_zv, str);
871
5.04k
  zend_save_lexical_state(&original_lex_state);
872
5.04k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
5.04k
  zend_string_release(filename_str);
874
5.04k
  BEGIN(INITIAL);
875
5.04k
  zend_highlight(syntax_highlighter_ini);
876
5.04k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
5.04k
  zend_restore_lexical_state(&original_lex_state);
881
5.04k
  zval_ptr_dtor(&str_zv);
882
5.04k
}
883
884
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
885
0
{
886
0
  size_t length;
887
0
  unsigned char *new_yy_start;
888
889
  /* convert and set */
890
0
  if (!SCNG(input_filter)) {
891
0
    if (SCNG(script_filtered)) {
892
0
      efree(SCNG(script_filtered));
893
0
      SCNG(script_filtered) = NULL;
894
0
    }
895
0
    SCNG(script_filtered_size) = 0;
896
0
    length = SCNG(script_org_size);
897
0
    new_yy_start = SCNG(script_org);
898
0
  } else {
899
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
900
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
901
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
902
0
    }
903
0
    if (SCNG(script_filtered)) {
904
0
      efree(SCNG(script_filtered));
905
0
    }
906
0
    SCNG(script_filtered) = new_yy_start;
907
0
    SCNG(script_filtered_size) = length;
908
0
  }
909
910
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
911
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
912
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
913
0
  SCNG(yy_limit) = new_yy_start + length;
914
915
0
  SCNG(yy_start) = new_yy_start;
916
0
}
917
918
919
// TODO: avoid reallocation ???
920
# define zend_copy_value(zendlval, yytext, yyleng) \
921
4.18M
  if (SCNG(output_filter)) { \
922
0
    size_t sz = 0; \
923
0
    char *s = NULL; \
924
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
925
0
    ZVAL_STRINGL(zendlval, s, sz); \
926
0
    efree(s); \
927
4.18M
  } else if (yyleng == 1) { \
928
1.50M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
2.67M
  } else { \
930
2.67M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
2.67M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
564k
{
935
564k
  char *s, *t;
936
564k
  char *end;
937
938
564k
  if (len <= 1) {
939
190k
    if (len < 1) {
940
15.6k
      ZVAL_EMPTY_STRING(zendlval);
941
174k
    } else {
942
174k
      zend_uchar c = (zend_uchar)*str;
943
174k
      HANDLE_NEWLINE(c);
944
174k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
174k
    }
946
190k
    goto skip_escape_conversion;
947
190k
  }
948
949
373k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
373k
  s = Z_STRVAL_P(zendlval);
953
373k
  end = s+Z_STRLEN_P(zendlval);
954
9.02M
  while (1) {
955
9.02M
    if (UNEXPECTED(*s=='\\')) {
956
70.9k
      break;
957
70.9k
    }
958
8.94M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
264k
      CG(zend_lineno)++;
960
264k
    }
961
8.94M
    s++;
962
8.94M
    if (s == end) {
963
302k
      goto skip_escape_conversion;
964
302k
    }
965
8.94M
  }
966
967
70.9k
  t = s;
968
2.00M
  while (s<end) {
969
1.93M
    if (*s=='\\') {
970
146k
      s++;
971
146k
      if (s >= end) {
972
994
        *t++ = '\\';
973
994
        break;
974
994
      }
975
976
145k
      switch(*s) {
977
22.7k
        case 'n':
978
22.7k
          *t++ = '\n';
979
22.7k
          break;
980
553
        case 'r':
981
553
          *t++ = '\r';
982
553
          break;
983
685
        case 't':
984
685
          *t++ = '\t';
985
685
          break;
986
706
        case 'f':
987
706
          *t++ = '\f';
988
706
          break;
989
1.06k
        case 'v':
990
1.06k
          *t++ = '\v';
991
1.06k
          break;
992
321
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
321
          *t++ = '\e';
997
321
#endif
998
321
          break;
999
818
        case '"':
1000
1.47k
        case '`':
1001
1.47k
          if (*s != quote_type) {
1002
591
            *t++ = '\\';
1003
591
            *t++ = *s;
1004
591
            break;
1005
591
          }
1006
886
          ZEND_FALLTHROUGH;
1007
43.3k
        case '\\':
1008
44.1k
        case '$':
1009
44.1k
          *t++ = *s;
1010
44.1k
          break;
1011
11.6k
        case 'x':
1012
12.7k
        case 'X':
1013
12.7k
          if (ZEND_IS_HEX(*(s+1))) {
1014
8.30k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
8.30k
            hex_buf[0] = *(++s);
1017
8.30k
            if (ZEND_IS_HEX(*(s+1))) {
1018
4.37k
              hex_buf[1] = *(++s);
1019
4.37k
            }
1020
8.30k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
8.30k
          } else {
1022
4.43k
            *t++ = '\\';
1023
4.43k
            *t++ = *s;
1024
4.43k
          }
1025
12.7k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
2.60k
        case 'u':
1028
2.60k
          {
1029
            /* cache where we started so we can parse after validating */
1030
2.60k
            char *start = s + 1;
1031
2.60k
            size_t len = 0;
1032
2.60k
            bool valid = 1;
1033
2.60k
            unsigned long codepoint;
1034
1035
2.60k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
324
              *t++ = '\\';
1040
324
              *t++ = 'u';
1041
324
              break;
1042
2.28k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
2.28k
              s++;
1045
2.28k
              len++;
1046
2.28k
              s++;
1047
8.69k
              while (*s != '}') {
1048
7.21k
                if (!ZEND_IS_HEX(*s)) {
1049
805
                  valid = 0;
1050
805
                  break;
1051
6.41k
                } else {
1052
6.41k
                  len++;
1053
6.41k
                }
1054
6.41k
                s++;
1055
6.41k
              }
1056
2.28k
              if (*s == '}') {
1057
1.47k
                valid = 1;
1058
1.47k
                len++;
1059
1.47k
              }
1060
2.28k
            }
1061
1062
            /* \u{} is invalid */
1063
2.28k
            if (len <= 2) {
1064
873
              valid = 0;
1065
873
            }
1066
1067
2.28k
            if (!valid) {
1068
1.00k
              zend_throw_exception(zend_ce_parse_error,
1069
1.00k
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
1.00k
              zval_ptr_dtor(zendlval);
1071
1.00k
              ZVAL_UNDEF(zendlval);
1072
1.00k
              return FAILURE;
1073
1.00k
            }
1074
1075
2.28k
            errno = 0;
1076
1.27k
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
1.27k
            if (codepoint > 0x10FFFF || errno) {
1080
121
              zend_throw_exception(zend_ce_parse_error,
1081
121
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
121
              zval_ptr_dtor(zendlval);
1083
121
              ZVAL_UNDEF(zendlval);
1084
121
              return FAILURE;
1085
121
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
1.15k
            if (codepoint < 0x80) {
1089
201
              *t++ = codepoint;
1090
952
            } else if (codepoint <= 0x7FF) {
1091
208
              *t++ = (codepoint >> 6) + 0xC0;
1092
208
              *t++ = (codepoint & 0x3F) + 0x80;
1093
744
            } else if (codepoint <= 0xFFFF) {
1094
250
              *t++ = (codepoint >> 12) + 0xE0;
1095
250
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
250
              *t++ = (codepoint & 0x3F) + 0x80;
1097
494
            } else if (codepoint <= 0x10FFFF) {
1098
494
              *t++ = (codepoint >> 18) + 0xF0;
1099
494
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
494
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
494
              *t++ = (codepoint & 0x3F) + 0x80;
1102
494
            }
1103
1.15k
          }
1104
0
          break;
1105
59.4k
        default:
1106
          /* check for an octal */
1107
59.4k
          if (ZEND_IS_OCT(*s)) {
1108
17.6k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
17.6k
            octal_buf[0] = *s;
1111
17.6k
            if (ZEND_IS_OCT(*(s+1))) {
1112
5.35k
              octal_buf[1] = *(++s);
1113
5.35k
              if (ZEND_IS_OCT(*(s+1))) {
1114
2.26k
                octal_buf[2] = *(++s);
1115
2.26k
              }
1116
5.35k
            }
1117
17.6k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
504
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
504
            }
1121
1122
17.6k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
41.7k
          } else {
1124
41.7k
            *t++ = '\\';
1125
41.7k
            *t++ = *s;
1126
41.7k
          }
1127
59.4k
          break;
1128
145k
      }
1129
1.79M
    } else {
1130
1.79M
      *t++ = *s;
1131
1.79M
    }
1132
1133
1.93M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
60.2k
      CG(zend_lineno)++;
1135
60.2k
    }
1136
1.93M
    s++;
1137
1.93M
  }
1138
69.7k
  *t = 0;
1139
69.7k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
563k
skip_escape_conversion:
1142
563k
  if (SCNG(output_filter)) {
1143
0
    size_t sz = 0;
1144
0
    unsigned char *str;
1145
    // TODO: avoid realocation ???
1146
0
    s = Z_STRVAL_P(zendlval);
1147
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1148
0
    zval_ptr_dtor(zendlval);
1149
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1150
0
    efree(str);
1151
0
  }
1152
563k
  return SUCCESS;
1153
69.7k
}
1154
1155
430k
#define HEREDOC_USING_SPACES 1
1156
55.9k
#define HEREDOC_USING_TABS 2
1157
1158
155k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
1.55M
  for (; str < end; str++) {
1160
1.48M
    if (*str == '\r') {
1161
10.6k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
10.6k
      return str;
1163
1.47M
    } else if (*str == '\n') {
1164
78.3k
      *newline_len = 1;
1165
78.3k
      return str;
1166
78.3k
    }
1167
1.48M
  }
1168
66.2k
  *newline_len = 0;
1169
66.2k
  return NULL;
1170
155k
}
1171
1172
static bool strip_multiline_string_indentation(
1173
  zval *zendlval, int indentation, bool using_spaces,
1174
  bool newline_at_start, bool newline_at_end)
1175
64.1k
{
1176
64.1k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
64.1k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
64.1k
  uint32_t newline_count = 0;
1180
64.1k
  size_t newline_len;
1181
64.1k
  const char *nl;
1182
1183
64.1k
  if (!newline_at_start) {
1184
34.3k
    nl = next_newline(str, end, &newline_len);
1185
34.3k
    if (!nl) {
1186
20.0k
      return 1;
1187
20.0k
    }
1188
1189
14.2k
    str = nl + newline_len;
1190
14.2k
    copy = (char *) nl + newline_len;
1191
14.2k
    newline_count++;
1192
29.8k
  } else {
1193
29.8k
    nl = str;
1194
29.8k
  }
1195
1196
  /* <= intentional */
1197
140k
  while (str <= end && nl) {
1198
120k
    size_t skip;
1199
120k
    nl = next_newline(str, end, &newline_len);
1200
120k
    if (!nl && newline_at_end) {
1201
4.68k
      nl = end;
1202
4.68k
    }
1203
1204
    /* Try to skip indentation */
1205
122k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
1.47k
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
129
        break;
1209
129
      }
1210
1211
1.35k
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
29
        CG(zend_lineno) += newline_count;
1213
29
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
29
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
29
        goto error;
1216
29
      }
1217
1218
1.32k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
8
        CG(zend_lineno) += newline_count;
1220
8
        zend_throw_exception(zend_ce_parse_error,
1221
8
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
8
        goto error;
1223
8
      }
1224
1.32k
    }
1225
1226
120k
    if (str == end) {
1227
24.7k
      break;
1228
24.7k
    }
1229
1230
96.1k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
96.1k
    memmove(copy, str, len);
1232
96.1k
    str += len;
1233
96.1k
    copy += len;
1234
96.1k
    newline_count++;
1235
96.1k
  }
1236
1237
44.0k
  *copy = '\0';
1238
44.0k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
44.0k
  return 1;
1240
1241
37
error:
1242
37
  zval_ptr_dtor_str(zendlval);
1243
37
  ZVAL_UNDEF(zendlval);
1244
1245
37
  return 0;
1246
44.0k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
2.42M
{
1250
2.42M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
2.42M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
2.42M
  *new_heredoc_label = *heredoc_label;
1254
2.42M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
2.42M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
2.42M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
128k
{
1262
128k
  char   buf[256];
1263
128k
  size_t used = 0;
1264
1265
128k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
128k
  if (opening_lineno != CG(zend_lineno)) {
1268
67.1k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
67.1k
  }
1270
1271
128k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
14.7k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
14.7k
  }
1274
1275
128k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
128k
}
1277
1278
static void enter_nesting(char opening)
1279
4.72M
{
1280
4.72M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
4.72M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
4.72M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
812k
{
1286
812k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
3.58k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
3.58k
    return FAILURE;
1289
3.58k
  }
1290
1291
809k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
809k
  char opening = nest_loc->text;
1293
1294
809k
  if ((opening == '{' && closing != '}') ||
1295
800k
      (opening == '[' && closing != ']') ||
1296
799k
      (opening == '(' && closing != ')')) {
1297
14.7k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
14.7k
    return FAILURE;
1299
14.7k
  }
1300
1301
794k
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
794k
  return SUCCESS;
1303
809k
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
164k
{
1307
164k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
113k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
113k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
113k
    return FAILURE;
1311
113k
  }
1312
1313
51.5k
  return SUCCESS;
1314
164k
}
1315
1316
#define PARSER_MODE() \
1317
11.8M
  EXPECTED(elem != NULL)
1318
1319
16.8M
#define RETURN_TOKEN(_token) do { \
1320
16.8M
    token = _token; \
1321
16.8M
    goto emit_token; \
1322
16.8M
  } while (0)
1323
1324
2.45M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
2.45M
    token = _token; \
1326
2.45M
    goto emit_token_with_val; \
1327
2.45M
  } while (0)
1328
1329
4.18M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
4.18M
    token = _token; \
1331
4.18M
    offset = _offset; \
1332
4.18M
    goto emit_token_with_str; \
1333
4.18M
  } while (0)
1334
1335
779k
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
779k
    token = _token; \
1337
779k
    goto emit_token_with_ident; \
1338
779k
  } while (0)
1339
1340
779k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
779k
    token = _token; \
1342
779k
    if (PARSER_MODE()) { \
1343
195k
      goto skip_token; \
1344
195k
    } \
1345
779k
    goto emit_token; \
1346
779k
  } while (0)
1347
1348
812k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
812k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
250
      RETURN_TOKEN(T_ERROR); \
1351
812k
    } else { \
1352
812k
      RETURN_TOKEN(_token); \
1353
812k
    } \
1354
812k
  } while(0)
1355
1356
164k
#define RETURN_END_TOKEN do { \
1357
164k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
4.57k
      RETURN_TOKEN(T_ERROR); \
1359
160k
    } else { \
1360
160k
      RETURN_TOKEN(END); \
1361
160k
    } \
1362
164k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
26.8M
{
1366
26.8M
int token;
1367
26.8M
int offset;
1368
26.8M
uint32_t start_line = CG(zend_lineno);
1369
1370
26.8M
  ZVAL_UNDEF(zendlval);
1371
31.3M
restart:
1372
31.3M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
31.3M
#line 1376 "Zend/zend_language_scanner.c"
1376
31.3M
{
1377
31.3M
  YYCTYPE yych;
1378
31.3M
  unsigned int yyaccept = 0;
1379
31.3M
  if (YYGETCONDITION() < 5) {
1380
27.6M
    if (YYGETCONDITION() < 2) {
1381
22.3M
      if (YYGETCONDITION() < 1) {
1382
22.0M
        goto yyc_ST_IN_SCRIPTING;
1383
22.0M
      } else {
1384
320k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
320k
      }
1386
22.3M
    } else {
1387
5.29M
      if (YYGETCONDITION() < 3) {
1388
192k
        goto yyc_ST_BACKQUOTE;
1389
5.10M
      } else {
1390
5.10M
        if (YYGETCONDITION() < 4) {
1391
580k
          goto yyc_ST_DOUBLE_QUOTES;
1392
4.52M
        } else {
1393
4.52M
          goto yyc_ST_HEREDOC;
1394
4.52M
        }
1395
5.10M
      }
1396
5.29M
    }
1397
27.6M
  } else {
1398
3.72M
    if (YYGETCONDITION() < 8) {
1399
3.40M
      if (YYGETCONDITION() < 6) {
1400
3.12M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
3.12M
      } else {
1402
285k
        if (YYGETCONDITION() < 7) {
1403
285k
          goto yyc_ST_VAR_OFFSET;
1404
285k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
285k
      }
1408
3.40M
    } else {
1409
317k
      if (YYGETCONDITION() < 9) {
1410
293k
        goto yyc_INITIAL;
1411
293k
      } else {
1412
24.5k
        if (YYGETCONDITION() < 10) {
1413
16.5k
          goto yyc_ST_END_HEREDOC;
1414
16.5k
        } else {
1415
8.03k
          goto yyc_ST_NOWDOC;
1416
8.03k
        }
1417
24.5k
      }
1418
317k
    }
1419
3.72M
  }
1420
/* *********************************** */
1421
22.0M
yyc_ST_IN_SCRIPTING:
1422
22.0M
  {
1423
22.0M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
22.0M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
22.0M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
22.0M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
22.0M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
22.0M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
22.0M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
22.0M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
22.0M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
22.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
22.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
22.0M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
22.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
22.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
22.0M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
22.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
22.0M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
22.0M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
22.0M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
22.0M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
22.0M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
22.0M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
22.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
22.0M
    };
1491
22.0M
    YYDEBUG(1, *YYCURSOR);
1492
22.0M
    YYFILL(16);
1493
22.0M
    yych = *YYCURSOR;
1494
22.0M
    if (yybm[256+yych] & 32) {
1495
3.16M
      goto yy5;
1496
3.16M
    }
1497
18.8M
    switch (yych) {
1498
2.02M
    case 0x00:
1499
2.10M
    case 0x01:
1500
2.13M
    case 0x02:
1501
2.15M
    case 0x03:
1502
2.20M
    case 0x04:
1503
2.23M
    case 0x05:
1504
2.25M
    case 0x06:
1505
2.28M
    case 0x07:
1506
2.29M
    case 0x08:
1507
2.29M
    case '\t':
1508
2.29M
    case '\n':
1509
2.31M
    case '\v':
1510
2.33M
    case '\f':
1511
2.33M
    case '\r':
1512
2.35M
    case 0x0E:
1513
2.37M
    case 0x0F:
1514
2.38M
    case 0x10:
1515
2.39M
    case 0x11:
1516
2.41M
    case 0x12:
1517
2.41M
    case 0x13:
1518
2.43M
    case 0x14:
1519
2.43M
    case 0x15:
1520
2.45M
    case 0x16:
1521
2.46M
    case 0x17:
1522
2.46M
    case 0x18:
1523
2.47M
    case 0x19:
1524
2.48M
    case 0x1A:
1525
2.48M
    case 0x1B:
1526
2.83M
    case 0x1C:
1527
2.85M
    case 0x1D:
1528
2.86M
    case 0x1E:
1529
2.87M
    case 0x1F:
1530
2.88M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
72.3k
    case '!': goto yy8;
1533
215k
    case '"': goto yy10;
1534
501k
    case '#': goto yy12;
1535
1.08M
    case '$': goto yy14;
1536
31.8k
    case '%': goto yy15;
1537
124k
    case '&': goto yy16;
1538
196k
    case '\'':  goto yy18;
1539
621k
    case '(': goto yy20;
1540
417k
    case ')':
1541
613k
    case ']': goto yy22;
1542
89.0k
    case '*': goto yy24;
1543
94.3k
    case '+': goto yy25;
1544
482k
    case ',':
1545
963k
    case ';':
1546
1.52M
    case '@':
1547
1.58M
    case '~': goto yy26;
1548
217k
    case '-': goto yy27;
1549
197k
    case '.': goto yy28;
1550
202k
    case '/': goto yy29;
1551
147k
    case '0': goto yy30;
1552
111k
    case '1':
1553
197k
    case '2':
1554
254k
    case '3':
1555
322k
    case '4':
1556
367k
    case '5':
1557
394k
    case '6':
1558
417k
    case '7':
1559
451k
    case '8':
1560
475k
    case '9': goto yy32;
1561
138k
    case ':': goto yy34;
1562
3.91M
    case '<': goto yy35;
1563
286k
    case '=': goto yy36;
1564
50.4k
    case '>': goto yy37;
1565
345k
    case '?': goto yy38;
1566
48.4k
    case 'A':
1567
164k
    case 'a': goto yy39;
1568
31.5k
    case 'B':
1569
64.1k
    case 'b': goto yy41;
1570
41.7k
    case 'C':
1571
219k
    case 'c': goto yy42;
1572
36.6k
    case 'D':
1573
90.5k
    case 'd': goto yy43;
1574
53.2k
    case 'E':
1575
403k
    case 'e': goto yy44;
1576
41.7k
    case 'F':
1577
277k
    case 'f': goto yy45;
1578
7.64k
    case 'G':
1579
49.7k
    case 'g': goto yy46;
1580
24.0k
    case 'I':
1581
177k
    case 'i': goto yy49;
1582
8.61k
    case 'L':
1583
40.8k
    case 'l': goto yy50;
1584
12.1k
    case 'M':
1585
56.3k
    case 'm': goto yy51;
1586
15.6k
    case 'N':
1587
125k
    case 'n': goto yy52;
1588
16.4k
    case 'O':
1589
58.6k
    case 'o': goto yy53;
1590
33.4k
    case 'P':
1591
283k
    case 'p': goto yy54;
1592
9.40k
    case 'R':
1593
82.2k
    case 'r': goto yy55;
1594
11.3k
    case 'S':
1595
103k
    case 's': goto yy56;
1596
23.0k
    case 'T':
1597
129k
    case 't': goto yy57;
1598
3.73k
    case 'U':
1599
47.9k
    case 'u': goto yy58;
1600
8.97k
    case 'V':
1601
57.4k
    case 'v': goto yy59;
1602
11.9k
    case 'W':
1603
21.4k
    case 'w': goto yy60;
1604
8.94k
    case 'X':
1605
20.3k
    case 'x': goto yy61;
1606
4.25k
    case 'Y':
1607
99.4k
    case 'y': goto yy62;
1608
226k
    case '[': goto yy63;
1609
115k
    case '\\':  goto yy64;
1610
27.7k
    case '^': goto yy66;
1611
138k
    case '_': goto yy67;
1612
43.7k
    case '`': goto yy68;
1613
714k
    case '{': goto yy70;
1614
73.4k
    case '|': goto yy72;
1615
198k
    case '}': goto yy73;
1616
686k
    default:  goto yy47;
1617
18.8M
    }
1618
2.88M
yy3:
1619
2.88M
    YYDEBUG(3, *YYCURSOR);
1620
2.88M
    ++YYCURSOR;
1621
2.88M
    YYDEBUG(4, *YYCURSOR);
1622
2.88M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
2.88M
#line 3179 "Zend/zend_language_scanner.l"
1624
2.88M
    {
1625
2.88M
  if (YYCURSOR > YYLIMIT) {
1626
105k
    RETURN_END_TOKEN;
1627
105k
  }
1628
1629
2.78M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
2.78M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
4.49M
yy5:
1633
4.49M
    YYDEBUG(5, *YYCURSOR);
1634
4.49M
    ++YYCURSOR;
1635
4.49M
    YYFILL(1);
1636
4.49M
    yych = *YYCURSOR;
1637
4.49M
    YYDEBUG(6, *YYCURSOR);
1638
4.49M
    if (yybm[256+yych] & 32) {
1639
1.33M
      goto yy5;
1640
1.33M
    }
1641
3.16M
    YYDEBUG(7, *YYCURSOR);
1642
3.16M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
3.16M
#line 1597 "Zend/zend_language_scanner.l"
1644
3.16M
    {
1645
3.16M
  goto return_whitespace;
1646
4.49M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
72.3k
yy8:
1649
72.3k
    YYDEBUG(8, *YYCURSOR);
1650
72.3k
    yych = *++YYCURSOR;
1651
72.3k
    if (yych == '=') goto yy75;
1652
3.77M
yy9:
1653
3.77M
    YYDEBUG(9, *YYCURSOR);
1654
3.77M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
3.77M
#line 1969 "Zend/zend_language_scanner.l"
1656
3.77M
    {
1657
3.77M
  RETURN_TOKEN(yytext[0]);
1658
3.77M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
216k
yy10:
1661
216k
    YYDEBUG(10, *YYCURSOR);
1662
216k
    ++YYCURSOR;
1663
216k
    YYDEBUG(11, *YYCURSOR);
1664
216k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
216k
#line 2632 "Zend/zend_language_scanner.l"
1666
216k
    {
1667
216k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
4.28M
  while (YYCURSOR < YYLIMIT) {
1670
4.28M
    switch (*YYCURSOR++) {
1671
135k
      case '"':
1672
135k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
135k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
135k
         || !PARSER_MODE()) {
1675
135k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
135k
        } else {
1677
7
          RETURN_TOKEN(T_ERROR);
1678
7
        }
1679
91.3k
      case '$':
1680
91.3k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
70.5k
          break;
1682
70.5k
        }
1683
20.7k
        continue;
1684
20.7k
      case '{':
1685
17.7k
        if (*YYCURSOR == '$') {
1686
3.10k
          break;
1687
3.10k
        }
1688
14.6k
        continue;
1689
110k
      case '\\':
1690
110k
        if (YYCURSOR < YYLIMIT) {
1691
110k
          YYCURSOR++;
1692
110k
        }
1693
110k
        ZEND_FALLTHROUGH;
1694
4.03M
      default:
1695
4.03M
        continue;
1696
4.28M
    }
1697
1698
73.6k
    YYCURSOR--;
1699
73.6k
    break;
1700
4.28M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
216k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
80.0k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
80.0k
  BEGIN(ST_DOUBLE_QUOTES);
1708
80.0k
  RETURN_TOKEN('"');
1709
80.0k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
501k
yy12:
1712
501k
    YYDEBUG(12, *YYCURSOR);
1713
501k
    yych = *++YYCURSOR;
1714
501k
    if (yych == '[') goto yy77;
1715
526k
yy13:
1716
526k
    YYDEBUG(13, *YYCURSOR);
1717
526k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
526k
#line 2460 "Zend/zend_language_scanner.l"
1719
526k
    {
1720
4.78M
  while (YYCURSOR < YYLIMIT) {
1721
4.77M
    switch (*YYCURSOR++) {
1722
148k
      case '\r':
1723
519k
      case '\n':
1724
519k
        YYCURSOR--;
1725
519k
        break;
1726
13.4k
      case '?':
1727
13.4k
        if (*YYCURSOR == '>') {
1728
2.34k
          YYCURSOR--;
1729
2.34k
          break;
1730
2.34k
        }
1731
11.1k
        ZEND_FALLTHROUGH;
1732
4.25M
      default:
1733
4.25M
        continue;
1734
4.77M
    }
1735
1736
521k
    break;
1737
4.77M
  }
1738
1739
526k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
526k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
526k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
1.08M
yy14:
1744
1.08M
    YYDEBUG(14, *YYCURSOR);
1745
1.08M
    yych = *++YYCURSOR;
1746
1.08M
    if (yych <= '_') {
1747
198k
      if (yych <= '@') goto yy9;
1748
27.4k
      if (yych <= 'Z') goto yy79;
1749
5.40k
      if (yych <= '^') goto yy9;
1750
3.32k
      goto yy79;
1751
883k
    } else {
1752
883k
      if (yych <= '`') goto yy9;
1753
882k
      if (yych <= 'z') goto yy79;
1754
384k
      if (yych <= 0x7F) goto yy9;
1755
55.3k
      goto yy79;
1756
384k
    }
1757
31.8k
yy15:
1758
31.8k
    YYDEBUG(15, *YYCURSOR);
1759
31.8k
    yych = *++YYCURSOR;
1760
31.8k
    if (yych == '=') goto yy82;
1761
29.0k
    goto yy9;
1762
124k
yy16:
1763
124k
    YYDEBUG(16, *YYCURSOR);
1764
124k
    yyaccept = 0;
1765
124k
    yych = *(YYMARKER = ++YYCURSOR);
1766
124k
    if (yych <= '"') {
1767
44.0k
      if (yych <= '\f') {
1768
29.4k
        if (yych <= 0x08) goto yy17;
1769
27.9k
        if (yych <= '\n') goto yy85;
1770
27.9k
      } else {
1771
14.5k
        if (yych <= '\r') goto yy85;
1772
10.6k
        if (yych == ' ') goto yy85;
1773
10.6k
      }
1774
80.4k
    } else {
1775
80.4k
      if (yych <= '-') {
1776
30.9k
        if (yych <= '$') goto yy85;
1777
21.7k
        if (yych == '&') goto yy90;
1778
49.4k
      } else {
1779
49.4k
        if (yych <= '/') goto yy85;
1780
47.2k
        if (yych == '=') goto yy94;
1781
47.2k
      }
1782
80.4k
    }
1783
85.2k
yy17:
1784
85.2k
    YYDEBUG(17, *YYCURSOR);
1785
85.2k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
85.2k
#line 1955 "Zend/zend_language_scanner.l"
1787
85.2k
    {
1788
85.2k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
85.2k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
196k
yy18:
1792
196k
    YYDEBUG(18, *YYCURSOR);
1793
196k
    ++YYCURSOR;
1794
196k
    YYDEBUG(19, *YYCURSOR);
1795
196k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
196k
#line 2538 "Zend/zend_language_scanner.l"
1797
196k
    {
1798
196k
  char *s, *t;
1799
196k
  char *end;
1800
196k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
22.6M
  while (1) {
1803
22.6M
    if (YYCURSOR < YYLIMIT) {
1804
22.6M
      if (*YYCURSOR == '\'') {
1805
190k
        YYCURSOR++;
1806
190k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
190k
        break;
1809
22.4M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
50.8k
        YYCURSOR++;
1811
50.8k
      }
1812
22.6M
    } else {
1813
6.43k
      yyleng = YYLIMIT - SCNG(yy_text);
1814
1815
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1816
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1817
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1818
6.43k
      ZVAL_NULL(zendlval);
1819
6.43k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
6.43k
    }
1821
22.6M
  }
1822
1823
190k
  if (yyleng-bprefix-2 <= 1) {
1824
35.9k
    if (yyleng-bprefix-2 < 1) {
1825
11.6k
      ZVAL_EMPTY_STRING(zendlval);
1826
24.2k
    } else {
1827
24.2k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
24.2k
      HANDLE_NEWLINE(c);
1829
24.2k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
24.2k
    }
1831
35.9k
    goto skip_escape_conversion;
1832
35.9k
  }
1833
154k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
154k
  s = Z_STRVAL_P(zendlval);
1837
154k
  end = s+Z_STRLEN_P(zendlval);
1838
16.0M
  while (1) {
1839
16.0M
    if (UNEXPECTED(*s=='\\')) {
1840
19.8k
      break;
1841
19.8k
    }
1842
15.9M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
269k
      CG(zend_lineno)++;
1844
269k
    }
1845
15.9M
    s++;
1846
15.9M
    if (s == end) {
1847
134k
      goto skip_escape_conversion;
1848
134k
    }
1849
15.9M
  }
1850
1851
19.8k
  t = s;
1852
5.98M
  while (s<end) {
1853
5.96M
    if (*s=='\\') {
1854
49.9k
      s++;
1855
49.9k
      if (*s == '\\' || *s == '\'') {
1856
12.5k
        *t++ = *s;
1857
37.4k
      } else {
1858
37.4k
        *t++ = '\\';
1859
37.4k
        *t++ = *s;
1860
37.4k
      }
1861
5.91M
    } else {
1862
5.91M
      *t++ = *s;
1863
5.91M
    }
1864
5.96M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
105k
      CG(zend_lineno)++;
1866
105k
    }
1867
5.96M
    s++;
1868
5.96M
  }
1869
19.8k
  *t = 0;
1870
19.8k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
190k
skip_escape_conversion:
1873
190k
  if (SCNG(output_filter)) {
1874
0
    size_t sz = 0;
1875
0
    char *str = NULL;
1876
0
    zend_string *new_str;
1877
0
    s = Z_STRVAL_P(zendlval);
1878
    // TODO: avoid reallocation ???
1879
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1880
0
    new_str = zend_string_init(str, sz, 0);
1881
0
    if (str != s) {
1882
0
      efree(str);
1883
0
    }
1884
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1885
0
    ZVAL_STR(zendlval, new_str);
1886
0
  }
1887
190k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
190k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
621k
yy20:
1891
621k
    YYDEBUG(20, *YYCURSOR);
1892
621k
    yyaccept = 1;
1893
621k
    yych = *(YYMARKER = ++YYCURSOR);
1894
621k
    if (yych <= 'S') {
1895
400k
      if (yych <= 'D') {
1896
372k
        if (yych <= ' ') {
1897
36.7k
          if (yych == '\t') goto yy97;
1898
29.0k
          if (yych >= ' ') goto yy97;
1899
335k
        } else {
1900
335k
          if (yych <= '@') goto yy21;
1901
15.3k
          if (yych != 'C') goto yy97;
1902
15.3k
        }
1903
372k
      } else {
1904
28.5k
        if (yych <= 'I') {
1905
21.8k
          if (yych == 'F') goto yy97;
1906
20.2k
          if (yych >= 'I') goto yy97;
1907
20.2k
        } else {
1908
6.69k
          if (yych == 'O') goto yy97;
1909
5.67k
          if (yych >= 'R') goto yy97;
1910
5.67k
        }
1911
28.5k
      }
1912
400k
    } else {
1913
220k
      if (yych <= 'f') {
1914
98.0k
        if (yych <= 'b') {
1915
66.0k
          if (yych <= 'T') goto yy21;
1916
63.3k
          if (yych <= 'V') goto yy97;
1917
62.5k
          if (yych >= 'a') goto yy97;
1918
62.5k
        } else {
1919
31.9k
          if (yych == 'd') goto yy97;
1920
27.8k
          if (yych >= 'f') goto yy97;
1921
27.8k
        }
1922
122k
      } else {
1923
122k
        if (yych <= 'o') {
1924
42.8k
          if (yych == 'i') goto yy97;
1925
26.4k
          if (yych >= 'o') goto yy97;
1926
79.5k
        } else {
1927
79.5k
          if (yych <= 's') {
1928
29.5k
            if (yych >= 'r') goto yy97;
1929
50.0k
          } else {
1930
50.0k
            if (yych <= 't') goto yy21;
1931
44.8k
            if (yych <= 'v') goto yy97;
1932
44.8k
          }
1933
79.5k
        }
1934
122k
      }
1935
220k
    }
1936
837k
yy21:
1937
837k
    YYDEBUG(21, *YYCURSOR);
1938
837k
    yyleng = YYCURSOR - SCNG(yy_text);
1939
837k
#line 1964 "Zend/zend_language_scanner.l"
1940
837k
    {
1941
837k
  enter_nesting(yytext[0]);
1942
837k
  RETURN_TOKEN(yytext[0]);
1943
837k
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
613k
yy22:
1946
613k
    YYDEBUG(22, *YYCURSOR);
1947
613k
    ++YYCURSOR;
1948
613k
    YYDEBUG(23, *YYCURSOR);
1949
613k
    yyleng = YYCURSOR - SCNG(yy_text);
1950
613k
#line 1959 "Zend/zend_language_scanner.l"
1951
613k
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
613k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
613k
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
89.0k
yy24:
1957
89.0k
    YYDEBUG(24, *YYCURSOR);
1958
89.0k
    yych = *++YYCURSOR;
1959
89.0k
    if (yych == '*') goto yy108;
1960
73.8k
    if (yych == '=') goto yy110;
1961
68.8k
    goto yy9;
1962
94.3k
yy25:
1963
94.3k
    YYDEBUG(25, *YYCURSOR);
1964
94.3k
    yych = *++YYCURSOR;
1965
94.3k
    if (yych == '+') goto yy112;
1966
74.0k
    if (yych == '=') goto yy114;
1967
71.5k
    goto yy9;
1968
1.58M
yy26:
1969
1.58M
    YYDEBUG(26, *YYCURSOR);
1970
1.58M
    ++YYCURSOR;
1971
1.58M
    goto yy9;
1972
217k
yy27:
1973
217k
    YYDEBUG(27, *YYCURSOR);
1974
217k
    yych = *++YYCURSOR;
1975
217k
    if (yych <= '<') {
1976
94.2k
      if (yych == '-') goto yy116;
1977
86.5k
      goto yy9;
1978
123k
    } else {
1979
123k
      if (yych <= '=') goto yy118;
1980
122k
      if (yych <= '>') goto yy120;
1981
56.4k
      goto yy9;
1982
122k
    }
1983
197k
yy28:
1984
197k
    YYDEBUG(28, *YYCURSOR);
1985
197k
    yyaccept = 2;
1986
197k
    yych = *(YYMARKER = ++YYCURSOR);
1987
197k
    if (yych <= '/') {
1988
83.7k
      if (yych == '.') goto yy122;
1989
64.9k
      goto yy9;
1990
113k
    } else {
1991
113k
      if (yych <= '9') goto yy123;
1992
88.4k
      if (yych == '=') goto yy126;
1993
33.1k
      goto yy9;
1994
88.4k
    }
1995
202k
yy29:
1996
202k
    YYDEBUG(29, *YYCURSOR);
1997
202k
    yych = *++YYCURSOR;
1998
202k
    if (yych <= '.') {
1999
107k
      if (yych == '*') goto yy128;
2000
26.1k
      goto yy9;
2001
107k
    } else {
2002
94.7k
      if (yych <= '/') goto yy130;
2003
52.2k
      if (yych == '=') goto yy131;
2004
50.5k
      goto yy9;
2005
52.2k
    }
2006
147k
yy30:
2007
147k
    YYDEBUG(30, *YYCURSOR);
2008
147k
    yyaccept = 3;
2009
147k
    yych = *(YYMARKER = ++YYCURSOR);
2010
147k
    if (yych <= 'X') {
2011
95.4k
      if (yych <= 'N') {
2012
91.8k
        if (yych == 'B') goto yy134;
2013
91.3k
        goto yy33;
2014
91.8k
      } else {
2015
3.54k
        if (yych <= 'O') goto yy136;
2016
2.84k
        if (yych <= 'W') goto yy33;
2017
1.85k
        goto yy137;
2018
2.84k
      }
2019
95.4k
    } else {
2020
52.4k
      if (yych <= 'n') {
2021
29.0k
        if (yych == 'b') goto yy134;
2022
26.2k
        goto yy33;
2023
29.0k
      } else {
2024
23.4k
        if (yych <= 'o') goto yy136;
2025
21.0k
        if (yych == 'x') goto yy137;
2026
17.3k
        goto yy33;
2027
21.0k
      }
2028
52.4k
    }
2029
561k
yy31:
2030
561k
    YYDEBUG(31, *YYCURSOR);
2031
561k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
561k
#line 2103 "Zend/zend_language_scanner.l"
2033
561k
    {
2034
561k
  size_t len = yyleng;
2035
561k
  char *end, *lnum = yytext;
2036
561k
  bool is_octal = lnum[0] == '0';
2037
561k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
561k
  if (contains_underscores) {
2040
1.70k
    lnum = estrndup(lnum, len);
2041
1.70k
    strip_underscores(lnum, &len);
2042
1.70k
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
561k
  if (is_octal) {
2046
128k
    size_t i;
2047
347k
    for (i = 0; i < len; i++) {
2048
220k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
1.34k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
1.34k
        if (PARSER_MODE()) {
2051
18
          if (contains_underscores) {
2052
1
            efree(lnum);
2053
1
          }
2054
18
          ZVAL_UNDEF(zendlval);
2055
18
          RETURN_TOKEN(T_ERROR);
2056
18
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
1.32k
        len = i;
2060
1.32k
        break;
2061
1.34k
      }
2062
220k
    }
2063
128k
  }
2064
2065
2066
561k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
542k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
542k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
542k
    ZEND_ASSERT(end == lnum + len);
2071
542k
  } else {
2072
18.6k
    errno = 0;
2073
18.6k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
18.6k
    if (errno == ERANGE) { /* Overflow */
2075
16.3k
      errno = 0;
2076
16.3k
      if (is_octal) { /* octal overflow */
2077
355
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
15.9k
      } else {
2079
15.9k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
15.9k
      }
2081
16.3k
      ZEND_ASSERT(end == lnum + len);
2082
16.3k
      if (contains_underscores) {
2083
575
        efree(lnum);
2084
575
      }
2085
16.3k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
16.3k
    }
2087
2.31k
    ZEND_ASSERT(end == lnum + len);
2088
2.31k
  }
2089
544k
  ZEND_ASSERT(!errno);
2090
544k
  if (contains_underscores) {
2091
1.13k
    efree(lnum);
2092
1.13k
  }
2093
544k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
544k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
1.88M
yy32:
2097
1.88M
    YYDEBUG(32, *YYCURSOR);
2098
1.88M
    yyaccept = 3;
2099
1.88M
    YYMARKER = ++YYCURSOR;
2100
1.88M
    YYFILL(3);
2101
1.88M
    yych = *YYCURSOR;
2102
2.02M
yy33:
2103
2.02M
    YYDEBUG(33, *YYCURSOR);
2104
2.02M
    if (yybm[256+yych] & 64) {
2105
1.40M
      goto yy32;
2106
1.40M
    }
2107
615k
    if (yych <= 'E') {
2108
445k
      if (yych == '.') goto yy133;
2109
412k
      if (yych <= 'D') goto yy31;
2110
11.7k
      goto yy135;
2111
412k
    } else {
2112
169k
      if (yych <= '_') {
2113
73.3k
        if (yych <= '^') goto yy31;
2114
5.36k
        goto yy138;
2115
96.3k
      } else {
2116
96.3k
        if (yych == 'e') goto yy135;
2117
84.9k
        goto yy31;
2118
96.3k
      }
2119
169k
    }
2120
138k
yy34:
2121
138k
    YYDEBUG(34, *YYCURSOR);
2122
138k
    yych = *++YYCURSOR;
2123
138k
    if (yych == ':') goto yy139;
2124
70.9k
    goto yy9;
2125
3.91M
yy35:
2126
3.91M
    YYDEBUG(35, *YYCURSOR);
2127
3.91M
    yych = *++YYCURSOR;
2128
3.91M
    if (yych <= ';') goto yy9;
2129
3.77M
    if (yych <= '<') goto yy141;
2130
417k
    if (yych <= '=') goto yy143;
2131
408k
    if (yych <= '>') goto yy145;
2132
403k
    goto yy9;
2133
403k
yy36:
2134
286k
    YYDEBUG(36, *YYCURSOR);
2135
286k
    yych = *++YYCURSOR;
2136
286k
    if (yych <= '<') goto yy9;
2137
101k
    if (yych <= '=') goto yy146;
2138
69.6k
    if (yych <= '>') goto yy148;
2139
21.2k
    goto yy9;
2140
50.4k
yy37:
2141
50.4k
    YYDEBUG(37, *YYCURSOR);
2142
50.4k
    yych = *++YYCURSOR;
2143
50.4k
    if (yych <= '<') goto yy9;
2144
25.8k
    if (yych <= '=') goto yy150;
2145
22.1k
    if (yych <= '>') goto yy152;
2146
14.5k
    goto yy9;
2147
345k
yy38:
2148
345k
    YYDEBUG(38, *YYCURSOR);
2149
345k
    yyaccept = 2;
2150
345k
    yych = *(YYMARKER = ++YYCURSOR);
2151
345k
    if (yych <= '=') {
2152
125k
      if (yych == '-') goto yy154;
2153
101k
      goto yy9;
2154
220k
    } else {
2155
220k
      if (yych <= '>') goto yy155;
2156
106k
      if (yych <= '?') goto yy157;
2157
70.6k
      goto yy9;
2158
106k
    }
2159
164k
yy39:
2160
164k
    YYDEBUG(39, *YYCURSOR);
2161
164k
    yyaccept = 4;
2162
164k
    yych = *(YYMARKER = ++YYCURSOR);
2163
164k
    if (yych <= 'S') {
2164
56.8k
      if (yych <= 'M') {
2165
48.1k
        if (yych == 'B') goto yy159;
2166
46.3k
        goto yy48;
2167
48.1k
      } else {
2168
8.76k
        if (yych <= 'N') goto yy160;
2169
6.44k
        if (yych <= 'Q') goto yy48;
2170
5.97k
        if (yych <= 'R') goto yy161;
2171
5.01k
        goto yy162;
2172
5.97k
      }
2173
107k
    } else {
2174
107k
      if (yych <= 'n') {
2175
28.2k
        if (yych == 'b') goto yy159;
2176
21.2k
        if (yych <= 'm') goto yy48;
2177
7.38k
        goto yy160;
2178
79.1k
      } else {
2179
79.1k
        if (yych <= 'q') goto yy48;
2180
77.7k
        if (yych <= 'r') goto yy161;
2181
57.4k
        if (yych <= 's') goto yy162;
2182
11.6k
        goto yy48;
2183
57.4k
      }
2184
107k
    }
2185
2.59M
yy40:
2186
2.59M
    YYDEBUG(40, *YYCURSOR);
2187
2.59M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
2.59M
#line 2455 "Zend/zend_language_scanner.l"
2189
2.59M
    {
2190
2.59M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
2.59M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
64.1k
yy41:
2194
64.1k
    YYDEBUG(41, *YYCURSOR);
2195
64.1k
    yyaccept = 4;
2196
64.1k
    yych = *(YYMARKER = ++YYCURSOR);
2197
64.1k
    if (yych <= ';') {
2198
18.9k
      if (yych <= '"') {
2199
10.0k
        if (yych <= '!') goto yy48;
2200
761
        goto yy10;
2201
10.0k
      } else {
2202
8.89k
        if (yych == '\'') goto yy18;
2203
8.40k
        goto yy48;
2204
8.89k
      }
2205
45.2k
    } else {
2206
45.2k
      if (yych <= 'R') {
2207
16.1k
        if (yych <= '<') goto yy165;
2208
9.93k
        if (yych <= 'Q') goto yy48;
2209
514
        goto yy166;
2210
29.0k
      } else {
2211
29.0k
        if (yych == 'r') goto yy166;
2212
25.3k
        goto yy48;
2213
29.0k
      }
2214
45.2k
    }
2215
219k
yy42:
2216
219k
    YYDEBUG(42, *YYCURSOR);
2217
219k
    yyaccept = 4;
2218
219k
    yych = *(YYMARKER = ++YYCURSOR);
2219
219k
    if (yych <= 'O') {
2220
50.3k
      if (yych <= 'K') {
2221
44.5k
        if (yych == 'A') goto yy167;
2222
42.7k
        goto yy48;
2223
44.5k
      } else {
2224
5.78k
        if (yych <= 'L') goto yy168;
2225
3.21k
        if (yych <= 'N') goto yy48;
2226
2.72k
        goto yy169;
2227
3.21k
      }
2228
169k
    } else {
2229
169k
      if (yych <= 'k') {
2230
60.2k
        if (yych == 'a') goto yy167;
2231
9.64k
        goto yy48;
2232
109k
      } else {
2233
109k
        if (yych <= 'l') goto yy168;
2234
58.7k
        if (yych == 'o') goto yy169;
2235
15.7k
        goto yy48;
2236
58.7k
      }
2237
169k
    }
2238
90.5k
yy43:
2239
90.5k
    YYDEBUG(43, *YYCURSOR);
2240
90.5k
    yyaccept = 4;
2241
90.5k
    yych = *(YYMARKER = ++YYCURSOR);
2242
90.5k
    if (yych <= 'O') {
2243
24.9k
      if (yych <= 'H') {
2244
19.1k
        if (yych == 'E') goto yy170;
2245
15.2k
        goto yy48;
2246
19.1k
      } else {
2247
5.77k
        if (yych <= 'I') goto yy171;
2248
5.27k
        if (yych <= 'N') goto yy48;
2249
4.06k
        goto yy172;
2250
5.27k
      }
2251
65.6k
    } else {
2252
65.6k
      if (yych <= 'h') {
2253
45.3k
        if (yych == 'e') goto yy170;
2254
26.5k
        goto yy48;
2255
45.3k
      } else {
2256
20.2k
        if (yych <= 'i') goto yy171;
2257
13.1k
        if (yych == 'o') goto yy172;
2258
7.51k
        goto yy48;
2259
13.1k
      }
2260
65.6k
    }
2261
403k
yy44:
2262
403k
    YYDEBUG(44, *YYCURSOR);
2263
403k
    yyaccept = 4;
2264
403k
    yych = *(YYMARKER = ++YYCURSOR);
2265
403k
    switch (yych) {
2266
813
    case 'C':
2267
35.8k
    case 'c': goto yy174;
2268
828
    case 'L':
2269
16.6k
    case 'l': goto yy175;
2270
1.06k
    case 'M':
2271
7.35k
    case 'm': goto yy176;
2272
90.7k
    case 'N':
2273
205k
    case 'n': goto yy177;
2274
310
    case 'V':
2275
5.08k
    case 'v': goto yy178;
2276
2.90k
    case 'X':
2277
43.9k
    case 'x': goto yy179;
2278
88.4k
    default:  goto yy48;
2279
403k
    }
2280
277k
yy45:
2281
277k
    YYDEBUG(45, *YYCURSOR);
2282
277k
    yyaccept = 4;
2283
277k
    yych = *(YYMARKER = ++YYCURSOR);
2284
277k
    if (yych <= 'U') {
2285
89.9k
      if (yych <= 'M') {
2286
70.8k
        if (yych == 'I') goto yy180;
2287
70.2k
        goto yy48;
2288
70.8k
      } else {
2289
19.0k
        if (yych <= 'N') goto yy181;
2290
18.0k
        if (yych <= 'O') goto yy183;
2291
13.7k
        if (yych <= 'T') goto yy48;
2292
811
        goto yy184;
2293
13.7k
      }
2294
187k
    } else {
2295
187k
      if (yych <= 'n') {
2296
56.4k
        if (yych == 'i') goto yy180;
2297
39.6k
        if (yych <= 'm') goto yy48;
2298
19.7k
        goto yy181;
2299
130k
      } else {
2300
130k
        if (yych <= 'o') goto yy183;
2301
83.4k
        if (yych == 'u') goto yy184;
2302
19.1k
        goto yy48;
2303
83.4k
      }
2304
187k
    }
2305
49.7k
yy46:
2306
49.7k
    YYDEBUG(46, *YYCURSOR);
2307
49.7k
    yyaccept = 4;
2308
49.7k
    yych = *(YYMARKER = ++YYCURSOR);
2309
49.7k
    if (yych <= 'O') {
2310
21.0k
      if (yych == 'L') goto yy185;
2311
18.8k
      if (yych <= 'N') goto yy48;
2312
1.03k
      goto yy186;
2313
28.6k
    } else {
2314
28.6k
      if (yych <= 'l') {
2315
19.1k
        if (yych <= 'k') goto yy48;
2316
5.57k
        goto yy185;
2317
19.1k
      } else {
2318
9.50k
        if (yych == 'o') goto yy186;
2319
4.67k
        goto yy48;
2320
9.50k
      }
2321
28.6k
    }
2322
9.85M
yy47:
2323
9.85M
    YYDEBUG(47, *YYCURSOR);
2324
9.85M
    yyaccept = 4;
2325
9.85M
    YYMARKER = ++YYCURSOR;
2326
9.85M
    YYFILL(1);
2327
9.85M
    yych = *YYCURSOR;
2328
11.6M
yy48:
2329
11.6M
    YYDEBUG(48, *YYCURSOR);
2330
11.6M
    if (yybm[256+yych] & 128) {
2331
9.02M
      goto yy47;
2332
9.02M
    }
2333
2.58M
    if (yych == '\\') goto yy164;
2334
2.56M
    goto yy40;
2335
2.56M
yy49:
2336
177k
    YYDEBUG(49, *YYCURSOR);
2337
177k
    yyaccept = 4;
2338
177k
    yych = *(YYMARKER = ++YYCURSOR);
2339
177k
    if (yych <= 'S') {
2340
35.0k
      if (yych <= 'L') {
2341
20.3k
        if (yych == 'F') goto yy187;
2342
19.7k
        goto yy48;
2343
20.3k
      } else {
2344
14.6k
        if (yych <= 'M') goto yy189;
2345
11.1k
        if (yych <= 'N') goto yy190;
2346
1.35k
        if (yych <= 'R') goto yy48;
2347
485
        goto yy191;
2348
1.35k
      }
2349
142k
    } else {
2350
142k
      if (yych <= 'm') {
2351
55.5k
        if (yych == 'f') goto yy187;
2352
43.3k
        if (yych <= 'l') goto yy48;
2353
29.3k
        goto yy189;
2354
87.0k
      } else {
2355
87.0k
        if (yych <= 'n') goto yy190;
2356
24.9k
        if (yych == 's') goto yy191;
2357
12.2k
        goto yy48;
2358
24.9k
      }
2359
142k
    }
2360
40.8k
yy50:
2361
40.8k
    YYDEBUG(50, *YYCURSOR);
2362
40.8k
    yyaccept = 4;
2363
40.8k
    yych = *(YYMARKER = ++YYCURSOR);
2364
40.8k
    if (yych == 'I') goto yy192;
2365
40.1k
    if (yych == 'i') goto yy192;
2366
35.3k
    goto yy48;
2367
56.3k
yy51:
2368
56.3k
    YYDEBUG(51, *YYCURSOR);
2369
56.3k
    yyaccept = 4;
2370
56.3k
    yych = *(YYMARKER = ++YYCURSOR);
2371
56.3k
    if (yych == 'A') goto yy193;
2372
52.3k
    if (yych == 'a') goto yy193;
2373
47.2k
    goto yy48;
2374
125k
yy52:
2375
125k
    YYDEBUG(52, *YYCURSOR);
2376
125k
    yyaccept = 4;
2377
125k
    yych = *(YYMARKER = ++YYCURSOR);
2378
125k
    if (yych <= 'E') {
2379
18.5k
      if (yych == 'A') goto yy194;
2380
15.5k
      if (yych <= 'D') goto yy48;
2381
555
      goto yy195;
2382
107k
    } else {
2383
107k
      if (yych <= 'a') {
2384
22.6k
        if (yych <= '`') goto yy48;
2385
17.4k
        goto yy194;
2386
84.5k
      } else {
2387
84.5k
        if (yych == 'e') goto yy195;
2388
40.6k
        goto yy48;
2389
84.5k
      }
2390
107k
    }
2391
58.6k
yy53:
2392
58.6k
    YYDEBUG(53, *YYCURSOR);
2393
58.6k
    yyaccept = 4;
2394
58.6k
    yych = *(YYMARKER = ++YYCURSOR);
2395
58.6k
    if (yych == 'R') goto yy196;
2396
57.2k
    if (yych == 'r') goto yy196;
2397
52.0k
    goto yy48;
2398
283k
yy54:
2399
283k
    YYDEBUG(54, *YYCURSOR);
2400
283k
    yyaccept = 4;
2401
283k
    yych = *(YYMARKER = ++YYCURSOR);
2402
283k
    if (yych <= 'U') {
2403
126k
      if (yych == 'R') goto yy198;
2404
120k
      if (yych <= 'T') goto yy48;
2405
1.90k
      goto yy199;
2406
156k
    } else {
2407
156k
      if (yych <= 'r') {
2408
97.4k
        if (yych <= 'q') goto yy48;
2409
28.9k
        goto yy198;
2410
97.4k
      } else {
2411
59.5k
        if (yych == 'u') goto yy199;
2412
17.6k
        goto yy48;
2413
59.5k
      }
2414
156k
    }
2415
82.2k
yy55:
2416
82.2k
    YYDEBUG(55, *YYCURSOR);
2417
82.2k
    yyaccept = 4;
2418
82.2k
    yych = *(YYMARKER = ++YYCURSOR);
2419
82.2k
    if (yych == 'E') goto yy200;
2420
75.8k
    if (yych == 'e') goto yy200;
2421
34.3k
    goto yy48;
2422
103k
yy56:
2423
103k
    YYDEBUG(56, *YYCURSOR);
2424
103k
    yyaccept = 4;
2425
103k
    yych = *(YYMARKER = ++YYCURSOR);
2426
103k
    if (yych <= 'W') {
2427
25.0k
      if (yych == 'T') goto yy201;
2428
23.9k
      if (yych <= 'V') goto yy48;
2429
681
      goto yy202;
2430
78.2k
    } else {
2431
78.2k
      if (yych <= 't') {
2432
65.3k
        if (yych <= 's') goto yy48;
2433
34.9k
        goto yy201;
2434
65.3k
      } else {
2435
12.8k
        if (yych == 'w') goto yy202;
2436
4.86k
        goto yy48;
2437
12.8k
      }
2438
78.2k
    }
2439
129k
yy57:
2440
129k
    YYDEBUG(57, *YYCURSOR);
2441
129k
    yyaccept = 4;
2442
129k
    yych = *(YYMARKER = ++YYCURSOR);
2443
129k
    if (yych <= 'R') {
2444
32.0k
      if (yych == 'H') goto yy203;
2445
30.6k
      if (yych <= 'Q') goto yy48;
2446
5.06k
      goto yy204;
2447
96.9k
    } else {
2448
96.9k
      if (yych <= 'h') {
2449
42.8k
        if (yych <= 'g') goto yy48;
2450
7.71k
        goto yy203;
2451
54.0k
      } else {
2452
54.0k
        if (yych == 'r') goto yy204;
2453
20.8k
        goto yy48;
2454
54.0k
      }
2455
96.9k
    }
2456
47.9k
yy58:
2457
47.9k
    YYDEBUG(58, *YYCURSOR);
2458
47.9k
    yyaccept = 4;
2459
47.9k
    yych = *(YYMARKER = ++YYCURSOR);
2460
47.9k
    if (yych <= 'S') {
2461
14.1k
      if (yych == 'N') goto yy205;
2462
12.4k
      if (yych <= 'R') goto yy48;
2463
996
      goto yy206;
2464
33.7k
    } else {
2465
33.7k
      if (yych <= 'n') {
2466
17.1k
        if (yych <= 'm') goto yy48;
2467
9.37k
        goto yy205;
2468
17.1k
      } else {
2469
16.5k
        if (yych == 's') goto yy206;
2470
7.79k
        goto yy48;
2471
16.5k
      }
2472
33.7k
    }
2473
57.4k
yy59:
2474
57.4k
    YYDEBUG(59, *YYCURSOR);
2475
57.4k
    yyaccept = 4;
2476
57.4k
    yych = *(YYMARKER = ++YYCURSOR);
2477
57.4k
    if (yych == 'A') goto yy207;
2478
56.4k
    if (yych == 'a') goto yy207;
2479
21.3k
    goto yy48;
2480
21.4k
yy60:
2481
21.4k
    YYDEBUG(60, *YYCURSOR);
2482
21.4k
    yyaccept = 4;
2483
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
2484
21.4k
    if (yych == 'H') goto yy208;
2485
20.9k
    if (yych == 'h') goto yy208;
2486
17.0k
    goto yy48;
2487
20.3k
yy61:
2488
20.3k
    YYDEBUG(61, *YYCURSOR);
2489
20.3k
    yyaccept = 4;
2490
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
2491
20.3k
    if (yych == 'O') goto yy209;
2492
19.6k
    if (yych == 'o') goto yy209;
2493
14.9k
    goto yy48;
2494
99.4k
yy62:
2495
99.4k
    YYDEBUG(62, *YYCURSOR);
2496
99.4k
    yyaccept = 4;
2497
99.4k
    yych = *(YYMARKER = ++YYCURSOR);
2498
99.4k
    if (yych == 'I') goto yy210;
2499
98.8k
    if (yych == 'i') goto yy210;
2500
20.7k
    goto yy48;
2501
226k
yy63:
2502
226k
    YYDEBUG(63, *YYCURSOR);
2503
226k
    ++YYCURSOR;
2504
226k
    goto yy21;
2505
115k
yy64:
2506
115k
    YYDEBUG(64, *YYCURSOR);
2507
115k
    yych = *++YYCURSOR;
2508
115k
    if (yych <= '_') {
2509
88.3k
      if (yych <= '@') goto yy65;
2510
53.7k
      if (yych <= 'Z') goto yy211;
2511
46.8k
      if (yych >= '_') goto yy211;
2512
46.8k
    } else {
2513
27.1k
      if (yych <= '`') goto yy65;
2514
25.1k
      if (yych <= 'z') goto yy211;
2515
12.7k
      if (yych >= 0x80) goto yy211;
2516
12.7k
    }
2517
89.8k
yy65:
2518
89.8k
    YYDEBUG(65, *YYCURSOR);
2519
89.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
89.8k
#line 2451 "Zend/zend_language_scanner.l"
2521
89.8k
    {
2522
89.8k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
89.8k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
27.7k
yy66:
2526
27.7k
    YYDEBUG(66, *YYCURSOR);
2527
27.7k
    yych = *++YYCURSOR;
2528
27.7k
    if (yych == '=') goto yy214;
2529
27.3k
    goto yy9;
2530
138k
yy67:
2531
138k
    YYDEBUG(67, *YYCURSOR);
2532
138k
    yyaccept = 4;
2533
138k
    yych = *(YYMARKER = ++YYCURSOR);
2534
138k
    if (yych == '_') goto yy216;
2535
40.1k
    goto yy48;
2536
43.7k
yy68:
2537
43.7k
    YYDEBUG(68, *YYCURSOR);
2538
43.7k
    ++YYCURSOR;
2539
43.7k
    YYDEBUG(69, *YYCURSOR);
2540
43.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
43.7k
#line 2825 "Zend/zend_language_scanner.l"
2542
43.7k
    {
2543
43.7k
  BEGIN(ST_BACKQUOTE);
2544
43.7k
  RETURN_TOKEN('`');
2545
43.7k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
714k
yy70:
2548
714k
    YYDEBUG(70, *YYCURSOR);
2549
714k
    ++YYCURSOR;
2550
714k
    YYDEBUG(71, *YYCURSOR);
2551
714k
    yyleng = YYCURSOR - SCNG(yy_text);
2552
714k
#line 1974 "Zend/zend_language_scanner.l"
2553
714k
    {
2554
714k
  yy_push_state(ST_IN_SCRIPTING);
2555
714k
  enter_nesting('{');
2556
714k
  RETURN_TOKEN('{');
2557
714k
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
73.4k
yy72:
2560
73.4k
    YYDEBUG(72, *YYCURSOR);
2561
73.4k
    yych = *++YYCURSOR;
2562
73.4k
    if (yych <= '>') {
2563
33.5k
      if (yych <= '<') goto yy9;
2564
5.39k
      if (yych <= '=') goto yy217;
2565
4.05k
      goto yy219;
2566
39.9k
    } else {
2567
39.9k
      if (yych == '|') goto yy221;
2568
31.0k
      goto yy9;
2569
39.9k
    }
2570
198k
yy73:
2571
198k
    YYDEBUG(73, *YYCURSOR);
2572
198k
    ++YYCURSOR;
2573
198k
    YYDEBUG(74, *YYCURSOR);
2574
198k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
198k
#line 1987 "Zend/zend_language_scanner.l"
2576
198k
    {
2577
198k
  RESET_DOC_COMMENT();
2578
198k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
193k
    yy_pop_state();
2580
193k
  }
2581
198k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
198k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
6.89k
yy75:
2585
6.89k
    YYDEBUG(75, *YYCURSOR);
2586
6.89k
    yych = *++YYCURSOR;
2587
6.89k
    if (yych == '=') goto yy223;
2588
9.23k
yy76:
2589
9.23k
    YYDEBUG(76, *YYCURSOR);
2590
9.23k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
9.23k
#line 1846 "Zend/zend_language_scanner.l"
2592
9.23k
    {
2593
9.23k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
9.23k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
17.7k
yy77:
2597
17.7k
    YYDEBUG(77, *YYCURSOR);
2598
17.7k
    ++YYCURSOR;
2599
17.7k
    YYDEBUG(78, *YYCURSOR);
2600
17.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
17.7k
#line 1423 "Zend/zend_language_scanner.l"
2602
17.7k
    {
2603
17.7k
  enter_nesting('[');
2604
17.7k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
17.7k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
2.59M
yy79:
2608
2.59M
    YYDEBUG(79, *YYCURSOR);
2609
2.59M
    ++YYCURSOR;
2610
2.59M
    YYFILL(1);
2611
2.59M
    yych = *YYCURSOR;
2612
2.59M
    YYDEBUG(80, *YYCURSOR);
2613
2.59M
    if (yych <= '^') {
2614
722k
      if (yych <= '9') {
2615
486k
        if (yych >= '0') goto yy79;
2616
486k
      } else {
2617
236k
        if (yych <= '@') goto yy81;
2618
136k
        if (yych <= 'Z') goto yy79;
2619
136k
      }
2620
1.87M
    } else {
2621
1.87M
      if (yych <= '`') {
2622
6.83k
        if (yych <= '_') goto yy79;
2623
1.86M
      } else {
2624
1.86M
        if (yych <= 'z') goto yy79;
2625
634k
        if (yych >= 0x80) goto yy79;
2626
634k
      }
2627
1.87M
    }
2628
578k
yy81:
2629
578k
    YYDEBUG(81, *YYCURSOR);
2630
578k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
578k
#line 2417 "Zend/zend_language_scanner.l"
2632
578k
    {
2633
578k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
578k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
2.75k
yy82:
2637
2.75k
    YYDEBUG(82, *YYCURSOR);
2638
2.75k
    ++YYCURSOR;
2639
2.75k
    YYDEBUG(83, *YYCURSOR);
2640
2.75k
    yyleng = YYCURSOR - SCNG(yy_text);
2641
2.75k
#line 1890 "Zend/zend_language_scanner.l"
2642
2.75k
    {
2643
2.75k
  RETURN_TOKEN(T_MOD_EQUAL);
2644
2.75k
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
171k
yy84:
2647
171k
    YYDEBUG(84, *YYCURSOR);
2648
171k
    ++YYCURSOR;
2649
171k
    YYFILL(3);
2650
171k
    yych = *YYCURSOR;
2651
217k
yy85:
2652
217k
    YYDEBUG(85, *YYCURSOR);
2653
217k
    if (yych <= ' ') {
2654
51.3k
      if (yych <= '\f') {
2655
39.8k
        if (yych <= 0x08) goto yy86;
2656
37.7k
        if (yych <= '\n') goto yy84;
2657
37.7k
      } else {
2658
11.4k
        if (yych <= '\r') goto yy84;
2659
5.32k
        if (yych >= ' ') goto yy84;
2660
5.32k
      }
2661
166k
    } else {
2662
166k
      if (yych <= '$') {
2663
151k
        if (yych <= '"') goto yy86;
2664
151k
        if (yych <= '#') goto yy87;
2665
10.4k
        goto yy88;
2666
151k
      } else {
2667
14.9k
        if (yych <= '-') goto yy86;
2668
12.6k
        if (yych <= '.') goto yy92;
2669
9.26k
        if (yych <= '/') goto yy93;
2670
9.26k
      }
2671
166k
    }
2672
591k
yy86:
2673
591k
    YYDEBUG(86, *YYCURSOR);
2674
591k
    YYCURSOR = YYMARKER;
2675
591k
    if (yyaccept <= 48) {
2676
430k
      if (yyaccept <= 24) {
2677
418k
        if (yyaccept <= 12) {
2678
410k
          if (yyaccept <= 6) {
2679
228k
            if (yyaccept <= 3) {
2680
189k
              if (yyaccept <= 1) {
2681
168k
                if (yyaccept == 0) {
2682
30.1k
                  goto yy17;
2683
138k
                } else {
2684
138k
                  goto yy21;
2685
138k
                }
2686
168k
              } else {
2687
21.0k
                if (yyaccept == 2) {
2688
13.0k
                  goto yy9;
2689
13.0k
                } else {
2690
8.00k
                  goto yy31;
2691
8.00k
                }
2692
21.0k
              }
2693
189k
            } else {
2694
39.4k
              if (yyaccept <= 5) {
2695
36.3k
                if (yyaccept == 4) {
2696
31.5k
                  goto yy40;
2697
31.5k
                } else {
2698
4.86k
                  goto yy125;
2699
4.86k
                }
2700
36.3k
              } else {
2701
3.08k
                goto yy129;
2702
3.08k
              }
2703
39.4k
            }
2704
228k
          } else {
2705
181k
            if (yyaccept <= 9) {
2706
180k
              if (yyaccept <= 8) {
2707
180k
                if (yyaccept == 7) {
2708
180k
                  goto yy142;
2709
180k
                } else {
2710
242
                  goto yy163;
2711
242
                }
2712
180k
              } else {
2713
264
                goto yy173;
2714
264
              }
2715
180k
            } else {
2716
1.18k
              if (yyaccept <= 11) {
2717
914
                if (yyaccept == 10) {
2718
219
                  goto yy182;
2719
695
                } else {
2720
695
                  goto yy188;
2721
695
                }
2722
914
              } else {
2723
269
                goto yy197;
2724
269
              }
2725
1.18k
            }
2726
181k
          }
2727
410k
        } else {
2728
8.07k
          if (yyaccept <= 18) {
2729
6.49k
            if (yyaccept <= 15) {
2730
4.44k
              if (yyaccept <= 14) {
2731
4.13k
                if (yyaccept == 13) {
2732
3.86k
                  goto yy213;
2733
3.86k
                } else {
2734
271
                  goto yy251;
2735
271
                }
2736
4.13k
              } else {
2737
310
                goto yy257;
2738
310
              }
2739
4.44k
            } else {
2740
2.04k
              if (yyaccept <= 17) {
2741
696
                if (yyaccept == 16) {
2742
497
                  goto yy260;
2743
497
                } else {
2744
199
                  goto yy279;
2745
199
                }
2746
1.34k
              } else {
2747
1.34k
                goto yy283;
2748
1.34k
              }
2749
2.04k
            }
2750
6.49k
          } else {
2751
1.58k
            if (yyaccept <= 21) {
2752
784
              if (yyaccept <= 20) {
2753
504
                if (yyaccept == 19) {
2754
199
                  goto yy295;
2755
305
                } else {
2756
305
                  goto yy306;
2757
305
                }
2758
504
              } else {
2759
280
                goto yy319;
2760
280
              }
2761
797
            } else {
2762
797
              if (yyaccept <= 23) {
2763
551
                if (yyaccept == 22) {
2764
205
                  goto yy331;
2765
346
                } else {
2766
346
                  goto yy334;
2767
346
                }
2768
551
              } else {
2769
246
                goto yy336;
2770
246
              }
2771
797
            }
2772
1.58k
          }
2773
8.07k
        }
2774
418k
      } else {
2775
11.3k
        if (yyaccept <= 36) {
2776
7.94k
          if (yyaccept <= 30) {
2777
5.73k
            if (yyaccept <= 27) {
2778
4.65k
              if (yyaccept <= 26) {
2779
4.45k
                if (yyaccept == 25) {
2780
205
                  goto yy339;
2781
4.25k
                } else {
2782
4.25k
                  goto yy89;
2783
4.25k
                }
2784
4.45k
              } else {
2785
195
                goto yy379;
2786
195
              }
2787
4.65k
            } else {
2788
1.08k
              if (yyaccept <= 29) {
2789
801
                if (yyaccept == 28) {
2790
411
                  goto yy388;
2791
411
                } else {
2792
390
                  goto yy390;
2793
390
                }
2794
801
              } else {
2795
286
                goto yy399;
2796
286
              }
2797
1.08k
            }
2798
5.73k
          } else {
2799
2.21k
            if (yyaccept <= 33) {
2800
755
              if (yyaccept <= 32) {
2801
476
                if (yyaccept == 31) {
2802
272
                  goto yy401;
2803
272
                } else {
2804
204
                  goto yy408;
2805
204
                }
2806
476
              } else {
2807
279
                goto yy415;
2808
279
              }
2809
1.45k
            } else {
2810
1.45k
              if (yyaccept <= 35) {
2811
1.04k
                if (yyaccept == 34) {
2812
492
                  goto yy471;
2813
557
                } else {
2814
557
                  goto yy473;
2815
557
                }
2816
1.04k
              } else {
2817
406
                goto yy476;
2818
406
              }
2819
1.45k
            }
2820
2.21k
          }
2821
7.94k
        } else {
2822
3.37k
          if (yyaccept <= 42) {
2823
1.89k
            if (yyaccept <= 39) {
2824
811
              if (yyaccept <= 38) {
2825
612
                if (yyaccept == 37) {
2826
392
                  goto yy478;
2827
392
                } else {
2828
220
                  goto yy480;
2829
220
                }
2830
612
              } else {
2831
199
                goto yy482;
2832
199
              }
2833
1.07k
            } else {
2834
1.07k
              if (yyaccept <= 41) {
2835
723
                if (yyaccept == 40) {
2836
207
                  goto yy488;
2837
516
                } else {
2838
516
                  goto yy492;
2839
516
                }
2840
723
              } else {
2841
356
                goto yy501;
2842
356
              }
2843
1.07k
            }
2844
1.89k
          } else {
2845
1.48k
            if (yyaccept <= 45) {
2846
784
              if (yyaccept <= 44) {
2847
583
                if (yyaccept == 43) {
2848
324
                  goto yy511;
2849
324
                } else {
2850
259
                  goto yy513;
2851
259
                }
2852
583
              } else {
2853
201
                goto yy516;
2854
201
              }
2855
784
            } else {
2856
702
              if (yyaccept <= 47) {
2857
477
                if (yyaccept == 46) {
2858
276
                  goto yy526;
2859
276
                } else {
2860
201
                  goto yy528;
2861
201
                }
2862
477
              } else {
2863
225
                goto yy530;
2864
225
              }
2865
702
            }
2866
1.48k
          }
2867
3.37k
        }
2868
11.3k
      }
2869
430k
    } else {
2870
161k
      if (yyaccept <= 72) {
2871
140k
        if (yyaccept <= 60) {
2872
136k
          if (yyaccept <= 54) {
2873
133k
            if (yyaccept <= 51) {
2874
48.3k
              if (yyaccept <= 50) {
2875
48.1k
                if (yyaccept == 49) {
2876
243
                  goto yy532;
2877
47.9k
                } else {
2878
47.9k
                  goto yy534;
2879
47.9k
                }
2880
48.1k
              } else {
2881
202
                goto yy576;
2882
202
              }
2883
85.0k
            } else {
2884
85.0k
              if (yyaccept <= 53) {
2885
84.4k
                if (yyaccept == 52) {
2886
199
                  goto yy579;
2887
84.2k
                } else {
2888
84.2k
                  goto yy583;
2889
84.2k
                }
2890
84.4k
              } else {
2891
639
                goto yy597;
2892
639
              }
2893
85.0k
            }
2894
133k
          } else {
2895
2.91k
            if (yyaccept <= 57) {
2896
2.02k
              if (yyaccept <= 56) {
2897
1.78k
                if (yyaccept == 55) {
2898
1.53k
                  goto yy607;
2899
1.53k
                } else {
2900
248
                  goto yy611;
2901
248
                }
2902
1.78k
              } else {
2903
241
                goto yy613;
2904
241
              }
2905
2.02k
            } else {
2906
890
              if (yyaccept <= 59) {
2907
625
                if (yyaccept == 58) {
2908
360
                  goto yy615;
2909
360
                } else {
2910
265
                  goto yy654;
2911
265
                }
2912
625
              } else {
2913
265
                goto yy656;
2914
265
              }
2915
890
            }
2916
2.91k
          }
2917
136k
        } else {
2918
4.44k
          if (yyaccept <= 66) {
2919
3.00k
            if (yyaccept <= 63) {
2920
654
              if (yyaccept <= 62) {
2921
442
                if (yyaccept == 61) {
2922
206
                  goto yy671;
2923
236
                } else {
2924
236
                  goto yy673;
2925
236
                }
2926
442
              } else {
2927
212
                goto yy675;
2928
212
              }
2929
2.34k
            } else {
2930
2.34k
              if (yyaccept <= 65) {
2931
2.14k
                if (yyaccept == 64) {
2932
358
                  goto yy679;
2933
1.78k
                } else {
2934
1.78k
                  goto yy685;
2935
1.78k
                }
2936
2.14k
              } else {
2937
202
                goto yy690;
2938
202
              }
2939
2.34k
            }
2940
3.00k
          } else {
2941
1.44k
            if (yyaccept <= 69) {
2942
671
              if (yyaccept <= 68) {
2943
437
                if (yyaccept == 67) {
2944
219
                  goto yy700;
2945
219
                } else {
2946
218
                  goto yy726;
2947
218
                }
2948
437
              } else {
2949
234
                goto yy728;
2950
234
              }
2951
778
            } else {
2952
778
              if (yyaccept <= 71) {
2953
491
                if (yyaccept == 70) {
2954
275
                  goto yy730;
2955
275
                } else {
2956
216
                  goto yy735;
2957
216
                }
2958
491
              } else {
2959
287
                goto yy743;
2960
287
              }
2961
778
            }
2962
1.44k
          }
2963
4.44k
        }
2964
140k
      } else {
2965
20.3k
        if (yyaccept <= 84) {
2966
4.37k
          if (yyaccept <= 78) {
2967
1.37k
            if (yyaccept <= 75) {
2968
750
              if (yyaccept <= 74) {
2969
459
                if (yyaccept == 73) {
2970
261
                  goto yy754;
2971
261
                } else {
2972
198
                  goto yy764;
2973
198
                }
2974
459
              } else {
2975
291
                goto yy768;
2976
291
              }
2977
750
            } else {
2978
625
              if (yyaccept <= 77) {
2979
391
                if (yyaccept == 76) {
2980
197
                  goto yy784;
2981
197
                } else {
2982
194
                  goto yy797;
2983
194
                }
2984
391
              } else {
2985
234
                goto yy799;
2986
234
              }
2987
625
            }
2988
3.00k
          } else {
2989
3.00k
            if (yyaccept <= 81) {
2990
2.24k
              if (yyaccept <= 80) {
2991
2.04k
                if (yyaccept == 79) {
2992
701
                  goto yy801;
2993
1.34k
                } else {
2994
1.34k
                  goto yy804;
2995
1.34k
                }
2996
2.04k
              } else {
2997
204
                goto yy812;
2998
204
              }
2999
2.24k
            } else {
3000
753
              if (yyaccept <= 83) {
3001
554
                if (yyaccept == 82) {
3002
340
                  goto yy819;
3003
340
                } else {
3004
214
                  goto yy823;
3005
214
                }
3006
554
              } else {
3007
199
                goto yy825;
3008
199
              }
3009
753
            }
3010
3.00k
          }
3011
15.9k
        } else {
3012
15.9k
          if (yyaccept <= 90) {
3013
1.69k
            if (yyaccept <= 87) {
3014
734
              if (yyaccept <= 86) {
3015
519
                if (yyaccept == 85) {
3016
299
                  goto yy836;
3017
299
                } else {
3018
220
                  goto yy839;
3019
220
                }
3020
519
              } else {
3021
215
                goto yy854;
3022
215
              }
3023
964
            } else {
3024
964
              if (yyaccept <= 89) {
3025
760
                if (yyaccept == 88) {
3026
554
                  goto yy869;
3027
554
                } else {
3028
206
                  goto yy898;
3029
206
                }
3030
760
              } else {
3031
204
                goto yy903;
3032
204
              }
3033
964
            }
3034
14.2k
          } else {
3035
14.2k
            if (yyaccept <= 93) {
3036
12.0k
              if (yyaccept <= 92) {
3037
11.8k
                if (yyaccept == 91) {
3038
11.6k
                  goto yy876;
3039
11.6k
                } else {
3040
198
                  goto yy911;
3041
198
                }
3042
11.8k
              } else {
3043
200
                goto yy915;
3044
200
              }
3045
12.0k
            } else {
3046
2.24k
              if (yyaccept <= 95) {
3047
2.03k
                if (yyaccept == 94) {
3048
1.75k
                  goto yy886;
3049
1.75k
                } else {
3050
278
                  goto yy931;
3051
278
                }
3052
2.03k
              } else {
3053
210
                goto yy951;
3054
210
              }
3055
2.24k
            }
3056
14.2k
          }
3057
15.9k
        }
3058
20.3k
      }
3059
161k
    }
3060
140k
yy87:
3061
140k
    YYDEBUG(87, *YYCURSOR);
3062
140k
    ++YYCURSOR;
3063
140k
    YYFILL(1);
3064
140k
    yych = *YYCURSOR;
3065
140k
    if (yych <= '\f') {
3066
33.0k
      if (yych <= 0x00) goto yy86;
3067
32.7k
      if (yych == '\n') goto yy227;
3068
823
      goto yy225;
3069
107k
    } else {
3070
107k
      if (yych <= '\r') goto yy227;
3071
6.79k
      if (yych == '[') goto yy86;
3072
6.58k
      goto yy225;
3073
6.79k
    }
3074
11.0k
yy88:
3075
11.0k
    YYDEBUG(88, *YYCURSOR);
3076
11.0k
    ++YYCURSOR;
3077
16.0k
yy89:
3078
16.0k
    YYDEBUG(89, *YYCURSOR);
3079
16.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
16.0k
#line 1950 "Zend/zend_language_scanner.l"
3081
16.0k
    {
3082
16.0k
  yyless(1);
3083
16.0k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
16.0k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
13.5k
yy90:
3087
13.5k
    YYDEBUG(90, *YYCURSOR);
3088
13.5k
    ++YYCURSOR;
3089
13.5k
    YYDEBUG(91, *YYCURSOR);
3090
13.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
13.5k
#line 1926 "Zend/zend_language_scanner.l"
3092
13.5k
    {
3093
13.5k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
13.5k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
3.35k
yy92:
3097
3.35k
    YYDEBUG(92, *YYCURSOR);
3098
3.35k
    yych = *++YYCURSOR;
3099
3.35k
    if (yych == '.') goto yy229;
3100
2.19k
    goto yy86;
3101
5.54k
yy93:
3102
5.54k
    YYDEBUG(93, *YYCURSOR);
3103
5.54k
    ++YYCURSOR;
3104
5.54k
    YYFILL(1);
3105
5.54k
    yych = *YYCURSOR;
3106
5.54k
    if (yych == '*') goto yy230;
3107
1.88k
    if (yych == '/') goto yy225;
3108
1.34k
    goto yy86;
3109
9.62k
yy94:
3110
9.62k
    YYDEBUG(94, *YYCURSOR);
3111
9.62k
    ++YYCURSOR;
3112
9.62k
    YYDEBUG(95, *YYCURSOR);
3113
9.62k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
9.62k
#line 1902 "Zend/zend_language_scanner.l"
3115
9.62k
    {
3116
9.62k
  RETURN_TOKEN(T_AND_EQUAL);
3117
9.62k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
34.9k
yy96:
3120
34.9k
    YYDEBUG(96, *YYCURSOR);
3121
34.9k
    ++YYCURSOR;
3122
34.9k
    YYFILL(7);
3123
34.9k
    yych = *YYCURSOR;
3124
183k
yy97:
3125
183k
    YYDEBUG(97, *YYCURSOR);
3126
183k
    if (yybm[0+yych] & 1) {
3127
34.9k
      goto yy96;
3128
34.9k
    }
3129
148k
    switch (yych) {
3130
3.50k
    case 'A':
3131
33.8k
    case 'a': goto yy98;
3132
4.76k
    case 'B':
3133
15.0k
    case 'b': goto yy99;
3134
587
    case 'D':
3135
4.73k
    case 'd': goto yy100;
3136
1.66k
    case 'F':
3137
14.7k
    case 'f': goto yy101;
3138
524
    case 'I':
3139
17.1k
    case 'i': goto yy102;
3140
1.02k
    case 'O':
3141
4.70k
    case 'o': goto yy103;
3142
423
    case 'R':
3143
5.92k
    case 'r': goto yy104;
3144
2.70k
    case 'S':
3145
21.5k
    case 's': goto yy105;
3146
478
    case 'U':
3147
5.27k
    case 'u': goto yy106;
3148
299
    case 'V':
3149
4.33k
    case 'v': goto yy107;
3150
21.0k
    default:  goto yy86;
3151
148k
    }
3152
33.8k
yy98:
3153
33.8k
    YYDEBUG(98, *YYCURSOR);
3154
33.8k
    yych = *++YYCURSOR;
3155
33.8k
    if (yych == 'R') goto yy232;
3156
33.6k
    if (yych == 'r') goto yy232;
3157
22.9k
    goto yy86;
3158
22.9k
yy99:
3159
15.0k
    YYDEBUG(99, *YYCURSOR);
3160
15.0k
    yych = *++YYCURSOR;
3161
15.0k
    if (yych <= 'O') {
3162
6.77k
      if (yych == 'I') goto yy233;
3163
6.50k
      if (yych <= 'N') goto yy86;
3164
1.20k
      goto yy234;
3165
8.27k
    } else {
3166
8.27k
      if (yych <= 'i') {
3167
4.15k
        if (yych <= 'h') goto yy86;
3168
3.19k
        goto yy233;
3169
4.15k
      } else {
3170
4.11k
        if (yych == 'o') goto yy234;
3171
705
        goto yy86;
3172
4.11k
      }
3173
8.27k
    }
3174
4.73k
yy100:
3175
4.73k
    YYDEBUG(100, *YYCURSOR);
3176
4.73k
    yych = *++YYCURSOR;
3177
4.73k
    if (yych == 'O') goto yy235;
3178
4.40k
    if (yych == 'o') goto yy235;
3179
1.74k
    goto yy86;
3180
14.7k
yy101:
3181
14.7k
    YYDEBUG(101, *YYCURSOR);
3182
14.7k
    yych = *++YYCURSOR;
3183
14.7k
    if (yych == 'L') goto yy236;
3184
14.1k
    if (yych == 'l') goto yy236;
3185
10.2k
    goto yy86;
3186
17.1k
yy102:
3187
17.1k
    YYDEBUG(102, *YYCURSOR);
3188
17.1k
    yych = *++YYCURSOR;
3189
17.1k
    if (yych == 'N') goto yy237;
3190
16.4k
    if (yych == 'n') goto yy237;
3191
7.67k
    goto yy86;
3192
7.67k
yy103:
3193
4.70k
    YYDEBUG(103, *YYCURSOR);
3194
4.70k
    yych = *++YYCURSOR;
3195
4.70k
    if (yych == 'B') goto yy238;
3196
4.42k
    if (yych == 'b') goto yy238;
3197
1.95k
    goto yy86;
3198
5.92k
yy104:
3199
5.92k
    YYDEBUG(104, *YYCURSOR);
3200
5.92k
    yych = *++YYCURSOR;
3201
5.92k
    if (yych == 'E') goto yy239;
3202
5.33k
    if (yych == 'e') goto yy239;
3203
2.91k
    goto yy86;
3204
21.5k
yy105:
3205
21.5k
    YYDEBUG(105, *YYCURSOR);
3206
21.5k
    yych = *++YYCURSOR;
3207
21.5k
    if (yych == 'T') goto yy240;
3208
20.9k
    if (yych == 't') goto yy240;
3209
10.2k
    goto yy86;
3210
10.2k
yy106:
3211
5.27k
    YYDEBUG(106, *YYCURSOR);
3212
5.27k
    yych = *++YYCURSOR;
3213
5.27k
    if (yych == 'N') goto yy241;
3214
3.77k
    if (yych == 'n') goto yy241;
3215
840
    goto yy86;
3216
4.33k
yy107:
3217
4.33k
    YYDEBUG(107, *YYCURSOR);
3218
4.33k
    yych = *++YYCURSOR;
3219
4.33k
    if (yych == 'O') goto yy242;
3220
3.95k
    if (yych == 'o') goto yy242;
3221
2.11k
    goto yy86;
3222
15.2k
yy108:
3223
15.2k
    YYDEBUG(108, *YYCURSOR);
3224
15.2k
    yych = *++YYCURSOR;
3225
15.2k
    if (yych == '=') goto yy243;
3226
14.6k
    YYDEBUG(109, *YYCURSOR);
3227
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
14.6k
#line 1874 "Zend/zend_language_scanner.l"
3229
14.6k
    {
3230
14.6k
  RETURN_TOKEN(T_POW);
3231
14.6k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
4.95k
yy110:
3234
4.95k
    YYDEBUG(110, *YYCURSOR);
3235
4.95k
    ++YYCURSOR;
3236
4.95k
    YYDEBUG(111, *YYCURSOR);
3237
4.95k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
4.95k
#line 1870 "Zend/zend_language_scanner.l"
3239
4.95k
    {
3240
4.95k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
4.95k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
20.3k
yy112:
3244
20.3k
    YYDEBUG(112, *YYCURSOR);
3245
20.3k
    ++YYCURSOR;
3246
20.3k
    YYDEBUG(113, *YYCURSOR);
3247
20.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
20.3k
#line 1826 "Zend/zend_language_scanner.l"
3249
20.3k
    {
3250
20.3k
  RETURN_TOKEN(T_INC);
3251
20.3k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
2.43k
yy114:
3254
2.43k
    YYDEBUG(114, *YYCURSOR);
3255
2.43k
    ++YYCURSOR;
3256
2.43k
    YYDEBUG(115, *YYCURSOR);
3257
2.43k
    yyleng = YYCURSOR - SCNG(yy_text);
3258
2.43k
#line 1862 "Zend/zend_language_scanner.l"
3259
2.43k
    {
3260
2.43k
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
2.43k
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
7.72k
yy116:
3264
7.72k
    YYDEBUG(116, *YYCURSOR);
3265
7.72k
    ++YYCURSOR;
3266
7.72k
    YYDEBUG(117, *YYCURSOR);
3267
7.72k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
7.72k
#line 1830 "Zend/zend_language_scanner.l"
3269
7.72k
    {
3270
7.72k
  RETURN_TOKEN(T_DEC);
3271
7.72k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
887
yy118:
3274
887
    YYDEBUG(118, *YYCURSOR);
3275
887
    ++YYCURSOR;
3276
887
    YYDEBUG(119, *YYCURSOR);
3277
887
    yyleng = YYCURSOR - SCNG(yy_text);
3278
887
#line 1866 "Zend/zend_language_scanner.l"
3279
887
    {
3280
887
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
887
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
65.7k
yy120:
3284
65.7k
    YYDEBUG(120, *YYCURSOR);
3285
65.7k
    ++YYCURSOR;
3286
65.7k
    YYDEBUG(121, *YYCURSOR);
3287
65.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
65.7k
#line 1587 "Zend/zend_language_scanner.l"
3289
65.7k
    {
3290
65.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
65.7k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
65.7k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
18.8k
yy122:
3295
18.8k
    YYDEBUG(122, *YYCURSOR);
3296
18.8k
    yych = *++YYCURSOR;
3297
18.8k
    if (yych == '.') goto yy245;
3298
11.1k
    goto yy86;
3299
271k
yy123:
3300
271k
    YYDEBUG(123, *YYCURSOR);
3301
271k
    yyaccept = 5;
3302
271k
    YYMARKER = ++YYCURSOR;
3303
271k
    YYFILL(2);
3304
271k
    yych = *YYCURSOR;
3305
304k
yy124:
3306
304k
    YYDEBUG(124, *YYCURSOR);
3307
304k
    if (yych <= 'E') {
3308
286k
      if (yych <= '/') goto yy125;
3309
257k
      if (yych <= '9') goto yy123;
3310
12.0k
      if (yych >= 'E') goto yy135;
3311
18.4k
    } else {
3312
18.4k
      if (yych <= '_') {
3313
3.70k
        if (yych >= '_') goto yy247;
3314
14.7k
      } else {
3315
14.7k
        if (yych == 'e') goto yy135;
3316
14.7k
      }
3317
18.4k
    }
3318
77.4k
yy125:
3319
77.4k
    YYDEBUG(125, *YYCURSOR);
3320
77.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
77.4k
#line 2233 "Zend/zend_language_scanner.l"
3322
77.4k
    {
3323
77.4k
  const char *end;
3324
77.4k
  size_t len = yyleng;
3325
77.4k
  char *dnum = yytext;
3326
77.4k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
77.4k
  if (contains_underscores) {
3329
1.32k
    dnum = estrndup(dnum, len);
3330
1.32k
    strip_underscores(dnum, &len);
3331
1.32k
  }
3332
3333
77.4k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
77.4k
  ZEND_ASSERT(end == dnum + len);
3336
77.4k
  if (contains_underscores) {
3337
1.32k
    efree(dnum);
3338
1.32k
  }
3339
77.4k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
77.4k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
55.2k
yy126:
3343
55.2k
    YYDEBUG(126, *YYCURSOR);
3344
55.2k
    ++YYCURSOR;
3345
55.2k
    YYDEBUG(127, *YYCURSOR);
3346
55.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
55.2k
#line 1886 "Zend/zend_language_scanner.l"
3348
55.2k
    {
3349
55.2k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
55.2k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
81.2k
yy128:
3353
81.2k
    YYDEBUG(128, *YYCURSOR);
3354
81.2k
    yyaccept = 6;
3355
81.2k
    yych = *(YYMARKER = ++YYCURSOR);
3356
81.2k
    if (yych == '*') goto yy248;
3357
81.2k
yy129:
3358
81.2k
    YYDEBUG(129, *YYCURSOR);
3359
81.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
81.2k
#line 2484 "Zend/zend_language_scanner.l"
3361
81.2k
    {
3362
81.2k
  int doc_com;
3363
3364
81.2k
  if (yyleng > 2) {
3365
5.90k
    doc_com = 1;
3366
5.90k
    RESET_DOC_COMMENT();
3367
75.3k
  } else {
3368
75.3k
    doc_com = 0;
3369
75.3k
  }
3370
3371
6.67M
  while (YYCURSOR < YYLIMIT) {
3372
6.64M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
59.6k
      break;
3374
59.6k
    }
3375
6.64M
  }
3376
3377
81.2k
  if (YYCURSOR < YYLIMIT) {
3378
59.6k
    YYCURSOR++;
3379
59.6k
  } else {
3380
21.6k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
21.6k
    if (PARSER_MODE()) {
3382
1.33k
      RETURN_TOKEN(T_ERROR);
3383
1.33k
    }
3384
21.6k
  }
3385
3386
79.9k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
79.9k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
79.9k
  if (doc_com) {
3390
5.80k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
5.80k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
5.80k
  }
3393
3394
74.1k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
74.1k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
42.5k
yy130:
3398
42.5k
    YYDEBUG(130, *YYCURSOR);
3399
42.5k
    ++YYCURSOR;
3400
42.5k
    goto yy13;
3401
1.75k
yy131:
3402
1.75k
    YYDEBUG(131, *YYCURSOR);
3403
1.75k
    ++YYCURSOR;
3404
1.75k
    YYDEBUG(132, *YYCURSOR);
3405
1.75k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
1.75k
#line 1882 "Zend/zend_language_scanner.l"
3407
1.75k
    {
3408
1.75k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
1.75k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
33.1k
yy133:
3412
33.1k
    YYDEBUG(133, *YYCURSOR);
3413
33.1k
    yyaccept = 5;
3414
33.1k
    yych = *(YYMARKER = ++YYCURSOR);
3415
33.1k
    if (yych == '_') goto yy125;
3416
32.9k
    goto yy124;
3417
32.9k
yy134:
3418
4.57k
    YYDEBUG(134, *YYCURSOR);
3419
4.57k
    ++YYCURSOR;
3420
4.57k
    YYFILL(1);
3421
4.57k
    yych = *YYCURSOR;
3422
4.57k
    if (yybm[0+yych] & 8) {
3423
3.61k
      goto yy249;
3424
3.61k
    }
3425
964
    goto yy86;
3426
32.7k
yy135:
3427
32.7k
    YYDEBUG(135, *YYCURSOR);
3428
32.7k
    yych = *++YYCURSOR;
3429
32.7k
    if (yych <= ',') {
3430
1.60k
      if (yych == '+') goto yy252;
3431
1.14k
      goto yy86;
3432
31.1k
    } else {
3433
31.1k
      if (yych <= '-') goto yy252;
3434
20.6k
      if (yych <= '/') goto yy86;
3435
20.3k
      if (yych <= '9') goto yy253;
3436
4.54k
      goto yy86;
3437
20.3k
    }
3438
4.24k
yy136:
3439
4.24k
    YYDEBUG(136, *YYCURSOR);
3440
4.24k
    ++YYCURSOR;
3441
4.24k
    YYFILL(1);
3442
4.24k
    yych = *YYCURSOR;
3443
4.24k
    if (yybm[0+yych] & 16) {
3444
2.79k
      goto yy255;
3445
2.79k
    }
3446
1.45k
    goto yy86;
3447
8.13k
yy137:
3448
8.13k
    YYDEBUG(137, *YYCURSOR);
3449
8.13k
    ++YYCURSOR;
3450
8.13k
    YYFILL(1);
3451
8.13k
    yych = *YYCURSOR;
3452
8.13k
    if (yybm[0+yych] & 32) {
3453
7.38k
      goto yy258;
3454
7.38k
    }
3455
753
    goto yy86;
3456
5.36k
yy138:
3457
5.36k
    YYDEBUG(138, *YYCURSOR);
3458
5.36k
    ++YYCURSOR;
3459
5.36k
    YYFILL(1);
3460
5.36k
    yych = *YYCURSOR;
3461
5.36k
    if (yybm[256+yych] & 64) {
3462
3.52k
      goto yy32;
3463
3.52k
    }
3464
1.84k
    goto yy86;
3465
67.7k
yy139:
3466
67.7k
    YYDEBUG(139, *YYCURSOR);
3467
67.7k
    ++YYCURSOR;
3468
67.7k
    YYDEBUG(140, *YYCURSOR);
3469
67.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
67.7k
#line 1614 "Zend/zend_language_scanner.l"
3471
67.7k
    {
3472
67.7k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
67.7k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
3.35M
yy141:
3476
3.35M
    YYDEBUG(141, *YYCURSOR);
3477
3.35M
    yyaccept = 7;
3478
3.35M
    yych = *(YYMARKER = ++YYCURSOR);
3479
3.35M
    if (yych <= ';') goto yy142;
3480
3.30M
    if (yych <= '<') goto yy261;
3481
150k
    if (yych <= '=') goto yy263;
3482
380k
yy142:
3483
380k
    YYDEBUG(142, *YYCURSOR);
3484
380k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
380k
#line 1942 "Zend/zend_language_scanner.l"
3486
380k
    {
3487
380k
  RETURN_TOKEN(T_SL);
3488
380k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
9.00k
yy143:
3491
9.00k
    YYDEBUG(143, *YYCURSOR);
3492
9.00k
    yych = *++YYCURSOR;
3493
9.00k
    if (yych == '>') goto yy265;
3494
8.22k
    YYDEBUG(144, *YYCURSOR);
3495
8.22k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
8.22k
#line 1854 "Zend/zend_language_scanner.l"
3497
8.22k
    {
3498
8.22k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
8.22k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
4.78k
yy145:
3502
4.78k
    YYDEBUG(145, *YYCURSOR);
3503
4.78k
    ++YYCURSOR;
3504
4.78k
    goto yy76;
3505
31.8k
yy146:
3506
31.8k
    YYDEBUG(146, *YYCURSOR);
3507
31.8k
    yych = *++YYCURSOR;
3508
31.8k
    if (yych == '=') goto yy267;
3509
16.5k
    YYDEBUG(147, *YYCURSOR);
3510
16.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
16.5k
#line 1842 "Zend/zend_language_scanner.l"
3512
16.5k
    {
3513
16.5k
  RETURN_TOKEN(T_IS_EQUAL);
3514
16.5k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
48.3k
yy148:
3517
48.3k
    YYDEBUG(148, *YYCURSOR);
3518
48.3k
    ++YYCURSOR;
3519
48.3k
    YYDEBUG(149, *YYCURSOR);
3520
48.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
48.3k
#line 1810 "Zend/zend_language_scanner.l"
3522
48.3k
    {
3523
48.3k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
48.3k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
3.70k
yy150:
3527
3.70k
    YYDEBUG(150, *YYCURSOR);
3528
3.70k
    ++YYCURSOR;
3529
3.70k
    YYDEBUG(151, *YYCURSOR);
3530
3.70k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
3.70k
#line 1858 "Zend/zend_language_scanner.l"
3532
3.70k
    {
3533
3.70k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
3.70k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
7.54k
yy152:
3537
7.54k
    YYDEBUG(152, *YYCURSOR);
3538
7.54k
    yych = *++YYCURSOR;
3539
7.54k
    if (yych == '=') goto yy269;
3540
6.81k
    YYDEBUG(153, *YYCURSOR);
3541
6.81k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
6.81k
#line 1946 "Zend/zend_language_scanner.l"
3543
6.81k
    {
3544
6.81k
  RETURN_TOKEN(T_SR);
3545
6.81k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
24.0k
yy154:
3548
24.0k
    YYDEBUG(154, *YYCURSOR);
3549
24.0k
    yych = *++YYCURSOR;
3550
24.0k
    if (yych == '>') goto yy271;
3551
1.87k
    goto yy86;
3552
113k
yy155:
3553
113k
    YYDEBUG(155, *YYCURSOR);
3554
113k
    yych = *++YYCURSOR;
3555
113k
    if (yych == '\n') goto yy273;
3556
107k
    if (yych == '\r') goto yy274;
3557
113k
yy156:
3558
113k
    YYDEBUG(156, *YYCURSOR);
3559
113k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
113k
#line 2526 "Zend/zend_language_scanner.l"
3561
113k
    {
3562
113k
  BEGIN(INITIAL);
3563
113k
  if (yytext[yyleng-1] != '>') {
3564
6.70k
    CG(increment_lineno) = 1;
3565
6.70k
  }
3566
113k
  if (PARSER_MODE()) {
3567
90.0k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
90.0k
  }
3569
22.9k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
22.9k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
36.2k
yy157:
3573
36.2k
    YYDEBUG(157, *YYCURSOR);
3574
36.2k
    yych = *++YYCURSOR;
3575
36.2k
    if (yych == '=') goto yy275;
3576
28.2k
    YYDEBUG(158, *YYCURSOR);
3577
28.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
28.2k
#line 1622 "Zend/zend_language_scanner.l"
3579
28.2k
    {
3580
28.2k
  RETURN_TOKEN(T_COALESCE);
3581
28.2k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
8.72k
yy159:
3584
8.72k
    YYDEBUG(159, *YYCURSOR);
3585
8.72k
    yyaccept = 4;
3586
8.72k
    yych = *(YYMARKER = ++YYCURSOR);
3587
8.72k
    if (yych == 'S') goto yy277;
3588
7.49k
    if (yych == 's') goto yy277;
3589
2.80k
    goto yy48;
3590
9.70k
yy160:
3591
9.70k
    YYDEBUG(160, *YYCURSOR);
3592
9.70k
    yyaccept = 4;
3593
9.70k
    yych = *(YYMARKER = ++YYCURSOR);
3594
9.70k
    if (yych == 'D') goto yy278;
3595
8.48k
    if (yych == 'd') goto yy278;
3596
2.49k
    goto yy48;
3597
21.2k
yy161:
3598
21.2k
    YYDEBUG(161, *YYCURSOR);
3599
21.2k
    yyaccept = 4;
3600
21.2k
    yych = *(YYMARKER = ++YYCURSOR);
3601
21.2k
    if (yych == 'R') goto yy280;
3602
20.7k
    if (yych == 'r') goto yy280;
3603
4.53k
    goto yy48;
3604
50.7k
yy162:
3605
50.7k
    YYDEBUG(162, *YYCURSOR);
3606
50.7k
    yyaccept = 8;
3607
50.7k
    yych = *(YYMARKER = ++YYCURSOR);
3608
50.7k
    if (yybm[256+yych] & 128) {
3609
32.8k
      goto yy47;
3610
32.8k
    }
3611
17.8k
    if (yych == '\\') goto yy164;
3612
17.8k
yy163:
3613
17.8k
    YYDEBUG(163, *YYCURSOR);
3614
17.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
17.8k
#line 1510 "Zend/zend_language_scanner.l"
3616
17.8k
    {
3617
17.8k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
17.8k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
58.2k
yy164:
3621
58.2k
    YYDEBUG(164, *YYCURSOR);
3622
58.2k
    ++YYCURSOR;
3623
58.2k
    YYFILL(1);
3624
58.2k
    yych = *YYCURSOR;
3625
58.2k
    if (yych <= '_') {
3626
38.4k
      if (yych <= '@') goto yy86;
3627
19.5k
      if (yych <= 'Z') goto yy281;
3628
10.5k
      if (yych <= '^') goto yy86;
3629
1.15k
      goto yy281;
3630
19.7k
    } else {
3631
19.7k
      if (yych <= '`') goto yy86;
3632
18.7k
      if (yych <= 'z') goto yy281;
3633
9.04k
      if (yych <= 0x7F) goto yy86;
3634
3.73k
      goto yy281;
3635
9.04k
    }
3636
6.22k
yy165:
3637
6.22k
    YYDEBUG(165, *YYCURSOR);
3638
6.22k
    yych = *++YYCURSOR;
3639
6.22k
    if (yych == '<') goto yy284;
3640
1.77k
    goto yy86;
3641
4.16k
yy166:
3642
4.16k
    YYDEBUG(166, *YYCURSOR);
3643
4.16k
    yyaccept = 4;
3644
4.16k
    yych = *(YYMARKER = ++YYCURSOR);
3645
4.16k
    if (yych == 'E') goto yy285;
3646
3.16k
    if (yych == 'e') goto yy285;
3647
570
    goto yy48;
3648
52.4k
yy167:
3649
52.4k
    YYDEBUG(167, *YYCURSOR);
3650
52.4k
    yyaccept = 4;
3651
52.4k
    yych = *(YYMARKER = ++YYCURSOR);
3652
52.4k
    if (yych <= 'T') {
3653
4.79k
      if (yych <= 'L') {
3654
3.26k
        if (yych <= 'K') goto yy48;
3655
1.31k
        goto yy286;
3656
3.26k
      } else {
3657
1.53k
        if (yych <= 'R') goto yy48;
3658
1.24k
        if (yych <= 'S') goto yy287;
3659
884
        goto yy288;
3660
1.24k
      }
3661
47.6k
    } else {
3662
47.6k
      if (yych <= 'r') {
3663
11.7k
        if (yych == 'l') goto yy286;
3664
1.05k
        goto yy48;
3665
35.8k
      } else {
3666
35.8k
        if (yych <= 's') goto yy287;
3667
26.0k
        if (yych <= 't') goto yy288;
3668
615
        goto yy48;
3669
26.0k
      }
3670
47.6k
    }
3671
52.9k
yy168:
3672
52.9k
    YYDEBUG(168, *YYCURSOR);
3673
52.9k
    yyaccept = 4;
3674
52.9k
    yych = *(YYMARKER = ++YYCURSOR);
3675
52.9k
    if (yych <= 'O') {
3676
4.82k
      if (yych == 'A') goto yy289;
3677
2.76k
      if (yych <= 'N') goto yy48;
3678
1.21k
      goto yy290;
3679
48.0k
    } else {
3680
48.0k
      if (yych <= 'a') {
3681
41.2k
        if (yych <= '`') goto yy48;
3682
40.6k
        goto yy289;
3683
41.2k
      } else {
3684
6.86k
        if (yych == 'o') goto yy290;
3685
1.30k
        goto yy48;
3686
6.86k
      }
3687
48.0k
    }
3688
45.7k
yy169:
3689
45.7k
    YYDEBUG(169, *YYCURSOR);
3690
45.7k
    yyaccept = 4;
3691
45.7k
    yych = *(YYMARKER = ++YYCURSOR);
3692
45.7k
    if (yych == 'N') goto yy291;
3693
43.0k
    if (yych == 'n') goto yy291;
3694
5.06k
    goto yy48;
3695
22.8k
yy170:
3696
22.8k
    YYDEBUG(170, *YYCURSOR);
3697
22.8k
    yyaccept = 4;
3698
22.8k
    yych = *(YYMARKER = ++YYCURSOR);
3699
22.8k
    if (yych <= 'F') {
3700
3.25k
      if (yych == 'C') goto yy292;
3701
1.86k
      if (yych <= 'E') goto yy48;
3702
368
      goto yy293;
3703
19.5k
    } else {
3704
19.5k
      if (yych <= 'c') {
3705
9.89k
        if (yych <= 'b') goto yy48;
3706
7.76k
        goto yy292;
3707
9.89k
      } else {
3708
9.67k
        if (yych == 'f') goto yy293;
3709
3.22k
        goto yy48;
3710
9.67k
      }
3711
19.5k
    }
3712
7.53k
yy171:
3713
7.53k
    YYDEBUG(171, *YYCURSOR);
3714
7.53k
    yyaccept = 4;
3715
7.53k
    yych = *(YYMARKER = ++YYCURSOR);
3716
7.53k
    if (yych == 'E') goto yy294;
3717
7.27k
    if (yych == 'e') goto yy294;
3718
1.76k
    goto yy48;
3719
9.73k
yy172:
3720
9.73k
    YYDEBUG(172, *YYCURSOR);
3721
9.73k
    yyaccept = 9;
3722
9.73k
    yych = *(YYMARKER = ++YYCURSOR);
3723
9.73k
    if (yybm[256+yych] & 128) {
3724
7.15k
      goto yy47;
3725
7.15k
    }
3726
2.57k
    if (yych == '\\') goto yy164;
3727
2.57k
yy173:
3728
2.57k
    YYDEBUG(173, *YYCURSOR);
3729
2.57k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
2.57k
#line 1478 "Zend/zend_language_scanner.l"
3731
2.57k
    {
3732
2.57k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
2.57k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
35.8k
yy174:
3736
35.8k
    YYDEBUG(174, *YYCURSOR);
3737
35.8k
    yyaccept = 4;
3738
35.8k
    yych = *(YYMARKER = ++YYCURSOR);
3739
35.8k
    if (yych == 'H') goto yy296;
3740
35.1k
    if (yych == 'h') goto yy296;
3741
2.11k
    goto yy48;
3742
16.6k
yy175:
3743
16.6k
    YYDEBUG(175, *YYCURSOR);
3744
16.6k
    yyaccept = 4;
3745
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
3746
16.6k
    if (yych == 'S') goto yy297;
3747
15.7k
    if (yych == 's') goto yy297;
3748
4.67k
    goto yy48;
3749
7.35k
yy176:
3750
7.35k
    YYDEBUG(176, *YYCURSOR);
3751
7.35k
    yyaccept = 4;
3752
7.35k
    yych = *(YYMARKER = ++YYCURSOR);
3753
7.35k
    if (yych == 'P') goto yy298;
3754
6.61k
    if (yych == 'p') goto yy298;
3755
2.72k
    goto yy48;
3756
205k
yy177:
3757
205k
    YYDEBUG(177, *YYCURSOR);
3758
205k
    yyaccept = 4;
3759
205k
    yych = *(YYMARKER = ++YYCURSOR);
3760
205k
    if (yych <= 'U') {
3761
21.9k
      if (yych == 'D') goto yy299;
3762
8.72k
      if (yych <= 'T') goto yy48;
3763
2.99k
      goto yy300;
3764
184k
    } else {
3765
184k
      if (yych <= 'd') {
3766
28.6k
        if (yych <= 'c') goto yy48;
3767
27.2k
        goto yy299;
3768
155k
      } else {
3769
155k
        if (yych == 'u') goto yy300;
3770
6.65k
        goto yy48;
3771
155k
      }
3772
184k
    }
3773
5.08k
yy178:
3774
5.08k
    YYDEBUG(178, *YYCURSOR);
3775
5.08k
    yyaccept = 4;
3776
5.08k
    yych = *(YYMARKER = ++YYCURSOR);
3777
5.08k
    if (yych == 'A') goto yy301;
3778
4.75k
    if (yych == 'a') goto yy301;
3779
929
    goto yy48;
3780
43.9k
yy179:
3781
43.9k
    YYDEBUG(179, *YYCURSOR);
3782
43.9k
    yyaccept = 4;
3783
43.9k
    yych = *(YYMARKER = ++YYCURSOR);
3784
43.9k
    if (yych <= 'T') {
3785
6.26k
      if (yych == 'I') goto yy302;
3786
5.72k
      if (yych <= 'S') goto yy48;
3787
712
      goto yy303;
3788
37.7k
    } else {
3789
37.7k
      if (yych <= 'i') {
3790
17.3k
        if (yych <= 'h') goto yy48;
3791
2.12k
        goto yy302;
3792
20.3k
      } else {
3793
20.3k
        if (yych == 't') goto yy303;
3794
1.44k
        goto yy48;
3795
20.3k
      }
3796
37.7k
    }
3797
17.3k
yy180:
3798
17.3k
    YYDEBUG(180, *YYCURSOR);
3799
17.3k
    yyaccept = 4;
3800
17.3k
    yych = *(YYMARKER = ++YYCURSOR);
3801
17.3k
    if (yych == 'N') goto yy304;
3802
16.9k
    if (yych == 'n') goto yy304;
3803
4.44k
    goto yy48;
3804
20.7k
yy181:
3805
20.7k
    YYDEBUG(181, *YYCURSOR);
3806
20.7k
    yyaccept = 10;
3807
20.7k
    yych = *(YYMARKER = ++YYCURSOR);
3808
20.7k
    if (yybm[256+yych] & 128) {
3809
2.22k
      goto yy47;
3810
2.22k
    }
3811
18.5k
    if (yych == '\\') goto yy164;
3812
18.5k
yy182:
3813
18.5k
    YYDEBUG(182, *YYCURSOR);
3814
18.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
18.5k
#line 1407 "Zend/zend_language_scanner.l"
3816
18.5k
    {
3817
18.5k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
18.5k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
51.8k
yy183:
3821
51.8k
    YYDEBUG(183, *YYCURSOR);
3822
51.8k
    yyaccept = 4;
3823
51.8k
    yych = *(YYMARKER = ++YYCURSOR);
3824
51.8k
    if (yych == 'R') goto yy305;
3825
49.9k
    if (yych == 'r') goto yy305;
3826
20.1k
    goto yy48;
3827
65.1k
yy184:
3828
65.1k
    YYDEBUG(184, *YYCURSOR);
3829
65.1k
    yyaccept = 4;
3830
65.1k
    yych = *(YYMARKER = ++YYCURSOR);
3831
65.1k
    if (yych == 'N') goto yy307;
3832
63.8k
    if (yych == 'n') goto yy307;
3833
1.36k
    goto yy48;
3834
7.82k
yy185:
3835
7.82k
    YYDEBUG(185, *YYCURSOR);
3836
7.82k
    yyaccept = 4;
3837
7.82k
    yych = *(YYMARKER = ++YYCURSOR);
3838
7.82k
    if (yych == 'O') goto yy308;
3839
5.90k
    if (yych == 'o') goto yy308;
3840
1.20k
    goto yy48;
3841
5.86k
yy186:
3842
5.86k
    YYDEBUG(186, *YYCURSOR);
3843
5.86k
    yyaccept = 4;
3844
5.86k
    yych = *(YYMARKER = ++YYCURSOR);
3845
5.86k
    if (yych == 'T') goto yy309;
3846
5.48k
    if (yych == 't') goto yy309;
3847
1.55k
    goto yy48;
3848
12.7k
yy187:
3849
12.7k
    YYDEBUG(187, *YYCURSOR);
3850
12.7k
    yyaccept = 11;
3851
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
3852
12.7k
    if (yybm[256+yych] & 128) {
3853
726
      goto yy47;
3854
726
    }
3855
12.0k
    if (yych == '\\') goto yy164;
3856
12.0k
yy188:
3857
12.0k
    YYDEBUG(188, *YYCURSOR);
3858
12.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
12.0k
#line 1454 "Zend/zend_language_scanner.l"
3860
12.0k
    {
3861
12.0k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
12.0k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
32.8k
yy189:
3865
32.8k
    YYDEBUG(189, *YYCURSOR);
3866
32.8k
    yyaccept = 4;
3867
32.8k
    yych = *(YYMARKER = ++YYCURSOR);
3868
32.8k
    if (yych == 'P') goto yy310;
3869
30.6k
    if (yych == 'p') goto yy310;
3870
7.91k
    goto yy48;
3871
71.9k
yy190:
3872
71.9k
    YYDEBUG(190, *YYCURSOR);
3873
71.9k
    yyaccept = 4;
3874
71.9k
    yych = *(YYMARKER = ++YYCURSOR);
3875
71.9k
    if (yych <= 'T') {
3876
16.3k
      if (yych <= 'C') {
3877
8.48k
        if (yych <= 'B') goto yy48;
3878
2.74k
        goto yy311;
3879
8.48k
      } else {
3880
7.83k
        if (yych <= 'R') goto yy48;
3881
5.51k
        if (yych <= 'S') goto yy312;
3882
2.66k
        goto yy313;
3883
5.51k
      }
3884
55.6k
    } else {
3885
55.6k
      if (yych <= 'r') {
3886
28.1k
        if (yych == 'c') goto yy311;
3887
18.4k
        goto yy48;
3888
28.1k
      } else {
3889
27.4k
        if (yych <= 's') goto yy312;
3890
17.0k
        if (yych <= 't') goto yy313;
3891
3.84k
        goto yy48;
3892
17.0k
      }
3893
55.6k
    }
3894
13.1k
yy191:
3895
13.1k
    YYDEBUG(191, *YYCURSOR);
3896
13.1k
    yyaccept = 4;
3897
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
3898
13.1k
    if (yych == 'S') goto yy314;
3899
12.7k
    if (yych == 's') goto yy314;
3900
7.45k
    goto yy48;
3901
7.45k
yy192:
3902
5.41k
    YYDEBUG(192, *YYCURSOR);
3903
5.41k
    yyaccept = 4;
3904
5.41k
    yych = *(YYMARKER = ++YYCURSOR);
3905
5.41k
    if (yych == 'S') goto yy315;
3906
4.81k
    if (yych == 's') goto yy315;
3907
847
    goto yy48;
3908
9.09k
yy193:
3909
9.09k
    YYDEBUG(193, *YYCURSOR);
3910
9.09k
    yyaccept = 4;
3911
9.09k
    yych = *(YYMARKER = ++YYCURSOR);
3912
9.09k
    if (yych == 'T') goto yy316;
3913
8.80k
    if (yych == 't') goto yy316;
3914
4.66k
    goto yy48;
3915
20.4k
yy194:
3916
20.4k
    YYDEBUG(194, *YYCURSOR);
3917
20.4k
    yyaccept = 4;
3918
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
3919
20.4k
    if (yych == 'M') goto yy317;
3920
17.4k
    if (yych == 'm') goto yy317;
3921
1.89k
    goto yy48;
3922
44.5k
yy195:
3923
44.5k
    YYDEBUG(195, *YYCURSOR);
3924
44.5k
    yyaccept = 4;
3925
44.5k
    yych = *(YYMARKER = ++YYCURSOR);
3926
44.5k
    if (yych == 'W') goto yy318;
3927
43.8k
    if (yych == 'w') goto yy318;
3928
3.43k
    goto yy48;
3929
6.62k
yy196:
3930
6.62k
    YYDEBUG(196, *YYCURSOR);
3931
6.62k
    yyaccept = 12;
3932
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
3933
6.62k
    if (yybm[256+yych] & 128) {
3934
1.95k
      goto yy47;
3935
1.95k
    }
3936
4.66k
    if (yych == '\\') goto yy164;
3937
4.66k
yy197:
3938
4.66k
    YYDEBUG(197, *YYCURSOR);
3939
4.66k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
4.66k
#line 1930 "Zend/zend_language_scanner.l"
3941
4.66k
    {
3942
4.66k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
4.66k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
35.4k
yy198:
3946
35.4k
    YYDEBUG(198, *YYCURSOR);
3947
35.4k
    yyaccept = 4;
3948
35.4k
    yych = *(YYMARKER = ++YYCURSOR);
3949
35.4k
    if (yych <= 'O') {
3950
4.79k
      if (yych == 'I') goto yy320;
3951
3.58k
      if (yych <= 'N') goto yy48;
3952
2.17k
      goto yy321;
3953
30.6k
    } else {
3954
30.6k
      if (yych <= 'i') {
3955
19.8k
        if (yych <= 'h') goto yy48;
3956
17.4k
        goto yy320;
3957
19.8k
      } else {
3958
10.8k
        if (yych == 'o') goto yy321;
3959
912
        goto yy48;
3960
10.8k
      }
3961
30.6k
    }
3962
43.7k
yy199:
3963
43.7k
    YYDEBUG(199, *YYCURSOR);
3964
43.7k
    yyaccept = 4;
3965
43.7k
    yych = *(YYMARKER = ++YYCURSOR);
3966
43.7k
    if (yych == 'B') goto yy322;
3967
41.9k
    if (yych == 'b') goto yy322;
3968
5.86k
    goto yy48;
3969
47.8k
yy200:
3970
47.8k
    YYDEBUG(200, *YYCURSOR);
3971
47.8k
    yyaccept = 4;
3972
47.8k
    yych = *(YYMARKER = ++YYCURSOR);
3973
47.8k
    if (yych <= 'T') {
3974
4.91k
      if (yych <= 'P') {
3975
3.24k
        if (yych == 'A') goto yy323;
3976
2.94k
        goto yy48;
3977
3.24k
      } else {
3978
1.67k
        if (yych <= 'Q') goto yy324;
3979
846
        if (yych <= 'S') goto yy48;
3980
443
        goto yy325;
3981
846
      }
3982
42.9k
    } else {
3983
42.9k
      if (yych <= 'p') {
3984
8.46k
        if (yych == 'a') goto yy323;
3985
1.98k
        goto yy48;
3986
34.4k
      } else {
3987
34.4k
        if (yych <= 'q') goto yy324;
3988
16.4k
        if (yych == 't') goto yy325;
3989
4.80k
        goto yy48;
3990
16.4k
      }
3991
42.9k
    }
3992
36.0k
yy201:
3993
36.0k
    YYDEBUG(201, *YYCURSOR);
3994
36.0k
    yyaccept = 4;
3995
36.0k
    yych = *(YYMARKER = ++YYCURSOR);
3996
36.0k
    if (yych == 'A') goto yy326;
3997
35.6k
    if (yych == 'a') goto yy326;
3998
22.4k
    goto yy48;
3999
22.4k
yy202:
4000
8.68k
    YYDEBUG(202, *YYCURSOR);
4001
8.68k
    yyaccept = 4;
4002
8.68k
    yych = *(YYMARKER = ++YYCURSOR);
4003
8.68k
    if (yych == 'I') goto yy327;
4004
7.31k
    if (yych == 'i') goto yy327;
4005
610
    goto yy48;
4006
9.11k
yy203:
4007
9.11k
    YYDEBUG(203, *YYCURSOR);
4008
9.11k
    yyaccept = 4;
4009
9.11k
    yych = *(YYMARKER = ++YYCURSOR);
4010
9.11k
    if (yych == 'R') goto yy328;
4011
8.62k
    if (yych == 'r') goto yy328;
4012
2.98k
    goto yy48;
4013
38.3k
yy204:
4014
38.3k
    YYDEBUG(204, *YYCURSOR);
4015
38.3k
    yyaccept = 4;
4016
38.3k
    yych = *(YYMARKER = ++YYCURSOR);
4017
38.3k
    if (yych <= 'Y') {
4018
4.43k
      if (yych == 'A') goto yy329;
4019
3.10k
      if (yych <= 'X') goto yy48;
4020
454
      goto yy330;
4021
33.8k
    } else {
4022
33.8k
      if (yych <= 'a') {
4023
4.10k
        if (yych <= '`') goto yy48;
4024
3.53k
        goto yy329;
4025
29.7k
      } else {
4026
29.7k
        if (yych == 'y') goto yy330;
4027
4.78k
        goto yy48;
4028
29.7k
      }
4029
33.8k
    }
4030
11.1k
yy205:
4031
11.1k
    YYDEBUG(205, *YYCURSOR);
4032
11.1k
    yyaccept = 4;
4033
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
4034
11.1k
    if (yych == 'S') goto yy332;
4035
10.5k
    if (yych == 's') goto yy332;
4036
2.89k
    goto yy48;
4037
9.74k
yy206:
4038
9.74k
    YYDEBUG(206, *YYCURSOR);
4039
9.74k
    yyaccept = 4;
4040
9.74k
    yych = *(YYMARKER = ++YYCURSOR);
4041
9.74k
    if (yych == 'E') goto yy333;
4042
9.15k
    if (yych == 'e') goto yy333;
4043
879
    goto yy48;
4044
36.1k
yy207:
4045
36.1k
    YYDEBUG(207, *YYCURSOR);
4046
36.1k
    yyaccept = 4;
4047
36.1k
    yych = *(YYMARKER = ++YYCURSOR);
4048
36.1k
    if (yych == 'R') goto yy335;
4049
35.1k
    if (yych == 'r') goto yy335;
4050
3.21k
    goto yy48;
4051
4.39k
yy208:
4052
4.39k
    YYDEBUG(208, *YYCURSOR);
4053
4.39k
    yyaccept = 4;
4054
4.39k
    yych = *(YYMARKER = ++YYCURSOR);
4055
4.39k
    if (yych == 'I') goto yy337;
4056
4.11k
    if (yych == 'i') goto yy337;
4057
640
    goto yy48;
4058
5.36k
yy209:
4059
5.36k
    YYDEBUG(209, *YYCURSOR);
4060
5.36k
    yyaccept = 4;
4061
5.36k
    yych = *(YYMARKER = ++YYCURSOR);
4062
5.36k
    if (yych == 'R') goto yy338;
4063
4.72k
    if (yych == 'r') goto yy338;
4064
856
    goto yy48;
4065
78.7k
yy210:
4066
78.7k
    YYDEBUG(210, *YYCURSOR);
4067
78.7k
    yyaccept = 4;
4068
78.7k
    yych = *(YYMARKER = ++YYCURSOR);
4069
78.7k
    if (yych == 'E') goto yy340;
4070
75.2k
    if (yych == 'e') goto yy340;
4071
3.36k
    goto yy48;
4072
135k
yy211:
4073
135k
    YYDEBUG(211, *YYCURSOR);
4074
135k
    yyaccept = 13;
4075
135k
    YYMARKER = ++YYCURSOR;
4076
135k
    YYFILL(1);
4077
135k
    yych = *YYCURSOR;
4078
135k
    YYDEBUG(212, *YYCURSOR);
4079
135k
    if (yych <= '\\') {
4080
51.4k
      if (yych <= '@') {
4081
26.6k
        if (yych <= '/') goto yy213;
4082
12.5k
        if (yych <= '9') goto yy211;
4083
24.8k
      } else {
4084
24.8k
        if (yych <= 'Z') goto yy211;
4085
13.9k
        if (yych >= '\\') goto yy341;
4086
13.9k
      }
4087
84.1k
    } else {
4088
84.1k
      if (yych <= '`') {
4089
4.89k
        if (yych == '_') goto yy211;
4090
79.2k
      } else {
4091
79.2k
        if (yych <= 'z') goto yy211;
4092
17.8k
        if (yych >= 0x80) goto yy211;
4093
17.8k
      }
4094
84.1k
    }
4095
25.6k
yy213:
4096
25.6k
    YYDEBUG(213, *YYCURSOR);
4097
25.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
25.6k
#line 2447 "Zend/zend_language_scanner.l"
4099
25.6k
    {
4100
25.6k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
25.6k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
438
yy214:
4104
438
    YYDEBUG(214, *YYCURSOR);
4105
438
    ++YYCURSOR;
4106
438
    YYDEBUG(215, *YYCURSOR);
4107
438
    yyleng = YYCURSOR - SCNG(yy_text);
4108
438
#line 1910 "Zend/zend_language_scanner.l"
4109
438
    {
4110
438
  RETURN_TOKEN(T_XOR_EQUAL);
4111
438
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
98.6k
yy216:
4114
98.6k
    YYDEBUG(216, *YYCURSOR);
4115
98.6k
    yyaccept = 4;
4116
98.6k
    yych = *(YYMARKER = ++YYCURSOR);
4117
98.6k
    switch (yych) {
4118
2.18k
    case 'C':
4119
10.4k
    case 'c': goto yy342;
4120
2.23k
    case 'D':
4121
8.88k
    case 'd': goto yy343;
4122
5.65k
    case 'F':
4123
15.0k
    case 'f': goto yy344;
4124
1.58k
    case 'H':
4125
5.02k
    case 'h': goto yy345;
4126
2.84k
    case 'L':
4127
5.85k
    case 'l': goto yy346;
4128
5.97k
    case 'M':
4129
10.7k
    case 'm': goto yy347;
4130
4.45k
    case 'N':
4131
9.34k
    case 'n': goto yy348;
4132
4.27k
    case 'P':
4133
5.96k
    case 'p': goto yy349;
4134
665
    case 'T':
4135
6.96k
    case 't': goto yy350;
4136
20.2k
    default:  goto yy48;
4137
98.6k
    }
4138
1.34k
yy217:
4139
1.34k
    YYDEBUG(217, *YYCURSOR);
4140
1.34k
    ++YYCURSOR;
4141
1.34k
    YYDEBUG(218, *YYCURSOR);
4142
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
4143
1.34k
#line 1906 "Zend/zend_language_scanner.l"
4144
1.34k
    {
4145
1.34k
  RETURN_TOKEN(T_OR_EQUAL);
4146
1.34k
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
4.05k
yy219:
4149
4.05k
    YYDEBUG(219, *YYCURSOR);
4150
4.05k
    ++YYCURSOR;
4151
4.05k
    YYDEBUG(220, *YYCURSOR);
4152
4.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
4.05k
#line 1918 "Zend/zend_language_scanner.l"
4154
4.05k
    {
4155
4.05k
  RETURN_TOKEN(T_PIPE);
4156
4.05k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
8.84k
yy221:
4159
8.84k
    YYDEBUG(221, *YYCURSOR);
4160
8.84k
    ++YYCURSOR;
4161
8.84k
    YYDEBUG(222, *YYCURSOR);
4162
8.84k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
8.84k
#line 1922 "Zend/zend_language_scanner.l"
4164
8.84k
    {
4165
8.84k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
8.84k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
2.44k
yy223:
4169
2.44k
    YYDEBUG(223, *YYCURSOR);
4170
2.44k
    ++YYCURSOR;
4171
2.44k
    YYDEBUG(224, *YYCURSOR);
4172
2.44k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
2.44k
#line 1838 "Zend/zend_language_scanner.l"
4174
2.44k
    {
4175
2.44k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
2.44k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
373k
yy225:
4179
373k
    YYDEBUG(225, *YYCURSOR);
4180
373k
    ++YYCURSOR;
4181
373k
    YYFILL(1);
4182
373k
    yych = *YYCURSOR;
4183
373k
    YYDEBUG(226, *YYCURSOR);
4184
373k
    if (yybm[0+yych] & 2) {
4185
258k
      goto yy225;
4186
258k
    }
4187
114k
    if (yych <= 0x00) goto yy86;
4188
111k
    goto yy84;
4189
147k
yy227:
4190
147k
    YYDEBUG(227, *YYCURSOR);
4191
147k
    ++YYCURSOR;
4192
147k
    YYFILL(1);
4193
147k
    yych = *YYCURSOR;
4194
147k
    YYDEBUG(228, *YYCURSOR);
4195
147k
    if (yych <= 0x1F) {
4196
11.2k
      if (yych <= '\t') {
4197
1.34k
        if (yych <= 0x00) goto yy86;
4198
1.01k
        if (yych <= 0x08) goto yy225;
4199
206
        goto yy227;
4200
9.88k
      } else {
4201
9.88k
        if (yych <= '\n') goto yy84;
4202
7.96k
        if (yych == '\r') goto yy84;
4203
7.10k
        goto yy225;
4204
7.96k
      }
4205
135k
    } else {
4206
135k
      if (yych <= '$') {
4207
17.1k
        if (yych <= ' ') goto yy227;
4208
16.9k
        if (yych <= '"') goto yy225;
4209
16.2k
        if (yych <= '#') goto yy351;
4210
4.27k
        goto yy352;
4211
118k
      } else {
4212
118k
        if (yych <= '-') goto yy225;
4213
60.2k
        if (yych <= '.') goto yy353;
4214
41.8k
        if (yych <= '/') goto yy354;
4215
18.3k
        goto yy225;
4216
41.8k
      }
4217
135k
    }
4218
1.16k
yy229:
4219
1.16k
    YYDEBUG(229, *YYCURSOR);
4220
1.16k
    yych = *++YYCURSOR;
4221
1.16k
    if (yych == '.') goto yy88;
4222
584
    goto yy86;
4223
332k
yy230:
4224
332k
    YYDEBUG(230, *YYCURSOR);
4225
332k
    ++YYCURSOR;
4226
332k
    YYFILL(1);
4227
332k
    yych = *YYCURSOR;
4228
332k
    YYDEBUG(231, *YYCURSOR);
4229
332k
    if (yybm[0+yych] & 4) {
4230
319k
      goto yy230;
4231
319k
    }
4232
13.2k
    if (yych <= 0x00) goto yy86;
4233
5.67k
    goto yy355;
4234
10.8k
yy232:
4235
10.8k
    YYDEBUG(232, *YYCURSOR);
4236
10.8k
    yych = *++YYCURSOR;
4237
10.8k
    if (yych == 'R') goto yy357;
4238
10.6k
    if (yych == 'r') goto yy357;
4239
1.74k
    goto yy86;
4240
3.46k
yy233:
4241
3.46k
    YYDEBUG(233, *YYCURSOR);
4242
3.46k
    yych = *++YYCURSOR;
4243
3.46k
    if (yych == 'N') goto yy358;
4244
2.94k
    if (yych == 'n') goto yy358;
4245
679
    goto yy86;
4246
4.61k
yy234:
4247
4.61k
    YYDEBUG(234, *YYCURSOR);
4248
4.61k
    yych = *++YYCURSOR;
4249
4.61k
    if (yych == 'O') goto yy359;
4250
4.02k
    if (yych == 'o') goto yy359;
4251
827
    goto yy86;
4252
2.99k
yy235:
4253
2.99k
    YYDEBUG(235, *YYCURSOR);
4254
2.99k
    yych = *++YYCURSOR;
4255
2.99k
    if (yych == 'U') goto yy360;
4256
2.75k
    if (yych == 'u') goto yy360;
4257
537
    goto yy86;
4258
4.51k
yy236:
4259
4.51k
    YYDEBUG(236, *YYCURSOR);
4260
4.51k
    yych = *++YYCURSOR;
4261
4.51k
    if (yych == 'O') goto yy361;
4262
1.53k
    if (yych == 'o') goto yy361;
4263
541
    goto yy86;
4264
9.47k
yy237:
4265
9.47k
    YYDEBUG(237, *YYCURSOR);
4266
9.47k
    yych = *++YYCURSOR;
4267
9.47k
    if (yych == 'T') goto yy362;
4268
7.88k
    if (yych == 't') goto yy362;
4269
2.54k
    goto yy86;
4270
2.75k
yy238:
4271
2.75k
    YYDEBUG(238, *YYCURSOR);
4272
2.75k
    yych = *++YYCURSOR;
4273
2.75k
    if (yych == 'J') goto yy363;
4274
2.47k
    if (yych == 'j') goto yy363;
4275
321
    goto yy86;
4276
3.01k
yy239:
4277
3.01k
    YYDEBUG(239, *YYCURSOR);
4278
3.01k
    yych = *++YYCURSOR;
4279
3.01k
    if (yych == 'A') goto yy364;
4280
2.60k
    if (yych == 'a') goto yy364;
4281
1.51k
    goto yy86;
4282
11.2k
yy240:
4283
11.2k
    YYDEBUG(240, *YYCURSOR);
4284
11.2k
    yych = *++YYCURSOR;
4285
11.2k
    if (yych == 'R') goto yy365;
4286
10.9k
    if (yych == 'r') goto yy365;
4287
708
    goto yy86;
4288
4.43k
yy241:
4289
4.43k
    YYDEBUG(241, *YYCURSOR);
4290
4.43k
    yych = *++YYCURSOR;
4291
4.43k
    if (yych == 'S') goto yy366;
4292
4.06k
    if (yych == 's') goto yy366;
4293
1.89k
    goto yy86;
4294
2.21k
yy242:
4295
2.21k
    YYDEBUG(242, *YYCURSOR);
4296
2.21k
    yych = *++YYCURSOR;
4297
2.21k
    if (yych == 'I') goto yy367;
4298
2.01k
    if (yych == 'i') goto yy367;
4299
266
    goto yy86;
4300
596
yy243:
4301
596
    YYDEBUG(243, *YYCURSOR);
4302
596
    ++YYCURSOR;
4303
596
    YYDEBUG(244, *YYCURSOR);
4304
596
    yyleng = YYCURSOR - SCNG(yy_text);
4305
596
#line 1878 "Zend/zend_language_scanner.l"
4306
596
    {
4307
596
  RETURN_TOKEN(T_POW_EQUAL);
4308
596
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
7.67k
yy245:
4311
7.67k
    YYDEBUG(245, *YYCURSOR);
4312
7.67k
    ++YYCURSOR;
4313
7.67k
    YYDEBUG(246, *YYCURSOR);
4314
7.67k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
7.67k
#line 1618 "Zend/zend_language_scanner.l"
4316
7.67k
    {
4317
7.67k
  RETURN_TOKEN(T_ELLIPSIS);
4318
7.67k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
1.85k
yy247:
4321
1.85k
    YYDEBUG(247, *YYCURSOR);
4322
1.85k
    ++YYCURSOR;
4323
1.85k
    YYFILL(1);
4324
1.85k
    yych = *YYCURSOR;
4325
1.85k
    if (yych <= '/') goto yy86;
4326
1.32k
    if (yych <= '9') goto yy123;
4327
651
    goto yy86;
4328
8.98k
yy248:
4329
8.98k
    YYDEBUG(248, *YYCURSOR);
4330
8.98k
    yych = *++YYCURSOR;
4331
8.98k
    if (yych <= '\f') {
4332
3.70k
      if (yych <= 0x08) goto yy86;
4333
3.23k
      if (yych <= '\n') goto yy368;
4334
320
      goto yy86;
4335
5.28k
    } else {
4336
5.28k
      if (yych <= '\r') goto yy368;
4337
4.72k
      if (yych == ' ') goto yy368;
4338
2.29k
      goto yy86;
4339
4.72k
    }
4340
59.0k
yy249:
4341
59.0k
    YYDEBUG(249, *YYCURSOR);
4342
59.0k
    yyaccept = 14;
4343
59.0k
    YYMARKER = ++YYCURSOR;
4344
59.0k
    YYFILL(1);
4345
59.0k
    yych = *YYCURSOR;
4346
59.0k
    YYDEBUG(250, *YYCURSOR);
4347
59.0k
    if (yybm[0+yych] & 8) {
4348
55.4k
      goto yy249;
4349
55.4k
    }
4350
3.61k
    if (yych == '_') goto yy134;
4351
2.66k
yy251:
4352
2.66k
    YYDEBUG(251, *YYCURSOR);
4353
2.66k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
2.66k
#line 2011 "Zend/zend_language_scanner.l"
4355
2.66k
    {
4356
  /* The +/- 2 skips "0b" */
4357
2.66k
  size_t len = yyleng - 2;
4358
2.66k
  char *end, *bin = yytext + 2;
4359
2.66k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
4.21k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
1.55k
    ++bin;
4364
1.55k
    --len;
4365
1.55k
  }
4366
4367
2.66k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
2.66k
  if (contains_underscores) {
4370
638
    bin = estrndup(bin, len);
4371
638
    strip_underscores(bin, &len);
4372
638
  }
4373
4374
2.66k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
2.22k
    if (len == 0) {
4376
395
      ZVAL_LONG(zendlval, 0);
4377
1.82k
    } else {
4378
1.82k
      errno = 0;
4379
1.82k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
1.82k
      ZEND_ASSERT(!errno && end == bin + len);
4381
1.82k
    }
4382
2.22k
    if (contains_underscores) {
4383
424
      efree(bin);
4384
424
    }
4385
2.22k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
2.22k
  } else {
4387
445
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
445
    ZEND_ASSERT(end == bin + len);
4390
445
    if (contains_underscores) {
4391
214
      efree(bin);
4392
214
    }
4393
445
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
445
  }
4395
2.66k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
12.5k
yy252:
4398
12.5k
    YYDEBUG(252, *YYCURSOR);
4399
12.5k
    ++YYCURSOR;
4400
12.5k
    YYFILL(1);
4401
12.5k
    yych = *YYCURSOR;
4402
12.5k
    if (yych <= '/') goto yy86;
4403
11.8k
    if (yych >= ':') goto yy86;
4404
66.2k
yy253:
4405
66.2k
    YYDEBUG(253, *YYCURSOR);
4406
66.2k
    yyaccept = 5;
4407
66.2k
    YYMARKER = ++YYCURSOR;
4408
66.2k
    YYFILL(1);
4409
66.2k
    yych = *YYCURSOR;
4410
66.2k
    YYDEBUG(254, *YYCURSOR);
4411
66.2k
    if (yych <= '/') goto yy125;
4412
50.0k
    if (yych <= '9') goto yy253;
4413
10.3k
    if (yych == '_') goto yy252;
4414
8.78k
    goto yy125;
4415
13.6k
yy255:
4416
13.6k
    YYDEBUG(255, *YYCURSOR);
4417
13.6k
    yyaccept = 15;
4418
13.6k
    YYMARKER = ++YYCURSOR;
4419
13.6k
    YYFILL(1);
4420
13.6k
    yych = *YYCURSOR;
4421
13.6k
    YYDEBUG(256, *YYCURSOR);
4422
13.6k
    if (yybm[0+yych] & 16) {
4423
10.8k
      goto yy255;
4424
10.8k
    }
4425
2.79k
    if (yych == '_') goto yy136;
4426
1.96k
yy257:
4427
1.96k
    YYDEBUG(257, *YYCURSOR);
4428
1.96k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
1.96k
#line 2053 "Zend/zend_language_scanner.l"
4430
1.96k
    {
4431
  /* The +/- 2 skips "0o" */
4432
1.96k
  size_t len = yyleng - 2;
4433
1.96k
  char *end, *octal = yytext + 2;
4434
1.96k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
3.51k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
1.54k
    ++octal;
4439
1.54k
    --len;
4440
1.54k
  }
4441
4442
1.96k
  if (len == 0) {
4443
475
    ZVAL_LONG(zendlval, 0);
4444
475
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
475
  }
4446
4447
1.48k
  if (contains_underscores) {
4448
706
    octal = estrndup(octal, len);
4449
706
    strip_underscores(octal, &len);
4450
706
  }
4451
4452
1.48k
  errno = 0;
4453
4454
1.48k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
1.48k
  ZEND_ASSERT(end == octal + len);
4457
4458
1.48k
  if (!errno) {
4459
1.07k
    if (contains_underscores) {
4460
504
      efree(octal);
4461
504
    }
4462
1.07k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
1.07k
  }
4464
4465
  /* Overflow */
4466
409
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
409
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
409
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
409
  ZEND_ASSERT(!errno);
4473
409
  ZEND_ASSERT(end == octal + len);
4474
409
  if (contains_underscores) {
4475
202
    efree(octal);
4476
202
  }
4477
409
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
409
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
43.8k
yy258:
4481
43.8k
    YYDEBUG(258, *YYCURSOR);
4482
43.8k
    yyaccept = 16;
4483
43.8k
    YYMARKER = ++YYCURSOR;
4484
43.8k
    YYFILL(1);
4485
43.8k
    yych = *YYCURSOR;
4486
43.8k
    YYDEBUG(259, *YYCURSOR);
4487
43.8k
    if (yybm[0+yych] & 32) {
4488
36.4k
      goto yy258;
4489
36.4k
    }
4490
7.38k
    if (yych == '_') goto yy137;
4491
5.25k
yy260:
4492
5.25k
    YYDEBUG(260, *YYCURSOR);
4493
5.25k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
5.25k
#line 2166 "Zend/zend_language_scanner.l"
4495
5.25k
    {
4496
  /* The +/- 2 skips "0x" */
4497
5.25k
  size_t len = yyleng - 2;
4498
5.25k
  char *end, *hex = yytext + 2;
4499
5.25k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
9.43k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
4.18k
    ++hex;
4504
4.18k
    --len;
4505
4.18k
  }
4506
4507
5.25k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
5.25k
  if (contains_underscores) {
4510
1.30k
    hex = estrndup(hex, len);
4511
1.30k
    strip_underscores(hex, &len);
4512
1.30k
  }
4513
4514
5.25k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
3.64k
    if (len == 0) {
4516
1.16k
      ZVAL_LONG(zendlval, 0);
4517
2.48k
    } else {
4518
2.48k
      errno = 0;
4519
2.48k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
2.48k
      ZEND_ASSERT(!errno && end == hex + len);
4521
2.48k
    }
4522
3.64k
    if (contains_underscores) {
4523
479
      efree(hex);
4524
479
    }
4525
3.64k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
3.64k
  } else {
4527
1.60k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
1.60k
    ZEND_ASSERT(end == hex + len);
4530
1.60k
    if (contains_underscores) {
4531
821
      efree(hex);
4532
821
    }
4533
1.60k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
1.60k
  }
4535
5.25k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
3.16M
yy261:
4538
3.16M
    YYDEBUG(261, *YYCURSOR);
4539
3.16M
    ++YYCURSOR;
4540
3.16M
    YYFILL(2);
4541
3.16M
    yych = *YYCURSOR;
4542
3.16M
    YYDEBUG(262, *YYCURSOR);
4543
3.16M
    if (yych <= '\'') {
4544
35.4k
      if (yych <= ' ') {
4545
17.7k
        if (yych == '\t') goto yy261;
4546
15.7k
        if (yych <= 0x1F) goto yy86;
4547
2.04k
        goto yy261;
4548
17.6k
      } else {
4549
17.6k
        if (yych == '"') goto yy370;
4550
14.3k
        if (yych <= '&') goto yy86;
4551
9.85k
        goto yy371;
4552
14.3k
      }
4553
3.12M
    } else {
4554
3.12M
      if (yych <= '_') {
4555
366k
        if (yych <= '@') goto yy86;
4556
309k
        if (yych <= 'Z') goto yy372;
4557
3.28k
        if (yych <= '^') goto yy86;
4558
2.67k
        goto yy372;
4559
2.76M
      } else {
4560
2.76M
        if (yych <= '`') goto yy86;
4561
2.76M
        if (yych <= 'z') goto yy372;
4562
1.63M
        if (yych <= 0x7F) goto yy86;
4563
1.62M
        goto yy372;
4564
1.63M
      }
4565
3.12M
    }
4566
1.18k
yy263:
4567
1.18k
    YYDEBUG(263, *YYCURSOR);
4568
1.18k
    ++YYCURSOR;
4569
1.18k
    YYDEBUG(264, *YYCURSOR);
4570
1.18k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
1.18k
#line 1894 "Zend/zend_language_scanner.l"
4572
1.18k
    {
4573
1.18k
  RETURN_TOKEN(T_SL_EQUAL);
4574
1.18k
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
782
yy265:
4577
782
    YYDEBUG(265, *YYCURSOR);
4578
782
    ++YYCURSOR;
4579
782
    YYDEBUG(266, *YYCURSOR);
4580
782
    yyleng = YYCURSOR - SCNG(yy_text);
4581
782
#line 1850 "Zend/zend_language_scanner.l"
4582
782
    {
4583
782
  RETURN_TOKEN(T_SPACESHIP);
4584
782
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
15.3k
yy267:
4587
15.3k
    YYDEBUG(267, *YYCURSOR);
4588
15.3k
    ++YYCURSOR;
4589
15.3k
    YYDEBUG(268, *YYCURSOR);
4590
15.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
15.3k
#line 1834 "Zend/zend_language_scanner.l"
4592
15.3k
    {
4593
15.3k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
15.3k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
736
yy269:
4597
736
    YYDEBUG(269, *YYCURSOR);
4598
736
    ++YYCURSOR;
4599
736
    YYDEBUG(270, *YYCURSOR);
4600
736
    yyleng = YYCURSOR - SCNG(yy_text);
4601
736
#line 1898 "Zend/zend_language_scanner.l"
4602
736
    {
4603
736
  RETURN_TOKEN(T_SR_EQUAL);
4604
736
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
22.1k
yy271:
4607
22.1k
    YYDEBUG(271, *YYCURSOR);
4608
22.1k
    ++YYCURSOR;
4609
22.1k
    YYDEBUG(272, *YYCURSOR);
4610
22.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
22.1k
#line 1592 "Zend/zend_language_scanner.l"
4612
22.1k
    {
4613
22.1k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
22.1k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
22.1k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
5.55k
yy273:
4618
5.55k
    YYDEBUG(273, *YYCURSOR);
4619
5.55k
    ++YYCURSOR;
4620
5.55k
    goto yy156;
4621
1.48k
yy274:
4622
1.48k
    YYDEBUG(274, *YYCURSOR);
4623
1.48k
    yych = *++YYCURSOR;
4624
1.48k
    if (yych == '\n') goto yy273;
4625
1.14k
    goto yy156;
4626
8.05k
yy275:
4627
8.05k
    YYDEBUG(275, *YYCURSOR);
4628
8.05k
    ++YYCURSOR;
4629
8.05k
    YYDEBUG(276, *YYCURSOR);
4630
8.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4631
8.05k
#line 1914 "Zend/zend_language_scanner.l"
4632
8.05k
    {
4633
8.05k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
8.05k
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
5.92k
yy277:
4637
5.92k
    YYDEBUG(277, *YYCURSOR);
4638
5.92k
    yyaccept = 4;
4639
5.92k
    yych = *(YYMARKER = ++YYCURSOR);
4640
5.92k
    if (yych == 'T') goto yy374;
4641
4.90k
    if (yych == 't') goto yy374;
4642
594
    goto yy48;
4643
7.20k
yy278:
4644
7.20k
    YYDEBUG(278, *YYCURSOR);
4645
7.20k
    yyaccept = 17;
4646
7.20k
    yych = *(YYMARKER = ++YYCURSOR);
4647
7.20k
    if (yybm[256+yych] & 128) {
4648
280
      goto yy47;
4649
280
    }
4650
6.92k
    if (yych == '\\') goto yy164;
4651
6.91k
yy279:
4652
6.91k
    YYDEBUG(279, *YYCURSOR);
4653
6.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
6.91k
#line 1934 "Zend/zend_language_scanner.l"
4655
6.91k
    {
4656
6.91k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
6.91k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
16.7k
yy280:
4660
16.7k
    YYDEBUG(280, *YYCURSOR);
4661
16.7k
    yyaccept = 4;
4662
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
4663
16.7k
    if (yych == 'A') goto yy375;
4664
16.0k
    if (yych == 'a') goto yy375;
4665
1.93k
    goto yy48;
4666
73.0k
yy281:
4667
73.0k
    YYDEBUG(281, *YYCURSOR);
4668
73.0k
    yyaccept = 18;
4669
73.0k
    YYMARKER = ++YYCURSOR;
4670
73.0k
    YYFILL(1);
4671
73.0k
    yych = *YYCURSOR;
4672
73.0k
    YYDEBUG(282, *YYCURSOR);
4673
73.0k
    if (yych <= '\\') {
4674
30.9k
      if (yych <= '@') {
4675
19.9k
        if (yych <= '/') goto yy283;
4676
8.87k
        if (yych <= '9') goto yy281;
4677
10.9k
      } else {
4678
10.9k
        if (yych <= 'Z') goto yy281;
4679
6.00k
        if (yych >= '\\') goto yy164;
4680
6.00k
      }
4681
42.1k
    } else {
4682
42.1k
      if (yych <= '`') {
4683
1.16k
        if (yych == '_') goto yy281;
4684
40.9k
      } else {
4685
40.9k
        if (yych <= 'z') goto yy281;
4686
16.1k
        if (yych >= 0x80) goto yy281;
4687
16.1k
      }
4688
42.1k
    }
4689
19.7k
yy283:
4690
19.7k
    YYDEBUG(283, *YYCURSOR);
4691
19.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
19.7k
#line 2443 "Zend/zend_language_scanner.l"
4693
19.7k
    {
4694
19.7k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
19.7k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
4.44k
yy284:
4698
4.44k
    YYDEBUG(284, *YYCURSOR);
4699
4.44k
    yych = *++YYCURSOR;
4700
4.44k
    if (yych == '<') goto yy261;
4701
679
    goto yy86;
4702
3.59k
yy285:
4703
3.59k
    YYDEBUG(285, *YYCURSOR);
4704
3.59k
    yyaccept = 4;
4705
3.59k
    yych = *(YYMARKER = ++YYCURSOR);
4706
3.59k
    if (yych == 'A') goto yy376;
4707
3.07k
    if (yych == 'a') goto yy376;
4708
406
    goto yy48;
4709
12.0k
yy286:
4710
12.0k
    YYDEBUG(286, *YYCURSOR);
4711
12.0k
    yyaccept = 4;
4712
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
4713
12.0k
    if (yych == 'L') goto yy377;
4714
10.6k
    if (yych == 'l') goto yy377;
4715
1.01k
    goto yy48;
4716
10.1k
yy287:
4717
10.1k
    YYDEBUG(287, *YYCURSOR);
4718
10.1k
    yyaccept = 4;
4719
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
4720
10.1k
    if (yych == 'E') goto yy378;
4721
6.17k
    if (yych == 'e') goto yy378;
4722
688
    goto yy48;
4723
26.3k
yy288:
4724
26.3k
    YYDEBUG(288, *YYCURSOR);
4725
26.3k
    yyaccept = 4;
4726
26.3k
    yych = *(YYMARKER = ++YYCURSOR);
4727
26.3k
    if (yych == 'C') goto yy380;
4728
26.0k
    if (yych == 'c') goto yy380;
4729
1.51k
    goto yy48;
4730
42.7k
yy289:
4731
42.7k
    YYDEBUG(289, *YYCURSOR);
4732
42.7k
    yyaccept = 4;
4733
42.7k
    yych = *(YYMARKER = ++YYCURSOR);
4734
42.7k
    if (yych == 'S') goto yy381;
4735
40.5k
    if (yych == 's') goto yy381;
4736
1.89k
    goto yy48;
4737
6.77k
yy290:
4738
6.77k
    YYDEBUG(290, *YYCURSOR);
4739
6.77k
    yyaccept = 4;
4740
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
4741
6.77k
    if (yych == 'N') goto yy382;
4742
5.94k
    if (yych == 'n') goto yy382;
4743
3.12k
    goto yy48;
4744
40.6k
yy291:
4745
40.6k
    YYDEBUG(291, *YYCURSOR);
4746
40.6k
    yyaccept = 4;
4747
40.6k
    yych = *(YYMARKER = ++YYCURSOR);
4748
40.6k
    if (yych <= 'T') {
4749
4.13k
      if (yych <= 'R') goto yy48;
4750
2.47k
      if (yych <= 'S') goto yy383;
4751
1.63k
      goto yy384;
4752
36.5k
    } else {
4753
36.5k
      if (yych <= 'r') goto yy48;
4754
36.1k
      if (yych <= 's') goto yy383;
4755
4.32k
      if (yych <= 't') goto yy384;
4756
409
      goto yy48;
4757
4.32k
    }
4758
9.15k
yy292:
4759
9.15k
    YYDEBUG(292, *YYCURSOR);
4760
9.15k
    yyaccept = 4;
4761
9.15k
    yych = *(YYMARKER = ++YYCURSOR);
4762
9.15k
    if (yych == 'L') goto yy385;
4763
7.49k
    if (yych == 'l') goto yy385;
4764
715
    goto yy48;
4765
6.82k
yy293:
4766
6.82k
    YYDEBUG(293, *YYCURSOR);
4767
6.82k
    yyaccept = 4;
4768
6.82k
    yych = *(YYMARKER = ++YYCURSOR);
4769
6.82k
    if (yych == 'A') goto yy386;
4770
6.41k
    if (yych == 'a') goto yy386;
4771
3.60k
    goto yy48;
4772
5.77k
yy294:
4773
5.77k
    YYDEBUG(294, *YYCURSOR);
4774
5.77k
    yyaccept = 19;
4775
5.77k
    yych = *(YYMARKER = ++YYCURSOR);
4776
5.77k
    if (yybm[256+yych] & 128) {
4777
1.17k
      goto yy47;
4778
1.17k
    }
4779
4.59k
    if (yych == '\\') goto yy164;
4780
4.59k
yy295:
4781
4.59k
    YYDEBUG(295, *YYCURSOR);
4782
4.59k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
4.59k
#line 1403 "Zend/zend_language_scanner.l"
4784
4.59k
    {
4785
4.59k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
4.59k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
33.7k
yy296:
4789
33.7k
    YYDEBUG(296, *YYCURSOR);
4790
33.7k
    yyaccept = 4;
4791
33.7k
    yych = *(YYMARKER = ++YYCURSOR);
4792
33.7k
    if (yych == 'O') goto yy387;
4793
32.9k
    if (yych == 'o') goto yy387;
4794
871
    goto yy48;
4795
11.9k
yy297:
4796
11.9k
    YYDEBUG(297, *YYCURSOR);
4797
11.9k
    yyaccept = 4;
4798
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
4799
11.9k
    if (yych == 'E') goto yy389;
4800
11.3k
    if (yych == 'e') goto yy389;
4801
1.28k
    goto yy48;
4802
4.63k
yy298:
4803
4.63k
    YYDEBUG(298, *YYCURSOR);
4804
4.63k
    yyaccept = 4;
4805
4.63k
    yych = *(YYMARKER = ++YYCURSOR);
4806
4.63k
    if (yych == 'T') goto yy391;
4807
3.92k
    if (yych == 't') goto yy391;
4808
603
    goto yy48;
4809
40.4k
yy299:
4810
40.4k
    YYDEBUG(299, *YYCURSOR);
4811
40.4k
    yyaccept = 4;
4812
40.4k
    yych = *(YYMARKER = ++YYCURSOR);
4813
40.4k
    switch (yych) {
4814
2.26k
    case 'D':
4815
5.60k
    case 'd': goto yy392;
4816
4.20k
    case 'F':
4817
12.9k
    case 'f': goto yy393;
4818
3.53k
    case 'I':
4819
6.94k
    case 'i': goto yy394;
4820
1.13k
    case 'S':
4821
4.89k
    case 's': goto yy395;
4822
1.71k
    case 'W':
4823
8.01k
    case 'w': goto yy396;
4824
2.02k
    default:  goto yy48;
4825
40.4k
    }
4826
151k
yy300:
4827
151k
    YYDEBUG(300, *YYCURSOR);
4828
151k
    yyaccept = 4;
4829
151k
    yych = *(YYMARKER = ++YYCURSOR);
4830
151k
    if (yych == 'M') goto yy397;
4831
144k
    if (yych == 'm') goto yy397;
4832
11.2k
    goto yy48;
4833
11.2k
yy301:
4834
4.15k
    YYDEBUG(301, *YYCURSOR);
4835
4.15k
    yyaccept = 4;
4836
4.15k
    yych = *(YYMARKER = ++YYCURSOR);
4837
4.15k
    if (yych == 'L') goto yy398;
4838
3.75k
    if (yych == 'l') goto yy398;
4839
711
    goto yy48;
4840
2.66k
yy302:
4841
2.66k
    YYDEBUG(302, *YYCURSOR);
4842
2.66k
    yyaccept = 4;
4843
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
4844
2.66k
    if (yych == 'T') goto yy400;
4845
1.95k
    if (yych == 't') goto yy400;
4846
612
    goto yy48;
4847
19.6k
yy303:
4848
19.6k
    YYDEBUG(303, *YYCURSOR);
4849
19.6k
    yyaccept = 4;
4850
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
4851
19.6k
    if (yych == 'E') goto yy402;
4852
18.7k
    if (yych == 'e') goto yy402;
4853
1.67k
    goto yy48;
4854
12.9k
yy304:
4855
12.9k
    YYDEBUG(304, *YYCURSOR);
4856
12.9k
    yyaccept = 4;
4857
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
4858
12.9k
    if (yych == 'A') goto yy403;
4859
12.5k
    if (yych == 'a') goto yy403;
4860
642
    goto yy48;
4861
31.6k
yy305:
4862
31.6k
    YYDEBUG(305, *YYCURSOR);
4863
31.6k
    yyaccept = 20;
4864
31.6k
    yych = *(YYMARKER = ++YYCURSOR);
4865
31.6k
    if (yych <= '\\') {
4866
16.0k
      if (yych <= 'D') {
4867
14.2k
        if (yych <= '/') goto yy306;
4868
1.90k
        if (yych <= '9') goto yy47;
4869
1.57k
        if (yych >= 'A') goto yy47;
4870
1.83k
      } else {
4871
1.83k
        if (yych <= 'E') goto yy404;
4872
1.04k
        if (yych <= 'Z') goto yy47;
4873
504
        if (yych >= '\\') goto yy164;
4874
504
      }
4875
16.0k
    } else {
4876
15.6k
      if (yych <= 'd') {
4877
643
        if (yych == '_') goto yy47;
4878
436
        if (yych >= 'a') goto yy47;
4879
14.9k
      } else {
4880
14.9k
        if (yych <= 'e') goto yy404;
4881
1.35k
        if (yych <= 'z') goto yy47;
4882
701
        if (yych >= 0x80) goto yy47;
4883
701
      }
4884
15.6k
    }
4885
14.5k
yy306:
4886
14.5k
    YYDEBUG(306, *YYCURSOR);
4887
14.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
14.5k
#line 1482 "Zend/zend_language_scanner.l"
4889
14.5k
    {
4890
14.5k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
14.5k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
63.7k
yy307:
4894
63.7k
    YYDEBUG(307, *YYCURSOR);
4895
63.7k
    yyaccept = 4;
4896
63.7k
    yych = *(YYMARKER = ++YYCURSOR);
4897
63.7k
    if (yych == 'C') goto yy405;
4898
62.5k
    if (yych == 'c') goto yy405;
4899
980
    goto yy48;
4900
6.61k
yy308:
4901
6.61k
    YYDEBUG(308, *YYCURSOR);
4902
6.61k
    yyaccept = 4;
4903
6.61k
    yych = *(YYMARKER = ++YYCURSOR);
4904
6.61k
    if (yych == 'B') goto yy406;
4905
4.62k
    if (yych == 'b') goto yy406;
4906
1.19k
    goto yy48;
4907
4.31k
yy309:
4908
4.31k
    YYDEBUG(309, *YYCURSOR);
4909
4.31k
    yyaccept = 4;
4910
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
4911
4.31k
    if (yych == 'O') goto yy407;
4912
3.93k
    if (yych == 'o') goto yy407;
4913
533
    goto yy48;
4914
24.9k
yy310:
4915
24.9k
    YYDEBUG(310, *YYCURSOR);
4916
24.9k
    yyaccept = 4;
4917
24.9k
    yych = *(YYMARKER = ++YYCURSOR);
4918
24.9k
    if (yych == 'L') goto yy409;
4919
22.8k
    if (yych == 'l') goto yy409;
4920
2.55k
    goto yy48;
4921
12.4k
yy311:
4922
12.4k
    YYDEBUG(311, *YYCURSOR);
4923
12.4k
    yyaccept = 4;
4924
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
4925
12.4k
    if (yych == 'L') goto yy410;
4926
10.1k
    if (yych == 'l') goto yy410;
4927
1.88k
    goto yy48;
4928
13.1k
yy312:
4929
13.1k
    YYDEBUG(312, *YYCURSOR);
4930
13.1k
    yyaccept = 4;
4931
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
4932
13.1k
    if (yych == 'T') goto yy411;
4933
10.3k
    if (yych == 't') goto yy411;
4934
674
    goto yy48;
4935
15.9k
yy313:
4936
15.9k
    YYDEBUG(313, *YYCURSOR);
4937
15.9k
    yyaccept = 4;
4938
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
4939
15.9k
    if (yych == 'E') goto yy412;
4940
14.3k
    if (yych == 'e') goto yy412;
4941
5.84k
    goto yy48;
4942
5.84k
yy314:
4943
5.70k
    YYDEBUG(314, *YYCURSOR);
4944
5.70k
    yyaccept = 4;
4945
5.70k
    yych = *(YYMARKER = ++YYCURSOR);
4946
5.70k
    if (yych == 'E') goto yy413;
4947
5.06k
    if (yych == 'e') goto yy413;
4948
1.21k
    goto yy48;
4949
4.56k
yy315:
4950
4.56k
    YYDEBUG(315, *YYCURSOR);
4951
4.56k
    yyaccept = 4;
4952
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
4953
4.56k
    if (yych == 'T') goto yy414;
4954
3.99k
    if (yych == 't') goto yy414;
4955
412
    goto yy48;
4956
4.42k
yy316:
4957
4.42k
    YYDEBUG(316, *YYCURSOR);
4958
4.42k
    yyaccept = 4;
4959
4.42k
    yych = *(YYMARKER = ++YYCURSOR);
4960
4.42k
    if (yych == 'C') goto yy416;
4961
3.88k
    if (yych == 'c') goto yy416;
4962
460
    goto yy48;
4963
18.5k
yy317:
4964
18.5k
    YYDEBUG(317, *YYCURSOR);
4965
18.5k
    yyaccept = 4;
4966
18.5k
    yych = *(YYMARKER = ++YYCURSOR);
4967
18.5k
    if (yych == 'E') goto yy417;
4968
15.3k
    if (yych == 'e') goto yy417;
4969
580
    goto yy48;
4970
41.0k
yy318:
4971
41.0k
    YYDEBUG(318, *YYCURSOR);
4972
41.0k
    yyaccept = 21;
4973
41.0k
    yych = *(YYMARKER = ++YYCURSOR);
4974
41.0k
    if (yybm[256+yych] & 128) {
4975
608
      goto yy47;
4976
608
    }
4977
40.4k
    if (yych == '\\') goto yy164;
4978
40.4k
yy319:
4979
40.4k
    YYDEBUG(319, *YYCURSOR);
4980
40.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
40.4k
#line 1626 "Zend/zend_language_scanner.l"
4982
40.4k
    {
4983
40.4k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
40.4k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
18.6k
yy320:
4987
18.6k
    YYDEBUG(320, *YYCURSOR);
4988
18.6k
    yyaccept = 4;
4989
18.6k
    yych = *(YYMARKER = ++YYCURSOR);
4990
18.6k
    if (yych <= 'V') {
4991
2.94k
      if (yych == 'N') goto yy418;
4992
1.93k
      if (yych <= 'U') goto yy48;
4993
1.13k
      goto yy419;
4994
15.6k
    } else {
4995
15.6k
      if (yych <= 'n') {
4996
6.97k
        if (yych <= 'm') goto yy48;
4997
6.60k
        goto yy418;
4998
8.68k
      } else {
4999
8.68k
        if (yych == 'v') goto yy419;
5000
799
        goto yy48;
5001
8.68k
      }
5002
15.6k
    }
5003
12.1k
yy321:
5004
12.1k
    YYDEBUG(321, *YYCURSOR);
5005
12.1k
    yyaccept = 4;
5006
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
5007
12.1k
    if (yych == 'T') goto yy420;
5008
10.4k
    if (yych == 't') goto yy420;
5009
1.09k
    goto yy48;
5010
37.8k
yy322:
5011
37.8k
    YYDEBUG(322, *YYCURSOR);
5012
37.8k
    yyaccept = 4;
5013
37.8k
    yych = *(YYMARKER = ++YYCURSOR);
5014
37.8k
    if (yych == 'L') goto yy421;
5015
36.3k
    if (yych == 'l') goto yy421;
5016
1.14k
    goto yy48;
5017
6.78k
yy323:
5018
6.78k
    YYDEBUG(323, *YYCURSOR);
5019
6.78k
    yyaccept = 4;
5020
6.78k
    yych = *(YYMARKER = ++YYCURSOR);
5021
6.78k
    if (yych == 'D') goto yy422;
5022
6.39k
    if (yych == 'd') goto yy422;
5023
2.03k
    goto yy48;
5024
18.8k
yy324:
5025
18.8k
    YYDEBUG(324, *YYCURSOR);
5026
18.8k
    yyaccept = 4;
5027
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
5028
18.8k
    if (yych == 'U') goto yy423;
5029
18.0k
    if (yych == 'u') goto yy423;
5030
570
    goto yy48;
5031
12.0k
yy325:
5032
12.0k
    YYDEBUG(325, *YYCURSOR);
5033
12.0k
    yyaccept = 4;
5034
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5035
12.0k
    if (yych == 'U') goto yy424;
5036
11.6k
    if (yych == 'u') goto yy424;
5037
691
    goto yy48;
5038
13.5k
yy326:
5039
13.5k
    YYDEBUG(326, *YYCURSOR);
5040
13.5k
    yyaccept = 4;
5041
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5042
13.5k
    if (yych == 'T') goto yy425;
5043
13.2k
    if (yych == 't') goto yy425;
5044
1.11k
    goto yy48;
5045
8.07k
yy327:
5046
8.07k
    YYDEBUG(327, *YYCURSOR);
5047
8.07k
    yyaccept = 4;
5048
8.07k
    yych = *(YYMARKER = ++YYCURSOR);
5049
8.07k
    if (yych == 'T') goto yy426;
5050
7.64k
    if (yych == 't') goto yy426;
5051
469
    goto yy48;
5052
6.12k
yy328:
5053
6.12k
    YYDEBUG(328, *YYCURSOR);
5054
6.12k
    yyaccept = 4;
5055
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
5056
6.12k
    if (yych == 'O') goto yy427;
5057
5.70k
    if (yych == 'o') goto yy427;
5058
686
    goto yy48;
5059
4.85k
yy329:
5060
4.85k
    YYDEBUG(329, *YYCURSOR);
5061
4.85k
    yyaccept = 4;
5062
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
5063
4.85k
    if (yych == 'I') goto yy428;
5064
3.70k
    if (yych == 'i') goto yy428;
5065
497
    goto yy48;
5066
25.4k
yy330:
5067
25.4k
    YYDEBUG(330, *YYCURSOR);
5068
25.4k
    yyaccept = 22;
5069
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
5070
25.4k
    if (yybm[256+yych] & 128) {
5071
1.56k
      goto yy47;
5072
1.56k
    }
5073
23.8k
    if (yych == '\\') goto yy164;
5074
23.8k
yy331:
5075
23.8k
    YYDEBUG(331, *YYCURSOR);
5076
23.8k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
23.8k
#line 1438 "Zend/zend_language_scanner.l"
5078
23.8k
    {
5079
23.8k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
23.8k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
8.22k
yy332:
5083
8.22k
    YYDEBUG(332, *YYCURSOR);
5084
8.22k
    yyaccept = 4;
5085
8.22k
    yych = *(YYMARKER = ++YYCURSOR);
5086
8.22k
    if (yych == 'E') goto yy429;
5087
7.35k
    if (yych == 'e') goto yy429;
5088
943
    goto yy48;
5089
8.86k
yy333:
5090
8.86k
    YYDEBUG(333, *YYCURSOR);
5091
8.86k
    yyaccept = 23;
5092
8.86k
    yych = *(YYMARKER = ++YYCURSOR);
5093
8.86k
    if (yybm[256+yych] & 128) {
5094
880
      goto yy47;
5095
880
    }
5096
7.98k
    if (yych == '\\') goto yy164;
5097
7.95k
yy334:
5098
7.95k
    YYDEBUG(334, *YYCURSOR);
5099
7.95k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
7.95k
#line 1742 "Zend/zend_language_scanner.l"
5101
7.95k
    {
5102
7.95k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
7.95k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
32.9k
yy335:
5106
32.9k
    YYDEBUG(335, *YYCURSOR);
5107
32.9k
    yyaccept = 24;
5108
32.9k
    yych = *(YYMARKER = ++YYCURSOR);
5109
32.9k
    if (yybm[256+yych] & 128) {
5110
30.6k
      goto yy47;
5111
30.6k
    }
5112
2.29k
    if (yych == '\\') goto yy164;
5113
2.19k
yy336:
5114
2.19k
    YYDEBUG(336, *YYCURSOR);
5115
2.19k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
2.19k
#line 1634 "Zend/zend_language_scanner.l"
5117
2.19k
    {
5118
2.19k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
2.19k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
3.75k
yy337:
5122
3.75k
    YYDEBUG(337, *YYCURSOR);
5123
3.75k
    yyaccept = 4;
5124
3.75k
    yych = *(YYMARKER = ++YYCURSOR);
5125
3.75k
    if (yych == 'L') goto yy430;
5126
3.48k
    if (yych == 'l') goto yy430;
5127
566
    goto yy48;
5128
4.50k
yy338:
5129
4.50k
    YYDEBUG(338, *YYCURSOR);
5130
4.50k
    yyaccept = 25;
5131
4.50k
    yych = *(YYMARKER = ++YYCURSOR);
5132
4.50k
    if (yybm[256+yych] & 128) {
5133
480
      goto yy47;
5134
480
    }
5135
4.02k
    if (yych == '\\') goto yy164;
5136
4.02k
yy339:
5137
4.02k
    YYDEBUG(339, *YYCURSOR);
5138
4.02k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
4.02k
#line 1938 "Zend/zend_language_scanner.l"
5140
4.02k
    {
5141
4.02k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
4.02k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
75.4k
yy340:
5145
75.4k
    YYDEBUG(340, *YYCURSOR);
5146
75.4k
    yyaccept = 4;
5147
75.4k
    yych = *(YYMARKER = ++YYCURSOR);
5148
75.4k
    if (yych == 'L') goto yy431;
5149
73.0k
    if (yych == 'l') goto yy431;
5150
2.51k
    goto yy48;
5151
13.5k
yy341:
5152
13.5k
    YYDEBUG(341, *YYCURSOR);
5153
13.5k
    ++YYCURSOR;
5154
13.5k
    YYFILL(1);
5155
13.5k
    yych = *YYCURSOR;
5156
13.5k
    if (yych <= '_') {
5157
4.19k
      if (yych <= '@') goto yy86;
5158
3.18k
      if (yych <= 'Z') goto yy211;
5159
2.27k
      if (yych <= '^') goto yy86;
5160
489
      goto yy211;
5161
9.38k
    } else {
5162
9.38k
      if (yych <= '`') goto yy86;
5163
8.99k
      if (yych <= 'z') goto yy211;
5164
1.67k
      if (yych <= 0x7F) goto yy86;
5165
981
      goto yy211;
5166
1.67k
    }
5167
10.4k
yy342:
5168
10.4k
    YYDEBUG(342, *YYCURSOR);
5169
10.4k
    yyaccept = 4;
5170
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5171
10.4k
    if (yych == 'L') goto yy432;
5172
9.06k
    if (yych == 'l') goto yy432;
5173
4.51k
    goto yy48;
5174
8.88k
yy343:
5175
8.88k
    YYDEBUG(343, *YYCURSOR);
5176
8.88k
    yyaccept = 4;
5177
8.88k
    yych = *(YYMARKER = ++YYCURSOR);
5178
8.88k
    if (yych == 'I') goto yy433;
5179
6.73k
    if (yych == 'i') goto yy433;
5180
1.95k
    goto yy48;
5181
15.0k
yy344:
5182
15.0k
    YYDEBUG(344, *YYCURSOR);
5183
15.0k
    yyaccept = 4;
5184
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
5185
15.0k
    if (yych <= 'U') {
5186
6.35k
      if (yych == 'I') goto yy434;
5187
2.85k
      if (yych <= 'T') goto yy48;
5188
2.22k
      goto yy435;
5189
8.72k
    } else {
5190
8.72k
      if (yych <= 'i') {
5191
2.78k
        if (yych <= 'h') goto yy48;
5192
2.47k
        goto yy434;
5193
5.94k
      } else {
5194
5.94k
        if (yych == 'u') goto yy435;
5195
722
        goto yy48;
5196
5.94k
      }
5197
8.72k
    }
5198
5.02k
yy345:
5199
5.02k
    YYDEBUG(345, *YYCURSOR);
5200
5.02k
    yyaccept = 4;
5201
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
5202
5.02k
    if (yych == 'A') goto yy436;
5203
3.74k
    if (yych == 'a') goto yy436;
5204
714
    goto yy48;
5205
5.85k
yy346:
5206
5.85k
    YYDEBUG(346, *YYCURSOR);
5207
5.85k
    yyaccept = 4;
5208
5.85k
    yych = *(YYMARKER = ++YYCURSOR);
5209
5.85k
    if (yych == 'I') goto yy437;
5210
3.70k
    if (yych == 'i') goto yy437;
5211
1.07k
    goto yy48;
5212
10.7k
yy347:
5213
10.7k
    YYDEBUG(347, *YYCURSOR);
5214
10.7k
    yyaccept = 4;
5215
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
5216
10.7k
    if (yych == 'E') goto yy438;
5217
5.33k
    if (yych == 'e') goto yy438;
5218
1.02k
    goto yy48;
5219
9.34k
yy348:
5220
9.34k
    YYDEBUG(348, *YYCURSOR);
5221
9.34k
    yyaccept = 4;
5222
9.34k
    yych = *(YYMARKER = ++YYCURSOR);
5223
9.34k
    if (yych == 'A') goto yy439;
5224
5.92k
    if (yych == 'a') goto yy439;
5225
1.64k
    goto yy48;
5226
5.96k
yy349:
5227
5.96k
    YYDEBUG(349, *YYCURSOR);
5228
5.96k
    yyaccept = 4;
5229
5.96k
    yych = *(YYMARKER = ++YYCURSOR);
5230
5.96k
    if (yych == 'R') goto yy440;
5231
1.35k
    if (yych == 'r') goto yy440;
5232
740
    goto yy48;
5233
6.96k
yy350:
5234
6.96k
    YYDEBUG(350, *YYCURSOR);
5235
6.96k
    yyaccept = 4;
5236
6.96k
    yych = *(YYMARKER = ++YYCURSOR);
5237
6.96k
    if (yych == 'R') goto yy441;
5238
6.47k
    if (yych == 'r') goto yy441;
5239
1.42k
    goto yy48;
5240
11.9k
yy351:
5241
11.9k
    YYDEBUG(351, *YYCURSOR);
5242
11.9k
    ++YYCURSOR;
5243
11.9k
    YYFILL(1);
5244
11.9k
    yych = *YYCURSOR;
5245
11.9k
    if (yybm[0+yych] & 2) {
5246
1.59k
      goto yy225;
5247
1.59k
    }
5248
10.3k
    if (yych <= 0x00) goto yy86;
5249
10.1k
    goto yy227;
5250
10.1k
yy352:
5251
4.98k
    YYDEBUG(352, *YYCURSOR);
5252
4.98k
    yyaccept = 26;
5253
4.98k
    YYMARKER = ++YYCURSOR;
5254
4.98k
    YYFILL(1);
5255
4.98k
    yych = *YYCURSOR;
5256
4.98k
    if (yybm[0+yych] & 2) {
5257
4.00k
      goto yy225;
5258
4.00k
    }
5259
974
    if (yych <= 0x00) goto yy89;
5260
618
    goto yy84;
5261
18.4k
yy353:
5262
18.4k
    YYDEBUG(353, *YYCURSOR);
5263
18.4k
    ++YYCURSOR;
5264
18.4k
    YYFILL(1);
5265
18.4k
    yych = *YYCURSOR;
5266
18.4k
    if (yych <= '\f') {
5267
1.86k
      if (yych <= 0x00) goto yy86;
5268
1.58k
      if (yych == '\n') goto yy84;
5269
232
      goto yy225;
5270
16.5k
    } else {
5271
16.5k
      if (yych <= '\r') goto yy84;
5272
13.4k
      if (yych == '.') goto yy442;
5273
9.21k
      goto yy225;
5274
13.4k
    }
5275
23.5k
yy354:
5276
23.5k
    YYDEBUG(354, *YYCURSOR);
5277
23.5k
    ++YYCURSOR;
5278
23.5k
    YYFILL(1);
5279
23.5k
    yych = *YYCURSOR;
5280
23.5k
    if (yych <= '\f') {
5281
1.11k
      if (yych <= 0x00) goto yy86;
5282
909
      if (yych == '\n') goto yy84;
5283
370
      goto yy225;
5284
22.3k
    } else {
5285
22.3k
      if (yych <= '\r') goto yy84;
5286
22.1k
      if (yych == '*') goto yy443;
5287
2.80k
      goto yy225;
5288
22.1k
    }
5289
8.23k
yy355:
5290
8.23k
    YYDEBUG(355, *YYCURSOR);
5291
8.23k
    ++YYCURSOR;
5292
8.23k
    YYFILL(1);
5293
8.23k
    yych = *YYCURSOR;
5294
8.23k
    YYDEBUG(356, *YYCURSOR);
5295
8.23k
    if (yybm[0+yych] & 64) {
5296
1.09k
      goto yy355;
5297
1.09k
    }
5298
7.13k
    if (yych <= 0x00) goto yy86;
5299
6.17k
    if (yych == '/') goto yy84;
5300
3.38k
    goto yy230;
5301
9.12k
yy357:
5302
9.12k
    YYDEBUG(357, *YYCURSOR);
5303
9.12k
    yych = *++YYCURSOR;
5304
9.12k
    if (yych == 'A') goto yy445;
5305
8.89k
    if (yych == 'a') goto yy445;
5306
1.76k
    goto yy86;
5307
2.78k
yy358:
5308
2.78k
    YYDEBUG(358, *YYCURSOR);
5309
2.78k
    yych = *++YYCURSOR;
5310
2.78k
    if (yych == 'A') goto yy446;
5311
2.54k
    if (yych == 'a') goto yy446;
5312
566
    goto yy86;
5313
3.78k
yy359:
5314
3.78k
    YYDEBUG(359, *YYCURSOR);
5315
3.78k
    yych = *++YYCURSOR;
5316
3.78k
    if (yych == 'L') goto yy447;
5317
3.56k
    if (yych == 'l') goto yy447;
5318
617
    goto yy86;
5319
2.45k
yy360:
5320
2.45k
    YYDEBUG(360, *YYCURSOR);
5321
2.45k
    yych = *++YYCURSOR;
5322
2.45k
    if (yych == 'B') goto yy448;
5323
2.01k
    if (yych == 'b') goto yy448;
5324
434
    goto yy86;
5325
3.97k
yy361:
5326
3.97k
    YYDEBUG(361, *YYCURSOR);
5327
3.97k
    yych = *++YYCURSOR;
5328
3.97k
    if (yych == 'A') goto yy449;
5329
3.77k
    if (yych == 'a') goto yy449;
5330
591
    goto yy86;
5331
6.93k
yy362:
5332
6.93k
    YYDEBUG(362, *YYCURSOR);
5333
6.93k
    yych = *++YYCURSOR;
5334
6.93k
    if (yych == 'E') goto yy454;
5335
6.23k
    if (yych == 'e') goto yy454;
5336
3.59k
    goto yy451;
5337
3.59k
yy363:
5338
2.43k
    YYDEBUG(363, *YYCURSOR);
5339
2.43k
    yych = *++YYCURSOR;
5340
2.43k
    if (yych == 'E') goto yy455;
5341
2.05k
    if (yych == 'e') goto yy455;
5342
409
    goto yy86;
5343
1.50k
yy364:
5344
1.50k
    YYDEBUG(364, *YYCURSOR);
5345
1.50k
    yych = *++YYCURSOR;
5346
1.50k
    if (yych == 'L') goto yy456;
5347
717
    if (yych == 'l') goto yy456;
5348
328
    goto yy86;
5349
10.5k
yy365:
5350
10.5k
    YYDEBUG(365, *YYCURSOR);
5351
10.5k
    yych = *++YYCURSOR;
5352
10.5k
    if (yych == 'I') goto yy458;
5353
9.79k
    if (yych == 'i') goto yy458;
5354
1.75k
    goto yy86;
5355
2.54k
yy366:
5356
2.54k
    YYDEBUG(366, *YYCURSOR);
5357
2.54k
    yych = *++YYCURSOR;
5358
2.54k
    if (yych == 'E') goto yy459;
5359
1.76k
    if (yych == 'e') goto yy459;
5360
542
    goto yy86;
5361
1.94k
yy367:
5362
1.94k
    YYDEBUG(367, *YYCURSOR);
5363
1.94k
    yych = *++YYCURSOR;
5364
1.94k
    if (yych == 'D') goto yy460;
5365
1.73k
    if (yych == 'd') goto yy460;
5366
335
    goto yy86;
5367
8.32k
yy368:
5368
8.32k
    YYDEBUG(368, *YYCURSOR);
5369
8.32k
    ++YYCURSOR;
5370
8.32k
    YYFILL(1);
5371
8.32k
    yych = *YYCURSOR;
5372
8.32k
    YYDEBUG(369, *YYCURSOR);
5373
8.32k
    if (yych <= '\f') {
5374
2.72k
      if (yych <= 0x08) goto yy129;
5375
2.25k
      if (yych <= '\n') goto yy368;
5376
1.31k
      goto yy129;
5377
5.60k
    } else {
5378
5.60k
      if (yych <= '\r') goto yy368;
5379
5.26k
      if (yych == ' ') goto yy368;
5380
4.12k
      goto yy129;
5381
5.26k
    }
5382
3.31k
yy370:
5383
3.31k
    YYDEBUG(370, *YYCURSOR);
5384
3.31k
    yych = *++YYCURSOR;
5385
3.31k
    if (yych == '"') goto yy86;
5386
2.98k
    if (yych <= '/') goto yy463;
5387
2.19k
    if (yych <= '9') goto yy86;
5388
1.96k
    goto yy463;
5389
9.85k
yy371:
5390
9.85k
    YYDEBUG(371, *YYCURSOR);
5391
9.85k
    yych = *++YYCURSOR;
5392
9.85k
    if (yych == '\'') goto yy86;
5393
9.54k
    if (yych <= '/') goto yy465;
5394
9.18k
    if (yych <= '9') goto yy86;
5395
8.94k
    goto yy465;
5396
4.15M
yy372:
5397
4.15M
    YYDEBUG(372, *YYCURSOR);
5398
4.15M
    ++YYCURSOR;
5399
4.15M
    YYFILL(2);
5400
4.15M
    yych = *YYCURSOR;
5401
4.15M
    YYDEBUG(373, *YYCURSOR);
5402
4.15M
    if (yych <= '@') {
5403
3.08M
      if (yych <= '\f') {
5404
2.96M
        if (yych == '\n') goto yy466;
5405
17.1k
        goto yy86;
5406
2.96M
      } else {
5407
122k
        if (yych <= '\r') goto yy468;
5408
100k
        if (yych <= '/') goto yy86;
5409
55.4k
        if (yych <= '9') goto yy372;
5410
24.4k
        goto yy86;
5411
55.4k
      }
5412
3.08M
    } else {
5413
1.07M
      if (yych <= '_') {
5414
114k
        if (yych <= 'Z') goto yy372;
5415
22.2k
        if (yych <= '^') goto yy86;
5416
19.6k
        goto yy372;
5417
958k
      } else {
5418
958k
        if (yych <= '`') goto yy86;
5419
957k
        if (yych <= 'z') goto yy372;
5420
619k
        if (yych <= 0x7F) goto yy86;
5421
613k
        goto yy372;
5422
619k
      }
5423
1.07M
    }
5424
5.32k
yy374:
5425
5.32k
    YYDEBUG(374, *YYCURSOR);
5426
5.32k
    yyaccept = 4;
5427
5.32k
    yych = *(YYMARKER = ++YYCURSOR);
5428
5.32k
    if (yych == 'R') goto yy469;
5429
4.85k
    if (yych == 'r') goto yy469;
5430
1.05k
    goto yy48;
5431
14.7k
yy375:
5432
14.7k
    YYDEBUG(375, *YYCURSOR);
5433
14.7k
    yyaccept = 4;
5434
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
5435
14.7k
    if (yych == 'Y') goto yy470;
5436
14.0k
    if (yych == 'y') goto yy470;
5437
818
    goto yy48;
5438
3.18k
yy376:
5439
3.18k
    YYDEBUG(376, *YYCURSOR);
5440
3.18k
    yyaccept = 4;
5441
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
5442
3.18k
    if (yych == 'K') goto yy472;
5443
2.80k
    if (yych == 'k') goto yy472;
5444
373
    goto yy48;
5445
11.0k
yy377:
5446
11.0k
    YYDEBUG(377, *YYCURSOR);
5447
11.0k
    yyaccept = 4;
5448
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5449
11.0k
    if (yych == 'A') goto yy474;
5450
10.2k
    if (yych == 'a') goto yy474;
5451
6.91k
    goto yy48;
5452
9.47k
yy378:
5453
9.47k
    YYDEBUG(378, *YYCURSOR);
5454
9.47k
    yyaccept = 27;
5455
9.47k
    yych = *(YYMARKER = ++YYCURSOR);
5456
9.47k
    if (yybm[256+yych] & 128) {
5457
664
      goto yy47;
5458
664
    }
5459
8.80k
    if (yych == '\\') goto yy164;
5460
8.80k
yy379:
5461
8.80k
    YYDEBUG(379, *YYCURSOR);
5462
8.80k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
8.80k
#line 1526 "Zend/zend_language_scanner.l"
5464
8.80k
    {
5465
8.80k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
8.80k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
24.7k
yy380:
5469
24.7k
    YYDEBUG(380, *YYCURSOR);
5470
24.7k
    yyaccept = 4;
5471
24.7k
    yych = *(YYMARKER = ++YYCURSOR);
5472
24.7k
    if (yych == 'H') goto yy475;
5473
24.1k
    if (yych == 'h') goto yy475;
5474
642
    goto yy48;
5475
40.8k
yy381:
5476
40.8k
    YYDEBUG(381, *YYCURSOR);
5477
40.8k
    yyaccept = 4;
5478
40.8k
    yych = *(YYMARKER = ++YYCURSOR);
5479
40.8k
    if (yych == 'S') goto yy477;
5480
39.1k
    if (yych == 's') goto yy477;
5481
787
    goto yy48;
5482
3.64k
yy382:
5483
3.64k
    YYDEBUG(382, *YYCURSOR);
5484
3.64k
    yyaccept = 4;
5485
3.64k
    yych = *(YYMARKER = ++YYCURSOR);
5486
3.64k
    if (yych == 'E') goto yy479;
5487
2.78k
    if (yych == 'e') goto yy479;
5488
676
    goto yy48;
5489
32.6k
yy383:
5490
32.6k
    YYDEBUG(383, *YYCURSOR);
5491
32.6k
    yyaccept = 4;
5492
32.6k
    yych = *(YYMARKER = ++YYCURSOR);
5493
32.6k
    if (yych == 'T') goto yy481;
5494
31.7k
    if (yych == 't') goto yy481;
5495
1.01k
    goto yy48;
5496
5.54k
yy384:
5497
5.54k
    YYDEBUG(384, *YYCURSOR);
5498
5.54k
    yyaccept = 4;
5499
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
5500
5.54k
    if (yych == 'I') goto yy483;
5501
4.32k
    if (yych == 'i') goto yy483;
5502
1.48k
    goto yy48;
5503
8.43k
yy385:
5504
8.43k
    YYDEBUG(385, *YYCURSOR);
5505
8.43k
    yyaccept = 4;
5506
8.43k
    yych = *(YYMARKER = ++YYCURSOR);
5507
8.43k
    if (yych == 'A') goto yy484;
5508
7.09k
    if (yych == 'a') goto yy484;
5509
532
    goto yy48;
5510
3.22k
yy386:
5511
3.22k
    YYDEBUG(386, *YYCURSOR);
5512
3.22k
    yyaccept = 4;
5513
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
5514
3.22k
    if (yych == 'U') goto yy485;
5515
2.62k
    if (yych == 'u') goto yy485;
5516
327
    goto yy48;
5517
32.8k
yy387:
5518
32.8k
    YYDEBUG(387, *YYCURSOR);
5519
32.8k
    yyaccept = 28;
5520
32.8k
    yych = *(YYMARKER = ++YYCURSOR);
5521
32.8k
    if (yybm[256+yych] & 128) {
5522
963
      goto yy47;
5523
963
    }
5524
31.8k
    if (yych == '\\') goto yy164;
5525
31.8k
yy388:
5526
31.8k
    YYDEBUG(388, *YYCURSOR);
5527
31.8k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
31.8k
#line 1546 "Zend/zend_language_scanner.l"
5529
31.8k
    {
5530
31.8k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
31.8k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
10.7k
yy389:
5534
10.7k
    YYDEBUG(389, *YYCURSOR);
5535
10.7k
    yyaccept = 29;
5536
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
5537
10.7k
    if (yych <= '\\') {
5538
4.67k
      if (yych <= 'H') {
5539
3.49k
        if (yych <= '/') goto yy390;
5540
1.81k
        if (yych <= '9') goto yy47;
5541
1.60k
        if (yych >= 'A') goto yy47;
5542
1.60k
      } else {
5543
1.18k
        if (yych <= 'I') goto yy486;
5544
809
        if (yych <= 'Z') goto yy47;
5545
596
        if (yych >= '\\') goto yy164;
5546
596
      }
5547
6.02k
    } else {
5548
6.02k
      if (yych <= 'h') {
5549
937
        if (yych == '_') goto yy47;
5550
696
        if (yych >= 'a') goto yy47;
5551
5.08k
      } else {
5552
5.08k
        if (yych <= 'i') goto yy486;
5553
892
        if (yych <= 'z') goto yy47;
5554
640
        if (yych >= 0x80) goto yy47;
5555
640
      }
5556
6.02k
    }
5557
4.13k
yy390:
5558
4.13k
    YYDEBUG(390, *YYCURSOR);
5559
4.13k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
4.13k
#line 1466 "Zend/zend_language_scanner.l"
5561
4.13k
    {
5562
4.13k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
4.13k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
4.03k
yy391:
5566
4.03k
    YYDEBUG(391, *YYCURSOR);
5567
4.03k
    yyaccept = 4;
5568
4.03k
    yych = *(YYMARKER = ++YYCURSOR);
5569
4.03k
    if (yych == 'Y') goto yy487;
5570
3.41k
    if (yych == 'y') goto yy487;
5571
585
    goto yy48;
5572
5.60k
yy392:
5573
5.60k
    YYDEBUG(392, *YYCURSOR);
5574
5.60k
    yyaccept = 4;
5575
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
5576
5.60k
    if (yych == 'E') goto yy489;
5577
3.34k
    if (yych == 'e') goto yy489;
5578
438
    goto yy48;
5579
12.9k
yy393:
5580
12.9k
    YYDEBUG(393, *YYCURSOR);
5581
12.9k
    yyaccept = 4;
5582
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
5583
12.9k
    if (yych == 'O') goto yy490;
5584
8.91k
    if (yych == 'o') goto yy490;
5585
890
    goto yy48;
5586
6.94k
yy394:
5587
6.94k
    YYDEBUG(394, *YYCURSOR);
5588
6.94k
    yyaccept = 4;
5589
6.94k
    yych = *(YYMARKER = ++YYCURSOR);
5590
6.94k
    if (yych == 'F') goto yy491;
5591
3.48k
    if (yych == 'f') goto yy491;
5592
575
    goto yy48;
5593
4.89k
yy395:
5594
4.89k
    YYDEBUG(395, *YYCURSOR);
5595
4.89k
    yyaccept = 4;
5596
4.89k
    yych = *(YYMARKER = ++YYCURSOR);
5597
4.89k
    if (yych == 'W') goto yy493;
5598
3.79k
    if (yych == 'w') goto yy493;
5599
737
    goto yy48;
5600
8.01k
yy396:
5601
8.01k
    YYDEBUG(396, *YYCURSOR);
5602
8.01k
    yyaccept = 4;
5603
8.01k
    yych = *(YYMARKER = ++YYCURSOR);
5604
8.01k
    if (yych == 'H') goto yy494;
5605
6.40k
    if (yych == 'h') goto yy494;
5606
766
    goto yy48;
5607
140k
yy397:
5608
140k
    YYDEBUG(397, *YYCURSOR);
5609
140k
    yyaccept = 4;
5610
140k
    yych = *(YYMARKER = ++YYCURSOR);
5611
140k
    if (yych <= 0x1F) {
5612
116k
      if (yych <= '\n') {
5613
6.09k
        if (yych <= 0x08) goto yy48;
5614
4.85k
        goto yy495;
5615
110k
      } else {
5616
110k
        if (yych == '\r') goto yy495;
5617
323
        goto yy48;
5618
110k
      }
5619
116k
    } else {
5620
23.5k
      if (yych <= '#') {
5621
14.0k
        if (yych <= ' ') goto yy495;
5622
8.85k
        if (yych <= '"') goto yy48;
5623
8.55k
        goto yy497;
5624
9.43k
      } else {
5625
9.43k
        if (yych == '/') goto yy498;
5626
8.97k
        goto yy48;
5627
9.43k
      }
5628
23.5k
    }
5629
3.44k
yy398:
5630
3.44k
    YYDEBUG(398, *YYCURSOR);
5631
3.44k
    yyaccept = 30;
5632
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
5633
3.44k
    if (yybm[256+yych] & 128) {
5634
800
      goto yy47;
5635
800
    }
5636
2.64k
    if (yych == '\\') goto yy164;
5637
2.57k
yy399:
5638
2.57k
    YYDEBUG(399, *YYCURSOR);
5639
2.57k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
2.57k
#line 1718 "Zend/zend_language_scanner.l"
5641
2.57k
    {
5642
2.57k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
2.57k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
2.05k
yy400:
5646
2.05k
    YYDEBUG(400, *YYCURSOR);
5647
2.05k
    yyaccept = 31;
5648
2.05k
    yych = *(YYMARKER = ++YYCURSOR);
5649
2.05k
    if (yybm[256+yych] & 128) {
5650
462
      goto yy47;
5651
462
    }
5652
1.58k
    if (yych == '\\') goto yy164;
5653
1.55k
yy401:
5654
1.55k
    YYDEBUG(401, *YYCURSOR);
5655
1.55k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
1.55k
#line 1399 "Zend/zend_language_scanner.l"
5657
1.55k
    {
5658
1.55k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
1.55k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
17.9k
yy402:
5662
17.9k
    YYDEBUG(402, *YYCURSOR);
5663
17.9k
    yyaccept = 4;
5664
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
5665
17.9k
    if (yych == 'N') goto yy499;
5666
17.1k
    if (yych == 'n') goto yy499;
5667
1.11k
    goto yy48;
5668
12.2k
yy403:
5669
12.2k
    YYDEBUG(403, *YYCURSOR);
5670
12.2k
    yyaccept = 4;
5671
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5672
12.2k
    if (yych == 'L') goto yy500;
5673
11.5k
    if (yych == 'l') goto yy500;
5674
908
    goto yy48;
5675
14.4k
yy404:
5676
14.4k
    YYDEBUG(404, *YYCURSOR);
5677
14.4k
    yyaccept = 4;
5678
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
5679
14.4k
    if (yych == 'A') goto yy502;
5680
14.0k
    if (yych == 'a') goto yy502;
5681
809
    goto yy48;
5682
62.7k
yy405:
5683
62.7k
    YYDEBUG(405, *YYCURSOR);
5684
62.7k
    yyaccept = 4;
5685
62.7k
    yych = *(YYMARKER = ++YYCURSOR);
5686
62.7k
    if (yych == 'T') goto yy503;
5687
61.6k
    if (yych == 't') goto yy503;
5688
5.39k
    goto yy48;
5689
5.42k
yy406:
5690
5.42k
    YYDEBUG(406, *YYCURSOR);
5691
5.42k
    yyaccept = 4;
5692
5.42k
    yych = *(YYMARKER = ++YYCURSOR);
5693
5.42k
    if (yych == 'A') goto yy504;
5694
3.45k
    if (yych == 'a') goto yy504;
5695
609
    goto yy48;
5696
3.77k
yy407:
5697
3.77k
    YYDEBUG(407, *YYCURSOR);
5698
3.77k
    yyaccept = 32;
5699
3.77k
    yych = *(YYMARKER = ++YYCURSOR);
5700
3.77k
    if (yybm[256+yych] & 128) {
5701
988
      goto yy47;
5702
988
    }
5703
2.79k
    if (yych == '\\') goto yy164;
5704
2.64k
yy408:
5705
2.64k
    YYDEBUG(408, *YYCURSOR);
5706
2.64k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
2.64k
#line 1542 "Zend/zend_language_scanner.l"
5708
2.64k
    {
5709
2.64k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
2.64k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
22.3k
yy409:
5713
22.3k
    YYDEBUG(409, *YYCURSOR);
5714
22.3k
    yyaccept = 4;
5715
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
5716
22.3k
    if (yych == 'E') goto yy505;
5717
20.6k
    if (yych == 'e') goto yy505;
5718
1.05k
    goto yy48;
5719
10.5k
yy410:
5720
10.5k
    YYDEBUG(410, *YYCURSOR);
5721
10.5k
    yyaccept = 4;
5722
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
5723
10.5k
    if (yych == 'U') goto yy506;
5724
8.53k
    if (yych == 'u') goto yy506;
5725
492
    goto yy48;
5726
12.5k
yy411:
5727
12.5k
    YYDEBUG(411, *YYCURSOR);
5728
12.5k
    yyaccept = 4;
5729
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
5730
12.5k
    if (yych <= 'E') {
5731
3.32k
      if (yych == 'A') goto yy507;
5732
1.53k
      if (yych <= 'D') goto yy48;
5733
828
      goto yy508;
5734
9.19k
    } else {
5735
9.19k
      if (yych <= 'a') {
5736
4.74k
        if (yych <= '`') goto yy48;
5737
4.52k
        goto yy507;
5738
4.74k
      } else {
5739
4.44k
        if (yych == 'e') goto yy508;
5740
392
        goto yy48;
5741
4.44k
      }
5742
9.19k
    }
5743
10.0k
yy412:
5744
10.0k
    YYDEBUG(412, *YYCURSOR);
5745
10.0k
    yyaccept = 4;
5746
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
5747
10.0k
    if (yych == 'R') goto yy509;
5748
9.05k
    if (yych == 'r') goto yy509;
5749
3.04k
    goto yy48;
5750
4.49k
yy413:
5751
4.49k
    YYDEBUG(413, *YYCURSOR);
5752
4.49k
    yyaccept = 4;
5753
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
5754
4.49k
    if (yych == 'T') goto yy510;
5755
4.00k
    if (yych == 't') goto yy510;
5756
382
    goto yy48;
5757
4.15k
yy414:
5758
4.15k
    YYDEBUG(414, *YYCURSOR);
5759
4.15k
    yyaccept = 33;
5760
4.15k
    yych = *(YYMARKER = ++YYCURSOR);
5761
4.15k
    if (yybm[256+yych] & 128) {
5762
749
      goto yy47;
5763
749
    }
5764
3.40k
    if (yych == '\\') goto yy164;
5765
3.40k
yy415:
5766
3.40k
    YYDEBUG(415, *YYCURSOR);
5767
3.40k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
3.40k
#line 1814 "Zend/zend_language_scanner.l"
5769
3.40k
    {
5770
3.40k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
3.40k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
3.96k
yy416:
5774
3.96k
    YYDEBUG(416, *YYCURSOR);
5775
3.96k
    yyaccept = 4;
5776
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
5777
3.96k
    if (yych == 'H') goto yy512;
5778
3.70k
    if (yych == 'h') goto yy512;
5779
324
    goto yy48;
5780
17.9k
yy417:
5781
17.9k
    YYDEBUG(417, *YYCURSOR);
5782
17.9k
    yyaccept = 4;
5783
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
5784
17.9k
    if (yych == 'S') goto yy514;
5785
15.4k
    if (yych == 's') goto yy514;
5786
733
    goto yy48;
5787
7.61k
yy418:
5788
7.61k
    YYDEBUG(418, *YYCURSOR);
5789
7.61k
    yyaccept = 4;
5790
7.61k
    yych = *(YYMARKER = ++YYCURSOR);
5791
7.61k
    if (yych == 'T') goto yy515;
5792
6.89k
    if (yych == 't') goto yy515;
5793
634
    goto yy48;
5794
9.02k
yy419:
5795
9.02k
    YYDEBUG(419, *YYCURSOR);
5796
9.02k
    yyaccept = 4;
5797
9.02k
    yych = *(YYMARKER = ++YYCURSOR);
5798
9.02k
    if (yych == 'A') goto yy517;
5799
8.10k
    if (yych == 'a') goto yy517;
5800
543
    goto yy48;
5801
11.0k
yy420:
5802
11.0k
    YYDEBUG(420, *YYCURSOR);
5803
11.0k
    yyaccept = 4;
5804
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5805
11.0k
    if (yych == 'E') goto yy518;
5806
9.39k
    if (yych == 'e') goto yy518;
5807
1.57k
    goto yy48;
5808
36.7k
yy421:
5809
36.7k
    YYDEBUG(421, *YYCURSOR);
5810
36.7k
    yyaccept = 4;
5811
36.7k
    yych = *(YYMARKER = ++YYCURSOR);
5812
36.7k
    if (yych == 'I') goto yy519;
5813
35.3k
    if (yych == 'i') goto yy519;
5814
619
    goto yy48;
5815
4.75k
yy422:
5816
4.75k
    YYDEBUG(422, *YYCURSOR);
5817
4.75k
    yyaccept = 4;
5818
4.75k
    yych = *(YYMARKER = ++YYCURSOR);
5819
4.75k
    if (yych == 'O') goto yy520;
5820
4.54k
    if (yych == 'o') goto yy520;
5821
712
    goto yy48;
5822
18.2k
yy423:
5823
18.2k
    YYDEBUG(423, *YYCURSOR);
5824
18.2k
    yyaccept = 4;
5825
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
5826
18.2k
    if (yych == 'I') goto yy521;
5827
17.4k
    if (yych == 'i') goto yy521;
5828
515
    goto yy48;
5829
11.3k
yy424:
5830
11.3k
    YYDEBUG(424, *YYCURSOR);
5831
11.3k
    yyaccept = 4;
5832
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
5833
11.3k
    if (yych == 'R') goto yy522;
5834
10.9k
    if (yych == 'r') goto yy522;
5835
478
    goto yy48;
5836
12.4k
yy425:
5837
12.4k
    YYDEBUG(425, *YYCURSOR);
5838
12.4k
    yyaccept = 4;
5839
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5840
12.4k
    if (yych == 'I') goto yy523;
5841
11.9k
    if (yych == 'i') goto yy523;
5842
684
    goto yy48;
5843
7.60k
yy426:
5844
7.60k
    YYDEBUG(426, *YYCURSOR);
5845
7.60k
    yyaccept = 4;
5846
7.60k
    yych = *(YYMARKER = ++YYCURSOR);
5847
7.60k
    if (yych == 'C') goto yy524;
5848
7.11k
    if (yych == 'c') goto yy524;
5849
552
    goto yy48;
5850
5.44k
yy427:
5851
5.44k
    YYDEBUG(427, *YYCURSOR);
5852
5.44k
    yyaccept = 4;
5853
5.44k
    yych = *(YYMARKER = ++YYCURSOR);
5854
5.44k
    if (yych == 'W') goto yy525;
5855
4.89k
    if (yych == 'w') goto yy525;
5856
497
    goto yy48;
5857
4.35k
yy428:
5858
4.35k
    YYDEBUG(428, *YYCURSOR);
5859
4.35k
    yyaccept = 4;
5860
4.35k
    yych = *(YYMARKER = ++YYCURSOR);
5861
4.35k
    if (yych == 'T') goto yy527;
5862
3.93k
    if (yych == 't') goto yy527;
5863
1.02k
    goto yy48;
5864
7.27k
yy429:
5865
7.27k
    YYDEBUG(429, *YYCURSOR);
5866
7.27k
    yyaccept = 4;
5867
7.27k
    yych = *(YYMARKER = ++YYCURSOR);
5868
7.27k
    if (yych == 'T') goto yy529;
5869
6.82k
    if (yych == 't') goto yy529;
5870
2.07k
    goto yy48;
5871
3.18k
yy430:
5872
3.18k
    YYDEBUG(430, *YYCURSOR);
5873
3.18k
    yyaccept = 4;
5874
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
5875
3.18k
    if (yych == 'E') goto yy531;
5876
2.80k
    if (yych == 'e') goto yy531;
5877
283
    goto yy48;
5878
72.8k
yy431:
5879
72.8k
    YYDEBUG(431, *YYCURSOR);
5880
72.8k
    yyaccept = 4;
5881
72.8k
    yych = *(YYMARKER = ++YYCURSOR);
5882
72.8k
    if (yych == 'D') goto yy533;
5883
70.9k
    if (yych == 'd') goto yy533;
5884
2.19k
    goto yy48;
5885
5.89k
yy432:
5886
5.89k
    YYDEBUG(432, *YYCURSOR);
5887
5.89k
    yyaccept = 4;
5888
5.89k
    yych = *(YYMARKER = ++YYCURSOR);
5889
5.89k
    if (yych == 'A') goto yy535;
5890
4.62k
    if (yych == 'a') goto yy535;
5891
783
    goto yy48;
5892
6.93k
yy433:
5893
6.93k
    YYDEBUG(433, *YYCURSOR);
5894
6.93k
    yyaccept = 4;
5895
6.93k
    yych = *(YYMARKER = ++YYCURSOR);
5896
6.93k
    if (yych == 'R') goto yy536;
5897
5.02k
    if (yych == 'r') goto yy536;
5898
1.30k
    goto yy48;
5899
5.98k
yy434:
5900
5.98k
    YYDEBUG(434, *YYCURSOR);
5901
5.98k
    yyaccept = 4;
5902
5.98k
    yych = *(YYMARKER = ++YYCURSOR);
5903
5.98k
    if (yych == 'L') goto yy537;
5904
3.02k
    if (yych == 'l') goto yy537;
5905
744
    goto yy48;
5906
7.44k
yy435:
5907
7.44k
    YYDEBUG(435, *YYCURSOR);
5908
7.44k
    yyaccept = 4;
5909
7.44k
    yych = *(YYMARKER = ++YYCURSOR);
5910
7.44k
    if (yych == 'N') goto yy538;
5911
5.07k
    if (yych == 'n') goto yy538;
5912
418
    goto yy48;
5913
4.31k
yy436:
5914
4.31k
    YYDEBUG(436, *YYCURSOR);
5915
4.31k
    yyaccept = 4;
5916
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
5917
4.31k
    if (yych == 'L') goto yy539;
5918
3.05k
    if (yych == 'l') goto yy539;
5919
240
    goto yy48;
5920
4.77k
yy437:
5921
4.77k
    YYDEBUG(437, *YYCURSOR);
5922
4.77k
    yyaccept = 4;
5923
4.77k
    yych = *(YYMARKER = ++YYCURSOR);
5924
4.77k
    if (yych == 'N') goto yy540;
5925
2.40k
    if (yych == 'n') goto yy540;
5926
492
    goto yy48;
5927
9.77k
yy438:
5928
9.77k
    YYDEBUG(438, *YYCURSOR);
5929
9.77k
    yyaccept = 4;
5930
9.77k
    yych = *(YYMARKER = ++YYCURSOR);
5931
9.77k
    if (yych == 'T') goto yy541;
5932
4.91k
    if (yych == 't') goto yy541;
5933
1.03k
    goto yy48;
5934
7.70k
yy439:
5935
7.70k
    YYDEBUG(439, *YYCURSOR);
5936
7.70k
    yyaccept = 4;
5937
7.70k
    yych = *(YYMARKER = ++YYCURSOR);
5938
7.70k
    if (yych == 'M') goto yy542;
5939
4.47k
    if (yych == 'm') goto yy542;
5940
593
    goto yy48;
5941
5.22k
yy440:
5942
5.22k
    YYDEBUG(440, *YYCURSOR);
5943
5.22k
    yyaccept = 4;
5944
5.22k
    yych = *(YYMARKER = ++YYCURSOR);
5945
5.22k
    if (yych == 'O') goto yy543;
5946
1.68k
    if (yych == 'o') goto yy543;
5947
372
    goto yy48;
5948
5.54k
yy441:
5949
5.54k
    YYDEBUG(441, *YYCURSOR);
5950
5.54k
    yyaccept = 4;
5951
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
5952
5.54k
    if (yych == 'A') goto yy544;
5953
5.11k
    if (yych == 'a') goto yy544;
5954
828
    goto yy48;
5955
4.23k
yy442:
5956
4.23k
    YYDEBUG(442, *YYCURSOR);
5957
4.23k
    ++YYCURSOR;
5958
4.23k
    YYFILL(1);
5959
4.23k
    yych = *YYCURSOR;
5960
4.23k
    if (yych <= '\f') {
5961
612
      if (yych <= 0x00) goto yy86;
5962
409
      if (yych == '\n') goto yy84;
5963
203
      goto yy225;
5964
3.61k
    } else {
5965
3.61k
      if (yych <= '\r') goto yy84;
5966
3.41k
      if (yych == '.') goto yy352;
5967
2.71k
      goto yy225;
5968
3.41k
    }
5969
306k
yy443:
5970
306k
    YYDEBUG(443, *YYCURSOR);
5971
306k
    ++YYCURSOR;
5972
306k
    YYFILL(1);
5973
306k
    yych = *YYCURSOR;
5974
306k
    YYDEBUG(444, *YYCURSOR);
5975
306k
    if (yybm[0+yych] & 128) {
5976
248k
      goto yy443;
5977
248k
    }
5978
57.9k
    if (yych <= 0x00) goto yy86;
5979
54.8k
    if (yych <= '\r') goto yy545;
5980
9.11k
    goto yy547;
5981
9.11k
yy445:
5982
7.35k
    YYDEBUG(445, *YYCURSOR);
5983
7.35k
    yych = *++YYCURSOR;
5984
7.35k
    if (yych == 'Y') goto yy549;
5985
6.80k
    if (yych == 'y') goto yy549;
5986
474
    goto yy86;
5987
2.22k
yy446:
5988
2.22k
    YYDEBUG(446, *YYCURSOR);
5989
2.22k
    yych = *++YYCURSOR;
5990
2.22k
    if (yych == 'R') goto yy551;
5991
2.01k
    if (yych == 'r') goto yy551;
5992
613
    goto yy86;
5993
3.17k
yy447:
5994
3.17k
    YYDEBUG(447, *YYCURSOR);
5995
3.17k
    yych = *++YYCURSOR;
5996
3.17k
    if (yych == 'E') goto yy556;
5997
2.38k
    if (yych == 'e') goto yy556;
5998
1.41k
    goto yy553;
5999
2.02k
yy448:
6000
2.02k
    YYDEBUG(448, *YYCURSOR);
6001
2.02k
    yych = *++YYCURSOR;
6002
2.02k
    if (yych == 'L') goto yy557;
6003
1.82k
    if (yych == 'l') goto yy557;
6004
517
    goto yy86;
6005
3.37k
yy449:
6006
3.37k
    YYDEBUG(449, *YYCURSOR);
6007
3.37k
    yych = *++YYCURSOR;
6008
3.37k
    if (yych == 'T') goto yy558;
6009
3.16k
    if (yych == 't') goto yy558;
6010
370
    goto yy86;
6011
2.56k
yy450:
6012
2.56k
    YYDEBUG(450, *YYCURSOR);
6013
2.56k
    ++YYCURSOR;
6014
2.56k
    YYFILL(1);
6015
2.56k
    yych = *YYCURSOR;
6016
6.16k
yy451:
6017
6.16k
    YYDEBUG(451, *YYCURSOR);
6018
6.16k
    if (yych <= 0x1F) {
6019
2.09k
      if (yych == '\t') goto yy450;
6020
280
      goto yy86;
6021
4.06k
    } else {
6022
4.06k
      if (yych <= ' ') goto yy450;
6023
3.31k
      if (yych != ')') goto yy86;
6024
3.31k
    }
6025
1.50k
    YYDEBUG(452, *YYCURSOR);
6026
1.50k
    ++YYCURSOR;
6027
1.50k
    YYDEBUG(453, *YYCURSOR);
6028
1.50k
    yyleng = YYCURSOR - SCNG(yy_text);
6029
1.50k
#line 1638 "Zend/zend_language_scanner.l"
6030
1.50k
    {
6031
1.50k
  RETURN_TOKEN(T_INT_CAST);
6032
1.50k
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
3.33k
yy454:
6035
3.33k
    YYDEBUG(454, *YYCURSOR);
6036
3.33k
    yych = *++YYCURSOR;
6037
3.33k
    if (yych == 'G') goto yy560;
6038
3.13k
    if (yych == 'g') goto yy560;
6039
1.44k
    goto yy86;
6040
2.02k
yy455:
6041
2.02k
    YYDEBUG(455, *YYCURSOR);
6042
2.02k
    yych = *++YYCURSOR;
6043
2.02k
    if (yych == 'C') goto yy561;
6044
1.81k
    if (yych == 'c') goto yy561;
6045
308
    goto yy86;
6046
1.73k
yy456:
6047
1.73k
    YYDEBUG(456, *YYCURSOR);
6048
1.73k
    ++YYCURSOR;
6049
1.73k
    YYFILL(1);
6050
1.73k
    yych = *YYCURSOR;
6051
1.73k
    YYDEBUG(457, *YYCURSOR);
6052
1.73k
    if (yych <= 0x1F) {
6053
705
      if (yych == '\t') goto yy456;
6054
353
      goto yy86;
6055
1.03k
    } else {
6056
1.03k
      if (yych <= ' ') goto yy456;
6057
821
      if (yych == ')') goto yy562;
6058
587
      goto yy86;
6059
821
    }
6060
8.80k
yy458:
6061
8.80k
    YYDEBUG(458, *YYCURSOR);
6062
8.80k
    yych = *++YYCURSOR;
6063
8.80k
    if (yych == 'N') goto yy564;
6064
8.56k
    if (yych == 'n') goto yy564;
6065
1.38k
    goto yy86;
6066
2.00k
yy459:
6067
2.00k
    YYDEBUG(459, *YYCURSOR);
6068
2.00k
    yych = *++YYCURSOR;
6069
2.00k
    if (yych == 'T') goto yy565;
6070
1.80k
    if (yych == 't') goto yy565;
6071
629
    goto yy86;
6072
2.22k
yy460:
6073
2.22k
    YYDEBUG(460, *YYCURSOR);
6074
2.22k
    ++YYCURSOR;
6075
2.22k
    YYFILL(1);
6076
2.22k
    yych = *YYCURSOR;
6077
2.22k
    YYDEBUG(461, *YYCURSOR);
6078
2.22k
    if (yych <= 0x1F) {
6079
772
      if (yych == '\t') goto yy460;
6080
395
      goto yy86;
6081
1.45k
    } else {
6082
1.45k
      if (yych <= ' ') goto yy460;
6083
1.21k
      if (yych == ')') goto yy567;
6084
361
      goto yy86;
6085
1.21k
    }
6086
7.48k
yy462:
6087
7.48k
    YYDEBUG(462, *YYCURSOR);
6088
7.48k
    ++YYCURSOR;
6089
7.48k
    YYFILL(3);
6090
7.48k
    yych = *YYCURSOR;
6091
10.2k
yy463:
6092
10.2k
    YYDEBUG(463, *YYCURSOR);
6093
10.2k
    if (yych <= 'Z') {
6094
3.91k
      if (yych <= '/') {
6095
1.67k
        if (yych == '"') goto yy569;
6096
1.26k
        goto yy86;
6097
2.24k
      } else {
6098
2.24k
        if (yych <= '9') goto yy462;
6099
1.12k
        if (yych <= '@') goto yy86;
6100
743
        goto yy462;
6101
1.12k
      }
6102
6.32k
    } else {
6103
6.32k
      if (yych <= '`') {
6104
726
        if (yych == '_') goto yy462;
6105
393
        goto yy86;
6106
5.59k
      } else {
6107
5.59k
        if (yych <= 'z') goto yy462;
6108
1.27k
        if (yych <= 0x7F) goto yy86;
6109
976
        goto yy462;
6110
1.27k
      }
6111
6.32k
    }
6112
25.0k
yy464:
6113
25.0k
    YYDEBUG(464, *YYCURSOR);
6114
25.0k
    ++YYCURSOR;
6115
25.0k
    YYFILL(3);
6116
25.0k
    yych = *YYCURSOR;
6117
34.3k
yy465:
6118
34.3k
    YYDEBUG(465, *YYCURSOR);
6119
34.3k
    if (yych <= 'Z') {
6120
12.6k
      if (yych <= '/') {
6121
8.51k
        if (yych == '\'') goto yy569;
6122
791
        goto yy86;
6123
8.51k
      } else {
6124
4.10k
        if (yych <= '9') goto yy464;
6125
3.64k
        if (yych <= '@') goto yy86;
6126
3.33k
        goto yy464;
6127
3.64k
      }
6128
21.7k
    } else {
6129
21.7k
      if (yych <= '`') {
6130
530
        if (yych == '_') goto yy464;
6131
219
        goto yy86;
6132
21.2k
      } else {
6133
21.2k
        if (yych <= 'z') goto yy464;
6134
6.71k
        if (yych <= 0x7F) goto yy86;
6135
6.44k
        goto yy464;
6136
6.71k
      }
6137
21.7k
    }
6138
2.95M
yy466:
6139
2.95M
    YYDEBUG(466, *YYCURSOR);
6140
2.95M
    ++YYCURSOR;
6141
2.97M
yy467:
6142
2.97M
    YYDEBUG(467, *YYCURSOR);
6143
2.97M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
2.97M
#line 2678 "Zend/zend_language_scanner.l"
6145
2.97M
    {
6146
2.97M
  char *s;
6147
2.97M
  unsigned char *saved_cursor;
6148
2.97M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
2.97M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
2.97M
  bool is_heredoc = 1;
6151
6152
2.97M
  CG(zend_lineno)++;
6153
2.97M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
2.97M
  s = yytext+bprefix+3;
6155
2.97M
  while ((*s == ' ') || (*s == '\t')) {
6156
2.10k
    s++;
6157
2.10k
    heredoc_label->length--;
6158
2.10k
  }
6159
6160
2.97M
  if (*s == '\'') {
6161
6.82k
    s++;
6162
6.82k
    heredoc_label->length -= 2;
6163
6.82k
    is_heredoc = 0;
6164
6165
6.82k
    BEGIN(ST_NOWDOC);
6166
2.96M
  } else {
6167
2.96M
    if (*s == '"') {
6168
331
      s++;
6169
331
      heredoc_label->length -= 2;
6170
331
    }
6171
6172
2.96M
    BEGIN(ST_HEREDOC);
6173
2.96M
  }
6174
6175
2.97M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
2.97M
  heredoc_label->indentation_uses_spaces = 0;
6177
2.97M
  heredoc_label->indentation = 0;
6178
2.97M
  saved_cursor = YYCURSOR;
6179
6180
2.97M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
3.04M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
74.3k
    if (*YYCURSOR == '\t') {
6184
35.2k
      spacing |= HEREDOC_USING_TABS;
6185
39.0k
    } else {
6186
39.0k
      spacing |= HEREDOC_USING_SPACES;
6187
39.0k
    }
6188
74.3k
    ++YYCURSOR;
6189
74.3k
    ++indentation;
6190
74.3k
  }
6191
6192
2.97M
  if (YYCURSOR == YYLIMIT) {
6193
718
    YYCURSOR = saved_cursor;
6194
718
    RETURN_TOKEN(T_START_HEREDOC);
6195
718
  }
6196
6197
  /* Check for ending label on the next line */
6198
2.97M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
6.21k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
2.85k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
82
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
82
        if (PARSER_MODE()) {
6203
8
          RETURN_TOKEN(T_ERROR);
6204
8
        }
6205
82
      }
6206
6207
2.85k
      YYCURSOR = saved_cursor;
6208
2.85k
      heredoc_label->indentation = indentation;
6209
6210
2.85k
      BEGIN(ST_END_HEREDOC);
6211
2.85k
      RETURN_TOKEN(T_START_HEREDOC);
6212
2.85k
    }
6213
6.21k
  }
6214
6215
2.97M
  YYCURSOR = saved_cursor;
6216
6217
2.97M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
142k
    zend_lex_state current_state;
6219
142k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
142k
    int heredoc_nesting_level = 1;
6221
142k
    int first_token = 0;
6222
142k
    int error = 0;
6223
6224
142k
    zend_save_lexical_state(&current_state);
6225
6226
142k
    SCNG(heredoc_scan_ahead) = 1;
6227
142k
    SCNG(heredoc_indentation) = 0;
6228
142k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
142k
    SCNG(on_event_context) = NULL;
6230
142k
    LANG_SCNG(on_event) = NULL;
6231
142k
    CG(doc_comment) = NULL;
6232
6233
142k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
142k
    zend_exception_save();
6236
19.6M
    while (heredoc_nesting_level) {
6237
19.6M
      zval zv;
6238
19.6M
      int retval;
6239
6240
19.6M
      ZVAL_UNDEF(&zv);
6241
19.6M
      retval = lex_scan(&zv, NULL);
6242
19.6M
      zval_ptr_dtor_nogc(&zv);
6243
6244
19.6M
      if (EG(exception)) {
6245
138k
        zend_clear_exception();
6246
138k
        break;
6247
138k
      }
6248
6249
19.4M
      if (!first_token) {
6250
142k
        first_token = retval;
6251
142k
      }
6252
6253
19.4M
      switch (retval) {
6254
2.83M
        case T_START_HEREDOC:
6255
2.83M
          ++heredoc_nesting_level;
6256
2.83M
          break;
6257
12.9k
        case T_END_HEREDOC:
6258
12.9k
          --heredoc_nesting_level;
6259
12.9k
          break;
6260
1.57k
        case END:
6261
1.57k
          heredoc_nesting_level = 0;
6262
19.4M
      }
6263
19.4M
    }
6264
142k
    zend_exception_restore();
6265
6266
142k
    if (
6267
142k
        (first_token == T_VARIABLE
6268
137k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6269
32.1k
         || first_token == T_CURLY_OPEN
6270
142k
        ) && SCNG(heredoc_indentation)) {
6271
7
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6272
7
      error = 1;
6273
7
    }
6274
6275
142k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6276
142k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6277
6278
142k
    zend_restore_lexical_state(&current_state);
6279
142k
    SCNG(heredoc_scan_ahead) = 0;
6280
142k
    CG(increment_lineno) = 0;
6281
142k
    CG(doc_comment) = saved_doc_comment;
6282
6283
142k
    if (PARSER_MODE() && error) {
6284
7
      RETURN_TOKEN(T_ERROR);
6285
7
    }
6286
142k
  }
6287
6288
2.97M
  RETURN_TOKEN(T_START_HEREDOC);
6289
2.97M
}
6290
0
#line 6291 "Zend/zend_language_scanner.c"
6291
23.6k
yy468:
6292
23.6k
    YYDEBUG(468, *YYCURSOR);
6293
23.6k
    yych = *++YYCURSOR;
6294
23.6k
    if (yych == '\n') goto yy466;
6295
23.0k
    goto yy467;
6296
23.0k
yy469:
6297
4.26k
    YYDEBUG(469, *YYCURSOR);
6298
4.26k
    yyaccept = 4;
6299
4.26k
    yych = *(YYMARKER = ++YYCURSOR);
6300
4.26k
    if (yych == 'A') goto yy570;
6301
3.61k
    if (yych == 'a') goto yy570;
6302
404
    goto yy48;
6303
13.9k
yy470:
6304
13.9k
    YYDEBUG(470, *YYCURSOR);
6305
13.9k
    yyaccept = 34;
6306
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
6307
13.9k
    if (yybm[256+yych] & 128) {
6308
4.38k
      goto yy47;
6309
4.38k
    }
6310
9.59k
    if (yych == '\\') goto yy164;
6311
9.51k
yy471:
6312
9.51k
    YYDEBUG(471, *YYCURSOR);
6313
9.51k
    yyleng = YYCURSOR - SCNG(yy_text);
6314
9.51k
#line 1818 "Zend/zend_language_scanner.l"
6315
9.51k
    {
6316
9.51k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6317
9.51k
}
6318
0
#line 6319 "Zend/zend_language_scanner.c"
6319
2.81k
yy472:
6320
2.81k
    YYDEBUG(472, *YYCURSOR);
6321
2.81k
    yyaccept = 35;
6322
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
6323
2.81k
    if (yybm[256+yych] & 128) {
6324
633
      goto yy47;
6325
633
    }
6326
2.17k
    if (yych == '\\') goto yy164;
6327
2.17k
yy473:
6328
2.17k
    YYDEBUG(473, *YYCURSOR);
6329
2.17k
    yyleng = YYCURSOR - SCNG(yy_text);
6330
2.17k
#line 1534 "Zend/zend_language_scanner.l"
6331
2.17k
    {
6332
2.17k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6333
2.17k
}
6334
0
#line 6335 "Zend/zend_language_scanner.c"
6335
4.10k
yy474:
6336
4.10k
    YYDEBUG(474, *YYCURSOR);
6337
4.10k
    yyaccept = 4;
6338
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
6339
4.10k
    if (yych == 'B') goto yy571;
6340
3.18k
    if (yych == 'b') goto yy571;
6341
415
    goto yy48;
6342
24.1k
yy475:
6343
24.1k
    YYDEBUG(475, *YYCURSOR);
6344
24.1k
    yyaccept = 36;
6345
24.1k
    yych = *(YYMARKER = ++YYCURSOR);
6346
24.1k
    if (yybm[256+yych] & 128) {
6347
746
      goto yy47;
6348
746
    }
6349
23.4k
    if (yych == '\\') goto yy164;
6350
22.9k
yy476:
6351
22.9k
    YYDEBUG(476, *YYCURSOR);
6352
22.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6353
22.9k
#line 1442 "Zend/zend_language_scanner.l"
6354
22.9k
    {
6355
22.9k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6356
22.9k
}
6357
0
#line 6358 "Zend/zend_language_scanner.c"
6358
40.0k
yy477:
6359
40.0k
    YYDEBUG(477, *YYCURSOR);
6360
40.0k
    yyaccept = 37;
6361
40.0k
    yych = *(YYMARKER = ++YYCURSOR);
6362
40.0k
    if (yybm[256+yych] & 128) {
6363
2.60k
      goto yy47;
6364
2.60k
    }
6365
37.4k
    if (yych == '\\') goto yy164;
6366
37.4k
yy478:
6367
37.4k
    YYDEBUG(478, *YYCURSOR);
6368
37.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6369
37.4k
#line 1554 "Zend/zend_language_scanner.l"
6370
37.4k
    {
6371
37.4k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6372
37.4k
}
6373
0
#line 6374 "Zend/zend_language_scanner.c"
6374
2.97k
yy479:
6375
2.97k
    YYDEBUG(479, *YYCURSOR);
6376
2.97k
    yyaccept = 38;
6377
2.97k
    yych = *(YYMARKER = ++YYCURSOR);
6378
2.97k
    if (yybm[256+yych] & 128) {
6379
501
      goto yy47;
6380
501
    }
6381
2.47k
    if (yych == '\\') goto yy164;
6382
2.47k
yy480:
6383
2.47k
    YYDEBUG(480, *YYCURSOR);
6384
2.47k
    yyleng = YYCURSOR - SCNG(yy_text);
6385
2.47k
#line 1630 "Zend/zend_language_scanner.l"
6386
2.47k
    {
6387
2.47k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6388
2.47k
}
6389
0
#line 6390 "Zend/zend_language_scanner.c"
6390
31.6k
yy481:
6391
31.6k
    YYDEBUG(481, *YYCURSOR);
6392
31.6k
    yyaccept = 39;
6393
31.6k
    yych = *(YYMARKER = ++YYCURSOR);
6394
31.6k
    if (yybm[256+yych] & 128) {
6395
2.16k
      goto yy47;
6396
2.16k
    }
6397
29.4k
    if (yych == '\\') goto yy164;
6398
29.4k
yy482:
6399
29.4k
    YYDEBUG(482, *YYCURSOR);
6400
29.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6401
29.4k
#line 1415 "Zend/zend_language_scanner.l"
6402
29.4k
    {
6403
29.4k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6404
29.4k
}
6405
0
#line 6406 "Zend/zend_language_scanner.c"
6406
4.06k
yy483:
6407
4.06k
    YYDEBUG(483, *YYCURSOR);
6408
4.06k
    yyaccept = 4;
6409
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
6410
4.06k
    if (yych == 'N') goto yy572;
6411
3.08k
    if (yych == 'n') goto yy572;
6412
533
    goto yy48;
6413
7.90k
yy484:
6414
7.90k
    YYDEBUG(484, *YYCURSOR);
6415
7.90k
    yyaccept = 4;
6416
7.90k
    yych = *(YYMARKER = ++YYCURSOR);
6417
7.90k
    if (yych == 'R') goto yy573;
6418
7.63k
    if (yych == 'r') goto yy573;
6419
1.67k
    goto yy48;
6420
2.89k
yy485:
6421
2.89k
    YYDEBUG(485, *YYCURSOR);
6422
2.89k
    yyaccept = 4;
6423
2.89k
    yych = *(YYMARKER = ++YYCURSOR);
6424
2.89k
    if (yych == 'L') goto yy574;
6425
2.52k
    if (yych == 'l') goto yy574;
6426
420
    goto yy48;
6427
4.56k
yy486:
6428
4.56k
    YYDEBUG(486, *YYCURSOR);
6429
4.56k
    yyaccept = 4;
6430
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
6431
4.56k
    if (yych == 'F') goto yy575;
6432
4.20k
    if (yych == 'f') goto yy575;
6433
1.25k
    goto yy48;
6434
3.45k
yy487:
6435
3.45k
    YYDEBUG(487, *YYCURSOR);
6436
3.45k
    yyaccept = 40;
6437
3.45k
    yych = *(YYMARKER = ++YYCURSOR);
6438
3.45k
    if (yybm[256+yych] & 128) {
6439
613
      goto yy47;
6440
613
    }
6441
2.83k
    if (yych == '\\') goto yy164;
6442
2.83k
yy488:
6443
2.83k
    YYDEBUG(488, *YYCURSOR);
6444
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
6445
2.83k
#line 1758 "Zend/zend_language_scanner.l"
6446
2.83k
    {
6447
2.83k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6448
2.83k
}
6449
0
#line 6450 "Zend/zend_language_scanner.c"
6450
5.16k
yy489:
6451
5.16k
    YYDEBUG(489, *YYCURSOR);
6452
5.16k
    yyaccept = 4;
6453
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
6454
5.16k
    if (yych == 'C') goto yy577;
6455
3.20k
    if (yych == 'c') goto yy577;
6456
736
    goto yy48;
6457
12.0k
yy490:
6458
12.0k
    YYDEBUG(490, *YYCURSOR);
6459
12.0k
    yyaccept = 4;
6460
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
6461
12.0k
    if (yych == 'R') goto yy578;
6462
8.50k
    if (yych == 'r') goto yy578;
6463
561
    goto yy48;
6464
6.37k
yy491:
6465
6.37k
    YYDEBUG(491, *YYCURSOR);
6466
6.37k
    yyaccept = 41;
6467
6.37k
    yych = *(YYMARKER = ++YYCURSOR);
6468
6.37k
    if (yybm[256+yych] & 128) {
6469
384
      goto yy47;
6470
384
    }
6471
5.99k
    if (yych == '\\') goto yy164;
6472
5.99k
yy492:
6473
5.99k
    YYDEBUG(492, *YYCURSOR);
6474
5.99k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
5.99k
#line 1462 "Zend/zend_language_scanner.l"
6476
5.99k
    {
6477
5.99k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6478
5.99k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
4.16k
yy493:
6481
4.16k
    YYDEBUG(493, *YYCURSOR);
6482
4.16k
    yyaccept = 4;
6483
4.16k
    yych = *(YYMARKER = ++YYCURSOR);
6484
4.16k
    if (yych == 'I') goto yy580;
6485
3.08k
    if (yych == 'i') goto yy580;
6486
325
    goto yy48;
6487
7.24k
yy494:
6488
7.24k
    YYDEBUG(494, *YYCURSOR);
6489
7.24k
    yyaccept = 4;
6490
7.24k
    yych = *(YYMARKER = ++YYCURSOR);
6491
7.24k
    if (yych == 'I') goto yy581;
6492
5.78k
    if (yych == 'i') goto yy581;
6493
658
    goto yy48;
6494
586k
yy495:
6495
586k
    YYDEBUG(495, *YYCURSOR);
6496
586k
    ++YYCURSOR;
6497
586k
    YYFILL(10);
6498
586k
    yych = *YYCURSOR;
6499
586k
    YYDEBUG(496, *YYCURSOR);
6500
586k
    if (yych <= 'E') {
6501
557k
      if (yych <= ' ') {
6502
45.4k
        if (yych <= '\f') {
6503
14.3k
          if (yych <= 0x08) goto yy86;
6504
11.6k
          if (yych <= '\n') goto yy495;
6505
1.16k
          goto yy86;
6506
31.0k
        } else {
6507
31.0k
          if (yych <= '\r') goto yy495;
6508
10.3k
          if (yych <= 0x1F) goto yy86;
6509
10.0k
          goto yy495;
6510
10.3k
        }
6511
511k
      } else {
6512
511k
        if (yych <= '.') {
6513
500k
          if (yych != '#') goto yy86;
6514
500k
        } else {
6515
11.2k
          if (yych <= '/') goto yy498;
6516
4.81k
          if (yych <= '@') goto yy86;
6517
1.67k
          if (yych <= 'D') goto yy582;
6518
493
          goto yy584;
6519
1.67k
        }
6520
511k
      }
6521
557k
    } else {
6522
29.7k
      if (yych <= '`') {
6523
4.29k
        if (yych <= 'Z') {
6524
2.77k
          if (yych == 'I') goto yy585;
6525
789
          goto yy582;
6526
2.77k
        } else {
6527
1.51k
          if (yych == '_') goto yy582;
6528
270
          goto yy86;
6529
1.51k
        }
6530
25.4k
      } else {
6531
25.4k
        if (yych <= 'h') {
6532
10.9k
          if (yych == 'e') goto yy584;
6533
3.45k
          goto yy582;
6534
14.4k
        } else {
6535
14.4k
          if (yych <= 'i') goto yy585;
6536
11.8k
          if (yych <= 'z') goto yy582;
6537
5.54k
          if (yych <= 0x7F) goto yy86;
6538
4.86k
          goto yy582;
6539
5.54k
        }
6540
25.4k
      }
6541
29.7k
    }
6542
500k
yy497:
6543
500k
    YYDEBUG(497, *YYCURSOR);
6544
500k
    ++YYCURSOR;
6545
500k
    YYFILL(1);
6546
500k
    yych = *YYCURSOR;
6547
500k
    if (yych <= '\f') {
6548
379k
      if (yych <= 0x00) goto yy86;
6549
379k
      if (yych == '\n') goto yy588;
6550
5.77k
      goto yy586;
6551
379k
    } else {
6552
121k
      if (yych <= '\r') goto yy588;
6553
39.6k
      if (yych == '[') goto yy86;
6554
39.1k
      goto yy586;
6555
39.6k
    }
6556
6.89k
yy498:
6557
6.89k
    YYDEBUG(498, *YYCURSOR);
6558
6.89k
    ++YYCURSOR;
6559
6.89k
    YYFILL(1);
6560
6.89k
    yych = *YYCURSOR;
6561
6.89k
    if (yych == '*') goto yy590;
6562
2.39k
    if (yych == '/') goto yy586;
6563
1.52k
    goto yy86;
6564
16.8k
yy499:
6565
16.8k
    YYDEBUG(499, *YYCURSOR);
6566
16.8k
    yyaccept = 4;
6567
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
6568
16.8k
    if (yych == 'D') goto yy592;
6569
16.2k
    if (yych == 'd') goto yy592;
6570
4.26k
    goto yy48;
6571
11.3k
yy500:
6572
11.3k
    YYDEBUG(500, *YYCURSOR);
6573
11.3k
    yyaccept = 42;
6574
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
6575
11.3k
    if (yych <= '\\') {
6576
5.69k
      if (yych <= 'K') {
6577
4.32k
        if (yych <= '/') goto yy501;
6578
1.87k
        if (yych <= '9') goto yy47;
6579
1.11k
        if (yych >= 'A') goto yy47;
6580
1.36k
      } else {
6581
1.36k
        if (yych <= 'L') goto yy593;
6582
982
        if (yych <= 'Z') goto yy47;
6583
727
        if (yych >= '\\') goto yy164;
6584
727
      }
6585
5.69k
    } else {
6586
5.69k
      if (yych <= 'k') {
6587
625
        if (yych == '_') goto yy47;
6588
422
        if (yych >= 'a') goto yy47;
6589
5.06k
      } else {
6590
5.06k
        if (yych <= 'l') goto yy593;
6591
1.24k
        if (yych <= 'z') goto yy47;
6592
577
        if (yych >= 0x80) goto yy47;
6593
577
      }
6594
5.69k
    }
6595
4.42k
yy501:
6596
4.42k
    YYDEBUG(501, *YYCURSOR);
6597
4.42k
    yyleng = YYCURSOR - SCNG(yy_text);
6598
4.42k
#line 1774 "Zend/zend_language_scanner.l"
6599
4.42k
    {
6600
4.42k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6601
4.42k
}
6602
0
#line 6603 "Zend/zend_language_scanner.c"
6603
13.6k
yy502:
6604
13.6k
    YYDEBUG(502, *YYCURSOR);
6605
13.6k
    yyaccept = 4;
6606
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
6607
13.6k
    if (yych == 'C') goto yy594;
6608
13.2k
    if (yych == 'c') goto yy594;
6609
1.09k
    goto yy48;
6610
57.3k
yy503:
6611
57.3k
    YYDEBUG(503, *YYCURSOR);
6612
57.3k
    yyaccept = 4;
6613
57.3k
    yych = *(YYMARKER = ++YYCURSOR);
6614
57.3k
    if (yych == 'I') goto yy595;
6615
56.3k
    if (yych == 'i') goto yy595;
6616
839
    goto yy48;
6617
4.81k
yy504:
6618
4.81k
    YYDEBUG(504, *YYCURSOR);
6619
4.81k
    yyaccept = 4;
6620
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
6621
4.81k
    if (yych == 'L') goto yy596;
6622
2.27k
    if (yych == 'l') goto yy596;
6623
250
    goto yy48;
6624
21.3k
yy505:
6625
21.3k
    YYDEBUG(505, *YYCURSOR);
6626
21.3k
    yyaccept = 4;
6627
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
6628
21.3k
    if (yych == 'M') goto yy598;
6629
15.3k
    if (yych == 'm') goto yy598;
6630
8.33k
    goto yy48;
6631
10.0k
yy506:
6632
10.0k
    YYDEBUG(506, *YYCURSOR);
6633
10.0k
    yyaccept = 4;
6634
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
6635
10.0k
    if (yych == 'D') goto yy599;
6636
8.02k
    if (yych == 'd') goto yy599;
6637
817
    goto yy48;
6638
6.30k
yy507:
6639
6.30k
    YYDEBUG(507, *YYCURSOR);
6640
6.30k
    yyaccept = 4;
6641
6.30k
    yych = *(YYMARKER = ++YYCURSOR);
6642
6.30k
    if (yych == 'N') goto yy600;
6643
4.74k
    if (yych == 'n') goto yy600;
6644
341
    goto yy48;
6645
4.87k
yy508:
6646
4.87k
    YYDEBUG(508, *YYCURSOR);
6647
4.87k
    yyaccept = 4;
6648
4.87k
    yych = *(YYMARKER = ++YYCURSOR);
6649
4.87k
    if (yych == 'A') goto yy601;
6650
3.46k
    if (yych == 'a') goto yy601;
6651
252
    goto yy48;
6652
7.03k
yy509:
6653
7.03k
    YYDEBUG(509, *YYCURSOR);
6654
7.03k
    yyaccept = 4;
6655
7.03k
    yych = *(YYMARKER = ++YYCURSOR);
6656
7.03k
    if (yych == 'F') goto yy602;
6657
6.59k
    if (yych == 'f') goto yy602;
6658
1.58k
    goto yy48;
6659
4.11k
yy510:
6660
4.11k
    YYDEBUG(510, *YYCURSOR);
6661
4.11k
    yyaccept = 43;
6662
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
6663
4.11k
    if (yybm[256+yych] & 128) {
6664
703
      goto yy47;
6665
703
    }
6666
3.40k
    if (yych == '\\') goto yy164;
6667
3.34k
yy511:
6668
3.34k
    YYDEBUG(511, *YYCURSOR);
6669
3.34k
    yyleng = YYCURSOR - SCNG(yy_text);
6670
3.34k
#line 1754 "Zend/zend_language_scanner.l"
6671
3.34k
    {
6672
3.34k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6673
3.34k
}
6674
0
#line 6675 "Zend/zend_language_scanner.c"
6675
3.64k
yy512:
6676
3.64k
    YYDEBUG(512, *YYCURSOR);
6677
3.64k
    yyaccept = 44;
6678
3.64k
    yych = *(YYMARKER = ++YYCURSOR);
6679
3.64k
    if (yybm[256+yych] & 128) {
6680
487
      goto yy47;
6681
487
    }
6682
3.15k
    if (yych == '\\') goto yy164;
6683
3.14k
yy513:
6684
3.14k
    YYDEBUG(513, *YYCURSOR);
6685
3.14k
    yyleng = YYCURSOR - SCNG(yy_text);
6686
3.14k
#line 1518 "Zend/zend_language_scanner.l"
6687
3.14k
    {
6688
3.14k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6689
3.14k
}
6690
0
#line 6691 "Zend/zend_language_scanner.c"
6691
17.2k
yy514:
6692
17.2k
    YYDEBUG(514, *YYCURSOR);
6693
17.2k
    yyaccept = 4;
6694
17.2k
    yych = *(YYMARKER = ++YYCURSOR);
6695
17.2k
    if (yych == 'P') goto yy603;
6696
14.1k
    if (yych == 'p') goto yy603;
6697
546
    goto yy48;
6698
6.98k
yy515:
6699
6.98k
    YYDEBUG(515, *YYCURSOR);
6700
6.98k
    yyaccept = 45;
6701
6.98k
    yych = *(YYMARKER = ++YYCURSOR);
6702
6.98k
    if (yybm[256+yych] & 128) {
6703
3.71k
      goto yy47;
6704
3.71k
    }
6705
3.27k
    if (yych == '\\') goto yy164;
6706
3.24k
yy516:
6707
3.24k
    YYDEBUG(516, *YYCURSOR);
6708
3.24k
    yyleng = YYCURSOR - SCNG(yy_text);
6709
3.24k
#line 1550 "Zend/zend_language_scanner.l"
6710
3.24k
    {
6711
3.24k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6712
3.24k
}
6713
0
#line 6714 "Zend/zend_language_scanner.c"
6714
8.47k
yy517:
6715
8.47k
    YYDEBUG(517, *YYCURSOR);
6716
8.47k
    yyaccept = 4;
6717
8.47k
    yych = *(YYMARKER = ++YYCURSOR);
6718
8.47k
    if (yych == 'T') goto yy604;
6719
7.40k
    if (yych == 't') goto yy604;
6720
465
    goto yy48;
6721
9.45k
yy518:
6722
9.45k
    YYDEBUG(518, *YYCURSOR);
6723
9.45k
    yyaccept = 4;
6724
9.45k
    yych = *(YYMARKER = ++YYCURSOR);
6725
9.45k
    if (yych == 'C') goto yy605;
6726
8.19k
    if (yych == 'c') goto yy605;
6727
643
    goto yy48;
6728
36.0k
yy519:
6729
36.0k
    YYDEBUG(519, *YYCURSOR);
6730
36.0k
    yyaccept = 4;
6731
36.0k
    yych = *(YYMARKER = ++YYCURSOR);
6732
36.0k
    if (yych == 'C') goto yy606;
6733
34.0k
    if (yych == 'c') goto yy606;
6734
890
    goto yy48;
6735
4.04k
yy520:
6736
4.04k
    YYDEBUG(520, *YYCURSOR);
6737
4.04k
    yyaccept = 4;
6738
4.04k
    yych = *(YYMARKER = ++YYCURSOR);
6739
4.04k
    if (yych == 'N') goto yy608;
6740
3.83k
    if (yych == 'n') goto yy608;
6741
412
    goto yy48;
6742
17.7k
yy521:
6743
17.7k
    YYDEBUG(521, *YYCURSOR);
6744
17.7k
    yyaccept = 4;
6745
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
6746
17.7k
    if (yych == 'R') goto yy609;
6747
16.6k
    if (yych == 'r') goto yy609;
6748
1.05k
    goto yy48;
6749
10.9k
yy522:
6750
10.9k
    YYDEBUG(522, *YYCURSOR);
6751
10.9k
    yyaccept = 4;
6752
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
6753
10.9k
    if (yych == 'N') goto yy610;
6754
10.3k
    if (yych == 'n') goto yy610;
6755
576
    goto yy48;
6756
11.7k
yy523:
6757
11.7k
    YYDEBUG(523, *YYCURSOR);
6758
11.7k
    yyaccept = 4;
6759
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
6760
11.7k
    if (yych == 'C') goto yy612;
6761
11.4k
    if (yych == 'c') goto yy612;
6762
806
    goto yy48;
6763
7.05k
yy524:
6764
7.05k
    YYDEBUG(524, *YYCURSOR);
6765
7.05k
    yyaccept = 4;
6766
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
6767
7.05k
    if (yych == 'H') goto yy614;
6768
6.66k
    if (yych == 'h') goto yy614;
6769
2.27k
    goto yy48;
6770
4.94k
yy525:
6771
4.94k
    YYDEBUG(525, *YYCURSOR);
6772
4.94k
    yyaccept = 46;
6773
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
6774
4.94k
    if (yybm[256+yych] & 128) {
6775
2.29k
      goto yy47;
6776
2.29k
    }
6777
2.64k
    if (yych == '\\') goto yy164;
6778
2.57k
yy526:
6779
2.57k
    YYDEBUG(526, *YYCURSOR);
6780
2.57k
    yyleng = YYCURSOR - SCNG(yy_text);
6781
2.57k
#line 1450 "Zend/zend_language_scanner.l"
6782
2.57k
    {
6783
2.57k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6784
2.57k
}
6785
0
#line 6786 "Zend/zend_language_scanner.c"
6786
3.33k
yy527:
6787
3.33k
    YYDEBUG(527, *YYCURSOR);
6788
3.33k
    yyaccept = 47;
6789
3.33k
    yych = *(YYMARKER = ++YYCURSOR);
6790
3.33k
    if (yybm[256+yych] & 128) {
6791
575
      goto yy47;
6792
575
    }
6793
2.75k
    if (yych == '\\') goto yy164;
6794
2.75k
yy528:
6795
2.75k
    YYDEBUG(528, *YYCURSOR);
6796
2.75k
    yyleng = YYCURSOR - SCNG(yy_text);
6797
2.75k
#line 1562 "Zend/zend_language_scanner.l"
6798
2.75k
    {
6799
2.75k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6800
2.75k
}
6801
0
#line 6802 "Zend/zend_language_scanner.c"
6802
5.20k
yy529:
6803
5.20k
    YYDEBUG(529, *YYCURSOR);
6804
5.20k
    yyaccept = 48;
6805
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
6806
5.20k
    if (yybm[256+yych] & 128) {
6807
646
      goto yy47;
6808
646
    }
6809
4.55k
    if (yych == '\\') goto yy164;
6810
4.31k
yy530:
6811
4.31k
    YYDEBUG(530, *YYCURSOR);
6812
4.31k
    yyleng = YYCURSOR - SCNG(yy_text);
6813
4.31k
#line 1806 "Zend/zend_language_scanner.l"
6814
4.31k
    {
6815
4.31k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6816
4.31k
}
6817
0
#line 6818 "Zend/zend_language_scanner.c"
6818
2.90k
yy531:
6819
2.90k
    YYDEBUG(531, *YYCURSOR);
6820
2.90k
    yyaccept = 49;
6821
2.90k
    yych = *(YYMARKER = ++YYCURSOR);
6822
2.90k
    if (yybm[256+yych] & 128) {
6823
601
      goto yy47;
6824
601
    }
6825
2.30k
    if (yych == '\\') goto yy164;
6826
2.29k
yy532:
6827
2.29k
    YYDEBUG(532, *YYCURSOR);
6828
2.29k
    yyleng = YYCURSOR - SCNG(yy_text);
6829
2.29k
#line 1470 "Zend/zend_language_scanner.l"
6830
2.29k
    {
6831
2.29k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6832
2.29k
}
6833
0
#line 6834 "Zend/zend_language_scanner.c"
6834
70.6k
yy533:
6835
70.6k
    YYDEBUG(533, *YYCURSOR);
6836
70.6k
    yyaccept = 50;
6837
70.6k
    yych = *(YYMARKER = ++YYCURSOR);
6838
70.6k
    if (yybm[256+yych] & 128) {
6839
1.28k
      goto yy47;
6840
1.28k
    }
6841
69.4k
    if (yych <= ' ') {
6842
35.1k
      if (yych <= '\f') {
6843
25.7k
        if (yych <= 0x08) goto yy534;
6844
24.8k
        if (yych <= '\n') goto yy616;
6845
24.8k
      } else {
6846
9.35k
        if (yych <= '\r') goto yy616;
6847
8.44k
        if (yych >= ' ') goto yy616;
6848
8.44k
      }
6849
35.1k
    } else {
6850
34.2k
      if (yych <= '.') {
6851
33.0k
        if (yych == '#') goto yy618;
6852
33.0k
      } else {
6853
1.26k
        if (yych <= '/') goto yy619;
6854
939
        if (yych == '\\') goto yy164;
6855
939
      }
6856
34.2k
    }
6857
51.3k
yy534:
6858
51.3k
    YYDEBUG(534, *YYCURSOR);
6859
51.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
51.3k
#line 1434 "Zend/zend_language_scanner.l"
6861
51.3k
    {
6862
51.3k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6863
51.3k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
5.11k
yy535:
6866
5.11k
    YYDEBUG(535, *YYCURSOR);
6867
5.11k
    yyaccept = 4;
6868
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
6869
5.11k
    if (yych == 'S') goto yy620;
6870
3.96k
    if (yych == 's') goto yy620;
6871
305
    goto yy48;
6872
5.62k
yy536:
6873
5.62k
    YYDEBUG(536, *YYCURSOR);
6874
5.62k
    yyaccept = 4;
6875
5.62k
    yych = *(YYMARKER = ++YYCURSOR);
6876
5.62k
    if (yych == '_') goto yy621;
6877
514
    goto yy48;
6878
5.24k
yy537:
6879
5.24k
    YYDEBUG(537, *YYCURSOR);
6880
5.24k
    yyaccept = 4;
6881
5.24k
    yych = *(YYMARKER = ++YYCURSOR);
6882
5.24k
    if (yych == 'E') goto yy622;
6883
2.25k
    if (yych == 'e') goto yy622;
6884
395
    goto yy48;
6885
7.02k
yy538:
6886
7.02k
    YYDEBUG(538, *YYCURSOR);
6887
7.02k
    yyaccept = 4;
6888
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
6889
7.02k
    if (yych == 'C') goto yy623;
6890
4.55k
    if (yych == 'c') goto yy623;
6891
557
    goto yy48;
6892
4.07k
yy539:
6893
4.07k
    YYDEBUG(539, *YYCURSOR);
6894
4.07k
    yyaccept = 4;
6895
4.07k
    yych = *(YYMARKER = ++YYCURSOR);
6896
4.07k
    if (yych == 'T') goto yy624;
6897
3.33k
    if (yych == 't') goto yy624;
6898
368
    goto yy48;
6899
4.28k
yy540:
6900
4.28k
    YYDEBUG(540, *YYCURSOR);
6901
4.28k
    yyaccept = 4;
6902
4.28k
    yych = *(YYMARKER = ++YYCURSOR);
6903
4.28k
    if (yych == 'E') goto yy625;
6904
1.81k
    if (yych == 'e') goto yy625;
6905
669
    goto yy48;
6906
8.73k
yy541:
6907
8.73k
    YYDEBUG(541, *YYCURSOR);
6908
8.73k
    yyaccept = 4;
6909
8.73k
    yych = *(YYMARKER = ++YYCURSOR);
6910
8.73k
    if (yych == 'H') goto yy626;
6911
4.30k
    if (yych == 'h') goto yy626;
6912
786
    goto yy48;
6913
7.10k
yy542:
6914
7.10k
    YYDEBUG(542, *YYCURSOR);
6915
7.10k
    yyaccept = 4;
6916
7.10k
    yych = *(YYMARKER = ++YYCURSOR);
6917
7.10k
    if (yych == 'E') goto yy627;
6918
4.88k
    if (yych == 'e') goto yy627;
6919
1.39k
    goto yy48;
6920
4.85k
yy543:
6921
4.85k
    YYDEBUG(543, *YYCURSOR);
6922
4.85k
    yyaccept = 4;
6923
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
6924
4.85k
    if (yych == 'P') goto yy628;
6925
1.27k
    if (yych == 'p') goto yy628;
6926
474
    goto yy48;
6927
4.71k
yy544:
6928
4.71k
    YYDEBUG(544, *YYCURSOR);
6929
4.71k
    yyaccept = 4;
6930
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
6931
4.71k
    if (yych == 'I') goto yy629;
6932
4.15k
    if (yych == 'i') goto yy629;
6933
305
    goto yy48;
6934
57.6k
yy545:
6935
57.6k
    YYDEBUG(545, *YYCURSOR);
6936
57.6k
    ++YYCURSOR;
6937
57.6k
    YYFILL(1);
6938
57.6k
    yych = *YYCURSOR;
6939
57.6k
    YYDEBUG(546, *YYCURSOR);
6940
57.6k
    if (yybm[0+yych] & 64) {
6941
311
      goto yy355;
6942
311
    }
6943
57.3k
    if (yych <= ' ') {
6944
7.88k
      if (yych <= '\n') {
6945
5.37k
        if (yych <= 0x00) goto yy86;
6946
4.12k
        if (yych <= 0x08) goto yy230;
6947
3.40k
        goto yy545;
6948
4.12k
      } else {
6949
2.51k
        if (yych == '\r') goto yy545;
6950
1.37k
        if (yych <= 0x1F) goto yy230;
6951
1.11k
        goto yy545;
6952
1.37k
      }
6953
49.4k
    } else {
6954
49.4k
      if (yych <= '$') {
6955
42.5k
        if (yych <= '"') goto yy230;
6956
42.0k
        if (yych <= '#') goto yy630;
6957
871
        goto yy631;
6958
42.0k
      } else {
6959
6.93k
        if (yych <= '-') goto yy230;
6960
5.95k
        if (yych <= '.') goto yy632;
6961
4.37k
        if (yych <= '/') goto yy633;
6962
1.47k
        goto yy230;
6963
4.37k
      }
6964
49.4k
    }
6965
14.2k
yy547:
6966
14.2k
    YYDEBUG(547, *YYCURSOR);
6967
14.2k
    ++YYCURSOR;
6968
14.2k
    YYFILL(1);
6969
14.2k
    yych = *YYCURSOR;
6970
14.2k
    YYDEBUG(548, *YYCURSOR);
6971
14.2k
    if (yych <= '\r') {
6972
3.33k
      if (yych <= '\t') {
6973
970
        if (yych <= 0x00) goto yy86;
6974
392
        goto yy443;
6975
2.36k
      } else {
6976
2.36k
        if (yych <= '\n') goto yy545;
6977
1.66k
        if (yych <= '\f') goto yy443;
6978
1.00k
        goto yy545;
6979
1.66k
      }
6980
10.9k
    } else {
6981
10.9k
      if (yych <= '*') {
6982
4.95k
        if (yych <= ')') goto yy443;
6983
1.41k
        goto yy547;
6984
5.99k
      } else {
6985
5.99k
        if (yych == '/') goto yy227;
6986
2.44k
        goto yy443;
6987
5.99k
      }
6988
10.9k
    }
6989
11.2k
yy549:
6990
11.2k
    YYDEBUG(549, *YYCURSOR);
6991
11.2k
    ++YYCURSOR;
6992
11.2k
    YYFILL(1);
6993
11.2k
    yych = *YYCURSOR;
6994
11.2k
    YYDEBUG(550, *YYCURSOR);
6995
11.2k
    if (yych <= 0x1F) {
6996
982
      if (yych == '\t') goto yy549;
6997
252
      goto yy86;
6998
10.2k
    } else {
6999
10.2k
      if (yych <= ' ') goto yy549;
7000
6.62k
      if (yych == ')') goto yy634;
7001
5.62k
      goto yy86;
7002
6.62k
    }
7003
1.60k
yy551:
7004
1.60k
    YYDEBUG(551, *YYCURSOR);
7005
1.60k
    yych = *++YYCURSOR;
7006
1.60k
    if (yych == 'Y') goto yy636;
7007
1.37k
    if (yych == 'y') goto yy636;
7008
308
    goto yy86;
7009
1.38k
yy552:
7010
1.38k
    YYDEBUG(552, *YYCURSOR);
7011
1.38k
    ++YYCURSOR;
7012
1.38k
    YYFILL(1);
7013
1.38k
    yych = *YYCURSOR;
7014
2.79k
yy553:
7015
2.79k
    YYDEBUG(553, *YYCURSOR);
7016
2.79k
    if (yych <= 0x1F) {
7017
668
      if (yych == '\t') goto yy552;
7018
375
      goto yy86;
7019
2.13k
    } else {
7020
2.13k
      if (yych <= ' ') goto yy552;
7021
1.03k
      if (yych != ')') goto yy86;
7022
1.03k
    }
7023
626
    YYDEBUG(554, *YYCURSOR);
7024
626
    ++YYCURSOR;
7025
626
    YYDEBUG(555, *YYCURSOR);
7026
626
    yyleng = YYCURSOR - SCNG(yy_text);
7027
626
#line 1696 "Zend/zend_language_scanner.l"
7028
626
    {
7029
626
  RETURN_TOKEN(T_BOOL_CAST);
7030
626
}
7031
0
#line 7032 "Zend/zend_language_scanner.c"
7032
1.75k
yy556:
7033
1.75k
    YYDEBUG(556, *YYCURSOR);
7034
1.75k
    yych = *++YYCURSOR;
7035
1.75k
    if (yych == 'A') goto yy638;
7036
1.12k
    if (yych == 'a') goto yy638;
7037
200
    goto yy86;
7038
1.50k
yy557:
7039
1.50k
    YYDEBUG(557, *YYCURSOR);
7040
1.50k
    yych = *++YYCURSOR;
7041
1.50k
    if (yych == 'E') goto yy639;
7042
1.15k
    if (yych == 'e') goto yy639;
7043
513
    goto yy86;
7044
3.55k
yy558:
7045
3.55k
    YYDEBUG(558, *YYCURSOR);
7046
3.55k
    ++YYCURSOR;
7047
3.55k
    YYFILL(1);
7048
3.55k
    yych = *YYCURSOR;
7049
3.55k
    YYDEBUG(559, *YYCURSOR);
7050
3.55k
    if (yych <= 0x1F) {
7051
456
      if (yych == '\t') goto yy558;
7052
261
      goto yy86;
7053
3.10k
    } else {
7054
3.10k
      if (yych <= ' ') goto yy558;
7055
2.74k
      if (yych == ')') goto yy641;
7056
423
      goto yy86;
7057
2.74k
    }
7058
1.89k
yy560:
7059
1.89k
    YYDEBUG(560, *YYCURSOR);
7060
1.89k
    yych = *++YYCURSOR;
7061
1.89k
    if (yych == 'E') goto yy643;
7062
1.61k
    if (yych == 'e') goto yy643;
7063
213
    goto yy86;
7064
1.71k
yy561:
7065
1.71k
    YYDEBUG(561, *YYCURSOR);
7066
1.71k
    yych = *++YYCURSOR;
7067
1.71k
    if (yych == 'T') goto yy644;
7068
1.51k
    if (yych == 't') goto yy644;
7069
261
    goto yy86;
7070
261
yy562:
7071
234
    YYDEBUG(562, *YYCURSOR);
7072
234
    ++YYCURSOR;
7073
234
    YYDEBUG(563, *YYCURSOR);
7074
234
    yyleng = YYCURSOR - SCNG(yy_text);
7075
234
#line 1666 "Zend/zend_language_scanner.l"
7076
234
    {
7077
234
  if (PARSER_MODE()) {
7078
9
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7079
9
    RETURN_TOKEN(T_ERROR);
7080
9
  }
7081
225
  RETURN_TOKEN(T_DOUBLE_CAST);
7082
225
}
7083
0
#line 7084 "Zend/zend_language_scanner.c"
7084
7.42k
yy564:
7085
7.42k
    YYDEBUG(564, *YYCURSOR);
7086
7.42k
    yych = *++YYCURSOR;
7087
7.42k
    if (yych == 'G') goto yy646;
7088
7.19k
    if (yych == 'g') goto yy646;
7089
625
    goto yy86;
7090
1.98k
yy565:
7091
1.98k
    YYDEBUG(565, *YYCURSOR);
7092
1.98k
    ++YYCURSOR;
7093
1.98k
    YYFILL(1);
7094
1.98k
    yych = *YYCURSOR;
7095
1.98k
    YYDEBUG(566, *YYCURSOR);
7096
1.98k
    if (yych <= 0x1F) {
7097
446
      if (yych == '\t') goto yy565;
7098
240
      goto yy86;
7099
1.53k
    } else {
7100
1.53k
      if (yych <= ' ') goto yy565;
7101
1.13k
      if (yych == ')') goto yy648;
7102
549
      goto yy86;
7103
1.13k
    }
7104
858
yy567:
7105
858
    YYDEBUG(567, *YYCURSOR);
7106
858
    ++YYCURSOR;
7107
858
    YYDEBUG(568, *YYCURSOR);
7108
858
    yyleng = YYCURSOR - SCNG(yy_text);
7109
858
#line 1714 "Zend/zend_language_scanner.l"
7110
858
    {
7111
858
  RETURN_TOKEN(T_VOID_CAST);
7112
858
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
8.13k
yy569:
7115
8.13k
    YYDEBUG(569, *YYCURSOR);
7116
8.13k
    yych = *++YYCURSOR;
7117
8.13k
    if (yych == '\n') goto yy466;
7118
3.03k
    if (yych == '\r') goto yy468;
7119
979
    goto yy86;
7120
3.86k
yy570:
7121
3.86k
    YYDEBUG(570, *YYCURSOR);
7122
3.86k
    yyaccept = 4;
7123
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
7124
3.86k
    if (yych == 'C') goto yy650;
7125
3.57k
    if (yych == 'c') goto yy650;
7126
607
    goto yy48;
7127
3.69k
yy571:
7128
3.69k
    YYDEBUG(571, *YYCURSOR);
7129
3.69k
    yyaccept = 4;
7130
3.69k
    yych = *(YYMARKER = ++YYCURSOR);
7131
3.69k
    if (yych == 'L') goto yy651;
7132
2.99k
    if (yych == 'l') goto yy651;
7133
397
    goto yy48;
7134
3.53k
yy572:
7135
3.53k
    YYDEBUG(572, *YYCURSOR);
7136
3.53k
    yyaccept = 4;
7137
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
7138
3.53k
    if (yych == 'U') goto yy652;
7139
2.72k
    if (yych == 'u') goto yy652;
7140
407
    goto yy48;
7141
6.22k
yy573:
7142
6.22k
    YYDEBUG(573, *YYCURSOR);
7143
6.22k
    yyaccept = 4;
7144
6.22k
    yych = *(YYMARKER = ++YYCURSOR);
7145
6.22k
    if (yych == 'E') goto yy653;
7146
5.36k
    if (yych == 'e') goto yy653;
7147
260
    goto yy48;
7148
2.47k
yy574:
7149
2.47k
    YYDEBUG(574, *YYCURSOR);
7150
2.47k
    yyaccept = 4;
7151
2.47k
    yych = *(YYMARKER = ++YYCURSOR);
7152
2.47k
    if (yych == 'T') goto yy655;
7153
2.11k
    if (yych == 't') goto yy655;
7154
846
    goto yy48;
7155
3.31k
yy575:
7156
3.31k
    YYDEBUG(575, *YYCURSOR);
7157
3.31k
    yyaccept = 51;
7158
3.31k
    yych = *(YYMARKER = ++YYCURSOR);
7159
3.31k
    if (yybm[256+yych] & 128) {
7160
541
      goto yy47;
7161
541
    }
7162
2.77k
    if (yych == '\\') goto yy164;
7163
2.77k
yy576:
7164
2.77k
    YYDEBUG(576, *YYCURSOR);
7165
2.77k
    yyleng = YYCURSOR - SCNG(yy_text);
7166
2.77k
#line 1458 "Zend/zend_language_scanner.l"
7167
2.77k
    {
7168
2.77k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7169
2.77k
}
7170
0
#line 7171 "Zend/zend_language_scanner.c"
7171
4.42k
yy577:
7172
4.42k
    YYDEBUG(577, *YYCURSOR);
7173
4.42k
    yyaccept = 4;
7174
4.42k
    yych = *(YYMARKER = ++YYCURSOR);
7175
4.42k
    if (yych == 'L') goto yy657;
7176
3.07k
    if (yych == 'l') goto yy657;
7177
791
    goto yy48;
7178
11.5k
yy578:
7179
11.5k
    YYDEBUG(578, *YYCURSOR);
7180
11.5k
    yyaccept = 52;
7181
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
7182
11.5k
    if (yych <= '\\') {
7183
5.91k
      if (yych <= 'D') {
7184
2.12k
        if (yych <= '/') goto yy579;
7185
951
        if (yych <= '9') goto yy47;
7186
658
        if (yych >= 'A') goto yy47;
7187
3.78k
      } else {
7188
3.78k
        if (yych <= 'E') goto yy658;
7189
676
        if (yych <= 'Z') goto yy47;
7190
423
        if (yych >= '\\') goto yy164;
7191
423
      }
7192
5.91k
    } else {
7193
5.59k
      if (yych <= 'd') {
7194
852
        if (yych == '_') goto yy47;
7195
481
        if (yych >= 'a') goto yy47;
7196
4.73k
      } else {
7197
4.73k
        if (yych <= 'e') goto yy658;
7198
757
        if (yych <= 'z') goto yy47;
7199
536
        if (yych >= 0x80) goto yy47;
7200
536
      }
7201
5.59k
    }
7202
2.66k
yy579:
7203
2.66k
    YYDEBUG(579, *YYCURSOR);
7204
2.66k
    yyleng = YYCURSOR - SCNG(yy_text);
7205
2.66k
#line 1486 "Zend/zend_language_scanner.l"
7206
2.66k
    {
7207
2.66k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7208
2.66k
}
7209
0
#line 7210 "Zend/zend_language_scanner.c"
7210
3.83k
yy580:
7211
3.83k
    YYDEBUG(580, *YYCURSOR);
7212
3.83k
    yyaccept = 4;
7213
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
7214
3.83k
    if (yych == 'T') goto yy659;
7215
2.89k
    if (yych == 't') goto yy659;
7216
374
    goto yy48;
7217
6.59k
yy581:
7218
6.59k
    YYDEBUG(581, *YYCURSOR);
7219
6.59k
    yyaccept = 4;
7220
6.59k
    yych = *(YYMARKER = ++YYCURSOR);
7221
6.59k
    if (yych == 'L') goto yy660;
7222
5.28k
    if (yych == 'l') goto yy660;
7223
696
    goto yy48;
7224
17.7k
yy582:
7225
17.7k
    YYDEBUG(582, *YYCURSOR);
7226
17.7k
    ++YYCURSOR;
7227
113k
yy583:
7228
113k
    YYDEBUG(583, *YYCURSOR);
7229
113k
    yyleng = YYCURSOR - SCNG(yy_text);
7230
113k
#line 1574 "Zend/zend_language_scanner.l"
7231
113k
    {
7232
113k
  yyless(4);
7233
113k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7234
113k
}
7235
0
#line 7236 "Zend/zend_language_scanner.c"
7236
7.96k
yy584:
7237
7.96k
    YYDEBUG(584, *YYCURSOR);
7238
7.96k
    yyaccept = 53;
7239
7.96k
    yych = *(YYMARKER = ++YYCURSOR);
7240
7.96k
    if (yych == 'X') goto yy661;
7241
7.60k
    if (yych == 'x') goto yy661;
7242
5.54k
    goto yy583;
7243
5.54k
yy585:
7244
4.67k
    YYDEBUG(585, *YYCURSOR);
7245
4.67k
    yyaccept = 53;
7246
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
7247
4.67k
    if (yych == 'M') goto yy662;
7248
3.01k
    if (yych == 'm') goto yy662;
7249
1.52k
    goto yy583;
7250
2.57M
yy586:
7251
2.57M
    YYDEBUG(586, *YYCURSOR);
7252
2.57M
    ++YYCURSOR;
7253
2.57M
    YYFILL(1);
7254
2.57M
    yych = *YYCURSOR;
7255
2.57M
    YYDEBUG(587, *YYCURSOR);
7256
2.57M
    if (yych <= '\n') {
7257
105k
      if (yych <= 0x00) goto yy86;
7258
92.6k
      if (yych <= '\t') goto yy586;
7259
68.6k
      goto yy495;
7260
2.47M
    } else {
7261
2.47M
      if (yych == '\r') goto yy495;
7262
2.15M
      goto yy586;
7263
2.47M
    }
7264
523k
yy588:
7265
523k
    YYDEBUG(588, *YYCURSOR);
7266
523k
    ++YYCURSOR;
7267
523k
    YYFILL(1);
7268
523k
    yych = *YYCURSOR;
7269
523k
    YYDEBUG(589, *YYCURSOR);
7270
523k
    if (yych <= 'D') {
7271
185k
      if (yych <= 0x1F) {
7272
19.3k
        if (yych <= '\t') {
7273
10.2k
          if (yych <= 0x00) goto yy86;
7274
9.50k
          if (yych <= 0x08) goto yy586;
7275
2.47k
          goto yy588;
7276
9.50k
        } else {
7277
9.17k
          if (yych <= '\n') goto yy495;
7278
5.36k
          if (yych == '\r') goto yy495;
7279
2.34k
          goto yy586;
7280
5.36k
        }
7281
166k
      } else {
7282
166k
        if (yych <= '#') {
7283
63.6k
          if (yych <= ' ') goto yy588;
7284
46.0k
          if (yych <= '"') goto yy586;
7285
44.2k
          goto yy663;
7286
102k
        } else {
7287
102k
          if (yych == '/') goto yy664;
7288
9.99k
          if (yych <= '@') goto yy586;
7289
258
          goto yy665;
7290
9.99k
        }
7291
166k
      }
7292
337k
    } else {
7293
337k
      if (yych <= '`') {
7294
14.4k
        if (yych <= 'I') {
7295
10.8k
          if (yych <= 'E') goto yy666;
7296
7.83k
          if (yych <= 'H') goto yy665;
7297
7.41k
          goto yy667;
7298
7.83k
        } else {
7299
3.58k
          if (yych <= 'Z') goto yy665;
7300
1.83k
          if (yych == '_') goto yy665;
7301
1.06k
          goto yy586;
7302
1.83k
        }
7303
322k
      } else {
7304
322k
        if (yych <= 'h') {
7305
270k
          if (yych == 'e') goto yy666;
7306
3.31k
          goto yy665;
7307
270k
        } else {
7308
52.0k
          if (yych <= 'i') goto yy667;
7309
22.8k
          if (yych <= 'z') goto yy665;
7310
14.9k
          if (yych <= 0x7F) goto yy586;
7311
4.22k
          goto yy665;
7312
14.9k
        }
7313
322k
      }
7314
337k
    }
7315
1.59M
yy590:
7316
1.59M
    YYDEBUG(590, *YYCURSOR);
7317
1.59M
    ++YYCURSOR;
7318
1.59M
    YYFILL(1);
7319
1.59M
    yych = *YYCURSOR;
7320
1.59M
    YYDEBUG(591, *YYCURSOR);
7321
1.59M
    if (yych <= 0x00) goto yy86;
7322
1.56M
    if (yych == '*') goto yy668;
7323
1.54M
    goto yy590;
7324
1.54M
yy592:
7325
12.6k
    YYDEBUG(592, *YYCURSOR);
7326
12.6k
    yyaccept = 4;
7327
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
7328
12.6k
    if (yych == 'S') goto yy670;
7329
12.2k
    if (yych == 's') goto yy670;
7330
949
    goto yy48;
7331
4.20k
yy593:
7332
4.20k
    YYDEBUG(593, *YYCURSOR);
7333
4.20k
    yyaccept = 4;
7334
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
7335
4.20k
    if (yych == 'Y') goto yy672;
7336
3.89k
    if (yych == 'y') goto yy672;
7337
409
    goto yy48;
7338
12.5k
yy594:
7339
12.5k
    YYDEBUG(594, *YYCURSOR);
7340
12.5k
    yyaccept = 4;
7341
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
7342
12.5k
    if (yych == 'H') goto yy674;
7343
12.2k
    if (yych == 'h') goto yy674;
7344
341
    goto yy48;
7345
56.5k
yy595:
7346
56.5k
    YYDEBUG(595, *YYCURSOR);
7347
56.5k
    yyaccept = 4;
7348
56.5k
    yych = *(YYMARKER = ++YYCURSOR);
7349
56.5k
    if (yych == 'O') goto yy676;
7350
55.6k
    if (yych == 'o') goto yy676;
7351
2.39k
    goto yy48;
7352
4.56k
yy596:
7353
4.56k
    YYDEBUG(596, *YYCURSOR);
7354
4.56k
    yyaccept = 54;
7355
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
7356
4.56k
    if (yybm[256+yych] & 128) {
7357
708
      goto yy47;
7358
708
    }
7359
3.86k
    if (yych == '\\') goto yy164;
7360
3.78k
yy597:
7361
3.78k
    YYDEBUG(597, *YYCURSOR);
7362
3.78k
    yyleng = YYCURSOR - SCNG(yy_text);
7363
3.78k
#line 1750 "Zend/zend_language_scanner.l"
7364
3.78k
    {
7365
3.78k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7366
3.78k
}
7367
0
#line 7368 "Zend/zend_language_scanner.c"
7368
12.9k
yy598:
7369
12.9k
    YYDEBUG(598, *YYCURSOR);
7370
12.9k
    yyaccept = 4;
7371
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
7372
12.9k
    if (yych == 'E') goto yy677;
7373
12.0k
    if (yych == 'e') goto yy677;
7374
1.94k
    goto yy48;
7375
9.25k
yy599:
7376
9.25k
    YYDEBUG(599, *YYCURSOR);
7377
9.25k
    yyaccept = 4;
7378
9.25k
    yych = *(YYMARKER = ++YYCURSOR);
7379
9.25k
    if (yych == 'E') goto yy678;
7380
6.98k
    if (yych == 'e') goto yy678;
7381
580
    goto yy48;
7382
5.96k
yy600:
7383
5.96k
    YYDEBUG(600, *YYCURSOR);
7384
5.96k
    yyaccept = 4;
7385
5.96k
    yych = *(YYMARKER = ++YYCURSOR);
7386
5.96k
    if (yych == 'C') goto yy680;
7387
4.38k
    if (yych == 'c') goto yy680;
7388
281
    goto yy48;
7389
4.62k
yy601:
7390
4.62k
    YYDEBUG(601, *YYCURSOR);
7391
4.62k
    yyaccept = 4;
7392
4.62k
    yych = *(YYMARKER = ++YYCURSOR);
7393
4.62k
    if (yych == 'D') goto yy681;
7394
3.79k
    if (yych == 'd') goto yy681;
7395
443
    goto yy48;
7396
5.45k
yy602:
7397
5.45k
    YYDEBUG(602, *YYCURSOR);
7398
5.45k
    yyaccept = 4;
7399
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
7400
5.45k
    if (yych == 'A') goto yy682;
7401
4.52k
    if (yych == 'a') goto yy682;
7402
282
    goto yy48;
7403
16.6k
yy603:
7404
16.6k
    YYDEBUG(603, *YYCURSOR);
7405
16.6k
    yyaccept = 4;
7406
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
7407
16.6k
    if (yych == 'A') goto yy683;
7408
14.6k
    if (yych == 'a') goto yy683;
7409
877
    goto yy48;
7410
8.01k
yy604:
7411
8.01k
    YYDEBUG(604, *YYCURSOR);
7412
8.01k
    yyaccept = 4;
7413
8.01k
    yych = *(YYMARKER = ++YYCURSOR);
7414
8.01k
    if (yych == 'E') goto yy684;
7415
7.19k
    if (yych == 'e') goto yy684;
7416
596
    goto yy48;
7417
8.81k
yy605:
7418
8.81k
    YYDEBUG(605, *YYCURSOR);
7419
8.81k
    yyaccept = 4;
7420
8.81k
    yych = *(YYMARKER = ++YYCURSOR);
7421
8.81k
    if (yych == 'T') goto yy686;
7422
7.42k
    if (yych == 't') goto yy686;
7423
754
    goto yy48;
7424
35.2k
yy606:
7425
35.2k
    YYDEBUG(606, *YYCURSOR);
7426
35.2k
    yyaccept = 55;
7427
35.2k
    yych = *(YYMARKER = ++YYCURSOR);
7428
35.2k
    if (yybm[256+yych] & 128) {
7429
1.29k
      goto yy47;
7430
1.29k
    }
7431
33.9k
    if (yych == '(') goto yy687;
7432
31.2k
    if (yych == '\\') goto yy164;
7433
32.5k
yy607:
7434
32.5k
    YYDEBUG(607, *YYCURSOR);
7435
32.5k
    yyleng = YYCURSOR - SCNG(yy_text);
7436
32.5k
#line 1798 "Zend/zend_language_scanner.l"
7437
32.5k
    {
7438
32.5k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7439
32.5k
}
7440
0
#line 7441 "Zend/zend_language_scanner.c"
7441
3.62k
yy608:
7442
3.62k
    YYDEBUG(608, *YYCURSOR);
7443
3.62k
    yyaccept = 4;
7444
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
7445
3.62k
    if (yych == 'L') goto yy688;
7446
3.43k
    if (yych == 'l') goto yy688;
7447
515
    goto yy48;
7448
16.7k
yy609:
7449
16.7k
    YYDEBUG(609, *YYCURSOR);
7450
16.7k
    yyaccept = 4;
7451
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
7452
16.7k
    if (yych == 'E') goto yy689;
7453
15.5k
    if (yych == 'e') goto yy689;
7454
383
    goto yy48;
7455
10.3k
yy610:
7456
10.3k
    YYDEBUG(610, *YYCURSOR);
7457
10.3k
    yyaccept = 56;
7458
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
7459
10.3k
    if (yybm[256+yych] & 128) {
7460
1.06k
      goto yy47;
7461
1.06k
    }
7462
9.27k
    if (yych == '\\') goto yy164;
7463
9.27k
yy611:
7464
9.27k
    YYDEBUG(611, *YYCURSOR);
7465
9.27k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
9.27k
#line 1419 "Zend/zend_language_scanner.l"
7467
9.27k
    {
7468
9.27k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7469
9.27k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
10.9k
yy612:
7472
10.9k
    YYDEBUG(612, *YYCURSOR);
7473
10.9k
    yyaccept = 57;
7474
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
7475
10.9k
    if (yybm[256+yych] & 128) {
7476
526
      goto yy47;
7477
526
    }
7478
10.3k
    if (yych == '\\') goto yy164;
7479
10.3k
yy613:
7480
10.3k
    YYDEBUG(613, *YYCURSOR);
7481
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
7482
10.3k
#line 1766 "Zend/zend_language_scanner.l"
7483
10.3k
    {
7484
10.3k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7485
10.3k
}
7486
0
#line 7487 "Zend/zend_language_scanner.c"
7487
4.78k
yy614:
7488
4.78k
    YYDEBUG(614, *YYCURSOR);
7489
4.78k
    yyaccept = 58;
7490
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
7491
4.78k
    if (yybm[256+yych] & 128) {
7492
776
      goto yy47;
7493
776
    }
7494
4.00k
    if (yych == '\\') goto yy164;
7495
3.80k
yy615:
7496
3.80k
    YYDEBUG(615, *YYCURSOR);
7497
3.80k
    yyleng = YYCURSOR - SCNG(yy_text);
7498
3.80k
#line 1514 "Zend/zend_language_scanner.l"
7499
3.80k
    {
7500
3.80k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7501
3.80k
}
7502
0
#line 7503 "Zend/zend_language_scanner.c"
7503
228k
yy616:
7504
228k
    YYDEBUG(616, *YYCURSOR);
7505
228k
    ++YYCURSOR;
7506
228k
    YYFILL(5);
7507
228k
    yych = *YYCURSOR;
7508
228k
    YYDEBUG(617, *YYCURSOR);
7509
228k
    if (yych <= '"') {
7510
60.6k
      if (yych <= '\f') {
7511
52.5k
        if (yych <= 0x08) goto yy86;
7512
51.3k
        if (yych <= '\n') goto yy616;
7513
825
        goto yy86;
7514
51.3k
      } else {
7515
8.06k
        if (yych <= '\r') goto yy616;
7516
2.81k
        if (yych == ' ') goto yy616;
7517
1.09k
        goto yy86;
7518
2.81k
      }
7519
167k
    } else {
7520
167k
      if (yych <= 'E') {
7521
154k
        if (yych <= '#') goto yy618;
7522
14.4k
        if (yych == '/') goto yy619;
7523
6.70k
        goto yy86;
7524
14.4k
      } else {
7525
13.5k
        if (yych <= 'F') goto yy691;
7526
11.8k
        if (yych == 'f') goto yy691;
7527
6.39k
        goto yy86;
7528
11.8k
      }
7529
167k
    }
7530
172k
yy618:
7531
172k
    YYDEBUG(618, *YYCURSOR);
7532
172k
    ++YYCURSOR;
7533
172k
    YYFILL(1);
7534
172k
    yych = *YYCURSOR;
7535
172k
    if (yych <= '\f') {
7536
27.6k
      if (yych <= 0x00) goto yy86;
7537
27.2k
      if (yych == '\n') goto yy694;
7538
854
      goto yy692;
7539
144k
    } else {
7540
144k
      if (yych <= '\r') goto yy694;
7541
31.3k
      if (yych == '[') goto yy86;
7542
31.1k
      goto yy692;
7543
31.3k
    }
7544
8.25k
yy619:
7545
8.25k
    YYDEBUG(619, *YYCURSOR);
7546
8.25k
    ++YYCURSOR;
7547
8.25k
    YYFILL(1);
7548
8.25k
    yych = *YYCURSOR;
7549
8.25k
    if (yych == '*') goto yy696;
7550
1.90k
    if (yych == '/') goto yy692;
7551
909
    goto yy86;
7552
4.80k
yy620:
7553
4.80k
    YYDEBUG(620, *YYCURSOR);
7554
4.80k
    yyaccept = 4;
7555
4.80k
    yych = *(YYMARKER = ++YYCURSOR);
7556
4.80k
    if (yych == 'S') goto yy698;
7557
3.76k
    if (yych == 's') goto yy698;
7558
448
    goto yy48;
7559
5.11k
yy621:
7560
5.11k
    YYDEBUG(621, *YYCURSOR);
7561
5.11k
    yyaccept = 4;
7562
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
7563
5.11k
    if (yych == '_') goto yy699;
7564
986
    goto yy48;
7565
4.84k
yy622:
7566
4.84k
    YYDEBUG(622, *YYCURSOR);
7567
4.84k
    yyaccept = 4;
7568
4.84k
    yych = *(YYMARKER = ++YYCURSOR);
7569
4.84k
    if (yych == '_') goto yy701;
7570
509
    goto yy48;
7571
6.47k
yy623:
7572
6.47k
    YYDEBUG(623, *YYCURSOR);
7573
6.47k
    yyaccept = 4;
7574
6.47k
    yych = *(YYMARKER = ++YYCURSOR);
7575
6.47k
    if (yych == 'T') goto yy702;
7576
2.68k
    if (yych == 't') goto yy702;
7577
558
    goto yy48;
7578
3.70k
yy624:
7579
3.70k
    YYDEBUG(624, *YYCURSOR);
7580
3.70k
    yyaccept = 4;
7581
3.70k
    yych = *(YYMARKER = ++YYCURSOR);
7582
3.70k
    if (yych == '_') goto yy703;
7583
277
    goto yy48;
7584
3.61k
yy625:
7585
3.61k
    YYDEBUG(625, *YYCURSOR);
7586
3.61k
    yyaccept = 4;
7587
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
7588
3.61k
    if (yych == '_') goto yy704;
7589
1.05k
    goto yy48;
7590
7.94k
yy626:
7591
7.94k
    YYDEBUG(626, *YYCURSOR);
7592
7.94k
    yyaccept = 4;
7593
7.94k
    yych = *(YYMARKER = ++YYCURSOR);
7594
7.94k
    if (yych == 'O') goto yy705;
7595
3.57k
    if (yych == 'o') goto yy705;
7596
408
    goto yy48;
7597
5.71k
yy627:
7598
5.71k
    YYDEBUG(627, *YYCURSOR);
7599
5.71k
    yyaccept = 4;
7600
5.71k
    yych = *(YYMARKER = ++YYCURSOR);
7601
5.71k
    if (yych == 'S') goto yy706;
7602
4.39k
    if (yych == 's') goto yy706;
7603
1.57k
    goto yy48;
7604
4.38k
yy628:
7605
4.38k
    YYDEBUG(628, *YYCURSOR);
7606
4.38k
    yyaccept = 4;
7607
4.38k
    yych = *(YYMARKER = ++YYCURSOR);
7608
4.38k
    if (yych == 'E') goto yy707;
7609
1.84k
    if (yych == 'e') goto yy707;
7610
1.00k
    goto yy48;
7611
4.41k
yy629:
7612
4.41k
    YYDEBUG(629, *YYCURSOR);
7613
4.41k
    yyaccept = 4;
7614
4.41k
    yych = *(YYMARKER = ++YYCURSOR);
7615
4.41k
    if (yych == 'T') goto yy708;
7616
3.98k
    if (yych == 't') goto yy708;
7617
545
    goto yy48;
7618
41.1k
yy630:
7619
41.1k
    YYDEBUG(630, *YYCURSOR);
7620
41.1k
    ++YYCURSOR;
7621
41.1k
    YYFILL(1);
7622
41.1k
    yych = *YYCURSOR;
7623
41.1k
    if (yych <= '\r') {
7624
35.5k
      if (yych <= '\t') {
7625
697
        if (yych <= 0x00) goto yy86;
7626
451
        goto yy443;
7627
34.8k
      } else {
7628
34.8k
        if (yych <= '\n') goto yy709;
7629
16.1k
        if (yych <= '\f') goto yy443;
7630
15.2k
        goto yy709;
7631
16.1k
      }
7632
35.5k
    } else {
7633
5.64k
      if (yych <= '*') {
7634
1.93k
        if (yych <= ')') goto yy443;
7635
608
        goto yy547;
7636
3.71k
      } else {
7637
3.71k
        if (yych == '[') goto yy230;
7638
3.46k
        goto yy443;
7639
3.71k
      }
7640
5.64k
    }
7641
1.07k
yy631:
7642
1.07k
    YYDEBUG(631, *YYCURSOR);
7643
1.07k
    yyaccept = 26;
7644
1.07k
    YYMARKER = ++YYCURSOR;
7645
1.07k
    YYFILL(1);
7646
1.07k
    yych = *YYCURSOR;
7647
1.07k
    if (yybm[0+yych] & 4) {
7648
624
      goto yy230;
7649
624
    }
7650
454
    if (yych <= 0x00) goto yy89;
7651
208
    goto yy355;
7652
1.58k
yy632:
7653
1.58k
    YYDEBUG(632, *YYCURSOR);
7654
1.58k
    ++YYCURSOR;
7655
1.58k
    YYFILL(1);
7656
1.58k
    yych = *YYCURSOR;
7657
1.58k
    if (yybm[0+yych] & 64) {
7658
234
      goto yy355;
7659
234
    }
7660
1.34k
    if (yych <= 0x00) goto yy86;
7661
1.13k
    if (yych == '.') goto yy711;
7662
308
    goto yy230;
7663
2.90k
yy633:
7664
2.90k
    YYDEBUG(633, *YYCURSOR);
7665
2.90k
    ++YYCURSOR;
7666
2.90k
    YYFILL(1);
7667
2.90k
    yych = *YYCURSOR;
7668
2.90k
    if (yych <= '*') {
7669
2.37k
      if (yych <= 0x00) goto yy86;
7670
2.08k
      if (yych <= ')') goto yy230;
7671
1.77k
      goto yy712;
7672
2.08k
    } else {
7673
529
      if (yych == '/') goto yy443;
7674
249
      goto yy230;
7675
529
    }
7676
1.00k
yy634:
7677
1.00k
    YYDEBUG(634, *YYCURSOR);
7678
1.00k
    ++YYCURSOR;
7679
1.00k
    YYDEBUG(635, *YYCURSOR);
7680
1.00k
    yyleng = YYCURSOR - SCNG(yy_text);
7681
1.00k
#line 1688 "Zend/zend_language_scanner.l"
7682
1.00k
    {
7683
1.00k
  RETURN_TOKEN(T_ARRAY_CAST);
7684
1.00k
}
7685
0
#line 7686 "Zend/zend_language_scanner.c"
7686
1.72k
yy636:
7687
1.72k
    YYDEBUG(636, *YYCURSOR);
7688
1.72k
    ++YYCURSOR;
7689
1.72k
    YYFILL(1);
7690
1.72k
    yych = *YYCURSOR;
7691
1.72k
    YYDEBUG(637, *YYCURSOR);
7692
1.72k
    if (yych <= 0x1F) {
7693
539
      if (yych == '\t') goto yy636;
7694
332
      goto yy86;
7695
1.18k
    } else {
7696
1.18k
      if (yych <= ' ') goto yy636;
7697
967
      if (yych == ')') goto yy713;
7698
449
      goto yy86;
7699
967
    }
7700
1.55k
yy638:
7701
1.55k
    YYDEBUG(638, *YYCURSOR);
7702
1.55k
    yych = *++YYCURSOR;
7703
1.55k
    if (yych == 'N') goto yy715;
7704
1.11k
    if (yych == 'n') goto yy715;
7705
397
    goto yy86;
7706
1.56k
yy639:
7707
1.56k
    YYDEBUG(639, *YYCURSOR);
7708
1.56k
    ++YYCURSOR;
7709
1.56k
    YYFILL(1);
7710
1.56k
    yych = *YYCURSOR;
7711
1.56k
    YYDEBUG(640, *YYCURSOR);
7712
1.56k
    if (yych <= 0x1F) {
7713
449
      if (yych == '\t') goto yy639;
7714
218
      goto yy86;
7715
1.11k
    } else {
7716
1.11k
      if (yych <= ' ') goto yy639;
7717
776
      if (yych == ')') goto yy717;
7718
510
      goto yy86;
7719
776
    }
7720
2.32k
yy641:
7721
2.32k
    YYDEBUG(641, *YYCURSOR);
7722
2.32k
    ++YYCURSOR;
7723
2.32k
    YYDEBUG(642, *YYCURSOR);
7724
2.32k
    yyleng = YYCURSOR - SCNG(yy_text);
7725
2.32k
#line 1652 "Zend/zend_language_scanner.l"
7726
2.32k
    {
7727
2.32k
  RETURN_TOKEN(T_DOUBLE_CAST);
7728
2.32k
}
7729
0
#line 7730 "Zend/zend_language_scanner.c"
7730
1.68k
yy643:
7731
1.68k
    YYDEBUG(643, *YYCURSOR);
7732
1.68k
    yych = *++YYCURSOR;
7733
1.68k
    if (yych == 'R') goto yy719;
7734
1.21k
    if (yych == 'r') goto yy719;
7735
526
    goto yy86;
7736
2.19k
yy644:
7737
2.19k
    YYDEBUG(644, *YYCURSOR);
7738
2.19k
    ++YYCURSOR;
7739
2.19k
    YYFILL(1);
7740
2.19k
    yych = *YYCURSOR;
7741
2.19k
    YYDEBUG(645, *YYCURSOR);
7742
2.19k
    if (yych <= 0x1F) {
7743
1.12k
      if (yych == '\t') goto yy644;
7744
616
      goto yy86;
7745
1.12k
    } else {
7746
1.06k
      if (yych <= ' ') goto yy644;
7747
836
      if (yych == ')') goto yy721;
7748
298
      goto yy86;
7749
836
    }
7750
7.87k
yy646:
7751
7.87k
    YYDEBUG(646, *YYCURSOR);
7752
7.87k
    ++YYCURSOR;
7753
7.87k
    YYFILL(1);
7754
7.87k
    yych = *YYCURSOR;
7755
7.87k
    YYDEBUG(647, *YYCURSOR);
7756
7.87k
    if (yych <= 0x1F) {
7757
4.51k
      if (yych == '\t') goto yy646;
7758
4.18k
      goto yy86;
7759
4.51k
    } else {
7760
3.36k
      if (yych <= ' ') goto yy646;
7761
2.61k
      if (yych == ')') goto yy723;
7762
1.62k
      goto yy86;
7763
2.61k
    }
7764
585
yy648:
7765
585
    YYDEBUG(648, *YYCURSOR);
7766
585
    ++YYCURSOR;
7767
585
    YYDEBUG(649, *YYCURSOR);
7768
585
    yyleng = YYCURSOR - SCNG(yy_text);
7769
585
#line 1710 "Zend/zend_language_scanner.l"
7770
585
    {
7771
585
  RETURN_TOKEN(T_UNSET_CAST);
7772
585
}
7773
0
#line 7774 "Zend/zend_language_scanner.c"
7774
3.25k
yy650:
7775
3.25k
    YYDEBUG(650, *YYCURSOR);
7776
3.25k
    yyaccept = 4;
7777
3.25k
    yych = *(YYMARKER = ++YYCURSOR);
7778
3.25k
    if (yych == 'T') goto yy725;
7779
2.96k
    if (yych == 't') goto yy725;
7780
386
    goto yy48;
7781
3.29k
yy651:
7782
3.29k
    YYDEBUG(651, *YYCURSOR);
7783
3.29k
    yyaccept = 4;
7784
3.29k
    yych = *(YYMARKER = ++YYCURSOR);
7785
3.29k
    if (yych == 'E') goto yy727;
7786
2.79k
    if (yych == 'e') goto yy727;
7787
277
    goto yy48;
7788
3.12k
yy652:
7789
3.12k
    YYDEBUG(652, *YYCURSOR);
7790
3.12k
    yyaccept = 4;
7791
3.12k
    yych = *(YYMARKER = ++YYCURSOR);
7792
3.12k
    if (yych == 'E') goto yy729;
7793
2.51k
    if (yych == 'e') goto yy729;
7794
560
    goto yy48;
7795
5.96k
yy653:
7796
5.96k
    YYDEBUG(653, *YYCURSOR);
7797
5.96k
    yyaccept = 59;
7798
5.96k
    yych = *(YYMARKER = ++YYCURSOR);
7799
5.96k
    if (yybm[256+yych] & 128) {
7800
719
      goto yy47;
7801
719
    }
7802
5.24k
    if (yych == '\\') goto yy164;
7803
5.24k
yy654:
7804
5.24k
    YYDEBUG(654, *YYCURSOR);
7805
5.24k
    yyleng = YYCURSOR - SCNG(yy_text);
7806
5.24k
#line 1498 "Zend/zend_language_scanner.l"
7807
5.24k
    {
7808
5.24k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7809
5.24k
}
7810
0
#line 7811 "Zend/zend_language_scanner.c"
7811
1.62k
yy655:
7812
1.62k
    YYDEBUG(655, *YYCURSOR);
7813
1.62k
    yyaccept = 60;
7814
1.62k
    yych = *(YYMARKER = ++YYCURSOR);
7815
1.62k
    if (yybm[256+yych] & 128) {
7816
319
      goto yy47;
7817
319
    }
7818
1.30k
    if (yych == '\\') goto yy164;
7819
1.30k
yy656:
7820
1.30k
    YYDEBUG(656, *YYCURSOR);
7821
1.30k
    yyleng = YYCURSOR - SCNG(yy_text);
7822
1.30k
#line 1530 "Zend/zend_language_scanner.l"
7823
1.30k
    {
7824
1.30k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7825
1.30k
}
7826
0
#line 7827 "Zend/zend_language_scanner.c"
7827
3.63k
yy657:
7828
3.63k
    YYDEBUG(657, *YYCURSOR);
7829
3.63k
    yyaccept = 4;
7830
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
7831
3.63k
    if (yych == 'A') goto yy731;
7832
2.26k
    if (yych == 'a') goto yy731;
7833
603
    goto yy48;
7834
7.09k
yy658:
7835
7.09k
    YYDEBUG(658, *YYCURSOR);
7836
7.09k
    yyaccept = 4;
7837
7.09k
    yych = *(YYMARKER = ++YYCURSOR);
7838
7.09k
    if (yych == 'A') goto yy732;
7839
5.98k
    if (yych == 'a') goto yy732;
7840
2.38k
    goto yy48;
7841
3.46k
yy659:
7842
3.46k
    YYDEBUG(659, *YYCURSOR);
7843
3.46k
    yyaccept = 4;
7844
3.46k
    yych = *(YYMARKER = ++YYCURSOR);
7845
3.46k
    if (yych == 'C') goto yy733;
7846
2.95k
    if (yych == 'c') goto yy733;
7847
470
    goto yy48;
7848
5.89k
yy660:
7849
5.89k
    YYDEBUG(660, *YYCURSOR);
7850
5.89k
    yyaccept = 4;
7851
5.89k
    yych = *(YYMARKER = ++YYCURSOR);
7852
5.89k
    if (yych == 'E') goto yy734;
7853
4.82k
    if (yych == 'e') goto yy734;
7854
460
    goto yy48;
7855
2.42k
yy661:
7856
2.42k
    YYDEBUG(661, *YYCURSOR);
7857
2.42k
    yych = *++YYCURSOR;
7858
2.42k
    if (yych == 'T') goto yy736;
7859
2.21k
    if (yych == 't') goto yy736;
7860
518
    goto yy86;
7861
3.15k
yy662:
7862
3.15k
    YYDEBUG(662, *YYCURSOR);
7863
3.15k
    yych = *++YYCURSOR;
7864
3.15k
    if (yych == 'P') goto yy737;
7865
1.90k
    if (yych == 'p') goto yy737;
7866
611
    goto yy86;
7867
44.2k
yy663:
7868
44.2k
    YYDEBUG(663, *YYCURSOR);
7869
44.2k
    ++YYCURSOR;
7870
44.2k
    YYFILL(1);
7871
44.2k
    yych = *YYCURSOR;
7872
44.2k
    if (yych <= '\n') {
7873
37.9k
      if (yych <= 0x00) goto yy86;
7874
37.6k
      if (yych <= '\t') goto yy586;
7875
37.3k
      goto yy588;
7876
37.6k
    } else {
7877
6.38k
      if (yych == '\r') goto yy588;
7878
2.57k
      goto yy586;
7879
6.38k
    }
7880
92.8k
yy664:
7881
92.8k
    YYDEBUG(664, *YYCURSOR);
7882
92.8k
    ++YYCURSOR;
7883
92.8k
    YYFILL(1);
7884
92.8k
    yych = *YYCURSOR;
7885
92.8k
    if (yych <= '\f') {
7886
978
      if (yych <= 0x00) goto yy86;
7887
663
      if (yych == '\n') goto yy495;
7888
398
      goto yy586;
7889
91.8k
    } else {
7890
91.8k
      if (yych <= '\r') goto yy495;
7891
91.1k
      if (yych == '*') goto yy738;
7892
9.42k
      goto yy586;
7893
91.1k
    }
7894
18.7k
yy665:
7895
18.7k
    YYDEBUG(665, *YYCURSOR);
7896
18.7k
    yyaccept = 53;
7897
18.7k
    YYMARKER = ++YYCURSOR;
7898
18.7k
    YYFILL(1);
7899
18.7k
    yych = *YYCURSOR;
7900
18.7k
    if (yych <= '\n') {
7901
2.66k
      if (yych <= 0x00) goto yy583;
7902
2.33k
      if (yych <= '\t') goto yy586;
7903
387
      goto yy495;
7904
16.0k
    } else {
7905
16.0k
      if (yych == '\r') goto yy495;
7906
14.9k
      goto yy586;
7907
16.0k
    }
7908
270k
yy666:
7909
270k
    YYDEBUG(666, *YYCURSOR);
7910
270k
    yyaccept = 53;
7911
270k
    YYMARKER = ++YYCURSOR;
7912
270k
    YYFILL(1);
7913
270k
    yych = *YYCURSOR;
7914
270k
    if (yych <= '\r') {
7915
40.9k
      if (yych <= '\t') {
7916
30.8k
        if (yych <= 0x00) goto yy583;
7917
30.5k
        goto yy586;
7918
30.8k
      } else {
7919
10.0k
        if (yych <= '\n') goto yy495;
7920
9.60k
        if (yych <= '\f') goto yy586;
7921
2.93k
        goto yy495;
7922
9.60k
      }
7923
229k
    } else {
7924
229k
      if (yych <= 'X') {
7925
153k
        if (yych <= 'W') goto yy586;
7926
2.57k
        goto yy740;
7927
153k
      } else {
7928
76.0k
        if (yych == 'x') goto yy740;
7929
65.7k
        goto yy586;
7930
76.0k
      }
7931
229k
    }
7932
36.5k
yy667:
7933
36.5k
    YYDEBUG(667, *YYCURSOR);
7934
36.5k
    yyaccept = 53;
7935
36.5k
    YYMARKER = ++YYCURSOR;
7936
36.5k
    YYFILL(1);
7937
36.5k
    yych = *YYCURSOR;
7938
36.5k
    if (yych <= '\r') {
7939
1.88k
      if (yych <= '\t') {
7940
903
        if (yych <= 0x00) goto yy583;
7941
557
        goto yy586;
7942
978
      } else {
7943
978
        if (yych <= '\n') goto yy495;
7944
673
        if (yych <= '\f') goto yy586;
7945
369
        goto yy495;
7946
673
      }
7947
34.6k
    } else {
7948
34.6k
      if (yych <= 'M') {
7949
8.05k
        if (yych <= 'L') goto yy586;
7950
7.08k
        goto yy741;
7951
26.6k
      } else {
7952
26.6k
        if (yych == 'm') goto yy741;
7953
4.86k
        goto yy586;
7954
26.6k
      }
7955
34.6k
    }
7956
30.1k
yy668:
7957
30.1k
    YYDEBUG(668, *YYCURSOR);
7958
30.1k
    ++YYCURSOR;
7959
30.1k
    YYFILL(1);
7960
30.1k
    yych = *YYCURSOR;
7961
30.1k
    YYDEBUG(669, *YYCURSOR);
7962
30.1k
    if (yych <= '*') {
7963
8.13k
      if (yych <= 0x00) goto yy86;
7964
6.51k
      if (yych <= ')') goto yy590;
7965
1.19k
      goto yy668;
7966
21.9k
    } else {
7967
21.9k
      if (yych == '/') goto yy495;
7968
4.42k
      goto yy590;
7969
21.9k
    }
7970
11.6k
yy670:
7971
11.6k
    YYDEBUG(670, *YYCURSOR);
7972
11.6k
    yyaccept = 61;
7973
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
7974
11.6k
    if (yybm[256+yych] & 128) {
7975
282
      goto yy47;
7976
282
    }
7977
11.3k
    if (yych == '\\') goto yy164;
7978
11.3k
yy671:
7979
11.3k
    YYDEBUG(671, *YYCURSOR);
7980
11.3k
    yyleng = YYCURSOR - SCNG(yy_text);
7981
11.3k
#line 1579 "Zend/zend_language_scanner.l"
7982
11.3k
    {
7983
11.3k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7984
11.3k
}
7985
0
#line 7986 "Zend/zend_language_scanner.c"
7986
3.79k
yy672:
7987
3.79k
    YYDEBUG(672, *YYCURSOR);
7988
3.79k
    yyaccept = 62;
7989
3.79k
    yych = *(YYMARKER = ++YYCURSOR);
7990
3.79k
    if (yybm[256+yych] & 128) {
7991
467
      goto yy47;
7992
467
    }
7993
3.33k
    if (yych == '\\') goto yy164;
7994
3.33k
yy673:
7995
3.33k
    YYDEBUG(673, *YYCURSOR);
7996
3.33k
    yyleng = YYCURSOR - SCNG(yy_text);
7997
3.33k
#line 1446 "Zend/zend_language_scanner.l"
7998
3.33k
    {
7999
3.33k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8000
3.33k
}
8001
0
#line 8002 "Zend/zend_language_scanner.c"
8002
12.1k
yy674:
8003
12.1k
    YYDEBUG(674, *YYCURSOR);
8004
12.1k
    yyaccept = 63;
8005
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
8006
12.1k
    if (yybm[256+yych] & 128) {
8007
1.33k
      goto yy47;
8008
1.33k
    }
8009
10.8k
    if (yych == '\\') goto yy164;
8010
10.8k
yy675:
8011
10.8k
    YYDEBUG(675, *YYCURSOR);
8012
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
10.8k
#line 1490 "Zend/zend_language_scanner.l"
8014
10.8k
    {
8015
10.8k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8016
10.8k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
54.1k
yy676:
8019
54.1k
    YYDEBUG(676, *YYCURSOR);
8020
54.1k
    yyaccept = 4;
8021
54.1k
    yych = *(YYMARKER = ++YYCURSOR);
8022
54.1k
    if (yych == 'N') goto yy742;
8023
53.3k
    if (yych == 'n') goto yy742;
8024
1.33k
    goto yy48;
8025
11.0k
yy677:
8026
11.0k
    YYDEBUG(677, *YYCURSOR);
8027
11.0k
    yyaccept = 4;
8028
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
8029
11.0k
    if (yych == 'N') goto yy744;
8030
10.3k
    if (yych == 'n') goto yy744;
8031
5.36k
    goto yy48;
8032
8.67k
yy678:
8033
8.67k
    YYDEBUG(678, *YYCURSOR);
8034
8.67k
    yyaccept = 64;
8035
8.67k
    yych = *(YYMARKER = ++YYCURSOR);
8036
8.67k
    if (yych <= '\\') {
8037
3.24k
      if (yych <= '@') {
8038
2.34k
        if (yych <= '/') goto yy679;
8039
780
        if (yych <= '9') goto yy47;
8040
902
      } else {
8041
902
        if (yych <= 'Z') goto yy47;
8042
591
        if (yych >= '\\') goto yy164;
8043
591
      }
8044
5.42k
    } else {
8045
5.42k
      if (yych <= '`') {
8046
4.22k
        if (yych == '_') goto yy745;
8047
4.22k
      } else {
8048
1.20k
        if (yych <= 'z') goto yy47;
8049
761
        if (yych >= 0x80) goto yy47;
8050
761
      }
8051
5.42k
    }
8052
3.47k
yy679:
8053
3.47k
    YYDEBUG(679, *YYCURSOR);
8054
3.47k
    yyleng = YYCURSOR - SCNG(yy_text);
8055
3.47k
#line 1722 "Zend/zend_language_scanner.l"
8056
3.47k
    {
8057
3.47k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8058
3.47k
}
8059
0
#line 8060 "Zend/zend_language_scanner.c"
8060
5.68k
yy680:
8061
5.68k
    YYDEBUG(680, *YYCURSOR);
8062
5.68k
    yyaccept = 4;
8063
5.68k
    yych = *(YYMARKER = ++YYCURSOR);
8064
5.68k
    if (yych == 'E') goto yy746;
8065
3.69k
    if (yych == 'e') goto yy746;
8066
755
    goto yy48;
8067
4.18k
yy681:
8068
4.18k
    YYDEBUG(681, *YYCURSOR);
8069
4.18k
    yyaccept = 4;
8070
4.18k
    yych = *(YYMARKER = ++YYCURSOR);
8071
4.18k
    if (yych == 'O') goto yy747;
8072
3.29k
    if (yych == 'o') goto yy747;
8073
222
    goto yy48;
8074
5.16k
yy682:
8075
5.16k
    YYDEBUG(682, *YYCURSOR);
8076
5.16k
    yyaccept = 4;
8077
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
8078
5.16k
    if (yych == 'C') goto yy748;
8079
4.72k
    if (yych == 'c') goto yy748;
8080
484
    goto yy48;
8081
15.7k
yy683:
8082
15.7k
    YYDEBUG(683, *YYCURSOR);
8083
15.7k
    yyaccept = 4;
8084
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
8085
15.7k
    if (yych == 'C') goto yy749;
8086
13.3k
    if (yych == 'c') goto yy749;
8087
726
    goto yy48;
8088
7.41k
yy684:
8089
7.41k
    YYDEBUG(684, *YYCURSOR);
8090
7.41k
    yyaccept = 65;
8091
7.41k
    yych = *(YYMARKER = ++YYCURSOR);
8092
7.41k
    if (yybm[256+yych] & 128) {
8093
388
      goto yy47;
8094
388
    }
8095
7.02k
    if (yych == '(') goto yy750;
8096
4.65k
    if (yych == '\\') goto yy164;
8097
6.21k
yy685:
8098
6.21k
    YYDEBUG(685, *YYCURSOR);
8099
6.21k
    yyleng = YYCURSOR - SCNG(yy_text);
8100
6.21k
#line 1778 "Zend/zend_language_scanner.l"
8101
6.21k
    {
8102
6.21k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8103
6.21k
}
8104
0
#line 8105 "Zend/zend_language_scanner.c"
8105
8.05k
yy686:
8106
8.05k
    YYDEBUG(686, *YYCURSOR);
8107
8.05k
    yyaccept = 4;
8108
8.05k
    yych = *(YYMARKER = ++YYCURSOR);
8109
8.05k
    if (yych == 'E') goto yy751;
8110
6.48k
    if (yych == 'e') goto yy751;
8111
332
    goto yy48;
8112
2.70k
yy687:
8113
2.70k
    YYDEBUG(687, *YYCURSOR);
8114
2.70k
    yych = *++YYCURSOR;
8115
2.70k
    if (yych == 'S') goto yy752;
8116
1.95k
    if (yych == 's') goto yy752;
8117
444
    goto yy86;
8118
3.11k
yy688:
8119
3.11k
    YYDEBUG(688, *YYCURSOR);
8120
3.11k
    yyaccept = 4;
8121
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
8122
3.11k
    if (yych == 'Y') goto yy753;
8123
2.82k
    if (yych == 'y') goto yy753;
8124
778
    goto yy48;
8125
16.3k
yy689:
8126
16.3k
    YYDEBUG(689, *YYCURSOR);
8127
16.3k
    yyaccept = 66;
8128
16.3k
    yych = *(YYMARKER = ++YYCURSOR);
8129
16.3k
    if (yych <= '\\') {
8130
5.06k
      if (yych <= '@') {
8131
4.13k
        if (yych <= '/') goto yy690;
8132
640
        if (yych <= '9') goto yy47;
8133
935
      } else {
8134
935
        if (yych <= 'Z') goto yy47;
8135
668
        if (yych >= '\\') goto yy164;
8136
668
      }
8137
11.2k
    } else {
8138
11.2k
      if (yych <= '`') {
8139
3.43k
        if (yych == '_') goto yy755;
8140
7.82k
      } else {
8141
7.82k
        if (yych <= 'z') goto yy47;
8142
7.50k
        if (yych >= 0x80) goto yy47;
8143
7.50k
      }
8144
11.2k
    }
8145
4.94k
yy690:
8146
4.94k
    YYDEBUG(690, *YYCURSOR);
8147
4.94k
    yyleng = YYCURSOR - SCNG(yy_text);
8148
4.94k
#line 1730 "Zend/zend_language_scanner.l"
8149
4.94k
    {
8150
4.94k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8151
4.94k
}
8152
0
#line 8153 "Zend/zend_language_scanner.c"
8153
7.54k
yy691:
8154
7.54k
    YYDEBUG(691, *YYCURSOR);
8155
7.54k
    yych = *++YYCURSOR;
8156
7.54k
    if (yych == 'R') goto yy756;
8157
6.17k
    if (yych == 'r') goto yy756;
8158
2.78k
    goto yy86;
8159
946k
yy692:
8160
946k
    YYDEBUG(692, *YYCURSOR);
8161
946k
    ++YYCURSOR;
8162
946k
    YYFILL(1);
8163
946k
    yych = *YYCURSOR;
8164
946k
    YYDEBUG(693, *YYCURSOR);
8165
946k
    if (yych <= '\n') {
8166
114k
      if (yych <= 0x00) goto yy86;
8167
109k
      if (yych <= '\t') goto yy692;
8168
96.5k
      goto yy616;
8169
832k
    } else {
8170
832k
      if (yych == '\r') goto yy616;
8171
811k
      goto yy692;
8172
832k
    }
8173
158k
yy694:
8174
158k
    YYDEBUG(694, *YYCURSOR);
8175
158k
    ++YYCURSOR;
8176
158k
    YYFILL(1);
8177
158k
    yych = *YYCURSOR;
8178
158k
    YYDEBUG(695, *YYCURSOR);
8179
158k
    if (yych <= ' ') {
8180
11.3k
      if (yych <= '\n') {
8181
3.24k
        if (yych <= 0x00) goto yy86;
8182
2.62k
        if (yych <= 0x08) goto yy692;
8183
2.33k
        if (yych <= '\t') goto yy694;
8184
2.12k
        goto yy616;
8185
8.08k
      } else {
8186
8.08k
        if (yych == '\r') goto yy616;
8187
5.90k
        if (yych <= 0x1F) goto yy692;
8188
5.45k
        goto yy694;
8189
5.90k
      }
8190
146k
    } else {
8191
146k
      if (yych <= '/') {
8192
80.7k
        if (yych == '#') goto yy757;
8193
69.2k
        if (yych <= '.') goto yy692;
8194
54.3k
        goto yy758;
8195
69.2k
      } else {
8196
65.9k
        if (yych <= 'F') {
8197
33.4k
          if (yych <= 'E') goto yy692;
8198
19.8k
          goto yy759;
8199
33.4k
        } else {
8200
32.4k
          if (yych == 'f') goto yy759;
8201
29.6k
          goto yy692;
8202
32.4k
        }
8203
65.9k
      }
8204
146k
    }
8205
2.19M
yy696:
8206
2.19M
    YYDEBUG(696, *YYCURSOR);
8207
2.19M
    ++YYCURSOR;
8208
2.19M
    YYFILL(1);
8209
2.19M
    yych = *YYCURSOR;
8210
2.19M
    YYDEBUG(697, *YYCURSOR);
8211
2.19M
    if (yych <= 0x00) goto yy86;
8212
2.17M
    if (yych == '*') goto yy760;
8213
2.10M
    goto yy696;
8214
2.10M
yy698:
8215
4.35k
    YYDEBUG(698, *YYCURSOR);
8216
4.35k
    yyaccept = 4;
8217
4.35k
    yych = *(YYMARKER = ++YYCURSOR);
8218
4.35k
    if (yych == '_') goto yy762;
8219
548
    goto yy48;
8220
4.12k
yy699:
8221
4.12k
    YYDEBUG(699, *YYCURSOR);
8222
4.12k
    yyaccept = 67;
8223
4.12k
    yych = *(YYMARKER = ++YYCURSOR);
8224
4.12k
    if (yybm[256+yych] & 128) {
8225
853
      goto yy47;
8226
853
    }
8227
3.27k
    if (yych == '\\') goto yy164;
8228
3.04k
yy700:
8229
3.04k
    YYDEBUG(700, *YYCURSOR);
8230
3.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8231
3.04k
#line 2281 "Zend/zend_language_scanner.l"
8232
3.04k
    {
8233
3.04k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8234
3.04k
}
8235
0
#line 8236 "Zend/zend_language_scanner.c"
8236
4.33k
yy701:
8237
4.33k
    YYDEBUG(701, *YYCURSOR);
8238
4.33k
    yyaccept = 4;
8239
4.33k
    yych = *(YYMARKER = ++YYCURSOR);
8240
4.33k
    if (yych == '_') goto yy763;
8241
276
    goto yy48;
8242
5.91k
yy702:
8243
5.91k
    YYDEBUG(702, *YYCURSOR);
8244
5.91k
    yyaccept = 4;
8245
5.91k
    yych = *(YYMARKER = ++YYCURSOR);
8246
5.91k
    if (yych == 'I') goto yy765;
8247
3.62k
    if (yych == 'i') goto yy765;
8248
536
    goto yy48;
8249
3.42k
yy703:
8250
3.42k
    YYDEBUG(703, *YYCURSOR);
8251
3.42k
    yyaccept = 4;
8252
3.42k
    yych = *(YYMARKER = ++YYCURSOR);
8253
3.42k
    if (yych == 'C') goto yy766;
8254
2.41k
    if (yych == 'c') goto yy766;
8255
296
    goto yy48;
8256
2.56k
yy704:
8257
2.56k
    YYDEBUG(704, *YYCURSOR);
8258
2.56k
    yyaccept = 4;
8259
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
8260
2.56k
    if (yych == '_') goto yy767;
8261
473
    goto yy48;
8262
7.53k
yy705:
8263
7.53k
    YYDEBUG(705, *YYCURSOR);
8264
7.53k
    yyaccept = 4;
8265
7.53k
    yych = *(YYMARKER = ++YYCURSOR);
8266
7.53k
    if (yych == 'D') goto yy769;
8267
3.24k
    if (yych == 'd') goto yy769;
8268
420
    goto yy48;
8269
4.14k
yy706:
8270
4.14k
    YYDEBUG(706, *YYCURSOR);
8271
4.14k
    yyaccept = 4;
8272
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
8273
4.14k
    if (yych == 'P') goto yy770;
8274
2.94k
    if (yych == 'p') goto yy770;
8275
418
    goto yy48;
8276
3.38k
yy707:
8277
3.38k
    YYDEBUG(707, *YYCURSOR);
8278
3.38k
    yyaccept = 4;
8279
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
8280
3.38k
    if (yych == 'R') goto yy771;
8281
687
    if (yych == 'r') goto yy771;
8282
290
    goto yy48;
8283
3.86k
yy708:
8284
3.86k
    YYDEBUG(708, *YYCURSOR);
8285
3.86k
    yyaccept = 4;
8286
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
8287
3.86k
    if (yych == '_') goto yy772;
8288
479
    goto yy48;
8289
38.5k
yy709:
8290
38.5k
    YYDEBUG(709, *YYCURSOR);
8291
38.5k
    ++YYCURSOR;
8292
38.5k
    YYFILL(1);
8293
38.5k
    yych = *YYCURSOR;
8294
38.5k
    YYDEBUG(710, *YYCURSOR);
8295
38.5k
    if (yych <= ' ') {
8296
5.09k
      if (yych <= '\n') {
8297
1.90k
        if (yych <= 0x00) goto yy86;
8298
1.65k
        if (yych <= 0x08) goto yy443;
8299
1.33k
        if (yych <= '\t') goto yy709;
8300
1.12k
        goto yy545;
8301
3.19k
      } else {
8302
3.19k
        if (yych == '\r') goto yy545;
8303
2.76k
        if (yych <= 0x1F) goto yy443;
8304
1.33k
        goto yy709;
8305
2.76k
      }
8306
33.4k
    } else {
8307
33.4k
      if (yych <= ')') {
8308
7.01k
        if (yych <= '"') goto yy443;
8309
6.70k
        if (yych <= '#') goto yy773;
8310
2.47k
        if (yych <= '$') goto yy774;
8311
1.78k
        goto yy443;
8312
26.4k
      } else {
8313
26.4k
        if (yych <= '-') {
8314
1.82k
          if (yych <= '*') goto yy547;
8315
821
          goto yy443;
8316
24.5k
        } else {
8317
24.5k
          if (yych <= '.') goto yy775;
8318
19.0k
          if (yych <= '/') goto yy776;
8319
13.3k
          goto yy443;
8320
19.0k
        }
8321
26.4k
      }
8322
33.4k
    }
8323
824
yy711:
8324
824
    YYDEBUG(711, *YYCURSOR);
8325
824
    ++YYCURSOR;
8326
824
    YYFILL(1);
8327
824
    yych = *YYCURSOR;
8328
824
    if (yybm[0+yych] & 64) {
8329
207
      goto yy355;
8330
207
    }
8331
617
    if (yych <= 0x00) goto yy86;
8332
414
    if (yych == '.') goto yy631;
8333
207
    goto yy230;
8334
1.77k
yy712:
8335
1.77k
    YYDEBUG(712, *YYCURSOR);
8336
1.77k
    ++YYCURSOR;
8337
1.77k
    YYFILL(1);
8338
1.77k
    yych = *YYCURSOR;
8339
1.77k
    if (yybm[0+yych] & 64) {
8340
495
      goto yy355;
8341
495
    }
8342
1.27k
    if (yych <= 0x00) goto yy86;
8343
1.06k
    if (yych == '/') goto yy545;
8344
366
    goto yy230;
8345
518
yy713:
8346
518
    YYDEBUG(713, *YYCURSOR);
8347
518
    ++YYCURSOR;
8348
518
    YYDEBUG(714, *YYCURSOR);
8349
518
    yyleng = YYCURSOR - SCNG(yy_text);
8350
518
#line 1678 "Zend/zend_language_scanner.l"
8351
518
    {
8352
518
  if (PARSER_MODE()) {
8353
74
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8354
74
    if (EG(exception)) {
8355
0
      RETURN_TOKEN(T_ERROR);
8356
0
    }
8357
74
  }
8358
518
  RETURN_TOKEN(T_STRING_CAST);
8359
518
}
8360
0
#line 8361 "Zend/zend_language_scanner.c"
8361
1.55k
yy715:
8362
1.55k
    YYDEBUG(715, *YYCURSOR);
8363
1.55k
    ++YYCURSOR;
8364
1.55k
    YYFILL(1);
8365
1.55k
    yych = *YYCURSOR;
8366
1.55k
    YYDEBUG(716, *YYCURSOR);
8367
1.55k
    if (yych <= 0x1F) {
8368
512
      if (yych == '\t') goto yy715;
8369
315
      goto yy86;
8370
1.04k
    } else {
8371
1.04k
      if (yych <= ' ') goto yy715;
8372
846
      if (yych == ')') goto yy777;
8373
542
      goto yy86;
8374
846
    }
8375
266
yy717:
8376
266
    YYDEBUG(717, *YYCURSOR);
8377
266
    ++YYCURSOR;
8378
266
    YYDEBUG(718, *YYCURSOR);
8379
266
    yyleng = YYCURSOR - SCNG(yy_text);
8380
266
#line 1656 "Zend/zend_language_scanner.l"
8381
266
    {
8382
266
  if (PARSER_MODE()) {
8383
46
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8384
46
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
46
  }
8388
266
  RETURN_TOKEN(T_DOUBLE_CAST);
8389
266
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
1.66k
yy719:
8392
1.66k
    YYDEBUG(719, *YYCURSOR);
8393
1.66k
    ++YYCURSOR;
8394
1.66k
    YYFILL(1);
8395
1.66k
    yych = *YYCURSOR;
8396
1.66k
    YYDEBUG(720, *YYCURSOR);
8397
1.66k
    if (yych <= 0x1F) {
8398
759
      if (yych == '\t') goto yy719;
8399
497
      goto yy86;
8400
909
    } else {
8401
909
      if (yych <= ' ') goto yy719;
8402
659
      if (yych == ')') goto yy779;
8403
350
      goto yy86;
8404
659
    }
8405
538
yy721:
8406
538
    YYDEBUG(721, *YYCURSOR);
8407
538
    ++YYCURSOR;
8408
538
    YYDEBUG(722, *YYCURSOR);
8409
538
    yyleng = YYCURSOR - SCNG(yy_text);
8410
538
#line 1692 "Zend/zend_language_scanner.l"
8411
538
    {
8412
538
  RETURN_TOKEN(T_OBJECT_CAST);
8413
538
}
8414
0
#line 8415 "Zend/zend_language_scanner.c"
8415
994
yy723:
8416
994
    YYDEBUG(723, *YYCURSOR);
8417
994
    ++YYCURSOR;
8418
994
    YYDEBUG(724, *YYCURSOR);
8419
994
    yyleng = YYCURSOR - SCNG(yy_text);
8420
994
#line 1674 "Zend/zend_language_scanner.l"
8421
994
    {
8422
994
  RETURN_TOKEN(T_STRING_CAST);
8423
994
}
8424
0
#line 8425 "Zend/zend_language_scanner.c"
8425
2.87k
yy725:
8426
2.87k
    YYDEBUG(725, *YYCURSOR);
8427
2.87k
    yyaccept = 68;
8428
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
8429
2.87k
    if (yybm[256+yych] & 128) {
8430
417
      goto yy47;
8431
417
    }
8432
2.45k
    if (yych == '\\') goto yy164;
8433
2.45k
yy726:
8434
2.45k
    YYDEBUG(726, *YYCURSOR);
8435
2.45k
    yyleng = YYCURSOR - SCNG(yy_text);
8436
2.45k
#line 1770 "Zend/zend_language_scanner.l"
8437
2.45k
    {
8438
2.45k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8439
2.45k
}
8440
0
#line 8441 "Zend/zend_language_scanner.c"
8441
3.01k
yy727:
8442
3.01k
    YYDEBUG(727, *YYCURSOR);
8443
3.01k
    yyaccept = 69;
8444
3.01k
    yych = *(YYMARKER = ++YYCURSOR);
8445
3.01k
    if (yybm[256+yych] & 128) {
8446
324
      goto yy47;
8447
324
    }
8448
2.69k
    if (yych == '\\') goto yy164;
8449
2.55k
yy728:
8450
2.55k
    YYDEBUG(728, *YYCURSOR);
8451
2.55k
    yyleng = YYCURSOR - SCNG(yy_text);
8452
2.55k
#line 1822 "Zend/zend_language_scanner.l"
8453
2.55k
    {
8454
2.55k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8455
2.55k
}
8456
0
#line 8457 "Zend/zend_language_scanner.c"
8457
2.56k
yy729:
8458
2.56k
    YYDEBUG(729, *YYCURSOR);
8459
2.56k
    yyaccept = 70;
8460
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
8461
2.56k
    if (yybm[256+yych] & 128) {
8462
280
      goto yy47;
8463
280
    }
8464
2.28k
    if (yych == '\\') goto yy164;
8465
1.99k
yy730:
8466
1.99k
    YYDEBUG(730, *YYCURSOR);
8467
1.99k
    yyleng = YYCURSOR - SCNG(yy_text);
8468
1.99k
#line 1538 "Zend/zend_language_scanner.l"
8469
1.99k
    {
8470
1.99k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8471
1.99k
}
8472
0
#line 8473 "Zend/zend_language_scanner.c"
8473
3.03k
yy731:
8474
3.03k
    YYDEBUG(731, *YYCURSOR);
8475
3.03k
    yyaccept = 4;
8476
3.03k
    yych = *(YYMARKER = ++YYCURSOR);
8477
3.03k
    if (yych == 'R') goto yy781;
8478
2.12k
    if (yych == 'r') goto yy781;
8479
880
    goto yy48;
8480
4.71k
yy732:
8481
4.71k
    YYDEBUG(732, *YYCURSOR);
8482
4.71k
    yyaccept = 4;
8483
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
8484
4.71k
    if (yych == 'C') goto yy782;
8485
3.82k
    if (yych == 'c') goto yy782;
8486
323
    goto yy48;
8487
2.99k
yy733:
8488
2.99k
    YYDEBUG(733, *YYCURSOR);
8489
2.99k
    yyaccept = 4;
8490
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
8491
2.99k
    if (yych == 'H') goto yy783;
8492
2.71k
    if (yych == 'h') goto yy783;
8493
1.50k
    goto yy48;
8494
5.43k
yy734:
8495
5.43k
    YYDEBUG(734, *YYCURSOR);
8496
5.43k
    yyaccept = 71;
8497
5.43k
    yych = *(YYMARKER = ++YYCURSOR);
8498
5.43k
    if (yybm[256+yych] & 128) {
8499
362
      goto yy47;
8500
362
    }
8501
5.07k
    if (yych == '\\') goto yy164;
8502
5.05k
yy735:
8503
5.05k
    YYDEBUG(735, *YYCURSOR);
8504
5.05k
    yyleng = YYCURSOR - SCNG(yy_text);
8505
5.05k
#line 1474 "Zend/zend_language_scanner.l"
8506
5.05k
    {
8507
5.05k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8508
5.05k
}
8509
0
#line 8510 "Zend/zend_language_scanner.c"
8510
1.90k
yy736:
8511
1.90k
    YYDEBUG(736, *YYCURSOR);
8512
1.90k
    yych = *++YYCURSOR;
8513
1.90k
    if (yych == 'E') goto yy785;
8514
1.67k
    if (yych == 'e') goto yy785;
8515
568
    goto yy86;
8516
2.53k
yy737:
8517
2.53k
    YYDEBUG(737, *YYCURSOR);
8518
2.53k
    yych = *++YYCURSOR;
8519
2.53k
    if (yych == 'L') goto yy786;
8520
1.46k
    if (yych == 'l') goto yy786;
8521
414
    goto yy86;
8522
3.11M
yy738:
8523
3.11M
    YYDEBUG(738, *YYCURSOR);
8524
3.11M
    ++YYCURSOR;
8525
3.11M
    YYFILL(1);
8526
3.11M
    yych = *YYCURSOR;
8527
3.11M
    YYDEBUG(739, *YYCURSOR);
8528
3.11M
    if (yych <= '\f') {
8529
118k
      if (yych <= 0x00) goto yy86;
8530
102k
      if (yych == '\n') goto yy787;
8531
29.0k
      goto yy738;
8532
3.00M
    } else {
8533
3.00M
      if (yych <= '\r') goto yy787;
8534
2.88M
      if (yych == '*') goto yy789;
8535
2.87M
      goto yy738;
8536
2.88M
    }
8537
12.7k
yy740:
8538
12.7k
    YYDEBUG(740, *YYCURSOR);
8539
12.7k
    ++YYCURSOR;
8540
12.7k
    YYFILL(1);
8541
12.7k
    yych = *YYCURSOR;
8542
12.7k
    if (yych <= '\r') {
8543
1.07k
      if (yych <= '\t') {
8544
407
        if (yych <= 0x00) goto yy86;
8545
204
        goto yy586;
8546
666
      } else {
8547
666
        if (yych <= '\n') goto yy495;
8548
456
        if (yych <= '\f') goto yy586;
8549
248
        goto yy495;
8550
456
      }
8551
11.7k
    } else {
8552
11.7k
      if (yych <= 'T') {
8553
2.51k
        if (yych <= 'S') goto yy586;
8554
1.41k
        goto yy791;
8555
9.21k
      } else {
8556
9.21k
        if (yych == 't') goto yy791;
8557
640
        goto yy586;
8558
9.21k
      }
8559
11.7k
    }
8560
28.8k
yy741:
8561
28.8k
    YYDEBUG(741, *YYCURSOR);
8562
28.8k
    ++YYCURSOR;
8563
28.8k
    YYFILL(1);
8564
28.8k
    yych = *YYCURSOR;
8565
28.8k
    if (yych <= '\r') {
8566
1.46k
      if (yych <= '\t') {
8567
468
        if (yych <= 0x00) goto yy86;
8568
244
        goto yy586;
8569
993
      } else {
8570
993
        if (yych <= '\n') goto yy495;
8571
597
        if (yych <= '\f') goto yy586;
8572
323
        goto yy495;
8573
597
      }
8574
27.4k
    } else {
8575
27.4k
      if (yych <= 'P') {
8576
6.77k
        if (yych <= 'O') goto yy586;
8577
5.40k
        goto yy792;
8578
20.6k
      } else {
8579
20.6k
        if (yych == 'p') goto yy792;
8580
537
        goto yy586;
8581
20.6k
      }
8582
27.4k
    }
8583
52.8k
yy742:
8584
52.8k
    YYDEBUG(742, *YYCURSOR);
8585
52.8k
    yyaccept = 72;
8586
52.8k
    yych = *(YYMARKER = ++YYCURSOR);
8587
52.8k
    if (yybm[256+yych] & 128) {
8588
1.01k
      goto yy47;
8589
1.01k
    }
8590
51.8k
    if (yych == '\\') goto yy164;
8591
51.8k
yy743:
8592
51.8k
    YYDEBUG(743, *YYCURSOR);
8593
51.8k
    yyleng = YYCURSOR - SCNG(yy_text);
8594
51.8k
#line 1411 "Zend/zend_language_scanner.l"
8595
51.8k
    {
8596
51.8k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8597
51.8k
}
8598
0
#line 8599 "Zend/zend_language_scanner.c"
8599
5.67k
yy744:
8600
5.67k
    YYDEBUG(744, *YYCURSOR);
8601
5.67k
    yyaccept = 4;
8602
5.67k
    yych = *(YYMARKER = ++YYCURSOR);
8603
5.67k
    if (yych == 'T') goto yy793;
8604
5.14k
    if (yych == 't') goto yy793;
8605
830
    goto yy48;
8606
3.76k
yy745:
8607
3.76k
    YYDEBUG(745, *YYCURSOR);
8608
3.76k
    yyaccept = 4;
8609
3.76k
    yych = *(YYMARKER = ++YYCURSOR);
8610
3.76k
    if (yych == 'O') goto yy794;
8611
2.46k
    if (yych == 'o') goto yy794;
8612
517
    goto yy48;
8613
4.92k
yy746:
8614
4.92k
    YYDEBUG(746, *YYCURSOR);
8615
4.92k
    yyaccept = 4;
8616
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
8617
4.92k
    if (yych == 'O') goto yy795;
8618
3.40k
    if (yych == 'o') goto yy795;
8619
630
    goto yy48;
8620
3.96k
yy747:
8621
3.96k
    YYDEBUG(747, *YYCURSOR);
8622
3.96k
    yyaccept = 4;
8623
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
8624
3.96k
    if (yych == 'F') goto yy796;
8625
2.72k
    if (yych == 'f') goto yy796;
8626
521
    goto yy48;
8627
4.68k
yy748:
8628
4.68k
    YYDEBUG(748, *YYCURSOR);
8629
4.68k
    yyaccept = 4;
8630
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
8631
4.68k
    if (yych == 'E') goto yy798;
8632
3.91k
    if (yych == 'e') goto yy798;
8633
512
    goto yy48;
8634
15.0k
yy749:
8635
15.0k
    YYDEBUG(749, *YYCURSOR);
8636
15.0k
    yyaccept = 4;
8637
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
8638
15.0k
    if (yych == 'E') goto yy800;
8639
12.6k
    if (yych == 'e') goto yy800;
8640
564
    goto yy48;
8641
2.37k
yy750:
8642
2.37k
    YYDEBUG(750, *YYCURSOR);
8643
2.37k
    yych = *++YYCURSOR;
8644
2.37k
    if (yych == 'S') goto yy802;
8645
2.01k
    if (yych == 's') goto yy802;
8646
294
    goto yy86;
8647
7.72k
yy751:
8648
7.72k
    YYDEBUG(751, *YYCURSOR);
8649
7.72k
    yyaccept = 4;
8650
7.72k
    yych = *(YYMARKER = ++YYCURSOR);
8651
7.72k
    if (yych == 'D') goto yy803;
8652
6.25k
    if (yych == 'd') goto yy803;
8653
1.05k
    goto yy48;
8654
2.26k
yy752:
8655
2.26k
    YYDEBUG(752, *YYCURSOR);
8656
2.26k
    yych = *++YYCURSOR;
8657
2.26k
    if (yych == 'E') goto yy805;
8658
1.74k
    if (yych == 'e') goto yy805;
8659
290
    goto yy86;
8660
2.33k
yy753:
8661
2.33k
    YYDEBUG(753, *YYCURSOR);
8662
2.33k
    yyaccept = 73;
8663
2.33k
    yych = *(YYMARKER = ++YYCURSOR);
8664
2.33k
    if (yybm[256+yych] & 128) {
8665
520
      goto yy47;
8666
520
    }
8667
1.81k
    if (yych == '\\') goto yy164;
8668
1.76k
yy754:
8669
1.76k
    YYDEBUG(754, *YYCURSOR);
8670
1.76k
    yyleng = YYCURSOR - SCNG(yy_text);
8671
1.76k
#line 1802 "Zend/zend_language_scanner.l"
8672
1.76k
    {
8673
1.76k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8674
1.76k
}
8675
0
#line 8676 "Zend/zend_language_scanner.c"
8676
3.22k
yy755:
8677
3.22k
    YYDEBUG(755, *YYCURSOR);
8678
3.22k
    yyaccept = 4;
8679
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
8680
3.22k
    if (yych == 'O') goto yy806;
8681
2.58k
    if (yych == 'o') goto yy806;
8682
310
    goto yy48;
8683
4.75k
yy756:
8684
4.75k
    YYDEBUG(756, *YYCURSOR);
8685
4.75k
    yych = *++YYCURSOR;
8686
4.75k
    if (yych == 'O') goto yy807;
8687
3.60k
    if (yych == 'o') goto yy807;
8688
465
    goto yy86;
8689
11.4k
yy757:
8690
11.4k
    YYDEBUG(757, *YYCURSOR);
8691
11.4k
    ++YYCURSOR;
8692
11.4k
    YYFILL(1);
8693
11.4k
    yych = *YYCURSOR;
8694
11.4k
    if (yych <= '\n') {
8695
9.34k
      if (yych <= 0x00) goto yy86;
8696
9.13k
      if (yych <= '\t') goto yy692;
8697
8.93k
      goto yy694;
8698
9.13k
    } else {
8699
2.14k
      if (yych == '\r') goto yy694;
8700
763
      goto yy692;
8701
2.14k
    }
8702
54.3k
yy758:
8703
54.3k
    YYDEBUG(758, *YYCURSOR);
8704
54.3k
    ++YYCURSOR;
8705
54.3k
    YYFILL(1);
8706
54.3k
    yych = *YYCURSOR;
8707
54.3k
    if (yych <= '\f') {
8708
1.51k
      if (yych <= 0x00) goto yy86;
8709
907
      if (yych == '\n') goto yy616;
8710
594
      goto yy692;
8711
52.8k
    } else {
8712
52.8k
      if (yych <= '\r') goto yy616;
8713
52.5k
      if (yych == '*') goto yy808;
8714
14.0k
      goto yy692;
8715
52.5k
    }
8716
22.6k
yy759:
8717
22.6k
    YYDEBUG(759, *YYCURSOR);
8718
22.6k
    ++YYCURSOR;
8719
22.6k
    YYFILL(1);
8720
22.6k
    yych = *YYCURSOR;
8721
22.6k
    if (yych <= '\r') {
8722
2.58k
      if (yych <= '\t') {
8723
564
        if (yych <= 0x00) goto yy86;
8724
338
        goto yy692;
8725
2.01k
      } else {
8726
2.01k
        if (yych <= '\n') goto yy616;
8727
1.63k
        if (yych <= '\f') goto yy692;
8728
254
        goto yy616;
8729
1.63k
      }
8730
20.0k
    } else {
8731
20.0k
      if (yych <= 'R') {
8732
15.9k
        if (yych <= 'Q') goto yy692;
8733
11.9k
        goto yy810;
8734
15.9k
      } else {
8735
4.09k
        if (yych == 'r') goto yy810;
8736
2.21k
        goto yy692;
8737
4.09k
      }
8738
20.0k
    }
8739
74.7k
yy760:
8740
74.7k
    YYDEBUG(760, *YYCURSOR);
8741
74.7k
    ++YYCURSOR;
8742
74.7k
    YYFILL(1);
8743
74.7k
    yych = *YYCURSOR;
8744
74.7k
    YYDEBUG(761, *YYCURSOR);
8745
74.7k
    if (yych <= '*') {
8746
59.4k
      if (yych <= 0x00) goto yy86;
8747
58.8k
      if (yych <= ')') goto yy696;
8748
2.15k
      goto yy760;
8749
58.8k
    } else {
8750
15.3k
      if (yych == '/') goto yy616;
8751
5.12k
      goto yy696;
8752
15.3k
    }
8753
3.80k
yy762:
8754
3.80k
    YYDEBUG(762, *YYCURSOR);
8755
3.80k
    yyaccept = 4;
8756
3.80k
    yych = *(YYMARKER = ++YYCURSOR);
8757
3.80k
    if (yych == '_') goto yy811;
8758
233
    goto yy48;
8759
4.06k
yy763:
8760
4.06k
    YYDEBUG(763, *YYCURSOR);
8761
4.06k
    yyaccept = 74;
8762
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
8763
4.06k
    if (yybm[256+yych] & 128) {
8764
450
      goto yy47;
8765
450
    }
8766
3.61k
    if (yych == '\\') goto yy164;
8767
3.61k
yy764:
8768
3.61k
    YYDEBUG(764, *YYCURSOR);
8769
3.61k
    yyleng = YYCURSOR - SCNG(yy_text);
8770
3.61k
#line 2277 "Zend/zend_language_scanner.l"
8771
3.61k
    {
8772
3.61k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8773
3.61k
}
8774
0
#line 8775 "Zend/zend_language_scanner.c"
8775
5.37k
yy765:
8776
5.37k
    YYDEBUG(765, *YYCURSOR);
8777
5.37k
    yyaccept = 4;
8778
5.37k
    yych = *(YYMARKER = ++YYCURSOR);
8779
5.37k
    if (yych == 'O') goto yy813;
8780
3.27k
    if (yych == 'o') goto yy813;
8781
413
    goto yy48;
8782
3.13k
yy766:
8783
3.13k
    YYDEBUG(766, *YYCURSOR);
8784
3.13k
    yyaccept = 4;
8785
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
8786
3.13k
    if (yych == 'O') goto yy814;
8787
2.49k
    if (yych == 'o') goto yy814;
8788
279
    goto yy48;
8789
2.09k
yy767:
8790
2.09k
    YYDEBUG(767, *YYCURSOR);
8791
2.09k
    yyaccept = 75;
8792
2.09k
    yych = *(YYMARKER = ++YYCURSOR);
8793
2.09k
    if (yybm[256+yych] & 128) {
8794
491
      goto yy47;
8795
491
    }
8796
1.60k
    if (yych == '\\') goto yy164;
8797
1.60k
yy768:
8798
1.60k
    YYDEBUG(768, *YYCURSOR);
8799
1.60k
    yyleng = YYCURSOR - SCNG(yy_text);
8800
1.60k
#line 2273 "Zend/zend_language_scanner.l"
8801
1.60k
    {
8802
1.60k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8803
1.60k
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
7.11k
yy769:
8806
7.11k
    YYDEBUG(769, *YYCURSOR);
8807
7.11k
    yyaccept = 4;
8808
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
8809
7.11k
    if (yych == '_') goto yy815;
8810
449
    goto yy48;
8811
3.72k
yy770:
8812
3.72k
    YYDEBUG(770, *YYCURSOR);
8813
3.72k
    yyaccept = 4;
8814
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
8815
3.72k
    if (yych == 'A') goto yy816;
8816
2.53k
    if (yych == 'a') goto yy816;
8817
488
    goto yy48;
8818
3.09k
yy771:
8819
3.09k
    YYDEBUG(771, *YYCURSOR);
8820
3.09k
    yyaccept = 4;
8821
3.09k
    yych = *(YYMARKER = ++YYCURSOR);
8822
3.09k
    if (yych == 'T') goto yy817;
8823
752
    if (yych == 't') goto yy817;
8824
301
    goto yy48;
8825
3.38k
yy772:
8826
3.38k
    YYDEBUG(772, *YYCURSOR);
8827
3.38k
    yyaccept = 4;
8828
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
8829
3.38k
    if (yych == '_') goto yy818;
8830
387
    goto yy48;
8831
4.22k
yy773:
8832
4.22k
    YYDEBUG(773, *YYCURSOR);
8833
4.22k
    ++YYCURSOR;
8834
4.22k
    YYFILL(1);
8835
4.22k
    yych = *YYCURSOR;
8836
4.22k
    if (yybm[0+yych] & 128) {
8837
1.62k
      goto yy443;
8838
1.62k
    }
8839
2.60k
    if (yych <= 0x00) goto yy86;
8840
2.35k
    if (yych <= '\r') goto yy709;
8841
195
    goto yy547;
8842
1.08k
yy774:
8843
1.08k
    YYDEBUG(774, *YYCURSOR);
8844
1.08k
    yyaccept = 26;
8845
1.08k
    YYMARKER = ++YYCURSOR;
8846
1.08k
    YYFILL(1);
8847
1.08k
    yych = *YYCURSOR;
8848
1.08k
    if (yybm[0+yych] & 128) {
8849
366
      goto yy443;
8850
366
    }
8851
718
    if (yych <= 0x00) goto yy89;
8852
503
    if (yych <= '\r') goto yy545;
8853
294
    goto yy547;
8854
5.56k
yy775:
8855
5.56k
    YYDEBUG(775, *YYCURSOR);
8856
5.56k
    ++YYCURSOR;
8857
5.56k
    YYFILL(1);
8858
5.56k
    yych = *YYCURSOR;
8859
5.56k
    if (yych <= '\r') {
8860
1.02k
      if (yych <= '\t') {
8861
426
        if (yych <= 0x00) goto yy86;
8862
218
        goto yy443;
8863
603
      } else {
8864
603
        if (yych <= '\n') goto yy545;
8865
402
        if (yych <= '\f') goto yy443;
8866
201
        goto yy545;
8867
402
      }
8868
4.53k
    } else {
8869
4.53k
      if (yych <= '*') {
8870
1.97k
        if (yych <= ')') goto yy443;
8871
1.09k
        goto yy547;
8872
2.55k
      } else {
8873
2.55k
        if (yych == '.') goto yy820;
8874
228
        goto yy443;
8875
2.55k
      }
8876
4.53k
    }
8877
5.64k
yy776:
8878
5.64k
    YYDEBUG(776, *YYCURSOR);
8879
5.64k
    ++YYCURSOR;
8880
5.64k
    YYFILL(1);
8881
5.64k
    yych = *YYCURSOR;
8882
5.64k
    if (yybm[0+yych] & 128) {
8883
484
      goto yy443;
8884
484
    }
8885
5.16k
    if (yych <= 0x00) goto yy86;
8886
4.84k
    if (yych <= '\r') goto yy545;
8887
4.63k
    goto yy821;
8888
4.63k
yy777:
8889
304
    YYDEBUG(777, *YYCURSOR);
8890
304
    ++YYCURSOR;
8891
304
    YYDEBUG(778, *YYCURSOR);
8892
304
    yyleng = YYCURSOR - SCNG(yy_text);
8893
304
#line 1700 "Zend/zend_language_scanner.l"
8894
304
    {
8895
304
  if (PARSER_MODE()) {
8896
27
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8897
27
    if (EG(exception)) {
8898
0
      RETURN_TOKEN(T_ERROR);
8899
0
    }
8900
27
  }
8901
304
  RETURN_TOKEN(T_BOOL_CAST);
8902
304
}
8903
0
#line 8904 "Zend/zend_language_scanner.c"
8904
309
yy779:
8905
309
    YYDEBUG(779, *YYCURSOR);
8906
309
    ++YYCURSOR;
8907
309
    YYDEBUG(780, *YYCURSOR);
8908
309
    yyleng = YYCURSOR - SCNG(yy_text);
8909
309
#line 1642 "Zend/zend_language_scanner.l"
8910
309
    {
8911
309
  if (PARSER_MODE()) {
8912
77
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8913
77
    if (EG(exception)) {
8914
0
      RETURN_TOKEN(T_ERROR);
8915
0
    }
8916
77
  }
8917
309
  RETURN_TOKEN(T_INT_CAST);
8918
309
}
8919
0
#line 8920 "Zend/zend_language_scanner.c"
8920
2.15k
yy781:
8921
2.15k
    YYDEBUG(781, *YYCURSOR);
8922
2.15k
    yyaccept = 4;
8923
2.15k
    yych = *(YYMARKER = ++YYCURSOR);
8924
2.15k
    if (yych == 'E') goto yy822;
8925
1.36k
    if (yych == 'e') goto yy822;
8926
523
    goto yy48;
8927
4.38k
yy782:
8928
4.38k
    YYDEBUG(782, *YYCURSOR);
8929
4.38k
    yyaccept = 4;
8930
4.38k
    yych = *(YYMARKER = ++YYCURSOR);
8931
4.38k
    if (yych == 'H') goto yy824;
8932
3.51k
    if (yych == 'h') goto yy824;
8933
494
    goto yy48;
8934
1.48k
yy783:
8935
1.48k
    YYDEBUG(783, *YYCURSOR);
8936
1.48k
    yyaccept = 76;
8937
1.48k
    yych = *(YYMARKER = ++YYCURSOR);
8938
1.48k
    if (yybm[256+yych] & 128) {
8939
420
      goto yy47;
8940
420
    }
8941
1.06k
    if (yych == '\\') goto yy164;
8942
1.06k
yy784:
8943
1.06k
    YYDEBUG(784, *YYCURSOR);
8944
1.06k
    yyleng = YYCURSOR - SCNG(yy_text);
8945
1.06k
#line 1522 "Zend/zend_language_scanner.l"
8946
1.06k
    {
8947
1.06k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8948
1.06k
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
1.33k
yy785:
8951
1.33k
    YYDEBUG(785, *YYCURSOR);
8952
1.33k
    yych = *++YYCURSOR;
8953
1.33k
    if (yych == 'N') goto yy826;
8954
1.04k
    if (yych == 'n') goto yy826;
8955
252
    goto yy86;
8956
2.12k
yy786:
8957
2.12k
    YYDEBUG(786, *YYCURSOR);
8958
2.12k
    yych = *++YYCURSOR;
8959
2.12k
    if (yych == 'E') goto yy827;
8960
1.24k
    if (yych == 'e') goto yy827;
8961
213
    goto yy86;
8962
259k
yy787:
8963
259k
    YYDEBUG(787, *YYCURSOR);
8964
259k
    ++YYCURSOR;
8965
259k
    YYFILL(1);
8966
259k
    yych = *YYCURSOR;
8967
259k
    YYDEBUG(788, *YYCURSOR);
8968
259k
    if (yych <= '@') {
8969
225k
      if (yych <= ' ') {
8970
38.8k
        if (yych <= '\n') {
8971
11.5k
          if (yych <= 0x00) goto yy86;
8972
10.0k
          if (yych <= 0x08) goto yy590;
8973
9.65k
          goto yy787;
8974
27.2k
        } else {
8975
27.2k
          if (yych == '\r') goto yy787;
8976
19.1k
          if (yych <= 0x1F) goto yy590;
8977
18.7k
          goto yy787;
8978
19.1k
        }
8979
187k
      } else {
8980
187k
        if (yych <= ')') {
8981
174k
          if (yych == '#') goto yy828;
8982
8.63k
          goto yy590;
8983
174k
        } else {
8984
12.9k
          if (yych <= '*') goto yy668;
8985
12.3k
          if (yych == '/') goto yy829;
8986
1.98k
          goto yy590;
8987
12.3k
        }
8988
187k
      }
8989
225k
    } else {
8990
33.7k
      if (yych <= '_') {
8991
7.83k
        if (yych <= 'H') {
8992
1.95k
          if (yych == 'E') goto yy831;
8993
1.55k
          goto yy830;
8994
5.87k
        } else {
8995
5.87k
          if (yych <= 'I') goto yy832;
8996
1.73k
          if (yych <= 'Z') goto yy830;
8997
1.17k
          if (yych <= '^') goto yy590;
8998
641
          goto yy830;
8999
1.17k
        }
9000
25.8k
      } else {
9001
25.8k
        if (yych <= 'h') {
9002
12.7k
          if (yych <= '`') goto yy590;
9003
12.5k
          if (yych == 'e') goto yy831;
9004
1.54k
          goto yy830;
9005
13.1k
        } else {
9006
13.1k
          if (yych <= 'i') goto yy832;
9007
5.30k
          if (yych <= 'z') goto yy830;
9008
3.15k
          if (yych <= 0x7F) goto yy590;
9009
2.10k
          goto yy830;
9010
3.15k
        }
9011
25.8k
      }
9012
33.7k
    }
9013
21.7k
yy789:
9014
21.7k
    YYDEBUG(789, *YYCURSOR);
9015
21.7k
    ++YYCURSOR;
9016
21.7k
    YYFILL(1);
9017
21.7k
    yych = *YYCURSOR;
9018
21.7k
    YYDEBUG(790, *YYCURSOR);
9019
21.7k
    if (yych <= '\r') {
9020
8.17k
      if (yych <= '\t') {
9021
2.25k
        if (yych <= 0x00) goto yy86;
9022
1.36k
        goto yy738;
9023
5.92k
      } else {
9024
5.92k
        if (yych <= '\n') goto yy787;
9025
3.91k
        if (yych <= '\f') goto yy738;
9026
3.66k
        goto yy787;
9027
3.91k
      }
9028
13.5k
    } else {
9029
13.5k
      if (yych <= '*') {
9030
2.31k
        if (yych <= ')') goto yy738;
9031
633
        goto yy789;
9032
11.2k
      } else {
9033
11.2k
        if (yych == '/') goto yy588;
9034
4.17k
        goto yy738;
9035
11.2k
      }
9036
13.5k
    }
9037
9.98k
yy791:
9038
9.98k
    YYDEBUG(791, *YYCURSOR);
9039
9.98k
    ++YYCURSOR;
9040
9.98k
    YYFILL(1);
9041
9.98k
    yych = *YYCURSOR;
9042
9.98k
    if (yych <= '\r') {
9043
1.11k
      if (yych <= '\t') {
9044
461
        if (yych <= 0x00) goto yy86;
9045
243
        goto yy586;
9046
650
      } else {
9047
650
        if (yych <= '\n') goto yy495;
9048
450
        if (yych <= '\f') goto yy586;
9049
235
        goto yy495;
9050
450
      }
9051
8.87k
    } else {
9052
8.87k
      if (yych <= 'E') {
9053
1.90k
        if (yych <= 'D') goto yy586;
9054
1.57k
        goto yy833;
9055
6.96k
      } else {
9056
6.96k
        if (yych == 'e') goto yy833;
9057
272
        goto yy586;
9058
6.96k
      }
9059
8.87k
    }
9060
25.4k
yy792:
9061
25.4k
    YYDEBUG(792, *YYCURSOR);
9062
25.4k
    ++YYCURSOR;
9063
25.4k
    YYFILL(1);
9064
25.4k
    yych = *YYCURSOR;
9065
25.4k
    if (yych <= '\r') {
9066
1.30k
      if (yych <= '\t') {
9067
507
        if (yych <= 0x00) goto yy86;
9068
264
        goto yy586;
9069
795
      } else {
9070
795
        if (yych <= '\n') goto yy495;
9071
580
        if (yych <= '\f') goto yy586;
9072
286
        goto yy495;
9073
580
      }
9074
24.1k
    } else {
9075
24.1k
      if (yych <= 'L') {
9076
7.24k
        if (yych <= 'K') goto yy586;
9077
5.37k
        goto yy834;
9078
16.9k
      } else {
9079
16.9k
        if (yych == 'l') goto yy834;
9080
826
        goto yy586;
9081
16.9k
      }
9082
24.1k
    }
9083
4.84k
yy793:
9084
4.84k
    YYDEBUG(793, *YYCURSOR);
9085
4.84k
    yyaccept = 4;
9086
4.84k
    yych = *(YYMARKER = ++YYCURSOR);
9087
4.84k
    if (yych == 'S') goto yy835;
9088
4.32k
    if (yych == 's') goto yy835;
9089
988
    goto yy48;
9090
3.24k
yy794:
9091
3.24k
    YYDEBUG(794, *YYCURSOR);
9092
3.24k
    yyaccept = 4;
9093
3.24k
    yych = *(YYMARKER = ++YYCURSOR);
9094
3.24k
    if (yych == 'N') goto yy837;
9095
1.99k
    if (yych == 'n') goto yy837;
9096
359
    goto yy48;
9097
4.29k
yy795:
9098
4.29k
    YYDEBUG(795, *YYCURSOR);
9099
4.29k
    yyaccept = 4;
9100
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
9101
4.29k
    if (yych == 'F') goto yy838;
9102
3.54k
    if (yych == 'f') goto yy838;
9103
1.24k
    goto yy48;
9104
3.44k
yy796:
9105
3.44k
    YYDEBUG(796, *YYCURSOR);
9106
3.44k
    yyaccept = 77;
9107
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
9108
3.44k
    if (yybm[256+yych] & 128) {
9109
815
      goto yy47;
9110
815
    }
9111
2.62k
    if (yych == '\\') goto yy164;
9112
2.62k
yy797:
9113
2.62k
    YYDEBUG(797, *YYCURSOR);
9114
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
9115
2.62k
#line 1746 "Zend/zend_language_scanner.l"
9116
2.62k
    {
9117
2.62k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9118
2.62k
}
9119
0
#line 9120 "Zend/zend_language_scanner.c"
9120
4.17k
yy798:
9121
4.17k
    YYDEBUG(798, *YYCURSOR);
9122
4.17k
    yyaccept = 78;
9123
4.17k
    yych = *(YYMARKER = ++YYCURSOR);
9124
4.17k
    if (yybm[256+yych] & 128) {
9125
557
      goto yy47;
9126
557
    }
9127
3.61k
    if (yych == '\\') goto yy164;
9128
3.61k
yy799:
9129
3.61k
    YYDEBUG(799, *YYCURSOR);
9130
3.61k
    yyleng = YYCURSOR - SCNG(yy_text);
9131
3.61k
#line 1558 "Zend/zend_language_scanner.l"
9132
3.61k
    {
9133
3.61k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9134
3.61k
}
9135
0
#line 9136 "Zend/zend_language_scanner.c"
9136
14.4k
yy800:
9137
14.4k
    YYDEBUG(800, *YYCURSOR);
9138
14.4k
    yyaccept = 79;
9139
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
9140
14.4k
    if (yybm[256+yych] & 128) {
9141
586
      goto yy47;
9142
586
    }
9143
13.9k
    if (yych == '\\') goto yy840;
9144
10.9k
yy801:
9145
10.9k
    YYDEBUG(801, *YYCURSOR);
9146
10.9k
    yyleng = YYCURSOR - SCNG(yy_text);
9147
10.9k
#line 1738 "Zend/zend_language_scanner.l"
9148
10.9k
    {
9149
10.9k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9150
10.9k
}
9151
0
#line 9152 "Zend/zend_language_scanner.c"
9152
2.08k
yy802:
9153
2.08k
    YYDEBUG(802, *YYCURSOR);
9154
2.08k
    yych = *++YYCURSOR;
9155
2.08k
    if (yych == 'E') goto yy841;
9156
1.66k
    if (yych == 'e') goto yy841;
9157
495
    goto yy86;
9158
6.66k
yy803:
9159
6.66k
    YYDEBUG(803, *YYCURSOR);
9160
6.66k
    yyaccept = 80;
9161
6.66k
    yych = *(YYMARKER = ++YYCURSOR);
9162
6.66k
    if (yybm[256+yych] & 128) {
9163
432
      goto yy47;
9164
432
    }
9165
6.23k
    if (yych == '(') goto yy842;
9166
4.48k
    if (yych == '\\') goto yy164;
9167
5.60k
yy804:
9168
5.60k
    YYDEBUG(804, *YYCURSOR);
9169
5.60k
    yyleng = YYCURSOR - SCNG(yy_text);
9170
5.60k
#line 1782 "Zend/zend_language_scanner.l"
9171
5.60k
    {
9172
5.60k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9173
5.60k
}
9174
0
#line 9175 "Zend/zend_language_scanner.c"
9175
1.97k
yy805:
9176
1.97k
    YYDEBUG(805, *YYCURSOR);
9177
1.97k
    yych = *++YYCURSOR;
9178
1.97k
    if (yych == 'T') goto yy843;
9179
1.04k
    if (yych == 't') goto yy843;
9180
292
    goto yy86;
9181
2.91k
yy806:
9182
2.91k
    YYDEBUG(806, *YYCURSOR);
9183
2.91k
    yyaccept = 4;
9184
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
9185
2.91k
    if (yych == 'N') goto yy844;
9186
2.39k
    if (yych == 'n') goto yy844;
9187
356
    goto yy48;
9188
4.28k
yy807:
9189
4.28k
    YYDEBUG(807, *YYCURSOR);
9190
4.28k
    yych = *++YYCURSOR;
9191
4.28k
    if (yych == 'M') goto yy845;
9192
3.45k
    if (yych == 'm') goto yy845;
9193
352
    goto yy86;
9194
1.14M
yy808:
9195
1.14M
    YYDEBUG(808, *YYCURSOR);
9196
1.14M
    ++YYCURSOR;
9197
1.14M
    YYFILL(1);
9198
1.14M
    yych = *YYCURSOR;
9199
1.14M
    YYDEBUG(809, *YYCURSOR);
9200
1.14M
    if (yych <= '\f') {
9201
89.5k
      if (yych <= 0x00) goto yy86;
9202
83.7k
      if (yych == '\n') goto yy846;
9203
26.5k
      goto yy808;
9204
1.05M
    } else {
9205
1.05M
      if (yych <= '\r') goto yy846;
9206
1.03M
      if (yych == '*') goto yy848;
9207
1.02M
      goto yy808;
9208
1.03M
    }
9209
13.8k
yy810:
9210
13.8k
    YYDEBUG(810, *YYCURSOR);
9211
13.8k
    ++YYCURSOR;
9212
13.8k
    YYFILL(1);
9213
13.8k
    yych = *YYCURSOR;
9214
13.8k
    if (yych <= '\r') {
9215
1.80k
      if (yych <= '\t') {
9216
451
        if (yych <= 0x00) goto yy86;
9217
247
        goto yy692;
9218
1.35k
      } else {
9219
1.35k
        if (yych <= '\n') goto yy616;
9220
470
        if (yych <= '\f') goto yy692;
9221
208
        goto yy616;
9222
470
      }
9223
11.9k
    } else {
9224
11.9k
      if (yych <= 'O') {
9225
9.47k
        if (yych <= 'N') goto yy692;
9226
8.93k
        goto yy850;
9227
9.47k
      } else {
9228
2.52k
        if (yych == 'o') goto yy850;
9229
769
        goto yy692;
9230
2.52k
      }
9231
11.9k
    }
9232
3.57k
yy811:
9233
3.57k
    YYDEBUG(811, *YYCURSOR);
9234
3.57k
    yyaccept = 81;
9235
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
9236
3.57k
    if (yybm[256+yych] & 128) {
9237
421
      goto yy47;
9238
421
    }
9239
3.15k
    if (yych == '\\') goto yy164;
9240
3.15k
yy812:
9241
3.15k
    YYDEBUG(812, *YYCURSOR);
9242
3.15k
    yyleng = YYCURSOR - SCNG(yy_text);
9243
3.15k
#line 2253 "Zend/zend_language_scanner.l"
9244
3.15k
    {
9245
3.15k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9246
3.15k
}
9247
0
#line 9248 "Zend/zend_language_scanner.c"
9248
4.96k
yy813:
9249
4.96k
    YYDEBUG(813, *YYCURSOR);
9250
4.96k
    yyaccept = 4;
9251
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
9252
4.96k
    if (yych == 'N') goto yy851;
9253
1.91k
    if (yych == 'n') goto yy851;
9254
391
    goto yy48;
9255
2.85k
yy814:
9256
2.85k
    YYDEBUG(814, *YYCURSOR);
9257
2.85k
    yyaccept = 4;
9258
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
9259
2.85k
    if (yych == 'M') goto yy852;
9260
2.20k
    if (yych == 'm') goto yy852;
9261
267
    goto yy48;
9262
6.67k
yy815:
9263
6.67k
    YYDEBUG(815, *YYCURSOR);
9264
6.67k
    yyaccept = 4;
9265
6.67k
    yych = *(YYMARKER = ++YYCURSOR);
9266
6.67k
    if (yych == '_') goto yy853;
9267
303
    goto yy48;
9268
3.23k
yy816:
9269
3.23k
    YYDEBUG(816, *YYCURSOR);
9270
3.23k
    yyaccept = 4;
9271
3.23k
    yych = *(YYMARKER = ++YYCURSOR);
9272
3.23k
    if (yych == 'C') goto yy855;
9273
2.27k
    if (yych == 'c') goto yy855;
9274
335
    goto yy48;
9275
2.79k
yy817:
9276
2.79k
    YYDEBUG(817, *YYCURSOR);
9277
2.79k
    yyaccept = 4;
9278
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
9279
2.79k
    if (yych == 'Y') goto yy856;
9280
525
    if (yych == 'y') goto yy856;
9281
311
    goto yy48;
9282
2.99k
yy818:
9283
2.99k
    YYDEBUG(818, *YYCURSOR);
9284
2.99k
    yyaccept = 82;
9285
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
9286
2.99k
    if (yybm[256+yych] & 128) {
9287
426
      goto yy47;
9288
426
    }
9289
2.57k
    if (yych == '\\') goto yy164;
9290
2.57k
yy819:
9291
2.57k
    YYDEBUG(819, *YYCURSOR);
9292
2.57k
    yyleng = YYCURSOR - SCNG(yy_text);
9293
2.57k
#line 2257 "Zend/zend_language_scanner.l"
9294
2.57k
    {
9295
2.57k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9296
2.57k
}
9297
0
#line 9298 "Zend/zend_language_scanner.c"
9298
2.33k
yy820:
9299
2.33k
    YYDEBUG(820, *YYCURSOR);
9300
2.33k
    ++YYCURSOR;
9301
2.33k
    YYFILL(1);
9302
2.33k
    yych = *YYCURSOR;
9303
2.33k
    if (yych <= '\r') {
9304
1.03k
      if (yych <= '\t') {
9305
402
        if (yych <= 0x00) goto yy86;
9306
198
        goto yy443;
9307
631
      } else {
9308
631
        if (yych <= '\n') goto yy545;
9309
425
        if (yych <= '\f') goto yy443;
9310
213
        goto yy545;
9311
425
      }
9312
1.29k
    } else {
9313
1.29k
      if (yych <= '*') {
9314
625
        if (yych <= ')') goto yy443;
9315
342
        goto yy547;
9316
672
      } else {
9317
672
        if (yych == '.') goto yy774;
9318
287
        goto yy443;
9319
672
      }
9320
1.29k
    }
9321
4.63k
yy821:
9322
4.63k
    YYDEBUG(821, *YYCURSOR);
9323
4.63k
    ++YYCURSOR;
9324
4.63k
    YYFILL(1);
9325
4.63k
    yych = *YYCURSOR;
9326
4.63k
    if (yych <= '\r') {
9327
2.18k
      if (yych <= '\t') {
9328
929
        if (yych <= 0x00) goto yy86;
9329
490
        goto yy443;
9330
1.26k
      } else {
9331
1.26k
        if (yych <= '\n') goto yy545;
9332
568
        if (yych <= '\f') goto yy443;
9333
362
        goto yy545;
9334
568
      }
9335
2.44k
    } else {
9336
2.44k
      if (yych <= '*') {
9337
528
        if (yych <= ')') goto yy443;
9338
216
        goto yy547;
9339
1.91k
      } else {
9340
1.91k
        if (yych == '/') goto yy709;
9341
1.12k
        goto yy443;
9342
1.91k
      }
9343
2.44k
    }
9344
1.63k
yy822:
9345
1.63k
    YYDEBUG(822, *YYCURSOR);
9346
1.63k
    yyaccept = 83;
9347
1.63k
    yych = *(YYMARKER = ++YYCURSOR);
9348
1.63k
    if (yybm[256+yych] & 128) {
9349
812
      goto yy47;
9350
812
    }
9351
820
    if (yych == '\\') goto yy164;
9352
640
yy823:
9353
640
    YYDEBUG(823, *YYCURSOR);
9354
640
    yyleng = YYCURSOR - SCNG(yy_text);
9355
640
#line 1502 "Zend/zend_language_scanner.l"
9356
640
    {
9357
640
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9358
640
}
9359
0
#line 9360 "Zend/zend_language_scanner.c"
9360
3.89k
yy824:
9361
3.89k
    YYDEBUG(824, *YYCURSOR);
9362
3.89k
    yyaccept = 84;
9363
3.89k
    yych = *(YYMARKER = ++YYCURSOR);
9364
3.89k
    if (yybm[256+yych] & 128) {
9365
832
      goto yy47;
9366
832
    }
9367
3.06k
    if (yych == '\\') goto yy164;
9368
3.06k
yy825:
9369
3.06k
    YYDEBUG(825, *YYCURSOR);
9370
3.06k
    yyleng = YYCURSOR - SCNG(yy_text);
9371
3.06k
#line 1494 "Zend/zend_language_scanner.l"
9372
3.06k
    {
9373
3.06k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9374
3.06k
}
9375
0
#line 9376 "Zend/zend_language_scanner.c"
9376
1.08k
yy826:
9377
1.08k
    YYDEBUG(826, *YYCURSOR);
9378
1.08k
    yych = *++YYCURSOR;
9379
1.08k
    if (yych == 'D') goto yy857;
9380
829
    if (yych == 'd') goto yy857;
9381
324
    goto yy86;
9382
1.91k
yy827:
9383
1.91k
    YYDEBUG(827, *YYCURSOR);
9384
1.91k
    yych = *++YYCURSOR;
9385
1.91k
    if (yych == 'M') goto yy858;
9386
1.05k
    if (yych == 'm') goto yy858;
9387
304
    goto yy86;
9388
165k
yy828:
9389
165k
    YYDEBUG(828, *YYCURSOR);
9390
165k
    ++YYCURSOR;
9391
165k
    YYFILL(1);
9392
165k
    yych = *YYCURSOR;
9393
165k
    if (yych <= '\r') {
9394
149k
      if (yych <= '\t') {
9395
2.96k
        if (yych <= 0x00) goto yy86;
9396
2.52k
        goto yy738;
9397
146k
      } else {
9398
146k
        if (yych <= '\n') goto yy859;
9399
46.6k
        if (yych <= '\f') goto yy738;
9400
45.8k
        goto yy859;
9401
46.6k
      }
9402
149k
    } else {
9403
15.8k
      if (yych <= '*') {
9404
4.18k
        if (yych <= ')') goto yy738;
9405
2.66k
        goto yy789;
9406
11.7k
      } else {
9407
11.7k
        if (yych == '[') goto yy590;
9408
11.4k
        goto yy738;
9409
11.7k
      }
9410
15.8k
    }
9411
10.3k
yy829:
9412
10.3k
    YYDEBUG(829, *YYCURSOR);
9413
10.3k
    ++YYCURSOR;
9414
10.3k
    YYFILL(1);
9415
10.3k
    yych = *YYCURSOR;
9416
10.3k
    if (yych <= '*') {
9417
7.69k
      if (yych <= 0x00) goto yy86;
9418
7.42k
      if (yych <= ')') goto yy590;
9419
6.52k
      goto yy861;
9420
7.42k
    } else {
9421
2.69k
      if (yych == '/') goto yy738;
9422
691
      goto yy590;
9423
2.69k
    }
9424
8.55k
yy830:
9425
8.55k
    YYDEBUG(830, *YYCURSOR);
9426
8.55k
    yyaccept = 53;
9427
8.55k
    YYMARKER = ++YYCURSOR;
9428
8.55k
    YYFILL(1);
9429
8.55k
    yych = *YYCURSOR;
9430
8.55k
    if (yych <= 0x00) goto yy583;
9431
7.33k
    if (yych == '*') goto yy668;
9432
7.06k
    goto yy590;
9433
11.3k
yy831:
9434
11.3k
    YYDEBUG(831, *YYCURSOR);
9435
11.3k
    yyaccept = 53;
9436
11.3k
    YYMARKER = ++YYCURSOR;
9437
11.3k
    YYFILL(1);
9438
11.3k
    yych = *YYCURSOR;
9439
11.3k
    if (yych <= 'W') {
9440
3.25k
      if (yych <= 0x00) goto yy583;
9441
3.01k
      if (yych == '*') goto yy668;
9442
1.28k
      goto yy590;
9443
8.13k
    } else {
9444
8.13k
      if (yych <= 'X') goto yy862;
9445
7.90k
      if (yych == 'x') goto yy862;
9446
3.17k
      goto yy590;
9447
7.90k
    }
9448
11.9k
yy832:
9449
11.9k
    YYDEBUG(832, *YYCURSOR);
9450
11.9k
    yyaccept = 53;
9451
11.9k
    YYMARKER = ++YYCURSOR;
9452
11.9k
    YYFILL(1);
9453
11.9k
    yych = *YYCURSOR;
9454
11.9k
    if (yych <= 'L') {
9455
1.32k
      if (yych <= 0x00) goto yy583;
9456
822
      if (yych == '*') goto yy668;
9457
521
      goto yy590;
9458
10.6k
    } else {
9459
10.6k
      if (yych <= 'M') goto yy863;
9460
7.24k
      if (yych == 'm') goto yy863;
9461
599
      goto yy590;
9462
7.24k
    }
9463
8.26k
yy833:
9464
8.26k
    YYDEBUG(833, *YYCURSOR);
9465
8.26k
    ++YYCURSOR;
9466
8.26k
    YYFILL(1);
9467
8.26k
    yych = *YYCURSOR;
9468
8.26k
    if (yych <= '\r') {
9469
1.22k
      if (yych <= '\t') {
9470
479
        if (yych <= 0x00) goto yy86;
9471
277
        goto yy586;
9472
750
      } else {
9473
750
        if (yych <= '\n') goto yy495;
9474
521
        if (yych <= '\f') goto yy586;
9475
307
        goto yy495;
9476
521
      }
9477
7.04k
    } else {
9478
7.04k
      if (yych <= 'N') {
9479
2.31k
        if (yych <= 'M') goto yy586;
9480
1.81k
        goto yy864;
9481
4.72k
      } else {
9482
4.72k
        if (yych == 'n') goto yy864;
9483
282
        goto yy586;
9484
4.72k
      }
9485
7.04k
    }
9486
21.4k
yy834:
9487
21.4k
    YYDEBUG(834, *YYCURSOR);
9488
21.4k
    ++YYCURSOR;
9489
21.4k
    YYFILL(1);
9490
21.4k
    yych = *YYCURSOR;
9491
21.4k
    if (yych <= '\r') {
9492
1.46k
      if (yych <= '\t') {
9493
694
        if (yych <= 0x00) goto yy86;
9494
365
        goto yy586;
9495
767
      } else {
9496
767
        if (yych <= '\n') goto yy495;
9497
476
        if (yych <= '\f') goto yy586;
9498
250
        goto yy495;
9499
476
      }
9500
20.0k
    } else {
9501
20.0k
      if (yych <= 'E') {
9502
4.71k
        if (yych <= 'D') goto yy586;
9503
4.15k
        goto yy865;
9504
15.3k
      } else {
9505
15.3k
        if (yych == 'e') goto yy865;
9506
434
        goto yy586;
9507
15.3k
      }
9508
20.0k
    }
9509
3.86k
yy835:
9510
3.86k
    YYDEBUG(835, *YYCURSOR);
9511
3.86k
    yyaccept = 85;
9512
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
9513
3.86k
    if (yybm[256+yych] & 128) {
9514
510
      goto yy47;
9515
510
    }
9516
3.35k
    if (yych == '\\') goto yy164;
9517
3.34k
yy836:
9518
3.34k
    YYDEBUG(836, *YYCURSOR);
9519
3.34k
    yyleng = YYCURSOR - SCNG(yy_text);
9520
3.34k
#line 1583 "Zend/zend_language_scanner.l"
9521
3.34k
    {
9522
3.34k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9523
3.34k
}
9524
0
#line 9525 "Zend/zend_language_scanner.c"
9525
2.88k
yy837:
9526
2.88k
    YYDEBUG(837, *YYCURSOR);
9527
2.88k
    yyaccept = 4;
9528
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
9529
2.88k
    if (yych == 'C') goto yy866;
9530
2.37k
    if (yych == 'c') goto yy866;
9531
852
    goto yy48;
9532
3.05k
yy838:
9533
3.05k
    YYDEBUG(838, *YYCURSOR);
9534
3.05k
    yyaccept = 86;
9535
3.05k
    yych = *(YYMARKER = ++YYCURSOR);
9536
3.05k
    if (yybm[256+yych] & 128) {
9537
922
      goto yy47;
9538
922
    }
9539
2.13k
    if (yych == '\\') goto yy164;
9540
2.13k
yy839:
9541
2.13k
    YYDEBUG(839, *YYCURSOR);
9542
2.13k
    yyleng = YYCURSOR - SCNG(yy_text);
9543
2.13k
#line 1506 "Zend/zend_language_scanner.l"
9544
2.13k
    {
9545
2.13k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9546
2.13k
}
9547
0
#line 9548 "Zend/zend_language_scanner.c"
9548
5.86k
yy840:
9549
5.86k
    YYDEBUG(840, *YYCURSOR);
9550
5.86k
    ++YYCURSOR;
9551
5.86k
    YYFILL(1);
9552
5.86k
    yych = *YYCURSOR;
9553
5.86k
    if (yych <= '_') {
9554
2.24k
      if (yych <= '@') goto yy86;
9555
1.93k
      if (yych <= 'Z') goto yy867;
9556
1.29k
      if (yych <= '^') goto yy86;
9557
919
      goto yy867;
9558
3.62k
    } else {
9559
3.62k
      if (yych <= '`') goto yy86;
9560
3.28k
      if (yych <= 'z') goto yy867;
9561
1.37k
      if (yych <= 0x7F) goto yy86;
9562
1.13k
      goto yy867;
9563
1.37k
    }
9564
1.58k
yy841:
9565
1.58k
    YYDEBUG(841, *YYCURSOR);
9566
1.58k
    yych = *++YYCURSOR;
9567
1.58k
    if (yych == 'T') goto yy870;
9568
1.19k
    if (yych == 't') goto yy870;
9569
387
    goto yy86;
9570
1.75k
yy842:
9571
1.75k
    YYDEBUG(842, *YYCURSOR);
9572
1.75k
    yych = *++YYCURSOR;
9573
1.75k
    if (yych == 'S') goto yy871;
9574
1.48k
    if (yych == 's') goto yy871;
9575
332
    goto yy86;
9576
1.68k
yy843:
9577
1.68k
    YYDEBUG(843, *YYCURSOR);
9578
1.68k
    yych = *++YYCURSOR;
9579
1.68k
    if (yych == ')') goto yy872;
9580
313
    goto yy86;
9581
2.55k
yy844:
9582
2.55k
    YYDEBUG(844, *YYCURSOR);
9583
2.55k
    yyaccept = 4;
9584
2.55k
    yych = *(YYMARKER = ++YYCURSOR);
9585
2.55k
    if (yych == 'C') goto yy874;
9586
2.05k
    if (yych == 'c') goto yy874;
9587
400
    goto yy48;
9588
3.93k
yy845:
9589
3.93k
    YYDEBUG(845, *YYCURSOR);
9590
3.93k
    yych = *++YYCURSOR;
9591
3.93k
    if (yych <= '^') {
9592
2.18k
      if (yych <= '9') {
9593
1.09k
        if (yych <= '/') goto yy875;
9594
266
        goto yy86;
9595
1.09k
      } else {
9596
1.09k
        if (yych <= '@') goto yy875;
9597
833
        if (yych <= 'Z') goto yy86;
9598
618
        goto yy875;
9599
833
      }
9600
2.18k
    } else {
9601
1.74k
      if (yych <= '`') {
9602
561
        if (yych <= '_') goto yy86;
9603
199
        goto yy875;
9604
1.18k
      } else {
9605
1.18k
        if (yych <= 'z') goto yy86;
9606
617
        if (yych <= 0x7F) goto yy875;
9607
386
        goto yy86;
9608
617
      }
9609
1.74k
    }
9610
120k
yy846:
9611
120k
    YYDEBUG(846, *YYCURSOR);
9612
120k
    ++YYCURSOR;
9613
120k
    YYFILL(1);
9614
120k
    yych = *YYCURSOR;
9615
120k
    YYDEBUG(847, *YYCURSOR);
9616
120k
    if (yych <= '#') {
9617
92.8k
      if (yych <= '\f') {
9618
6.04k
        if (yych <= 0x00) goto yy86;
9619
5.21k
        if (yych <= 0x08) goto yy696;
9620
4.91k
        if (yych <= '\n') goto yy846;
9621
376
        goto yy696;
9622
86.8k
      } else {
9623
86.8k
        if (yych <= 0x1F) {
9624
7.01k
          if (yych <= '\r') goto yy846;
9625
224
          goto yy696;
9626
79.8k
        } else {
9627
79.8k
          if (yych <= ' ') goto yy846;
9628
76.4k
          if (yych <= '"') goto yy696;
9629
76.2k
          goto yy877;
9630
76.4k
        }
9631
86.8k
      }
9632
92.8k
    } else {
9633
27.1k
      if (yych <= '/') {
9634
11.5k
        if (yych == '*') goto yy760;
9635
11.2k
        if (yych <= '.') goto yy696;
9636
7.95k
        goto yy878;
9637
15.5k
      } else {
9638
15.5k
        if (yych <= 'F') {
9639
10.1k
          if (yych <= 'E') goto yy696;
9640
8.95k
          goto yy879;
9641
10.1k
        } else {
9642
5.45k
          if (yych == 'f') goto yy879;
9643
4.97k
          goto yy696;
9644
5.45k
        }
9645
15.5k
      }
9646
27.1k
    }
9647
15.2k
yy848:
9648
15.2k
    YYDEBUG(848, *YYCURSOR);
9649
15.2k
    ++YYCURSOR;
9650
15.2k
    YYFILL(1);
9651
15.2k
    yych = *YYCURSOR;
9652
15.2k
    YYDEBUG(849, *YYCURSOR);
9653
15.2k
    if (yych <= '\r') {
9654
6.63k
      if (yych <= '\t') {
9655
1.50k
        if (yych <= 0x00) goto yy86;
9656
1.15k
        goto yy808;
9657
5.13k
      } else {
9658
5.13k
        if (yych <= '\n') goto yy846;
9659
1.29k
        if (yych <= '\f') goto yy808;
9660
763
        goto yy846;
9661
1.29k
      }
9662
8.60k
    } else {
9663
8.60k
      if (yych <= '*') {
9664
2.69k
        if (yych <= ')') goto yy808;
9665
1.90k
        goto yy848;
9666
5.91k
      } else {
9667
5.91k
        if (yych == '/') goto yy694;
9668
3.45k
        goto yy808;
9669
5.91k
      }
9670
8.60k
    }
9671
10.6k
yy850:
9672
10.6k
    YYDEBUG(850, *YYCURSOR);
9673
10.6k
    ++YYCURSOR;
9674
10.6k
    YYFILL(1);
9675
10.6k
    yych = *YYCURSOR;
9676
10.6k
    if (yych <= '\r') {
9677
2.12k
      if (yych <= '\t') {
9678
417
        if (yych <= 0x00) goto yy86;
9679
213
        goto yy692;
9680
1.70k
      } else {
9681
1.70k
        if (yych <= '\n') goto yy616;
9682
789
        if (yych <= '\f') goto yy692;
9683
200
        goto yy616;
9684
789
      }
9685
8.56k
    } else {
9686
8.56k
      if (yych <= 'M') {
9687
5.83k
        if (yych <= 'L') goto yy692;
9688
4.84k
        goto yy880;
9689
5.83k
      } else {
9690
2.73k
        if (yych == 'm') goto yy880;
9691
250
        goto yy692;
9692
2.73k
      }
9693
8.56k
    }
9694
4.57k
yy851:
9695
4.57k
    YYDEBUG(851, *YYCURSOR);
9696
4.57k
    yyaccept = 4;
9697
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
9698
4.57k
    if (yych == '_') goto yy881;
9699
241
    goto yy48;
9700
2.58k
yy852:
9701
2.58k
    YYDEBUG(852, *YYCURSOR);
9702
2.58k
    yyaccept = 4;
9703
2.58k
    yych = *(YYMARKER = ++YYCURSOR);
9704
2.58k
    if (yych == 'P') goto yy882;
9705
1.89k
    if (yych == 'p') goto yy882;
9706
233
    goto yy48;
9707
6.36k
yy853:
9708
6.36k
    YYDEBUG(853, *YYCURSOR);
9709
6.36k
    yyaccept = 87;
9710
6.36k
    yych = *(YYMARKER = ++YYCURSOR);
9711
6.36k
    if (yybm[256+yych] & 128) {
9712
622
      goto yy47;
9713
622
    }
9714
5.74k
    if (yych == '\\') goto yy164;
9715
5.74k
yy854:
9716
5.74k
    YYDEBUG(854, *YYCURSOR);
9717
5.74k
    yyleng = YYCURSOR - SCNG(yy_text);
9718
5.74k
#line 2269 "Zend/zend_language_scanner.l"
9719
5.74k
    {
9720
5.74k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9721
5.74k
}
9722
0
#line 9723 "Zend/zend_language_scanner.c"
9723
2.89k
yy855:
9724
2.89k
    YYDEBUG(855, *YYCURSOR);
9725
2.89k
    yyaccept = 4;
9726
2.89k
    yych = *(YYMARKER = ++YYCURSOR);
9727
2.89k
    if (yych == 'E') goto yy883;
9728
2.29k
    if (yych == 'e') goto yy883;
9729
462
    goto yy48;
9730
2.47k
yy856:
9731
2.47k
    YYDEBUG(856, *YYCURSOR);
9732
2.47k
    yyaccept = 4;
9733
2.47k
    yych = *(YYMARKER = ++YYCURSOR);
9734
2.47k
    if (yych == '_') goto yy884;
9735
390
    goto yy48;
9736
1.27k
yy857:
9737
1.27k
    YYDEBUG(857, *YYCURSOR);
9738
1.27k
    yych = *++YYCURSOR;
9739
1.27k
    if (yych == 'S') goto yy885;
9740
1.07k
    if (yych == 's') goto yy885;
9741
661
    goto yy86;
9742
1.60k
yy858:
9743
1.60k
    YYDEBUG(858, *YYCURSOR);
9744
1.60k
    yych = *++YYCURSOR;
9745
1.60k
    if (yych == 'E') goto yy887;
9746
942
    if (yych == 'e') goto yy887;
9747
255
    goto yy86;
9748
213k
yy859:
9749
213k
    YYDEBUG(859, *YYCURSOR);
9750
213k
    ++YYCURSOR;
9751
213k
    YYFILL(1);
9752
213k
    yych = *YYCURSOR;
9753
213k
    YYDEBUG(860, *YYCURSOR);
9754
213k
    if (yych <= '@') {
9755
96.3k
      if (yych <= 0x1F) {
9756
9.97k
        if (yych <= '\t') {
9757
1.69k
          if (yych <= 0x00) goto yy86;
9758
1.21k
          if (yych <= 0x08) goto yy738;
9759
481
          goto yy859;
9760
8.28k
        } else {
9761
8.28k
          if (yych <= '\n') goto yy787;
9762
6.06k
          if (yych == '\r') goto yy787;
9763
383
          goto yy738;
9764
6.06k
        }
9765
86.3k
      } else {
9766
86.3k
        if (yych <= ')') {
9767
64.9k
          if (yych <= ' ') goto yy859;
9768
27.7k
          if (yych == '#') goto yy888;
9769
1.03k
          goto yy738;
9770
27.7k
        } else {
9771
21.4k
          if (yych <= '*') goto yy789;
9772
21.1k
          if (yych == '/') goto yy889;
9773
1.36k
          goto yy738;
9774
21.1k
        }
9775
86.3k
      }
9776
116k
    } else {
9777
116k
      if (yych <= '_') {
9778
11.0k
        if (yych <= 'H') {
9779
577
          if (yych == 'E') goto yy891;
9780
274
          goto yy890;
9781
10.4k
        } else {
9782
10.4k
          if (yych <= 'I') goto yy892;
9783
1.54k
          if (yych <= 'Z') goto yy890;
9784
510
          if (yych <= '^') goto yy738;
9785
229
          goto yy890;
9786
510
        }
9787
105k
      } else {
9788
105k
        if (yych <= 'h') {
9789
60.6k
          if (yych <= '`') goto yy738;
9790
60.4k
          if (yych == 'e') goto yy891;
9791
816
          goto yy890;
9792
60.4k
        } else {
9793
44.8k
          if (yych <= 'i') goto yy892;
9794
13.5k
          if (yych <= 'z') goto yy890;
9795
7.99k
          if (yych <= 0x7F) goto yy738;
9796
2.93k
          goto yy890;
9797
7.99k
        }
9798
105k
      }
9799
116k
    }
9800
6.52k
yy861:
9801
6.52k
    YYDEBUG(861, *YYCURSOR);
9802
6.52k
    ++YYCURSOR;
9803
6.52k
    YYFILL(1);
9804
6.52k
    yych = *YYCURSOR;
9805
6.52k
    if (yych <= '*') {
9806
731
      if (yych <= 0x00) goto yy86;
9807
506
      if (yych <= ')') goto yy590;
9808
208
      goto yy668;
9809
5.79k
    } else {
9810
5.79k
      if (yych == '/') goto yy787;
9811
322
      goto yy590;
9812
5.79k
    }
9813
4.95k
yy862:
9814
4.95k
    YYDEBUG(862, *YYCURSOR);
9815
4.95k
    ++YYCURSOR;
9816
4.95k
    YYFILL(1);
9817
4.95k
    yych = *YYCURSOR;
9818
4.95k
    if (yych <= 'S') {
9819
727
      if (yych <= 0x00) goto yy86;
9820
516
      if (yych == '*') goto yy668;
9821
321
      goto yy590;
9822
4.22k
    } else {
9823
4.22k
      if (yych <= 'T') goto yy893;
9824
3.18k
      if (yych == 't') goto yy893;
9825
233
      goto yy590;
9826
3.18k
    }
9827
10.0k
yy863:
9828
10.0k
    YYDEBUG(863, *YYCURSOR);
9829
10.0k
    ++YYCURSOR;
9830
10.0k
    YYFILL(1);
9831
10.0k
    yych = *YYCURSOR;
9832
10.0k
    if (yych <= 'O') {
9833
800
      if (yych <= 0x00) goto yy86;
9834
416
      if (yych == '*') goto yy668;
9835
206
      goto yy590;
9836
9.25k
    } else {
9837
9.25k
      if (yych <= 'P') goto yy894;
9838
6.87k
      if (yych == 'p') goto yy894;
9839
361
      goto yy590;
9840
6.87k
    }
9841
6.25k
yy864:
9842
6.25k
    YYDEBUG(864, *YYCURSOR);
9843
6.25k
    ++YYCURSOR;
9844
6.25k
    YYFILL(1);
9845
6.25k
    yych = *YYCURSOR;
9846
6.25k
    if (yych <= '\r') {
9847
1.42k
      if (yych <= '\t') {
9848
497
        if (yych <= 0x00) goto yy86;
9849
293
        goto yy586;
9850
928
      } else {
9851
928
        if (yych <= '\n') goto yy495;
9852
733
        if (yych <= '\f') goto yy586;
9853
535
        goto yy495;
9854
733
      }
9855
4.83k
    } else {
9856
4.83k
      if (yych <= 'D') {
9857
1.56k
        if (yych <= 'C') goto yy586;
9858
972
        goto yy895;
9859
3.26k
      } else {
9860
3.26k
        if (yych == 'd') goto yy895;
9861
1.89k
        goto yy586;
9862
3.26k
      }
9863
4.83k
    }
9864
19.0k
yy865:
9865
19.0k
    YYDEBUG(865, *YYCURSOR);
9866
19.0k
    ++YYCURSOR;
9867
19.0k
    YYFILL(1);
9868
19.0k
    yych = *YYCURSOR;
9869
19.0k
    if (yych <= '\r') {
9870
2.52k
      if (yych <= '\t') {
9871
469
        if (yych <= 0x00) goto yy86;
9872
231
        goto yy586;
9873
2.05k
      } else {
9874
2.05k
        if (yych <= '\n') goto yy495;
9875
514
        if (yych <= '\f') goto yy586;
9876
214
        goto yy495;
9877
514
      }
9878
16.5k
    } else {
9879
16.5k
      if (yych <= 'M') {
9880
8.66k
        if (yych <= 'L') goto yy586;
9881
8.38k
        goto yy896;
9882
8.66k
      } else {
9883
7.85k
        if (yych == 'm') goto yy896;
9884
2.33k
        goto yy586;
9885
7.85k
      }
9886
16.5k
    }
9887
2.03k
yy866:
9888
2.03k
    YYDEBUG(866, *YYCURSOR);
9889
2.03k
    yyaccept = 4;
9890
2.03k
    yych = *(YYMARKER = ++YYCURSOR);
9891
2.03k
    if (yych == 'E') goto yy897;
9892
1.51k
    if (yych == 'e') goto yy897;
9893
331
    goto yy48;
9894
24.4k
yy867:
9895
24.4k
    YYDEBUG(867, *YYCURSOR);
9896
24.4k
    yyaccept = 88;
9897
24.4k
    YYMARKER = ++YYCURSOR;
9898
24.4k
    YYFILL(1);
9899
24.4k
    yych = *YYCURSOR;
9900
24.4k
    YYDEBUG(868, *YYCURSOR);
9901
24.4k
    if (yych <= '\\') {
9902
10.8k
      if (yych <= '@') {
9903
5.61k
        if (yych <= '/') goto yy869;
9904
4.51k
        if (yych <= '9') goto yy867;
9905
5.23k
      } else {
9906
5.23k
        if (yych <= 'Z') goto yy867;
9907
2.38k
        if (yych >= '\\') goto yy840;
9908
2.38k
      }
9909
13.5k
    } else {
9910
13.5k
      if (yych <= '`') {
9911
1.29k
        if (yych == '_') goto yy867;
9912
12.3k
      } else {
9913
12.3k
        if (yych <= 'z') goto yy867;
9914
6.17k
        if (yych >= 0x80) goto yy867;
9915
6.17k
      }
9916
13.5k
    }
9917
2.98k
yy869:
9918
2.98k
    YYDEBUG(869, *YYCURSOR);
9919
2.98k
    yyleng = YYCURSOR - SCNG(yy_text);
9920
2.98k
#line 2439 "Zend/zend_language_scanner.l"
9921
2.98k
    {
9922
2.98k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9923
2.98k
}
9924
0
#line 9925 "Zend/zend_language_scanner.c"
9925
1.20k
yy870:
9926
1.20k
    YYDEBUG(870, *YYCURSOR);
9927
1.20k
    yych = *++YYCURSOR;
9928
1.20k
    if (yych == ')') goto yy899;
9929
407
    goto yy86;
9930
1.42k
yy871:
9931
1.42k
    YYDEBUG(871, *YYCURSOR);
9932
1.42k
    yych = *++YYCURSOR;
9933
1.42k
    if (yych == 'E') goto yy901;
9934
1.11k
    if (yych == 'e') goto yy901;
9935
272
    goto yy86;
9936
1.37k
yy872:
9937
1.37k
    YYDEBUG(872, *YYCURSOR);
9938
1.37k
    ++YYCURSOR;
9939
1.37k
    YYDEBUG(873, *YYCURSOR);
9940
1.37k
    yyleng = YYCURSOR - SCNG(yy_text);
9941
1.37k
#line 1786 "Zend/zend_language_scanner.l"
9942
1.37k
    {
9943
1.37k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9944
1.37k
}
9945
0
#line 9946 "Zend/zend_language_scanner.c"
9946
2.15k
yy874:
9947
2.15k
    YYDEBUG(874, *YYCURSOR);
9948
2.15k
    yyaccept = 4;
9949
2.15k
    yych = *(YYMARKER = ++YYCURSOR);
9950
2.15k
    if (yych == 'E') goto yy902;
9951
1.80k
    if (yych == 'e') goto yy902;
9952
605
    goto yy48;
9953
2.80k
yy875:
9954
2.80k
    YYDEBUG(875, *YYCURSOR);
9955
2.80k
    ++YYCURSOR;
9956
18.0k
yy876:
9957
18.0k
    YYDEBUG(876, *YYCURSOR);
9958
18.0k
    yyleng = YYCURSOR - SCNG(yy_text);
9959
18.0k
#line 1428 "Zend/zend_language_scanner.l"
9960
18.0k
    {
9961
18.0k
  yyless(yyleng - 1);
9962
18.0k
  HANDLE_NEWLINES(yytext, yyleng);
9963
18.0k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9964
18.0k
}
9965
0
#line 9966 "Zend/zend_language_scanner.c"
9966
76.7k
yy877:
9967
76.7k
    YYDEBUG(877, *YYCURSOR);
9968
76.7k
    ++YYCURSOR;
9969
76.7k
    YYFILL(1);
9970
76.7k
    yych = *YYCURSOR;
9971
76.7k
    if (yych <= '\r') {
9972
68.7k
      if (yych <= '\t') {
9973
786
        if (yych <= 0x00) goto yy86;
9974
330
        goto yy808;
9975
67.9k
      } else {
9976
67.9k
        if (yych <= '\n') goto yy904;
9977
38.3k
        if (yych <= '\f') goto yy808;
9978
38.0k
        goto yy904;
9979
38.3k
      }
9980
68.7k
    } else {
9981
7.97k
      if (yych <= '*') {
9982
4.08k
        if (yych <= ')') goto yy808;
9983
335
        goto yy848;
9984
4.08k
      } else {
9985
3.88k
        if (yych == '[') goto yy696;
9986
3.66k
        goto yy808;
9987
3.88k
      }
9988
7.97k
    }
9989
8.19k
yy878:
9990
8.19k
    YYDEBUG(878, *YYCURSOR);
9991
8.19k
    ++YYCURSOR;
9992
8.19k
    YYFILL(1);
9993
8.19k
    yych = *YYCURSOR;
9994
8.19k
    if (yych <= '*') {
9995
6.62k
      if (yych <= 0x00) goto yy86;
9996
6.39k
      if (yych <= ')') goto yy696;
9997
5.74k
      goto yy906;
9998
6.39k
    } else {
9999
1.57k
      if (yych == '/') goto yy808;
10000
449
      goto yy696;
10001
1.57k
    }
10002
10.1k
yy879:
10003
10.1k
    YYDEBUG(879, *YYCURSOR);
10004
10.1k
    ++YYCURSOR;
10005
10.1k
    YYFILL(1);
10006
10.1k
    yych = *YYCURSOR;
10007
10.1k
    if (yych <= 'Q') {
10008
1.66k
      if (yych <= 0x00) goto yy86;
10009
1.42k
      if (yych == '*') goto yy760;
10010
1.23k
      goto yy696;
10011
8.49k
    } else {
10012
8.49k
      if (yych <= 'R') goto yy907;
10013
899
      if (yych == 'r') goto yy907;
10014
585
      goto yy696;
10015
899
    }
10016
7.32k
yy880:
10017
7.32k
    YYDEBUG(880, *YYCURSOR);
10018
7.32k
    ++YYCURSOR;
10019
7.32k
    YYFILL(1);
10020
7.32k
    yych = *YYCURSOR;
10021
7.32k
    if (yych <= '9') {
10022
4.46k
      if (yych <= '\n') {
10023
2.19k
        if (yych <= 0x00) goto yy875;
10024
1.98k
        if (yych <= '\t') goto yy908;
10025
1.74k
        goto yy909;
10026
2.26k
      } else {
10027
2.26k
        if (yych == '\r') goto yy909;
10028
991
        if (yych <= '/') goto yy908;
10029
196
        goto yy692;
10030
991
      }
10031
4.46k
    } else {
10032
2.86k
      if (yych <= '_') {
10033
1.08k
        if (yych <= '@') goto yy908;
10034
814
        if (yych <= 'Z') goto yy692;
10035
530
        if (yych <= '^') goto yy908;
10036
208
        goto yy692;
10037
1.78k
      } else {
10038
1.78k
        if (yych <= '`') goto yy908;
10039
1.56k
        if (yych <= 'z') goto yy692;
10040
1.30k
        if (yych <= 0x7F) goto yy908;
10041
755
        goto yy692;
10042
1.30k
      }
10043
2.86k
    }
10044
4.33k
yy881:
10045
4.33k
    YYDEBUG(881, *YYCURSOR);
10046
4.33k
    yyaccept = 4;
10047
4.33k
    yych = *(YYMARKER = ++YYCURSOR);
10048
4.33k
    if (yych == '_') goto yy910;
10049
318
    goto yy48;
10050
2.35k
yy882:
10051
2.35k
    YYDEBUG(882, *YYCURSOR);
10052
2.35k
    yyaccept = 4;
10053
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
10054
2.35k
    if (yych == 'I') goto yy912;
10055
1.88k
    if (yych == 'i') goto yy912;
10056
215
    goto yy48;
10057
2.43k
yy883:
10058
2.43k
    YYDEBUG(883, *YYCURSOR);
10059
2.43k
    yyaccept = 4;
10060
2.43k
    yych = *(YYMARKER = ++YYCURSOR);
10061
2.43k
    if (yych == '_') goto yy913;
10062
536
    goto yy48;
10063
2.08k
yy884:
10064
2.08k
    YYDEBUG(884, *YYCURSOR);
10065
2.08k
    yyaccept = 4;
10066
2.08k
    yych = *(YYMARKER = ++YYCURSOR);
10067
2.08k
    if (yych == '_') goto yy914;
10068
424
    goto yy48;
10069
609
yy885:
10070
609
    YYDEBUG(885, *YYCURSOR);
10071
609
    ++YYCURSOR;
10072
3.14k
yy886:
10073
3.14k
    YYDEBUG(886, *YYCURSOR);
10074
3.14k
    yyleng = YYCURSOR - SCNG(yy_text);
10075
3.14k
#line 1570 "Zend/zend_language_scanner.l"
10076
3.14k
    {
10077
3.14k
  yyless(4);
10078
3.14k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10079
3.14k
}
10080
0
#line 10081 "Zend/zend_language_scanner.c"
10081
1.35k
yy887:
10082
1.35k
    YYDEBUG(887, *YYCURSOR);
10083
1.35k
    yych = *++YYCURSOR;
10084
1.35k
    if (yych == 'N') goto yy916;
10085
1.02k
    if (yych == 'n') goto yy916;
10086
437
    goto yy86;
10087
26.7k
yy888:
10088
26.7k
    YYDEBUG(888, *YYCURSOR);
10089
26.7k
    ++YYCURSOR;
10090
26.7k
    YYFILL(1);
10091
26.7k
    yych = *YYCURSOR;
10092
26.7k
    if (yych <= '\f') {
10093
16.6k
      if (yych <= 0x00) goto yy86;
10094
16.3k
      if (yych == '\n') goto yy859;
10095
424
      goto yy738;
10096
16.3k
    } else {
10097
10.0k
      if (yych <= '\r') goto yy859;
10098
7.85k
      if (yych == '*') goto yy789;
10099
7.58k
      goto yy738;
10100
7.85k
    }
10101
19.7k
yy889:
10102
19.7k
    YYDEBUG(889, *YYCURSOR);
10103
19.7k
    ++YYCURSOR;
10104
19.7k
    YYFILL(1);
10105
19.7k
    yych = *YYCURSOR;
10106
19.7k
    if (yych <= '\f') {
10107
1.43k
      if (yych <= 0x00) goto yy86;
10108
443
      if (yych == '\n') goto yy787;
10109
204
      goto yy738;
10110
18.3k
    } else {
10111
18.3k
      if (yych <= '\r') goto yy787;
10112
17.6k
      if (yych == '*') goto yy917;
10113
1.60k
      goto yy738;
10114
17.6k
    }
10115
10.8k
yy890:
10116
10.8k
    YYDEBUG(890, *YYCURSOR);
10117
10.8k
    yyaccept = 53;
10118
10.8k
    YYMARKER = ++YYCURSOR;
10119
10.8k
    YYFILL(1);
10120
10.8k
    yych = *YYCURSOR;
10121
10.8k
    if (yych <= '\f') {
10122
1.19k
      if (yych <= 0x00) goto yy583;
10123
702
      if (yych == '\n') goto yy787;
10124
321
      goto yy738;
10125
9.62k
    } else {
10126
9.62k
      if (yych <= '\r') goto yy787;
10127
8.49k
      if (yych == '*') goto yy789;
10128
7.90k
      goto yy738;
10129
8.49k
    }
10130
59.9k
yy891:
10131
59.9k
    YYDEBUG(891, *YYCURSOR);
10132
59.9k
    yyaccept = 53;
10133
59.9k
    YYMARKER = ++YYCURSOR;
10134
59.9k
    YYFILL(1);
10135
59.9k
    yych = *YYCURSOR;
10136
59.9k
    if (yych <= ')') {
10137
2.38k
      if (yych <= '\n') {
10138
1.65k
        if (yych <= 0x00) goto yy583;
10139
1.33k
        if (yych <= '\t') goto yy738;
10140
497
        goto yy787;
10141
1.33k
      } else {
10142
727
        if (yych == '\r') goto yy787;
10143
239
        goto yy738;
10144
727
      }
10145
57.5k
    } else {
10146
57.5k
      if (yych <= 'X') {
10147
10.2k
        if (yych <= '*') goto yy789;
10148
10.0k
        if (yych <= 'W') goto yy738;
10149
762
        goto yy918;
10150
47.3k
      } else {
10151
47.3k
        if (yych == 'x') goto yy918;
10152
35.4k
        goto yy738;
10153
47.3k
      }
10154
57.5k
    }
10155
40.3k
yy892:
10156
40.3k
    YYDEBUG(892, *YYCURSOR);
10157
40.3k
    yyaccept = 53;
10158
40.3k
    YYMARKER = ++YYCURSOR;
10159
40.3k
    YYFILL(1);
10160
40.3k
    yych = *YYCURSOR;
10161
40.3k
    if (yych <= ')') {
10162
4.08k
      if (yych <= '\n') {
10163
809
        if (yych <= 0x00) goto yy583;
10164
530
        if (yych <= '\t') goto yy738;
10165
275
        goto yy787;
10166
3.27k
      } else {
10167
3.27k
        if (yych == '\r') goto yy787;
10168
1.69k
        goto yy738;
10169
3.27k
      }
10170
36.2k
    } else {
10171
36.2k
      if (yych <= 'M') {
10172
6.30k
        if (yych <= '*') goto yy789;
10173
6.05k
        if (yych <= 'L') goto yy738;
10174
5.85k
        goto yy919;
10175
29.9k
      } else {
10176
29.9k
        if (yych == 'm') goto yy919;
10177
2.17k
        goto yy738;
10178
29.9k
      }
10179
36.2k
    }
10180
3.99k
yy893:
10181
3.99k
    YYDEBUG(893, *YYCURSOR);
10182
3.99k
    ++YYCURSOR;
10183
3.99k
    YYFILL(1);
10184
3.99k
    yych = *YYCURSOR;
10185
3.99k
    if (yych <= 'D') {
10186
625
      if (yych <= 0x00) goto yy86;
10187
430
      if (yych == '*') goto yy668;
10188
223
      goto yy590;
10189
3.37k
    } else {
10190
3.37k
      if (yych <= 'E') goto yy920;
10191
3.10k
      if (yych == 'e') goto yy920;
10192
211
      goto yy590;
10193
3.10k
    }
10194
8.89k
yy894:
10195
8.89k
    YYDEBUG(894, *YYCURSOR);
10196
8.89k
    ++YYCURSOR;
10197
8.89k
    YYFILL(1);
10198
8.89k
    yych = *YYCURSOR;
10199
8.89k
    if (yych <= 'K') {
10200
2.76k
      if (yych <= 0x00) goto yy86;
10201
2.56k
      if (yych == '*') goto yy668;
10202
2.36k
      goto yy590;
10203
6.13k
    } else {
10204
6.13k
      if (yych <= 'L') goto yy921;
10205
3.98k
      if (yych == 'l') goto yy921;
10206
213
      goto yy590;
10207
3.98k
    }
10208
4.28k
yy895:
10209
4.28k
    YYDEBUG(895, *YYCURSOR);
10210
4.28k
    ++YYCURSOR;
10211
4.28k
    YYFILL(1);
10212
4.28k
    yych = *YYCURSOR;
10213
4.28k
    if (yych <= '\r') {
10214
1.83k
      if (yych <= '\t') {
10215
641
        if (yych <= 0x00) goto yy86;
10216
217
        goto yy586;
10217
1.19k
      } else {
10218
1.19k
        if (yych <= '\n') goto yy495;
10219
1.00k
        if (yych <= '\f') goto yy586;
10220
323
        goto yy495;
10221
1.00k
      }
10222
2.45k
    } else {
10223
2.45k
      if (yych <= 'S') {
10224
1.17k
        if (yych <= 'R') goto yy586;
10225
692
        goto yy922;
10226
1.27k
      } else {
10227
1.27k
        if (yych == 's') goto yy922;
10228
416
        goto yy586;
10229
1.27k
      }
10230
2.45k
    }
10231
13.9k
yy896:
10232
13.9k
    YYDEBUG(896, *YYCURSOR);
10233
13.9k
    ++YYCURSOR;
10234
13.9k
    YYFILL(1);
10235
13.9k
    yych = *YYCURSOR;
10236
13.9k
    if (yych <= '\r') {
10237
1.79k
      if (yych <= '\t') {
10238
872
        if (yych <= 0x00) goto yy86;
10239
570
        goto yy586;
10240
926
      } else {
10241
926
        if (yych <= '\n') goto yy495;
10242
570
        if (yych <= '\f') goto yy586;
10243
336
        goto yy495;
10244
570
      }
10245
12.1k
    } else {
10246
12.1k
      if (yych <= 'E') {
10247
3.60k
        if (yych <= 'D') goto yy586;
10248
2.91k
        goto yy923;
10249
8.51k
      } else {
10250
8.51k
        if (yych == 'e') goto yy923;
10251
763
        goto yy586;
10252
8.51k
      }
10253
12.1k
    }
10254
1.70k
yy897:
10255
1.70k
    YYDEBUG(897, *YYCURSOR);
10256
1.70k
    yyaccept = 89;
10257
1.70k
    yych = *(YYMARKER = ++YYCURSOR);
10258
1.70k
    if (yybm[256+yych] & 128) {
10259
303
      goto yy47;
10260
303
    }
10261
1.40k
    if (yych == '\\') goto yy164;
10262
1.39k
yy898:
10263
1.39k
    YYDEBUG(898, *YYCURSOR);
10264
1.39k
    yyleng = YYCURSOR - SCNG(yy_text);
10265
1.39k
#line 1726 "Zend/zend_language_scanner.l"
10266
1.39k
    {
10267
1.39k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10268
1.39k
}
10269
0
#line 10270 "Zend/zend_language_scanner.c"
10270
795
yy899:
10271
795
    YYDEBUG(899, *YYCURSOR);
10272
795
    ++YYCURSOR;
10273
795
    YYDEBUG(900, *YYCURSOR);
10274
795
    yyleng = YYCURSOR - SCNG(yy_text);
10275
795
#line 1794 "Zend/zend_language_scanner.l"
10276
795
    {
10277
795
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10278
795
}
10279
0
#line 10280 "Zend/zend_language_scanner.c"
10280
1.15k
yy901:
10281
1.15k
    YYDEBUG(901, *YYCURSOR);
10282
1.15k
    yych = *++YYCURSOR;
10283
1.15k
    if (yych == 'T') goto yy924;
10284
884
    if (yych == 't') goto yy924;
10285
470
    goto yy86;
10286
1.55k
yy902:
10287
1.55k
    YYDEBUG(902, *YYCURSOR);
10288
1.55k
    yyaccept = 90;
10289
1.55k
    yych = *(YYMARKER = ++YYCURSOR);
10290
1.55k
    if (yybm[256+yych] & 128) {
10291
425
      goto yy47;
10292
425
    }
10293
1.12k
    if (yych == '\\') goto yy164;
10294
1.12k
yy903:
10295
1.12k
    YYDEBUG(903, *YYCURSOR);
10296
1.12k
    yyleng = YYCURSOR - SCNG(yy_text);
10297
1.12k
#line 1734 "Zend/zend_language_scanner.l"
10298
1.12k
    {
10299
1.12k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10300
1.12k
}
10301
0
#line 10302 "Zend/zend_language_scanner.c"
10302
91.6k
yy904:
10303
91.6k
    YYDEBUG(904, *YYCURSOR);
10304
91.6k
    ++YYCURSOR;
10305
91.6k
    YYFILL(1);
10306
91.6k
    yych = *YYCURSOR;
10307
91.6k
    YYDEBUG(905, *YYCURSOR);
10308
91.6k
    if (yych <= '"') {
10309
18.5k
      if (yych <= '\n') {
10310
2.55k
        if (yych <= 0x00) goto yy86;
10311
2.28k
        if (yych <= 0x08) goto yy808;
10312
2.02k
        if (yych <= '\t') goto yy904;
10313
1.55k
        goto yy846;
10314
15.9k
      } else {
10315
15.9k
        if (yych <= '\r') {
10316
3.91k
          if (yych <= '\f') goto yy808;
10317
3.67k
          goto yy846;
10318
12.0k
        } else {
10319
12.0k
          if (yych == ' ') goto yy904;
10320
568
          goto yy808;
10321
12.0k
        }
10322
15.9k
      }
10323
73.1k
    } else {
10324
73.1k
      if (yych <= '/') {
10325
24.4k
        if (yych <= ')') {
10326
14.6k
          if (yych <= '#') goto yy925;
10327
1.07k
          goto yy808;
10328
14.6k
        } else {
10329
9.74k
          if (yych <= '*') goto yy848;
10330
9.30k
          if (yych <= '.') goto yy808;
10331
8.91k
          goto yy926;
10332
9.30k
        }
10333
48.7k
      } else {
10334
48.7k
        if (yych <= 'F') {
10335
25.3k
          if (yych <= 'E') goto yy808;
10336
23.6k
          goto yy927;
10337
25.3k
        } else {
10338
23.3k
          if (yych == 'f') goto yy927;
10339
21.9k
          goto yy808;
10340
23.3k
        }
10341
48.7k
      }
10342
73.1k
    }
10343
5.74k
yy906:
10344
5.74k
    YYDEBUG(906, *YYCURSOR);
10345
5.74k
    ++YYCURSOR;
10346
5.74k
    YYFILL(1);
10347
5.74k
    yych = *YYCURSOR;
10348
5.74k
    if (yych <= '*') {
10349
981
      if (yych <= 0x00) goto yy86;
10350
774
      if (yych <= ')') goto yy696;
10351
204
      goto yy760;
10352
4.76k
    } else {
10353
4.76k
      if (yych == '/') goto yy846;
10354
283
      goto yy696;
10355
4.76k
    }
10356
7.90k
yy907:
10357
7.90k
    YYDEBUG(907, *YYCURSOR);
10358
7.90k
    ++YYCURSOR;
10359
7.90k
    YYFILL(1);
10360
7.90k
    yych = *YYCURSOR;
10361
7.90k
    if (yych <= 'N') {
10362
953
      if (yych <= 0x00) goto yy86;
10363
682
      if (yych == '*') goto yy760;
10364
448
      goto yy696;
10365
6.95k
    } else {
10366
6.95k
      if (yych <= 'O') goto yy928;
10367
1.23k
      if (yych == 'o') goto yy928;
10368
254
      goto yy696;
10369
1.23k
    }
10370
2.39k
yy908:
10371
2.39k
    YYDEBUG(908, *YYCURSOR);
10372
2.39k
    yyaccept = 91;
10373
2.39k
    YYMARKER = ++YYCURSOR;
10374
2.39k
    YYFILL(1);
10375
2.39k
    yych = *YYCURSOR;
10376
2.39k
    if (yych <= '\n') {
10377
1.23k
      if (yych <= 0x00) goto yy876;
10378
950
      if (yych <= '\t') goto yy692;
10379
560
      goto yy616;
10380
1.16k
    } else {
10381
1.16k
      if (yych == '\r') goto yy616;
10382
909
      goto yy692;
10383
1.16k
    }
10384
3.02k
yy909:
10385
3.02k
    YYDEBUG(909, *YYCURSOR);
10386
3.02k
    yyaccept = 91;
10387
3.02k
    YYMARKER = ++YYCURSOR;
10388
3.02k
    YYFILL(5);
10389
3.02k
    yych = *YYCURSOR;
10390
3.02k
    if (yych <= '"') {
10391
1.49k
      if (yych <= '\f') {
10392
800
        if (yych <= 0x08) goto yy876;
10393
588
        if (yych <= '\n') goto yy616;
10394
223
        goto yy876;
10395
690
      } else {
10396
690
        if (yych <= '\r') goto yy616;
10397
481
        if (yych == ' ') goto yy616;
10398
262
        goto yy876;
10399
481
      }
10400
1.53k
    } else {
10401
1.53k
      if (yych <= 'E') {
10402
795
        if (yych <= '#') goto yy618;
10403
417
        if (yych == '/') goto yy619;
10404
216
        goto yy876;
10405
736
      } else {
10406
736
        if (yych <= 'F') goto yy691;
10407
538
        if (yych == 'f') goto yy691;
10408
343
        goto yy876;
10409
538
      }
10410
1.53k
    }
10411
4.01k
yy910:
10412
4.01k
    YYDEBUG(910, *YYCURSOR);
10413
4.01k
    yyaccept = 92;
10414
4.01k
    yych = *(YYMARKER = ++YYCURSOR);
10415
4.01k
    if (yybm[256+yych] & 128) {
10416
648
      goto yy47;
10417
648
    }
10418
3.36k
    if (yych == '\\') goto yy164;
10419
3.36k
yy911:
10420
3.36k
    YYDEBUG(911, *YYCURSOR);
10421
3.36k
    yyleng = YYCURSOR - SCNG(yy_text);
10422
3.36k
#line 2261 "Zend/zend_language_scanner.l"
10423
3.36k
    {
10424
3.36k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10425
3.36k
}
10426
0
#line 10427 "Zend/zend_language_scanner.c"
10427
2.13k
yy912:
10428
2.13k
    YYDEBUG(912, *YYCURSOR);
10429
2.13k
    yyaccept = 4;
10430
2.13k
    yych = *(YYMARKER = ++YYCURSOR);
10431
2.13k
    if (yych == 'L') goto yy929;
10432
1.68k
    if (yych == 'l') goto yy929;
10433
390
    goto yy48;
10434
1.90k
yy913:
10435
1.90k
    YYDEBUG(913, *YYCURSOR);
10436
1.90k
    yyaccept = 4;
10437
1.90k
    yych = *(YYMARKER = ++YYCURSOR);
10438
1.90k
    if (yych == '_') goto yy930;
10439
341
    goto yy48;
10440
1.66k
yy914:
10441
1.66k
    YYDEBUG(914, *YYCURSOR);
10442
1.66k
    yyaccept = 93;
10443
1.66k
    yych = *(YYMARKER = ++YYCURSOR);
10444
1.66k
    if (yybm[256+yych] & 128) {
10445
407
      goto yy47;
10446
407
    }
10447
1.25k
    if (yych == '\\') goto yy164;
10448
1.25k
yy915:
10449
1.25k
    YYDEBUG(915, *YYCURSOR);
10450
1.25k
    yyleng = YYCURSOR - SCNG(yy_text);
10451
1.25k
#line 2265 "Zend/zend_language_scanner.l"
10452
1.25k
    {
10453
1.25k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10454
1.25k
}
10455
0
#line 10456 "Zend/zend_language_scanner.c"
10456
916
yy916:
10457
916
    YYDEBUG(916, *YYCURSOR);
10458
916
    yych = *++YYCURSOR;
10459
916
    if (yych == 'T') goto yy857;
10460
620
    if (yych == 't') goto yy857;
10461
405
    goto yy86;
10462
16.0k
yy917:
10463
16.0k
    YYDEBUG(917, *YYCURSOR);
10464
16.0k
    ++YYCURSOR;
10465
16.0k
    YYFILL(1);
10466
16.0k
    yych = *YYCURSOR;
10467
16.0k
    if (yych <= '\r') {
10468
3.10k
      if (yych <= '\t') {
10469
1.60k
        if (yych <= 0x00) goto yy86;
10470
786
        goto yy738;
10471
1.60k
      } else {
10472
1.50k
        if (yych <= '\n') goto yy787;
10473
1.17k
        if (yych <= '\f') goto yy738;
10474
969
        goto yy787;
10475
1.17k
      }
10476
12.9k
    } else {
10477
12.9k
      if (yych <= '*') {
10478
684
        if (yych <= ')') goto yy738;
10479
318
        goto yy789;
10480
12.2k
      } else {
10481
12.2k
        if (yych == '/') goto yy859;
10482
895
        goto yy738;
10483
12.2k
      }
10484
12.9k
    }
10485
12.6k
yy918:
10486
12.6k
    YYDEBUG(918, *YYCURSOR);
10487
12.6k
    ++YYCURSOR;
10488
12.6k
    YYFILL(1);
10489
12.6k
    yych = *YYCURSOR;
10490
12.6k
    if (yych <= ')') {
10491
1.59k
      if (yych <= '\n') {
10492
1.10k
        if (yych <= 0x00) goto yy86;
10493
776
        if (yych <= '\t') goto yy738;
10494
326
        goto yy787;
10495
776
      } else {
10496
482
        if (yych == '\r') goto yy787;
10497
200
        goto yy738;
10498
482
      }
10499
11.0k
    } else {
10500
11.0k
      if (yych <= 'T') {
10501
2.72k
        if (yych <= '*') goto yy789;
10502
2.49k
        if (yych <= 'S') goto yy738;
10503
1.84k
        goto yy932;
10504
8.31k
      } else {
10505
8.31k
        if (yych == 't') goto yy932;
10506
740
        goto yy738;
10507
8.31k
      }
10508
11.0k
    }
10509
33.5k
yy919:
10510
33.5k
    YYDEBUG(919, *YYCURSOR);
10511
33.5k
    ++YYCURSOR;
10512
33.5k
    YYFILL(1);
10513
33.5k
    yych = *YYCURSOR;
10514
33.5k
    if (yych <= ')') {
10515
1.41k
      if (yych <= '\n') {
10516
917
        if (yych <= 0x00) goto yy86;
10517
656
        if (yych <= '\t') goto yy738;
10518
438
        goto yy787;
10519
656
      } else {
10520
502
        if (yych == '\r') goto yy787;
10521
204
        goto yy738;
10522
502
      }
10523
32.1k
    } else {
10524
32.1k
      if (yych <= 'P') {
10525
13.3k
        if (yych <= '*') goto yy789;
10526
13.1k
        if (yych <= 'O') goto yy738;
10527
5.07k
        goto yy933;
10528
18.7k
      } else {
10529
18.7k
        if (yych == 'p') goto yy933;
10530
2.56k
        goto yy738;
10531
18.7k
      }
10532
32.1k
    }
10533
3.16k
yy920:
10534
3.16k
    YYDEBUG(920, *YYCURSOR);
10535
3.16k
    ++YYCURSOR;
10536
3.16k
    YYFILL(1);
10537
3.16k
    yych = *YYCURSOR;
10538
3.16k
    if (yych <= 'M') {
10539
660
      if (yych <= 0x00) goto yy86;
10540
425
      if (yych == '*') goto yy668;
10541
228
      goto yy590;
10542
2.50k
    } else {
10543
2.50k
      if (yych <= 'N') goto yy934;
10544
2.25k
      if (yych == 'n') goto yy934;
10545
212
      goto yy590;
10546
2.25k
    }
10547
5.91k
yy921:
10548
5.91k
    YYDEBUG(921, *YYCURSOR);
10549
5.91k
    ++YYCURSOR;
10550
5.91k
    YYFILL(1);
10551
5.91k
    yych = *YYCURSOR;
10552
5.91k
    if (yych <= 'D') {
10553
621
      if (yych <= 0x00) goto yy86;
10554
418
      if (yych == '*') goto yy668;
10555
220
      goto yy590;
10556
5.29k
    } else {
10557
5.29k
      if (yych <= 'E') goto yy935;
10558
3.55k
      if (yych == 'e') goto yy935;
10559
198
      goto yy590;
10560
3.55k
    }
10561
1.55k
yy922:
10562
1.55k
    YYDEBUG(922, *YYCURSOR);
10563
1.55k
    yyaccept = 94;
10564
1.55k
    YYMARKER = ++YYCURSOR;
10565
1.55k
    YYFILL(1);
10566
1.55k
    yych = *YYCURSOR;
10567
1.55k
    if (yych <= '\n') {
10568
743
      if (yych <= 0x00) goto yy886;
10569
539
      if (yych <= '\t') goto yy586;
10570
210
      goto yy495;
10571
812
    } else {
10572
812
      if (yych == '\r') goto yy495;
10573
614
      goto yy586;
10574
812
    }
10575
10.6k
yy923:
10576
10.6k
    YYDEBUG(923, *YYCURSOR);
10577
10.6k
    ++YYCURSOR;
10578
10.6k
    YYFILL(1);
10579
10.6k
    yych = *YYCURSOR;
10580
10.6k
    if (yych <= '\r') {
10581
5.14k
      if (yych <= '\t') {
10582
4.44k
        if (yych <= 0x00) goto yy86;
10583
3.91k
        goto yy586;
10584
4.44k
      } else {
10585
694
        if (yych <= '\n') goto yy495;
10586
437
        if (yych <= '\f') goto yy586;
10587
197
        goto yy495;
10588
437
      }
10589
5.52k
    } else {
10590
5.52k
      if (yych <= 'N') {
10591
2.05k
        if (yych <= 'M') goto yy586;
10592
1.71k
        goto yy936;
10593
3.46k
      } else {
10594
3.46k
        if (yych == 'n') goto yy936;
10595
1.52k
        goto yy586;
10596
3.46k
      }
10597
5.52k
    }
10598
681
yy924:
10599
681
    YYDEBUG(924, *YYCURSOR);
10600
681
    yych = *++YYCURSOR;
10601
681
    if (yych == ')') goto yy937;
10602
206
    goto yy86;
10603
13.6k
yy925:
10604
13.6k
    YYDEBUG(925, *YYCURSOR);
10605
13.6k
    ++YYCURSOR;
10606
13.6k
    YYFILL(1);
10607
13.6k
    yych = *YYCURSOR;
10608
13.6k
    if (yych <= '\f') {
10609
7.54k
      if (yych <= 0x00) goto yy86;
10610
7.31k
      if (yych == '\n') goto yy904;
10611
242
      goto yy808;
10612
7.31k
    } else {
10613
6.07k
      if (yych <= '\r') goto yy904;
10614
4.96k
      if (yych == '*') goto yy848;
10615
4.73k
      goto yy808;
10616
4.96k
    }
10617
8.91k
yy926:
10618
8.91k
    YYDEBUG(926, *YYCURSOR);
10619
8.91k
    ++YYCURSOR;
10620
8.91k
    YYFILL(1);
10621
8.91k
    yych = *YYCURSOR;
10622
8.91k
    if (yych <= '\f') {
10623
794
      if (yych <= 0x00) goto yy86;
10624
559
      if (yych == '\n') goto yy846;
10625
265
      goto yy808;
10626
8.12k
    } else {
10627
8.12k
      if (yych <= '\r') goto yy846;
10628
7.89k
      if (yych == '*') goto yy939;
10629
765
      goto yy808;
10630
7.89k
    }
10631
25.0k
yy927:
10632
25.0k
    YYDEBUG(927, *YYCURSOR);
10633
25.0k
    ++YYCURSOR;
10634
25.0k
    YYFILL(1);
10635
25.0k
    yych = *YYCURSOR;
10636
25.0k
    if (yych <= ')') {
10637
1.80k
      if (yych <= '\n') {
10638
811
        if (yych <= 0x00) goto yy86;
10639
542
        if (yych <= '\t') goto yy808;
10640
265
        goto yy846;
10641
991
      } else {
10642
991
        if (yych == '\r') goto yy846;
10643
666
        goto yy808;
10644
991
      }
10645
23.2k
    } else {
10646
23.2k
      if (yych <= 'R') {
10647
19.6k
        if (yych <= '*') goto yy848;
10648
19.0k
        if (yych <= 'Q') goto yy808;
10649
17.9k
        goto yy940;
10650
19.0k
      } else {
10651
3.63k
        if (yych == 'r') goto yy940;
10652
1.73k
        goto yy808;
10653
3.63k
      }
10654
23.2k
    }
10655
6.69k
yy928:
10656
6.69k
    YYDEBUG(928, *YYCURSOR);
10657
6.69k
    ++YYCURSOR;
10658
6.69k
    YYFILL(1);
10659
6.69k
    yych = *YYCURSOR;
10660
6.69k
    if (yych <= 'L') {
10661
675
      if (yych <= 0x00) goto yy86;
10662
459
      if (yych == '*') goto yy760;
10663
260
      goto yy696;
10664
6.02k
    } else {
10665
6.02k
      if (yych <= 'M') goto yy941;
10666
1.75k
      if (yych == 'm') goto yy941;
10667
214
      goto yy696;
10668
1.75k
    }
10669
1.74k
yy929:
10670
1.74k
    YYDEBUG(929, *YYCURSOR);
10671
1.74k
    yyaccept = 4;
10672
1.74k
    yych = *(YYMARKER = ++YYCURSOR);
10673
1.74k
    if (yych == 'E') goto yy942;
10674
1.32k
    if (yych == 'e') goto yy942;
10675
301
    goto yy48;
10676
1.56k
yy930:
10677
1.56k
    YYDEBUG(930, *YYCURSOR);
10678
1.56k
    yyaccept = 95;
10679
1.56k
    yych = *(YYMARKER = ++YYCURSOR);
10680
1.56k
    if (yybm[256+yych] & 128) {
10681
301
      goto yy47;
10682
301
    }
10683
1.25k
    if (yych == '\\') goto yy164;
10684
1.25k
yy931:
10685
1.25k
    YYDEBUG(931, *YYCURSOR);
10686
1.25k
    yyleng = YYCURSOR - SCNG(yy_text);
10687
1.25k
#line 2285 "Zend/zend_language_scanner.l"
10688
1.25k
    {
10689
1.25k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10690
1.25k
}
10691
0
#line 10692 "Zend/zend_language_scanner.c"
10692
9.41k
yy932:
10693
9.41k
    YYDEBUG(932, *YYCURSOR);
10694
9.41k
    ++YYCURSOR;
10695
9.41k
    YYFILL(1);
10696
9.41k
    yych = *YYCURSOR;
10697
9.41k
    if (yych <= ')') {
10698
1.00k
      if (yych <= '\n') {
10699
601
        if (yych <= 0x00) goto yy86;
10700
404
        if (yych <= '\t') goto yy738;
10701
203
        goto yy787;
10702
404
      } else {
10703
400
        if (yych == '\r') goto yy787;
10704
202
        goto yy738;
10705
400
      }
10706
8.40k
    } else {
10707
8.40k
      if (yych <= 'E') {
10708
1.44k
        if (yych <= '*') goto yy789;
10709
1.24k
        if (yych <= 'D') goto yy738;
10710
837
        goto yy943;
10711
6.96k
      } else {
10712
6.96k
        if (yych == 'e') goto yy943;
10713
302
        goto yy738;
10714
6.96k
      }
10715
8.40k
    }
10716
21.3k
yy933:
10717
21.3k
    YYDEBUG(933, *YYCURSOR);
10718
21.3k
    ++YYCURSOR;
10719
21.3k
    YYFILL(1);
10720
21.3k
    yych = *YYCURSOR;
10721
21.3k
    if (yych <= ')') {
10722
1.41k
      if (yych <= '\n') {
10723
1.00k
        if (yych <= 0x00) goto yy86;
10724
787
        if (yych <= '\t') goto yy738;
10725
433
        goto yy787;
10726
787
      } else {
10727
411
        if (yych == '\r') goto yy787;
10728
204
        goto yy738;
10729
411
      }
10730
19.8k
    } else {
10731
19.8k
      if (yych <= 'L') {
10732
4.47k
        if (yych <= '*') goto yy789;
10733
4.26k
        if (yych <= 'K') goto yy738;
10734
4.02k
        goto yy944;
10735
15.4k
      } else {
10736
15.4k
        if (yych == 'l') goto yy944;
10737
436
        goto yy738;
10738
15.4k
      }
10739
19.8k
    }
10740
2.28k
yy934:
10741
2.28k
    YYDEBUG(934, *YYCURSOR);
10742
2.28k
    ++YYCURSOR;
10743
2.28k
    YYFILL(1);
10744
2.28k
    yych = *YYCURSOR;
10745
2.28k
    if (yych <= 'C') {
10746
892
      if (yych <= 0x00) goto yy86;
10747
687
      if (yych == '*') goto yy668;
10748
489
      goto yy590;
10749
1.39k
    } else {
10750
1.39k
      if (yych <= 'D') goto yy945;
10751
1.18k
      if (yych == 'd') goto yy945;
10752
384
      goto yy590;
10753
1.18k
    }
10754
5.09k
yy935:
10755
5.09k
    YYDEBUG(935, *YYCURSOR);
10756
5.09k
    ++YYCURSOR;
10757
5.09k
    YYFILL(1);
10758
5.09k
    yych = *YYCURSOR;
10759
5.09k
    if (yych <= 'L') {
10760
712
      if (yych <= 0x00) goto yy86;
10761
500
      if (yych == '*') goto yy668;
10762
299
      goto yy590;
10763
4.38k
    } else {
10764
4.38k
      if (yych <= 'M') goto yy946;
10765
2.90k
      if (yych == 'm') goto yy946;
10766
253
      goto yy590;
10767
2.90k
    }
10768
3.65k
yy936:
10769
3.65k
    YYDEBUG(936, *YYCURSOR);
10770
3.65k
    ++YYCURSOR;
10771
3.65k
    YYFILL(1);
10772
3.65k
    yych = *YYCURSOR;
10773
3.65k
    if (yych <= '\r') {
10774
1.04k
      if (yych <= '\t') {
10775
442
        if (yych <= 0x00) goto yy86;
10776
237
        goto yy586;
10777
601
      } else {
10778
601
        if (yych <= '\n') goto yy495;
10779
403
        if (yych <= '\f') goto yy586;
10780
204
        goto yy495;
10781
403
      }
10782
2.60k
    } else {
10783
2.60k
      if (yych <= 'T') {
10784
1.40k
        if (yych <= 'S') goto yy586;
10785
978
        goto yy895;
10786
1.40k
      } else {
10787
1.19k
        if (yych == 't') goto yy895;
10788
227
        goto yy586;
10789
1.19k
      }
10790
2.60k
    }
10791
475
yy937:
10792
475
    YYDEBUG(937, *YYCURSOR);
10793
475
    ++YYCURSOR;
10794
475
    YYDEBUG(938, *YYCURSOR);
10795
475
    yyleng = YYCURSOR - SCNG(yy_text);
10796
475
#line 1790 "Zend/zend_language_scanner.l"
10797
475
    {
10798
475
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10799
475
}
10800
0
#line 10801 "Zend/zend_language_scanner.c"
10801
7.12k
yy939:
10802
7.12k
    YYDEBUG(939, *YYCURSOR);
10803
7.12k
    ++YYCURSOR;
10804
7.12k
    YYFILL(1);
10805
7.12k
    yych = *YYCURSOR;
10806
7.12k
    if (yych <= '\r') {
10807
1.91k
      if (yych <= '\t') {
10808
741
        if (yych <= 0x00) goto yy86;
10809
446
        goto yy808;
10810
1.17k
      } else {
10811
1.17k
        if (yych <= '\n') goto yy846;
10812
522
        if (yych <= '\f') goto yy808;
10813
264
        goto yy846;
10814
522
      }
10815
5.21k
    } else {
10816
5.21k
      if (yych <= '*') {
10817
764
        if (yych <= ')') goto yy808;
10818
218
        goto yy848;
10819
4.45k
      } else {
10820
4.45k
        if (yych == '/') goto yy904;
10821
634
        goto yy808;
10822
4.45k
      }
10823
5.21k
    }
10824
19.8k
yy940:
10825
19.8k
    YYDEBUG(940, *YYCURSOR);
10826
19.8k
    ++YYCURSOR;
10827
19.8k
    YYFILL(1);
10828
19.8k
    yych = *YYCURSOR;
10829
19.8k
    if (yych <= ')') {
10830
2.55k
      if (yych <= '\n') {
10831
1.65k
        if (yych <= 0x00) goto yy86;
10832
1.40k
        if (yych <= '\t') goto yy808;
10833
867
        goto yy846;
10834
1.40k
      } else {
10835
892
        if (yych == '\r') goto yy846;
10836
673
        goto yy808;
10837
892
      }
10838
17.3k
    } else {
10839
17.3k
      if (yych <= 'O') {
10840
15.8k
        if (yych <= '*') goto yy848;
10841
15.6k
        if (yych <= 'N') goto yy808;
10842
15.2k
        goto yy947;
10843
15.6k
      } else {
10844
1.48k
        if (yych == 'o') goto yy947;
10845
403
        goto yy808;
10846
1.48k
      }
10847
17.3k
    }
10848
5.80k
yy941:
10849
5.80k
    YYDEBUG(941, *YYCURSOR);
10850
5.80k
    ++YYCURSOR;
10851
5.80k
    YYFILL(1);
10852
5.80k
    yych = *YYCURSOR;
10853
5.80k
    if (yych <= '@') {
10854
3.99k
      if (yych <= '*') {
10855
3.24k
        if (yych <= 0x00) goto yy875;
10856
3.01k
        if (yych <= ')') goto yy948;
10857
1.89k
        goto yy949;
10858
3.01k
      } else {
10859
749
        if (yych <= '/') goto yy948;
10860
549
        if (yych <= '9') goto yy696;
10861
351
        goto yy948;
10862
549
      }
10863
3.99k
    } else {
10864
1.81k
      if (yych <= '_') {
10865
789
        if (yych <= 'Z') goto yy696;
10866
525
        if (yych <= '^') goto yy948;
10867
266
        goto yy696;
10868
1.03k
      } else {
10869
1.03k
        if (yych <= '`') goto yy948;
10870
750
        if (yych <= 'z') goto yy696;
10871
411
        if (yych <= 0x7F) goto yy948;
10872
207
        goto yy696;
10873
411
      }
10874
1.81k
    }
10875
1.44k
yy942:
10876
1.44k
    YYDEBUG(942, *YYCURSOR);
10877
1.44k
    yyaccept = 4;
10878
1.44k
    yych = *(YYMARKER = ++YYCURSOR);
10879
1.44k
    if (yych == 'R') goto yy950;
10880
1.06k
    if (yych == 'r') goto yy950;
10881
348
    goto yy48;
10882
7.49k
yy943:
10883
7.49k
    YYDEBUG(943, *YYCURSOR);
10884
7.49k
    ++YYCURSOR;
10885
7.49k
    YYFILL(1);
10886
7.49k
    yych = *YYCURSOR;
10887
7.49k
    if (yych <= ')') {
10888
1.27k
      if (yych <= '\n') {
10889
747
        if (yych <= 0x00) goto yy86;
10890
532
        if (yych <= '\t') goto yy738;
10891
325
        goto yy787;
10892
532
      } else {
10893
530
        if (yych == '\r') goto yy787;
10894
208
        goto yy738;
10895
530
      }
10896
6.22k
    } else {
10897
6.22k
      if (yych <= 'N') {
10898
1.29k
        if (yych <= '*') goto yy789;
10899
900
        if (yych <= 'M') goto yy738;
10900
665
        goto yy952;
10901
4.93k
      } else {
10902
4.93k
        if (yych == 'n') goto yy952;
10903
260
        goto yy738;
10904
4.93k
      }
10905
6.22k
    }
10906
18.9k
yy944:
10907
18.9k
    YYDEBUG(944, *YYCURSOR);
10908
18.9k
    ++YYCURSOR;
10909
18.9k
    YYFILL(1);
10910
18.9k
    yych = *YYCURSOR;
10911
18.9k
    if (yych <= ')') {
10912
1.19k
      if (yych <= '\n') {
10913
794
        if (yych <= 0x00) goto yy86;
10914
516
        if (yych <= '\t') goto yy738;
10915
267
        goto yy787;
10916
516
      } else {
10917
405
        if (yych == '\r') goto yy787;
10918
199
        goto yy738;
10919
405
      }
10920
17.7k
    } else {
10921
17.7k
      if (yych <= 'E') {
10922
4.12k
        if (yych <= '*') goto yy789;
10923
3.90k
        if (yych <= 'D') goto yy738;
10924
3.40k
        goto yy953;
10925
13.6k
      } else {
10926
13.6k
        if (yych == 'e') goto yy953;
10927
221
        goto yy738;
10928
13.6k
      }
10929
17.7k
    }
10930
1.95k
yy945:
10931
1.95k
    YYDEBUG(945, *YYCURSOR);
10932
1.95k
    ++YYCURSOR;
10933
1.95k
    YYFILL(1);
10934
1.95k
    yych = *YYCURSOR;
10935
1.95k
    if (yych <= 'R') {
10936
887
      if (yych <= 0x00) goto yy86;
10937
542
      if (yych == '*') goto yy668;
10938
338
      goto yy590;
10939
1.07k
    } else {
10940
1.07k
      if (yych <= 'S') goto yy954;
10941
831
      if (yych == 's') goto yy954;
10942
274
      goto yy590;
10943
831
    }
10944
4.13k
yy946:
10945
4.13k
    YYDEBUG(946, *YYCURSOR);
10946
4.13k
    ++YYCURSOR;
10947
4.13k
    YYFILL(1);
10948
4.13k
    yych = *YYCURSOR;
10949
4.13k
    if (yych <= 'D') {
10950
761
      if (yych <= 0x00) goto yy86;
10951
556
      if (yych == '*') goto yy668;
10952
275
      goto yy590;
10953
3.37k
    } else {
10954
3.37k
      if (yych <= 'E') goto yy955;
10955
2.58k
      if (yych == 'e') goto yy955;
10956
243
      goto yy590;
10957
2.58k
    }
10958
16.3k
yy947:
10959
16.3k
    YYDEBUG(947, *YYCURSOR);
10960
16.3k
    ++YYCURSOR;
10961
16.3k
    YYFILL(1);
10962
16.3k
    yych = *YYCURSOR;
10963
16.3k
    if (yych <= ')') {
10964
1.11k
      if (yych <= '\n') {
10965
643
        if (yych <= 0x00) goto yy86;
10966
424
        if (yych <= '\t') goto yy808;
10967
219
        goto yy846;
10968
472
      } else {
10969
472
        if (yych == '\r') goto yy846;
10970
206
        goto yy808;
10971
472
      }
10972
15.2k
    } else {
10973
15.2k
      if (yych <= 'M') {
10974
12.6k
        if (yych <= '*') goto yy848;
10975
12.3k
        if (yych <= 'L') goto yy808;
10976
11.9k
        goto yy956;
10977
12.3k
      } else {
10978
2.54k
        if (yych == 'm') goto yy956;
10979
614
        goto yy808;
10980
2.54k
      }
10981
15.2k
    }
10982
2.41k
yy948:
10983
2.41k
    YYDEBUG(948, *YYCURSOR);
10984
2.41k
    yyaccept = 91;
10985
2.41k
    YYMARKER = ++YYCURSOR;
10986
2.41k
    YYFILL(1);
10987
2.41k
    yych = *YYCURSOR;
10988
2.41k
    if (yych <= 0x00) goto yy876;
10989
1.30k
    if (yych == '*') goto yy760;
10990
1.07k
    goto yy696;
10991
1.89k
yy949:
10992
1.89k
    YYDEBUG(949, *YYCURSOR);
10993
1.89k
    yyaccept = 91;
10994
1.89k
    YYMARKER = ++YYCURSOR;
10995
1.89k
    YYFILL(1);
10996
1.89k
    yych = *YYCURSOR;
10997
1.89k
    if (yych <= '*') {
10998
1.02k
      if (yych <= 0x00) goto yy876;
10999
771
      if (yych <= ')') goto yy696;
11000
199
      goto yy760;
11001
870
    } else {
11002
870
      if (yych == '/') goto yy616;
11003
260
      goto yy696;
11004
870
    }
11005
1.09k
yy950:
11006
1.09k
    YYDEBUG(950, *YYCURSOR);
11007
1.09k
    yyaccept = 96;
11008
1.09k
    yych = *(YYMARKER = ++YYCURSOR);
11009
1.09k
    if (yybm[256+yych] & 128) {
11010
517
      goto yy47;
11011
517
    }
11012
581
    if (yych == '\\') goto yy164;
11013
581
yy951:
11014
581
    YYDEBUG(951, *YYCURSOR);
11015
581
    yyleng = YYCURSOR - SCNG(yy_text);
11016
581
#line 1762 "Zend/zend_language_scanner.l"
11017
581
    {
11018
581
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11019
581
}
11020
0
#line 11021 "Zend/zend_language_scanner.c"
11021
5.33k
yy952:
11022
5.33k
    YYDEBUG(952, *YYCURSOR);
11023
5.33k
    ++YYCURSOR;
11024
5.33k
    YYFILL(1);
11025
5.33k
    yych = *YYCURSOR;
11026
5.33k
    if (yych <= ')') {
11027
1.30k
      if (yych <= '\n') {
11028
827
        if (yych <= 0x00) goto yy86;
11029
623
        if (yych <= '\t') goto yy738;
11030
198
        goto yy787;
11031
623
      } else {
11032
475
        if (yych == '\r') goto yy787;
11033
273
        goto yy738;
11034
475
      }
11035
4.03k
    } else {
11036
4.03k
      if (yych <= 'D') {
11037
1.02k
        if (yych <= '*') goto yy789;
11038
643
        if (yych <= 'C') goto yy738;
11039
430
        goto yy957;
11040
3.00k
      } else {
11041
3.00k
        if (yych == 'd') goto yy957;
11042
1.26k
        goto yy738;
11043
3.00k
      }
11044
4.03k
    }
11045
16.8k
yy953:
11046
16.8k
    YYDEBUG(953, *YYCURSOR);
11047
16.8k
    ++YYCURSOR;
11048
16.8k
    YYFILL(1);
11049
16.8k
    yych = *YYCURSOR;
11050
16.8k
    if (yych <= ')') {
11051
3.51k
      if (yych <= '\n') {
11052
3.00k
        if (yych <= 0x00) goto yy86;
11053
2.75k
        if (yych <= '\t') goto yy738;
11054
2.55k
        goto yy787;
11055
2.75k
      } else {
11056
512
        if (yych == '\r') goto yy787;
11057
257
        goto yy738;
11058
512
      }
11059
13.3k
    } else {
11060
13.3k
      if (yych <= 'M') {
11061
7.72k
        if (yych <= '*') goto yy789;
11062
6.10k
        if (yych <= 'L') goto yy738;
11063
5.64k
        goto yy958;
11064
6.10k
      } else {
11065
5.61k
        if (yych == 'm') goto yy958;
11066
233
        goto yy738;
11067
5.61k
      }
11068
13.3k
    }
11069
796
yy954:
11070
796
    YYDEBUG(954, *YYCURSOR);
11071
796
    yyaccept = 94;
11072
796
    YYMARKER = ++YYCURSOR;
11073
796
    YYFILL(1);
11074
796
    yych = *YYCURSOR;
11075
796
    if (yych <= 0x00) goto yy886;
11076
489
    if (yych == '*') goto yy668;
11077
293
    goto yy590;
11078
3.12k
yy955:
11079
3.12k
    YYDEBUG(955, *YYCURSOR);
11080
3.12k
    ++YYCURSOR;
11081
3.12k
    YYFILL(1);
11082
3.12k
    yych = *YYCURSOR;
11083
3.12k
    if (yych <= 'M') {
11084
779
      if (yych <= 0x00) goto yy86;
11085
425
      if (yych == '*') goto yy668;
11086
199
      goto yy590;
11087
2.35k
    } else {
11088
2.35k
      if (yych <= 'N') goto yy959;
11089
1.73k
      if (yych == 'n') goto yy959;
11090
403
      goto yy590;
11091
1.73k
    }
11092
13.8k
yy956:
11093
13.8k
    YYDEBUG(956, *YYCURSOR);
11094
13.8k
    ++YYCURSOR;
11095
13.8k
    YYFILL(1);
11096
13.8k
    yych = *YYCURSOR;
11097
13.8k
    if (yych <= '/') {
11098
8.13k
      if (yych <= '\f') {
11099
3.69k
        if (yych <= 0x00) goto yy875;
11100
3.45k
        if (yych == '\n') goto yy961;
11101
294
        goto yy960;
11102
4.43k
      } else {
11103
4.43k
        if (yych <= '\r') goto yy961;
11104
2.61k
        if (yych == '*') goto yy962;
11105
522
        goto yy960;
11106
2.61k
      }
11107
8.13k
    } else {
11108
5.73k
      if (yych <= '^') {
11109
3.33k
        if (yych <= '9') goto yy808;
11110
3.13k
        if (yych <= '@') goto yy960;
11111
2.82k
        if (yych <= 'Z') goto yy808;
11112
2.24k
        goto yy960;
11113
2.82k
      } else {
11114
2.40k
        if (yych <= '`') {
11115
767
          if (yych <= '_') goto yy808;
11116
525
          goto yy960;
11117
1.63k
        } else {
11118
1.63k
          if (yych <= 'z') goto yy808;
11119
1.40k
          if (yych <= 0x7F) goto yy960;
11120
258
          goto yy808;
11121
1.40k
        }
11122
2.40k
      }
11123
5.73k
    }
11124
3.28k
yy957:
11125
3.28k
    YYDEBUG(957, *YYCURSOR);
11126
3.28k
    ++YYCURSOR;
11127
3.28k
    YYFILL(1);
11128
3.28k
    yych = *YYCURSOR;
11129
3.28k
    if (yych <= ')') {
11130
1.07k
      if (yych <= '\n') {
11131
618
        if (yych <= 0x00) goto yy86;
11132
410
        if (yych <= '\t') goto yy738;
11133
203
        goto yy787;
11134
452
      } else {
11135
452
        if (yych == '\r') goto yy787;
11136
248
        goto yy738;
11137
452
      }
11138
2.21k
    } else {
11139
2.21k
      if (yych <= 'S') {
11140
741
        if (yych <= '*') goto yy789;
11141
430
        if (yych <= 'R') goto yy738;
11142
227
        goto yy963;
11143
1.47k
      } else {
11144
1.47k
        if (yych == 's') goto yy963;
11145
248
        goto yy738;
11146
1.47k
      }
11147
2.21k
    }
11148
11.0k
yy958:
11149
11.0k
    YYDEBUG(958, *YYCURSOR);
11150
11.0k
    ++YYCURSOR;
11151
11.0k
    YYFILL(1);
11152
11.0k
    yych = *YYCURSOR;
11153
11.0k
    if (yych <= ')') {
11154
2.30k
      if (yych <= '\n') {
11155
1.41k
        if (yych <= 0x00) goto yy86;
11156
1.20k
        if (yych <= '\t') goto yy738;
11157
542
        goto yy787;
11158
1.20k
      } else {
11159
886
        if (yych == '\r') goto yy787;
11160
620
        goto yy738;
11161
886
      }
11162
8.72k
    } else {
11163
8.72k
      if (yych <= 'E') {
11164
2.56k
        if (yych <= '*') goto yy789;
11165
2.35k
        if (yych <= 'D') goto yy738;
11166
2.14k
        goto yy964;
11167
6.16k
      } else {
11168
6.16k
        if (yych == 'e') goto yy964;
11169
195
        goto yy738;
11170
6.16k
      }
11171
8.72k
    }
11172
1.94k
yy959:
11173
1.94k
    YYDEBUG(959, *YYCURSOR);
11174
1.94k
    ++YYCURSOR;
11175
1.94k
    YYFILL(1);
11176
1.94k
    yych = *YYCURSOR;
11177
1.94k
    if (yych <= 'S') {
11178
799
      if (yych <= 0x00) goto yy86;
11179
563
      if (yych == '*') goto yy668;
11180
362
      goto yy590;
11181
1.14k
    } else {
11182
1.14k
      if (yych <= 'T') goto yy945;
11183
913
      if (yych == 't') goto yy945;
11184
203
      goto yy590;
11185
913
    }
11186
5.04k
yy960:
11187
5.04k
    YYDEBUG(960, *YYCURSOR);
11188
5.04k
    yyaccept = 91;
11189
5.04k
    YYMARKER = ++YYCURSOR;
11190
5.04k
    YYFILL(1);
11191
5.04k
    yych = *YYCURSOR;
11192
5.04k
    if (yych <= '\f') {
11193
1.51k
      if (yych <= 0x00) goto yy876;
11194
1.26k
      if (yych == '\n') goto yy846;
11195
949
      goto yy808;
11196
3.53k
    } else {
11197
3.53k
      if (yych <= '\r') goto yy846;
11198
3.29k
      if (yych == '*') goto yy848;
11199
3.07k
      goto yy808;
11200
3.29k
    }
11201
4.98k
yy961:
11202
4.98k
    YYDEBUG(961, *YYCURSOR);
11203
4.98k
    yyaccept = 91;
11204
4.98k
    YYMARKER = ++YYCURSOR;
11205
4.98k
    YYFILL(1);
11206
4.98k
    yych = *YYCURSOR;
11207
4.98k
    if (yych <= '#') {
11208
3.06k
      if (yych <= '\f') {
11209
972
        if (yych <= 0x00) goto yy876;
11210
718
        if (yych <= 0x08) goto yy696;
11211
408
        if (yych <= '\n') goto yy846;
11212
198
        goto yy696;
11213
2.09k
      } else {
11214
2.09k
        if (yych <= 0x1F) {
11215
600
          if (yych <= '\r') goto yy846;
11216
246
          goto yy696;
11217
1.49k
        } else {
11218
1.49k
          if (yych <= ' ') goto yy846;
11219
696
          if (yych <= '"') goto yy696;
11220
493
          goto yy877;
11221
696
        }
11222
2.09k
      }
11223
3.06k
    } else {
11224
1.92k
      if (yych <= '/') {
11225
754
        if (yych == '*') goto yy760;
11226
544
        if (yych <= '.') goto yy696;
11227
242
        goto yy878;
11228
1.16k
      } else {
11229
1.16k
        if (yych <= 'F') {
11230
720
          if (yych <= 'E') goto yy696;
11231
526
          goto yy879;
11232
720
        } else {
11233
446
          if (yych == 'f') goto yy879;
11234
250
          goto yy696;
11235
446
        }
11236
1.16k
      }
11237
1.92k
    }
11238
2.09k
yy962:
11239
2.09k
    YYDEBUG(962, *YYCURSOR);
11240
2.09k
    yyaccept = 91;
11241
2.09k
    YYMARKER = ++YYCURSOR;
11242
2.09k
    YYFILL(1);
11243
2.09k
    yych = *YYCURSOR;
11244
2.09k
    if (yych <= '\r') {
11245
1.23k
      if (yych <= '\t') {
11246
409
        if (yych <= 0x00) goto yy876;
11247
211
        goto yy808;
11248
827
      } else {
11249
827
        if (yych <= '\n') goto yy846;
11250
519
        if (yych <= '\f') goto yy808;
11251
266
        goto yy846;
11252
519
      }
11253
1.23k
    } else {
11254
855
      if (yych <= '*') {
11255
433
        if (yych <= ')') goto yy808;
11256
199
        goto yy848;
11257
433
      } else {
11258
422
        if (yych == '/') goto yy694;
11259
198
        goto yy808;
11260
422
      }
11261
855
    }
11262
1.44k
yy963:
11263
1.44k
    YYDEBUG(963, *YYCURSOR);
11264
1.44k
    yyaccept = 94;
11265
1.44k
    YYMARKER = ++YYCURSOR;
11266
1.44k
    YYFILL(1);
11267
1.44k
    yych = *YYCURSOR;
11268
1.44k
    if (yych <= '\f') {
11269
665
      if (yych <= 0x00) goto yy886;
11270
402
      if (yych == '\n') goto yy787;
11271
200
      goto yy738;
11272
784
    } else {
11273
784
      if (yych <= '\r') goto yy787;
11274
580
      if (yych == '*') goto yy789;
11275
341
      goto yy738;
11276
580
    }
11277
8.11k
yy964:
11278
8.11k
    YYDEBUG(964, *YYCURSOR);
11279
8.11k
    ++YYCURSOR;
11280
8.11k
    YYFILL(1);
11281
8.11k
    yych = *YYCURSOR;
11282
8.11k
    if (yych <= ')') {
11283
3.51k
      if (yych <= '\n') {
11284
2.95k
        if (yych <= 0x00) goto yy86;
11285
2.74k
        if (yych <= '\t') goto yy738;
11286
220
        goto yy787;
11287
2.74k
      } else {
11288
558
        if (yych == '\r') goto yy787;
11289
218
        goto yy738;
11290
558
      }
11291
4.60k
    } else {
11292
4.60k
      if (yych <= 'N') {
11293
1.97k
        if (yych <= '*') goto yy789;
11294
1.77k
        if (yych <= 'M') goto yy738;
11295
2.62k
      } else {
11296
2.62k
        if (yych != 'n') goto yy738;
11297
2.62k
      }
11298
4.60k
    }
11299
3.01k
    YYDEBUG(965, *YYCURSOR);
11300
3.01k
    ++YYCURSOR;
11301
3.01k
    YYFILL(1);
11302
3.01k
    yych = *YYCURSOR;
11303
3.01k
    if (yych <= ')') {
11304
1.25k
      if (yych <= '\n') {
11305
827
        if (yych <= 0x00) goto yy86;
11306
605
        if (yych <= '\t') goto yy738;
11307
386
        goto yy787;
11308
605
      } else {
11309
431
        if (yych == '\r') goto yy787;
11310
221
        goto yy738;
11311
431
      }
11312
1.75k
    } else {
11313
1.75k
      if (yych <= 'T') {
11314
739
        if (yych <= '*') goto yy789;
11315
526
        if (yych <= 'S') goto yy738;
11316
324
        goto yy957;
11317
1.01k
      } else {
11318
1.01k
        if (yych == 't') goto yy957;
11319
232
        goto yy738;
11320
1.01k
      }
11321
1.75k
    }
11322
3.01k
  }
11323
/* *********************************** */
11324
320k
yyc_ST_LOOKING_FOR_PROPERTY:
11325
320k
  {
11326
320k
    static const unsigned char yybm[] = {
11327
320k
        0,   0,   0,   0,   0,   0,   0,   0, 
11328
320k
        0,  64,  64,   0,   0,  64,   0,   0, 
11329
320k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
320k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
320k
       64,   0,   0,   0,   0,   0,   0,   0, 
11332
320k
        0,   0,   0,   0,   0,   0,   0,   0, 
11333
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11334
320k
      128, 128,   0,   0,   0,   0,   0,   0, 
11335
320k
        0, 128, 128, 128, 128, 128, 128, 128, 
11336
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
320k
      128, 128, 128,   0,   0,   0,   0, 128, 
11339
320k
        0, 128, 128, 128, 128, 128, 128, 128, 
11340
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
320k
      128, 128, 128,   0,   0,   0,   0,   0, 
11343
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
320k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
320k
    };
11360
320k
    YYDEBUG(966, *YYCURSOR);
11361
320k
    YYFILL(4);
11362
320k
    yych = *YYCURSOR;
11363
320k
    if (yybm[0+yych] & 64) {
11364
4.11k
      goto yy970;
11365
4.11k
    }
11366
316k
    if (yych <= '?') {
11367
129k
      if (yych <= '-') {
11368
24.9k
        if (yych == '#') goto yy973;
11369
22.0k
        if (yych >= '-') goto yy975;
11370
104k
      } else {
11371
104k
        if (yych == '/') goto yy976;
11372
94.8k
        if (yych >= '?') goto yy977;
11373
94.8k
      }
11374
186k
    } else {
11375
186k
      if (yych <= '_') {
11376
8.59k
        if (yych <= '@') goto yy968;
11377
8.38k
        if (yych <= 'Z') goto yy978;
11378
4.46k
        if (yych >= '_') goto yy978;
11379
178k
      } else {
11380
178k
        if (yych <= '`') goto yy968;
11381
177k
        if (yych <= 'z') goto yy978;
11382
14.3k
        if (yych >= 0x80) goto yy978;
11383
14.3k
      }
11384
186k
    }
11385
11.2k
yy968:
11386
11.2k
    YYDEBUG(968, *YYCURSOR);
11387
11.2k
    ++YYCURSOR;
11388
12.9k
yy969:
11389
12.9k
    YYDEBUG(969, *YYCURSOR);
11390
12.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11391
12.9k
#line 2520 "Zend/zend_language_scanner.l"
11392
12.9k
    {
11393
12.9k
  yyless(0);
11394
12.9k
  yy_pop_state();
11395
12.9k
  goto restart;
11396
11.2k
}
11397
0
#line 11398 "Zend/zend_language_scanner.c"
11398
5.99k
yy970:
11399
5.99k
    YYDEBUG(970, *YYCURSOR);
11400
5.99k
    ++YYCURSOR;
11401
5.99k
    YYFILL(1);
11402
5.99k
    yych = *YYCURSOR;
11403
5.99k
    YYDEBUG(971, *YYCURSOR);
11404
5.99k
    if (yybm[0+yych] & 64) {
11405
1.88k
      goto yy970;
11406
1.88k
    }
11407
4.11k
    YYDEBUG(972, *YYCURSOR);
11408
4.11k
    yyleng = YYCURSOR - SCNG(yy_text);
11409
4.11k
#line 1597 "Zend/zend_language_scanner.l"
11410
4.11k
    {
11411
4.11k
  goto return_whitespace;
11412
5.99k
}
11413
0
#line 11414 "Zend/zend_language_scanner.c"
11414
3.52k
yy973:
11415
3.52k
    YYDEBUG(973, *YYCURSOR);
11416
3.52k
    ++YYCURSOR;
11417
3.52k
    YYDEBUG(974, *YYCURSOR);
11418
3.52k
    yyleng = YYCURSOR - SCNG(yy_text);
11419
3.52k
#line 2460 "Zend/zend_language_scanner.l"
11420
3.52k
    {
11421
74.1k
  while (YYCURSOR < YYLIMIT) {
11422
73.6k
    switch (*YYCURSOR++) {
11423
483
      case '\r':
11424
2.82k
      case '\n':
11425
2.82k
        YYCURSOR--;
11426
2.82k
        break;
11427
1.50k
      case '?':
11428
1.50k
        if (*YYCURSOR == '>') {
11429
211
          YYCURSOR--;
11430
211
          break;
11431
211
        }
11432
1.29k
        ZEND_FALLTHROUGH;
11433
70.6k
      default:
11434
70.6k
        continue;
11435
73.6k
    }
11436
11437
3.03k
    break;
11438
73.6k
  }
11439
11440
3.52k
  yyleng = YYCURSOR - SCNG(yy_text);
11441
3.52k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11442
3.52k
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
16.6k
yy975:
11445
16.6k
    YYDEBUG(975, *YYCURSOR);
11446
16.6k
    yych = *++YYCURSOR;
11447
16.6k
    if (yych == '>') goto yy981;
11448
287
    goto yy969;
11449
9.50k
yy976:
11450
9.50k
    YYDEBUG(976, *YYCURSOR);
11451
9.50k
    yych = *++YYCURSOR;
11452
9.50k
    if (yych == '*') goto yy983;
11453
1.20k
    if (yych == '/') goto yy973;
11454
607
    goto yy969;
11455
93.2k
yy977:
11456
93.2k
    YYDEBUG(977, *YYCURSOR);
11457
93.2k
    yyaccept = 0;
11458
93.2k
    yych = *(YYMARKER = ++YYCURSOR);
11459
93.2k
    if (yych == '-') goto yy985;
11460
574
    goto yy969;
11461
735k
yy978:
11462
735k
    YYDEBUG(978, *YYCURSOR);
11463
735k
    ++YYCURSOR;
11464
735k
    YYFILL(1);
11465
735k
    yych = *YYCURSOR;
11466
735k
    YYDEBUG(979, *YYCURSOR);
11467
735k
    if (yybm[0+yych] & 128) {
11468
552k
      goto yy978;
11469
552k
    }
11470
182k
    YYDEBUG(980, *YYCURSOR);
11471
182k
    yyleng = YYCURSOR - SCNG(yy_text);
11472
182k
#line 1609 "Zend/zend_language_scanner.l"
11473
182k
    {
11474
182k
  yy_pop_state();
11475
182k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11476
182k
}
11477
0
#line 11478 "Zend/zend_language_scanner.c"
11478
16.3k
yy981:
11479
16.3k
    YYDEBUG(981, *YYCURSOR);
11480
16.3k
    ++YYCURSOR;
11481
16.3k
    YYDEBUG(982, *YYCURSOR);
11482
16.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11483
16.3k
#line 1601 "Zend/zend_language_scanner.l"
11484
16.3k
    {
11485
16.3k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11486
16.3k
}
11487
0
#line 11488 "Zend/zend_language_scanner.c"
11488
8.29k
yy983:
11489
8.29k
    YYDEBUG(983, *YYCURSOR);
11490
8.29k
    yyaccept = 1;
11491
8.29k
    yych = *(YYMARKER = ++YYCURSOR);
11492
8.29k
    if (yych == '*') goto yy987;
11493
8.29k
yy984:
11494
8.29k
    YYDEBUG(984, *YYCURSOR);
11495
8.29k
    yyleng = YYCURSOR - SCNG(yy_text);
11496
8.29k
#line 2484 "Zend/zend_language_scanner.l"
11497
8.29k
    {
11498
8.29k
  int doc_com;
11499
11500
8.29k
  if (yyleng > 2) {
11501
5.42k
    doc_com = 1;
11502
5.42k
    RESET_DOC_COMMENT();
11503
5.42k
  } else {
11504
2.87k
    doc_com = 0;
11505
2.87k
  }
11506
11507
81.1k
  while (YYCURSOR < YYLIMIT) {
11508
80.1k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11509
7.31k
      break;
11510
7.31k
    }
11511
80.1k
  }
11512
11513
8.29k
  if (YYCURSOR < YYLIMIT) {
11514
7.31k
    YYCURSOR++;
11515
7.31k
  } else {
11516
986
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11517
986
    if (PARSER_MODE()) {
11518
109
      RETURN_TOKEN(T_ERROR);
11519
109
    }
11520
986
  }
11521
11522
8.18k
  yyleng = YYCURSOR - SCNG(yy_text);
11523
8.18k
  HANDLE_NEWLINES(yytext, yyleng);
11524
11525
8.18k
  if (doc_com) {
11526
5.37k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11527
5.37k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11528
5.37k
  }
11529
11530
2.81k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11531
2.81k
}
11532
0
#line 11533 "Zend/zend_language_scanner.c"
11533
92.6k
yy985:
11534
92.6k
    YYDEBUG(985, *YYCURSOR);
11535
92.6k
    yych = *++YYCURSOR;
11536
92.6k
    if (yych == '>') goto yy988;
11537
2.17k
yy986:
11538
2.17k
    YYDEBUG(986, *YYCURSOR);
11539
2.17k
    YYCURSOR = YYMARKER;
11540
2.17k
    if (yyaccept == 0) {
11541
241
      goto yy969;
11542
1.93k
    } else {
11543
1.93k
      goto yy984;
11544
1.93k
    }
11545
7.36k
yy987:
11546
7.36k
    YYDEBUG(987, *YYCURSOR);
11547
7.36k
    yych = *++YYCURSOR;
11548
7.36k
    if (yych <= '\f') {
11549
5.86k
      if (yych <= 0x08) goto yy986;
11550
5.05k
      if (yych <= '\n') goto yy990;
11551
243
      goto yy986;
11552
5.05k
    } else {
11553
1.49k
      if (yych <= '\r') goto yy990;
11554
1.18k
      if (yych == ' ') goto yy990;
11555
882
      goto yy986;
11556
1.18k
    }
11557
92.4k
yy988:
11558
92.4k
    YYDEBUG(988, *YYCURSOR);
11559
92.4k
    ++YYCURSOR;
11560
92.4k
    YYDEBUG(989, *YYCURSOR);
11561
92.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11562
92.4k
#line 1605 "Zend/zend_language_scanner.l"
11563
92.4k
    {
11564
92.4k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11565
92.4k
}
11566
0
#line 11567 "Zend/zend_language_scanner.c"
11567
6.68k
yy990:
11568
6.68k
    YYDEBUG(990, *YYCURSOR);
11569
6.68k
    ++YYCURSOR;
11570
6.68k
    YYFILL(1);
11571
6.68k
    yych = *YYCURSOR;
11572
6.68k
    YYDEBUG(991, *YYCURSOR);
11573
6.68k
    if (yych <= '\f') {
11574
4.74k
      if (yych <= 0x08) goto yy984;
11575
4.47k
      if (yych <= '\n') goto yy990;
11576
4.14k
      goto yy984;
11577
4.47k
    } else {
11578
1.94k
      if (yych <= '\r') goto yy990;
11579
1.64k
      if (yych == ' ') goto yy990;
11580
1.01k
      goto yy984;
11581
1.64k
    }
11582
6.68k
  }
11583
/* *********************************** */
11584
192k
yyc_ST_BACKQUOTE:
11585
192k
  {
11586
192k
    static const unsigned char yybm[] = {
11587
192k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
192k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
192k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
192k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
192k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
192k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11594
192k
      128, 128,   0,   0,   0,   0,   0,   0, 
11595
192k
        0, 128, 128, 128, 128, 128, 128, 128, 
11596
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
192k
      128, 128, 128,   0,   0,   0,   0, 128, 
11599
192k
        0, 128, 128, 128, 128, 128, 128, 128, 
11600
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
192k
      128, 128, 128,   0,   0,   0,   0,   0, 
11603
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
192k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
192k
    };
11620
192k
    YYDEBUG(992, *YYCURSOR);
11621
192k
    YYFILL(2);
11622
192k
    yych = *YYCURSOR;
11623
192k
    if (yych <= '_') {
11624
158k
      if (yych == '$') goto yy996;
11625
158k
    } else {
11626
33.7k
      if (yych <= '`') goto yy997;
11627
10.5k
      if (yych == '{') goto yy999;
11628
10.5k
    }
11629
85.5k
    YYDEBUG(994, *YYCURSOR);
11630
85.5k
    ++YYCURSOR;
11631
89.6k
yy995:
11632
89.6k
    YYDEBUG(995, *YYCURSOR);
11633
89.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11634
89.6k
#line 2918 "Zend/zend_language_scanner.l"
11635
89.6k
    {
11636
89.6k
  if (YYCURSOR > YYLIMIT) {
11637
5.50k
    RETURN_END_TOKEN;
11638
5.50k
  }
11639
84.1k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11640
767
    YYCURSOR++;
11641
767
  }
11642
11643
2.22M
  while (YYCURSOR < YYLIMIT) {
11644
2.22M
    switch (*YYCURSOR++) {
11645
10.0k
      case '`':
11646
10.0k
        break;
11647
77.7k
      case '$':
11648
77.7k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11649
67.7k
          break;
11650
67.7k
        }
11651
9.98k
        continue;
11652
9.98k
      case '{':
11653
8.71k
        if (*YYCURSOR == '$') {
11654
1.40k
          break;
11655
1.40k
        }
11656
7.30k
        continue;
11657
10.7k
      case '\\':
11658
10.7k
        if (YYCURSOR < YYLIMIT) {
11659
10.4k
          YYCURSOR++;
11660
10.4k
        }
11661
10.7k
        ZEND_FALLTHROUGH;
11662
2.12M
      default:
11663
2.12M
        continue;
11664
2.22M
    }
11665
11666
79.2k
    YYCURSOR--;
11667
79.2k
    break;
11668
2.22M
  }
11669
11670
84.1k
  yyleng = YYCURSOR - SCNG(yy_text);
11671
11672
84.1k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11673
84.1k
   || !PARSER_MODE()) {
11674
84.1k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11675
84.1k
  } else {
11676
10
    RETURN_TOKEN(T_ERROR);
11677
10
  }
11678
84.1k
}
11679
0
#line 11680 "Zend/zend_language_scanner.c"
11680
80.9k
yy996:
11681
80.9k
    YYDEBUG(996, *YYCURSOR);
11682
80.9k
    yych = *++YYCURSOR;
11683
80.9k
    if (yych <= '_') {
11684
12.3k
      if (yych <= '@') goto yy995;
11685
10.6k
      if (yych <= 'Z') goto yy1000;
11686
5.51k
      if (yych <= '^') goto yy995;
11687
4.99k
      goto yy1000;
11688
68.6k
    } else {
11689
68.6k
      if (yych <= 'z') {
11690
45.9k
        if (yych <= '`') goto yy995;
11691
45.6k
        goto yy1000;
11692
45.9k
      } else {
11693
22.7k
        if (yych <= '{') goto yy1003;
11694
8.53k
        if (yych <= 0x7F) goto yy995;
11695
8.28k
        goto yy1000;
11696
8.53k
      }
11697
68.6k
    }
11698
23.1k
yy997:
11699
23.1k
    YYDEBUG(997, *YYCURSOR);
11700
23.1k
    ++YYCURSOR;
11701
23.1k
    YYDEBUG(998, *YYCURSOR);
11702
23.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11703
23.1k
#line 2858 "Zend/zend_language_scanner.l"
11704
23.1k
    {
11705
23.1k
  BEGIN(ST_IN_SCRIPTING);
11706
23.1k
  RETURN_TOKEN('`');
11707
23.1k
}
11708
0
#line 11709 "Zend/zend_language_scanner.c"
11709
2.96k
yy999:
11710
2.96k
    YYDEBUG(999, *YYCURSOR);
11711
2.96k
    yych = *++YYCURSOR;
11712
2.96k
    if (yych == '$') goto yy1005;
11713
1.47k
    goto yy995;
11714
193k
yy1000:
11715
193k
    YYDEBUG(1000, *YYCURSOR);
11716
193k
    YYMARKER = ++YYCURSOR;
11717
193k
    YYFILL(4);
11718
193k
    yych = *YYCURSOR;
11719
193k
    YYDEBUG(1001, *YYCURSOR);
11720
193k
    if (yybm[0+yych] & 128) {
11721
129k
      goto yy1000;
11722
129k
    }
11723
64.1k
    if (yych <= '>') {
11724
29.9k
      if (yych == '-') goto yy1007;
11725
34.1k
    } else {
11726
34.1k
      if (yych <= '?') goto yy1009;
11727
6.43k
      if (yych <= '@') goto yy1002;
11728
6.13k
      if (yych <= '[') goto yy1010;
11729
6.13k
    }
11730
48.0k
yy1002:
11731
48.0k
    YYDEBUG(1002, *YYCURSOR);
11732
48.0k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
48.0k
#line 2417 "Zend/zend_language_scanner.l"
11734
48.0k
    {
11735
48.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11736
48.0k
}
11737
0
#line 11738 "Zend/zend_language_scanner.c"
11738
14.2k
yy1003:
11739
14.2k
    YYDEBUG(1003, *YYCURSOR);
11740
14.2k
    ++YYCURSOR;
11741
14.2k
    YYDEBUG(1004, *YYCURSOR);
11742
14.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11743
14.2k
#line 1981 "Zend/zend_language_scanner.l"
11744
14.2k
    {
11745
14.2k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11746
14.2k
  enter_nesting('{');
11747
14.2k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11748
14.2k
}
11749
0
#line 11750 "Zend/zend_language_scanner.c"
11750
1.49k
yy1005:
11751
1.49k
    YYDEBUG(1005, *YYCURSOR);
11752
1.49k
    ++YYCURSOR;
11753
1.49k
    YYDEBUG(1006, *YYCURSOR);
11754
1.49k
    yyleng = YYCURSOR - SCNG(yy_text);
11755
1.49k
#line 2845 "Zend/zend_language_scanner.l"
11756
1.49k
    {
11757
1.49k
  yy_push_state(ST_IN_SCRIPTING);
11758
1.49k
  yyless(1);
11759
1.49k
  enter_nesting('{');
11760
1.49k
  RETURN_TOKEN(T_CURLY_OPEN);
11761
1.49k
}
11762
0
#line 11763 "Zend/zend_language_scanner.c"
11763
6.64k
yy1007:
11764
6.64k
    YYDEBUG(1007, *YYCURSOR);
11765
6.64k
    yych = *++YYCURSOR;
11766
6.64k
    if (yych == '>') goto yy1012;
11767
20.5k
yy1008:
11768
20.5k
    YYDEBUG(1008, *YYCURSOR);
11769
20.5k
    YYCURSOR = YYMARKER;
11770
20.5k
    goto yy1002;
11771
27.7k
yy1009:
11772
27.7k
    YYDEBUG(1009, *YYCURSOR);
11773
27.7k
    yych = *++YYCURSOR;
11774
27.7k
    if (yych == '-') goto yy1013;
11775
13.4k
    goto yy1008;
11776
13.4k
yy1010:
11777
2.15k
    YYDEBUG(1010, *YYCURSOR);
11778
2.15k
    ++YYCURSOR;
11779
2.15k
    YYDEBUG(1011, *YYCURSOR);
11780
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
11781
2.15k
#line 2411 "Zend/zend_language_scanner.l"
11782
2.15k
    {
11783
2.15k
  yyless(yyleng - 1);
11784
2.15k
  yy_push_state(ST_VAR_OFFSET);
11785
2.15k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11786
2.15k
}
11787
0
#line 11788 "Zend/zend_language_scanner.c"
11788
4.21k
yy1012:
11789
4.21k
    YYDEBUG(1012, *YYCURSOR);
11790
4.21k
    yych = *++YYCURSOR;
11791
4.21k
    if (yych <= '_') {
11792
1.63k
      if (yych <= '@') goto yy1008;
11793
972
      if (yych <= 'Z') goto yy1014;
11794
505
      if (yych <= '^') goto yy1008;
11795
261
      goto yy1014;
11796
2.58k
    } else {
11797
2.58k
      if (yych <= '`') goto yy1008;
11798
2.28k
      if (yych <= 'z') goto yy1014;
11799
975
      if (yych <= 0x7F) goto yy1008;
11800
765
      goto yy1014;
11801
975
    }
11802
14.3k
yy1013:
11803
14.3k
    YYDEBUG(1013, *YYCURSOR);
11804
14.3k
    yych = *++YYCURSOR;
11805
14.3k
    if (yych == '>') goto yy1016;
11806
1.70k
    goto yy1008;
11807
2.80k
yy1014:
11808
2.80k
    YYDEBUG(1014, *YYCURSOR);
11809
2.80k
    ++YYCURSOR;
11810
2.80k
    YYDEBUG(1015, *YYCURSOR);
11811
2.80k
    yyleng = YYCURSOR - SCNG(yy_text);
11812
2.80k
#line 2397 "Zend/zend_language_scanner.l"
11813
2.80k
    {
11814
2.80k
  yyless(yyleng - 3);
11815
2.80k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11816
2.80k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
2.80k
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
12.6k
yy1016:
11820
12.6k
    YYDEBUG(1016, *YYCURSOR);
11821
12.6k
    yych = *++YYCURSOR;
11822
12.6k
    if (yych <= '_') {
11823
2.58k
      if (yych <= '@') goto yy1008;
11824
1.80k
      if (yych <= 'Z') goto yy1017;
11825
1.56k
      if (yych <= '^') goto yy1008;
11826
10.0k
    } else {
11827
10.0k
      if (yych <= '`') goto yy1008;
11828
9.75k
      if (yych <= 'z') goto yy1017;
11829
750
      if (yych <= 0x7F) goto yy1008;
11830
750
    }
11831
11.0k
yy1017:
11832
11.0k
    YYDEBUG(1017, *YYCURSOR);
11833
11.0k
    ++YYCURSOR;
11834
11.0k
    YYDEBUG(1018, *YYCURSOR);
11835
11.0k
    yyleng = YYCURSOR - SCNG(yy_text);
11836
11.0k
#line 2403 "Zend/zend_language_scanner.l"
11837
11.0k
    {
11838
11.0k
  yyless(yyleng - 4);
11839
11.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11840
11.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11841
11.0k
}
11842
11.0k
#line 11843 "Zend/zend_language_scanner.c"
11843
11.0k
  }
11844
/* *********************************** */
11845
580k
yyc_ST_DOUBLE_QUOTES:
11846
580k
  {
11847
580k
    static const unsigned char yybm[] = {
11848
580k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
580k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
580k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
580k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
580k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
580k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11855
580k
      128, 128,   0,   0,   0,   0,   0,   0, 
11856
580k
        0, 128, 128, 128, 128, 128, 128, 128, 
11857
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
580k
      128, 128, 128,   0,   0,   0,   0, 128, 
11860
580k
        0, 128, 128, 128, 128, 128, 128, 128, 
11861
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
580k
      128, 128, 128,   0,   0,   0,   0,   0, 
11864
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
580k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
580k
    };
11881
580k
    YYDEBUG(1019, *YYCURSOR);
11882
580k
    YYFILL(2);
11883
580k
    yych = *YYCURSOR;
11884
580k
    if (yych <= '#') {
11885
85.0k
      if (yych == '"') goto yy1023;
11886
495k
    } else {
11887
495k
      if (yych <= '$') goto yy1025;
11888
228k
      if (yych == '{') goto yy1026;
11889
228k
    }
11890
278k
    YYDEBUG(1021, *YYCURSOR);
11891
278k
    ++YYCURSOR;
11892
290k
yy1022:
11893
290k
    YYDEBUG(1022, *YYCURSOR);
11894
290k
    yyleng = YYCURSOR - SCNG(yy_text);
11895
290k
#line 2864 "Zend/zend_language_scanner.l"
11896
290k
    {
11897
290k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11898
71.9k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11899
71.9k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11900
11901
71.9k
    goto double_quotes_scan_done;
11902
71.9k
  }
11903
11904
218k
  if (YYCURSOR > YYLIMIT) {
11905
9.16k
    RETURN_END_TOKEN;
11906
9.16k
  }
11907
209k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11908
4.86k
    YYCURSOR++;
11909
4.86k
  }
11910
11911
3.77M
  while (YYCURSOR < YYLIMIT) {
11912
3.77M
    switch (*YYCURSOR++) {
11913
26.5k
      case '"':
11914
26.5k
        break;
11915
204k
      case '$':
11916
204k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11917
178k
          break;
11918
178k
        }
11919
26.3k
        continue;
11920
26.3k
      case '{':
11921
11.4k
        if (*YYCURSOR == '$') {
11922
1.74k
          break;
11923
1.74k
        }
11924
9.67k
        continue;
11925
15.4k
      case '\\':
11926
15.4k
        if (YYCURSOR < YYLIMIT) {
11927
15.2k
          YYCURSOR++;
11928
15.2k
        }
11929
15.4k
        ZEND_FALLTHROUGH;
11930
3.53M
      default:
11931
3.53M
        continue;
11932
3.77M
    }
11933
11934
206k
    YYCURSOR--;
11935
206k
    break;
11936
3.77M
  }
11937
11938
281k
double_quotes_scan_done:
11939
281k
  yyleng = YYCURSOR - SCNG(yy_text);
11940
11941
281k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11942
281k
   || !PARSER_MODE()) {
11943
281k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11944
281k
  } else {
11945
67
    RETURN_TOKEN(T_ERROR);
11946
67
  }
11947
281k
}
11948
0
#line 11949 "Zend/zend_language_scanner.c"
11949
28.5k
yy1023:
11950
28.5k
    YYDEBUG(1023, *YYCURSOR);
11951
28.5k
    ++YYCURSOR;
11952
28.5k
    YYDEBUG(1024, *YYCURSOR);
11953
28.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11954
28.5k
#line 2853 "Zend/zend_language_scanner.l"
11955
28.5k
    {
11956
28.5k
  BEGIN(ST_IN_SCRIPTING);
11957
28.5k
  RETURN_TOKEN('"');
11958
28.5k
}
11959
0
#line 11960 "Zend/zend_language_scanner.c"
11960
267k
yy1025:
11961
267k
    YYDEBUG(1025, *YYCURSOR);
11962
267k
    yych = *++YYCURSOR;
11963
267k
    if (yych <= '_') {
11964
38.1k
      if (yych <= '@') goto yy1022;
11965
28.3k
      if (yych <= 'Z') goto yy1027;
11966
3.14k
      if (yych <= '^') goto yy1022;
11967
2.86k
      goto yy1027;
11968
229k
    } else {
11969
229k
      if (yych <= 'z') {
11970
176k
        if (yych <= '`') goto yy1022;
11971
176k
        goto yy1027;
11972
176k
      } else {
11973
52.7k
        if (yych <= '{') goto yy1030;
11974
13.0k
        if (yych <= 0x7F) goto yy1022;
11975
12.6k
        goto yy1027;
11976
13.0k
      }
11977
229k
    }
11978
6.12k
yy1026:
11979
6.12k
    YYDEBUG(1026, *YYCURSOR);
11980
6.12k
    yych = *++YYCURSOR;
11981
6.12k
    if (yych == '$') goto yy1032;
11982
1.28k
    goto yy1022;
11983
708k
yy1027:
11984
708k
    YYDEBUG(1027, *YYCURSOR);
11985
708k
    YYMARKER = ++YYCURSOR;
11986
708k
    YYFILL(4);
11987
708k
    yych = *YYCURSOR;
11988
708k
    YYDEBUG(1028, *YYCURSOR);
11989
708k
    if (yybm[0+yych] & 128) {
11990
491k
      goto yy1027;
11991
491k
    }
11992
217k
    if (yych <= '>') {
11993
98.6k
      if (yych == '-') goto yy1034;
11994
118k
    } else {
11995
118k
      if (yych <= '?') goto yy1036;
11996
11.8k
      if (yych <= '@') goto yy1029;
11997
11.5k
      if (yych <= '[') goto yy1037;
11998
11.5k
    }
11999
162k
yy1029:
12000
162k
    YYDEBUG(1029, *YYCURSOR);
12001
162k
    yyleng = YYCURSOR - SCNG(yy_text);
12002
162k
#line 2417 "Zend/zend_language_scanner.l"
12003
162k
    {
12004
162k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12005
162k
}
12006
0
#line 12007 "Zend/zend_language_scanner.c"
12007
39.6k
yy1030:
12008
39.6k
    YYDEBUG(1030, *YYCURSOR);
12009
39.6k
    ++YYCURSOR;
12010
39.6k
    YYDEBUG(1031, *YYCURSOR);
12011
39.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12012
39.6k
#line 1981 "Zend/zend_language_scanner.l"
12013
39.6k
    {
12014
39.6k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12015
39.6k
  enter_nesting('{');
12016
39.6k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12017
39.6k
}
12018
0
#line 12019 "Zend/zend_language_scanner.c"
12019
4.84k
yy1032:
12020
4.84k
    YYDEBUG(1032, *YYCURSOR);
12021
4.84k
    ++YYCURSOR;
12022
4.84k
    YYDEBUG(1033, *YYCURSOR);
12023
4.84k
    yyleng = YYCURSOR - SCNG(yy_text);
12024
4.84k
#line 2845 "Zend/zend_language_scanner.l"
12025
4.84k
    {
12026
4.84k
  yy_push_state(ST_IN_SCRIPTING);
12027
4.84k
  yyless(1);
12028
4.84k
  enter_nesting('{');
12029
4.84k
  RETURN_TOKEN(T_CURLY_OPEN);
12030
4.84k
}
12031
0
#line 12032 "Zend/zend_language_scanner.c"
12032
10.8k
yy1034:
12033
10.8k
    YYDEBUG(1034, *YYCURSOR);
12034
10.8k
    yych = *++YYCURSOR;
12035
10.8k
    if (yych == '>') goto yy1039;
12036
67.5k
yy1035:
12037
67.5k
    YYDEBUG(1035, *YYCURSOR);
12038
67.5k
    YYCURSOR = YYMARKER;
12039
67.5k
    goto yy1029;
12040
107k
yy1036:
12041
107k
    YYDEBUG(1036, *YYCURSOR);
12042
107k
    yych = *++YYCURSOR;
12043
107k
    if (yych == '-') goto yy1040;
12044
56.6k
    goto yy1035;
12045
56.6k
yy1037:
12046
4.92k
    YYDEBUG(1037, *YYCURSOR);
12047
4.92k
    ++YYCURSOR;
12048
4.92k
    YYDEBUG(1038, *YYCURSOR);
12049
4.92k
    yyleng = YYCURSOR - SCNG(yy_text);
12050
4.92k
#line 2411 "Zend/zend_language_scanner.l"
12051
4.92k
    {
12052
4.92k
  yyless(yyleng - 1);
12053
4.92k
  yy_push_state(ST_VAR_OFFSET);
12054
4.92k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12055
4.92k
}
12056
0
#line 12057 "Zend/zend_language_scanner.c"
12057
7.85k
yy1039:
12058
7.85k
    YYDEBUG(1039, *YYCURSOR);
12059
7.85k
    yych = *++YYCURSOR;
12060
7.85k
    if (yych <= '_') {
12061
1.71k
      if (yych <= '@') goto yy1035;
12062
792
      if (yych <= 'Z') goto yy1041;
12063
555
      if (yych <= '^') goto yy1035;
12064
313
      goto yy1041;
12065
6.13k
    } else {
12066
6.13k
      if (yych <= '`') goto yy1035;
12067
5.92k
      if (yych <= 'z') goto yy1041;
12068
1.28k
      if (yych <= 0x7F) goto yy1035;
12069
362
      goto yy1041;
12070
1.28k
    }
12071
50.4k
yy1040:
12072
50.4k
    YYDEBUG(1040, *YYCURSOR);
12073
50.4k
    yych = *++YYCURSOR;
12074
50.4k
    if (yych == '>') goto yy1043;
12075
2.89k
    goto yy1035;
12076
5.55k
yy1041:
12077
5.55k
    YYDEBUG(1041, *YYCURSOR);
12078
5.55k
    ++YYCURSOR;
12079
5.55k
    YYDEBUG(1042, *YYCURSOR);
12080
5.55k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
5.55k
#line 2397 "Zend/zend_language_scanner.l"
12082
5.55k
    {
12083
5.55k
  yyless(yyleng - 3);
12084
5.55k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12085
5.55k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
5.55k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
47.5k
yy1043:
12089
47.5k
    YYDEBUG(1043, *YYCURSOR);
12090
47.5k
    yych = *++YYCURSOR;
12091
47.5k
    if (yych <= '_') {
12092
2.37k
      if (yych <= '@') goto yy1035;
12093
773
      if (yych <= 'Z') goto yy1044;
12094
546
      if (yych <= '^') goto yy1035;
12095
45.1k
    } else {
12096
45.1k
      if (yych <= '`') goto yy1035;
12097
44.7k
      if (yych <= 'z') goto yy1044;
12098
1.28k
      if (yych <= 0x7F) goto yy1035;
12099
1.28k
    }
12100
44.7k
yy1044:
12101
44.7k
    YYDEBUG(1044, *YYCURSOR);
12102
44.7k
    ++YYCURSOR;
12103
44.7k
    YYDEBUG(1045, *YYCURSOR);
12104
44.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12105
44.7k
#line 2403 "Zend/zend_language_scanner.l"
12106
44.7k
    {
12107
44.7k
  yyless(yyleng - 4);
12108
44.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12109
44.7k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12110
44.7k
}
12111
44.7k
#line 12112 "Zend/zend_language_scanner.c"
12112
44.7k
  }
12113
/* *********************************** */
12114
4.52M
yyc_ST_HEREDOC:
12115
4.52M
  {
12116
4.52M
    static const unsigned char yybm[] = {
12117
4.52M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
4.52M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
4.52M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
4.52M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
4.52M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
4.52M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12124
4.52M
      128, 128,   0,   0,   0,   0,   0,   0, 
12125
4.52M
        0, 128, 128, 128, 128, 128, 128, 128, 
12126
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
4.52M
      128, 128, 128,   0,   0,   0,   0, 128, 
12129
4.52M
        0, 128, 128, 128, 128, 128, 128, 128, 
12130
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
4.52M
      128, 128, 128,   0,   0,   0,   0,   0, 
12133
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
4.52M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
4.52M
    };
12150
4.52M
    YYDEBUG(1046, *YYCURSOR);
12151
4.52M
    YYFILL(2);
12152
4.52M
    yych = *YYCURSOR;
12153
4.52M
    if (yych == '$') goto yy1050;
12154
841k
    if (yych == '{') goto yy1051;
12155
778k
    YYDEBUG(1048, *YYCURSOR);
12156
778k
    ++YYCURSOR;
12157
979k
yy1049:
12158
979k
    YYDEBUG(1049, *YYCURSOR);
12159
979k
    yyleng = YYCURSOR - SCNG(yy_text);
12160
979k
#line 2964 "Zend/zend_language_scanner.l"
12161
979k
    {
12162
979k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12163
979k
  int newline = 0, indentation = 0, spacing = 0;
12164
12165
979k
  if (YYCURSOR > YYLIMIT) {
12166
15.0k
    RETURN_END_TOKEN;
12167
15.0k
  }
12168
12169
964k
  YYCURSOR--;
12170
12171
14.2M
  while (YYCURSOR < YYLIMIT) {
12172
14.1M
    switch (*YYCURSOR++) {
12173
81.2k
      case '\r':
12174
81.2k
        if (*YYCURSOR == '\n') {
12175
2.89k
          YYCURSOR++;
12176
2.89k
        }
12177
81.2k
        ZEND_FALLTHROUGH;
12178
1.04M
      case '\n':
12179
1.04M
        indentation = spacing = 0;
12180
12181
1.36M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12182
323k
          if (*YYCURSOR == '\t') {
12183
3.00k
            spacing |= HEREDOC_USING_TABS;
12184
320k
          } else {
12185
320k
            spacing |= HEREDOC_USING_SPACES;
12186
320k
          }
12187
323k
          ++YYCURSOR;
12188
323k
          ++indentation;
12189
323k
        }
12190
12191
1.04M
        if (YYCURSOR == YYLIMIT) {
12192
2.12k
          yyleng = YYCURSOR - SCNG(yy_text);
12193
2.12k
          HANDLE_NEWLINES(yytext, yyleng);
12194
2.12k
          ZVAL_NULL(zendlval);
12195
2.12k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12196
2.12k
        }
12197
12198
        /* Check for ending label on the next line */
12199
1.04M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12200
19.2k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12201
10.3k
            continue;
12202
10.3k
          }
12203
12204
8.95k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12205
205
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12206
205
            if (PARSER_MODE()) {
12207
7
              RETURN_TOKEN(T_ERROR);
12208
7
            }
12209
205
          }
12210
12211
          /* newline before label will be subtracted from returned text, but
12212
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12213
8.95k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12214
235
            newline = 2; /* Windows newline */
12215
8.71k
          } else {
12216
8.71k
            newline = 1;
12217
8.71k
          }
12218
12219
8.95k
          CG(increment_lineno) = 1; /* For newline before label */
12220
12221
8.95k
          if (SCNG(heredoc_scan_ahead)) {
12222
6.68k
            SCNG(heredoc_indentation) = indentation;
12223
6.68k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12224
6.68k
          } else {
12225
2.26k
            YYCURSOR -= indentation;
12226
2.26k
          }
12227
12228
8.95k
          BEGIN(ST_END_HEREDOC);
12229
12230
8.95k
          goto heredoc_scan_done;
12231
8.95k
        }
12232
1.02M
        continue;
12233
1.22M
      case '$':
12234
1.22M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12235
928k
          break;
12236
928k
        }
12237
293k
        continue;
12238
293k
      case '{':
12239
244k
        if (*YYCURSOR == '$') {
12240
14.4k
          break;
12241
14.4k
        }
12242
229k
        continue;
12243
229k
      case '\\':
12244
47.9k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12245
46.2k
          YYCURSOR++;
12246
46.2k
        }
12247
47.9k
        ZEND_FALLTHROUGH;
12248
11.6M
      default:
12249
11.6M
        continue;
12250
14.1M
    }
12251
12252
942k
    YYCURSOR--;
12253
942k
    break;
12254
14.1M
  }
12255
12256
962k
heredoc_scan_done:
12257
12258
962k
  yyleng = YYCURSOR - SCNG(yy_text);
12259
962k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12260
12261
962k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12262
62.9k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12263
62.9k
    zend_string *copy = Z_STR_P(zendlval);
12264
12265
62.9k
    if (!strip_multiline_string_indentation(
12266
62.9k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12267
62.9k
        newline_at_start, newline != 0)) {
12268
21
      RETURN_TOKEN(T_ERROR);
12269
21
    }
12270
12271
62.8k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12272
24
      zend_string_efree(copy);
12273
24
      RETURN_TOKEN(T_ERROR);
12274
24
    }
12275
12276
62.8k
    zend_string_efree(copy);
12277
899k
  } else {
12278
899k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12279
899k
  }
12280
12281
962k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12282
962k
}
12283
0
#line 12284 "Zend/zend_language_scanner.c"
12284
3.68M
yy1050:
12285
3.68M
    YYDEBUG(1050, *YYCURSOR);
12286
3.68M
    yych = *++YYCURSOR;
12287
3.68M
    if (yych <= '_') {
12288
169k
      if (yych <= '@') goto yy1049;
12289
23.6k
      if (yych <= 'Z') goto yy1052;
12290
12.2k
      if (yych <= '^') goto yy1049;
12291
4.47k
      goto yy1052;
12292
3.51M
    } else {
12293
3.51M
      if (yych <= 'z') {
12294
328k
        if (yych <= '`') goto yy1049;
12295
327k
        goto yy1052;
12296
3.18M
      } else {
12297
3.18M
        if (yych <= '{') goto yy1055;
12298
111k
        if (yych <= 0x7F) goto yy1049;
12299
106k
        goto yy1052;
12300
111k
      }
12301
3.51M
    }
12302
63.1k
yy1051:
12303
63.1k
    YYDEBUG(1051, *YYCURSOR);
12304
63.1k
    yych = *++YYCURSOR;
12305
63.1k
    if (yych == '$') goto yy1057;
12306
41.2k
    goto yy1049;
12307
1.47M
yy1052:
12308
1.47M
    YYDEBUG(1052, *YYCURSOR);
12309
1.47M
    YYMARKER = ++YYCURSOR;
12310
1.47M
    YYFILL(4);
12311
1.47M
    yych = *YYCURSOR;
12312
1.47M
    YYDEBUG(1053, *YYCURSOR);
12313
1.47M
    if (yybm[0+yych] & 128) {
12314
1.02M
      goto yy1052;
12315
1.02M
    }
12316
450k
    if (yych <= '>') {
12317
311k
      if (yych == '-') goto yy1059;
12318
311k
    } else {
12319
138k
      if (yych <= '?') goto yy1061;
12320
46.8k
      if (yych <= '@') goto yy1054;
12321
45.5k
      if (yych <= '[') goto yy1062;
12322
45.5k
    }
12323
392k
yy1054:
12324
392k
    YYDEBUG(1054, *YYCURSOR);
12325
392k
    yyleng = YYCURSOR - SCNG(yy_text);
12326
392k
#line 2417 "Zend/zend_language_scanner.l"
12327
392k
    {
12328
392k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12329
392k
}
12330
0
#line 12331 "Zend/zend_language_scanner.c"
12331
3.07M
yy1055:
12332
3.07M
    YYDEBUG(1055, *YYCURSOR);
12333
3.07M
    ++YYCURSOR;
12334
3.07M
    YYDEBUG(1056, *YYCURSOR);
12335
3.07M
    yyleng = YYCURSOR - SCNG(yy_text);
12336
3.07M
#line 1981 "Zend/zend_language_scanner.l"
12337
3.07M
    {
12338
3.07M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12339
3.07M
  enter_nesting('{');
12340
3.07M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12341
3.07M
}
12342
0
#line 12343 "Zend/zend_language_scanner.c"
12343
21.9k
yy1057:
12344
21.9k
    YYDEBUG(1057, *YYCURSOR);
12345
21.9k
    ++YYCURSOR;
12346
21.9k
    YYDEBUG(1058, *YYCURSOR);
12347
21.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12348
21.9k
#line 2845 "Zend/zend_language_scanner.l"
12349
21.9k
    {
12350
21.9k
  yy_push_state(ST_IN_SCRIPTING);
12351
21.9k
  yyless(1);
12352
21.9k
  enter_nesting('{');
12353
21.9k
  RETURN_TOKEN(T_CURLY_OPEN);
12354
21.9k
}
12355
0
#line 12356 "Zend/zend_language_scanner.c"
12356
11.4k
yy1059:
12357
11.4k
    YYDEBUG(1059, *YYCURSOR);
12358
11.4k
    yych = *++YYCURSOR;
12359
11.4k
    if (yych == '>') goto yy1064;
12360
58.4k
yy1060:
12361
58.4k
    YYDEBUG(1060, *YYCURSOR);
12362
58.4k
    YYCURSOR = YYMARKER;
12363
58.4k
    goto yy1054;
12364
91.4k
yy1061:
12365
91.4k
    YYDEBUG(1061, *YYCURSOR);
12366
91.4k
    yych = *++YYCURSOR;
12367
91.4k
    if (yych == '-') goto yy1065;
12368
47.2k
    goto yy1060;
12369
47.2k
yy1062:
12370
13.2k
    YYDEBUG(1062, *YYCURSOR);
12371
13.2k
    ++YYCURSOR;
12372
13.2k
    YYDEBUG(1063, *YYCURSOR);
12373
13.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12374
13.2k
#line 2411 "Zend/zend_language_scanner.l"
12375
13.2k
    {
12376
13.2k
  yyless(yyleng - 1);
12377
13.2k
  yy_push_state(ST_VAR_OFFSET);
12378
13.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12379
13.2k
}
12380
0
#line 12381 "Zend/zend_language_scanner.c"
12381
9.23k
yy1064:
12382
9.23k
    YYDEBUG(1064, *YYCURSOR);
12383
9.23k
    yych = *++YYCURSOR;
12384
9.23k
    if (yych <= '_') {
12385
2.28k
      if (yych <= '@') goto yy1060;
12386
1.80k
      if (yych <= 'Z') goto yy1066;
12387
1.09k
      if (yych <= '^') goto yy1060;
12388
858
      goto yy1066;
12389
6.95k
    } else {
12390
6.95k
      if (yych <= '`') goto yy1060;
12391
6.72k
      if (yych <= 'z') goto yy1066;
12392
1.12k
      if (yych <= 0x7F) goto yy1060;
12393
702
      goto yy1066;
12394
1.12k
    }
12395
44.2k
yy1065:
12396
44.2k
    YYDEBUG(1065, *YYCURSOR);
12397
44.2k
    yych = *++YYCURSOR;
12398
44.2k
    if (yych == '>') goto yy1068;
12399
1.39k
    goto yy1060;
12400
7.87k
yy1066:
12401
7.87k
    YYDEBUG(1066, *YYCURSOR);
12402
7.87k
    ++YYCURSOR;
12403
7.87k
    YYDEBUG(1067, *YYCURSOR);
12404
7.87k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
7.87k
#line 2397 "Zend/zend_language_scanner.l"
12406
7.87k
    {
12407
7.87k
  yyless(yyleng - 3);
12408
7.87k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12409
7.87k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
7.87k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
42.8k
yy1068:
12413
42.8k
    YYDEBUG(1068, *YYCURSOR);
12414
42.8k
    yych = *++YYCURSOR;
12415
42.8k
    if (yych <= '_') {
12416
6.57k
      if (yych <= '@') goto yy1060;
12417
986
      if (yych <= 'Z') goto yy1069;
12418
759
      if (yych <= '^') goto yy1060;
12419
36.2k
    } else {
12420
36.2k
      if (yych <= '`') goto yy1060;
12421
36.0k
      if (yych <= 'z') goto yy1069;
12422
923
      if (yych <= 0x7F) goto yy1060;
12423
923
    }
12424
36.5k
yy1069:
12425
36.5k
    YYDEBUG(1069, *YYCURSOR);
12426
36.5k
    ++YYCURSOR;
12427
36.5k
    YYDEBUG(1070, *YYCURSOR);
12428
36.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12429
36.5k
#line 2403 "Zend/zend_language_scanner.l"
12430
36.5k
    {
12431
36.5k
  yyless(yyleng - 4);
12432
36.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12433
36.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12434
36.5k
}
12435
36.5k
#line 12436 "Zend/zend_language_scanner.c"
12436
36.5k
  }
12437
/* *********************************** */
12438
3.12M
yyc_ST_LOOKING_FOR_VARNAME:
12439
3.12M
  {
12440
3.12M
    static const unsigned char yybm[] = {
12441
3.12M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
3.12M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.12M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.12M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.12M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.12M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12448
3.12M
      128, 128,   0,   0,   0,   0,   0,   0, 
12449
3.12M
        0, 128, 128, 128, 128, 128, 128, 128, 
12450
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
3.12M
      128, 128, 128,   0,   0,   0,   0, 128, 
12453
3.12M
        0, 128, 128, 128, 128, 128, 128, 128, 
12454
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
3.12M
      128, 128, 128,   0,   0,   0,   0,   0, 
12457
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.12M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
3.12M
    };
12474
3.12M
    YYDEBUG(1071, *YYCURSOR);
12475
3.12M
    YYFILL(2);
12476
3.12M
    yych = *YYCURSOR;
12477
3.12M
    if (yych <= '_') {
12478
3.03M
      if (yych <= '@') goto yy1073;
12479
17.1k
      if (yych <= 'Z') goto yy1075;
12480
8.70k
      if (yych >= '_') goto yy1075;
12481
91.5k
    } else {
12482
91.5k
      if (yych <= '`') goto yy1073;
12483
88.4k
      if (yych <= 'z') goto yy1075;
12484
27.6k
      if (yych >= 0x80) goto yy1075;
12485
27.6k
    }
12486
3.02M
yy1073:
12487
3.02M
    YYDEBUG(1073, *YYCURSOR);
12488
3.02M
    ++YYCURSOR;
12489
3.12M
yy1074:
12490
3.12M
    YYDEBUG(1074, *YYCURSOR);
12491
3.12M
    yyleng = YYCURSOR - SCNG(yy_text);
12492
3.12M
#line 2004 "Zend/zend_language_scanner.l"
12493
3.12M
    {
12494
3.12M
  yyless(0);
12495
3.12M
  yy_pop_state();
12496
3.12M
  yy_push_state(ST_IN_SCRIPTING);
12497
3.12M
  goto restart;
12498
3.02M
}
12499
0
#line 12500 "Zend/zend_language_scanner.c"
12500
98.9k
yy1075:
12501
98.9k
    YYDEBUG(1075, *YYCURSOR);
12502
98.9k
    yych = *(YYMARKER = ++YYCURSOR);
12503
98.9k
    if (yych <= '_') {
12504
42.5k
      if (yych <= '@') {
12505
26.6k
        if (yych <= '/') goto yy1074;
12506
14.6k
        if (yych <= '9') goto yy1077;
12507
13.7k
        goto yy1074;
12508
15.8k
      } else {
12509
15.8k
        if (yych <= '[') goto yy1077;
12510
6.10k
        if (yych <= '^') goto yy1074;
12511
5.48k
        goto yy1077;
12512
6.10k
      }
12513
56.3k
    } else {
12514
56.3k
      if (yych <= '|') {
12515
44.8k
        if (yych <= '`') goto yy1074;
12516
44.4k
        if (yych <= 'z') goto yy1077;
12517
806
        goto yy1074;
12518
44.4k
      } else {
12519
11.4k
        if (yych <= '}') goto yy1077;
12520
10.9k
        if (yych <= 0x7F) goto yy1074;
12521
10.4k
        goto yy1077;
12522
10.9k
      }
12523
56.3k
    }
12524
320k
yy1076:
12525
320k
    YYDEBUG(1076, *YYCURSOR);
12526
320k
    ++YYCURSOR;
12527
320k
    YYFILL(1);
12528
320k
    yych = *YYCURSOR;
12529
391k
yy1077:
12530
391k
    YYDEBUG(1077, *YYCURSOR);
12531
391k
    if (yybm[0+yych] & 128) {
12532
320k
      goto yy1076;
12533
320k
    }
12534
70.8k
    if (yych <= '@') goto yy1078;
12535
9.93k
    if (yych <= '[') goto yy1079;
12536
8.48k
    if (yych == '}') goto yy1079;
12537
68.6k
yy1078:
12538
68.6k
    YYDEBUG(1078, *YYCURSOR);
12539
68.6k
    YYCURSOR = YYMARKER;
12540
68.6k
    goto yy1074;
12541
2.16k
yy1079:
12542
2.16k
    YYDEBUG(1079, *YYCURSOR);
12543
2.16k
    ++YYCURSOR;
12544
2.16k
    YYDEBUG(1080, *YYCURSOR);
12545
2.16k
    yyleng = YYCURSOR - SCNG(yy_text);
12546
2.16k
#line 1996 "Zend/zend_language_scanner.l"
12547
2.16k
    {
12548
2.16k
  yyless(yyleng - 1);
12549
2.16k
  yy_pop_state();
12550
2.16k
  yy_push_state(ST_IN_SCRIPTING);
12551
2.16k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12552
2.16k
}
12553
2.16k
#line 12554 "Zend/zend_language_scanner.c"
12554
2.16k
  }
12555
/* *********************************** */
12556
285k
yyc_ST_VAR_OFFSET:
12557
285k
  {
12558
285k
    static const unsigned char yybm[] = {
12559
285k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
285k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
285k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
285k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
285k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
285k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
285k
      248, 248, 216, 216, 216, 216, 216, 216, 
12566
285k
      152, 152,   0,   0,   0,   0,   0,   0, 
12567
285k
        0, 144, 144, 144, 144, 144, 144,  16, 
12568
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
285k
       16,  16,  16,   0,   0,   0,   0,  16, 
12571
285k
        0, 144, 144, 144, 144, 144, 144,  16, 
12572
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
285k
       16,  16,  16,   0,   0,   0,   0,   0, 
12575
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
285k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
285k
    };
12592
285k
    YYDEBUG(1081, *YYCURSOR);
12593
285k
    YYFILL(2);
12594
285k
    yych = *YYCURSOR;
12595
285k
    if (yych <= '0') {
12596
152k
      if (yych <= ' ') {
12597
72.7k
        if (yych <= '\f') {
12598
58.1k
          if (yych <= 0x08) goto yy1083;
12599
8.48k
          if (yych <= '\n') goto yy1085;
12600
14.6k
        } else {
12601
14.6k
          if (yych <= '\r') goto yy1085;
12602
14.2k
          if (yych >= ' ') goto yy1085;
12603
14.2k
        }
12604
79.3k
      } else {
12605
79.3k
        if (yych <= '$') {
12606
42.6k
          if (yych <= '"') goto yy1087;
12607
35.2k
          if (yych <= '#') goto yy1085;
12608
34.8k
          goto yy1089;
12609
36.7k
        } else {
12610
36.7k
          if (yych == '\'') goto yy1085;
12611
36.4k
          if (yych <= '/') goto yy1087;
12612
16.0k
          goto yy1090;
12613
36.4k
        }
12614
79.3k
      }
12615
152k
    } else {
12616
133k
      if (yych <= ']') {
12617
93.1k
        if (yych <= 'Z') {
12618
53.8k
          if (yych <= '9') goto yy1092;
12619
43.4k
          if (yych <= '@') goto yy1087;
12620
7.12k
          goto yy1094;
12621
43.4k
        } else {
12622
39.2k
          if (yych <= '[') goto yy1087;
12623
11.4k
          if (yych <= '\\') goto yy1085;
12624
10.8k
          goto yy1097;
12625
11.4k
        }
12626
93.1k
      } else {
12627
40.0k
        if (yych <= '`') {
12628
5.17k
          if (yych == '_') goto yy1094;
12629
2.41k
          goto yy1087;
12630
34.8k
        } else {
12631
34.8k
          if (yych <= 'z') goto yy1094;
12632
21.3k
          if (yych <= '~') goto yy1087;
12633
15.4k
          if (yych >= 0x80) goto yy1094;
12634
15.4k
        }
12635
40.0k
      }
12636
133k
    }
12637
67.2k
yy1083:
12638
67.2k
    YYDEBUG(1083, *YYCURSOR);
12639
67.2k
    ++YYCURSOR;
12640
67.2k
    YYDEBUG(1084, *YYCURSOR);
12641
67.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12642
67.2k
#line 3179 "Zend/zend_language_scanner.l"
12643
67.2k
    {
12644
67.2k
  if (YYCURSOR > YYLIMIT) {
12645
1.58k
    RETURN_END_TOKEN;
12646
1.58k
  }
12647
12648
65.6k
  RETURN_TOKEN(T_BAD_CHARACTER);
12649
65.6k
}
12650
0
#line 12651 "Zend/zend_language_scanner.c"
12651
7.39k
yy1085:
12652
7.39k
    YYDEBUG(1085, *YYCURSOR);
12653
7.39k
    ++YYCURSOR;
12654
7.39k
    YYDEBUG(1086, *YYCURSOR);
12655
7.39k
    yyleng = YYCURSOR - SCNG(yy_text);
12656
7.39k
#line 2431 "Zend/zend_language_scanner.l"
12657
7.39k
    {
12658
  /* Invalid rule to return a more explicit parse error with proper line number */
12659
7.39k
  yyless(0);
12660
7.39k
  yy_pop_state();
12661
7.39k
  ZVAL_NULL(zendlval);
12662
7.39k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12663
7.39k
}
12664
0
#line 12665 "Zend/zend_language_scanner.c"
12665
100k
yy1087:
12666
100k
    YYDEBUG(1087, *YYCURSOR);
12667
100k
    ++YYCURSOR;
12668
123k
yy1088:
12669
123k
    YYDEBUG(1088, *YYCURSOR);
12670
123k
    yyleng = YYCURSOR - SCNG(yy_text);
12671
123k
#line 2426 "Zend/zend_language_scanner.l"
12672
123k
    {
12673
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12674
123k
  RETURN_TOKEN(yytext[0]);
12675
123k
}
12676
0
#line 12677 "Zend/zend_language_scanner.c"
12677
34.8k
yy1089:
12678
34.8k
    YYDEBUG(1089, *YYCURSOR);
12679
34.8k
    yych = *++YYCURSOR;
12680
34.8k
    if (yych <= '_') {
12681
24.5k
      if (yych <= '@') goto yy1088;
12682
3.69k
      if (yych <= 'Z') goto yy1099;
12683
1.37k
      if (yych <= '^') goto yy1088;
12684
339
      goto yy1099;
12685
10.2k
    } else {
12686
10.2k
      if (yych <= '`') goto yy1088;
12687
10.0k
      if (yych <= 'z') goto yy1099;
12688
3.19k
      if (yych <= 0x7F) goto yy1088;
12689
2.37k
      goto yy1099;
12690
3.19k
    }
12691
16.0k
yy1090:
12692
16.0k
    YYDEBUG(1090, *YYCURSOR);
12693
16.0k
    yyaccept = 0;
12694
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
12695
16.0k
    if (yych <= 'X') {
12696
8.21k
      if (yych <= 'B') {
12697
7.14k
        if (yych <= '/') goto yy1091;
12698
6.30k
        if (yych <= '9') goto yy1102;
12699
4.26k
        if (yych >= 'B') goto yy1105;
12700
4.26k
      } else {
12701
1.06k
        if (yych == 'O') goto yy1107;
12702
822
        if (yych >= 'X') goto yy1108;
12703
822
      }
12704
8.21k
    } else {
12705
7.84k
      if (yych <= 'b') {
12706
4.08k
        if (yych == '_') goto yy1109;
12707
2.86k
        if (yych >= 'b') goto yy1105;
12708
3.75k
      } else {
12709
3.75k
        if (yych <= 'o') {
12710
1.17k
          if (yych >= 'o') goto yy1107;
12711
2.58k
        } else {
12712
2.58k
          if (yych == 'x') goto yy1108;
12713
2.58k
        }
12714
3.75k
      }
12715
7.84k
    }
12716
20.8k
yy1091:
12717
20.8k
    YYDEBUG(1091, *YYCURSOR);
12718
20.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12719
20.8k
#line 2208 "Zend/zend_language_scanner.l"
12720
20.8k
    { /* Offset could be treated as a long */
12721
20.8k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12722
20.0k
    char *end;
12723
20.0k
    errno = 0;
12724
20.0k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12725
20.0k
    if (errno == ERANGE) {
12726
0
      goto string;
12727
0
    }
12728
20.0k
    ZEND_ASSERT(end == yytext + yyleng);
12729
20.0k
  } else {
12730
737
string:
12731
737
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12732
737
  }
12733
20.8k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12734
20.8k
}
12735
0
#line 12736 "Zend/zend_language_scanner.c"
12736
54.4k
yy1092:
12737
54.4k
    YYDEBUG(1092, *YYCURSOR);
12738
54.4k
    yyaccept = 0;
12739
54.4k
    YYMARKER = ++YYCURSOR;
12740
54.4k
    YYFILL(1);
12741
54.4k
    yych = *YYCURSOR;
12742
54.4k
    YYDEBUG(1093, *YYCURSOR);
12743
54.4k
    if (yybm[0+yych] & 8) {
12744
44.1k
      goto yy1092;
12745
44.1k
    }
12746
10.3k
    if (yych == '_') goto yy1109;
12747
9.57k
    goto yy1091;
12748
153k
yy1094:
12749
153k
    YYDEBUG(1094, *YYCURSOR);
12750
153k
    ++YYCURSOR;
12751
153k
    YYFILL(1);
12752
153k
    yych = *YYCURSOR;
12753
153k
    YYDEBUG(1095, *YYCURSOR);
12754
153k
    if (yybm[0+yych] & 16) {
12755
115k
      goto yy1094;
12756
115k
    }
12757
38.3k
    YYDEBUG(1096, *YYCURSOR);
12758
38.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12759
38.3k
#line 2455 "Zend/zend_language_scanner.l"
12760
38.3k
    {
12761
38.3k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12762
38.3k
}
12763
0
#line 12764 "Zend/zend_language_scanner.c"
12764
10.8k
yy1097:
12765
10.8k
    YYDEBUG(1097, *YYCURSOR);
12766
10.8k
    ++YYCURSOR;
12767
10.8k
    YYDEBUG(1098, *YYCURSOR);
12768
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12769
10.8k
#line 2421 "Zend/zend_language_scanner.l"
12770
10.8k
    {
12771
10.8k
  yy_pop_state();
12772
10.8k
  RETURN_TOKEN(']');
12773
10.8k
}
12774
0
#line 12775 "Zend/zend_language_scanner.c"
12775
29.8k
yy1099:
12776
29.8k
    YYDEBUG(1099, *YYCURSOR);
12777
29.8k
    ++YYCURSOR;
12778
29.8k
    YYFILL(1);
12779
29.8k
    yych = *YYCURSOR;
12780
29.8k
    YYDEBUG(1100, *YYCURSOR);
12781
29.8k
    if (yych <= '^') {
12782
12.3k
      if (yych <= '9') {
12783
5.02k
        if (yych >= '0') goto yy1099;
12784
7.36k
      } else {
12785
7.36k
        if (yych <= '@') goto yy1101;
12786
6.43k
        if (yych <= 'Z') goto yy1099;
12787
6.43k
      }
12788
17.4k
    } else {
12789
17.4k
      if (yych <= '`') {
12790
911
        if (yych <= '_') goto yy1099;
12791
16.5k
      } else {
12792
16.5k
        if (yych <= 'z') goto yy1099;
12793
6.13k
        if (yych >= 0x80) goto yy1099;
12794
6.13k
      }
12795
17.4k
    }
12796
11.8k
yy1101:
12797
11.8k
    YYDEBUG(1101, *YYCURSOR);
12798
11.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
11.8k
#line 2417 "Zend/zend_language_scanner.l"
12800
11.8k
    {
12801
11.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12802
11.8k
}
12803
0
#line 12804 "Zend/zend_language_scanner.c"
12804
7.16k
yy1102:
12805
7.16k
    YYDEBUG(1102, *YYCURSOR);
12806
7.16k
    yyaccept = 1;
12807
7.16k
    YYMARKER = ++YYCURSOR;
12808
7.16k
    YYFILL(1);
12809
7.16k
    yych = *YYCURSOR;
12810
7.16k
    YYDEBUG(1103, *YYCURSOR);
12811
7.16k
    if (yych <= '/') goto yy1104;
12812
6.09k
    if (yych <= '9') goto yy1102;
12813
2.43k
    if (yych == '_') goto yy1109;
12814
5.60k
yy1104:
12815
5.60k
    YYDEBUG(1104, *YYCURSOR);
12816
5.60k
    yyleng = YYCURSOR - SCNG(yy_text);
12817
5.60k
#line 2224 "Zend/zend_language_scanner.l"
12818
5.60k
    { /* Offset must be treated as a string */
12819
5.60k
  if (yyleng == 1) {
12820
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12821
5.60k
  } else {
12822
5.60k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12823
5.60k
  }
12824
5.60k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12825
5.60k
}
12826
0
#line 12827 "Zend/zend_language_scanner.c"
12827
1.72k
yy1105:
12828
1.72k
    YYDEBUG(1105, *YYCURSOR);
12829
1.72k
    ++YYCURSOR;
12830
1.72k
    YYFILL(1);
12831
1.72k
    yych = *YYCURSOR;
12832
1.72k
    if (yybm[0+yych] & 32) {
12833
1.25k
      goto yy1110;
12834
1.25k
    }
12835
3.04k
yy1106:
12836
3.04k
    YYDEBUG(1106, *YYCURSOR);
12837
3.04k
    YYCURSOR = YYMARKER;
12838
3.04k
    if (yyaccept == 0) {
12839
1.98k
      goto yy1091;
12840
1.98k
    } else {
12841
1.06k
      goto yy1104;
12842
1.06k
    }
12843
1.29k
yy1107:
12844
1.29k
    YYDEBUG(1107, *YYCURSOR);
12845
1.29k
    ++YYCURSOR;
12846
1.29k
    YYFILL(1);
12847
1.29k
    yych = *YYCURSOR;
12848
1.29k
    if (yybm[0+yych] & 64) {
12849
635
      goto yy1112;
12850
635
    }
12851
664
    goto yy1106;
12852
1.42k
yy1108:
12853
1.42k
    YYDEBUG(1108, *YYCURSOR);
12854
1.42k
    ++YYCURSOR;
12855
1.42k
    YYFILL(1);
12856
1.42k
    yych = *YYCURSOR;
12857
1.42k
    if (yybm[0+yych] & 128) {
12858
919
      goto yy1114;
12859
919
    }
12860
510
    goto yy1106;
12861
2.87k
yy1109:
12862
2.87k
    YYDEBUG(1109, *YYCURSOR);
12863
2.87k
    ++YYCURSOR;
12864
2.87k
    YYFILL(1);
12865
2.87k
    yych = *YYCURSOR;
12866
2.87k
    if (yych <= '/') goto yy1106;
12867
2.19k
    if (yych <= '9') goto yy1102;
12868
722
    goto yy1106;
12869
1.60k
yy1110:
12870
1.60k
    YYDEBUG(1110, *YYCURSOR);
12871
1.60k
    yyaccept = 1;
12872
1.60k
    YYMARKER = ++YYCURSOR;
12873
1.60k
    YYFILL(1);
12874
1.60k
    yych = *YYCURSOR;
12875
1.60k
    YYDEBUG(1111, *YYCURSOR);
12876
1.60k
    if (yybm[0+yych] & 32) {
12877
354
      goto yy1110;
12878
354
    }
12879
1.25k
    if (yych == '_') goto yy1105;
12880
991
    goto yy1104;
12881
1.28k
yy1112:
12882
1.28k
    YYDEBUG(1112, *YYCURSOR);
12883
1.28k
    yyaccept = 1;
12884
1.28k
    YYMARKER = ++YYCURSOR;
12885
1.28k
    YYFILL(1);
12886
1.28k
    yych = *YYCURSOR;
12887
1.28k
    YYDEBUG(1113, *YYCURSOR);
12888
1.28k
    if (yybm[0+yych] & 64) {
12889
646
      goto yy1112;
12890
646
    }
12891
635
    if (yych == '_') goto yy1107;
12892
259
    goto yy1104;
12893
1.14k
yy1114:
12894
1.14k
    YYDEBUG(1114, *YYCURSOR);
12895
1.14k
    yyaccept = 1;
12896
1.14k
    YYMARKER = ++YYCURSOR;
12897
1.14k
    YYFILL(1);
12898
1.14k
    yych = *YYCURSOR;
12899
1.14k
    YYDEBUG(1115, *YYCURSOR);
12900
1.14k
    if (yybm[0+yych] & 128) {
12901
230
      goto yy1114;
12902
230
    }
12903
919
    if (yych == '_') goto yy1108;
12904
633
    goto yy1104;
12905
919
  }
12906
/* *********************************** */
12907
633
yyc_SHEBANG:
12908
0
  {
12909
0
    static const unsigned char yybm[] = {
12910
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12911
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
    };
12943
0
    YYDEBUG(1116, *YYCURSOR);
12944
0
    YYFILL(2);
12945
0
    yych = *YYCURSOR;
12946
0
    if (yych == '#') goto yy1120;
12947
0
    YYDEBUG(1118, *YYCURSOR);
12948
0
    ++YYCURSOR;
12949
0
yy1119:
12950
0
    YYDEBUG(1119, *YYCURSOR);
12951
0
    yyleng = YYCURSOR - SCNG(yy_text);
12952
0
#line 2295 "Zend/zend_language_scanner.l"
12953
0
    {
12954
0
  yyless(0);
12955
0
  BEGIN(INITIAL);
12956
0
  goto restart;
12957
0
}
12958
0
#line 12959 "Zend/zend_language_scanner.c"
12959
0
yy1120:
12960
0
    YYDEBUG(1120, *YYCURSOR);
12961
0
    yych = *++YYCURSOR;
12962
0
    if (yych != '!') goto yy1119;
12963
0
yy1121:
12964
0
    YYDEBUG(1121, *YYCURSOR);
12965
0
    ++YYCURSOR;
12966
0
    YYFILL(1);
12967
0
    yych = *YYCURSOR;
12968
0
    YYDEBUG(1122, *YYCURSOR);
12969
0
    if (yybm[0+yych] & 128) {
12970
0
      goto yy1121;
12971
0
    }
12972
0
    YYDEBUG(1123, *YYCURSOR);
12973
0
    ++YYCURSOR;
12974
0
    YYDEBUG(1124, *YYCURSOR);
12975
0
    yyleng = YYCURSOR - SCNG(yy_text);
12976
0
#line 2289 "Zend/zend_language_scanner.l"
12977
0
    {
12978
0
  CG(zend_lineno)++;
12979
0
  BEGIN(INITIAL);
12980
0
  goto restart;
12981
0
}
12982
0
#line 12983 "Zend/zend_language_scanner.c"
12983
0
  }
12984
/* *********************************** */
12985
293k
yyc_INITIAL:
12986
293k
  YYDEBUG(1125, *YYCURSOR);
12987
293k
  YYFILL(7);
12988
293k
  yych = *YYCURSOR;
12989
293k
  if (yych == '<') goto yy1129;
12990
117k
  YYDEBUG(1127, *YYCURSOR);
12991
117k
  ++YYCURSOR;
12992
130k
yy1128:
12993
130k
  YYDEBUG(1128, *YYCURSOR);
12994
130k
  yyleng = YYCURSOR - SCNG(yy_text);
12995
130k
#line 2341 "Zend/zend_language_scanner.l"
12996
130k
  {
12997
130k
  if (YYCURSOR > YYLIMIT) {
12998
27.1k
    RETURN_END_TOKEN;
12999
27.1k
  }
13000
13001
103k
inline_char_handler:
13002
13003
208k
  while (1) {
13004
208k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13005
13006
208k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13007
13008
208k
    if (YYCURSOR >= YYLIMIT) {
13009
16.8k
      break;
13010
16.8k
    }
13011
13012
191k
    if (*YYCURSOR == '?') {
13013
86.4k
      if (CG(short_tags) /* <? */
13014
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13015
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13016
0
          (YYCURSOR + 4 == YYLIMIT ||
13017
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13018
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13019
86.4k
      ) {
13020
86.4k
        YYCURSOR--;
13021
86.4k
        break;
13022
86.4k
      }
13023
86.4k
    }
13024
191k
  }
13025
13026
103k
  yyleng = YYCURSOR - SCNG(yy_text);
13027
13028
103k
  if (SCNG(output_filter)) {
13029
0
    size_t readsize;
13030
0
    char *s = NULL;
13031
0
    size_t sz = 0;
13032
    // TODO: avoid reallocation ???
13033
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13034
0
    ZVAL_STRINGL(zendlval, s, sz);
13035
0
    efree(s);
13036
0
    if (readsize < yyleng) {
13037
0
      yyless(readsize);
13038
0
    }
13039
103k
  } else if (yyleng == 1) {
13040
14.5k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13041
88.7k
  } else {
13042
88.7k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13043
88.7k
  }
13044
103k
  HANDLE_NEWLINES(yytext, yyleng);
13045
103k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13046
103k
}
13047
0
#line 13048 "Zend/zend_language_scanner.c"
13048
175k
yy1129:
13049
175k
  YYDEBUG(1129, *YYCURSOR);
13050
175k
  yych = *++YYCURSOR;
13051
175k
  if (yych != '?') goto yy1128;
13052
162k
  YYDEBUG(1130, *YYCURSOR);
13053
162k
  yych = *(YYMARKER = ++YYCURSOR);
13054
162k
  if (yych <= 'O') {
13055
50.9k
    if (yych == '=') goto yy1132;
13056
111k
  } else {
13057
111k
    if (yych <= 'P') goto yy1134;
13058
111k
    if (yych == 'p') goto yy1134;
13059
111k
  }
13060
121k
yy1131:
13061
121k
  YYDEBUG(1131, *YYCURSOR);
13062
121k
  yyleng = YYCURSOR - SCNG(yy_text);
13063
121k
#line 2332 "Zend/zend_language_scanner.l"
13064
121k
  {
13065
121k
  if (CG(short_tags)) {
13066
121k
    BEGIN(ST_IN_SCRIPTING);
13067
121k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13068
121k
  } else {
13069
0
    goto inline_char_handler;
13070
0
  }
13071
121k
}
13072
0
#line 13073 "Zend/zend_language_scanner.c"
13073
1.09k
yy1132:
13074
1.09k
  YYDEBUG(1132, *YYCURSOR);
13075
1.09k
  ++YYCURSOR;
13076
1.09k
  YYDEBUG(1133, *YYCURSOR);
13077
1.09k
  yyleng = YYCURSOR - SCNG(yy_text);
13078
1.09k
#line 2301 "Zend/zend_language_scanner.l"
13079
1.09k
  {
13080
1.09k
  BEGIN(ST_IN_SCRIPTING);
13081
1.09k
  if (PARSER_MODE()) {
13082
    /* We'll reject this as an identifier in zend_lex_tstring. */
13083
634
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13084
634
  }
13085
457
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13086
457
}
13087
0
#line 13088 "Zend/zend_language_scanner.c"
13088
45.9k
yy1134:
13089
45.9k
  YYDEBUG(1134, *YYCURSOR);
13090
45.9k
  yych = *++YYCURSOR;
13091
45.9k
  if (yych == 'H') goto yy1136;
13092
45.2k
  if (yych == 'h') goto yy1136;
13093
5.35k
yy1135:
13094
5.35k
  YYDEBUG(1135, *YYCURSOR);
13095
5.35k
  YYCURSOR = YYMARKER;
13096
5.35k
  goto yy1131;
13097
41.6k
yy1136:
13098
41.6k
  YYDEBUG(1136, *YYCURSOR);
13099
41.6k
  yych = *++YYCURSOR;
13100
41.6k
  if (yych == 'P') goto yy1137;
13101
40.4k
  if (yych != 'p') goto yy1135;
13102
40.5k
yy1137:
13103
40.5k
  YYDEBUG(1137, *YYCURSOR);
13104
40.5k
  yych = *++YYCURSOR;
13105
40.5k
  if (yych <= '\f') {
13106
30.4k
    if (yych <= 0x08) goto yy1138;
13107
29.8k
    if (yych <= '\n') goto yy1139;
13108
29.8k
  } else {
13109
10.0k
    if (yych <= '\r') goto yy1141;
13110
9.54k
    if (yych == ' ') goto yy1139;
13111
9.54k
  }
13112
8.09k
yy1138:
13113
8.09k
  YYDEBUG(1138, *YYCURSOR);
13114
8.09k
  yyleng = YYCURSOR - SCNG(yy_text);
13115
8.09k
#line 2317 "Zend/zend_language_scanner.l"
13116
8.09k
  {
13117
  /* Allow <?php followed by end of file. */
13118
8.09k
  if (YYCURSOR == YYLIMIT) {
13119
311
    BEGIN(ST_IN_SCRIPTING);
13120
311
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13121
311
  }
13122
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13123
7.78k
  if (CG(short_tags)) {
13124
7.78k
    yyless(2);
13125
7.78k
    BEGIN(ST_IN_SCRIPTING);
13126
7.78k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13127
7.78k
  }
13128
0
  goto inline_char_handler;
13129
7.78k
}
13130
0
#line 13131 "Zend/zend_language_scanner.c"
13131
32.2k
yy1139:
13132
32.2k
  YYDEBUG(1139, *YYCURSOR);
13133
32.2k
  ++YYCURSOR;
13134
32.4k
yy1140:
13135
32.4k
  YYDEBUG(1140, *YYCURSOR);
13136
32.4k
  yyleng = YYCURSOR - SCNG(yy_text);
13137
32.4k
#line 2311 "Zend/zend_language_scanner.l"
13138
32.4k
  {
13139
32.4k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13140
32.4k
  BEGIN(ST_IN_SCRIPTING);
13141
32.4k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13142
32.4k
}
13143
0
#line 13144 "Zend/zend_language_scanner.c"
13144
554
yy1141:
13145
554
  YYDEBUG(1141, *YYCURSOR);
13146
554
  yych = *++YYCURSOR;
13147
554
  if (yych == '\n') goto yy1139;
13148
251
  goto yy1140;
13149
/* *********************************** */
13150
16.5k
yyc_ST_END_HEREDOC:
13151
16.5k
  YYDEBUG(1142, *YYCURSOR);
13152
16.5k
  YYFILL(1);
13153
16.5k
  yych = *YYCURSOR;
13154
16.5k
  YYDEBUG(1144, *YYCURSOR);
13155
16.5k
  ++YYCURSOR;
13156
16.5k
  YYDEBUG(1145, *YYCURSOR);
13157
16.5k
  yyleng = YYCURSOR - SCNG(yy_text);
13158
16.5k
#line 2831 "Zend/zend_language_scanner.l"
13159
16.5k
  {
13160
16.5k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13161
13162
16.5k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13163
16.5k
  YYCURSOR += yyleng - 1;
13164
13165
16.5k
  heredoc_label_dtor(heredoc_label);
13166
16.5k
  efree(heredoc_label);
13167
13168
16.5k
  BEGIN(ST_IN_SCRIPTING);
13169
16.5k
  RETURN_TOKEN(T_END_HEREDOC);
13170
16.5k
}
13171
0
#line 13172 "Zend/zend_language_scanner.c"
13172
/* *********************************** */
13173
8.03k
yyc_ST_NOWDOC:
13174
8.03k
  YYDEBUG(1146, *YYCURSOR);
13175
8.03k
  YYFILL(1);
13176
8.03k
  yych = *YYCURSOR;
13177
8.03k
  YYDEBUG(1148, *YYCURSOR);
13178
8.03k
  ++YYCURSOR;
13179
8.03k
  YYDEBUG(1149, *YYCURSOR);
13180
8.03k
  yyleng = YYCURSOR - SCNG(yy_text);
13181
8.03k
#line 3088 "Zend/zend_language_scanner.l"
13182
8.03k
  {
13183
8.03k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13184
8.03k
  int newline = 0, indentation = 0, spacing = -1;
13185
13186
8.03k
  if (YYCURSOR > YYLIMIT) {
13187
1.47k
    RETURN_END_TOKEN;
13188
1.47k
  }
13189
13190
6.56k
  YYCURSOR--;
13191
13192
1.65M
  while (YYCURSOR < YYLIMIT) {
13193
1.65M
    switch (*YYCURSOR++) {
13194
14.6k
      case '\r':
13195
14.6k
        if (*YYCURSOR == '\n') {
13196
1.49k
          YYCURSOR++;
13197
1.49k
        }
13198
14.6k
        ZEND_FALLTHROUGH;
13199
87.6k
      case '\n':
13200
87.6k
        indentation = spacing = 0;
13201
13202
134k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13203
46.9k
          if (*YYCURSOR == '\t') {
13204
789
            spacing |= HEREDOC_USING_TABS;
13205
46.1k
          } else {
13206
46.1k
            spacing |= HEREDOC_USING_SPACES;
13207
46.1k
          }
13208
46.9k
          ++YYCURSOR;
13209
46.9k
          ++indentation;
13210
46.9k
        }
13211
13212
87.6k
        if (YYCURSOR == YYLIMIT) {
13213
334
          yyleng = YYCURSOR - SCNG(yy_text);
13214
334
          HANDLE_NEWLINES(yytext, yyleng);
13215
334
          ZVAL_NULL(zendlval);
13216
334
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13217
334
        }
13218
13219
        /* Check for ending label on the next line */
13220
87.2k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13221
6.52k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13222
1.44k
            continue;
13223
1.44k
          }
13224
13225
5.07k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13226
69
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13227
69
            if (PARSER_MODE()) {
13228
3
              RETURN_TOKEN(T_ERROR);
13229
3
            }
13230
69
          }
13231
13232
          /* newline before label will be subtracted from returned text, but
13233
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13234
5.07k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13235
354
            newline = 2; /* Windows newline */
13236
4.71k
          } else {
13237
4.71k
            newline = 1;
13238
4.71k
          }
13239
13240
5.07k
          CG(increment_lineno) = 1; /* For newline before label */
13241
13242
5.07k
          YYCURSOR -= indentation;
13243
5.07k
          heredoc_label->indentation = indentation;
13244
13245
5.07k
          BEGIN(ST_END_HEREDOC);
13246
13247
5.07k
          goto nowdoc_scan_done;
13248
5.07k
        }
13249
80.7k
        ZEND_FALLTHROUGH;
13250
1.64M
      default:
13251
1.64M
        continue;
13252
1.65M
    }
13253
1.65M
  }
13254
13255
6.22k
nowdoc_scan_done:
13256
6.22k
  yyleng = YYCURSOR - SCNG(yy_text);
13257
6.22k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13258
13259
6.22k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13260
1.25k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13261
1.25k
    if (!strip_multiline_string_indentation(
13262
1.25k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13263
1.25k
        newline_at_start, newline != 0)) {
13264
16
      RETURN_TOKEN(T_ERROR);
13265
16
    }
13266
1.25k
  }
13267
13268
6.21k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13269
6.21k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13270
6.21k
}
13271
6.21k
#line 13272 "Zend/zend_language_scanner.c"
13272
6.21k
}
13273
0
#line 3187 "Zend/zend_language_scanner.l"
13274
13275
13276
4.18M
emit_token_with_str:
13277
4.18M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13278
13279
6.64M
emit_token_with_val:
13280
6.64M
  if (PARSER_MODE()) {
13281
2.22M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13282
2.22M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13283
2.22M
  }
13284
13285
24.1M
emit_token:
13286
24.1M
  if (SCNG(on_event)) {
13287
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13288
0
  }
13289
24.1M
  return token;
13290
13291
779k
emit_token_with_ident:
13292
779k
  if (PARSER_MODE()) {
13293
344k
    elem->ident = SCNG(yy_text);
13294
344k
  }
13295
779k
  if (SCNG(on_event)) {
13296
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13297
0
  }
13298
779k
  return token;
13299
13300
3.16M
return_whitespace:
13301
3.16M
  HANDLE_NEWLINES(yytext, yyleng);
13302
3.16M
  if (SCNG(on_event)) {
13303
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13304
0
  }
13305
3.16M
  if (PARSER_MODE()) {
13306
1.19M
    start_line = CG(zend_lineno);
13307
1.19M
    goto restart;
13308
1.97M
  } else {
13309
1.97M
    return T_WHITESPACE;
13310
1.97M
  }
13311
13312
195k
skip_token:
13313
195k
  if (SCNG(on_event)) {
13314
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13315
0
  }
13316
195k
  start_line = CG(zend_lineno);
13317
195k
  goto restart;
13318
3.16M
}