Coverage Report

Created: 2026-07-25 06:39

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
45.2M
#define YYCTYPE   unsigned char
53
118M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
768M
#define YYCURSOR  SCNG(yy_cursor)
55
247M
#define YYLIMIT   SCNG(yy_limit)
56
43.7M
#define YYMARKER  SCNG(yy_marker)
57
58
147M
#define YYGETCONDITION()  SCNG(yy_state)
59
14.9M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
3.65M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
301k
#define YYSTATE      YYGETCONDITION()
66
15.9M
#define yytext       ((char*)SCNG(yy_text))
67
59.2M
#define yyleng       SCNG(yy_leng)
68
3.39M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
3.39M
                          yyleng   = (unsigned int)x; } while(0)
70
#define yymore()     goto yymore_restart
71
72
/* perform sanity check. If this message is triggered you should
73
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
74
#define YYMAXFILL 16
75
76
#if ZEND_MMAP_AHEAD < YYMAXFILL
77
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
78
#endif
79
80
#include <stdarg.h>
81
82
#ifdef HAVE_UNISTD_H
83
# include <unistd.h>
84
#endif
85
86
/* Globals Macros */
87
1.49G
#define SCNG  LANG_SCNG
88
#ifdef ZTS
89
ZEND_API ts_rsrc_id language_scanner_globals_id;
90
# ifdef ZEND_WIN32
91
TSRM_TLS zend_php_scanner_globals language_scanner_globals;
92
# else
93
ZEND_API TSRM_TLS TSRM_TLS_MODEL_ATTR zend_php_scanner_globals language_scanner_globals;
94
# endif
95
#else
96
ZEND_API zend_php_scanner_globals language_scanner_globals;
97
#endif
98
99
7.67M
#define HANDLE_NEWLINES(s, l)                         \
100
7.67M
do {                                     \
101
7.67M
  char *p = (s), *boundary = p+(l);                     \
102
7.67M
                                        \
103
67.1M
  while (p<boundary) {                           \
104
59.4M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
105
6.05M
      CG(zend_lineno)++;                          \
106
6.05M
    }                                    \
107
59.4M
    p++;                                  \
108
59.4M
  }                                      \
109
7.67M
} while (0)
110
111
302k
#define HANDLE_NEWLINE(c) \
112
302k
{ \
113
302k
  if (c == '\n' || c == '\r') { \
114
109k
    CG(zend_lineno)++; \
115
109k
  } \
116
302k
}
117
118
/* To save initial string length after scanning to first variable */
119
173k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
120
394k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
121
122
7.01M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
123
46.3k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
124
125
205k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
126
33.9k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
127
128
129
static void strip_underscores(char *str, size_t *len)
130
5.51k
{
131
5.51k
  char *src = str, *dest = str;
132
99.8k
  while (*src != '\0') {
133
94.2k
    if (*src != '_') {
134
87.2k
      *dest = *src;
135
87.2k
      dest++;
136
87.2k
    } else {
137
7.06k
      --(*len);
138
7.06k
    }
139
94.2k
    src++;
140
94.2k
  }
141
5.51k
  *dest = '\0';
142
5.51k
}
143
144
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
145
0
{
146
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
147
0
  ZEND_ASSERT(internal_encoding);
148
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
149
0
}
150
151
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
152
0
{
153
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
154
0
}
155
156
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
157
0
{
158
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
159
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
160
0
}
161
162
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
163
0
{
164
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
165
0
  ZEND_ASSERT(internal_encoding);
166
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
167
0
internal_encoding, zend_multibyte_encoding_utf8);
168
0
}
169
170
171
static void _yy_push_state(int new_state)
172
7.32M
{
173
7.32M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
174
7.32M
  YYSETCONDITION(new_state);
175
7.32M
}
176
177
7.32M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
178
179
static void yy_pop_state(void)
180
3.65M
{
181
3.65M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
182
3.65M
  YYSETCONDITION(*stack_state);
183
3.65M
  zend_stack_del_top(&SCNG(state_stack));
184
3.65M
}
185
186
static void yy_scan_buffer(char *str, size_t len)
187
150k
{
188
150k
  YYCURSOR       = (YYCTYPE*)str;
189
150k
  YYLIMIT        = YYCURSOR + len;
190
150k
  if (!SCNG(yy_start)) {
191
28.0k
    SCNG(yy_start) = YYCURSOR;
192
28.0k
  }
193
150k
}
194
195
void startup_scanner(void)
196
300k
{
197
300k
  CG(parse_error) = 0;
198
300k
  CG(doc_comment) = NULL;
199
300k
  CG(extra_fn_flags) = 0;
200
300k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
201
300k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
202
300k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
203
300k
  SCNG(heredoc_scan_ahead) = 0;
204
300k
}
205
206
5.15M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
207
5.15M
    efree(heredoc_label->label);
208
5.15M
}
209
210
void shutdown_scanner(void)
211
300k
{
212
300k
  CG(parse_error) = 0;
213
300k
  RESET_DOC_COMMENT();
214
300k
  zend_stack_destroy(&SCNG(state_stack));
215
300k
  zend_stack_destroy(&SCNG(nest_location_stack));
216
300k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
217
300k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
218
300k
  SCNG(heredoc_scan_ahead) = 0;
219
300k
  SCNG(on_event) = NULL;
220
300k
  SCNG(on_event_context) = NULL;
221
300k
}
222
223
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
224
301k
{
225
301k
  lex_state->yy_leng   = SCNG(yy_leng);
226
301k
  lex_state->yy_start  = SCNG(yy_start);
227
301k
  lex_state->yy_text   = SCNG(yy_text);
228
301k
  lex_state->yy_cursor = SCNG(yy_cursor);
229
301k
  lex_state->yy_marker = SCNG(yy_marker);
230
301k
  lex_state->yy_limit  = SCNG(yy_limit);
231
232
301k
  lex_state->state_stack = SCNG(state_stack);
233
301k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
234
235
301k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
236
301k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
237
238
301k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
239
301k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
240
241
301k
  lex_state->in = SCNG(yy_in);
242
301k
  lex_state->yy_state = YYSTATE;
243
301k
  lex_state->filename = CG(compiled_filename);
244
301k
  lex_state->lineno = CG(zend_lineno);
245
301k
  CG(compiled_filename) = NULL;
246
247
301k
  lex_state->script_org = SCNG(script_org);
248
301k
  lex_state->script_org_size = SCNG(script_org_size);
249
301k
  lex_state->script_filtered = SCNG(script_filtered);
250
301k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
251
301k
  lex_state->input_filter = SCNG(input_filter);
252
301k
  lex_state->output_filter = SCNG(output_filter);
253
301k
  lex_state->script_encoding = SCNG(script_encoding);
254
255
301k
  lex_state->on_event = SCNG(on_event);
256
301k
  lex_state->on_event_context = SCNG(on_event_context);
257
258
301k
  lex_state->ast = CG(ast);
259
301k
  lex_state->ast_arena = CG(ast_arena);
260
301k
}
261
262
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
263
295k
{
264
295k
  SCNG(yy_leng)   = lex_state->yy_leng;
265
295k
  SCNG(yy_start)  = lex_state->yy_start;
266
295k
  SCNG(yy_text)   = lex_state->yy_text;
267
295k
  SCNG(yy_cursor) = lex_state->yy_cursor;
268
295k
  SCNG(yy_marker) = lex_state->yy_marker;
269
295k
  SCNG(yy_limit)  = lex_state->yy_limit;
270
271
295k
  zend_stack_destroy(&SCNG(state_stack));
272
295k
  SCNG(state_stack) = lex_state->state_stack;
273
274
295k
  zend_stack_destroy(&SCNG(nest_location_stack));
275
295k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
276
277
295k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
278
295k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
279
295k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
280
281
295k
  SCNG(yy_in) = lex_state->in;
282
295k
  YYSETCONDITION(lex_state->yy_state);
283
295k
  CG(zend_lineno) = lex_state->lineno;
284
295k
  zend_restore_compiled_filename(lex_state->filename);
285
286
295k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
287
0
    efree(SCNG(script_filtered));
288
0
    SCNG(script_filtered) = NULL;
289
0
  }
290
295k
  SCNG(script_org) = lex_state->script_org;
291
295k
  SCNG(script_org_size) = lex_state->script_org_size;
292
295k
  SCNG(script_filtered) = lex_state->script_filtered;
293
295k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
294
295k
  SCNG(input_filter) = lex_state->input_filter;
295
295k
  SCNG(output_filter) = lex_state->output_filter;
296
295k
  SCNG(script_encoding) = lex_state->script_encoding;
297
298
295k
  SCNG(on_event) = lex_state->on_event;
299
295k
  SCNG(on_event_context) = lex_state->on_event_context;
300
301
295k
  CG(ast) = lex_state->ast;
302
295k
  CG(ast_arena) = lex_state->ast_arena;
303
304
295k
  RESET_DOC_COMMENT();
305
295k
}
306
307
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
308
15.6k
{
309
15.6k
  unsigned char *end = ident;
310
97.9k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
311
82.2k
    end++;
312
82.2k
  }
313
314
15.6k
  size_t length = end - ident;
315
15.6k
  if (length == 0) {
316
10
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
317
10
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
318
10
    return FAILURE;
319
10
  }
320
321
15.6k
  if (SCNG(on_event)) {
322
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
323
0
  }
324
325
15.6k
  ZVAL_STRINGL(zv, (char *) ident, length);
326
15.6k
  return SUCCESS;
327
15.6k
}
328
329
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
330
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
331
0
#define BOM_UTF16_BE  "\xfe\xff"
332
0
#define BOM_UTF16_LE  "\xff\xfe"
333
0
#define BOM_UTF8    "\xef\xbb\xbf"
334
335
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
336
0
{
337
0
  const unsigned char *p;
338
0
  int wchar_size = 2;
339
0
  int le = 0;
340
341
  /* utf-16 or utf-32? */
342
0
  p = script;
343
0
  assert(p >= script);
344
0
  while ((size_t)(p-script) < script_size) {
345
0
    p = memchr(p, 0, script_size-(p-script)-2);
346
0
    if (!p) {
347
0
      break;
348
0
    }
349
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
350
0
      wchar_size = 4;
351
0
      break;
352
0
    }
353
354
    /* searching for UTF-32 specific byte orders, so this will do */
355
0
    p += 4;
356
0
  }
357
358
  /* BE or LE? */
359
0
  p = script;
360
0
  assert(p >= script);
361
0
  while ((size_t)(p-script) < script_size) {
362
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
363
      /* BE */
364
0
      le = 0;
365
0
      break;
366
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
367
      /* LE* */
368
0
      le = 1;
369
0
      break;
370
0
    }
371
0
    p += wchar_size;
372
0
  }
373
374
0
  if (wchar_size == 2) {
375
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
376
0
  } else {
377
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
378
0
  }
379
380
0
  return NULL;
381
0
}
382
383
static const zend_encoding* zend_multibyte_detect_unicode(void)
384
0
{
385
0
  const zend_encoding *script_encoding = NULL;
386
0
  int bom_size;
387
0
  unsigned char *pos1, *pos2;
388
389
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
390
0
    return NULL;
391
0
  }
392
393
  /* check out BOM */
394
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
395
0
    script_encoding = zend_multibyte_encoding_utf32be;
396
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
397
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
398
0
    script_encoding = zend_multibyte_encoding_utf32le;
399
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
400
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
401
0
    script_encoding = zend_multibyte_encoding_utf16be;
402
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
403
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
404
0
    script_encoding = zend_multibyte_encoding_utf16le;
405
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
406
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
407
0
    script_encoding = zend_multibyte_encoding_utf8;
408
0
    bom_size = sizeof(BOM_UTF8)-1;
409
0
  }
410
411
0
  if (script_encoding) {
412
    /* remove BOM */
413
0
    LANG_SCNG(script_org) += bom_size;
414
0
    LANG_SCNG(script_org_size) -= bom_size;
415
416
0
    return script_encoding;
417
0
  }
418
419
  /* script contains NULL bytes -> auto-detection */
420
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
421
    /* check if the NULL byte is after the __HALT_COMPILER(); */
422
0
    pos2 = LANG_SCNG(script_org);
423
424
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
425
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
426
0
      if (!pos2) break;
427
0
      pos2++;
428
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
429
0
        pos2 += sizeof("_HALT_COMPILER")-1;
430
0
        while (*pos2 == ' '  ||
431
0
             *pos2 == '\t' ||
432
0
             *pos2 == '\r' ||
433
0
             *pos2 == '\n') {
434
0
          pos2++;
435
0
        }
436
0
        if (*pos2 == '(') {
437
0
          pos2++;
438
0
          while (*pos2 == ' '  ||
439
0
               *pos2 == '\t' ||
440
0
               *pos2 == '\r' ||
441
0
               *pos2 == '\n') {
442
0
            pos2++;
443
0
          }
444
0
          if (*pos2 == ')') {
445
0
            pos2++;
446
0
            while (*pos2 == ' '  ||
447
0
                 *pos2 == '\t' ||
448
0
                 *pos2 == '\r' ||
449
0
                 *pos2 == '\n') {
450
0
              pos2++;
451
0
            }
452
0
            if (*pos2 == ';') {
453
0
              return NULL;
454
0
            }
455
0
          }
456
0
        }
457
0
      }
458
0
    }
459
    /* make best effort if BOM is missing */
460
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
461
0
  }
462
463
0
  return NULL;
464
0
}
465
466
static const zend_encoding* zend_multibyte_find_script_encoding(void)
467
0
{
468
0
  const zend_encoding *script_encoding;
469
470
0
  if (CG(detect_unicode)) {
471
    /* check out bom(byte order mark) and see if containing wchars */
472
0
    script_encoding = zend_multibyte_detect_unicode();
473
0
    if (script_encoding != NULL) {
474
      /* bom or wchar detection is prior to 'script_encoding' option */
475
0
      return script_encoding;
476
0
    }
477
0
  }
478
479
  /* if no script_encoding specified, just leave alone */
480
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
481
0
    return NULL;
482
0
  }
483
484
  /* if multiple encodings specified, detect automagically */
485
0
  if (CG(script_encoding_list_size) > 1) {
486
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
487
0
  }
488
489
0
  return CG(script_encoding_list)[0];
490
0
}
491
492
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
493
0
{
494
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
495
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
496
497
0
  if (!script_encoding) {
498
0
    return FAILURE;
499
0
  }
500
501
  /* judge input/output filter */
502
0
  LANG_SCNG(script_encoding) = script_encoding;
503
0
  LANG_SCNG(input_filter) = NULL;
504
0
  LANG_SCNG(output_filter) = NULL;
505
506
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
507
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
508
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
509
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
510
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
511
0
    } else {
512
0
      LANG_SCNG(input_filter) = NULL;
513
0
      LANG_SCNG(output_filter) = NULL;
514
0
    }
515
0
    return SUCCESS;
516
0
  }
517
518
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
519
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
520
0
    LANG_SCNG(output_filter) = NULL;
521
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
522
0
    LANG_SCNG(input_filter) = NULL;
523
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
524
0
  } else {
525
    /* both script and internal encodings are incompatible w/ flex */
526
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
527
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
528
0
  }
529
530
0
  return SUCCESS;
531
0
}
532
533
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
534
123k
{
535
123k
  char *buf;
536
123k
  size_t size;
537
123k
  zend_string *compiled_filename;
538
539
123k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
540
    /* Still add it to open_files to make destroy_file_handle work */
541
820
    zend_llist_add_element(&CG(open_files), file_handle);
542
820
    file_handle->in_list = 1;
543
820
    return FAILURE;
544
820
  }
545
546
123k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
547
123k
  zend_llist_add_element(&CG(open_files), file_handle);
548
122k
  file_handle->in_list = 1;
549
550
  /* Reset the scanner for scanning the new file */
551
122k
  SCNG(yy_in) = file_handle;
552
122k
  SCNG(yy_start) = NULL;
553
554
122k
  if (size != (size_t)-1) {
555
122k
    if (CG(multibyte)) {
556
0
      SCNG(script_org) = (unsigned char*)buf;
557
0
      SCNG(script_org_size) = size;
558
0
      SCNG(script_filtered) = NULL;
559
560
0
      zend_multibyte_set_filter(NULL);
561
562
0
      if (SCNG(input_filter)) {
563
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
564
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
565
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
566
0
        }
567
0
        buf = (char*)SCNG(script_filtered);
568
0
        size = SCNG(script_filtered_size);
569
0
      }
570
0
    }
571
122k
    SCNG(yy_start) = (unsigned char *)buf;
572
122k
    yy_scan_buffer(buf, size);
573
122k
  } else {
574
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
575
0
  }
576
577
122k
  if (CG(skip_shebang)) {
578
0
    BEGIN(SHEBANG);
579
122k
  } else {
580
122k
    BEGIN(INITIAL);
581
122k
  }
582
583
122k
  if (file_handle->opened_path) {
584
66
    compiled_filename = zend_string_copy(file_handle->opened_path);
585
122k
  } else {
586
122k
    compiled_filename = zend_string_copy(file_handle->filename);
587
122k
  }
588
589
122k
  zend_set_compiled_filename(compiled_filename);
590
122k
  zend_string_release_ex(compiled_filename, 0);
591
592
122k
  SCNG(on_event) = NULL;
593
122k
  SCNG(on_event_context) = NULL;
594
122k
  RESET_DOC_COMMENT();
595
122k
  CG(zend_lineno) = 1;
596
122k
  CG(increment_lineno) = 0;
597
122k
  return SUCCESS;
598
122k
}
599
600
static zend_op_array *zend_compile_ast_internal(int type)
601
93.8k
{
602
93.8k
  ZEND_ASSERT(CG(in_compilation));
603
93.8k
  ZEND_ASSERT(CG(ast));
604
605
93.8k
  uint32_t last_lineno = CG(zend_lineno);
606
93.8k
  zend_file_context original_file_context;
607
93.8k
  zend_oparray_context original_oparray_context;
608
93.8k
  zend_op_array *original_active_op_array = CG(active_op_array);
609
610
93.8k
  zend_op_array *op_array = emalloc(sizeof(*op_array));
611
93.8k
  init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
612
93.8k
  CG(active_op_array) = op_array;
613
614
  /* Use heap to not waste arena memory */
615
93.8k
  op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
616
617
93.8k
  if (zend_ast_process) {
618
0
    zend_ast_process(CG(ast));
619
0
  }
620
621
93.8k
  zend_file_context_begin(&original_file_context);
622
93.8k
  zend_oparray_context_begin(&original_oparray_context, op_array);
623
93.8k
  zend_compile_top_stmt(CG(ast));
624
93.8k
  CG(zend_lineno) = last_lineno;
625
93.8k
  zend_emit_final_return(type == ZEND_USER_FUNCTION);
626
93.8k
  op_array->line_start = 1;
627
93.8k
  op_array->line_end = last_lineno;
628
93.8k
  pass_two(op_array);
629
93.8k
  zend_oparray_context_end(&original_oparray_context);
630
93.8k
  zend_file_context_end(&original_file_context);
631
632
93.8k
  CG(active_op_array) = original_active_op_array;
633
634
93.8k
  return op_array;
635
93.8k
}
636
637
static zend_op_array *zend_compile(zend_function_type type)
638
129k
{
639
129k
  zend_op_array *op_array = NULL;
640
129k
  bool original_in_compilation = CG(in_compilation);
641
642
129k
  CG(in_compilation) = 1;
643
129k
  CG(ast) = NULL;
644
129k
  CG(ast_arena) = zend_arena_create(1024 * 32);
645
646
129k
  if (!zendparse()) {
647
93.2k
    op_array = zend_compile_ast_internal(type);
648
93.2k
  }
649
650
129k
  zend_ast_destroy(CG(ast));
651
129k
  zend_arena_destroy(CG(ast_arena));
652
653
129k
  CG(in_compilation) = original_in_compilation;
654
655
129k
  return op_array;
656
129k
}
657
658
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
659
123k
{
660
123k
  zend_lex_state original_lex_state;
661
123k
  zend_op_array *op_array = NULL;
662
123k
  zend_save_lexical_state(&original_lex_state);
663
664
123k
  if (open_file_for_scanning(file_handle)==FAILURE) {
665
820
    if (!EG(exception)) {
666
723
      if (type==ZEND_REQUIRE) {
667
688
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
668
688
      } else {
669
35
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
670
35
      }
671
723
    }
672
123k
  } else {
673
123k
    bool orig_record_errors = EG(record_errors);
674
123k
    if (!orig_record_errors) {
675
86
      zend_begin_record_errors();
676
86
    }
677
678
123k
    op_array = zend_compile(ZEND_USER_FUNCTION);
679
680
123k
    if (!orig_record_errors) {
681
86
      zend_emit_recorded_errors();
682
86
      zend_free_recorded_errors();
683
86
    }
684
123k
  }
685
686
123k
  zend_restore_lexical_state(&original_lex_state);
687
123k
  return op_array;
688
123k
}
689
690
ZEND_API zend_op_array *zend_compile_ast(
691
  zend_ast *ast, int type, zend_string *filename)
692
666
{
693
666
  zend_string *original_compiled_filename = CG(compiled_filename);
694
666
  bool original_in_compilation = CG(in_compilation);
695
666
  CG(in_compilation) = true;
696
666
  CG(ast) = ast;
697
698
666
  zend_set_compiled_filename(filename);
699
666
  zend_op_array *op_array = zend_compile_ast_internal(type);
700
701
666
  CG(in_compilation) = original_in_compilation;
702
666
  zend_restore_compiled_filename(original_compiled_filename);
703
704
666
  return op_array;
705
666
}
706
707
ZEND_API zend_ast *zend_compile_string_to_ast(
708
16
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
709
16
  zval code_zv;
710
16
  bool original_in_compilation;
711
16
  zend_lex_state original_lex_state;
712
16
  zend_ast *ast;
713
714
16
  ZVAL_STR_COPY(&code_zv, code);
715
716
16
  original_in_compilation = CG(in_compilation);
717
16
  CG(in_compilation) = 1;
718
719
16
  zend_save_lexical_state(&original_lex_state);
720
16
  zend_prepare_string_for_scanning(&code_zv, filename);
721
16
  CG(ast) = NULL;
722
16
  CG(ast_arena) = zend_arena_create(1024 * 32);
723
16
  LANG_SCNG(yy_state) = yycINITIAL;
724
725
16
  if (zendparse() != 0) {
726
0
    zend_ast_destroy(CG(ast));
727
0
    zend_arena_destroy(CG(ast_arena));
728
0
    CG(ast) = NULL;
729
0
  }
730
731
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
732
16
  ast = CG(ast);
733
16
  *ast_arena = CG(ast_arena);
734
735
16
  zend_restore_lexical_state(&original_lex_state);
736
16
  CG(in_compilation) = original_in_compilation;
737
738
16
  zval_ptr_dtor_str(&code_zv);
739
740
16
  return ast;
741
16
}
742
743
zend_op_array *compile_filename(int type, zend_string *filename)
744
93.0k
{
745
93.0k
  zend_file_handle file_handle;
746
93.0k
  zend_op_array *retval;
747
93.0k
  zend_string *opened_path = NULL;
748
749
93.0k
  zend_stream_init_filename_ex(&file_handle, filename);
750
751
93.0k
  retval = zend_compile_file(&file_handle, type);
752
93.0k
  if (retval && file_handle.handle.stream.handle) {
753
85
    if (!file_handle.opened_path) {
754
20
      file_handle.opened_path = opened_path = zend_string_copy(filename);
755
20
    }
756
757
85
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
758
759
85
    if (opened_path) {
760
20
      zend_string_release_ex(opened_path, 0);
761
20
    }
762
85
  }
763
93.0k
  zend_destroy_file_handle(&file_handle);
764
765
93.0k
  return retval;
766
93.0k
}
767
768
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
769
28.0k
{
770
28.0k
  char *buf;
771
28.0k
  size_t size, old_len;
772
773
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
774
28.0k
  old_len = Z_STRLEN_P(str);
775
28.0k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
776
28.0k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
777
28.0k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
778
779
28.0k
  SCNG(yy_in) = NULL;
780
28.0k
  SCNG(yy_start) = NULL;
781
782
28.0k
  buf = Z_STRVAL_P(str);
783
28.0k
  size = old_len;
784
785
28.0k
  if (CG(multibyte)) {
786
0
    SCNG(script_org) = (unsigned char*)buf;
787
0
    SCNG(script_org_size) = size;
788
0
    SCNG(script_filtered) = NULL;
789
790
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
791
792
0
    if (SCNG(input_filter)) {
793
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
794
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
795
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
796
0
      }
797
0
      buf = (char*)SCNG(script_filtered);
798
0
      size = SCNG(script_filtered_size);
799
0
    }
800
0
  }
801
802
28.0k
  yy_scan_buffer(buf, size);
803
28.0k
  zend_set_compiled_filename(filename);
804
28.0k
  CG(zend_lineno) = 1;
805
28.0k
  CG(increment_lineno) = 0;
806
28.0k
  SCNG(on_event) = NULL;
807
28.0k
  SCNG(on_event_context) = NULL;
808
28.0k
  RESET_DOC_COMMENT();
809
28.0k
}
810
811
812
ZEND_API size_t zend_get_scanned_file_offset(void)
813
117
{
814
117
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
815
117
  if (SCNG(input_filter)) {
816
0
    size_t original_offset = offset, length = 0;
817
0
    do {
818
0
      unsigned char *p = NULL;
819
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
820
0
        return (size_t)-1;
821
0
      }
822
0
      efree(p);
823
0
      if (length > original_offset) {
824
0
        offset--;
825
0
      } else if (length < original_offset) {
826
0
        offset++;
827
0
      }
828
0
    } while (original_offset != length);
829
0
  }
830
117
  return offset;
831
117
}
832
833
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
834
6.89k
{
835
6.89k
  zend_lex_state original_lex_state;
836
6.89k
  zend_op_array *op_array = NULL;
837
6.89k
  zval tmp;
838
6.89k
  zend_string *filename_str;
839
840
6.89k
  if (ZSTR_LEN(source_string) == 0) {
841
36
    return NULL;
842
36
  }
843
844
6.85k
  ZVAL_STR_COPY(&tmp, source_string);
845
846
6.85k
  zend_save_lexical_state(&original_lex_state);
847
6.85k
  filename_str = zend_string_init(filename, strlen(filename), 0);
848
6.85k
  zend_prepare_string_for_scanning(&tmp, filename_str);
849
6.85k
  zend_string_release(filename_str);
850
851
6.85k
  switch (position) {
852
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
853
0
      BEGIN(SHEBANG);
854
0
      break;
855
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
856
0
      BEGIN(INITIAL);
857
0
      break;
858
6.85k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
859
6.85k
      BEGIN(ST_IN_SCRIPTING);
860
6.85k
      break;
861
6.85k
  }
862
863
6.85k
  op_array = zend_compile(ZEND_EVAL_CODE);
864
865
6.85k
  zend_restore_lexical_state(&original_lex_state);
866
6.85k
  zval_ptr_dtor(&tmp);
867
868
6.85k
  return op_array;
869
6.85k
}
870
871
872
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
873
0
{
874
0
  zend_lex_state original_lex_state;
875
0
  zend_file_handle file_handle;
876
877
0
  zend_stream_init_filename(&file_handle, filename);
878
0
  zend_save_lexical_state(&original_lex_state);
879
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
880
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
881
0
    zend_destroy_file_handle(&file_handle);
882
0
    zend_restore_lexical_state(&original_lex_state);
883
0
    return FAILURE;
884
0
  }
885
0
  zend_highlight(syntax_highlighter_ini);
886
0
  if (SCNG(script_filtered)) {
887
0
    efree(SCNG(script_filtered));
888
0
    SCNG(script_filtered) = NULL;
889
0
  }
890
0
  zend_destroy_file_handle(&file_handle);
891
0
  zend_restore_lexical_state(&original_lex_state);
892
0
  return SUCCESS;
893
0
}
894
895
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
896
21.2k
{
897
21.2k
  zend_lex_state original_lex_state;
898
21.2k
  zval str_zv;
899
21.2k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
900
21.2k
  ZVAL_STR_COPY(&str_zv, str);
901
21.2k
  zend_save_lexical_state(&original_lex_state);
902
21.2k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
903
21.2k
  zend_string_release(filename_str);
904
21.2k
  BEGIN(INITIAL);
905
21.2k
  zend_highlight(syntax_highlighter_ini);
906
21.2k
  if (SCNG(script_filtered)) {
907
0
    efree(SCNG(script_filtered));
908
0
    SCNG(script_filtered) = NULL;
909
0
  }
910
21.2k
  zend_restore_lexical_state(&original_lex_state);
911
21.2k
  zval_ptr_dtor(&str_zv);
912
21.2k
}
913
914
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
915
0
{
916
0
  size_t length;
917
0
  unsigned char *new_yy_start;
918
919
  /* convert and set */
920
0
  if (!SCNG(input_filter)) {
921
0
    if (SCNG(script_filtered)) {
922
0
      efree(SCNG(script_filtered));
923
0
      SCNG(script_filtered) = NULL;
924
0
    }
925
0
    SCNG(script_filtered_size) = 0;
926
0
    length = SCNG(script_org_size);
927
0
    new_yy_start = SCNG(script_org);
928
0
  } else {
929
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
930
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
931
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
932
0
    }
933
0
    if (SCNG(script_filtered)) {
934
0
      efree(SCNG(script_filtered));
935
0
    }
936
0
    SCNG(script_filtered) = new_yy_start;
937
0
    SCNG(script_filtered_size) = length;
938
0
  }
939
940
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
941
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
942
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
943
0
  SCNG(yy_limit) = new_yy_start + length;
944
945
0
  SCNG(yy_start) = new_yy_start;
946
0
}
947
948
949
// TODO: avoid reallocation ???
950
# define zend_copy_value(zendlval, yytext, yyleng) \
951
6.36M
  if (SCNG(output_filter)) { \
952
0
    size_t sz = 0; \
953
0
    char *s = NULL; \
954
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
955
0
    ZVAL_STRINGL(zendlval, s, sz); \
956
0
    efree(s); \
957
6.36M
  } else if (yyleng == 1) { \
958
2.02M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
959
4.33M
  } else { \
960
4.33M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
961
4.33M
  }
962
963
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
964
764k
{
965
764k
  char *s, *t;
966
764k
  char *end;
967
968
764k
  if (len <= 1) {
969
177k
    if (len < 1) {
970
22.8k
      ZVAL_EMPTY_STRING(zendlval);
971
155k
    } else {
972
155k
      zend_uchar c = (zend_uchar)*str;
973
155k
      HANDLE_NEWLINE(c);
974
155k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
975
155k
    }
976
177k
    goto skip_escape_conversion;
977
177k
  }
978
979
586k
  ZVAL_STRINGL(zendlval, str, len);
980
981
  /* convert escape sequences */
982
586k
  s = Z_STRVAL_P(zendlval);
983
586k
  end = s+Z_STRLEN_P(zendlval);
984
17.3M
  while (1) {
985
17.3M
    if (UNEXPECTED(*s=='\\')) {
986
144k
      break;
987
144k
    }
988
17.1M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
989
503k
      CG(zend_lineno)++;
990
503k
    }
991
17.1M
    s++;
992
17.1M
    if (s == end) {
993
442k
      goto skip_escape_conversion;
994
442k
    }
995
17.1M
  }
996
997
144k
  t = s;
998
5.38M
  while (s<end) {
999
5.24M
    if (*s=='\\') {
1000
359k
      s++;
1001
359k
      if (s >= end) {
1002
1.77k
        *t++ = '\\';
1003
1.77k
        break;
1004
1.77k
      }
1005
1006
357k
      switch(*s) {
1007
62.6k
        case 'n':
1008
62.6k
          *t++ = '\n';
1009
62.6k
          break;
1010
2.10k
        case 'r':
1011
2.10k
          *t++ = '\r';
1012
2.10k
          break;
1013
1.33k
        case 't':
1014
1.33k
          *t++ = '\t';
1015
1.33k
          break;
1016
2.14k
        case 'f':
1017
2.14k
          *t++ = '\f';
1018
2.14k
          break;
1019
4.11k
        case 'v':
1020
4.11k
          *t++ = '\v';
1021
4.11k
          break;
1022
320
        case 'e':
1023
#ifdef ZEND_WIN32
1024
          *t++ = VK_ESCAPE;
1025
#else
1026
320
          *t++ = '\e';
1027
320
#endif
1028
320
          break;
1029
1.71k
        case '"':
1030
4.06k
        case '`':
1031
4.06k
          if (*s != quote_type) {
1032
1.01k
            *t++ = '\\';
1033
1.01k
            *t++ = *s;
1034
1.01k
            break;
1035
1.01k
          }
1036
3.04k
          ZEND_FALLTHROUGH;
1037
99.4k
        case '\\':
1038
101k
        case '$':
1039
101k
          *t++ = *s;
1040
101k
          break;
1041
10.2k
        case 'x':
1042
12.7k
        case 'X':
1043
12.7k
          if (ZEND_IS_HEX(*(s+1))) {
1044
9.38k
            char hex_buf[3] = { 0, 0, 0 };
1045
1046
9.38k
            hex_buf[0] = *(++s);
1047
9.38k
            if (ZEND_IS_HEX(*(s+1))) {
1048
6.64k
              hex_buf[1] = *(++s);
1049
6.64k
            }
1050
9.38k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1051
9.38k
          } else {
1052
3.37k
            *t++ = '\\';
1053
3.37k
            *t++ = *s;
1054
3.37k
          }
1055
12.7k
          break;
1056
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1057
3.68k
        case 'u':
1058
3.68k
          {
1059
            /* cache where we started so we can parse after validating */
1060
3.68k
            char *start = s + 1;
1061
3.68k
            size_t len = 0;
1062
3.68k
            bool valid = 1;
1063
3.68k
            unsigned long codepoint;
1064
1065
3.68k
            if (*start != '{') {
1066
              /* we silently let this pass to avoid breaking code
1067
               * with JSON in string literals (e.g. "\"\u202e\""
1068
               */
1069
383
              *t++ = '\\';
1070
383
              *t++ = 'u';
1071
383
              break;
1072
3.30k
            } else {
1073
              /* on the other hand, invalid \u{blah} errors */
1074
3.30k
              s++;
1075
3.30k
              len++;
1076
3.30k
              s++;
1077
14.3k
              while (*s != '}') {
1078
11.7k
                if (!ZEND_IS_HEX(*s)) {
1079
702
                  valid = 0;
1080
702
                  break;
1081
11.0k
                } else {
1082
11.0k
                  len++;
1083
11.0k
                }
1084
11.0k
                s++;
1085
11.0k
              }
1086
3.30k
              if (*s == '}') {
1087
2.60k
                valid = 1;
1088
2.60k
                len++;
1089
2.60k
              }
1090
3.30k
            }
1091
1092
            /* \u{} is invalid */
1093
3.30k
            if (len <= 2) {
1094
1.00k
              valid = 0;
1095
1.00k
            }
1096
1097
3.30k
            if (!valid) {
1098
1.09k
              zend_throw_exception(zend_ce_parse_error,
1099
1.09k
                "Invalid UTF-8 codepoint escape sequence", 0);
1100
1.09k
              zval_ptr_dtor(zendlval);
1101
1.09k
              ZVAL_UNDEF(zendlval);
1102
1.09k
              return FAILURE;
1103
1.09k
            }
1104
1105
3.30k
            errno = 0;
1106
2.20k
            codepoint = strtoul(start + 1, NULL, 16);
1107
1108
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1109
2.20k
            if (codepoint > 0x10FFFF || errno) {
1110
260
              zend_throw_exception(zend_ce_parse_error,
1111
260
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1112
260
              zval_ptr_dtor(zendlval);
1113
260
              ZVAL_UNDEF(zendlval);
1114
260
              return FAILURE;
1115
260
            }
1116
1117
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1118
1.94k
            if (codepoint < 0x80) {
1119
271
              *t++ = codepoint;
1120
1.67k
            } else if (codepoint <= 0x7FF) {
1121
425
              *t++ = (codepoint >> 6) + 0xC0;
1122
425
              *t++ = (codepoint & 0x3F) + 0x80;
1123
1.24k
            } else if (codepoint <= 0xFFFF) {
1124
583
              *t++ = (codepoint >> 12) + 0xE0;
1125
583
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1126
583
              *t++ = (codepoint & 0x3F) + 0x80;
1127
666
            } else if (codepoint <= 0x10FFFF) {
1128
666
              *t++ = (codepoint >> 18) + 0xF0;
1129
666
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1130
666
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1131
666
              *t++ = (codepoint & 0x3F) + 0x80;
1132
666
            }
1133
1.94k
          }
1134
0
          break;
1135
165k
        default:
1136
          /* check for an octal */
1137
165k
          if (ZEND_IS_OCT(*s)) {
1138
31.7k
            char octal_buf[4] = { 0, 0, 0, 0 };
1139
1140
31.7k
            octal_buf[0] = *s;
1141
31.7k
            if (ZEND_IS_OCT(*(s+1))) {
1142
7.82k
              octal_buf[1] = *(++s);
1143
7.82k
              if (ZEND_IS_OCT(*(s+1))) {
1144
3.75k
                octal_buf[2] = *(++s);
1145
3.75k
              }
1146
7.82k
            }
1147
31.7k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1148
              /* 3 octit values must not overflow 0xFF (\377) */
1149
640
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1150
640
            }
1151
1152
31.7k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1153
133k
          } else {
1154
133k
            *t++ = '\\';
1155
133k
            *t++ = *s;
1156
133k
          }
1157
165k
          break;
1158
357k
      }
1159
4.88M
    } else {
1160
4.88M
      *t++ = *s;
1161
4.88M
    }
1162
1163
5.23M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1164
152k
      CG(zend_lineno)++;
1165
152k
    }
1166
5.23M
    s++;
1167
5.23M
  }
1168
142k
  *t = 0;
1169
142k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1170
1171
763k
skip_escape_conversion:
1172
763k
  if (SCNG(output_filter)) {
1173
0
    size_t sz = 0;
1174
0
    unsigned char *str;
1175
    // TODO: avoid realocation ???
1176
0
    s = Z_STRVAL_P(zendlval);
1177
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1178
0
    zval_ptr_dtor(zendlval);
1179
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1180
0
    efree(str);
1181
0
  }
1182
763k
  return SUCCESS;
1183
142k
}
1184
1185
851k
#define HEREDOC_USING_SPACES 1
1186
44.8k
#define HEREDOC_USING_TABS 2
1187
1188
279k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1189
3.59M
  for (; str < end; str++) {
1190
3.46M
    if (*str == '\r') {
1191
20.4k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1192
20.4k
      return str;
1193
3.44M
    } else if (*str == '\n') {
1194
135k
      *newline_len = 1;
1195
135k
      return str;
1196
135k
    }
1197
3.46M
  }
1198
123k
  *newline_len = 0;
1199
123k
  return NULL;
1200
279k
}
1201
1202
static bool strip_multiline_string_indentation(
1203
  zval *zendlval, int indentation, bool using_spaces,
1204
  bool newline_at_start, bool newline_at_end)
1205
119k
{
1206
119k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1207
119k
  char *copy = Z_STRVAL_P(zendlval);
1208
1209
119k
  uint32_t newline_count = 0;
1210
119k
  size_t newline_len;
1211
119k
  const char *nl;
1212
1213
119k
  if (!newline_at_start) {
1214
81.7k
    nl = next_newline(str, end, &newline_len);
1215
81.7k
    if (!nl) {
1216
47.3k
      return 1;
1217
47.3k
    }
1218
1219
34.4k
    str = nl + newline_len;
1220
34.4k
    copy = (char *) nl + newline_len;
1221
34.4k
    newline_count++;
1222
37.9k
  } else {
1223
37.9k
    nl = str;
1224
37.9k
  }
1225
1226
  /* <= intentional */
1227
233k
  while (str <= end && nl) {
1228
197k
    size_t skip;
1229
197k
    nl = next_newline(str, end, &newline_len);
1230
197k
    if (!nl && newline_at_end) {
1231
9.72k
      nl = end;
1232
9.72k
    }
1233
1234
    /* Try to skip indentation */
1235
200k
    for (skip = 0; skip < indentation; skip++, str++) {
1236
3.63k
      if (str == nl) {
1237
        /* Don't require full indentation on whitespace-only lines */
1238
458
        break;
1239
458
      }
1240
1241
3.17k
      if (str == end || (*str != ' ' && *str != '\t')) {
1242
58
        CG(zend_lineno) += newline_count;
1243
58
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1244
58
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1245
58
        goto error;
1246
58
      }
1247
1248
3.11k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1249
36
        CG(zend_lineno) += newline_count;
1250
36
        zend_throw_exception(zend_ce_parse_error,
1251
36
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1252
36
        goto error;
1253
36
      }
1254
3.11k
    }
1255
1256
197k
    if (str == end) {
1257
36.8k
      break;
1258
36.8k
    }
1259
1260
160k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1261
160k
    memmove(copy, str, len);
1262
160k
    str += len;
1263
160k
    copy += len;
1264
160k
    newline_count++;
1265
160k
  }
1266
1267
72.2k
  *copy = '\0';
1268
72.2k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1269
72.2k
  return 1;
1270
1271
94
error:
1272
94
  zval_ptr_dtor_str(zendlval);
1273
94
  ZVAL_UNDEF(zendlval);
1274
1275
94
  return 0;
1276
72.3k
}
1277
1278
static void copy_heredoc_label_stack(void *void_heredoc_label)
1279
2.28M
{
1280
2.28M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1281
2.28M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1282
1283
2.28M
  *new_heredoc_label = *heredoc_label;
1284
2.28M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1285
1286
2.28M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1287
2.28M
}
1288
1289
/* Check that { }, [ ], ( ) are nested correctly */
1290
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1291
262k
{
1292
262k
  char   buf[256];
1293
262k
  size_t used = 0;
1294
1295
262k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1296
1297
262k
  if (opening_lineno != CG(zend_lineno)) {
1298
162k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1299
162k
  }
1300
1301
262k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1302
137k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1303
137k
  }
1304
1305
262k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1306
262k
}
1307
1308
static void enter_nesting(char opening)
1309
5.52M
{
1310
5.52M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1311
5.52M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1312
5.52M
}
1313
1314
static zend_result exit_nesting(char closing)
1315
1.57M
{
1316
1.57M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1317
13.4k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1318
13.4k
    return FAILURE;
1319
13.4k
  }
1320
1321
1.56M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1322
1.56M
  char opening = nest_loc->text;
1323
1324
1.56M
  if ((opening == '{' && closing != '}') ||
1325
1.51M
      (opening == '[' && closing != ']') ||
1326
1.50M
      (opening == '(' && closing != ')')) {
1327
137k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1328
137k
    return FAILURE;
1329
137k
  }
1330
1331
1.42M
  zend_stack_del_top(&SCNG(nest_location_stack));
1332
1.42M
  return SUCCESS;
1333
1.56M
}
1334
1335
static zend_result check_nesting_at_end(void)
1336
232k
{
1337
232k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1338
125k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1339
125k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1340
125k
    return FAILURE;
1341
125k
  }
1342
1343
107k
  return SUCCESS;
1344
232k
}
1345
1346
#define PARSER_MODE() \
1347
19.2M
  EXPECTED(elem != NULL)
1348
1349
23.3M
#define RETURN_TOKEN(_token) do { \
1350
23.3M
    token = _token; \
1351
23.3M
    goto emit_token; \
1352
23.3M
  } while (0)
1353
1354
3.37M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1355
3.37M
    token = _token; \
1356
3.37M
    goto emit_token_with_val; \
1357
3.37M
  } while (0)
1358
1359
6.36M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1360
6.36M
    token = _token; \
1361
6.36M
    offset = _offset; \
1362
6.36M
    goto emit_token_with_str; \
1363
6.36M
  } while (0)
1364
1365
1.30M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1366
1.30M
    token = _token; \
1367
1.30M
    goto emit_token_with_ident; \
1368
1.30M
  } while (0)
1369
1370
1.08M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1371
1.08M
    token = _token; \
1372
1.08M
    if (PARSER_MODE()) { \
1373
290k
      goto skip_token; \
1374
290k
    } \
1375
1.08M
    goto emit_token; \
1376
1.08M
  } while (0)
1377
1378
1.57M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1379
1.57M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1380
391
      RETURN_TOKEN(T_ERROR); \
1381
1.57M
    } else { \
1382
1.57M
      RETURN_TOKEN(_token); \
1383
1.57M
    } \
1384
1.57M
  } while(0)
1385
1386
232k
#define RETURN_END_TOKEN do { \
1387
232k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1388
4.29k
      RETURN_TOKEN(T_ERROR); \
1389
228k
    } else { \
1390
228k
      RETURN_TOKEN(END); \
1391
228k
    } \
1392
232k
  } while (0)
1393
1394
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1395
38.3M
{
1396
38.3M
int token;
1397
38.3M
int offset;
1398
38.3M
uint32_t start_line = CG(zend_lineno);
1399
1400
38.3M
  ZVAL_UNDEF(zendlval);
1401
44.8M
restart:
1402
44.8M
  SCNG(yy_text) = YYCURSOR;
1403
1404
1405
44.8M
#line 1406 "Zend/zend_language_scanner.c"
1406
44.8M
{
1407
44.8M
  YYCTYPE yych;
1408
44.8M
  unsigned int yyaccept = 0;
1409
44.8M
  if (YYGETCONDITION() < 5) {
1410
41.2M
    if (YYGETCONDITION() < 2) {
1411
35.8M
      if (YYGETCONDITION() < 1) {
1412
35.4M
        goto yyc_ST_IN_SCRIPTING;
1413
35.4M
      } else {
1414
409k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1415
409k
      }
1416
35.8M
    } else {
1417
5.42M
      if (YYGETCONDITION() < 3) {
1418
179k
        goto yyc_ST_BACKQUOTE;
1419
5.24M
      } else {
1420
5.24M
        if (YYGETCONDITION() < 4) {
1421
631k
          goto yyc_ST_DOUBLE_QUOTES;
1422
4.61M
        } else {
1423
4.61M
          goto yyc_ST_HEREDOC;
1424
4.61M
        }
1425
5.24M
      }
1426
5.42M
    }
1427
41.2M
  } else {
1428
3.65M
    if (YYGETCONDITION() < 8) {
1429
3.18M
      if (YYGETCONDITION() < 6) {
1430
2.97M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1431
2.97M
      } else {
1432
214k
        if (YYGETCONDITION() < 7) {
1433
214k
          goto yyc_ST_VAR_OFFSET;
1434
214k
        } else {
1435
0
          goto yyc_SHEBANG;
1436
0
        }
1437
214k
      }
1438
3.18M
    } else {
1439
469k
      if (YYGETCONDITION() < 9) {
1440
435k
        goto yyc_INITIAL;
1441
435k
      } else {
1442
34.0k
        if (YYGETCONDITION() < 10) {
1443
23.9k
          goto yyc_ST_END_HEREDOC;
1444
23.9k
        } else {
1445
10.1k
          goto yyc_ST_NOWDOC;
1446
10.1k
        }
1447
34.0k
      }
1448
469k
    }
1449
3.65M
  }
1450
/* *********************************** */
1451
35.4M
yyc_ST_IN_SCRIPTING:
1452
35.4M
  {
1453
35.4M
    static const unsigned char yybm[] = {
1454
      /* table 1 .. 8: 0 */
1455
35.4M
        0, 134, 134, 134, 134, 134, 134, 134, 
1456
35.4M
      134, 135,   4, 134, 134,   4, 134, 134, 
1457
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1458
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1459
35.4M
      135, 134, 134, 134, 134, 134, 134, 134, 
1460
35.4M
      134, 134,  66, 134, 134, 134, 134, 134, 
1461
35.4M
      190, 190, 182, 182, 182, 182, 182, 182, 
1462
35.4M
      166, 166, 134, 134, 134, 134, 134, 134, 
1463
35.4M
      134, 166, 166, 166, 166, 166, 166, 134, 
1464
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1465
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1466
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1467
35.4M
      134, 166, 166, 166, 166, 166, 166, 134, 
1468
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1469
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1470
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1471
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1472
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1473
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1474
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1475
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1476
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1477
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1478
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1479
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1480
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1481
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1482
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1483
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1484
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1485
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1486
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1487
      /* table 9 .. 11: 256 */
1488
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1489
35.4M
        0,  32,  32,   0,   0,  32,   0,   0, 
1490
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1491
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1492
35.4M
       32,   0,   0,   0,   0,   0,   0,   0, 
1493
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1494
35.4M
      192, 192, 192, 192, 192, 192, 192, 192, 
1495
35.4M
      192, 192,   0,   0,   0,   0,   0,   0, 
1496
35.4M
        0, 128, 128, 128, 128, 128, 128, 128, 
1497
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1498
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1499
35.4M
      128, 128, 128,   0,   0,   0,   0, 128, 
1500
35.4M
        0, 128, 128, 128, 128, 128, 128, 128, 
1501
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1502
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1503
35.4M
      128, 128, 128,   0,   0,   0,   0,   0, 
1504
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1505
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1506
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1507
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1508
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1509
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1510
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1511
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1512
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1513
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1514
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1515
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1516
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1517
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1518
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1519
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1520
35.4M
    };
1521
35.4M
    YYDEBUG(1, *YYCURSOR);
1522
35.4M
    YYFILL(16);
1523
35.4M
    yych = *YYCURSOR;
1524
35.4M
    if (yybm[256+yych] & 32) {
1525
6.38M
      goto yy5;
1526
6.38M
    }
1527
29.0M
    switch (yych) {
1528
3.91M
    case 0x00:
1529
4.04M
    case 0x01:
1530
4.08M
    case 0x02:
1531
4.10M
    case 0x03:
1532
4.27M
    case 0x04:
1533
4.32M
    case 0x05:
1534
4.34M
    case 0x06:
1535
4.39M
    case 0x07:
1536
4.44M
    case 0x08:
1537
4.44M
    case '\t':
1538
4.44M
    case '\n':
1539
4.49M
    case '\v':
1540
4.54M
    case '\f':
1541
4.54M
    case '\r':
1542
4.57M
    case 0x0E:
1543
4.61M
    case 0x0F:
1544
4.63M
    case 0x10:
1545
4.65M
    case 0x11:
1546
4.67M
    case 0x12:
1547
4.76M
    case 0x13:
1548
4.77M
    case 0x14:
1549
4.79M
    case 0x15:
1550
4.80M
    case 0x16:
1551
4.82M
    case 0x17:
1552
4.83M
    case 0x18:
1553
4.85M
    case 0x19:
1554
4.87M
    case 0x1A:
1555
4.88M
    case 0x1B:
1556
5.09M
    case 0x1C:
1557
5.13M
    case 0x1D:
1558
5.15M
    case 0x1E:
1559
5.17M
    case 0x1F:
1560
5.20M
    case 0x7F:  goto yy3;
1561
0
    case ' ':
1562
128k
    case '!': goto yy8;
1563
356k
    case '"': goto yy10;
1564
654k
    case '#': goto yy12;
1565
1.73M
    case '$': goto yy14;
1566
55.9k
    case '%': goto yy15;
1567
194k
    case '&': goto yy16;
1568
347k
    case '\'':  goto yy18;
1569
1.20M
    case '(': goto yy20;
1570
873k
    case ')':
1571
1.16M
    case ']': goto yy22;
1572
103k
    case '*': goto yy24;
1573
177k
    case '+': goto yy25;
1574
768k
    case ',':
1575
1.82M
    case ';':
1576
2.34M
    case '@':
1577
2.42M
    case '~': goto yy26;
1578
367k
    case '-': goto yy27;
1579
397k
    case '.': goto yy28;
1580
356k
    case '/': goto yy29;
1581
242k
    case '0': goto yy30;
1582
217k
    case '1':
1583
366k
    case '2':
1584
458k
    case '3':
1585
593k
    case '4':
1586
659k
    case '5':
1587
709k
    case '6':
1588
746k
    case '7':
1589
790k
    case '8':
1590
829k
    case '9': goto yy32;
1591
240k
    case ':': goto yy34;
1592
4.10M
    case '<': goto yy35;
1593
659k
    case '=': goto yy36;
1594
81.8k
    case '>': goto yy37;
1595
539k
    case '?': goto yy38;
1596
69.8k
    case 'A':
1597
224k
    case 'a': goto yy39;
1598
55.0k
    case 'B':
1599
112k
    case 'b': goto yy41;
1600
78.4k
    case 'C':
1601
370k
    case 'c': goto yy42;
1602
60.9k
    case 'D':
1603
134k
    case 'd': goto yy43;
1604
80.0k
    case 'E':
1605
571k
    case 'e': goto yy44;
1606
55.2k
    case 'F':
1607
409k
    case 'f': goto yy45;
1608
11.0k
    case 'G':
1609
73.5k
    case 'g': goto yy46;
1610
70.4k
    case 'I':
1611
282k
    case 'i': goto yy49;
1612
12.4k
    case 'L':
1613
54.0k
    case 'l': goto yy50;
1614
19.7k
    case 'M':
1615
73.7k
    case 'm': goto yy51;
1616
35.0k
    case 'N':
1617
218k
    case 'n': goto yy52;
1618
44.4k
    case 'O':
1619
137k
    case 'o': goto yy53;
1620
79.5k
    case 'P':
1621
444k
    case 'p': goto yy54;
1622
19.0k
    case 'R':
1623
153k
    case 'r': goto yy55;
1624
28.0k
    case 'S':
1625
202k
    case 's': goto yy56;
1626
48.6k
    case 'T':
1627
229k
    case 't': goto yy57;
1628
7.15k
    case 'U':
1629
79.3k
    case 'u': goto yy58;
1630
9.94k
    case 'V':
1631
144k
    case 'v': goto yy59;
1632
16.4k
    case 'W':
1633
31.3k
    case 'w': goto yy60;
1634
16.5k
    case 'X':
1635
34.3k
    case 'x': goto yy61;
1636
7.78k
    case 'Y':
1637
142k
    case 'y': goto yy62;
1638
280k
    case '[': goto yy63;
1639
173k
    case '\\':  goto yy64;
1640
79.8k
    case '^': goto yy66;
1641
188k
    case '_': goto yy67;
1642
50.3k
    case '`': goto yy68;
1643
1.00M
    case '{': goto yy70;
1644
113k
    case '|': goto yy72;
1645
408k
    case '}': goto yy73;
1646
1.00M
    default:  goto yy47;
1647
29.0M
    }
1648
5.20M
yy3:
1649
5.20M
    YYDEBUG(3, *YYCURSOR);
1650
5.20M
    ++YYCURSOR;
1651
5.20M
    YYDEBUG(4, *YYCURSOR);
1652
5.20M
    yyleng = YYCURSOR - SCNG(yy_text);
1653
5.20M
#line 3210 "Zend/zend_language_scanner.l"
1654
5.20M
    {
1655
5.20M
  if (YYCURSOR > YYLIMIT) {
1656
120k
    RETURN_END_TOKEN;
1657
120k
  }
1658
1659
5.08M
  RETURN_TOKEN(T_BAD_CHARACTER);
1660
5.08M
}
1661
0
#line 1662 "Zend/zend_language_scanner.c"
1662
10.3M
yy5:
1663
10.3M
    YYDEBUG(5, *YYCURSOR);
1664
10.3M
    ++YYCURSOR;
1665
10.3M
    YYFILL(1);
1666
10.3M
    yych = *YYCURSOR;
1667
10.3M
    YYDEBUG(6, *YYCURSOR);
1668
10.3M
    if (yybm[256+yych] & 32) {
1669
3.97M
      goto yy5;
1670
3.97M
    }
1671
6.38M
    YYDEBUG(7, *YYCURSOR);
1672
6.38M
    yyleng = YYCURSOR - SCNG(yy_text);
1673
6.38M
#line 1627 "Zend/zend_language_scanner.l"
1674
6.38M
    {
1675
6.38M
  goto return_whitespace;
1676
10.3M
}
1677
0
#line 1678 "Zend/zend_language_scanner.c"
1678
128k
yy8:
1679
128k
    YYDEBUG(8, *YYCURSOR);
1680
128k
    yych = *++YYCURSOR;
1681
128k
    if (yych == '=') goto yy75;
1682
5.84M
yy9:
1683
5.84M
    YYDEBUG(9, *YYCURSOR);
1684
5.84M
    yyleng = YYCURSOR - SCNG(yy_text);
1685
5.84M
#line 1999 "Zend/zend_language_scanner.l"
1686
5.84M
    {
1687
5.84M
  RETURN_TOKEN(yytext[0]);
1688
5.84M
}
1689
0
#line 1690 "Zend/zend_language_scanner.c"
1690
357k
yy10:
1691
357k
    YYDEBUG(10, *YYCURSOR);
1692
357k
    ++YYCURSOR;
1693
357k
    YYDEBUG(11, *YYCURSOR);
1694
357k
    yyleng = YYCURSOR - SCNG(yy_text);
1695
357k
#line 2662 "Zend/zend_language_scanner.l"
1696
357k
    {
1697
357k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1698
1699
10.1M
  while (YYCURSOR < YYLIMIT) {
1700
10.1M
    switch (*YYCURSOR++) {
1701
264k
      case '"':
1702
264k
        yyleng = YYCURSOR - SCNG(yy_text);
1703
264k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1704
264k
         || !PARSER_MODE()) {
1705
264k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1706
264k
        } else {
1707
12
          RETURN_TOKEN(T_ERROR);
1708
12
        }
1709
112k
      case '$':
1710
112k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1711
81.4k
          break;
1712
81.4k
        }
1713
30.9k
        continue;
1714
38.3k
      case '{':
1715
38.3k
        if (*YYCURSOR == '$') {
1716
3.25k
          break;
1717
3.25k
        }
1718
35.0k
        continue;
1719
261k
      case '\\':
1720
261k
        if (YYCURSOR < YYLIMIT) {
1721
261k
          YYCURSOR++;
1722
261k
        }
1723
261k
        ZEND_FALLTHROUGH;
1724
9.73M
      default:
1725
9.73M
        continue;
1726
10.1M
    }
1727
1728
84.6k
    YYCURSOR--;
1729
84.6k
    break;
1730
10.1M
  }
1731
1732
  /* Remember how much was scanned to save rescanning */
1733
357k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1734
1735
93.3k
  YYCURSOR = SCNG(yy_text) + yyleng;
1736
1737
93.3k
  BEGIN(ST_DOUBLE_QUOTES);
1738
93.3k
  RETURN_TOKEN('"');
1739
93.3k
}
1740
0
#line 1741 "Zend/zend_language_scanner.c"
1741
654k
yy12:
1742
654k
    YYDEBUG(12, *YYCURSOR);
1743
654k
    yych = *++YYCURSOR;
1744
654k
    if (yych == '[') goto yy77;
1745
726k
yy13:
1746
726k
    YYDEBUG(13, *YYCURSOR);
1747
726k
    yyleng = YYCURSOR - SCNG(yy_text);
1748
726k
#line 2490 "Zend/zend_language_scanner.l"
1749
726k
    {
1750
8.70M
  while (YYCURSOR < YYLIMIT) {
1751
8.69M
    switch (*YYCURSOR++) {
1752
204k
      case '\r':
1753
715k
      case '\n':
1754
715k
        YYCURSOR--;
1755
715k
        break;
1756
43.4k
      case '?':
1757
43.4k
        if (*YYCURSOR == '>') {
1758
2.17k
          YYCURSOR--;
1759
2.17k
          break;
1760
2.17k
        }
1761
41.2k
        ZEND_FALLTHROUGH;
1762
7.97M
      default:
1763
7.97M
        continue;
1764
8.69M
    }
1765
1766
718k
    break;
1767
8.69M
  }
1768
1769
726k
  yyleng = YYCURSOR - SCNG(yy_text);
1770
726k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1771
726k
}
1772
0
#line 1773 "Zend/zend_language_scanner.c"
1773
1.73M
yy14:
1774
1.73M
    YYDEBUG(14, *YYCURSOR);
1775
1.73M
    yych = *++YYCURSOR;
1776
1.73M
    if (yych <= '_') {
1777
206k
      if (yych <= '@') goto yy9;
1778
37.0k
      if (yych <= 'Z') goto yy79;
1779
9.26k
      if (yych <= '^') goto yy9;
1780
5.12k
      goto yy79;
1781
1.52M
    } else {
1782
1.52M
      if (yych <= '`') goto yy9;
1783
1.52M
      if (yych <= 'z') goto yy79;
1784
442k
      if (yych <= 0x7F) goto yy9;
1785
66.8k
      goto yy79;
1786
442k
    }
1787
55.9k
yy15:
1788
55.9k
    YYDEBUG(15, *YYCURSOR);
1789
55.9k
    yych = *++YYCURSOR;
1790
55.9k
    if (yych == '=') goto yy82;
1791
54.4k
    goto yy9;
1792
194k
yy16:
1793
194k
    YYDEBUG(16, *YYCURSOR);
1794
194k
    yyaccept = 0;
1795
194k
    yych = *(YYMARKER = ++YYCURSOR);
1796
194k
    if (yych <= '"') {
1797
73.1k
      if (yych <= '\f') {
1798
50.0k
        if (yych <= 0x08) goto yy17;
1799
47.5k
        if (yych <= '\n') goto yy85;
1800
47.5k
      } else {
1801
23.0k
        if (yych <= '\r') goto yy85;
1802
19.2k
        if (yych == ' ') goto yy85;
1803
19.2k
      }
1804
121k
    } else {
1805
121k
      if (yych <= '-') {
1806
38.5k
        if (yych <= '$') goto yy85;
1807
18.4k
        if (yych == '&') goto yy90;
1808
82.8k
      } else {
1809
82.8k
        if (yych <= '/') goto yy85;
1810
78.0k
        if (yych == '=') goto yy94;
1811
78.0k
      }
1812
121k
    }
1813
129k
yy17:
1814
129k
    YYDEBUG(17, *YYCURSOR);
1815
129k
    yyleng = YYCURSOR - SCNG(yy_text);
1816
129k
#line 1985 "Zend/zend_language_scanner.l"
1817
129k
    {
1818
129k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1819
129k
}
1820
0
#line 1821 "Zend/zend_language_scanner.c"
1821
348k
yy18:
1822
348k
    YYDEBUG(18, *YYCURSOR);
1823
348k
    ++YYCURSOR;
1824
348k
    YYDEBUG(19, *YYCURSOR);
1825
348k
    yyleng = YYCURSOR - SCNG(yy_text);
1826
348k
#line 2568 "Zend/zend_language_scanner.l"
1827
348k
    {
1828
348k
  char *s, *t;
1829
348k
  char *end;
1830
348k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1831
1832
40.0M
  while (1) {
1833
40.0M
    if (YYCURSOR < YYLIMIT) {
1834
40.0M
      if (*YYCURSOR == '\'') {
1835
337k
        YYCURSOR++;
1836
337k
        yyleng = YYCURSOR - SCNG(yy_text);
1837
1838
337k
        break;
1839
39.6M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1840
126k
        YYCURSOR++;
1841
126k
      }
1842
40.0M
    } else {
1843
10.9k
      yyleng = YYLIMIT - SCNG(yy_text);
1844
1845
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1846
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1847
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1848
10.9k
      ZVAL_NULL(zendlval);
1849
10.9k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1850
10.9k
    }
1851
40.0M
  }
1852
1853
337k
  if (yyleng-bprefix-2 <= 1) {
1854
59.9k
    if (yyleng-bprefix-2 < 1) {
1855
12.7k
      ZVAL_EMPTY_STRING(zendlval);
1856
47.2k
    } else {
1857
47.2k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1858
47.2k
      HANDLE_NEWLINE(c);
1859
47.2k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1860
47.2k
    }
1861
59.9k
    goto skip_escape_conversion;
1862
59.9k
  }
1863
277k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1864
1865
  /* convert escape sequences */
1866
277k
  s = Z_STRVAL_P(zendlval);
1867
277k
  end = s+Z_STRLEN_P(zendlval);
1868
27.1M
  while (1) {
1869
27.1M
    if (UNEXPECTED(*s=='\\')) {
1870
40.7k
      break;
1871
40.7k
    }
1872
27.1M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1873
461k
      CG(zend_lineno)++;
1874
461k
    }
1875
27.1M
    s++;
1876
27.1M
    if (s == end) {
1877
236k
      goto skip_escape_conversion;
1878
236k
    }
1879
27.1M
  }
1880
1881
40.7k
  t = s;
1882
11.6M
  while (s<end) {
1883
11.6M
    if (*s=='\\') {
1884
123k
      s++;
1885
123k
      if (*s == '\\' || *s == '\'') {
1886
46.1k
        *t++ = *s;
1887
77.4k
      } else {
1888
77.4k
        *t++ = '\\';
1889
77.4k
        *t++ = *s;
1890
77.4k
      }
1891
11.4M
    } else {
1892
11.4M
      *t++ = *s;
1893
11.4M
    }
1894
11.6M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1895
209k
      CG(zend_lineno)++;
1896
209k
    }
1897
11.6M
    s++;
1898
11.6M
  }
1899
40.7k
  *t = 0;
1900
40.7k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1901
1902
337k
skip_escape_conversion:
1903
337k
  if (SCNG(output_filter)) {
1904
0
    size_t sz = 0;
1905
0
    char *str = NULL;
1906
0
    zend_string *new_str;
1907
0
    s = Z_STRVAL_P(zendlval);
1908
    // TODO: avoid reallocation ???
1909
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1910
0
    new_str = zend_string_init(str, sz, 0);
1911
0
    if (str != s) {
1912
0
      efree(str);
1913
0
    }
1914
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1915
0
    ZVAL_STR(zendlval, new_str);
1916
0
  }
1917
337k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1918
337k
}
1919
0
#line 1920 "Zend/zend_language_scanner.c"
1920
1.20M
yy20:
1921
1.20M
    YYDEBUG(20, *YYCURSOR);
1922
1.20M
    yyaccept = 1;
1923
1.20M
    yych = *(YYMARKER = ++YYCURSOR);
1924
1.20M
    if (yych <= 'S') {
1925
884k
      if (yych <= 'D') {
1926
826k
        if (yych <= ' ') {
1927
107k
          if (yych == '\t') goto yy97;
1928
99.8k
          if (yych >= ' ') goto yy97;
1929
719k
        } else {
1930
719k
          if (yych <= '@') goto yy21;
1931
23.9k
          if (yych != 'C') goto yy97;
1932
23.9k
        }
1933
826k
      } else {
1934
57.8k
        if (yych <= 'I') {
1935
39.4k
          if (yych == 'F') goto yy97;
1936
35.9k
          if (yych >= 'I') goto yy97;
1937
35.9k
        } else {
1938
18.3k
          if (yych == 'O') goto yy97;
1939
15.1k
          if (yych >= 'R') goto yy97;
1940
15.1k
        }
1941
57.8k
      }
1942
884k
    } else {
1943
323k
      if (yych <= 'f') {
1944
137k
        if (yych <= 'b') {
1945
90.4k
          if (yych <= 'T') goto yy21;
1946
82.6k
          if (yych <= 'V') goto yy97;
1947
81.1k
          if (yych >= 'a') goto yy97;
1948
81.1k
        } else {
1949
47.4k
          if (yych == 'd') goto yy97;
1950
40.4k
          if (yych >= 'f') goto yy97;
1951
40.4k
        }
1952
185k
      } else {
1953
185k
        if (yych <= 'o') {
1954
70.8k
          if (yych == 'i') goto yy97;
1955
41.0k
          if (yych >= 'o') goto yy97;
1956
114k
        } else {
1957
114k
          if (yych <= 's') {
1958
55.3k
            if (yych >= 'r') goto yy97;
1959
59.5k
          } else {
1960
59.5k
            if (yych <= 't') goto yy21;
1961
51.7k
            if (yych <= 'v') goto yy97;
1962
51.7k
          }
1963
114k
        }
1964
185k
      }
1965
323k
    }
1966
1.47M
yy21:
1967
1.47M
    YYDEBUG(21, *YYCURSOR);
1968
1.47M
    yyleng = YYCURSOR - SCNG(yy_text);
1969
1.47M
#line 1994 "Zend/zend_language_scanner.l"
1970
1.47M
    {
1971
1.47M
  enter_nesting(yytext[0]);
1972
1.47M
  RETURN_TOKEN(yytext[0]);
1973
1.47M
}
1974
0
#line 1975 "Zend/zend_language_scanner.c"
1975
1.16M
yy22:
1976
1.16M
    YYDEBUG(22, *YYCURSOR);
1977
1.16M
    ++YYCURSOR;
1978
1.16M
    YYDEBUG(23, *YYCURSOR);
1979
1.16M
    yyleng = YYCURSOR - SCNG(yy_text);
1980
1.16M
#line 1989 "Zend/zend_language_scanner.l"
1981
1.16M
    {
1982
  /* Check that ] and ) match up properly with a preceding [ or ( */
1983
1.16M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1984
1.16M
}
1985
0
#line 1986 "Zend/zend_language_scanner.c"
1986
103k
yy24:
1987
103k
    YYDEBUG(24, *YYCURSOR);
1988
103k
    yych = *++YYCURSOR;
1989
103k
    if (yych == '*') goto yy108;
1990
88.5k
    if (yych == '=') goto yy110;
1991
82.9k
    goto yy9;
1992
177k
yy25:
1993
177k
    YYDEBUG(25, *YYCURSOR);
1994
177k
    yych = *++YYCURSOR;
1995
177k
    if (yych == '+') goto yy112;
1996
126k
    if (yych == '=') goto yy114;
1997
121k
    goto yy9;
1998
2.42M
yy26:
1999
2.42M
    YYDEBUG(26, *YYCURSOR);
2000
2.42M
    ++YYCURSOR;
2001
2.42M
    goto yy9;
2002
367k
yy27:
2003
367k
    YYDEBUG(27, *YYCURSOR);
2004
367k
    yych = *++YYCURSOR;
2005
367k
    if (yych <= '<') {
2006
147k
      if (yych == '-') goto yy116;
2007
132k
      goto yy9;
2008
220k
    } else {
2009
220k
      if (yych <= '=') goto yy118;
2010
217k
      if (yych <= '>') goto yy120;
2011
79.7k
      goto yy9;
2012
217k
    }
2013
397k
yy28:
2014
397k
    YYDEBUG(28, *YYCURSOR);
2015
397k
    yyaccept = 2;
2016
397k
    yych = *(YYMARKER = ++YYCURSOR);
2017
397k
    if (yych <= '/') {
2018
202k
      if (yych == '.') goto yy122;
2019
122k
      goto yy9;
2020
202k
    } else {
2021
195k
      if (yych <= '9') goto yy123;
2022
161k
      if (yych == '=') goto yy126;
2023
56.3k
      goto yy9;
2024
161k
    }
2025
356k
yy29:
2026
356k
    YYDEBUG(29, *YYCURSOR);
2027
356k
    yych = *++YYCURSOR;
2028
356k
    if (yych <= '.') {
2029
182k
      if (yych == '*') goto yy128;
2030
48.8k
      goto yy9;
2031
182k
    } else {
2032
173k
      if (yych <= '/') goto yy130;
2033
82.0k
      if (yych == '=') goto yy131;
2034
78.8k
      goto yy9;
2035
82.0k
    }
2036
242k
yy30:
2037
242k
    YYDEBUG(30, *YYCURSOR);
2038
242k
    yyaccept = 3;
2039
242k
    yych = *(YYMARKER = ++YYCURSOR);
2040
242k
    if (yych <= 'X') {
2041
164k
      if (yych <= 'N') {
2042
160k
        if (yych == 'B') goto yy134;
2043
159k
        goto yy33;
2044
160k
      } else {
2045
3.86k
        if (yych <= 'O') goto yy136;
2046
3.16k
        if (yych <= 'W') goto yy33;
2047
2.22k
        goto yy137;
2048
3.16k
      }
2049
164k
    } else {
2050
78.2k
      if (yych <= 'n') {
2051
44.4k
        if (yych == 'b') goto yy134;
2052
41.4k
        goto yy33;
2053
44.4k
      } else {
2054
33.8k
        if (yych <= 'o') goto yy136;
2055
31.9k
        if (yych == 'x') goto yy137;
2056
27.2k
        goto yy33;
2057
31.9k
      }
2058
78.2k
    }
2059
988k
yy31:
2060
988k
    YYDEBUG(31, *YYCURSOR);
2061
988k
    yyleng = YYCURSOR - SCNG(yy_text);
2062
988k
#line 2133 "Zend/zend_language_scanner.l"
2063
988k
    {
2064
988k
  size_t len = yyleng;
2065
988k
  char *end, *lnum = yytext;
2066
988k
  bool is_octal = lnum[0] == '0';
2067
988k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2068
2069
988k
  if (contains_underscores) {
2070
2.12k
    lnum = estrndup(lnum, len);
2071
2.12k
    strip_underscores(lnum, &len);
2072
2.12k
  }
2073
2074
  /* Digits 8 and 9 are illegal in octal literals. */
2075
988k
  if (is_octal) {
2076
220k
    size_t i;
2077
606k
    for (i = 0; i < len; i++) {
2078
389k
      if (lnum[i] == '8' || lnum[i] == '9') {
2079
3.11k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2080
3.11k
        if (PARSER_MODE()) {
2081
32
          if (contains_underscores) {
2082
6
            efree(lnum);
2083
6
          }
2084
32
          ZVAL_UNDEF(zendlval);
2085
32
          RETURN_TOKEN(T_ERROR);
2086
32
        }
2087
2088
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2089
3.08k
        len = i;
2090
3.08k
        break;
2091
3.11k
      }
2092
389k
    }
2093
220k
  }
2094
2095
2096
988k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2097
953k
    errno = 0;
2098
    /* base must be passed explicitly for correct parse error on Windows */
2099
953k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2100
953k
    ZEND_ASSERT(end == lnum + len);
2101
953k
  } else {
2102
34.3k
    errno = 0;
2103
34.3k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2104
34.3k
    if (errno == ERANGE) { /* Overflow */
2105
30.3k
      errno = 0;
2106
30.3k
      if (is_octal) { /* octal overflow */
2107
792
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2108
29.5k
      } else {
2109
29.5k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2110
29.5k
      }
2111
30.3k
      ZEND_ASSERT(end == lnum + len);
2112
30.3k
      if (contains_underscores) {
2113
212
        efree(lnum);
2114
212
      }
2115
30.3k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2116
30.3k
    }
2117
3.99k
    ZEND_ASSERT(end == lnum + len);
2118
3.99k
  }
2119
957k
  ZEND_ASSERT(!errno);
2120
957k
  if (contains_underscores) {
2121
1.90k
    efree(lnum);
2122
1.90k
  }
2123
957k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2124
957k
}
2125
0
#line 2126 "Zend/zend_language_scanner.c"
2126
3.36M
yy32:
2127
3.36M
    YYDEBUG(32, *YYCURSOR);
2128
3.36M
    yyaccept = 3;
2129
3.36M
    YYMARKER = ++YYCURSOR;
2130
3.36M
    YYFILL(3);
2131
3.36M
    yych = *YYCURSOR;
2132
3.59M
yy33:
2133
3.59M
    YYDEBUG(33, *YYCURSOR);
2134
3.59M
    if (yybm[256+yych] & 64) {
2135
2.53M
      goto yy32;
2136
2.53M
    }
2137
1.06M
    if (yych <= 'E') {
2138
808k
      if (yych == '.') goto yy133;
2139
758k
      if (yych <= 'D') goto yy31;
2140
16.0k
      goto yy135;
2141
758k
    } else {
2142
254k
      if (yych <= '_') {
2143
119k
        if (yych <= '^') goto yy31;
2144
11.6k
        goto yy138;
2145
135k
      } else {
2146
135k
        if (yych == 'e') goto yy135;
2147
122k
        goto yy31;
2148
135k
      }
2149
254k
    }
2150
240k
yy34:
2151
240k
    YYDEBUG(34, *YYCURSOR);
2152
240k
    yych = *++YYCURSOR;
2153
240k
    if (yych == ':') goto yy139;
2154
116k
    goto yy9;
2155
4.10M
yy35:
2156
4.10M
    YYDEBUG(35, *YYCURSOR);
2157
4.10M
    yych = *++YYCURSOR;
2158
4.10M
    if (yych <= ';') goto yy9;
2159
3.93M
    if (yych <= '<') goto yy141;
2160
585k
    if (yych <= '=') goto yy143;
2161
569k
    if (yych <= '>') goto yy145;
2162
564k
    goto yy9;
2163
659k
yy36:
2164
659k
    YYDEBUG(36, *YYCURSOR);
2165
659k
    yych = *++YYCURSOR;
2166
659k
    if (yych <= '<') goto yy9;
2167
114k
    if (yych <= '=') goto yy146;
2168
79.3k
    if (yych <= '>') goto yy148;
2169
28.8k
    goto yy9;
2170
81.8k
yy37:
2171
81.8k
    YYDEBUG(37, *YYCURSOR);
2172
81.8k
    yych = *++YYCURSOR;
2173
81.8k
    if (yych <= '<') goto yy9;
2174
39.3k
    if (yych <= '=') goto yy150;
2175
33.7k
    if (yych <= '>') goto yy152;
2176
23.2k
    goto yy9;
2177
539k
yy38:
2178
539k
    YYDEBUG(38, *YYCURSOR);
2179
539k
    yyaccept = 2;
2180
539k
    yych = *(YYMARKER = ++YYCURSOR);
2181
539k
    if (yych <= '=') {
2182
200k
      if (yych == '-') goto yy154;
2183
159k
      goto yy9;
2184
338k
    } else {
2185
338k
      if (yych <= '>') goto yy155;
2186
192k
      if (yych <= '?') goto yy157;
2187
141k
      goto yy9;
2188
192k
    }
2189
224k
yy39:
2190
224k
    YYDEBUG(39, *YYCURSOR);
2191
224k
    yyaccept = 4;
2192
224k
    yych = *(YYMARKER = ++YYCURSOR);
2193
224k
    if (yych <= 'S') {
2194
75.4k
      if (yych <= 'M') {
2195
65.3k
        if (yych == 'B') goto yy159;
2196
63.8k
        goto yy48;
2197
65.3k
      } else {
2198
10.1k
        if (yych <= 'N') goto yy160;
2199
8.31k
        if (yych <= 'Q') goto yy48;
2200
7.82k
        if (yych <= 'R') goto yy161;
2201
5.01k
        goto yy162;
2202
7.82k
      }
2203
148k
    } else {
2204
148k
      if (yych <= 'n') {
2205
37.2k
        if (yych == 'b') goto yy159;
2206
26.8k
        if (yych <= 'm') goto yy48;
2207
7.63k
        goto yy160;
2208
111k
      } else {
2209
111k
        if (yych <= 'q') goto yy48;
2210
109k
        if (yych <= 'r') goto yy161;
2211
67.1k
        if (yych <= 's') goto yy162;
2212
17.7k
        goto yy48;
2213
67.1k
      }
2214
148k
    }
2215
3.97M
yy40:
2216
3.97M
    YYDEBUG(40, *YYCURSOR);
2217
3.97M
    yyleng = YYCURSOR - SCNG(yy_text);
2218
3.97M
#line 2485 "Zend/zend_language_scanner.l"
2219
3.97M
    {
2220
3.97M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2221
3.97M
}
2222
0
#line 2223 "Zend/zend_language_scanner.c"
2223
112k
yy41:
2224
112k
    YYDEBUG(41, *YYCURSOR);
2225
112k
    yyaccept = 4;
2226
112k
    yych = *(YYMARKER = ++YYCURSOR);
2227
112k
    if (yych <= ';') {
2228
30.1k
      if (yych <= '"') {
2229
13.4k
        if (yych <= '!') goto yy48;
2230
1.05k
        goto yy10;
2231
16.7k
      } else {
2232
16.7k
        if (yych == '\'') goto yy18;
2233
16.0k
        goto yy48;
2234
16.7k
      }
2235
82.5k
    } else {
2236
82.5k
      if (yych <= 'R') {
2237
16.1k
        if (yych <= '<') goto yy165;
2238
11.2k
        if (yych <= 'Q') goto yy48;
2239
391
        goto yy166;
2240
66.4k
      } else {
2241
66.4k
        if (yych == 'r') goto yy166;
2242
59.9k
        goto yy48;
2243
66.4k
      }
2244
82.5k
    }
2245
370k
yy42:
2246
370k
    YYDEBUG(42, *YYCURSOR);
2247
370k
    yyaccept = 4;
2248
370k
    yych = *(YYMARKER = ++YYCURSOR);
2249
370k
    if (yych <= 'O') {
2250
82.8k
      if (yych <= 'K') {
2251
72.8k
        if (yych == 'A') goto yy167;
2252
70.2k
        goto yy48;
2253
72.8k
      } else {
2254
10.0k
        if (yych <= 'L') goto yy168;
2255
5.70k
        if (yych <= 'N') goto yy48;
2256
5.43k
        goto yy169;
2257
5.70k
      }
2258
287k
    } else {
2259
287k
      if (yych <= 'k') {
2260
105k
        if (yych == 'a') goto yy167;
2261
26.6k
        goto yy48;
2262
182k
      } else {
2263
182k
        if (yych <= 'l') goto yy168;
2264
78.7k
        if (yych == 'o') goto yy169;
2265
20.5k
        goto yy48;
2266
78.7k
      }
2267
287k
    }
2268
134k
yy43:
2269
134k
    YYDEBUG(43, *YYCURSOR);
2270
134k
    yyaccept = 4;
2271
134k
    yych = *(YYMARKER = ++YYCURSOR);
2272
134k
    if (yych <= 'O') {
2273
39.0k
      if (yych <= 'H') {
2274
28.5k
        if (yych == 'E') goto yy170;
2275
25.4k
        goto yy48;
2276
28.5k
      } else {
2277
10.5k
        if (yych <= 'I') goto yy171;
2278
10.2k
        if (yych <= 'N') goto yy48;
2279
9.42k
        goto yy172;
2280
10.2k
      }
2281
95.8k
    } else {
2282
95.8k
      if (yych <= 'h') {
2283
65.8k
        if (yych == 'e') goto yy170;
2284
39.7k
        goto yy48;
2285
65.8k
      } else {
2286
29.9k
        if (yych <= 'i') goto yy171;
2287
21.6k
        if (yych == 'o') goto yy172;
2288
14.4k
        goto yy48;
2289
21.6k
      }
2290
95.8k
    }
2291
571k
yy44:
2292
571k
    YYDEBUG(44, *YYCURSOR);
2293
571k
    yyaccept = 4;
2294
571k
    yych = *(YYMARKER = ++YYCURSOR);
2295
571k
    switch (yych) {
2296
1.45k
    case 'C':
2297
108k
    case 'c': goto yy174;
2298
1.27k
    case 'L':
2299
17.4k
    case 'l': goto yy175;
2300
3.57k
    case 'M':
2301
13.9k
    case 'm': goto yy176;
2302
90.9k
    case 'N':
2303
231k
    case 'n': goto yy177;
2304
587
    case 'V':
2305
7.02k
    case 'v': goto yy178;
2306
2.82k
    case 'X':
2307
77.4k
    case 'x': goto yy179;
2308
115k
    default:  goto yy48;
2309
571k
    }
2310
409k
yy45:
2311
409k
    YYDEBUG(45, *YYCURSOR);
2312
409k
    yyaccept = 4;
2313
409k
    yych = *(YYMARKER = ++YYCURSOR);
2314
409k
    if (yych <= 'U') {
2315
84.5k
      if (yych <= 'M') {
2316
59.9k
        if (yych == 'I') goto yy180;
2317
58.4k
        goto yy48;
2318
59.9k
      } else {
2319
24.6k
        if (yych <= 'N') goto yy181;
2320
23.7k
        if (yych <= 'O') goto yy183;
2321
12.4k
        if (yych <= 'T') goto yy48;
2322
2.09k
        goto yy184;
2323
12.4k
      }
2324
325k
    } else {
2325
325k
      if (yych <= 'n') {
2326
59.9k
        if (yych == 'i') goto yy180;
2327
41.7k
        if (yych <= 'm') goto yy48;
2328
18.2k
        goto yy181;
2329
265k
      } else {
2330
265k
        if (yych <= 'o') goto yy183;
2331
148k
        if (yych == 'u') goto yy184;
2332
21.8k
        goto yy48;
2333
148k
      }
2334
325k
    }
2335
73.5k
yy46:
2336
73.5k
    YYDEBUG(46, *YYCURSOR);
2337
73.5k
    yyaccept = 4;
2338
73.5k
    yych = *(YYMARKER = ++YYCURSOR);
2339
73.5k
    if (yych <= 'O') {
2340
28.6k
      if (yych == 'L') goto yy185;
2341
25.8k
      if (yych <= 'N') goto yy48;
2342
1.87k
      goto yy186;
2343
44.8k
    } else {
2344
44.8k
      if (yych <= 'l') {
2345
36.3k
        if (yych <= 'k') goto yy48;
2346
7.71k
        goto yy185;
2347
36.3k
      } else {
2348
8.53k
        if (yych == 'o') goto yy186;
2349
3.89k
        goto yy48;
2350
8.53k
      }
2351
44.8k
    }
2352
16.2M
yy47:
2353
16.2M
    YYDEBUG(47, *YYCURSOR);
2354
16.2M
    yyaccept = 4;
2355
16.2M
    YYMARKER = ++YYCURSOR;
2356
16.2M
    YYFILL(1);
2357
16.2M
    yych = *YYCURSOR;
2358
18.9M
yy48:
2359
18.9M
    YYDEBUG(48, *YYCURSOR);
2360
18.9M
    if (yybm[256+yych] & 128) {
2361
14.9M
      goto yy47;
2362
14.9M
    }
2363
3.98M
    if (yych == '\\') goto yy164;
2364
3.94M
    goto yy40;
2365
3.94M
yy49:
2366
282k
    YYDEBUG(49, *YYCURSOR);
2367
282k
    yyaccept = 4;
2368
282k
    yych = *(YYMARKER = ++YYCURSOR);
2369
282k
    if (yych <= 'S') {
2370
79.5k
      if (yych <= 'L') {
2371
33.9k
        if (yych == 'F') goto yy187;
2372
33.4k
        goto yy48;
2373
45.5k
      } else {
2374
45.5k
        if (yych <= 'M') goto yy189;
2375
39.6k
        if (yych <= 'N') goto yy190;
2376
9.55k
        if (yych <= 'R') goto yy48;
2377
4.66k
        goto yy191;
2378
9.55k
      }
2379
202k
    } else {
2380
202k
      if (yych <= 'm') {
2381
81.7k
        if (yych == 'f') goto yy187;
2382
52.9k
        if (yych <= 'l') goto yy48;
2383
30.7k
        goto yy189;
2384
121k
      } else {
2385
121k
        if (yych <= 'n') goto yy190;
2386
46.0k
        if (yych == 's') goto yy191;
2387
18.8k
        goto yy48;
2388
46.0k
      }
2389
202k
    }
2390
54.0k
yy50:
2391
54.0k
    YYDEBUG(50, *YYCURSOR);
2392
54.0k
    yyaccept = 4;
2393
54.0k
    yych = *(YYMARKER = ++YYCURSOR);
2394
54.0k
    if (yych == 'I') goto yy192;
2395
50.9k
    if (yych == 'i') goto yy192;
2396
44.0k
    goto yy48;
2397
73.7k
yy51:
2398
73.7k
    YYDEBUG(51, *YYCURSOR);
2399
73.7k
    yyaccept = 4;
2400
73.7k
    yych = *(YYMARKER = ++YYCURSOR);
2401
73.7k
    if (yych == 'A') goto yy193;
2402
69.0k
    if (yych == 'a') goto yy193;
2403
62.7k
    goto yy48;
2404
218k
yy52:
2405
218k
    YYDEBUG(52, *YYCURSOR);
2406
218k
    yyaccept = 4;
2407
218k
    yych = *(YYMARKER = ++YYCURSOR);
2408
218k
    if (yych <= 'E') {
2409
32.5k
      if (yych == 'A') goto yy194;
2410
28.9k
      if (yych <= 'D') goto yy48;
2411
4.15k
      goto yy195;
2412
186k
    } else {
2413
186k
      if (yych <= 'a') {
2414
36.0k
        if (yych <= '`') goto yy48;
2415
24.1k
        goto yy194;
2416
150k
      } else {
2417
150k
        if (yych == 'e') goto yy195;
2418
52.1k
        goto yy48;
2419
150k
      }
2420
186k
    }
2421
137k
yy53:
2422
137k
    YYDEBUG(53, *YYCURSOR);
2423
137k
    yyaccept = 4;
2424
137k
    yych = *(YYMARKER = ++YYCURSOR);
2425
137k
    if (yych == 'R') goto yy196;
2426
134k
    if (yych == 'r') goto yy196;
2427
128k
    goto yy48;
2428
444k
yy54:
2429
444k
    YYDEBUG(54, *YYCURSOR);
2430
444k
    yyaccept = 4;
2431
444k
    yych = *(YYMARKER = ++YYCURSOR);
2432
444k
    if (yych <= 'U') {
2433
160k
      if (yych == 'R') goto yy198;
2434
154k
      if (yych <= 'T') goto yy48;
2435
1.44k
      goto yy199;
2436
284k
    } else {
2437
284k
      if (yych <= 'r') {
2438
184k
        if (yych <= 'q') goto yy48;
2439
57.3k
        goto yy198;
2440
184k
      } else {
2441
99.1k
        if (yych == 'u') goto yy199;
2442
21.2k
        goto yy48;
2443
99.1k
      }
2444
284k
    }
2445
153k
yy55:
2446
153k
    YYDEBUG(55, *YYCURSOR);
2447
153k
    yyaccept = 4;
2448
153k
    yych = *(YYMARKER = ++YYCURSOR);
2449
153k
    if (yych == 'E') goto yy200;
2450
147k
    if (yych == 'e') goto yy200;
2451
58.1k
    goto yy48;
2452
202k
yy56:
2453
202k
    YYDEBUG(56, *YYCURSOR);
2454
202k
    yyaccept = 4;
2455
202k
    yych = *(YYMARKER = ++YYCURSOR);
2456
202k
    if (yych <= 'W') {
2457
64.2k
      if (yych == 'T') goto yy201;
2458
60.7k
      if (yych <= 'V') goto yy48;
2459
495
      goto yy202;
2460
138k
    } else {
2461
138k
      if (yych <= 't') {
2462
122k
        if (yych <= 's') goto yy48;
2463
66.9k
        goto yy201;
2464
122k
      } else {
2465
15.8k
        if (yych == 'w') goto yy202;
2466
7.24k
        goto yy48;
2467
15.8k
      }
2468
138k
    }
2469
229k
yy57:
2470
229k
    YYDEBUG(57, *YYCURSOR);
2471
229k
    yyaccept = 4;
2472
229k
    yych = *(YYMARKER = ++YYCURSOR);
2473
229k
    if (yych <= 'R') {
2474
40.8k
      if (yych == 'H') goto yy203;
2475
38.9k
      if (yych <= 'Q') goto yy48;
2476
5.51k
      goto yy204;
2477
189k
    } else {
2478
189k
      if (yych <= 'h') {
2479
86.4k
        if (yych <= 'g') goto yy48;
2480
14.7k
        goto yy203;
2481
102k
      } else {
2482
102k
        if (yych == 'r') goto yy204;
2483
25.9k
        goto yy48;
2484
102k
      }
2485
189k
    }
2486
79.3k
yy58:
2487
79.3k
    YYDEBUG(58, *YYCURSOR);
2488
79.3k
    yyaccept = 4;
2489
79.3k
    yych = *(YYMARKER = ++YYCURSOR);
2490
79.3k
    if (yych <= 'S') {
2491
17.2k
      if (yych == 'N') goto yy205;
2492
15.7k
      if (yych <= 'R') goto yy48;
2493
1.12k
      goto yy206;
2494
62.1k
    } else {
2495
62.1k
      if (yych <= 'n') {
2496
38.9k
        if (yych <= 'm') goto yy48;
2497
20.2k
        goto yy205;
2498
38.9k
      } else {
2499
23.1k
        if (yych == 's') goto yy206;
2500
8.16k
        goto yy48;
2501
23.1k
      }
2502
62.1k
    }
2503
144k
yy59:
2504
144k
    YYDEBUG(59, *YYCURSOR);
2505
144k
    yyaccept = 4;
2506
144k
    yych = *(YYMARKER = ++YYCURSOR);
2507
144k
    if (yych == 'A') goto yy207;
2508
143k
    if (yych == 'a') goto yy207;
2509
22.5k
    goto yy48;
2510
31.3k
yy60:
2511
31.3k
    YYDEBUG(60, *YYCURSOR);
2512
31.3k
    yyaccept = 4;
2513
31.3k
    yych = *(YYMARKER = ++YYCURSOR);
2514
31.3k
    if (yych == 'H') goto yy208;
2515
30.8k
    if (yych == 'h') goto yy208;
2516
25.1k
    goto yy48;
2517
34.3k
yy61:
2518
34.3k
    YYDEBUG(61, *YYCURSOR);
2519
34.3k
    yyaccept = 4;
2520
34.3k
    yych = *(YYMARKER = ++YYCURSOR);
2521
34.3k
    if (yych == 'O') goto yy209;
2522
33.6k
    if (yych == 'o') goto yy209;
2523
27.4k
    goto yy48;
2524
142k
yy62:
2525
142k
    YYDEBUG(62, *YYCURSOR);
2526
142k
    yyaccept = 4;
2527
142k
    yych = *(YYMARKER = ++YYCURSOR);
2528
142k
    if (yych == 'I') goto yy210;
2529
141k
    if (yych == 'i') goto yy210;
2530
50.7k
    goto yy48;
2531
280k
yy63:
2532
280k
    YYDEBUG(63, *YYCURSOR);
2533
280k
    ++YYCURSOR;
2534
280k
    goto yy21;
2535
173k
yy64:
2536
173k
    YYDEBUG(64, *YYCURSOR);
2537
173k
    yych = *++YYCURSOR;
2538
173k
    if (yych <= '_') {
2539
126k
      if (yych <= '@') goto yy65;
2540
79.9k
      if (yych <= 'Z') goto yy211;
2541
59.5k
      if (yych >= '_') goto yy211;
2542
59.5k
    } else {
2543
47.4k
      if (yych <= '`') goto yy65;
2544
45.4k
      if (yych <= 'z') goto yy211;
2545
13.1k
      if (yych >= 0x80) goto yy211;
2546
13.1k
    }
2547
114k
yy65:
2548
114k
    YYDEBUG(65, *YYCURSOR);
2549
114k
    yyleng = YYCURSOR - SCNG(yy_text);
2550
114k
#line 2481 "Zend/zend_language_scanner.l"
2551
114k
    {
2552
114k
  RETURN_TOKEN(T_NS_SEPARATOR);
2553
114k
}
2554
0
#line 2555 "Zend/zend_language_scanner.c"
2555
79.8k
yy66:
2556
79.8k
    YYDEBUG(66, *YYCURSOR);
2557
79.8k
    yych = *++YYCURSOR;
2558
79.8k
    if (yych == '=') goto yy214;
2559
78.7k
    goto yy9;
2560
188k
yy67:
2561
188k
    YYDEBUG(67, *YYCURSOR);
2562
188k
    yyaccept = 4;
2563
188k
    yych = *(YYMARKER = ++YYCURSOR);
2564
188k
    if (yych == '_') goto yy216;
2565
57.1k
    goto yy48;
2566
57.1k
yy68:
2567
50.3k
    YYDEBUG(68, *YYCURSOR);
2568
50.3k
    ++YYCURSOR;
2569
50.3k
    YYDEBUG(69, *YYCURSOR);
2570
50.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2571
50.3k
#line 2856 "Zend/zend_language_scanner.l"
2572
50.3k
    {
2573
50.3k
  BEGIN(ST_BACKQUOTE);
2574
50.3k
  RETURN_TOKEN('`');
2575
50.3k
}
2576
0
#line 2577 "Zend/zend_language_scanner.c"
2577
1.00M
yy70:
2578
1.00M
    YYDEBUG(70, *YYCURSOR);
2579
1.00M
    ++YYCURSOR;
2580
1.00M
    YYDEBUG(71, *YYCURSOR);
2581
1.00M
    yyleng = YYCURSOR - SCNG(yy_text);
2582
1.00M
#line 2004 "Zend/zend_language_scanner.l"
2583
1.00M
    {
2584
1.00M
  yy_push_state(ST_IN_SCRIPTING);
2585
1.00M
  enter_nesting('{');
2586
1.00M
  RETURN_TOKEN('{');
2587
1.00M
}
2588
0
#line 2589 "Zend/zend_language_scanner.c"
2589
113k
yy72:
2590
113k
    YYDEBUG(72, *YYCURSOR);
2591
113k
    yych = *++YYCURSOR;
2592
113k
    if (yych <= '>') {
2593
43.4k
      if (yych <= '<') goto yy9;
2594
7.10k
      if (yych <= '=') goto yy217;
2595
4.68k
      goto yy219;
2596
70.0k
    } else {
2597
70.0k
      if (yych == '|') goto yy221;
2598
50.9k
      goto yy9;
2599
70.0k
    }
2600
408k
yy73:
2601
408k
    YYDEBUG(73, *YYCURSOR);
2602
408k
    ++YYCURSOR;
2603
408k
    YYDEBUG(74, *YYCURSOR);
2604
408k
    yyleng = YYCURSOR - SCNG(yy_text);
2605
408k
#line 2017 "Zend/zend_language_scanner.l"
2606
408k
    {
2607
408k
  RESET_DOC_COMMENT();
2608
408k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2609
375k
    yy_pop_state();
2610
375k
  }
2611
408k
  RETURN_EXIT_NESTING_TOKEN('}');
2612
408k
}
2613
0
#line 2614 "Zend/zend_language_scanner.c"
2614
12.3k
yy75:
2615
12.3k
    YYDEBUG(75, *YYCURSOR);
2616
12.3k
    yych = *++YYCURSOR;
2617
12.3k
    if (yych == '=') goto yy223;
2618
14.4k
yy76:
2619
14.4k
    YYDEBUG(76, *YYCURSOR);
2620
14.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2621
14.4k
#line 1876 "Zend/zend_language_scanner.l"
2622
14.4k
    {
2623
14.4k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2624
14.4k
}
2625
0
#line 2626 "Zend/zend_language_scanner.c"
2626
19.5k
yy77:
2627
19.5k
    YYDEBUG(77, *YYCURSOR);
2628
19.5k
    ++YYCURSOR;
2629
19.5k
    YYDEBUG(78, *YYCURSOR);
2630
19.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
19.5k
#line 1453 "Zend/zend_language_scanner.l"
2632
19.5k
    {
2633
19.5k
  enter_nesting('[');
2634
19.5k
  RETURN_TOKEN(T_ATTRIBUTE);
2635
19.5k
}
2636
0
#line 2637 "Zend/zend_language_scanner.c"
2637
5.01M
yy79:
2638
5.01M
    YYDEBUG(79, *YYCURSOR);
2639
5.01M
    ++YYCURSOR;
2640
5.01M
    YYFILL(1);
2641
5.01M
    yych = *YYCURSOR;
2642
5.01M
    YYDEBUG(80, *YYCURSOR);
2643
5.01M
    if (yych <= '^') {
2644
1.45M
      if (yych <= '9') {
2645
1.01M
        if (yych >= '0') goto yy79;
2646
1.01M
      } else {
2647
432k
        if (yych <= '@') goto yy81;
2648
269k
        if (yych <= 'Z') goto yy79;
2649
269k
      }
2650
3.56M
    } else {
2651
3.56M
      if (yych <= '`') {
2652
15.5k
        if (yych <= '_') goto yy79;
2653
3.54M
      } else {
2654
3.54M
        if (yych <= 'z') goto yy79;
2655
938k
        if (yych >= 0x80) goto yy79;
2656
938k
      }
2657
3.56M
    }
2658
1.18M
yy81:
2659
1.18M
    YYDEBUG(81, *YYCURSOR);
2660
1.18M
    yyleng = YYCURSOR - SCNG(yy_text);
2661
1.18M
#line 2447 "Zend/zend_language_scanner.l"
2662
1.18M
    {
2663
1.18M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2664
1.18M
}
2665
0
#line 2666 "Zend/zend_language_scanner.c"
2666
1.41k
yy82:
2667
1.41k
    YYDEBUG(82, *YYCURSOR);
2668
1.41k
    ++YYCURSOR;
2669
1.41k
    YYDEBUG(83, *YYCURSOR);
2670
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
2671
1.41k
#line 1920 "Zend/zend_language_scanner.l"
2672
1.41k
    {
2673
1.41k
  RETURN_TOKEN(T_MOD_EQUAL);
2674
1.41k
}
2675
0
#line 2676 "Zend/zend_language_scanner.c"
2676
305k
yy84:
2677
305k
    YYDEBUG(84, *YYCURSOR);
2678
305k
    ++YYCURSOR;
2679
305k
    YYFILL(3);
2680
305k
    yych = *YYCURSOR;
2681
394k
yy85:
2682
394k
    YYDEBUG(85, *YYCURSOR);
2683
394k
    if (yych <= ' ') {
2684
101k
      if (yych <= '\f') {
2685
67.1k
        if (yych <= 0x08) goto yy86;
2686
65.0k
        if (yych <= '\n') goto yy84;
2687
65.0k
      } else {
2688
33.8k
        if (yych <= '\r') goto yy84;
2689
18.0k
        if (yych >= ' ') goto yy84;
2690
18.0k
      }
2691
293k
    } else {
2692
293k
      if (yych <= '$') {
2693
252k
        if (yych <= '"') goto yy86;
2694
251k
        if (yych <= '#') goto yy87;
2695
27.0k
        goto yy88;
2696
251k
      } else {
2697
41.3k
        if (yych <= '-') goto yy86;
2698
36.7k
        if (yych <= '.') goto yy92;
2699
29.4k
        if (yych <= '/') goto yy93;
2700
29.4k
      }
2701
293k
    }
2702
808k
yy86:
2703
808k
    YYDEBUG(86, *YYCURSOR);
2704
808k
    YYCURSOR = YYMARKER;
2705
808k
    if (yyaccept <= 48) {
2706
638k
      if (yyaccept <= 24) {
2707
626k
        if (yyaccept <= 12) {
2708
618k
          if (yyaccept <= 6) {
2709
382k
            if (yyaccept <= 3) {
2710
340k
              if (yyaccept <= 1) {
2711
305k
                if (yyaccept == 0) {
2712
52.3k
                  goto yy17;
2713
253k
                } else {
2714
253k
                  goto yy21;
2715
253k
                }
2716
305k
              } else {
2717
35.1k
                if (yyaccept == 2) {
2718
18.5k
                  goto yy9;
2719
18.5k
                } else {
2720
16.5k
                  goto yy31;
2721
16.5k
                }
2722
35.1k
              }
2723
340k
            } else {
2724
41.9k
              if (yyaccept <= 5) {
2725
39.4k
                if (yyaccept == 4) {
2726
36.4k
                  goto yy40;
2727
36.4k
                } else {
2728
2.95k
                  goto yy125;
2729
2.95k
                }
2730
39.4k
              } else {
2731
2.54k
                goto yy129;
2732
2.54k
              }
2733
41.9k
            }
2734
382k
          } else {
2735
235k
            if (yyaccept <= 9) {
2736
234k
              if (yyaccept <= 8) {
2737
234k
                if (yyaccept == 7) {
2738
234k
                  goto yy142;
2739
234k
                } else {
2740
269
                  goto yy163;
2741
269
                }
2742
234k
              } else {
2743
340
                goto yy173;
2744
340
              }
2745
234k
            } else {
2746
682
              if (yyaccept <= 11) {
2747
301
                if (yyaccept == 10) {
2748
210
                  goto yy182;
2749
210
                } else {
2750
91
                  goto yy188;
2751
91
                }
2752
381
              } else {
2753
381
                goto yy197;
2754
381
              }
2755
682
            }
2756
235k
          }
2757
618k
        } else {
2758
8.03k
          if (yyaccept <= 18) {
2759
6.49k
            if (yyaccept <= 15) {
2760
4.32k
              if (yyaccept <= 14) {
2761
4.08k
                if (yyaccept == 13) {
2762
3.54k
                  goto yy213;
2763
3.54k
                } else {
2764
536
                  goto yy251;
2765
536
                }
2766
4.08k
              } else {
2767
248
                goto yy257;
2768
248
              }
2769
4.32k
            } else {
2770
2.16k
              if (yyaccept <= 17) {
2771
470
                if (yyaccept == 16) {
2772
131
                  goto yy260;
2773
339
                } else {
2774
339
                  goto yy279;
2775
339
                }
2776
1.69k
              } else {
2777
1.69k
                goto yy283;
2778
1.69k
              }
2779
2.16k
            }
2780
6.49k
          } else {
2781
1.54k
            if (yyaccept <= 21) {
2782
709
              if (yyaccept <= 20) {
2783
505
                if (yyaccept == 19) {
2784
400
                  goto yy295;
2785
400
                } else {
2786
105
                  goto yy306;
2787
105
                }
2788
505
              } else {
2789
204
                goto yy319;
2790
204
              }
2791
832
            } else {
2792
832
              if (yyaccept <= 23) {
2793
609
                if (yyaccept == 22) {
2794
276
                  goto yy331;
2795
333
                } else {
2796
333
                  goto yy334;
2797
333
                }
2798
609
              } else {
2799
223
                goto yy336;
2800
223
              }
2801
832
            }
2802
1.54k
          }
2803
8.03k
        }
2804
626k
      } else {
2805
11.9k
        if (yyaccept <= 36) {
2806
9.14k
          if (yyaccept <= 30) {
2807
8.11k
            if (yyaccept <= 27) {
2808
7.49k
              if (yyaccept <= 26) {
2809
7.42k
                if (yyaccept == 25) {
2810
195
                  goto yy339;
2811
7.23k
                } else {
2812
7.23k
                  goto yy89;
2813
7.23k
                }
2814
7.42k
              } else {
2815
66
                goto yy379;
2816
66
              }
2817
7.49k
            } else {
2818
623
              if (yyaccept <= 29) {
2819
403
                if (yyaccept == 28) {
2820
205
                  goto yy388;
2821
205
                } else {
2822
198
                  goto yy390;
2823
198
                }
2824
403
              } else {
2825
220
                goto yy399;
2826
220
              }
2827
623
            }
2828
8.11k
          } else {
2829
1.03k
            if (yyaccept <= 33) {
2830
555
              if (yyaccept <= 32) {
2831
425
                if (yyaccept == 31) {
2832
145
                  goto yy401;
2833
280
                } else {
2834
280
                  goto yy408;
2835
280
                }
2836
425
              } else {
2837
130
                goto yy415;
2838
130
              }
2839
555
            } else {
2840
479
              if (yyaccept <= 35) {
2841
261
                if (yyaccept == 34) {
2842
203
                  goto yy471;
2843
203
                } else {
2844
58
                  goto yy473;
2845
58
                }
2846
261
              } else {
2847
218
                goto yy476;
2848
218
              }
2849
479
            }
2850
1.03k
          }
2851
9.14k
        } else {
2852
2.80k
          if (yyaccept <= 42) {
2853
1.35k
            if (yyaccept <= 39) {
2854
621
              if (yyaccept <= 38) {
2855
452
                if (yyaccept == 37) {
2856
207
                  goto yy478;
2857
245
                } else {
2858
245
                  goto yy480;
2859
245
                }
2860
452
              } else {
2861
169
                goto yy482;
2862
169
              }
2863
730
            } else {
2864
730
              if (yyaccept <= 41) {
2865
539
                if (yyaccept == 40) {
2866
261
                  goto yy488;
2867
278
                } else {
2868
278
                  goto yy492;
2869
278
                }
2870
539
              } else {
2871
191
                goto yy501;
2872
191
              }
2873
730
            }
2874
1.45k
          } else {
2875
1.45k
            if (yyaccept <= 45) {
2876
847
              if (yyaccept <= 44) {
2877
576
                if (yyaccept == 43) {
2878
276
                  goto yy511;
2879
300
                } else {
2880
300
                  goto yy513;
2881
300
                }
2882
576
              } else {
2883
271
                goto yy516;
2884
271
              }
2885
847
            } else {
2886
608
              if (yyaccept <= 47) {
2887
370
                if (yyaccept == 46) {
2888
189
                  goto yy526;
2889
189
                } else {
2890
181
                  goto yy528;
2891
181
                }
2892
370
              } else {
2893
238
                goto yy530;
2894
238
              }
2895
608
            }
2896
1.45k
          }
2897
2.80k
        }
2898
11.9k
      }
2899
638k
    } else {
2900
170k
      if (yyaccept <= 72) {
2901
150k
        if (yyaccept <= 60) {
2902
146k
          if (yyaccept <= 54) {
2903
144k
            if (yyaccept <= 51) {
2904
51.9k
              if (yyaccept <= 50) {
2905
51.7k
                if (yyaccept == 49) {
2906
304
                  goto yy532;
2907
51.4k
                } else {
2908
51.4k
                  goto yy534;
2909
51.4k
                }
2910
51.7k
              } else {
2911
197
                goto yy576;
2912
197
              }
2913
92.2k
            } else {
2914
92.2k
              if (yyaccept <= 53) {
2915
92.1k
                if (yyaccept == 52) {
2916
213
                  goto yy579;
2917
91.9k
                } else {
2918
91.9k
                  goto yy583;
2919
91.9k
                }
2920
92.1k
              } else {
2921
127
                goto yy597;
2922
127
              }
2923
92.2k
            }
2924
144k
          } else {
2925
1.94k
            if (yyaccept <= 57) {
2926
1.40k
              if (yyaccept <= 56) {
2927
1.37k
                if (yyaccept == 55) {
2928
1.30k
                  goto yy607;
2929
1.30k
                } else {
2930
70
                  goto yy611;
2931
70
                }
2932
1.37k
              } else {
2933
37
                goto yy613;
2934
37
              }
2935
1.40k
            } else {
2936
536
              if (yyaccept <= 59) {
2937
314
                if (yyaccept == 58) {
2938
113
                  goto yy615;
2939
201
                } else {
2940
201
                  goto yy654;
2941
201
                }
2942
314
              } else {
2943
222
                goto yy656;
2944
222
              }
2945
536
            }
2946
1.94k
          }
2947
146k
        } else {
2948
4.25k
          if (yyaccept <= 66) {
2949
3.35k
            if (yyaccept <= 63) {
2950
789
              if (yyaccept <= 62) {
2951
410
                if (yyaccept == 61) {
2952
295
                  goto yy671;
2953
295
                } else {
2954
115
                  goto yy673;
2955
115
                }
2956
410
              } else {
2957
379
                goto yy675;
2958
379
              }
2959
2.56k
            } else {
2960
2.56k
              if (yyaccept <= 65) {
2961
2.42k
                if (yyaccept == 64) {
2962
180
                  goto yy679;
2963
2.24k
                } else {
2964
2.24k
                  goto yy685;
2965
2.24k
                }
2966
2.42k
              } else {
2967
137
                goto yy690;
2968
137
              }
2969
2.56k
            }
2970
3.35k
          } else {
2971
901
            if (yyaccept <= 69) {
2972
474
              if (yyaccept <= 68) {
2973
320
                if (yyaccept == 67) {
2974
62
                  goto yy700;
2975
258
                } else {
2976
258
                  goto yy726;
2977
258
                }
2978
320
              } else {
2979
154
                goto yy728;
2980
154
              }
2981
474
            } else {
2982
427
              if (yyaccept <= 71) {
2983
165
                if (yyaccept == 70) {
2984
38
                  goto yy730;
2985
127
                } else {
2986
127
                  goto yy735;
2987
127
                }
2988
262
              } else {
2989
262
                goto yy743;
2990
262
              }
2991
427
            }
2992
901
          }
2993
4.25k
        }
2994
150k
      } else {
2995
20.0k
        if (yyaccept <= 84) {
2996
4.34k
          if (yyaccept <= 78) {
2997
1.62k
            if (yyaccept <= 75) {
2998
901
              if (yyaccept <= 74) {
2999
671
                if (yyaccept == 73) {
3000
488
                  goto yy754;
3001
488
                } else {
3002
183
                  goto yy764;
3003
183
                }
3004
671
              } else {
3005
230
                goto yy768;
3006
230
              }
3007
901
            } else {
3008
725
              if (yyaccept <= 77) {
3009
522
                if (yyaccept == 76) {
3010
203
                  goto yy784;
3011
319
                } else {
3012
319
                  goto yy797;
3013
319
                }
3014
522
              } else {
3015
203
                goto yy799;
3016
203
              }
3017
725
            }
3018
2.71k
          } else {
3019
2.71k
            if (yyaccept <= 81) {
3020
2.41k
              if (yyaccept <= 80) {
3021
2.16k
                if (yyaccept == 79) {
3022
418
                  goto yy801;
3023
1.75k
                } else {
3024
1.75k
                  goto yy804;
3025
1.75k
                }
3026
2.16k
              } else {
3027
245
                goto yy812;
3028
245
              }
3029
2.41k
            } else {
3030
302
              if (yyaccept <= 83) {
3031
256
                if (yyaccept == 82) {
3032
70
                  goto yy819;
3033
186
                } else {
3034
186
                  goto yy823;
3035
186
                }
3036
256
              } else {
3037
46
                goto yy825;
3038
46
              }
3039
302
            }
3040
2.71k
          }
3041
15.7k
        } else {
3042
15.7k
          if (yyaccept <= 90) {
3043
1.19k
            if (yyaccept <= 87) {
3044
387
              if (yyaccept <= 86) {
3045
312
                if (yyaccept == 85) {
3046
190
                  goto yy836;
3047
190
                } else {
3048
122
                  goto yy839;
3049
122
                }
3050
312
              } else {
3051
75
                goto yy854;
3052
75
              }
3053
803
            } else {
3054
803
              if (yyaccept <= 89) {
3055
614
                if (yyaccept == 88) {
3056
409
                  goto yy869;
3057
409
                } else {
3058
205
                  goto yy898;
3059
205
                }
3060
614
              } else {
3061
189
                goto yy903;
3062
189
              }
3063
803
            }
3064
14.5k
          } else {
3065
14.5k
            if (yyaccept <= 93) {
3066
13.1k
              if (yyaccept <= 92) {
3067
13.0k
                if (yyaccept == 91) {
3068
12.8k
                  goto yy876;
3069
12.8k
                } else {
3070
196
                  goto yy911;
3071
196
                }
3072
13.0k
              } else {
3073
112
                goto yy915;
3074
112
              }
3075
13.1k
            } else {
3076
1.38k
              if (yyaccept <= 95) {
3077
1.18k
                if (yyaccept == 94) {
3078
1.12k
                  goto yy886;
3079
1.12k
                } else {
3080
68
                  goto yy931;
3081
68
                }
3082
1.18k
              } else {
3083
200
                goto yy951;
3084
200
              }
3085
1.38k
            }
3086
14.5k
          }
3087
15.7k
        }
3088
20.0k
      }
3089
170k
    }
3090
224k
yy87:
3091
224k
    YYDEBUG(87, *YYCURSOR);
3092
224k
    ++YYCURSOR;
3093
224k
    YYFILL(1);
3094
224k
    yych = *YYCURSOR;
3095
224k
    if (yych <= '\f') {
3096
78.9k
      if (yych <= 0x00) goto yy86;
3097
76.4k
      if (yych == '\n') goto yy227;
3098
1.43k
      goto yy225;
3099
145k
    } else {
3100
145k
      if (yych <= '\r') goto yy227;
3101
25.9k
      if (yych == '[') goto yy86;
3102
25.6k
      goto yy225;
3103
25.9k
    }
3104
29.6k
yy88:
3105
29.6k
    YYDEBUG(88, *YYCURSOR);
3106
29.6k
    ++YYCURSOR;
3107
37.3k
yy89:
3108
37.3k
    YYDEBUG(89, *YYCURSOR);
3109
37.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3110
37.3k
#line 1980 "Zend/zend_language_scanner.l"
3111
37.3k
    {
3112
37.3k
  yyless(1);
3113
37.3k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3114
37.3k
}
3115
0
#line 3116 "Zend/zend_language_scanner.c"
3116
9.59k
yy90:
3117
9.59k
    YYDEBUG(90, *YYCURSOR);
3118
9.59k
    ++YYCURSOR;
3119
9.59k
    YYDEBUG(91, *YYCURSOR);
3120
9.59k
    yyleng = YYCURSOR - SCNG(yy_text);
3121
9.59k
#line 1956 "Zend/zend_language_scanner.l"
3122
9.59k
    {
3123
9.59k
  RETURN_TOKEN(T_BOOLEAN_AND);
3124
9.59k
}
3125
0
#line 3126 "Zend/zend_language_scanner.c"
3126
7.33k
yy92:
3127
7.33k
    YYDEBUG(92, *YYCURSOR);
3128
7.33k
    yych = *++YYCURSOR;
3129
7.33k
    if (yych == '.') goto yy229;
3130
2.70k
    goto yy86;
3131
15.7k
yy93:
3132
15.7k
    YYDEBUG(93, *YYCURSOR);
3133
15.7k
    ++YYCURSOR;
3134
15.7k
    YYFILL(1);
3135
15.7k
    yych = *YYCURSOR;
3136
15.7k
    if (yych == '*') goto yy230;
3137
1.87k
    if (yych == '/') goto yy225;
3138
1.33k
    goto yy86;
3139
17.7k
yy94:
3140
17.7k
    YYDEBUG(94, *YYCURSOR);
3141
17.7k
    ++YYCURSOR;
3142
17.7k
    YYDEBUG(95, *YYCURSOR);
3143
17.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3144
17.7k
#line 1932 "Zend/zend_language_scanner.l"
3145
17.7k
    {
3146
17.7k
  RETURN_TOKEN(T_AND_EQUAL);
3147
17.7k
}
3148
0
#line 3149 "Zend/zend_language_scanner.c"
3149
239k
yy96:
3150
239k
    YYDEBUG(96, *YYCURSOR);
3151
239k
    ++YYCURSOR;
3152
239k
    YYFILL(7);
3153
239k
    yych = *YYCURSOR;
3154
509k
yy97:
3155
509k
    YYDEBUG(97, *YYCURSOR);
3156
509k
    if (yybm[0+yych] & 1) {
3157
239k
      goto yy96;
3158
239k
    }
3159
269k
    switch (yych) {
3160
6.73k
    case 'A':
3161
37.7k
    case 'a': goto yy98;
3162
8.43k
    case 'B':
3163
22.6k
    case 'b': goto yy99;
3164
1.03k
    case 'D':
3165
8.32k
    case 'd': goto yy100;
3166
3.51k
    case 'F':
3167
24.2k
    case 'f': goto yy101;
3168
886
    case 'I':
3169
31.4k
    case 'i': goto yy102;
3170
3.25k
    case 'O':
3171
10.0k
    case 'o': goto yy103;
3172
3.21k
    case 'R':
3173
10.9k
    case 'r': goto yy104;
3174
4.12k
    case 'S':
3175
38.4k
    case 's': goto yy105;
3176
647
    case 'U':
3177
5.35k
    case 'u': goto yy106;
3178
915
    case 'V':
3179
5.37k
    case 'v': goto yy107;
3180
75.1k
    default:  goto yy86;
3181
269k
    }
3182
37.7k
yy98:
3183
37.7k
    YYDEBUG(98, *YYCURSOR);
3184
37.7k
    yych = *++YYCURSOR;
3185
37.7k
    if (yych == 'R') goto yy232;
3186
36.8k
    if (yych == 'r') goto yy232;
3187
22.5k
    goto yy86;
3188
22.6k
yy99:
3189
22.6k
    YYDEBUG(99, *YYCURSOR);
3190
22.6k
    yych = *++YYCURSOR;
3191
22.6k
    if (yych <= 'O') {
3192
8.24k
      if (yych == 'I') goto yy233;
3193
7.70k
      if (yych <= 'N') goto yy86;
3194
1.71k
      goto yy234;
3195
14.4k
    } else {
3196
14.4k
      if (yych <= 'i') {
3197
6.19k
        if (yych <= 'h') goto yy86;
3198
3.35k
        goto yy233;
3199
8.24k
      } else {
3200
8.24k
        if (yych == 'o') goto yy234;
3201
2.79k
        goto yy86;
3202
8.24k
      }
3203
14.4k
    }
3204
8.32k
yy100:
3205
8.32k
    YYDEBUG(100, *YYCURSOR);
3206
8.32k
    yych = *++YYCURSOR;
3207
8.32k
    if (yych == 'O') goto yy235;
3208
7.96k
    if (yych == 'o') goto yy235;
3209
4.71k
    goto yy86;
3210
24.2k
yy101:
3211
24.2k
    YYDEBUG(101, *YYCURSOR);
3212
24.2k
    yych = *++YYCURSOR;
3213
24.2k
    if (yych == 'L') goto yy236;
3214
23.9k
    if (yych == 'l') goto yy236;
3215
20.8k
    goto yy86;
3216
31.4k
yy102:
3217
31.4k
    YYDEBUG(102, *YYCURSOR);
3218
31.4k
    yych = *++YYCURSOR;
3219
31.4k
    if (yych == 'N') goto yy237;
3220
30.5k
    if (yych == 'n') goto yy237;
3221
21.1k
    goto yy86;
3222
21.1k
yy103:
3223
10.0k
    YYDEBUG(103, *YYCURSOR);
3224
10.0k
    yych = *++YYCURSOR;
3225
10.0k
    if (yych == 'B') goto yy238;
3226
9.75k
    if (yych == 'b') goto yy238;
3227
3.71k
    goto yy86;
3228
10.9k
yy104:
3229
10.9k
    YYDEBUG(104, *YYCURSOR);
3230
10.9k
    yych = *++YYCURSOR;
3231
10.9k
    if (yych == 'E') goto yy239;
3232
10.5k
    if (yych == 'e') goto yy239;
3233
6.89k
    goto yy86;
3234
38.4k
yy105:
3235
38.4k
    YYDEBUG(105, *YYCURSOR);
3236
38.4k
    yych = *++YYCURSOR;
3237
38.4k
    if (yych == 'T') goto yy240;
3238
37.5k
    if (yych == 't') goto yy240;
3239
19.6k
    goto yy86;
3240
19.6k
yy106:
3241
5.35k
    YYDEBUG(106, *YYCURSOR);
3242
5.35k
    yych = *++YYCURSOR;
3243
5.35k
    if (yych == 'N') goto yy241;
3244
5.25k
    if (yych == 'n') goto yy241;
3245
1.72k
    goto yy86;
3246
5.37k
yy107:
3247
5.37k
    YYDEBUG(107, *YYCURSOR);
3248
5.37k
    yych = *++YYCURSOR;
3249
5.37k
    if (yych == 'O') goto yy242;
3250
5.02k
    if (yych == 'o') goto yy242;
3251
3.35k
    goto yy86;
3252
14.7k
yy108:
3253
14.7k
    YYDEBUG(108, *YYCURSOR);
3254
14.7k
    yych = *++YYCURSOR;
3255
14.7k
    if (yych == '=') goto yy243;
3256
14.2k
    YYDEBUG(109, *YYCURSOR);
3257
14.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3258
14.2k
#line 1904 "Zend/zend_language_scanner.l"
3259
14.2k
    {
3260
14.2k
  RETURN_TOKEN(T_POW);
3261
14.2k
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
5.61k
yy110:
3264
5.61k
    YYDEBUG(110, *YYCURSOR);
3265
5.61k
    ++YYCURSOR;
3266
5.61k
    YYDEBUG(111, *YYCURSOR);
3267
5.61k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
5.61k
#line 1900 "Zend/zend_language_scanner.l"
3269
5.61k
    {
3270
5.61k
  RETURN_TOKEN(T_MUL_EQUAL);
3271
5.61k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
50.8k
yy112:
3274
50.8k
    YYDEBUG(112, *YYCURSOR);
3275
50.8k
    ++YYCURSOR;
3276
50.8k
    YYDEBUG(113, *YYCURSOR);
3277
50.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3278
50.8k
#line 1856 "Zend/zend_language_scanner.l"
3279
50.8k
    {
3280
50.8k
  RETURN_TOKEN(T_INC);
3281
50.8k
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
5.67k
yy114:
3284
5.67k
    YYDEBUG(114, *YYCURSOR);
3285
5.67k
    ++YYCURSOR;
3286
5.67k
    YYDEBUG(115, *YYCURSOR);
3287
5.67k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
5.67k
#line 1892 "Zend/zend_language_scanner.l"
3289
5.67k
    {
3290
5.67k
  RETURN_TOKEN(T_PLUS_EQUAL);
3291
5.67k
}
3292
0
#line 3293 "Zend/zend_language_scanner.c"
3293
15.3k
yy116:
3294
15.3k
    YYDEBUG(116, *YYCURSOR);
3295
15.3k
    ++YYCURSOR;
3296
15.3k
    YYDEBUG(117, *YYCURSOR);
3297
15.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3298
15.3k
#line 1860 "Zend/zend_language_scanner.l"
3299
15.3k
    {
3300
15.3k
  RETURN_TOKEN(T_DEC);
3301
15.3k
}
3302
0
#line 3303 "Zend/zend_language_scanner.c"
3303
2.73k
yy118:
3304
2.73k
    YYDEBUG(118, *YYCURSOR);
3305
2.73k
    ++YYCURSOR;
3306
2.73k
    YYDEBUG(119, *YYCURSOR);
3307
2.73k
    yyleng = YYCURSOR - SCNG(yy_text);
3308
2.73k
#line 1896 "Zend/zend_language_scanner.l"
3309
2.73k
    {
3310
2.73k
  RETURN_TOKEN(T_MINUS_EQUAL);
3311
2.73k
}
3312
0
#line 3313 "Zend/zend_language_scanner.c"
3313
137k
yy120:
3314
137k
    YYDEBUG(120, *YYCURSOR);
3315
137k
    ++YYCURSOR;
3316
137k
    YYDEBUG(121, *YYCURSOR);
3317
137k
    yyleng = YYCURSOR - SCNG(yy_text);
3318
137k
#line 1617 "Zend/zend_language_scanner.l"
3319
137k
    {
3320
137k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3321
137k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3322
137k
}
3323
0
#line 3324 "Zend/zend_language_scanner.c"
3324
79.7k
yy122:
3325
79.7k
    YYDEBUG(122, *YYCURSOR);
3326
79.7k
    yych = *++YYCURSOR;
3327
79.7k
    if (yych == '.') goto yy245;
3328
15.1k
    goto yy86;
3329
415k
yy123:
3330
415k
    YYDEBUG(123, *YYCURSOR);
3331
415k
    yyaccept = 5;
3332
415k
    YYMARKER = ++YYCURSOR;
3333
415k
    YYFILL(2);
3334
415k
    yych = *YYCURSOR;
3335
465k
yy124:
3336
465k
    YYDEBUG(124, *YYCURSOR);
3337
465k
    if (yych <= 'E') {
3338
443k
      if (yych <= '/') goto yy125;
3339
404k
      if (yych <= '9') goto yy123;
3340
23.4k
      if (yych >= 'E') goto yy135;
3341
23.4k
    } else {
3342
21.8k
      if (yych <= '_') {
3343
2.87k
        if (yych >= '_') goto yy247;
3344
18.9k
      } else {
3345
18.9k
        if (yych == 'e') goto yy135;
3346
18.9k
      }
3347
21.8k
    }
3348
106k
yy125:
3349
106k
    YYDEBUG(125, *YYCURSOR);
3350
106k
    yyleng = YYCURSOR - SCNG(yy_text);
3351
106k
#line 2263 "Zend/zend_language_scanner.l"
3352
106k
    {
3353
106k
  const char *end;
3354
106k
  size_t len = yyleng;
3355
106k
  char *dnum = yytext;
3356
106k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3357
3358
106k
  if (contains_underscores) {
3359
1.52k
    dnum = estrndup(dnum, len);
3360
1.52k
    strip_underscores(dnum, &len);
3361
1.52k
  }
3362
3363
106k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3364
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3365
106k
  ZEND_ASSERT(end == dnum + len);
3366
106k
  if (contains_underscores) {
3367
1.52k
    efree(dnum);
3368
1.52k
  }
3369
106k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3370
106k
}
3371
0
#line 3372 "Zend/zend_language_scanner.c"
3372
105k
yy126:
3373
105k
    YYDEBUG(126, *YYCURSOR);
3374
105k
    ++YYCURSOR;
3375
105k
    YYDEBUG(127, *YYCURSOR);
3376
105k
    yyleng = YYCURSOR - SCNG(yy_text);
3377
105k
#line 1916 "Zend/zend_language_scanner.l"
3378
105k
    {
3379
105k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3380
105k
}
3381
0
#line 3382 "Zend/zend_language_scanner.c"
3382
133k
yy128:
3383
133k
    YYDEBUG(128, *YYCURSOR);
3384
133k
    yyaccept = 6;
3385
133k
    yych = *(YYMARKER = ++YYCURSOR);
3386
133k
    if (yych == '*') goto yy248;
3387
133k
yy129:
3388
133k
    YYDEBUG(129, *YYCURSOR);
3389
133k
    yyleng = YYCURSOR - SCNG(yy_text);
3390
133k
#line 2514 "Zend/zend_language_scanner.l"
3391
133k
    {
3392
133k
  int doc_com;
3393
3394
133k
  if (yyleng > 2) {
3395
7.12k
    doc_com = 1;
3396
7.12k
    RESET_DOC_COMMENT();
3397
126k
  } else {
3398
126k
    doc_com = 0;
3399
126k
  }
3400
3401
6.51M
  while (YYCURSOR < YYLIMIT) {
3402
6.48M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3403
111k
      break;
3404
111k
    }
3405
6.48M
  }
3406
3407
133k
  if (YYCURSOR < YYLIMIT) {
3408
111k
    YYCURSOR++;
3409
111k
  } else {
3410
21.9k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3411
21.9k
    if (PARSER_MODE()) {
3412
878
      RETURN_TOKEN(T_ERROR);
3413
878
    }
3414
21.9k
  }
3415
3416
132k
  yyleng = YYCURSOR - SCNG(yy_text);
3417
132k
  HANDLE_NEWLINES(yytext, yyleng);
3418
3419
132k
  if (doc_com) {
3420
7.06k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3421
7.06k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3422
7.06k
  }
3423
3424
125k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3425
125k
}
3426
0
#line 3427 "Zend/zend_language_scanner.c"
3427
91.7k
yy130:
3428
91.7k
    YYDEBUG(130, *YYCURSOR);
3429
91.7k
    ++YYCURSOR;
3430
91.7k
    goto yy13;
3431
3.14k
yy131:
3432
3.14k
    YYDEBUG(131, *YYCURSOR);
3433
3.14k
    ++YYCURSOR;
3434
3.14k
    YYDEBUG(132, *YYCURSOR);
3435
3.14k
    yyleng = YYCURSOR - SCNG(yy_text);
3436
3.14k
#line 1912 "Zend/zend_language_scanner.l"
3437
3.14k
    {
3438
3.14k
  RETURN_TOKEN(T_DIV_EQUAL);
3439
3.14k
}
3440
0
#line 3441 "Zend/zend_language_scanner.c"
3441
50.0k
yy133:
3442
50.0k
    YYDEBUG(133, *YYCURSOR);
3443
50.0k
    yyaccept = 5;
3444
50.0k
    yych = *(YYMARKER = ++YYCURSOR);
3445
50.0k
    if (yych == '_') goto yy125;
3446
49.7k
    goto yy124;
3447
49.7k
yy134:
3448
5.91k
    YYDEBUG(134, *YYCURSOR);
3449
5.91k
    ++YYCURSOR;
3450
5.91k
    YYFILL(1);
3451
5.91k
    yych = *YYCURSOR;
3452
5.91k
    if (yybm[0+yych] & 8) {
3453
4.55k
      goto yy249;
3454
4.55k
    }
3455
1.35k
    goto yy86;
3456
35.1k
yy135:
3457
35.1k
    YYDEBUG(135, *YYCURSOR);
3458
35.1k
    yych = *++YYCURSOR;
3459
35.1k
    if (yych <= ',') {
3460
3.49k
      if (yych == '+') goto yy252;
3461
1.71k
      goto yy86;
3462
31.6k
    } else {
3463
31.6k
      if (yych <= '-') goto yy252;
3464
22.8k
      if (yych <= '/') goto yy86;
3465
22.2k
      if (yych <= '9') goto yy253;
3466
4.74k
      goto yy86;
3467
22.2k
    }
3468
3.41k
yy136:
3469
3.41k
    YYDEBUG(136, *YYCURSOR);
3470
3.41k
    ++YYCURSOR;
3471
3.41k
    YYFILL(1);
3472
3.41k
    yych = *YYCURSOR;
3473
3.41k
    if (yybm[0+yych] & 16) {
3474
2.36k
      goto yy255;
3475
2.36k
    }
3476
1.05k
    goto yy86;
3477
8.27k
yy137:
3478
8.27k
    YYDEBUG(137, *YYCURSOR);
3479
8.27k
    ++YYCURSOR;
3480
8.27k
    YYFILL(1);
3481
8.27k
    yych = *YYCURSOR;
3482
8.27k
    if (yybm[0+yych] & 32) {
3483
7.34k
      goto yy258;
3484
7.34k
    }
3485
934
    goto yy86;
3486
11.6k
yy138:
3487
11.6k
    YYDEBUG(138, *YYCURSOR);
3488
11.6k
    ++YYCURSOR;
3489
11.6k
    YYFILL(1);
3490
11.6k
    yych = *YYCURSOR;
3491
11.6k
    if (yybm[256+yych] & 64) {
3492
3.93k
      goto yy32;
3493
3.93k
    }
3494
7.67k
    goto yy86;
3495
123k
yy139:
3496
123k
    YYDEBUG(139, *YYCURSOR);
3497
123k
    ++YYCURSOR;
3498
123k
    YYDEBUG(140, *YYCURSOR);
3499
123k
    yyleng = YYCURSOR - SCNG(yy_text);
3500
123k
#line 1644 "Zend/zend_language_scanner.l"
3501
123k
    {
3502
123k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3503
123k
}
3504
0
#line 3505 "Zend/zend_language_scanner.c"
3505
3.34M
yy141:
3506
3.34M
    YYDEBUG(141, *YYCURSOR);
3507
3.34M
    yyaccept = 7;
3508
3.34M
    yych = *(YYMARKER = ++YYCURSOR);
3509
3.34M
    if (yych <= ';') goto yy142;
3510
3.26M
    if (yych <= '<') goto yy261;
3511
167k
    if (yych <= '=') goto yy263;
3512
479k
yy142:
3513
479k
    YYDEBUG(142, *YYCURSOR);
3514
479k
    yyleng = YYCURSOR - SCNG(yy_text);
3515
479k
#line 1972 "Zend/zend_language_scanner.l"
3516
479k
    {
3517
479k
  RETURN_TOKEN(T_SL);
3518
479k
}
3519
0
#line 3520 "Zend/zend_language_scanner.c"
3520
15.7k
yy143:
3521
15.7k
    YYDEBUG(143, *YYCURSOR);
3522
15.7k
    yych = *++YYCURSOR;
3523
15.7k
    if (yych == '>') goto yy265;
3524
14.6k
    YYDEBUG(144, *YYCURSOR);
3525
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3526
14.6k
#line 1884 "Zend/zend_language_scanner.l"
3527
14.6k
    {
3528
14.6k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3529
14.6k
}
3530
0
#line 3531 "Zend/zend_language_scanner.c"
3531
5.16k
yy145:
3532
5.16k
    YYDEBUG(145, *YYCURSOR);
3533
5.16k
    ++YYCURSOR;
3534
5.16k
    goto yy76;
3535
35.1k
yy146:
3536
35.1k
    YYDEBUG(146, *YYCURSOR);
3537
35.1k
    yych = *++YYCURSOR;
3538
35.1k
    if (yych == '=') goto yy267;
3539
24.9k
    YYDEBUG(147, *YYCURSOR);
3540
24.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3541
24.9k
#line 1872 "Zend/zend_language_scanner.l"
3542
24.9k
    {
3543
24.9k
  RETURN_TOKEN(T_IS_EQUAL);
3544
24.9k
}
3545
0
#line 3546 "Zend/zend_language_scanner.c"
3546
50.4k
yy148:
3547
50.4k
    YYDEBUG(148, *YYCURSOR);
3548
50.4k
    ++YYCURSOR;
3549
50.4k
    YYDEBUG(149, *YYCURSOR);
3550
50.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3551
50.4k
#line 1840 "Zend/zend_language_scanner.l"
3552
50.4k
    {
3553
50.4k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3554
50.4k
}
3555
0
#line 3556 "Zend/zend_language_scanner.c"
3556
5.54k
yy150:
3557
5.54k
    YYDEBUG(150, *YYCURSOR);
3558
5.54k
    ++YYCURSOR;
3559
5.54k
    YYDEBUG(151, *YYCURSOR);
3560
5.54k
    yyleng = YYCURSOR - SCNG(yy_text);
3561
5.54k
#line 1888 "Zend/zend_language_scanner.l"
3562
5.54k
    {
3563
5.54k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3564
5.54k
}
3565
0
#line 3566 "Zend/zend_language_scanner.c"
3566
10.5k
yy152:
3567
10.5k
    YYDEBUG(152, *YYCURSOR);
3568
10.5k
    yych = *++YYCURSOR;
3569
10.5k
    if (yych == '=') goto yy269;
3570
9.61k
    YYDEBUG(153, *YYCURSOR);
3571
9.61k
    yyleng = YYCURSOR - SCNG(yy_text);
3572
9.61k
#line 1976 "Zend/zend_language_scanner.l"
3573
9.61k
    {
3574
9.61k
  RETURN_TOKEN(T_SR);
3575
9.61k
}
3576
0
#line 3577 "Zend/zend_language_scanner.c"
3577
40.9k
yy154:
3578
40.9k
    YYDEBUG(154, *YYCURSOR);
3579
40.9k
    yych = *++YYCURSOR;
3580
40.9k
    if (yych == '>') goto yy271;
3581
3.37k
    goto yy86;
3582
146k
yy155:
3583
146k
    YYDEBUG(155, *YYCURSOR);
3584
146k
    yych = *++YYCURSOR;
3585
146k
    if (yych == '\n') goto yy273;
3586
135k
    if (yych == '\r') goto yy274;
3587
146k
yy156:
3588
146k
    YYDEBUG(156, *YYCURSOR);
3589
146k
    yyleng = YYCURSOR - SCNG(yy_text);
3590
146k
#line 2556 "Zend/zend_language_scanner.l"
3591
146k
    {
3592
146k
  BEGIN(INITIAL);
3593
146k
  if (yytext[yyleng-1] != '>') {
3594
11.7k
    CG(increment_lineno) = 1;
3595
11.7k
  }
3596
146k
  if (PARSER_MODE()) {
3597
124k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3598
124k
  }
3599
22.0k
  RETURN_TOKEN(T_CLOSE_TAG);
3600
22.0k
}
3601
0
#line 3602 "Zend/zend_language_scanner.c"
3602
51.1k
yy157:
3603
51.1k
    YYDEBUG(157, *YYCURSOR);
3604
51.1k
    yych = *++YYCURSOR;
3605
51.1k
    if (yych == '=') goto yy275;
3606
42.2k
    YYDEBUG(158, *YYCURSOR);
3607
42.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3608
42.2k
#line 1652 "Zend/zend_language_scanner.l"
3609
42.2k
    {
3610
42.2k
  RETURN_TOKEN(T_COALESCE);
3611
42.2k
}
3612
0
#line 3613 "Zend/zend_language_scanner.c"
3613
11.8k
yy159:
3614
11.8k
    YYDEBUG(159, *YYCURSOR);
3615
11.8k
    yyaccept = 4;
3616
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
3617
11.8k
    if (yych == 'S') goto yy277;
3618
10.2k
    if (yych == 's') goto yy277;
3619
3.37k
    goto yy48;
3620
9.46k
yy160:
3621
9.46k
    YYDEBUG(160, *YYCURSOR);
3622
9.46k
    yyaccept = 4;
3623
9.46k
    yych = *(YYMARKER = ++YYCURSOR);
3624
9.46k
    if (yych == 'D') goto yy278;
3625
8.28k
    if (yych == 'd') goto yy278;
3626
2.44k
    goto yy48;
3627
44.9k
yy161:
3628
44.9k
    YYDEBUG(161, *YYCURSOR);
3629
44.9k
    yyaccept = 4;
3630
44.9k
    yych = *(YYMARKER = ++YYCURSOR);
3631
44.9k
    if (yych == 'R') goto yy280;
3632
43.8k
    if (yych == 'r') goto yy280;
3633
8.94k
    goto yy48;
3634
54.4k
yy162:
3635
54.4k
    YYDEBUG(162, *YYCURSOR);
3636
54.4k
    yyaccept = 8;
3637
54.4k
    yych = *(YYMARKER = ++YYCURSOR);
3638
54.4k
    if (yybm[256+yych] & 128) {
3639
25.6k
      goto yy47;
3640
25.6k
    }
3641
28.7k
    if (yych == '\\') goto yy164;
3642
28.7k
yy163:
3643
28.7k
    YYDEBUG(163, *YYCURSOR);
3644
28.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3645
28.7k
#line 1540 "Zend/zend_language_scanner.l"
3646
28.7k
    {
3647
28.7k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3648
28.7k
}
3649
0
#line 3650 "Zend/zend_language_scanner.c"
3650
70.5k
yy164:
3651
70.5k
    YYDEBUG(164, *YYCURSOR);
3652
70.5k
    ++YYCURSOR;
3653
70.5k
    YYFILL(1);
3654
70.5k
    yych = *YYCURSOR;
3655
70.5k
    if (yych <= '_') {
3656
45.6k
      if (yych <= '@') goto yy86;
3657
27.4k
      if (yych <= 'Z') goto yy281;
3658
12.1k
      if (yych <= '^') goto yy86;
3659
1.92k
      goto yy281;
3660
24.8k
    } else {
3661
24.8k
      if (yych <= '`') goto yy86;
3662
24.0k
      if (yych <= 'z') goto yy281;
3663
10.9k
      if (yych <= 0x7F) goto yy86;
3664
5.40k
      goto yy281;
3665
10.9k
    }
3666
4.89k
yy165:
3667
4.89k
    YYDEBUG(165, *YYCURSOR);
3668
4.89k
    yych = *++YYCURSOR;
3669
4.89k
    if (yych == '<') goto yy284;
3670
1.11k
    goto yy86;
3671
6.91k
yy166:
3672
6.91k
    YYDEBUG(166, *YYCURSOR);
3673
6.91k
    yyaccept = 4;
3674
6.91k
    yych = *(YYMARKER = ++YYCURSOR);
3675
6.91k
    if (yych == 'E') goto yy285;
3676
6.22k
    if (yych == 'e') goto yy285;
3677
1.21k
    goto yy48;
3678
81.1k
yy167:
3679
81.1k
    YYDEBUG(167, *YYCURSOR);
3680
81.1k
    yyaccept = 4;
3681
81.1k
    yych = *(YYMARKER = ++YYCURSOR);
3682
81.1k
    if (yych <= 'T') {
3683
5.35k
      if (yych <= 'L') {
3684
3.88k
        if (yych <= 'K') goto yy48;
3685
1.82k
        goto yy286;
3686
3.88k
      } else {
3687
1.47k
        if (yych <= 'R') goto yy48;
3688
1.26k
        if (yych <= 'S') goto yy287;
3689
907
        goto yy288;
3690
1.26k
      }
3691
75.7k
    } else {
3692
75.7k
      if (yych <= 'r') {
3693
18.6k
        if (yych == 'l') goto yy286;
3694
3.00k
        goto yy48;
3695
57.0k
      } else {
3696
57.0k
        if (yych <= 's') goto yy287;
3697
45.9k
        if (yych <= 't') goto yy288;
3698
349
        goto yy48;
3699
45.9k
      }
3700
75.7k
    }
3701
107k
yy168:
3702
107k
    YYDEBUG(168, *YYCURSOR);
3703
107k
    yyaccept = 4;
3704
107k
    yych = *(YYMARKER = ++YYCURSOR);
3705
107k
    if (yych <= 'O') {
3706
5.55k
      if (yych == 'A') goto yy289;
3707
3.53k
      if (yych <= 'N') goto yy48;
3708
1.01k
      goto yy290;
3709
102k
    } else {
3710
102k
      if (yych <= 'a') {
3711
89.9k
        if (yych <= '`') goto yy48;
3712
89.3k
        goto yy289;
3713
89.9k
      } else {
3714
12.2k
        if (yych == 'o') goto yy290;
3715
3.11k
        goto yy48;
3716
12.2k
      }
3717
102k
    }
3718
63.6k
yy169:
3719
63.6k
    YYDEBUG(169, *YYCURSOR);
3720
63.6k
    yyaccept = 4;
3721
63.6k
    yych = *(YYMARKER = ++YYCURSOR);
3722
63.6k
    if (yych == 'N') goto yy291;
3723
58.9k
    if (yych == 'n') goto yy291;
3724
8.56k
    goto yy48;
3725
29.1k
yy170:
3726
29.1k
    YYDEBUG(170, *YYCURSOR);
3727
29.1k
    yyaccept = 4;
3728
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
3729
29.1k
    if (yych <= 'F') {
3730
2.44k
      if (yych == 'C') goto yy292;
3731
1.55k
      if (yych <= 'E') goto yy48;
3732
708
      goto yy293;
3733
26.7k
    } else {
3734
26.7k
      if (yych <= 'c') {
3735
12.2k
        if (yych <= 'b') goto yy48;
3736
9.56k
        goto yy292;
3737
14.4k
      } else {
3738
14.4k
        if (yych == 'f') goto yy293;
3739
5.21k
        goto yy48;
3740
14.4k
      }
3741
26.7k
    }
3742
8.62k
yy171:
3743
8.62k
    YYDEBUG(171, *YYCURSOR);
3744
8.62k
    yyaccept = 4;
3745
8.62k
    yych = *(YYMARKER = ++YYCURSOR);
3746
8.62k
    if (yych == 'E') goto yy294;
3747
8.37k
    if (yych == 'e') goto yy294;
3748
2.01k
    goto yy48;
3749
16.5k
yy172:
3750
16.5k
    YYDEBUG(172, *YYCURSOR);
3751
16.5k
    yyaccept = 9;
3752
16.5k
    yych = *(YYMARKER = ++YYCURSOR);
3753
16.5k
    if (yybm[256+yych] & 128) {
3754
14.0k
      goto yy47;
3755
14.0k
    }
3756
2.53k
    if (yych == '\\') goto yy164;
3757
2.45k
yy173:
3758
2.45k
    YYDEBUG(173, *YYCURSOR);
3759
2.45k
    yyleng = YYCURSOR - SCNG(yy_text);
3760
2.45k
#line 1508 "Zend/zend_language_scanner.l"
3761
2.45k
    {
3762
2.45k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3763
2.45k
}
3764
0
#line 3765 "Zend/zend_language_scanner.c"
3765
108k
yy174:
3766
108k
    YYDEBUG(174, *YYCURSOR);
3767
108k
    yyaccept = 4;
3768
108k
    yych = *(YYMARKER = ++YYCURSOR);
3769
108k
    if (yych == 'H') goto yy296;
3770
107k
    if (yych == 'h') goto yy296;
3771
4.08k
    goto yy48;
3772
17.4k
yy175:
3773
17.4k
    YYDEBUG(175, *YYCURSOR);
3774
17.4k
    yyaccept = 4;
3775
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
3776
17.4k
    if (yych == 'S') goto yy297;
3777
16.6k
    if (yych == 's') goto yy297;
3778
4.53k
    goto yy48;
3779
13.9k
yy176:
3780
13.9k
    YYDEBUG(176, *YYCURSOR);
3781
13.9k
    yyaccept = 4;
3782
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
3783
13.9k
    if (yych == 'P') goto yy298;
3784
10.6k
    if (yych == 'p') goto yy298;
3785
6.27k
    goto yy48;
3786
231k
yy177:
3787
231k
    YYDEBUG(177, *YYCURSOR);
3788
231k
    yyaccept = 4;
3789
231k
    yych = *(YYMARKER = ++YYCURSOR);
3790
231k
    if (yych <= 'U') {
3791
28.2k
      if (yych == 'D') goto yy299;
3792
9.82k
      if (yych <= 'T') goto yy48;
3793
3.31k
      goto yy300;
3794
203k
    } else {
3795
203k
      if (yych <= 'd') {
3796
31.9k
        if (yych <= 'c') goto yy48;
3797
29.2k
        goto yy299;
3798
171k
      } else {
3799
171k
        if (yych == 'u') goto yy300;
3800
6.75k
        goto yy48;
3801
171k
      }
3802
203k
    }
3803
7.02k
yy178:
3804
7.02k
    YYDEBUG(178, *YYCURSOR);
3805
7.02k
    yyaccept = 4;
3806
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
3807
7.02k
    if (yych == 'A') goto yy301;
3808
6.75k
    if (yych == 'a') goto yy301;
3809
797
    goto yy48;
3810
77.4k
yy179:
3811
77.4k
    YYDEBUG(179, *YYCURSOR);
3812
77.4k
    yyaccept = 4;
3813
77.4k
    yych = *(YYMARKER = ++YYCURSOR);
3814
77.4k
    if (yych <= 'T') {
3815
9.35k
      if (yych == 'I') goto yy302;
3816
8.50k
      if (yych <= 'S') goto yy48;
3817
1.80k
      goto yy303;
3818
68.0k
    } else {
3819
68.0k
      if (yych <= 'i') {
3820
29.8k
        if (yych <= 'h') goto yy48;
3821
1.75k
        goto yy302;
3822
38.1k
      } else {
3823
38.1k
        if (yych == 't') goto yy303;
3824
15.1k
        goto yy48;
3825
38.1k
      }
3826
68.0k
    }
3827
19.7k
yy180:
3828
19.7k
    YYDEBUG(180, *YYCURSOR);
3829
19.7k
    yyaccept = 4;
3830
19.7k
    yych = *(YYMARKER = ++YYCURSOR);
3831
19.7k
    if (yych == 'N') goto yy304;
3832
18.7k
    if (yych == 'n') goto yy304;
3833
5.71k
    goto yy48;
3834
19.1k
yy181:
3835
19.1k
    YYDEBUG(181, *YYCURSOR);
3836
19.1k
    yyaccept = 10;
3837
19.1k
    yych = *(YYMARKER = ++YYCURSOR);
3838
19.1k
    if (yybm[256+yych] & 128) {
3839
1.72k
      goto yy47;
3840
1.72k
    }
3841
17.3k
    if (yych == '\\') goto yy164;
3842
17.3k
yy182:
3843
17.3k
    YYDEBUG(182, *YYCURSOR);
3844
17.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3845
17.3k
#line 1437 "Zend/zend_language_scanner.l"
3846
17.3k
    {
3847
17.3k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3848
17.3k
}
3849
0
#line 3850 "Zend/zend_language_scanner.c"
3850
127k
yy183:
3851
127k
    YYDEBUG(183, *YYCURSOR);
3852
127k
    yyaccept = 4;
3853
127k
    yych = *(YYMARKER = ++YYCURSOR);
3854
127k
    if (yych == 'R') goto yy305;
3855
125k
    if (yych == 'r') goto yy305;
3856
61.0k
    goto yy48;
3857
128k
yy184:
3858
128k
    YYDEBUG(184, *YYCURSOR);
3859
128k
    yyaccept = 4;
3860
128k
    yych = *(YYMARKER = ++YYCURSOR);
3861
128k
    if (yych == 'N') goto yy307;
3862
126k
    if (yych == 'n') goto yy307;
3863
4.32k
    goto yy48;
3864
10.6k
yy185:
3865
10.6k
    YYDEBUG(185, *YYCURSOR);
3866
10.6k
    yyaccept = 4;
3867
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
3868
10.6k
    if (yych == 'O') goto yy308;
3869
8.06k
    if (yych == 'o') goto yy308;
3870
1.26k
    goto yy48;
3871
6.51k
yy186:
3872
6.51k
    YYDEBUG(186, *YYCURSOR);
3873
6.51k
    yyaccept = 4;
3874
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
3875
6.51k
    if (yych == 'T') goto yy309;
3876
4.89k
    if (yych == 't') goto yy309;
3877
1.01k
    goto yy48;
3878
29.2k
yy187:
3879
29.2k
    YYDEBUG(187, *YYCURSOR);
3880
29.2k
    yyaccept = 11;
3881
29.2k
    yych = *(YYMARKER = ++YYCURSOR);
3882
29.2k
    if (yybm[256+yych] & 128) {
3883
1.06k
      goto yy47;
3884
1.06k
    }
3885
28.2k
    if (yych == '\\') goto yy164;
3886
28.2k
yy188:
3887
28.2k
    YYDEBUG(188, *YYCURSOR);
3888
28.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3889
28.2k
#line 1484 "Zend/zend_language_scanner.l"
3890
28.2k
    {
3891
28.2k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3892
28.2k
}
3893
0
#line 3894 "Zend/zend_language_scanner.c"
3894
36.6k
yy189:
3895
36.6k
    YYDEBUG(189, *YYCURSOR);
3896
36.6k
    yyaccept = 4;
3897
36.6k
    yych = *(YYMARKER = ++YYCURSOR);
3898
36.6k
    if (yych == 'P') goto yy310;
3899
32.8k
    if (yych == 'p') goto yy310;
3900
8.44k
    goto yy48;
3901
105k
yy190:
3902
105k
    YYDEBUG(190, *YYCURSOR);
3903
105k
    yyaccept = 4;
3904
105k
    yych = *(YYMARKER = ++YYCURSOR);
3905
105k
    if (yych <= 'T') {
3906
25.8k
      if (yych <= 'C') {
3907
10.7k
        if (yych <= 'B') goto yy48;
3908
2.75k
        goto yy311;
3909
15.0k
      } else {
3910
15.0k
        if (yych <= 'R') goto yy48;
3911
4.86k
        if (yych <= 'S') goto yy312;
3912
1.74k
        goto yy313;
3913
4.86k
      }
3914
79.2k
    } else {
3915
79.2k
      if (yych <= 'r') {
3916
39.6k
        if (yych == 'c') goto yy311;
3917
28.9k
        goto yy48;
3918
39.6k
      } else {
3919
39.6k
        if (yych <= 's') goto yy312;
3920
27.1k
        if (yych <= 't') goto yy313;
3921
4.91k
        goto yy48;
3922
27.1k
      }
3923
79.2k
    }
3924
31.9k
yy191:
3925
31.9k
    YYDEBUG(191, *YYCURSOR);
3926
31.9k
    yyaccept = 4;
3927
31.9k
    yych = *(YYMARKER = ++YYCURSOR);
3928
31.9k
    if (yych == 'S') goto yy314;
3929
31.5k
    if (yych == 's') goto yy314;
3930
14.3k
    goto yy48;
3931
14.3k
yy192:
3932
10.0k
    YYDEBUG(192, *YYCURSOR);
3933
10.0k
    yyaccept = 4;
3934
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
3935
10.0k
    if (yych == 'S') goto yy315;
3936
9.17k
    if (yych == 's') goto yy315;
3937
4.65k
    goto yy48;
3938
11.0k
yy193:
3939
11.0k
    YYDEBUG(193, *YYCURSOR);
3940
11.0k
    yyaccept = 4;
3941
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
3942
11.0k
    if (yych == 'T') goto yy316;
3943
10.8k
    if (yych == 't') goto yy316;
3944
5.89k
    goto yy48;
3945
27.7k
yy194:
3946
27.7k
    YYDEBUG(194, *YYCURSOR);
3947
27.7k
    yyaccept = 4;
3948
27.7k
    yych = *(YYMARKER = ++YYCURSOR);
3949
27.7k
    if (yych == 'M') goto yy317;
3950
24.8k
    if (yych == 'm') goto yy317;
3951
2.27k
    goto yy48;
3952
102k
yy195:
3953
102k
    YYDEBUG(195, *YYCURSOR);
3954
102k
    yyaccept = 4;
3955
102k
    yych = *(YYMARKER = ++YYCURSOR);
3956
102k
    if (yych == 'W') goto yy318;
3957
100k
    if (yych == 'w') goto yy318;
3958
6.64k
    goto yy48;
3959
8.84k
yy196:
3960
8.84k
    YYDEBUG(196, *YYCURSOR);
3961
8.84k
    yyaccept = 12;
3962
8.84k
    yych = *(YYMARKER = ++YYCURSOR);
3963
8.84k
    if (yybm[256+yych] & 128) {
3964
3.08k
      goto yy47;
3965
3.08k
    }
3966
5.75k
    if (yych == '\\') goto yy164;
3967
5.66k
yy197:
3968
5.66k
    YYDEBUG(197, *YYCURSOR);
3969
5.66k
    yyleng = YYCURSOR - SCNG(yy_text);
3970
5.66k
#line 1960 "Zend/zend_language_scanner.l"
3971
5.66k
    {
3972
5.66k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3973
5.66k
}
3974
0
#line 3975 "Zend/zend_language_scanner.c"
3975
63.0k
yy198:
3976
63.0k
    YYDEBUG(198, *YYCURSOR);
3977
63.0k
    yyaccept = 4;
3978
63.0k
    yych = *(YYMARKER = ++YYCURSOR);
3979
63.0k
    if (yych <= 'O') {
3980
5.02k
      if (yych == 'I') goto yy320;
3981
3.07k
      if (yych <= 'N') goto yy48;
3982
2.06k
      goto yy321;
3983
58.0k
    } else {
3984
58.0k
      if (yych <= 'i') {
3985
43.2k
        if (yych <= 'h') goto yy48;
3986
36.2k
        goto yy320;
3987
43.2k
      } else {
3988
14.7k
        if (yych == 'o') goto yy321;
3989
1.17k
        goto yy48;
3990
14.7k
      }
3991
58.0k
    }
3992
79.3k
yy199:
3993
79.3k
    YYDEBUG(199, *YYCURSOR);
3994
79.3k
    yyaccept = 4;
3995
79.3k
    yych = *(YYMARKER = ++YYCURSOR);
3996
79.3k
    if (yych == 'B') goto yy322;
3997
77.5k
    if (yych == 'b') goto yy322;
3998
3.60k
    goto yy48;
3999
95.2k
yy200:
4000
95.2k
    YYDEBUG(200, *YYCURSOR);
4001
95.2k
    yyaccept = 4;
4002
95.2k
    yych = *(YYMARKER = ++YYCURSOR);
4003
95.2k
    if (yych <= 'T') {
4004
7.65k
      if (yych <= 'P') {
4005
5.00k
        if (yych == 'A') goto yy323;
4006
4.43k
        goto yy48;
4007
5.00k
      } else {
4008
2.65k
        if (yych <= 'Q') goto yy324;
4009
1.07k
        if (yych <= 'S') goto yy48;
4010
826
        goto yy325;
4011
1.07k
      }
4012
87.5k
    } else {
4013
87.5k
      if (yych <= 'p') {
4014
19.5k
        if (yych == 'a') goto yy323;
4015
9.70k
        goto yy48;
4016
68.0k
      } else {
4017
68.0k
        if (yych <= 'q') goto yy324;
4018
38.7k
        if (yych == 't') goto yy325;
4019
5.65k
        goto yy48;
4020
38.7k
      }
4021
87.5k
    }
4022
70.3k
yy201:
4023
70.3k
    YYDEBUG(201, *YYCURSOR);
4024
70.3k
    yyaccept = 4;
4025
70.3k
    yych = *(YYMARKER = ++YYCURSOR);
4026
70.3k
    if (yych == 'A') goto yy326;
4027
69.8k
    if (yych == 'a') goto yy326;
4028
47.1k
    goto yy48;
4029
47.1k
yy202:
4030
9.10k
    YYDEBUG(202, *YYCURSOR);
4031
9.10k
    yyaccept = 4;
4032
9.10k
    yych = *(YYMARKER = ++YYCURSOR);
4033
9.10k
    if (yych == 'I') goto yy327;
4034
8.55k
    if (yych == 'i') goto yy327;
4035
793
    goto yy48;
4036
16.7k
yy203:
4037
16.7k
    YYDEBUG(203, *YYCURSOR);
4038
16.7k
    yyaccept = 4;
4039
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
4040
16.7k
    if (yych == 'R') goto yy328;
4041
15.2k
    if (yych == 'r') goto yy328;
4042
4.00k
    goto yy48;
4043
82.1k
yy204:
4044
82.1k
    YYDEBUG(204, *YYCURSOR);
4045
82.1k
    yyaccept = 4;
4046
82.1k
    yych = *(YYMARKER = ++YYCURSOR);
4047
82.1k
    if (yych <= 'Y') {
4048
5.66k
      if (yych == 'A') goto yy329;
4049
3.79k
      if (yych <= 'X') goto yy48;
4050
659
      goto yy330;
4051
76.5k
    } else {
4052
76.5k
      if (yych <= 'a') {
4053
11.2k
        if (yych <= '`') goto yy48;
4054
10.8k
        goto yy329;
4055
65.3k
      } else {
4056
65.3k
        if (yych == 'y') goto yy330;
4057
13.4k
        goto yy48;
4058
65.3k
      }
4059
76.5k
    }
4060
21.7k
yy205:
4061
21.7k
    YYDEBUG(205, *YYCURSOR);
4062
21.7k
    yyaccept = 4;
4063
21.7k
    yych = *(YYMARKER = ++YYCURSOR);
4064
21.7k
    if (yych == 'S') goto yy332;
4065
21.0k
    if (yych == 's') goto yy332;
4066
3.98k
    goto yy48;
4067
16.0k
yy206:
4068
16.0k
    YYDEBUG(206, *YYCURSOR);
4069
16.0k
    yyaccept = 4;
4070
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
4071
16.0k
    if (yych == 'E') goto yy333;
4072
15.1k
    if (yych == 'e') goto yy333;
4073
1.17k
    goto yy48;
4074
122k
yy207:
4075
122k
    YYDEBUG(207, *YYCURSOR);
4076
122k
    yyaccept = 4;
4077
122k
    yych = *(YYMARKER = ++YYCURSOR);
4078
122k
    if (yych == 'R') goto yy335;
4079
120k
    if (yych == 'r') goto yy335;
4080
6.44k
    goto yy48;
4081
6.44k
yy208:
4082
6.25k
    YYDEBUG(208, *YYCURSOR);
4083
6.25k
    yyaccept = 4;
4084
6.25k
    yych = *(YYMARKER = ++YYCURSOR);
4085
6.25k
    if (yych == 'I') goto yy337;
4086
5.95k
    if (yych == 'i') goto yy337;
4087
1.02k
    goto yy48;
4088
6.93k
yy209:
4089
6.93k
    YYDEBUG(209, *YYCURSOR);
4090
6.93k
    yyaccept = 4;
4091
6.93k
    yych = *(YYMARKER = ++YYCURSOR);
4092
6.93k
    if (yych == 'R') goto yy338;
4093
6.05k
    if (yych == 'r') goto yy338;
4094
571
    goto yy48;
4095
91.7k
yy210:
4096
91.7k
    YYDEBUG(210, *YYCURSOR);
4097
91.7k
    yyaccept = 4;
4098
91.7k
    yych = *(YYMARKER = ++YYCURSOR);
4099
91.7k
    if (yych == 'E') goto yy340;
4100
89.7k
    if (yych == 'e') goto yy340;
4101
4.52k
    goto yy48;
4102
334k
yy211:
4103
334k
    YYDEBUG(211, *YYCURSOR);
4104
334k
    yyaccept = 13;
4105
334k
    YYMARKER = ++YYCURSOR;
4106
334k
    YYFILL(1);
4107
334k
    yych = *YYCURSOR;
4108
334k
    YYDEBUG(212, *YYCURSOR);
4109
334k
    if (yych <= '\\') {
4110
120k
      if (yych <= '@') {
4111
51.2k
        if (yych <= '/') goto yy213;
4112
21.8k
        if (yych <= '9') goto yy211;
4113
69.7k
      } else {
4114
69.7k
        if (yych <= 'Z') goto yy211;
4115
21.2k
        if (yych >= '\\') goto yy341;
4116
21.2k
      }
4117
213k
    } else {
4118
213k
      if (yych <= '`') {
4119
11.3k
        if (yych == '_') goto yy211;
4120
202k
      } else {
4121
202k
        if (yych <= 'z') goto yy211;
4122
50.5k
        if (yych >= 0x80) goto yy211;
4123
50.5k
      }
4124
213k
    }
4125
59.7k
yy213:
4126
59.7k
    YYDEBUG(213, *YYCURSOR);
4127
59.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4128
59.7k
#line 2477 "Zend/zend_language_scanner.l"
4129
59.7k
    {
4130
59.7k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4131
59.7k
}
4132
0
#line 4133 "Zend/zend_language_scanner.c"
4133
1.06k
yy214:
4134
1.06k
    YYDEBUG(214, *YYCURSOR);
4135
1.06k
    ++YYCURSOR;
4136
1.06k
    YYDEBUG(215, *YYCURSOR);
4137
1.06k
    yyleng = YYCURSOR - SCNG(yy_text);
4138
1.06k
#line 1940 "Zend/zend_language_scanner.l"
4139
1.06k
    {
4140
1.06k
  RETURN_TOKEN(T_XOR_EQUAL);
4141
1.06k
}
4142
0
#line 4143 "Zend/zend_language_scanner.c"
4143
131k
yy216:
4144
131k
    YYDEBUG(216, *YYCURSOR);
4145
131k
    yyaccept = 4;
4146
131k
    yych = *(YYMARKER = ++YYCURSOR);
4147
131k
    switch (yych) {
4148
4.51k
    case 'C':
4149
21.8k
    case 'c': goto yy342;
4150
3.42k
    case 'D':
4151
10.8k
    case 'd': goto yy343;
4152
13.7k
    case 'F':
4153
23.1k
    case 'f': goto yy344;
4154
2.79k
    case 'H':
4155
6.77k
    case 'h': goto yy345;
4156
1.63k
    case 'L':
4157
4.81k
    case 'l': goto yy346;
4158
10.1k
    case 'M':
4159
16.3k
    case 'm': goto yy347;
4160
5.66k
    case 'N':
4161
11.5k
    case 'n': goto yy348;
4162
3.36k
    case 'P':
4163
4.05k
    case 'p': goto yy349;
4164
1.67k
    case 'T':
4165
7.58k
    case 't': goto yy350;
4166
24.7k
    default:  goto yy48;
4167
131k
    }
4168
2.42k
yy217:
4169
2.42k
    YYDEBUG(217, *YYCURSOR);
4170
2.42k
    ++YYCURSOR;
4171
2.42k
    YYDEBUG(218, *YYCURSOR);
4172
2.42k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
2.42k
#line 1936 "Zend/zend_language_scanner.l"
4174
2.42k
    {
4175
2.42k
  RETURN_TOKEN(T_OR_EQUAL);
4176
2.42k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
4.68k
yy219:
4179
4.68k
    YYDEBUG(219, *YYCURSOR);
4180
4.68k
    ++YYCURSOR;
4181
4.68k
    YYDEBUG(220, *YYCURSOR);
4182
4.68k
    yyleng = YYCURSOR - SCNG(yy_text);
4183
4.68k
#line 1948 "Zend/zend_language_scanner.l"
4184
4.68k
    {
4185
4.68k
  RETURN_TOKEN(T_PIPE);
4186
4.68k
}
4187
0
#line 4188 "Zend/zend_language_scanner.c"
4188
19.0k
yy221:
4189
19.0k
    YYDEBUG(221, *YYCURSOR);
4190
19.0k
    ++YYCURSOR;
4191
19.0k
    YYDEBUG(222, *YYCURSOR);
4192
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4193
19.0k
#line 1952 "Zend/zend_language_scanner.l"
4194
19.0k
    {
4195
19.0k
  RETURN_TOKEN(T_BOOLEAN_OR);
4196
19.0k
}
4197
0
#line 4198 "Zend/zend_language_scanner.c"
4198
3.09k
yy223:
4199
3.09k
    YYDEBUG(223, *YYCURSOR);
4200
3.09k
    ++YYCURSOR;
4201
3.09k
    YYDEBUG(224, *YYCURSOR);
4202
3.09k
    yyleng = YYCURSOR - SCNG(yy_text);
4203
3.09k
#line 1868 "Zend/zend_language_scanner.l"
4204
3.09k
    {
4205
3.09k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4206
3.09k
}
4207
0
#line 4208 "Zend/zend_language_scanner.c"
4208
781k
yy225:
4209
781k
    YYDEBUG(225, *YYCURSOR);
4210
781k
    ++YYCURSOR;
4211
781k
    YYFILL(1);
4212
781k
    yych = *YYCURSOR;
4213
781k
    YYDEBUG(226, *YYCURSOR);
4214
781k
    if (yybm[0+yych] & 2) {
4215
616k
      goto yy225;
4216
616k
    }
4217
164k
    if (yych <= 0x00) goto yy86;
4218
158k
    goto yy84;
4219
223k
yy227:
4220
223k
    YYDEBUG(227, *YYCURSOR);
4221
223k
    ++YYCURSOR;
4222
223k
    YYFILL(1);
4223
223k
    yych = *YYCURSOR;
4224
223k
    YYDEBUG(228, *YYCURSOR);
4225
223k
    if (yych <= 0x1F) {
4226
18.2k
      if (yych <= '\t') {
4227
3.75k
        if (yych <= 0x00) goto yy86;
4228
2.97k
        if (yych <= 0x08) goto yy225;
4229
794
        goto yy227;
4230
14.5k
      } else {
4231
14.5k
        if (yych <= '\n') goto yy84;
4232
12.1k
        if (yych == '\r') goto yy84;
4233
2.84k
        goto yy225;
4234
12.1k
      }
4235
205k
    } else {
4236
205k
      if (yych <= '$') {
4237
24.0k
        if (yych <= ' ') goto yy227;
4238
22.3k
        if (yych <= '"') goto yy225;
4239
21.2k
        if (yych <= '#') goto yy351;
4240
3.96k
        goto yy352;
4241
181k
      } else {
4242
181k
        if (yych <= '-') goto yy225;
4243
112k
        if (yych <= '.') goto yy353;
4244
97.6k
        if (yych <= '/') goto yy354;
4245
39.9k
        goto yy225;
4246
97.6k
      }
4247
205k
    }
4248
4.62k
yy229:
4249
4.62k
    YYDEBUG(229, *YYCURSOR);
4250
4.62k
    yych = *++YYCURSOR;
4251
4.62k
    if (yych == '.') goto yy88;
4252
2.05k
    goto yy86;
4253
847k
yy230:
4254
847k
    YYDEBUG(230, *YYCURSOR);
4255
847k
    ++YYCURSOR;
4256
847k
    YYFILL(1);
4257
847k
    yych = *YYCURSOR;
4258
847k
    YYDEBUG(231, *YYCURSOR);
4259
847k
    if (yybm[0+yych] & 4) {
4260
800k
      goto yy230;
4261
800k
    }
4262
46.2k
    if (yych <= 0x00) goto yy86;
4263
36.6k
    goto yy355;
4264
36.6k
yy232:
4265
15.1k
    YYDEBUG(232, *YYCURSOR);
4266
15.1k
    yych = *++YYCURSOR;
4267
15.1k
    if (yych == 'R') goto yy357;
4268
15.0k
    if (yych == 'r') goto yy357;
4269
1.94k
    goto yy86;
4270
3.89k
yy233:
4271
3.89k
    YYDEBUG(233, *YYCURSOR);
4272
3.89k
    yych = *++YYCURSOR;
4273
3.89k
    if (yych == 'N') goto yy358;
4274
2.58k
    if (yych == 'n') goto yy358;
4275
1.30k
    goto yy86;
4276
7.16k
yy234:
4277
7.16k
    YYDEBUG(234, *YYCURSOR);
4278
7.16k
    yych = *++YYCURSOR;
4279
7.16k
    if (yych == 'O') goto yy359;
4280
6.38k
    if (yych == 'o') goto yy359;
4281
2.63k
    goto yy86;
4282
3.61k
yy235:
4283
3.61k
    YYDEBUG(235, *YYCURSOR);
4284
3.61k
    yych = *++YYCURSOR;
4285
3.61k
    if (yych == 'U') goto yy360;
4286
3.50k
    if (yych == 'u') goto yy360;
4287
357
    goto yy86;
4288
3.41k
yy236:
4289
3.41k
    YYDEBUG(236, *YYCURSOR);
4290
3.41k
    yych = *++YYCURSOR;
4291
3.41k
    if (yych == 'O') goto yy361;
4292
2.36k
    if (yych == 'o') goto yy361;
4293
409
    goto yy86;
4294
10.2k
yy237:
4295
10.2k
    YYDEBUG(237, *YYCURSOR);
4296
10.2k
    yych = *++YYCURSOR;
4297
10.2k
    if (yych == 'T') goto yy362;
4298
9.33k
    if (yych == 't') goto yy362;
4299
2.28k
    goto yy86;
4300
6.35k
yy238:
4301
6.35k
    YYDEBUG(238, *YYCURSOR);
4302
6.35k
    yych = *++YYCURSOR;
4303
6.35k
    if (yych == 'J') goto yy363;
4304
5.92k
    if (yych == 'j') goto yy363;
4305
1.31k
    goto yy86;
4306
4.04k
yy239:
4307
4.04k
    YYDEBUG(239, *YYCURSOR);
4308
4.04k
    yych = *++YYCURSOR;
4309
4.04k
    if (yych == 'A') goto yy364;
4310
3.36k
    if (yych == 'a') goto yy364;
4311
2.19k
    goto yy86;
4312
18.8k
yy240:
4313
18.8k
    YYDEBUG(240, *YYCURSOR);
4314
18.8k
    yych = *++YYCURSOR;
4315
18.8k
    if (yych == 'R') goto yy365;
4316
18.5k
    if (yych == 'r') goto yy365;
4317
1.68k
    goto yy86;
4318
3.63k
yy241:
4319
3.63k
    YYDEBUG(241, *YYCURSOR);
4320
3.63k
    yych = *++YYCURSOR;
4321
3.63k
    if (yych == 'S') goto yy366;
4322
3.42k
    if (yych == 's') goto yy366;
4323
675
    goto yy86;
4324
2.02k
yy242:
4325
2.02k
    YYDEBUG(242, *YYCURSOR);
4326
2.02k
    yych = *++YYCURSOR;
4327
2.02k
    if (yych == 'I') goto yy367;
4328
1.83k
    if (yych == 'i') goto yy367;
4329
279
    goto yy86;
4330
542
yy243:
4331
542
    YYDEBUG(243, *YYCURSOR);
4332
542
    ++YYCURSOR;
4333
542
    YYDEBUG(244, *YYCURSOR);
4334
542
    yyleng = YYCURSOR - SCNG(yy_text);
4335
542
#line 1908 "Zend/zend_language_scanner.l"
4336
542
    {
4337
542
  RETURN_TOKEN(T_POW_EQUAL);
4338
542
}
4339
0
#line 4340 "Zend/zend_language_scanner.c"
4340
64.5k
yy245:
4341
64.5k
    YYDEBUG(245, *YYCURSOR);
4342
64.5k
    ++YYCURSOR;
4343
64.5k
    YYDEBUG(246, *YYCURSOR);
4344
64.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4345
64.5k
#line 1648 "Zend/zend_language_scanner.l"
4346
64.5k
    {
4347
64.5k
  RETURN_TOKEN(T_ELLIPSIS);
4348
64.5k
}
4349
0
#line 4350 "Zend/zend_language_scanner.c"
4350
1.19k
yy247:
4351
1.19k
    YYDEBUG(247, *YYCURSOR);
4352
1.19k
    ++YYCURSOR;
4353
1.19k
    YYFILL(1);
4354
1.19k
    yych = *YYCURSOR;
4355
1.19k
    if (yych <= '/') goto yy86;
4356
899
    if (yych <= '9') goto yy123;
4357
651
    goto yy86;
4358
9.67k
yy248:
4359
9.67k
    YYDEBUG(248, *YYCURSOR);
4360
9.67k
    yych = *++YYCURSOR;
4361
9.67k
    if (yych <= '\f') {
4362
4.96k
      if (yych <= 0x08) goto yy86;
4363
4.78k
      if (yych <= '\n') goto yy368;
4364
620
      goto yy86;
4365
4.78k
    } else {
4366
4.71k
      if (yych <= '\r') goto yy368;
4367
4.31k
      if (yych == ' ') goto yy368;
4368
1.74k
      goto yy86;
4369
4.31k
    }
4370
57.7k
yy249:
4371
57.7k
    YYDEBUG(249, *YYCURSOR);
4372
57.7k
    yyaccept = 14;
4373
57.7k
    YYMARKER = ++YYCURSOR;
4374
57.7k
    YYFILL(1);
4375
57.7k
    yych = *YYCURSOR;
4376
57.7k
    YYDEBUG(250, *YYCURSOR);
4377
57.7k
    if (yybm[0+yych] & 8) {
4378
53.1k
      goto yy249;
4379
53.1k
    }
4380
4.55k
    if (yych == '_') goto yy134;
4381
2.79k
yy251:
4382
2.79k
    YYDEBUG(251, *YYCURSOR);
4383
2.79k
    yyleng = YYCURSOR - SCNG(yy_text);
4384
2.79k
#line 2041 "Zend/zend_language_scanner.l"
4385
2.79k
    {
4386
  /* The +/- 2 skips "0b" */
4387
2.79k
  size_t len = yyleng - 2;
4388
2.79k
  char *end, *bin = yytext + 2;
4389
2.79k
  bool contains_underscores;
4390
4391
  /* Skip any leading 0s */
4392
4.44k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4393
1.64k
    ++bin;
4394
1.64k
    --len;
4395
1.64k
  }
4396
4397
2.79k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4398
4399
2.79k
  if (contains_underscores) {
4400
432
    bin = estrndup(bin, len);
4401
432
    strip_underscores(bin, &len);
4402
432
  }
4403
4404
2.79k
  if (len < SIZEOF_ZEND_LONG * 8) {
4405
2.48k
    if (len == 0) {
4406
419
      ZVAL_LONG(zendlval, 0);
4407
2.06k
    } else {
4408
2.06k
      errno = 0;
4409
2.06k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4410
2.06k
      ZEND_ASSERT(!errno && end == bin + len);
4411
2.06k
    }
4412
2.48k
    if (contains_underscores) {
4413
258
      efree(bin);
4414
258
    }
4415
2.48k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4416
2.48k
  } else {
4417
313
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4418
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4419
313
    ZEND_ASSERT(end == bin + len);
4420
313
    if (contains_underscores) {
4421
174
      efree(bin);
4422
174
    }
4423
313
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4424
313
  }
4425
2.79k
}
4426
0
#line 4427 "Zend/zend_language_scanner.c"
4427
11.4k
yy252:
4428
11.4k
    YYDEBUG(252, *YYCURSOR);
4429
11.4k
    ++YYCURSOR;
4430
11.4k
    YYFILL(1);
4431
11.4k
    yych = *YYCURSOR;
4432
11.4k
    if (yych <= '/') goto yy86;
4433
11.0k
    if (yych >= ':') goto yy86;
4434
97.1k
yy253:
4435
97.1k
    YYDEBUG(253, *YYCURSOR);
4436
97.1k
    yyaccept = 5;
4437
97.1k
    YYMARKER = ++YYCURSOR;
4438
97.1k
    YYFILL(1);
4439
97.1k
    yych = *YYCURSOR;
4440
97.1k
    YYDEBUG(254, *YYCURSOR);
4441
97.1k
    if (yych <= '/') goto yy125;
4442
82.2k
    if (yych <= '9') goto yy253;
4443
12.6k
    if (yych == '_') goto yy252;
4444
11.8k
    goto yy125;
4445
18.4k
yy255:
4446
18.4k
    YYDEBUG(255, *YYCURSOR);
4447
18.4k
    yyaccept = 15;
4448
18.4k
    YYMARKER = ++YYCURSOR;
4449
18.4k
    YYFILL(1);
4450
18.4k
    yych = *YYCURSOR;
4451
18.4k
    YYDEBUG(256, *YYCURSOR);
4452
18.4k
    if (yybm[0+yych] & 16) {
4453
16.0k
      goto yy255;
4454
16.0k
    }
4455
2.36k
    if (yych == '_') goto yy136;
4456
1.71k
yy257:
4457
1.71k
    YYDEBUG(257, *YYCURSOR);
4458
1.71k
    yyleng = YYCURSOR - SCNG(yy_text);
4459
1.71k
#line 2083 "Zend/zend_language_scanner.l"
4460
1.71k
    {
4461
  /* The +/- 2 skips "0o" */
4462
1.71k
  size_t len = yyleng - 2;
4463
1.71k
  char *end, *octal = yytext + 2;
4464
1.71k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4465
4466
  /* Skip any leading 0s */
4467
3.18k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4468
1.47k
    ++octal;
4469
1.47k
    --len;
4470
1.47k
  }
4471
4472
1.71k
  if (len == 0) {
4473
306
    ZVAL_LONG(zendlval, 0);
4474
306
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4475
306
  }
4476
4477
1.40k
  if (contains_underscores) {
4478
574
    octal = estrndup(octal, len);
4479
574
    strip_underscores(octal, &len);
4480
574
  }
4481
4482
1.40k
  errno = 0;
4483
4484
1.40k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4485
4486
1.40k
  ZEND_ASSERT(end == octal + len);
4487
4488
1.40k
  if (!errno) {
4489
892
    if (contains_underscores) {
4490
423
      efree(octal);
4491
423
    }
4492
892
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4493
892
  }
4494
4495
  /* Overflow */
4496
512
  ZEND_ASSERT(errno == ERANGE);
4497
  /* Reset errno */
4498
512
  errno = 0;
4499
4500
  /* zend_oct_strtod skips leading '0' */
4501
512
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4502
512
  ZEND_ASSERT(!errno);
4503
512
  ZEND_ASSERT(end == octal + len);
4504
512
  if (contains_underscores) {
4505
151
    efree(octal);
4506
151
  }
4507
512
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4508
512
}
4509
0
#line 4510 "Zend/zend_language_scanner.c"
4510
46.0k
yy258:
4511
46.0k
    YYDEBUG(258, *YYCURSOR);
4512
46.0k
    yyaccept = 16;
4513
46.0k
    YYMARKER = ++YYCURSOR;
4514
46.0k
    YYFILL(1);
4515
46.0k
    yych = *YYCURSOR;
4516
46.0k
    YYDEBUG(259, *YYCURSOR);
4517
46.0k
    if (yybm[0+yych] & 32) {
4518
38.6k
      goto yy258;
4519
38.6k
    }
4520
7.34k
    if (yych == '_') goto yy137;
4521
6.16k
yy260:
4522
6.16k
    YYDEBUG(260, *YYCURSOR);
4523
6.16k
    yyleng = YYCURSOR - SCNG(yy_text);
4524
6.16k
#line 2196 "Zend/zend_language_scanner.l"
4525
6.16k
    {
4526
  /* The +/- 2 skips "0x" */
4527
6.16k
  size_t len = yyleng - 2;
4528
6.16k
  char *end, *hex = yytext + 2;
4529
6.16k
  bool contains_underscores;
4530
4531
  /* Skip any leading 0s */
4532
8.90k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4533
2.74k
    ++hex;
4534
2.74k
    --len;
4535
2.74k
  }
4536
4537
6.16k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4538
4539
6.16k
  if (contains_underscores) {
4540
862
    hex = estrndup(hex, len);
4541
862
    strip_underscores(hex, &len);
4542
862
  }
4543
4544
6.16k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4545
4.98k
    if (len == 0) {
4546
753
      ZVAL_LONG(zendlval, 0);
4547
4.23k
    } else {
4548
4.23k
      errno = 0;
4549
4.23k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4550
4.23k
      ZEND_ASSERT(!errno && end == hex + len);
4551
4.23k
    }
4552
4.98k
    if (contains_underscores) {
4553
347
      efree(hex);
4554
347
    }
4555
4.98k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4556
4.98k
  } else {
4557
1.18k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4558
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4559
1.18k
    ZEND_ASSERT(end == hex + len);
4560
1.18k
    if (contains_underscores) {
4561
515
      efree(hex);
4562
515
    }
4563
1.18k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4564
1.18k
  }
4565
6.16k
}
4566
0
#line 4567 "Zend/zend_language_scanner.c"
4567
3.12M
yy261:
4568
3.12M
    YYDEBUG(261, *YYCURSOR);
4569
3.12M
    ++YYCURSOR;
4570
3.12M
    YYFILL(2);
4571
3.12M
    yych = *YYCURSOR;
4572
3.12M
    YYDEBUG(262, *YYCURSOR);
4573
3.12M
    if (yych <= '\'') {
4574
62.8k
      if (yych <= ' ') {
4575
40.5k
        if (yych == '\t') goto yy261;
4576
29.0k
        if (yych <= 0x1F) goto yy86;
4577
12.2k
        goto yy261;
4578
29.0k
      } else {
4579
22.3k
        if (yych == '"') goto yy370;
4580
19.4k
        if (yych <= '&') goto yy86;
4581
11.9k
        goto yy371;
4582
19.4k
      }
4583
3.06M
    } else {
4584
3.06M
      if (yych <= '_') {
4585
415k
        if (yych <= '@') goto yy86;
4586
362k
        if (yych <= 'Z') goto yy372;
4587
3.83k
        if (yych <= '^') goto yy86;
4588
2.63k
        goto yy372;
4589
2.65M
      } else {
4590
2.65M
        if (yych <= '`') goto yy86;
4591
2.64M
        if (yych <= 'z') goto yy372;
4592
1.85M
        if (yych <= 0x7F) goto yy86;
4593
1.85M
        goto yy372;
4594
1.85M
      }
4595
3.06M
    }
4596
1.25k
yy263:
4597
1.25k
    YYDEBUG(263, *YYCURSOR);
4598
1.25k
    ++YYCURSOR;
4599
1.25k
    YYDEBUG(264, *YYCURSOR);
4600
1.25k
    yyleng = YYCURSOR - SCNG(yy_text);
4601
1.25k
#line 1924 "Zend/zend_language_scanner.l"
4602
1.25k
    {
4603
1.25k
  RETURN_TOKEN(T_SL_EQUAL);
4604
1.25k
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
1.10k
yy265:
4607
1.10k
    YYDEBUG(265, *YYCURSOR);
4608
1.10k
    ++YYCURSOR;
4609
1.10k
    YYDEBUG(266, *YYCURSOR);
4610
1.10k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
1.10k
#line 1880 "Zend/zend_language_scanner.l"
4612
1.10k
    {
4613
1.10k
  RETURN_TOKEN(T_SPACESHIP);
4614
1.10k
}
4615
0
#line 4616 "Zend/zend_language_scanner.c"
4616
10.1k
yy267:
4617
10.1k
    YYDEBUG(267, *YYCURSOR);
4618
10.1k
    ++YYCURSOR;
4619
10.1k
    YYDEBUG(268, *YYCURSOR);
4620
10.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4621
10.1k
#line 1864 "Zend/zend_language_scanner.l"
4622
10.1k
    {
4623
10.1k
  RETURN_TOKEN(T_IS_IDENTICAL);
4624
10.1k
}
4625
0
#line 4626 "Zend/zend_language_scanner.c"
4626
965
yy269:
4627
965
    YYDEBUG(269, *YYCURSOR);
4628
965
    ++YYCURSOR;
4629
965
    YYDEBUG(270, *YYCURSOR);
4630
965
    yyleng = YYCURSOR - SCNG(yy_text);
4631
965
#line 1928 "Zend/zend_language_scanner.l"
4632
965
    {
4633
965
  RETURN_TOKEN(T_SR_EQUAL);
4634
965
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
37.5k
yy271:
4637
37.5k
    YYDEBUG(271, *YYCURSOR);
4638
37.5k
    ++YYCURSOR;
4639
37.5k
    YYDEBUG(272, *YYCURSOR);
4640
37.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4641
37.5k
#line 1622 "Zend/zend_language_scanner.l"
4642
37.5k
    {
4643
37.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4644
37.5k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4645
37.5k
}
4646
0
#line 4647 "Zend/zend_language_scanner.c"
4647
11.0k
yy273:
4648
11.0k
    YYDEBUG(273, *YYCURSOR);
4649
11.0k
    ++YYCURSOR;
4650
11.0k
    goto yy156;
4651
1.02k
yy274:
4652
1.02k
    YYDEBUG(274, *YYCURSOR);
4653
1.02k
    yych = *++YYCURSOR;
4654
1.02k
    if (yych == '\n') goto yy273;
4655
675
    goto yy156;
4656
8.89k
yy275:
4657
8.89k
    YYDEBUG(275, *YYCURSOR);
4658
8.89k
    ++YYCURSOR;
4659
8.89k
    YYDEBUG(276, *YYCURSOR);
4660
8.89k
    yyleng = YYCURSOR - SCNG(yy_text);
4661
8.89k
#line 1944 "Zend/zend_language_scanner.l"
4662
8.89k
    {
4663
8.89k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4664
8.89k
}
4665
0
#line 4666 "Zend/zend_language_scanner.c"
4666
8.49k
yy277:
4667
8.49k
    YYDEBUG(277, *YYCURSOR);
4668
8.49k
    yyaccept = 4;
4669
8.49k
    yych = *(YYMARKER = ++YYCURSOR);
4670
8.49k
    if (yych == 'T') goto yy374;
4671
6.79k
    if (yych == 't') goto yy374;
4672
978
    goto yy48;
4673
7.01k
yy278:
4674
7.01k
    YYDEBUG(278, *YYCURSOR);
4675
7.01k
    yyaccept = 17;
4676
7.01k
    yych = *(YYMARKER = ++YYCURSOR);
4677
7.01k
    if (yybm[256+yych] & 128) {
4678
200
      goto yy47;
4679
200
    }
4680
6.81k
    if (yych == '\\') goto yy164;
4681
6.79k
yy279:
4682
6.79k
    YYDEBUG(279, *YYCURSOR);
4683
6.79k
    yyleng = YYCURSOR - SCNG(yy_text);
4684
6.79k
#line 1964 "Zend/zend_language_scanner.l"
4685
6.79k
    {
4686
6.79k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4687
6.79k
}
4688
0
#line 4689 "Zend/zend_language_scanner.c"
4689
35.9k
yy280:
4690
35.9k
    YYDEBUG(280, *YYCURSOR);
4691
35.9k
    yyaccept = 4;
4692
35.9k
    yych = *(YYMARKER = ++YYCURSOR);
4693
35.9k
    if (yych == 'A') goto yy375;
4694
34.6k
    if (yych == 'a') goto yy375;
4695
2.93k
    goto yy48;
4696
130k
yy281:
4697
130k
    YYDEBUG(281, *YYCURSOR);
4698
130k
    yyaccept = 18;
4699
130k
    YYMARKER = ++YYCURSOR;
4700
130k
    YYFILL(1);
4701
130k
    yych = *YYCURSOR;
4702
130k
    YYDEBUG(282, *YYCURSOR);
4703
130k
    if (yych <= '\\') {
4704
46.9k
      if (yych <= '@') {
4705
29.9k
        if (yych <= '/') goto yy283;
4706
10.9k
        if (yych <= '9') goto yy281;
4707
17.0k
      } else {
4708
17.0k
        if (yych <= 'Z') goto yy281;
4709
7.16k
        if (yych >= '\\') goto yy164;
4710
7.16k
      }
4711
83.7k
    } else {
4712
83.7k
      if (yych <= '`') {
4713
3.92k
        if (yych == '_') goto yy281;
4714
79.8k
      } else {
4715
79.8k
        if (yych <= 'z') goto yy281;
4716
35.4k
        if (yych >= 0x80) goto yy281;
4717
35.4k
      }
4718
83.7k
    }
4719
30.7k
yy283:
4720
30.7k
    YYDEBUG(283, *YYCURSOR);
4721
30.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4722
30.7k
#line 2473 "Zend/zend_language_scanner.l"
4723
30.7k
    {
4724
30.7k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4725
30.7k
}
4726
0
#line 4727 "Zend/zend_language_scanner.c"
4727
3.77k
yy284:
4728
3.77k
    YYDEBUG(284, *YYCURSOR);
4729
3.77k
    yych = *++YYCURSOR;
4730
3.77k
    if (yych == '<') goto yy261;
4731
924
    goto yy86;
4732
5.70k
yy285:
4733
5.70k
    YYDEBUG(285, *YYCURSOR);
4734
5.70k
    yyaccept = 4;
4735
5.70k
    yych = *(YYMARKER = ++YYCURSOR);
4736
5.70k
    if (yych == 'A') goto yy376;
4737
5.12k
    if (yych == 'a') goto yy376;
4738
896
    goto yy48;
4739
17.5k
yy286:
4740
17.5k
    YYDEBUG(286, *YYCURSOR);
4741
17.5k
    yyaccept = 4;
4742
17.5k
    yych = *(YYMARKER = ++YYCURSOR);
4743
17.5k
    if (yych == 'L') goto yy377;
4744
15.3k
    if (yych == 'l') goto yy377;
4745
1.43k
    goto yy48;
4746
11.5k
yy287:
4747
11.5k
    YYDEBUG(287, *YYCURSOR);
4748
11.5k
    yyaccept = 4;
4749
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
4750
11.5k
    if (yych == 'E') goto yy378;
4751
9.99k
    if (yych == 'e') goto yy378;
4752
1.49k
    goto yy48;
4753
46.4k
yy288:
4754
46.4k
    YYDEBUG(288, *YYCURSOR);
4755
46.4k
    yyaccept = 4;
4756
46.4k
    yych = *(YYMARKER = ++YYCURSOR);
4757
46.4k
    if (yych == 'C') goto yy380;
4758
45.7k
    if (yych == 'c') goto yy380;
4759
2.51k
    goto yy48;
4760
91.3k
yy289:
4761
91.3k
    YYDEBUG(289, *YYCURSOR);
4762
91.3k
    yyaccept = 4;
4763
91.3k
    yych = *(YYMARKER = ++YYCURSOR);
4764
91.3k
    if (yych == 'S') goto yy381;
4765
89.4k
    if (yych == 's') goto yy381;
4766
1.75k
    goto yy48;
4767
10.1k
yy290:
4768
10.1k
    YYDEBUG(290, *YYCURSOR);
4769
10.1k
    yyaccept = 4;
4770
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
4771
10.1k
    if (yych == 'N') goto yy382;
4772
9.18k
    if (yych == 'n') goto yy382;
4773
3.83k
    goto yy48;
4774
55.0k
yy291:
4775
55.0k
    YYDEBUG(291, *YYCURSOR);
4776
55.0k
    yyaccept = 4;
4777
55.0k
    yych = *(YYMARKER = ++YYCURSOR);
4778
55.0k
    if (yych <= 'T') {
4779
5.91k
      if (yych <= 'R') goto yy48;
4780
4.49k
      if (yych <= 'S') goto yy383;
4781
1.79k
      goto yy384;
4782
49.1k
    } else {
4783
49.1k
      if (yych <= 'r') goto yy48;
4784
48.6k
      if (yych <= 's') goto yy383;
4785
6.38k
      if (yych <= 't') goto yy384;
4786
744
      goto yy48;
4787
6.38k
    }
4788
10.4k
yy292:
4789
10.4k
    YYDEBUG(292, *YYCURSOR);
4790
10.4k
    yyaccept = 4;
4791
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
4792
10.4k
    if (yych == 'L') goto yy385;
4793
9.56k
    if (yych == 'l') goto yy385;
4794
690
    goto yy48;
4795
9.94k
yy293:
4796
9.94k
    YYDEBUG(293, *YYCURSOR);
4797
9.94k
    yyaccept = 4;
4798
9.94k
    yych = *(YYMARKER = ++YYCURSOR);
4799
9.94k
    if (yych == 'A') goto yy386;
4800
9.31k
    if (yych == 'a') goto yy386;
4801
5.81k
    goto yy48;
4802
6.60k
yy294:
4803
6.60k
    YYDEBUG(294, *YYCURSOR);
4804
6.60k
    yyaccept = 19;
4805
6.60k
    yych = *(YYMARKER = ++YYCURSOR);
4806
6.60k
    if (yybm[256+yych] & 128) {
4807
836
      goto yy47;
4808
836
    }
4809
5.77k
    if (yych == '\\') goto yy164;
4810
5.76k
yy295:
4811
5.76k
    YYDEBUG(295, *YYCURSOR);
4812
5.76k
    yyleng = YYCURSOR - SCNG(yy_text);
4813
5.76k
#line 1433 "Zend/zend_language_scanner.l"
4814
5.76k
    {
4815
5.76k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4816
5.76k
}
4817
0
#line 4818 "Zend/zend_language_scanner.c"
4818
104k
yy296:
4819
104k
    YYDEBUG(296, *YYCURSOR);
4820
104k
    yyaccept = 4;
4821
104k
    yych = *(YYMARKER = ++YYCURSOR);
4822
104k
    if (yych == 'O') goto yy387;
4823
103k
    if (yych == 'o') goto yy387;
4824
1.86k
    goto yy48;
4825
12.9k
yy297:
4826
12.9k
    YYDEBUG(297, *YYCURSOR);
4827
12.9k
    yyaccept = 4;
4828
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
4829
12.9k
    if (yych == 'E') goto yy389;
4830
11.9k
    if (yych == 'e') goto yy389;
4831
747
    goto yy48;
4832
7.66k
yy298:
4833
7.66k
    YYDEBUG(298, *YYCURSOR);
4834
7.66k
    yyaccept = 4;
4835
7.66k
    yych = *(YYMARKER = ++YYCURSOR);
4836
7.66k
    if (yych == 'T') goto yy391;
4837
5.57k
    if (yych == 't') goto yy391;
4838
1.76k
    goto yy48;
4839
47.6k
yy299:
4840
47.6k
    YYDEBUG(299, *YYCURSOR);
4841
47.6k
    yyaccept = 4;
4842
47.6k
    yych = *(YYMARKER = ++YYCURSOR);
4843
47.6k
    switch (yych) {
4844
1.47k
    case 'D':
4845
5.66k
    case 'd': goto yy392;
4846
3.90k
    case 'F':
4847
10.9k
    case 'f': goto yy393;
4848
3.25k
    case 'I':
4849
7.45k
    case 'i': goto yy394;
4850
1.15k
    case 'S':
4851
6.49k
    case 's': goto yy395;
4852
3.97k
    case 'W':
4853
9.46k
    case 'w': goto yy396;
4854
7.60k
    default:  goto yy48;
4855
47.6k
    }
4856
167k
yy300:
4857
167k
    YYDEBUG(300, *YYCURSOR);
4858
167k
    yyaccept = 4;
4859
167k
    yych = *(YYMARKER = ++YYCURSOR);
4860
167k
    if (yych == 'M') goto yy397;
4861
162k
    if (yych == 'm') goto yy397;
4862
15.6k
    goto yy48;
4863
15.6k
yy301:
4864
6.22k
    YYDEBUG(301, *YYCURSOR);
4865
6.22k
    yyaccept = 4;
4866
6.22k
    yych = *(YYMARKER = ++YYCURSOR);
4867
6.22k
    if (yych == 'L') goto yy398;
4868
5.83k
    if (yych == 'l') goto yy398;
4869
716
    goto yy48;
4870
2.60k
yy302:
4871
2.60k
    YYDEBUG(302, *YYCURSOR);
4872
2.60k
    yyaccept = 4;
4873
2.60k
    yych = *(YYMARKER = ++YYCURSOR);
4874
2.60k
    if (yych == 'T') goto yy400;
4875
1.73k
    if (yych == 't') goto yy400;
4876
413
    goto yy48;
4877
24.8k
yy303:
4878
24.8k
    YYDEBUG(303, *YYCURSOR);
4879
24.8k
    yyaccept = 4;
4880
24.8k
    yych = *(YYMARKER = ++YYCURSOR);
4881
24.8k
    if (yych == 'E') goto yy402;
4882
23.9k
    if (yych == 'e') goto yy402;
4883
2.78k
    goto yy48;
4884
14.0k
yy304:
4885
14.0k
    YYDEBUG(304, *YYCURSOR);
4886
14.0k
    yyaccept = 4;
4887
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
4888
14.0k
    if (yych == 'A') goto yy403;
4889
13.4k
    if (yych == 'a') goto yy403;
4890
1.29k
    goto yy48;
4891
66.7k
yy305:
4892
66.7k
    YYDEBUG(305, *YYCURSOR);
4893
66.7k
    yyaccept = 20;
4894
66.7k
    yych = *(YYMARKER = ++YYCURSOR);
4895
66.7k
    if (yych <= '\\') {
4896
36.5k
      if (yych <= 'D') {
4897
33.7k
        if (yych <= '/') goto yy306;
4898
2.55k
        if (yych <= '9') goto yy47;
4899
2.10k
        if (yych >= 'A') goto yy47;
4900
2.82k
      } else {
4901
2.82k
        if (yych <= 'E') goto yy404;
4902
1.36k
        if (yych <= 'Z') goto yy47;
4903
462
        if (yych >= '\\') goto yy164;
4904
462
      }
4905
36.5k
    } else {
4906
30.2k
      if (yych <= 'd') {
4907
739
        if (yych == '_') goto yy47;
4908
511
        if (yych >= 'a') goto yy47;
4909
29.4k
      } else {
4910
29.4k
        if (yych <= 'e') goto yy404;
4911
2.70k
        if (yych <= 'z') goto yy47;
4912
869
        if (yych >= 0x80) goto yy47;
4913
869
      }
4914
30.2k
    }
4915
34.0k
yy306:
4916
34.0k
    YYDEBUG(306, *YYCURSOR);
4917
34.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4918
34.0k
#line 1512 "Zend/zend_language_scanner.l"
4919
34.0k
    {
4920
34.0k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4921
34.0k
}
4922
0
#line 4923 "Zend/zend_language_scanner.c"
4923
124k
yy307:
4924
124k
    YYDEBUG(307, *YYCURSOR);
4925
124k
    yyaccept = 4;
4926
124k
    yych = *(YYMARKER = ++YYCURSOR);
4927
124k
    if (yych == 'C') goto yy405;
4928
122k
    if (yych == 'c') goto yy405;
4929
1.41k
    goto yy48;
4930
9.34k
yy308:
4931
9.34k
    YYDEBUG(308, *YYCURSOR);
4932
9.34k
    yyaccept = 4;
4933
9.34k
    yych = *(YYMARKER = ++YYCURSOR);
4934
9.34k
    if (yych == 'B') goto yy406;
4935
7.10k
    if (yych == 'b') goto yy406;
4936
1.68k
    goto yy48;
4937
5.49k
yy309:
4938
5.49k
    YYDEBUG(309, *YYCURSOR);
4939
5.49k
    yyaccept = 4;
4940
5.49k
    yych = *(YYMARKER = ++YYCURSOR);
4941
5.49k
    if (yych == 'O') goto yy407;
4942
3.99k
    if (yych == 'o') goto yy407;
4943
571
    goto yy48;
4944
28.2k
yy310:
4945
28.2k
    YYDEBUG(310, *YYCURSOR);
4946
28.2k
    yyaccept = 4;
4947
28.2k
    yych = *(YYMARKER = ++YYCURSOR);
4948
28.2k
    if (yych == 'L') goto yy409;
4949
24.8k
    if (yych == 'l') goto yy409;
4950
3.43k
    goto yy48;
4951
13.4k
yy311:
4952
13.4k
    YYDEBUG(311, *YYCURSOR);
4953
13.4k
    yyaccept = 4;
4954
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
4955
13.4k
    if (yych == 'L') goto yy410;
4956
11.0k
    if (yych == 'l') goto yy410;
4957
2.40k
    goto yy48;
4958
15.6k
yy312:
4959
15.6k
    YYDEBUG(312, *YYCURSOR);
4960
15.6k
    yyaccept = 4;
4961
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
4962
15.6k
    if (yych == 'T') goto yy411;
4963
12.8k
    if (yych == 't') goto yy411;
4964
945
    goto yy48;
4965
23.9k
yy313:
4966
23.9k
    YYDEBUG(313, *YYCURSOR);
4967
23.9k
    yyaccept = 4;
4968
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
4969
23.9k
    if (yych == 'E') goto yy412;
4970
22.8k
    if (yych == 'e') goto yy412;
4971
12.9k
    goto yy48;
4972
17.6k
yy314:
4973
17.6k
    YYDEBUG(314, *YYCURSOR);
4974
17.6k
    yyaccept = 4;
4975
17.6k
    yych = *(YYMARKER = ++YYCURSOR);
4976
17.6k
    if (yych == 'E') goto yy413;
4977
17.3k
    if (yych == 'e') goto yy413;
4978
546
    goto yy48;
4979
5.35k
yy315:
4980
5.35k
    YYDEBUG(315, *YYCURSOR);
4981
5.35k
    yyaccept = 4;
4982
5.35k
    yych = *(YYMARKER = ++YYCURSOR);
4983
5.35k
    if (yych == 'T') goto yy414;
4984
4.66k
    if (yych == 't') goto yy414;
4985
559
    goto yy48;
4986
5.11k
yy316:
4987
5.11k
    YYDEBUG(316, *YYCURSOR);
4988
5.11k
    yyaccept = 4;
4989
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
4990
5.11k
    if (yych == 'C') goto yy416;
4991
4.65k
    if (yych == 'c') goto yy416;
4992
429
    goto yy48;
4993
25.4k
yy317:
4994
25.4k
    YYDEBUG(317, *YYCURSOR);
4995
25.4k
    yyaccept = 4;
4996
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
4997
25.4k
    if (yych == 'E') goto yy417;
4998
22.3k
    if (yych == 'e') goto yy417;
4999
2.54k
    goto yy48;
5000
95.6k
yy318:
5001
95.6k
    YYDEBUG(318, *YYCURSOR);
5002
95.6k
    yyaccept = 21;
5003
95.6k
    yych = *(YYMARKER = ++YYCURSOR);
5004
95.6k
    if (yybm[256+yych] & 128) {
5005
1.20k
      goto yy47;
5006
1.20k
    }
5007
94.4k
    if (yych == '\\') goto yy164;
5008
94.4k
yy319:
5009
94.4k
    YYDEBUG(319, *YYCURSOR);
5010
94.4k
    yyleng = YYCURSOR - SCNG(yy_text);
5011
94.4k
#line 1656 "Zend/zend_language_scanner.l"
5012
94.4k
    {
5013
94.4k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
5014
94.4k
}
5015
0
#line 5016 "Zend/zend_language_scanner.c"
5016
38.2k
yy320:
5017
38.2k
    YYDEBUG(320, *YYCURSOR);
5018
38.2k
    yyaccept = 4;
5019
38.2k
    yych = *(YYMARKER = ++YYCURSOR);
5020
38.2k
    if (yych <= 'V') {
5021
2.87k
      if (yych == 'N') goto yy418;
5022
1.71k
      if (yych <= 'U') goto yy48;
5023
1.31k
      goto yy419;
5024
35.3k
    } else {
5025
35.3k
      if (yych <= 'n') {
5026
20.6k
        if (yych <= 'm') goto yy48;
5027
15.6k
        goto yy418;
5028
20.6k
      } else {
5029
14.6k
        if (yych == 'v') goto yy419;
5030
547
        goto yy48;
5031
14.6k
      }
5032
35.3k
    }
5033
15.6k
yy321:
5034
15.6k
    YYDEBUG(321, *YYCURSOR);
5035
15.6k
    yyaccept = 4;
5036
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
5037
15.6k
    if (yych == 'T') goto yy420;
5038
14.3k
    if (yych == 't') goto yy420;
5039
2.23k
    goto yy48;
5040
75.7k
yy322:
5041
75.7k
    YYDEBUG(322, *YYCURSOR);
5042
75.7k
    yyaccept = 4;
5043
75.7k
    yych = *(YYMARKER = ++YYCURSOR);
5044
75.7k
    if (yych == 'L') goto yy421;
5045
74.5k
    if (yych == 'l') goto yy421;
5046
3.20k
    goto yy48;
5047
10.4k
yy323:
5048
10.4k
    YYDEBUG(323, *YYCURSOR);
5049
10.4k
    yyaccept = 4;
5050
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5051
10.4k
    if (yych == 'D') goto yy422;
5052
10.0k
    if (yych == 'd') goto yy422;
5053
2.30k
    goto yy48;
5054
30.8k
yy324:
5055
30.8k
    YYDEBUG(324, *YYCURSOR);
5056
30.8k
    yyaccept = 4;
5057
30.8k
    yych = *(YYMARKER = ++YYCURSOR);
5058
30.8k
    if (yych == 'U') goto yy423;
5059
29.4k
    if (yych == 'u') goto yy423;
5060
6.20k
    goto yy48;
5061
33.9k
yy325:
5062
33.9k
    YYDEBUG(325, *YYCURSOR);
5063
33.9k
    yyaccept = 4;
5064
33.9k
    yych = *(YYMARKER = ++YYCURSOR);
5065
33.9k
    if (yych == 'U') goto yy424;
5066
33.0k
    if (yych == 'u') goto yy424;
5067
1.17k
    goto yy48;
5068
23.2k
yy326:
5069
23.2k
    YYDEBUG(326, *YYCURSOR);
5070
23.2k
    yyaccept = 4;
5071
23.2k
    yych = *(YYMARKER = ++YYCURSOR);
5072
23.2k
    if (yych == 'T') goto yy425;
5073
22.5k
    if (yych == 't') goto yy425;
5074
1.55k
    goto yy48;
5075
8.31k
yy327:
5076
8.31k
    YYDEBUG(327, *YYCURSOR);
5077
8.31k
    yyaccept = 4;
5078
8.31k
    yych = *(YYMARKER = ++YYCURSOR);
5079
8.31k
    if (yych == 'T') goto yy426;
5080
6.99k
    if (yych == 't') goto yy426;
5081
438
    goto yy48;
5082
12.7k
yy328:
5083
12.7k
    YYDEBUG(328, *YYCURSOR);
5084
12.7k
    yyaccept = 4;
5085
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5086
12.7k
    if (yych == 'O') goto yy427;
5087
10.9k
    if (yych == 'o') goto yy427;
5088
878
    goto yy48;
5089
12.7k
yy329:
5090
12.7k
    YYDEBUG(329, *YYCURSOR);
5091
12.7k
    yyaccept = 4;
5092
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5093
12.7k
    if (yych == 'I') goto yy428;
5094
11.1k
    if (yych == 'i') goto yy428;
5095
1.58k
    goto yy48;
5096
52.5k
yy330:
5097
52.5k
    YYDEBUG(330, *YYCURSOR);
5098
52.5k
    yyaccept = 22;
5099
52.5k
    yych = *(YYMARKER = ++YYCURSOR);
5100
52.5k
    if (yybm[256+yych] & 128) {
5101
1.77k
      goto yy47;
5102
1.77k
    }
5103
50.7k
    if (yych == '\\') goto yy164;
5104
50.6k
yy331:
5105
50.6k
    YYDEBUG(331, *YYCURSOR);
5106
50.6k
    yyleng = YYCURSOR - SCNG(yy_text);
5107
50.6k
#line 1468 "Zend/zend_language_scanner.l"
5108
50.6k
    {
5109
50.6k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5110
50.6k
}
5111
0
#line 5112 "Zend/zend_language_scanner.c"
5112
17.8k
yy332:
5113
17.8k
    YYDEBUG(332, *YYCURSOR);
5114
17.8k
    yyaccept = 4;
5115
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
5116
17.8k
    if (yych == 'E') goto yy429;
5117
17.2k
    if (yych == 'e') goto yy429;
5118
1.19k
    goto yy48;
5119
14.9k
yy333:
5120
14.9k
    YYDEBUG(333, *YYCURSOR);
5121
14.9k
    yyaccept = 23;
5122
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
5123
14.9k
    if (yybm[256+yych] & 128) {
5124
2.79k
      goto yy47;
5125
2.79k
    }
5126
12.1k
    if (yych == '\\') goto yy164;
5127
12.1k
yy334:
5128
12.1k
    YYDEBUG(334, *YYCURSOR);
5129
12.1k
    yyleng = YYCURSOR - SCNG(yy_text);
5130
12.1k
#line 1772 "Zend/zend_language_scanner.l"
5131
12.1k
    {
5132
12.1k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5133
12.1k
}
5134
0
#line 5135 "Zend/zend_language_scanner.c"
5135
115k
yy335:
5136
115k
    YYDEBUG(335, *YYCURSOR);
5137
115k
    yyaccept = 24;
5138
115k
    yych = *(YYMARKER = ++YYCURSOR);
5139
115k
    if (yybm[256+yych] & 128) {
5140
112k
      goto yy47;
5141
112k
    }
5142
3.74k
    if (yych == '\\') goto yy164;
5143
3.62k
yy336:
5144
3.62k
    YYDEBUG(336, *YYCURSOR);
5145
3.62k
    yyleng = YYCURSOR - SCNG(yy_text);
5146
3.62k
#line 1664 "Zend/zend_language_scanner.l"
5147
3.62k
    {
5148
3.62k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5149
3.62k
}
5150
0
#line 5151 "Zend/zend_language_scanner.c"
5151
5.23k
yy337:
5152
5.23k
    YYDEBUG(337, *YYCURSOR);
5153
5.23k
    yyaccept = 4;
5154
5.23k
    yych = *(YYMARKER = ++YYCURSOR);
5155
5.23k
    if (yych == 'L') goto yy430;
5156
4.92k
    if (yych == 'l') goto yy430;
5157
605
    goto yy48;
5158
6.36k
yy338:
5159
6.36k
    YYDEBUG(338, *YYCURSOR);
5160
6.36k
    yyaccept = 25;
5161
6.36k
    yych = *(YYMARKER = ++YYCURSOR);
5162
6.36k
    if (yybm[256+yych] & 128) {
5163
203
      goto yy47;
5164
203
    }
5165
6.16k
    if (yych == '\\') goto yy164;
5166
6.15k
yy339:
5167
6.15k
    YYDEBUG(339, *YYCURSOR);
5168
6.15k
    yyleng = YYCURSOR - SCNG(yy_text);
5169
6.15k
#line 1968 "Zend/zend_language_scanner.l"
5170
6.15k
    {
5171
6.15k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5172
6.15k
}
5173
0
#line 5174 "Zend/zend_language_scanner.c"
5174
87.1k
yy340:
5175
87.1k
    YYDEBUG(340, *YYCURSOR);
5176
87.1k
    yyaccept = 4;
5177
87.1k
    yych = *(YYMARKER = ++YYCURSOR);
5178
87.1k
    if (yych == 'L') goto yy431;
5179
84.0k
    if (yych == 'l') goto yy431;
5180
6.52k
    goto yy48;
5181
19.7k
yy341:
5182
19.7k
    YYDEBUG(341, *YYCURSOR);
5183
19.7k
    ++YYCURSOR;
5184
19.7k
    YYFILL(1);
5185
19.7k
    yych = *YYCURSOR;
5186
19.7k
    if (yych <= '_') {
5187
17.2k
      if (yych <= '@') goto yy86;
5188
15.9k
      if (yych <= 'Z') goto yy211;
5189
2.74k
      if (yych <= '^') goto yy86;
5190
973
      goto yy211;
5191
2.74k
    } else {
5192
2.55k
      if (yych <= '`') goto yy86;
5193
2.40k
      if (yych <= 'z') goto yy211;
5194
709
      if (yych <= 0x7F) goto yy86;
5195
374
      goto yy211;
5196
709
    }
5197
21.8k
yy342:
5198
21.8k
    YYDEBUG(342, *YYCURSOR);
5199
21.8k
    yyaccept = 4;
5200
21.8k
    yych = *(YYMARKER = ++YYCURSOR);
5201
21.8k
    if (yych == 'L') goto yy432;
5202
19.2k
    if (yych == 'l') goto yy432;
5203
12.2k
    goto yy48;
5204
12.2k
yy343:
5205
10.8k
    YYDEBUG(343, *YYCURSOR);
5206
10.8k
    yyaccept = 4;
5207
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
5208
10.8k
    if (yych == 'I') goto yy433;
5209
7.68k
    if (yych == 'i') goto yy433;
5210
5.08k
    goto yy48;
5211
23.1k
yy344:
5212
23.1k
    YYDEBUG(344, *YYCURSOR);
5213
23.1k
    yyaccept = 4;
5214
23.1k
    yych = *(YYMARKER = ++YYCURSOR);
5215
23.1k
    if (yych <= 'U') {
5216
14.1k
      if (yych == 'I') goto yy434;
5217
4.87k
      if (yych <= 'T') goto yy48;
5218
4.06k
      goto yy435;
5219
8.98k
    } else {
5220
8.98k
      if (yych <= 'i') {
5221
3.50k
        if (yych <= 'h') goto yy48;
5222
2.93k
        goto yy434;
5223
5.47k
      } else {
5224
5.47k
        if (yych == 'u') goto yy435;
5225
972
        goto yy48;
5226
5.47k
      }
5227
8.98k
    }
5228
6.77k
yy345:
5229
6.77k
    YYDEBUG(345, *YYCURSOR);
5230
6.77k
    yyaccept = 4;
5231
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
5232
6.77k
    if (yych == 'A') goto yy436;
5233
4.11k
    if (yych == 'a') goto yy436;
5234
450
    goto yy48;
5235
4.81k
yy346:
5236
4.81k
    YYDEBUG(346, *YYCURSOR);
5237
4.81k
    yyaccept = 4;
5238
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
5239
4.81k
    if (yych == 'I') goto yy437;
5240
3.25k
    if (yych == 'i') goto yy437;
5241
616
    goto yy48;
5242
16.3k
yy347:
5243
16.3k
    YYDEBUG(347, *YYCURSOR);
5244
16.3k
    yyaccept = 4;
5245
16.3k
    yych = *(YYMARKER = ++YYCURSOR);
5246
16.3k
    if (yych == 'E') goto yy438;
5247
6.40k
    if (yych == 'e') goto yy438;
5248
878
    goto yy48;
5249
11.5k
yy348:
5250
11.5k
    YYDEBUG(348, *YYCURSOR);
5251
11.5k
    yyaccept = 4;
5252
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
5253
11.5k
    if (yych == 'A') goto yy439;
5254
6.42k
    if (yych == 'a') goto yy439;
5255
1.19k
    goto yy48;
5256
4.05k
yy349:
5257
4.05k
    YYDEBUG(349, *YYCURSOR);
5258
4.05k
    yyaccept = 4;
5259
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
5260
4.05k
    if (yych == 'R') goto yy440;
5261
847
    if (yych == 'r') goto yy440;
5262
482
    goto yy48;
5263
7.58k
yy350:
5264
7.58k
    YYDEBUG(350, *YYCURSOR);
5265
7.58k
    yyaccept = 4;
5266
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
5267
7.58k
    if (yych == 'R') goto yy441;
5268
6.02k
    if (yych == 'r') goto yy441;
5269
1.85k
    goto yy48;
5270
17.2k
yy351:
5271
17.2k
    YYDEBUG(351, *YYCURSOR);
5272
17.2k
    ++YYCURSOR;
5273
17.2k
    YYFILL(1);
5274
17.2k
    yych = *YYCURSOR;
5275
17.2k
    if (yybm[0+yych] & 2) {
5276
3.33k
      goto yy225;
5277
3.33k
    }
5278
13.9k
    if (yych <= 0x00) goto yy86;
5279
13.4k
    goto yy227;
5280
13.4k
yy352:
5281
5.31k
    YYDEBUG(352, *YYCURSOR);
5282
5.31k
    yyaccept = 26;
5283
5.31k
    YYMARKER = ++YYCURSOR;
5284
5.31k
    YYFILL(1);
5285
5.31k
    yych = *YYCURSOR;
5286
5.31k
    if (yybm[0+yych] & 2) {
5287
4.79k
      goto yy225;
5288
4.79k
    }
5289
520
    if (yych <= 0x00) goto yy89;
5290
296
    goto yy84;
5291
15.2k
yy353:
5292
15.2k
    YYDEBUG(353, *YYCURSOR);
5293
15.2k
    ++YYCURSOR;
5294
15.2k
    YYFILL(1);
5295
15.2k
    yych = *YYCURSOR;
5296
15.2k
    if (yych <= '\f') {
5297
2.84k
      if (yych <= 0x00) goto yy86;
5298
2.69k
      if (yych == '\n') goto yy84;
5299
344
      goto yy225;
5300
12.4k
    } else {
5301
12.4k
      if (yych <= '\r') goto yy84;
5302
8.68k
      if (yych == '.') goto yy442;
5303
4.44k
      goto yy225;
5304
8.68k
    }
5305
57.7k
yy354:
5306
57.7k
    YYDEBUG(354, *YYCURSOR);
5307
57.7k
    ++YYCURSOR;
5308
57.7k
    YYFILL(1);
5309
57.7k
    yych = *YYCURSOR;
5310
57.7k
    if (yych <= '\f') {
5311
2.50k
      if (yych <= 0x00) goto yy86;
5312
1.89k
      if (yych == '\n') goto yy84;
5313
938
      goto yy225;
5314
55.2k
    } else {
5315
55.2k
      if (yych <= '\r') goto yy84;
5316
50.8k
      if (yych == '*') goto yy443;
5317
5.90k
      goto yy225;
5318
50.8k
    }
5319
41.6k
yy355:
5320
41.6k
    YYDEBUG(355, *YYCURSOR);
5321
41.6k
    ++YYCURSOR;
5322
41.6k
    YYFILL(1);
5323
41.6k
    yych = *YYCURSOR;
5324
41.6k
    YYDEBUG(356, *YYCURSOR);
5325
41.6k
    if (yybm[0+yych] & 64) {
5326
3.72k
      goto yy355;
5327
3.72k
    }
5328
37.9k
    if (yych <= 0x00) goto yy86;
5329
37.4k
    if (yych == '/') goto yy84;
5330
11.1k
    goto yy230;
5331
13.2k
yy357:
5332
13.2k
    YYDEBUG(357, *YYCURSOR);
5333
13.2k
    yych = *++YYCURSOR;
5334
13.2k
    if (yych == 'A') goto yy445;
5335
12.6k
    if (yych == 'a') goto yy445;
5336
1.73k
    goto yy86;
5337
2.59k
yy358:
5338
2.59k
    YYDEBUG(358, *YYCURSOR);
5339
2.59k
    yych = *++YYCURSOR;
5340
2.59k
    if (yych == 'A') goto yy446;
5341
1.51k
    if (yych == 'a') goto yy446;
5342
403
    goto yy86;
5343
4.53k
yy359:
5344
4.53k
    YYDEBUG(359, *YYCURSOR);
5345
4.53k
    yych = *++YYCURSOR;
5346
4.53k
    if (yych == 'L') goto yy447;
5347
4.22k
    if (yych == 'l') goto yy447;
5348
1.46k
    goto yy86;
5349
3.25k
yy360:
5350
3.25k
    YYDEBUG(360, *YYCURSOR);
5351
3.25k
    yych = *++YYCURSOR;
5352
3.25k
    if (yych == 'B') goto yy448;
5353
2.98k
    if (yych == 'b') goto yy448;
5354
724
    goto yy86;
5355
3.00k
yy361:
5356
3.00k
    YYDEBUG(361, *YYCURSOR);
5357
3.00k
    yych = *++YYCURSOR;
5358
3.00k
    if (yych == 'A') goto yy449;
5359
2.76k
    if (yych == 'a') goto yy449;
5360
496
    goto yy86;
5361
7.97k
yy362:
5362
7.97k
    YYDEBUG(362, *YYCURSOR);
5363
7.97k
    yych = *++YYCURSOR;
5364
7.97k
    if (yych == 'E') goto yy454;
5365
7.65k
    if (yych == 'e') goto yy454;
5366
5.19k
    goto yy451;
5367
5.19k
yy363:
5368
5.04k
    YYDEBUG(363, *YYCURSOR);
5369
5.04k
    yych = *++YYCURSOR;
5370
5.04k
    if (yych == 'E') goto yy455;
5371
4.70k
    if (yych == 'e') goto yy455;
5372
1.87k
    goto yy86;
5373
1.87k
yy364:
5374
1.84k
    YYDEBUG(364, *YYCURSOR);
5375
1.84k
    yych = *++YYCURSOR;
5376
1.84k
    if (yych == 'L') goto yy456;
5377
1.34k
    if (yych == 'l') goto yy456;
5378
902
    goto yy86;
5379
17.1k
yy365:
5380
17.1k
    YYDEBUG(365, *YYCURSOR);
5381
17.1k
    yych = *++YYCURSOR;
5382
17.1k
    if (yych == 'I') goto yy458;
5383
16.7k
    if (yych == 'i') goto yy458;
5384
2.93k
    goto yy86;
5385
2.96k
yy366:
5386
2.96k
    YYDEBUG(366, *YYCURSOR);
5387
2.96k
    yych = *++YYCURSOR;
5388
2.96k
    if (yych == 'E') goto yy459;
5389
2.87k
    if (yych == 'e') goto yy459;
5390
395
    goto yy86;
5391
1.74k
yy367:
5392
1.74k
    YYDEBUG(367, *YYCURSOR);
5393
1.74k
    yych = *++YYCURSOR;
5394
1.74k
    if (yych == 'D') goto yy460;
5395
1.25k
    if (yych == 'd') goto yy460;
5396
251
    goto yy86;
5397
16.0k
yy368:
5398
16.0k
    YYDEBUG(368, *YYCURSOR);
5399
16.0k
    ++YYCURSOR;
5400
16.0k
    YYFILL(1);
5401
16.0k
    yych = *YYCURSOR;
5402
16.0k
    YYDEBUG(369, *YYCURSOR);
5403
16.0k
    if (yych <= '\f') {
5404
3.91k
      if (yych <= 0x08) goto yy129;
5405
3.66k
      if (yych <= '\n') goto yy368;
5406
406
      goto yy129;
5407
12.1k
    } else {
5408
12.1k
      if (yych <= '\r') goto yy368;
5409
11.2k
      if (yych == ' ') goto yy368;
5410
6.47k
      goto yy129;
5411
11.2k
    }
5412
2.85k
yy370:
5413
2.85k
    YYDEBUG(370, *YYCURSOR);
5414
2.85k
    yych = *++YYCURSOR;
5415
2.85k
    if (yych == '"') goto yy86;
5416
2.71k
    if (yych <= '/') goto yy463;
5417
2.00k
    if (yych <= '9') goto yy86;
5418
1.75k
    goto yy463;
5419
11.9k
yy371:
5420
11.9k
    YYDEBUG(371, *YYCURSOR);
5421
11.9k
    yych = *++YYCURSOR;
5422
11.9k
    if (yych == '\'') goto yy86;
5423
11.6k
    if (yych <= '/') goto yy465;
5424
11.0k
    if (yych <= '9') goto yy86;
5425
10.7k
    goto yy465;
5426
4.41M
yy372:
5427
4.41M
    YYDEBUG(372, *YYCURSOR);
5428
4.41M
    ++YYCURSOR;
5429
4.41M
    YYFILL(2);
5430
4.41M
    yych = *YYCURSOR;
5431
4.41M
    YYDEBUG(373, *YYCURSOR);
5432
4.41M
    if (yych <= '@') {
5433
3.07M
      if (yych <= '\f') {
5434
2.88M
        if (yych == '\n') goto yy466;
5435
35.3k
        goto yy86;
5436
2.88M
      } else {
5437
186k
        if (yych <= '\r') goto yy468;
5438
174k
        if (yych <= '/') goto yy86;
5439
116k
        if (yych <= '9') goto yy372;
5440
34.3k
        goto yy86;
5441
116k
      }
5442
3.07M
    } else {
5443
1.34M
      if (yych <= '_') {
5444
229k
        if (yych <= 'Z') goto yy372;
5445
21.4k
        if (yych <= '^') goto yy86;
5446
14.1k
        goto yy372;
5447
1.11M
      } else {
5448
1.11M
        if (yych <= '`') goto yy86;
5449
1.11M
        if (yych <= 'z') goto yy372;
5450
684k
        if (yych <= 0x7F) goto yy86;
5451
675k
        goto yy372;
5452
684k
      }
5453
1.34M
    }
5454
7.52k
yy374:
5455
7.52k
    YYDEBUG(374, *YYCURSOR);
5456
7.52k
    yyaccept = 4;
5457
7.52k
    yych = *(YYMARKER = ++YYCURSOR);
5458
7.52k
    if (yych == 'R') goto yy469;
5459
6.50k
    if (yych == 'r') goto yy469;
5460
467
    goto yy48;
5461
33.0k
yy375:
5462
33.0k
    YYDEBUG(375, *YYCURSOR);
5463
33.0k
    yyaccept = 4;
5464
33.0k
    yych = *(YYMARKER = ++YYCURSOR);
5465
33.0k
    if (yych == 'Y') goto yy470;
5466
32.2k
    if (yych == 'y') goto yy470;
5467
1.77k
    goto yy48;
5468
4.80k
yy376:
5469
4.80k
    YYDEBUG(376, *YYCURSOR);
5470
4.80k
    yyaccept = 4;
5471
4.80k
    yych = *(YYMARKER = ++YYCURSOR);
5472
4.80k
    if (yych == 'K') goto yy472;
5473
4.00k
    if (yych == 'k') goto yy472;
5474
1.06k
    goto yy48;
5475
16.0k
yy377:
5476
16.0k
    YYDEBUG(377, *YYCURSOR);
5477
16.0k
    yyaccept = 4;
5478
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
5479
16.0k
    if (yych == 'A') goto yy474;
5480
14.9k
    if (yych == 'a') goto yy474;
5481
11.9k
    goto yy48;
5482
11.9k
yy378:
5483
10.0k
    YYDEBUG(378, *YYCURSOR);
5484
10.0k
    yyaccept = 27;
5485
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
5486
10.0k
    if (yybm[256+yych] & 128) {
5487
728
      goto yy47;
5488
728
    }
5489
9.30k
    if (yych == '\\') goto yy164;
5490
9.30k
yy379:
5491
9.30k
    YYDEBUG(379, *YYCURSOR);
5492
9.30k
    yyleng = YYCURSOR - SCNG(yy_text);
5493
9.30k
#line 1556 "Zend/zend_language_scanner.l"
5494
9.30k
    {
5495
9.30k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5496
9.30k
}
5497
0
#line 5498 "Zend/zend_language_scanner.c"
5498
43.9k
yy380:
5499
43.9k
    YYDEBUG(380, *YYCURSOR);
5500
43.9k
    yyaccept = 4;
5501
43.9k
    yych = *(YYMARKER = ++YYCURSOR);
5502
43.9k
    if (yych == 'H') goto yy475;
5503
43.3k
    if (yych == 'h') goto yy475;
5504
1.05k
    goto yy48;
5505
89.6k
yy381:
5506
89.6k
    YYDEBUG(381, *YYCURSOR);
5507
89.6k
    yyaccept = 4;
5508
89.6k
    yych = *(YYMARKER = ++YYCURSOR);
5509
89.6k
    if (yych == 'S') goto yy477;
5510
87.8k
    if (yych == 's') goto yy477;
5511
822
    goto yy48;
5512
6.28k
yy382:
5513
6.28k
    YYDEBUG(382, *YYCURSOR);
5514
6.28k
    yyaccept = 4;
5515
6.28k
    yych = *(YYMARKER = ++YYCURSOR);
5516
6.28k
    if (yych == 'E') goto yy479;
5517
5.38k
    if (yych == 'e') goto yy479;
5518
433
    goto yy48;
5519
44.9k
yy383:
5520
44.9k
    YYDEBUG(383, *YYCURSOR);
5521
44.9k
    yyaccept = 4;
5522
44.9k
    yych = *(YYMARKER = ++YYCURSOR);
5523
44.9k
    if (yych == 'T') goto yy481;
5524
42.3k
    if (yych == 't') goto yy481;
5525
3.41k
    goto yy48;
5526
7.42k
yy384:
5527
7.42k
    YYDEBUG(384, *YYCURSOR);
5528
7.42k
    yyaccept = 4;
5529
7.42k
    yych = *(YYMARKER = ++YYCURSOR);
5530
7.42k
    if (yych == 'I') goto yy483;
5531
6.14k
    if (yych == 'i') goto yy483;
5532
2.39k
    goto yy48;
5533
9.75k
yy385:
5534
9.75k
    YYDEBUG(385, *YYCURSOR);
5535
9.75k
    yyaccept = 4;
5536
9.75k
    yych = *(YYMARKER = ++YYCURSOR);
5537
9.75k
    if (yych == 'A') goto yy484;
5538
9.00k
    if (yych == 'a') goto yy484;
5539
331
    goto yy48;
5540
4.12k
yy386:
5541
4.12k
    YYDEBUG(386, *YYCURSOR);
5542
4.12k
    yyaccept = 4;
5543
4.12k
    yych = *(YYMARKER = ++YYCURSOR);
5544
4.12k
    if (yych == 'U') goto yy485;
5545
3.68k
    if (yych == 'u') goto yy485;
5546
540
    goto yy48;
5547
102k
yy387:
5548
102k
    YYDEBUG(387, *YYCURSOR);
5549
102k
    yyaccept = 28;
5550
102k
    yych = *(YYMARKER = ++YYCURSOR);
5551
102k
    if (yybm[256+yych] & 128) {
5552
1.33k
      goto yy47;
5553
1.33k
    }
5554
100k
    if (yych == '\\') goto yy164;
5555
100k
yy388:
5556
100k
    YYDEBUG(388, *YYCURSOR);
5557
100k
    yyleng = YYCURSOR - SCNG(yy_text);
5558
100k
#line 1576 "Zend/zend_language_scanner.l"
5559
100k
    {
5560
100k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5561
100k
}
5562
0
#line 5563 "Zend/zend_language_scanner.c"
5563
12.2k
yy389:
5564
12.2k
    YYDEBUG(389, *YYCURSOR);
5565
12.2k
    yyaccept = 29;
5566
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5567
12.2k
    if (yych <= '\\') {
5568
7.51k
      if (yych <= 'H') {
5569
5.25k
        if (yych <= '/') goto yy390;
5570
1.75k
        if (yych <= '9') goto yy47;
5571
1.40k
        if (yych >= 'A') goto yy47;
5572
2.26k
      } else {
5573
2.26k
        if (yych <= 'I') goto yy486;
5574
1.75k
        if (yych <= 'Z') goto yy47;
5575
1.00k
        if (yych >= '\\') goto yy164;
5576
1.00k
      }
5577
7.51k
    } else {
5578
4.68k
      if (yych <= 'h') {
5579
770
        if (yych == '_') goto yy47;
5580
461
        if (yych >= 'a') goto yy47;
5581
3.91k
      } else {
5582
3.91k
        if (yych <= 'i') goto yy486;
5583
981
        if (yych <= 'z') goto yy47;
5584
640
        if (yych >= 0x80) goto yy47;
5585
640
      }
5586
4.68k
    }
5587
6.21k
yy390:
5588
6.21k
    YYDEBUG(390, *YYCURSOR);
5589
6.21k
    yyleng = YYCURSOR - SCNG(yy_text);
5590
6.21k
#line 1496 "Zend/zend_language_scanner.l"
5591
6.21k
    {
5592
6.21k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5593
6.21k
}
5594
0
#line 5595 "Zend/zend_language_scanner.c"
5595
5.89k
yy391:
5596
5.89k
    YYDEBUG(391, *YYCURSOR);
5597
5.89k
    yyaccept = 4;
5598
5.89k
    yych = *(YYMARKER = ++YYCURSOR);
5599
5.89k
    if (yych == 'Y') goto yy487;
5600
3.88k
    if (yych == 'y') goto yy487;
5601
352
    goto yy48;
5602
5.66k
yy392:
5603
5.66k
    YYDEBUG(392, *YYCURSOR);
5604
5.66k
    yyaccept = 4;
5605
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
5606
5.66k
    if (yych == 'E') goto yy489;
5607
4.69k
    if (yych == 'e') goto yy489;
5608
777
    goto yy48;
5609
10.9k
yy393:
5610
10.9k
    YYDEBUG(393, *YYCURSOR);
5611
10.9k
    yyaccept = 4;
5612
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
5613
10.9k
    if (yych == 'O') goto yy490;
5614
7.70k
    if (yych == 'o') goto yy490;
5615
863
    goto yy48;
5616
7.45k
yy394:
5617
7.45k
    YYDEBUG(394, *YYCURSOR);
5618
7.45k
    yyaccept = 4;
5619
7.45k
    yych = *(YYMARKER = ++YYCURSOR);
5620
7.45k
    if (yych == 'F') goto yy491;
5621
4.29k
    if (yych == 'f') goto yy491;
5622
745
    goto yy48;
5623
6.49k
yy395:
5624
6.49k
    YYDEBUG(395, *YYCURSOR);
5625
6.49k
    yyaccept = 4;
5626
6.49k
    yych = *(YYMARKER = ++YYCURSOR);
5627
6.49k
    if (yych == 'W') goto yy493;
5628
5.56k
    if (yych == 'w') goto yy493;
5629
3.44k
    goto yy48;
5630
9.46k
yy396:
5631
9.46k
    YYDEBUG(396, *YYCURSOR);
5632
9.46k
    yyaccept = 4;
5633
9.46k
    yych = *(YYMARKER = ++YYCURSOR);
5634
9.46k
    if (yych == 'H') goto yy494;
5635
7.08k
    if (yych == 'h') goto yy494;
5636
2.10k
    goto yy48;
5637
152k
yy397:
5638
152k
    YYDEBUG(397, *YYCURSOR);
5639
152k
    yyaccept = 4;
5640
152k
    yych = *(YYMARKER = ++YYCURSOR);
5641
152k
    if (yych <= 0x1F) {
5642
126k
      if (yych <= '\n') {
5643
4.18k
        if (yych <= 0x08) goto yy48;
5644
3.55k
        goto yy495;
5645
122k
      } else {
5646
122k
        if (yych == '\r') goto yy495;
5647
809
        goto yy48;
5648
122k
      }
5649
126k
    } else {
5650
25.3k
      if (yych <= '#') {
5651
14.5k
        if (yych <= ' ') goto yy495;
5652
7.89k
        if (yych <= '"') goto yy48;
5653
7.39k
        goto yy497;
5654
10.7k
      } else {
5655
10.7k
        if (yych == '/') goto yy498;
5656
9.75k
        goto yy48;
5657
10.7k
      }
5658
25.3k
    }
5659
5.51k
yy398:
5660
5.51k
    YYDEBUG(398, *YYCURSOR);
5661
5.51k
    yyaccept = 30;
5662
5.51k
    yych = *(YYMARKER = ++YYCURSOR);
5663
5.51k
    if (yybm[256+yych] & 128) {
5664
1.51k
      goto yy47;
5665
1.51k
    }
5666
4.00k
    if (yych == '\\') goto yy164;
5667
3.99k
yy399:
5668
3.99k
    YYDEBUG(399, *YYCURSOR);
5669
3.99k
    yyleng = YYCURSOR - SCNG(yy_text);
5670
3.99k
#line 1748 "Zend/zend_language_scanner.l"
5671
3.99k
    {
5672
3.99k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5673
3.99k
}
5674
0
#line 5675 "Zend/zend_language_scanner.c"
5675
2.19k
yy400:
5676
2.19k
    YYDEBUG(400, *YYCURSOR);
5677
2.19k
    yyaccept = 31;
5678
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
5679
2.19k
    if (yybm[256+yych] & 128) {
5680
131
      goto yy47;
5681
131
    }
5682
2.06k
    if (yych == '\\') goto yy164;
5683
2.06k
yy401:
5684
2.06k
    YYDEBUG(401, *YYCURSOR);
5685
2.06k
    yyleng = YYCURSOR - SCNG(yy_text);
5686
2.06k
#line 1429 "Zend/zend_language_scanner.l"
5687
2.06k
    {
5688
2.06k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5689
2.06k
}
5690
0
#line 5691 "Zend/zend_language_scanner.c"
5691
22.0k
yy402:
5692
22.0k
    YYDEBUG(402, *YYCURSOR);
5693
22.0k
    yyaccept = 4;
5694
22.0k
    yych = *(YYMARKER = ++YYCURSOR);
5695
22.0k
    if (yych == 'N') goto yy499;
5696
20.8k
    if (yych == 'n') goto yy499;
5697
1.95k
    goto yy48;
5698
12.7k
yy403:
5699
12.7k
    YYDEBUG(403, *YYCURSOR);
5700
12.7k
    yyaccept = 4;
5701
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5702
12.7k
    if (yych == 'L') goto yy500;
5703
12.2k
    if (yych == 'l') goto yy500;
5704
434
    goto yy48;
5705
28.2k
yy404:
5706
28.2k
    YYDEBUG(404, *YYCURSOR);
5707
28.2k
    yyaccept = 4;
5708
28.2k
    yych = *(YYMARKER = ++YYCURSOR);
5709
28.2k
    if (yych == 'A') goto yy502;
5710
27.9k
    if (yych == 'a') goto yy502;
5711
2.07k
    goto yy48;
5712
123k
yy405:
5713
123k
    YYDEBUG(405, *YYCURSOR);
5714
123k
    yyaccept = 4;
5715
123k
    yych = *(YYMARKER = ++YYCURSOR);
5716
123k
    if (yych == 'T') goto yy503;
5717
121k
    if (yych == 't') goto yy503;
5718
7.35k
    goto yy48;
5719
7.66k
yy406:
5720
7.66k
    YYDEBUG(406, *YYCURSOR);
5721
7.66k
    yyaccept = 4;
5722
7.66k
    yych = *(YYMARKER = ++YYCURSOR);
5723
7.66k
    if (yych == 'A') goto yy504;
5724
5.52k
    if (yych == 'a') goto yy504;
5725
1.03k
    goto yy48;
5726
4.92k
yy407:
5727
4.92k
    YYDEBUG(407, *YYCURSOR);
5728
4.92k
    yyaccept = 32;
5729
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
5730
4.92k
    if (yybm[256+yych] & 128) {
5731
439
      goto yy47;
5732
439
    }
5733
4.48k
    if (yych == '\\') goto yy164;
5734
4.36k
yy408:
5735
4.36k
    YYDEBUG(408, *YYCURSOR);
5736
4.36k
    yyleng = YYCURSOR - SCNG(yy_text);
5737
4.36k
#line 1572 "Zend/zend_language_scanner.l"
5738
4.36k
    {
5739
4.36k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5740
4.36k
}
5741
0
#line 5742 "Zend/zend_language_scanner.c"
5742
24.7k
yy409:
5743
24.7k
    YYDEBUG(409, *YYCURSOR);
5744
24.7k
    yyaccept = 4;
5745
24.7k
    yych = *(YYMARKER = ++YYCURSOR);
5746
24.7k
    if (yych == 'E') goto yy505;
5747
19.0k
    if (yych == 'e') goto yy505;
5748
2.95k
    goto yy48;
5749
11.0k
yy410:
5750
11.0k
    YYDEBUG(410, *YYCURSOR);
5751
11.0k
    yyaccept = 4;
5752
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5753
11.0k
    if (yych == 'U') goto yy506;
5754
8.71k
    if (yych == 'u') goto yy506;
5755
680
    goto yy48;
5756
14.7k
yy411:
5757
14.7k
    YYDEBUG(411, *YYCURSOR);
5758
14.7k
    yyaccept = 4;
5759
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
5760
14.7k
    if (yych <= 'E') {
5761
3.16k
      if (yych == 'A') goto yy507;
5762
1.42k
      if (yych <= 'D') goto yy48;
5763
953
      goto yy508;
5764
11.5k
    } else {
5765
11.5k
      if (yych <= 'a') {
5766
4.05k
        if (yych <= '`') goto yy48;
5767
3.63k
        goto yy507;
5768
7.53k
      } else {
5769
7.53k
        if (yych == 'e') goto yy508;
5770
222
        goto yy48;
5771
7.53k
      }
5772
11.5k
    }
5773
10.9k
yy412:
5774
10.9k
    YYDEBUG(412, *YYCURSOR);
5775
10.9k
    yyaccept = 4;
5776
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
5777
10.9k
    if (yych == 'R') goto yy509;
5778
9.86k
    if (yych == 'r') goto yy509;
5779
2.94k
    goto yy48;
5780
17.0k
yy413:
5781
17.0k
    YYDEBUG(413, *YYCURSOR);
5782
17.0k
    yyaccept = 4;
5783
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
5784
17.0k
    if (yych == 'T') goto yy510;
5785
16.7k
    if (yych == 't') goto yy510;
5786
280
    goto yy48;
5787
4.79k
yy414:
5788
4.79k
    YYDEBUG(414, *YYCURSOR);
5789
4.79k
    yyaccept = 33;
5790
4.79k
    yych = *(YYMARKER = ++YYCURSOR);
5791
4.79k
    if (yybm[256+yych] & 128) {
5792
482
      goto yy47;
5793
482
    }
5794
4.30k
    if (yych == '\\') goto yy164;
5795
4.17k
yy415:
5796
4.17k
    YYDEBUG(415, *YYCURSOR);
5797
4.17k
    yyleng = YYCURSOR - SCNG(yy_text);
5798
4.17k
#line 1844 "Zend/zend_language_scanner.l"
5799
4.17k
    {
5800
4.17k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5801
4.17k
}
5802
0
#line 5803 "Zend/zend_language_scanner.c"
5803
4.68k
yy416:
5804
4.68k
    YYDEBUG(416, *YYCURSOR);
5805
4.68k
    yyaccept = 4;
5806
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
5807
4.68k
    if (yych == 'H') goto yy512;
5808
4.58k
    if (yych == 'h') goto yy512;
5809
718
    goto yy48;
5810
22.9k
yy417:
5811
22.9k
    YYDEBUG(417, *YYCURSOR);
5812
22.9k
    yyaccept = 4;
5813
22.9k
    yych = *(YYMARKER = ++YYCURSOR);
5814
22.9k
    if (yych == 'S') goto yy514;
5815
20.3k
    if (yych == 's') goto yy514;
5816
1.87k
    goto yy48;
5817
16.8k
yy418:
5818
16.8k
    YYDEBUG(418, *YYCURSOR);
5819
16.8k
    yyaccept = 4;
5820
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
5821
16.8k
    if (yych == 'T') goto yy515;
5822
16.2k
    if (yych == 't') goto yy515;
5823
609
    goto yy48;
5824
15.4k
yy419:
5825
15.4k
    YYDEBUG(419, *YYCURSOR);
5826
15.4k
    yyaccept = 4;
5827
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
5828
15.4k
    if (yych == 'A') goto yy517;
5829
14.2k
    if (yych == 'a') goto yy517;
5830
817
    goto yy48;
5831
13.4k
yy420:
5832
13.4k
    YYDEBUG(420, *YYCURSOR);
5833
13.4k
    yyaccept = 4;
5834
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
5835
13.4k
    if (yych == 'E') goto yy518;
5836
12.2k
    if (yych == 'e') goto yy518;
5837
905
    goto yy48;
5838
72.5k
yy421:
5839
72.5k
    YYDEBUG(421, *YYCURSOR);
5840
72.5k
    yyaccept = 4;
5841
72.5k
    yych = *(YYMARKER = ++YYCURSOR);
5842
72.5k
    if (yych == 'I') goto yy519;
5843
71.4k
    if (yych == 'i') goto yy519;
5844
1.16k
    goto yy48;
5845
8.14k
yy422:
5846
8.14k
    YYDEBUG(422, *YYCURSOR);
5847
8.14k
    yyaccept = 4;
5848
8.14k
    yych = *(YYMARKER = ++YYCURSOR);
5849
8.14k
    if (yych == 'O') goto yy520;
5850
7.81k
    if (yych == 'o') goto yy520;
5851
1.11k
    goto yy48;
5852
24.6k
yy423:
5853
24.6k
    YYDEBUG(423, *YYCURSOR);
5854
24.6k
    yyaccept = 4;
5855
24.6k
    yych = *(YYMARKER = ++YYCURSOR);
5856
24.6k
    if (yych == 'I') goto yy521;
5857
23.2k
    if (yych == 'i') goto yy521;
5858
680
    goto yy48;
5859
32.7k
yy424:
5860
32.7k
    YYDEBUG(424, *YYCURSOR);
5861
32.7k
    yyaccept = 4;
5862
32.7k
    yych = *(YYMARKER = ++YYCURSOR);
5863
32.7k
    if (yych == 'R') goto yy522;
5864
32.2k
    if (yych == 'r') goto yy522;
5865
584
    goto yy48;
5866
21.6k
yy425:
5867
21.6k
    YYDEBUG(425, *YYCURSOR);
5868
21.6k
    yyaccept = 4;
5869
21.6k
    yych = *(YYMARKER = ++YYCURSOR);
5870
21.6k
    if (yych == 'I') goto yy523;
5871
20.8k
    if (yych == 'i') goto yy523;
5872
1.27k
    goto yy48;
5873
7.87k
yy426:
5874
7.87k
    YYDEBUG(426, *YYCURSOR);
5875
7.87k
    yyaccept = 4;
5876
7.87k
    yych = *(YYMARKER = ++YYCURSOR);
5877
7.87k
    if (yych == 'C') goto yy524;
5878
7.55k
    if (yych == 'c') goto yy524;
5879
1.21k
    goto yy48;
5880
11.8k
yy427:
5881
11.8k
    YYDEBUG(427, *YYCURSOR);
5882
11.8k
    yyaccept = 4;
5883
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5884
11.8k
    if (yych == 'W') goto yy525;
5885
10.8k
    if (yych == 'w') goto yy525;
5886
1.19k
    goto yy48;
5887
11.1k
yy428:
5888
11.1k
    YYDEBUG(428, *YYCURSOR);
5889
11.1k
    yyaccept = 4;
5890
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
5891
11.1k
    if (yych == 'T') goto yy527;
5892
10.2k
    if (yych == 't') goto yy527;
5893
1.91k
    goto yy48;
5894
16.6k
yy429:
5895
16.6k
    YYDEBUG(429, *YYCURSOR);
5896
16.6k
    yyaccept = 4;
5897
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
5898
16.6k
    if (yych == 'T') goto yy529;
5899
15.5k
    if (yych == 't') goto yy529;
5900
5.52k
    goto yy48;
5901
5.52k
yy430:
5902
4.62k
    YYDEBUG(430, *YYCURSOR);
5903
4.62k
    yyaccept = 4;
5904
4.62k
    yych = *(YYMARKER = ++YYCURSOR);
5905
4.62k
    if (yych == 'E') goto yy531;
5906
4.19k
    if (yych == 'e') goto yy531;
5907
511
    goto yy48;
5908
80.6k
yy431:
5909
80.6k
    YYDEBUG(431, *YYCURSOR);
5910
80.6k
    yyaccept = 4;
5911
80.6k
    yych = *(YYMARKER = ++YYCURSOR);
5912
80.6k
    if (yych == 'D') goto yy533;
5913
78.8k
    if (yych == 'd') goto yy533;
5914
3.17k
    goto yy48;
5915
9.60k
yy432:
5916
9.60k
    YYDEBUG(432, *YYCURSOR);
5917
9.60k
    yyaccept = 4;
5918
9.60k
    yych = *(YYMARKER = ++YYCURSOR);
5919
9.60k
    if (yych == 'A') goto yy535;
5920
7.49k
    if (yych == 'a') goto yy535;
5921
1.38k
    goto yy48;
5922
5.72k
yy433:
5923
5.72k
    YYDEBUG(433, *YYCURSOR);
5924
5.72k
    yyaccept = 4;
5925
5.72k
    yych = *(YYMARKER = ++YYCURSOR);
5926
5.72k
    if (yych == 'R') goto yy536;
5927
2.88k
    if (yych == 'r') goto yy536;
5928
727
    goto yy48;
5929
12.2k
yy434:
5930
12.2k
    YYDEBUG(434, *YYCURSOR);
5931
12.2k
    yyaccept = 4;
5932
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5933
12.2k
    if (yych == 'L') goto yy537;
5934
3.90k
    if (yych == 'l') goto yy537;
5935
1.12k
    goto yy48;
5936
8.56k
yy435:
5937
8.56k
    YYDEBUG(435, *YYCURSOR);
5938
8.56k
    yyaccept = 4;
5939
8.56k
    yych = *(YYMARKER = ++YYCURSOR);
5940
8.56k
    if (yych == 'N') goto yy538;
5941
4.60k
    if (yych == 'n') goto yy538;
5942
610
    goto yy48;
5943
6.32k
yy436:
5944
6.32k
    YYDEBUG(436, *YYCURSOR);
5945
6.32k
    yyaccept = 4;
5946
6.32k
    yych = *(YYMARKER = ++YYCURSOR);
5947
6.32k
    if (yych == 'L') goto yy539;
5948
3.60k
    if (yych == 'l') goto yy539;
5949
470
    goto yy48;
5950
4.19k
yy437:
5951
4.19k
    YYDEBUG(437, *YYCURSOR);
5952
4.19k
    yyaccept = 4;
5953
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
5954
4.19k
    if (yych == 'N') goto yy540;
5955
2.68k
    if (yych == 'n') goto yy540;
5956
451
    goto yy48;
5957
15.4k
yy438:
5958
15.4k
    YYDEBUG(438, *YYCURSOR);
5959
15.4k
    yyaccept = 4;
5960
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
5961
15.4k
    if (yych == 'T') goto yy541;
5962
6.54k
    if (yych == 't') goto yy541;
5963
1.26k
    goto yy48;
5964
10.3k
yy439:
5965
10.3k
    YYDEBUG(439, *YYCURSOR);
5966
10.3k
    yyaccept = 4;
5967
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
5968
10.3k
    if (yych == 'M') goto yy542;
5969
5.21k
    if (yych == 'm') goto yy542;
5970
447
    goto yy48;
5971
3.57k
yy440:
5972
3.57k
    YYDEBUG(440, *YYCURSOR);
5973
3.57k
    yyaccept = 4;
5974
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
5975
3.57k
    if (yych == 'O') goto yy543;
5976
1.12k
    if (yych == 'o') goto yy543;
5977
355
    goto yy48;
5978
5.72k
yy441:
5979
5.72k
    YYDEBUG(441, *YYCURSOR);
5980
5.72k
    yyaccept = 4;
5981
5.72k
    yych = *(YYMARKER = ++YYCURSOR);
5982
5.72k
    if (yych == 'A') goto yy544;
5983
3.99k
    if (yych == 'a') goto yy544;
5984
570
    goto yy48;
5985
4.24k
yy442:
5986
4.24k
    YYDEBUG(442, *YYCURSOR);
5987
4.24k
    ++YYCURSOR;
5988
4.24k
    YYFILL(1);
5989
4.24k
    yych = *YYCURSOR;
5990
4.24k
    if (yych <= '\f') {
5991
496
      if (yych <= 0x00) goto yy86;
5992
301
      if (yych == '\n') goto yy84;
5993
207
      goto yy225;
5994
3.74k
    } else {
5995
3.74k
      if (yych <= '\r') goto yy84;
5996
3.51k
      if (yych == '.') goto yy352;
5997
2.17k
      goto yy225;
5998
3.51k
    }
5999
962k
yy443:
6000
962k
    YYDEBUG(443, *YYCURSOR);
6001
962k
    ++YYCURSOR;
6002
962k
    YYFILL(1);
6003
962k
    yych = *YYCURSOR;
6004
962k
    YYDEBUG(444, *YYCURSOR);
6005
962k
    if (yybm[0+yych] & 128) {
6006
808k
      goto yy443;
6007
808k
    }
6008
153k
    if (yych <= 0x00) goto yy86;
6009
149k
    if (yych <= '\r') goto yy545;
6010
28.4k
    goto yy547;
6011
28.4k
yy445:
6012
11.5k
    YYDEBUG(445, *YYCURSOR);
6013
11.5k
    yych = *++YYCURSOR;
6014
11.5k
    if (yych == 'Y') goto yy549;
6015
10.6k
    if (yych == 'y') goto yy549;
6016
621
    goto yy86;
6017
2.18k
yy446:
6018
2.18k
    YYDEBUG(446, *YYCURSOR);
6019
2.18k
    yych = *++YYCURSOR;
6020
2.18k
    if (yych == 'R') goto yy551;
6021
1.89k
    if (yych == 'r') goto yy551;
6022
681
    goto yy86;
6023
3.06k
yy447:
6024
3.06k
    YYDEBUG(447, *YYCURSOR);
6025
3.06k
    yych = *++YYCURSOR;
6026
3.06k
    if (yych == 'E') goto yy556;
6027
2.35k
    if (yych == 'e') goto yy556;
6028
1.60k
    goto yy553;
6029
2.53k
yy448:
6030
2.53k
    YYDEBUG(448, *YYCURSOR);
6031
2.53k
    yych = *++YYCURSOR;
6032
2.53k
    if (yych == 'L') goto yy557;
6033
2.46k
    if (yych == 'l') goto yy557;
6034
650
    goto yy86;
6035
2.50k
yy449:
6036
2.50k
    YYDEBUG(449, *YYCURSOR);
6037
2.50k
    yych = *++YYCURSOR;
6038
2.50k
    if (yych == 'T') goto yy558;
6039
2.20k
    if (yych == 't') goto yy558;
6040
240
    goto yy86;
6041
2.80k
yy450:
6042
2.80k
    YYDEBUG(450, *YYCURSOR);
6043
2.80k
    ++YYCURSOR;
6044
2.80k
    YYFILL(1);
6045
2.80k
    yych = *YYCURSOR;
6046
8.00k
yy451:
6047
8.00k
    YYDEBUG(451, *YYCURSOR);
6048
8.00k
    if (yych <= 0x1F) {
6049
99
      if (yych == '\t') goto yy450;
6050
47
      goto yy86;
6051
7.90k
    } else {
6052
7.90k
      if (yych <= ' ') goto yy450;
6053
5.14k
      if (yych != ')') goto yy86;
6054
5.14k
    }
6055
2.15k
    YYDEBUG(452, *YYCURSOR);
6056
2.15k
    ++YYCURSOR;
6057
2.15k
    YYDEBUG(453, *YYCURSOR);
6058
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
6059
2.15k
#line 1668 "Zend/zend_language_scanner.l"
6060
2.15k
    {
6061
2.15k
  RETURN_TOKEN(T_INT_CAST);
6062
2.15k
}
6063
0
#line 6064 "Zend/zend_language_scanner.c"
6064
2.78k
yy454:
6065
2.78k
    YYDEBUG(454, *YYCURSOR);
6066
2.78k
    yych = *++YYCURSOR;
6067
2.78k
    if (yych == 'G') goto yy560;
6068
2.75k
    if (yych == 'g') goto yy560;
6069
876
    goto yy86;
6070
3.17k
yy455:
6071
3.17k
    YYDEBUG(455, *YYCURSOR);
6072
3.17k
    yych = *++YYCURSOR;
6073
3.17k
    if (yych == 'C') goto yy561;
6074
2.88k
    if (yych == 'c') goto yy561;
6075
399
    goto yy86;
6076
1.38k
yy456:
6077
1.38k
    YYDEBUG(456, *YYCURSOR);
6078
1.38k
    ++YYCURSOR;
6079
1.38k
    YYFILL(1);
6080
1.38k
    yych = *YYCURSOR;
6081
1.38k
    YYDEBUG(457, *YYCURSOR);
6082
1.38k
    if (yych <= 0x1F) {
6083
332
      if (yych == '\t') goto yy456;
6084
136
      goto yy86;
6085
1.05k
    } else {
6086
1.05k
      if (yych <= ' ') goto yy456;
6087
811
      if (yych == ')') goto yy562;
6088
463
      goto yy86;
6089
811
    }
6090
14.2k
yy458:
6091
14.2k
    YYDEBUG(458, *YYCURSOR);
6092
14.2k
    yych = *++YYCURSOR;
6093
14.2k
    if (yych == 'N') goto yy564;
6094
13.9k
    if (yych == 'n') goto yy564;
6095
2.89k
    goto yy86;
6096
2.89k
yy459:
6097
2.56k
    YYDEBUG(459, *YYCURSOR);
6098
2.56k
    yych = *++YYCURSOR;
6099
2.56k
    if (yych == 'T') goto yy565;
6100
2.01k
    if (yych == 't') goto yy565;
6101
984
    goto yy86;
6102
2.13k
yy460:
6103
2.13k
    YYDEBUG(460, *YYCURSOR);
6104
2.13k
    ++YYCURSOR;
6105
2.13k
    YYFILL(1);
6106
2.13k
    yych = *YYCURSOR;
6107
2.13k
    YYDEBUG(461, *YYCURSOR);
6108
2.13k
    if (yych <= 0x1F) {
6109
476
      if (yych == '\t') goto yy460;
6110
109
      goto yy86;
6111
1.66k
    } else {
6112
1.66k
      if (yych <= ' ') goto yy460;
6113
1.38k
      if (yych == ')') goto yy567;
6114
546
      goto yy86;
6115
1.38k
    }
6116
12.3k
yy462:
6117
12.3k
    YYDEBUG(462, *YYCURSOR);
6118
12.3k
    ++YYCURSOR;
6119
12.3k
    YYFILL(3);
6120
12.3k
    yych = *YYCURSOR;
6121
14.8k
yy463:
6122
14.8k
    YYDEBUG(463, *YYCURSOR);
6123
14.8k
    if (yych <= 'Z') {
6124
3.69k
      if (yych <= '/') {
6125
1.60k
        if (yych == '"') goto yy569;
6126
1.18k
        goto yy86;
6127
2.09k
      } else {
6128
2.09k
        if (yych <= '9') goto yy462;
6129
1.73k
        if (yych <= '@') goto yy86;
6130
1.59k
        goto yy462;
6131
1.73k
      }
6132
11.1k
    } else {
6133
11.1k
      if (yych <= '`') {
6134
963
        if (yych == '_') goto yy462;
6135
341
        goto yy86;
6136
10.1k
      } else {
6137
10.1k
        if (yych <= 'z') goto yy462;
6138
2.04k
        if (yych <= 0x7F) goto yy86;
6139
1.66k
        goto yy462;
6140
2.04k
      }
6141
11.1k
    }
6142
25.9k
yy464:
6143
25.9k
    YYDEBUG(464, *YYCURSOR);
6144
25.9k
    ++YYCURSOR;
6145
25.9k
    YYFILL(3);
6146
25.9k
    yych = *YYCURSOR;
6147
37.2k
yy465:
6148
37.2k
    YYDEBUG(465, *YYCURSOR);
6149
37.2k
    if (yych <= 'Z') {
6150
18.9k
      if (yych <= '/') {
6151
10.1k
        if (yych == '\'') goto yy569;
6152
787
        goto yy86;
6153
10.1k
      } else {
6154
8.80k
        if (yych <= '9') goto yy464;
6155
8.64k
        if (yych <= '@') goto yy86;
6156
8.15k
        goto yy464;
6157
8.64k
      }
6158
18.9k
    } else {
6159
18.3k
      if (yych <= '`') {
6160
932
        if (yych == '_') goto yy464;
6161
295
        goto yy86;
6162
17.4k
      } else {
6163
17.4k
        if (yych <= 'z') goto yy464;
6164
4.97k
        if (yych <= 0x7F) goto yy86;
6165
4.55k
        goto yy464;
6166
4.97k
      }
6167
18.3k
    }
6168
2.85M
yy466:
6169
2.85M
    YYDEBUG(466, *YYCURSOR);
6170
2.85M
    ++YYCURSOR;
6171
2.86M
yy467:
6172
2.86M
    YYDEBUG(467, *YYCURSOR);
6173
2.86M
    yyleng = YYCURSOR - SCNG(yy_text);
6174
2.86M
#line 2708 "Zend/zend_language_scanner.l"
6175
2.86M
    {
6176
2.86M
  char *s;
6177
2.86M
  unsigned char *saved_cursor;
6178
2.86M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6179
2.86M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6180
2.86M
  bool is_heredoc = 1;
6181
6182
2.86M
  CG(zend_lineno)++;
6183
2.86M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6184
2.86M
  s = yytext+bprefix+3;
6185
2.87M
  while ((*s == ' ') || (*s == '\t')) {
6186
7.58k
    s++;
6187
7.58k
    heredoc_label->length--;
6188
7.58k
  }
6189
6190
2.86M
  if (*s == '\'') {
6191
8.25k
    s++;
6192
8.25k
    heredoc_label->length -= 2;
6193
8.25k
    is_heredoc = 0;
6194
6195
8.25k
    BEGIN(ST_NOWDOC);
6196
2.86M
  } else {
6197
2.86M
    if (*s == '"') {
6198
337
      s++;
6199
337
      heredoc_label->length -= 2;
6200
337
    }
6201
6202
2.86M
    BEGIN(ST_HEREDOC);
6203
2.86M
  }
6204
6205
2.86M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6206
2.86M
  heredoc_label->indentation_uses_spaces = 0;
6207
2.86M
  heredoc_label->indentation = 0;
6208
2.86M
  saved_cursor = YYCURSOR;
6209
6210
2.86M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6211
6212
2.93M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6213
64.7k
    if (*YYCURSOR == '\t') {
6214
9.07k
      spacing |= HEREDOC_USING_TABS;
6215
55.7k
    } else {
6216
55.7k
      spacing |= HEREDOC_USING_SPACES;
6217
55.7k
    }
6218
64.7k
    ++YYCURSOR;
6219
64.7k
    ++indentation;
6220
64.7k
  }
6221
6222
2.86M
  if (YYCURSOR == YYLIMIT) {
6223
1.61k
    YYCURSOR = saved_cursor;
6224
1.61k
    RETURN_TOKEN(T_START_HEREDOC);
6225
1.61k
  }
6226
6227
  /* Check for ending label on the next line */
6228
2.86M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6229
6.01k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6230
2.67k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6231
197
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6232
197
        if (PARSER_MODE()) {
6233
8
          RETURN_TOKEN(T_ERROR);
6234
8
        }
6235
197
      }
6236
6237
2.66k
      YYCURSOR = saved_cursor;
6238
2.66k
      heredoc_label->indentation = indentation;
6239
6240
2.66k
      BEGIN(ST_END_HEREDOC);
6241
2.66k
      RETURN_TOKEN(T_START_HEREDOC);
6242
2.66k
    }
6243
6.01k
  }
6244
6245
2.86M
  YYCURSOR = saved_cursor;
6246
6247
2.86M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6248
149k
    zend_lex_state current_state;
6249
149k
    zend_string *saved_doc_comment = CG(doc_comment);
6250
149k
    int heredoc_nesting_level = 1;
6251
149k
    int first_token = 0;
6252
149k
    int error = 0;
6253
6254
149k
    zend_save_lexical_state(&current_state);
6255
6256
149k
    SCNG(heredoc_scan_ahead) = 1;
6257
149k
    SCNG(heredoc_indentation) = 0;
6258
149k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6259
149k
    SCNG(on_event_context) = NULL;
6260
149k
    LANG_SCNG(on_event) = NULL;
6261
149k
    CG(doc_comment) = NULL;
6262
6263
149k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6264
6265
149k
    zend_object *prev_exception = EG(exception);
6266
149k
    EG(exception) = NULL;
6267
19.7M
    while (heredoc_nesting_level) {
6268
19.7M
      zval zv;
6269
19.7M
      int retval;
6270
6271
19.7M
      ZVAL_UNDEF(&zv);
6272
19.7M
      retval = lex_scan(&zv, NULL);
6273
19.7M
      zval_ptr_dtor_nogc(&zv);
6274
6275
19.7M
      if (EG(exception)) {
6276
139k
        zend_clear_exception();
6277
139k
        break;
6278
139k
      }
6279
6280
19.5M
      if (!first_token) {
6281
149k
        first_token = retval;
6282
149k
      }
6283
6284
19.5M
      switch (retval) {
6285
2.71M
        case T_START_HEREDOC:
6286
2.71M
          ++heredoc_nesting_level;
6287
2.71M
          break;
6288
16.2k
        case T_END_HEREDOC:
6289
16.2k
          --heredoc_nesting_level;
6290
16.2k
          break;
6291
3.65k
        case END:
6292
3.65k
          heredoc_nesting_level = 0;
6293
19.5M
      }
6294
19.5M
    }
6295
149k
    EG(exception) = prev_exception;
6296
6297
149k
    if (
6298
149k
        (first_token == T_VARIABLE
6299
143k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6300
43.9k
         || first_token == T_CURLY_OPEN
6301
149k
        ) && SCNG(heredoc_indentation)) {
6302
22
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6303
22
      error = 1;
6304
22
    }
6305
6306
149k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6307
149k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6308
6309
149k
    zend_restore_lexical_state(&current_state);
6310
149k
    SCNG(heredoc_scan_ahead) = 0;
6311
149k
    CG(increment_lineno) = 0;
6312
149k
    CG(doc_comment) = saved_doc_comment;
6313
6314
149k
    if (PARSER_MODE() && error) {
6315
22
      RETURN_TOKEN(T_ERROR);
6316
22
    }
6317
149k
  }
6318
6319
2.86M
  RETURN_TOKEN(T_START_HEREDOC);
6320
2.86M
}
6321
0
#line 6322 "Zend/zend_language_scanner.c"
6322
12.7k
yy468:
6323
12.7k
    YYDEBUG(468, *YYCURSOR);
6324
12.7k
    yych = *++YYCURSOR;
6325
12.7k
    if (yych == '\n') goto yy466;
6326
12.2k
    goto yy467;
6327
12.2k
yy469:
6328
7.05k
    YYDEBUG(469, *YYCURSOR);
6329
7.05k
    yyaccept = 4;
6330
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
6331
7.05k
    if (yych == 'A') goto yy570;
6332
5.64k
    if (yych == 'a') goto yy570;
6333
509
    goto yy48;
6334
31.2k
yy470:
6335
31.2k
    YYDEBUG(470, *YYCURSOR);
6336
31.2k
    yyaccept = 34;
6337
31.2k
    yych = *(YYMARKER = ++YYCURSOR);
6338
31.2k
    if (yybm[256+yych] & 128) {
6339
8.35k
      goto yy47;
6340
8.35k
    }
6341
22.8k
    if (yych == '\\') goto yy164;
6342
22.8k
yy471:
6343
22.8k
    YYDEBUG(471, *YYCURSOR);
6344
22.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6345
22.8k
#line 1848 "Zend/zend_language_scanner.l"
6346
22.8k
    {
6347
22.8k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6348
22.8k
}
6349
0
#line 6350 "Zend/zend_language_scanner.c"
6350
3.74k
yy472:
6351
3.74k
    YYDEBUG(472, *YYCURSOR);
6352
3.74k
    yyaccept = 35;
6353
3.74k
    yych = *(YYMARKER = ++YYCURSOR);
6354
3.74k
    if (yybm[256+yych] & 128) {
6355
708
      goto yy47;
6356
708
    }
6357
3.03k
    if (yych == '\\') goto yy164;
6358
2.96k
yy473:
6359
2.96k
    YYDEBUG(473, *YYCURSOR);
6360
2.96k
    yyleng = YYCURSOR - SCNG(yy_text);
6361
2.96k
#line 1564 "Zend/zend_language_scanner.l"
6362
2.96k
    {
6363
2.96k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6364
2.96k
}
6365
0
#line 6366 "Zend/zend_language_scanner.c"
6366
4.15k
yy474:
6367
4.15k
    YYDEBUG(474, *YYCURSOR);
6368
4.15k
    yyaccept = 4;
6369
4.15k
    yych = *(YYMARKER = ++YYCURSOR);
6370
4.15k
    if (yych == 'B') goto yy571;
6371
2.98k
    if (yych == 'b') goto yy571;
6372
340
    goto yy48;
6373
42.8k
yy475:
6374
42.8k
    YYDEBUG(475, *YYCURSOR);
6375
42.8k
    yyaccept = 36;
6376
42.8k
    yych = *(YYMARKER = ++YYCURSOR);
6377
42.8k
    if (yybm[256+yych] & 128) {
6378
1.13k
      goto yy47;
6379
1.13k
    }
6380
41.7k
    if (yych == '\\') goto yy164;
6381
41.7k
yy476:
6382
41.7k
    YYDEBUG(476, *YYCURSOR);
6383
41.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6384
41.7k
#line 1472 "Zend/zend_language_scanner.l"
6385
41.7k
    {
6386
41.7k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6387
41.7k
}
6388
0
#line 6389 "Zend/zend_language_scanner.c"
6389
88.7k
yy477:
6390
88.7k
    YYDEBUG(477, *YYCURSOR);
6391
88.7k
    yyaccept = 37;
6392
88.7k
    yych = *(YYMARKER = ++YYCURSOR);
6393
88.7k
    if (yybm[256+yych] & 128) {
6394
8.11k
      goto yy47;
6395
8.11k
    }
6396
80.6k
    if (yych == '\\') goto yy164;
6397
80.6k
yy478:
6398
80.6k
    YYDEBUG(478, *YYCURSOR);
6399
80.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6400
80.6k
#line 1584 "Zend/zend_language_scanner.l"
6401
80.6k
    {
6402
80.6k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6403
80.6k
}
6404
0
#line 6405 "Zend/zend_language_scanner.c"
6405
5.85k
yy479:
6406
5.85k
    YYDEBUG(479, *YYCURSOR);
6407
5.85k
    yyaccept = 38;
6408
5.85k
    yych = *(YYMARKER = ++YYCURSOR);
6409
5.85k
    if (yybm[256+yych] & 128) {
6410
590
      goto yy47;
6411
590
    }
6412
5.26k
    if (yych == '\\') goto yy164;
6413
5.23k
yy480:
6414
5.23k
    YYDEBUG(480, *YYCURSOR);
6415
5.23k
    yyleng = YYCURSOR - SCNG(yy_text);
6416
5.23k
#line 1660 "Zend/zend_language_scanner.l"
6417
5.23k
    {
6418
5.23k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6419
5.23k
}
6420
0
#line 6421 "Zend/zend_language_scanner.c"
6421
41.5k
yy481:
6422
41.5k
    YYDEBUG(481, *YYCURSOR);
6423
41.5k
    yyaccept = 39;
6424
41.5k
    yych = *(YYMARKER = ++YYCURSOR);
6425
41.5k
    if (yybm[256+yych] & 128) {
6426
4.54k
      goto yy47;
6427
4.54k
    }
6428
37.0k
    if (yych == '\\') goto yy164;
6429
36.9k
yy482:
6430
36.9k
    YYDEBUG(482, *YYCURSOR);
6431
36.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6432
36.9k
#line 1445 "Zend/zend_language_scanner.l"
6433
36.9k
    {
6434
36.9k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6435
36.9k
}
6436
0
#line 6437 "Zend/zend_language_scanner.c"
6437
5.03k
yy483:
6438
5.03k
    YYDEBUG(483, *YYCURSOR);
6439
5.03k
    yyaccept = 4;
6440
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
6441
5.03k
    if (yych == 'N') goto yy572;
6442
4.03k
    if (yych == 'n') goto yy572;
6443
553
    goto yy48;
6444
9.42k
yy484:
6445
9.42k
    YYDEBUG(484, *YYCURSOR);
6446
9.42k
    yyaccept = 4;
6447
9.42k
    yych = *(YYMARKER = ++YYCURSOR);
6448
9.42k
    if (yych == 'R') goto yy573;
6449
8.74k
    if (yych == 'r') goto yy573;
6450
1.51k
    goto yy48;
6451
3.58k
yy485:
6452
3.58k
    YYDEBUG(485, *YYCURSOR);
6453
3.58k
    yyaccept = 4;
6454
3.58k
    yych = *(YYMARKER = ++YYCURSOR);
6455
3.58k
    if (yych == 'L') goto yy574;
6456
3.28k
    if (yych == 'l') goto yy574;
6457
673
    goto yy48;
6458
3.44k
yy486:
6459
3.44k
    YYDEBUG(486, *YYCURSOR);
6460
3.44k
    yyaccept = 4;
6461
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
6462
3.44k
    if (yych == 'F') goto yy575;
6463
3.19k
    if (yych == 'f') goto yy575;
6464
778
    goto yy48;
6465
5.54k
yy487:
6466
5.54k
    YYDEBUG(487, *YYCURSOR);
6467
5.54k
    yyaccept = 40;
6468
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
6469
5.54k
    if (yybm[256+yych] & 128) {
6470
710
      goto yy47;
6471
710
    }
6472
4.83k
    if (yych == '\\') goto yy164;
6473
4.70k
yy488:
6474
4.70k
    YYDEBUG(488, *YYCURSOR);
6475
4.70k
    yyleng = YYCURSOR - SCNG(yy_text);
6476
4.70k
#line 1788 "Zend/zend_language_scanner.l"
6477
4.70k
    {
6478
4.70k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6479
4.70k
}
6480
0
#line 6481 "Zend/zend_language_scanner.c"
6481
4.88k
yy489:
6482
4.88k
    YYDEBUG(489, *YYCURSOR);
6483
4.88k
    yyaccept = 4;
6484
4.88k
    yych = *(YYMARKER = ++YYCURSOR);
6485
4.88k
    if (yych == 'C') goto yy577;
6486
4.31k
    if (yych == 'c') goto yy577;
6487
632
    goto yy48;
6488
10.1k
yy490:
6489
10.1k
    YYDEBUG(490, *YYCURSOR);
6490
10.1k
    yyaccept = 4;
6491
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
6492
10.1k
    if (yych == 'R') goto yy578;
6493
6.79k
    if (yych == 'r') goto yy578;
6494
869
    goto yy48;
6495
6.71k
yy491:
6496
6.71k
    YYDEBUG(491, *YYCURSOR);
6497
6.71k
    yyaccept = 41;
6498
6.71k
    yych = *(YYMARKER = ++YYCURSOR);
6499
6.71k
    if (yybm[256+yych] & 128) {
6500
694
      goto yy47;
6501
694
    }
6502
6.01k
    if (yych == '\\') goto yy164;
6503
5.98k
yy492:
6504
5.98k
    YYDEBUG(492, *YYCURSOR);
6505
5.98k
    yyleng = YYCURSOR - SCNG(yy_text);
6506
5.98k
#line 1492 "Zend/zend_language_scanner.l"
6507
5.98k
    {
6508
5.98k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6509
5.98k
}
6510
0
#line 6511 "Zend/zend_language_scanner.c"
6511
3.05k
yy493:
6512
3.05k
    YYDEBUG(493, *YYCURSOR);
6513
3.05k
    yyaccept = 4;
6514
3.05k
    yych = *(YYMARKER = ++YYCURSOR);
6515
3.05k
    if (yych == 'I') goto yy580;
6516
2.15k
    if (yych == 'i') goto yy580;
6517
247
    goto yy48;
6518
7.35k
yy494:
6519
7.35k
    YYDEBUG(494, *YYCURSOR);
6520
7.35k
    yyaccept = 4;
6521
7.35k
    yych = *(YYMARKER = ++YYCURSOR);
6522
7.35k
    if (yych == 'I') goto yy581;
6523
5.11k
    if (yych == 'i') goto yy581;
6524
259
    goto yy48;
6525
734k
yy495:
6526
734k
    YYDEBUG(495, *YYCURSOR);
6527
734k
    ++YYCURSOR;
6528
734k
    YYFILL(10);
6529
734k
    yych = *YYCURSOR;
6530
734k
    YYDEBUG(496, *YYCURSOR);
6531
734k
    if (yych <= 'E') {
6532
699k
      if (yych <= ' ') {
6533
76.5k
        if (yych <= '\f') {
6534
22.2k
          if (yych <= 0x08) goto yy86;
6535
18.4k
          if (yych <= '\n') goto yy495;
6536
1.90k
          goto yy86;
6537
54.2k
        } else {
6538
54.2k
          if (yych <= '\r') goto yy495;
6539
9.99k
          if (yych <= 0x1F) goto yy86;
6540
9.03k
          goto yy495;
6541
9.99k
        }
6542
622k
      } else {
6543
622k
        if (yych <= '.') {
6544
597k
          if (yych != '#') goto yy86;
6545
597k
        } else {
6546
24.8k
          if (yych <= '/') goto yy498;
6547
6.38k
          if (yych <= '@') goto yy86;
6548
2.29k
          if (yych <= 'D') goto yy582;
6549
776
          goto yy584;
6550
2.29k
        }
6551
622k
      }
6552
699k
    } else {
6553
35.6k
      if (yych <= '`') {
6554
7.55k
        if (yych <= 'Z') {
6555
4.01k
          if (yych == 'I') goto yy585;
6556
2.58k
          goto yy582;
6557
4.01k
        } else {
6558
3.54k
          if (yych == '_') goto yy582;
6559
1.15k
          goto yy86;
6560
3.54k
        }
6561
28.1k
      } else {
6562
28.1k
        if (yych <= 'h') {
6563
13.4k
          if (yych == 'e') goto yy584;
6564
4.58k
          goto yy582;
6565
14.6k
        } else {
6566
14.6k
          if (yych <= 'i') goto yy585;
6567
11.1k
          if (yych <= 'z') goto yy582;
6568
7.24k
          if (yych <= 0x7F) goto yy86;
6569
4.82k
          goto yy582;
6570
7.24k
        }
6571
28.1k
      }
6572
35.6k
    }
6573
595k
yy497:
6574
595k
    YYDEBUG(497, *YYCURSOR);
6575
595k
    ++YYCURSOR;
6576
595k
    YYFILL(1);
6577
595k
    yych = *YYCURSOR;
6578
595k
    if (yych <= '\f') {
6579
436k
      if (yych <= 0x00) goto yy86;
6580
435k
      if (yych == '\n') goto yy588;
6581
6.67k
      goto yy586;
6582
435k
    } else {
6583
158k
      if (yych <= '\r') goto yy588;
6584
68.3k
      if (yych == '[') goto yy86;
6585
67.7k
      goto yy586;
6586
68.3k
    }
6587
19.5k
yy498:
6588
19.5k
    YYDEBUG(498, *YYCURSOR);
6589
19.5k
    ++YYCURSOR;
6590
19.5k
    YYFILL(1);
6591
19.5k
    yych = *YYCURSOR;
6592
19.5k
    if (yych == '*') goto yy590;
6593
3.85k
    if (yych == '/') goto yy586;
6594
2.81k
    goto yy86;
6595
20.1k
yy499:
6596
20.1k
    YYDEBUG(499, *YYCURSOR);
6597
20.1k
    yyaccept = 4;
6598
20.1k
    yych = *(YYMARKER = ++YYCURSOR);
6599
20.1k
    if (yych == 'D') goto yy592;
6600
19.4k
    if (yych == 'd') goto yy592;
6601
2.19k
    goto yy48;
6602
12.2k
yy500:
6603
12.2k
    YYDEBUG(500, *YYCURSOR);
6604
12.2k
    yyaccept = 42;
6605
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
6606
12.2k
    if (yych <= '\\') {
6607
6.67k
      if (yych <= 'K') {
6608
5.77k
        if (yych <= '/') goto yy501;
6609
1.25k
        if (yych <= '9') goto yy47;
6610
887
        if (yych >= 'A') goto yy47;
6611
898
      } else {
6612
898
        if (yych <= 'L') goto yy593;
6613
608
        if (yych <= 'Z') goto yy47;
6614
387
        if (yych >= '\\') goto yy164;
6615
387
      }
6616
6.67k
    } else {
6617
5.61k
      if (yych <= 'k') {
6618
748
        if (yych == '_') goto yy47;
6619
551
        if (yych >= 'a') goto yy47;
6620
4.86k
      } else {
6621
4.86k
        if (yych <= 'l') goto yy593;
6622
430
        if (yych <= 'z') goto yy47;
6623
218
        if (yych >= 0x80) goto yy47;
6624
218
      }
6625
5.61k
    }
6626
5.91k
yy501:
6627
5.91k
    YYDEBUG(501, *YYCURSOR);
6628
5.91k
    yyleng = YYCURSOR - SCNG(yy_text);
6629
5.91k
#line 1804 "Zend/zend_language_scanner.l"
6630
5.91k
    {
6631
5.91k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6632
5.91k
}
6633
0
#line 6634 "Zend/zend_language_scanner.c"
6634
26.1k
yy502:
6635
26.1k
    YYDEBUG(502, *YYCURSOR);
6636
26.1k
    yyaccept = 4;
6637
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
6638
26.1k
    if (yych == 'C') goto yy594;
6639
25.6k
    if (yych == 'c') goto yy594;
6640
904
    goto yy48;
6641
115k
yy503:
6642
115k
    YYDEBUG(503, *YYCURSOR);
6643
115k
    yyaccept = 4;
6644
115k
    yych = *(YYMARKER = ++YYCURSOR);
6645
115k
    if (yych == 'I') goto yy595;
6646
114k
    if (yych == 'i') goto yy595;
6647
1.30k
    goto yy48;
6648
6.62k
yy504:
6649
6.62k
    YYDEBUG(504, *YYCURSOR);
6650
6.62k
    yyaccept = 4;
6651
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
6652
6.62k
    if (yych == 'L') goto yy596;
6653
4.30k
    if (yych == 'l') goto yy596;
6654
372
    goto yy48;
6655
21.8k
yy505:
6656
21.8k
    YYDEBUG(505, *YYCURSOR);
6657
21.8k
    yyaccept = 4;
6658
21.8k
    yych = *(YYMARKER = ++YYCURSOR);
6659
21.8k
    if (yych == 'M') goto yy598;
6660
19.3k
    if (yych == 'm') goto yy598;
6661
8.83k
    goto yy48;
6662
10.3k
yy506:
6663
10.3k
    YYDEBUG(506, *YYCURSOR);
6664
10.3k
    yyaccept = 4;
6665
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
6666
10.3k
    if (yych == 'D') goto yy599;
6667
8.22k
    if (yych == 'd') goto yy599;
6668
818
    goto yy48;
6669
5.36k
yy507:
6670
5.36k
    YYDEBUG(507, *YYCURSOR);
6671
5.36k
    yyaccept = 4;
6672
5.36k
    yych = *(YYMARKER = ++YYCURSOR);
6673
5.36k
    if (yych == 'N') goto yy600;
6674
3.72k
    if (yych == 'n') goto yy600;
6675
136
    goto yy48;
6676
8.26k
yy508:
6677
8.26k
    YYDEBUG(508, *YYCURSOR);
6678
8.26k
    yyaccept = 4;
6679
8.26k
    yych = *(YYMARKER = ++YYCURSOR);
6680
8.26k
    if (yych == 'A') goto yy601;
6681
7.33k
    if (yych == 'a') goto yy601;
6682
1.93k
    goto yy48;
6683
8.04k
yy509:
6684
8.04k
    YYDEBUG(509, *YYCURSOR);
6685
8.04k
    yyaccept = 4;
6686
8.04k
    yych = *(YYMARKER = ++YYCURSOR);
6687
8.04k
    if (yych == 'F') goto yy602;
6688
7.16k
    if (yych == 'f') goto yy602;
6689
532
    goto yy48;
6690
16.7k
yy510:
6691
16.7k
    YYDEBUG(510, *YYCURSOR);
6692
16.7k
    yyaccept = 43;
6693
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
6694
16.7k
    if (yybm[256+yych] & 128) {
6695
5.02k
      goto yy47;
6696
5.02k
    }
6697
11.7k
    if (yych == '\\') goto yy164;
6698
11.6k
yy511:
6699
11.6k
    YYDEBUG(511, *YYCURSOR);
6700
11.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6701
11.6k
#line 1784 "Zend/zend_language_scanner.l"
6702
11.6k
    {
6703
11.6k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6704
11.6k
}
6705
0
#line 6706 "Zend/zend_language_scanner.c"
6706
3.96k
yy512:
6707
3.96k
    YYDEBUG(512, *YYCURSOR);
6708
3.96k
    yyaccept = 44;
6709
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
6710
3.96k
    if (yybm[256+yych] & 128) {
6711
233
      goto yy47;
6712
233
    }
6713
3.73k
    if (yych == '\\') goto yy164;
6714
3.73k
yy513:
6715
3.73k
    YYDEBUG(513, *YYCURSOR);
6716
3.73k
    yyleng = YYCURSOR - SCNG(yy_text);
6717
3.73k
#line 1548 "Zend/zend_language_scanner.l"
6718
3.73k
    {
6719
3.73k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6720
3.73k
}
6721
0
#line 6722 "Zend/zend_language_scanner.c"
6722
21.0k
yy514:
6723
21.0k
    YYDEBUG(514, *YYCURSOR);
6724
21.0k
    yyaccept = 4;
6725
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
6726
21.0k
    if (yych == 'P') goto yy603;
6727
18.6k
    if (yych == 'p') goto yy603;
6728
602
    goto yy48;
6729
16.1k
yy515:
6730
16.1k
    YYDEBUG(515, *YYCURSOR);
6731
16.1k
    yyaccept = 45;
6732
16.1k
    yych = *(YYMARKER = ++YYCURSOR);
6733
16.1k
    if (yybm[256+yych] & 128) {
6734
9.28k
      goto yy47;
6735
9.28k
    }
6736
6.90k
    if (yych == '\\') goto yy164;
6737
6.90k
yy516:
6738
6.90k
    YYDEBUG(516, *YYCURSOR);
6739
6.90k
    yyleng = YYCURSOR - SCNG(yy_text);
6740
6.90k
#line 1580 "Zend/zend_language_scanner.l"
6741
6.90k
    {
6742
6.90k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6743
6.90k
}
6744
0
#line 6745 "Zend/zend_language_scanner.c"
6745
14.6k
yy517:
6746
14.6k
    YYDEBUG(517, *YYCURSOR);
6747
14.6k
    yyaccept = 4;
6748
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
6749
14.6k
    if (yych == 'T') goto yy604;
6750
13.3k
    if (yych == 't') goto yy604;
6751
567
    goto yy48;
6752
12.5k
yy518:
6753
12.5k
    YYDEBUG(518, *YYCURSOR);
6754
12.5k
    yyaccept = 4;
6755
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
6756
12.5k
    if (yych == 'C') goto yy605;
6757
11.5k
    if (yych == 'c') goto yy605;
6758
740
    goto yy48;
6759
71.3k
yy519:
6760
71.3k
    YYDEBUG(519, *YYCURSOR);
6761
71.3k
    yyaccept = 4;
6762
71.3k
    yych = *(YYMARKER = ++YYCURSOR);
6763
71.3k
    if (yych == 'C') goto yy606;
6764
69.7k
    if (yych == 'c') goto yy606;
6765
2.22k
    goto yy48;
6766
7.02k
yy520:
6767
7.02k
    YYDEBUG(520, *YYCURSOR);
6768
7.02k
    yyaccept = 4;
6769
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
6770
7.02k
    if (yych == 'N') goto yy608;
6771
6.11k
    if (yych == 'n') goto yy608;
6772
711
    goto yy48;
6773
23.9k
yy521:
6774
23.9k
    YYDEBUG(521, *YYCURSOR);
6775
23.9k
    yyaccept = 4;
6776
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
6777
23.9k
    if (yych == 'R') goto yy609;
6778
22.5k
    if (yych == 'r') goto yy609;
6779
1.87k
    goto yy48;
6780
32.1k
yy522:
6781
32.1k
    YYDEBUG(522, *YYCURSOR);
6782
32.1k
    yyaccept = 4;
6783
32.1k
    yych = *(YYMARKER = ++YYCURSOR);
6784
32.1k
    if (yych == 'N') goto yy610;
6785
31.4k
    if (yych == 'n') goto yy610;
6786
802
    goto yy48;
6787
20.3k
yy523:
6788
20.3k
    YYDEBUG(523, *YYCURSOR);
6789
20.3k
    yyaccept = 4;
6790
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
6791
20.3k
    if (yych == 'C') goto yy612;
6792
19.8k
    if (yych == 'c') goto yy612;
6793
867
    goto yy48;
6794
6.66k
yy524:
6795
6.66k
    YYDEBUG(524, *YYCURSOR);
6796
6.66k
    yyaccept = 4;
6797
6.66k
    yych = *(YYMARKER = ++YYCURSOR);
6798
6.66k
    if (yych == 'H') goto yy614;
6799
6.43k
    if (yych == 'h') goto yy614;
6800
1.55k
    goto yy48;
6801
10.6k
yy525:
6802
10.6k
    YYDEBUG(525, *YYCURSOR);
6803
10.6k
    yyaccept = 46;
6804
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
6805
10.6k
    if (yybm[256+yych] & 128) {
6806
4.06k
      goto yy47;
6807
4.06k
    }
6808
6.62k
    if (yych == '\\') goto yy164;
6809
6.62k
yy526:
6810
6.62k
    YYDEBUG(526, *YYCURSOR);
6811
6.62k
    yyleng = YYCURSOR - SCNG(yy_text);
6812
6.62k
#line 1480 "Zend/zend_language_scanner.l"
6813
6.62k
    {
6814
6.62k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6815
6.62k
}
6816
0
#line 6817 "Zend/zend_language_scanner.c"
6817
9.22k
yy527:
6818
9.22k
    YYDEBUG(527, *YYCURSOR);
6819
9.22k
    yyaccept = 47;
6820
9.22k
    yych = *(YYMARKER = ++YYCURSOR);
6821
9.22k
    if (yybm[256+yych] & 128) {
6822
1.91k
      goto yy47;
6823
1.91k
    }
6824
7.30k
    if (yych == '\\') goto yy164;
6825
7.30k
yy528:
6826
7.30k
    YYDEBUG(528, *YYCURSOR);
6827
7.30k
    yyleng = YYCURSOR - SCNG(yy_text);
6828
7.30k
#line 1592 "Zend/zend_language_scanner.l"
6829
7.30k
    {
6830
7.30k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6831
7.30k
}
6832
0
#line 6833 "Zend/zend_language_scanner.c"
6833
11.0k
yy529:
6834
11.0k
    YYDEBUG(529, *YYCURSOR);
6835
11.0k
    yyaccept = 48;
6836
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
6837
11.0k
    if (yybm[256+yych] & 128) {
6838
750
      goto yy47;
6839
750
    }
6840
10.3k
    if (yych == '\\') goto yy164;
6841
10.3k
yy530:
6842
10.3k
    YYDEBUG(530, *YYCURSOR);
6843
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6844
10.3k
#line 1836 "Zend/zend_language_scanner.l"
6845
10.3k
    {
6846
10.3k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6847
10.3k
}
6848
0
#line 6849 "Zend/zend_language_scanner.c"
6849
4.11k
yy531:
6850
4.11k
    YYDEBUG(531, *YYCURSOR);
6851
4.11k
    yyaccept = 49;
6852
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
6853
4.11k
    if (yybm[256+yych] & 128) {
6854
549
      goto yy47;
6855
549
    }
6856
3.56k
    if (yych == '\\') goto yy164;
6857
3.52k
yy532:
6858
3.52k
    YYDEBUG(532, *YYCURSOR);
6859
3.52k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
3.52k
#line 1500 "Zend/zend_language_scanner.l"
6861
3.52k
    {
6862
3.52k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6863
3.52k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
77.4k
yy533:
6866
77.4k
    YYDEBUG(533, *YYCURSOR);
6867
77.4k
    yyaccept = 50;
6868
77.4k
    yych = *(YYMARKER = ++YYCURSOR);
6869
77.4k
    if (yybm[256+yych] & 128) {
6870
1.14k
      goto yy47;
6871
1.14k
    }
6872
76.3k
    if (yych <= ' ') {
6873
33.3k
      if (yych <= '\f') {
6874
21.5k
        if (yych <= 0x08) goto yy534;
6875
20.9k
        if (yych <= '\n') goto yy616;
6876
20.9k
      } else {
6877
11.7k
        if (yych <= '\r') goto yy616;
6878
10.8k
        if (yych >= ' ') goto yy616;
6879
10.8k
      }
6880
42.9k
    } else {
6881
42.9k
      if (yych <= '.') {
6882
40.6k
        if (yych == '#') goto yy618;
6883
40.6k
      } else {
6884
2.30k
        if (yych <= '/') goto yy619;
6885
1.97k
        if (yych == '\\') goto yy164;
6886
1.97k
      }
6887
42.9k
    }
6888
55.5k
yy534:
6889
55.5k
    YYDEBUG(534, *YYCURSOR);
6890
55.5k
    yyleng = YYCURSOR - SCNG(yy_text);
6891
55.5k
#line 1464 "Zend/zend_language_scanner.l"
6892
55.5k
    {
6893
55.5k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6894
55.5k
}
6895
0
#line 6896 "Zend/zend_language_scanner.c"
6896
8.22k
yy535:
6897
8.22k
    YYDEBUG(535, *YYCURSOR);
6898
8.22k
    yyaccept = 4;
6899
8.22k
    yych = *(YYMARKER = ++YYCURSOR);
6900
8.22k
    if (yych == 'S') goto yy620;
6901
6.22k
    if (yych == 's') goto yy620;
6902
526
    goto yy48;
6903
4.99k
yy536:
6904
4.99k
    YYDEBUG(536, *YYCURSOR);
6905
4.99k
    yyaccept = 4;
6906
4.99k
    yych = *(YYMARKER = ++YYCURSOR);
6907
4.99k
    if (yych == '_') goto yy621;
6908
883
    goto yy48;
6909
11.1k
yy537:
6910
11.1k
    YYDEBUG(537, *YYCURSOR);
6911
11.1k
    yyaccept = 4;
6912
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
6913
11.1k
    if (yych == 'E') goto yy622;
6914
3.13k
    if (yych == 'e') goto yy622;
6915
795
    goto yy48;
6916
7.95k
yy538:
6917
7.95k
    YYDEBUG(538, *YYCURSOR);
6918
7.95k
    yyaccept = 4;
6919
7.95k
    yych = *(YYMARKER = ++YYCURSOR);
6920
7.95k
    if (yych == 'C') goto yy623;
6921
4.41k
    if (yych == 'c') goto yy623;
6922
788
    goto yy48;
6923
5.85k
yy539:
6924
5.85k
    YYDEBUG(539, *YYCURSOR);
6925
5.85k
    yyaccept = 4;
6926
5.85k
    yych = *(YYMARKER = ++YYCURSOR);
6927
5.85k
    if (yych == 'T') goto yy624;
6928
3.33k
    if (yych == 't') goto yy624;
6929
310
    goto yy48;
6930
3.74k
yy540:
6931
3.74k
    YYDEBUG(540, *YYCURSOR);
6932
3.74k
    yyaccept = 4;
6933
3.74k
    yych = *(YYMARKER = ++YYCURSOR);
6934
3.74k
    if (yych == 'E') goto yy625;
6935
2.50k
    if (yych == 'e') goto yy625;
6936
631
    goto yy48;
6937
14.1k
yy541:
6938
14.1k
    YYDEBUG(541, *YYCURSOR);
6939
14.1k
    yyaccept = 4;
6940
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
6941
14.1k
    if (yych == 'H') goto yy626;
6942
5.55k
    if (yych == 'h') goto yy626;
6943
1.63k
    goto yy48;
6944
9.89k
yy542:
6945
9.89k
    YYDEBUG(542, *YYCURSOR);
6946
9.89k
    yyaccept = 4;
6947
9.89k
    yych = *(YYMARKER = ++YYCURSOR);
6948
9.89k
    if (yych == 'E') goto yy627;
6949
5.38k
    if (yych == 'e') goto yy627;
6950
770
    goto yy48;
6951
3.21k
yy543:
6952
3.21k
    YYDEBUG(543, *YYCURSOR);
6953
3.21k
    yyaccept = 4;
6954
3.21k
    yych = *(YYMARKER = ++YYCURSOR);
6955
3.21k
    if (yych == 'P') goto yy628;
6956
479
    if (yych == 'p') goto yy628;
6957
274
    goto yy48;
6958
5.15k
yy544:
6959
5.15k
    YYDEBUG(544, *YYCURSOR);
6960
5.15k
    yyaccept = 4;
6961
5.15k
    yych = *(YYMARKER = ++YYCURSOR);
6962
5.15k
    if (yych == 'I') goto yy629;
6963
4.01k
    if (yych == 'i') goto yy629;
6964
750
    goto yy48;
6965
190k
yy545:
6966
190k
    YYDEBUG(545, *YYCURSOR);
6967
190k
    ++YYCURSOR;
6968
190k
    YYFILL(1);
6969
190k
    yych = *YYCURSOR;
6970
190k
    YYDEBUG(546, *YYCURSOR);
6971
190k
    if (yybm[0+yych] & 64) {
6972
225
      goto yy355;
6973
225
    }
6974
190k
    if (yych <= ' ') {
6975
29.7k
      if (yych <= '\n') {
6976
6.33k
        if (yych <= 0x00) goto yy86;
6977
4.85k
        if (yych <= 0x08) goto yy230;
6978
4.52k
        goto yy545;
6979
23.4k
      } else {
6980
23.4k
        if (yych == '\r') goto yy545;
6981
5.23k
        if (yych <= 0x1F) goto yy230;
6982
4.57k
        goto yy545;
6983
5.23k
      }
6984
160k
    } else {
6985
160k
      if (yych <= '$') {
6986
117k
        if (yych <= '"') goto yy230;
6987
116k
        if (yych <= '#') goto yy630;
6988
4.61k
        goto yy631;
6989
116k
      } else {
6990
43.0k
        if (yych <= '-') goto yy230;
6991
36.8k
        if (yych <= '.') goto yy632;
6992
34.7k
        if (yych <= '/') goto yy633;
6993
5.81k
        goto yy230;
6994
34.7k
      }
6995
160k
    }
6996
36.6k
yy547:
6997
36.6k
    YYDEBUG(547, *YYCURSOR);
6998
36.6k
    ++YYCURSOR;
6999
36.6k
    YYFILL(1);
7000
36.6k
    yych = *YYCURSOR;
7001
36.6k
    YYDEBUG(548, *YYCURSOR);
7002
36.6k
    if (yych <= '\r') {
7003
6.84k
      if (yych <= '\t') {
7004
697
        if (yych <= 0x00) goto yy86;
7005
305
        goto yy443;
7006
6.14k
      } else {
7007
6.14k
        if (yych <= '\n') goto yy545;
7008
4.98k
        if (yych <= '\f') goto yy443;
7009
3.86k
        goto yy545;
7010
4.98k
      }
7011
29.8k
    } else {
7012
29.8k
      if (yych <= '*') {
7013
13.8k
        if (yych <= ')') goto yy443;
7014
4.34k
        goto yy547;
7015
15.9k
      } else {
7016
15.9k
        if (yych == '/') goto yy227;
7017
2.69k
        goto yy443;
7018
15.9k
      }
7019
29.8k
    }
7020
14.6k
yy549:
7021
14.6k
    YYDEBUG(549, *YYCURSOR);
7022
14.6k
    ++YYCURSOR;
7023
14.6k
    YYFILL(1);
7024
14.6k
    yych = *YYCURSOR;
7025
14.6k
    YYDEBUG(550, *YYCURSOR);
7026
14.6k
    if (yych <= 0x1F) {
7027
751
      if (yych == '\t') goto yy549;
7028
571
      goto yy86;
7029
13.8k
    } else {
7030
13.8k
      if (yych <= ' ') goto yy549;
7031
10.3k
      if (yych == ')') goto yy634;
7032
8.19k
      goto yy86;
7033
10.3k
    }
7034
1.50k
yy551:
7035
1.50k
    YYDEBUG(551, *YYCURSOR);
7036
1.50k
    yych = *++YYCURSOR;
7037
1.50k
    if (yych == 'Y') goto yy636;
7038
1.42k
    if (yych == 'y') goto yy636;
7039
412
    goto yy86;
7040
535
yy552:
7041
535
    YYDEBUG(552, *YYCURSOR);
7042
535
    ++YYCURSOR;
7043
535
    YYFILL(1);
7044
535
    yych = *YYCURSOR;
7045
2.13k
yy553:
7046
2.13k
    YYDEBUG(553, *YYCURSOR);
7047
2.13k
    if (yych <= 0x1F) {
7048
223
      if (yych == '\t') goto yy552;
7049
182
      goto yy86;
7050
1.91k
    } else {
7051
1.91k
      if (yych <= ' ') goto yy552;
7052
1.42k
      if (yych != ')') goto yy86;
7053
1.42k
    }
7054
605
    YYDEBUG(554, *YYCURSOR);
7055
605
    ++YYCURSOR;
7056
605
    YYDEBUG(555, *YYCURSOR);
7057
605
    yyleng = YYCURSOR - SCNG(yy_text);
7058
605
#line 1726 "Zend/zend_language_scanner.l"
7059
605
    {
7060
605
  RETURN_TOKEN(T_BOOL_CAST);
7061
605
}
7062
0
#line 7063 "Zend/zend_language_scanner.c"
7063
1.46k
yy556:
7064
1.46k
    YYDEBUG(556, *YYCURSOR);
7065
1.46k
    yych = *++YYCURSOR;
7066
1.46k
    if (yych == 'A') goto yy638;
7067
736
    if (yych == 'a') goto yy638;
7068
229
    goto yy86;
7069
1.88k
yy557:
7070
1.88k
    YYDEBUG(557, *YYCURSOR);
7071
1.88k
    yych = *++YYCURSOR;
7072
1.88k
    if (yych == 'E') goto yy639;
7073
918
    if (yych == 'e') goto yy639;
7074
125
    goto yy86;
7075
2.59k
yy558:
7076
2.59k
    YYDEBUG(558, *YYCURSOR);
7077
2.59k
    ++YYCURSOR;
7078
2.59k
    YYFILL(1);
7079
2.59k
    yych = *YYCURSOR;
7080
2.59k
    YYDEBUG(559, *YYCURSOR);
7081
2.59k
    if (yych <= 0x1F) {
7082
185
      if (yych == '\t') goto yy558;
7083
129
      goto yy86;
7084
2.40k
    } else {
7085
2.40k
      if (yych <= ' ') goto yy558;
7086
2.13k
      if (yych == ')') goto yy641;
7087
939
      goto yy86;
7088
2.13k
    }
7089
1.90k
yy560:
7090
1.90k
    YYDEBUG(560, *YYCURSOR);
7091
1.90k
    yych = *++YYCURSOR;
7092
1.90k
    if (yych == 'E') goto yy643;
7093
1.70k
    if (yych == 'e') goto yy643;
7094
193
    goto yy86;
7095
2.77k
yy561:
7096
2.77k
    YYDEBUG(561, *YYCURSOR);
7097
2.77k
    yych = *++YYCURSOR;
7098
2.77k
    if (yych == 'T') goto yy644;
7099
2.45k
    if (yych == 't') goto yy644;
7100
481
    goto yy86;
7101
481
yy562:
7102
348
    YYDEBUG(562, *YYCURSOR);
7103
348
    ++YYCURSOR;
7104
348
    YYDEBUG(563, *YYCURSOR);
7105
348
    yyleng = YYCURSOR - SCNG(yy_text);
7106
348
#line 1696 "Zend/zend_language_scanner.l"
7107
348
    {
7108
348
  if (PARSER_MODE()) {
7109
10
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7110
10
    RETURN_TOKEN(T_ERROR);
7111
10
  }
7112
338
  RETURN_TOKEN(T_DOUBLE_CAST);
7113
338
}
7114
0
#line 7115 "Zend/zend_language_scanner.c"
7115
11.3k
yy564:
7116
11.3k
    YYDEBUG(564, *YYCURSOR);
7117
11.3k
    yych = *++YYCURSOR;
7118
11.3k
    if (yych == 'G') goto yy646;
7119
10.9k
    if (yych == 'g') goto yy646;
7120
365
    goto yy86;
7121
3.97k
yy565:
7122
3.97k
    YYDEBUG(565, *YYCURSOR);
7123
3.97k
    ++YYCURSOR;
7124
3.97k
    YYFILL(1);
7125
3.97k
    yych = *YYCURSOR;
7126
3.97k
    YYDEBUG(566, *YYCURSOR);
7127
3.97k
    if (yych <= 0x1F) {
7128
2.38k
      if (yych == '\t') goto yy565;
7129
507
      goto yy86;
7130
2.38k
    } else {
7131
1.58k
      if (yych <= ' ') goto yy565;
7132
1.07k
      if (yych == ')') goto yy648;
7133
441
      goto yy86;
7134
1.07k
    }
7135
835
yy567:
7136
835
    YYDEBUG(567, *YYCURSOR);
7137
835
    ++YYCURSOR;
7138
835
    YYDEBUG(568, *YYCURSOR);
7139
835
    yyleng = YYCURSOR - SCNG(yy_text);
7140
835
#line 1744 "Zend/zend_language_scanner.l"
7141
835
    {
7142
835
  RETURN_TOKEN(T_VOID_CAST);
7143
835
}
7144
0
#line 7145 "Zend/zend_language_scanner.c"
7145
9.73k
yy569:
7146
9.73k
    YYDEBUG(569, *YYCURSOR);
7147
9.73k
    yych = *++YYCURSOR;
7148
9.73k
    if (yych == '\n') goto yy466;
7149
2.52k
    if (yych == '\r') goto yy468;
7150
1.14k
    goto yy86;
7151
6.54k
yy570:
7152
6.54k
    YYDEBUG(570, *YYCURSOR);
7153
6.54k
    yyaccept = 4;
7154
6.54k
    yych = *(YYMARKER = ++YYCURSOR);
7155
6.54k
    if (yych == 'C') goto yy650;
7156
5.52k
    if (yych == 'c') goto yy650;
7157
533
    goto yy48;
7158
3.81k
yy571:
7159
3.81k
    YYDEBUG(571, *YYCURSOR);
7160
3.81k
    yyaccept = 4;
7161
3.81k
    yych = *(YYMARKER = ++YYCURSOR);
7162
3.81k
    if (yych == 'L') goto yy651;
7163
2.80k
    if (yych == 'l') goto yy651;
7164
367
    goto yy48;
7165
4.47k
yy572:
7166
4.47k
    YYDEBUG(572, *YYCURSOR);
7167
4.47k
    yyaccept = 4;
7168
4.47k
    yych = *(YYMARKER = ++YYCURSOR);
7169
4.47k
    if (yych == 'U') goto yy652;
7170
3.47k
    if (yych == 'u') goto yy652;
7171
543
    goto yy48;
7172
7.91k
yy573:
7173
7.91k
    YYDEBUG(573, *YYCURSOR);
7174
7.91k
    yyaccept = 4;
7175
7.91k
    yych = *(YYMARKER = ++YYCURSOR);
7176
7.91k
    if (yych == 'E') goto yy653;
7177
6.05k
    if (yych == 'e') goto yy653;
7178
449
    goto yy48;
7179
2.91k
yy574:
7180
2.91k
    YYDEBUG(574, *YYCURSOR);
7181
2.91k
    yyaccept = 4;
7182
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
7183
2.91k
    if (yych == 'T') goto yy655;
7184
2.41k
    if (yych == 't') goto yy655;
7185
199
    goto yy48;
7186
2.66k
yy575:
7187
2.66k
    YYDEBUG(575, *YYCURSOR);
7188
2.66k
    yyaccept = 51;
7189
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
7190
2.66k
    if (yybm[256+yych] & 128) {
7191
313
      goto yy47;
7192
313
    }
7193
2.35k
    if (yych == '\\') goto yy164;
7194
2.34k
yy576:
7195
2.34k
    YYDEBUG(576, *YYCURSOR);
7196
2.34k
    yyleng = YYCURSOR - SCNG(yy_text);
7197
2.34k
#line 1488 "Zend/zend_language_scanner.l"
7198
2.34k
    {
7199
2.34k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7200
2.34k
}
7201
0
#line 7202 "Zend/zend_language_scanner.c"
7202
4.25k
yy577:
7203
4.25k
    YYDEBUG(577, *YYCURSOR);
7204
4.25k
    yyaccept = 4;
7205
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
7206
4.25k
    if (yych == 'L') goto yy657;
7207
3.52k
    if (yych == 'l') goto yy657;
7208
186
    goto yy48;
7209
9.24k
yy578:
7210
9.24k
    YYDEBUG(578, *YYCURSOR);
7211
9.24k
    yyaccept = 52;
7212
9.24k
    yych = *(YYMARKER = ++YYCURSOR);
7213
9.24k
    if (yych <= '\\') {
7214
4.81k
      if (yych <= 'D') {
7215
1.97k
        if (yych <= '/') goto yy579;
7216
793
        if (yych <= '9') goto yy47;
7217
676
        if (yych >= 'A') goto yy47;
7218
2.84k
      } else {
7219
2.84k
        if (yych <= 'E') goto yy658;
7220
574
        if (yych <= 'Z') goto yy47;
7221
271
        if (yych >= '\\') goto yy164;
7222
271
      }
7223
4.81k
    } else {
7224
4.43k
      if (yych <= 'd') {
7225
586
        if (yych == '_') goto yy47;
7226
540
        if (yych >= 'a') goto yy47;
7227
3.84k
      } else {
7228
3.84k
        if (yych <= 'e') goto yy658;
7229
297
        if (yych <= 'z') goto yy47;
7230
239
        if (yych >= 0x80) goto yy47;
7231
239
      }
7232
4.43k
    }
7233
2.19k
yy579:
7234
2.19k
    YYDEBUG(579, *YYCURSOR);
7235
2.19k
    yyleng = YYCURSOR - SCNG(yy_text);
7236
2.19k
#line 1516 "Zend/zend_language_scanner.l"
7237
2.19k
    {
7238
2.19k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7239
2.19k
}
7240
0
#line 7241 "Zend/zend_language_scanner.c"
7241
2.80k
yy580:
7242
2.80k
    YYDEBUG(580, *YYCURSOR);
7243
2.80k
    yyaccept = 4;
7244
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
7245
2.80k
    if (yych == 'T') goto yy659;
7246
2.05k
    if (yych == 't') goto yy659;
7247
584
    goto yy48;
7248
7.09k
yy581:
7249
7.09k
    YYDEBUG(581, *YYCURSOR);
7250
7.09k
    yyaccept = 4;
7251
7.09k
    yych = *(YYMARKER = ++YYCURSOR);
7252
7.09k
    if (yych == 'L') goto yy660;
7253
4.71k
    if (yych == 'l') goto yy660;
7254
240
    goto yy48;
7255
19.8k
yy582:
7256
19.8k
    YYDEBUG(582, *YYCURSOR);
7257
19.8k
    ++YYCURSOR;
7258
123k
yy583:
7259
123k
    YYDEBUG(583, *YYCURSOR);
7260
123k
    yyleng = YYCURSOR - SCNG(yy_text);
7261
123k
#line 1604 "Zend/zend_language_scanner.l"
7262
123k
    {
7263
123k
  yyless(4);
7264
123k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7265
123k
}
7266
0
#line 7267 "Zend/zend_language_scanner.c"
7267
9.66k
yy584:
7268
9.66k
    YYDEBUG(584, *YYCURSOR);
7269
9.66k
    yyaccept = 53;
7270
9.66k
    yych = *(YYMARKER = ++YYCURSOR);
7271
9.66k
    if (yych == 'X') goto yy661;
7272
8.88k
    if (yych == 'x') goto yy661;
7273
6.36k
    goto yy583;
7274
6.36k
yy585:
7275
4.90k
    YYDEBUG(585, *YYCURSOR);
7276
4.90k
    yyaccept = 53;
7277
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
7278
4.90k
    if (yych == 'M') goto yy662;
7279
3.88k
    if (yych == 'm') goto yy662;
7280
1.37k
    goto yy583;
7281
3.02M
yy586:
7282
3.02M
    YYDEBUG(586, *YYCURSOR);
7283
3.02M
    ++YYCURSOR;
7284
3.02M
    YYFILL(1);
7285
3.02M
    yych = *YYCURSOR;
7286
3.02M
    YYDEBUG(587, *YYCURSOR);
7287
3.02M
    if (yych <= '\n') {
7288
132k
      if (yych <= 0x00) goto yy86;
7289
119k
      if (yych <= '\t') goto yy586;
7290
90.1k
      goto yy495;
7291
2.88M
    } else {
7292
2.88M
      if (yych == '\r') goto yy495;
7293
2.55M
      goto yy586;
7294
2.88M
    }
7295
610k
yy588:
7296
610k
    YYDEBUG(588, *YYCURSOR);
7297
610k
    ++YYCURSOR;
7298
610k
    YYFILL(1);
7299
610k
    yych = *YYCURSOR;
7300
610k
    YYDEBUG(589, *YYCURSOR);
7301
610k
    if (yych <= 'D') {
7302
266k
      if (yych <= 0x1F) {
7303
35.3k
        if (yych <= '\t') {
7304
7.07k
          if (yych <= 0x00) goto yy86;
7305
5.73k
          if (yych <= 0x08) goto yy586;
7306
2.53k
          goto yy588;
7307
28.3k
        } else {
7308
28.3k
          if (yych <= '\n') goto yy495;
7309
25.7k
          if (yych == '\r') goto yy495;
7310
4.21k
          goto yy586;
7311
25.7k
        }
7312
231k
      } else {
7313
231k
        if (yych <= '#') {
7314
67.8k
          if (yych <= ' ') goto yy588;
7315
50.0k
          if (yych <= '"') goto yy586;
7316
48.0k
          goto yy663;
7317
163k
        } else {
7318
163k
          if (yych == '/') goto yy664;
7319
12.7k
          if (yych <= '@') goto yy586;
7320
1.26k
          goto yy665;
7321
12.7k
        }
7322
231k
      }
7323
343k
    } else {
7324
343k
      if (yych <= '`') {
7325
14.1k
        if (yych <= 'I') {
7326
10.3k
          if (yych <= 'E') goto yy666;
7327
8.81k
          if (yych <= 'H') goto yy665;
7328
8.16k
          goto yy667;
7329
8.81k
        } else {
7330
3.82k
          if (yych <= 'Z') goto yy665;
7331
2.50k
          if (yych == '_') goto yy665;
7332
1.05k
          goto yy586;
7333
2.50k
        }
7334
329k
      } else {
7335
329k
        if (yych <= 'h') {
7336
253k
          if (yych == 'e') goto yy666;
7337
5.83k
          goto yy665;
7338
253k
        } else {
7339
76.0k
          if (yych <= 'i') goto yy667;
7340
45.5k
          if (yych <= 'z') goto yy665;
7341
25.3k
          if (yych <= 0x7F) goto yy586;
7342
5.91k
          goto yy665;
7343
25.3k
        }
7344
329k
      }
7345
343k
    }
7346
2.86M
yy590:
7347
2.86M
    YYDEBUG(590, *YYCURSOR);
7348
2.86M
    ++YYCURSOR;
7349
2.86M
    YYFILL(1);
7350
2.86M
    yych = *YYCURSOR;
7351
2.86M
    YYDEBUG(591, *YYCURSOR);
7352
2.86M
    if (yych <= 0x00) goto yy86;
7353
2.83M
    if (yych == '*') goto yy668;
7354
2.77M
    goto yy590;
7355
2.77M
yy592:
7356
17.9k
    YYDEBUG(592, *YYCURSOR);
7357
17.9k
    yyaccept = 4;
7358
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
7359
17.9k
    if (yych == 'S') goto yy670;
7360
17.0k
    if (yych == 's') goto yy670;
7361
1.00k
    goto yy48;
7362
4.72k
yy593:
7363
4.72k
    YYDEBUG(593, *YYCURSOR);
7364
4.72k
    yyaccept = 4;
7365
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
7366
4.72k
    if (yych == 'Y') goto yy672;
7367
3.75k
    if (yych == 'y') goto yy672;
7368
355
    goto yy48;
7369
25.2k
yy594:
7370
25.2k
    YYDEBUG(594, *YYCURSOR);
7371
25.2k
    yyaccept = 4;
7372
25.2k
    yych = *(YYMARKER = ++YYCURSOR);
7373
25.2k
    if (yych == 'H') goto yy674;
7374
24.6k
    if (yych == 'h') goto yy674;
7375
519
    goto yy48;
7376
114k
yy595:
7377
114k
    YYDEBUG(595, *YYCURSOR);
7378
114k
    yyaccept = 4;
7379
114k
    yych = *(YYMARKER = ++YYCURSOR);
7380
114k
    if (yych == 'O') goto yy676;
7381
113k
    if (yych == 'o') goto yy676;
7382
2.43k
    goto yy48;
7383
6.25k
yy596:
7384
6.25k
    YYDEBUG(596, *YYCURSOR);
7385
6.25k
    yyaccept = 54;
7386
6.25k
    yych = *(YYMARKER = ++YYCURSOR);
7387
6.25k
    if (yybm[256+yych] & 128) {
7388
1.07k
      goto yy47;
7389
1.07k
    }
7390
5.18k
    if (yych == '\\') goto yy164;
7391
5.08k
yy597:
7392
5.08k
    YYDEBUG(597, *YYCURSOR);
7393
5.08k
    yyleng = YYCURSOR - SCNG(yy_text);
7394
5.08k
#line 1780 "Zend/zend_language_scanner.l"
7395
5.08k
    {
7396
5.08k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7397
5.08k
}
7398
0
#line 7399 "Zend/zend_language_scanner.c"
7399
13.0k
yy598:
7400
13.0k
    YYDEBUG(598, *YYCURSOR);
7401
13.0k
    yyaccept = 4;
7402
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
7403
13.0k
    if (yych == 'E') goto yy677;
7404
9.16k
    if (yych == 'e') goto yy677;
7405
2.04k
    goto yy48;
7406
9.53k
yy599:
7407
9.53k
    YYDEBUG(599, *YYCURSOR);
7408
9.53k
    yyaccept = 4;
7409
9.53k
    yych = *(YYMARKER = ++YYCURSOR);
7410
9.53k
    if (yych == 'E') goto yy678;
7411
7.26k
    if (yych == 'e') goto yy678;
7412
526
    goto yy48;
7413
5.23k
yy600:
7414
5.23k
    YYDEBUG(600, *YYCURSOR);
7415
5.23k
    yyaccept = 4;
7416
5.23k
    yych = *(YYMARKER = ++YYCURSOR);
7417
5.23k
    if (yych == 'C') goto yy680;
7418
3.79k
    if (yych == 'c') goto yy680;
7419
555
    goto yy48;
7420
6.32k
yy601:
7421
6.32k
    YYDEBUG(601, *YYCURSOR);
7422
6.32k
    yyaccept = 4;
7423
6.32k
    yych = *(YYMARKER = ++YYCURSOR);
7424
6.32k
    if (yych == 'D') goto yy681;
7425
5.35k
    if (yych == 'd') goto yy681;
7426
160
    goto yy48;
7427
7.51k
yy602:
7428
7.51k
    YYDEBUG(602, *YYCURSOR);
7429
7.51k
    yyaccept = 4;
7430
7.51k
    yych = *(YYMARKER = ++YYCURSOR);
7431
7.51k
    if (yych == 'A') goto yy682;
7432
6.55k
    if (yych == 'a') goto yy682;
7433
400
    goto yy48;
7434
20.4k
yy603:
7435
20.4k
    YYDEBUG(603, *YYCURSOR);
7436
20.4k
    yyaccept = 4;
7437
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
7438
20.4k
    if (yych == 'A') goto yy683;
7439
18.5k
    if (yych == 'a') goto yy683;
7440
809
    goto yy48;
7441
14.0k
yy604:
7442
14.0k
    YYDEBUG(604, *YYCURSOR);
7443
14.0k
    yyaccept = 4;
7444
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
7445
14.0k
    if (yych == 'E') goto yy684;
7446
12.4k
    if (yych == 'e') goto yy684;
7447
1.13k
    goto yy48;
7448
11.7k
yy605:
7449
11.7k
    YYDEBUG(605, *YYCURSOR);
7450
11.7k
    yyaccept = 4;
7451
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
7452
11.7k
    if (yych == 'T') goto yy686;
7453
10.7k
    if (yych == 't') goto yy686;
7454
1.31k
    goto yy48;
7455
69.1k
yy606:
7456
69.1k
    YYDEBUG(606, *YYCURSOR);
7457
69.1k
    yyaccept = 55;
7458
69.1k
    yych = *(YYMARKER = ++YYCURSOR);
7459
69.1k
    if (yybm[256+yych] & 128) {
7460
2.24k
      goto yy47;
7461
2.24k
    }
7462
66.8k
    if (yych == '(') goto yy687;
7463
65.2k
    if (yych == '\\') goto yy164;
7464
66.2k
yy607:
7465
66.2k
    YYDEBUG(607, *YYCURSOR);
7466
66.2k
    yyleng = YYCURSOR - SCNG(yy_text);
7467
66.2k
#line 1828 "Zend/zend_language_scanner.l"
7468
66.2k
    {
7469
66.2k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7470
66.2k
}
7471
0
#line 7472 "Zend/zend_language_scanner.c"
7472
6.31k
yy608:
7473
6.31k
    YYDEBUG(608, *YYCURSOR);
7474
6.31k
    yyaccept = 4;
7475
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
7476
6.31k
    if (yych == 'L') goto yy688;
7477
6.13k
    if (yych == 'l') goto yy688;
7478
1.39k
    goto yy48;
7479
22.0k
yy609:
7480
22.0k
    YYDEBUG(609, *YYCURSOR);
7481
22.0k
    yyaccept = 4;
7482
22.0k
    yych = *(YYMARKER = ++YYCURSOR);
7483
22.0k
    if (yych == 'E') goto yy689;
7484
20.8k
    if (yych == 'e') goto yy689;
7485
710
    goto yy48;
7486
31.3k
yy610:
7487
31.3k
    YYDEBUG(610, *YYCURSOR);
7488
31.3k
    yyaccept = 56;
7489
31.3k
    yych = *(YYMARKER = ++YYCURSOR);
7490
31.3k
    if (yybm[256+yych] & 128) {
7491
2.23k
      goto yy47;
7492
2.23k
    }
7493
29.1k
    if (yych == '\\') goto yy164;
7494
29.0k
yy611:
7495
29.0k
    YYDEBUG(611, *YYCURSOR);
7496
29.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7497
29.0k
#line 1449 "Zend/zend_language_scanner.l"
7498
29.0k
    {
7499
29.0k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7500
29.0k
}
7501
0
#line 7502 "Zend/zend_language_scanner.c"
7502
19.5k
yy612:
7503
19.5k
    YYDEBUG(612, *YYCURSOR);
7504
19.5k
    yyaccept = 57;
7505
19.5k
    yych = *(YYMARKER = ++YYCURSOR);
7506
19.5k
    if (yybm[256+yych] & 128) {
7507
737
      goto yy47;
7508
737
    }
7509
18.7k
    if (yych == '\\') goto yy164;
7510
18.7k
yy613:
7511
18.7k
    YYDEBUG(613, *YYCURSOR);
7512
18.7k
    yyleng = YYCURSOR - SCNG(yy_text);
7513
18.7k
#line 1796 "Zend/zend_language_scanner.l"
7514
18.7k
    {
7515
18.7k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7516
18.7k
}
7517
0
#line 7518 "Zend/zend_language_scanner.c"
7518
5.10k
yy614:
7519
5.10k
    YYDEBUG(614, *YYCURSOR);
7520
5.10k
    yyaccept = 58;
7521
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
7522
5.10k
    if (yybm[256+yych] & 128) {
7523
564
      goto yy47;
7524
564
    }
7525
4.54k
    if (yych == '\\') goto yy164;
7526
4.54k
yy615:
7527
4.54k
    YYDEBUG(615, *YYCURSOR);
7528
4.54k
    yyleng = YYCURSOR - SCNG(yy_text);
7529
4.54k
#line 1544 "Zend/zend_language_scanner.l"
7530
4.54k
    {
7531
4.54k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7532
4.54k
}
7533
0
#line 7534 "Zend/zend_language_scanner.c"
7534
275k
yy616:
7535
275k
    YYDEBUG(616, *YYCURSOR);
7536
275k
    ++YYCURSOR;
7537
275k
    YYFILL(5);
7538
275k
    yych = *YYCURSOR;
7539
275k
    YYDEBUG(617, *YYCURSOR);
7540
275k
    if (yych <= '"') {
7541
65.6k
      if (yych <= '\f') {
7542
43.6k
        if (yych <= 0x08) goto yy86;
7543
42.4k
        if (yych <= '\n') goto yy616;
7544
934
        goto yy86;
7545
42.4k
      } else {
7546
21.9k
        if (yych <= '\r') goto yy616;
7547
3.77k
        if (yych == ' ') goto yy616;
7548
1.18k
        goto yy86;
7549
3.77k
      }
7550
209k
    } else {
7551
209k
      if (yych <= 'E') {
7552
195k
        if (yych <= '#') goto yy618;
7553
16.5k
        if (yych == '/') goto yy619;
7554
10.3k
        goto yy86;
7555
16.5k
      } else {
7556
14.2k
        if (yych <= 'F') goto yy691;
7557
11.9k
        if (yych == 'f') goto yy691;
7558
5.37k
        goto yy86;
7559
11.9k
      }
7560
209k
    }
7561
218k
yy618:
7562
218k
    YYDEBUG(618, *YYCURSOR);
7563
218k
    ++YYCURSOR;
7564
218k
    YYFILL(1);
7565
218k
    yych = *YYCURSOR;
7566
218k
    if (yych <= '\f') {
7567
90.8k
      if (yych <= 0x00) goto yy86;
7568
89.8k
      if (yych == '\n') goto yy694;
7569
611
      goto yy692;
7570
128k
    } else {
7571
128k
      if (yych <= '\r') goto yy694;
7572
40.8k
      if (yych == '[') goto yy86;
7573
40.6k
      goto yy692;
7574
40.8k
    }
7575
6.86k
yy619:
7576
6.86k
    YYDEBUG(619, *YYCURSOR);
7577
6.86k
    ++YYCURSOR;
7578
6.86k
    YYFILL(1);
7579
6.86k
    yych = *YYCURSOR;
7580
6.86k
    if (yych == '*') goto yy696;
7581
1.47k
    if (yych == '/') goto yy692;
7582
1.07k
    goto yy86;
7583
7.69k
yy620:
7584
7.69k
    YYDEBUG(620, *YYCURSOR);
7585
7.69k
    yyaccept = 4;
7586
7.69k
    yych = *(YYMARKER = ++YYCURSOR);
7587
7.69k
    if (yych == 'S') goto yy698;
7588
5.92k
    if (yych == 's') goto yy698;
7589
526
    goto yy48;
7590
4.11k
yy621:
7591
4.11k
    YYDEBUG(621, *YYCURSOR);
7592
4.11k
    yyaccept = 4;
7593
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
7594
4.11k
    if (yych == '_') goto yy699;
7595
1.21k
    goto yy48;
7596
10.3k
yy622:
7597
10.3k
    YYDEBUG(622, *YYCURSOR);
7598
10.3k
    yyaccept = 4;
7599
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
7600
10.3k
    if (yych == '_') goto yy701;
7601
815
    goto yy48;
7602
7.16k
yy623:
7603
7.16k
    YYDEBUG(623, *YYCURSOR);
7604
7.16k
    yyaccept = 4;
7605
7.16k
    yych = *(YYMARKER = ++YYCURSOR);
7606
7.16k
    if (yych == 'T') goto yy702;
7607
1.99k
    if (yych == 't') goto yy702;
7608
957
    goto yy48;
7609
5.54k
yy624:
7610
5.54k
    YYDEBUG(624, *YYCURSOR);
7611
5.54k
    yyaccept = 4;
7612
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
7613
5.54k
    if (yych == '_') goto yy703;
7614
829
    goto yy48;
7615
3.11k
yy625:
7616
3.11k
    YYDEBUG(625, *YYCURSOR);
7617
3.11k
    yyaccept = 4;
7618
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
7619
3.11k
    if (yych == '_') goto yy704;
7620
490
    goto yy48;
7621
12.5k
yy626:
7622
12.5k
    YYDEBUG(626, *YYCURSOR);
7623
12.5k
    yyaccept = 4;
7624
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
7625
12.5k
    if (yych == 'O') goto yy705;
7626
4.37k
    if (yych == 'o') goto yy705;
7627
893
    goto yy48;
7628
9.12k
yy627:
7629
9.12k
    YYDEBUG(627, *YYCURSOR);
7630
9.12k
    yyaccept = 4;
7631
9.12k
    yych = *(YYMARKER = ++YYCURSOR);
7632
9.12k
    if (yych == 'S') goto yy706;
7633
5.04k
    if (yych == 's') goto yy706;
7634
1.14k
    goto yy48;
7635
2.94k
yy628:
7636
2.94k
    YYDEBUG(628, *YYCURSOR);
7637
2.94k
    yyaccept = 4;
7638
2.94k
    yych = *(YYMARKER = ++YYCURSOR);
7639
2.94k
    if (yych == 'E') goto yy707;
7640
955
    if (yych == 'e') goto yy707;
7641
248
    goto yy48;
7642
4.40k
yy629:
7643
4.40k
    YYDEBUG(629, *YYCURSOR);
7644
4.40k
    yyaccept = 4;
7645
4.40k
    yych = *(YYMARKER = ++YYCURSOR);
7646
4.40k
    if (yych == 'T') goto yy708;
7647
3.17k
    if (yych == 't') goto yy708;
7648
501
    goto yy48;
7649
112k
yy630:
7650
112k
    YYDEBUG(630, *YYCURSOR);
7651
112k
    ++YYCURSOR;
7652
112k
    YYFILL(1);
7653
112k
    yych = *YYCURSOR;
7654
112k
    if (yych <= '\r') {
7655
83.6k
      if (yych <= '\t') {
7656
767
        if (yych <= 0x00) goto yy86;
7657
391
        goto yy443;
7658
82.8k
      } else {
7659
82.8k
        if (yych <= '\n') goto yy709;
7660
26.0k
        if (yych <= '\f') goto yy443;
7661
25.4k
        goto yy709;
7662
26.0k
      }
7663
83.6k
    } else {
7664
28.6k
      if (yych <= '*') {
7665
6.13k
        if (yych <= ')') goto yy443;
7666
1.64k
        goto yy547;
7667
22.5k
      } else {
7668
22.5k
        if (yych == '[') goto yy230;
7669
22.3k
        goto yy443;
7670
22.5k
      }
7671
28.6k
    }
7672
4.80k
yy631:
7673
4.80k
    YYDEBUG(631, *YYCURSOR);
7674
4.80k
    yyaccept = 26;
7675
4.80k
    YYMARKER = ++YYCURSOR;
7676
4.80k
    YYFILL(1);
7677
4.80k
    yych = *YYCURSOR;
7678
4.80k
    if (yybm[0+yych] & 4) {
7679
4.41k
      goto yy230;
7680
4.41k
    }
7681
393
    if (yych <= 0x00) goto yy89;
7682
159
    goto yy355;
7683
2.03k
yy632:
7684
2.03k
    YYDEBUG(632, *YYCURSOR);
7685
2.03k
    ++YYCURSOR;
7686
2.03k
    YYFILL(1);
7687
2.03k
    yych = *YYCURSOR;
7688
2.03k
    if (yybm[0+yych] & 64) {
7689
455
      goto yy355;
7690
455
    }
7691
1.58k
    if (yych <= 0x00) goto yy86;
7692
1.30k
    if (yych == '.') goto yy711;
7693
519
    goto yy230;
7694
28.9k
yy633:
7695
28.9k
    YYDEBUG(633, *YYCURSOR);
7696
28.9k
    ++YYCURSOR;
7697
28.9k
    YYFILL(1);
7698
28.9k
    yych = *YYCURSOR;
7699
28.9k
    if (yych <= '*') {
7700
26.8k
      if (yych <= 0x00) goto yy86;
7701
26.5k
      if (yych <= ')') goto yy230;
7702
25.9k
      goto yy712;
7703
26.5k
    } else {
7704
2.12k
      if (yych == '/') goto yy443;
7705
1.12k
      goto yy230;
7706
2.12k
    }
7707
2.11k
yy634:
7708
2.11k
    YYDEBUG(634, *YYCURSOR);
7709
2.11k
    ++YYCURSOR;
7710
2.11k
    YYDEBUG(635, *YYCURSOR);
7711
2.11k
    yyleng = YYCURSOR - SCNG(yy_text);
7712
2.11k
#line 1718 "Zend/zend_language_scanner.l"
7713
2.11k
    {
7714
2.11k
  RETURN_TOKEN(T_ARRAY_CAST);
7715
2.11k
}
7716
0
#line 7717 "Zend/zend_language_scanner.c"
7717
1.62k
yy636:
7718
1.62k
    YYDEBUG(636, *YYCURSOR);
7719
1.62k
    ++YYCURSOR;
7720
1.62k
    YYFILL(1);
7721
1.62k
    yych = *YYCURSOR;
7722
1.62k
    YYDEBUG(637, *YYCURSOR);
7723
1.62k
    if (yych <= 0x1F) {
7724
441
      if (yych == '\t') goto yy636;
7725
216
      goto yy86;
7726
1.18k
    } else {
7727
1.18k
      if (yych <= ' ') goto yy636;
7728
878
      if (yych == ')') goto yy713;
7729
411
      goto yy86;
7730
878
    }
7731
1.23k
yy638:
7732
1.23k
    YYDEBUG(638, *YYCURSOR);
7733
1.23k
    yych = *++YYCURSOR;
7734
1.23k
    if (yych == 'N') goto yy715;
7735
717
    if (yych == 'n') goto yy715;
7736
271
    goto yy86;
7737
3.67k
yy639:
7738
3.67k
    YYDEBUG(639, *YYCURSOR);
7739
3.67k
    ++YYCURSOR;
7740
3.67k
    YYFILL(1);
7741
3.67k
    yych = *YYCURSOR;
7742
3.67k
    YYDEBUG(640, *YYCURSOR);
7743
3.67k
    if (yych <= 0x1F) {
7744
1.91k
      if (yych == '\t') goto yy639;
7745
74
      goto yy86;
7746
1.91k
    } else {
7747
1.75k
      if (yych <= ' ') goto yy639;
7748
1.68k
      if (yych == ')') goto yy717;
7749
948
      goto yy86;
7750
1.68k
    }
7751
1.19k
yy641:
7752
1.19k
    YYDEBUG(641, *YYCURSOR);
7753
1.19k
    ++YYCURSOR;
7754
1.19k
    YYDEBUG(642, *YYCURSOR);
7755
1.19k
    yyleng = YYCURSOR - SCNG(yy_text);
7756
1.19k
#line 1682 "Zend/zend_language_scanner.l"
7757
1.19k
    {
7758
1.19k
  RETURN_TOKEN(T_DOUBLE_CAST);
7759
1.19k
}
7760
0
#line 7761 "Zend/zend_language_scanner.c"
7761
1.71k
yy643:
7762
1.71k
    YYDEBUG(643, *YYCURSOR);
7763
1.71k
    yych = *++YYCURSOR;
7764
1.71k
    if (yych == 'R') goto yy719;
7765
1.66k
    if (yych == 'r') goto yy719;
7766
217
    goto yy86;
7767
4.27k
yy644:
7768
4.27k
    YYDEBUG(644, *YYCURSOR);
7769
4.27k
    ++YYCURSOR;
7770
4.27k
    YYFILL(1);
7771
4.27k
    yych = *YYCURSOR;
7772
4.27k
    YYDEBUG(645, *YYCURSOR);
7773
4.27k
    if (yych <= 0x1F) {
7774
491
      if (yych == '\t') goto yy644;
7775
318
      goto yy86;
7776
3.78k
    } else {
7777
3.78k
      if (yych <= ' ') goto yy644;
7778
1.97k
      if (yych == ')') goto yy721;
7779
656
      goto yy86;
7780
1.97k
    }
7781
13.5k
yy646:
7782
13.5k
    YYDEBUG(646, *YYCURSOR);
7783
13.5k
    ++YYCURSOR;
7784
13.5k
    YYFILL(1);
7785
13.5k
    yych = *YYCURSOR;
7786
13.5k
    YYDEBUG(647, *YYCURSOR);
7787
13.5k
    if (yych <= 0x1F) {
7788
3.50k
      if (yych == '\t') goto yy646;
7789
3.13k
      goto yy86;
7790
10.0k
    } else {
7791
10.0k
      if (yych <= ' ') goto yy646;
7792
7.81k
      if (yych == ')') goto yy723;
7793
2.70k
      goto yy86;
7794
7.81k
    }
7795
634
yy648:
7796
634
    YYDEBUG(648, *YYCURSOR);
7797
634
    ++YYCURSOR;
7798
634
    YYDEBUG(649, *YYCURSOR);
7799
634
    yyleng = YYCURSOR - SCNG(yy_text);
7800
634
#line 1740 "Zend/zend_language_scanner.l"
7801
634
    {
7802
634
  RETURN_TOKEN(T_UNSET_CAST);
7803
634
}
7804
0
#line 7805 "Zend/zend_language_scanner.c"
7805
6.01k
yy650:
7806
6.01k
    YYDEBUG(650, *YYCURSOR);
7807
6.01k
    yyaccept = 4;
7808
6.01k
    yych = *(YYMARKER = ++YYCURSOR);
7809
6.01k
    if (yych == 'T') goto yy725;
7810
5.13k
    if (yych == 't') goto yy725;
7811
379
    goto yy48;
7812
3.45k
yy651:
7813
3.45k
    YYDEBUG(651, *YYCURSOR);
7814
3.45k
    yyaccept = 4;
7815
3.45k
    yych = *(YYMARKER = ++YYCURSOR);
7816
3.45k
    if (yych == 'E') goto yy727;
7817
2.82k
    if (yych == 'e') goto yy727;
7818
478
    goto yy48;
7819
3.93k
yy652:
7820
3.93k
    YYDEBUG(652, *YYCURSOR);
7821
3.93k
    yyaccept = 4;
7822
3.93k
    yych = *(YYMARKER = ++YYCURSOR);
7823
3.93k
    if (yych == 'E') goto yy729;
7824
3.09k
    if (yych == 'e') goto yy729;
7825
286
    goto yy48;
7826
7.46k
yy653:
7827
7.46k
    YYDEBUG(653, *YYCURSOR);
7828
7.46k
    yyaccept = 59;
7829
7.46k
    yych = *(YYMARKER = ++YYCURSOR);
7830
7.46k
    if (yybm[256+yych] & 128) {
7831
1.09k
      goto yy47;
7832
1.09k
    }
7833
6.37k
    if (yych == '\\') goto yy164;
7834
6.36k
yy654:
7835
6.36k
    YYDEBUG(654, *YYCURSOR);
7836
6.36k
    yyleng = YYCURSOR - SCNG(yy_text);
7837
6.36k
#line 1528 "Zend/zend_language_scanner.l"
7838
6.36k
    {
7839
6.36k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7840
6.36k
}
7841
0
#line 7842 "Zend/zend_language_scanner.c"
7842
2.71k
yy655:
7843
2.71k
    YYDEBUG(655, *YYCURSOR);
7844
2.71k
    yyaccept = 60;
7845
2.71k
    yych = *(YYMARKER = ++YYCURSOR);
7846
2.71k
    if (yybm[256+yych] & 128) {
7847
212
      goto yy47;
7848
212
    }
7849
2.50k
    if (yych == '\\') goto yy164;
7850
2.28k
yy656:
7851
2.28k
    YYDEBUG(656, *YYCURSOR);
7852
2.28k
    yyleng = YYCURSOR - SCNG(yy_text);
7853
2.28k
#line 1560 "Zend/zend_language_scanner.l"
7854
2.28k
    {
7855
2.28k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7856
2.28k
}
7857
0
#line 7858 "Zend/zend_language_scanner.c"
7858
4.06k
yy657:
7859
4.06k
    YYDEBUG(657, *YYCURSOR);
7860
4.06k
    yyaccept = 4;
7861
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
7862
4.06k
    if (yych == 'A') goto yy731;
7863
3.47k
    if (yych == 'a') goto yy731;
7864
521
    goto yy48;
7865
5.82k
yy658:
7866
5.82k
    YYDEBUG(658, *YYCURSOR);
7867
5.82k
    yyaccept = 4;
7868
5.82k
    yych = *(YYMARKER = ++YYCURSOR);
7869
5.82k
    if (yych == 'A') goto yy732;
7870
3.97k
    if (yych == 'a') goto yy732;
7871
703
    goto yy48;
7872
2.22k
yy659:
7873
2.22k
    YYDEBUG(659, *YYCURSOR);
7874
2.22k
    yyaccept = 4;
7875
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
7876
2.22k
    if (yych == 'C') goto yy733;
7877
1.79k
    if (yych == 'c') goto yy733;
7878
637
    goto yy48;
7879
6.85k
yy660:
7880
6.85k
    YYDEBUG(660, *YYCURSOR);
7881
6.85k
    yyaccept = 4;
7882
6.85k
    yych = *(YYMARKER = ++YYCURSOR);
7883
6.85k
    if (yych == 'E') goto yy734;
7884
5.96k
    if (yych == 'e') goto yy734;
7885
1.69k
    goto yy48;
7886
3.29k
yy661:
7887
3.29k
    YYDEBUG(661, *YYCURSOR);
7888
3.29k
    yych = *++YYCURSOR;
7889
3.29k
    if (yych == 'T') goto yy736;
7890
3.09k
    if (yych == 't') goto yy736;
7891
1.11k
    goto yy86;
7892
3.52k
yy662:
7893
3.52k
    YYDEBUG(662, *YYCURSOR);
7894
3.52k
    yych = *++YYCURSOR;
7895
3.52k
    if (yych == 'P') goto yy737;
7896
2.75k
    if (yych == 'p') goto yy737;
7897
472
    goto yy86;
7898
48.0k
yy663:
7899
48.0k
    YYDEBUG(663, *YYCURSOR);
7900
48.0k
    ++YYCURSOR;
7901
48.0k
    YYFILL(1);
7902
48.0k
    yych = *YYCURSOR;
7903
48.0k
    if (yych <= '\n') {
7904
36.7k
      if (yych <= 0x00) goto yy86;
7905
36.4k
      if (yych <= '\t') goto yy586;
7906
35.9k
      goto yy588;
7907
36.4k
    } else {
7908
11.3k
      if (yych == '\r') goto yy588;
7909
5.99k
      goto yy586;
7910
11.3k
    }
7911
150k
yy664:
7912
150k
    YYDEBUG(664, *YYCURSOR);
7913
150k
    ++YYCURSOR;
7914
150k
    YYFILL(1);
7915
150k
    yych = *YYCURSOR;
7916
150k
    if (yych <= '\f') {
7917
2.24k
      if (yych <= 0x00) goto yy86;
7918
1.49k
      if (yych == '\n') goto yy495;
7919
878
      goto yy586;
7920
148k
    } else {
7921
148k
      if (yych <= '\r') goto yy495;
7922
138k
      if (yych == '*') goto yy738;
7923
12.2k
      goto yy586;
7924
138k
    }
7925
36.6k
yy665:
7926
36.6k
    YYDEBUG(665, *YYCURSOR);
7927
36.6k
    yyaccept = 53;
7928
36.6k
    YYMARKER = ++YYCURSOR;
7929
36.6k
    YYFILL(1);
7930
36.6k
    yych = *YYCURSOR;
7931
36.6k
    if (yych <= '\n') {
7932
5.09k
      if (yych <= 0x00) goto yy583;
7933
4.47k
      if (yych <= '\t') goto yy586;
7934
959
      goto yy495;
7935
31.5k
    } else {
7936
31.5k
      if (yych == '\r') goto yy495;
7937
30.0k
      goto yy586;
7938
31.5k
    }
7939
249k
yy666:
7940
249k
    YYDEBUG(666, *YYCURSOR);
7941
249k
    yyaccept = 53;
7942
249k
    YYMARKER = ++YYCURSOR;
7943
249k
    YYFILL(1);
7944
249k
    yych = *YYCURSOR;
7945
249k
    if (yych <= '\r') {
7946
39.0k
      if (yych <= '\t') {
7947
26.6k
        if (yych <= 0x00) goto yy583;
7948
26.1k
        goto yy586;
7949
26.6k
      } else {
7950
12.3k
        if (yych <= '\n') goto yy495;
7951
11.5k
        if (yych <= '\f') goto yy586;
7952
5.13k
        goto yy495;
7953
11.5k
      }
7954
210k
    } else {
7955
210k
      if (yych <= 'X') {
7956
105k
        if (yych <= 'W') goto yy586;
7957
1.96k
        goto yy740;
7958
105k
      } else {
7959
104k
        if (yych == 'x') goto yy740;
7960
70.7k
        goto yy586;
7961
104k
      }
7962
210k
    }
7963
38.6k
yy667:
7964
38.6k
    YYDEBUG(667, *YYCURSOR);
7965
38.6k
    yyaccept = 53;
7966
38.6k
    YYMARKER = ++YYCURSOR;
7967
38.6k
    YYFILL(1);
7968
38.6k
    yych = *YYCURSOR;
7969
38.6k
    if (yych <= '\r') {
7970
2.10k
      if (yych <= '\t') {
7971
340
        if (yych <= 0x00) goto yy583;
7972
63
        goto yy586;
7973
1.76k
      } else {
7974
1.76k
        if (yych <= '\n') goto yy495;
7975
1.57k
        if (yych <= '\f') goto yy586;
7976
219
        goto yy495;
7977
1.57k
      }
7978
36.5k
    } else {
7979
36.5k
      if (yych <= 'M') {
7980
9.06k
        if (yych <= 'L') goto yy586;
7981
7.35k
        goto yy741;
7982
27.5k
      } else {
7983
27.5k
        if (yych == 'm') goto yy741;
7984
5.44k
        goto yy586;
7985
27.5k
      }
7986
36.5k
    }
7987
74.7k
yy668:
7988
74.7k
    YYDEBUG(668, *YYCURSOR);
7989
74.7k
    ++YYCURSOR;
7990
74.7k
    YYFILL(1);
7991
74.7k
    yych = *YYCURSOR;
7992
74.7k
    YYDEBUG(669, *YYCURSOR);
7993
74.7k
    if (yych <= '*') {
7994
13.2k
      if (yych <= 0x00) goto yy86;
7995
11.9k
      if (yych <= ')') goto yy590;
7996
2.23k
      goto yy668;
7997
61.5k
    } else {
7998
61.5k
      if (yych == '/') goto yy495;
7999
5.03k
      goto yy590;
8000
61.5k
    }
8001
16.9k
yy670:
8002
16.9k
    YYDEBUG(670, *YYCURSOR);
8003
16.9k
    yyaccept = 61;
8004
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
8005
16.9k
    if (yybm[256+yych] & 128) {
8006
588
      goto yy47;
8007
588
    }
8008
16.3k
    if (yych == '\\') goto yy164;
8009
16.3k
yy671:
8010
16.3k
    YYDEBUG(671, *YYCURSOR);
8011
16.3k
    yyleng = YYCURSOR - SCNG(yy_text);
8012
16.3k
#line 1609 "Zend/zend_language_scanner.l"
8013
16.3k
    {
8014
16.3k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
8015
16.3k
}
8016
0
#line 8017 "Zend/zend_language_scanner.c"
8017
4.36k
yy672:
8018
4.36k
    YYDEBUG(672, *YYCURSOR);
8019
4.36k
    yyaccept = 62;
8020
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
8021
4.36k
    if (yybm[256+yych] & 128) {
8022
1.21k
      goto yy47;
8023
1.21k
    }
8024
3.15k
    if (yych == '\\') goto yy164;
8025
3.12k
yy673:
8026
3.12k
    YYDEBUG(673, *YYCURSOR);
8027
3.12k
    yyleng = YYCURSOR - SCNG(yy_text);
8028
3.12k
#line 1476 "Zend/zend_language_scanner.l"
8029
3.12k
    {
8030
3.12k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8031
3.12k
}
8032
0
#line 8033 "Zend/zend_language_scanner.c"
8033
24.7k
yy674:
8034
24.7k
    YYDEBUG(674, *YYCURSOR);
8035
24.7k
    yyaccept = 63;
8036
24.7k
    yych = *(YYMARKER = ++YYCURSOR);
8037
24.7k
    if (yybm[256+yych] & 128) {
8038
733
      goto yy47;
8039
733
    }
8040
24.0k
    if (yych == '\\') goto yy164;
8041
24.0k
yy675:
8042
24.0k
    YYDEBUG(675, *YYCURSOR);
8043
24.0k
    yyleng = YYCURSOR - SCNG(yy_text);
8044
24.0k
#line 1520 "Zend/zend_language_scanner.l"
8045
24.0k
    {
8046
24.0k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8047
24.0k
}
8048
0
#line 8049 "Zend/zend_language_scanner.c"
8049
112k
yy676:
8050
112k
    YYDEBUG(676, *YYCURSOR);
8051
112k
    yyaccept = 4;
8052
112k
    yych = *(YYMARKER = ++YYCURSOR);
8053
112k
    if (yych == 'N') goto yy742;
8054
111k
    if (yych == 'n') goto yy742;
8055
1.24k
    goto yy48;
8056
10.9k
yy677:
8057
10.9k
    YYDEBUG(677, *YYCURSOR);
8058
10.9k
    yyaccept = 4;
8059
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
8060
10.9k
    if (yych == 'N') goto yy744;
8061
7.38k
    if (yych == 'n') goto yy744;
8062
1.23k
    goto yy48;
8063
9.00k
yy678:
8064
9.00k
    YYDEBUG(678, *YYCURSOR);
8065
9.00k
    yyaccept = 64;
8066
9.00k
    yych = *(YYMARKER = ++YYCURSOR);
8067
9.00k
    if (yych <= '\\') {
8068
4.31k
      if (yych <= '@') {
8069
3.37k
        if (yych <= '/') goto yy679;
8070
673
        if (yych <= '9') goto yy47;
8071
939
      } else {
8072
939
        if (yych <= 'Z') goto yy47;
8073
603
        if (yych >= '\\') goto yy164;
8074
603
      }
8075
4.69k
    } else {
8076
4.69k
      if (yych <= '`') {
8077
4.28k
        if (yych == '_') goto yy745;
8078
4.28k
      } else {
8079
406
        if (yych <= 'z') goto yy47;
8080
308
        if (yych >= 0x80) goto yy47;
8081
308
      }
8082
4.69k
    }
8083
4.02k
yy679:
8084
4.02k
    YYDEBUG(679, *YYCURSOR);
8085
4.02k
    yyleng = YYCURSOR - SCNG(yy_text);
8086
4.02k
#line 1752 "Zend/zend_language_scanner.l"
8087
4.02k
    {
8088
4.02k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8089
4.02k
}
8090
0
#line 8091 "Zend/zend_language_scanner.c"
8091
4.67k
yy680:
8092
4.67k
    YYDEBUG(680, *YYCURSOR);
8093
4.67k
    yyaccept = 4;
8094
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
8095
4.67k
    if (yych == 'E') goto yy746;
8096
3.18k
    if (yych == 'e') goto yy746;
8097
457
    goto yy48;
8098
6.16k
yy681:
8099
6.16k
    YYDEBUG(681, *YYCURSOR);
8100
6.16k
    yyaccept = 4;
8101
6.16k
    yych = *(YYMARKER = ++YYCURSOR);
8102
6.16k
    if (yych == 'O') goto yy747;
8103
5.01k
    if (yych == 'o') goto yy747;
8104
432
    goto yy48;
8105
7.11k
yy682:
8106
7.11k
    YYDEBUG(682, *YYCURSOR);
8107
7.11k
    yyaccept = 4;
8108
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
8109
7.11k
    if (yych == 'C') goto yy748;
8110
6.18k
    if (yych == 'c') goto yy748;
8111
414
    goto yy48;
8112
19.6k
yy683:
8113
19.6k
    YYDEBUG(683, *YYCURSOR);
8114
19.6k
    yyaccept = 4;
8115
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
8116
19.6k
    if (yych == 'C') goto yy749;
8117
17.3k
    if (yych == 'c') goto yy749;
8118
807
    goto yy48;
8119
12.9k
yy684:
8120
12.9k
    YYDEBUG(684, *YYCURSOR);
8121
12.9k
    yyaccept = 65;
8122
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
8123
12.9k
    if (yybm[256+yych] & 128) {
8124
824
      goto yy47;
8125
824
    }
8126
12.0k
    if (yych == '(') goto yy750;
8127
9.33k
    if (yych == '\\') goto yy164;
8128
11.3k
yy685:
8129
11.3k
    YYDEBUG(685, *YYCURSOR);
8130
11.3k
    yyleng = YYCURSOR - SCNG(yy_text);
8131
11.3k
#line 1808 "Zend/zend_language_scanner.l"
8132
11.3k
    {
8133
11.3k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8134
11.3k
}
8135
0
#line 8136 "Zend/zend_language_scanner.c"
8136
10.4k
yy686:
8137
10.4k
    YYDEBUG(686, *YYCURSOR);
8138
10.4k
    yyaccept = 4;
8139
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
8140
10.4k
    if (yych == 'E') goto yy751;
8141
8.78k
    if (yych == 'e') goto yy751;
8142
800
    goto yy48;
8143
1.58k
yy687:
8144
1.58k
    YYDEBUG(687, *YYCURSOR);
8145
1.58k
    yych = *++YYCURSOR;
8146
1.58k
    if (yych == 'S') goto yy752;
8147
1.28k
    if (yych == 's') goto yy752;
8148
352
    goto yy86;
8149
4.91k
yy688:
8150
4.91k
    YYDEBUG(688, *YYCURSOR);
8151
4.91k
    yyaccept = 4;
8152
4.91k
    yych = *(YYMARKER = ++YYCURSOR);
8153
4.91k
    if (yych == 'Y') goto yy753;
8154
4.69k
    if (yych == 'y') goto yy753;
8155
927
    goto yy48;
8156
21.3k
yy689:
8157
21.3k
    YYDEBUG(689, *YYCURSOR);
8158
21.3k
    yyaccept = 66;
8159
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
8160
21.3k
    if (yych <= '\\') {
8161
10.5k
      if (yych <= '@') {
8162
9.86k
        if (yych <= '/') goto yy690;
8163
1.63k
        if (yych <= '9') goto yy47;
8164
1.63k
      } else {
8165
678
        if (yych <= 'Z') goto yy47;
8166
327
        if (yych >= '\\') goto yy164;
8167
327
      }
8168
10.8k
    } else {
8169
10.8k
      if (yych <= '`') {
8170
2.61k
        if (yych == '_') goto yy755;
8171
8.19k
      } else {
8172
8.19k
        if (yych <= 'z') goto yy47;
8173
7.54k
        if (yych >= 0x80) goto yy47;
8174
7.54k
      }
8175
10.8k
    }
8176
9.21k
yy690:
8177
9.21k
    YYDEBUG(690, *YYCURSOR);
8178
9.21k
    yyleng = YYCURSOR - SCNG(yy_text);
8179
9.21k
#line 1760 "Zend/zend_language_scanner.l"
8180
9.21k
    {
8181
9.21k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8182
9.21k
}
8183
0
#line 8184 "Zend/zend_language_scanner.c"
8184
10.3k
yy691:
8185
10.3k
    YYDEBUG(691, *YYCURSOR);
8186
10.3k
    yych = *++YYCURSOR;
8187
10.3k
    if (yych == 'R') goto yy756;
8188
7.56k
    if (yych == 'r') goto yy756;
8189
3.50k
    goto yy86;
8190
916k
yy692:
8191
916k
    YYDEBUG(692, *YYCURSOR);
8192
916k
    ++YYCURSOR;
8193
916k
    YYFILL(1);
8194
916k
    yych = *YYCURSOR;
8195
916k
    YYDEBUG(693, *YYCURSOR);
8196
916k
    if (yych <= '\n') {
8197
75.0k
      if (yych <= 0x00) goto yy86;
8198
70.4k
      if (yych <= '\t') goto yy692;
8199
59.9k
      goto yy616;
8200
841k
    } else {
8201
841k
      if (yych == '\r') goto yy616;
8202
782k
      goto yy692;
8203
841k
    }
8204
205k
yy694:
8205
205k
    YYDEBUG(694, *YYCURSOR);
8206
205k
    ++YYCURSOR;
8207
205k
    YYFILL(1);
8208
205k
    yych = *YYCURSOR;
8209
205k
    YYDEBUG(695, *YYCURSOR);
8210
205k
    if (yych <= ' ') {
8211
22.6k
      if (yych <= '\n') {
8212
4.12k
        if (yych <= 0x00) goto yy86;
8213
3.31k
        if (yych <= 0x08) goto yy692;
8214
2.78k
        if (yych <= '\t') goto yy694;
8215
1.56k
        goto yy616;
8216
18.4k
      } else {
8217
18.4k
        if (yych == '\r') goto yy616;
8218
2.08k
        if (yych <= 0x1F) goto yy692;
8219
1.06k
        goto yy694;
8220
2.08k
      }
8221
182k
    } else {
8222
182k
      if (yych <= '/') {
8223
121k
        if (yych == '#') goto yy757;
8224
110k
        if (yych <= '.') goto yy692;
8225
102k
        goto yy758;
8226
110k
      } else {
8227
60.9k
        if (yych <= 'F') {
8228
26.8k
          if (yych <= 'E') goto yy692;
8229
17.1k
          goto yy759;
8230
34.1k
        } else {
8231
34.1k
          if (yych == 'f') goto yy759;
8232
33.1k
          goto yy692;
8233
34.1k
        }
8234
60.9k
      }
8235
182k
    }
8236
1.84M
yy696:
8237
1.84M
    YYDEBUG(696, *YYCURSOR);
8238
1.84M
    ++YYCURSOR;
8239
1.84M
    YYFILL(1);
8240
1.84M
    yych = *YYCURSOR;
8241
1.84M
    YYDEBUG(697, *YYCURSOR);
8242
1.84M
    if (yych <= 0x00) goto yy86;
8243
1.83M
    if (yych == '*') goto yy760;
8244
1.78M
    goto yy696;
8245
1.78M
yy698:
8246
7.17k
    YYDEBUG(698, *YYCURSOR);
8247
7.17k
    yyaccept = 4;
8248
7.17k
    yych = *(YYMARKER = ++YYCURSOR);
8249
7.17k
    if (yych == '_') goto yy762;
8250
368
    goto yy48;
8251
2.89k
yy699:
8252
2.89k
    YYDEBUG(699, *YYCURSOR);
8253
2.89k
    yyaccept = 67;
8254
2.89k
    yych = *(YYMARKER = ++YYCURSOR);
8255
2.89k
    if (yybm[256+yych] & 128) {
8256
686
      goto yy47;
8257
686
    }
8258
2.21k
    if (yych == '\\') goto yy164;
8259
2.21k
yy700:
8260
2.21k
    YYDEBUG(700, *YYCURSOR);
8261
2.21k
    yyleng = YYCURSOR - SCNG(yy_text);
8262
2.21k
#line 2311 "Zend/zend_language_scanner.l"
8263
2.21k
    {
8264
2.21k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8265
2.21k
}
8266
0
#line 8267 "Zend/zend_language_scanner.c"
8267
9.49k
yy701:
8268
9.49k
    YYDEBUG(701, *YYCURSOR);
8269
9.49k
    yyaccept = 4;
8270
9.49k
    yych = *(YYMARKER = ++YYCURSOR);
8271
9.49k
    if (yych == '_') goto yy763;
8272
2.56k
    goto yy48;
8273
6.21k
yy702:
8274
6.21k
    YYDEBUG(702, *YYCURSOR);
8275
6.21k
    yyaccept = 4;
8276
6.21k
    yych = *(YYMARKER = ++YYCURSOR);
8277
6.21k
    if (yych == 'I') goto yy765;
8278
3.44k
    if (yych == 'i') goto yy765;
8279
310
    goto yy48;
8280
4.71k
yy703:
8281
4.71k
    YYDEBUG(703, *YYCURSOR);
8282
4.71k
    yyaccept = 4;
8283
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
8284
4.71k
    if (yych == 'C') goto yy766;
8285
2.89k
    if (yych == 'c') goto yy766;
8286
321
    goto yy48;
8287
2.62k
yy704:
8288
2.62k
    YYDEBUG(704, *YYCURSOR);
8289
2.62k
    yyaccept = 4;
8290
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
8291
2.62k
    if (yych == '_') goto yy767;
8292
414
    goto yy48;
8293
11.6k
yy705:
8294
11.6k
    YYDEBUG(705, *YYCURSOR);
8295
11.6k
    yyaccept = 4;
8296
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
8297
11.6k
    if (yych == 'D') goto yy769;
8298
3.58k
    if (yych == 'd') goto yy769;
8299
550
    goto yy48;
8300
7.97k
yy706:
8301
7.97k
    YYDEBUG(706, *YYCURSOR);
8302
7.97k
    yyaccept = 4;
8303
7.97k
    yych = *(YYMARKER = ++YYCURSOR);
8304
7.97k
    if (yych == 'P') goto yy770;
8305
4.60k
    if (yych == 'p') goto yy770;
8306
1.34k
    goto yy48;
8307
2.69k
yy707:
8308
2.69k
    YYDEBUG(707, *YYCURSOR);
8309
2.69k
    yyaccept = 4;
8310
2.69k
    yych = *(YYMARKER = ++YYCURSOR);
8311
2.69k
    if (yych == 'R') goto yy771;
8312
1.23k
    if (yych == 'r') goto yy771;
8313
227
    goto yy48;
8314
3.90k
yy708:
8315
3.90k
    YYDEBUG(708, *YYCURSOR);
8316
3.90k
    yyaccept = 4;
8317
3.90k
    yych = *(YYMARKER = ++YYCURSOR);
8318
3.90k
    if (yych == '_') goto yy772;
8319
1.02k
    goto yy48;
8320
120k
yy709:
8321
120k
    YYDEBUG(709, *YYCURSOR);
8322
120k
    ++YYCURSOR;
8323
120k
    YYFILL(1);
8324
120k
    yych = *YYCURSOR;
8325
120k
    YYDEBUG(710, *YYCURSOR);
8326
120k
    if (yych <= ' ') {
8327
18.3k
      if (yych <= '\n') {
8328
6.40k
        if (yych <= 0x00) goto yy86;
8329
5.85k
        if (yych <= 0x08) goto yy443;
8330
5.53k
        if (yych <= '\t') goto yy709;
8331
1.35k
        goto yy545;
8332
11.9k
      } else {
8333
11.9k
        if (yych == '\r') goto yy545;
8334
4.45k
        if (yych <= 0x1F) goto yy443;
8335
1.47k
        goto yy709;
8336
4.45k
      }
8337
102k
    } else {
8338
102k
      if (yych <= ')') {
8339
23.2k
        if (yych <= '"') goto yy443;
8340
22.8k
        if (yych <= '#') goto yy773;
8341
13.0k
        if (yych <= '$') goto yy774;
8342
11.8k
        goto yy443;
8343
78.9k
      } else {
8344
78.9k
        if (yych <= '-') {
8345
1.27k
          if (yych <= '*') goto yy547;
8346
637
          goto yy443;
8347
77.6k
        } else {
8348
77.6k
          if (yych <= '.') goto yy775;
8349
71.9k
          if (yych <= '/') goto yy776;
8350
39.0k
          goto yy443;
8351
71.9k
        }
8352
78.9k
      }
8353
102k
    }
8354
781
yy711:
8355
781
    YYDEBUG(711, *YYCURSOR);
8356
781
    ++YYCURSOR;
8357
781
    YYFILL(1);
8358
781
    yych = *YYCURSOR;
8359
781
    if (yybm[0+yych] & 64) {
8360
252
      goto yy355;
8361
252
    }
8362
529
    if (yych <= 0x00) goto yy86;
8363
395
    if (yych == '.') goto yy631;
8364
197
    goto yy230;
8365
25.9k
yy712:
8366
25.9k
    YYDEBUG(712, *YYCURSOR);
8367
25.9k
    ++YYCURSOR;
8368
25.9k
    YYFILL(1);
8369
25.9k
    yych = *YYCURSOR;
8370
25.9k
    if (yybm[0+yych] & 64) {
8371
180
      goto yy355;
8372
180
    }
8373
25.7k
    if (yych <= 0x00) goto yy86;
8374
25.4k
    if (yych == '/') goto yy545;
8375
809
    goto yy230;
8376
809
yy713:
8377
467
    YYDEBUG(713, *YYCURSOR);
8378
467
    ++YYCURSOR;
8379
467
    YYDEBUG(714, *YYCURSOR);
8380
467
    yyleng = YYCURSOR - SCNG(yy_text);
8381
467
#line 1708 "Zend/zend_language_scanner.l"
8382
467
    {
8383
467
  if (PARSER_MODE()) {
8384
88
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8385
88
    if (EG(exception)) {
8386
0
      RETURN_TOKEN(T_ERROR);
8387
0
    }
8388
88
  }
8389
467
  RETURN_TOKEN(T_STRING_CAST);
8390
467
}
8391
0
#line 8392 "Zend/zend_language_scanner.c"
8392
1.29k
yy715:
8393
1.29k
    YYDEBUG(715, *YYCURSOR);
8394
1.29k
    ++YYCURSOR;
8395
1.29k
    YYFILL(1);
8396
1.29k
    yych = *YYCURSOR;
8397
1.29k
    YYDEBUG(716, *YYCURSOR);
8398
1.29k
    if (yych <= 0x1F) {
8399
352
      if (yych == '\t') goto yy715;
8400
294
      goto yy86;
8401
947
    } else {
8402
947
      if (yych <= ' ') goto yy715;
8403
670
      if (yych == ')') goto yy777;
8404
427
      goto yy86;
8405
670
    }
8406
734
yy717:
8407
734
    YYDEBUG(717, *YYCURSOR);
8408
734
    ++YYCURSOR;
8409
734
    YYDEBUG(718, *YYCURSOR);
8410
734
    yyleng = YYCURSOR - SCNG(yy_text);
8411
734
#line 1686 "Zend/zend_language_scanner.l"
8412
734
    {
8413
734
  if (PARSER_MODE()) {
8414
233
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8415
233
    if (EG(exception)) {
8416
0
      RETURN_TOKEN(T_ERROR);
8417
0
    }
8418
233
  }
8419
734
  RETURN_TOKEN(T_DOUBLE_CAST);
8420
734
}
8421
0
#line 8422 "Zend/zend_language_scanner.c"
8422
1.82k
yy719:
8423
1.82k
    YYDEBUG(719, *YYCURSOR);
8424
1.82k
    ++YYCURSOR;
8425
1.82k
    YYFILL(1);
8426
1.82k
    yych = *YYCURSOR;
8427
1.82k
    YYDEBUG(720, *YYCURSOR);
8428
1.82k
    if (yych <= 0x1F) {
8429
464
      if (yych == '\t') goto yy719;
8430
281
      goto yy86;
8431
1.35k
    } else {
8432
1.35k
      if (yych <= ' ') goto yy719;
8433
1.21k
      if (yych == ')') goto yy779;
8434
506
      goto yy86;
8435
1.21k
    }
8436
1.31k
yy721:
8437
1.31k
    YYDEBUG(721, *YYCURSOR);
8438
1.31k
    ++YYCURSOR;
8439
1.31k
    YYDEBUG(722, *YYCURSOR);
8440
1.31k
    yyleng = YYCURSOR - SCNG(yy_text);
8441
1.31k
#line 1722 "Zend/zend_language_scanner.l"
8442
1.31k
    {
8443
1.31k
  RETURN_TOKEN(T_OBJECT_CAST);
8444
1.31k
}
8445
0
#line 8446 "Zend/zend_language_scanner.c"
8446
5.11k
yy723:
8447
5.11k
    YYDEBUG(723, *YYCURSOR);
8448
5.11k
    ++YYCURSOR;
8449
5.11k
    YYDEBUG(724, *YYCURSOR);
8450
5.11k
    yyleng = YYCURSOR - SCNG(yy_text);
8451
5.11k
#line 1704 "Zend/zend_language_scanner.l"
8452
5.11k
    {
8453
5.11k
  RETURN_TOKEN(T_STRING_CAST);
8454
5.11k
}
8455
0
#line 8456 "Zend/zend_language_scanner.c"
8456
5.63k
yy725:
8457
5.63k
    YYDEBUG(725, *YYCURSOR);
8458
5.63k
    yyaccept = 68;
8459
5.63k
    yych = *(YYMARKER = ++YYCURSOR);
8460
5.63k
    if (yybm[256+yych] & 128) {
8461
1.40k
      goto yy47;
8462
1.40k
    }
8463
4.22k
    if (yych == '\\') goto yy164;
8464
4.21k
yy726:
8465
4.21k
    YYDEBUG(726, *YYCURSOR);
8466
4.21k
    yyleng = YYCURSOR - SCNG(yy_text);
8467
4.21k
#line 1800 "Zend/zend_language_scanner.l"
8468
4.21k
    {
8469
4.21k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8470
4.21k
}
8471
0
#line 8472 "Zend/zend_language_scanner.c"
8472
2.97k
yy727:
8473
2.97k
    YYDEBUG(727, *YYCURSOR);
8474
2.97k
    yyaccept = 69;
8475
2.97k
    yych = *(YYMARKER = ++YYCURSOR);
8476
2.97k
    if (yybm[256+yych] & 128) {
8477
645
      goto yy47;
8478
645
    }
8479
2.32k
    if (yych == '\\') goto yy164;
8480
2.32k
yy728:
8481
2.32k
    YYDEBUG(728, *YYCURSOR);
8482
2.32k
    yyleng = YYCURSOR - SCNG(yy_text);
8483
2.32k
#line 1852 "Zend/zend_language_scanner.l"
8484
2.32k
    {
8485
2.32k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8486
2.32k
}
8487
0
#line 8488 "Zend/zend_language_scanner.c"
8488
3.65k
yy729:
8489
3.65k
    YYDEBUG(729, *YYCURSOR);
8490
3.65k
    yyaccept = 70;
8491
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
8492
3.65k
    if (yybm[256+yych] & 128) {
8493
508
      goto yy47;
8494
508
    }
8495
3.14k
    if (yych == '\\') goto yy164;
8496
3.14k
yy730:
8497
3.14k
    YYDEBUG(730, *YYCURSOR);
8498
3.14k
    yyleng = YYCURSOR - SCNG(yy_text);
8499
3.14k
#line 1568 "Zend/zend_language_scanner.l"
8500
3.14k
    {
8501
3.14k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8502
3.14k
}
8503
0
#line 8504 "Zend/zend_language_scanner.c"
8504
3.54k
yy731:
8505
3.54k
    YYDEBUG(731, *YYCURSOR);
8506
3.54k
    yyaccept = 4;
8507
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
8508
3.54k
    if (yych == 'R') goto yy781;
8509
3.10k
    if (yych == 'r') goto yy781;
8510
140
    goto yy48;
8511
5.11k
yy732:
8512
5.11k
    YYDEBUG(732, *YYCURSOR);
8513
5.11k
    yyaccept = 4;
8514
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
8515
5.11k
    if (yych == 'C') goto yy782;
8516
3.30k
    if (yych == 'c') goto yy782;
8517
368
    goto yy48;
8518
1.58k
yy733:
8519
1.58k
    YYDEBUG(733, *YYCURSOR);
8520
1.58k
    yyaccept = 4;
8521
1.58k
    yych = *(YYMARKER = ++YYCURSOR);
8522
1.58k
    if (yych == 'H') goto yy783;
8523
1.48k
    if (yych == 'h') goto yy783;
8524
581
    goto yy48;
8525
5.16k
yy734:
8526
5.16k
    YYDEBUG(734, *YYCURSOR);
8527
5.16k
    yyaccept = 71;
8528
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
8529
5.16k
    if (yybm[256+yych] & 128) {
8530
115
      goto yy47;
8531
115
    }
8532
5.04k
    if (yych == '\\') goto yy164;
8533
4.87k
yy735:
8534
4.87k
    YYDEBUG(735, *YYCURSOR);
8535
4.87k
    yyleng = YYCURSOR - SCNG(yy_text);
8536
4.87k
#line 1504 "Zend/zend_language_scanner.l"
8537
4.87k
    {
8538
4.87k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8539
4.87k
}
8540
0
#line 8541 "Zend/zend_language_scanner.c"
8541
2.18k
yy736:
8542
2.18k
    YYDEBUG(736, *YYCURSOR);
8543
2.18k
    yych = *++YYCURSOR;
8544
2.18k
    if (yych == 'E') goto yy785;
8545
1.95k
    if (yych == 'e') goto yy785;
8546
315
    goto yy86;
8547
3.05k
yy737:
8548
3.05k
    YYDEBUG(737, *YYCURSOR);
8549
3.05k
    yych = *++YYCURSOR;
8550
3.05k
    if (yych == 'L') goto yy786;
8551
2.50k
    if (yych == 'l') goto yy786;
8552
462
    goto yy86;
8553
3.80M
yy738:
8554
3.80M
    YYDEBUG(738, *YYCURSOR);
8555
3.80M
    ++YYCURSOR;
8556
3.80M
    YYFILL(1);
8557
3.80M
    yych = *YYCURSOR;
8558
3.80M
    YYDEBUG(739, *YYCURSOR);
8559
3.80M
    if (yych <= '\f') {
8560
202k
      if (yych <= 0x00) goto yy86;
8561
189k
      if (yych == '\n') goto yy787;
8562
26.5k
      goto yy738;
8563
3.60M
    } else {
8564
3.60M
      if (yych <= '\r') goto yy787;
8565
3.39M
      if (yych == '*') goto yy789;
8566
3.33M
      goto yy738;
8567
3.39M
    }
8568
35.4k
yy740:
8569
35.4k
    YYDEBUG(740, *YYCURSOR);
8570
35.4k
    ++YYCURSOR;
8571
35.4k
    YYFILL(1);
8572
35.4k
    yych = *YYCURSOR;
8573
35.4k
    if (yych <= '\r') {
8574
1.04k
      if (yych <= '\t') {
8575
548
        if (yych <= 0x00) goto yy86;
8576
220
        goto yy586;
8577
548
      } else {
8578
498
        if (yych <= '\n') goto yy495;
8579
294
        if (yych <= '\f') goto yy586;
8580
75
        goto yy495;
8581
294
      }
8582
34.4k
    } else {
8583
34.4k
      if (yych <= 'T') {
8584
4.56k
        if (yych <= 'S') goto yy586;
8585
2.02k
        goto yy791;
8586
29.8k
      } else {
8587
29.8k
        if (yych == 't') goto yy791;
8588
19.7k
        goto yy586;
8589
29.8k
      }
8590
34.4k
    }
8591
29.4k
yy741:
8592
29.4k
    YYDEBUG(741, *YYCURSOR);
8593
29.4k
    ++YYCURSOR;
8594
29.4k
    YYFILL(1);
8595
29.4k
    yych = *YYCURSOR;
8596
29.4k
    if (yych <= '\r') {
8597
2.38k
      if (yych <= '\t') {
8598
594
        if (yych <= 0x00) goto yy86;
8599
333
        goto yy586;
8600
1.79k
      } else {
8601
1.79k
        if (yych <= '\n') goto yy495;
8602
1.38k
        if (yych <= '\f') goto yy586;
8603
1.13k
        goto yy495;
8604
1.38k
      }
8605
27.0k
    } else {
8606
27.0k
      if (yych <= 'P') {
8607
5.97k
        if (yych <= 'O') goto yy586;
8608
4.67k
        goto yy792;
8609
21.0k
      } else {
8610
21.0k
        if (yych == 'p') goto yy792;
8611
1.14k
        goto yy586;
8612
21.0k
      }
8613
27.0k
    }
8614
110k
yy742:
8615
110k
    YYDEBUG(742, *YYCURSOR);
8616
110k
    yyaccept = 72;
8617
110k
    yych = *(YYMARKER = ++YYCURSOR);
8618
110k
    if (yybm[256+yych] & 128) {
8619
1.55k
      goto yy47;
8620
1.55k
    }
8621
109k
    if (yych == '\\') goto yy164;
8622
109k
yy743:
8623
109k
    YYDEBUG(743, *YYCURSOR);
8624
109k
    yyleng = YYCURSOR - SCNG(yy_text);
8625
109k
#line 1441 "Zend/zend_language_scanner.l"
8626
109k
    {
8627
109k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8628
109k
}
8629
0
#line 8630 "Zend/zend_language_scanner.c"
8630
9.72k
yy744:
8631
9.72k
    YYDEBUG(744, *YYCURSOR);
8632
9.72k
    yyaccept = 4;
8633
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
8634
9.72k
    if (yych == 'T') goto yy793;
8635
9.08k
    if (yych == 't') goto yy793;
8636
4.20k
    goto yy48;
8637
4.20k
yy745:
8638
4.19k
    YYDEBUG(745, *YYCURSOR);
8639
4.19k
    yyaccept = 4;
8640
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
8641
4.19k
    if (yych == 'O') goto yy794;
8642
3.02k
    if (yych == 'o') goto yy794;
8643
217
    goto yy48;
8644
4.22k
yy746:
8645
4.22k
    YYDEBUG(746, *YYCURSOR);
8646
4.22k
    yyaccept = 4;
8647
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
8648
4.22k
    if (yych == 'O') goto yy795;
8649
2.83k
    if (yych == 'o') goto yy795;
8650
367
    goto yy48;
8651
5.73k
yy747:
8652
5.73k
    YYDEBUG(747, *YYCURSOR);
8653
5.73k
    yyaccept = 4;
8654
5.73k
    yych = *(YYMARKER = ++YYCURSOR);
8655
5.73k
    if (yych == 'F') goto yy796;
8656
4.73k
    if (yych == 'f') goto yy796;
8657
790
    goto yy48;
8658
6.70k
yy748:
8659
6.70k
    YYDEBUG(748, *YYCURSOR);
8660
6.70k
    yyaccept = 4;
8661
6.70k
    yych = *(YYMARKER = ++YYCURSOR);
8662
6.70k
    if (yych == 'E') goto yy798;
8663
5.86k
    if (yych == 'e') goto yy798;
8664
341
    goto yy48;
8665
18.8k
yy749:
8666
18.8k
    YYDEBUG(749, *YYCURSOR);
8667
18.8k
    yyaccept = 4;
8668
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
8669
18.8k
    if (yych == 'E') goto yy800;
8670
16.7k
    if (yych == 'e') goto yy800;
8671
605
    goto yy48;
8672
2.75k
yy750:
8673
2.75k
    YYDEBUG(750, *YYCURSOR);
8674
2.75k
    yych = *++YYCURSOR;
8675
2.75k
    if (yych == 'S') goto yy802;
8676
2.27k
    if (yych == 's') goto yy802;
8677
914
    goto yy86;
8678
9.65k
yy751:
8679
9.65k
    YYDEBUG(751, *YYCURSOR);
8680
9.65k
    yyaccept = 4;
8681
9.65k
    yych = *(YYMARKER = ++YYCURSOR);
8682
9.65k
    if (yych == 'D') goto yy803;
8683
8.02k
    if (yych == 'd') goto yy803;
8684
522
    goto yy48;
8685
1.23k
yy752:
8686
1.23k
    YYDEBUG(752, *YYCURSOR);
8687
1.23k
    yych = *++YYCURSOR;
8688
1.23k
    if (yych == 'E') goto yy805;
8689
1.10k
    if (yych == 'e') goto yy805;
8690
317
    goto yy86;
8691
3.98k
yy753:
8692
3.98k
    YYDEBUG(753, *YYCURSOR);
8693
3.98k
    yyaccept = 73;
8694
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
8695
3.98k
    if (yybm[256+yych] & 128) {
8696
578
      goto yy47;
8697
578
    }
8698
3.40k
    if (yych == '\\') goto yy164;
8699
3.40k
yy754:
8700
3.40k
    YYDEBUG(754, *YYCURSOR);
8701
3.40k
    yyleng = YYCURSOR - SCNG(yy_text);
8702
3.40k
#line 1832 "Zend/zend_language_scanner.l"
8703
3.40k
    {
8704
3.40k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8705
3.40k
}
8706
0
#line 8707 "Zend/zend_language_scanner.c"
8707
2.60k
yy755:
8708
2.60k
    YYDEBUG(755, *YYCURSOR);
8709
2.60k
    yyaccept = 4;
8710
2.60k
    yych = *(YYMARKER = ++YYCURSOR);
8711
2.60k
    if (yych == 'O') goto yy806;
8712
1.68k
    if (yych == 'o') goto yy806;
8713
251
    goto yy48;
8714
6.87k
yy756:
8715
6.87k
    YYDEBUG(756, *YYCURSOR);
8716
6.87k
    yych = *++YYCURSOR;
8717
6.87k
    if (yych == 'O') goto yy807;
8718
5.13k
    if (yych == 'o') goto yy807;
8719
1.36k
    goto yy86;
8720
10.8k
yy757:
8721
10.8k
    YYDEBUG(757, *YYCURSOR);
8722
10.8k
    ++YYCURSOR;
8723
10.8k
    YYFILL(1);
8724
10.8k
    yych = *YYCURSOR;
8725
10.8k
    if (yych <= '\n') {
8726
3.62k
      if (yych <= 0x00) goto yy86;
8727
3.40k
      if (yych <= '\t') goto yy692;
8728
3.11k
      goto yy694;
8729
7.21k
    } else {
8730
7.21k
      if (yych == '\r') goto yy694;
8731
2.87k
      goto yy692;
8732
7.21k
    }
8733
102k
yy758:
8734
102k
    YYDEBUG(758, *YYCURSOR);
8735
102k
    ++YYCURSOR;
8736
102k
    YYFILL(1);
8737
102k
    yych = *YYCURSOR;
8738
102k
    if (yych <= '\f') {
8739
1.15k
      if (yych <= 0x00) goto yy86;
8740
781
      if (yych == '\n') goto yy616;
8741
395
      goto yy692;
8742
101k
    } else {
8743
101k
      if (yych <= '\r') goto yy616;
8744
92.7k
      if (yych == '*') goto yy808;
8745
14.5k
      goto yy692;
8746
92.7k
    }
8747
18.1k
yy759:
8748
18.1k
    YYDEBUG(759, *YYCURSOR);
8749
18.1k
    ++YYCURSOR;
8750
18.1k
    YYFILL(1);
8751
18.1k
    yych = *YYCURSOR;
8752
18.1k
    if (yych <= '\r') {
8753
1.90k
      if (yych <= '\t') {
8754
550
        if (yych <= 0x00) goto yy86;
8755
282
        goto yy692;
8756
1.35k
      } else {
8757
1.35k
        if (yych <= '\n') goto yy616;
8758
211
        if (yych <= '\f') goto yy692;
8759
150
        goto yy616;
8760
211
      }
8761
16.2k
    } else {
8762
16.2k
      if (yych <= 'R') {
8763
14.5k
        if (yych <= 'Q') goto yy692;
8764
14.2k
        goto yy810;
8765
14.5k
      } else {
8766
1.63k
        if (yych == 'r') goto yy810;
8767
588
        goto yy692;
8768
1.63k
      }
8769
16.2k
    }
8770
56.6k
yy760:
8771
56.6k
    YYDEBUG(760, *YYCURSOR);
8772
56.6k
    ++YYCURSOR;
8773
56.6k
    YYFILL(1);
8774
56.6k
    yych = *YYCURSOR;
8775
56.6k
    YYDEBUG(761, *YYCURSOR);
8776
56.6k
    if (yych <= '*') {
8777
19.3k
      if (yych <= 0x00) goto yy86;
8778
18.7k
      if (yych <= ')') goto yy696;
8779
4.00k
      goto yy760;
8780
37.3k
    } else {
8781
37.3k
      if (yych == '/') goto yy616;
8782
4.96k
      goto yy696;
8783
37.3k
    }
8784
6.80k
yy762:
8785
6.80k
    YYDEBUG(762, *YYCURSOR);
8786
6.80k
    yyaccept = 4;
8787
6.80k
    yych = *(YYMARKER = ++YYCURSOR);
8788
6.80k
    if (yych == '_') goto yy811;
8789
180
    goto yy48;
8790
6.92k
yy763:
8791
6.92k
    YYDEBUG(763, *YYCURSOR);
8792
6.92k
    yyaccept = 74;
8793
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
8794
6.92k
    if (yybm[256+yych] & 128) {
8795
384
      goto yy47;
8796
384
    }
8797
6.54k
    if (yych == '\\') goto yy164;
8798
6.53k
yy764:
8799
6.53k
    YYDEBUG(764, *YYCURSOR);
8800
6.53k
    yyleng = YYCURSOR - SCNG(yy_text);
8801
6.53k
#line 2307 "Zend/zend_language_scanner.l"
8802
6.53k
    {
8803
6.53k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8804
6.53k
}
8805
0
#line 8806 "Zend/zend_language_scanner.c"
8806
5.90k
yy765:
8807
5.90k
    YYDEBUG(765, *YYCURSOR);
8808
5.90k
    yyaccept = 4;
8809
5.90k
    yych = *(YYMARKER = ++YYCURSOR);
8810
5.90k
    if (yych == 'O') goto yy813;
8811
2.80k
    if (yych == 'o') goto yy813;
8812
295
    goto yy48;
8813
4.39k
yy766:
8814
4.39k
    YYDEBUG(766, *YYCURSOR);
8815
4.39k
    yyaccept = 4;
8816
4.39k
    yych = *(YYMARKER = ++YYCURSOR);
8817
4.39k
    if (yych == 'O') goto yy814;
8818
2.70k
    if (yych == 'o') goto yy814;
8819
305
    goto yy48;
8820
2.21k
yy767:
8821
2.21k
    YYDEBUG(767, *YYCURSOR);
8822
2.21k
    yyaccept = 75;
8823
2.21k
    yych = *(YYMARKER = ++YYCURSOR);
8824
2.21k
    if (yybm[256+yych] & 128) {
8825
623
      goto yy47;
8826
623
    }
8827
1.58k
    if (yych == '\\') goto yy164;
8828
1.56k
yy768:
8829
1.56k
    YYDEBUG(768, *YYCURSOR);
8830
1.56k
    yyleng = YYCURSOR - SCNG(yy_text);
8831
1.56k
#line 2303 "Zend/zend_language_scanner.l"
8832
1.56k
    {
8833
1.56k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8834
1.56k
}
8835
0
#line 8836 "Zend/zend_language_scanner.c"
8836
11.1k
yy769:
8837
11.1k
    YYDEBUG(769, *YYCURSOR);
8838
11.1k
    yyaccept = 4;
8839
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
8840
11.1k
    if (yych == '_') goto yy815;
8841
824
    goto yy48;
8842
6.63k
yy770:
8843
6.63k
    YYDEBUG(770, *YYCURSOR);
8844
6.63k
    yyaccept = 4;
8845
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
8846
6.63k
    if (yych == 'A') goto yy816;
8847
3.29k
    if (yych == 'a') goto yy816;
8848
271
    goto yy48;
8849
2.46k
yy771:
8850
2.46k
    YYDEBUG(771, *YYCURSOR);
8851
2.46k
    yyaccept = 4;
8852
2.46k
    yych = *(YYMARKER = ++YYCURSOR);
8853
2.46k
    if (yych == 'T') goto yy817;
8854
861
    if (yych == 't') goto yy817;
8855
175
    goto yy48;
8856
2.88k
yy772:
8857
2.88k
    YYDEBUG(772, *YYCURSOR);
8858
2.88k
    yyaccept = 4;
8859
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
8860
2.88k
    if (yych == '_') goto yy818;
8861
334
    goto yy48;
8862
9.73k
yy773:
8863
9.73k
    YYDEBUG(773, *YYCURSOR);
8864
9.73k
    ++YYCURSOR;
8865
9.73k
    YYFILL(1);
8866
9.73k
    yych = *YYCURSOR;
8867
9.73k
    if (yybm[0+yych] & 128) {
8868
1.03k
      goto yy443;
8869
1.03k
    }
8870
8.69k
    if (yych <= 0x00) goto yy86;
8871
8.45k
    if (yych <= '\r') goto yy709;
8872
313
    goto yy547;
8873
1.40k
yy774:
8874
1.40k
    YYDEBUG(774, *YYCURSOR);
8875
1.40k
    yyaccept = 26;
8876
1.40k
    YYMARKER = ++YYCURSOR;
8877
1.40k
    YYFILL(1);
8878
1.40k
    yych = *YYCURSOR;
8879
1.40k
    if (yybm[0+yych] & 128) {
8880
801
      goto yy443;
8881
801
    }
8882
605
    if (yych <= 0x00) goto yy89;
8883
512
    if (yych <= '\r') goto yy545;
8884
319
    goto yy547;
8885
5.63k
yy775:
8886
5.63k
    YYDEBUG(775, *YYCURSOR);
8887
5.63k
    ++YYCURSOR;
8888
5.63k
    YYFILL(1);
8889
5.63k
    yych = *YYCURSOR;
8890
5.63k
    if (yych <= '\r') {
8891
1.85k
      if (yych <= '\t') {
8892
541
        if (yych <= 0x00) goto yy86;
8893
254
        goto yy443;
8894
1.31k
      } else {
8895
1.31k
        if (yych <= '\n') goto yy545;
8896
999
        if (yych <= '\f') goto yy443;
8897
551
        goto yy545;
8898
999
      }
8899
3.78k
    } else {
8900
3.78k
      if (yych <= '*') {
8901
1.02k
        if (yych <= ')') goto yy443;
8902
593
        goto yy547;
8903
2.75k
      } else {
8904
2.75k
        if (yych == '.') goto yy820;
8905
706
        goto yy443;
8906
2.75k
      }
8907
3.78k
    }
8908
32.9k
yy776:
8909
32.9k
    YYDEBUG(776, *YYCURSOR);
8910
32.9k
    ++YYCURSOR;
8911
32.9k
    YYFILL(1);
8912
32.9k
    yych = *YYCURSOR;
8913
32.9k
    if (yybm[0+yych] & 128) {
8914
4.45k
      goto yy443;
8915
4.45k
    }
8916
28.4k
    if (yych <= 0x00) goto yy86;
8917
28.2k
    if (yych <= '\r') goto yy545;
8918
27.5k
    goto yy821;
8919
27.5k
yy777:
8920
243
    YYDEBUG(777, *YYCURSOR);
8921
243
    ++YYCURSOR;
8922
243
    YYDEBUG(778, *YYCURSOR);
8923
243
    yyleng = YYCURSOR - SCNG(yy_text);
8924
243
#line 1730 "Zend/zend_language_scanner.l"
8925
243
    {
8926
243
  if (PARSER_MODE()) {
8927
14
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8928
14
    if (EG(exception)) {
8929
0
      RETURN_TOKEN(T_ERROR);
8930
0
    }
8931
14
  }
8932
243
  RETURN_TOKEN(T_BOOL_CAST);
8933
243
}
8934
0
#line 8935 "Zend/zend_language_scanner.c"
8935
712
yy779:
8936
712
    YYDEBUG(779, *YYCURSOR);
8937
712
    ++YYCURSOR;
8938
712
    YYDEBUG(780, *YYCURSOR);
8939
712
    yyleng = YYCURSOR - SCNG(yy_text);
8940
712
#line 1672 "Zend/zend_language_scanner.l"
8941
712
    {
8942
712
  if (PARSER_MODE()) {
8943
156
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8944
156
    if (EG(exception)) {
8945
0
      RETURN_TOKEN(T_ERROR);
8946
0
    }
8947
156
  }
8948
712
  RETURN_TOKEN(T_INT_CAST);
8949
712
}
8950
0
#line 8951 "Zend/zend_language_scanner.c"
8951
3.40k
yy781:
8952
3.40k
    YYDEBUG(781, *YYCURSOR);
8953
3.40k
    yyaccept = 4;
8954
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
8955
3.40k
    if (yych == 'E') goto yy822;
8956
2.87k
    if (yych == 'e') goto yy822;
8957
272
    goto yy48;
8958
4.75k
yy782:
8959
4.75k
    YYDEBUG(782, *YYCURSOR);
8960
4.75k
    yyaccept = 4;
8961
4.75k
    yych = *(YYMARKER = ++YYCURSOR);
8962
4.75k
    if (yych == 'H') goto yy824;
8963
3.03k
    if (yych == 'h') goto yy824;
8964
828
    goto yy48;
8965
1.00k
yy783:
8966
1.00k
    YYDEBUG(783, *YYCURSOR);
8967
1.00k
    yyaccept = 76;
8968
1.00k
    yych = *(YYMARKER = ++YYCURSOR);
8969
1.00k
    if (yybm[256+yych] & 128) {
8970
206
      goto yy47;
8971
206
    }
8972
798
    if (yych == '\\') goto yy164;
8973
759
yy784:
8974
759
    YYDEBUG(784, *YYCURSOR);
8975
759
    yyleng = YYCURSOR - SCNG(yy_text);
8976
759
#line 1552 "Zend/zend_language_scanner.l"
8977
759
    {
8978
759
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8979
759
}
8980
0
#line 8981 "Zend/zend_language_scanner.c"
8981
1.86k
yy785:
8982
1.86k
    YYDEBUG(785, *YYCURSOR);
8983
1.86k
    yych = *++YYCURSOR;
8984
1.86k
    if (yych == 'N') goto yy826;
8985
1.72k
    if (yych == 'n') goto yy826;
8986
484
    goto yy86;
8987
2.59k
yy786:
8988
2.59k
    YYDEBUG(786, *YYCURSOR);
8989
2.59k
    yych = *++YYCURSOR;
8990
2.59k
    if (yych == 'E') goto yy827;
8991
1.99k
    if (yych == 'e') goto yy827;
8992
290
    goto yy86;
8993
572k
yy787:
8994
572k
    YYDEBUG(787, *YYCURSOR);
8995
572k
    ++YYCURSOR;
8996
572k
    YYFILL(1);
8997
572k
    yych = *YYCURSOR;
8998
572k
    YYDEBUG(788, *YYCURSOR);
8999
572k
    if (yych <= '@') {
9000
536k
      if (yych <= ' ') {
9001
94.1k
        if (yych <= '\n') {
9002
11.2k
          if (yych <= 0x00) goto yy86;
9003
9.14k
          if (yych <= 0x08) goto yy590;
9004
8.43k
          goto yy787;
9005
82.9k
        } else {
9006
82.9k
          if (yych == '\r') goto yy787;
9007
38.7k
          if (yych <= 0x1F) goto yy590;
9008
38.0k
          goto yy787;
9009
38.7k
        }
9010
442k
      } else {
9011
442k
        if (yych <= ')') {
9012
370k
          if (yych == '#') goto yy828;
9013
22.5k
          goto yy590;
9014
370k
        } else {
9015
71.6k
          if (yych <= '*') goto yy668;
9016
71.2k
          if (yych == '/') goto yy829;
9017
7.05k
          goto yy590;
9018
71.2k
        }
9019
442k
      }
9020
536k
    } else {
9021
35.8k
      if (yych <= '_') {
9022
5.11k
        if (yych <= 'H') {
9023
1.70k
          if (yych == 'E') goto yy831;
9024
1.17k
          goto yy830;
9025
3.40k
        } else {
9026
3.40k
          if (yych <= 'I') goto yy832;
9027
1.53k
          if (yych <= 'Z') goto yy830;
9028
915
          if (yych <= '^') goto yy590;
9029
253
          goto yy830;
9030
915
        }
9031
30.7k
      } else {
9032
30.7k
        if (yych <= 'h') {
9033
13.1k
          if (yych <= '`') goto yy590;
9034
12.8k
          if (yych == 'e') goto yy831;
9035
3.16k
          goto yy830;
9036
17.6k
        } else {
9037
17.6k
          if (yych <= 'i') goto yy832;
9038
7.28k
          if (yych <= 'z') goto yy830;
9039
4.74k
          if (yych <= 0x7F) goto yy590;
9040
2.35k
          goto yy830;
9041
4.74k
        }
9042
30.7k
      }
9043
35.8k
    }
9044
72.5k
yy789:
9045
72.5k
    YYDEBUG(789, *YYCURSOR);
9046
72.5k
    ++YYCURSOR;
9047
72.5k
    YYFILL(1);
9048
72.5k
    yych = *YYCURSOR;
9049
72.5k
    YYDEBUG(790, *YYCURSOR);
9050
72.5k
    if (yych <= '\r') {
9051
16.7k
      if (yych <= '\t') {
9052
1.38k
        if (yych <= 0x00) goto yy86;
9053
483
        goto yy738;
9054
15.3k
      } else {
9055
15.3k
        if (yych <= '\n') goto yy787;
9056
13.9k
        if (yych <= '\f') goto yy738;
9057
12.6k
        goto yy787;
9058
13.9k
      }
9059
55.8k
    } else {
9060
55.8k
      if (yych <= '*') {
9061
19.5k
        if (yych <= ')') goto yy738;
9062
6.18k
        goto yy789;
9063
36.2k
      } else {
9064
36.2k
        if (yych == '/') goto yy588;
9065
6.69k
        goto yy738;
9066
36.2k
      }
9067
55.8k
    }
9068
12.1k
yy791:
9069
12.1k
    YYDEBUG(791, *YYCURSOR);
9070
12.1k
    ++YYCURSOR;
9071
12.1k
    YYFILL(1);
9072
12.1k
    yych = *YYCURSOR;
9073
12.1k
    if (yych <= '\r') {
9074
1.26k
      if (yych <= '\t') {
9075
535
        if (yych <= 0x00) goto yy86;
9076
185
        goto yy586;
9077
732
      } else {
9078
732
        if (yych <= '\n') goto yy495;
9079
410
        if (yych <= '\f') goto yy586;
9080
214
        goto yy495;
9081
410
      }
9082
10.8k
    } else {
9083
10.8k
      if (yych <= 'E') {
9084
2.04k
        if (yych <= 'D') goto yy586;
9085
1.06k
        goto yy833;
9086
8.81k
      } else {
9087
8.81k
        if (yych == 'e') goto yy833;
9088
1.45k
        goto yy586;
9089
8.81k
      }
9090
10.8k
    }
9091
24.5k
yy792:
9092
24.5k
    YYDEBUG(792, *YYCURSOR);
9093
24.5k
    ++YYCURSOR;
9094
24.5k
    YYFILL(1);
9095
24.5k
    yych = *YYCURSOR;
9096
24.5k
    if (yych <= '\r') {
9097
1.36k
      if (yych <= '\t') {
9098
882
        if (yych <= 0x00) goto yy86;
9099
246
        goto yy586;
9100
882
      } else {
9101
480
        if (yych <= '\n') goto yy495;
9102
387
        if (yych <= '\f') goto yy586;
9103
160
        goto yy495;
9104
387
      }
9105
23.2k
    } else {
9106
23.2k
      if (yych <= 'L') {
9107
5.49k
        if (yych <= 'K') goto yy586;
9108
4.14k
        goto yy834;
9109
17.7k
      } else {
9110
17.7k
        if (yych == 'l') goto yy834;
9111
1.22k
        goto yy586;
9112
17.7k
      }
9113
23.2k
    }
9114
5.52k
yy793:
9115
5.52k
    YYDEBUG(793, *YYCURSOR);
9116
5.52k
    yyaccept = 4;
9117
5.52k
    yych = *(YYMARKER = ++YYCURSOR);
9118
5.52k
    if (yych == 'S') goto yy835;
9119
5.29k
    if (yych == 's') goto yy835;
9120
951
    goto yy48;
9121
3.98k
yy794:
9122
3.98k
    YYDEBUG(794, *YYCURSOR);
9123
3.98k
    yyaccept = 4;
9124
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
9125
3.98k
    if (yych == 'N') goto yy837;
9126
2.98k
    if (yych == 'n') goto yy837;
9127
558
    goto yy48;
9128
3.85k
yy795:
9129
3.85k
    YYDEBUG(795, *YYCURSOR);
9130
3.85k
    yyaccept = 4;
9131
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
9132
3.85k
    if (yych == 'F') goto yy838;
9133
3.10k
    if (yych == 'f') goto yy838;
9134
585
    goto yy48;
9135
4.94k
yy796:
9136
4.94k
    YYDEBUG(796, *YYCURSOR);
9137
4.94k
    yyaccept = 77;
9138
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
9139
4.94k
    if (yybm[256+yych] & 128) {
9140
488
      goto yy47;
9141
488
    }
9142
4.45k
    if (yych == '\\') goto yy164;
9143
4.33k
yy797:
9144
4.33k
    YYDEBUG(797, *YYCURSOR);
9145
4.33k
    yyleng = YYCURSOR - SCNG(yy_text);
9146
4.33k
#line 1776 "Zend/zend_language_scanner.l"
9147
4.33k
    {
9148
4.33k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9149
4.33k
}
9150
0
#line 9151 "Zend/zend_language_scanner.c"
9151
6.35k
yy798:
9152
6.35k
    YYDEBUG(798, *YYCURSOR);
9153
6.35k
    yyaccept = 78;
9154
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
9155
6.35k
    if (yybm[256+yych] & 128) {
9156
1.21k
      goto yy47;
9157
1.21k
    }
9158
5.14k
    if (yych == '\\') goto yy164;
9159
5.14k
yy799:
9160
5.14k
    YYDEBUG(799, *YYCURSOR);
9161
5.14k
    yyleng = YYCURSOR - SCNG(yy_text);
9162
5.14k
#line 1588 "Zend/zend_language_scanner.l"
9163
5.14k
    {
9164
5.14k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9165
5.14k
}
9166
0
#line 9167 "Zend/zend_language_scanner.c"
9167
18.2k
yy800:
9168
18.2k
    YYDEBUG(800, *YYCURSOR);
9169
18.2k
    yyaccept = 79;
9170
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
9171
18.2k
    if (yybm[256+yych] & 128) {
9172
1.04k
      goto yy47;
9173
1.04k
    }
9174
17.1k
    if (yych == '\\') goto yy840;
9175
13.6k
yy801:
9176
13.6k
    YYDEBUG(801, *YYCURSOR);
9177
13.6k
    yyleng = YYCURSOR - SCNG(yy_text);
9178
13.6k
#line 1768 "Zend/zend_language_scanner.l"
9179
13.6k
    {
9180
13.6k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9181
13.6k
}
9182
0
#line 9183 "Zend/zend_language_scanner.c"
9183
1.84k
yy802:
9184
1.84k
    YYDEBUG(802, *YYCURSOR);
9185
1.84k
    yych = *++YYCURSOR;
9186
1.84k
    if (yych == 'E') goto yy841;
9187
1.61k
    if (yych == 'e') goto yy841;
9188
662
    goto yy86;
9189
9.13k
yy803:
9190
9.13k
    YYDEBUG(803, *YYCURSOR);
9191
9.13k
    yyaccept = 80;
9192
9.13k
    yych = *(YYMARKER = ++YYCURSOR);
9193
9.13k
    if (yybm[256+yych] & 128) {
9194
668
      goto yy47;
9195
668
    }
9196
8.46k
    if (yych == '(') goto yy842;
9197
6.05k
    if (yych == '\\') goto yy164;
9198
7.59k
yy804:
9199
7.59k
    YYDEBUG(804, *YYCURSOR);
9200
7.59k
    yyleng = YYCURSOR - SCNG(yy_text);
9201
7.59k
#line 1812 "Zend/zend_language_scanner.l"
9202
7.59k
    {
9203
7.59k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9204
7.59k
}
9205
0
#line 9206 "Zend/zend_language_scanner.c"
9206
917
yy805:
9207
917
    YYDEBUG(805, *YYCURSOR);
9208
917
    yych = *++YYCURSOR;
9209
917
    if (yych == 'T') goto yy843;
9210
625
    if (yych == 't') goto yy843;
9211
219
    goto yy86;
9212
2.35k
yy806:
9213
2.35k
    YYDEBUG(806, *YYCURSOR);
9214
2.35k
    yyaccept = 4;
9215
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
9216
2.35k
    if (yych == 'N') goto yy844;
9217
1.53k
    if (yych == 'n') goto yy844;
9218
255
    goto yy48;
9219
5.51k
yy807:
9220
5.51k
    YYDEBUG(807, *YYCURSOR);
9221
5.51k
    yych = *++YYCURSOR;
9222
5.51k
    if (yych == 'M') goto yy845;
9223
4.23k
    if (yych == 'm') goto yy845;
9224
283
    goto yy86;
9225
1.39M
yy808:
9226
1.39M
    YYDEBUG(808, *YYCURSOR);
9227
1.39M
    ++YYCURSOR;
9228
1.39M
    YYFILL(1);
9229
1.39M
    yych = *YYCURSOR;
9230
1.39M
    YYDEBUG(809, *YYCURSOR);
9231
1.39M
    if (yych <= '\f') {
9232
124k
      if (yych <= 0x00) goto yy86;
9233
119k
      if (yych == '\n') goto yy846;
9234
15.6k
      goto yy808;
9235
1.27M
    } else {
9236
1.27M
      if (yych <= '\r') goto yy846;
9237
1.20M
      if (yych == '*') goto yy848;
9238
1.16M
      goto yy808;
9239
1.20M
    }
9240
15.3k
yy810:
9241
15.3k
    YYDEBUG(810, *YYCURSOR);
9242
15.3k
    ++YYCURSOR;
9243
15.3k
    YYFILL(1);
9244
15.3k
    yych = *YYCURSOR;
9245
15.3k
    if (yych <= '\r') {
9246
1.17k
      if (yych <= '\t') {
9247
626
        if (yych <= 0x00) goto yy86;
9248
488
        goto yy692;
9249
626
      } else {
9250
548
        if (yych <= '\n') goto yy616;
9251
232
        if (yych <= '\f') goto yy692;
9252
177
        goto yy616;
9253
232
      }
9254
14.1k
    } else {
9255
14.1k
      if (yych <= 'O') {
9256
12.0k
        if (yych <= 'N') goto yy692;
9257
10.9k
        goto yy850;
9258
12.0k
      } else {
9259
2.16k
        if (yych == 'o') goto yy850;
9260
529
        goto yy692;
9261
2.16k
      }
9262
14.1k
    }
9263
6.62k
yy811:
9264
6.62k
    YYDEBUG(811, *YYCURSOR);
9265
6.62k
    yyaccept = 81;
9266
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
9267
6.62k
    if (yybm[256+yych] & 128) {
9268
727
      goto yy47;
9269
727
    }
9270
5.89k
    if (yych == '\\') goto yy164;
9271
5.87k
yy812:
9272
5.87k
    YYDEBUG(812, *YYCURSOR);
9273
5.87k
    yyleng = YYCURSOR - SCNG(yy_text);
9274
5.87k
#line 2283 "Zend/zend_language_scanner.l"
9275
5.87k
    {
9276
5.87k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9277
5.87k
}
9278
0
#line 9279 "Zend/zend_language_scanner.c"
9279
5.60k
yy813:
9280
5.60k
    YYDEBUG(813, *YYCURSOR);
9281
5.60k
    yyaccept = 4;
9282
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
9283
5.60k
    if (yych == 'N') goto yy851;
9284
1.03k
    if (yych == 'n') goto yy851;
9285
397
    goto yy48;
9286
4.08k
yy814:
9287
4.08k
    YYDEBUG(814, *YYCURSOR);
9288
4.08k
    yyaccept = 4;
9289
4.08k
    yych = *(YYMARKER = ++YYCURSOR);
9290
4.08k
    if (yych == 'M') goto yy852;
9291
2.68k
    if (yych == 'm') goto yy852;
9292
615
    goto yy48;
9293
10.2k
yy815:
9294
10.2k
    YYDEBUG(815, *YYCURSOR);
9295
10.2k
    yyaccept = 4;
9296
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
9297
10.2k
    if (yych == '_') goto yy853;
9298
311
    goto yy48;
9299
6.35k
yy816:
9300
6.35k
    YYDEBUG(816, *YYCURSOR);
9301
6.35k
    yyaccept = 4;
9302
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
9303
6.35k
    if (yych == 'C') goto yy855;
9304
3.32k
    if (yych == 'c') goto yy855;
9305
869
    goto yy48;
9306
2.29k
yy817:
9307
2.29k
    YYDEBUG(817, *YYCURSOR);
9308
2.29k
    yyaccept = 4;
9309
2.29k
    yych = *(YYMARKER = ++YYCURSOR);
9310
2.29k
    if (yych == 'Y') goto yy856;
9311
477
    if (yych == 'y') goto yy856;
9312
395
    goto yy48;
9313
2.54k
yy818:
9314
2.54k
    YYDEBUG(818, *YYCURSOR);
9315
2.54k
    yyaccept = 82;
9316
2.54k
    yych = *(YYMARKER = ++YYCURSOR);
9317
2.54k
    if (yybm[256+yych] & 128) {
9318
243
      goto yy47;
9319
243
    }
9320
2.30k
    if (yych == '\\') goto yy164;
9321
2.30k
yy819:
9322
2.30k
    YYDEBUG(819, *YYCURSOR);
9323
2.30k
    yyleng = YYCURSOR - SCNG(yy_text);
9324
2.30k
#line 2287 "Zend/zend_language_scanner.l"
9325
2.30k
    {
9326
2.30k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9327
2.30k
}
9328
0
#line 9329 "Zend/zend_language_scanner.c"
9329
2.05k
yy820:
9330
2.05k
    YYDEBUG(820, *YYCURSOR);
9331
2.05k
    ++YYCURSOR;
9332
2.05k
    YYFILL(1);
9333
2.05k
    yych = *YYCURSOR;
9334
2.05k
    if (yych <= '\r') {
9335
875
      if (yych <= '\t') {
9336
230
        if (yych <= 0x00) goto yy86;
9337
46
        goto yy443;
9338
645
      } else {
9339
645
        if (yych <= '\n') goto yy545;
9340
431
        if (yych <= '\f') goto yy443;
9341
209
        goto yy545;
9342
431
      }
9343
1.17k
    } else {
9344
1.17k
      if (yych <= '*') {
9345
471
        if (yych <= ')') goto yy443;
9346
255
        goto yy547;
9347
706
      } else {
9348
706
        if (yych == '.') goto yy774;
9349
475
        goto yy443;
9350
706
      }
9351
1.17k
    }
9352
27.5k
yy821:
9353
27.5k
    YYDEBUG(821, *YYCURSOR);
9354
27.5k
    ++YYCURSOR;
9355
27.5k
    YYFILL(1);
9356
27.5k
    yych = *YYCURSOR;
9357
27.5k
    if (yych <= '\r') {
9358
1.71k
      if (yych <= '\t') {
9359
742
        if (yych <= 0x00) goto yy86;
9360
380
        goto yy443;
9361
970
      } else {
9362
970
        if (yych <= '\n') goto yy545;
9363
442
        if (yych <= '\f') goto yy443;
9364
398
        goto yy545;
9365
442
      }
9366
25.8k
    } else {
9367
25.8k
      if (yych <= '*') {
9368
549
        if (yych <= ')') goto yy443;
9369
166
        goto yy547;
9370
25.3k
      } else {
9371
25.3k
        if (yych == '/') goto yy709;
9372
835
        goto yy443;
9373
25.3k
      }
9374
25.8k
    }
9375
3.13k
yy822:
9376
3.13k
    YYDEBUG(822, *YYCURSOR);
9377
3.13k
    yyaccept = 83;
9378
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
9379
3.13k
    if (yybm[256+yych] & 128) {
9380
966
      goto yy47;
9381
966
    }
9382
2.16k
    if (yych == '\\') goto yy164;
9383
2.16k
yy823:
9384
2.16k
    YYDEBUG(823, *YYCURSOR);
9385
2.16k
    yyleng = YYCURSOR - SCNG(yy_text);
9386
2.16k
#line 1532 "Zend/zend_language_scanner.l"
9387
2.16k
    {
9388
2.16k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9389
2.16k
}
9390
0
#line 9391 "Zend/zend_language_scanner.c"
9391
3.92k
yy824:
9392
3.92k
    YYDEBUG(824, *YYCURSOR);
9393
3.92k
    yyaccept = 84;
9394
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
9395
3.92k
    if (yybm[256+yych] & 128) {
9396
724
      goto yy47;
9397
724
    }
9398
3.19k
    if (yych == '\\') goto yy164;
9399
3.18k
yy825:
9400
3.18k
    YYDEBUG(825, *YYCURSOR);
9401
3.18k
    yyleng = YYCURSOR - SCNG(yy_text);
9402
3.18k
#line 1524 "Zend/zend_language_scanner.l"
9403
3.18k
    {
9404
3.18k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9405
3.18k
}
9406
0
#line 9407 "Zend/zend_language_scanner.c"
9407
1.38k
yy826:
9408
1.38k
    YYDEBUG(826, *YYCURSOR);
9409
1.38k
    yych = *++YYCURSOR;
9410
1.38k
    if (yych == 'D') goto yy857;
9411
1.25k
    if (yych == 'd') goto yy857;
9412
575
    goto yy86;
9413
2.30k
yy827:
9414
2.30k
    YYDEBUG(827, *YYCURSOR);
9415
2.30k
    yych = *++YYCURSOR;
9416
2.30k
    if (yych == 'M') goto yy858;
9417
1.73k
    if (yych == 'm') goto yy858;
9418
964
    goto yy86;
9419
347k
yy828:
9420
347k
    YYDEBUG(828, *YYCURSOR);
9421
347k
    ++YYCURSOR;
9422
347k
    YYFILL(1);
9423
347k
    yych = *YYCURSOR;
9424
347k
    if (yych <= '\r') {
9425
271k
      if (yych <= '\t') {
9426
3.43k
        if (yych <= 0x00) goto yy86;
9427
2.76k
        goto yy738;
9428
268k
      } else {
9429
268k
        if (yych <= '\n') goto yy859;
9430
56.0k
        if (yych <= '\f') goto yy738;
9431
54.8k
        goto yy859;
9432
56.0k
      }
9433
271k
    } else {
9434
76.0k
      if (yych <= '*') {
9435
11.1k
        if (yych <= ')') goto yy738;
9436
2.92k
        goto yy789;
9437
64.8k
      } else {
9438
64.8k
        if (yych == '[') goto yy590;
9439
64.4k
        goto yy738;
9440
64.8k
      }
9441
76.0k
    }
9442
64.1k
yy829:
9443
64.1k
    YYDEBUG(829, *YYCURSOR);
9444
64.1k
    ++YYCURSOR;
9445
64.1k
    YYFILL(1);
9446
64.1k
    yych = *YYCURSOR;
9447
64.1k
    if (yych <= '*') {
9448
59.5k
      if (yych <= 0x00) goto yy86;
9449
59.0k
      if (yych <= ')') goto yy590;
9450
58.3k
      goto yy861;
9451
59.0k
    } else {
9452
4.63k
      if (yych == '/') goto yy738;
9453
3.32k
      goto yy590;
9454
4.63k
    }
9455
10.1k
yy830:
9456
10.1k
    YYDEBUG(830, *YYCURSOR);
9457
10.1k
    yyaccept = 53;
9458
10.1k
    YYMARKER = ++YYCURSOR;
9459
10.1k
    YYFILL(1);
9460
10.1k
    yych = *YYCURSOR;
9461
10.1k
    if (yych <= 0x00) goto yy583;
9462
9.39k
    if (yych == '*') goto yy668;
9463
8.77k
    goto yy590;
9464
10.2k
yy831:
9465
10.2k
    YYDEBUG(831, *YYCURSOR);
9466
10.2k
    yyaccept = 53;
9467
10.2k
    YYMARKER = ++YYCURSOR;
9468
10.2k
    YYFILL(1);
9469
10.2k
    yych = *YYCURSOR;
9470
10.2k
    if (yych <= 'W') {
9471
3.38k
      if (yych <= 0x00) goto yy583;
9472
3.15k
      if (yych == '*') goto yy668;
9473
1.43k
      goto yy590;
9474
6.86k
    } else {
9475
6.86k
      if (yych <= 'X') goto yy862;
9476
6.21k
      if (yych == 'x') goto yy862;
9477
1.30k
      goto yy590;
9478
6.21k
    }
9479
12.2k
yy832:
9480
12.2k
    YYDEBUG(832, *YYCURSOR);
9481
12.2k
    yyaccept = 53;
9482
12.2k
    YYMARKER = ++YYCURSOR;
9483
12.2k
    YYFILL(1);
9484
12.2k
    yych = *YYCURSOR;
9485
12.2k
    if (yych <= 'L') {
9486
760
      if (yych <= 0x00) goto yy583;
9487
388
      if (yych == '*') goto yy668;
9488
340
      goto yy590;
9489
11.4k
    } else {
9490
11.4k
      if (yych <= 'M') goto yy863;
9491
9.61k
      if (yych == 'm') goto yy863;
9492
875
      goto yy590;
9493
9.61k
    }
9494
8.41k
yy833:
9495
8.41k
    YYDEBUG(833, *YYCURSOR);
9496
8.41k
    ++YYCURSOR;
9497
8.41k
    YYFILL(1);
9498
8.41k
    yych = *YYCURSOR;
9499
8.41k
    if (yych <= '\r') {
9500
864
      if (yych <= '\t') {
9501
533
        if (yych <= 0x00) goto yy86;
9502
296
        goto yy586;
9503
533
      } else {
9504
331
        if (yych <= '\n') goto yy495;
9505
225
        if (yych <= '\f') goto yy586;
9506
128
        goto yy495;
9507
225
      }
9508
7.55k
    } else {
9509
7.55k
      if (yych <= 'N') {
9510
2.63k
        if (yych <= 'M') goto yy586;
9511
1.63k
        goto yy864;
9512
4.91k
      } else {
9513
4.91k
        if (yych == 'n') goto yy864;
9514
403
        goto yy586;
9515
4.91k
      }
9516
7.55k
    }
9517
20.6k
yy834:
9518
20.6k
    YYDEBUG(834, *YYCURSOR);
9519
20.6k
    ++YYCURSOR;
9520
20.6k
    YYFILL(1);
9521
20.6k
    yych = *YYCURSOR;
9522
20.6k
    if (yych <= '\r') {
9523
2.61k
      if (yych <= '\t') {
9524
626
        if (yych <= 0x00) goto yy86;
9525
403
        goto yy586;
9526
1.98k
      } else {
9527
1.98k
        if (yych <= '\n') goto yy495;
9528
1.27k
        if (yych <= '\f') goto yy586;
9529
862
        goto yy495;
9530
1.27k
      }
9531
18.0k
    } else {
9532
18.0k
      if (yych <= 'E') {
9533
4.12k
        if (yych <= 'D') goto yy586;
9534
2.36k
        goto yy865;
9535
13.9k
      } else {
9536
13.9k
        if (yych == 'e') goto yy865;
9537
837
        goto yy586;
9538
13.9k
      }
9539
18.0k
    }
9540
4.57k
yy835:
9541
4.57k
    YYDEBUG(835, *YYCURSOR);
9542
4.57k
    yyaccept = 85;
9543
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
9544
4.57k
    if (yybm[256+yych] & 128) {
9545
390
      goto yy47;
9546
390
    }
9547
4.18k
    if (yych == '\\') goto yy164;
9548
4.17k
yy836:
9549
4.17k
    YYDEBUG(836, *YYCURSOR);
9550
4.17k
    yyleng = YYCURSOR - SCNG(yy_text);
9551
4.17k
#line 1613 "Zend/zend_language_scanner.l"
9552
4.17k
    {
9553
4.17k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9554
4.17k
}
9555
0
#line 9556 "Zend/zend_language_scanner.c"
9556
3.42k
yy837:
9557
3.42k
    YYDEBUG(837, *YYCURSOR);
9558
3.42k
    yyaccept = 4;
9559
3.42k
    yych = *(YYMARKER = ++YYCURSOR);
9560
3.42k
    if (yych == 'C') goto yy866;
9561
2.39k
    if (yych == 'c') goto yy866;
9562
303
    goto yy48;
9563
3.26k
yy838:
9564
3.26k
    YYDEBUG(838, *YYCURSOR);
9565
3.26k
    yyaccept = 86;
9566
3.26k
    yych = *(YYMARKER = ++YYCURSOR);
9567
3.26k
    if (yybm[256+yych] & 128) {
9568
538
      goto yy47;
9569
538
    }
9570
2.73k
    if (yych == '\\') goto yy164;
9571
2.73k
yy839:
9572
2.73k
    YYDEBUG(839, *YYCURSOR);
9573
2.73k
    yyleng = YYCURSOR - SCNG(yy_text);
9574
2.73k
#line 1536 "Zend/zend_language_scanner.l"
9575
2.73k
    {
9576
2.73k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9577
2.73k
}
9578
0
#line 9579 "Zend/zend_language_scanner.c"
9579
5.22k
yy840:
9580
5.22k
    YYDEBUG(840, *YYCURSOR);
9581
5.22k
    ++YYCURSOR;
9582
5.22k
    YYFILL(1);
9583
5.22k
    yych = *YYCURSOR;
9584
5.22k
    if (yych <= '_') {
9585
1.15k
      if (yych <= '@') goto yy86;
9586
764
      if (yych <= 'Z') goto yy867;
9587
219
      if (yych <= '^') goto yy86;
9588
118
      goto yy867;
9589
4.06k
    } else {
9590
4.06k
      if (yych <= '`') goto yy86;
9591
3.97k
      if (yych <= 'z') goto yy867;
9592
1.53k
      if (yych <= 0x7F) goto yy86;
9593
1.29k
      goto yy867;
9594
1.53k
    }
9595
1.18k
yy841:
9596
1.18k
    YYDEBUG(841, *YYCURSOR);
9597
1.18k
    yych = *++YYCURSOR;
9598
1.18k
    if (yych == 'T') goto yy870;
9599
942
    if (yych == 't') goto yy870;
9600
245
    goto yy86;
9601
2.41k
yy842:
9602
2.41k
    YYDEBUG(842, *YYCURSOR);
9603
2.41k
    yych = *++YYCURSOR;
9604
2.41k
    if (yych == 'S') goto yy871;
9605
1.89k
    if (yych == 's') goto yy871;
9606
369
    goto yy86;
9607
698
yy843:
9608
698
    YYDEBUG(843, *YYCURSOR);
9609
698
    yych = *++YYCURSOR;
9610
698
    if (yych == ')') goto yy872;
9611
191
    goto yy86;
9612
2.09k
yy844:
9613
2.09k
    YYDEBUG(844, *YYCURSOR);
9614
2.09k
    yyaccept = 4;
9615
2.09k
    yych = *(YYMARKER = ++YYCURSOR);
9616
2.09k
    if (yych == 'C') goto yy874;
9617
1.54k
    if (yych == 'c') goto yy874;
9618
342
    goto yy48;
9619
5.23k
yy845:
9620
5.23k
    YYDEBUG(845, *YYCURSOR);
9621
5.23k
    yych = *++YYCURSOR;
9622
5.23k
    if (yych <= '^') {
9623
4.06k
      if (yych <= '9') {
9624
3.38k
        if (yych <= '/') goto yy875;
9625
269
        goto yy86;
9626
3.38k
      } else {
9627
679
        if (yych <= '@') goto yy875;
9628
485
        if (yych <= 'Z') goto yy86;
9629
288
        goto yy875;
9630
485
      }
9631
4.06k
    } else {
9632
1.17k
      if (yych <= '`') {
9633
330
        if (yych <= '_') goto yy86;
9634
224
        goto yy875;
9635
845
      } else {
9636
845
        if (yych <= 'z') goto yy86;
9637
447
        if (yych <= 0x7F) goto yy875;
9638
286
        goto yy86;
9639
447
      }
9640
1.17k
    }
9641
316k
yy846:
9642
316k
    YYDEBUG(846, *YYCURSOR);
9643
316k
    ++YYCURSOR;
9644
316k
    YYFILL(1);
9645
316k
    yych = *YYCURSOR;
9646
316k
    YYDEBUG(847, *YYCURSOR);
9647
316k
    if (yych <= '#') {
9648
231k
      if (yych <= '\f') {
9649
17.1k
        if (yych <= 0x00) goto yy86;
9650
15.6k
        if (yych <= 0x08) goto yy696;
9651
15.4k
        if (yych <= '\n') goto yy846;
9652
139
        goto yy696;
9653
214k
      } else {
9654
214k
        if (yych <= 0x1F) {
9655
43.7k
          if (yych <= '\r') goto yy846;
9656
945
          goto yy696;
9657
170k
        } else {
9658
170k
          if (yych <= ' ') goto yy846;
9659
163k
          if (yych <= '"') goto yy696;
9660
162k
          goto yy877;
9661
163k
        }
9662
214k
      }
9663
231k
    } else {
9664
85.3k
      if (yych <= '/') {
9665
63.3k
        if (yych == '*') goto yy760;
9666
62.9k
        if (yych <= '.') goto yy696;
9667
46.7k
        goto yy878;
9668
62.9k
      } else {
9669
21.9k
        if (yych <= 'F') {
9670
11.0k
          if (yych <= 'E') goto yy696;
9671
7.03k
          goto yy879;
9672
11.0k
        } else {
9673
10.9k
          if (yych == 'f') goto yy879;
9674
9.66k
          goto yy696;
9675
10.9k
        }
9676
21.9k
      }
9677
85.3k
    }
9678
55.8k
yy848:
9679
55.8k
    YYDEBUG(848, *YYCURSOR);
9680
55.8k
    ++YYCURSOR;
9681
55.8k
    YYFILL(1);
9682
55.8k
    yych = *YYCURSOR;
9683
55.8k
    YYDEBUG(849, *YYCURSOR);
9684
55.8k
    if (yych <= '\r') {
9685
14.2k
      if (yych <= '\t') {
9686
1.95k
        if (yych <= 0x00) goto yy86;
9687
1.49k
        goto yy808;
9688
12.2k
      } else {
9689
12.2k
        if (yych <= '\n') goto yy846;
9690
7.62k
        if (yych <= '\f') goto yy808;
9691
7.01k
        goto yy846;
9692
7.62k
      }
9693
41.6k
    } else {
9694
41.6k
      if (yych <= '*') {
9695
19.2k
        if (yych <= ')') goto yy808;
9696
6.92k
        goto yy848;
9697
22.4k
      } else {
9698
22.4k
        if (yych == '/') goto yy694;
9699
3.74k
        goto yy808;
9700
22.4k
      }
9701
41.6k
    }
9702
12.5k
yy850:
9703
12.5k
    YYDEBUG(850, *YYCURSOR);
9704
12.5k
    ++YYCURSOR;
9705
12.5k
    YYFILL(1);
9706
12.5k
    yych = *YYCURSOR;
9707
12.5k
    if (yych <= '\r') {
9708
3.37k
      if (yych <= '\t') {
9709
1.04k
        if (yych <= 0x00) goto yy86;
9710
909
        goto yy692;
9711
2.33k
      } else {
9712
2.33k
        if (yych <= '\n') goto yy616;
9713
1.84k
        if (yych <= '\f') goto yy692;
9714
179
        goto yy616;
9715
1.84k
      }
9716
9.16k
    } else {
9717
9.16k
      if (yych <= 'M') {
9718
6.34k
        if (yych <= 'L') goto yy692;
9719
6.13k
        goto yy880;
9720
6.34k
      } else {
9721
2.81k
        if (yych == 'm') goto yy880;
9722
908
        goto yy692;
9723
2.81k
      }
9724
9.16k
    }
9725
5.21k
yy851:
9726
5.21k
    YYDEBUG(851, *YYCURSOR);
9727
5.21k
    yyaccept = 4;
9728
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
9729
5.21k
    if (yych == '_') goto yy881;
9730
387
    goto yy48;
9731
3.47k
yy852:
9732
3.47k
    YYDEBUG(852, *YYCURSOR);
9733
3.47k
    yyaccept = 4;
9734
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
9735
3.47k
    if (yych == 'P') goto yy882;
9736
2.34k
    if (yych == 'p') goto yy882;
9737
382
    goto yy48;
9738
9.97k
yy853:
9739
9.97k
    YYDEBUG(853, *YYCURSOR);
9740
9.97k
    yyaccept = 87;
9741
9.97k
    yych = *(YYMARKER = ++YYCURSOR);
9742
9.97k
    if (yybm[256+yych] & 128) {
9743
676
      goto yy47;
9744
676
    }
9745
9.29k
    if (yych == '\\') goto yy164;
9746
9.29k
yy854:
9747
9.29k
    YYDEBUG(854, *YYCURSOR);
9748
9.29k
    yyleng = YYCURSOR - SCNG(yy_text);
9749
9.29k
#line 2299 "Zend/zend_language_scanner.l"
9750
9.29k
    {
9751
9.29k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9752
9.29k
}
9753
0
#line 9754 "Zend/zend_language_scanner.c"
9754
5.49k
yy855:
9755
5.49k
    YYDEBUG(855, *YYCURSOR);
9756
5.49k
    yyaccept = 4;
9757
5.49k
    yych = *(YYMARKER = ++YYCURSOR);
9758
5.49k
    if (yych == 'E') goto yy883;
9759
2.51k
    if (yych == 'e') goto yy883;
9760
306
    goto yy48;
9761
1.89k
yy856:
9762
1.89k
    YYDEBUG(856, *YYCURSOR);
9763
1.89k
    yyaccept = 4;
9764
1.89k
    yych = *(YYMARKER = ++YYCURSOR);
9765
1.89k
    if (yych == '_') goto yy884;
9766
360
    goto yy48;
9767
1.04k
yy857:
9768
1.04k
    YYDEBUG(857, *YYCURSOR);
9769
1.04k
    yych = *++YYCURSOR;
9770
1.04k
    if (yych == 'S') goto yy885;
9771
816
    if (yych == 's') goto yy885;
9772
460
    goto yy86;
9773
1.34k
yy858:
9774
1.34k
    YYDEBUG(858, *YYCURSOR);
9775
1.34k
    yych = *++YYCURSOR;
9776
1.34k
    if (yych == 'E') goto yy887;
9777
987
    if (yych == 'e') goto yy887;
9778
427
    goto yy86;
9779
429k
yy859:
9780
429k
    YYDEBUG(859, *YYCURSOR);
9781
429k
    ++YYCURSOR;
9782
429k
    YYFILL(1);
9783
429k
    yych = *YYCURSOR;
9784
429k
    YYDEBUG(860, *YYCURSOR);
9785
429k
    if (yych <= '@') {
9786
239k
      if (yych <= 0x1F) {
9787
31.7k
        if (yych <= '\t') {
9788
7.79k
          if (yych <= 0x00) goto yy86;
9789
6.99k
          if (yych <= 0x08) goto yy738;
9790
6.17k
          goto yy859;
9791
23.9k
        } else {
9792
23.9k
          if (yych <= '\n') goto yy787;
9793
21.4k
          if (yych == '\r') goto yy787;
9794
3.08k
          goto yy738;
9795
21.4k
        }
9796
208k
      } else {
9797
208k
        if (yych <= ')') {
9798
107k
          if (yych <= ' ') goto yy859;
9799
66.2k
          if (yych == '#') goto yy888;
9800
5.76k
          goto yy738;
9801
100k
        } else {
9802
100k
          if (yych <= '*') goto yy789;
9803
99.1k
          if (yych == '/') goto yy889;
9804
5.36k
          goto yy738;
9805
99.1k
        }
9806
208k
      }
9807
239k
    } else {
9808
189k
      if (yych <= '_') {
9809
9.74k
        if (yych <= 'H') {
9810
996
          if (yych == 'E') goto yy891;
9811
718
          goto yy890;
9812
8.74k
        } else {
9813
8.74k
          if (yych <= 'I') goto yy892;
9814
2.76k
          if (yych <= 'Z') goto yy890;
9815
983
          if (yych <= '^') goto yy738;
9816
781
          goto yy890;
9817
983
        }
9818
179k
      } else {
9819
179k
        if (yych <= 'h') {
9820
111k
          if (yych <= '`') goto yy738;
9821
107k
          if (yych == 'e') goto yy891;
9822
1.90k
          goto yy890;
9823
107k
        } else {
9824
68.1k
          if (yych <= 'i') goto yy892;
9825
42.8k
          if (yych <= 'z') goto yy890;
9826
33.9k
          if (yych <= 0x7F) goto yy738;
9827
15.6k
          goto yy890;
9828
33.9k
        }
9829
179k
      }
9830
189k
    }
9831
58.3k
yy861:
9832
58.3k
    YYDEBUG(861, *YYCURSOR);
9833
58.3k
    ++YYCURSOR;
9834
58.3k
    YYFILL(1);
9835
58.3k
    yych = *YYCURSOR;
9836
58.3k
    if (yych <= '*') {
9837
2.02k
      if (yych <= 0x00) goto yy86;
9838
1.69k
      if (yych <= ')') goto yy590;
9839
257
      goto yy668;
9840
56.3k
    } else {
9841
56.3k
      if (yych == '/') goto yy787;
9842
733
      goto yy590;
9843
56.3k
    }
9844
5.55k
yy862:
9845
5.55k
    YYDEBUG(862, *YYCURSOR);
9846
5.55k
    ++YYCURSOR;
9847
5.55k
    YYFILL(1);
9848
5.55k
    yych = *YYCURSOR;
9849
5.55k
    if (yych <= 'S') {
9850
800
      if (yych <= 0x00) goto yy86;
9851
570
      if (yych == '*') goto yy668;
9852
515
      goto yy590;
9853
4.75k
    } else {
9854
4.75k
      if (yych <= 'T') goto yy893;
9855
4.10k
      if (yych == 't') goto yy893;
9856
743
      goto yy590;
9857
4.10k
    }
9858
10.5k
yy863:
9859
10.5k
    YYDEBUG(863, *YYCURSOR);
9860
10.5k
    ++YYCURSOR;
9861
10.5k
    YYFILL(1);
9862
10.5k
    yych = *YYCURSOR;
9863
10.5k
    if (yych <= 'O') {
9864
632
      if (yych <= 0x00) goto yy86;
9865
419
      if (yych == '*') goto yy668;
9866
228
      goto yy590;
9867
9.94k
    } else {
9868
9.94k
      if (yych <= 'P') goto yy894;
9869
8.08k
      if (yych == 'p') goto yy894;
9870
486
      goto yy590;
9871
8.08k
    }
9872
6.14k
yy864:
9873
6.14k
    YYDEBUG(864, *YYCURSOR);
9874
6.14k
    ++YYCURSOR;
9875
6.14k
    YYFILL(1);
9876
6.14k
    yych = *YYCURSOR;
9877
6.14k
    if (yych <= '\r') {
9878
1.24k
      if (yych <= '\t') {
9879
473
        if (yych <= 0x00) goto yy86;
9880
234
        goto yy586;
9881
769
      } else {
9882
769
        if (yych <= '\n') goto yy495;
9883
558
        if (yych <= '\f') goto yy586;
9884
350
        goto yy495;
9885
558
      }
9886
4.90k
    } else {
9887
4.90k
      if (yych <= 'D') {
9888
1.19k
        if (yych <= 'C') goto yy586;
9889
223
        goto yy895;
9890
3.71k
      } else {
9891
3.71k
        if (yych == 'd') goto yy895;
9892
1.06k
        goto yy586;
9893
3.71k
      }
9894
4.90k
    }
9895
15.4k
yy865:
9896
15.4k
    YYDEBUG(865, *YYCURSOR);
9897
15.4k
    ++YYCURSOR;
9898
15.4k
    YYFILL(1);
9899
15.4k
    yych = *YYCURSOR;
9900
15.4k
    if (yych <= '\r') {
9901
2.22k
      if (yych <= '\t') {
9902
1.20k
        if (yych <= 0x00) goto yy86;
9903
1.10k
        goto yy586;
9904
1.20k
      } else {
9905
1.02k
        if (yych <= '\n') goto yy495;
9906
629
        if (yych <= '\f') goto yy586;
9907
401
        goto yy495;
9908
629
      }
9909
13.2k
    } else {
9910
13.2k
      if (yych <= 'M') {
9911
3.51k
        if (yych <= 'L') goto yy586;
9912
2.72k
        goto yy896;
9913
9.70k
      } else {
9914
9.70k
        if (yych == 'm') goto yy896;
9915
4.14k
        goto yy586;
9916
9.70k
      }
9917
13.2k
    }
9918
3.11k
yy866:
9919
3.11k
    YYDEBUG(866, *YYCURSOR);
9920
3.11k
    yyaccept = 4;
9921
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
9922
3.11k
    if (yych == 'E') goto yy897;
9923
2.00k
    if (yych == 'e') goto yy897;
9924
376
    goto yy48;
9925
33.7k
yy867:
9926
33.7k
    YYDEBUG(867, *YYCURSOR);
9927
33.7k
    yyaccept = 88;
9928
33.7k
    YYMARKER = ++YYCURSOR;
9929
33.7k
    YYFILL(1);
9930
33.7k
    yych = *YYCURSOR;
9931
33.7k
    YYDEBUG(868, *YYCURSOR);
9932
33.7k
    if (yych <= '\\') {
9933
7.13k
      if (yych <= '@') {
9934
3.26k
        if (yych <= '/') goto yy869;
9935
1.93k
        if (yych <= '9') goto yy867;
9936
3.86k
      } else {
9937
3.86k
        if (yych <= 'Z') goto yy867;
9938
1.49k
        if (yych >= '\\') goto yy840;
9939
1.49k
      }
9940
26.5k
    } else {
9941
26.5k
      if (yych <= '`') {
9942
1.35k
        if (yych == '_') goto yy867;
9943
25.2k
      } else {
9944
25.2k
        if (yych <= 'z') goto yy867;
9945
16.0k
        if (yych >= 0x80) goto yy867;
9946
16.0k
      }
9947
26.5k
    }
9948
3.53k
yy869:
9949
3.53k
    YYDEBUG(869, *YYCURSOR);
9950
3.53k
    yyleng = YYCURSOR - SCNG(yy_text);
9951
3.53k
#line 2469 "Zend/zend_language_scanner.l"
9952
3.53k
    {
9953
3.53k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9954
3.53k
}
9955
0
#line 9956 "Zend/zend_language_scanner.c"
9956
935
yy870:
9957
935
    YYDEBUG(870, *YYCURSOR);
9958
935
    yych = *++YYCURSOR;
9959
935
    if (yych == ')') goto yy899;
9960
245
    goto yy86;
9961
2.04k
yy871:
9962
2.04k
    YYDEBUG(871, *YYCURSOR);
9963
2.04k
    yych = *++YYCURSOR;
9964
2.04k
    if (yych == 'E') goto yy901;
9965
1.35k
    if (yych == 'e') goto yy901;
9966
257
    goto yy86;
9967
507
yy872:
9968
507
    YYDEBUG(872, *YYCURSOR);
9969
507
    ++YYCURSOR;
9970
507
    YYDEBUG(873, *YYCURSOR);
9971
507
    yyleng = YYCURSOR - SCNG(yy_text);
9972
507
#line 1816 "Zend/zend_language_scanner.l"
9973
507
    {
9974
507
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9975
507
}
9976
0
#line 9977 "Zend/zend_language_scanner.c"
9977
1.75k
yy874:
9978
1.75k
    YYDEBUG(874, *YYCURSOR);
9979
1.75k
    yyaccept = 4;
9980
1.75k
    yych = *(YYMARKER = ++YYCURSOR);
9981
1.75k
    if (yych == 'E') goto yy902;
9982
1.05k
    if (yych == 'e') goto yy902;
9983
102
    goto yy48;
9984
4.78k
yy875:
9985
4.78k
    YYDEBUG(875, *YYCURSOR);
9986
4.78k
    ++YYCURSOR;
9987
20.4k
yy876:
9988
20.4k
    YYDEBUG(876, *YYCURSOR);
9989
20.4k
    yyleng = YYCURSOR - SCNG(yy_text);
9990
20.4k
#line 1458 "Zend/zend_language_scanner.l"
9991
20.4k
    {
9992
20.4k
  yyless(yyleng - 1);
9993
20.4k
  HANDLE_NEWLINES(yytext, yyleng);
9994
20.4k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9995
20.4k
}
9996
0
#line 9997 "Zend/zend_language_scanner.c"
9997
163k
yy877:
9998
163k
    YYDEBUG(877, *YYCURSOR);
9999
163k
    ++YYCURSOR;
10000
163k
    YYFILL(1);
10001
163k
    yych = *YYCURSOR;
10002
163k
    if (yych <= '\r') {
10003
119k
      if (yych <= '\t') {
10004
1.17k
        if (yych <= 0x00) goto yy86;
10005
533
        goto yy808;
10006
117k
      } else {
10007
117k
        if (yych <= '\n') goto yy904;
10008
37.8k
        if (yych <= '\f') goto yy808;
10009
37.4k
        goto yy904;
10010
37.8k
      }
10011
119k
    } else {
10012
44.5k
      if (yych <= '*') {
10013
8.97k
        if (yych <= ')') goto yy808;
10014
2.72k
        goto yy848;
10015
35.5k
      } else {
10016
35.5k
        if (yych == '[') goto yy696;
10017
35.3k
        goto yy808;
10018
35.5k
      }
10019
44.5k
    }
10020
46.7k
yy878:
10021
46.7k
    YYDEBUG(878, *YYCURSOR);
10022
46.7k
    ++YYCURSOR;
10023
46.7k
    YYFILL(1);
10024
46.7k
    yych = *YYCURSOR;
10025
46.7k
    if (yych <= '*') {
10026
44.1k
      if (yych <= 0x00) goto yy86;
10027
43.9k
      if (yych <= ')') goto yy696;
10028
43.4k
      goto yy906;
10029
43.9k
    } else {
10030
2.65k
      if (yych == '/') goto yy808;
10031
2.03k
      goto yy696;
10032
2.65k
    }
10033
9.19k
yy879:
10034
9.19k
    YYDEBUG(879, *YYCURSOR);
10035
9.19k
    ++YYCURSOR;
10036
9.19k
    YYFILL(1);
10037
9.19k
    yych = *YYCURSOR;
10038
9.19k
    if (yych <= 'Q') {
10039
1.01k
      if (yych <= 0x00) goto yy86;
10040
683
      if (yych == '*') goto yy760;
10041
430
      goto yy696;
10042
8.18k
    } else {
10043
8.18k
      if (yych <= 'R') goto yy907;
10044
2.12k
      if (yych == 'r') goto yy907;
10045
714
      goto yy696;
10046
2.12k
    }
10047
8.04k
yy880:
10048
8.04k
    YYDEBUG(880, *YYCURSOR);
10049
8.04k
    ++YYCURSOR;
10050
8.04k
    YYFILL(1);
10051
8.04k
    yych = *YYCURSOR;
10052
8.04k
    if (yych <= '9') {
10053
5.49k
      if (yych <= '\n') {
10054
1.94k
        if (yych <= 0x00) goto yy875;
10055
1.77k
        if (yych <= '\t') goto yy908;
10056
1.71k
        goto yy909;
10057
3.55k
      } else {
10058
3.55k
        if (yych == '\r') goto yy909;
10059
1.57k
        if (yych <= '/') goto yy908;
10060
211
        goto yy692;
10061
1.57k
      }
10062
5.49k
    } else {
10063
2.55k
      if (yych <= '_') {
10064
819
        if (yych <= '@') goto yy908;
10065
717
        if (yych <= 'Z') goto yy692;
10066
467
        if (yych <= '^') goto yy908;
10067
278
        goto yy692;
10068
1.73k
      } else {
10069
1.73k
        if (yych <= '`') goto yy908;
10070
1.55k
        if (yych <= 'z') goto yy692;
10071
1.33k
        if (yych <= 0x7F) goto yy908;
10072
538
        goto yy692;
10073
1.33k
      }
10074
2.55k
    }
10075
4.82k
yy881:
10076
4.82k
    YYDEBUG(881, *YYCURSOR);
10077
4.82k
    yyaccept = 4;
10078
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
10079
4.82k
    if (yych == '_') goto yy910;
10080
366
    goto yy48;
10081
3.09k
yy882:
10082
3.09k
    YYDEBUG(882, *YYCURSOR);
10083
3.09k
    yyaccept = 4;
10084
3.09k
    yych = *(YYMARKER = ++YYCURSOR);
10085
3.09k
    if (yych == 'I') goto yy912;
10086
1.95k
    if (yych == 'i') goto yy912;
10087
243
    goto yy48;
10088
5.18k
yy883:
10089
5.18k
    YYDEBUG(883, *YYCURSOR);
10090
5.18k
    yyaccept = 4;
10091
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
10092
5.18k
    if (yych == '_') goto yy913;
10093
505
    goto yy48;
10094
1.53k
yy884:
10095
1.53k
    YYDEBUG(884, *YYCURSOR);
10096
1.53k
    yyaccept = 4;
10097
1.53k
    yych = *(YYMARKER = ++YYCURSOR);
10098
1.53k
    if (yych == '_') goto yy914;
10099
101
    goto yy48;
10100
582
yy885:
10101
582
    YYDEBUG(885, *YYCURSOR);
10102
582
    ++YYCURSOR;
10103
2.29k
yy886:
10104
2.29k
    YYDEBUG(886, *YYCURSOR);
10105
2.29k
    yyleng = YYCURSOR - SCNG(yy_text);
10106
2.29k
#line 1600 "Zend/zend_language_scanner.l"
10107
2.29k
    {
10108
2.29k
  yyless(4);
10109
2.29k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10110
2.29k
}
10111
0
#line 10112 "Zend/zend_language_scanner.c"
10112
914
yy887:
10113
914
    YYDEBUG(887, *YYCURSOR);
10114
914
    yych = *++YYCURSOR;
10115
914
    if (yych == 'N') goto yy916;
10116
557
    if (yych == 'n') goto yy916;
10117
318
    goto yy86;
10118
60.4k
yy888:
10119
60.4k
    YYDEBUG(888, *YYCURSOR);
10120
60.4k
    ++YYCURSOR;
10121
60.4k
    YYFILL(1);
10122
60.4k
    yych = *YYCURSOR;
10123
60.4k
    if (yych <= '\f') {
10124
33.0k
      if (yych <= 0x00) goto yy86;
10125
33.0k
      if (yych == '\n') goto yy859;
10126
346
      goto yy738;
10127
33.0k
    } else {
10128
27.4k
      if (yych <= '\r') goto yy859;
10129
24.5k
      if (yych == '*') goto yy789;
10130
23.8k
      goto yy738;
10131
24.5k
    }
10132
93.8k
yy889:
10133
93.8k
    YYDEBUG(889, *YYCURSOR);
10134
93.8k
    ++YYCURSOR;
10135
93.8k
    YYFILL(1);
10136
93.8k
    yych = *YYCURSOR;
10137
93.8k
    if (yych <= '\f') {
10138
1.59k
      if (yych <= 0x00) goto yy86;
10139
959
      if (yych == '\n') goto yy787;
10140
631
      goto yy738;
10141
92.2k
    } else {
10142
92.2k
      if (yych <= '\r') goto yy787;
10143
90.6k
      if (yych == '*') goto yy917;
10144
5.73k
      goto yy738;
10145
90.6k
    }
10146
29.7k
yy890:
10147
29.7k
    YYDEBUG(890, *YYCURSOR);
10148
29.7k
    yyaccept = 53;
10149
29.7k
    YYMARKER = ++YYCURSOR;
10150
29.7k
    YYFILL(1);
10151
29.7k
    yych = *YYCURSOR;
10152
29.7k
    if (yych <= '\f') {
10153
1.65k
      if (yych <= 0x00) goto yy583;
10154
1.10k
      if (yych == '\n') goto yy787;
10155
409
      goto yy738;
10156
28.0k
    } else {
10157
28.0k
      if (yych <= '\r') goto yy787;
10158
27.5k
      if (yych == '*') goto yy789;
10159
26.6k
      goto yy738;
10160
27.5k
    }
10161
106k
yy891:
10162
106k
    YYDEBUG(891, *YYCURSOR);
10163
106k
    yyaccept = 53;
10164
106k
    YYMARKER = ++YYCURSOR;
10165
106k
    YYFILL(1);
10166
106k
    yych = *YYCURSOR;
10167
106k
    if (yych <= ')') {
10168
6.18k
      if (yych <= '\n') {
10169
2.64k
        if (yych <= 0x00) goto yy583;
10170
2.26k
        if (yych <= '\t') goto yy738;
10171
489
        goto yy787;
10172
3.54k
      } else {
10173
3.54k
        if (yych == '\r') goto yy787;
10174
2.89k
        goto yy738;
10175
3.54k
      }
10176
99.8k
    } else {
10177
99.8k
      if (yych <= 'X') {
10178
11.4k
        if (yych <= '*') goto yy789;
10179
11.2k
        if (yych <= 'W') goto yy738;
10180
3.51k
        goto yy918;
10181
88.4k
      } else {
10182
88.4k
        if (yych == 'x') goto yy918;
10183
62.4k
        goto yy738;
10184
88.4k
      }
10185
99.8k
    }
10186
31.3k
yy892:
10187
31.3k
    YYDEBUG(892, *YYCURSOR);
10188
31.3k
    yyaccept = 53;
10189
31.3k
    YYMARKER = ++YYCURSOR;
10190
31.3k
    YYFILL(1);
10191
31.3k
    yych = *YYCURSOR;
10192
31.3k
    if (yych <= ')') {
10193
873
      if (yych <= '\n') {
10194
661
        if (yych <= 0x00) goto yy583;
10195
276
        if (yych <= '\t') goto yy738;
10196
81
        goto yy787;
10197
276
      } else {
10198
212
        if (yych == '\r') goto yy787;
10199
189
        goto yy738;
10200
212
      }
10201
30.4k
    } else {
10202
30.4k
      if (yych <= 'M') {
10203
6.10k
        if (yych <= '*') goto yy789;
10204
6.05k
        if (yych <= 'L') goto yy738;
10205
5.88k
        goto yy919;
10206
24.3k
      } else {
10207
24.3k
        if (yych == 'm') goto yy919;
10208
1.13k
        goto yy738;
10209
24.3k
      }
10210
30.4k
    }
10211
4.01k
yy893:
10212
4.01k
    YYDEBUG(893, *YYCURSOR);
10213
4.01k
    ++YYCURSOR;
10214
4.01k
    YYFILL(1);
10215
4.01k
    yych = *YYCURSOR;
10216
4.01k
    if (yych <= 'D') {
10217
450
      if (yych <= 0x00) goto yy86;
10218
374
      if (yych == '*') goto yy668;
10219
196
      goto yy590;
10220
3.56k
    } else {
10221
3.56k
      if (yych <= 'E') goto yy920;
10222
3.52k
      if (yych == 'e') goto yy920;
10223
451
      goto yy590;
10224
3.52k
    }
10225
9.45k
yy894:
10226
9.45k
    YYDEBUG(894, *YYCURSOR);
10227
9.45k
    ++YYCURSOR;
10228
9.45k
    YYFILL(1);
10229
9.45k
    yych = *YYCURSOR;
10230
9.45k
    if (yych <= 'K') {
10231
2.82k
      if (yych <= 0x00) goto yy86;
10232
2.00k
      if (yych == '*') goto yy668;
10233
1.84k
      goto yy590;
10234
6.63k
    } else {
10235
6.63k
      if (yych <= 'L') goto yy921;
10236
4.95k
      if (yych == 'l') goto yy921;
10237
73
      goto yy590;
10238
4.95k
    }
10239
4.45k
yy895:
10240
4.45k
    YYDEBUG(895, *YYCURSOR);
10241
4.45k
    ++YYCURSOR;
10242
4.45k
    YYFILL(1);
10243
4.45k
    yych = *YYCURSOR;
10244
4.45k
    if (yych <= '\r') {
10245
961
      if (yych <= '\t') {
10246
382
        if (yych <= 0x00) goto yy86;
10247
218
        goto yy586;
10248
579
      } else {
10249
579
        if (yych <= '\n') goto yy495;
10250
373
        if (yych <= '\f') goto yy586;
10251
201
        goto yy495;
10252
373
      }
10253
3.49k
    } else {
10254
3.49k
      if (yych <= 'S') {
10255
1.22k
        if (yych <= 'R') goto yy586;
10256
451
        goto yy922;
10257
2.27k
      } else {
10258
2.27k
        if (yych == 's') goto yy922;
10259
777
        goto yy586;
10260
2.27k
      }
10261
3.49k
    }
10262
8.29k
yy896:
10263
8.29k
    YYDEBUG(896, *YYCURSOR);
10264
8.29k
    ++YYCURSOR;
10265
8.29k
    YYFILL(1);
10266
8.29k
    yych = *YYCURSOR;
10267
8.29k
    if (yych <= '\r') {
10268
1.90k
      if (yych <= '\t') {
10269
135
        if (yych <= 0x00) goto yy86;
10270
90
        goto yy586;
10271
1.76k
      } else {
10272
1.76k
        if (yych <= '\n') goto yy495;
10273
1.33k
        if (yych <= '\f') goto yy586;
10274
872
        goto yy495;
10275
1.33k
      }
10276
6.39k
    } else {
10277
6.39k
      if (yych <= 'E') {
10278
1.19k
        if (yych <= 'D') goto yy586;
10279
532
        goto yy923;
10280
5.19k
      } else {
10281
5.19k
        if (yych == 'e') goto yy923;
10282
500
        goto yy586;
10283
5.19k
      }
10284
6.39k
    }
10285
2.74k
yy897:
10286
2.74k
    YYDEBUG(897, *YYCURSOR);
10287
2.74k
    yyaccept = 89;
10288
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
10289
2.74k
    if (yybm[256+yych] & 128) {
10290
600
      goto yy47;
10291
600
    }
10292
2.14k
    if (yych == '\\') goto yy164;
10293
2.13k
yy898:
10294
2.13k
    YYDEBUG(898, *YYCURSOR);
10295
2.13k
    yyleng = YYCURSOR - SCNG(yy_text);
10296
2.13k
#line 1756 "Zend/zend_language_scanner.l"
10297
2.13k
    {
10298
2.13k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10299
2.13k
}
10300
0
#line 10301 "Zend/zend_language_scanner.c"
10301
690
yy899:
10302
690
    YYDEBUG(899, *YYCURSOR);
10303
690
    ++YYCURSOR;
10304
690
    YYDEBUG(900, *YYCURSOR);
10305
690
    yyleng = YYCURSOR - SCNG(yy_text);
10306
690
#line 1824 "Zend/zend_language_scanner.l"
10307
690
    {
10308
690
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10309
690
}
10310
0
#line 10311 "Zend/zend_language_scanner.c"
10311
1.78k
yy901:
10312
1.78k
    YYDEBUG(901, *YYCURSOR);
10313
1.78k
    yych = *++YYCURSOR;
10314
1.78k
    if (yych == 'T') goto yy924;
10315
1.59k
    if (yych == 't') goto yy924;
10316
513
    goto yy86;
10317
1.65k
yy902:
10318
1.65k
    YYDEBUG(902, *YYCURSOR);
10319
1.65k
    yyaccept = 90;
10320
1.65k
    yych = *(YYMARKER = ++YYCURSOR);
10321
1.65k
    if (yybm[256+yych] & 128) {
10322
319
      goto yy47;
10323
319
    }
10324
1.33k
    if (yych == '\\') goto yy164;
10325
1.28k
yy903:
10326
1.28k
    YYDEBUG(903, *YYCURSOR);
10327
1.28k
    yyleng = YYCURSOR - SCNG(yy_text);
10328
1.28k
#line 1764 "Zend/zend_language_scanner.l"
10329
1.28k
    {
10330
1.28k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10331
1.28k
}
10332
0
#line 10333 "Zend/zend_language_scanner.c"
10333
166k
yy904:
10334
166k
    YYDEBUG(904, *YYCURSOR);
10335
166k
    ++YYCURSOR;
10336
166k
    YYFILL(1);
10337
166k
    yych = *YYCURSOR;
10338
166k
    YYDEBUG(905, *YYCURSOR);
10339
166k
    if (yych <= '"') {
10340
23.4k
      if (yych <= '\n') {
10341
7.37k
        if (yych <= 0x00) goto yy86;
10342
6.89k
        if (yych <= 0x08) goto yy808;
10343
6.41k
        if (yych <= '\t') goto yy904;
10344
2.62k
        goto yy846;
10345
16.0k
      } else {
10346
16.0k
        if (yych <= '\r') {
10347
11.9k
          if (yych <= '\f') goto yy808;
10348
11.8k
          goto yy846;
10349
11.9k
        } else {
10350
4.08k
          if (yych == ' ') goto yy904;
10351
2.08k
          goto yy808;
10352
4.08k
        }
10353
16.0k
      }
10354
143k
    } else {
10355
143k
      if (yych <= '/') {
10356
67.8k
        if (yych <= ')') {
10357
14.8k
          if (yych <= '#') goto yy925;
10358
4.79k
          goto yy808;
10359
53.0k
        } else {
10360
53.0k
          if (yych <= '*') goto yy848;
10361
52.6k
          if (yych <= '.') goto yy808;
10362
50.0k
          goto yy926;
10363
52.6k
        }
10364
75.3k
      } else {
10365
75.3k
        if (yych <= 'F') {
10366
26.4k
          if (yych <= 'E') goto yy808;
10367
24.0k
          goto yy927;
10368
48.9k
        } else {
10369
48.9k
          if (yych == 'f') goto yy927;
10370
48.2k
          goto yy808;
10371
48.9k
        }
10372
75.3k
      }
10373
143k
    }
10374
43.4k
yy906:
10375
43.4k
    YYDEBUG(906, *YYCURSOR);
10376
43.4k
    ++YYCURSOR;
10377
43.4k
    YYFILL(1);
10378
43.4k
    yych = *YYCURSOR;
10379
43.4k
    if (yych <= '*') {
10380
2.65k
      if (yych <= 0x00) goto yy86;
10381
2.30k
      if (yych <= ')') goto yy696;
10382
264
      goto yy760;
10383
40.8k
    } else {
10384
40.8k
      if (yych == '/') goto yy846;
10385
704
      goto yy696;
10386
40.8k
    }
10387
7.46k
yy907:
10388
7.46k
    YYDEBUG(907, *YYCURSOR);
10389
7.46k
    ++YYCURSOR;
10390
7.46k
    YYFILL(1);
10391
7.46k
    yych = *YYCURSOR;
10392
7.46k
    if (yych <= 'N') {
10393
680
      if (yych <= 0x00) goto yy86;
10394
461
      if (yych == '*') goto yy760;
10395
246
      goto yy696;
10396
6.78k
    } else {
10397
6.78k
      if (yych <= 'O') goto yy928;
10398
2.59k
      if (yych == 'o') goto yy928;
10399
316
      goto yy696;
10400
2.59k
    }
10401
2.69k
yy908:
10402
2.69k
    YYDEBUG(908, *YYCURSOR);
10403
2.69k
    yyaccept = 91;
10404
2.69k
    YYMARKER = ++YYCURSOR;
10405
2.69k
    YYFILL(1);
10406
2.69k
    yych = *YYCURSOR;
10407
2.69k
    if (yych <= '\n') {
10408
885
      if (yych <= 0x00) goto yy876;
10409
546
      if (yych <= '\t') goto yy692;
10410
201
      goto yy616;
10411
1.81k
    } else {
10412
1.81k
      if (yych == '\r') goto yy616;
10413
1.55k
      goto yy692;
10414
1.81k
    }
10415
3.68k
yy909:
10416
3.68k
    YYDEBUG(909, *YYCURSOR);
10417
3.68k
    yyaccept = 91;
10418
3.68k
    YYMARKER = ++YYCURSOR;
10419
3.68k
    YYFILL(5);
10420
3.68k
    yych = *YYCURSOR;
10421
3.68k
    if (yych <= '"') {
10422
1.19k
      if (yych <= '\f') {
10423
774
        if (yych <= 0x08) goto yy876;
10424
494
        if (yych <= '\n') goto yy616;
10425
206
        goto yy876;
10426
494
      } else {
10427
423
        if (yych <= '\r') goto yy616;
10428
267
        if (yych == ' ') goto yy616;
10429
79
        goto yy876;
10430
267
      }
10431
2.48k
    } else {
10432
2.48k
      if (yych <= 'E') {
10433
838
        if (yych <= '#') goto yy618;
10434
477
        if (yych == '/') goto yy619;
10435
176
        goto yy876;
10436
1.65k
      } else {
10437
1.65k
        if (yych <= 'F') goto yy691;
10438
1.07k
        if (yych == 'f') goto yy691;
10439
134
        goto yy876;
10440
1.07k
      }
10441
2.48k
    }
10442
4.45k
yy910:
10443
4.45k
    YYDEBUG(910, *YYCURSOR);
10444
4.45k
    yyaccept = 92;
10445
4.45k
    yych = *(YYMARKER = ++YYCURSOR);
10446
4.45k
    if (yybm[256+yych] & 128) {
10447
359
      goto yy47;
10448
359
    }
10449
4.09k
    if (yych == '\\') goto yy164;
10450
4.09k
yy911:
10451
4.09k
    YYDEBUG(911, *YYCURSOR);
10452
4.09k
    yyleng = YYCURSOR - SCNG(yy_text);
10453
4.09k
#line 2291 "Zend/zend_language_scanner.l"
10454
4.09k
    {
10455
4.09k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10456
4.09k
}
10457
0
#line 10458 "Zend/zend_language_scanner.c"
10458
2.84k
yy912:
10459
2.84k
    YYDEBUG(912, *YYCURSOR);
10460
2.84k
    yyaccept = 4;
10461
2.84k
    yych = *(YYMARKER = ++YYCURSOR);
10462
2.84k
    if (yych == 'L') goto yy929;
10463
2.40k
    if (yych == 'l') goto yy929;
10464
621
    goto yy48;
10465
4.67k
yy913:
10466
4.67k
    YYDEBUG(913, *YYCURSOR);
10467
4.67k
    yyaccept = 4;
10468
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
10469
4.67k
    if (yych == '_') goto yy930;
10470
790
    goto yy48;
10471
1.43k
yy914:
10472
1.43k
    YYDEBUG(914, *YYCURSOR);
10473
1.43k
    yyaccept = 93;
10474
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
10475
1.43k
    if (yybm[256+yych] & 128) {
10476
304
      goto yy47;
10477
304
    }
10478
1.13k
    if (yych == '\\') goto yy164;
10479
1.13k
yy915:
10480
1.13k
    YYDEBUG(915, *YYCURSOR);
10481
1.13k
    yyleng = YYCURSOR - SCNG(yy_text);
10482
1.13k
#line 2295 "Zend/zend_language_scanner.l"
10483
1.13k
    {
10484
1.13k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10485
1.13k
}
10486
0
#line 10487 "Zend/zend_language_scanner.c"
10487
596
yy916:
10488
596
    YYDEBUG(916, *YYCURSOR);
10489
596
    yych = *++YYCURSOR;
10490
596
    if (yych == 'T') goto yy857;
10491
516
    if (yych == 't') goto yy857;
10492
364
    goto yy86;
10493
84.9k
yy917:
10494
84.9k
    YYDEBUG(917, *YYCURSOR);
10495
84.9k
    ++YYCURSOR;
10496
84.9k
    YYFILL(1);
10497
84.9k
    yych = *YYCURSOR;
10498
84.9k
    if (yych <= '\r') {
10499
2.47k
      if (yych <= '\t') {
10500
716
        if (yych <= 0x00) goto yy86;
10501
447
        goto yy738;
10502
1.75k
      } else {
10503
1.75k
        if (yych <= '\n') goto yy787;
10504
786
        if (yych <= '\f') goto yy738;
10505
666
        goto yy787;
10506
786
      }
10507
82.4k
    } else {
10508
82.4k
      if (yych <= '*') {
10509
2.45k
        if (yych <= ')') goto yy738;
10510
261
        goto yy789;
10511
79.9k
      } else {
10512
79.9k
        if (yych == '/') goto yy859;
10513
1.00k
        goto yy738;
10514
79.9k
      }
10515
82.4k
    }
10516
29.5k
yy918:
10517
29.5k
    YYDEBUG(918, *YYCURSOR);
10518
29.5k
    ++YYCURSOR;
10519
29.5k
    YYFILL(1);
10520
29.5k
    yych = *YYCURSOR;
10521
29.5k
    if (yych <= ')') {
10522
1.61k
      if (yych <= '\n') {
10523
729
        if (yych <= 0x00) goto yy86;
10524
378
        if (yych <= '\t') goto yy738;
10525
179
        goto yy787;
10526
883
      } else {
10527
883
        if (yych == '\r') goto yy787;
10528
675
        goto yy738;
10529
883
      }
10530
27.9k
    } else {
10531
27.9k
      if (yych <= 'T') {
10532
5.58k
        if (yych <= '*') goto yy789;
10533
5.36k
        if (yych <= 'S') goto yy738;
10534
3.56k
        goto yy932;
10535
22.3k
      } else {
10536
22.3k
        if (yych == 't') goto yy932;
10537
12.2k
        goto yy738;
10538
22.3k
      }
10539
27.9k
    }
10540
29.1k
yy919:
10541
29.1k
    YYDEBUG(919, *YYCURSOR);
10542
29.1k
    ++YYCURSOR;
10543
29.1k
    YYFILL(1);
10544
29.1k
    yych = *YYCURSOR;
10545
29.1k
    if (yych <= ')') {
10546
1.67k
      if (yych <= '\n') {
10547
766
        if (yych <= 0x00) goto yy86;
10548
345
        if (yych <= '\t') goto yy738;
10549
197
        goto yy787;
10550
907
      } else {
10551
907
        if (yych == '\r') goto yy787;
10552
392
        goto yy738;
10553
907
      }
10554
27.4k
    } else {
10555
27.4k
      if (yych <= 'P') {
10556
6.81k
        if (yych <= '*') goto yy789;
10557
6.52k
        if (yych <= 'O') goto yy738;
10558
3.90k
        goto yy933;
10559
20.6k
      } else {
10560
20.6k
        if (yych == 'p') goto yy933;
10561
1.15k
        goto yy738;
10562
20.6k
      }
10563
27.4k
    }
10564
3.11k
yy920:
10565
3.11k
    YYDEBUG(920, *YYCURSOR);
10566
3.11k
    ++YYCURSOR;
10567
3.11k
    YYFILL(1);
10568
3.11k
    yych = *YYCURSOR;
10569
3.11k
    if (yych <= 'M') {
10570
588
      if (yych <= 0x00) goto yy86;
10571
367
      if (yych == '*') goto yy668;
10572
302
      goto yy590;
10573
2.52k
    } else {
10574
2.52k
      if (yych <= 'N') goto yy934;
10575
1.97k
      if (yych == 'n') goto yy934;
10576
242
      goto yy590;
10577
1.97k
    }
10578
6.55k
yy921:
10579
6.55k
    YYDEBUG(921, *YYCURSOR);
10580
6.55k
    ++YYCURSOR;
10581
6.55k
    YYFILL(1);
10582
6.55k
    yych = *YYCURSOR;
10583
6.55k
    if (yych <= 'D') {
10584
772
      if (yych <= 0x00) goto yy86;
10585
552
      if (yych == '*') goto yy668;
10586
407
      goto yy590;
10587
5.78k
    } else {
10588
5.78k
      if (yych <= 'E') goto yy935;
10589
3.53k
      if (yych == 'e') goto yy935;
10590
45
      goto yy590;
10591
3.53k
    }
10592
1.94k
yy922:
10593
1.94k
    YYDEBUG(922, *YYCURSOR);
10594
1.94k
    yyaccept = 94;
10595
1.94k
    YYMARKER = ++YYCURSOR;
10596
1.94k
    YYFILL(1);
10597
1.94k
    yych = *YYCURSOR;
10598
1.94k
    if (yych <= '\n') {
10599
858
      if (yych <= 0x00) goto yy886;
10600
648
      if (yych <= '\t') goto yy586;
10601
363
      goto yy495;
10602
1.08k
    } else {
10603
1.08k
      if (yych == '\r') goto yy495;
10604
1.02k
      goto yy586;
10605
1.08k
    }
10606
5.23k
yy923:
10607
5.23k
    YYDEBUG(923, *YYCURSOR);
10608
5.23k
    ++YYCURSOR;
10609
5.23k
    YYFILL(1);
10610
5.23k
    yych = *YYCURSOR;
10611
5.23k
    if (yych <= '\r') {
10612
1.88k
      if (yych <= '\t') {
10613
1.24k
        if (yych <= 0x00) goto yy86;
10614
860
        goto yy586;
10615
1.24k
      } else {
10616
638
        if (yych <= '\n') goto yy495;
10617
487
        if (yych <= '\f') goto yy586;
10618
249
        goto yy495;
10619
487
      }
10620
3.34k
    } else {
10621
3.34k
      if (yych <= 'N') {
10622
699
        if (yych <= 'M') goto yy586;
10623
416
        goto yy936;
10624
2.64k
      } else {
10625
2.64k
        if (yych == 'n') goto yy936;
10626
289
        goto yy586;
10627
2.64k
      }
10628
3.34k
    }
10629
1.27k
yy924:
10630
1.27k
    YYDEBUG(924, *YYCURSOR);
10631
1.27k
    yych = *++YYCURSOR;
10632
1.27k
    if (yych == ')') goto yy937;
10633
458
    goto yy86;
10634
10.0k
yy925:
10635
10.0k
    YYDEBUG(925, *YYCURSOR);
10636
10.0k
    ++YYCURSOR;
10637
10.0k
    YYFILL(1);
10638
10.0k
    yych = *YYCURSOR;
10639
10.0k
    if (yych <= '\f') {
10640
4.35k
      if (yych <= 0x00) goto yy86;
10641
4.27k
      if (yych == '\n') goto yy904;
10642
500
      goto yy808;
10643
5.68k
    } else {
10644
5.68k
      if (yych <= '\r') goto yy904;
10645
2.62k
      if (yych == '*') goto yy848;
10646
2.24k
      goto yy808;
10647
2.62k
    }
10648
50.0k
yy926:
10649
50.0k
    YYDEBUG(926, *YYCURSOR);
10650
50.0k
    ++YYCURSOR;
10651
50.0k
    YYFILL(1);
10652
50.0k
    yych = *YYCURSOR;
10653
50.0k
    if (yych <= '\f') {
10654
921
      if (yych <= 0x00) goto yy86;
10655
648
      if (yych == '\n') goto yy846;
10656
303
      goto yy808;
10657
49.1k
    } else {
10658
49.1k
      if (yych <= '\r') goto yy846;
10659
47.1k
      if (yych == '*') goto yy939;
10660
3.94k
      goto yy808;
10661
47.1k
    }
10662
24.7k
yy927:
10663
24.7k
    YYDEBUG(927, *YYCURSOR);
10664
24.7k
    ++YYCURSOR;
10665
24.7k
    YYFILL(1);
10666
24.7k
    yych = *YYCURSOR;
10667
24.7k
    if (yych <= ')') {
10668
4.76k
      if (yych <= '\n') {
10669
4.09k
        if (yych <= 0x00) goto yy86;
10670
3.85k
        if (yych <= '\t') goto yy808;
10671
3.51k
        goto yy846;
10672
3.85k
      } else {
10673
674
        if (yych == '\r') goto yy846;
10674
352
        goto yy808;
10675
674
      }
10676
19.9k
    } else {
10677
19.9k
      if (yych <= 'R') {
10678
14.2k
        if (yych <= '*') goto yy848;
10679
14.0k
        if (yych <= 'Q') goto yy808;
10680
13.7k
        goto yy940;
10681
14.0k
      } else {
10682
5.70k
        if (yych == 'r') goto yy940;
10683
2.17k
        goto yy808;
10684
5.70k
      }
10685
19.9k
    }
10686
6.47k
yy928:
10687
6.47k
    YYDEBUG(928, *YYCURSOR);
10688
6.47k
    ++YYCURSOR;
10689
6.47k
    YYFILL(1);
10690
6.47k
    yych = *YYCURSOR;
10691
6.47k
    if (yych <= 'L') {
10692
1.00k
      if (yych <= 0x00) goto yy86;
10693
581
      if (yych == '*') goto yy760;
10694
274
      goto yy696;
10695
5.46k
    } else {
10696
5.46k
      if (yych <= 'M') goto yy941;
10697
1.56k
      if (yych == 'm') goto yy941;
10698
249
      goto yy696;
10699
1.56k
    }
10700
2.22k
yy929:
10701
2.22k
    YYDEBUG(929, *YYCURSOR);
10702
2.22k
    yyaccept = 4;
10703
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
10704
2.22k
    if (yych == 'E') goto yy942;
10705
1.92k
    if (yych == 'e') goto yy942;
10706
404
    goto yy48;
10707
3.88k
yy930:
10708
3.88k
    YYDEBUG(930, *YYCURSOR);
10709
3.88k
    yyaccept = 95;
10710
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
10711
3.88k
    if (yybm[256+yych] & 128) {
10712
394
      goto yy47;
10713
394
    }
10714
3.49k
    if (yych == '\\') goto yy164;
10715
3.49k
yy931:
10716
3.49k
    YYDEBUG(931, *YYCURSOR);
10717
3.49k
    yyleng = YYCURSOR - SCNG(yy_text);
10718
3.49k
#line 2315 "Zend/zend_language_scanner.l"
10719
3.49k
    {
10720
3.49k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10721
3.49k
}
10722
0
#line 10723 "Zend/zend_language_scanner.c"
10723
13.6k
yy932:
10724
13.6k
    YYDEBUG(932, *YYCURSOR);
10725
13.6k
    ++YYCURSOR;
10726
13.6k
    YYFILL(1);
10727
13.6k
    yych = *YYCURSOR;
10728
13.6k
    if (yych <= ')') {
10729
826
      if (yych <= '\n') {
10730
441
        if (yych <= 0x00) goto yy86;
10731
358
        if (yych <= '\t') goto yy738;
10732
288
        goto yy787;
10733
385
      } else {
10734
385
        if (yych == '\r') goto yy787;
10735
177
        goto yy738;
10736
385
      }
10737
12.8k
    } else {
10738
12.8k
      if (yych <= 'E') {
10739
748
        if (yych <= '*') goto yy789;
10740
696
        if (yych <= 'D') goto yy738;
10741
311
        goto yy943;
10742
12.0k
      } else {
10743
12.0k
        if (yych == 'e') goto yy943;
10744
627
        goto yy738;
10745
12.0k
      }
10746
12.8k
    }
10747
23.3k
yy933:
10748
23.3k
    YYDEBUG(933, *YYCURSOR);
10749
23.3k
    ++YYCURSOR;
10750
23.3k
    YYFILL(1);
10751
23.3k
    yych = *YYCURSOR;
10752
23.3k
    if (yych <= ')') {
10753
1.23k
      if (yych <= '\n') {
10754
543
        if (yych <= 0x00) goto yy86;
10755
252
        if (yych <= '\t') goto yy738;
10756
166
        goto yy787;
10757
688
      } else {
10758
688
        if (yych == '\r') goto yy787;
10759
444
        goto yy738;
10760
688
      }
10761
22.1k
    } else {
10762
22.1k
      if (yych <= 'L') {
10763
3.48k
        if (yych <= '*') goto yy789;
10764
3.16k
        if (yych <= 'K') goto yy738;
10765
2.65k
        goto yy944;
10766
18.6k
      } else {
10767
18.6k
        if (yych == 'l') goto yy944;
10768
1.68k
        goto yy738;
10769
18.6k
      }
10770
22.1k
    }
10771
2.28k
yy934:
10772
2.28k
    YYDEBUG(934, *YYCURSOR);
10773
2.28k
    ++YYCURSOR;
10774
2.28k
    YYFILL(1);
10775
2.28k
    yych = *YYCURSOR;
10776
2.28k
    if (yych <= 'C') {
10777
980
      if (yych <= 0x00) goto yy86;
10778
771
      if (yych == '*') goto yy668;
10779
335
      goto yy590;
10780
1.30k
    } else {
10781
1.30k
      if (yych <= 'D') goto yy945;
10782
1.04k
      if (yych == 'd') goto yy945;
10783
380
      goto yy590;
10784
1.04k
    }
10785
5.74k
yy935:
10786
5.74k
    YYDEBUG(935, *YYCURSOR);
10787
5.74k
    ++YYCURSOR;
10788
5.74k
    YYFILL(1);
10789
5.74k
    yych = *YYCURSOR;
10790
5.74k
    if (yych <= 'L') {
10791
1.71k
      if (yych <= 0x00) goto yy86;
10792
1.48k
      if (yych == '*') goto yy668;
10793
1.38k
      goto yy590;
10794
4.02k
    } else {
10795
4.02k
      if (yych <= 'M') goto yy946;
10796
2.67k
      if (yych == 'm') goto yy946;
10797
699
      goto yy590;
10798
2.67k
    }
10799
2.77k
yy936:
10800
2.77k
    YYDEBUG(936, *YYCURSOR);
10801
2.77k
    ++YYCURSOR;
10802
2.77k
    YYFILL(1);
10803
2.77k
    yych = *YYCURSOR;
10804
2.77k
    if (yych <= '\r') {
10805
683
      if (yych <= '\t') {
10806
245
        if (yych <= 0x00) goto yy86;
10807
59
        goto yy586;
10808
438
      } else {
10809
438
        if (yych <= '\n') goto yy495;
10810
397
        if (yych <= '\f') goto yy586;
10811
240
        goto yy495;
10812
397
      }
10813
2.08k
    } else {
10814
2.08k
      if (yych <= 'T') {
10815
593
        if (yych <= 'S') goto yy586;
10816
274
        goto yy895;
10817
1.49k
      } else {
10818
1.49k
        if (yych == 't') goto yy895;
10819
187
        goto yy586;
10820
1.49k
      }
10821
2.08k
    }
10822
817
yy937:
10823
817
    YYDEBUG(937, *YYCURSOR);
10824
817
    ++YYCURSOR;
10825
817
    YYDEBUG(938, *YYCURSOR);
10826
817
    yyleng = YYCURSOR - SCNG(yy_text);
10827
817
#line 1820 "Zend/zend_language_scanner.l"
10828
817
    {
10829
817
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10830
817
}
10831
0
#line 10832 "Zend/zend_language_scanner.c"
10832
43.2k
yy939:
10833
43.2k
    YYDEBUG(939, *YYCURSOR);
10834
43.2k
    ++YYCURSOR;
10835
43.2k
    YYFILL(1);
10836
43.2k
    yych = *YYCURSOR;
10837
43.2k
    if (yych <= '\r') {
10838
4.40k
      if (yych <= '\t') {
10839
2.60k
        if (yych <= 0x00) goto yy86;
10840
2.30k
        goto yy808;
10841
2.60k
      } else {
10842
1.80k
        if (yych <= '\n') goto yy846;
10843
678
        if (yych <= '\f') goto yy808;
10844
555
        goto yy846;
10845
678
      }
10846
38.8k
    } else {
10847
38.8k
      if (yych <= '*') {
10848
744
        if (yych <= ')') goto yy808;
10849
352
        goto yy848;
10850
38.0k
      } else {
10851
38.0k
        if (yych == '/') goto yy904;
10852
1.63k
        goto yy808;
10853
38.0k
      }
10854
38.8k
    }
10855
17.3k
yy940:
10856
17.3k
    YYDEBUG(940, *YYCURSOR);
10857
17.3k
    ++YYCURSOR;
10858
17.3k
    YYFILL(1);
10859
17.3k
    yych = *YYCURSOR;
10860
17.3k
    if (yych <= ')') {
10861
1.03k
      if (yych <= '\n') {
10862
607
        if (yych <= 0x00) goto yy86;
10863
426
        if (yych <= '\t') goto yy808;
10864
69
        goto yy846;
10865
426
      } else {
10866
424
        if (yych == '\r') goto yy846;
10867
226
        goto yy808;
10868
424
      }
10869
16.2k
    } else {
10870
16.2k
      if (yych <= 'O') {
10871
12.2k
        if (yych <= '*') goto yy848;
10872
12.1k
        if (yych <= 'N') goto yy808;
10873
11.7k
        goto yy947;
10874
12.1k
      } else {
10875
3.99k
        if (yych == 'o') goto yy947;
10876
541
        goto yy808;
10877
3.99k
      }
10878
16.2k
    }
10879
5.21k
yy941:
10880
5.21k
    YYDEBUG(941, *YYCURSOR);
10881
5.21k
    ++YYCURSOR;
10882
5.21k
    YYFILL(1);
10883
5.21k
    yych = *YYCURSOR;
10884
5.21k
    if (yych <= '@') {
10885
3.58k
      if (yych <= '*') {
10886
3.09k
        if (yych <= 0x00) goto yy875;
10887
2.86k
        if (yych <= ')') goto yy948;
10888
673
        goto yy949;
10889
2.86k
      } else {
10890
487
        if (yych <= '/') goto yy948;
10891
426
        if (yych <= '9') goto yy696;
10892
110
        goto yy948;
10893
426
      }
10894
3.58k
    } else {
10895
1.63k
      if (yych <= '_') {
10896
462
        if (yych <= 'Z') goto yy696;
10897
269
        if (yych <= '^') goto yy948;
10898
207
        goto yy696;
10899
1.17k
      } else {
10900
1.17k
        if (yych <= '`') goto yy948;
10901
929
        if (yych <= 'z') goto yy696;
10902
734
        if (yych <= 0x7F) goto yy948;
10903
185
        goto yy696;
10904
734
      }
10905
1.63k
    }
10906
1.82k
yy942:
10907
1.82k
    YYDEBUG(942, *YYCURSOR);
10908
1.82k
    yyaccept = 4;
10909
1.82k
    yych = *(YYMARKER = ++YYCURSOR);
10910
1.82k
    if (yych == 'R') goto yy950;
10911
1.54k
    if (yych == 'r') goto yy950;
10912
418
    goto yy48;
10913
11.7k
yy943:
10914
11.7k
    YYDEBUG(943, *YYCURSOR);
10915
11.7k
    ++YYCURSOR;
10916
11.7k
    YYFILL(1);
10917
11.7k
    yych = *YYCURSOR;
10918
11.7k
    if (yych <= ')') {
10919
1.80k
      if (yych <= '\n') {
10920
1.12k
        if (yych <= 0x00) goto yy86;
10921
665
        if (yych <= '\t') goto yy738;
10922
357
        goto yy787;
10923
686
      } else {
10924
686
        if (yych == '\r') goto yy787;
10925
276
        goto yy738;
10926
686
      }
10927
9.94k
    } else {
10928
9.94k
      if (yych <= 'N') {
10929
3.12k
        if (yych <= '*') goto yy789;
10930
2.12k
        if (yych <= 'M') goto yy738;
10931
1.17k
        goto yy952;
10932
6.81k
      } else {
10933
6.81k
        if (yych == 'n') goto yy952;
10934
936
        goto yy738;
10935
6.81k
      }
10936
9.94k
    }
10937
19.6k
yy944:
10938
19.6k
    YYDEBUG(944, *YYCURSOR);
10939
19.6k
    ++YYCURSOR;
10940
19.6k
    YYFILL(1);
10941
19.6k
    yych = *YYCURSOR;
10942
19.6k
    if (yych <= ')') {
10943
1.53k
      if (yych <= '\n') {
10944
500
        if (yych <= 0x00) goto yy86;
10945
433
        if (yych <= '\t') goto yy738;
10946
204
        goto yy787;
10947
1.03k
      } else {
10948
1.03k
        if (yych == '\r') goto yy787;
10949
672
        goto yy738;
10950
1.03k
      }
10951
18.1k
    } else {
10952
18.1k
      if (yych <= 'E') {
10953
2.49k
        if (yych <= '*') goto yy789;
10954
2.24k
        if (yych <= 'D') goto yy738;
10955
1.77k
        goto yy953;
10956
15.6k
      } else {
10957
15.6k
        if (yych == 'e') goto yy953;
10958
336
        goto yy738;
10959
15.6k
      }
10960
18.1k
    }
10961
1.34k
yy945:
10962
1.34k
    YYDEBUG(945, *YYCURSOR);
10963
1.34k
    ++YYCURSOR;
10964
1.34k
    YYFILL(1);
10965
1.34k
    yych = *YYCURSOR;
10966
1.34k
    if (yych <= 'R') {
10967
411
      if (yych <= 0x00) goto yy86;
10968
370
      if (yych == '*') goto yy668;
10969
165
      goto yy590;
10970
930
    } else {
10971
930
      if (yych <= 'S') goto yy954;
10972
747
      if (yych == 's') goto yy954;
10973
331
      goto yy590;
10974
747
    }
10975
3.32k
yy946:
10976
3.32k
    YYDEBUG(946, *YYCURSOR);
10977
3.32k
    ++YYCURSOR;
10978
3.32k
    YYFILL(1);
10979
3.32k
    yych = *YYCURSOR;
10980
3.32k
    if (yych <= 'D') {
10981
492
      if (yych <= 0x00) goto yy86;
10982
342
      if (yych == '*') goto yy668;
10983
234
      goto yy590;
10984
2.83k
    } else {
10985
2.83k
      if (yych <= 'E') goto yy955;
10986
1.84k
      if (yych == 'e') goto yy955;
10987
260
      goto yy590;
10988
1.84k
    }
10989
15.1k
yy947:
10990
15.1k
    YYDEBUG(947, *YYCURSOR);
10991
15.1k
    ++YYCURSOR;
10992
15.1k
    YYFILL(1);
10993
15.1k
    yych = *YYCURSOR;
10994
15.1k
    if (yych <= ')') {
10995
819
      if (yych <= '\n') {
10996
574
        if (yych <= 0x00) goto yy86;
10997
381
        if (yych <= '\t') goto yy808;
10998
328
        goto yy846;
10999
381
      } else {
11000
245
        if (yych == '\r') goto yy846;
11001
99
        goto yy808;
11002
245
      }
11003
14.3k
    } else {
11004
14.3k
      if (yych <= 'M') {
11005
9.86k
        if (yych <= '*') goto yy848;
11006
9.60k
        if (yych <= 'L') goto yy808;
11007
9.32k
        goto yy956;
11008
9.60k
      } else {
11009
4.50k
        if (yych == 'm') goto yy956;
11010
859
        goto yy808;
11011
4.50k
      }
11012
14.3k
    }
11013
3.21k
yy948:
11014
3.21k
    YYDEBUG(948, *YYCURSOR);
11015
3.21k
    yyaccept = 91;
11016
3.21k
    YYMARKER = ++YYCURSOR;
11017
3.21k
    YYFILL(1);
11018
3.21k
    yych = *YYCURSOR;
11019
3.21k
    if (yych <= 0x00) goto yy876;
11020
2.11k
    if (yych == '*') goto yy760;
11021
1.94k
    goto yy696;
11022
1.94k
yy949:
11023
673
    YYDEBUG(949, *YYCURSOR);
11024
673
    yyaccept = 91;
11025
673
    YYMARKER = ++YYCURSOR;
11026
673
    YYFILL(1);
11027
673
    yych = *YYCURSOR;
11028
673
    if (yych <= '*') {
11029
423
      if (yych <= 0x00) goto yy876;
11030
273
      if (yych <= ')') goto yy696;
11031
69
      goto yy760;
11032
273
    } else {
11033
250
      if (yych == '/') goto yy616;
11034
186
      goto yy696;
11035
250
    }
11036
1.40k
yy950:
11037
1.40k
    YYDEBUG(950, *YYCURSOR);
11038
1.40k
    yyaccept = 96;
11039
1.40k
    yych = *(YYMARKER = ++YYCURSOR);
11040
1.40k
    if (yybm[256+yych] & 128) {
11041
418
      goto yy47;
11042
418
    }
11043
986
    if (yych == '\\') goto yy164;
11044
986
yy951:
11045
986
    YYDEBUG(951, *YYCURSOR);
11046
986
    yyleng = YYCURSOR - SCNG(yy_text);
11047
986
#line 1792 "Zend/zend_language_scanner.l"
11048
986
    {
11049
986
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11050
986
}
11051
0
#line 11052 "Zend/zend_language_scanner.c"
11052
7.05k
yy952:
11053
7.05k
    YYDEBUG(952, *YYCURSOR);
11054
7.05k
    ++YYCURSOR;
11055
7.05k
    YYFILL(1);
11056
7.05k
    yych = *YYCURSOR;
11057
7.05k
    if (yych <= ')') {
11058
1.04k
      if (yych <= '\n') {
11059
470
        if (yych <= 0x00) goto yy86;
11060
327
        if (yych <= '\t') goto yy738;
11061
79
        goto yy787;
11062
576
      } else {
11063
576
        if (yych == '\r') goto yy787;
11064
389
        goto yy738;
11065
576
      }
11066
6.00k
    } else {
11067
6.00k
      if (yych <= 'D') {
11068
1.05k
        if (yych <= '*') goto yy789;
11069
891
        if (yych <= 'C') goto yy738;
11070
701
        goto yy957;
11071
4.95k
      } else {
11072
4.95k
        if (yych == 'd') goto yy957;
11073
3.95k
        goto yy738;
11074
4.95k
      }
11075
6.00k
    }
11076
17.0k
yy953:
11077
17.0k
    YYDEBUG(953, *YYCURSOR);
11078
17.0k
    ++YYCURSOR;
11079
17.0k
    YYFILL(1);
11080
17.0k
    yych = *YYCURSOR;
11081
17.0k
    if (yych <= ')') {
11082
5.05k
      if (yych <= '\n') {
11083
3.68k
        if (yych <= 0x00) goto yy86;
11084
3.65k
        if (yych <= '\t') goto yy738;
11085
3.42k
        goto yy787;
11086
3.65k
      } else {
11087
1.36k
        if (yych == '\r') goto yy787;
11088
1.01k
        goto yy738;
11089
1.36k
      }
11090
11.9k
    } else {
11091
11.9k
      if (yych <= 'M') {
11092
3.65k
        if (yych <= '*') goto yy789;
11093
2.38k
        if (yych <= 'L') goto yy738;
11094
1.93k
        goto yy958;
11095
8.33k
      } else {
11096
8.33k
        if (yych == 'm') goto yy958;
11097
318
        goto yy738;
11098
8.33k
      }
11099
11.9k
    }
11100
599
yy954:
11101
599
    YYDEBUG(954, *YYCURSOR);
11102
599
    yyaccept = 94;
11103
599
    YYMARKER = ++YYCURSOR;
11104
599
    YYFILL(1);
11105
599
    yych = *YYCURSOR;
11106
599
    if (yych <= 0x00) goto yy886;
11107
300
    if (yych == '*') goto yy668;
11108
236
    goto yy590;
11109
2.57k
yy955:
11110
2.57k
    YYDEBUG(955, *YYCURSOR);
11111
2.57k
    ++YYCURSOR;
11112
2.57k
    YYFILL(1);
11113
2.57k
    yych = *YYCURSOR;
11114
2.57k
    if (yych <= 'M') {
11115
527
      if (yych <= 0x00) goto yy86;
11116
458
      if (yych == '*') goto yy668;
11117
252
      goto yy590;
11118
2.04k
    } else {
11119
2.04k
      if (yych <= 'N') goto yy959;
11120
1.04k
      if (yych == 'n') goto yy959;
11121
169
      goto yy590;
11122
1.04k
    }
11123
12.9k
yy956:
11124
12.9k
    YYDEBUG(956, *YYCURSOR);
11125
12.9k
    ++YYCURSOR;
11126
12.9k
    YYFILL(1);
11127
12.9k
    yych = *YYCURSOR;
11128
12.9k
    if (yych <= '/') {
11129
10.0k
      if (yych <= '\f') {
11130
3.44k
        if (yych <= 0x00) goto yy875;
11131
3.04k
        if (yych == '\n') goto yy961;
11132
322
        goto yy960;
11133
6.65k
      } else {
11134
6.65k
        if (yych <= '\r') goto yy961;
11135
4.68k
        if (yych == '*') goto yy962;
11136
548
        goto yy960;
11137
4.68k
      }
11138
10.0k
    } else {
11139
2.86k
      if (yych <= '^') {
11140
1.37k
        if (yych <= '9') goto yy808;
11141
1.14k
        if (yych <= '@') goto yy960;
11142
781
        if (yych <= 'Z') goto yy808;
11143
570
        goto yy960;
11144
1.49k
      } else {
11145
1.49k
        if (yych <= '`') {
11146
799
          if (yych <= '_') goto yy808;
11147
600
          goto yy960;
11148
799
        } else {
11149
694
          if (yych <= 'z') goto yy808;
11150
428
          if (yych <= 0x7F) goto yy960;
11151
225
          goto yy808;
11152
428
        }
11153
1.49k
      }
11154
2.86k
    }
11155
3.87k
yy957:
11156
3.87k
    YYDEBUG(957, *YYCURSOR);
11157
3.87k
    ++YYCURSOR;
11158
3.87k
    YYFILL(1);
11159
3.87k
    yych = *YYCURSOR;
11160
3.87k
    if (yych <= ')') {
11161
1.37k
      if (yych <= '\n') {
11162
697
        if (yych <= 0x00) goto yy86;
11163
366
        if (yych <= '\t') goto yy738;
11164
182
        goto yy787;
11165
680
      } else {
11166
680
        if (yych == '\r') goto yy787;
11167
561
        goto yy738;
11168
680
      }
11169
2.50k
    } else {
11170
2.50k
      if (yych <= 'S') {
11171
1.25k
        if (yych <= '*') goto yy789;
11172
1.18k
        if (yych <= 'R') goto yy738;
11173
210
        goto yy963;
11174
1.24k
      } else {
11175
1.24k
        if (yych == 's') goto yy963;
11176
414
        goto yy738;
11177
1.24k
      }
11178
2.50k
    }
11179
9.95k
yy958:
11180
9.95k
    YYDEBUG(958, *YYCURSOR);
11181
9.95k
    ++YYCURSOR;
11182
9.95k
    YYFILL(1);
11183
9.95k
    yych = *YYCURSOR;
11184
9.95k
    if (yych <= ')') {
11185
1.38k
      if (yych <= '\n') {
11186
747
        if (yych <= 0x00) goto yy86;
11187
731
        if (yych <= '\t') goto yy738;
11188
527
        goto yy787;
11189
731
      } else {
11190
639
        if (yych == '\r') goto yy787;
11191
179
        goto yy738;
11192
639
      }
11193
8.57k
    } else {
11194
8.57k
      if (yych <= 'E') {
11195
1.86k
        if (yych <= '*') goto yy789;
11196
1.61k
        if (yych <= 'D') goto yy738;
11197
515
        goto yy964;
11198
6.70k
      } else {
11199
6.70k
        if (yych == 'e') goto yy964;
11200
358
        goto yy738;
11201
6.70k
      }
11202
8.57k
    }
11203
1.87k
yy959:
11204
1.87k
    YYDEBUG(959, *YYCURSOR);
11205
1.87k
    ++YYCURSOR;
11206
1.87k
    YYFILL(1);
11207
1.87k
    yych = *YYCURSOR;
11208
1.87k
    if (yych <= 'S') {
11209
1.13k
      if (yych <= 0x00) goto yy86;
11210
826
      if (yych == '*') goto yy668;
11211
602
      goto yy590;
11212
826
    } else {
11213
742
      if (yych <= 'T') goto yy945;
11214
545
      if (yych == 't') goto yy945;
11215
322
      goto yy590;
11216
545
    }
11217
2.61k
yy960:
11218
2.61k
    YYDEBUG(960, *YYCURSOR);
11219
2.61k
    yyaccept = 91;
11220
2.61k
    YYMARKER = ++YYCURSOR;
11221
2.61k
    YYFILL(1);
11222
2.61k
    yych = *YYCURSOR;
11223
2.61k
    if (yych <= '\f') {
11224
825
      if (yych <= 0x00) goto yy876;
11225
608
      if (yych == '\n') goto yy846;
11226
82
      goto yy808;
11227
1.78k
    } else {
11228
1.78k
      if (yych <= '\r') goto yy846;
11229
1.56k
      if (yych == '*') goto yy848;
11230
1.32k
      goto yy808;
11231
1.56k
    }
11232
4.69k
yy961:
11233
4.69k
    YYDEBUG(961, *YYCURSOR);
11234
4.69k
    yyaccept = 91;
11235
4.69k
    YYMARKER = ++YYCURSOR;
11236
4.69k
    YYFILL(1);
11237
4.69k
    yych = *YYCURSOR;
11238
4.69k
    if (yych <= '#') {
11239
2.70k
      if (yych <= '\f') {
11240
459
        if (yych <= 0x00) goto yy876;
11241
394
        if (yych <= 0x08) goto yy696;
11242
333
        if (yych <= '\n') goto yy846;
11243
151
        goto yy696;
11244
2.24k
      } else {
11245
2.24k
        if (yych <= 0x1F) {
11246
818
          if (yych <= '\r') goto yy846;
11247
153
          goto yy696;
11248
1.42k
        } else {
11249
1.42k
          if (yych <= ' ') goto yy846;
11250
812
          if (yych <= '"') goto yy696;
11251
728
          goto yy877;
11252
812
        }
11253
2.24k
      }
11254
2.70k
    } else {
11255
1.98k
      if (yych <= '/') {
11256
485
        if (yych == '*') goto yy760;
11257
242
        if (yych <= '.') goto yy696;
11258
66
        goto yy878;
11259
1.50k
      } else {
11260
1.50k
        if (yych <= 'F') {
11261
415
          if (yych <= 'E') goto yy696;
11262
209
          goto yy879;
11263
1.08k
        } else {
11264
1.08k
          if (yych == 'f') goto yy879;
11265
466
          goto yy696;
11266
1.08k
        }
11267
1.50k
      }
11268
1.98k
    }
11269
4.13k
yy962:
11270
4.13k
    YYDEBUG(962, *YYCURSOR);
11271
4.13k
    yyaccept = 91;
11272
4.13k
    YYMARKER = ++YYCURSOR;
11273
4.13k
    YYFILL(1);
11274
4.13k
    yych = *YYCURSOR;
11275
4.13k
    if (yych <= '\r') {
11276
2.50k
      if (yych <= '\t') {
11277
183
        if (yych <= 0x00) goto yy876;
11278
62
        goto yy808;
11279
2.32k
      } else {
11280
2.32k
        if (yych <= '\n') goto yy846;
11281
1.23k
        if (yych <= '\f') goto yy808;
11282
890
        goto yy846;
11283
1.23k
      }
11284
2.50k
    } else {
11285
1.62k
      if (yych <= '*') {
11286
1.23k
        if (yych <= ')') goto yy808;
11287
930
        goto yy848;
11288
1.23k
      } else {
11289
388
        if (yych == '/') goto yy694;
11290
316
        goto yy808;
11291
388
      }
11292
1.62k
    }
11293
1.04k
yy963:
11294
1.04k
    YYDEBUG(963, *YYCURSOR);
11295
1.04k
    yyaccept = 94;
11296
1.04k
    YYMARKER = ++YYCURSOR;
11297
1.04k
    YYFILL(1);
11298
1.04k
    yych = *YYCURSOR;
11299
1.04k
    if (yych <= '\f') {
11300
339
      if (yych <= 0x00) goto yy886;
11301
260
      if (yych == '\n') goto yy787;
11302
53
      goto yy738;
11303
701
    } else {
11304
701
      if (yych <= '\r') goto yy787;
11305
525
      if (yych == '*') goto yy789;
11306
322
      goto yy738;
11307
525
    }
11308
6.86k
yy964:
11309
6.86k
    YYDEBUG(964, *YYCURSOR);
11310
6.86k
    ++YYCURSOR;
11311
6.86k
    YYFILL(1);
11312
6.86k
    yych = *YYCURSOR;
11313
6.86k
    if (yych <= ')') {
11314
1.75k
      if (yych <= '\n') {
11315
1.17k
        if (yych <= 0x00) goto yy86;
11316
937
        if (yych <= '\t') goto yy738;
11317
363
        goto yy787;
11318
937
      } else {
11319
581
        if (yych == '\r') goto yy787;
11320
246
        goto yy738;
11321
581
      }
11322
5.10k
    } else {
11323
5.10k
      if (yych <= 'N') {
11324
1.18k
        if (yych <= '*') goto yy789;
11325
909
        if (yych <= 'M') goto yy738;
11326
3.92k
      } else {
11327
3.92k
        if (yych != 'n') goto yy738;
11328
3.92k
      }
11329
5.10k
    }
11330
3.66k
    YYDEBUG(965, *YYCURSOR);
11331
3.66k
    ++YYCURSOR;
11332
3.66k
    YYFILL(1);
11333
3.66k
    yych = *YYCURSOR;
11334
3.66k
    if (yych <= ')') {
11335
829
      if (yych <= '\n') {
11336
517
        if (yych <= 0x00) goto yy86;
11337
366
        if (yych <= '\t') goto yy738;
11338
185
        goto yy787;
11339
366
      } else {
11340
312
        if (yych == '\r') goto yy787;
11341
156
        goto yy738;
11342
312
      }
11343
2.84k
    } else {
11344
2.84k
      if (yych <= 'T') {
11345
797
        if (yych <= '*') goto yy789;
11346
482
        if (yych <= 'S') goto yy738;
11347
384
        goto yy957;
11348
2.04k
      } else {
11349
2.04k
        if (yych == 't') goto yy957;
11350
248
        goto yy738;
11351
2.04k
      }
11352
2.84k
    }
11353
3.66k
  }
11354
/* *********************************** */
11355
409k
yyc_ST_LOOKING_FOR_PROPERTY:
11356
409k
  {
11357
409k
    static const unsigned char yybm[] = {
11358
409k
        0,   0,   0,   0,   0,   0,   0,   0, 
11359
409k
        0,  64,  64,   0,   0,  64,   0,   0, 
11360
409k
        0,   0,   0,   0,   0,   0,   0,   0, 
11361
409k
        0,   0,   0,   0,   0,   0,   0,   0, 
11362
409k
       64,   0,   0,   0,   0,   0,   0,   0, 
11363
409k
        0,   0,   0,   0,   0,   0,   0,   0, 
11364
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11365
409k
      128, 128,   0,   0,   0,   0,   0,   0, 
11366
409k
        0, 128, 128, 128, 128, 128, 128, 128, 
11367
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11368
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11369
409k
      128, 128, 128,   0,   0,   0,   0, 128, 
11370
409k
        0, 128, 128, 128, 128, 128, 128, 128, 
11371
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11372
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11373
409k
      128, 128, 128,   0,   0,   0,   0,   0, 
11374
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11375
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11376
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11377
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11378
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11379
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11380
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11381
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11382
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11383
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11384
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11385
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11386
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11387
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11388
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11389
409k
      128, 128, 128, 128, 128, 128, 128, 128, 
11390
409k
    };
11391
409k
    YYDEBUG(966, *YYCURSOR);
11392
409k
    YYFILL(4);
11393
409k
    yych = *YYCURSOR;
11394
409k
    if (yybm[0+yych] & 64) {
11395
6.83k
      goto yy970;
11396
6.83k
    }
11397
402k
    if (yych <= '?') {
11398
133k
      if (yych <= '-') {
11399
44.8k
        if (yych == '#') goto yy973;
11400
42.1k
        if (yych >= '-') goto yy975;
11401
88.9k
      } else {
11402
88.9k
        if (yych == '/') goto yy976;
11403
80.8k
        if (yych >= '?') goto yy977;
11404
80.8k
      }
11405
268k
    } else {
11406
268k
      if (yych <= '_') {
11407
34.6k
        if (yych <= '@') goto yy968;
11408
34.4k
        if (yych <= 'Z') goto yy978;
11409
18.9k
        if (yych >= '_') goto yy978;
11410
234k
      } else {
11411
234k
        if (yych <= '`') goto yy968;
11412
233k
        if (yych <= 'z') goto yy978;
11413
15.5k
        if (yych >= 0x80) goto yy978;
11414
15.5k
      }
11415
268k
    }
11416
29.2k
yy968:
11417
29.2k
    YYDEBUG(968, *YYCURSOR);
11418
29.2k
    ++YYCURSOR;
11419
31.7k
yy969:
11420
31.7k
    YYDEBUG(969, *YYCURSOR);
11421
31.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11422
31.7k
#line 2550 "Zend/zend_language_scanner.l"
11423
31.7k
    {
11424
31.7k
  yyless(0);
11425
31.7k
  yy_pop_state();
11426
31.7k
  goto restart;
11427
29.2k
}
11428
0
#line 11429 "Zend/zend_language_scanner.c"
11429
12.4k
yy970:
11430
12.4k
    YYDEBUG(970, *YYCURSOR);
11431
12.4k
    ++YYCURSOR;
11432
12.4k
    YYFILL(1);
11433
12.4k
    yych = *YYCURSOR;
11434
12.4k
    YYDEBUG(971, *YYCURSOR);
11435
12.4k
    if (yybm[0+yych] & 64) {
11436
5.66k
      goto yy970;
11437
5.66k
    }
11438
6.83k
    YYDEBUG(972, *YYCURSOR);
11439
6.83k
    yyleng = YYCURSOR - SCNG(yy_text);
11440
6.83k
#line 1627 "Zend/zend_language_scanner.l"
11441
6.83k
    {
11442
6.83k
  goto return_whitespace;
11443
12.4k
}
11444
0
#line 11445 "Zend/zend_language_scanner.c"
11445
5.46k
yy973:
11446
5.46k
    YYDEBUG(973, *YYCURSOR);
11447
5.46k
    ++YYCURSOR;
11448
5.46k
    YYDEBUG(974, *YYCURSOR);
11449
5.46k
    yyleng = YYCURSOR - SCNG(yy_text);
11450
5.46k
#line 2490 "Zend/zend_language_scanner.l"
11451
5.46k
    {
11452
237k
  while (YYCURSOR < YYLIMIT) {
11453
236k
    switch (*YYCURSOR++) {
11454
1.34k
      case '\r':
11455
4.87k
      case '\n':
11456
4.87k
        YYCURSOR--;
11457
4.87k
        break;
11458
2.00k
      case '?':
11459
2.00k
        if (*YYCURSOR == '>') {
11460
217
          YYCURSOR--;
11461
217
          break;
11462
217
        }
11463
1.78k
        ZEND_FALLTHROUGH;
11464
231k
      default:
11465
231k
        continue;
11466
236k
    }
11467
11468
5.09k
    break;
11469
236k
  }
11470
11471
5.46k
  yyleng = YYCURSOR - SCNG(yy_text);
11472
5.46k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11473
5.46k
}
11474
0
#line 11475 "Zend/zend_language_scanner.c"
11475
31.7k
yy975:
11476
31.7k
    YYDEBUG(975, *YYCURSOR);
11477
31.7k
    yych = *++YYCURSOR;
11478
31.7k
    if (yych == '>') goto yy981;
11479
479
    goto yy969;
11480
8.04k
yy976:
11481
8.04k
    YYDEBUG(976, *YYCURSOR);
11482
8.04k
    yych = *++YYCURSOR;
11483
8.04k
    if (yych == '*') goto yy983;
11484
3.05k
    if (yych == '/') goto yy973;
11485
354
    goto yy969;
11486
79.2k
yy977:
11487
79.2k
    YYDEBUG(977, *YYCURSOR);
11488
79.2k
    yyaccept = 0;
11489
79.2k
    yych = *(YYMARKER = ++YYCURSOR);
11490
79.2k
    if (yych == '-') goto yy985;
11491
1.42k
    goto yy969;
11492
1.14M
yy978:
11493
1.14M
    YYDEBUG(978, *YYCURSOR);
11494
1.14M
    ++YYCURSOR;
11495
1.14M
    YYFILL(1);
11496
1.14M
    yych = *YYCURSOR;
11497
1.14M
    YYDEBUG(979, *YYCURSOR);
11498
1.14M
    if (yybm[0+yych] & 128) {
11499
898k
      goto yy978;
11500
898k
    }
11501
251k
    YYDEBUG(980, *YYCURSOR);
11502
251k
    yyleng = YYCURSOR - SCNG(yy_text);
11503
251k
#line 1639 "Zend/zend_language_scanner.l"
11504
251k
    {
11505
251k
  yy_pop_state();
11506
251k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11507
251k
}
11508
0
#line 11509 "Zend/zend_language_scanner.c"
11509
31.2k
yy981:
11510
31.2k
    YYDEBUG(981, *YYCURSOR);
11511
31.2k
    ++YYCURSOR;
11512
31.2k
    YYDEBUG(982, *YYCURSOR);
11513
31.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11514
31.2k
#line 1631 "Zend/zend_language_scanner.l"
11515
31.2k
    {
11516
31.2k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11517
31.2k
}
11518
0
#line 11519 "Zend/zend_language_scanner.c"
11519
4.99k
yy983:
11520
4.99k
    YYDEBUG(983, *YYCURSOR);
11521
4.99k
    yyaccept = 1;
11522
4.99k
    yych = *(YYMARKER = ++YYCURSOR);
11523
4.99k
    if (yych == '*') goto yy987;
11524
4.99k
yy984:
11525
4.99k
    YYDEBUG(984, *YYCURSOR);
11526
4.99k
    yyleng = YYCURSOR - SCNG(yy_text);
11527
4.99k
#line 2514 "Zend/zend_language_scanner.l"
11528
4.99k
    {
11529
4.99k
  int doc_com;
11530
11531
4.99k
  if (yyleng > 2) {
11532
1.94k
    doc_com = 1;
11533
1.94k
    RESET_DOC_COMMENT();
11534
3.04k
  } else {
11535
3.04k
    doc_com = 0;
11536
3.04k
  }
11537
11538
380k
  while (YYCURSOR < YYLIMIT) {
11539
379k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11540
4.20k
      break;
11541
4.20k
    }
11542
379k
  }
11543
11544
4.99k
  if (YYCURSOR < YYLIMIT) {
11545
4.20k
    YYCURSOR++;
11546
4.20k
  } else {
11547
784
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11548
784
    if (PARSER_MODE()) {
11549
60
      RETURN_TOKEN(T_ERROR);
11550
60
    }
11551
784
  }
11552
11553
4.93k
  yyleng = YYCURSOR - SCNG(yy_text);
11554
4.93k
  HANDLE_NEWLINES(yytext, yyleng);
11555
11556
4.93k
  if (doc_com) {
11557
1.92k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11558
1.92k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11559
1.92k
  }
11560
11561
3.01k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11562
3.01k
}
11563
0
#line 11564 "Zend/zend_language_scanner.c"
11564
77.7k
yy985:
11565
77.7k
    YYDEBUG(985, *YYCURSOR);
11566
77.7k
    yych = *++YYCURSOR;
11567
77.7k
    if (yych == '>') goto yy988;
11568
1.96k
yy986:
11569
1.96k
    YYDEBUG(986, *YYCURSOR);
11570
1.96k
    YYCURSOR = YYMARKER;
11571
1.96k
    if (yyaccept == 0) {
11572
288
      goto yy969;
11573
1.67k
    } else {
11574
1.67k
      goto yy984;
11575
1.67k
    }
11576
3.62k
yy987:
11577
3.62k
    YYDEBUG(987, *YYCURSOR);
11578
3.62k
    yych = *++YYCURSOR;
11579
3.62k
    if (yych <= '\f') {
11580
1.39k
      if (yych <= 0x08) goto yy986;
11581
1.35k
      if (yych <= '\n') goto yy990;
11582
645
      goto yy986;
11583
2.23k
    } else {
11584
2.23k
      if (yych <= '\r') goto yy990;
11585
1.75k
      if (yych == ' ') goto yy990;
11586
996
      goto yy986;
11587
1.75k
    }
11588
77.4k
yy988:
11589
77.4k
    YYDEBUG(988, *YYCURSOR);
11590
77.4k
    ++YYCURSOR;
11591
77.4k
    YYDEBUG(989, *YYCURSOR);
11592
77.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11593
77.4k
#line 1635 "Zend/zend_language_scanner.l"
11594
77.4k
    {
11595
77.4k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11596
77.4k
}
11597
0
#line 11598 "Zend/zend_language_scanner.c"
11598
4.09k
yy990:
11599
4.09k
    YYDEBUG(990, *YYCURSOR);
11600
4.09k
    ++YYCURSOR;
11601
4.09k
    YYFILL(1);
11602
4.09k
    yych = *YYCURSOR;
11603
4.09k
    YYDEBUG(991, *YYCURSOR);
11604
4.09k
    if (yych <= '\f') {
11605
683
      if (yych <= 0x08) goto yy984;
11606
378
      if (yych <= '\n') goto yy990;
11607
249
      goto yy984;
11608
3.40k
    } else {
11609
3.40k
      if (yych <= '\r') goto yy990;
11610
1.49k
      if (yych == ' ') goto yy990;
11611
1.39k
      goto yy984;
11612
1.49k
    }
11613
4.09k
  }
11614
/* *********************************** */
11615
179k
yyc_ST_BACKQUOTE:
11616
179k
  {
11617
179k
    static const unsigned char yybm[] = {
11618
179k
        0,   0,   0,   0,   0,   0,   0,   0, 
11619
179k
        0,   0,   0,   0,   0,   0,   0,   0, 
11620
179k
        0,   0,   0,   0,   0,   0,   0,   0, 
11621
179k
        0,   0,   0,   0,   0,   0,   0,   0, 
11622
179k
        0,   0,   0,   0,   0,   0,   0,   0, 
11623
179k
        0,   0,   0,   0,   0,   0,   0,   0, 
11624
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11625
179k
      128, 128,   0,   0,   0,   0,   0,   0, 
11626
179k
        0, 128, 128, 128, 128, 128, 128, 128, 
11627
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11628
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11629
179k
      128, 128, 128,   0,   0,   0,   0, 128, 
11630
179k
        0, 128, 128, 128, 128, 128, 128, 128, 
11631
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11632
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11633
179k
      128, 128, 128,   0,   0,   0,   0,   0, 
11634
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11635
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11636
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11637
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11638
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11639
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11640
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11641
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11642
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11643
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11644
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11645
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11646
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11647
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11648
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11649
179k
      128, 128, 128, 128, 128, 128, 128, 128, 
11650
179k
    };
11651
179k
    YYDEBUG(992, *YYCURSOR);
11652
179k
    YYFILL(2);
11653
179k
    yych = *YYCURSOR;
11654
179k
    if (yych <= '_') {
11655
137k
      if (yych == '$') goto yy996;
11656
137k
    } else {
11657
42.2k
      if (yych <= '`') goto yy997;
11658
14.1k
      if (yych == '{') goto yy999;
11659
14.1k
    }
11660
81.6k
    YYDEBUG(994, *YYCURSOR);
11661
81.6k
    ++YYCURSOR;
11662
85.6k
yy995:
11663
85.6k
    YYDEBUG(995, *YYCURSOR);
11664
85.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11665
85.6k
#line 2949 "Zend/zend_language_scanner.l"
11666
85.6k
    {
11667
85.6k
  if (YYCURSOR > YYLIMIT) {
11668
6.17k
    RETURN_END_TOKEN;
11669
6.17k
  }
11670
79.4k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11671
2.19k
    YYCURSOR++;
11672
2.19k
  }
11673
11674
3.66M
  while (YYCURSOR < YYLIMIT) {
11675
3.65M
    switch (*YYCURSOR++) {
11676
14.2k
      case '`':
11677
14.2k
        break;
11678
71.1k
      case '$':
11679
71.1k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11680
58.4k
          break;
11681
58.4k
        }
11682
12.7k
        continue;
11683
18.5k
      case '{':
11684
18.5k
        if (*YYCURSOR == '$') {
11685
856
          break;
11686
856
        }
11687
17.6k
        continue;
11688
22.3k
      case '\\':
11689
22.3k
        if (YYCURSOR < YYLIMIT) {
11690
21.5k
          YYCURSOR++;
11691
21.5k
        }
11692
22.3k
        ZEND_FALLTHROUGH;
11693
3.55M
      default:
11694
3.55M
        continue;
11695
3.65M
    }
11696
11697
73.5k
    YYCURSOR--;
11698
73.5k
    break;
11699
3.65M
  }
11700
11701
79.4k
  yyleng = YYCURSOR - SCNG(yy_text);
11702
11703
79.4k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11704
79.4k
   || !PARSER_MODE()) {
11705
79.4k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11706
79.4k
  } else {
11707
8
    RETURN_TOKEN(T_ERROR);
11708
8
  }
11709
79.4k
}
11710
0
#line 11711 "Zend/zend_language_scanner.c"
11711
67.8k
yy996:
11712
67.8k
    YYDEBUG(996, *YYCURSOR);
11713
67.8k
    yych = *++YYCURSOR;
11714
67.8k
    if (yych <= '_') {
11715
6.76k
      if (yych <= '@') goto yy995;
11716
5.47k
      if (yych <= 'Z') goto yy1000;
11717
3.07k
      if (yych <= '^') goto yy995;
11718
2.05k
      goto yy1000;
11719
61.0k
    } else {
11720
61.0k
      if (yych <= 'z') {
11721
37.3k
        if (yych <= '`') goto yy995;
11722
37.0k
        goto yy1000;
11723
37.3k
      } else {
11724
23.6k
        if (yych <= '{') goto yy1003;
11725
7.92k
        if (yych <= 0x7F) goto yy995;
11726
7.69k
        goto yy1000;
11727
7.92k
      }
11728
61.0k
    }
11729
28.0k
yy997:
11730
28.0k
    YYDEBUG(997, *YYCURSOR);
11731
28.0k
    ++YYCURSOR;
11732
28.0k
    YYDEBUG(998, *YYCURSOR);
11733
28.0k
    yyleng = YYCURSOR - SCNG(yy_text);
11734
28.0k
#line 2889 "Zend/zend_language_scanner.l"
11735
28.0k
    {
11736
28.0k
  BEGIN(ST_IN_SCRIPTING);
11737
28.0k
  RETURN_TOKEN('`');
11738
28.0k
}
11739
0
#line 11740 "Zend/zend_language_scanner.c"
11740
2.26k
yy999:
11741
2.26k
    YYDEBUG(999, *YYCURSOR);
11742
2.26k
    yych = *++YYCURSOR;
11743
2.26k
    if (yych == '$') goto yy1005;
11744
1.17k
    goto yy995;
11745
192k
yy1000:
11746
192k
    YYDEBUG(1000, *YYCURSOR);
11747
192k
    YYMARKER = ++YYCURSOR;
11748
192k
    YYFILL(4);
11749
192k
    yych = *YYCURSOR;
11750
192k
    YYDEBUG(1001, *YYCURSOR);
11751
192k
    if (yybm[0+yych] & 128) {
11752
143k
      goto yy1000;
11753
143k
    }
11754
49.2k
    if (yych <= '>') {
11755
32.0k
      if (yych == '-') goto yy1007;
11756
32.0k
    } else {
11757
17.1k
      if (yych <= '?') goto yy1009;
11758
4.33k
      if (yych <= '@') goto yy1002;
11759
4.05k
      if (yych <= '[') goto yy1010;
11760
4.05k
    }
11761
39.8k
yy1002:
11762
39.8k
    YYDEBUG(1002, *YYCURSOR);
11763
39.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11764
39.8k
#line 2447 "Zend/zend_language_scanner.l"
11765
39.8k
    {
11766
39.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11767
39.8k
}
11768
0
#line 11769 "Zend/zend_language_scanner.c"
11769
15.7k
yy1003:
11770
15.7k
    YYDEBUG(1003, *YYCURSOR);
11771
15.7k
    ++YYCURSOR;
11772
15.7k
    YYDEBUG(1004, *YYCURSOR);
11773
15.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11774
15.7k
#line 2011 "Zend/zend_language_scanner.l"
11775
15.7k
    {
11776
15.7k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11777
15.7k
  enter_nesting('{');
11778
15.7k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11779
15.7k
}
11780
0
#line 11781 "Zend/zend_language_scanner.c"
11781
1.08k
yy1005:
11782
1.08k
    YYDEBUG(1005, *YYCURSOR);
11783
1.08k
    ++YYCURSOR;
11784
1.08k
    YYDEBUG(1006, *YYCURSOR);
11785
1.08k
    yyleng = YYCURSOR - SCNG(yy_text);
11786
1.08k
#line 2876 "Zend/zend_language_scanner.l"
11787
1.08k
    {
11788
1.08k
  yy_push_state(ST_IN_SCRIPTING);
11789
1.08k
  yyless(1);
11790
1.08k
  enter_nesting('{');
11791
1.08k
  RETURN_TOKEN(T_CURLY_OPEN);
11792
1.08k
}
11793
0
#line 11794 "Zend/zend_language_scanner.c"
11794
6.75k
yy1007:
11795
6.75k
    YYDEBUG(1007, *YYCURSOR);
11796
6.75k
    yych = *++YYCURSOR;
11797
6.75k
    if (yych == '>') goto yy1012;
11798
11.4k
yy1008:
11799
11.4k
    YYDEBUG(1008, *YYCURSOR);
11800
11.4k
    YYCURSOR = YYMARKER;
11801
11.4k
    goto yy1002;
11802
12.8k
yy1009:
11803
12.8k
    YYDEBUG(1009, *YYCURSOR);
11804
12.8k
    yych = *++YYCURSOR;
11805
12.8k
    if (yych == '-') goto yy1013;
11806
5.59k
    goto yy1008;
11807
5.59k
yy1010:
11808
1.23k
    YYDEBUG(1010, *YYCURSOR);
11809
1.23k
    ++YYCURSOR;
11810
1.23k
    YYDEBUG(1011, *YYCURSOR);
11811
1.23k
    yyleng = YYCURSOR - SCNG(yy_text);
11812
1.23k
#line 2441 "Zend/zend_language_scanner.l"
11813
1.23k
    {
11814
1.23k
  yyless(yyleng - 1);
11815
1.23k
  yy_push_state(ST_VAR_OFFSET);
11816
1.23k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
1.23k
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
4.97k
yy1012:
11820
4.97k
    YYDEBUG(1012, *YYCURSOR);
11821
4.97k
    yych = *++YYCURSOR;
11822
4.97k
    if (yych <= '_') {
11823
1.51k
      if (yych <= '@') goto yy1008;
11824
975
      if (yych <= 'Z') goto yy1014;
11825
505
      if (yych <= '^') goto yy1008;
11826
364
      goto yy1014;
11827
3.46k
    } else {
11828
3.46k
      if (yych <= '`') goto yy1008;
11829
3.10k
      if (yych <= 'z') goto yy1014;
11830
1.19k
      if (yych <= 0x7F) goto yy1008;
11831
483
      goto yy1014;
11832
1.19k
    }
11833
7.21k
yy1013:
11834
7.21k
    YYDEBUG(1013, *YYCURSOR);
11835
7.21k
    yych = *++YYCURSOR;
11836
7.21k
    if (yych == '>') goto yy1016;
11837
616
    goto yy1008;
11838
3.23k
yy1014:
11839
3.23k
    YYDEBUG(1014, *YYCURSOR);
11840
3.23k
    ++YYCURSOR;
11841
3.23k
    YYDEBUG(1015, *YYCURSOR);
11842
3.23k
    yyleng = YYCURSOR - SCNG(yy_text);
11843
3.23k
#line 2427 "Zend/zend_language_scanner.l"
11844
3.23k
    {
11845
3.23k
  yyless(yyleng - 3);
11846
3.23k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11847
3.23k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11848
3.23k
}
11849
0
#line 11850 "Zend/zend_language_scanner.c"
11850
6.59k
yy1016:
11851
6.59k
    YYDEBUG(1016, *YYCURSOR);
11852
6.59k
    yych = *++YYCURSOR;
11853
6.59k
    if (yych <= '_') {
11854
1.47k
      if (yych <= '@') goto yy1008;
11855
1.07k
      if (yych <= 'Z') goto yy1017;
11856
711
      if (yych <= '^') goto yy1008;
11857
5.12k
    } else {
11858
5.12k
      if (yych <= '`') goto yy1008;
11859
4.43k
      if (yych <= 'z') goto yy1017;
11860
565
      if (yych <= 0x7F) goto yy1008;
11861
565
    }
11862
4.87k
yy1017:
11863
4.87k
    YYDEBUG(1017, *YYCURSOR);
11864
4.87k
    ++YYCURSOR;
11865
4.87k
    YYDEBUG(1018, *YYCURSOR);
11866
4.87k
    yyleng = YYCURSOR - SCNG(yy_text);
11867
4.87k
#line 2433 "Zend/zend_language_scanner.l"
11868
4.87k
    {
11869
4.87k
  yyless(yyleng - 4);
11870
4.87k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11871
4.87k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11872
4.87k
}
11873
4.87k
#line 11874 "Zend/zend_language_scanner.c"
11874
4.87k
  }
11875
/* *********************************** */
11876
631k
yyc_ST_DOUBLE_QUOTES:
11877
631k
  {
11878
631k
    static const unsigned char yybm[] = {
11879
631k
        0,   0,   0,   0,   0,   0,   0,   0, 
11880
631k
        0,   0,   0,   0,   0,   0,   0,   0, 
11881
631k
        0,   0,   0,   0,   0,   0,   0,   0, 
11882
631k
        0,   0,   0,   0,   0,   0,   0,   0, 
11883
631k
        0,   0,   0,   0,   0,   0,   0,   0, 
11884
631k
        0,   0,   0,   0,   0,   0,   0,   0, 
11885
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11886
631k
      128, 128,   0,   0,   0,   0,   0,   0, 
11887
631k
        0, 128, 128, 128, 128, 128, 128, 128, 
11888
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11889
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11890
631k
      128, 128, 128,   0,   0,   0,   0, 128, 
11891
631k
        0, 128, 128, 128, 128, 128, 128, 128, 
11892
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11893
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11894
631k
      128, 128, 128,   0,   0,   0,   0,   0, 
11895
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11896
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11897
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11898
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11899
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11900
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11901
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11902
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11903
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11904
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11905
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11906
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11907
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11908
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11909
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11910
631k
      128, 128, 128, 128, 128, 128, 128, 128, 
11911
631k
    };
11912
631k
    YYDEBUG(1019, *YYCURSOR);
11913
631k
    YYFILL(2);
11914
631k
    yych = *YYCURSOR;
11915
631k
    if (yych <= '#') {
11916
127k
      if (yych == '"') goto yy1023;
11917
503k
    } else {
11918
503k
      if (yych <= '$') goto yy1025;
11919
240k
      if (yych == '{') goto yy1026;
11920
240k
    }
11921
309k
    YYDEBUG(1021, *YYCURSOR);
11922
309k
    ++YYCURSOR;
11923
314k
yy1022:
11924
314k
    YYDEBUG(1022, *YYCURSOR);
11925
314k
    yyleng = YYCURSOR - SCNG(yy_text);
11926
314k
#line 2895 "Zend/zend_language_scanner.l"
11927
314k
    {
11928
314k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11929
80.1k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11930
80.1k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11931
11932
80.1k
    goto double_quotes_scan_done;
11933
80.1k
  }
11934
11935
234k
  if (YYCURSOR > YYLIMIT) {
11936
11.9k
    RETURN_END_TOKEN;
11937
11.9k
  }
11938
222k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11939
9.45k
    YYCURSOR++;
11940
9.45k
  }
11941
11942
6.28M
  while (YYCURSOR < YYLIMIT) {
11943
6.28M
    switch (*YYCURSOR++) {
11944
46.0k
      case '"':
11945
46.0k
        break;
11946
201k
      case '$':
11947
201k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11948
171k
          break;
11949
171k
        }
11950
29.8k
        continue;
11951
29.8k
      case '{':
11952
17.9k
        if (*YYCURSOR == '$') {
11953
1.77k
          break;
11954
1.77k
        }
11955
16.1k
        continue;
11956
47.0k
      case '\\':
11957
47.0k
        if (YYCURSOR < YYLIMIT) {
11958
46.6k
          YYCURSOR++;
11959
46.6k
        }
11960
47.0k
        ZEND_FALLTHROUGH;
11961
6.02M
      default:
11962
6.02M
        continue;
11963
6.28M
    }
11964
11965
219k
    YYCURSOR--;
11966
219k
    break;
11967
6.28M
  }
11968
11969
302k
double_quotes_scan_done:
11970
302k
  yyleng = YYCURSOR - SCNG(yy_text);
11971
11972
302k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11973
302k
   || !PARSER_MODE()) {
11974
302k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11975
302k
  } else {
11976
60
    RETURN_TOKEN(T_ERROR);
11977
60
  }
11978
302k
}
11979
0
#line 11980 "Zend/zend_language_scanner.c"
11980
51.5k
yy1023:
11981
51.5k
    YYDEBUG(1023, *YYCURSOR);
11982
51.5k
    ++YYCURSOR;
11983
51.5k
    YYDEBUG(1024, *YYCURSOR);
11984
51.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11985
51.5k
#line 2884 "Zend/zend_language_scanner.l"
11986
51.5k
    {
11987
51.5k
  BEGIN(ST_IN_SCRIPTING);
11988
51.5k
  RETURN_TOKEN('"');
11989
51.5k
}
11990
0
#line 11991 "Zend/zend_language_scanner.c"
11991
263k
yy1025:
11992
263k
    YYDEBUG(1025, *YYCURSOR);
11993
263k
    yych = *++YYCURSOR;
11994
263k
    if (yych <= '_') {
11995
24.5k
      if (yych <= '@') goto yy1022;
11996
22.5k
      if (yych <= 'Z') goto yy1027;
11997
4.05k
      if (yych <= '^') goto yy1022;
11998
3.77k
      goto yy1027;
11999
238k
    } else {
12000
238k
      if (yych <= 'z') {
12001
193k
        if (yych <= '`') goto yy1022;
12002
192k
        goto yy1027;
12003
193k
      } else {
12004
45.5k
        if (yych <= '{') goto yy1030;
12005
18.7k
        if (yych <= 0x7F) goto yy1022;
12006
18.5k
        goto yy1027;
12007
18.7k
      }
12008
238k
    }
12009
6.51k
yy1026:
12010
6.51k
    YYDEBUG(1026, *YYCURSOR);
12011
6.51k
    yych = *++YYCURSOR;
12012
6.51k
    if (yych == '$') goto yy1032;
12013
1.47k
    goto yy1022;
12014
784k
yy1027:
12015
784k
    YYDEBUG(1027, *YYCURSOR);
12016
784k
    YYMARKER = ++YYCURSOR;
12017
784k
    YYFILL(4);
12018
784k
    yych = *YYCURSOR;
12019
784k
    YYDEBUG(1028, *YYCURSOR);
12020
784k
    if (yybm[0+yych] & 128) {
12021
550k
      goto yy1027;
12022
550k
    }
12023
233k
    if (yych <= '>') {
12024
130k
      if (yych == '-') goto yy1034;
12025
130k
    } else {
12026
103k
      if (yych <= '?') goto yy1036;
12027
20.8k
      if (yych <= '@') goto yy1029;
12028
20.5k
      if (yych <= '[') goto yy1037;
12029
20.5k
    }
12030
178k
yy1029:
12031
178k
    YYDEBUG(1029, *YYCURSOR);
12032
178k
    yyleng = YYCURSOR - SCNG(yy_text);
12033
178k
#line 2447 "Zend/zend_language_scanner.l"
12034
178k
    {
12035
178k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12036
178k
}
12037
0
#line 12038 "Zend/zend_language_scanner.c"
12038
26.8k
yy1030:
12039
26.8k
    YYDEBUG(1030, *YYCURSOR);
12040
26.8k
    ++YYCURSOR;
12041
26.8k
    YYDEBUG(1031, *YYCURSOR);
12042
26.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12043
26.8k
#line 2011 "Zend/zend_language_scanner.l"
12044
26.8k
    {
12045
26.8k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12046
26.8k
  enter_nesting('{');
12047
26.8k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12048
26.8k
}
12049
0
#line 12050 "Zend/zend_language_scanner.c"
12050
5.03k
yy1032:
12051
5.03k
    YYDEBUG(1032, *YYCURSOR);
12052
5.03k
    ++YYCURSOR;
12053
5.03k
    YYDEBUG(1033, *YYCURSOR);
12054
5.03k
    yyleng = YYCURSOR - SCNG(yy_text);
12055
5.03k
#line 2876 "Zend/zend_language_scanner.l"
12056
5.03k
    {
12057
5.03k
  yy_push_state(ST_IN_SCRIPTING);
12058
5.03k
  yyless(1);
12059
5.03k
  enter_nesting('{');
12060
5.03k
  RETURN_TOKEN(T_CURLY_OPEN);
12061
5.03k
}
12062
0
#line 12063 "Zend/zend_language_scanner.c"
12063
22.0k
yy1034:
12064
22.0k
    YYDEBUG(1034, *YYCURSOR);
12065
22.0k
    yych = *++YYCURSOR;
12066
22.0k
    if (yych == '>') goto yy1039;
12067
55.9k
yy1035:
12068
55.9k
    YYDEBUG(1035, *YYCURSOR);
12069
55.9k
    YYCURSOR = YYMARKER;
12070
55.9k
    goto yy1029;
12071
82.1k
yy1036:
12072
82.1k
    YYDEBUG(1036, *YYCURSOR);
12073
82.1k
    yych = *++YYCURSOR;
12074
82.1k
    if (yych == '-') goto yy1040;
12075
44.7k
    goto yy1035;
12076
44.7k
yy1037:
12077
6.70k
    YYDEBUG(1037, *YYCURSOR);
12078
6.70k
    ++YYCURSOR;
12079
6.70k
    YYDEBUG(1038, *YYCURSOR);
12080
6.70k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
6.70k
#line 2441 "Zend/zend_language_scanner.l"
12082
6.70k
    {
12083
6.70k
  yyless(yyleng - 1);
12084
6.70k
  yy_push_state(ST_VAR_OFFSET);
12085
6.70k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
6.70k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
17.6k
yy1039:
12089
17.6k
    YYDEBUG(1039, *YYCURSOR);
12090
17.6k
    yych = *++YYCURSOR;
12091
17.6k
    if (yych <= '_') {
12092
10.9k
      if (yych <= '@') goto yy1035;
12093
9.91k
      if (yych <= 'Z') goto yy1041;
12094
537
      if (yych <= '^') goto yy1035;
12095
282
      goto yy1041;
12096
6.71k
    } else {
12097
6.71k
      if (yych <= '`') goto yy1035;
12098
6.34k
      if (yych <= 'z') goto yy1041;
12099
2.06k
      if (yych <= 0x7F) goto yy1035;
12100
662
      goto yy1041;
12101
2.06k
    }
12102
37.4k
yy1040:
12103
37.4k
    YYDEBUG(1040, *YYCURSOR);
12104
37.4k
    yych = *++YYCURSOR;
12105
37.4k
    if (yych == '>') goto yy1043;
12106
1.34k
    goto yy1035;
12107
14.6k
yy1041:
12108
14.6k
    YYDEBUG(1041, *YYCURSOR);
12109
14.6k
    ++YYCURSOR;
12110
14.6k
    YYDEBUG(1042, *YYCURSOR);
12111
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12112
14.6k
#line 2427 "Zend/zend_language_scanner.l"
12113
14.6k
    {
12114
14.6k
  yyless(yyleng - 3);
12115
14.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12116
14.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12117
14.6k
}
12118
0
#line 12119 "Zend/zend_language_scanner.c"
12119
36.0k
yy1043:
12120
36.0k
    YYDEBUG(1043, *YYCURSOR);
12121
36.0k
    yych = *++YYCURSOR;
12122
36.0k
    if (yych <= '_') {
12123
2.74k
      if (yych <= '@') goto yy1035;
12124
1.68k
      if (yych <= 'Z') goto yy1044;
12125
1.42k
      if (yych <= '^') goto yy1035;
12126
33.3k
    } else {
12127
33.3k
      if (yych <= '`') goto yy1035;
12128
32.9k
      if (yych <= 'z') goto yy1044;
12129
925
      if (yych <= 0x7F) goto yy1035;
12130
925
    }
12131
33.7k
yy1044:
12132
33.7k
    YYDEBUG(1044, *YYCURSOR);
12133
33.7k
    ++YYCURSOR;
12134
33.7k
    YYDEBUG(1045, *YYCURSOR);
12135
33.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12136
33.7k
#line 2433 "Zend/zend_language_scanner.l"
12137
33.7k
    {
12138
33.7k
  yyless(yyleng - 4);
12139
33.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12140
33.7k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12141
33.7k
}
12142
33.7k
#line 12143 "Zend/zend_language_scanner.c"
12143
33.7k
  }
12144
/* *********************************** */
12145
4.61M
yyc_ST_HEREDOC:
12146
4.61M
  {
12147
4.61M
    static const unsigned char yybm[] = {
12148
4.61M
        0,   0,   0,   0,   0,   0,   0,   0, 
12149
4.61M
        0,   0,   0,   0,   0,   0,   0,   0, 
12150
4.61M
        0,   0,   0,   0,   0,   0,   0,   0, 
12151
4.61M
        0,   0,   0,   0,   0,   0,   0,   0, 
12152
4.61M
        0,   0,   0,   0,   0,   0,   0,   0, 
12153
4.61M
        0,   0,   0,   0,   0,   0,   0,   0, 
12154
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12155
4.61M
      128, 128,   0,   0,   0,   0,   0,   0, 
12156
4.61M
        0, 128, 128, 128, 128, 128, 128, 128, 
12157
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12158
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12159
4.61M
      128, 128, 128,   0,   0,   0,   0, 128, 
12160
4.61M
        0, 128, 128, 128, 128, 128, 128, 128, 
12161
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12162
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12163
4.61M
      128, 128, 128,   0,   0,   0,   0,   0, 
12164
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12165
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12166
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12167
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12168
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12169
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12170
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12171
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12172
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12173
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12174
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12175
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12176
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12177
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12178
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12179
4.61M
      128, 128, 128, 128, 128, 128, 128, 128, 
12180
4.61M
    };
12181
4.61M
    YYDEBUG(1046, *YYCURSOR);
12182
4.61M
    YYFILL(2);
12183
4.61M
    yych = *YYCURSOR;
12184
4.61M
    if (yych == '$') goto yy1050;
12185
978k
    if (yych == '{') goto yy1051;
12186
885k
    YYDEBUG(1048, *YYCURSOR);
12187
885k
    ++YYCURSOR;
12188
1.10M
yy1049:
12189
1.10M
    YYDEBUG(1049, *YYCURSOR);
12190
1.10M
    yyleng = YYCURSOR - SCNG(yy_text);
12191
1.10M
#line 2995 "Zend/zend_language_scanner.l"
12192
1.10M
    {
12193
1.10M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12194
1.10M
  int newline = 0, indentation = 0, spacing = 0;
12195
12196
1.10M
  if (YYCURSOR > YYLIMIT) {
12197
19.5k
    RETURN_END_TOKEN;
12198
19.5k
  }
12199
12200
1.08M
  YYCURSOR--;
12201
12202
28.8M
  while (YYCURSOR < YYLIMIT) {
12203
28.8M
    switch (*YYCURSOR++) {
12204
160k
      case '\r':
12205
160k
        if (*YYCURSOR == '\n') {
12206
19.4k
          YYCURSOR++;
12207
19.4k
        }
12208
160k
        ZEND_FALLTHROUGH;
12209
1.61M
      case '\n':
12210
1.61M
        indentation = spacing = 0;
12211
12212
2.33M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12213
715k
          if (*YYCURSOR == '\t') {
12214
10.2k
            spacing |= HEREDOC_USING_TABS;
12215
705k
          } else {
12216
705k
            spacing |= HEREDOC_USING_SPACES;
12217
705k
          }
12218
715k
          ++YYCURSOR;
12219
715k
          ++indentation;
12220
715k
        }
12221
12222
1.61M
        if (YYCURSOR == YYLIMIT) {
12223
1.95k
          yyleng = YYCURSOR - SCNG(yy_text);
12224
1.95k
          HANDLE_NEWLINES(yytext, yyleng);
12225
1.95k
          ZVAL_NULL(zendlval);
12226
1.95k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12227
1.95k
        }
12228
12229
        /* Check for ending label on the next line */
12230
1.61M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12231
30.9k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12232
15.3k
            continue;
12233
15.3k
          }
12234
12235
15.5k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12236
85
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12237
85
            if (PARSER_MODE()) {
12238
8
              RETURN_TOKEN(T_ERROR);
12239
8
            }
12240
85
          }
12241
12242
          /* newline before label will be subtracted from returned text, but
12243
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12244
15.5k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12245
159
            newline = 2; /* Windows newline */
12246
15.4k
          } else {
12247
15.4k
            newline = 1;
12248
15.4k
          }
12249
12250
15.5k
          CG(increment_lineno) = 1; /* For newline before label */
12251
12252
15.5k
          if (SCNG(heredoc_scan_ahead)) {
12253
9.59k
            SCNG(heredoc_indentation) = indentation;
12254
9.59k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12255
9.59k
          } else {
12256
5.98k
            YYCURSOR -= indentation;
12257
5.98k
          }
12258
12259
15.5k
          BEGIN(ST_END_HEREDOC);
12260
12261
15.5k
          goto heredoc_scan_done;
12262
15.5k
        }
12263
1.58M
        continue;
12264
1.58M
      case '$':
12265
1.39M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12266
1.03M
          break;
12267
1.03M
        }
12268
357k
        continue;
12269
357k
      case '{':
12270
300k
        if (*YYCURSOR == '$') {
12271
17.5k
          break;
12272
17.5k
        }
12273
282k
        continue;
12274
282k
      case '\\':
12275
138k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12276
135k
          YYCURSOR++;
12277
135k
        }
12278
138k
        ZEND_FALLTHROUGH;
12279
25.5M
      default:
12280
25.5M
        continue;
12281
28.8M
    }
12282
12283
1.05M
    YYCURSOR--;
12284
1.05M
    break;
12285
28.8M
  }
12286
12287
1.08M
heredoc_scan_done:
12288
12289
1.08M
  yyleng = YYCURSOR - SCNG(yy_text);
12290
1.08M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12291
12292
1.08M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12293
118k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12294
118k
    zend_string *copy = Z_STR_P(zendlval);
12295
12296
118k
    if (!strip_multiline_string_indentation(
12297
118k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12298
118k
        newline_at_start, newline != 0)) {
12299
54
      RETURN_TOKEN(T_ERROR);
12300
54
    }
12301
12302
117k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12303
25
      zend_string_efree(copy);
12304
25
      RETURN_TOKEN(T_ERROR);
12305
25
    }
12306
12307
117k
    zend_string_efree(copy);
12308
966k
  } else {
12309
966k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12310
966k
  }
12311
12312
1.08M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12313
1.08M
}
12314
0
#line 12315 "Zend/zend_language_scanner.c"
12315
3.63M
yy1050:
12316
3.63M
    YYDEBUG(1050, *YYCURSOR);
12317
3.63M
    yych = *++YYCURSOR;
12318
3.63M
    if (yych <= '_') {
12319
185k
      if (yych <= '@') goto yy1049;
12320
37.3k
      if (yych <= 'Z') goto yy1052;
12321
15.6k
      if (yych <= '^') goto yy1049;
12322
6.53k
      goto yy1052;
12323
3.45M
    } else {
12324
3.45M
      if (yych <= 'z') {
12325
312k
        if (yych <= '`') goto yy1049;
12326
310k
        goto yy1052;
12327
3.13M
      } else {
12328
3.13M
        if (yych <= '{') goto yy1055;
12329
209k
        if (yych <= 0x7F) goto yy1049;
12330
190k
        goto yy1052;
12331
209k
      }
12332
3.45M
    }
12333
93.0k
yy1051:
12334
93.0k
    YYDEBUG(1051, *YYCURSOR);
12335
93.0k
    yych = *++YYCURSOR;
12336
93.0k
    if (yych == '$') goto yy1057;
12337
42.2k
    goto yy1049;
12338
1.77M
yy1052:
12339
1.77M
    YYDEBUG(1052, *YYCURSOR);
12340
1.77M
    YYMARKER = ++YYCURSOR;
12341
1.77M
    YYFILL(4);
12342
1.77M
    yych = *YYCURSOR;
12343
1.77M
    YYDEBUG(1053, *YYCURSOR);
12344
1.77M
    if (yybm[0+yych] & 128) {
12345
1.24M
      goto yy1052;
12346
1.24M
    }
12347
529k
    if (yych <= '>') {
12348
377k
      if (yych == '-') goto yy1059;
12349
377k
    } else {
12350
152k
      if (yych <= '?') goto yy1061;
12351
48.9k
      if (yych <= '@') goto yy1054;
12352
47.5k
      if (yych <= '[') goto yy1062;
12353
47.5k
    }
12354
459k
yy1054:
12355
459k
    YYDEBUG(1054, *YYCURSOR);
12356
459k
    yyleng = YYCURSOR - SCNG(yy_text);
12357
459k
#line 2447 "Zend/zend_language_scanner.l"
12358
459k
    {
12359
459k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12360
459k
}
12361
0
#line 12362 "Zend/zend_language_scanner.c"
12362
2.93M
yy1055:
12363
2.93M
    YYDEBUG(1055, *YYCURSOR);
12364
2.93M
    ++YYCURSOR;
12365
2.93M
    YYDEBUG(1056, *YYCURSOR);
12366
2.93M
    yyleng = YYCURSOR - SCNG(yy_text);
12367
2.93M
#line 2011 "Zend/zend_language_scanner.l"
12368
2.93M
    {
12369
2.93M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12370
2.93M
  enter_nesting('{');
12371
2.93M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12372
2.93M
}
12373
0
#line 12374 "Zend/zend_language_scanner.c"
12374
50.8k
yy1057:
12375
50.8k
    YYDEBUG(1057, *YYCURSOR);
12376
50.8k
    ++YYCURSOR;
12377
50.8k
    YYDEBUG(1058, *YYCURSOR);
12378
50.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12379
50.8k
#line 2876 "Zend/zend_language_scanner.l"
12380
50.8k
    {
12381
50.8k
  yy_push_state(ST_IN_SCRIPTING);
12382
50.8k
  yyless(1);
12383
50.8k
  enter_nesting('{');
12384
50.8k
  RETURN_TOKEN(T_CURLY_OPEN);
12385
50.8k
}
12386
0
#line 12387 "Zend/zend_language_scanner.c"
12387
24.3k
yy1059:
12388
24.3k
    YYDEBUG(1059, *YYCURSOR);
12389
24.3k
    yych = *++YYCURSOR;
12390
24.3k
    if (yych == '>') goto yy1064;
12391
75.7k
yy1060:
12392
75.7k
    YYDEBUG(1060, *YYCURSOR);
12393
75.7k
    YYCURSOR = YYMARKER;
12394
75.7k
    goto yy1054;
12395
103k
yy1061:
12396
103k
    YYDEBUG(1061, *YYCURSOR);
12397
103k
    yych = *++YYCURSOR;
12398
103k
    if (yych == '-') goto yy1065;
12399
56.3k
    goto yy1060;
12400
56.3k
yy1062:
12401
18.1k
    YYDEBUG(1062, *YYCURSOR);
12402
18.1k
    ++YYCURSOR;
12403
18.1k
    YYDEBUG(1063, *YYCURSOR);
12404
18.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
18.1k
#line 2441 "Zend/zend_language_scanner.l"
12406
18.1k
    {
12407
18.1k
  yyless(yyleng - 1);
12408
18.1k
  yy_push_state(ST_VAR_OFFSET);
12409
18.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
18.1k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
20.2k
yy1064:
12413
20.2k
    YYDEBUG(1064, *YYCURSOR);
12414
20.2k
    yych = *++YYCURSOR;
12415
20.2k
    if (yych <= '_') {
12416
5.18k
      if (yych <= '@') goto yy1060;
12417
3.66k
      if (yych <= 'Z') goto yy1066;
12418
1.41k
      if (yych <= '^') goto yy1060;
12419
1.01k
      goto yy1066;
12420
15.0k
    } else {
12421
15.0k
      if (yych <= '`') goto yy1060;
12422
10.6k
      if (yych <= 'z') goto yy1066;
12423
1.31k
      if (yych <= 0x7F) goto yy1060;
12424
624
      goto yy1066;
12425
1.31k
    }
12426
46.9k
yy1065:
12427
46.9k
    YYDEBUG(1065, *YYCURSOR);
12428
46.9k
    yych = *++YYCURSOR;
12429
46.9k
    if (yych == '>') goto yy1068;
12430
1.96k
    goto yy1060;
12431
13.2k
yy1066:
12432
13.2k
    YYDEBUG(1066, *YYCURSOR);
12433
13.2k
    ++YYCURSOR;
12434
13.2k
    YYDEBUG(1067, *YYCURSOR);
12435
13.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12436
13.2k
#line 2427 "Zend/zend_language_scanner.l"
12437
13.2k
    {
12438
13.2k
  yyless(yyleng - 3);
12439
13.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12440
13.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12441
13.2k
}
12442
0
#line 12443 "Zend/zend_language_scanner.c"
12443
45.0k
yy1068:
12444
45.0k
    YYDEBUG(1068, *YYCURSOR);
12445
45.0k
    yych = *++YYCURSOR;
12446
45.0k
    if (yych <= '_') {
12447
5.94k
      if (yych <= '@') goto yy1060;
12448
1.19k
      if (yych <= 'Z') goto yy1069;
12449
841
      if (yych <= '^') goto yy1060;
12450
39.0k
    } else {
12451
39.0k
      if (yych <= '`') goto yy1060;
12452
38.6k
      if (yych <= 'z') goto yy1069;
12453
1.48k
      if (yych <= 0x7F) goto yy1060;
12454
1.48k
    }
12455
38.7k
yy1069:
12456
38.7k
    YYDEBUG(1069, *YYCURSOR);
12457
38.7k
    ++YYCURSOR;
12458
38.7k
    YYDEBUG(1070, *YYCURSOR);
12459
38.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12460
38.7k
#line 2433 "Zend/zend_language_scanner.l"
12461
38.7k
    {
12462
38.7k
  yyless(yyleng - 4);
12463
38.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12464
38.7k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12465
38.7k
}
12466
38.7k
#line 12467 "Zend/zend_language_scanner.c"
12467
38.7k
  }
12468
/* *********************************** */
12469
2.97M
yyc_ST_LOOKING_FOR_VARNAME:
12470
2.97M
  {
12471
2.97M
    static const unsigned char yybm[] = {
12472
2.97M
        0,   0,   0,   0,   0,   0,   0,   0, 
12473
2.97M
        0,   0,   0,   0,   0,   0,   0,   0, 
12474
2.97M
        0,   0,   0,   0,   0,   0,   0,   0, 
12475
2.97M
        0,   0,   0,   0,   0,   0,   0,   0, 
12476
2.97M
        0,   0,   0,   0,   0,   0,   0,   0, 
12477
2.97M
        0,   0,   0,   0,   0,   0,   0,   0, 
12478
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12479
2.97M
      128, 128,   0,   0,   0,   0,   0,   0, 
12480
2.97M
        0, 128, 128, 128, 128, 128, 128, 128, 
12481
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12482
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12483
2.97M
      128, 128, 128,   0,   0,   0,   0, 128, 
12484
2.97M
        0, 128, 128, 128, 128, 128, 128, 128, 
12485
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12486
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12487
2.97M
      128, 128, 128,   0,   0,   0,   0,   0, 
12488
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12489
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12490
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12491
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12492
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12493
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12494
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12495
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12496
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12497
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12498
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12499
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12500
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12501
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12502
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12503
2.97M
      128, 128, 128, 128, 128, 128, 128, 128, 
12504
2.97M
    };
12505
2.97M
    YYDEBUG(1071, *YYCURSOR);
12506
2.97M
    YYFILL(2);
12507
2.97M
    yych = *YYCURSOR;
12508
2.97M
    if (yych <= '_') {
12509
2.88M
      if (yych <= '@') goto yy1073;
12510
16.8k
      if (yych <= 'Z') goto yy1075;
12511
7.66k
      if (yych >= '_') goto yy1075;
12512
85.9k
    } else {
12513
85.9k
      if (yych <= '`') goto yy1073;
12514
83.8k
      if (yych <= 'z') goto yy1075;
12515
24.9k
      if (yych >= 0x80) goto yy1075;
12516
24.9k
    }
12517
2.87M
yy1073:
12518
2.87M
    YYDEBUG(1073, *YYCURSOR);
12519
2.87M
    ++YYCURSOR;
12520
2.97M
yy1074:
12521
2.97M
    YYDEBUG(1074, *YYCURSOR);
12522
2.97M
    yyleng = YYCURSOR - SCNG(yy_text);
12523
2.97M
#line 2034 "Zend/zend_language_scanner.l"
12524
2.97M
    {
12525
2.97M
  yyless(0);
12526
2.97M
  yy_pop_state();
12527
2.97M
  yy_push_state(ST_IN_SCRIPTING);
12528
2.97M
  goto restart;
12529
2.87M
}
12530
0
#line 12531 "Zend/zend_language_scanner.c"
12531
92.9k
yy1075:
12532
92.9k
    YYDEBUG(1075, *YYCURSOR);
12533
92.9k
    yych = *(YYMARKER = ++YYCURSOR);
12534
92.9k
    if (yych <= '_') {
12535
35.2k
      if (yych <= '@') {
12536
21.4k
        if (yych <= '/') goto yy1074;
12537
10.8k
        if (yych <= '9') goto yy1077;
12538
9.91k
        goto yy1074;
12539
13.8k
      } else {
12540
13.8k
        if (yych <= '[') goto yy1077;
12541
5.29k
        if (yych <= '^') goto yy1074;
12542
4.55k
        goto yy1077;
12543
5.29k
      }
12544
57.6k
    } else {
12545
57.6k
      if (yych <= '|') {
12546
45.9k
        if (yych <= '`') goto yy1074;
12547
45.8k
        if (yych <= 'z') goto yy1077;
12548
656
        goto yy1074;
12549
45.8k
      } else {
12550
11.6k
        if (yych <= '}') goto yy1077;
12551
10.8k
        if (yych <= 0x7F) goto yy1074;
12552
10.7k
        goto yy1077;
12553
10.8k
      }
12554
57.6k
    }
12555
332k
yy1076:
12556
332k
    YYDEBUG(1076, *YYCURSOR);
12557
332k
    ++YYCURSOR;
12558
332k
    YYFILL(1);
12559
332k
    yych = *YYCURSOR;
12560
402k
yy1077:
12561
402k
    YYDEBUG(1077, *YYCURSOR);
12562
402k
    if (yybm[0+yych] & 128) {
12563
332k
      goto yy1076;
12564
332k
    }
12565
70.8k
    if (yych <= '@') goto yy1078;
12566
9.60k
    if (yych <= '[') goto yy1079;
12567
8.18k
    if (yych == '}') goto yy1079;
12568
68.1k
yy1078:
12569
68.1k
    YYDEBUG(1078, *YYCURSOR);
12570
68.1k
    YYCURSOR = YYMARKER;
12571
68.1k
    goto yy1074;
12572
2.69k
yy1079:
12573
2.69k
    YYDEBUG(1079, *YYCURSOR);
12574
2.69k
    ++YYCURSOR;
12575
2.69k
    YYDEBUG(1080, *YYCURSOR);
12576
2.69k
    yyleng = YYCURSOR - SCNG(yy_text);
12577
2.69k
#line 2026 "Zend/zend_language_scanner.l"
12578
2.69k
    {
12579
2.69k
  yyless(yyleng - 1);
12580
2.69k
  yy_pop_state();
12581
2.69k
  yy_push_state(ST_IN_SCRIPTING);
12582
2.69k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12583
2.69k
}
12584
2.69k
#line 12585 "Zend/zend_language_scanner.c"
12585
2.69k
  }
12586
/* *********************************** */
12587
214k
yyc_ST_VAR_OFFSET:
12588
214k
  {
12589
214k
    static const unsigned char yybm[] = {
12590
214k
        0,   0,   0,   0,   0,   0,   0,   0, 
12591
214k
        0,   0,   0,   0,   0,   0,   0,   0, 
12592
214k
        0,   0,   0,   0,   0,   0,   0,   0, 
12593
214k
        0,   0,   0,   0,   0,   0,   0,   0, 
12594
214k
        0,   0,   0,   0,   0,   0,   0,   0, 
12595
214k
        0,   0,   0,   0,   0,   0,   0,   0, 
12596
214k
      248, 248, 216, 216, 216, 216, 216, 216, 
12597
214k
      152, 152,   0,   0,   0,   0,   0,   0, 
12598
214k
        0, 144, 144, 144, 144, 144, 144,  16, 
12599
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12600
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12601
214k
       16,  16,  16,   0,   0,   0,   0,  16, 
12602
214k
        0, 144, 144, 144, 144, 144, 144,  16, 
12603
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12604
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12605
214k
       16,  16,  16,   0,   0,   0,   0,   0, 
12606
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12607
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12608
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12609
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12610
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12611
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12612
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12613
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12614
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12615
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12616
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12617
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12618
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12619
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12620
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12621
214k
       16,  16,  16,  16,  16,  16,  16,  16, 
12622
214k
    };
12623
214k
    YYDEBUG(1081, *YYCURSOR);
12624
214k
    YYFILL(2);
12625
214k
    yych = *YYCURSOR;
12626
214k
    if (yych <= '0') {
12627
91.3k
      if (yych <= ' ') {
12628
30.6k
        if (yych <= '\f') {
12629
20.9k
          if (yych <= 0x08) goto yy1083;
12630
3.86k
          if (yych <= '\n') goto yy1085;
12631
9.73k
        } else {
12632
9.73k
          if (yych <= '\r') goto yy1085;
12633
9.06k
          if (yych >= ' ') goto yy1085;
12634
9.06k
        }
12635
60.6k
      } else {
12636
60.6k
        if (yych <= '$') {
12637
23.0k
          if (yych <= '"') goto yy1087;
12638
17.2k
          if (yych <= '#') goto yy1085;
12639
16.8k
          goto yy1089;
12640
37.5k
        } else {
12641
37.5k
          if (yych == '\'') goto yy1085;
12642
36.3k
          if (yych <= '/') goto yy1087;
12643
15.5k
          goto yy1090;
12644
36.3k
        }
12645
60.6k
      }
12646
123k
    } else {
12647
123k
      if (yych <= ']') {
12648
85.0k
        if (yych <= 'Z') {
12649
36.8k
          if (yych <= '9') goto yy1092;
12650
24.5k
          if (yych <= '@') goto yy1087;
12651
4.40k
          goto yy1094;
12652
48.1k
        } else {
12653
48.1k
          if (yych <= '[') goto yy1087;
12654
16.3k
          if (yych <= '\\') goto yy1085;
12655
15.7k
          goto yy1097;
12656
16.3k
        }
12657
85.0k
      } else {
12658
38.3k
        if (yych <= '`') {
12659
7.45k
          if (yych == '_') goto yy1094;
12660
4.02k
          goto yy1087;
12661
30.9k
        } else {
12662
30.9k
          if (yych <= 'z') goto yy1094;
12663
16.6k
          if (yych <= '~') goto yy1087;
12664
10.2k
          if (yych >= 0x80) goto yy1094;
12665
10.2k
        }
12666
38.3k
      }
12667
123k
    }
12668
27.1k
yy1083:
12669
27.1k
    YYDEBUG(1083, *YYCURSOR);
12670
27.1k
    ++YYCURSOR;
12671
27.1k
    YYDEBUG(1084, *YYCURSOR);
12672
27.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12673
27.1k
#line 3210 "Zend/zend_language_scanner.l"
12674
27.1k
    {
12675
27.1k
  if (YYCURSOR > YYLIMIT) {
12676
1.57k
    RETURN_END_TOKEN;
12677
1.57k
  }
12678
12679
25.5k
  RETURN_TOKEN(T_BAD_CHARACTER);
12680
25.5k
}
12681
0
#line 12682 "Zend/zend_language_scanner.c"
12682
8.07k
yy1085:
12683
8.07k
    YYDEBUG(1085, *YYCURSOR);
12684
8.07k
    ++YYCURSOR;
12685
8.07k
    YYDEBUG(1086, *YYCURSOR);
12686
8.07k
    yyleng = YYCURSOR - SCNG(yy_text);
12687
8.07k
#line 2461 "Zend/zend_language_scanner.l"
12688
8.07k
    {
12689
  /* Invalid rule to return a more explicit parse error with proper line number */
12690
8.07k
  yyless(0);
12691
8.07k
  yy_pop_state();
12692
8.07k
  ZVAL_NULL(zendlval);
12693
8.07k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12694
8.07k
}
12695
0
#line 12696 "Zend/zend_language_scanner.c"
12696
89.0k
yy1087:
12697
89.0k
    YYDEBUG(1087, *YYCURSOR);
12698
89.0k
    ++YYCURSOR;
12699
96.5k
yy1088:
12700
96.5k
    YYDEBUG(1088, *YYCURSOR);
12701
96.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12702
96.5k
#line 2456 "Zend/zend_language_scanner.l"
12703
96.5k
    {
12704
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12705
96.5k
  RETURN_TOKEN(yytext[0]);
12706
96.5k
}
12707
0
#line 12708 "Zend/zend_language_scanner.c"
12708
16.8k
yy1089:
12709
16.8k
    YYDEBUG(1089, *YYCURSOR);
12710
16.8k
    yych = *++YYCURSOR;
12711
16.8k
    if (yych <= '_') {
12712
6.90k
      if (yych <= '@') goto yy1088;
12713
2.54k
      if (yych <= 'Z') goto yy1099;
12714
1.35k
      if (yych <= '^') goto yy1088;
12715
1.20k
      goto yy1099;
12716
9.92k
    } else {
12717
9.92k
      if (yych <= '`') goto yy1088;
12718
9.02k
      if (yych <= 'z') goto yy1099;
12719
3.41k
      if (yych <= 0x7F) goto yy1088;
12720
1.37k
      goto yy1099;
12721
3.41k
    }
12722
15.5k
yy1090:
12723
15.5k
    YYDEBUG(1090, *YYCURSOR);
12724
15.5k
    yyaccept = 0;
12725
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
12726
15.5k
    if (yych <= 'X') {
12727
6.04k
      if (yych <= 'B') {
12728
4.76k
        if (yych <= '/') goto yy1091;
12729
4.12k
        if (yych <= '9') goto yy1102;
12730
2.47k
        if (yych >= 'B') goto yy1105;
12731
2.47k
      } else {
12732
1.27k
        if (yych == 'O') goto yy1107;
12733
954
        if (yych >= 'X') goto yy1108;
12734
954
      }
12735
9.47k
    } else {
12736
9.47k
      if (yych <= 'b') {
12737
5.07k
        if (yych == '_') goto yy1109;
12738
4.33k
        if (yych >= 'b') goto yy1105;
12739
4.40k
      } else {
12740
4.40k
        if (yych <= 'o') {
12741
1.95k
          if (yych >= 'o') goto yy1107;
12742
2.45k
        } else {
12743
2.45k
          if (yych == 'x') goto yy1108;
12744
2.45k
        }
12745
4.40k
      }
12746
9.47k
    }
12747
22.7k
yy1091:
12748
22.7k
    YYDEBUG(1091, *YYCURSOR);
12749
22.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12750
22.7k
#line 2238 "Zend/zend_language_scanner.l"
12751
22.7k
    { /* Offset could be treated as a long */
12752
22.7k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12753
21.9k
    char *end;
12754
21.9k
    errno = 0;
12755
21.9k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12756
21.9k
    if (errno == ERANGE) {
12757
0
      goto string;
12758
0
    }
12759
21.9k
    ZEND_ASSERT(end == yytext + yyleng);
12760
21.9k
  } else {
12761
738
string:
12762
738
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12763
738
  }
12764
22.7k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12765
22.7k
}
12766
0
#line 12767 "Zend/zend_language_scanner.c"
12767
48.6k
yy1092:
12768
48.6k
    YYDEBUG(1092, *YYCURSOR);
12769
48.6k
    yyaccept = 0;
12770
48.6k
    YYMARKER = ++YYCURSOR;
12771
48.6k
    YYFILL(1);
12772
48.6k
    yych = *YYCURSOR;
12773
48.6k
    YYDEBUG(1093, *YYCURSOR);
12774
48.6k
    if (yybm[0+yych] & 8) {
12775
36.2k
      goto yy1092;
12776
36.2k
    }
12777
12.3k
    if (yych == '_') goto yy1109;
12778
11.2k
    goto yy1091;
12779
124k
yy1094:
12780
124k
    YYDEBUG(1094, *YYCURSOR);
12781
124k
    ++YYCURSOR;
12782
124k
    YYFILL(1);
12783
124k
    yych = *YYCURSOR;
12784
124k
    YYDEBUG(1095, *YYCURSOR);
12785
124k
    if (yybm[0+yych] & 16) {
12786
94.4k
      goto yy1094;
12787
94.4k
    }
12788
29.9k
    YYDEBUG(1096, *YYCURSOR);
12789
29.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12790
29.9k
#line 2485 "Zend/zend_language_scanner.l"
12791
29.9k
    {
12792
29.9k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12793
29.9k
}
12794
0
#line 12795 "Zend/zend_language_scanner.c"
12795
15.7k
yy1097:
12796
15.7k
    YYDEBUG(1097, *YYCURSOR);
12797
15.7k
    ++YYCURSOR;
12798
15.7k
    YYDEBUG(1098, *YYCURSOR);
12799
15.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12800
15.7k
#line 2451 "Zend/zend_language_scanner.l"
12801
15.7k
    {
12802
15.7k
  yy_pop_state();
12803
15.7k
  RETURN_TOKEN(']');
12804
15.7k
}
12805
0
#line 12806 "Zend/zend_language_scanner.c"
12806
31.5k
yy1099:
12807
31.5k
    YYDEBUG(1099, *YYCURSOR);
12808
31.5k
    ++YYCURSOR;
12809
31.5k
    YYFILL(1);
12810
31.5k
    yych = *YYCURSOR;
12811
31.5k
    YYDEBUG(1100, *YYCURSOR);
12812
31.5k
    if (yych <= '^') {
12813
12.9k
      if (yych <= '9') {
12814
5.15k
        if (yych >= '0') goto yy1099;
12815
7.81k
      } else {
12816
7.81k
        if (yych <= '@') goto yy1101;
12817
6.01k
        if (yych <= 'Z') goto yy1099;
12818
6.01k
      }
12819
18.5k
    } else {
12820
18.5k
      if (yych <= '`') {
12821
3.16k
        if (yych <= '_') goto yy1099;
12822
15.4k
      } else {
12823
15.4k
        if (yych <= 'z') goto yy1099;
12824
8.11k
        if (yych >= 0x80) goto yy1099;
12825
8.11k
      }
12826
18.5k
    }
12827
9.38k
yy1101:
12828
9.38k
    YYDEBUG(1101, *YYCURSOR);
12829
9.38k
    yyleng = YYCURSOR - SCNG(yy_text);
12830
9.38k
#line 2447 "Zend/zend_language_scanner.l"
12831
9.38k
    {
12832
9.38k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12833
9.38k
}
12834
0
#line 12835 "Zend/zend_language_scanner.c"
12835
6.92k
yy1102:
12836
6.92k
    YYDEBUG(1102, *YYCURSOR);
12837
6.92k
    yyaccept = 1;
12838
6.92k
    YYMARKER = ++YYCURSOR;
12839
6.92k
    YYFILL(1);
12840
6.92k
    yych = *YYCURSOR;
12841
6.92k
    YYDEBUG(1103, *YYCURSOR);
12842
6.92k
    if (yych <= '/') goto yy1104;
12843
6.36k
    if (yych <= '9') goto yy1102;
12844
1.71k
    if (yych == '_') goto yy1109;
12845
5.15k
yy1104:
12846
5.15k
    YYDEBUG(1104, *YYCURSOR);
12847
5.15k
    yyleng = YYCURSOR - SCNG(yy_text);
12848
5.15k
#line 2254 "Zend/zend_language_scanner.l"
12849
5.15k
    { /* Offset must be treated as a string */
12850
5.15k
  if (yyleng == 1) {
12851
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12852
5.15k
  } else {
12853
5.15k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12854
5.15k
  }
12855
5.15k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12856
5.15k
}
12857
0
#line 12858 "Zend/zend_language_scanner.c"
12858
2.12k
yy1105:
12859
2.12k
    YYDEBUG(1105, *YYCURSOR);
12860
2.12k
    ++YYCURSOR;
12861
2.12k
    YYFILL(1);
12862
2.12k
    yych = *YYCURSOR;
12863
2.12k
    if (yybm[0+yych] & 32) {
12864
1.54k
      goto yy1110;
12865
1.54k
    }
12866
3.08k
yy1106:
12867
3.08k
    YYDEBUG(1106, *YYCURSOR);
12868
3.08k
    YYCURSOR = YYMARKER;
12869
3.08k
    if (yyaccept == 0) {
12870
2.41k
      goto yy1091;
12871
2.41k
    } else {
12872
666
      goto yy1104;
12873
666
    }
12874
2.08k
yy1107:
12875
2.08k
    YYDEBUG(1107, *YYCURSOR);
12876
2.08k
    ++YYCURSOR;
12877
2.08k
    YYFILL(1);
12878
2.08k
    yych = *YYCURSOR;
12879
2.08k
    if (yybm[0+yych] & 64) {
12880
1.43k
      goto yy1112;
12881
1.43k
    }
12882
649
    goto yy1106;
12883
1.38k
yy1108:
12884
1.38k
    YYDEBUG(1108, *YYCURSOR);
12885
1.38k
    ++YYCURSOR;
12886
1.38k
    YYFILL(1);
12887
1.38k
    yych = *YYCURSOR;
12888
1.38k
    if (yybm[0+yych] & 128) {
12889
1.03k
      goto yy1114;
12890
1.03k
    }
12891
351
    goto yy1106;
12892
2.10k
yy1109:
12893
2.10k
    YYDEBUG(1109, *YYCURSOR);
12894
2.10k
    ++YYCURSOR;
12895
2.10k
    YYFILL(1);
12896
2.10k
    yych = *YYCURSOR;
12897
2.10k
    if (yych <= '/') goto yy1106;
12898
1.76k
    if (yych <= '9') goto yy1102;
12899
1.15k
    goto yy1106;
12900
1.78k
yy1110:
12901
1.78k
    YYDEBUG(1110, *YYCURSOR);
12902
1.78k
    yyaccept = 1;
12903
1.78k
    YYMARKER = ++YYCURSOR;
12904
1.78k
    YYFILL(1);
12905
1.78k
    yych = *YYCURSOR;
12906
1.78k
    YYDEBUG(1111, *YYCURSOR);
12907
1.78k
    if (yybm[0+yych] & 32) {
12908
239
      goto yy1110;
12909
239
    }
12910
1.54k
    if (yych == '_') goto yy1105;
12911
994
    goto yy1104;
12912
1.90k
yy1112:
12913
1.90k
    YYDEBUG(1112, *YYCURSOR);
12914
1.90k
    yyaccept = 1;
12915
1.90k
    YYMARKER = ++YYCURSOR;
12916
1.90k
    YYFILL(1);
12917
1.90k
    yych = *YYCURSOR;
12918
1.90k
    YYDEBUG(1113, *YYCURSOR);
12919
1.90k
    if (yybm[0+yych] & 64) {
12920
466
      goto yy1112;
12921
466
    }
12922
1.43k
    if (yych == '_') goto yy1107;
12923
515
    goto yy1104;
12924
1.22k
yy1114:
12925
1.22k
    YYDEBUG(1114, *YYCURSOR);
12926
1.22k
    yyaccept = 1;
12927
1.22k
    YYMARKER = ++YYCURSOR;
12928
1.22k
    YYFILL(1);
12929
1.22k
    yych = *YYCURSOR;
12930
1.22k
    YYDEBUG(1115, *YYCURSOR);
12931
1.22k
    if (yybm[0+yych] & 128) {
12932
197
      goto yy1114;
12933
197
    }
12934
1.03k
    if (yych == '_') goto yy1108;
12935
962
    goto yy1104;
12936
1.03k
  }
12937
/* *********************************** */
12938
962
yyc_SHEBANG:
12939
0
  {
12940
0
    static const unsigned char yybm[] = {
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12943
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12944
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12945
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12946
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12947
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12948
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12949
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12950
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12951
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12952
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12953
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12954
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12955
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12956
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12957
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12958
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12959
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12960
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12961
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12962
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12963
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12964
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12965
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12966
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12967
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12968
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12969
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12970
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12971
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12972
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12973
0
    };
12974
0
    YYDEBUG(1116, *YYCURSOR);
12975
0
    YYFILL(2);
12976
0
    yych = *YYCURSOR;
12977
0
    if (yych == '#') goto yy1120;
12978
0
    YYDEBUG(1118, *YYCURSOR);
12979
0
    ++YYCURSOR;
12980
0
yy1119:
12981
0
    YYDEBUG(1119, *YYCURSOR);
12982
0
    yyleng = YYCURSOR - SCNG(yy_text);
12983
0
#line 2325 "Zend/zend_language_scanner.l"
12984
0
    {
12985
0
  yyless(0);
12986
0
  BEGIN(INITIAL);
12987
0
  goto restart;
12988
0
}
12989
0
#line 12990 "Zend/zend_language_scanner.c"
12990
0
yy1120:
12991
0
    YYDEBUG(1120, *YYCURSOR);
12992
0
    yych = *++YYCURSOR;
12993
0
    if (yych != '!') goto yy1119;
12994
0
yy1121:
12995
0
    YYDEBUG(1121, *YYCURSOR);
12996
0
    ++YYCURSOR;
12997
0
    YYFILL(1);
12998
0
    yych = *YYCURSOR;
12999
0
    YYDEBUG(1122, *YYCURSOR);
13000
0
    if (yybm[0+yych] & 128) {
13001
0
      goto yy1121;
13002
0
    }
13003
0
    YYDEBUG(1123, *YYCURSOR);
13004
0
    ++YYCURSOR;
13005
0
    YYDEBUG(1124, *YYCURSOR);
13006
0
    yyleng = YYCURSOR - SCNG(yy_text);
13007
0
#line 2319 "Zend/zend_language_scanner.l"
13008
0
    {
13009
0
  CG(zend_lineno)++;
13010
0
  BEGIN(INITIAL);
13011
0
  goto restart;
13012
0
}
13013
0
#line 13014 "Zend/zend_language_scanner.c"
13014
0
  }
13015
/* *********************************** */
13016
435k
yyc_INITIAL:
13017
435k
  YYDEBUG(1125, *YYCURSOR);
13018
435k
  YYFILL(7);
13019
435k
  yych = *YYCURSOR;
13020
435k
  if (yych == '<') goto yy1129;
13021
205k
  YYDEBUG(1127, *YYCURSOR);
13022
205k
  ++YYCURSOR;
13023
215k
yy1128:
13024
215k
  YYDEBUG(1128, *YYCURSOR);
13025
215k
  yyleng = YYCURSOR - SCNG(yy_text);
13026
215k
#line 2371 "Zend/zend_language_scanner.l"
13027
215k
  {
13028
215k
  if (YYCURSOR > YYLIMIT) {
13029
70.6k
    RETURN_END_TOKEN;
13030
70.6k
  }
13031
13032
145k
inline_char_handler:
13033
13034
314k
  while (1) {
13035
314k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13036
13037
314k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13038
13039
314k
    if (YYCURSOR >= YYLIMIT) {
13040
30.2k
      break;
13041
30.2k
    }
13042
13043
284k
    if (*YYCURSOR == '?') {
13044
114k
      if (CG(short_tags) /* <? */
13045
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13046
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13047
0
          (YYCURSOR + 4 == YYLIMIT ||
13048
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13049
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13050
114k
      ) {
13051
114k
        YYCURSOR--;
13052
114k
        break;
13053
114k
      }
13054
114k
    }
13055
284k
  }
13056
13057
145k
  yyleng = YYCURSOR - SCNG(yy_text);
13058
13059
145k
  if (SCNG(output_filter)) {
13060
0
    size_t readsize;
13061
0
    char *s = NULL;
13062
0
    size_t sz = 0;
13063
    // TODO: avoid reallocation ???
13064
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13065
0
    ZVAL_STRINGL(zendlval, s, sz);
13066
0
    efree(s);
13067
0
    if (readsize < yyleng) {
13068
0
      yyless(readsize);
13069
0
    }
13070
145k
  } else if (yyleng == 1) {
13071
14.0k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13072
131k
  } else {
13073
131k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13074
131k
  }
13075
145k
  HANDLE_NEWLINES(yytext, yyleng);
13076
145k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13077
145k
}
13078
0
#line 13079 "Zend/zend_language_scanner.c"
13079
229k
yy1129:
13080
229k
  YYDEBUG(1129, *YYCURSOR);
13081
229k
  yych = *++YYCURSOR;
13082
229k
  if (yych != '?') goto yy1128;
13083
219k
  YYDEBUG(1130, *YYCURSOR);
13084
219k
  yych = *(YYMARKER = ++YYCURSOR);
13085
219k
  if (yych <= 'O') {
13086
56.0k
    if (yych == '=') goto yy1132;
13087
163k
  } else {
13088
163k
    if (yych <= 'P') goto yy1134;
13089
163k
    if (yych == 'p') goto yy1134;
13090
163k
  }
13091
113k
yy1131:
13092
113k
  YYDEBUG(1131, *YYCURSOR);
13093
113k
  yyleng = YYCURSOR - SCNG(yy_text);
13094
113k
#line 2362 "Zend/zend_language_scanner.l"
13095
113k
  {
13096
113k
  if (CG(short_tags)) {
13097
113k
    BEGIN(ST_IN_SCRIPTING);
13098
113k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13099
113k
  } else {
13100
0
    goto inline_char_handler;
13101
0
  }
13102
113k
}
13103
0
#line 13104 "Zend/zend_language_scanner.c"
13104
1.76k
yy1132:
13105
1.76k
  YYDEBUG(1132, *YYCURSOR);
13106
1.76k
  ++YYCURSOR;
13107
1.76k
  YYDEBUG(1133, *YYCURSOR);
13108
1.76k
  yyleng = YYCURSOR - SCNG(yy_text);
13109
1.76k
#line 2331 "Zend/zend_language_scanner.l"
13110
1.76k
  {
13111
1.76k
  BEGIN(ST_IN_SCRIPTING);
13112
1.76k
  if (PARSER_MODE()) {
13113
    /* We'll reject this as an identifier in zend_lex_tstring. */
13114
1.20k
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13115
1.20k
  }
13116
560
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13117
560
}
13118
0
#line 13119 "Zend/zend_language_scanner.c"
13119
110k
yy1134:
13120
110k
  YYDEBUG(1134, *YYCURSOR);
13121
110k
  yych = *++YYCURSOR;
13122
110k
  if (yych == 'H') goto yy1136;
13123
108k
  if (yych == 'h') goto yy1136;
13124
5.91k
yy1135:
13125
5.91k
  YYDEBUG(1135, *YYCURSOR);
13126
5.91k
  YYCURSOR = YYMARKER;
13127
5.91k
  goto yy1131;
13128
106k
yy1136:
13129
106k
  YYDEBUG(1136, *YYCURSOR);
13130
106k
  yych = *++YYCURSOR;
13131
106k
  if (yych == 'P') goto yy1137;
13132
105k
  if (yych != 'p') goto yy1135;
13133
104k
yy1137:
13134
104k
  YYDEBUG(1137, *YYCURSOR);
13135
104k
  yych = *++YYCURSOR;
13136
104k
  if (yych <= '\f') {
13137
91.4k
    if (yych <= 0x08) goto yy1138;
13138
90.9k
    if (yych <= '\n') goto yy1139;
13139
90.9k
  } else {
13140
12.9k
    if (yych <= '\r') goto yy1141;
13141
11.8k
    if (yych == ' ') goto yy1139;
13142
11.8k
  }
13143
3.86k
yy1138:
13144
3.86k
  YYDEBUG(1138, *YYCURSOR);
13145
3.86k
  yyleng = YYCURSOR - SCNG(yy_text);
13146
3.86k
#line 2347 "Zend/zend_language_scanner.l"
13147
3.86k
  {
13148
  /* Allow <?php followed by end of file. */
13149
3.86k
  if (YYCURSOR == YYLIMIT) {
13150
185
    BEGIN(ST_IN_SCRIPTING);
13151
185
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13152
185
  }
13153
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13154
3.67k
  if (CG(short_tags)) {
13155
3.67k
    yyless(2);
13156
3.67k
    BEGIN(ST_IN_SCRIPTING);
13157
3.67k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13158
3.67k
  }
13159
0
  goto inline_char_handler;
13160
3.67k
}
13161
0
#line 13162 "Zend/zend_language_scanner.c"
13162
99.8k
yy1139:
13163
99.8k
  YYDEBUG(1139, *YYCURSOR);
13164
99.8k
  ++YYCURSOR;
13165
100k
yy1140:
13166
100k
  YYDEBUG(1140, *YYCURSOR);
13167
100k
  yyleng = YYCURSOR - SCNG(yy_text);
13168
100k
#line 2341 "Zend/zend_language_scanner.l"
13169
100k
  {
13170
100k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13171
100k
  BEGIN(ST_IN_SCRIPTING);
13172
100k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13173
100k
}
13174
0
#line 13175 "Zend/zend_language_scanner.c"
13175
1.09k
yy1141:
13176
1.09k
  YYDEBUG(1141, *YYCURSOR);
13177
1.09k
  yych = *++YYCURSOR;
13178
1.09k
  if (yych == '\n') goto yy1139;
13179
638
  goto yy1140;
13180
/* *********************************** */
13181
23.9k
yyc_ST_END_HEREDOC:
13182
23.9k
  YYDEBUG(1142, *YYCURSOR);
13183
23.9k
  YYFILL(1);
13184
23.9k
  yych = *YYCURSOR;
13185
23.9k
  YYDEBUG(1144, *YYCURSOR);
13186
23.9k
  ++YYCURSOR;
13187
23.9k
  YYDEBUG(1145, *YYCURSOR);
13188
23.9k
  yyleng = YYCURSOR - SCNG(yy_text);
13189
23.9k
#line 2862 "Zend/zend_language_scanner.l"
13190
23.9k
  {
13191
23.9k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13192
13193
23.9k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13194
23.9k
  YYCURSOR += yyleng - 1;
13195
13196
23.9k
  heredoc_label_dtor(heredoc_label);
13197
23.9k
  efree(heredoc_label);
13198
13199
23.9k
  BEGIN(ST_IN_SCRIPTING);
13200
23.9k
  RETURN_TOKEN(T_END_HEREDOC);
13201
23.9k
}
13202
0
#line 13203 "Zend/zend_language_scanner.c"
13203
/* *********************************** */
13204
10.1k
yyc_ST_NOWDOC:
13205
10.1k
  YYDEBUG(1146, *YYCURSOR);
13206
10.1k
  YYFILL(1);
13207
10.1k
  yych = *YYCURSOR;
13208
10.1k
  YYDEBUG(1148, *YYCURSOR);
13209
10.1k
  ++YYCURSOR;
13210
10.1k
  YYDEBUG(1149, *YYCURSOR);
13211
10.1k
  yyleng = YYCURSOR - SCNG(yy_text);
13212
10.1k
#line 3119 "Zend/zend_language_scanner.l"
13213
10.1k
  {
13214
10.1k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13215
10.1k
  int newline = 0, indentation = 0, spacing = -1;
13216
13217
10.1k
  if (YYCURSOR > YYLIMIT) {
13218
1.96k
    RETURN_END_TOKEN;
13219
1.96k
  }
13220
13221
8.16k
  YYCURSOR--;
13222
13223
2.23M
  while (YYCURSOR < YYLIMIT) {
13224
2.23M
    switch (*YYCURSOR++) {
13225
17.5k
      case '\r':
13226
17.5k
        if (*YYCURSOR == '\n') {
13227
2.37k
          YYCURSOR++;
13228
2.37k
        }
13229
17.5k
        ZEND_FALLTHROUGH;
13230
114k
      case '\n':
13231
114k
        indentation = spacing = 0;
13232
13233
169k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13234
55.3k
          if (*YYCURSOR == '\t') {
13235
1.08k
            spacing |= HEREDOC_USING_TABS;
13236
54.2k
          } else {
13237
54.2k
            spacing |= HEREDOC_USING_SPACES;
13238
54.2k
          }
13239
55.3k
          ++YYCURSOR;
13240
55.3k
          ++indentation;
13241
55.3k
        }
13242
13243
114k
        if (YYCURSOR == YYLIMIT) {
13244
359
          yyleng = YYCURSOR - SCNG(yy_text);
13245
359
          HANDLE_NEWLINES(yytext, yyleng);
13246
359
          ZVAL_NULL(zendlval);
13247
359
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13248
359
        }
13249
13250
        /* Check for ending label on the next line */
13251
114k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13252
9.35k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13253
3.18k
            continue;
13254
3.18k
          }
13255
13256
6.17k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13257
203
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13258
203
            if (PARSER_MODE()) {
13259
8
              RETURN_TOKEN(T_ERROR);
13260
8
            }
13261
203
          }
13262
13263
          /* newline before label will be subtracted from returned text, but
13264
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13265
6.16k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13266
731
            newline = 2; /* Windows newline */
13267
5.43k
          } else {
13268
5.43k
            newline = 1;
13269
5.43k
          }
13270
13271
6.16k
          CG(increment_lineno) = 1; /* For newline before label */
13272
13273
6.16k
          YYCURSOR -= indentation;
13274
6.16k
          heredoc_label->indentation = indentation;
13275
13276
6.16k
          BEGIN(ST_END_HEREDOC);
13277
13278
6.16k
          goto nowdoc_scan_done;
13279
6.17k
        }
13280
104k
        ZEND_FALLTHROUGH;
13281
2.22M
      default:
13282
2.22M
        continue;
13283
2.23M
    }
13284
2.23M
  }
13285
13286
7.79k
nowdoc_scan_done:
13287
7.79k
  yyleng = YYCURSOR - SCNG(yy_text);
13288
7.79k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13289
13290
7.79k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13291
1.62k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13292
1.62k
    if (!strip_multiline_string_indentation(
13293
1.62k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13294
1.62k
        newline_at_start, newline != 0)) {
13295
40
      RETURN_TOKEN(T_ERROR);
13296
40
    }
13297
1.62k
  }
13298
13299
7.75k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13300
7.75k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13301
7.75k
}
13302
7.75k
#line 13303 "Zend/zend_language_scanner.c"
13303
7.75k
}
13304
0
#line 3218 "Zend/zend_language_scanner.l"
13305
13306
13307
6.36M
emit_token_with_str:
13308
6.36M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13309
13310
9.73M
emit_token_with_val:
13311
9.73M
  if (PARSER_MODE()) {
13312
3.88M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13313
3.88M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13314
3.88M
  }
13315
13316
33.9M
emit_token:
13317
33.9M
  if (SCNG(on_event)) {
13318
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13319
0
  }
13320
33.9M
  return token;
13321
13322
1.30M
emit_token_with_ident:
13323
1.30M
  if (PARSER_MODE()) {
13324
723k
    elem->ident = SCNG(yy_text);
13325
723k
  }
13326
1.30M
  if (SCNG(on_event)) {
13327
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13328
0
  }
13329
1.30M
  return token;
13330
13331
6.39M
return_whitespace:
13332
6.39M
  HANDLE_NEWLINES(yytext, yyleng);
13333
6.39M
  if (SCNG(on_event)) {
13334
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13335
0
  }
13336
6.39M
  if (PARSER_MODE()) {
13337
3.20M
    start_line = CG(zend_lineno);
13338
3.20M
    goto restart;
13339
3.20M
  } else {
13340
3.18M
    return T_WHITESPACE;
13341
3.18M
  }
13342
13343
290k
skip_token:
13344
290k
  if (SCNG(on_event)) {
13345
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13346
0
  }
13347
290k
  start_line = CG(zend_lineno);
13348
290k
  goto restart;
13349
6.39M
}