Coverage Report

Created: 2025-11-16 06:23

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
54.5M
#define YYCTYPE   unsigned char
53
133M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
865M
#define YYCURSOR  SCNG(yy_cursor)
55
273M
#define YYLIMIT   SCNG(yy_limit)
56
50.5M
#define YYMARKER  SCNG(yy_marker)
57
58
182M
#define YYGETCONDITION()  SCNG(yy_state)
59
22.7M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
5.48M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
330k
#define YYSTATE      YYGETCONDITION()
66
23.2M
#define yytext       ((char*)SCNG(yy_text))
67
74.7M
#define yyleng       SCNG(yy_leng)
68
5.30M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
5.30M
                          yyleng   = (unsigned int)x; } while(0)
70
#define yymore()     goto yymore_restart
71
72
/* perform sanity check. If this message is triggered you should
73
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
74
#define YYMAXFILL 16
75
76
#if ZEND_MMAP_AHEAD < YYMAXFILL
77
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
78
#endif
79
80
#include <stdarg.h>
81
82
#ifdef HAVE_UNISTD_H
83
# include <unistd.h>
84
#endif
85
86
/* Globals Macros */
87
1.73G
#define SCNG  LANG_SCNG
88
#ifdef ZTS
89
ZEND_API ts_rsrc_id language_scanner_globals_id;
90
ZEND_API size_t language_scanner_globals_offset;
91
#else
92
ZEND_API zend_php_scanner_globals language_scanner_globals;
93
#endif
94
95
8.13M
#define HANDLE_NEWLINES(s, l)                         \
96
8.13M
do {                                     \
97
8.13M
  char *p = (s), *boundary = p+(l);                     \
98
8.13M
                                        \
99
73.4M
  while (p<boundary) {                           \
100
65.3M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
101
7.09M
      CG(zend_lineno)++;                          \
102
7.09M
    }                                    \
103
65.3M
    p++;                                  \
104
65.3M
  }                                      \
105
8.13M
} while (0)
106
107
321k
#define HANDLE_NEWLINE(c) \
108
321k
{ \
109
321k
  if (c == '\n' || c == '\r') { \
110
95.4k
    CG(zend_lineno)++; \
111
95.4k
  } \
112
321k
}
113
114
/* To save initial string length after scanning to first variable */
115
270k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
116
522k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
117
118
10.5M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
119
48.0k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
120
121
198k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
122
21.5k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
123
124
125
static void strip_underscores(char *str, size_t *len)
126
8.06k
{
127
8.06k
  char *src = str, *dest = str;
128
150k
  while (*src != '\0') {
129
142k
    if (*src != '_') {
130
132k
      *dest = *src;
131
132k
      dest++;
132
132k
    } else {
133
10.3k
      --(*len);
134
10.3k
    }
135
142k
    src++;
136
142k
  }
137
8.06k
  *dest = '\0';
138
8.06k
}
139
140
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
141
0
{
142
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
143
0
  ZEND_ASSERT(internal_encoding);
144
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
145
0
}
146
147
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
148
0
{
149
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
150
0
}
151
152
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
153
0
{
154
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
155
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
156
0
}
157
158
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
159
0
{
160
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
161
0
  ZEND_ASSERT(internal_encoding);
162
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
163
0
internal_encoding, zend_multibyte_encoding_utf8);
164
0
}
165
166
167
static void _yy_push_state(int new_state)
168
11.4M
{
169
11.4M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
170
11.4M
  YYSETCONDITION(new_state);
171
11.4M
}
172
173
11.4M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
174
175
static void yy_pop_state(void)
176
5.54M
{
177
5.54M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
178
5.54M
  YYSETCONDITION(*stack_state);
179
5.54M
  zend_stack_del_top(&SCNG(state_stack));
180
5.54M
}
181
182
static void yy_scan_buffer(char *str, size_t len)
183
145k
{
184
145k
  YYCURSOR       = (YYCTYPE*)str;
185
145k
  YYLIMIT        = YYCURSOR + len;
186
145k
  if (!SCNG(yy_start)) {
187
21.9k
    SCNG(yy_start) = YYCURSOR;
188
21.9k
  }
189
145k
}
190
191
void startup_scanner(void)
192
247k
{
193
247k
  CG(parse_error) = 0;
194
247k
  CG(doc_comment) = NULL;
195
247k
  CG(extra_fn_flags) = 0;
196
247k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
197
247k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
198
247k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
199
247k
  SCNG(heredoc_scan_ahead) = 0;
200
247k
}
201
202
7.63M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
203
7.63M
    efree(heredoc_label->label);
204
7.63M
}
205
206
void shutdown_scanner(void)
207
247k
{
208
247k
  CG(parse_error) = 0;
209
247k
  RESET_DOC_COMMENT();
210
247k
  zend_stack_destroy(&SCNG(state_stack));
211
247k
  zend_stack_destroy(&SCNG(nest_location_stack));
212
247k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
213
247k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
214
247k
  SCNG(heredoc_scan_ahead) = 0;
215
247k
  SCNG(on_event) = NULL;
216
247k
  SCNG(on_event_context) = NULL;
217
247k
}
218
219
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
220
330k
{
221
330k
  lex_state->yy_leng   = SCNG(yy_leng);
222
330k
  lex_state->yy_start  = SCNG(yy_start);
223
330k
  lex_state->yy_text   = SCNG(yy_text);
224
330k
  lex_state->yy_cursor = SCNG(yy_cursor);
225
330k
  lex_state->yy_marker = SCNG(yy_marker);
226
330k
  lex_state->yy_limit  = SCNG(yy_limit);
227
228
330k
  lex_state->state_stack = SCNG(state_stack);
229
330k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
230
231
330k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
232
330k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
233
234
330k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
235
330k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
236
237
330k
  lex_state->in = SCNG(yy_in);
238
330k
  lex_state->yy_state = YYSTATE;
239
330k
  lex_state->filename = CG(compiled_filename);
240
330k
  lex_state->lineno = CG(zend_lineno);
241
330k
  CG(compiled_filename) = NULL;
242
243
330k
  lex_state->script_org = SCNG(script_org);
244
330k
  lex_state->script_org_size = SCNG(script_org_size);
245
330k
  lex_state->script_filtered = SCNG(script_filtered);
246
330k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
247
330k
  lex_state->input_filter = SCNG(input_filter);
248
330k
  lex_state->output_filter = SCNG(output_filter);
249
330k
  lex_state->script_encoding = SCNG(script_encoding);
250
251
330k
  lex_state->on_event = SCNG(on_event);
252
330k
  lex_state->on_event_context = SCNG(on_event_context);
253
254
330k
  lex_state->ast = CG(ast);
255
330k
  lex_state->ast_arena = CG(ast_arena);
256
330k
}
257
258
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
259
323k
{
260
323k
  SCNG(yy_leng)   = lex_state->yy_leng;
261
323k
  SCNG(yy_start)  = lex_state->yy_start;
262
323k
  SCNG(yy_text)   = lex_state->yy_text;
263
323k
  SCNG(yy_cursor) = lex_state->yy_cursor;
264
323k
  SCNG(yy_marker) = lex_state->yy_marker;
265
323k
  SCNG(yy_limit)  = lex_state->yy_limit;
266
267
323k
  zend_stack_destroy(&SCNG(state_stack));
268
323k
  SCNG(state_stack) = lex_state->state_stack;
269
270
323k
  zend_stack_destroy(&SCNG(nest_location_stack));
271
323k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
272
273
323k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
274
323k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
275
323k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
276
277
323k
  SCNG(yy_in) = lex_state->in;
278
323k
  YYSETCONDITION(lex_state->yy_state);
279
323k
  CG(zend_lineno) = lex_state->lineno;
280
323k
  zend_restore_compiled_filename(lex_state->filename);
281
282
323k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
283
0
    efree(SCNG(script_filtered));
284
0
    SCNG(script_filtered) = NULL;
285
0
  }
286
323k
  SCNG(script_org) = lex_state->script_org;
287
323k
  SCNG(script_org_size) = lex_state->script_org_size;
288
323k
  SCNG(script_filtered) = lex_state->script_filtered;
289
323k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
290
323k
  SCNG(input_filter) = lex_state->input_filter;
291
323k
  SCNG(output_filter) = lex_state->output_filter;
292
323k
  SCNG(script_encoding) = lex_state->script_encoding;
293
294
323k
  SCNG(on_event) = lex_state->on_event;
295
323k
  SCNG(on_event_context) = lex_state->on_event_context;
296
297
323k
  CG(ast) = lex_state->ast;
298
323k
  CG(ast_arena) = lex_state->ast_arena;
299
300
323k
  RESET_DOC_COMMENT();
301
323k
}
302
303
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
304
14.8k
{
305
14.8k
  unsigned char *end = ident;
306
94.8k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
307
80.0k
    end++;
308
80.0k
  }
309
310
14.8k
  size_t length = end - ident;
311
14.8k
  if (length == 0) {
312
9
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
313
9
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
314
9
    return FAILURE;
315
9
  }
316
317
14.8k
  if (SCNG(on_event)) {
318
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
319
0
  }
320
321
14.8k
  ZVAL_STRINGL(zv, (char *) ident, length);
322
14.8k
  return SUCCESS;
323
14.8k
}
324
325
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
326
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
327
0
#define BOM_UTF16_BE  "\xfe\xff"
328
0
#define BOM_UTF16_LE  "\xff\xfe"
329
0
#define BOM_UTF8    "\xef\xbb\xbf"
330
331
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
332
0
{
333
0
  const unsigned char *p;
334
0
  int wchar_size = 2;
335
0
  int le = 0;
336
337
  /* utf-16 or utf-32? */
338
0
  p = script;
339
0
  assert(p >= script);
340
0
  while ((size_t)(p-script) < script_size) {
341
0
    p = memchr(p, 0, script_size-(p-script)-2);
342
0
    if (!p) {
343
0
      break;
344
0
    }
345
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
346
0
      wchar_size = 4;
347
0
      break;
348
0
    }
349
350
    /* searching for UTF-32 specific byte orders, so this will do */
351
0
    p += 4;
352
0
  }
353
354
  /* BE or LE? */
355
0
  p = script;
356
0
  assert(p >= script);
357
0
  while ((size_t)(p-script) < script_size) {
358
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
359
      /* BE */
360
0
      le = 0;
361
0
      break;
362
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
363
      /* LE* */
364
0
      le = 1;
365
0
      break;
366
0
    }
367
0
    p += wchar_size;
368
0
  }
369
370
0
  if (wchar_size == 2) {
371
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
372
0
  } else {
373
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
374
0
  }
375
376
0
  return NULL;
377
0
}
378
379
static const zend_encoding* zend_multibyte_detect_unicode(void)
380
0
{
381
0
  const zend_encoding *script_encoding = NULL;
382
0
  int bom_size;
383
0
  unsigned char *pos1, *pos2;
384
385
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
386
0
    return NULL;
387
0
  }
388
389
  /* check out BOM */
390
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
391
0
    script_encoding = zend_multibyte_encoding_utf32be;
392
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
393
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
394
0
    script_encoding = zend_multibyte_encoding_utf32le;
395
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
396
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
397
0
    script_encoding = zend_multibyte_encoding_utf16be;
398
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
399
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
400
0
    script_encoding = zend_multibyte_encoding_utf16le;
401
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
402
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
403
0
    script_encoding = zend_multibyte_encoding_utf8;
404
0
    bom_size = sizeof(BOM_UTF8)-1;
405
0
  }
406
407
0
  if (script_encoding) {
408
    /* remove BOM */
409
0
    LANG_SCNG(script_org) += bom_size;
410
0
    LANG_SCNG(script_org_size) -= bom_size;
411
412
0
    return script_encoding;
413
0
  }
414
415
  /* script contains NULL bytes -> auto-detection */
416
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
417
    /* check if the NULL byte is after the __HALT_COMPILER(); */
418
0
    pos2 = LANG_SCNG(script_org);
419
420
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
421
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
422
0
      if (!pos2) break;
423
0
      pos2++;
424
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
425
0
        pos2 += sizeof("_HALT_COMPILER")-1;
426
0
        while (*pos2 == ' '  ||
427
0
             *pos2 == '\t' ||
428
0
             *pos2 == '\r' ||
429
0
             *pos2 == '\n') {
430
0
          pos2++;
431
0
        }
432
0
        if (*pos2 == '(') {
433
0
          pos2++;
434
0
          while (*pos2 == ' '  ||
435
0
               *pos2 == '\t' ||
436
0
               *pos2 == '\r' ||
437
0
               *pos2 == '\n') {
438
0
            pos2++;
439
0
          }
440
0
          if (*pos2 == ')') {
441
0
            pos2++;
442
0
            while (*pos2 == ' '  ||
443
0
                 *pos2 == '\t' ||
444
0
                 *pos2 == '\r' ||
445
0
                 *pos2 == '\n') {
446
0
              pos2++;
447
0
            }
448
0
            if (*pos2 == ';') {
449
0
              return NULL;
450
0
            }
451
0
          }
452
0
        }
453
0
      }
454
0
    }
455
    /* make best effort if BOM is missing */
456
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
457
0
  }
458
459
0
  return NULL;
460
0
}
461
462
static const zend_encoding* zend_multibyte_find_script_encoding(void)
463
0
{
464
0
  const zend_encoding *script_encoding;
465
466
0
  if (CG(detect_unicode)) {
467
    /* check out bom(byte order mark) and see if containing wchars */
468
0
    script_encoding = zend_multibyte_detect_unicode();
469
0
    if (script_encoding != NULL) {
470
      /* bom or wchar detection is prior to 'script_encoding' option */
471
0
      return script_encoding;
472
0
    }
473
0
  }
474
475
  /* if no script_encoding specified, just leave alone */
476
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
477
0
    return NULL;
478
0
  }
479
480
  /* if multiple encodings specified, detect automagically */
481
0
  if (CG(script_encoding_list_size) > 1) {
482
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
483
0
  }
484
485
0
  return CG(script_encoding_list)[0];
486
0
}
487
488
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
489
0
{
490
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
491
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
492
493
0
  if (!script_encoding) {
494
0
    return FAILURE;
495
0
  }
496
497
  /* judge input/output filter */
498
0
  LANG_SCNG(script_encoding) = script_encoding;
499
0
  LANG_SCNG(input_filter) = NULL;
500
0
  LANG_SCNG(output_filter) = NULL;
501
502
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
503
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
504
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
505
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
506
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
507
0
    } else {
508
0
      LANG_SCNG(input_filter) = NULL;
509
0
      LANG_SCNG(output_filter) = NULL;
510
0
    }
511
0
    return SUCCESS;
512
0
  }
513
514
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
515
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
516
0
    LANG_SCNG(output_filter) = NULL;
517
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
518
0
    LANG_SCNG(input_filter) = NULL;
519
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
520
0
  } else {
521
    /* both script and internal encodings are incompatible w/ flex */
522
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
523
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
524
0
  }
525
526
0
  return SUCCESS;
527
0
}
528
529
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
530
124k
{
531
124k
  char *buf;
532
124k
  size_t size;
533
124k
  zend_string *compiled_filename;
534
535
124k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
536
    /* Still add it to open_files to make destroy_file_handle work */
537
721
    zend_llist_add_element(&CG(open_files), file_handle);
538
721
    file_handle->in_list = 1;
539
721
    return FAILURE;
540
721
  }
541
542
123k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
543
123k
  zend_llist_add_element(&CG(open_files), file_handle);
544
123k
  file_handle->in_list = 1;
545
546
  /* Reset the scanner for scanning the new file */
547
123k
  SCNG(yy_in) = file_handle;
548
123k
  SCNG(yy_start) = NULL;
549
550
123k
  if (size != (size_t)-1) {
551
123k
    if (CG(multibyte)) {
552
0
      SCNG(script_org) = (unsigned char*)buf;
553
0
      SCNG(script_org_size) = size;
554
0
      SCNG(script_filtered) = NULL;
555
556
0
      zend_multibyte_set_filter(NULL);
557
558
0
      if (SCNG(input_filter)) {
559
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
560
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
561
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
562
0
        }
563
0
        buf = (char*)SCNG(script_filtered);
564
0
        size = SCNG(script_filtered_size);
565
0
      }
566
0
    }
567
123k
    SCNG(yy_start) = (unsigned char *)buf;
568
123k
    yy_scan_buffer(buf, size);
569
123k
  } else {
570
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
571
0
  }
572
573
123k
  if (CG(skip_shebang)) {
574
0
    BEGIN(SHEBANG);
575
123k
  } else {
576
123k
    BEGIN(INITIAL);
577
123k
  }
578
579
123k
  if (file_handle->opened_path) {
580
44
    compiled_filename = zend_string_copy(file_handle->opened_path);
581
123k
  } else {
582
123k
    compiled_filename = zend_string_copy(file_handle->filename);
583
123k
  }
584
585
123k
  zend_set_compiled_filename(compiled_filename);
586
123k
  zend_string_release_ex(compiled_filename, 0);
587
588
123k
  SCNG(on_event) = NULL;
589
123k
  SCNG(on_event_context) = NULL;
590
123k
  RESET_DOC_COMMENT();
591
123k
  CG(zend_lineno) = 1;
592
123k
  CG(increment_lineno) = 0;
593
123k
  return SUCCESS;
594
123k
}
595
596
static zend_op_array *zend_compile(int type)
597
126k
{
598
126k
  zend_op_array *op_array = NULL;
599
126k
  bool original_in_compilation = CG(in_compilation);
600
601
126k
  CG(in_compilation) = 1;
602
126k
  CG(ast) = NULL;
603
126k
  CG(ast_arena) = zend_arena_create(1024 * 32);
604
605
126k
  if (!zendparse()) {
606
87.7k
    int last_lineno = CG(zend_lineno);
607
87.7k
    zend_file_context original_file_context;
608
87.7k
    zend_oparray_context original_oparray_context;
609
87.7k
    zend_op_array *original_active_op_array = CG(active_op_array);
610
611
87.7k
    op_array = emalloc(sizeof(zend_op_array));
612
87.7k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
613
87.7k
    CG(active_op_array) = op_array;
614
615
    /* Use heap to not waste arena memory */
616
87.7k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
617
618
87.7k
    if (zend_ast_process) {
619
0
      zend_ast_process(CG(ast));
620
0
    }
621
622
87.7k
    zend_file_context_begin(&original_file_context);
623
87.7k
    zend_oparray_context_begin(&original_oparray_context, op_array);
624
87.7k
    zend_compile_top_stmt(CG(ast));
625
87.7k
    CG(zend_lineno) = last_lineno;
626
87.7k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
627
87.7k
    op_array->line_start = 1;
628
87.7k
    op_array->line_end = last_lineno;
629
87.7k
    pass_two(op_array);
630
87.7k
    zend_oparray_context_end(&original_oparray_context);
631
87.7k
    zend_file_context_end(&original_file_context);
632
633
87.7k
    CG(active_op_array) = original_active_op_array;
634
87.7k
  }
635
636
126k
  zend_ast_destroy(CG(ast));
637
126k
  zend_arena_destroy(CG(ast_arena));
638
639
126k
  CG(in_compilation) = original_in_compilation;
640
641
126k
  return op_array;
642
126k
}
643
644
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
645
124k
{
646
124k
  zend_lex_state original_lex_state;
647
124k
  zend_op_array *op_array = NULL;
648
124k
  zend_save_lexical_state(&original_lex_state);
649
650
124k
  if (open_file_for_scanning(file_handle)==FAILURE) {
651
721
    if (!EG(exception)) {
652
696
      if (type==ZEND_REQUIRE) {
653
680
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
654
680
      } else {
655
16
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
656
16
      }
657
696
    }
658
123k
  } else {
659
123k
    bool orig_record_errors = EG(record_errors);
660
123k
    if (!orig_record_errors) {
661
48
      zend_begin_record_errors();
662
48
    }
663
664
123k
    op_array = zend_compile(ZEND_USER_FUNCTION);
665
666
123k
    if (!orig_record_errors) {
667
48
      zend_emit_recorded_errors();
668
48
      zend_free_recorded_errors();
669
48
    }
670
123k
  }
671
672
124k
  zend_restore_lexical_state(&original_lex_state);
673
124k
  return op_array;
674
124k
}
675
676
ZEND_API zend_ast *zend_compile_string_to_ast(
677
20
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
678
20
  zval code_zv;
679
20
  bool original_in_compilation;
680
20
  zend_lex_state original_lex_state;
681
20
  zend_ast *ast;
682
683
20
  ZVAL_STR_COPY(&code_zv, code);
684
685
20
  original_in_compilation = CG(in_compilation);
686
20
  CG(in_compilation) = 1;
687
688
20
  zend_save_lexical_state(&original_lex_state);
689
20
  zend_prepare_string_for_scanning(&code_zv, filename);
690
20
  CG(ast) = NULL;
691
20
  CG(ast_arena) = zend_arena_create(1024 * 32);
692
20
  LANG_SCNG(yy_state) = yycINITIAL;
693
694
20
  if (zendparse() != 0) {
695
0
    zend_ast_destroy(CG(ast));
696
0
    zend_arena_destroy(CG(ast_arena));
697
0
    CG(ast) = NULL;
698
0
  }
699
700
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
701
20
  ast = CG(ast);
702
20
  *ast_arena = CG(ast_arena);
703
704
20
  zend_restore_lexical_state(&original_lex_state);
705
20
  CG(in_compilation) = original_in_compilation;
706
707
20
  zval_ptr_dtor_str(&code_zv);
708
709
20
  return ast;
710
20
}
711
712
zend_op_array *compile_filename(int type, zend_string *filename)
713
92.2k
{
714
92.2k
  zend_file_handle file_handle;
715
92.2k
  zend_op_array *retval;
716
92.2k
  zend_string *opened_path = NULL;
717
718
92.2k
  zend_stream_init_filename_ex(&file_handle, filename);
719
720
92.2k
  retval = zend_compile_file(&file_handle, type);
721
92.2k
  if (retval && file_handle.handle.stream.handle) {
722
45
    if (!file_handle.opened_path) {
723
2
      file_handle.opened_path = opened_path = zend_string_copy(filename);
724
2
    }
725
726
45
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
727
728
45
    if (opened_path) {
729
2
      zend_string_release_ex(opened_path, 0);
730
2
    }
731
45
  }
732
92.2k
  zend_destroy_file_handle(&file_handle);
733
734
92.2k
  return retval;
735
92.2k
}
736
737
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
738
21.9k
{
739
21.9k
  char *buf;
740
21.9k
  size_t size, old_len;
741
742
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
743
21.9k
  old_len = Z_STRLEN_P(str);
744
21.9k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
745
21.9k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
746
21.9k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
747
748
21.9k
  SCNG(yy_in) = NULL;
749
21.9k
  SCNG(yy_start) = NULL;
750
751
21.9k
  buf = Z_STRVAL_P(str);
752
21.9k
  size = old_len;
753
754
21.9k
  if (CG(multibyte)) {
755
0
    SCNG(script_org) = (unsigned char*)buf;
756
0
    SCNG(script_org_size) = size;
757
0
    SCNG(script_filtered) = NULL;
758
759
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
760
761
0
    if (SCNG(input_filter)) {
762
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
763
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
764
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
765
0
      }
766
0
      buf = (char*)SCNG(script_filtered);
767
0
      size = SCNG(script_filtered_size);
768
0
    }
769
0
  }
770
771
21.9k
  yy_scan_buffer(buf, size);
772
21.9k
  zend_set_compiled_filename(filename);
773
21.9k
  CG(zend_lineno) = 1;
774
21.9k
  CG(increment_lineno) = 0;
775
21.9k
  SCNG(on_event) = NULL;
776
21.9k
  SCNG(on_event_context) = NULL;
777
21.9k
  RESET_DOC_COMMENT();
778
21.9k
}
779
780
781
ZEND_API size_t zend_get_scanned_file_offset(void)
782
68
{
783
68
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
784
68
  if (SCNG(input_filter)) {
785
0
    size_t original_offset = offset, length = 0;
786
0
    do {
787
0
      unsigned char *p = NULL;
788
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
789
0
        return (size_t)-1;
790
0
      }
791
0
      efree(p);
792
0
      if (length > original_offset) {
793
0
        offset--;
794
0
      } else if (length < original_offset) {
795
0
        offset++;
796
0
      }
797
0
    } while (original_offset != length);
798
0
  }
799
68
  return offset;
800
68
}
801
802
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
803
3.90k
{
804
3.90k
  zend_lex_state original_lex_state;
805
3.90k
  zend_op_array *op_array = NULL;
806
3.90k
  zval tmp;
807
3.90k
  zend_string *filename_str;
808
809
3.90k
  if (ZSTR_LEN(source_string) == 0) {
810
58
    return NULL;
811
58
  }
812
813
3.85k
  ZVAL_STR_COPY(&tmp, source_string);
814
815
3.85k
  zend_save_lexical_state(&original_lex_state);
816
3.85k
  filename_str = zend_string_init(filename, strlen(filename), 0);
817
3.85k
  zend_prepare_string_for_scanning(&tmp, filename_str);
818
3.85k
  zend_string_release(filename_str);
819
820
3.85k
  switch (position) {
821
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
822
0
      BEGIN(SHEBANG);
823
0
      break;
824
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
825
0
      BEGIN(INITIAL);
826
0
      break;
827
3.85k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
828
3.85k
      BEGIN(ST_IN_SCRIPTING);
829
3.85k
      break;
830
3.85k
  }
831
832
3.85k
  op_array = zend_compile(ZEND_EVAL_CODE);
833
834
3.85k
  zend_restore_lexical_state(&original_lex_state);
835
3.85k
  zval_ptr_dtor(&tmp);
836
837
3.85k
  return op_array;
838
3.85k
}
839
840
841
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
842
0
{
843
0
  zend_lex_state original_lex_state;
844
0
  zend_file_handle file_handle;
845
846
0
  zend_stream_init_filename(&file_handle, filename);
847
0
  zend_save_lexical_state(&original_lex_state);
848
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
849
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
850
0
    zend_destroy_file_handle(&file_handle);
851
0
    zend_restore_lexical_state(&original_lex_state);
852
0
    return FAILURE;
853
0
  }
854
0
  zend_highlight(syntax_highlighter_ini);
855
0
  if (SCNG(script_filtered)) {
856
0
    efree(SCNG(script_filtered));
857
0
    SCNG(script_filtered) = NULL;
858
0
  }
859
0
  zend_destroy_file_handle(&file_handle);
860
0
  zend_restore_lexical_state(&original_lex_state);
861
0
  return SUCCESS;
862
0
}
863
864
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
865
18.0k
{
866
18.0k
  zend_lex_state original_lex_state;
867
18.0k
  zval str_zv;
868
18.0k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
869
18.0k
  ZVAL_STR_COPY(&str_zv, str);
870
18.0k
  zend_save_lexical_state(&original_lex_state);
871
18.0k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
872
18.0k
  zend_string_release(filename_str);
873
18.0k
  BEGIN(INITIAL);
874
18.0k
  zend_highlight(syntax_highlighter_ini);
875
18.0k
  if (SCNG(script_filtered)) {
876
0
    efree(SCNG(script_filtered));
877
0
    SCNG(script_filtered) = NULL;
878
0
  }
879
18.0k
  zend_restore_lexical_state(&original_lex_state);
880
18.0k
  zval_ptr_dtor(&str_zv);
881
18.0k
}
882
883
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
884
0
{
885
0
  size_t length;
886
0
  unsigned char *new_yy_start;
887
888
  /* convert and set */
889
0
  if (!SCNG(input_filter)) {
890
0
    if (SCNG(script_filtered)) {
891
0
      efree(SCNG(script_filtered));
892
0
      SCNG(script_filtered) = NULL;
893
0
    }
894
0
    SCNG(script_filtered_size) = 0;
895
0
    length = SCNG(script_org_size);
896
0
    new_yy_start = SCNG(script_org);
897
0
  } else {
898
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
899
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
900
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
901
0
    }
902
0
    if (SCNG(script_filtered)) {
903
0
      efree(SCNG(script_filtered));
904
0
    }
905
0
    SCNG(script_filtered) = new_yy_start;
906
0
    SCNG(script_filtered_size) = length;
907
0
  }
908
909
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
910
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
911
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
912
0
  SCNG(yy_limit) = new_yy_start + length;
913
914
0
  SCNG(yy_start) = new_yy_start;
915
0
}
916
917
918
// TODO: avoid reallocation ???
919
# define zend_copy_value(zendlval, yytext, yyleng) \
920
7.19M
  if (SCNG(output_filter)) { \
921
0
    size_t sz = 0; \
922
0
    char *s = NULL; \
923
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
924
0
    ZVAL_STRINGL(zendlval, s, sz); \
925
0
    efree(s); \
926
7.19M
  } else if (yyleng == 1) { \
927
2.50M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
928
4.69M
  } else { \
929
4.69M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
930
4.69M
  }
931
932
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
933
873k
{
934
873k
  char *s, *t;
935
873k
  char *end;
936
937
873k
  if (len <= 1) {
938
220k
    if (len < 1) {
939
32.3k
      ZVAL_EMPTY_STRING(zendlval);
940
188k
    } else {
941
188k
      zend_uchar c = (zend_uchar)*str;
942
188k
      HANDLE_NEWLINE(c);
943
188k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
944
188k
    }
945
220k
    goto skip_escape_conversion;
946
220k
  }
947
948
652k
  ZVAL_STRINGL(zendlval, str, len);
949
950
  /* convert escape sequences */
951
652k
  s = Z_STRVAL_P(zendlval);
952
652k
  end = s+Z_STRLEN_P(zendlval);
953
15.8M
  while (1) {
954
15.8M
    if (UNEXPECTED(*s=='\\')) {
955
176k
      break;
956
176k
    }
957
15.7M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
958
499k
      CG(zend_lineno)++;
959
499k
    }
960
15.7M
    s++;
961
15.7M
    if (s == end) {
962
476k
      goto skip_escape_conversion;
963
476k
    }
964
15.7M
  }
965
966
176k
  t = s;
967
4.20M
  while (s<end) {
968
4.02M
    if (*s=='\\') {
969
342k
      s++;
970
342k
      if (s >= end) {
971
1.48k
        *t++ = '\\';
972
1.48k
        break;
973
1.48k
      }
974
975
340k
      switch(*s) {
976
55.2k
        case 'n':
977
55.2k
          *t++ = '\n';
978
55.2k
          break;
979
1.74k
        case 'r':
980
1.74k
          *t++ = '\r';
981
1.74k
          break;
982
2.33k
        case 't':
983
2.33k
          *t++ = '\t';
984
2.33k
          break;
985
1.30k
        case 'f':
986
1.30k
          *t++ = '\f';
987
1.30k
          break;
988
1.93k
        case 'v':
989
1.93k
          *t++ = '\v';
990
1.93k
          break;
991
526
        case 'e':
992
#ifdef ZEND_WIN32
993
          *t++ = VK_ESCAPE;
994
#else
995
526
          *t++ = '\e';
996
526
#endif
997
526
          break;
998
1.49k
        case '"':
999
3.12k
        case '`':
1000
3.12k
          if (*s != quote_type) {
1001
1.12k
            *t++ = '\\';
1002
1.12k
            *t++ = *s;
1003
1.12k
            break;
1004
1.12k
          }
1005
2.00k
          ZEND_FALLTHROUGH;
1006
90.6k
        case '\\':
1007
92.3k
        case '$':
1008
92.3k
          *t++ = *s;
1009
92.3k
          break;
1010
8.80k
        case 'x':
1011
10.9k
        case 'X':
1012
10.9k
          if (ZEND_IS_HEX(*(s+1))) {
1013
6.46k
            char hex_buf[3] = { 0, 0, 0 };
1014
1015
6.46k
            hex_buf[0] = *(++s);
1016
6.46k
            if (ZEND_IS_HEX(*(s+1))) {
1017
4.05k
              hex_buf[1] = *(++s);
1018
4.05k
            }
1019
6.46k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1020
6.46k
          } else {
1021
4.50k
            *t++ = '\\';
1022
4.50k
            *t++ = *s;
1023
4.50k
          }
1024
10.9k
          break;
1025
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1026
2.56k
        case 'u':
1027
2.56k
          {
1028
            /* cache where we started so we can parse after validating */
1029
2.56k
            char *start = s + 1;
1030
2.56k
            size_t len = 0;
1031
2.56k
            bool valid = 1;
1032
2.56k
            unsigned long codepoint;
1033
1034
2.56k
            if (*start != '{') {
1035
              /* we silently let this pass to avoid breaking code
1036
               * with JSON in string literals (e.g. "\"\u202e\""
1037
               */
1038
796
              *t++ = '\\';
1039
796
              *t++ = 'u';
1040
796
              break;
1041
1.76k
            } else {
1042
              /* on the other hand, invalid \u{blah} errors */
1043
1.76k
              s++;
1044
1.76k
              len++;
1045
1.76k
              s++;
1046
5.32k
              while (*s != '}') {
1047
4.10k
                if (!ZEND_IS_HEX(*s)) {
1048
544
                  valid = 0;
1049
544
                  break;
1050
3.55k
                } else {
1051
3.55k
                  len++;
1052
3.55k
                }
1053
3.55k
                s++;
1054
3.55k
              }
1055
1.76k
              if (*s == '}') {
1056
1.22k
                valid = 1;
1057
1.22k
                len++;
1058
1.22k
              }
1059
1.76k
            }
1060
1061
            /* \u{} is invalid */
1062
1.76k
            if (len <= 2) {
1063
710
              valid = 0;
1064
710
            }
1065
1066
1.76k
            if (!valid) {
1067
805
              zend_throw_exception(zend_ce_parse_error,
1068
805
                "Invalid UTF-8 codepoint escape sequence", 0);
1069
805
              zval_ptr_dtor(zendlval);
1070
805
              ZVAL_UNDEF(zendlval);
1071
805
              return FAILURE;
1072
805
            }
1073
1074
1.76k
            errno = 0;
1075
963
            codepoint = strtoul(start + 1, NULL, 16);
1076
1077
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1078
963
            if (codepoint > 0x10FFFF || errno) {
1079
71
              zend_throw_exception(zend_ce_parse_error,
1080
71
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1081
71
              zval_ptr_dtor(zendlval);
1082
71
              ZVAL_UNDEF(zendlval);
1083
71
              return FAILURE;
1084
71
            }
1085
1086
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1087
892
            if (codepoint < 0x80) {
1088
211
              *t++ = codepoint;
1089
681
            } else if (codepoint <= 0x7FF) {
1090
287
              *t++ = (codepoint >> 6) + 0xC0;
1091
287
              *t++ = (codepoint & 0x3F) + 0x80;
1092
394
            } else if (codepoint <= 0xFFFF) {
1093
322
              *t++ = (codepoint >> 12) + 0xE0;
1094
322
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1095
322
              *t++ = (codepoint & 0x3F) + 0x80;
1096
322
            } else if (codepoint <= 0x10FFFF) {
1097
72
              *t++ = (codepoint >> 18) + 0xF0;
1098
72
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1099
72
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1100
72
              *t++ = (codepoint & 0x3F) + 0x80;
1101
72
            }
1102
892
          }
1103
0
          break;
1104
170k
        default:
1105
          /* check for an octal */
1106
170k
          if (ZEND_IS_OCT(*s)) {
1107
22.6k
            char octal_buf[4] = { 0, 0, 0, 0 };
1108
1109
22.6k
            octal_buf[0] = *s;
1110
22.6k
            if (ZEND_IS_OCT(*(s+1))) {
1111
5.01k
              octal_buf[1] = *(++s);
1112
5.01k
              if (ZEND_IS_OCT(*(s+1))) {
1113
2.11k
                octal_buf[2] = *(++s);
1114
2.11k
              }
1115
5.01k
            }
1116
22.6k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1117
              /* 3 octit values must not overflow 0xFF (\377) */
1118
266
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1119
266
            }
1120
1121
22.6k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1122
147k
          } else {
1123
147k
            *t++ = '\\';
1124
147k
            *t++ = *s;
1125
147k
          }
1126
170k
          break;
1127
340k
      }
1128
3.68M
    } else {
1129
3.68M
      *t++ = *s;
1130
3.68M
    }
1131
1132
4.02M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1133
131k
      CG(zend_lineno)++;
1134
131k
    }
1135
4.02M
    s++;
1136
4.02M
  }
1137
175k
  *t = 0;
1138
175k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1139
1140
872k
skip_escape_conversion:
1141
872k
  if (SCNG(output_filter)) {
1142
0
    size_t sz = 0;
1143
0
    unsigned char *str;
1144
    // TODO: avoid realocation ???
1145
0
    s = Z_STRVAL_P(zendlval);
1146
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1147
0
    zval_ptr_dtor(zendlval);
1148
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1149
0
    efree(str);
1150
0
  }
1151
872k
  return SUCCESS;
1152
175k
}
1153
1154
870k
#define HEREDOC_USING_SPACES 1
1155
78.3k
#define HEREDOC_USING_TABS 2
1156
1157
261k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1158
2.89M
  for (; str < end; str++) {
1159
2.77M
    if (*str == '\r') {
1160
16.9k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1161
16.9k
      return str;
1162
2.75M
    } else if (*str == '\n') {
1163
127k
      *newline_len = 1;
1164
127k
      return str;
1165
127k
    }
1166
2.77M
  }
1167
117k
  *newline_len = 0;
1168
117k
  return NULL;
1169
261k
}
1170
1171
static bool strip_multiline_string_indentation(
1172
  zval *zendlval, int indentation, bool using_spaces,
1173
  bool newline_at_start, bool newline_at_end)
1174
113k
{
1175
113k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1176
113k
  char *copy = Z_STRVAL_P(zendlval);
1177
1178
113k
  int newline_count = 0;
1179
113k
  size_t newline_len;
1180
113k
  const char *nl;
1181
1182
113k
  if (!newline_at_start) {
1183
66.4k
    nl = next_newline(str, end, &newline_len);
1184
66.4k
    if (!nl) {
1185
37.8k
      return 1;
1186
37.8k
    }
1187
1188
28.5k
    str = nl + newline_len;
1189
28.5k
    copy = (char *) nl + newline_len;
1190
28.5k
    newline_count++;
1191
46.9k
  } else {
1192
46.9k
    nl = str;
1193
46.9k
  }
1194
1195
  /* <= intentional */
1196
229k
  while (str <= end && nl) {
1197
195k
    size_t skip;
1198
195k
    nl = next_newline(str, end, &newline_len);
1199
195k
    if (!nl && newline_at_end) {
1200
7.66k
      nl = end;
1201
7.66k
    }
1202
1203
    /* Try to skip indentation */
1204
197k
    for (skip = 0; skip < indentation; skip++, str++) {
1205
3.50k
      if (str == nl) {
1206
        /* Don't require full indentation on whitespace-only lines */
1207
547
        break;
1208
547
      }
1209
1210
2.95k
      if (str == end || (*str != ' ' && *str != '\t')) {
1211
76
        CG(zend_lineno) += newline_count;
1212
76
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1213
76
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1214
76
        goto error;
1215
76
      }
1216
1217
2.88k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1218
33
        CG(zend_lineno) += newline_count;
1219
33
        zend_throw_exception(zend_ce_parse_error,
1220
33
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1221
33
        goto error;
1222
33
      }
1223
2.88k
    }
1224
1225
194k
    if (str == end) {
1226
40.5k
      break;
1227
40.5k
    }
1228
1229
154k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1230
154k
    memmove(copy, str, len);
1231
154k
    str += len;
1232
154k
    copy += len;
1233
154k
    newline_count++;
1234
154k
  }
1235
1236
75.4k
  *copy = '\0';
1237
75.4k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1238
75.4k
  return 1;
1239
1240
109
error:
1241
109
  zval_ptr_dtor_str(zendlval);
1242
109
  ZVAL_UNDEF(zendlval);
1243
1244
109
  return 0;
1245
75.5k
}
1246
1247
static void copy_heredoc_label_stack(void *void_heredoc_label)
1248
3.02M
{
1249
3.02M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1250
3.02M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1251
1252
3.02M
  *new_heredoc_label = *heredoc_label;
1253
3.02M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1254
1255
3.02M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1256
3.02M
}
1257
1258
/* Check that { }, [ ], ( ) are nested correctly */
1259
static void report_bad_nesting(char opening, int opening_lineno, char closing)
1260
246k
{
1261
246k
  char   buf[256];
1262
246k
  size_t used = 0;
1263
1264
246k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1265
1266
246k
  if (opening_lineno != CG(zend_lineno)) {
1267
135k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1268
135k
  }
1269
1270
246k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1271
95.5k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1272
95.5k
  }
1273
1274
246k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1275
246k
}
1276
1277
static void enter_nesting(char opening)
1278
7.74M
{
1279
7.74M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1280
7.74M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1281
7.74M
}
1282
1283
static zend_result exit_nesting(char closing)
1284
1.45M
{
1285
1.45M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1286
12.0k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1287
12.0k
    return FAILURE;
1288
12.0k
  }
1289
1290
1.43M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1291
1.43M
  char opening = nest_loc->text;
1292
1293
1.43M
  if ((opening == '{' && closing != '}') ||
1294
1.39M
      (opening == '[' && closing != ']') ||
1295
1.38M
      (opening == '(' && closing != ')')) {
1296
95.5k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1297
95.5k
    return FAILURE;
1298
95.5k
  }
1299
1300
1.34M
  zend_stack_del_top(&SCNG(nest_location_stack));
1301
1.34M
  return SUCCESS;
1302
1.43M
}
1303
1304
static zend_result check_nesting_at_end(void)
1305
253k
{
1306
253k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1307
150k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1308
150k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1309
150k
    return FAILURE;
1310
150k
  }
1311
1312
103k
  return SUCCESS;
1313
253k
}
1314
1315
#define PARSER_MODE() \
1316
20.7M
  EXPECTED(elem != NULL)
1317
1318
29.3M
#define RETURN_TOKEN(_token) do { \
1319
29.3M
    token = _token; \
1320
29.3M
    goto emit_token; \
1321
29.3M
  } while (0)
1322
1323
4.02M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1324
4.02M
    token = _token; \
1325
4.02M
    goto emit_token_with_val; \
1326
4.02M
  } while (0)
1327
1328
7.19M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1329
7.19M
    token = _token; \
1330
7.19M
    offset = _offset; \
1331
7.19M
    goto emit_token_with_str; \
1332
7.19M
  } while (0)
1333
1334
1.32M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1335
1.32M
    token = _token; \
1336
1.32M
    goto emit_token_with_ident; \
1337
1.32M
  } while (0)
1338
1339
1.14M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1340
1.14M
    token = _token; \
1341
1.14M
    if (PARSER_MODE()) { \
1342
260k
      goto skip_token; \
1343
260k
    } \
1344
1.14M
    goto emit_token; \
1345
1.14M
  } while (0)
1346
1347
1.45M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1348
1.45M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1349
309
      RETURN_TOKEN(T_ERROR); \
1350
1.45M
    } else { \
1351
1.45M
      RETURN_TOKEN(_token); \
1352
1.45M
    } \
1353
1.45M
  } while(0)
1354
1355
253k
#define RETURN_END_TOKEN do { \
1356
253k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1357
5.25k
      RETURN_TOKEN(T_ERROR); \
1358
248k
    } else { \
1359
248k
      RETURN_TOKEN(END); \
1360
248k
    } \
1361
253k
  } while (0)
1362
1363
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1364
46.5M
{
1365
46.5M
int token;
1366
46.5M
int offset;
1367
46.5M
int start_line = CG(zend_lineno);
1368
1369
46.5M
  ZVAL_UNDEF(zendlval);
1370
54.2M
restart:
1371
54.2M
  SCNG(yy_text) = YYCURSOR;
1372
1373
1374
54.2M
#line 1375 "Zend/zend_language_scanner.c"
1375
54.2M
{
1376
54.2M
  YYCTYPE yych;
1377
54.2M
  unsigned int yyaccept = 0;
1378
54.2M
  if (YYGETCONDITION() < 5) {
1379
48.5M
    if (YYGETCONDITION() < 2) {
1380
40.2M
      if (YYGETCONDITION() < 1) {
1381
39.8M
        goto yyc_ST_IN_SCRIPTING;
1382
39.8M
      } else {
1383
438k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1384
438k
      }
1385
40.2M
    } else {
1386
8.28M
      if (YYGETCONDITION() < 3) {
1387
245k
        goto yyc_ST_BACKQUOTE;
1388
8.03M
      } else {
1389
8.03M
        if (YYGETCONDITION() < 4) {
1390
884k
          goto yyc_ST_DOUBLE_QUOTES;
1391
7.15M
        } else {
1392
7.15M
          goto yyc_ST_HEREDOC;
1393
7.15M
        }
1394
8.03M
      }
1395
8.28M
    }
1396
48.5M
  } else {
1397
5.69M
    if (YYGETCONDITION() < 8) {
1398
5.24M
      if (YYGETCONDITION() < 6) {
1399
4.84M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1400
4.84M
      } else {
1401
407k
        if (YYGETCONDITION() < 7) {
1402
407k
          goto yyc_ST_VAR_OFFSET;
1403
407k
        } else {
1404
0
          goto yyc_SHEBANG;
1405
0
        }
1406
407k
      }
1407
5.24M
    } else {
1408
444k
      if (YYGETCONDITION() < 9) {
1409
407k
        goto yyc_INITIAL;
1410
407k
      } else {
1411
37.0k
        if (YYGETCONDITION() < 10) {
1412
26.4k
          goto yyc_ST_END_HEREDOC;
1413
26.4k
        } else {
1414
10.5k
          goto yyc_ST_NOWDOC;
1415
10.5k
        }
1416
37.0k
      }
1417
444k
    }
1418
5.69M
  }
1419
/* *********************************** */
1420
39.8M
yyc_ST_IN_SCRIPTING:
1421
39.8M
  {
1422
39.8M
    static const unsigned char yybm[] = {
1423
      /* table 1 .. 8: 0 */
1424
39.8M
        0, 134, 134, 134, 134, 134, 134, 134, 
1425
39.8M
      134, 135,   4, 134, 134,   4, 134, 134, 
1426
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1427
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
39.8M
      135, 134, 134, 134, 134, 134, 134, 134, 
1429
39.8M
      134, 134,  66, 134, 134, 134, 134, 134, 
1430
39.8M
      190, 190, 182, 182, 182, 182, 182, 182, 
1431
39.8M
      166, 166, 134, 134, 134, 134, 134, 134, 
1432
39.8M
      134, 166, 166, 166, 166, 166, 166, 134, 
1433
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1434
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
39.8M
      134, 166, 166, 166, 166, 166, 166, 134, 
1437
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1438
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
39.8M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
      /* table 9 .. 11: 256 */
1457
39.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1458
39.8M
        0,  32,  32,   0,   0,  32,   0,   0, 
1459
39.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1460
39.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
39.8M
       32,   0,   0,   0,   0,   0,   0,   0, 
1462
39.8M
        0,   0,   0,   0,   0,   0,   0,   0, 
1463
39.8M
      192, 192, 192, 192, 192, 192, 192, 192, 
1464
39.8M
      192, 192,   0,   0,   0,   0,   0,   0, 
1465
39.8M
        0, 128, 128, 128, 128, 128, 128, 128, 
1466
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1467
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
39.8M
      128, 128, 128,   0,   0,   0,   0, 128, 
1469
39.8M
        0, 128, 128, 128, 128, 128, 128, 128, 
1470
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1471
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
39.8M
      128, 128, 128,   0,   0,   0,   0,   0, 
1473
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1474
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
39.8M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
39.8M
    };
1490
39.8M
    YYDEBUG(1, *YYCURSOR);
1491
39.8M
    YYFILL(16);
1492
39.8M
    yych = *YYCURSOR;
1493
39.8M
    if (yybm[256+yych] & 32) {
1494
6.31M
      goto yy5;
1495
6.31M
    }
1496
33.5M
    switch (yych) {
1497
4.58M
    case 0x00:
1498
4.74M
    case 0x01:
1499
4.78M
    case 0x02:
1500
4.82M
    case 0x03:
1501
4.99M
    case 0x04:
1502
5.04M
    case 0x05:
1503
5.07M
    case 0x06:
1504
5.12M
    case 0x07:
1505
5.18M
    case 0x08:
1506
5.18M
    case '\t':
1507
5.18M
    case '\n':
1508
5.23M
    case '\v':
1509
5.28M
    case '\f':
1510
5.28M
    case '\r':
1511
5.32M
    case 0x0E:
1512
5.36M
    case 0x0F:
1513
5.40M
    case 0x10:
1514
5.45M
    case 0x11:
1515
5.47M
    case 0x12:
1516
5.52M
    case 0x13:
1517
5.55M
    case 0x14:
1518
5.56M
    case 0x15:
1519
5.58M
    case 0x16:
1520
5.62M
    case 0x17:
1521
5.64M
    case 0x18:
1522
5.66M
    case 0x19:
1523
5.68M
    case 0x1A:
1524
5.71M
    case 0x1B:
1525
6.09M
    case 0x1C:
1526
6.17M
    case 0x1D:
1527
6.20M
    case 0x1E:
1528
6.22M
    case 0x1F:
1529
6.25M
    case 0x7F:  goto yy3;
1530
0
    case ' ':
1531
160k
    case '!': goto yy8;
1532
416k
    case '"': goto yy10;
1533
746k
    case '#': goto yy12;
1534
2.06M
    case '$': goto yy14;
1535
78.6k
    case '%': goto yy15;
1536
211k
    case '&': goto yy16;
1537
343k
    case '\'':  goto yy18;
1538
1.18M
    case '(': goto yy20;
1539
810k
    case ')':
1540
1.04M
    case ']': goto yy22;
1541
128k
    case '*': goto yy24;
1542
149k
    case '+': goto yy25;
1543
731k
    case ',':
1544
1.65M
    case ';':
1545
2.19M
    case '@':
1546
2.26M
    case '~': goto yy26;
1547
352k
    case '-': goto yy27;
1548
405k
    case '.': goto yy28;
1549
341k
    case '/': goto yy29;
1550
231k
    case '0': goto yy30;
1551
207k
    case '1':
1552
346k
    case '2':
1553
450k
    case '3':
1554
580k
    case '4':
1555
649k
    case '5':
1556
693k
    case '6':
1557
727k
    case '7':
1558
777k
    case '8':
1559
822k
    case '9': goto yy32;
1560
218k
    case ':': goto yy34;
1561
6.38M
    case '<': goto yy35;
1562
574k
    case '=': goto yy36;
1563
67.0k
    case '>': goto yy37;
1564
577k
    case '?': goto yy38;
1565
76.0k
    case 'A':
1566
250k
    case 'a': goto yy39;
1567
53.7k
    case 'B':
1568
107k
    case 'b': goto yy41;
1569
79.6k
    case 'C':
1570
374k
    case 'c': goto yy42;
1571
64.8k
    case 'D':
1572
152k
    case 'd': goto yy43;
1573
92.0k
    case 'E':
1574
646k
    case 'e': goto yy44;
1575
68.4k
    case 'F':
1576
451k
    case 'f': goto yy45;
1577
10.5k
    case 'G':
1578
81.5k
    case 'g': goto yy46;
1579
61.2k
    case 'I':
1580
320k
    case 'i': goto yy49;
1581
16.0k
    case 'L':
1582
73.0k
    case 'l': goto yy50;
1583
19.3k
    case 'M':
1584
90.5k
    case 'm': goto yy51;
1585
38.8k
    case 'N':
1586
226k
    case 'n': goto yy52;
1587
40.9k
    case 'O':
1588
123k
    case 'o': goto yy53;
1589
69.9k
    case 'P':
1590
489k
    case 'p': goto yy54;
1591
18.5k
    case 'R':
1592
161k
    case 'r': goto yy55;
1593
23.6k
    case 'S':
1594
192k
    case 's': goto yy56;
1595
51.0k
    case 'T':
1596
246k
    case 't': goto yy57;
1597
7.53k
    case 'U':
1598
80.4k
    case 'u': goto yy58;
1599
14.6k
    case 'V':
1600
142k
    case 'v': goto yy59;
1601
17.8k
    case 'W':
1602
35.7k
    case 'w': goto yy60;
1603
22.6k
    case 'X':
1604
42.7k
    case 'x': goto yy61;
1605
14.8k
    case 'Y':
1606
168k
    case 'y': goto yy62;
1607
322k
    case '[': goto yy63;
1608
245k
    case '\\':  goto yy64;
1609
102k
    case '^': goto yy66;
1610
207k
    case '_': goto yy67;
1611
69.6k
    case '`': goto yy68;
1612
1.33M
    case '{': goto yy70;
1613
106k
    case '|': goto yy72;
1614
403k
    case '}': goto yy73;
1615
1.22M
    default:  goto yy47;
1616
33.5M
    }
1617
6.25M
yy3:
1618
6.25M
    YYDEBUG(3, *YYCURSOR);
1619
6.25M
    ++YYCURSOR;
1620
6.25M
    YYDEBUG(4, *YYCURSOR);
1621
6.25M
    yyleng = YYCURSOR - SCNG(yy_text);
1622
6.25M
#line 3178 "Zend/zend_language_scanner.l"
1623
6.25M
    {
1624
6.25M
  if (YYCURSOR > YYLIMIT) {
1625
143k
    RETURN_END_TOKEN;
1626
143k
  }
1627
1628
6.10M
  RETURN_TOKEN(T_BAD_CHARACTER);
1629
6.10M
}
1630
0
#line 1631 "Zend/zend_language_scanner.c"
1631
9.71M
yy5:
1632
9.71M
    YYDEBUG(5, *YYCURSOR);
1633
9.71M
    ++YYCURSOR;
1634
9.71M
    YYFILL(1);
1635
9.71M
    yych = *YYCURSOR;
1636
9.71M
    YYDEBUG(6, *YYCURSOR);
1637
9.71M
    if (yybm[256+yych] & 32) {
1638
3.40M
      goto yy5;
1639
3.40M
    }
1640
6.31M
    YYDEBUG(7, *YYCURSOR);
1641
6.31M
    yyleng = YYCURSOR - SCNG(yy_text);
1642
6.31M
#line 1596 "Zend/zend_language_scanner.l"
1643
6.31M
    {
1644
6.31M
  goto return_whitespace;
1645
9.71M
}
1646
0
#line 1647 "Zend/zend_language_scanner.c"
1647
160k
yy8:
1648
160k
    YYDEBUG(8, *YYCURSOR);
1649
160k
    yych = *++YYCURSOR;
1650
160k
    if (yych == '=') goto yy75;
1651
6.36M
yy9:
1652
6.36M
    YYDEBUG(9, *YYCURSOR);
1653
6.36M
    yyleng = YYCURSOR - SCNG(yy_text);
1654
6.36M
#line 1968 "Zend/zend_language_scanner.l"
1655
6.36M
    {
1656
6.36M
  RETURN_TOKEN(yytext[0]);
1657
6.36M
}
1658
0
#line 1659 "Zend/zend_language_scanner.c"
1659
418k
yy10:
1660
418k
    YYDEBUG(10, *YYCURSOR);
1661
418k
    ++YYCURSOR;
1662
418k
    YYDEBUG(11, *YYCURSOR);
1663
418k
    yyleng = YYCURSOR - SCNG(yy_text);
1664
418k
#line 2631 "Zend/zend_language_scanner.l"
1665
418k
    {
1666
418k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1667
1668
8.34M
  while (YYCURSOR < YYLIMIT) {
1669
8.33M
    switch (*YYCURSOR++) {
1670
252k
      case '"':
1671
252k
        yyleng = YYCURSOR - SCNG(yy_text);
1672
252k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1673
252k
         || !PARSER_MODE()) {
1674
252k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1675
252k
        } else {
1676
8
          RETURN_TOKEN(T_ERROR);
1677
8
        }
1678
201k
      case '$':
1679
201k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1680
154k
          break;
1681
154k
        }
1682
47.7k
        continue;
1683
47.7k
      case '{':
1684
35.5k
        if (*YYCURSOR == '$') {
1685
3.35k
          break;
1686
3.35k
        }
1687
32.2k
        continue;
1688
212k
      case '\\':
1689
212k
        if (YYCURSOR < YYLIMIT) {
1690
211k
          YYCURSOR++;
1691
211k
        }
1692
212k
        ZEND_FALLTHROUGH;
1693
7.84M
      default:
1694
7.84M
        continue;
1695
8.33M
    }
1696
1697
157k
    YYCURSOR--;
1698
157k
    break;
1699
8.33M
  }
1700
1701
  /* Remember how much was scanned to save rescanning */
1702
418k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1703
1704
166k
  YYCURSOR = SCNG(yy_text) + yyleng;
1705
1706
166k
  BEGIN(ST_DOUBLE_QUOTES);
1707
166k
  RETURN_TOKEN('"');
1708
166k
}
1709
0
#line 1710 "Zend/zend_language_scanner.c"
1710
746k
yy12:
1711
746k
    YYDEBUG(12, *YYCURSOR);
1712
746k
    yych = *++YYCURSOR;
1713
746k
    if (yych == '[') goto yy77;
1714
796k
yy13:
1715
796k
    YYDEBUG(13, *YYCURSOR);
1716
796k
    yyleng = YYCURSOR - SCNG(yy_text);
1717
796k
#line 2459 "Zend/zend_language_scanner.l"
1718
796k
    {
1719
7.28M
  while (YYCURSOR < YYLIMIT) {
1720
7.27M
    switch (*YYCURSOR++) {
1721
240k
      case '\r':
1722
787k
      case '\n':
1723
787k
        YYCURSOR--;
1724
787k
        break;
1725
33.4k
      case '?':
1726
33.4k
        if (*YYCURSOR == '>') {
1727
2.32k
          YYCURSOR--;
1728
2.32k
          break;
1729
2.32k
        }
1730
31.1k
        ZEND_FALLTHROUGH;
1731
6.48M
      default:
1732
6.48M
        continue;
1733
7.27M
    }
1734
1735
789k
    break;
1736
7.27M
  }
1737
1738
796k
  yyleng = YYCURSOR - SCNG(yy_text);
1739
796k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1740
796k
}
1741
0
#line 1742 "Zend/zend_language_scanner.c"
1742
2.06M
yy14:
1743
2.06M
    YYDEBUG(14, *YYCURSOR);
1744
2.06M
    yych = *++YYCURSOR;
1745
2.06M
    if (yych <= '_') {
1746
408k
      if (yych <= '@') goto yy9;
1747
52.7k
      if (yych <= 'Z') goto yy79;
1748
18.0k
      if (yych <= '^') goto yy9;
1749
5.38k
      goto yy79;
1750
1.65M
    } else {
1751
1.65M
      if (yych <= '`') goto yy9;
1752
1.65M
      if (yych <= 'z') goto yy79;
1753
661k
      if (yych <= 0x7F) goto yy9;
1754
92.8k
      goto yy79;
1755
661k
    }
1756
78.6k
yy15:
1757
78.6k
    YYDEBUG(15, *YYCURSOR);
1758
78.6k
    yych = *++YYCURSOR;
1759
78.6k
    if (yych == '=') goto yy82;
1760
74.6k
    goto yy9;
1761
211k
yy16:
1762
211k
    YYDEBUG(16, *YYCURSOR);
1763
211k
    yyaccept = 0;
1764
211k
    yych = *(YYMARKER = ++YYCURSOR);
1765
211k
    if (yych <= '"') {
1766
76.4k
      if (yych <= '\f') {
1767
52.1k
        if (yych <= 0x08) goto yy17;
1768
49.5k
        if (yych <= '\n') goto yy85;
1769
49.5k
      } else {
1770
24.3k
        if (yych <= '\r') goto yy85;
1771
18.7k
        if (yych == ' ') goto yy85;
1772
18.7k
      }
1773
135k
    } else {
1774
135k
      if (yych <= '-') {
1775
42.5k
        if (yych <= '$') goto yy85;
1776
25.4k
        if (yych == '&') goto yy90;
1777
92.8k
      } else {
1778
92.8k
        if (yych <= '/') goto yy85;
1779
89.7k
        if (yych == '=') goto yy94;
1780
89.7k
      }
1781
135k
    }
1782
144k
yy17:
1783
144k
    YYDEBUG(17, *YYCURSOR);
1784
144k
    yyleng = YYCURSOR - SCNG(yy_text);
1785
144k
#line 1954 "Zend/zend_language_scanner.l"
1786
144k
    {
1787
144k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1788
144k
}
1789
0
#line 1790 "Zend/zend_language_scanner.c"
1790
344k
yy18:
1791
344k
    YYDEBUG(18, *YYCURSOR);
1792
344k
    ++YYCURSOR;
1793
344k
    YYDEBUG(19, *YYCURSOR);
1794
344k
    yyleng = YYCURSOR - SCNG(yy_text);
1795
344k
#line 2537 "Zend/zend_language_scanner.l"
1796
344k
    {
1797
344k
  char *s, *t;
1798
344k
  char *end;
1799
344k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1800
1801
38.4M
  while (1) {
1802
38.4M
    if (YYCURSOR < YYLIMIT) {
1803
38.4M
      if (*YYCURSOR == '\'') {
1804
331k
        YYCURSOR++;
1805
331k
        yyleng = YYCURSOR - SCNG(yy_text);
1806
1807
331k
        break;
1808
38.0M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1809
119k
        YYCURSOR++;
1810
119k
      }
1811
38.4M
    } else {
1812
12.7k
      yyleng = YYLIMIT - SCNG(yy_text);
1813
1814
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1815
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1816
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1817
12.7k
      ZVAL_NULL(zendlval);
1818
12.7k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1819
12.7k
    }
1820
38.4M
  }
1821
1822
331k
  if (yyleng-bprefix-2 <= 1) {
1823
61.9k
    if (yyleng-bprefix-2 < 1) {
1824
16.7k
      ZVAL_EMPTY_STRING(zendlval);
1825
45.1k
    } else {
1826
45.1k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1827
45.1k
      HANDLE_NEWLINE(c);
1828
45.1k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1829
45.1k
    }
1830
61.9k
    goto skip_escape_conversion;
1831
61.9k
  }
1832
269k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1833
1834
  /* convert escape sequences */
1835
269k
  s = Z_STRVAL_P(zendlval);
1836
269k
  end = s+Z_STRLEN_P(zendlval);
1837
26.9M
  while (1) {
1838
26.9M
    if (UNEXPECTED(*s=='\\')) {
1839
42.8k
      break;
1840
42.8k
    }
1841
26.8M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1842
544k
      CG(zend_lineno)++;
1843
544k
    }
1844
26.8M
    s++;
1845
26.8M
    if (s == end) {
1846
226k
      goto skip_escape_conversion;
1847
226k
    }
1848
26.8M
  }
1849
1850
42.8k
  t = s;
1851
10.2M
  while (s<end) {
1852
10.2M
    if (*s=='\\') {
1853
116k
      s++;
1854
116k
      if (*s == '\\' || *s == '\'') {
1855
38.8k
        *t++ = *s;
1856
77.4k
      } else {
1857
77.4k
        *t++ = '\\';
1858
77.4k
        *t++ = *s;
1859
77.4k
      }
1860
10.1M
    } else {
1861
10.1M
      *t++ = *s;
1862
10.1M
    }
1863
10.2M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1864
201k
      CG(zend_lineno)++;
1865
201k
    }
1866
10.2M
    s++;
1867
10.2M
  }
1868
42.8k
  *t = 0;
1869
42.8k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1870
1871
331k
skip_escape_conversion:
1872
331k
  if (SCNG(output_filter)) {
1873
0
    size_t sz = 0;
1874
0
    char *str = NULL;
1875
0
    zend_string *new_str;
1876
0
    s = Z_STRVAL_P(zendlval);
1877
    // TODO: avoid reallocation ???
1878
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1879
0
    new_str = zend_string_init(str, sz, 0);
1880
0
    if (str != s) {
1881
0
      efree(str);
1882
0
    }
1883
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1884
0
    ZVAL_STR(zendlval, new_str);
1885
0
  }
1886
331k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1887
331k
}
1888
0
#line 1889 "Zend/zend_language_scanner.c"
1889
1.18M
yy20:
1890
1.18M
    YYDEBUG(20, *YYCURSOR);
1891
1.18M
    yyaccept = 1;
1892
1.18M
    yych = *(YYMARKER = ++YYCURSOR);
1893
1.18M
    if (yych <= 'S') {
1894
850k
      if (yych <= 'D') {
1895
793k
        if (yych <= ' ') {
1896
98.6k
          if (yych == '\t') goto yy97;
1897
90.6k
          if (yych >= ' ') goto yy97;
1898
694k
        } else {
1899
694k
          if (yych <= '@') goto yy21;
1900
18.7k
          if (yych != 'C') goto yy97;
1901
18.7k
        }
1902
793k
      } else {
1903
57.0k
        if (yych <= 'I') {
1904
42.5k
          if (yych == 'F') goto yy97;
1905
39.3k
          if (yych >= 'I') goto yy97;
1906
39.3k
        } else {
1907
14.4k
          if (yych == 'O') goto yy97;
1908
11.6k
          if (yych >= 'R') goto yy97;
1909
11.6k
        }
1910
57.0k
      }
1911
850k
    } else {
1912
336k
      if (yych <= 'f') {
1913
145k
        if (yych <= 'b') {
1914
97.8k
          if (yych <= 'T') goto yy21;
1915
89.6k
          if (yych <= 'V') goto yy97;
1916
87.5k
          if (yych >= 'a') goto yy97;
1917
87.5k
        } else {
1918
47.1k
          if (yych == 'd') goto yy97;
1919
39.5k
          if (yych >= 'f') goto yy97;
1920
39.5k
        }
1921
191k
      } else {
1922
191k
        if (yych <= 'o') {
1923
76.8k
          if (yych == 'i') goto yy97;
1924
42.3k
          if (yych >= 'o') goto yy97;
1925
115k
        } else {
1926
115k
          if (yych <= 's') {
1927
51.1k
            if (yych >= 'r') goto yy97;
1928
63.9k
          } else {
1929
63.9k
            if (yych <= 't') goto yy21;
1930
56.2k
            if (yych <= 'v') goto yy97;
1931
56.2k
          }
1932
115k
        }
1933
191k
      }
1934
336k
    }
1935
1.49M
yy21:
1936
1.49M
    YYDEBUG(21, *YYCURSOR);
1937
1.49M
    yyleng = YYCURSOR - SCNG(yy_text);
1938
1.49M
#line 1963 "Zend/zend_language_scanner.l"
1939
1.49M
    {
1940
1.49M
  enter_nesting(yytext[0]);
1941
1.49M
  RETURN_TOKEN(yytext[0]);
1942
1.49M
}
1943
0
#line 1944 "Zend/zend_language_scanner.c"
1944
1.04M
yy22:
1945
1.04M
    YYDEBUG(22, *YYCURSOR);
1946
1.04M
    ++YYCURSOR;
1947
1.04M
    YYDEBUG(23, *YYCURSOR);
1948
1.04M
    yyleng = YYCURSOR - SCNG(yy_text);
1949
1.04M
#line 1958 "Zend/zend_language_scanner.l"
1950
1.04M
    {
1951
  /* Check that ] and ) match up properly with a preceding [ or ( */
1952
1.04M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1953
1.04M
}
1954
0
#line 1955 "Zend/zend_language_scanner.c"
1955
128k
yy24:
1956
128k
    YYDEBUG(24, *YYCURSOR);
1957
128k
    yych = *++YYCURSOR;
1958
128k
    if (yych == '*') goto yy108;
1959
107k
    if (yych == '=') goto yy110;
1960
100k
    goto yy9;
1961
149k
yy25:
1962
149k
    YYDEBUG(25, *YYCURSOR);
1963
149k
    yych = *++YYCURSOR;
1964
149k
    if (yych == '+') goto yy112;
1965
109k
    if (yych == '=') goto yy114;
1966
104k
    goto yy9;
1967
2.26M
yy26:
1968
2.26M
    YYDEBUG(26, *YYCURSOR);
1969
2.26M
    ++YYCURSOR;
1970
2.26M
    goto yy9;
1971
352k
yy27:
1972
352k
    YYDEBUG(27, *YYCURSOR);
1973
352k
    yych = *++YYCURSOR;
1974
352k
    if (yych <= '<') {
1975
141k
      if (yych == '-') goto yy116;
1976
125k
      goto yy9;
1977
211k
    } else {
1978
211k
      if (yych <= '=') goto yy118;
1979
208k
      if (yych <= '>') goto yy120;
1980
80.6k
      goto yy9;
1981
208k
    }
1982
405k
yy28:
1983
405k
    YYDEBUG(28, *YYCURSOR);
1984
405k
    yyaccept = 2;
1985
405k
    yych = *(YYMARKER = ++YYCURSOR);
1986
405k
    if (yych <= '/') {
1987
179k
      if (yych == '.') goto yy122;
1988
109k
      goto yy9;
1989
225k
    } else {
1990
225k
      if (yych <= '9') goto yy123;
1991
186k
      if (yych == '=') goto yy126;
1992
57.1k
      goto yy9;
1993
186k
    }
1994
341k
yy29:
1995
341k
    YYDEBUG(29, *YYCURSOR);
1996
341k
    yych = *++YYCURSOR;
1997
341k
    if (yych <= '.') {
1998
179k
      if (yych == '*') goto yy128;
1999
54.4k
      goto yy9;
2000
179k
    } else {
2001
161k
      if (yych <= '/') goto yy130;
2002
90.7k
      if (yych == '=') goto yy131;
2003
88.7k
      goto yy9;
2004
90.7k
    }
2005
231k
yy30:
2006
231k
    YYDEBUG(30, *YYCURSOR);
2007
231k
    yyaccept = 3;
2008
231k
    yych = *(YYMARKER = ++YYCURSOR);
2009
231k
    if (yych <= 'X') {
2010
155k
      if (yych <= 'N') {
2011
151k
        if (yych == 'B') goto yy134;
2012
150k
        goto yy33;
2013
151k
      } else {
2014
3.82k
        if (yych <= 'O') goto yy136;
2015
2.30k
        if (yych <= 'W') goto yy33;
2016
1.24k
        goto yy137;
2017
2.30k
      }
2018
155k
    } else {
2019
75.6k
      if (yych <= 'n') {
2020
42.0k
        if (yych == 'b') goto yy134;
2021
38.3k
        goto yy33;
2022
42.0k
      } else {
2023
33.5k
        if (yych <= 'o') goto yy136;
2024
31.8k
        if (yych == 'x') goto yy137;
2025
25.1k
        goto yy33;
2026
31.8k
      }
2027
75.6k
    }
2028
968k
yy31:
2029
968k
    YYDEBUG(31, *YYCURSOR);
2030
968k
    yyleng = YYCURSOR - SCNG(yy_text);
2031
968k
#line 2102 "Zend/zend_language_scanner.l"
2032
968k
    {
2033
968k
  size_t len = yyleng;
2034
968k
  char *end, *lnum = yytext;
2035
968k
  bool is_octal = lnum[0] == '0';
2036
968k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2037
2038
968k
  if (contains_underscores) {
2039
2.07k
    lnum = estrndup(lnum, len);
2040
2.07k
    strip_underscores(lnum, &len);
2041
2.07k
  }
2042
2043
  /* Digits 8 and 9 are illegal in octal literals. */
2044
968k
  if (is_octal) {
2045
204k
    size_t i;
2046
616k
    for (i = 0; i < len; i++) {
2047
414k
      if (lnum[i] == '8' || lnum[i] == '9') {
2048
2.87k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2049
2.87k
        if (PARSER_MODE()) {
2050
31
          if (contains_underscores) {
2051
7
            efree(lnum);
2052
7
          }
2053
31
          ZVAL_UNDEF(zendlval);
2054
31
          RETURN_TOKEN(T_ERROR);
2055
31
        }
2056
2057
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2058
2.84k
        len = i;
2059
2.84k
        break;
2060
2.87k
      }
2061
414k
    }
2062
204k
  }
2063
2064
2065
967k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2066
927k
    errno = 0;
2067
    /* base must be passed explicitly for correct parse error on Windows */
2068
927k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2069
927k
    ZEND_ASSERT(end == lnum + len);
2070
927k
  } else {
2071
40.3k
    errno = 0;
2072
40.3k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2073
40.3k
    if (errno == ERANGE) { /* Overflow */
2074
34.9k
      errno = 0;
2075
34.9k
      if (is_octal) { /* octal overflow */
2076
707
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2077
34.2k
      } else {
2078
34.2k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2079
34.2k
      }
2080
34.9k
      ZEND_ASSERT(end == lnum + len);
2081
34.9k
      if (contains_underscores) {
2082
317
        efree(lnum);
2083
317
      }
2084
34.9k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2085
34.9k
    }
2086
5.37k
    ZEND_ASSERT(end == lnum + len);
2087
5.37k
  }
2088
933k
  ZEND_ASSERT(!errno);
2089
933k
  if (contains_underscores) {
2090
1.75k
    efree(lnum);
2091
1.75k
  }
2092
933k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2093
933k
}
2094
0
#line 2095 "Zend/zend_language_scanner.c"
2095
3.65M
yy32:
2096
3.65M
    YYDEBUG(32, *YYCURSOR);
2097
3.65M
    yyaccept = 3;
2098
3.65M
    YYMARKER = ++YYCURSOR;
2099
3.65M
    YYFILL(3);
2100
3.65M
    yych = *YYCURSOR;
2101
3.87M
yy33:
2102
3.87M
    YYDEBUG(33, *YYCURSOR);
2103
3.87M
    if (yybm[256+yych] & 64) {
2104
2.82M
      goto yy32;
2105
2.82M
    }
2106
1.04M
    if (yych <= 'E') {
2107
778k
      if (yych == '.') goto yy133;
2108
730k
      if (yych <= 'D') goto yy31;
2109
17.8k
      goto yy135;
2110
730k
    } else {
2111
265k
      if (yych <= '_') {
2112
108k
        if (yych <= '^') goto yy31;
2113
13.6k
        goto yy138;
2114
156k
      } else {
2115
156k
        if (yych == 'e') goto yy135;
2116
140k
        goto yy31;
2117
156k
      }
2118
265k
    }
2119
218k
yy34:
2120
218k
    YYDEBUG(34, *YYCURSOR);
2121
218k
    yych = *++YYCURSOR;
2122
218k
    if (yych == ':') goto yy139;
2123
112k
    goto yy9;
2124
6.38M
yy35:
2125
6.38M
    YYDEBUG(35, *YYCURSOR);
2126
6.38M
    yych = *++YYCURSOR;
2127
6.38M
    if (yych <= ';') goto yy9;
2128
6.13M
    if (yych <= '<') goto yy141;
2129
789k
    if (yych <= '=') goto yy143;
2130
774k
    if (yych <= '>') goto yy145;
2131
765k
    goto yy9;
2132
765k
yy36:
2133
574k
    YYDEBUG(36, *YYCURSOR);
2134
574k
    yych = *++YYCURSOR;
2135
574k
    if (yych <= '<') goto yy9;
2136
131k
    if (yych <= '=') goto yy146;
2137
81.3k
    if (yych <= '>') goto yy148;
2138
29.9k
    goto yy9;
2139
67.0k
yy37:
2140
67.0k
    YYDEBUG(37, *YYCURSOR);
2141
67.0k
    yych = *++YYCURSOR;
2142
67.0k
    if (yych <= '<') goto yy9;
2143
36.7k
    if (yych <= '=') goto yy150;
2144
32.2k
    if (yych <= '>') goto yy152;
2145
21.1k
    goto yy9;
2146
577k
yy38:
2147
577k
    YYDEBUG(38, *YYCURSOR);
2148
577k
    yyaccept = 2;
2149
577k
    yych = *(YYMARKER = ++YYCURSOR);
2150
577k
    if (yych <= '=') {
2151
241k
      if (yych == '-') goto yy154;
2152
201k
      goto yy9;
2153
336k
    } else {
2154
336k
      if (yych <= '>') goto yy155;
2155
201k
      if (yych <= '?') goto yy157;
2156
154k
      goto yy9;
2157
201k
    }
2158
250k
yy39:
2159
250k
    YYDEBUG(39, *YYCURSOR);
2160
250k
    yyaccept = 4;
2161
250k
    yych = *(YYMARKER = ++YYCURSOR);
2162
250k
    if (yych <= 'S') {
2163
91.5k
      if (yych <= 'M') {
2164
77.9k
        if (yych == 'B') goto yy159;
2165
75.8k
        goto yy48;
2166
77.9k
      } else {
2167
13.5k
        if (yych <= 'N') goto yy160;
2168
12.2k
        if (yych <= 'Q') goto yy48;
2169
11.4k
        if (yych <= 'R') goto yy161;
2170
6.11k
        goto yy162;
2171
11.4k
      }
2172
159k
    } else {
2173
159k
      if (yych <= 'n') {
2174
40.5k
        if (yych == 'b') goto yy159;
2175
29.3k
        if (yych <= 'm') goto yy48;
2176
10.3k
        goto yy160;
2177
118k
      } else {
2178
118k
        if (yych <= 'q') goto yy48;
2179
115k
        if (yych <= 'r') goto yy161;
2180
79.8k
        if (yych <= 's') goto yy162;
2181
19.3k
        goto yy48;
2182
79.8k
      }
2183
159k
    }
2184
4.52M
yy40:
2185
4.52M
    YYDEBUG(40, *YYCURSOR);
2186
4.52M
    yyleng = YYCURSOR - SCNG(yy_text);
2187
4.52M
#line 2454 "Zend/zend_language_scanner.l"
2188
4.52M
    {
2189
4.52M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2190
4.52M
}
2191
0
#line 2192 "Zend/zend_language_scanner.c"
2192
107k
yy41:
2193
107k
    YYDEBUG(41, *YYCURSOR);
2194
107k
    yyaccept = 4;
2195
107k
    yych = *(YYMARKER = ++YYCURSOR);
2196
107k
    if (yych <= ';') {
2197
30.5k
      if (yych <= '"') {
2198
15.3k
        if (yych <= '!') goto yy48;
2199
1.39k
        goto yy10;
2200
15.3k
      } else {
2201
15.2k
        if (yych == '\'') goto yy18;
2202
14.5k
        goto yy48;
2203
15.2k
      }
2204
76.9k
    } else {
2205
76.9k
      if (yych <= 'R') {
2206
17.5k
        if (yych <= '<') goto yy165;
2207
9.70k
        if (yych <= 'Q') goto yy48;
2208
593
        goto yy166;
2209
59.3k
      } else {
2210
59.3k
        if (yych == 'r') goto yy166;
2211
52.9k
        goto yy48;
2212
59.3k
      }
2213
76.9k
    }
2214
374k
yy42:
2215
374k
    YYDEBUG(42, *YYCURSOR);
2216
374k
    yyaccept = 4;
2217
374k
    yych = *(YYMARKER = ++YYCURSOR);
2218
374k
    if (yych <= 'O') {
2219
88.5k
      if (yych <= 'K') {
2220
73.9k
        if (yych == 'A') goto yy167;
2221
71.4k
        goto yy48;
2222
73.9k
      } else {
2223
14.5k
        if (yych <= 'L') goto yy168;
2224
8.72k
        if (yych <= 'N') goto yy48;
2225
8.18k
        goto yy169;
2226
8.72k
      }
2227
286k
    } else {
2228
286k
      if (yych <= 'k') {
2229
111k
        if (yych == 'a') goto yy167;
2230
27.7k
        goto yy48;
2231
175k
      } else {
2232
175k
        if (yych <= 'l') goto yy168;
2233
79.2k
        if (yych == 'o') goto yy169;
2234
16.6k
        goto yy48;
2235
79.2k
      }
2236
286k
    }
2237
152k
yy43:
2238
152k
    YYDEBUG(43, *YYCURSOR);
2239
152k
    yyaccept = 4;
2240
152k
    yych = *(YYMARKER = ++YYCURSOR);
2241
152k
    if (yych <= 'O') {
2242
44.0k
      if (yych <= 'H') {
2243
31.2k
        if (yych == 'E') goto yy170;
2244
26.9k
        goto yy48;
2245
31.2k
      } else {
2246
12.7k
        if (yych <= 'I') goto yy171;
2247
11.3k
        if (yych <= 'N') goto yy48;
2248
10.0k
        goto yy172;
2249
11.3k
      }
2250
108k
    } else {
2251
108k
      if (yych <= 'h') {
2252
72.4k
        if (yych == 'e') goto yy170;
2253
44.7k
        goto yy48;
2254
72.4k
      } else {
2255
36.4k
        if (yych <= 'i') goto yy171;
2256
27.8k
        if (yych == 'o') goto yy172;
2257
16.9k
        goto yy48;
2258
27.8k
      }
2259
108k
    }
2260
646k
yy44:
2261
646k
    YYDEBUG(44, *YYCURSOR);
2262
646k
    yyaccept = 4;
2263
646k
    yych = *(YYMARKER = ++YYCURSOR);
2264
646k
    switch (yych) {
2265
1.08k
    case 'C':
2266
91.9k
    case 'c': goto yy174;
2267
998
    case 'L':
2268
21.7k
    case 'l': goto yy175;
2269
2.12k
    case 'M':
2270
19.8k
    case 'm': goto yy176;
2271
126k
    case 'N':
2272
294k
    case 'n': goto yy177;
2273
438
    case 'V':
2274
7.70k
    case 'v': goto yy178;
2275
3.49k
    case 'X':
2276
71.9k
    case 'x': goto yy179;
2277
138k
    default:  goto yy48;
2278
646k
    }
2279
451k
yy45:
2280
451k
    YYDEBUG(45, *YYCURSOR);
2281
451k
    yyaccept = 4;
2282
451k
    yych = *(YYMARKER = ++YYCURSOR);
2283
451k
    if (yych <= 'U') {
2284
121k
      if (yych <= 'M') {
2285
90.1k
        if (yych == 'I') goto yy180;
2286
87.1k
        goto yy48;
2287
90.1k
      } else {
2288
30.9k
        if (yych <= 'N') goto yy181;
2289
29.8k
        if (yych <= 'O') goto yy183;
2290
19.5k
        if (yych <= 'T') goto yy48;
2291
1.13k
        goto yy184;
2292
19.5k
      }
2293
330k
    } else {
2294
330k
      if (yych <= 'n') {
2295
72.9k
        if (yych == 'i') goto yy180;
2296
47.5k
        if (yych <= 'm') goto yy48;
2297
21.7k
        goto yy181;
2298
257k
      } else {
2299
257k
        if (yych <= 'o') goto yy183;
2300
149k
        if (yych == 'u') goto yy184;
2301
23.2k
        goto yy48;
2302
149k
      }
2303
330k
    }
2304
81.5k
yy46:
2305
81.5k
    YYDEBUG(46, *YYCURSOR);
2306
81.5k
    yyaccept = 4;
2307
81.5k
    yych = *(YYMARKER = ++YYCURSOR);
2308
81.5k
    if (yych <= 'O') {
2309
33.4k
      if (yych == 'L') goto yy185;
2310
30.8k
      if (yych <= 'N') goto yy48;
2311
1.91k
      goto yy186;
2312
48.1k
    } else {
2313
48.1k
      if (yych <= 'l') {
2314
34.9k
        if (yych <= 'k') goto yy48;
2315
7.27k
        goto yy185;
2316
34.9k
      } else {
2317
13.1k
        if (yych == 'o') goto yy186;
2318
5.91k
        goto yy48;
2319
13.1k
      }
2320
48.1k
    }
2321
18.5M
yy47:
2322
18.5M
    YYDEBUG(47, *YYCURSOR);
2323
18.5M
    yyaccept = 4;
2324
18.5M
    YYMARKER = ++YYCURSOR;
2325
18.5M
    YYFILL(1);
2326
18.5M
    yych = *YYCURSOR;
2327
21.5M
yy48:
2328
21.5M
    YYDEBUG(48, *YYCURSOR);
2329
21.5M
    if (yybm[256+yych] & 128) {
2330
17.0M
      goto yy47;
2331
17.0M
    }
2332
4.52M
    if (yych == '\\') goto yy164;
2333
4.46M
    goto yy40;
2334
4.46M
yy49:
2335
320k
    YYDEBUG(49, *YYCURSOR);
2336
320k
    yyaccept = 4;
2337
320k
    yych = *(YYMARKER = ++YYCURSOR);
2338
320k
    if (yych <= 'S') {
2339
73.8k
      if (yych <= 'L') {
2340
45.5k
        if (yych == 'F') goto yy187;
2341
44.5k
        goto yy48;
2342
45.5k
      } else {
2343
28.3k
        if (yych <= 'M') goto yy189;
2344
24.0k
        if (yych <= 'N') goto yy190;
2345
6.34k
        if (yych <= 'R') goto yy48;
2346
3.49k
        goto yy191;
2347
6.34k
      }
2348
246k
    } else {
2349
246k
      if (yych <= 'm') {
2350
93.3k
        if (yych == 'f') goto yy187;
2351
70.1k
        if (yych <= 'l') goto yy48;
2352
44.5k
        goto yy189;
2353
152k
      } else {
2354
152k
        if (yych <= 'n') goto yy190;
2355
53.8k
        if (yych == 's') goto yy191;
2356
23.4k
        goto yy48;
2357
53.8k
      }
2358
246k
    }
2359
73.0k
yy50:
2360
73.0k
    YYDEBUG(50, *YYCURSOR);
2361
73.0k
    yyaccept = 4;
2362
73.0k
    yych = *(YYMARKER = ++YYCURSOR);
2363
73.0k
    if (yych == 'I') goto yy192;
2364
72.0k
    if (yych == 'i') goto yy192;
2365
63.0k
    goto yy48;
2366
90.5k
yy51:
2367
90.5k
    YYDEBUG(51, *YYCURSOR);
2368
90.5k
    yyaccept = 4;
2369
90.5k
    yych = *(YYMARKER = ++YYCURSOR);
2370
90.5k
    if (yych == 'A') goto yy193;
2371
87.9k
    if (yych == 'a') goto yy193;
2372
79.1k
    goto yy48;
2373
226k
yy52:
2374
226k
    YYDEBUG(52, *YYCURSOR);
2375
226k
    yyaccept = 4;
2376
226k
    yych = *(YYMARKER = ++YYCURSOR);
2377
226k
    if (yych <= 'E') {
2378
33.5k
      if (yych == 'A') goto yy194;
2379
31.1k
      if (yych <= 'D') goto yy48;
2380
6.13k
      goto yy195;
2381
192k
    } else {
2382
192k
      if (yych <= 'a') {
2383
43.6k
        if (yych <= '`') goto yy48;
2384
28.5k
        goto yy194;
2385
149k
      } else {
2386
149k
        if (yych == 'e') goto yy195;
2387
59.4k
        goto yy48;
2388
149k
      }
2389
192k
    }
2390
123k
yy53:
2391
123k
    YYDEBUG(53, *YYCURSOR);
2392
123k
    yyaccept = 4;
2393
123k
    yych = *(YYMARKER = ++YYCURSOR);
2394
123k
    if (yych == 'R') goto yy196;
2395
119k
    if (yych == 'r') goto yy196;
2396
113k
    goto yy48;
2397
489k
yy54:
2398
489k
    YYDEBUG(54, *YYCURSOR);
2399
489k
    yyaccept = 4;
2400
489k
    yych = *(YYMARKER = ++YYCURSOR);
2401
489k
    if (yych <= 'U') {
2402
190k
      if (yych == 'R') goto yy198;
2403
185k
      if (yych <= 'T') goto yy48;
2404
1.39k
      goto yy199;
2405
299k
    } else {
2406
299k
      if (yych <= 'r') {
2407
204k
        if (yych <= 'q') goto yy48;
2408
59.0k
        goto yy198;
2409
204k
      } else {
2410
94.8k
        if (yych == 'u') goto yy199;
2411
23.5k
        goto yy48;
2412
94.8k
      }
2413
299k
    }
2414
161k
yy55:
2415
161k
    YYDEBUG(55, *YYCURSOR);
2416
161k
    yyaccept = 4;
2417
161k
    yych = *(YYMARKER = ++YYCURSOR);
2418
161k
    if (yych == 'E') goto yy200;
2419
154k
    if (yych == 'e') goto yy200;
2420
63.1k
    goto yy48;
2421
192k
yy56:
2422
192k
    YYDEBUG(56, *YYCURSOR);
2423
192k
    yyaccept = 4;
2424
192k
    yych = *(YYMARKER = ++YYCURSOR);
2425
192k
    if (yych <= 'W') {
2426
59.5k
      if (yych == 'T') goto yy201;
2427
56.7k
      if (yych <= 'V') goto yy48;
2428
1.58k
      goto yy202;
2429
133k
    } else {
2430
133k
      if (yych <= 't') {
2431
114k
        if (yych <= 's') goto yy48;
2432
61.1k
        goto yy201;
2433
114k
      } else {
2434
18.4k
        if (yych == 'w') goto yy202;
2435
9.54k
        goto yy48;
2436
18.4k
      }
2437
133k
    }
2438
246k
yy57:
2439
246k
    YYDEBUG(57, *YYCURSOR);
2440
246k
    yyaccept = 4;
2441
246k
    yych = *(YYMARKER = ++YYCURSOR);
2442
246k
    if (yych <= 'R') {
2443
48.1k
      if (yych == 'H') goto yy203;
2444
46.2k
      if (yych <= 'Q') goto yy48;
2445
6.04k
      goto yy204;
2446
198k
    } else {
2447
198k
      if (yych <= 'h') {
2448
90.7k
        if (yych <= 'g') goto yy48;
2449
19.5k
        goto yy203;
2450
107k
      } else {
2451
107k
        if (yych == 'r') goto yy204;
2452
30.5k
        goto yy48;
2453
107k
      }
2454
198k
    }
2455
80.4k
yy58:
2456
80.4k
    YYDEBUG(58, *YYCURSOR);
2457
80.4k
    yyaccept = 4;
2458
80.4k
    yych = *(YYMARKER = ++YYCURSOR);
2459
80.4k
    if (yych <= 'S') {
2460
19.8k
      if (yych == 'N') goto yy205;
2461
18.0k
      if (yych <= 'R') goto yy48;
2462
916
      goto yy206;
2463
60.6k
    } else {
2464
60.6k
      if (yych <= 'n') {
2465
37.3k
        if (yych <= 'm') goto yy48;
2466
19.4k
        goto yy205;
2467
37.3k
      } else {
2468
23.2k
        if (yych == 's') goto yy206;
2469
7.44k
        goto yy48;
2470
23.2k
      }
2471
60.6k
    }
2472
142k
yy59:
2473
142k
    YYDEBUG(59, *YYCURSOR);
2474
142k
    yyaccept = 4;
2475
142k
    yych = *(YYMARKER = ++YYCURSOR);
2476
142k
    if (yych == 'A') goto yy207;
2477
141k
    if (yych == 'a') goto yy207;
2478
31.6k
    goto yy48;
2479
35.7k
yy60:
2480
35.7k
    YYDEBUG(60, *YYCURSOR);
2481
35.7k
    yyaccept = 4;
2482
35.7k
    yych = *(YYMARKER = ++YYCURSOR);
2483
35.7k
    if (yych == 'H') goto yy208;
2484
34.6k
    if (yych == 'h') goto yy208;
2485
28.0k
    goto yy48;
2486
42.7k
yy61:
2487
42.7k
    YYDEBUG(61, *YYCURSOR);
2488
42.7k
    yyaccept = 4;
2489
42.7k
    yych = *(YYMARKER = ++YYCURSOR);
2490
42.7k
    if (yych == 'O') goto yy209;
2491
42.0k
    if (yych == 'o') goto yy209;
2492
35.9k
    goto yy48;
2493
168k
yy62:
2494
168k
    YYDEBUG(62, *YYCURSOR);
2495
168k
    yyaccept = 4;
2496
168k
    yych = *(YYMARKER = ++YYCURSOR);
2497
168k
    if (yych == 'I') goto yy210;
2498
167k
    if (yych == 'i') goto yy210;
2499
48.4k
    goto yy48;
2500
322k
yy63:
2501
322k
    YYDEBUG(63, *YYCURSOR);
2502
322k
    ++YYCURSOR;
2503
322k
    goto yy21;
2504
245k
yy64:
2505
245k
    YYDEBUG(64, *YYCURSOR);
2506
245k
    yych = *++YYCURSOR;
2507
245k
    if (yych <= '_') {
2508
194k
      if (yych <= '@') goto yy65;
2509
119k
      if (yych <= 'Z') goto yy211;
2510
100k
      if (yych >= '_') goto yy211;
2511
100k
    } else {
2512
50.7k
      if (yych <= '`') goto yy65;
2513
48.5k
      if (yych <= 'z') goto yy211;
2514
27.9k
      if (yych >= 0x80) goto yy211;
2515
27.9k
    }
2516
187k
yy65:
2517
187k
    YYDEBUG(65, *YYCURSOR);
2518
187k
    yyleng = YYCURSOR - SCNG(yy_text);
2519
187k
#line 2450 "Zend/zend_language_scanner.l"
2520
187k
    {
2521
187k
  RETURN_TOKEN(T_NS_SEPARATOR);
2522
187k
}
2523
0
#line 2524 "Zend/zend_language_scanner.c"
2524
102k
yy66:
2525
102k
    YYDEBUG(66, *YYCURSOR);
2526
102k
    yych = *++YYCURSOR;
2527
102k
    if (yych == '=') goto yy214;
2528
102k
    goto yy9;
2529
207k
yy67:
2530
207k
    YYDEBUG(67, *YYCURSOR);
2531
207k
    yyaccept = 4;
2532
207k
    yych = *(YYMARKER = ++YYCURSOR);
2533
207k
    if (yych == '_') goto yy216;
2534
61.9k
    goto yy48;
2535
69.6k
yy68:
2536
69.6k
    YYDEBUG(68, *YYCURSOR);
2537
69.6k
    ++YYCURSOR;
2538
69.6k
    YYDEBUG(69, *YYCURSOR);
2539
69.6k
    yyleng = YYCURSOR - SCNG(yy_text);
2540
69.6k
#line 2824 "Zend/zend_language_scanner.l"
2541
69.6k
    {
2542
69.6k
  BEGIN(ST_BACKQUOTE);
2543
69.6k
  RETURN_TOKEN('`');
2544
69.6k
}
2545
0
#line 2546 "Zend/zend_language_scanner.c"
2546
1.33M
yy70:
2547
1.33M
    YYDEBUG(70, *YYCURSOR);
2548
1.33M
    ++YYCURSOR;
2549
1.33M
    YYDEBUG(71, *YYCURSOR);
2550
1.33M
    yyleng = YYCURSOR - SCNG(yy_text);
2551
1.33M
#line 1973 "Zend/zend_language_scanner.l"
2552
1.33M
    {
2553
1.33M
  yy_push_state(ST_IN_SCRIPTING);
2554
1.33M
  enter_nesting('{');
2555
1.33M
  RETURN_TOKEN('{');
2556
1.33M
}
2557
0
#line 2558 "Zend/zend_language_scanner.c"
2558
106k
yy72:
2559
106k
    YYDEBUG(72, *YYCURSOR);
2560
106k
    yych = *++YYCURSOR;
2561
106k
    if (yych <= '>') {
2562
48.6k
      if (yych <= '<') goto yy9;
2563
9.05k
      if (yych <= '=') goto yy217;
2564
6.94k
      goto yy219;
2565
58.3k
    } else {
2566
58.3k
      if (yych == '|') goto yy221;
2567
37.6k
      goto yy9;
2568
58.3k
    }
2569
403k
yy73:
2570
403k
    YYDEBUG(73, *YYCURSOR);
2571
403k
    ++YYCURSOR;
2572
403k
    YYDEBUG(74, *YYCURSOR);
2573
403k
    yyleng = YYCURSOR - SCNG(yy_text);
2574
403k
#line 1986 "Zend/zend_language_scanner.l"
2575
403k
    {
2576
403k
  RESET_DOC_COMMENT();
2577
403k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2578
375k
    yy_pop_state();
2579
375k
  }
2580
403k
  RETURN_EXIT_NESTING_TOKEN('}');
2581
403k
}
2582
0
#line 2583 "Zend/zend_language_scanner.c"
2583
7.64k
yy75:
2584
7.64k
    YYDEBUG(75, *YYCURSOR);
2585
7.64k
    yych = *++YYCURSOR;
2586
7.64k
    if (yych == '=') goto yy223;
2587
15.1k
yy76:
2588
15.1k
    YYDEBUG(76, *YYCURSOR);
2589
15.1k
    yyleng = YYCURSOR - SCNG(yy_text);
2590
15.1k
#line 1845 "Zend/zend_language_scanner.l"
2591
15.1k
    {
2592
15.1k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2593
15.1k
}
2594
0
#line 2595 "Zend/zend_language_scanner.c"
2595
19.4k
yy77:
2596
19.4k
    YYDEBUG(77, *YYCURSOR);
2597
19.4k
    ++YYCURSOR;
2598
19.4k
    YYDEBUG(78, *YYCURSOR);
2599
19.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2600
19.4k
#line 1422 "Zend/zend_language_scanner.l"
2601
19.4k
    {
2602
19.4k
  enter_nesting('[');
2603
19.4k
  RETURN_TOKEN(T_ATTRIBUTE);
2604
19.4k
}
2605
0
#line 2606 "Zend/zend_language_scanner.c"
2606
4.71M
yy79:
2607
4.71M
    YYDEBUG(79, *YYCURSOR);
2608
4.71M
    ++YYCURSOR;
2609
4.71M
    YYFILL(1);
2610
4.71M
    yych = *YYCURSOR;
2611
4.71M
    YYDEBUG(80, *YYCURSOR);
2612
4.71M
    if (yych <= '^') {
2613
1.36M
      if (yych <= '9') {
2614
981k
        if (yych >= '0') goto yy79;
2615
981k
      } else {
2616
383k
        if (yych <= '@') goto yy81;
2617
235k
        if (yych <= 'Z') goto yy79;
2618
235k
      }
2619
3.34M
    } else {
2620
3.34M
      if (yych <= '`') {
2621
15.8k
        if (yych <= '_') goto yy79;
2622
3.33M
      } else {
2623
3.33M
        if (yych <= 'z') goto yy79;
2624
998k
        if (yych >= 0x80) goto yy79;
2625
998k
      }
2626
3.34M
    }
2627
1.12M
yy81:
2628
1.12M
    YYDEBUG(81, *YYCURSOR);
2629
1.12M
    yyleng = YYCURSOR - SCNG(yy_text);
2630
1.12M
#line 2416 "Zend/zend_language_scanner.l"
2631
1.12M
    {
2632
1.12M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2633
1.12M
}
2634
0
#line 2635 "Zend/zend_language_scanner.c"
2635
3.96k
yy82:
2636
3.96k
    YYDEBUG(82, *YYCURSOR);
2637
3.96k
    ++YYCURSOR;
2638
3.96k
    YYDEBUG(83, *YYCURSOR);
2639
3.96k
    yyleng = YYCURSOR - SCNG(yy_text);
2640
3.96k
#line 1889 "Zend/zend_language_scanner.l"
2641
3.96k
    {
2642
3.96k
  RETURN_TOKEN(T_MOD_EQUAL);
2643
3.96k
}
2644
0
#line 2645 "Zend/zend_language_scanner.c"
2645
280k
yy84:
2646
280k
    YYDEBUG(84, *YYCURSOR);
2647
280k
    ++YYCURSOR;
2648
280k
    YYFILL(3);
2649
280k
    yych = *YYCURSOR;
2650
367k
yy85:
2651
367k
    YYDEBUG(85, *YYCURSOR);
2652
367k
    if (yych <= ' ') {
2653
94.5k
      if (yych <= '\f') {
2654
66.4k
        if (yych <= 0x08) goto yy86;
2655
63.9k
        if (yych <= '\n') goto yy84;
2656
63.9k
      } else {
2657
28.0k
        if (yych <= '\r') goto yy84;
2658
16.5k
        if (yych >= ' ') goto yy84;
2659
16.5k
      }
2660
272k
    } else {
2661
272k
      if (yych <= '$') {
2662
240k
        if (yych <= '"') goto yy86;
2663
240k
        if (yych <= '#') goto yy87;
2664
25.5k
        goto yy88;
2665
240k
      } else {
2666
32.1k
        if (yych <= '-') goto yy86;
2667
25.7k
        if (yych <= '.') goto yy92;
2668
20.1k
        if (yych <= '/') goto yy93;
2669
20.1k
      }
2670
272k
    }
2671
999k
yy86:
2672
999k
    YYDEBUG(86, *YYCURSOR);
2673
999k
    YYCURSOR = YYMARKER;
2674
999k
    if (yyaccept <= 48) {
2675
783k
      if (yyaccept <= 24) {
2676
764k
        if (yyaccept <= 12) {
2677
749k
          if (yyaccept <= 6) {
2678
405k
            if (yyaccept <= 3) {
2679
334k
              if (yyaccept <= 1) {
2680
292k
                if (yyaccept == 0) {
2681
53.7k
                  goto yy17;
2682
238k
                } else {
2683
238k
                  goto yy21;
2684
238k
                }
2685
292k
              } else {
2686
42.4k
                if (yyaccept == 2) {
2687
23.1k
                  goto yy9;
2688
23.1k
                } else {
2689
19.3k
                  goto yy31;
2690
19.3k
                }
2691
42.4k
              }
2692
334k
            } else {
2693
71.4k
              if (yyaccept <= 5) {
2694
67.4k
                if (yyaccept == 4) {
2695
62.7k
                  goto yy40;
2696
62.7k
                } else {
2697
4.74k
                  goto yy125;
2698
4.74k
                }
2699
67.4k
              } else {
2700
3.96k
                goto yy129;
2701
3.96k
              }
2702
71.4k
            }
2703
405k
          } else {
2704
343k
            if (yyaccept <= 9) {
2705
343k
              if (yyaccept <= 8) {
2706
342k
                if (yyaccept == 7) {
2707
342k
                  goto yy142;
2708
342k
                } else {
2709
409
                  goto yy163;
2710
409
                }
2711
342k
              } else {
2712
226
                goto yy173;
2713
226
              }
2714
343k
            } else {
2715
720
              if (yyaccept <= 11) {
2716
453
                if (yyaccept == 10) {
2717
337
                  goto yy182;
2718
337
                } else {
2719
116
                  goto yy188;
2720
116
                }
2721
453
              } else {
2722
267
                goto yy197;
2723
267
              }
2724
720
            }
2725
343k
          }
2726
749k
        } else {
2727
14.6k
          if (yyaccept <= 18) {
2728
12.7k
            if (yyaccept <= 15) {
2729
9.14k
              if (yyaccept <= 14) {
2730
8.39k
                if (yyaccept == 13) {
2731
7.97k
                  goto yy213;
2732
7.97k
                } else {
2733
421
                  goto yy251;
2734
421
                }
2735
8.39k
              } else {
2736
744
                goto yy257;
2737
744
              }
2738
9.14k
            } else {
2739
3.56k
              if (yyaccept <= 17) {
2740
606
                if (yyaccept == 16) {
2741
402
                  goto yy260;
2742
402
                } else {
2743
204
                  goto yy279;
2744
204
                }
2745
2.95k
              } else {
2746
2.95k
                goto yy283;
2747
2.95k
              }
2748
3.56k
            }
2749
12.7k
          } else {
2750
1.97k
            if (yyaccept <= 21) {
2751
1.05k
              if (yyaccept <= 20) {
2752
830
                if (yyaccept == 19) {
2753
269
                  goto yy295;
2754
561
                } else {
2755
561
                  goto yy306;
2756
561
                }
2757
830
              } else {
2758
228
                goto yy319;
2759
228
              }
2760
1.05k
            } else {
2761
913
              if (yyaccept <= 23) {
2762
696
                if (yyaccept == 22) {
2763
373
                  goto yy331;
2764
373
                } else {
2765
323
                  goto yy334;
2766
323
                }
2767
696
              } else {
2768
217
                goto yy336;
2769
217
              }
2770
913
            }
2771
1.97k
          }
2772
14.6k
        }
2773
764k
      } else {
2774
18.6k
        if (yyaccept <= 36) {
2775
9.57k
          if (yyaccept <= 30) {
2776
7.37k
            if (yyaccept <= 27) {
2777
6.42k
              if (yyaccept <= 26) {
2778
6.13k
                if (yyaccept == 25) {
2779
698
                  goto yy339;
2780
5.43k
                } else {
2781
5.43k
                  goto yy89;
2782
5.43k
                }
2783
6.13k
              } else {
2784
295
                goto yy379;
2785
295
              }
2786
6.42k
            } else {
2787
947
              if (yyaccept <= 29) {
2788
705
                if (yyaccept == 28) {
2789
371
                  goto yy388;
2790
371
                } else {
2791
334
                  goto yy390;
2792
334
                }
2793
705
              } else {
2794
242
                goto yy399;
2795
242
              }
2796
947
            }
2797
7.37k
          } else {
2798
2.20k
            if (yyaccept <= 33) {
2799
896
              if (yyaccept <= 32) {
2800
659
                if (yyaccept == 31) {
2801
303
                  goto yy401;
2802
356
                } else {
2803
356
                  goto yy408;
2804
356
                }
2805
659
              } else {
2806
237
                goto yy415;
2807
237
              }
2808
1.30k
            } else {
2809
1.30k
              if (yyaccept <= 35) {
2810
789
                if (yyaccept == 34) {
2811
366
                  goto yy471;
2812
423
                } else {
2813
423
                  goto yy473;
2814
423
                }
2815
789
              } else {
2816
517
                goto yy476;
2817
517
              }
2818
1.30k
            }
2819
2.20k
          }
2820
9.57k
        } else {
2821
9.09k
          if (yyaccept <= 42) {
2822
5.88k
            if (yyaccept <= 39) {
2823
999
              if (yyaccept <= 38) {
2824
856
                if (yyaccept == 37) {
2825
293
                  goto yy478;
2826
563
                } else {
2827
563
                  goto yy480;
2828
563
                }
2829
856
              } else {
2830
143
                goto yy482;
2831
143
              }
2832
4.88k
            } else {
2833
4.88k
              if (yyaccept <= 41) {
2834
4.79k
                if (yyaccept == 40) {
2835
4.50k
                  goto yy488;
2836
4.50k
                } else {
2837
291
                  goto yy492;
2838
291
                }
2839
4.79k
              } else {
2840
90
                goto yy501;
2841
90
              }
2842
4.88k
            }
2843
5.88k
          } else {
2844
3.20k
            if (yyaccept <= 45) {
2845
2.43k
              if (yyaccept <= 44) {
2846
2.11k
                if (yyaccept == 43) {
2847
377
                  goto yy511;
2848
1.73k
                } else {
2849
1.73k
                  goto yy513;
2850
1.73k
                }
2851
2.11k
              } else {
2852
324
                goto yy516;
2853
324
              }
2854
2.43k
            } else {
2855
771
              if (yyaccept <= 47) {
2856
529
                if (yyaccept == 46) {
2857
307
                  goto yy526;
2858
307
                } else {
2859
222
                  goto yy528;
2860
222
                }
2861
529
              } else {
2862
242
                goto yy530;
2863
242
              }
2864
771
            }
2865
3.20k
          }
2866
9.09k
        }
2867
18.6k
      }
2868
783k
    } else {
2869
216k
      if (yyaccept <= 72) {
2870
194k
        if (yyaccept <= 60) {
2871
186k
          if (yyaccept <= 54) {
2872
183k
            if (yyaccept <= 51) {
2873
74.9k
              if (yyaccept <= 50) {
2874
74.7k
                if (yyaccept == 49) {
2875
213
                  goto yy532;
2876
74.5k
                } else {
2877
74.5k
                  goto yy534;
2878
74.5k
                }
2879
74.7k
              } else {
2880
201
                goto yy576;
2881
201
              }
2882
108k
            } else {
2883
108k
              if (yyaccept <= 53) {
2884
108k
                if (yyaccept == 52) {
2885
234
                  goto yy579;
2886
107k
                } else {
2887
107k
                  goto yy583;
2888
107k
                }
2889
108k
              } else {
2890
251
                goto yy597;
2891
251
              }
2892
108k
            }
2893
183k
          } else {
2894
3.11k
            if (yyaccept <= 57) {
2895
2.57k
              if (yyaccept <= 56) {
2896
2.31k
                if (yyaccept == 55) {
2897
2.06k
                  goto yy607;
2898
2.06k
                } else {
2899
241
                  goto yy611;
2900
241
                }
2901
2.31k
              } else {
2902
266
                goto yy613;
2903
266
              }
2904
2.57k
            } else {
2905
534
              if (yyaccept <= 59) {
2906
321
                if (yyaccept == 58) {
2907
252
                  goto yy615;
2908
252
                } else {
2909
69
                  goto yy654;
2910
69
                }
2911
321
              } else {
2912
213
                goto yy656;
2913
213
              }
2914
534
            }
2915
3.11k
          }
2916
186k
        } else {
2917
7.61k
          if (yyaccept <= 66) {
2918
5.71k
            if (yyaccept <= 63) {
2919
1.02k
              if (yyaccept <= 62) {
2920
551
                if (yyaccept == 61) {
2921
324
                  goto yy671;
2922
324
                } else {
2923
227
                  goto yy673;
2924
227
                }
2925
551
              } else {
2926
469
                goto yy675;
2927
469
              }
2928
4.69k
            } else {
2929
4.69k
              if (yyaccept <= 65) {
2930
2.83k
                if (yyaccept == 64) {
2931
199
                  goto yy679;
2932
2.63k
                } else {
2933
2.63k
                  goto yy685;
2934
2.63k
                }
2935
2.83k
              } else {
2936
1.86k
                goto yy690;
2937
1.86k
              }
2938
4.69k
            }
2939
5.71k
          } else {
2940
1.89k
            if (yyaccept <= 69) {
2941
1.13k
              if (yyaccept <= 68) {
2942
422
                if (yyaccept == 67) {
2943
220
                  goto yy700;
2944
220
                } else {
2945
202
                  goto yy726;
2946
202
                }
2947
711
              } else {
2948
711
                goto yy728;
2949
711
              }
2950
1.13k
            } else {
2951
762
              if (yyaccept <= 71) {
2952
509
                if (yyaccept == 70) {
2953
227
                  goto yy730;
2954
282
                } else {
2955
282
                  goto yy735;
2956
282
                }
2957
509
              } else {
2958
253
                goto yy743;
2959
253
              }
2960
762
            }
2961
1.89k
          }
2962
7.61k
        }
2963
194k
      } else {
2964
22.3k
        if (yyaccept <= 84) {
2965
5.10k
          if (yyaccept <= 78) {
2966
1.86k
            if (yyaccept <= 75) {
2967
908
              if (yyaccept <= 74) {
2968
700
                if (yyaccept == 73) {
2969
496
                  goto yy754;
2970
496
                } else {
2971
204
                  goto yy764;
2972
204
                }
2973
700
              } else {
2974
208
                goto yy768;
2975
208
              }
2976
958
            } else {
2977
958
              if (yyaccept <= 77) {
2978
594
                if (yyaccept == 76) {
2979
290
                  goto yy784;
2980
304
                } else {
2981
304
                  goto yy797;
2982
304
                }
2983
594
              } else {
2984
364
                goto yy799;
2985
364
              }
2986
958
            }
2987
3.23k
          } else {
2988
3.23k
            if (yyaccept <= 81) {
2989
2.53k
              if (yyaccept <= 80) {
2990
2.06k
                if (yyaccept == 79) {
2991
855
                  goto yy801;
2992
1.20k
                } else {
2993
1.20k
                  goto yy804;
2994
1.20k
                }
2995
2.06k
              } else {
2996
474
                goto yy812;
2997
474
              }
2998
2.53k
            } else {
2999
701
              if (yyaccept <= 83) {
3000
373
                if (yyaccept == 82) {
3001
114
                  goto yy819;
3002
259
                } else {
3003
259
                  goto yy823;
3004
259
                }
3005
373
              } else {
3006
328
                goto yy825;
3007
328
              }
3008
701
            }
3009
3.23k
          }
3010
17.2k
        } else {
3011
17.2k
          if (yyaccept <= 90) {
3012
1.70k
            if (yyaccept <= 87) {
3013
1.00k
              if (yyaccept <= 86) {
3014
667
                if (yyaccept == 85) {
3015
470
                  goto yy836;
3016
470
                } else {
3017
197
                  goto yy839;
3018
197
                }
3019
667
              } else {
3020
342
                goto yy854;
3021
342
              }
3022
1.00k
            } else {
3023
693
              if (yyaccept <= 89) {
3024
458
                if (yyaccept == 88) {
3025
388
                  goto yy869;
3026
388
                } else {
3027
70
                  goto yy898;
3028
70
                }
3029
458
              } else {
3030
235
                goto yy903;
3031
235
              }
3032
693
            }
3033
15.5k
          } else {
3034
15.5k
            if (yyaccept <= 93) {
3035
12.8k
              if (yyaccept <= 92) {
3036
12.5k
                if (yyaccept == 91) {
3037
12.4k
                  goto yy876;
3038
12.4k
                } else {
3039
133
                  goto yy911;
3040
133
                }
3041
12.5k
              } else {
3042
251
                goto yy915;
3043
251
              }
3044
12.8k
            } else {
3045
2.72k
              if (yyaccept <= 95) {
3046
2.52k
                if (yyaccept == 94) {
3047
2.33k
                  goto yy886;
3048
2.33k
                } else {
3049
194
                  goto yy931;
3050
194
                }
3051
2.52k
              } else {
3052
204
                goto yy951;
3053
204
              }
3054
2.72k
            }
3055
15.5k
          }
3056
17.2k
        }
3057
22.3k
      }
3058
216k
    }
3059
214k
yy87:
3060
214k
    YYDEBUG(87, *YYCURSOR);
3061
214k
    ++YYCURSOR;
3062
214k
    YYFILL(1);
3063
214k
    yych = *YYCURSOR;
3064
214k
    if (yych <= '\f') {
3065
33.9k
      if (yych <= 0x00) goto yy86;
3066
33.5k
      if (yych == '\n') goto yy227;
3067
1.06k
      goto yy225;
3068
180k
    } else {
3069
180k
      if (yych <= '\r') goto yy227;
3070
14.7k
      if (yych == '[') goto yy86;
3071
14.4k
      goto yy225;
3072
14.7k
    }
3073
26.6k
yy88:
3074
26.6k
    YYDEBUG(88, *YYCURSOR);
3075
26.6k
    ++YYCURSOR;
3076
32.9k
yy89:
3077
32.9k
    YYDEBUG(89, *YYCURSOR);
3078
32.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3079
32.9k
#line 1949 "Zend/zend_language_scanner.l"
3080
32.9k
    {
3081
32.9k
  yyless(1);
3082
32.9k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3083
32.9k
}
3084
0
#line 3085 "Zend/zend_language_scanner.c"
3085
16.3k
yy90:
3086
16.3k
    YYDEBUG(90, *YYCURSOR);
3087
16.3k
    ++YYCURSOR;
3088
16.3k
    YYDEBUG(91, *YYCURSOR);
3089
16.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3090
16.3k
#line 1925 "Zend/zend_language_scanner.l"
3091
16.3k
    {
3092
16.3k
  RETURN_TOKEN(T_BOOLEAN_AND);
3093
16.3k
}
3094
0
#line 3095 "Zend/zend_language_scanner.c"
3095
5.50k
yy92:
3096
5.50k
    YYDEBUG(92, *YYCURSOR);
3097
5.50k
    yych = *++YYCURSOR;
3098
5.50k
    if (yych == '.') goto yy229;
3099
3.13k
    goto yy86;
3100
5.18k
yy93:
3101
5.18k
    YYDEBUG(93, *YYCURSOR);
3102
5.18k
    ++YYCURSOR;
3103
5.18k
    YYFILL(1);
3104
5.18k
    yych = *YYCURSOR;
3105
5.18k
    if (yych == '*') goto yy230;
3106
1.92k
    if (yych == '/') goto yy225;
3107
1.23k
    goto yy86;
3108
17.9k
yy94:
3109
17.9k
    YYDEBUG(94, *YYCURSOR);
3110
17.9k
    ++YYCURSOR;
3111
17.9k
    YYDEBUG(95, *YYCURSOR);
3112
17.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3113
17.9k
#line 1901 "Zend/zend_language_scanner.l"
3114
17.9k
    {
3115
17.9k
  RETURN_TOKEN(T_AND_EQUAL);
3116
17.9k
}
3117
0
#line 3118 "Zend/zend_language_scanner.c"
3118
194k
yy96:
3119
194k
    YYDEBUG(96, *YYCURSOR);
3120
194k
    ++YYCURSOR;
3121
194k
    YYFILL(7);
3122
194k
    yych = *YYCURSOR;
3123
448k
yy97:
3124
448k
    YYDEBUG(97, *YYCURSOR);
3125
448k
    if (yybm[0+yych] & 1) {
3126
194k
      goto yy96;
3127
194k
    }
3128
253k
    switch (yych) {
3129
6.14k
    case 'A':
3130
44.1k
    case 'a': goto yy98;
3131
4.79k
    case 'B':
3132
16.8k
    case 'b': goto yy99;
3133
1.18k
    case 'D':
3134
9.09k
    case 'd': goto yy100;
3135
3.15k
    case 'F':
3136
24.8k
    case 'f': goto yy101;
3137
1.68k
    case 'I':
3138
36.2k
    case 'i': goto yy102;
3139
2.88k
    case 'O':
3140
10.3k
    case 'o': goto yy103;
3141
1.16k
    case 'R':
3142
10.1k
    case 'r': goto yy104;
3143
3.55k
    case 'S':
3144
31.6k
    case 's': goto yy105;
3145
1.40k
    case 'U':
3146
6.73k
    case 'u': goto yy106;
3147
1.30k
    case 'V':
3148
4.95k
    case 'v': goto yy107;
3149
58.6k
    default:  goto yy86;
3150
253k
    }
3151
44.1k
yy98:
3152
44.1k
    YYDEBUG(98, *YYCURSOR);
3153
44.1k
    yych = *++YYCURSOR;
3154
44.1k
    if (yych == 'R') goto yy232;
3155
39.7k
    if (yych == 'r') goto yy232;
3156
26.2k
    goto yy86;
3157
26.2k
yy99:
3158
16.8k
    YYDEBUG(99, *YYCURSOR);
3159
16.8k
    yych = *++YYCURSOR;
3160
16.8k
    if (yych <= 'O') {
3161
7.09k
      if (yych == 'I') goto yy233;
3162
6.24k
      if (yych <= 'N') goto yy86;
3163
886
      goto yy234;
3164
9.72k
    } else {
3165
9.72k
      if (yych <= 'i') {
3166
4.23k
        if (yych <= 'h') goto yy86;
3167
2.77k
        goto yy233;
3168
5.48k
      } else {
3169
5.48k
        if (yych == 'o') goto yy234;
3170
982
        goto yy86;
3171
5.48k
      }
3172
9.72k
    }
3173
9.09k
yy100:
3174
9.09k
    YYDEBUG(100, *YYCURSOR);
3175
9.09k
    yych = *++YYCURSOR;
3176
9.09k
    if (yych == 'O') goto yy235;
3177
8.86k
    if (yych == 'o') goto yy235;
3178
4.83k
    goto yy86;
3179
24.8k
yy101:
3180
24.8k
    YYDEBUG(101, *YYCURSOR);
3181
24.8k
    yych = *++YYCURSOR;
3182
24.8k
    if (yych == 'L') goto yy236;
3183
24.5k
    if (yych == 'l') goto yy236;
3184
20.8k
    goto yy86;
3185
36.2k
yy102:
3186
36.2k
    YYDEBUG(102, *YYCURSOR);
3187
36.2k
    yych = *++YYCURSOR;
3188
36.2k
    if (yych == 'N') goto yy237;
3189
35.2k
    if (yych == 'n') goto yy237;
3190
22.4k
    goto yy86;
3191
22.4k
yy103:
3192
10.3k
    YYDEBUG(103, *YYCURSOR);
3193
10.3k
    yych = *++YYCURSOR;
3194
10.3k
    if (yych == 'B') goto yy238;
3195
10.1k
    if (yych == 'b') goto yy238;
3196
4.04k
    goto yy86;
3197
10.1k
yy104:
3198
10.1k
    YYDEBUG(104, *YYCURSOR);
3199
10.1k
    yych = *++YYCURSOR;
3200
10.1k
    if (yych == 'E') goto yy239;
3201
9.17k
    if (yych == 'e') goto yy239;
3202
4.01k
    goto yy86;
3203
31.6k
yy105:
3204
31.6k
    YYDEBUG(105, *YYCURSOR);
3205
31.6k
    yych = *++YYCURSOR;
3206
31.6k
    if (yych == 'T') goto yy240;
3207
31.1k
    if (yych == 't') goto yy240;
3208
17.2k
    goto yy86;
3209
17.2k
yy106:
3210
6.73k
    YYDEBUG(106, *YYCURSOR);
3211
6.73k
    yych = *++YYCURSOR;
3212
6.73k
    if (yych == 'N') goto yy241;
3213
5.83k
    if (yych == 'n') goto yy241;
3214
1.58k
    goto yy86;
3215
4.95k
yy107:
3216
4.95k
    YYDEBUG(107, *YYCURSOR);
3217
4.95k
    yych = *++YYCURSOR;
3218
4.95k
    if (yych == 'O') goto yy242;
3219
4.59k
    if (yych == 'o') goto yy242;
3220
2.70k
    goto yy86;
3221
21.5k
yy108:
3222
21.5k
    YYDEBUG(108, *YYCURSOR);
3223
21.5k
    yych = *++YYCURSOR;
3224
21.5k
    if (yych == '=') goto yy243;
3225
20.7k
    YYDEBUG(109, *YYCURSOR);
3226
20.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3227
20.7k
#line 1873 "Zend/zend_language_scanner.l"
3228
20.7k
    {
3229
20.7k
  RETURN_TOKEN(T_POW);
3230
20.7k
}
3231
0
#line 3232 "Zend/zend_language_scanner.c"
3232
6.53k
yy110:
3233
6.53k
    YYDEBUG(110, *YYCURSOR);
3234
6.53k
    ++YYCURSOR;
3235
6.53k
    YYDEBUG(111, *YYCURSOR);
3236
6.53k
    yyleng = YYCURSOR - SCNG(yy_text);
3237
6.53k
#line 1869 "Zend/zend_language_scanner.l"
3238
6.53k
    {
3239
6.53k
  RETURN_TOKEN(T_MUL_EQUAL);
3240
6.53k
}
3241
0
#line 3242 "Zend/zend_language_scanner.c"
3242
40.0k
yy112:
3243
40.0k
    YYDEBUG(112, *YYCURSOR);
3244
40.0k
    ++YYCURSOR;
3245
40.0k
    YYDEBUG(113, *YYCURSOR);
3246
40.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3247
40.0k
#line 1825 "Zend/zend_language_scanner.l"
3248
40.0k
    {
3249
40.0k
  RETURN_TOKEN(T_INC);
3250
40.0k
}
3251
0
#line 3252 "Zend/zend_language_scanner.c"
3252
4.50k
yy114:
3253
4.50k
    YYDEBUG(114, *YYCURSOR);
3254
4.50k
    ++YYCURSOR;
3255
4.50k
    YYDEBUG(115, *YYCURSOR);
3256
4.50k
    yyleng = YYCURSOR - SCNG(yy_text);
3257
4.50k
#line 1861 "Zend/zend_language_scanner.l"
3258
4.50k
    {
3259
4.50k
  RETURN_TOKEN(T_PLUS_EQUAL);
3260
4.50k
}
3261
0
#line 3262 "Zend/zend_language_scanner.c"
3262
15.8k
yy116:
3263
15.8k
    YYDEBUG(116, *YYCURSOR);
3264
15.8k
    ++YYCURSOR;
3265
15.8k
    YYDEBUG(117, *YYCURSOR);
3266
15.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3267
15.8k
#line 1829 "Zend/zend_language_scanner.l"
3268
15.8k
    {
3269
15.8k
  RETURN_TOKEN(T_DEC);
3270
15.8k
}
3271
0
#line 3272 "Zend/zend_language_scanner.c"
3272
2.86k
yy118:
3273
2.86k
    YYDEBUG(118, *YYCURSOR);
3274
2.86k
    ++YYCURSOR;
3275
2.86k
    YYDEBUG(119, *YYCURSOR);
3276
2.86k
    yyleng = YYCURSOR - SCNG(yy_text);
3277
2.86k
#line 1865 "Zend/zend_language_scanner.l"
3278
2.86k
    {
3279
2.86k
  RETURN_TOKEN(T_MINUS_EQUAL);
3280
2.86k
}
3281
0
#line 3282 "Zend/zend_language_scanner.c"
3282
127k
yy120:
3283
127k
    YYDEBUG(120, *YYCURSOR);
3284
127k
    ++YYCURSOR;
3285
127k
    YYDEBUG(121, *YYCURSOR);
3286
127k
    yyleng = YYCURSOR - SCNG(yy_text);
3287
127k
#line 1586 "Zend/zend_language_scanner.l"
3288
127k
    {
3289
127k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3290
127k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3291
127k
}
3292
0
#line 3293 "Zend/zend_language_scanner.c"
3293
69.8k
yy122:
3294
69.8k
    YYDEBUG(122, *YYCURSOR);
3295
69.8k
    yych = *++YYCURSOR;
3296
69.8k
    if (yych == '.') goto yy245;
3297
19.9k
    goto yy86;
3298
507k
yy123:
3299
507k
    YYDEBUG(123, *YYCURSOR);
3300
507k
    yyaccept = 5;
3301
507k
    YYMARKER = ++YYCURSOR;
3302
507k
    YYFILL(2);
3303
507k
    yych = *YYCURSOR;
3304
555k
yy124:
3305
555k
    YYDEBUG(124, *YYCURSOR);
3306
555k
    if (yych <= 'E') {
3307
528k
      if (yych <= '/') goto yy125;
3308
489k
      if (yych <= '9') goto yy123;
3309
21.9k
      if (yych >= 'E') goto yy135;
3310
26.8k
    } else {
3311
26.8k
      if (yych <= '_') {
3312
7.43k
        if (yych >= '_') goto yy247;
3313
19.3k
      } else {
3314
19.3k
        if (yych == 'e') goto yy135;
3315
19.3k
      }
3316
26.8k
    }
3317
112k
yy125:
3318
112k
    YYDEBUG(125, *YYCURSOR);
3319
112k
    yyleng = YYCURSOR - SCNG(yy_text);
3320
112k
#line 2232 "Zend/zend_language_scanner.l"
3321
112k
    {
3322
112k
  const char *end;
3323
112k
  size_t len = yyleng;
3324
112k
  char *dnum = yytext;
3325
112k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3326
3327
112k
  if (contains_underscores) {
3328
3.71k
    dnum = estrndup(dnum, len);
3329
3.71k
    strip_underscores(dnum, &len);
3330
3.71k
  }
3331
3332
112k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3333
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3334
112k
  ZEND_ASSERT(end == dnum + len);
3335
112k
  if (contains_underscores) {
3336
3.71k
    efree(dnum);
3337
3.71k
  }
3338
112k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3339
112k
}
3340
0
#line 3341 "Zend/zend_language_scanner.c"
3341
129k
yy126:
3342
129k
    YYDEBUG(126, *YYCURSOR);
3343
129k
    ++YYCURSOR;
3344
129k
    YYDEBUG(127, *YYCURSOR);
3345
129k
    yyleng = YYCURSOR - SCNG(yy_text);
3346
129k
#line 1885 "Zend/zend_language_scanner.l"
3347
129k
    {
3348
129k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3349
129k
}
3350
0
#line 3351 "Zend/zend_language_scanner.c"
3351
125k
yy128:
3352
125k
    YYDEBUG(128, *YYCURSOR);
3353
125k
    yyaccept = 6;
3354
125k
    yych = *(YYMARKER = ++YYCURSOR);
3355
125k
    if (yych == '*') goto yy248;
3356
125k
yy129:
3357
125k
    YYDEBUG(129, *YYCURSOR);
3358
125k
    yyleng = YYCURSOR - SCNG(yy_text);
3359
125k
#line 2483 "Zend/zend_language_scanner.l"
3360
125k
    {
3361
125k
  int doc_com;
3362
3363
125k
  if (yyleng > 2) {
3364
6.66k
    doc_com = 1;
3365
6.66k
    RESET_DOC_COMMENT();
3366
118k
  } else {
3367
118k
    doc_com = 0;
3368
118k
  }
3369
3370
10.9M
  while (YYCURSOR < YYLIMIT) {
3371
10.8M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3372
97.7k
      break;
3373
97.7k
    }
3374
10.8M
  }
3375
3376
125k
  if (YYCURSOR < YYLIMIT) {
3377
97.7k
    YYCURSOR++;
3378
97.7k
  } else {
3379
27.6k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
3380
27.6k
    if (PARSER_MODE()) {
3381
1.24k
      RETURN_TOKEN(T_ERROR);
3382
1.24k
    }
3383
27.6k
  }
3384
3385
124k
  yyleng = YYCURSOR - SCNG(yy_text);
3386
124k
  HANDLE_NEWLINES(yytext, yyleng);
3387
3388
124k
  if (doc_com) {
3389
6.56k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3390
6.56k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3391
6.56k
  }
3392
3393
117k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3394
117k
}
3395
0
#line 3396 "Zend/zend_language_scanner.c"
3396
70.4k
yy130:
3397
70.4k
    YYDEBUG(130, *YYCURSOR);
3398
70.4k
    ++YYCURSOR;
3399
70.4k
    goto yy13;
3400
1.97k
yy131:
3401
1.97k
    YYDEBUG(131, *YYCURSOR);
3402
1.97k
    ++YYCURSOR;
3403
1.97k
    YYDEBUG(132, *YYCURSOR);
3404
1.97k
    yyleng = YYCURSOR - SCNG(yy_text);
3405
1.97k
#line 1881 "Zend/zend_language_scanner.l"
3406
1.97k
    {
3407
1.97k
  RETURN_TOKEN(T_DIV_EQUAL);
3408
1.97k
}
3409
0
#line 3410 "Zend/zend_language_scanner.c"
3410
48.4k
yy133:
3411
48.4k
    YYDEBUG(133, *YYCURSOR);
3412
48.4k
    yyaccept = 5;
3413
48.4k
    yych = *(YYMARKER = ++YYCURSOR);
3414
48.4k
    if (yych == '_') goto yy125;
3415
48.1k
    goto yy124;
3416
48.1k
yy134:
3417
6.14k
    YYDEBUG(134, *YYCURSOR);
3418
6.14k
    ++YYCURSOR;
3419
6.14k
    YYFILL(1);
3420
6.14k
    yych = *YYCURSOR;
3421
6.14k
    if (yybm[0+yych] & 8) {
3422
4.47k
      goto yy249;
3423
4.47k
    }
3424
1.67k
    goto yy86;
3425
45.1k
yy135:
3426
45.1k
    YYDEBUG(135, *YYCURSOR);
3427
45.1k
    yych = *++YYCURSOR;
3428
45.1k
    if (yych <= ',') {
3429
4.06k
      if (yych == '+') goto yy252;
3430
1.98k
      goto yy86;
3431
41.1k
    } else {
3432
41.1k
      if (yych <= '-') goto yy252;
3433
30.0k
      if (yych <= '/') goto yy86;
3434
29.7k
      if (yych <= '9') goto yy253;
3435
6.98k
      goto yy86;
3436
29.7k
    }
3437
4.50k
yy136:
3438
4.50k
    YYDEBUG(136, *YYCURSOR);
3439
4.50k
    ++YYCURSOR;
3440
4.50k
    YYFILL(1);
3441
4.50k
    yych = *YYCURSOR;
3442
4.50k
    if (yybm[0+yych] & 16) {
3443
2.79k
      goto yy255;
3444
2.79k
    }
3445
1.71k
    goto yy86;
3446
9.95k
yy137:
3447
9.95k
    YYDEBUG(137, *YYCURSOR);
3448
9.95k
    ++YYCURSOR;
3449
9.95k
    YYFILL(1);
3450
9.95k
    yych = *YYCURSOR;
3451
9.95k
    if (yybm[0+yych] & 32) {
3452
8.61k
      goto yy258;
3453
8.61k
    }
3454
1.34k
    goto yy86;
3455
13.6k
yy138:
3456
13.6k
    YYDEBUG(138, *YYCURSOR);
3457
13.6k
    ++YYCURSOR;
3458
13.6k
    YYFILL(1);
3459
13.6k
    yych = *YYCURSOR;
3460
13.6k
    if (yybm[256+yych] & 64) {
3461
6.23k
      goto yy32;
3462
6.23k
    }
3463
7.40k
    goto yy86;
3464
105k
yy139:
3465
105k
    YYDEBUG(139, *YYCURSOR);
3466
105k
    ++YYCURSOR;
3467
105k
    YYDEBUG(140, *YYCURSOR);
3468
105k
    yyleng = YYCURSOR - SCNG(yy_text);
3469
105k
#line 1613 "Zend/zend_language_scanner.l"
3470
105k
    {
3471
105k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3472
105k
}
3473
0
#line 3474 "Zend/zend_language_scanner.c"
3474
5.34M
yy141:
3475
5.34M
    YYDEBUG(141, *YYCURSOR);
3476
5.34M
    yyaccept = 7;
3477
5.34M
    yych = *(YYMARKER = ++YYCURSOR);
3478
5.34M
    if (yych <= ';') goto yy142;
3479
5.23M
    if (yych <= '<') goto yy261;
3480
275k
    if (yych <= '=') goto yy263;
3481
725k
yy142:
3482
725k
    YYDEBUG(142, *YYCURSOR);
3483
725k
    yyleng = YYCURSOR - SCNG(yy_text);
3484
725k
#line 1941 "Zend/zend_language_scanner.l"
3485
725k
    {
3486
725k
  RETURN_TOKEN(T_SL);
3487
725k
}
3488
0
#line 3489 "Zend/zend_language_scanner.c"
3489
15.1k
yy143:
3490
15.1k
    YYDEBUG(143, *YYCURSOR);
3491
15.1k
    yych = *++YYCURSOR;
3492
15.1k
    if (yych == '>') goto yy265;
3493
14.6k
    YYDEBUG(144, *YYCURSOR);
3494
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3495
14.6k
#line 1853 "Zend/zend_language_scanner.l"
3496
14.6k
    {
3497
14.6k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3498
14.6k
}
3499
0
#line 3500 "Zend/zend_language_scanner.c"
3500
9.27k
yy145:
3501
9.27k
    YYDEBUG(145, *YYCURSOR);
3502
9.27k
    ++YYCURSOR;
3503
9.27k
    goto yy76;
3504
49.7k
yy146:
3505
49.7k
    YYDEBUG(146, *YYCURSOR);
3506
49.7k
    yych = *++YYCURSOR;
3507
49.7k
    if (yych == '=') goto yy267;
3508
25.8k
    YYDEBUG(147, *YYCURSOR);
3509
25.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3510
25.8k
#line 1841 "Zend/zend_language_scanner.l"
3511
25.8k
    {
3512
25.8k
  RETURN_TOKEN(T_IS_EQUAL);
3513
25.8k
}
3514
0
#line 3515 "Zend/zend_language_scanner.c"
3515
51.4k
yy148:
3516
51.4k
    YYDEBUG(148, *YYCURSOR);
3517
51.4k
    ++YYCURSOR;
3518
51.4k
    YYDEBUG(149, *YYCURSOR);
3519
51.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3520
51.4k
#line 1809 "Zend/zend_language_scanner.l"
3521
51.4k
    {
3522
51.4k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3523
51.4k
}
3524
0
#line 3525 "Zend/zend_language_scanner.c"
3525
4.52k
yy150:
3526
4.52k
    YYDEBUG(150, *YYCURSOR);
3527
4.52k
    ++YYCURSOR;
3528
4.52k
    YYDEBUG(151, *YYCURSOR);
3529
4.52k
    yyleng = YYCURSOR - SCNG(yy_text);
3530
4.52k
#line 1857 "Zend/zend_language_scanner.l"
3531
4.52k
    {
3532
4.52k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3533
4.52k
}
3534
0
#line 3535 "Zend/zend_language_scanner.c"
3535
11.0k
yy152:
3536
11.0k
    YYDEBUG(152, *YYCURSOR);
3537
11.0k
    yych = *++YYCURSOR;
3538
11.0k
    if (yych == '=') goto yy269;
3539
9.70k
    YYDEBUG(153, *YYCURSOR);
3540
9.70k
    yyleng = YYCURSOR - SCNG(yy_text);
3541
9.70k
#line 1945 "Zend/zend_language_scanner.l"
3542
9.70k
    {
3543
9.70k
  RETURN_TOKEN(T_SR);
3544
9.70k
}
3545
0
#line 3546 "Zend/zend_language_scanner.c"
3546
39.9k
yy154:
3547
39.9k
    YYDEBUG(154, *YYCURSOR);
3548
39.9k
    yych = *++YYCURSOR;
3549
39.9k
    if (yych == '>') goto yy271;
3550
3.18k
    goto yy86;
3551
135k
yy155:
3552
135k
    YYDEBUG(155, *YYCURSOR);
3553
135k
    yych = *++YYCURSOR;
3554
135k
    if (yych == '\n') goto yy273;
3555
128k
    if (yych == '\r') goto yy274;
3556
135k
yy156:
3557
135k
    YYDEBUG(156, *YYCURSOR);
3558
135k
    yyleng = YYCURSOR - SCNG(yy_text);
3559
135k
#line 2525 "Zend/zend_language_scanner.l"
3560
135k
    {
3561
135k
  BEGIN(INITIAL);
3562
135k
  if (yytext[yyleng-1] != '>') {
3563
9.08k
    CG(increment_lineno) = 1;
3564
9.08k
  }
3565
135k
  if (PARSER_MODE()) {
3566
111k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3567
111k
  }
3568
23.8k
  RETURN_TOKEN(T_CLOSE_TAG);
3569
23.8k
}
3570
0
#line 3571 "Zend/zend_language_scanner.c"
3571
46.8k
yy157:
3572
46.8k
    YYDEBUG(157, *YYCURSOR);
3573
46.8k
    yych = *++YYCURSOR;
3574
46.8k
    if (yych == '=') goto yy275;
3575
38.8k
    YYDEBUG(158, *YYCURSOR);
3576
38.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3577
38.8k
#line 1621 "Zend/zend_language_scanner.l"
3578
38.8k
    {
3579
38.8k
  RETURN_TOKEN(T_COALESCE);
3580
38.8k
}
3581
0
#line 3582 "Zend/zend_language_scanner.c"
3582
13.2k
yy159:
3583
13.2k
    YYDEBUG(159, *YYCURSOR);
3584
13.2k
    yyaccept = 4;
3585
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
3586
13.2k
    if (yych == 'S') goto yy277;
3587
11.8k
    if (yych == 's') goto yy277;
3588
3.94k
    goto yy48;
3589
11.6k
yy160:
3590
11.6k
    YYDEBUG(160, *YYCURSOR);
3591
11.6k
    yyaccept = 4;
3592
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
3593
11.6k
    if (yych == 'D') goto yy278;
3594
9.95k
    if (yych == 'd') goto yy278;
3595
3.30k
    goto yy48;
3596
41.1k
yy161:
3597
41.1k
    YYDEBUG(161, *YYCURSOR);
3598
41.1k
    yyaccept = 4;
3599
41.1k
    yych = *(YYMARKER = ++YYCURSOR);
3600
41.1k
    if (yych == 'R') goto yy280;
3601
40.4k
    if (yych == 'r') goto yy280;
3602
11.7k
    goto yy48;
3603
66.6k
yy162:
3604
66.6k
    YYDEBUG(162, *YYCURSOR);
3605
66.6k
    yyaccept = 8;
3606
66.6k
    yych = *(YYMARKER = ++YYCURSOR);
3607
66.6k
    if (yybm[256+yych] & 128) {
3608
39.1k
      goto yy47;
3609
39.1k
    }
3610
27.4k
    if (yych == '\\') goto yy164;
3611
27.4k
yy163:
3612
27.4k
    YYDEBUG(163, *YYCURSOR);
3613
27.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3614
27.4k
#line 1509 "Zend/zend_language_scanner.l"
3615
27.4k
    {
3616
27.4k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3617
27.4k
}
3618
0
#line 3619 "Zend/zend_language_scanner.c"
3619
104k
yy164:
3620
104k
    YYDEBUG(164, *YYCURSOR);
3621
104k
    ++YYCURSOR;
3622
104k
    YYFILL(1);
3623
104k
    yych = *YYCURSOR;
3624
104k
    if (yych <= '_') {
3625
74.5k
      if (yych <= '@') goto yy86;
3626
36.5k
      if (yych <= 'Z') goto yy281;
3627
20.3k
      if (yych <= '^') goto yy86;
3628
3.49k
      goto yy281;
3629
30.4k
    } else {
3630
30.4k
      if (yych <= '`') goto yy86;
3631
29.4k
      if (yych <= 'z') goto yy281;
3632
14.0k
      if (yych <= 0x7F) goto yy86;
3633
6.93k
      goto yy281;
3634
14.0k
    }
3635
7.87k
yy165:
3636
7.87k
    YYDEBUG(165, *YYCURSOR);
3637
7.87k
    yych = *++YYCURSOR;
3638
7.87k
    if (yych == '<') goto yy284;
3639
2.26k
    goto yy86;
3640
6.98k
yy166:
3641
6.98k
    YYDEBUG(166, *YYCURSOR);
3642
6.98k
    yyaccept = 4;
3643
6.98k
    yych = *(YYMARKER = ++YYCURSOR);
3644
6.98k
    if (yych == 'E') goto yy285;
3645
6.53k
    if (yych == 'e') goto yy285;
3646
1.78k
    goto yy48;
3647
85.7k
yy167:
3648
85.7k
    YYDEBUG(167, *YYCURSOR);
3649
85.7k
    yyaccept = 4;
3650
85.7k
    yych = *(YYMARKER = ++YYCURSOR);
3651
85.7k
    if (yych <= 'T') {
3652
4.99k
      if (yych <= 'L') {
3653
3.56k
        if (yych <= 'K') goto yy48;
3654
1.20k
        goto yy286;
3655
3.56k
      } else {
3656
1.43k
        if (yych <= 'R') goto yy48;
3657
1.17k
        if (yych <= 'S') goto yy287;
3658
732
        goto yy288;
3659
1.17k
      }
3660
80.7k
    } else {
3661
80.7k
      if (yych <= 'r') {
3662
18.6k
        if (yych == 'l') goto yy286;
3663
2.24k
        goto yy48;
3664
62.1k
      } else {
3665
62.1k
        if (yych <= 's') goto yy287;
3666
50.2k
        if (yych <= 't') goto yy288;
3667
743
        goto yy48;
3668
50.2k
      }
3669
80.7k
    }
3670
101k
yy168:
3671
101k
    YYDEBUG(168, *YYCURSOR);
3672
101k
    yyaccept = 4;
3673
101k
    yych = *(YYMARKER = ++YYCURSOR);
3674
101k
    if (yych <= 'O') {
3675
8.49k
      if (yych == 'A') goto yy289;
3676
6.07k
      if (yych <= 'N') goto yy48;
3677
973
      goto yy290;
3678
93.2k
    } else {
3679
93.2k
      if (yych <= 'a') {
3680
81.6k
        if (yych <= '`') goto yy48;
3681
81.0k
        goto yy289;
3682
81.6k
      } else {
3683
11.6k
        if (yych == 'o') goto yy290;
3684
3.07k
        goto yy48;
3685
11.6k
      }
3686
93.2k
    }
3687
70.7k
yy169:
3688
70.7k
    YYDEBUG(169, *YYCURSOR);
3689
70.7k
    yyaccept = 4;
3690
70.7k
    yych = *(YYMARKER = ++YYCURSOR);
3691
70.7k
    if (yych == 'N') goto yy291;
3692
63.8k
    if (yych == 'n') goto yy291;
3693
8.01k
    goto yy48;
3694
32.0k
yy170:
3695
32.0k
    YYDEBUG(170, *YYCURSOR);
3696
32.0k
    yyaccept = 4;
3697
32.0k
    yych = *(YYMARKER = ++YYCURSOR);
3698
32.0k
    if (yych <= 'F') {
3699
5.44k
      if (yych == 'C') goto yy292;
3700
3.65k
      if (yych <= 'E') goto yy48;
3701
825
      goto yy293;
3702
26.5k
    } else {
3703
26.5k
      if (yych <= 'c') {
3704
12.0k
        if (yych <= 'b') goto yy48;
3705
8.61k
        goto yy292;
3706
14.4k
      } else {
3707
14.4k
        if (yych == 'f') goto yy293;
3708
4.57k
        goto yy48;
3709
14.4k
      }
3710
26.5k
    }
3711
10.0k
yy171:
3712
10.0k
    YYDEBUG(171, *YYCURSOR);
3713
10.0k
    yyaccept = 4;
3714
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
3715
10.0k
    if (yych == 'E') goto yy294;
3716
8.74k
    if (yych == 'e') goto yy294;
3717
2.29k
    goto yy48;
3718
20.9k
yy172:
3719
20.9k
    YYDEBUG(172, *YYCURSOR);
3720
20.9k
    yyaccept = 9;
3721
20.9k
    yych = *(YYMARKER = ++YYCURSOR);
3722
20.9k
    if (yybm[256+yych] & 128) {
3723
16.2k
      goto yy47;
3724
16.2k
    }
3725
4.78k
    if (yych == '\\') goto yy164;
3726
4.74k
yy173:
3727
4.74k
    YYDEBUG(173, *YYCURSOR);
3728
4.74k
    yyleng = YYCURSOR - SCNG(yy_text);
3729
4.74k
#line 1477 "Zend/zend_language_scanner.l"
3730
4.74k
    {
3731
4.74k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3732
4.74k
}
3733
0
#line 3734 "Zend/zend_language_scanner.c"
3734
91.9k
yy174:
3735
91.9k
    YYDEBUG(174, *YYCURSOR);
3736
91.9k
    yyaccept = 4;
3737
91.9k
    yych = *(YYMARKER = ++YYCURSOR);
3738
91.9k
    if (yych == 'H') goto yy296;
3739
91.6k
    if (yych == 'h') goto yy296;
3740
6.25k
    goto yy48;
3741
21.7k
yy175:
3742
21.7k
    YYDEBUG(175, *YYCURSOR);
3743
21.7k
    yyaccept = 4;
3744
21.7k
    yych = *(YYMARKER = ++YYCURSOR);
3745
21.7k
    if (yych == 'S') goto yy297;
3746
20.3k
    if (yych == 's') goto yy297;
3747
7.45k
    goto yy48;
3748
19.8k
yy176:
3749
19.8k
    YYDEBUG(176, *YYCURSOR);
3750
19.8k
    yyaccept = 4;
3751
19.8k
    yych = *(YYMARKER = ++YYCURSOR);
3752
19.8k
    if (yych == 'P') goto yy298;
3753
11.8k
    if (yych == 'p') goto yy298;
3754
7.99k
    goto yy48;
3755
294k
yy177:
3756
294k
    YYDEBUG(177, *YYCURSOR);
3757
294k
    yyaccept = 4;
3758
294k
    yych = *(YYMARKER = ++YYCURSOR);
3759
294k
    if (yych <= 'U') {
3760
38.8k
      if (yych == 'D') goto yy299;
3761
11.0k
      if (yych <= 'T') goto yy48;
3762
3.67k
      goto yy300;
3763
255k
    } else {
3764
255k
      if (yych <= 'd') {
3765
37.1k
        if (yych <= 'c') goto yy48;
3766
34.7k
        goto yy299;
3767
218k
      } else {
3768
218k
        if (yych == 'u') goto yy300;
3769
11.8k
        goto yy48;
3770
218k
      }
3771
255k
    }
3772
7.70k
yy178:
3773
7.70k
    YYDEBUG(178, *YYCURSOR);
3774
7.70k
    yyaccept = 4;
3775
7.70k
    yych = *(YYMARKER = ++YYCURSOR);
3776
7.70k
    if (yych == 'A') goto yy301;
3777
7.35k
    if (yych == 'a') goto yy301;
3778
1.70k
    goto yy48;
3779
71.9k
yy179:
3780
71.9k
    YYDEBUG(179, *YYCURSOR);
3781
71.9k
    yyaccept = 4;
3782
71.9k
    yych = *(YYMARKER = ++YYCURSOR);
3783
71.9k
    if (yych <= 'T') {
3784
13.6k
      if (yych == 'I') goto yy302;
3785
12.8k
      if (yych <= 'S') goto yy48;
3786
1.66k
      goto yy303;
3787
58.2k
    } else {
3788
58.2k
      if (yych <= 'i') {
3789
30.0k
        if (yych <= 'h') goto yy48;
3790
2.85k
        goto yy302;
3791
30.0k
      } else {
3792
28.2k
        if (yych == 't') goto yy303;
3793
2.11k
        goto yy48;
3794
28.2k
      }
3795
58.2k
    }
3796
28.4k
yy180:
3797
28.4k
    YYDEBUG(180, *YYCURSOR);
3798
28.4k
    yyaccept = 4;
3799
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
3800
28.4k
    if (yych == 'N') goto yy304;
3801
27.3k
    if (yych == 'n') goto yy304;
3802
9.24k
    goto yy48;
3803
22.8k
yy181:
3804
22.8k
    YYDEBUG(181, *YYCURSOR);
3805
22.8k
    yyaccept = 10;
3806
22.8k
    yych = *(YYMARKER = ++YYCURSOR);
3807
22.8k
    if (yybm[256+yych] & 128) {
3808
2.86k
      goto yy47;
3809
2.86k
    }
3810
19.9k
    if (yych == '\\') goto yy164;
3811
19.9k
yy182:
3812
19.9k
    YYDEBUG(182, *YYCURSOR);
3813
19.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3814
19.9k
#line 1406 "Zend/zend_language_scanner.l"
3815
19.9k
    {
3816
19.9k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3817
19.9k
}
3818
0
#line 3819 "Zend/zend_language_scanner.c"
3819
118k
yy183:
3820
118k
    YYDEBUG(183, *YYCURSOR);
3821
118k
    yyaccept = 4;
3822
118k
    yych = *(YYMARKER = ++YYCURSOR);
3823
118k
    if (yych == 'R') goto yy305;
3824
116k
    if (yych == 'r') goto yy305;
3825
59.6k
    goto yy48;
3826
127k
yy184:
3827
127k
    YYDEBUG(184, *YYCURSOR);
3828
127k
    yyaccept = 4;
3829
127k
    yych = *(YYMARKER = ++YYCURSOR);
3830
127k
    if (yych == 'N') goto yy307;
3831
125k
    if (yych == 'n') goto yy307;
3832
3.31k
    goto yy48;
3833
9.78k
yy185:
3834
9.78k
    YYDEBUG(185, *YYCURSOR);
3835
9.78k
    yyaccept = 4;
3836
9.78k
    yych = *(YYMARKER = ++YYCURSOR);
3837
9.78k
    if (yych == 'O') goto yy308;
3838
7.48k
    if (yych == 'o') goto yy308;
3839
1.51k
    goto yy48;
3840
9.18k
yy186:
3841
9.18k
    YYDEBUG(186, *YYCURSOR);
3842
9.18k
    yyaccept = 4;
3843
9.18k
    yych = *(YYMARKER = ++YYCURSOR);
3844
9.18k
    if (yych == 'T') goto yy309;
3845
8.08k
    if (yych == 't') goto yy309;
3846
2.18k
    goto yy48;
3847
24.1k
yy187:
3848
24.1k
    YYDEBUG(187, *YYCURSOR);
3849
24.1k
    yyaccept = 11;
3850
24.1k
    yych = *(YYMARKER = ++YYCURSOR);
3851
24.1k
    if (yybm[256+yych] & 128) {
3852
2.04k
      goto yy47;
3853
2.04k
    }
3854
22.1k
    if (yych == '\\') goto yy164;
3855
21.8k
yy188:
3856
21.8k
    YYDEBUG(188, *YYCURSOR);
3857
21.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3858
21.8k
#line 1453 "Zend/zend_language_scanner.l"
3859
21.8k
    {
3860
21.8k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3861
21.8k
}
3862
0
#line 3863 "Zend/zend_language_scanner.c"
3863
48.9k
yy189:
3864
48.9k
    YYDEBUG(189, *YYCURSOR);
3865
48.9k
    yyaccept = 4;
3866
48.9k
    yych = *(YYMARKER = ++YYCURSOR);
3867
48.9k
    if (yych == 'P') goto yy310;
3868
45.8k
    if (yych == 'p') goto yy310;
3869
10.9k
    goto yy48;
3870
116k
yy190:
3871
116k
    YYDEBUG(190, *YYCURSOR);
3872
116k
    yyaccept = 4;
3873
116k
    yych = *(YYMARKER = ++YYCURSOR);
3874
116k
    if (yych <= 'T') {
3875
21.4k
      if (yych <= 'C') {
3876
9.63k
        if (yych <= 'B') goto yy48;
3877
1.21k
        goto yy311;
3878
11.7k
      } else {
3879
11.7k
        if (yych <= 'R') goto yy48;
3880
4.07k
        if (yych <= 'S') goto yy312;
3881
1.56k
        goto yy313;
3882
4.07k
      }
3883
95.3k
    } else {
3884
95.3k
      if (yych <= 'r') {
3885
38.2k
        if (yych == 'c') goto yy311;
3886
23.8k
        goto yy48;
3887
57.1k
      } else {
3888
57.1k
        if (yych <= 's') goto yy312;
3889
37.1k
        if (yych <= 't') goto yy313;
3890
4.27k
        goto yy48;
3891
37.1k
      }
3892
95.3k
    }
3893
33.8k
yy191:
3894
33.8k
    YYDEBUG(191, *YYCURSOR);
3895
33.8k
    yyaccept = 4;
3896
33.8k
    yych = *(YYMARKER = ++YYCURSOR);
3897
33.8k
    if (yych == 'S') goto yy314;
3898
33.4k
    if (yych == 's') goto yy314;
3899
13.9k
    goto yy48;
3900
13.9k
yy192:
3901
9.96k
    YYDEBUG(192, *YYCURSOR);
3902
9.96k
    yyaccept = 4;
3903
9.96k
    yych = *(YYMARKER = ++YYCURSOR);
3904
9.96k
    if (yych == 'S') goto yy315;
3905
9.36k
    if (yych == 's') goto yy315;
3906
3.87k
    goto yy48;
3907
11.4k
yy193:
3908
11.4k
    YYDEBUG(193, *YYCURSOR);
3909
11.4k
    yyaccept = 4;
3910
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
3911
11.4k
    if (yych == 'T') goto yy316;
3912
11.1k
    if (yych == 't') goto yy316;
3913
4.36k
    goto yy48;
3914
30.9k
yy194:
3915
30.9k
    YYDEBUG(194, *YYCURSOR);
3916
30.9k
    yyaccept = 4;
3917
30.9k
    yych = *(YYMARKER = ++YYCURSOR);
3918
30.9k
    if (yych == 'M') goto yy317;
3919
28.6k
    if (yych == 'm') goto yy317;
3920
2.57k
    goto yy48;
3921
95.9k
yy195:
3922
95.9k
    YYDEBUG(195, *YYCURSOR);
3923
95.9k
    yyaccept = 4;
3924
95.9k
    yych = *(YYMARKER = ++YYCURSOR);
3925
95.9k
    if (yych == 'W') goto yy318;
3926
95.1k
    if (yych == 'w') goto yy318;
3927
7.97k
    goto yy48;
3928
10.8k
yy196:
3929
10.8k
    YYDEBUG(196, *YYCURSOR);
3930
10.8k
    yyaccept = 12;
3931
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
3932
10.8k
    if (yybm[256+yych] & 128) {
3933
4.99k
      goto yy47;
3934
4.99k
    }
3935
5.88k
    if (yych == '\\') goto yy164;
3936
5.83k
yy197:
3937
5.83k
    YYDEBUG(197, *YYCURSOR);
3938
5.83k
    yyleng = YYCURSOR - SCNG(yy_text);
3939
5.83k
#line 1929 "Zend/zend_language_scanner.l"
3940
5.83k
    {
3941
5.83k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3942
5.83k
}
3943
0
#line 3944 "Zend/zend_language_scanner.c"
3944
64.0k
yy198:
3945
64.0k
    YYDEBUG(198, *YYCURSOR);
3946
64.0k
    yyaccept = 4;
3947
64.0k
    yych = *(YYMARKER = ++YYCURSOR);
3948
64.0k
    if (yych <= 'O') {
3949
6.26k
      if (yych == 'I') goto yy320;
3950
4.33k
      if (yych <= 'N') goto yy48;
3951
2.33k
      goto yy321;
3952
57.7k
    } else {
3953
57.7k
      if (yych <= 'i') {
3954
43.1k
        if (yych <= 'h') goto yy48;
3955
38.4k
        goto yy320;
3956
43.1k
      } else {
3957
14.6k
        if (yych == 'o') goto yy321;
3958
1.10k
        goto yy48;
3959
14.6k
      }
3960
57.7k
    }
3961
72.6k
yy199:
3962
72.6k
    YYDEBUG(199, *YYCURSOR);
3963
72.6k
    yyaccept = 4;
3964
72.6k
    yych = *(YYMARKER = ++YYCURSOR);
3965
72.6k
    if (yych == 'B') goto yy322;
3966
71.0k
    if (yych == 'b') goto yy322;
3967
4.58k
    goto yy48;
3968
98.0k
yy200:
3969
98.0k
    YYDEBUG(200, *YYCURSOR);
3970
98.0k
    yyaccept = 4;
3971
98.0k
    yych = *(YYMARKER = ++YYCURSOR);
3972
98.0k
    if (yych <= 'T') {
3973
11.2k
      if (yych <= 'P') {
3974
8.62k
        if (yych == 'A') goto yy323;
3975
8.00k
        goto yy48;
3976
8.62k
      } else {
3977
2.57k
        if (yych <= 'Q') goto yy324;
3978
771
        if (yych <= 'S') goto yy48;
3979
601
        goto yy325;
3980
771
      }
3981
86.8k
    } else {
3982
86.8k
      if (yych <= 'p') {
3983
18.6k
        if (yych == 'a') goto yy323;
3984
7.99k
        goto yy48;
3985
68.2k
      } else {
3986
68.2k
        if (yych <= 'q') goto yy324;
3987
38.7k
        if (yych == 't') goto yy325;
3988
7.81k
        goto yy48;
3989
38.7k
      }
3990
86.8k
    }
3991
63.9k
yy201:
3992
63.9k
    YYDEBUG(201, *YYCURSOR);
3993
63.9k
    yyaccept = 4;
3994
63.9k
    yych = *(YYMARKER = ++YYCURSOR);
3995
63.9k
    if (yych == 'A') goto yy326;
3996
62.3k
    if (yych == 'a') goto yy326;
3997
38.5k
    goto yy48;
3998
38.5k
yy202:
3999
10.4k
    YYDEBUG(202, *YYCURSOR);
4000
10.4k
    yyaccept = 4;
4001
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
4002
10.4k
    if (yych == 'I') goto yy327;
4003
8.69k
    if (yych == 'i') goto yy327;
4004
1.11k
    goto yy48;
4005
21.4k
yy203:
4006
21.4k
    YYDEBUG(203, *YYCURSOR);
4007
21.4k
    yyaccept = 4;
4008
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
4009
21.4k
    if (yych == 'R') goto yy328;
4010
21.0k
    if (yych == 'r') goto yy328;
4011
4.60k
    goto yy48;
4012
83.4k
yy204:
4013
83.4k
    YYDEBUG(204, *YYCURSOR);
4014
83.4k
    yyaccept = 4;
4015
83.4k
    yych = *(YYMARKER = ++YYCURSOR);
4016
83.4k
    if (yych <= 'Y') {
4017
6.31k
      if (yych == 'A') goto yy329;
4018
3.91k
      if (yych <= 'X') goto yy48;
4019
411
      goto yy330;
4020
77.1k
    } else {
4021
77.1k
      if (yych <= 'a') {
4022
12.1k
        if (yych <= '`') goto yy48;
4023
11.6k
        goto yy329;
4024
64.9k
      } else {
4025
64.9k
        if (yych == 'y') goto yy330;
4026
11.3k
        goto yy48;
4027
64.9k
      }
4028
77.1k
    }
4029
21.3k
yy205:
4030
21.3k
    YYDEBUG(205, *YYCURSOR);
4031
21.3k
    yyaccept = 4;
4032
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
4033
21.3k
    if (yych == 'S') goto yy332;
4034
20.1k
    if (yych == 's') goto yy332;
4035
4.67k
    goto yy48;
4036
16.7k
yy206:
4037
16.7k
    YYDEBUG(206, *YYCURSOR);
4038
16.7k
    yyaccept = 4;
4039
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
4040
16.7k
    if (yych == 'E') goto yy333;
4041
16.1k
    if (yych == 'e') goto yy333;
4042
1.47k
    goto yy48;
4043
110k
yy207:
4044
110k
    YYDEBUG(207, *YYCURSOR);
4045
110k
    yyaccept = 4;
4046
110k
    yych = *(YYMARKER = ++YYCURSOR);
4047
110k
    if (yych == 'R') goto yy335;
4048
110k
    if (yych == 'r') goto yy335;
4049
5.50k
    goto yy48;
4050
7.75k
yy208:
4051
7.75k
    YYDEBUG(208, *YYCURSOR);
4052
7.75k
    yyaccept = 4;
4053
7.75k
    yych = *(YYMARKER = ++YYCURSOR);
4054
7.75k
    if (yych == 'I') goto yy337;
4055
6.76k
    if (yych == 'i') goto yy337;
4056
1.23k
    goto yy48;
4057
6.72k
yy209:
4058
6.72k
    YYDEBUG(209, *YYCURSOR);
4059
6.72k
    yyaccept = 4;
4060
6.72k
    yych = *(YYMARKER = ++YYCURSOR);
4061
6.72k
    if (yych == 'R') goto yy338;
4062
5.81k
    if (yych == 'r') goto yy338;
4063
1.02k
    goto yy48;
4064
119k
yy210:
4065
119k
    YYDEBUG(210, *YYCURSOR);
4066
119k
    yyaccept = 4;
4067
119k
    yych = *(YYMARKER = ++YYCURSOR);
4068
119k
    if (yych == 'E') goto yy340;
4069
116k
    if (yych == 'e') goto yy340;
4070
6.28k
    goto yy48;
4071
313k
yy211:
4072
313k
    YYDEBUG(211, *YYCURSOR);
4073
313k
    yyaccept = 13;
4074
313k
    YYMARKER = ++YYCURSOR;
4075
313k
    YYFILL(1);
4076
313k
    yych = *YYCURSOR;
4077
313k
    YYDEBUG(212, *YYCURSOR);
4078
313k
    if (yych <= '\\') {
4079
105k
      if (yych <= '@') {
4080
52.3k
        if (yych <= '/') goto yy213;
4081
24.2k
        if (yych <= '9') goto yy211;
4082
53.3k
      } else {
4083
53.3k
        if (yych <= 'Z') goto yy211;
4084
17.9k
        if (yych >= '\\') goto yy341;
4085
17.9k
      }
4086
207k
    } else {
4087
207k
      if (yych <= '`') {
4088
8.17k
        if (yych == '_') goto yy211;
4089
199k
      } else {
4090
199k
        if (yych <= 'z') goto yy211;
4091
74.3k
        if (yych >= 0x80) goto yy211;
4092
74.3k
      }
4093
207k
    }
4094
58.2k
yy213:
4095
58.2k
    YYDEBUG(213, *YYCURSOR);
4096
58.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4097
58.2k
#line 2446 "Zend/zend_language_scanner.l"
4098
58.2k
    {
4099
58.2k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4100
58.2k
}
4101
0
#line 4102 "Zend/zend_language_scanner.c"
4102
511
yy214:
4103
511
    YYDEBUG(214, *YYCURSOR);
4104
511
    ++YYCURSOR;
4105
511
    YYDEBUG(215, *YYCURSOR);
4106
511
    yyleng = YYCURSOR - SCNG(yy_text);
4107
511
#line 1909 "Zend/zend_language_scanner.l"
4108
511
    {
4109
511
  RETURN_TOKEN(T_XOR_EQUAL);
4110
511
}
4111
0
#line 4112 "Zend/zend_language_scanner.c"
4112
146k
yy216:
4113
146k
    YYDEBUG(216, *YYCURSOR);
4114
146k
    yyaccept = 4;
4115
146k
    yych = *(YYMARKER = ++YYCURSOR);
4116
146k
    switch (yych) {
4117
3.99k
    case 'C':
4118
21.2k
    case 'c': goto yy342;
4119
5.42k
    case 'D':
4120
13.2k
    case 'd': goto yy343;
4121
10.9k
    case 'F':
4122
22.4k
    case 'f': goto yy344;
4123
1.68k
    case 'H':
4124
11.0k
    case 'h': goto yy345;
4125
3.64k
    case 'L':
4126
7.28k
    case 'l': goto yy346;
4127
13.0k
    case 'M':
4128
18.6k
    case 'm': goto yy347;
4129
6.55k
    case 'N':
4130
11.0k
    case 'n': goto yy348;
4131
5.77k
    case 'P':
4132
6.96k
    case 'p': goto yy349;
4133
1.62k
    case 'T':
4134
9.24k
    case 't': goto yy350;
4135
24.8k
    default:  goto yy48;
4136
146k
    }
4137
2.10k
yy217:
4138
2.10k
    YYDEBUG(217, *YYCURSOR);
4139
2.10k
    ++YYCURSOR;
4140
2.10k
    YYDEBUG(218, *YYCURSOR);
4141
2.10k
    yyleng = YYCURSOR - SCNG(yy_text);
4142
2.10k
#line 1905 "Zend/zend_language_scanner.l"
4143
2.10k
    {
4144
2.10k
  RETURN_TOKEN(T_OR_EQUAL);
4145
2.10k
}
4146
0
#line 4147 "Zend/zend_language_scanner.c"
4147
6.94k
yy219:
4148
6.94k
    YYDEBUG(219, *YYCURSOR);
4149
6.94k
    ++YYCURSOR;
4150
6.94k
    YYDEBUG(220, *YYCURSOR);
4151
6.94k
    yyleng = YYCURSOR - SCNG(yy_text);
4152
6.94k
#line 1917 "Zend/zend_language_scanner.l"
4153
6.94k
    {
4154
6.94k
  RETURN_TOKEN(T_PIPE);
4155
6.94k
}
4156
0
#line 4157 "Zend/zend_language_scanner.c"
4157
20.6k
yy221:
4158
20.6k
    YYDEBUG(221, *YYCURSOR);
4159
20.6k
    ++YYCURSOR;
4160
20.6k
    YYDEBUG(222, *YYCURSOR);
4161
20.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4162
20.6k
#line 1921 "Zend/zend_language_scanner.l"
4163
20.6k
    {
4164
20.6k
  RETURN_TOKEN(T_BOOLEAN_OR);
4165
20.6k
}
4166
0
#line 4167 "Zend/zend_language_scanner.c"
4167
1.80k
yy223:
4168
1.80k
    YYDEBUG(223, *YYCURSOR);
4169
1.80k
    ++YYCURSOR;
4170
1.80k
    YYDEBUG(224, *YYCURSOR);
4171
1.80k
    yyleng = YYCURSOR - SCNG(yy_text);
4172
1.80k
#line 1837 "Zend/zend_language_scanner.l"
4173
1.80k
    {
4174
1.80k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4175
1.80k
}
4176
0
#line 4177 "Zend/zend_language_scanner.c"
4177
777k
yy225:
4178
777k
    YYDEBUG(225, *YYCURSOR);
4179
777k
    ++YYCURSOR;
4180
777k
    YYFILL(1);
4181
777k
    yych = *YYCURSOR;
4182
777k
    YYDEBUG(226, *YYCURSOR);
4183
777k
    if (yybm[0+yych] & 2) {
4184
598k
      goto yy225;
4185
598k
    }
4186
179k
    if (yych <= 0x00) goto yy86;
4187
171k
    goto yy84;
4188
212k
yy227:
4189
212k
    YYDEBUG(227, *YYCURSOR);
4190
212k
    ++YYCURSOR;
4191
212k
    YYFILL(1);
4192
212k
    yych = *YYCURSOR;
4193
212k
    YYDEBUG(228, *YYCURSOR);
4194
212k
    if (yych <= 0x1F) {
4195
14.9k
      if (yych <= '\t') {
4196
1.68k
        if (yych <= 0x00) goto yy86;
4197
1.14k
        if (yych <= 0x08) goto yy225;
4198
257
        goto yy227;
4199
13.3k
      } else {
4200
13.3k
        if (yych <= '\n') goto yy84;
4201
11.5k
        if (yych == '\r') goto yy84;
4202
9.63k
        goto yy225;
4203
11.5k
      }
4204
197k
    } else {
4205
197k
      if (yych <= '$') {
4206
19.3k
        if (yych <= ' ') goto yy227;
4207
18.5k
        if (yych <= '"') goto yy225;
4208
18.1k
        if (yych <= '#') goto yy351;
4209
5.93k
        goto yy352;
4210
177k
      } else {
4211
177k
        if (yych <= '-') goto yy225;
4212
77.2k
        if (yych <= '.') goto yy353;
4213
56.5k
        if (yych <= '/') goto yy354;
4214
29.9k
        goto yy225;
4215
56.5k
      }
4216
197k
    }
4217
2.37k
yy229:
4218
2.37k
    YYDEBUG(229, *YYCURSOR);
4219
2.37k
    yych = *++YYCURSOR;
4220
2.37k
    if (yych == '.') goto yy88;
4221
1.26k
    goto yy86;
4222
524k
yy230:
4223
524k
    YYDEBUG(230, *YYCURSOR);
4224
524k
    ++YYCURSOR;
4225
524k
    YYFILL(1);
4226
524k
    yych = *YYCURSOR;
4227
524k
    YYDEBUG(231, *YYCURSOR);
4228
524k
    if (yybm[0+yych] & 4) {
4229
501k
      goto yy230;
4230
501k
    }
4231
22.3k
    if (yych <= 0x00) goto yy86;
4232
13.9k
    goto yy355;
4233
17.9k
yy232:
4234
17.9k
    YYDEBUG(232, *YYCURSOR);
4235
17.9k
    yych = *++YYCURSOR;
4236
17.9k
    if (yych == 'R') goto yy357;
4237
17.4k
    if (yych == 'r') goto yy357;
4238
5.50k
    goto yy86;
4239
5.50k
yy233:
4240
3.62k
    YYDEBUG(233, *YYCURSOR);
4241
3.62k
    yych = *++YYCURSOR;
4242
3.62k
    if (yych == 'N') goto yy358;
4243
3.39k
    if (yych == 'n') goto yy358;
4244
966
    goto yy86;
4245
5.38k
yy234:
4246
5.38k
    YYDEBUG(234, *YYCURSOR);
4247
5.38k
    yych = *++YYCURSOR;
4248
5.38k
    if (yych == 'O') goto yy359;
4249
5.14k
    if (yych == 'o') goto yy359;
4250
1.14k
    goto yy86;
4251
4.26k
yy235:
4252
4.26k
    YYDEBUG(235, *YYCURSOR);
4253
4.26k
    yych = *++YYCURSOR;
4254
4.26k
    if (yych == 'U') goto yy360;
4255
4.18k
    if (yych == 'u') goto yy360;
4256
483
    goto yy86;
4257
3.95k
yy236:
4258
3.95k
    YYDEBUG(236, *YYCURSOR);
4259
3.95k
    yych = *++YYCURSOR;
4260
3.95k
    if (yych == 'O') goto yy361;
4261
2.36k
    if (yych == 'o') goto yy361;
4262
562
    goto yy86;
4263
13.8k
yy237:
4264
13.8k
    YYDEBUG(237, *YYCURSOR);
4265
13.8k
    yych = *++YYCURSOR;
4266
13.8k
    if (yych == 'T') goto yy362;
4267
12.9k
    if (yych == 't') goto yy362;
4268
3.40k
    goto yy86;
4269
6.31k
yy238:
4270
6.31k
    YYDEBUG(238, *YYCURSOR);
4271
6.31k
    yych = *++YYCURSOR;
4272
6.31k
    if (yych == 'J') goto yy363;
4273
6.03k
    if (yych == 'j') goto yy363;
4274
1.02k
    goto yy86;
4275
6.11k
yy239:
4276
6.11k
    YYDEBUG(239, *YYCURSOR);
4277
6.11k
    yych = *++YYCURSOR;
4278
6.11k
    if (yych == 'A') goto yy364;
4279
5.39k
    if (yych == 'a') goto yy364;
4280
3.59k
    goto yy86;
4281
14.3k
yy240:
4282
14.3k
    YYDEBUG(240, *YYCURSOR);
4283
14.3k
    yych = *++YYCURSOR;
4284
14.3k
    if (yych == 'R') goto yy365;
4285
13.9k
    if (yych == 'r') goto yy365;
4286
1.53k
    goto yy86;
4287
5.14k
yy241:
4288
5.14k
    YYDEBUG(241, *YYCURSOR);
4289
5.14k
    yych = *++YYCURSOR;
4290
5.14k
    if (yych == 'S') goto yy366;
4291
4.42k
    if (yych == 's') goto yy366;
4292
1.52k
    goto yy86;
4293
2.25k
yy242:
4294
2.25k
    YYDEBUG(242, *YYCURSOR);
4295
2.25k
    yych = *++YYCURSOR;
4296
2.25k
    if (yych == 'I') goto yy367;
4297
1.99k
    if (yych == 'i') goto yy367;
4298
342
    goto yy86;
4299
763
yy243:
4300
763
    YYDEBUG(243, *YYCURSOR);
4301
763
    ++YYCURSOR;
4302
763
    YYDEBUG(244, *YYCURSOR);
4303
763
    yyleng = YYCURSOR - SCNG(yy_text);
4304
763
#line 1877 "Zend/zend_language_scanner.l"
4305
763
    {
4306
763
  RETURN_TOKEN(T_POW_EQUAL);
4307
763
}
4308
0
#line 4309 "Zend/zend_language_scanner.c"
4309
49.8k
yy245:
4310
49.8k
    YYDEBUG(245, *YYCURSOR);
4311
49.8k
    ++YYCURSOR;
4312
49.8k
    YYDEBUG(246, *YYCURSOR);
4313
49.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4314
49.8k
#line 1617 "Zend/zend_language_scanner.l"
4315
49.8k
    {
4316
49.8k
  RETURN_TOKEN(T_ELLIPSIS);
4317
49.8k
}
4318
0
#line 4319 "Zend/zend_language_scanner.c"
4319
2.71k
yy247:
4320
2.71k
    YYDEBUG(247, *YYCURSOR);
4321
2.71k
    ++YYCURSOR;
4322
2.71k
    YYFILL(1);
4323
2.71k
    yych = *YYCURSOR;
4324
2.71k
    if (yych <= '/') goto yy86;
4325
1.56k
    if (yych <= '9') goto yy123;
4326
798
    goto yy86;
4327
10.6k
yy248:
4328
10.6k
    YYDEBUG(248, *YYCURSOR);
4329
10.6k
    yych = *++YYCURSOR;
4330
10.6k
    if (yych <= '\f') {
4331
5.11k
      if (yych <= 0x08) goto yy86;
4332
4.66k
      if (yych <= '\n') goto yy368;
4333
386
      goto yy86;
4334
5.50k
    } else {
4335
5.50k
      if (yych <= '\r') goto yy368;
4336
5.04k
      if (yych == ' ') goto yy368;
4337
3.12k
      goto yy86;
4338
5.04k
    }
4339
80.5k
yy249:
4340
80.5k
    YYDEBUG(249, *YYCURSOR);
4341
80.5k
    yyaccept = 14;
4342
80.5k
    YYMARKER = ++YYCURSOR;
4343
80.5k
    YYFILL(1);
4344
80.5k
    yych = *YYCURSOR;
4345
80.5k
    YYDEBUG(250, *YYCURSOR);
4346
80.5k
    if (yybm[0+yych] & 8) {
4347
76.0k
      goto yy249;
4348
76.0k
    }
4349
4.47k
    if (yych == '_') goto yy134;
4350
3.32k
yy251:
4351
3.32k
    YYDEBUG(251, *YYCURSOR);
4352
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
4353
3.32k
#line 2010 "Zend/zend_language_scanner.l"
4354
3.32k
    {
4355
  /* The +/- 2 skips "0b" */
4356
3.32k
  size_t len = yyleng - 2;
4357
3.32k
  char *end, *bin = yytext + 2;
4358
3.32k
  bool contains_underscores;
4359
4360
  /* Skip any leading 0s */
4361
5.34k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4362
2.02k
    ++bin;
4363
2.02k
    --len;
4364
2.02k
  }
4365
4366
3.32k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4367
4368
3.32k
  if (contains_underscores) {
4369
760
    bin = estrndup(bin, len);
4370
760
    strip_underscores(bin, &len);
4371
760
  }
4372
4373
3.32k
  if (len < SIZEOF_ZEND_LONG * 8) {
4374
2.82k
    if (len == 0) {
4375
734
      ZVAL_LONG(zendlval, 0);
4376
2.08k
    } else {
4377
2.08k
      errno = 0;
4378
2.08k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4379
2.08k
      ZEND_ASSERT(!errno && end == bin + len);
4380
2.08k
    }
4381
2.82k
    if (contains_underscores) {
4382
517
      efree(bin);
4383
517
    }
4384
2.82k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4385
2.82k
  } else {
4386
501
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4387
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4388
501
    ZEND_ASSERT(end == bin + len);
4389
501
    if (contains_underscores) {
4390
243
      efree(bin);
4391
243
    }
4392
501
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4393
501
  }
4394
3.32k
}
4395
0
#line 4396 "Zend/zend_language_scanner.c"
4396
14.4k
yy252:
4397
14.4k
    YYDEBUG(252, *YYCURSOR);
4398
14.4k
    ++YYCURSOR;
4399
14.4k
    YYFILL(1);
4400
14.4k
    yych = *YYCURSOR;
4401
14.4k
    if (yych <= '/') goto yy86;
4402
13.1k
    if (yych >= ':') goto yy86;
4403
120k
yy253:
4404
120k
    YYDEBUG(253, *YYCURSOR);
4405
120k
    yyaccept = 5;
4406
120k
    YYMARKER = ++YYCURSOR;
4407
120k
    YYFILL(1);
4408
120k
    yych = *YYCURSOR;
4409
120k
    YYDEBUG(254, *YYCURSOR);
4410
120k
    if (yych <= '/') goto yy125;
4411
101k
    if (yych <= '9') goto yy253;
4412
15.5k
    if (yych == '_') goto yy252;
4413
14.1k
    goto yy125;
4414
15.1k
yy255:
4415
15.1k
    YYDEBUG(255, *YYCURSOR);
4416
15.1k
    yyaccept = 15;
4417
15.1k
    YYMARKER = ++YYCURSOR;
4418
15.1k
    YYFILL(1);
4419
15.1k
    yych = *YYCURSOR;
4420
15.1k
    YYDEBUG(256, *YYCURSOR);
4421
15.1k
    if (yybm[0+yych] & 16) {
4422
12.4k
      goto yy255;
4423
12.4k
    }
4424
2.79k
    if (yych == '_') goto yy136;
4425
2.32k
yy257:
4426
2.32k
    YYDEBUG(257, *YYCURSOR);
4427
2.32k
    yyleng = YYCURSOR - SCNG(yy_text);
4428
2.32k
#line 2052 "Zend/zend_language_scanner.l"
4429
2.32k
    {
4430
  /* The +/- 2 skips "0o" */
4431
2.32k
  size_t len = yyleng - 2;
4432
2.32k
  char *end, *octal = yytext + 2;
4433
2.32k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4434
4435
  /* Skip any leading 0s */
4436
3.58k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4437
1.26k
    ++octal;
4438
1.26k
    --len;
4439
1.26k
  }
4440
4441
2.32k
  if (len == 0) {
4442
601
    ZVAL_LONG(zendlval, 0);
4443
601
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4444
601
  }
4445
4446
1.72k
  if (contains_underscores) {
4447
289
    octal = estrndup(octal, len);
4448
289
    strip_underscores(octal, &len);
4449
289
  }
4450
4451
1.72k
  errno = 0;
4452
4453
1.72k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4454
4455
1.72k
  ZEND_ASSERT(end == octal + len);
4456
4457
1.72k
  if (!errno) {
4458
1.28k
    if (contains_underscores) {
4459
86
      efree(octal);
4460
86
    }
4461
1.28k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4462
1.28k
  }
4463
4464
  /* Overflow */
4465
444
  ZEND_ASSERT(errno == ERANGE);
4466
  /* Reset errno */
4467
444
  errno = 0;
4468
4469
  /* zend_oct_strtod skips leading '0' */
4470
444
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4471
444
  ZEND_ASSERT(!errno);
4472
444
  ZEND_ASSERT(end == octal + len);
4473
444
  if (contains_underscores) {
4474
203
    efree(octal);
4475
203
  }
4476
444
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4477
444
}
4478
0
#line 4479 "Zend/zend_language_scanner.c"
4479
55.0k
yy258:
4480
55.0k
    YYDEBUG(258, *YYCURSOR);
4481
55.0k
    yyaccept = 16;
4482
55.0k
    YYMARKER = ++YYCURSOR;
4483
55.0k
    YYFILL(1);
4484
55.0k
    yych = *YYCURSOR;
4485
55.0k
    YYDEBUG(259, *YYCURSOR);
4486
55.0k
    if (yybm[0+yych] & 32) {
4487
46.4k
      goto yy258;
4488
46.4k
    }
4489
8.61k
    if (yych == '_') goto yy137;
4490
6.92k
yy260:
4491
6.92k
    YYDEBUG(260, *YYCURSOR);
4492
6.92k
    yyleng = YYCURSOR - SCNG(yy_text);
4493
6.92k
#line 2165 "Zend/zend_language_scanner.l"
4494
6.92k
    {
4495
  /* The +/- 2 skips "0x" */
4496
6.92k
  size_t len = yyleng - 2;
4497
6.92k
  char *end, *hex = yytext + 2;
4498
6.92k
  bool contains_underscores;
4499
4500
  /* Skip any leading 0s */
4501
13.8k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4502
6.89k
    ++hex;
4503
6.89k
    --len;
4504
6.89k
  }
4505
4506
6.92k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4507
4508
6.92k
  if (contains_underscores) {
4509
1.22k
    hex = estrndup(hex, len);
4510
1.22k
    strip_underscores(hex, &len);
4511
1.22k
  }
4512
4513
6.92k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4514
5.51k
    if (len == 0) {
4515
1.52k
      ZVAL_LONG(zendlval, 0);
4516
3.99k
    } else {
4517
3.99k
      errno = 0;
4518
3.99k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4519
3.99k
      ZEND_ASSERT(!errno && end == hex + len);
4520
3.99k
    }
4521
5.51k
    if (contains_underscores) {
4522
842
      efree(hex);
4523
842
    }
4524
5.51k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4525
5.51k
  } else {
4526
1.40k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4527
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4528
1.40k
    ZEND_ASSERT(end == hex + len);
4529
1.40k
    if (contains_underscores) {
4530
380
      efree(hex);
4531
380
    }
4532
1.40k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4533
1.40k
  }
4534
6.92k
}
4535
0
#line 4536 "Zend/zend_language_scanner.c"
4536
5.00M
yy261:
4537
5.00M
    YYDEBUG(261, *YYCURSOR);
4538
5.00M
    ++YYCURSOR;
4539
5.00M
    YYFILL(2);
4540
5.00M
    yych = *YYCURSOR;
4541
5.00M
    YYDEBUG(262, *YYCURSOR);
4542
5.00M
    if (yych <= '\'') {
4543
99.1k
      if (yych <= ' ') {
4544
67.4k
        if (yych == '\t') goto yy261;
4545
49.7k
        if (yych <= 0x1F) goto yy86;
4546
22.7k
        goto yy261;
4547
49.7k
      } else {
4548
31.7k
        if (yych == '"') goto yy370;
4549
25.0k
        if (yych <= '&') goto yy86;
4550
14.4k
        goto yy371;
4551
25.0k
      }
4552
4.90M
    } else {
4553
4.90M
      if (yych <= '_') {
4554
580k
        if (yych <= '@') goto yy86;
4555
484k
        if (yych <= 'Z') goto yy372;
4556
9.67k
        if (yych <= '^') goto yy86;
4557
7.83k
        goto yy372;
4558
4.32M
      } else {
4559
4.32M
        if (yych <= '`') goto yy86;
4560
4.31M
        if (yych <= 'z') goto yy372;
4561
2.62M
        if (yych <= 0x7F) goto yy86;
4562
2.62M
        goto yy372;
4563
2.62M
      }
4564
4.90M
    }
4565
2.62k
yy263:
4566
2.62k
    YYDEBUG(263, *YYCURSOR);
4567
2.62k
    ++YYCURSOR;
4568
2.62k
    YYDEBUG(264, *YYCURSOR);
4569
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
4570
2.62k
#line 1893 "Zend/zend_language_scanner.l"
4571
2.62k
    {
4572
2.62k
  RETURN_TOKEN(T_SL_EQUAL);
4573
2.62k
}
4574
0
#line 4575 "Zend/zend_language_scanner.c"
4575
453
yy265:
4576
453
    YYDEBUG(265, *YYCURSOR);
4577
453
    ++YYCURSOR;
4578
453
    YYDEBUG(266, *YYCURSOR);
4579
453
    yyleng = YYCURSOR - SCNG(yy_text);
4580
453
#line 1849 "Zend/zend_language_scanner.l"
4581
453
    {
4582
453
  RETURN_TOKEN(T_SPACESHIP);
4583
453
}
4584
0
#line 4585 "Zend/zend_language_scanner.c"
4585
23.9k
yy267:
4586
23.9k
    YYDEBUG(267, *YYCURSOR);
4587
23.9k
    ++YYCURSOR;
4588
23.9k
    YYDEBUG(268, *YYCURSOR);
4589
23.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4590
23.9k
#line 1833 "Zend/zend_language_scanner.l"
4591
23.9k
    {
4592
23.9k
  RETURN_TOKEN(T_IS_IDENTICAL);
4593
23.9k
}
4594
0
#line 4595 "Zend/zend_language_scanner.c"
4595
1.32k
yy269:
4596
1.32k
    YYDEBUG(269, *YYCURSOR);
4597
1.32k
    ++YYCURSOR;
4598
1.32k
    YYDEBUG(270, *YYCURSOR);
4599
1.32k
    yyleng = YYCURSOR - SCNG(yy_text);
4600
1.32k
#line 1897 "Zend/zend_language_scanner.l"
4601
1.32k
    {
4602
1.32k
  RETURN_TOKEN(T_SR_EQUAL);
4603
1.32k
}
4604
0
#line 4605 "Zend/zend_language_scanner.c"
4605
36.7k
yy271:
4606
36.7k
    YYDEBUG(271, *YYCURSOR);
4607
36.7k
    ++YYCURSOR;
4608
36.7k
    YYDEBUG(272, *YYCURSOR);
4609
36.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4610
36.7k
#line 1591 "Zend/zend_language_scanner.l"
4611
36.7k
    {
4612
36.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4613
36.7k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4614
36.7k
}
4615
0
#line 4616 "Zend/zend_language_scanner.c"
4616
7.39k
yy273:
4617
7.39k
    YYDEBUG(273, *YYCURSOR);
4618
7.39k
    ++YYCURSOR;
4619
7.39k
    goto yy156;
4620
2.08k
yy274:
4621
2.08k
    YYDEBUG(274, *YYCURSOR);
4622
2.08k
    yych = *++YYCURSOR;
4623
2.08k
    if (yych == '\n') goto yy273;
4624
1.68k
    goto yy156;
4625
8.00k
yy275:
4626
8.00k
    YYDEBUG(275, *YYCURSOR);
4627
8.00k
    ++YYCURSOR;
4628
8.00k
    YYDEBUG(276, *YYCURSOR);
4629
8.00k
    yyleng = YYCURSOR - SCNG(yy_text);
4630
8.00k
#line 1913 "Zend/zend_language_scanner.l"
4631
8.00k
    {
4632
8.00k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4633
8.00k
}
4634
0
#line 4635 "Zend/zend_language_scanner.c"
4635
9.31k
yy277:
4636
9.31k
    YYDEBUG(277, *YYCURSOR);
4637
9.31k
    yyaccept = 4;
4638
9.31k
    yych = *(YYMARKER = ++YYCURSOR);
4639
9.31k
    if (yych == 'T') goto yy374;
4640
7.04k
    if (yych == 't') goto yy374;
4641
464
    goto yy48;
4642
8.38k
yy278:
4643
8.38k
    YYDEBUG(278, *YYCURSOR);
4644
8.38k
    yyaccept = 17;
4645
8.38k
    yych = *(YYMARKER = ++YYCURSOR);
4646
8.38k
    if (yybm[256+yych] & 128) {
4647
345
      goto yy47;
4648
345
    }
4649
8.04k
    if (yych == '\\') goto yy164;
4650
8.03k
yy279:
4651
8.03k
    YYDEBUG(279, *YYCURSOR);
4652
8.03k
    yyleng = YYCURSOR - SCNG(yy_text);
4653
8.03k
#line 1933 "Zend/zend_language_scanner.l"
4654
8.03k
    {
4655
8.03k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4656
8.03k
}
4657
0
#line 4658 "Zend/zend_language_scanner.c"
4658
29.4k
yy280:
4659
29.4k
    YYDEBUG(280, *YYCURSOR);
4660
29.4k
    yyaccept = 4;
4661
29.4k
    yych = *(YYMARKER = ++YYCURSOR);
4662
29.4k
    if (yych == 'A') goto yy375;
4663
28.9k
    if (yych == 'a') goto yy375;
4664
2.74k
    goto yy48;
4665
178k
yy281:
4666
178k
    YYDEBUG(281, *YYCURSOR);
4667
178k
    yyaccept = 18;
4668
178k
    YYMARKER = ++YYCURSOR;
4669
178k
    YYFILL(1);
4670
178k
    yych = *YYCURSOR;
4671
178k
    YYDEBUG(282, *YYCURSOR);
4672
178k
    if (yych <= '\\') {
4673
82.5k
      if (yych <= '@') {
4674
43.4k
        if (yych <= '/') goto yy283;
4675
24.8k
        if (yych <= '9') goto yy281;
4676
39.0k
      } else {
4677
39.0k
        if (yych <= 'Z') goto yy281;
4678
11.0k
        if (yych >= '\\') goto yy164;
4679
11.0k
      }
4680
96.3k
    } else {
4681
96.3k
      if (yych <= '`') {
4682
3.98k
        if (yych == '_') goto yy281;
4683
92.3k
      } else {
4684
92.3k
        if (yych <= 'z') goto yy281;
4685
49.4k
        if (yych >= 0x80) goto yy281;
4686
49.4k
      }
4687
96.3k
    }
4688
34.3k
yy283:
4689
34.3k
    YYDEBUG(283, *YYCURSOR);
4690
34.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4691
34.3k
#line 2442 "Zend/zend_language_scanner.l"
4692
34.3k
    {
4693
34.3k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4694
34.3k
}
4695
0
#line 4696 "Zend/zend_language_scanner.c"
4696
5.61k
yy284:
4697
5.61k
    YYDEBUG(284, *YYCURSOR);
4698
5.61k
    yych = *++YYCURSOR;
4699
5.61k
    if (yych == '<') goto yy261;
4700
1.73k
    goto yy86;
4701
5.19k
yy285:
4702
5.19k
    YYDEBUG(285, *YYCURSOR);
4703
5.19k
    yyaccept = 4;
4704
5.19k
    yych = *(YYMARKER = ++YYCURSOR);
4705
5.19k
    if (yych == 'A') goto yy376;
4706
5.01k
    if (yych == 'a') goto yy376;
4707
981
    goto yy48;
4708
17.5k
yy286:
4709
17.5k
    YYDEBUG(286, *YYCURSOR);
4710
17.5k
    yyaccept = 4;
4711
17.5k
    yych = *(YYMARKER = ++YYCURSOR);
4712
17.5k
    if (yych == 'L') goto yy377;
4713
16.2k
    if (yych == 'l') goto yy377;
4714
1.72k
    goto yy48;
4715
12.4k
yy287:
4716
12.4k
    YYDEBUG(287, *YYCURSOR);
4717
12.4k
    yyaccept = 4;
4718
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
4719
12.4k
    if (yych == 'E') goto yy378;
4720
10.1k
    if (yych == 'e') goto yy378;
4721
1.28k
    goto yy48;
4722
50.2k
yy288:
4723
50.2k
    YYDEBUG(288, *YYCURSOR);
4724
50.2k
    yyaccept = 4;
4725
50.2k
    yych = *(YYMARKER = ++YYCURSOR);
4726
50.2k
    if (yych == 'C') goto yy380;
4727
49.5k
    if (yych == 'c') goto yy380;
4728
1.24k
    goto yy48;
4729
83.5k
yy289:
4730
83.5k
    YYDEBUG(289, *YYCURSOR);
4731
83.5k
    yyaccept = 4;
4732
83.5k
    yych = *(YYMARKER = ++YYCURSOR);
4733
83.5k
    if (yych == 'S') goto yy381;
4734
81.2k
    if (yych == 's') goto yy381;
4735
2.37k
    goto yy48;
4736
9.50k
yy290:
4737
9.50k
    YYDEBUG(290, *YYCURSOR);
4738
9.50k
    yyaccept = 4;
4739
9.50k
    yych = *(YYMARKER = ++YYCURSOR);
4740
9.50k
    if (yych == 'N') goto yy382;
4741
8.57k
    if (yych == 'n') goto yy382;
4742
3.15k
    goto yy48;
4743
62.7k
yy291:
4744
62.7k
    YYDEBUG(291, *YYCURSOR);
4745
62.7k
    yyaccept = 4;
4746
62.7k
    yych = *(YYMARKER = ++YYCURSOR);
4747
62.7k
    if (yych <= 'T') {
4748
9.14k
      if (yych <= 'R') goto yy48;
4749
6.85k
      if (yych <= 'S') goto yy383;
4750
3.68k
      goto yy384;
4751
53.6k
    } else {
4752
53.6k
      if (yych <= 'r') goto yy48;
4753
52.8k
      if (yych <= 's') goto yy383;
4754
7.73k
      if (yych <= 't') goto yy384;
4755
543
      goto yy48;
4756
7.73k
    }
4757
10.3k
yy292:
4758
10.3k
    YYDEBUG(292, *YYCURSOR);
4759
10.3k
    yyaccept = 4;
4760
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
4761
10.3k
    if (yych == 'L') goto yy385;
4762
8.25k
    if (yych == 'l') goto yy385;
4763
1.07k
    goto yy48;
4764
10.7k
yy293:
4765
10.7k
    YYDEBUG(293, *YYCURSOR);
4766
10.7k
    yyaccept = 4;
4767
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
4768
10.7k
    if (yych == 'A') goto yy386;
4769
10.3k
    if (yych == 'a') goto yy386;
4770
6.33k
    goto yy48;
4771
7.72k
yy294:
4772
7.72k
    YYDEBUG(294, *YYCURSOR);
4773
7.72k
    yyaccept = 19;
4774
7.72k
    yych = *(YYMARKER = ++YYCURSOR);
4775
7.72k
    if (yybm[256+yych] & 128) {
4776
2.21k
      goto yy47;
4777
2.21k
    }
4778
5.51k
    if (yych == '\\') goto yy164;
4779
5.51k
yy295:
4780
5.51k
    YYDEBUG(295, *YYCURSOR);
4781
5.51k
    yyleng = YYCURSOR - SCNG(yy_text);
4782
5.51k
#line 1402 "Zend/zend_language_scanner.l"
4783
5.51k
    {
4784
5.51k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4785
5.51k
}
4786
0
#line 4787 "Zend/zend_language_scanner.c"
4787
85.7k
yy296:
4788
85.7k
    YYDEBUG(296, *YYCURSOR);
4789
85.7k
    yyaccept = 4;
4790
85.7k
    yych = *(YYMARKER = ++YYCURSOR);
4791
85.7k
    if (yych == 'O') goto yy387;
4792
85.2k
    if (yych == 'o') goto yy387;
4793
3.36k
    goto yy48;
4794
14.3k
yy297:
4795
14.3k
    YYDEBUG(297, *YYCURSOR);
4796
14.3k
    yyaccept = 4;
4797
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
4798
14.3k
    if (yych == 'E') goto yy389;
4799
13.8k
    if (yych == 'e') goto yy389;
4800
705
    goto yy48;
4801
11.8k
yy298:
4802
11.8k
    YYDEBUG(298, *YYCURSOR);
4803
11.8k
    yyaccept = 4;
4804
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
4805
11.8k
    if (yych == 'T') goto yy391;
4806
10.4k
    if (yych == 't') goto yy391;
4807
1.64k
    goto yy48;
4808
62.4k
yy299:
4809
62.4k
    YYDEBUG(299, *YYCURSOR);
4810
62.4k
    yyaccept = 4;
4811
62.4k
    yych = *(YYMARKER = ++YYCURSOR);
4812
62.4k
    switch (yych) {
4813
3.47k
    case 'D':
4814
8.47k
    case 'd': goto yy392;
4815
5.18k
    case 'F':
4816
13.7k
    case 'f': goto yy393;
4817
6.36k
    case 'I':
4818
9.68k
    case 'i': goto yy394;
4819
764
    case 'S':
4820
7.31k
    case 's': goto yy395;
4821
6.61k
    case 'W':
4822
13.5k
    case 'w': goto yy396;
4823
9.71k
    default:  goto yy48;
4824
62.4k
    }
4825
210k
yy300:
4826
210k
    YYDEBUG(300, *YYCURSOR);
4827
210k
    yyaccept = 4;
4828
210k
    yych = *(YYMARKER = ++YYCURSOR);
4829
210k
    if (yych == 'M') goto yy397;
4830
202k
    if (yych == 'm') goto yy397;
4831
20.5k
    goto yy48;
4832
20.5k
yy301:
4833
6.00k
    YYDEBUG(301, *YYCURSOR);
4834
6.00k
    yyaccept = 4;
4835
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
4836
6.00k
    if (yych == 'L') goto yy398;
4837
5.73k
    if (yych == 'l') goto yy398;
4838
1.14k
    goto yy48;
4839
3.65k
yy302:
4840
3.65k
    YYDEBUG(302, *YYCURSOR);
4841
3.65k
    yyaccept = 4;
4842
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
4843
3.65k
    if (yych == 'T') goto yy400;
4844
3.00k
    if (yych == 't') goto yy400;
4845
736
    goto yy48;
4846
27.7k
yy303:
4847
27.7k
    YYDEBUG(303, *YYCURSOR);
4848
27.7k
    yyaccept = 4;
4849
27.7k
    yych = *(YYMARKER = ++YYCURSOR);
4850
27.7k
    if (yych == 'E') goto yy402;
4851
26.6k
    if (yych == 'e') goto yy402;
4852
4.13k
    goto yy48;
4853
19.2k
yy304:
4854
19.2k
    YYDEBUG(304, *YYCURSOR);
4855
19.2k
    yyaccept = 4;
4856
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
4857
19.2k
    if (yych == 'A') goto yy403;
4858
18.1k
    if (yych == 'a') goto yy403;
4859
1.16k
    goto yy48;
4860
58.7k
yy305:
4861
58.7k
    YYDEBUG(305, *YYCURSOR);
4862
58.7k
    yyaccept = 20;
4863
58.7k
    yych = *(YYMARKER = ++YYCURSOR);
4864
58.7k
    if (yych <= '\\') {
4865
31.7k
      if (yych <= 'D') {
4866
29.2k
        if (yych <= '/') goto yy306;
4867
2.48k
        if (yych <= '9') goto yy47;
4868
2.12k
        if (yych >= 'A') goto yy47;
4869
2.52k
      } else {
4870
2.52k
        if (yych <= 'E') goto yy404;
4871
1.38k
        if (yych <= 'Z') goto yy47;
4872
883
        if (yych >= '\\') goto yy164;
4873
883
      }
4874
31.7k
    } else {
4875
27.0k
      if (yych <= 'd') {
4876
803
        if (yych == '_') goto yy47;
4877
468
        if (yych >= 'a') goto yy47;
4878
26.2k
      } else {
4879
26.2k
        if (yych <= 'e') goto yy404;
4880
2.40k
        if (yych <= 'z') goto yy47;
4881
998
        if (yych >= 0x80) goto yy47;
4882
998
      }
4883
27.0k
    }
4884
29.7k
yy306:
4885
29.7k
    YYDEBUG(306, *YYCURSOR);
4886
29.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4887
29.7k
#line 1481 "Zend/zend_language_scanner.l"
4888
29.7k
    {
4889
29.7k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4890
29.7k
}
4891
0
#line 4892 "Zend/zend_language_scanner.c"
4892
123k
yy307:
4893
123k
    YYDEBUG(307, *YYCURSOR);
4894
123k
    yyaccept = 4;
4895
123k
    yych = *(YYMARKER = ++YYCURSOR);
4896
123k
    if (yych == 'C') goto yy405;
4897
122k
    if (yych == 'c') goto yy405;
4898
2.75k
    goto yy48;
4899
8.27k
yy308:
4900
8.27k
    YYDEBUG(308, *YYCURSOR);
4901
8.27k
    yyaccept = 4;
4902
8.27k
    yych = *(YYMARKER = ++YYCURSOR);
4903
8.27k
    if (yych == 'B') goto yy406;
4904
6.46k
    if (yych == 'b') goto yy406;
4905
1.54k
    goto yy48;
4906
6.99k
yy309:
4907
6.99k
    YYDEBUG(309, *YYCURSOR);
4908
6.99k
    yyaccept = 4;
4909
6.99k
    yych = *(YYMARKER = ++YYCURSOR);
4910
6.99k
    if (yych == 'O') goto yy407;
4911
6.29k
    if (yych == 'o') goto yy407;
4912
1.35k
    goto yy48;
4913
37.9k
yy310:
4914
37.9k
    YYDEBUG(310, *YYCURSOR);
4915
37.9k
    yyaccept = 4;
4916
37.9k
    yych = *(YYMARKER = ++YYCURSOR);
4917
37.9k
    if (yych == 'L') goto yy409;
4918
34.5k
    if (yych == 'l') goto yy409;
4919
4.28k
    goto yy48;
4920
15.6k
yy311:
4921
15.6k
    YYDEBUG(311, *YYCURSOR);
4922
15.6k
    yyaccept = 4;
4923
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
4924
15.6k
    if (yych == 'L') goto yy410;
4925
14.7k
    if (yych == 'l') goto yy410;
4926
2.82k
    goto yy48;
4927
22.4k
yy312:
4928
22.4k
    YYDEBUG(312, *YYCURSOR);
4929
22.4k
    yyaccept = 4;
4930
22.4k
    yych = *(YYMARKER = ++YYCURSOR);
4931
22.4k
    if (yych == 'T') goto yy411;
4932
20.3k
    if (yych == 't') goto yy411;
4933
1.57k
    goto yy48;
4934
34.4k
yy313:
4935
34.4k
    YYDEBUG(313, *YYCURSOR);
4936
34.4k
    yyaccept = 4;
4937
34.4k
    yych = *(YYMARKER = ++YYCURSOR);
4938
34.4k
    if (yych == 'E') goto yy412;
4939
32.8k
    if (yych == 'e') goto yy412;
4940
13.9k
    goto yy48;
4941
19.8k
yy314:
4942
19.8k
    YYDEBUG(314, *YYCURSOR);
4943
19.8k
    yyaccept = 4;
4944
19.8k
    yych = *(YYMARKER = ++YYCURSOR);
4945
19.8k
    if (yych == 'E') goto yy413;
4946
19.2k
    if (yych == 'e') goto yy413;
4947
1.04k
    goto yy48;
4948
6.08k
yy315:
4949
6.08k
    YYDEBUG(315, *YYCURSOR);
4950
6.08k
    yyaccept = 4;
4951
6.08k
    yych = *(YYMARKER = ++YYCURSOR);
4952
6.08k
    if (yych == 'T') goto yy414;
4953
5.11k
    if (yych == 't') goto yy414;
4954
298
    goto yy48;
4955
7.04k
yy316:
4956
7.04k
    YYDEBUG(316, *YYCURSOR);
4957
7.04k
    yyaccept = 4;
4958
7.04k
    yych = *(YYMARKER = ++YYCURSOR);
4959
7.04k
    if (yych == 'C') goto yy416;
4960
6.62k
    if (yych == 'c') goto yy416;
4961
940
    goto yy48;
4962
28.3k
yy317:
4963
28.3k
    YYDEBUG(317, *YYCURSOR);
4964
28.3k
    yyaccept = 4;
4965
28.3k
    yych = *(YYMARKER = ++YYCURSOR);
4966
28.3k
    if (yych == 'E') goto yy417;
4967
26.0k
    if (yych == 'e') goto yy417;
4968
3.16k
    goto yy48;
4969
87.9k
yy318:
4970
87.9k
    YYDEBUG(318, *YYCURSOR);
4971
87.9k
    yyaccept = 21;
4972
87.9k
    yych = *(YYMARKER = ++YYCURSOR);
4973
87.9k
    if (yybm[256+yych] & 128) {
4974
1.04k
      goto yy47;
4975
1.04k
    }
4976
86.9k
    if (yych == '\\') goto yy164;
4977
86.8k
yy319:
4978
86.8k
    YYDEBUG(319, *YYCURSOR);
4979
86.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4980
86.8k
#line 1625 "Zend/zend_language_scanner.l"
4981
86.8k
    {
4982
86.8k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4983
86.8k
}
4984
0
#line 4985 "Zend/zend_language_scanner.c"
4985
40.3k
yy320:
4986
40.3k
    YYDEBUG(320, *YYCURSOR);
4987
40.3k
    yyaccept = 4;
4988
40.3k
    yych = *(YYMARKER = ++YYCURSOR);
4989
40.3k
    if (yych <= 'V') {
4990
6.57k
      if (yych == 'N') goto yy418;
4991
5.80k
      if (yych <= 'U') goto yy48;
4992
4.95k
      goto yy419;
4993
33.8k
    } else {
4994
33.8k
      if (yych <= 'n') {
4995
17.8k
        if (yych <= 'm') goto yy48;
4996
14.6k
        goto yy418;
4997
17.8k
      } else {
4998
15.9k
        if (yych == 'v') goto yy419;
4999
546
        goto yy48;
5000
15.9k
      }
5001
33.8k
    }
5002
15.8k
yy321:
5003
15.8k
    YYDEBUG(321, *YYCURSOR);
5004
15.8k
    yyaccept = 4;
5005
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5006
15.8k
    if (yych == 'T') goto yy420;
5007
14.3k
    if (yych == 't') goto yy420;
5008
2.59k
    goto yy48;
5009
68.1k
yy322:
5010
68.1k
    YYDEBUG(322, *YYCURSOR);
5011
68.1k
    yyaccept = 4;
5012
68.1k
    yych = *(YYMARKER = ++YYCURSOR);
5013
68.1k
    if (yych == 'L') goto yy421;
5014
66.8k
    if (yych == 'l') goto yy421;
5015
1.98k
    goto yy48;
5016
11.2k
yy323:
5017
11.2k
    YYDEBUG(323, *YYCURSOR);
5018
11.2k
    yyaccept = 4;
5019
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
5020
11.2k
    if (yych == 'D') goto yy422;
5021
10.6k
    if (yych == 'd') goto yy422;
5022
3.47k
    goto yy48;
5023
31.2k
yy324:
5024
31.2k
    YYDEBUG(324, *YYCURSOR);
5025
31.2k
    yyaccept = 4;
5026
31.2k
    yych = *(YYMARKER = ++YYCURSOR);
5027
31.2k
    if (yych == 'U') goto yy423;
5028
29.5k
    if (yych == 'u') goto yy423;
5029
5.10k
    goto yy48;
5030
31.5k
yy325:
5031
31.5k
    YYDEBUG(325, *YYCURSOR);
5032
31.5k
    yyaccept = 4;
5033
31.5k
    yych = *(YYMARKER = ++YYCURSOR);
5034
31.5k
    if (yych == 'U') goto yy424;
5035
31.1k
    if (yych == 'u') goto yy424;
5036
1.04k
    goto yy48;
5037
25.3k
yy326:
5038
25.3k
    YYDEBUG(326, *YYCURSOR);
5039
25.3k
    yyaccept = 4;
5040
25.3k
    yych = *(YYMARKER = ++YYCURSOR);
5041
25.3k
    if (yych == 'T') goto yy425;
5042
24.3k
    if (yych == 't') goto yy425;
5043
2.11k
    goto yy48;
5044
9.36k
yy327:
5045
9.36k
    YYDEBUG(327, *YYCURSOR);
5046
9.36k
    yyaccept = 4;
5047
9.36k
    yych = *(YYMARKER = ++YYCURSOR);
5048
9.36k
    if (yych == 'T') goto yy426;
5049
8.48k
    if (yych == 't') goto yy426;
5050
651
    goto yy48;
5051
16.8k
yy328:
5052
16.8k
    YYDEBUG(328, *YYCURSOR);
5053
16.8k
    yyaccept = 4;
5054
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
5055
16.8k
    if (yych == 'O') goto yy427;
5056
15.5k
    if (yych == 'o') goto yy427;
5057
1.54k
    goto yy48;
5058
14.0k
yy329:
5059
14.0k
    YYDEBUG(329, *YYCURSOR);
5060
14.0k
    yyaccept = 4;
5061
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
5062
14.0k
    if (yych == 'I') goto yy428;
5063
11.3k
    if (yych == 'i') goto yy428;
5064
1.38k
    goto yy48;
5065
53.9k
yy330:
5066
53.9k
    YYDEBUG(330, *YYCURSOR);
5067
53.9k
    yyaccept = 22;
5068
53.9k
    yych = *(YYMARKER = ++YYCURSOR);
5069
53.9k
    if (yybm[256+yych] & 128) {
5070
1.85k
      goto yy47;
5071
1.85k
    }
5072
52.1k
    if (yych == '\\') goto yy164;
5073
52.1k
yy331:
5074
52.1k
    YYDEBUG(331, *YYCURSOR);
5075
52.1k
    yyleng = YYCURSOR - SCNG(yy_text);
5076
52.1k
#line 1437 "Zend/zend_language_scanner.l"
5077
52.1k
    {
5078
52.1k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5079
52.1k
}
5080
0
#line 5081 "Zend/zend_language_scanner.c"
5081
16.6k
yy332:
5082
16.6k
    YYDEBUG(332, *YYCURSOR);
5083
16.6k
    yyaccept = 4;
5084
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
5085
16.6k
    if (yych == 'E') goto yy429;
5086
15.8k
    if (yych == 'e') goto yy429;
5087
2.02k
    goto yy48;
5088
15.2k
yy333:
5089
15.2k
    YYDEBUG(333, *YYCURSOR);
5090
15.2k
    yyaccept = 23;
5091
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
5092
15.2k
    if (yybm[256+yych] & 128) {
5093
2.32k
      goto yy47;
5094
2.32k
    }
5095
12.9k
    if (yych == '\\') goto yy164;
5096
12.8k
yy334:
5097
12.8k
    YYDEBUG(334, *YYCURSOR);
5098
12.8k
    yyleng = YYCURSOR - SCNG(yy_text);
5099
12.8k
#line 1741 "Zend/zend_language_scanner.l"
5100
12.8k
    {
5101
12.8k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5102
12.8k
}
5103
0
#line 5104 "Zend/zend_language_scanner.c"
5104
105k
yy335:
5105
105k
    YYDEBUG(335, *YYCURSOR);
5106
105k
    yyaccept = 24;
5107
105k
    yych = *(YYMARKER = ++YYCURSOR);
5108
105k
    if (yybm[256+yych] & 128) {
5109
102k
      goto yy47;
5110
102k
    }
5111
2.93k
    if (yych == '\\') goto yy164;
5112
2.85k
yy336:
5113
2.85k
    YYDEBUG(336, *YYCURSOR);
5114
2.85k
    yyleng = YYCURSOR - SCNG(yy_text);
5115
2.85k
#line 1633 "Zend/zend_language_scanner.l"
5116
2.85k
    {
5117
2.85k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5118
2.85k
}
5119
0
#line 5120 "Zend/zend_language_scanner.c"
5120
6.52k
yy337:
5121
6.52k
    YYDEBUG(337, *YYCURSOR);
5122
6.52k
    yyaccept = 4;
5123
6.52k
    yych = *(YYMARKER = ++YYCURSOR);
5124
6.52k
    if (yych == 'L') goto yy430;
5125
5.80k
    if (yych == 'l') goto yy430;
5126
859
    goto yy48;
5127
5.69k
yy338:
5128
5.69k
    YYDEBUG(338, *YYCURSOR);
5129
5.69k
    yyaccept = 25;
5130
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
5131
5.69k
    if (yybm[256+yych] & 128) {
5132
375
      goto yy47;
5133
375
    }
5134
5.32k
    if (yych == '\\') goto yy164;
5135
5.31k
yy339:
5136
5.31k
    YYDEBUG(339, *YYCURSOR);
5137
5.31k
    yyleng = YYCURSOR - SCNG(yy_text);
5138
5.31k
#line 1937 "Zend/zend_language_scanner.l"
5139
5.31k
    {
5140
5.31k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5141
5.31k
}
5142
0
#line 5143 "Zend/zend_language_scanner.c"
5143
113k
yy340:
5144
113k
    YYDEBUG(340, *YYCURSOR);
5145
113k
    yyaccept = 4;
5146
113k
    yych = *(YYMARKER = ++YYCURSOR);
5147
113k
    if (yych == 'L') goto yy431;
5148
110k
    if (yych == 'l') goto yy431;
5149
4.61k
    goto yy48;
5150
16.9k
yy341:
5151
16.9k
    YYDEBUG(341, *YYCURSOR);
5152
16.9k
    ++YYCURSOR;
5153
16.9k
    YYFILL(1);
5154
16.9k
    yych = *YYCURSOR;
5155
16.9k
    if (yych <= '_') {
5156
11.7k
      if (yych <= '@') goto yy86;
5157
9.10k
      if (yych <= 'Z') goto yy211;
5158
4.49k
      if (yych <= '^') goto yy86;
5159
451
      goto yy211;
5160
5.25k
    } else {
5161
5.25k
      if (yych <= '`') goto yy86;
5162
4.91k
      if (yych <= 'z') goto yy211;
5163
1.88k
      if (yych <= 0x7F) goto yy86;
5164
920
      goto yy211;
5165
1.88k
    }
5166
21.2k
yy342:
5167
21.2k
    YYDEBUG(342, *YYCURSOR);
5168
21.2k
    yyaccept = 4;
5169
21.2k
    yych = *(YYMARKER = ++YYCURSOR);
5170
21.2k
    if (yych == 'L') goto yy432;
5171
19.1k
    if (yych == 'l') goto yy432;
5172
11.7k
    goto yy48;
5173
13.2k
yy343:
5174
13.2k
    YYDEBUG(343, *YYCURSOR);
5175
13.2k
    yyaccept = 4;
5176
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
5177
13.2k
    if (yych == 'I') goto yy433;
5178
8.67k
    if (yych == 'i') goto yy433;
5179
5.02k
    goto yy48;
5180
22.4k
yy344:
5181
22.4k
    YYDEBUG(344, *YYCURSOR);
5182
22.4k
    yyaccept = 4;
5183
22.4k
    yych = *(YYMARKER = ++YYCURSOR);
5184
22.4k
    if (yych <= 'U') {
5185
12.2k
      if (yych == 'I') goto yy434;
5186
5.85k
      if (yych <= 'T') goto yy48;
5187
5.00k
      goto yy435;
5188
10.2k
    } else {
5189
10.2k
      if (yych <= 'i') {
5190
4.05k
        if (yych <= 'h') goto yy48;
5191
3.63k
        goto yy434;
5192
6.18k
      } else {
5193
6.18k
        if (yych == 'u') goto yy435;
5194
912
        goto yy48;
5195
6.18k
      }
5196
10.2k
    }
5197
11.0k
yy345:
5198
11.0k
    YYDEBUG(345, *YYCURSOR);
5199
11.0k
    yyaccept = 4;
5200
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5201
11.0k
    if (yych == 'A') goto yy436;
5202
9.50k
    if (yych == 'a') goto yy436;
5203
1.71k
    goto yy48;
5204
7.28k
yy346:
5205
7.28k
    YYDEBUG(346, *YYCURSOR);
5206
7.28k
    yyaccept = 4;
5207
7.28k
    yych = *(YYMARKER = ++YYCURSOR);
5208
7.28k
    if (yych == 'I') goto yy437;
5209
5.00k
    if (yych == 'i') goto yy437;
5210
1.78k
    goto yy48;
5211
18.6k
yy347:
5212
18.6k
    YYDEBUG(347, *YYCURSOR);
5213
18.6k
    yyaccept = 4;
5214
18.6k
    yych = *(YYMARKER = ++YYCURSOR);
5215
18.6k
    if (yych == 'E') goto yy438;
5216
6.30k
    if (yych == 'e') goto yy438;
5217
1.49k
    goto yy48;
5218
11.0k
yy348:
5219
11.0k
    YYDEBUG(348, *YYCURSOR);
5220
11.0k
    yyaccept = 4;
5221
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5222
11.0k
    if (yych == 'A') goto yy439;
5223
5.94k
    if (yych == 'a') goto yy439;
5224
1.65k
    goto yy48;
5225
6.96k
yy349:
5226
6.96k
    YYDEBUG(349, *YYCURSOR);
5227
6.96k
    yyaccept = 4;
5228
6.96k
    yych = *(YYMARKER = ++YYCURSOR);
5229
6.96k
    if (yych == 'R') goto yy440;
5230
1.06k
    if (yych == 'r') goto yy440;
5231
756
    goto yy48;
5232
9.24k
yy350:
5233
9.24k
    YYDEBUG(350, *YYCURSOR);
5234
9.24k
    yyaccept = 4;
5235
9.24k
    yych = *(YYMARKER = ++YYCURSOR);
5236
9.24k
    if (yych == 'R') goto yy441;
5237
7.78k
    if (yych == 'r') goto yy441;
5238
1.56k
    goto yy48;
5239
12.2k
yy351:
5240
12.2k
    YYDEBUG(351, *YYCURSOR);
5241
12.2k
    ++YYCURSOR;
5242
12.2k
    YYFILL(1);
5243
12.2k
    yych = *YYCURSOR;
5244
12.2k
    if (yybm[0+yych] & 2) {
5245
1.39k
      goto yy225;
5246
1.39k
    }
5247
10.8k
    if (yych <= 0x00) goto yy86;
5248
10.4k
    goto yy227;
5249
10.4k
yy352:
5250
6.29k
    YYDEBUG(352, *YYCURSOR);
5251
6.29k
    yyaccept = 26;
5252
6.29k
    YYMARKER = ++YYCURSOR;
5253
6.29k
    YYFILL(1);
5254
6.29k
    yych = *YYCURSOR;
5255
6.29k
    if (yybm[0+yych] & 2) {
5256
5.18k
      goto yy225;
5257
5.18k
    }
5258
1.10k
    if (yych <= 0x00) goto yy89;
5259
764
    goto yy84;
5260
20.7k
yy353:
5261
20.7k
    YYDEBUG(353, *YYCURSOR);
5262
20.7k
    ++YYCURSOR;
5263
20.7k
    YYFILL(1);
5264
20.7k
    yych = *YYCURSOR;
5265
20.7k
    if (yych <= '\f') {
5266
1.55k
      if (yych <= 0x00) goto yy86;
5267
1.26k
      if (yych == '\n') goto yy84;
5268
254
      goto yy225;
5269
19.1k
    } else {
5270
19.1k
      if (yych <= '\r') goto yy84;
5271
12.3k
      if (yych == '.') goto yy442;
5272
9.27k
      goto yy225;
5273
12.3k
    }
5274
26.6k
yy354:
5275
26.6k
    YYDEBUG(354, *YYCURSOR);
5276
26.6k
    ++YYCURSOR;
5277
26.6k
    YYFILL(1);
5278
26.6k
    yych = *YYCURSOR;
5279
26.6k
    if (yych <= '\f') {
5280
1.36k
      if (yych <= 0x00) goto yy86;
5281
1.03k
      if (yych == '\n') goto yy84;
5282
334
      goto yy225;
5283
25.2k
    } else {
5284
25.2k
      if (yych <= '\r') goto yy84;
5285
24.9k
      if (yych == '*') goto yy443;
5286
3.13k
      goto yy225;
5287
24.9k
    }
5288
18.2k
yy355:
5289
18.2k
    YYDEBUG(355, *YYCURSOR);
5290
18.2k
    ++YYCURSOR;
5291
18.2k
    YYFILL(1);
5292
18.2k
    yych = *YYCURSOR;
5293
18.2k
    YYDEBUG(356, *YYCURSOR);
5294
18.2k
    if (yybm[0+yych] & 64) {
5295
1.74k
      goto yy355;
5296
1.74k
    }
5297
16.4k
    if (yych <= 0x00) goto yy86;
5298
15.4k
    if (yych == '/') goto yy84;
5299
9.93k
    goto yy230;
5300
12.4k
yy357:
5301
12.4k
    YYDEBUG(357, *YYCURSOR);
5302
12.4k
    yych = *++YYCURSOR;
5303
12.4k
    if (yych == 'A') goto yy445;
5304
12.1k
    if (yych == 'a') goto yy445;
5305
2.35k
    goto yy86;
5306
2.66k
yy358:
5307
2.66k
    YYDEBUG(358, *YYCURSOR);
5308
2.66k
    yych = *++YYCURSOR;
5309
2.66k
    if (yych == 'A') goto yy446;
5310
2.40k
    if (yych == 'a') goto yy446;
5311
373
    goto yy86;
5312
4.24k
yy359:
5313
4.24k
    YYDEBUG(359, *YYCURSOR);
5314
4.24k
    yych = *++YYCURSOR;
5315
4.24k
    if (yych == 'L') goto yy447;
5316
3.76k
    if (yych == 'l') goto yy447;
5317
698
    goto yy86;
5318
3.77k
yy360:
5319
3.77k
    YYDEBUG(360, *YYCURSOR);
5320
3.77k
    yych = *++YYCURSOR;
5321
3.77k
    if (yych == 'B') goto yy448;
5322
3.22k
    if (yych == 'b') goto yy448;
5323
806
    goto yy86;
5324
3.39k
yy361:
5325
3.39k
    YYDEBUG(361, *YYCURSOR);
5326
3.39k
    yych = *++YYCURSOR;
5327
3.39k
    if (yych == 'A') goto yy449;
5328
3.15k
    if (yych == 'a') goto yy449;
5329
449
    goto yy86;
5330
10.4k
yy362:
5331
10.4k
    YYDEBUG(362, *YYCURSOR);
5332
10.4k
    yych = *++YYCURSOR;
5333
10.4k
    if (yych == 'E') goto yy454;
5334
9.04k
    if (yych == 'e') goto yy454;
5335
6.11k
    goto yy451;
5336
6.11k
yy363:
5337
5.29k
    YYDEBUG(363, *YYCURSOR);
5338
5.29k
    yych = *++YYCURSOR;
5339
5.29k
    if (yych == 'E') goto yy455;
5340
5.01k
    if (yych == 'e') goto yy455;
5341
2.02k
    goto yy86;
5342
2.51k
yy364:
5343
2.51k
    YYDEBUG(364, *YYCURSOR);
5344
2.51k
    yych = *++YYCURSOR;
5345
2.51k
    if (yych == 'L') goto yy456;
5346
2.13k
    if (yych == 'l') goto yy456;
5347
402
    goto yy86;
5348
12.8k
yy365:
5349
12.8k
    YYDEBUG(365, *YYCURSOR);
5350
12.8k
    yych = *++YYCURSOR;
5351
12.8k
    if (yych == 'I') goto yy458;
5352
12.4k
    if (yych == 'i') goto yy458;
5353
2.67k
    goto yy86;
5354
3.61k
yy366:
5355
3.61k
    YYDEBUG(366, *YYCURSOR);
5356
3.61k
    yych = *++YYCURSOR;
5357
3.61k
    if (yych == 'E') goto yy459;
5358
2.95k
    if (yych == 'e') goto yy459;
5359
786
    goto yy86;
5360
1.91k
yy367:
5361
1.91k
    YYDEBUG(367, *YYCURSOR);
5362
1.91k
    yych = *++YYCURSOR;
5363
1.91k
    if (yych == 'D') goto yy460;
5364
1.64k
    if (yych == 'd') goto yy460;
5365
417
    goto yy86;
5366
13.4k
yy368:
5367
13.4k
    YYDEBUG(368, *YYCURSOR);
5368
13.4k
    ++YYCURSOR;
5369
13.4k
    YYFILL(1);
5370
13.4k
    yych = *YYCURSOR;
5371
13.4k
    YYDEBUG(369, *YYCURSOR);
5372
13.4k
    if (yych <= '\f') {
5373
3.28k
      if (yych <= 0x08) goto yy129;
5374
2.99k
      if (yych <= '\n') goto yy368;
5375
427
      goto yy129;
5376
10.1k
    } else {
5377
10.1k
      if (yych <= '\r') goto yy368;
5378
9.94k
      if (yych == ' ') goto yy368;
5379
5.94k
      goto yy129;
5380
9.94k
    }
5381
6.69k
yy370:
5382
6.69k
    YYDEBUG(370, *YYCURSOR);
5383
6.69k
    yych = *++YYCURSOR;
5384
6.69k
    if (yych == '"') goto yy86;
5385
6.33k
    if (yych <= '/') goto yy463;
5386
4.13k
    if (yych <= '9') goto yy86;
5387
3.88k
    goto yy463;
5388
14.4k
yy371:
5389
14.4k
    YYDEBUG(371, *YYCURSOR);
5390
14.4k
    yych = *++YYCURSOR;
5391
14.4k
    if (yych == '\'') goto yy86;
5392
13.8k
    if (yych <= '/') goto yy465;
5393
13.3k
    if (yych <= '9') goto yy86;
5394
12.6k
    goto yy465;
5395
7.01M
yy372:
5396
7.01M
    YYDEBUG(372, *YYCURSOR);
5397
7.01M
    ++YYCURSOR;
5398
7.01M
    YYFILL(2);
5399
7.01M
    yych = *YYCURSOR;
5400
7.01M
    YYDEBUG(373, *YYCURSOR);
5401
7.01M
    if (yych <= '@') {
5402
4.88M
      if (yych <= '\f') {
5403
4.62M
        if (yych == '\n') goto yy466;
5404
42.2k
        goto yy86;
5405
4.62M
      } else {
5406
260k
        if (yych <= '\r') goto yy468;
5407
237k
        if (yych <= '/') goto yy86;
5408
160k
        if (yych <= '9') goto yy372;
5409
46.5k
        goto yy86;
5410
160k
      }
5411
4.88M
    } else {
5412
2.12M
      if (yych <= '_') {
5413
358k
        if (yych <= 'Z') goto yy372;
5414
153k
        if (yych <= '^') goto yy86;
5415
144k
        goto yy372;
5416
1.77M
      } else {
5417
1.77M
        if (yych <= '`') goto yy86;
5418
1.76M
        if (yych <= 'z') goto yy372;
5419
1.13M
        if (yych <= 0x7F) goto yy86;
5420
1.12M
        goto yy372;
5421
1.13M
      }
5422
2.12M
    }
5423
8.85k
yy374:
5424
8.85k
    YYDEBUG(374, *YYCURSOR);
5425
8.85k
    yyaccept = 4;
5426
8.85k
    yych = *(YYMARKER = ++YYCURSOR);
5427
8.85k
    if (yych == 'R') goto yy469;
5428
7.53k
    if (yych == 'r') goto yy469;
5429
594
    goto yy48;
5430
26.6k
yy375:
5431
26.6k
    YYDEBUG(375, *YYCURSOR);
5432
26.6k
    yyaccept = 4;
5433
26.6k
    yych = *(YYMARKER = ++YYCURSOR);
5434
26.6k
    if (yych == 'Y') goto yy470;
5435
26.0k
    if (yych == 'y') goto yy470;
5436
1.65k
    goto yy48;
5437
4.21k
yy376:
5438
4.21k
    YYDEBUG(376, *YYCURSOR);
5439
4.21k
    yyaccept = 4;
5440
4.21k
    yych = *(YYMARKER = ++YYCURSOR);
5441
4.21k
    if (yych == 'K') goto yy472;
5442
3.90k
    if (yych == 'k') goto yy472;
5443
377
    goto yy48;
5444
15.8k
yy377:
5445
15.8k
    YYDEBUG(377, *YYCURSOR);
5446
15.8k
    yyaccept = 4;
5447
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5448
15.8k
    if (yych == 'A') goto yy474;
5449
15.2k
    if (yych == 'a') goto yy474;
5450
10.7k
    goto yy48;
5451
11.1k
yy378:
5452
11.1k
    YYDEBUG(378, *YYCURSOR);
5453
11.1k
    yyaccept = 27;
5454
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
5455
11.1k
    if (yybm[256+yych] & 128) {
5456
660
      goto yy47;
5457
660
    }
5458
10.4k
    if (yych == '\\') goto yy164;
5459
10.4k
yy379:
5460
10.4k
    YYDEBUG(379, *YYCURSOR);
5461
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
5462
10.4k
#line 1525 "Zend/zend_language_scanner.l"
5463
10.4k
    {
5464
10.4k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5465
10.4k
}
5466
0
#line 5467 "Zend/zend_language_scanner.c"
5467
48.9k
yy380:
5468
48.9k
    YYDEBUG(380, *YYCURSOR);
5469
48.9k
    yyaccept = 4;
5470
48.9k
    yych = *(YYMARKER = ++YYCURSOR);
5471
48.9k
    if (yych == 'H') goto yy475;
5472
48.4k
    if (yych == 'h') goto yy475;
5473
955
    goto yy48;
5474
81.1k
yy381:
5475
81.1k
    YYDEBUG(381, *YYCURSOR);
5476
81.1k
    yyaccept = 4;
5477
81.1k
    yych = *(YYMARKER = ++YYCURSOR);
5478
81.1k
    if (yych == 'S') goto yy477;
5479
79.0k
    if (yych == 's') goto yy477;
5480
1.51k
    goto yy48;
5481
6.35k
yy382:
5482
6.35k
    YYDEBUG(382, *YYCURSOR);
5483
6.35k
    yyaccept = 4;
5484
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
5485
6.35k
    if (yych == 'E') goto yy479;
5486
5.43k
    if (yych == 'e') goto yy479;
5487
371
    goto yy48;
5488
48.3k
yy383:
5489
48.3k
    YYDEBUG(383, *YYCURSOR);
5490
48.3k
    yyaccept = 4;
5491
48.3k
    yych = *(YYMARKER = ++YYCURSOR);
5492
48.3k
    if (yych == 'T') goto yy481;
5493
44.8k
    if (yych == 't') goto yy481;
5494
2.36k
    goto yy48;
5495
10.8k
yy384:
5496
10.8k
    YYDEBUG(384, *YYCURSOR);
5497
10.8k
    yyaccept = 4;
5498
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
5499
10.8k
    if (yych == 'I') goto yy483;
5500
7.83k
    if (yych == 'i') goto yy483;
5501
3.73k
    goto yy48;
5502
9.32k
yy385:
5503
9.32k
    YYDEBUG(385, *YYCURSOR);
5504
9.32k
    yyaccept = 4;
5505
9.32k
    yych = *(YYMARKER = ++YYCURSOR);
5506
9.32k
    if (yych == 'A') goto yy484;
5507
8.19k
    if (yych == 'a') goto yy484;
5508
1.10k
    goto yy48;
5509
4.40k
yy386:
5510
4.40k
    YYDEBUG(386, *YYCURSOR);
5511
4.40k
    yyaccept = 4;
5512
4.40k
    yych = *(YYMARKER = ++YYCURSOR);
5513
4.40k
    if (yych == 'U') goto yy485;
5514
4.00k
    if (yych == 'u') goto yy485;
5515
666
    goto yy48;
5516
82.3k
yy387:
5517
82.3k
    YYDEBUG(387, *YYCURSOR);
5518
82.3k
    yyaccept = 28;
5519
82.3k
    yych = *(YYMARKER = ++YYCURSOR);
5520
82.3k
    if (yybm[256+yych] & 128) {
5521
1.89k
      goto yy47;
5522
1.89k
    }
5523
80.4k
    if (yych == '\\') goto yy164;
5524
80.3k
yy388:
5525
80.3k
    YYDEBUG(388, *YYCURSOR);
5526
80.3k
    yyleng = YYCURSOR - SCNG(yy_text);
5527
80.3k
#line 1545 "Zend/zend_language_scanner.l"
5528
80.3k
    {
5529
80.3k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5530
80.3k
}
5531
0
#line 5532 "Zend/zend_language_scanner.c"
5532
13.6k
yy389:
5533
13.6k
    YYDEBUG(389, *YYCURSOR);
5534
13.6k
    yyaccept = 29;
5535
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
5536
13.6k
    if (yych <= '\\') {
5537
7.13k
      if (yych <= 'H') {
5538
5.94k
        if (yych <= '/') goto yy390;
5539
2.82k
        if (yych <= '9') goto yy47;
5540
2.56k
        if (yych >= 'A') goto yy47;
5541
2.56k
      } else {
5542
1.19k
        if (yych <= 'I') goto yy486;
5543
834
        if (yych <= 'Z') goto yy47;
5544
548
        if (yych >= '\\') goto yy164;
5545
548
      }
5546
7.13k
    } else {
5547
6.47k
      if (yych <= 'h') {
5548
808
        if (yych == '_') goto yy47;
5549
598
        if (yych >= 'a') goto yy47;
5550
5.67k
      } else {
5551
5.67k
        if (yych <= 'i') goto yy486;
5552
1.50k
        if (yych <= 'z') goto yy47;
5553
1.23k
        if (yych >= 0x80) goto yy47;
5554
1.23k
      }
5555
6.47k
    }
5556
6.19k
yy390:
5557
6.19k
    YYDEBUG(390, *YYCURSOR);
5558
6.19k
    yyleng = YYCURSOR - SCNG(yy_text);
5559
6.19k
#line 1465 "Zend/zend_language_scanner.l"
5560
6.19k
    {
5561
6.19k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5562
6.19k
}
5563
0
#line 5564 "Zend/zend_language_scanner.c"
5564
10.1k
yy391:
5565
10.1k
    YYDEBUG(391, *YYCURSOR);
5566
10.1k
    yyaccept = 4;
5567
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
5568
10.1k
    if (yych == 'Y') goto yy487;
5569
9.11k
    if (yych == 'y') goto yy487;
5570
1.00k
    goto yy48;
5571
8.47k
yy392:
5572
8.47k
    YYDEBUG(392, *YYCURSOR);
5573
8.47k
    yyaccept = 4;
5574
8.47k
    yych = *(YYMARKER = ++YYCURSOR);
5575
8.47k
    if (yych == 'E') goto yy489;
5576
4.83k
    if (yych == 'e') goto yy489;
5577
469
    goto yy48;
5578
13.7k
yy393:
5579
13.7k
    YYDEBUG(393, *YYCURSOR);
5580
13.7k
    yyaccept = 4;
5581
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
5582
13.7k
    if (yych == 'O') goto yy490;
5583
8.63k
    if (yych == 'o') goto yy490;
5584
815
    goto yy48;
5585
9.68k
yy394:
5586
9.68k
    YYDEBUG(394, *YYCURSOR);
5587
9.68k
    yyaccept = 4;
5588
9.68k
    yych = *(YYMARKER = ++YYCURSOR);
5589
9.68k
    if (yych == 'F') goto yy491;
5590
4.78k
    if (yych == 'f') goto yy491;
5591
1.89k
    goto yy48;
5592
7.31k
yy395:
5593
7.31k
    YYDEBUG(395, *YYCURSOR);
5594
7.31k
    yyaccept = 4;
5595
7.31k
    yych = *(YYMARKER = ++YYCURSOR);
5596
7.31k
    if (yych == 'W') goto yy493;
5597
6.39k
    if (yych == 'w') goto yy493;
5598
2.13k
    goto yy48;
5599
13.5k
yy396:
5600
13.5k
    YYDEBUG(396, *YYCURSOR);
5601
13.5k
    yyaccept = 4;
5602
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5603
13.5k
    if (yych == 'H') goto yy494;
5604
10.2k
    if (yych == 'h') goto yy494;
5605
3.62k
    goto yy48;
5606
190k
yy397:
5607
190k
    YYDEBUG(397, *YYCURSOR);
5608
190k
    yyaccept = 4;
5609
190k
    yych = *(YYMARKER = ++YYCURSOR);
5610
190k
    if (yych <= 0x1F) {
5611
152k
      if (yych <= '\n') {
5612
8.91k
        if (yych <= 0x08) goto yy48;
5613
7.28k
        goto yy495;
5614
143k
      } else {
5615
143k
        if (yych == '\r') goto yy495;
5616
955
        goto yy48;
5617
143k
      }
5618
152k
    } else {
5619
37.5k
      if (yych <= '#') {
5620
22.6k
        if (yych <= ' ') goto yy495;
5621
14.7k
        if (yych <= '"') goto yy48;
5622
14.2k
        goto yy497;
5623
14.8k
      } else {
5624
14.8k
        if (yych == '/') goto yy498;
5625
14.2k
        goto yy48;
5626
14.8k
      }
5627
37.5k
    }
5628
4.86k
yy398:
5629
4.86k
    YYDEBUG(398, *YYCURSOR);
5630
4.86k
    yyaccept = 30;
5631
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
5632
4.86k
    if (yybm[256+yych] & 128) {
5633
647
      goto yy47;
5634
647
    }
5635
4.21k
    if (yych == '\\') goto yy164;
5636
4.21k
yy399:
5637
4.21k
    YYDEBUG(399, *YYCURSOR);
5638
4.21k
    yyleng = YYCURSOR - SCNG(yy_text);
5639
4.21k
#line 1717 "Zend/zend_language_scanner.l"
5640
4.21k
    {
5641
4.21k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5642
4.21k
}
5643
0
#line 5644 "Zend/zend_language_scanner.c"
5644
2.92k
yy400:
5645
2.92k
    YYDEBUG(400, *YYCURSOR);
5646
2.92k
    yyaccept = 31;
5647
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
5648
2.92k
    if (yybm[256+yych] & 128) {
5649
355
      goto yy47;
5650
355
    }
5651
2.56k
    if (yych == '\\') goto yy164;
5652
2.52k
yy401:
5653
2.52k
    YYDEBUG(401, *YYCURSOR);
5654
2.52k
    yyleng = YYCURSOR - SCNG(yy_text);
5655
2.52k
#line 1398 "Zend/zend_language_scanner.l"
5656
2.52k
    {
5657
2.52k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5658
2.52k
}
5659
0
#line 5660 "Zend/zend_language_scanner.c"
5660
23.6k
yy402:
5661
23.6k
    YYDEBUG(402, *YYCURSOR);
5662
23.6k
    yyaccept = 4;
5663
23.6k
    yych = *(YYMARKER = ++YYCURSOR);
5664
23.6k
    if (yych == 'N') goto yy499;
5665
22.6k
    if (yych == 'n') goto yy499;
5666
2.09k
    goto yy48;
5667
18.0k
yy403:
5668
18.0k
    YYDEBUG(403, *YYCURSOR);
5669
18.0k
    yyaccept = 4;
5670
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
5671
18.0k
    if (yych == 'L') goto yy500;
5672
16.8k
    if (yych == 'l') goto yy500;
5673
545
    goto yy48;
5674
24.9k
yy404:
5675
24.9k
    YYDEBUG(404, *YYCURSOR);
5676
24.9k
    yyaccept = 4;
5677
24.9k
    yych = *(YYMARKER = ++YYCURSOR);
5678
24.9k
    if (yych == 'A') goto yy502;
5679
24.3k
    if (yych == 'a') goto yy502;
5680
1.62k
    goto yy48;
5681
121k
yy405:
5682
121k
    YYDEBUG(405, *YYCURSOR);
5683
121k
    yyaccept = 4;
5684
121k
    yych = *(YYMARKER = ++YYCURSOR);
5685
121k
    if (yych == 'T') goto yy503;
5686
120k
    if (yych == 't') goto yy503;
5687
8.33k
    goto yy48;
5688
8.33k
yy406:
5689
6.72k
    YYDEBUG(406, *YYCURSOR);
5690
6.72k
    yyaccept = 4;
5691
6.72k
    yych = *(YYMARKER = ++YYCURSOR);
5692
6.72k
    if (yych == 'A') goto yy504;
5693
4.97k
    if (yych == 'a') goto yy504;
5694
617
    goto yy48;
5695
5.64k
yy407:
5696
5.64k
    YYDEBUG(407, *YYCURSOR);
5697
5.64k
    yyaccept = 32;
5698
5.64k
    yych = *(YYMARKER = ++YYCURSOR);
5699
5.64k
    if (yybm[256+yych] & 128) {
5700
1.01k
      goto yy47;
5701
1.01k
    }
5702
4.62k
    if (yych == '\\') goto yy164;
5703
4.62k
yy408:
5704
4.62k
    YYDEBUG(408, *YYCURSOR);
5705
4.62k
    yyleng = YYCURSOR - SCNG(yy_text);
5706
4.62k
#line 1541 "Zend/zend_language_scanner.l"
5707
4.62k
    {
5708
4.62k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5709
4.62k
}
5710
0
#line 5711 "Zend/zend_language_scanner.c"
5711
33.6k
yy409:
5712
33.6k
    YYDEBUG(409, *YYCURSOR);
5713
33.6k
    yyaccept = 4;
5714
33.6k
    yych = *(YYMARKER = ++YYCURSOR);
5715
33.6k
    if (yych == 'E') goto yy505;
5716
30.9k
    if (yych == 'e') goto yy505;
5717
2.95k
    goto yy48;
5718
12.7k
yy410:
5719
12.7k
    YYDEBUG(410, *YYCURSOR);
5720
12.7k
    yyaccept = 4;
5721
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5722
12.7k
    if (yych == 'U') goto yy506;
5723
11.8k
    if (yych == 'u') goto yy506;
5724
825
    goto yy48;
5725
20.8k
yy411:
5726
20.8k
    YYDEBUG(411, *YYCURSOR);
5727
20.8k
    yyaccept = 4;
5728
20.8k
    yych = *(YYMARKER = ++YYCURSOR);
5729
20.8k
    if (yych <= 'E') {
5730
2.67k
      if (yych == 'A') goto yy507;
5731
1.29k
      if (yych <= 'D') goto yy48;
5732
725
      goto yy508;
5733
18.2k
    } else {
5734
18.2k
      if (yych <= 'a') {
5735
7.49k
        if (yych <= '`') goto yy48;
5736
6.61k
        goto yy507;
5737
10.7k
      } else {
5738
10.7k
        if (yych == 'e') goto yy508;
5739
1.27k
        goto yy48;
5740
10.7k
      }
5741
18.2k
    }
5742
20.4k
yy412:
5743
20.4k
    YYDEBUG(412, *YYCURSOR);
5744
20.4k
    yyaccept = 4;
5745
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
5746
20.4k
    if (yych == 'R') goto yy509;
5747
19.8k
    if (yych == 'r') goto yy509;
5748
4.51k
    goto yy48;
5749
18.8k
yy413:
5750
18.8k
    YYDEBUG(413, *YYCURSOR);
5751
18.8k
    yyaccept = 4;
5752
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
5753
18.8k
    if (yych == 'T') goto yy510;
5754
18.2k
    if (yych == 't') goto yy510;
5755
506
    goto yy48;
5756
5.79k
yy414:
5757
5.79k
    YYDEBUG(414, *YYCURSOR);
5758
5.79k
    yyaccept = 33;
5759
5.79k
    yych = *(YYMARKER = ++YYCURSOR);
5760
5.79k
    if (yybm[256+yych] & 128) {
5761
1.08k
      goto yy47;
5762
1.08k
    }
5763
4.70k
    if (yych == '\\') goto yy164;
5764
4.56k
yy415:
5765
4.56k
    YYDEBUG(415, *YYCURSOR);
5766
4.56k
    yyleng = YYCURSOR - SCNG(yy_text);
5767
4.56k
#line 1813 "Zend/zend_language_scanner.l"
5768
4.56k
    {
5769
4.56k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5770
4.56k
}
5771
0
#line 5772 "Zend/zend_language_scanner.c"
5772
6.10k
yy416:
5773
6.10k
    YYDEBUG(416, *YYCURSOR);
5774
6.10k
    yyaccept = 4;
5775
6.10k
    yych = *(YYMARKER = ++YYCURSOR);
5776
6.10k
    if (yych == 'H') goto yy512;
5777
4.03k
    if (yych == 'h') goto yy512;
5778
549
    goto yy48;
5779
25.1k
yy417:
5780
25.1k
    YYDEBUG(417, *YYCURSOR);
5781
25.1k
    yyaccept = 4;
5782
25.1k
    yych = *(YYMARKER = ++YYCURSOR);
5783
25.1k
    if (yych == 'S') goto yy514;
5784
23.7k
    if (yych == 's') goto yy514;
5785
2.52k
    goto yy48;
5786
15.4k
yy418:
5787
15.4k
    YYDEBUG(418, *YYCURSOR);
5788
15.4k
    yyaccept = 4;
5789
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
5790
15.4k
    if (yych == 'T') goto yy515;
5791
14.7k
    if (yych == 't') goto yy515;
5792
1.10k
    goto yy48;
5793
20.3k
yy419:
5794
20.3k
    YYDEBUG(419, *YYCURSOR);
5795
20.3k
    yyaccept = 4;
5796
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
5797
20.3k
    if (yych == 'A') goto yy517;
5798
18.8k
    if (yych == 'a') goto yy517;
5799
1.16k
    goto yy48;
5800
13.2k
yy420:
5801
13.2k
    YYDEBUG(420, *YYCURSOR);
5802
13.2k
    yyaccept = 4;
5803
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
5804
13.2k
    if (yych == 'E') goto yy518;
5805
11.7k
    if (yych == 'e') goto yy518;
5806
1.12k
    goto yy48;
5807
66.1k
yy421:
5808
66.1k
    YYDEBUG(421, *YYCURSOR);
5809
66.1k
    yyaccept = 4;
5810
66.1k
    yych = *(YYMARKER = ++YYCURSOR);
5811
66.1k
    if (yych == 'I') goto yy519;
5812
64.7k
    if (yych == 'i') goto yy519;
5813
1.41k
    goto yy48;
5814
7.76k
yy422:
5815
7.76k
    YYDEBUG(422, *YYCURSOR);
5816
7.76k
    yyaccept = 4;
5817
7.76k
    yych = *(YYMARKER = ++YYCURSOR);
5818
7.76k
    if (yych == 'O') goto yy520;
5819
7.54k
    if (yych == 'o') goto yy520;
5820
932
    goto yy48;
5821
26.1k
yy423:
5822
26.1k
    YYDEBUG(423, *YYCURSOR);
5823
26.1k
    yyaccept = 4;
5824
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
5825
26.1k
    if (yych == 'I') goto yy521;
5826
24.4k
    if (yych == 'i') goto yy521;
5827
1.17k
    goto yy48;
5828
30.5k
yy424:
5829
30.5k
    YYDEBUG(424, *YYCURSOR);
5830
30.5k
    yyaccept = 4;
5831
30.5k
    yych = *(YYMARKER = ++YYCURSOR);
5832
30.5k
    if (yych == 'R') goto yy522;
5833
29.8k
    if (yych == 'r') goto yy522;
5834
1.05k
    goto yy48;
5835
23.2k
yy425:
5836
23.2k
    YYDEBUG(425, *YYCURSOR);
5837
23.2k
    yyaccept = 4;
5838
23.2k
    yych = *(YYMARKER = ++YYCURSOR);
5839
23.2k
    if (yych == 'I') goto yy523;
5840
22.1k
    if (yych == 'i') goto yy523;
5841
994
    goto yy48;
5842
8.71k
yy426:
5843
8.71k
    YYDEBUG(426, *YYCURSOR);
5844
8.71k
    yyaccept = 4;
5845
8.71k
    yych = *(YYMARKER = ++YYCURSOR);
5846
8.71k
    if (yych == 'C') goto yy524;
5847
7.84k
    if (yych == 'c') goto yy524;
5848
599
    goto yy48;
5849
15.2k
yy427:
5850
15.2k
    YYDEBUG(427, *YYCURSOR);
5851
15.2k
    yyaccept = 4;
5852
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
5853
15.2k
    if (yych == 'W') goto yy525;
5854
14.8k
    if (yych == 'w') goto yy525;
5855
1.06k
    goto yy48;
5856
12.6k
yy428:
5857
12.6k
    YYDEBUG(428, *YYCURSOR);
5858
12.6k
    yyaccept = 4;
5859
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5860
12.6k
    if (yych == 'T') goto yy527;
5861
11.9k
    if (yych == 't') goto yy527;
5862
3.59k
    goto yy48;
5863
14.6k
yy429:
5864
14.6k
    YYDEBUG(429, *YYCURSOR);
5865
14.6k
    yyaccept = 4;
5866
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
5867
14.6k
    if (yych == 'T') goto yy529;
5868
13.8k
    if (yych == 't') goto yy529;
5869
5.27k
    goto yy48;
5870
5.66k
yy430:
5871
5.66k
    YYDEBUG(430, *YYCURSOR);
5872
5.66k
    yyaccept = 4;
5873
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
5874
5.66k
    if (yych == 'E') goto yy531;
5875
5.10k
    if (yych == 'e') goto yy531;
5876
482
    goto yy48;
5877
109k
yy431:
5878
109k
    YYDEBUG(431, *YYCURSOR);
5879
109k
    yyaccept = 4;
5880
109k
    yych = *(YYMARKER = ++YYCURSOR);
5881
109k
    if (yych == 'D') goto yy533;
5882
107k
    if (yych == 'd') goto yy533;
5883
4.29k
    goto yy48;
5884
9.52k
yy432:
5885
9.52k
    YYDEBUG(432, *YYCURSOR);
5886
9.52k
    yyaccept = 4;
5887
9.52k
    yych = *(YYMARKER = ++YYCURSOR);
5888
9.52k
    if (yych == 'A') goto yy535;
5889
7.81k
    if (yych == 'a') goto yy535;
5890
1.22k
    goto yy48;
5891
8.19k
yy433:
5892
8.19k
    YYDEBUG(433, *YYCURSOR);
5893
8.19k
    yyaccept = 4;
5894
8.19k
    yych = *(YYMARKER = ++YYCURSOR);
5895
8.19k
    if (yych == 'R') goto yy536;
5896
4.09k
    if (yych == 'r') goto yy536;
5897
1.10k
    goto yy48;
5898
9.99k
yy434:
5899
9.99k
    YYDEBUG(434, *YYCURSOR);
5900
9.99k
    yyaccept = 4;
5901
9.99k
    yych = *(YYMARKER = ++YYCURSOR);
5902
9.99k
    if (yych == 'L') goto yy537;
5903
4.54k
    if (yych == 'l') goto yy537;
5904
1.10k
    goto yy48;
5905
10.2k
yy435:
5906
10.2k
    YYDEBUG(435, *YYCURSOR);
5907
10.2k
    yyaccept = 4;
5908
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
5909
10.2k
    if (yych == 'N') goto yy538;
5910
5.87k
    if (yych == 'n') goto yy538;
5911
786
    goto yy48;
5912
9.30k
yy436:
5913
9.30k
    YYDEBUG(436, *YYCURSOR);
5914
9.30k
    yyaccept = 4;
5915
9.30k
    yych = *(YYMARKER = ++YYCURSOR);
5916
9.30k
    if (yych == 'L') goto yy539;
5917
7.58k
    if (yych == 'l') goto yy539;
5918
1.83k
    goto yy48;
5919
5.50k
yy437:
5920
5.50k
    YYDEBUG(437, *YYCURSOR);
5921
5.50k
    yyaccept = 4;
5922
5.50k
    yych = *(YYMARKER = ++YYCURSOR);
5923
5.50k
    if (yych == 'N') goto yy540;
5924
3.34k
    if (yych == 'n') goto yy540;
5925
512
    goto yy48;
5926
17.1k
yy438:
5927
17.1k
    YYDEBUG(438, *YYCURSOR);
5928
17.1k
    yyaccept = 4;
5929
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
5930
17.1k
    if (yych == 'T') goto yy541;
5931
5.05k
    if (yych == 't') goto yy541;
5932
978
    goto yy48;
5933
9.43k
yy439:
5934
9.43k
    YYDEBUG(439, *YYCURSOR);
5935
9.43k
    yyaccept = 4;
5936
9.43k
    yych = *(YYMARKER = ++YYCURSOR);
5937
9.43k
    if (yych == 'M') goto yy542;
5938
4.33k
    if (yych == 'm') goto yy542;
5939
490
    goto yy48;
5940
6.20k
yy440:
5941
6.20k
    YYDEBUG(440, *YYCURSOR);
5942
6.20k
    yyaccept = 4;
5943
6.20k
    yych = *(YYMARKER = ++YYCURSOR);
5944
6.20k
    if (yych == 'O') goto yy543;
5945
1.28k
    if (yych == 'o') goto yy543;
5946
516
    goto yy48;
5947
7.67k
yy441:
5948
7.67k
    YYDEBUG(441, *YYCURSOR);
5949
7.67k
    yyaccept = 4;
5950
7.67k
    yych = *(YYMARKER = ++YYCURSOR);
5951
7.67k
    if (yych == 'A') goto yy544;
5952
6.34k
    if (yych == 'a') goto yy544;
5953
1.11k
    goto yy48;
5954
3.11k
yy442:
5955
3.11k
    YYDEBUG(442, *YYCURSOR);
5956
3.11k
    ++YYCURSOR;
5957
3.11k
    YYFILL(1);
5958
3.11k
    yych = *YYCURSOR;
5959
3.11k
    if (yych <= '\f') {
5960
835
      if (yych <= 0x00) goto yy86;
5961
634
      if (yych == '\n') goto yy84;
5962
205
      goto yy225;
5963
2.28k
    } else {
5964
2.28k
      if (yych <= '\r') goto yy84;
5965
2.20k
      if (yych == '.') goto yy352;
5966
1.84k
      goto yy225;
5967
2.20k
    }
5968
406k
yy443:
5969
406k
    YYDEBUG(443, *YYCURSOR);
5970
406k
    ++YYCURSOR;
5971
406k
    YYFILL(1);
5972
406k
    yych = *YYCURSOR;
5973
406k
    YYDEBUG(444, *YYCURSOR);
5974
406k
    if (yybm[0+yych] & 128) {
5975
334k
      goto yy443;
5976
334k
    }
5977
71.7k
    if (yych <= 0x00) goto yy86;
5978
69.1k
    if (yych <= '\r') goto yy545;
5979
13.9k
    goto yy547;
5980
13.9k
yy445:
5981
10.0k
    YYDEBUG(445, *YYCURSOR);
5982
10.0k
    yych = *++YYCURSOR;
5983
10.0k
    if (yych == 'Y') goto yy549;
5984
9.81k
    if (yych == 'y') goto yy549;
5985
577
    goto yy86;
5986
2.28k
yy446:
5987
2.28k
    YYDEBUG(446, *YYCURSOR);
5988
2.28k
    yych = *++YYCURSOR;
5989
2.28k
    if (yych == 'R') goto yy551;
5990
2.07k
    if (yych == 'r') goto yy551;
5991
760
    goto yy86;
5992
3.54k
yy447:
5993
3.54k
    YYDEBUG(447, *YYCURSOR);
5994
3.54k
    yych = *++YYCURSOR;
5995
3.54k
    if (yych == 'E') goto yy556;
5996
2.72k
    if (yych == 'e') goto yy556;
5997
2.04k
    goto yy553;
5998
2.97k
yy448:
5999
2.97k
    YYDEBUG(448, *YYCURSOR);
6000
2.97k
    yych = *++YYCURSOR;
6001
2.97k
    if (yych == 'L') goto yy557;
6002
2.74k
    if (yych == 'l') goto yy557;
6003
538
    goto yy86;
6004
2.94k
yy449:
6005
2.94k
    YYDEBUG(449, *YYCURSOR);
6006
2.94k
    yych = *++YYCURSOR;
6007
2.94k
    if (yych == 'T') goto yy558;
6008
2.69k
    if (yych == 't') goto yy558;
6009
385
    goto yy86;
6010
2.88k
yy450:
6011
2.88k
    YYDEBUG(450, *YYCURSOR);
6012
2.88k
    ++YYCURSOR;
6013
2.88k
    YYFILL(1);
6014
2.88k
    yych = *YYCURSOR;
6015
8.99k
yy451:
6016
8.99k
    YYDEBUG(451, *YYCURSOR);
6017
8.99k
    if (yych <= 0x1F) {
6018
555
      if (yych == '\t') goto yy450;
6019
308
      goto yy86;
6020
8.44k
    } else {
6021
8.44k
      if (yych <= ' ') goto yy450;
6022
5.80k
      if (yych != ')') goto yy86;
6023
5.80k
    }
6024
2.89k
    YYDEBUG(452, *YYCURSOR);
6025
2.89k
    ++YYCURSOR;
6026
2.89k
    YYDEBUG(453, *YYCURSOR);
6027
2.89k
    yyleng = YYCURSOR - SCNG(yy_text);
6028
2.89k
#line 1637 "Zend/zend_language_scanner.l"
6029
2.89k
    {
6030
2.89k
  RETURN_TOKEN(T_INT_CAST);
6031
2.89k
}
6032
0
#line 6033 "Zend/zend_language_scanner.c"
6033
4.29k
yy454:
6034
4.29k
    YYDEBUG(454, *YYCURSOR);
6035
4.29k
    yych = *++YYCURSOR;
6036
4.29k
    if (yych == 'G') goto yy560;
6037
4.02k
    if (yych == 'g') goto yy560;
6038
1.61k
    goto yy86;
6039
3.26k
yy455:
6040
3.26k
    YYDEBUG(455, *YYCURSOR);
6041
3.26k
    yych = *++YYCURSOR;
6042
3.26k
    if (yych == 'C') goto yy561;
6043
3.04k
    if (yych == 'c') goto yy561;
6044
667
    goto yy86;
6045
3.51k
yy456:
6046
3.51k
    YYDEBUG(456, *YYCURSOR);
6047
3.51k
    ++YYCURSOR;
6048
3.51k
    YYFILL(1);
6049
3.51k
    yych = *YYCURSOR;
6050
3.51k
    YYDEBUG(457, *YYCURSOR);
6051
3.51k
    if (yych <= 0x1F) {
6052
1.43k
      if (yych == '\t') goto yy456;
6053
260
      goto yy86;
6054
2.07k
    } else {
6055
2.07k
      if (yych <= ' ') goto yy456;
6056
1.85k
      if (yych == ')') goto yy562;
6057
710
      goto yy86;
6058
1.85k
    }
6059
10.1k
yy458:
6060
10.1k
    YYDEBUG(458, *YYCURSOR);
6061
10.1k
    yych = *++YYCURSOR;
6062
10.1k
    if (yych == 'N') goto yy564;
6063
9.96k
    if (yych == 'n') goto yy564;
6064
2.67k
    goto yy86;
6065
2.83k
yy459:
6066
2.83k
    YYDEBUG(459, *YYCURSOR);
6067
2.83k
    yych = *++YYCURSOR;
6068
2.83k
    if (yych == 'T') goto yy565;
6069
2.38k
    if (yych == 't') goto yy565;
6070
1.13k
    goto yy86;
6071
2.32k
yy460:
6072
2.32k
    YYDEBUG(460, *YYCURSOR);
6073
2.32k
    ++YYCURSOR;
6074
2.32k
    YYFILL(1);
6075
2.32k
    yych = *YYCURSOR;
6076
2.32k
    YYDEBUG(461, *YYCURSOR);
6077
2.32k
    if (yych <= 0x1F) {
6078
1.01k
      if (yych == '\t') goto yy460;
6079
441
      goto yy86;
6080
1.30k
    } else {
6081
1.30k
      if (yych <= ' ') goto yy460;
6082
1.05k
      if (yych == ')') goto yy567;
6083
348
      goto yy86;
6084
1.05k
    }
6085
27.4k
yy462:
6086
27.4k
    YYDEBUG(462, *YYCURSOR);
6087
27.4k
    ++YYCURSOR;
6088
27.4k
    YYFILL(3);
6089
27.4k
    yych = *YYCURSOR;
6090
33.5k
yy463:
6091
33.5k
    YYDEBUG(463, *YYCURSOR);
6092
33.5k
    if (yych <= 'Z') {
6093
16.4k
      if (yych <= '/') {
6094
4.19k
        if (yych == '"') goto yy569;
6095
2.90k
        goto yy86;
6096
12.2k
      } else {
6097
12.2k
        if (yych <= '9') goto yy462;
6098
3.11k
        if (yych <= '@') goto yy86;
6099
2.14k
        goto yy462;
6100
3.11k
      }
6101
17.0k
    } else {
6102
17.0k
      if (yych <= '`') {
6103
3.13k
        if (yych == '_') goto yy462;
6104
408
        goto yy86;
6105
13.9k
      } else {
6106
13.9k
        if (yych <= 'z') goto yy462;
6107
3.27k
        if (yych <= 0x7F) goto yy86;
6108
2.76k
        goto yy462;
6109
3.27k
      }
6110
17.0k
    }
6111
39.2k
yy464:
6112
39.2k
    YYDEBUG(464, *YYCURSOR);
6113
39.2k
    ++YYCURSOR;
6114
39.2k
    YYFILL(3);
6115
39.2k
    yych = *YYCURSOR;
6116
52.4k
yy465:
6117
52.4k
    YYDEBUG(465, *YYCURSOR);
6118
52.4k
    if (yych <= 'Z') {
6119
19.5k
      if (yych <= '/') {
6120
11.0k
        if (yych == '\'') goto yy569;
6121
941
        goto yy86;
6122
11.0k
      } else {
6123
8.50k
        if (yych <= '9') goto yy464;
6124
8.29k
        if (yych <= '@') goto yy86;
6125
7.17k
        goto yy464;
6126
8.29k
      }
6127
32.8k
    } else {
6128
32.8k
      if (yych <= '`') {
6129
3.97k
        if (yych == '_') goto yy464;
6130
428
        goto yy86;
6131
28.8k
      } else {
6132
28.8k
        if (yych <= 'z') goto yy464;
6133
8.39k
        if (yych <= 0x7F) goto yy86;
6134
7.84k
        goto yy464;
6135
8.39k
      }
6136
32.8k
    }
6137
4.58M
yy466:
6138
4.58M
    YYDEBUG(466, *YYCURSOR);
6139
4.58M
    ++YYCURSOR;
6140
4.61M
yy467:
6141
4.61M
    YYDEBUG(467, *YYCURSOR);
6142
4.61M
    yyleng = YYCURSOR - SCNG(yy_text);
6143
4.61M
#line 2677 "Zend/zend_language_scanner.l"
6144
4.61M
    {
6145
4.61M
  char *s;
6146
4.61M
  unsigned char *saved_cursor;
6147
4.61M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6148
4.61M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6149
4.61M
  bool is_heredoc = 1;
6150
6151
4.61M
  CG(zend_lineno)++;
6152
4.61M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6153
4.61M
  s = yytext+bprefix+3;
6154
4.62M
  while ((*s == ' ') || (*s == '\t')) {
6155
15.3k
    s++;
6156
15.3k
    heredoc_label->length--;
6157
15.3k
  }
6158
6159
4.61M
  if (*s == '\'') {
6160
9.36k
    s++;
6161
9.36k
    heredoc_label->length -= 2;
6162
9.36k
    is_heredoc = 0;
6163
6164
9.36k
    BEGIN(ST_NOWDOC);
6165
4.60M
  } else {
6166
4.60M
    if (*s == '"') {
6167
311
      s++;
6168
311
      heredoc_label->length -= 2;
6169
311
    }
6170
6171
4.60M
    BEGIN(ST_HEREDOC);
6172
4.60M
  }
6173
6174
4.61M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6175
4.61M
  heredoc_label->indentation_uses_spaces = 0;
6176
4.61M
  heredoc_label->indentation = 0;
6177
4.61M
  saved_cursor = YYCURSOR;
6178
6179
4.61M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6180
6181
4.73M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6182
120k
    if (*YYCURSOR == '\t') {
6183
36.6k
      spacing |= HEREDOC_USING_TABS;
6184
83.3k
    } else {
6185
83.3k
      spacing |= HEREDOC_USING_SPACES;
6186
83.3k
    }
6187
120k
    ++YYCURSOR;
6188
120k
    ++indentation;
6189
120k
  }
6190
6191
4.61M
  if (YYCURSOR == YYLIMIT) {
6192
1.65k
    YYCURSOR = saved_cursor;
6193
1.65k
    RETURN_TOKEN(T_START_HEREDOC);
6194
1.65k
  }
6195
6196
  /* Check for ending label on the next line */
6197
4.61M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6198
9.40k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6199
4.54k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6200
91
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6201
91
        if (PARSER_MODE()) {
6202
12
          RETURN_TOKEN(T_ERROR);
6203
12
        }
6204
91
      }
6205
6206
4.53k
      YYCURSOR = saved_cursor;
6207
4.53k
      heredoc_label->indentation = indentation;
6208
6209
4.53k
      BEGIN(ST_END_HEREDOC);
6210
4.53k
      RETURN_TOKEN(T_START_HEREDOC);
6211
4.53k
    }
6212
9.40k
  }
6213
6214
4.60M
  YYCURSOR = saved_cursor;
6215
6216
4.60M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6217
184k
    zend_lex_state current_state;
6218
184k
    zend_string *saved_doc_comment = CG(doc_comment);
6219
184k
    int heredoc_nesting_level = 1;
6220
184k
    int first_token = 0;
6221
184k
    int error = 0;
6222
6223
184k
    zend_save_lexical_state(&current_state);
6224
6225
184k
    SCNG(heredoc_scan_ahead) = 1;
6226
184k
    SCNG(heredoc_indentation) = 0;
6227
184k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6228
184k
    SCNG(on_event_context) = NULL;
6229
184k
    LANG_SCNG(on_event) = NULL;
6230
184k
    CG(doc_comment) = NULL;
6231
6232
184k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6233
6234
184k
    zend_exception_save();
6235
30.8M
    while (heredoc_nesting_level) {
6236
30.8M
      zval zv;
6237
30.8M
      int retval;
6238
6239
30.8M
      ZVAL_UNDEF(&zv);
6240
30.8M
      retval = lex_scan(&zv, NULL);
6241
30.8M
      zval_ptr_dtor_nogc(&zv);
6242
6243
30.8M
      if (EG(exception)) {
6244
176k
        zend_clear_exception();
6245
176k
        break;
6246
176k
      }
6247
6248
30.7M
      if (!first_token) {
6249
184k
        first_token = retval;
6250
184k
      }
6251
6252
30.7M
      switch (retval) {
6253
4.42M
        case T_START_HEREDOC:
6254
4.42M
          ++heredoc_nesting_level;
6255
4.42M
          break;
6256
20.1k
        case T_END_HEREDOC:
6257
20.1k
          --heredoc_nesting_level;
6258
20.1k
          break;
6259
3.26k
        case END:
6260
3.26k
          heredoc_nesting_level = 0;
6261
30.7M
      }
6262
30.7M
    }
6263
184k
    zend_exception_restore();
6264
6265
184k
    if (
6266
184k
        (first_token == T_VARIABLE
6267
177k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6268
50.9k
         || first_token == T_CURLY_OPEN
6269
184k
        ) && SCNG(heredoc_indentation)) {
6270
8
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6271
8
      error = 1;
6272
8
    }
6273
6274
184k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6275
184k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6276
6277
184k
    zend_restore_lexical_state(&current_state);
6278
184k
    SCNG(heredoc_scan_ahead) = 0;
6279
184k
    CG(increment_lineno) = 0;
6280
184k
    CG(doc_comment) = saved_doc_comment;
6281
6282
184k
    if (PARSER_MODE() && error) {
6283
8
      RETURN_TOKEN(T_ERROR);
6284
8
    }
6285
184k
  }
6286
6287
4.60M
  RETURN_TOKEN(T_START_HEREDOC);
6288
4.60M
}
6289
0
#line 6290 "Zend/zend_language_scanner.c"
6290
25.7k
yy468:
6291
25.7k
    YYDEBUG(468, *YYCURSOR);
6292
25.7k
    yych = *++YYCURSOR;
6293
25.7k
    if (yych == '\n') goto yy466;
6294
25.2k
    goto yy467;
6295
25.2k
yy469:
6296
8.25k
    YYDEBUG(469, *YYCURSOR);
6297
8.25k
    yyaccept = 4;
6298
8.25k
    yych = *(YYMARKER = ++YYCURSOR);
6299
8.25k
    if (yych == 'A') goto yy570;
6300
6.93k
    if (yych == 'a') goto yy570;
6301
357
    goto yy48;
6302
25.0k
yy470:
6303
25.0k
    YYDEBUG(470, *YYCURSOR);
6304
25.0k
    yyaccept = 34;
6305
25.0k
    yych = *(YYMARKER = ++YYCURSOR);
6306
25.0k
    if (yybm[256+yych] & 128) {
6307
6.79k
      goto yy47;
6308
6.79k
    }
6309
18.2k
    if (yych == '\\') goto yy164;
6310
18.0k
yy471:
6311
18.0k
    YYDEBUG(471, *YYCURSOR);
6312
18.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6313
18.0k
#line 1817 "Zend/zend_language_scanner.l"
6314
18.0k
    {
6315
18.0k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6316
18.0k
}
6317
0
#line 6318 "Zend/zend_language_scanner.c"
6318
3.83k
yy472:
6319
3.83k
    YYDEBUG(472, *YYCURSOR);
6320
3.83k
    yyaccept = 35;
6321
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
6322
3.83k
    if (yybm[256+yych] & 128) {
6323
670
      goto yy47;
6324
670
    }
6325
3.16k
    if (yych == '\\') goto yy164;
6326
3.13k
yy473:
6327
3.13k
    YYDEBUG(473, *YYCURSOR);
6328
3.13k
    yyleng = YYCURSOR - SCNG(yy_text);
6329
3.13k
#line 1533 "Zend/zend_language_scanner.l"
6330
3.13k
    {
6331
3.13k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6332
3.13k
}
6333
0
#line 6334 "Zend/zend_language_scanner.c"
6334
5.13k
yy474:
6335
5.13k
    YYDEBUG(474, *YYCURSOR);
6336
5.13k
    yyaccept = 4;
6337
5.13k
    yych = *(YYMARKER = ++YYCURSOR);
6338
5.13k
    if (yych == 'B') goto yy571;
6339
4.53k
    if (yych == 'b') goto yy571;
6340
382
    goto yy48;
6341
48.0k
yy475:
6342
48.0k
    YYDEBUG(475, *YYCURSOR);
6343
48.0k
    yyaccept = 36;
6344
48.0k
    yych = *(YYMARKER = ++YYCURSOR);
6345
48.0k
    if (yybm[256+yych] & 128) {
6346
568
      goto yy47;
6347
568
    }
6348
47.4k
    if (yych == '\\') goto yy164;
6349
47.2k
yy476:
6350
47.2k
    YYDEBUG(476, *YYCURSOR);
6351
47.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6352
47.2k
#line 1441 "Zend/zend_language_scanner.l"
6353
47.2k
    {
6354
47.2k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6355
47.2k
}
6356
0
#line 6357 "Zend/zend_language_scanner.c"
6357
79.6k
yy477:
6358
79.6k
    YYDEBUG(477, *YYCURSOR);
6359
79.6k
    yyaccept = 37;
6360
79.6k
    yych = *(YYMARKER = ++YYCURSOR);
6361
79.6k
    if (yybm[256+yych] & 128) {
6362
5.56k
      goto yy47;
6363
5.56k
    }
6364
74.0k
    if (yych == '\\') goto yy164;
6365
74.0k
yy478:
6366
74.0k
    YYDEBUG(478, *YYCURSOR);
6367
74.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6368
74.0k
#line 1553 "Zend/zend_language_scanner.l"
6369
74.0k
    {
6370
74.0k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6371
74.0k
}
6372
0
#line 6373 "Zend/zend_language_scanner.c"
6373
5.98k
yy479:
6374
5.98k
    YYDEBUG(479, *YYCURSOR);
6375
5.98k
    yyaccept = 38;
6376
5.98k
    yych = *(YYMARKER = ++YYCURSOR);
6377
5.98k
    if (yybm[256+yych] & 128) {
6378
705
      goto yy47;
6379
705
    }
6380
5.27k
    if (yych == '\\') goto yy164;
6381
4.85k
yy480:
6382
4.85k
    YYDEBUG(480, *YYCURSOR);
6383
4.85k
    yyleng = YYCURSOR - SCNG(yy_text);
6384
4.85k
#line 1629 "Zend/zend_language_scanner.l"
6385
4.85k
    {
6386
4.85k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6387
4.85k
}
6388
0
#line 6389 "Zend/zend_language_scanner.c"
6389
45.9k
yy481:
6390
45.9k
    YYDEBUG(481, *YYCURSOR);
6391
45.9k
    yyaccept = 39;
6392
45.9k
    yych = *(YYMARKER = ++YYCURSOR);
6393
45.9k
    if (yybm[256+yych] & 128) {
6394
3.99k
      goto yy47;
6395
3.99k
    }
6396
41.9k
    if (yych == '\\') goto yy164;
6397
41.8k
yy482:
6398
41.8k
    YYDEBUG(482, *YYCURSOR);
6399
41.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6400
41.8k
#line 1414 "Zend/zend_language_scanner.l"
6401
41.8k
    {
6402
41.8k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6403
41.8k
}
6404
0
#line 6405 "Zend/zend_language_scanner.c"
6405
7.14k
yy483:
6406
7.14k
    YYDEBUG(483, *YYCURSOR);
6407
7.14k
    yyaccept = 4;
6408
7.14k
    yych = *(YYMARKER = ++YYCURSOR);
6409
7.14k
    if (yych == 'N') goto yy572;
6410
4.25k
    if (yych == 'n') goto yy572;
6411
1.02k
    goto yy48;
6412
8.22k
yy484:
6413
8.22k
    YYDEBUG(484, *YYCURSOR);
6414
8.22k
    yyaccept = 4;
6415
8.22k
    yych = *(YYMARKER = ++YYCURSOR);
6416
8.22k
    if (yych == 'R') goto yy573;
6417
7.34k
    if (yych == 'r') goto yy573;
6418
1.84k
    goto yy48;
6419
3.73k
yy485:
6420
3.73k
    YYDEBUG(485, *YYCURSOR);
6421
3.73k
    yyaccept = 4;
6422
3.73k
    yych = *(YYMARKER = ++YYCURSOR);
6423
3.73k
    if (yych == 'L') goto yy574;
6424
3.43k
    if (yych == 'l') goto yy574;
6425
807
    goto yy48;
6426
4.52k
yy486:
6427
4.52k
    YYDEBUG(486, *YYCURSOR);
6428
4.52k
    yyaccept = 4;
6429
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
6430
4.52k
    if (yych == 'F') goto yy575;
6431
4.21k
    if (yych == 'f') goto yy575;
6432
1.35k
    goto yy48;
6433
9.17k
yy487:
6434
9.17k
    YYDEBUG(487, *YYCURSOR);
6435
9.17k
    yyaccept = 40;
6436
9.17k
    yych = *(YYMARKER = ++YYCURSOR);
6437
9.17k
    if (yybm[256+yych] & 128) {
6438
974
      goto yy47;
6439
974
    }
6440
8.20k
    if (yych == '\\') goto yy164;
6441
8.06k
yy488:
6442
8.06k
    YYDEBUG(488, *YYCURSOR);
6443
8.06k
    yyleng = YYCURSOR - SCNG(yy_text);
6444
8.06k
#line 1757 "Zend/zend_language_scanner.l"
6445
8.06k
    {
6446
8.06k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6447
8.06k
}
6448
0
#line 6449 "Zend/zend_language_scanner.c"
6449
8.00k
yy489:
6450
8.00k
    YYDEBUG(489, *YYCURSOR);
6451
8.00k
    yyaccept = 4;
6452
8.00k
    yych = *(YYMARKER = ++YYCURSOR);
6453
8.00k
    if (yych == 'C') goto yy577;
6454
5.34k
    if (yych == 'c') goto yy577;
6455
1.61k
    goto yy48;
6456
12.9k
yy490:
6457
12.9k
    YYDEBUG(490, *YYCURSOR);
6458
12.9k
    yyaccept = 4;
6459
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
6460
12.9k
    if (yych == 'R') goto yy578;
6461
8.43k
    if (yych == 'r') goto yy578;
6462
622
    goto yy48;
6463
7.79k
yy491:
6464
7.79k
    YYDEBUG(491, *YYCURSOR);
6465
7.79k
    yyaccept = 41;
6466
7.79k
    yych = *(YYMARKER = ++YYCURSOR);
6467
7.79k
    if (yybm[256+yych] & 128) {
6468
327
      goto yy47;
6469
327
    }
6470
7.46k
    if (yych == '\\') goto yy164;
6471
7.46k
yy492:
6472
7.46k
    YYDEBUG(492, *YYCURSOR);
6473
7.46k
    yyleng = YYCURSOR - SCNG(yy_text);
6474
7.46k
#line 1461 "Zend/zend_language_scanner.l"
6475
7.46k
    {
6476
7.46k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6477
7.46k
}
6478
0
#line 6479 "Zend/zend_language_scanner.c"
6479
5.17k
yy493:
6480
5.17k
    YYDEBUG(493, *YYCURSOR);
6481
5.17k
    yyaccept = 4;
6482
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
6483
5.17k
    if (yych == 'I') goto yy580;
6484
4.49k
    if (yych == 'i') goto yy580;
6485
730
    goto yy48;
6486
9.96k
yy494:
6487
9.96k
    YYDEBUG(494, *YYCURSOR);
6488
9.96k
    yyaccept = 4;
6489
9.96k
    yych = *(YYMARKER = ++YYCURSOR);
6490
9.96k
    if (yych == 'I') goto yy581;
6491
7.38k
    if (yych == 'i') goto yy581;
6492
1.34k
    goto yy48;
6493
697k
yy495:
6494
697k
    YYDEBUG(495, *YYCURSOR);
6495
697k
    ++YYCURSOR;
6496
697k
    YYFILL(10);
6497
697k
    yych = *YYCURSOR;
6498
697k
    YYDEBUG(496, *YYCURSOR);
6499
697k
    if (yych <= 'E') {
6500
656k
      if (yych <= ' ') {
6501
63.5k
        if (yych <= '\f') {
6502
21.7k
          if (yych <= 0x08) goto yy86;
6503
17.4k
          if (yych <= '\n') goto yy495;
6504
1.51k
          goto yy86;
6505
41.8k
        } else {
6506
41.8k
          if (yych <= '\r') goto yy495;
6507
9.07k
          if (yych <= 0x1F) goto yy86;
6508
7.10k
          goto yy495;
6509
9.07k
        }
6510
592k
      } else {
6511
592k
        if (yych <= '.') {
6512
573k
          if (yych != '#') goto yy86;
6513
573k
        } else {
6514
18.9k
          if (yych <= '/') goto yy498;
6515
6.21k
          if (yych <= '@') goto yy86;
6516
2.11k
          if (yych <= 'D') goto yy582;
6517
738
          goto yy584;
6518
2.11k
        }
6519
592k
      }
6520
656k
    } else {
6521
40.9k
      if (yych <= '`') {
6522
7.89k
        if (yych <= 'Z') {
6523
4.60k
          if (yych == 'I') goto yy585;
6524
2.68k
          goto yy582;
6525
4.60k
        } else {
6526
3.28k
          if (yych == '_') goto yy582;
6527
1.03k
          goto yy86;
6528
3.28k
        }
6529
33.1k
      } else {
6530
33.1k
        if (yych <= 'h') {
6531
12.4k
          if (yych == 'e') goto yy584;
6532
3.52k
          goto yy582;
6533
20.6k
        } else {
6534
20.6k
          if (yych <= 'i') goto yy585;
6535
15.0k
          if (yych <= 'z') goto yy582;
6536
9.50k
          if (yych <= 0x7F) goto yy86;
6537
7.58k
          goto yy582;
6538
9.50k
        }
6539
33.1k
      }
6540
40.9k
    }
6541
569k
yy497:
6542
569k
    YYDEBUG(497, *YYCURSOR);
6543
569k
    ++YYCURSOR;
6544
569k
    YYFILL(1);
6545
569k
    yych = *YYCURSOR;
6546
569k
    if (yych <= '\f') {
6547
423k
      if (yych <= 0x00) goto yy86;
6548
422k
      if (yych == '\n') goto yy588;
6549
7.19k
      goto yy586;
6550
422k
    } else {
6551
146k
      if (yych <= '\r') goto yy588;
6552
50.5k
      if (yych == '[') goto yy86;
6553
49.9k
      goto yy586;
6554
50.5k
    }
6555
13.3k
yy498:
6556
13.3k
    YYDEBUG(498, *YYCURSOR);
6557
13.3k
    ++YYCURSOR;
6558
13.3k
    YYFILL(1);
6559
13.3k
    yych = *YYCURSOR;
6560
13.3k
    if (yych == '*') goto yy590;
6561
3.78k
    if (yych == '/') goto yy586;
6562
2.07k
    goto yy86;
6563
21.5k
yy499:
6564
21.5k
    YYDEBUG(499, *YYCURSOR);
6565
21.5k
    yyaccept = 4;
6566
21.5k
    yych = *(YYMARKER = ++YYCURSOR);
6567
21.5k
    if (yych == 'D') goto yy592;
6568
20.9k
    if (yych == 'd') goto yy592;
6569
3.49k
    goto yy48;
6570
17.5k
yy500:
6571
17.5k
    YYDEBUG(500, *YYCURSOR);
6572
17.5k
    yyaccept = 42;
6573
17.5k
    yych = *(YYMARKER = ++YYCURSOR);
6574
17.5k
    if (yych <= '\\') {
6575
10.6k
      if (yych <= 'K') {
6576
9.58k
        if (yych <= '/') goto yy501;
6577
2.32k
        if (yych <= '9') goto yy47;
6578
1.48k
        if (yych >= 'A') goto yy47;
6579
1.48k
      } else {
6580
1.02k
        if (yych <= 'L') goto yy593;
6581
559
        if (yych <= 'Z') goto yy47;
6582
332
        if (yych >= '\\') goto yy164;
6583
332
      }
6584
10.6k
    } else {
6585
6.90k
      if (yych <= 'k') {
6586
1.42k
        if (yych == '_') goto yy47;
6587
1.20k
        if (yych >= 'a') goto yy47;
6588
5.47k
      } else {
6589
5.47k
        if (yych <= 'l') goto yy593;
6590
1.25k
        if (yych <= 'z') goto yy47;
6591
975
        if (yych >= 0x80) goto yy47;
6592
975
      }
6593
6.90k
    }
6594
9.37k
yy501:
6595
9.37k
    YYDEBUG(501, *YYCURSOR);
6596
9.37k
    yyleng = YYCURSOR - SCNG(yy_text);
6597
9.37k
#line 1773 "Zend/zend_language_scanner.l"
6598
9.37k
    {
6599
9.37k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6600
9.37k
}
6601
0
#line 6602 "Zend/zend_language_scanner.c"
6602
23.3k
yy502:
6603
23.3k
    YYDEBUG(502, *YYCURSOR);
6604
23.3k
    yyaccept = 4;
6605
23.3k
    yych = *(YYMARKER = ++YYCURSOR);
6606
23.3k
    if (yych == 'C') goto yy594;
6607
22.6k
    if (yych == 'c') goto yy594;
6608
2.35k
    goto yy48;
6609
112k
yy503:
6610
112k
    YYDEBUG(503, *YYCURSOR);
6611
112k
    yyaccept = 4;
6612
112k
    yych = *(YYMARKER = ++YYCURSOR);
6613
112k
    if (yych == 'I') goto yy595;
6614
111k
    if (yych == 'i') goto yy595;
6615
1.66k
    goto yy48;
6616
6.10k
yy504:
6617
6.10k
    YYDEBUG(504, *YYCURSOR);
6618
6.10k
    yyaccept = 4;
6619
6.10k
    yych = *(YYMARKER = ++YYCURSOR);
6620
6.10k
    if (yych == 'L') goto yy596;
6621
3.98k
    if (yych == 'l') goto yy596;
6622
414
    goto yy48;
6623
30.7k
yy505:
6624
30.7k
    YYDEBUG(505, *YYCURSOR);
6625
30.7k
    yyaccept = 4;
6626
30.7k
    yych = *(YYMARKER = ++YYCURSOR);
6627
30.7k
    if (yych == 'M') goto yy598;
6628
22.7k
    if (yych == 'm') goto yy598;
6629
10.1k
    goto yy48;
6630
11.9k
yy506:
6631
11.9k
    YYDEBUG(506, *YYCURSOR);
6632
11.9k
    yyaccept = 4;
6633
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
6634
11.9k
    if (yych == 'D') goto yy599;
6635
10.9k
    if (yych == 'd') goto yy599;
6636
679
    goto yy48;
6637
8.00k
yy507:
6638
8.00k
    YYDEBUG(507, *YYCURSOR);
6639
8.00k
    yyaccept = 4;
6640
8.00k
    yych = *(YYMARKER = ++YYCURSOR);
6641
8.00k
    if (yych == 'N') goto yy600;
6642
6.96k
    if (yych == 'n') goto yy600;
6643
1.26k
    goto yy48;
6644
10.1k
yy508:
6645
10.1k
    YYDEBUG(508, *YYCURSOR);
6646
10.1k
    yyaccept = 4;
6647
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
6648
10.1k
    if (yych == 'A') goto yy601;
6649
9.22k
    if (yych == 'a') goto yy601;
6650
3.04k
    goto yy48;
6651
15.9k
yy509:
6652
15.9k
    YYDEBUG(509, *YYCURSOR);
6653
15.9k
    yyaccept = 4;
6654
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
6655
15.9k
    if (yych == 'F') goto yy602;
6656
15.3k
    if (yych == 'f') goto yy602;
6657
1.22k
    goto yy48;
6658
18.3k
yy510:
6659
18.3k
    YYDEBUG(510, *YYCURSOR);
6660
18.3k
    yyaccept = 43;
6661
18.3k
    yych = *(YYMARKER = ++YYCURSOR);
6662
18.3k
    if (yybm[256+yych] & 128) {
6663
3.85k
      goto yy47;
6664
3.85k
    }
6665
14.4k
    if (yych == '\\') goto yy164;
6666
14.4k
yy511:
6667
14.4k
    YYDEBUG(511, *YYCURSOR);
6668
14.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6669
14.4k
#line 1753 "Zend/zend_language_scanner.l"
6670
14.4k
    {
6671
14.4k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6672
14.4k
}
6673
0
#line 6674 "Zend/zend_language_scanner.c"
6674
5.55k
yy512:
6675
5.55k
    YYDEBUG(512, *YYCURSOR);
6676
5.55k
    yyaccept = 44;
6677
5.55k
    yych = *(YYMARKER = ++YYCURSOR);
6678
5.55k
    if (yybm[256+yych] & 128) {
6679
437
      goto yy47;
6680
437
    }
6681
5.12k
    if (yych == '\\') goto yy164;
6682
5.03k
yy513:
6683
5.03k
    YYDEBUG(513, *YYCURSOR);
6684
5.03k
    yyleng = YYCURSOR - SCNG(yy_text);
6685
5.03k
#line 1517 "Zend/zend_language_scanner.l"
6686
5.03k
    {
6687
5.03k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6688
5.03k
}
6689
0
#line 6690 "Zend/zend_language_scanner.c"
6690
22.6k
yy514:
6691
22.6k
    YYDEBUG(514, *YYCURSOR);
6692
22.6k
    yyaccept = 4;
6693
22.6k
    yych = *(YYMARKER = ++YYCURSOR);
6694
22.6k
    if (yych == 'P') goto yy603;
6695
19.9k
    if (yych == 'p') goto yy603;
6696
790
    goto yy48;
6697
14.3k
yy515:
6698
14.3k
    YYDEBUG(515, *YYCURSOR);
6699
14.3k
    yyaccept = 45;
6700
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
6701
14.3k
    if (yybm[256+yych] & 128) {
6702
8.33k
      goto yy47;
6703
8.33k
    }
6704
5.99k
    if (yych == '\\') goto yy164;
6705
5.91k
yy516:
6706
5.91k
    YYDEBUG(516, *YYCURSOR);
6707
5.91k
    yyleng = YYCURSOR - SCNG(yy_text);
6708
5.91k
#line 1549 "Zend/zend_language_scanner.l"
6709
5.91k
    {
6710
5.91k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6711
5.91k
}
6712
0
#line 6713 "Zend/zend_language_scanner.c"
6713
19.1k
yy517:
6714
19.1k
    YYDEBUG(517, *YYCURSOR);
6715
19.1k
    yyaccept = 4;
6716
19.1k
    yych = *(YYMARKER = ++YYCURSOR);
6717
19.1k
    if (yych == 'T') goto yy604;
6718
17.7k
    if (yych == 't') goto yy604;
6719
752
    goto yy48;
6720
12.1k
yy518:
6721
12.1k
    YYDEBUG(518, *YYCURSOR);
6722
12.1k
    yyaccept = 4;
6723
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
6724
12.1k
    if (yych == 'C') goto yy605;
6725
10.9k
    if (yych == 'c') goto yy605;
6726
1.16k
    goto yy48;
6727
64.7k
yy519:
6728
64.7k
    YYDEBUG(519, *YYCURSOR);
6729
64.7k
    yyaccept = 4;
6730
64.7k
    yych = *(YYMARKER = ++YYCURSOR);
6731
64.7k
    if (yych == 'C') goto yy606;
6732
63.1k
    if (yych == 'c') goto yy606;
6733
2.67k
    goto yy48;
6734
6.83k
yy520:
6735
6.83k
    YYDEBUG(520, *YYCURSOR);
6736
6.83k
    yyaccept = 4;
6737
6.83k
    yych = *(YYMARKER = ++YYCURSOR);
6738
6.83k
    if (yych == 'N') goto yy608;
6739
5.93k
    if (yych == 'n') goto yy608;
6740
844
    goto yy48;
6741
25.0k
yy521:
6742
25.0k
    YYDEBUG(521, *YYCURSOR);
6743
25.0k
    yyaccept = 4;
6744
25.0k
    yych = *(YYMARKER = ++YYCURSOR);
6745
25.0k
    if (yych == 'R') goto yy609;
6746
23.3k
    if (yych == 'r') goto yy609;
6747
1.50k
    goto yy48;
6748
29.4k
yy522:
6749
29.4k
    YYDEBUG(522, *YYCURSOR);
6750
29.4k
    yyaccept = 4;
6751
29.4k
    yych = *(YYMARKER = ++YYCURSOR);
6752
29.4k
    if (yych == 'N') goto yy610;
6753
28.8k
    if (yych == 'n') goto yy610;
6754
1.61k
    goto yy48;
6755
22.2k
yy523:
6756
22.2k
    YYDEBUG(523, *YYCURSOR);
6757
22.2k
    yyaccept = 4;
6758
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
6759
22.2k
    if (yych == 'C') goto yy612;
6760
21.1k
    if (yych == 'c') goto yy612;
6761
1.93k
    goto yy48;
6762
8.11k
yy524:
6763
8.11k
    YYDEBUG(524, *YYCURSOR);
6764
8.11k
    yyaccept = 4;
6765
8.11k
    yych = *(YYMARKER = ++YYCURSOR);
6766
8.11k
    if (yych == 'H') goto yy614;
6767
7.70k
    if (yych == 'h') goto yy614;
6768
2.45k
    goto yy48;
6769
14.2k
yy525:
6770
14.2k
    YYDEBUG(525, *YYCURSOR);
6771
14.2k
    yyaccept = 46;
6772
14.2k
    yych = *(YYMARKER = ++YYCURSOR);
6773
14.2k
    if (yybm[256+yych] & 128) {
6774
6.60k
      goto yy47;
6775
6.60k
    }
6776
7.61k
    if (yych == '\\') goto yy164;
6777
7.61k
yy526:
6778
7.61k
    YYDEBUG(526, *YYCURSOR);
6779
7.61k
    yyleng = YYCURSOR - SCNG(yy_text);
6780
7.61k
#line 1449 "Zend/zend_language_scanner.l"
6781
7.61k
    {
6782
7.61k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6783
7.61k
}
6784
0
#line 6785 "Zend/zend_language_scanner.c"
6785
9.08k
yy527:
6786
9.08k
    YYDEBUG(527, *YYCURSOR);
6787
9.08k
    yyaccept = 47;
6788
9.08k
    yych = *(YYMARKER = ++YYCURSOR);
6789
9.08k
    if (yybm[256+yych] & 128) {
6790
1.90k
      goto yy47;
6791
1.90k
    }
6792
7.18k
    if (yych == '\\') goto yy164;
6793
7.18k
yy528:
6794
7.18k
    YYDEBUG(528, *YYCURSOR);
6795
7.18k
    yyleng = YYCURSOR - SCNG(yy_text);
6796
7.18k
#line 1561 "Zend/zend_language_scanner.l"
6797
7.18k
    {
6798
7.18k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6799
7.18k
}
6800
0
#line 6801 "Zend/zend_language_scanner.c"
6801
9.33k
yy529:
6802
9.33k
    YYDEBUG(529, *YYCURSOR);
6803
9.33k
    yyaccept = 48;
6804
9.33k
    yych = *(YYMARKER = ++YYCURSOR);
6805
9.33k
    if (yybm[256+yych] & 128) {
6806
1.15k
      goto yy47;
6807
1.15k
    }
6808
8.17k
    if (yych == '\\') goto yy164;
6809
8.17k
yy530:
6810
8.17k
    YYDEBUG(530, *YYCURSOR);
6811
8.17k
    yyleng = YYCURSOR - SCNG(yy_text);
6812
8.17k
#line 1805 "Zend/zend_language_scanner.l"
6813
8.17k
    {
6814
8.17k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6815
8.17k
}
6816
0
#line 6817 "Zend/zend_language_scanner.c"
6817
5.18k
yy531:
6818
5.18k
    YYDEBUG(531, *YYCURSOR);
6819
5.18k
    yyaccept = 49;
6820
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
6821
5.18k
    if (yybm[256+yych] & 128) {
6822
790
      goto yy47;
6823
790
    }
6824
4.39k
    if (yych == '\\') goto yy164;
6825
4.39k
yy532:
6826
4.39k
    YYDEBUG(532, *YYCURSOR);
6827
4.39k
    yyleng = YYCURSOR - SCNG(yy_text);
6828
4.39k
#line 1469 "Zend/zend_language_scanner.l"
6829
4.39k
    {
6830
4.39k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6831
4.39k
}
6832
0
#line 6833 "Zend/zend_language_scanner.c"
6833
104k
yy533:
6834
104k
    YYDEBUG(533, *YYCURSOR);
6835
104k
    yyaccept = 50;
6836
104k
    yych = *(YYMARKER = ++YYCURSOR);
6837
104k
    if (yybm[256+yych] & 128) {
6838
2.08k
      goto yy47;
6839
2.08k
    }
6840
102k
    if (yych <= ' ') {
6841
43.6k
      if (yych <= '\f') {
6842
30.1k
        if (yych <= 0x08) goto yy534;
6843
28.9k
        if (yych <= '\n') goto yy616;
6844
28.9k
      } else {
6845
13.5k
        if (yych <= '\r') goto yy616;
6846
12.4k
        if (yych >= ' ') goto yy616;
6847
12.4k
      }
6848
59.0k
    } else {
6849
59.0k
      if (yych <= '.') {
6850
56.2k
        if (yych == '#') goto yy618;
6851
56.2k
      } else {
6852
2.76k
        if (yych <= '/') goto yy619;
6853
2.43k
        if (yych == '\\') goto yy164;
6854
2.43k
      }
6855
59.0k
    }
6856
80.3k
yy534:
6857
80.3k
    YYDEBUG(534, *YYCURSOR);
6858
80.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6859
80.3k
#line 1433 "Zend/zend_language_scanner.l"
6860
80.3k
    {
6861
80.3k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6862
80.3k
}
6863
0
#line 6864 "Zend/zend_language_scanner.c"
6864
8.29k
yy535:
6865
8.29k
    YYDEBUG(535, *YYCURSOR);
6866
8.29k
    yyaccept = 4;
6867
8.29k
    yych = *(YYMARKER = ++YYCURSOR);
6868
8.29k
    if (yych == 'S') goto yy620;
6869
6.64k
    if (yych == 's') goto yy620;
6870
600
    goto yy48;
6871
7.09k
yy536:
6872
7.09k
    YYDEBUG(536, *YYCURSOR);
6873
7.09k
    yyaccept = 4;
6874
7.09k
    yych = *(YYMARKER = ++YYCURSOR);
6875
7.09k
    if (yych == '_') goto yy621;
6876
1.29k
    goto yy48;
6877
8.89k
yy537:
6878
8.89k
    YYDEBUG(537, *YYCURSOR);
6879
8.89k
    yyaccept = 4;
6880
8.89k
    yych = *(YYMARKER = ++YYCURSOR);
6881
8.89k
    if (yych == 'E') goto yy622;
6882
3.63k
    if (yych == 'e') goto yy622;
6883
564
    goto yy48;
6884
9.48k
yy538:
6885
9.48k
    YYDEBUG(538, *YYCURSOR);
6886
9.48k
    yyaccept = 4;
6887
9.48k
    yych = *(YYMARKER = ++YYCURSOR);
6888
9.48k
    if (yych == 'C') goto yy623;
6889
5.53k
    if (yych == 'c') goto yy623;
6890
787
    goto yy48;
6891
7.47k
yy539:
6892
7.47k
    YYDEBUG(539, *YYCURSOR);
6893
7.47k
    yyaccept = 4;
6894
7.47k
    yych = *(YYMARKER = ++YYCURSOR);
6895
7.47k
    if (yych == 'T') goto yy624;
6896
6.18k
    if (yych == 't') goto yy624;
6897
890
    goto yy48;
6898
4.98k
yy540:
6899
4.98k
    YYDEBUG(540, *YYCURSOR);
6900
4.98k
    yyaccept = 4;
6901
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
6902
4.98k
    if (yych == 'E') goto yy625;
6903
2.55k
    if (yych == 'e') goto yy625;
6904
409
    goto yy48;
6905
16.1k
yy541:
6906
16.1k
    YYDEBUG(541, *YYCURSOR);
6907
16.1k
    yyaccept = 4;
6908
16.1k
    yych = *(YYMARKER = ++YYCURSOR);
6909
16.1k
    if (yych == 'H') goto yy626;
6910
5.14k
    if (yych == 'h') goto yy626;
6911
1.40k
    goto yy48;
6912
8.94k
yy542:
6913
8.94k
    YYDEBUG(542, *YYCURSOR);
6914
8.94k
    yyaccept = 4;
6915
8.94k
    yych = *(YYMARKER = ++YYCURSOR);
6916
8.94k
    if (yych == 'E') goto yy627;
6917
5.15k
    if (yych == 'e') goto yy627;
6918
1.93k
    goto yy48;
6919
5.69k
yy543:
6920
5.69k
    YYDEBUG(543, *YYCURSOR);
6921
5.69k
    yyaccept = 4;
6922
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
6923
5.69k
    if (yych == 'P') goto yy628;
6924
944
    if (yych == 'p') goto yy628;
6925
510
    goto yy48;
6926
6.56k
yy544:
6927
6.56k
    YYDEBUG(544, *YYCURSOR);
6928
6.56k
    yyaccept = 4;
6929
6.56k
    yych = *(YYMARKER = ++YYCURSOR);
6930
6.56k
    if (yych == 'I') goto yy629;
6931
4.67k
    if (yych == 'i') goto yy629;
6932
793
    goto yy48;
6933
72.7k
yy545:
6934
72.7k
    YYDEBUG(545, *YYCURSOR);
6935
72.7k
    ++YYCURSOR;
6936
72.7k
    YYFILL(1);
6937
72.7k
    yych = *YYCURSOR;
6938
72.7k
    YYDEBUG(546, *YYCURSOR);
6939
72.7k
    if (yybm[0+yych] & 64) {
6940
252
      goto yy355;
6941
252
    }
6942
72.5k
    if (yych <= ' ') {
6943
10.4k
      if (yych <= '\n') {
6944
4.87k
        if (yych <= 0x00) goto yy86;
6945
3.67k
        if (yych <= 0x08) goto yy230;
6946
2.96k
        goto yy545;
6947
5.54k
      } else {
6948
5.54k
        if (yych == '\r') goto yy545;
6949
1.45k
        if (yych <= 0x1F) goto yy230;
6950
1.08k
        goto yy545;
6951
1.45k
      }
6952
62.0k
    } else {
6953
62.0k
      if (yych <= '$') {
6954
49.4k
        if (yych <= '"') goto yy230;
6955
49.1k
        if (yych <= '#') goto yy630;
6956
1.46k
        goto yy631;
6957
49.1k
      } else {
6958
12.6k
        if (yych <= '-') goto yy230;
6959
11.2k
        if (yych <= '.') goto yy632;
6960
7.44k
        if (yych <= '/') goto yy633;
6961
2.62k
        goto yy230;
6962
7.44k
      }
6963
62.0k
    }
6964
20.7k
yy547:
6965
20.7k
    YYDEBUG(547, *YYCURSOR);
6966
20.7k
    ++YYCURSOR;
6967
20.7k
    YYFILL(1);
6968
20.7k
    yych = *YYCURSOR;
6969
20.7k
    YYDEBUG(548, *YYCURSOR);
6970
20.7k
    if (yych <= '\r') {
6971
3.08k
      if (yych <= '\t') {
6972
837
        if (yych <= 0x00) goto yy86;
6973
353
        goto yy443;
6974
2.25k
      } else {
6975
2.25k
        if (yych <= '\n') goto yy545;
6976
1.36k
        if (yych <= '\f') goto yy443;
6977
999
        goto yy545;
6978
1.36k
      }
6979
17.6k
    } else {
6980
17.6k
      if (yych <= '*') {
6981
10.9k
        if (yych <= ')') goto yy443;
6982
1.64k
        goto yy547;
6983
10.9k
      } else {
6984
6.76k
        if (yych == '/') goto yy227;
6985
4.36k
        goto yy443;
6986
6.76k
      }
6987
17.6k
    }
6988
13.7k
yy549:
6989
13.7k
    YYDEBUG(549, *YYCURSOR);
6990
13.7k
    ++YYCURSOR;
6991
13.7k
    YYFILL(1);
6992
13.7k
    yych = *YYCURSOR;
6993
13.7k
    YYDEBUG(550, *YYCURSOR);
6994
13.7k
    if (yych <= 0x1F) {
6995
541
      if (yych == '\t') goto yy549;
6996
307
      goto yy86;
6997
13.2k
    } else {
6998
13.2k
      if (yych <= ' ') goto yy549;
6999
9.16k
      if (yych == ')') goto yy634;
7000
7.10k
      goto yy86;
7001
9.16k
    }
7002
1.52k
yy551:
7003
1.52k
    YYDEBUG(551, *YYCURSOR);
7004
1.52k
    yych = *++YYCURSOR;
7005
1.52k
    if (yych == 'Y') goto yy636;
7006
1.26k
    if (yych == 'y') goto yy636;
7007
424
    goto yy86;
7008
743
yy552:
7009
743
    YYDEBUG(552, *YYCURSOR);
7010
743
    ++YYCURSOR;
7011
743
    YYFILL(1);
7012
743
    yych = *YYCURSOR;
7013
2.78k
yy553:
7014
2.78k
    YYDEBUG(553, *YYCURSOR);
7015
2.78k
    if (yych <= 0x1F) {
7016
1.18k
      if (yych == '\t') goto yy552;
7017
864
      goto yy86;
7018
1.60k
    } else {
7019
1.60k
      if (yych <= ' ') goto yy552;
7020
1.18k
      if (yych != ')') goto yy86;
7021
1.18k
    }
7022
617
    YYDEBUG(554, *YYCURSOR);
7023
617
    ++YYCURSOR;
7024
617
    YYDEBUG(555, *YYCURSOR);
7025
617
    yyleng = YYCURSOR - SCNG(yy_text);
7026
617
#line 1695 "Zend/zend_language_scanner.l"
7027
617
    {
7028
617
  RETURN_TOKEN(T_BOOL_CAST);
7029
617
}
7030
0
#line 7031 "Zend/zend_language_scanner.c"
7031
1.49k
yy556:
7032
1.49k
    YYDEBUG(556, *YYCURSOR);
7033
1.49k
    yych = *++YYCURSOR;
7034
1.49k
    if (yych == 'A') goto yy638;
7035
859
    if (yych == 'a') goto yy638;
7036
211
    goto yy86;
7037
2.43k
yy557:
7038
2.43k
    YYDEBUG(557, *YYCURSOR);
7039
2.43k
    yych = *++YYCURSOR;
7040
2.43k
    if (yych == 'E') goto yy639;
7041
1.50k
    if (yych == 'e') goto yy639;
7042
549
    goto yy86;
7043
3.42k
yy558:
7044
3.42k
    YYDEBUG(558, *YYCURSOR);
7045
3.42k
    ++YYCURSOR;
7046
3.42k
    YYFILL(1);
7047
3.42k
    yych = *YYCURSOR;
7048
3.42k
    YYDEBUG(559, *YYCURSOR);
7049
3.42k
    if (yych <= 0x1F) {
7050
458
      if (yych == '\t') goto yy558;
7051
243
      goto yy86;
7052
2.96k
    } else {
7053
2.96k
      if (yych <= ' ') goto yy558;
7054
2.31k
      if (yych == ')') goto yy641;
7055
716
      goto yy86;
7056
2.31k
    }
7057
2.67k
yy560:
7058
2.67k
    YYDEBUG(560, *YYCURSOR);
7059
2.67k
    yych = *++YYCURSOR;
7060
2.67k
    if (yych == 'E') goto yy643;
7061
2.45k
    if (yych == 'e') goto yy643;
7062
320
    goto yy86;
7063
2.60k
yy561:
7064
2.60k
    YYDEBUG(561, *YYCURSOR);
7065
2.60k
    yych = *++YYCURSOR;
7066
2.60k
    if (yych == 'T') goto yy644;
7067
2.22k
    if (yych == 't') goto yy644;
7068
373
    goto yy86;
7069
1.14k
yy562:
7070
1.14k
    YYDEBUG(562, *YYCURSOR);
7071
1.14k
    ++YYCURSOR;
7072
1.14k
    YYDEBUG(563, *YYCURSOR);
7073
1.14k
    yyleng = YYCURSOR - SCNG(yy_text);
7074
1.14k
#line 1665 "Zend/zend_language_scanner.l"
7075
1.14k
    {
7076
1.14k
  if (PARSER_MODE()) {
7077
14
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7078
14
    RETURN_TOKEN(T_ERROR);
7079
14
  }
7080
1.12k
  RETURN_TOKEN(T_DOUBLE_CAST);
7081
1.12k
}
7082
0
#line 7083 "Zend/zend_language_scanner.c"
7083
7.49k
yy564:
7084
7.49k
    YYDEBUG(564, *YYCURSOR);
7085
7.49k
    yych = *++YYCURSOR;
7086
7.49k
    if (yych == 'G') goto yy646;
7087
7.15k
    if (yych == 'g') goto yy646;
7088
857
    goto yy86;
7089
2.17k
yy565:
7090
2.17k
    YYDEBUG(565, *YYCURSOR);
7091
2.17k
    ++YYCURSOR;
7092
2.17k
    YYFILL(1);
7093
2.17k
    yych = *YYCURSOR;
7094
2.17k
    YYDEBUG(566, *YYCURSOR);
7095
2.17k
    if (yych <= 0x1F) {
7096
506
      if (yych == '\t') goto yy565;
7097
235
      goto yy86;
7098
1.66k
    } else {
7099
1.66k
      if (yych <= ' ') goto yy565;
7100
1.46k
      if (yych == ')') goto yy648;
7101
842
      goto yy86;
7102
1.46k
    }
7103
707
yy567:
7104
707
    YYDEBUG(567, *YYCURSOR);
7105
707
    ++YYCURSOR;
7106
707
    YYDEBUG(568, *YYCURSOR);
7107
707
    yyleng = YYCURSOR - SCNG(yy_text);
7108
707
#line 1713 "Zend/zend_language_scanner.l"
7109
707
    {
7110
707
  RETURN_TOKEN(T_VOID_CAST);
7111
707
}
7112
0
#line 7113 "Zend/zend_language_scanner.c"
7113
11.4k
yy569:
7114
11.4k
    YYDEBUG(569, *YYCURSOR);
7115
11.4k
    yych = *++YYCURSOR;
7116
11.4k
    if (yych == '\n') goto yy466;
7117
4.39k
    if (yych == '\r') goto yy468;
7118
1.75k
    goto yy86;
7119
7.90k
yy570:
7120
7.90k
    YYDEBUG(570, *YYCURSOR);
7121
7.90k
    yyaccept = 4;
7122
7.90k
    yych = *(YYMARKER = ++YYCURSOR);
7123
7.90k
    if (yych == 'C') goto yy650;
7124
6.53k
    if (yych == 'c') goto yy650;
7125
536
    goto yy48;
7126
4.74k
yy571:
7127
4.74k
    YYDEBUG(571, *YYCURSOR);
7128
4.74k
    yyaccept = 4;
7129
4.74k
    yych = *(YYMARKER = ++YYCURSOR);
7130
4.74k
    if (yych == 'L') goto yy651;
7131
4.04k
    if (yych == 'l') goto yy651;
7132
477
    goto yy48;
7133
6.12k
yy572:
7134
6.12k
    YYDEBUG(572, *YYCURSOR);
7135
6.12k
    yyaccept = 4;
7136
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
7137
6.12k
    if (yych == 'U') goto yy652;
7138
3.59k
    if (yych == 'u') goto yy652;
7139
731
    goto yy48;
7140
6.37k
yy573:
7141
6.37k
    YYDEBUG(573, *YYCURSOR);
7142
6.37k
    yyaccept = 4;
7143
6.37k
    yych = *(YYMARKER = ++YYCURSOR);
7144
6.37k
    if (yych == 'E') goto yy653;
7145
5.82k
    if (yych == 'e') goto yy653;
7146
533
    goto yy48;
7147
2.92k
yy574:
7148
2.92k
    YYDEBUG(574, *YYCURSOR);
7149
2.92k
    yyaccept = 4;
7150
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
7151
2.92k
    if (yych == 'T') goto yy655;
7152
2.56k
    if (yych == 't') goto yy655;
7153
485
    goto yy48;
7154
3.17k
yy575:
7155
3.17k
    YYDEBUG(575, *YYCURSOR);
7156
3.17k
    yyaccept = 51;
7157
3.17k
    yych = *(YYMARKER = ++YYCURSOR);
7158
3.17k
    if (yybm[256+yych] & 128) {
7159
802
      goto yy47;
7160
802
    }
7161
2.36k
    if (yych == '\\') goto yy164;
7162
2.36k
yy576:
7163
2.36k
    YYDEBUG(576, *YYCURSOR);
7164
2.36k
    yyleng = YYCURSOR - SCNG(yy_text);
7165
2.36k
#line 1457 "Zend/zend_language_scanner.l"
7166
2.36k
    {
7167
2.36k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7168
2.36k
}
7169
0
#line 7170 "Zend/zend_language_scanner.c"
7170
6.38k
yy577:
7171
6.38k
    YYDEBUG(577, *YYCURSOR);
7172
6.38k
    yyaccept = 4;
7173
6.38k
    yych = *(YYMARKER = ++YYCURSOR);
7174
6.38k
    if (yych == 'L') goto yy657;
7175
4.53k
    if (yych == 'l') goto yy657;
7176
929
    goto yy48;
7177
12.2k
yy578:
7178
12.2k
    YYDEBUG(578, *YYCURSOR);
7179
12.2k
    yyaccept = 52;
7180
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
7181
12.2k
    if (yych <= '\\') {
7182
6.64k
      if (yych <= 'D') {
7183
1.74k
        if (yych <= '/') goto yy579;
7184
828
        if (yych <= '9') goto yy47;
7185
510
        if (yych >= 'A') goto yy47;
7186
4.89k
      } else {
7187
4.89k
        if (yych <= 'E') goto yy658;
7188
1.43k
        if (yych <= 'Z') goto yy47;
7189
949
        if (yych >= '\\') goto yy164;
7190
949
      }
7191
6.64k
    } else {
7192
5.63k
      if (yych <= 'd') {
7193
818
        if (yych == '_') goto yy47;
7194
609
        if (yych >= 'a') goto yy47;
7195
4.81k
      } else {
7196
4.81k
        if (yych <= 'e') goto yy658;
7197
1.21k
        if (yych <= 'z') goto yy47;
7198
743
        if (yych >= 0x80) goto yy47;
7199
743
      }
7200
5.63k
    }
7201
2.54k
yy579:
7202
2.54k
    YYDEBUG(579, *YYCURSOR);
7203
2.54k
    yyleng = YYCURSOR - SCNG(yy_text);
7204
2.54k
#line 1485 "Zend/zend_language_scanner.l"
7205
2.54k
    {
7206
2.54k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7207
2.54k
}
7208
0
#line 7209 "Zend/zend_language_scanner.c"
7209
4.44k
yy580:
7210
4.44k
    YYDEBUG(580, *YYCURSOR);
7211
4.44k
    yyaccept = 4;
7212
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
7213
4.44k
    if (yych == 'T') goto yy659;
7214
3.85k
    if (yych == 't') goto yy659;
7215
1.05k
    goto yy48;
7216
8.62k
yy581:
7217
8.62k
    YYDEBUG(581, *YYCURSOR);
7218
8.62k
    yyaccept = 4;
7219
8.62k
    yych = *(YYMARKER = ++YYCURSOR);
7220
8.62k
    if (yych == 'L') goto yy660;
7221
6.59k
    if (yych == 'l') goto yy660;
7222
932
    goto yy48;
7223
23.0k
yy582:
7224
23.0k
    YYDEBUG(582, *YYCURSOR);
7225
23.0k
    ++YYCURSOR;
7226
144k
yy583:
7227
144k
    YYDEBUG(583, *YYCURSOR);
7228
144k
    yyleng = YYCURSOR - SCNG(yy_text);
7229
144k
#line 1573 "Zend/zend_language_scanner.l"
7230
144k
    {
7231
144k
  yyless(4);
7232
144k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7233
144k
}
7234
0
#line 7235 "Zend/zend_language_scanner.c"
7235
9.69k
yy584:
7236
9.69k
    YYDEBUG(584, *YYCURSOR);
7237
9.69k
    yyaccept = 53;
7238
9.69k
    yych = *(YYMARKER = ++YYCURSOR);
7239
9.69k
    if (yych == 'X') goto yy661;
7240
9.10k
    if (yych == 'x') goto yy661;
7241
5.94k
    goto yy583;
7242
7.45k
yy585:
7243
7.45k
    YYDEBUG(585, *YYCURSOR);
7244
7.45k
    yyaccept = 53;
7245
7.45k
    yych = *(YYMARKER = ++YYCURSOR);
7246
7.45k
    if (yych == 'M') goto yy662;
7247
6.12k
    if (yych == 'm') goto yy662;
7248
2.81k
    goto yy583;
7249
2.93M
yy586:
7250
2.93M
    YYDEBUG(586, *YYCURSOR);
7251
2.93M
    ++YYCURSOR;
7252
2.93M
    YYFILL(1);
7253
2.93M
    yych = *YYCURSOR;
7254
2.93M
    YYDEBUG(587, *YYCURSOR);
7255
2.93M
    if (yych <= '\n') {
7256
149k
      if (yych <= 0x00) goto yy86;
7257
131k
      if (yych <= '\t') goto yy586;
7258
92.4k
      goto yy495;
7259
2.78M
    } else {
7260
2.78M
      if (yych == '\r') goto yy495;
7261
2.46M
      goto yy586;
7262
2.78M
    }
7263
590k
yy588:
7264
590k
    YYDEBUG(588, *YYCURSOR);
7265
590k
    ++YYCURSOR;
7266
590k
    YYFILL(1);
7267
590k
    yych = *YYCURSOR;
7268
590k
    YYDEBUG(589, *YYCURSOR);
7269
590k
    if (yych <= 'D') {
7270
250k
      if (yych <= 0x1F) {
7271
34.3k
        if (yych <= '\t') {
7272
13.4k
          if (yych <= 0x00) goto yy86;
7273
12.4k
          if (yych <= 0x08) goto yy586;
7274
2.41k
          goto yy588;
7275
20.9k
        } else {
7276
20.9k
          if (yych <= '\n') goto yy495;
7277
16.5k
          if (yych == '\r') goto yy495;
7278
2.08k
          goto yy586;
7279
16.5k
        }
7280
216k
      } else {
7281
216k
        if (yych <= '#') {
7282
73.6k
          if (yych <= ' ') goto yy588;
7283
59.4k
          if (yych <= '"') goto yy586;
7284
58.4k
          goto yy663;
7285
142k
        } else {
7286
142k
          if (yych == '/') goto yy664;
7287
13.1k
          if (yych <= '@') goto yy586;
7288
491
          goto yy665;
7289
13.1k
        }
7290
216k
      }
7291
339k
    } else {
7292
339k
      if (yych <= '`') {
7293
11.0k
        if (yych <= 'I') {
7294
7.27k
          if (yych <= 'E') goto yy666;
7295
6.01k
          if (yych <= 'H') goto yy665;
7296
4.64k
          goto yy667;
7297
6.01k
        } else {
7298
3.79k
          if (yych <= 'Z') goto yy665;
7299
1.51k
          if (yych == '_') goto yy665;
7300
1.06k
          goto yy586;
7301
1.51k
        }
7302
328k
      } else {
7303
328k
        if (yych <= 'h') {
7304
251k
          if (yych == 'e') goto yy666;
7305
4.06k
          goto yy665;
7306
251k
        } else {
7307
77.1k
          if (yych <= 'i') goto yy667;
7308
41.7k
          if (yych <= 'z') goto yy665;
7309
28.1k
          if (yych <= 0x7F) goto yy586;
7310
7.96k
          goto yy665;
7311
28.1k
        }
7312
328k
      }
7313
339k
    }
7314
2.78M
yy590:
7315
2.78M
    YYDEBUG(590, *YYCURSOR);
7316
2.78M
    ++YYCURSOR;
7317
2.78M
    YYFILL(1);
7318
2.78M
    yych = *YYCURSOR;
7319
2.78M
    YYDEBUG(591, *YYCURSOR);
7320
2.78M
    if (yych <= 0x00) goto yy86;
7321
2.74M
    if (yych == '*') goto yy668;
7322
2.69M
    goto yy590;
7323
2.69M
yy592:
7324
18.0k
    YYDEBUG(592, *YYCURSOR);
7325
18.0k
    yyaccept = 4;
7326
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
7327
18.0k
    if (yych == 'S') goto yy670;
7328
17.3k
    if (yych == 's') goto yy670;
7329
935
    goto yy48;
7330
4.68k
yy593:
7331
4.68k
    YYDEBUG(593, *YYCURSOR);
7332
4.68k
    yyaccept = 4;
7333
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
7334
4.68k
    if (yych == 'Y') goto yy672;
7335
4.51k
    if (yych == 'y') goto yy672;
7336
364
    goto yy48;
7337
20.9k
yy594:
7338
20.9k
    YYDEBUG(594, *YYCURSOR);
7339
20.9k
    yyaccept = 4;
7340
20.9k
    yych = *(YYMARKER = ++YYCURSOR);
7341
20.9k
    if (yych == 'H') goto yy674;
7342
20.4k
    if (yych == 'h') goto yy674;
7343
775
    goto yy48;
7344
111k
yy595:
7345
111k
    YYDEBUG(595, *YYCURSOR);
7346
111k
    yyaccept = 4;
7347
111k
    yych = *(YYMARKER = ++YYCURSOR);
7348
111k
    if (yych == 'O') goto yy676;
7349
110k
    if (yych == 'o') goto yy676;
7350
3.23k
    goto yy48;
7351
5.69k
yy596:
7352
5.69k
    YYDEBUG(596, *YYCURSOR);
7353
5.69k
    yyaccept = 54;
7354
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
7355
5.69k
    if (yybm[256+yych] & 128) {
7356
884
      goto yy47;
7357
884
    }
7358
4.80k
    if (yych == '\\') goto yy164;
7359
4.78k
yy597:
7360
4.78k
    YYDEBUG(597, *YYCURSOR);
7361
4.78k
    yyleng = YYCURSOR - SCNG(yy_text);
7362
4.78k
#line 1749 "Zend/zend_language_scanner.l"
7363
4.78k
    {
7364
4.78k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7365
4.78k
}
7366
0
#line 7367 "Zend/zend_language_scanner.c"
7367
20.5k
yy598:
7368
20.5k
    YYDEBUG(598, *YYCURSOR);
7369
20.5k
    yyaccept = 4;
7370
20.5k
    yych = *(YYMARKER = ++YYCURSOR);
7371
20.5k
    if (yych == 'E') goto yy677;
7372
18.6k
    if (yych == 'e') goto yy677;
7373
2.44k
    goto yy48;
7374
11.2k
yy599:
7375
11.2k
    YYDEBUG(599, *YYCURSOR);
7376
11.2k
    yyaccept = 4;
7377
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
7378
11.2k
    if (yych == 'E') goto yy678;
7379
9.93k
    if (yych == 'e') goto yy678;
7380
533
    goto yy48;
7381
6.73k
yy600:
7382
6.73k
    YYDEBUG(600, *YYCURSOR);
7383
6.73k
    yyaccept = 4;
7384
6.73k
    yych = *(YYMARKER = ++YYCURSOR);
7385
6.73k
    if (yych == 'C') goto yy680;
7386
5.47k
    if (yych == 'c') goto yy680;
7387
986
    goto yy48;
7388
7.10k
yy601:
7389
7.10k
    YYDEBUG(601, *YYCURSOR);
7390
7.10k
    yyaccept = 4;
7391
7.10k
    yych = *(YYMARKER = ++YYCURSOR);
7392
7.10k
    if (yych == 'D') goto yy681;
7393
6.39k
    if (yych == 'd') goto yy681;
7394
512
    goto yy48;
7395
14.7k
yy602:
7396
14.7k
    YYDEBUG(602, *YYCURSOR);
7397
14.7k
    yyaccept = 4;
7398
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
7399
14.7k
    if (yych == 'A') goto yy682;
7400
13.9k
    if (yych == 'a') goto yy682;
7401
1.13k
    goto yy48;
7402
21.8k
yy603:
7403
21.8k
    YYDEBUG(603, *YYCURSOR);
7404
21.8k
    yyaccept = 4;
7405
21.8k
    yych = *(YYMARKER = ++YYCURSOR);
7406
21.8k
    if (yych == 'A') goto yy683;
7407
20.7k
    if (yych == 'a') goto yy683;
7408
2.05k
    goto yy48;
7409
18.4k
yy604:
7410
18.4k
    YYDEBUG(604, *YYCURSOR);
7411
18.4k
    yyaccept = 4;
7412
18.4k
    yych = *(YYMARKER = ++YYCURSOR);
7413
18.4k
    if (yych == 'E') goto yy684;
7414
17.2k
    if (yych == 'e') goto yy684;
7415
1.13k
    goto yy48;
7416
10.9k
yy605:
7417
10.9k
    YYDEBUG(605, *YYCURSOR);
7418
10.9k
    yyaccept = 4;
7419
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
7420
10.9k
    if (yych == 'T') goto yy686;
7421
9.62k
    if (yych == 't') goto yy686;
7422
1.41k
    goto yy48;
7423
62.0k
yy606:
7424
62.0k
    YYDEBUG(606, *YYCURSOR);
7425
62.0k
    yyaccept = 55;
7426
62.0k
    yych = *(YYMARKER = ++YYCURSOR);
7427
62.0k
    if (yybm[256+yych] & 128) {
7428
2.00k
      goto yy47;
7429
2.00k
    }
7430
60.0k
    if (yych == '(') goto yy687;
7431
57.7k
    if (yych == '\\') goto yy164;
7432
59.4k
yy607:
7433
59.4k
    YYDEBUG(607, *YYCURSOR);
7434
59.4k
    yyleng = YYCURSOR - SCNG(yy_text);
7435
59.4k
#line 1797 "Zend/zend_language_scanner.l"
7436
59.4k
    {
7437
59.4k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7438
59.4k
}
7439
0
#line 7440 "Zend/zend_language_scanner.c"
7440
5.98k
yy608:
7441
5.98k
    YYDEBUG(608, *YYCURSOR);
7442
5.98k
    yyaccept = 4;
7443
5.98k
    yych = *(YYMARKER = ++YYCURSOR);
7444
5.98k
    if (yych == 'L') goto yy688;
7445
5.77k
    if (yych == 'l') goto yy688;
7446
531
    goto yy48;
7447
23.5k
yy609:
7448
23.5k
    YYDEBUG(609, *YYCURSOR);
7449
23.5k
    yyaccept = 4;
7450
23.5k
    yych = *(YYMARKER = ++YYCURSOR);
7451
23.5k
    if (yych == 'E') goto yy689;
7452
21.8k
    if (yych == 'e') goto yy689;
7453
514
    goto yy48;
7454
27.8k
yy610:
7455
27.8k
    YYDEBUG(610, *YYCURSOR);
7456
27.8k
    yyaccept = 56;
7457
27.8k
    yych = *(YYMARKER = ++YYCURSOR);
7458
27.8k
    if (yybm[256+yych] & 128) {
7459
1.30k
      goto yy47;
7460
1.30k
    }
7461
26.5k
    if (yych == '\\') goto yy164;
7462
26.5k
yy611:
7463
26.5k
    YYDEBUG(611, *YYCURSOR);
7464
26.5k
    yyleng = YYCURSOR - SCNG(yy_text);
7465
26.5k
#line 1418 "Zend/zend_language_scanner.l"
7466
26.5k
    {
7467
26.5k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7468
26.5k
}
7469
0
#line 7470 "Zend/zend_language_scanner.c"
7470
20.3k
yy612:
7471
20.3k
    YYDEBUG(612, *YYCURSOR);
7472
20.3k
    yyaccept = 57;
7473
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
7474
20.3k
    if (yybm[256+yych] & 128) {
7475
1.28k
      goto yy47;
7476
1.28k
    }
7477
19.0k
    if (yych == '\\') goto yy164;
7478
19.0k
yy613:
7479
19.0k
    YYDEBUG(613, *YYCURSOR);
7480
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7481
19.0k
#line 1765 "Zend/zend_language_scanner.l"
7482
19.0k
    {
7483
19.0k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7484
19.0k
}
7485
0
#line 7486 "Zend/zend_language_scanner.c"
7486
5.65k
yy614:
7487
5.65k
    YYDEBUG(614, *YYCURSOR);
7488
5.65k
    yyaccept = 58;
7489
5.65k
    yych = *(YYMARKER = ++YYCURSOR);
7490
5.65k
    if (yybm[256+yych] & 128) {
7491
896
      goto yy47;
7492
896
    }
7493
4.76k
    if (yych == '\\') goto yy164;
7494
4.76k
yy615:
7495
4.76k
    YYDEBUG(615, *YYCURSOR);
7496
4.76k
    yyleng = YYCURSOR - SCNG(yy_text);
7497
4.76k
#line 1513 "Zend/zend_language_scanner.l"
7498
4.76k
    {
7499
4.76k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7500
4.76k
}
7501
0
#line 7502 "Zend/zend_language_scanner.c"
7502
323k
yy616:
7503
323k
    YYDEBUG(616, *YYCURSOR);
7504
323k
    ++YYCURSOR;
7505
323k
    YYFILL(5);
7506
323k
    yych = *YYCURSOR;
7507
323k
    YYDEBUG(617, *YYCURSOR);
7508
323k
    if (yych <= '"') {
7509
91.4k
      if (yych <= '\f') {
7510
74.3k
        if (yych <= 0x08) goto yy86;
7511
72.6k
        if (yych <= '\n') goto yy616;
7512
1.07k
        goto yy86;
7513
72.6k
      } else {
7514
17.1k
        if (yych <= '\r') goto yy616;
7515
4.82k
        if (yych == ' ') goto yy616;
7516
1.94k
        goto yy86;
7517
4.82k
      }
7518
232k
    } else {
7519
232k
      if (yych <= 'E') {
7520
214k
        if (yych <= '#') goto yy618;
7521
34.2k
        if (yych == '/') goto yy619;
7522
23.2k
        goto yy86;
7523
34.2k
      } else {
7524
17.5k
        if (yych <= 'F') goto yy691;
7525
15.0k
        if (yych == 'f') goto yy691;
7526
7.30k
        goto yy86;
7527
15.0k
      }
7528
232k
    }
7529
235k
yy618:
7530
235k
    YYDEBUG(618, *YYCURSOR);
7531
235k
    ++YYCURSOR;
7532
235k
    YYFILL(1);
7533
235k
    yych = *YYCURSOR;
7534
235k
    if (yych <= '\f') {
7535
48.8k
      if (yych <= 0x00) goto yy86;
7536
47.7k
      if (yych == '\n') goto yy694;
7537
1.51k
      goto yy692;
7538
186k
    } else {
7539
186k
      if (yych <= '\r') goto yy694;
7540
37.7k
      if (yych == '[') goto yy86;
7541
37.5k
      goto yy692;
7542
37.7k
    }
7543
12.5k
yy619:
7544
12.5k
    YYDEBUG(619, *YYCURSOR);
7545
12.5k
    ++YYCURSOR;
7546
12.5k
    YYFILL(1);
7547
12.5k
    yych = *YYCURSOR;
7548
12.5k
    if (yych == '*') goto yy696;
7549
3.25k
    if (yych == '/') goto yy692;
7550
2.31k
    goto yy86;
7551
7.69k
yy620:
7552
7.69k
    YYDEBUG(620, *YYCURSOR);
7553
7.69k
    yyaccept = 4;
7554
7.69k
    yych = *(YYMARKER = ++YYCURSOR);
7555
7.69k
    if (yych == 'S') goto yy698;
7556
6.06k
    if (yych == 's') goto yy698;
7557
760
    goto yy48;
7558
5.79k
yy621:
7559
5.79k
    YYDEBUG(621, *YYCURSOR);
7560
5.79k
    yyaccept = 4;
7561
5.79k
    yych = *(YYMARKER = ++YYCURSOR);
7562
5.79k
    if (yych == '_') goto yy699;
7563
756
    goto yy48;
7564
8.32k
yy622:
7565
8.32k
    YYDEBUG(622, *YYCURSOR);
7566
8.32k
    yyaccept = 4;
7567
8.32k
    yych = *(YYMARKER = ++YYCURSOR);
7568
8.32k
    if (yych == '_') goto yy701;
7569
900
    goto yy48;
7570
8.70k
yy623:
7571
8.70k
    YYDEBUG(623, *YYCURSOR);
7572
8.70k
    yyaccept = 4;
7573
8.70k
    yych = *(YYMARKER = ++YYCURSOR);
7574
8.70k
    if (yych == 'T') goto yy702;
7575
3.92k
    if (yych == 't') goto yy702;
7576
1.15k
    goto yy48;
7577
6.58k
yy624:
7578
6.58k
    YYDEBUG(624, *YYCURSOR);
7579
6.58k
    yyaccept = 4;
7580
6.58k
    yych = *(YYMARKER = ++YYCURSOR);
7581
6.58k
    if (yych == '_') goto yy703;
7582
1.20k
    goto yy48;
7583
4.57k
yy625:
7584
4.57k
    YYDEBUG(625, *YYCURSOR);
7585
4.57k
    yyaccept = 4;
7586
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
7587
4.57k
    if (yych == '_') goto yy704;
7588
1.10k
    goto yy48;
7589
14.7k
yy626:
7590
14.7k
    YYDEBUG(626, *YYCURSOR);
7591
14.7k
    yyaccept = 4;
7592
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
7593
14.7k
    if (yych == 'O') goto yy705;
7594
4.63k
    if (yych == 'o') goto yy705;
7595
1.24k
    goto yy48;
7596
7.00k
yy627:
7597
7.00k
    YYDEBUG(627, *YYCURSOR);
7598
7.00k
    yyaccept = 4;
7599
7.00k
    yych = *(YYMARKER = ++YYCURSOR);
7600
7.00k
    if (yych == 'S') goto yy706;
7601
4.31k
    if (yych == 's') goto yy706;
7602
1.72k
    goto yy48;
7603
5.18k
yy628:
7604
5.18k
    YYDEBUG(628, *YYCURSOR);
7605
5.18k
    yyaccept = 4;
7606
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
7607
5.18k
    if (yych == 'E') goto yy707;
7608
1.87k
    if (yych == 'e') goto yy707;
7609
771
    goto yy48;
7610
5.76k
yy629:
7611
5.76k
    YYDEBUG(629, *YYCURSOR);
7612
5.76k
    yyaccept = 4;
7613
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
7614
5.76k
    if (yych == 'T') goto yy708;
7615
4.62k
    if (yych == 't') goto yy708;
7616
571
    goto yy48;
7617
47.6k
yy630:
7618
47.6k
    YYDEBUG(630, *YYCURSOR);
7619
47.6k
    ++YYCURSOR;
7620
47.6k
    YYFILL(1);
7621
47.6k
    yych = *YYCURSOR;
7622
47.6k
    if (yych <= '\r') {
7623
40.5k
      if (yych <= '\t') {
7624
676
        if (yych <= 0x00) goto yy86;
7625
422
        goto yy443;
7626
39.8k
      } else {
7627
39.8k
        if (yych <= '\n') goto yy709;
7628
25.2k
        if (yych <= '\f') goto yy443;
7629
24.5k
        goto yy709;
7630
25.2k
      }
7631
40.5k
    } else {
7632
7.12k
      if (yych <= '*') {
7633
2.42k
        if (yych <= ')') goto yy443;
7634
1.02k
        goto yy547;
7635
4.70k
      } else {
7636
4.70k
        if (yych == '[') goto yy230;
7637
4.60k
        goto yy443;
7638
4.70k
      }
7639
7.12k
    }
7640
1.99k
yy631:
7641
1.99k
    YYDEBUG(631, *YYCURSOR);
7642
1.99k
    yyaccept = 26;
7643
1.99k
    YYMARKER = ++YYCURSOR;
7644
1.99k
    YYFILL(1);
7645
1.99k
    yych = *YYCURSOR;
7646
1.99k
    if (yybm[0+yych] & 4) {
7647
1.43k
      goto yy230;
7648
1.43k
    }
7649
558
    if (yych <= 0x00) goto yy89;
7650
334
    goto yy355;
7651
3.78k
yy632:
7652
3.78k
    YYDEBUG(632, *YYCURSOR);
7653
3.78k
    ++YYCURSOR;
7654
3.78k
    YYFILL(1);
7655
3.78k
    yych = *YYCURSOR;
7656
3.78k
    if (yybm[0+yych] & 64) {
7657
235
      goto yy355;
7658
235
    }
7659
3.54k
    if (yych <= 0x00) goto yy86;
7660
3.33k
    if (yych == '.') goto yy711;
7661
1.04k
    goto yy230;
7662
4.82k
yy633:
7663
4.82k
    YYDEBUG(633, *YYCURSOR);
7664
4.82k
    ++YYCURSOR;
7665
4.82k
    YYFILL(1);
7666
4.82k
    yych = *YYCURSOR;
7667
4.82k
    if (yych <= '*') {
7668
4.17k
      if (yych <= 0x00) goto yy86;
7669
3.87k
      if (yych <= ')') goto yy230;
7670
3.56k
      goto yy712;
7671
3.87k
    } else {
7672
650
      if (yych == '/') goto yy443;
7673
400
      goto yy230;
7674
650
    }
7675
2.06k
yy634:
7676
2.06k
    YYDEBUG(634, *YYCURSOR);
7677
2.06k
    ++YYCURSOR;
7678
2.06k
    YYDEBUG(635, *YYCURSOR);
7679
2.06k
    yyleng = YYCURSOR - SCNG(yy_text);
7680
2.06k
#line 1687 "Zend/zend_language_scanner.l"
7681
2.06k
    {
7682
2.06k
  RETURN_TOKEN(T_ARRAY_CAST);
7683
2.06k
}
7684
0
#line 7685 "Zend/zend_language_scanner.c"
7685
1.59k
yy636:
7686
1.59k
    YYDEBUG(636, *YYCURSOR);
7687
1.59k
    ++YYCURSOR;
7688
1.59k
    YYFILL(1);
7689
1.59k
    yych = *YYCURSOR;
7690
1.59k
    YYDEBUG(637, *YYCURSOR);
7691
1.59k
    if (yych <= 0x1F) {
7692
494
      if (yych == '\t') goto yy636;
7693
265
      goto yy86;
7694
1.09k
    } else {
7695
1.09k
      if (yych <= ' ') goto yy636;
7696
840
      if (yych == ')') goto yy713;
7697
608
      goto yy86;
7698
840
    }
7699
1.28k
yy638:
7700
1.28k
    YYDEBUG(638, *YYCURSOR);
7701
1.28k
    yych = *++YYCURSOR;
7702
1.28k
    if (yych == 'N') goto yy715;
7703
827
    if (yych == 'n') goto yy715;
7704
277
    goto yy86;
7705
2.48k
yy639:
7706
2.48k
    YYDEBUG(639, *YYCURSOR);
7707
2.48k
    ++YYCURSOR;
7708
2.48k
    YYFILL(1);
7709
2.48k
    yych = *YYCURSOR;
7710
2.48k
    YYDEBUG(640, *YYCURSOR);
7711
2.48k
    if (yych <= 0x1F) {
7712
654
      if (yych == '\t') goto yy639;
7713
287
      goto yy86;
7714
1.83k
    } else {
7715
1.83k
      if (yych <= ' ') goto yy639;
7716
1.59k
      if (yych == ')') goto yy717;
7717
804
      goto yy86;
7718
1.59k
    }
7719
1.60k
yy641:
7720
1.60k
    YYDEBUG(641, *YYCURSOR);
7721
1.60k
    ++YYCURSOR;
7722
1.60k
    YYDEBUG(642, *YYCURSOR);
7723
1.60k
    yyleng = YYCURSOR - SCNG(yy_text);
7724
1.60k
#line 1651 "Zend/zend_language_scanner.l"
7725
1.60k
    {
7726
1.60k
  RETURN_TOKEN(T_DOUBLE_CAST);
7727
1.60k
}
7728
0
#line 7729 "Zend/zend_language_scanner.c"
7729
2.35k
yy643:
7730
2.35k
    YYDEBUG(643, *YYCURSOR);
7731
2.35k
    yych = *++YYCURSOR;
7732
2.35k
    if (yych == 'R') goto yy719;
7733
1.13k
    if (yych == 'r') goto yy719;
7734
382
    goto yy86;
7735
3.13k
yy644:
7736
3.13k
    YYDEBUG(644, *YYCURSOR);
7737
3.13k
    ++YYCURSOR;
7738
3.13k
    YYFILL(1);
7739
3.13k
    yych = *YYCURSOR;
7740
3.13k
    YYDEBUG(645, *YYCURSOR);
7741
3.13k
    if (yych <= 0x1F) {
7742
1.04k
      if (yych == '\t') goto yy644;
7743
556
      goto yy86;
7744
2.09k
    } else {
7745
2.09k
      if (yych <= ' ') goto yy644;
7746
1.67k
      if (yych == ')') goto yy721;
7747
682
      goto yy86;
7748
1.67k
    }
7749
8.73k
yy646:
7750
8.73k
    YYDEBUG(646, *YYCURSOR);
7751
8.73k
    ++YYCURSOR;
7752
8.73k
    YYFILL(1);
7753
8.73k
    yych = *YYCURSOR;
7754
8.73k
    YYDEBUG(647, *YYCURSOR);
7755
8.73k
    if (yych <= 0x1F) {
7756
2.82k
      if (yych == '\t') goto yy646;
7757
2.57k
      goto yy86;
7758
5.90k
    } else {
7759
5.90k
      if (yych <= ' ') goto yy646;
7760
4.06k
      if (yych == ')') goto yy723;
7761
2.10k
      goto yy86;
7762
4.06k
    }
7763
623
yy648:
7764
623
    YYDEBUG(648, *YYCURSOR);
7765
623
    ++YYCURSOR;
7766
623
    YYDEBUG(649, *YYCURSOR);
7767
623
    yyleng = YYCURSOR - SCNG(yy_text);
7768
623
#line 1709 "Zend/zend_language_scanner.l"
7769
623
    {
7770
623
  RETURN_TOKEN(T_UNSET_CAST);
7771
623
}
7772
0
#line 7773 "Zend/zend_language_scanner.c"
7773
7.36k
yy650:
7774
7.36k
    YYDEBUG(650, *YYCURSOR);
7775
7.36k
    yyaccept = 4;
7776
7.36k
    yych = *(YYMARKER = ++YYCURSOR);
7777
7.36k
    if (yych == 'T') goto yy725;
7778
6.17k
    if (yych == 't') goto yy725;
7779
647
    goto yy48;
7780
4.27k
yy651:
7781
4.27k
    YYDEBUG(651, *YYCURSOR);
7782
4.27k
    yyaccept = 4;
7783
4.27k
    yych = *(YYMARKER = ++YYCURSOR);
7784
4.27k
    if (yych == 'E') goto yy727;
7785
3.74k
    if (yych == 'e') goto yy727;
7786
562
    goto yy48;
7787
5.39k
yy652:
7788
5.39k
    YYDEBUG(652, *YYCURSOR);
7789
5.39k
    yyaccept = 4;
7790
5.39k
    yych = *(YYMARKER = ++YYCURSOR);
7791
5.39k
    if (yych == 'E') goto yy729;
7792
3.65k
    if (yych == 'e') goto yy729;
7793
902
    goto yy48;
7794
5.84k
yy653:
7795
5.84k
    YYDEBUG(653, *YYCURSOR);
7796
5.84k
    yyaccept = 59;
7797
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
7798
5.84k
    if (yybm[256+yych] & 128) {
7799
742
      goto yy47;
7800
742
    }
7801
5.09k
    if (yych == '\\') goto yy164;
7802
4.93k
yy654:
7803
4.93k
    YYDEBUG(654, *YYCURSOR);
7804
4.93k
    yyleng = YYCURSOR - SCNG(yy_text);
7805
4.93k
#line 1497 "Zend/zend_language_scanner.l"
7806
4.93k
    {
7807
4.93k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7808
4.93k
}
7809
0
#line 7810 "Zend/zend_language_scanner.c"
7810
2.44k
yy655:
7811
2.44k
    YYDEBUG(655, *YYCURSOR);
7812
2.44k
    yyaccept = 60;
7813
2.44k
    yych = *(YYMARKER = ++YYCURSOR);
7814
2.44k
    if (yybm[256+yych] & 128) {
7815
369
      goto yy47;
7816
369
    }
7817
2.07k
    if (yych == '\\') goto yy164;
7818
2.05k
yy656:
7819
2.05k
    YYDEBUG(656, *YYCURSOR);
7820
2.05k
    yyleng = YYCURSOR - SCNG(yy_text);
7821
2.05k
#line 1529 "Zend/zend_language_scanner.l"
7822
2.05k
    {
7823
2.05k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7824
2.05k
}
7825
0
#line 7826 "Zend/zend_language_scanner.c"
7826
5.46k
yy657:
7827
5.46k
    YYDEBUG(657, *YYCURSOR);
7828
5.46k
    yyaccept = 4;
7829
5.46k
    yych = *(YYMARKER = ++YYCURSOR);
7830
5.46k
    if (yych == 'A') goto yy731;
7831
3.60k
    if (yych == 'a') goto yy731;
7832
698
    goto yy48;
7833
7.06k
yy658:
7834
7.06k
    YYDEBUG(658, *YYCURSOR);
7835
7.06k
    yyaccept = 4;
7836
7.06k
    yych = *(YYMARKER = ++YYCURSOR);
7837
7.06k
    if (yych == 'A') goto yy732;
7838
4.52k
    if (yych == 'a') goto yy732;
7839
1.43k
    goto yy48;
7840
3.39k
yy659:
7841
3.39k
    YYDEBUG(659, *YYCURSOR);
7842
3.39k
    yyaccept = 4;
7843
3.39k
    yych = *(YYMARKER = ++YYCURSOR);
7844
3.39k
    if (yych == 'C') goto yy733;
7845
2.90k
    if (yych == 'c') goto yy733;
7846
561
    goto yy48;
7847
7.69k
yy660:
7848
7.69k
    YYDEBUG(660, *YYCURSOR);
7849
7.69k
    yyaccept = 4;
7850
7.69k
    yych = *(YYMARKER = ++YYCURSOR);
7851
7.69k
    if (yych == 'E') goto yy734;
7852
6.74k
    if (yych == 'e') goto yy734;
7853
1.54k
    goto yy48;
7854
3.74k
yy661:
7855
3.74k
    YYDEBUG(661, *YYCURSOR);
7856
3.74k
    yych = *++YYCURSOR;
7857
3.74k
    if (yych == 'T') goto yy736;
7858
3.49k
    if (yych == 't') goto yy736;
7859
827
    goto yy86;
7860
4.63k
yy662:
7861
4.63k
    YYDEBUG(662, *YYCURSOR);
7862
4.63k
    yych = *++YYCURSOR;
7863
4.63k
    if (yych == 'P') goto yy737;
7864
3.74k
    if (yych == 'p') goto yy737;
7865
722
    goto yy86;
7866
58.4k
yy663:
7867
58.4k
    YYDEBUG(663, *YYCURSOR);
7868
58.4k
    ++YYCURSOR;
7869
58.4k
    YYFILL(1);
7870
58.4k
    yych = *YYCURSOR;
7871
58.4k
    if (yych <= '\n') {
7872
41.8k
      if (yych <= 0x00) goto yy86;
7873
41.3k
      if (yych <= '\t') goto yy586;
7874
40.0k
      goto yy588;
7875
41.3k
    } else {
7876
16.6k
      if (yych == '\r') goto yy588;
7877
12.5k
      goto yy586;
7878
16.6k
    }
7879
129k
yy664:
7880
129k
    YYDEBUG(664, *YYCURSOR);
7881
129k
    ++YYCURSOR;
7882
129k
    YYFILL(1);
7883
129k
    yych = *YYCURSOR;
7884
129k
    if (yych <= '\f') {
7885
2.55k
      if (yych <= 0x00) goto yy86;
7886
1.92k
      if (yych == '\n') goto yy495;
7887
432
      goto yy586;
7888
127k
    } else {
7889
127k
      if (yych <= '\r') goto yy495;
7890
126k
      if (yych == '*') goto yy738;
7891
10.0k
      goto yy586;
7892
126k
    }
7893
30.2k
yy665:
7894
30.2k
    YYDEBUG(665, *YYCURSOR);
7895
30.2k
    yyaccept = 53;
7896
30.2k
    YYMARKER = ++YYCURSOR;
7897
30.2k
    YYFILL(1);
7898
30.2k
    yych = *YYCURSOR;
7899
30.2k
    if (yych <= '\n') {
7900
5.57k
      if (yych <= 0x00) goto yy583;
7901
5.24k
      if (yych <= '\t') goto yy586;
7902
948
      goto yy495;
7903
24.6k
    } else {
7904
24.6k
      if (yych == '\r') goto yy495;
7905
22.7k
      goto yy586;
7906
24.6k
    }
7907
248k
yy666:
7908
248k
    YYDEBUG(666, *YYCURSOR);
7909
248k
    yyaccept = 53;
7910
248k
    YYMARKER = ++YYCURSOR;
7911
248k
    YYFILL(1);
7912
248k
    yych = *YYCURSOR;
7913
248k
    if (yych <= '\r') {
7914
53.2k
      if (yych <= '\t') {
7915
42.6k
        if (yych <= 0x00) goto yy583;
7916
41.2k
        goto yy586;
7917
42.6k
      } else {
7918
10.6k
        if (yych <= '\n') goto yy495;
7919
9.84k
        if (yych <= '\f') goto yy586;
7920
3.02k
        goto yy495;
7921
9.84k
      }
7922
195k
    } else {
7923
195k
      if (yych <= 'X') {
7924
128k
        if (yych <= 'W') goto yy586;
7925
2.00k
        goto yy740;
7926
128k
      } else {
7927
66.9k
        if (yych == 'x') goto yy740;
7928
56.5k
        goto yy586;
7929
66.9k
      }
7930
195k
    }
7931
40.0k
yy667:
7932
40.0k
    YYDEBUG(667, *YYCURSOR);
7933
40.0k
    yyaccept = 53;
7934
40.0k
    YYMARKER = ++YYCURSOR;
7935
40.0k
    YYFILL(1);
7936
40.0k
    yych = *YYCURSOR;
7937
40.0k
    if (yych <= '\r') {
7938
2.36k
      if (yych <= '\t') {
7939
1.24k
        if (yych <= 0x00) goto yy583;
7940
881
        goto yy586;
7941
1.24k
      } else {
7942
1.12k
        if (yych <= '\n') goto yy495;
7943
796
        if (yych <= '\f') goto yy586;
7944
355
        goto yy495;
7945
796
      }
7946
37.6k
    } else {
7947
37.6k
      if (yych <= 'M') {
7948
5.37k
        if (yych <= 'L') goto yy586;
7949
4.56k
        goto yy741;
7950
32.3k
      } else {
7951
32.3k
        if (yych == 'm') goto yy741;
7952
4.26k
        goto yy586;
7953
32.3k
      }
7954
37.6k
    }
7955
76.6k
yy668:
7956
76.6k
    YYDEBUG(668, *YYCURSOR);
7957
76.6k
    ++YYCURSOR;
7958
76.6k
    YYFILL(1);
7959
76.6k
    yych = *YYCURSOR;
7960
76.6k
    YYDEBUG(669, *YYCURSOR);
7961
76.6k
    if (yych <= '*') {
7962
29.8k
      if (yych <= 0x00) goto yy86;
7963
28.9k
      if (yych <= ')') goto yy590;
7964
19.7k
      goto yy668;
7965
46.7k
    } else {
7966
46.7k
      if (yych == '/') goto yy495;
7967
9.86k
      goto yy590;
7968
46.7k
    }
7969
17.0k
yy670:
7970
17.0k
    YYDEBUG(670, *YYCURSOR);
7971
17.0k
    yyaccept = 61;
7972
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
7973
17.0k
    if (yybm[256+yych] & 128) {
7974
578
      goto yy47;
7975
578
    }
7976
16.5k
    if (yych == '\\') goto yy164;
7977
16.5k
yy671:
7978
16.5k
    YYDEBUG(671, *YYCURSOR);
7979
16.5k
    yyleng = YYCURSOR - SCNG(yy_text);
7980
16.5k
#line 1578 "Zend/zend_language_scanner.l"
7981
16.5k
    {
7982
16.5k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7983
16.5k
}
7984
0
#line 7985 "Zend/zend_language_scanner.c"
7985
4.32k
yy672:
7986
4.32k
    YYDEBUG(672, *YYCURSOR);
7987
4.32k
    yyaccept = 62;
7988
4.32k
    yych = *(YYMARKER = ++YYCURSOR);
7989
4.32k
    if (yybm[256+yych] & 128) {
7990
964
      goto yy47;
7991
964
    }
7992
3.35k
    if (yych == '\\') goto yy164;
7993
3.30k
yy673:
7994
3.30k
    YYDEBUG(673, *YYCURSOR);
7995
3.30k
    yyleng = YYCURSOR - SCNG(yy_text);
7996
3.30k
#line 1445 "Zend/zend_language_scanner.l"
7997
3.30k
    {
7998
3.30k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
7999
3.30k
}
8000
0
#line 8001 "Zend/zend_language_scanner.c"
8001
20.2k
yy674:
8002
20.2k
    YYDEBUG(674, *YYCURSOR);
8003
20.2k
    yyaccept = 63;
8004
20.2k
    yych = *(YYMARKER = ++YYCURSOR);
8005
20.2k
    if (yybm[256+yych] & 128) {
8006
1.17k
      goto yy47;
8007
1.17k
    }
8008
19.0k
    if (yych == '\\') goto yy164;
8009
19.0k
yy675:
8010
19.0k
    YYDEBUG(675, *YYCURSOR);
8011
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
8012
19.0k
#line 1489 "Zend/zend_language_scanner.l"
8013
19.0k
    {
8014
19.0k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8015
19.0k
}
8016
0
#line 8017 "Zend/zend_language_scanner.c"
8017
107k
yy676:
8018
107k
    YYDEBUG(676, *YYCURSOR);
8019
107k
    yyaccept = 4;
8020
107k
    yych = *(YYMARKER = ++YYCURSOR);
8021
107k
    if (yych == 'N') goto yy742;
8022
107k
    if (yych == 'n') goto yy742;
8023
2.38k
    goto yy48;
8024
18.1k
yy677:
8025
18.1k
    YYDEBUG(677, *YYCURSOR);
8026
18.1k
    yyaccept = 4;
8027
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
8028
18.1k
    if (yych == 'N') goto yy744;
8029
16.5k
    if (yych == 'n') goto yy744;
8030
7.52k
    goto yy48;
8031
10.7k
yy678:
8032
10.7k
    YYDEBUG(678, *YYCURSOR);
8033
10.7k
    yyaccept = 64;
8034
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
8035
10.7k
    if (yych <= '\\') {
8036
4.76k
      if (yych <= '@') {
8037
4.04k
        if (yych <= '/') goto yy679;
8038
1.09k
        if (yych <= '9') goto yy47;
8039
1.09k
      } else {
8040
719
        if (yych <= 'Z') goto yy47;
8041
510
        if (yych >= '\\') goto yy164;
8042
510
      }
8043
5.99k
    } else {
8044
5.99k
      if (yych <= '`') {
8045
4.21k
        if (yych == '_') goto yy745;
8046
4.21k
      } else {
8047
1.77k
        if (yych <= 'z') goto yy47;
8048
1.40k
        if (yych >= 0x80) goto yy47;
8049
1.40k
      }
8050
5.99k
    }
8051
5.72k
yy679:
8052
5.72k
    YYDEBUG(679, *YYCURSOR);
8053
5.72k
    yyleng = YYCURSOR - SCNG(yy_text);
8054
5.72k
#line 1721 "Zend/zend_language_scanner.l"
8055
5.72k
    {
8056
5.72k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8057
5.72k
}
8058
0
#line 8059 "Zend/zend_language_scanner.c"
8059
5.74k
yy680:
8060
5.74k
    YYDEBUG(680, *YYCURSOR);
8061
5.74k
    yyaccept = 4;
8062
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
8063
5.74k
    if (yych == 'E') goto yy746;
8064
4.77k
    if (yych == 'e') goto yy746;
8065
1.14k
    goto yy48;
8066
6.59k
yy681:
8067
6.59k
    YYDEBUG(681, *YYCURSOR);
8068
6.59k
    yyaccept = 4;
8069
6.59k
    yych = *(YYMARKER = ++YYCURSOR);
8070
6.59k
    if (yych == 'O') goto yy747;
8071
5.95k
    if (yych == 'o') goto yy747;
8072
643
    goto yy48;
8073
13.6k
yy682:
8074
13.6k
    YYDEBUG(682, *YYCURSOR);
8075
13.6k
    yyaccept = 4;
8076
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
8077
13.6k
    if (yych == 'C') goto yy748;
8078
12.9k
    if (yych == 'c') goto yy748;
8079
856
    goto yy48;
8080
19.8k
yy683:
8081
19.8k
    YYDEBUG(683, *YYCURSOR);
8082
19.8k
    yyaccept = 4;
8083
19.8k
    yych = *(YYMARKER = ++YYCURSOR);
8084
19.8k
    if (yych == 'C') goto yy749;
8085
17.6k
    if (yych == 'c') goto yy749;
8086
1.16k
    goto yy48;
8087
17.2k
yy684:
8088
17.2k
    YYDEBUG(684, *YYCURSOR);
8089
17.2k
    yyaccept = 65;
8090
17.2k
    yych = *(YYMARKER = ++YYCURSOR);
8091
17.2k
    if (yybm[256+yych] & 128) {
8092
1.16k
      goto yy47;
8093
1.16k
    }
8094
16.1k
    if (yych == '(') goto yy750;
8095
12.1k
    if (yych == '\\') goto yy164;
8096
14.5k
yy685:
8097
14.5k
    YYDEBUG(685, *YYCURSOR);
8098
14.5k
    yyleng = YYCURSOR - SCNG(yy_text);
8099
14.5k
#line 1777 "Zend/zend_language_scanner.l"
8100
14.5k
    {
8101
14.5k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8102
14.5k
}
8103
0
#line 8104 "Zend/zend_language_scanner.c"
8104
9.57k
yy686:
8105
9.57k
    YYDEBUG(686, *YYCURSOR);
8106
9.57k
    yyaccept = 4;
8107
9.57k
    yych = *(YYMARKER = ++YYCURSOR);
8108
9.57k
    if (yych == 'E') goto yy751;
8109
7.53k
    if (yych == 'e') goto yy751;
8110
797
    goto yy48;
8111
2.28k
yy687:
8112
2.28k
    YYDEBUG(687, *YYCURSOR);
8113
2.28k
    yych = *++YYCURSOR;
8114
2.28k
    if (yych == 'S') goto yy752;
8115
1.52k
    if (yych == 's') goto yy752;
8116
755
    goto yy86;
8117
5.45k
yy688:
8118
5.45k
    YYDEBUG(688, *YYCURSOR);
8119
5.45k
    yyaccept = 4;
8120
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
8121
5.45k
    if (yych == 'Y') goto yy753;
8122
5.10k
    if (yych == 'y') goto yy753;
8123
542
    goto yy48;
8124
22.9k
yy689:
8125
22.9k
    YYDEBUG(689, *YYCURSOR);
8126
22.9k
    yyaccept = 66;
8127
22.9k
    yych = *(YYMARKER = ++YYCURSOR);
8128
22.9k
    if (yych <= '\\') {
8129
9.08k
      if (yych <= '@') {
8130
6.41k
        if (yych <= '/') goto yy690;
8131
1.08k
        if (yych <= '9') goto yy47;
8132
2.66k
      } else {
8133
2.66k
        if (yych <= 'Z') goto yy47;
8134
2.15k
        if (yych >= '\\') goto yy164;
8135
2.15k
      }
8136
13.9k
    } else {
8137
13.9k
      if (yych <= '`') {
8138
5.51k
        if (yych == '_') goto yy755;
8139
8.39k
      } else {
8140
8.39k
        if (yych <= 'z') goto yy47;
8141
7.58k
        if (yych >= 0x80) goto yy47;
8142
7.58k
      }
8143
13.9k
    }
8144
8.93k
yy690:
8145
8.93k
    YYDEBUG(690, *YYCURSOR);
8146
8.93k
    yyleng = YYCURSOR - SCNG(yy_text);
8147
8.93k
#line 1729 "Zend/zend_language_scanner.l"
8148
8.93k
    {
8149
8.93k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8150
8.93k
}
8151
0
#line 8152 "Zend/zend_language_scanner.c"
8152
10.7k
yy691:
8153
10.7k
    YYDEBUG(691, *YYCURSOR);
8154
10.7k
    yych = *++YYCURSOR;
8155
10.7k
    if (yych == 'R') goto yy756;
8156
8.49k
    if (yych == 'r') goto yy756;
8157
2.97k
    goto yy86;
8158
1.27M
yy692:
8159
1.27M
    YYDEBUG(692, *YYCURSOR);
8160
1.27M
    ++YYCURSOR;
8161
1.27M
    YYFILL(1);
8162
1.27M
    yych = *YYCURSOR;
8163
1.27M
    YYDEBUG(693, *YYCURSOR);
8164
1.27M
    if (yych <= '\n') {
8165
135k
      if (yych <= 0x00) goto yy86;
8166
128k
      if (yych <= '\t') goto yy692;
8167
115k
      goto yy616;
8168
1.13M
    } else {
8169
1.13M
      if (yych == '\r') goto yy616;
8170
1.10M
      goto yy692;
8171
1.13M
    }
8172
220k
yy694:
8173
220k
    YYDEBUG(694, *YYCURSOR);
8174
220k
    ++YYCURSOR;
8175
220k
    YYFILL(1);
8176
220k
    yych = *YYCURSOR;
8177
220k
    YYDEBUG(695, *YYCURSOR);
8178
220k
    if (yych <= ' ') {
8179
17.8k
      if (yych <= '\n') {
8180
4.29k
        if (yych <= 0x00) goto yy86;
8181
3.55k
        if (yych <= 0x08) goto yy692;
8182
3.09k
        if (yych <= '\t') goto yy694;
8183
2.75k
        goto yy616;
8184
13.5k
      } else {
8185
13.5k
        if (yych == '\r') goto yy616;
8186
6.64k
        if (yych <= 0x1F) goto yy692;
8187
6.09k
        goto yy694;
8188
6.64k
      }
8189
202k
    } else {
8190
202k
      if (yych <= '/') {
8191
114k
        if (yych == '#') goto yy757;
8192
99.2k
        if (yych <= '.') goto yy692;
8193
83.9k
        goto yy758;
8194
99.2k
      } else {
8195
87.5k
        if (yych <= 'F') {
8196
43.4k
          if (yych <= 'E') goto yy692;
8197
24.5k
          goto yy759;
8198
44.0k
        } else {
8199
44.0k
          if (yych == 'f') goto yy759;
8200
38.7k
          goto yy692;
8201
44.0k
        }
8202
87.5k
      }
8203
202k
    }
8204
1.95M
yy696:
8205
1.95M
    YYDEBUG(696, *YYCURSOR);
8206
1.95M
    ++YYCURSOR;
8207
1.95M
    YYFILL(1);
8208
1.95M
    yych = *YYCURSOR;
8209
1.95M
    YYDEBUG(697, *YYCURSOR);
8210
1.95M
    if (yych <= 0x00) goto yy86;
8211
1.93M
    if (yych == '*') goto yy760;
8212
1.89M
    goto yy696;
8213
1.89M
yy698:
8214
6.93k
    YYDEBUG(698, *YYCURSOR);
8215
6.93k
    yyaccept = 4;
8216
6.93k
    yych = *(YYMARKER = ++YYCURSOR);
8217
6.93k
    if (yych == '_') goto yy762;
8218
1.97k
    goto yy48;
8219
5.04k
yy699:
8220
5.04k
    YYDEBUG(699, *YYCURSOR);
8221
5.04k
    yyaccept = 67;
8222
5.04k
    yych = *(YYMARKER = ++YYCURSOR);
8223
5.04k
    if (yybm[256+yych] & 128) {
8224
886
      goto yy47;
8225
886
    }
8226
4.15k
    if (yych == '\\') goto yy164;
8227
3.97k
yy700:
8228
3.97k
    YYDEBUG(700, *YYCURSOR);
8229
3.97k
    yyleng = YYCURSOR - SCNG(yy_text);
8230
3.97k
#line 2280 "Zend/zend_language_scanner.l"
8231
3.97k
    {
8232
3.97k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8233
3.97k
}
8234
0
#line 8235 "Zend/zend_language_scanner.c"
8235
7.42k
yy701:
8236
7.42k
    YYDEBUG(701, *YYCURSOR);
8237
7.42k
    yyaccept = 4;
8238
7.42k
    yych = *(YYMARKER = ++YYCURSOR);
8239
7.42k
    if (yych == '_') goto yy763;
8240
807
    goto yy48;
8241
7.54k
yy702:
8242
7.54k
    YYDEBUG(702, *YYCURSOR);
8243
7.54k
    yyaccept = 4;
8244
7.54k
    yych = *(YYMARKER = ++YYCURSOR);
8245
7.54k
    if (yych == 'I') goto yy765;
8246
4.28k
    if (yych == 'i') goto yy765;
8247
549
    goto yy48;
8248
5.37k
yy703:
8249
5.37k
    YYDEBUG(703, *YYCURSOR);
8250
5.37k
    yyaccept = 4;
8251
5.37k
    yych = *(YYMARKER = ++YYCURSOR);
8252
5.37k
    if (yych == 'C') goto yy766;
8253
2.57k
    if (yych == 'c') goto yy766;
8254
589
    goto yy48;
8255
3.47k
yy704:
8256
3.47k
    YYDEBUG(704, *YYCURSOR);
8257
3.47k
    yyaccept = 4;
8258
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
8259
3.47k
    if (yych == '_') goto yy767;
8260
636
    goto yy48;
8261
13.4k
yy705:
8262
13.4k
    YYDEBUG(705, *YYCURSOR);
8263
13.4k
    yyaccept = 4;
8264
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
8265
13.4k
    if (yych == 'D') goto yy769;
8266
3.86k
    if (yych == 'd') goto yy769;
8267
940
    goto yy48;
8268
5.28k
yy706:
8269
5.28k
    YYDEBUG(706, *YYCURSOR);
8270
5.28k
    yyaccept = 4;
8271
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
8272
5.28k
    if (yych == 'P') goto yy770;
8273
2.85k
    if (yych == 'p') goto yy770;
8274
418
    goto yy48;
8275
4.41k
yy707:
8276
4.41k
    YYDEBUG(707, *YYCURSOR);
8277
4.41k
    yyaccept = 4;
8278
4.41k
    yych = *(YYMARKER = ++YYCURSOR);
8279
4.41k
    if (yych == 'R') goto yy771;
8280
1.08k
    if (yych == 'r') goto yy771;
8281
333
    goto yy48;
8282
5.19k
yy708:
8283
5.19k
    YYDEBUG(708, *YYCURSOR);
8284
5.19k
    yyaccept = 4;
8285
5.19k
    yych = *(YYMARKER = ++YYCURSOR);
8286
5.19k
    if (yych == '_') goto yy772;
8287
822
    goto yy48;
8288
44.9k
yy709:
8289
44.9k
    YYDEBUG(709, *YYCURSOR);
8290
44.9k
    ++YYCURSOR;
8291
44.9k
    YYFILL(1);
8292
44.9k
    yych = *YYCURSOR;
8293
44.9k
    YYDEBUG(710, *YYCURSOR);
8294
44.9k
    if (yych <= ' ') {
8295
5.29k
      if (yych <= '\n') {
8296
2.08k
        if (yych <= 0x00) goto yy86;
8297
1.74k
        if (yych <= 0x08) goto yy443;
8298
1.28k
        if (yych <= '\t') goto yy709;
8299
910
        goto yy545;
8300
3.21k
      } else {
8301
3.21k
        if (yych == '\r') goto yy545;
8302
1.61k
        if (yych <= 0x1F) goto yy443;
8303
903
        goto yy709;
8304
1.61k
      }
8305
39.6k
    } else {
8306
39.6k
      if (yych <= ')') {
8307
6.29k
        if (yych <= '"') goto yy443;
8308
5.97k
        if (yych <= '#') goto yy773;
8309
3.74k
        if (yych <= '$') goto yy774;
8310
2.74k
        goto yy443;
8311
33.3k
      } else {
8312
33.3k
        if (yych <= '-') {
8313
3.12k
          if (yych <= '*') goto yy547;
8314
1.09k
          goto yy443;
8315
30.2k
        } else {
8316
30.2k
          if (yych <= '.') goto yy775;
8317
21.3k
          if (yych <= '/') goto yy776;
8318
13.2k
          goto yy443;
8319
21.3k
        }
8320
33.3k
      }
8321
39.6k
    }
8322
2.28k
yy711:
8323
2.28k
    YYDEBUG(711, *YYCURSOR);
8324
2.28k
    ++YYCURSOR;
8325
2.28k
    YYFILL(1);
8326
2.28k
    yych = *YYCURSOR;
8327
2.28k
    if (yybm[0+yych] & 64) {
8328
1.34k
      goto yy355;
8329
1.34k
    }
8330
940
    if (yych <= 0x00) goto yy86;
8331
734
    if (yych == '.') goto yy631;
8332
212
    goto yy230;
8333
3.56k
yy712:
8334
3.56k
    YYDEBUG(712, *YYCURSOR);
8335
3.56k
    ++YYCURSOR;
8336
3.56k
    YYFILL(1);
8337
3.56k
    yych = *YYCURSOR;
8338
3.56k
    if (yybm[0+yych] & 64) {
8339
369
      goto yy355;
8340
369
    }
8341
3.19k
    if (yych <= 0x00) goto yy86;
8342
2.85k
    if (yych == '/') goto yy545;
8343
282
    goto yy230;
8344
282
yy713:
8345
232
    YYDEBUG(713, *YYCURSOR);
8346
232
    ++YYCURSOR;
8347
232
    YYDEBUG(714, *YYCURSOR);
8348
232
    yyleng = YYCURSOR - SCNG(yy_text);
8349
232
#line 1677 "Zend/zend_language_scanner.l"
8350
232
    {
8351
232
  if (PARSER_MODE()) {
8352
23
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8353
23
    if (EG(exception)) {
8354
0
      RETURN_TOKEN(T_ERROR);
8355
0
    }
8356
23
  }
8357
232
  RETURN_TOKEN(T_STRING_CAST);
8358
232
}
8359
0
#line 8360 "Zend/zend_language_scanner.c"
8360
1.51k
yy715:
8361
1.51k
    YYDEBUG(715, *YYCURSOR);
8362
1.51k
    ++YYCURSOR;
8363
1.51k
    YYFILL(1);
8364
1.51k
    yych = *YYCURSOR;
8365
1.51k
    YYDEBUG(716, *YYCURSOR);
8366
1.51k
    if (yych <= 0x1F) {
8367
583
      if (yych == '\t') goto yy715;
8368
309
      goto yy86;
8369
935
    } else {
8370
935
      if (yych <= ' ') goto yy715;
8371
699
      if (yych == ')') goto yy777;
8372
409
      goto yy86;
8373
699
    }
8374
795
yy717:
8375
795
    YYDEBUG(717, *YYCURSOR);
8376
795
    ++YYCURSOR;
8377
795
    YYDEBUG(718, *YYCURSOR);
8378
795
    yyleng = YYCURSOR - SCNG(yy_text);
8379
795
#line 1655 "Zend/zend_language_scanner.l"
8380
795
    {
8381
795
  if (PARSER_MODE()) {
8382
26
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8383
26
    if (EG(exception)) {
8384
0
      RETURN_TOKEN(T_ERROR);
8385
0
    }
8386
26
  }
8387
795
  RETURN_TOKEN(T_DOUBLE_CAST);
8388
795
}
8389
0
#line 8390 "Zend/zend_language_scanner.c"
8390
2.42k
yy719:
8391
2.42k
    YYDEBUG(719, *YYCURSOR);
8392
2.42k
    ++YYCURSOR;
8393
2.42k
    YYFILL(1);
8394
2.42k
    yych = *YYCURSOR;
8395
2.42k
    YYDEBUG(720, *YYCURSOR);
8396
2.42k
    if (yych <= 0x1F) {
8397
249
      if (yych == '\t') goto yy719;
8398
138
      goto yy86;
8399
2.17k
    } else {
8400
2.17k
      if (yych <= ' ') goto yy719;
8401
1.83k
      if (yych == ')') goto yy779;
8402
447
      goto yy86;
8403
1.83k
    }
8404
990
yy721:
8405
990
    YYDEBUG(721, *YYCURSOR);
8406
990
    ++YYCURSOR;
8407
990
    YYDEBUG(722, *YYCURSOR);
8408
990
    yyleng = YYCURSOR - SCNG(yy_text);
8409
990
#line 1691 "Zend/zend_language_scanner.l"
8410
990
    {
8411
990
  RETURN_TOKEN(T_OBJECT_CAST);
8412
990
}
8413
0
#line 8414 "Zend/zend_language_scanner.c"
8414
1.96k
yy723:
8415
1.96k
    YYDEBUG(723, *YYCURSOR);
8416
1.96k
    ++YYCURSOR;
8417
1.96k
    YYDEBUG(724, *YYCURSOR);
8418
1.96k
    yyleng = YYCURSOR - SCNG(yy_text);
8419
1.96k
#line 1673 "Zend/zend_language_scanner.l"
8420
1.96k
    {
8421
1.96k
  RETURN_TOKEN(T_STRING_CAST);
8422
1.96k
}
8423
0
#line 8424 "Zend/zend_language_scanner.c"
8424
6.71k
yy725:
8425
6.71k
    YYDEBUG(725, *YYCURSOR);
8426
6.71k
    yyaccept = 68;
8427
6.71k
    yych = *(YYMARKER = ++YYCURSOR);
8428
6.71k
    if (yybm[256+yych] & 128) {
8429
1.66k
      goto yy47;
8430
1.66k
    }
8431
5.05k
    if (yych == '\\') goto yy164;
8432
5.04k
yy726:
8433
5.04k
    YYDEBUG(726, *YYCURSOR);
8434
5.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8435
5.04k
#line 1769 "Zend/zend_language_scanner.l"
8436
5.04k
    {
8437
5.04k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8438
5.04k
}
8439
0
#line 8440 "Zend/zend_language_scanner.c"
8440
3.71k
yy727:
8441
3.71k
    YYDEBUG(727, *YYCURSOR);
8442
3.71k
    yyaccept = 69;
8443
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
8444
3.71k
    if (yybm[256+yych] & 128) {
8445
558
      goto yy47;
8446
558
    }
8447
3.15k
    if (yych == '\\') goto yy164;
8448
2.50k
yy728:
8449
2.50k
    YYDEBUG(728, *YYCURSOR);
8450
2.50k
    yyleng = YYCURSOR - SCNG(yy_text);
8451
2.50k
#line 1821 "Zend/zend_language_scanner.l"
8452
2.50k
    {
8453
2.50k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8454
2.50k
}
8455
0
#line 8456 "Zend/zend_language_scanner.c"
8456
4.48k
yy729:
8457
4.48k
    YYDEBUG(729, *YYCURSOR);
8458
4.48k
    yyaccept = 70;
8459
4.48k
    yych = *(YYMARKER = ++YYCURSOR);
8460
4.48k
    if (yybm[256+yych] & 128) {
8461
355
      goto yy47;
8462
355
    }
8463
4.13k
    if (yych == '\\') goto yy164;
8464
4.13k
yy730:
8465
4.13k
    YYDEBUG(730, *YYCURSOR);
8466
4.13k
    yyleng = YYCURSOR - SCNG(yy_text);
8467
4.13k
#line 1537 "Zend/zend_language_scanner.l"
8468
4.13k
    {
8469
4.13k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8470
4.13k
}
8471
0
#line 8472 "Zend/zend_language_scanner.c"
8472
4.76k
yy731:
8473
4.76k
    YYDEBUG(731, *YYCURSOR);
8474
4.76k
    yyaccept = 4;
8475
4.76k
    yych = *(YYMARKER = ++YYCURSOR);
8476
4.76k
    if (yych == 'R') goto yy781;
8477
3.44k
    if (yych == 'r') goto yy781;
8478
1.74k
    goto yy48;
8479
5.62k
yy732:
8480
5.62k
    YYDEBUG(732, *YYCURSOR);
8481
5.62k
    yyaccept = 4;
8482
5.62k
    yych = *(YYMARKER = ++YYCURSOR);
8483
5.62k
    if (yych == 'C') goto yy782;
8484
3.52k
    if (yych == 'c') goto yy782;
8485
924
    goto yy48;
8486
2.83k
yy733:
8487
2.83k
    YYDEBUG(733, *YYCURSOR);
8488
2.83k
    yyaccept = 4;
8489
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
8490
2.83k
    if (yych == 'H') goto yy783;
8491
2.21k
    if (yych == 'h') goto yy783;
8492
1.03k
    goto yy48;
8493
6.15k
yy734:
8494
6.15k
    YYDEBUG(734, *YYCURSOR);
8495
6.15k
    yyaccept = 71;
8496
6.15k
    yych = *(YYMARKER = ++YYCURSOR);
8497
6.15k
    if (yybm[256+yych] & 128) {
8498
856
      goto yy47;
8499
856
    }
8500
5.29k
    if (yych == '\\') goto yy164;
8501
5.29k
yy735:
8502
5.29k
    YYDEBUG(735, *YYCURSOR);
8503
5.29k
    yyleng = YYCURSOR - SCNG(yy_text);
8504
5.29k
#line 1473 "Zend/zend_language_scanner.l"
8505
5.29k
    {
8506
5.29k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8507
5.29k
}
8508
0
#line 8509 "Zend/zend_language_scanner.c"
8509
2.92k
yy736:
8510
2.92k
    YYDEBUG(736, *YYCURSOR);
8511
2.92k
    yych = *++YYCURSOR;
8512
2.92k
    if (yych == 'E') goto yy785;
8513
2.68k
    if (yych == 'e') goto yy785;
8514
513
    goto yy86;
8515
3.91k
yy737:
8516
3.91k
    YYDEBUG(737, *YYCURSOR);
8517
3.91k
    yych = *++YYCURSOR;
8518
3.91k
    if (yych == 'L') goto yy786;
8519
3.14k
    if (yych == 'l') goto yy786;
8520
335
    goto yy86;
8521
3.78M
yy738:
8522
3.78M
    YYDEBUG(738, *YYCURSOR);
8523
3.78M
    ++YYCURSOR;
8524
3.78M
    YYFILL(1);
8525
3.78M
    yych = *YYCURSOR;
8526
3.78M
    YYDEBUG(739, *YYCURSOR);
8527
3.78M
    if (yych <= '\f') {
8528
180k
      if (yych <= 0x00) goto yy86;
8529
161k
      if (yych == '\n') goto yy787;
8530
48.3k
      goto yy738;
8531
3.60M
    } else {
8532
3.60M
      if (yych <= '\r') goto yy787;
8533
3.44M
      if (yych == '*') goto yy789;
8534
3.40M
      goto yy738;
8535
3.44M
    }
8536
12.4k
yy740:
8537
12.4k
    YYDEBUG(740, *YYCURSOR);
8538
12.4k
    ++YYCURSOR;
8539
12.4k
    YYFILL(1);
8540
12.4k
    yych = *YYCURSOR;
8541
12.4k
    if (yych <= '\r') {
8542
1.31k
      if (yych <= '\t') {
8543
597
        if (yych <= 0x00) goto yy86;
8544
280
        goto yy586;
8545
721
      } else {
8546
721
        if (yych <= '\n') goto yy495;
8547
490
        if (yych <= '\f') goto yy586;
8548
274
        goto yy495;
8549
490
      }
8550
11.1k
    } else {
8551
11.1k
      if (yych <= 'T') {
8552
1.76k
        if (yych <= 'S') goto yy586;
8553
819
        goto yy791;
8554
9.38k
      } else {
8555
9.38k
        if (yych == 't') goto yy791;
8556
980
        goto yy586;
8557
9.38k
      }
8558
11.1k
    }
8559
32.6k
yy741:
8560
32.6k
    YYDEBUG(741, *YYCURSOR);
8561
32.6k
    ++YYCURSOR;
8562
32.6k
    YYFILL(1);
8563
32.6k
    yych = *YYCURSOR;
8564
32.6k
    if (yych <= '\r') {
8565
1.75k
      if (yych <= '\t') {
8566
745
        if (yych <= 0x00) goto yy86;
8567
403
        goto yy586;
8568
1.01k
      } else {
8569
1.01k
        if (yych <= '\n') goto yy495;
8570
687
        if (yych <= '\f') goto yy586;
8571
375
        goto yy495;
8572
687
      }
8573
30.8k
    } else {
8574
30.8k
      if (yych <= 'P') {
8575
5.38k
        if (yych <= 'O') goto yy586;
8576
3.14k
        goto yy792;
8577
25.4k
      } else {
8578
25.4k
        if (yych == 'p') goto yy792;
8579
917
        goto yy586;
8580
25.4k
      }
8581
30.8k
    }
8582
105k
yy742:
8583
105k
    YYDEBUG(742, *YYCURSOR);
8584
105k
    yyaccept = 72;
8585
105k
    yych = *(YYMARKER = ++YYCURSOR);
8586
105k
    if (yybm[256+yych] & 128) {
8587
1.43k
      goto yy47;
8588
1.43k
    }
8589
104k
    if (yych == '\\') goto yy164;
8590
104k
yy743:
8591
104k
    YYDEBUG(743, *YYCURSOR);
8592
104k
    yyleng = YYCURSOR - SCNG(yy_text);
8593
104k
#line 1410 "Zend/zend_language_scanner.l"
8594
104k
    {
8595
104k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8596
104k
}
8597
0
#line 8598 "Zend/zend_language_scanner.c"
8598
10.5k
yy744:
8599
10.5k
    YYDEBUG(744, *YYCURSOR);
8600
10.5k
    yyaccept = 4;
8601
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
8602
10.5k
    if (yych == 'T') goto yy793;
8603
9.40k
    if (yych == 't') goto yy793;
8604
1.69k
    goto yy48;
8605
3.86k
yy745:
8606
3.86k
    YYDEBUG(745, *YYCURSOR);
8607
3.86k
    yyaccept = 4;
8608
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
8609
3.86k
    if (yych == 'O') goto yy794;
8610
3.21k
    if (yych == 'o') goto yy794;
8611
250
    goto yy48;
8612
4.60k
yy746:
8613
4.60k
    YYDEBUG(746, *YYCURSOR);
8614
4.60k
    yyaccept = 4;
8615
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
8616
4.60k
    if (yych == 'O') goto yy795;
8617
3.65k
    if (yych == 'o') goto yy795;
8618
743
    goto yy48;
8619
5.95k
yy747:
8620
5.95k
    YYDEBUG(747, *YYCURSOR);
8621
5.95k
    yyaccept = 4;
8622
5.95k
    yych = *(YYMARKER = ++YYCURSOR);
8623
5.95k
    if (yych == 'F') goto yy796;
8624
5.42k
    if (yych == 'f') goto yy796;
8625
1.21k
    goto yy48;
8626
12.7k
yy748:
8627
12.7k
    YYDEBUG(748, *YYCURSOR);
8628
12.7k
    yyaccept = 4;
8629
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
8630
12.7k
    if (yych == 'E') goto yy798;
8631
12.1k
    if (yych == 'e') goto yy798;
8632
745
    goto yy48;
8633
18.6k
yy749:
8634
18.6k
    YYDEBUG(749, *YYCURSOR);
8635
18.6k
    yyaccept = 4;
8636
18.6k
    yych = *(YYMARKER = ++YYCURSOR);
8637
18.6k
    if (yych == 'E') goto yy800;
8638
17.2k
    if (yych == 'e') goto yy800;
8639
701
    goto yy48;
8640
3.99k
yy750:
8641
3.99k
    YYDEBUG(750, *YYCURSOR);
8642
3.99k
    yych = *++YYCURSOR;
8643
3.99k
    if (yych == 'S') goto yy802;
8644
3.65k
    if (yych == 's') goto yy802;
8645
1.05k
    goto yy86;
8646
8.77k
yy751:
8647
8.77k
    YYDEBUG(751, *YYCURSOR);
8648
8.77k
    yyaccept = 4;
8649
8.77k
    yych = *(YYMARKER = ++YYCURSOR);
8650
8.77k
    if (yych == 'D') goto yy803;
8651
7.22k
    if (yych == 'd') goto yy803;
8652
1.02k
    goto yy48;
8653
1.52k
yy752:
8654
1.52k
    YYDEBUG(752, *YYCURSOR);
8655
1.52k
    yych = *++YYCURSOR;
8656
1.52k
    if (yych == 'E') goto yy805;
8657
1.31k
    if (yych == 'e') goto yy805;
8658
572
    goto yy86;
8659
4.91k
yy753:
8660
4.91k
    YYDEBUG(753, *YYCURSOR);
8661
4.91k
    yyaccept = 73;
8662
4.91k
    yych = *(YYMARKER = ++YYCURSOR);
8663
4.91k
    if (yybm[256+yych] & 128) {
8664
869
      goto yy47;
8665
869
    }
8666
4.04k
    if (yych == '\\') goto yy164;
8667
4.04k
yy754:
8668
4.04k
    YYDEBUG(754, *YYCURSOR);
8669
4.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8670
4.04k
#line 1801 "Zend/zend_language_scanner.l"
8671
4.04k
    {
8672
4.04k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8673
4.04k
}
8674
0
#line 8675 "Zend/zend_language_scanner.c"
8675
5.22k
yy755:
8676
5.22k
    YYDEBUG(755, *YYCURSOR);
8677
5.22k
    yyaccept = 4;
8678
5.22k
    yych = *(YYMARKER = ++YYCURSOR);
8679
5.22k
    if (yych == 'O') goto yy806;
8680
3.94k
    if (yych == 'o') goto yy806;
8681
435
    goto yy48;
8682
7.72k
yy756:
8683
7.72k
    YYDEBUG(756, *YYCURSOR);
8684
7.72k
    yych = *++YYCURSOR;
8685
7.72k
    if (yych == 'O') goto yy807;
8686
6.22k
    if (yych == 'o') goto yy807;
8687
1.05k
    goto yy86;
8688
15.3k
yy757:
8689
15.3k
    YYDEBUG(757, *YYCURSOR);
8690
15.3k
    ++YYCURSOR;
8691
15.3k
    YYFILL(1);
8692
15.3k
    yych = *YYCURSOR;
8693
15.3k
    if (yych <= '\n') {
8694
9.86k
      if (yych <= 0x00) goto yy86;
8695
9.60k
      if (yych <= '\t') goto yy692;
8696
9.40k
      goto yy694;
8697
9.60k
    } else {
8698
5.48k
      if (yych == '\r') goto yy694;
8699
3.59k
      goto yy692;
8700
5.48k
    }
8701
83.9k
yy758:
8702
83.9k
    YYDEBUG(758, *YYCURSOR);
8703
83.9k
    ++YYCURSOR;
8704
83.9k
    YYFILL(1);
8705
83.9k
    yych = *YYCURSOR;
8706
83.9k
    if (yych <= '\f') {
8707
12.9k
      if (yych <= 0x00) goto yy86;
8708
12.4k
      if (yych == '\n') goto yy616;
8709
566
      goto yy692;
8710
71.0k
    } else {
8711
71.0k
      if (yych <= '\r') goto yy616;
8712
70.5k
      if (yych == '*') goto yy808;
8713
19.9k
      goto yy692;
8714
70.5k
    }
8715
29.9k
yy759:
8716
29.9k
    YYDEBUG(759, *YYCURSOR);
8717
29.9k
    ++YYCURSOR;
8718
29.9k
    YYFILL(1);
8719
29.9k
    yych = *YYCURSOR;
8720
29.9k
    if (yych <= '\r') {
8721
3.09k
      if (yych <= '\t') {
8722
773
        if (yych <= 0x00) goto yy86;
8723
296
        goto yy692;
8724
2.32k
      } else {
8725
2.32k
        if (yych <= '\n') goto yy616;
8726
1.87k
        if (yych <= '\f') goto yy692;
8727
271
        goto yy616;
8728
1.87k
      }
8729
26.8k
    } else {
8730
26.8k
      if (yych <= 'R') {
8731
20.8k
        if (yych <= 'Q') goto yy692;
8732
17.0k
        goto yy810;
8733
20.8k
      } else {
8734
5.99k
        if (yych == 'r') goto yy810;
8735
1.88k
        goto yy692;
8736
5.99k
      }
8737
26.8k
    }
8738
45.6k
yy760:
8739
45.6k
    YYDEBUG(760, *YYCURSOR);
8740
45.6k
    ++YYCURSOR;
8741
45.6k
    YYFILL(1);
8742
45.6k
    yych = *YYCURSOR;
8743
45.6k
    YYDEBUG(761, *YYCURSOR);
8744
45.6k
    if (yych <= '*') {
8745
21.4k
      if (yych <= 0x00) goto yy86;
8746
20.9k
      if (yych <= ')') goto yy696;
8747
3.88k
      goto yy760;
8748
24.1k
    } else {
8749
24.1k
      if (yych == '/') goto yy616;
8750
6.33k
      goto yy696;
8751
24.1k
    }
8752
4.95k
yy762:
8753
4.95k
    YYDEBUG(762, *YYCURSOR);
8754
4.95k
    yyaccept = 4;
8755
4.95k
    yych = *(YYMARKER = ++YYCURSOR);
8756
4.95k
    if (yych == '_') goto yy811;
8757
442
    goto yy48;
8758
6.62k
yy763:
8759
6.62k
    YYDEBUG(763, *YYCURSOR);
8760
6.62k
    yyaccept = 74;
8761
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
8762
6.62k
    if (yybm[256+yych] & 128) {
8763
1.03k
      goto yy47;
8764
1.03k
    }
8765
5.58k
    if (yych == '\\') goto yy164;
8766
5.58k
yy764:
8767
5.58k
    YYDEBUG(764, *YYCURSOR);
8768
5.58k
    yyleng = YYCURSOR - SCNG(yy_text);
8769
5.58k
#line 2276 "Zend/zend_language_scanner.l"
8770
5.58k
    {
8771
5.58k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8772
5.58k
}
8773
0
#line 8774 "Zend/zend_language_scanner.c"
8774
6.99k
yy765:
8775
6.99k
    YYDEBUG(765, *YYCURSOR);
8776
6.99k
    yyaccept = 4;
8777
6.99k
    yych = *(YYMARKER = ++YYCURSOR);
8778
6.99k
    if (yych == 'O') goto yy813;
8779
3.91k
    if (yych == 'o') goto yy813;
8780
668
    goto yy48;
8781
4.78k
yy766:
8782
4.78k
    YYDEBUG(766, *YYCURSOR);
8783
4.78k
    yyaccept = 4;
8784
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
8785
4.78k
    if (yych == 'O') goto yy814;
8786
4.00k
    if (yych == 'o') goto yy814;
8787
465
    goto yy48;
8788
2.83k
yy767:
8789
2.83k
    YYDEBUG(767, *YYCURSOR);
8790
2.83k
    yyaccept = 75;
8791
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
8792
2.83k
    if (yybm[256+yych] & 128) {
8793
507
      goto yy47;
8794
507
    }
8795
2.32k
    if (yych == '\\') goto yy164;
8796
2.06k
yy768:
8797
2.06k
    YYDEBUG(768, *YYCURSOR);
8798
2.06k
    yyleng = YYCURSOR - SCNG(yy_text);
8799
2.06k
#line 2272 "Zend/zend_language_scanner.l"
8800
2.06k
    {
8801
2.06k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8802
2.06k
}
8803
0
#line 8804 "Zend/zend_language_scanner.c"
8804
12.5k
yy769:
8805
12.5k
    YYDEBUG(769, *YYCURSOR);
8806
12.5k
    yyaccept = 4;
8807
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
8808
12.5k
    if (yych == '_') goto yy815;
8809
725
    goto yy48;
8810
4.86k
yy770:
8811
4.86k
    YYDEBUG(770, *YYCURSOR);
8812
4.86k
    yyaccept = 4;
8813
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
8814
4.86k
    if (yych == 'A') goto yy816;
8815
2.49k
    if (yych == 'a') goto yy816;
8816
542
    goto yy48;
8817
4.07k
yy771:
8818
4.07k
    YYDEBUG(771, *YYCURSOR);
8819
4.07k
    yyaccept = 4;
8820
4.07k
    yych = *(YYMARKER = ++YYCURSOR);
8821
4.07k
    if (yych == 'T') goto yy817;
8822
1.29k
    if (yych == 't') goto yy817;
8823
862
    goto yy48;
8824
4.37k
yy772:
8825
4.37k
    YYDEBUG(772, *YYCURSOR);
8826
4.37k
    yyaccept = 4;
8827
4.37k
    yych = *(YYMARKER = ++YYCURSOR);
8828
4.37k
    if (yych == '_') goto yy818;
8829
975
    goto yy48;
8830
2.23k
yy773:
8831
2.23k
    YYDEBUG(773, *YYCURSOR);
8832
2.23k
    ++YYCURSOR;
8833
2.23k
    YYFILL(1);
8834
2.23k
    yych = *YYCURSOR;
8835
2.23k
    if (yybm[0+yych] & 128) {
8836
453
      goto yy443;
8837
453
    }
8838
1.78k
    if (yych <= 0x00) goto yy86;
8839
1.50k
    if (yych <= '\r') goto yy709;
8840
72
    goto yy547;
8841
1.31k
yy774:
8842
1.31k
    YYDEBUG(774, *YYCURSOR);
8843
1.31k
    yyaccept = 26;
8844
1.31k
    YYMARKER = ++YYCURSOR;
8845
1.31k
    YYFILL(1);
8846
1.31k
    yych = *YYCURSOR;
8847
1.31k
    if (yybm[0+yych] & 128) {
8848
632
      goto yy443;
8849
632
    }
8850
678
    if (yych <= 0x00) goto yy89;
8851
425
    if (yych <= '\r') goto yy545;
8852
96
    goto yy547;
8853
8.91k
yy775:
8854
8.91k
    YYDEBUG(775, *YYCURSOR);
8855
8.91k
    ++YYCURSOR;
8856
8.91k
    YYFILL(1);
8857
8.91k
    yych = *YYCURSOR;
8858
8.91k
    if (yych <= '\r') {
8859
1.25k
      if (yych <= '\t') {
8860
433
        if (yych <= 0x00) goto yy86;
8861
204
        goto yy443;
8862
819
      } else {
8863
819
        if (yych <= '\n') goto yy545;
8864
601
        if (yych <= '\f') goto yy443;
8865
529
        goto yy545;
8866
601
      }
8867
7.66k
    } else {
8868
7.66k
      if (yych <= '*') {
8869
4.93k
        if (yych <= ')') goto yy443;
8870
1.44k
        goto yy547;
8871
4.93k
      } else {
8872
2.72k
        if (yych == '.') goto yy820;
8873
236
        goto yy443;
8874
2.72k
      }
8875
7.66k
    }
8876
8.04k
yy776:
8877
8.04k
    YYDEBUG(776, *YYCURSOR);
8878
8.04k
    ++YYCURSOR;
8879
8.04k
    YYFILL(1);
8880
8.04k
    yych = *YYCURSOR;
8881
8.04k
    if (yybm[0+yych] & 128) {
8882
865
      goto yy443;
8883
865
    }
8884
7.18k
    if (yych <= 0x00) goto yy86;
8885
6.87k
    if (yych <= '\r') goto yy545;
8886
6.49k
    goto yy821;
8887
6.49k
yy777:
8888
290
    YYDEBUG(777, *YYCURSOR);
8889
290
    ++YYCURSOR;
8890
290
    YYDEBUG(778, *YYCURSOR);
8891
290
    yyleng = YYCURSOR - SCNG(yy_text);
8892
290
#line 1699 "Zend/zend_language_scanner.l"
8893
290
    {
8894
290
  if (PARSER_MODE()) {
8895
72
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8896
72
    if (EG(exception)) {
8897
0
      RETURN_TOKEN(T_ERROR);
8898
0
    }
8899
72
  }
8900
290
  RETURN_TOKEN(T_BOOL_CAST);
8901
290
}
8902
0
#line 8903 "Zend/zend_language_scanner.c"
8903
1.39k
yy779:
8904
1.39k
    YYDEBUG(779, *YYCURSOR);
8905
1.39k
    ++YYCURSOR;
8906
1.39k
    YYDEBUG(780, *YYCURSOR);
8907
1.39k
    yyleng = YYCURSOR - SCNG(yy_text);
8908
1.39k
#line 1641 "Zend/zend_language_scanner.l"
8909
1.39k
    {
8910
1.39k
  if (PARSER_MODE()) {
8911
89
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8912
89
    if (EG(exception)) {
8913
0
      RETURN_TOKEN(T_ERROR);
8914
0
    }
8915
89
  }
8916
1.39k
  RETURN_TOKEN(T_INT_CAST);
8917
1.39k
}
8918
0
#line 8919 "Zend/zend_language_scanner.c"
8919
3.02k
yy781:
8920
3.02k
    YYDEBUG(781, *YYCURSOR);
8921
3.02k
    yyaccept = 4;
8922
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
8923
3.02k
    if (yych == 'E') goto yy822;
8924
1.99k
    if (yych == 'e') goto yy822;
8925
397
    goto yy48;
8926
4.70k
yy782:
8927
4.70k
    YYDEBUG(782, *YYCURSOR);
8928
4.70k
    yyaccept = 4;
8929
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
8930
4.70k
    if (yych == 'H') goto yy824;
8931
2.92k
    if (yych == 'h') goto yy824;
8932
552
    goto yy48;
8933
1.79k
yy783:
8934
1.79k
    YYDEBUG(783, *YYCURSOR);
8935
1.79k
    yyaccept = 76;
8936
1.79k
    yych = *(YYMARKER = ++YYCURSOR);
8937
1.79k
    if (yybm[256+yych] & 128) {
8938
820
      goto yy47;
8939
820
    }
8940
975
    if (yych == '\\') goto yy164;
8941
975
yy784:
8942
975
    YYDEBUG(784, *YYCURSOR);
8943
975
    yyleng = YYCURSOR - SCNG(yy_text);
8944
975
#line 1521 "Zend/zend_language_scanner.l"
8945
975
    {
8946
975
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8947
975
}
8948
0
#line 8949 "Zend/zend_language_scanner.c"
8949
2.40k
yy785:
8950
2.40k
    YYDEBUG(785, *YYCURSOR);
8951
2.40k
    yych = *++YYCURSOR;
8952
2.40k
    if (yych == 'N') goto yy826;
8953
2.11k
    if (yych == 'n') goto yy826;
8954
800
    goto yy86;
8955
3.58k
yy786:
8956
3.58k
    YYDEBUG(786, *YYCURSOR);
8957
3.58k
    yych = *++YYCURSOR;
8958
3.58k
    if (yych == 'E') goto yy827;
8959
2.76k
    if (yych == 'e') goto yy827;
8960
561
    goto yy86;
8961
408k
yy787:
8962
408k
    YYDEBUG(787, *YYCURSOR);
8963
408k
    ++YYCURSOR;
8964
408k
    YYFILL(1);
8965
408k
    yych = *YYCURSOR;
8966
408k
    YYDEBUG(788, *YYCURSOR);
8967
408k
    if (yych <= '@') {
8968
371k
      if (yych <= ' ') {
8969
65.6k
        if (yych <= '\n') {
8970
19.4k
          if (yych <= 0x00) goto yy86;
8971
16.3k
          if (yych <= 0x08) goto yy590;
8972
15.0k
          goto yy787;
8973
46.1k
        } else {
8974
46.1k
          if (yych == '\r') goto yy787;
8975
24.6k
          if (yych <= 0x1F) goto yy590;
8976
23.8k
          goto yy787;
8977
24.6k
        }
8978
306k
      } else {
8979
306k
        if (yych <= ')') {
8980
273k
          if (yych == '#') goto yy828;
8981
14.7k
          goto yy590;
8982
273k
        } else {
8983
33.1k
          if (yych <= '*') goto yy668;
8984
32.2k
          if (yych == '/') goto yy829;
8985
6.18k
          goto yy590;
8986
32.2k
        }
8987
306k
      }
8988
371k
    } else {
8989
36.4k
      if (yych <= '_') {
8990
9.10k
        if (yych <= 'H') {
8991
1.97k
          if (yych == 'E') goto yy831;
8992
1.53k
          goto yy830;
8993
7.13k
        } else {
8994
7.13k
          if (yych <= 'I') goto yy832;
8995
2.14k
          if (yych <= 'Z') goto yy830;
8996
1.23k
          if (yych <= '^') goto yy590;
8997
395
          goto yy830;
8998
1.23k
        }
8999
27.3k
      } else {
9000
27.3k
        if (yych <= 'h') {
9001
14.6k
          if (yych <= '`') goto yy590;
9002
14.3k
          if (yych == 'e') goto yy831;
9003
3.44k
          goto yy830;
9004
14.3k
        } else {
9005
12.7k
          if (yych <= 'i') goto yy832;
9006
5.14k
          if (yych <= 'z') goto yy830;
9007
3.49k
          if (yych <= 0x7F) goto yy590;
9008
2.34k
          goto yy830;
9009
3.49k
        }
9010
27.3k
      }
9011
36.4k
    }
9012
99.3k
yy789:
9013
99.3k
    YYDEBUG(789, *YYCURSOR);
9014
99.3k
    ++YYCURSOR;
9015
99.3k
    YYFILL(1);
9016
99.3k
    yych = *YYCURSOR;
9017
99.3k
    YYDEBUG(790, *YYCURSOR);
9018
99.3k
    if (yych <= '\r') {
9019
17.1k
      if (yych <= '\t') {
9020
1.85k
        if (yych <= 0x00) goto yy86;
9021
1.01k
        goto yy738;
9022
15.2k
      } else {
9023
15.2k
        if (yych <= '\n') goto yy787;
9024
13.2k
        if (yych <= '\f') goto yy738;
9025
13.0k
        goto yy787;
9026
13.2k
      }
9027
82.2k
    } else {
9028
82.2k
      if (yych <= '*') {
9029
53.6k
        if (yych <= ')') goto yy738;
9030
51.1k
        goto yy789;
9031
53.6k
      } else {
9032
28.6k
        if (yych == '/') goto yy588;
9033
10.0k
        goto yy738;
9034
28.6k
      }
9035
82.2k
    }
9036
9.22k
yy791:
9037
9.22k
    YYDEBUG(791, *YYCURSOR);
9038
9.22k
    ++YYCURSOR;
9039
9.22k
    YYFILL(1);
9040
9.22k
    yych = *YYCURSOR;
9041
9.22k
    if (yych <= '\r') {
9042
1.29k
      if (yych <= '\t') {
9043
545
        if (yych <= 0x00) goto yy86;
9044
213
        goto yy586;
9045
747
      } else {
9046
747
        if (yych <= '\n') goto yy495;
9047
530
        if (yych <= '\f') goto yy586;
9048
256
        goto yy495;
9049
530
      }
9050
7.93k
    } else {
9051
7.93k
      if (yych <= 'E') {
9052
1.87k
        if (yych <= 'D') goto yy586;
9053
1.44k
        goto yy833;
9054
6.06k
      } else {
9055
6.06k
        if (yych == 'e') goto yy833;
9056
745
        goto yy586;
9057
6.06k
      }
9058
7.93k
    }
9059
27.6k
yy792:
9060
27.6k
    YYDEBUG(792, *YYCURSOR);
9061
27.6k
    ++YYCURSOR;
9062
27.6k
    YYFILL(1);
9063
27.6k
    yych = *YYCURSOR;
9064
27.6k
    if (yych <= '\r') {
9065
1.88k
      if (yych <= '\t') {
9066
701
        if (yych <= 0x00) goto yy86;
9067
245
        goto yy586;
9068
1.18k
      } else {
9069
1.18k
        if (yych <= '\n') goto yy495;
9070
946
        if (yych <= '\f') goto yy586;
9071
647
        goto yy495;
9072
946
      }
9073
25.7k
    } else {
9074
25.7k
      if (yych <= 'L') {
9075
7.20k
        if (yych <= 'K') goto yy586;
9076
4.98k
        goto yy834;
9077
18.5k
      } else {
9078
18.5k
        if (yych == 'l') goto yy834;
9079
1.12k
        goto yy586;
9080
18.5k
      }
9081
25.7k
    }
9082
8.90k
yy793:
9083
8.90k
    YYDEBUG(793, *YYCURSOR);
9084
8.90k
    yyaccept = 4;
9085
8.90k
    yych = *(YYMARKER = ++YYCURSOR);
9086
8.90k
    if (yych == 'S') goto yy835;
9087
7.91k
    if (yych == 's') goto yy835;
9088
1.38k
    goto yy48;
9089
3.61k
yy794:
9090
3.61k
    YYDEBUG(794, *YYCURSOR);
9091
3.61k
    yyaccept = 4;
9092
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
9093
3.61k
    if (yych == 'N') goto yy837;
9094
3.28k
    if (yych == 'n') goto yy837;
9095
447
    goto yy48;
9096
3.86k
yy795:
9097
3.86k
    YYDEBUG(795, *YYCURSOR);
9098
3.86k
    yyaccept = 4;
9099
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
9100
3.86k
    if (yych == 'F') goto yy838;
9101
3.27k
    if (yych == 'f') goto yy838;
9102
824
    goto yy48;
9103
4.74k
yy796:
9104
4.74k
    YYDEBUG(796, *YYCURSOR);
9105
4.74k
    yyaccept = 77;
9106
4.74k
    yych = *(YYMARKER = ++YYCURSOR);
9107
4.74k
    if (yybm[256+yych] & 128) {
9108
874
      goto yy47;
9109
874
    }
9110
3.86k
    if (yych == '\\') goto yy164;
9111
3.86k
yy797:
9112
3.86k
    YYDEBUG(797, *YYCURSOR);
9113
3.86k
    yyleng = YYCURSOR - SCNG(yy_text);
9114
3.86k
#line 1745 "Zend/zend_language_scanner.l"
9115
3.86k
    {
9116
3.86k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9117
3.86k
}
9118
0
#line 9119 "Zend/zend_language_scanner.c"
9119
12.0k
yy798:
9120
12.0k
    YYDEBUG(798, *YYCURSOR);
9121
12.0k
    yyaccept = 78;
9122
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
9123
12.0k
    if (yybm[256+yych] & 128) {
9124
796
      goto yy47;
9125
796
    }
9126
11.2k
    if (yych == '\\') goto yy164;
9127
11.0k
yy799:
9128
11.0k
    YYDEBUG(799, *YYCURSOR);
9129
11.0k
    yyleng = YYCURSOR - SCNG(yy_text);
9130
11.0k
#line 1557 "Zend/zend_language_scanner.l"
9131
11.0k
    {
9132
11.0k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9133
11.0k
}
9134
0
#line 9135 "Zend/zend_language_scanner.c"
9135
17.9k
yy800:
9136
17.9k
    YYDEBUG(800, *YYCURSOR);
9137
17.9k
    yyaccept = 79;
9138
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
9139
17.9k
    if (yybm[256+yych] & 128) {
9140
963
      goto yy47;
9141
963
    }
9142
16.9k
    if (yych == '\\') goto yy840;
9143
12.5k
yy801:
9144
12.5k
    YYDEBUG(801, *YYCURSOR);
9145
12.5k
    yyleng = YYCURSOR - SCNG(yy_text);
9146
12.5k
#line 1737 "Zend/zend_language_scanner.l"
9147
12.5k
    {
9148
12.5k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9149
12.5k
}
9150
0
#line 9151 "Zend/zend_language_scanner.c"
9151
2.94k
yy802:
9152
2.94k
    YYDEBUG(802, *YYCURSOR);
9153
2.94k
    yych = *++YYCURSOR;
9154
2.94k
    if (yych == 'E') goto yy841;
9155
2.73k
    if (yych == 'e') goto yy841;
9156
1.05k
    goto yy86;
9157
7.75k
yy803:
9158
7.75k
    YYDEBUG(803, *YYCURSOR);
9159
7.75k
    yyaccept = 80;
9160
7.75k
    yych = *(YYMARKER = ++YYCURSOR);
9161
7.75k
    if (yybm[256+yych] & 128) {
9162
534
      goto yy47;
9163
534
    }
9164
7.21k
    if (yych == '(') goto yy842;
9165
5.64k
    if (yych == '\\') goto yy164;
9166
6.55k
yy804:
9167
6.55k
    YYDEBUG(804, *YYCURSOR);
9168
6.55k
    yyleng = YYCURSOR - SCNG(yy_text);
9169
6.55k
#line 1781 "Zend/zend_language_scanner.l"
9170
6.55k
    {
9171
6.55k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9172
6.55k
}
9173
0
#line 9174 "Zend/zend_language_scanner.c"
9174
957
yy805:
9175
957
    YYDEBUG(805, *YYCURSOR);
9176
957
    yych = *++YYCURSOR;
9177
957
    if (yych == 'T') goto yy843;
9178
578
    if (yych == 't') goto yy843;
9179
224
    goto yy86;
9180
4.78k
yy806:
9181
4.78k
    YYDEBUG(806, *YYCURSOR);
9182
4.78k
    yyaccept = 4;
9183
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
9184
4.78k
    if (yych == 'N') goto yy844;
9185
3.76k
    if (yych == 'n') goto yy844;
9186
510
    goto yy48;
9187
6.66k
yy807:
9188
6.66k
    YYDEBUG(807, *YYCURSOR);
9189
6.66k
    yych = *++YYCURSOR;
9190
6.66k
    if (yych == 'M') goto yy845;
9191
5.73k
    if (yych == 'm') goto yy845;
9192
422
    goto yy86;
9193
1.32M
yy808:
9194
1.32M
    YYDEBUG(808, *YYCURSOR);
9195
1.32M
    ++YYCURSOR;
9196
1.32M
    YYFILL(1);
9197
1.32M
    yych = *YYCURSOR;
9198
1.32M
    YYDEBUG(809, *YYCURSOR);
9199
1.32M
    if (yych <= '\f') {
9200
142k
      if (yych <= 0x00) goto yy86;
9201
136k
      if (yych == '\n') goto yy846;
9202
59.6k
      goto yy808;
9203
1.18M
    } else {
9204
1.18M
      if (yych <= '\r') goto yy846;
9205
1.14M
      if (yych == '*') goto yy848;
9206
1.12M
      goto yy808;
9207
1.14M
    }
9208
21.1k
yy810:
9209
21.1k
    YYDEBUG(810, *YYCURSOR);
9210
21.1k
    ++YYCURSOR;
9211
21.1k
    YYFILL(1);
9212
21.1k
    yych = *YYCURSOR;
9213
21.1k
    if (yych <= '\r') {
9214
2.11k
      if (yych <= '\t') {
9215
518
        if (yych <= 0x00) goto yy86;
9216
238
        goto yy692;
9217
1.59k
      } else {
9218
1.59k
        if (yych <= '\n') goto yy616;
9219
675
        if (yych <= '\f') goto yy692;
9220
266
        goto yy616;
9221
675
      }
9222
19.0k
    } else {
9223
19.0k
      if (yych <= 'O') {
9224
12.5k
        if (yych <= 'N') goto yy692;
9225
11.6k
        goto yy850;
9226
12.5k
      } else {
9227
6.44k
        if (yych == 'o') goto yy850;
9228
1.87k
        goto yy692;
9229
6.44k
      }
9230
19.0k
    }
9231
4.51k
yy811:
9232
4.51k
    YYDEBUG(811, *YYCURSOR);
9233
4.51k
    yyaccept = 81;
9234
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
9235
4.51k
    if (yybm[256+yych] & 128) {
9236
607
      goto yy47;
9237
607
    }
9238
3.90k
    if (yych == '\\') goto yy164;
9239
3.89k
yy812:
9240
3.89k
    YYDEBUG(812, *YYCURSOR);
9241
3.89k
    yyleng = YYCURSOR - SCNG(yy_text);
9242
3.89k
#line 2252 "Zend/zend_language_scanner.l"
9243
3.89k
    {
9244
3.89k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9245
3.89k
}
9246
0
#line 9247 "Zend/zend_language_scanner.c"
9247
6.32k
yy813:
9248
6.32k
    YYDEBUG(813, *YYCURSOR);
9249
6.32k
    yyaccept = 4;
9250
6.32k
    yych = *(YYMARKER = ++YYCURSOR);
9251
6.32k
    if (yych == 'N') goto yy851;
9252
2.79k
    if (yych == 'n') goto yy851;
9253
790
    goto yy48;
9254
4.32k
yy814:
9255
4.32k
    YYDEBUG(814, *YYCURSOR);
9256
4.32k
    yyaccept = 4;
9257
4.32k
    yych = *(YYMARKER = ++YYCURSOR);
9258
4.32k
    if (yych == 'M') goto yy852;
9259
3.54k
    if (yych == 'm') goto yy852;
9260
252
    goto yy48;
9261
11.8k
yy815:
9262
11.8k
    YYDEBUG(815, *YYCURSOR);
9263
11.8k
    yyaccept = 4;
9264
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
9265
11.8k
    if (yych == '_') goto yy853;
9266
718
    goto yy48;
9267
4.32k
yy816:
9268
4.32k
    YYDEBUG(816, *YYCURSOR);
9269
4.32k
    yyaccept = 4;
9270
4.32k
    yych = *(YYMARKER = ++YYCURSOR);
9271
4.32k
    if (yych == 'C') goto yy855;
9272
2.15k
    if (yych == 'c') goto yy855;
9273
252
    goto yy48;
9274
3.21k
yy817:
9275
3.21k
    YYDEBUG(817, *YYCURSOR);
9276
3.21k
    yyaccept = 4;
9277
3.21k
    yych = *(YYMARKER = ++YYCURSOR);
9278
3.21k
    if (yych == 'Y') goto yy856;
9279
471
    if (yych == 'y') goto yy856;
9280
381
    goto yy48;
9281
3.40k
yy818:
9282
3.40k
    YYDEBUG(818, *YYCURSOR);
9283
3.40k
    yyaccept = 82;
9284
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
9285
3.40k
    if (yybm[256+yych] & 128) {
9286
556
      goto yy47;
9287
556
    }
9288
2.84k
    if (yych == '\\') goto yy164;
9289
2.74k
yy819:
9290
2.74k
    YYDEBUG(819, *YYCURSOR);
9291
2.74k
    yyleng = YYCURSOR - SCNG(yy_text);
9292
2.74k
#line 2256 "Zend/zend_language_scanner.l"
9293
2.74k
    {
9294
2.74k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9295
2.74k
}
9296
0
#line 9297 "Zend/zend_language_scanner.c"
9297
2.49k
yy820:
9298
2.49k
    YYDEBUG(820, *YYCURSOR);
9299
2.49k
    ++YYCURSOR;
9300
2.49k
    YYFILL(1);
9301
2.49k
    yych = *YYCURSOR;
9302
2.49k
    if (yych <= '\r') {
9303
1.07k
      if (yych <= '\t') {
9304
407
        if (yych <= 0x00) goto yy86;
9305
200
        goto yy443;
9306
671
      } else {
9307
671
        if (yych <= '\n') goto yy545;
9308
477
        if (yych <= '\f') goto yy443;
9309
43
        goto yy545;
9310
477
      }
9311
1.41k
    } else {
9312
1.41k
      if (yych <= '*') {
9313
566
        if (yych <= ')') goto yy443;
9314
304
        goto yy547;
9315
847
      } else {
9316
847
        if (yych == '.') goto yy774;
9317
535
        goto yy443;
9318
847
      }
9319
1.41k
    }
9320
6.49k
yy821:
9321
6.49k
    YYDEBUG(821, *YYCURSOR);
9322
6.49k
    ++YYCURSOR;
9323
6.49k
    YYFILL(1);
9324
6.49k
    yych = *YYCURSOR;
9325
6.49k
    if (yych <= '\r') {
9326
1.47k
      if (yych <= '\t') {
9327
543
        if (yych <= 0x00) goto yy86;
9328
303
        goto yy443;
9329
929
      } else {
9330
929
        if (yych <= '\n') goto yy545;
9331
475
        if (yych <= '\f') goto yy443;
9332
270
        goto yy545;
9333
475
      }
9334
5.02k
    } else {
9335
5.02k
      if (yych <= '*') {
9336
660
        if (yych <= ')') goto yy443;
9337
223
        goto yy547;
9338
4.36k
      } else {
9339
4.36k
        if (yych == '/') goto yy709;
9340
1.32k
        goto yy443;
9341
4.36k
      }
9342
5.02k
    }
9343
2.62k
yy822:
9344
2.62k
    YYDEBUG(822, *YYCURSOR);
9345
2.62k
    yyaccept = 83;
9346
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
9347
2.62k
    if (yybm[256+yych] & 128) {
9348
975
      goto yy47;
9349
975
    }
9350
1.65k
    if (yych == '\\') goto yy164;
9351
1.65k
yy823:
9352
1.65k
    YYDEBUG(823, *YYCURSOR);
9353
1.65k
    yyleng = YYCURSOR - SCNG(yy_text);
9354
1.65k
#line 1501 "Zend/zend_language_scanner.l"
9355
1.65k
    {
9356
1.65k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9357
1.65k
}
9358
0
#line 9359 "Zend/zend_language_scanner.c"
9359
4.15k
yy824:
9360
4.15k
    YYDEBUG(824, *YYCURSOR);
9361
4.15k
    yyaccept = 84;
9362
4.15k
    yych = *(YYMARKER = ++YYCURSOR);
9363
4.15k
    if (yybm[256+yych] & 128) {
9364
722
      goto yy47;
9365
722
    }
9366
3.42k
    if (yych == '\\') goto yy164;
9367
3.41k
yy825:
9368
3.41k
    YYDEBUG(825, *YYCURSOR);
9369
3.41k
    yyleng = YYCURSOR - SCNG(yy_text);
9370
3.41k
#line 1493 "Zend/zend_language_scanner.l"
9371
3.41k
    {
9372
3.41k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9373
3.41k
}
9374
0
#line 9375 "Zend/zend_language_scanner.c"
9375
1.60k
yy826:
9376
1.60k
    YYDEBUG(826, *YYCURSOR);
9377
1.60k
    yych = *++YYCURSOR;
9378
1.60k
    if (yych == 'D') goto yy857;
9379
1.39k
    if (yych == 'd') goto yy857;
9380
935
    goto yy86;
9381
3.01k
yy827:
9382
3.01k
    YYDEBUG(827, *YYCURSOR);
9383
3.01k
    yych = *++YYCURSOR;
9384
3.01k
    if (yych == 'M') goto yy858;
9385
2.03k
    if (yych == 'm') goto yy858;
9386
728
    goto yy86;
9387
258k
yy828:
9388
258k
    YYDEBUG(828, *YYCURSOR);
9389
258k
    ++YYCURSOR;
9390
258k
    YYFILL(1);
9391
258k
    yych = *YYCURSOR;
9392
258k
    if (yych <= '\r') {
9393
212k
      if (yych <= '\t') {
9394
2.63k
        if (yych <= 0x00) goto yy86;
9395
2.12k
        goto yy738;
9396
210k
      } else {
9397
210k
        if (yych <= '\n') goto yy859;
9398
48.5k
        if (yych <= '\f') goto yy738;
9399
47.7k
        goto yy859;
9400
48.5k
      }
9401
212k
    } else {
9402
45.3k
      if (yych <= '*') {
9403
9.00k
        if (yych <= ')') goto yy738;
9404
4.37k
        goto yy789;
9405
36.3k
      } else {
9406
36.3k
        if (yych == '[') goto yy590;
9407
36.1k
        goto yy738;
9408
36.3k
      }
9409
45.3k
    }
9410
26.0k
yy829:
9411
26.0k
    YYDEBUG(829, *YYCURSOR);
9412
26.0k
    ++YYCURSOR;
9413
26.0k
    YYFILL(1);
9414
26.0k
    yych = *YYCURSOR;
9415
26.0k
    if (yych <= '*') {
9416
19.6k
      if (yych <= 0x00) goto yy86;
9417
19.2k
      if (yych <= ')') goto yy590;
9418
17.6k
      goto yy861;
9419
19.2k
    } else {
9420
6.33k
      if (yych == '/') goto yy738;
9421
3.73k
      goto yy590;
9422
6.33k
    }
9423
10.2k
yy830:
9424
10.2k
    YYDEBUG(830, *YYCURSOR);
9425
10.2k
    yyaccept = 53;
9426
10.2k
    YYMARKER = ++YYCURSOR;
9427
10.2k
    YYFILL(1);
9428
10.2k
    yych = *YYCURSOR;
9429
10.2k
    if (yych <= 0x00) goto yy583;
9430
9.17k
    if (yych == '*') goto yy668;
9431
8.72k
    goto yy590;
9432
11.3k
yy831:
9433
11.3k
    YYDEBUG(831, *YYCURSOR);
9434
11.3k
    yyaccept = 53;
9435
11.3k
    YYMARKER = ++YYCURSOR;
9436
11.3k
    YYFILL(1);
9437
11.3k
    yych = *YYCURSOR;
9438
11.3k
    if (yych <= 'W') {
9439
3.56k
      if (yych <= 0x00) goto yy583;
9440
3.32k
      if (yych == '*') goto yy668;
9441
1.16k
      goto yy590;
9442
7.78k
    } else {
9443
7.78k
      if (yych <= 'X') goto yy862;
9444
7.43k
      if (yych == 'x') goto yy862;
9445
2.14k
      goto yy590;
9446
7.43k
    }
9447
12.5k
yy832:
9448
12.5k
    YYDEBUG(832, *YYCURSOR);
9449
12.5k
    yyaccept = 53;
9450
12.5k
    YYMARKER = ++YYCURSOR;
9451
12.5k
    YYFILL(1);
9452
12.5k
    yych = *YYCURSOR;
9453
12.5k
    if (yych <= 'L') {
9454
1.78k
      if (yych <= 0x00) goto yy583;
9455
1.29k
      if (yych == '*') goto yy668;
9456
1.00k
      goto yy590;
9457
10.7k
    } else {
9458
10.7k
      if (yych <= 'M') goto yy863;
9459
6.23k
      if (yych == 'm') goto yy863;
9460
631
      goto yy590;
9461
6.23k
    }
9462
6.76k
yy833:
9463
6.76k
    YYDEBUG(833, *YYCURSOR);
9464
6.76k
    ++YYCURSOR;
9465
6.76k
    YYFILL(1);
9466
6.76k
    yych = *YYCURSOR;
9467
6.76k
    if (yych <= '\r') {
9468
1.52k
      if (yych <= '\t') {
9469
456
        if (yych <= 0x00) goto yy86;
9470
243
        goto yy586;
9471
1.06k
      } else {
9472
1.06k
        if (yych <= '\n') goto yy495;
9473
498
        if (yych <= '\f') goto yy586;
9474
236
        goto yy495;
9475
498
      }
9476
5.24k
    } else {
9477
5.24k
      if (yych <= 'N') {
9478
1.35k
        if (yych <= 'M') goto yy586;
9479
831
        goto yy864;
9480
3.89k
      } else {
9481
3.89k
        if (yych == 'n') goto yy864;
9482
320
        goto yy586;
9483
3.89k
      }
9484
5.24k
    }
9485
22.4k
yy834:
9486
22.4k
    YYDEBUG(834, *YYCURSOR);
9487
22.4k
    ++YYCURSOR;
9488
22.4k
    YYFILL(1);
9489
22.4k
    yych = *YYCURSOR;
9490
22.4k
    if (yych <= '\r') {
9491
2.33k
      if (yych <= '\t') {
9492
1.33k
        if (yych <= 0x00) goto yy86;
9493
1.11k
        goto yy586;
9494
1.33k
      } else {
9495
1.00k
        if (yych <= '\n') goto yy495;
9496
547
        if (yych <= '\f') goto yy586;
9497
188
        goto yy495;
9498
547
      }
9499
20.1k
    } else {
9500
20.1k
      if (yych <= 'E') {
9501
3.95k
        if (yych <= 'D') goto yy586;
9502
2.91k
        goto yy865;
9503
16.1k
      } else {
9504
16.1k
        if (yych == 'e') goto yy865;
9505
657
        goto yy586;
9506
16.1k
      }
9507
20.1k
    }
9508
7.52k
yy835:
9509
7.52k
    YYDEBUG(835, *YYCURSOR);
9510
7.52k
    yyaccept = 85;
9511
7.52k
    yych = *(YYMARKER = ++YYCURSOR);
9512
7.52k
    if (yybm[256+yych] & 128) {
9513
893
      goto yy47;
9514
893
    }
9515
6.62k
    if (yych == '\\') goto yy164;
9516
6.61k
yy836:
9517
6.61k
    YYDEBUG(836, *YYCURSOR);
9518
6.61k
    yyleng = YYCURSOR - SCNG(yy_text);
9519
6.61k
#line 1582 "Zend/zend_language_scanner.l"
9520
6.61k
    {
9521
6.61k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9522
6.61k
}
9523
0
#line 9524 "Zend/zend_language_scanner.c"
9524
3.17k
yy837:
9525
3.17k
    YYDEBUG(837, *YYCURSOR);
9526
3.17k
    yyaccept = 4;
9527
3.17k
    yych = *(YYMARKER = ++YYCURSOR);
9528
3.17k
    if (yych == 'C') goto yy866;
9529
2.73k
    if (yych == 'c') goto yy866;
9530
379
    goto yy48;
9531
3.04k
yy838:
9532
3.04k
    YYDEBUG(838, *YYCURSOR);
9533
3.04k
    yyaccept = 86;
9534
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
9535
3.04k
    if (yybm[256+yych] & 128) {
9536
545
      goto yy47;
9537
545
    }
9538
2.49k
    if (yych == '\\') goto yy164;
9539
2.49k
yy839:
9540
2.49k
    YYDEBUG(839, *YYCURSOR);
9541
2.49k
    yyleng = YYCURSOR - SCNG(yy_text);
9542
2.49k
#line 1505 "Zend/zend_language_scanner.l"
9543
2.49k
    {
9544
2.49k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9545
2.49k
}
9546
0
#line 9547 "Zend/zend_language_scanner.c"
9547
6.63k
yy840:
9548
6.63k
    YYDEBUG(840, *YYCURSOR);
9549
6.63k
    ++YYCURSOR;
9550
6.63k
    YYFILL(1);
9551
6.63k
    yych = *YYCURSOR;
9552
6.63k
    if (yych <= '_') {
9553
1.51k
      if (yych <= '@') goto yy86;
9554
1.09k
      if (yych <= 'Z') goto yy867;
9555
613
      if (yych <= '^') goto yy86;
9556
412
      goto yy867;
9557
5.12k
    } else {
9558
5.12k
      if (yych <= '`') goto yy86;
9559
4.76k
      if (yych <= 'z') goto yy867;
9560
1.46k
      if (yych <= 0x7F) goto yy86;
9561
1.20k
      goto yy867;
9562
1.46k
    }
9563
1.89k
yy841:
9564
1.89k
    YYDEBUG(841, *YYCURSOR);
9565
1.89k
    yych = *++YYCURSOR;
9566
1.89k
    if (yych == 'T') goto yy870;
9567
1.69k
    if (yych == 't') goto yy870;
9568
257
    goto yy86;
9569
1.57k
yy842:
9570
1.57k
    YYDEBUG(842, *YYCURSOR);
9571
1.57k
    yych = *++YYCURSOR;
9572
1.57k
    if (yych == 'S') goto yy871;
9573
1.31k
    if (yych == 's') goto yy871;
9574
385
    goto yy86;
9575
733
yy843:
9576
733
    YYDEBUG(843, *YYCURSOR);
9577
733
    yych = *++YYCURSOR;
9578
733
    if (yych == ')') goto yy872;
9579
246
    goto yy86;
9580
4.27k
yy844:
9581
4.27k
    YYDEBUG(844, *YYCURSOR);
9582
4.27k
    yyaccept = 4;
9583
4.27k
    yych = *(YYMARKER = ++YYCURSOR);
9584
4.27k
    if (yych == 'C') goto yy874;
9585
4.10k
    if (yych == 'c') goto yy874;
9586
1.05k
    goto yy48;
9587
6.24k
yy845:
9588
6.24k
    YYDEBUG(845, *YYCURSOR);
9589
6.24k
    yych = *++YYCURSOR;
9590
6.24k
    if (yych <= '^') {
9591
3.12k
      if (yych <= '9') {
9592
2.44k
        if (yych <= '/') goto yy875;
9593
426
        goto yy86;
9594
2.44k
      } else {
9595
689
        if (yych <= '@') goto yy875;
9596
337
        if (yych <= 'Z') goto yy86;
9597
264
        goto yy875;
9598
337
      }
9599
3.12k
    } else {
9600
3.11k
      if (yych <= '`') {
9601
401
        if (yych <= '_') goto yy86;
9602
78
        goto yy875;
9603
2.71k
      } else {
9604
2.71k
        if (yych <= 'z') goto yy86;
9605
2.20k
        if (yych <= 0x7F) goto yy875;
9606
1.01k
        goto yy86;
9607
2.20k
      }
9608
3.11k
    }
9609
185k
yy846:
9610
185k
    YYDEBUG(846, *YYCURSOR);
9611
185k
    ++YYCURSOR;
9612
185k
    YYFILL(1);
9613
185k
    yych = *YYCURSOR;
9614
185k
    YYDEBUG(847, *YYCURSOR);
9615
185k
    if (yych <= '#') {
9616
151k
      if (yych <= '\f') {
9617
21.2k
        if (yych <= 0x00) goto yy86;
9618
20.0k
        if (yych <= 0x08) goto yy696;
9619
19.4k
        if (yych <= '\n') goto yy846;
9620
268
        goto yy696;
9621
130k
      } else {
9622
130k
        if (yych <= 0x1F) {
9623
9.74k
          if (yych <= '\r') goto yy846;
9624
472
          goto yy696;
9625
120k
        } else {
9626
120k
          if (yych <= ' ') goto yy846;
9627
116k
          if (yych <= '"') goto yy696;
9628
116k
          goto yy877;
9629
116k
        }
9630
130k
      }
9631
151k
    } else {
9632
34.5k
      if (yych <= '/') {
9633
19.3k
        if (yych == '*') goto yy760;
9634
18.3k
        if (yych <= '.') goto yy696;
9635
10.5k
        goto yy878;
9636
18.3k
      } else {
9637
15.2k
        if (yych <= 'F') {
9638
10.8k
          if (yych <= 'E') goto yy696;
9639
8.68k
          goto yy879;
9640
10.8k
        } else {
9641
4.37k
          if (yych == 'f') goto yy879;
9642
3.83k
          goto yy696;
9643
4.37k
        }
9644
15.2k
      }
9645
34.5k
    }
9646
25.8k
yy848:
9647
25.8k
    YYDEBUG(848, *YYCURSOR);
9648
25.8k
    ++YYCURSOR;
9649
25.8k
    YYFILL(1);
9650
25.8k
    yych = *YYCURSOR;
9651
25.8k
    YYDEBUG(849, *YYCURSOR);
9652
25.8k
    if (yych <= '\r') {
9653
12.4k
      if (yych <= '\t') {
9654
2.63k
        if (yych <= 0x00) goto yy86;
9655
2.19k
        goto yy808;
9656
9.81k
      } else {
9657
9.81k
        if (yych <= '\n') goto yy846;
9658
5.11k
        if (yych <= '\f') goto yy808;
9659
4.71k
        goto yy846;
9660
5.11k
      }
9661
13.4k
    } else {
9662
13.4k
      if (yych <= '*') {
9663
2.78k
        if (yych <= ')') goto yy808;
9664
1.47k
        goto yy848;
9665
10.6k
      } else {
9666
10.6k
        if (yych == '/') goto yy694;
9667
3.57k
        goto yy808;
9668
10.6k
      }
9669
13.4k
    }
9670
16.2k
yy850:
9671
16.2k
    YYDEBUG(850, *YYCURSOR);
9672
16.2k
    ++YYCURSOR;
9673
16.2k
    YYFILL(1);
9674
16.2k
    yych = *YYCURSOR;
9675
16.2k
    if (yych <= '\r') {
9676
2.54k
      if (yych <= '\t') {
9677
449
        if (yych <= 0x00) goto yy86;
9678
206
        goto yy692;
9679
2.09k
      } else {
9680
2.09k
        if (yych <= '\n') goto yy616;
9681
810
        if (yych <= '\f') goto yy692;
9682
204
        goto yy616;
9683
810
      }
9684
13.7k
    } else {
9685
13.7k
      if (yych <= 'M') {
9686
8.89k
        if (yych <= 'L') goto yy692;
9687
8.08k
        goto yy880;
9688
8.89k
      } else {
9689
4.82k
        if (yych == 'm') goto yy880;
9690
439
        goto yy692;
9691
4.82k
      }
9692
13.7k
    }
9693
5.53k
yy851:
9694
5.53k
    YYDEBUG(851, *YYCURSOR);
9695
5.53k
    yyaccept = 4;
9696
5.53k
    yych = *(YYMARKER = ++YYCURSOR);
9697
5.53k
    if (yych == '_') goto yy881;
9698
432
    goto yy48;
9699
4.07k
yy852:
9700
4.07k
    YYDEBUG(852, *YYCURSOR);
9701
4.07k
    yyaccept = 4;
9702
4.07k
    yych = *(YYMARKER = ++YYCURSOR);
9703
4.07k
    if (yych == 'P') goto yy882;
9704
3.23k
    if (yych == 'p') goto yy882;
9705
305
    goto yy48;
9706
11.1k
yy853:
9707
11.1k
    YYDEBUG(853, *YYCURSOR);
9708
11.1k
    yyaccept = 87;
9709
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
9710
11.1k
    if (yybm[256+yych] & 128) {
9711
456
      goto yy47;
9712
456
    }
9713
10.6k
    if (yych == '\\') goto yy164;
9714
10.6k
yy854:
9715
10.6k
    YYDEBUG(854, *YYCURSOR);
9716
10.6k
    yyleng = YYCURSOR - SCNG(yy_text);
9717
10.6k
#line 2268 "Zend/zend_language_scanner.l"
9718
10.6k
    {
9719
10.6k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9720
10.6k
}
9721
0
#line 9722 "Zend/zend_language_scanner.c"
9722
4.06k
yy855:
9723
4.06k
    YYDEBUG(855, *YYCURSOR);
9724
4.06k
    yyaccept = 4;
9725
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
9726
4.06k
    if (yych == 'E') goto yy883;
9727
2.30k
    if (yych == 'e') goto yy883;
9728
520
    goto yy48;
9729
2.83k
yy856:
9730
2.83k
    YYDEBUG(856, *YYCURSOR);
9731
2.83k
    yyaccept = 4;
9732
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
9733
2.83k
    if (yych == '_') goto yy884;
9734
413
    goto yy48;
9735
1.64k
yy857:
9736
1.64k
    YYDEBUG(857, *YYCURSOR);
9737
1.64k
    yych = *++YYCURSOR;
9738
1.64k
    if (yych == 'S') goto yy885;
9739
1.41k
    if (yych == 's') goto yy885;
9740
1.02k
    goto yy86;
9741
2.29k
yy858:
9742
2.29k
    YYDEBUG(858, *YYCURSOR);
9743
2.29k
    yych = *++YYCURSOR;
9744
2.29k
    if (yych == 'E') goto yy887;
9745
1.89k
    if (yych == 'e') goto yy887;
9746
502
    goto yy86;
9747
344k
yy859:
9748
344k
    YYDEBUG(859, *YYCURSOR);
9749
344k
    ++YYCURSOR;
9750
344k
    YYFILL(1);
9751
344k
    yych = *YYCURSOR;
9752
344k
    YYDEBUG(860, *YYCURSOR);
9753
344k
    if (yych <= '@') {
9754
209k
      if (yych <= 0x1F) {
9755
36.6k
        if (yych <= '\t') {
9756
3.90k
          if (yych <= 0x00) goto yy86;
9757
3.14k
          if (yych <= 0x08) goto yy738;
9758
2.26k
          goto yy859;
9759
32.7k
        } else {
9760
32.7k
          if (yych <= '\n') goto yy787;
9761
30.2k
          if (yych == '\r') goto yy787;
9762
1.36k
          goto yy738;
9763
30.2k
        }
9764
172k
      } else {
9765
172k
        if (yych <= ')') {
9766
94.5k
          if (yych <= ' ') goto yy859;
9767
48.1k
          if (yych == '#') goto yy888;
9768
7.02k
          goto yy738;
9769
77.9k
        } else {
9770
77.9k
          if (yych <= '*') goto yy789;
9771
76.1k
          if (yych == '/') goto yy889;
9772
8.66k
          goto yy738;
9773
76.1k
        }
9774
172k
      }
9775
209k
    } else {
9776
134k
      if (yych <= '_') {
9777
16.9k
        if (yych <= 'H') {
9778
2.19k
          if (yych == 'E') goto yy891;
9779
1.94k
          goto yy890;
9780
14.8k
        } else {
9781
14.8k
          if (yych <= 'I') goto yy892;
9782
3.82k
          if (yych <= 'Z') goto yy890;
9783
3.21k
          if (yych <= '^') goto yy738;
9784
305
          goto yy890;
9785
3.21k
        }
9786
117k
      } else {
9787
117k
        if (yych <= 'h') {
9788
66.7k
          if (yych <= '`') goto yy738;
9789
65.8k
          if (yych == 'e') goto yy891;
9790
1.35k
          goto yy890;
9791
65.8k
        } else {
9792
51.0k
          if (yych <= 'i') goto yy892;
9793
19.3k
          if (yych <= 'z') goto yy890;
9794
10.8k
          if (yych <= 0x7F) goto yy738;
9795
2.55k
          goto yy890;
9796
10.8k
        }
9797
117k
      }
9798
134k
    }
9799
17.6k
yy861:
9800
17.6k
    YYDEBUG(861, *YYCURSOR);
9801
17.6k
    ++YYCURSOR;
9802
17.6k
    YYFILL(1);
9803
17.6k
    yych = *YYCURSOR;
9804
17.6k
    if (yych <= '*') {
9805
1.09k
      if (yych <= 0x00) goto yy86;
9806
790
      if (yych <= ')') goto yy590;
9807
328
      goto yy668;
9808
16.5k
    } else {
9809
16.5k
      if (yych == '/') goto yy787;
9810
920
      goto yy590;
9811
16.5k
    }
9812
5.64k
yy862:
9813
5.64k
    YYDEBUG(862, *YYCURSOR);
9814
5.64k
    ++YYCURSOR;
9815
5.64k
    YYFILL(1);
9816
5.64k
    yych = *YYCURSOR;
9817
5.64k
    if (yych <= 'S') {
9818
760
      if (yych <= 0x00) goto yy86;
9819
547
      if (yych == '*') goto yy668;
9820
349
      goto yy590;
9821
4.88k
    } else {
9822
4.88k
      if (yych <= 'T') goto yy893;
9823
3.56k
      if (yych == 't') goto yy893;
9824
348
      goto yy590;
9825
3.56k
    }
9826
10.1k
yy863:
9827
10.1k
    YYDEBUG(863, *YYCURSOR);
9828
10.1k
    ++YYCURSOR;
9829
10.1k
    YYFILL(1);
9830
10.1k
    yych = *YYCURSOR;
9831
10.1k
    if (yych <= 'O') {
9832
900
      if (yych <= 0x00) goto yy86;
9833
613
      if (yych == '*') goto yy668;
9834
532
      goto yy590;
9835
9.24k
    } else {
9836
9.24k
      if (yych <= 'P') goto yy894;
9837
5.69k
      if (yych == 'p') goto yy894;
9838
274
      goto yy590;
9839
5.69k
    }
9840
4.40k
yy864:
9841
4.40k
    YYDEBUG(864, *YYCURSOR);
9842
4.40k
    ++YYCURSOR;
9843
4.40k
    YYFILL(1);
9844
4.40k
    yych = *YYCURSOR;
9845
4.40k
    if (yych <= '\r') {
9846
1.24k
      if (yych <= '\t') {
9847
432
        if (yych <= 0x00) goto yy86;
9848
284
        goto yy586;
9849
816
      } else {
9850
816
        if (yych <= '\n') goto yy495;
9851
617
        if (yych <= '\f') goto yy586;
9852
241
        goto yy495;
9853
617
      }
9854
3.15k
    } else {
9855
3.15k
      if (yych <= 'D') {
9856
591
        if (yych <= 'C') goto yy586;
9857
232
        goto yy895;
9858
2.56k
      } else {
9859
2.56k
        if (yych == 'd') goto yy895;
9860
672
        goto yy586;
9861
2.56k
      }
9862
3.15k
    }
9863
18.4k
yy865:
9864
18.4k
    YYDEBUG(865, *YYCURSOR);
9865
18.4k
    ++YYCURSOR;
9866
18.4k
    YYFILL(1);
9867
18.4k
    yych = *YYCURSOR;
9868
18.4k
    if (yych <= '\r') {
9869
1.68k
      if (yych <= '\t') {
9870
479
        if (yych <= 0x00) goto yy86;
9871
215
        goto yy586;
9872
1.20k
      } else {
9873
1.20k
        if (yych <= '\n') goto yy495;
9874
560
        if (yych <= '\f') goto yy586;
9875
346
        goto yy495;
9876
560
      }
9877
16.7k
    } else {
9878
16.7k
      if (yych <= 'M') {
9879
9.14k
        if (yych <= 'L') goto yy586;
9880
7.92k
        goto yy896;
9881
9.14k
      } else {
9882
7.60k
        if (yych == 'm') goto yy896;
9883
2.90k
        goto yy586;
9884
7.60k
      }
9885
16.7k
    }
9886
2.79k
yy866:
9887
2.79k
    YYDEBUG(866, *YYCURSOR);
9888
2.79k
    yyaccept = 4;
9889
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
9890
2.79k
    if (yych == 'E') goto yy897;
9891
2.33k
    if (yych == 'e') goto yy897;
9892
263
    goto yy48;
9893
49.3k
yy867:
9894
49.3k
    YYDEBUG(867, *YYCURSOR);
9895
49.3k
    yyaccept = 88;
9896
49.3k
    YYMARKER = ++YYCURSOR;
9897
49.3k
    YYFILL(1);
9898
49.3k
    yych = *YYCURSOR;
9899
49.3k
    YYDEBUG(868, *YYCURSOR);
9900
49.3k
    if (yych <= '\\') {
9901
6.47k
      if (yych <= '@') {
9902
3.32k
        if (yych <= '/') goto yy869;
9903
2.31k
        if (yych <= '9') goto yy867;
9904
3.15k
      } else {
9905
3.15k
        if (yych <= 'Z') goto yy867;
9906
1.70k
        if (yych >= '\\') goto yy840;
9907
1.70k
      }
9908
42.8k
    } else {
9909
42.8k
      if (yych <= '`') {
9910
2.70k
        if (yych == '_') goto yy867;
9911
40.1k
      } else {
9912
40.1k
        if (yych <= 'z') goto yy867;
9913
34.4k
        if (yych >= 0x80) goto yy867;
9914
34.4k
      }
9915
42.8k
    }
9916
4.38k
yy869:
9917
4.38k
    YYDEBUG(869, *YYCURSOR);
9918
4.38k
    yyleng = YYCURSOR - SCNG(yy_text);
9919
4.38k
#line 2438 "Zend/zend_language_scanner.l"
9920
4.38k
    {
9921
4.38k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9922
4.38k
}
9923
0
#line 9924 "Zend/zend_language_scanner.c"
9924
1.63k
yy870:
9925
1.63k
    YYDEBUG(870, *YYCURSOR);
9926
1.63k
    yych = *++YYCURSOR;
9927
1.63k
    if (yych == ')') goto yy899;
9928
219
    goto yy86;
9929
1.18k
yy871:
9930
1.18k
    YYDEBUG(871, *YYCURSOR);
9931
1.18k
    yych = *++YYCURSOR;
9932
1.18k
    if (yych == 'E') goto yy901;
9933
859
    if (yych == 'e') goto yy901;
9934
302
    goto yy86;
9935
487
yy872:
9936
487
    YYDEBUG(872, *YYCURSOR);
9937
487
    ++YYCURSOR;
9938
487
    YYDEBUG(873, *YYCURSOR);
9939
487
    yyleng = YYCURSOR - SCNG(yy_text);
9940
487
#line 1785 "Zend/zend_language_scanner.l"
9941
487
    {
9942
487
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9943
487
}
9944
0
#line 9945 "Zend/zend_language_scanner.c"
9945
3.22k
yy874:
9946
3.22k
    YYDEBUG(874, *YYCURSOR);
9947
3.22k
    yyaccept = 4;
9948
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
9949
3.22k
    if (yych == 'E') goto yy902;
9950
2.78k
    if (yych == 'e') goto yy902;
9951
373
    goto yy48;
9952
4.85k
yy875:
9953
4.85k
    YYDEBUG(875, *YYCURSOR);
9954
4.85k
    ++YYCURSOR;
9955
22.1k
yy876:
9956
22.1k
    YYDEBUG(876, *YYCURSOR);
9957
22.1k
    yyleng = YYCURSOR - SCNG(yy_text);
9958
22.1k
#line 1427 "Zend/zend_language_scanner.l"
9959
22.1k
    {
9960
22.1k
  yyless(yyleng - 1);
9961
22.1k
  HANDLE_NEWLINES(yytext, yyleng);
9962
22.1k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9963
22.1k
}
9964
0
#line 9965 "Zend/zend_language_scanner.c"
9965
116k
yy877:
9966
116k
    YYDEBUG(877, *YYCURSOR);
9967
116k
    ++YYCURSOR;
9968
116k
    YYFILL(1);
9969
116k
    yych = *YYCURSOR;
9970
116k
    if (yych <= '\r') {
9971
97.5k
      if (yych <= '\t') {
9972
793
        if (yych <= 0x00) goto yy86;
9973
359
        goto yy808;
9974
96.7k
      } else {
9975
96.7k
        if (yych <= '\n') goto yy904;
9976
49.2k
        if (yych <= '\f') goto yy808;
9977
49.0k
        goto yy904;
9978
49.2k
      }
9979
97.5k
    } else {
9980
19.3k
      if (yych <= '*') {
9981
7.44k
        if (yych <= ')') goto yy808;
9982
1.70k
        goto yy848;
9983
11.9k
      } else {
9984
11.9k
        if (yych == '[') goto yy696;
9985
11.6k
        goto yy808;
9986
11.9k
      }
9987
19.3k
    }
9988
10.7k
yy878:
9989
10.7k
    YYDEBUG(878, *YYCURSOR);
9990
10.7k
    ++YYCURSOR;
9991
10.7k
    YYFILL(1);
9992
10.7k
    yych = *YYCURSOR;
9993
10.7k
    if (yych <= '*') {
9994
9.17k
      if (yych <= 0x00) goto yy86;
9995
8.80k
      if (yych <= ')') goto yy696;
9996
8.20k
      goto yy906;
9997
8.80k
    } else {
9998
1.56k
      if (yych == '/') goto yy808;
9999
1.21k
      goto yy696;
10000
1.56k
    }
10001
9.92k
yy879:
10002
9.92k
    YYDEBUG(879, *YYCURSOR);
10003
9.92k
    ++YYCURSOR;
10004
9.92k
    YYFILL(1);
10005
9.92k
    yych = *YYCURSOR;
10006
9.92k
    if (yych <= 'Q') {
10007
1.29k
      if (yych <= 0x00) goto yy86;
10008
1.03k
      if (yych == '*') goto yy760;
10009
760
      goto yy696;
10010
8.63k
    } else {
10011
8.63k
      if (yych <= 'R') goto yy907;
10012
1.22k
      if (yych == 'r') goto yy907;
10013
678
      goto yy696;
10014
1.22k
    }
10015
12.4k
yy880:
10016
12.4k
    YYDEBUG(880, *YYCURSOR);
10017
12.4k
    ++YYCURSOR;
10018
12.4k
    YYFILL(1);
10019
12.4k
    yych = *YYCURSOR;
10020
12.4k
    if (yych <= '9') {
10021
6.21k
      if (yych <= '\n') {
10022
4.28k
        if (yych <= 0x00) goto yy875;
10023
3.81k
        if (yych <= '\t') goto yy908;
10024
3.60k
        goto yy909;
10025
3.81k
      } else {
10026
1.93k
        if (yych == '\r') goto yy909;
10027
848
        if (yych <= '/') goto yy908;
10028
217
        goto yy692;
10029
848
      }
10030
6.25k
    } else {
10031
6.25k
      if (yych <= '_') {
10032
1.40k
        if (yych <= '@') goto yy908;
10033
1.15k
        if (yych <= 'Z') goto yy692;
10034
601
        if (yych <= '^') goto yy908;
10035
209
        goto yy692;
10036
4.84k
      } else {
10037
4.84k
        if (yych <= '`') goto yy908;
10038
4.75k
        if (yych <= 'z') goto yy692;
10039
4.30k
        if (yych <= 0x7F) goto yy908;
10040
3.64k
        goto yy692;
10041
4.30k
      }
10042
6.25k
    }
10043
5.10k
yy881:
10044
5.10k
    YYDEBUG(881, *YYCURSOR);
10045
5.10k
    yyaccept = 4;
10046
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
10047
5.10k
    if (yych == '_') goto yy910;
10048
444
    goto yy48;
10049
3.76k
yy882:
10050
3.76k
    YYDEBUG(882, *YYCURSOR);
10051
3.76k
    yyaccept = 4;
10052
3.76k
    yych = *(YYMARKER = ++YYCURSOR);
10053
3.76k
    if (yych == 'I') goto yy912;
10054
3.27k
    if (yych == 'i') goto yy912;
10055
231
    goto yy48;
10056
3.54k
yy883:
10057
3.54k
    YYDEBUG(883, *YYCURSOR);
10058
3.54k
    yyaccept = 4;
10059
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
10060
3.54k
    if (yych == '_') goto yy913;
10061
493
    goto yy48;
10062
2.42k
yy884:
10063
2.42k
    YYDEBUG(884, *YYCURSOR);
10064
2.42k
    yyaccept = 4;
10065
2.42k
    yych = *(YYMARKER = ++YYCURSOR);
10066
2.42k
    if (yych == '_') goto yy914;
10067
704
    goto yy48;
10068
704
yy885:
10069
618
    YYDEBUG(885, *YYCURSOR);
10070
618
    ++YYCURSOR;
10071
3.58k
yy886:
10072
3.58k
    YYDEBUG(886, *YYCURSOR);
10073
3.58k
    yyleng = YYCURSOR - SCNG(yy_text);
10074
3.58k
#line 1569 "Zend/zend_language_scanner.l"
10075
3.58k
    {
10076
3.58k
  yyless(4);
10077
3.58k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10078
3.58k
}
10079
0
#line 10080 "Zend/zend_language_scanner.c"
10080
1.78k
yy887:
10081
1.78k
    YYDEBUG(887, *YYCURSOR);
10082
1.78k
    yych = *++YYCURSOR;
10083
1.78k
    if (yych == 'N') goto yy916;
10084
1.44k
    if (yych == 'n') goto yy916;
10085
389
    goto yy86;
10086
41.1k
yy888:
10087
41.1k
    YYDEBUG(888, *YYCURSOR);
10088
41.1k
    ++YYCURSOR;
10089
41.1k
    YYFILL(1);
10090
41.1k
    yych = *YYCURSOR;
10091
41.1k
    if (yych <= '\f') {
10092
24.9k
      if (yych <= 0x00) goto yy86;
10093
24.2k
      if (yych == '\n') goto yy859;
10094
644
      goto yy738;
10095
24.2k
    } else {
10096
16.2k
      if (yych <= '\r') goto yy859;
10097
12.4k
      if (yych == '*') goto yy789;
10098
12.1k
      goto yy738;
10099
12.4k
    }
10100
67.5k
yy889:
10101
67.5k
    YYDEBUG(889, *YYCURSOR);
10102
67.5k
    ++YYCURSOR;
10103
67.5k
    YYFILL(1);
10104
67.5k
    yych = *YYCURSOR;
10105
67.5k
    if (yych <= '\f') {
10106
1.86k
      if (yych <= 0x00) goto yy86;
10107
1.24k
      if (yych == '\n') goto yy787;
10108
482
      goto yy738;
10109
65.6k
    } else {
10110
65.6k
      if (yych <= '\r') goto yy787;
10111
65.1k
      if (yych == '*') goto yy917;
10112
1.47k
      goto yy738;
10113
65.1k
    }
10114
15.3k
yy890:
10115
15.3k
    YYDEBUG(890, *YYCURSOR);
10116
15.3k
    yyaccept = 53;
10117
15.3k
    YYMARKER = ++YYCURSOR;
10118
15.3k
    YYFILL(1);
10119
15.3k
    yych = *YYCURSOR;
10120
15.3k
    if (yych <= '\f') {
10121
1.78k
      if (yych <= 0x00) goto yy583;
10122
1.50k
      if (yych == '\n') goto yy787;
10123
1.08k
      goto yy738;
10124
13.5k
    } else {
10125
13.5k
      if (yych <= '\r') goto yy787;
10126
12.8k
      if (yych == '*') goto yy789;
10127
12.0k
      goto yy738;
10128
12.8k
    }
10129
64.6k
yy891:
10130
64.6k
    YYDEBUG(891, *YYCURSOR);
10131
64.6k
    yyaccept = 53;
10132
64.6k
    YYMARKER = ++YYCURSOR;
10133
64.6k
    YYFILL(1);
10134
64.6k
    yych = *YYCURSOR;
10135
64.6k
    if (yych <= ')') {
10136
2.01k
      if (yych <= '\n') {
10137
1.06k
        if (yych <= 0x00) goto yy583;
10138
851
        if (yych <= '\t') goto yy738;
10139
400
        goto yy787;
10140
954
      } else {
10141
954
        if (yych == '\r') goto yy787;
10142
458
        goto yy738;
10143
954
      }
10144
62.6k
    } else {
10145
62.6k
      if (yych <= 'X') {
10146
8.79k
        if (yych <= '*') goto yy789;
10147
8.55k
        if (yych <= 'W') goto yy738;
10148
1.71k
        goto yy918;
10149
53.8k
      } else {
10150
53.8k
        if (yych == 'x') goto yy918;
10151
42.3k
        goto yy738;
10152
53.8k
      }
10153
62.6k
    }
10154
42.6k
yy892:
10155
42.6k
    YYDEBUG(892, *YYCURSOR);
10156
42.6k
    yyaccept = 53;
10157
42.6k
    YYMARKER = ++YYCURSOR;
10158
42.6k
    YYFILL(1);
10159
42.6k
    yych = *YYCURSOR;
10160
42.6k
    if (yych <= ')') {
10161
2.66k
      if (yych <= '\n') {
10162
1.03k
        if (yych <= 0x00) goto yy583;
10163
538
        if (yych <= '\t') goto yy738;
10164
308
        goto yy787;
10165
1.63k
      } else {
10166
1.63k
        if (yych == '\r') goto yy787;
10167
1.03k
        goto yy738;
10168
1.63k
      }
10169
39.9k
    } else {
10170
39.9k
      if (yych <= 'M') {
10171
9.79k
        if (yych <= '*') goto yy789;
10172
9.51k
        if (yych <= 'L') goto yy738;
10173
9.05k
        goto yy919;
10174
30.1k
      } else {
10175
30.1k
        if (yych == 'm') goto yy919;
10176
1.73k
        goto yy738;
10177
30.1k
      }
10178
39.9k
    }
10179
4.53k
yy893:
10180
4.53k
    YYDEBUG(893, *YYCURSOR);
10181
4.53k
    ++YYCURSOR;
10182
4.53k
    YYFILL(1);
10183
4.53k
    yych = *YYCURSOR;
10184
4.53k
    if (yych <= 'D') {
10185
495
      if (yych <= 0x00) goto yy86;
10186
299
      if (yych == '*') goto yy668;
10187
229
      goto yy590;
10188
4.03k
    } else {
10189
4.03k
      if (yych <= 'E') goto yy920;
10190
3.80k
      if (yych == 'e') goto yy920;
10191
692
      goto yy590;
10192
3.80k
    }
10193
8.97k
yy894:
10194
8.97k
    YYDEBUG(894, *YYCURSOR);
10195
8.97k
    ++YYCURSOR;
10196
8.97k
    YYFILL(1);
10197
8.97k
    yych = *YYCURSOR;
10198
8.97k
    if (yych <= 'K') {
10199
2.17k
      if (yych <= 0x00) goto yy86;
10200
1.46k
      if (yych == '*') goto yy668;
10201
1.25k
      goto yy590;
10202
6.80k
    } else {
10203
6.80k
      if (yych <= 'L') goto yy921;
10204
3.74k
      if (yych == 'l') goto yy921;
10205
422
      goto yy590;
10206
3.74k
    }
10207
4.15k
yy895:
10208
4.15k
    YYDEBUG(895, *YYCURSOR);
10209
4.15k
    ++YYCURSOR;
10210
4.15k
    YYFILL(1);
10211
4.15k
    yych = *YYCURSOR;
10212
4.15k
    if (yych <= '\r') {
10213
1.04k
      if (yych <= '\t') {
10214
502
        if (yych <= 0x00) goto yy86;
10215
211
        goto yy586;
10216
545
      } else {
10217
545
        if (yych <= '\n') goto yy495;
10218
477
        if (yych <= '\f') goto yy586;
10219
401
        goto yy495;
10220
477
      }
10221
3.10k
    } else {
10222
3.10k
      if (yych <= 'S') {
10223
987
        if (yych <= 'R') goto yy586;
10224
418
        goto yy922;
10225
2.12k
      } else {
10226
2.12k
        if (yych == 's') goto yy922;
10227
282
        goto yy586;
10228
2.12k
      }
10229
3.10k
    }
10230
12.6k
yy896:
10231
12.6k
    YYDEBUG(896, *YYCURSOR);
10232
12.6k
    ++YYCURSOR;
10233
12.6k
    YYFILL(1);
10234
12.6k
    yych = *YYCURSOR;
10235
12.6k
    if (yych <= '\r') {
10236
1.36k
      if (yych <= '\t') {
10237
491
        if (yych <= 0x00) goto yy86;
10238
230
        goto yy586;
10239
875
      } else {
10240
875
        if (yych <= '\n') goto yy495;
10241
580
        if (yych <= '\f') goto yy586;
10242
470
        goto yy495;
10243
580
      }
10244
11.2k
    } else {
10245
11.2k
      if (yych <= 'E') {
10246
2.33k
        if (yych <= 'D') goto yy586;
10247
1.97k
        goto yy923;
10248
8.92k
      } else {
10249
8.92k
        if (yych == 'e') goto yy923;
10250
441
        goto yy586;
10251
8.92k
      }
10252
11.2k
    }
10253
2.53k
yy897:
10254
2.53k
    YYDEBUG(897, *YYCURSOR);
10255
2.53k
    yyaccept = 89;
10256
2.53k
    yych = *(YYMARKER = ++YYCURSOR);
10257
2.53k
    if (yybm[256+yych] & 128) {
10258
400
      goto yy47;
10259
400
    }
10260
2.13k
    if (yych == '\\') goto yy164;
10261
2.13k
yy898:
10262
2.13k
    YYDEBUG(898, *YYCURSOR);
10263
2.13k
    yyleng = YYCURSOR - SCNG(yy_text);
10264
2.13k
#line 1725 "Zend/zend_language_scanner.l"
10265
2.13k
    {
10266
2.13k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10267
2.13k
}
10268
0
#line 10269 "Zend/zend_language_scanner.c"
10269
1.41k
yy899:
10270
1.41k
    YYDEBUG(899, *YYCURSOR);
10271
1.41k
    ++YYCURSOR;
10272
1.41k
    YYDEBUG(900, *YYCURSOR);
10273
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
10274
1.41k
#line 1793 "Zend/zend_language_scanner.l"
10275
1.41k
    {
10276
1.41k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10277
1.41k
}
10278
0
#line 10279 "Zend/zend_language_scanner.c"
10279
883
yy901:
10280
883
    YYDEBUG(901, *YYCURSOR);
10281
883
    yych = *++YYCURSOR;
10282
883
    if (yych == 'T') goto yy924;
10283
665
    if (yych == 't') goto yy924;
10284
229
    goto yy86;
10285
2.84k
yy902:
10286
2.84k
    YYDEBUG(902, *YYCURSOR);
10287
2.84k
    yyaccept = 90;
10288
2.84k
    yych = *(YYMARKER = ++YYCURSOR);
10289
2.84k
    if (yybm[256+yych] & 128) {
10290
341
      goto yy47;
10291
341
    }
10292
2.50k
    if (yych == '\\') goto yy164;
10293
2.50k
yy903:
10294
2.50k
    YYDEBUG(903, *YYCURSOR);
10295
2.50k
    yyleng = YYCURSOR - SCNG(yy_text);
10296
2.50k
#line 1733 "Zend/zend_language_scanner.l"
10297
2.50k
    {
10298
2.50k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10299
2.50k
}
10300
0
#line 10301 "Zend/zend_language_scanner.c"
10301
143k
yy904:
10302
143k
    YYDEBUG(904, *YYCURSOR);
10303
143k
    ++YYCURSOR;
10304
143k
    YYFILL(1);
10305
143k
    yych = *YYCURSOR;
10306
143k
    YYDEBUG(905, *YYCURSOR);
10307
143k
    if (yych <= '"') {
10308
30.0k
      if (yych <= '\n') {
10309
4.68k
        if (yych <= 0x00) goto yy86;
10310
4.30k
        if (yych <= 0x08) goto yy808;
10311
3.64k
        if (yych <= '\t') goto yy904;
10312
2.22k
        goto yy846;
10313
25.3k
      } else {
10314
25.3k
        if (yych <= '\r') {
10315
12.0k
          if (yych <= '\f') goto yy808;
10316
11.7k
          goto yy846;
10317
13.3k
        } else {
10318
13.3k
          if (yych == ' ') goto yy904;
10319
834
          goto yy808;
10320
13.3k
        }
10321
25.3k
      }
10322
113k
    } else {
10323
113k
      if (yych <= '/') {
10324
57.9k
        if (yych <= ')') {
10325
21.5k
          if (yych <= '#') goto yy925;
10326
5.15k
          goto yy808;
10327
36.4k
        } else {
10328
36.4k
          if (yych <= '*') goto yy848;
10329
35.9k
          if (yych <= '.') goto yy808;
10330
33.8k
          goto yy926;
10331
35.9k
        }
10332
57.9k
      } else {
10333
55.5k
        if (yych <= 'F') {
10334
28.9k
          if (yych <= 'E') goto yy808;
10335
22.2k
          goto yy927;
10336
28.9k
        } else {
10337
26.5k
          if (yych == 'f') goto yy927;
10338
25.5k
          goto yy808;
10339
26.5k
        }
10340
55.5k
      }
10341
113k
    }
10342
8.20k
yy906:
10343
8.20k
    YYDEBUG(906, *YYCURSOR);
10344
8.20k
    ++YYCURSOR;
10345
8.20k
    YYFILL(1);
10346
8.20k
    yych = *YYCURSOR;
10347
8.20k
    if (yych <= '*') {
10348
1.68k
      if (yych <= 0x00) goto yy86;
10349
1.45k
      if (yych <= ')') goto yy696;
10350
858
      goto yy760;
10351
6.52k
    } else {
10352
6.52k
      if (yych == '/') goto yy846;
10353
322
      goto yy696;
10354
6.52k
    }
10355
7.95k
yy907:
10356
7.95k
    YYDEBUG(907, *YYCURSOR);
10357
7.95k
    ++YYCURSOR;
10358
7.95k
    YYFILL(1);
10359
7.95k
    yych = *YYCURSOR;
10360
7.95k
    if (yych <= 'N') {
10361
902
      if (yych <= 0x00) goto yy86;
10362
626
      if (yych == '*') goto yy760;
10363
304
      goto yy696;
10364
7.05k
    } else {
10365
7.05k
      if (yych <= 'O') goto yy928;
10366
1.69k
      if (yych == 'o') goto yy928;
10367
590
      goto yy696;
10368
1.69k
    }
10369
2.24k
yy908:
10370
2.24k
    YYDEBUG(908, *YYCURSOR);
10371
2.24k
    yyaccept = 91;
10372
2.24k
    YYMARKER = ++YYCURSOR;
10373
2.24k
    YYFILL(1);
10374
2.24k
    yych = *YYCURSOR;
10375
2.24k
    if (yych <= '\n') {
10376
1.04k
      if (yych <= 0x00) goto yy876;
10377
827
      if (yych <= '\t') goto yy692;
10378
299
      goto yy616;
10379
1.20k
    } else {
10380
1.20k
      if (yych == '\r') goto yy616;
10381
918
      goto yy692;
10382
1.20k
    }
10383
4.69k
yy909:
10384
4.69k
    YYDEBUG(909, *YYCURSOR);
10385
4.69k
    yyaccept = 91;
10386
4.69k
    YYMARKER = ++YYCURSOR;
10387
4.69k
    YYFILL(5);
10388
4.69k
    yych = *YYCURSOR;
10389
4.69k
    if (yych <= '"') {
10390
1.15k
      if (yych <= '\f') {
10391
616
        if (yych <= 0x08) goto yy876;
10392
408
        if (yych <= '\n') goto yy616;
10393
204
        goto yy876;
10394
537
      } else {
10395
537
        if (yych <= '\r') goto yy616;
10396
306
        if (yych == ' ') goto yy616;
10397
203
        goto yy876;
10398
306
      }
10399
3.53k
    } else {
10400
3.53k
      if (yych <= 'E') {
10401
2.40k
        if (yych <= '#') goto yy618;
10402
2.07k
        if (yych == '/') goto yy619;
10403
851
        goto yy876;
10404
2.07k
      } else {
10405
1.13k
        if (yych <= 'F') goto yy691;
10406
891
        if (yych == 'f') goto yy691;
10407
691
        goto yy876;
10408
891
      }
10409
3.53k
    }
10410
4.66k
yy910:
10411
4.66k
    YYDEBUG(910, *YYCURSOR);
10412
4.66k
    yyaccept = 92;
10413
4.66k
    yych = *(YYMARKER = ++YYCURSOR);
10414
4.66k
    if (yybm[256+yych] & 128) {
10415
695
      goto yy47;
10416
695
    }
10417
3.96k
    if (yych == '\\') goto yy164;
10418
3.94k
yy911:
10419
3.94k
    YYDEBUG(911, *YYCURSOR);
10420
3.94k
    yyleng = YYCURSOR - SCNG(yy_text);
10421
3.94k
#line 2260 "Zend/zend_language_scanner.l"
10422
3.94k
    {
10423
3.94k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10424
3.94k
}
10425
0
#line 10426 "Zend/zend_language_scanner.c"
10426
3.53k
yy912:
10427
3.53k
    YYDEBUG(912, *YYCURSOR);
10428
3.53k
    yyaccept = 4;
10429
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
10430
3.53k
    if (yych == 'L') goto yy929;
10431
3.11k
    if (yych == 'l') goto yy929;
10432
444
    goto yy48;
10433
3.05k
yy913:
10434
3.05k
    YYDEBUG(913, *YYCURSOR);
10435
3.05k
    yyaccept = 4;
10436
3.05k
    yych = *(YYMARKER = ++YYCURSOR);
10437
3.05k
    if (yych == '_') goto yy930;
10438
578
    goto yy48;
10439
1.71k
yy914:
10440
1.71k
    YYDEBUG(914, *YYCURSOR);
10441
1.71k
    yyaccept = 93;
10442
1.71k
    yych = *(YYMARKER = ++YYCURSOR);
10443
1.71k
    if (yybm[256+yych] & 128) {
10444
143
      goto yy47;
10445
143
    }
10446
1.57k
    if (yych == '\\') goto yy164;
10447
1.57k
yy915:
10448
1.57k
    YYDEBUG(915, *YYCURSOR);
10449
1.57k
    yyleng = YYCURSOR - SCNG(yy_text);
10450
1.57k
#line 2264 "Zend/zend_language_scanner.l"
10451
1.57k
    {
10452
1.57k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10453
1.57k
}
10454
0
#line 10455 "Zend/zend_language_scanner.c"
10455
1.40k
yy916:
10456
1.40k
    YYDEBUG(916, *YYCURSOR);
10457
1.40k
    yych = *++YYCURSOR;
10458
1.40k
    if (yych == 'T') goto yy857;
10459
1.16k
    if (yych == 't') goto yy857;
10460
434
    goto yy86;
10461
63.6k
yy917:
10462
63.6k
    YYDEBUG(917, *YYCURSOR);
10463
63.6k
    ++YYCURSOR;
10464
63.6k
    YYFILL(1);
10465
63.6k
    yych = *YYCURSOR;
10466
63.6k
    if (yych <= '\r') {
10467
1.75k
      if (yych <= '\t') {
10468
661
        if (yych <= 0x00) goto yy86;
10469
240
        goto yy738;
10470
1.09k
      } else {
10471
1.09k
        if (yych <= '\n') goto yy787;
10472
640
        if (yych <= '\f') goto yy738;
10473
396
        goto yy787;
10474
640
      }
10475
61.8k
    } else {
10476
61.8k
      if (yych <= '*') {
10477
2.48k
        if (yych <= ')') goto yy738;
10478
773
        goto yy789;
10479
59.3k
      } else {
10480
59.3k
        if (yych == '/') goto yy859;
10481
956
        goto yy738;
10482
59.3k
      }
10483
61.8k
    }
10484
13.2k
yy918:
10485
13.2k
    YYDEBUG(918, *YYCURSOR);
10486
13.2k
    ++YYCURSOR;
10487
13.2k
    YYFILL(1);
10488
13.2k
    yych = *YYCURSOR;
10489
13.2k
    if (yych <= ')') {
10490
1.53k
      if (yych <= '\n') {
10491
992
        if (yych <= 0x00) goto yy86;
10492
707
        if (yych <= '\t') goto yy738;
10493
232
        goto yy787;
10494
707
      } else {
10495
546
        if (yych == '\r') goto yy787;
10496
470
        goto yy738;
10497
546
      }
10498
11.7k
    } else {
10499
11.7k
      if (yych <= 'T') {
10500
3.78k
        if (yych <= '*') goto yy789;
10501
3.43k
        if (yych <= 'S') goto yy738;
10502
1.92k
        goto yy932;
10503
7.94k
      } else {
10504
7.94k
        if (yych == 't') goto yy932;
10505
1.13k
        goto yy738;
10506
7.94k
      }
10507
11.7k
    }
10508
37.5k
yy919:
10509
37.5k
    YYDEBUG(919, *YYCURSOR);
10510
37.5k
    ++YYCURSOR;
10511
37.5k
    YYFILL(1);
10512
37.5k
    yych = *YYCURSOR;
10513
37.5k
    if (yych <= ')') {
10514
1.07k
      if (yych <= '\n') {
10515
622
        if (yych <= 0x00) goto yy86;
10516
417
        if (yych <= '\t') goto yy738;
10517
201
        goto yy787;
10518
450
      } else {
10519
450
        if (yych == '\r') goto yy787;
10520
221
        goto yy738;
10521
450
      }
10522
36.4k
    } else {
10523
36.4k
      if (yych <= 'P') {
10524
17.9k
        if (yych <= '*') goto yy789;
10525
17.8k
        if (yych <= 'O') goto yy738;
10526
7.70k
        goto yy933;
10527
18.4k
      } else {
10528
18.4k
        if (yych == 'p') goto yy933;
10529
1.21k
        goto yy738;
10530
18.4k
      }
10531
36.4k
    }
10532
3.34k
yy920:
10533
3.34k
    YYDEBUG(920, *YYCURSOR);
10534
3.34k
    ++YYCURSOR;
10535
3.34k
    YYFILL(1);
10536
3.34k
    yych = *YYCURSOR;
10537
3.34k
    if (yych <= 'M') {
10538
942
      if (yych <= 0x00) goto yy86;
10539
873
      if (yych == '*') goto yy668;
10540
667
      goto yy590;
10541
2.40k
    } else {
10542
2.40k
      if (yych <= 'N') goto yy934;
10543
2.16k
      if (yych == 'n') goto yy934;
10544
222
      goto yy590;
10545
2.16k
    }
10546
6.37k
yy921:
10547
6.37k
    YYDEBUG(921, *YYCURSOR);
10548
6.37k
    ++YYCURSOR;
10549
6.37k
    YYFILL(1);
10550
6.37k
    yych = *YYCURSOR;
10551
6.37k
    if (yych <= 'D') {
10552
1.05k
      if (yych <= 0x00) goto yy86;
10553
598
      if (yych == '*') goto yy668;
10554
402
      goto yy590;
10555
5.32k
    } else {
10556
5.32k
      if (yych <= 'E') goto yy935;
10557
3.01k
      if (yych == 'e') goto yy935;
10558
263
      goto yy590;
10559
3.01k
    }
10560
2.25k
yy922:
10561
2.25k
    YYDEBUG(922, *YYCURSOR);
10562
2.25k
    yyaccept = 94;
10563
2.25k
    YYMARKER = ++YYCURSOR;
10564
2.25k
    YYFILL(1);
10565
2.25k
    yych = *YYCURSOR;
10566
2.25k
    if (yych <= '\n') {
10567
1.18k
      if (yych <= 0x00) goto yy886;
10568
971
      if (yych <= '\t') goto yy586;
10569
70
      goto yy495;
10570
1.06k
    } else {
10571
1.06k
      if (yych == '\r') goto yy495;
10572
800
      goto yy586;
10573
1.06k
    }
10574
10.4k
yy923:
10575
10.4k
    YYDEBUG(923, *YYCURSOR);
10576
10.4k
    ++YYCURSOR;
10577
10.4k
    YYFILL(1);
10578
10.4k
    yych = *YYCURSOR;
10579
10.4k
    if (yych <= '\r') {
10580
6.20k
      if (yych <= '\t') {
10581
5.47k
        if (yych <= 0x00) goto yy86;
10582
5.10k
        goto yy586;
10583
5.47k
      } else {
10584
725
        if (yych <= '\n') goto yy495;
10585
436
        if (yych <= '\f') goto yy586;
10586
218
        goto yy495;
10587
436
      }
10588
6.20k
    } else {
10589
4.25k
      if (yych <= 'N') {
10590
1.60k
        if (yych <= 'M') goto yy586;
10591
1.16k
        goto yy936;
10592
2.65k
      } else {
10593
2.65k
        if (yych == 'n') goto yy936;
10594
360
        goto yy586;
10595
2.65k
      }
10596
4.25k
    }
10597
654
yy924:
10598
654
    YYDEBUG(924, *YYCURSOR);
10599
654
    yych = *++YYCURSOR;
10600
654
    if (yych == ')') goto yy937;
10601
226
    goto yy86;
10602
16.3k
yy925:
10603
16.3k
    YYDEBUG(925, *YYCURSOR);
10604
16.3k
    ++YYCURSOR;
10605
16.3k
    YYFILL(1);
10606
16.3k
    yych = *YYCURSOR;
10607
16.3k
    if (yych <= '\f') {
10608
9.92k
      if (yych <= 0x00) goto yy86;
10609
9.71k
      if (yych == '\n') goto yy904;
10610
227
      goto yy808;
10611
9.71k
    } else {
10612
6.44k
      if (yych <= '\r') goto yy904;
10613
5.16k
      if (yych == '*') goto yy848;
10614
4.91k
      goto yy808;
10615
5.16k
    }
10616
33.8k
yy926:
10617
33.8k
    YYDEBUG(926, *YYCURSOR);
10618
33.8k
    ++YYCURSOR;
10619
33.8k
    YYFILL(1);
10620
33.8k
    yych = *YYCURSOR;
10621
33.8k
    if (yych <= '\f') {
10622
683
      if (yych <= 0x00) goto yy86;
10623
463
      if (yych == '\n') goto yy846;
10624
213
      goto yy808;
10625
33.1k
    } else {
10626
33.1k
      if (yych <= '\r') goto yy846;
10627
32.8k
      if (yych == '*') goto yy939;
10628
4.97k
      goto yy808;
10629
32.8k
    }
10630
23.2k
yy927:
10631
23.2k
    YYDEBUG(927, *YYCURSOR);
10632
23.2k
    ++YYCURSOR;
10633
23.2k
    YYFILL(1);
10634
23.2k
    yych = *YYCURSOR;
10635
23.2k
    if (yych <= ')') {
10636
2.01k
      if (yych <= '\n') {
10637
716
        if (yych <= 0x00) goto yy86;
10638
474
        if (yych <= '\t') goto yy808;
10639
241
        goto yy846;
10640
1.29k
      } else {
10641
1.29k
        if (yych == '\r') goto yy846;
10642
505
        goto yy808;
10643
1.29k
      }
10644
21.2k
    } else {
10645
21.2k
      if (yych <= 'R') {
10646
19.3k
        if (yych <= '*') goto yy848;
10647
19.0k
        if (yych <= 'Q') goto yy808;
10648
18.4k
        goto yy940;
10649
19.0k
      } else {
10650
1.88k
        if (yych == 'r') goto yy940;
10651
345
        goto yy808;
10652
1.88k
      }
10653
21.2k
    }
10654
6.46k
yy928:
10655
6.46k
    YYDEBUG(928, *YYCURSOR);
10656
6.46k
    ++YYCURSOR;
10657
6.46k
    YYFILL(1);
10658
6.46k
    yych = *YYCURSOR;
10659
6.46k
    if (yych <= 'L') {
10660
833
      if (yych <= 0x00) goto yy86;
10661
575
      if (yych == '*') goto yy760;
10662
326
      goto yy696;
10663
5.62k
    } else {
10664
5.62k
      if (yych <= 'M') goto yy941;
10665
1.18k
      if (yych == 'm') goto yy941;
10666
276
      goto yy696;
10667
1.18k
    }
10668
3.09k
yy929:
10669
3.09k
    YYDEBUG(929, *YYCURSOR);
10670
3.09k
    yyaccept = 4;
10671
3.09k
    yych = *(YYMARKER = ++YYCURSOR);
10672
3.09k
    if (yych == 'E') goto yy942;
10673
2.70k
    if (yych == 'e') goto yy942;
10674
226
    goto yy48;
10675
2.47k
yy930:
10676
2.47k
    YYDEBUG(930, *YYCURSOR);
10677
2.47k
    yyaccept = 95;
10678
2.47k
    yych = *(YYMARKER = ++YYCURSOR);
10679
2.47k
    if (yybm[256+yych] & 128) {
10680
678
      goto yy47;
10681
678
    }
10682
1.79k
    if (yych == '\\') goto yy164;
10683
1.79k
yy931:
10684
1.79k
    YYDEBUG(931, *YYCURSOR);
10685
1.79k
    yyleng = YYCURSOR - SCNG(yy_text);
10686
1.79k
#line 2284 "Zend/zend_language_scanner.l"
10687
1.79k
    {
10688
1.79k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10689
1.79k
}
10690
0
#line 10691 "Zend/zend_language_scanner.c"
10691
8.73k
yy932:
10692
8.73k
    YYDEBUG(932, *YYCURSOR);
10693
8.73k
    ++YYCURSOR;
10694
8.73k
    YYFILL(1);
10695
8.73k
    yych = *YYCURSOR;
10696
8.73k
    if (yych <= ')') {
10697
1.14k
      if (yych <= '\n') {
10698
739
        if (yych <= 0x00) goto yy86;
10699
651
        if (yych <= '\t') goto yy738;
10700
306
        goto yy787;
10701
651
      } else {
10702
406
        if (yych == '\r') goto yy787;
10703
211
        goto yy738;
10704
406
      }
10705
7.58k
    } else {
10706
7.58k
      if (yych <= 'E') {
10707
1.09k
        if (yych <= '*') goto yy789;
10708
888
        if (yych <= 'D') goto yy738;
10709
633
        goto yy943;
10710
6.49k
      } else {
10711
6.49k
        if (yych == 'e') goto yy943;
10712
803
        goto yy738;
10713
6.49k
      }
10714
7.58k
    }
10715
24.9k
yy933:
10716
24.9k
    YYDEBUG(933, *YYCURSOR);
10717
24.9k
    ++YYCURSOR;
10718
24.9k
    YYFILL(1);
10719
24.9k
    yych = *YYCURSOR;
10720
24.9k
    if (yych <= ')') {
10721
1.22k
      if (yych <= '\n') {
10722
600
        if (yych <= 0x00) goto yy86;
10723
523
        if (yych <= '\t') goto yy738;
10724
222
        goto yy787;
10725
627
      } else {
10726
627
        if (yych == '\r') goto yy787;
10727
375
        goto yy738;
10728
627
      }
10729
23.7k
    } else {
10730
23.7k
      if (yych <= 'L') {
10731
6.78k
        if (yych <= '*') goto yy789;
10732
6.38k
        if (yych <= 'K') goto yy738;
10733
6.14k
        goto yy944;
10734
16.9k
      } else {
10735
16.9k
        if (yych == 'l') goto yy944;
10736
740
        goto yy738;
10737
16.9k
      }
10738
23.7k
    }
10739
2.18k
yy934:
10740
2.18k
    YYDEBUG(934, *YYCURSOR);
10741
2.18k
    ++YYCURSOR;
10742
2.18k
    YYFILL(1);
10743
2.18k
    yych = *YYCURSOR;
10744
2.18k
    if (yych <= 'C') {
10745
719
      if (yych <= 0x00) goto yy86;
10746
385
      if (yych == '*') goto yy668;
10747
304
      goto yy590;
10748
1.46k
    } else {
10749
1.46k
      if (yych <= 'D') goto yy945;
10750
1.25k
      if (yych == 'd') goto yy945;
10751
266
      goto yy590;
10752
1.25k
    }
10753
5.05k
yy935:
10754
5.05k
    YYDEBUG(935, *YYCURSOR);
10755
5.05k
    ++YYCURSOR;
10756
5.05k
    YYFILL(1);
10757
5.05k
    yych = *YYCURSOR;
10758
5.05k
    if (yych <= 'L') {
10759
1.28k
      if (yych <= 0x00) goto yy86;
10760
1.05k
      if (yych == '*') goto yy668;
10761
842
      goto yy590;
10762
3.77k
    } else {
10763
3.77k
      if (yych <= 'M') goto yy946;
10764
1.81k
      if (yych == 'm') goto yy946;
10765
197
      goto yy590;
10766
1.81k
    }
10767
3.45k
yy936:
10768
3.45k
    YYDEBUG(936, *YYCURSOR);
10769
3.45k
    ++YYCURSOR;
10770
3.45k
    YYFILL(1);
10771
3.45k
    yych = *YYCURSOR;
10772
3.45k
    if (yych <= '\r') {
10773
888
      if (yych <= '\t') {
10774
406
        if (yych <= 0x00) goto yy86;
10775
204
        goto yy586;
10776
482
      } else {
10777
482
        if (yych <= '\n') goto yy495;
10778
281
        if (yych <= '\f') goto yy586;
10779
70
        goto yy495;
10780
281
      }
10781
2.57k
    } else {
10782
2.57k
      if (yych <= 'T') {
10783
892
        if (yych <= 'S') goto yy586;
10784
586
        goto yy895;
10785
1.67k
      } else {
10786
1.67k
        if (yych == 't') goto yy895;
10787
232
        goto yy586;
10788
1.67k
      }
10789
2.57k
    }
10790
428
yy937:
10791
428
    YYDEBUG(937, *YYCURSOR);
10792
428
    ++YYCURSOR;
10793
428
    YYDEBUG(938, *YYCURSOR);
10794
428
    yyleng = YYCURSOR - SCNG(yy_text);
10795
428
#line 1789 "Zend/zend_language_scanner.l"
10796
428
    {
10797
428
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10798
428
}
10799
0
#line 10800 "Zend/zend_language_scanner.c"
10800
27.8k
yy939:
10801
27.8k
    YYDEBUG(939, *YYCURSOR);
10802
27.8k
    ++YYCURSOR;
10803
27.8k
    YYFILL(1);
10804
27.8k
    yych = *YYCURSOR;
10805
27.8k
    if (yych <= '\r') {
10806
3.73k
      if (yych <= '\t') {
10807
2.42k
        if (yych <= 0x00) goto yy86;
10808
2.11k
        goto yy808;
10809
2.42k
      } else {
10810
1.31k
        if (yych <= '\n') goto yy846;
10811
555
        if (yych <= '\f') goto yy808;
10812
351
        goto yy846;
10813
555
      }
10814
24.1k
    } else {
10815
24.1k
      if (yych <= '*') {
10816
913
        if (yych <= ')') goto yy808;
10817
482
        goto yy848;
10818
23.2k
      } else {
10819
23.2k
        if (yych == '/') goto yy904;
10820
845
        goto yy808;
10821
23.2k
      }
10822
24.1k
    }
10823
19.9k
yy940:
10824
19.9k
    YYDEBUG(940, *YYCURSOR);
10825
19.9k
    ++YYCURSOR;
10826
19.9k
    YYFILL(1);
10827
19.9k
    yych = *YYCURSOR;
10828
19.9k
    if (yych <= ')') {
10829
2.77k
      if (yych <= '\n') {
10830
1.17k
        if (yych <= 0x00) goto yy86;
10831
812
        if (yych <= '\t') goto yy808;
10832
292
        goto yy846;
10833
1.60k
      } else {
10834
1.60k
        if (yych == '\r') goto yy846;
10835
1.06k
        goto yy808;
10836
1.60k
      }
10837
17.2k
    } else {
10838
17.2k
      if (yych <= 'O') {
10839
15.8k
        if (yych <= '*') goto yy848;
10840
15.4k
        if (yych <= 'N') goto yy808;
10841
15.1k
        goto yy947;
10842
15.4k
      } else {
10843
1.33k
        if (yych == 'o') goto yy947;
10844
550
        goto yy808;
10845
1.33k
      }
10846
17.2k
    }
10847
5.35k
yy941:
10848
5.35k
    YYDEBUG(941, *YYCURSOR);
10849
5.35k
    ++YYCURSOR;
10850
5.35k
    YYFILL(1);
10851
5.35k
    yych = *YYCURSOR;
10852
5.35k
    if (yych <= '@') {
10853
3.54k
      if (yych <= '*') {
10854
2.86k
        if (yych <= 0x00) goto yy875;
10855
2.66k
        if (yych <= ')') goto yy948;
10856
1.42k
        goto yy949;
10857
2.66k
      } else {
10858
688
        if (yych <= '/') goto yy948;
10859
333
        if (yych <= '9') goto yy696;
10860
114
        goto yy948;
10861
333
      }
10862
3.54k
    } else {
10863
1.80k
      if (yych <= '_') {
10864
682
        if (yych <= 'Z') goto yy696;
10865
578
        if (yych <= '^') goto yy948;
10866
111
        goto yy696;
10867
1.12k
      } else {
10868
1.12k
        if (yych <= '`') goto yy948;
10869
902
        if (yych <= 'z') goto yy696;
10870
426
        if (yych <= 0x7F) goto yy948;
10871
286
        goto yy696;
10872
426
      }
10873
1.80k
    }
10874
2.86k
yy942:
10875
2.86k
    YYDEBUG(942, *YYCURSOR);
10876
2.86k
    yyaccept = 4;
10877
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
10878
2.86k
    if (yych == 'R') goto yy950;
10879
2.48k
    if (yych == 'r') goto yy950;
10880
1.72k
    goto yy48;
10881
6.32k
yy943:
10882
6.32k
    YYDEBUG(943, *YYCURSOR);
10883
6.32k
    ++YYCURSOR;
10884
6.32k
    YYFILL(1);
10885
6.32k
    yych = *YYCURSOR;
10886
6.32k
    if (yych <= ')') {
10887
1.87k
      if (yych <= '\n') {
10888
569
        if (yych <= 0x00) goto yy86;
10889
482
        if (yych <= '\t') goto yy738;
10890
230
        goto yy787;
10891
1.30k
      } else {
10892
1.30k
        if (yych == '\r') goto yy787;
10893
983
        goto yy738;
10894
1.30k
      }
10895
4.44k
    } else {
10896
4.44k
      if (yych <= 'N') {
10897
619
        if (yych <= '*') goto yy789;
10898
397
        if (yych <= 'M') goto yy738;
10899
281
        goto yy952;
10900
3.82k
      } else {
10901
3.82k
        if (yych == 'n') goto yy952;
10902
573
        goto yy738;
10903
3.82k
      }
10904
4.44k
    }
10905
22.3k
yy944:
10906
22.3k
    YYDEBUG(944, *YYCURSOR);
10907
22.3k
    ++YYCURSOR;
10908
22.3k
    YYFILL(1);
10909
22.3k
    yych = *YYCURSOR;
10910
22.3k
    if (yych <= ')') {
10911
1.65k
      if (yych <= '\n') {
10912
810
        if (yych <= 0x00) goto yy86;
10913
532
        if (yych <= '\t') goto yy738;
10914
298
        goto yy787;
10915
841
      } else {
10916
841
        if (yych == '\r') goto yy787;
10917
492
        goto yy738;
10918
841
      }
10919
20.7k
    } else {
10920
20.7k
      if (yych <= 'E') {
10921
6.01k
        if (yych <= '*') goto yy789;
10922
5.78k
        if (yych <= 'D') goto yy738;
10923
5.50k
        goto yy953;
10924
14.6k
      } else {
10925
14.6k
        if (yych == 'e') goto yy953;
10926
369
        goto yy738;
10927
14.6k
      }
10928
20.7k
    }
10929
1.71k
yy945:
10930
1.71k
    YYDEBUG(945, *YYCURSOR);
10931
1.71k
    ++YYCURSOR;
10932
1.71k
    YYFILL(1);
10933
1.71k
    yych = *YYCURSOR;
10934
1.71k
    if (yych <= 'R') {
10935
896
      if (yych <= 0x00) goto yy86;
10936
552
      if (yych == '*') goto yy668;
10937
353
      goto yy590;
10938
815
    } else {
10939
815
      if (yych <= 'S') goto yy954;
10940
602
      if (yych == 's') goto yy954;
10941
236
      goto yy590;
10942
602
    }
10943
3.58k
yy946:
10944
3.58k
    YYDEBUG(946, *YYCURSOR);
10945
3.58k
    ++YYCURSOR;
10946
3.58k
    YYFILL(1);
10947
3.58k
    yych = *YYCURSOR;
10948
3.58k
    if (yych <= 'D') {
10949
537
      if (yych <= 0x00) goto yy86;
10950
333
      if (yych == '*') goto yy668;
10951
235
      goto yy590;
10952
3.04k
    } else {
10953
3.04k
      if (yych <= 'E') goto yy955;
10954
2.17k
      if (yych == 'e') goto yy955;
10955
374
      goto yy590;
10956
2.17k
    }
10957
15.9k
yy947:
10958
15.9k
    YYDEBUG(947, *YYCURSOR);
10959
15.9k
    ++YYCURSOR;
10960
15.9k
    YYFILL(1);
10961
15.9k
    yych = *YYCURSOR;
10962
15.9k
    if (yych <= ')') {
10963
1.79k
      if (yych <= '\n') {
10964
1.19k
        if (yych <= 0x00) goto yy86;
10965
887
        if (yych <= '\t') goto yy808;
10966
284
        goto yy846;
10967
887
      } else {
10968
602
        if (yych == '\r') goto yy846;
10969
386
        goto yy808;
10970
602
      }
10971
14.1k
    } else {
10972
14.1k
      if (yych <= 'M') {
10973
12.3k
        if (yych <= '*') goto yy848;
10974
12.1k
        if (yych <= 'L') goto yy808;
10975
11.9k
        goto yy956;
10976
12.1k
      } else {
10977
1.71k
        if (yych == 'm') goto yy956;
10978
324
        goto yy808;
10979
1.71k
      }
10980
14.1k
    }
10981
2.54k
yy948:
10982
2.54k
    YYDEBUG(948, *YYCURSOR);
10983
2.54k
    yyaccept = 91;
10984
2.54k
    YYMARKER = ++YYCURSOR;
10985
2.54k
    YYFILL(1);
10986
2.54k
    yych = *YYCURSOR;
10987
2.54k
    if (yych <= 0x00) goto yy876;
10988
1.49k
    if (yych == '*') goto yy760;
10989
1.42k
    goto yy696;
10990
1.42k
yy949:
10991
1.42k
    YYDEBUG(949, *YYCURSOR);
10992
1.42k
    yyaccept = 91;
10993
1.42k
    YYMARKER = ++YYCURSOR;
10994
1.42k
    YYFILL(1);
10995
1.42k
    yych = *YYCURSOR;
10996
1.42k
    if (yych <= '*') {
10997
741
      if (yych <= 0x00) goto yy876;
10998
539
      if (yych <= ')') goto yy696;
10999
224
      goto yy760;
11000
680
    } else {
11001
680
      if (yych == '/') goto yy616;
11002
275
      goto yy696;
11003
680
    }
11004
1.13k
yy950:
11005
1.13k
    YYDEBUG(950, *YYCURSOR);
11006
1.13k
    yyaccept = 96;
11007
1.13k
    yych = *(YYMARKER = ++YYCURSOR);
11008
1.13k
    if (yybm[256+yych] & 128) {
11009
491
      goto yy47;
11010
491
    }
11011
648
    if (yych == '\\') goto yy164;
11012
629
yy951:
11013
629
    YYDEBUG(951, *YYCURSOR);
11014
629
    yyleng = YYCURSOR - SCNG(yy_text);
11015
629
#line 1761 "Zend/zend_language_scanner.l"
11016
629
    {
11017
629
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11018
629
}
11019
0
#line 11020 "Zend/zend_language_scanner.c"
11020
3.53k
yy952:
11021
3.53k
    YYDEBUG(952, *YYCURSOR);
11022
3.53k
    ++YYCURSOR;
11023
3.53k
    YYFILL(1);
11024
3.53k
    yych = *YYCURSOR;
11025
3.53k
    if (yych <= ')') {
11026
748
      if (yych <= '\n') {
11027
427
        if (yych <= 0x00) goto yy86;
11028
359
        if (yych <= '\t') goto yy738;
11029
44
        goto yy787;
11030
359
      } else {
11031
321
        if (yych == '\r') goto yy787;
11032
113
        goto yy738;
11033
321
      }
11034
2.78k
    } else {
11035
2.78k
      if (yych <= 'D') {
11036
292
        if (yych <= '*') goto yy789;
11037
205
        if (yych <= 'C') goto yy738;
11038
129
        goto yy957;
11039
2.49k
      } else {
11040
2.49k
        if (yych == 'd') goto yy957;
11041
519
        goto yy738;
11042
2.49k
      }
11043
2.78k
    }
11044
19.8k
yy953:
11045
19.8k
    YYDEBUG(953, *YYCURSOR);
11046
19.8k
    ++YYCURSOR;
11047
19.8k
    YYFILL(1);
11048
19.8k
    yych = *YYCURSOR;
11049
19.8k
    if (yych <= ')') {
11050
7.37k
      if (yych <= '\n') {
11051
5.31k
        if (yych <= 0x00) goto yy86;
11052
5.02k
        if (yych <= '\t') goto yy738;
11053
4.81k
        goto yy787;
11054
5.02k
      } else {
11055
2.05k
        if (yych == '\r') goto yy787;
11056
1.71k
        goto yy738;
11057
2.05k
      }
11058
12.4k
    } else {
11059
12.4k
      if (yych <= 'M') {
11060
9.37k
        if (yych <= '*') goto yy789;
11061
8.61k
        if (yych <= 'L') goto yy738;
11062
7.54k
        goto yy958;
11063
8.61k
      } else {
11064
3.08k
        if (yych == 'm') goto yy958;
11065
252
        goto yy738;
11066
3.08k
      }
11067
12.4k
    }
11068
579
yy954:
11069
579
    YYDEBUG(954, *YYCURSOR);
11070
579
    yyaccept = 94;
11071
579
    YYMARKER = ++YYCURSOR;
11072
579
    YYFILL(1);
11073
579
    yych = *YYCURSOR;
11074
579
    if (yych <= 0x00) goto yy886;
11075
367
    if (yych == '*') goto yy668;
11076
278
    goto yy590;
11077
2.66k
yy955:
11078
2.66k
    YYDEBUG(955, *YYCURSOR);
11079
2.66k
    ++YYCURSOR;
11080
2.66k
    YYFILL(1);
11081
2.66k
    yych = *YYCURSOR;
11082
2.66k
    if (yych <= 'M') {
11083
771
      if (yych <= 0x00) goto yy86;
11084
508
      if (yych == '*') goto yy668;
11085
270
      goto yy590;
11086
1.89k
    } else {
11087
1.89k
      if (yych <= 'N') goto yy959;
11088
1.31k
      if (yych == 'n') goto yy959;
11089
289
      goto yy590;
11090
1.31k
    }
11091
13.3k
yy956:
11092
13.3k
    YYDEBUG(956, *YYCURSOR);
11093
13.3k
    ++YYCURSOR;
11094
13.3k
    YYFILL(1);
11095
13.3k
    yych = *YYCURSOR;
11096
13.3k
    if (yych <= '/') {
11097
8.86k
      if (yych <= '\f') {
11098
3.94k
        if (yych <= 0x00) goto yy875;
11099
3.65k
        if (yych == '\n') goto yy961;
11100
720
        goto yy960;
11101
4.91k
      } else {
11102
4.91k
        if (yych <= '\r') goto yy961;
11103
3.39k
        if (yych == '*') goto yy962;
11104
830
        goto yy960;
11105
3.39k
      }
11106
8.86k
    } else {
11107
4.48k
      if (yych <= '^') {
11108
2.69k
        if (yych <= '9') goto yy808;
11109
2.49k
        if (yych <= '@') goto yy960;
11110
2.32k
        if (yych <= 'Z') goto yy808;
11111
2.04k
        goto yy960;
11112
2.32k
      } else {
11113
1.78k
        if (yych <= '`') {
11114
821
          if (yych <= '_') goto yy808;
11115
496
          goto yy960;
11116
965
        } else {
11117
965
          if (yych <= 'z') goto yy808;
11118
633
          if (yych <= 0x7F) goto yy960;
11119
230
          goto yy808;
11120
633
        }
11121
1.78k
      }
11122
4.48k
    }
11123
3.17k
yy957:
11124
3.17k
    YYDEBUG(957, *YYCURSOR);
11125
3.17k
    ++YYCURSOR;
11126
3.17k
    YYFILL(1);
11127
3.17k
    yych = *YYCURSOR;
11128
3.17k
    if (yych <= ')') {
11129
1.10k
      if (yych <= '\n') {
11130
574
        if (yych <= 0x00) goto yy86;
11131
358
        if (yych <= '\t') goto yy738;
11132
83
        goto yy787;
11133
528
      } else {
11134
528
        if (yych == '\r') goto yy787;
11135
231
        goto yy738;
11136
528
      }
11137
2.07k
    } else {
11138
2.07k
      if (yych <= 'S') {
11139
1.06k
        if (yych <= '*') goto yy789;
11140
854
        if (yych <= 'R') goto yy738;
11141
658
        goto yy963;
11142
1.00k
      } else {
11143
1.00k
        if (yych == 's') goto yy963;
11144
277
        goto yy738;
11145
1.00k
      }
11146
2.07k
    }
11147
10.3k
yy958:
11148
10.3k
    YYDEBUG(958, *YYCURSOR);
11149
10.3k
    ++YYCURSOR;
11150
10.3k
    YYFILL(1);
11151
10.3k
    yych = *YYCURSOR;
11152
10.3k
    if (yych <= ')') {
11153
1.69k
      if (yych <= '\n') {
11154
1.19k
        if (yych <= 0x00) goto yy86;
11155
928
        if (yych <= '\t') goto yy738;
11156
693
        goto yy787;
11157
928
      } else {
11158
501
        if (yych == '\r') goto yy787;
11159
422
        goto yy738;
11160
501
      }
11161
8.68k
    } else {
11162
8.68k
      if (yych <= 'E') {
11163
3.74k
        if (yych <= '*') goto yy789;
11164
3.51k
        if (yych <= 'D') goto yy738;
11165
3.30k
        goto yy964;
11166
4.94k
      } else {
11167
4.94k
        if (yych == 'e') goto yy964;
11168
508
        goto yy738;
11169
4.94k
      }
11170
8.68k
    }
11171
1.60k
yy959:
11172
1.60k
    YYDEBUG(959, *YYCURSOR);
11173
1.60k
    ++YYCURSOR;
11174
1.60k
    YYFILL(1);
11175
1.60k
    yych = *YYCURSOR;
11176
1.60k
    if (yych <= 'S') {
11177
579
      if (yych <= 0x00) goto yy86;
11178
378
      if (yych == '*') goto yy668;
11179
159
      goto yy590;
11180
1.03k
    } else {
11181
1.03k
      if (yych <= 'T') goto yy945;
11182
747
      if (yych == 't') goto yy945;
11183
515
      goto yy590;
11184
747
    }
11185
4.66k
yy960:
11186
4.66k
    YYDEBUG(960, *YYCURSOR);
11187
4.66k
    yyaccept = 91;
11188
4.66k
    YYMARKER = ++YYCURSOR;
11189
4.66k
    YYFILL(1);
11190
4.66k
    yych = *YYCURSOR;
11191
4.66k
    if (yych <= '\f') {
11192
1.99k
      if (yych <= 0x00) goto yy876;
11193
1.15k
      if (yych == '\n') goto yy846;
11194
735
      goto yy808;
11195
2.66k
    } else {
11196
2.66k
      if (yych <= '\r') goto yy846;
11197
2.45k
      if (yych == '*') goto yy848;
11198
2.21k
      goto yy808;
11199
2.45k
    }
11200
4.45k
yy961:
11201
4.45k
    YYDEBUG(961, *YYCURSOR);
11202
4.45k
    yyaccept = 91;
11203
4.45k
    YYMARKER = ++YYCURSOR;
11204
4.45k
    YYFILL(1);
11205
4.45k
    yych = *YYCURSOR;
11206
4.45k
    if (yych <= '#') {
11207
2.53k
      if (yych <= '\f') {
11208
1.25k
        if (yych <= 0x00) goto yy876;
11209
963
        if (yych <= 0x08) goto yy696;
11210
751
        if (yych <= '\n') goto yy846;
11211
293
        goto yy696;
11212
1.27k
      } else {
11213
1.27k
        if (yych <= 0x1F) {
11214
398
          if (yych <= '\r') goto yy846;
11215
97
          goto yy696;
11216
879
        } else {
11217
879
          if (yych <= ' ') goto yy846;
11218
658
          if (yych <= '"') goto yy696;
11219
460
          goto yy877;
11220
658
        }
11221
1.27k
      }
11222
2.53k
    } else {
11223
1.92k
      if (yych <= '/') {
11224
727
        if (yych == '*') goto yy760;
11225
520
        if (yych <= '.') goto yy696;
11226
205
        goto yy878;
11227
1.19k
      } else {
11228
1.19k
        if (yych <= 'F') {
11229
573
          if (yych <= 'E') goto yy696;
11230
292
          goto yy879;
11231
622
        } else {
11232
622
          if (yych == 'f') goto yy879;
11233
225
          goto yy696;
11234
622
        }
11235
1.19k
      }
11236
1.92k
    }
11237
2.56k
yy962:
11238
2.56k
    YYDEBUG(962, *YYCURSOR);
11239
2.56k
    yyaccept = 91;
11240
2.56k
    YYMARKER = ++YYCURSOR;
11241
2.56k
    YYFILL(1);
11242
2.56k
    yych = *YYCURSOR;
11243
2.56k
    if (yych <= '\r') {
11244
1.29k
      if (yych <= '\t') {
11245
137
        if (yych <= 0x00) goto yy876;
11246
66
        goto yy808;
11247
1.15k
      } else {
11248
1.15k
        if (yych <= '\n') goto yy846;
11249
955
        if (yych <= '\f') goto yy808;
11250
210
        goto yy846;
11251
955
      }
11252
1.29k
    } else {
11253
1.26k
      if (yych <= '*') {
11254
777
        if (yych <= ')') goto yy808;
11255
43
        goto yy848;
11256
777
      } else {
11257
489
        if (yych == '/') goto yy694;
11258
285
        goto yy808;
11259
489
      }
11260
1.26k
    }
11261
1.38k
yy963:
11262
1.38k
    YYDEBUG(963, *YYCURSOR);
11263
1.38k
    yyaccept = 94;
11264
1.38k
    YYMARKER = ++YYCURSOR;
11265
1.38k
    YYFILL(1);
11266
1.38k
    yych = *YYCURSOR;
11267
1.38k
    if (yych <= '\f') {
11268
745
      if (yych <= 0x00) goto yy886;
11269
541
      if (yych == '\n') goto yy787;
11270
302
      goto yy738;
11271
643
    } else {
11272
643
      if (yych <= '\r') goto yy787;
11273
448
      if (yych == '*') goto yy789;
11274
210
      goto yy738;
11275
448
    }
11276
7.74k
yy964:
11277
7.74k
    YYDEBUG(964, *YYCURSOR);
11278
7.74k
    ++YYCURSOR;
11279
7.74k
    YYFILL(1);
11280
7.74k
    yych = *YYCURSOR;
11281
7.74k
    if (yych <= ')') {
11282
3.16k
      if (yych <= '\n') {
11283
2.85k
        if (yych <= 0x00) goto yy86;
11284
2.76k
        if (yych <= '\t') goto yy738;
11285
214
        goto yy787;
11286
2.76k
      } else {
11287
310
        if (yych == '\r') goto yy787;
11288
239
        goto yy738;
11289
310
      }
11290
4.57k
    } else {
11291
4.57k
      if (yych <= 'N') {
11292
2.50k
        if (yych <= '*') goto yy789;
11293
2.29k
        if (yych <= 'M') goto yy738;
11294
2.29k
      } else {
11295
2.07k
        if (yych != 'n') goto yy738;
11296
2.07k
      }
11297
4.57k
    }
11298
3.44k
    YYDEBUG(965, *YYCURSOR);
11299
3.44k
    ++YYCURSOR;
11300
3.44k
    YYFILL(1);
11301
3.44k
    yych = *YYCURSOR;
11302
3.44k
    if (yych <= ')') {
11303
1.39k
      if (yych <= '\n') {
11304
817
        if (yych <= 0x00) goto yy86;
11305
511
        if (yych <= '\t') goto yy738;
11306
286
        goto yy787;
11307
581
      } else {
11308
581
        if (yych == '\r') goto yy787;
11309
326
        goto yy738;
11310
581
      }
11311
2.04k
    } else {
11312
2.04k
      if (yych <= 'T') {
11313
1.00k
        if (yych <= '*') goto yy789;
11314
670
        if (yych <= 'S') goto yy738;
11315
386
        goto yy957;
11316
1.03k
      } else {
11317
1.03k
        if (yych == 't') goto yy957;
11318
356
        goto yy738;
11319
1.03k
      }
11320
2.04k
    }
11321
3.44k
  }
11322
/* *********************************** */
11323
438k
yyc_ST_LOOKING_FOR_PROPERTY:
11324
438k
  {
11325
438k
    static const unsigned char yybm[] = {
11326
438k
        0,   0,   0,   0,   0,   0,   0,   0, 
11327
438k
        0,  64,  64,   0,   0,  64,   0,   0, 
11328
438k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
438k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
438k
       64,   0,   0,   0,   0,   0,   0,   0, 
11331
438k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11333
438k
      128, 128,   0,   0,   0,   0,   0,   0, 
11334
438k
        0, 128, 128, 128, 128, 128, 128, 128, 
11335
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11336
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
438k
      128, 128, 128,   0,   0,   0,   0, 128, 
11338
438k
        0, 128, 128, 128, 128, 128, 128, 128, 
11339
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11340
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
438k
      128, 128, 128,   0,   0,   0,   0,   0, 
11342
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
438k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
438k
    };
11359
438k
    YYDEBUG(966, *YYCURSOR);
11360
438k
    YYFILL(4);
11361
438k
    yych = *YYCURSOR;
11362
438k
    if (yybm[0+yych] & 64) {
11363
4.91k
      goto yy970;
11364
4.91k
    }
11365
433k
    if (yych <= '?') {
11366
152k
      if (yych <= '-') {
11367
46.3k
        if (yych == '#') goto yy973;
11368
42.4k
        if (yych >= '-') goto yy975;
11369
105k
      } else {
11370
105k
        if (yych == '/') goto yy976;
11371
100k
        if (yych >= '?') goto yy977;
11372
100k
      }
11373
281k
    } else {
11374
281k
      if (yych <= '_') {
11375
34.3k
        if (yych <= '@') goto yy968;
11376
33.7k
        if (yych <= 'Z') goto yy978;
11377
18.7k
        if (yych >= '_') goto yy978;
11378
247k
      } else {
11379
247k
        if (yych <= '`') goto yy968;
11380
246k
        if (yych <= 'z') goto yy978;
11381
17.0k
        if (yych >= 0x80) goto yy978;
11382
17.0k
      }
11383
281k
    }
11384
24.4k
yy968:
11385
24.4k
    YYDEBUG(968, *YYCURSOR);
11386
24.4k
    ++YYCURSOR;
11387
26.3k
yy969:
11388
26.3k
    YYDEBUG(969, *YYCURSOR);
11389
26.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11390
26.3k
#line 2519 "Zend/zend_language_scanner.l"
11391
26.3k
    {
11392
26.3k
  yyless(0);
11393
26.3k
  yy_pop_state();
11394
26.3k
  goto restart;
11395
24.4k
}
11396
0
#line 11397 "Zend/zend_language_scanner.c"
11397
6.88k
yy970:
11398
6.88k
    YYDEBUG(970, *YYCURSOR);
11399
6.88k
    ++YYCURSOR;
11400
6.88k
    YYFILL(1);
11401
6.88k
    yych = *YYCURSOR;
11402
6.88k
    YYDEBUG(971, *YYCURSOR);
11403
6.88k
    if (yybm[0+yych] & 64) {
11404
1.96k
      goto yy970;
11405
1.96k
    }
11406
4.91k
    YYDEBUG(972, *YYCURSOR);
11407
4.91k
    yyleng = YYCURSOR - SCNG(yy_text);
11408
4.91k
#line 1596 "Zend/zend_language_scanner.l"
11409
4.91k
    {
11410
4.91k
  goto return_whitespace;
11411
6.88k
}
11412
0
#line 11413 "Zend/zend_language_scanner.c"
11413
4.88k
yy973:
11414
4.88k
    YYDEBUG(973, *YYCURSOR);
11415
4.88k
    ++YYCURSOR;
11416
4.88k
    YYDEBUG(974, *YYCURSOR);
11417
4.88k
    yyleng = YYCURSOR - SCNG(yy_text);
11418
4.88k
#line 2459 "Zend/zend_language_scanner.l"
11419
4.88k
    {
11420
112k
  while (YYCURSOR < YYLIMIT) {
11421
110k
    switch (*YYCURSOR++) {
11422
777
      case '\r':
11423
3.29k
      case '\n':
11424
3.29k
        YYCURSOR--;
11425
3.29k
        break;
11426
1.45k
      case '?':
11427
1.45k
        if (*YYCURSOR == '>') {
11428
368
          YYCURSOR--;
11429
368
          break;
11430
368
        }
11431
1.09k
        ZEND_FALLTHROUGH;
11432
107k
      default:
11433
107k
        continue;
11434
110k
    }
11435
11436
3.65k
    break;
11437
110k
  }
11438
11439
4.88k
  yyleng = YYCURSOR - SCNG(yy_text);
11440
4.88k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11441
4.88k
}
11442
0
#line 11443 "Zend/zend_language_scanner.c"
11443
33.7k
yy975:
11444
33.7k
    YYDEBUG(975, *YYCURSOR);
11445
33.7k
    yych = *++YYCURSOR;
11446
33.7k
    if (yych == '>') goto yy981;
11447
505
    goto yy969;
11448
5.42k
yy976:
11449
5.42k
    YYDEBUG(976, *YYCURSOR);
11450
5.42k
    yych = *++YYCURSOR;
11451
5.42k
    if (yych == '*') goto yy983;
11452
1.43k
    if (yych == '/') goto yy973;
11453
455
    goto yy969;
11454
98.4k
yy977:
11455
98.4k
    YYDEBUG(977, *YYCURSOR);
11456
98.4k
    yyaccept = 0;
11457
98.4k
    yych = *(YYMARKER = ++YYCURSOR);
11458
98.4k
    if (yych == '-') goto yy985;
11459
634
    goto yy969;
11460
1.12M
yy978:
11461
1.12M
    YYDEBUG(978, *YYCURSOR);
11462
1.12M
    ++YYCURSOR;
11463
1.12M
    YYFILL(1);
11464
1.12M
    yych = *YYCURSOR;
11465
1.12M
    YYDEBUG(979, *YYCURSOR);
11466
1.12M
    if (yybm[0+yych] & 128) {
11467
858k
      goto yy978;
11468
858k
    }
11469
267k
    YYDEBUG(980, *YYCURSOR);
11470
267k
    yyleng = YYCURSOR - SCNG(yy_text);
11471
267k
#line 1608 "Zend/zend_language_scanner.l"
11472
267k
    {
11473
267k
  yy_pop_state();
11474
267k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11475
267k
}
11476
0
#line 11477 "Zend/zend_language_scanner.c"
11477
33.2k
yy981:
11478
33.2k
    YYDEBUG(981, *YYCURSOR);
11479
33.2k
    ++YYCURSOR;
11480
33.2k
    YYDEBUG(982, *YYCURSOR);
11481
33.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11482
33.2k
#line 1600 "Zend/zend_language_scanner.l"
11483
33.2k
    {
11484
33.2k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11485
33.2k
}
11486
0
#line 11487 "Zend/zend_language_scanner.c"
11487
3.98k
yy983:
11488
3.98k
    YYDEBUG(983, *YYCURSOR);
11489
3.98k
    yyaccept = 1;
11490
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
11491
3.98k
    if (yych == '*') goto yy987;
11492
3.98k
yy984:
11493
3.98k
    YYDEBUG(984, *YYCURSOR);
11494
3.98k
    yyleng = YYCURSOR - SCNG(yy_text);
11495
3.98k
#line 2483 "Zend/zend_language_scanner.l"
11496
3.98k
    {
11497
3.98k
  int doc_com;
11498
11499
3.98k
  if (yyleng > 2) {
11500
1.80k
    doc_com = 1;
11501
1.80k
    RESET_DOC_COMMENT();
11502
2.17k
  } else {
11503
2.17k
    doc_com = 0;
11504
2.17k
  }
11505
11506
311k
  while (YYCURSOR < YYLIMIT) {
11507
309k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11508
2.55k
      break;
11509
2.55k
    }
11510
309k
  }
11511
11512
3.98k
  if (YYCURSOR < YYLIMIT) {
11513
2.55k
    YYCURSOR++;
11514
2.55k
  } else {
11515
1.42k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
11516
1.42k
    if (PARSER_MODE()) {
11517
88
      RETURN_TOKEN(T_ERROR);
11518
88
    }
11519
1.42k
  }
11520
11521
3.89k
  yyleng = YYCURSOR - SCNG(yy_text);
11522
3.89k
  HANDLE_NEWLINES(yytext, yyleng);
11523
11524
3.89k
  if (doc_com) {
11525
1.76k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11526
1.76k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11527
1.76k
  }
11528
11529
2.13k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11530
2.13k
}
11531
0
#line 11532 "Zend/zend_language_scanner.c"
11532
97.8k
yy985:
11533
97.8k
    YYDEBUG(985, *YYCURSOR);
11534
97.8k
    yych = *++YYCURSOR;
11535
97.8k
    if (yych == '>') goto yy988;
11536
1.49k
yy986:
11537
1.49k
    YYDEBUG(986, *YYCURSOR);
11538
1.49k
    YYCURSOR = YYMARKER;
11539
1.49k
    if (yyaccept == 0) {
11540
213
      goto yy969;
11541
1.27k
    } else {
11542
1.27k
      goto yy984;
11543
1.27k
    }
11544
3.08k
yy987:
11545
3.08k
    YYDEBUG(987, *YYCURSOR);
11546
3.08k
    yych = *++YYCURSOR;
11547
3.08k
    if (yych <= '\f') {
11548
1.91k
      if (yych <= 0x08) goto yy986;
11549
1.10k
      if (yych <= '\n') goto yy990;
11550
81
      goto yy986;
11551
1.16k
    } else {
11552
1.16k
      if (yych <= '\r') goto yy990;
11553
931
      if (yych == ' ') goto yy990;
11554
382
      goto yy986;
11555
931
    }
11556
97.5k
yy988:
11557
97.5k
    YYDEBUG(988, *YYCURSOR);
11558
97.5k
    ++YYCURSOR;
11559
97.5k
    YYDEBUG(989, *YYCURSOR);
11560
97.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11561
97.5k
#line 1604 "Zend/zend_language_scanner.l"
11562
97.5k
    {
11563
97.5k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11564
97.5k
}
11565
0
#line 11566 "Zend/zend_language_scanner.c"
11566
3.93k
yy990:
11567
3.93k
    YYDEBUG(990, *YYCURSOR);
11568
3.93k
    ++YYCURSOR;
11569
3.93k
    YYFILL(1);
11570
3.93k
    yych = *YYCURSOR;
11571
3.93k
    YYDEBUG(991, *YYCURSOR);
11572
3.93k
    if (yych <= '\f') {
11573
1.18k
      if (yych <= 0x08) goto yy984;
11574
890
      if (yych <= '\n') goto yy990;
11575
569
      goto yy984;
11576
2.75k
    } else {
11577
2.75k
      if (yych <= '\r') goto yy990;
11578
2.52k
      if (yych == ' ') goto yy990;
11579
941
      goto yy984;
11580
2.52k
    }
11581
3.93k
  }
11582
/* *********************************** */
11583
245k
yyc_ST_BACKQUOTE:
11584
245k
  {
11585
245k
    static const unsigned char yybm[] = {
11586
245k
        0,   0,   0,   0,   0,   0,   0,   0, 
11587
245k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
245k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
245k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
245k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
245k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11593
245k
      128, 128,   0,   0,   0,   0,   0,   0, 
11594
245k
        0, 128, 128, 128, 128, 128, 128, 128, 
11595
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11596
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
245k
      128, 128, 128,   0,   0,   0,   0, 128, 
11598
245k
        0, 128, 128, 128, 128, 128, 128, 128, 
11599
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11600
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
245k
      128, 128, 128,   0,   0,   0,   0,   0, 
11602
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
245k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
245k
    };
11619
245k
    YYDEBUG(992, *YYCURSOR);
11620
245k
    YYFILL(2);
11621
245k
    yych = *YYCURSOR;
11622
245k
    if (yych <= '_') {
11623
190k
      if (yych == '$') goto yy996;
11624
190k
    } else {
11625
54.9k
      if (yych <= '`') goto yy997;
11626
18.2k
      if (yych == '{') goto yy999;
11627
18.2k
    }
11628
103k
    YYDEBUG(994, *YYCURSOR);
11629
103k
    ++YYCURSOR;
11630
111k
yy995:
11631
111k
    YYDEBUG(995, *YYCURSOR);
11632
111k
    yyleng = YYCURSOR - SCNG(yy_text);
11633
111k
#line 2917 "Zend/zend_language_scanner.l"
11634
111k
    {
11635
111k
  if (YYCURSOR > YYLIMIT) {
11636
6.96k
    RETURN_END_TOKEN;
11637
6.96k
  }
11638
104k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11639
2.66k
    YYCURSOR++;
11640
2.66k
  }
11641
11642
4.00M
  while (YYCURSOR < YYLIMIT) {
11643
3.99M
    switch (*YYCURSOR++) {
11644
15.7k
      case '`':
11645
15.7k
        break;
11646
102k
      case '$':
11647
102k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11648
80.8k
          break;
11649
80.8k
        }
11650
21.6k
        continue;
11651
21.6k
      case '{':
11652
21.0k
        if (*YYCURSOR == '$') {
11653
1.23k
          break;
11654
1.23k
        }
11655
19.7k
        continue;
11656
33.9k
      case '\\':
11657
33.9k
        if (YYCURSOR < YYLIMIT) {
11658
33.2k
          YYCURSOR++;
11659
33.2k
        }
11660
33.9k
        ZEND_FALLTHROUGH;
11661
3.85M
      default:
11662
3.85M
        continue;
11663
3.99M
    }
11664
11665
97.8k
    YYCURSOR--;
11666
97.8k
    break;
11667
3.99M
  }
11668
11669
104k
  yyleng = YYCURSOR - SCNG(yy_text);
11670
11671
104k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11672
104k
   || !PARSER_MODE()) {
11673
104k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11674
104k
  } else {
11675
7
    RETURN_TOKEN(T_ERROR);
11676
7
  }
11677
104k
}
11678
0
#line 11679 "Zend/zend_language_scanner.c"
11679
102k
yy996:
11680
102k
    YYDEBUG(996, *YYCURSOR);
11681
102k
    yych = *++YYCURSOR;
11682
102k
    if (yych <= '_') {
11683
14.9k
      if (yych <= '@') goto yy995;
11684
12.3k
      if (yych <= 'Z') goto yy1000;
11685
7.51k
      if (yych <= '^') goto yy995;
11686
4.71k
      goto yy1000;
11687
87.4k
    } else {
11688
87.4k
      if (yych <= 'z') {
11689
48.6k
        if (yych <= '`') goto yy995;
11690
48.2k
        goto yy1000;
11691
48.6k
      } else {
11692
38.7k
        if (yych <= '{') goto yy1003;
11693
13.0k
        if (yych <= 0x7F) goto yy995;
11694
12.7k
        goto yy1000;
11695
13.0k
      }
11696
87.4k
    }
11697
36.7k
yy997:
11698
36.7k
    YYDEBUG(997, *YYCURSOR);
11699
36.7k
    ++YYCURSOR;
11700
36.7k
    YYDEBUG(998, *YYCURSOR);
11701
36.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11702
36.7k
#line 2857 "Zend/zend_language_scanner.l"
11703
36.7k
    {
11704
36.7k
  BEGIN(ST_IN_SCRIPTING);
11705
36.7k
  RETURN_TOKEN('`');
11706
36.7k
}
11707
0
#line 11708 "Zend/zend_language_scanner.c"
11708
3.19k
yy999:
11709
3.19k
    YYDEBUG(999, *YYCURSOR);
11710
3.19k
    yych = *++YYCURSOR;
11711
3.19k
    if (yych == '$') goto yy1005;
11712
1.78k
    goto yy995;
11713
219k
yy1000:
11714
219k
    YYDEBUG(1000, *YYCURSOR);
11715
219k
    YYMARKER = ++YYCURSOR;
11716
219k
    YYFILL(4);
11717
219k
    yych = *YYCURSOR;
11718
219k
    YYDEBUG(1001, *YYCURSOR);
11719
219k
    if (yybm[0+yych] & 128) {
11720
148k
      goto yy1000;
11721
148k
    }
11722
70.5k
    if (yych <= '>') {
11723
37.2k
      if (yych == '-') goto yy1007;
11724
37.2k
    } else {
11725
33.3k
      if (yych <= '?') goto yy1009;
11726
8.98k
      if (yych <= '@') goto yy1002;
11727
8.64k
      if (yych <= '[') goto yy1010;
11728
8.64k
    }
11729
53.9k
yy1002:
11730
53.9k
    YYDEBUG(1002, *YYCURSOR);
11731
53.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11732
53.9k
#line 2416 "Zend/zend_language_scanner.l"
11733
53.9k
    {
11734
53.9k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11735
53.9k
}
11736
0
#line 11737 "Zend/zend_language_scanner.c"
11737
25.6k
yy1003:
11738
25.6k
    YYDEBUG(1003, *YYCURSOR);
11739
25.6k
    ++YYCURSOR;
11740
25.6k
    YYDEBUG(1004, *YYCURSOR);
11741
25.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11742
25.6k
#line 1980 "Zend/zend_language_scanner.l"
11743
25.6k
    {
11744
25.6k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11745
25.6k
  enter_nesting('{');
11746
25.6k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11747
25.6k
}
11748
0
#line 11749 "Zend/zend_language_scanner.c"
11749
1.40k
yy1005:
11750
1.40k
    YYDEBUG(1005, *YYCURSOR);
11751
1.40k
    ++YYCURSOR;
11752
1.40k
    YYDEBUG(1006, *YYCURSOR);
11753
1.40k
    yyleng = YYCURSOR - SCNG(yy_text);
11754
1.40k
#line 2844 "Zend/zend_language_scanner.l"
11755
1.40k
    {
11756
1.40k
  yy_push_state(ST_IN_SCRIPTING);
11757
1.40k
  yyless(1);
11758
1.40k
  enter_nesting('{');
11759
1.40k
  RETURN_TOKEN(T_CURLY_OPEN);
11760
1.40k
}
11761
0
#line 11762 "Zend/zend_language_scanner.c"
11762
6.90k
yy1007:
11763
6.90k
    YYDEBUG(1007, *YYCURSOR);
11764
6.90k
    yych = *++YYCURSOR;
11765
6.90k
    if (yych == '>') goto yy1012;
11766
17.5k
yy1008:
11767
17.5k
    YYDEBUG(1008, *YYCURSOR);
11768
17.5k
    YYCURSOR = YYMARKER;
11769
17.5k
    goto yy1002;
11770
24.3k
yy1009:
11771
24.3k
    YYDEBUG(1009, *YYCURSOR);
11772
24.3k
    yych = *++YYCURSOR;
11773
24.3k
    if (yych == '-') goto yy1013;
11774
10.6k
    goto yy1008;
11775
10.6k
yy1010:
11776
2.97k
    YYDEBUG(1010, *YYCURSOR);
11777
2.97k
    ++YYCURSOR;
11778
2.97k
    YYDEBUG(1011, *YYCURSOR);
11779
2.97k
    yyleng = YYCURSOR - SCNG(yy_text);
11780
2.97k
#line 2410 "Zend/zend_language_scanner.l"
11781
2.97k
    {
11782
2.97k
  yyless(yyleng - 1);
11783
2.97k
  yy_push_state(ST_VAR_OFFSET);
11784
2.97k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11785
2.97k
}
11786
0
#line 11787 "Zend/zend_language_scanner.c"
11787
5.11k
yy1012:
11788
5.11k
    YYDEBUG(1012, *YYCURSOR);
11789
5.11k
    yych = *++YYCURSOR;
11790
5.11k
    if (yych <= '_') {
11791
1.56k
      if (yych <= '@') goto yy1008;
11792
921
      if (yych <= 'Z') goto yy1014;
11793
520
      if (yych <= '^') goto yy1008;
11794
261
      goto yy1014;
11795
3.55k
    } else {
11796
3.55k
      if (yych <= '`') goto yy1008;
11797
2.95k
      if (yych <= 'z') goto yy1014;
11798
1.38k
      if (yych <= 0x7F) goto yy1008;
11799
767
      goto yy1014;
11800
1.38k
    }
11801
13.6k
yy1013:
11802
13.6k
    YYDEBUG(1013, *YYCURSOR);
11803
13.6k
    yych = *++YYCURSOR;
11804
13.6k
    if (yych == '>') goto yy1016;
11805
1.25k
    goto yy1008;
11806
2.99k
yy1014:
11807
2.99k
    YYDEBUG(1014, *YYCURSOR);
11808
2.99k
    ++YYCURSOR;
11809
2.99k
    YYDEBUG(1015, *YYCURSOR);
11810
2.99k
    yyleng = YYCURSOR - SCNG(yy_text);
11811
2.99k
#line 2396 "Zend/zend_language_scanner.l"
11812
2.99k
    {
11813
2.99k
  yyless(yyleng - 3);
11814
2.99k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11815
2.99k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11816
2.99k
}
11817
0
#line 11818 "Zend/zend_language_scanner.c"
11818
12.3k
yy1016:
11819
12.3k
    YYDEBUG(1016, *YYCURSOR);
11820
12.3k
    yych = *++YYCURSOR;
11821
12.3k
    if (yych <= '_') {
11822
4.10k
      if (yych <= '@') goto yy1008;
11823
3.39k
      if (yych <= 'Z') goto yy1017;
11824
2.95k
      if (yych <= '^') goto yy1008;
11825
8.29k
    } else {
11826
8.29k
      if (yych <= '`') goto yy1008;
11827
8.03k
      if (yych <= 'z') goto yy1017;
11828
1.10k
      if (yych <= 0x7F) goto yy1008;
11829
1.10k
    }
11830
10.6k
yy1017:
11831
10.6k
    YYDEBUG(1017, *YYCURSOR);
11832
10.6k
    ++YYCURSOR;
11833
10.6k
    YYDEBUG(1018, *YYCURSOR);
11834
10.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11835
10.6k
#line 2402 "Zend/zend_language_scanner.l"
11836
10.6k
    {
11837
10.6k
  yyless(yyleng - 4);
11838
10.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11839
10.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11840
10.6k
}
11841
10.6k
#line 11842 "Zend/zend_language_scanner.c"
11842
10.6k
  }
11843
/* *********************************** */
11844
884k
yyc_ST_DOUBLE_QUOTES:
11845
884k
  {
11846
884k
    static const unsigned char yybm[] = {
11847
884k
        0,   0,   0,   0,   0,   0,   0,   0, 
11848
884k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
884k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
884k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
884k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
884k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11854
884k
      128, 128,   0,   0,   0,   0,   0,   0, 
11855
884k
        0, 128, 128, 128, 128, 128, 128, 128, 
11856
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11857
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
884k
      128, 128, 128,   0,   0,   0,   0, 128, 
11859
884k
        0, 128, 128, 128, 128, 128, 128, 128, 
11860
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11861
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
884k
      128, 128, 128,   0,   0,   0,   0,   0, 
11863
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
884k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
884k
    };
11880
884k
    YYDEBUG(1019, *YYCURSOR);
11881
884k
    YYFILL(2);
11882
884k
    yych = *YYCURSOR;
11883
884k
    if (yych <= '#') {
11884
121k
      if (yych == '"') goto yy1023;
11885
763k
    } else {
11886
763k
      if (yych <= '$') goto yy1025;
11887
289k
      if (yych == '{') goto yy1026;
11888
289k
    }
11889
356k
    YYDEBUG(1021, *YYCURSOR);
11890
356k
    ++YYCURSOR;
11891
417k
yy1022:
11892
417k
    YYDEBUG(1022, *YYCURSOR);
11893
417k
    yyleng = YYCURSOR - SCNG(yy_text);
11894
417k
#line 2863 "Zend/zend_language_scanner.l"
11895
417k
    {
11896
417k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11897
104k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11898
104k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11899
11900
104k
    goto double_quotes_scan_done;
11901
104k
  }
11902
11903
313k
  if (YYCURSOR > YYLIMIT) {
11904
13.3k
    RETURN_END_TOKEN;
11905
13.3k
  }
11906
300k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11907
11.1k
    YYCURSOR++;
11908
11.1k
  }
11909
11910
5.73M
  while (YYCURSOR < YYLIMIT) {
11911
5.72M
    switch (*YYCURSOR++) {
11912
42.4k
      case '"':
11913
42.4k
        break;
11914
290k
      case '$':
11915
290k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11916
251k
          break;
11917
251k
        }
11918
39.1k
        continue;
11919
39.1k
      case '{':
11920
21.7k
        if (*YYCURSOR == '$') {
11921
2.32k
          break;
11922
2.32k
        }
11923
19.4k
        continue;
11924
73.2k
      case '\\':
11925
73.2k
        if (YYCURSOR < YYLIMIT) {
11926
73.0k
          YYCURSOR++;
11927
73.0k
        }
11928
73.2k
        ZEND_FALLTHROUGH;
11929
5.37M
      default:
11930
5.37M
        continue;
11931
5.72M
    }
11932
11933
296k
    YYCURSOR--;
11934
296k
    break;
11935
5.72M
  }
11936
11937
404k
double_quotes_scan_done:
11938
404k
  yyleng = YYCURSOR - SCNG(yy_text);
11939
11940
404k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11941
404k
   || !PARSER_MODE()) {
11942
404k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11943
404k
  } else {
11944
33
    RETURN_TOKEN(T_ERROR);
11945
33
  }
11946
404k
}
11947
0
#line 11948 "Zend/zend_language_scanner.c"
11948
46.1k
yy1023:
11949
46.1k
    YYDEBUG(1023, *YYCURSOR);
11950
46.1k
    ++YYCURSOR;
11951
46.1k
    YYDEBUG(1024, *YYCURSOR);
11952
46.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11953
46.1k
#line 2852 "Zend/zend_language_scanner.l"
11954
46.1k
    {
11955
46.1k
  BEGIN(ST_IN_SCRIPTING);
11956
46.1k
  RETURN_TOKEN('"');
11957
46.1k
}
11958
0
#line 11959 "Zend/zend_language_scanner.c"
11959
473k
yy1025:
11960
473k
    YYDEBUG(1025, *YYCURSOR);
11961
473k
    yych = *++YYCURSOR;
11962
473k
    if (yych <= '_') {
11963
140k
      if (yych <= '@') goto yy1022;
11964
128k
      if (yych <= 'Z') goto yy1027;
11965
97.9k
      if (yych <= '^') goto yy1022;
11966
51.7k
      goto yy1027;
11967
333k
    } else {
11968
333k
      if (yych <= 'z') {
11969
209k
        if (yych <= '`') goto yy1022;
11970
209k
        goto yy1027;
11971
209k
      } else {
11972
123k
        if (yych <= '{') goto yy1030;
11973
19.0k
        if (yych <= 0x7F) goto yy1022;
11974
18.7k
        goto yy1027;
11975
19.0k
      }
11976
333k
    }
11977
8.81k
yy1026:
11978
8.81k
    YYDEBUG(1026, *YYCURSOR);
11979
8.81k
    yych = *++YYCURSOR;
11980
8.81k
    if (yych == '$') goto yy1032;
11981
3.11k
    goto yy1022;
11982
943k
yy1027:
11983
943k
    YYDEBUG(1027, *YYCURSOR);
11984
943k
    YYMARKER = ++YYCURSOR;
11985
943k
    YYFILL(4);
11986
943k
    yych = *YYCURSOR;
11987
943k
    YYDEBUG(1028, *YYCURSOR);
11988
943k
    if (yybm[0+yych] & 128) {
11989
633k
      goto yy1027;
11990
633k
    }
11991
310k
    if (yych <= '>') {
11992
187k
      if (yych == '-') goto yy1034;
11993
187k
    } else {
11994
122k
      if (yych <= '?') goto yy1036;
11995
21.9k
      if (yych <= '@') goto yy1029;
11996
21.0k
      if (yych <= '[') goto yy1037;
11997
21.0k
    }
11998
250k
yy1029:
11999
250k
    YYDEBUG(1029, *YYCURSOR);
12000
250k
    yyleng = YYCURSOR - SCNG(yy_text);
12001
250k
#line 2416 "Zend/zend_language_scanner.l"
12002
250k
    {
12003
250k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12004
250k
}
12005
0
#line 12006 "Zend/zend_language_scanner.c"
12006
104k
yy1030:
12007
104k
    YYDEBUG(1030, *YYCURSOR);
12008
104k
    ++YYCURSOR;
12009
104k
    YYDEBUG(1031, *YYCURSOR);
12010
104k
    yyleng = YYCURSOR - SCNG(yy_text);
12011
104k
#line 1980 "Zend/zend_language_scanner.l"
12012
104k
    {
12013
104k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12014
104k
  enter_nesting('{');
12015
104k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12016
104k
}
12017
0
#line 12018 "Zend/zend_language_scanner.c"
12018
5.69k
yy1032:
12019
5.69k
    YYDEBUG(1032, *YYCURSOR);
12020
5.69k
    ++YYCURSOR;
12021
5.69k
    YYDEBUG(1033, *YYCURSOR);
12022
5.69k
    yyleng = YYCURSOR - SCNG(yy_text);
12023
5.69k
#line 2844 "Zend/zend_language_scanner.l"
12024
5.69k
    {
12025
5.69k
  yy_push_state(ST_IN_SCRIPTING);
12026
5.69k
  yyless(1);
12027
5.69k
  enter_nesting('{');
12028
5.69k
  RETURN_TOKEN(T_CURLY_OPEN);
12029
5.69k
}
12030
0
#line 12031 "Zend/zend_language_scanner.c"
12031
23.1k
yy1034:
12032
23.1k
    YYDEBUG(1034, *YYCURSOR);
12033
23.1k
    yych = *++YYCURSOR;
12034
23.1k
    if (yych == '>') goto yy1039;
12035
68.8k
yy1035:
12036
68.8k
    YYDEBUG(1035, *YYCURSOR);
12037
68.8k
    YYCURSOR = YYMARKER;
12038
68.8k
    goto yy1029;
12039
100k
yy1036:
12040
100k
    YYDEBUG(1036, *YYCURSOR);
12041
100k
    yych = *++YYCURSOR;
12042
100k
    if (yych == '-') goto yy1040;
12043
54.3k
    goto yy1035;
12044
54.3k
yy1037:
12045
5.39k
    YYDEBUG(1037, *YYCURSOR);
12046
5.39k
    ++YYCURSOR;
12047
5.39k
    YYDEBUG(1038, *YYCURSOR);
12048
5.39k
    yyleng = YYCURSOR - SCNG(yy_text);
12049
5.39k
#line 2410 "Zend/zend_language_scanner.l"
12050
5.39k
    {
12051
5.39k
  yyless(yyleng - 1);
12052
5.39k
  yy_push_state(ST_VAR_OFFSET);
12053
5.39k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12054
5.39k
}
12055
0
#line 12056 "Zend/zend_language_scanner.c"
12056
17.6k
yy1039:
12057
17.6k
    YYDEBUG(1039, *YYCURSOR);
12058
17.6k
    yych = *++YYCURSOR;
12059
17.6k
    if (yych <= '_') {
12060
10.7k
      if (yych <= '@') goto yy1035;
12061
9.40k
      if (yych <= 'Z') goto yy1041;
12062
1.05k
      if (yych <= '^') goto yy1035;
12063
409
      goto yy1041;
12064
6.88k
    } else {
12065
6.88k
      if (yych <= '`') goto yy1035;
12066
6.61k
      if (yych <= 'z') goto yy1041;
12067
1.75k
      if (yych <= 0x7F) goto yy1035;
12068
692
      goto yy1041;
12069
1.75k
    }
12070
45.7k
yy1040:
12071
45.7k
    YYDEBUG(1040, *YYCURSOR);
12072
45.7k
    yych = *++YYCURSOR;
12073
45.7k
    if (yych == '>') goto yy1043;
12074
2.51k
    goto yy1035;
12075
14.3k
yy1041:
12076
14.3k
    YYDEBUG(1041, *YYCURSOR);
12077
14.3k
    ++YYCURSOR;
12078
14.3k
    YYDEBUG(1042, *YYCURSOR);
12079
14.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12080
14.3k
#line 2396 "Zend/zend_language_scanner.l"
12081
14.3k
    {
12082
14.3k
  yyless(yyleng - 3);
12083
14.3k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12084
14.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12085
14.3k
}
12086
0
#line 12087 "Zend/zend_language_scanner.c"
12087
43.2k
yy1043:
12088
43.2k
    YYDEBUG(1043, *YYCURSOR);
12089
43.2k
    yych = *++YYCURSOR;
12090
43.2k
    if (yych <= '_') {
12091
2.19k
      if (yych <= '@') goto yy1035;
12092
990
      if (yych <= 'Z') goto yy1044;
12093
753
      if (yych <= '^') goto yy1035;
12094
41.0k
    } else {
12095
41.0k
      if (yych <= '`') goto yy1035;
12096
40.6k
      if (yych <= 'z') goto yy1044;
12097
1.86k
      if (yych <= 0x7F) goto yy1035;
12098
1.86k
    }
12099
40.1k
yy1044:
12100
40.1k
    YYDEBUG(1044, *YYCURSOR);
12101
40.1k
    ++YYCURSOR;
12102
40.1k
    YYDEBUG(1045, *YYCURSOR);
12103
40.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12104
40.1k
#line 2402 "Zend/zend_language_scanner.l"
12105
40.1k
    {
12106
40.1k
  yyless(yyleng - 4);
12107
40.1k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12108
40.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12109
40.1k
}
12110
40.1k
#line 12111 "Zend/zend_language_scanner.c"
12111
40.1k
  }
12112
/* *********************************** */
12113
7.15M
yyc_ST_HEREDOC:
12114
7.15M
  {
12115
7.15M
    static const unsigned char yybm[] = {
12116
7.15M
        0,   0,   0,   0,   0,   0,   0,   0, 
12117
7.15M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
7.15M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
7.15M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
7.15M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
7.15M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12123
7.15M
      128, 128,   0,   0,   0,   0,   0,   0, 
12124
7.15M
        0, 128, 128, 128, 128, 128, 128, 128, 
12125
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12126
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
7.15M
      128, 128, 128,   0,   0,   0,   0, 128, 
12128
7.15M
        0, 128, 128, 128, 128, 128, 128, 128, 
12129
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12130
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
7.15M
      128, 128, 128,   0,   0,   0,   0,   0, 
12132
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
7.15M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
7.15M
    };
12149
7.15M
    YYDEBUG(1046, *YYCURSOR);
12150
7.15M
    YYFILL(2);
12151
7.15M
    yych = *YYCURSOR;
12152
7.15M
    if (yych == '$') goto yy1050;
12153
1.45M
    if (yych == '{') goto yy1051;
12154
1.35M
    YYDEBUG(1048, *YYCURSOR);
12155
1.35M
    ++YYCURSOR;
12156
1.66M
yy1049:
12157
1.66M
    YYDEBUG(1049, *YYCURSOR);
12158
1.66M
    yyleng = YYCURSOR - SCNG(yy_text);
12159
1.66M
#line 2963 "Zend/zend_language_scanner.l"
12160
1.66M
    {
12161
1.66M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12162
1.66M
  int newline = 0, indentation = 0, spacing = 0;
12163
12164
1.66M
  if (YYCURSOR > YYLIMIT) {
12165
24.8k
    RETURN_END_TOKEN;
12166
24.8k
  }
12167
12168
1.63M
  YYCURSOR--;
12169
12170
33.7M
  while (YYCURSOR < YYLIMIT) {
12171
33.7M
    switch (*YYCURSOR++) {
12172
196k
      case '\r':
12173
196k
        if (*YYCURSOR == '\n') {
12174
18.4k
          YYCURSOR++;
12175
18.4k
        }
12176
196k
        ZEND_FALLTHROUGH;
12177
2.09M
      case '\n':
12178
2.09M
        indentation = spacing = 0;
12179
12180
2.81M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12181
718k
          if (*YYCURSOR == '\t') {
12182
13.3k
            spacing |= HEREDOC_USING_TABS;
12183
704k
          } else {
12184
704k
            spacing |= HEREDOC_USING_SPACES;
12185
704k
          }
12186
718k
          ++YYCURSOR;
12187
718k
          ++indentation;
12188
718k
        }
12189
12190
2.09M
        if (YYCURSOR == YYLIMIT) {
12191
2.07k
          yyleng = YYCURSOR - SCNG(yy_text);
12192
2.07k
          HANDLE_NEWLINES(yytext, yyleng);
12193
2.07k
          ZVAL_NULL(zendlval);
12194
2.07k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12195
2.07k
        }
12196
12197
        /* Check for ending label on the next line */
12198
2.08M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12199
29.2k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12200
14.2k
            continue;
12201
14.2k
          }
12202
12203
15.0k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12204
230
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12205
230
            if (PARSER_MODE()) {
12206
12
              RETURN_TOKEN(T_ERROR);
12207
12
            }
12208
230
          }
12209
12210
          /* newline before label will be subtracted from returned text, but
12211
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12212
14.9k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12213
278
            newline = 2; /* Windows newline */
12214
14.7k
          } else {
12215
14.7k
            newline = 1;
12216
14.7k
          }
12217
12218
14.9k
          CG(increment_lineno) = 1; /* For newline before label */
12219
12220
14.9k
          if (SCNG(heredoc_scan_ahead)) {
12221
10.5k
            SCNG(heredoc_indentation) = indentation;
12222
10.5k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12223
10.5k
          } else {
12224
4.46k
            YYCURSOR -= indentation;
12225
4.46k
          }
12226
12227
14.9k
          BEGIN(ST_END_HEREDOC);
12228
12229
14.9k
          goto heredoc_scan_done;
12230
15.0k
        }
12231
2.06M
        continue;
12232
2.52M
      case '$':
12233
2.52M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12234
1.57M
          break;
12235
1.57M
        }
12236
956k
        continue;
12237
956k
      case '{':
12238
423k
        if (*YYCURSOR == '$') {
12239
31.0k
          break;
12240
31.0k
        }
12241
392k
        continue;
12242
392k
      case '\\':
12243
119k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12244
114k
          YYCURSOR++;
12245
114k
        }
12246
119k
        ZEND_FALLTHROUGH;
12247
28.7M
      default:
12248
28.7M
        continue;
12249
33.7M
    }
12250
12251
1.60M
    YYCURSOR--;
12252
1.60M
    break;
12253
33.7M
  }
12254
12255
1.63M
heredoc_scan_done:
12256
12257
1.63M
  yyleng = YYCURSOR - SCNG(yy_text);
12258
1.63M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12259
12260
1.63M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12261
111k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12262
111k
    zend_string *copy = Z_STR_P(zendlval);
12263
12264
111k
    if (!strip_multiline_string_indentation(
12265
111k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12266
111k
        newline_at_start, newline != 0)) {
12267
71
      RETURN_TOKEN(T_ERROR);
12268
71
    }
12269
12270
111k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12271
4
      zend_string_efree(copy);
12272
4
      RETURN_TOKEN(T_ERROR);
12273
4
    }
12274
12275
111k
    zend_string_efree(copy);
12276
1.52M
  } else {
12277
1.52M
    HANDLE_NEWLINES(yytext, yyleng - newline);
12278
1.52M
  }
12279
12280
1.63M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12281
1.63M
}
12282
0
#line 12283 "Zend/zend_language_scanner.c"
12283
5.70M
yy1050:
12284
5.70M
    YYDEBUG(1050, *YYCURSOR);
12285
5.70M
    yych = *++YYCURSOR;
12286
5.70M
    if (yych <= '_') {
12287
314k
      if (yych <= '@') goto yy1049;
12288
70.6k
      if (yych <= 'Z') goto yy1052;
12289
22.7k
      if (yych <= '^') goto yy1049;
12290
13.5k
      goto yy1052;
12291
5.38M
    } else {
12292
5.38M
      if (yych <= 'z') {
12293
499k
        if (yych <= '`') goto yy1049;
12294
498k
        goto yy1052;
12295
4.88M
      } else {
12296
4.88M
        if (yych <= '{') goto yy1055;
12297
176k
        if (yych <= 0x7F) goto yy1049;
12298
169k
        goto yy1052;
12299
176k
      }
12300
5.38M
    }
12301
99.8k
yy1051:
12302
99.8k
    YYDEBUG(1051, *YYCURSOR);
12303
99.8k
    yych = *++YYCURSOR;
12304
99.8k
    if (yych == '$') goto yy1057;
12305
51.8k
    goto yy1049;
12306
2.38M
yy1052:
12307
2.38M
    YYDEBUG(1052, *YYCURSOR);
12308
2.38M
    YYMARKER = ++YYCURSOR;
12309
2.38M
    YYFILL(4);
12310
2.38M
    yych = *YYCURSOR;
12311
2.38M
    YYDEBUG(1053, *YYCURSOR);
12312
2.38M
    if (yybm[0+yych] & 128) {
12313
1.65M
      goto yy1052;
12314
1.65M
    }
12315
729k
    if (yych <= '>') {
12316
532k
      if (yych == '-') goto yy1059;
12317
532k
    } else {
12318
196k
      if (yych <= '?') goto yy1061;
12319
78.1k
      if (yych <= '@') goto yy1054;
12320
75.8k
      if (yych <= '[') goto yy1062;
12321
75.8k
    }
12322
639k
yy1054:
12323
639k
    YYDEBUG(1054, *YYCURSOR);
12324
639k
    yyleng = YYCURSOR - SCNG(yy_text);
12325
639k
#line 2416 "Zend/zend_language_scanner.l"
12326
639k
    {
12327
639k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12328
639k
}
12329
0
#line 12330 "Zend/zend_language_scanner.c"
12330
4.71M
yy1055:
12331
4.71M
    YYDEBUG(1055, *YYCURSOR);
12332
4.71M
    ++YYCURSOR;
12333
4.71M
    YYDEBUG(1056, *YYCURSOR);
12334
4.71M
    yyleng = YYCURSOR - SCNG(yy_text);
12335
4.71M
#line 1980 "Zend/zend_language_scanner.l"
12336
4.71M
    {
12337
4.71M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12338
4.71M
  enter_nesting('{');
12339
4.71M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12340
4.71M
}
12341
0
#line 12342 "Zend/zend_language_scanner.c"
12342
47.9k
yy1057:
12343
47.9k
    YYDEBUG(1057, *YYCURSOR);
12344
47.9k
    ++YYCURSOR;
12345
47.9k
    YYDEBUG(1058, *YYCURSOR);
12346
47.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12347
47.9k
#line 2844 "Zend/zend_language_scanner.l"
12348
47.9k
    {
12349
47.9k
  yy_push_state(ST_IN_SCRIPTING);
12350
47.9k
  yyless(1);
12351
47.9k
  enter_nesting('{');
12352
47.9k
  RETURN_TOKEN(T_CURLY_OPEN);
12353
47.9k
}
12354
0
#line 12355 "Zend/zend_language_scanner.c"
12355
26.4k
yy1059:
12356
26.4k
    YYDEBUG(1059, *YYCURSOR);
12357
26.4k
    yych = *++YYCURSOR;
12358
26.4k
    if (yych == '>') goto yy1064;
12359
82.4k
yy1060:
12360
82.4k
    YYDEBUG(1060, *YYCURSOR);
12361
82.4k
    YYCURSOR = YYMARKER;
12362
82.4k
    goto yy1054;
12363
118k
yy1061:
12364
118k
    YYDEBUG(1061, *YYCURSOR);
12365
118k
    yych = *++YYCURSOR;
12366
118k
    if (yych == '-') goto yy1065;
12367
60.7k
    goto yy1060;
12368
60.7k
yy1062:
12369
27.0k
    YYDEBUG(1062, *YYCURSOR);
12370
27.0k
    ++YYCURSOR;
12371
27.0k
    YYDEBUG(1063, *YYCURSOR);
12372
27.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12373
27.0k
#line 2410 "Zend/zend_language_scanner.l"
12374
27.0k
    {
12375
27.0k
  yyless(yyleng - 1);
12376
27.0k
  yy_push_state(ST_VAR_OFFSET);
12377
27.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12378
27.0k
}
12379
0
#line 12380 "Zend/zend_language_scanner.c"
12380
20.2k
yy1064:
12381
20.2k
    YYDEBUG(1064, *YYCURSOR);
12382
20.2k
    yych = *++YYCURSOR;
12383
20.2k
    if (yych <= '_') {
12384
5.38k
      if (yych <= '@') goto yy1060;
12385
3.48k
      if (yych <= 'Z') goto yy1066;
12386
1.42k
      if (yych <= '^') goto yy1060;
12387
767
      goto yy1066;
12388
14.8k
    } else {
12389
14.8k
      if (yych <= '`') goto yy1060;
12390
14.3k
      if (yych <= 'z') goto yy1066;
12391
2.57k
      if (yych <= 0x7F) goto yy1060;
12392
1.29k
      goto yy1066;
12393
2.57k
    }
12394
57.8k
yy1065:
12395
57.8k
    YYDEBUG(1065, *YYCURSOR);
12396
57.8k
    yych = *++YYCURSOR;
12397
57.8k
    if (yych == '>') goto yy1068;
12398
3.04k
    goto yy1060;
12399
15.9k
yy1066:
12400
15.9k
    YYDEBUG(1066, *YYCURSOR);
12401
15.9k
    ++YYCURSOR;
12402
15.9k
    YYDEBUG(1067, *YYCURSOR);
12403
15.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12404
15.9k
#line 2396 "Zend/zend_language_scanner.l"
12405
15.9k
    {
12406
15.9k
  yyless(yyleng - 3);
12407
15.9k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12408
15.9k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12409
15.9k
}
12410
0
#line 12411 "Zend/zend_language_scanner.c"
12411
54.8k
yy1068:
12412
54.8k
    YYDEBUG(1068, *YYCURSOR);
12413
54.8k
    yych = *++YYCURSOR;
12414
54.8k
    if (yych <= '_') {
12415
8.75k
      if (yych <= '@') goto yy1060;
12416
2.42k
      if (yych <= 'Z') goto yy1069;
12417
1.59k
      if (yych <= '^') goto yy1060;
12418
46.0k
    } else {
12419
46.0k
      if (yych <= '`') goto yy1060;
12420
45.8k
      if (yych <= 'z') goto yy1069;
12421
1.47k
      if (yych <= 0x7F) goto yy1060;
12422
1.47k
    }
12423
46.8k
yy1069:
12424
46.8k
    YYDEBUG(1069, *YYCURSOR);
12425
46.8k
    ++YYCURSOR;
12426
46.8k
    YYDEBUG(1070, *YYCURSOR);
12427
46.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12428
46.8k
#line 2402 "Zend/zend_language_scanner.l"
12429
46.8k
    {
12430
46.8k
  yyless(yyleng - 4);
12431
46.8k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12432
46.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12433
46.8k
}
12434
46.8k
#line 12435 "Zend/zend_language_scanner.c"
12435
46.8k
  }
12436
/* *********************************** */
12437
4.84M
yyc_ST_LOOKING_FOR_VARNAME:
12438
4.84M
  {
12439
4.84M
    static const unsigned char yybm[] = {
12440
4.84M
        0,   0,   0,   0,   0,   0,   0,   0, 
12441
4.84M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
4.84M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
4.84M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
4.84M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
4.84M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12447
4.84M
      128, 128,   0,   0,   0,   0,   0,   0, 
12448
4.84M
        0, 128, 128, 128, 128, 128, 128, 128, 
12449
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12450
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
4.84M
      128, 128, 128,   0,   0,   0,   0, 128, 
12452
4.84M
        0, 128, 128, 128, 128, 128, 128, 128, 
12453
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12454
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
4.84M
      128, 128, 128,   0,   0,   0,   0,   0, 
12456
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
4.84M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
4.84M
    };
12473
4.84M
    YYDEBUG(1071, *YYCURSOR);
12474
4.84M
    YYFILL(2);
12475
4.84M
    yych = *YYCURSOR;
12476
4.84M
    if (yych <= '_') {
12477
4.70M
      if (yych <= '@') goto yy1073;
12478
21.8k
      if (yych <= 'Z') goto yy1075;
12479
10.0k
      if (yych >= '_') goto yy1075;
12480
136k
    } else {
12481
136k
      if (yych <= '`') goto yy1073;
12482
131k
      if (yych <= 'z') goto yy1075;
12483
45.8k
      if (yych >= 0x80) goto yy1075;
12484
45.8k
    }
12485
4.70M
yy1073:
12486
4.70M
    YYDEBUG(1073, *YYCURSOR);
12487
4.70M
    ++YYCURSOR;
12488
4.83M
yy1074:
12489
4.83M
    YYDEBUG(1074, *YYCURSOR);
12490
4.83M
    yyleng = YYCURSOR - SCNG(yy_text);
12491
4.83M
#line 2003 "Zend/zend_language_scanner.l"
12492
4.83M
    {
12493
4.83M
  yyless(0);
12494
4.83M
  yy_pop_state();
12495
4.83M
  yy_push_state(ST_IN_SCRIPTING);
12496
4.83M
  goto restart;
12497
4.70M
}
12498
0
#line 12499 "Zend/zend_language_scanner.c"
12499
141k
yy1075:
12500
141k
    YYDEBUG(1075, *YYCURSOR);
12501
141k
    yych = *(YYMARKER = ++YYCURSOR);
12502
141k
    if (yych <= '_') {
12503
63.7k
      if (yych <= '@') {
12504
40.1k
        if (yych <= '/') goto yy1074;
12505
23.2k
        if (yych <= '9') goto yy1077;
12506
22.1k
        goto yy1074;
12507
23.5k
      } else {
12508
23.5k
        if (yych <= '[') goto yy1077;
12509
7.00k
        if (yych <= '^') goto yy1074;
12510
5.94k
        goto yy1077;
12511
7.00k
      }
12512
77.8k
    } else {
12513
77.8k
      if (yych <= '|') {
12514
60.9k
        if (yych <= '`') goto yy1074;
12515
60.6k
        if (yych <= 'z') goto yy1077;
12516
592
        goto yy1074;
12517
60.6k
      } else {
12518
16.9k
        if (yych <= '}') goto yy1077;
12519
15.8k
        if (yych <= 0x7F) goto yy1074;
12520
15.4k
        goto yy1077;
12521
15.8k
      }
12522
77.8k
    }
12523
574k
yy1076:
12524
574k
    YYDEBUG(1076, *YYCURSOR);
12525
574k
    ++YYCURSOR;
12526
574k
    YYFILL(1);
12527
574k
    yych = *YYCURSOR;
12528
674k
yy1077:
12529
674k
    YYDEBUG(1077, *YYCURSOR);
12530
674k
    if (yybm[0+yych] & 128) {
12531
574k
      goto yy1076;
12532
574k
    }
12533
100k
    if (yych <= '@') goto yy1078;
12534
13.0k
    if (yych <= '[') goto yy1079;
12535
11.4k
    if (yych == '}') goto yy1079;
12536
97.1k
yy1078:
12537
97.1k
    YYDEBUG(1078, *YYCURSOR);
12538
97.1k
    YYCURSOR = YYMARKER;
12539
97.1k
    goto yy1074;
12540
3.07k
yy1079:
12541
3.07k
    YYDEBUG(1079, *YYCURSOR);
12542
3.07k
    ++YYCURSOR;
12543
3.07k
    YYDEBUG(1080, *YYCURSOR);
12544
3.07k
    yyleng = YYCURSOR - SCNG(yy_text);
12545
3.07k
#line 1995 "Zend/zend_language_scanner.l"
12546
3.07k
    {
12547
3.07k
  yyless(yyleng - 1);
12548
3.07k
  yy_pop_state();
12549
3.07k
  yy_push_state(ST_IN_SCRIPTING);
12550
3.07k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12551
3.07k
}
12552
3.07k
#line 12553 "Zend/zend_language_scanner.c"
12553
3.07k
  }
12554
/* *********************************** */
12555
407k
yyc_ST_VAR_OFFSET:
12556
407k
  {
12557
407k
    static const unsigned char yybm[] = {
12558
407k
        0,   0,   0,   0,   0,   0,   0,   0, 
12559
407k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
407k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
407k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
407k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
407k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
407k
      248, 248, 216, 216, 216, 216, 216, 216, 
12565
407k
      152, 152,   0,   0,   0,   0,   0,   0, 
12566
407k
        0, 144, 144, 144, 144, 144, 144,  16, 
12567
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12568
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
407k
       16,  16,  16,   0,   0,   0,   0,  16, 
12570
407k
        0, 144, 144, 144, 144, 144, 144,  16, 
12571
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12572
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
407k
       16,  16,  16,   0,   0,   0,   0,   0, 
12574
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
407k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
407k
    };
12591
407k
    YYDEBUG(1081, *YYCURSOR);
12592
407k
    YYFILL(2);
12593
407k
    yych = *YYCURSOR;
12594
407k
    if (yych <= '0') {
12595
185k
      if (yych <= ' ') {
12596
70.6k
        if (yych <= '\f') {
12597
58.1k
          if (yych <= 0x08) goto yy1083;
12598
10.1k
          if (yych <= '\n') goto yy1085;
12599
12.4k
        } else {
12600
12.4k
          if (yych <= '\r') goto yy1085;
12601
11.7k
          if (yych >= ' ') goto yy1085;
12602
11.7k
        }
12603
115k
      } else {
12604
115k
        if (yych <= '$') {
12605
73.6k
          if (yych <= '"') goto yy1087;
12606
62.9k
          if (yych <= '#') goto yy1085;
12607
61.4k
          goto yy1089;
12608
62.9k
        } else {
12609
41.4k
          if (yych == '\'') goto yy1085;
12610
40.6k
          if (yych <= '/') goto yy1087;
12611
19.4k
          goto yy1090;
12612
40.6k
        }
12613
115k
      }
12614
222k
    } else {
12615
222k
      if (yych <= ']') {
12616
140k
        if (yych <= 'Z') {
12617
69.0k
          if (yych <= '9') goto yy1092;
12618
53.8k
          if (yych <= '@') goto yy1087;
12619
9.46k
          goto yy1094;
12620
71.6k
        } else {
12621
71.6k
          if (yych <= '[') goto yy1087;
12622
20.9k
          if (yych <= '\\') goto yy1085;
12623
20.1k
          goto yy1097;
12624
20.9k
        }
12625
140k
      } else {
12626
81.2k
        if (yych <= '`') {
12627
9.33k
          if (yych == '_') goto yy1094;
12628
5.99k
          goto yy1087;
12629
71.9k
        } else {
12630
71.9k
          if (yych <= 'z') goto yy1094;
12631
54.0k
          if (yych <= '~') goto yy1087;
12632
46.8k
          if (yych >= 0x80) goto yy1094;
12633
46.8k
        }
12634
81.2k
      }
12635
222k
    }
12636
90.8k
yy1083:
12637
90.8k
    YYDEBUG(1083, *YYCURSOR);
12638
90.8k
    ++YYCURSOR;
12639
90.8k
    YYDEBUG(1084, *YYCURSOR);
12640
90.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12641
90.8k
#line 3178 "Zend/zend_language_scanner.l"
12642
90.8k
    {
12643
90.8k
  if (YYCURSOR > YYLIMIT) {
12644
2.00k
    RETURN_END_TOKEN;
12645
2.00k
  }
12646
12647
88.8k
  RETURN_TOKEN(T_BAD_CHARACTER);
12648
88.8k
}
12649
0
#line 12650 "Zend/zend_language_scanner.c"
12650
12.6k
yy1085:
12651
12.6k
    YYDEBUG(1085, *YYCURSOR);
12652
12.6k
    ++YYCURSOR;
12653
12.6k
    YYDEBUG(1086, *YYCURSOR);
12654
12.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12655
12.6k
#line 2430 "Zend/zend_language_scanner.l"
12656
12.6k
    {
12657
  /* Invalid rule to return a more explicit parse error with proper line number */
12658
12.6k
  yyless(0);
12659
12.6k
  yy_pop_state();
12660
12.6k
  ZVAL_NULL(zendlval);
12661
12.6k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12662
12.6k
}
12663
0
#line 12664 "Zend/zend_language_scanner.c"
12664
140k
yy1087:
12665
140k
    YYDEBUG(1087, *YYCURSOR);
12666
140k
    ++YYCURSOR;
12667
186k
yy1088:
12668
186k
    YYDEBUG(1088, *YYCURSOR);
12669
186k
    yyleng = YYCURSOR - SCNG(yy_text);
12670
186k
#line 2425 "Zend/zend_language_scanner.l"
12671
186k
    {
12672
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12673
186k
  RETURN_TOKEN(yytext[0]);
12674
186k
}
12675
0
#line 12676 "Zend/zend_language_scanner.c"
12676
61.4k
yy1089:
12677
61.4k
    YYDEBUG(1089, *YYCURSOR);
12678
61.4k
    yych = *++YYCURSOR;
12679
61.4k
    if (yych <= '_') {
12680
45.7k
      if (yych <= '@') goto yy1088;
12681
3.69k
      if (yych <= 'Z') goto yy1099;
12682
1.85k
      if (yych <= '^') goto yy1088;
12683
514
      goto yy1099;
12684
15.6k
    } else {
12685
15.6k
      if (yych <= '`') goto yy1088;
12686
15.2k
      if (yych <= 'z') goto yy1099;
12687
5.45k
      if (yych <= 0x7F) goto yy1088;
12688
2.70k
      goto yy1099;
12689
5.45k
    }
12690
19.4k
yy1090:
12691
19.4k
    YYDEBUG(1090, *YYCURSOR);
12692
19.4k
    yyaccept = 0;
12693
19.4k
    yych = *(YYMARKER = ++YYCURSOR);
12694
19.4k
    if (yych <= 'X') {
12695
10.0k
      if (yych <= 'B') {
12696
8.64k
        if (yych <= '/') goto yy1091;
12697
7.19k
        if (yych <= '9') goto yy1102;
12698
2.65k
        if (yych >= 'B') goto yy1105;
12699
2.65k
      } else {
12700
1.36k
        if (yych == 'O') goto yy1107;
12701
756
        if (yych >= 'X') goto yy1108;
12702
756
      }
12703
10.0k
    } else {
12704
9.43k
      if (yych <= 'b') {
12705
6.00k
        if (yych == '_') goto yy1109;
12706
4.87k
        if (yych >= 'b') goto yy1105;
12707
4.87k
      } else {
12708
3.43k
        if (yych <= 'o') {
12709
1.11k
          if (yych >= 'o') goto yy1107;
12710
2.32k
        } else {
12711
2.32k
          if (yych == 'x') goto yy1108;
12712
2.32k
        }
12713
3.43k
      }
12714
9.43k
    }
12715
26.1k
yy1091:
12716
26.1k
    YYDEBUG(1091, *YYCURSOR);
12717
26.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12718
26.1k
#line 2207 "Zend/zend_language_scanner.l"
12719
26.1k
    { /* Offset could be treated as a long */
12720
26.1k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12721
24.8k
    char *end;
12722
24.8k
    errno = 0;
12723
24.8k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12724
24.8k
    if (errno == ERANGE) {
12725
0
      goto string;
12726
0
    }
12727
24.8k
    ZEND_ASSERT(end == yytext + yyleng);
12728
24.8k
  } else {
12729
1.27k
string:
12730
1.27k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12731
1.27k
  }
12732
26.1k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12733
26.1k
}
12734
0
#line 12735 "Zend/zend_language_scanner.c"
12735
83.7k
yy1092:
12736
83.7k
    YYDEBUG(1092, *YYCURSOR);
12737
83.7k
    yyaccept = 0;
12738
83.7k
    YYMARKER = ++YYCURSOR;
12739
83.7k
    YYFILL(1);
12740
83.7k
    yych = *YYCURSOR;
12741
83.7k
    YYDEBUG(1093, *YYCURSOR);
12742
83.7k
    if (yybm[0+yych] & 8) {
12743
68.5k
      goto yy1092;
12744
68.5k
    }
12745
15.2k
    if (yych == '_') goto yy1109;
12746
14.3k
    goto yy1091;
12747
254k
yy1094:
12748
254k
    YYDEBUG(1094, *YYCURSOR);
12749
254k
    ++YYCURSOR;
12750
254k
    YYFILL(1);
12751
254k
    yych = *YYCURSOR;
12752
254k
    YYDEBUG(1095, *YYCURSOR);
12753
254k
    if (yybm[0+yych] & 16) {
12754
206k
      goto yy1094;
12755
206k
    }
12756
47.7k
    YYDEBUG(1096, *YYCURSOR);
12757
47.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12758
47.7k
#line 2454 "Zend/zend_language_scanner.l"
12759
47.7k
    {
12760
47.7k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12761
47.7k
}
12762
0
#line 12763 "Zend/zend_language_scanner.c"
12763
20.1k
yy1097:
12764
20.1k
    YYDEBUG(1097, *YYCURSOR);
12765
20.1k
    ++YYCURSOR;
12766
20.1k
    YYDEBUG(1098, *YYCURSOR);
12767
20.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12768
20.1k
#line 2420 "Zend/zend_language_scanner.l"
12769
20.1k
    {
12770
20.1k
  yy_pop_state();
12771
20.1k
  RETURN_TOKEN(']');
12772
20.1k
}
12773
0
#line 12774 "Zend/zend_language_scanner.c"
12774
56.5k
yy1099:
12775
56.5k
    YYDEBUG(1099, *YYCURSOR);
12776
56.5k
    ++YYCURSOR;
12777
56.5k
    YYFILL(1);
12778
56.5k
    yych = *YYCURSOR;
12779
56.5k
    YYDEBUG(1100, *YYCURSOR);
12780
56.5k
    if (yych <= '^') {
12781
17.4k
      if (yych <= '9') {
12782
4.88k
        if (yych >= '0') goto yy1099;
12783
12.5k
      } else {
12784
12.5k
        if (yych <= '@') goto yy1101;
12785
10.9k
        if (yych <= 'Z') goto yy1099;
12786
10.9k
      }
12787
39.1k
    } else {
12788
39.1k
      if (yych <= '`') {
12789
2.57k
        if (yych <= '_') goto yy1099;
12790
36.5k
      } else {
12791
36.5k
        if (yych <= 'z') goto yy1099;
12792
16.1k
        if (yych >= 0x80) goto yy1099;
12793
16.1k
      }
12794
39.1k
    }
12795
14.8k
yy1101:
12796
14.8k
    YYDEBUG(1101, *YYCURSOR);
12797
14.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12798
14.8k
#line 2416 "Zend/zend_language_scanner.l"
12799
14.8k
    {
12800
14.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12801
14.8k
}
12802
0
#line 12803 "Zend/zend_language_scanner.c"
12803
24.9k
yy1102:
12804
24.9k
    YYDEBUG(1102, *YYCURSOR);
12805
24.9k
    yyaccept = 1;
12806
24.9k
    YYMARKER = ++YYCURSOR;
12807
24.9k
    YYFILL(1);
12808
24.9k
    yych = *YYCURSOR;
12809
24.9k
    YYDEBUG(1103, *YYCURSOR);
12810
24.9k
    if (yych <= '/') goto yy1104;
12811
22.3k
    if (yych <= '9') goto yy1102;
12812
3.43k
    if (yych == '_') goto yy1109;
12813
8.56k
yy1104:
12814
8.56k
    YYDEBUG(1104, *YYCURSOR);
12815
8.56k
    yyleng = YYCURSOR - SCNG(yy_text);
12816
8.56k
#line 2223 "Zend/zend_language_scanner.l"
12817
8.56k
    { /* Offset must be treated as a string */
12818
8.56k
  if (yyleng == 1) {
12819
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12820
8.56k
  } else {
12821
8.56k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12822
8.56k
  }
12823
8.56k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12824
8.56k
}
12825
0
#line 12826 "Zend/zend_language_scanner.c"
12826
2.28k
yy1105:
12827
2.28k
    YYDEBUG(1105, *YYCURSOR);
12828
2.28k
    ++YYCURSOR;
12829
2.28k
    YYFILL(1);
12830
2.28k
    yych = *YYCURSOR;
12831
2.28k
    if (yybm[0+yych] & 32) {
12832
1.89k
      goto yy1110;
12833
1.89k
    }
12834
3.22k
yy1106:
12835
3.22k
    YYDEBUG(1106, *YYCURSOR);
12836
3.22k
    YYCURSOR = YYMARKER;
12837
3.22k
    if (yyaccept == 0) {
12838
1.92k
      goto yy1091;
12839
1.92k
    } else {
12840
1.30k
      goto yy1104;
12841
1.30k
    }
12842
1.35k
yy1107:
12843
1.35k
    YYDEBUG(1107, *YYCURSOR);
12844
1.35k
    ++YYCURSOR;
12845
1.35k
    YYFILL(1);
12846
1.35k
    yych = *YYCURSOR;
12847
1.35k
    if (yybm[0+yych] & 64) {
12848
735
      goto yy1112;
12849
735
    }
12850
621
    goto yy1106;
12851
2.13k
yy1108:
12852
2.13k
    YYDEBUG(1108, *YYCURSOR);
12853
2.13k
    ++YYCURSOR;
12854
2.13k
    YYFILL(1);
12855
2.13k
    yych = *YYCURSOR;
12856
2.13k
    if (yybm[0+yych] & 128) {
12857
1.43k
      goto yy1114;
12858
1.43k
    }
12859
701
    goto yy1106;
12860
3.01k
yy1109:
12861
3.01k
    YYDEBUG(1109, *YYCURSOR);
12862
3.01k
    ++YYCURSOR;
12863
3.01k
    YYFILL(1);
12864
3.01k
    yych = *YYCURSOR;
12865
3.01k
    if (yych <= '/') goto yy1106;
12866
2.41k
    if (yych <= '9') goto yy1102;
12867
916
    goto yy1106;
12868
2.51k
yy1110:
12869
2.51k
    YYDEBUG(1110, *YYCURSOR);
12870
2.51k
    yyaccept = 1;
12871
2.51k
    YYMARKER = ++YYCURSOR;
12872
2.51k
    YYFILL(1);
12873
2.51k
    yych = *YYCURSOR;
12874
2.51k
    YYDEBUG(1111, *YYCURSOR);
12875
2.51k
    if (yybm[0+yych] & 32) {
12876
621
      goto yy1110;
12877
621
    }
12878
1.89k
    if (yych == '_') goto yy1105;
12879
962
    goto yy1104;
12880
1.50k
yy1112:
12881
1.50k
    YYDEBUG(1112, *YYCURSOR);
12882
1.50k
    yyaccept = 1;
12883
1.50k
    YYMARKER = ++YYCURSOR;
12884
1.50k
    YYFILL(1);
12885
1.50k
    yych = *YYCURSOR;
12886
1.50k
    YYDEBUG(1113, *YYCURSOR);
12887
1.50k
    if (yybm[0+yych] & 64) {
12888
771
      goto yy1112;
12889
771
    }
12890
735
    if (yych == '_') goto yy1107;
12891
502
    goto yy1104;
12892
1.99k
yy1114:
12893
1.99k
    YYDEBUG(1114, *YYCURSOR);
12894
1.99k
    yyaccept = 1;
12895
1.99k
    YYMARKER = ++YYCURSOR;
12896
1.99k
    YYFILL(1);
12897
1.99k
    yych = *YYCURSOR;
12898
1.99k
    YYDEBUG(1115, *YYCURSOR);
12899
1.99k
    if (yybm[0+yych] & 128) {
12900
556
      goto yy1114;
12901
556
    }
12902
1.43k
    if (yych == '_') goto yy1108;
12903
768
    goto yy1104;
12904
1.43k
  }
12905
/* *********************************** */
12906
768
yyc_SHEBANG:
12907
0
  {
12908
0
    static const unsigned char yybm[] = {
12909
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12910
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12911
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
    };
12942
0
    YYDEBUG(1116, *YYCURSOR);
12943
0
    YYFILL(2);
12944
0
    yych = *YYCURSOR;
12945
0
    if (yych == '#') goto yy1120;
12946
0
    YYDEBUG(1118, *YYCURSOR);
12947
0
    ++YYCURSOR;
12948
0
yy1119:
12949
0
    YYDEBUG(1119, *YYCURSOR);
12950
0
    yyleng = YYCURSOR - SCNG(yy_text);
12951
0
#line 2294 "Zend/zend_language_scanner.l"
12952
0
    {
12953
0
  yyless(0);
12954
0
  BEGIN(INITIAL);
12955
0
  goto restart;
12956
0
}
12957
0
#line 12958 "Zend/zend_language_scanner.c"
12958
0
yy1120:
12959
0
    YYDEBUG(1120, *YYCURSOR);
12960
0
    yych = *++YYCURSOR;
12961
0
    if (yych != '!') goto yy1119;
12962
0
yy1121:
12963
0
    YYDEBUG(1121, *YYCURSOR);
12964
0
    ++YYCURSOR;
12965
0
    YYFILL(1);
12966
0
    yych = *YYCURSOR;
12967
0
    YYDEBUG(1122, *YYCURSOR);
12968
0
    if (yybm[0+yych] & 128) {
12969
0
      goto yy1121;
12970
0
    }
12971
0
    YYDEBUG(1123, *YYCURSOR);
12972
0
    ++YYCURSOR;
12973
0
    YYDEBUG(1124, *YYCURSOR);
12974
0
    yyleng = YYCURSOR - SCNG(yy_text);
12975
0
#line 2288 "Zend/zend_language_scanner.l"
12976
0
    {
12977
0
  CG(zend_lineno)++;
12978
0
  BEGIN(INITIAL);
12979
0
  goto restart;
12980
0
}
12981
0
#line 12982 "Zend/zend_language_scanner.c"
12982
0
  }
12983
/* *********************************** */
12984
407k
yyc_INITIAL:
12985
407k
  YYDEBUG(1125, *YYCURSOR);
12986
407k
  YYFILL(7);
12987
407k
  yych = *YYCURSOR;
12988
407k
  if (yych == '<') goto yy1129;
12989
183k
  YYDEBUG(1127, *YYCURSOR);
12990
183k
  ++YYCURSOR;
12991
192k
yy1128:
12992
192k
  YYDEBUG(1128, *YYCURSOR);
12993
192k
  yyleng = YYCURSOR - SCNG(yy_text);
12994
192k
#line 2340 "Zend/zend_language_scanner.l"
12995
192k
  {
12996
192k
  if (YYCURSOR > YYLIMIT) {
12997
61.8k
    RETURN_END_TOKEN;
12998
61.8k
  }
12999
13000
131k
inline_char_handler:
13001
13002
310k
  while (1) {
13003
310k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13004
13005
310k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13006
13007
310k
    if (YYCURSOR >= YYLIMIT) {
13008
25.4k
      break;
13009
25.4k
    }
13010
13011
285k
    if (*YYCURSOR == '?') {
13012
105k
      if (CG(short_tags) /* <? */
13013
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13014
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13015
0
          (YYCURSOR + 4 == YYLIMIT ||
13016
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13017
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13018
105k
      ) {
13019
105k
        YYCURSOR--;
13020
105k
        break;
13021
105k
      }
13022
105k
    }
13023
285k
  }
13024
13025
131k
  yyleng = YYCURSOR - SCNG(yy_text);
13026
13027
131k
  if (SCNG(output_filter)) {
13028
0
    size_t readsize;
13029
0
    char *s = NULL;
13030
0
    size_t sz = 0;
13031
    // TODO: avoid reallocation ???
13032
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13033
0
    ZVAL_STRINGL(zendlval, s, sz);
13034
0
    efree(s);
13035
0
    if (readsize < yyleng) {
13036
0
      yyless(readsize);
13037
0
    }
13038
131k
  } else if (yyleng == 1) {
13039
13.3k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13040
117k
  } else {
13041
117k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13042
117k
  }
13043
131k
  HANDLE_NEWLINES(yytext, yyleng);
13044
131k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13045
131k
}
13046
0
#line 13047 "Zend/zend_language_scanner.c"
13047
223k
yy1129:
13048
223k
  YYDEBUG(1129, *YYCURSOR);
13049
223k
  yych = *++YYCURSOR;
13050
223k
  if (yych != '?') goto yy1128;
13051
214k
  YYDEBUG(1130, *YYCURSOR);
13052
214k
  yych = *(YYMARKER = ++YYCURSOR);
13053
214k
  if (yych <= 'O') {
13054
57.1k
    if (yych == '=') goto yy1132;
13055
157k
  } else {
13056
157k
    if (yych <= 'P') goto yy1134;
13057
156k
    if (yych == 'p') goto yy1134;
13058
156k
  }
13059
121k
yy1131:
13060
121k
  YYDEBUG(1131, *YYCURSOR);
13061
121k
  yyleng = YYCURSOR - SCNG(yy_text);
13062
121k
#line 2331 "Zend/zend_language_scanner.l"
13063
121k
  {
13064
121k
  if (CG(short_tags)) {
13065
121k
    BEGIN(ST_IN_SCRIPTING);
13066
121k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13067
121k
  } else {
13068
0
    goto inline_char_handler;
13069
0
  }
13070
121k
}
13071
0
#line 13072 "Zend/zend_language_scanner.c"
13072
1.44k
yy1132:
13073
1.44k
  YYDEBUG(1132, *YYCURSOR);
13074
1.44k
  ++YYCURSOR;
13075
1.44k
  YYDEBUG(1133, *YYCURSOR);
13076
1.44k
  yyleng = YYCURSOR - SCNG(yy_text);
13077
1.44k
#line 2300 "Zend/zend_language_scanner.l"
13078
1.44k
  {
13079
1.44k
  BEGIN(ST_IN_SCRIPTING);
13080
1.44k
  if (PARSER_MODE()) {
13081
    /* We'll reject this as an identifier in zend_lex_tstring. */
13082
475
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13083
475
  }
13084
971
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13085
971
}
13086
0
#line 13087 "Zend/zend_language_scanner.c"
13087
97.6k
yy1134:
13088
97.6k
  YYDEBUG(1134, *YYCURSOR);
13089
97.6k
  yych = *++YYCURSOR;
13090
97.6k
  if (yych == 'H') goto yy1136;
13091
96.6k
  if (yych == 'h') goto yy1136;
13092
6.18k
yy1135:
13093
6.18k
  YYDEBUG(1135, *YYCURSOR);
13094
6.18k
  YYCURSOR = YYMARKER;
13095
6.18k
  goto yy1131;
13096
93.6k
yy1136:
13097
93.6k
  YYDEBUG(1136, *YYCURSOR);
13098
93.6k
  yych = *++YYCURSOR;
13099
93.6k
  if (yych == 'P') goto yy1137;
13100
92.9k
  if (yych != 'p') goto yy1135;
13101
91.4k
yy1137:
13102
91.4k
  YYDEBUG(1137, *YYCURSOR);
13103
91.4k
  yych = *++YYCURSOR;
13104
91.4k
  if (yych <= '\f') {
13105
81.3k
    if (yych <= 0x08) goto yy1138;
13106
80.8k
    if (yych <= '\n') goto yy1139;
13107
80.8k
  } else {
13108
10.1k
    if (yych <= '\r') goto yy1141;
13109
9.56k
    if (yych == ' ') goto yy1139;
13110
9.56k
  }
13111
3.50k
yy1138:
13112
3.50k
  YYDEBUG(1138, *YYCURSOR);
13113
3.50k
  yyleng = YYCURSOR - SCNG(yy_text);
13114
3.50k
#line 2316 "Zend/zend_language_scanner.l"
13115
3.50k
  {
13116
  /* Allow <?php followed by end of file. */
13117
3.50k
  if (YYCURSOR == YYLIMIT) {
13118
318
    BEGIN(ST_IN_SCRIPTING);
13119
318
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13120
318
  }
13121
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13122
3.19k
  if (CG(short_tags)) {
13123
3.19k
    yyless(2);
13124
3.19k
    BEGIN(ST_IN_SCRIPTING);
13125
3.19k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13126
3.19k
  }
13127
0
  goto inline_char_handler;
13128
3.19k
}
13129
0
#line 13130 "Zend/zend_language_scanner.c"
13130
87.6k
yy1139:
13131
87.6k
  YYDEBUG(1139, *YYCURSOR);
13132
87.6k
  ++YYCURSOR;
13133
87.9k
yy1140:
13134
87.9k
  YYDEBUG(1140, *YYCURSOR);
13135
87.9k
  yyleng = YYCURSOR - SCNG(yy_text);
13136
87.9k
#line 2310 "Zend/zend_language_scanner.l"
13137
87.9k
  {
13138
87.9k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13139
87.9k
  BEGIN(ST_IN_SCRIPTING);
13140
87.9k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13141
87.9k
}
13142
0
#line 13143 "Zend/zend_language_scanner.c"
13143
549
yy1141:
13144
549
  YYDEBUG(1141, *YYCURSOR);
13145
549
  yych = *++YYCURSOR;
13146
549
  if (yych == '\n') goto yy1139;
13147
253
  goto yy1140;
13148
/* *********************************** */
13149
26.4k
yyc_ST_END_HEREDOC:
13150
26.4k
  YYDEBUG(1142, *YYCURSOR);
13151
26.4k
  YYFILL(1);
13152
26.4k
  yych = *YYCURSOR;
13153
26.4k
  YYDEBUG(1144, *YYCURSOR);
13154
26.4k
  ++YYCURSOR;
13155
26.4k
  YYDEBUG(1145, *YYCURSOR);
13156
26.4k
  yyleng = YYCURSOR - SCNG(yy_text);
13157
26.4k
#line 2830 "Zend/zend_language_scanner.l"
13158
26.4k
  {
13159
26.4k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13160
13161
26.4k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13162
26.4k
  YYCURSOR += yyleng - 1;
13163
13164
26.4k
  heredoc_label_dtor(heredoc_label);
13165
26.4k
  efree(heredoc_label);
13166
13167
26.4k
  BEGIN(ST_IN_SCRIPTING);
13168
26.4k
  RETURN_TOKEN(T_END_HEREDOC);
13169
26.4k
}
13170
0
#line 13171 "Zend/zend_language_scanner.c"
13171
/* *********************************** */
13172
10.5k
yyc_ST_NOWDOC:
13173
10.5k
  YYDEBUG(1146, *YYCURSOR);
13174
10.5k
  YYFILL(1);
13175
10.5k
  yych = *YYCURSOR;
13176
10.5k
  YYDEBUG(1148, *YYCURSOR);
13177
10.5k
  ++YYCURSOR;
13178
10.5k
  YYDEBUG(1149, *YYCURSOR);
13179
10.5k
  yyleng = YYCURSOR - SCNG(yy_text);
13180
10.5k
#line 3087 "Zend/zend_language_scanner.l"
13181
10.5k
  {
13182
10.5k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13183
10.5k
  int newline = 0, indentation = 0, spacing = -1;
13184
13185
10.5k
  if (YYCURSOR > YYLIMIT) {
13186
1.50k
    RETURN_END_TOKEN;
13187
1.50k
  }
13188
13189
9.08k
  YYCURSOR--;
13190
13191
1.21M
  while (YYCURSOR < YYLIMIT) {
13192
1.21M
    switch (*YYCURSOR++) {
13193
9.39k
      case '\r':
13194
9.39k
        if (*YYCURSOR == '\n') {
13195
1.24k
          YYCURSOR++;
13196
1.24k
        }
13197
9.39k
        ZEND_FALLTHROUGH;
13198
82.2k
      case '\n':
13199
82.2k
        indentation = spacing = 0;
13200
13201
126k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13202
44.5k
          if (*YYCURSOR == '\t') {
13203
1.18k
            spacing |= HEREDOC_USING_TABS;
13204
43.3k
          } else {
13205
43.3k
            spacing |= HEREDOC_USING_SPACES;
13206
43.3k
          }
13207
44.5k
          ++YYCURSOR;
13208
44.5k
          ++indentation;
13209
44.5k
        }
13210
13211
82.2k
        if (YYCURSOR == YYLIMIT) {
13212
319
          yyleng = YYCURSOR - SCNG(yy_text);
13213
319
          HANDLE_NEWLINES(yytext, yyleng);
13214
319
          ZVAL_NULL(zendlval);
13215
319
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13216
319
        }
13217
13218
        /* Check for ending label on the next line */
13219
81.9k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13220
9.31k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13221
1.75k
            continue;
13222
1.75k
          }
13223
13224
7.55k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13225
267
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13226
267
            if (PARSER_MODE()) {
13227
7
              RETURN_TOKEN(T_ERROR);
13228
7
            }
13229
267
          }
13230
13231
          /* newline before label will be subtracted from returned text, but
13232
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13233
7.54k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13234
570
            newline = 2; /* Windows newline */
13235
6.97k
          } else {
13236
6.97k
            newline = 1;
13237
6.97k
          }
13238
13239
7.54k
          CG(increment_lineno) = 1; /* For newline before label */
13240
13241
7.54k
          YYCURSOR -= indentation;
13242
7.54k
          heredoc_label->indentation = indentation;
13243
13244
7.54k
          BEGIN(ST_END_HEREDOC);
13245
13246
7.54k
          goto nowdoc_scan_done;
13247
7.55k
        }
13248
72.6k
        ZEND_FALLTHROUGH;
13249
1.20M
      default:
13250
1.20M
        continue;
13251
1.21M
    }
13252
1.21M
  }
13253
13254
8.75k
nowdoc_scan_done:
13255
8.75k
  yyleng = YYCURSOR - SCNG(yy_text);
13256
8.75k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13257
13258
8.75k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13259
1.40k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13260
1.40k
    if (!strip_multiline_string_indentation(
13261
1.40k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13262
1.40k
        newline_at_start, newline != 0)) {
13263
38
      RETURN_TOKEN(T_ERROR);
13264
38
    }
13265
1.40k
  }
13266
13267
8.71k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13268
8.71k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13269
8.71k
}
13270
8.71k
#line 13271 "Zend/zend_language_scanner.c"
13271
8.71k
}
13272
0
#line 3186 "Zend/zend_language_scanner.l"
13273
13274
13275
7.19M
emit_token_with_str:
13276
7.19M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13277
13278
11.2M
emit_token_with_val:
13279
11.2M
  if (PARSER_MODE()) {
13280
3.30M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13281
3.30M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13282
3.30M
  }
13283
13284
41.4M
emit_token:
13285
41.4M
  if (SCNG(on_event)) {
13286
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13287
0
  }
13288
41.4M
  return token;
13289
13290
1.32M
emit_token_with_ident:
13291
1.32M
  if (PARSER_MODE()) {
13292
615k
    elem->ident = SCNG(yy_text);
13293
615k
  }
13294
1.32M
  if (SCNG(on_event)) {
13295
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13296
0
  }
13297
1.32M
  return token;
13298
13299
6.31M
return_whitespace:
13300
6.31M
  HANDLE_NEWLINES(yytext, yyleng);
13301
6.31M
  if (SCNG(on_event)) {
13302
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13303
0
  }
13304
6.31M
  if (PARSER_MODE()) {
13305
2.59M
    start_line = CG(zend_lineno);
13306
2.59M
    goto restart;
13307
3.72M
  } else {
13308
3.72M
    return T_WHITESPACE;
13309
3.72M
  }
13310
13311
260k
skip_token:
13312
260k
  if (SCNG(on_event)) {
13313
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13314
0
  }
13315
260k
  start_line = CG(zend_lineno);
13316
260k
  goto restart;
13317
6.31M
}