Coverage Report

Created: 2026-06-02 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright © Zend Technologies Ltd., a subsidiary company of          |
8
   |     Perforce Software, Inc., and Contributors.                       |
9
   +----------------------------------------------------------------------+
10
   | This source file is subject to the Modified BSD License that is      |
11
   | bundled with this package in the file LICENSE, and is available      |
12
   | through the World Wide Web at <https://www.php.net/license/>.        |
13
   |                                                                      |
14
   | SPDX-License-Identifier: BSD-3-Clause                                |
15
   +----------------------------------------------------------------------+
16
   | Authors: Marcus Boerger <helly@php.net>                              |
17
   |          Nuno Lopes <nlopess@php.net>                                |
18
   |          Scott MacVicar <scottmac@php.net>                           |
19
   | Flex version authors:                                                |
20
   |          Andi Gutmans <andi@php.net>                                 |
21
   |          Zeev Suraski <zeev@php.net>                                 |
22
   +----------------------------------------------------------------------+
23
*/
24
25
#if 0
26
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
27
#else
28
# define YYDEBUG(s, c)
29
#endif
30
31
#include "zend_language_scanner_defs.h"
32
33
#include <errno.h>
34
#include <stdint.h>
35
#include "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
21.3M
#define YYCTYPE   unsigned char
53
51.2M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
268M
#define YYCURSOR  SCNG(yy_cursor)
55
75.7M
#define YYLIMIT   SCNG(yy_limit)
56
18.2M
#define YYMARKER  SCNG(yy_marker)
57
58
73.9M
#define YYGETCONDITION()  SCNG(yy_state)
59
12.4M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
3.03M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
149k
#define YYSTATE      YYGETCONDITION()
66
12.4M
#define yytext       ((char*)SCNG(yy_text))
67
31.6M
#define yyleng       SCNG(yy_leng)
68
3.02M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
3.02M
                          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
592M
#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
2.17M
#define HANDLE_NEWLINES(s, l)                         \
96
2.17M
do {                                     \
97
2.17M
  char *p = (s), *boundary = p+(l);                     \
98
2.17M
                                        \
99
14.5M
  while (p<boundary) {                           \
100
12.3M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
101
2.17M
      CG(zend_lineno)++;                          \
102
2.17M
    }                                    \
103
12.3M
    p++;                                  \
104
12.3M
  }                                      \
105
2.17M
} while (0)
106
107
63.0k
#define HANDLE_NEWLINE(c) \
108
63.0k
{ \
109
63.0k
  if (c == '\n' || c == '\r') { \
110
19.5k
    CG(zend_lineno)++; \
111
19.5k
  } \
112
63.0k
}
113
114
/* To save initial string length after scanning to first variable */
115
66.6k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
116
98.8k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
117
118
2.90M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
119
20.8k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
120
121
19.0k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
122
19.4k
#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
5.98k
{
127
5.98k
  char *src = str, *dest = str;
128
127k
  while (*src != '\0') {
129
122k
    if (*src != '_') {
130
113k
      *dest = *src;
131
113k
      dest++;
132
113k
    } else {
133
8.06k
      --(*len);
134
8.06k
    }
135
122k
    src++;
136
122k
  }
137
5.98k
  *dest = '\0';
138
5.98k
}
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
6.30M
{
169
6.30M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
170
6.30M
  YYSETCONDITION(new_state);
171
6.30M
}
172
173
6.30M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
174
175
static void yy_pop_state(void)
176
2.96M
{
177
2.96M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
178
2.96M
  YYSETCONDITION(*stack_state);
179
2.96M
  zend_stack_del_top(&SCNG(state_stack));
180
2.96M
}
181
182
static void yy_scan_buffer(char *str, size_t len)
183
38.9k
{
184
38.9k
  YYCURSOR       = (YYCTYPE*)str;
185
38.9k
  YYLIMIT        = YYCURSOR + len;
186
38.9k
  if (!SCNG(yy_start)) {
187
0
    SCNG(yy_start) = YYCURSOR;
188
0
  }
189
38.9k
}
190
191
void startup_scanner(void)
192
38.9k
{
193
38.9k
  CG(parse_error) = 0;
194
38.9k
  CG(doc_comment) = NULL;
195
38.9k
  CG(extra_fn_flags) = 0;
196
38.9k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
197
38.9k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
198
38.9k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
199
38.9k
  SCNG(heredoc_scan_ahead) = 0;
200
38.9k
}
201
202
4.59M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
203
4.59M
    efree(heredoc_label->label);
204
4.59M
}
205
206
void shutdown_scanner(void)
207
38.9k
{
208
38.9k
  CG(parse_error) = 0;
209
38.9k
  RESET_DOC_COMMENT();
210
38.9k
  zend_stack_destroy(&SCNG(state_stack));
211
38.9k
  zend_stack_destroy(&SCNG(nest_location_stack));
212
38.9k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
213
38.9k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
214
38.9k
  SCNG(heredoc_scan_ahead) = 0;
215
38.9k
  SCNG(on_event) = NULL;
216
38.9k
  SCNG(on_event_context) = NULL;
217
38.9k
}
218
219
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
220
149k
{
221
149k
  lex_state->yy_leng   = SCNG(yy_leng);
222
149k
  lex_state->yy_start  = SCNG(yy_start);
223
149k
  lex_state->yy_text   = SCNG(yy_text);
224
149k
  lex_state->yy_cursor = SCNG(yy_cursor);
225
149k
  lex_state->yy_marker = SCNG(yy_marker);
226
149k
  lex_state->yy_limit  = SCNG(yy_limit);
227
228
149k
  lex_state->state_stack = SCNG(state_stack);
229
149k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
230
231
149k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
232
149k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
233
234
149k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
235
149k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
236
237
149k
  lex_state->in = SCNG(yy_in);
238
149k
  lex_state->yy_state = YYSTATE;
239
149k
  lex_state->filename = CG(compiled_filename);
240
149k
  lex_state->lineno = CG(zend_lineno);
241
149k
  CG(compiled_filename) = NULL;
242
243
149k
  lex_state->script_org = SCNG(script_org);
244
149k
  lex_state->script_org_size = SCNG(script_org_size);
245
149k
  lex_state->script_filtered = SCNG(script_filtered);
246
149k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
247
149k
  lex_state->input_filter = SCNG(input_filter);
248
149k
  lex_state->output_filter = SCNG(output_filter);
249
149k
  lex_state->script_encoding = SCNG(script_encoding);
250
251
149k
  lex_state->on_event = SCNG(on_event);
252
149k
  lex_state->on_event_context = SCNG(on_event_context);
253
254
149k
  lex_state->ast = CG(ast);
255
149k
  lex_state->ast_arena = CG(ast_arena);
256
149k
}
257
258
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
259
147k
{
260
147k
  SCNG(yy_leng)   = lex_state->yy_leng;
261
147k
  SCNG(yy_start)  = lex_state->yy_start;
262
147k
  SCNG(yy_text)   = lex_state->yy_text;
263
147k
  SCNG(yy_cursor) = lex_state->yy_cursor;
264
147k
  SCNG(yy_marker) = lex_state->yy_marker;
265
147k
  SCNG(yy_limit)  = lex_state->yy_limit;
266
267
147k
  zend_stack_destroy(&SCNG(state_stack));
268
147k
  SCNG(state_stack) = lex_state->state_stack;
269
270
147k
  zend_stack_destroy(&SCNG(nest_location_stack));
271
147k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
272
273
147k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
274
147k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
275
147k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
276
277
147k
  SCNG(yy_in) = lex_state->in;
278
147k
  YYSETCONDITION(lex_state->yy_state);
279
147k
  CG(zend_lineno) = lex_state->lineno;
280
147k
  zend_restore_compiled_filename(lex_state->filename);
281
282
147k
  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
147k
  SCNG(script_org) = lex_state->script_org;
287
147k
  SCNG(script_org_size) = lex_state->script_org_size;
288
147k
  SCNG(script_filtered) = lex_state->script_filtered;
289
147k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
290
147k
  SCNG(input_filter) = lex_state->input_filter;
291
147k
  SCNG(output_filter) = lex_state->output_filter;
292
147k
  SCNG(script_encoding) = lex_state->script_encoding;
293
294
147k
  SCNG(on_event) = lex_state->on_event;
295
147k
  SCNG(on_event_context) = lex_state->on_event_context;
296
297
147k
  CG(ast) = lex_state->ast;
298
147k
  CG(ast_arena) = lex_state->ast_arena;
299
300
147k
  RESET_DOC_COMMENT();
301
147k
}
302
303
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
304
5.05k
{
305
5.05k
  unsigned char *end = ident;
306
27.2k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
307
22.2k
    end++;
308
22.2k
  }
309
310
5.05k
  size_t length = end - ident;
311
5.05k
  if (length == 0) {
312
6
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
313
6
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
314
6
    return FAILURE;
315
6
  }
316
317
5.04k
  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
5.04k
  ZVAL_STRINGL(zv, (char *) ident, length);
322
5.04k
  return SUCCESS;
323
5.05k
}
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
38.9k
{
531
38.9k
  char *buf;
532
38.9k
  size_t size;
533
38.9k
  zend_string *compiled_filename;
534
535
38.9k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
536
    /* Still add it to open_files to make destroy_file_handle work */
537
0
    zend_llist_add_element(&CG(open_files), file_handle);
538
0
    file_handle->in_list = 1;
539
0
    return FAILURE;
540
0
  }
541
542
38.9k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
543
38.9k
  zend_llist_add_element(&CG(open_files), file_handle);
544
38.9k
  file_handle->in_list = 1;
545
546
  /* Reset the scanner for scanning the new file */
547
38.9k
  SCNG(yy_in) = file_handle;
548
38.9k
  SCNG(yy_start) = NULL;
549
550
38.9k
  if (size != (size_t)-1) {
551
38.9k
    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
38.9k
    SCNG(yy_start) = (unsigned char *)buf;
568
38.9k
    yy_scan_buffer(buf, size);
569
38.9k
  } else {
570
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
571
0
  }
572
573
38.9k
  if (CG(skip_shebang)) {
574
0
    BEGIN(SHEBANG);
575
38.9k
  } else {
576
38.9k
    BEGIN(INITIAL);
577
38.9k
  }
578
579
38.9k
  if (file_handle->opened_path) {
580
0
    compiled_filename = zend_string_copy(file_handle->opened_path);
581
38.9k
  } else {
582
38.9k
    compiled_filename = zend_string_copy(file_handle->filename);
583
38.9k
  }
584
585
38.9k
  zend_set_compiled_filename(compiled_filename);
586
38.9k
  zend_string_release_ex(compiled_filename, 0);
587
588
38.9k
  SCNG(on_event) = NULL;
589
38.9k
  SCNG(on_event_context) = NULL;
590
38.9k
  RESET_DOC_COMMENT();
591
38.9k
  CG(zend_lineno) = 1;
592
38.9k
  CG(increment_lineno) = 0;
593
38.9k
  return SUCCESS;
594
38.9k
}
595
596
static zend_op_array *zend_compile(zend_function_type type)
597
38.9k
{
598
38.9k
  zend_op_array *op_array = NULL;
599
38.9k
  bool original_in_compilation = CG(in_compilation);
600
601
38.9k
  CG(in_compilation) = 1;
602
38.9k
  CG(ast) = NULL;
603
38.9k
  CG(ast_arena) = zend_arena_create(1024 * 32);
604
605
38.9k
  if (!zendparse()) {
606
18.7k
    uint32_t last_lineno = CG(zend_lineno);
607
18.7k
    zend_file_context original_file_context;
608
18.7k
    zend_oparray_context original_oparray_context;
609
18.7k
    zend_op_array *original_active_op_array = CG(active_op_array);
610
611
18.7k
    op_array = emalloc(sizeof(zend_op_array));
612
18.7k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
613
18.7k
    CG(active_op_array) = op_array;
614
615
    /* Use heap to not waste arena memory */
616
18.7k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
617
618
18.7k
    if (zend_ast_process) {
619
0
      zend_ast_process(CG(ast));
620
0
    }
621
622
18.7k
    zend_file_context_begin(&original_file_context);
623
18.7k
    zend_oparray_context_begin(&original_oparray_context, op_array);
624
18.7k
    zend_compile_top_stmt(CG(ast));
625
18.7k
    CG(zend_lineno) = last_lineno;
626
18.7k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
627
18.7k
    op_array->line_start = 1;
628
18.7k
    op_array->line_end = last_lineno;
629
18.7k
    pass_two(op_array);
630
18.7k
    zend_oparray_context_end(&original_oparray_context);
631
18.7k
    zend_file_context_end(&original_file_context);
632
633
18.7k
    CG(active_op_array) = original_active_op_array;
634
18.7k
  }
635
636
38.9k
  zend_ast_destroy(CG(ast));
637
38.9k
  zend_arena_destroy(CG(ast_arena));
638
639
38.9k
  CG(in_compilation) = original_in_compilation;
640
641
38.9k
  return op_array;
642
38.9k
}
643
644
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
645
38.9k
{
646
38.9k
  zend_lex_state original_lex_state;
647
38.9k
  zend_op_array *op_array = NULL;
648
38.9k
  zend_save_lexical_state(&original_lex_state);
649
650
38.9k
  if (open_file_for_scanning(file_handle)==FAILURE) {
651
0
    if (!EG(exception)) {
652
0
      if (type==ZEND_REQUIRE) {
653
0
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
654
0
      } else {
655
0
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
656
0
      }
657
0
    }
658
38.9k
  } else {
659
38.9k
    bool orig_record_errors = EG(record_errors);
660
38.9k
    if (!orig_record_errors) {
661
0
      zend_begin_record_errors();
662
0
    }
663
664
38.9k
    op_array = zend_compile(ZEND_USER_FUNCTION);
665
666
38.9k
    if (!orig_record_errors) {
667
0
      zend_emit_recorded_errors();
668
0
      zend_free_recorded_errors();
669
0
    }
670
38.9k
  }
671
672
38.9k
  zend_restore_lexical_state(&original_lex_state);
673
38.9k
  return op_array;
674
38.9k
}
675
676
ZEND_API zend_ast *zend_compile_string_to_ast(
677
0
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
678
0
  zval code_zv;
679
0
  bool original_in_compilation;
680
0
  zend_lex_state original_lex_state;
681
0
  zend_ast *ast;
682
683
0
  ZVAL_STR_COPY(&code_zv, code);
684
685
0
  original_in_compilation = CG(in_compilation);
686
0
  CG(in_compilation) = 1;
687
688
0
  zend_save_lexical_state(&original_lex_state);
689
0
  zend_prepare_string_for_scanning(&code_zv, filename);
690
0
  CG(ast) = NULL;
691
0
  CG(ast_arena) = zend_arena_create(1024 * 32);
692
0
  LANG_SCNG(yy_state) = yycINITIAL;
693
694
0
  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
0
  ast = CG(ast);
702
0
  *ast_arena = CG(ast_arena);
703
704
0
  zend_restore_lexical_state(&original_lex_state);
705
0
  CG(in_compilation) = original_in_compilation;
706
707
0
  zval_ptr_dtor_str(&code_zv);
708
709
0
  return ast;
710
0
}
711
712
zend_op_array *compile_filename(int type, zend_string *filename)
713
0
{
714
0
  zend_file_handle file_handle;
715
0
  zend_op_array *retval;
716
0
  zend_string *opened_path = NULL;
717
718
0
  zend_stream_init_filename_ex(&file_handle, filename);
719
720
0
  retval = zend_compile_file(&file_handle, type);
721
0
  if (retval && file_handle.handle.stream.handle) {
722
0
    if (!file_handle.opened_path) {
723
0
      file_handle.opened_path = opened_path = zend_string_copy(filename);
724
0
    }
725
726
0
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
727
728
0
    if (opened_path) {
729
0
      zend_string_release_ex(opened_path, 0);
730
0
    }
731
0
  }
732
0
  zend_destroy_file_handle(&file_handle);
733
734
0
  return retval;
735
0
}
736
737
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
738
0
{
739
0
  char *buf;
740
0
  size_t size, old_len;
741
742
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
743
0
  old_len = Z_STRLEN_P(str);
744
0
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
745
0
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
746
0
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
747
748
0
  SCNG(yy_in) = NULL;
749
0
  SCNG(yy_start) = NULL;
750
751
0
  buf = Z_STRVAL_P(str);
752
0
  size = old_len;
753
754
0
  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
0
  yy_scan_buffer(buf, size);
772
0
  zend_set_compiled_filename(filename);
773
0
  CG(zend_lineno) = 1;
774
0
  CG(increment_lineno) = 0;
775
0
  SCNG(on_event) = NULL;
776
0
  SCNG(on_event_context) = NULL;
777
0
  RESET_DOC_COMMENT();
778
0
}
779
780
781
ZEND_API size_t zend_get_scanned_file_offset(void)
782
15
{
783
15
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
784
15
  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
15
  return offset;
800
15
}
801
802
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
803
0
{
804
0
  zend_lex_state original_lex_state;
805
0
  zend_op_array *op_array = NULL;
806
0
  zval tmp;
807
0
  zend_string *filename_str;
808
809
0
  if (ZSTR_LEN(source_string) == 0) {
810
0
    return NULL;
811
0
  }
812
813
0
  ZVAL_STR_COPY(&tmp, source_string);
814
815
0
  zend_save_lexical_state(&original_lex_state);
816
0
  filename_str = zend_string_init(filename, strlen(filename), 0);
817
0
  zend_prepare_string_for_scanning(&tmp, filename_str);
818
0
  zend_string_release(filename_str);
819
820
0
  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
0
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
828
0
      BEGIN(ST_IN_SCRIPTING);
829
0
      break;
830
0
  }
831
832
0
  op_array = zend_compile(ZEND_EVAL_CODE);
833
834
0
  zend_restore_lexical_state(&original_lex_state);
835
0
  zval_ptr_dtor(&tmp);
836
837
0
  return op_array;
838
0
}
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
0
{
866
0
  zend_lex_state original_lex_state;
867
0
  zval str_zv;
868
0
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
869
0
  ZVAL_STR_COPY(&str_zv, str);
870
0
  zend_save_lexical_state(&original_lex_state);
871
0
  zend_prepare_string_for_scanning(&str_zv, filename_str);
872
0
  zend_string_release(filename_str);
873
0
  BEGIN(INITIAL);
874
0
  zend_highlight(syntax_highlighter_ini);
875
0
  if (SCNG(script_filtered)) {
876
0
    efree(SCNG(script_filtered));
877
0
    SCNG(script_filtered) = NULL;
878
0
  }
879
0
  zend_restore_lexical_state(&original_lex_state);
880
0
  zval_ptr_dtor(&str_zv);
881
0
}
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
2.37M
  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
2.37M
  } else if (yyleng == 1) { \
927
1.05M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
928
1.31M
  } else { \
929
1.31M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
930
1.31M
  }
931
932
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
933
191k
{
934
191k
  char *s, *t;
935
191k
  char *end;
936
937
191k
  if (len <= 1) {
938
42.5k
    if (len < 1) {
939
9.03k
      ZVAL_EMPTY_STRING(zendlval);
940
33.5k
    } else {
941
33.5k
      zend_uchar c = (zend_uchar)*str;
942
33.5k
      HANDLE_NEWLINE(c);
943
33.5k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
944
33.5k
    }
945
42.5k
    goto skip_escape_conversion;
946
42.5k
  }
947
948
149k
  ZVAL_STRINGL(zendlval, str, len);
949
950
  /* convert escape sequences */
951
149k
  s = Z_STRVAL_P(zendlval);
952
149k
  end = s+Z_STRLEN_P(zendlval);
953
1.72M
  while (1) {
954
1.72M
    if (UNEXPECTED(*s=='\\')) {
955
19.2k
      break;
956
19.2k
    }
957
1.70M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
958
101k
      CG(zend_lineno)++;
959
101k
    }
960
1.70M
    s++;
961
1.70M
    if (s == end) {
962
130k
      goto skip_escape_conversion;
963
130k
    }
964
1.70M
  }
965
966
19.2k
  t = s;
967
324k
  while (s<end) {
968
306k
    if (*s=='\\') {
969
35.4k
      s++;
970
35.4k
      if (s >= end) {
971
714
        *t++ = '\\';
972
714
        break;
973
714
      }
974
975
34.7k
      switch(*s) {
976
3.65k
        case 'n':
977
3.65k
          *t++ = '\n';
978
3.65k
          break;
979
306
        case 'r':
980
306
          *t++ = '\r';
981
306
          break;
982
369
        case 't':
983
369
          *t++ = '\t';
984
369
          break;
985
361
        case 'f':
986
361
          *t++ = '\f';
987
361
          break;
988
271
        case 'v':
989
271
          *t++ = '\v';
990
271
          break;
991
494
        case 'e':
992
#ifdef ZEND_WIN32
993
          *t++ = VK_ESCAPE;
994
#else
995
494
          *t++ = '\e';
996
494
#endif
997
494
          break;
998
910
        case '"':
999
1.33k
        case '`':
1000
1.33k
          if (*s != quote_type) {
1001
376
            *t++ = '\\';
1002
376
            *t++ = *s;
1003
376
            break;
1004
376
          }
1005
955
          ZEND_FALLTHROUGH;
1006
6.23k
        case '\\':
1007
7.01k
        case '$':
1008
7.01k
          *t++ = *s;
1009
7.01k
          break;
1010
2.86k
        case 'x':
1011
6.33k
        case 'X':
1012
6.33k
          if (ZEND_IS_HEX(*(s+1))) {
1013
3.85k
            char hex_buf[3] = { 0, 0, 0 };
1014
1015
3.85k
            hex_buf[0] = *(++s);
1016
3.85k
            if (ZEND_IS_HEX(*(s+1))) {
1017
1.98k
              hex_buf[1] = *(++s);
1018
1.98k
            }
1019
3.85k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1020
3.85k
          } else {
1021
2.48k
            *t++ = '\\';
1022
2.48k
            *t++ = *s;
1023
2.48k
          }
1024
6.33k
          break;
1025
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1026
3.02k
        case 'u':
1027
3.02k
          {
1028
            /* cache where we started so we can parse after validating */
1029
3.02k
            char *start = s + 1;
1030
3.02k
            size_t len = 0;
1031
3.02k
            bool valid = 1;
1032
3.02k
            unsigned long codepoint;
1033
1034
3.02k
            if (*start != '{') {
1035
              /* we silently let this pass to avoid breaking code
1036
               * with JSON in string literals (e.g. "\"\u202e\""
1037
               */
1038
494
              *t++ = '\\';
1039
494
              *t++ = 'u';
1040
494
              break;
1041
2.53k
            } else {
1042
              /* on the other hand, invalid \u{blah} errors */
1043
2.53k
              s++;
1044
2.53k
              len++;
1045
2.53k
              s++;
1046
11.2k
              while (*s != '}') {
1047
9.21k
                if (!ZEND_IS_HEX(*s)) {
1048
462
                  valid = 0;
1049
462
                  break;
1050
8.75k
                } else {
1051
8.75k
                  len++;
1052
8.75k
                }
1053
8.75k
                s++;
1054
8.75k
              }
1055
2.53k
              if (*s == '}') {
1056
2.07k
                valid = 1;
1057
2.07k
                len++;
1058
2.07k
              }
1059
2.53k
            }
1060
1061
            /* \u{} is invalid */
1062
2.53k
            if (len <= 2) {
1063
535
              valid = 0;
1064
535
            }
1065
1066
2.53k
            if (!valid) {
1067
661
              zend_throw_exception(zend_ce_parse_error,
1068
661
                "Invalid UTF-8 codepoint escape sequence", 0);
1069
661
              zval_ptr_dtor(zendlval);
1070
661
              ZVAL_UNDEF(zendlval);
1071
661
              return FAILURE;
1072
661
            }
1073
1074
2.53k
            errno = 0;
1075
1.87k
            codepoint = strtoul(start + 1, NULL, 16);
1076
1077
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1078
1.87k
            if (codepoint > 0x10FFFF || errno) {
1079
70
              zend_throw_exception(zend_ce_parse_error,
1080
70
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1081
70
              zval_ptr_dtor(zendlval);
1082
70
              ZVAL_UNDEF(zendlval);
1083
70
              return FAILURE;
1084
70
            }
1085
1086
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1087
1.80k
            if (codepoint < 0x80) {
1088
300
              *t++ = codepoint;
1089
1.50k
            } else if (codepoint <= 0x7FF) {
1090
317
              *t++ = (codepoint >> 6) + 0xC0;
1091
317
              *t++ = (codepoint & 0x3F) + 0x80;
1092
1.18k
            } else if (codepoint <= 0xFFFF) {
1093
269
              *t++ = (codepoint >> 12) + 0xE0;
1094
269
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1095
269
              *t++ = (codepoint & 0x3F) + 0x80;
1096
916
            } else if (codepoint <= 0x10FFFF) {
1097
916
              *t++ = (codepoint >> 18) + 0xF0;
1098
916
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1099
916
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1100
916
              *t++ = (codepoint & 0x3F) + 0x80;
1101
916
            }
1102
1.80k
          }
1103
0
          break;
1104
12.5k
        default:
1105
          /* check for an octal */
1106
12.5k
          if (ZEND_IS_OCT(*s)) {
1107
3.91k
            char octal_buf[4] = { 0, 0, 0, 0 };
1108
1109
3.91k
            octal_buf[0] = *s;
1110
3.91k
            if (ZEND_IS_OCT(*(s+1))) {
1111
2.56k
              octal_buf[1] = *(++s);
1112
2.56k
              if (ZEND_IS_OCT(*(s+1))) {
1113
1.53k
                octal_buf[2] = *(++s);
1114
1.53k
              }
1115
2.56k
            }
1116
3.91k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1117
              /* 3 octit values must not overflow 0xFF (\377) */
1118
136
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1119
136
            }
1120
1121
3.91k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1122
8.63k
          } else {
1123
8.63k
            *t++ = '\\';
1124
8.63k
            *t++ = *s;
1125
8.63k
          }
1126
12.5k
          break;
1127
34.7k
      }
1128
271k
    } else {
1129
271k
      *t++ = *s;
1130
271k
    }
1131
1132
305k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1133
13.9k
      CG(zend_lineno)++;
1134
13.9k
    }
1135
305k
    s++;
1136
305k
  }
1137
18.4k
  *t = 0;
1138
18.4k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1139
1140
191k
skip_escape_conversion:
1141
191k
  if (SCNG(output_filter)) {
1142
0
    size_t sz = 0;
1143
0
    unsigned char *str;
1144
    // TODO: avoid realocation ???
1145
0
    s = Z_STRVAL_P(zendlval);
1146
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1147
0
    zval_ptr_dtor(zendlval);
1148
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1149
0
    efree(str);
1150
0
  }
1151
191k
  return SUCCESS;
1152
18.4k
}
1153
1154
32.7k
#define HEREDOC_USING_SPACES 1
1155
16.5k
#define HEREDOC_USING_TABS 2
1156
1157
58.4k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1158
255k
  for (; str < end; str++) {
1159
225k
    if (*str == '\r') {
1160
3.90k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1161
3.90k
      return str;
1162
221k
    } else if (*str == '\n') {
1163
24.2k
      *newline_len = 1;
1164
24.2k
      return str;
1165
24.2k
    }
1166
225k
  }
1167
30.3k
  *newline_len = 0;
1168
30.3k
  return NULL;
1169
58.4k
}
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
29.4k
{
1175
29.4k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1176
29.4k
  char *copy = Z_STRVAL_P(zendlval);
1177
1178
29.4k
  uint32_t newline_count = 0;
1179
29.4k
  size_t newline_len;
1180
29.4k
  const char *nl;
1181
1182
29.4k
  if (!newline_at_start) {
1183
8.07k
    nl = next_newline(str, end, &newline_len);
1184
8.07k
    if (!nl) {
1185
2.45k
      return 1;
1186
2.45k
    }
1187
1188
5.61k
    str = nl + newline_len;
1189
5.61k
    copy = (char *) nl + newline_len;
1190
5.61k
    newline_count++;
1191
21.3k
  } else {
1192
21.3k
    nl = str;
1193
21.3k
  }
1194
1195
  /* <= intentional */
1196
59.9k
  while (str <= end && nl) {
1197
50.3k
    size_t skip;
1198
50.3k
    nl = next_newline(str, end, &newline_len);
1199
50.3k
    if (!nl && newline_at_end) {
1200
2.07k
      nl = end;
1201
2.07k
    }
1202
1203
    /* Try to skip indentation */
1204
50.9k
    for (skip = 0; skip < indentation; skip++, str++) {
1205
750
      if (str == nl) {
1206
        /* Don't require full indentation on whitespace-only lines */
1207
157
        break;
1208
157
      }
1209
1210
593
      if (str == end || (*str != ' ' && *str != '\t')) {
1211
12
        CG(zend_lineno) += newline_count;
1212
12
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1213
12
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1214
12
        goto error;
1215
12
      }
1216
1217
581
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1218
3
        CG(zend_lineno) += newline_count;
1219
3
        zend_throw_exception(zend_ce_parse_error,
1220
3
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1221
3
        goto error;
1222
3
      }
1223
581
    }
1224
1225
50.3k
    if (str == end) {
1226
17.3k
      break;
1227
17.3k
    }
1228
1229
32.9k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1230
32.9k
    memmove(copy, str, len);
1231
32.9k
    str += len;
1232
32.9k
    copy += len;
1233
32.9k
    newline_count++;
1234
32.9k
  }
1235
1236
26.9k
  *copy = '\0';
1237
26.9k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1238
26.9k
  return 1;
1239
1240
15
error:
1241
15
  zval_ptr_dtor_str(zendlval);
1242
15
  ZVAL_UNDEF(zendlval);
1243
1244
15
  return 0;
1245
26.9k
}
1246
1247
static void copy_heredoc_label_stack(void *void_heredoc_label)
1248
1.89M
{
1249
1.89M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1250
1.89M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1251
1252
1.89M
  *new_heredoc_label = *heredoc_label;
1253
1.89M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1254
1255
1.89M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1256
1.89M
}
1257
1258
/* Check that { }, [ ], ( ) are nested correctly */
1259
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1260
92.3k
{
1261
92.3k
  char   buf[256];
1262
92.3k
  size_t used = 0;
1263
1264
92.3k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1265
1266
92.3k
  if (opening_lineno != CG(zend_lineno)) {
1267
46.9k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1268
46.9k
  }
1269
1270
92.3k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1271
4.98k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1272
4.98k
  }
1273
1274
92.3k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1275
92.3k
}
1276
1277
static void enter_nesting(char opening)
1278
3.93M
{
1279
3.93M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1280
3.93M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1281
3.93M
}
1282
1283
static zend_result exit_nesting(char closing)
1284
439k
{
1285
439k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1286
86
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1287
86
    return FAILURE;
1288
86
  }
1289
1290
439k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1291
439k
  char opening = nest_loc->text;
1292
1293
439k
  if ((opening == '{' && closing != '}') ||
1294
435k
      (opening == '[' && closing != ']') ||
1295
435k
      (opening == '(' && closing != ')')) {
1296
4.98k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1297
4.98k
    return FAILURE;
1298
4.98k
  }
1299
1300
434k
  zend_stack_del_top(&SCNG(nest_location_stack));
1301
434k
  return SUCCESS;
1302
439k
}
1303
1304
static zend_result check_nesting_at_end(void)
1305
109k
{
1306
109k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1307
87.3k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1308
87.3k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1309
87.3k
    return FAILURE;
1310
87.3k
  }
1311
1312
22.4k
  return SUCCESS;
1313
109k
}
1314
1315
#define PARSER_MODE() \
1316
6.47M
  EXPECTED(elem != NULL)
1317
1318
12.2M
#define RETURN_TOKEN(_token) do { \
1319
12.2M
    token = _token; \
1320
12.2M
    goto emit_token; \
1321
12.2M
  } while (0)
1322
1323
1.30M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1324
1.30M
    token = _token; \
1325
1.30M
    goto emit_token_with_val; \
1326
1.30M
  } while (0)
1327
1328
2.37M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1329
2.37M
    token = _token; \
1330
2.37M
    offset = _offset; \
1331
2.37M
    goto emit_token_with_str; \
1332
2.37M
  } while (0)
1333
1334
472k
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1335
472k
    token = _token; \
1336
472k
    goto emit_token_with_ident; \
1337
472k
  } while (0)
1338
1339
483k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1340
483k
    token = _token; \
1341
483k
    if (PARSER_MODE()) { \
1342
104k
      goto skip_token; \
1343
104k
    } \
1344
483k
    goto emit_token; \
1345
483k
  } while (0)
1346
1347
439k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1348
439k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1349
148
      RETURN_TOKEN(T_ERROR); \
1350
439k
    } else { \
1351
439k
      RETURN_TOKEN(_token); \
1352
439k
    } \
1353
439k
  } while(0)
1354
1355
109k
#define RETURN_END_TOKEN do { \
1356
109k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1357
2.49k
      RETURN_TOKEN(T_ERROR); \
1358
107k
    } else { \
1359
107k
      RETURN_TOKEN(END); \
1360
107k
    } \
1361
109k
  } while (0)
1362
1363
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1364
17.8M
{
1365
17.8M
int token;
1366
17.8M
int offset;
1367
17.8M
uint32_t start_line = CG(zend_lineno);
1368
1369
17.8M
  ZVAL_UNDEF(zendlval);
1370
21.2M
restart:
1371
21.2M
  SCNG(yy_text) = YYCURSOR;
1372
1373
1374
21.2M
#line 1375 "Zend/zend_language_scanner.c"
1375
21.2M
{
1376
21.2M
  YYCTYPE yych;
1377
21.2M
  unsigned int yyaccept = 0;
1378
21.2M
  if (YYGETCONDITION() < 5) {
1379
18.0M
    if (YYGETCONDITION() < 2) {
1380
14.1M
      if (YYGETCONDITION() < 1) {
1381
14.1M
        goto yyc_ST_IN_SCRIPTING;
1382
14.1M
      } else {
1383
80.6k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1384
80.6k
      }
1385
14.1M
    } else {
1386
3.81M
      if (YYGETCONDITION() < 3) {
1387
114k
        goto yyc_ST_BACKQUOTE;
1388
3.70M
      } else {
1389
3.70M
        if (YYGETCONDITION() < 4) {
1390
138k
          goto yyc_ST_DOUBLE_QUOTES;
1391
3.56M
        } else {
1392
3.56M
          goto yyc_ST_HEREDOC;
1393
3.56M
        }
1394
3.70M
      }
1395
3.81M
    }
1396
18.0M
  } else {
1397
3.20M
    if (YYGETCONDITION() < 8) {
1398
3.00M
      if (YYGETCONDITION() < 6) {
1399
2.81M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1400
2.81M
      } else {
1401
191k
        if (YYGETCONDITION() < 7) {
1402
191k
          goto yyc_ST_VAR_OFFSET;
1403
191k
        } else {
1404
0
          goto yyc_SHEBANG;
1405
0
        }
1406
191k
      }
1407
3.00M
    } else {
1408
201k
      if (YYGETCONDITION() < 9) {
1409
183k
        goto yyc_INITIAL;
1410
183k
      } else {
1411
17.6k
        if (YYGETCONDITION() < 10) {
1412
11.8k
          goto yyc_ST_END_HEREDOC;
1413
11.8k
        } else {
1414
5.79k
          goto yyc_ST_NOWDOC;
1415
5.79k
        }
1416
17.6k
      }
1417
201k
    }
1418
3.20M
  }
1419
/* *********************************** */
1420
14.1M
yyc_ST_IN_SCRIPTING:
1421
14.1M
  {
1422
14.1M
    static const unsigned char yybm[] = {
1423
      /* table 1 .. 8: 0 */
1424
14.1M
        0, 134, 134, 134, 134, 134, 134, 134, 
1425
14.1M
      134, 135,   4, 134, 134,   4, 134, 134, 
1426
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1427
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
14.1M
      135, 134, 134, 134, 134, 134, 134, 134, 
1429
14.1M
      134, 134,  66, 134, 134, 134, 134, 134, 
1430
14.1M
      190, 190, 182, 182, 182, 182, 182, 182, 
1431
14.1M
      166, 166, 134, 134, 134, 134, 134, 134, 
1432
14.1M
      134, 166, 166, 166, 166, 166, 166, 134, 
1433
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1434
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
14.1M
      134, 166, 166, 166, 166, 166, 166, 134, 
1437
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1438
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
14.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
      /* table 9 .. 11: 256 */
1457
14.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1458
14.1M
        0,  32,  32,   0,   0,  32,   0,   0, 
1459
14.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1460
14.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
14.1M
       32,   0,   0,   0,   0,   0,   0,   0, 
1462
14.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1463
14.1M
      192, 192, 192, 192, 192, 192, 192, 192, 
1464
14.1M
      192, 192,   0,   0,   0,   0,   0,   0, 
1465
14.1M
        0, 128, 128, 128, 128, 128, 128, 128, 
1466
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1467
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
14.1M
      128, 128, 128,   0,   0,   0,   0, 128, 
1469
14.1M
        0, 128, 128, 128, 128, 128, 128, 128, 
1470
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1471
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
14.1M
      128, 128, 128,   0,   0,   0,   0,   0, 
1473
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1474
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
14.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
14.1M
    };
1490
14.1M
    YYDEBUG(1, *YYCURSOR);
1491
14.1M
    YYFILL(16);
1492
14.1M
    yych = *YYCURSOR;
1493
14.1M
    if (yybm[256+yych] & 32) {
1494
1.50M
      goto yy5;
1495
1.50M
    }
1496
12.5M
    switch (yych) {
1497
939k
    case 0x00:
1498
978k
    case 0x01:
1499
989k
    case 0x02:
1500
996k
    case 0x03:
1501
1.01M
    case 0x04:
1502
1.03M
    case 0x05:
1503
1.05M
    case 0x06:
1504
1.05M
    case 0x07:
1505
1.07M
    case 0x08:
1506
1.07M
    case '\t':
1507
1.07M
    case '\n':
1508
1.08M
    case '\v':
1509
1.12M
    case '\f':
1510
1.12M
    case '\r':
1511
1.13M
    case 0x0E:
1512
1.14M
    case 0x0F:
1513
1.17M
    case 0x10:
1514
1.18M
    case 0x11:
1515
1.19M
    case 0x12:
1516
1.20M
    case 0x13:
1517
1.21M
    case 0x14:
1518
1.21M
    case 0x15:
1519
1.22M
    case 0x16:
1520
1.22M
    case 0x17:
1521
1.23M
    case 0x18:
1522
1.23M
    case 0x19:
1523
1.24M
    case 0x1A:
1524
1.25M
    case 0x1B:
1525
1.26M
    case 0x1C:
1526
1.26M
    case 0x1D:
1527
1.27M
    case 0x1E:
1528
1.28M
    case 0x1F:
1529
1.32M
    case 0x7F:  goto yy3;
1530
0
    case ' ':
1531
51.5k
    case '!': goto yy8;
1532
86.8k
    case '"': goto yy10;
1533
343k
    case '#': goto yy12;
1534
654k
    case '$': goto yy14;
1535
27.7k
    case '%': goto yy15;
1536
112k
    case '&': goto yy16;
1537
83.6k
    case '\'':  goto yy18;
1538
350k
    case '(': goto yy20;
1539
211k
    case ')':
1540
351k
    case ']': goto yy22;
1541
74.0k
    case '*': goto yy24;
1542
73.5k
    case '+': goto yy25;
1543
242k
    case ',':
1544
461k
    case ';':
1545
899k
    case '@':
1546
947k
    case '~': goto yy26;
1547
125k
    case '-': goto yy27;
1548
91.9k
    case '.': goto yy28;
1549
99.4k
    case '/': goto yy29;
1550
95.7k
    case '0': goto yy30;
1551
70.2k
    case '1':
1552
119k
    case '2':
1553
148k
    case '3':
1554
176k
    case '4':
1555
195k
    case '5':
1556
219k
    case '6':
1557
238k
    case '7':
1558
255k
    case '8':
1559
272k
    case '9': goto yy32;
1560
108k
    case ':': goto yy34;
1561
3.54M
    case '<': goto yy35;
1562
104k
    case '=': goto yy36;
1563
46.5k
    case '>': goto yy37;
1564
246k
    case '?': goto yy38;
1565
34.1k
    case 'A':
1566
116k
    case 'a': goto yy39;
1567
12.7k
    case 'B':
1568
43.3k
    case 'b': goto yy41;
1569
47.6k
    case 'C':
1570
146k
    case 'c': goto yy42;
1571
7.07k
    case 'D':
1572
56.7k
    case 'd': goto yy43;
1573
19.2k
    case 'E':
1574
296k
    case 'e': goto yy44;
1575
29.6k
    case 'F':
1576
175k
    case 'f': goto yy45;
1577
6.05k
    case 'G':
1578
34.3k
    case 'g': goto yy46;
1579
20.7k
    case 'I':
1580
130k
    case 'i': goto yy49;
1581
5.72k
    case 'L':
1582
31.0k
    case 'l': goto yy50;
1583
16.2k
    case 'M':
1584
47.2k
    case 'm': goto yy51;
1585
11.9k
    case 'N':
1586
79.2k
    case 'n': goto yy52;
1587
8.69k
    case 'O':
1588
34.7k
    case 'o': goto yy53;
1589
12.8k
    case 'P':
1590
89.2k
    case 'p': goto yy54;
1591
8.48k
    case 'R':
1592
60.9k
    case 'r': goto yy55;
1593
9.53k
    case 'S':
1594
68.1k
    case 's': goto yy56;
1595
12.0k
    case 'T':
1596
59.9k
    case 't': goto yy57;
1597
4.11k
    case 'U':
1598
36.1k
    case 'u': goto yy58;
1599
1.96k
    case 'V':
1600
20.1k
    case 'v': goto yy59;
1601
3.89k
    case 'W':
1602
11.3k
    case 'w': goto yy60;
1603
7.72k
    case 'X':
1604
15.1k
    case 'x': goto yy61;
1605
3.51k
    case 'Y':
1606
85.1k
    case 'y': goto yy62;
1607
159k
    case '[': goto yy63;
1608
130k
    case '\\':  goto yy64;
1609
16.9k
    case '^': goto yy66;
1610
120k
    case '_': goto yy67;
1611
33.7k
    case '`': goto yy68;
1612
587k
    case '{': goto yy70;
1613
61.2k
    case '|': goto yy72;
1614
87.7k
    case '}': goto yy73;
1615
539k
    default:  goto yy47;
1616
12.5M
    }
1617
1.32M
yy3:
1618
1.32M
    YYDEBUG(3, *YYCURSOR);
1619
1.32M
    ++YYCURSOR;
1620
1.32M
    YYDEBUG(4, *YYCURSOR);
1621
1.32M
    yyleng = YYCURSOR - SCNG(yy_text);
1622
1.32M
#line 3179 "Zend/zend_language_scanner.l"
1623
1.32M
    {
1624
1.32M
  if (YYCURSOR > YYLIMIT) {
1625
75.8k
    RETURN_END_TOKEN;
1626
75.8k
  }
1627
1628
1.25M
  RETURN_TOKEN(T_BAD_CHARACTER);
1629
1.25M
}
1630
0
#line 1631 "Zend/zend_language_scanner.c"
1631
1.90M
yy5:
1632
1.90M
    YYDEBUG(5, *YYCURSOR);
1633
1.90M
    ++YYCURSOR;
1634
1.90M
    YYFILL(1);
1635
1.90M
    yych = *YYCURSOR;
1636
1.90M
    YYDEBUG(6, *YYCURSOR);
1637
1.90M
    if (yybm[256+yych] & 32) {
1638
400k
      goto yy5;
1639
400k
    }
1640
1.50M
    YYDEBUG(7, *YYCURSOR);
1641
1.50M
    yyleng = YYCURSOR - SCNG(yy_text);
1642
1.50M
#line 1596 "Zend/zend_language_scanner.l"
1643
1.50M
    {
1644
1.50M
  goto return_whitespace;
1645
1.90M
}
1646
0
#line 1647 "Zend/zend_language_scanner.c"
1647
51.5k
yy8:
1648
51.5k
    YYDEBUG(8, *YYCURSOR);
1649
51.5k
    yych = *++YYCURSOR;
1650
51.5k
    if (yych == '=') goto yy75;
1651
2.66M
yy9:
1652
2.66M
    YYDEBUG(9, *YYCURSOR);
1653
2.66M
    yyleng = YYCURSOR - SCNG(yy_text);
1654
2.66M
#line 1968 "Zend/zend_language_scanner.l"
1655
2.66M
    {
1656
2.66M
  RETURN_TOKEN(yytext[0]);
1657
2.66M
}
1658
0
#line 1659 "Zend/zend_language_scanner.c"
1659
87.1k
yy10:
1660
87.1k
    YYDEBUG(10, *YYCURSOR);
1661
87.1k
    ++YYCURSOR;
1662
87.1k
    YYDEBUG(11, *YYCURSOR);
1663
87.1k
    yyleng = YYCURSOR - SCNG(yy_text);
1664
87.1k
#line 2631 "Zend/zend_language_scanner.l"
1665
87.1k
    {
1666
87.1k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1667
1668
1.02M
  while (YYCURSOR < YYLIMIT) {
1669
1.02M
    switch (*YYCURSOR++) {
1670
51.3k
      case '"':
1671
51.3k
        yyleng = YYCURSOR - SCNG(yy_text);
1672
51.3k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1673
51.3k
         || !PARSER_MODE()) {
1674
51.3k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1675
51.3k
        } else {
1676
4
          RETURN_TOKEN(T_ERROR);
1677
4
        }
1678
36.8k
      case '$':
1679
36.8k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1680
31.1k
          break;
1681
31.1k
        }
1682
5.75k
        continue;
1683
9.52k
      case '{':
1684
9.52k
        if (*YYCURSOR == '$') {
1685
584
          break;
1686
584
        }
1687
8.94k
        continue;
1688
23.5k
      case '\\':
1689
23.5k
        if (YYCURSOR < YYLIMIT) {
1690
23.1k
          YYCURSOR++;
1691
23.1k
        }
1692
23.5k
        ZEND_FALLTHROUGH;
1693
927k
      default:
1694
927k
        continue;
1695
1.02M
    }
1696
1697
31.6k
    YYCURSOR--;
1698
31.6k
    break;
1699
1.02M
  }
1700
1701
  /* Remember how much was scanned to save rescanning */
1702
87.1k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1703
1704
35.7k
  YYCURSOR = SCNG(yy_text) + yyleng;
1705
1706
35.7k
  BEGIN(ST_DOUBLE_QUOTES);
1707
35.7k
  RETURN_TOKEN('"');
1708
35.7k
}
1709
0
#line 1710 "Zend/zend_language_scanner.c"
1710
343k
yy12:
1711
343k
    YYDEBUG(12, *YYCURSOR);
1712
343k
    yych = *++YYCURSOR;
1713
343k
    if (yych == '[') goto yy77;
1714
335k
yy13:
1715
335k
    YYDEBUG(13, *YYCURSOR);
1716
335k
    yyleng = YYCURSOR - SCNG(yy_text);
1717
335k
#line 2459 "Zend/zend_language_scanner.l"
1718
335k
    {
1719
840k
  while (YYCURSOR < YYLIMIT) {
1720
837k
    switch (*YYCURSOR++) {
1721
136k
      case '\r':
1722
330k
      case '\n':
1723
330k
        YYCURSOR--;
1724
330k
        break;
1725
8.83k
      case '?':
1726
8.83k
        if (*YYCURSOR == '>') {
1727
1.96k
          YYCURSOR--;
1728
1.96k
          break;
1729
1.96k
        }
1730
6.87k
        ZEND_FALLTHROUGH;
1731
505k
      default:
1732
505k
        continue;
1733
837k
    }
1734
1735
332k
    break;
1736
837k
  }
1737
1738
335k
  yyleng = YYCURSOR - SCNG(yy_text);
1739
335k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1740
335k
}
1741
0
#line 1742 "Zend/zend_language_scanner.c"
1742
654k
yy14:
1743
654k
    YYDEBUG(14, *YYCURSOR);
1744
654k
    yych = *++YYCURSOR;
1745
654k
    if (yych <= '_') {
1746
163k
      if (yych <= '@') goto yy9;
1747
26.4k
      if (yych <= 'Z') goto yy79;
1748
5.74k
      if (yych <= '^') goto yy9;
1749
4.03k
      goto yy79;
1750
490k
    } else {
1751
490k
      if (yych <= '`') goto yy9;
1752
489k
      if (yych <= 'z') goto yy79;
1753
381k
      if (yych <= 0x7F) goto yy9;
1754
40.6k
      goto yy79;
1755
381k
    }
1756
27.7k
yy15:
1757
27.7k
    YYDEBUG(15, *YYCURSOR);
1758
27.7k
    yych = *++YYCURSOR;
1759
27.7k
    if (yych == '=') goto yy82;
1760
26.7k
    goto yy9;
1761
112k
yy16:
1762
112k
    YYDEBUG(16, *YYCURSOR);
1763
112k
    yyaccept = 0;
1764
112k
    yych = *(YYMARKER = ++YYCURSOR);
1765
112k
    if (yych <= '"') {
1766
46.5k
      if (yych <= '\f') {
1767
31.8k
        if (yych <= 0x08) goto yy17;
1768
30.2k
        if (yych <= '\n') goto yy85;
1769
30.2k
      } else {
1770
14.6k
        if (yych <= '\r') goto yy85;
1771
9.79k
        if (yych == ' ') goto yy85;
1772
9.79k
      }
1773
65.5k
    } else {
1774
65.5k
      if (yych <= '-') {
1775
27.6k
        if (yych <= '$') goto yy85;
1776
17.1k
        if (yych == '&') goto yy90;
1777
37.9k
      } else {
1778
37.9k
        if (yych <= '/') goto yy85;
1779
36.8k
        if (yych == '=') goto yy94;
1780
36.8k
      }
1781
65.5k
    }
1782
85.2k
yy17:
1783
85.2k
    YYDEBUG(17, *YYCURSOR);
1784
85.2k
    yyleng = YYCURSOR - SCNG(yy_text);
1785
85.2k
#line 1954 "Zend/zend_language_scanner.l"
1786
85.2k
    {
1787
85.2k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1788
85.2k
}
1789
0
#line 1790 "Zend/zend_language_scanner.c"
1790
83.9k
yy18:
1791
83.9k
    YYDEBUG(18, *YYCURSOR);
1792
83.9k
    ++YYCURSOR;
1793
83.9k
    YYDEBUG(19, *YYCURSOR);
1794
83.9k
    yyleng = YYCURSOR - SCNG(yy_text);
1795
83.9k
#line 2537 "Zend/zend_language_scanner.l"
1796
83.9k
    {
1797
83.9k
  char *s, *t;
1798
83.9k
  char *end;
1799
83.9k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1800
1801
965k
  while (1) {
1802
965k
    if (YYCURSOR < YYLIMIT) {
1803
961k
      if (*YYCURSOR == '\'') {
1804
79.9k
        YYCURSOR++;
1805
79.9k
        yyleng = YYCURSOR - SCNG(yy_text);
1806
1807
79.9k
        break;
1808
881k
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1809
5.30k
        YYCURSOR++;
1810
5.30k
      }
1811
961k
    } else {
1812
4.02k
      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
4.02k
      ZVAL_NULL(zendlval);
1818
4.02k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1819
4.02k
    }
1820
965k
  }
1821
1822
79.9k
  if (yyleng-bprefix-2 <= 1) {
1823
39.8k
    if (yyleng-bprefix-2 < 1) {
1824
18.8k
      ZVAL_EMPTY_STRING(zendlval);
1825
20.9k
    } else {
1826
20.9k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1827
20.9k
      HANDLE_NEWLINE(c);
1828
20.9k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1829
20.9k
    }
1830
39.8k
    goto skip_escape_conversion;
1831
39.8k
  }
1832
40.1k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1833
1834
  /* convert escape sequences */
1835
40.1k
  s = Z_STRVAL_P(zendlval);
1836
40.1k
  end = s+Z_STRLEN_P(zendlval);
1837
604k
  while (1) {
1838
604k
    if (UNEXPECTED(*s=='\\')) {
1839
2.31k
      break;
1840
2.31k
    }
1841
602k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1842
26.9k
      CG(zend_lineno)++;
1843
26.9k
    }
1844
602k
    s++;
1845
602k
    if (s == end) {
1846
37.8k
      goto skip_escape_conversion;
1847
37.8k
    }
1848
602k
  }
1849
1850
2.31k
  t = s;
1851
102k
  while (s<end) {
1852
99.9k
    if (*s=='\\') {
1853
4.37k
      s++;
1854
4.37k
      if (*s == '\\' || *s == '\'') {
1855
1.59k
        *t++ = *s;
1856
2.78k
      } else {
1857
2.78k
        *t++ = '\\';
1858
2.78k
        *t++ = *s;
1859
2.78k
      }
1860
95.6k
    } else {
1861
95.6k
      *t++ = *s;
1862
95.6k
    }
1863
99.9k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1864
5.74k
      CG(zend_lineno)++;
1865
5.74k
    }
1866
99.9k
    s++;
1867
99.9k
  }
1868
2.31k
  *t = 0;
1869
2.31k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1870
1871
79.9k
skip_escape_conversion:
1872
79.9k
  if (SCNG(output_filter)) {
1873
0
    size_t sz = 0;
1874
0
    char *str = NULL;
1875
0
    zend_string *new_str;
1876
0
    s = Z_STRVAL_P(zendlval);
1877
    // TODO: avoid reallocation ???
1878
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1879
0
    new_str = zend_string_init(str, sz, 0);
1880
0
    if (str != s) {
1881
0
      efree(str);
1882
0
    }
1883
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1884
0
    ZVAL_STR(zendlval, new_str);
1885
0
  }
1886
79.9k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1887
79.9k
}
1888
0
#line 1889 "Zend/zend_language_scanner.c"
1889
350k
yy20:
1890
350k
    YYDEBUG(20, *YYCURSOR);
1891
350k
    yyaccept = 1;
1892
350k
    yych = *(YYMARKER = ++YYCURSOR);
1893
350k
    if (yych <= 'S') {
1894
177k
      if (yych <= 'D') {
1895
167k
        if (yych <= ' ') {
1896
14.3k
          if (yych == '\t') goto yy97;
1897
11.1k
          if (yych >= ' ') goto yy97;
1898
153k
        } else {
1899
153k
          if (yych <= '@') goto yy21;
1900
10.0k
          if (yych != 'C') goto yy97;
1901
10.0k
        }
1902
167k
      } else {
1903
10.3k
        if (yych <= 'I') {
1904
2.87k
          if (yych == 'F') goto yy97;
1905
2.11k
          if (yych >= 'I') goto yy97;
1906
7.46k
        } else {
1907
7.46k
          if (yych == 'O') goto yy97;
1908
6.97k
          if (yych >= 'R') goto yy97;
1909
6.97k
        }
1910
10.3k
      }
1911
177k
    } else {
1912
172k
      if (yych <= 'f') {
1913
77.5k
        if (yych <= 'b') {
1914
55.5k
          if (yych <= 'T') goto yy21;
1915
54.9k
          if (yych <= 'V') goto yy97;
1916
54.0k
          if (yych >= 'a') goto yy97;
1917
54.0k
        } else {
1918
21.9k
          if (yych == 'd') goto yy97;
1919
16.6k
          if (yych >= 'f') goto yy97;
1920
16.6k
        }
1921
94.6k
      } else {
1922
94.6k
        if (yych <= 'o') {
1923
31.4k
          if (yych == 'i') goto yy97;
1924
18.5k
          if (yych >= 'o') goto yy97;
1925
63.1k
        } else {
1926
63.1k
          if (yych <= 's') {
1927
23.1k
            if (yych >= 'r') goto yy97;
1928
39.9k
          } else {
1929
39.9k
            if (yych <= 't') goto yy21;
1930
35.3k
            if (yych <= 'v') goto yy97;
1931
35.3k
          }
1932
63.1k
        }
1933
94.6k
      }
1934
172k
    }
1935
497k
yy21:
1936
497k
    YYDEBUG(21, *YYCURSOR);
1937
497k
    yyleng = YYCURSOR - SCNG(yy_text);
1938
497k
#line 1963 "Zend/zend_language_scanner.l"
1939
497k
    {
1940
497k
  enter_nesting(yytext[0]);
1941
497k
  RETURN_TOKEN(yytext[0]);
1942
497k
}
1943
0
#line 1944 "Zend/zend_language_scanner.c"
1944
351k
yy22:
1945
351k
    YYDEBUG(22, *YYCURSOR);
1946
351k
    ++YYCURSOR;
1947
351k
    YYDEBUG(23, *YYCURSOR);
1948
351k
    yyleng = YYCURSOR - SCNG(yy_text);
1949
351k
#line 1958 "Zend/zend_language_scanner.l"
1950
351k
    {
1951
  /* Check that ] and ) match up properly with a preceding [ or ( */
1952
351k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1953
351k
}
1954
0
#line 1955 "Zend/zend_language_scanner.c"
1955
74.0k
yy24:
1956
74.0k
    YYDEBUG(24, *YYCURSOR);
1957
74.0k
    yych = *++YYCURSOR;
1958
74.0k
    if (yych == '*') goto yy108;
1959
56.1k
    if (yych == '=') goto yy110;
1960
53.9k
    goto yy9;
1961
73.5k
yy25:
1962
73.5k
    YYDEBUG(25, *YYCURSOR);
1963
73.5k
    yych = *++YYCURSOR;
1964
73.5k
    if (yych == '+') goto yy112;
1965
70.9k
    if (yych == '=') goto yy114;
1966
70.1k
    goto yy9;
1967
947k
yy26:
1968
947k
    YYDEBUG(26, *YYCURSOR);
1969
947k
    ++YYCURSOR;
1970
947k
    goto yy9;
1971
125k
yy27:
1972
125k
    YYDEBUG(27, *YYCURSOR);
1973
125k
    yych = *++YYCURSOR;
1974
125k
    if (yych <= '<') {
1975
56.8k
      if (yych == '-') goto yy116;
1976
51.9k
      goto yy9;
1977
68.6k
    } else {
1978
68.6k
      if (yych <= '=') goto yy118;
1979
67.9k
      if (yych <= '>') goto yy120;
1980
39.8k
      goto yy9;
1981
67.9k
    }
1982
91.9k
yy28:
1983
91.9k
    YYDEBUG(28, *YYCURSOR);
1984
91.9k
    yyaccept = 2;
1985
91.9k
    yych = *(YYMARKER = ++YYCURSOR);
1986
91.9k
    if (yych <= '/') {
1987
46.2k
      if (yych == '.') goto yy122;
1988
26.5k
      goto yy9;
1989
46.2k
    } else {
1990
45.6k
      if (yych <= '9') goto yy123;
1991
27.4k
      if (yych == '=') goto yy126;
1992
25.6k
      goto yy9;
1993
27.4k
    }
1994
99.4k
yy29:
1995
99.4k
    YYDEBUG(29, *YYCURSOR);
1996
99.4k
    yych = *++YYCURSOR;
1997
99.4k
    if (yych <= '.') {
1998
52.6k
      if (yych == '*') goto yy128;
1999
16.2k
      goto yy9;
2000
52.6k
    } else {
2001
46.8k
      if (yych <= '/') goto yy130;
2002
42.4k
      if (yych == '=') goto yy131;
2003
41.5k
      goto yy9;
2004
42.4k
    }
2005
95.7k
yy30:
2006
95.7k
    YYDEBUG(30, *YYCURSOR);
2007
95.7k
    yyaccept = 3;
2008
95.7k
    yych = *(YYMARKER = ++YYCURSOR);
2009
95.7k
    if (yych <= 'X') {
2010
52.6k
      if (yych <= 'N') {
2011
46.6k
        if (yych == 'B') goto yy134;
2012
46.3k
        goto yy33;
2013
46.6k
      } else {
2014
6.00k
        if (yych <= 'O') goto yy136;
2015
4.79k
        if (yych <= 'W') goto yy33;
2016
3.75k
        goto yy137;
2017
4.79k
      }
2018
52.6k
    } else {
2019
43.1k
      if (yych <= 'n') {
2020
20.1k
        if (yych == 'b') goto yy134;
2021
17.8k
        goto yy33;
2022
23.0k
      } else {
2023
23.0k
        if (yych <= 'o') goto yy136;
2024
21.6k
        if (yych == 'x') goto yy137;
2025
19.7k
        goto yy33;
2026
21.6k
      }
2027
43.1k
    }
2028
312k
yy31:
2029
312k
    YYDEBUG(31, *YYCURSOR);
2030
312k
    yyleng = YYCURSOR - SCNG(yy_text);
2031
312k
#line 2102 "Zend/zend_language_scanner.l"
2032
312k
    {
2033
312k
  size_t len = yyleng;
2034
312k
  char *end, *lnum = yytext;
2035
312k
  bool is_octal = lnum[0] == '0';
2036
312k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2037
2038
312k
  if (contains_underscores) {
2039
1.22k
    lnum = estrndup(lnum, len);
2040
1.22k
    strip_underscores(lnum, &len);
2041
1.22k
  }
2042
2043
  /* Digits 8 and 9 are illegal in octal literals. */
2044
312k
  if (is_octal) {
2045
80.8k
    size_t i;
2046
213k
    for (i = 0; i < len; i++) {
2047
132k
      if (lnum[i] == '8' || lnum[i] == '9') {
2048
712
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2049
712
        if (PARSER_MODE()) {
2050
12
          if (contains_underscores) {
2051
2
            efree(lnum);
2052
2
          }
2053
12
          ZVAL_UNDEF(zendlval);
2054
12
          RETURN_TOKEN(T_ERROR);
2055
12
        }
2056
2057
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2058
700
        len = i;
2059
700
        break;
2060
712
      }
2061
132k
    }
2062
80.8k
  }
2063
2064
2065
312k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2066
302k
    errno = 0;
2067
    /* base must be passed explicitly for correct parse error on Windows */
2068
302k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2069
302k
    ZEND_ASSERT(end == lnum + len);
2070
302k
  } else {
2071
9.90k
    errno = 0;
2072
9.90k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2073
9.90k
    if (errno == ERANGE) { /* Overflow */
2074
8.52k
      errno = 0;
2075
8.52k
      if (is_octal) { /* octal overflow */
2076
469
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2077
8.05k
      } else {
2078
8.05k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2079
8.05k
      }
2080
8.52k
      ZEND_ASSERT(end == lnum + len);
2081
8.52k
      if (contains_underscores) {
2082
397
        efree(lnum);
2083
397
      }
2084
8.52k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2085
8.52k
    }
2086
1.37k
    ZEND_ASSERT(end == lnum + len);
2087
1.37k
  }
2088
304k
  ZEND_ASSERT(!errno);
2089
304k
  if (contains_underscores) {
2090
827
    efree(lnum);
2091
827
  }
2092
304k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2093
304k
}
2094
0
#line 2095 "Zend/zend_language_scanner.c"
2095
996k
yy32:
2096
996k
    YYDEBUG(32, *YYCURSOR);
2097
996k
    yyaccept = 3;
2098
996k
    YYMARKER = ++YYCURSOR;
2099
996k
    YYFILL(3);
2100
996k
    yych = *YYCURSOR;
2101
1.08M
yy33:
2102
1.08M
    YYDEBUG(33, *YYCURSOR);
2103
1.08M
    if (yybm[256+yych] & 64) {
2104
720k
      goto yy32;
2105
720k
    }
2106
360k
    if (yych <= 'E') {
2107
221k
      if (yych == '.') goto yy133;
2108
193k
      if (yych <= 'D') goto yy31;
2109
9.10k
      goto yy135;
2110
193k
    } else {
2111
138k
      if (yych <= '_') {
2112
52.0k
        if (yych <= '^') goto yy31;
2113
5.79k
        goto yy138;
2114
86.7k
      } else {
2115
86.7k
        if (yych == 'e') goto yy135;
2116
72.8k
        goto yy31;
2117
86.7k
      }
2118
138k
    }
2119
108k
yy34:
2120
108k
    YYDEBUG(34, *YYCURSOR);
2121
108k
    yych = *++YYCURSOR;
2122
108k
    if (yych == ':') goto yy139;
2123
43.8k
    goto yy9;
2124
3.54M
yy35:
2125
3.54M
    YYDEBUG(35, *YYCURSOR);
2126
3.54M
    yych = *++YYCURSOR;
2127
3.54M
    if (yych <= ';') goto yy9;
2128
3.41M
    if (yych <= '<') goto yy141;
2129
369k
    if (yych <= '=') goto yy143;
2130
363k
    if (yych <= '>') goto yy145;
2131
359k
    goto yy9;
2132
359k
yy36:
2133
104k
    YYDEBUG(36, *YYCURSOR);
2134
104k
    yych = *++YYCURSOR;
2135
104k
    if (yych <= '<') goto yy9;
2136
57.8k
    if (yych <= '=') goto yy146;
2137
48.1k
    if (yych <= '>') goto yy148;
2138
14.0k
    goto yy9;
2139
46.5k
yy37:
2140
46.5k
    YYDEBUG(37, *YYCURSOR);
2141
46.5k
    yych = *++YYCURSOR;
2142
46.5k
    if (yych <= '<') goto yy9;
2143
29.3k
    if (yych <= '=') goto yy150;
2144
26.5k
    if (yych <= '>') goto yy152;
2145
16.8k
    goto yy9;
2146
246k
yy38:
2147
246k
    YYDEBUG(38, *YYCURSOR);
2148
246k
    yyaccept = 2;
2149
246k
    yych = *(YYMARKER = ++YYCURSOR);
2150
246k
    if (yych <= '=') {
2151
93.3k
      if (yych == '-') goto yy154;
2152
79.6k
      goto yy9;
2153
152k
    } else {
2154
152k
      if (yych <= '>') goto yy155;
2155
74.8k
      if (yych <= '?') goto yy157;
2156
51.0k
      goto yy9;
2157
74.8k
    }
2158
116k
yy39:
2159
116k
    YYDEBUG(39, *YYCURSOR);
2160
116k
    yyaccept = 4;
2161
116k
    yych = *(YYMARKER = ++YYCURSOR);
2162
116k
    if (yych <= 'S') {
2163
44.4k
      if (yych <= 'M') {
2164
36.1k
        if (yych == 'B') goto yy159;
2165
35.5k
        goto yy48;
2166
36.1k
      } else {
2167
8.29k
        if (yych <= 'N') goto yy160;
2168
7.17k
        if (yych <= 'Q') goto yy48;
2169
6.62k
        if (yych <= 'R') goto yy161;
2170
5.38k
        goto yy162;
2171
6.62k
      }
2172
72.5k
    } else {
2173
72.5k
      if (yych <= 'n') {
2174
24.1k
        if (yych == 'b') goto yy159;
2175
16.4k
        if (yych <= 'm') goto yy48;
2176
5.42k
        goto yy160;
2177
48.3k
      } else {
2178
48.3k
        if (yych <= 'q') goto yy48;
2179
47.5k
        if (yych <= 'r') goto yy161;
2180
35.2k
        if (yych <= 's') goto yy162;
2181
8.47k
        goto yy48;
2182
35.2k
      }
2183
72.5k
    }
2184
1.80M
yy40:
2185
1.80M
    YYDEBUG(40, *YYCURSOR);
2186
1.80M
    yyleng = YYCURSOR - SCNG(yy_text);
2187
1.80M
#line 2454 "Zend/zend_language_scanner.l"
2188
1.80M
    {
2189
1.80M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2190
1.80M
}
2191
0
#line 2192 "Zend/zend_language_scanner.c"
2192
43.3k
yy41:
2193
43.3k
    YYDEBUG(41, *YYCURSOR);
2194
43.3k
    yyaccept = 4;
2195
43.3k
    yych = *(YYMARKER = ++YYCURSOR);
2196
43.3k
    if (yych <= ';') {
2197
11.7k
      if (yych <= '"') {
2198
4.03k
        if (yych <= '!') goto yy48;
2199
331
        goto yy10;
2200
7.66k
      } else {
2201
7.66k
        if (yych == '\'') goto yy18;
2202
7.34k
        goto yy48;
2203
7.66k
      }
2204
31.6k
    } else {
2205
31.6k
      if (yych <= 'R') {
2206
6.83k
        if (yych <= '<') goto yy165;
2207
4.30k
        if (yych <= 'Q') goto yy48;
2208
746
        goto yy166;
2209
24.7k
      } else {
2210
24.7k
        if (yych == 'r') goto yy166;
2211
20.6k
        goto yy48;
2212
24.7k
      }
2213
31.6k
    }
2214
146k
yy42:
2215
146k
    YYDEBUG(42, *YYCURSOR);
2216
146k
    yyaccept = 4;
2217
146k
    yych = *(YYMARKER = ++YYCURSOR);
2218
146k
    if (yych <= 'O') {
2219
45.5k
      if (yych <= 'K') {
2220
39.4k
        if (yych == 'A') goto yy167;
2221
37.7k
        goto yy48;
2222
39.4k
      } else {
2223
6.07k
        if (yych <= 'L') goto yy168;
2224
4.40k
        if (yych <= 'N') goto yy48;
2225
3.86k
        goto yy169;
2226
4.40k
      }
2227
101k
    } else {
2228
101k
      if (yych <= 'k') {
2229
27.3k
        if (yych == 'a') goto yy167;
2230
7.76k
        goto yy48;
2231
74.0k
      } else {
2232
74.0k
        if (yych <= 'l') goto yy168;
2233
43.5k
        if (yych == 'o') goto yy169;
2234
12.4k
        goto yy48;
2235
43.5k
      }
2236
101k
    }
2237
56.7k
yy43:
2238
56.7k
    YYDEBUG(43, *YYCURSOR);
2239
56.7k
    yyaccept = 4;
2240
56.7k
    yych = *(YYMARKER = ++YYCURSOR);
2241
56.7k
    if (yych <= 'O') {
2242
18.4k
      if (yych <= 'H') {
2243
16.3k
        if (yych == 'E') goto yy170;
2244
15.7k
        goto yy48;
2245
16.3k
      } else {
2246
2.06k
        if (yych <= 'I') goto yy171;
2247
1.69k
        if (yych <= 'N') goto yy48;
2248
946
        goto yy172;
2249
1.69k
      }
2250
38.3k
    } else {
2251
38.3k
      if (yych <= 'h') {
2252
18.9k
        if (yych == 'e') goto yy170;
2253
4.52k
        goto yy48;
2254
19.3k
      } else {
2255
19.3k
        if (yych <= 'i') goto yy171;
2256
10.2k
        if (yych == 'o') goto yy172;
2257
5.09k
        goto yy48;
2258
10.2k
      }
2259
38.3k
    }
2260
296k
yy44:
2261
296k
    YYDEBUG(44, *YYCURSOR);
2262
296k
    yyaccept = 4;
2263
296k
    yych = *(YYMARKER = ++YYCURSOR);
2264
296k
    switch (yych) {
2265
1.49k
    case 'C':
2266
9.90k
    case 'c': goto yy174;
2267
1.25k
    case 'L':
2268
17.1k
    case 'l': goto yy175;
2269
296
    case 'M':
2270
4.97k
    case 'm': goto yy176;
2271
72.8k
    case 'N':
2272
161k
    case 'n': goto yy177;
2273
371
    case 'V':
2274
5.40k
    case 'v': goto yy178;
2275
2.51k
    case 'X':
2276
21.1k
    case 'x': goto yy179;
2277
76.8k
    default:  goto yy48;
2278
296k
    }
2279
175k
yy45:
2280
175k
    YYDEBUG(45, *YYCURSOR);
2281
175k
    yyaccept = 4;
2282
175k
    yych = *(YYMARKER = ++YYCURSOR);
2283
175k
    if (yych <= 'U') {
2284
65.3k
      if (yych <= 'M') {
2285
52.3k
        if (yych == 'I') goto yy180;
2286
51.2k
        goto yy48;
2287
52.3k
      } else {
2288
13.0k
        if (yych <= 'N') goto yy181;
2289
12.5k
        if (yych <= 'O') goto yy183;
2290
10.9k
        if (yych <= 'T') goto yy48;
2291
1.99k
        goto yy184;
2292
10.9k
      }
2293
109k
    } else {
2294
109k
      if (yych <= 'n') {
2295
44.6k
        if (yych == 'i') goto yy180;
2296
30.1k
        if (yych <= 'm') goto yy48;
2297
18.1k
        goto yy181;
2298
65.0k
      } else {
2299
65.0k
        if (yych <= 'o') goto yy183;
2300
42.4k
        if (yych == 'u') goto yy184;
2301
15.9k
        goto yy48;
2302
42.4k
      }
2303
109k
    }
2304
34.3k
yy46:
2305
34.3k
    YYDEBUG(46, *YYCURSOR);
2306
34.3k
    yyaccept = 4;
2307
34.3k
    yych = *(YYMARKER = ++YYCURSOR);
2308
34.3k
    if (yych <= 'O') {
2309
17.4k
      if (yych == 'L') goto yy185;
2310
14.7k
      if (yych <= 'N') goto yy48;
2311
706
      goto yy186;
2312
16.9k
    } else {
2313
16.9k
      if (yych <= 'l') {
2314
9.49k
        if (yych <= 'k') goto yy48;
2315
2.64k
        goto yy185;
2316
9.49k
      } else {
2317
7.43k
        if (yych == 'o') goto yy186;
2318
2.66k
        goto yy48;
2319
7.43k
      }
2320
16.9k
    }
2321
5.51M
yy47:
2322
5.51M
    YYDEBUG(47, *YYCURSOR);
2323
5.51M
    yyaccept = 4;
2324
5.51M
    YYMARKER = ++YYCURSOR;
2325
5.51M
    YYFILL(1);
2326
5.51M
    yych = *YYCURSOR;
2327
6.67M
yy48:
2328
6.67M
    YYDEBUG(48, *YYCURSOR);
2329
6.67M
    if (yybm[256+yych] & 128) {
2330
4.86M
      goto yy47;
2331
4.86M
    }
2332
1.80M
    if (yych == '\\') goto yy164;
2333
1.78M
    goto yy40;
2334
1.78M
yy49:
2335
130k
    YYDEBUG(49, *YYCURSOR);
2336
130k
    yyaccept = 4;
2337
130k
    yych = *(YYMARKER = ++YYCURSOR);
2338
130k
    if (yych <= 'S') {
2339
30.4k
      if (yych <= 'L') {
2340
14.8k
        if (yych == 'F') goto yy187;
2341
14.6k
        goto yy48;
2342
15.6k
      } else {
2343
15.6k
        if (yych <= 'M') goto yy189;
2344
11.2k
        if (yych <= 'N') goto yy190;
2345
1.40k
        if (yych <= 'R') goto yy48;
2346
678
        goto yy191;
2347
1.40k
      }
2348
99.6k
    } else {
2349
99.6k
      if (yych <= 'm') {
2350
28.4k
        if (yych == 'f') goto yy187;
2351
22.3k
        if (yych <= 'l') goto yy48;
2352
14.9k
        goto yy189;
2353
71.2k
      } else {
2354
71.2k
        if (yych <= 'n') goto yy190;
2355
16.2k
        if (yych == 's') goto yy191;
2356
8.15k
        goto yy48;
2357
16.2k
      }
2358
99.6k
    }
2359
31.0k
yy50:
2360
31.0k
    YYDEBUG(50, *YYCURSOR);
2361
31.0k
    yyaccept = 4;
2362
31.0k
    yych = *(YYMARKER = ++YYCURSOR);
2363
31.0k
    if (yych == 'I') goto yy192;
2364
30.1k
    if (yych == 'i') goto yy192;
2365
24.6k
    goto yy48;
2366
47.2k
yy51:
2367
47.2k
    YYDEBUG(51, *YYCURSOR);
2368
47.2k
    yyaccept = 4;
2369
47.2k
    yych = *(YYMARKER = ++YYCURSOR);
2370
47.2k
    if (yych == 'A') goto yy193;
2371
46.9k
    if (yych == 'a') goto yy193;
2372
41.2k
    goto yy48;
2373
79.2k
yy52:
2374
79.2k
    YYDEBUG(52, *YYCURSOR);
2375
79.2k
    yyaccept = 4;
2376
79.2k
    yych = *(YYMARKER = ++YYCURSOR);
2377
79.2k
    if (yych <= 'E') {
2378
18.3k
      if (yych == 'A') goto yy194;
2379
17.4k
      if (yych <= 'D') goto yy48;
2380
503
      goto yy195;
2381
60.8k
    } else {
2382
60.8k
      if (yych <= 'a') {
2383
20.7k
        if (yych <= '`') goto yy48;
2384
14.9k
        goto yy194;
2385
40.1k
      } else {
2386
40.1k
        if (yych == 'e') goto yy195;
2387
25.8k
        goto yy48;
2388
40.1k
      }
2389
60.8k
    }
2390
34.7k
yy53:
2391
34.7k
    YYDEBUG(53, *YYCURSOR);
2392
34.7k
    yyaccept = 4;
2393
34.7k
    yych = *(YYMARKER = ++YYCURSOR);
2394
34.7k
    if (yych == 'R') goto yy196;
2395
33.5k
    if (yych == 'r') goto yy196;
2396
31.9k
    goto yy48;
2397
89.2k
yy54:
2398
89.2k
    YYDEBUG(54, *YYCURSOR);
2399
89.2k
    yyaccept = 4;
2400
89.2k
    yych = *(YYMARKER = ++YYCURSOR);
2401
89.2k
    if (yych <= 'U') {
2402
30.7k
      if (yych == 'R') goto yy198;
2403
26.5k
      if (yych <= 'T') goto yy48;
2404
1.36k
      goto yy199;
2405
58.5k
    } else {
2406
58.5k
      if (yych <= 'r') {
2407
36.9k
        if (yych <= 'q') goto yy48;
2408
23.4k
        goto yy198;
2409
36.9k
      } else {
2410
21.5k
        if (yych == 'u') goto yy199;
2411
5.51k
        goto yy48;
2412
21.5k
      }
2413
58.5k
    }
2414
60.9k
yy55:
2415
60.9k
    YYDEBUG(55, *YYCURSOR);
2416
60.9k
    yyaccept = 4;
2417
60.9k
    yych = *(YYMARKER = ++YYCURSOR);
2418
60.9k
    if (yych == 'E') goto yy200;
2419
56.9k
    if (yych == 'e') goto yy200;
2420
33.8k
    goto yy48;
2421
68.1k
yy56:
2422
68.1k
    YYDEBUG(56, *YYCURSOR);
2423
68.1k
    yyaccept = 4;
2424
68.1k
    yych = *(YYMARKER = ++YYCURSOR);
2425
68.1k
    if (yych <= 'W') {
2426
19.5k
      if (yych == 'T') goto yy201;
2427
17.7k
      if (yych <= 'V') goto yy48;
2428
199
      goto yy202;
2429
48.6k
    } else {
2430
48.6k
      if (yych <= 't') {
2431
40.8k
        if (yych <= 's') goto yy48;
2432
17.9k
        goto yy201;
2433
40.8k
      } else {
2434
7.77k
        if (yych == 'w') goto yy202;
2435
2.79k
        goto yy48;
2436
7.77k
      }
2437
48.6k
    }
2438
59.9k
yy57:
2439
59.9k
    YYDEBUG(57, *YYCURSOR);
2440
59.9k
    yyaccept = 4;
2441
59.9k
    yych = *(YYMARKER = ++YYCURSOR);
2442
59.9k
    if (yych <= 'R') {
2443
20.5k
      if (yych == 'H') goto yy203;
2444
20.0k
      if (yych <= 'Q') goto yy48;
2445
2.99k
      goto yy204;
2446
39.4k
    } else {
2447
39.4k
      if (yych <= 'h') {
2448
17.6k
        if (yych <= 'g') goto yy48;
2449
6.70k
        goto yy203;
2450
21.7k
      } else {
2451
21.7k
        if (yych == 'r') goto yy204;
2452
10.6k
        goto yy48;
2453
21.7k
      }
2454
39.4k
    }
2455
36.1k
yy58:
2456
36.1k
    YYDEBUG(58, *YYCURSOR);
2457
36.1k
    yyaccept = 4;
2458
36.1k
    yych = *(YYMARKER = ++YYCURSOR);
2459
36.1k
    if (yych <= 'S') {
2460
9.86k
      if (yych == 'N') goto yy205;
2461
9.17k
      if (yych <= 'R') goto yy48;
2462
476
      goto yy206;
2463
26.2k
    } else {
2464
26.2k
      if (yych <= 'n') {
2465
16.1k
        if (yych <= 'm') goto yy48;
2466
6.74k
        goto yy205;
2467
16.1k
      } else {
2468
10.0k
        if (yych == 's') goto yy206;
2469
4.68k
        goto yy48;
2470
10.0k
      }
2471
26.2k
    }
2472
20.1k
yy59:
2473
20.1k
    YYDEBUG(59, *YYCURSOR);
2474
20.1k
    yyaccept = 4;
2475
20.1k
    yych = *(YYMARKER = ++YYCURSOR);
2476
20.1k
    if (yych == 'A') goto yy207;
2477
19.9k
    if (yych == 'a') goto yy207;
2478
11.3k
    goto yy48;
2479
11.3k
yy60:
2480
11.3k
    YYDEBUG(60, *YYCURSOR);
2481
11.3k
    yyaccept = 4;
2482
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
2483
11.3k
    if (yych == 'H') goto yy208;
2484
11.1k
    if (yych == 'h') goto yy208;
2485
6.31k
    goto yy48;
2486
15.1k
yy61:
2487
15.1k
    YYDEBUG(61, *YYCURSOR);
2488
15.1k
    yyaccept = 4;
2489
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
2490
15.1k
    if (yych == 'O') goto yy209;
2491
14.6k
    if (yych == 'o') goto yy209;
2492
11.4k
    goto yy48;
2493
85.1k
yy62:
2494
85.1k
    YYDEBUG(62, *YYCURSOR);
2495
85.1k
    yyaccept = 4;
2496
85.1k
    yych = *(YYMARKER = ++YYCURSOR);
2497
85.1k
    if (yych == 'I') goto yy210;
2498
84.5k
    if (yych == 'i') goto yy210;
2499
12.9k
    goto yy48;
2500
159k
yy63:
2501
159k
    YYDEBUG(63, *YYCURSOR);
2502
159k
    ++YYCURSOR;
2503
159k
    goto yy21;
2504
130k
yy64:
2505
130k
    YYDEBUG(64, *YYCURSOR);
2506
130k
    yych = *++YYCURSOR;
2507
130k
    if (yych <= '_') {
2508
107k
      if (yych <= '@') goto yy65;
2509
71.8k
      if (yych <= 'Z') goto yy211;
2510
63.7k
      if (yych >= '_') goto yy211;
2511
63.7k
    } else {
2512
23.0k
      if (yych <= '`') goto yy65;
2513
21.7k
      if (yych <= 'z') goto yy211;
2514
11.0k
      if (yych >= 0x80) goto yy211;
2515
11.0k
    }
2516
105k
yy65:
2517
105k
    YYDEBUG(65, *YYCURSOR);
2518
105k
    yyleng = YYCURSOR - SCNG(yy_text);
2519
105k
#line 2450 "Zend/zend_language_scanner.l"
2520
105k
    {
2521
105k
  RETURN_TOKEN(T_NS_SEPARATOR);
2522
105k
}
2523
0
#line 2524 "Zend/zend_language_scanner.c"
2524
16.9k
yy66:
2525
16.9k
    YYDEBUG(66, *YYCURSOR);
2526
16.9k
    yych = *++YYCURSOR;
2527
16.9k
    if (yych == '=') goto yy214;
2528
16.3k
    goto yy9;
2529
120k
yy67:
2530
120k
    YYDEBUG(67, *YYCURSOR);
2531
120k
    yyaccept = 4;
2532
120k
    yych = *(YYMARKER = ++YYCURSOR);
2533
120k
    if (yych == '_') goto yy216;
2534
36.1k
    goto yy48;
2535
36.1k
yy68:
2536
33.7k
    YYDEBUG(68, *YYCURSOR);
2537
33.7k
    ++YYCURSOR;
2538
33.7k
    YYDEBUG(69, *YYCURSOR);
2539
33.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2540
33.7k
#line 2825 "Zend/zend_language_scanner.l"
2541
33.7k
    {
2542
33.7k
  BEGIN(ST_BACKQUOTE);
2543
33.7k
  RETURN_TOKEN('`');
2544
33.7k
}
2545
0
#line 2546 "Zend/zend_language_scanner.c"
2546
587k
yy70:
2547
587k
    YYDEBUG(70, *YYCURSOR);
2548
587k
    ++YYCURSOR;
2549
587k
    YYDEBUG(71, *YYCURSOR);
2550
587k
    yyleng = YYCURSOR - SCNG(yy_text);
2551
587k
#line 1973 "Zend/zend_language_scanner.l"
2552
587k
    {
2553
587k
  yy_push_state(ST_IN_SCRIPTING);
2554
587k
  enter_nesting('{');
2555
587k
  RETURN_TOKEN('{');
2556
587k
}
2557
0
#line 2558 "Zend/zend_language_scanner.c"
2558
61.2k
yy72:
2559
61.2k
    YYDEBUG(72, *YYCURSOR);
2560
61.2k
    yych = *++YYCURSOR;
2561
61.2k
    if (yych <= '>') {
2562
25.5k
      if (yych <= '<') goto yy9;
2563
7.19k
      if (yych <= '=') goto yy217;
2564
6.14k
      goto yy219;
2565
35.6k
    } else {
2566
35.6k
      if (yych == '|') goto yy221;
2567
31.3k
      goto yy9;
2568
35.6k
    }
2569
87.7k
yy73:
2570
87.7k
    YYDEBUG(73, *YYCURSOR);
2571
87.7k
    ++YYCURSOR;
2572
87.7k
    YYDEBUG(74, *YYCURSOR);
2573
87.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2574
87.7k
#line 1986 "Zend/zend_language_scanner.l"
2575
87.7k
    {
2576
87.7k
  RESET_DOC_COMMENT();
2577
87.7k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2578
87.6k
    yy_pop_state();
2579
87.6k
  }
2580
87.7k
  RETURN_EXIT_NESTING_TOKEN('}');
2581
87.7k
}
2582
0
#line 2583 "Zend/zend_language_scanner.c"
2583
4.57k
yy75:
2584
4.57k
    YYDEBUG(75, *YYCURSOR);
2585
4.57k
    yych = *++YYCURSOR;
2586
4.57k
    if (yych == '=') goto yy223;
2587
6.54k
yy76:
2588
6.54k
    YYDEBUG(76, *YYCURSOR);
2589
6.54k
    yyleng = YYCURSOR - SCNG(yy_text);
2590
6.54k
#line 1845 "Zend/zend_language_scanner.l"
2591
6.54k
    {
2592
6.54k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2593
6.54k
}
2594
0
#line 2595 "Zend/zend_language_scanner.c"
2595
12.8k
yy77:
2596
12.8k
    YYDEBUG(77, *YYCURSOR);
2597
12.8k
    ++YYCURSOR;
2598
12.8k
    YYDEBUG(78, *YYCURSOR);
2599
12.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2600
12.8k
#line 1422 "Zend/zend_language_scanner.l"
2601
12.8k
    {
2602
12.8k
  enter_nesting('[');
2603
12.8k
  RETURN_TOKEN(T_ATTRIBUTE);
2604
12.8k
}
2605
0
#line 2606 "Zend/zend_language_scanner.c"
2606
608k
yy79:
2607
608k
    YYDEBUG(79, *YYCURSOR);
2608
608k
    ++YYCURSOR;
2609
608k
    YYFILL(1);
2610
608k
    yych = *YYCURSOR;
2611
608k
    YYDEBUG(80, *YYCURSOR);
2612
608k
    if (yych <= '^') {
2613
228k
      if (yych <= '9') {
2614
120k
        if (yych >= '0') goto yy79;
2615
120k
      } else {
2616
108k
        if (yych <= '@') goto yy81;
2617
64.4k
        if (yych <= 'Z') goto yy79;
2618
64.4k
      }
2619
380k
    } else {
2620
380k
      if (yych <= '`') {
2621
14.9k
        if (yych <= '_') goto yy79;
2622
365k
      } else {
2623
365k
        if (yych <= 'z') goto yy79;
2624
182k
        if (yych >= 0x80) goto yy79;
2625
182k
      }
2626
380k
    }
2627
173k
yy81:
2628
173k
    YYDEBUG(81, *YYCURSOR);
2629
173k
    yyleng = YYCURSOR - SCNG(yy_text);
2630
173k
#line 2416 "Zend/zend_language_scanner.l"
2631
173k
    {
2632
173k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2633
173k
}
2634
0
#line 2635 "Zend/zend_language_scanner.c"
2635
942
yy82:
2636
942
    YYDEBUG(82, *YYCURSOR);
2637
942
    ++YYCURSOR;
2638
942
    YYDEBUG(83, *YYCURSOR);
2639
942
    yyleng = YYCURSOR - SCNG(yy_text);
2640
942
#line 1889 "Zend/zend_language_scanner.l"
2641
942
    {
2642
942
  RETURN_TOKEN(T_MOD_EQUAL);
2643
942
}
2644
0
#line 2645 "Zend/zend_language_scanner.c"
2645
180k
yy84:
2646
180k
    YYDEBUG(84, *YYCURSOR);
2647
180k
    ++YYCURSOR;
2648
180k
    YYFILL(3);
2649
180k
    yych = *YYCURSOR;
2650
229k
yy85:
2651
229k
    YYDEBUG(85, *YYCURSOR);
2652
229k
    if (yych <= ' ') {
2653
51.0k
      if (yych <= '\f') {
2654
40.1k
        if (yych <= 0x08) goto yy86;
2655
38.8k
        if (yych <= '\n') goto yy84;
2656
38.8k
      } else {
2657
10.8k
        if (yych <= '\r') goto yy84;
2658
4.48k
        if (yych >= ' ') goto yy84;
2659
4.48k
      }
2660
178k
    } else {
2661
178k
      if (yych <= '$') {
2662
159k
        if (yych <= '"') goto yy86;
2663
159k
        if (yych <= '#') goto yy87;
2664
10.9k
        goto yy88;
2665
159k
      } else {
2666
18.6k
        if (yych <= '-') goto yy86;
2667
14.0k
        if (yych <= '.') goto yy92;
2668
11.2k
        if (yych <= '/') goto yy93;
2669
11.2k
      }
2670
178k
    }
2671
499k
yy86:
2672
499k
    YYDEBUG(86, *YYCURSOR);
2673
499k
    YYCURSOR = YYMARKER;
2674
499k
    if (yyaccept <= 48) {
2675
357k
      if (yyaccept <= 24) {
2676
348k
        if (yyaccept <= 12) {
2677
337k
          if (yyaccept <= 6) {
2678
183k
            if (yyaccept <= 3) {
2679
156k
              if (yyaccept <= 1) {
2680
135k
                if (yyaccept == 0) {
2681
32.1k
                  goto yy17;
2682
102k
                } else {
2683
102k
                  goto yy21;
2684
102k
                }
2685
135k
              } else {
2686
21.5k
                if (yyaccept == 2) {
2687
12.4k
                  goto yy9;
2688
12.4k
                } else {
2689
9.17k
                  goto yy31;
2690
9.17k
                }
2691
21.5k
              }
2692
156k
            } else {
2693
27.2k
              if (yyaccept <= 5) {
2694
24.9k
                if (yyaccept == 4) {
2695
21.3k
                  goto yy40;
2696
21.3k
                } else {
2697
3.54k
                  goto yy125;
2698
3.54k
                }
2699
24.9k
              } else {
2700
2.29k
                goto yy129;
2701
2.29k
              }
2702
27.2k
            }
2703
183k
          } else {
2704
153k
            if (yyaccept <= 9) {
2705
152k
              if (yyaccept <= 8) {
2706
152k
                if (yyaccept == 7) {
2707
151k
                  goto yy142;
2708
151k
                } else {
2709
436
                  goto yy163;
2710
436
                }
2711
152k
              } else {
2712
214
                goto yy173;
2713
214
              }
2714
152k
            } else {
2715
1.00k
              if (yyaccept <= 11) {
2716
543
                if (yyaccept == 10) {
2717
238
                  goto yy182;
2718
305
                } else {
2719
305
                  goto yy188;
2720
305
                }
2721
543
              } else {
2722
465
                goto yy197;
2723
465
              }
2724
1.00k
            }
2725
153k
          }
2726
337k
        } else {
2727
11.2k
          if (yyaccept <= 18) {
2728
9.47k
            if (yyaccept <= 15) {
2729
6.51k
              if (yyaccept <= 14) {
2730
6.32k
                if (yyaccept == 13) {
2731
5.49k
                  goto yy213;
2732
5.49k
                } else {
2733
824
                  goto yy251;
2734
824
                }
2735
6.32k
              } else {
2736
197
                goto yy257;
2737
197
              }
2738
6.51k
            } else {
2739
2.95k
              if (yyaccept <= 17) {
2740
712
                if (yyaccept == 16) {
2741
404
                  goto yy260;
2742
404
                } else {
2743
308
                  goto yy279;
2744
308
                }
2745
2.24k
              } else {
2746
2.24k
                goto yy283;
2747
2.24k
              }
2748
2.95k
            }
2749
9.47k
          } else {
2750
1.80k
            if (yyaccept <= 21) {
2751
1.12k
              if (yyaccept <= 20) {
2752
909
                if (yyaccept == 19) {
2753
540
                  goto yy295;
2754
540
                } else {
2755
369
                  goto yy306;
2756
369
                }
2757
909
              } else {
2758
219
                goto yy319;
2759
219
              }
2760
1.12k
            } else {
2761
679
              if (yyaccept <= 23) {
2762
612
                if (yyaccept == 22) {
2763
369
                  goto yy331;
2764
369
                } else {
2765
243
                  goto yy334;
2766
243
                }
2767
612
              } else {
2768
67
                goto yy336;
2769
67
              }
2770
679
            }
2771
1.80k
          }
2772
11.2k
        }
2773
348k
      } else {
2774
9.42k
        if (yyaccept <= 36) {
2775
6.69k
          if (yyaccept <= 30) {
2776
5.09k
            if (yyaccept <= 27) {
2777
4.57k
              if (yyaccept <= 26) {
2778
4.39k
                if (yyaccept == 25) {
2779
213
                  goto yy339;
2780
4.18k
                } else {
2781
4.18k
                  goto yy89;
2782
4.18k
                }
2783
4.39k
              } else {
2784
180
                goto yy379;
2785
180
              }
2786
4.57k
            } else {
2787
513
              if (yyaccept <= 29) {
2788
374
                if (yyaccept == 28) {
2789
214
                  goto yy388;
2790
214
                } else {
2791
160
                  goto yy390;
2792
160
                }
2793
374
              } else {
2794
139
                goto yy399;
2795
139
              }
2796
513
            }
2797
5.09k
          } else {
2798
1.59k
            if (yyaccept <= 33) {
2799
723
              if (yyaccept <= 32) {
2800
491
                if (yyaccept == 31) {
2801
260
                  goto yy401;
2802
260
                } else {
2803
231
                  goto yy408;
2804
231
                }
2805
491
              } else {
2806
232
                goto yy415;
2807
232
              }
2808
875
            } else {
2809
875
              if (yyaccept <= 35) {
2810
612
                if (yyaccept == 34) {
2811
210
                  goto yy471;
2812
402
                } else {
2813
402
                  goto yy473;
2814
402
                }
2815
612
              } else {
2816
263
                goto yy476;
2817
263
              }
2818
875
            }
2819
1.59k
          }
2820
6.69k
        } else {
2821
2.73k
          if (yyaccept <= 42) {
2822
1.62k
            if (yyaccept <= 39) {
2823
649
              if (yyaccept <= 38) {
2824
346
                if (yyaccept == 37) {
2825
196
                  goto yy478;
2826
196
                } else {
2827
150
                  goto yy480;
2828
150
                }
2829
346
              } else {
2830
303
                goto yy482;
2831
303
              }
2832
980
            } else {
2833
980
              if (yyaccept <= 41) {
2834
502
                if (yyaccept == 40) {
2835
294
                  goto yy488;
2836
294
                } else {
2837
208
                  goto yy492;
2838
208
                }
2839
502
              } else {
2840
478
                goto yy501;
2841
478
              }
2842
980
            }
2843
1.62k
          } else {
2844
1.10k
            if (yyaccept <= 45) {
2845
654
              if (yyaccept <= 44) {
2846
334
                if (yyaccept == 43) {
2847
195
                  goto yy511;
2848
195
                } else {
2849
139
                  goto yy513;
2850
139
                }
2851
334
              } else {
2852
320
                goto yy516;
2853
320
              }
2854
654
            } else {
2855
447
              if (yyaccept <= 47) {
2856
246
                if (yyaccept == 46) {
2857
65
                  goto yy526;
2858
181
                } else {
2859
181
                  goto yy528;
2860
181
                }
2861
246
              } else {
2862
201
                goto yy530;
2863
201
              }
2864
447
            }
2865
1.10k
          }
2866
2.73k
        }
2867
9.42k
      }
2868
357k
    } else {
2869
141k
      if (yyaccept <= 72) {
2870
116k
        if (yyaccept <= 60) {
2871
111k
          if (yyaccept <= 54) {
2872
108k
            if (yyaccept <= 51) {
2873
39.9k
              if (yyaccept <= 50) {
2874
39.6k
                if (yyaccept == 49) {
2875
213
                  goto yy532;
2876
39.4k
                } else {
2877
39.4k
                  goto yy534;
2878
39.4k
                }
2879
39.6k
              } else {
2880
355
                goto yy576;
2881
355
              }
2882
68.7k
            } else {
2883
68.7k
              if (yyaccept <= 53) {
2884
68.5k
                if (yyaccept == 52) {
2885
265
                  goto yy579;
2886
68.2k
                } else {
2887
68.2k
                  goto yy583;
2888
68.2k
                }
2889
68.5k
              } else {
2890
238
                goto yy597;
2891
238
              }
2892
68.7k
            }
2893
108k
          } else {
2894
3.12k
            if (yyaccept <= 57) {
2895
1.93k
              if (yyaccept <= 56) {
2896
1.67k
                if (yyaccept == 55) {
2897
1.41k
                  goto yy607;
2898
1.41k
                } else {
2899
260
                  goto yy611;
2900
260
                }
2901
1.67k
              } else {
2902
267
                goto yy613;
2903
267
              }
2904
1.93k
            } else {
2905
1.18k
              if (yyaccept <= 59) {
2906
938
                if (yyaccept == 58) {
2907
578
                  goto yy615;
2908
578
                } else {
2909
360
                  goto yy654;
2910
360
                }
2911
938
              } else {
2912
251
                goto yy656;
2913
251
              }
2914
1.18k
            }
2915
3.12k
          }
2916
111k
        } else {
2917
4.22k
          if (yyaccept <= 66) {
2918
2.93k
            if (yyaccept <= 63) {
2919
621
              if (yyaccept <= 62) {
2920
401
                if (yyaccept == 61) {
2921
194
                  goto yy671;
2922
207
                } else {
2923
207
                  goto yy673;
2924
207
                }
2925
401
              } else {
2926
220
                goto yy675;
2927
220
              }
2928
2.30k
            } else {
2929
2.30k
              if (yyaccept <= 65) {
2930
1.97k
                if (yyaccept == 64) {
2931
203
                  goto yy679;
2932
1.77k
                } else {
2933
1.77k
                  goto yy685;
2934
1.77k
                }
2935
1.97k
              } else {
2936
331
                goto yy690;
2937
331
              }
2938
2.30k
            }
2939
2.93k
          } else {
2940
1.29k
            if (yyaccept <= 69) {
2941
651
              if (yyaccept <= 68) {
2942
401
                if (yyaccept == 67) {
2943
234
                  goto yy700;
2944
234
                } else {
2945
167
                  goto yy726;
2946
167
                }
2947
401
              } else {
2948
250
                goto yy728;
2949
250
              }
2950
651
            } else {
2951
639
              if (yyaccept <= 71) {
2952
391
                if (yyaccept == 70) {
2953
206
                  goto yy730;
2954
206
                } else {
2955
185
                  goto yy735;
2956
185
                }
2957
391
              } else {
2958
248
                goto yy743;
2959
248
              }
2960
639
            }
2961
1.29k
          }
2962
4.22k
        }
2963
116k
      } else {
2964
25.7k
        if (yyaccept <= 84) {
2965
5.80k
          if (yyaccept <= 78) {
2966
1.30k
            if (yyaccept <= 75) {
2967
757
              if (yyaccept <= 74) {
2968
465
                if (yyaccept == 73) {
2969
206
                  goto yy754;
2970
259
                } else {
2971
259
                  goto yy764;
2972
259
                }
2973
465
              } else {
2974
292
                goto yy768;
2975
292
              }
2976
757
            } else {
2977
546
              if (yyaccept <= 77) {
2978
395
                if (yyaccept == 76) {
2979
69
                  goto yy784;
2980
326
                } else {
2981
326
                  goto yy797;
2982
326
                }
2983
395
              } else {
2984
151
                goto yy799;
2985
151
              }
2986
546
            }
2987
4.50k
          } else {
2988
4.50k
            if (yyaccept <= 81) {
2989
2.93k
              if (yyaccept <= 80) {
2990
2.68k
                if (yyaccept == 79) {
2991
757
                  goto yy801;
2992
1.92k
                } else {
2993
1.92k
                  goto yy804;
2994
1.92k
                }
2995
2.68k
              } else {
2996
256
                goto yy812;
2997
256
              }
2998
2.93k
            } else {
2999
1.56k
              if (yyaccept <= 83) {
3000
1.12k
                if (yyaccept == 82) {
3001
218
                  goto yy819;
3002
904
                } else {
3003
904
                  goto yy823;
3004
904
                }
3005
1.12k
              } else {
3006
446
                goto yy825;
3007
446
              }
3008
1.56k
            }
3009
4.50k
          }
3010
19.9k
        } else {
3011
19.9k
          if (yyaccept <= 90) {
3012
1.15k
            if (yyaccept <= 87) {
3013
650
              if (yyaccept <= 86) {
3014
454
                if (yyaccept == 85) {
3015
243
                  goto yy836;
3016
243
                } else {
3017
211
                  goto yy839;
3018
211
                }
3019
454
              } else {
3020
196
                goto yy854;
3021
196
              }
3022
650
            } else {
3023
504
              if (yyaccept <= 89) {
3024
400
                if (yyaccept == 88) {
3025
184
                  goto yy869;
3026
216
                } else {
3027
216
                  goto yy898;
3028
216
                }
3029
400
              } else {
3030
104
                goto yy903;
3031
104
              }
3032
504
            }
3033
18.8k
          } else {
3034
18.8k
            if (yyaccept <= 93) {
3035
15.0k
              if (yyaccept <= 92) {
3036
14.7k
                if (yyaccept == 91) {
3037
14.3k
                  goto yy876;
3038
14.3k
                } else {
3039
402
                  goto yy911;
3040
402
                }
3041
14.7k
              } else {
3042
279
                goto yy915;
3043
279
              }
3044
15.0k
            } else {
3045
3.78k
              if (yyaccept <= 95) {
3046
3.49k
                if (yyaccept == 94) {
3047
3.25k
                  goto yy886;
3048
3.25k
                } else {
3049
244
                  goto yy931;
3050
244
                }
3051
3.49k
              } else {
3052
284
                goto yy951;
3053
284
              }
3054
3.78k
            }
3055
18.8k
          }
3056
19.9k
        }
3057
25.7k
      }
3058
141k
    }
3059
148k
yy87:
3060
148k
    YYDEBUG(87, *YYCURSOR);
3061
148k
    ++YYCURSOR;
3062
148k
    YYFILL(1);
3063
148k
    yych = *YYCURSOR;
3064
148k
    if (yych <= '\f') {
3065
27.9k
      if (yych <= 0x00) goto yy86;
3066
26.1k
      if (yych == '\n') goto yy227;
3067
703
      goto yy225;
3068
120k
    } else {
3069
120k
      if (yych <= '\r') goto yy227;
3070
9.49k
      if (yych == '[') goto yy86;
3071
9.27k
      goto yy225;
3072
9.49k
    }
3073
11.6k
yy88:
3074
11.6k
    YYDEBUG(88, *YYCURSOR);
3075
11.6k
    ++YYCURSOR;
3076
16.7k
yy89:
3077
16.7k
    YYDEBUG(89, *YYCURSOR);
3078
16.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3079
16.7k
#line 1949 "Zend/zend_language_scanner.l"
3080
16.7k
    {
3081
16.7k
  yyless(1);
3082
16.7k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3083
16.7k
}
3084
0
#line 3085 "Zend/zend_language_scanner.c"
3085
9.85k
yy90:
3086
9.85k
    YYDEBUG(90, *YYCURSOR);
3087
9.85k
    ++YYCURSOR;
3088
9.85k
    YYDEBUG(91, *YYCURSOR);
3089
9.85k
    yyleng = YYCURSOR - SCNG(yy_text);
3090
9.85k
#line 1925 "Zend/zend_language_scanner.l"
3091
9.85k
    {
3092
9.85k
  RETURN_TOKEN(T_BOOLEAN_AND);
3093
9.85k
}
3094
0
#line 3095 "Zend/zend_language_scanner.c"
3095
2.77k
yy92:
3096
2.77k
    YYDEBUG(92, *YYCURSOR);
3097
2.77k
    yych = *++YYCURSOR;
3098
2.77k
    if (yych == '.') goto yy229;
3099
967
    goto yy86;
3100
3.67k
yy93:
3101
3.67k
    YYDEBUG(93, *YYCURSOR);
3102
3.67k
    ++YYCURSOR;
3103
3.67k
    YYFILL(1);
3104
3.67k
    yych = *YYCURSOR;
3105
3.67k
    if (yych == '*') goto yy230;
3106
1.33k
    if (yych == '/') goto yy225;
3107
894
    goto yy86;
3108
894
yy94:
3109
352
    YYDEBUG(94, *YYCURSOR);
3110
352
    ++YYCURSOR;
3111
352
    YYDEBUG(95, *YYCURSOR);
3112
352
    yyleng = YYCURSOR - SCNG(yy_text);
3113
352
#line 1901 "Zend/zend_language_scanner.l"
3114
352
    {
3115
352
  RETURN_TOKEN(T_AND_EQUAL);
3116
352
}
3117
0
#line 3118 "Zend/zend_language_scanner.c"
3118
15.2k
yy96:
3119
15.2k
    YYDEBUG(96, *YYCURSOR);
3120
15.2k
    ++YYCURSOR;
3121
15.2k
    YYFILL(7);
3122
15.2k
    yych = *YYCURSOR;
3123
130k
yy97:
3124
130k
    YYDEBUG(97, *YYCURSOR);
3125
130k
    if (yybm[0+yych] & 1) {
3126
15.2k
      goto yy96;
3127
15.2k
    }
3128
115k
    switch (yych) {
3129
3.83k
    case 'A':
3130
27.5k
    case 'a': goto yy98;
3131
1.43k
    case 'B':
3132
16.7k
    case 'b': goto yy99;
3133
311
    case 'D':
3134
5.67k
    case 'd': goto yy100;
3135
762
    case 'F':
3136
8.76k
    case 'f': goto yy101;
3137
461
    case 'I':
3138
13.9k
    case 'i': goto yy102;
3139
491
    case 'O':
3140
5.47k
    case 'o': goto yy103;
3141
1.42k
    case 'R':
3142
6.33k
    case 'r': goto yy104;
3143
3.51k
    case 'S':
3144
17.8k
    case 's': goto yy105;
3145
520
    case 'U':
3146
4.93k
    case 'u': goto yy106;
3147
336
    case 'V':
3148
3.53k
    case 'v': goto yy107;
3149
4.82k
    default:  goto yy86;
3150
115k
    }
3151
27.5k
yy98:
3152
27.5k
    YYDEBUG(98, *YYCURSOR);
3153
27.5k
    yych = *++YYCURSOR;
3154
27.5k
    if (yych == 'R') goto yy232;
3155
27.2k
    if (yych == 'r') goto yy232;
3156
20.5k
    goto yy86;
3157
20.5k
yy99:
3158
16.7k
    YYDEBUG(99, *YYCURSOR);
3159
16.7k
    yych = *++YYCURSOR;
3160
16.7k
    if (yych <= 'O') {
3161
3.99k
      if (yych == 'I') goto yy233;
3162
3.28k
      if (yych <= 'N') goto yy86;
3163
921
      goto yy234;
3164
12.7k
    } else {
3165
12.7k
      if (yych <= 'i') {
3166
6.47k
        if (yych <= 'h') goto yy86;
3167
5.75k
        goto yy233;
3168
6.47k
      } else {
3169
6.26k
        if (yych == 'o') goto yy234;
3170
908
        goto yy86;
3171
6.26k
      }
3172
12.7k
    }
3173
5.67k
yy100:
3174
5.67k
    YYDEBUG(100, *YYCURSOR);
3175
5.67k
    yych = *++YYCURSOR;
3176
5.67k
    if (yych == 'O') goto yy235;
3177
5.23k
    if (yych == 'o') goto yy235;
3178
1.89k
    goto yy86;
3179
8.76k
yy101:
3180
8.76k
    YYDEBUG(101, *YYCURSOR);
3181
8.76k
    yych = *++YYCURSOR;
3182
8.76k
    if (yych == 'L') goto yy236;
3183
8.22k
    if (yych == 'l') goto yy236;
3184
5.20k
    goto yy86;
3185
13.9k
yy102:
3186
13.9k
    YYDEBUG(102, *YYCURSOR);
3187
13.9k
    yych = *++YYCURSOR;
3188
13.9k
    if (yych == 'N') goto yy237;
3189
13.3k
    if (yych == 'n') goto yy237;
3190
4.68k
    goto yy86;
3191
5.47k
yy103:
3192
5.47k
    YYDEBUG(103, *YYCURSOR);
3193
5.47k
    yych = *++YYCURSOR;
3194
5.47k
    if (yych == 'B') goto yy238;
3195
5.17k
    if (yych == 'b') goto yy238;
3196
1.62k
    goto yy86;
3197
6.33k
yy104:
3198
6.33k
    YYDEBUG(104, *YYCURSOR);
3199
6.33k
    yych = *++YYCURSOR;
3200
6.33k
    if (yych == 'E') goto yy239;
3201
6.18k
    if (yych == 'e') goto yy239;
3202
3.67k
    goto yy86;
3203
17.8k
yy105:
3204
17.8k
    YYDEBUG(105, *YYCURSOR);
3205
17.8k
    yych = *++YYCURSOR;
3206
17.8k
    if (yych == 'T') goto yy240;
3207
16.8k
    if (yych == 't') goto yy240;
3208
9.46k
    goto yy86;
3209
9.46k
yy106:
3210
4.93k
    YYDEBUG(106, *YYCURSOR);
3211
4.93k
    yych = *++YYCURSOR;
3212
4.93k
    if (yych == 'N') goto yy241;
3213
4.55k
    if (yych == 'n') goto yy241;
3214
1.82k
    goto yy86;
3215
3.53k
yy107:
3216
3.53k
    YYDEBUG(107, *YYCURSOR);
3217
3.53k
    yych = *++YYCURSOR;
3218
3.53k
    if (yych == 'O') goto yy242;
3219
3.08k
    if (yych == 'o') goto yy242;
3220
1.52k
    goto yy86;
3221
17.8k
yy108:
3222
17.8k
    YYDEBUG(108, *YYCURSOR);
3223
17.8k
    yych = *++YYCURSOR;
3224
17.8k
    if (yych == '=') goto yy243;
3225
17.3k
    YYDEBUG(109, *YYCURSOR);
3226
17.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3227
17.3k
#line 1873 "Zend/zend_language_scanner.l"
3228
17.3k
    {
3229
17.3k
  RETURN_TOKEN(T_POW);
3230
17.3k
}
3231
0
#line 3232 "Zend/zend_language_scanner.c"
3232
2.26k
yy110:
3233
2.26k
    YYDEBUG(110, *YYCURSOR);
3234
2.26k
    ++YYCURSOR;
3235
2.26k
    YYDEBUG(111, *YYCURSOR);
3236
2.26k
    yyleng = YYCURSOR - SCNG(yy_text);
3237
2.26k
#line 1869 "Zend/zend_language_scanner.l"
3238
2.26k
    {
3239
2.26k
  RETURN_TOKEN(T_MUL_EQUAL);
3240
2.26k
}
3241
0
#line 3242 "Zend/zend_language_scanner.c"
3242
2.62k
yy112:
3243
2.62k
    YYDEBUG(112, *YYCURSOR);
3244
2.62k
    ++YYCURSOR;
3245
2.62k
    YYDEBUG(113, *YYCURSOR);
3246
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
3247
2.62k
#line 1825 "Zend/zend_language_scanner.l"
3248
2.62k
    {
3249
2.62k
  RETURN_TOKEN(T_INC);
3250
2.62k
}
3251
0
#line 3252 "Zend/zend_language_scanner.c"
3252
805
yy114:
3253
805
    YYDEBUG(114, *YYCURSOR);
3254
805
    ++YYCURSOR;
3255
805
    YYDEBUG(115, *YYCURSOR);
3256
805
    yyleng = YYCURSOR - SCNG(yy_text);
3257
805
#line 1861 "Zend/zend_language_scanner.l"
3258
805
    {
3259
805
  RETURN_TOKEN(T_PLUS_EQUAL);
3260
805
}
3261
0
#line 3262 "Zend/zend_language_scanner.c"
3262
4.83k
yy116:
3263
4.83k
    YYDEBUG(116, *YYCURSOR);
3264
4.83k
    ++YYCURSOR;
3265
4.83k
    YYDEBUG(117, *YYCURSOR);
3266
4.83k
    yyleng = YYCURSOR - SCNG(yy_text);
3267
4.83k
#line 1829 "Zend/zend_language_scanner.l"
3268
4.83k
    {
3269
4.83k
  RETURN_TOKEN(T_DEC);
3270
4.83k
}
3271
0
#line 3272 "Zend/zend_language_scanner.c"
3272
695
yy118:
3273
695
    YYDEBUG(118, *YYCURSOR);
3274
695
    ++YYCURSOR;
3275
695
    YYDEBUG(119, *YYCURSOR);
3276
695
    yyleng = YYCURSOR - SCNG(yy_text);
3277
695
#line 1865 "Zend/zend_language_scanner.l"
3278
695
    {
3279
695
  RETURN_TOKEN(T_MINUS_EQUAL);
3280
695
}
3281
0
#line 3282 "Zend/zend_language_scanner.c"
3282
28.0k
yy120:
3283
28.0k
    YYDEBUG(120, *YYCURSOR);
3284
28.0k
    ++YYCURSOR;
3285
28.0k
    YYDEBUG(121, *YYCURSOR);
3286
28.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3287
28.0k
#line 1586 "Zend/zend_language_scanner.l"
3288
28.0k
    {
3289
28.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3290
28.0k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3291
28.0k
}
3292
0
#line 3293 "Zend/zend_language_scanner.c"
3293
19.7k
yy122:
3294
19.7k
    YYDEBUG(122, *YYCURSOR);
3295
19.7k
    yych = *++YYCURSOR;
3296
19.7k
    if (yych == '.') goto yy245;
3297
8.56k
    goto yy86;
3298
185k
yy123:
3299
185k
    YYDEBUG(123, *YYCURSOR);
3300
185k
    yyaccept = 5;
3301
185k
    YYMARKER = ++YYCURSOR;
3302
185k
    YYFILL(2);
3303
185k
    yych = *YYCURSOR;
3304
213k
yy124:
3305
213k
    YYDEBUG(124, *YYCURSOR);
3306
213k
    if (yych <= 'E') {
3307
197k
      if (yych <= '/') goto yy125;
3308
178k
      if (yych <= '9') goto yy123;
3309
10.9k
      if (yych >= 'E') goto yy135;
3310
16.1k
    } else {
3311
16.1k
      if (yych <= '_') {
3312
2.18k
        if (yych >= '_') goto yy247;
3313
13.9k
      } else {
3314
13.9k
        if (yych == 'e') goto yy135;
3315
13.9k
      }
3316
16.1k
    }
3317
64.7k
yy125:
3318
64.7k
    YYDEBUG(125, *YYCURSOR);
3319
64.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3320
64.7k
#line 2232 "Zend/zend_language_scanner.l"
3321
64.7k
    {
3322
64.7k
  const char *end;
3323
64.7k
  size_t len = yyleng;
3324
64.7k
  char *dnum = yytext;
3325
64.7k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3326
3327
64.7k
  if (contains_underscores) {
3328
1.33k
    dnum = estrndup(dnum, len);
3329
1.33k
    strip_underscores(dnum, &len);
3330
1.33k
  }
3331
3332
64.7k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3333
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3334
64.7k
  ZEND_ASSERT(end == dnum + len);
3335
64.7k
  if (contains_underscores) {
3336
1.33k
    efree(dnum);
3337
1.33k
  }
3338
64.7k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3339
64.7k
}
3340
0
#line 3341 "Zend/zend_language_scanner.c"
3341
1.77k
yy126:
3342
1.77k
    YYDEBUG(126, *YYCURSOR);
3343
1.77k
    ++YYCURSOR;
3344
1.77k
    YYDEBUG(127, *YYCURSOR);
3345
1.77k
    yyleng = YYCURSOR - SCNG(yy_text);
3346
1.77k
#line 1885 "Zend/zend_language_scanner.l"
3347
1.77k
    {
3348
1.77k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3349
1.77k
}
3350
0
#line 3351 "Zend/zend_language_scanner.c"
3351
36.4k
yy128:
3352
36.4k
    YYDEBUG(128, *YYCURSOR);
3353
36.4k
    yyaccept = 6;
3354
36.4k
    yych = *(YYMARKER = ++YYCURSOR);
3355
36.4k
    if (yych == '*') goto yy248;
3356
36.4k
yy129:
3357
36.4k
    YYDEBUG(129, *YYCURSOR);
3358
36.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3359
36.4k
#line 2483 "Zend/zend_language_scanner.l"
3360
36.4k
    {
3361
36.4k
  int doc_com;
3362
3363
36.4k
  if (yyleng > 2) {
3364
3.72k
    doc_com = 1;
3365
3.72k
    RESET_DOC_COMMENT();
3366
32.6k
  } else {
3367
32.6k
    doc_com = 0;
3368
32.6k
  }
3369
3370
1.95M
  while (YYCURSOR < YYLIMIT) {
3371
1.93M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3372
19.0k
      break;
3373
19.0k
    }
3374
1.93M
  }
3375
3376
36.4k
  if (YYCURSOR < YYLIMIT) {
3377
19.0k
    YYCURSOR++;
3378
19.0k
  } else {
3379
17.3k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3380
17.3k
    if (PARSER_MODE()) {
3381
885
      RETURN_TOKEN(T_ERROR);
3382
885
    }
3383
17.3k
  }
3384
3385
35.5k
  yyleng = YYCURSOR - SCNG(yy_text);
3386
35.5k
  HANDLE_NEWLINES(yytext, yyleng);
3387
3388
35.5k
  if (doc_com) {
3389
3.66k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3390
3.66k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3391
3.66k
  }
3392
3393
31.8k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3394
31.8k
}
3395
0
#line 3396 "Zend/zend_language_scanner.c"
3396
4.37k
yy130:
3397
4.37k
    YYDEBUG(130, *YYCURSOR);
3398
4.37k
    ++YYCURSOR;
3399
4.37k
    goto yy13;
3400
860
yy131:
3401
860
    YYDEBUG(131, *YYCURSOR);
3402
860
    ++YYCURSOR;
3403
860
    YYDEBUG(132, *YYCURSOR);
3404
860
    yyleng = YYCURSOR - SCNG(yy_text);
3405
860
#line 1881 "Zend/zend_language_scanner.l"
3406
860
    {
3407
860
  RETURN_TOKEN(T_DIV_EQUAL);
3408
860
}
3409
0
#line 3410 "Zend/zend_language_scanner.c"
3410
28.1k
yy133:
3411
28.1k
    YYDEBUG(133, *YYCURSOR);
3412
28.1k
    yyaccept = 5;
3413
28.1k
    yych = *(YYMARKER = ++YYCURSOR);
3414
28.1k
    if (yych == '_') goto yy125;
3415
27.5k
    goto yy124;
3416
27.5k
yy134:
3417
5.60k
    YYDEBUG(134, *YYCURSOR);
3418
5.60k
    ++YYCURSOR;
3419
5.60k
    YYFILL(1);
3420
5.60k
    yych = *YYCURSOR;
3421
5.60k
    if (yybm[0+yych] & 8) {
3422
4.11k
      goto yy249;
3423
4.11k
    }
3424
1.48k
    goto yy86;
3425
31.7k
yy135:
3426
31.7k
    YYDEBUG(135, *YYCURSOR);
3427
31.7k
    yych = *++YYCURSOR;
3428
31.7k
    if (yych <= ',') {
3429
1.59k
      if (yych == '+') goto yy252;
3430
934
      goto yy86;
3431
30.2k
    } else {
3432
30.2k
      if (yych <= '-') goto yy252;
3433
18.4k
      if (yych <= '/') goto yy86;
3434
18.2k
      if (yych <= '9') goto yy253;
3435
4.41k
      goto yy86;
3436
18.2k
    }
3437
3.85k
yy136:
3438
3.85k
    YYDEBUG(136, *YYCURSOR);
3439
3.85k
    ++YYCURSOR;
3440
3.85k
    YYFILL(1);
3441
3.85k
    yych = *YYCURSOR;
3442
3.85k
    if (yybm[0+yych] & 16) {
3443
2.98k
      goto yy255;
3444
2.98k
    }
3445
868
    goto yy86;
3446
8.63k
yy137:
3447
8.63k
    YYDEBUG(137, *YYCURSOR);
3448
8.63k
    ++YYCURSOR;
3449
8.63k
    YYFILL(1);
3450
8.63k
    yych = *YYCURSOR;
3451
8.63k
    if (yybm[0+yych] & 32) {
3452
7.94k
      goto yy258;
3453
7.94k
    }
3454
697
    goto yy86;
3455
5.79k
yy138:
3456
5.79k
    YYDEBUG(138, *YYCURSOR);
3457
5.79k
    ++YYCURSOR;
3458
5.79k
    YYFILL(1);
3459
5.79k
    yych = *YYCURSOR;
3460
5.79k
    if (yybm[256+yych] & 64) {
3461
2.82k
      goto yy32;
3462
2.82k
    }
3463
2.96k
    goto yy86;
3464
65.0k
yy139:
3465
65.0k
    YYDEBUG(139, *YYCURSOR);
3466
65.0k
    ++YYCURSOR;
3467
65.0k
    YYDEBUG(140, *YYCURSOR);
3468
65.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3469
65.0k
#line 1613 "Zend/zend_language_scanner.l"
3470
65.0k
    {
3471
65.0k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3472
65.0k
}
3473
0
#line 3474 "Zend/zend_language_scanner.c"
3474
3.04M
yy141:
3475
3.04M
    YYDEBUG(141, *YYCURSOR);
3476
3.04M
    yyaccept = 7;
3477
3.04M
    yych = *(YYMARKER = ++YYCURSOR);
3478
3.04M
    if (yych <= ';') goto yy142;
3479
3.00M
    if (yych <= '<') goto yy261;
3480
149k
    if (yych <= '=') goto yy263;
3481
345k
yy142:
3482
345k
    YYDEBUG(142, *YYCURSOR);
3483
345k
    yyleng = YYCURSOR - SCNG(yy_text);
3484
345k
#line 1941 "Zend/zend_language_scanner.l"
3485
345k
    {
3486
345k
  RETURN_TOKEN(T_SL);
3487
345k
}
3488
0
#line 3489 "Zend/zend_language_scanner.c"
3489
5.70k
yy143:
3490
5.70k
    YYDEBUG(143, *YYCURSOR);
3491
5.70k
    yych = *++YYCURSOR;
3492
5.70k
    if (yych == '>') goto yy265;
3493
4.97k
    YYDEBUG(144, *YYCURSOR);
3494
4.97k
    yyleng = YYCURSOR - SCNG(yy_text);
3495
4.97k
#line 1853 "Zend/zend_language_scanner.l"
3496
4.97k
    {
3497
4.97k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3498
4.97k
}
3499
0
#line 3500 "Zend/zend_language_scanner.c"
3500
3.72k
yy145:
3501
3.72k
    YYDEBUG(145, *YYCURSOR);
3502
3.72k
    ++YYCURSOR;
3503
3.72k
    goto yy76;
3504
9.76k
yy146:
3505
9.76k
    YYDEBUG(146, *YYCURSOR);
3506
9.76k
    yych = *++YYCURSOR;
3507
9.76k
    if (yych == '=') goto yy267;
3508
5.87k
    YYDEBUG(147, *YYCURSOR);
3509
5.87k
    yyleng = YYCURSOR - SCNG(yy_text);
3510
5.87k
#line 1841 "Zend/zend_language_scanner.l"
3511
5.87k
    {
3512
5.87k
  RETURN_TOKEN(T_IS_EQUAL);
3513
5.87k
}
3514
0
#line 3515 "Zend/zend_language_scanner.c"
3515
34.0k
yy148:
3516
34.0k
    YYDEBUG(148, *YYCURSOR);
3517
34.0k
    ++YYCURSOR;
3518
34.0k
    YYDEBUG(149, *YYCURSOR);
3519
34.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3520
34.0k
#line 1809 "Zend/zend_language_scanner.l"
3521
34.0k
    {
3522
34.0k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3523
34.0k
}
3524
0
#line 3525 "Zend/zend_language_scanner.c"
3525
2.80k
yy150:
3526
2.80k
    YYDEBUG(150, *YYCURSOR);
3527
2.80k
    ++YYCURSOR;
3528
2.80k
    YYDEBUG(151, *YYCURSOR);
3529
2.80k
    yyleng = YYCURSOR - SCNG(yy_text);
3530
2.80k
#line 1857 "Zend/zend_language_scanner.l"
3531
2.80k
    {
3532
2.80k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3533
2.80k
}
3534
0
#line 3535 "Zend/zend_language_scanner.c"
3535
9.77k
yy152:
3536
9.77k
    YYDEBUG(152, *YYCURSOR);
3537
9.77k
    yych = *++YYCURSOR;
3538
9.77k
    if (yych == '=') goto yy269;
3539
9.48k
    YYDEBUG(153, *YYCURSOR);
3540
9.48k
    yyleng = YYCURSOR - SCNG(yy_text);
3541
9.48k
#line 1945 "Zend/zend_language_scanner.l"
3542
9.48k
    {
3543
9.48k
  RETURN_TOKEN(T_SR);
3544
9.48k
}
3545
0
#line 3546 "Zend/zend_language_scanner.c"
3546
13.6k
yy154:
3547
13.6k
    YYDEBUG(154, *YYCURSOR);
3548
13.6k
    yych = *++YYCURSOR;
3549
13.6k
    if (yych == '>') goto yy271;
3550
3.84k
    goto yy86;
3551
77.8k
yy155:
3552
77.8k
    YYDEBUG(155, *YYCURSOR);
3553
77.8k
    yych = *++YYCURSOR;
3554
77.8k
    if (yych == '\n') goto yy273;
3555
75.4k
    if (yych == '\r') goto yy274;
3556
77.8k
yy156:
3557
77.8k
    YYDEBUG(156, *YYCURSOR);
3558
77.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3559
77.8k
#line 2525 "Zend/zend_language_scanner.l"
3560
77.8k
    {
3561
77.8k
  BEGIN(INITIAL);
3562
77.8k
  if (yytext[yyleng-1] != '>') {
3563
4.62k
    CG(increment_lineno) = 1;
3564
4.62k
  }
3565
77.8k
  if (PARSER_MODE()) {
3566
64.1k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3567
64.1k
  }
3568
13.7k
  RETURN_TOKEN(T_CLOSE_TAG);
3569
13.7k
}
3570
0
#line 3571 "Zend/zend_language_scanner.c"
3571
23.8k
yy157:
3572
23.8k
    YYDEBUG(157, *YYCURSOR);
3573
23.8k
    yych = *++YYCURSOR;
3574
23.8k
    if (yych == '=') goto yy275;
3575
16.9k
    YYDEBUG(158, *YYCURSOR);
3576
16.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3577
16.9k
#line 1621 "Zend/zend_language_scanner.l"
3578
16.9k
    {
3579
16.9k
  RETURN_TOKEN(T_COALESCE);
3580
16.9k
}
3581
0
#line 3582 "Zend/zend_language_scanner.c"
3582
8.22k
yy159:
3583
8.22k
    YYDEBUG(159, *YYCURSOR);
3584
8.22k
    yyaccept = 4;
3585
8.22k
    yych = *(YYMARKER = ++YYCURSOR);
3586
8.22k
    if (yych == 'S') goto yy277;
3587
7.27k
    if (yych == 's') goto yy277;
3588
2.50k
    goto yy48;
3589
6.53k
yy160:
3590
6.53k
    YYDEBUG(160, *YYCURSOR);
3591
6.53k
    yyaccept = 4;
3592
6.53k
    yych = *(YYMARKER = ++YYCURSOR);
3593
6.53k
    if (yych == 'D') goto yy278;
3594
4.79k
    if (yych == 'd') goto yy278;
3595
2.93k
    goto yy48;
3596
13.5k
yy161:
3597
13.5k
    YYDEBUG(161, *YYCURSOR);
3598
13.5k
    yyaccept = 4;
3599
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
3600
13.5k
    if (yych == 'R') goto yy280;
3601
12.9k
    if (yych == 'r') goto yy280;
3602
2.05k
    goto yy48;
3603
32.1k
yy162:
3604
32.1k
    YYDEBUG(162, *YYCURSOR);
3605
32.1k
    yyaccept = 8;
3606
32.1k
    yych = *(YYMARKER = ++YYCURSOR);
3607
32.1k
    if (yybm[256+yych] & 128) {
3608
24.0k
      goto yy47;
3609
24.0k
    }
3610
8.13k
    if (yych == '\\') goto yy164;
3611
8.12k
yy163:
3612
8.12k
    YYDEBUG(163, *YYCURSOR);
3613
8.12k
    yyleng = YYCURSOR - SCNG(yy_text);
3614
8.12k
#line 1509 "Zend/zend_language_scanner.l"
3615
8.12k
    {
3616
8.12k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3617
8.12k
}
3618
0
#line 3619 "Zend/zend_language_scanner.c"
3619
57.2k
yy164:
3620
57.2k
    YYDEBUG(164, *YYCURSOR);
3621
57.2k
    ++YYCURSOR;
3622
57.2k
    YYFILL(1);
3623
57.2k
    yych = *YYCURSOR;
3624
57.2k
    if (yych <= '_') {
3625
40.6k
      if (yych <= '@') goto yy86;
3626
19.7k
      if (yych <= 'Z') goto yy281;
3627
11.7k
      if (yych <= '^') goto yy86;
3628
1.31k
      goto yy281;
3629
16.6k
    } else {
3630
16.6k
      if (yych <= '`') goto yy86;
3631
16.0k
      if (yych <= 'z') goto yy281;
3632
7.35k
      if (yych <= 0x7F) goto yy86;
3633
4.00k
      goto yy281;
3634
7.35k
    }
3635
2.53k
yy165:
3636
2.53k
    YYDEBUG(165, *YYCURSOR);
3637
2.53k
    yych = *++YYCURSOR;
3638
2.53k
    if (yych == '<') goto yy284;
3639
1.25k
    goto yy86;
3640
4.90k
yy166:
3641
4.90k
    YYDEBUG(166, *YYCURSOR);
3642
4.90k
    yyaccept = 4;
3643
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
3644
4.90k
    if (yych == 'E') goto yy285;
3645
3.32k
    if (yych == 'e') goto yy285;
3646
468
    goto yy48;
3647
21.2k
yy167:
3648
21.2k
    YYDEBUG(167, *YYCURSOR);
3649
21.2k
    yyaccept = 4;
3650
21.2k
    yych = *(YYMARKER = ++YYCURSOR);
3651
21.2k
    if (yych <= 'T') {
3652
3.31k
      if (yych <= 'L') {
3653
2.12k
        if (yych <= 'K') goto yy48;
3654
1.16k
        goto yy286;
3655
2.12k
      } else {
3656
1.18k
        if (yych <= 'R') goto yy48;
3657
795
        if (yych <= 'S') goto yy287;
3658
563
        goto yy288;
3659
795
      }
3660
17.9k
    } else {
3661
17.9k
      if (yych <= 'r') {
3662
6.78k
        if (yych == 'l') goto yy286;
3663
516
        goto yy48;
3664
11.1k
      } else {
3665
11.1k
        if (yych <= 's') goto yy287;
3666
4.76k
        if (yych <= 't') goto yy288;
3667
612
        goto yy48;
3668
4.76k
      }
3669
17.9k
    }
3670
32.1k
yy168:
3671
32.1k
    YYDEBUG(168, *YYCURSOR);
3672
32.1k
    yyaccept = 4;
3673
32.1k
    yych = *(YYMARKER = ++YYCURSOR);
3674
32.1k
    if (yych <= 'O') {
3675
2.47k
      if (yych == 'A') goto yy289;
3676
1.65k
      if (yych <= 'N') goto yy48;
3677
603
      goto yy290;
3678
29.6k
    } else {
3679
29.6k
      if (yych <= 'a') {
3680
23.9k
        if (yych <= '`') goto yy48;
3681
23.6k
        goto yy289;
3682
23.9k
      } else {
3683
5.68k
        if (yych == 'o') goto yy290;
3684
1.71k
        goto yy48;
3685
5.68k
      }
3686
29.6k
    }
3687
35.0k
yy169:
3688
35.0k
    YYDEBUG(169, *YYCURSOR);
3689
35.0k
    yyaccept = 4;
3690
35.0k
    yych = *(YYMARKER = ++YYCURSOR);
3691
35.0k
    if (yych == 'N') goto yy291;
3692
31.4k
    if (yych == 'n') goto yy291;
3693
2.98k
    goto yy48;
3694
15.1k
yy170:
3695
15.1k
    YYDEBUG(170, *YYCURSOR);
3696
15.1k
    yyaccept = 4;
3697
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
3698
15.1k
    if (yych <= 'F') {
3699
1.51k
      if (yych == 'C') goto yy292;
3700
1.24k
      if (yych <= 'E') goto yy48;
3701
500
      goto yy293;
3702
13.5k
    } else {
3703
13.5k
      if (yych <= 'c') {
3704
7.00k
        if (yych <= 'b') goto yy48;
3705
6.25k
        goto yy292;
3706
7.00k
      } else {
3707
6.59k
        if (yych == 'f') goto yy293;
3708
1.42k
        goto yy48;
3709
6.59k
      }
3710
13.5k
    }
3711
9.44k
yy171:
3712
9.44k
    YYDEBUG(171, *YYCURSOR);
3713
9.44k
    yyaccept = 4;
3714
9.44k
    yych = *(YYMARKER = ++YYCURSOR);
3715
9.44k
    if (yych == 'E') goto yy294;
3716
9.20k
    if (yych == 'e') goto yy294;
3717
1.37k
    goto yy48;
3718
6.12k
yy172:
3719
6.12k
    YYDEBUG(172, *YYCURSOR);
3720
6.12k
    yyaccept = 9;
3721
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
3722
6.12k
    if (yybm[256+yych] & 128) {
3723
4.56k
      goto yy47;
3724
4.56k
    }
3725
1.56k
    if (yych == '\\') goto yy164;
3726
1.40k
yy173:
3727
1.40k
    YYDEBUG(173, *YYCURSOR);
3728
1.40k
    yyleng = YYCURSOR - SCNG(yy_text);
3729
1.40k
#line 1477 "Zend/zend_language_scanner.l"
3730
1.40k
    {
3731
1.40k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3732
1.40k
}
3733
0
#line 3734 "Zend/zend_language_scanner.c"
3734
9.90k
yy174:
3735
9.90k
    YYDEBUG(174, *YYCURSOR);
3736
9.90k
    yyaccept = 4;
3737
9.90k
    yych = *(YYMARKER = ++YYCURSOR);
3738
9.90k
    if (yych == 'H') goto yy296;
3739
9.32k
    if (yych == 'h') goto yy296;
3740
2.69k
    goto yy48;
3741
17.1k
yy175:
3742
17.1k
    YYDEBUG(175, *YYCURSOR);
3743
17.1k
    yyaccept = 4;
3744
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
3745
17.1k
    if (yych == 'S') goto yy297;
3746
15.8k
    if (yych == 's') goto yy297;
3747
3.73k
    goto yy48;
3748
4.97k
yy176:
3749
4.97k
    YYDEBUG(176, *YYCURSOR);
3750
4.97k
    yyaccept = 4;
3751
4.97k
    yych = *(YYMARKER = ++YYCURSOR);
3752
4.97k
    if (yych == 'P') goto yy298;
3753
4.82k
    if (yych == 'p') goto yy298;
3754
1.57k
    goto yy48;
3755
161k
yy177:
3756
161k
    YYDEBUG(177, *YYCURSOR);
3757
161k
    yyaccept = 4;
3758
161k
    yych = *(YYMARKER = ++YYCURSOR);
3759
161k
    if (yych <= 'U') {
3760
15.6k
      if (yych == 'D') goto yy299;
3761
9.33k
      if (yych <= 'T') goto yy48;
3762
2.62k
      goto yy300;
3763
145k
    } else {
3764
145k
      if (yych <= 'd') {
3765
20.7k
        if (yych <= 'c') goto yy48;
3766
20.1k
        goto yy299;
3767
124k
      } else {
3768
124k
        if (yych == 'u') goto yy300;
3769
5.17k
        goto yy48;
3770
124k
      }
3771
145k
    }
3772
5.40k
yy178:
3773
5.40k
    YYDEBUG(178, *YYCURSOR);
3774
5.40k
    yyaccept = 4;
3775
5.40k
    yych = *(YYMARKER = ++YYCURSOR);
3776
5.40k
    if (yych == 'A') goto yy301;
3777
4.71k
    if (yych == 'a') goto yy301;
3778
620
    goto yy48;
3779
21.1k
yy179:
3780
21.1k
    YYDEBUG(179, *YYCURSOR);
3781
21.1k
    yyaccept = 4;
3782
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
3783
21.1k
    if (yych <= 'T') {
3784
4.27k
      if (yych == 'I') goto yy302;
3785
4.02k
      if (yych <= 'S') goto yy48;
3786
2.27k
      goto yy303;
3787
16.9k
    } else {
3788
16.9k
      if (yych <= 'i') {
3789
2.98k
        if (yych <= 'h') goto yy48;
3790
2.19k
        goto yy302;
3791
13.9k
      } else {
3792
13.9k
        if (yych == 't') goto yy303;
3793
1.71k
        goto yy48;
3794
13.9k
      }
3795
16.9k
    }
3796
15.5k
yy180:
3797
15.5k
    YYDEBUG(180, *YYCURSOR);
3798
15.5k
    yyaccept = 4;
3799
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
3800
15.5k
    if (yych == 'N') goto yy304;
3801
14.4k
    if (yych == 'n') goto yy304;
3802
2.12k
    goto yy48;
3803
18.6k
yy181:
3804
18.6k
    YYDEBUG(181, *YYCURSOR);
3805
18.6k
    yyaccept = 10;
3806
18.6k
    yych = *(YYMARKER = ++YYCURSOR);
3807
18.6k
    if (yybm[256+yych] & 128) {
3808
1.66k
      goto yy47;
3809
1.66k
    }
3810
16.9k
    if (yych == '\\') goto yy164;
3811
16.8k
yy182:
3812
16.8k
    YYDEBUG(182, *YYCURSOR);
3813
16.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3814
16.8k
#line 1406 "Zend/zend_language_scanner.l"
3815
16.8k
    {
3816
16.8k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3817
16.8k
}
3818
0
#line 3819 "Zend/zend_language_scanner.c"
3819
24.1k
yy183:
3820
24.1k
    YYDEBUG(183, *YYCURSOR);
3821
24.1k
    yyaccept = 4;
3822
24.1k
    yych = *(YYMARKER = ++YYCURSOR);
3823
24.1k
    if (yych == 'R') goto yy305;
3824
22.8k
    if (yych == 'r') goto yy305;
3825
7.02k
    goto yy48;
3826
28.5k
yy184:
3827
28.5k
    YYDEBUG(184, *YYCURSOR);
3828
28.5k
    yyaccept = 4;
3829
28.5k
    yych = *(YYMARKER = ++YYCURSOR);
3830
28.5k
    if (yych == 'N') goto yy307;
3831
26.8k
    if (yych == 'n') goto yy307;
3832
2.74k
    goto yy48;
3833
5.39k
yy185:
3834
5.39k
    YYDEBUG(185, *YYCURSOR);
3835
5.39k
    yyaccept = 4;
3836
5.39k
    yych = *(YYMARKER = ++YYCURSOR);
3837
5.39k
    if (yych == 'O') goto yy308;
3838
3.01k
    if (yych == 'o') goto yy308;
3839
714
    goto yy48;
3840
5.47k
yy186:
3841
5.47k
    YYDEBUG(186, *YYCURSOR);
3842
5.47k
    yyaccept = 4;
3843
5.47k
    yych = *(YYMARKER = ++YYCURSOR);
3844
5.47k
    if (yych == 'T') goto yy309;
3845
4.91k
    if (yych == 't') goto yy309;
3846
788
    goto yy48;
3847
6.32k
yy187:
3848
6.32k
    YYDEBUG(187, *YYCURSOR);
3849
6.32k
    yyaccept = 11;
3850
6.32k
    yych = *(YYMARKER = ++YYCURSOR);
3851
6.32k
    if (yybm[256+yych] & 128) {
3852
1.21k
      goto yy47;
3853
1.21k
    }
3854
5.11k
    if (yych == '\\') goto yy164;
3855
5.02k
yy188:
3856
5.02k
    YYDEBUG(188, *YYCURSOR);
3857
5.02k
    yyleng = YYCURSOR - SCNG(yy_text);
3858
5.02k
#line 1453 "Zend/zend_language_scanner.l"
3859
5.02k
    {
3860
5.02k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3861
5.02k
}
3862
0
#line 3863 "Zend/zend_language_scanner.c"
3863
19.2k
yy189:
3864
19.2k
    YYDEBUG(189, *YYCURSOR);
3865
19.2k
    yyaccept = 4;
3866
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
3867
19.2k
    if (yych == 'P') goto yy310;
3868
17.0k
    if (yych == 'p') goto yy310;
3869
4.27k
    goto yy48;
3870
64.7k
yy190:
3871
64.7k
    YYDEBUG(190, *YYCURSOR);
3872
64.7k
    yyaccept = 4;
3873
64.7k
    yych = *(YYMARKER = ++YYCURSOR);
3874
64.7k
    if (yych <= 'T') {
3875
12.7k
      if (yych <= 'C') {
3876
6.40k
        if (yych <= 'B') goto yy48;
3877
2.48k
        goto yy311;
3878
6.40k
      } else {
3879
6.36k
        if (yych <= 'R') goto yy48;
3880
2.84k
        if (yych <= 'S') goto yy312;
3881
1.23k
        goto yy313;
3882
2.84k
      }
3883
52.0k
    } else {
3884
52.0k
      if (yych <= 'r') {
3885
26.3k
        if (yych == 'c') goto yy311;
3886
13.8k
        goto yy48;
3887
26.3k
      } else {
3888
25.6k
        if (yych <= 's') goto yy312;
3889
16.3k
        if (yych <= 't') goto yy313;
3890
1.45k
        goto yy48;
3891
16.3k
      }
3892
52.0k
    }
3893
8.81k
yy191:
3894
8.81k
    YYDEBUG(191, *YYCURSOR);
3895
8.81k
    yyaccept = 4;
3896
8.81k
    yych = *(YYMARKER = ++YYCURSOR);
3897
8.81k
    if (yych == 'S') goto yy314;
3898
8.41k
    if (yych == 's') goto yy314;
3899
4.99k
    goto yy48;
3900
6.39k
yy192:
3901
6.39k
    YYDEBUG(192, *YYCURSOR);
3902
6.39k
    yyaccept = 4;
3903
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
3904
6.39k
    if (yych == 'S') goto yy315;
3905
5.77k
    if (yych == 's') goto yy315;
3906
2.83k
    goto yy48;
3907
6.00k
yy193:
3908
6.00k
    YYDEBUG(193, *YYCURSOR);
3909
6.00k
    yyaccept = 4;
3910
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
3911
6.00k
    if (yych == 'T') goto yy316;
3912
5.60k
    if (yych == 't') goto yy316;
3913
877
    goto yy48;
3914
15.8k
yy194:
3915
15.8k
    YYDEBUG(194, *YYCURSOR);
3916
15.8k
    yyaccept = 4;
3917
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
3918
15.8k
    if (yych == 'M') goto yy317;
3919
15.3k
    if (yych == 'm') goto yy317;
3920
1.64k
    goto yy48;
3921
14.7k
yy195:
3922
14.7k
    YYDEBUG(195, *YYCURSOR);
3923
14.7k
    yyaccept = 4;
3924
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
3925
14.7k
    if (yych == 'W') goto yy318;
3926
14.3k
    if (yych == 'w') goto yy318;
3927
3.71k
    goto yy48;
3928
3.71k
yy196:
3929
2.81k
    YYDEBUG(196, *YYCURSOR);
3930
2.81k
    yyaccept = 12;
3931
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
3932
2.81k
    if (yybm[256+yych] & 128) {
3933
1.15k
      goto yy47;
3934
1.15k
    }
3935
1.65k
    if (yych == '\\') goto yy164;
3936
1.65k
yy197:
3937
1.65k
    YYDEBUG(197, *YYCURSOR);
3938
1.65k
    yyleng = YYCURSOR - SCNG(yy_text);
3939
1.65k
#line 1929 "Zend/zend_language_scanner.l"
3940
1.65k
    {
3941
1.65k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3942
1.65k
}
3943
0
#line 3944 "Zend/zend_language_scanner.c"
3944
27.6k
yy198:
3945
27.6k
    YYDEBUG(198, *YYCURSOR);
3946
27.6k
    yyaccept = 4;
3947
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
3948
27.6k
    if (yych <= 'O') {
3949
3.85k
      if (yych == 'I') goto yy320;
3950
2.98k
      if (yych <= 'N') goto yy48;
3951
2.25k
      goto yy321;
3952
23.7k
    } else {
3953
23.7k
      if (yych <= 'i') {
3954
14.6k
        if (yych <= 'h') goto yy48;
3955
13.9k
        goto yy320;
3956
14.6k
      } else {
3957
9.08k
        if (yych == 'o') goto yy321;
3958
726
        goto yy48;
3959
9.08k
      }
3960
23.7k
    }
3961
17.4k
yy199:
3962
17.4k
    YYDEBUG(199, *YYCURSOR);
3963
17.4k
    yyaccept = 4;
3964
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
3965
17.4k
    if (yych == 'B') goto yy322;
3966
15.9k
    if (yych == 'b') goto yy322;
3967
947
    goto yy48;
3968
27.0k
yy200:
3969
27.0k
    YYDEBUG(200, *YYCURSOR);
3970
27.0k
    yyaccept = 4;
3971
27.0k
    yych = *(YYMARKER = ++YYCURSOR);
3972
27.0k
    if (yych <= 'T') {
3973
4.37k
      if (yych <= 'P') {
3974
2.27k
        if (yych == 'A') goto yy323;
3975
1.61k
        goto yy48;
3976
2.27k
      } else {
3977
2.09k
        if (yych <= 'Q') goto yy324;
3978
848
        if (yych <= 'S') goto yy48;
3979
642
        goto yy325;
3980
848
      }
3981
22.6k
    } else {
3982
22.6k
      if (yych <= 'p') {
3983
6.78k
        if (yych == 'a') goto yy323;
3984
877
        goto yy48;
3985
15.9k
      } else {
3986
15.9k
        if (yych <= 'q') goto yy324;
3987
6.47k
        if (yych == 't') goto yy325;
3988
1.01k
        goto yy48;
3989
6.47k
      }
3990
22.6k
    }
3991
19.7k
yy201:
3992
19.7k
    YYDEBUG(201, *YYCURSOR);
3993
19.7k
    yyaccept = 4;
3994
19.7k
    yych = *(YYMARKER = ++YYCURSOR);
3995
19.7k
    if (yych == 'A') goto yy326;
3996
19.5k
    if (yych == 'a') goto yy326;
3997
12.3k
    goto yy48;
3998
12.3k
yy202:
3999
5.17k
    YYDEBUG(202, *YYCURSOR);
4000
5.17k
    yyaccept = 4;
4001
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
4002
5.17k
    if (yych == 'I') goto yy327;
4003
4.84k
    if (yych == 'i') goto yy327;
4004
537
    goto yy48;
4005
7.23k
yy203:
4006
7.23k
    YYDEBUG(203, *YYCURSOR);
4007
7.23k
    yyaccept = 4;
4008
7.23k
    yych = *(YYMARKER = ++YYCURSOR);
4009
7.23k
    if (yych == 'R') goto yy328;
4010
6.85k
    if (yych == 'r') goto yy328;
4011
1.20k
    goto yy48;
4012
14.0k
yy204:
4013
14.0k
    YYDEBUG(204, *YYCURSOR);
4014
14.0k
    yyaccept = 4;
4015
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
4016
14.0k
    if (yych <= 'Y') {
4017
1.96k
      if (yych == 'A') goto yy329;
4018
1.29k
      if (yych <= 'X') goto yy48;
4019
202
      goto yy330;
4020
12.1k
    } else {
4021
12.1k
      if (yych <= 'a') {
4022
4.08k
        if (yych <= '`') goto yy48;
4023
3.84k
        goto yy329;
4024
8.05k
      } else {
4025
8.05k
        if (yych == 'y') goto yy330;
4026
4.16k
        goto yy48;
4027
8.05k
      }
4028
12.1k
    }
4029
7.43k
yy205:
4030
7.43k
    YYDEBUG(205, *YYCURSOR);
4031
7.43k
    yyaccept = 4;
4032
7.43k
    yych = *(YYMARKER = ++YYCURSOR);
4033
7.43k
    if (yych == 'S') goto yy332;
4034
7.20k
    if (yych == 's') goto yy332;
4035
1.98k
    goto yy48;
4036
5.84k
yy206:
4037
5.84k
    YYDEBUG(206, *YYCURSOR);
4038
5.84k
    yyaccept = 4;
4039
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
4040
5.84k
    if (yych == 'E') goto yy333;
4041
5.57k
    if (yych == 'e') goto yy333;
4042
517
    goto yy48;
4043
8.86k
yy207:
4044
8.86k
    YYDEBUG(207, *YYCURSOR);
4045
8.86k
    yyaccept = 4;
4046
8.86k
    yych = *(YYMARKER = ++YYCURSOR);
4047
8.86k
    if (yych == 'R') goto yy335;
4048
8.61k
    if (yych == 'r') goto yy335;
4049
1.69k
    goto yy48;
4050
5.04k
yy208:
4051
5.04k
    YYDEBUG(208, *YYCURSOR);
4052
5.04k
    yyaccept = 4;
4053
5.04k
    yych = *(YYMARKER = ++YYCURSOR);
4054
5.04k
    if (yych == 'I') goto yy337;
4055
3.99k
    if (yych == 'i') goto yy337;
4056
878
    goto yy48;
4057
3.65k
yy209:
4058
3.65k
    YYDEBUG(209, *YYCURSOR);
4059
3.65k
    yyaccept = 4;
4060
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
4061
3.65k
    if (yych == 'R') goto yy338;
4062
3.17k
    if (yych == 'r') goto yy338;
4063
393
    goto yy48;
4064
72.1k
yy210:
4065
72.1k
    YYDEBUG(210, *YYCURSOR);
4066
72.1k
    yyaccept = 4;
4067
72.1k
    yych = *(YYMARKER = ++YYCURSOR);
4068
72.1k
    if (yych == 'E') goto yy340;
4069
71.2k
    if (yych == 'e') goto yy340;
4070
3.05k
    goto yy48;
4071
125k
yy211:
4072
125k
    YYDEBUG(211, *YYCURSOR);
4073
125k
    yyaccept = 13;
4074
125k
    YYMARKER = ++YYCURSOR;
4075
125k
    YYFILL(1);
4076
125k
    yych = *YYCURSOR;
4077
125k
    YYDEBUG(212, *YYCURSOR);
4078
125k
    if (yych <= '\\') {
4079
45.4k
      if (yych <= '@') {
4080
18.0k
        if (yych <= '/') goto yy213;
4081
7.17k
        if (yych <= '9') goto yy211;
4082
27.3k
      } else {
4083
27.3k
        if (yych <= 'Z') goto yy211;
4084
16.1k
        if (yych >= '\\') goto yy341;
4085
16.1k
      }
4086
79.8k
    } else {
4087
79.8k
      if (yych <= '`') {
4088
5.25k
        if (yych == '_') goto yy211;
4089
74.5k
      } else {
4090
74.5k
        if (yych <= 'z') goto yy211;
4091
30.9k
        if (yych >= 0x80) goto yy211;
4092
30.9k
      }
4093
79.8k
    }
4094
25.3k
yy213:
4095
25.3k
    YYDEBUG(213, *YYCURSOR);
4096
25.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4097
25.3k
#line 2446 "Zend/zend_language_scanner.l"
4098
25.3k
    {
4099
25.3k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4100
25.3k
}
4101
0
#line 4102 "Zend/zend_language_scanner.c"
4102
607
yy214:
4103
607
    YYDEBUG(214, *YYCURSOR);
4104
607
    ++YYCURSOR;
4105
607
    YYDEBUG(215, *YYCURSOR);
4106
607
    yyleng = YYCURSOR - SCNG(yy_text);
4107
607
#line 1909 "Zend/zend_language_scanner.l"
4108
607
    {
4109
607
  RETURN_TOKEN(T_XOR_EQUAL);
4110
607
}
4111
0
#line 4112 "Zend/zend_language_scanner.c"
4112
84.3k
yy216:
4113
84.3k
    YYDEBUG(216, *YYCURSOR);
4114
84.3k
    yyaccept = 4;
4115
84.3k
    yych = *(YYMARKER = ++YYCURSOR);
4116
84.3k
    switch (yych) {
4117
1.76k
    case 'C':
4118
11.8k
    case 'c': goto yy342;
4119
381
    case 'D':
4120
4.10k
    case 'd': goto yy343;
4121
2.15k
    case 'F':
4122
17.5k
    case 'f': goto yy344;
4123
1.39k
    case 'H':
4124
7.21k
    case 'h': goto yy345;
4125
1.08k
    case 'L':
4126
4.51k
    case 'l': goto yy346;
4127
812
    case 'M':
4128
7.28k
    case 'm': goto yy347;
4129
806
    case 'N':
4130
8.09k
    case 'n': goto yy348;
4131
4.90k
    case 'P':
4132
5.95k
    case 'p': goto yy349;
4133
1.05k
    case 'T':
4134
7.62k
    case 't': goto yy350;
4135
10.1k
    default:  goto yy48;
4136
84.3k
    }
4137
1.05k
yy217:
4138
1.05k
    YYDEBUG(217, *YYCURSOR);
4139
1.05k
    ++YYCURSOR;
4140
1.05k
    YYDEBUG(218, *YYCURSOR);
4141
1.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4142
1.05k
#line 1905 "Zend/zend_language_scanner.l"
4143
1.05k
    {
4144
1.05k
  RETURN_TOKEN(T_OR_EQUAL);
4145
1.05k
}
4146
0
#line 4147 "Zend/zend_language_scanner.c"
4147
6.14k
yy219:
4148
6.14k
    YYDEBUG(219, *YYCURSOR);
4149
6.14k
    ++YYCURSOR;
4150
6.14k
    YYDEBUG(220, *YYCURSOR);
4151
6.14k
    yyleng = YYCURSOR - SCNG(yy_text);
4152
6.14k
#line 1917 "Zend/zend_language_scanner.l"
4153
6.14k
    {
4154
6.14k
  RETURN_TOKEN(T_PIPE);
4155
6.14k
}
4156
0
#line 4157 "Zend/zend_language_scanner.c"
4157
4.30k
yy221:
4158
4.30k
    YYDEBUG(221, *YYCURSOR);
4159
4.30k
    ++YYCURSOR;
4160
4.30k
    YYDEBUG(222, *YYCURSOR);
4161
4.30k
    yyleng = YYCURSOR - SCNG(yy_text);
4162
4.30k
#line 1921 "Zend/zend_language_scanner.l"
4163
4.30k
    {
4164
4.30k
  RETURN_TOKEN(T_BOOLEAN_OR);
4165
4.30k
}
4166
0
#line 4167 "Zend/zend_language_scanner.c"
4167
1.74k
yy223:
4168
1.74k
    YYDEBUG(223, *YYCURSOR);
4169
1.74k
    ++YYCURSOR;
4170
1.74k
    YYDEBUG(224, *YYCURSOR);
4171
1.74k
    yyleng = YYCURSOR - SCNG(yy_text);
4172
1.74k
#line 1837 "Zend/zend_language_scanner.l"
4173
1.74k
    {
4174
1.74k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4175
1.74k
}
4176
0
#line 4177 "Zend/zend_language_scanner.c"
4177
474k
yy225:
4178
474k
    YYDEBUG(225, *YYCURSOR);
4179
474k
    ++YYCURSOR;
4180
474k
    YYFILL(1);
4181
474k
    yych = *YYCURSOR;
4182
474k
    YYDEBUG(226, *YYCURSOR);
4183
474k
    if (yybm[0+yych] & 2) {
4184
351k
      goto yy225;
4185
351k
    }
4186
122k
    if (yych <= 0x00) goto yy86;
4187
120k
    goto yy84;
4188
144k
yy227:
4189
144k
    YYDEBUG(227, *YYCURSOR);
4190
144k
    ++YYCURSOR;
4191
144k
    YYFILL(1);
4192
144k
    yych = *YYCURSOR;
4193
144k
    YYDEBUG(228, *YYCURSOR);
4194
144k
    if (yych <= 0x1F) {
4195
11.6k
      if (yych <= '\t') {
4196
2.79k
        if (yych <= 0x00) goto yy86;
4197
2.27k
        if (yych <= 0x08) goto yy225;
4198
621
        goto yy227;
4199
8.86k
      } else {
4200
8.86k
        if (yych <= '\n') goto yy84;
4201
6.77k
        if (yych == '\r') goto yy84;
4202
6.06k
        goto yy225;
4203
6.77k
      }
4204
132k
    } else {
4205
132k
      if (yych <= '$') {
4206
10.9k
        if (yych <= ' ') goto yy227;
4207
10.4k
        if (yych <= '"') goto yy225;
4208
9.74k
        if (yych <= '#') goto yy351;
4209
3.01k
        goto yy352;
4210
121k
      } else {
4211
121k
        if (yych <= '-') goto yy225;
4212
59.3k
        if (yych <= '.') goto yy353;
4213
42.2k
        if (yych <= '/') goto yy354;
4214
21.0k
        goto yy225;
4215
42.2k
      }
4216
132k
    }
4217
1.80k
yy229:
4218
1.80k
    YYDEBUG(229, *YYCURSOR);
4219
1.80k
    yych = *++YYCURSOR;
4220
1.80k
    if (yych == '.') goto yy88;
4221
1.04k
    goto yy86;
4222
211k
yy230:
4223
211k
    YYDEBUG(230, *YYCURSOR);
4224
211k
    ++YYCURSOR;
4225
211k
    YYFILL(1);
4226
211k
    yych = *YYCURSOR;
4227
211k
    YYDEBUG(231, *YYCURSOR);
4228
211k
    if (yybm[0+yych] & 4) {
4229
196k
      goto yy230;
4230
196k
    }
4231
14.4k
    if (yych <= 0x00) goto yy86;
4232
8.24k
    goto yy355;
4233
8.24k
yy232:
4234
6.94k
    YYDEBUG(232, *YYCURSOR);
4235
6.94k
    yych = *++YYCURSOR;
4236
6.94k
    if (yych == 'R') goto yy357;
4237
6.86k
    if (yych == 'r') goto yy357;
4238
797
    goto yy86;
4239
6.47k
yy233:
4240
6.47k
    YYDEBUG(233, *YYCURSOR);
4241
6.47k
    yych = *++YYCURSOR;
4242
6.47k
    if (yych == 'N') goto yy358;
4243
2.39k
    if (yych == 'n') goto yy358;
4244
1.08k
    goto yy86;
4245
6.27k
yy234:
4246
6.27k
    YYDEBUG(234, *YYCURSOR);
4247
6.27k
    yych = *++YYCURSOR;
4248
6.27k
    if (yych == 'O') goto yy359;
4249
5.51k
    if (yych == 'o') goto yy359;
4250
879
    goto yy86;
4251
3.77k
yy235:
4252
3.77k
    YYDEBUG(235, *YYCURSOR);
4253
3.77k
    yych = *++YYCURSOR;
4254
3.77k
    if (yych == 'U') goto yy360;
4255
3.59k
    if (yych == 'u') goto yy360;
4256
421
    goto yy86;
4257
3.56k
yy236:
4258
3.56k
    YYDEBUG(236, *YYCURSOR);
4259
3.56k
    yych = *++YYCURSOR;
4260
3.56k
    if (yych == 'O') goto yy361;
4261
1.85k
    if (yych == 'o') goto yy361;
4262
622
    goto yy86;
4263
9.27k
yy237:
4264
9.27k
    YYDEBUG(237, *YYCURSOR);
4265
9.27k
    yych = *++YYCURSOR;
4266
9.27k
    if (yych == 'T') goto yy362;
4267
8.18k
    if (yych == 't') goto yy362;
4268
2.55k
    goto yy86;
4269
3.84k
yy238:
4270
3.84k
    YYDEBUG(238, *YYCURSOR);
4271
3.84k
    yych = *++YYCURSOR;
4272
3.84k
    if (yych == 'J') goto yy363;
4273
3.24k
    if (yych == 'j') goto yy363;
4274
806
    goto yy86;
4275
2.65k
yy239:
4276
2.65k
    YYDEBUG(239, *YYCURSOR);
4277
2.65k
    yych = *++YYCURSOR;
4278
2.65k
    if (yych == 'A') goto yy364;
4279
1.91k
    if (yych == 'a') goto yy364;
4280
687
    goto yy86;
4281
8.42k
yy240:
4282
8.42k
    YYDEBUG(240, *YYCURSOR);
4283
8.42k
    yych = *++YYCURSOR;
4284
8.42k
    if (yych == 'R') goto yy365;
4285
8.20k
    if (yych == 'r') goto yy365;
4286
1.60k
    goto yy86;
4287
3.10k
yy241:
4288
3.10k
    YYDEBUG(241, *YYCURSOR);
4289
3.10k
    yych = *++YYCURSOR;
4290
3.10k
    if (yych == 'S') goto yy366;
4291
2.90k
    if (yych == 's') goto yy366;
4292
684
    goto yy86;
4293
2.01k
yy242:
4294
2.01k
    YYDEBUG(242, *YYCURSOR);
4295
2.01k
    yych = *++YYCURSOR;
4296
2.01k
    if (yych == 'I') goto yy367;
4297
1.77k
    if (yych == 'i') goto yy367;
4298
557
    goto yy86;
4299
557
yy243:
4300
537
    YYDEBUG(243, *YYCURSOR);
4301
537
    ++YYCURSOR;
4302
537
    YYDEBUG(244, *YYCURSOR);
4303
537
    yyleng = YYCURSOR - SCNG(yy_text);
4304
537
#line 1877 "Zend/zend_language_scanner.l"
4305
537
    {
4306
537
  RETURN_TOKEN(T_POW_EQUAL);
4307
537
}
4308
0
#line 4309 "Zend/zend_language_scanner.c"
4309
11.1k
yy245:
4310
11.1k
    YYDEBUG(245, *YYCURSOR);
4311
11.1k
    ++YYCURSOR;
4312
11.1k
    YYDEBUG(246, *YYCURSOR);
4313
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4314
11.1k
#line 1617 "Zend/zend_language_scanner.l"
4315
11.1k
    {
4316
11.1k
  RETURN_TOKEN(T_ELLIPSIS);
4317
11.1k
}
4318
0
#line 4319 "Zend/zend_language_scanner.c"
4319
1.80k
yy247:
4320
1.80k
    YYDEBUG(247, *YYCURSOR);
4321
1.80k
    ++YYCURSOR;
4322
1.80k
    YYFILL(1);
4323
1.80k
    yych = *YYCURSOR;
4324
1.80k
    if (yych <= '/') goto yy86;
4325
1.28k
    if (yych <= '9') goto yy123;
4326
934
    goto yy86;
4327
6.01k
yy248:
4328
6.01k
    YYDEBUG(248, *YYCURSOR);
4329
6.01k
    yych = *++YYCURSOR;
4330
6.01k
    if (yych <= '\f') {
4331
2.51k
      if (yych <= 0x08) goto yy86;
4332
2.34k
      if (yych <= '\n') goto yy368;
4333
1.21k
      goto yy86;
4334
3.50k
    } else {
4335
3.50k
      if (yych <= '\r') goto yy368;
4336
3.01k
      if (yych == ' ') goto yy368;
4337
914
      goto yy86;
4338
3.01k
    }
4339
51.4k
yy249:
4340
51.4k
    YYDEBUG(249, *YYCURSOR);
4341
51.4k
    yyaccept = 14;
4342
51.4k
    YYMARKER = ++YYCURSOR;
4343
51.4k
    YYFILL(1);
4344
51.4k
    yych = *YYCURSOR;
4345
51.4k
    YYDEBUG(250, *YYCURSOR);
4346
51.4k
    if (yybm[0+yych] & 8) {
4347
47.3k
      goto yy249;
4348
47.3k
    }
4349
4.11k
    if (yych == '_') goto yy134;
4350
1.92k
yy251:
4351
1.92k
    YYDEBUG(251, *YYCURSOR);
4352
1.92k
    yyleng = YYCURSOR - SCNG(yy_text);
4353
1.92k
#line 2010 "Zend/zend_language_scanner.l"
4354
1.92k
    {
4355
  /* The +/- 2 skips "0b" */
4356
1.92k
  size_t len = yyleng - 2;
4357
1.92k
  char *end, *bin = yytext + 2;
4358
1.92k
  bool contains_underscores;
4359
4360
  /* Skip any leading 0s */
4361
4.37k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4362
2.45k
    ++bin;
4363
2.45k
    --len;
4364
2.45k
  }
4365
4366
1.92k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4367
4368
1.92k
  if (contains_underscores) {
4369
485
    bin = estrndup(bin, len);
4370
485
    strip_underscores(bin, &len);
4371
485
  }
4372
4373
1.92k
  if (len < SIZEOF_ZEND_LONG * 8) {
4374
1.48k
    if (len == 0) {
4375
422
      ZVAL_LONG(zendlval, 0);
4376
1.06k
    } else {
4377
1.06k
      errno = 0;
4378
1.06k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4379
1.06k
      ZEND_ASSERT(!errno && end == bin + len);
4380
1.06k
    }
4381
1.48k
    if (contains_underscores) {
4382
270
      efree(bin);
4383
270
    }
4384
1.48k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4385
1.48k
  } else {
4386
434
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4387
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4388
434
    ZEND_ASSERT(end == bin + len);
4389
434
    if (contains_underscores) {
4390
215
      efree(bin);
4391
215
    }
4392
434
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4393
434
  }
4394
1.92k
}
4395
0
#line 4396 "Zend/zend_language_scanner.c"
4396
13.0k
yy252:
4397
13.0k
    YYDEBUG(252, *YYCURSOR);
4398
13.0k
    ++YYCURSOR;
4399
13.0k
    YYFILL(1);
4400
13.0k
    yych = *YYCURSOR;
4401
13.0k
    if (yych <= '/') goto yy86;
4402
12.4k
    if (yych >= ':') goto yy86;
4403
65.8k
yy253:
4404
65.8k
    YYDEBUG(253, *YYCURSOR);
4405
65.8k
    yyaccept = 5;
4406
65.8k
    YYMARKER = ++YYCURSOR;
4407
65.8k
    YYFILL(1);
4408
65.8k
    yych = *YYCURSOR;
4409
65.8k
    YYDEBUG(254, *YYCURSOR);
4410
65.8k
    if (yych <= '/') goto yy125;
4411
52.3k
    if (yych <= '9') goto yy253;
4412
12.3k
    if (yych == '_') goto yy252;
4413
11.6k
    goto yy125;
4414
12.4k
yy255:
4415
12.4k
    YYDEBUG(255, *YYCURSOR);
4416
12.4k
    yyaccept = 15;
4417
12.4k
    YYMARKER = ++YYCURSOR;
4418
12.4k
    YYFILL(1);
4419
12.4k
    yych = *YYCURSOR;
4420
12.4k
    YYDEBUG(256, *YYCURSOR);
4421
12.4k
    if (yybm[0+yych] & 16) {
4422
9.42k
      goto yy255;
4423
9.42k
    }
4424
2.98k
    if (yych == '_') goto yy136;
4425
1.91k
yy257:
4426
1.91k
    YYDEBUG(257, *YYCURSOR);
4427
1.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4428
1.91k
#line 2052 "Zend/zend_language_scanner.l"
4429
1.91k
    {
4430
  /* The +/- 2 skips "0o" */
4431
1.91k
  size_t len = yyleng - 2;
4432
1.91k
  char *end, *octal = yytext + 2;
4433
1.91k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4434
4435
  /* Skip any leading 0s */
4436
4.11k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4437
2.20k
    ++octal;
4438
2.20k
    --len;
4439
2.20k
  }
4440
4441
1.91k
  if (len == 0) {
4442
423
    ZVAL_LONG(zendlval, 0);
4443
423
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4444
423
  }
4445
4446
1.48k
  if (contains_underscores) {
4447
963
    octal = estrndup(octal, len);
4448
963
    strip_underscores(octal, &len);
4449
963
  }
4450
4451
1.48k
  errno = 0;
4452
4453
1.48k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4454
4455
1.48k
  ZEND_ASSERT(end == octal + len);
4456
4457
1.48k
  if (!errno) {
4458
1.16k
    if (contains_underscores) {
4459
745
      efree(octal);
4460
745
    }
4461
1.16k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4462
1.16k
  }
4463
4464
  /* Overflow */
4465
322
  ZEND_ASSERT(errno == ERANGE);
4466
  /* Reset errno */
4467
322
  errno = 0;
4468
4469
  /* zend_oct_strtod skips leading '0' */
4470
322
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4471
322
  ZEND_ASSERT(!errno);
4472
322
  ZEND_ASSERT(end == octal + len);
4473
322
  if (contains_underscores) {
4474
218
    efree(octal);
4475
218
  }
4476
322
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4477
322
}
4478
0
#line 4479 "Zend/zend_language_scanner.c"
4479
42.0k
yy258:
4480
42.0k
    YYDEBUG(258, *YYCURSOR);
4481
42.0k
    yyaccept = 16;
4482
42.0k
    YYMARKER = ++YYCURSOR;
4483
42.0k
    YYFILL(1);
4484
42.0k
    yych = *YYCURSOR;
4485
42.0k
    YYDEBUG(259, *YYCURSOR);
4486
42.0k
    if (yybm[0+yych] & 32) {
4487
34.0k
      goto yy258;
4488
34.0k
    }
4489
7.94k
    if (yych == '_') goto yy137;
4490
5.33k
yy260:
4491
5.33k
    YYDEBUG(260, *YYCURSOR);
4492
5.33k
    yyleng = YYCURSOR - SCNG(yy_text);
4493
5.33k
#line 2165 "Zend/zend_language_scanner.l"
4494
5.33k
    {
4495
  /* The +/- 2 skips "0x" */
4496
5.33k
  size_t len = yyleng - 2;
4497
5.33k
  char *end, *hex = yytext + 2;
4498
5.33k
  bool contains_underscores;
4499
4500
  /* Skip any leading 0s */
4501
8.08k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4502
2.74k
    ++hex;
4503
2.74k
    --len;
4504
2.74k
  }
4505
4506
5.33k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4507
4508
5.33k
  if (contains_underscores) {
4509
1.97k
    hex = estrndup(hex, len);
4510
1.97k
    strip_underscores(hex, &len);
4511
1.97k
  }
4512
4513
5.33k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4514
4.30k
    if (len == 0) {
4515
774
      ZVAL_LONG(zendlval, 0);
4516
3.52k
    } else {
4517
3.52k
      errno = 0;
4518
3.52k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4519
3.52k
      ZEND_ASSERT(!errno && end == hex + len);
4520
3.52k
    }
4521
4.30k
    if (contains_underscores) {
4522
1.11k
      efree(hex);
4523
1.11k
    }
4524
4.30k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4525
4.30k
  } else {
4526
1.03k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4527
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4528
1.03k
    ZEND_ASSERT(end == hex + len);
4529
1.03k
    if (contains_underscores) {
4530
865
      efree(hex);
4531
865
    }
4532
1.03k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4533
1.03k
  }
4534
5.33k
}
4535
0
#line 4536 "Zend/zend_language_scanner.c"
4536
2.85M
yy261:
4537
2.85M
    YYDEBUG(261, *YYCURSOR);
4538
2.85M
    ++YYCURSOR;
4539
2.85M
    YYFILL(2);
4540
2.85M
    yych = *YYCURSOR;
4541
2.85M
    YYDEBUG(262, *YYCURSOR);
4542
2.85M
    if (yych <= '\'') {
4543
33.5k
      if (yych <= ' ') {
4544
17.5k
        if (yych == '\t') goto yy261;
4545
16.6k
        if (yych <= 0x1F) goto yy86;
4546
2.15k
        goto yy261;
4547
16.6k
      } else {
4548
16.0k
        if (yych == '"') goto yy370;
4549
11.7k
        if (yych <= '&') goto yy86;
4550
6.88k
        goto yy371;
4551
11.7k
      }
4552
2.82M
    } else {
4553
2.82M
      if (yych <= '_') {
4554
507k
        if (yych <= '@') goto yy86;
4555
463k
        if (yych <= 'Z') goto yy372;
4556
5.67k
        if (yych <= '^') goto yy86;
4557
4.73k
        goto yy372;
4558
2.31M
      } else {
4559
2.31M
        if (yych <= '`') goto yy86;
4560
2.31M
        if (yych <= 'z') goto yy372;
4561
1.91M
        if (yych <= 0x7F) goto yy86;
4562
1.91M
        goto yy372;
4563
1.91M
      }
4564
2.82M
    }
4565
1.75k
yy263:
4566
1.75k
    YYDEBUG(263, *YYCURSOR);
4567
1.75k
    ++YYCURSOR;
4568
1.75k
    YYDEBUG(264, *YYCURSOR);
4569
1.75k
    yyleng = YYCURSOR - SCNG(yy_text);
4570
1.75k
#line 1893 "Zend/zend_language_scanner.l"
4571
1.75k
    {
4572
1.75k
  RETURN_TOKEN(T_SL_EQUAL);
4573
1.75k
}
4574
0
#line 4575 "Zend/zend_language_scanner.c"
4575
733
yy265:
4576
733
    YYDEBUG(265, *YYCURSOR);
4577
733
    ++YYCURSOR;
4578
733
    YYDEBUG(266, *YYCURSOR);
4579
733
    yyleng = YYCURSOR - SCNG(yy_text);
4580
733
#line 1849 "Zend/zend_language_scanner.l"
4581
733
    {
4582
733
  RETURN_TOKEN(T_SPACESHIP);
4583
733
}
4584
0
#line 4585 "Zend/zend_language_scanner.c"
4585
3.89k
yy267:
4586
3.89k
    YYDEBUG(267, *YYCURSOR);
4587
3.89k
    ++YYCURSOR;
4588
3.89k
    YYDEBUG(268, *YYCURSOR);
4589
3.89k
    yyleng = YYCURSOR - SCNG(yy_text);
4590
3.89k
#line 1833 "Zend/zend_language_scanner.l"
4591
3.89k
    {
4592
3.89k
  RETURN_TOKEN(T_IS_IDENTICAL);
4593
3.89k
}
4594
0
#line 4595 "Zend/zend_language_scanner.c"
4595
294
yy269:
4596
294
    YYDEBUG(269, *YYCURSOR);
4597
294
    ++YYCURSOR;
4598
294
    YYDEBUG(270, *YYCURSOR);
4599
294
    yyleng = YYCURSOR - SCNG(yy_text);
4600
294
#line 1897 "Zend/zend_language_scanner.l"
4601
294
    {
4602
294
  RETURN_TOKEN(T_SR_EQUAL);
4603
294
}
4604
0
#line 4605 "Zend/zend_language_scanner.c"
4605
9.85k
yy271:
4606
9.85k
    YYDEBUG(271, *YYCURSOR);
4607
9.85k
    ++YYCURSOR;
4608
9.85k
    YYDEBUG(272, *YYCURSOR);
4609
9.85k
    yyleng = YYCURSOR - SCNG(yy_text);
4610
9.85k
#line 1591 "Zend/zend_language_scanner.l"
4611
9.85k
    {
4612
9.85k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4613
9.85k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4614
9.85k
}
4615
0
#line 4616 "Zend/zend_language_scanner.c"
4616
2.61k
yy273:
4617
2.61k
    YYDEBUG(273, *YYCURSOR);
4618
2.61k
    ++YYCURSOR;
4619
2.61k
    goto yy156;
4620
2.23k
yy274:
4621
2.23k
    YYDEBUG(274, *YYCURSOR);
4622
2.23k
    yych = *++YYCURSOR;
4623
2.23k
    if (yych == '\n') goto yy273;
4624
2.00k
    goto yy156;
4625
6.91k
yy275:
4626
6.91k
    YYDEBUG(275, *YYCURSOR);
4627
6.91k
    ++YYCURSOR;
4628
6.91k
    YYDEBUG(276, *YYCURSOR);
4629
6.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4630
6.91k
#line 1913 "Zend/zend_language_scanner.l"
4631
6.91k
    {
4632
6.91k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4633
6.91k
}
4634
0
#line 4635 "Zend/zend_language_scanner.c"
4635
5.72k
yy277:
4636
5.72k
    YYDEBUG(277, *YYCURSOR);
4637
5.72k
    yyaccept = 4;
4638
5.72k
    yych = *(YYMARKER = ++YYCURSOR);
4639
5.72k
    if (yych == 'T') goto yy374;
4640
5.19k
    if (yych == 't') goto yy374;
4641
686
    goto yy48;
4642
3.60k
yy278:
4643
3.60k
    YYDEBUG(278, *YYCURSOR);
4644
3.60k
    yyaccept = 17;
4645
3.60k
    yych = *(YYMARKER = ++YYCURSOR);
4646
3.60k
    if (yybm[256+yych] & 128) {
4647
239
      goto yy47;
4648
239
    }
4649
3.36k
    if (yych == '\\') goto yy164;
4650
3.34k
yy279:
4651
3.34k
    YYDEBUG(279, *YYCURSOR);
4652
3.34k
    yyleng = YYCURSOR - SCNG(yy_text);
4653
3.34k
#line 1933 "Zend/zend_language_scanner.l"
4654
3.34k
    {
4655
3.34k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4656
3.34k
}
4657
0
#line 4658 "Zend/zend_language_scanner.c"
4658
11.4k
yy280:
4659
11.4k
    YYDEBUG(280, *YYCURSOR);
4660
11.4k
    yyaccept = 4;
4661
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
4662
11.4k
    if (yych == 'A') goto yy375;
4663
10.8k
    if (yych == 'a') goto yy375;
4664
1.54k
    goto yy48;
4665
73.1k
yy281:
4666
73.1k
    YYDEBUG(281, *YYCURSOR);
4667
73.1k
    yyaccept = 18;
4668
73.1k
    YYMARKER = ++YYCURSOR;
4669
73.1k
    YYFILL(1);
4670
73.1k
    yych = *YYCURSOR;
4671
73.1k
    YYDEBUG(282, *YYCURSOR);
4672
73.1k
    if (yych <= '\\') {
4673
30.7k
      if (yych <= '@') {
4674
13.9k
        if (yych <= '/') goto yy283;
4675
7.18k
        if (yych <= '9') goto yy281;
4676
16.7k
      } else {
4677
16.7k
        if (yych <= 'Z') goto yy281;
4678
9.60k
        if (yych >= '\\') goto yy164;
4679
9.60k
      }
4680
42.3k
    } else {
4681
42.3k
      if (yych <= '`') {
4682
4.47k
        if (yych == '_') goto yy281;
4683
37.9k
      } else {
4684
37.9k
        if (yych <= 'z') goto yy281;
4685
17.0k
        if (yych >= 0x80) goto yy281;
4686
17.0k
      }
4687
42.3k
    }
4688
15.5k
yy283:
4689
15.5k
    YYDEBUG(283, *YYCURSOR);
4690
15.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4691
15.5k
#line 2442 "Zend/zend_language_scanner.l"
4692
15.5k
    {
4693
15.5k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4694
15.5k
}
4695
0
#line 4696 "Zend/zend_language_scanner.c"
4696
1.27k
yy284:
4697
1.27k
    YYDEBUG(284, *YYCURSOR);
4698
1.27k
    yych = *++YYCURSOR;
4699
1.27k
    if (yych == '<') goto yy261;
4700
450
    goto yy86;
4701
4.43k
yy285:
4702
4.43k
    YYDEBUG(285, *YYCURSOR);
4703
4.43k
    yyaccept = 4;
4704
4.43k
    yych = *(YYMARKER = ++YYCURSOR);
4705
4.43k
    if (yych == 'A') goto yy376;
4706
3.67k
    if (yych == 'a') goto yy376;
4707
1.21k
    goto yy48;
4708
7.43k
yy286:
4709
7.43k
    YYDEBUG(286, *YYCURSOR);
4710
7.43k
    yyaccept = 4;
4711
7.43k
    yych = *(YYMARKER = ++YYCURSOR);
4712
7.43k
    if (yych == 'L') goto yy377;
4713
5.81k
    if (yych == 'l') goto yy377;
4714
766
    goto yy48;
4715
6.64k
yy287:
4716
6.64k
    YYDEBUG(287, *YYCURSOR);
4717
6.64k
    yyaccept = 4;
4718
6.64k
    yych = *(YYMARKER = ++YYCURSOR);
4719
6.64k
    if (yych == 'E') goto yy378;
4720
4.15k
    if (yych == 'e') goto yy378;
4721
706
    goto yy48;
4722
4.71k
yy288:
4723
4.71k
    YYDEBUG(288, *YYCURSOR);
4724
4.71k
    yyaccept = 4;
4725
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
4726
4.71k
    if (yych == 'C') goto yy380;
4727
4.27k
    if (yych == 'c') goto yy380;
4728
595
    goto yy48;
4729
24.4k
yy289:
4730
24.4k
    YYDEBUG(289, *YYCURSOR);
4731
24.4k
    yyaccept = 4;
4732
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
4733
24.4k
    if (yych == 'S') goto yy381;
4734
23.7k
    if (yych == 's') goto yy381;
4735
1.81k
    goto yy48;
4736
4.57k
yy290:
4737
4.57k
    YYDEBUG(290, *YYCURSOR);
4738
4.57k
    yyaccept = 4;
4739
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
4740
4.57k
    if (yych == 'N') goto yy382;
4741
4.02k
    if (yych == 'n') goto yy382;
4742
492
    goto yy48;
4743
32.0k
yy291:
4744
32.0k
    YYDEBUG(291, *YYCURSOR);
4745
32.0k
    yyaccept = 4;
4746
32.0k
    yych = *(YYMARKER = ++YYCURSOR);
4747
32.0k
    if (yych <= 'T') {
4748
5.00k
      if (yych <= 'R') goto yy48;
4749
3.36k
      if (yych <= 'S') goto yy383;
4750
2.32k
      goto yy384;
4751
27.0k
    } else {
4752
27.0k
      if (yych <= 'r') goto yy48;
4753
26.6k
      if (yych <= 's') goto yy383;
4754
5.53k
      if (yych <= 't') goto yy384;
4755
929
      goto yy48;
4756
5.53k
    }
4757
6.51k
yy292:
4758
6.51k
    YYDEBUG(292, *YYCURSOR);
4759
6.51k
    yyaccept = 4;
4760
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
4761
6.51k
    if (yych == 'L') goto yy385;
4762
6.17k
    if (yych == 'l') goto yy385;
4763
418
    goto yy48;
4764
5.67k
yy293:
4765
5.67k
    YYDEBUG(293, *YYCURSOR);
4766
5.67k
    yyaccept = 4;
4767
5.67k
    yych = *(YYMARKER = ++YYCURSOR);
4768
5.67k
    if (yych == 'A') goto yy386;
4769
5.03k
    if (yych == 'a') goto yy386;
4770
2.08k
    goto yy48;
4771
8.07k
yy294:
4772
8.07k
    YYDEBUG(294, *YYCURSOR);
4773
8.07k
    yyaccept = 19;
4774
8.07k
    yych = *(YYMARKER = ++YYCURSOR);
4775
8.07k
    if (yybm[256+yych] & 128) {
4776
1.08k
      goto yy47;
4777
1.08k
    }
4778
6.98k
    if (yych == '\\') goto yy164;
4779
6.91k
yy295:
4780
6.91k
    YYDEBUG(295, *YYCURSOR);
4781
6.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4782
6.91k
#line 1402 "Zend/zend_language_scanner.l"
4783
6.91k
    {
4784
6.91k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4785
6.91k
}
4786
0
#line 4787 "Zend/zend_language_scanner.c"
4787
7.21k
yy296:
4788
7.21k
    YYDEBUG(296, *YYCURSOR);
4789
7.21k
    yyaccept = 4;
4790
7.21k
    yych = *(YYMARKER = ++YYCURSOR);
4791
7.21k
    if (yych == 'O') goto yy387;
4792
6.47k
    if (yych == 'o') goto yy387;
4793
364
    goto yy48;
4794
13.3k
yy297:
4795
13.3k
    YYDEBUG(297, *YYCURSOR);
4796
13.3k
    yyaccept = 4;
4797
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
4798
13.3k
    if (yych == 'E') goto yy389;
4799
12.1k
    if (yych == 'e') goto yy389;
4800
853
    goto yy48;
4801
3.40k
yy298:
4802
3.40k
    YYDEBUG(298, *YYCURSOR);
4803
3.40k
    yyaccept = 4;
4804
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
4805
3.40k
    if (yych == 'T') goto yy391;
4806
3.18k
    if (yych == 't') goto yy391;
4807
519
    goto yy48;
4808
26.4k
yy299:
4809
26.4k
    YYDEBUG(299, *YYCURSOR);
4810
26.4k
    yyaccept = 4;
4811
26.4k
    yych = *(YYMARKER = ++YYCURSOR);
4812
26.4k
    switch (yych) {
4813
523
    case 'D':
4814
4.34k
    case 'd': goto yy392;
4815
2.46k
    case 'F':
4816
9.26k
    case 'f': goto yy393;
4817
735
    case 'I':
4818
3.14k
    case 'i': goto yy394;
4819
2.04k
    case 'S':
4820
4.76k
    case 's': goto yy395;
4821
959
    case 'W':
4822
3.22k
    case 'w': goto yy396;
4823
1.69k
    default:  goto yy48;
4824
26.4k
    }
4825
122k
yy300:
4826
122k
    YYDEBUG(300, *YYCURSOR);
4827
122k
    yyaccept = 4;
4828
122k
    yych = *(YYMARKER = ++YYCURSOR);
4829
122k
    if (yych == 'M') goto yy397;
4830
120k
    if (yych == 'm') goto yy397;
4831
7.81k
    goto yy48;
4832
7.81k
yy301:
4833
4.78k
    YYDEBUG(301, *YYCURSOR);
4834
4.78k
    yyaccept = 4;
4835
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
4836
4.78k
    if (yych == 'L') goto yy398;
4837
4.49k
    if (yych == 'l') goto yy398;
4838
1.16k
    goto yy48;
4839
2.45k
yy302:
4840
2.45k
    YYDEBUG(302, *YYCURSOR);
4841
2.45k
    yyaccept = 4;
4842
2.45k
    yych = *(YYMARKER = ++YYCURSOR);
4843
2.45k
    if (yych == 'T') goto yy400;
4844
2.14k
    if (yych == 't') goto yy400;
4845
840
    goto yy48;
4846
14.4k
yy303:
4847
14.4k
    YYDEBUG(303, *YYCURSOR);
4848
14.4k
    yyaccept = 4;
4849
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
4850
14.4k
    if (yych == 'E') goto yy402;
4851
13.8k
    if (yych == 'e') goto yy402;
4852
1.95k
    goto yy48;
4853
13.4k
yy304:
4854
13.4k
    YYDEBUG(304, *YYCURSOR);
4855
13.4k
    yyaccept = 4;
4856
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
4857
13.4k
    if (yych == 'A') goto yy403;
4858
12.3k
    if (yych == 'a') goto yy403;
4859
1.90k
    goto yy48;
4860
17.0k
yy305:
4861
17.0k
    YYDEBUG(305, *YYCURSOR);
4862
17.0k
    yyaccept = 20;
4863
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
4864
17.0k
    if (yych <= '\\') {
4865
10.3k
      if (yych <= 'D') {
4866
7.36k
        if (yych <= '/') goto yy306;
4867
2.06k
        if (yych <= '9') goto yy47;
4868
1.49k
        if (yych >= 'A') goto yy47;
4869
3.01k
      } else {
4870
3.01k
        if (yych <= 'E') goto yy404;
4871
2.38k
        if (yych <= 'Z') goto yy47;
4872
632
        if (yych >= '\\') goto yy164;
4873
632
      }
4874
10.3k
    } else {
4875
6.71k
      if (yych <= 'd') {
4876
874
        if (yych == '_') goto yy47;
4877
527
        if (yych >= 'a') goto yy47;
4878
5.84k
      } else {
4879
5.84k
        if (yych <= 'e') goto yy404;
4880
1.74k
        if (yych <= 'z') goto yy47;
4881
1.18k
        if (yych >= 0x80) goto yy47;
4882
1.18k
      }
4883
6.71k
    }
4884
7.74k
yy306:
4885
7.74k
    YYDEBUG(306, *YYCURSOR);
4886
7.74k
    yyleng = YYCURSOR - SCNG(yy_text);
4887
7.74k
#line 1481 "Zend/zend_language_scanner.l"
4888
7.74k
    {
4889
7.74k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4890
7.74k
}
4891
0
#line 4892 "Zend/zend_language_scanner.c"
4892
25.7k
yy307:
4893
25.7k
    YYDEBUG(307, *YYCURSOR);
4894
25.7k
    yyaccept = 4;
4895
25.7k
    yych = *(YYMARKER = ++YYCURSOR);
4896
25.7k
    if (yych == 'C') goto yy405;
4897
23.9k
    if (yych == 'c') goto yy405;
4898
639
    goto yy48;
4899
4.67k
yy308:
4900
4.67k
    YYDEBUG(308, *YYCURSOR);
4901
4.67k
    yyaccept = 4;
4902
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
4903
4.67k
    if (yych == 'B') goto yy406;
4904
2.85k
    if (yych == 'b') goto yy406;
4905
1.11k
    goto yy48;
4906
4.68k
yy309:
4907
4.68k
    YYDEBUG(309, *YYCURSOR);
4908
4.68k
    yyaccept = 4;
4909
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
4910
4.68k
    if (yych == 'O') goto yy407;
4911
4.21k
    if (yych == 'o') goto yy407;
4912
632
    goto yy48;
4913
15.0k
yy310:
4914
15.0k
    YYDEBUG(310, *YYCURSOR);
4915
15.0k
    yyaccept = 4;
4916
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
4917
15.0k
    if (yych == 'L') goto yy409;
4918
13.2k
    if (yych == 'l') goto yy409;
4919
2.57k
    goto yy48;
4920
14.9k
yy311:
4921
14.9k
    YYDEBUG(311, *YYCURSOR);
4922
14.9k
    yyaccept = 4;
4923
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
4924
14.9k
    if (yych == 'L') goto yy410;
4925
12.7k
    if (yych == 'l') goto yy410;
4926
1.56k
    goto yy48;
4927
10.9k
yy312:
4928
10.9k
    YYDEBUG(312, *YYCURSOR);
4929
10.9k
    yyaccept = 4;
4930
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
4931
10.9k
    if (yych == 'T') goto yy411;
4932
9.79k
    if (yych == 't') goto yy411;
4933
695
    goto yy48;
4934
16.0k
yy313:
4935
16.0k
    YYDEBUG(313, *YYCURSOR);
4936
16.0k
    yyaccept = 4;
4937
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
4938
16.0k
    if (yych == 'E') goto yy412;
4939
15.3k
    if (yych == 'e') goto yy412;
4940
4.64k
    goto yy48;
4941
4.64k
yy314:
4942
3.82k
    YYDEBUG(314, *YYCURSOR);
4943
3.82k
    yyaccept = 4;
4944
3.82k
    yych = *(YYMARKER = ++YYCURSOR);
4945
3.82k
    if (yych == 'E') goto yy413;
4946
3.56k
    if (yych == 'e') goto yy413;
4947
341
    goto yy48;
4948
3.55k
yy315:
4949
3.55k
    YYDEBUG(315, *YYCURSOR);
4950
3.55k
    yyaccept = 4;
4951
3.55k
    yych = *(YYMARKER = ++YYCURSOR);
4952
3.55k
    if (yych == 'T') goto yy414;
4953
2.97k
    if (yych == 't') goto yy414;
4954
574
    goto yy48;
4955
5.12k
yy316:
4956
5.12k
    YYDEBUG(316, *YYCURSOR);
4957
5.12k
    yyaccept = 4;
4958
5.12k
    yych = *(YYMARKER = ++YYCURSOR);
4959
5.12k
    if (yych == 'C') goto yy416;
4960
4.41k
    if (yych == 'c') goto yy416;
4961
722
    goto yy48;
4962
14.1k
yy317:
4963
14.1k
    YYDEBUG(317, *YYCURSOR);
4964
14.1k
    yyaccept = 4;
4965
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
4966
14.1k
    if (yych == 'E') goto yy417;
4967
13.8k
    if (yych == 'e') goto yy417;
4968
842
    goto yy48;
4969
11.0k
yy318:
4970
11.0k
    YYDEBUG(318, *YYCURSOR);
4971
11.0k
    yyaccept = 21;
4972
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
4973
11.0k
    if (yybm[256+yych] & 128) {
4974
1.38k
      goto yy47;
4975
1.38k
    }
4976
9.66k
    if (yych == '\\') goto yy164;
4977
9.66k
yy319:
4978
9.66k
    YYDEBUG(319, *YYCURSOR);
4979
9.66k
    yyleng = YYCURSOR - SCNG(yy_text);
4980
9.66k
#line 1625 "Zend/zend_language_scanner.l"
4981
9.66k
    {
4982
9.66k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4983
9.66k
}
4984
0
#line 4985 "Zend/zend_language_scanner.c"
4985
14.8k
yy320:
4986
14.8k
    YYDEBUG(320, *YYCURSOR);
4987
14.8k
    yyaccept = 4;
4988
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
4989
14.8k
    if (yych <= 'V') {
4990
3.22k
      if (yych == 'N') goto yy418;
4991
1.43k
      if (yych <= 'U') goto yy48;
4992
628
      goto yy419;
4993
11.6k
    } else {
4994
11.6k
      if (yych <= 'n') {
4995
4.56k
        if (yych <= 'm') goto yy48;
4996
4.22k
        goto yy418;
4997
7.08k
      } else {
4998
7.08k
        if (yych == 'v') goto yy419;
4999
571
        goto yy48;
5000
7.08k
      }
5001
11.6k
    }
5002
10.6k
yy321:
5003
10.6k
    YYDEBUG(321, *YYCURSOR);
5004
10.6k
    yyaccept = 4;
5005
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
5006
10.6k
    if (yych == 'T') goto yy420;
5007
8.79k
    if (yych == 't') goto yy420;
5008
1.01k
    goto yy48;
5009
16.4k
yy322:
5010
16.4k
    YYDEBUG(322, *YYCURSOR);
5011
16.4k
    yyaccept = 4;
5012
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
5013
16.4k
    if (yych == 'L') goto yy421;
5014
15.6k
    if (yych == 'l') goto yy421;
5015
679
    goto yy48;
5016
6.57k
yy323:
5017
6.57k
    YYDEBUG(323, *YYCURSOR);
5018
6.57k
    yyaccept = 4;
5019
6.57k
    yych = *(YYMARKER = ++YYCURSOR);
5020
6.57k
    if (yych == 'D') goto yy422;
5021
6.06k
    if (yych == 'd') goto yy422;
5022
2.38k
    goto yy48;
5023
10.6k
yy324:
5024
10.6k
    YYDEBUG(324, *YYCURSOR);
5025
10.6k
    yyaccept = 4;
5026
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
5027
10.6k
    if (yych == 'U') goto yy423;
5028
9.42k
    if (yych == 'u') goto yy423;
5029
487
    goto yy48;
5030
6.09k
yy325:
5031
6.09k
    YYDEBUG(325, *YYCURSOR);
5032
6.09k
    yyaccept = 4;
5033
6.09k
    yych = *(YYMARKER = ++YYCURSOR);
5034
6.09k
    if (yych == 'U') goto yy424;
5035
5.07k
    if (yych == 'u') goto yy424;
5036
674
    goto yy48;
5037
7.41k
yy326:
5038
7.41k
    YYDEBUG(326, *YYCURSOR);
5039
7.41k
    yyaccept = 4;
5040
7.41k
    yych = *(YYMARKER = ++YYCURSOR);
5041
7.41k
    if (yych == 'T') goto yy425;
5042
7.11k
    if (yych == 't') goto yy425;
5043
827
    goto yy48;
5044
4.64k
yy327:
5045
4.64k
    YYDEBUG(327, *YYCURSOR);
5046
4.64k
    yyaccept = 4;
5047
4.64k
    yych = *(YYMARKER = ++YYCURSOR);
5048
4.64k
    if (yych == 'T') goto yy426;
5049
4.36k
    if (yych == 't') goto yy426;
5050
138
    goto yy48;
5051
6.03k
yy328:
5052
6.03k
    YYDEBUG(328, *YYCURSOR);
5053
6.03k
    yyaccept = 4;
5054
6.03k
    yych = *(YYMARKER = ++YYCURSOR);
5055
6.03k
    if (yych == 'O') goto yy427;
5056
5.68k
    if (yych == 'o') goto yy427;
5057
464
    goto yy48;
5058
4.51k
yy329:
5059
4.51k
    YYDEBUG(329, *YYCURSOR);
5060
4.51k
    yyaccept = 4;
5061
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
5062
4.51k
    if (yych == 'I') goto yy428;
5063
4.17k
    if (yych == 'i') goto yy428;
5064
935
    goto yy48;
5065
4.09k
yy330:
5066
4.09k
    YYDEBUG(330, *YYCURSOR);
5067
4.09k
    yyaccept = 22;
5068
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
5069
4.09k
    if (yybm[256+yych] & 128) {
5070
332
      goto yy47;
5071
332
    }
5072
3.76k
    if (yych == '\\') goto yy164;
5073
3.71k
yy331:
5074
3.71k
    YYDEBUG(331, *YYCURSOR);
5075
3.71k
    yyleng = YYCURSOR - SCNG(yy_text);
5076
3.71k
#line 1437 "Zend/zend_language_scanner.l"
5077
3.71k
    {
5078
3.71k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5079
3.71k
}
5080
0
#line 5081 "Zend/zend_language_scanner.c"
5081
5.45k
yy332:
5082
5.45k
    YYDEBUG(332, *YYCURSOR);
5083
5.45k
    yyaccept = 4;
5084
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
5085
5.45k
    if (yych == 'E') goto yy429;
5086
5.18k
    if (yych == 'e') goto yy429;
5087
568
    goto yy48;
5088
5.32k
yy333:
5089
5.32k
    YYDEBUG(333, *YYCURSOR);
5090
5.32k
    yyaccept = 23;
5091
5.32k
    yych = *(YYMARKER = ++YYCURSOR);
5092
5.32k
    if (yybm[256+yych] & 128) {
5093
665
      goto yy47;
5094
665
    }
5095
4.66k
    if (yych == '\\') goto yy164;
5096
4.52k
yy334:
5097
4.52k
    YYDEBUG(334, *YYCURSOR);
5098
4.52k
    yyleng = YYCURSOR - SCNG(yy_text);
5099
4.52k
#line 1741 "Zend/zend_language_scanner.l"
5100
4.52k
    {
5101
4.52k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5102
4.52k
}
5103
0
#line 5104 "Zend/zend_language_scanner.c"
5104
7.17k
yy335:
5105
7.17k
    YYDEBUG(335, *YYCURSOR);
5106
7.17k
    yyaccept = 24;
5107
7.17k
    yych = *(YYMARKER = ++YYCURSOR);
5108
7.17k
    if (yybm[256+yych] & 128) {
5109
4.61k
      goto yy47;
5110
4.61k
    }
5111
2.56k
    if (yych == '\\') goto yy164;
5112
2.24k
yy336:
5113
2.24k
    YYDEBUG(336, *YYCURSOR);
5114
2.24k
    yyleng = YYCURSOR - SCNG(yy_text);
5115
2.24k
#line 1633 "Zend/zend_language_scanner.l"
5116
2.24k
    {
5117
2.24k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5118
2.24k
}
5119
0
#line 5120 "Zend/zend_language_scanner.c"
5120
4.16k
yy337:
5121
4.16k
    YYDEBUG(337, *YYCURSOR);
5122
4.16k
    yyaccept = 4;
5123
4.16k
    yych = *(YYMARKER = ++YYCURSOR);
5124
4.16k
    if (yych == 'L') goto yy430;
5125
3.91k
    if (yych == 'l') goto yy430;
5126
1.45k
    goto yy48;
5127
3.26k
yy338:
5128
3.26k
    YYDEBUG(338, *YYCURSOR);
5129
3.26k
    yyaccept = 25;
5130
3.26k
    yych = *(YYMARKER = ++YYCURSOR);
5131
3.26k
    if (yybm[256+yych] & 128) {
5132
293
      goto yy47;
5133
293
    }
5134
2.96k
    if (yych == '\\') goto yy164;
5135
2.96k
yy339:
5136
2.96k
    YYDEBUG(339, *YYCURSOR);
5137
2.96k
    yyleng = YYCURSOR - SCNG(yy_text);
5138
2.96k
#line 1937 "Zend/zend_language_scanner.l"
5139
2.96k
    {
5140
2.96k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5141
2.96k
}
5142
0
#line 5143 "Zend/zend_language_scanner.c"
5143
69.1k
yy340:
5144
69.1k
    YYDEBUG(340, *YYCURSOR);
5145
69.1k
    yyaccept = 4;
5146
69.1k
    yych = *(YYMARKER = ++YYCURSOR);
5147
69.1k
    if (yych == 'L') goto yy431;
5148
68.3k
    if (yych == 'l') goto yy431;
5149
2.61k
    goto yy48;
5150
15.8k
yy341:
5151
15.8k
    YYDEBUG(341, *YYCURSOR);
5152
15.8k
    ++YYCURSOR;
5153
15.8k
    YYFILL(1);
5154
15.8k
    yych = *YYCURSOR;
5155
15.8k
    if (yych <= '_') {
5156
13.1k
      if (yych <= '@') goto yy86;
5157
11.3k
      if (yych <= 'Z') goto yy211;
5158
3.89k
      if (yych <= '^') goto yy86;
5159
1.05k
      goto yy211;
5160
3.89k
    } else {
5161
2.65k
      if (yych <= '`') goto yy86;
5162
2.44k
      if (yych <= 'z') goto yy211;
5163
1.18k
      if (yych <= 0x7F) goto yy86;
5164
525
      goto yy211;
5165
1.18k
    }
5166
11.8k
yy342:
5167
11.8k
    YYDEBUG(342, *YYCURSOR);
5168
11.8k
    yyaccept = 4;
5169
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5170
11.8k
    if (yych == 'L') goto yy432;
5171
11.3k
    if (yych == 'l') goto yy432;
5172
3.98k
    goto yy48;
5173
4.10k
yy343:
5174
4.10k
    YYDEBUG(343, *YYCURSOR);
5175
4.10k
    yyaccept = 4;
5176
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
5177
4.10k
    if (yych == 'I') goto yy433;
5178
3.70k
    if (yych == 'i') goto yy433;
5179
1.11k
    goto yy48;
5180
17.5k
yy344:
5181
17.5k
    YYDEBUG(344, *YYCURSOR);
5182
17.5k
    yyaccept = 4;
5183
17.5k
    yych = *(YYMARKER = ++YYCURSOR);
5184
17.5k
    if (yych <= 'U') {
5185
3.67k
      if (yych == 'I') goto yy434;
5186
2.02k
      if (yych <= 'T') goto yy48;
5187
1.24k
      goto yy435;
5188
13.8k
    } else {
5189
13.8k
      if (yych <= 'i') {
5190
4.08k
        if (yych <= 'h') goto yy48;
5191
3.53k
        goto yy434;
5192
9.81k
      } else {
5193
9.81k
        if (yych == 'u') goto yy435;
5194
630
        goto yy48;
5195
9.81k
      }
5196
13.8k
    }
5197
7.21k
yy345:
5198
7.21k
    YYDEBUG(345, *YYCURSOR);
5199
7.21k
    yyaccept = 4;
5200
7.21k
    yych = *(YYMARKER = ++YYCURSOR);
5201
7.21k
    if (yych == 'A') goto yy436;
5202
5.78k
    if (yych == 'a') goto yy436;
5203
653
    goto yy48;
5204
4.51k
yy346:
5205
4.51k
    YYDEBUG(346, *YYCURSOR);
5206
4.51k
    yyaccept = 4;
5207
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
5208
4.51k
    if (yych == 'I') goto yy437;
5209
3.26k
    if (yych == 'i') goto yy437;
5210
904
    goto yy48;
5211
7.28k
yy347:
5212
7.28k
    YYDEBUG(347, *YYCURSOR);
5213
7.28k
    yyaccept = 4;
5214
7.28k
    yych = *(YYMARKER = ++YYCURSOR);
5215
7.28k
    if (yych == 'E') goto yy438;
5216
6.79k
    if (yych == 'e') goto yy438;
5217
555
    goto yy48;
5218
8.09k
yy348:
5219
8.09k
    YYDEBUG(348, *YYCURSOR);
5220
8.09k
    yyaccept = 4;
5221
8.09k
    yych = *(YYMARKER = ++YYCURSOR);
5222
8.09k
    if (yych == 'A') goto yy439;
5223
7.37k
    if (yych == 'a') goto yy439;
5224
567
    goto yy48;
5225
5.95k
yy349:
5226
5.95k
    YYDEBUG(349, *YYCURSOR);
5227
5.95k
    yyaccept = 4;
5228
5.95k
    yych = *(YYMARKER = ++YYCURSOR);
5229
5.95k
    if (yych == 'R') goto yy440;
5230
707
    if (yych == 'r') goto yy440;
5231
393
    goto yy48;
5232
7.62k
yy350:
5233
7.62k
    YYDEBUG(350, *YYCURSOR);
5234
7.62k
    yyaccept = 4;
5235
7.62k
    yych = *(YYMARKER = ++YYCURSOR);
5236
7.62k
    if (yych == 'R') goto yy441;
5237
6.83k
    if (yych == 'r') goto yy441;
5238
1.47k
    goto yy48;
5239
6.73k
yy351:
5240
6.73k
    YYDEBUG(351, *YYCURSOR);
5241
6.73k
    ++YYCURSOR;
5242
6.73k
    YYFILL(1);
5243
6.73k
    yych = *YYCURSOR;
5244
6.73k
    if (yybm[0+yych] & 2) {
5245
936
      goto yy225;
5246
936
    }
5247
5.79k
    if (yych <= 0x00) goto yy86;
5248
5.57k
    goto yy227;
5249
5.57k
yy352:
5250
4.10k
    YYDEBUG(352, *YYCURSOR);
5251
4.10k
    yyaccept = 26;
5252
4.10k
    YYMARKER = ++YYCURSOR;
5253
4.10k
    YYFILL(1);
5254
4.10k
    yych = *YYCURSOR;
5255
4.10k
    if (yybm[0+yych] & 2) {
5256
3.44k
      goto yy225;
5257
3.44k
    }
5258
655
    if (yych <= 0x00) goto yy89;
5259
359
    goto yy84;
5260
17.0k
yy353:
5261
17.0k
    YYDEBUG(353, *YYCURSOR);
5262
17.0k
    ++YYCURSOR;
5263
17.0k
    YYFILL(1);
5264
17.0k
    yych = *YYCURSOR;
5265
17.0k
    if (yych <= '\f') {
5266
2.44k
      if (yych <= 0x00) goto yy86;
5267
2.20k
      if (yych == '\n') goto yy84;
5268
249
      goto yy225;
5269
14.6k
    } else {
5270
14.6k
      if (yych <= '\r') goto yy84;
5271
14.4k
      if (yych == '.') goto yy442;
5272
6.69k
      goto yy225;
5273
14.4k
    }
5274
21.1k
yy354:
5275
21.1k
    YYDEBUG(354, *YYCURSOR);
5276
21.1k
    ++YYCURSOR;
5277
21.1k
    YYFILL(1);
5278
21.1k
    yych = *YYCURSOR;
5279
21.1k
    if (yych <= '\f') {
5280
1.20k
      if (yych <= 0x00) goto yy86;
5281
702
      if (yych == '\n') goto yy84;
5282
264
      goto yy225;
5283
19.9k
    } else {
5284
19.9k
      if (yych <= '\r') goto yy84;
5285
19.6k
      if (yych == '*') goto yy443;
5286
3.33k
      goto yy225;
5287
19.6k
    }
5288
11.4k
yy355:
5289
11.4k
    YYDEBUG(355, *YYCURSOR);
5290
11.4k
    ++YYCURSOR;
5291
11.4k
    YYFILL(1);
5292
11.4k
    yych = *YYCURSOR;
5293
11.4k
    YYDEBUG(356, *YYCURSOR);
5294
11.4k
    if (yybm[0+yych] & 64) {
5295
1.38k
      goto yy355;
5296
1.38k
    }
5297
10.0k
    if (yych <= 0x00) goto yy86;
5298
9.45k
    if (yych == '/') goto yy84;
5299
4.58k
    goto yy230;
5300
6.14k
yy357:
5301
6.14k
    YYDEBUG(357, *YYCURSOR);
5302
6.14k
    yych = *++YYCURSOR;
5303
6.14k
    if (yych == 'A') goto yy445;
5304
5.96k
    if (yych == 'a') goto yy445;
5305
1.21k
    goto yy86;
5306
5.39k
yy358:
5307
5.39k
    YYDEBUG(358, *YYCURSOR);
5308
5.39k
    yych = *++YYCURSOR;
5309
5.39k
    if (yych == 'A') goto yy446;
5310
1.53k
    if (yych == 'a') goto yy446;
5311
477
    goto yy86;
5312
5.40k
yy359:
5313
5.40k
    YYDEBUG(359, *YYCURSOR);
5314
5.40k
    yych = *++YYCURSOR;
5315
5.40k
    if (yych == 'L') goto yy447;
5316
5.21k
    if (yych == 'l') goto yy447;
5317
914
    goto yy86;
5318
3.35k
yy360:
5319
3.35k
    YYDEBUG(360, *YYCURSOR);
5320
3.35k
    yych = *++YYCURSOR;
5321
3.35k
    if (yych == 'B') goto yy448;
5322
2.99k
    if (yych == 'b') goto yy448;
5323
591
    goto yy86;
5324
2.94k
yy361:
5325
2.94k
    YYDEBUG(361, *YYCURSOR);
5326
2.94k
    yych = *++YYCURSOR;
5327
2.94k
    if (yych == 'A') goto yy449;
5328
2.66k
    if (yych == 'a') goto yy449;
5329
234
    goto yy86;
5330
6.71k
yy362:
5331
6.71k
    YYDEBUG(362, *YYCURSOR);
5332
6.71k
    yych = *++YYCURSOR;
5333
6.71k
    if (yych == 'E') goto yy454;
5334
6.05k
    if (yych == 'e') goto yy454;
5335
1.66k
    goto yy451;
5336
3.03k
yy363:
5337
3.03k
    YYDEBUG(363, *YYCURSOR);
5338
3.03k
    yych = *++YYCURSOR;
5339
3.03k
    if (yych == 'E') goto yy455;
5340
2.84k
    if (yych == 'e') goto yy455;
5341
1.09k
    goto yy86;
5342
1.97k
yy364:
5343
1.97k
    YYDEBUG(364, *YYCURSOR);
5344
1.97k
    yych = *++YYCURSOR;
5345
1.97k
    if (yych == 'L') goto yy456;
5346
954
    if (yych == 'l') goto yy456;
5347
558
    goto yy86;
5348
6.81k
yy365:
5349
6.81k
    YYDEBUG(365, *YYCURSOR);
5350
6.81k
    yych = *++YYCURSOR;
5351
6.81k
    if (yych == 'I') goto yy458;
5352
6.48k
    if (yych == 'i') goto yy458;
5353
1.13k
    goto yy86;
5354
2.42k
yy366:
5355
2.42k
    YYDEBUG(366, *YYCURSOR);
5356
2.42k
    yych = *++YYCURSOR;
5357
2.42k
    if (yych == 'E') goto yy459;
5358
2.21k
    if (yych == 'e') goto yy459;
5359
268
    goto yy86;
5360
1.45k
yy367:
5361
1.45k
    YYDEBUG(367, *YYCURSOR);
5362
1.45k
    yych = *++YYCURSOR;
5363
1.45k
    if (yych == 'D') goto yy460;
5364
1.04k
    if (yych == 'd') goto yy460;
5365
350
    goto yy86;
5366
4.87k
yy368:
5367
4.87k
    YYDEBUG(368, *YYCURSOR);
5368
4.87k
    ++YYCURSOR;
5369
4.87k
    YYFILL(1);
5370
4.87k
    yych = *YYCURSOR;
5371
4.87k
    YYDEBUG(369, *YYCURSOR);
5372
4.87k
    if (yych <= '\f') {
5373
841
      if (yych <= 0x08) goto yy129;
5374
541
      if (yych <= '\n') goto yy368;
5375
251
      goto yy129;
5376
4.03k
    } else {
5377
4.03k
      if (yych <= '\r') goto yy368;
5378
3.81k
      if (yych == ' ') goto yy368;
5379
3.17k
      goto yy129;
5380
3.81k
    }
5381
4.29k
yy370:
5382
4.29k
    YYDEBUG(370, *YYCURSOR);
5383
4.29k
    yych = *++YYCURSOR;
5384
4.29k
    if (yych == '"') goto yy86;
5385
3.09k
    if (yych <= '/') goto yy463;
5386
2.13k
    if (yych <= '9') goto yy86;
5387
1.87k
    goto yy463;
5388
6.88k
yy371:
5389
6.88k
    YYDEBUG(371, *YYCURSOR);
5390
6.88k
    yych = *++YYCURSOR;
5391
6.88k
    if (yych == '\'') goto yy86;
5392
6.63k
    if (yych <= '/') goto yy465;
5393
6.40k
    if (yych <= '9') goto yy86;
5394
6.20k
    goto yy465;
5395
3.47M
yy372:
5396
3.47M
    YYDEBUG(372, *YYCURSOR);
5397
3.47M
    ++YYCURSOR;
5398
3.47M
    YYFILL(2);
5399
3.47M
    yych = *YYCURSOR;
5400
3.47M
    YYDEBUG(373, *YYCURSOR);
5401
3.47M
    if (yych <= '@') {
5402
2.78M
      if (yych <= '\f') {
5403
2.69M
        if (yych == '\n') goto yy466;
5404
12.0k
        goto yy86;
5405
2.69M
      } else {
5406
92.8k
        if (yych <= '\r') goto yy468;
5407
77.4k
        if (yych <= '/') goto yy86;
5408
50.3k
        if (yych <= '9') goto yy372;
5409
25.4k
        goto yy86;
5410
50.3k
      }
5411
2.78M
    } else {
5412
693k
      if (yych <= '_') {
5413
88.4k
        if (yych <= 'Z') goto yy372;
5414
25.0k
        if (yych <= '^') goto yy86;
5415
21.2k
        goto yy372;
5416
604k
      } else {
5417
604k
        if (yych <= '`') goto yy86;
5418
604k
        if (yych <= 'z') goto yy372;
5419
334k
        if (yych <= 0x7F) goto yy86;
5420
326k
        goto yy372;
5421
334k
      }
5422
693k
    }
5423
5.03k
yy374:
5424
5.03k
    YYDEBUG(374, *YYCURSOR);
5425
5.03k
    yyaccept = 4;
5426
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
5427
5.03k
    if (yych == 'R') goto yy469;
5428
4.42k
    if (yych == 'r') goto yy469;
5429
488
    goto yy48;
5430
9.90k
yy375:
5431
9.90k
    YYDEBUG(375, *YYCURSOR);
5432
9.90k
    yyaccept = 4;
5433
9.90k
    yych = *(YYMARKER = ++YYCURSOR);
5434
9.90k
    if (yych == 'Y') goto yy470;
5435
8.90k
    if (yych == 'y') goto yy470;
5436
1.18k
    goto yy48;
5437
3.22k
yy376:
5438
3.22k
    YYDEBUG(376, *YYCURSOR);
5439
3.22k
    yyaccept = 4;
5440
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
5441
3.22k
    if (yych == 'K') goto yy472;
5442
2.76k
    if (yych == 'k') goto yy472;
5443
783
    goto yy48;
5444
6.66k
yy377:
5445
6.66k
    YYDEBUG(377, *YYCURSOR);
5446
6.66k
    yyaccept = 4;
5447
6.66k
    yych = *(YYMARKER = ++YYCURSOR);
5448
6.66k
    if (yych == 'A') goto yy474;
5449
5.62k
    if (yych == 'a') goto yy474;
5450
3.29k
    goto yy48;
5451
5.94k
yy378:
5452
5.94k
    YYDEBUG(378, *YYCURSOR);
5453
5.94k
    yyaccept = 27;
5454
5.94k
    yych = *(YYMARKER = ++YYCURSOR);
5455
5.94k
    if (yybm[256+yych] & 128) {
5456
477
      goto yy47;
5457
477
    }
5458
5.46k
    if (yych == '\\') goto yy164;
5459
5.46k
yy379:
5460
5.46k
    YYDEBUG(379, *YYCURSOR);
5461
5.46k
    yyleng = YYCURSOR - SCNG(yy_text);
5462
5.46k
#line 1525 "Zend/zend_language_scanner.l"
5463
5.46k
    {
5464
5.46k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5465
5.46k
}
5466
0
#line 5467 "Zend/zend_language_scanner.c"
5467
4.11k
yy380:
5468
4.11k
    YYDEBUG(380, *YYCURSOR);
5469
4.11k
    yyaccept = 4;
5470
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
5471
4.11k
    if (yych == 'H') goto yy475;
5472
3.84k
    if (yych == 'h') goto yy475;
5473
861
    goto yy48;
5474
22.6k
yy381:
5475
22.6k
    YYDEBUG(381, *YYCURSOR);
5476
22.6k
    yyaccept = 4;
5477
22.6k
    yych = *(YYMARKER = ++YYCURSOR);
5478
22.6k
    if (yych == 'S') goto yy477;
5479
22.5k
    if (yych == 's') goto yy477;
5480
869
    goto yy48;
5481
4.08k
yy382:
5482
4.08k
    YYDEBUG(382, *YYCURSOR);
5483
4.08k
    yyaccept = 4;
5484
4.08k
    yych = *(YYMARKER = ++YYCURSOR);
5485
4.08k
    if (yych == 'E') goto yy479;
5486
3.52k
    if (yych == 'e') goto yy479;
5487
448
    goto yy48;
5488
22.1k
yy383:
5489
22.1k
    YYDEBUG(383, *YYCURSOR);
5490
22.1k
    yyaccept = 4;
5491
22.1k
    yych = *(YYMARKER = ++YYCURSOR);
5492
22.1k
    if (yych == 'T') goto yy481;
5493
21.3k
    if (yych == 't') goto yy481;
5494
1.18k
    goto yy48;
5495
6.93k
yy384:
5496
6.93k
    YYDEBUG(384, *YYCURSOR);
5497
6.93k
    yyaccept = 4;
5498
6.93k
    yych = *(YYMARKER = ++YYCURSOR);
5499
6.93k
    if (yych == 'I') goto yy483;
5500
4.69k
    if (yych == 'i') goto yy483;
5501
802
    goto yy48;
5502
6.09k
yy385:
5503
6.09k
    YYDEBUG(385, *YYCURSOR);
5504
6.09k
    yyaccept = 4;
5505
6.09k
    yych = *(YYMARKER = ++YYCURSOR);
5506
6.09k
    if (yych == 'A') goto yy484;
5507
5.86k
    if (yych == 'a') goto yy484;
5508
330
    goto yy48;
5509
3.58k
yy386:
5510
3.58k
    YYDEBUG(386, *YYCURSOR);
5511
3.58k
    yyaccept = 4;
5512
3.58k
    yych = *(YYMARKER = ++YYCURSOR);
5513
3.58k
    if (yych == 'U') goto yy485;
5514
3.05k
    if (yych == 'u') goto yy485;
5515
351
    goto yy48;
5516
6.84k
yy387:
5517
6.84k
    YYDEBUG(387, *YYCURSOR);
5518
6.84k
    yyaccept = 28;
5519
6.84k
    yych = *(YYMARKER = ++YYCURSOR);
5520
6.84k
    if (yybm[256+yych] & 128) {
5521
916
      goto yy47;
5522
916
    }
5523
5.93k
    if (yych == '\\') goto yy164;
5524
5.93k
yy388:
5525
5.93k
    YYDEBUG(388, *YYCURSOR);
5526
5.93k
    yyleng = YYCURSOR - SCNG(yy_text);
5527
5.93k
#line 1545 "Zend/zend_language_scanner.l"
5528
5.93k
    {
5529
5.93k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5530
5.93k
}
5531
0
#line 5532 "Zend/zend_language_scanner.c"
5532
12.5k
yy389:
5533
12.5k
    YYDEBUG(389, *YYCURSOR);
5534
12.5k
    yyaccept = 29;
5535
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
5536
12.5k
    if (yych <= '\\') {
5537
6.59k
      if (yych <= 'H') {
5538
3.87k
        if (yych <= '/') goto yy390;
5539
1.96k
        if (yych <= '9') goto yy47;
5540
1.87k
        if (yych >= 'A') goto yy47;
5541
2.71k
      } else {
5542
2.71k
        if (yych <= 'I') goto yy486;
5543
2.31k
        if (yych <= 'Z') goto yy47;
5544
731
        if (yych >= '\\') goto yy164;
5545
731
      }
5546
6.59k
    } else {
5547
5.91k
      if (yych <= 'h') {
5548
877
        if (yych == '_') goto yy47;
5549
612
        if (yych >= 'a') goto yy47;
5550
5.04k
      } else {
5551
5.04k
        if (yych <= 'i') goto yy486;
5552
1.10k
        if (yych <= 'z') goto yy47;
5553
656
        if (yych >= 0x80) goto yy47;
5554
656
      }
5555
5.91k
    }
5556
4.68k
yy390:
5557
4.68k
    YYDEBUG(390, *YYCURSOR);
5558
4.68k
    yyleng = YYCURSOR - SCNG(yy_text);
5559
4.68k
#line 1465 "Zend/zend_language_scanner.l"
5560
4.68k
    {
5561
4.68k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5562
4.68k
}
5563
0
#line 5564 "Zend/zend_language_scanner.c"
5564
2.88k
yy391:
5565
2.88k
    YYDEBUG(391, *YYCURSOR);
5566
2.88k
    yyaccept = 4;
5567
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
5568
2.88k
    if (yych == 'Y') goto yy487;
5569
2.64k
    if (yych == 'y') goto yy487;
5570
658
    goto yy48;
5571
4.34k
yy392:
5572
4.34k
    YYDEBUG(392, *YYCURSOR);
5573
4.34k
    yyaccept = 4;
5574
4.34k
    yych = *(YYMARKER = ++YYCURSOR);
5575
4.34k
    if (yych == 'E') goto yy489;
5576
4.05k
    if (yych == 'e') goto yy489;
5577
576
    goto yy48;
5578
9.26k
yy393:
5579
9.26k
    YYDEBUG(393, *YYCURSOR);
5580
9.26k
    yyaccept = 4;
5581
9.26k
    yych = *(YYMARKER = ++YYCURSOR);
5582
9.26k
    if (yych == 'O') goto yy490;
5583
7.71k
    if (yych == 'o') goto yy490;
5584
1.74k
    goto yy48;
5585
3.14k
yy394:
5586
3.14k
    YYDEBUG(394, *YYCURSOR);
5587
3.14k
    yyaccept = 4;
5588
3.14k
    yych = *(YYMARKER = ++YYCURSOR);
5589
3.14k
    if (yych == 'F') goto yy491;
5590
2.45k
    if (yych == 'f') goto yy491;
5591
778
    goto yy48;
5592
4.76k
yy395:
5593
4.76k
    YYDEBUG(395, *YYCURSOR);
5594
4.76k
    yyaccept = 4;
5595
4.76k
    yych = *(YYMARKER = ++YYCURSOR);
5596
4.76k
    if (yych == 'W') goto yy493;
5597
3.28k
    if (yych == 'w') goto yy493;
5598
1.43k
    goto yy48;
5599
3.22k
yy396:
5600
3.22k
    YYDEBUG(396, *YYCURSOR);
5601
3.22k
    yyaccept = 4;
5602
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
5603
3.22k
    if (yych == 'H') goto yy494;
5604
2.54k
    if (yych == 'h') goto yy494;
5605
543
    goto yy48;
5606
114k
yy397:
5607
114k
    YYDEBUG(397, *YYCURSOR);
5608
114k
    yyaccept = 4;
5609
114k
    yych = *(YYMARKER = ++YYCURSOR);
5610
114k
    if (yych <= 0x1F) {
5611
92.7k
      if (yych <= '\n') {
5612
5.98k
        if (yych <= 0x08) goto yy48;
5613
5.21k
        goto yy495;
5614
86.7k
      } else {
5615
86.7k
        if (yych == '\r') goto yy495;
5616
604
        goto yy48;
5617
86.7k
      }
5618
92.7k
    } else {
5619
21.7k
      if (yych <= '#') {
5620
15.4k
        if (yych <= ' ') goto yy495;
5621
7.66k
        if (yych <= '"') goto yy48;
5622
7.38k
        goto yy497;
5623
7.66k
      } else {
5624
6.27k
        if (yych == '/') goto yy498;
5625
6.01k
        goto yy48;
5626
6.27k
      }
5627
21.7k
    }
5628
3.62k
yy398:
5629
3.62k
    YYDEBUG(398, *YYCURSOR);
5630
3.62k
    yyaccept = 30;
5631
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
5632
3.62k
    if (yybm[256+yych] & 128) {
5633
1.71k
      goto yy47;
5634
1.71k
    }
5635
1.91k
    if (yych == '\\') goto yy164;
5636
1.91k
yy399:
5637
1.91k
    YYDEBUG(399, *YYCURSOR);
5638
1.91k
    yyleng = YYCURSOR - SCNG(yy_text);
5639
1.91k
#line 1717 "Zend/zend_language_scanner.l"
5640
1.91k
    {
5641
1.91k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5642
1.91k
}
5643
0
#line 5644 "Zend/zend_language_scanner.c"
5644
1.61k
yy400:
5645
1.61k
    YYDEBUG(400, *YYCURSOR);
5646
1.61k
    yyaccept = 31;
5647
1.61k
    yych = *(YYMARKER = ++YYCURSOR);
5648
1.61k
    if (yybm[256+yych] & 128) {
5649
548
      goto yy47;
5650
548
    }
5651
1.06k
    if (yych == '\\') goto yy164;
5652
997
yy401:
5653
997
    YYDEBUG(401, *YYCURSOR);
5654
997
    yyleng = YYCURSOR - SCNG(yy_text);
5655
997
#line 1398 "Zend/zend_language_scanner.l"
5656
997
    {
5657
997
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5658
997
}
5659
0
#line 5660 "Zend/zend_language_scanner.c"
5660
12.5k
yy402:
5661
12.5k
    YYDEBUG(402, *YYCURSOR);
5662
12.5k
    yyaccept = 4;
5663
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
5664
12.5k
    if (yych == 'N') goto yy499;
5665
11.0k
    if (yych == 'n') goto yy499;
5666
2.25k
    goto yy48;
5667
11.5k
yy403:
5668
11.5k
    YYDEBUG(403, *YYCURSOR);
5669
11.5k
    yyaccept = 4;
5670
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
5671
11.5k
    if (yych == 'L') goto yy500;
5672
11.0k
    if (yych == 'l') goto yy500;
5673
1.35k
    goto yy48;
5674
4.72k
yy404:
5675
4.72k
    YYDEBUG(404, *YYCURSOR);
5676
4.72k
    yyaccept = 4;
5677
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
5678
4.72k
    if (yych == 'A') goto yy502;
5679
4.37k
    if (yych == 'a') goto yy502;
5680
504
    goto yy48;
5681
25.1k
yy405:
5682
25.1k
    YYDEBUG(405, *YYCURSOR);
5683
25.1k
    yyaccept = 4;
5684
25.1k
    yych = *(YYMARKER = ++YYCURSOR);
5685
25.1k
    if (yych == 'T') goto yy503;
5686
23.4k
    if (yych == 't') goto yy503;
5687
1.23k
    goto yy48;
5688
3.56k
yy406:
5689
3.56k
    YYDEBUG(406, *YYCURSOR);
5690
3.56k
    yyaccept = 4;
5691
3.56k
    yych = *(YYMARKER = ++YYCURSOR);
5692
3.56k
    if (yych == 'A') goto yy504;
5693
2.02k
    if (yych == 'a') goto yy504;
5694
321
    goto yy48;
5695
4.05k
yy407:
5696
4.05k
    YYDEBUG(407, *YYCURSOR);
5697
4.05k
    yyaccept = 32;
5698
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
5699
4.05k
    if (yybm[256+yych] & 128) {
5700
592
      goto yy47;
5701
592
    }
5702
3.46k
    if (yych == '\\') goto yy164;
5703
3.45k
yy408:
5704
3.45k
    YYDEBUG(408, *YYCURSOR);
5705
3.45k
    yyleng = YYCURSOR - SCNG(yy_text);
5706
3.45k
#line 1541 "Zend/zend_language_scanner.l"
5707
3.45k
    {
5708
3.45k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5709
3.45k
}
5710
0
#line 5711 "Zend/zend_language_scanner.c"
5711
12.4k
yy409:
5712
12.4k
    YYDEBUG(409, *YYCURSOR);
5713
12.4k
    yyaccept = 4;
5714
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5715
12.4k
    if (yych == 'E') goto yy505;
5716
10.7k
    if (yych == 'e') goto yy505;
5717
1.88k
    goto yy48;
5718
13.3k
yy410:
5719
13.3k
    YYDEBUG(410, *YYCURSOR);
5720
13.3k
    yyaccept = 4;
5721
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
5722
13.3k
    if (yych == 'U') goto yy506;
5723
11.8k
    if (yych == 'u') goto yy506;
5724
1.83k
    goto yy48;
5725
10.2k
yy411:
5726
10.2k
    YYDEBUG(411, *YYCURSOR);
5727
10.2k
    yyaccept = 4;
5728
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
5729
10.2k
    if (yych <= 'E') {
5730
1.62k
      if (yych == 'A') goto yy507;
5731
707
      if (yych <= 'D') goto yy48;
5732
174
      goto yy508;
5733
8.61k
    } else {
5734
8.61k
      if (yych <= 'a') {
5735
3.69k
        if (yych <= '`') goto yy48;
5736
3.20k
        goto yy507;
5737
4.92k
      } else {
5738
4.92k
        if (yych == 'e') goto yy508;
5739
281
        goto yy48;
5740
4.92k
      }
5741
8.61k
    }
5742
11.4k
yy412:
5743
11.4k
    YYDEBUG(412, *YYCURSOR);
5744
11.4k
    yyaccept = 4;
5745
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
5746
11.4k
    if (yych == 'R') goto yy509;
5747
10.9k
    if (yych == 'r') goto yy509;
5748
5.44k
    goto yy48;
5749
5.44k
yy413:
5750
3.48k
    YYDEBUG(413, *YYCURSOR);
5751
3.48k
    yyaccept = 4;
5752
3.48k
    yych = *(YYMARKER = ++YYCURSOR);
5753
3.48k
    if (yych == 'T') goto yy510;
5754
3.12k
    if (yych == 't') goto yy510;
5755
490
    goto yy48;
5756
2.98k
yy414:
5757
2.98k
    YYDEBUG(414, *YYCURSOR);
5758
2.98k
    yyaccept = 33;
5759
2.98k
    yych = *(YYMARKER = ++YYCURSOR);
5760
2.98k
    if (yybm[256+yych] & 128) {
5761
822
      goto yy47;
5762
822
    }
5763
2.16k
    if (yych == '\\') goto yy164;
5764
2.14k
yy415:
5765
2.14k
    YYDEBUG(415, *YYCURSOR);
5766
2.14k
    yyleng = YYCURSOR - SCNG(yy_text);
5767
2.14k
#line 1813 "Zend/zend_language_scanner.l"
5768
2.14k
    {
5769
2.14k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5770
2.14k
}
5771
0
#line 5772 "Zend/zend_language_scanner.c"
5772
4.40k
yy416:
5773
4.40k
    YYDEBUG(416, *YYCURSOR);
5774
4.40k
    yyaccept = 4;
5775
4.40k
    yych = *(YYMARKER = ++YYCURSOR);
5776
4.40k
    if (yych == 'H') goto yy512;
5777
4.14k
    if (yych == 'h') goto yy512;
5778
898
    goto yy48;
5779
13.3k
yy417:
5780
13.3k
    YYDEBUG(417, *YYCURSOR);
5781
13.3k
    yyaccept = 4;
5782
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
5783
13.3k
    if (yych == 'S') goto yy514;
5784
12.8k
    if (yych == 's') goto yy514;
5785
512
    goto yy48;
5786
6.01k
yy418:
5787
6.01k
    YYDEBUG(418, *YYCURSOR);
5788
6.01k
    yyaccept = 4;
5789
6.01k
    yych = *(YYMARKER = ++YYCURSOR);
5790
6.01k
    if (yych == 'T') goto yy515;
5791
5.62k
    if (yych == 't') goto yy515;
5792
1.09k
    goto yy48;
5793
7.13k
yy419:
5794
7.13k
    YYDEBUG(419, *YYCURSOR);
5795
7.13k
    yyaccept = 4;
5796
7.13k
    yych = *(YYMARKER = ++YYCURSOR);
5797
7.13k
    if (yych == 'A') goto yy517;
5798
6.68k
    if (yych == 'a') goto yy517;
5799
627
    goto yy48;
5800
9.59k
yy420:
5801
9.59k
    YYDEBUG(420, *YYCURSOR);
5802
9.59k
    yyaccept = 4;
5803
9.59k
    yych = *(YYMARKER = ++YYCURSOR);
5804
9.59k
    if (yych == 'E') goto yy518;
5805
8.18k
    if (yych == 'e') goto yy518;
5806
1.10k
    goto yy48;
5807
15.7k
yy421:
5808
15.7k
    YYDEBUG(421, *YYCURSOR);
5809
15.7k
    yyaccept = 4;
5810
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
5811
15.7k
    if (yych == 'I') goto yy519;
5812
14.9k
    if (yych == 'i') goto yy519;
5813
670
    goto yy48;
5814
4.19k
yy422:
5815
4.19k
    YYDEBUG(422, *YYCURSOR);
5816
4.19k
    yyaccept = 4;
5817
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
5818
4.19k
    if (yych == 'O') goto yy520;
5819
3.99k
    if (yych == 'o') goto yy520;
5820
676
    goto yy48;
5821
10.1k
yy423:
5822
10.1k
    YYDEBUG(423, *YYCURSOR);
5823
10.1k
    yyaccept = 4;
5824
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
5825
10.1k
    if (yych == 'I') goto yy521;
5826
9.04k
    if (yych == 'i') goto yy521;
5827
413
    goto yy48;
5828
5.42k
yy424:
5829
5.42k
    YYDEBUG(424, *YYCURSOR);
5830
5.42k
    yyaccept = 4;
5831
5.42k
    yych = *(YYMARKER = ++YYCURSOR);
5832
5.42k
    if (yych == 'R') goto yy522;
5833
4.78k
    if (yych == 'r') goto yy522;
5834
482
    goto yy48;
5835
6.59k
yy425:
5836
6.59k
    YYDEBUG(425, *YYCURSOR);
5837
6.59k
    yyaccept = 4;
5838
6.59k
    yych = *(YYMARKER = ++YYCURSOR);
5839
6.59k
    if (yych == 'I') goto yy523;
5840
6.08k
    if (yych == 'i') goto yy523;
5841
573
    goto yy48;
5842
4.50k
yy426:
5843
4.50k
    YYDEBUG(426, *YYCURSOR);
5844
4.50k
    yyaccept = 4;
5845
4.50k
    yych = *(YYMARKER = ++YYCURSOR);
5846
4.50k
    if (yych == 'C') goto yy524;
5847
3.62k
    if (yych == 'c') goto yy524;
5848
632
    goto yy48;
5849
5.57k
yy427:
5850
5.57k
    YYDEBUG(427, *YYCURSOR);
5851
5.57k
    yyaccept = 4;
5852
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
5853
5.57k
    if (yych == 'W') goto yy525;
5854
5.17k
    if (yych == 'w') goto yy525;
5855
468
    goto yy48;
5856
3.57k
yy428:
5857
3.57k
    YYDEBUG(428, *YYCURSOR);
5858
3.57k
    yyaccept = 4;
5859
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
5860
3.57k
    if (yych == 'T') goto yy527;
5861
3.34k
    if (yych == 't') goto yy527;
5862
515
    goto yy48;
5863
4.88k
yy429:
5864
4.88k
    YYDEBUG(429, *YYCURSOR);
5865
4.88k
    yyaccept = 4;
5866
4.88k
    yych = *(YYMARKER = ++YYCURSOR);
5867
4.88k
    if (yych == 'T') goto yy529;
5868
4.12k
    if (yych == 't') goto yy529;
5869
657
    goto yy48;
5870
2.70k
yy430:
5871
2.70k
    YYDEBUG(430, *YYCURSOR);
5872
2.70k
    yyaccept = 4;
5873
2.70k
    yych = *(YYMARKER = ++YYCURSOR);
5874
2.70k
    if (yych == 'E') goto yy531;
5875
2.41k
    if (yych == 'e') goto yy531;
5876
340
    goto yy48;
5877
66.5k
yy431:
5878
66.5k
    YYDEBUG(431, *YYCURSOR);
5879
66.5k
    yyaccept = 4;
5880
66.5k
    yych = *(YYMARKER = ++YYCURSOR);
5881
66.5k
    if (yych == 'D') goto yy533;
5882
65.4k
    if (yych == 'd') goto yy533;
5883
2.33k
    goto yy48;
5884
7.82k
yy432:
5885
7.82k
    YYDEBUG(432, *YYCURSOR);
5886
7.82k
    yyaccept = 4;
5887
7.82k
    yych = *(YYMARKER = ++YYCURSOR);
5888
7.82k
    if (yych == 'A') goto yy535;
5889
7.41k
    if (yych == 'a') goto yy535;
5890
901
    goto yy48;
5891
2.99k
yy433:
5892
2.99k
    YYDEBUG(433, *YYCURSOR);
5893
2.99k
    yyaccept = 4;
5894
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
5895
2.99k
    if (yych == 'R') goto yy536;
5896
2.86k
    if (yych == 'r') goto yy536;
5897
371
    goto yy48;
5898
5.18k
yy434:
5899
5.18k
    YYDEBUG(434, *YYCURSOR);
5900
5.18k
    yyaccept = 4;
5901
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
5902
5.18k
    if (yych == 'L') goto yy537;
5903
4.35k
    if (yych == 'l') goto yy537;
5904
1.04k
    goto yy48;
5905
10.4k
yy435:
5906
10.4k
    YYDEBUG(435, *YYCURSOR);
5907
10.4k
    yyaccept = 4;
5908
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5909
10.4k
    if (yych == 'N') goto yy538;
5910
9.76k
    if (yych == 'n') goto yy538;
5911
638
    goto yy48;
5912
6.56k
yy436:
5913
6.56k
    YYDEBUG(436, *YYCURSOR);
5914
6.56k
    yyaccept = 4;
5915
6.56k
    yych = *(YYMARKER = ++YYCURSOR);
5916
6.56k
    if (yych == 'L') goto yy539;
5917
5.18k
    if (yych == 'l') goto yy539;
5918
336
    goto yy48;
5919
3.61k
yy437:
5920
3.61k
    YYDEBUG(437, *YYCURSOR);
5921
3.61k
    yyaccept = 4;
5922
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
5923
3.61k
    if (yych == 'N') goto yy540;
5924
2.28k
    if (yych == 'n') goto yy540;
5925
1.00k
    goto yy48;
5926
6.72k
yy438:
5927
6.72k
    YYDEBUG(438, *YYCURSOR);
5928
6.72k
    yyaccept = 4;
5929
6.72k
    yych = *(YYMARKER = ++YYCURSOR);
5930
6.72k
    if (yych == 'T') goto yy541;
5931
6.21k
    if (yych == 't') goto yy541;
5932
412
    goto yy48;
5933
7.53k
yy439:
5934
7.53k
    YYDEBUG(439, *YYCURSOR);
5935
7.53k
    yyaccept = 4;
5936
7.53k
    yych = *(YYMARKER = ++YYCURSOR);
5937
7.53k
    if (yych == 'M') goto yy542;
5938
6.85k
    if (yych == 'm') goto yy542;
5939
958
    goto yy48;
5940
5.55k
yy440:
5941
5.55k
    YYDEBUG(440, *YYCURSOR);
5942
5.55k
    yyaccept = 4;
5943
5.55k
    yych = *(YYMARKER = ++YYCURSOR);
5944
5.55k
    if (yych == 'O') goto yy543;
5945
1.89k
    if (yych == 'o') goto yy543;
5946
582
    goto yy48;
5947
6.14k
yy441:
5948
6.14k
    YYDEBUG(441, *YYCURSOR);
5949
6.14k
    yyaccept = 4;
5950
6.14k
    yych = *(YYMARKER = ++YYCURSOR);
5951
6.14k
    if (yych == 'A') goto yy544;
5952
5.41k
    if (yych == 'a') goto yy544;
5953
1.04k
    goto yy48;
5954
7.71k
yy442:
5955
7.71k
    YYDEBUG(442, *YYCURSOR);
5956
7.71k
    ++YYCURSOR;
5957
7.71k
    YYFILL(1);
5958
7.71k
    yych = *YYCURSOR;
5959
7.71k
    if (yych <= '\f') {
5960
918
      if (yych <= 0x00) goto yy86;
5961
653
      if (yych == '\n') goto yy84;
5962
328
      goto yy225;
5963
6.79k
    } else {
5964
6.79k
      if (yych <= '\r') goto yy84;
5965
6.31k
      if (yych == '.') goto yy352;
5966
5.22k
      goto yy225;
5967
6.31k
    }
5968
206k
yy443:
5969
206k
    YYDEBUG(443, *YYCURSOR);
5970
206k
    ++YYCURSOR;
5971
206k
    YYFILL(1);
5972
206k
    yych = *YYCURSOR;
5973
206k
    YYDEBUG(444, *YYCURSOR);
5974
206k
    if (yybm[0+yych] & 128) {
5975
153k
      goto yy443;
5976
153k
    }
5977
52.5k
    if (yych <= 0x00) goto yy86;
5978
50.5k
    if (yych <= '\r') goto yy545;
5979
6.32k
    goto yy547;
5980
6.32k
yy445:
5981
4.92k
    YYDEBUG(445, *YYCURSOR);
5982
4.92k
    yych = *++YYCURSOR;
5983
4.92k
    if (yych == 'Y') goto yy549;
5984
4.33k
    if (yych == 'y') goto yy549;
5985
434
    goto yy86;
5986
4.91k
yy446:
5987
4.91k
    YYDEBUG(446, *YYCURSOR);
5988
4.91k
    yych = *++YYCURSOR;
5989
4.91k
    if (yych == 'R') goto yy551;
5990
3.68k
    if (yych == 'r') goto yy551;
5991
1.05k
    goto yy86;
5992
4.48k
yy447:
5993
4.48k
    YYDEBUG(447, *YYCURSOR);
5994
4.48k
    yych = *++YYCURSOR;
5995
4.48k
    if (yych == 'E') goto yy556;
5996
2.94k
    if (yych == 'e') goto yy556;
5997
1.44k
    goto yy553;
5998
2.76k
yy448:
5999
2.76k
    YYDEBUG(448, *YYCURSOR);
6000
2.76k
    yych = *++YYCURSOR;
6001
2.76k
    if (yych == 'L') goto yy557;
6002
2.59k
    if (yych == 'l') goto yy557;
6003
451
    goto yy86;
6004
2.70k
yy449:
6005
2.70k
    YYDEBUG(449, *YYCURSOR);
6006
2.70k
    yych = *++YYCURSOR;
6007
2.70k
    if (yych == 'T') goto yy558;
6008
2.39k
    if (yych == 't') goto yy558;
6009
710
    goto yy86;
6010
744
yy450:
6011
744
    YYDEBUG(450, *YYCURSOR);
6012
744
    ++YYCURSOR;
6013
744
    YYFILL(1);
6014
744
    yych = *YYCURSOR;
6015
2.40k
yy451:
6016
2.40k
    YYDEBUG(451, *YYCURSOR);
6017
2.40k
    if (yych <= 0x1F) {
6018
365
      if (yych == '\t') goto yy450;
6019
117
      goto yy86;
6020
2.04k
    } else {
6021
2.04k
      if (yych <= ' ') goto yy450;
6022
1.54k
      if (yych != ')') goto yy86;
6023
1.54k
    }
6024
913
    YYDEBUG(452, *YYCURSOR);
6025
913
    ++YYCURSOR;
6026
913
    YYDEBUG(453, *YYCURSOR);
6027
913
    yyleng = YYCURSOR - SCNG(yy_text);
6028
913
#line 1637 "Zend/zend_language_scanner.l"
6029
913
    {
6030
913
  RETURN_TOKEN(T_INT_CAST);
6031
913
}
6032
0
#line 6033 "Zend/zend_language_scanner.c"
6033
5.04k
yy454:
6034
5.04k
    YYDEBUG(454, *YYCURSOR);
6035
5.04k
    yych = *++YYCURSOR;
6036
5.04k
    if (yych == 'G') goto yy560;
6037
4.73k
    if (yych == 'g') goto yy560;
6038
737
    goto yy86;
6039
1.93k
yy455:
6040
1.93k
    YYDEBUG(455, *YYCURSOR);
6041
1.93k
    yych = *++YYCURSOR;
6042
1.93k
    if (yych == 'C') goto yy561;
6043
1.72k
    if (yych == 'c') goto yy561;
6044
225
    goto yy86;
6045
2.33k
yy456:
6046
2.33k
    YYDEBUG(456, *YYCURSOR);
6047
2.33k
    ++YYCURSOR;
6048
2.33k
    YYFILL(1);
6049
2.33k
    yych = *YYCURSOR;
6050
2.33k
    YYDEBUG(457, *YYCURSOR);
6051
2.33k
    if (yych <= 0x1F) {
6052
356
      if (yych == '\t') goto yy456;
6053
253
      goto yy86;
6054
1.97k
    } else {
6055
1.97k
      if (yych <= ' ') goto yy456;
6056
1.16k
      if (yych == ')') goto yy562;
6057
872
      goto yy86;
6058
1.16k
    }
6059
5.67k
yy458:
6060
5.67k
    YYDEBUG(458, *YYCURSOR);
6061
5.67k
    yych = *++YYCURSOR;
6062
5.67k
    if (yych == 'N') goto yy564;
6063
5.59k
    if (yych == 'n') goto yy564;
6064
1.21k
    goto yy86;
6065
2.15k
yy459:
6066
2.15k
    YYDEBUG(459, *YYCURSOR);
6067
2.15k
    yych = *++YYCURSOR;
6068
2.15k
    if (yych == 'T') goto yy565;
6069
1.56k
    if (yych == 't') goto yy565;
6070
313
    goto yy86;
6071
1.56k
yy460:
6072
1.56k
    YYDEBUG(460, *YYCURSOR);
6073
1.56k
    ++YYCURSOR;
6074
1.56k
    YYFILL(1);
6075
1.56k
    yych = *YYCURSOR;
6076
1.56k
    YYDEBUG(461, *YYCURSOR);
6077
1.56k
    if (yych <= 0x1F) {
6078
591
      if (yych == '\t') goto yy460;
6079
272
      goto yy86;
6080
969
    } else {
6081
969
      if (yych <= ' ') goto yy460;
6082
831
      if (yych == ')') goto yy567;
6083
487
      goto yy86;
6084
831
    }
6085
14.4k
yy462:
6086
14.4k
    YYDEBUG(462, *YYCURSOR);
6087
14.4k
    ++YYCURSOR;
6088
14.4k
    YYFILL(3);
6089
14.4k
    yych = *YYCURSOR;
6090
17.2k
yy463:
6091
17.2k
    YYDEBUG(463, *YYCURSOR);
6092
17.2k
    if (yych <= 'Z') {
6093
4.86k
      if (yych <= '/') {
6094
1.77k
        if (yych == '"') goto yy569;
6095
1.30k
        goto yy86;
6096
3.08k
      } else {
6097
3.08k
        if (yych <= '9') goto yy462;
6098
751
        if (yych <= '@') goto yy86;
6099
383
        goto yy462;
6100
751
      }
6101
12.4k
    } else {
6102
12.4k
      if (yych <= '`') {
6103
1.49k
        if (yych == '_') goto yy462;
6104
216
        goto yy86;
6105
10.9k
      } else {
6106
10.9k
        if (yych <= 'z') goto yy462;
6107
3.68k
        if (yych <= 0x7F) goto yy86;
6108
3.21k
        goto yy462;
6109
3.68k
      }
6110
12.4k
    }
6111
8.28k
yy464:
6112
8.28k
    YYDEBUG(464, *YYCURSOR);
6113
8.28k
    ++YYCURSOR;
6114
8.28k
    YYFILL(3);
6115
8.28k
    yych = *YYCURSOR;
6116
14.7k
yy465:
6117
14.7k
    YYDEBUG(465, *YYCURSOR);
6118
14.7k
    if (yych <= 'Z') {
6119
6.92k
      if (yych <= '/') {
6120
5.58k
        if (yych == '\'') goto yy569;
6121
339
        goto yy86;
6122
5.58k
      } else {
6123
1.33k
        if (yych <= '9') goto yy464;
6124
1.08k
        if (yych <= '@') goto yy86;
6125
710
        goto yy464;
6126
1.08k
      }
6127
7.78k
    } else {
6128
7.78k
      if (yych <= '`') {
6129
443
        if (yych == '_') goto yy464;
6130
200
        goto yy86;
6131
7.34k
      } else {
6132
7.34k
        if (yych <= 'z') goto yy464;
6133
3.78k
        if (yych <= 0x7F) goto yy86;
6134
3.51k
        goto yy464;
6135
3.78k
      }
6136
7.78k
    }
6137
2.68M
yy466:
6138
2.68M
    YYDEBUG(466, *YYCURSOR);
6139
2.68M
    ++YYCURSOR;
6140
2.70M
yy467:
6141
2.70M
    YYDEBUG(467, *YYCURSOR);
6142
2.70M
    yyleng = YYCURSOR - SCNG(yy_text);
6143
2.70M
#line 2677 "Zend/zend_language_scanner.l"
6144
2.70M
    {
6145
2.70M
  char *s;
6146
2.70M
  unsigned char *saved_cursor;
6147
2.70M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6148
2.70M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6149
2.70M
  bool is_heredoc = 1;
6150
6151
2.70M
  CG(zend_lineno)++;
6152
2.70M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6153
2.70M
  s = yytext+bprefix+3;
6154
2.70M
  while ((*s == ' ') || (*s == '\t')) {
6155
566
    s++;
6156
566
    heredoc_label->length--;
6157
566
  }
6158
6159
2.70M
  if (*s == '\'') {
6160
4.88k
    s++;
6161
4.88k
    heredoc_label->length -= 2;
6162
4.88k
    is_heredoc = 0;
6163
6164
4.88k
    BEGIN(ST_NOWDOC);
6165
2.69M
  } else {
6166
2.69M
    if (*s == '"') {
6167
108
      s++;
6168
108
      heredoc_label->length -= 2;
6169
108
    }
6170
6171
2.69M
    BEGIN(ST_HEREDOC);
6172
2.69M
  }
6173
6174
2.70M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6175
2.70M
  heredoc_label->indentation_uses_spaces = 0;
6176
2.70M
  heredoc_label->indentation = 0;
6177
2.70M
  saved_cursor = YYCURSOR;
6178
6179
2.70M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6180
6181
2.70M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6182
4.42k
    if (*YYCURSOR == '\t') {
6183
2.22k
      spacing |= HEREDOC_USING_TABS;
6184
2.22k
    } else {
6185
2.20k
      spacing |= HEREDOC_USING_SPACES;
6186
2.20k
    }
6187
4.42k
    ++YYCURSOR;
6188
4.42k
    ++indentation;
6189
4.42k
  }
6190
6191
2.70M
  if (YYCURSOR == YYLIMIT) {
6192
1.76k
    YYCURSOR = saved_cursor;
6193
1.76k
    RETURN_TOKEN(T_START_HEREDOC);
6194
1.76k
  }
6195
6196
  /* Check for ending label on the next line */
6197
2.69M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6198
6.11k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6199
2.47k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6200
52
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6201
52
        if (PARSER_MODE()) {
6202
2
          RETURN_TOKEN(T_ERROR);
6203
2
        }
6204
52
      }
6205
6206
2.47k
      YYCURSOR = saved_cursor;
6207
2.47k
      heredoc_label->indentation = indentation;
6208
6209
2.47k
      BEGIN(ST_END_HEREDOC);
6210
2.47k
      RETURN_TOKEN(T_START_HEREDOC);
6211
2.47k
    }
6212
6.11k
  }
6213
6214
2.69M
  YYCURSOR = saved_cursor;
6215
6216
2.69M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6217
111k
    zend_lex_state current_state;
6218
111k
    zend_string *saved_doc_comment = CG(doc_comment);
6219
111k
    int heredoc_nesting_level = 1;
6220
111k
    int first_token = 0;
6221
111k
    int error = 0;
6222
6223
111k
    zend_save_lexical_state(&current_state);
6224
6225
111k
    SCNG(heredoc_scan_ahead) = 1;
6226
111k
    SCNG(heredoc_indentation) = 0;
6227
111k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6228
111k
    SCNG(on_event_context) = NULL;
6229
111k
    LANG_SCNG(on_event) = NULL;
6230
111k
    CG(doc_comment) = NULL;
6231
6232
111k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6233
6234
111k
    zend_object *prev_exception = EG(exception);
6235
111k
    EG(exception) = NULL;
6236
14.3M
    while (heredoc_nesting_level) {
6237
14.3M
      zval zv;
6238
14.3M
      int retval;
6239
6240
14.3M
      ZVAL_UNDEF(&zv);
6241
14.3M
      retval = lex_scan(&zv, NULL);
6242
14.3M
      zval_ptr_dtor_nogc(&zv);
6243
6244
14.3M
      if (EG(exception)) {
6245
108k
        zend_clear_exception();
6246
108k
        break;
6247
108k
      }
6248
6249
14.2M
      if (!first_token) {
6250
111k
        first_token = retval;
6251
111k
      }
6252
6253
14.2M
      switch (retval) {
6254
2.58M
        case T_START_HEREDOC:
6255
2.58M
          ++heredoc_nesting_level;
6256
2.58M
          break;
6257
9.81k
        case T_END_HEREDOC:
6258
9.81k
          --heredoc_nesting_level;
6259
9.81k
          break;
6260
921
        case END:
6261
921
          heredoc_nesting_level = 0;
6262
14.2M
      }
6263
14.2M
    }
6264
111k
    EG(exception) = prev_exception;
6265
6266
111k
    if (
6267
111k
        (first_token == T_VARIABLE
6268
106k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6269
21.6k
         || first_token == T_CURLY_OPEN
6270
111k
        ) && SCNG(heredoc_indentation)) {
6271
2
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6272
2
      error = 1;
6273
2
    }
6274
6275
111k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6276
111k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6277
6278
111k
    zend_restore_lexical_state(&current_state);
6279
111k
    SCNG(heredoc_scan_ahead) = 0;
6280
111k
    CG(increment_lineno) = 0;
6281
111k
    CG(doc_comment) = saved_doc_comment;
6282
6283
111k
    if (PARSER_MODE() && error) {
6284
2
      RETURN_TOKEN(T_ERROR);
6285
2
    }
6286
111k
  }
6287
6288
2.69M
  RETURN_TOKEN(T_START_HEREDOC);
6289
2.69M
}
6290
0
#line 6291 "Zend/zend_language_scanner.c"
6291
17.2k
yy468:
6292
17.2k
    YYDEBUG(468, *YYCURSOR);
6293
17.2k
    yych = *++YYCURSOR;
6294
17.2k
    if (yych == '\n') goto yy466;
6295
16.7k
    goto yy467;
6296
16.7k
yy469:
6297
4.54k
    YYDEBUG(469, *YYCURSOR);
6298
4.54k
    yyaccept = 4;
6299
4.54k
    yych = *(YYMARKER = ++YYCURSOR);
6300
4.54k
    if (yych == 'A') goto yy570;
6301
4.04k
    if (yych == 'a') goto yy570;
6302
820
    goto yy48;
6303
8.72k
yy470:
6304
8.72k
    YYDEBUG(470, *YYCURSOR);
6305
8.72k
    yyaccept = 34;
6306
8.72k
    yych = *(YYMARKER = ++YYCURSOR);
6307
8.72k
    if (yybm[256+yych] & 128) {
6308
4.79k
      goto yy47;
6309
4.79k
    }
6310
3.92k
    if (yych == '\\') goto yy164;
6311
3.92k
yy471:
6312
3.92k
    YYDEBUG(471, *YYCURSOR);
6313
3.92k
    yyleng = YYCURSOR - SCNG(yy_text);
6314
3.92k
#line 1817 "Zend/zend_language_scanner.l"
6315
3.92k
    {
6316
3.92k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6317
3.92k
}
6318
0
#line 6319 "Zend/zend_language_scanner.c"
6319
2.44k
yy472:
6320
2.44k
    YYDEBUG(472, *YYCURSOR);
6321
2.44k
    yyaccept = 35;
6322
2.44k
    yych = *(YYMARKER = ++YYCURSOR);
6323
2.44k
    if (yybm[256+yych] & 128) {
6324
337
      goto yy47;
6325
337
    }
6326
2.10k
    if (yych == '\\') goto yy164;
6327
2.10k
yy473:
6328
2.10k
    YYDEBUG(473, *YYCURSOR);
6329
2.10k
    yyleng = YYCURSOR - SCNG(yy_text);
6330
2.10k
#line 1533 "Zend/zend_language_scanner.l"
6331
2.10k
    {
6332
2.10k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6333
2.10k
}
6334
0
#line 6335 "Zend/zend_language_scanner.c"
6335
3.37k
yy474:
6336
3.37k
    YYDEBUG(474, *YYCURSOR);
6337
3.37k
    yyaccept = 4;
6338
3.37k
    yych = *(YYMARKER = ++YYCURSOR);
6339
3.37k
    if (yych == 'B') goto yy571;
6340
2.09k
    if (yych == 'b') goto yy571;
6341
427
    goto yy48;
6342
3.25k
yy475:
6343
3.25k
    YYDEBUG(475, *YYCURSOR);
6344
3.25k
    yyaccept = 36;
6345
3.25k
    yych = *(YYMARKER = ++YYCURSOR);
6346
3.25k
    if (yybm[256+yych] & 128) {
6347
398
      goto yy47;
6348
398
    }
6349
2.85k
    if (yych == '\\') goto yy164;
6350
2.63k
yy476:
6351
2.63k
    YYDEBUG(476, *YYCURSOR);
6352
2.63k
    yyleng = YYCURSOR - SCNG(yy_text);
6353
2.63k
#line 1441 "Zend/zend_language_scanner.l"
6354
2.63k
    {
6355
2.63k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6356
2.63k
}
6357
0
#line 6358 "Zend/zend_language_scanner.c"
6358
21.7k
yy477:
6359
21.7k
    YYDEBUG(477, *YYCURSOR);
6360
21.7k
    yyaccept = 37;
6361
21.7k
    yych = *(YYMARKER = ++YYCURSOR);
6362
21.7k
    if (yybm[256+yych] & 128) {
6363
1.22k
      goto yy47;
6364
1.22k
    }
6365
20.5k
    if (yych == '\\') goto yy164;
6366
20.5k
yy478:
6367
20.5k
    YYDEBUG(478, *YYCURSOR);
6368
20.5k
    yyleng = YYCURSOR - SCNG(yy_text);
6369
20.5k
#line 1553 "Zend/zend_language_scanner.l"
6370
20.5k
    {
6371
20.5k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6372
20.5k
}
6373
0
#line 6374 "Zend/zend_language_scanner.c"
6374
3.63k
yy479:
6375
3.63k
    YYDEBUG(479, *YYCURSOR);
6376
3.63k
    yyaccept = 38;
6377
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
6378
3.63k
    if (yybm[256+yych] & 128) {
6379
548
      goto yy47;
6380
548
    }
6381
3.09k
    if (yych == '\\') goto yy164;
6382
3.04k
yy480:
6383
3.04k
    YYDEBUG(480, *YYCURSOR);
6384
3.04k
    yyleng = YYCURSOR - SCNG(yy_text);
6385
3.04k
#line 1629 "Zend/zend_language_scanner.l"
6386
3.04k
    {
6387
3.04k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6388
3.04k
}
6389
0
#line 6390 "Zend/zend_language_scanner.c"
6390
20.9k
yy481:
6391
20.9k
    YYDEBUG(481, *YYCURSOR);
6392
20.9k
    yyaccept = 39;
6393
20.9k
    yych = *(YYMARKER = ++YYCURSOR);
6394
20.9k
    if (yybm[256+yych] & 128) {
6395
1.50k
      goto yy47;
6396
1.50k
    }
6397
19.4k
    if (yych == '\\') goto yy164;
6398
19.2k
yy482:
6399
19.2k
    YYDEBUG(482, *YYCURSOR);
6400
19.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6401
19.2k
#line 1414 "Zend/zend_language_scanner.l"
6402
19.2k
    {
6403
19.2k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6404
19.2k
}
6405
0
#line 6406 "Zend/zend_language_scanner.c"
6406
6.12k
yy483:
6407
6.12k
    YYDEBUG(483, *YYCURSOR);
6408
6.12k
    yyaccept = 4;
6409
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
6410
6.12k
    if (yych == 'N') goto yy572;
6411
4.56k
    if (yych == 'n') goto yy572;
6412
875
    goto yy48;
6413
5.76k
yy484:
6414
5.76k
    YYDEBUG(484, *YYCURSOR);
6415
5.76k
    yyaccept = 4;
6416
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
6417
5.76k
    if (yych == 'R') goto yy573;
6418
5.56k
    if (yych == 'r') goto yy573;
6419
167
    goto yy48;
6420
3.23k
yy485:
6421
3.23k
    YYDEBUG(485, *YYCURSOR);
6422
3.23k
    yyaccept = 4;
6423
3.23k
    yych = *(YYMARKER = ++YYCURSOR);
6424
3.23k
    if (yych == 'L') goto yy574;
6425
2.77k
    if (yych == 'l') goto yy574;
6426
538
    goto yy48;
6427
4.33k
yy486:
6428
4.33k
    YYDEBUG(486, *YYCURSOR);
6429
4.33k
    yyaccept = 4;
6430
4.33k
    yych = *(YYMARKER = ++YYCURSOR);
6431
4.33k
    if (yych == 'F') goto yy575;
6432
4.05k
    if (yych == 'f') goto yy575;
6433
928
    goto yy48;
6434
2.22k
yy487:
6435
2.22k
    YYDEBUG(487, *YYCURSOR);
6436
2.22k
    yyaccept = 40;
6437
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
6438
2.22k
    if (yybm[256+yych] & 128) {
6439
734
      goto yy47;
6440
734
    }
6441
1.49k
    if (yych == '\\') goto yy164;
6442
1.49k
yy488:
6443
1.49k
    YYDEBUG(488, *YYCURSOR);
6444
1.49k
    yyleng = YYCURSOR - SCNG(yy_text);
6445
1.49k
#line 1757 "Zend/zend_language_scanner.l"
6446
1.49k
    {
6447
1.49k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6448
1.49k
}
6449
0
#line 6450 "Zend/zend_language_scanner.c"
6450
3.77k
yy489:
6451
3.77k
    YYDEBUG(489, *YYCURSOR);
6452
3.77k
    yyaccept = 4;
6453
3.77k
    yych = *(YYMARKER = ++YYCURSOR);
6454
3.77k
    if (yych == 'C') goto yy577;
6455
3.39k
    if (yych == 'c') goto yy577;
6456
356
    goto yy48;
6457
7.52k
yy490:
6458
7.52k
    YYDEBUG(490, *YYCURSOR);
6459
7.52k
    yyaccept = 4;
6460
7.52k
    yych = *(YYMARKER = ++YYCURSOR);
6461
7.52k
    if (yych == 'R') goto yy578;
6462
5.93k
    if (yych == 'r') goto yy578;
6463
249
    goto yy48;
6464
2.37k
yy491:
6465
2.37k
    YYDEBUG(491, *YYCURSOR);
6466
2.37k
    yyaccept = 41;
6467
2.37k
    yych = *(YYMARKER = ++YYCURSOR);
6468
2.37k
    if (yybm[256+yych] & 128) {
6469
626
      goto yy47;
6470
626
    }
6471
1.74k
    if (yych == '\\') goto yy164;
6472
1.72k
yy492:
6473
1.72k
    YYDEBUG(492, *YYCURSOR);
6474
1.72k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
1.72k
#line 1461 "Zend/zend_language_scanner.l"
6476
1.72k
    {
6477
1.72k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6478
1.72k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
3.32k
yy493:
6481
3.32k
    YYDEBUG(493, *YYCURSOR);
6482
3.32k
    yyaccept = 4;
6483
3.32k
    yych = *(YYMARKER = ++YYCURSOR);
6484
3.32k
    if (yych == 'I') goto yy580;
6485
1.89k
    if (yych == 'i') goto yy580;
6486
171
    goto yy48;
6487
2.68k
yy494:
6488
2.68k
    YYDEBUG(494, *YYCURSOR);
6489
2.68k
    yyaccept = 4;
6490
2.68k
    yych = *(YYMARKER = ++YYCURSOR);
6491
2.68k
    if (yych == 'I') goto yy581;
6492
1.93k
    if (yych == 'i') goto yy581;
6493
273
    goto yy48;
6494
539k
yy495:
6495
539k
    YYDEBUG(495, *YYCURSOR);
6496
539k
    ++YYCURSOR;
6497
539k
    YYFILL(10);
6498
539k
    yych = *YYCURSOR;
6499
539k
    YYDEBUG(496, *YYCURSOR);
6500
539k
    if (yych <= 'E') {
6501
506k
      if (yych <= ' ') {
6502
36.3k
        if (yych <= '\f') {
6503
9.23k
          if (yych <= 0x08) goto yy86;
6504
6.30k
          if (yych <= '\n') goto yy495;
6505
403
          goto yy86;
6506
27.1k
        } else {
6507
27.1k
          if (yych <= '\r') goto yy495;
6508
3.28k
          if (yych <= 0x1F) goto yy86;
6509
2.24k
          goto yy495;
6510
3.28k
        }
6511
470k
      } else {
6512
470k
        if (yych <= '.') {
6513
463k
          if (yych != '#') goto yy86;
6514
463k
        } else {
6515
6.98k
          if (yych <= '/') goto yy498;
6516
3.05k
          if (yych <= '@') goto yy86;
6517
1.12k
          if (yych <= 'D') goto yy582;
6518
625
          goto yy584;
6519
1.12k
        }
6520
470k
      }
6521
506k
    } else {
6522
32.2k
      if (yych <= '`') {
6523
8.26k
        if (yych <= 'Z') {
6524
4.91k
          if (yych == 'I') goto yy585;
6525
2.65k
          goto yy582;
6526
4.91k
        } else {
6527
3.34k
          if (yych == '_') goto yy582;
6528
232
          goto yy86;
6529
3.34k
        }
6530
23.9k
      } else {
6531
23.9k
        if (yych <= 'h') {
6532
8.80k
          if (yych == 'e') goto yy584;
6533
1.07k
          goto yy582;
6534
15.1k
        } else {
6535
15.1k
          if (yych <= 'i') goto yy585;
6536
10.7k
          if (yych <= 'z') goto yy582;
6537
6.91k
          if (yych <= 0x7F) goto yy86;
6538
6.01k
          goto yy582;
6539
6.91k
        }
6540
23.9k
      }
6541
32.2k
    }
6542
459k
yy497:
6543
459k
    YYDEBUG(497, *YYCURSOR);
6544
459k
    ++YYCURSOR;
6545
459k
    YYFILL(1);
6546
459k
    yych = *YYCURSOR;
6547
459k
    if (yych <= '\f') {
6548
340k
      if (yych <= 0x00) goto yy86;
6549
340k
      if (yych == '\n') goto yy588;
6550
11.8k
      goto yy586;
6551
340k
    } else {
6552
119k
      if (yych <= '\r') goto yy588;
6553
45.4k
      if (yych == '[') goto yy86;
6554
45.3k
      goto yy586;
6555
45.4k
    }
6556
4.18k
yy498:
6557
4.18k
    YYDEBUG(498, *YYCURSOR);
6558
4.18k
    ++YYCURSOR;
6559
4.18k
    YYFILL(1);
6560
4.18k
    yych = *YYCURSOR;
6561
4.18k
    if (yych == '*') goto yy590;
6562
1.73k
    if (yych == '/') goto yy586;
6563
1.24k
    goto yy86;
6564
10.2k
yy499:
6565
10.2k
    YYDEBUG(499, *YYCURSOR);
6566
10.2k
    yyaccept = 4;
6567
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
6568
10.2k
    if (yych == 'D') goto yy592;
6569
9.56k
    if (yych == 'd') goto yy592;
6570
1.71k
    goto yy48;
6571
10.1k
yy500:
6572
10.1k
    YYDEBUG(500, *YYCURSOR);
6573
10.1k
    yyaccept = 42;
6574
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
6575
10.1k
    if (yych <= '\\') {
6576
4.50k
      if (yych <= 'K') {
6577
3.18k
        if (yych <= '/') goto yy501;
6578
1.80k
        if (yych <= '9') goto yy47;
6579
1.30k
        if (yych >= 'A') goto yy47;
6580
1.32k
      } else {
6581
1.32k
        if (yych <= 'L') goto yy593;
6582
897
        if (yych <= 'Z') goto yy47;
6583
696
        if (yych >= '\\') goto yy164;
6584
696
      }
6585
5.68k
    } else {
6586
5.68k
      if (yych <= 'k') {
6587
1.21k
        if (yych == '_') goto yy47;
6588
580
        if (yych >= 'a') goto yy47;
6589
4.47k
      } else {
6590
4.47k
        if (yych <= 'l') goto yy593;
6591
1.76k
        if (yych <= 'z') goto yy47;
6592
836
        if (yych >= 0x80) goto yy47;
6593
836
      }
6594
5.68k
    }
6595
3.78k
yy501:
6596
3.78k
    YYDEBUG(501, *YYCURSOR);
6597
3.78k
    yyleng = YYCURSOR - SCNG(yy_text);
6598
3.78k
#line 1773 "Zend/zend_language_scanner.l"
6599
3.78k
    {
6600
3.78k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6601
3.78k
}
6602
0
#line 6603 "Zend/zend_language_scanner.c"
6603
4.22k
yy502:
6604
4.22k
    YYDEBUG(502, *YYCURSOR);
6605
4.22k
    yyaccept = 4;
6606
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
6607
4.22k
    if (yych == 'C') goto yy594;
6608
3.88k
    if (yych == 'c') goto yy594;
6609
337
    goto yy48;
6610
23.9k
yy503:
6611
23.9k
    YYDEBUG(503, *YYCURSOR);
6612
23.9k
    yyaccept = 4;
6613
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
6614
23.9k
    if (yych == 'I') goto yy595;
6615
23.2k
    if (yych == 'i') goto yy595;
6616
1.11k
    goto yy48;
6617
3.24k
yy504:
6618
3.24k
    YYDEBUG(504, *YYCURSOR);
6619
3.24k
    yyaccept = 4;
6620
3.24k
    yych = *(YYMARKER = ++YYCURSOR);
6621
3.24k
    if (yych == 'L') goto yy596;
6622
1.74k
    if (yych == 'l') goto yy596;
6623
393
    goto yy48;
6624
10.5k
yy505:
6625
10.5k
    YYDEBUG(505, *YYCURSOR);
6626
10.5k
    yyaccept = 4;
6627
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6628
10.5k
    if (yych == 'M') goto yy598;
6629
9.63k
    if (yych == 'm') goto yy598;
6630
2.14k
    goto yy48;
6631
11.5k
yy506:
6632
11.5k
    YYDEBUG(506, *YYCURSOR);
6633
11.5k
    yyaccept = 4;
6634
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
6635
11.5k
    if (yych == 'D') goto yy599;
6636
10.0k
    if (yych == 'd') goto yy599;
6637
1.01k
    goto yy48;
6638
4.12k
yy507:
6639
4.12k
    YYDEBUG(507, *YYCURSOR);
6640
4.12k
    yyaccept = 4;
6641
4.12k
    yych = *(YYMARKER = ++YYCURSOR);
6642
4.12k
    if (yych == 'N') goto yy600;
6643
3.58k
    if (yych == 'n') goto yy600;
6644
257
    goto yy48;
6645
4.81k
yy508:
6646
4.81k
    YYDEBUG(508, *YYCURSOR);
6647
4.81k
    yyaccept = 4;
6648
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
6649
4.81k
    if (yych == 'A') goto yy601;
6650
4.46k
    if (yych == 'a') goto yy601;
6651
168
    goto yy48;
6652
6.00k
yy509:
6653
6.00k
    YYDEBUG(509, *YYCURSOR);
6654
6.00k
    yyaccept = 4;
6655
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
6656
6.00k
    if (yych == 'F') goto yy602;
6657
5.48k
    if (yych == 'f') goto yy602;
6658
1.38k
    goto yy48;
6659
2.99k
yy510:
6660
2.99k
    YYDEBUG(510, *YYCURSOR);
6661
2.99k
    yyaccept = 43;
6662
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
6663
2.99k
    if (yybm[256+yych] & 128) {
6664
915
      goto yy47;
6665
915
    }
6666
2.07k
    if (yych == '\\') goto yy164;
6667
2.04k
yy511:
6668
2.04k
    YYDEBUG(511, *YYCURSOR);
6669
2.04k
    yyleng = YYCURSOR - SCNG(yy_text);
6670
2.04k
#line 1753 "Zend/zend_language_scanner.l"
6671
2.04k
    {
6672
2.04k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6673
2.04k
}
6674
0
#line 6675 "Zend/zend_language_scanner.c"
6675
3.50k
yy512:
6676
3.50k
    YYDEBUG(512, *YYCURSOR);
6677
3.50k
    yyaccept = 44;
6678
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
6679
3.50k
    if (yybm[256+yych] & 128) {
6680
383
      goto yy47;
6681
383
    }
6682
3.12k
    if (yych == '\\') goto yy164;
6683
3.12k
yy513:
6684
3.12k
    YYDEBUG(513, *YYCURSOR);
6685
3.12k
    yyleng = YYCURSOR - SCNG(yy_text);
6686
3.12k
#line 1517 "Zend/zend_language_scanner.l"
6687
3.12k
    {
6688
3.12k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6689
3.12k
}
6690
0
#line 6691 "Zend/zend_language_scanner.c"
6691
12.8k
yy514:
6692
12.8k
    YYDEBUG(514, *YYCURSOR);
6693
12.8k
    yyaccept = 4;
6694
12.8k
    yych = *(YYMARKER = ++YYCURSOR);
6695
12.8k
    if (yych == 'P') goto yy603;
6696
11.0k
    if (yych == 'p') goto yy603;
6697
680
    goto yy48;
6698
4.92k
yy515:
6699
4.92k
    YYDEBUG(515, *YYCURSOR);
6700
4.92k
    yyaccept = 45;
6701
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
6702
4.92k
    if (yybm[256+yych] & 128) {
6703
2.76k
      goto yy47;
6704
2.76k
    }
6705
2.15k
    if (yych == '\\') goto yy164;
6706
2.14k
yy516:
6707
2.14k
    YYDEBUG(516, *YYCURSOR);
6708
2.14k
    yyleng = YYCURSOR - SCNG(yy_text);
6709
2.14k
#line 1549 "Zend/zend_language_scanner.l"
6710
2.14k
    {
6711
2.14k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6712
2.14k
}
6713
0
#line 6714 "Zend/zend_language_scanner.c"
6714
6.51k
yy517:
6715
6.51k
    YYDEBUG(517, *YYCURSOR);
6716
6.51k
    yyaccept = 4;
6717
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
6718
6.51k
    if (yych == 'T') goto yy604;
6719
5.56k
    if (yych == 't') goto yy604;
6720
517
    goto yy48;
6721
8.48k
yy518:
6722
8.48k
    YYDEBUG(518, *YYCURSOR);
6723
8.48k
    yyaccept = 4;
6724
8.48k
    yych = *(YYMARKER = ++YYCURSOR);
6725
8.48k
    if (yych == 'C') goto yy605;
6726
7.56k
    if (yych == 'c') goto yy605;
6727
818
    goto yy48;
6728
15.1k
yy519:
6729
15.1k
    YYDEBUG(519, *YYCURSOR);
6730
15.1k
    yyaccept = 4;
6731
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
6732
15.1k
    if (yych == 'C') goto yy606;
6733
13.7k
    if (yych == 'c') goto yy606;
6734
592
    goto yy48;
6735
3.51k
yy520:
6736
3.51k
    YYDEBUG(520, *YYCURSOR);
6737
3.51k
    yyaccept = 4;
6738
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
6739
3.51k
    if (yych == 'N') goto yy608;
6740
3.12k
    if (yych == 'n') goto yy608;
6741
467
    goto yy48;
6742
9.77k
yy521:
6743
9.77k
    YYDEBUG(521, *YYCURSOR);
6744
9.77k
    yyaccept = 4;
6745
9.77k
    yych = *(YYMARKER = ++YYCURSOR);
6746
9.77k
    if (yych == 'R') goto yy609;
6747
8.36k
    if (yych == 'r') goto yy609;
6748
1.03k
    goto yy48;
6749
4.94k
yy522:
6750
4.94k
    YYDEBUG(522, *YYCURSOR);
6751
4.94k
    yyaccept = 4;
6752
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
6753
4.94k
    if (yych == 'N') goto yy610;
6754
4.48k
    if (yych == 'n') goto yy610;
6755
194
    goto yy48;
6756
6.01k
yy523:
6757
6.01k
    YYDEBUG(523, *YYCURSOR);
6758
6.01k
    yyaccept = 4;
6759
6.01k
    yych = *(YYMARKER = ++YYCURSOR);
6760
6.01k
    if (yych == 'C') goto yy612;
6761
5.67k
    if (yych == 'c') goto yy612;
6762
594
    goto yy48;
6763
3.87k
yy524:
6764
3.87k
    YYDEBUG(524, *YYCURSOR);
6765
3.87k
    yyaccept = 4;
6766
3.87k
    yych = *(YYMARKER = ++YYCURSOR);
6767
3.87k
    if (yych == 'H') goto yy614;
6768
3.26k
    if (yych == 'h') goto yy614;
6769
674
    goto yy48;
6770
5.10k
yy525:
6771
5.10k
    YYDEBUG(525, *YYCURSOR);
6772
5.10k
    yyaccept = 46;
6773
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
6774
5.10k
    if (yybm[256+yych] & 128) {
6775
1.18k
      goto yy47;
6776
1.18k
    }
6777
3.92k
    if (yych == '\\') goto yy164;
6778
3.92k
yy526:
6779
3.92k
    YYDEBUG(526, *YYCURSOR);
6780
3.92k
    yyleng = YYCURSOR - SCNG(yy_text);
6781
3.92k
#line 1449 "Zend/zend_language_scanner.l"
6782
3.92k
    {
6783
3.92k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6784
3.92k
}
6785
0
#line 6786 "Zend/zend_language_scanner.c"
6786
3.06k
yy527:
6787
3.06k
    YYDEBUG(527, *YYCURSOR);
6788
3.06k
    yyaccept = 47;
6789
3.06k
    yych = *(YYMARKER = ++YYCURSOR);
6790
3.06k
    if (yybm[256+yych] & 128) {
6791
784
      goto yy47;
6792
784
    }
6793
2.27k
    if (yych == '\\') goto yy164;
6794
2.26k
yy528:
6795
2.26k
    YYDEBUG(528, *YYCURSOR);
6796
2.26k
    yyleng = YYCURSOR - SCNG(yy_text);
6797
2.26k
#line 1561 "Zend/zend_language_scanner.l"
6798
2.26k
    {
6799
2.26k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6800
2.26k
}
6801
0
#line 6802 "Zend/zend_language_scanner.c"
6802
4.22k
yy529:
6803
4.22k
    YYDEBUG(529, *YYCURSOR);
6804
4.22k
    yyaccept = 48;
6805
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
6806
4.22k
    if (yybm[256+yych] & 128) {
6807
1.02k
      goto yy47;
6808
1.02k
    }
6809
3.20k
    if (yych == '\\') goto yy164;
6810
3.20k
yy530:
6811
3.20k
    YYDEBUG(530, *YYCURSOR);
6812
3.20k
    yyleng = YYCURSOR - SCNG(yy_text);
6813
3.20k
#line 1805 "Zend/zend_language_scanner.l"
6814
3.20k
    {
6815
3.20k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6816
3.20k
}
6817
0
#line 6818 "Zend/zend_language_scanner.c"
6818
2.36k
yy531:
6819
2.36k
    YYDEBUG(531, *YYCURSOR);
6820
2.36k
    yyaccept = 49;
6821
2.36k
    yych = *(YYMARKER = ++YYCURSOR);
6822
2.36k
    if (yybm[256+yych] & 128) {
6823
348
      goto yy47;
6824
348
    }
6825
2.02k
    if (yych == '\\') goto yy164;
6826
1.98k
yy532:
6827
1.98k
    YYDEBUG(532, *YYCURSOR);
6828
1.98k
    yyleng = YYCURSOR - SCNG(yy_text);
6829
1.98k
#line 1469 "Zend/zend_language_scanner.l"
6830
1.98k
    {
6831
1.98k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6832
1.98k
}
6833
0
#line 6834 "Zend/zend_language_scanner.c"
6834
64.1k
yy533:
6835
64.1k
    YYDEBUG(533, *YYCURSOR);
6836
64.1k
    yyaccept = 50;
6837
64.1k
    yych = *(YYMARKER = ++YYCURSOR);
6838
64.1k
    if (yybm[256+yych] & 128) {
6839
1.83k
      goto yy47;
6840
1.83k
    }
6841
62.3k
    if (yych <= ' ') {
6842
33.9k
      if (yych <= '\f') {
6843
25.0k
        if (yych <= 0x08) goto yy534;
6844
24.4k
        if (yych <= '\n') goto yy616;
6845
24.4k
      } else {
6846
8.90k
        if (yych <= '\r') goto yy616;
6847
7.84k
        if (yych >= ' ') goto yy616;
6848
7.84k
      }
6849
33.9k
    } else {
6850
28.4k
      if (yych <= '.') {
6851
27.1k
        if (yych == '#') goto yy618;
6852
27.1k
      } else {
6853
1.30k
        if (yych <= '/') goto yy619;
6854
1.02k
        if (yych == '\\') goto yy164;
6855
1.02k
      }
6856
28.4k
    }
6857
42.9k
yy534:
6858
42.9k
    YYDEBUG(534, *YYCURSOR);
6859
42.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
42.9k
#line 1433 "Zend/zend_language_scanner.l"
6861
42.9k
    {
6862
42.9k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6863
42.9k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
6.91k
yy535:
6866
6.91k
    YYDEBUG(535, *YYCURSOR);
6867
6.91k
    yyaccept = 4;
6868
6.91k
    yych = *(YYMARKER = ++YYCURSOR);
6869
6.91k
    if (yych == 'S') goto yy620;
6870
6.59k
    if (yych == 's') goto yy620;
6871
689
    goto yy48;
6872
2.62k
yy536:
6873
2.62k
    YYDEBUG(536, *YYCURSOR);
6874
2.62k
    yyaccept = 4;
6875
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
6876
2.62k
    if (yych == '_') goto yy621;
6877
523
    goto yy48;
6878
4.14k
yy537:
6879
4.14k
    YYDEBUG(537, *YYCURSOR);
6880
4.14k
    yyaccept = 4;
6881
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
6882
4.14k
    if (yych == 'E') goto yy622;
6883
3.77k
    if (yych == 'e') goto yy622;
6884
760
    goto yy48;
6885
9.78k
yy538:
6886
9.78k
    YYDEBUG(538, *YYCURSOR);
6887
9.78k
    yyaccept = 4;
6888
9.78k
    yych = *(YYMARKER = ++YYCURSOR);
6889
9.78k
    if (yych == 'C') goto yy623;
6890
9.18k
    if (yych == 'c') goto yy623;
6891
836
    goto yy48;
6892
6.22k
yy539:
6893
6.22k
    YYDEBUG(539, *YYCURSOR);
6894
6.22k
    yyaccept = 4;
6895
6.22k
    yych = *(YYMARKER = ++YYCURSOR);
6896
6.22k
    if (yych == 'T') goto yy624;
6897
4.96k
    if (yych == 't') goto yy624;
6898
566
    goto yy48;
6899
2.61k
yy540:
6900
2.61k
    YYDEBUG(540, *YYCURSOR);
6901
2.61k
    yyaccept = 4;
6902
2.61k
    yych = *(YYMARKER = ++YYCURSOR);
6903
2.61k
    if (yych == 'E') goto yy625;
6904
1.46k
    if (yych == 'e') goto yy625;
6905
280
    goto yy48;
6906
6.31k
yy541:
6907
6.31k
    YYDEBUG(541, *YYCURSOR);
6908
6.31k
    yyaccept = 4;
6909
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
6910
6.31k
    if (yych == 'H') goto yy626;
6911
5.85k
    if (yych == 'h') goto yy626;
6912
450
    goto yy48;
6913
6.57k
yy542:
6914
6.57k
    YYDEBUG(542, *YYCURSOR);
6915
6.57k
    yyaccept = 4;
6916
6.57k
    yych = *(YYMARKER = ++YYCURSOR);
6917
6.57k
    if (yych == 'E') goto yy627;
6918
6.19k
    if (yych == 'e') goto yy627;
6919
683
    goto yy48;
6920
4.97k
yy543:
6921
4.97k
    YYDEBUG(543, *YYCURSOR);
6922
4.97k
    yyaccept = 4;
6923
4.97k
    yych = *(YYMARKER = ++YYCURSOR);
6924
4.97k
    if (yych == 'P') goto yy628;
6925
1.07k
    if (yych == 'p') goto yy628;
6926
611
    goto yy48;
6927
5.09k
yy544:
6928
5.09k
    YYDEBUG(544, *YYCURSOR);
6929
5.09k
    yyaccept = 4;
6930
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
6931
5.09k
    if (yych == 'I') goto yy629;
6932
4.58k
    if (yych == 'i') goto yy629;
6933
482
    goto yy48;
6934
58.9k
yy545:
6935
58.9k
    YYDEBUG(545, *YYCURSOR);
6936
58.9k
    ++YYCURSOR;
6937
58.9k
    YYFILL(1);
6938
58.9k
    yych = *YYCURSOR;
6939
58.9k
    YYDEBUG(546, *YYCURSOR);
6940
58.9k
    if (yybm[0+yych] & 64) {
6941
845
      goto yy355;
6942
845
    }
6943
58.1k
    if (yych <= ' ') {
6944
8.00k
      if (yych <= '\n') {
6945
5.19k
        if (yych <= 0x00) goto yy86;
6946
4.34k
        if (yych <= 0x08) goto yy230;
6947
4.01k
        goto yy545;
6948
4.34k
      } else {
6949
2.80k
        if (yych == '\r') goto yy545;
6950
533
        if (yych <= 0x1F) goto yy230;
6951
311
        goto yy545;
6952
533
      }
6953
50.1k
    } else {
6954
50.1k
      if (yych <= '$') {
6955
39.1k
        if (yych <= '"') goto yy230;
6956
38.8k
        if (yych <= '#') goto yy630;
6957
1.20k
        goto yy631;
6958
38.8k
      } else {
6959
10.9k
        if (yych <= '-') goto yy230;
6960
10.3k
        if (yych <= '.') goto yy632;
6961
8.49k
        if (yych <= '/') goto yy633;
6962
2.82k
        goto yy230;
6963
8.49k
      }
6964
50.1k
    }
6965
9.85k
yy547:
6966
9.85k
    YYDEBUG(547, *YYCURSOR);
6967
9.85k
    ++YYCURSOR;
6968
9.85k
    YYFILL(1);
6969
9.85k
    yych = *YYCURSOR;
6970
9.85k
    YYDEBUG(548, *YYCURSOR);
6971
9.85k
    if (yych <= '\r') {
6972
2.84k
      if (yych <= '\t') {
6973
1.64k
        if (yych <= 0x00) goto yy86;
6974
1.35k
        goto yy443;
6975
1.64k
      } else {
6976
1.20k
        if (yych <= '\n') goto yy545;
6977
684
        if (yych <= '\f') goto yy443;
6978
472
        goto yy545;
6979
684
      }
6980
7.01k
    } else {
6981
7.01k
      if (yych <= '*') {
6982
3.93k
        if (yych <= ')') goto yy443;
6983
267
        goto yy547;
6984
3.93k
      } else {
6985
3.07k
        if (yych == '/') goto yy227;
6986
2.01k
        goto yy443;
6987
3.07k
      }
6988
7.01k
    }
6989
5.74k
yy549:
6990
5.74k
    YYDEBUG(549, *YYCURSOR);
6991
5.74k
    ++YYCURSOR;
6992
5.74k
    YYFILL(1);
6993
5.74k
    yych = *YYCURSOR;
6994
5.74k
    YYDEBUG(550, *YYCURSOR);
6995
5.74k
    if (yych <= 0x1F) {
6996
840
      if (yych == '\t') goto yy549;
6997
522
      goto yy86;
6998
4.90k
    } else {
6999
4.90k
      if (yych <= ' ') goto yy549;
7000
3.97k
      if (yych == ')') goto yy634;
7001
3.06k
      goto yy86;
7002
3.97k
    }
7003
3.86k
yy551:
7004
3.86k
    YYDEBUG(551, *YYCURSOR);
7005
3.86k
    yych = *++YYCURSOR;
7006
3.86k
    if (yych == 'Y') goto yy636;
7007
3.61k
    if (yych == 'y') goto yy636;
7008
608
    goto yy86;
7009
608
yy552:
7010
457
    YYDEBUG(552, *YYCURSOR);
7011
457
    ++YYCURSOR;
7012
457
    YYFILL(1);
7013
457
    yych = *YYCURSOR;
7014
1.89k
yy553:
7015
1.89k
    YYDEBUG(553, *YYCURSOR);
7016
1.89k
    if (yych <= 0x1F) {
7017
790
      if (yych == '\t') goto yy552;
7018
415
      goto yy86;
7019
1.10k
    } else {
7020
1.10k
      if (yych <= ' ') goto yy552;
7021
1.02k
      if (yych != ')') goto yy86;
7022
1.02k
    }
7023
586
    YYDEBUG(554, *YYCURSOR);
7024
586
    ++YYCURSOR;
7025
586
    YYDEBUG(555, *YYCURSOR);
7026
586
    yyleng = YYCURSOR - SCNG(yy_text);
7027
586
#line 1695 "Zend/zend_language_scanner.l"
7028
586
    {
7029
586
  RETURN_TOKEN(T_BOOL_CAST);
7030
586
}
7031
0
#line 7032 "Zend/zend_language_scanner.c"
7032
3.04k
yy556:
7033
3.04k
    YYDEBUG(556, *YYCURSOR);
7034
3.04k
    yych = *++YYCURSOR;
7035
3.04k
    if (yych == 'A') goto yy638;
7036
1.45k
    if (yych == 'a') goto yy638;
7037
427
    goto yy86;
7038
2.31k
yy557:
7039
2.31k
    YYDEBUG(557, *YYCURSOR);
7040
2.31k
    yych = *++YYCURSOR;
7041
2.31k
    if (yych == 'E') goto yy639;
7042
1.79k
    if (yych == 'e') goto yy639;
7043
349
    goto yy86;
7044
2.43k
yy558:
7045
2.43k
    YYDEBUG(558, *YYCURSOR);
7046
2.43k
    ++YYCURSOR;
7047
2.43k
    YYFILL(1);
7048
2.43k
    yych = *YYCURSOR;
7049
2.43k
    YYDEBUG(559, *YYCURSOR);
7050
2.43k
    if (yych <= 0x1F) {
7051
415
      if (yych == '\t') goto yy558;
7052
203
      goto yy86;
7053
2.02k
    } else {
7054
2.02k
      if (yych <= ' ') goto yy558;
7055
1.79k
      if (yych == ')') goto yy641;
7056
455
      goto yy86;
7057
1.79k
    }
7058
4.31k
yy560:
7059
4.31k
    YYDEBUG(560, *YYCURSOR);
7060
4.31k
    yych = *++YYCURSOR;
7061
4.31k
    if (yych == 'E') goto yy643;
7062
4.11k
    if (yych == 'e') goto yy643;
7063
715
    goto yy86;
7064
1.71k
yy561:
7065
1.71k
    YYDEBUG(561, *YYCURSOR);
7066
1.71k
    yych = *++YYCURSOR;
7067
1.71k
    if (yych == 'T') goto yy644;
7068
1.60k
    if (yych == 't') goto yy644;
7069
339
    goto yy86;
7070
339
yy562:
7071
288
    YYDEBUG(562, *YYCURSOR);
7072
288
    ++YYCURSOR;
7073
288
    YYDEBUG(563, *YYCURSOR);
7074
288
    yyleng = YYCURSOR - SCNG(yy_text);
7075
288
#line 1665 "Zend/zend_language_scanner.l"
7076
288
    {
7077
288
  if (PARSER_MODE()) {
7078
6
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7079
6
    RETURN_TOKEN(T_ERROR);
7080
6
  }
7081
282
  RETURN_TOKEN(T_DOUBLE_CAST);
7082
282
}
7083
0
#line 7084 "Zend/zend_language_scanner.c"
7084
4.46k
yy564:
7085
4.46k
    YYDEBUG(564, *YYCURSOR);
7086
4.46k
    yych = *++YYCURSOR;
7087
4.46k
    if (yych == 'G') goto yy646;
7088
4.22k
    if (yych == 'g') goto yy646;
7089
577
    goto yy86;
7090
2.85k
yy565:
7091
2.85k
    YYDEBUG(565, *YYCURSOR);
7092
2.85k
    ++YYCURSOR;
7093
2.85k
    YYFILL(1);
7094
2.85k
    yych = *YYCURSOR;
7095
2.85k
    YYDEBUG(566, *YYCURSOR);
7096
2.85k
    if (yych <= 0x1F) {
7097
639
      if (yych == '\t') goto yy565;
7098
272
      goto yy86;
7099
2.21k
    } else {
7100
2.21k
      if (yych <= ' ') goto yy565;
7101
1.56k
      if (yych == ')') goto yy648;
7102
651
      goto yy86;
7103
1.56k
    }
7104
344
yy567:
7105
344
    YYDEBUG(567, *YYCURSOR);
7106
344
    ++YYCURSOR;
7107
344
    YYDEBUG(568, *YYCURSOR);
7108
344
    yyleng = YYCURSOR - SCNG(yy_text);
7109
344
#line 1713 "Zend/zend_language_scanner.l"
7110
344
    {
7111
344
  RETURN_TOKEN(T_VOID_CAST);
7112
344
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
5.72k
yy569:
7115
5.72k
    YYDEBUG(569, *YYCURSOR);
7116
5.72k
    yych = *++YYCURSOR;
7117
5.72k
    if (yych == '\n') goto yy466;
7118
2.59k
    if (yych == '\r') goto yy468;
7119
728
    goto yy86;
7120
3.72k
yy570:
7121
3.72k
    YYDEBUG(570, *YYCURSOR);
7122
3.72k
    yyaccept = 4;
7123
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
7124
3.72k
    if (yych == 'C') goto yy650;
7125
3.13k
    if (yych == 'c') goto yy650;
7126
192
    goto yy48;
7127
2.94k
yy571:
7128
2.94k
    YYDEBUG(571, *YYCURSOR);
7129
2.94k
    yyaccept = 4;
7130
2.94k
    yych = *(YYMARKER = ++YYCURSOR);
7131
2.94k
    if (yych == 'L') goto yy651;
7132
2.08k
    if (yych == 'l') goto yy651;
7133
611
    goto yy48;
7134
5.25k
yy572:
7135
5.25k
    YYDEBUG(572, *YYCURSOR);
7136
5.25k
    yyaccept = 4;
7137
5.25k
    yych = *(YYMARKER = ++YYCURSOR);
7138
5.25k
    if (yych == 'U') goto yy652;
7139
3.98k
    if (yych == 'u') goto yy652;
7140
543
    goto yy48;
7141
5.60k
yy573:
7142
5.60k
    YYDEBUG(573, *YYCURSOR);
7143
5.60k
    yyaccept = 4;
7144
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
7145
5.60k
    if (yych == 'E') goto yy653;
7146
5.32k
    if (yych == 'e') goto yy653;
7147
319
    goto yy48;
7148
2.69k
yy574:
7149
2.69k
    YYDEBUG(574, *YYCURSOR);
7150
2.69k
    yyaccept = 4;
7151
2.69k
    yych = *(YYMARKER = ++YYCURSOR);
7152
2.69k
    if (yych == 'T') goto yy655;
7153
2.15k
    if (yych == 't') goto yy655;
7154
394
    goto yy48;
7155
3.40k
yy575:
7156
3.40k
    YYDEBUG(575, *YYCURSOR);
7157
3.40k
    yyaccept = 51;
7158
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
7159
3.40k
    if (yybm[256+yych] & 128) {
7160
731
      goto yy47;
7161
731
    }
7162
2.67k
    if (yych == '\\') goto yy164;
7163
2.58k
yy576:
7164
2.58k
    YYDEBUG(576, *YYCURSOR);
7165
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
7166
2.58k
#line 1457 "Zend/zend_language_scanner.l"
7167
2.58k
    {
7168
2.58k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7169
2.58k
}
7170
0
#line 7171 "Zend/zend_language_scanner.c"
7171
3.41k
yy577:
7172
3.41k
    YYDEBUG(577, *YYCURSOR);
7173
3.41k
    yyaccept = 4;
7174
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
7175
3.41k
    if (yych == 'L') goto yy657;
7176
3.20k
    if (yych == 'l') goto yy657;
7177
400
    goto yy48;
7178
7.27k
yy578:
7179
7.27k
    YYDEBUG(578, *YYCURSOR);
7180
7.27k
    yyaccept = 52;
7181
7.27k
    yych = *(YYMARKER = ++YYCURSOR);
7182
7.27k
    if (yych <= '\\') {
7183
3.86k
      if (yych <= 'D') {
7184
1.96k
        if (yych <= '/') goto yy579;
7185
765
        if (yych <= '9') goto yy47;
7186
532
        if (yych >= 'A') goto yy47;
7187
1.90k
      } else {
7188
1.90k
        if (yych <= 'E') goto yy658;
7189
632
        if (yych <= 'Z') goto yy47;
7190
403
        if (yych >= '\\') goto yy164;
7191
403
      }
7192
3.86k
    } else {
7193
3.40k
      if (yych <= 'd') {
7194
480
        if (yych == '_') goto yy47;
7195
275
        if (yych >= 'a') goto yy47;
7196
2.92k
      } else {
7197
2.92k
        if (yych <= 'e') goto yy658;
7198
1.21k
        if (yych <= 'z') goto yy47;
7199
828
        if (yych >= 0x80) goto yy47;
7200
828
      }
7201
3.40k
    }
7202
2.53k
yy579:
7203
2.53k
    YYDEBUG(579, *YYCURSOR);
7204
2.53k
    yyleng = YYCURSOR - SCNG(yy_text);
7205
2.53k
#line 1485 "Zend/zend_language_scanner.l"
7206
2.53k
    {
7207
2.53k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7208
2.53k
}
7209
0
#line 7210 "Zend/zend_language_scanner.c"
7210
3.15k
yy580:
7211
3.15k
    YYDEBUG(580, *YYCURSOR);
7212
3.15k
    yyaccept = 4;
7213
3.15k
    yych = *(YYMARKER = ++YYCURSOR);
7214
3.15k
    if (yych == 'T') goto yy659;
7215
1.76k
    if (yych == 't') goto yy659;
7216
502
    goto yy48;
7217
2.40k
yy581:
7218
2.40k
    YYDEBUG(581, *YYCURSOR);
7219
2.40k
    yyaccept = 4;
7220
2.40k
    yych = *(YYMARKER = ++YYCURSOR);
7221
2.40k
    if (yych == 'L') goto yy660;
7222
1.59k
    if (yych == 'l') goto yy660;
7223
346
    goto yy48;
7224
17.1k
yy582:
7225
17.1k
    YYDEBUG(582, *YYCURSOR);
7226
17.1k
    ++YYCURSOR;
7227
96.6k
yy583:
7228
96.6k
    YYDEBUG(583, *YYCURSOR);
7229
96.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7230
96.6k
#line 1573 "Zend/zend_language_scanner.l"
7231
96.6k
    {
7232
96.6k
  yyless(4);
7233
96.6k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7234
96.6k
}
7235
0
#line 7236 "Zend/zend_language_scanner.c"
7236
8.35k
yy584:
7237
8.35k
    YYDEBUG(584, *YYCURSOR);
7238
8.35k
    yyaccept = 53;
7239
8.35k
    yych = *(YYMARKER = ++YYCURSOR);
7240
8.35k
    if (yych == 'X') goto yy661;
7241
7.87k
    if (yych == 'x') goto yy661;
7242
5.01k
    goto yy583;
7243
6.70k
yy585:
7244
6.70k
    YYDEBUG(585, *YYCURSOR);
7245
6.70k
    yyaccept = 53;
7246
6.70k
    yych = *(YYMARKER = ++YYCURSOR);
7247
6.70k
    if (yych == 'M') goto yy662;
7248
5.64k
    if (yych == 'm') goto yy662;
7249
2.97k
    goto yy583;
7250
1.86M
yy586:
7251
1.86M
    YYDEBUG(586, *YYCURSOR);
7252
1.86M
    ++YYCURSOR;
7253
1.86M
    YYFILL(1);
7254
1.86M
    yych = *YYCURSOR;
7255
1.86M
    YYDEBUG(587, *YYCURSOR);
7256
1.86M
    if (yych <= '\n') {
7257
99.5k
      if (yych <= 0x00) goto yy86;
7258
89.5k
      if (yych <= '\t') goto yy586;
7259
63.5k
      goto yy495;
7260
1.76M
    } else {
7261
1.76M
      if (yych == '\r') goto yy495;
7262
1.45M
      goto yy586;
7263
1.76M
    }
7264
424k
yy588:
7265
424k
    YYDEBUG(588, *YYCURSOR);
7266
424k
    ++YYCURSOR;
7267
424k
    YYFILL(1);
7268
424k
    yych = *YYCURSOR;
7269
424k
    YYDEBUG(589, *YYCURSOR);
7270
424k
    if (yych <= 'D') {
7271
125k
      if (yych <= 0x1F) {
7272
19.5k
        if (yych <= '\t') {
7273
4.36k
          if (yych <= 0x00) goto yy86;
7274
3.82k
          if (yych <= 0x08) goto yy586;
7275
563
          goto yy588;
7276
15.1k
        } else {
7277
15.1k
          if (yych <= '\n') goto yy495;
7278
13.2k
          if (yych == '\r') goto yy495;
7279
9.08k
          goto yy586;
7280
13.2k
        }
7281
106k
      } else {
7282
106k
        if (yych <= '#') {
7283
23.7k
          if (yych <= ' ') goto yy588;
7284
20.6k
          if (yych <= '"') goto yy586;
7285
19.1k
          goto yy663;
7286
82.3k
        } else {
7287
82.3k
          if (yych == '/') goto yy664;
7288
23.1k
          if (yych <= '@') goto yy586;
7289
184
          goto yy665;
7290
23.1k
        }
7291
106k
      }
7292
298k
    } else {
7293
298k
      if (yych <= '`') {
7294
14.1k
        if (yych <= 'I') {
7295
10.2k
          if (yych <= 'E') goto yy666;
7296
5.78k
          if (yych <= 'H') goto yy665;
7297
5.30k
          goto yy667;
7298
5.78k
        } else {
7299
3.89k
          if (yych <= 'Z') goto yy665;
7300
2.30k
          if (yych == '_') goto yy665;
7301
367
          goto yy586;
7302
2.30k
        }
7303
284k
      } else {
7304
284k
        if (yych <= 'h') {
7305
236k
          if (yych == 'e') goto yy666;
7306
3.64k
          goto yy665;
7307
236k
        } else {
7308
48.0k
          if (yych <= 'i') goto yy667;
7309
18.5k
          if (yych <= 'z') goto yy665;
7310
8.83k
          if (yych <= 0x7F) goto yy586;
7311
6.85k
          goto yy665;
7312
8.83k
        }
7313
284k
      }
7314
298k
    }
7315
937k
yy590:
7316
937k
    YYDEBUG(590, *YYCURSOR);
7317
937k
    ++YYCURSOR;
7318
937k
    YYFILL(1);
7319
937k
    yych = *YYCURSOR;
7320
937k
    YYDEBUG(591, *YYCURSOR);
7321
937k
    if (yych <= 0x00) goto yy86;
7322
919k
    if (yych == '*') goto yy668;
7323
904k
    goto yy590;
7324
904k
yy592:
7325
8.56k
    YYDEBUG(592, *YYCURSOR);
7326
8.56k
    yyaccept = 4;
7327
8.56k
    yych = *(YYMARKER = ++YYCURSOR);
7328
8.56k
    if (yych == 'S') goto yy670;
7329
8.26k
    if (yych == 's') goto yy670;
7330
1.51k
    goto yy48;
7331
3.13k
yy593:
7332
3.13k
    YYDEBUG(593, *YYCURSOR);
7333
3.13k
    yyaccept = 4;
7334
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
7335
3.13k
    if (yych == 'Y') goto yy672;
7336
2.91k
    if (yych == 'y') goto yy672;
7337
305
    goto yy48;
7338
3.88k
yy594:
7339
3.88k
    YYDEBUG(594, *YYCURSOR);
7340
3.88k
    yyaccept = 4;
7341
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
7342
3.88k
    if (yych == 'H') goto yy674;
7343
3.63k
    if (yych == 'h') goto yy674;
7344
252
    goto yy48;
7345
22.7k
yy595:
7346
22.7k
    YYDEBUG(595, *YYCURSOR);
7347
22.7k
    yyaccept = 4;
7348
22.7k
    yych = *(YYMARKER = ++YYCURSOR);
7349
22.7k
    if (yych == 'O') goto yy676;
7350
21.9k
    if (yych == 'o') goto yy676;
7351
465
    goto yy48;
7352
2.85k
yy596:
7353
2.85k
    YYDEBUG(596, *YYCURSOR);
7354
2.85k
    yyaccept = 54;
7355
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
7356
2.85k
    if (yybm[256+yych] & 128) {
7357
1.12k
      goto yy47;
7358
1.12k
    }
7359
1.73k
    if (yych == '\\') goto yy164;
7360
1.72k
yy597:
7361
1.72k
    YYDEBUG(597, *YYCURSOR);
7362
1.72k
    yyleng = YYCURSOR - SCNG(yy_text);
7363
1.72k
#line 1749 "Zend/zend_language_scanner.l"
7364
1.72k
    {
7365
1.72k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7366
1.72k
}
7367
0
#line 7368 "Zend/zend_language_scanner.c"
7368
8.42k
yy598:
7369
8.42k
    YYDEBUG(598, *YYCURSOR);
7370
8.42k
    yyaccept = 4;
7371
8.42k
    yych = *(YYMARKER = ++YYCURSOR);
7372
8.42k
    if (yych == 'E') goto yy677;
7373
7.83k
    if (yych == 'e') goto yy677;
7374
2.03k
    goto yy48;
7375
10.5k
yy599:
7376
10.5k
    YYDEBUG(599, *YYCURSOR);
7377
10.5k
    yyaccept = 4;
7378
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
7379
10.5k
    if (yych == 'E') goto yy678;
7380
8.78k
    if (yych == 'e') goto yy678;
7381
1.21k
    goto yy48;
7382
3.86k
yy600:
7383
3.86k
    YYDEBUG(600, *YYCURSOR);
7384
3.86k
    yyaccept = 4;
7385
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
7386
3.86k
    if (yych == 'C') goto yy680;
7387
3.03k
    if (yych == 'c') goto yy680;
7388
732
    goto yy48;
7389
4.64k
yy601:
7390
4.64k
    YYDEBUG(601, *YYCURSOR);
7391
4.64k
    yyaccept = 4;
7392
4.64k
    yych = *(YYMARKER = ++YYCURSOR);
7393
4.64k
    if (yych == 'D') goto yy681;
7394
4.38k
    if (yych == 'd') goto yy681;
7395
265
    goto yy48;
7396
4.62k
yy602:
7397
4.62k
    YYDEBUG(602, *YYCURSOR);
7398
4.62k
    yyaccept = 4;
7399
4.62k
    yych = *(YYMARKER = ++YYCURSOR);
7400
4.62k
    if (yych == 'A') goto yy682;
7401
4.23k
    if (yych == 'a') goto yy682;
7402
573
    goto yy48;
7403
12.1k
yy603:
7404
12.1k
    YYDEBUG(603, *YYCURSOR);
7405
12.1k
    yyaccept = 4;
7406
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
7407
12.1k
    if (yych == 'A') goto yy683;
7408
11.8k
    if (yych == 'a') goto yy683;
7409
669
    goto yy48;
7410
5.99k
yy604:
7411
5.99k
    YYDEBUG(604, *YYCURSOR);
7412
5.99k
    yyaccept = 4;
7413
5.99k
    yych = *(YYMARKER = ++YYCURSOR);
7414
5.99k
    if (yych == 'E') goto yy684;
7415
5.35k
    if (yych == 'e') goto yy684;
7416
695
    goto yy48;
7417
7.66k
yy605:
7418
7.66k
    YYDEBUG(605, *YYCURSOR);
7419
7.66k
    yyaccept = 4;
7420
7.66k
    yych = *(YYMARKER = ++YYCURSOR);
7421
7.66k
    if (yych == 'T') goto yy686;
7422
6.23k
    if (yych == 't') goto yy686;
7423
540
    goto yy48;
7424
14.5k
yy606:
7425
14.5k
    YYDEBUG(606, *YYCURSOR);
7426
14.5k
    yyaccept = 55;
7427
14.5k
    yych = *(YYMARKER = ++YYCURSOR);
7428
14.5k
    if (yybm[256+yych] & 128) {
7429
563
      goto yy47;
7430
563
    }
7431
13.9k
    if (yych == '(') goto yy687;
7432
11.4k
    if (yych == '\\') goto yy164;
7433
12.5k
yy607:
7434
12.5k
    YYDEBUG(607, *YYCURSOR);
7435
12.5k
    yyleng = YYCURSOR - SCNG(yy_text);
7436
12.5k
#line 1797 "Zend/zend_language_scanner.l"
7437
12.5k
    {
7438
12.5k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7439
12.5k
}
7440
0
#line 7441 "Zend/zend_language_scanner.c"
7441
3.04k
yy608:
7442
3.04k
    YYDEBUG(608, *YYCURSOR);
7443
3.04k
    yyaccept = 4;
7444
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
7445
3.04k
    if (yych == 'L') goto yy688;
7446
2.84k
    if (yych == 'l') goto yy688;
7447
867
    goto yy48;
7448
8.74k
yy609:
7449
8.74k
    YYDEBUG(609, *YYCURSOR);
7450
8.74k
    yyaccept = 4;
7451
8.74k
    yych = *(YYMARKER = ++YYCURSOR);
7452
8.74k
    if (yych == 'E') goto yy689;
7453
7.83k
    if (yych == 'e') goto yy689;
7454
602
    goto yy48;
7455
4.74k
yy610:
7456
4.74k
    YYDEBUG(610, *YYCURSOR);
7457
4.74k
    yyaccept = 56;
7458
4.74k
    yych = *(YYMARKER = ++YYCURSOR);
7459
4.74k
    if (yybm[256+yych] & 128) {
7460
814
      goto yy47;
7461
814
    }
7462
3.93k
    if (yych == '\\') goto yy164;
7463
3.90k
yy611:
7464
3.90k
    YYDEBUG(611, *YYCURSOR);
7465
3.90k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
3.90k
#line 1418 "Zend/zend_language_scanner.l"
7467
3.90k
    {
7468
3.90k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7469
3.90k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
5.42k
yy612:
7472
5.42k
    YYDEBUG(612, *YYCURSOR);
7473
5.42k
    yyaccept = 57;
7474
5.42k
    yych = *(YYMARKER = ++YYCURSOR);
7475
5.42k
    if (yybm[256+yych] & 128) {
7476
551
      goto yy47;
7477
551
    }
7478
4.87k
    if (yych == '\\') goto yy164;
7479
4.87k
yy613:
7480
4.87k
    YYDEBUG(613, *YYCURSOR);
7481
4.87k
    yyleng = YYCURSOR - SCNG(yy_text);
7482
4.87k
#line 1765 "Zend/zend_language_scanner.l"
7483
4.87k
    {
7484
4.87k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7485
4.87k
}
7486
0
#line 7487 "Zend/zend_language_scanner.c"
7487
3.19k
yy614:
7488
3.19k
    YYDEBUG(614, *YYCURSOR);
7489
3.19k
    yyaccept = 58;
7490
3.19k
    yych = *(YYMARKER = ++YYCURSOR);
7491
3.19k
    if (yybm[256+yych] & 128) {
7492
475
      goto yy47;
7493
475
    }
7494
2.72k
    if (yych == '\\') goto yy164;
7495
2.68k
yy615:
7496
2.68k
    YYDEBUG(615, *YYCURSOR);
7497
2.68k
    yyleng = YYCURSOR - SCNG(yy_text);
7498
2.68k
#line 1513 "Zend/zend_language_scanner.l"
7499
2.68k
    {
7500
2.68k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7501
2.68k
}
7502
0
#line 7503 "Zend/zend_language_scanner.c"
7503
218k
yy616:
7504
218k
    YYDEBUG(616, *YYCURSOR);
7505
218k
    ++YYCURSOR;
7506
218k
    YYFILL(5);
7507
218k
    yych = *YYCURSOR;
7508
218k
    YYDEBUG(617, *YYCURSOR);
7509
218k
    if (yych <= '"') {
7510
73.3k
      if (yych <= '\f') {
7511
66.3k
        if (yych <= 0x08) goto yy86;
7512
65.3k
        if (yych <= '\n') goto yy616;
7513
327
        goto yy86;
7514
65.3k
      } else {
7515
6.97k
        if (yych <= '\r') goto yy616;
7516
2.38k
        if (yych == ' ') goto yy616;
7517
509
        goto yy86;
7518
2.38k
      }
7519
145k
    } else {
7520
145k
      if (yych <= 'E') {
7521
132k
        if (yych <= '#') goto yy618;
7522
11.6k
        if (yych == '/') goto yy619;
7523
9.28k
        goto yy86;
7524
12.8k
      } else {
7525
12.8k
        if (yych <= 'F') goto yy691;
7526
11.6k
        if (yych == 'f') goto yy691;
7527
5.41k
        goto yy86;
7528
11.6k
      }
7529
145k
    }
7530
146k
yy618:
7531
146k
    YYDEBUG(618, *YYCURSOR);
7532
146k
    ++YYCURSOR;
7533
146k
    YYFILL(1);
7534
146k
    yych = *YYCURSOR;
7535
146k
    if (yych <= '\f') {
7536
18.8k
      if (yych <= 0x00) goto yy86;
7537
18.2k
      if (yych == '\n') goto yy694;
7538
858
      goto yy692;
7539
127k
    } else {
7540
127k
      if (yych <= '\r') goto yy694;
7541
13.0k
      if (yych == '[') goto yy86;
7542
12.8k
      goto yy692;
7543
13.0k
    }
7544
2.93k
yy619:
7545
2.93k
    YYDEBUG(619, *YYCURSOR);
7546
2.93k
    ++YYCURSOR;
7547
2.93k
    YYFILL(1);
7548
2.93k
    yych = *YYCURSOR;
7549
2.93k
    if (yych == '*') goto yy696;
7550
1.44k
    if (yych == '/') goto yy692;
7551
1.07k
    goto yy86;
7552
6.23k
yy620:
7553
6.23k
    YYDEBUG(620, *YYCURSOR);
7554
6.23k
    yyaccept = 4;
7555
6.23k
    yych = *(YYMARKER = ++YYCURSOR);
7556
6.23k
    if (yych == 'S') goto yy698;
7557
6.11k
    if (yych == 's') goto yy698;
7558
845
    goto yy48;
7559
2.10k
yy621:
7560
2.10k
    YYDEBUG(621, *YYCURSOR);
7561
2.10k
    yyaccept = 4;
7562
2.10k
    yych = *(YYMARKER = ++YYCURSOR);
7563
2.10k
    if (yych == '_') goto yy699;
7564
433
    goto yy48;
7565
3.38k
yy622:
7566
3.38k
    YYDEBUG(622, *YYCURSOR);
7567
3.38k
    yyaccept = 4;
7568
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
7569
3.38k
    if (yych == '_') goto yy701;
7570
1.34k
    goto yy48;
7571
8.94k
yy623:
7572
8.94k
    YYDEBUG(623, *YYCURSOR);
7573
8.94k
    yyaccept = 4;
7574
8.94k
    yych = *(YYMARKER = ++YYCURSOR);
7575
8.94k
    if (yych == 'T') goto yy702;
7576
4.56k
    if (yych == 't') goto yy702;
7577
1.84k
    goto yy48;
7578
5.66k
yy624:
7579
5.66k
    YYDEBUG(624, *YYCURSOR);
7580
5.66k
    yyaccept = 4;
7581
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
7582
5.66k
    if (yych == '_') goto yy703;
7583
559
    goto yy48;
7584
2.33k
yy625:
7585
2.33k
    YYDEBUG(625, *YYCURSOR);
7586
2.33k
    yyaccept = 4;
7587
2.33k
    yych = *(YYMARKER = ++YYCURSOR);
7588
2.33k
    if (yych == '_') goto yy704;
7589
288
    goto yy48;
7590
5.86k
yy626:
7591
5.86k
    YYDEBUG(626, *YYCURSOR);
7592
5.86k
    yyaccept = 4;
7593
5.86k
    yych = *(YYMARKER = ++YYCURSOR);
7594
5.86k
    if (yych == 'O') goto yy705;
7595
5.22k
    if (yych == 'o') goto yy705;
7596
628
    goto yy48;
7597
5.89k
yy627:
7598
5.89k
    YYDEBUG(627, *YYCURSOR);
7599
5.89k
    yyaccept = 4;
7600
5.89k
    yych = *(YYMARKER = ++YYCURSOR);
7601
5.89k
    if (yych == 'S') goto yy706;
7602
5.55k
    if (yych == 's') goto yy706;
7603
317
    goto yy48;
7604
4.36k
yy628:
7605
4.36k
    YYDEBUG(628, *YYCURSOR);
7606
4.36k
    yyaccept = 4;
7607
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
7608
4.36k
    if (yych == 'E') goto yy707;
7609
1.98k
    if (yych == 'e') goto yy707;
7610
528
    goto yy48;
7611
4.61k
yy629:
7612
4.61k
    YYDEBUG(629, *YYCURSOR);
7613
4.61k
    yyaccept = 4;
7614
4.61k
    yych = *(YYMARKER = ++YYCURSOR);
7615
4.61k
    if (yych == 'T') goto yy708;
7616
4.08k
    if (yych == 't') goto yy708;
7617
1.20k
    goto yy48;
7618
37.6k
yy630:
7619
37.6k
    YYDEBUG(630, *YYCURSOR);
7620
37.6k
    ++YYCURSOR;
7621
37.6k
    YYFILL(1);
7622
37.6k
    yych = *YYCURSOR;
7623
37.6k
    if (yych <= '\r') {
7624
31.5k
      if (yych <= '\t') {
7625
828
        if (yych <= 0x00) goto yy86;
7626
609
        goto yy443;
7627
30.6k
      } else {
7628
30.6k
        if (yych <= '\n') goto yy709;
7629
21.7k
        if (yych <= '\f') goto yy443;
7630
21.4k
        goto yy709;
7631
21.7k
      }
7632
31.5k
    } else {
7633
6.09k
      if (yych <= '*') {
7634
3.11k
        if (yych <= ')') goto yy443;
7635
800
        goto yy547;
7636
3.11k
      } else {
7637
2.98k
        if (yych == '[') goto yy230;
7638
2.76k
        goto yy443;
7639
2.98k
      }
7640
6.09k
    }
7641
1.41k
yy631:
7642
1.41k
    YYDEBUG(631, *YYCURSOR);
7643
1.41k
    yyaccept = 26;
7644
1.41k
    YYMARKER = ++YYCURSOR;
7645
1.41k
    YYFILL(1);
7646
1.41k
    yych = *YYCURSOR;
7647
1.41k
    if (yybm[0+yych] & 4) {
7648
926
      goto yy230;
7649
926
    }
7650
490
    if (yych <= 0x00) goto yy89;
7651
287
    goto yy355;
7652
1.80k
yy632:
7653
1.80k
    YYDEBUG(632, *YYCURSOR);
7654
1.80k
    ++YYCURSOR;
7655
1.80k
    YYFILL(1);
7656
1.80k
    yych = *YYCURSOR;
7657
1.80k
    if (yybm[0+yych] & 64) {
7658
233
      goto yy355;
7659
233
    }
7660
1.57k
    if (yych <= 0x00) goto yy86;
7661
1.41k
    if (yych == '.') goto yy711;
7662
463
    goto yy230;
7663
5.67k
yy633:
7664
5.67k
    YYDEBUG(633, *YYCURSOR);
7665
5.67k
    ++YYCURSOR;
7666
5.67k
    YYFILL(1);
7667
5.67k
    yych = *YYCURSOR;
7668
5.67k
    if (yych <= '*') {
7669
4.58k
      if (yych <= 0x00) goto yy86;
7670
4.36k
      if (yych <= ')') goto yy230;
7671
4.00k
      goto yy712;
7672
4.36k
    } else {
7673
1.08k
      if (yych == '/') goto yy443;
7674
389
      goto yy230;
7675
1.08k
    }
7676
908
yy634:
7677
908
    YYDEBUG(634, *YYCURSOR);
7678
908
    ++YYCURSOR;
7679
908
    YYDEBUG(635, *YYCURSOR);
7680
908
    yyleng = YYCURSOR - SCNG(yy_text);
7681
908
#line 1687 "Zend/zend_language_scanner.l"
7682
908
    {
7683
908
  RETURN_TOKEN(T_ARRAY_CAST);
7684
908
}
7685
0
#line 7686 "Zend/zend_language_scanner.c"
7686
3.76k
yy636:
7687
3.76k
    YYDEBUG(636, *YYCURSOR);
7688
3.76k
    ++YYCURSOR;
7689
3.76k
    YYFILL(1);
7690
3.76k
    yych = *YYCURSOR;
7691
3.76k
    YYDEBUG(637, *YYCURSOR);
7692
3.76k
    if (yych <= 0x1F) {
7693
594
      if (yych == '\t') goto yy636;
7694
314
      goto yy86;
7695
3.16k
    } else {
7696
3.16k
      if (yych <= ' ') goto yy636;
7697
2.94k
      if (yych == ')') goto yy713;
7698
595
      goto yy86;
7699
2.94k
    }
7700
2.61k
yy638:
7701
2.61k
    YYDEBUG(638, *YYCURSOR);
7702
2.61k
    yych = *++YYCURSOR;
7703
2.61k
    if (yych == 'N') goto yy715;
7704
1.47k
    if (yych == 'n') goto yy715;
7705
461
    goto yy86;
7706
2.37k
yy639:
7707
2.37k
    YYDEBUG(639, *YYCURSOR);
7708
2.37k
    ++YYCURSOR;
7709
2.37k
    YYFILL(1);
7710
2.37k
    yych = *YYCURSOR;
7711
2.37k
    YYDEBUG(640, *YYCURSOR);
7712
2.37k
    if (yych <= 0x1F) {
7713
292
      if (yych == '\t') goto yy639;
7714
218
      goto yy86;
7715
2.08k
    } else {
7716
2.08k
      if (yych <= ' ') goto yy639;
7717
1.74k
      if (yych == ')') goto yy717;
7718
971
      goto yy86;
7719
1.74k
    }
7720
1.33k
yy641:
7721
1.33k
    YYDEBUG(641, *YYCURSOR);
7722
1.33k
    ++YYCURSOR;
7723
1.33k
    YYDEBUG(642, *YYCURSOR);
7724
1.33k
    yyleng = YYCURSOR - SCNG(yy_text);
7725
1.33k
#line 1651 "Zend/zend_language_scanner.l"
7726
1.33k
    {
7727
1.33k
  RETURN_TOKEN(T_DOUBLE_CAST);
7728
1.33k
}
7729
0
#line 7730 "Zend/zend_language_scanner.c"
7730
3.59k
yy643:
7731
3.59k
    YYDEBUG(643, *YYCURSOR);
7732
3.59k
    yych = *++YYCURSOR;
7733
3.59k
    if (yych == 'R') goto yy719;
7734
2.69k
    if (yych == 'r') goto yy719;
7735
1.09k
    goto yy86;
7736
3.19k
yy644:
7737
3.19k
    YYDEBUG(644, *YYCURSOR);
7738
3.19k
    ++YYCURSOR;
7739
3.19k
    YYFILL(1);
7740
3.19k
    yych = *YYCURSOR;
7741
3.19k
    YYDEBUG(645, *YYCURSOR);
7742
3.19k
    if (yych <= 0x1F) {
7743
568
      if (yych == '\t') goto yy644;
7744
300
      goto yy86;
7745
2.62k
    } else {
7746
2.62k
      if (yych <= ' ') goto yy644;
7747
1.07k
      if (yych == ')') goto yy721;
7748
638
      goto yy86;
7749
1.07k
    }
7750
4.84k
yy646:
7751
4.84k
    YYDEBUG(646, *YYCURSOR);
7752
4.84k
    ++YYCURSOR;
7753
4.84k
    YYFILL(1);
7754
4.84k
    yych = *YYCURSOR;
7755
4.84k
    YYDEBUG(647, *YYCURSOR);
7756
4.84k
    if (yych <= 0x1F) {
7757
608
      if (yych == '\t') goto yy646;
7758
241
      goto yy86;
7759
4.23k
    } else {
7760
4.23k
      if (yych <= ' ') goto yy646;
7761
3.64k
      if (yych == ')') goto yy723;
7762
1.41k
      goto yy86;
7763
3.64k
    }
7764
918
yy648:
7765
918
    YYDEBUG(648, *YYCURSOR);
7766
918
    ++YYCURSOR;
7767
918
    YYDEBUG(649, *YYCURSOR);
7768
918
    yyleng = YYCURSOR - SCNG(yy_text);
7769
918
#line 1709 "Zend/zend_language_scanner.l"
7770
918
    {
7771
918
  RETURN_TOKEN(T_UNSET_CAST);
7772
918
}
7773
0
#line 7774 "Zend/zend_language_scanner.c"
7774
3.53k
yy650:
7775
3.53k
    YYDEBUG(650, *YYCURSOR);
7776
3.53k
    yyaccept = 4;
7777
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
7778
3.53k
    if (yych == 'T') goto yy725;
7779
3.12k
    if (yych == 't') goto yy725;
7780
575
    goto yy48;
7781
2.33k
yy651:
7782
2.33k
    YYDEBUG(651, *YYCURSOR);
7783
2.33k
    yyaccept = 4;
7784
2.33k
    yych = *(YYMARKER = ++YYCURSOR);
7785
2.33k
    if (yych == 'E') goto yy727;
7786
1.91k
    if (yych == 'e') goto yy727;
7787
555
    goto yy48;
7788
4.71k
yy652:
7789
4.71k
    YYDEBUG(652, *YYCURSOR);
7790
4.71k
    yyaccept = 4;
7791
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
7792
4.71k
    if (yych == 'E') goto yy729;
7793
3.94k
    if (yych == 'e') goto yy729;
7794
1.10k
    goto yy48;
7795
5.28k
yy653:
7796
5.28k
    YYDEBUG(653, *YYCURSOR);
7797
5.28k
    yyaccept = 59;
7798
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
7799
5.28k
    if (yybm[256+yych] & 128) {
7800
389
      goto yy47;
7801
389
    }
7802
4.89k
    if (yych == '\\') goto yy164;
7803
4.89k
yy654:
7804
4.89k
    YYDEBUG(654, *YYCURSOR);
7805
4.89k
    yyleng = YYCURSOR - SCNG(yy_text);
7806
4.89k
#line 1497 "Zend/zend_language_scanner.l"
7807
4.89k
    {
7808
4.89k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7809
4.89k
}
7810
0
#line 7811 "Zend/zend_language_scanner.c"
7811
2.30k
yy655:
7812
2.30k
    YYDEBUG(655, *YYCURSOR);
7813
2.30k
    yyaccept = 60;
7814
2.30k
    yych = *(YYMARKER = ++YYCURSOR);
7815
2.30k
    if (yybm[256+yych] & 128) {
7816
662
      goto yy47;
7817
662
    }
7818
1.64k
    if (yych == '\\') goto yy164;
7819
1.55k
yy656:
7820
1.55k
    YYDEBUG(656, *YYCURSOR);
7821
1.55k
    yyleng = YYCURSOR - SCNG(yy_text);
7822
1.55k
#line 1529 "Zend/zend_language_scanner.l"
7823
1.55k
    {
7824
1.55k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7825
1.55k
}
7826
0
#line 7827 "Zend/zend_language_scanner.c"
7827
3.01k
yy657:
7828
3.01k
    YYDEBUG(657, *YYCURSOR);
7829
3.01k
    yyaccept = 4;
7830
3.01k
    yych = *(YYMARKER = ++YYCURSOR);
7831
3.01k
    if (yych == 'A') goto yy731;
7832
2.80k
    if (yych == 'a') goto yy731;
7833
477
    goto yy48;
7834
2.98k
yy658:
7835
2.98k
    YYDEBUG(658, *YYCURSOR);
7836
2.98k
    yyaccept = 4;
7837
2.98k
    yych = *(YYMARKER = ++YYCURSOR);
7838
2.98k
    if (yych == 'A') goto yy732;
7839
1.95k
    if (yych == 'a') goto yy732;
7840
297
    goto yy48;
7841
2.65k
yy659:
7842
2.65k
    YYDEBUG(659, *YYCURSOR);
7843
2.65k
    yyaccept = 4;
7844
2.65k
    yych = *(YYMARKER = ++YYCURSOR);
7845
2.65k
    if (yych == 'C') goto yy733;
7846
1.92k
    if (yych == 'c') goto yy733;
7847
877
    goto yy48;
7848
2.06k
yy660:
7849
2.06k
    YYDEBUG(660, *YYCURSOR);
7850
2.06k
    yyaccept = 4;
7851
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
7852
2.06k
    if (yych == 'E') goto yy734;
7853
1.41k
    if (yych == 'e') goto yy734;
7854
250
    goto yy48;
7855
3.33k
yy661:
7856
3.33k
    YYDEBUG(661, *YYCURSOR);
7857
3.33k
    yych = *++YYCURSOR;
7858
3.33k
    if (yych == 'T') goto yy736;
7859
3.04k
    if (yych == 't') goto yy736;
7860
361
    goto yy86;
7861
3.72k
yy662:
7862
3.72k
    YYDEBUG(662, *YYCURSOR);
7863
3.72k
    yych = *++YYCURSOR;
7864
3.72k
    if (yych == 'P') goto yy737;
7865
2.84k
    if (yych == 'p') goto yy737;
7866
503
    goto yy86;
7867
19.1k
yy663:
7868
19.1k
    YYDEBUG(663, *YYCURSOR);
7869
19.1k
    ++YYCURSOR;
7870
19.1k
    YYFILL(1);
7871
19.1k
    yych = *YYCURSOR;
7872
19.1k
    if (yych <= '\n') {
7873
13.5k
      if (yych <= 0x00) goto yy86;
7874
13.3k
      if (yych <= '\t') goto yy586;
7875
12.9k
      goto yy588;
7876
13.3k
    } else {
7877
5.62k
      if (yych == '\r') goto yy588;
7878
3.13k
      goto yy586;
7879
5.62k
    }
7880
59.2k
yy664:
7881
59.2k
    YYDEBUG(664, *YYCURSOR);
7882
59.2k
    ++YYCURSOR;
7883
59.2k
    YYFILL(1);
7884
59.2k
    yych = *YYCURSOR;
7885
59.2k
    if (yych <= '\f') {
7886
813
      if (yych <= 0x00) goto yy86;
7887
521
      if (yych == '\n') goto yy495;
7888
314
      goto yy586;
7889
58.3k
    } else {
7890
58.3k
      if (yych <= '\r') goto yy495;
7891
57.9k
      if (yych == '*') goto yy738;
7892
7.91k
      goto yy586;
7893
57.9k
    }
7894
24.3k
yy665:
7895
24.3k
    YYDEBUG(665, *YYCURSOR);
7896
24.3k
    yyaccept = 53;
7897
24.3k
    YYMARKER = ++YYCURSOR;
7898
24.3k
    YYFILL(1);
7899
24.3k
    yych = *YYCURSOR;
7900
24.3k
    if (yych <= '\n') {
7901
2.08k
      if (yych <= 0x00) goto yy583;
7902
1.85k
      if (yych <= '\t') goto yy586;
7903
930
      goto yy495;
7904
22.3k
    } else {
7905
22.3k
      if (yych == '\r') goto yy495;
7906
21.5k
      goto yy586;
7907
22.3k
    }
7908
237k
yy666:
7909
237k
    YYDEBUG(666, *YYCURSOR);
7910
237k
    yyaccept = 53;
7911
237k
    YYMARKER = ++YYCURSOR;
7912
237k
    YYFILL(1);
7913
237k
    yych = *YYCURSOR;
7914
237k
    if (yych <= '\r') {
7915
37.4k
      if (yych <= '\t') {
7916
21.9k
        if (yych <= 0x00) goto yy583;
7917
21.7k
        goto yy586;
7918
21.9k
      } else {
7919
15.4k
        if (yych <= '\n') goto yy495;
7920
14.6k
        if (yych <= '\f') goto yy586;
7921
4.57k
        goto yy495;
7922
14.6k
      }
7923
199k
    } else {
7924
199k
      if (yych <= 'X') {
7925
130k
        if (yych <= 'W') goto yy586;
7926
2.89k
        goto yy740;
7927
130k
      } else {
7928
68.8k
        if (yych == 'x') goto yy740;
7929
55.8k
        goto yy586;
7930
68.8k
      }
7931
199k
    }
7932
34.8k
yy667:
7933
34.8k
    YYDEBUG(667, *YYCURSOR);
7934
34.8k
    yyaccept = 53;
7935
34.8k
    YYMARKER = ++YYCURSOR;
7936
34.8k
    YYFILL(1);
7937
34.8k
    yych = *YYCURSOR;
7938
34.8k
    if (yych <= '\r') {
7939
1.67k
      if (yych <= '\t') {
7940
400
        if (yych <= 0x00) goto yy583;
7941
180
        goto yy586;
7942
1.27k
      } else {
7943
1.27k
        if (yych <= '\n') goto yy495;
7944
1.06k
        if (yych <= '\f') goto yy586;
7945
769
        goto yy495;
7946
1.06k
      }
7947
33.1k
    } else {
7948
33.1k
      if (yych <= 'M') {
7949
5.32k
        if (yych <= 'L') goto yy586;
7950
4.53k
        goto yy741;
7951
27.8k
      } else {
7952
27.8k
        if (yych == 'm') goto yy741;
7953
2.52k
        goto yy586;
7954
27.8k
      }
7955
33.1k
    }
7956
20.0k
yy668:
7957
20.0k
    YYDEBUG(668, *YYCURSOR);
7958
20.0k
    ++YYCURSOR;
7959
20.0k
    YYFILL(1);
7960
20.0k
    yych = *YYCURSOR;
7961
20.0k
    YYDEBUG(669, *YYCURSOR);
7962
20.0k
    if (yych <= '*') {
7963
7.74k
      if (yych <= 0x00) goto yy86;
7964
6.55k
      if (yych <= ')') goto yy590;
7965
1.79k
      goto yy668;
7966
12.3k
    } else {
7967
12.3k
      if (yych == '/') goto yy495;
7968
2.72k
      goto yy590;
7969
12.3k
    }
7970
7.05k
yy670:
7971
7.05k
    YYDEBUG(670, *YYCURSOR);
7972
7.05k
    yyaccept = 61;
7973
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
7974
7.05k
    if (yybm[256+yych] & 128) {
7975
579
      goto yy47;
7976
579
    }
7977
6.47k
    if (yych == '\\') goto yy164;
7978
6.42k
yy671:
7979
6.42k
    YYDEBUG(671, *YYCURSOR);
7980
6.42k
    yyleng = YYCURSOR - SCNG(yy_text);
7981
6.42k
#line 1578 "Zend/zend_language_scanner.l"
7982
6.42k
    {
7983
6.42k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7984
6.42k
}
7985
0
#line 7986 "Zend/zend_language_scanner.c"
7986
2.82k
yy672:
7987
2.82k
    YYDEBUG(672, *YYCURSOR);
7988
2.82k
    yyaccept = 62;
7989
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
7990
2.82k
    if (yybm[256+yych] & 128) {
7991
563
      goto yy47;
7992
563
    }
7993
2.26k
    if (yych == '\\') goto yy164;
7994
2.09k
yy673:
7995
2.09k
    YYDEBUG(673, *YYCURSOR);
7996
2.09k
    yyleng = YYCURSOR - SCNG(yy_text);
7997
2.09k
#line 1445 "Zend/zend_language_scanner.l"
7998
2.09k
    {
7999
2.09k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8000
2.09k
}
8001
0
#line 8002 "Zend/zend_language_scanner.c"
8002
3.63k
yy674:
8003
3.63k
    YYDEBUG(674, *YYCURSOR);
8004
3.63k
    yyaccept = 63;
8005
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
8006
3.63k
    if (yybm[256+yych] & 128) {
8007
505
      goto yy47;
8008
505
    }
8009
3.12k
    if (yych == '\\') goto yy164;
8010
3.11k
yy675:
8011
3.11k
    YYDEBUG(675, *YYCURSOR);
8012
3.11k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
3.11k
#line 1489 "Zend/zend_language_scanner.l"
8014
3.11k
    {
8015
3.11k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8016
3.11k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
22.3k
yy676:
8019
22.3k
    YYDEBUG(676, *YYCURSOR);
8020
22.3k
    yyaccept = 4;
8021
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
8022
22.3k
    if (yych == 'N') goto yy742;
8023
21.9k
    if (yych == 'n') goto yy742;
8024
843
    goto yy48;
8025
6.39k
yy677:
8026
6.39k
    YYDEBUG(677, *YYCURSOR);
8027
6.39k
    yyaccept = 4;
8028
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
8029
6.39k
    if (yych == 'N') goto yy744;
8030
5.94k
    if (yych == 'n') goto yy744;
8031
1.58k
    goto yy48;
8032
9.32k
yy678:
8033
9.32k
    YYDEBUG(678, *YYCURSOR);
8034
9.32k
    yyaccept = 64;
8035
9.32k
    yych = *(YYMARKER = ++YYCURSOR);
8036
9.32k
    if (yych <= '\\') {
8037
2.77k
      if (yych <= '@') {
8038
2.15k
        if (yych <= '/') goto yy679;
8039
752
        if (yych <= '9') goto yy47;
8040
752
      } else {
8041
616
        if (yych <= 'Z') goto yy47;
8042
451
        if (yych >= '\\') goto yy164;
8043
451
      }
8044
6.55k
    } else {
8045
6.55k
      if (yych <= '`') {
8046
5.47k
        if (yych == '_') goto yy745;
8047
5.47k
      } else {
8048
1.08k
        if (yych <= 'z') goto yy47;
8049
573
        if (yych >= 0x80) goto yy47;
8050
573
      }
8051
6.55k
    }
8052
3.01k
yy679:
8053
3.01k
    YYDEBUG(679, *YYCURSOR);
8054
3.01k
    yyleng = YYCURSOR - SCNG(yy_text);
8055
3.01k
#line 1721 "Zend/zend_language_scanner.l"
8056
3.01k
    {
8057
3.01k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8058
3.01k
}
8059
0
#line 8060 "Zend/zend_language_scanner.c"
8060
3.13k
yy680:
8061
3.13k
    YYDEBUG(680, *YYCURSOR);
8062
3.13k
    yyaccept = 4;
8063
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
8064
3.13k
    if (yych == 'E') goto yy746;
8065
2.30k
    if (yych == 'e') goto yy746;
8066
470
    goto yy48;
8067
4.38k
yy681:
8068
4.38k
    YYDEBUG(681, *YYCURSOR);
8069
4.38k
    yyaccept = 4;
8070
4.38k
    yych = *(YYMARKER = ++YYCURSOR);
8071
4.38k
    if (yych == 'O') goto yy747;
8072
4.19k
    if (yych == 'o') goto yy747;
8073
774
    goto yy48;
8074
4.04k
yy682:
8075
4.04k
    YYDEBUG(682, *YYCURSOR);
8076
4.04k
    yyaccept = 4;
8077
4.04k
    yych = *(YYMARKER = ++YYCURSOR);
8078
4.04k
    if (yych == 'C') goto yy748;
8079
3.78k
    if (yych == 'c') goto yy748;
8080
819
    goto yy48;
8081
11.4k
yy683:
8082
11.4k
    YYDEBUG(683, *YYCURSOR);
8083
11.4k
    yyaccept = 4;
8084
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
8085
11.4k
    if (yych == 'C') goto yy749;
8086
9.81k
    if (yych == 'c') goto yy749;
8087
711
    goto yy48;
8088
5.30k
yy684:
8089
5.30k
    YYDEBUG(684, *YYCURSOR);
8090
5.30k
    yyaccept = 65;
8091
5.30k
    yych = *(YYMARKER = ++YYCURSOR);
8092
5.30k
    if (yybm[256+yych] & 128) {
8093
598
      goto yy47;
8094
598
    }
8095
4.70k
    if (yych == '(') goto yy750;
8096
2.84k
    if (yych == '\\') goto yy164;
8097
4.25k
yy685:
8098
4.25k
    YYDEBUG(685, *YYCURSOR);
8099
4.25k
    yyleng = YYCURSOR - SCNG(yy_text);
8100
4.25k
#line 1777 "Zend/zend_language_scanner.l"
8101
4.25k
    {
8102
4.25k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8103
4.25k
}
8104
0
#line 8105 "Zend/zend_language_scanner.c"
8105
7.12k
yy686:
8106
7.12k
    YYDEBUG(686, *YYCURSOR);
8107
7.12k
    yyaccept = 4;
8108
7.12k
    yych = *(YYMARKER = ++YYCURSOR);
8109
7.12k
    if (yych == 'E') goto yy751;
8110
5.68k
    if (yych == 'e') goto yy751;
8111
926
    goto yy48;
8112
2.53k
yy687:
8113
2.53k
    YYDEBUG(687, *YYCURSOR);
8114
2.53k
    yych = *++YYCURSOR;
8115
2.53k
    if (yych == 'S') goto yy752;
8116
1.89k
    if (yych == 's') goto yy752;
8117
308
    goto yy86;
8118
2.18k
yy688:
8119
2.18k
    YYDEBUG(688, *YYCURSOR);
8120
2.18k
    yyaccept = 4;
8121
2.18k
    yych = *(YYMARKER = ++YYCURSOR);
8122
2.18k
    if (yych == 'Y') goto yy753;
8123
2.01k
    if (yych == 'y') goto yy753;
8124
620
    goto yy48;
8125
8.14k
yy689:
8126
8.14k
    YYDEBUG(689, *YYCURSOR);
8127
8.14k
    yyaccept = 66;
8128
8.14k
    yych = *(YYMARKER = ++YYCURSOR);
8129
8.14k
    if (yych <= '\\') {
8130
2.87k
      if (yych <= '@') {
8131
1.98k
        if (yych <= '/') goto yy690;
8132
1.22k
        if (yych <= '9') goto yy47;
8133
1.22k
      } else {
8134
893
        if (yych <= 'Z') goto yy47;
8135
612
        if (yych >= '\\') goto yy164;
8136
612
      }
8137
5.26k
    } else {
8138
5.26k
      if (yych <= '`') {
8139
3.67k
        if (yych == '_') goto yy755;
8140
3.67k
      } else {
8141
1.58k
        if (yych <= 'z') goto yy47;
8142
629
        if (yych >= 0x80) goto yy47;
8143
629
      }
8144
5.26k
    }
8145
2.64k
yy690:
8146
2.64k
    YYDEBUG(690, *YYCURSOR);
8147
2.64k
    yyleng = YYCURSOR - SCNG(yy_text);
8148
2.64k
#line 1729 "Zend/zend_language_scanner.l"
8149
2.64k
    {
8150
2.64k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8151
2.64k
}
8152
0
#line 8153 "Zend/zend_language_scanner.c"
8153
7.74k
yy691:
8154
7.74k
    YYDEBUG(691, *YYCURSOR);
8155
7.74k
    yych = *++YYCURSOR;
8156
7.74k
    if (yych == 'R') goto yy756;
8157
6.67k
    if (yych == 'r') goto yy756;
8158
2.66k
    goto yy86;
8159
832k
yy692:
8160
832k
    YYDEBUG(692, *YYCURSOR);
8161
832k
    ++YYCURSOR;
8162
832k
    YYFILL(1);
8163
832k
    yych = *YYCURSOR;
8164
832k
    YYDEBUG(693, *YYCURSOR);
8165
832k
    if (yych <= '\n') {
8166
81.6k
      if (yych <= 0x00) goto yy86;
8167
78.7k
      if (yych <= '\t') goto yy692;
8168
74.3k
      goto yy616;
8169
750k
    } else {
8170
750k
      if (yych == '\r') goto yy616;
8171
723k
      goto yy692;
8172
750k
    }
8173
140k
yy694:
8174
140k
    YYDEBUG(694, *YYCURSOR);
8175
140k
    ++YYCURSOR;
8176
140k
    YYFILL(1);
8177
140k
    yych = *YYCURSOR;
8178
140k
    YYDEBUG(695, *YYCURSOR);
8179
140k
    if (yych <= ' ') {
8180
7.42k
      if (yych <= '\n') {
8181
2.85k
        if (yych <= 0x00) goto yy86;
8182
2.40k
        if (yych <= 0x08) goto yy692;
8183
1.88k
        if (yych <= '\t') goto yy694;
8184
1.59k
        goto yy616;
8185
4.56k
      } else {
8186
4.56k
        if (yych == '\r') goto yy616;
8187
4.25k
        if (yych <= 0x1F) goto yy692;
8188
1.69k
        goto yy694;
8189
4.25k
      }
8190
132k
    } else {
8191
132k
      if (yych <= '/') {
8192
61.1k
        if (yych == '#') goto yy757;
8193
55.3k
        if (yych <= '.') goto yy692;
8194
49.1k
        goto yy758;
8195
71.4k
      } else {
8196
71.4k
        if (yych <= 'F') {
8197
37.4k
          if (yych <= 'E') goto yy692;
8198
20.5k
          goto yy759;
8199
37.4k
        } else {
8200
33.9k
          if (yych == 'f') goto yy759;
8201
32.6k
          goto yy692;
8202
33.9k
        }
8203
71.4k
      }
8204
132k
    }
8205
2.02M
yy696:
8206
2.02M
    YYDEBUG(696, *YYCURSOR);
8207
2.02M
    ++YYCURSOR;
8208
2.02M
    YYFILL(1);
8209
2.02M
    yych = *YYCURSOR;
8210
2.02M
    YYDEBUG(697, *YYCURSOR);
8211
2.02M
    if (yych <= 0x00) goto yy86;
8212
2.00M
    if (yych == '*') goto yy760;
8213
1.96M
    goto yy696;
8214
1.96M
yy698:
8215
5.38k
    YYDEBUG(698, *YYCURSOR);
8216
5.38k
    yyaccept = 4;
8217
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
8218
5.38k
    if (yych == '_') goto yy762;
8219
361
    goto yy48;
8220
1.66k
yy699:
8221
1.66k
    YYDEBUG(699, *YYCURSOR);
8222
1.66k
    yyaccept = 67;
8223
1.66k
    yych = *(YYMARKER = ++YYCURSOR);
8224
1.66k
    if (yybm[256+yych] & 128) {
8225
774
      goto yy47;
8226
774
    }
8227
895
    if (yych == '\\') goto yy164;
8228
891
yy700:
8229
891
    YYDEBUG(700, *YYCURSOR);
8230
891
    yyleng = YYCURSOR - SCNG(yy_text);
8231
891
#line 2280 "Zend/zend_language_scanner.l"
8232
891
    {
8233
891
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8234
891
}
8235
0
#line 8236 "Zend/zend_language_scanner.c"
8236
2.03k
yy701:
8237
2.03k
    YYDEBUG(701, *YYCURSOR);
8238
2.03k
    yyaccept = 4;
8239
2.03k
    yych = *(YYMARKER = ++YYCURSOR);
8240
2.03k
    if (yych == '_') goto yy763;
8241
343
    goto yy48;
8242
7.10k
yy702:
8243
7.10k
    YYDEBUG(702, *YYCURSOR);
8244
7.10k
    yyaccept = 4;
8245
7.10k
    yych = *(YYMARKER = ++YYCURSOR);
8246
7.10k
    if (yych == 'I') goto yy765;
8247
6.81k
    if (yych == 'i') goto yy765;
8248
536
    goto yy48;
8249
5.10k
yy703:
8250
5.10k
    YYDEBUG(703, *YYCURSOR);
8251
5.10k
    yyaccept = 4;
8252
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
8253
5.10k
    if (yych == 'C') goto yy766;
8254
4.22k
    if (yych == 'c') goto yy766;
8255
679
    goto yy48;
8256
2.04k
yy704:
8257
2.04k
    YYDEBUG(704, *YYCURSOR);
8258
2.04k
    yyaccept = 4;
8259
2.04k
    yych = *(YYMARKER = ++YYCURSOR);
8260
2.04k
    if (yych == '_') goto yy767;
8261
301
    goto yy48;
8262
5.23k
yy705:
8263
5.23k
    YYDEBUG(705, *YYCURSOR);
8264
5.23k
    yyaccept = 4;
8265
5.23k
    yych = *(YYMARKER = ++YYCURSOR);
8266
5.23k
    if (yych == 'D') goto yy769;
8267
4.69k
    if (yych == 'd') goto yy769;
8268
512
    goto yy48;
8269
5.57k
yy706:
8270
5.57k
    YYDEBUG(706, *YYCURSOR);
8271
5.57k
    yyaccept = 4;
8272
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
8273
5.57k
    if (yych == 'P') goto yy770;
8274
5.25k
    if (yych == 'p') goto yy770;
8275
435
    goto yy48;
8276
3.83k
yy707:
8277
3.83k
    YYDEBUG(707, *YYCURSOR);
8278
3.83k
    yyaccept = 4;
8279
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
8280
3.83k
    if (yych == 'R') goto yy771;
8281
2.18k
    if (yych == 'r') goto yy771;
8282
128
    goto yy48;
8283
3.41k
yy708:
8284
3.41k
    YYDEBUG(708, *YYCURSOR);
8285
3.41k
    yyaccept = 4;
8286
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
8287
3.41k
    if (yych == '_') goto yy772;
8288
553
    goto yy48;
8289
35.9k
yy709:
8290
35.9k
    YYDEBUG(709, *YYCURSOR);
8291
35.9k
    ++YYCURSOR;
8292
35.9k
    YYFILL(1);
8293
35.9k
    yych = *YYCURSOR;
8294
35.9k
    YYDEBUG(710, *YYCURSOR);
8295
35.9k
    if (yych <= ' ') {
8296
3.71k
      if (yych <= '\n') {
8297
1.85k
        if (yych <= 0x00) goto yy86;
8298
1.75k
        if (yych <= 0x08) goto yy443;
8299
1.30k
        if (yych <= '\t') goto yy709;
8300
846
        goto yy545;
8301
1.86k
      } else {
8302
1.86k
        if (yych == '\r') goto yy545;
8303
1.46k
        if (yych <= 0x1F) goto yy443;
8304
364
        goto yy709;
8305
1.46k
      }
8306
32.2k
    } else {
8307
32.2k
      if (yych <= ')') {
8308
14.3k
        if (yych <= '"') goto yy443;
8309
13.9k
        if (yych <= '#') goto yy773;
8310
9.49k
        if (yych <= '$') goto yy774;
8311
8.24k
        goto yy443;
8312
17.9k
      } else {
8313
17.9k
        if (yych <= '-') {
8314
902
          if (yych <= '*') goto yy547;
8315
291
          goto yy443;
8316
17.0k
        } else {
8317
17.0k
          if (yych <= '.') goto yy775;
8318
10.8k
          if (yych <= '/') goto yy776;
8319
4.42k
          goto yy443;
8320
10.8k
        }
8321
17.9k
      }
8322
32.2k
    }
8323
953
yy711:
8324
953
    YYDEBUG(711, *YYCURSOR);
8325
953
    ++YYCURSOR;
8326
953
    YYFILL(1);
8327
953
    yych = *YYCURSOR;
8328
953
    if (yybm[0+yych] & 64) {
8329
160
      goto yy355;
8330
160
    }
8331
793
    if (yych <= 0x00) goto yy86;
8332
609
    if (yych == '.') goto yy631;
8333
402
    goto yy230;
8334
4.00k
yy712:
8335
4.00k
    YYDEBUG(712, *YYCURSOR);
8336
4.00k
    ++YYCURSOR;
8337
4.00k
    YYFILL(1);
8338
4.00k
    yych = *YYCURSOR;
8339
4.00k
    if (yybm[0+yych] & 64) {
8340
273
      goto yy355;
8341
273
    }
8342
3.73k
    if (yych <= 0x00) goto yy86;
8343
3.43k
    if (yych == '/') goto yy545;
8344
441
    goto yy230;
8345
2.34k
yy713:
8346
2.34k
    YYDEBUG(713, *YYCURSOR);
8347
2.34k
    ++YYCURSOR;
8348
2.34k
    YYDEBUG(714, *YYCURSOR);
8349
2.34k
    yyleng = YYCURSOR - SCNG(yy_text);
8350
2.34k
#line 1677 "Zend/zend_language_scanner.l"
8351
2.34k
    {
8352
2.34k
  if (PARSER_MODE()) {
8353
178
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8354
178
    if (EG(exception)) {
8355
0
      RETURN_TOKEN(T_ERROR);
8356
0
    }
8357
178
  }
8358
2.34k
  RETURN_TOKEN(T_STRING_CAST);
8359
2.34k
}
8360
0
#line 8361 "Zend/zend_language_scanner.c"
8361
3.33k
yy715:
8362
3.33k
    YYDEBUG(715, *YYCURSOR);
8363
3.33k
    ++YYCURSOR;
8364
3.33k
    YYFILL(1);
8365
3.33k
    yych = *YYCURSOR;
8366
3.33k
    YYDEBUG(716, *YYCURSOR);
8367
3.33k
    if (yych <= 0x1F) {
8368
1.38k
      if (yych == '\t') goto yy715;
8369
527
      goto yy86;
8370
1.95k
    } else {
8371
1.95k
      if (yych <= ' ') goto yy715;
8372
1.62k
      if (yych == ')') goto yy777;
8373
918
      goto yy86;
8374
1.62k
    }
8375
777
yy717:
8376
777
    YYDEBUG(717, *YYCURSOR);
8377
777
    ++YYCURSOR;
8378
777
    YYDEBUG(718, *YYCURSOR);
8379
777
    yyleng = YYCURSOR - SCNG(yy_text);
8380
777
#line 1655 "Zend/zend_language_scanner.l"
8381
777
    {
8382
777
  if (PARSER_MODE()) {
8383
79
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8384
79
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
79
  }
8388
777
  RETURN_TOKEN(T_DOUBLE_CAST);
8389
777
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
3.18k
yy719:
8392
3.18k
    YYDEBUG(719, *YYCURSOR);
8393
3.18k
    ++YYCURSOR;
8394
3.18k
    YYFILL(1);
8395
3.18k
    yych = *YYCURSOR;
8396
3.18k
    YYDEBUG(720, *YYCURSOR);
8397
3.18k
    if (yych <= 0x1F) {
8398
480
      if (yych == '\t') goto yy719;
8399
264
      goto yy86;
8400
2.70k
    } else {
8401
2.70k
      if (yych <= ' ') goto yy719;
8402
2.23k
      if (yych == ')') goto yy779;
8403
1.35k
      goto yy86;
8404
2.23k
    }
8405
435
yy721:
8406
435
    YYDEBUG(721, *YYCURSOR);
8407
435
    ++YYCURSOR;
8408
435
    YYDEBUG(722, *YYCURSOR);
8409
435
    yyleng = YYCURSOR - SCNG(yy_text);
8410
435
#line 1691 "Zend/zend_language_scanner.l"
8411
435
    {
8412
435
  RETURN_TOKEN(T_OBJECT_CAST);
8413
435
}
8414
0
#line 8415 "Zend/zend_language_scanner.c"
8415
2.22k
yy723:
8416
2.22k
    YYDEBUG(723, *YYCURSOR);
8417
2.22k
    ++YYCURSOR;
8418
2.22k
    YYDEBUG(724, *YYCURSOR);
8419
2.22k
    yyleng = YYCURSOR - SCNG(yy_text);
8420
2.22k
#line 1673 "Zend/zend_language_scanner.l"
8421
2.22k
    {
8422
2.22k
  RETURN_TOKEN(T_STRING_CAST);
8423
2.22k
}
8424
0
#line 8425 "Zend/zend_language_scanner.c"
8425
2.96k
yy725:
8426
2.96k
    YYDEBUG(725, *YYCURSOR);
8427
2.96k
    yyaccept = 68;
8428
2.96k
    yych = *(YYMARKER = ++YYCURSOR);
8429
2.96k
    if (yybm[256+yych] & 128) {
8430
1.07k
      goto yy47;
8431
1.07k
    }
8432
1.88k
    if (yych == '\\') goto yy164;
8433
1.87k
yy726:
8434
1.87k
    YYDEBUG(726, *YYCURSOR);
8435
1.87k
    yyleng = YYCURSOR - SCNG(yy_text);
8436
1.87k
#line 1769 "Zend/zend_language_scanner.l"
8437
1.87k
    {
8438
1.87k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8439
1.87k
}
8440
0
#line 8441 "Zend/zend_language_scanner.c"
8441
1.78k
yy727:
8442
1.78k
    YYDEBUG(727, *YYCURSOR);
8443
1.78k
    yyaccept = 69;
8444
1.78k
    yych = *(YYMARKER = ++YYCURSOR);
8445
1.78k
    if (yybm[256+yych] & 128) {
8446
540
      goto yy47;
8447
540
    }
8448
1.24k
    if (yych == '\\') goto yy164;
8449
1.24k
yy728:
8450
1.24k
    YYDEBUG(728, *YYCURSOR);
8451
1.24k
    yyleng = YYCURSOR - SCNG(yy_text);
8452
1.24k
#line 1821 "Zend/zend_language_scanner.l"
8453
1.24k
    {
8454
1.24k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8455
1.24k
}
8456
0
#line 8457 "Zend/zend_language_scanner.c"
8457
3.60k
yy729:
8458
3.60k
    YYDEBUG(729, *YYCURSOR);
8459
3.60k
    yyaccept = 70;
8460
3.60k
    yych = *(YYMARKER = ++YYCURSOR);
8461
3.60k
    if (yybm[256+yych] & 128) {
8462
449
      goto yy47;
8463
449
    }
8464
3.15k
    if (yych == '\\') goto yy164;
8465
3.15k
yy730:
8466
3.15k
    YYDEBUG(730, *YYCURSOR);
8467
3.15k
    yyleng = YYCURSOR - SCNG(yy_text);
8468
3.15k
#line 1537 "Zend/zend_language_scanner.l"
8469
3.15k
    {
8470
3.15k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8471
3.15k
}
8472
0
#line 8473 "Zend/zend_language_scanner.c"
8473
2.53k
yy731:
8474
2.53k
    YYDEBUG(731, *YYCURSOR);
8475
2.53k
    yyaccept = 4;
8476
2.53k
    yych = *(YYMARKER = ++YYCURSOR);
8477
2.53k
    if (yych == 'R') goto yy781;
8478
2.30k
    if (yych == 'r') goto yy781;
8479
285
    goto yy48;
8480
2.68k
yy732:
8481
2.68k
    YYDEBUG(732, *YYCURSOR);
8482
2.68k
    yyaccept = 4;
8483
2.68k
    yych = *(YYMARKER = ++YYCURSOR);
8484
2.68k
    if (yych == 'C') goto yy782;
8485
1.88k
    if (yych == 'c') goto yy782;
8486
341
    goto yy48;
8487
1.77k
yy733:
8488
1.77k
    YYDEBUG(733, *YYCURSOR);
8489
1.77k
    yyaccept = 4;
8490
1.77k
    yych = *(YYMARKER = ++YYCURSOR);
8491
1.77k
    if (yych == 'H') goto yy783;
8492
1.70k
    if (yych == 'h') goto yy783;
8493
1.09k
    goto yy48;
8494
1.81k
yy734:
8495
1.81k
    YYDEBUG(734, *YYCURSOR);
8496
1.81k
    yyaccept = 71;
8497
1.81k
    yych = *(YYMARKER = ++YYCURSOR);
8498
1.81k
    if (yybm[256+yych] & 128) {
8499
626
      goto yy47;
8500
626
    }
8501
1.18k
    if (yych == '\\') goto yy164;
8502
1.15k
yy735:
8503
1.15k
    YYDEBUG(735, *YYCURSOR);
8504
1.15k
    yyleng = YYCURSOR - SCNG(yy_text);
8505
1.15k
#line 1473 "Zend/zend_language_scanner.l"
8506
1.15k
    {
8507
1.15k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8508
1.15k
}
8509
0
#line 8510 "Zend/zend_language_scanner.c"
8510
2.97k
yy736:
8511
2.97k
    YYDEBUG(736, *YYCURSOR);
8512
2.97k
    yych = *++YYCURSOR;
8513
2.97k
    if (yych == 'E') goto yy785;
8514
2.63k
    if (yych == 'e') goto yy785;
8515
612
    goto yy86;
8516
3.22k
yy737:
8517
3.22k
    YYDEBUG(737, *YYCURSOR);
8518
3.22k
    yych = *++YYCURSOR;
8519
3.22k
    if (yych == 'L') goto yy786;
8520
2.34k
    if (yych == 'l') goto yy786;
8521
405
    goto yy86;
8522
861k
yy738:
8523
861k
    YYDEBUG(738, *YYCURSOR);
8524
861k
    ++YYCURSOR;
8525
861k
    YYFILL(1);
8526
861k
    yych = *YYCURSOR;
8527
861k
    YYDEBUG(739, *YYCURSOR);
8528
861k
    if (yych <= '\f') {
8529
53.1k
      if (yych <= 0x00) goto yy86;
8530
44.9k
      if (yych == '\n') goto yy787;
8531
9.41k
      goto yy738;
8532
808k
    } else {
8533
808k
      if (yych <= '\r') goto yy787;
8534
687k
      if (yych == '*') goto yy789;
8535
678k
      goto yy738;
8536
687k
    }
8537
15.8k
yy740:
8538
15.8k
    YYDEBUG(740, *YYCURSOR);
8539
15.8k
    ++YYCURSOR;
8540
15.8k
    YYFILL(1);
8541
15.8k
    yych = *YYCURSOR;
8542
15.8k
    if (yych <= '\r') {
8543
1.72k
      if (yych <= '\t') {
8544
470
        if (yych <= 0x00) goto yy86;
8545
258
        goto yy586;
8546
1.25k
      } else {
8547
1.25k
        if (yych <= '\n') goto yy495;
8548
870
        if (yych <= '\f') goto yy586;
8549
662
        goto yy495;
8550
870
      }
8551
14.1k
    } else {
8552
14.1k
      if (yych <= 'T') {
8553
5.00k
        if (yych <= 'S') goto yy586;
8554
4.48k
        goto yy791;
8555
9.13k
      } else {
8556
9.13k
        if (yych == 't') goto yy791;
8557
453
        goto yy586;
8558
9.13k
      }
8559
14.1k
    }
8560
29.8k
yy741:
8561
29.8k
    YYDEBUG(741, *YYCURSOR);
8562
29.8k
    ++YYCURSOR;
8563
29.8k
    YYFILL(1);
8564
29.8k
    yych = *YYCURSOR;
8565
29.8k
    if (yych <= '\r') {
8566
2.30k
      if (yych <= '\t') {
8567
1.24k
        if (yych <= 0x00) goto yy86;
8568
1.02k
        goto yy586;
8569
1.24k
      } else {
8570
1.06k
        if (yych <= '\n') goto yy495;
8571
817
        if (yych <= '\f') goto yy586;
8572
484
        goto yy495;
8573
817
      }
8574
27.5k
    } else {
8575
27.5k
      if (yych <= 'P') {
8576
3.37k
        if (yych <= 'O') goto yy586;
8577
2.81k
        goto yy792;
8578
24.1k
      } else {
8579
24.1k
        if (yych == 'p') goto yy792;
8580
1.62k
        goto yy586;
8581
24.1k
      }
8582
27.5k
    }
8583
21.4k
yy742:
8584
21.4k
    YYDEBUG(742, *YYCURSOR);
8585
21.4k
    yyaccept = 72;
8586
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
8587
21.4k
    if (yybm[256+yych] & 128) {
8588
611
      goto yy47;
8589
611
    }
8590
20.8k
    if (yych == '\\') goto yy164;
8591
20.8k
yy743:
8592
20.8k
    YYDEBUG(743, *YYCURSOR);
8593
20.8k
    yyleng = YYCURSOR - SCNG(yy_text);
8594
20.8k
#line 1410 "Zend/zend_language_scanner.l"
8595
20.8k
    {
8596
20.8k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8597
20.8k
}
8598
0
#line 8599 "Zend/zend_language_scanner.c"
8599
4.80k
yy744:
8600
4.80k
    YYDEBUG(744, *YYCURSOR);
8601
4.80k
    yyaccept = 4;
8602
4.80k
    yych = *(YYMARKER = ++YYCURSOR);
8603
4.80k
    if (yych == 'T') goto yy793;
8604
4.39k
    if (yych == 't') goto yy793;
8605
859
    goto yy48;
8606
4.99k
yy745:
8607
4.99k
    YYDEBUG(745, *YYCURSOR);
8608
4.99k
    yyaccept = 4;
8609
4.99k
    yych = *(YYMARKER = ++YYCURSOR);
8610
4.99k
    if (yych == 'O') goto yy794;
8611
4.04k
    if (yych == 'o') goto yy794;
8612
338
    goto yy48;
8613
2.66k
yy746:
8614
2.66k
    YYDEBUG(746, *YYCURSOR);
8615
2.66k
    yyaccept = 4;
8616
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
8617
2.66k
    if (yych == 'O') goto yy795;
8618
2.17k
    if (yych == 'o') goto yy795;
8619
595
    goto yy48;
8620
3.61k
yy747:
8621
3.61k
    YYDEBUG(747, *YYCURSOR);
8622
3.61k
    yyaccept = 4;
8623
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
8624
3.61k
    if (yych == 'F') goto yy796;
8625
3.29k
    if (yych == 'f') goto yy796;
8626
422
    goto yy48;
8627
3.23k
yy748:
8628
3.23k
    YYDEBUG(748, *YYCURSOR);
8629
3.23k
    yyaccept = 4;
8630
3.23k
    yych = *(YYMARKER = ++YYCURSOR);
8631
3.23k
    if (yych == 'E') goto yy798;
8632
3.04k
    if (yych == 'e') goto yy798;
8633
346
    goto yy48;
8634
10.7k
yy749:
8635
10.7k
    YYDEBUG(749, *YYCURSOR);
8636
10.7k
    yyaccept = 4;
8637
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
8638
10.7k
    if (yych == 'E') goto yy800;
8639
9.96k
    if (yych == 'e') goto yy800;
8640
911
    goto yy48;
8641
1.85k
yy750:
8642
1.85k
    YYDEBUG(750, *YYCURSOR);
8643
1.85k
    yych = *++YYCURSOR;
8644
1.85k
    if (yych == 'S') goto yy802;
8645
1.07k
    if (yych == 's') goto yy802;
8646
193
    goto yy86;
8647
6.20k
yy751:
8648
6.20k
    YYDEBUG(751, *YYCURSOR);
8649
6.20k
    yyaccept = 4;
8650
6.20k
    yych = *(YYMARKER = ++YYCURSOR);
8651
6.20k
    if (yych == 'D') goto yy803;
8652
4.79k
    if (yych == 'd') goto yy803;
8653
752
    goto yy48;
8654
2.22k
yy752:
8655
2.22k
    YYDEBUG(752, *YYCURSOR);
8656
2.22k
    yych = *++YYCURSOR;
8657
2.22k
    if (yych == 'E') goto yy805;
8658
1.89k
    if (yych == 'e') goto yy805;
8659
310
    goto yy86;
8660
1.56k
yy753:
8661
1.56k
    YYDEBUG(753, *YYCURSOR);
8662
1.56k
    yyaccept = 73;
8663
1.56k
    yych = *(YYMARKER = ++YYCURSOR);
8664
1.56k
    if (yybm[256+yych] & 128) {
8665
349
      goto yy47;
8666
349
    }
8667
1.21k
    if (yych == '\\') goto yy164;
8668
1.20k
yy754:
8669
1.20k
    YYDEBUG(754, *YYCURSOR);
8670
1.20k
    yyleng = YYCURSOR - SCNG(yy_text);
8671
1.20k
#line 1801 "Zend/zend_language_scanner.l"
8672
1.20k
    {
8673
1.20k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8674
1.20k
}
8675
0
#line 8676 "Zend/zend_language_scanner.c"
8676
3.43k
yy755:
8677
3.43k
    YYDEBUG(755, *YYCURSOR);
8678
3.43k
    yyaccept = 4;
8679
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
8680
3.43k
    if (yych == 'O') goto yy806;
8681
2.70k
    if (yych == 'o') goto yy806;
8682
488
    goto yy48;
8683
5.08k
yy756:
8684
5.08k
    YYDEBUG(756, *YYCURSOR);
8685
5.08k
    yych = *++YYCURSOR;
8686
5.08k
    if (yych == 'O') goto yy807;
8687
3.91k
    if (yych == 'o') goto yy807;
8688
749
    goto yy86;
8689
5.77k
yy757:
8690
5.77k
    YYDEBUG(757, *YYCURSOR);
8691
5.77k
    ++YYCURSOR;
8692
5.77k
    YYFILL(1);
8693
5.77k
    yych = *YYCURSOR;
8694
5.77k
    if (yych <= '\n') {
8695
3.12k
      if (yych <= 0x00) goto yy86;
8696
2.92k
      if (yych <= '\t') goto yy692;
8697
2.81k
      goto yy694;
8698
2.92k
    } else {
8699
2.64k
      if (yych == '\r') goto yy694;
8700
991
      goto yy692;
8701
2.64k
    }
8702
49.1k
yy758:
8703
49.1k
    YYDEBUG(758, *YYCURSOR);
8704
49.1k
    ++YYCURSOR;
8705
49.1k
    YYFILL(1);
8706
49.1k
    yych = *YYCURSOR;
8707
49.1k
    if (yych <= '\f') {
8708
773
      if (yych <= 0x00) goto yy86;
8709
469
      if (yych == '\n') goto yy616;
8710
251
      goto yy692;
8711
48.3k
    } else {
8712
48.3k
      if (yych <= '\r') goto yy616;
8713
48.1k
      if (yych == '*') goto yy808;
8714
15.2k
      goto yy692;
8715
48.1k
    }
8716
21.9k
yy759:
8717
21.9k
    YYDEBUG(759, *YYCURSOR);
8718
21.9k
    ++YYCURSOR;
8719
21.9k
    YYFILL(1);
8720
21.9k
    yych = *YYCURSOR;
8721
21.9k
    if (yych <= '\r') {
8722
1.90k
      if (yych <= '\t') {
8723
579
        if (yych <= 0x00) goto yy86;
8724
361
        goto yy692;
8725
1.32k
      } else {
8726
1.32k
        if (yych <= '\n') goto yy616;
8727
679
        if (yych <= '\f') goto yy692;
8728
409
        goto yy616;
8729
679
      }
8730
20.0k
    } else {
8731
20.0k
      if (yych <= 'R') {
8732
17.3k
        if (yych <= 'Q') goto yy692;
8733
16.8k
        goto yy810;
8734
17.3k
      } else {
8735
2.62k
        if (yych == 'r') goto yy810;
8736
861
        goto yy692;
8737
2.62k
      }
8738
20.0k
    }
8739
40.2k
yy760:
8740
40.2k
    YYDEBUG(760, *YYCURSOR);
8741
40.2k
    ++YYCURSOR;
8742
40.2k
    YYFILL(1);
8743
40.2k
    yych = *YYCURSOR;
8744
40.2k
    YYDEBUG(761, *YYCURSOR);
8745
40.2k
    if (yych <= '*') {
8746
25.9k
      if (yych <= 0x00) goto yy86;
8747
25.5k
      if (yych <= ')') goto yy696;
8748
1.36k
      goto yy760;
8749
25.5k
    } else {
8750
14.2k
      if (yych == '/') goto yy616;
8751
8.32k
      goto yy696;
8752
14.2k
    }
8753
5.02k
yy762:
8754
5.02k
    YYDEBUG(762, *YYCURSOR);
8755
5.02k
    yyaccept = 4;
8756
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
8757
5.02k
    if (yych == '_') goto yy811;
8758
441
    goto yy48;
8759
1.69k
yy763:
8760
1.69k
    YYDEBUG(763, *YYCURSOR);
8761
1.69k
    yyaccept = 74;
8762
1.69k
    yych = *(YYMARKER = ++YYCURSOR);
8763
1.69k
    if (yybm[256+yych] & 128) {
8764
456
      goto yy47;
8765
456
    }
8766
1.24k
    if (yych == '\\') goto yy164;
8767
1.04k
yy764:
8768
1.04k
    YYDEBUG(764, *YYCURSOR);
8769
1.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8770
1.04k
#line 2276 "Zend/zend_language_scanner.l"
8771
1.04k
    {
8772
1.04k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8773
1.04k
}
8774
0
#line 8775 "Zend/zend_language_scanner.c"
8775
6.57k
yy765:
8776
6.57k
    YYDEBUG(765, *YYCURSOR);
8777
6.57k
    yyaccept = 4;
8778
6.57k
    yych = *(YYMARKER = ++YYCURSOR);
8779
6.57k
    if (yych == 'O') goto yy813;
8780
5.98k
    if (yych == 'o') goto yy813;
8781
558
    goto yy48;
8782
4.42k
yy766:
8783
4.42k
    YYDEBUG(766, *YYCURSOR);
8784
4.42k
    yyaccept = 4;
8785
4.42k
    yych = *(YYMARKER = ++YYCURSOR);
8786
4.42k
    if (yych == 'O') goto yy814;
8787
3.58k
    if (yych == 'o') goto yy814;
8788
222
    goto yy48;
8789
1.74k
yy767:
8790
1.74k
    YYDEBUG(767, *YYCURSOR);
8791
1.74k
    yyaccept = 75;
8792
1.74k
    yych = *(YYMARKER = ++YYCURSOR);
8793
1.74k
    if (yybm[256+yych] & 128) {
8794
258
      goto yy47;
8795
258
    }
8796
1.48k
    if (yych == '\\') goto yy164;
8797
1.44k
yy768:
8798
1.44k
    YYDEBUG(768, *YYCURSOR);
8799
1.44k
    yyleng = YYCURSOR - SCNG(yy_text);
8800
1.44k
#line 2272 "Zend/zend_language_scanner.l"
8801
1.44k
    {
8802
1.44k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8803
1.44k
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
4.72k
yy769:
8806
4.72k
    YYDEBUG(769, *YYCURSOR);
8807
4.72k
    yyaccept = 4;
8808
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
8809
4.72k
    if (yych == '_') goto yy815;
8810
352
    goto yy48;
8811
5.13k
yy770:
8812
5.13k
    YYDEBUG(770, *YYCURSOR);
8813
5.13k
    yyaccept = 4;
8814
5.13k
    yych = *(YYMARKER = ++YYCURSOR);
8815
5.13k
    if (yych == 'A') goto yy816;
8816
4.83k
    if (yych == 'a') goto yy816;
8817
322
    goto yy48;
8818
3.70k
yy771:
8819
3.70k
    YYDEBUG(771, *YYCURSOR);
8820
3.70k
    yyaccept = 4;
8821
3.70k
    yych = *(YYMARKER = ++YYCURSOR);
8822
3.70k
    if (yych == 'T') goto yy817;
8823
1.55k
    if (yych == 't') goto yy817;
8824
563
    goto yy48;
8825
2.86k
yy772:
8826
2.86k
    YYDEBUG(772, *YYCURSOR);
8827
2.86k
    yyaccept = 4;
8828
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
8829
2.86k
    if (yych == '_') goto yy818;
8830
815
    goto yy48;
8831
4.42k
yy773:
8832
4.42k
    YYDEBUG(773, *YYCURSOR);
8833
4.42k
    ++YYCURSOR;
8834
4.42k
    YYFILL(1);
8835
4.42k
    yych = *YYCURSOR;
8836
4.42k
    if (yybm[0+yych] & 128) {
8837
979
      goto yy443;
8838
979
    }
8839
3.44k
    if (yych <= 0x00) goto yy86;
8840
3.34k
    if (yych <= '\r') goto yy709;
8841
268
    goto yy547;
8842
1.82k
yy774:
8843
1.82k
    YYDEBUG(774, *YYCURSOR);
8844
1.82k
    yyaccept = 26;
8845
1.82k
    YYMARKER = ++YYCURSOR;
8846
1.82k
    YYFILL(1);
8847
1.82k
    yych = *YYCURSOR;
8848
1.82k
    if (yybm[0+yych] & 128) {
8849
902
      goto yy443;
8850
902
    }
8851
927
    if (yych <= 0x00) goto yy89;
8852
598
    if (yych <= '\r') goto yy545;
8853
309
    goto yy547;
8854
6.12k
yy775:
8855
6.12k
    YYDEBUG(775, *YYCURSOR);
8856
6.12k
    ++YYCURSOR;
8857
6.12k
    YYFILL(1);
8858
6.12k
    yych = *YYCURSOR;
8859
6.12k
    if (yych <= '\r') {
8860
1.25k
      if (yych <= '\t') {
8861
357
        if (yych <= 0x00) goto yy86;
8862
250
        goto yy443;
8863
901
      } else {
8864
901
        if (yych <= '\n') goto yy545;
8865
460
        if (yych <= '\f') goto yy443;
8866
242
        goto yy545;
8867
460
      }
8868
4.86k
    } else {
8869
4.86k
      if (yych <= '*') {
8870
1.32k
        if (yych <= ')') goto yy443;
8871
724
        goto yy547;
8872
3.54k
      } else {
8873
3.54k
        if (yych == '.') goto yy820;
8874
607
        goto yy443;
8875
3.54k
      }
8876
4.86k
    }
8877
6.47k
yy776:
8878
6.47k
    YYDEBUG(776, *YYCURSOR);
8879
6.47k
    ++YYCURSOR;
8880
6.47k
    YYFILL(1);
8881
6.47k
    yych = *YYCURSOR;
8882
6.47k
    if (yybm[0+yych] & 128) {
8883
1.45k
      goto yy443;
8884
1.45k
    }
8885
5.01k
    if (yych <= 0x00) goto yy86;
8886
4.78k
    if (yych <= '\r') goto yy545;
8887
4.38k
    goto yy821;
8888
4.38k
yy777:
8889
711
    YYDEBUG(777, *YYCURSOR);
8890
711
    ++YYCURSOR;
8891
711
    YYDEBUG(778, *YYCURSOR);
8892
711
    yyleng = YYCURSOR - SCNG(yy_text);
8893
711
#line 1699 "Zend/zend_language_scanner.l"
8894
711
    {
8895
711
  if (PARSER_MODE()) {
8896
64
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8897
64
    if (EG(exception)) {
8898
0
      RETURN_TOKEN(T_ERROR);
8899
0
    }
8900
64
  }
8901
711
  RETURN_TOKEN(T_BOOL_CAST);
8902
711
}
8903
0
#line 8904 "Zend/zend_language_scanner.c"
8904
880
yy779:
8905
880
    YYDEBUG(779, *YYCURSOR);
8906
880
    ++YYCURSOR;
8907
880
    YYDEBUG(780, *YYCURSOR);
8908
880
    yyleng = YYCURSOR - SCNG(yy_text);
8909
880
#line 1641 "Zend/zend_language_scanner.l"
8910
880
    {
8911
880
  if (PARSER_MODE()) {
8912
30
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8913
30
    if (EG(exception)) {
8914
0
      RETURN_TOKEN(T_ERROR);
8915
0
    }
8916
30
  }
8917
880
  RETURN_TOKEN(T_INT_CAST);
8918
880
}
8919
0
#line 8920 "Zend/zend_language_scanner.c"
8920
2.25k
yy781:
8921
2.25k
    YYDEBUG(781, *YYCURSOR);
8922
2.25k
    yyaccept = 4;
8923
2.25k
    yych = *(YYMARKER = ++YYCURSOR);
8924
2.25k
    if (yych == 'E') goto yy822;
8925
2.04k
    if (yych == 'e') goto yy822;
8926
526
    goto yy48;
8927
2.34k
yy782:
8928
2.34k
    YYDEBUG(782, *YYCURSOR);
8929
2.34k
    yyaccept = 4;
8930
2.34k
    yych = *(YYMARKER = ++YYCURSOR);
8931
2.34k
    if (yych == 'H') goto yy824;
8932
1.62k
    if (yych == 'h') goto yy824;
8933
249
    goto yy48;
8934
688
yy783:
8935
688
    YYDEBUG(783, *YYCURSOR);
8936
688
    yyaccept = 76;
8937
688
    yych = *(YYMARKER = ++YYCURSOR);
8938
688
    if (yybm[256+yych] & 128) {
8939
285
      goto yy47;
8940
285
    }
8941
403
    if (yych == '\\') goto yy164;
8942
403
yy784:
8943
403
    YYDEBUG(784, *YYCURSOR);
8944
403
    yyleng = YYCURSOR - SCNG(yy_text);
8945
403
#line 1521 "Zend/zend_language_scanner.l"
8946
403
    {
8947
403
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8948
403
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
2.36k
yy785:
8951
2.36k
    YYDEBUG(785, *YYCURSOR);
8952
2.36k
    yych = *++YYCURSOR;
8953
2.36k
    if (yych == 'N') goto yy826;
8954
2.17k
    if (yych == 'n') goto yy826;
8955
500
    goto yy86;
8956
2.81k
yy786:
8957
2.81k
    YYDEBUG(786, *YYCURSOR);
8958
2.81k
    yych = *++YYCURSOR;
8959
2.81k
    if (yych == 'E') goto yy827;
8960
1.98k
    if (yych == 'e') goto yy827;
8961
217
    goto yy86;
8962
211k
yy787:
8963
211k
    YYDEBUG(787, *YYCURSOR);
8964
211k
    ++YYCURSOR;
8965
211k
    YYFILL(1);
8966
211k
    yych = *YYCURSOR;
8967
211k
    YYDEBUG(788, *YYCURSOR);
8968
211k
    if (yych <= '@') {
8969
189k
      if (yych <= ' ') {
8970
21.4k
        if (yych <= '\n') {
8971
12.3k
          if (yych <= 0x00) goto yy86;
8972
10.5k
          if (yych <= 0x08) goto yy590;
8973
10.3k
          goto yy787;
8974
10.5k
        } else {
8975
9.07k
          if (yych == '\r') goto yy787;
8976
1.88k
          if (yych <= 0x1F) goto yy590;
8977
1.48k
          goto yy787;
8978
1.88k
        }
8979
168k
      } else {
8980
168k
        if (yych <= ')') {
8981
160k
          if (yych == '#') goto yy828;
8982
4.69k
          goto yy590;
8983
160k
        } else {
8984
7.59k
          if (yych <= '*') goto yy668;
8985
7.22k
          if (yych == '/') goto yy829;
8986
823
          goto yy590;
8987
7.22k
        }
8988
168k
      }
8989
189k
    } else {
8990
21.7k
      if (yych <= '_') {
8991
5.06k
        if (yych <= 'H') {
8992
1.23k
          if (yych == 'E') goto yy831;
8993
771
          goto yy830;
8994
3.82k
        } else {
8995
3.82k
          if (yych <= 'I') goto yy832;
8996
1.78k
          if (yych <= 'Z') goto yy830;
8997
459
          if (yych <= '^') goto yy590;
8998
166
          goto yy830;
8999
459
        }
9000
16.6k
      } else {
9001
16.6k
        if (yych <= 'h') {
9002
7.71k
          if (yych <= '`') goto yy590;
9003
7.36k
          if (yych == 'e') goto yy831;
9004
484
          goto yy830;
9005
8.95k
        } else {
9006
8.95k
          if (yych <= 'i') goto yy832;
9007
2.89k
          if (yych <= 'z') goto yy830;
9008
1.38k
          if (yych <= 0x7F) goto yy590;
9009
921
          goto yy830;
9010
1.38k
        }
9011
16.6k
      }
9012
21.7k
    }
9013
21.9k
yy789:
9014
21.9k
    YYDEBUG(789, *YYCURSOR);
9015
21.9k
    ++YYCURSOR;
9016
21.9k
    YYFILL(1);
9017
21.9k
    yych = *YYCURSOR;
9018
21.9k
    YYDEBUG(790, *YYCURSOR);
9019
21.9k
    if (yych <= '\r') {
9020
8.91k
      if (yych <= '\t') {
9021
1.61k
        if (yych <= 0x00) goto yy86;
9022
265
        goto yy738;
9023
7.30k
      } else {
9024
7.30k
        if (yych <= '\n') goto yy787;
9025
6.22k
        if (yych <= '\f') goto yy738;
9026
5.33k
        goto yy787;
9027
6.22k
      }
9028
13.0k
    } else {
9029
13.0k
      if (yych <= '*') {
9030
6.59k
        if (yych <= ')') goto yy738;
9031
4.50k
        goto yy789;
9032
6.59k
      } else {
9033
6.45k
        if (yych == '/') goto yy588;
9034
3.65k
        goto yy738;
9035
6.45k
      }
9036
13.0k
    }
9037
13.1k
yy791:
9038
13.1k
    YYDEBUG(791, *YYCURSOR);
9039
13.1k
    ++YYCURSOR;
9040
13.1k
    YYFILL(1);
9041
13.1k
    yych = *YYCURSOR;
9042
13.1k
    if (yych <= '\r') {
9043
1.52k
      if (yych <= '\t') {
9044
675
        if (yych <= 0x00) goto yy86;
9045
242
        goto yy586;
9046
853
      } else {
9047
853
        if (yych <= '\n') goto yy495;
9048
444
        if (yych <= '\f') goto yy586;
9049
256
        goto yy495;
9050
444
      }
9051
11.6k
    } else {
9052
11.6k
      if (yych <= 'E') {
9053
1.79k
        if (yych <= 'D') goto yy586;
9054
604
        goto yy833;
9055
9.85k
      } else {
9056
9.85k
        if (yych == 'e') goto yy833;
9057
594
        goto yy586;
9058
9.85k
      }
9059
11.6k
    }
9060
25.3k
yy792:
9061
25.3k
    YYDEBUG(792, *YYCURSOR);
9062
25.3k
    ++YYCURSOR;
9063
25.3k
    YYFILL(1);
9064
25.3k
    yych = *YYCURSOR;
9065
25.3k
    if (yych <= '\r') {
9066
1.23k
      if (yych <= '\t') {
9067
535
        if (yych <= 0x00) goto yy86;
9068
333
        goto yy586;
9069
701
      } else {
9070
701
        if (yych <= '\n') goto yy495;
9071
410
        if (yych <= '\f') goto yy586;
9072
392
        goto yy495;
9073
410
      }
9074
24.0k
    } else {
9075
24.0k
      if (yych <= 'L') {
9076
6.06k
        if (yych <= 'K') goto yy586;
9077
2.18k
        goto yy834;
9078
18.0k
      } else {
9079
18.0k
        if (yych == 'l') goto yy834;
9080
824
        goto yy586;
9081
18.0k
      }
9082
24.0k
    }
9083
3.94k
yy793:
9084
3.94k
    YYDEBUG(793, *YYCURSOR);
9085
3.94k
    yyaccept = 4;
9086
3.94k
    yych = *(YYMARKER = ++YYCURSOR);
9087
3.94k
    if (yych == 'S') goto yy835;
9088
3.68k
    if (yych == 's') goto yy835;
9089
1.36k
    goto yy48;
9090
4.65k
yy794:
9091
4.65k
    YYDEBUG(794, *YYCURSOR);
9092
4.65k
    yyaccept = 4;
9093
4.65k
    yych = *(YYMARKER = ++YYCURSOR);
9094
4.65k
    if (yych == 'N') goto yy837;
9095
3.93k
    if (yych == 'n') goto yy837;
9096
455
    goto yy48;
9097
2.06k
yy795:
9098
2.06k
    YYDEBUG(795, *YYCURSOR);
9099
2.06k
    yyaccept = 4;
9100
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
9101
2.06k
    if (yych == 'F') goto yy838;
9102
1.62k
    if (yych == 'f') goto yy838;
9103
326
    goto yy48;
9104
3.18k
yy796:
9105
3.18k
    YYDEBUG(796, *YYCURSOR);
9106
3.18k
    yyaccept = 77;
9107
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
9108
3.18k
    if (yybm[256+yych] & 128) {
9109
780
      goto yy47;
9110
780
    }
9111
2.40k
    if (yych == '\\') goto yy164;
9112
2.36k
yy797:
9113
2.36k
    YYDEBUG(797, *YYCURSOR);
9114
2.36k
    yyleng = YYCURSOR - SCNG(yy_text);
9115
2.36k
#line 1745 "Zend/zend_language_scanner.l"
9116
2.36k
    {
9117
2.36k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9118
2.36k
}
9119
0
#line 9120 "Zend/zend_language_scanner.c"
9120
2.88k
yy798:
9121
2.88k
    YYDEBUG(798, *YYCURSOR);
9122
2.88k
    yyaccept = 78;
9123
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
9124
2.88k
    if (yybm[256+yych] & 128) {
9125
283
      goto yy47;
9126
283
    }
9127
2.60k
    if (yych == '\\') goto yy164;
9128
2.57k
yy799:
9129
2.57k
    YYDEBUG(799, *YYCURSOR);
9130
2.57k
    yyleng = YYCURSOR - SCNG(yy_text);
9131
2.57k
#line 1557 "Zend/zend_language_scanner.l"
9132
2.57k
    {
9133
2.57k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9134
2.57k
}
9135
0
#line 9136 "Zend/zend_language_scanner.c"
9136
9.84k
yy800:
9137
9.84k
    YYDEBUG(800, *YYCURSOR);
9138
9.84k
    yyaccept = 79;
9139
9.84k
    yych = *(YYMARKER = ++YYCURSOR);
9140
9.84k
    if (yybm[256+yych] & 128) {
9141
1.07k
      goto yy47;
9142
1.07k
    }
9143
8.76k
    if (yych == '\\') goto yy840;
9144
6.10k
yy801:
9145
6.10k
    YYDEBUG(801, *YYCURSOR);
9146
6.10k
    yyleng = YYCURSOR - SCNG(yy_text);
9147
6.10k
#line 1737 "Zend/zend_language_scanner.l"
9148
6.10k
    {
9149
6.10k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9150
6.10k
}
9151
0
#line 9152 "Zend/zend_language_scanner.c"
9152
1.66k
yy802:
9153
1.66k
    YYDEBUG(802, *YYCURSOR);
9154
1.66k
    yych = *++YYCURSOR;
9155
1.66k
    if (yych == 'E') goto yy841;
9156
1.31k
    if (yych == 'e') goto yy841;
9157
758
    goto yy86;
9158
5.45k
yy803:
9159
5.45k
    YYDEBUG(803, *YYCURSOR);
9160
5.45k
    yyaccept = 80;
9161
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
9162
5.45k
    if (yybm[256+yych] & 128) {
9163
723
      goto yy47;
9164
723
    }
9165
4.72k
    if (yych == '(') goto yy842;
9166
2.53k
    if (yych == '\\') goto yy164;
9167
4.25k
yy804:
9168
4.25k
    YYDEBUG(804, *YYCURSOR);
9169
4.25k
    yyleng = YYCURSOR - SCNG(yy_text);
9170
4.25k
#line 1781 "Zend/zend_language_scanner.l"
9171
4.25k
    {
9172
4.25k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9173
4.25k
}
9174
0
#line 9175 "Zend/zend_language_scanner.c"
9175
1.91k
yy805:
9176
1.91k
    YYDEBUG(805, *YYCURSOR);
9177
1.91k
    yych = *++YYCURSOR;
9178
1.91k
    if (yych == 'T') goto yy843;
9179
1.33k
    if (yych == 't') goto yy843;
9180
235
    goto yy86;
9181
2.94k
yy806:
9182
2.94k
    YYDEBUG(806, *YYCURSOR);
9183
2.94k
    yyaccept = 4;
9184
2.94k
    yych = *(YYMARKER = ++YYCURSOR);
9185
2.94k
    if (yych == 'N') goto yy844;
9186
2.43k
    if (yych == 'n') goto yy844;
9187
371
    goto yy48;
9188
4.33k
yy807:
9189
4.33k
    YYDEBUG(807, *YYCURSOR);
9190
4.33k
    yych = *++YYCURSOR;
9191
4.33k
    if (yych == 'M') goto yy845;
9192
3.58k
    if (yych == 'm') goto yy845;
9193
295
    goto yy86;
9194
355k
yy808:
9195
355k
    YYDEBUG(808, *YYCURSOR);
9196
355k
    ++YYCURSOR;
9197
355k
    YYFILL(1);
9198
355k
    yych = *YYCURSOR;
9199
355k
    YYDEBUG(809, *YYCURSOR);
9200
355k
    if (yych <= '\f') {
9201
63.4k
      if (yych <= 0x00) goto yy86;
9202
60.4k
      if (yych == '\n') goto yy846;
9203
14.4k
      goto yy808;
9204
291k
    } else {
9205
291k
      if (yych <= '\r') goto yy846;
9206
274k
      if (yych == '*') goto yy848;
9207
266k
      goto yy808;
9208
274k
    }
9209
18.5k
yy810:
9210
18.5k
    YYDEBUG(810, *YYCURSOR);
9211
18.5k
    ++YYCURSOR;
9212
18.5k
    YYFILL(1);
9213
18.5k
    yych = *YYCURSOR;
9214
18.5k
    if (yych <= '\r') {
9215
2.36k
      if (yych <= '\t') {
9216
678
        if (yych <= 0x00) goto yy86;
9217
460
        goto yy692;
9218
1.68k
      } else {
9219
1.68k
        if (yych <= '\n') goto yy616;
9220
1.48k
        if (yych <= '\f') goto yy692;
9221
236
        goto yy616;
9222
1.48k
      }
9223
16.2k
    } else {
9224
16.2k
      if (yych <= 'O') {
9225
13.6k
        if (yych <= 'N') goto yy692;
9226
10.4k
        goto yy850;
9227
13.6k
      } else {
9228
2.58k
        if (yych == 'o') goto yy850;
9229
1.11k
        goto yy692;
9230
2.58k
      }
9231
16.2k
    }
9232
4.58k
yy811:
9233
4.58k
    YYDEBUG(811, *YYCURSOR);
9234
4.58k
    yyaccept = 81;
9235
4.58k
    yych = *(YYMARKER = ++YYCURSOR);
9236
4.58k
    if (yybm[256+yych] & 128) {
9237
370
      goto yy47;
9238
370
    }
9239
4.21k
    if (yych == '\\') goto yy164;
9240
4.20k
yy812:
9241
4.20k
    YYDEBUG(812, *YYCURSOR);
9242
4.20k
    yyleng = YYCURSOR - SCNG(yy_text);
9243
4.20k
#line 2252 "Zend/zend_language_scanner.l"
9244
4.20k
    {
9245
4.20k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9246
4.20k
}
9247
0
#line 9248 "Zend/zend_language_scanner.c"
9248
6.01k
yy813:
9249
6.01k
    YYDEBUG(813, *YYCURSOR);
9250
6.01k
    yyaccept = 4;
9251
6.01k
    yych = *(YYMARKER = ++YYCURSOR);
9252
6.01k
    if (yych == 'N') goto yy851;
9253
2.48k
    if (yych == 'n') goto yy851;
9254
431
    goto yy48;
9255
4.20k
yy814:
9256
4.20k
    YYDEBUG(814, *YYCURSOR);
9257
4.20k
    yyaccept = 4;
9258
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
9259
4.20k
    if (yych == 'M') goto yy852;
9260
3.41k
    if (yych == 'm') goto yy852;
9261
259
    goto yy48;
9262
4.37k
yy815:
9263
4.37k
    YYDEBUG(815, *YYCURSOR);
9264
4.37k
    yyaccept = 4;
9265
4.37k
    yych = *(YYMARKER = ++YYCURSOR);
9266
4.37k
    if (yych == '_') goto yy853;
9267
321
    goto yy48;
9268
4.81k
yy816:
9269
4.81k
    YYDEBUG(816, *YYCURSOR);
9270
4.81k
    yyaccept = 4;
9271
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
9272
4.81k
    if (yych == 'C') goto yy855;
9273
4.37k
    if (yych == 'c') goto yy855;
9274
1.03k
    goto yy48;
9275
3.14k
yy817:
9276
3.14k
    YYDEBUG(817, *YYCURSOR);
9277
3.14k
    yyaccept = 4;
9278
3.14k
    yych = *(YYMARKER = ++YYCURSOR);
9279
3.14k
    if (yych == 'Y') goto yy856;
9280
648
    if (yych == 'y') goto yy856;
9281
487
    goto yy48;
9282
2.04k
yy818:
9283
2.04k
    YYDEBUG(818, *YYCURSOR);
9284
2.04k
    yyaccept = 82;
9285
2.04k
    yych = *(YYMARKER = ++YYCURSOR);
9286
2.04k
    if (yybm[256+yych] & 128) {
9287
475
      goto yy47;
9288
475
    }
9289
1.57k
    if (yych == '\\') goto yy164;
9290
1.53k
yy819:
9291
1.53k
    YYDEBUG(819, *YYCURSOR);
9292
1.53k
    yyleng = YYCURSOR - SCNG(yy_text);
9293
1.53k
#line 2256 "Zend/zend_language_scanner.l"
9294
1.53k
    {
9295
1.53k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9296
1.53k
}
9297
0
#line 9298 "Zend/zend_language_scanner.c"
9298
2.93k
yy820:
9299
2.93k
    YYDEBUG(820, *YYCURSOR);
9300
2.93k
    ++YYCURSOR;
9301
2.93k
    YYFILL(1);
9302
2.93k
    yych = *YYCURSOR;
9303
2.93k
    if (yych <= '\r') {
9304
1.40k
      if (yych <= '\t') {
9305
510
        if (yych <= 0x00) goto yy86;
9306
220
        goto yy443;
9307
896
      } else {
9308
896
        if (yych <= '\n') goto yy545;
9309
688
        if (yych <= '\f') goto yy443;
9310
501
        goto yy545;
9311
688
      }
9312
1.52k
    } else {
9313
1.52k
      if (yych <= '*') {
9314
414
        if (yych <= ')') goto yy443;
9315
337
        goto yy547;
9316
1.11k
      } else {
9317
1.11k
        if (yych == '.') goto yy774;
9318
541
        goto yy443;
9319
1.11k
      }
9320
1.52k
    }
9321
4.38k
yy821:
9322
4.38k
    YYDEBUG(821, *YYCURSOR);
9323
4.38k
    ++YYCURSOR;
9324
4.38k
    YYFILL(1);
9325
4.38k
    yych = *YYCURSOR;
9326
4.38k
    if (yych <= '\r') {
9327
1.52k
      if (yych <= '\t') {
9328
525
        if (yych <= 0x00) goto yy86;
9329
212
        goto yy443;
9330
1.00k
      } else {
9331
1.00k
        if (yych <= '\n') goto yy545;
9332
577
        if (yych <= '\f') goto yy443;
9333
409
        goto yy545;
9334
577
      }
9335
2.86k
    } else {
9336
2.86k
      if (yych <= '*') {
9337
649
        if (yych <= ')') goto yy443;
9338
219
        goto yy547;
9339
2.21k
      } else {
9340
2.21k
        if (yych == '/') goto yy709;
9341
568
        goto yy443;
9342
2.21k
      }
9343
2.86k
    }
9344
1.72k
yy822:
9345
1.72k
    YYDEBUG(822, *YYCURSOR);
9346
1.72k
    yyaccept = 83;
9347
1.72k
    yych = *(YYMARKER = ++YYCURSOR);
9348
1.72k
    if (yybm[256+yych] & 128) {
9349
374
      goto yy47;
9350
374
    }
9351
1.35k
    if (yych == '\\') goto yy164;
9352
1.32k
yy823:
9353
1.32k
    YYDEBUG(823, *YYCURSOR);
9354
1.32k
    yyleng = YYCURSOR - SCNG(yy_text);
9355
1.32k
#line 1501 "Zend/zend_language_scanner.l"
9356
1.32k
    {
9357
1.32k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9358
1.32k
}
9359
0
#line 9360 "Zend/zend_language_scanner.c"
9360
2.09k
yy824:
9361
2.09k
    YYDEBUG(824, *YYCURSOR);
9362
2.09k
    yyaccept = 84;
9363
2.09k
    yych = *(YYMARKER = ++YYCURSOR);
9364
2.09k
    if (yybm[256+yych] & 128) {
9365
471
      goto yy47;
9366
471
    }
9367
1.62k
    if (yych == '\\') goto yy164;
9368
1.62k
yy825:
9369
1.62k
    YYDEBUG(825, *YYCURSOR);
9370
1.62k
    yyleng = YYCURSOR - SCNG(yy_text);
9371
1.62k
#line 1493 "Zend/zend_language_scanner.l"
9372
1.62k
    {
9373
1.62k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9374
1.62k
}
9375
0
#line 9376 "Zend/zend_language_scanner.c"
9376
1.86k
yy826:
9377
1.86k
    YYDEBUG(826, *YYCURSOR);
9378
1.86k
    yych = *++YYCURSOR;
9379
1.86k
    if (yych == 'D') goto yy857;
9380
1.21k
    if (yych == 'd') goto yy857;
9381
289
    goto yy86;
9382
2.60k
yy827:
9383
2.60k
    YYDEBUG(827, *YYCURSOR);
9384
2.60k
    yych = *++YYCURSOR;
9385
2.60k
    if (yych == 'M') goto yy858;
9386
1.77k
    if (yych == 'm') goto yy858;
9387
532
    goto yy86;
9388
155k
yy828:
9389
155k
    YYDEBUG(828, *YYCURSOR);
9390
155k
    ++YYCURSOR;
9391
155k
    YYFILL(1);
9392
155k
    yych = *YYCURSOR;
9393
155k
    if (yych <= '\r') {
9394
137k
      if (yych <= '\t') {
9395
3.52k
        if (yych <= 0x00) goto yy86;
9396
3.29k
        goto yy738;
9397
134k
      } else {
9398
134k
        if (yych <= '\n') goto yy859;
9399
56.7k
        if (yych <= '\f') goto yy738;
9400
55.9k
        goto yy859;
9401
56.7k
      }
9402
137k
    } else {
9403
18.3k
      if (yych <= '*') {
9404
5.89k
        if (yych <= ')') goto yy738;
9405
2.33k
        goto yy789;
9406
12.4k
      } else {
9407
12.4k
        if (yych == '[') goto yy590;
9408
12.2k
        goto yy738;
9409
12.4k
      }
9410
18.3k
    }
9411
6.40k
yy829:
9412
6.40k
    YYDEBUG(829, *YYCURSOR);
9413
6.40k
    ++YYCURSOR;
9414
6.40k
    YYFILL(1);
9415
6.40k
    yych = *YYCURSOR;
9416
6.40k
    if (yych <= '*') {
9417
5.04k
      if (yych <= 0x00) goto yy86;
9418
4.82k
      if (yych <= ')') goto yy590;
9419
4.43k
      goto yy861;
9420
4.82k
    } else {
9421
1.35k
      if (yych == '/') goto yy738;
9422
822
      goto yy590;
9423
1.35k
    }
9424
5.17k
yy830:
9425
5.17k
    YYDEBUG(830, *YYCURSOR);
9426
5.17k
    yyaccept = 53;
9427
5.17k
    YYMARKER = ++YYCURSOR;
9428
5.17k
    YYFILL(1);
9429
5.17k
    yych = *YYCURSOR;
9430
5.17k
    if (yych <= 0x00) goto yy583;
9431
3.98k
    if (yych == '*') goto yy668;
9432
3.73k
    goto yy590;
9433
7.33k
yy831:
9434
7.33k
    YYDEBUG(831, *YYCURSOR);
9435
7.33k
    yyaccept = 53;
9436
7.33k
    YYMARKER = ++YYCURSOR;
9437
7.33k
    YYFILL(1);
9438
7.33k
    yych = *YYCURSOR;
9439
7.33k
    if (yych <= 'W') {
9440
2.22k
      if (yych <= 0x00) goto yy583;
9441
2.02k
      if (yych == '*') goto yy668;
9442
1.87k
      goto yy590;
9443
5.10k
    } else {
9444
5.10k
      if (yych <= 'X') goto yy862;
9445
4.68k
      if (yych == 'x') goto yy862;
9446
300
      goto yy590;
9447
4.68k
    }
9448
8.11k
yy832:
9449
8.11k
    YYDEBUG(832, *YYCURSOR);
9450
8.11k
    yyaccept = 53;
9451
8.11k
    YYMARKER = ++YYCURSOR;
9452
8.11k
    YYFILL(1);
9453
8.11k
    yych = *YYCURSOR;
9454
8.11k
    if (yych <= 'L') {
9455
531
      if (yych <= 0x00) goto yy583;
9456
289
      if (yych == '*') goto yy668;
9457
226
      goto yy590;
9458
7.58k
    } else {
9459
7.58k
      if (yych <= 'M') goto yy863;
9460
5.62k
      if (yych == 'm') goto yy863;
9461
394
      goto yy590;
9462
5.62k
    }
9463
9.86k
yy833:
9464
9.86k
    YYDEBUG(833, *YYCURSOR);
9465
9.86k
    ++YYCURSOR;
9466
9.86k
    YYFILL(1);
9467
9.86k
    yych = *YYCURSOR;
9468
9.86k
    if (yych <= '\r') {
9469
1.43k
      if (yych <= '\t') {
9470
567
        if (yych <= 0x00) goto yy86;
9471
269
        goto yy586;
9472
866
      } else {
9473
866
        if (yych <= '\n') goto yy495;
9474
495
        if (yych <= '\f') goto yy586;
9475
373
        goto yy495;
9476
495
      }
9477
8.43k
    } else {
9478
8.43k
      if (yych <= 'N') {
9479
5.03k
        if (yych <= 'M') goto yy586;
9480
3.44k
        goto yy864;
9481
5.03k
      } else {
9482
3.40k
        if (yych == 'n') goto yy864;
9483
518
        goto yy586;
9484
3.40k
      }
9485
8.43k
    }
9486
19.3k
yy834:
9487
19.3k
    YYDEBUG(834, *YYCURSOR);
9488
19.3k
    ++YYCURSOR;
9489
19.3k
    YYFILL(1);
9490
19.3k
    yych = *YYCURSOR;
9491
19.3k
    if (yych <= '\r') {
9492
1.65k
      if (yych <= '\t') {
9493
514
        if (yych <= 0x00) goto yy86;
9494
443
        goto yy586;
9495
1.14k
      } else {
9496
1.14k
        if (yych <= '\n') goto yy495;
9497
949
        if (yych <= '\f') goto yy586;
9498
608
        goto yy495;
9499
949
      }
9500
17.7k
    } else {
9501
17.7k
      if (yych <= 'E') {
9502
2.34k
        if (yych <= 'D') goto yy586;
9503
1.79k
        goto yy865;
9504
15.3k
      } else {
9505
15.3k
        if (yych == 'e') goto yy865;
9506
206
        goto yy586;
9507
15.3k
      }
9508
17.7k
    }
9509
2.58k
yy835:
9510
2.58k
    YYDEBUG(835, *YYCURSOR);
9511
2.58k
    yyaccept = 85;
9512
2.58k
    yych = *(YYMARKER = ++YYCURSOR);
9513
2.58k
    if (yybm[256+yych] & 128) {
9514
729
      goto yy47;
9515
729
    }
9516
1.85k
    if (yych == '\\') goto yy164;
9517
1.83k
yy836:
9518
1.83k
    YYDEBUG(836, *YYCURSOR);
9519
1.83k
    yyleng = YYCURSOR - SCNG(yy_text);
9520
1.83k
#line 1582 "Zend/zend_language_scanner.l"
9521
1.83k
    {
9522
1.83k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9523
1.83k
}
9524
0
#line 9525 "Zend/zend_language_scanner.c"
9525
4.19k
yy837:
9526
4.19k
    YYDEBUG(837, *YYCURSOR);
9527
4.19k
    yyaccept = 4;
9528
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
9529
4.19k
    if (yych == 'C') goto yy866;
9530
3.59k
    if (yych == 'c') goto yy866;
9531
473
    goto yy48;
9532
1.74k
yy838:
9533
1.74k
    YYDEBUG(838, *YYCURSOR);
9534
1.74k
    yyaccept = 86;
9535
1.74k
    yych = *(YYMARKER = ++YYCURSOR);
9536
1.74k
    if (yybm[256+yych] & 128) {
9537
546
      goto yy47;
9538
546
    }
9539
1.19k
    if (yych == '\\') goto yy164;
9540
1.19k
yy839:
9541
1.19k
    YYDEBUG(839, *YYCURSOR);
9542
1.19k
    yyleng = YYCURSOR - SCNG(yy_text);
9543
1.19k
#line 1505 "Zend/zend_language_scanner.l"
9544
1.19k
    {
9545
1.19k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9546
1.19k
}
9547
0
#line 9548 "Zend/zend_language_scanner.c"
9548
4.77k
yy840:
9549
4.77k
    YYDEBUG(840, *YYCURSOR);
9550
4.77k
    ++YYCURSOR;
9551
4.77k
    YYFILL(1);
9552
4.77k
    yych = *YYCURSOR;
9553
4.77k
    if (yych <= '_') {
9554
1.98k
      if (yych <= '@') goto yy86;
9555
1.57k
      if (yych <= 'Z') goto yy867;
9556
380
      if (yych <= '^') goto yy86;
9557
309
      goto yy867;
9558
2.79k
    } else {
9559
2.79k
      if (yych <= '`') goto yy86;
9560
2.58k
      if (yych <= 'z') goto yy867;
9561
813
      if (yych <= 0x7F) goto yy86;
9562
554
      goto yy867;
9563
813
    }
9564
908
yy841:
9565
908
    YYDEBUG(841, *YYCURSOR);
9566
908
    yych = *++YYCURSOR;
9567
908
    if (yych == 'T') goto yy870;
9568
600
    if (yych == 't') goto yy870;
9569
270
    goto yy86;
9570
2.19k
yy842:
9571
2.19k
    YYDEBUG(842, *YYCURSOR);
9572
2.19k
    yych = *++YYCURSOR;
9573
2.19k
    if (yych == 'S') goto yy871;
9574
1.63k
    if (yych == 's') goto yy871;
9575
285
    goto yy86;
9576
1.67k
yy843:
9577
1.67k
    YYDEBUG(843, *YYCURSOR);
9578
1.67k
    yych = *++YYCURSOR;
9579
1.67k
    if (yych == ')') goto yy872;
9580
379
    goto yy86;
9581
2.57k
yy844:
9582
2.57k
    YYDEBUG(844, *YYCURSOR);
9583
2.57k
    yyaccept = 4;
9584
2.57k
    yych = *(YYMARKER = ++YYCURSOR);
9585
2.57k
    if (yych == 'C') goto yy874;
9586
2.11k
    if (yych == 'c') goto yy874;
9587
237
    goto yy48;
9588
4.03k
yy845:
9589
4.03k
    YYDEBUG(845, *YYCURSOR);
9590
4.03k
    yych = *++YYCURSOR;
9591
4.03k
    if (yych <= '^') {
9592
1.75k
      if (yych <= '9') {
9593
804
        if (yych <= '/') goto yy875;
9594
92
        goto yy86;
9595
952
      } else {
9596
952
        if (yych <= '@') goto yy875;
9597
641
        if (yych <= 'Z') goto yy86;
9598
329
        goto yy875;
9599
641
      }
9600
2.28k
    } else {
9601
2.28k
      if (yych <= '`') {
9602
695
        if (yych <= '_') goto yy86;
9603
431
        goto yy875;
9604
1.58k
      } else {
9605
1.58k
        if (yych <= 'z') goto yy86;
9606
1.04k
        if (yych <= 0x7F) goto yy875;
9607
351
        goto yy86;
9608
1.04k
      }
9609
2.28k
    }
9610
111k
yy846:
9611
111k
    YYDEBUG(846, *YYCURSOR);
9612
111k
    ++YYCURSOR;
9613
111k
    YYFILL(1);
9614
111k
    yych = *YYCURSOR;
9615
111k
    YYDEBUG(847, *YYCURSOR);
9616
111k
    if (yych <= '#') {
9617
88.9k
      if (yych <= '\f') {
9618
14.6k
        if (yych <= 0x00) goto yy86;
9619
13.9k
        if (yych <= 0x08) goto yy696;
9620
13.5k
        if (yych <= '\n') goto yy846;
9621
310
        goto yy696;
9622
74.2k
      } else {
9623
74.2k
        if (yych <= 0x1F) {
9624
9.94k
          if (yych <= '\r') goto yy846;
9625
564
          goto yy696;
9626
64.3k
        } else {
9627
64.3k
          if (yych <= ' ') goto yy846;
9628
60.7k
          if (yych <= '"') goto yy696;
9629
60.1k
          goto yy877;
9630
60.7k
        }
9631
74.2k
      }
9632
88.9k
    } else {
9633
22.3k
      if (yych <= '/') {
9634
9.76k
        if (yych == '*') goto yy760;
9635
9.35k
        if (yych <= '.') goto yy696;
9636
6.30k
        goto yy878;
9637
12.5k
      } else {
9638
12.5k
        if (yych <= 'F') {
9639
8.24k
          if (yych <= 'E') goto yy696;
9640
7.42k
          goto yy879;
9641
8.24k
        } else {
9642
4.30k
          if (yych == 'f') goto yy879;
9643
3.58k
          goto yy696;
9644
4.30k
        }
9645
12.5k
      }
9646
22.3k
    }
9647
11.4k
yy848:
9648
11.4k
    YYDEBUG(848, *YYCURSOR);
9649
11.4k
    ++YYCURSOR;
9650
11.4k
    YYFILL(1);
9651
11.4k
    yych = *YYCURSOR;
9652
11.4k
    YYDEBUG(849, *YYCURSOR);
9653
11.4k
    if (yych <= '\r') {
9654
4.58k
      if (yych <= '\t') {
9655
1.23k
        if (yych <= 0x00) goto yy86;
9656
947
        goto yy808;
9657
3.35k
      } else {
9658
3.35k
        if (yych <= '\n') goto yy846;
9659
1.85k
        if (yych <= '\f') goto yy808;
9660
1.59k
        goto yy846;
9661
1.85k
      }
9662
6.90k
    } else {
9663
6.90k
      if (yych <= '*') {
9664
1.56k
        if (yych <= ')') goto yy808;
9665
667
        goto yy848;
9666
5.34k
      } else {
9667
5.34k
        if (yych == '/') goto yy694;
9668
3.85k
        goto yy808;
9669
5.34k
      }
9670
6.90k
    }
9671
11.8k
yy850:
9672
11.8k
    YYDEBUG(850, *YYCURSOR);
9673
11.8k
    ++YYCURSOR;
9674
11.8k
    YYFILL(1);
9675
11.8k
    yych = *YYCURSOR;
9676
11.8k
    if (yych <= '\r') {
9677
3.37k
      if (yych <= '\t') {
9678
805
        if (yych <= 0x00) goto yy86;
9679
433
        goto yy692;
9680
2.57k
      } else {
9681
2.57k
        if (yych <= '\n') goto yy616;
9682
2.26k
        if (yych <= '\f') goto yy692;
9683
222
        goto yy616;
9684
2.26k
      }
9685
8.50k
    } else {
9686
8.50k
      if (yych <= 'M') {
9687
5.71k
        if (yych <= 'L') goto yy692;
9688
5.40k
        goto yy880;
9689
5.71k
      } else {
9690
2.79k
        if (yych == 'm') goto yy880;
9691
1.41k
        goto yy692;
9692
2.79k
      }
9693
8.50k
    }
9694
5.58k
yy851:
9695
5.58k
    YYDEBUG(851, *YYCURSOR);
9696
5.58k
    yyaccept = 4;
9697
5.58k
    yych = *(YYMARKER = ++YYCURSOR);
9698
5.58k
    if (yych == '_') goto yy881;
9699
919
    goto yy48;
9700
3.94k
yy852:
9701
3.94k
    YYDEBUG(852, *YYCURSOR);
9702
3.94k
    yyaccept = 4;
9703
3.94k
    yych = *(YYMARKER = ++YYCURSOR);
9704
3.94k
    if (yych == 'P') goto yy882;
9705
3.21k
    if (yych == 'p') goto yy882;
9706
582
    goto yy48;
9707
4.05k
yy853:
9708
4.05k
    YYDEBUG(853, *YYCURSOR);
9709
4.05k
    yyaccept = 87;
9710
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
9711
4.05k
    if (yybm[256+yych] & 128) {
9712
734
      goto yy47;
9713
734
    }
9714
3.31k
    if (yych == '\\') goto yy164;
9715
3.31k
yy854:
9716
3.31k
    YYDEBUG(854, *YYCURSOR);
9717
3.31k
    yyleng = YYCURSOR - SCNG(yy_text);
9718
3.31k
#line 2268 "Zend/zend_language_scanner.l"
9719
3.31k
    {
9720
3.31k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9721
3.31k
}
9722
0
#line 9723 "Zend/zend_language_scanner.c"
9723
3.78k
yy855:
9724
3.78k
    YYDEBUG(855, *YYCURSOR);
9725
3.78k
    yyaccept = 4;
9726
3.78k
    yych = *(YYMARKER = ++YYCURSOR);
9727
3.78k
    if (yych == 'E') goto yy883;
9728
3.53k
    if (yych == 'e') goto yy883;
9729
587
    goto yy48;
9730
2.65k
yy856:
9731
2.65k
    YYDEBUG(856, *YYCURSOR);
9732
2.65k
    yyaccept = 4;
9733
2.65k
    yych = *(YYMARKER = ++YYCURSOR);
9734
2.65k
    if (yych == '_') goto yy884;
9735
1.06k
    goto yy48;
9736
2.48k
yy857:
9737
2.48k
    YYDEBUG(857, *YYCURSOR);
9738
2.48k
    yych = *++YYCURSOR;
9739
2.48k
    if (yych == 'S') goto yy885;
9740
2.32k
    if (yych == 's') goto yy885;
9741
2.09k
    goto yy86;
9742
2.09k
yy858:
9743
2.07k
    YYDEBUG(858, *YYCURSOR);
9744
2.07k
    yych = *++YYCURSOR;
9745
2.07k
    if (yych == 'E') goto yy887;
9746
1.51k
    if (yych == 'e') goto yy887;
9747
542
    goto yy86;
9748
160k
yy859:
9749
160k
    YYDEBUG(859, *YYCURSOR);
9750
160k
    ++YYCURSOR;
9751
160k
    YYFILL(1);
9752
160k
    yych = *YYCURSOR;
9753
160k
    YYDEBUG(860, *YYCURSOR);
9754
160k
    if (yych <= '@') {
9755
57.7k
      if (yych <= 0x1F) {
9756
9.42k
        if (yych <= '\t') {
9757
1.73k
          if (yych <= 0x00) goto yy86;
9758
1.26k
          if (yych <= 0x08) goto yy738;
9759
119
          goto yy859;
9760
7.69k
        } else {
9761
7.69k
          if (yych <= '\n') goto yy787;
9762
6.95k
          if (yych == '\r') goto yy787;
9763
1.02k
          goto yy738;
9764
6.95k
        }
9765
48.3k
      } else {
9766
48.3k
        if (yych <= ')') {
9767
24.9k
          if (yych <= ' ') goto yy859;
9768
18.0k
          if (yych == '#') goto yy888;
9769
7.95k
          goto yy738;
9770
23.4k
        } else {
9771
23.4k
          if (yych <= '*') goto yy789;
9772
22.8k
          if (yych == '/') goto yy889;
9773
2.66k
          goto yy738;
9774
22.8k
        }
9775
48.3k
      }
9776
102k
    } else {
9777
102k
      if (yych <= '_') {
9778
15.1k
        if (yych <= 'H') {
9779
1.47k
          if (yych == 'E') goto yy891;
9780
974
          goto yy890;
9781
13.6k
        } else {
9782
13.6k
          if (yych <= 'I') goto yy892;
9783
5.07k
          if (yych <= 'Z') goto yy890;
9784
4.11k
          if (yych <= '^') goto yy738;
9785
3.68k
          goto yy890;
9786
4.11k
        }
9787
87.7k
      } else {
9788
87.7k
        if (yych <= 'h') {
9789
55.3k
          if (yych <= '`') goto yy738;
9790
55.0k
          if (yych == 'e') goto yy891;
9791
1.70k
          goto yy890;
9792
55.0k
        } else {
9793
32.4k
          if (yych <= 'i') goto yy892;
9794
7.71k
          if (yych <= 'z') goto yy890;
9795
4.64k
          if (yych <= 0x7F) goto yy738;
9796
4.16k
          goto yy890;
9797
4.64k
        }
9798
87.7k
      }
9799
102k
    }
9800
4.43k
yy861:
9801
4.43k
    YYDEBUG(861, *YYCURSOR);
9802
4.43k
    ++YYCURSOR;
9803
4.43k
    YYFILL(1);
9804
4.43k
    yych = *YYCURSOR;
9805
4.43k
    if (yych <= '*') {
9806
918
      if (yych <= 0x00) goto yy86;
9807
717
      if (yych <= ')') goto yy590;
9808
195
      goto yy668;
9809
3.51k
    } else {
9810
3.51k
      if (yych == '/') goto yy787;
9811
402
      goto yy590;
9812
3.51k
    }
9813
4.80k
yy862:
9814
4.80k
    YYDEBUG(862, *YYCURSOR);
9815
4.80k
    ++YYCURSOR;
9816
4.80k
    YYFILL(1);
9817
4.80k
    yych = *YYCURSOR;
9818
4.80k
    if (yych <= 'S') {
9819
591
      if (yych <= 0x00) goto yy86;
9820
396
      if (yych == '*') goto yy668;
9821
202
      goto yy590;
9822
4.21k
    } else {
9823
4.21k
      if (yych <= 'T') goto yy893;
9824
3.34k
      if (yych == 't') goto yy893;
9825
241
      goto yy590;
9826
3.34k
    }
9827
7.18k
yy863:
9828
7.18k
    YYDEBUG(863, *YYCURSOR);
9829
7.18k
    ++YYCURSOR;
9830
7.18k
    YYFILL(1);
9831
7.18k
    yych = *YYCURSOR;
9832
7.18k
    if (yych <= 'O') {
9833
798
      if (yych <= 0x00) goto yy86;
9834
620
      if (yych == '*') goto yy668;
9835
553
      goto yy590;
9836
6.39k
    } else {
9837
6.39k
      if (yych <= 'P') goto yy894;
9838
4.67k
      if (yych == 'p') goto yy894;
9839
229
      goto yy590;
9840
4.67k
    }
9841
6.33k
yy864:
9842
6.33k
    YYDEBUG(864, *YYCURSOR);
9843
6.33k
    ++YYCURSOR;
9844
6.33k
    YYFILL(1);
9845
6.33k
    yych = *YYCURSOR;
9846
6.33k
    if (yych <= '\r') {
9847
1.10k
      if (yych <= '\t') {
9848
324
        if (yych <= 0x00) goto yy86;
9849
235
        goto yy586;
9850
777
      } else {
9851
777
        if (yych <= '\n') goto yy495;
9852
434
        if (yych <= '\f') goto yy586;
9853
232
        goto yy495;
9854
434
      }
9855
5.22k
    } else {
9856
5.22k
      if (yych <= 'D') {
9857
2.92k
        if (yych <= 'C') goto yy586;
9858
929
        goto yy895;
9859
2.92k
      } else {
9860
2.30k
        if (yych == 'd') goto yy895;
9861
408
        goto yy586;
9862
2.30k
      }
9863
5.22k
    }
9864
16.9k
yy865:
9865
16.9k
    YYDEBUG(865, *YYCURSOR);
9866
16.9k
    ++YYCURSOR;
9867
16.9k
    YYFILL(1);
9868
16.9k
    yych = *YYCURSOR;
9869
16.9k
    if (yych <= '\r') {
9870
4.66k
      if (yych <= '\t') {
9871
3.69k
        if (yych <= 0x00) goto yy86;
9872
3.59k
        goto yy586;
9873
3.69k
      } else {
9874
971
        if (yych <= '\n') goto yy495;
9875
747
        if (yych <= '\f') goto yy586;
9876
290
        goto yy495;
9877
747
      }
9878
12.3k
    } else {
9879
12.3k
      if (yych <= 'M') {
9880
1.62k
        if (yych <= 'L') goto yy586;
9881
1.32k
        goto yy896;
9882
10.6k
      } else {
9883
10.6k
        if (yych == 'm') goto yy896;
9884
269
        goto yy586;
9885
10.6k
      }
9886
12.3k
    }
9887
3.72k
yy866:
9888
3.72k
    YYDEBUG(866, *YYCURSOR);
9889
3.72k
    yyaccept = 4;
9890
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
9891
3.72k
    if (yych == 'E') goto yy897;
9892
3.08k
    if (yych == 'e') goto yy897;
9893
560
    goto yy48;
9894
16.3k
yy867:
9895
16.3k
    YYDEBUG(867, *YYCURSOR);
9896
16.3k
    yyaccept = 88;
9897
16.3k
    YYMARKER = ++YYCURSOR;
9898
16.3k
    YYFILL(1);
9899
16.3k
    yych = *YYCURSOR;
9900
16.3k
    YYDEBUG(868, *YYCURSOR);
9901
16.3k
    if (yych <= '\\') {
9902
5.01k
      if (yych <= '@') {
9903
1.58k
        if (yych <= '/') goto yy869;
9904
942
        if (yych <= '9') goto yy867;
9905
3.42k
      } else {
9906
3.42k
        if (yych <= 'Z') goto yy867;
9907
2.15k
        if (yych >= '\\') goto yy840;
9908
2.15k
      }
9909
11.3k
    } else {
9910
11.3k
      if (yych <= '`') {
9911
1.12k
        if (yych == '_') goto yy867;
9912
10.2k
      } else {
9913
10.2k
        if (yych <= 'z') goto yy867;
9914
3.24k
        if (yych >= 0x80) goto yy867;
9915
3.24k
      }
9916
11.3k
    }
9917
2.65k
yy869:
9918
2.65k
    YYDEBUG(869, *YYCURSOR);
9919
2.65k
    yyleng = YYCURSOR - SCNG(yy_text);
9920
2.65k
#line 2438 "Zend/zend_language_scanner.l"
9921
2.65k
    {
9922
2.65k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9923
2.65k
}
9924
0
#line 9925 "Zend/zend_language_scanner.c"
9925
638
yy870:
9926
638
    YYDEBUG(870, *YYCURSOR);
9927
638
    yych = *++YYCURSOR;
9928
638
    if (yych == ')') goto yy899;
9929
310
    goto yy86;
9930
1.90k
yy871:
9931
1.90k
    YYDEBUG(871, *YYCURSOR);
9932
1.90k
    yych = *++YYCURSOR;
9933
1.90k
    if (yych == 'E') goto yy901;
9934
1.15k
    if (yych == 'e') goto yy901;
9935
747
    goto yy86;
9936
1.29k
yy872:
9937
1.29k
    YYDEBUG(872, *YYCURSOR);
9938
1.29k
    ++YYCURSOR;
9939
1.29k
    YYDEBUG(873, *YYCURSOR);
9940
1.29k
    yyleng = YYCURSOR - SCNG(yy_text);
9941
1.29k
#line 1785 "Zend/zend_language_scanner.l"
9942
1.29k
    {
9943
1.29k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9944
1.29k
}
9945
0
#line 9946 "Zend/zend_language_scanner.c"
9946
2.34k
yy874:
9947
2.34k
    YYDEBUG(874, *YYCURSOR);
9948
2.34k
    yyaccept = 4;
9949
2.34k
    yych = *(YYMARKER = ++YYCURSOR);
9950
2.34k
    if (yych == 'E') goto yy902;
9951
1.80k
    if (yych == 'e') goto yy902;
9952
601
    goto yy48;
9953
3.08k
yy875:
9954
3.08k
    YYDEBUG(875, *YYCURSOR);
9955
3.08k
    ++YYCURSOR;
9956
19.3k
yy876:
9957
19.3k
    YYDEBUG(876, *YYCURSOR);
9958
19.3k
    yyleng = YYCURSOR - SCNG(yy_text);
9959
19.3k
#line 1427 "Zend/zend_language_scanner.l"
9960
19.3k
    {
9961
19.3k
  yyless(yyleng - 1);
9962
19.3k
  HANDLE_NEWLINES(yytext, yyleng);
9963
19.3k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9964
19.3k
}
9965
0
#line 9966 "Zend/zend_language_scanner.c"
9966
61.2k
yy877:
9967
61.2k
    YYDEBUG(877, *YYCURSOR);
9968
61.2k
    ++YYCURSOR;
9969
61.2k
    YYFILL(1);
9970
61.2k
    yych = *YYCURSOR;
9971
61.2k
    if (yych <= '\r') {
9972
55.8k
      if (yych <= '\t') {
9973
799
        if (yych <= 0x00) goto yy86;
9974
659
        goto yy808;
9975
55.0k
      } else {
9976
55.0k
        if (yych <= '\n') goto yy904;
9977
39.0k
        if (yych <= '\f') goto yy808;
9978
38.9k
        goto yy904;
9979
39.0k
      }
9980
55.8k
    } else {
9981
5.36k
      if (yych <= '*') {
9982
1.51k
        if (yych <= ')') goto yy808;
9983
506
        goto yy848;
9984
3.85k
      } else {
9985
3.85k
        if (yych == '[') goto yy696;
9986
3.65k
        goto yy808;
9987
3.85k
      }
9988
5.36k
    }
9989
6.37k
yy878:
9990
6.37k
    YYDEBUG(878, *YYCURSOR);
9991
6.37k
    ++YYCURSOR;
9992
6.37k
    YYFILL(1);
9993
6.37k
    yych = *YYCURSOR;
9994
6.37k
    if (yych <= '*') {
9995
5.49k
      if (yych <= 0x00) goto yy86;
9996
5.18k
      if (yych <= ')') goto yy696;
9997
4.80k
      goto yy906;
9998
5.18k
    } else {
9999
880
      if (yych == '/') goto yy808;
10000
651
      goto yy696;
10001
880
    }
10002
8.49k
yy879:
10003
8.49k
    YYDEBUG(879, *YYCURSOR);
10004
8.49k
    ++YYCURSOR;
10005
8.49k
    YYFILL(1);
10006
8.49k
    yych = *YYCURSOR;
10007
8.49k
    if (yych <= 'Q') {
10008
1.11k
      if (yych <= 0x00) goto yy86;
10009
939
      if (yych == '*') goto yy760;
10010
589
      goto yy696;
10011
7.38k
    } else {
10012
7.38k
      if (yych <= 'R') goto yy907;
10013
1.51k
      if (yych == 'r') goto yy907;
10014
575
      goto yy696;
10015
1.51k
    }
10016
6.78k
yy880:
10017
6.78k
    YYDEBUG(880, *YYCURSOR);
10018
6.78k
    ++YYCURSOR;
10019
6.78k
    YYFILL(1);
10020
6.78k
    yych = *YYCURSOR;
10021
6.78k
    if (yych <= '9') {
10022
4.07k
      if (yych <= '\n') {
10023
1.46k
        if (yych <= 0x00) goto yy875;
10024
1.39k
        if (yych <= '\t') goto yy908;
10025
1.16k
        goto yy909;
10026
2.60k
      } else {
10027
2.60k
        if (yych == '\r') goto yy909;
10028
938
        if (yych <= '/') goto yy908;
10029
212
        goto yy692;
10030
938
      }
10031
4.07k
    } else {
10032
2.71k
      if (yych <= '_') {
10033
1.23k
        if (yych <= '@') goto yy908;
10034
749
        if (yych <= 'Z') goto yy692;
10035
493
        if (yych <= '^') goto yy908;
10036
69
        goto yy692;
10037
1.48k
      } else {
10038
1.48k
        if (yych <= '`') goto yy908;
10039
1.24k
        if (yych <= 'z') goto yy692;
10040
969
        if (yych <= 0x7F) goto yy908;
10041
565
        goto yy692;
10042
969
      }
10043
2.71k
    }
10044
4.66k
yy881:
10045
4.66k
    YYDEBUG(881, *YYCURSOR);
10046
4.66k
    yyaccept = 4;
10047
4.66k
    yych = *(YYMARKER = ++YYCURSOR);
10048
4.66k
    if (yych == '_') goto yy910;
10049
152
    goto yy48;
10050
3.35k
yy882:
10051
3.35k
    YYDEBUG(882, *YYCURSOR);
10052
3.35k
    yyaccept = 4;
10053
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
10054
3.35k
    if (yych == 'I') goto yy912;
10055
2.57k
    if (yych == 'i') goto yy912;
10056
248
    goto yy48;
10057
3.19k
yy883:
10058
3.19k
    YYDEBUG(883, *YYCURSOR);
10059
3.19k
    yyaccept = 4;
10060
3.19k
    yych = *(YYMARKER = ++YYCURSOR);
10061
3.19k
    if (yych == '_') goto yy913;
10062
457
    goto yy48;
10063
1.59k
yy884:
10064
1.59k
    YYDEBUG(884, *YYCURSOR);
10065
1.59k
    yyaccept = 4;
10066
1.59k
    yych = *(YYMARKER = ++YYCURSOR);
10067
1.59k
    if (yych == '_') goto yy914;
10068
75
    goto yy48;
10069
384
yy885:
10070
384
    YYDEBUG(885, *YYCURSOR);
10071
384
    ++YYCURSOR;
10072
3.93k
yy886:
10073
3.93k
    YYDEBUG(886, *YYCURSOR);
10074
3.93k
    yyleng = YYCURSOR - SCNG(yy_text);
10075
3.93k
#line 1569 "Zend/zend_language_scanner.l"
10076
3.93k
    {
10077
3.93k
  yyless(4);
10078
3.93k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10079
3.93k
}
10080
0
#line 10081 "Zend/zend_language_scanner.c"
10081
1.52k
yy887:
10082
1.52k
    YYDEBUG(887, *YYCURSOR);
10083
1.52k
    yych = *++YYCURSOR;
10084
1.52k
    if (yych == 'N') goto yy916;
10085
1.01k
    if (yych == 'n') goto yy916;
10086
375
    goto yy86;
10087
10.1k
yy888:
10088
10.1k
    YYDEBUG(888, *YYCURSOR);
10089
10.1k
    ++YYCURSOR;
10090
10.1k
    YYFILL(1);
10091
10.1k
    yych = *YYCURSOR;
10092
10.1k
    if (yych <= '\f') {
10093
7.06k
      if (yych <= 0x00) goto yy86;
10094
6.86k
      if (yych == '\n') goto yy859;
10095
208
      goto yy738;
10096
6.86k
    } else {
10097
3.04k
      if (yych <= '\r') goto yy859;
10098
1.90k
      if (yych == '*') goto yy789;
10099
1.60k
      goto yy738;
10100
1.90k
    }
10101
20.1k
yy889:
10102
20.1k
    YYDEBUG(889, *YYCURSOR);
10103
20.1k
    ++YYCURSOR;
10104
20.1k
    YYFILL(1);
10105
20.1k
    yych = *YYCURSOR;
10106
20.1k
    if (yych <= '\f') {
10107
972
      if (yych <= 0x00) goto yy86;
10108
637
      if (yych == '\n') goto yy787;
10109
227
      goto yy738;
10110
19.1k
    } else {
10111
19.1k
      if (yych <= '\r') goto yy787;
10112
18.8k
      if (yych == '*') goto yy917;
10113
1.73k
      goto yy738;
10114
18.8k
    }
10115
14.5k
yy890:
10116
14.5k
    YYDEBUG(890, *YYCURSOR);
10117
14.5k
    yyaccept = 53;
10118
14.5k
    YYMARKER = ++YYCURSOR;
10119
14.5k
    YYFILL(1);
10120
14.5k
    yych = *YYCURSOR;
10121
14.5k
    if (yych <= '\f') {
10122
2.67k
      if (yych <= 0x00) goto yy583;
10123
2.25k
      if (yych == '\n') goto yy787;
10124
123
      goto yy738;
10125
11.8k
    } else {
10126
11.8k
      if (yych <= '\r') goto yy787;
10127
11.6k
      if (yych == '*') goto yy789;
10128
11.1k
      goto yy738;
10129
11.6k
    }
10130
53.8k
yy891:
10131
53.8k
    YYDEBUG(891, *YYCURSOR);
10132
53.8k
    yyaccept = 53;
10133
53.8k
    YYMARKER = ++YYCURSOR;
10134
53.8k
    YYFILL(1);
10135
53.8k
    yych = *YYCURSOR;
10136
53.8k
    if (yych <= ')') {
10137
5.35k
      if (yych <= '\n') {
10138
2.75k
        if (yych <= 0x00) goto yy583;
10139
2.55k
        if (yych <= '\t') goto yy738;
10140
506
        goto yy787;
10141
2.60k
      } else {
10142
2.60k
        if (yych == '\r') goto yy787;
10143
1.54k
        goto yy738;
10144
2.60k
      }
10145
48.5k
    } else {
10146
48.5k
      if (yych <= 'X') {
10147
29.2k
        if (yych <= '*') goto yy789;
10148
29.2k
        if (yych <= 'W') goto yy738;
10149
4.29k
        goto yy918;
10150
29.2k
      } else {
10151
19.2k
        if (yych == 'x') goto yy918;
10152
7.03k
        goto yy738;
10153
19.2k
      }
10154
48.5k
    }
10155
33.3k
yy892:
10156
33.3k
    YYDEBUG(892, *YYCURSOR);
10157
33.3k
    yyaccept = 53;
10158
33.3k
    YYMARKER = ++YYCURSOR;
10159
33.3k
    YYFILL(1);
10160
33.3k
    yych = *YYCURSOR;
10161
33.3k
    if (yych <= ')') {
10162
1.14k
      if (yych <= '\n') {
10163
539
        if (yych <= 0x00) goto yy583;
10164
320
        if (yych <= '\t') goto yy738;
10165
238
        goto yy787;
10166
607
      } else {
10167
607
        if (yych == '\r') goto yy787;
10168
358
        goto yy738;
10169
607
      }
10170
32.1k
    } else {
10171
32.1k
      if (yych <= 'M') {
10172
8.48k
        if (yych <= '*') goto yy789;
10173
8.28k
        if (yych <= 'L') goto yy738;
10174
7.40k
        goto yy919;
10175
23.6k
      } else {
10176
23.6k
        if (yych == 'm') goto yy919;
10177
1.48k
        goto yy738;
10178
23.6k
      }
10179
32.1k
    }
10180
3.97k
yy893:
10181
3.97k
    YYDEBUG(893, *YYCURSOR);
10182
3.97k
    ++YYCURSOR;
10183
3.97k
    YYFILL(1);
10184
3.97k
    yych = *YYCURSOR;
10185
3.97k
    if (yych <= 'D') {
10186
838
      if (yych <= 0x00) goto yy86;
10187
600
      if (yych == '*') goto yy668;
10188
411
      goto yy590;
10189
3.13k
    } else {
10190
3.13k
      if (yych <= 'E') goto yy920;
10191
2.92k
      if (yych == 'e') goto yy920;
10192
286
      goto yy590;
10193
2.92k
    }
10194
6.16k
yy894:
10195
6.16k
    YYDEBUG(894, *YYCURSOR);
10196
6.16k
    ++YYCURSOR;
10197
6.16k
    YYFILL(1);
10198
6.16k
    yych = *YYCURSOR;
10199
6.16k
    if (yych <= 'K') {
10200
596
      if (yych <= 0x00) goto yy86;
10201
393
      if (yych == '*') goto yy668;
10202
204
      goto yy590;
10203
5.56k
    } else {
10204
5.56k
      if (yych <= 'L') goto yy921;
10205
3.81k
      if (yych == 'l') goto yy921;
10206
260
      goto yy590;
10207
3.81k
    }
10208
6.66k
yy895:
10209
6.66k
    YYDEBUG(895, *YYCURSOR);
10210
6.66k
    ++YYCURSOR;
10211
6.66k
    YYFILL(1);
10212
6.66k
    yych = *YYCURSOR;
10213
6.66k
    if (yych <= '\r') {
10214
1.77k
      if (yych <= '\t') {
10215
560
        if (yych <= 0x00) goto yy86;
10216
354
        goto yy586;
10217
1.21k
      } else {
10218
1.21k
        if (yych <= '\n') goto yy495;
10219
1.07k
        if (yych <= '\f') goto yy586;
10220
586
        goto yy495;
10221
1.07k
      }
10222
4.88k
    } else {
10223
4.88k
      if (yych <= 'S') {
10224
1.24k
        if (yych <= 'R') goto yy586;
10225
297
        goto yy922;
10226
3.64k
      } else {
10227
3.64k
        if (yych == 's') goto yy922;
10228
486
        goto yy586;
10229
3.64k
      }
10230
4.88k
    }
10231
11.7k
yy896:
10232
11.7k
    YYDEBUG(896, *YYCURSOR);
10233
11.7k
    ++YYCURSOR;
10234
11.7k
    YYFILL(1);
10235
11.7k
    yych = *YYCURSOR;
10236
11.7k
    if (yych <= '\r') {
10237
1.89k
      if (yych <= '\t') {
10238
384
        if (yych <= 0x00) goto yy86;
10239
220
        goto yy586;
10240
1.51k
      } else {
10241
1.51k
        if (yych <= '\n') goto yy495;
10242
1.26k
        if (yych <= '\f') goto yy586;
10243
648
        goto yy495;
10244
1.26k
      }
10245
9.83k
    } else {
10246
9.83k
      if (yych <= 'E') {
10247
1.15k
        if (yych <= 'D') goto yy586;
10248
747
        goto yy923;
10249
8.67k
      } else {
10250
8.67k
        if (yych == 'e') goto yy923;
10251
769
        goto yy586;
10252
8.67k
      }
10253
9.83k
    }
10254
3.16k
yy897:
10255
3.16k
    YYDEBUG(897, *YYCURSOR);
10256
3.16k
    yyaccept = 89;
10257
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
10258
3.16k
    if (yybm[256+yych] & 128) {
10259
362
      goto yy47;
10260
362
    }
10261
2.80k
    if (yych == '\\') goto yy164;
10262
2.79k
yy898:
10263
2.79k
    YYDEBUG(898, *YYCURSOR);
10264
2.79k
    yyleng = YYCURSOR - SCNG(yy_text);
10265
2.79k
#line 1725 "Zend/zend_language_scanner.l"
10266
2.79k
    {
10267
2.79k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10268
2.79k
}
10269
0
#line 10270 "Zend/zend_language_scanner.c"
10270
328
yy899:
10271
328
    YYDEBUG(899, *YYCURSOR);
10272
328
    ++YYCURSOR;
10273
328
    YYDEBUG(900, *YYCURSOR);
10274
328
    yyleng = YYCURSOR - SCNG(yy_text);
10275
328
#line 1793 "Zend/zend_language_scanner.l"
10276
328
    {
10277
328
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10278
328
}
10279
0
#line 10280 "Zend/zend_language_scanner.c"
10280
1.15k
yy901:
10281
1.15k
    YYDEBUG(901, *YYCURSOR);
10282
1.15k
    yych = *++YYCURSOR;
10283
1.15k
    if (yych == 'T') goto yy924;
10284
952
    if (yych == 't') goto yy924;
10285
569
    goto yy86;
10286
1.74k
yy902:
10287
1.74k
    YYDEBUG(902, *YYCURSOR);
10288
1.74k
    yyaccept = 90;
10289
1.74k
    yych = *(YYMARKER = ++YYCURSOR);
10290
1.74k
    if (yybm[256+yych] & 128) {
10291
391
      goto yy47;
10292
391
    }
10293
1.34k
    if (yych == '\\') goto yy164;
10294
1.34k
yy903:
10295
1.34k
    YYDEBUG(903, *YYCURSOR);
10296
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
10297
1.34k
#line 1733 "Zend/zend_language_scanner.l"
10298
1.34k
    {
10299
1.34k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10300
1.34k
}
10301
0
#line 10302 "Zend/zend_language_scanner.c"
10302
58.1k
yy904:
10303
58.1k
    YYDEBUG(904, *YYCURSOR);
10304
58.1k
    ++YYCURSOR;
10305
58.1k
    YYFILL(1);
10306
58.1k
    yych = *YYCURSOR;
10307
58.1k
    YYDEBUG(905, *YYCURSOR);
10308
58.1k
    if (yych <= '"') {
10309
4.29k
      if (yych <= '\n') {
10310
2.15k
        if (yych <= 0x00) goto yy86;
10311
1.75k
        if (yych <= 0x08) goto yy808;
10312
946
        if (yych <= '\t') goto yy904;
10313
566
        goto yy846;
10314
2.13k
      } else {
10315
2.13k
        if (yych <= '\r') {
10316
1.41k
          if (yych <= '\f') goto yy808;
10317
1.34k
          goto yy846;
10318
1.41k
        } else {
10319
716
          if (yych == ' ') goto yy904;
10320
572
          goto yy808;
10321
716
        }
10322
2.13k
      }
10323
53.8k
    } else {
10324
53.8k
      if (yych <= '/') {
10325
17.5k
        if (yych <= ')') {
10326
4.99k
          if (yych <= '#') goto yy925;
10327
1.31k
          goto yy808;
10328
12.5k
        } else {
10329
12.5k
          if (yych <= '*') goto yy848;
10330
12.1k
          if (yych <= '.') goto yy808;
10331
11.7k
          goto yy926;
10332
12.1k
        }
10333
36.3k
      } else {
10334
36.3k
        if (yych <= 'F') {
10335
31.7k
          if (yych <= 'E') goto yy808;
10336
29.9k
          goto yy927;
10337
31.7k
        } else {
10338
4.68k
          if (yych == 'f') goto yy927;
10339
4.30k
          goto yy808;
10340
4.68k
        }
10341
36.3k
      }
10342
53.8k
    }
10343
4.80k
yy906:
10344
4.80k
    YYDEBUG(906, *YYCURSOR);
10345
4.80k
    ++YYCURSOR;
10346
4.80k
    YYFILL(1);
10347
4.80k
    yych = *YYCURSOR;
10348
4.80k
    if (yych <= '*') {
10349
1.49k
      if (yych <= 0x00) goto yy86;
10350
1.25k
      if (yych <= ')') goto yy696;
10351
326
      goto yy760;
10352
3.30k
    } else {
10353
3.30k
      if (yych == '/') goto yy846;
10354
201
      goto yy696;
10355
3.30k
    }
10356
6.80k
yy907:
10357
6.80k
    YYDEBUG(907, *YYCURSOR);
10358
6.80k
    ++YYCURSOR;
10359
6.80k
    YYFILL(1);
10360
6.80k
    yych = *YYCURSOR;
10361
6.80k
    if (yych <= 'N') {
10362
711
      if (yych <= 0x00) goto yy86;
10363
430
      if (yych == '*') goto yy760;
10364
362
      goto yy696;
10365
6.09k
    } else {
10366
6.09k
      if (yych <= 'O') goto yy928;
10367
1.04k
      if (yych == 'o') goto yy928;
10368
346
      goto yy696;
10369
1.04k
    }
10370
2.51k
yy908:
10371
2.51k
    YYDEBUG(908, *YYCURSOR);
10372
2.51k
    yyaccept = 91;
10373
2.51k
    YYMARKER = ++YYCURSOR;
10374
2.51k
    YYFILL(1);
10375
2.51k
    yych = *YYCURSOR;
10376
2.51k
    if (yych <= '\n') {
10377
1.32k
      if (yych <= 0x00) goto yy876;
10378
1.05k
      if (yych <= '\t') goto yy692;
10379
928
      goto yy616;
10380
1.18k
    } else {
10381
1.18k
      if (yych == '\r') goto yy616;
10382
790
      goto yy692;
10383
1.18k
    }
10384
2.83k
yy909:
10385
2.83k
    YYDEBUG(909, *YYCURSOR);
10386
2.83k
    yyaccept = 91;
10387
2.83k
    YYMARKER = ++YYCURSOR;
10388
2.83k
    YYFILL(5);
10389
2.83k
    yych = *YYCURSOR;
10390
2.83k
    if (yych <= '"') {
10391
1.56k
      if (yych <= '\f') {
10392
1.00k
        if (yych <= 0x08) goto yy876;
10393
864
        if (yych <= '\n') goto yy616;
10394
192
        goto yy876;
10395
864
      } else {
10396
567
        if (yych <= '\r') goto yy616;
10397
319
        if (yych == ' ') goto yy616;
10398
61
        goto yy876;
10399
319
      }
10400
1.56k
    } else {
10401
1.26k
      if (yych <= 'E') {
10402
768
        if (yych <= '#') goto yy618;
10403
533
        if (yych == '/') goto yy619;
10404
263
        goto yy876;
10405
533
      } else {
10406
496
        if (yych <= 'F') goto yy691;
10407
422
        if (yych == 'f') goto yy691;
10408
219
        goto yy876;
10409
422
      }
10410
1.26k
    }
10411
4.51k
yy910:
10412
4.51k
    YYDEBUG(910, *YYCURSOR);
10413
4.51k
    yyaccept = 92;
10414
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
10415
4.51k
    if (yybm[256+yych] & 128) {
10416
556
      goto yy47;
10417
556
    }
10418
3.95k
    if (yych == '\\') goto yy164;
10419
3.93k
yy911:
10420
3.93k
    YYDEBUG(911, *YYCURSOR);
10421
3.93k
    yyleng = YYCURSOR - SCNG(yy_text);
10422
3.93k
#line 2260 "Zend/zend_language_scanner.l"
10423
3.93k
    {
10424
3.93k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10425
3.93k
}
10426
0
#line 10427 "Zend/zend_language_scanner.c"
10427
3.11k
yy912:
10428
3.11k
    YYDEBUG(912, *YYCURSOR);
10429
3.11k
    yyaccept = 4;
10430
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
10431
3.11k
    if (yych == 'L') goto yy929;
10432
2.89k
    if (yych == 'l') goto yy929;
10433
567
    goto yy48;
10434
2.73k
yy913:
10435
2.73k
    YYDEBUG(913, *YYCURSOR);
10436
2.73k
    yyaccept = 4;
10437
2.73k
    yych = *(YYMARKER = ++YYCURSOR);
10438
2.73k
    if (yych == '_') goto yy930;
10439
565
    goto yy48;
10440
1.52k
yy914:
10441
1.52k
    YYDEBUG(914, *YYCURSOR);
10442
1.52k
    yyaccept = 93;
10443
1.52k
    yych = *(YYMARKER = ++YYCURSOR);
10444
1.52k
    if (yybm[256+yych] & 128) {
10445
326
      goto yy47;
10446
326
    }
10447
1.19k
    if (yych == '\\') goto yy164;
10448
1.19k
yy915:
10449
1.19k
    YYDEBUG(915, *YYCURSOR);
10450
1.19k
    yyleng = YYCURSOR - SCNG(yy_text);
10451
1.19k
#line 2264 "Zend/zend_language_scanner.l"
10452
1.19k
    {
10453
1.19k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10454
1.19k
}
10455
0
#line 10456 "Zend/zend_language_scanner.c"
10456
1.15k
yy916:
10457
1.15k
    YYDEBUG(916, *YYCURSOR);
10458
1.15k
    yych = *++YYCURSOR;
10459
1.15k
    if (yych == 'T') goto yy857;
10460
685
    if (yych == 't') goto yy857;
10461
248
    goto yy86;
10462
17.0k
yy917:
10463
17.0k
    YYDEBUG(917, *YYCURSOR);
10464
17.0k
    ++YYCURSOR;
10465
17.0k
    YYFILL(1);
10466
17.0k
    yych = *YYCURSOR;
10467
17.0k
    if (yych <= '\r') {
10468
2.73k
      if (yych <= '\t') {
10469
399
        if (yych <= 0x00) goto yy86;
10470
204
        goto yy738;
10471
2.33k
      } else {
10472
2.33k
        if (yych <= '\n') goto yy787;
10473
1.49k
        if (yych <= '\f') goto yy738;
10474
1.27k
        goto yy787;
10475
1.49k
      }
10476
14.3k
    } else {
10477
14.3k
      if (yych <= '*') {
10478
1.13k
        if (yych <= ')') goto yy738;
10479
773
        goto yy789;
10480
13.2k
      } else {
10481
13.2k
        if (yych == '/') goto yy859;
10482
532
        goto yy738;
10483
13.2k
      }
10484
14.3k
    }
10485
16.4k
yy918:
10486
16.4k
    YYDEBUG(918, *YYCURSOR);
10487
16.4k
    ++YYCURSOR;
10488
16.4k
    YYFILL(1);
10489
16.4k
    yych = *YYCURSOR;
10490
16.4k
    if (yych <= ')') {
10491
1.45k
      if (yych <= '\n') {
10492
643
        if (yych <= 0x00) goto yy86;
10493
449
        if (yych <= '\t') goto yy738;
10494
218
        goto yy787;
10495
814
      } else {
10496
814
        if (yych == '\r') goto yy787;
10497
576
        goto yy738;
10498
814
      }
10499
15.0k
    } else {
10500
15.0k
      if (yych <= 'T') {
10501
5.23k
        if (yych <= '*') goto yy789;
10502
5.17k
        if (yych <= 'S') goto yy738;
10503
4.72k
        goto yy932;
10504
9.80k
      } else {
10505
9.80k
        if (yych == 't') goto yy932;
10506
884
        goto yy738;
10507
9.80k
      }
10508
15.0k
    }
10509
29.5k
yy919:
10510
29.5k
    YYDEBUG(919, *YYCURSOR);
10511
29.5k
    ++YYCURSOR;
10512
29.5k
    YYFILL(1);
10513
29.5k
    yych = *YYCURSOR;
10514
29.5k
    if (yych <= ')') {
10515
2.49k
      if (yych <= '\n') {
10516
1.95k
        if (yych <= 0x00) goto yy86;
10517
1.74k
        if (yych <= '\t') goto yy738;
10518
436
        goto yy787;
10519
1.74k
      } else {
10520
535
        if (yych == '\r') goto yy787;
10521
298
        goto yy738;
10522
535
      }
10523
27.1k
    } else {
10524
27.1k
      if (yych <= 'P') {
10525
6.52k
        if (yych <= '*') goto yy789;
10526
5.94k
        if (yych <= 'O') goto yy738;
10527
5.10k
        goto yy933;
10528
20.5k
      } else {
10529
20.5k
        if (yych == 'p') goto yy933;
10530
1.85k
        goto yy738;
10531
20.5k
      }
10532
27.1k
    }
10533
2.85k
yy920:
10534
2.85k
    YYDEBUG(920, *YYCURSOR);
10535
2.85k
    ++YYCURSOR;
10536
2.85k
    YYFILL(1);
10537
2.85k
    yych = *YYCURSOR;
10538
2.85k
    if (yych <= 'M') {
10539
667
      if (yych <= 0x00) goto yy86;
10540
450
      if (yych == '*') goto yy668;
10541
238
      goto yy590;
10542
2.18k
    } else {
10543
2.18k
      if (yych <= 'N') goto yy934;
10544
1.80k
      if (yych == 'n') goto yy934;
10545
294
      goto yy590;
10546
1.80k
    }
10547
5.30k
yy921:
10548
5.30k
    YYDEBUG(921, *YYCURSOR);
10549
5.30k
    ++YYCURSOR;
10550
5.30k
    YYFILL(1);
10551
5.30k
    yych = *YYCURSOR;
10552
5.30k
    if (yych <= 'D') {
10553
775
      if (yych <= 0x00) goto yy86;
10554
546
      if (yych == '*') goto yy668;
10555
394
      goto yy590;
10556
4.53k
    } else {
10557
4.53k
      if (yych <= 'E') goto yy935;
10558
3.33k
      if (yych == 'e') goto yy935;
10559
315
      goto yy590;
10560
3.33k
    }
10561
3.45k
yy922:
10562
3.45k
    YYDEBUG(922, *YYCURSOR);
10563
3.45k
    yyaccept = 94;
10564
3.45k
    YYMARKER = ++YYCURSOR;
10565
3.45k
    YYFILL(1);
10566
3.45k
    yych = *YYCURSOR;
10567
3.45k
    if (yych <= '\n') {
10568
276
      if (yych <= 0x00) goto yy886;
10569
205
      if (yych <= '\t') goto yy586;
10570
111
      goto yy495;
10571
3.18k
    } else {
10572
3.18k
      if (yych == '\r') goto yy495;
10573
2.96k
      goto yy586;
10574
3.18k
    }
10575
8.65k
yy923:
10576
8.65k
    YYDEBUG(923, *YYCURSOR);
10577
8.65k
    ++YYCURSOR;
10578
8.65k
    YYFILL(1);
10579
8.65k
    yych = *YYCURSOR;
10580
8.65k
    if (yych <= '\r') {
10581
1.78k
      if (yych <= '\t') {
10582
485
        if (yych <= 0x00) goto yy86;
10583
272
        goto yy586;
10584
1.29k
      } else {
10585
1.29k
        if (yych <= '\n') goto yy495;
10586
568
        if (yych <= '\f') goto yy586;
10587
365
        goto yy495;
10588
568
      }
10589
6.86k
    } else {
10590
6.86k
      if (yych <= 'N') {
10591
816
        if (yych <= 'M') goto yy586;
10592
580
        goto yy936;
10593
6.05k
      } else {
10594
6.05k
        if (yych == 'n') goto yy936;
10595
993
        goto yy586;
10596
6.05k
      }
10597
6.86k
    }
10598
589
yy924:
10599
589
    YYDEBUG(924, *YYCURSOR);
10600
589
    yych = *++YYCURSOR;
10601
589
    if (yych == ')') goto yy937;
10602
257
    goto yy86;
10603
3.68k
yy925:
10604
3.68k
    YYDEBUG(925, *YYCURSOR);
10605
3.68k
    ++YYCURSOR;
10606
3.68k
    YYFILL(1);
10607
3.68k
    yych = *YYCURSOR;
10608
3.68k
    if (yych <= '\f') {
10609
971
      if (yych <= 0x00) goto yy86;
10610
774
      if (yych == '\n') goto yy904;
10611
203
      goto yy808;
10612
2.71k
    } else {
10613
2.71k
      if (yych <= '\r') goto yy904;
10614
1.07k
      if (yych == '*') goto yy848;
10615
626
      goto yy808;
10616
1.07k
    }
10617
11.7k
yy926:
10618
11.7k
    YYDEBUG(926, *YYCURSOR);
10619
11.7k
    ++YYCURSOR;
10620
11.7k
    YYFILL(1);
10621
11.7k
    yych = *YYCURSOR;
10622
11.7k
    if (yych <= '\f') {
10623
1.27k
      if (yych <= 0x00) goto yy86;
10624
1.08k
      if (yych == '\n') goto yy846;
10625
267
      goto yy808;
10626
10.5k
    } else {
10627
10.5k
      if (yych <= '\r') goto yy846;
10628
10.2k
      if (yych == '*') goto yy939;
10629
1.89k
      goto yy808;
10630
10.2k
    }
10631
30.3k
yy927:
10632
30.3k
    YYDEBUG(927, *YYCURSOR);
10633
30.3k
    ++YYCURSOR;
10634
30.3k
    YYFILL(1);
10635
30.3k
    yych = *YYCURSOR;
10636
30.3k
    if (yych <= ')') {
10637
5.57k
      if (yych <= '\n') {
10638
5.24k
        if (yych <= 0x00) goto yy86;
10639
5.03k
        if (yych <= '\t') goto yy808;
10640
4.84k
        goto yy846;
10641
5.03k
      } else {
10642
329
        if (yych == '\r') goto yy846;
10643
50
        goto yy808;
10644
329
      }
10645
24.7k
    } else {
10646
24.7k
      if (yych <= 'R') {
10647
15.2k
        if (yych <= '*') goto yy848;
10648
15.0k
        if (yych <= 'Q') goto yy808;
10649
14.7k
        goto yy940;
10650
15.0k
      } else {
10651
9.55k
        if (yych == 'r') goto yy940;
10652
3.10k
        goto yy808;
10653
9.55k
      }
10654
24.7k
    }
10655
5.75k
yy928:
10656
5.75k
    YYDEBUG(928, *YYCURSOR);
10657
5.75k
    ++YYCURSOR;
10658
5.75k
    YYFILL(1);
10659
5.75k
    yych = *YYCURSOR;
10660
5.75k
    if (yych <= 'L') {
10661
973
      if (yych <= 0x00) goto yy86;
10662
710
      if (yych == '*') goto yy760;
10663
452
      goto yy696;
10664
4.77k
    } else {
10665
4.77k
      if (yych <= 'M') goto yy941;
10666
791
      if (yych == 'm') goto yy941;
10667
75
      goto yy696;
10668
791
    }
10669
2.54k
yy929:
10670
2.54k
    YYDEBUG(929, *YYCURSOR);
10671
2.54k
    yyaccept = 4;
10672
2.54k
    yych = *(YYMARKER = ++YYCURSOR);
10673
2.54k
    if (yych == 'E') goto yy942;
10674
2.34k
    if (yych == 'e') goto yy942;
10675
616
    goto yy48;
10676
2.17k
yy930:
10677
2.17k
    YYDEBUG(930, *YYCURSOR);
10678
2.17k
    yyaccept = 95;
10679
2.17k
    yych = *(YYMARKER = ++YYCURSOR);
10680
2.17k
    if (yybm[256+yych] & 128) {
10681
288
      goto yy47;
10682
288
    }
10683
1.88k
    if (yych == '\\') goto yy164;
10684
1.72k
yy931:
10685
1.72k
    YYDEBUG(931, *YYCURSOR);
10686
1.72k
    yyleng = YYCURSOR - SCNG(yy_text);
10687
1.72k
#line 2284 "Zend/zend_language_scanner.l"
10688
1.72k
    {
10689
1.72k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10690
1.72k
}
10691
0
#line 10692 "Zend/zend_language_scanner.c"
10692
13.6k
yy932:
10693
13.6k
    YYDEBUG(932, *YYCURSOR);
10694
13.6k
    ++YYCURSOR;
10695
13.6k
    YYFILL(1);
10696
13.6k
    yych = *YYCURSOR;
10697
13.6k
    if (yych <= ')') {
10698
2.00k
      if (yych <= '\n') {
10699
1.66k
        if (yych <= 0x00) goto yy86;
10700
1.45k
        if (yych <= '\t') goto yy738;
10701
1.15k
        goto yy787;
10702
1.45k
      } else {
10703
337
        if (yych == '\r') goto yy787;
10704
95
        goto yy738;
10705
337
      }
10706
11.6k
    } else {
10707
11.6k
      if (yych <= 'E') {
10708
1.37k
        if (yych <= '*') goto yy789;
10709
1.10k
        if (yych <= 'D') goto yy738;
10710
506
        goto yy943;
10711
10.2k
      } else {
10712
10.2k
        if (yych == 'e') goto yy943;
10713
992
        goto yy738;
10714
10.2k
      }
10715
11.6k
    }
10716
23.8k
yy933:
10717
23.8k
    YYDEBUG(933, *YYCURSOR);
10718
23.8k
    ++YYCURSOR;
10719
23.8k
    YYFILL(1);
10720
23.8k
    yych = *YYCURSOR;
10721
23.8k
    if (yych <= ')') {
10722
1.83k
      if (yych <= '\n') {
10723
494
        if (yych <= 0x00) goto yy86;
10724
297
        if (yych <= '\t') goto yy738;
10725
199
        goto yy787;
10726
1.33k
      } else {
10727
1.33k
        if (yych == '\r') goto yy787;
10728
421
        goto yy738;
10729
1.33k
      }
10730
22.0k
    } else {
10731
22.0k
      if (yych <= 'L') {
10732
4.51k
        if (yych <= '*') goto yy789;
10733
4.31k
        if (yych <= 'K') goto yy738;
10734
3.65k
        goto yy944;
10735
17.4k
      } else {
10736
17.4k
        if (yych == 'l') goto yy944;
10737
1.31k
        goto yy738;
10738
17.4k
      }
10739
22.0k
    }
10740
1.89k
yy934:
10741
1.89k
    YYDEBUG(934, *YYCURSOR);
10742
1.89k
    ++YYCURSOR;
10743
1.89k
    YYFILL(1);
10744
1.89k
    yych = *YYCURSOR;
10745
1.89k
    if (yych <= 'C') {
10746
506
      if (yych <= 0x00) goto yy86;
10747
262
      if (yych == '*') goto yy668;
10748
59
      goto yy590;
10749
1.38k
    } else {
10750
1.38k
      if (yych <= 'D') goto yy945;
10751
1.12k
      if (yych == 'd') goto yy945;
10752
218
      goto yy590;
10753
1.12k
    }
10754
4.21k
yy935:
10755
4.21k
    YYDEBUG(935, *YYCURSOR);
10756
4.21k
    ++YYCURSOR;
10757
4.21k
    YYFILL(1);
10758
4.21k
    yych = *YYCURSOR;
10759
4.21k
    if (yych <= 'L') {
10760
775
      if (yych <= 0x00) goto yy86;
10761
502
      if (yych == '*') goto yy668;
10762
207
      goto yy590;
10763
3.44k
    } else {
10764
3.44k
      if (yych <= 'M') goto yy946;
10765
2.55k
      if (yych == 'm') goto yy946;
10766
203
      goto yy590;
10767
2.55k
    }
10768
5.64k
yy936:
10769
5.64k
    YYDEBUG(936, *YYCURSOR);
10770
5.64k
    ++YYCURSOR;
10771
5.64k
    YYFILL(1);
10772
5.64k
    yych = *YYCURSOR;
10773
5.64k
    if (yych <= '\r') {
10774
1.16k
      if (yych <= '\t') {
10775
501
        if (yych <= 0x00) goto yy86;
10776
267
        goto yy586;
10777
662
      } else {
10778
662
        if (yych <= '\n') goto yy495;
10779
464
        if (yych <= '\f') goto yy586;
10780
211
        goto yy495;
10781
464
      }
10782
4.47k
    } else {
10783
4.47k
      if (yych <= 'T') {
10784
485
        if (yych <= 'S') goto yy586;
10785
61
        goto yy895;
10786
3.99k
      } else {
10787
3.99k
        if (yych == 't') goto yy895;
10788
218
        goto yy586;
10789
3.99k
      }
10790
4.47k
    }
10791
332
yy937:
10792
332
    YYDEBUG(937, *YYCURSOR);
10793
332
    ++YYCURSOR;
10794
332
    YYDEBUG(938, *YYCURSOR);
10795
332
    yyleng = YYCURSOR - SCNG(yy_text);
10796
332
#line 1789 "Zend/zend_language_scanner.l"
10797
332
    {
10798
332
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10799
332
}
10800
0
#line 10801 "Zend/zend_language_scanner.c"
10801
8.38k
yy939:
10802
8.38k
    YYDEBUG(939, *YYCURSOR);
10803
8.38k
    ++YYCURSOR;
10804
8.38k
    YYFILL(1);
10805
8.38k
    yych = *YYCURSOR;
10806
8.38k
    if (yych <= '\r') {
10807
5.49k
      if (yych <= '\t') {
10808
3.80k
        if (yych <= 0x00) goto yy86;
10809
3.56k
        goto yy808;
10810
3.80k
      } else {
10811
1.68k
        if (yych <= '\n') goto yy846;
10812
1.01k
        if (yych <= '\f') goto yy808;
10813
825
        goto yy846;
10814
1.01k
      }
10815
5.49k
    } else {
10816
2.89k
      if (yych <= '*') {
10817
617
        if (yych <= ')') goto yy808;
10818
339
        goto yy848;
10819
2.27k
      } else {
10820
2.27k
        if (yych == '/') goto yy904;
10821
1.73k
        goto yy808;
10822
2.27k
      }
10823
2.89k
    }
10824
21.1k
yy940:
10825
21.1k
    YYDEBUG(940, *YYCURSOR);
10826
21.1k
    ++YYCURSOR;
10827
21.1k
    YYFILL(1);
10828
21.1k
    yych = *YYCURSOR;
10829
21.1k
    if (yych <= ')') {
10830
1.06k
      if (yych <= '\n') {
10831
681
        if (yych <= 0x00) goto yy86;
10832
395
        if (yych <= '\t') goto yy808;
10833
165
        goto yy846;
10834
395
      } else {
10835
383
        if (yych == '\r') goto yy846;
10836
222
        goto yy808;
10837
383
      }
10838
20.1k
    } else {
10839
20.1k
      if (yych <= 'O') {
10840
13.1k
        if (yych <= '*') goto yy848;
10841
12.6k
        if (yych <= 'N') goto yy808;
10842
12.5k
        goto yy947;
10843
12.6k
      } else {
10844
6.95k
        if (yych == 'o') goto yy947;
10845
1.18k
        goto yy808;
10846
6.95k
      }
10847
20.1k
    }
10848
4.70k
yy941:
10849
4.70k
    YYDEBUG(941, *YYCURSOR);
10850
4.70k
    ++YYCURSOR;
10851
4.70k
    YYFILL(1);
10852
4.70k
    yych = *YYCURSOR;
10853
4.70k
    if (yych <= '@') {
10854
2.71k
      if (yych <= '*') {
10855
2.37k
        if (yych <= 0x00) goto yy875;
10856
2.02k
        if (yych <= ')') goto yy948;
10857
1.28k
        goto yy949;
10858
2.02k
      } else {
10859
339
        if (yych <= '/') goto yy948;
10860
280
        if (yych <= '9') goto yy696;
10861
269
        goto yy948;
10862
280
      }
10863
2.71k
    } else {
10864
1.99k
      if (yych <= '_') {
10865
940
        if (yych <= 'Z') goto yy696;
10866
698
        if (yych <= '^') goto yy948;
10867
204
        goto yy696;
10868
1.05k
      } else {
10869
1.05k
        if (yych <= '`') goto yy948;
10870
789
        if (yych <= 'z') goto yy696;
10871
553
        if (yych <= 0x7F) goto yy948;
10872
309
        goto yy696;
10873
553
      }
10874
1.99k
    }
10875
1.92k
yy942:
10876
1.92k
    YYDEBUG(942, *YYCURSOR);
10877
1.92k
    yyaccept = 4;
10878
1.92k
    yych = *(YYMARKER = ++YYCURSOR);
10879
1.92k
    if (yych == 'R') goto yy950;
10880
1.69k
    if (yych == 'r') goto yy950;
10881
241
    goto yy48;
10882
9.77k
yy943:
10883
9.77k
    YYDEBUG(943, *YYCURSOR);
10884
9.77k
    ++YYCURSOR;
10885
9.77k
    YYFILL(1);
10886
9.77k
    yych = *YYCURSOR;
10887
9.77k
    if (yych <= ')') {
10888
2.54k
      if (yych <= '\n') {
10889
1.87k
        if (yych <= 0x00) goto yy86;
10890
1.67k
        if (yych <= '\t') goto yy738;
10891
1.27k
        goto yy787;
10892
1.67k
      } else {
10893
668
        if (yych == '\r') goto yy787;
10894
244
        goto yy738;
10895
668
      }
10896
7.23k
    } else {
10897
7.23k
      if (yych <= 'N') {
10898
4.59k
        if (yych <= '*') goto yy789;
10899
3.35k
        if (yych <= 'M') goto yy738;
10900
1.61k
        goto yy952;
10901
3.35k
      } else {
10902
2.63k
        if (yych == 'n') goto yy952;
10903
247
        goto yy738;
10904
2.63k
      }
10905
7.23k
    }
10906
19.8k
yy944:
10907
19.8k
    YYDEBUG(944, *YYCURSOR);
10908
19.8k
    ++YYCURSOR;
10909
19.8k
    YYFILL(1);
10910
19.8k
    yych = *YYCURSOR;
10911
19.8k
    if (yych <= ')') {
10912
1.93k
      if (yych <= '\n') {
10913
1.44k
        if (yych <= 0x00) goto yy86;
10914
1.27k
        if (yych <= '\t') goto yy738;
10915
934
        goto yy787;
10916
1.27k
      } else {
10917
493
        if (yych == '\r') goto yy787;
10918
402
        goto yy738;
10919
493
      }
10920
17.8k
    } else {
10921
17.8k
      if (yych <= 'E') {
10922
3.68k
        if (yych <= '*') goto yy789;
10923
3.49k
        if (yych <= 'D') goto yy738;
10924
3.25k
        goto yy953;
10925
14.1k
      } else {
10926
14.1k
        if (yych == 'e') goto yy953;
10927
416
        goto yy738;
10928
14.1k
      }
10929
17.8k
    }
10930
2.04k
yy945:
10931
2.04k
    YYDEBUG(945, *YYCURSOR);
10932
2.04k
    ++YYCURSOR;
10933
2.04k
    YYFILL(1);
10934
2.04k
    yych = *YYCURSOR;
10935
2.04k
    if (yych <= 'R') {
10936
1.01k
      if (yych <= 0x00) goto yy86;
10937
775
      if (yych == '*') goto yy668;
10938
512
      goto yy590;
10939
1.02k
    } else {
10940
1.02k
      if (yych <= 'S') goto yy954;
10941
825
      if (yych == 's') goto yy954;
10942
410
      goto yy590;
10943
825
    }
10944
3.23k
yy946:
10945
3.23k
    YYDEBUG(946, *YYCURSOR);
10946
3.23k
    ++YYCURSOR;
10947
3.23k
    YYFILL(1);
10948
3.23k
    yych = *YYCURSOR;
10949
3.23k
    if (yych <= 'D') {
10950
497
      if (yych <= 0x00) goto yy86;
10951
298
      if (yych == '*') goto yy668;
10952
77
      goto yy590;
10953
2.74k
    } else {
10954
2.74k
      if (yych <= 'E') goto yy955;
10955
2.25k
      if (yych == 'e') goto yy955;
10956
191
      goto yy590;
10957
2.25k
    }
10958
18.2k
yy947:
10959
18.2k
    YYDEBUG(947, *YYCURSOR);
10960
18.2k
    ++YYCURSOR;
10961
18.2k
    YYFILL(1);
10962
18.2k
    yych = *YYCURSOR;
10963
18.2k
    if (yych <= ')') {
10964
1.18k
      if (yych <= '\n') {
10965
674
        if (yych <= 0x00) goto yy86;
10966
450
        if (yych <= '\t') goto yy808;
10967
101
        goto yy846;
10968
513
      } else {
10969
513
        if (yych == '\r') goto yy846;
10970
299
        goto yy808;
10971
513
      }
10972
17.0k
    } else {
10973
17.0k
      if (yych <= 'M') {
10974
10.6k
        if (yych <= '*') goto yy848;
10975
10.5k
        if (yych <= 'L') goto yy808;
10976
10.2k
        goto yy956;
10977
10.5k
      } else {
10978
6.44k
        if (yych == 'm') goto yy956;
10979
650
        goto yy808;
10980
6.44k
      }
10981
17.0k
    }
10982
2.06k
yy948:
10983
2.06k
    YYDEBUG(948, *YYCURSOR);
10984
2.06k
    yyaccept = 91;
10985
2.06k
    YYMARKER = ++YYCURSOR;
10986
2.06k
    YYFILL(1);
10987
2.06k
    yych = *YYCURSOR;
10988
2.06k
    if (yych <= 0x00) goto yy876;
10989
1.83k
    if (yych == '*') goto yy760;
10990
1.54k
    goto yy696;
10991
1.54k
yy949:
10992
1.28k
    YYDEBUG(949, *YYCURSOR);
10993
1.28k
    yyaccept = 91;
10994
1.28k
    YYMARKER = ++YYCURSOR;
10995
1.28k
    YYFILL(1);
10996
1.28k
    yych = *YYCURSOR;
10997
1.28k
    if (yych <= '*') {
10998
840
      if (yych <= 0x00) goto yy876;
10999
666
      if (yych <= ')') goto yy696;
11000
516
      goto yy760;
11001
666
    } else {
11002
441
      if (yych == '/') goto yy616;
11003
244
      goto yy696;
11004
441
    }
11005
1.68k
yy950:
11006
1.68k
    YYDEBUG(950, *YYCURSOR);
11007
1.68k
    yyaccept = 96;
11008
1.68k
    yych = *(YYMARKER = ++YYCURSOR);
11009
1.68k
    if (yybm[256+yych] & 128) {
11010
432
      goto yy47;
11011
432
    }
11012
1.25k
    if (yych == '\\') goto yy164;
11013
1.09k
yy951:
11014
1.09k
    YYDEBUG(951, *YYCURSOR);
11015
1.09k
    yyleng = YYCURSOR - SCNG(yy_text);
11016
1.09k
#line 1761 "Zend/zend_language_scanner.l"
11017
1.09k
    {
11018
1.09k
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11019
1.09k
}
11020
0
#line 11021 "Zend/zend_language_scanner.c"
11021
4.00k
yy952:
11022
4.00k
    YYDEBUG(952, *YYCURSOR);
11023
4.00k
    ++YYCURSOR;
11024
4.00k
    YYFILL(1);
11025
4.00k
    yych = *YYCURSOR;
11026
4.00k
    if (yych <= ')') {
11027
1.23k
      if (yych <= '\n') {
11028
672
        if (yych <= 0x00) goto yy86;
11029
466
        if (yych <= '\t') goto yy738;
11030
258
        goto yy787;
11031
559
      } else {
11032
559
        if (yych == '\r') goto yy787;
11033
349
        goto yy738;
11034
559
      }
11035
2.76k
    } else {
11036
2.76k
      if (yych <= 'D') {
11037
813
        if (yych <= '*') goto yy789;
11038
612
        if (yych <= 'C') goto yy738;
11039
306
        goto yy957;
11040
1.95k
      } else {
11041
1.95k
        if (yych == 'd') goto yy957;
11042
402
        goto yy738;
11043
1.95k
      }
11044
2.76k
    }
11045
17.0k
yy953:
11046
17.0k
    YYDEBUG(953, *YYCURSOR);
11047
17.0k
    ++YYCURSOR;
11048
17.0k
    YYFILL(1);
11049
17.0k
    yych = *YYCURSOR;
11050
17.0k
    if (yych <= ')') {
11051
1.54k
      if (yych <= '\n') {
11052
888
        if (yych <= 0x00) goto yy86;
11053
684
        if (yych <= '\t') goto yy738;
11054
237
        goto yy787;
11055
684
      } else {
11056
652
        if (yych == '\r') goto yy787;
11057
234
        goto yy738;
11058
652
      }
11059
15.4k
    } else {
11060
15.4k
      if (yych <= 'M') {
11061
2.30k
        if (yych <= '*') goto yy789;
11062
1.81k
        if (yych <= 'L') goto yy738;
11063
1.62k
        goto yy958;
11064
13.1k
      } else {
11065
13.1k
        if (yych == 'm') goto yy958;
11066
634
        goto yy738;
11067
13.1k
      }
11068
15.4k
    }
11069
615
yy954:
11070
615
    YYDEBUG(954, *YYCURSOR);
11071
615
    yyaccept = 94;
11072
615
    YYMARKER = ++YYCURSOR;
11073
615
    YYFILL(1);
11074
615
    yych = *YYCURSOR;
11075
615
    if (yych <= 0x00) goto yy886;
11076
455
    if (yych == '*') goto yy668;
11077
256
    goto yy590;
11078
2.55k
yy955:
11079
2.55k
    YYDEBUG(955, *YYCURSOR);
11080
2.55k
    ++YYCURSOR;
11081
2.55k
    YYFILL(1);
11082
2.55k
    yych = *YYCURSOR;
11083
2.55k
    if (yych <= 'M') {
11084
639
      if (yych <= 0x00) goto yy86;
11085
542
      if (yych == '*') goto yy668;
11086
340
      goto yy590;
11087
1.91k
    } else {
11088
1.91k
      if (yych <= 'N') goto yy959;
11089
1.56k
      if (yych == 'n') goto yy959;
11090
340
      goto yy590;
11091
1.56k
    }
11092
16.0k
yy956:
11093
16.0k
    YYDEBUG(956, *YYCURSOR);
11094
16.0k
    ++YYCURSOR;
11095
16.0k
    YYFILL(1);
11096
16.0k
    yych = *YYCURSOR;
11097
16.0k
    if (yych <= '/') {
11098
12.2k
      if (yych <= '\f') {
11099
4.18k
        if (yych <= 0x00) goto yy875;
11100
3.99k
        if (yych == '\n') goto yy961;
11101
356
        goto yy960;
11102
8.06k
      } else {
11103
8.06k
        if (yych <= '\r') goto yy961;
11104
3.09k
        if (yych == '*') goto yy962;
11105
600
        goto yy960;
11106
3.09k
      }
11107
12.2k
    } else {
11108
3.76k
      if (yych <= '^') {
11109
1.28k
        if (yych <= '9') goto yy808;
11110
1.23k
        if (yych <= '@') goto yy960;
11111
1.06k
        if (yych <= 'Z') goto yy808;
11112
723
        goto yy960;
11113
2.48k
      } else {
11114
2.48k
        if (yych <= '`') {
11115
1.40k
          if (yych <= '_') goto yy808;
11116
1.07k
          goto yy960;
11117
1.40k
        } else {
11118
1.07k
          if (yych <= 'z') goto yy808;
11119
457
          if (yych <= 0x7F) goto yy960;
11120
204
          goto yy808;
11121
457
        }
11122
2.48k
      }
11123
3.76k
    }
11124
5.61k
yy957:
11125
5.61k
    YYDEBUG(957, *YYCURSOR);
11126
5.61k
    ++YYCURSOR;
11127
5.61k
    YYFILL(1);
11128
5.61k
    yych = *YYCURSOR;
11129
5.61k
    if (yych <= ')') {
11130
1.60k
      if (yych <= '\n') {
11131
758
        if (yych <= 0x00) goto yy86;
11132
579
        if (yych <= '\t') goto yy738;
11133
205
        goto yy787;
11134
847
      } else {
11135
847
        if (yych == '\r') goto yy787;
11136
281
        goto yy738;
11137
847
      }
11138
4.00k
    } else {
11139
4.00k
      if (yych <= 'S') {
11140
2.44k
        if (yych <= '*') goto yy789;
11141
2.23k
        if (yych <= 'R') goto yy738;
11142
221
        goto yy963;
11143
2.23k
      } else {
11144
1.56k
        if (yych == 's') goto yy963;
11145
430
        goto yy738;
11146
1.56k
      }
11147
4.00k
    }
11148
14.1k
yy958:
11149
14.1k
    YYDEBUG(958, *YYCURSOR);
11150
14.1k
    ++YYCURSOR;
11151
14.1k
    YYFILL(1);
11152
14.1k
    yych = *YYCURSOR;
11153
14.1k
    if (yych <= ')') {
11154
2.96k
      if (yych <= '\n') {
11155
677
        if (yych <= 0x00) goto yy86;
11156
477
        if (yych <= '\t') goto yy738;
11157
201
        goto yy787;
11158
2.29k
      } else {
11159
2.29k
        if (yych == '\r') goto yy787;
11160
747
        goto yy738;
11161
2.29k
      }
11162
11.2k
    } else {
11163
11.2k
      if (yych <= 'E') {
11164
1.86k
        if (yych <= '*') goto yy789;
11165
1.65k
        if (yych <= 'D') goto yy738;
11166
1.19k
        goto yy964;
11167
9.34k
      } else {
11168
9.34k
        if (yych == 'e') goto yy964;
11169
247
        goto yy738;
11170
9.34k
      }
11171
11.2k
    }
11172
1.57k
yy959:
11173
1.57k
    YYDEBUG(959, *YYCURSOR);
11174
1.57k
    ++YYCURSOR;
11175
1.57k
    YYFILL(1);
11176
1.57k
    yych = *YYCURSOR;
11177
1.57k
    if (yych <= 'S') {
11178
486
      if (yych <= 0x00) goto yy86;
11179
283
      if (yych == '*') goto yy668;
11180
211
      goto yy590;
11181
1.08k
    } else {
11182
1.08k
      if (yych <= 'T') goto yy945;
11183
884
      if (yych == 't') goto yy945;
11184
211
      goto yy590;
11185
884
    }
11186
3.17k
yy960:
11187
3.17k
    YYDEBUG(960, *YYCURSOR);
11188
3.17k
    yyaccept = 91;
11189
3.17k
    YYMARKER = ++YYCURSOR;
11190
3.17k
    YYFILL(1);
11191
3.17k
    yych = *YYCURSOR;
11192
3.17k
    if (yych <= '\f') {
11193
1.14k
      if (yych <= 0x00) goto yy876;
11194
1.01k
      if (yych == '\n') goto yy846;
11195
101
      goto yy808;
11196
2.02k
    } else {
11197
2.02k
      if (yych <= '\r') goto yy846;
11198
1.77k
      if (yych == '*') goto yy848;
11199
1.48k
      goto yy808;
11200
1.77k
    }
11201
8.61k
yy961:
11202
8.61k
    YYDEBUG(961, *YYCURSOR);
11203
8.61k
    yyaccept = 91;
11204
8.61k
    YYMARKER = ++YYCURSOR;
11205
8.61k
    YYFILL(1);
11206
8.61k
    yych = *YYCURSOR;
11207
8.61k
    if (yych <= '#') {
11208
6.56k
      if (yych <= '\f') {
11209
1.61k
        if (yych <= 0x00) goto yy876;
11210
1.45k
        if (yych <= 0x08) goto yy696;
11211
521
        if (yych <= '\n') goto yy846;
11212
136
        goto yy696;
11213
4.95k
      } else {
11214
4.95k
        if (yych <= 0x1F) {
11215
2.91k
          if (yych <= '\r') goto yy846;
11216
520
          goto yy696;
11217
2.91k
        } else {
11218
2.03k
          if (yych <= ' ') goto yy846;
11219
1.27k
          if (yych <= '"') goto yy696;
11220
1.05k
          goto yy877;
11221
1.27k
        }
11222
4.95k
      }
11223
6.56k
    } else {
11224
2.04k
      if (yych <= '/') {
11225
498
        if (yych == '*') goto yy760;
11226
318
        if (yych <= '.') goto yy696;
11227
67
        goto yy878;
11228
1.55k
      } else {
11229
1.55k
        if (yych <= 'F') {
11230
658
          if (yych <= 'E') goto yy696;
11231
291
          goto yy879;
11232
893
        } else {
11233
893
          if (yych == 'f') goto yy879;
11234
829
          goto yy696;
11235
893
        }
11236
1.55k
      }
11237
2.04k
    }
11238
2.49k
yy962:
11239
2.49k
    YYDEBUG(962, *YYCURSOR);
11240
2.49k
    yyaccept = 91;
11241
2.49k
    YYMARKER = ++YYCURSOR;
11242
2.49k
    YYFILL(1);
11243
2.49k
    yych = *YYCURSOR;
11244
2.49k
    if (yych <= '\r') {
11245
1.25k
      if (yych <= '\t') {
11246
269
        if (yych <= 0x00) goto yy876;
11247
235
        goto yy808;
11248
983
      } else {
11249
983
        if (yych <= '\n') goto yy846;
11250
547
        if (yych <= '\f') goto yy808;
11251
294
        goto yy846;
11252
547
      }
11253
1.25k
    } else {
11254
1.24k
      if (yych <= '*') {
11255
525
        if (yych <= ')') goto yy808;
11256
286
        goto yy848;
11257
716
      } else {
11258
716
        if (yych == '/') goto yy694;
11259
674
        goto yy808;
11260
716
      }
11261
1.24k
    }
11262
1.35k
yy963:
11263
1.35k
    YYDEBUG(963, *YYCURSOR);
11264
1.35k
    yyaccept = 94;
11265
1.35k
    YYMARKER = ++YYCURSOR;
11266
1.35k
    YYFILL(1);
11267
1.35k
    yych = *YYCURSOR;
11268
1.35k
    if (yych <= '\f') {
11269
409
      if (yych <= 0x00) goto yy886;
11270
341
      if (yych == '\n') goto yy787;
11271
72
      goto yy738;
11272
947
    } else {
11273
947
      if (yych <= '\r') goto yy787;
11274
735
      if (yych == '*') goto yy789;
11275
545
      goto yy738;
11276
735
    }
11277
10.2k
yy964:
11278
10.2k
    YYDEBUG(964, *YYCURSOR);
11279
10.2k
    ++YYCURSOR;
11280
10.2k
    YYFILL(1);
11281
10.2k
    yych = *YYCURSOR;
11282
10.2k
    if (yych <= ')') {
11283
1.70k
      if (yych <= '\n') {
11284
987
        if (yych <= 0x00) goto yy86;
11285
901
        if (yych <= '\t') goto yy738;
11286
855
        goto yy787;
11287
901
      } else {
11288
716
        if (yych == '\r') goto yy787;
11289
199
        goto yy738;
11290
716
      }
11291
8.59k
    } else {
11292
8.59k
      if (yych <= 'N') {
11293
1.88k
        if (yych <= '*') goto yy789;
11294
1.69k
        if (yych <= 'M') goto yy738;
11295
6.70k
      } else {
11296
6.70k
        if (yych != 'n') goto yy738;
11297
6.70k
      }
11298
8.59k
    }
11299
5.68k
    YYDEBUG(965, *YYCURSOR);
11300
5.68k
    ++YYCURSOR;
11301
5.68k
    YYFILL(1);
11302
5.68k
    yych = *YYCURSOR;
11303
5.68k
    if (yych <= ')') {
11304
1.01k
      if (yych <= '\n') {
11305
618
        if (yych <= 0x00) goto yy86;
11306
435
        if (yych <= '\t') goto yy738;
11307
232
        goto yy787;
11308
435
      } else {
11309
394
        if (yych == '\r') goto yy787;
11310
198
        goto yy738;
11311
394
      }
11312
4.67k
    } else {
11313
4.67k
      if (yych <= 'T') {
11314
1.16k
        if (yych <= '*') goto yy789;
11315
828
        if (yych <= 'S') goto yy738;
11316
509
        goto yy957;
11317
3.50k
      } else {
11318
3.50k
        if (yych == 't') goto yy957;
11319
265
        goto yy738;
11320
3.50k
      }
11321
4.67k
    }
11322
5.68k
  }
11323
/* *********************************** */
11324
80.6k
yyc_ST_LOOKING_FOR_PROPERTY:
11325
80.6k
  {
11326
80.6k
    static const unsigned char yybm[] = {
11327
80.6k
        0,   0,   0,   0,   0,   0,   0,   0, 
11328
80.6k
        0,  64,  64,   0,   0,  64,   0,   0, 
11329
80.6k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
80.6k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
80.6k
       64,   0,   0,   0,   0,   0,   0,   0, 
11332
80.6k
        0,   0,   0,   0,   0,   0,   0,   0, 
11333
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11334
80.6k
      128, 128,   0,   0,   0,   0,   0,   0, 
11335
80.6k
        0, 128, 128, 128, 128, 128, 128, 128, 
11336
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
80.6k
      128, 128, 128,   0,   0,   0,   0, 128, 
11339
80.6k
        0, 128, 128, 128, 128, 128, 128, 128, 
11340
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
80.6k
      128, 128, 128,   0,   0,   0,   0,   0, 
11343
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
80.6k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
80.6k
    };
11360
80.6k
    YYDEBUG(966, *YYCURSOR);
11361
80.6k
    YYFILL(4);
11362
80.6k
    yych = *YYCURSOR;
11363
80.6k
    if (yybm[0+yych] & 64) {
11364
1.79k
      goto yy970;
11365
1.79k
    }
11366
78.8k
    if (yych <= '?') {
11367
31.2k
      if (yych <= '-') {
11368
12.7k
        if (yych == '#') goto yy973;
11369
11.0k
        if (yych >= '-') goto yy975;
11370
18.5k
      } else {
11371
18.5k
        if (yych == '/') goto yy976;
11372
12.2k
        if (yych >= '?') goto yy977;
11373
12.2k
      }
11374
47.5k
    } else {
11375
47.5k
      if (yych <= '_') {
11376
11.6k
        if (yych <= '@') goto yy968;
11377
11.3k
        if (yych <= 'Z') goto yy978;
11378
7.55k
        if (yych >= '_') goto yy978;
11379
35.9k
      } else {
11380
35.9k
        if (yych <= '`') goto yy968;
11381
34.9k
        if (yych <= 'z') goto yy978;
11382
14.8k
        if (yych >= 0x80) goto yy978;
11383
14.8k
      }
11384
47.5k
    }
11385
9.10k
yy968:
11386
9.10k
    YYDEBUG(968, *YYCURSOR);
11387
9.10k
    ++YYCURSOR;
11388
11.1k
yy969:
11389
11.1k
    YYDEBUG(969, *YYCURSOR);
11390
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11391
11.1k
#line 2519 "Zend/zend_language_scanner.l"
11392
11.1k
    {
11393
11.1k
  yyless(0);
11394
11.1k
  yy_pop_state();
11395
11.1k
  goto restart;
11396
9.10k
}
11397
0
#line 11398 "Zend/zend_language_scanner.c"
11398
2.01k
yy970:
11399
2.01k
    YYDEBUG(970, *YYCURSOR);
11400
2.01k
    ++YYCURSOR;
11401
2.01k
    YYFILL(1);
11402
2.01k
    yych = *YYCURSOR;
11403
2.01k
    YYDEBUG(971, *YYCURSOR);
11404
2.01k
    if (yybm[0+yych] & 64) {
11405
219
      goto yy970;
11406
219
    }
11407
1.79k
    YYDEBUG(972, *YYCURSOR);
11408
1.79k
    yyleng = YYCURSOR - SCNG(yy_text);
11409
1.79k
#line 1596 "Zend/zend_language_scanner.l"
11410
1.79k
    {
11411
1.79k
  goto return_whitespace;
11412
2.01k
}
11413
0
#line 11414 "Zend/zend_language_scanner.c"
11414
1.91k
yy973:
11415
1.91k
    YYDEBUG(973, *YYCURSOR);
11416
1.91k
    ++YYCURSOR;
11417
1.91k
    YYDEBUG(974, *YYCURSOR);
11418
1.91k
    yyleng = YYCURSOR - SCNG(yy_text);
11419
1.91k
#line 2459 "Zend/zend_language_scanner.l"
11420
1.91k
    {
11421
12.0k
  while (YYCURSOR < YYLIMIT) {
11422
11.5k
    switch (*YYCURSOR++) {
11423
457
      case '\r':
11424
1.20k
      case '\n':
11425
1.20k
        YYCURSOR--;
11426
1.20k
        break;
11427
689
      case '?':
11428
689
        if (*YYCURSOR == '>') {
11429
239
          YYCURSOR--;
11430
239
          break;
11431
239
        }
11432
450
        ZEND_FALLTHROUGH;
11433
10.1k
      default:
11434
10.1k
        continue;
11435
11.5k
    }
11436
11437
1.44k
    break;
11438
11.5k
  }
11439
11440
1.91k
  yyleng = YYCURSOR - SCNG(yy_text);
11441
1.91k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11442
1.91k
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
7.74k
yy975:
11445
7.74k
    YYDEBUG(975, *YYCURSOR);
11446
7.74k
    yych = *++YYCURSOR;
11447
7.74k
    if (yych == '>') goto yy981;
11448
135
    goto yy969;
11449
6.25k
yy976:
11450
6.25k
    YYDEBUG(976, *YYCURSOR);
11451
6.25k
    yych = *++YYCURSOR;
11452
6.25k
    if (yych == '*') goto yy983;
11453
611
    if (yych == '/') goto yy973;
11454
320
    goto yy969;
11455
11.3k
yy977:
11456
11.3k
    YYDEBUG(977, *YYCURSOR);
11457
11.3k
    yyaccept = 0;
11458
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
11459
11.3k
    if (yych == '-') goto yy985;
11460
718
    goto yy969;
11461
131k
yy978:
11462
131k
    YYDEBUG(978, *YYCURSOR);
11463
131k
    ++YYCURSOR;
11464
131k
    YYFILL(1);
11465
131k
    yych = *YYCURSOR;
11466
131k
    YYDEBUG(979, *YYCURSOR);
11467
131k
    if (yybm[0+yych] & 128) {
11468
88.8k
      goto yy978;
11469
88.8k
    }
11470
42.8k
    YYDEBUG(980, *YYCURSOR);
11471
42.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11472
42.8k
#line 1608 "Zend/zend_language_scanner.l"
11473
42.8k
    {
11474
42.8k
  yy_pop_state();
11475
42.8k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11476
42.8k
}
11477
0
#line 11478 "Zend/zend_language_scanner.c"
11478
7.61k
yy981:
11479
7.61k
    YYDEBUG(981, *YYCURSOR);
11480
7.61k
    ++YYCURSOR;
11481
7.61k
    YYDEBUG(982, *YYCURSOR);
11482
7.61k
    yyleng = YYCURSOR - SCNG(yy_text);
11483
7.61k
#line 1600 "Zend/zend_language_scanner.l"
11484
7.61k
    {
11485
7.61k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11486
7.61k
}
11487
0
#line 11488 "Zend/zend_language_scanner.c"
11488
5.64k
yy983:
11489
5.64k
    YYDEBUG(983, *YYCURSOR);
11490
5.64k
    yyaccept = 1;
11491
5.64k
    yych = *(YYMARKER = ++YYCURSOR);
11492
5.64k
    if (yych == '*') goto yy987;
11493
5.64k
yy984:
11494
5.64k
    YYDEBUG(984, *YYCURSOR);
11495
5.64k
    yyleng = YYCURSOR - SCNG(yy_text);
11496
5.64k
#line 2483 "Zend/zend_language_scanner.l"
11497
5.64k
    {
11498
5.64k
  int doc_com;
11499
11500
5.64k
  if (yyleng > 2) {
11501
1.58k
    doc_com = 1;
11502
1.58k
    RESET_DOC_COMMENT();
11503
4.05k
  } else {
11504
4.05k
    doc_com = 0;
11505
4.05k
  }
11506
11507
185k
  while (YYCURSOR < YYLIMIT) {
11508
184k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11509
4.78k
      break;
11510
4.78k
    }
11511
184k
  }
11512
11513
5.64k
  if (YYCURSOR < YYLIMIT) {
11514
4.78k
    YYCURSOR++;
11515
4.78k
  } else {
11516
863
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11517
863
    if (PARSER_MODE()) {
11518
54
      RETURN_TOKEN(T_ERROR);
11519
54
    }
11520
863
  }
11521
11522
5.59k
  yyleng = YYCURSOR - SCNG(yy_text);
11523
5.59k
  HANDLE_NEWLINES(yytext, yyleng);
11524
11525
5.59k
  if (doc_com) {
11526
1.56k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11527
1.56k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11528
1.56k
  }
11529
11530
4.03k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11531
4.03k
}
11532
0
#line 11533 "Zend/zend_language_scanner.c"
11533
10.5k
yy985:
11534
10.5k
    YYDEBUG(985, *YYCURSOR);
11535
10.5k
    yych = *++YYCURSOR;
11536
10.5k
    if (yych == '>') goto yy988;
11537
3.81k
yy986:
11538
3.81k
    YYDEBUG(986, *YYCURSOR);
11539
3.81k
    YYCURSOR = YYMARKER;
11540
3.81k
    if (yyaccept == 0) {
11541
848
      goto yy969;
11542
2.97k
    } else {
11543
2.97k
      goto yy984;
11544
2.97k
    }
11545
4.55k
yy987:
11546
4.55k
    YYDEBUG(987, *YYCURSOR);
11547
4.55k
    yych = *++YYCURSOR;
11548
4.55k
    if (yych <= '\f') {
11549
2.92k
      if (yych <= 0x08) goto yy986;
11550
2.84k
      if (yych <= '\n') goto yy990;
11551
1.98k
      goto yy986;
11552
2.84k
    } else {
11553
1.63k
      if (yych <= '\r') goto yy990;
11554
1.23k
      if (yych == ' ') goto yy990;
11555
904
      goto yy986;
11556
1.23k
    }
11557
9.74k
yy988:
11558
9.74k
    YYDEBUG(988, *YYCURSOR);
11559
9.74k
    ++YYCURSOR;
11560
9.74k
    YYDEBUG(989, *YYCURSOR);
11561
9.74k
    yyleng = YYCURSOR - SCNG(yy_text);
11562
9.74k
#line 1604 "Zend/zend_language_scanner.l"
11563
9.74k
    {
11564
9.74k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11565
9.74k
}
11566
0
#line 11567 "Zend/zend_language_scanner.c"
11567
3.02k
yy990:
11568
3.02k
    YYDEBUG(990, *YYCURSOR);
11569
3.02k
    ++YYCURSOR;
11570
3.02k
    YYFILL(1);
11571
3.02k
    yych = *YYCURSOR;
11572
3.02k
    YYDEBUG(991, *YYCURSOR);
11573
3.02k
    if (yych <= '\f') {
11574
1.16k
      if (yych <= 0x08) goto yy984;
11575
1.01k
      if (yych <= '\n') goto yy990;
11576
290
      goto yy984;
11577
1.86k
    } else {
11578
1.86k
      if (yych <= '\r') goto yy990;
11579
1.35k
      if (yych == ' ') goto yy990;
11580
1.15k
      goto yy984;
11581
1.35k
    }
11582
3.02k
  }
11583
/* *********************************** */
11584
114k
yyc_ST_BACKQUOTE:
11585
114k
  {
11586
114k
    static const unsigned char yybm[] = {
11587
114k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
114k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
114k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
114k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
114k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
114k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11594
114k
      128, 128,   0,   0,   0,   0,   0,   0, 
11595
114k
        0, 128, 128, 128, 128, 128, 128, 128, 
11596
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
114k
      128, 128, 128,   0,   0,   0,   0, 128, 
11599
114k
        0, 128, 128, 128, 128, 128, 128, 128, 
11600
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
114k
      128, 128, 128,   0,   0,   0,   0,   0, 
11603
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
114k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
114k
    };
11620
114k
    YYDEBUG(992, *YYCURSOR);
11621
114k
    YYFILL(2);
11622
114k
    yych = *YYCURSOR;
11623
114k
    if (yych <= '_') {
11624
94.9k
      if (yych == '$') goto yy996;
11625
94.9k
    } else {
11626
19.2k
      if (yych <= '`') goto yy997;
11627
7.68k
      if (yych == '{') goto yy999;
11628
7.68k
    }
11629
47.9k
    YYDEBUG(994, *YYCURSOR);
11630
47.9k
    ++YYCURSOR;
11631
53.2k
yy995:
11632
53.2k
    YYDEBUG(995, *YYCURSOR);
11633
53.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11634
53.2k
#line 2918 "Zend/zend_language_scanner.l"
11635
53.2k
    {
11636
53.2k
  if (YYCURSOR > YYLIMIT) {
11637
4.33k
    RETURN_END_TOKEN;
11638
4.33k
  }
11639
48.9k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11640
1.20k
    YYCURSOR++;
11641
1.20k
  }
11642
11643
593k
  while (YYCURSOR < YYLIMIT) {
11644
589k
    switch (*YYCURSOR++) {
11645
5.89k
      case '`':
11646
5.89k
        break;
11647
43.8k
      case '$':
11648
43.8k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11649
37.8k
          break;
11650
37.8k
        }
11651
5.97k
        continue;
11652
7.30k
      case '{':
11653
7.30k
        if (*YYCURSOR == '$') {
11654
902
          break;
11655
902
        }
11656
6.40k
        continue;
11657
6.40k
      case '\\':
11658
5.70k
        if (YYCURSOR < YYLIMIT) {
11659
5.45k
          YYCURSOR++;
11660
5.45k
        }
11661
5.70k
        ZEND_FALLTHROUGH;
11662
532k
      default:
11663
532k
        continue;
11664
589k
    }
11665
11666
44.6k
    YYCURSOR--;
11667
44.6k
    break;
11668
589k
  }
11669
11670
48.9k
  yyleng = YYCURSOR - SCNG(yy_text);
11671
11672
48.9k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11673
48.9k
   || !PARSER_MODE()) {
11674
48.9k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11675
48.9k
  } else {
11676
6
    RETURN_TOKEN(T_ERROR);
11677
6
  }
11678
48.9k
}
11679
0
#line 11680 "Zend/zend_language_scanner.c"
11680
52.1k
yy996:
11681
52.1k
    YYDEBUG(996, *YYCURSOR);
11682
52.1k
    yych = *++YYCURSOR;
11683
52.1k
    if (yych <= '_') {
11684
8.62k
      if (yych <= '@') goto yy995;
11685
5.96k
      if (yych <= 'Z') goto yy1000;
11686
4.30k
      if (yych <= '^') goto yy995;
11687
3.87k
      goto yy1000;
11688
43.5k
    } else {
11689
43.5k
      if (yych <= 'z') {
11690
7.21k
        if (yych <= '`') goto yy995;
11691
6.89k
        goto yy1000;
11692
36.3k
      } else {
11693
36.3k
        if (yych <= '{') goto yy1003;
11694
18.0k
        if (yych <= 0x7F) goto yy995;
11695
17.7k
        goto yy1000;
11696
18.0k
      }
11697
43.5k
    }
11698
11.5k
yy997:
11699
11.5k
    YYDEBUG(997, *YYCURSOR);
11700
11.5k
    ++YYCURSOR;
11701
11.5k
    YYDEBUG(998, *YYCURSOR);
11702
11.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11703
11.5k
#line 2858 "Zend/zend_language_scanner.l"
11704
11.5k
    {
11705
11.5k
  BEGIN(ST_IN_SCRIPTING);
11706
11.5k
  RETURN_TOKEN('`');
11707
11.5k
}
11708
0
#line 11709 "Zend/zend_language_scanner.c"
11709
2.58k
yy999:
11710
2.58k
    YYDEBUG(999, *YYCURSOR);
11711
2.58k
    yych = *++YYCURSOR;
11712
2.58k
    if (yych == '$') goto yy1005;
11713
1.65k
    goto yy995;
11714
70.4k
yy1000:
11715
70.4k
    YYDEBUG(1000, *YYCURSOR);
11716
70.4k
    YYMARKER = ++YYCURSOR;
11717
70.4k
    YYFILL(4);
11718
70.4k
    yych = *YYCURSOR;
11719
70.4k
    YYDEBUG(1001, *YYCURSOR);
11720
70.4k
    if (yybm[0+yych] & 128) {
11721
40.2k
      goto yy1000;
11722
40.2k
    }
11723
30.2k
    if (yych <= '>') {
11724
11.8k
      if (yych == '-') goto yy1007;
11725
18.3k
    } else {
11726
18.3k
      if (yych <= '?') goto yy1009;
11727
4.02k
      if (yych <= '@') goto yy1002;
11728
3.78k
      if (yych <= '[') goto yy1010;
11729
3.78k
    }
11730
23.6k
yy1002:
11731
23.6k
    YYDEBUG(1002, *YYCURSOR);
11732
23.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
23.6k
#line 2416 "Zend/zend_language_scanner.l"
11734
23.6k
    {
11735
23.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11736
23.6k
}
11737
0
#line 11738 "Zend/zend_language_scanner.c"
11738
18.2k
yy1003:
11739
18.2k
    YYDEBUG(1003, *YYCURSOR);
11740
18.2k
    ++YYCURSOR;
11741
18.2k
    YYDEBUG(1004, *YYCURSOR);
11742
18.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11743
18.2k
#line 1980 "Zend/zend_language_scanner.l"
11744
18.2k
    {
11745
18.2k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11746
18.2k
  enter_nesting('{');
11747
18.2k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11748
18.2k
}
11749
0
#line 11750 "Zend/zend_language_scanner.c"
11750
929
yy1005:
11751
929
    YYDEBUG(1005, *YYCURSOR);
11752
929
    ++YYCURSOR;
11753
929
    YYDEBUG(1006, *YYCURSOR);
11754
929
    yyleng = YYCURSOR - SCNG(yy_text);
11755
929
#line 2845 "Zend/zend_language_scanner.l"
11756
929
    {
11757
929
  yy_push_state(ST_IN_SCRIPTING);
11758
929
  yyless(1);
11759
929
  enter_nesting('{');
11760
929
  RETURN_TOKEN(T_CURLY_OPEN);
11761
929
}
11762
0
#line 11763 "Zend/zend_language_scanner.c"
11763
4.01k
yy1007:
11764
4.01k
    YYDEBUG(1007, *YYCURSOR);
11765
4.01k
    yych = *++YYCURSOR;
11766
4.01k
    if (yych == '>') goto yy1012;
11767
13.0k
yy1008:
11768
13.0k
    YYDEBUG(1008, *YYCURSOR);
11769
13.0k
    YYCURSOR = YYMARKER;
11770
13.0k
    goto yy1002;
11771
14.3k
yy1009:
11772
14.3k
    YYDEBUG(1009, *YYCURSOR);
11773
14.3k
    yych = *++YYCURSOR;
11774
14.3k
    if (yych == '-') goto yy1013;
11775
1.99k
    goto yy1008;
11776
1.99k
yy1010:
11777
1.28k
    YYDEBUG(1010, *YYCURSOR);
11778
1.28k
    ++YYCURSOR;
11779
1.28k
    YYDEBUG(1011, *YYCURSOR);
11780
1.28k
    yyleng = YYCURSOR - SCNG(yy_text);
11781
1.28k
#line 2410 "Zend/zend_language_scanner.l"
11782
1.28k
    {
11783
1.28k
  yyless(yyleng - 1);
11784
1.28k
  yy_push_state(ST_VAR_OFFSET);
11785
1.28k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11786
1.28k
}
11787
0
#line 11788 "Zend/zend_language_scanner.c"
11788
3.17k
yy1012:
11789
3.17k
    YYDEBUG(1012, *YYCURSOR);
11790
3.17k
    yych = *++YYCURSOR;
11791
3.17k
    if (yych <= '_') {
11792
1.06k
      if (yych <= '@') goto yy1008;
11793
719
      if (yych <= 'Z') goto yy1014;
11794
426
      if (yych <= '^') goto yy1008;
11795
231
      goto yy1014;
11796
2.10k
    } else {
11797
2.10k
      if (yych <= '`') goto yy1008;
11798
1.89k
      if (yych <= 'z') goto yy1014;
11799
1.20k
      if (yych <= 0x7F) goto yy1008;
11800
721
      goto yy1014;
11801
1.20k
    }
11802
12.3k
yy1013:
11803
12.3k
    YYDEBUG(1013, *YYCURSOR);
11804
12.3k
    yych = *++YYCURSOR;
11805
12.3k
    if (yych == '>') goto yy1016;
11806
3.98k
    goto yy1008;
11807
3.98k
yy1014:
11808
1.93k
    YYDEBUG(1014, *YYCURSOR);
11809
1.93k
    ++YYCURSOR;
11810
1.93k
    YYDEBUG(1015, *YYCURSOR);
11811
1.93k
    yyleng = YYCURSOR - SCNG(yy_text);
11812
1.93k
#line 2396 "Zend/zend_language_scanner.l"
11813
1.93k
    {
11814
1.93k
  yyless(yyleng - 3);
11815
1.93k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11816
1.93k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
1.93k
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
8.33k
yy1016:
11820
8.33k
    YYDEBUG(1016, *YYCURSOR);
11821
8.33k
    yych = *++YYCURSOR;
11822
8.33k
    if (yych <= '_') {
11823
6.22k
      if (yych <= '@') goto yy1008;
11824
4.18k
      if (yych <= 'Z') goto yy1017;
11825
2.79k
      if (yych <= '^') goto yy1008;
11826
2.79k
    } else {
11827
2.11k
      if (yych <= '`') goto yy1008;
11828
1.80k
      if (yych <= 'z') goto yy1017;
11829
1.59k
      if (yych <= 0x7F) goto yy1008;
11830
1.59k
    }
11831
3.32k
yy1017:
11832
3.32k
    YYDEBUG(1017, *YYCURSOR);
11833
3.32k
    ++YYCURSOR;
11834
3.32k
    YYDEBUG(1018, *YYCURSOR);
11835
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
11836
3.32k
#line 2402 "Zend/zend_language_scanner.l"
11837
3.32k
    {
11838
3.32k
  yyless(yyleng - 4);
11839
3.32k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11840
3.32k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11841
3.32k
}
11842
3.32k
#line 11843 "Zend/zend_language_scanner.c"
11843
3.32k
  }
11844
/* *********************************** */
11845
138k
yyc_ST_DOUBLE_QUOTES:
11846
138k
  {
11847
138k
    static const unsigned char yybm[] = {
11848
138k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
138k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
138k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
138k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
138k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
138k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11855
138k
      128, 128,   0,   0,   0,   0,   0,   0, 
11856
138k
        0, 128, 128, 128, 128, 128, 128, 128, 
11857
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
138k
      128, 128, 128,   0,   0,   0,   0, 128, 
11860
138k
        0, 128, 128, 128, 128, 128, 128, 128, 
11861
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
138k
      128, 128, 128,   0,   0,   0,   0,   0, 
11864
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
138k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
138k
    };
11881
138k
    YYDEBUG(1019, *YYCURSOR);
11882
138k
    YYFILL(2);
11883
138k
    yych = *YYCURSOR;
11884
138k
    if (yych <= '#') {
11885
20.8k
      if (yych == '"') goto yy1023;
11886
117k
    } else {
11887
117k
      if (yych <= '$') goto yy1025;
11888
49.6k
      if (yych == '{') goto yy1026;
11889
49.6k
    }
11890
63.6k
    YYDEBUG(1021, *YYCURSOR);
11891
63.6k
    ++YYCURSOR;
11892
67.9k
yy1022:
11893
67.9k
    YYDEBUG(1022, *YYCURSOR);
11894
67.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11895
67.9k
#line 2864 "Zend/zend_language_scanner.l"
11896
67.9k
    {
11897
67.9k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11898
30.8k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11899
30.8k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11900
11901
30.8k
    goto double_quotes_scan_done;
11902
30.8k
  }
11903
11904
37.0k
  if (YYCURSOR > YYLIMIT) {
11905
5.43k
    RETURN_END_TOKEN;
11906
5.43k
  }
11907
31.6k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11908
908
    YYCURSOR++;
11909
908
  }
11910
11911
326k
  while (YYCURSOR < YYLIMIT) {
11912
325k
    switch (*YYCURSOR++) {
11913
2.69k
      case '"':
11914
2.69k
        break;
11915
34.0k
      case '$':
11916
34.0k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11917
27.1k
          break;
11918
27.1k
        }
11919
6.93k
        continue;
11920
6.93k
      case '{':
11921
2.66k
        if (*YYCURSOR == '$') {
11922
547
          break;
11923
547
        }
11924
2.11k
        continue;
11925
3.52k
      case '\\':
11926
3.52k
        if (YYCURSOR < YYLIMIT) {
11927
3.44k
          YYCURSOR++;
11928
3.44k
        }
11929
3.52k
        ZEND_FALLTHROUGH;
11930
286k
      default:
11931
286k
        continue;
11932
325k
    }
11933
11934
30.3k
    YYCURSOR--;
11935
30.3k
    break;
11936
325k
  }
11937
11938
62.5k
double_quotes_scan_done:
11939
62.5k
  yyleng = YYCURSOR - SCNG(yy_text);
11940
11941
62.5k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11942
62.5k
   || !PARSER_MODE()) {
11943
62.5k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11944
62.5k
  } else {
11945
38
    RETURN_TOKEN(T_ERROR);
11946
38
  }
11947
62.5k
}
11948
0
#line 11949 "Zend/zend_language_scanner.c"
11949
3.42k
yy1023:
11950
3.42k
    YYDEBUG(1023, *YYCURSOR);
11951
3.42k
    ++YYCURSOR;
11952
3.42k
    YYDEBUG(1024, *YYCURSOR);
11953
3.42k
    yyleng = YYCURSOR - SCNG(yy_text);
11954
3.42k
#line 2853 "Zend/zend_language_scanner.l"
11955
3.42k
    {
11956
3.42k
  BEGIN(ST_IN_SCRIPTING);
11957
3.42k
  RETURN_TOKEN('"');
11958
3.42k
}
11959
0
#line 11960 "Zend/zend_language_scanner.c"
11960
68.1k
yy1025:
11961
68.1k
    YYDEBUG(1025, *YYCURSOR);
11962
68.1k
    yych = *++YYCURSOR;
11963
68.1k
    if (yych <= '_') {
11964
15.2k
      if (yych <= '@') goto yy1022;
11965
14.1k
      if (yych <= 'Z') goto yy1027;
11966
5.52k
      if (yych <= '^') goto yy1022;
11967
5.00k
      goto yy1027;
11968
52.9k
    } else {
11969
52.9k
      if (yych <= 'z') {
11970
18.1k
        if (yych <= '`') goto yy1022;
11971
17.7k
        goto yy1027;
11972
34.7k
      } else {
11973
34.7k
        if (yych <= '{') goto yy1030;
11974
7.25k
        if (yych <= 0x7F) goto yy1022;
11975
6.99k
        goto yy1027;
11976
7.25k
      }
11977
52.9k
    }
11978
3.41k
yy1026:
11979
3.41k
    YYDEBUG(1026, *YYCURSOR);
11980
3.41k
    yych = *++YYCURSOR;
11981
3.41k
    if (yych == '$') goto yy1032;
11982
2.02k
    goto yy1022;
11983
103k
yy1027:
11984
103k
    YYDEBUG(1027, *YYCURSOR);
11985
103k
    YYMARKER = ++YYCURSOR;
11986
103k
    YYFILL(4);
11987
103k
    yych = *YYCURSOR;
11988
103k
    YYDEBUG(1028, *YYCURSOR);
11989
103k
    if (yybm[0+yych] & 128) {
11990
64.7k
      goto yy1027;
11991
64.7k
    }
11992
38.3k
    if (yych <= '>') {
11993
23.2k
      if (yych == '-') goto yy1034;
11994
23.2k
    } else {
11995
15.0k
      if (yych <= '?') goto yy1036;
11996
5.83k
      if (yych <= '@') goto yy1029;
11997
5.71k
      if (yych <= '[') goto yy1037;
11998
5.71k
    }
11999
30.1k
yy1029:
12000
30.1k
    YYDEBUG(1029, *YYCURSOR);
12001
30.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12002
30.1k
#line 2416 "Zend/zend_language_scanner.l"
12003
30.1k
    {
12004
30.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12005
30.1k
}
12006
0
#line 12007 "Zend/zend_language_scanner.c"
12007
27.5k
yy1030:
12008
27.5k
    YYDEBUG(1030, *YYCURSOR);
12009
27.5k
    ++YYCURSOR;
12010
27.5k
    YYDEBUG(1031, *YYCURSOR);
12011
27.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12012
27.5k
#line 1980 "Zend/zend_language_scanner.l"
12013
27.5k
    {
12014
27.5k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12015
27.5k
  enter_nesting('{');
12016
27.5k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12017
27.5k
}
12018
0
#line 12019 "Zend/zend_language_scanner.c"
12019
1.39k
yy1032:
12020
1.39k
    YYDEBUG(1032, *YYCURSOR);
12021
1.39k
    ++YYCURSOR;
12022
1.39k
    YYDEBUG(1033, *YYCURSOR);
12023
1.39k
    yyleng = YYCURSOR - SCNG(yy_text);
12024
1.39k
#line 2845 "Zend/zend_language_scanner.l"
12025
1.39k
    {
12026
1.39k
  yy_push_state(ST_IN_SCRIPTING);
12027
1.39k
  yyless(1);
12028
1.39k
  enter_nesting('{');
12029
1.39k
  RETURN_TOKEN(T_CURLY_OPEN);
12030
1.39k
}
12031
0
#line 12032 "Zend/zend_language_scanner.c"
12032
4.37k
yy1034:
12033
4.37k
    YYDEBUG(1034, *YYCURSOR);
12034
4.37k
    yych = *++YYCURSOR;
12035
4.37k
    if (yych == '>') goto yy1039;
12036
7.75k
yy1035:
12037
7.75k
    YYDEBUG(1035, *YYCURSOR);
12038
7.75k
    YYCURSOR = YYMARKER;
12039
7.75k
    goto yy1029;
12040
9.22k
yy1036:
12041
9.22k
    YYDEBUG(1036, *YYCURSOR);
12042
9.22k
    yych = *++YYCURSOR;
12043
9.22k
    if (yych == '-') goto yy1040;
12044
2.56k
    goto yy1035;
12045
2.56k
yy1037:
12046
2.35k
    YYDEBUG(1037, *YYCURSOR);
12047
2.35k
    ++YYCURSOR;
12048
2.35k
    YYDEBUG(1038, *YYCURSOR);
12049
2.35k
    yyleng = YYCURSOR - SCNG(yy_text);
12050
2.35k
#line 2410 "Zend/zend_language_scanner.l"
12051
2.35k
    {
12052
2.35k
  yyless(yyleng - 1);
12053
2.35k
  yy_push_state(ST_VAR_OFFSET);
12054
2.35k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12055
2.35k
}
12056
0
#line 12057 "Zend/zend_language_scanner.c"
12057
3.32k
yy1039:
12058
3.32k
    YYDEBUG(1039, *YYCURSOR);
12059
3.32k
    yych = *++YYCURSOR;
12060
3.32k
    if (yych <= '_') {
12061
1.07k
      if (yych <= '@') goto yy1035;
12062
760
      if (yych <= 'Z') goto yy1041;
12063
563
      if (yych <= '^') goto yy1035;
12064
253
      goto yy1041;
12065
2.25k
    } else {
12066
2.25k
      if (yych <= '`') goto yy1035;
12067
2.01k
      if (yych <= 'z') goto yy1041;
12068
1.15k
      if (yych <= 0x7F) goto yy1035;
12069
796
      goto yy1041;
12070
1.15k
    }
12071
6.65k
yy1040:
12072
6.65k
    YYDEBUG(1040, *YYCURSOR);
12073
6.65k
    yych = *++YYCURSOR;
12074
6.65k
    if (yych == '>') goto yy1043;
12075
602
    goto yy1035;
12076
2.11k
yy1041:
12077
2.11k
    YYDEBUG(1041, *YYCURSOR);
12078
2.11k
    ++YYCURSOR;
12079
2.11k
    YYDEBUG(1042, *YYCURSOR);
12080
2.11k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
2.11k
#line 2396 "Zend/zend_language_scanner.l"
12082
2.11k
    {
12083
2.11k
  yyless(yyleng - 3);
12084
2.11k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12085
2.11k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
2.11k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
6.05k
yy1043:
12089
6.05k
    YYDEBUG(1043, *YYCURSOR);
12090
6.05k
    yych = *++YYCURSOR;
12091
6.05k
    if (yych <= '_') {
12092
4.80k
      if (yych <= '@') goto yy1035;
12093
4.62k
      if (yych <= 'Z') goto yy1044;
12094
4.57k
      if (yych <= '^') goto yy1035;
12095
4.57k
    } else {
12096
1.25k
      if (yych <= '`') goto yy1035;
12097
887
      if (yych <= 'z') goto yy1044;
12098
629
      if (yych <= 0x7F) goto yy1035;
12099
629
    }
12100
3.73k
yy1044:
12101
3.73k
    YYDEBUG(1044, *YYCURSOR);
12102
3.73k
    ++YYCURSOR;
12103
3.73k
    YYDEBUG(1045, *YYCURSOR);
12104
3.73k
    yyleng = YYCURSOR - SCNG(yy_text);
12105
3.73k
#line 2402 "Zend/zend_language_scanner.l"
12106
3.73k
    {
12107
3.73k
  yyless(yyleng - 4);
12108
3.73k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12109
3.73k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12110
3.73k
}
12111
3.73k
#line 12112 "Zend/zend_language_scanner.c"
12112
3.73k
  }
12113
/* *********************************** */
12114
3.56M
yyc_ST_HEREDOC:
12115
3.56M
  {
12116
3.56M
    static const unsigned char yybm[] = {
12117
3.56M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
3.56M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
3.56M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
3.56M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
3.56M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
3.56M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12124
3.56M
      128, 128,   0,   0,   0,   0,   0,   0, 
12125
3.56M
        0, 128, 128, 128, 128, 128, 128, 128, 
12126
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
3.56M
      128, 128, 128,   0,   0,   0,   0, 128, 
12129
3.56M
        0, 128, 128, 128, 128, 128, 128, 128, 
12130
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
3.56M
      128, 128, 128,   0,   0,   0,   0,   0, 
12133
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
3.56M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
3.56M
    };
12150
3.56M
    YYDEBUG(1046, *YYCURSOR);
12151
3.56M
    YYFILL(2);
12152
3.56M
    yych = *YYCURSOR;
12153
3.56M
    if (yych == '$') goto yy1050;
12154
476k
    if (yych == '{') goto yy1051;
12155
414k
    YYDEBUG(1048, *YYCURSOR);
12156
414k
    ++YYCURSOR;
12157
574k
yy1049:
12158
574k
    YYDEBUG(1049, *YYCURSOR);
12159
574k
    yyleng = YYCURSOR - SCNG(yy_text);
12160
574k
#line 2964 "Zend/zend_language_scanner.l"
12161
574k
    {
12162
574k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12163
574k
  int newline = 0, indentation = 0, spacing = 0;
12164
12165
574k
  if (YYCURSOR > YYLIMIT) {
12166
12.1k
    RETURN_END_TOKEN;
12167
12.1k
  }
12168
12169
562k
  YYCURSOR--;
12170
12171
6.41M
  while (YYCURSOR < YYLIMIT) {
12172
6.40M
    switch (*YYCURSOR++) {
12173
78.2k
      case '\r':
12174
78.2k
        if (*YYCURSOR == '\n') {
12175
3.59k
          YYCURSOR++;
12176
3.59k
        }
12177
78.2k
        ZEND_FALLTHROUGH;
12178
579k
      case '\n':
12179
579k
        indentation = spacing = 0;
12180
12181
593k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12182
13.9k
          if (*YYCURSOR == '\t') {
12183
1.34k
            spacing |= HEREDOC_USING_TABS;
12184
12.5k
          } else {
12185
12.5k
            spacing |= HEREDOC_USING_SPACES;
12186
12.5k
          }
12187
13.9k
          ++YYCURSOR;
12188
13.9k
          ++indentation;
12189
13.9k
        }
12190
12191
579k
        if (YYCURSOR == YYLIMIT) {
12192
1.39k
          yyleng = YYCURSOR - SCNG(yy_text);
12193
1.39k
          HANDLE_NEWLINES(yytext, yyleng);
12194
1.39k
          ZVAL_NULL(zendlval);
12195
1.39k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12196
1.39k
        }
12197
12198
        /* Check for ending label on the next line */
12199
578k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12200
9.13k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12201
3.16k
            continue;
12202
3.16k
          }
12203
12204
5.97k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12205
40
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12206
40
            if (PARSER_MODE()) {
12207
3
              RETURN_TOKEN(T_ERROR);
12208
3
            }
12209
40
          }
12210
12211
          /* newline before label will be subtracted from returned text, but
12212
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12213
5.96k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12214
242
            newline = 2; /* Windows newline */
12215
5.72k
          } else {
12216
5.72k
            newline = 1;
12217
5.72k
          }
12218
12219
5.96k
          CG(increment_lineno) = 1; /* For newline before label */
12220
12221
5.96k
          if (SCNG(heredoc_scan_ahead)) {
12222
4.40k
            SCNG(heredoc_indentation) = indentation;
12223
4.40k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12224
4.40k
          } else {
12225
1.56k
            YYCURSOR -= indentation;
12226
1.56k
          }
12227
12228
5.96k
          BEGIN(ST_END_HEREDOC);
12229
12230
5.96k
          goto heredoc_scan_done;
12231
5.97k
        }
12232
569k
        continue;
12233
724k
      case '$':
12234
724k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12235
542k
          break;
12236
542k
        }
12237
182k
        continue;
12238
196k
      case '{':
12239
196k
        if (*YYCURSOR == '$') {
12240
4.35k
          break;
12241
4.35k
        }
12242
192k
        continue;
12243
192k
      case '\\':
12244
15.7k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12245
14.6k
          YYCURSOR++;
12246
14.6k
        }
12247
15.7k
        ZEND_FALLTHROUGH;
12248
4.90M
      default:
12249
4.90M
        continue;
12250
6.40M
    }
12251
12252
546k
    YYCURSOR--;
12253
546k
    break;
12254
6.40M
  }
12255
12256
561k
heredoc_scan_done:
12257
12258
561k
  yyleng = YYCURSOR - SCNG(yy_text);
12259
561k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12260
12261
561k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12262
29.0k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12263
29.0k
    zend_string *copy = Z_STR_P(zendlval);
12264
12265
29.0k
    if (!strip_multiline_string_indentation(
12266
29.0k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12267
29.0k
        newline_at_start, newline != 0)) {
12268
7
      RETURN_TOKEN(T_ERROR);
12269
7
    }
12270
12271
29.0k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12272
13
      zend_string_efree(copy);
12273
13
      RETURN_TOKEN(T_ERROR);
12274
13
    }
12275
12276
28.9k
    zend_string_efree(copy);
12277
532k
  } else {
12278
532k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12279
532k
  }
12280
12281
561k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12282
561k
}
12283
0
#line 12284 "Zend/zend_language_scanner.c"
12284
3.08M
yy1050:
12285
3.08M
    YYDEBUG(1050, *YYCURSOR);
12286
3.08M
    yych = *++YYCURSOR;
12287
3.08M
    if (yych <= '_') {
12288
144k
      if (yych <= '@') goto yy1049;
12289
29.0k
      if (yych <= 'Z') goto yy1052;
12290
8.04k
      if (yych <= '^') goto yy1049;
12291
5.25k
      goto yy1052;
12292
2.94M
    } else {
12293
2.94M
      if (yych <= 'z') {
12294
97.1k
        if (yych <= '`') goto yy1049;
12295
93.7k
        goto yy1052;
12296
2.84M
      } else {
12297
2.84M
        if (yych <= '{') goto yy1055;
12298
80.9k
        if (yych <= 0x7F) goto yy1049;
12299
76.9k
        goto yy1052;
12300
80.9k
      }
12301
2.94M
    }
12302
62.3k
yy1051:
12303
62.3k
    YYDEBUG(1051, *YYCURSOR);
12304
62.3k
    yych = *++YYCURSOR;
12305
62.3k
    if (yych == '$') goto yy1057;
12306
34.3k
    goto yy1049;
12307
504k
yy1052:
12308
504k
    YYDEBUG(1052, *YYCURSOR);
12309
504k
    YYMARKER = ++YYCURSOR;
12310
504k
    YYFILL(4);
12311
504k
    yych = *YYCURSOR;
12312
504k
    YYDEBUG(1053, *YYCURSOR);
12313
504k
    if (yybm[0+yych] & 128) {
12314
307k
      goto yy1052;
12315
307k
    }
12316
196k
    if (yych <= '>') {
12317
158k
      if (yych == '-') goto yy1059;
12318
158k
    } else {
12319
38.6k
      if (yych <= '?') goto yy1061;
12320
30.9k
      if (yych <= '@') goto yy1054;
12321
30.1k
      if (yych <= '[') goto yy1062;
12322
30.1k
    }
12323
181k
yy1054:
12324
181k
    YYDEBUG(1054, *YYCURSOR);
12325
181k
    yyleng = YYCURSOR - SCNG(yy_text);
12326
181k
#line 2416 "Zend/zend_language_scanner.l"
12327
181k
    {
12328
181k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12329
181k
}
12330
0
#line 12331 "Zend/zend_language_scanner.c"
12331
2.76M
yy1055:
12332
2.76M
    YYDEBUG(1055, *YYCURSOR);
12333
2.76M
    ++YYCURSOR;
12334
2.76M
    YYDEBUG(1056, *YYCURSOR);
12335
2.76M
    yyleng = YYCURSOR - SCNG(yy_text);
12336
2.76M
#line 1980 "Zend/zend_language_scanner.l"
12337
2.76M
    {
12338
2.76M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12339
2.76M
  enter_nesting('{');
12340
2.76M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12341
2.76M
}
12342
0
#line 12343 "Zend/zend_language_scanner.c"
12343
28.0k
yy1057:
12344
28.0k
    YYDEBUG(1057, *YYCURSOR);
12345
28.0k
    ++YYCURSOR;
12346
28.0k
    YYDEBUG(1058, *YYCURSOR);
12347
28.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12348
28.0k
#line 2845 "Zend/zend_language_scanner.l"
12349
28.0k
    {
12350
28.0k
  yy_push_state(ST_IN_SCRIPTING);
12351
28.0k
  yyless(1);
12352
28.0k
  enter_nesting('{');
12353
28.0k
  RETURN_TOKEN(T_CURLY_OPEN);
12354
28.0k
}
12355
0
#line 12356 "Zend/zend_language_scanner.c"
12356
6.60k
yy1059:
12357
6.60k
    YYDEBUG(1059, *YYCURSOR);
12358
6.60k
    yych = *++YYCURSOR;
12359
6.60k
    if (yych == '>') goto yy1064;
12360
8.57k
yy1060:
12361
8.57k
    YYDEBUG(1060, *YYCURSOR);
12362
8.57k
    YYCURSOR = YYMARKER;
12363
8.57k
    goto yy1054;
12364
7.73k
yy1061:
12365
7.73k
    YYDEBUG(1061, *YYCURSOR);
12366
7.73k
    yych = *++YYCURSOR;
12367
7.73k
    if (yych == '-') goto yy1065;
12368
2.02k
    goto yy1060;
12369
9.83k
yy1062:
12370
9.83k
    YYDEBUG(1062, *YYCURSOR);
12371
9.83k
    ++YYCURSOR;
12372
9.83k
    YYDEBUG(1063, *YYCURSOR);
12373
9.83k
    yyleng = YYCURSOR - SCNG(yy_text);
12374
9.83k
#line 2410 "Zend/zend_language_scanner.l"
12375
9.83k
    {
12376
9.83k
  yyless(yyleng - 1);
12377
9.83k
  yy_push_state(ST_VAR_OFFSET);
12378
9.83k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12379
9.83k
}
12380
0
#line 12381 "Zend/zend_language_scanner.c"
12381
5.07k
yy1064:
12382
5.07k
    YYDEBUG(1064, *YYCURSOR);
12383
5.07k
    yych = *++YYCURSOR;
12384
5.07k
    if (yych <= '_') {
12385
1.87k
      if (yych <= '@') goto yy1060;
12386
1.07k
      if (yych <= 'Z') goto yy1066;
12387
589
      if (yych <= '^') goto yy1060;
12388
451
      goto yy1066;
12389
3.20k
    } else {
12390
3.20k
      if (yych <= '`') goto yy1060;
12391
2.74k
      if (yych <= 'z') goto yy1066;
12392
980
      if (yych <= 0x7F) goto yy1060;
12393
708
      goto yy1066;
12394
980
    }
12395
5.71k
yy1065:
12396
5.71k
    YYDEBUG(1065, *YYCURSOR);
12397
5.71k
    yych = *++YYCURSOR;
12398
5.71k
    if (yych == '>') goto yy1068;
12399
994
    goto yy1060;
12400
3.40k
yy1066:
12401
3.40k
    YYDEBUG(1066, *YYCURSOR);
12402
3.40k
    ++YYCURSOR;
12403
3.40k
    YYDEBUG(1067, *YYCURSOR);
12404
3.40k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
3.40k
#line 2396 "Zend/zend_language_scanner.l"
12406
3.40k
    {
12407
3.40k
  yyless(yyleng - 3);
12408
3.40k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12409
3.40k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
3.40k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
4.71k
yy1068:
12413
4.71k
    YYDEBUG(1068, *YYCURSOR);
12414
4.71k
    yych = *++YYCURSOR;
12415
4.71k
    if (yych <= '_') {
12416
3.17k
      if (yych <= '@') goto yy1060;
12417
2.66k
      if (yych <= 'Z') goto yy1069;
12418
2.58k
      if (yych <= '^') goto yy1060;
12419
2.58k
    } else {
12420
1.53k
      if (yych <= '`') goto yy1060;
12421
1.08k
      if (yych <= 'z') goto yy1069;
12422
786
      if (yych <= 0x7F) goto yy1060;
12423
786
    }
12424
2.35k
yy1069:
12425
2.35k
    YYDEBUG(1069, *YYCURSOR);
12426
2.35k
    ++YYCURSOR;
12427
2.35k
    YYDEBUG(1070, *YYCURSOR);
12428
2.35k
    yyleng = YYCURSOR - SCNG(yy_text);
12429
2.35k
#line 2402 "Zend/zend_language_scanner.l"
12430
2.35k
    {
12431
2.35k
  yyless(yyleng - 4);
12432
2.35k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12433
2.35k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12434
2.35k
}
12435
2.35k
#line 12436 "Zend/zend_language_scanner.c"
12436
2.35k
  }
12437
/* *********************************** */
12438
2.81M
yyc_ST_LOOKING_FOR_VARNAME:
12439
2.81M
  {
12440
2.81M
    static const unsigned char yybm[] = {
12441
2.81M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
2.81M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
2.81M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
2.81M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
2.81M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
2.81M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12448
2.81M
      128, 128,   0,   0,   0,   0,   0,   0, 
12449
2.81M
        0, 128, 128, 128, 128, 128, 128, 128, 
12450
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
2.81M
      128, 128, 128,   0,   0,   0,   0, 128, 
12453
2.81M
        0, 128, 128, 128, 128, 128, 128, 128, 
12454
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
2.81M
      128, 128, 128,   0,   0,   0,   0,   0, 
12457
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
2.81M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
2.81M
    };
12474
2.81M
    YYDEBUG(1071, *YYCURSOR);
12475
2.81M
    YYFILL(2);
12476
2.81M
    yych = *YYCURSOR;
12477
2.81M
    if (yych <= '_') {
12478
2.72M
      if (yych <= '@') goto yy1073;
12479
20.4k
      if (yych <= 'Z') goto yy1075;
12480
10.0k
      if (yych >= '_') goto yy1075;
12481
87.1k
    } else {
12482
87.1k
      if (yych <= '`') goto yy1073;
12483
81.0k
      if (yych <= 'z') goto yy1075;
12484
19.3k
      if (yych >= 0x80) goto yy1075;
12485
19.3k
    }
12486
2.71M
yy1073:
12487
2.71M
    YYDEBUG(1073, *YYCURSOR);
12488
2.71M
    ++YYCURSOR;
12489
2.80M
yy1074:
12490
2.80M
    YYDEBUG(1074, *YYCURSOR);
12491
2.80M
    yyleng = YYCURSOR - SCNG(yy_text);
12492
2.80M
#line 2003 "Zend/zend_language_scanner.l"
12493
2.80M
    {
12494
2.80M
  yyless(0);
12495
2.80M
  yy_pop_state();
12496
2.80M
  yy_push_state(ST_IN_SCRIPTING);
12497
2.80M
  goto restart;
12498
2.71M
}
12499
0
#line 12500 "Zend/zend_language_scanner.c"
12500
94.5k
yy1075:
12501
94.5k
    YYDEBUG(1075, *YYCURSOR);
12502
94.5k
    yych = *(YYMARKER = ++YYCURSOR);
12503
94.5k
    if (yych <= '_') {
12504
34.2k
      if (yych <= '@') {
12505
18.2k
        if (yych <= '/') goto yy1074;
12506
6.52k
        if (yych <= '9') goto yy1077;
12507
5.77k
        goto yy1074;
12508
15.9k
      } else {
12509
15.9k
        if (yych <= '[') goto yy1077;
12510
6.83k
        if (yych <= '^') goto yy1074;
12511
6.32k
        goto yy1077;
12512
6.83k
      }
12513
60.3k
    } else {
12514
60.3k
      if (yych <= '|') {
12515
50.9k
        if (yych <= '`') goto yy1074;
12516
49.4k
        if (yych <= 'z') goto yy1077;
12517
399
        goto yy1074;
12518
49.4k
      } else {
12519
9.44k
        if (yych <= '}') goto yy1077;
12520
8.63k
        if (yych <= 0x7F) goto yy1074;
12521
8.22k
        goto yy1077;
12522
8.63k
      }
12523
60.3k
    }
12524
418k
yy1076:
12525
418k
    YYDEBUG(1076, *YYCURSOR);
12526
418k
    ++YYCURSOR;
12527
418k
    YYFILL(1);
12528
418k
    yych = *YYCURSOR;
12529
493k
yy1077:
12530
493k
    YYDEBUG(1077, *YYCURSOR);
12531
493k
    if (yybm[0+yych] & 128) {
12532
418k
      goto yy1076;
12533
418k
    }
12534
74.3k
    if (yych <= '@') goto yy1078;
12535
11.7k
    if (yych <= '[') goto yy1079;
12536
10.0k
    if (yych == '}') goto yy1079;
12537
71.2k
yy1078:
12538
71.2k
    YYDEBUG(1078, *YYCURSOR);
12539
71.2k
    YYCURSOR = YYMARKER;
12540
71.2k
    goto yy1074;
12541
3.08k
yy1079:
12542
3.08k
    YYDEBUG(1079, *YYCURSOR);
12543
3.08k
    ++YYCURSOR;
12544
3.08k
    YYDEBUG(1080, *YYCURSOR);
12545
3.08k
    yyleng = YYCURSOR - SCNG(yy_text);
12546
3.08k
#line 1995 "Zend/zend_language_scanner.l"
12547
3.08k
    {
12548
3.08k
  yyless(yyleng - 1);
12549
3.08k
  yy_pop_state();
12550
3.08k
  yy_push_state(ST_IN_SCRIPTING);
12551
3.08k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12552
3.08k
}
12553
3.08k
#line 12554 "Zend/zend_language_scanner.c"
12554
3.08k
  }
12555
/* *********************************** */
12556
191k
yyc_ST_VAR_OFFSET:
12557
191k
  {
12558
191k
    static const unsigned char yybm[] = {
12559
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
191k
      248, 248, 216, 216, 216, 216, 216, 216, 
12566
191k
      152, 152,   0,   0,   0,   0,   0,   0, 
12567
191k
        0, 144, 144, 144, 144, 144, 144,  16, 
12568
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
191k
       16,  16,  16,   0,   0,   0,   0,  16, 
12571
191k
        0, 144, 144, 144, 144, 144, 144,  16, 
12572
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
191k
       16,  16,  16,   0,   0,   0,   0,   0, 
12575
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
191k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
191k
    };
12592
191k
    YYDEBUG(1081, *YYCURSOR);
12593
191k
    YYFILL(2);
12594
191k
    yych = *YYCURSOR;
12595
191k
    if (yych <= '0') {
12596
87.1k
      if (yych <= ' ') {
12597
41.1k
        if (yych <= '\f') {
12598
36.6k
          if (yych <= 0x08) goto yy1083;
12599
6.20k
          if (yych <= '\n') goto yy1085;
12600
6.20k
        } else {
12601
4.55k
          if (yych <= '\r') goto yy1085;
12602
3.67k
          if (yych >= ' ') goto yy1085;
12603
3.67k
        }
12604
45.9k
      } else {
12605
45.9k
        if (yych <= '$') {
12606
18.8k
          if (yych <= '"') goto yy1087;
12607
16.1k
          if (yych <= '#') goto yy1085;
12608
15.5k
          goto yy1089;
12609
27.0k
        } else {
12610
27.0k
          if (yych == '\'') goto yy1085;
12611
26.4k
          if (yych <= '/') goto yy1087;
12612
16.1k
          goto yy1090;
12613
26.4k
        }
12614
45.9k
      }
12615
104k
    } else {
12616
104k
      if (yych <= ']') {
12617
65.6k
        if (yych <= 'Z') {
12618
44.4k
          if (yych <= '9') goto yy1092;
12619
36.8k
          if (yych <= '@') goto yy1087;
12620
6.44k
          goto yy1094;
12621
36.8k
        } else {
12622
21.2k
          if (yych <= '[') goto yy1087;
12623
3.72k
          if (yych <= '\\') goto yy1085;
12624
3.45k
          goto yy1097;
12625
3.72k
        }
12626
65.6k
      } else {
12627
38.7k
        if (yych <= '`') {
12628
5.76k
          if (yych == '_') goto yy1094;
12629
3.21k
          goto yy1087;
12630
32.9k
        } else {
12631
32.9k
          if (yych <= 'z') goto yy1094;
12632
22.5k
          if (yych <= '~') goto yy1087;
12633
13.5k
          if (yych >= 0x80) goto yy1094;
12634
13.5k
        }
12635
38.7k
      }
12636
104k
    }
12637
35.6k
yy1083:
12638
35.6k
    YYDEBUG(1083, *YYCURSOR);
12639
35.6k
    ++YYCURSOR;
12640
35.6k
    YYDEBUG(1084, *YYCURSOR);
12641
35.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12642
35.6k
#line 3179 "Zend/zend_language_scanner.l"
12643
35.6k
    {
12644
35.6k
  if (YYCURSOR > YYLIMIT) {
12645
773
    RETURN_END_TOKEN;
12646
773
  }
12647
12648
34.8k
  RETURN_TOKEN(T_BAD_CHARACTER);
12649
34.8k
}
12650
0
#line 12651 "Zend/zend_language_scanner.c"
12651
8.91k
yy1085:
12652
8.91k
    YYDEBUG(1085, *YYCURSOR);
12653
8.91k
    ++YYCURSOR;
12654
8.91k
    YYDEBUG(1086, *YYCURSOR);
12655
8.91k
    yyleng = YYCURSOR - SCNG(yy_text);
12656
8.91k
#line 2430 "Zend/zend_language_scanner.l"
12657
8.91k
    {
12658
  /* Invalid rule to return a more explicit parse error with proper line number */
12659
8.91k
  yyless(0);
12660
8.91k
  yy_pop_state();
12661
8.91k
  ZVAL_NULL(zendlval);
12662
8.91k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12663
8.91k
}
12664
0
#line 12665 "Zend/zend_language_scanner.c"
12665
73.2k
yy1087:
12666
73.2k
    YYDEBUG(1087, *YYCURSOR);
12667
73.2k
    ++YYCURSOR;
12668
83.7k
yy1088:
12669
83.7k
    YYDEBUG(1088, *YYCURSOR);
12670
83.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12671
83.7k
#line 2425 "Zend/zend_language_scanner.l"
12672
83.7k
    {
12673
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12674
83.7k
  RETURN_TOKEN(yytext[0]);
12675
83.7k
}
12676
0
#line 12677 "Zend/zend_language_scanner.c"
12677
15.5k
yy1089:
12678
15.5k
    YYDEBUG(1089, *YYCURSOR);
12679
15.5k
    yych = *++YYCURSOR;
12680
15.5k
    if (yych <= '_') {
12681
6.33k
      if (yych <= '@') goto yy1088;
12682
1.38k
      if (yych <= 'Z') goto yy1099;
12683
581
      if (yych <= '^') goto yy1088;
12684
366
      goto yy1099;
12685
9.24k
    } else {
12686
9.24k
      if (yych <= '`') goto yy1088;
12687
8.98k
      if (yych <= 'z') goto yy1099;
12688
6.26k
      if (yych <= 0x7F) goto yy1088;
12689
1.12k
      goto yy1099;
12690
6.26k
    }
12691
16.1k
yy1090:
12692
16.1k
    YYDEBUG(1090, *YYCURSOR);
12693
16.1k
    yyaccept = 0;
12694
16.1k
    yych = *(YYMARKER = ++YYCURSOR);
12695
16.1k
    if (yych <= 'X') {
12696
6.85k
      if (yych <= 'B') {
12697
5.20k
        if (yych <= '/') goto yy1091;
12698
4.36k
        if (yych <= '9') goto yy1102;
12699
2.97k
        if (yych >= 'B') goto yy1105;
12700
2.97k
      } else {
12701
1.65k
        if (yych == 'O') goto yy1107;
12702
1.34k
        if (yych >= 'X') goto yy1108;
12703
1.34k
      }
12704
9.28k
    } else {
12705
9.28k
      if (yych <= 'b') {
12706
3.64k
        if (yych == '_') goto yy1109;
12707
3.11k
        if (yych >= 'b') goto yy1105;
12708
5.64k
      } else {
12709
5.64k
        if (yych <= 'o') {
12710
1.09k
          if (yych >= 'o') goto yy1107;
12711
4.55k
        } else {
12712
4.55k
          if (yych == 'x') goto yy1108;
12713
4.55k
        }
12714
5.64k
      }
12715
9.28k
    }
12716
20.0k
yy1091:
12717
20.0k
    YYDEBUG(1091, *YYCURSOR);
12718
20.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12719
20.0k
#line 2207 "Zend/zend_language_scanner.l"
12720
20.0k
    { /* Offset could be treated as a long */
12721
20.0k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12722
19.0k
    char *end;
12723
19.0k
    errno = 0;
12724
19.0k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12725
19.0k
    if (errno == ERANGE) {
12726
0
      goto string;
12727
0
    }
12728
19.0k
    ZEND_ASSERT(end == yytext + yyleng);
12729
19.0k
  } else {
12730
957
string:
12731
957
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12732
957
  }
12733
20.0k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12734
20.0k
}
12735
0
#line 12736 "Zend/zend_language_scanner.c"
12736
52.7k
yy1092:
12737
52.7k
    YYDEBUG(1092, *YYCURSOR);
12738
52.7k
    yyaccept = 0;
12739
52.7k
    YYMARKER = ++YYCURSOR;
12740
52.7k
    YYFILL(1);
12741
52.7k
    yych = *YYCURSOR;
12742
52.7k
    YYDEBUG(1093, *YYCURSOR);
12743
52.7k
    if (yybm[0+yych] & 8) {
12744
45.1k
      goto yy1092;
12745
45.1k
    }
12746
7.54k
    if (yych == '_') goto yy1109;
12747
6.81k
    goto yy1091;
12748
105k
yy1094:
12749
105k
    YYDEBUG(1094, *YYCURSOR);
12750
105k
    ++YYCURSOR;
12751
105k
    YYFILL(1);
12752
105k
    yych = *YYCURSOR;
12753
105k
    YYDEBUG(1095, *YYCURSOR);
12754
105k
    if (yybm[0+yych] & 16) {
12755
74.2k
      goto yy1094;
12756
74.2k
    }
12757
31.0k
    YYDEBUG(1096, *YYCURSOR);
12758
31.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12759
31.0k
#line 2454 "Zend/zend_language_scanner.l"
12760
31.0k
    {
12761
31.0k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12762
31.0k
}
12763
0
#line 12764 "Zend/zend_language_scanner.c"
12764
3.45k
yy1097:
12765
3.45k
    YYDEBUG(1097, *YYCURSOR);
12766
3.45k
    ++YYCURSOR;
12767
3.45k
    YYDEBUG(1098, *YYCURSOR);
12768
3.45k
    yyleng = YYCURSOR - SCNG(yy_text);
12769
3.45k
#line 2420 "Zend/zend_language_scanner.l"
12770
3.45k
    {
12771
3.45k
  yy_pop_state();
12772
3.45k
  RETURN_TOKEN(']');
12773
3.45k
}
12774
0
#line 12775 "Zend/zend_language_scanner.c"
12775
18.9k
yy1099:
12776
18.9k
    YYDEBUG(1099, *YYCURSOR);
12777
18.9k
    ++YYCURSOR;
12778
18.9k
    YYFILL(1);
12779
18.9k
    yych = *YYCURSOR;
12780
18.9k
    YYDEBUG(1100, *YYCURSOR);
12781
18.9k
    if (yych <= '^') {
12782
7.96k
      if (yych <= '9') {
12783
2.00k
        if (yych >= '0') goto yy1099;
12784
5.95k
      } else {
12785
5.95k
        if (yych <= '@') goto yy1101;
12786
4.63k
        if (yych <= 'Z') goto yy1099;
12787
4.63k
      }
12788
11.0k
    } else {
12789
11.0k
      if (yych <= '`') {
12790
1.01k
        if (yych <= '_') goto yy1099;
12791
10.0k
      } else {
12792
10.0k
        if (yych <= 'z') goto yy1099;
12793
2.46k
        if (yych >= 0x80) goto yy1099;
12794
2.46k
      }
12795
11.0k
    }
12796
5.01k
yy1101:
12797
5.01k
    YYDEBUG(1101, *YYCURSOR);
12798
5.01k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
5.01k
#line 2416 "Zend/zend_language_scanner.l"
12800
5.01k
    {
12801
5.01k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12802
5.01k
}
12803
0
#line 12804 "Zend/zend_language_scanner.c"
12804
9.92k
yy1102:
12805
9.92k
    YYDEBUG(1102, *YYCURSOR);
12806
9.92k
    yyaccept = 1;
12807
9.92k
    YYMARKER = ++YYCURSOR;
12808
9.92k
    YYFILL(1);
12809
9.92k
    yych = *YYCURSOR;
12810
9.92k
    YYDEBUG(1103, *YYCURSOR);
12811
9.92k
    if (yych <= '/') goto yy1104;
12812
9.27k
    if (yych <= '9') goto yy1102;
12813
1.03k
    if (yych == '_') goto yy1109;
12814
3.64k
yy1104:
12815
3.64k
    YYDEBUG(1104, *YYCURSOR);
12816
3.64k
    yyleng = YYCURSOR - SCNG(yy_text);
12817
3.64k
#line 2223 "Zend/zend_language_scanner.l"
12818
3.64k
    { /* Offset must be treated as a string */
12819
3.64k
  if (yyleng == 1) {
12820
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12821
3.64k
  } else {
12822
3.64k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12823
3.64k
  }
12824
3.64k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12825
3.64k
}
12826
0
#line 12827 "Zend/zend_language_scanner.c"
12827
3.07k
yy1105:
12828
3.07k
    YYDEBUG(1105, *YYCURSOR);
12829
3.07k
    ++YYCURSOR;
12830
3.07k
    YYFILL(1);
12831
3.07k
    yych = *YYCURSOR;
12832
3.07k
    if (yybm[0+yych] & 32) {
12833
707
      goto yy1110;
12834
707
    }
12835
4.55k
yy1106:
12836
4.55k
    YYDEBUG(1106, *YYCURSOR);
12837
4.55k
    YYCURSOR = YYMARKER;
12838
4.55k
    if (yyaccept == 0) {
12839
3.92k
      goto yy1091;
12840
3.92k
    } else {
12841
636
      goto yy1104;
12842
636
    }
12843
962
yy1107:
12844
962
    YYDEBUG(1107, *YYCURSOR);
12845
962
    ++YYCURSOR;
12846
962
    YYFILL(1);
12847
962
    yych = *YYCURSOR;
12848
962
    if (yybm[0+yych] & 64) {
12849
464
      goto yy1112;
12850
464
    }
12851
498
    goto yy1106;
12852
2.03k
yy1108:
12853
2.03k
    YYDEBUG(1108, *YYCURSOR);
12854
2.03k
    ++YYCURSOR;
12855
2.03k
    YYFILL(1);
12856
2.03k
    yych = *YYCURSOR;
12857
2.03k
    if (yybm[0+yych] & 128) {
12858
1.74k
      goto yy1114;
12859
1.74k
    }
12860
290
    goto yy1106;
12861
1.69k
yy1109:
12862
1.69k
    YYDEBUG(1109, *YYCURSOR);
12863
1.69k
    ++YYCURSOR;
12864
1.69k
    YYFILL(1);
12865
1.69k
    yych = *YYCURSOR;
12866
1.69k
    if (yych <= '/') goto yy1106;
12867
959
    if (yych <= '9') goto yy1102;
12868
663
    goto yy1106;
12869
937
yy1110:
12870
937
    YYDEBUG(1110, *YYCURSOR);
12871
937
    yyaccept = 1;
12872
937
    YYMARKER = ++YYCURSOR;
12873
937
    YYFILL(1);
12874
937
    yych = *YYCURSOR;
12875
937
    YYDEBUG(1111, *YYCURSOR);
12876
937
    if (yybm[0+yych] & 32) {
12877
230
      goto yy1110;
12878
230
    }
12879
707
    if (yych == '_') goto yy1105;
12880
424
    goto yy1104;
12881
737
yy1112:
12882
737
    YYDEBUG(1112, *YYCURSOR);
12883
737
    yyaccept = 1;
12884
737
    YYMARKER = ++YYCURSOR;
12885
737
    YYFILL(1);
12886
737
    yych = *YYCURSOR;
12887
737
    YYDEBUG(1113, *YYCURSOR);
12888
737
    if (yybm[0+yych] & 64) {
12889
273
      goto yy1112;
12890
273
    }
12891
464
    if (yych == '_') goto yy1107;
12892
203
    goto yy1104;
12893
3.44k
yy1114:
12894
3.44k
    YYDEBUG(1114, *YYCURSOR);
12895
3.44k
    yyaccept = 1;
12896
3.44k
    YYMARKER = ++YYCURSOR;
12897
3.44k
    YYFILL(1);
12898
3.44k
    yych = *YYCURSOR;
12899
3.44k
    YYDEBUG(1115, *YYCURSOR);
12900
3.44k
    if (yybm[0+yych] & 128) {
12901
1.70k
      goto yy1114;
12902
1.70k
    }
12903
1.74k
    if (yych == '_') goto yy1108;
12904
1.13k
    goto yy1104;
12905
1.74k
  }
12906
/* *********************************** */
12907
1.13k
yyc_SHEBANG:
12908
0
  {
12909
0
    static const unsigned char yybm[] = {
12910
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12911
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
    };
12943
0
    YYDEBUG(1116, *YYCURSOR);
12944
0
    YYFILL(2);
12945
0
    yych = *YYCURSOR;
12946
0
    if (yych == '#') goto yy1120;
12947
0
    YYDEBUG(1118, *YYCURSOR);
12948
0
    ++YYCURSOR;
12949
0
yy1119:
12950
0
    YYDEBUG(1119, *YYCURSOR);
12951
0
    yyleng = YYCURSOR - SCNG(yy_text);
12952
0
#line 2294 "Zend/zend_language_scanner.l"
12953
0
    {
12954
0
  yyless(0);
12955
0
  BEGIN(INITIAL);
12956
0
  goto restart;
12957
0
}
12958
0
#line 12959 "Zend/zend_language_scanner.c"
12959
0
yy1120:
12960
0
    YYDEBUG(1120, *YYCURSOR);
12961
0
    yych = *++YYCURSOR;
12962
0
    if (yych != '!') goto yy1119;
12963
0
yy1121:
12964
0
    YYDEBUG(1121, *YYCURSOR);
12965
0
    ++YYCURSOR;
12966
0
    YYFILL(1);
12967
0
    yych = *YYCURSOR;
12968
0
    YYDEBUG(1122, *YYCURSOR);
12969
0
    if (yybm[0+yych] & 128) {
12970
0
      goto yy1121;
12971
0
    }
12972
0
    YYDEBUG(1123, *YYCURSOR);
12973
0
    ++YYCURSOR;
12974
0
    YYDEBUG(1124, *YYCURSOR);
12975
0
    yyleng = YYCURSOR - SCNG(yy_text);
12976
0
#line 2288 "Zend/zend_language_scanner.l"
12977
0
    {
12978
0
  CG(zend_lineno)++;
12979
0
  BEGIN(INITIAL);
12980
0
  goto restart;
12981
0
}
12982
0
#line 12983 "Zend/zend_language_scanner.c"
12983
0
  }
12984
/* *********************************** */
12985
183k
yyc_INITIAL:
12986
183k
  YYDEBUG(1125, *YYCURSOR);
12987
183k
  YYFILL(7);
12988
183k
  yych = *YYCURSOR;
12989
183k
  if (yych == '<') goto yy1129;
12990
69.7k
  YYDEBUG(1127, *YYCURSOR);
12991
69.7k
  ++YYCURSOR;
12992
77.2k
yy1128:
12993
77.2k
  YYDEBUG(1128, *YYCURSOR);
12994
77.2k
  yyleng = YYCURSOR - SCNG(yy_text);
12995
77.2k
#line 2340 "Zend/zend_language_scanner.l"
12996
77.2k
  {
12997
77.2k
  if (YYCURSOR > YYLIMIT) {
12998
10.0k
    RETURN_END_TOKEN;
12999
10.0k
  }
13000
13001
67.1k
inline_char_handler:
13002
13003
130k
  while (1) {
13004
130k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13005
13006
130k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13007
13008
130k
    if (YYCURSOR >= YYLIMIT) {
13009
5.94k
      break;
13010
5.94k
    }
13011
13012
124k
    if (*YYCURSOR == '?') {
13013
61.2k
      if (CG(short_tags) /* <? */
13014
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13015
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13016
0
          (YYCURSOR + 4 == YYLIMIT ||
13017
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13018
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13019
61.2k
      ) {
13020
61.2k
        YYCURSOR--;
13021
61.2k
        break;
13022
61.2k
      }
13023
61.2k
    }
13024
124k
  }
13025
13026
67.1k
  yyleng = YYCURSOR - SCNG(yy_text);
13027
13028
67.1k
  if (SCNG(output_filter)) {
13029
0
    size_t readsize;
13030
0
    char *s = NULL;
13031
0
    size_t sz = 0;
13032
    // TODO: avoid reallocation ???
13033
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13034
0
    ZVAL_STRINGL(zendlval, s, sz);
13035
0
    efree(s);
13036
0
    if (readsize < yyleng) {
13037
0
      yyless(readsize);
13038
0
    }
13039
67.1k
  } else if (yyleng == 1) {
13040
12.1k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13041
55.0k
  } else {
13042
55.0k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13043
55.0k
  }
13044
67.1k
  HANDLE_NEWLINES(yytext, yyleng);
13045
67.1k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13046
67.1k
}
13047
0
#line 13048 "Zend/zend_language_scanner.c"
13048
114k
yy1129:
13049
114k
  YYDEBUG(1129, *YYCURSOR);
13050
114k
  yych = *++YYCURSOR;
13051
114k
  if (yych != '?') goto yy1128;
13052
106k
  YYDEBUG(1130, *YYCURSOR);
13053
106k
  yych = *(YYMARKER = ++YYCURSOR);
13054
106k
  if (yych <= 'O') {
13055
37.9k
    if (yych == '=') goto yy1132;
13056
68.7k
  } else {
13057
68.7k
    if (yych <= 'P') goto yy1134;
13058
68.2k
    if (yych == 'p') goto yy1134;
13059
68.2k
  }
13060
96.0k
yy1131:
13061
96.0k
  YYDEBUG(1131, *YYCURSOR);
13062
96.0k
  yyleng = YYCURSOR - SCNG(yy_text);
13063
96.0k
#line 2331 "Zend/zend_language_scanner.l"
13064
96.0k
  {
13065
96.0k
  if (CG(short_tags)) {
13066
96.0k
    BEGIN(ST_IN_SCRIPTING);
13067
96.0k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13068
96.0k
  } else {
13069
0
    goto inline_char_handler;
13070
0
  }
13071
96.0k
}
13072
0
#line 13073 "Zend/zend_language_scanner.c"
13073
1.07k
yy1132:
13074
1.07k
  YYDEBUG(1132, *YYCURSOR);
13075
1.07k
  ++YYCURSOR;
13076
1.07k
  YYDEBUG(1133, *YYCURSOR);
13077
1.07k
  yyleng = YYCURSOR - SCNG(yy_text);
13078
1.07k
#line 2300 "Zend/zend_language_scanner.l"
13079
1.07k
  {
13080
1.07k
  BEGIN(ST_IN_SCRIPTING);
13081
1.07k
  if (PARSER_MODE()) {
13082
    /* We'll reject this as an identifier in zend_lex_tstring. */
13083
857
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13084
857
  }
13085
220
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13086
220
}
13087
0
#line 13088 "Zend/zend_language_scanner.c"
13088
12.4k
yy1134:
13089
12.4k
  YYDEBUG(1134, *YYCURSOR);
13090
12.4k
  yych = *++YYCURSOR;
13091
12.4k
  if (yych == 'H') goto yy1136;
13092
12.1k
  if (yych == 'h') goto yy1136;
13093
2.90k
yy1135:
13094
2.90k
  YYDEBUG(1135, *YYCURSOR);
13095
2.90k
  YYCURSOR = YYMARKER;
13096
2.90k
  goto yy1131;
13097
10.1k
yy1136:
13098
10.1k
  YYDEBUG(1136, *YYCURSOR);
13099
10.1k
  yych = *++YYCURSOR;
13100
10.1k
  if (yych == 'P') goto yy1137;
13101
10.0k
  if (yych != 'p') goto yy1135;
13102
9.52k
yy1137:
13103
9.52k
  YYDEBUG(1137, *YYCURSOR);
13104
9.52k
  yych = *++YYCURSOR;
13105
9.52k
  if (yych <= '\f') {
13106
8.02k
    if (yych <= 0x08) goto yy1138;
13107
7.47k
    if (yych <= '\n') goto yy1139;
13108
7.47k
  } else {
13109
1.50k
    if (yych <= '\r') goto yy1141;
13110
1.12k
    if (yych == ' ') goto yy1139;
13111
1.12k
  }
13112
907
yy1138:
13113
907
  YYDEBUG(1138, *YYCURSOR);
13114
907
  yyleng = YYCURSOR - SCNG(yy_text);
13115
907
#line 2316 "Zend/zend_language_scanner.l"
13116
907
  {
13117
  /* Allow <?php followed by end of file. */
13118
907
  if (YYCURSOR == YYLIMIT) {
13119
274
    BEGIN(ST_IN_SCRIPTING);
13120
274
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13121
274
  }
13122
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13123
633
  if (CG(short_tags)) {
13124
633
    yyless(2);
13125
633
    BEGIN(ST_IN_SCRIPTING);
13126
633
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13127
633
  }
13128
0
  goto inline_char_handler;
13129
633
}
13130
0
#line 13131 "Zend/zend_language_scanner.c"
13131
8.35k
yy1139:
13132
8.35k
  YYDEBUG(1139, *YYCURSOR);
13133
8.35k
  ++YYCURSOR;
13134
8.62k
yy1140:
13135
8.62k
  YYDEBUG(1140, *YYCURSOR);
13136
8.62k
  yyleng = YYCURSOR - SCNG(yy_text);
13137
8.62k
#line 2310 "Zend/zend_language_scanner.l"
13138
8.62k
  {
13139
8.62k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13140
8.62k
  BEGIN(ST_IN_SCRIPTING);
13141
8.62k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13142
8.62k
}
13143
0
#line 13144 "Zend/zend_language_scanner.c"
13144
375
yy1141:
13145
375
  YYDEBUG(1141, *YYCURSOR);
13146
375
  yych = *++YYCURSOR;
13147
375
  if (yych == '\n') goto yy1139;
13148
264
  goto yy1140;
13149
/* *********************************** */
13150
11.8k
yyc_ST_END_HEREDOC:
13151
11.8k
  YYDEBUG(1142, *YYCURSOR);
13152
11.8k
  YYFILL(1);
13153
11.8k
  yych = *YYCURSOR;
13154
11.8k
  YYDEBUG(1144, *YYCURSOR);
13155
11.8k
  ++YYCURSOR;
13156
11.8k
  YYDEBUG(1145, *YYCURSOR);
13157
11.8k
  yyleng = YYCURSOR - SCNG(yy_text);
13158
11.8k
#line 2831 "Zend/zend_language_scanner.l"
13159
11.8k
  {
13160
11.8k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13161
13162
11.8k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13163
11.8k
  YYCURSOR += yyleng - 1;
13164
13165
11.8k
  heredoc_label_dtor(heredoc_label);
13166
11.8k
  efree(heredoc_label);
13167
13168
11.8k
  BEGIN(ST_IN_SCRIPTING);
13169
11.8k
  RETURN_TOKEN(T_END_HEREDOC);
13170
11.8k
}
13171
0
#line 13172 "Zend/zend_language_scanner.c"
13172
/* *********************************** */
13173
5.79k
yyc_ST_NOWDOC:
13174
5.79k
  YYDEBUG(1146, *YYCURSOR);
13175
5.79k
  YYFILL(1);
13176
5.79k
  yych = *YYCURSOR;
13177
5.79k
  YYDEBUG(1148, *YYCURSOR);
13178
5.79k
  ++YYCURSOR;
13179
5.79k
  YYDEBUG(1149, *YYCURSOR);
13180
5.79k
  yyleng = YYCURSOR - SCNG(yy_text);
13181
5.79k
#line 3088 "Zend/zend_language_scanner.l"
13182
5.79k
  {
13183
5.79k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13184
5.79k
  int newline = 0, indentation = 0, spacing = -1;
13185
13186
5.79k
  if (YYCURSOR > YYLIMIT) {
13187
1.11k
    RETURN_END_TOKEN;
13188
1.11k
  }
13189
13190
4.67k
  YYCURSOR--;
13191
13192
232k
  while (YYCURSOR < YYLIMIT) {
13193
231k
    switch (*YYCURSOR++) {
13194
5.76k
      case '\r':
13195
5.76k
        if (*YYCURSOR == '\n') {
13196
898
          YYCURSOR++;
13197
898
        }
13198
5.76k
        ZEND_FALLTHROUGH;
13199
35.2k
      case '\n':
13200
35.2k
        indentation = spacing = 0;
13201
13202
37.3k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13203
2.05k
          if (*YYCURSOR == '\t') {
13204
944
            spacing |= HEREDOC_USING_TABS;
13205
1.10k
          } else {
13206
1.10k
            spacing |= HEREDOC_USING_SPACES;
13207
1.10k
          }
13208
2.05k
          ++YYCURSOR;
13209
2.05k
          ++indentation;
13210
2.05k
        }
13211
13212
35.2k
        if (YYCURSOR == YYLIMIT) {
13213
368
          yyleng = YYCURSOR - SCNG(yy_text);
13214
368
          HANDLE_NEWLINES(yytext, yyleng);
13215
368
          ZVAL_NULL(zendlval);
13216
368
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13217
368
        }
13218
13219
        /* Check for ending label on the next line */
13220
34.9k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13221
5.57k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13222
2.00k
            continue;
13223
2.00k
          }
13224
13225
3.56k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13226
75
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13227
75
            if (PARSER_MODE()) {
13228
2
              RETURN_TOKEN(T_ERROR);
13229
2
            }
13230
75
          }
13231
13232
          /* newline before label will be subtracted from returned text, but
13233
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13234
3.56k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13235
294
            newline = 2; /* Windows newline */
13236
3.26k
          } else {
13237
3.26k
            newline = 1;
13238
3.26k
          }
13239
13240
3.56k
          CG(increment_lineno) = 1; /* For newline before label */
13241
13242
3.56k
          YYCURSOR -= indentation;
13243
3.56k
          heredoc_label->indentation = indentation;
13244
13245
3.56k
          BEGIN(ST_END_HEREDOC);
13246
13247
3.56k
          goto nowdoc_scan_done;
13248
3.56k
        }
13249
29.3k
        ZEND_FALLTHROUGH;
13250
225k
      default:
13251
225k
        continue;
13252
231k
    }
13253
231k
  }
13254
13255
4.30k
nowdoc_scan_done:
13256
4.30k
  yyleng = YYCURSOR - SCNG(yy_text);
13257
4.30k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13258
13259
4.30k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13260
442
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13261
442
    if (!strip_multiline_string_indentation(
13262
442
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13263
442
        newline_at_start, newline != 0)) {
13264
8
      RETURN_TOKEN(T_ERROR);
13265
8
    }
13266
442
  }
13267
13268
4.30k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13269
4.30k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13270
4.30k
}
13271
4.30k
#line 13272 "Zend/zend_language_scanner.c"
13272
4.30k
}
13273
0
#line 3187 "Zend/zend_language_scanner.l"
13274
13275
13276
2.37M
emit_token_with_str:
13277
2.37M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13278
13279
3.67M
emit_token_with_val:
13280
3.67M
  if (PARSER_MODE()) {
13281
1.02M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13282
1.02M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13283
1.02M
  }
13284
13285
16.2M
emit_token:
13286
16.2M
  if (SCNG(on_event)) {
13287
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13288
0
  }
13289
16.2M
  return token;
13290
13291
472k
emit_token_with_ident:
13292
472k
  if (PARSER_MODE()) {
13293
170k
    elem->ident = SCNG(yy_text);
13294
170k
  }
13295
472k
  if (SCNG(on_event)) {
13296
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13297
0
  }
13298
472k
  return token;
13299
13300
1.50M
return_whitespace:
13301
1.50M
  HANDLE_NEWLINES(yytext, yyleng);
13302
1.50M
  if (SCNG(on_event)) {
13303
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13304
0
  }
13305
1.50M
  if (PARSER_MODE()) {
13306
383k
    start_line = CG(zend_lineno);
13307
383k
    goto restart;
13308
1.12M
  } else {
13309
1.12M
    return T_WHITESPACE;
13310
1.12M
  }
13311
13312
104k
skip_token:
13313
104k
  if (SCNG(on_event)) {
13314
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13315
0
  }
13316
104k
  start_line = CG(zend_lineno);
13317
104k
  goto restart;
13318
1.50M
}