Coverage Report

Created: 2025-12-14 06:06

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include <stdint.h>
36
#include "zend.h"
37
#ifdef ZEND_WIN32
38
# include <Winuser.h>
39
#endif
40
#include "zend_alloc.h"
41
#include <zend_language_parser.h>
42
#include "zend_compile.h"
43
#include "zend_language_scanner.h"
44
#include "zend_highlight.h"
45
#include "zend_constants.h"
46
#include "zend_variables.h"
47
#include "zend_operators.h"
48
#include "zend_API.h"
49
#include "zend_strtod.h"
50
#include "zend_exceptions.h"
51
#include "zend_virtual_cwd.h"
52
53
17.3M
#define YYCTYPE   unsigned char
54
38.4M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
201M
#define YYCURSOR  SCNG(yy_cursor)
56
54.9M
#define YYLIMIT   SCNG(yy_limit)
57
14.5M
#define YYMARKER  SCNG(yy_marker)
58
59
60.2M
#define YYGETCONDITION()  SCNG(yy_state)
60
10.4M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
2.56M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
161k
#define YYSTATE      YYGETCONDITION()
67
10.4M
#define yytext       ((char*)SCNG(yy_text))
68
25.9M
#define yyleng       SCNG(yy_leng)
69
2.51M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
2.51M
                          yyleng   = (unsigned int)x; } while(0)
71
#define yymore()     goto yymore_restart
72
73
/* perform sanity check. If this message is triggered you should
74
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
75
#define YYMAXFILL 16
76
77
#if ZEND_MMAP_AHEAD < YYMAXFILL
78
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
79
#endif
80
81
#include <stdarg.h>
82
83
#ifdef HAVE_UNISTD_H
84
# include <unistd.h>
85
#endif
86
87
/* Globals Macros */
88
462M
#define SCNG  LANG_SCNG
89
#ifdef ZTS
90
ZEND_API ts_rsrc_id language_scanner_globals_id;
91
ZEND_API size_t language_scanner_globals_offset;
92
#else
93
ZEND_API zend_php_scanner_globals language_scanner_globals;
94
#endif
95
96
1.74M
#define HANDLE_NEWLINES(s, l)                         \
97
1.74M
do {                                     \
98
1.74M
  char *p = (s), *boundary = p+(l);                     \
99
1.74M
                                        \
100
9.74M
  while (p<boundary) {                           \
101
7.99M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
1.46M
      CG(zend_lineno)++;                          \
103
1.46M
    }                                    \
104
7.99M
    p++;                                  \
105
7.99M
  }                                      \
106
1.74M
} while (0)
107
108
73.5k
#define HANDLE_NEWLINE(c) \
109
73.5k
{ \
110
73.5k
  if (c == '\n' || c == '\r') { \
111
19.4k
    CG(zend_lineno)++; \
112
19.4k
  } \
113
73.5k
}
114
115
/* To save initial string length after scanning to first variable */
116
44.3k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
86.9k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
2.29M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
17.4k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
17.9k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
13.9k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
124
125
126
static void strip_underscores(char *str, size_t *len)
127
4.15k
{
128
4.15k
  char *src = str, *dest = str;
129
76.0k
  while (*src != '\0') {
130
71.9k
    if (*src != '_') {
131
66.6k
      *dest = *src;
132
66.6k
      dest++;
133
66.6k
    } else {
134
5.28k
      --(*len);
135
5.28k
    }
136
71.9k
    src++;
137
71.9k
  }
138
4.15k
  *dest = '\0';
139
4.15k
}
140
141
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
142
0
{
143
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
144
0
  ZEND_ASSERT(internal_encoding);
145
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
146
0
}
147
148
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
149
0
{
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
156
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
157
0
}
158
159
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
160
0
{
161
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
162
0
  ZEND_ASSERT(internal_encoding);
163
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
164
0
internal_encoding, zend_multibyte_encoding_utf8);
165
0
}
166
167
168
static void _yy_push_state(int new_state)
169
5.19M
{
170
5.19M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
5.19M
  YYSETCONDITION(new_state);
172
5.19M
}
173
174
5.19M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
2.50M
{
178
2.50M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
2.50M
  YYSETCONDITION(*stack_state);
180
2.50M
  zend_stack_del_top(&SCNG(state_stack));
181
2.50M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
49.1k
{
185
49.1k
  YYCURSOR       = (YYCTYPE*)str;
186
49.1k
  YYLIMIT        = YYCURSOR + len;
187
49.1k
  if (!SCNG(yy_start)) {
188
0
    SCNG(yy_start) = YYCURSOR;
189
0
  }
190
49.1k
}
191
192
void startup_scanner(void)
193
49.1k
{
194
49.1k
  CG(parse_error) = 0;
195
49.1k
  CG(doc_comment) = NULL;
196
49.1k
  CG(extra_fn_flags) = 0;
197
49.1k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
49.1k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
49.1k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
49.1k
  SCNG(heredoc_scan_ahead) = 0;
201
49.1k
}
202
203
4.08M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
4.08M
    efree(heredoc_label->label);
205
4.08M
}
206
207
void shutdown_scanner(void)
208
49.1k
{
209
49.1k
  CG(parse_error) = 0;
210
49.1k
  RESET_DOC_COMMENT();
211
49.1k
  zend_stack_destroy(&SCNG(state_stack));
212
49.1k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
49.1k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
49.1k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
49.1k
  SCNG(heredoc_scan_ahead) = 0;
216
49.1k
  SCNG(on_event) = NULL;
217
49.1k
  SCNG(on_event_context) = NULL;
218
49.1k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
161k
{
222
161k
  lex_state->yy_leng   = SCNG(yy_leng);
223
161k
  lex_state->yy_start  = SCNG(yy_start);
224
161k
  lex_state->yy_text   = SCNG(yy_text);
225
161k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
161k
  lex_state->yy_marker = SCNG(yy_marker);
227
161k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
161k
  lex_state->state_stack = SCNG(state_stack);
230
161k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
161k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
161k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
161k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
161k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
161k
  lex_state->in = SCNG(yy_in);
239
161k
  lex_state->yy_state = YYSTATE;
240
161k
  lex_state->filename = CG(compiled_filename);
241
161k
  lex_state->lineno = CG(zend_lineno);
242
161k
  CG(compiled_filename) = NULL;
243
244
161k
  lex_state->script_org = SCNG(script_org);
245
161k
  lex_state->script_org_size = SCNG(script_org_size);
246
161k
  lex_state->script_filtered = SCNG(script_filtered);
247
161k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
161k
  lex_state->input_filter = SCNG(input_filter);
249
161k
  lex_state->output_filter = SCNG(output_filter);
250
161k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
161k
  lex_state->on_event = SCNG(on_event);
253
161k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
161k
  lex_state->ast = CG(ast);
256
161k
  lex_state->ast_arena = CG(ast_arena);
257
161k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
158k
{
261
158k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
158k
  SCNG(yy_start)  = lex_state->yy_start;
263
158k
  SCNG(yy_text)   = lex_state->yy_text;
264
158k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
158k
  SCNG(yy_marker) = lex_state->yy_marker;
266
158k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
158k
  zend_stack_destroy(&SCNG(state_stack));
269
158k
  SCNG(state_stack) = lex_state->state_stack;
270
271
158k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
158k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
158k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
158k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
158k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
158k
  SCNG(yy_in) = lex_state->in;
279
158k
  YYSETCONDITION(lex_state->yy_state);
280
158k
  CG(zend_lineno) = lex_state->lineno;
281
158k
  zend_restore_compiled_filename(lex_state->filename);
282
283
158k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
284
0
    efree(SCNG(script_filtered));
285
0
    SCNG(script_filtered) = NULL;
286
0
  }
287
158k
  SCNG(script_org) = lex_state->script_org;
288
158k
  SCNG(script_org_size) = lex_state->script_org_size;
289
158k
  SCNG(script_filtered) = lex_state->script_filtered;
290
158k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
158k
  SCNG(input_filter) = lex_state->input_filter;
292
158k
  SCNG(output_filter) = lex_state->output_filter;
293
158k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
158k
  SCNG(on_event) = lex_state->on_event;
296
158k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
158k
  CG(ast) = lex_state->ast;
299
158k
  CG(ast_arena) = lex_state->ast_arena;
300
301
158k
  RESET_DOC_COMMENT();
302
158k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
5.11k
{
306
5.11k
  unsigned char *end = ident;
307
27.6k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
22.5k
    end++;
309
22.5k
  }
310
311
5.11k
  size_t length = end - ident;
312
5.11k
  if (length == 0) {
313
4
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
4
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
4
    return FAILURE;
316
4
  }
317
318
5.11k
  if (SCNG(on_event)) {
319
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
320
0
  }
321
322
5.11k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
5.11k
  return SUCCESS;
324
5.11k
}
325
326
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
327
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
328
0
#define BOM_UTF16_BE  "\xfe\xff"
329
0
#define BOM_UTF16_LE  "\xff\xfe"
330
0
#define BOM_UTF8    "\xef\xbb\xbf"
331
332
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
333
0
{
334
0
  const unsigned char *p;
335
0
  int wchar_size = 2;
336
0
  int le = 0;
337
338
  /* utf-16 or utf-32? */
339
0
  p = script;
340
0
  assert(p >= script);
341
0
  while ((size_t)(p-script) < script_size) {
342
0
    p = memchr(p, 0, script_size-(p-script)-2);
343
0
    if (!p) {
344
0
      break;
345
0
    }
346
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
347
0
      wchar_size = 4;
348
0
      break;
349
0
    }
350
351
    /* searching for UTF-32 specific byte orders, so this will do */
352
0
    p += 4;
353
0
  }
354
355
  /* BE or LE? */
356
0
  p = script;
357
0
  assert(p >= script);
358
0
  while ((size_t)(p-script) < script_size) {
359
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
360
      /* BE */
361
0
      le = 0;
362
0
      break;
363
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
364
      /* LE* */
365
0
      le = 1;
366
0
      break;
367
0
    }
368
0
    p += wchar_size;
369
0
  }
370
371
0
  if (wchar_size == 2) {
372
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
373
0
  } else {
374
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
375
0
  }
376
377
0
  return NULL;
378
0
}
379
380
static const zend_encoding* zend_multibyte_detect_unicode(void)
381
0
{
382
0
  const zend_encoding *script_encoding = NULL;
383
0
  int bom_size;
384
0
  unsigned char *pos1, *pos2;
385
386
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
387
0
    return NULL;
388
0
  }
389
390
  /* check out BOM */
391
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
392
0
    script_encoding = zend_multibyte_encoding_utf32be;
393
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
394
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
395
0
    script_encoding = zend_multibyte_encoding_utf32le;
396
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
397
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
398
0
    script_encoding = zend_multibyte_encoding_utf16be;
399
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
400
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
401
0
    script_encoding = zend_multibyte_encoding_utf16le;
402
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
403
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
404
0
    script_encoding = zend_multibyte_encoding_utf8;
405
0
    bom_size = sizeof(BOM_UTF8)-1;
406
0
  }
407
408
0
  if (script_encoding) {
409
    /* remove BOM */
410
0
    LANG_SCNG(script_org) += bom_size;
411
0
    LANG_SCNG(script_org_size) -= bom_size;
412
413
0
    return script_encoding;
414
0
  }
415
416
  /* script contains NULL bytes -> auto-detection */
417
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
418
    /* check if the NULL byte is after the __HALT_COMPILER(); */
419
0
    pos2 = LANG_SCNG(script_org);
420
421
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
422
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
423
0
      if (!pos2) break;
424
0
      pos2++;
425
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
426
0
        pos2 += sizeof("_HALT_COMPILER")-1;
427
0
        while (*pos2 == ' '  ||
428
0
             *pos2 == '\t' ||
429
0
             *pos2 == '\r' ||
430
0
             *pos2 == '\n') {
431
0
          pos2++;
432
0
        }
433
0
        if (*pos2 == '(') {
434
0
          pos2++;
435
0
          while (*pos2 == ' '  ||
436
0
               *pos2 == '\t' ||
437
0
               *pos2 == '\r' ||
438
0
               *pos2 == '\n') {
439
0
            pos2++;
440
0
          }
441
0
          if (*pos2 == ')') {
442
0
            pos2++;
443
0
            while (*pos2 == ' '  ||
444
0
                 *pos2 == '\t' ||
445
0
                 *pos2 == '\r' ||
446
0
                 *pos2 == '\n') {
447
0
              pos2++;
448
0
            }
449
0
            if (*pos2 == ';') {
450
0
              return NULL;
451
0
            }
452
0
          }
453
0
        }
454
0
      }
455
0
    }
456
    /* make best effort if BOM is missing */
457
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
458
0
  }
459
460
0
  return NULL;
461
0
}
462
463
static const zend_encoding* zend_multibyte_find_script_encoding(void)
464
0
{
465
0
  const zend_encoding *script_encoding;
466
467
0
  if (CG(detect_unicode)) {
468
    /* check out bom(byte order mark) and see if containing wchars */
469
0
    script_encoding = zend_multibyte_detect_unicode();
470
0
    if (script_encoding != NULL) {
471
      /* bom or wchar detection is prior to 'script_encoding' option */
472
0
      return script_encoding;
473
0
    }
474
0
  }
475
476
  /* if no script_encoding specified, just leave alone */
477
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
478
0
    return NULL;
479
0
  }
480
481
  /* if multiple encodings specified, detect automagically */
482
0
  if (CG(script_encoding_list_size) > 1) {
483
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
484
0
  }
485
486
0
  return CG(script_encoding_list)[0];
487
0
}
488
489
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
490
0
{
491
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
492
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
493
494
0
  if (!script_encoding) {
495
0
    return FAILURE;
496
0
  }
497
498
  /* judge input/output filter */
499
0
  LANG_SCNG(script_encoding) = script_encoding;
500
0
  LANG_SCNG(input_filter) = NULL;
501
0
  LANG_SCNG(output_filter) = NULL;
502
503
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
504
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
505
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
506
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
507
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
508
0
    } else {
509
0
      LANG_SCNG(input_filter) = NULL;
510
0
      LANG_SCNG(output_filter) = NULL;
511
0
    }
512
0
    return SUCCESS;
513
0
  }
514
515
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
516
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
517
0
    LANG_SCNG(output_filter) = NULL;
518
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
519
0
    LANG_SCNG(input_filter) = NULL;
520
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
521
0
  } else {
522
    /* both script and internal encodings are incompatible w/ flex */
523
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
524
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
525
0
  }
526
527
0
  return SUCCESS;
528
0
}
529
530
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
531
49.1k
{
532
49.1k
  char *buf;
533
49.1k
  size_t size;
534
49.1k
  zend_string *compiled_filename;
535
536
49.1k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
0
    zend_llist_add_element(&CG(open_files), file_handle);
539
0
    file_handle->in_list = 1;
540
0
    return FAILURE;
541
0
  }
542
543
49.1k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
49.1k
  zend_llist_add_element(&CG(open_files), file_handle);
545
49.1k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
49.1k
  SCNG(yy_in) = file_handle;
549
49.1k
  SCNG(yy_start) = NULL;
550
551
49.1k
  if (size != (size_t)-1) {
552
49.1k
    if (CG(multibyte)) {
553
0
      SCNG(script_org) = (unsigned char*)buf;
554
0
      SCNG(script_org_size) = size;
555
0
      SCNG(script_filtered) = NULL;
556
557
0
      zend_multibyte_set_filter(NULL);
558
559
0
      if (SCNG(input_filter)) {
560
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
561
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
562
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
563
0
        }
564
0
        buf = (char*)SCNG(script_filtered);
565
0
        size = SCNG(script_filtered_size);
566
0
      }
567
0
    }
568
49.1k
    SCNG(yy_start) = (unsigned char *)buf;
569
49.1k
    yy_scan_buffer(buf, size);
570
49.1k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
49.1k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
49.1k
  } else {
577
49.1k
    BEGIN(INITIAL);
578
49.1k
  }
579
580
49.1k
  if (file_handle->opened_path) {
581
0
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
49.1k
  } else {
583
49.1k
    compiled_filename = zend_string_copy(file_handle->filename);
584
49.1k
  }
585
586
49.1k
  zend_set_compiled_filename(compiled_filename);
587
49.1k
  zend_string_release_ex(compiled_filename, 0);
588
589
49.1k
  SCNG(on_event) = NULL;
590
49.1k
  SCNG(on_event_context) = NULL;
591
49.1k
  RESET_DOC_COMMENT();
592
49.1k
  CG(zend_lineno) = 1;
593
49.1k
  CG(increment_lineno) = 0;
594
49.1k
  return SUCCESS;
595
49.1k
}
596
597
static zend_op_array *zend_compile(int type)
598
49.1k
{
599
49.1k
  zend_op_array *op_array = NULL;
600
49.1k
  bool original_in_compilation = CG(in_compilation);
601
602
49.1k
  CG(in_compilation) = 1;
603
49.1k
  CG(ast) = NULL;
604
49.1k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
49.1k
  if (!zendparse()) {
607
23.7k
    uint32_t last_lineno = CG(zend_lineno);
608
23.7k
    zend_file_context original_file_context;
609
23.7k
    zend_oparray_context original_oparray_context;
610
23.7k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
23.7k
    op_array = emalloc(sizeof(zend_op_array));
613
23.7k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
23.7k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
23.7k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
23.7k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
23.7k
    zend_file_context_begin(&original_file_context);
624
23.7k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
23.7k
    zend_compile_top_stmt(CG(ast));
626
23.7k
    CG(zend_lineno) = last_lineno;
627
23.7k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
23.7k
    op_array->line_start = 1;
629
23.7k
    op_array->line_end = last_lineno;
630
23.7k
    pass_two(op_array);
631
23.7k
    zend_oparray_context_end(&original_oparray_context);
632
23.7k
    zend_file_context_end(&original_file_context);
633
634
23.7k
    CG(active_op_array) = original_active_op_array;
635
23.7k
  }
636
637
49.1k
  zend_ast_destroy(CG(ast));
638
49.1k
  zend_arena_destroy(CG(ast_arena));
639
640
49.1k
  CG(in_compilation) = original_in_compilation;
641
642
49.1k
  return op_array;
643
49.1k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
49.1k
{
647
49.1k
  zend_lex_state original_lex_state;
648
49.1k
  zend_op_array *op_array = NULL;
649
49.1k
  zend_save_lexical_state(&original_lex_state);
650
651
49.1k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
0
    if (!EG(exception)) {
653
0
      if (type==ZEND_REQUIRE) {
654
0
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
0
      } else {
656
0
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
0
      }
658
0
    }
659
49.1k
  } else {
660
49.1k
    bool orig_record_errors = EG(record_errors);
661
49.1k
    if (!orig_record_errors) {
662
0
      zend_begin_record_errors();
663
0
    }
664
665
49.1k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
49.1k
    if (!orig_record_errors) {
668
0
      zend_emit_recorded_errors();
669
0
      zend_free_recorded_errors();
670
0
    }
671
49.1k
  }
672
673
49.1k
  zend_restore_lexical_state(&original_lex_state);
674
49.1k
  return op_array;
675
49.1k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
0
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
0
  zval code_zv;
680
0
  bool original_in_compilation;
681
0
  zend_lex_state original_lex_state;
682
0
  zend_ast *ast;
683
684
0
  ZVAL_STR_COPY(&code_zv, code);
685
686
0
  original_in_compilation = CG(in_compilation);
687
0
  CG(in_compilation) = 1;
688
689
0
  zend_save_lexical_state(&original_lex_state);
690
0
  zend_prepare_string_for_scanning(&code_zv, filename);
691
0
  CG(ast) = NULL;
692
0
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
0
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
0
  if (zendparse() != 0) {
696
0
    zend_ast_destroy(CG(ast));
697
0
    zend_arena_destroy(CG(ast_arena));
698
0
    CG(ast) = NULL;
699
0
  }
700
701
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
702
0
  ast = CG(ast);
703
0
  *ast_arena = CG(ast_arena);
704
705
0
  zend_restore_lexical_state(&original_lex_state);
706
0
  CG(in_compilation) = original_in_compilation;
707
708
0
  zval_ptr_dtor_str(&code_zv);
709
710
0
  return ast;
711
0
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
0
{
715
0
  zend_file_handle file_handle;
716
0
  zend_op_array *retval;
717
0
  zend_string *opened_path = NULL;
718
719
0
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
0
  retval = zend_compile_file(&file_handle, type);
722
0
  if (retval && file_handle.handle.stream.handle) {
723
0
    if (!file_handle.opened_path) {
724
0
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
0
    }
726
727
0
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
0
    if (opened_path) {
730
0
      zend_string_release_ex(opened_path, 0);
731
0
    }
732
0
  }
733
0
  zend_destroy_file_handle(&file_handle);
734
735
0
  return retval;
736
0
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
0
{
740
0
  char *buf;
741
0
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
0
  old_len = Z_STRLEN_P(str);
745
0
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
0
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
0
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
0
  SCNG(yy_in) = NULL;
750
0
  SCNG(yy_start) = NULL;
751
752
0
  buf = Z_STRVAL_P(str);
753
0
  size = old_len;
754
755
0
  if (CG(multibyte)) {
756
0
    SCNG(script_org) = (unsigned char*)buf;
757
0
    SCNG(script_org_size) = size;
758
0
    SCNG(script_filtered) = NULL;
759
760
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
761
762
0
    if (SCNG(input_filter)) {
763
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
764
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
765
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
766
0
      }
767
0
      buf = (char*)SCNG(script_filtered);
768
0
      size = SCNG(script_filtered_size);
769
0
    }
770
0
  }
771
772
0
  yy_scan_buffer(buf, size);
773
0
  zend_set_compiled_filename(filename);
774
0
  CG(zend_lineno) = 1;
775
0
  CG(increment_lineno) = 0;
776
0
  SCNG(on_event) = NULL;
777
0
  SCNG(on_event_context) = NULL;
778
0
  RESET_DOC_COMMENT();
779
0
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
15
{
784
15
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
15
  if (SCNG(input_filter)) {
786
0
    size_t original_offset = offset, length = 0;
787
0
    do {
788
0
      unsigned char *p = NULL;
789
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
790
0
        return (size_t)-1;
791
0
      }
792
0
      efree(p);
793
0
      if (length > original_offset) {
794
0
        offset--;
795
0
      } else if (length < original_offset) {
796
0
        offset++;
797
0
      }
798
0
    } while (original_offset != length);
799
0
  }
800
15
  return offset;
801
15
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
0
{
805
0
  zend_lex_state original_lex_state;
806
0
  zend_op_array *op_array = NULL;
807
0
  zval tmp;
808
0
  zend_string *filename_str;
809
810
0
  if (ZSTR_LEN(source_string) == 0) {
811
0
    return NULL;
812
0
  }
813
814
0
  ZVAL_STR_COPY(&tmp, source_string);
815
816
0
  zend_save_lexical_state(&original_lex_state);
817
0
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
0
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
0
  zend_string_release(filename_str);
820
821
0
  switch (position) {
822
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
823
0
      BEGIN(SHEBANG);
824
0
      break;
825
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
826
0
      BEGIN(INITIAL);
827
0
      break;
828
0
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
0
      BEGIN(ST_IN_SCRIPTING);
830
0
      break;
831
0
  }
832
833
0
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
0
  zend_restore_lexical_state(&original_lex_state);
836
0
  zval_ptr_dtor(&tmp);
837
838
0
  return op_array;
839
0
}
840
841
842
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
843
0
{
844
0
  zend_lex_state original_lex_state;
845
0
  zend_file_handle file_handle;
846
847
0
  zend_stream_init_filename(&file_handle, filename);
848
0
  zend_save_lexical_state(&original_lex_state);
849
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
850
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
851
0
    zend_destroy_file_handle(&file_handle);
852
0
    zend_restore_lexical_state(&original_lex_state);
853
0
    return FAILURE;
854
0
  }
855
0
  zend_highlight(syntax_highlighter_ini);
856
0
  if (SCNG(script_filtered)) {
857
0
    efree(SCNG(script_filtered));
858
0
    SCNG(script_filtered) = NULL;
859
0
  }
860
0
  zend_destroy_file_handle(&file_handle);
861
0
  zend_restore_lexical_state(&original_lex_state);
862
0
  return SUCCESS;
863
0
}
864
865
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
866
0
{
867
0
  zend_lex_state original_lex_state;
868
0
  zval str_zv;
869
0
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
0
  ZVAL_STR_COPY(&str_zv, str);
871
0
  zend_save_lexical_state(&original_lex_state);
872
0
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
0
  zend_string_release(filename_str);
874
0
  BEGIN(INITIAL);
875
0
  zend_highlight(syntax_highlighter_ini);
876
0
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
0
  zend_restore_lexical_state(&original_lex_state);
881
0
  zval_ptr_dtor(&str_zv);
882
0
}
883
884
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
885
0
{
886
0
  size_t length;
887
0
  unsigned char *new_yy_start;
888
889
  /* convert and set */
890
0
  if (!SCNG(input_filter)) {
891
0
    if (SCNG(script_filtered)) {
892
0
      efree(SCNG(script_filtered));
893
0
      SCNG(script_filtered) = NULL;
894
0
    }
895
0
    SCNG(script_filtered_size) = 0;
896
0
    length = SCNG(script_org_size);
897
0
    new_yy_start = SCNG(script_org);
898
0
  } else {
899
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
900
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
901
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
902
0
    }
903
0
    if (SCNG(script_filtered)) {
904
0
      efree(SCNG(script_filtered));
905
0
    }
906
0
    SCNG(script_filtered) = new_yy_start;
907
0
    SCNG(script_filtered_size) = length;
908
0
  }
909
910
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
911
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
912
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
913
0
  SCNG(yy_limit) = new_yy_start + length;
914
915
0
  SCNG(yy_start) = new_yy_start;
916
0
}
917
918
919
// TODO: avoid reallocation ???
920
# define zend_copy_value(zendlval, yytext, yyleng) \
921
1.88M
  if (SCNG(output_filter)) { \
922
0
    size_t sz = 0; \
923
0
    char *s = NULL; \
924
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
925
0
    ZVAL_STRINGL(zendlval, s, sz); \
926
0
    efree(s); \
927
1.88M
  } else if (yyleng == 1) { \
928
877k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
1.00M
  } else { \
930
1.00M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
1.00M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
161k
{
935
161k
  char *s, *t;
936
161k
  char *end;
937
938
161k
  if (len <= 1) {
939
57.9k
    if (len < 1) {
940
9.49k
      ZVAL_EMPTY_STRING(zendlval);
941
48.4k
    } else {
942
48.4k
      zend_uchar c = (zend_uchar)*str;
943
48.4k
      HANDLE_NEWLINE(c);
944
48.4k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
48.4k
    }
946
57.9k
    goto skip_escape_conversion;
947
57.9k
  }
948
949
103k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
103k
  s = Z_STRVAL_P(zendlval);
953
103k
  end = s+Z_STRLEN_P(zendlval);
954
935k
  while (1) {
955
935k
    if (UNEXPECTED(*s=='\\')) {
956
15.0k
      break;
957
15.0k
    }
958
920k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
53.9k
      CG(zend_lineno)++;
960
53.9k
    }
961
920k
    s++;
962
920k
    if (s == end) {
963
88.8k
      goto skip_escape_conversion;
964
88.8k
    }
965
920k
  }
966
967
15.0k
  t = s;
968
142k
  while (s<end) {
969
129k
    if (*s=='\\') {
970
29.8k
      s++;
971
29.8k
      if (s >= end) {
972
858
        *t++ = '\\';
973
858
        break;
974
858
      }
975
976
28.9k
      switch(*s) {
977
2.43k
        case 'n':
978
2.43k
          *t++ = '\n';
979
2.43k
          break;
980
631
        case 'r':
981
631
          *t++ = '\r';
982
631
          break;
983
233
        case 't':
984
233
          *t++ = '\t';
985
233
          break;
986
438
        case 'f':
987
438
          *t++ = '\f';
988
438
          break;
989
392
        case 'v':
990
392
          *t++ = '\v';
991
392
          break;
992
427
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
427
          *t++ = '\e';
997
427
#endif
998
427
          break;
999
856
        case '"':
1000
1.34k
        case '`':
1001
1.34k
          if (*s != quote_type) {
1002
513
            *t++ = '\\';
1003
513
            *t++ = *s;
1004
513
            break;
1005
513
          }
1006
827
          ZEND_FALLTHROUGH;
1007
4.17k
        case '\\':
1008
4.75k
        case '$':
1009
4.75k
          *t++ = *s;
1010
4.75k
          break;
1011
3.53k
        case 'x':
1012
3.81k
        case 'X':
1013
3.81k
          if (ZEND_IS_HEX(*(s+1))) {
1014
2.27k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
2.27k
            hex_buf[0] = *(++s);
1017
2.27k
            if (ZEND_IS_HEX(*(s+1))) {
1018
1.10k
              hex_buf[1] = *(++s);
1019
1.10k
            }
1020
2.27k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
2.27k
          } else {
1022
1.54k
            *t++ = '\\';
1023
1.54k
            *t++ = *s;
1024
1.54k
          }
1025
3.81k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
2.82k
        case 'u':
1028
2.82k
          {
1029
            /* cache where we started so we can parse after validating */
1030
2.82k
            char *start = s + 1;
1031
2.82k
            size_t len = 0;
1032
2.82k
            bool valid = 1;
1033
2.82k
            unsigned long codepoint;
1034
1035
2.82k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
378
              *t++ = '\\';
1040
378
              *t++ = 'u';
1041
378
              break;
1042
2.45k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
2.45k
              s++;
1045
2.45k
              len++;
1046
2.45k
              s++;
1047
9.50k
              while (*s != '}') {
1048
7.91k
                if (!ZEND_IS_HEX(*s)) {
1049
861
                  valid = 0;
1050
861
                  break;
1051
7.05k
                } else {
1052
7.05k
                  len++;
1053
7.05k
                }
1054
7.05k
                s++;
1055
7.05k
              }
1056
2.45k
              if (*s == '}') {
1057
1.59k
                valid = 1;
1058
1.59k
                len++;
1059
1.59k
              }
1060
2.45k
            }
1061
1062
            /* \u{} is invalid */
1063
2.45k
            if (len <= 2) {
1064
825
              valid = 0;
1065
825
            }
1066
1067
2.45k
            if (!valid) {
1068
1.05k
              zend_throw_exception(zend_ce_parse_error,
1069
1.05k
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
1.05k
              zval_ptr_dtor(zendlval);
1071
1.05k
              ZVAL_UNDEF(zendlval);
1072
1.05k
              return FAILURE;
1073
1.05k
            }
1074
1075
2.45k
            errno = 0;
1076
1.39k
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
1.39k
            if (codepoint > 0x10FFFF || errno) {
1080
242
              zend_throw_exception(zend_ce_parse_error,
1081
242
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
242
              zval_ptr_dtor(zendlval);
1083
242
              ZVAL_UNDEF(zendlval);
1084
242
              return FAILURE;
1085
242
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
1.15k
            if (codepoint < 0x80) {
1089
205
              *t++ = codepoint;
1090
948
            } else if (codepoint <= 0x7FF) {
1091
204
              *t++ = (codepoint >> 6) + 0xC0;
1092
204
              *t++ = (codepoint & 0x3F) + 0x80;
1093
744
            } else if (codepoint <= 0xFFFF) {
1094
526
              *t++ = (codepoint >> 12) + 0xE0;
1095
526
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
526
              *t++ = (codepoint & 0x3F) + 0x80;
1097
526
            } else if (codepoint <= 0x10FFFF) {
1098
218
              *t++ = (codepoint >> 18) + 0xF0;
1099
218
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
218
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
218
              *t++ = (codepoint & 0x3F) + 0x80;
1102
218
            }
1103
1.15k
          }
1104
0
          break;
1105
12.5k
        default:
1106
          /* check for an octal */
1107
12.5k
          if (ZEND_IS_OCT(*s)) {
1108
3.18k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
3.18k
            octal_buf[0] = *s;
1111
3.18k
            if (ZEND_IS_OCT(*(s+1))) {
1112
2.22k
              octal_buf[1] = *(++s);
1113
2.22k
              if (ZEND_IS_OCT(*(s+1))) {
1114
1.60k
                octal_buf[2] = *(++s);
1115
1.60k
              }
1116
2.22k
            }
1117
3.18k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
271
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
271
            }
1121
1122
3.18k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
9.32k
          } else {
1124
9.32k
            *t++ = '\\';
1125
9.32k
            *t++ = *s;
1126
9.32k
          }
1127
12.5k
          break;
1128
28.9k
      }
1129
99.8k
    } else {
1130
99.8k
      *t++ = *s;
1131
99.8k
    }
1132
1133
127k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
8.37k
      CG(zend_lineno)++;
1135
8.37k
    }
1136
127k
    s++;
1137
127k
  }
1138
13.7k
  *t = 0;
1139
13.7k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
160k
skip_escape_conversion:
1142
160k
  if (SCNG(output_filter)) {
1143
0
    size_t sz = 0;
1144
0
    unsigned char *str;
1145
    // TODO: avoid realocation ???
1146
0
    s = Z_STRVAL_P(zendlval);
1147
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1148
0
    zval_ptr_dtor(zendlval);
1149
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1150
0
    efree(str);
1151
0
  }
1152
160k
  return SUCCESS;
1153
13.7k
}
1154
1155
21.9k
#define HEREDOC_USING_SPACES 1
1156
47.9k
#define HEREDOC_USING_TABS 2
1157
1158
52.7k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
221k
  for (; str < end; str++) {
1160
191k
    if (*str == '\r') {
1161
2.25k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
2.25k
      return str;
1163
188k
    } else if (*str == '\n') {
1164
20.1k
      *newline_len = 1;
1165
20.1k
      return str;
1166
20.1k
    }
1167
191k
  }
1168
30.4k
  *newline_len = 0;
1169
30.4k
  return NULL;
1170
52.7k
}
1171
1172
static bool strip_multiline_string_indentation(
1173
  zval *zendlval, int indentation, bool using_spaces,
1174
  bool newline_at_start, bool newline_at_end)
1175
29.4k
{
1176
29.4k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
29.4k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
29.4k
  uint32_t newline_count = 0;
1180
29.4k
  size_t newline_len;
1181
29.4k
  const char *nl;
1182
1183
29.4k
  if (!newline_at_start) {
1184
7.93k
    nl = next_newline(str, end, &newline_len);
1185
7.93k
    if (!nl) {
1186
3.74k
      return 1;
1187
3.74k
    }
1188
1189
4.19k
    str = nl + newline_len;
1190
4.19k
    copy = (char *) nl + newline_len;
1191
4.19k
    newline_count++;
1192
21.5k
  } else {
1193
21.5k
    nl = str;
1194
21.5k
  }
1195
1196
  /* <= intentional */
1197
55.8k
  while (str <= end && nl) {
1198
44.8k
    size_t skip;
1199
44.8k
    nl = next_newline(str, end, &newline_len);
1200
44.8k
    if (!nl && newline_at_end) {
1201
2.24k
      nl = end;
1202
2.24k
    }
1203
1204
    /* Try to skip indentation */
1205
45.7k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
998
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
89
        break;
1209
89
      }
1210
1211
909
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
9
        CG(zend_lineno) += newline_count;
1213
9
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
9
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
9
        goto error;
1216
9
      }
1217
1218
900
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
2
        CG(zend_lineno) += newline_count;
1220
2
        zend_throw_exception(zend_ce_parse_error,
1221
2
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
2
        goto error;
1223
2
      }
1224
900
    }
1225
1226
44.8k
    if (str == end) {
1227
14.6k
      break;
1228
14.6k
    }
1229
1230
30.1k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
30.1k
    memmove(copy, str, len);
1232
30.1k
    str += len;
1233
30.1k
    copy += len;
1234
30.1k
    newline_count++;
1235
30.1k
  }
1236
1237
25.7k
  *copy = '\0';
1238
25.7k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
25.7k
  return 1;
1240
1241
11
error:
1242
11
  zval_ptr_dtor_str(zendlval);
1243
11
  ZVAL_UNDEF(zendlval);
1244
1245
11
  return 0;
1246
25.7k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
1.84M
{
1250
1.84M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
1.84M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
1.84M
  *new_heredoc_label = *heredoc_label;
1254
1.84M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
1.84M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
1.84M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
92.7k
{
1262
92.7k
  char   buf[256];
1263
92.7k
  size_t used = 0;
1264
1265
92.7k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
92.7k
  if (opening_lineno != CG(zend_lineno)) {
1268
43.2k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
43.2k
  }
1270
1271
92.7k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
3.69k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
3.69k
  }
1274
1275
92.7k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
92.7k
}
1277
1278
static void enter_nesting(char opening)
1279
3.28M
{
1280
3.28M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
3.28M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
3.28M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
484k
{
1286
484k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
88
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
88
    return FAILURE;
1289
88
  }
1290
1291
484k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
484k
  char opening = nest_loc->text;
1293
1294
484k
  if ((opening == '{' && closing != '}') ||
1295
481k
      (opening == '[' && closing != ']') ||
1296
480k
      (opening == '(' && closing != ')')) {
1297
3.69k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
3.69k
    return FAILURE;
1299
3.69k
  }
1300
1301
480k
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
480k
  return SUCCESS;
1303
484k
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
118k
{
1307
118k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
89.0k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
89.0k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
89.0k
    return FAILURE;
1311
89.0k
  }
1312
1313
29.6k
  return SUCCESS;
1314
118k
}
1315
1316
#define PARSER_MODE() \
1317
5.32M
  EXPECTED(elem != NULL)
1318
1319
9.86M
#define RETURN_TOKEN(_token) do { \
1320
9.86M
    token = _token; \
1321
9.86M
    goto emit_token; \
1322
9.86M
  } while (0)
1323
1324
1.14M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
1.14M
    token = _token; \
1326
1.14M
    goto emit_token_with_val; \
1327
1.14M
  } while (0)
1328
1329
1.88M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
1.88M
    token = _token; \
1331
1.88M
    offset = _offset; \
1332
1.88M
    goto emit_token_with_str; \
1333
1.88M
  } while (0)
1334
1335
418k
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
418k
    token = _token; \
1337
418k
    goto emit_token_with_ident; \
1338
418k
  } while (0)
1339
1340
385k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
385k
    token = _token; \
1342
385k
    if (PARSER_MODE()) { \
1343
121k
      goto skip_token; \
1344
121k
    } \
1345
385k
    goto emit_token; \
1346
385k
  } while (0)
1347
1348
484k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
484k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
176
      RETURN_TOKEN(T_ERROR); \
1351
484k
    } else { \
1352
484k
      RETURN_TOKEN(_token); \
1353
484k
    } \
1354
484k
  } while(0)
1355
1356
118k
#define RETURN_END_TOKEN do { \
1357
118k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
4.11k
      RETURN_TOKEN(T_ERROR); \
1359
114k
    } else { \
1360
114k
      RETURN_TOKEN(END); \
1361
114k
    } \
1362
118k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
14.2M
{
1366
14.2M
int token;
1367
14.2M
int offset;
1368
14.2M
uint32_t start_line = CG(zend_lineno);
1369
1370
14.2M
  ZVAL_UNDEF(zendlval);
1371
17.2M
restart:
1372
17.2M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
17.2M
#line 1376 "Zend/zend_language_scanner.c"
1376
17.2M
{
1377
17.2M
  YYCTYPE yych;
1378
17.2M
  unsigned int yyaccept = 0;
1379
17.2M
  if (YYGETCONDITION() < 5) {
1380
14.5M
    if (YYGETCONDITION() < 2) {
1381
11.3M
      if (YYGETCONDITION() < 1) {
1382
11.2M
        goto yyc_ST_IN_SCRIPTING;
1383
11.2M
      } else {
1384
62.8k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
62.8k
      }
1386
11.3M
    } else {
1387
3.20M
      if (YYGETCONDITION() < 3) {
1388
64.4k
        goto yyc_ST_BACKQUOTE;
1389
3.14M
      } else {
1390
3.14M
        if (YYGETCONDITION() < 4) {
1391
133k
          goto yyc_ST_DOUBLE_QUOTES;
1392
3.00M
        } else {
1393
3.00M
          goto yyc_ST_HEREDOC;
1394
3.00M
        }
1395
3.14M
      }
1396
3.20M
    }
1397
14.5M
  } else {
1398
2.69M
    if (YYGETCONDITION() < 8) {
1399
2.48M
      if (YYGETCONDITION() < 6) {
1400
2.34M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
2.34M
      } else {
1402
134k
        if (YYGETCONDITION() < 7) {
1403
134k
          goto yyc_ST_VAR_OFFSET;
1404
134k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
134k
      }
1408
2.48M
    } else {
1409
208k
      if (YYGETCONDITION() < 9) {
1410
196k
        goto yyc_INITIAL;
1411
196k
      } else {
1412
12.4k
        if (YYGETCONDITION() < 10) {
1413
8.23k
          goto yyc_ST_END_HEREDOC;
1414
8.23k
        } else {
1415
4.19k
          goto yyc_ST_NOWDOC;
1416
4.19k
        }
1417
12.4k
      }
1418
208k
    }
1419
2.69M
  }
1420
/* *********************************** */
1421
11.2M
yyc_ST_IN_SCRIPTING:
1422
11.2M
  {
1423
11.2M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
11.2M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
11.2M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
11.2M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
11.2M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
11.2M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
11.2M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
11.2M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
11.2M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
11.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
11.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
11.2M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
11.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
11.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
11.2M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
11.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
11.2M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
11.2M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
11.2M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
11.2M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
11.2M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
11.2M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
11.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
11.2M
    };
1491
11.2M
    YYDEBUG(1, *YYCURSOR);
1492
11.2M
    YYFILL(16);
1493
11.2M
    yych = *YYCURSOR;
1494
11.2M
    if (yybm[256+yych] & 32) {
1495
1.14M
      goto yy5;
1496
1.14M
    }
1497
10.0M
    switch (yych) {
1498
522k
    case 0x00:
1499
540k
    case 0x01:
1500
551k
    case 0x02:
1501
558k
    case 0x03:
1502
581k
    case 0x04:
1503
586k
    case 0x05:
1504
592k
    case 0x06:
1505
596k
    case 0x07:
1506
607k
    case 0x08:
1507
607k
    case '\t':
1508
607k
    case '\n':
1509
621k
    case '\v':
1510
636k
    case '\f':
1511
636k
    case '\r':
1512
641k
    case 0x0E:
1513
645k
    case 0x0F:
1514
650k
    case 0x10:
1515
654k
    case 0x11:
1516
664k
    case 0x12:
1517
669k
    case 0x13:
1518
671k
    case 0x14:
1519
675k
    case 0x15:
1520
683k
    case 0x16:
1521
688k
    case 0x17:
1522
692k
    case 0x18:
1523
695k
    case 0x19:
1524
701k
    case 0x1A:
1525
706k
    case 0x1B:
1526
710k
    case 0x1C:
1527
712k
    case 0x1D:
1528
716k
    case 0x1E:
1529
722k
    case 0x1F:
1530
725k
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
54.2k
    case '!': goto yy8;
1533
70.5k
    case '"': goto yy10;
1534
244k
    case '#': goto yy12;
1535
479k
    case '$': goto yy14;
1536
19.1k
    case '%': goto yy15;
1537
88.4k
    case '&': goto yy16;
1538
48.0k
    case '\'':  goto yy18;
1539
312k
    case '(': goto yy20;
1540
222k
    case ')':
1541
394k
    case ']': goto yy22;
1542
63.3k
    case '*': goto yy24;
1543
42.8k
    case '+': goto yy25;
1544
269k
    case ',':
1545
476k
    case ';':
1546
1.03M
    case '@':
1547
1.04M
    case '~': goto yy26;
1548
105k
    case '-': goto yy27;
1549
83.5k
    case '.': goto yy28;
1550
71.1k
    case '/': goto yy29;
1551
83.0k
    case '0': goto yy30;
1552
69.7k
    case '1':
1553
115k
    case '2':
1554
143k
    case '3':
1555
168k
    case '4':
1556
193k
    case '5':
1557
211k
    case '6':
1558
222k
    case '7':
1559
238k
    case '8':
1560
256k
    case '9': goto yy32;
1561
89.7k
    case ':': goto yy34;
1562
2.75M
    case '<': goto yy35;
1563
92.5k
    case '=': goto yy36;
1564
35.4k
    case '>': goto yy37;
1565
210k
    case '?': goto yy38;
1566
29.4k
    case 'A':
1567
103k
    case 'a': goto yy39;
1568
13.4k
    case 'B':
1569
39.9k
    case 'b': goto yy41;
1570
26.0k
    case 'C':
1571
105k
    case 'c': goto yy42;
1572
6.33k
    case 'D':
1573
46.2k
    case 'd': goto yy43;
1574
16.8k
    case 'E':
1575
232k
    case 'e': goto yy44;
1576
24.7k
    case 'F':
1577
181k
    case 'f': goto yy45;
1578
4.79k
    case 'G':
1579
30.2k
    case 'g': goto yy46;
1580
11.5k
    case 'I':
1581
92.3k
    case 'i': goto yy49;
1582
5.58k
    case 'L':
1583
27.8k
    case 'l': goto yy50;
1584
5.75k
    case 'M':
1585
26.0k
    case 'm': goto yy51;
1586
9.14k
    case 'N':
1587
70.5k
    case 'n': goto yy52;
1588
5.82k
    case 'O':
1589
31.1k
    case 'o': goto yy53;
1590
8.95k
    case 'P':
1591
70.7k
    case 'p': goto yy54;
1592
5.38k
    case 'R':
1593
53.1k
    case 'r': goto yy55;
1594
7.93k
    case 'S':
1595
57.7k
    case 's': goto yy56;
1596
8.32k
    case 'T':
1597
53.3k
    case 't': goto yy57;
1598
4.04k
    case 'U':
1599
29.9k
    case 'u': goto yy58;
1600
1.91k
    case 'V':
1601
18.2k
    case 'v': goto yy59;
1602
4.77k
    case 'W':
1603
11.7k
    case 'w': goto yy60;
1604
6.76k
    case 'X':
1605
11.9k
    case 'x': goto yy61;
1606
3.08k
    case 'Y':
1607
72.2k
    case 'y': goto yy62;
1608
191k
    case '[': goto yy63;
1609
82.4k
    case '\\':  goto yy64;
1610
12.7k
    case '^': goto yy66;
1611
89.8k
    case '_': goto yy67;
1612
23.8k
    case '`': goto yy68;
1613
419k
    case '{': goto yy70;
1614
50.3k
    case '|': goto yy72;
1615
89.4k
    case '}': goto yy73;
1616
402k
    default:  goto yy47;
1617
10.0M
    }
1618
725k
yy3:
1619
725k
    YYDEBUG(3, *YYCURSOR);
1620
725k
    ++YYCURSOR;
1621
725k
    YYDEBUG(4, *YYCURSOR);
1622
725k
    yyleng = YYCURSOR - SCNG(yy_text);
1623
725k
#line 3179 "Zend/zend_language_scanner.l"
1624
725k
    {
1625
725k
  if (YYCURSOR > YYLIMIT) {
1626
85.2k
    RETURN_END_TOKEN;
1627
85.2k
  }
1628
1629
640k
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
640k
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
1.44M
yy5:
1633
1.44M
    YYDEBUG(5, *YYCURSOR);
1634
1.44M
    ++YYCURSOR;
1635
1.44M
    YYFILL(1);
1636
1.44M
    yych = *YYCURSOR;
1637
1.44M
    YYDEBUG(6, *YYCURSOR);
1638
1.44M
    if (yybm[256+yych] & 32) {
1639
302k
      goto yy5;
1640
302k
    }
1641
1.14M
    YYDEBUG(7, *YYCURSOR);
1642
1.14M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
1.14M
#line 1597 "Zend/zend_language_scanner.l"
1644
1.14M
    {
1645
1.14M
  goto return_whitespace;
1646
1.44M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
54.2k
yy8:
1649
54.2k
    YYDEBUG(8, *YYCURSOR);
1650
54.2k
    yych = *++YYCURSOR;
1651
54.2k
    if (yych == '=') goto yy75;
1652
2.26M
yy9:
1653
2.26M
    YYDEBUG(9, *YYCURSOR);
1654
2.26M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
2.26M
#line 1969 "Zend/zend_language_scanner.l"
1656
2.26M
    {
1657
2.26M
  RETURN_TOKEN(yytext[0]);
1658
2.26M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
71.0k
yy10:
1661
71.0k
    YYDEBUG(10, *YYCURSOR);
1662
71.0k
    ++YYCURSOR;
1663
71.0k
    YYDEBUG(11, *YYCURSOR);
1664
71.0k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
71.0k
#line 2632 "Zend/zend_language_scanner.l"
1666
71.0k
    {
1667
71.0k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
548k
  while (YYCURSOR < YYLIMIT) {
1670
544k
    switch (*YYCURSOR++) {
1671
46.8k
      case '"':
1672
46.8k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
46.8k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
46.8k
         || !PARSER_MODE()) {
1675
46.8k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
46.8k
        } else {
1677
5
          RETURN_TOKEN(T_ERROR);
1678
5
        }
1679
24.6k
      case '$':
1680
24.6k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
19.8k
          break;
1682
19.8k
        }
1683
4.86k
        continue;
1684
5.50k
      case '{':
1685
5.50k
        if (*YYCURSOR == '$') {
1686
562
          break;
1687
562
        }
1688
4.94k
        continue;
1689
20.7k
      case '\\':
1690
20.7k
        if (YYCURSOR < YYLIMIT) {
1691
20.4k
          YYCURSOR++;
1692
20.4k
        }
1693
20.7k
        ZEND_FALLTHROUGH;
1694
467k
      default:
1695
467k
        continue;
1696
544k
    }
1697
1698
20.3k
    YYCURSOR--;
1699
20.3k
    break;
1700
544k
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
71.0k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
24.2k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
24.2k
  BEGIN(ST_DOUBLE_QUOTES);
1708
24.2k
  RETURN_TOKEN('"');
1709
24.2k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
244k
yy12:
1712
244k
    YYDEBUG(12, *YYCURSOR);
1713
244k
    yych = *++YYCURSOR;
1714
244k
    if (yych == '[') goto yy77;
1715
232k
yy13:
1716
232k
    YYDEBUG(13, *YYCURSOR);
1717
232k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
232k
#line 2460 "Zend/zend_language_scanner.l"
1719
232k
    {
1720
493k
  while (YYCURSOR < YYLIMIT) {
1721
490k
    switch (*YYCURSOR++) {
1722
93.8k
      case '\r':
1723
226k
      case '\n':
1724
226k
        YYCURSOR--;
1725
226k
        break;
1726
9.03k
      case '?':
1727
9.03k
        if (*YYCURSOR == '>') {
1728
2.20k
          YYCURSOR--;
1729
2.20k
          break;
1730
2.20k
        }
1731
6.82k
        ZEND_FALLTHROUGH;
1732
261k
      default:
1733
261k
        continue;
1734
490k
    }
1735
1736
228k
    break;
1737
490k
  }
1738
1739
232k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
232k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
232k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
479k
yy14:
1744
479k
    YYDEBUG(14, *YYCURSOR);
1745
479k
    yych = *++YYCURSOR;
1746
479k
    if (yych <= '_') {
1747
145k
      if (yych <= '@') goto yy9;
1748
16.6k
      if (yych <= 'Z') goto yy79;
1749
3.94k
      if (yych <= '^') goto yy9;
1750
1.57k
      goto yy79;
1751
333k
    } else {
1752
333k
      if (yych <= '`') goto yy9;
1753
333k
      if (yych <= 'z') goto yy79;
1754
232k
      if (yych <= 0x7F) goto yy9;
1755
30.8k
      goto yy79;
1756
232k
    }
1757
19.1k
yy15:
1758
19.1k
    YYDEBUG(15, *YYCURSOR);
1759
19.1k
    yych = *++YYCURSOR;
1760
19.1k
    if (yych == '=') goto yy82;
1761
18.3k
    goto yy9;
1762
88.4k
yy16:
1763
88.4k
    YYDEBUG(16, *YYCURSOR);
1764
88.4k
    yyaccept = 0;
1765
88.4k
    yych = *(YYMARKER = ++YYCURSOR);
1766
88.4k
    if (yych <= '"') {
1767
34.5k
      if (yych <= '\f') {
1768
22.9k
        if (yych <= 0x08) goto yy17;
1769
21.7k
        if (yych <= '\n') goto yy85;
1770
21.7k
      } else {
1771
11.5k
        if (yych <= '\r') goto yy85;
1772
7.94k
        if (yych == ' ') goto yy85;
1773
7.94k
      }
1774
53.9k
    } else {
1775
53.9k
      if (yych <= '-') {
1776
18.8k
        if (yych <= '$') goto yy85;
1777
11.0k
        if (yych == '&') goto yy90;
1778
35.0k
      } else {
1779
35.0k
        if (yych <= '/') goto yy85;
1780
32.6k
        if (yych == '=') goto yy94;
1781
32.6k
      }
1782
53.9k
    }
1783
69.8k
yy17:
1784
69.8k
    YYDEBUG(17, *YYCURSOR);
1785
69.8k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
69.8k
#line 1955 "Zend/zend_language_scanner.l"
1787
69.8k
    {
1788
69.8k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
69.8k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
48.3k
yy18:
1792
48.3k
    YYDEBUG(18, *YYCURSOR);
1793
48.3k
    ++YYCURSOR;
1794
48.3k
    YYDEBUG(19, *YYCURSOR);
1795
48.3k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
48.3k
#line 2538 "Zend/zend_language_scanner.l"
1797
48.3k
    {
1798
48.3k
  char *s, *t;
1799
48.3k
  char *end;
1800
48.3k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
458k
  while (1) {
1803
458k
    if (YYCURSOR < YYLIMIT) {
1804
455k
      if (*YYCURSOR == '\'') {
1805
45.7k
        YYCURSOR++;
1806
45.7k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
45.7k
        break;
1809
409k
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
2.15k
        YYCURSOR++;
1811
2.15k
      }
1812
455k
    } else {
1813
2.58k
      yyleng = YYLIMIT - SCNG(yy_text);
1814
1815
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1816
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1817
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1818
2.58k
      ZVAL_NULL(zendlval);
1819
2.58k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
2.58k
    }
1821
458k
  }
1822
1823
45.7k
  if (yyleng-bprefix-2 <= 1) {
1824
26.4k
    if (yyleng-bprefix-2 < 1) {
1825
11.1k
      ZVAL_EMPTY_STRING(zendlval);
1826
15.3k
    } else {
1827
15.3k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
15.3k
      HANDLE_NEWLINE(c);
1829
15.3k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
15.3k
    }
1831
26.4k
    goto skip_escape_conversion;
1832
26.4k
  }
1833
19.2k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
19.2k
  s = Z_STRVAL_P(zendlval);
1837
19.2k
  end = s+Z_STRLEN_P(zendlval);
1838
251k
  while (1) {
1839
251k
    if (UNEXPECTED(*s=='\\')) {
1840
988
      break;
1841
988
    }
1842
250k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
12.1k
      CG(zend_lineno)++;
1844
12.1k
    }
1845
250k
    s++;
1846
250k
    if (s == end) {
1847
18.2k
      goto skip_escape_conversion;
1848
18.2k
    }
1849
250k
  }
1850
1851
988
  t = s;
1852
31.7k
  while (s<end) {
1853
30.7k
    if (*s=='\\') {
1854
1.94k
      s++;
1855
1.94k
      if (*s == '\\' || *s == '\'') {
1856
1.22k
        *t++ = *s;
1857
1.22k
      } else {
1858
722
        *t++ = '\\';
1859
722
        *t++ = *s;
1860
722
      }
1861
28.8k
    } else {
1862
28.8k
      *t++ = *s;
1863
28.8k
    }
1864
30.7k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
2.00k
      CG(zend_lineno)++;
1866
2.00k
    }
1867
30.7k
    s++;
1868
30.7k
  }
1869
988
  *t = 0;
1870
988
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
45.7k
skip_escape_conversion:
1873
45.7k
  if (SCNG(output_filter)) {
1874
0
    size_t sz = 0;
1875
0
    char *str = NULL;
1876
0
    zend_string *new_str;
1877
0
    s = Z_STRVAL_P(zendlval);
1878
    // TODO: avoid reallocation ???
1879
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1880
0
    new_str = zend_string_init(str, sz, 0);
1881
0
    if (str != s) {
1882
0
      efree(str);
1883
0
    }
1884
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1885
0
    ZVAL_STR(zendlval, new_str);
1886
0
  }
1887
45.7k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
45.7k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
312k
yy20:
1891
312k
    YYDEBUG(20, *YYCURSOR);
1892
312k
    yyaccept = 1;
1893
312k
    yych = *(YYMARKER = ++YYCURSOR);
1894
312k
    if (yych <= 'S') {
1895
160k
      if (yych <= 'D') {
1896
150k
        if (yych <= ' ') {
1897
13.5k
          if (yych == '\t') goto yy97;
1898
8.74k
          if (yych >= ' ') goto yy97;
1899
137k
        } else {
1900
137k
          if (yych <= '@') goto yy21;
1901
9.97k
          if (yych != 'C') goto yy97;
1902
9.97k
        }
1903
150k
      } else {
1904
10.1k
        if (yych <= 'I') {
1905
2.90k
          if (yych == 'F') goto yy97;
1906
1.91k
          if (yych >= 'I') goto yy97;
1907
7.21k
        } else {
1908
7.21k
          if (yych == 'O') goto yy97;
1909
6.46k
          if (yych >= 'R') goto yy97;
1910
6.46k
        }
1911
10.1k
      }
1912
160k
    } else {
1913
151k
      if (yych <= 'f') {
1914
65.5k
        if (yych <= 'b') {
1915
47.2k
          if (yych <= 'T') goto yy21;
1916
46.5k
          if (yych <= 'V') goto yy97;
1917
45.3k
          if (yych >= 'a') goto yy97;
1918
45.3k
        } else {
1919
18.3k
          if (yych == 'd') goto yy97;
1920
14.1k
          if (yych >= 'f') goto yy97;
1921
14.1k
        }
1922
85.6k
      } else {
1923
85.6k
        if (yych <= 'o') {
1924
28.7k
          if (yych == 'i') goto yy97;
1925
18.4k
          if (yych >= 'o') goto yy97;
1926
56.8k
        } else {
1927
56.8k
          if (yych <= 's') {
1928
18.0k
            if (yych >= 'r') goto yy97;
1929
38.7k
          } else {
1930
38.7k
            if (yych <= 't') goto yy21;
1931
34.7k
            if (yych <= 'v') goto yy97;
1932
34.7k
          }
1933
56.8k
        }
1934
85.6k
      }
1935
151k
    }
1936
494k
yy21:
1937
494k
    YYDEBUG(21, *YYCURSOR);
1938
494k
    yyleng = YYCURSOR - SCNG(yy_text);
1939
494k
#line 1964 "Zend/zend_language_scanner.l"
1940
494k
    {
1941
494k
  enter_nesting(yytext[0]);
1942
494k
  RETURN_TOKEN(yytext[0]);
1943
494k
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
394k
yy22:
1946
394k
    YYDEBUG(22, *YYCURSOR);
1947
394k
    ++YYCURSOR;
1948
394k
    YYDEBUG(23, *YYCURSOR);
1949
394k
    yyleng = YYCURSOR - SCNG(yy_text);
1950
394k
#line 1959 "Zend/zend_language_scanner.l"
1951
394k
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
394k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
394k
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
63.3k
yy24:
1957
63.3k
    YYDEBUG(24, *YYCURSOR);
1958
63.3k
    yych = *++YYCURSOR;
1959
63.3k
    if (yych == '*') goto yy108;
1960
49.1k
    if (yych == '=') goto yy110;
1961
46.5k
    goto yy9;
1962
46.5k
yy25:
1963
42.8k
    YYDEBUG(25, *YYCURSOR);
1964
42.8k
    yych = *++YYCURSOR;
1965
42.8k
    if (yych == '+') goto yy112;
1966
40.8k
    if (yych == '=') goto yy114;
1967
40.0k
    goto yy9;
1968
1.04M
yy26:
1969
1.04M
    YYDEBUG(26, *YYCURSOR);
1970
1.04M
    ++YYCURSOR;
1971
1.04M
    goto yy9;
1972
105k
yy27:
1973
105k
    YYDEBUG(27, *YYCURSOR);
1974
105k
    yych = *++YYCURSOR;
1975
105k
    if (yych <= '<') {
1976
42.6k
      if (yych == '-') goto yy116;
1977
39.4k
      goto yy9;
1978
63.2k
    } else {
1979
63.2k
      if (yych <= '=') goto yy118;
1980
62.7k
      if (yych <= '>') goto yy120;
1981
33.4k
      goto yy9;
1982
62.7k
    }
1983
83.5k
yy28:
1984
83.5k
    YYDEBUG(28, *YYCURSOR);
1985
83.5k
    yyaccept = 2;
1986
83.5k
    yych = *(YYMARKER = ++YYCURSOR);
1987
83.5k
    if (yych <= '/') {
1988
41.7k
      if (yych == '.') goto yy122;
1989
22.9k
      goto yy9;
1990
41.7k
    } else {
1991
41.7k
      if (yych <= '9') goto yy123;
1992
23.4k
      if (yych == '=') goto yy126;
1993
22.4k
      goto yy9;
1994
23.4k
    }
1995
71.1k
yy29:
1996
71.1k
    YYDEBUG(29, *YYCURSOR);
1997
71.1k
    yych = *++YYCURSOR;
1998
71.1k
    if (yych <= '.') {
1999
40.7k
      if (yych == '*') goto yy128;
2000
11.5k
      goto yy9;
2001
40.7k
    } else {
2002
30.3k
      if (yych <= '/') goto yy130;
2003
26.5k
      if (yych == '=') goto yy131;
2004
25.0k
      goto yy9;
2005
26.5k
    }
2006
83.0k
yy30:
2007
83.0k
    YYDEBUG(30, *YYCURSOR);
2008
83.0k
    yyaccept = 3;
2009
83.0k
    yych = *(YYMARKER = ++YYCURSOR);
2010
83.0k
    if (yych <= 'X') {
2011
45.9k
      if (yych <= 'N') {
2012
43.4k
        if (yych == 'B') goto yy134;
2013
43.0k
        goto yy33;
2014
43.4k
      } else {
2015
2.57k
        if (yych <= 'O') goto yy136;
2016
1.71k
        if (yych <= 'W') goto yy33;
2017
1.39k
        goto yy137;
2018
1.71k
      }
2019
45.9k
    } else {
2020
37.0k
      if (yych <= 'n') {
2021
22.5k
        if (yych == 'b') goto yy134;
2022
21.2k
        goto yy33;
2023
22.5k
      } else {
2024
14.5k
        if (yych <= 'o') goto yy136;
2025
12.8k
        if (yych == 'x') goto yy137;
2026
11.0k
        goto yy33;
2027
12.8k
      }
2028
37.0k
    }
2029
290k
yy31:
2030
290k
    YYDEBUG(31, *YYCURSOR);
2031
290k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
290k
#line 2103 "Zend/zend_language_scanner.l"
2033
290k
    {
2034
290k
  size_t len = yyleng;
2035
290k
  char *end, *lnum = yytext;
2036
290k
  bool is_octal = lnum[0] == '0';
2037
290k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
290k
  if (contains_underscores) {
2040
997
    lnum = estrndup(lnum, len);
2041
997
    strip_underscores(lnum, &len);
2042
997
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
290k
  if (is_octal) {
2046
69.6k
    size_t i;
2047
175k
    for (i = 0; i < len; i++) {
2048
106k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
638
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
638
        if (PARSER_MODE()) {
2051
13
          if (contains_underscores) {
2052
1
            efree(lnum);
2053
1
          }
2054
13
          ZVAL_UNDEF(zendlval);
2055
13
          RETURN_TOKEN(T_ERROR);
2056
13
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
625
        len = i;
2060
625
        break;
2061
638
      }
2062
106k
    }
2063
69.6k
  }
2064
2065
2066
290k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
282k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
282k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
282k
    ZEND_ASSERT(end == lnum + len);
2071
282k
  } else {
2072
8.10k
    errno = 0;
2073
8.10k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
8.10k
    if (errno == ERANGE) { /* Overflow */
2075
6.45k
      errno = 0;
2076
6.45k
      if (is_octal) { /* octal overflow */
2077
234
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
6.21k
      } else {
2079
6.21k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
6.21k
      }
2081
6.45k
      ZEND_ASSERT(end == lnum + len);
2082
6.45k
      if (contains_underscores) {
2083
241
        efree(lnum);
2084
241
      }
2085
6.45k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
6.45k
    }
2087
1.65k
    ZEND_ASSERT(end == lnum + len);
2088
1.65k
  }
2089
284k
  ZEND_ASSERT(!errno);
2090
284k
  if (contains_underscores) {
2091
755
    efree(lnum);
2092
755
  }
2093
284k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
284k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
863k
yy32:
2097
863k
    YYDEBUG(32, *YYCURSOR);
2098
863k
    yyaccept = 3;
2099
863k
    YYMARKER = ++YYCURSOR;
2100
863k
    YYFILL(3);
2101
863k
    yych = *YYCURSOR;
2102
939k
yy33:
2103
939k
    YYDEBUG(33, *YYCURSOR);
2104
939k
    if (yybm[256+yych] & 64) {
2105
605k
      goto yy32;
2106
605k
    }
2107
333k
    if (yych <= 'E') {
2108
219k
      if (yych == '.') goto yy133;
2109
194k
      if (yych <= 'D') goto yy31;
2110
9.13k
      goto yy135;
2111
194k
    } else {
2112
114k
      if (yych <= '_') {
2113
53.7k
        if (yych <= '^') goto yy31;
2114
4.46k
        goto yy138;
2115
60.9k
      } else {
2116
60.9k
        if (yych == 'e') goto yy135;
2117
48.3k
        goto yy31;
2118
60.9k
      }
2119
114k
    }
2120
89.7k
yy34:
2121
89.7k
    YYDEBUG(34, *YYCURSOR);
2122
89.7k
    yych = *++YYCURSOR;
2123
89.7k
    if (yych == ':') goto yy139;
2124
39.3k
    goto yy9;
2125
2.75M
yy35:
2126
2.75M
    YYDEBUG(35, *YYCURSOR);
2127
2.75M
    yych = *++YYCURSOR;
2128
2.75M
    if (yych <= ';') goto yy9;
2129
2.66M
    if (yych <= '<') goto yy141;
2130
228k
    if (yych <= '=') goto yy143;
2131
222k
    if (yych <= '>') goto yy145;
2132
220k
    goto yy9;
2133
220k
yy36:
2134
92.5k
    YYDEBUG(36, *YYCURSOR);
2135
92.5k
    yych = *++YYCURSOR;
2136
92.5k
    if (yych <= '<') goto yy9;
2137
64.0k
    if (yych <= '=') goto yy146;
2138
49.0k
    if (yych <= '>') goto yy148;
2139
12.8k
    goto yy9;
2140
35.4k
yy37:
2141
35.4k
    YYDEBUG(37, *YYCURSOR);
2142
35.4k
    yych = *++YYCURSOR;
2143
35.4k
    if (yych <= '<') goto yy9;
2144
20.6k
    if (yych <= '=') goto yy150;
2145
17.2k
    if (yych <= '>') goto yy152;
2146
10.5k
    goto yy9;
2147
210k
yy38:
2148
210k
    YYDEBUG(38, *YYCURSOR);
2149
210k
    yyaccept = 2;
2150
210k
    yych = *(YYMARKER = ++YYCURSOR);
2151
210k
    if (yych <= '=') {
2152
63.6k
      if (yych == '-') goto yy154;
2153
55.0k
      goto yy9;
2154
146k
    } else {
2155
146k
      if (yych <= '>') goto yy155;
2156
65.6k
      if (yych <= '?') goto yy157;
2157
41.9k
      goto yy9;
2158
65.6k
    }
2159
103k
yy39:
2160
103k
    YYDEBUG(39, *YYCURSOR);
2161
103k
    yyaccept = 4;
2162
103k
    yych = *(YYMARKER = ++YYCURSOR);
2163
103k
    if (yych <= 'S') {
2164
36.3k
      if (yych <= 'M') {
2165
29.3k
        if (yych == 'B') goto yy159;
2166
28.8k
        goto yy48;
2167
29.3k
      } else {
2168
7.01k
        if (yych <= 'N') goto yy160;
2169
6.45k
        if (yych <= 'Q') goto yy48;
2170
6.15k
        if (yych <= 'R') goto yy161;
2171
5.39k
        goto yy162;
2172
6.15k
      }
2173
66.8k
    } else {
2174
66.8k
      if (yych <= 'n') {
2175
19.6k
        if (yych == 'b') goto yy159;
2176
14.1k
        if (yych <= 'm') goto yy48;
2177
4.29k
        goto yy160;
2178
47.1k
      } else {
2179
47.1k
        if (yych <= 'q') goto yy48;
2180
46.6k
        if (yych <= 'r') goto yy161;
2181
37.0k
        if (yych <= 's') goto yy162;
2182
6.33k
        goto yy48;
2183
37.0k
      }
2184
66.8k
    }
2185
1.42M
yy40:
2186
1.42M
    YYDEBUG(40, *YYCURSOR);
2187
1.42M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
1.42M
#line 2455 "Zend/zend_language_scanner.l"
2189
1.42M
    {
2190
1.42M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
1.42M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
39.9k
yy41:
2194
39.9k
    YYDEBUG(41, *YYCURSOR);
2195
39.9k
    yyaccept = 4;
2196
39.9k
    yych = *(YYMARKER = ++YYCURSOR);
2197
39.9k
    if (yych <= ';') {
2198
12.0k
      if (yych <= '"') {
2199
5.79k
        if (yych <= '!') goto yy48;
2200
513
        goto yy10;
2201
6.22k
      } else {
2202
6.22k
        if (yych == '\'') goto yy18;
2203
5.96k
        goto yy48;
2204
6.22k
      }
2205
27.9k
    } else {
2206
27.9k
      if (yych <= 'R') {
2207
5.62k
        if (yych <= '<') goto yy165;
2208
3.32k
        if (yych <= 'Q') goto yy48;
2209
246
        goto yy166;
2210
22.2k
      } else {
2211
22.2k
        if (yych == 'r') goto yy166;
2212
15.4k
        goto yy48;
2213
22.2k
      }
2214
27.9k
    }
2215
105k
yy42:
2216
105k
    YYDEBUG(42, *YYCURSOR);
2217
105k
    yyaccept = 4;
2218
105k
    yych = *(YYMARKER = ++YYCURSOR);
2219
105k
    if (yych <= 'O') {
2220
26.8k
      if (yych <= 'K') {
2221
21.6k
        if (yych == 'A') goto yy167;
2222
20.7k
        goto yy48;
2223
21.6k
      } else {
2224
5.16k
        if (yych <= 'L') goto yy168;
2225
4.01k
        if (yych <= 'N') goto yy48;
2226
3.65k
        goto yy169;
2227
4.01k
      }
2228
78.8k
    } else {
2229
78.8k
      if (yych <= 'k') {
2230
26.0k
        if (yych == 'a') goto yy167;
2231
5.38k
        goto yy48;
2232
52.7k
      } else {
2233
52.7k
        if (yych <= 'l') goto yy168;
2234
22.1k
        if (yych == 'o') goto yy169;
2235
10.6k
        goto yy48;
2236
22.1k
      }
2237
78.8k
    }
2238
46.2k
yy43:
2239
46.2k
    YYDEBUG(43, *YYCURSOR);
2240
46.2k
    yyaccept = 4;
2241
46.2k
    yych = *(YYMARKER = ++YYCURSOR);
2242
46.2k
    if (yych <= 'O') {
2243
12.8k
      if (yych <= 'H') {
2244
11.0k
        if (yych == 'E') goto yy170;
2245
9.23k
        goto yy48;
2246
11.0k
      } else {
2247
1.78k
        if (yych <= 'I') goto yy171;
2248
1.39k
        if (yych <= 'N') goto yy48;
2249
1.06k
        goto yy172;
2250
1.39k
      }
2251
33.4k
    } else {
2252
33.4k
      if (yych <= 'h') {
2253
18.1k
        if (yych == 'e') goto yy170;
2254
4.17k
        goto yy48;
2255
18.1k
      } else {
2256
15.2k
        if (yych <= 'i') goto yy171;
2257
8.88k
        if (yych == 'o') goto yy172;
2258
4.06k
        goto yy48;
2259
8.88k
      }
2260
33.4k
    }
2261
232k
yy44:
2262
232k
    YYDEBUG(44, *YYCURSOR);
2263
232k
    yyaccept = 4;
2264
232k
    yych = *(YYMARKER = ++YYCURSOR);
2265
232k
    switch (yych) {
2266
439
    case 'C':
2267
6.48k
    case 'c': goto yy174;
2268
685
    case 'L':
2269
13.6k
    case 'l': goto yy175;
2270
684
    case 'M':
2271
4.83k
    case 'm': goto yy176;
2272
50.8k
    case 'N':
2273
123k
    case 'n': goto yy177;
2274
362
    case 'V':
2275
4.72k
    case 'v': goto yy178;
2276
1.17k
    case 'X':
2277
20.6k
    case 'x': goto yy179;
2278
58.6k
    default:  goto yy48;
2279
232k
    }
2280
181k
yy45:
2281
181k
    YYDEBUG(45, *YYCURSOR);
2282
181k
    yyaccept = 4;
2283
181k
    yych = *(YYMARKER = ++YYCURSOR);
2284
181k
    if (yych <= 'U') {
2285
74.8k
      if (yych <= 'M') {
2286
64.6k
        if (yych == 'I') goto yy180;
2287
63.8k
        goto yy48;
2288
64.6k
      } else {
2289
10.2k
        if (yych <= 'N') goto yy181;
2290
9.68k
        if (yych <= 'O') goto yy183;
2291
8.62k
        if (yych <= 'T') goto yy48;
2292
394
        goto yy184;
2293
8.62k
      }
2294
106k
    } else {
2295
106k
      if (yych <= 'n') {
2296
45.2k
        if (yych == 'i') goto yy180;
2297
32.7k
        if (yych <= 'm') goto yy48;
2298
20.5k
        goto yy181;
2299
61.1k
      } else {
2300
61.1k
        if (yych <= 'o') goto yy183;
2301
41.6k
        if (yych == 'u') goto yy184;
2302
12.2k
        goto yy48;
2303
41.6k
      }
2304
106k
    }
2305
30.2k
yy46:
2306
30.2k
    YYDEBUG(46, *YYCURSOR);
2307
30.2k
    yyaccept = 4;
2308
30.2k
    yych = *(YYMARKER = ++YYCURSOR);
2309
30.2k
    if (yych <= 'O') {
2310
15.5k
      if (yych == 'L') goto yy185;
2311
13.8k
      if (yych <= 'N') goto yy48;
2312
228
      goto yy186;
2313
14.7k
    } else {
2314
14.7k
      if (yych <= 'l') {
2315
8.95k
        if (yych <= 'k') goto yy48;
2316
3.04k
        goto yy185;
2317
8.95k
      } else {
2318
5.82k
        if (yych == 'o') goto yy186;
2319
2.66k
        goto yy48;
2320
5.82k
      }
2321
14.7k
    }
2322
4.09M
yy47:
2323
4.09M
    YYDEBUG(47, *YYCURSOR);
2324
4.09M
    yyaccept = 4;
2325
4.09M
    YYMARKER = ++YYCURSOR;
2326
4.09M
    YYFILL(1);
2327
4.09M
    yych = *YYCURSOR;
2328
5.02M
yy48:
2329
5.02M
    YYDEBUG(48, *YYCURSOR);
2330
5.02M
    if (yybm[256+yych] & 128) {
2331
3.59M
      goto yy47;
2332
3.59M
    }
2333
1.42M
    if (yych == '\\') goto yy164;
2334
1.40M
    goto yy40;
2335
1.40M
yy49:
2336
92.3k
    YYDEBUG(49, *YYCURSOR);
2337
92.3k
    yyaccept = 4;
2338
92.3k
    yych = *(YYMARKER = ++YYCURSOR);
2339
92.3k
    if (yych <= 'S') {
2340
21.5k
      if (yych <= 'L') {
2341
14.4k
        if (yych == 'F') goto yy187;
2342
14.1k
        goto yy48;
2343
14.4k
      } else {
2344
7.14k
        if (yych <= 'M') goto yy189;
2345
4.31k
        if (yych <= 'N') goto yy190;
2346
819
        if (yych <= 'R') goto yy48;
2347
273
        goto yy191;
2348
819
      }
2349
70.7k
    } else {
2350
70.7k
      if (yych <= 'm') {
2351
18.5k
        if (yych == 'f') goto yy187;
2352
13.3k
        if (yych <= 'l') goto yy48;
2353
7.01k
        goto yy189;
2354
52.1k
      } else {
2355
52.1k
        if (yych <= 'n') goto yy190;
2356
11.9k
        if (yych == 's') goto yy191;
2357
6.26k
        goto yy48;
2358
11.9k
      }
2359
70.7k
    }
2360
27.8k
yy50:
2361
27.8k
    YYDEBUG(50, *YYCURSOR);
2362
27.8k
    yyaccept = 4;
2363
27.8k
    yych = *(YYMARKER = ++YYCURSOR);
2364
27.8k
    if (yych == 'I') goto yy192;
2365
27.2k
    if (yych == 'i') goto yy192;
2366
22.6k
    goto yy48;
2367
26.0k
yy51:
2368
26.0k
    YYDEBUG(51, *YYCURSOR);
2369
26.0k
    yyaccept = 4;
2370
26.0k
    yych = *(YYMARKER = ++YYCURSOR);
2371
26.0k
    if (yych == 'A') goto yy193;
2372
25.4k
    if (yych == 'a') goto yy193;
2373
20.8k
    goto yy48;
2374
70.5k
yy52:
2375
70.5k
    YYDEBUG(52, *YYCURSOR);
2376
70.5k
    yyaccept = 4;
2377
70.5k
    yych = *(YYMARKER = ++YYCURSOR);
2378
70.5k
    if (yych <= 'E') {
2379
15.5k
      if (yych == 'A') goto yy194;
2380
14.8k
      if (yych <= 'D') goto yy48;
2381
355
      goto yy195;
2382
54.9k
    } else {
2383
54.9k
      if (yych <= 'a') {
2384
19.4k
        if (yych <= '`') goto yy48;
2385
13.7k
        goto yy194;
2386
35.5k
      } else {
2387
35.5k
        if (yych == 'e') goto yy195;
2388
22.8k
        goto yy48;
2389
35.5k
      }
2390
54.9k
    }
2391
31.1k
yy53:
2392
31.1k
    YYDEBUG(53, *YYCURSOR);
2393
31.1k
    yyaccept = 4;
2394
31.1k
    yych = *(YYMARKER = ++YYCURSOR);
2395
31.1k
    if (yych == 'R') goto yy196;
2396
30.6k
    if (yych == 'r') goto yy196;
2397
27.8k
    goto yy48;
2398
70.7k
yy54:
2399
70.7k
    YYDEBUG(54, *YYCURSOR);
2400
70.7k
    yyaccept = 4;
2401
70.7k
    yych = *(YYMARKER = ++YYCURSOR);
2402
70.7k
    if (yych <= 'U') {
2403
18.1k
      if (yych == 'R') goto yy198;
2404
15.5k
      if (yych <= 'T') goto yy48;
2405
451
      goto yy199;
2406
52.5k
    } else {
2407
52.5k
      if (yych <= 'r') {
2408
30.1k
        if (yych <= 'q') goto yy48;
2409
19.9k
        goto yy198;
2410
30.1k
      } else {
2411
22.3k
        if (yych == 'u') goto yy199;
2412
4.45k
        goto yy48;
2413
22.3k
      }
2414
52.5k
    }
2415
53.1k
yy55:
2416
53.1k
    YYDEBUG(55, *YYCURSOR);
2417
53.1k
    yyaccept = 4;
2418
53.1k
    yych = *(YYMARKER = ++YYCURSOR);
2419
53.1k
    if (yych == 'E') goto yy200;
2420
45.8k
    if (yych == 'e') goto yy200;
2421
25.7k
    goto yy48;
2422
57.7k
yy56:
2423
57.7k
    YYDEBUG(56, *YYCURSOR);
2424
57.7k
    yyaccept = 4;
2425
57.7k
    yych = *(YYMARKER = ++YYCURSOR);
2426
57.7k
    if (yych <= 'W') {
2427
12.7k
      if (yych == 'T') goto yy201;
2428
11.8k
      if (yych <= 'V') goto yy48;
2429
431
      goto yy202;
2430
45.0k
    } else {
2431
45.0k
      if (yych <= 't') {
2432
35.5k
        if (yych <= 's') goto yy48;
2433
15.9k
        goto yy201;
2434
35.5k
      } else {
2435
9.45k
        if (yych == 'w') goto yy202;
2436
4.37k
        goto yy48;
2437
9.45k
      }
2438
45.0k
    }
2439
53.3k
yy57:
2440
53.3k
    YYDEBUG(57, *YYCURSOR);
2441
53.3k
    yyaccept = 4;
2442
53.3k
    yych = *(YYMARKER = ++YYCURSOR);
2443
53.3k
    if (yych <= 'R') {
2444
19.8k
      if (yych == 'H') goto yy203;
2445
19.3k
      if (yych <= 'Q') goto yy48;
2446
3.93k
      goto yy204;
2447
33.5k
    } else {
2448
33.5k
      if (yych <= 'h') {
2449
13.0k
        if (yych <= 'g') goto yy48;
2450
4.13k
        goto yy203;
2451
20.4k
      } else {
2452
20.4k
        if (yych == 'r') goto yy204;
2453
11.1k
        goto yy48;
2454
20.4k
      }
2455
33.5k
    }
2456
29.9k
yy58:
2457
29.9k
    YYDEBUG(58, *YYCURSOR);
2458
29.9k
    yyaccept = 4;
2459
29.9k
    yych = *(YYMARKER = ++YYCURSOR);
2460
29.9k
    if (yych <= 'S') {
2461
8.63k
      if (yych == 'N') goto yy205;
2462
8.11k
      if (yych <= 'R') goto yy48;
2463
1.05k
      goto yy206;
2464
21.3k
    } else {
2465
21.3k
      if (yych <= 'n') {
2466
11.8k
        if (yych <= 'm') goto yy48;
2467
5.95k
        goto yy205;
2468
11.8k
      } else {
2469
9.48k
        if (yych == 's') goto yy206;
2470
4.49k
        goto yy48;
2471
9.48k
      }
2472
21.3k
    }
2473
18.2k
yy59:
2474
18.2k
    YYDEBUG(59, *YYCURSOR);
2475
18.2k
    yyaccept = 4;
2476
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
2477
18.2k
    if (yych == 'A') goto yy207;
2478
17.9k
    if (yych == 'a') goto yy207;
2479
11.7k
    goto yy48;
2480
11.7k
yy60:
2481
11.7k
    YYDEBUG(60, *YYCURSOR);
2482
11.7k
    yyaccept = 4;
2483
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
2484
11.7k
    if (yych == 'H') goto yy208;
2485
11.2k
    if (yych == 'h') goto yy208;
2486
7.20k
    goto yy48;
2487
11.9k
yy61:
2488
11.9k
    YYDEBUG(61, *YYCURSOR);
2489
11.9k
    yyaccept = 4;
2490
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
2491
11.9k
    if (yych == 'O') goto yy209;
2492
11.6k
    if (yych == 'o') goto yy209;
2493
8.72k
    goto yy48;
2494
72.2k
yy62:
2495
72.2k
    YYDEBUG(62, *YYCURSOR);
2496
72.2k
    yyaccept = 4;
2497
72.2k
    yych = *(YYMARKER = ++YYCURSOR);
2498
72.2k
    if (yych == 'I') goto yy210;
2499
71.5k
    if (yych == 'i') goto yy210;
2500
10.8k
    goto yy48;
2501
191k
yy63:
2502
191k
    YYDEBUG(63, *YYCURSOR);
2503
191k
    ++YYCURSOR;
2504
191k
    goto yy21;
2505
82.4k
yy64:
2506
82.4k
    YYDEBUG(64, *YYCURSOR);
2507
82.4k
    yych = *++YYCURSOR;
2508
82.4k
    if (yych <= '_') {
2509
58.8k
      if (yych <= '@') goto yy65;
2510
29.3k
      if (yych <= 'Z') goto yy211;
2511
26.6k
      if (yych >= '_') goto yy211;
2512
26.6k
    } else {
2513
23.6k
      if (yych <= '`') goto yy65;
2514
21.8k
      if (yych <= 'z') goto yy211;
2515
14.4k
      if (yych >= 0x80) goto yy211;
2516
14.4k
    }
2517
66.7k
yy65:
2518
66.7k
    YYDEBUG(65, *YYCURSOR);
2519
66.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
66.7k
#line 2451 "Zend/zend_language_scanner.l"
2521
66.7k
    {
2522
66.7k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
66.7k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
12.7k
yy66:
2526
12.7k
    YYDEBUG(66, *YYCURSOR);
2527
12.7k
    yych = *++YYCURSOR;
2528
12.7k
    if (yych == '=') goto yy214;
2529
12.2k
    goto yy9;
2530
89.8k
yy67:
2531
89.8k
    YYDEBUG(67, *YYCURSOR);
2532
89.8k
    yyaccept = 4;
2533
89.8k
    yych = *(YYMARKER = ++YYCURSOR);
2534
89.8k
    if (yych == '_') goto yy216;
2535
25.6k
    goto yy48;
2536
25.6k
yy68:
2537
23.8k
    YYDEBUG(68, *YYCURSOR);
2538
23.8k
    ++YYCURSOR;
2539
23.8k
    YYDEBUG(69, *YYCURSOR);
2540
23.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
23.8k
#line 2825 "Zend/zend_language_scanner.l"
2542
23.8k
    {
2543
23.8k
  BEGIN(ST_BACKQUOTE);
2544
23.8k
  RETURN_TOKEN('`');
2545
23.8k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
419k
yy70:
2548
419k
    YYDEBUG(70, *YYCURSOR);
2549
419k
    ++YYCURSOR;
2550
419k
    YYDEBUG(71, *YYCURSOR);
2551
419k
    yyleng = YYCURSOR - SCNG(yy_text);
2552
419k
#line 1974 "Zend/zend_language_scanner.l"
2553
419k
    {
2554
419k
  yy_push_state(ST_IN_SCRIPTING);
2555
419k
  enter_nesting('{');
2556
419k
  RETURN_TOKEN('{');
2557
419k
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
50.3k
yy72:
2560
50.3k
    YYDEBUG(72, *YYCURSOR);
2561
50.3k
    yych = *++YYCURSOR;
2562
50.3k
    if (yych <= '>') {
2563
20.3k
      if (yych <= '<') goto yy9;
2564
5.60k
      if (yych <= '=') goto yy217;
2565
4.87k
      goto yy219;
2566
30.0k
    } else {
2567
30.0k
      if (yych == '|') goto yy221;
2568
26.0k
      goto yy9;
2569
30.0k
    }
2570
89.4k
yy73:
2571
89.4k
    YYDEBUG(73, *YYCURSOR);
2572
89.4k
    ++YYCURSOR;
2573
89.4k
    YYDEBUG(74, *YYCURSOR);
2574
89.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
89.4k
#line 1987 "Zend/zend_language_scanner.l"
2576
89.4k
    {
2577
89.4k
  RESET_DOC_COMMENT();
2578
89.4k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
89.4k
    yy_pop_state();
2580
89.4k
  }
2581
89.4k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
89.4k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
4.68k
yy75:
2585
4.68k
    YYDEBUG(75, *YYCURSOR);
2586
4.68k
    yych = *++YYCURSOR;
2587
4.68k
    if (yych == '=') goto yy223;
2588
5.73k
yy76:
2589
5.73k
    YYDEBUG(76, *YYCURSOR);
2590
5.73k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
5.73k
#line 1846 "Zend/zend_language_scanner.l"
2592
5.73k
    {
2593
5.73k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
5.73k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
16.0k
yy77:
2597
16.0k
    YYDEBUG(77, *YYCURSOR);
2598
16.0k
    ++YYCURSOR;
2599
16.0k
    YYDEBUG(78, *YYCURSOR);
2600
16.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
16.0k
#line 1423 "Zend/zend_language_scanner.l"
2602
16.0k
    {
2603
16.0k
  enter_nesting('[');
2604
16.0k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
16.0k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
445k
yy79:
2608
445k
    YYDEBUG(79, *YYCURSOR);
2609
445k
    ++YYCURSOR;
2610
445k
    YYFILL(1);
2611
445k
    yych = *YYCURSOR;
2612
445k
    YYDEBUG(80, *YYCURSOR);
2613
445k
    if (yych <= '^') {
2614
186k
      if (yych <= '9') {
2615
100k
        if (yych >= '0') goto yy79;
2616
100k
      } else {
2617
85.9k
        if (yych <= '@') goto yy81;
2618
49.6k
        if (yych <= 'Z') goto yy79;
2619
49.6k
      }
2620
259k
    } else {
2621
259k
      if (yych <= '`') {
2622
3.65k
        if (yych <= '_') goto yy79;
2623
255k
      } else {
2624
255k
        if (yych <= 'z') goto yy79;
2625
106k
        if (yych >= 0x80) goto yy79;
2626
106k
      }
2627
259k
    }
2628
145k
yy81:
2629
145k
    YYDEBUG(81, *YYCURSOR);
2630
145k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
145k
#line 2417 "Zend/zend_language_scanner.l"
2632
145k
    {
2633
145k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
145k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
848
yy82:
2637
848
    YYDEBUG(82, *YYCURSOR);
2638
848
    ++YYCURSOR;
2639
848
    YYDEBUG(83, *YYCURSOR);
2640
848
    yyleng = YYCURSOR - SCNG(yy_text);
2641
848
#line 1890 "Zend/zend_language_scanner.l"
2642
848
    {
2643
848
  RETURN_TOKEN(T_MOD_EQUAL);
2644
848
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
135k
yy84:
2647
135k
    YYDEBUG(84, *YYCURSOR);
2648
135k
    ++YYCURSOR;
2649
135k
    YYFILL(3);
2650
135k
    yych = *YYCURSOR;
2651
172k
yy85:
2652
172k
    YYDEBUG(85, *YYCURSOR);
2653
172k
    if (yych <= ' ') {
2654
35.1k
      if (yych <= '\f') {
2655
26.7k
        if (yych <= 0x08) goto yy86;
2656
25.0k
        if (yych <= '\n') goto yy84;
2657
25.0k
      } else {
2658
8.39k
        if (yych <= '\r') goto yy84;
2659
2.84k
        if (yych >= ' ') goto yy84;
2660
2.84k
      }
2661
136k
    } else {
2662
136k
      if (yych <= '$') {
2663
126k
        if (yych <= '"') goto yy86;
2664
126k
        if (yych <= '#') goto yy87;
2665
7.82k
        goto yy88;
2666
126k
      } else {
2667
10.3k
        if (yych <= '-') goto yy86;
2668
8.29k
        if (yych <= '.') goto yy92;
2669
5.26k
        if (yych <= '/') goto yy93;
2670
5.26k
      }
2671
136k
    }
2672
388k
yy86:
2673
388k
    YYDEBUG(86, *YYCURSOR);
2674
388k
    YYCURSOR = YYMARKER;
2675
388k
    if (yyaccept <= 48) {
2676
264k
      if (yyaccept <= 24) {
2677
251k
        if (yyaccept <= 12) {
2678
244k
          if (yyaccept <= 6) {
2679
156k
            if (yyaccept <= 3) {
2680
132k
              if (yyaccept <= 1) {
2681
114k
                if (yyaccept == 0) {
2682
25.0k
                  goto yy17;
2683
89.0k
                } else {
2684
89.0k
                  goto yy21;
2685
89.0k
                }
2686
114k
              } else {
2687
18.1k
                if (yyaccept == 2) {
2688
10.4k
                  goto yy9;
2689
10.4k
                } else {
2690
7.67k
                  goto yy31;
2691
7.67k
                }
2692
18.1k
              }
2693
132k
            } else {
2694
24.7k
              if (yyaccept <= 5) {
2695
22.3k
                if (yyaccept == 4) {
2696
19.1k
                  goto yy40;
2697
19.1k
                } else {
2698
3.19k
                  goto yy125;
2699
3.19k
                }
2700
22.3k
              } else {
2701
2.44k
                goto yy129;
2702
2.44k
              }
2703
24.7k
            }
2704
156k
          } else {
2705
87.4k
            if (yyaccept <= 9) {
2706
86.5k
              if (yyaccept <= 8) {
2707
86.3k
                if (yyaccept == 7) {
2708
86.1k
                  goto yy142;
2709
86.1k
                } else {
2710
222
                  goto yy163;
2711
222
                }
2712
86.3k
              } else {
2713
208
                goto yy173;
2714
208
              }
2715
86.5k
            } else {
2716
918
              if (yyaccept <= 11) {
2717
576
                if (yyaccept == 10) {
2718
250
                  goto yy182;
2719
326
                } else {
2720
326
                  goto yy188;
2721
326
                }
2722
576
              } else {
2723
342
                goto yy197;
2724
342
              }
2725
918
            }
2726
87.4k
          }
2727
244k
        } else {
2728
7.34k
          if (yyaccept <= 18) {
2729
5.29k
            if (yyaccept <= 15) {
2730
3.54k
              if (yyaccept <= 14) {
2731
2.98k
                if (yyaccept == 13) {
2732
2.72k
                  goto yy213;
2733
2.72k
                } else {
2734
261
                  goto yy251;
2735
261
                }
2736
2.98k
              } else {
2737
554
                goto yy257;
2738
554
              }
2739
3.54k
            } else {
2740
1.75k
              if (yyaccept <= 17) {
2741
558
                if (yyaccept == 16) {
2742
280
                  goto yy260;
2743
280
                } else {
2744
278
                  goto yy279;
2745
278
                }
2746
1.19k
              } else {
2747
1.19k
                goto yy283;
2748
1.19k
              }
2749
1.75k
            }
2750
5.29k
          } else {
2751
2.04k
            if (yyaccept <= 21) {
2752
1.04k
              if (yyaccept <= 20) {
2753
827
                if (yyaccept == 19) {
2754
328
                  goto yy295;
2755
499
                } else {
2756
499
                  goto yy306;
2757
499
                }
2758
827
              } else {
2759
215
                goto yy319;
2760
215
              }
2761
1.04k
            } else {
2762
1.00k
              if (yyaccept <= 23) {
2763
545
                if (yyaccept == 22) {
2764
240
                  goto yy331;
2765
305
                } else {
2766
305
                  goto yy334;
2767
305
                }
2768
545
              } else {
2769
462
                goto yy336;
2770
462
              }
2771
1.00k
            }
2772
2.04k
          }
2773
7.34k
        }
2774
251k
      } else {
2775
12.8k
        if (yyaccept <= 36) {
2776
9.56k
          if (yyaccept <= 30) {
2777
4.27k
            if (yyaccept <= 27) {
2778
3.40k
              if (yyaccept <= 26) {
2779
3.20k
                if (yyaccept == 25) {
2780
306
                  goto yy339;
2781
2.90k
                } else {
2782
2.90k
                  goto yy89;
2783
2.90k
                }
2784
3.20k
              } else {
2785
199
                goto yy379;
2786
199
              }
2787
3.40k
            } else {
2788
864
              if (yyaccept <= 29) {
2789
637
                if (yyaccept == 28) {
2790
331
                  goto yy388;
2791
331
                } else {
2792
306
                  goto yy390;
2793
306
                }
2794
637
              } else {
2795
227
                goto yy399;
2796
227
              }
2797
864
            }
2798
5.29k
          } else {
2799
5.29k
            if (yyaccept <= 33) {
2800
778
              if (yyaccept <= 32) {
2801
474
                if (yyaccept == 31) {
2802
266
                  goto yy401;
2803
266
                } else {
2804
208
                  goto yy408;
2805
208
                }
2806
474
              } else {
2807
304
                goto yy415;
2808
304
              }
2809
4.51k
            } else {
2810
4.51k
              if (yyaccept <= 35) {
2811
3.87k
                if (yyaccept == 34) {
2812
813
                  goto yy471;
2813
3.06k
                } else {
2814
3.06k
                  goto yy473;
2815
3.06k
                }
2816
3.87k
              } else {
2817
636
                goto yy476;
2818
636
              }
2819
4.51k
            }
2820
5.29k
          }
2821
9.56k
        } else {
2822
3.28k
          if (yyaccept <= 42) {
2823
1.73k
            if (yyaccept <= 39) {
2824
732
              if (yyaccept <= 38) {
2825
476
                if (yyaccept == 37) {
2826
199
                  goto yy478;
2827
277
                } else {
2828
277
                  goto yy480;
2829
277
                }
2830
476
              } else {
2831
256
                goto yy482;
2832
256
              }
2833
1.00k
            } else {
2834
1.00k
              if (yyaccept <= 41) {
2835
777
                if (yyaccept == 40) {
2836
237
                  goto yy488;
2837
540
                } else {
2838
540
                  goto yy492;
2839
540
                }
2840
777
              } else {
2841
225
                goto yy501;
2842
225
              }
2843
1.00k
            }
2844
1.73k
          } else {
2845
1.54k
            if (yyaccept <= 45) {
2846
851
              if (yyaccept <= 44) {
2847
470
                if (yyaccept == 43) {
2848
220
                  goto yy511;
2849
250
                } else {
2850
250
                  goto yy513;
2851
250
                }
2852
470
              } else {
2853
381
                goto yy516;
2854
381
              }
2855
851
            } else {
2856
695
              if (yyaccept <= 47) {
2857
486
                if (yyaccept == 46) {
2858
265
                  goto yy526;
2859
265
                } else {
2860
221
                  goto yy528;
2861
221
                }
2862
486
              } else {
2863
209
                goto yy530;
2864
209
              }
2865
695
            }
2866
1.54k
          }
2867
3.28k
        }
2868
12.8k
      }
2869
264k
    } else {
2870
123k
      if (yyaccept <= 72) {
2871
102k
        if (yyaccept <= 60) {
2872
99.0k
          if (yyaccept <= 54) {
2873
96.1k
            if (yyaccept <= 51) {
2874
34.6k
              if (yyaccept <= 50) {
2875
34.4k
                if (yyaccept == 49) {
2876
346
                  goto yy532;
2877
34.0k
                } else {
2878
34.0k
                  goto yy534;
2879
34.0k
                }
2880
34.4k
              } else {
2881
202
                goto yy576;
2882
202
              }
2883
61.5k
            } else {
2884
61.5k
              if (yyaccept <= 53) {
2885
60.8k
                if (yyaccept == 52) {
2886
204
                  goto yy579;
2887
60.6k
                } else {
2888
60.6k
                  goto yy583;
2889
60.6k
                }
2890
60.8k
              } else {
2891
660
                goto yy597;
2892
660
              }
2893
61.5k
            }
2894
96.1k
          } else {
2895
2.87k
            if (yyaccept <= 57) {
2896
2.14k
              if (yyaccept <= 56) {
2897
1.55k
                if (yyaccept == 55) {
2898
1.30k
                  goto yy607;
2899
1.30k
                } else {
2900
253
                  goto yy611;
2901
253
                }
2902
1.55k
              } else {
2903
593
                goto yy613;
2904
593
              }
2905
2.14k
            } else {
2906
725
              if (yyaccept <= 59) {
2907
500
                if (yyaccept == 58) {
2908
286
                  goto yy615;
2909
286
                } else {
2910
214
                  goto yy654;
2911
214
                }
2912
500
              } else {
2913
225
                goto yy656;
2914
225
              }
2915
725
            }
2916
2.87k
          }
2917
99.0k
        } else {
2918
3.84k
          if (yyaccept <= 66) {
2919
2.56k
            if (yyaccept <= 63) {
2920
696
              if (yyaccept <= 62) {
2921
485
                if (yyaccept == 61) {
2922
257
                  goto yy671;
2923
257
                } else {
2924
228
                  goto yy673;
2925
228
                }
2926
485
              } else {
2927
211
                goto yy675;
2928
211
              }
2929
1.87k
            } else {
2930
1.87k
              if (yyaccept <= 65) {
2931
1.66k
                if (yyaccept == 64) {
2932
221
                  goto yy679;
2933
1.44k
                } else {
2934
1.44k
                  goto yy685;
2935
1.44k
                }
2936
1.66k
              } else {
2937
204
                goto yy690;
2938
204
              }
2939
1.87k
            }
2940
2.56k
          } else {
2941
1.27k
            if (yyaccept <= 69) {
2942
598
              if (yyaccept <= 68) {
2943
400
                if (yyaccept == 67) {
2944
199
                  goto yy700;
2945
201
                } else {
2946
201
                  goto yy726;
2947
201
                }
2948
400
              } else {
2949
198
                goto yy728;
2950
198
              }
2951
678
            } else {
2952
678
              if (yyaccept <= 71) {
2953
472
                if (yyaccept == 70) {
2954
276
                  goto yy730;
2955
276
                } else {
2956
196
                  goto yy735;
2957
196
                }
2958
472
              } else {
2959
206
                goto yy743;
2960
206
              }
2961
678
            }
2962
1.27k
          }
2963
3.84k
        }
2964
102k
      } else {
2965
20.9k
        if (yyaccept <= 84) {
2966
4.10k
          if (yyaccept <= 78) {
2967
1.47k
            if (yyaccept <= 75) {
2968
876
              if (yyaccept <= 74) {
2969
567
                if (yyaccept == 73) {
2970
369
                  goto yy754;
2971
369
                } else {
2972
198
                  goto yy764;
2973
198
                }
2974
567
              } else {
2975
309
                goto yy768;
2976
309
              }
2977
876
            } else {
2978
602
              if (yyaccept <= 77) {
2979
400
                if (yyaccept == 76) {
2980
206
                  goto yy784;
2981
206
                } else {
2982
194
                  goto yy797;
2983
194
                }
2984
400
              } else {
2985
202
                goto yy799;
2986
202
              }
2987
602
            }
2988
2.62k
          } else {
2989
2.62k
            if (yyaccept <= 81) {
2990
1.94k
              if (yyaccept <= 80) {
2991
1.74k
                if (yyaccept == 79) {
2992
708
                  goto yy801;
2993
1.04k
                } else {
2994
1.04k
                  goto yy804;
2995
1.04k
                }
2996
1.74k
              } else {
2997
200
                goto yy812;
2998
200
              }
2999
1.94k
            } else {
3000
681
              if (yyaccept <= 83) {
3001
484
                if (yyaccept == 82) {
3002
223
                  goto yy819;
3003
261
                } else {
3004
261
                  goto yy823;
3005
261
                }
3006
484
              } else {
3007
197
                goto yy825;
3008
197
              }
3009
681
            }
3010
2.62k
          }
3011
16.7k
        } else {
3012
16.7k
          if (yyaccept <= 90) {
3013
1.73k
            if (yyaccept <= 87) {
3014
756
              if (yyaccept <= 86) {
3015
528
                if (yyaccept == 85) {
3016
246
                  goto yy836;
3017
282
                } else {
3018
282
                  goto yy839;
3019
282
                }
3020
528
              } else {
3021
228
                goto yy854;
3022
228
              }
3023
982
            } else {
3024
982
              if (yyaccept <= 89) {
3025
780
                if (yyaccept == 88) {
3026
586
                  goto yy869;
3027
586
                } else {
3028
194
                  goto yy898;
3029
194
                }
3030
780
              } else {
3031
202
                goto yy903;
3032
202
              }
3033
982
            }
3034
15.0k
          } else {
3035
15.0k
            if (yyaccept <= 93) {
3036
12.9k
              if (yyaccept <= 92) {
3037
12.7k
                if (yyaccept == 91) {
3038
12.5k
                  goto yy876;
3039
12.5k
                } else {
3040
201
                  goto yy911;
3041
201
                }
3042
12.7k
              } else {
3043
210
                goto yy915;
3044
210
              }
3045
12.9k
            } else {
3046
2.11k
              if (yyaccept <= 95) {
3047
1.90k
                if (yyaccept == 94) {
3048
1.71k
                  goto yy886;
3049
1.71k
                } else {
3050
194
                  goto yy931;
3051
194
                }
3052
1.90k
              } else {
3053
204
                goto yy951;
3054
204
              }
3055
2.11k
            }
3056
15.0k
          }
3057
16.7k
        }
3058
20.9k
      }
3059
123k
    }
3060
118k
yy87:
3061
118k
    YYDEBUG(87, *YYCURSOR);
3062
118k
    ++YYCURSOR;
3063
118k
    YYFILL(1);
3064
118k
    yych = *YYCURSOR;
3065
118k
    if (yych <= '\f') {
3066
20.6k
      if (yych <= 0x00) goto yy86;
3067
20.3k
      if (yych == '\n') goto yy227;
3068
643
      goto yy225;
3069
97.6k
    } else {
3070
97.6k
      if (yych <= '\r') goto yy227;
3071
6.33k
      if (yych == '[') goto yy86;
3072
6.11k
      goto yy225;
3073
6.33k
    }
3074
8.40k
yy88:
3075
8.40k
    YYDEBUG(88, *YYCURSOR);
3076
8.40k
    ++YYCURSOR;
3077
11.9k
yy89:
3078
11.9k
    YYDEBUG(89, *YYCURSOR);
3079
11.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
11.9k
#line 1950 "Zend/zend_language_scanner.l"
3081
11.9k
    {
3082
11.9k
  yyless(1);
3083
11.9k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
11.9k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
6.06k
yy90:
3087
6.06k
    YYDEBUG(90, *YYCURSOR);
3088
6.06k
    ++YYCURSOR;
3089
6.06k
    YYDEBUG(91, *YYCURSOR);
3090
6.06k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
6.06k
#line 1926 "Zend/zend_language_scanner.l"
3092
6.06k
    {
3093
6.06k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
6.06k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
3.02k
yy92:
3097
3.02k
    YYDEBUG(92, *YYCURSOR);
3098
3.02k
    yych = *++YYCURSOR;
3099
3.02k
    if (yych == '.') goto yy229;
3100
1.75k
    goto yy86;
3101
2.04k
yy93:
3102
2.04k
    YYDEBUG(93, *YYCURSOR);
3103
2.04k
    ++YYCURSOR;
3104
2.04k
    YYFILL(1);
3105
2.04k
    yych = *YYCURSOR;
3106
2.04k
    if (yych == '*') goto yy230;
3107
1.37k
    if (yych == '/') goto yy225;
3108
518
    goto yy86;
3109
518
yy94:
3110
496
    YYDEBUG(94, *YYCURSOR);
3111
496
    ++YYCURSOR;
3112
496
    YYDEBUG(95, *YYCURSOR);
3113
496
    yyleng = YYCURSOR - SCNG(yy_text);
3114
496
#line 1902 "Zend/zend_language_scanner.l"
3115
496
    {
3116
496
  RETURN_TOKEN(T_AND_EQUAL);
3117
496
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
9.38k
yy96:
3120
9.38k
    YYDEBUG(96, *YYCURSOR);
3121
9.38k
    ++YYCURSOR;
3122
9.38k
    YYFILL(7);
3123
9.38k
    yych = *YYCURSOR;
3124
107k
yy97:
3125
107k
    YYDEBUG(97, *YYCURSOR);
3126
107k
    if (yybm[0+yych] & 1) {
3127
9.38k
      goto yy96;
3128
9.38k
    }
3129
97.8k
    switch (yych) {
3130
3.57k
    case 'A':
3131
25.9k
    case 'a': goto yy98;
3132
1.02k
    case 'B':
3133
9.48k
    case 'b': goto yy99;
3134
387
    case 'D':
3135
4.53k
    case 'd': goto yy100;
3136
987
    case 'F':
3137
8.79k
    case 'f': goto yy101;
3138
434
    case 'I':
3139
10.9k
    case 'i': goto yy102;
3140
751
    case 'O':
3141
4.48k
    case 'o': goto yy103;
3142
585
    case 'R':
3143
3.84k
    case 'r': goto yy104;
3144
2.72k
    case 'S':
3145
13.9k
    case 's': goto yy105;
3146
944
    case 'U':
3147
5.38k
    case 'u': goto yy106;
3148
294
    case 'V':
3149
4.16k
    case 'v': goto yy107;
3150
6.34k
    default:  goto yy86;
3151
97.8k
    }
3152
25.9k
yy98:
3153
25.9k
    YYDEBUG(98, *YYCURSOR);
3154
25.9k
    yych = *++YYCURSOR;
3155
25.9k
    if (yych == 'R') goto yy232;
3156
25.6k
    if (yych == 'r') goto yy232;
3157
21.1k
    goto yy86;
3158
21.1k
yy99:
3159
9.48k
    YYDEBUG(99, *YYCURSOR);
3160
9.48k
    yych = *++YYCURSOR;
3161
9.48k
    if (yych <= 'O') {
3162
2.37k
      if (yych == 'I') goto yy233;
3163
2.03k
      if (yych <= 'N') goto yy86;
3164
493
      goto yy234;
3165
7.11k
    } else {
3166
7.11k
      if (yych <= 'i') {
3167
3.46k
        if (yych <= 'h') goto yy86;
3168
3.04k
        goto yy233;
3169
3.64k
      } else {
3170
3.64k
        if (yych == 'o') goto yy234;
3171
586
        goto yy86;
3172
3.64k
      }
3173
7.11k
    }
3174
4.53k
yy100:
3175
4.53k
    YYDEBUG(100, *YYCURSOR);
3176
4.53k
    yych = *++YYCURSOR;
3177
4.53k
    if (yych == 'O') goto yy235;
3178
4.22k
    if (yych == 'o') goto yy235;
3179
1.56k
    goto yy86;
3180
8.79k
yy101:
3181
8.79k
    YYDEBUG(101, *YYCURSOR);
3182
8.79k
    yych = *++YYCURSOR;
3183
8.79k
    if (yych == 'L') goto yy236;
3184
8.41k
    if (yych == 'l') goto yy236;
3185
5.31k
    goto yy86;
3186
10.9k
yy102:
3187
10.9k
    YYDEBUG(102, *YYCURSOR);
3188
10.9k
    yych = *++YYCURSOR;
3189
10.9k
    if (yych == 'N') goto yy237;
3190
10.4k
    if (yych == 'n') goto yy237;
3191
5.15k
    goto yy86;
3192
5.15k
yy103:
3193
4.48k
    YYDEBUG(103, *YYCURSOR);
3194
4.48k
    yych = *++YYCURSOR;
3195
4.48k
    if (yych == 'B') goto yy238;
3196
4.11k
    if (yych == 'b') goto yy238;
3197
1.35k
    goto yy86;
3198
3.84k
yy104:
3199
3.84k
    YYDEBUG(104, *YYCURSOR);
3200
3.84k
    yych = *++YYCURSOR;
3201
3.84k
    if (yych == 'E') goto yy239;
3202
3.05k
    if (yych == 'e') goto yy239;
3203
1.28k
    goto yy86;
3204
13.9k
yy105:
3205
13.9k
    YYDEBUG(105, *YYCURSOR);
3206
13.9k
    yych = *++YYCURSOR;
3207
13.9k
    if (yych == 'T') goto yy240;
3208
13.6k
    if (yych == 't') goto yy240;
3209
8.99k
    goto yy86;
3210
8.99k
yy106:
3211
5.38k
    YYDEBUG(106, *YYCURSOR);
3212
5.38k
    yych = *++YYCURSOR;
3213
5.38k
    if (yych == 'N') goto yy241;
3214
5.06k
    if (yych == 'n') goto yy241;
3215
1.62k
    goto yy86;
3216
4.16k
yy107:
3217
4.16k
    YYDEBUG(107, *YYCURSOR);
3218
4.16k
    yych = *++YYCURSOR;
3219
4.16k
    if (yych == 'O') goto yy242;
3220
3.91k
    if (yych == 'o') goto yy242;
3221
1.63k
    goto yy86;
3222
14.1k
yy108:
3223
14.1k
    YYDEBUG(108, *YYCURSOR);
3224
14.1k
    yych = *++YYCURSOR;
3225
14.1k
    if (yych == '=') goto yy243;
3226
13.8k
    YYDEBUG(109, *YYCURSOR);
3227
13.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
13.8k
#line 1874 "Zend/zend_language_scanner.l"
3229
13.8k
    {
3230
13.8k
  RETURN_TOKEN(T_POW);
3231
13.8k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
2.59k
yy110:
3234
2.59k
    YYDEBUG(110, *YYCURSOR);
3235
2.59k
    ++YYCURSOR;
3236
2.59k
    YYDEBUG(111, *YYCURSOR);
3237
2.59k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
2.59k
#line 1870 "Zend/zend_language_scanner.l"
3239
2.59k
    {
3240
2.59k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
2.59k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
2.00k
yy112:
3244
2.00k
    YYDEBUG(112, *YYCURSOR);
3245
2.00k
    ++YYCURSOR;
3246
2.00k
    YYDEBUG(113, *YYCURSOR);
3247
2.00k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
2.00k
#line 1826 "Zend/zend_language_scanner.l"
3249
2.00k
    {
3250
2.00k
  RETURN_TOKEN(T_INC);
3251
2.00k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
776
yy114:
3254
776
    YYDEBUG(114, *YYCURSOR);
3255
776
    ++YYCURSOR;
3256
776
    YYDEBUG(115, *YYCURSOR);
3257
776
    yyleng = YYCURSOR - SCNG(yy_text);
3258
776
#line 1862 "Zend/zend_language_scanner.l"
3259
776
    {
3260
776
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
776
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
3.25k
yy116:
3264
3.25k
    YYDEBUG(116, *YYCURSOR);
3265
3.25k
    ++YYCURSOR;
3266
3.25k
    YYDEBUG(117, *YYCURSOR);
3267
3.25k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
3.25k
#line 1830 "Zend/zend_language_scanner.l"
3269
3.25k
    {
3270
3.25k
  RETURN_TOKEN(T_DEC);
3271
3.25k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
477
yy118:
3274
477
    YYDEBUG(118, *YYCURSOR);
3275
477
    ++YYCURSOR;
3276
477
    YYDEBUG(119, *YYCURSOR);
3277
477
    yyleng = YYCURSOR - SCNG(yy_text);
3278
477
#line 1866 "Zend/zend_language_scanner.l"
3279
477
    {
3280
477
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
477
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
29.2k
yy120:
3284
29.2k
    YYDEBUG(120, *YYCURSOR);
3285
29.2k
    ++YYCURSOR;
3286
29.2k
    YYDEBUG(121, *YYCURSOR);
3287
29.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
29.2k
#line 1587 "Zend/zend_language_scanner.l"
3289
29.2k
    {
3290
29.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
29.2k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
29.2k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
18.8k
yy122:
3295
18.8k
    YYDEBUG(122, *YYCURSOR);
3296
18.8k
    yych = *++YYCURSOR;
3297
18.8k
    if (yych == '.') goto yy245;
3298
9.60k
    goto yy86;
3299
166k
yy123:
3300
166k
    YYDEBUG(123, *YYCURSOR);
3301
166k
    yyaccept = 5;
3302
166k
    YYMARKER = ++YYCURSOR;
3303
166k
    YYFILL(2);
3304
166k
    yych = *YYCURSOR;
3305
190k
yy124:
3306
190k
    YYDEBUG(124, *YYCURSOR);
3307
190k
    if (yych <= 'E') {
3308
177k
      if (yych <= '/') goto yy125;
3309
158k
      if (yych <= '9') goto yy123;
3310
11.0k
      if (yych >= 'E') goto yy135;
3311
13.6k
    } else {
3312
13.6k
      if (yych <= '_') {
3313
2.65k
        if (yych >= '_') goto yy247;
3314
11.0k
      } else {
3315
11.0k
        if (yych == 'e') goto yy135;
3316
11.0k
      }
3317
13.6k
    }
3318
60.6k
yy125:
3319
60.6k
    YYDEBUG(125, *YYCURSOR);
3320
60.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
60.6k
#line 2233 "Zend/zend_language_scanner.l"
3322
60.6k
    {
3323
60.6k
  const char *end;
3324
60.6k
  size_t len = yyleng;
3325
60.6k
  char *dnum = yytext;
3326
60.6k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
60.6k
  if (contains_underscores) {
3329
974
    dnum = estrndup(dnum, len);
3330
974
    strip_underscores(dnum, &len);
3331
974
  }
3332
3333
60.6k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
60.6k
  ZEND_ASSERT(end == dnum + len);
3336
60.6k
  if (contains_underscores) {
3337
974
    efree(dnum);
3338
974
  }
3339
60.6k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
60.6k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
1.00k
yy126:
3343
1.00k
    YYDEBUG(126, *YYCURSOR);
3344
1.00k
    ++YYCURSOR;
3345
1.00k
    YYDEBUG(127, *YYCURSOR);
3346
1.00k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
1.00k
#line 1886 "Zend/zend_language_scanner.l"
3348
1.00k
    {
3349
1.00k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
1.00k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
29.2k
yy128:
3353
29.2k
    YYDEBUG(128, *YYCURSOR);
3354
29.2k
    yyaccept = 6;
3355
29.2k
    yych = *(YYMARKER = ++YYCURSOR);
3356
29.2k
    if (yych == '*') goto yy248;
3357
29.2k
yy129:
3358
29.2k
    YYDEBUG(129, *YYCURSOR);
3359
29.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
29.2k
#line 2484 "Zend/zend_language_scanner.l"
3361
29.2k
    {
3362
29.2k
  int doc_com;
3363
3364
29.2k
  if (yyleng > 2) {
3365
3.28k
    doc_com = 1;
3366
3.28k
    RESET_DOC_COMMENT();
3367
25.9k
  } else {
3368
25.9k
    doc_com = 0;
3369
25.9k
  }
3370
3371
858k
  while (YYCURSOR < YYLIMIT) {
3372
839k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
10.0k
      break;
3374
10.0k
    }
3375
839k
  }
3376
3377
29.2k
  if (YYCURSOR < YYLIMIT) {
3378
10.0k
    YYCURSOR++;
3379
19.1k
  } else {
3380
19.1k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
19.1k
    if (PARSER_MODE()) {
3382
1.31k
      RETURN_TOKEN(T_ERROR);
3383
1.31k
    }
3384
19.1k
  }
3385
3386
27.9k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
27.9k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
27.9k
  if (doc_com) {
3390
3.19k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
3.19k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
3.19k
  }
3393
3394
24.7k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
24.7k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
3.88k
yy130:
3398
3.88k
    YYDEBUG(130, *YYCURSOR);
3399
3.88k
    ++YYCURSOR;
3400
3.88k
    goto yy13;
3401
1.43k
yy131:
3402
1.43k
    YYDEBUG(131, *YYCURSOR);
3403
1.43k
    ++YYCURSOR;
3404
1.43k
    YYDEBUG(132, *YYCURSOR);
3405
1.43k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
1.43k
#line 1882 "Zend/zend_language_scanner.l"
3407
1.43k
    {
3408
1.43k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
1.43k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
24.4k
yy133:
3412
24.4k
    YYDEBUG(133, *YYCURSOR);
3413
24.4k
    yyaccept = 5;
3414
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
3415
24.4k
    if (yych == '_') goto yy125;
3416
24.1k
    goto yy124;
3417
24.1k
yy134:
3418
2.90k
    YYDEBUG(134, *YYCURSOR);
3419
2.90k
    ++YYCURSOR;
3420
2.90k
    YYFILL(1);
3421
2.90k
    yych = *YYCURSOR;
3422
2.90k
    if (yybm[0+yych] & 8) {
3423
2.37k
      goto yy249;
3424
2.37k
    }
3425
533
    goto yy86;
3426
29.1k
yy135:
3427
29.1k
    YYDEBUG(135, *YYCURSOR);
3428
29.1k
    yych = *++YYCURSOR;
3429
29.1k
    if (yych <= ',') {
3430
1.30k
      if (yych == '+') goto yy252;
3431
867
      goto yy86;
3432
27.8k
    } else {
3433
27.8k
      if (yych <= '-') goto yy252;
3434
19.0k
      if (yych <= '/') goto yy86;
3435
18.7k
      if (yych <= '9') goto yy253;
3436
3.64k
      goto yy86;
3437
18.7k
    }
3438
3.91k
yy136:
3439
3.91k
    YYDEBUG(136, *YYCURSOR);
3440
3.91k
    ++YYCURSOR;
3441
3.91k
    YYFILL(1);
3442
3.91k
    yych = *YYCURSOR;
3443
3.91k
    if (yybm[0+yych] & 16) {
3444
3.03k
      goto yy255;
3445
3.03k
    }
3446
882
    goto yy86;
3447
4.61k
yy137:
3448
4.61k
    YYDEBUG(137, *YYCURSOR);
3449
4.61k
    ++YYCURSOR;
3450
4.61k
    YYFILL(1);
3451
4.61k
    yych = *YYCURSOR;
3452
4.61k
    if (yybm[0+yych] & 32) {
3453
3.77k
      goto yy258;
3454
3.77k
    }
3455
835
    goto yy86;
3456
4.46k
yy138:
3457
4.46k
    YYDEBUG(138, *YYCURSOR);
3458
4.46k
    ++YYCURSOR;
3459
4.46k
    YYFILL(1);
3460
4.46k
    yych = *YYCURSOR;
3461
4.46k
    if (yybm[256+yych] & 64) {
3462
1.81k
      goto yy32;
3463
1.81k
    }
3464
2.65k
    goto yy86;
3465
50.3k
yy139:
3466
50.3k
    YYDEBUG(139, *YYCURSOR);
3467
50.3k
    ++YYCURSOR;
3468
50.3k
    YYDEBUG(140, *YYCURSOR);
3469
50.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
50.3k
#line 1614 "Zend/zend_language_scanner.l"
3471
50.3k
    {
3472
50.3k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
50.3k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
2.43M
yy141:
3476
2.43M
    YYDEBUG(141, *YYCURSOR);
3477
2.43M
    yyaccept = 7;
3478
2.43M
    yych = *(YYMARKER = ++YYCURSOR);
3479
2.43M
    if (yych <= ';') goto yy142;
3480
2.41M
    if (yych <= '<') goto yy261;
3481
85.8k
    if (yych <= '=') goto yy263;
3482
198k
yy142:
3483
198k
    YYDEBUG(142, *YYCURSOR);
3484
198k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
198k
#line 1942 "Zend/zend_language_scanner.l"
3486
198k
    {
3487
198k
  RETURN_TOKEN(T_SL);
3488
198k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
5.31k
yy143:
3491
5.31k
    YYDEBUG(143, *YYCURSOR);
3492
5.31k
    yych = *++YYCURSOR;
3493
5.31k
    if (yych == '>') goto yy265;
3494
4.43k
    YYDEBUG(144, *YYCURSOR);
3495
4.43k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
4.43k
#line 1854 "Zend/zend_language_scanner.l"
3497
4.43k
    {
3498
4.43k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
4.43k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
2.74k
yy145:
3502
2.74k
    YYDEBUG(145, *YYCURSOR);
3503
2.74k
    ++YYCURSOR;
3504
2.74k
    goto yy76;
3505
15.0k
yy146:
3506
15.0k
    YYDEBUG(146, *YYCURSOR);
3507
15.0k
    yych = *++YYCURSOR;
3508
15.0k
    if (yych == '=') goto yy267;
3509
9.38k
    YYDEBUG(147, *YYCURSOR);
3510
9.38k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
9.38k
#line 1842 "Zend/zend_language_scanner.l"
3512
9.38k
    {
3513
9.38k
  RETURN_TOKEN(T_IS_EQUAL);
3514
9.38k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
36.1k
yy148:
3517
36.1k
    YYDEBUG(148, *YYCURSOR);
3518
36.1k
    ++YYCURSOR;
3519
36.1k
    YYDEBUG(149, *YYCURSOR);
3520
36.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
36.1k
#line 1810 "Zend/zend_language_scanner.l"
3522
36.1k
    {
3523
36.1k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
36.1k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
3.41k
yy150:
3527
3.41k
    YYDEBUG(150, *YYCURSOR);
3528
3.41k
    ++YYCURSOR;
3529
3.41k
    YYDEBUG(151, *YYCURSOR);
3530
3.41k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
3.41k
#line 1858 "Zend/zend_language_scanner.l"
3532
3.41k
    {
3533
3.41k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
3.41k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
6.66k
yy152:
3537
6.66k
    YYDEBUG(152, *YYCURSOR);
3538
6.66k
    yych = *++YYCURSOR;
3539
6.66k
    if (yych == '=') goto yy269;
3540
6.42k
    YYDEBUG(153, *YYCURSOR);
3541
6.42k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
6.42k
#line 1946 "Zend/zend_language_scanner.l"
3543
6.42k
    {
3544
6.42k
  RETURN_TOKEN(T_SR);
3545
6.42k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
8.57k
yy154:
3548
8.57k
    YYDEBUG(154, *YYCURSOR);
3549
8.57k
    yych = *++YYCURSOR;
3550
8.57k
    if (yych == '>') goto yy271;
3551
848
    goto yy86;
3552
80.8k
yy155:
3553
80.8k
    YYDEBUG(155, *YYCURSOR);
3554
80.8k
    yych = *++YYCURSOR;
3555
80.8k
    if (yych == '\n') goto yy273;
3556
77.8k
    if (yych == '\r') goto yy274;
3557
80.8k
yy156:
3558
80.8k
    YYDEBUG(156, *YYCURSOR);
3559
80.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
80.8k
#line 2526 "Zend/zend_language_scanner.l"
3561
80.8k
    {
3562
80.8k
  BEGIN(INITIAL);
3563
80.8k
  if (yytext[yyleng-1] != '>') {
3564
4.38k
    CG(increment_lineno) = 1;
3565
4.38k
  }
3566
80.8k
  if (PARSER_MODE()) {
3567
69.3k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
69.3k
  }
3569
11.4k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
11.4k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
23.6k
yy157:
3573
23.6k
    YYDEBUG(157, *YYCURSOR);
3574
23.6k
    yych = *++YYCURSOR;
3575
23.6k
    if (yych == '=') goto yy275;
3576
16.0k
    YYDEBUG(158, *YYCURSOR);
3577
16.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
16.0k
#line 1622 "Zend/zend_language_scanner.l"
3579
16.0k
    {
3580
16.0k
  RETURN_TOKEN(T_COALESCE);
3581
16.0k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
6.04k
yy159:
3584
6.04k
    YYDEBUG(159, *YYCURSOR);
3585
6.04k
    yyaccept = 4;
3586
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
3587
6.04k
    if (yych == 'S') goto yy277;
3588
5.76k
    if (yych == 's') goto yy277;
3589
977
    goto yy48;
3590
4.86k
yy160:
3591
4.86k
    YYDEBUG(160, *YYCURSOR);
3592
4.86k
    yyaccept = 4;
3593
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
3594
4.86k
    if (yych == 'D') goto yy278;
3595
4.51k
    if (yych == 'd') goto yy278;
3596
1.40k
    goto yy48;
3597
10.3k
yy161:
3598
10.3k
    YYDEBUG(161, *YYCURSOR);
3599
10.3k
    yyaccept = 4;
3600
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
3601
10.3k
    if (yych == 'R') goto yy280;
3602
10.0k
    if (yych == 'r') goto yy280;
3603
2.04k
    goto yy48;
3604
36.0k
yy162:
3605
36.0k
    YYDEBUG(162, *YYCURSOR);
3606
36.0k
    yyaccept = 8;
3607
36.0k
    yych = *(YYMARKER = ++YYCURSOR);
3608
36.0k
    if (yybm[256+yych] & 128) {
3609
28.9k
      goto yy47;
3610
28.9k
    }
3611
7.10k
    if (yych == '\\') goto yy164;
3612
7.03k
yy163:
3613
7.03k
    YYDEBUG(163, *YYCURSOR);
3614
7.03k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
7.03k
#line 1510 "Zend/zend_language_scanner.l"
3616
7.03k
    {
3617
7.03k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
7.03k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
50.8k
yy164:
3621
50.8k
    YYDEBUG(164, *YYCURSOR);
3622
50.8k
    ++YYCURSOR;
3623
50.8k
    YYFILL(1);
3624
50.8k
    yych = *YYCURSOR;
3625
50.8k
    if (yych <= '_') {
3626
33.0k
      if (yych <= '@') goto yy86;
3627
11.6k
      if (yych <= 'Z') goto yy281;
3628
8.29k
      if (yych <= '^') goto yy86;
3629
1.40k
      goto yy281;
3630
17.8k
    } else {
3631
17.8k
      if (yych <= '`') goto yy86;
3632
16.5k
      if (yych <= 'z') goto yy281;
3633
11.0k
      if (yych <= 0x7F) goto yy86;
3634
3.91k
      goto yy281;
3635
11.0k
    }
3636
2.29k
yy165:
3637
2.29k
    YYDEBUG(165, *YYCURSOR);
3638
2.29k
    yych = *++YYCURSOR;
3639
2.29k
    if (yych == '<') goto yy284;
3640
874
    goto yy86;
3641
7.10k
yy166:
3642
7.10k
    YYDEBUG(166, *YYCURSOR);
3643
7.10k
    yyaccept = 4;
3644
7.10k
    yych = *(YYMARKER = ++YYCURSOR);
3645
7.10k
    if (yych == 'E') goto yy285;
3646
3.98k
    if (yych == 'e') goto yy285;
3647
651
    goto yy48;
3648
21.6k
yy167:
3649
21.6k
    YYDEBUG(167, *YYCURSOR);
3650
21.6k
    yyaccept = 4;
3651
21.6k
    yych = *(YYMARKER = ++YYCURSOR);
3652
21.6k
    if (yych <= 'T') {
3653
2.42k
      if (yych <= 'L') {
3654
1.14k
        if (yych <= 'K') goto yy48;
3655
494
        goto yy286;
3656
1.28k
      } else {
3657
1.28k
        if (yych <= 'R') goto yy48;
3658
767
        if (yych <= 'S') goto yy287;
3659
531
        goto yy288;
3660
767
      }
3661
19.2k
    } else {
3662
19.2k
      if (yych <= 'r') {
3663
5.88k
        if (yych == 'l') goto yy286;
3664
494
        goto yy48;
3665
13.3k
      } else {
3666
13.3k
        if (yych <= 's') goto yy287;
3667
5.23k
        if (yych <= 't') goto yy288;
3668
646
        goto yy48;
3669
5.23k
      }
3670
19.2k
    }
3671
31.6k
yy168:
3672
31.6k
    YYDEBUG(168, *YYCURSOR);
3673
31.6k
    yyaccept = 4;
3674
31.6k
    yych = *(YYMARKER = ++YYCURSOR);
3675
31.6k
    if (yych <= 'O') {
3676
2.06k
      if (yych == 'A') goto yy289;
3677
1.18k
      if (yych <= 'N') goto yy48;
3678
418
      goto yy290;
3679
29.6k
    } else {
3680
29.6k
      if (yych <= 'a') {
3681
24.8k
        if (yych <= '`') goto yy48;
3682
24.5k
        goto yy289;
3683
24.8k
      } else {
3684
4.74k
        if (yych == 'o') goto yy290;
3685
957
        goto yy48;
3686
4.74k
      }
3687
29.6k
    }
3688
15.1k
yy169:
3689
15.1k
    YYDEBUG(169, *YYCURSOR);
3690
15.1k
    yyaccept = 4;
3691
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
3692
15.1k
    if (yych == 'N') goto yy291;
3693
11.4k
    if (yych == 'n') goto yy291;
3694
1.70k
    goto yy48;
3695
15.8k
yy170:
3696
15.8k
    YYDEBUG(170, *YYCURSOR);
3697
15.8k
    yyaccept = 4;
3698
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
3699
15.8k
    if (yych <= 'F') {
3700
2.99k
      if (yych == 'C') goto yy292;
3701
1.76k
      if (yych <= 'E') goto yy48;
3702
199
      goto yy293;
3703
12.8k
    } else {
3704
12.8k
      if (yych <= 'c') {
3705
5.76k
        if (yych <= 'b') goto yy48;
3706
4.93k
        goto yy292;
3707
7.07k
      } else {
3708
7.07k
        if (yych == 'f') goto yy293;
3709
1.35k
        goto yy48;
3710
7.07k
      }
3711
12.8k
    }
3712
6.73k
yy171:
3713
6.73k
    YYDEBUG(171, *YYCURSOR);
3714
6.73k
    yyaccept = 4;
3715
6.73k
    yych = *(YYMARKER = ++YYCURSOR);
3716
6.73k
    if (yych == 'E') goto yy294;
3717
6.52k
    if (yych == 'e') goto yy294;
3718
1.35k
    goto yy48;
3719
5.87k
yy172:
3720
5.87k
    YYDEBUG(172, *YYCURSOR);
3721
5.87k
    yyaccept = 9;
3722
5.87k
    yych = *(YYMARKER = ++YYCURSOR);
3723
5.87k
    if (yybm[256+yych] & 128) {
3724
3.97k
      goto yy47;
3725
3.97k
    }
3726
1.89k
    if (yych == '\\') goto yy164;
3727
1.89k
yy173:
3728
1.89k
    YYDEBUG(173, *YYCURSOR);
3729
1.89k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
1.89k
#line 1478 "Zend/zend_language_scanner.l"
3731
1.89k
    {
3732
1.89k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
1.89k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
6.48k
yy174:
3736
6.48k
    YYDEBUG(174, *YYCURSOR);
3737
6.48k
    yyaccept = 4;
3738
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
3739
6.48k
    if (yych == 'H') goto yy296;
3740
6.28k
    if (yych == 'h') goto yy296;
3741
2.07k
    goto yy48;
3742
13.6k
yy175:
3743
13.6k
    YYDEBUG(175, *YYCURSOR);
3744
13.6k
    yyaccept = 4;
3745
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
3746
13.6k
    if (yych == 'S') goto yy297;
3747
13.2k
    if (yych == 's') goto yy297;
3748
3.67k
    goto yy48;
3749
4.83k
yy176:
3750
4.83k
    YYDEBUG(176, *YYCURSOR);
3751
4.83k
    yyaccept = 4;
3752
4.83k
    yych = *(YYMARKER = ++YYCURSOR);
3753
4.83k
    if (yych == 'P') goto yy298;
3754
4.28k
    if (yych == 'p') goto yy298;
3755
1.92k
    goto yy48;
3756
123k
yy177:
3757
123k
    YYDEBUG(177, *YYCURSOR);
3758
123k
    yyaccept = 4;
3759
123k
    yych = *(YYMARKER = ++YYCURSOR);
3760
123k
    if (yych <= 'U') {
3761
11.0k
      if (yych == 'D') goto yy299;
3762
5.92k
      if (yych <= 'T') goto yy48;
3763
2.14k
      goto yy300;
3764
112k
    } else {
3765
112k
      if (yych <= 'd') {
3766
18.1k
        if (yych <= 'c') goto yy48;
3767
17.2k
        goto yy299;
3768
94.2k
      } else {
3769
94.2k
        if (yych == 'u') goto yy300;
3770
4.59k
        goto yy48;
3771
94.2k
      }
3772
112k
    }
3773
4.72k
yy178:
3774
4.72k
    YYDEBUG(178, *YYCURSOR);
3775
4.72k
    yyaccept = 4;
3776
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
3777
4.72k
    if (yych == 'A') goto yy301;
3778
4.48k
    if (yych == 'a') goto yy301;
3779
1.26k
    goto yy48;
3780
20.6k
yy179:
3781
20.6k
    YYDEBUG(179, *YYCURSOR);
3782
20.6k
    yyaccept = 4;
3783
20.6k
    yych = *(YYMARKER = ++YYCURSOR);
3784
20.6k
    if (yych <= 'T') {
3785
2.78k
      if (yych == 'I') goto yy302;
3786
2.55k
      if (yych <= 'S') goto yy48;
3787
884
      goto yy303;
3788
17.8k
    } else {
3789
17.8k
      if (yych <= 'i') {
3790
3.84k
        if (yych <= 'h') goto yy48;
3791
1.88k
        goto yy302;
3792
14.0k
      } else {
3793
14.0k
        if (yych == 't') goto yy303;
3794
1.37k
        goto yy48;
3795
14.0k
      }
3796
17.8k
    }
3797
13.3k
yy180:
3798
13.3k
    YYDEBUG(180, *YYCURSOR);
3799
13.3k
    yyaccept = 4;
3800
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
3801
13.3k
    if (yych == 'N') goto yy304;
3802
13.0k
    if (yych == 'n') goto yy304;
3803
2.93k
    goto yy48;
3804
21.1k
yy181:
3805
21.1k
    YYDEBUG(181, *YYCURSOR);
3806
21.1k
    yyaccept = 10;
3807
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
3808
21.1k
    if (yybm[256+yych] & 128) {
3809
1.69k
      goto yy47;
3810
1.69k
    }
3811
19.4k
    if (yych == '\\') goto yy164;
3812
19.4k
yy182:
3813
19.4k
    YYDEBUG(182, *YYCURSOR);
3814
19.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
19.4k
#line 1407 "Zend/zend_language_scanner.l"
3816
19.4k
    {
3817
19.4k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
19.4k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
20.5k
yy183:
3821
20.5k
    YYDEBUG(183, *YYCURSOR);
3822
20.5k
    yyaccept = 4;
3823
20.5k
    yych = *(YYMARKER = ++YYCURSOR);
3824
20.5k
    if (yych == 'R') goto yy305;
3825
19.0k
    if (yych == 'r') goto yy305;
3826
5.72k
    goto yy48;
3827
29.8k
yy184:
3828
29.8k
    YYDEBUG(184, *YYCURSOR);
3829
29.8k
    yyaccept = 4;
3830
29.8k
    yych = *(YYMARKER = ++YYCURSOR);
3831
29.8k
    if (yych == 'N') goto yy307;
3832
29.0k
    if (yych == 'n') goto yy307;
3833
725
    goto yy48;
3834
4.70k
yy185:
3835
4.70k
    YYDEBUG(185, *YYCURSOR);
3836
4.70k
    yyaccept = 4;
3837
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
3838
4.70k
    if (yych == 'O') goto yy308;
3839
3.32k
    if (yych == 'o') goto yy308;
3840
729
    goto yy48;
3841
3.38k
yy186:
3842
3.38k
    YYDEBUG(186, *YYCURSOR);
3843
3.38k
    yyaccept = 4;
3844
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
3845
3.38k
    if (yych == 'T') goto yy309;
3846
3.18k
    if (yych == 't') goto yy309;
3847
440
    goto yy48;
3848
5.52k
yy187:
3849
5.52k
    YYDEBUG(187, *YYCURSOR);
3850
5.52k
    yyaccept = 11;
3851
5.52k
    yych = *(YYMARKER = ++YYCURSOR);
3852
5.52k
    if (yybm[256+yych] & 128) {
3853
703
      goto yy47;
3854
703
    }
3855
4.81k
    if (yych == '\\') goto yy164;
3856
4.78k
yy188:
3857
4.78k
    YYDEBUG(188, *YYCURSOR);
3858
4.78k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
4.78k
#line 1454 "Zend/zend_language_scanner.l"
3860
4.78k
    {
3861
4.78k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
4.78k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
9.84k
yy189:
3865
9.84k
    YYDEBUG(189, *YYCURSOR);
3866
9.84k
    yyaccept = 4;
3867
9.84k
    yych = *(YYMARKER = ++YYCURSOR);
3868
9.84k
    if (yych == 'P') goto yy310;
3869
7.93k
    if (yych == 'p') goto yy310;
3870
1.82k
    goto yy48;
3871
43.7k
yy190:
3872
43.7k
    YYDEBUG(190, *YYCURSOR);
3873
43.7k
    yyaccept = 4;
3874
43.7k
    yych = *(YYMARKER = ++YYCURSOR);
3875
43.7k
    if (yych <= 'T') {
3876
5.34k
      if (yych <= 'C') {
3877
2.99k
        if (yych <= 'B') goto yy48;
3878
1.73k
        goto yy311;
3879
2.99k
      } else {
3880
2.35k
        if (yych <= 'R') goto yy48;
3881
1.88k
        if (yych <= 'S') goto yy312;
3882
1.31k
        goto yy313;
3883
1.88k
      }
3884
38.4k
    } else {
3885
38.4k
      if (yych <= 'r') {
3886
21.5k
        if (yych == 'c') goto yy311;
3887
14.0k
        goto yy48;
3888
21.5k
      } else {
3889
16.8k
        if (yych <= 's') goto yy312;
3890
10.0k
        if (yych <= 't') goto yy313;
3891
991
        goto yy48;
3892
10.0k
      }
3893
38.4k
    }
3894
5.94k
yy191:
3895
5.94k
    YYDEBUG(191, *YYCURSOR);
3896
5.94k
    yyaccept = 4;
3897
5.94k
    yych = *(YYMARKER = ++YYCURSOR);
3898
5.94k
    if (yych == 'S') goto yy314;
3899
5.47k
    if (yych == 's') goto yy314;
3900
2.05k
    goto yy48;
3901
5.21k
yy192:
3902
5.21k
    YYDEBUG(192, *YYCURSOR);
3903
5.21k
    yyaccept = 4;
3904
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
3905
5.21k
    if (yych == 'S') goto yy315;
3906
4.93k
    if (yych == 's') goto yy315;
3907
1.37k
    goto yy48;
3908
5.19k
yy193:
3909
5.19k
    YYDEBUG(193, *YYCURSOR);
3910
5.19k
    yyaccept = 4;
3911
5.19k
    yych = *(YYMARKER = ++YYCURSOR);
3912
5.19k
    if (yych == 'T') goto yy316;
3913
4.99k
    if (yych == 't') goto yy316;
3914
1.09k
    goto yy48;
3915
14.4k
yy194:
3916
14.4k
    YYDEBUG(194, *YYCURSOR);
3917
14.4k
    yyaccept = 4;
3918
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
3919
14.4k
    if (yych == 'M') goto yy317;
3920
13.4k
    if (yych == 'm') goto yy317;
3921
1.65k
    goto yy48;
3922
13.0k
yy195:
3923
13.0k
    YYDEBUG(195, *YYCURSOR);
3924
13.0k
    yyaccept = 4;
3925
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
3926
13.0k
    if (yych == 'W') goto yy318;
3927
12.4k
    if (yych == 'w') goto yy318;
3928
3.49k
    goto yy48;
3929
3.49k
yy196:
3930
3.28k
    YYDEBUG(196, *YYCURSOR);
3931
3.28k
    yyaccept = 12;
3932
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
3933
3.28k
    if (yybm[256+yych] & 128) {
3934
1.53k
      goto yy47;
3935
1.53k
    }
3936
1.74k
    if (yych == '\\') goto yy164;
3937
1.74k
yy197:
3938
1.74k
    YYDEBUG(197, *YYCURSOR);
3939
1.74k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
1.74k
#line 1930 "Zend/zend_language_scanner.l"
3941
1.74k
    {
3942
1.74k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
1.74k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
22.5k
yy198:
3946
22.5k
    YYDEBUG(198, *YYCURSOR);
3947
22.5k
    yyaccept = 4;
3948
22.5k
    yych = *(YYMARKER = ++YYCURSOR);
3949
22.5k
    if (yych <= 'O') {
3950
2.52k
      if (yych == 'I') goto yy320;
3951
2.16k
      if (yych <= 'N') goto yy48;
3952
1.18k
      goto yy321;
3953
20.0k
    } else {
3954
20.0k
      if (yych <= 'i') {
3955
13.4k
        if (yych <= 'h') goto yy48;
3956
12.9k
        goto yy320;
3957
13.4k
      } else {
3958
6.58k
        if (yych == 'o') goto yy321;
3959
655
        goto yy48;
3960
6.58k
      }
3961
20.0k
    }
3962
18.3k
yy199:
3963
18.3k
    YYDEBUG(199, *YYCURSOR);
3964
18.3k
    yyaccept = 4;
3965
18.3k
    yych = *(YYMARKER = ++YYCURSOR);
3966
18.3k
    if (yych == 'B') goto yy322;
3967
17.6k
    if (yych == 'b') goto yy322;
3968
942
    goto yy48;
3969
27.3k
yy200:
3970
27.3k
    YYDEBUG(200, *YYCURSOR);
3971
27.3k
    yyaccept = 4;
3972
27.3k
    yych = *(YYMARKER = ++YYCURSOR);
3973
27.3k
    if (yych <= 'T') {
3974
4.31k
      if (yych <= 'P') {
3975
3.32k
        if (yych == 'A') goto yy323;
3976
2.79k
        goto yy48;
3977
3.32k
      } else {
3978
990
        if (yych <= 'Q') goto yy324;
3979
527
        if (yych <= 'S') goto yy48;
3980
231
        goto yy325;
3981
527
      }
3982
23.0k
    } else {
3983
23.0k
      if (yych <= 'p') {
3984
6.59k
        if (yych == 'a') goto yy323;
3985
614
        goto yy48;
3986
16.4k
      } else {
3987
16.4k
        if (yych <= 'q') goto yy324;
3988
9.32k
        if (yych == 't') goto yy325;
3989
1.09k
        goto yy48;
3990
9.32k
      }
3991
23.0k
    }
3992
16.7k
yy201:
3993
16.7k
    YYDEBUG(201, *YYCURSOR);
3994
16.7k
    yyaccept = 4;
3995
16.7k
    yych = *(YYMARKER = ++YYCURSOR);
3996
16.7k
    if (yych == 'A') goto yy326;
3997
16.4k
    if (yych == 'a') goto yy326;
3998
8.12k
    goto yy48;
3999
8.12k
yy202:
4000
5.50k
    YYDEBUG(202, *YYCURSOR);
4001
5.50k
    yyaccept = 4;
4002
5.50k
    yych = *(YYMARKER = ++YYCURSOR);
4003
5.50k
    if (yych == 'I') goto yy327;
4004
4.09k
    if (yych == 'i') goto yy327;
4005
555
    goto yy48;
4006
4.62k
yy203:
4007
4.62k
    YYDEBUG(203, *YYCURSOR);
4008
4.62k
    yyaccept = 4;
4009
4.62k
    yych = *(YYMARKER = ++YYCURSOR);
4010
4.62k
    if (yych == 'R') goto yy328;
4011
4.36k
    if (yych == 'r') goto yy328;
4012
1.09k
    goto yy48;
4013
13.2k
yy204:
4014
13.2k
    YYDEBUG(204, *YYCURSOR);
4015
13.2k
    yyaccept = 4;
4016
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
4017
13.2k
    if (yych <= 'Y') {
4018
2.30k
      if (yych == 'A') goto yy329;
4019
1.76k
      if (yych <= 'X') goto yy48;
4020
225
      goto yy330;
4021
10.9k
    } else {
4022
10.9k
      if (yych <= 'a') {
4023
2.74k
        if (yych <= '`') goto yy48;
4024
2.33k
        goto yy329;
4025
8.19k
      } else {
4026
8.19k
        if (yych == 'y') goto yy330;
4027
4.04k
        goto yy48;
4028
8.19k
      }
4029
10.9k
    }
4030
6.47k
yy205:
4031
6.47k
    YYDEBUG(205, *YYCURSOR);
4032
6.47k
    yyaccept = 4;
4033
6.47k
    yych = *(YYMARKER = ++YYCURSOR);
4034
6.47k
    if (yych == 'S') goto yy332;
4035
5.86k
    if (yych == 's') goto yy332;
4036
1.53k
    goto yy48;
4037
6.04k
yy206:
4038
6.04k
    YYDEBUG(206, *YYCURSOR);
4039
6.04k
    yyaccept = 4;
4040
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
4041
6.04k
    if (yych == 'E') goto yy333;
4042
5.82k
    if (yych == 'e') goto yy333;
4043
1.24k
    goto yy48;
4044
6.44k
yy207:
4045
6.44k
    YYDEBUG(207, *YYCURSOR);
4046
6.44k
    yyaccept = 4;
4047
6.44k
    yych = *(YYMARKER = ++YYCURSOR);
4048
6.44k
    if (yych == 'R') goto yy335;
4049
6.24k
    if (yych == 'r') goto yy335;
4050
1.68k
    goto yy48;
4051
4.51k
yy208:
4052
4.51k
    YYDEBUG(208, *YYCURSOR);
4053
4.51k
    yyaccept = 4;
4054
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
4055
4.51k
    if (yych == 'I') goto yy337;
4056
4.27k
    if (yych == 'i') goto yy337;
4057
872
    goto yy48;
4058
3.19k
yy209:
4059
3.19k
    YYDEBUG(209, *YYCURSOR);
4060
3.19k
    yyaccept = 4;
4061
3.19k
    yych = *(YYMARKER = ++YYCURSOR);
4062
3.19k
    if (yych == 'R') goto yy338;
4063
2.66k
    if (yych == 'r') goto yy338;
4064
242
    goto yy48;
4065
61.3k
yy210:
4066
61.3k
    YYDEBUG(210, *YYCURSOR);
4067
61.3k
    yyaccept = 4;
4068
61.3k
    yych = *(YYMARKER = ++YYCURSOR);
4069
61.3k
    if (yych == 'E') goto yy340;
4070
59.3k
    if (yych == 'e') goto yy340;
4071
2.50k
    goto yy48;
4072
75.6k
yy211:
4073
75.6k
    YYDEBUG(211, *YYCURSOR);
4074
75.6k
    yyaccept = 13;
4075
75.6k
    YYMARKER = ++YYCURSOR;
4076
75.6k
    YYFILL(1);
4077
75.6k
    yych = *YYCURSOR;
4078
75.6k
    YYDEBUG(212, *YYCURSOR);
4079
75.6k
    if (yych <= '\\') {
4080
21.6k
      if (yych <= '@') {
4081
11.0k
        if (yych <= '/') goto yy213;
4082
3.82k
        if (yych <= '9') goto yy211;
4083
10.6k
      } else {
4084
10.6k
        if (yych <= 'Z') goto yy211;
4085
5.72k
        if (yych >= '\\') goto yy341;
4086
5.72k
      }
4087
54.0k
    } else {
4088
54.0k
      if (yych <= '`') {
4089
4.04k
        if (yych == '_') goto yy211;
4090
49.9k
      } else {
4091
49.9k
        if (yych <= 'z') goto yy211;
4092
9.47k
        if (yych >= 0x80) goto yy211;
4093
9.47k
      }
4094
54.0k
    }
4095
15.7k
yy213:
4096
15.7k
    YYDEBUG(213, *YYCURSOR);
4097
15.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
15.7k
#line 2447 "Zend/zend_language_scanner.l"
4099
15.7k
    {
4100
15.7k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
15.7k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
498
yy214:
4104
498
    YYDEBUG(214, *YYCURSOR);
4105
498
    ++YYCURSOR;
4106
498
    YYDEBUG(215, *YYCURSOR);
4107
498
    yyleng = YYCURSOR - SCNG(yy_text);
4108
498
#line 1910 "Zend/zend_language_scanner.l"
4109
498
    {
4110
498
  RETURN_TOKEN(T_XOR_EQUAL);
4111
498
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
64.2k
yy216:
4114
64.2k
    YYDEBUG(216, *YYCURSOR);
4115
64.2k
    yyaccept = 4;
4116
64.2k
    yych = *(YYMARKER = ++YYCURSOR);
4117
64.2k
    switch (yych) {
4118
1.30k
    case 'C':
4119
7.33k
    case 'c': goto yy342;
4120
586
    case 'D':
4121
5.04k
    case 'd': goto yy343;
4122
1.77k
    case 'F':
4123
10.3k
    case 'f': goto yy344;
4124
1.60k
    case 'H':
4125
5.21k
    case 'h': goto yy345;
4126
629
    case 'L':
4127
3.72k
    case 'l': goto yy346;
4128
774
    case 'M':
4129
6.04k
    case 'm': goto yy347;
4130
1.38k
    case 'N':
4131
5.44k
    case 'n': goto yy348;
4132
5.68k
    case 'P':
4133
7.86k
    case 'p': goto yy349;
4134
326
    case 'T':
4135
6.31k
    case 't': goto yy350;
4136
6.88k
    default:  goto yy48;
4137
64.2k
    }
4138
734
yy217:
4139
734
    YYDEBUG(217, *YYCURSOR);
4140
734
    ++YYCURSOR;
4141
734
    YYDEBUG(218, *YYCURSOR);
4142
734
    yyleng = YYCURSOR - SCNG(yy_text);
4143
734
#line 1906 "Zend/zend_language_scanner.l"
4144
734
    {
4145
734
  RETURN_TOKEN(T_OR_EQUAL);
4146
734
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
4.87k
yy219:
4149
4.87k
    YYDEBUG(219, *YYCURSOR);
4150
4.87k
    ++YYCURSOR;
4151
4.87k
    YYDEBUG(220, *YYCURSOR);
4152
4.87k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
4.87k
#line 1918 "Zend/zend_language_scanner.l"
4154
4.87k
    {
4155
4.87k
  RETURN_TOKEN(T_PIPE);
4156
4.87k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
4.04k
yy221:
4159
4.04k
    YYDEBUG(221, *YYCURSOR);
4160
4.04k
    ++YYCURSOR;
4161
4.04k
    YYDEBUG(222, *YYCURSOR);
4162
4.04k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
4.04k
#line 1922 "Zend/zend_language_scanner.l"
4164
4.04k
    {
4165
4.04k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
4.04k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
1.69k
yy223:
4169
1.69k
    YYDEBUG(223, *YYCURSOR);
4170
1.69k
    ++YYCURSOR;
4171
1.69k
    YYDEBUG(224, *YYCURSOR);
4172
1.69k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
1.69k
#line 1838 "Zend/zend_language_scanner.l"
4174
1.69k
    {
4175
1.69k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
1.69k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
308k
yy225:
4179
308k
    YYDEBUG(225, *YYCURSOR);
4180
308k
    ++YYCURSOR;
4181
308k
    YYFILL(1);
4182
308k
    yych = *YYCURSOR;
4183
308k
    YYDEBUG(226, *YYCURSOR);
4184
308k
    if (yybm[0+yych] & 2) {
4185
211k
      goto yy225;
4186
211k
    }
4187
97.5k
    if (yych <= 0x00) goto yy86;
4188
95.5k
    goto yy84;
4189
115k
yy227:
4190
115k
    YYDEBUG(227, *YYCURSOR);
4191
115k
    ++YYCURSOR;
4192
115k
    YYFILL(1);
4193
115k
    yych = *YYCURSOR;
4194
115k
    YYDEBUG(228, *YYCURSOR);
4195
115k
    if (yych <= 0x1F) {
4196
9.86k
      if (yych <= '\t') {
4197
1.13k
        if (yych <= 0x00) goto yy86;
4198
863
        if (yych <= 0x08) goto yy225;
4199
269
        goto yy227;
4200
8.73k
      } else {
4201
8.73k
        if (yych <= '\n') goto yy84;
4202
7.13k
        if (yych == '\r') goto yy84;
4203
6.60k
        goto yy225;
4204
7.13k
      }
4205
105k
    } else {
4206
105k
      if (yych <= '$') {
4207
7.11k
        if (yych <= ' ') goto yy227;
4208
6.84k
        if (yych <= '"') goto yy225;
4209
6.35k
        if (yych <= '#') goto yy351;
4210
1.08k
        goto yy352;
4211
98.8k
      } else {
4212
98.8k
        if (yych <= '-') goto yy225;
4213
45.9k
        if (yych <= '.') goto yy353;
4214
30.3k
        if (yych <= '/') goto yy354;
4215
13.3k
        goto yy225;
4216
30.3k
      }
4217
105k
    }
4218
1.27k
yy229:
4219
1.27k
    YYDEBUG(229, *YYCURSOR);
4220
1.27k
    yych = *++YYCURSOR;
4221
1.27k
    if (yych == '.') goto yy88;
4222
687
    goto yy86;
4223
103k
yy230:
4224
103k
    YYDEBUG(230, *YYCURSOR);
4225
103k
    ++YYCURSOR;
4226
103k
    YYFILL(1);
4227
103k
    yych = *YYCURSOR;
4228
103k
    YYDEBUG(231, *YYCURSOR);
4229
103k
    if (yybm[0+yych] & 4) {
4230
93.1k
      goto yy230;
4231
93.1k
    }
4232
9.97k
    if (yych <= 0x00) goto yy86;
4233
4.13k
    goto yy355;
4234
4.85k
yy232:
4235
4.85k
    YYDEBUG(232, *YYCURSOR);
4236
4.85k
    yych = *++YYCURSOR;
4237
4.85k
    if (yych == 'R') goto yy357;
4238
4.55k
    if (yych == 'r') goto yy357;
4239
622
    goto yy86;
4240
3.38k
yy233:
4241
3.38k
    YYDEBUG(233, *YYCURSOR);
4242
3.38k
    yych = *++YYCURSOR;
4243
3.38k
    if (yych == 'N') goto yy358;
4244
3.16k
    if (yych == 'n') goto yy358;
4245
610
    goto yy86;
4246
3.55k
yy234:
4247
3.55k
    YYDEBUG(234, *YYCURSOR);
4248
3.55k
    yych = *++YYCURSOR;
4249
3.55k
    if (yych == 'O') goto yy359;
4250
3.33k
    if (yych == 'o') goto yy359;
4251
548
    goto yy86;
4252
2.97k
yy235:
4253
2.97k
    YYDEBUG(235, *YYCURSOR);
4254
2.97k
    yych = *++YYCURSOR;
4255
2.97k
    if (yych == 'U') goto yy360;
4256
2.77k
    if (yych == 'u') goto yy360;
4257
503
    goto yy86;
4258
3.48k
yy236:
4259
3.48k
    YYDEBUG(236, *YYCURSOR);
4260
3.48k
    yych = *++YYCURSOR;
4261
3.48k
    if (yych == 'O') goto yy361;
4262
1.34k
    if (yych == 'o') goto yy361;
4263
433
    goto yy86;
4264
5.76k
yy237:
4265
5.76k
    YYDEBUG(237, *YYCURSOR);
4266
5.76k
    yych = *++YYCURSOR;
4267
5.76k
    if (yych == 'T') goto yy362;
4268
4.68k
    if (yych == 't') goto yy362;
4269
981
    goto yy86;
4270
3.13k
yy238:
4271
3.13k
    YYDEBUG(238, *YYCURSOR);
4272
3.13k
    yych = *++YYCURSOR;
4273
3.13k
    if (yych == 'J') goto yy363;
4274
2.57k
    if (yych == 'j') goto yy363;
4275
341
    goto yy86;
4276
2.56k
yy239:
4277
2.56k
    YYDEBUG(239, *YYCURSOR);
4278
2.56k
    yych = *++YYCURSOR;
4279
2.56k
    if (yych == 'A') goto yy364;
4280
1.97k
    if (yych == 'a') goto yy364;
4281
1.12k
    goto yy86;
4282
4.95k
yy240:
4283
4.95k
    YYDEBUG(240, *YYCURSOR);
4284
4.95k
    yych = *++YYCURSOR;
4285
4.95k
    if (yych == 'R') goto yy365;
4286
4.41k
    if (yych == 'r') goto yy365;
4287
758
    goto yy86;
4288
3.75k
yy241:
4289
3.75k
    YYDEBUG(241, *YYCURSOR);
4290
3.75k
    yych = *++YYCURSOR;
4291
3.75k
    if (yych == 'S') goto yy366;
4292
3.15k
    if (yych == 's') goto yy366;
4293
739
    goto yy86;
4294
2.52k
yy242:
4295
2.52k
    YYDEBUG(242, *YYCURSOR);
4296
2.52k
    yych = *++YYCURSOR;
4297
2.52k
    if (yych == 'I') goto yy367;
4298
2.31k
    if (yych == 'i') goto yy367;
4299
301
    goto yy86;
4300
301
yy243:
4301
276
    YYDEBUG(243, *YYCURSOR);
4302
276
    ++YYCURSOR;
4303
276
    YYDEBUG(244, *YYCURSOR);
4304
276
    yyleng = YYCURSOR - SCNG(yy_text);
4305
276
#line 1878 "Zend/zend_language_scanner.l"
4306
276
    {
4307
276
  RETURN_TOKEN(T_POW_EQUAL);
4308
276
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
9.21k
yy245:
4311
9.21k
    YYDEBUG(245, *YYCURSOR);
4312
9.21k
    ++YYCURSOR;
4313
9.21k
    YYDEBUG(246, *YYCURSOR);
4314
9.21k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
9.21k
#line 1618 "Zend/zend_language_scanner.l"
4316
9.21k
    {
4317
9.21k
  RETURN_TOKEN(T_ELLIPSIS);
4318
9.21k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
1.67k
yy247:
4321
1.67k
    YYDEBUG(247, *YYCURSOR);
4322
1.67k
    ++YYCURSOR;
4323
1.67k
    YYFILL(1);
4324
1.67k
    yych = *YYCURSOR;
4325
1.67k
    if (yych <= '/') goto yy86;
4326
1.31k
    if (yych <= '9') goto yy123;
4327
766
    goto yy86;
4328
5.72k
yy248:
4329
5.72k
    YYDEBUG(248, *YYCURSOR);
4330
5.72k
    yych = *++YYCURSOR;
4331
5.72k
    if (yych <= '\f') {
4332
1.99k
      if (yych <= 0x08) goto yy86;
4333
1.64k
      if (yych <= '\n') goto yy368;
4334
258
      goto yy86;
4335
3.72k
    } else {
4336
3.72k
      if (yych <= '\r') goto yy368;
4337
3.44k
      if (yych == ' ') goto yy368;
4338
1.83k
      goto yy86;
4339
3.44k
    }
4340
32.4k
yy249:
4341
32.4k
    YYDEBUG(249, *YYCURSOR);
4342
32.4k
    yyaccept = 14;
4343
32.4k
    YYMARKER = ++YYCURSOR;
4344
32.4k
    YYFILL(1);
4345
32.4k
    yych = *YYCURSOR;
4346
32.4k
    YYDEBUG(250, *YYCURSOR);
4347
32.4k
    if (yybm[0+yych] & 8) {
4348
30.0k
      goto yy249;
4349
30.0k
    }
4350
2.37k
    if (yych == '_') goto yy134;
4351
1.36k
yy251:
4352
1.36k
    YYDEBUG(251, *YYCURSOR);
4353
1.36k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
1.36k
#line 2011 "Zend/zend_language_scanner.l"
4355
1.36k
    {
4356
  /* The +/- 2 skips "0b" */
4357
1.36k
  size_t len = yyleng - 2;
4358
1.36k
  char *end, *bin = yytext + 2;
4359
1.36k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
2.44k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
1.08k
    ++bin;
4364
1.08k
    --len;
4365
1.08k
  }
4366
4367
1.36k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
1.36k
  if (contains_underscores) {
4370
539
    bin = estrndup(bin, len);
4371
539
    strip_underscores(bin, &len);
4372
539
  }
4373
4374
1.36k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
943
    if (len == 0) {
4376
369
      ZVAL_LONG(zendlval, 0);
4377
574
    } else {
4378
574
      errno = 0;
4379
574
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
574
      ZEND_ASSERT(!errno && end == bin + len);
4381
574
    }
4382
943
    if (contains_underscores) {
4383
325
      efree(bin);
4384
325
    }
4385
943
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
943
  } else {
4387
424
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
424
    ZEND_ASSERT(end == bin + len);
4390
424
    if (contains_underscores) {
4391
214
      efree(bin);
4392
214
    }
4393
424
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
424
  }
4395
1.36k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
9.72k
yy252:
4398
9.72k
    YYDEBUG(252, *YYCURSOR);
4399
9.72k
    ++YYCURSOR;
4400
9.72k
    YYFILL(1);
4401
9.72k
    yych = *YYCURSOR;
4402
9.72k
    if (yych <= '/') goto yy86;
4403
9.37k
    if (yych >= ':') goto yy86;
4404
58.6k
yy253:
4405
58.6k
    YYDEBUG(253, *YYCURSOR);
4406
58.6k
    yyaccept = 5;
4407
58.6k
    YYMARKER = ++YYCURSOR;
4408
58.6k
    YYFILL(1);
4409
58.6k
    yych = *YYCURSOR;
4410
58.6k
    YYDEBUG(254, *YYCURSOR);
4411
58.6k
    if (yych <= '/') goto yy125;
4412
44.1k
    if (yych <= '9') goto yy253;
4413
9.19k
    if (yych == '_') goto yy252;
4414
8.70k
    goto yy125;
4415
15.1k
yy255:
4416
15.1k
    YYDEBUG(255, *YYCURSOR);
4417
15.1k
    yyaccept = 15;
4418
15.1k
    YYMARKER = ++YYCURSOR;
4419
15.1k
    YYFILL(1);
4420
15.1k
    yych = *YYCURSOR;
4421
15.1k
    YYDEBUG(256, *YYCURSOR);
4422
15.1k
    if (yybm[0+yych] & 16) {
4423
12.1k
      goto yy255;
4424
12.1k
    }
4425
3.03k
    if (yych == '_') goto yy136;
4426
2.19k
yy257:
4427
2.19k
    YYDEBUG(257, *YYCURSOR);
4428
2.19k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
2.19k
#line 2053 "Zend/zend_language_scanner.l"
4430
2.19k
    {
4431
  /* The +/- 2 skips "0o" */
4432
2.19k
  size_t len = yyleng - 2;
4433
2.19k
  char *end, *octal = yytext + 2;
4434
2.19k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
3.15k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
958
    ++octal;
4439
958
    --len;
4440
958
  }
4441
4442
2.19k
  if (len == 0) {
4443
440
    ZVAL_LONG(zendlval, 0);
4444
440
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
440
  }
4446
4447
1.75k
  if (contains_underscores) {
4448
672
    octal = estrndup(octal, len);
4449
672
    strip_underscores(octal, &len);
4450
672
  }
4451
4452
1.75k
  errno = 0;
4453
4454
1.75k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
1.75k
  ZEND_ASSERT(end == octal + len);
4457
4458
1.75k
  if (!errno) {
4459
1.34k
    if (contains_underscores) {
4460
460
      efree(octal);
4461
460
    }
4462
1.34k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
1.34k
  }
4464
4465
  /* Overflow */
4466
412
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
412
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
412
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
412
  ZEND_ASSERT(!errno);
4473
412
  ZEND_ASSERT(end == octal + len);
4474
412
  if (contains_underscores) {
4475
212
    efree(octal);
4476
212
  }
4477
412
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
412
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
30.2k
yy258:
4481
30.2k
    YYDEBUG(258, *YYCURSOR);
4482
30.2k
    yyaccept = 16;
4483
30.2k
    YYMARKER = ++YYCURSOR;
4484
30.2k
    YYFILL(1);
4485
30.2k
    yych = *YYCURSOR;
4486
30.2k
    YYDEBUG(259, *YYCURSOR);
4487
30.2k
    if (yybm[0+yych] & 32) {
4488
26.5k
      goto yy258;
4489
26.5k
    }
4490
3.77k
    if (yych == '_') goto yy137;
4491
2.66k
yy260:
4492
2.66k
    YYDEBUG(260, *YYCURSOR);
4493
2.66k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
2.66k
#line 2166 "Zend/zend_language_scanner.l"
4495
2.66k
    {
4496
  /* The +/- 2 skips "0x" */
4497
2.66k
  size_t len = yyleng - 2;
4498
2.66k
  char *end, *hex = yytext + 2;
4499
2.66k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
5.21k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
2.55k
    ++hex;
4504
2.55k
    --len;
4505
2.55k
  }
4506
4507
2.66k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
2.66k
  if (contains_underscores) {
4510
977
    hex = estrndup(hex, len);
4511
977
    strip_underscores(hex, &len);
4512
977
  }
4513
4514
2.66k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
1.68k
    if (len == 0) {
4516
479
      ZVAL_LONG(zendlval, 0);
4517
1.20k
    } else {
4518
1.20k
      errno = 0;
4519
1.20k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
1.20k
      ZEND_ASSERT(!errno && end == hex + len);
4521
1.20k
    }
4522
1.68k
    if (contains_underscores) {
4523
481
      efree(hex);
4524
481
    }
4525
1.68k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
1.68k
  } else {
4527
978
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
978
    ZEND_ASSERT(end == hex + len);
4530
978
    if (contains_underscores) {
4531
496
      efree(hex);
4532
496
    }
4533
978
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
978
  }
4535
2.66k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
2.32M
yy261:
4538
2.32M
    YYDEBUG(261, *YYCURSOR);
4539
2.32M
    ++YYCURSOR;
4540
2.32M
    YYFILL(2);
4541
2.32M
    yych = *YYCURSOR;
4542
2.32M
    YYDEBUG(262, *YYCURSOR);
4543
2.32M
    if (yych <= '\'') {
4544
21.3k
      if (yych <= ' ') {
4545
8.94k
        if (yych == '\t') goto yy261;
4546
8.45k
        if (yych <= 0x1F) goto yy86;
4547
521
        goto yy261;
4548
12.4k
      } else {
4549
12.4k
        if (yych == '"') goto yy370;
4550
10.2k
        if (yych <= '&') goto yy86;
4551
5.80k
        goto yy371;
4552
10.2k
      }
4553
2.30M
    } else {
4554
2.30M
      if (yych <= '_') {
4555
389k
        if (yych <= '@') goto yy86;
4556
367k
        if (yych <= 'Z') goto yy372;
4557
3.33k
        if (yych <= '^') goto yy86;
4558
2.79k
        goto yy372;
4559
1.91M
      } else {
4560
1.91M
        if (yych <= '`') goto yy86;
4561
1.91M
        if (yych <= 'z') goto yy372;
4562
1.72M
        if (yych <= 0x7F) goto yy86;
4563
1.72M
        goto yy372;
4564
1.72M
      }
4565
2.30M
    }
4566
1.41k
yy263:
4567
1.41k
    YYDEBUG(263, *YYCURSOR);
4568
1.41k
    ++YYCURSOR;
4569
1.41k
    YYDEBUG(264, *YYCURSOR);
4570
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
1.41k
#line 1894 "Zend/zend_language_scanner.l"
4572
1.41k
    {
4573
1.41k
  RETURN_TOKEN(T_SL_EQUAL);
4574
1.41k
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
881
yy265:
4577
881
    YYDEBUG(265, *YYCURSOR);
4578
881
    ++YYCURSOR;
4579
881
    YYDEBUG(266, *YYCURSOR);
4580
881
    yyleng = YYCURSOR - SCNG(yy_text);
4581
881
#line 1850 "Zend/zend_language_scanner.l"
4582
881
    {
4583
881
  RETURN_TOKEN(T_SPACESHIP);
4584
881
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
5.61k
yy267:
4587
5.61k
    YYDEBUG(267, *YYCURSOR);
4588
5.61k
    ++YYCURSOR;
4589
5.61k
    YYDEBUG(268, *YYCURSOR);
4590
5.61k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
5.61k
#line 1834 "Zend/zend_language_scanner.l"
4592
5.61k
    {
4593
5.61k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
5.61k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
240
yy269:
4597
240
    YYDEBUG(269, *YYCURSOR);
4598
240
    ++YYCURSOR;
4599
240
    YYDEBUG(270, *YYCURSOR);
4600
240
    yyleng = YYCURSOR - SCNG(yy_text);
4601
240
#line 1898 "Zend/zend_language_scanner.l"
4602
240
    {
4603
240
  RETURN_TOKEN(T_SR_EQUAL);
4604
240
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
7.72k
yy271:
4607
7.72k
    YYDEBUG(271, *YYCURSOR);
4608
7.72k
    ++YYCURSOR;
4609
7.72k
    YYDEBUG(272, *YYCURSOR);
4610
7.72k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
7.72k
#line 1592 "Zend/zend_language_scanner.l"
4612
7.72k
    {
4613
7.72k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
7.72k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
7.72k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
3.22k
yy273:
4618
3.22k
    YYDEBUG(273, *YYCURSOR);
4619
3.22k
    ++YYCURSOR;
4620
3.22k
    goto yy156;
4621
1.38k
yy274:
4622
1.38k
    YYDEBUG(274, *YYCURSOR);
4623
1.38k
    yych = *++YYCURSOR;
4624
1.38k
    if (yych == '\n') goto yy273;
4625
1.16k
    goto yy156;
4626
7.62k
yy275:
4627
7.62k
    YYDEBUG(275, *YYCURSOR);
4628
7.62k
    ++YYCURSOR;
4629
7.62k
    YYDEBUG(276, *YYCURSOR);
4630
7.62k
    yyleng = YYCURSOR - SCNG(yy_text);
4631
7.62k
#line 1914 "Zend/zend_language_scanner.l"
4632
7.62k
    {
4633
7.62k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
7.62k
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
5.06k
yy277:
4637
5.06k
    YYDEBUG(277, *YYCURSOR);
4638
5.06k
    yyaccept = 4;
4639
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
4640
5.06k
    if (yych == 'T') goto yy374;
4641
4.49k
    if (yych == 't') goto yy374;
4642
259
    goto yy48;
4643
3.45k
yy278:
4644
3.45k
    YYDEBUG(278, *YYCURSOR);
4645
3.45k
    yyaccept = 17;
4646
3.45k
    yych = *(YYMARKER = ++YYCURSOR);
4647
3.45k
    if (yybm[256+yych] & 128) {
4648
334
      goto yy47;
4649
334
    }
4650
3.12k
    if (yych == '\\') goto yy164;
4651
3.05k
yy279:
4652
3.05k
    YYDEBUG(279, *YYCURSOR);
4653
3.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
3.05k
#line 1934 "Zend/zend_language_scanner.l"
4655
3.05k
    {
4656
3.05k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
3.05k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
8.34k
yy280:
4660
8.34k
    YYDEBUG(280, *YYCURSOR);
4661
8.34k
    yyaccept = 4;
4662
8.34k
    yych = *(YYMARKER = ++YYCURSOR);
4663
8.34k
    if (yych == 'A') goto yy375;
4664
7.81k
    if (yych == 'a') goto yy375;
4665
774
    goto yy48;
4666
42.0k
yy281:
4667
42.0k
    YYDEBUG(281, *YYCURSOR);
4668
42.0k
    yyaccept = 18;
4669
42.0k
    YYMARKER = ++YYCURSOR;
4670
42.0k
    YYFILL(1);
4671
42.0k
    yych = *YYCURSOR;
4672
42.0k
    YYDEBUG(282, *YYCURSOR);
4673
42.0k
    if (yych <= '\\') {
4674
15.5k
      if (yych <= '@') {
4675
8.88k
        if (yych <= '/') goto yy283;
4676
5.15k
        if (yych <= '9') goto yy281;
4677
6.63k
      } else {
4678
6.63k
        if (yych <= 'Z') goto yy281;
4679
4.20k
        if (yych >= '\\') goto yy164;
4680
4.20k
      }
4681
26.5k
    } else {
4682
26.5k
      if (yych <= '`') {
4683
1.79k
        if (yych == '_') goto yy281;
4684
24.7k
      } else {
4685
24.7k
        if (yych <= 'z') goto yy281;
4686
8.55k
        if (yych >= 0x80) goto yy281;
4687
8.55k
      }
4688
26.5k
    }
4689
11.7k
yy283:
4690
11.7k
    YYDEBUG(283, *YYCURSOR);
4691
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
11.7k
#line 2443 "Zend/zend_language_scanner.l"
4693
11.7k
    {
4694
11.7k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
11.7k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
1.42k
yy284:
4698
1.42k
    YYDEBUG(284, *YYCURSOR);
4699
1.42k
    yych = *++YYCURSOR;
4700
1.42k
    if (yych == '<') goto yy261;
4701
540
    goto yy86;
4702
6.44k
yy285:
4703
6.44k
    YYDEBUG(285, *YYCURSOR);
4704
6.44k
    yyaccept = 4;
4705
6.44k
    yych = *(YYMARKER = ++YYCURSOR);
4706
6.44k
    if (yych == 'A') goto yy376;
4707
6.16k
    if (yych == 'a') goto yy376;
4708
558
    goto yy48;
4709
5.88k
yy286:
4710
5.88k
    YYDEBUG(286, *YYCURSOR);
4711
5.88k
    yyaccept = 4;
4712
5.88k
    yych = *(YYMARKER = ++YYCURSOR);
4713
5.88k
    if (yych == 'L') goto yy377;
4714
5.20k
    if (yych == 'l') goto yy377;
4715
653
    goto yy48;
4716
8.32k
yy287:
4717
8.32k
    YYDEBUG(287, *YYCURSOR);
4718
8.32k
    yyaccept = 4;
4719
8.32k
    yych = *(YYMARKER = ++YYCURSOR);
4720
8.32k
    if (yych == 'E') goto yy378;
4721
5.53k
    if (yych == 'e') goto yy378;
4722
552
    goto yy48;
4723
5.11k
yy288:
4724
5.11k
    YYDEBUG(288, *YYCURSOR);
4725
5.11k
    yyaccept = 4;
4726
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
4727
5.11k
    if (yych == 'C') goto yy380;
4728
4.88k
    if (yych == 'c') goto yy380;
4729
599
    goto yy48;
4730
25.4k
yy289:
4731
25.4k
    YYDEBUG(289, *YYCURSOR);
4732
25.4k
    yyaccept = 4;
4733
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
4734
25.4k
    if (yych == 'S') goto yy381;
4735
24.6k
    if (yych == 's') goto yy381;
4736
1.27k
    goto yy48;
4737
4.20k
yy290:
4738
4.20k
    YYDEBUG(290, *YYCURSOR);
4739
4.20k
    yyaccept = 4;
4740
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
4741
4.20k
    if (yych == 'N') goto yy382;
4742
3.96k
    if (yych == 'n') goto yy382;
4743
479
    goto yy48;
4744
13.4k
yy291:
4745
13.4k
    YYDEBUG(291, *YYCURSOR);
4746
13.4k
    yyaccept = 4;
4747
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
4748
13.4k
    if (yych <= 'T') {
4749
2.76k
      if (yych <= 'R') goto yy48;
4750
2.19k
      if (yych <= 'S') goto yy383;
4751
1.64k
      goto yy384;
4752
10.7k
    } else {
4753
10.7k
      if (yych <= 'r') goto yy48;
4754
9.75k
      if (yych <= 's') goto yy383;
4755
3.19k
      if (yych <= 't') goto yy384;
4756
503
      goto yy48;
4757
3.19k
    }
4758
6.16k
yy292:
4759
6.16k
    YYDEBUG(292, *YYCURSOR);
4760
6.16k
    yyaccept = 4;
4761
6.16k
    yych = *(YYMARKER = ++YYCURSOR);
4762
6.16k
    if (yych == 'L') goto yy385;
4763
4.94k
    if (yych == 'l') goto yy385;
4764
546
    goto yy48;
4765
5.91k
yy293:
4766
5.91k
    YYDEBUG(293, *YYCURSOR);
4767
5.91k
    yyaccept = 4;
4768
5.91k
    yych = *(YYMARKER = ++YYCURSOR);
4769
5.91k
    if (yych == 'A') goto yy386;
4770
5.40k
    if (yych == 'a') goto yy386;
4771
2.80k
    goto yy48;
4772
5.38k
yy294:
4773
5.38k
    YYDEBUG(294, *YYCURSOR);
4774
5.38k
    yyaccept = 19;
4775
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
4776
5.38k
    if (yybm[256+yych] & 128) {
4777
599
      goto yy47;
4778
599
    }
4779
4.78k
    if (yych == '\\') goto yy164;
4780
4.76k
yy295:
4781
4.76k
    YYDEBUG(295, *YYCURSOR);
4782
4.76k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
4.76k
#line 1403 "Zend/zend_language_scanner.l"
4784
4.76k
    {
4785
4.76k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
4.76k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
4.41k
yy296:
4789
4.41k
    YYDEBUG(296, *YYCURSOR);
4790
4.41k
    yyaccept = 4;
4791
4.41k
    yych = *(YYMARKER = ++YYCURSOR);
4792
4.41k
    if (yych == 'O') goto yy387;
4793
4.13k
    if (yych == 'o') goto yy387;
4794
354
    goto yy48;
4795
9.99k
yy297:
4796
9.99k
    YYDEBUG(297, *YYCURSOR);
4797
9.99k
    yyaccept = 4;
4798
9.99k
    yych = *(YYMARKER = ++YYCURSOR);
4799
9.99k
    if (yych == 'E') goto yy389;
4800
9.73k
    if (yych == 'e') goto yy389;
4801
467
    goto yy48;
4802
2.91k
yy298:
4803
2.91k
    YYDEBUG(298, *YYCURSOR);
4804
2.91k
    yyaccept = 4;
4805
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
4806
2.91k
    if (yych == 'T') goto yy391;
4807
2.41k
    if (yych == 't') goto yy391;
4808
842
    goto yy48;
4809
22.3k
yy299:
4810
22.3k
    YYDEBUG(299, *YYCURSOR);
4811
22.3k
    yyaccept = 4;
4812
22.3k
    yych = *(YYMARKER = ++YYCURSOR);
4813
22.3k
    switch (yych) {
4814
2.36k
    case 'D':
4815
5.16k
    case 'd': goto yy392;
4816
1.82k
    case 'F':
4817
6.67k
    case 'f': goto yy393;
4818
251
    case 'I':
4819
2.68k
    case 'i': goto yy394;
4820
1.13k
    case 'S':
4821
3.57k
    case 's': goto yy395;
4822
528
    case 'W':
4823
3.35k
    case 'w': goto yy396;
4824
918
    default:  goto yy48;
4825
22.3k
    }
4826
91.7k
yy300:
4827
91.7k
    YYDEBUG(300, *YYCURSOR);
4828
91.7k
    yyaccept = 4;
4829
91.7k
    yych = *(YYMARKER = ++YYCURSOR);
4830
91.7k
    if (yych == 'M') goto yy397;
4831
90.5k
    if (yych == 'm') goto yy397;
4832
3.44k
    goto yy48;
4833
3.45k
yy301:
4834
3.45k
    YYDEBUG(301, *YYCURSOR);
4835
3.45k
    yyaccept = 4;
4836
3.45k
    yych = *(YYMARKER = ++YYCURSOR);
4837
3.45k
    if (yych == 'L') goto yy398;
4838
3.10k
    if (yych == 'l') goto yy398;
4839
505
    goto yy48;
4840
2.11k
yy302:
4841
2.11k
    YYDEBUG(302, *YYCURSOR);
4842
2.11k
    yyaccept = 4;
4843
2.11k
    yych = *(YYMARKER = ++YYCURSOR);
4844
2.11k
    if (yych == 'T') goto yy400;
4845
1.64k
    if (yych == 't') goto yy400;
4846
503
    goto yy48;
4847
13.5k
yy303:
4848
13.5k
    YYDEBUG(303, *YYCURSOR);
4849
13.5k
    yyaccept = 4;
4850
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
4851
13.5k
    if (yych == 'E') goto yy402;
4852
12.9k
    if (yych == 'e') goto yy402;
4853
1.29k
    goto yy48;
4854
10.4k
yy304:
4855
10.4k
    YYDEBUG(304, *YYCURSOR);
4856
10.4k
    yyaccept = 4;
4857
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
4858
10.4k
    if (yych == 'A') goto yy403;
4859
10.1k
    if (yych == 'a') goto yy403;
4860
707
    goto yy48;
4861
14.7k
yy305:
4862
14.7k
    YYDEBUG(305, *YYCURSOR);
4863
14.7k
    yyaccept = 20;
4864
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
4865
14.7k
    if (yych <= '\\') {
4866
9.49k
      if (yych <= 'D') {
4867
7.80k
        if (yych <= '/') goto yy306;
4868
959
        if (yych <= '9') goto yy47;
4869
700
        if (yych >= 'A') goto yy47;
4870
1.69k
      } else {
4871
1.69k
        if (yych <= 'E') goto yy404;
4872
1.23k
        if (yych <= 'Z') goto yy47;
4873
700
        if (yych >= '\\') goto yy164;
4874
700
      }
4875
9.49k
    } else {
4876
5.29k
      if (yych <= 'd') {
4877
803
        if (yych == '_') goto yy47;
4878
506
        if (yych >= 'a') goto yy47;
4879
4.48k
      } else {
4880
4.48k
        if (yych <= 'e') goto yy404;
4881
1.11k
        if (yych <= 'z') goto yy47;
4882
456
        if (yych >= 0x80) goto yy47;
4883
456
      }
4884
5.29k
    }
4885
8.46k
yy306:
4886
8.46k
    YYDEBUG(306, *YYCURSOR);
4887
8.46k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
8.46k
#line 1482 "Zend/zend_language_scanner.l"
4889
8.46k
    {
4890
8.46k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
8.46k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
29.1k
yy307:
4894
29.1k
    YYDEBUG(307, *YYCURSOR);
4895
29.1k
    yyaccept = 4;
4896
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
4897
29.1k
    if (yych == 'C') goto yy405;
4898
28.4k
    if (yych == 'c') goto yy405;
4899
594
    goto yy48;
4900
3.97k
yy308:
4901
3.97k
    YYDEBUG(308, *YYCURSOR);
4902
3.97k
    yyaccept = 4;
4903
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
4904
3.97k
    if (yych == 'B') goto yy406;
4905
3.00k
    if (yych == 'b') goto yy406;
4906
540
    goto yy48;
4907
2.94k
yy309:
4908
2.94k
    YYDEBUG(309, *YYCURSOR);
4909
2.94k
    yyaccept = 4;
4910
2.94k
    yych = *(YYMARKER = ++YYCURSOR);
4911
2.94k
    if (yych == 'O') goto yy407;
4912
2.71k
    if (yych == 'o') goto yy407;
4913
432
    goto yy48;
4914
8.02k
yy310:
4915
8.02k
    YYDEBUG(310, *YYCURSOR);
4916
8.02k
    yyaccept = 4;
4917
8.02k
    yych = *(YYMARKER = ++YYCURSOR);
4918
8.02k
    if (yych == 'L') goto yy409;
4919
6.43k
    if (yych == 'l') goto yy409;
4920
1.67k
    goto yy48;
4921
9.26k
yy311:
4922
9.26k
    YYDEBUG(311, *YYCURSOR);
4923
9.26k
    yyaccept = 4;
4924
9.26k
    yych = *(YYMARKER = ++YYCURSOR);
4925
9.26k
    if (yych == 'L') goto yy410;
4926
7.30k
    if (yych == 'l') goto yy410;
4927
1.12k
    goto yy48;
4928
7.34k
yy312:
4929
7.34k
    YYDEBUG(312, *YYCURSOR);
4930
7.34k
    yyaccept = 4;
4931
7.34k
    yych = *(YYMARKER = ++YYCURSOR);
4932
7.34k
    if (yych == 'T') goto yy411;
4933
6.80k
    if (yych == 't') goto yy411;
4934
450
    goto yy48;
4935
10.3k
yy313:
4936
10.3k
    YYDEBUG(313, *YYCURSOR);
4937
10.3k
    yyaccept = 4;
4938
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
4939
10.3k
    if (yych == 'E') goto yy412;
4940
9.74k
    if (yych == 'e') goto yy412;
4941
3.47k
    goto yy48;
4942
3.88k
yy314:
4943
3.88k
    YYDEBUG(314, *YYCURSOR);
4944
3.88k
    yyaccept = 4;
4945
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
4946
3.88k
    if (yych == 'E') goto yy413;
4947
3.54k
    if (yych == 'e') goto yy413;
4948
659
    goto yy48;
4949
3.83k
yy315:
4950
3.83k
    YYDEBUG(315, *YYCURSOR);
4951
3.83k
    yyaccept = 4;
4952
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
4953
3.83k
    if (yych == 'T') goto yy414;
4954
3.38k
    if (yych == 't') goto yy414;
4955
277
    goto yy48;
4956
4.10k
yy316:
4957
4.10k
    YYDEBUG(316, *YYCURSOR);
4958
4.10k
    yyaccept = 4;
4959
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
4960
4.10k
    if (yych == 'C') goto yy416;
4961
3.74k
    if (yych == 'c') goto yy416;
4962
330
    goto yy48;
4963
12.8k
yy317:
4964
12.8k
    YYDEBUG(317, *YYCURSOR);
4965
12.8k
    yyaccept = 4;
4966
12.8k
    yych = *(YYMARKER = ++YYCURSOR);
4967
12.8k
    if (yych == 'E') goto yy417;
4968
11.7k
    if (yych == 'e') goto yy417;
4969
716
    goto yy48;
4970
9.54k
yy318:
4971
9.54k
    YYDEBUG(318, *YYCURSOR);
4972
9.54k
    yyaccept = 21;
4973
9.54k
    yych = *(YYMARKER = ++YYCURSOR);
4974
9.54k
    if (yybm[256+yych] & 128) {
4975
451
      goto yy47;
4976
451
    }
4977
9.09k
    if (yych == '\\') goto yy164;
4978
9.07k
yy319:
4979
9.07k
    YYDEBUG(319, *YYCURSOR);
4980
9.07k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
9.07k
#line 1626 "Zend/zend_language_scanner.l"
4982
9.07k
    {
4983
9.07k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
9.07k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
13.2k
yy320:
4987
13.2k
    YYDEBUG(320, *YYCURSOR);
4988
13.2k
    yyaccept = 4;
4989
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
4990
13.2k
    if (yych <= 'V') {
4991
1.79k
      if (yych == 'N') goto yy418;
4992
954
      if (yych <= 'U') goto yy48;
4993
418
      goto yy419;
4994
11.4k
    } else {
4995
11.4k
      if (yych <= 'n') {
4996
5.16k
        if (yych <= 'm') goto yy48;
4997
4.86k
        goto yy418;
4998
6.31k
      } else {
4999
6.31k
        if (yych == 'v') goto yy419;
5000
706
        goto yy48;
5001
6.31k
      }
5002
11.4k
    }
5003
7.11k
yy321:
5004
7.11k
    YYDEBUG(321, *YYCURSOR);
5005
7.11k
    yyaccept = 4;
5006
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
5007
7.11k
    if (yych == 'T') goto yy420;
5008
6.25k
    if (yych == 't') goto yy420;
5009
995
    goto yy48;
5010
17.3k
yy322:
5011
17.3k
    YYDEBUG(322, *YYCURSOR);
5012
17.3k
    yyaccept = 4;
5013
17.3k
    yych = *(YYMARKER = ++YYCURSOR);
5014
17.3k
    if (yych == 'L') goto yy421;
5015
16.7k
    if (yych == 'l') goto yy421;
5016
512
    goto yy48;
5017
6.51k
yy323:
5018
6.51k
    YYDEBUG(323, *YYCURSOR);
5019
6.51k
    yyaccept = 4;
5020
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
5021
6.51k
    if (yych == 'D') goto yy422;
5022
6.26k
    if (yych == 'd') goto yy422;
5023
1.82k
    goto yy48;
5024
7.61k
yy324:
5025
7.61k
    YYDEBUG(324, *YYCURSOR);
5026
7.61k
    yyaccept = 4;
5027
7.61k
    yych = *(YYMARKER = ++YYCURSOR);
5028
7.61k
    if (yych == 'U') goto yy423;
5029
7.15k
    if (yych == 'u') goto yy423;
5030
542
    goto yy48;
5031
8.46k
yy325:
5032
8.46k
    YYDEBUG(325, *YYCURSOR);
5033
8.46k
    yyaccept = 4;
5034
8.46k
    yych = *(YYMARKER = ++YYCURSOR);
5035
8.46k
    if (yych == 'U') goto yy424;
5036
8.11k
    if (yych == 'u') goto yy424;
5037
705
    goto yy48;
5038
8.65k
yy326:
5039
8.65k
    YYDEBUG(326, *YYCURSOR);
5040
8.65k
    yyaccept = 4;
5041
8.65k
    yych = *(YYMARKER = ++YYCURSOR);
5042
8.65k
    if (yych == 'T') goto yy425;
5043
8.34k
    if (yych == 't') goto yy425;
5044
1.42k
    goto yy48;
5045
4.95k
yy327:
5046
4.95k
    YYDEBUG(327, *YYCURSOR);
5047
4.95k
    yyaccept = 4;
5048
4.95k
    yych = *(YYMARKER = ++YYCURSOR);
5049
4.95k
    if (yych == 'T') goto yy426;
5050
4.73k
    if (yych == 't') goto yy426;
5051
410
    goto yy48;
5052
3.52k
yy328:
5053
3.52k
    YYDEBUG(328, *YYCURSOR);
5054
3.52k
    yyaccept = 4;
5055
3.52k
    yych = *(YYMARKER = ++YYCURSOR);
5056
3.52k
    if (yych == 'O') goto yy427;
5057
3.14k
    if (yych == 'o') goto yy427;
5058
725
    goto yy48;
5059
2.87k
yy329:
5060
2.87k
    YYDEBUG(329, *YYCURSOR);
5061
2.87k
    yyaccept = 4;
5062
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
5063
2.87k
    if (yych == 'I') goto yy428;
5064
2.44k
    if (yych == 'i') goto yy428;
5065
492
    goto yy48;
5066
4.37k
yy330:
5067
4.37k
    YYDEBUG(330, *YYCURSOR);
5068
4.37k
    yyaccept = 22;
5069
4.37k
    yych = *(YYMARKER = ++YYCURSOR);
5070
4.37k
    if (yybm[256+yych] & 128) {
5071
557
      goto yy47;
5072
557
    }
5073
3.82k
    if (yych == '\\') goto yy164;
5074
3.82k
yy331:
5075
3.82k
    YYDEBUG(331, *YYCURSOR);
5076
3.82k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
3.82k
#line 1438 "Zend/zend_language_scanner.l"
5078
3.82k
    {
5079
3.82k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
3.82k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
4.94k
yy332:
5083
4.94k
    YYDEBUG(332, *YYCURSOR);
5084
4.94k
    yyaccept = 4;
5085
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
5086
4.94k
    if (yych == 'E') goto yy429;
5087
3.76k
    if (yych == 'e') goto yy429;
5088
748
    goto yy48;
5089
4.79k
yy333:
5090
4.79k
    YYDEBUG(333, *YYCURSOR);
5091
4.79k
    yyaccept = 23;
5092
4.79k
    yych = *(YYMARKER = ++YYCURSOR);
5093
4.79k
    if (yybm[256+yych] & 128) {
5094
779
      goto yy47;
5095
779
    }
5096
4.01k
    if (yych == '\\') goto yy164;
5097
3.97k
yy334:
5098
3.97k
    YYDEBUG(334, *YYCURSOR);
5099
3.97k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
3.97k
#line 1742 "Zend/zend_language_scanner.l"
5101
3.97k
    {
5102
3.97k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
3.97k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
4.76k
yy335:
5106
4.76k
    YYDEBUG(335, *YYCURSOR);
5107
4.76k
    yyaccept = 24;
5108
4.76k
    yych = *(YYMARKER = ++YYCURSOR);
5109
4.76k
    if (yybm[256+yych] & 128) {
5110
3.54k
      goto yy47;
5111
3.54k
    }
5112
1.22k
    if (yych == '\\') goto yy164;
5113
1.21k
yy336:
5114
1.21k
    YYDEBUG(336, *YYCURSOR);
5115
1.21k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
1.21k
#line 1634 "Zend/zend_language_scanner.l"
5117
1.21k
    {
5118
1.21k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
1.21k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
3.64k
yy337:
5122
3.64k
    YYDEBUG(337, *YYCURSOR);
5123
3.64k
    yyaccept = 4;
5124
3.64k
    yych = *(YYMARKER = ++YYCURSOR);
5125
3.64k
    if (yych == 'L') goto yy430;
5126
3.44k
    if (yych == 'l') goto yy430;
5127
599
    goto yy48;
5128
2.95k
yy338:
5129
2.95k
    YYDEBUG(338, *YYCURSOR);
5130
2.95k
    yyaccept = 25;
5131
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
5132
2.95k
    if (yybm[256+yych] & 128) {
5133
249
      goto yy47;
5134
249
    }
5135
2.70k
    if (yych == '\\') goto yy164;
5136
2.66k
yy339:
5137
2.66k
    YYDEBUG(339, *YYCURSOR);
5138
2.66k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
2.66k
#line 1938 "Zend/zend_language_scanner.l"
5140
2.66k
    {
5141
2.66k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
2.66k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
58.8k
yy340:
5145
58.8k
    YYDEBUG(340, *YYCURSOR);
5146
58.8k
    yyaccept = 4;
5147
58.8k
    yych = *(YYMARKER = ++YYCURSOR);
5148
58.8k
    if (yych == 'L') goto yy431;
5149
58.0k
    if (yych == 'l') goto yy431;
5150
2.11k
    goto yy48;
5151
5.21k
yy341:
5152
5.21k
    YYDEBUG(341, *YYCURSOR);
5153
5.21k
    ++YYCURSOR;
5154
5.21k
    YYFILL(1);
5155
5.21k
    yych = *YYCURSOR;
5156
5.21k
    if (yych <= '_') {
5157
2.92k
      if (yych <= '@') goto yy86;
5158
2.22k
      if (yych <= 'Z') goto yy211;
5159
1.65k
      if (yych <= '^') goto yy86;
5160
549
      goto yy211;
5161
2.29k
    } else {
5162
2.29k
      if (yych <= '`') goto yy86;
5163
2.05k
      if (yych <= 'z') goto yy211;
5164
1.28k
      if (yych <= 0x7F) goto yy86;
5165
593
      goto yy211;
5166
1.28k
    }
5167
7.33k
yy342:
5168
7.33k
    YYDEBUG(342, *YYCURSOR);
5169
7.33k
    yyaccept = 4;
5170
7.33k
    yych = *(YYMARKER = ++YYCURSOR);
5171
7.33k
    if (yych == 'L') goto yy432;
5172
6.83k
    if (yych == 'l') goto yy432;
5173
2.68k
    goto yy48;
5174
5.04k
yy343:
5175
5.04k
    YYDEBUG(343, *YYCURSOR);
5176
5.04k
    yyaccept = 4;
5177
5.04k
    yych = *(YYMARKER = ++YYCURSOR);
5178
5.04k
    if (yych == 'I') goto yy433;
5179
4.65k
    if (yych == 'i') goto yy433;
5180
951
    goto yy48;
5181
10.3k
yy344:
5182
10.3k
    YYDEBUG(344, *YYCURSOR);
5183
10.3k
    yyaccept = 4;
5184
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
5185
10.3k
    if (yych <= 'U') {
5186
2.07k
      if (yych == 'I') goto yy434;
5187
951
      if (yych <= 'T') goto yy48;
5188
343
      goto yy435;
5189
8.23k
    } else {
5190
8.23k
      if (yych <= 'i') {
5191
2.74k
        if (yych <= 'h') goto yy48;
5192
2.44k
        goto yy434;
5193
5.49k
      } else {
5194
5.49k
        if (yych == 'u') goto yy435;
5195
936
        goto yy48;
5196
5.49k
      }
5197
8.23k
    }
5198
5.21k
yy345:
5199
5.21k
    YYDEBUG(345, *YYCURSOR);
5200
5.21k
    yyaccept = 4;
5201
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
5202
5.21k
    if (yych == 'A') goto yy436;
5203
3.98k
    if (yych == 'a') goto yy436;
5204
663
    goto yy48;
5205
3.72k
yy346:
5206
3.72k
    YYDEBUG(346, *YYCURSOR);
5207
3.72k
    yyaccept = 4;
5208
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
5209
3.72k
    if (yych == 'I') goto yy437;
5210
3.24k
    if (yych == 'i') goto yy437;
5211
683
    goto yy48;
5212
6.04k
yy347:
5213
6.04k
    YYDEBUG(347, *YYCURSOR);
5214
6.04k
    yyaccept = 4;
5215
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
5216
6.04k
    if (yych == 'E') goto yy438;
5217
5.49k
    if (yych == 'e') goto yy438;
5218
768
    goto yy48;
5219
5.44k
yy348:
5220
5.44k
    YYDEBUG(348, *YYCURSOR);
5221
5.44k
    yyaccept = 4;
5222
5.44k
    yych = *(YYMARKER = ++YYCURSOR);
5223
5.44k
    if (yych == 'A') goto yy439;
5224
4.15k
    if (yych == 'a') goto yy439;
5225
268
    goto yy48;
5226
7.86k
yy349:
5227
7.86k
    YYDEBUG(349, *YYCURSOR);
5228
7.86k
    yyaccept = 4;
5229
7.86k
    yych = *(YYMARKER = ++YYCURSOR);
5230
7.86k
    if (yych == 'R') goto yy440;
5231
1.80k
    if (yych == 'r') goto yy440;
5232
634
    goto yy48;
5233
6.31k
yy350:
5234
6.31k
    YYDEBUG(350, *YYCURSOR);
5235
6.31k
    yyaccept = 4;
5236
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
5237
6.31k
    if (yych == 'R') goto yy441;
5238
6.07k
    if (yych == 'r') goto yy441;
5239
1.27k
    goto yy48;
5240
5.26k
yy351:
5241
5.26k
    YYDEBUG(351, *YYCURSOR);
5242
5.26k
    ++YYCURSOR;
5243
5.26k
    YYFILL(1);
5244
5.26k
    yych = *YYCURSOR;
5245
5.26k
    if (yybm[0+yych] & 2) {
5246
1.06k
      goto yy225;
5247
1.06k
    }
5248
4.20k
    if (yych <= 0x00) goto yy86;
5249
3.96k
    goto yy227;
5250
3.96k
yy352:
5251
1.90k
    YYDEBUG(352, *YYCURSOR);
5252
1.90k
    yyaccept = 26;
5253
1.90k
    YYMARKER = ++YYCURSOR;
5254
1.90k
    YYFILL(1);
5255
1.90k
    yych = *YYCURSOR;
5256
1.90k
    if (yybm[0+yych] & 2) {
5257
938
      goto yy225;
5258
938
    }
5259
966
    if (yych <= 0x00) goto yy89;
5260
750
    goto yy84;
5261
15.5k
yy353:
5262
15.5k
    YYDEBUG(353, *YYCURSOR);
5263
15.5k
    ++YYCURSOR;
5264
15.5k
    YYFILL(1);
5265
15.5k
    yych = *YYCURSOR;
5266
15.5k
    if (yych <= '\f') {
5267
2.32k
      if (yych <= 0x00) goto yy86;
5268
1.99k
      if (yych == '\n') goto yy84;
5269
205
      goto yy225;
5270
13.1k
    } else {
5271
13.1k
      if (yych <= '\r') goto yy84;
5272
12.9k
      if (yych == '.') goto yy442;
5273
8.24k
      goto yy225;
5274
12.9k
    }
5275
17.0k
yy354:
5276
17.0k
    YYDEBUG(354, *YYCURSOR);
5277
17.0k
    ++YYCURSOR;
5278
17.0k
    YYFILL(1);
5279
17.0k
    yych = *YYCURSOR;
5280
17.0k
    if (yych <= '\f') {
5281
706
      if (yych <= 0x00) goto yy86;
5282
503
      if (yych == '\n') goto yy84;
5283
230
      goto yy225;
5284
16.3k
    } else {
5285
16.3k
      if (yych <= '\r') goto yy84;
5286
16.1k
      if (yych == '*') goto yy443;
5287
2.21k
      goto yy225;
5288
16.1k
    }
5289
5.88k
yy355:
5290
5.88k
    YYDEBUG(355, *YYCURSOR);
5291
5.88k
    ++YYCURSOR;
5292
5.88k
    YYFILL(1);
5293
5.88k
    yych = *YYCURSOR;
5294
5.88k
    YYDEBUG(356, *YYCURSOR);
5295
5.88k
    if (yybm[0+yych] & 64) {
5296
542
      goto yy355;
5297
542
    }
5298
5.33k
    if (yych <= 0x00) goto yy86;
5299
4.42k
    if (yych == '/') goto yy84;
5300
3.72k
    goto yy230;
5301
4.23k
yy357:
5302
4.23k
    YYDEBUG(357, *YYCURSOR);
5303
4.23k
    yych = *++YYCURSOR;
5304
4.23k
    if (yych == 'A') goto yy445;
5305
3.99k
    if (yych == 'a') goto yy445;
5306
701
    goto yy86;
5307
2.77k
yy358:
5308
2.77k
    YYDEBUG(358, *YYCURSOR);
5309
2.77k
    yych = *++YYCURSOR;
5310
2.77k
    if (yych == 'A') goto yy446;
5311
2.55k
    if (yych == 'a') goto yy446;
5312
393
    goto yy86;
5313
3.00k
yy359:
5314
3.00k
    YYDEBUG(359, *YYCURSOR);
5315
3.00k
    yych = *++YYCURSOR;
5316
3.00k
    if (yych == 'L') goto yy447;
5317
2.78k
    if (yych == 'l') goto yy447;
5318
228
    goto yy86;
5319
2.47k
yy360:
5320
2.47k
    YYDEBUG(360, *YYCURSOR);
5321
2.47k
    yych = *++YYCURSOR;
5322
2.47k
    if (yych == 'B') goto yy448;
5323
1.90k
    if (yych == 'b') goto yy448;
5324
366
    goto yy86;
5325
3.04k
yy361:
5326
3.04k
    YYDEBUG(361, *YYCURSOR);
5327
3.04k
    yych = *++YYCURSOR;
5328
3.04k
    if (yych == 'A') goto yy449;
5329
2.82k
    if (yych == 'a') goto yy449;
5330
436
    goto yy86;
5331
4.78k
yy362:
5332
4.78k
    YYDEBUG(362, *YYCURSOR);
5333
4.78k
    yych = *++YYCURSOR;
5334
4.78k
    if (yych == 'E') goto yy454;
5335
4.14k
    if (yych == 'e') goto yy454;
5336
1.63k
    goto yy451;
5337
2.79k
yy363:
5338
2.79k
    YYDEBUG(363, *YYCURSOR);
5339
2.79k
    yych = *++YYCURSOR;
5340
2.79k
    if (yych == 'E') goto yy455;
5341
2.49k
    if (yych == 'e') goto yy455;
5342
530
    goto yy86;
5343
1.43k
yy364:
5344
1.43k
    YYDEBUG(364, *YYCURSOR);
5345
1.43k
    yych = *++YYCURSOR;
5346
1.43k
    if (yych == 'L') goto yy456;
5347
1.07k
    if (yych == 'l') goto yy456;
5348
622
    goto yy86;
5349
4.19k
yy365:
5350
4.19k
    YYDEBUG(365, *YYCURSOR);
5351
4.19k
    yych = *++YYCURSOR;
5352
4.19k
    if (yych == 'I') goto yy458;
5353
3.93k
    if (yych == 'i') goto yy458;
5354
975
    goto yy86;
5355
3.01k
yy366:
5356
3.01k
    YYDEBUG(366, *YYCURSOR);
5357
3.01k
    yych = *++YYCURSOR;
5358
3.01k
    if (yych == 'E') goto yy459;
5359
1.86k
    if (yych == 'e') goto yy459;
5360
552
    goto yy86;
5361
2.22k
yy367:
5362
2.22k
    YYDEBUG(367, *YYCURSOR);
5363
2.22k
    yych = *++YYCURSOR;
5364
2.22k
    if (yych == 'D') goto yy460;
5365
2.01k
    if (yych == 'd') goto yy460;
5366
640
    goto yy86;
5367
4.34k
yy368:
5368
4.34k
    YYDEBUG(368, *YYCURSOR);
5369
4.34k
    ++YYCURSOR;
5370
4.34k
    YYFILL(1);
5371
4.34k
    yych = *YYCURSOR;
5372
4.34k
    YYDEBUG(369, *YYCURSOR);
5373
4.34k
    if (yych <= '\f') {
5374
1.07k
      if (yych <= 0x08) goto yy129;
5375
641
      if (yych <= '\n') goto yy368;
5376
355
      goto yy129;
5377
3.27k
    } else {
5378
3.27k
      if (yych <= '\r') goto yy368;
5379
2.96k
      if (yych == ' ') goto yy368;
5380
2.49k
      goto yy129;
5381
2.96k
    }
5382
2.20k
yy370:
5383
2.20k
    YYDEBUG(370, *YYCURSOR);
5384
2.20k
    yych = *++YYCURSOR;
5385
2.20k
    if (yych == '"') goto yy86;
5386
1.98k
    if (yych <= '/') goto yy463;
5387
1.58k
    if (yych <= '9') goto yy86;
5388
1.39k
    goto yy463;
5389
5.80k
yy371:
5390
5.80k
    YYDEBUG(371, *YYCURSOR);
5391
5.80k
    yych = *++YYCURSOR;
5392
5.80k
    if (yych == '\'') goto yy86;
5393
5.56k
    if (yych <= '/') goto yy465;
5394
5.33k
    if (yych <= '9') goto yy86;
5395
5.12k
    goto yy465;
5396
2.71M
yy372:
5397
2.71M
    YYDEBUG(372, *YYCURSOR);
5398
2.71M
    ++YYCURSOR;
5399
2.71M
    YYFILL(2);
5400
2.71M
    yych = *YYCURSOR;
5401
2.71M
    YYDEBUG(373, *YYCURSOR);
5402
2.71M
    if (yych <= '@') {
5403
2.28M
      if (yych <= '\f') {
5404
2.23M
        if (yych == '\n') goto yy466;
5405
7.14k
        goto yy86;
5406
2.23M
      } else {
5407
48.2k
        if (yych <= '\r') goto yy468;
5408
43.5k
        if (yych <= '/') goto yy86;
5409
27.5k
        if (yych <= '9') goto yy372;
5410
13.5k
        goto yy86;
5411
27.5k
      }
5412
2.28M
    } else {
5413
429k
      if (yych <= '_') {
5414
45.5k
        if (yych <= 'Z') goto yy372;
5415
12.5k
        if (yych <= '^') goto yy86;
5416
10.0k
        goto yy372;
5417
383k
      } else {
5418
383k
        if (yych <= '`') goto yy86;
5419
383k
        if (yych <= 'z') goto yy372;
5420
192k
        if (yych <= 0x7F) goto yy86;
5421
187k
        goto yy372;
5422
192k
      }
5423
429k
    }
5424
4.80k
yy374:
5425
4.80k
    YYDEBUG(374, *YYCURSOR);
5426
4.80k
    yyaccept = 4;
5427
4.80k
    yych = *(YYMARKER = ++YYCURSOR);
5428
4.80k
    if (yych == 'R') goto yy469;
5429
4.54k
    if (yych == 'r') goto yy469;
5430
501
    goto yy48;
5431
7.57k
yy375:
5432
7.57k
    YYDEBUG(375, *YYCURSOR);
5433
7.57k
    yyaccept = 4;
5434
7.57k
    yych = *(YYMARKER = ++YYCURSOR);
5435
7.57k
    if (yych == 'Y') goto yy470;
5436
7.33k
    if (yych == 'y') goto yy470;
5437
810
    goto yy48;
5438
5.89k
yy376:
5439
5.89k
    YYDEBUG(376, *YYCURSOR);
5440
5.89k
    yyaccept = 4;
5441
5.89k
    yych = *(YYMARKER = ++YYCURSOR);
5442
5.89k
    if (yych == 'K') goto yy472;
5443
5.67k
    if (yych == 'k') goto yy472;
5444
535
    goto yy48;
5445
5.22k
yy377:
5446
5.22k
    YYDEBUG(377, *YYCURSOR);
5447
5.22k
    yyaccept = 4;
5448
5.22k
    yych = *(YYMARKER = ++YYCURSOR);
5449
5.22k
    if (yych == 'A') goto yy474;
5450
4.92k
    if (yych == 'a') goto yy474;
5451
2.99k
    goto yy48;
5452
7.76k
yy378:
5453
7.76k
    YYDEBUG(378, *YYCURSOR);
5454
7.76k
    yyaccept = 27;
5455
7.76k
    yych = *(YYMARKER = ++YYCURSOR);
5456
7.76k
    if (yybm[256+yych] & 128) {
5457
528
      goto yy47;
5458
528
    }
5459
7.24k
    if (yych == '\\') goto yy164;
5460
7.19k
yy379:
5461
7.19k
    YYDEBUG(379, *YYCURSOR);
5462
7.19k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
7.19k
#line 1526 "Zend/zend_language_scanner.l"
5464
7.19k
    {
5465
7.19k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
7.19k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
4.52k
yy380:
5469
4.52k
    YYDEBUG(380, *YYCURSOR);
5470
4.52k
    yyaccept = 4;
5471
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
5472
4.52k
    if (yych == 'H') goto yy475;
5473
4.15k
    if (yych == 'h') goto yy475;
5474
455
    goto yy48;
5475
24.1k
yy381:
5476
24.1k
    YYDEBUG(381, *YYCURSOR);
5477
24.1k
    yyaccept = 4;
5478
24.1k
    yych = *(YYMARKER = ++YYCURSOR);
5479
24.1k
    if (yych == 'S') goto yy477;
5480
23.7k
    if (yych == 's') goto yy477;
5481
777
    goto yy48;
5482
3.72k
yy382:
5483
3.72k
    YYDEBUG(382, *YYCURSOR);
5484
3.72k
    yyaccept = 4;
5485
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
5486
3.72k
    if (yych == 'E') goto yy479;
5487
3.28k
    if (yych == 'e') goto yy479;
5488
548
    goto yy48;
5489
7.11k
yy383:
5490
7.11k
    YYDEBUG(383, *YYCURSOR);
5491
7.11k
    yyaccept = 4;
5492
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
5493
7.11k
    if (yych == 'T') goto yy481;
5494
6.58k
    if (yych == 't') goto yy481;
5495
483
    goto yy48;
5496
4.33k
yy384:
5497
4.33k
    YYDEBUG(384, *YYCURSOR);
5498
4.33k
    yyaccept = 4;
5499
4.33k
    yych = *(YYMARKER = ++YYCURSOR);
5500
4.33k
    if (yych == 'I') goto yy483;
5501
2.72k
    if (yych == 'i') goto yy483;
5502
699
    goto yy48;
5503
5.61k
yy385:
5504
5.61k
    YYDEBUG(385, *YYCURSOR);
5505
5.61k
    yyaccept = 4;
5506
5.61k
    yych = *(YYMARKER = ++YYCURSOR);
5507
5.61k
    if (yych == 'A') goto yy484;
5508
4.61k
    if (yych == 'a') goto yy484;
5509
371
    goto yy48;
5510
3.11k
yy386:
5511
3.11k
    YYDEBUG(386, *YYCURSOR);
5512
3.11k
    yyaccept = 4;
5513
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
5514
3.11k
    if (yych == 'U') goto yy485;
5515
2.84k
    if (yych == 'u') goto yy485;
5516
585
    goto yy48;
5517
4.05k
yy387:
5518
4.05k
    YYDEBUG(387, *YYCURSOR);
5519
4.05k
    yyaccept = 28;
5520
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
5521
4.05k
    if (yybm[256+yych] & 128) {
5522
403
      goto yy47;
5523
403
    }
5524
3.65k
    if (yych == '\\') goto yy164;
5525
3.59k
yy388:
5526
3.59k
    YYDEBUG(388, *YYCURSOR);
5527
3.59k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
3.59k
#line 1546 "Zend/zend_language_scanner.l"
5529
3.59k
    {
5530
3.59k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
3.59k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
9.52k
yy389:
5534
9.52k
    YYDEBUG(389, *YYCURSOR);
5535
9.52k
    yyaccept = 29;
5536
9.52k
    yych = *(YYMARKER = ++YYCURSOR);
5537
9.52k
    if (yych <= '\\') {
5538
4.12k
      if (yych <= 'H') {
5539
3.18k
        if (yych <= '/') goto yy390;
5540
1.93k
        if (yych <= '9') goto yy47;
5541
1.73k
        if (yych >= 'A') goto yy47;
5542
1.73k
      } else {
5543
936
        if (yych <= 'I') goto yy486;
5544
708
        if (yych <= 'Z') goto yy47;
5545
504
        if (yych >= '\\') goto yy164;
5546
504
      }
5547
5.40k
    } else {
5548
5.40k
      if (yych <= 'h') {
5549
788
        if (yych == '_') goto yy47;
5550
504
        if (yych >= 'a') goto yy47;
5551
4.61k
      } else {
5552
4.61k
        if (yych <= 'i') goto yy486;
5553
903
        if (yych <= 'z') goto yy47;
5554
604
        if (yych >= 0x80) goto yy47;
5555
604
      }
5556
5.40k
    }
5557
3.72k
yy390:
5558
3.72k
    YYDEBUG(390, *YYCURSOR);
5559
3.72k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
3.72k
#line 1466 "Zend/zend_language_scanner.l"
5561
3.72k
    {
5562
3.72k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
3.72k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
2.07k
yy391:
5566
2.07k
    YYDEBUG(391, *YYCURSOR);
5567
2.07k
    yyaccept = 4;
5568
2.07k
    yych = *(YYMARKER = ++YYCURSOR);
5569
2.07k
    if (yych == 'Y') goto yy487;
5570
1.74k
    if (yych == 'y') goto yy487;
5571
412
    goto yy48;
5572
5.16k
yy392:
5573
5.16k
    YYDEBUG(392, *YYCURSOR);
5574
5.16k
    yyaccept = 4;
5575
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
5576
5.16k
    if (yych == 'E') goto yy489;
5577
2.90k
    if (yych == 'e') goto yy489;
5578
407
    goto yy48;
5579
6.67k
yy393:
5580
6.67k
    YYDEBUG(393, *YYCURSOR);
5581
6.67k
    yyaccept = 4;
5582
6.67k
    yych = *(YYMARKER = ++YYCURSOR);
5583
6.67k
    if (yych == 'O') goto yy490;
5584
5.01k
    if (yych == 'o') goto yy490;
5585
475
    goto yy48;
5586
2.68k
yy394:
5587
2.68k
    YYDEBUG(394, *YYCURSOR);
5588
2.68k
    yyaccept = 4;
5589
2.68k
    yych = *(YYMARKER = ++YYCURSOR);
5590
2.68k
    if (yych == 'F') goto yy491;
5591
2.49k
    if (yych == 'f') goto yy491;
5592
566
    goto yy48;
5593
3.57k
yy395:
5594
3.57k
    YYDEBUG(395, *YYCURSOR);
5595
3.57k
    yyaccept = 4;
5596
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
5597
3.57k
    if (yych == 'W') goto yy493;
5598
2.73k
    if (yych == 'w') goto yy493;
5599
605
    goto yy48;
5600
3.35k
yy396:
5601
3.35k
    YYDEBUG(396, *YYCURSOR);
5602
3.35k
    yyaccept = 4;
5603
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
5604
3.35k
    if (yych == 'H') goto yy494;
5605
2.86k
    if (yych == 'h') goto yy494;
5606
502
    goto yy48;
5607
88.3k
yy397:
5608
88.3k
    YYDEBUG(397, *YYCURSOR);
5609
88.3k
    yyaccept = 4;
5610
88.3k
    yych = *(YYMARKER = ++YYCURSOR);
5611
88.3k
    if (yych <= 0x1F) {
5612
72.2k
      if (yych <= '\n') {
5613
5.97k
        if (yych <= 0x08) goto yy48;
5614
5.34k
        goto yy495;
5615
66.2k
      } else {
5616
66.2k
        if (yych == '\r') goto yy495;
5617
288
        goto yy48;
5618
66.2k
      }
5619
72.2k
    } else {
5620
16.0k
      if (yych <= '#') {
5621
13.5k
        if (yych <= ' ') goto yy495;
5622
8.70k
        if (yych <= '"') goto yy48;
5623
8.35k
        goto yy497;
5624
8.70k
      } else {
5625
2.49k
        if (yych == '/') goto yy498;
5626
2.22k
        goto yy48;
5627
2.49k
      }
5628
16.0k
    }
5629
2.95k
yy398:
5630
2.95k
    YYDEBUG(398, *YYCURSOR);
5631
2.95k
    yyaccept = 30;
5632
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
5633
2.95k
    if (yybm[256+yych] & 128) {
5634
764
      goto yy47;
5635
764
    }
5636
2.18k
    if (yych == '\\') goto yy164;
5637
2.18k
yy399:
5638
2.18k
    YYDEBUG(399, *YYCURSOR);
5639
2.18k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
2.18k
#line 1718 "Zend/zend_language_scanner.l"
5641
2.18k
    {
5642
2.18k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
2.18k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
1.61k
yy400:
5646
1.61k
    YYDEBUG(400, *YYCURSOR);
5647
1.61k
    yyaccept = 31;
5648
1.61k
    yych = *(YYMARKER = ++YYCURSOR);
5649
1.61k
    if (yybm[256+yych] & 128) {
5650
348
      goto yy47;
5651
348
    }
5652
1.26k
    if (yych == '\\') goto yy164;
5653
1.14k
yy401:
5654
1.14k
    YYDEBUG(401, *YYCURSOR);
5655
1.14k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
1.14k
#line 1399 "Zend/zend_language_scanner.l"
5657
1.14k
    {
5658
1.14k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
1.14k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
12.2k
yy402:
5662
12.2k
    YYDEBUG(402, *YYCURSOR);
5663
12.2k
    yyaccept = 4;
5664
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5665
12.2k
    if (yych == 'N') goto yy499;
5666
11.4k
    if (yych == 'n') goto yy499;
5667
978
    goto yy48;
5668
9.71k
yy403:
5669
9.71k
    YYDEBUG(403, *YYCURSOR);
5670
9.71k
    yyaccept = 4;
5671
9.71k
    yych = *(YYMARKER = ++YYCURSOR);
5672
9.71k
    if (yych == 'L') goto yy500;
5673
9.45k
    if (yych == 'l') goto yy500;
5674
797
    goto yy48;
5675
3.82k
yy404:
5676
3.82k
    YYDEBUG(404, *YYCURSOR);
5677
3.82k
    yyaccept = 4;
5678
3.82k
    yych = *(YYMARKER = ++YYCURSOR);
5679
3.82k
    if (yych == 'A') goto yy502;
5680
3.56k
    if (yych == 'a') goto yy502;
5681
252
    goto yy48;
5682
28.5k
yy405:
5683
28.5k
    YYDEBUG(405, *YYCURSOR);
5684
28.5k
    yyaccept = 4;
5685
28.5k
    yych = *(YYMARKER = ++YYCURSOR);
5686
28.5k
    if (yych == 'T') goto yy503;
5687
27.9k
    if (yych == 't') goto yy503;
5688
1.63k
    goto yy48;
5689
3.43k
yy406:
5690
3.43k
    YYDEBUG(406, *YYCURSOR);
5691
3.43k
    yyaccept = 4;
5692
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
5693
3.43k
    if (yych == 'A') goto yy504;
5694
2.27k
    if (yych == 'a') goto yy504;
5695
403
    goto yy48;
5696
2.51k
yy407:
5697
2.51k
    YYDEBUG(407, *YYCURSOR);
5698
2.51k
    yyaccept = 32;
5699
2.51k
    yych = *(YYMARKER = ++YYCURSOR);
5700
2.51k
    if (yybm[256+yych] & 128) {
5701
857
      goto yy47;
5702
857
    }
5703
1.65k
    if (yych == '\\') goto yy164;
5704
1.65k
yy408:
5705
1.65k
    YYDEBUG(408, *YYCURSOR);
5706
1.65k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
1.65k
#line 1542 "Zend/zend_language_scanner.l"
5708
1.65k
    {
5709
1.65k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
1.65k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
6.34k
yy409:
5713
6.34k
    YYDEBUG(409, *YYCURSOR);
5714
6.34k
    yyaccept = 4;
5715
6.34k
    yych = *(YYMARKER = ++YYCURSOR);
5716
6.34k
    if (yych == 'E') goto yy505;
5717
5.09k
    if (yych == 'e') goto yy505;
5718
768
    goto yy48;
5719
8.14k
yy410:
5720
8.14k
    YYDEBUG(410, *YYCURSOR);
5721
8.14k
    yyaccept = 4;
5722
8.14k
    yych = *(YYMARKER = ++YYCURSOR);
5723
8.14k
    if (yych == 'U') goto yy506;
5724
6.57k
    if (yych == 'u') goto yy506;
5725
558
    goto yy48;
5726
6.89k
yy411:
5727
6.89k
    YYDEBUG(411, *YYCURSOR);
5728
6.89k
    yyaccept = 4;
5729
6.89k
    yych = *(YYMARKER = ++YYCURSOR);
5730
6.89k
    if (yych <= 'E') {
5731
1.01k
      if (yych == 'A') goto yy507;
5732
451
      if (yych <= 'D') goto yy48;
5733
223
      goto yy508;
5734
5.87k
    } else {
5735
5.87k
      if (yych <= 'a') {
5736
2.97k
        if (yych <= '`') goto yy48;
5737
2.69k
        goto yy507;
5738
2.97k
      } else {
5739
2.90k
        if (yych == 'e') goto yy508;
5740
259
        goto yy48;
5741
2.90k
      }
5742
5.87k
    }
5743
6.91k
yy412:
5744
6.91k
    YYDEBUG(412, *YYCURSOR);
5745
6.91k
    yyaccept = 4;
5746
6.91k
    yych = *(YYMARKER = ++YYCURSOR);
5747
6.91k
    if (yych == 'R') goto yy509;
5748
6.66k
    if (yych == 'r') goto yy509;
5749
2.30k
    goto yy48;
5750
3.22k
yy413:
5751
3.22k
    YYDEBUG(413, *YYCURSOR);
5752
3.22k
    yyaccept = 4;
5753
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
5754
3.22k
    if (yych == 'T') goto yy510;
5755
2.84k
    if (yych == 't') goto yy510;
5756
573
    goto yy48;
5757
3.55k
yy414:
5758
3.55k
    YYDEBUG(414, *YYCURSOR);
5759
3.55k
    yyaccept = 33;
5760
3.55k
    yych = *(YYMARKER = ++YYCURSOR);
5761
3.55k
    if (yybm[256+yych] & 128) {
5762
965
      goto yy47;
5763
965
    }
5764
2.58k
    if (yych == '\\') goto yy164;
5765
2.58k
yy415:
5766
2.58k
    YYDEBUG(415, *YYCURSOR);
5767
2.58k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
2.58k
#line 1814 "Zend/zend_language_scanner.l"
5769
2.58k
    {
5770
2.58k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
2.58k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
3.77k
yy416:
5774
3.77k
    YYDEBUG(416, *YYCURSOR);
5775
3.77k
    yyaccept = 4;
5776
3.77k
    yych = *(YYMARKER = ++YYCURSOR);
5777
3.77k
    if (yych == 'H') goto yy512;
5778
3.55k
    if (yych == 'h') goto yy512;
5779
368
    goto yy48;
5780
12.1k
yy417:
5781
12.1k
    YYDEBUG(417, *YYCURSOR);
5782
12.1k
    yyaccept = 4;
5783
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
5784
12.1k
    if (yych == 'S') goto yy514;
5785
11.5k
    if (yych == 's') goto yy514;
5786
546
    goto yy48;
5787
5.70k
yy418:
5788
5.70k
    YYDEBUG(418, *YYCURSOR);
5789
5.70k
    yyaccept = 4;
5790
5.70k
    yych = *(YYMARKER = ++YYCURSOR);
5791
5.70k
    if (yych == 'T') goto yy515;
5792
5.31k
    if (yych == 't') goto yy515;
5793
670
    goto yy48;
5794
6.02k
yy419:
5795
6.02k
    YYDEBUG(419, *YYCURSOR);
5796
6.02k
    yyaccept = 4;
5797
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
5798
6.02k
    if (yych == 'A') goto yy517;
5799
5.79k
    if (yych == 'a') goto yy517;
5800
376
    goto yy48;
5801
6.11k
yy420:
5802
6.11k
    YYDEBUG(420, *YYCURSOR);
5803
6.11k
    yyaccept = 4;
5804
6.11k
    yych = *(YYMARKER = ++YYCURSOR);
5805
6.11k
    if (yych == 'E') goto yy518;
5806
5.36k
    if (yych == 'e') goto yy518;
5807
620
    goto yy48;
5808
16.8k
yy421:
5809
16.8k
    YYDEBUG(421, *YYCURSOR);
5810
16.8k
    yyaccept = 4;
5811
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
5812
16.8k
    if (yych == 'I') goto yy519;
5813
16.5k
    if (yych == 'i') goto yy519;
5814
304
    goto yy48;
5815
4.69k
yy422:
5816
4.69k
    YYDEBUG(422, *YYCURSOR);
5817
4.69k
    yyaccept = 4;
5818
4.69k
    yych = *(YYMARKER = ++YYCURSOR);
5819
4.69k
    if (yych == 'O') goto yy520;
5820
4.32k
    if (yych == 'o') goto yy520;
5821
452
    goto yy48;
5822
7.06k
yy423:
5823
7.06k
    YYDEBUG(423, *YYCURSOR);
5824
7.06k
    yyaccept = 4;
5825
7.06k
    yych = *(YYMARKER = ++YYCURSOR);
5826
7.06k
    if (yych == 'I') goto yy521;
5827
6.72k
    if (yych == 'i') goto yy521;
5828
373
    goto yy48;
5829
7.75k
yy424:
5830
7.75k
    YYDEBUG(424, *YYCURSOR);
5831
7.75k
    yyaccept = 4;
5832
7.75k
    yych = *(YYMARKER = ++YYCURSOR);
5833
7.75k
    if (yych == 'R') goto yy522;
5834
7.49k
    if (yych == 'r') goto yy522;
5835
376
    goto yy48;
5836
7.22k
yy425:
5837
7.22k
    YYDEBUG(425, *YYCURSOR);
5838
7.22k
    yyaccept = 4;
5839
7.22k
    yych = *(YYMARKER = ++YYCURSOR);
5840
7.22k
    if (yych == 'I') goto yy523;
5841
6.87k
    if (yych == 'i') goto yy523;
5842
562
    goto yy48;
5843
4.54k
yy426:
5844
4.54k
    YYDEBUG(426, *YYCURSOR);
5845
4.54k
    yyaccept = 4;
5846
4.54k
    yych = *(YYMARKER = ++YYCURSOR);
5847
4.54k
    if (yych == 'C') goto yy524;
5848
4.26k
    if (yych == 'c') goto yy524;
5849
342
    goto yy48;
5850
2.80k
yy427:
5851
2.80k
    YYDEBUG(427, *YYCURSOR);
5852
2.80k
    yyaccept = 4;
5853
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
5854
2.80k
    if (yych == 'W') goto yy525;
5855
2.54k
    if (yych == 'w') goto yy525;
5856
447
    goto yy48;
5857
2.38k
yy428:
5858
2.38k
    YYDEBUG(428, *YYCURSOR);
5859
2.38k
    yyaccept = 4;
5860
2.38k
    yych = *(YYMARKER = ++YYCURSOR);
5861
2.38k
    if (yych == 'T') goto yy527;
5862
2.08k
    if (yych == 't') goto yy527;
5863
354
    goto yy48;
5864
4.19k
yy429:
5865
4.19k
    YYDEBUG(429, *YYCURSOR);
5866
4.19k
    yyaccept = 4;
5867
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
5868
4.19k
    if (yych == 'T') goto yy529;
5869
3.77k
    if (yych == 't') goto yy529;
5870
702
    goto yy48;
5871
3.04k
yy430:
5872
3.04k
    YYDEBUG(430, *YYCURSOR);
5873
3.04k
    yyaccept = 4;
5874
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
5875
3.04k
    if (yych == 'E') goto yy531;
5876
2.82k
    if (yych == 'e') goto yy531;
5877
299
    goto yy48;
5878
56.7k
yy431:
5879
56.7k
    YYDEBUG(431, *YYCURSOR);
5880
56.7k
    yyaccept = 4;
5881
56.7k
    yych = *(YYMARKER = ++YYCURSOR);
5882
56.7k
    if (yych == 'D') goto yy533;
5883
54.4k
    if (yych == 'd') goto yy533;
5884
1.33k
    goto yy48;
5885
4.65k
yy432:
5886
4.65k
    YYDEBUG(432, *YYCURSOR);
5887
4.65k
    yyaccept = 4;
5888
4.65k
    yych = *(YYMARKER = ++YYCURSOR);
5889
4.65k
    if (yych == 'A') goto yy535;
5890
4.18k
    if (yych == 'a') goto yy535;
5891
555
    goto yy48;
5892
4.09k
yy433:
5893
4.09k
    YYDEBUG(433, *YYCURSOR);
5894
4.09k
    yyaccept = 4;
5895
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
5896
4.09k
    if (yych == 'R') goto yy536;
5897
3.85k
    if (yych == 'r') goto yy536;
5898
912
    goto yy48;
5899
3.56k
yy434:
5900
3.56k
    YYDEBUG(434, *YYCURSOR);
5901
3.56k
    yyaccept = 4;
5902
3.56k
    yych = *(YYMARKER = ++YYCURSOR);
5903
3.56k
    if (yych == 'L') goto yy537;
5904
2.82k
    if (yych == 'l') goto yy537;
5905
512
    goto yy48;
5906
4.90k
yy435:
5907
4.90k
    YYDEBUG(435, *YYCURSOR);
5908
4.90k
    yyaccept = 4;
5909
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
5910
4.90k
    if (yych == 'N') goto yy538;
5911
4.22k
    if (yych == 'n') goto yy538;
5912
413
    goto yy48;
5913
4.55k
yy436:
5914
4.55k
    YYDEBUG(436, *YYCURSOR);
5915
4.55k
    yyaccept = 4;
5916
4.55k
    yych = *(YYMARKER = ++YYCURSOR);
5917
4.55k
    if (yych == 'L') goto yy539;
5918
3.36k
    if (yych == 'l') goto yy539;
5919
334
    goto yy48;
5920
3.04k
yy437:
5921
3.04k
    YYDEBUG(437, *YYCURSOR);
5922
3.04k
    yyaccept = 4;
5923
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
5924
3.04k
    if (yych == 'N') goto yy540;
5925
2.21k
    if (yych == 'n') goto yy540;
5926
316
    goto yy48;
5927
5.28k
yy438:
5928
5.28k
    YYDEBUG(438, *YYCURSOR);
5929
5.28k
    yyaccept = 4;
5930
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
5931
5.28k
    if (yych == 'T') goto yy541;
5932
4.46k
    if (yych == 't') goto yy541;
5933
317
    goto yy48;
5934
5.17k
yy439:
5935
5.17k
    YYDEBUG(439, *YYCURSOR);
5936
5.17k
    yyaccept = 4;
5937
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
5938
5.17k
    if (yych == 'M') goto yy542;
5939
4.20k
    if (yych == 'm') goto yy542;
5940
445
    goto yy48;
5941
7.23k
yy440:
5942
7.23k
    YYDEBUG(440, *YYCURSOR);
5943
7.23k
    yyaccept = 4;
5944
7.23k
    yych = *(YYMARKER = ++YYCURSOR);
5945
7.23k
    if (yych == 'O') goto yy543;
5946
2.66k
    if (yych == 'o') goto yy543;
5947
1.04k
    goto yy48;
5948
5.03k
yy441:
5949
5.03k
    YYDEBUG(441, *YYCURSOR);
5950
5.03k
    yyaccept = 4;
5951
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
5952
5.03k
    if (yych == 'A') goto yy544;
5953
4.74k
    if (yych == 'a') goto yy544;
5954
801
    goto yy48;
5955
4.72k
yy442:
5956
4.72k
    YYDEBUG(442, *YYCURSOR);
5957
4.72k
    ++YYCURSOR;
5958
4.72k
    YYFILL(1);
5959
4.72k
    yych = *YYCURSOR;
5960
4.72k
    if (yych <= '\f') {
5961
702
      if (yych <= 0x00) goto yy86;
5962
501
      if (yych == '\n') goto yy84;
5963
199
      goto yy225;
5964
4.01k
    } else {
5965
4.01k
      if (yych <= '\r') goto yy84;
5966
3.81k
      if (yych == '.') goto yy352;
5967
2.99k
      goto yy225;
5968
3.81k
    }
5969
108k
yy443:
5970
108k
    YYDEBUG(443, *YYCURSOR);
5971
108k
    ++YYCURSOR;
5972
108k
    YYFILL(1);
5973
108k
    yych = *YYCURSOR;
5974
108k
    YYDEBUG(444, *YYCURSOR);
5975
108k
    if (yybm[0+yych] & 128) {
5976
72.8k
      goto yy443;
5977
72.8k
    }
5978
35.5k
    if (yych <= 0x00) goto yy86;
5979
33.1k
    if (yych <= '\r') goto yy545;
5980
5.28k
    goto yy547;
5981
5.28k
yy445:
5982
3.53k
    YYDEBUG(445, *YYCURSOR);
5983
3.53k
    yych = *++YYCURSOR;
5984
3.53k
    if (yych == 'Y') goto yy549;
5985
3.25k
    if (yych == 'y') goto yy549;
5986
374
    goto yy86;
5987
2.37k
yy446:
5988
2.37k
    YYDEBUG(446, *YYCURSOR);
5989
2.37k
    yych = *++YYCURSOR;
5990
2.37k
    if (yych == 'R') goto yy551;
5991
2.16k
    if (yych == 'r') goto yy551;
5992
297
    goto yy86;
5993
2.77k
yy447:
5994
2.77k
    YYDEBUG(447, *YYCURSOR);
5995
2.77k
    yych = *++YYCURSOR;
5996
2.77k
    if (yych == 'E') goto yy556;
5997
1.94k
    if (yych == 'e') goto yy556;
5998
1.27k
    goto yy553;
5999
2.10k
yy448:
6000
2.10k
    YYDEBUG(448, *YYCURSOR);
6001
2.10k
    yych = *++YYCURSOR;
6002
2.10k
    if (yych == 'L') goto yy557;
6003
1.85k
    if (yych == 'l') goto yy557;
6004
540
    goto yy86;
6005
2.61k
yy449:
6006
2.61k
    YYDEBUG(449, *YYCURSOR);
6007
2.61k
    yych = *++YYCURSOR;
6008
2.61k
    if (yych == 'T') goto yy558;
6009
2.38k
    if (yych == 't') goto yy558;
6010
293
    goto yy86;
6011
728
yy450:
6012
728
    YYDEBUG(450, *YYCURSOR);
6013
728
    ++YYCURSOR;
6014
728
    YYFILL(1);
6015
728
    yych = *YYCURSOR;
6016
2.36k
yy451:
6017
2.36k
    YYDEBUG(451, *YYCURSOR);
6018
2.36k
    if (yych <= 0x1F) {
6019
418
      if (yych == '\t') goto yy450;
6020
218
      goto yy86;
6021
1.94k
    } else {
6022
1.94k
      if (yych <= ' ') goto yy450;
6023
1.41k
      if (yych != ')') goto yy86;
6024
1.41k
    }
6025
517
    YYDEBUG(452, *YYCURSOR);
6026
517
    ++YYCURSOR;
6027
517
    YYDEBUG(453, *YYCURSOR);
6028
517
    yyleng = YYCURSOR - SCNG(yy_text);
6029
517
#line 1638 "Zend/zend_language_scanner.l"
6030
517
    {
6031
517
  RETURN_TOKEN(T_INT_CAST);
6032
517
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
3.14k
yy454:
6035
3.14k
    YYDEBUG(454, *YYCURSOR);
6036
3.14k
    yych = *++YYCURSOR;
6037
3.14k
    if (yych == 'G') goto yy560;
6038
2.93k
    if (yych == 'g') goto yy560;
6039
912
    goto yy86;
6040
2.26k
yy455:
6041
2.26k
    YYDEBUG(455, *YYCURSOR);
6042
2.26k
    yych = *++YYCURSOR;
6043
2.26k
    if (yych == 'C') goto yy561;
6044
2.05k
    if (yych == 'c') goto yy561;
6045
664
    goto yy86;
6046
1.23k
yy456:
6047
1.23k
    YYDEBUG(456, *YYCURSOR);
6048
1.23k
    ++YYCURSOR;
6049
1.23k
    YYFILL(1);
6050
1.23k
    yych = *YYCURSOR;
6051
1.23k
    YYDEBUG(457, *YYCURSOR);
6052
1.23k
    if (yych <= 0x1F) {
6053
469
      if (yych == '\t') goto yy456;
6054
252
      goto yy86;
6055
761
    } else {
6056
761
      if (yych <= ' ') goto yy456;
6057
562
      if (yych == ')') goto yy562;
6058
349
      goto yy86;
6059
562
    }
6060
3.22k
yy458:
6061
3.22k
    YYDEBUG(458, *YYCURSOR);
6062
3.22k
    yych = *++YYCURSOR;
6063
3.22k
    if (yych == 'N') goto yy564;
6064
2.98k
    if (yych == 'n') goto yy564;
6065
917
    goto yy86;
6066
2.46k
yy459:
6067
2.46k
    YYDEBUG(459, *YYCURSOR);
6068
2.46k
    yych = *++YYCURSOR;
6069
2.46k
    if (yych == 'T') goto yy565;
6070
2.05k
    if (yych == 't') goto yy565;
6071
621
    goto yy86;
6072
2.29k
yy460:
6073
2.29k
    YYDEBUG(460, *YYCURSOR);
6074
2.29k
    ++YYCURSOR;
6075
2.29k
    YYFILL(1);
6076
2.29k
    yych = *YYCURSOR;
6077
2.29k
    YYDEBUG(461, *YYCURSOR);
6078
2.29k
    if (yych <= 0x1F) {
6079
825
      if (yych == '\t') goto yy460;
6080
311
      goto yy86;
6081
1.47k
    } else {
6082
1.47k
      if (yych <= ' ') goto yy460;
6083
1.27k
      if (yych == ')') goto yy567;
6084
416
      goto yy86;
6085
1.27k
    }
6086
4.81k
yy462:
6087
4.81k
    YYDEBUG(462, *YYCURSOR);
6088
4.81k
    ++YYCURSOR;
6089
4.81k
    YYFILL(3);
6090
4.81k
    yych = *YYCURSOR;
6091
6.60k
yy463:
6092
6.60k
    YYDEBUG(463, *YYCURSOR);
6093
6.60k
    if (yych <= 'Z') {
6094
2.78k
      if (yych <= '/') {
6095
961
        if (yych == '"') goto yy569;
6096
599
        goto yy86;
6097
1.82k
      } else {
6098
1.82k
        if (yych <= '9') goto yy462;
6099
883
        if (yych <= '@') goto yy86;
6100
612
        goto yy462;
6101
883
      }
6102
3.81k
    } else {
6103
3.81k
      if (yych <= '`') {
6104
603
        if (yych == '_') goto yy462;
6105
267
        goto yy86;
6106
3.21k
      } else {
6107
3.21k
        if (yych <= 'z') goto yy462;
6108
605
        if (yych <= 0x7F) goto yy86;
6109
318
        goto yy462;
6110
605
      }
6111
3.81k
    }
6112
9.52k
yy464:
6113
9.52k
    YYDEBUG(464, *YYCURSOR);
6114
9.52k
    ++YYCURSOR;
6115
9.52k
    YYFILL(3);
6116
9.52k
    yych = *YYCURSOR;
6117
14.8k
yy465:
6118
14.8k
    YYDEBUG(465, *YYCURSOR);
6119
14.8k
    if (yych <= 'Z') {
6120
7.03k
      if (yych <= '/') {
6121
4.47k
        if (yych == '\'') goto yy569;
6122
341
        goto yy86;
6123
4.47k
      } else {
6124
2.55k
        if (yych <= '9') goto yy464;
6125
2.32k
        if (yych <= '@') goto yy86;
6126
2.03k
        goto yy464;
6127
2.32k
      }
6128
7.84k
    } else {
6129
7.84k
      if (yych <= '`') {
6130
632
        if (yych == '_') goto yy464;
6131
203
        goto yy86;
6132
7.21k
      } else {
6133
7.21k
        if (yych <= 'z') goto yy464;
6134
5.46k
        if (yych <= 0x7F) goto yy86;
6135
5.07k
        goto yy464;
6136
5.46k
      }
6137
7.84k
    }
6138
2.23M
yy466:
6139
2.23M
    YYDEBUG(466, *YYCURSOR);
6140
2.23M
    ++YYCURSOR;
6141
2.23M
yy467:
6142
2.23M
    YYDEBUG(467, *YYCURSOR);
6143
2.23M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
2.23M
#line 2678 "Zend/zend_language_scanner.l"
6145
2.23M
    {
6146
2.23M
  char *s;
6147
2.23M
  unsigned char *saved_cursor;
6148
2.23M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
2.23M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
2.23M
  bool is_heredoc = 1;
6151
6152
2.23M
  CG(zend_lineno)++;
6153
2.23M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
2.23M
  s = yytext+bprefix+3;
6155
2.23M
  while ((*s == ' ') || (*s == '\t')) {
6156
523
    s++;
6157
523
    heredoc_label->length--;
6158
523
  }
6159
6160
2.23M
  if (*s == '\'') {
6161
3.83k
    s++;
6162
3.83k
    heredoc_label->length -= 2;
6163
3.83k
    is_heredoc = 0;
6164
6165
3.83k
    BEGIN(ST_NOWDOC);
6166
2.23M
  } else {
6167
2.23M
    if (*s == '"') {
6168
239
      s++;
6169
239
      heredoc_label->length -= 2;
6170
239
    }
6171
6172
2.23M
    BEGIN(ST_HEREDOC);
6173
2.23M
  }
6174
6175
2.23M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
2.23M
  heredoc_label->indentation_uses_spaces = 0;
6177
2.23M
  heredoc_label->indentation = 0;
6178
2.23M
  saved_cursor = YYCURSOR;
6179
6180
2.23M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
2.27M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
37.1k
    if (*YYCURSOR == '\t') {
6184
35.4k
      spacing |= HEREDOC_USING_TABS;
6185
35.4k
    } else {
6186
1.69k
      spacing |= HEREDOC_USING_SPACES;
6187
1.69k
    }
6188
37.1k
    ++YYCURSOR;
6189
37.1k
    ++indentation;
6190
37.1k
  }
6191
6192
2.23M
  if (YYCURSOR == YYLIMIT) {
6193
810
    YYCURSOR = saved_cursor;
6194
810
    RETURN_TOKEN(T_START_HEREDOC);
6195
810
  }
6196
6197
  /* Check for ending label on the next line */
6198
2.23M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
5.84k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
1.80k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
73
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
73
        if (PARSER_MODE()) {
6203
6
          RETURN_TOKEN(T_ERROR);
6204
6
        }
6205
73
      }
6206
6207
1.79k
      YYCURSOR = saved_cursor;
6208
1.79k
      heredoc_label->indentation = indentation;
6209
6210
1.79k
      BEGIN(ST_END_HEREDOC);
6211
1.79k
      RETURN_TOKEN(T_START_HEREDOC);
6212
1.79k
    }
6213
5.84k
  }
6214
6215
2.23M
  YYCURSOR = saved_cursor;
6216
6217
2.23M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
111k
    zend_lex_state current_state;
6219
111k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
111k
    int heredoc_nesting_level = 1;
6221
111k
    int first_token = 0;
6222
111k
    int error = 0;
6223
6224
111k
    zend_save_lexical_state(&current_state);
6225
6226
111k
    SCNG(heredoc_scan_ahead) = 1;
6227
111k
    SCNG(heredoc_indentation) = 0;
6228
111k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
111k
    SCNG(on_event_context) = NULL;
6230
111k
    LANG_SCNG(on_event) = NULL;
6231
111k
    CG(doc_comment) = NULL;
6232
6233
111k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
111k
    zend_exception_save();
6236
10.0M
    while (heredoc_nesting_level) {
6237
10.0M
      zval zv;
6238
10.0M
      int retval;
6239
6240
10.0M
      ZVAL_UNDEF(&zv);
6241
10.0M
      retval = lex_scan(&zv, NULL);
6242
10.0M
      zval_ptr_dtor_nogc(&zv);
6243
6244
10.0M
      if (EG(exception)) {
6245
109k
        zend_clear_exception();
6246
109k
        break;
6247
109k
      }
6248
6249
9.92M
      if (!first_token) {
6250
111k
        first_token = retval;
6251
111k
      }
6252
6253
9.92M
      switch (retval) {
6254
2.12M
        case T_START_HEREDOC:
6255
2.12M
          ++heredoc_nesting_level;
6256
2.12M
          break;
6257
5.67k
        case T_END_HEREDOC:
6258
5.67k
          --heredoc_nesting_level;
6259
5.67k
          break;
6260
1.14k
        case END:
6261
1.14k
          heredoc_nesting_level = 0;
6262
9.92M
      }
6263
9.92M
    }
6264
111k
    zend_exception_restore();
6265
6266
111k
    if (
6267
111k
        (first_token == T_VARIABLE
6268
108k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6269
21.1k
         || first_token == T_CURLY_OPEN
6270
111k
        ) && SCNG(heredoc_indentation)) {
6271
1
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6272
1
      error = 1;
6273
1
    }
6274
6275
111k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6276
111k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6277
6278
111k
    zend_restore_lexical_state(&current_state);
6279
111k
    SCNG(heredoc_scan_ahead) = 0;
6280
111k
    CG(increment_lineno) = 0;
6281
111k
    CG(doc_comment) = saved_doc_comment;
6282
6283
111k
    if (PARSER_MODE() && error) {
6284
1
      RETURN_TOKEN(T_ERROR);
6285
1
    }
6286
111k
  }
6287
6288
2.23M
  RETURN_TOKEN(T_START_HEREDOC);
6289
2.23M
}
6290
0
#line 6291 "Zend/zend_language_scanner.c"
6291
6.76k
yy468:
6292
6.76k
    YYDEBUG(468, *YYCURSOR);
6293
6.76k
    yych = *++YYCURSOR;
6294
6.76k
    if (yych == '\n') goto yy466;
6295
6.32k
    goto yy467;
6296
6.32k
yy469:
6297
4.30k
    YYDEBUG(469, *YYCURSOR);
6298
4.30k
    yyaccept = 4;
6299
4.30k
    yych = *(YYMARKER = ++YYCURSOR);
6300
4.30k
    if (yych == 'A') goto yy570;
6301
4.06k
    if (yych == 'a') goto yy570;
6302
370
    goto yy48;
6303
6.76k
yy470:
6304
6.76k
    YYDEBUG(470, *YYCURSOR);
6305
6.76k
    yyaccept = 34;
6306
6.76k
    yych = *(YYMARKER = ++YYCURSOR);
6307
6.76k
    if (yybm[256+yych] & 128) {
6308
2.72k
      goto yy47;
6309
2.72k
    }
6310
4.03k
    if (yych == '\\') goto yy164;
6311
3.91k
yy471:
6312
3.91k
    YYDEBUG(471, *YYCURSOR);
6313
3.91k
    yyleng = YYCURSOR - SCNG(yy_text);
6314
3.91k
#line 1818 "Zend/zend_language_scanner.l"
6315
3.91k
    {
6316
3.91k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6317
3.91k
}
6318
0
#line 6319 "Zend/zend_language_scanner.c"
6319
5.35k
yy472:
6320
5.35k
    YYDEBUG(472, *YYCURSOR);
6321
5.35k
    yyaccept = 35;
6322
5.35k
    yych = *(YYMARKER = ++YYCURSOR);
6323
5.35k
    if (yybm[256+yych] & 128) {
6324
782
      goto yy47;
6325
782
    }
6326
4.57k
    if (yych == '\\') goto yy164;
6327
4.38k
yy473:
6328
4.38k
    YYDEBUG(473, *YYCURSOR);
6329
4.38k
    yyleng = YYCURSOR - SCNG(yy_text);
6330
4.38k
#line 1534 "Zend/zend_language_scanner.l"
6331
4.38k
    {
6332
4.38k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6333
4.38k
}
6334
0
#line 6335 "Zend/zend_language_scanner.c"
6335
2.23k
yy474:
6336
2.23k
    YYDEBUG(474, *YYCURSOR);
6337
2.23k
    yyaccept = 4;
6338
2.23k
    yych = *(YYMARKER = ++YYCURSOR);
6339
2.23k
    if (yych == 'B') goto yy571;
6340
1.88k
    if (yych == 'b') goto yy571;
6341
458
    goto yy48;
6342
4.06k
yy475:
6343
4.06k
    YYDEBUG(475, *YYCURSOR);
6344
4.06k
    yyaccept = 36;
6345
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
6346
4.06k
    if (yybm[256+yych] & 128) {
6347
417
      goto yy47;
6348
417
    }
6349
3.64k
    if (yych == '\\') goto yy164;
6350
3.08k
yy476:
6351
3.08k
    YYDEBUG(476, *YYCURSOR);
6352
3.08k
    yyleng = YYCURSOR - SCNG(yy_text);
6353
3.08k
#line 1442 "Zend/zend_language_scanner.l"
6354
3.08k
    {
6355
3.08k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6356
3.08k
}
6357
0
#line 6358 "Zend/zend_language_scanner.c"
6358
23.3k
yy477:
6359
23.3k
    YYDEBUG(477, *YYCURSOR);
6360
23.3k
    yyaccept = 37;
6361
23.3k
    yych = *(YYMARKER = ++YYCURSOR);
6362
23.3k
    if (yybm[256+yych] & 128) {
6363
899
      goto yy47;
6364
899
    }
6365
22.4k
    if (yych == '\\') goto yy164;
6366
22.3k
yy478:
6367
22.3k
    YYDEBUG(478, *YYCURSOR);
6368
22.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6369
22.3k
#line 1554 "Zend/zend_language_scanner.l"
6370
22.3k
    {
6371
22.3k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6372
22.3k
}
6373
0
#line 6374 "Zend/zend_language_scanner.c"
6374
3.17k
yy479:
6375
3.17k
    YYDEBUG(479, *YYCURSOR);
6376
3.17k
    yyaccept = 38;
6377
3.17k
    yych = *(YYMARKER = ++YYCURSOR);
6378
3.17k
    if (yybm[256+yych] & 128) {
6379
1.25k
      goto yy47;
6380
1.25k
    }
6381
1.92k
    if (yych == '\\') goto yy164;
6382
1.89k
yy480:
6383
1.89k
    YYDEBUG(480, *YYCURSOR);
6384
1.89k
    yyleng = YYCURSOR - SCNG(yy_text);
6385
1.89k
#line 1630 "Zend/zend_language_scanner.l"
6386
1.89k
    {
6387
1.89k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6388
1.89k
}
6389
0
#line 6390 "Zend/zend_language_scanner.c"
6390
6.62k
yy481:
6391
6.62k
    YYDEBUG(481, *YYCURSOR);
6392
6.62k
    yyaccept = 39;
6393
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
6394
6.62k
    if (yybm[256+yych] & 128) {
6395
730
      goto yy47;
6396
730
    }
6397
5.89k
    if (yych == '\\') goto yy164;
6398
5.89k
yy482:
6399
5.89k
    YYDEBUG(482, *YYCURSOR);
6400
5.89k
    yyleng = YYCURSOR - SCNG(yy_text);
6401
5.89k
#line 1415 "Zend/zend_language_scanner.l"
6402
5.89k
    {
6403
5.89k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6404
5.89k
}
6405
0
#line 6406 "Zend/zend_language_scanner.c"
6406
3.63k
yy483:
6407
3.63k
    YYDEBUG(483, *YYCURSOR);
6408
3.63k
    yyaccept = 4;
6409
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
6410
3.63k
    if (yych == 'N') goto yy572;
6411
2.01k
    if (yych == 'n') goto yy572;
6412
229
    goto yy48;
6413
5.24k
yy484:
6414
5.24k
    YYDEBUG(484, *YYCURSOR);
6415
5.24k
    yyaccept = 4;
6416
5.24k
    yych = *(YYMARKER = ++YYCURSOR);
6417
5.24k
    if (yych == 'R') goto yy573;
6418
4.94k
    if (yych == 'r') goto yy573;
6419
730
    goto yy48;
6420
2.52k
yy485:
6421
2.52k
    YYDEBUG(485, *YYCURSOR);
6422
2.52k
    yyaccept = 4;
6423
2.52k
    yych = *(YYMARKER = ++YYCURSOR);
6424
2.52k
    if (yych == 'L') goto yy574;
6425
2.32k
    if (yych == 'l') goto yy574;
6426
390
    goto yy48;
6427
3.93k
yy486:
6428
3.93k
    YYDEBUG(486, *YYCURSOR);
6429
3.93k
    yyaccept = 4;
6430
3.93k
    yych = *(YYMARKER = ++YYCURSOR);
6431
3.93k
    if (yych == 'F') goto yy575;
6432
3.73k
    if (yych == 'f') goto yy575;
6433
510
    goto yy48;
6434
1.65k
yy487:
6435
1.65k
    YYDEBUG(487, *YYCURSOR);
6436
1.65k
    yyaccept = 40;
6437
1.65k
    yych = *(YYMARKER = ++YYCURSOR);
6438
1.65k
    if (yybm[256+yych] & 128) {
6439
434
      goto yy47;
6440
434
    }
6441
1.22k
    if (yych == '\\') goto yy164;
6442
1.22k
yy488:
6443
1.22k
    YYDEBUG(488, *YYCURSOR);
6444
1.22k
    yyleng = YYCURSOR - SCNG(yy_text);
6445
1.22k
#line 1758 "Zend/zend_language_scanner.l"
6446
1.22k
    {
6447
1.22k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6448
1.22k
}
6449
0
#line 6450 "Zend/zend_language_scanner.c"
6450
4.76k
yy489:
6451
4.76k
    YYDEBUG(489, *YYCURSOR);
6452
4.76k
    yyaccept = 4;
6453
4.76k
    yych = *(YYMARKER = ++YYCURSOR);
6454
4.76k
    if (yych == 'C') goto yy577;
6455
2.75k
    if (yych == 'c') goto yy577;
6456
876
    goto yy48;
6457
6.20k
yy490:
6458
6.20k
    YYDEBUG(490, *YYCURSOR);
6459
6.20k
    yyaccept = 4;
6460
6.20k
    yych = *(YYMARKER = ++YYCURSOR);
6461
6.20k
    if (yych == 'R') goto yy578;
6462
4.74k
    if (yych == 'r') goto yy578;
6463
299
    goto yy48;
6464
2.12k
yy491:
6465
2.12k
    YYDEBUG(491, *YYCURSOR);
6466
2.12k
    yyaccept = 41;
6467
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
6468
2.12k
    if (yybm[256+yych] & 128) {
6469
950
      goto yy47;
6470
950
    }
6471
1.17k
    if (yych == '\\') goto yy164;
6472
1.17k
yy492:
6473
1.17k
    YYDEBUG(492, *YYCURSOR);
6474
1.17k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
1.17k
#line 1462 "Zend/zend_language_scanner.l"
6476
1.17k
    {
6477
1.17k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6478
1.17k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
2.97k
yy493:
6481
2.97k
    YYDEBUG(493, *YYCURSOR);
6482
2.97k
    yyaccept = 4;
6483
2.97k
    yych = *(YYMARKER = ++YYCURSOR);
6484
2.97k
    if (yych == 'I') goto yy580;
6485
1.98k
    if (yych == 'i') goto yy580;
6486
215
    goto yy48;
6487
2.85k
yy494:
6488
2.85k
    YYDEBUG(494, *YYCURSOR);
6489
2.85k
    yyaccept = 4;
6490
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
6491
2.85k
    if (yych == 'I') goto yy581;
6492
2.63k
    if (yych == 'i') goto yy581;
6493
618
    goto yy48;
6494
391k
yy495:
6495
391k
    YYDEBUG(495, *YYCURSOR);
6496
391k
    ++YYCURSOR;
6497
391k
    YYFILL(10);
6498
391k
    yych = *YYCURSOR;
6499
391k
    YYDEBUG(496, *YYCURSOR);
6500
391k
    if (yych <= 'E') {
6501
373k
      if (yych <= ' ') {
6502
21.1k
        if (yych <= '\f') {
6503
7.21k
          if (yych <= 0x08) goto yy86;
6504
4.72k
          if (yych <= '\n') goto yy495;
6505
216
          goto yy86;
6506
13.9k
        } else {
6507
13.9k
          if (yych <= '\r') goto yy495;
6508
2.18k
          if (yych <= 0x1F) goto yy86;
6509
1.89k
          goto yy495;
6510
2.18k
        }
6511
351k
      } else {
6512
351k
        if (yych <= '.') {
6513
347k
          if (yych != '#') goto yy86;
6514
347k
        } else {
6515
4.57k
          if (yych <= '/') goto yy498;
6516
2.48k
          if (yych <= '@') goto yy86;
6517
794
          if (yych <= 'D') goto yy582;
6518
481
          goto yy584;
6519
794
        }
6520
351k
      }
6521
373k
    } else {
6522
18.4k
      if (yych <= '`') {
6523
4.11k
        if (yych <= 'Z') {
6524
2.19k
          if (yych == 'I') goto yy585;
6525
662
          goto yy582;
6526
2.19k
        } else {
6527
1.92k
          if (yych == '_') goto yy582;
6528
545
          goto yy86;
6529
1.92k
        }
6530
14.3k
      } else {
6531
14.3k
        if (yych <= 'h') {
6532
5.46k
          if (yych == 'e') goto yy584;
6533
1.09k
          goto yy582;
6534
8.88k
        } else {
6535
8.88k
          if (yych <= 'i') goto yy585;
6536
6.60k
          if (yych <= 'z') goto yy582;
6537
2.36k
          if (yych <= 0x7F) goto yy86;
6538
1.68k
          goto yy582;
6539
2.36k
        }
6540
14.3k
      }
6541
18.4k
    }
6542
352k
yy497:
6543
352k
    YYDEBUG(497, *YYCURSOR);
6544
352k
    ++YYCURSOR;
6545
352k
    YYFILL(1);
6546
352k
    yych = *YYCURSOR;
6547
352k
    if (yych <= '\f') {
6548
284k
      if (yych <= 0x00) goto yy86;
6549
284k
      if (yych == '\n') goto yy588;
6550
2.76k
      goto yy586;
6551
284k
    } else {
6552
68.2k
      if (yych <= '\r') goto yy588;
6553
21.9k
      if (yych == '[') goto yy86;
6554
21.7k
      goto yy586;
6555
21.9k
    }
6556
2.36k
yy498:
6557
2.36k
    YYDEBUG(498, *YYCURSOR);
6558
2.36k
    ++YYCURSOR;
6559
2.36k
    YYFILL(1);
6560
2.36k
    yych = *YYCURSOR;
6561
2.36k
    if (yych == '*') goto yy590;
6562
1.06k
    if (yych == '/') goto yy586;
6563
709
    goto yy86;
6564
11.2k
yy499:
6565
11.2k
    YYDEBUG(499, *YYCURSOR);
6566
11.2k
    yyaccept = 4;
6567
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
6568
11.2k
    if (yych == 'D') goto yy592;
6569
10.7k
    if (yych == 'd') goto yy592;
6570
916
    goto yy48;
6571
8.91k
yy500:
6572
8.91k
    YYDEBUG(500, *YYCURSOR);
6573
8.91k
    yyaccept = 42;
6574
8.91k
    yych = *(YYMARKER = ++YYCURSOR);
6575
8.91k
    if (yych <= '\\') {
6576
4.16k
      if (yych <= 'K') {
6577
3.31k
        if (yych <= '/') goto yy501;
6578
2.20k
        if (yych <= '9') goto yy47;
6579
1.24k
        if (yych >= 'A') goto yy47;
6580
1.24k
      } else {
6581
849
        if (yych <= 'L') goto yy593;
6582
626
        if (yych <= 'Z') goto yy47;
6583
422
        if (yych >= '\\') goto yy164;
6584
422
      }
6585
4.74k
    } else {
6586
4.74k
      if (yych <= 'k') {
6587
983
        if (yych == '_') goto yy47;
6588
757
        if (yych >= 'a') goto yy47;
6589
3.76k
      } else {
6590
3.76k
        if (yych <= 'l') goto yy593;
6591
969
        if (yych <= 'z') goto yy47;
6592
567
        if (yych >= 0x80) goto yy47;
6593
567
      }
6594
4.74k
    }
6595
3.32k
yy501:
6596
3.32k
    YYDEBUG(501, *YYCURSOR);
6597
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
6598
3.32k
#line 1774 "Zend/zend_language_scanner.l"
6599
3.32k
    {
6600
3.32k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6601
3.32k
}
6602
0
#line 6603 "Zend/zend_language_scanner.c"
6603
3.57k
yy502:
6604
3.57k
    YYDEBUG(502, *YYCURSOR);
6605
3.57k
    yyaccept = 4;
6606
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
6607
3.57k
    if (yych == 'C') goto yy594;
6608
3.36k
    if (yych == 'c') goto yy594;
6609
407
    goto yy48;
6610
26.8k
yy503:
6611
26.8k
    YYDEBUG(503, *YYCURSOR);
6612
26.8k
    yyaccept = 4;
6613
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
6614
26.8k
    if (yych == 'I') goto yy595;
6615
26.5k
    if (yych == 'i') goto yy595;
6616
485
    goto yy48;
6617
3.03k
yy504:
6618
3.03k
    YYDEBUG(504, *YYCURSOR);
6619
3.03k
    yyaccept = 4;
6620
3.03k
    yych = *(YYMARKER = ++YYCURSOR);
6621
3.03k
    if (yych == 'L') goto yy596;
6622
2.12k
    if (yych == 'l') goto yy596;
6623
544
    goto yy48;
6624
5.57k
yy505:
6625
5.57k
    YYDEBUG(505, *YYCURSOR);
6626
5.57k
    yyaccept = 4;
6627
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
6628
5.57k
    if (yych == 'M') goto yy598;
6629
4.37k
    if (yych == 'm') goto yy598;
6630
760
    goto yy48;
6631
7.58k
yy506:
6632
7.58k
    YYDEBUG(506, *YYCURSOR);
6633
7.58k
    yyaccept = 4;
6634
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
6635
7.58k
    if (yych == 'D') goto yy599;
6636
6.20k
    if (yych == 'd') goto yy599;
6637
560
    goto yy48;
6638
3.26k
yy507:
6639
3.26k
    YYDEBUG(507, *YYCURSOR);
6640
3.26k
    yyaccept = 4;
6641
3.26k
    yych = *(YYMARKER = ++YYCURSOR);
6642
3.26k
    if (yych == 'N') goto yy600;
6643
2.85k
    if (yych == 'n') goto yy600;
6644
343
    goto yy48;
6645
2.86k
yy508:
6646
2.86k
    YYDEBUG(508, *YYCURSOR);
6647
2.86k
    yyaccept = 4;
6648
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
6649
2.86k
    if (yych == 'A') goto yy601;
6650
2.50k
    if (yych == 'a') goto yy601;
6651
222
    goto yy48;
6652
4.61k
yy509:
6653
4.61k
    YYDEBUG(509, *YYCURSOR);
6654
4.61k
    yyaccept = 4;
6655
4.61k
    yych = *(YYMARKER = ++YYCURSOR);
6656
4.61k
    if (yych == 'F') goto yy602;
6657
4.22k
    if (yych == 'f') goto yy602;
6658
900
    goto yy48;
6659
2.65k
yy510:
6660
2.65k
    YYDEBUG(510, *YYCURSOR);
6661
2.65k
    yyaccept = 43;
6662
2.65k
    yych = *(YYMARKER = ++YYCURSOR);
6663
2.65k
    if (yybm[256+yych] & 128) {
6664
436
      goto yy47;
6665
436
    }
6666
2.22k
    if (yych == '\\') goto yy164;
6667
2.21k
yy511:
6668
2.21k
    YYDEBUG(511, *YYCURSOR);
6669
2.21k
    yyleng = YYCURSOR - SCNG(yy_text);
6670
2.21k
#line 1754 "Zend/zend_language_scanner.l"
6671
2.21k
    {
6672
2.21k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6673
2.21k
}
6674
0
#line 6675 "Zend/zend_language_scanner.c"
6675
3.40k
yy512:
6676
3.40k
    YYDEBUG(512, *YYCURSOR);
6677
3.40k
    yyaccept = 44;
6678
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
6679
3.40k
    if (yybm[256+yych] & 128) {
6680
322
      goto yy47;
6681
322
    }
6682
3.08k
    if (yych == '\\') goto yy164;
6683
3.07k
yy513:
6684
3.07k
    YYDEBUG(513, *YYCURSOR);
6685
3.07k
    yyleng = YYCURSOR - SCNG(yy_text);
6686
3.07k
#line 1518 "Zend/zend_language_scanner.l"
6687
3.07k
    {
6688
3.07k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6689
3.07k
}
6690
0
#line 6691 "Zend/zend_language_scanner.c"
6691
11.5k
yy514:
6692
11.5k
    YYDEBUG(514, *YYCURSOR);
6693
11.5k
    yyaccept = 4;
6694
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
6695
11.5k
    if (yych == 'P') goto yy603;
6696
10.3k
    if (yych == 'p') goto yy603;
6697
513
    goto yy48;
6698
5.03k
yy515:
6699
5.03k
    YYDEBUG(515, *YYCURSOR);
6700
5.03k
    yyaccept = 45;
6701
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
6702
5.03k
    if (yybm[256+yych] & 128) {
6703
2.98k
      goto yy47;
6704
2.98k
    }
6705
2.05k
    if (yych == '\\') goto yy164;
6706
1.95k
yy516:
6707
1.95k
    YYDEBUG(516, *YYCURSOR);
6708
1.95k
    yyleng = YYCURSOR - SCNG(yy_text);
6709
1.95k
#line 1550 "Zend/zend_language_scanner.l"
6710
1.95k
    {
6711
1.95k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6712
1.95k
}
6713
0
#line 6714 "Zend/zend_language_scanner.c"
6714
5.64k
yy517:
6715
5.64k
    YYDEBUG(517, *YYCURSOR);
6716
5.64k
    yyaccept = 4;
6717
5.64k
    yych = *(YYMARKER = ++YYCURSOR);
6718
5.64k
    if (yych == 'T') goto yy604;
6719
5.41k
    if (yych == 't') goto yy604;
6720
309
    goto yy48;
6721
5.49k
yy518:
6722
5.49k
    YYDEBUG(518, *YYCURSOR);
6723
5.49k
    yyaccept = 4;
6724
5.49k
    yych = *(YYMARKER = ++YYCURSOR);
6725
5.49k
    if (yych == 'C') goto yy605;
6726
5.10k
    if (yych == 'c') goto yy605;
6727
684
    goto yy48;
6728
16.5k
yy519:
6729
16.5k
    YYDEBUG(519, *YYCURSOR);
6730
16.5k
    yyaccept = 4;
6731
16.5k
    yych = *(YYMARKER = ++YYCURSOR);
6732
16.5k
    if (yych == 'C') goto yy606;
6733
16.3k
    if (yych == 'c') goto yy606;
6734
743
    goto yy48;
6735
4.23k
yy520:
6736
4.23k
    YYDEBUG(520, *YYCURSOR);
6737
4.23k
    yyaccept = 4;
6738
4.23k
    yych = *(YYMARKER = ++YYCURSOR);
6739
4.23k
    if (yych == 'N') goto yy608;
6740
3.73k
    if (yych == 'n') goto yy608;
6741
413
    goto yy48;
6742
6.69k
yy521:
6743
6.69k
    YYDEBUG(521, *YYCURSOR);
6744
6.69k
    yyaccept = 4;
6745
6.69k
    yych = *(YYMARKER = ++YYCURSOR);
6746
6.69k
    if (yych == 'R') goto yy609;
6747
6.01k
    if (yych == 'r') goto yy609;
6748
410
    goto yy48;
6749
7.38k
yy522:
6750
7.38k
    YYDEBUG(522, *YYCURSOR);
6751
7.38k
    yyaccept = 4;
6752
7.38k
    yych = *(YYMARKER = ++YYCURSOR);
6753
7.38k
    if (yych == 'N') goto yy610;
6754
7.16k
    if (yych == 'n') goto yy610;
6755
475
    goto yy48;
6756
6.66k
yy523:
6757
6.66k
    YYDEBUG(523, *YYCURSOR);
6758
6.66k
    yyaccept = 4;
6759
6.66k
    yych = *(YYMARKER = ++YYCURSOR);
6760
6.66k
    if (yych == 'C') goto yy612;
6761
6.40k
    if (yych == 'c') goto yy612;
6762
451
    goto yy48;
6763
4.20k
yy524:
6764
4.20k
    YYDEBUG(524, *YYCURSOR);
6765
4.20k
    yyaccept = 4;
6766
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
6767
4.20k
    if (yych == 'H') goto yy614;
6768
4.00k
    if (yych == 'h') goto yy614;
6769
532
    goto yy48;
6770
2.35k
yy525:
6771
2.35k
    YYDEBUG(525, *YYCURSOR);
6772
2.35k
    yyaccept = 46;
6773
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
6774
2.35k
    if (yybm[256+yych] & 128) {
6775
542
      goto yy47;
6776
542
    }
6777
1.81k
    if (yych == '\\') goto yy164;
6778
1.74k
yy526:
6779
1.74k
    YYDEBUG(526, *YYCURSOR);
6780
1.74k
    yyleng = YYCURSOR - SCNG(yy_text);
6781
1.74k
#line 1450 "Zend/zend_language_scanner.l"
6782
1.74k
    {
6783
1.74k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6784
1.74k
}
6785
0
#line 6786 "Zend/zend_language_scanner.c"
6786
2.03k
yy527:
6787
2.03k
    YYDEBUG(527, *YYCURSOR);
6788
2.03k
    yyaccept = 47;
6789
2.03k
    yych = *(YYMARKER = ++YYCURSOR);
6790
2.03k
    if (yybm[256+yych] & 128) {
6791
320
      goto yy47;
6792
320
    }
6793
1.71k
    if (yych == '\\') goto yy164;
6794
1.71k
yy528:
6795
1.71k
    YYDEBUG(528, *YYCURSOR);
6796
1.71k
    yyleng = YYCURSOR - SCNG(yy_text);
6797
1.71k
#line 1562 "Zend/zend_language_scanner.l"
6798
1.71k
    {
6799
1.71k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6800
1.71k
}
6801
0
#line 6802 "Zend/zend_language_scanner.c"
6802
3.49k
yy529:
6803
3.49k
    YYDEBUG(529, *YYCURSOR);
6804
3.49k
    yyaccept = 48;
6805
3.49k
    yych = *(YYMARKER = ++YYCURSOR);
6806
3.49k
    if (yybm[256+yych] & 128) {
6807
653
      goto yy47;
6808
653
    }
6809
2.84k
    if (yych == '\\') goto yy164;
6810
2.83k
yy530:
6811
2.83k
    YYDEBUG(530, *YYCURSOR);
6812
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
6813
2.83k
#line 1806 "Zend/zend_language_scanner.l"
6814
2.83k
    {
6815
2.83k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6816
2.83k
}
6817
0
#line 6818 "Zend/zend_language_scanner.c"
6818
2.74k
yy531:
6819
2.74k
    YYDEBUG(531, *YYCURSOR);
6820
2.74k
    yyaccept = 49;
6821
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
6822
2.74k
    if (yybm[256+yych] & 128) {
6823
560
      goto yy47;
6824
560
    }
6825
2.18k
    if (yych == '\\') goto yy164;
6826
2.18k
yy532:
6827
2.18k
    YYDEBUG(532, *YYCURSOR);
6828
2.18k
    yyleng = YYCURSOR - SCNG(yy_text);
6829
2.18k
#line 1470 "Zend/zend_language_scanner.l"
6830
2.18k
    {
6831
2.18k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6832
2.18k
}
6833
0
#line 6834 "Zend/zend_language_scanner.c"
6834
55.4k
yy533:
6835
55.4k
    YYDEBUG(533, *YYCURSOR);
6836
55.4k
    yyaccept = 50;
6837
55.4k
    yych = *(YYMARKER = ++YYCURSOR);
6838
55.4k
    if (yybm[256+yych] & 128) {
6839
778
      goto yy47;
6840
778
    }
6841
54.6k
    if (yych <= ' ') {
6842
28.2k
      if (yych <= '\f') {
6843
21.6k
        if (yych <= 0x08) goto yy534;
6844
21.2k
        if (yych <= '\n') goto yy616;
6845
21.2k
      } else {
6846
6.63k
        if (yych <= '\r') goto yy616;
6847
5.26k
        if (yych >= ' ') goto yy616;
6848
5.26k
      }
6849
28.2k
    } else {
6850
26.3k
      if (yych <= '.') {
6851
25.0k
        if (yych == '#') goto yy618;
6852
25.0k
      } else {
6853
1.32k
        if (yych <= '/') goto yy619;
6854
1.01k
        if (yych == '\\') goto yy164;
6855
1.01k
      }
6856
26.3k
    }
6857
36.7k
yy534:
6858
36.7k
    YYDEBUG(534, *YYCURSOR);
6859
36.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
36.7k
#line 1434 "Zend/zend_language_scanner.l"
6861
36.7k
    {
6862
36.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6863
36.7k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
4.10k
yy535:
6866
4.10k
    YYDEBUG(535, *YYCURSOR);
6867
4.10k
    yyaccept = 4;
6868
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
6869
4.10k
    if (yych == 'S') goto yy620;
6870
3.80k
    if (yych == 's') goto yy620;
6871
370
    goto yy48;
6872
3.18k
yy536:
6873
3.18k
    YYDEBUG(536, *YYCURSOR);
6874
3.18k
    yyaccept = 4;
6875
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
6876
3.18k
    if (yych == '_') goto yy621;
6877
356
    goto yy48;
6878
3.05k
yy537:
6879
3.05k
    YYDEBUG(537, *YYCURSOR);
6880
3.05k
    yyaccept = 4;
6881
3.05k
    yych = *(YYMARKER = ++YYCURSOR);
6882
3.05k
    if (yych == 'E') goto yy622;
6883
2.25k
    if (yych == 'e') goto yy622;
6884
608
    goto yy48;
6885
4.48k
yy538:
6886
4.48k
    YYDEBUG(538, *YYCURSOR);
6887
4.48k
    yyaccept = 4;
6888
4.48k
    yych = *(YYMARKER = ++YYCURSOR);
6889
4.48k
    if (yych == 'C') goto yy623;
6890
3.98k
    if (yych == 'c') goto yy623;
6891
471
    goto yy48;
6892
4.22k
yy539:
6893
4.22k
    YYDEBUG(539, *YYCURSOR);
6894
4.22k
    yyaccept = 4;
6895
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
6896
4.22k
    if (yych == 'T') goto yy624;
6897
3.46k
    if (yych == 't') goto yy624;
6898
364
    goto yy48;
6899
2.72k
yy540:
6900
2.72k
    YYDEBUG(540, *YYCURSOR);
6901
2.72k
    yyaccept = 4;
6902
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
6903
2.72k
    if (yych == 'E') goto yy625;
6904
1.93k
    if (yych == 'e') goto yy625;
6905
520
    goto yy48;
6906
4.96k
yy541:
6907
4.96k
    YYDEBUG(541, *YYCURSOR);
6908
4.96k
    yyaccept = 4;
6909
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
6910
4.96k
    if (yych == 'H') goto yy626;
6911
4.54k
    if (yych == 'h') goto yy626;
6912
757
    goto yy48;
6913
4.73k
yy542:
6914
4.73k
    YYDEBUG(542, *YYCURSOR);
6915
4.73k
    yyaccept = 4;
6916
4.73k
    yych = *(YYMARKER = ++YYCURSOR);
6917
4.73k
    if (yych == 'E') goto yy627;
6918
3.78k
    if (yych == 'e') goto yy627;
6919
316
    goto yy48;
6920
6.19k
yy543:
6921
6.19k
    YYDEBUG(543, *YYCURSOR);
6922
6.19k
    yyaccept = 4;
6923
6.19k
    yych = *(YYMARKER = ++YYCURSOR);
6924
6.19k
    if (yych == 'P') goto yy628;
6925
1.81k
    if (yych == 'p') goto yy628;
6926
657
    goto yy48;
6927
4.23k
yy544:
6928
4.23k
    YYDEBUG(544, *YYCURSOR);
6929
4.23k
    yyaccept = 4;
6930
4.23k
    yych = *(YYMARKER = ++YYCURSOR);
6931
4.23k
    if (yych == 'I') goto yy629;
6932
3.87k
    if (yych == 'i') goto yy629;
6933
311
    goto yy48;
6934
38.8k
yy545:
6935
38.8k
    YYDEBUG(545, *YYCURSOR);
6936
38.8k
    ++YYCURSOR;
6937
38.8k
    YYFILL(1);
6938
38.8k
    yych = *YYCURSOR;
6939
38.8k
    YYDEBUG(546, *YYCURSOR);
6940
38.8k
    if (yybm[0+yych] & 64) {
6941
243
      goto yy355;
6942
243
    }
6943
38.5k
    if (yych <= ' ') {
6944
7.21k
      if (yych <= '\n') {
6945
4.23k
        if (yych <= 0x00) goto yy86;
6946
3.16k
        if (yych <= 0x08) goto yy230;
6947
2.87k
        goto yy545;
6948
3.16k
      } else {
6949
2.98k
        if (yych == '\r') goto yy545;
6950
905
        if (yych <= 0x1F) goto yy230;
6951
476
        goto yy545;
6952
905
      }
6953
31.3k
    } else {
6954
31.3k
      if (yych <= '$') {
6955
25.1k
        if (yych <= '"') goto yy230;
6956
24.9k
        if (yych <= '#') goto yy630;
6957
905
        goto yy631;
6958
24.9k
      } else {
6959
6.18k
        if (yych <= '-') goto yy230;
6960
5.11k
        if (yych <= '.') goto yy632;
6961
3.29k
        if (yych <= '/') goto yy633;
6962
1.30k
        goto yy230;
6963
3.29k
      }
6964
31.3k
    }
6965
9.35k
yy547:
6966
9.35k
    YYDEBUG(547, *YYCURSOR);
6967
9.35k
    ++YYCURSOR;
6968
9.35k
    YYFILL(1);
6969
9.35k
    yych = *YYCURSOR;
6970
9.35k
    YYDEBUG(548, *YYCURSOR);
6971
9.35k
    if (yych <= '\r') {
6972
2.67k
      if (yych <= '\t') {
6973
774
        if (yych <= 0x00) goto yy86;
6974
282
        goto yy443;
6975
1.90k
      } else {
6976
1.90k
        if (yych <= '\n') goto yy545;
6977
995
        if (yych <= '\f') goto yy443;
6978
645
        goto yy545;
6979
995
      }
6980
6.68k
    } else {
6981
6.68k
      if (yych <= '*') {
6982
4.38k
        if (yych <= ')') goto yy443;
6983
829
        goto yy547;
6984
4.38k
      } else {
6985
2.30k
        if (yych == '/') goto yy227;
6986
2.08k
        goto yy443;
6987
2.30k
      }
6988
6.68k
    }
6989
3.82k
yy549:
6990
3.82k
    YYDEBUG(549, *YYCURSOR);
6991
3.82k
    ++YYCURSOR;
6992
3.82k
    YYFILL(1);
6993
3.82k
    yych = *YYCURSOR;
6994
3.82k
    YYDEBUG(550, *YYCURSOR);
6995
3.82k
    if (yych <= 0x1F) {
6996
457
      if (yych == '\t') goto yy549;
6997
255
      goto yy86;
6998
3.36k
    } else {
6999
3.36k
      if (yych <= ' ') goto yy549;
7000
2.90k
      if (yych == ')') goto yy634;
7001
1.84k
      goto yy86;
7002
2.90k
    }
7003
2.08k
yy551:
7004
2.08k
    YYDEBUG(551, *YYCURSOR);
7005
2.08k
    yych = *++YYCURSOR;
7006
2.08k
    if (yych == 'Y') goto yy636;
7007
1.85k
    if (yych == 'y') goto yy636;
7008
311
    goto yy86;
7009
545
yy552:
7010
545
    YYDEBUG(552, *YYCURSOR);
7011
545
    ++YYCURSOR;
7012
545
    YYFILL(1);
7013
545
    yych = *YYCURSOR;
7014
1.81k
yy553:
7015
1.81k
    YYDEBUG(553, *YYCURSOR);
7016
1.81k
    if (yych <= 0x1F) {
7017
776
      if (yych == '\t') goto yy552;
7018
430
      goto yy86;
7019
1.04k
    } else {
7020
1.04k
      if (yych <= ' ') goto yy552;
7021
841
      if (yych != ')') goto yy86;
7022
841
    }
7023
507
    YYDEBUG(554, *YYCURSOR);
7024
507
    ++YYCURSOR;
7025
507
    YYDEBUG(555, *YYCURSOR);
7026
507
    yyleng = YYCURSOR - SCNG(yy_text);
7027
507
#line 1696 "Zend/zend_language_scanner.l"
7028
507
    {
7029
507
  RETURN_TOKEN(T_BOOL_CAST);
7030
507
}
7031
0
#line 7032 "Zend/zend_language_scanner.c"
7032
1.50k
yy556:
7033
1.50k
    YYDEBUG(556, *YYCURSOR);
7034
1.50k
    yych = *++YYCURSOR;
7035
1.50k
    if (yych == 'A') goto yy638;
7036
920
    if (yych == 'a') goto yy638;
7037
308
    goto yy86;
7038
1.56k
yy557:
7039
1.56k
    YYDEBUG(557, *YYCURSOR);
7040
1.56k
    yych = *++YYCURSOR;
7041
1.56k
    if (yych == 'E') goto yy639;
7042
1.18k
    if (yych == 'e') goto yy639;
7043
624
    goto yy86;
7044
2.77k
yy558:
7045
2.77k
    YYDEBUG(558, *YYCURSOR);
7046
2.77k
    ++YYCURSOR;
7047
2.77k
    YYFILL(1);
7048
2.77k
    yych = *YYCURSOR;
7049
2.77k
    YYDEBUG(559, *YYCURSOR);
7050
2.77k
    if (yych <= 0x1F) {
7051
467
      if (yych == '\t') goto yy558;
7052
230
      goto yy86;
7053
2.30k
    } else {
7054
2.30k
      if (yych <= ' ') goto yy558;
7055
2.08k
      if (yych == ')') goto yy641;
7056
355
      goto yy86;
7057
2.08k
    }
7058
2.23k
yy560:
7059
2.23k
    YYDEBUG(560, *YYCURSOR);
7060
2.23k
    yych = *++YYCURSOR;
7061
2.23k
    if (yych == 'E') goto yy643;
7062
2.03k
    if (yych == 'e') goto yy643;
7063
229
    goto yy86;
7064
1.60k
yy561:
7065
1.60k
    YYDEBUG(561, *YYCURSOR);
7066
1.60k
    yych = *++YYCURSOR;
7067
1.60k
    if (yych == 'T') goto yy644;
7068
1.37k
    if (yych == 't') goto yy644;
7069
398
    goto yy86;
7070
398
yy562:
7071
213
    YYDEBUG(562, *YYCURSOR);
7072
213
    ++YYCURSOR;
7073
213
    YYDEBUG(563, *YYCURSOR);
7074
213
    yyleng = YYCURSOR - SCNG(yy_text);
7075
213
#line 1666 "Zend/zend_language_scanner.l"
7076
213
    {
7077
213
  if (PARSER_MODE()) {
7078
8
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7079
8
    RETURN_TOKEN(T_ERROR);
7080
8
  }
7081
205
  RETURN_TOKEN(T_DOUBLE_CAST);
7082
205
}
7083
0
#line 7084 "Zend/zend_language_scanner.c"
7084
2.30k
yy564:
7085
2.30k
    YYDEBUG(564, *YYCURSOR);
7086
2.30k
    yych = *++YYCURSOR;
7087
2.30k
    if (yych == 'G') goto yy646;
7088
2.08k
    if (yych == 'g') goto yy646;
7089
450
    goto yy86;
7090
2.48k
yy565:
7091
2.48k
    YYDEBUG(565, *YYCURSOR);
7092
2.48k
    ++YYCURSOR;
7093
2.48k
    YYFILL(1);
7094
2.48k
    yych = *YYCURSOR;
7095
2.48k
    YYDEBUG(566, *YYCURSOR);
7096
2.48k
    if (yych <= 0x1F) {
7097
478
      if (yych == '\t') goto yy565;
7098
223
      goto yy86;
7099
2.00k
    } else {
7100
2.00k
      if (yych <= ' ') goto yy565;
7101
1.62k
      if (yych == ')') goto yy648;
7102
1.00k
      goto yy86;
7103
1.62k
    }
7104
854
yy567:
7105
854
    YYDEBUG(567, *YYCURSOR);
7106
854
    ++YYCURSOR;
7107
854
    YYDEBUG(568, *YYCURSOR);
7108
854
    yyleng = YYCURSOR - SCNG(yy_text);
7109
854
#line 1714 "Zend/zend_language_scanner.l"
7110
854
    {
7111
854
  RETURN_TOKEN(T_VOID_CAST);
7112
854
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
4.49k
yy569:
7115
4.49k
    YYDEBUG(569, *YYCURSOR);
7116
4.49k
    yych = *++YYCURSOR;
7117
4.49k
    if (yych == '\n') goto yy466;
7118
2.44k
    if (yych == '\r') goto yy468;
7119
423
    goto yy86;
7120
3.93k
yy570:
7121
3.93k
    YYDEBUG(570, *YYCURSOR);
7122
3.93k
    yyaccept = 4;
7123
3.93k
    yych = *(YYMARKER = ++YYCURSOR);
7124
3.93k
    if (yych == 'C') goto yy650;
7125
3.64k
    if (yych == 'c') goto yy650;
7126
433
    goto yy48;
7127
1.77k
yy571:
7128
1.77k
    YYDEBUG(571, *YYCURSOR);
7129
1.77k
    yyaccept = 4;
7130
1.77k
    yych = *(YYMARKER = ++YYCURSOR);
7131
1.77k
    if (yych == 'L') goto yy651;
7132
1.51k
    if (yych == 'l') goto yy651;
7133
398
    goto yy48;
7134
3.40k
yy572:
7135
3.40k
    YYDEBUG(572, *YYCURSOR);
7136
3.40k
    yyaccept = 4;
7137
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
7138
3.40k
    if (yych == 'U') goto yy652;
7139
2.38k
    if (yych == 'u') goto yy652;
7140
665
    goto yy48;
7141
4.51k
yy573:
7142
4.51k
    YYDEBUG(573, *YYCURSOR);
7143
4.51k
    yyaccept = 4;
7144
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
7145
4.51k
    if (yych == 'E') goto yy653;
7146
4.12k
    if (yych == 'e') goto yy653;
7147
403
    goto yy48;
7148
2.13k
yy574:
7149
2.13k
    YYDEBUG(574, *YYCURSOR);
7150
2.13k
    yyaccept = 4;
7151
2.13k
    yych = *(YYMARKER = ++YYCURSOR);
7152
2.13k
    if (yych == 'T') goto yy655;
7153
1.76k
    if (yych == 't') goto yy655;
7154
615
    goto yy48;
7155
3.42k
yy575:
7156
3.42k
    YYDEBUG(575, *YYCURSOR);
7157
3.42k
    yyaccept = 51;
7158
3.42k
    yych = *(YYMARKER = ++YYCURSOR);
7159
3.42k
    if (yybm[256+yych] & 128) {
7160
404
      goto yy47;
7161
404
    }
7162
3.02k
    if (yych == '\\') goto yy164;
7163
3.02k
yy576:
7164
3.02k
    YYDEBUG(576, *YYCURSOR);
7165
3.02k
    yyleng = YYCURSOR - SCNG(yy_text);
7166
3.02k
#line 1458 "Zend/zend_language_scanner.l"
7167
3.02k
    {
7168
3.02k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7169
3.02k
}
7170
0
#line 7171 "Zend/zend_language_scanner.c"
7171
3.88k
yy577:
7172
3.88k
    YYDEBUG(577, *YYCURSOR);
7173
3.88k
    yyaccept = 4;
7174
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
7175
3.88k
    if (yych == 'L') goto yy657;
7176
2.65k
    if (yych == 'l') goto yy657;
7177
974
    goto yy48;
7178
5.90k
yy578:
7179
5.90k
    YYDEBUG(578, *YYCURSOR);
7180
5.90k
    yyaccept = 52;
7181
5.90k
    yych = *(YYMARKER = ++YYCURSOR);
7182
5.90k
    if (yych <= '\\') {
7183
3.02k
      if (yych <= 'D') {
7184
994
        if (yych <= '/') goto yy579;
7185
738
        if (yych <= '9') goto yy47;
7186
436
        if (yych >= 'A') goto yy47;
7187
2.03k
      } else {
7188
2.03k
        if (yych <= 'E') goto yy658;
7189
676
        if (yych <= 'Z') goto yy47;
7190
429
        if (yych >= '\\') goto yy164;
7191
429
      }
7192
3.02k
    } else {
7193
2.87k
      if (yych <= 'd') {
7194
719
        if (yych == '_') goto yy47;
7195
430
        if (yych >= 'a') goto yy47;
7196
2.15k
      } else {
7197
2.15k
        if (yych <= 'e') goto yy658;
7198
989
        if (yych <= 'z') goto yy47;
7199
633
        if (yych >= 0x80) goto yy47;
7200
633
      }
7201
2.87k
    }
7202
1.42k
yy579:
7203
1.42k
    YYDEBUG(579, *YYCURSOR);
7204
1.42k
    yyleng = YYCURSOR - SCNG(yy_text);
7205
1.42k
#line 1486 "Zend/zend_language_scanner.l"
7206
1.42k
    {
7207
1.42k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7208
1.42k
}
7209
0
#line 7210 "Zend/zend_language_scanner.c"
7210
2.75k
yy580:
7211
2.75k
    YYDEBUG(580, *YYCURSOR);
7212
2.75k
    yyaccept = 4;
7213
2.75k
    yych = *(YYMARKER = ++YYCURSOR);
7214
2.75k
    if (yych == 'T') goto yy659;
7215
2.04k
    if (yych == 't') goto yy659;
7216
481
    goto yy48;
7217
2.23k
yy581:
7218
2.23k
    YYDEBUG(581, *YYCURSOR);
7219
2.23k
    yyaccept = 4;
7220
2.23k
    yych = *(YYMARKER = ++YYCURSOR);
7221
2.23k
    if (yych == 'L') goto yy660;
7222
2.02k
    if (yych == 'l') goto yy660;
7223
399
    goto yy48;
7224
9.37k
yy582:
7225
9.37k
    YYDEBUG(582, *YYCURSOR);
7226
9.37k
    ++YYCURSOR;
7227
76.4k
yy583:
7228
76.4k
    YYDEBUG(583, *YYCURSOR);
7229
76.4k
    yyleng = YYCURSOR - SCNG(yy_text);
7230
76.4k
#line 1574 "Zend/zend_language_scanner.l"
7231
76.4k
    {
7232
76.4k
  yyless(4);
7233
76.4k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7234
76.4k
}
7235
0
#line 7236 "Zend/zend_language_scanner.c"
7236
4.85k
yy584:
7237
4.85k
    YYDEBUG(584, *YYCURSOR);
7238
4.85k
    yyaccept = 53;
7239
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
7240
4.85k
    if (yych == 'X') goto yy661;
7241
4.48k
    if (yych == 'x') goto yy661;
7242
2.42k
    goto yy583;
7243
3.80k
yy585:
7244
3.80k
    YYDEBUG(585, *YYCURSOR);
7245
3.80k
    yyaccept = 53;
7246
3.80k
    yych = *(YYMARKER = ++YYCURSOR);
7247
3.80k
    if (yych == 'M') goto yy662;
7248
2.44k
    if (yych == 'm') goto yy662;
7249
756
    goto yy583;
7250
1.17M
yy586:
7251
1.17M
    YYDEBUG(586, *YYCURSOR);
7252
1.17M
    ++YYCURSOR;
7253
1.17M
    YYFILL(1);
7254
1.17M
    yych = *YYCURSOR;
7255
1.17M
    YYDEBUG(587, *YYCURSOR);
7256
1.17M
    if (yych <= '\n') {
7257
60.1k
      if (yych <= 0x00) goto yy86;
7258
51.9k
      if (yych <= '\t') goto yy586;
7259
42.0k
      goto yy495;
7260
1.11M
    } else {
7261
1.11M
      if (yych == '\r') goto yy495;
7262
884k
      goto yy586;
7263
1.11M
    }
7264
342k
yy588:
7265
342k
    YYDEBUG(588, *YYCURSOR);
7266
342k
    ++YYCURSOR;
7267
342k
    YYFILL(1);
7268
342k
    yych = *YYCURSOR;
7269
342k
    YYDEBUG(589, *YYCURSOR);
7270
342k
    if (yych <= 'D') {
7271
88.2k
      if (yych <= 0x1F) {
7272
14.4k
        if (yych <= '\t') {
7273
7.87k
          if (yych <= 0x00) goto yy86;
7274
7.15k
          if (yych <= 0x08) goto yy586;
7275
932
          goto yy588;
7276
7.15k
        } else {
7277
6.60k
          if (yych <= '\n') goto yy495;
7278
4.96k
          if (yych == '\r') goto yy495;
7279
3.26k
          goto yy586;
7280
4.96k
        }
7281
73.8k
      } else {
7282
73.8k
        if (yych <= '#') {
7283
15.8k
          if (yych <= ' ') goto yy588;
7284
11.5k
          if (yych <= '"') goto yy586;
7285
11.3k
          goto yy663;
7286
57.9k
        } else {
7287
57.9k
          if (yych == '/') goto yy664;
7288
7.02k
          if (yych <= '@') goto yy586;
7289
303
          goto yy665;
7290
7.02k
        }
7291
73.8k
      }
7292
254k
    } else {
7293
254k
      if (yych <= '`') {
7294
8.64k
        if (yych <= 'I') {
7295
6.25k
          if (yych <= 'E') goto yy666;
7296
5.79k
          if (yych <= 'H') goto yy665;
7297
5.55k
          goto yy667;
7298
5.79k
        } else {
7299
2.38k
          if (yych <= 'Z') goto yy665;
7300
646
          if (yych == '_') goto yy665;
7301
322
          goto yy586;
7302
646
        }
7303
245k
      } else {
7304
245k
        if (yych <= 'h') {
7305
221k
          if (yych == 'e') goto yy666;
7306
1.91k
          goto yy665;
7307
221k
        } else {
7308
23.4k
          if (yych <= 'i') goto yy667;
7309
11.1k
          if (yych <= 'z') goto yy665;
7310
5.39k
          if (yych <= 0x7F) goto yy586;
7311
3.87k
          goto yy665;
7312
5.39k
        }
7313
245k
      }
7314
254k
    }
7315
517k
yy590:
7316
517k
    YYDEBUG(590, *YYCURSOR);
7317
517k
    ++YYCURSOR;
7318
517k
    YYFILL(1);
7319
517k
    yych = *YYCURSOR;
7320
517k
    YYDEBUG(591, *YYCURSOR);
7321
517k
    if (yych <= 0x00) goto yy86;
7322
497k
    if (yych == '*') goto yy668;
7323
490k
    goto yy590;
7324
490k
yy592:
7325
10.3k
    YYDEBUG(592, *YYCURSOR);
7326
10.3k
    yyaccept = 4;
7327
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
7328
10.3k
    if (yych == 'S') goto yy670;
7329
9.81k
    if (yych == 's') goto yy670;
7330
839
    goto yy48;
7331
3.02k
yy593:
7332
3.02k
    YYDEBUG(593, *YYCURSOR);
7333
3.02k
    yyaccept = 4;
7334
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
7335
3.02k
    if (yych == 'Y') goto yy672;
7336
2.80k
    if (yych == 'y') goto yy672;
7337
374
    goto yy48;
7338
3.16k
yy594:
7339
3.16k
    YYDEBUG(594, *YYCURSOR);
7340
3.16k
    yyaccept = 4;
7341
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
7342
3.16k
    if (yych == 'H') goto yy674;
7343
2.91k
    if (yych == 'h') goto yy674;
7344
258
    goto yy48;
7345
26.3k
yy595:
7346
26.3k
    YYDEBUG(595, *YYCURSOR);
7347
26.3k
    yyaccept = 4;
7348
26.3k
    yych = *(YYMARKER = ++YYCURSOR);
7349
26.3k
    if (yych == 'O') goto yy676;
7350
25.9k
    if (yych == 'o') goto yy676;
7351
365
    goto yy48;
7352
2.49k
yy596:
7353
2.49k
    YYDEBUG(596, *YYCURSOR);
7354
2.49k
    yyaccept = 54;
7355
2.49k
    yych = *(YYMARKER = ++YYCURSOR);
7356
2.49k
    if (yybm[256+yych] & 128) {
7357
612
      goto yy47;
7358
612
    }
7359
1.87k
    if (yych == '\\') goto yy164;
7360
1.87k
yy597:
7361
1.87k
    YYDEBUG(597, *YYCURSOR);
7362
1.87k
    yyleng = YYCURSOR - SCNG(yy_text);
7363
1.87k
#line 1750 "Zend/zend_language_scanner.l"
7364
1.87k
    {
7365
1.87k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7366
1.87k
}
7367
0
#line 7368 "Zend/zend_language_scanner.c"
7368
4.81k
yy598:
7369
4.81k
    YYDEBUG(598, *YYCURSOR);
7370
4.81k
    yyaccept = 4;
7371
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
7372
4.81k
    if (yych == 'E') goto yy677;
7373
3.96k
    if (yych == 'e') goto yy677;
7374
900
    goto yy48;
7375
7.02k
yy599:
7376
7.02k
    YYDEBUG(599, *YYCURSOR);
7377
7.02k
    yyaccept = 4;
7378
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
7379
7.02k
    if (yych == 'E') goto yy678;
7380
5.51k
    if (yych == 'e') goto yy678;
7381
510
    goto yy48;
7382
2.91k
yy600:
7383
2.91k
    YYDEBUG(600, *YYCURSOR);
7384
2.91k
    yyaccept = 4;
7385
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
7386
2.91k
    if (yych == 'C') goto yy680;
7387
2.55k
    if (yych == 'c') goto yy680;
7388
269
    goto yy48;
7389
2.64k
yy601:
7390
2.64k
    YYDEBUG(601, *YYCURSOR);
7391
2.64k
    yyaccept = 4;
7392
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
7393
2.64k
    if (yych == 'D') goto yy681;
7394
2.19k
    if (yych == 'd') goto yy681;
7395
224
    goto yy48;
7396
3.71k
yy602:
7397
3.71k
    YYDEBUG(602, *YYCURSOR);
7398
3.71k
    yyaccept = 4;
7399
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
7400
3.71k
    if (yych == 'A') goto yy682;
7401
3.34k
    if (yych == 'a') goto yy682;
7402
232
    goto yy48;
7403
11.0k
yy603:
7404
11.0k
    YYDEBUG(603, *YYCURSOR);
7405
11.0k
    yyaccept = 4;
7406
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
7407
11.0k
    if (yych == 'A') goto yy683;
7408
10.7k
    if (yych == 'a') goto yy683;
7409
723
    goto yy48;
7410
5.33k
yy604:
7411
5.33k
    YYDEBUG(604, *YYCURSOR);
7412
5.33k
    yyaccept = 4;
7413
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
7414
5.33k
    if (yych == 'E') goto yy684;
7415
5.11k
    if (yych == 'e') goto yy684;
7416
611
    goto yy48;
7417
4.81k
yy605:
7418
4.81k
    YYDEBUG(605, *YYCURSOR);
7419
4.81k
    yyaccept = 4;
7420
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
7421
4.81k
    if (yych == 'T') goto yy686;
7422
4.25k
    if (yych == 't') goto yy686;
7423
569
    goto yy48;
7424
15.8k
yy606:
7425
15.8k
    YYDEBUG(606, *YYCURSOR);
7426
15.8k
    yyaccept = 55;
7427
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
7428
15.8k
    if (yybm[256+yych] & 128) {
7429
674
      goto yy47;
7430
674
    }
7431
15.1k
    if (yych == '(') goto yy687;
7432
13.0k
    if (yych == '\\') goto yy164;
7433
14.1k
yy607:
7434
14.1k
    YYDEBUG(607, *YYCURSOR);
7435
14.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7436
14.1k
#line 1798 "Zend/zend_language_scanner.l"
7437
14.1k
    {
7438
14.1k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7439
14.1k
}
7440
0
#line 7441 "Zend/zend_language_scanner.c"
7441
3.82k
yy608:
7442
3.82k
    YYDEBUG(608, *YYCURSOR);
7443
3.82k
    yyaccept = 4;
7444
3.82k
    yych = *(YYMARKER = ++YYCURSOR);
7445
3.82k
    if (yych == 'L') goto yy688;
7446
3.59k
    if (yych == 'l') goto yy688;
7447
292
    goto yy48;
7448
6.28k
yy609:
7449
6.28k
    YYDEBUG(609, *YYCURSOR);
7450
6.28k
    yyaccept = 4;
7451
6.28k
    yych = *(YYMARKER = ++YYCURSOR);
7452
6.28k
    if (yych == 'E') goto yy689;
7453
5.71k
    if (yych == 'e') goto yy689;
7454
515
    goto yy48;
7455
6.90k
yy610:
7456
6.90k
    YYDEBUG(610, *YYCURSOR);
7457
6.90k
    yyaccept = 56;
7458
6.90k
    yych = *(YYMARKER = ++YYCURSOR);
7459
6.90k
    if (yybm[256+yych] & 128) {
7460
534
      goto yy47;
7461
534
    }
7462
6.37k
    if (yych == '\\') goto yy164;
7463
6.36k
yy611:
7464
6.36k
    YYDEBUG(611, *YYCURSOR);
7465
6.36k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
6.36k
#line 1419 "Zend/zend_language_scanner.l"
7467
6.36k
    {
7468
6.36k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7469
6.36k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
6.21k
yy612:
7472
6.21k
    YYDEBUG(612, *YYCURSOR);
7473
6.21k
    yyaccept = 57;
7474
6.21k
    yych = *(YYMARKER = ++YYCURSOR);
7475
6.21k
    if (yybm[256+yych] & 128) {
7476
458
      goto yy47;
7477
458
    }
7478
5.75k
    if (yych == '\\') goto yy164;
7479
5.75k
yy613:
7480
5.75k
    YYDEBUG(613, *YYCURSOR);
7481
5.75k
    yyleng = YYCURSOR - SCNG(yy_text);
7482
5.75k
#line 1766 "Zend/zend_language_scanner.l"
7483
5.75k
    {
7484
5.75k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7485
5.75k
}
7486
0
#line 7487 "Zend/zend_language_scanner.c"
7487
3.66k
yy614:
7488
3.66k
    YYDEBUG(614, *YYCURSOR);
7489
3.66k
    yyaccept = 58;
7490
3.66k
    yych = *(YYMARKER = ++YYCURSOR);
7491
3.66k
    if (yybm[256+yych] & 128) {
7492
356
      goto yy47;
7493
356
    }
7494
3.31k
    if (yych == '\\') goto yy164;
7495
3.31k
yy615:
7496
3.31k
    YYDEBUG(615, *YYCURSOR);
7497
3.31k
    yyleng = YYCURSOR - SCNG(yy_text);
7498
3.31k
#line 1514 "Zend/zend_language_scanner.l"
7499
3.31k
    {
7500
3.31k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7501
3.31k
}
7502
0
#line 7503 "Zend/zend_language_scanner.c"
7503
206k
yy616:
7504
206k
    YYDEBUG(616, *YYCURSOR);
7505
206k
    ++YYCURSOR;
7506
206k
    YYFILL(5);
7507
206k
    yych = *YYCURSOR;
7508
206k
    YYDEBUG(617, *YYCURSOR);
7509
206k
    if (yych <= '"') {
7510
58.1k
      if (yych <= '\f') {
7511
51.1k
        if (yych <= 0x08) goto yy86;
7512
50.2k
        if (yych <= '\n') goto yy616;
7513
553
        goto yy86;
7514
50.2k
      } else {
7515
7.02k
        if (yych <= '\r') goto yy616;
7516
1.83k
        if (yych == ' ') goto yy616;
7517
690
        goto yy86;
7518
1.83k
      }
7519
148k
    } else {
7520
148k
      if (yych <= 'E') {
7521
138k
        if (yych <= '#') goto yy618;
7522
9.12k
        if (yych == '/') goto yy619;
7523
4.26k
        goto yy86;
7524
10.2k
      } else {
7525
10.2k
        if (yych <= 'F') goto yy691;
7526
7.70k
        if (yych == 'f') goto yy691;
7527
3.58k
        goto yy86;
7528
7.70k
      }
7529
148k
    }
7530
153k
yy618:
7531
153k
    YYDEBUG(618, *YYCURSOR);
7532
153k
    ++YYCURSOR;
7533
153k
    YYFILL(1);
7534
153k
    yych = *YYCURSOR;
7535
153k
    if (yych <= '\f') {
7536
20.5k
      if (yych <= 0x00) goto yy86;
7537
19.9k
      if (yych == '\n') goto yy694;
7538
604
      goto yy692;
7539
132k
    } else {
7540
132k
      if (yych <= '\r') goto yy694;
7541
23.9k
      if (yych == '[') goto yy86;
7542
23.7k
      goto yy692;
7543
23.9k
    }
7544
5.40k
yy619:
7545
5.40k
    YYDEBUG(619, *YYCURSOR);
7546
5.40k
    ++YYCURSOR;
7547
5.40k
    YYFILL(1);
7548
5.40k
    yych = *YYCURSOR;
7549
5.40k
    if (yych == '*') goto yy696;
7550
2.95k
    if (yych == '/') goto yy692;
7551
1.02k
    goto yy86;
7552
3.73k
yy620:
7553
3.73k
    YYDEBUG(620, *YYCURSOR);
7554
3.73k
    yyaccept = 4;
7555
3.73k
    yych = *(YYMARKER = ++YYCURSOR);
7556
3.73k
    if (yych == 'S') goto yy698;
7557
3.35k
    if (yych == 's') goto yy698;
7558
404
    goto yy48;
7559
2.82k
yy621:
7560
2.82k
    YYDEBUG(621, *YYCURSOR);
7561
2.82k
    yyaccept = 4;
7562
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
7563
2.82k
    if (yych == '_') goto yy699;
7564
283
    goto yy48;
7565
2.44k
yy622:
7566
2.44k
    YYDEBUG(622, *YYCURSOR);
7567
2.44k
    yyaccept = 4;
7568
2.44k
    yych = *(YYMARKER = ++YYCURSOR);
7569
2.44k
    if (yych == '_') goto yy701;
7570
740
    goto yy48;
7571
4.01k
yy623:
7572
4.01k
    YYDEBUG(623, *YYCURSOR);
7573
4.01k
    yyaccept = 4;
7574
4.01k
    yych = *(YYMARKER = ++YYCURSOR);
7575
4.01k
    if (yych == 'T') goto yy702;
7576
2.41k
    if (yych == 't') goto yy702;
7577
472
    goto yy48;
7578
3.85k
yy624:
7579
3.85k
    YYDEBUG(624, *YYCURSOR);
7580
3.85k
    yyaccept = 4;
7581
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
7582
3.85k
    if (yych == '_') goto yy703;
7583
314
    goto yy48;
7584
2.20k
yy625:
7585
2.20k
    YYDEBUG(625, *YYCURSOR);
7586
2.20k
    yyaccept = 4;
7587
2.20k
    yych = *(YYMARKER = ++YYCURSOR);
7588
2.20k
    if (yych == '_') goto yy704;
7589
314
    goto yy48;
7590
4.20k
yy626:
7591
4.20k
    YYDEBUG(626, *YYCURSOR);
7592
4.20k
    yyaccept = 4;
7593
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
7594
4.20k
    if (yych == 'O') goto yy705;
7595
3.84k
    if (yych == 'o') goto yy705;
7596
536
    goto yy48;
7597
4.41k
yy627:
7598
4.41k
    YYDEBUG(627, *YYCURSOR);
7599
4.41k
    yyaccept = 4;
7600
4.41k
    yych = *(YYMARKER = ++YYCURSOR);
7601
4.41k
    if (yych == 'S') goto yy706;
7602
3.38k
    if (yych == 's') goto yy706;
7603
462
    goto yy48;
7604
5.53k
yy628:
7605
5.53k
    YYDEBUG(628, *YYCURSOR);
7606
5.53k
    yyaccept = 4;
7607
5.53k
    yych = *(YYMARKER = ++YYCURSOR);
7608
5.53k
    if (yych == 'E') goto yy707;
7609
3.33k
    if (yych == 'e') goto yy707;
7610
999
    goto yy48;
7611
3.92k
yy629:
7612
3.92k
    YYDEBUG(629, *YYCURSOR);
7613
3.92k
    yyaccept = 4;
7614
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
7615
3.92k
    if (yych == 'T') goto yy708;
7616
3.66k
    if (yych == 't') goto yy708;
7617
818
    goto yy48;
7618
23.9k
yy630:
7619
23.9k
    YYDEBUG(630, *YYCURSOR);
7620
23.9k
    ++YYCURSOR;
7621
23.9k
    YYFILL(1);
7622
23.9k
    yych = *YYCURSOR;
7623
23.9k
    if (yych <= '\r') {
7624
20.0k
      if (yych <= '\t') {
7625
617
        if (yych <= 0x00) goto yy86;
7626
390
        goto yy443;
7627
19.4k
      } else {
7628
19.4k
        if (yych <= '\n') goto yy709;
7629
12.1k
        if (yych <= '\f') goto yy443;
7630
11.8k
        goto yy709;
7631
12.1k
      }
7632
20.0k
    } else {
7633
3.97k
      if (yych <= '*') {
7634
1.83k
        if (yych <= ')') goto yy443;
7635
996
        goto yy547;
7636
2.14k
      } else {
7637
2.14k
        if (yych == '[') goto yy230;
7638
1.93k
        goto yy443;
7639
2.14k
      }
7640
3.97k
    }
7641
1.12k
yy631:
7642
1.12k
    YYDEBUG(631, *YYCURSOR);
7643
1.12k
    yyaccept = 26;
7644
1.12k
    YYMARKER = ++YYCURSOR;
7645
1.12k
    YYFILL(1);
7646
1.12k
    yych = *YYCURSOR;
7647
1.12k
    if (yybm[0+yych] & 4) {
7648
653
      goto yy230;
7649
653
    }
7650
467
    if (yych <= 0x00) goto yy89;
7651
214
    goto yy355;
7652
1.82k
yy632:
7653
1.82k
    YYDEBUG(632, *YYCURSOR);
7654
1.82k
    ++YYCURSOR;
7655
1.82k
    YYFILL(1);
7656
1.82k
    yych = *YYCURSOR;
7657
1.82k
    if (yybm[0+yych] & 64) {
7658
233
      goto yy355;
7659
233
    }
7660
1.59k
    if (yych <= 0x00) goto yy86;
7661
1.38k
    if (yych == '.') goto yy711;
7662
411
    goto yy230;
7663
1.99k
yy633:
7664
1.99k
    YYDEBUG(633, *YYCURSOR);
7665
1.99k
    ++YYCURSOR;
7666
1.99k
    YYFILL(1);
7667
1.99k
    yych = *YYCURSOR;
7668
1.99k
    if (yych <= '*') {
7669
1.57k
      if (yych <= 0x00) goto yy86;
7670
1.37k
      if (yych <= ')') goto yy230;
7671
1.12k
      goto yy712;
7672
1.37k
    } else {
7673
415
      if (yych == '/') goto yy443;
7674
219
      goto yy230;
7675
415
    }
7676
1.05k
yy634:
7677
1.05k
    YYDEBUG(634, *YYCURSOR);
7678
1.05k
    ++YYCURSOR;
7679
1.05k
    YYDEBUG(635, *YYCURSOR);
7680
1.05k
    yyleng = YYCURSOR - SCNG(yy_text);
7681
1.05k
#line 1688 "Zend/zend_language_scanner.l"
7682
1.05k
    {
7683
1.05k
  RETURN_TOKEN(T_ARRAY_CAST);
7684
1.05k
}
7685
0
#line 7686 "Zend/zend_language_scanner.c"
7686
2.20k
yy636:
7687
2.20k
    YYDEBUG(636, *YYCURSOR);
7688
2.20k
    ++YYCURSOR;
7689
2.20k
    YYFILL(1);
7690
2.20k
    yych = *YYCURSOR;
7691
2.20k
    YYDEBUG(637, *YYCURSOR);
7692
2.20k
    if (yych <= 0x1F) {
7693
1.04k
      if (yych == '\t') goto yy636;
7694
841
      goto yy86;
7695
1.15k
    } else {
7696
1.15k
      if (yych <= ' ') goto yy636;
7697
929
      if (yych == ')') goto yy713;
7698
464
      goto yy86;
7699
929
    }
7700
1.20k
yy638:
7701
1.20k
    YYDEBUG(638, *YYCURSOR);
7702
1.20k
    yych = *++YYCURSOR;
7703
1.20k
    if (yych == 'N') goto yy715;
7704
829
    if (yych == 'n') goto yy715;
7705
288
    goto yy86;
7706
1.35k
yy639:
7707
1.35k
    YYDEBUG(639, *YYCURSOR);
7708
1.35k
    ++YYCURSOR;
7709
1.35k
    YYFILL(1);
7710
1.35k
    yych = *YYCURSOR;
7711
1.35k
    YYDEBUG(640, *YYCURSOR);
7712
1.35k
    if (yych <= 0x1F) {
7713
428
      if (yych == '\t') goto yy639;
7714
212
      goto yy86;
7715
931
    } else {
7716
931
      if (yych <= ' ') goto yy639;
7717
728
      if (yych == ')') goto yy717;
7718
343
      goto yy86;
7719
728
    }
7720
1.73k
yy641:
7721
1.73k
    YYDEBUG(641, *YYCURSOR);
7722
1.73k
    ++YYCURSOR;
7723
1.73k
    YYDEBUG(642, *YYCURSOR);
7724
1.73k
    yyleng = YYCURSOR - SCNG(yy_text);
7725
1.73k
#line 1652 "Zend/zend_language_scanner.l"
7726
1.73k
    {
7727
1.73k
  RETURN_TOKEN(T_DOUBLE_CAST);
7728
1.73k
}
7729
0
#line 7730 "Zend/zend_language_scanner.c"
7730
2.00k
yy643:
7731
2.00k
    YYDEBUG(643, *YYCURSOR);
7732
2.00k
    yych = *++YYCURSOR;
7733
2.00k
    if (yych == 'R') goto yy719;
7734
765
    if (yych == 'r') goto yy719;
7735
250
    goto yy86;
7736
2.12k
yy644:
7737
2.12k
    YYDEBUG(644, *YYCURSOR);
7738
2.12k
    ++YYCURSOR;
7739
2.12k
    YYFILL(1);
7740
2.12k
    yych = *YYCURSOR;
7741
2.12k
    YYDEBUG(645, *YYCURSOR);
7742
2.12k
    if (yych <= 0x1F) {
7743
1.04k
      if (yych == '\t') goto yy644;
7744
405
      goto yy86;
7745
1.08k
    } else {
7746
1.08k
      if (yych <= ' ') goto yy644;
7747
797
      if (yych == ')') goto yy721;
7748
418
      goto yy86;
7749
797
    }
7750
2.77k
yy646:
7751
2.77k
    YYDEBUG(646, *YYCURSOR);
7752
2.77k
    ++YYCURSOR;
7753
2.77k
    YYFILL(1);
7754
2.77k
    yych = *YYCURSOR;
7755
2.77k
    YYDEBUG(647, *YYCURSOR);
7756
2.77k
    if (yych <= 0x1F) {
7757
573
      if (yych == '\t') goto yy646;
7758
217
      goto yy86;
7759
2.19k
    } else {
7760
2.19k
      if (yych <= ' ') goto yy646;
7761
1.63k
      if (yych == ')') goto yy723;
7762
944
      goto yy86;
7763
1.63k
    }
7764
620
yy648:
7765
620
    YYDEBUG(648, *YYCURSOR);
7766
620
    ++YYCURSOR;
7767
620
    YYDEBUG(649, *YYCURSOR);
7768
620
    yyleng = YYCURSOR - SCNG(yy_text);
7769
620
#line 1710 "Zend/zend_language_scanner.l"
7770
620
    {
7771
620
  RETURN_TOKEN(T_UNSET_CAST);
7772
620
}
7773
0
#line 7774 "Zend/zend_language_scanner.c"
7774
3.50k
yy650:
7775
3.50k
    YYDEBUG(650, *YYCURSOR);
7776
3.50k
    yyaccept = 4;
7777
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
7778
3.50k
    if (yych == 'T') goto yy725;
7779
3.25k
    if (yych == 't') goto yy725;
7780
477
    goto yy48;
7781
1.37k
yy651:
7782
1.37k
    YYDEBUG(651, *YYCURSOR);
7783
1.37k
    yyaccept = 4;
7784
1.37k
    yych = *(YYMARKER = ++YYCURSOR);
7785
1.37k
    if (yych == 'E') goto yy727;
7786
1.11k
    if (yych == 'e') goto yy727;
7787
280
    goto yy48;
7788
2.73k
yy652:
7789
2.73k
    YYDEBUG(652, *YYCURSOR);
7790
2.73k
    yyaccept = 4;
7791
2.73k
    yych = *(YYMARKER = ++YYCURSOR);
7792
2.73k
    if (yych == 'E') goto yy729;
7793
2.13k
    if (yych == 'e') goto yy729;
7794
492
    goto yy48;
7795
4.11k
yy653:
7796
4.11k
    YYDEBUG(653, *YYCURSOR);
7797
4.11k
    yyaccept = 59;
7798
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
7799
4.11k
    if (yybm[256+yych] & 128) {
7800
471
      goto yy47;
7801
471
    }
7802
3.64k
    if (yych == '\\') goto yy164;
7803
3.60k
yy654:
7804
3.60k
    YYDEBUG(654, *YYCURSOR);
7805
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
7806
3.60k
#line 1498 "Zend/zend_language_scanner.l"
7807
3.60k
    {
7808
3.60k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7809
3.60k
}
7810
0
#line 7811 "Zend/zend_language_scanner.c"
7811
1.52k
yy655:
7812
1.52k
    YYDEBUG(655, *YYCURSOR);
7813
1.52k
    yyaccept = 60;
7814
1.52k
    yych = *(YYMARKER = ++YYCURSOR);
7815
1.52k
    if (yybm[256+yych] & 128) {
7816
423
      goto yy47;
7817
423
    }
7818
1.09k
    if (yych == '\\') goto yy164;
7819
1.08k
yy656:
7820
1.08k
    YYDEBUG(656, *YYCURSOR);
7821
1.08k
    yyleng = YYCURSOR - SCNG(yy_text);
7822
1.08k
#line 1530 "Zend/zend_language_scanner.l"
7823
1.08k
    {
7824
1.08k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7825
1.08k
}
7826
0
#line 7827 "Zend/zend_language_scanner.c"
7827
2.91k
yy657:
7828
2.91k
    YYDEBUG(657, *YYCURSOR);
7829
2.91k
    yyaccept = 4;
7830
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
7831
2.91k
    if (yych == 'A') goto yy731;
7832
1.65k
    if (yych == 'a') goto yy731;
7833
498
    goto yy48;
7834
2.52k
yy658:
7835
2.52k
    YYDEBUG(658, *YYCURSOR);
7836
2.52k
    yyaccept = 4;
7837
2.52k
    yych = *(YYMARKER = ++YYCURSOR);
7838
2.52k
    if (yych == 'A') goto yy732;
7839
1.30k
    if (yych == 'a') goto yy732;
7840
322
    goto yy48;
7841
2.27k
yy659:
7842
2.27k
    YYDEBUG(659, *YYCURSOR);
7843
2.27k
    yyaccept = 4;
7844
2.27k
    yych = *(YYMARKER = ++YYCURSOR);
7845
2.27k
    if (yych == 'C') goto yy733;
7846
1.87k
    if (yych == 'c') goto yy733;
7847
387
    goto yy48;
7848
1.83k
yy660:
7849
1.83k
    YYDEBUG(660, *YYCURSOR);
7850
1.83k
    yyaccept = 4;
7851
1.83k
    yych = *(YYMARKER = ++YYCURSOR);
7852
1.83k
    if (yych == 'E') goto yy734;
7853
1.63k
    if (yych == 'e') goto yy734;
7854
559
    goto yy48;
7855
2.42k
yy661:
7856
2.42k
    YYDEBUG(661, *YYCURSOR);
7857
2.42k
    yych = *++YYCURSOR;
7858
2.42k
    if (yych == 'T') goto yy736;
7859
2.14k
    if (yych == 't') goto yy736;
7860
675
    goto yy86;
7861
3.04k
yy662:
7862
3.04k
    YYDEBUG(662, *YYCURSOR);
7863
3.04k
    yych = *++YYCURSOR;
7864
3.04k
    if (yych == 'P') goto yy737;
7865
2.06k
    if (yych == 'p') goto yy737;
7866
648
    goto yy86;
7867
11.3k
yy663:
7868
11.3k
    YYDEBUG(663, *YYCURSOR);
7869
11.3k
    ++YYCURSOR;
7870
11.3k
    YYFILL(1);
7871
11.3k
    yych = *YYCURSOR;
7872
11.3k
    if (yych <= '\n') {
7873
6.69k
      if (yych <= 0x00) goto yy86;
7874
6.45k
      if (yych <= '\t') goto yy586;
7875
6.18k
      goto yy588;
7876
6.45k
    } else {
7877
4.65k
      if (yych == '\r') goto yy588;
7878
1.33k
      goto yy586;
7879
4.65k
    }
7880
50.9k
yy664:
7881
50.9k
    YYDEBUG(664, *YYCURSOR);
7882
50.9k
    ++YYCURSOR;
7883
50.9k
    YYFILL(1);
7884
50.9k
    yych = *YYCURSOR;
7885
50.9k
    if (yych <= '\f') {
7886
889
      if (yych <= 0x00) goto yy86;
7887
539
      if (yych == '\n') goto yy495;
7888
334
      goto yy586;
7889
50.0k
    } else {
7890
50.0k
      if (yych <= '\r') goto yy495;
7891
49.4k
      if (yych == '*') goto yy738;
7892
3.76k
      goto yy586;
7893
49.4k
    }
7894
14.1k
yy665:
7895
14.1k
    YYDEBUG(665, *YYCURSOR);
7896
14.1k
    yyaccept = 53;
7897
14.1k
    YYMARKER = ++YYCURSOR;
7898
14.1k
    YYFILL(1);
7899
14.1k
    yych = *YYCURSOR;
7900
14.1k
    if (yych <= '\n') {
7901
3.10k
      if (yych <= 0x00) goto yy583;
7902
2.84k
      if (yych <= '\t') goto yy586;
7903
364
      goto yy495;
7904
11.0k
    } else {
7905
11.0k
      if (yych == '\r') goto yy495;
7906
9.78k
      goto yy586;
7907
11.0k
    }
7908
220k
yy666:
7909
220k
    YYDEBUG(666, *YYCURSOR);
7910
220k
    yyaccept = 53;
7911
220k
    YYMARKER = ++YYCURSOR;
7912
220k
    YYFILL(1);
7913
220k
    yych = *YYCURSOR;
7914
220k
    if (yych <= '\r') {
7915
41.7k
      if (yych <= '\t') {
7916
33.2k
        if (yych <= 0x00) goto yy583;
7917
32.9k
        goto yy586;
7918
33.2k
      } else {
7919
8.57k
        if (yych <= '\n') goto yy495;
7920
7.74k
        if (yych <= '\f') goto yy586;
7921
1.74k
        goto yy495;
7922
7.74k
      }
7923
178k
    } else {
7924
178k
      if (yych <= 'X') {
7925
118k
        if (yych <= 'W') goto yy586;
7926
2.54k
        goto yy740;
7927
118k
      } else {
7928
59.9k
        if (yych == 'x') goto yy740;
7929
50.6k
        goto yy586;
7930
59.9k
      }
7931
178k
    }
7932
17.8k
yy667:
7933
17.8k
    YYDEBUG(667, *YYCURSOR);
7934
17.8k
    yyaccept = 53;
7935
17.8k
    YYMARKER = ++YYCURSOR;
7936
17.8k
    YYFILL(1);
7937
17.8k
    yych = *YYCURSOR;
7938
17.8k
    if (yych <= '\r') {
7939
1.74k
      if (yych <= '\t') {
7940
1.10k
        if (yych <= 0x00) goto yy583;
7941
698
        goto yy586;
7942
1.10k
      } else {
7943
640
        if (yych <= '\n') goto yy495;
7944
417
        if (yych <= '\f') goto yy586;
7945
214
        goto yy495;
7946
417
      }
7947
16.1k
    } else {
7948
16.1k
      if (yych <= 'M') {
7949
5.56k
        if (yych <= 'L') goto yy586;
7950
5.28k
        goto yy741;
7951
10.5k
      } else {
7952
10.5k
        if (yych == 'm') goto yy741;
7953
798
        goto yy586;
7954
10.5k
      }
7955
16.1k
    }
7956
11.1k
yy668:
7957
11.1k
    YYDEBUG(668, *YYCURSOR);
7958
11.1k
    ++YYCURSOR;
7959
11.1k
    YYFILL(1);
7960
11.1k
    yych = *YYCURSOR;
7961
11.1k
    YYDEBUG(669, *YYCURSOR);
7962
11.1k
    if (yych <= '*') {
7963
3.70k
      if (yych <= 0x00) goto yy86;
7964
2.98k
      if (yych <= ')') goto yy590;
7965
545
      goto yy668;
7966
7.45k
    } else {
7967
7.45k
      if (yych == '/') goto yy495;
7968
3.56k
      goto yy590;
7969
7.45k
    }
7970
9.51k
yy670:
7971
9.51k
    YYDEBUG(670, *YYCURSOR);
7972
9.51k
    yyaccept = 61;
7973
9.51k
    yych = *(YYMARKER = ++YYCURSOR);
7974
9.51k
    if (yybm[256+yych] & 128) {
7975
293
      goto yy47;
7976
293
    }
7977
9.22k
    if (yych == '\\') goto yy164;
7978
9.22k
yy671:
7979
9.22k
    YYDEBUG(671, *YYCURSOR);
7980
9.22k
    yyleng = YYCURSOR - SCNG(yy_text);
7981
9.22k
#line 1579 "Zend/zend_language_scanner.l"
7982
9.22k
    {
7983
9.22k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7984
9.22k
}
7985
0
#line 7986 "Zend/zend_language_scanner.c"
7986
2.64k
yy672:
7987
2.64k
    YYDEBUG(672, *YYCURSOR);
7988
2.64k
    yyaccept = 62;
7989
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
7990
2.64k
    if (yybm[256+yych] & 128) {
7991
418
      goto yy47;
7992
418
    }
7993
2.22k
    if (yych == '\\') goto yy164;
7994
2.15k
yy673:
7995
2.15k
    YYDEBUG(673, *YYCURSOR);
7996
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
7997
2.15k
#line 1446 "Zend/zend_language_scanner.l"
7998
2.15k
    {
7999
2.15k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8000
2.15k
}
8001
0
#line 8002 "Zend/zend_language_scanner.c"
8002
2.91k
yy674:
8003
2.91k
    YYDEBUG(674, *YYCURSOR);
8004
2.91k
    yyaccept = 63;
8005
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
8006
2.91k
    if (yybm[256+yych] & 128) {
8007
441
      goto yy47;
8008
441
    }
8009
2.46k
    if (yych == '\\') goto yy164;
8010
2.46k
yy675:
8011
2.46k
    YYDEBUG(675, *YYCURSOR);
8012
2.46k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
2.46k
#line 1490 "Zend/zend_language_scanner.l"
8014
2.46k
    {
8015
2.46k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8016
2.46k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
26.0k
yy676:
8019
26.0k
    YYDEBUG(676, *YYCURSOR);
8020
26.0k
    yyaccept = 4;
8021
26.0k
    yych = *(YYMARKER = ++YYCURSOR);
8022
26.0k
    if (yych == 'N') goto yy742;
8023
25.7k
    if (yych == 'n') goto yy742;
8024
435
    goto yy48;
8025
3.91k
yy677:
8026
3.91k
    YYDEBUG(677, *YYCURSOR);
8027
3.91k
    yyaccept = 4;
8028
3.91k
    yych = *(YYMARKER = ++YYCURSOR);
8029
3.91k
    if (yych == 'N') goto yy744;
8030
3.28k
    if (yych == 'n') goto yy744;
8031
699
    goto yy48;
8032
6.51k
yy678:
8033
6.51k
    YYDEBUG(678, *YYCURSOR);
8034
6.51k
    yyaccept = 64;
8035
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
8036
6.51k
    if (yych <= '\\') {
8037
2.10k
      if (yych <= '@') {
8038
1.31k
        if (yych <= '/') goto yy679;
8039
652
        if (yych <= '9') goto yy47;
8040
787
      } else {
8041
787
        if (yych <= 'Z') goto yy47;
8042
463
        if (yych >= '\\') goto yy164;
8043
463
      }
8044
4.41k
    } else {
8045
4.41k
      if (yych <= '`') {
8046
3.38k
        if (yych == '_') goto yy745;
8047
3.38k
      } else {
8048
1.03k
        if (yych <= 'z') goto yy47;
8049
668
        if (yych >= 0x80) goto yy47;
8050
668
      }
8051
4.41k
    }
8052
2.16k
yy679:
8053
2.16k
    YYDEBUG(679, *YYCURSOR);
8054
2.16k
    yyleng = YYCURSOR - SCNG(yy_text);
8055
2.16k
#line 1722 "Zend/zend_language_scanner.l"
8056
2.16k
    {
8057
2.16k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8058
2.16k
}
8059
0
#line 8060 "Zend/zend_language_scanner.c"
8060
2.64k
yy680:
8061
2.64k
    YYDEBUG(680, *YYCURSOR);
8062
2.64k
    yyaccept = 4;
8063
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
8064
2.64k
    if (yych == 'E') goto yy746;
8065
2.20k
    if (yych == 'e') goto yy746;
8066
281
    goto yy48;
8067
2.42k
yy681:
8068
2.42k
    YYDEBUG(681, *YYCURSOR);
8069
2.42k
    yyaccept = 4;
8070
2.42k
    yych = *(YYMARKER = ++YYCURSOR);
8071
2.42k
    if (yych == 'O') goto yy747;
8072
2.20k
    if (yych == 'o') goto yy747;
8073
275
    goto yy48;
8074
3.48k
yy682:
8075
3.48k
    YYDEBUG(682, *YYCURSOR);
8076
3.48k
    yyaccept = 4;
8077
3.48k
    yych = *(YYMARKER = ++YYCURSOR);
8078
3.48k
    if (yych == 'C') goto yy748;
8079
3.26k
    if (yych == 'c') goto yy748;
8080
224
    goto yy48;
8081
10.3k
yy683:
8082
10.3k
    YYDEBUG(683, *YYCURSOR);
8083
10.3k
    yyaccept = 4;
8084
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
8085
10.3k
    if (yych == 'C') goto yy749;
8086
9.64k
    if (yych == 'c') goto yy749;
8087
838
    goto yy48;
8088
4.72k
yy684:
8089
4.72k
    YYDEBUG(684, *YYCURSOR);
8090
4.72k
    yyaccept = 65;
8091
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
8092
4.72k
    if (yybm[256+yych] & 128) {
8093
450
      goto yy47;
8094
450
    }
8095
4.27k
    if (yych == '(') goto yy750;
8096
2.18k
    if (yych == '\\') goto yy164;
8097
3.41k
yy685:
8098
3.41k
    YYDEBUG(685, *YYCURSOR);
8099
3.41k
    yyleng = YYCURSOR - SCNG(yy_text);
8100
3.41k
#line 1778 "Zend/zend_language_scanner.l"
8101
3.41k
    {
8102
3.41k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8103
3.41k
}
8104
0
#line 8105 "Zend/zend_language_scanner.c"
8105
4.24k
yy686:
8106
4.24k
    YYDEBUG(686, *YYCURSOR);
8107
4.24k
    yyaccept = 4;
8108
4.24k
    yych = *(YYMARKER = ++YYCURSOR);
8109
4.24k
    if (yych == 'E') goto yy751;
8110
3.27k
    if (yych == 'e') goto yy751;
8111
272
    goto yy48;
8112
2.07k
yy687:
8113
2.07k
    YYDEBUG(687, *YYCURSOR);
8114
2.07k
    yych = *++YYCURSOR;
8115
2.07k
    if (yych == 'S') goto yy752;
8116
1.51k
    if (yych == 's') goto yy752;
8117
365
    goto yy86;
8118
3.53k
yy688:
8119
3.53k
    YYDEBUG(688, *YYCURSOR);
8120
3.53k
    yyaccept = 4;
8121
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
8122
3.53k
    if (yych == 'Y') goto yy753;
8123
3.02k
    if (yych == 'y') goto yy753;
8124
813
    goto yy48;
8125
5.77k
yy689:
8126
5.77k
    YYDEBUG(689, *YYCURSOR);
8127
5.77k
    yyaccept = 66;
8128
5.77k
    yych = *(YYMARKER = ++YYCURSOR);
8129
5.77k
    if (yych <= '\\') {
8130
2.36k
      if (yych <= '@') {
8131
1.65k
        if (yych <= '/') goto yy690;
8132
734
        if (yych <= '9') goto yy47;
8133
734
      } else {
8134
719
        if (yych <= 'Z') goto yy47;
8135
457
        if (yych >= '\\') goto yy164;
8136
457
      }
8137
3.40k
    } else {
8138
3.40k
      if (yych <= '`') {
8139
2.36k
        if (yych == '_') goto yy755;
8140
2.36k
      } else {
8141
1.03k
        if (yych <= 'z') goto yy47;
8142
642
        if (yych >= 0x80) goto yy47;
8143
642
      }
8144
3.40k
    }
8145
2.48k
yy690:
8146
2.48k
    YYDEBUG(690, *YYCURSOR);
8147
2.48k
    yyleng = YYCURSOR - SCNG(yy_text);
8148
2.48k
#line 1730 "Zend/zend_language_scanner.l"
8149
2.48k
    {
8150
2.48k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8151
2.48k
}
8152
0
#line 8153 "Zend/zend_language_scanner.c"
8153
7.05k
yy691:
8154
7.05k
    YYDEBUG(691, *YYCURSOR);
8155
7.05k
    yych = *++YYCURSOR;
8156
7.05k
    if (yych == 'R') goto yy756;
8157
5.02k
    if (yych == 'r') goto yy756;
8158
3.05k
    goto yy86;
8159
665k
yy692:
8160
665k
    YYDEBUG(692, *YYCURSOR);
8161
665k
    ++YYCURSOR;
8162
665k
    YYFILL(1);
8163
665k
    yych = *YYCURSOR;
8164
665k
    YYDEBUG(693, *YYCURSOR);
8165
665k
    if (yych <= '\n') {
8166
102k
      if (yych <= 0x00) goto yy86;
8167
98.6k
      if (yych <= '\t') goto yy692;
8168
94.7k
      goto yy616;
8169
562k
    } else {
8170
562k
      if (yych == '\r') goto yy616;
8171
552k
      goto yy692;
8172
562k
    }
8173
137k
yy694:
8174
137k
    YYDEBUG(694, *YYCURSOR);
8175
137k
    ++YYCURSOR;
8176
137k
    YYFILL(1);
8177
137k
    yych = *YYCURSOR;
8178
137k
    YYDEBUG(695, *YYCURSOR);
8179
137k
    if (yych <= ' ') {
8180
8.08k
      if (yych <= '\n') {
8181
3.72k
        if (yych <= 0x00) goto yy86;
8182
3.44k
        if (yych <= 0x08) goto yy692;
8183
3.15k
        if (yych <= '\t') goto yy694;
8184
2.94k
        goto yy616;
8185
4.36k
      } else {
8186
4.36k
        if (yych == '\r') goto yy616;
8187
1.31k
        if (yych <= 0x1F) goto yy692;
8188
846
        goto yy694;
8189
1.31k
      }
8190
129k
    } else {
8191
129k
      if (yych <= '/') {
8192
68.5k
        if (yych == '#') goto yy757;
8193
60.9k
        if (yych <= '.') goto yy692;
8194
46.6k
        goto yy758;
8195
60.9k
      } else {
8196
60.8k
        if (yych <= 'F') {
8197
33.2k
          if (yych <= 'E') goto yy692;
8198
20.0k
          goto yy759;
8199
33.2k
        } else {
8200
27.6k
          if (yych == 'f') goto yy759;
8201
23.9k
          goto yy692;
8202
27.6k
        }
8203
60.8k
      }
8204
129k
    }
8205
701k
yy696:
8206
701k
    YYDEBUG(696, *YYCURSOR);
8207
701k
    ++YYCURSOR;
8208
701k
    YYFILL(1);
8209
701k
    yych = *YYCURSOR;
8210
701k
    YYDEBUG(697, *YYCURSOR);
8211
701k
    if (yych <= 0x00) goto yy86;
8212
685k
    if (yych == '*') goto yy760;
8213
666k
    goto yy696;
8214
666k
yy698:
8215
3.32k
    YYDEBUG(698, *YYCURSOR);
8216
3.32k
    yyaccept = 4;
8217
3.32k
    yych = *(YYMARKER = ++YYCURSOR);
8218
3.32k
    if (yych == '_') goto yy762;
8219
599
    goto yy48;
8220
2.54k
yy699:
8221
2.54k
    YYDEBUG(699, *YYCURSOR);
8222
2.54k
    yyaccept = 67;
8223
2.54k
    yych = *(YYMARKER = ++YYCURSOR);
8224
2.54k
    if (yybm[256+yych] & 128) {
8225
718
      goto yy47;
8226
718
    }
8227
1.82k
    if (yych == '\\') goto yy164;
8228
1.82k
yy700:
8229
1.82k
    YYDEBUG(700, *YYCURSOR);
8230
1.82k
    yyleng = YYCURSOR - SCNG(yy_text);
8231
1.82k
#line 2281 "Zend/zend_language_scanner.l"
8232
1.82k
    {
8233
1.82k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8234
1.82k
}
8235
0
#line 8236 "Zend/zend_language_scanner.c"
8236
1.70k
yy701:
8237
1.70k
    YYDEBUG(701, *YYCURSOR);
8238
1.70k
    yyaccept = 4;
8239
1.70k
    yych = *(YYMARKER = ++YYCURSOR);
8240
1.70k
    if (yych == '_') goto yy763;
8241
310
    goto yy48;
8242
3.54k
yy702:
8243
3.54k
    YYDEBUG(702, *YYCURSOR);
8244
3.54k
    yyaccept = 4;
8245
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
8246
3.54k
    if (yych == 'I') goto yy765;
8247
3.22k
    if (yych == 'i') goto yy765;
8248
399
    goto yy48;
8249
3.54k
yy703:
8250
3.54k
    YYDEBUG(703, *YYCURSOR);
8251
3.54k
    yyaccept = 4;
8252
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
8253
3.54k
    if (yych == 'C') goto yy766;
8254
2.36k
    if (yych == 'c') goto yy766;
8255
290
    goto yy48;
8256
1.89k
yy704:
8257
1.89k
    YYDEBUG(704, *YYCURSOR);
8258
1.89k
    yyaccept = 4;
8259
1.89k
    yych = *(YYMARKER = ++YYCURSOR);
8260
1.89k
    if (yych == '_') goto yy767;
8261
371
    goto yy48;
8262
3.67k
yy705:
8263
3.67k
    YYDEBUG(705, *YYCURSOR);
8264
3.67k
    yyaccept = 4;
8265
3.67k
    yych = *(YYMARKER = ++YYCURSOR);
8266
3.67k
    if (yych == 'D') goto yy769;
8267
3.29k
    if (yych == 'd') goto yy769;
8268
395
    goto yy48;
8269
3.95k
yy706:
8270
3.95k
    YYDEBUG(706, *YYCURSOR);
8271
3.95k
    yyaccept = 4;
8272
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
8273
3.95k
    if (yych == 'P') goto yy770;
8274
3.22k
    if (yych == 'p') goto yy770;
8275
703
    goto yy48;
8276
4.53k
yy707:
8277
4.53k
    YYDEBUG(707, *YYCURSOR);
8278
4.53k
    yyaccept = 4;
8279
4.53k
    yych = *(YYMARKER = ++YYCURSOR);
8280
4.53k
    if (yych == 'R') goto yy771;
8281
2.41k
    if (yych == 'r') goto yy771;
8282
599
    goto yy48;
8283
3.10k
yy708:
8284
3.10k
    YYDEBUG(708, *YYCURSOR);
8285
3.10k
    yyaccept = 4;
8286
3.10k
    yych = *(YYMARKER = ++YYCURSOR);
8287
3.10k
    if (yych == '_') goto yy772;
8288
302
    goto yy48;
8289
21.2k
yy709:
8290
21.2k
    YYDEBUG(709, *YYCURSOR);
8291
21.2k
    ++YYCURSOR;
8292
21.2k
    YYFILL(1);
8293
21.2k
    yych = *YYCURSOR;
8294
21.2k
    YYDEBUG(710, *YYCURSOR);
8295
21.2k
    if (yych <= ' ') {
8296
2.59k
      if (yych <= '\n') {
8297
1.53k
        if (yych <= 0x00) goto yy86;
8298
1.23k
        if (yych <= 0x08) goto yy443;
8299
897
        if (yych <= '\t') goto yy709;
8300
695
        goto yy545;
8301
1.06k
      } else {
8302
1.06k
        if (yych == '\r') goto yy545;
8303
537
        if (yych <= 0x1F) goto yy443;
8304
206
        goto yy709;
8305
537
      }
8306
18.6k
    } else {
8307
18.6k
      if (yych <= ')') {
8308
6.03k
        if (yych <= '"') goto yy443;
8309
5.77k
        if (yych <= '#') goto yy773;
8310
2.68k
        if (yych <= '$') goto yy774;
8311
1.65k
        goto yy443;
8312
12.6k
      } else {
8313
12.6k
        if (yych <= '-') {
8314
939
          if (yych <= '*') goto yy547;
8315
281
          goto yy443;
8316
11.6k
        } else {
8317
11.6k
          if (yych <= '.') goto yy775;
8318
6.65k
          if (yych <= '/') goto yy776;
8319
3.10k
          goto yy443;
8320
6.65k
        }
8321
12.6k
      }
8322
18.6k
    }
8323
969
yy711:
8324
969
    YYDEBUG(711, *YYCURSOR);
8325
969
    ++YYCURSOR;
8326
969
    YYFILL(1);
8327
969
    yych = *YYCURSOR;
8328
969
    if (yybm[0+yych] & 64) {
8329
264
      goto yy355;
8330
264
    }
8331
705
    if (yych <= 0x00) goto yy86;
8332
485
    if (yych == '.') goto yy631;
8333
270
    goto yy230;
8334
1.12k
yy712:
8335
1.12k
    YYDEBUG(712, *YYCURSOR);
8336
1.12k
    ++YYCURSOR;
8337
1.12k
    YYFILL(1);
8338
1.12k
    yych = *YYCURSOR;
8339
1.12k
    if (yybm[0+yych] & 64) {
8340
249
      goto yy355;
8341
249
    }
8342
875
    if (yych <= 0x00) goto yy86;
8343
673
    if (yych == '/') goto yy545;
8344
215
    goto yy230;
8345
465
yy713:
8346
465
    YYDEBUG(713, *YYCURSOR);
8347
465
    ++YYCURSOR;
8348
465
    YYDEBUG(714, *YYCURSOR);
8349
465
    yyleng = YYCURSOR - SCNG(yy_text);
8350
465
#line 1678 "Zend/zend_language_scanner.l"
8351
465
    {
8352
465
  if (PARSER_MODE()) {
8353
72
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8354
72
    if (EG(exception)) {
8355
0
      RETURN_TOKEN(T_ERROR);
8356
0
    }
8357
72
  }
8358
465
  RETURN_TOKEN(T_STRING_CAST);
8359
465
}
8360
0
#line 8361 "Zend/zend_language_scanner.c"
8361
1.31k
yy715:
8362
1.31k
    YYDEBUG(715, *YYCURSOR);
8363
1.31k
    ++YYCURSOR;
8364
1.31k
    YYFILL(1);
8365
1.31k
    yych = *YYCURSOR;
8366
1.31k
    YYDEBUG(716, *YYCURSOR);
8367
1.31k
    if (yych <= 0x1F) {
8368
508
      if (yych == '\t') goto yy715;
8369
309
      goto yy86;
8370
809
    } else {
8371
809
      if (yych <= ' ') goto yy715;
8372
603
      if (yych == ')') goto yy777;
8373
295
      goto yy86;
8374
603
    }
8375
385
yy717:
8376
385
    YYDEBUG(717, *YYCURSOR);
8377
385
    ++YYCURSOR;
8378
385
    YYDEBUG(718, *YYCURSOR);
8379
385
    yyleng = YYCURSOR - SCNG(yy_text);
8380
385
#line 1656 "Zend/zend_language_scanner.l"
8381
385
    {
8382
385
  if (PARSER_MODE()) {
8383
15
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8384
15
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
15
  }
8388
385
  RETURN_TOKEN(T_DOUBLE_CAST);
8389
385
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
2.19k
yy719:
8392
2.19k
    YYDEBUG(719, *YYCURSOR);
8393
2.19k
    ++YYCURSOR;
8394
2.19k
    YYFILL(1);
8395
2.19k
    yych = *YYCURSOR;
8396
2.19k
    YYDEBUG(720, *YYCURSOR);
8397
2.19k
    if (yych <= 0x1F) {
8398
538
      if (yych == '\t') goto yy719;
8399
321
      goto yy86;
8400
1.65k
    } else {
8401
1.65k
      if (yych <= ' ') goto yy719;
8402
1.43k
      if (yych == ')') goto yy779;
8403
297
      goto yy86;
8404
1.43k
    }
8405
379
yy721:
8406
379
    YYDEBUG(721, *YYCURSOR);
8407
379
    ++YYCURSOR;
8408
379
    YYDEBUG(722, *YYCURSOR);
8409
379
    yyleng = YYCURSOR - SCNG(yy_text);
8410
379
#line 1692 "Zend/zend_language_scanner.l"
8411
379
    {
8412
379
  RETURN_TOKEN(T_OBJECT_CAST);
8413
379
}
8414
0
#line 8415 "Zend/zend_language_scanner.c"
8415
695
yy723:
8416
695
    YYDEBUG(723, *YYCURSOR);
8417
695
    ++YYCURSOR;
8418
695
    YYDEBUG(724, *YYCURSOR);
8419
695
    yyleng = YYCURSOR - SCNG(yy_text);
8420
695
#line 1674 "Zend/zend_language_scanner.l"
8421
695
    {
8422
695
  RETURN_TOKEN(T_STRING_CAST);
8423
695
}
8424
0
#line 8425 "Zend/zend_language_scanner.c"
8425
3.02k
yy725:
8426
3.02k
    YYDEBUG(725, *YYCURSOR);
8427
3.02k
    yyaccept = 68;
8428
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
8429
3.02k
    if (yybm[256+yych] & 128) {
8430
400
      goto yy47;
8431
400
    }
8432
2.62k
    if (yych == '\\') goto yy164;
8433
2.61k
yy726:
8434
2.61k
    YYDEBUG(726, *YYCURSOR);
8435
2.61k
    yyleng = YYCURSOR - SCNG(yy_text);
8436
2.61k
#line 1770 "Zend/zend_language_scanner.l"
8437
2.61k
    {
8438
2.61k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8439
2.61k
}
8440
0
#line 8441 "Zend/zend_language_scanner.c"
8441
1.09k
yy727:
8442
1.09k
    YYDEBUG(727, *YYCURSOR);
8443
1.09k
    yyaccept = 69;
8444
1.09k
    yych = *(YYMARKER = ++YYCURSOR);
8445
1.09k
    if (yybm[256+yych] & 128) {
8446
384
      goto yy47;
8447
384
    }
8448
713
    if (yych == '\\') goto yy164;
8449
713
yy728:
8450
713
    YYDEBUG(728, *YYCURSOR);
8451
713
    yyleng = YYCURSOR - SCNG(yy_text);
8452
713
#line 1822 "Zend/zend_language_scanner.l"
8453
713
    {
8454
713
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8455
713
}
8456
0
#line 8457 "Zend/zend_language_scanner.c"
8457
2.24k
yy729:
8458
2.24k
    YYDEBUG(729, *YYCURSOR);
8459
2.24k
    yyaccept = 70;
8460
2.24k
    yych = *(YYMARKER = ++YYCURSOR);
8461
2.24k
    if (yybm[256+yych] & 128) {
8462
280
      goto yy47;
8463
280
    }
8464
1.96k
    if (yych == '\\') goto yy164;
8465
1.76k
yy730:
8466
1.76k
    YYDEBUG(730, *YYCURSOR);
8467
1.76k
    yyleng = YYCURSOR - SCNG(yy_text);
8468
1.76k
#line 1538 "Zend/zend_language_scanner.l"
8469
1.76k
    {
8470
1.76k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8471
1.76k
}
8472
0
#line 8473 "Zend/zend_language_scanner.c"
8473
2.41k
yy731:
8474
2.41k
    YYDEBUG(731, *YYCURSOR);
8475
2.41k
    yyaccept = 4;
8476
2.41k
    yych = *(YYMARKER = ++YYCURSOR);
8477
2.41k
    if (yych == 'R') goto yy781;
8478
1.66k
    if (yych == 'r') goto yy781;
8479
796
    goto yy48;
8480
2.20k
yy732:
8481
2.20k
    YYDEBUG(732, *YYCURSOR);
8482
2.20k
    yyaccept = 4;
8483
2.20k
    yych = *(YYMARKER = ++YYCURSOR);
8484
2.20k
    if (yych == 'C') goto yy782;
8485
1.51k
    if (yych == 'c') goto yy782;
8486
793
    goto yy48;
8487
1.89k
yy733:
8488
1.89k
    YYDEBUG(733, *YYCURSOR);
8489
1.89k
    yyaccept = 4;
8490
1.89k
    yych = *(YYMARKER = ++YYCURSOR);
8491
1.89k
    if (yych == 'H') goto yy783;
8492
1.24k
    if (yych == 'h') goto yy783;
8493
695
    goto yy48;
8494
1.27k
yy734:
8495
1.27k
    YYDEBUG(734, *YYCURSOR);
8496
1.27k
    yyaccept = 71;
8497
1.27k
    yych = *(YYMARKER = ++YYCURSOR);
8498
1.27k
    if (yybm[256+yych] & 128) {
8499
661
      goto yy47;
8500
661
    }
8501
615
    if (yych == '\\') goto yy164;
8502
615
yy735:
8503
615
    YYDEBUG(735, *YYCURSOR);
8504
615
    yyleng = YYCURSOR - SCNG(yy_text);
8505
615
#line 1474 "Zend/zend_language_scanner.l"
8506
615
    {
8507
615
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8508
615
}
8509
0
#line 8510 "Zend/zend_language_scanner.c"
8510
1.75k
yy736:
8511
1.75k
    YYDEBUG(736, *YYCURSOR);
8512
1.75k
    yych = *++YYCURSOR;
8513
1.75k
    if (yych == 'E') goto yy785;
8514
1.37k
    if (yych == 'e') goto yy785;
8515
233
    goto yy86;
8516
2.39k
yy737:
8517
2.39k
    YYDEBUG(737, *YYCURSOR);
8518
2.39k
    yych = *++YYCURSOR;
8519
2.39k
    if (yych == 'L') goto yy786;
8520
1.36k
    if (yych == 'l') goto yy786;
8521
248
    goto yy86;
8522
388k
yy738:
8523
388k
    YYDEBUG(738, *YYCURSOR);
8524
388k
    ++YYCURSOR;
8525
388k
    YYFILL(1);
8526
388k
    yych = *YYCURSOR;
8527
388k
    YYDEBUG(739, *YYCURSOR);
8528
388k
    if (yych <= '\f') {
8529
54.2k
      if (yych <= 0x00) goto yy86;
8530
45.8k
      if (yych == '\n') goto yy787;
8531
12.6k
      goto yy738;
8532
334k
    } else {
8533
334k
      if (yych <= '\r') goto yy787;
8534
287k
      if (yych == '*') goto yy789;
8535
280k
      goto yy738;
8536
287k
    }
8537
11.8k
yy740:
8538
11.8k
    YYDEBUG(740, *YYCURSOR);
8539
11.8k
    ++YYCURSOR;
8540
11.8k
    YYFILL(1);
8541
11.8k
    yych = *YYCURSOR;
8542
11.8k
    if (yych <= '\r') {
8543
1.29k
      if (yych <= '\t') {
8544
604
        if (yych <= 0x00) goto yy86;
8545
333
        goto yy586;
8546
691
      } else {
8547
691
        if (yych <= '\n') goto yy495;
8548
492
        if (yych <= '\f') goto yy586;
8549
293
        goto yy495;
8550
492
      }
8551
10.5k
    } else {
8552
10.5k
      if (yych <= 'T') {
8553
2.91k
        if (yych <= 'S') goto yy586;
8554
2.46k
        goto yy791;
8555
7.60k
      } else {
8556
7.60k
        if (yych == 't') goto yy791;
8557
521
        goto yy586;
8558
7.60k
      }
8559
10.5k
    }
8560
15.0k
yy741:
8561
15.0k
    YYDEBUG(741, *YYCURSOR);
8562
15.0k
    ++YYCURSOR;
8563
15.0k
    YYFILL(1);
8564
15.0k
    yych = *YYCURSOR;
8565
15.0k
    if (yych <= '\r') {
8566
1.51k
      if (yych <= '\t') {
8567
412
        if (yych <= 0x00) goto yy86;
8568
202
        goto yy586;
8569
1.10k
      } else {
8570
1.10k
        if (yych <= '\n') goto yy495;
8571
863
        if (yych <= '\f') goto yy586;
8572
649
        goto yy495;
8573
863
      }
8574
13.5k
    } else {
8575
13.5k
      if (yych <= 'P') {
8576
4.54k
        if (yych <= 'O') goto yy586;
8577
4.10k
        goto yy792;
8578
8.96k
      } else {
8579
8.96k
        if (yych == 'p') goto yy792;
8580
559
        goto yy586;
8581
8.96k
      }
8582
13.5k
    }
8583
25.5k
yy742:
8584
25.5k
    YYDEBUG(742, *YYCURSOR);
8585
25.5k
    yyaccept = 72;
8586
25.5k
    yych = *(YYMARKER = ++YYCURSOR);
8587
25.5k
    if (yybm[256+yych] & 128) {
8588
629
      goto yy47;
8589
629
    }
8590
24.9k
    if (yych == '\\') goto yy164;
8591
24.9k
yy743:
8592
24.9k
    YYDEBUG(743, *YYCURSOR);
8593
24.9k
    yyleng = YYCURSOR - SCNG(yy_text);
8594
24.9k
#line 1411 "Zend/zend_language_scanner.l"
8595
24.9k
    {
8596
24.9k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8597
24.9k
}
8598
0
#line 8599 "Zend/zend_language_scanner.c"
8599
3.21k
yy744:
8600
3.21k
    YYDEBUG(744, *YYCURSOR);
8601
3.21k
    yyaccept = 4;
8602
3.21k
    yych = *(YYMARKER = ++YYCURSOR);
8603
3.21k
    if (yych == 'T') goto yy793;
8604
2.73k
    if (yych == 't') goto yy793;
8605
572
    goto yy48;
8606
3.16k
yy745:
8607
3.16k
    YYDEBUG(745, *YYCURSOR);
8608
3.16k
    yyaccept = 4;
8609
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
8610
3.16k
    if (yych == 'O') goto yy794;
8611
1.98k
    if (yych == 'o') goto yy794;
8612
356
    goto yy48;
8613
2.36k
yy746:
8614
2.36k
    YYDEBUG(746, *YYCURSOR);
8615
2.36k
    yyaccept = 4;
8616
2.36k
    yych = *(YYMARKER = ++YYCURSOR);
8617
2.36k
    if (yych == 'O') goto yy795;
8618
2.09k
    if (yych == 'o') goto yy795;
8619
282
    goto yy48;
8620
2.14k
yy747:
8621
2.14k
    YYDEBUG(747, *YYCURSOR);
8622
2.14k
    yyaccept = 4;
8623
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
8624
2.14k
    if (yych == 'F') goto yy796;
8625
1.94k
    if (yych == 'f') goto yy796;
8626
557
    goto yy48;
8627
3.25k
yy748:
8628
3.25k
    YYDEBUG(748, *YYCURSOR);
8629
3.25k
    yyaccept = 4;
8630
3.25k
    yych = *(YYMARKER = ++YYCURSOR);
8631
3.25k
    if (yych == 'E') goto yy798;
8632
3.05k
    if (yych == 'e') goto yy798;
8633
407
    goto yy48;
8634
9.48k
yy749:
8635
9.48k
    YYDEBUG(749, *YYCURSOR);
8636
9.48k
    yyaccept = 4;
8637
9.48k
    yych = *(YYMARKER = ++YYCURSOR);
8638
9.48k
    if (yych == 'E') goto yy800;
8639
8.84k
    if (yych == 'e') goto yy800;
8640
338
    goto yy48;
8641
2.09k
yy750:
8642
2.09k
    YYDEBUG(750, *YYCURSOR);
8643
2.09k
    yych = *++YYCURSOR;
8644
2.09k
    if (yych == 'S') goto yy802;
8645
1.76k
    if (yych == 's') goto yy802;
8646
392
    goto yy86;
8647
3.97k
yy751:
8648
3.97k
    YYDEBUG(751, *YYCURSOR);
8649
3.97k
    yyaccept = 4;
8650
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
8651
3.97k
    if (yych == 'D') goto yy803;
8652
3.25k
    if (yych == 'd') goto yy803;
8653
337
    goto yy48;
8654
1.70k
yy752:
8655
1.70k
    YYDEBUG(752, *YYCURSOR);
8656
1.70k
    yych = *++YYCURSOR;
8657
1.70k
    if (yych == 'E') goto yy805;
8658
1.50k
    if (yych == 'e') goto yy805;
8659
363
    goto yy86;
8660
2.72k
yy753:
8661
2.72k
    YYDEBUG(753, *YYCURSOR);
8662
2.72k
    yyaccept = 73;
8663
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
8664
2.72k
    if (yybm[256+yych] & 128) {
8665
471
      goto yy47;
8666
471
    }
8667
2.24k
    if (yych == '\\') goto yy164;
8668
2.24k
yy754:
8669
2.24k
    YYDEBUG(754, *YYCURSOR);
8670
2.24k
    yyleng = YYCURSOR - SCNG(yy_text);
8671
2.24k
#line 1802 "Zend/zend_language_scanner.l"
8672
2.24k
    {
8673
2.24k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8674
2.24k
}
8675
0
#line 8676 "Zend/zend_language_scanner.c"
8676
2.13k
yy755:
8677
2.13k
    YYDEBUG(755, *YYCURSOR);
8678
2.13k
    yyaccept = 4;
8679
2.13k
    yych = *(YYMARKER = ++YYCURSOR);
8680
2.13k
    if (yych == 'O') goto yy806;
8681
1.74k
    if (yych == 'o') goto yy806;
8682
207
    goto yy48;
8683
4.00k
yy756:
8684
4.00k
    YYDEBUG(756, *YYCURSOR);
8685
4.00k
    yych = *++YYCURSOR;
8686
4.00k
    if (yych == 'O') goto yy807;
8687
2.60k
    if (yych == 'o') goto yy807;
8688
673
    goto yy86;
8689
7.68k
yy757:
8690
7.68k
    YYDEBUG(757, *YYCURSOR);
8691
7.68k
    ++YYCURSOR;
8692
7.68k
    YYFILL(1);
8693
7.68k
    yych = *YYCURSOR;
8694
7.68k
    if (yych <= '\n') {
8695
5.51k
      if (yych <= 0x00) goto yy86;
8696
5.31k
      if (yych <= '\t') goto yy692;
8697
5.06k
      goto yy694;
8698
5.31k
    } else {
8699
2.17k
      if (yych == '\r') goto yy694;
8700
491
      goto yy692;
8701
2.17k
    }
8702
46.6k
yy758:
8703
46.6k
    YYDEBUG(758, *YYCURSOR);
8704
46.6k
    ++YYCURSOR;
8705
46.6k
    YYFILL(1);
8706
46.6k
    yych = *YYCURSOR;
8707
46.6k
    if (yych <= '\f') {
8708
1.14k
      if (yych <= 0x00) goto yy86;
8709
941
      if (yych == '\n') goto yy616;
8710
363
      goto yy692;
8711
45.4k
    } else {
8712
45.4k
      if (yych <= '\r') goto yy616;
8713
44.7k
      if (yych == '*') goto yy808;
8714
14.8k
      goto yy692;
8715
44.7k
    }
8716
23.7k
yy759:
8717
23.7k
    YYDEBUG(759, *YYCURSOR);
8718
23.7k
    ++YYCURSOR;
8719
23.7k
    YYFILL(1);
8720
23.7k
    yych = *YYCURSOR;
8721
23.7k
    if (yych <= '\r') {
8722
1.47k
      if (yych <= '\t') {
8723
697
        if (yych <= 0x00) goto yy86;
8724
488
        goto yy692;
8725
774
      } else {
8726
774
        if (yych <= '\n') goto yy616;
8727
541
        if (yych <= '\f') goto yy692;
8728
246
        goto yy616;
8729
541
      }
8730
22.2k
    } else {
8731
22.2k
      if (yych <= 'R') {
8732
18.1k
        if (yych <= 'Q') goto yy692;
8733
14.0k
        goto yy810;
8734
18.1k
      } else {
8735
4.11k
        if (yych == 'r') goto yy810;
8736
2.48k
        goto yy692;
8737
4.11k
      }
8738
22.2k
    }
8739
23.2k
yy760:
8740
23.2k
    YYDEBUG(760, *YYCURSOR);
8741
23.2k
    ++YYCURSOR;
8742
23.2k
    YYFILL(1);
8743
23.2k
    yych = *YYCURSOR;
8744
23.2k
    YYDEBUG(761, *YYCURSOR);
8745
23.2k
    if (yych <= '*') {
8746
14.1k
      if (yych <= 0x00) goto yy86;
8747
13.2k
      if (yych <= ')') goto yy696;
8748
1.27k
      goto yy760;
8749
13.2k
    } else {
8750
9.15k
      if (yych == '/') goto yy616;
8751
4.70k
      goto yy696;
8752
9.15k
    }
8753
2.72k
yy762:
8754
2.72k
    YYDEBUG(762, *YYCURSOR);
8755
2.72k
    yyaccept = 4;
8756
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
8757
2.72k
    if (yych == '_') goto yy811;
8758
414
    goto yy48;
8759
1.39k
yy763:
8760
1.39k
    YYDEBUG(763, *YYCURSOR);
8761
1.39k
    yyaccept = 74;
8762
1.39k
    yych = *(YYMARKER = ++YYCURSOR);
8763
1.39k
    if (yybm[256+yych] & 128) {
8764
706
      goto yy47;
8765
706
    }
8766
691
    if (yych == '\\') goto yy164;
8767
691
yy764:
8768
691
    YYDEBUG(764, *YYCURSOR);
8769
691
    yyleng = YYCURSOR - SCNG(yy_text);
8770
691
#line 2277 "Zend/zend_language_scanner.l"
8771
691
    {
8772
691
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8773
691
}
8774
0
#line 8775 "Zend/zend_language_scanner.c"
8775
3.14k
yy765:
8776
3.14k
    YYDEBUG(765, *YYCURSOR);
8777
3.14k
    yyaccept = 4;
8778
3.14k
    yych = *(YYMARKER = ++YYCURSOR);
8779
3.14k
    if (yych == 'O') goto yy813;
8780
2.73k
    if (yych == 'o') goto yy813;
8781
376
    goto yy48;
8782
3.25k
yy766:
8783
3.25k
    YYDEBUG(766, *YYCURSOR);
8784
3.25k
    yyaccept = 4;
8785
3.25k
    yych = *(YYMARKER = ++YYCURSOR);
8786
3.25k
    if (yych == 'O') goto yy814;
8787
2.57k
    if (yych == 'o') goto yy814;
8788
297
    goto yy48;
8789
1.52k
yy767:
8790
1.52k
    YYDEBUG(767, *YYCURSOR);
8791
1.52k
    yyaccept = 75;
8792
1.52k
    yych = *(YYMARKER = ++YYCURSOR);
8793
1.52k
    if (yybm[256+yych] & 128) {
8794
503
      goto yy47;
8795
503
    }
8796
1.02k
    if (yych == '\\') goto yy164;
8797
953
yy768:
8798
953
    YYDEBUG(768, *YYCURSOR);
8799
953
    yyleng = YYCURSOR - SCNG(yy_text);
8800
953
#line 2273 "Zend/zend_language_scanner.l"
8801
953
    {
8802
953
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8803
953
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
3.27k
yy769:
8806
3.27k
    YYDEBUG(769, *YYCURSOR);
8807
3.27k
    yyaccept = 4;
8808
3.27k
    yych = *(YYMARKER = ++YYCURSOR);
8809
3.27k
    if (yych == '_') goto yy815;
8810
408
    goto yy48;
8811
3.25k
yy770:
8812
3.25k
    YYDEBUG(770, *YYCURSOR);
8813
3.25k
    yyaccept = 4;
8814
3.25k
    yych = *(YYMARKER = ++YYCURSOR);
8815
3.25k
    if (yych == 'A') goto yy816;
8816
2.56k
    if (yych == 'a') goto yy816;
8817
392
    goto yy48;
8818
3.93k
yy771:
8819
3.93k
    YYDEBUG(771, *YYCURSOR);
8820
3.93k
    yyaccept = 4;
8821
3.93k
    yych = *(YYMARKER = ++YYCURSOR);
8822
3.93k
    if (yych == 'T') goto yy817;
8823
1.97k
    if (yych == 't') goto yy817;
8824
318
    goto yy48;
8825
2.80k
yy772:
8826
2.80k
    YYDEBUG(772, *YYCURSOR);
8827
2.80k
    yyaccept = 4;
8828
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
8829
2.80k
    if (yych == '_') goto yy818;
8830
523
    goto yy48;
8831
3.09k
yy773:
8832
3.09k
    YYDEBUG(773, *YYCURSOR);
8833
3.09k
    ++YYCURSOR;
8834
3.09k
    YYFILL(1);
8835
3.09k
    yych = *YYCURSOR;
8836
3.09k
    if (yybm[0+yych] & 128) {
8837
1.22k
      goto yy443;
8838
1.22k
    }
8839
1.86k
    if (yych <= 0x00) goto yy86;
8840
1.63k
    if (yych <= '\r') goto yy709;
8841
198
    goto yy547;
8842
1.38k
yy774:
8843
1.38k
    YYDEBUG(774, *YYCURSOR);
8844
1.38k
    yyaccept = 26;
8845
1.38k
    YYMARKER = ++YYCURSOR;
8846
1.38k
    YYFILL(1);
8847
1.38k
    yych = *YYCURSOR;
8848
1.38k
    if (yybm[0+yych] & 128) {
8849
606
      goto yy443;
8850
606
    }
8851
779
    if (yych <= 0x00) goto yy89;
8852
562
    if (yych <= '\r') goto yy545;
8853
236
    goto yy547;
8854
5.03k
yy775:
8855
5.03k
    YYDEBUG(775, *YYCURSOR);
8856
5.03k
    ++YYCURSOR;
8857
5.03k
    YYFILL(1);
8858
5.03k
    yych = *YYCURSOR;
8859
5.03k
    if (yych <= '\r') {
8860
1.03k
      if (yych <= '\t') {
8861
435
        if (yych <= 0x00) goto yy86;
8862
215
        goto yy443;
8863
597
      } else {
8864
597
        if (yych <= '\n') goto yy545;
8865
398
        if (yych <= '\f') goto yy443;
8866
200
        goto yy545;
8867
398
      }
8868
3.99k
    } else {
8869
3.99k
      if (yych <= '*') {
8870
1.52k
        if (yych <= ')') goto yy443;
8871
632
        goto yy547;
8872
2.47k
      } else {
8873
2.47k
        if (yych == '.') goto yy820;
8874
262
        goto yy443;
8875
2.47k
      }
8876
3.99k
    }
8877
3.54k
yy776:
8878
3.54k
    YYDEBUG(776, *YYCURSOR);
8879
3.54k
    ++YYCURSOR;
8880
3.54k
    YYFILL(1);
8881
3.54k
    yych = *YYCURSOR;
8882
3.54k
    if (yybm[0+yych] & 128) {
8883
281
      goto yy443;
8884
281
    }
8885
3.26k
    if (yych <= 0x00) goto yy86;
8886
2.95k
    if (yych <= '\r') goto yy545;
8887
2.70k
    goto yy821;
8888
2.70k
yy777:
8889
308
    YYDEBUG(777, *YYCURSOR);
8890
308
    ++YYCURSOR;
8891
308
    YYDEBUG(778, *YYCURSOR);
8892
308
    yyleng = YYCURSOR - SCNG(yy_text);
8893
308
#line 1700 "Zend/zend_language_scanner.l"
8894
308
    {
8895
308
  if (PARSER_MODE()) {
8896
102
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8897
102
    if (EG(exception)) {
8898
0
      RETURN_TOKEN(T_ERROR);
8899
0
    }
8900
102
  }
8901
308
  RETURN_TOKEN(T_BOOL_CAST);
8902
308
}
8903
0
#line 8904 "Zend/zend_language_scanner.c"
8904
1.13k
yy779:
8905
1.13k
    YYDEBUG(779, *YYCURSOR);
8906
1.13k
    ++YYCURSOR;
8907
1.13k
    YYDEBUG(780, *YYCURSOR);
8908
1.13k
    yyleng = YYCURSOR - SCNG(yy_text);
8909
1.13k
#line 1642 "Zend/zend_language_scanner.l"
8910
1.13k
    {
8911
1.13k
  if (PARSER_MODE()) {
8912
74
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8913
74
    if (EG(exception)) {
8914
0
      RETURN_TOKEN(T_ERROR);
8915
0
    }
8916
74
  }
8917
1.13k
  RETURN_TOKEN(T_INT_CAST);
8918
1.13k
}
8919
0
#line 8920 "Zend/zend_language_scanner.c"
8920
1.61k
yy781:
8921
1.61k
    YYDEBUG(781, *YYCURSOR);
8922
1.61k
    yyaccept = 4;
8923
1.61k
    yych = *(YYMARKER = ++YYCURSOR);
8924
1.61k
    if (yych == 'E') goto yy822;
8925
1.12k
    if (yych == 'e') goto yy822;
8926
362
    goto yy48;
8927
1.40k
yy782:
8928
1.40k
    YYDEBUG(782, *YYCURSOR);
8929
1.40k
    yyaccept = 4;
8930
1.40k
    yych = *(YYMARKER = ++YYCURSOR);
8931
1.40k
    if (yych == 'H') goto yy824;
8932
741
    if (yych == 'h') goto yy824;
8933
313
    goto yy48;
8934
1.19k
yy783:
8935
1.19k
    YYDEBUG(783, *YYCURSOR);
8936
1.19k
    yyaccept = 76;
8937
1.19k
    yych = *(YYMARKER = ++YYCURSOR);
8938
1.19k
    if (yybm[256+yych] & 128) {
8939
473
      goto yy47;
8940
473
    }
8941
723
    if (yych == '\\') goto yy164;
8942
723
yy784:
8943
723
    YYDEBUG(784, *YYCURSOR);
8944
723
    yyleng = YYCURSOR - SCNG(yy_text);
8945
723
#line 1522 "Zend/zend_language_scanner.l"
8946
723
    {
8947
723
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8948
723
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
1.52k
yy785:
8951
1.52k
    YYDEBUG(785, *YYCURSOR);
8952
1.52k
    yych = *++YYCURSOR;
8953
1.52k
    if (yych == 'N') goto yy826;
8954
1.30k
    if (yych == 'n') goto yy826;
8955
376
    goto yy86;
8956
2.15k
yy786:
8957
2.15k
    YYDEBUG(786, *YYCURSOR);
8958
2.15k
    yych = *++YYCURSOR;
8959
2.15k
    if (yych == 'E') goto yy827;
8960
1.25k
    if (yych == 'e') goto yy827;
8961
207
    goto yy86;
8962
117k
yy787:
8963
117k
    YYDEBUG(787, *YYCURSOR);
8964
117k
    ++YYCURSOR;
8965
117k
    YYFILL(1);
8966
117k
    yych = *YYCURSOR;
8967
117k
    YYDEBUG(788, *YYCURSOR);
8968
117k
    if (yych <= '@') {
8969
95.4k
      if (yych <= ' ') {
8970
19.9k
        if (yych <= '\n') {
8971
9.95k
          if (yych <= 0x00) goto yy86;
8972
8.15k
          if (yych <= 0x08) goto yy590;
8973
7.69k
          goto yy787;
8974
10.0k
        } else {
8975
10.0k
          if (yych == '\r') goto yy787;
8976
4.91k
          if (yych <= 0x1F) goto yy590;
8977
4.58k
          goto yy787;
8978
4.91k
        }
8979
75.5k
      } else {
8980
75.5k
        if (yych <= ')') {
8981
70.4k
          if (yych == '#') goto yy828;
8982
3.37k
          goto yy590;
8983
70.4k
        } else {
8984
5.04k
          if (yych <= '*') goto yy668;
8985
4.77k
          if (yych == '/') goto yy829;
8986
1.42k
          goto yy590;
8987
4.77k
        }
8988
75.5k
      }
8989
95.4k
    } else {
8990
21.5k
      if (yych <= '_') {
8991
7.23k
        if (yych <= 'H') {
8992
1.08k
          if (yych == 'E') goto yy831;
8993
831
          goto yy830;
8994
6.15k
        } else {
8995
6.15k
          if (yych <= 'I') goto yy832;
8996
1.34k
          if (yych <= 'Z') goto yy830;
8997
659
          if (yych <= '^') goto yy590;
8998
459
          goto yy830;
8999
659
        }
9000
14.3k
      } else {
9001
14.3k
        if (yych <= 'h') {
9002
7.83k
          if (yych <= '`') goto yy590;
9003
7.61k
          if (yych == 'e') goto yy831;
9004
465
          goto yy830;
9005
7.61k
        } else {
9006
6.48k
          if (yych <= 'i') goto yy832;
9007
2.92k
          if (yych <= 'z') goto yy830;
9008
1.81k
          if (yych <= 0x7F) goto yy590;
9009
1.59k
          goto yy830;
9010
1.81k
        }
9011
14.3k
      }
9012
21.5k
    }
9013
13.7k
yy789:
9014
13.7k
    YYDEBUG(789, *YYCURSOR);
9015
13.7k
    ++YYCURSOR;
9016
13.7k
    YYFILL(1);
9017
13.7k
    yych = *YYCURSOR;
9018
13.7k
    YYDEBUG(790, *YYCURSOR);
9019
13.7k
    if (yych <= '\r') {
9020
6.37k
      if (yych <= '\t') {
9021
1.05k
        if (yych <= 0x00) goto yy86;
9022
365
        goto yy738;
9023
5.32k
      } else {
9024
5.32k
        if (yych <= '\n') goto yy787;
9025
3.28k
        if (yych <= '\f') goto yy738;
9026
2.66k
        goto yy787;
9027
3.28k
      }
9028
7.36k
    } else {
9029
7.36k
      if (yych <= '*') {
9030
2.02k
        if (yych <= ')') goto yy738;
9031
1.00k
        goto yy789;
9032
5.33k
      } else {
9033
5.33k
        if (yych == '/') goto yy588;
9034
5.09k
        goto yy738;
9035
5.33k
      }
9036
7.36k
    }
9037
9.55k
yy791:
9038
9.55k
    YYDEBUG(791, *YYCURSOR);
9039
9.55k
    ++YYCURSOR;
9040
9.55k
    YYFILL(1);
9041
9.55k
    yych = *YYCURSOR;
9042
9.55k
    if (yych <= '\r') {
9043
1.46k
      if (yych <= '\t') {
9044
570
        if (yych <= 0x00) goto yy86;
9045
203
        goto yy586;
9046
898
      } else {
9047
898
        if (yych <= '\n') goto yy495;
9048
677
        if (yych <= '\f') goto yy586;
9049
476
        goto yy495;
9050
677
      }
9051
8.08k
    } else {
9052
8.08k
      if (yych <= 'E') {
9053
1.69k
        if (yych <= 'D') goto yy586;
9054
1.46k
        goto yy833;
9055
6.38k
      } else {
9056
6.38k
        if (yych == 'e') goto yy833;
9057
232
        goto yy586;
9058
6.38k
      }
9059
8.08k
    }
9060
12.5k
yy792:
9061
12.5k
    YYDEBUG(792, *YYCURSOR);
9062
12.5k
    ++YYCURSOR;
9063
12.5k
    YYFILL(1);
9064
12.5k
    yych = *YYCURSOR;
9065
12.5k
    if (yych <= '\r') {
9066
1.32k
      if (yych <= '\t') {
9067
418
        if (yych <= 0x00) goto yy86;
9068
212
        goto yy586;
9069
907
      } else {
9070
907
        if (yych <= '\n') goto yy495;
9071
704
        if (yych <= '\f') goto yy586;
9072
506
        goto yy495;
9073
704
      }
9074
11.1k
    } else {
9075
11.1k
      if (yych <= 'L') {
9076
5.27k
        if (yych <= 'K') goto yy586;
9077
4.21k
        goto yy834;
9078
5.91k
      } else {
9079
5.91k
        if (yych == 'l') goto yy834;
9080
376
        goto yy586;
9081
5.91k
      }
9082
11.1k
    }
9083
2.64k
yy793:
9084
2.64k
    YYDEBUG(793, *YYCURSOR);
9085
2.64k
    yyaccept = 4;
9086
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
9087
2.64k
    if (yych == 'S') goto yy835;
9088
2.17k
    if (yych == 's') goto yy835;
9089
524
    goto yy48;
9090
2.81k
yy794:
9091
2.81k
    YYDEBUG(794, *YYCURSOR);
9092
2.81k
    yyaccept = 4;
9093
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
9094
2.81k
    if (yych == 'N') goto yy837;
9095
1.82k
    if (yych == 'n') goto yy837;
9096
334
    goto yy48;
9097
2.08k
yy795:
9098
2.08k
    YYDEBUG(795, *YYCURSOR);
9099
2.08k
    yyaccept = 4;
9100
2.08k
    yych = *(YYMARKER = ++YYCURSOR);
9101
2.08k
    if (yych == 'F') goto yy838;
9102
1.81k
    if (yych == 'f') goto yy838;
9103
211
    goto yy48;
9104
1.59k
yy796:
9105
1.59k
    YYDEBUG(796, *YYCURSOR);
9106
1.59k
    yyaccept = 77;
9107
1.59k
    yych = *(YYMARKER = ++YYCURSOR);
9108
1.59k
    if (yybm[256+yych] & 128) {
9109
441
      goto yy47;
9110
441
    }
9111
1.15k
    if (yych == '\\') goto yy164;
9112
1.14k
yy797:
9113
1.14k
    YYDEBUG(797, *YYCURSOR);
9114
1.14k
    yyleng = YYCURSOR - SCNG(yy_text);
9115
1.14k
#line 1746 "Zend/zend_language_scanner.l"
9116
1.14k
    {
9117
1.14k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9118
1.14k
}
9119
0
#line 9120 "Zend/zend_language_scanner.c"
9120
2.85k
yy798:
9121
2.85k
    YYDEBUG(798, *YYCURSOR);
9122
2.85k
    yyaccept = 78;
9123
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
9124
2.85k
    if (yybm[256+yych] & 128) {
9125
615
      goto yy47;
9126
615
    }
9127
2.23k
    if (yych == '\\') goto yy164;
9128
2.00k
yy799:
9129
2.00k
    YYDEBUG(799, *YYCURSOR);
9130
2.00k
    yyleng = YYCURSOR - SCNG(yy_text);
9131
2.00k
#line 1558 "Zend/zend_language_scanner.l"
9132
2.00k
    {
9133
2.00k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9134
2.00k
}
9135
0
#line 9136 "Zend/zend_language_scanner.c"
9136
9.14k
yy800:
9137
9.14k
    YYDEBUG(800, *YYCURSOR);
9138
9.14k
    yyaccept = 79;
9139
9.14k
    yych = *(YYMARKER = ++YYCURSOR);
9140
9.14k
    if (yybm[256+yych] & 128) {
9141
393
      goto yy47;
9142
393
    }
9143
8.75k
    if (yych == '\\') goto yy840;
9144
5.87k
yy801:
9145
5.87k
    YYDEBUG(801, *YYCURSOR);
9146
5.87k
    yyleng = YYCURSOR - SCNG(yy_text);
9147
5.87k
#line 1738 "Zend/zend_language_scanner.l"
9148
5.87k
    {
9149
5.87k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9150
5.87k
}
9151
0
#line 9152 "Zend/zend_language_scanner.c"
9152
1.70k
yy802:
9153
1.70k
    YYDEBUG(802, *YYCURSOR);
9154
1.70k
    yych = *++YYCURSOR;
9155
1.70k
    if (yych == 'E') goto yy841;
9156
1.49k
    if (yych == 'e') goto yy841;
9157
300
    goto yy86;
9158
3.63k
yy803:
9159
3.63k
    YYDEBUG(803, *YYCURSOR);
9160
3.63k
    yyaccept = 80;
9161
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
9162
3.63k
    if (yybm[256+yych] & 128) {
9163
270
      goto yy47;
9164
270
    }
9165
3.36k
    if (yych == '(') goto yy842;
9166
2.13k
    if (yych == '\\') goto yy164;
9167
2.90k
yy804:
9168
2.90k
    YYDEBUG(804, *YYCURSOR);
9169
2.90k
    yyleng = YYCURSOR - SCNG(yy_text);
9170
2.90k
#line 1782 "Zend/zend_language_scanner.l"
9171
2.90k
    {
9172
2.90k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9173
2.90k
}
9174
0
#line 9175 "Zend/zend_language_scanner.c"
9175
1.34k
yy805:
9176
1.34k
    YYDEBUG(805, *YYCURSOR);
9177
1.34k
    yych = *++YYCURSOR;
9178
1.34k
    if (yych == 'T') goto yy843;
9179
535
    if (yych == 't') goto yy843;
9180
205
    goto yy86;
9181
1.93k
yy806:
9182
1.93k
    YYDEBUG(806, *YYCURSOR);
9183
1.93k
    yyaccept = 4;
9184
1.93k
    yych = *(YYMARKER = ++YYCURSOR);
9185
1.93k
    if (yych == 'N') goto yy844;
9186
1.69k
    if (yych == 'n') goto yy844;
9187
301
    goto yy48;
9188
3.33k
yy807:
9189
3.33k
    YYDEBUG(807, *YYCURSOR);
9190
3.33k
    yych = *++YYCURSOR;
9191
3.33k
    if (yych == 'M') goto yy845;
9192
2.42k
    if (yych == 'm') goto yy845;
9193
294
    goto yy86;
9194
265k
yy808:
9195
265k
    YYDEBUG(808, *YYCURSOR);
9196
265k
    ++YYCURSOR;
9197
265k
    YYFILL(1);
9198
265k
    yych = *YYCURSOR;
9199
265k
    YYDEBUG(809, *YYCURSOR);
9200
265k
    if (yych <= '\f') {
9201
62.9k
      if (yych <= 0x00) goto yy86;
9202
59.5k
      if (yych == '\n') goto yy846;
9203
15.1k
      goto yy808;
9204
202k
    } else {
9205
202k
      if (yych <= '\r') goto yy846;
9206
190k
      if (yych == '*') goto yy848;
9207
181k
      goto yy808;
9208
190k
    }
9209
15.6k
yy810:
9210
15.6k
    YYDEBUG(810, *YYCURSOR);
9211
15.6k
    ++YYCURSOR;
9212
15.6k
    YYFILL(1);
9213
15.6k
    yych = *YYCURSOR;
9214
15.6k
    if (yych <= '\r') {
9215
2.39k
      if (yych <= '\t') {
9216
398
        if (yych <= 0x00) goto yy86;
9217
197
        goto yy692;
9218
1.99k
      } else {
9219
1.99k
        if (yych <= '\n') goto yy616;
9220
489
        if (yych <= '\f') goto yy692;
9221
203
        goto yy616;
9222
489
      }
9223
13.2k
    } else {
9224
13.2k
      if (yych <= 'O') {
9225
10.3k
        if (yych <= 'N') goto yy692;
9226
9.35k
        goto yy850;
9227
10.3k
      } else {
9228
2.93k
        if (yych == 'o') goto yy850;
9229
674
        goto yy692;
9230
2.93k
      }
9231
13.2k
    }
9232
2.31k
yy811:
9233
2.31k
    YYDEBUG(811, *YYCURSOR);
9234
2.31k
    yyaccept = 81;
9235
2.31k
    yych = *(YYMARKER = ++YYCURSOR);
9236
2.31k
    if (yybm[256+yych] & 128) {
9237
275
      goto yy47;
9238
275
    }
9239
2.03k
    if (yych == '\\') goto yy164;
9240
2.03k
yy812:
9241
2.03k
    YYDEBUG(812, *YYCURSOR);
9242
2.03k
    yyleng = YYCURSOR - SCNG(yy_text);
9243
2.03k
#line 2253 "Zend/zend_language_scanner.l"
9244
2.03k
    {
9245
2.03k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9246
2.03k
}
9247
0
#line 9248 "Zend/zend_language_scanner.c"
9248
2.77k
yy813:
9249
2.77k
    YYDEBUG(813, *YYCURSOR);
9250
2.77k
    yyaccept = 4;
9251
2.77k
    yych = *(YYMARKER = ++YYCURSOR);
9252
2.77k
    if (yych == 'N') goto yy851;
9253
1.85k
    if (yych == 'n') goto yy851;
9254
516
    goto yy48;
9255
2.95k
yy814:
9256
2.95k
    YYDEBUG(814, *YYCURSOR);
9257
2.95k
    yyaccept = 4;
9258
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
9259
2.95k
    if (yych == 'M') goto yy852;
9260
2.31k
    if (yych == 'm') goto yy852;
9261
300
    goto yy48;
9262
2.86k
yy815:
9263
2.86k
    YYDEBUG(815, *YYCURSOR);
9264
2.86k
    yyaccept = 4;
9265
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
9266
2.86k
    if (yych == '_') goto yy853;
9267
451
    goto yy48;
9268
2.86k
yy816:
9269
2.86k
    YYDEBUG(816, *YYCURSOR);
9270
2.86k
    yyaccept = 4;
9271
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
9272
2.86k
    if (yych == 'C') goto yy855;
9273
2.32k
    if (yych == 'c') goto yy855;
9274
282
    goto yy48;
9275
3.61k
yy817:
9276
3.61k
    YYDEBUG(817, *YYCURSOR);
9277
3.61k
    yyaccept = 4;
9278
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
9279
3.61k
    if (yych == 'Y') goto yy856;
9280
936
    if (yych == 'y') goto yy856;
9281
740
    goto yy48;
9282
2.28k
yy818:
9283
2.28k
    YYDEBUG(818, *YYCURSOR);
9284
2.28k
    yyaccept = 82;
9285
2.28k
    yych = *(YYMARKER = ++YYCURSOR);
9286
2.28k
    if (yybm[256+yych] & 128) {
9287
431
      goto yy47;
9288
431
    }
9289
1.85k
    if (yych == '\\') goto yy164;
9290
1.85k
yy819:
9291
1.85k
    YYDEBUG(819, *YYCURSOR);
9292
1.85k
    yyleng = YYCURSOR - SCNG(yy_text);
9293
1.85k
#line 2257 "Zend/zend_language_scanner.l"
9294
1.85k
    {
9295
1.85k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9296
1.85k
}
9297
0
#line 9298 "Zend/zend_language_scanner.c"
9298
2.21k
yy820:
9299
2.21k
    YYDEBUG(820, *YYCURSOR);
9300
2.21k
    ++YYCURSOR;
9301
2.21k
    YYFILL(1);
9302
2.21k
    yych = *YYCURSOR;
9303
2.21k
    if (yych <= '\r') {
9304
1.03k
      if (yych <= '\t') {
9305
399
        if (yych <= 0x00) goto yy86;
9306
195
        goto yy443;
9307
633
      } else {
9308
633
        if (yych <= '\n') goto yy545;
9309
429
        if (yych <= '\f') goto yy443;
9310
223
        goto yy545;
9311
429
      }
9312
1.18k
    } else {
9313
1.18k
      if (yych <= '*') {
9314
586
        if (yych <= ')') goto yy443;
9315
300
        goto yy547;
9316
594
      } else {
9317
594
        if (yych == '.') goto yy774;
9318
237
        goto yy443;
9319
594
      }
9320
1.18k
    }
9321
2.70k
yy821:
9322
2.70k
    YYDEBUG(821, *YYCURSOR);
9323
2.70k
    ++YYCURSOR;
9324
2.70k
    YYFILL(1);
9325
2.70k
    yych = *YYCURSOR;
9326
2.70k
    if (yych <= '\r') {
9327
1.52k
      if (yych <= '\t') {
9328
465
        if (yych <= 0x00) goto yy86;
9329
264
        goto yy443;
9330
1.05k
      } else {
9331
1.05k
        if (yych <= '\n') goto yy545;
9332
414
        if (yych <= '\f') goto yy443;
9333
195
        goto yy545;
9334
414
      }
9335
1.52k
    } else {
9336
1.18k
      if (yych <= '*') {
9337
607
        if (yych <= ')') goto yy443;
9338
220
        goto yy547;
9339
607
      } else {
9340
577
        if (yych == '/') goto yy709;
9341
279
        goto yy443;
9342
577
      }
9343
1.18k
    }
9344
1.25k
yy822:
9345
1.25k
    YYDEBUG(822, *YYCURSOR);
9346
1.25k
    yyaccept = 83;
9347
1.25k
    yych = *(YYMARKER = ++YYCURSOR);
9348
1.25k
    if (yybm[256+yych] & 128) {
9349
557
      goto yy47;
9350
557
    }
9351
699
    if (yych == '\\') goto yy164;
9352
699
yy823:
9353
699
    YYDEBUG(823, *YYCURSOR);
9354
699
    yyleng = YYCURSOR - SCNG(yy_text);
9355
699
#line 1502 "Zend/zend_language_scanner.l"
9356
699
    {
9357
699
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9358
699
}
9359
0
#line 9360 "Zend/zend_language_scanner.c"
9360
1.09k
yy824:
9361
1.09k
    YYDEBUG(824, *YYCURSOR);
9362
1.09k
    yyaccept = 84;
9363
1.09k
    yych = *(YYMARKER = ++YYCURSOR);
9364
1.09k
    if (yybm[256+yych] & 128) {
9365
248
      goto yy47;
9366
248
    }
9367
848
    if (yych == '\\') goto yy164;
9368
848
yy825:
9369
848
    YYDEBUG(825, *YYCURSOR);
9370
848
    yyleng = YYCURSOR - SCNG(yy_text);
9371
848
#line 1494 "Zend/zend_language_scanner.l"
9372
848
    {
9373
848
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9374
848
}
9375
0
#line 9376 "Zend/zend_language_scanner.c"
9376
1.14k
yy826:
9377
1.14k
    YYDEBUG(826, *YYCURSOR);
9378
1.14k
    yych = *++YYCURSOR;
9379
1.14k
    if (yych == 'D') goto yy857;
9380
945
    if (yych == 'd') goto yy857;
9381
430
    goto yy86;
9382
1.94k
yy827:
9383
1.94k
    YYDEBUG(827, *YYCURSOR);
9384
1.94k
    yych = *++YYCURSOR;
9385
1.94k
    if (yych == 'M') goto yy858;
9386
1.14k
    if (yych == 'm') goto yy858;
9387
381
    goto yy86;
9388
67.0k
yy828:
9389
67.0k
    YYDEBUG(828, *YYCURSOR);
9390
67.0k
    ++YYCURSOR;
9391
67.0k
    YYFILL(1);
9392
67.0k
    yych = *YYCURSOR;
9393
67.0k
    if (yych <= '\r') {
9394
56.7k
      if (yych <= '\t') {
9395
1.08k
        if (yych <= 0x00) goto yy86;
9396
745
        goto yy738;
9397
55.6k
      } else {
9398
55.6k
        if (yych <= '\n') goto yy859;
9399
29.6k
        if (yych <= '\f') goto yy738;
9400
29.3k
        goto yy859;
9401
29.6k
      }
9402
56.7k
    } else {
9403
10.3k
      if (yych <= '*') {
9404
3.55k
        if (yych <= ')') goto yy738;
9405
1.30k
        goto yy789;
9406
6.75k
      } else {
9407
6.75k
        if (yych == '[') goto yy590;
9408
6.55k
        goto yy738;
9409
6.75k
      }
9410
10.3k
    }
9411
3.35k
yy829:
9412
3.35k
    YYDEBUG(829, *YYCURSOR);
9413
3.35k
    ++YYCURSOR;
9414
3.35k
    YYFILL(1);
9415
3.35k
    yych = *YYCURSOR;
9416
3.35k
    if (yych <= '*') {
9417
2.77k
      if (yych <= 0x00) goto yy86;
9418
2.52k
      if (yych <= ')') goto yy590;
9419
2.15k
      goto yy861;
9420
2.52k
    } else {
9421
574
      if (yych == '/') goto yy738;
9422
339
      goto yy590;
9423
574
    }
9424
5.14k
yy830:
9425
5.14k
    YYDEBUG(830, *YYCURSOR);
9426
5.14k
    yyaccept = 53;
9427
5.14k
    YYMARKER = ++YYCURSOR;
9428
5.14k
    YYFILL(1);
9429
5.14k
    yych = *YYCURSOR;
9430
5.14k
    if (yych <= 0x00) goto yy583;
9431
4.20k
    if (yych == '*') goto yy668;
9432
3.94k
    goto yy590;
9433
7.40k
yy831:
9434
7.40k
    YYDEBUG(831, *YYCURSOR);
9435
7.40k
    yyaccept = 53;
9436
7.40k
    YYMARKER = ++YYCURSOR;
9437
7.40k
    YYFILL(1);
9438
7.40k
    yych = *YYCURSOR;
9439
7.40k
    if (yych <= 'W') {
9440
1.98k
      if (yych <= 0x00) goto yy583;
9441
1.62k
      if (yych == '*') goto yy668;
9442
1.37k
      goto yy590;
9443
5.41k
    } else {
9444
5.41k
      if (yych <= 'X') goto yy862;
9445
5.10k
      if (yych == 'x') goto yy862;
9446
455
      goto yy590;
9447
5.10k
    }
9448
8.38k
yy832:
9449
8.38k
    YYDEBUG(832, *YYCURSOR);
9450
8.38k
    yyaccept = 53;
9451
8.38k
    YYMARKER = ++YYCURSOR;
9452
8.38k
    YYFILL(1);
9453
8.38k
    yych = *YYCURSOR;
9454
8.38k
    if (yych <= 'L') {
9455
653
      if (yych <= 0x00) goto yy583;
9456
443
      if (yych == '*') goto yy668;
9457
245
      goto yy590;
9458
7.72k
    } else {
9459
7.72k
      if (yych <= 'M') goto yy863;
9460
3.39k
      if (yych == 'm') goto yy863;
9461
251
      goto yy590;
9462
3.39k
    }
9463
7.61k
yy833:
9464
7.61k
    YYDEBUG(833, *YYCURSOR);
9465
7.61k
    ++YYCURSOR;
9466
7.61k
    YYFILL(1);
9467
7.61k
    yych = *YYCURSOR;
9468
7.61k
    if (yych <= '\r') {
9469
1.12k
      if (yych <= '\t') {
9470
469
        if (yych <= 0x00) goto yy86;
9471
262
        goto yy586;
9472
653
      } else {
9473
653
        if (yych <= '\n') goto yy495;
9474
442
        if (yych <= '\f') goto yy586;
9475
240
        goto yy495;
9476
442
      }
9477
6.49k
    } else {
9478
6.49k
      if (yych <= 'N') {
9479
3.03k
        if (yych <= 'M') goto yy586;
9480
1.72k
        goto yy864;
9481
3.45k
      } else {
9482
3.45k
        if (yych == 'n') goto yy864;
9483
665
        goto yy586;
9484
3.45k
      }
9485
6.49k
    }
9486
9.75k
yy834:
9487
9.75k
    YYDEBUG(834, *YYCURSOR);
9488
9.75k
    ++YYCURSOR;
9489
9.75k
    YYFILL(1);
9490
9.75k
    yych = *YYCURSOR;
9491
9.75k
    if (yych <= '\r') {
9492
1.15k
      if (yych <= '\t') {
9493
543
        if (yych <= 0x00) goto yy86;
9494
298
        goto yy586;
9495
607
      } else {
9496
607
        if (yych <= '\n') goto yy495;
9497
408
        if (yych <= '\f') goto yy586;
9498
205
        goto yy495;
9499
408
      }
9500
8.60k
    } else {
9501
8.60k
      if (yych <= 'E') {
9502
3.40k
        if (yych <= 'D') goto yy586;
9503
2.98k
        goto yy865;
9504
5.19k
      } else {
9505
5.19k
        if (yych == 'e') goto yy865;
9506
214
        goto yy586;
9507
5.19k
      }
9508
8.60k
    }
9509
2.11k
yy835:
9510
2.11k
    YYDEBUG(835, *YYCURSOR);
9511
2.11k
    yyaccept = 85;
9512
2.11k
    yych = *(YYMARKER = ++YYCURSOR);
9513
2.11k
    if (yybm[256+yych] & 128) {
9514
365
      goto yy47;
9515
365
    }
9516
1.75k
    if (yych == '\\') goto yy164;
9517
1.75k
yy836:
9518
1.75k
    YYDEBUG(836, *YYCURSOR);
9519
1.75k
    yyleng = YYCURSOR - SCNG(yy_text);
9520
1.75k
#line 1583 "Zend/zend_language_scanner.l"
9521
1.75k
    {
9522
1.75k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9523
1.75k
}
9524
0
#line 9525 "Zend/zend_language_scanner.c"
9525
2.47k
yy837:
9526
2.47k
    YYDEBUG(837, *YYCURSOR);
9527
2.47k
    yyaccept = 4;
9528
2.47k
    yych = *(YYMARKER = ++YYCURSOR);
9529
2.47k
    if (yych == 'C') goto yy866;
9530
2.09k
    if (yych == 'c') goto yy866;
9531
654
    goto yy48;
9532
1.87k
yy838:
9533
1.87k
    YYDEBUG(838, *YYCURSOR);
9534
1.87k
    yyaccept = 86;
9535
1.87k
    yych = *(YYMARKER = ++YYCURSOR);
9536
1.87k
    if (yybm[256+yych] & 128) {
9537
245
      goto yy47;
9538
245
    }
9539
1.63k
    if (yych == '\\') goto yy164;
9540
1.51k
yy839:
9541
1.51k
    YYDEBUG(839, *YYCURSOR);
9542
1.51k
    yyleng = YYCURSOR - SCNG(yy_text);
9543
1.51k
#line 1506 "Zend/zend_language_scanner.l"
9544
1.51k
    {
9545
1.51k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9546
1.51k
}
9547
0
#line 9548 "Zend/zend_language_scanner.c"
9548
5.46k
yy840:
9549
5.46k
    YYDEBUG(840, *YYCURSOR);
9550
5.46k
    ++YYCURSOR;
9551
5.46k
    YYFILL(1);
9552
5.46k
    yych = *YYCURSOR;
9553
5.46k
    if (yych <= '_') {
9554
1.95k
      if (yych <= '@') goto yy86;
9555
1.58k
      if (yych <= 'Z') goto yy867;
9556
1.02k
      if (yych <= '^') goto yy86;
9557
591
      goto yy867;
9558
3.50k
    } else {
9559
3.50k
      if (yych <= '`') goto yy86;
9560
3.30k
      if (yych <= 'z') goto yy867;
9561
1.28k
      if (yych <= 0x7F) goto yy86;
9562
1.00k
      goto yy867;
9563
1.28k
    }
9564
1.40k
yy841:
9565
1.40k
    YYDEBUG(841, *YYCURSOR);
9566
1.40k
    yych = *++YYCURSOR;
9567
1.40k
    if (yych == 'T') goto yy870;
9568
1.20k
    if (yych == 't') goto yy870;
9569
385
    goto yy86;
9570
1.22k
yy842:
9571
1.22k
    YYDEBUG(842, *YYCURSOR);
9572
1.22k
    yych = *++YYCURSOR;
9573
1.22k
    if (yych == 'S') goto yy871;
9574
984
    if (yych == 's') goto yy871;
9575
262
    goto yy86;
9576
1.14k
yy843:
9577
1.14k
    YYDEBUG(843, *YYCURSOR);
9578
1.14k
    yych = *++YYCURSOR;
9579
1.14k
    if (yych == ')') goto yy872;
9580
201
    goto yy86;
9581
1.63k
yy844:
9582
1.63k
    YYDEBUG(844, *YYCURSOR);
9583
1.63k
    yyaccept = 4;
9584
1.63k
    yych = *(YYMARKER = ++YYCURSOR);
9585
1.63k
    if (yych == 'C') goto yy874;
9586
1.38k
    if (yych == 'c') goto yy874;
9587
372
    goto yy48;
9588
3.04k
yy845:
9589
3.04k
    YYDEBUG(845, *YYCURSOR);
9590
3.04k
    yych = *++YYCURSOR;
9591
3.04k
    if (yych <= '^') {
9592
1.76k
      if (yych <= '9') {
9593
867
        if (yych <= '/') goto yy875;
9594
252
        goto yy86;
9595
893
      } else {
9596
893
        if (yych <= '@') goto yy875;
9597
490
        if (yych <= 'Z') goto yy86;
9598
208
        goto yy875;
9599
490
      }
9600
1.76k
    } else {
9601
1.28k
      if (yych <= '`') {
9602
552
        if (yych <= '_') goto yy86;
9603
200
        goto yy875;
9604
729
      } else {
9605
729
        if (yych <= 'z') goto yy86;
9606
468
        if (yych <= 0x7F) goto yy875;
9607
248
        goto yy86;
9608
468
      }
9609
1.28k
    }
9610
92.1k
yy846:
9611
92.1k
    YYDEBUG(846, *YYCURSOR);
9612
92.1k
    ++YYCURSOR;
9613
92.1k
    YYFILL(1);
9614
92.1k
    yych = *YYCURSOR;
9615
92.1k
    YYDEBUG(847, *YYCURSOR);
9616
92.1k
    if (yych <= '#') {
9617
72.8k
      if (yych <= '\f') {
9618
9.74k
        if (yych <= 0x00) goto yy86;
9619
9.06k
        if (yych <= 0x08) goto yy696;
9620
8.71k
        if (yych <= '\n') goto yy846;
9621
365
        goto yy696;
9622
63.1k
      } else {
9623
63.1k
        if (yych <= 0x1F) {
9624
9.00k
          if (yych <= '\r') goto yy846;
9625
388
          goto yy696;
9626
54.1k
        } else {
9627
54.1k
          if (yych <= ' ') goto yy846;
9628
50.5k
          if (yych <= '"') goto yy696;
9629
50.2k
          goto yy877;
9630
50.5k
        }
9631
63.1k
      }
9632
72.8k
    } else {
9633
19.3k
      if (yych <= '/') {
9634
8.53k
        if (yych == '*') goto yy760;
9635
7.96k
        if (yych <= '.') goto yy696;
9636
5.42k
        goto yy878;
9637
10.7k
      } else {
9638
10.7k
        if (yych <= 'F') {
9639
8.21k
          if (yych <= 'E') goto yy696;
9640
7.56k
          goto yy879;
9641
8.21k
        } else {
9642
2.57k
          if (yych == 'f') goto yy879;
9643
2.03k
          goto yy696;
9644
2.57k
        }
9645
10.7k
      }
9646
19.3k
    }
9647
14.3k
yy848:
9648
14.3k
    YYDEBUG(848, *YYCURSOR);
9649
14.3k
    ++YYCURSOR;
9650
14.3k
    YYFILL(1);
9651
14.3k
    yych = *YYCURSOR;
9652
14.3k
    YYDEBUG(849, *YYCURSOR);
9653
14.3k
    if (yych <= '\r') {
9654
7.19k
      if (yych <= '\t') {
9655
2.70k
        if (yych <= 0x00) goto yy86;
9656
2.29k
        goto yy808;
9657
4.48k
      } else {
9658
4.48k
        if (yych <= '\n') goto yy846;
9659
2.07k
        if (yych <= '\f') goto yy808;
9660
1.68k
        goto yy846;
9661
2.07k
      }
9662
7.19k
    } else {
9663
7.11k
      if (yych <= '*') {
9664
2.46k
        if (yych <= ')') goto yy808;
9665
1.69k
        goto yy848;
9666
4.65k
      } else {
9667
4.65k
        if (yych == '/') goto yy694;
9668
3.17k
        goto yy808;
9669
4.65k
      }
9670
7.11k
    }
9671
11.6k
yy850:
9672
11.6k
    YYDEBUG(850, *YYCURSOR);
9673
11.6k
    ++YYCURSOR;
9674
11.6k
    YYFILL(1);
9675
11.6k
    yych = *YYCURSOR;
9676
11.6k
    if (yych <= '\r') {
9677
2.46k
      if (yych <= '\t') {
9678
409
        if (yych <= 0x00) goto yy86;
9679
199
        goto yy692;
9680
2.05k
      } else {
9681
2.05k
        if (yych <= '\n') goto yy616;
9682
445
        if (yych <= '\f') goto yy692;
9683
203
        goto yy616;
9684
445
      }
9685
9.14k
    } else {
9686
9.14k
      if (yych <= 'M') {
9687
6.32k
        if (yych <= 'L') goto yy692;
9688
5.16k
        goto yy880;
9689
6.32k
      } else {
9690
2.82k
        if (yych == 'm') goto yy880;
9691
295
        goto yy692;
9692
2.82k
      }
9693
9.14k
    }
9694
2.25k
yy851:
9695
2.25k
    YYDEBUG(851, *YYCURSOR);
9696
2.25k
    yyaccept = 4;
9697
2.25k
    yych = *(YYMARKER = ++YYCURSOR);
9698
2.25k
    if (yych == '_') goto yy881;
9699
230
    goto yy48;
9700
2.65k
yy852:
9701
2.65k
    YYDEBUG(852, *YYCURSOR);
9702
2.65k
    yyaccept = 4;
9703
2.65k
    yych = *(YYMARKER = ++YYCURSOR);
9704
2.65k
    if (yych == 'P') goto yy882;
9705
1.92k
    if (yych == 'p') goto yy882;
9706
216
    goto yy48;
9707
2.41k
yy853:
9708
2.41k
    YYDEBUG(853, *YYCURSOR);
9709
2.41k
    yyaccept = 87;
9710
2.41k
    yych = *(YYMARKER = ++YYCURSOR);
9711
2.41k
    if (yybm[256+yych] & 128) {
9712
296
      goto yy47;
9713
296
    }
9714
2.12k
    if (yych == '\\') goto yy164;
9715
2.11k
yy854:
9716
2.11k
    YYDEBUG(854, *YYCURSOR);
9717
2.11k
    yyleng = YYCURSOR - SCNG(yy_text);
9718
2.11k
#line 2269 "Zend/zend_language_scanner.l"
9719
2.11k
    {
9720
2.11k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9721
2.11k
}
9722
0
#line 9723 "Zend/zend_language_scanner.c"
9723
2.57k
yy855:
9724
2.57k
    YYDEBUG(855, *YYCURSOR);
9725
2.57k
    yyaccept = 4;
9726
2.57k
    yych = *(YYMARKER = ++YYCURSOR);
9727
2.57k
    if (yych == 'E') goto yy883;
9728
2.28k
    if (yych == 'e') goto yy883;
9729
355
    goto yy48;
9730
2.87k
yy856:
9731
2.87k
    YYDEBUG(856, *YYCURSOR);
9732
2.87k
    yyaccept = 4;
9733
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
9734
2.87k
    if (yych == '_') goto yy884;
9735
729
    goto yy48;
9736
1.17k
yy857:
9737
1.17k
    YYDEBUG(857, *YYCURSOR);
9738
1.17k
    yych = *++YYCURSOR;
9739
1.17k
    if (yych == 'S') goto yy885;
9740
974
    if (yych == 's') goto yy885;
9741
458
    goto yy86;
9742
1.56k
yy858:
9743
1.56k
    YYDEBUG(858, *YYCURSOR);
9744
1.56k
    yych = *++YYCURSOR;
9745
1.56k
    if (yych == 'E') goto yy887;
9746
1.12k
    if (yych == 'e') goto yy887;
9747
520
    goto yy86;
9748
69.8k
yy859:
9749
69.8k
    YYDEBUG(859, *YYCURSOR);
9750
69.8k
    ++YYCURSOR;
9751
69.8k
    YYFILL(1);
9752
69.8k
    yych = *YYCURSOR;
9753
69.8k
    YYDEBUG(860, *YYCURSOR);
9754
69.8k
    if (yych <= '@') {
9755
27.4k
      if (yych <= 0x1F) {
9756
5.57k
        if (yych <= '\t') {
9757
1.19k
          if (yych <= 0x00) goto yy86;
9758
825
          if (yych <= 0x08) goto yy738;
9759
484
          goto yy859;
9760
4.38k
        } else {
9761
4.38k
          if (yych <= '\n') goto yy787;
9762
2.24k
          if (yych == '\r') goto yy787;
9763
659
          goto yy738;
9764
2.24k
        }
9765
21.8k
      } else {
9766
21.8k
        if (yych <= ')') {
9767
14.4k
          if (yych <= ' ') goto yy859;
9768
5.94k
          if (yych == '#') goto yy888;
9769
812
          goto yy738;
9770
7.39k
        } else {
9771
7.39k
          if (yych <= '*') goto yy789;
9772
7.09k
          if (yych == '/') goto yy889;
9773
504
          goto yy738;
9774
7.09k
        }
9775
21.8k
      }
9776
42.3k
    } else {
9777
42.3k
      if (yych <= '_') {
9778
11.5k
        if (yych <= 'H') {
9779
497
          if (yych == 'E') goto yy891;
9780
225
          goto yy890;
9781
11.0k
        } else {
9782
11.0k
          if (yych <= 'I') goto yy892;
9783
1.39k
          if (yych <= 'Z') goto yy890;
9784
569
          if (yych <= '^') goto yy738;
9785
243
          goto yy890;
9786
569
        }
9787
30.7k
      } else {
9788
30.7k
        if (yych <= 'h') {
9789
19.2k
          if (yych <= '`') goto yy738;
9790
18.6k
          if (yych == 'e') goto yy891;
9791
210
          goto yy890;
9792
18.6k
        } else {
9793
11.5k
          if (yych <= 'i') goto yy892;
9794
3.07k
          if (yych <= 'z') goto yy890;
9795
2.22k
          if (yych <= 0x7F) goto yy738;
9796
1.30k
          goto yy890;
9797
2.22k
        }
9798
30.7k
      }
9799
42.3k
    }
9800
2.15k
yy861:
9801
2.15k
    YYDEBUG(861, *YYCURSOR);
9802
2.15k
    ++YYCURSOR;
9803
2.15k
    YYFILL(1);
9804
2.15k
    yych = *YYCURSOR;
9805
2.15k
    if (yych <= '*') {
9806
617
      if (yych <= 0x00) goto yy86;
9807
420
      if (yych <= ')') goto yy590;
9808
211
      goto yy668;
9809
1.53k
    } else {
9810
1.53k
      if (yych == '/') goto yy787;
9811
202
      goto yy590;
9812
1.53k
    }
9813
4.96k
yy862:
9814
4.96k
    YYDEBUG(862, *YYCURSOR);
9815
4.96k
    ++YYCURSOR;
9816
4.96k
    YYFILL(1);
9817
4.96k
    yych = *YYCURSOR;
9818
4.96k
    if (yych <= 'S') {
9819
616
      if (yych <= 0x00) goto yy86;
9820
409
      if (yych == '*') goto yy668;
9821
213
      goto yy590;
9822
4.34k
    } else {
9823
4.34k
      if (yych <= 'T') goto yy893;
9824
3.93k
      if (yych == 't') goto yy893;
9825
233
      goto yy590;
9826
3.93k
    }
9827
7.47k
yy863:
9828
7.47k
    YYDEBUG(863, *YYCURSOR);
9829
7.47k
    ++YYCURSOR;
9830
7.47k
    YYFILL(1);
9831
7.47k
    yych = *YYCURSOR;
9832
7.47k
    if (yych <= 'O') {
9833
1.21k
      if (yych <= 0x00) goto yy86;
9834
554
      if (yych == '*') goto yy668;
9835
349
      goto yy590;
9836
6.26k
    } else {
9837
6.26k
      if (yych <= 'P') goto yy894;
9838
3.34k
      if (yych == 'p') goto yy894;
9839
345
      goto yy590;
9840
3.34k
    }
9841
4.52k
yy864:
9842
4.52k
    YYDEBUG(864, *YYCURSOR);
9843
4.52k
    ++YYCURSOR;
9844
4.52k
    YYFILL(1);
9845
4.52k
    yych = *YYCURSOR;
9846
4.52k
    if (yych <= '\r') {
9847
1.11k
      if (yych <= '\t') {
9848
481
        if (yych <= 0x00) goto yy86;
9849
207
        goto yy586;
9850
633
      } else {
9851
633
        if (yych <= '\n') goto yy495;
9852
414
        if (yych <= '\f') goto yy586;
9853
218
        goto yy495;
9854
414
      }
9855
3.40k
    } else {
9856
3.40k
      if (yych <= 'D') {
9857
890
        if (yych <= 'C') goto yy586;
9858
378
        goto yy895;
9859
2.51k
      } else {
9860
2.51k
        if (yych == 'd') goto yy895;
9861
716
        goto yy586;
9862
2.51k
      }
9863
3.40k
    }
9864
7.97k
yy865:
9865
7.97k
    YYDEBUG(865, *YYCURSOR);
9866
7.97k
    ++YYCURSOR;
9867
7.97k
    YYFILL(1);
9868
7.97k
    yych = *YYCURSOR;
9869
7.97k
    if (yych <= '\r') {
9870
1.13k
      if (yych <= '\t') {
9871
429
        if (yych <= 0x00) goto yy86;
9872
204
        goto yy586;
9873
705
      } else {
9874
705
        if (yych <= '\n') goto yy495;
9875
502
        if (yych <= '\f') goto yy586;
9876
300
        goto yy495;
9877
502
      }
9878
6.83k
    } else {
9879
6.83k
      if (yych <= 'M') {
9880
3.28k
        if (yych <= 'L') goto yy586;
9881
3.04k
        goto yy896;
9882
3.55k
      } else {
9883
3.55k
        if (yych == 'm') goto yy896;
9884
333
        goto yy586;
9885
3.55k
      }
9886
6.83k
    }
9887
1.82k
yy866:
9888
1.82k
    YYDEBUG(866, *YYCURSOR);
9889
1.82k
    yyaccept = 4;
9890
1.82k
    yych = *(YYMARKER = ++YYCURSOR);
9891
1.82k
    if (yych == 'E') goto yy897;
9892
1.41k
    if (yych == 'e') goto yy897;
9893
221
    goto yy48;
9894
18.6k
yy867:
9895
18.6k
    YYDEBUG(867, *YYCURSOR);
9896
18.6k
    yyaccept = 88;
9897
18.6k
    YYMARKER = ++YYCURSOR;
9898
18.6k
    YYFILL(1);
9899
18.6k
    yych = *YYCURSOR;
9900
18.6k
    YYDEBUG(868, *YYCURSOR);
9901
18.6k
    if (yych <= '\\') {
9902
7.28k
      if (yych <= '@') {
9903
3.59k
        if (yych <= '/') goto yy869;
9904
2.31k
        if (yych <= '9') goto yy867;
9905
3.68k
      } else {
9906
3.68k
        if (yych <= 'Z') goto yy867;
9907
2.08k
        if (yych >= '\\') goto yy840;
9908
2.08k
      }
9909
11.3k
    } else {
9910
11.3k
      if (yych <= '`') {
9911
1.14k
        if (yych == '_') goto yy867;
9912
10.2k
      } else {
9913
10.2k
        if (yych <= 'z') goto yy867;
9914
2.44k
        if (yych >= 0x80) goto yy867;
9915
2.44k
      }
9916
11.3k
    }
9917
2.87k
yy869:
9918
2.87k
    YYDEBUG(869, *YYCURSOR);
9919
2.87k
    yyleng = YYCURSOR - SCNG(yy_text);
9920
2.87k
#line 2439 "Zend/zend_language_scanner.l"
9921
2.87k
    {
9922
2.87k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9923
2.87k
}
9924
0
#line 9925 "Zend/zend_language_scanner.c"
9925
1.01k
yy870:
9926
1.01k
    YYDEBUG(870, *YYCURSOR);
9927
1.01k
    yych = *++YYCURSOR;
9928
1.01k
    if (yych == ')') goto yy899;
9929
207
    goto yy86;
9930
966
yy871:
9931
966
    YYDEBUG(871, *YYCURSOR);
9932
966
    yych = *++YYCURSOR;
9933
966
    if (yych == 'E') goto yy901;
9934
613
    if (yych == 'e') goto yy901;
9935
229
    goto yy86;
9936
939
yy872:
9937
939
    YYDEBUG(872, *YYCURSOR);
9938
939
    ++YYCURSOR;
9939
939
    YYDEBUG(873, *YYCURSOR);
9940
939
    yyleng = YYCURSOR - SCNG(yy_text);
9941
939
#line 1786 "Zend/zend_language_scanner.l"
9942
939
    {
9943
939
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9944
939
}
9945
0
#line 9946 "Zend/zend_language_scanner.c"
9946
1.25k
yy874:
9947
1.25k
    YYDEBUG(874, *YYCURSOR);
9948
1.25k
    yyaccept = 4;
9949
1.25k
    yych = *(YYMARKER = ++YYCURSOR);
9950
1.25k
    if (yych == 'E') goto yy902;
9951
1.04k
    if (yych == 'e') goto yy902;
9952
276
    goto yy48;
9953
2.28k
yy875:
9954
2.28k
    YYDEBUG(875, *YYCURSOR);
9955
2.28k
    ++YYCURSOR;
9956
17.8k
yy876:
9957
17.8k
    YYDEBUG(876, *YYCURSOR);
9958
17.8k
    yyleng = YYCURSOR - SCNG(yy_text);
9959
17.8k
#line 1428 "Zend/zend_language_scanner.l"
9960
17.8k
    {
9961
17.8k
  yyless(yyleng - 1);
9962
17.8k
  HANDLE_NEWLINES(yytext, yyleng);
9963
17.8k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9964
17.8k
}
9965
0
#line 9966 "Zend/zend_language_scanner.c"
9966
50.7k
yy877:
9967
50.7k
    YYDEBUG(877, *YYCURSOR);
9968
50.7k
    ++YYCURSOR;
9969
50.7k
    YYFILL(1);
9970
50.7k
    yych = *YYCURSOR;
9971
50.7k
    if (yych <= '\r') {
9972
42.8k
      if (yych <= '\t') {
9973
660
        if (yych <= 0x00) goto yy86;
9974
385
        goto yy808;
9975
42.1k
      } else {
9976
42.1k
        if (yych <= '\n') goto yy904;
9977
30.8k
        if (yych <= '\f') goto yy808;
9978
30.5k
        goto yy904;
9979
30.8k
      }
9980
42.8k
    } else {
9981
7.92k
      if (yych <= '*') {
9982
3.73k
        if (yych <= ')') goto yy808;
9983
294
        goto yy848;
9984
4.18k
      } else {
9985
4.18k
        if (yych == '[') goto yy696;
9986
3.95k
        goto yy808;
9987
4.18k
      }
9988
7.92k
    }
9989
5.67k
yy878:
9990
5.67k
    YYDEBUG(878, *YYCURSOR);
9991
5.67k
    ++YYCURSOR;
9992
5.67k
    YYFILL(1);
9993
5.67k
    yych = *YYCURSOR;
9994
5.67k
    if (yych <= '*') {
9995
4.87k
      if (yych <= 0x00) goto yy86;
9996
4.63k
      if (yych <= ')') goto yy696;
9997
4.20k
      goto yy906;
9998
4.63k
    } else {
9999
800
      if (yych == '/') goto yy808;
10000
270
      goto yy696;
10001
800
    }
10002
9.14k
yy879:
10003
9.14k
    YYDEBUG(879, *YYCURSOR);
10004
9.14k
    ++YYCURSOR;
10005
9.14k
    YYFILL(1);
10006
9.14k
    yych = *YYCURSOR;
10007
9.14k
    if (yych <= 'Q') {
10008
1.30k
      if (yych <= 0x00) goto yy86;
10009
1.07k
      if (yych == '*') goto yy760;
10010
856
      goto yy696;
10011
7.84k
    } else {
10012
7.84k
      if (yych <= 'R') goto yy907;
10013
1.18k
      if (yych == 'r') goto yy907;
10014
710
      goto yy696;
10015
1.18k
    }
10016
7.69k
yy880:
10017
7.69k
    YYDEBUG(880, *YYCURSOR);
10018
7.69k
    ++YYCURSOR;
10019
7.69k
    YYFILL(1);
10020
7.69k
    yych = *YYCURSOR;
10021
7.69k
    if (yych <= '9') {
10022
4.32k
      if (yych <= '\n') {
10023
2.11k
        if (yych <= 0x00) goto yy875;
10024
1.89k
        if (yych <= '\t') goto yy908;
10025
1.67k
        goto yy909;
10026
2.21k
      } else {
10027
2.21k
        if (yych == '\r') goto yy909;
10028
1.01k
        if (yych <= '/') goto yy908;
10029
195
        goto yy692;
10030
1.01k
      }
10031
4.32k
    } else {
10032
3.36k
      if (yych <= '_') {
10033
1.61k
        if (yych <= '@') goto yy908;
10034
1.18k
        if (yych <= 'Z') goto yy692;
10035
964
        if (yych <= '^') goto yy908;
10036
346
        goto yy692;
10037
1.75k
      } else {
10038
1.75k
        if (yych <= '`') goto yy908;
10039
1.55k
        if (yych <= 'z') goto yy692;
10040
1.14k
        if (yych <= 0x7F) goto yy908;
10041
479
        goto yy692;
10042
1.14k
      }
10043
3.36k
    }
10044
2.02k
yy881:
10045
2.02k
    YYDEBUG(881, *YYCURSOR);
10046
2.02k
    yyaccept = 4;
10047
2.02k
    yych = *(YYMARKER = ++YYCURSOR);
10048
2.02k
    if (yych == '_') goto yy910;
10049
334
    goto yy48;
10050
2.44k
yy882:
10051
2.44k
    YYDEBUG(882, *YYCURSOR);
10052
2.44k
    yyaccept = 4;
10053
2.44k
    yych = *(YYMARKER = ++YYCURSOR);
10054
2.44k
    if (yych == 'I') goto yy912;
10055
2.12k
    if (yych == 'i') goto yy912;
10056
372
    goto yy48;
10057
2.22k
yy883:
10058
2.22k
    YYDEBUG(883, *YYCURSOR);
10059
2.22k
    yyaccept = 4;
10060
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
10061
2.22k
    if (yych == '_') goto yy913;
10062
458
    goto yy48;
10063
2.14k
yy884:
10064
2.14k
    YYDEBUG(884, *YYCURSOR);
10065
2.14k
    yyaccept = 4;
10066
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
10067
2.14k
    if (yych == '_') goto yy914;
10068
383
    goto yy48;
10069
715
yy885:
10070
715
    YYDEBUG(885, *YYCURSOR);
10071
715
    ++YYCURSOR;
10072
3.05k
yy886:
10073
3.05k
    YYDEBUG(886, *YYCURSOR);
10074
3.05k
    yyleng = YYCURSOR - SCNG(yy_text);
10075
3.05k
#line 1570 "Zend/zend_language_scanner.l"
10076
3.05k
    {
10077
3.05k
  yyless(4);
10078
3.05k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10079
3.05k
}
10080
0
#line 10081 "Zend/zend_language_scanner.c"
10081
1.04k
yy887:
10082
1.04k
    YYDEBUG(887, *YYCURSOR);
10083
1.04k
    yych = *++YYCURSOR;
10084
1.04k
    if (yych == 'N') goto yy916;
10085
798
    if (yych == 'n') goto yy916;
10086
243
    goto yy86;
10087
5.13k
yy888:
10088
5.13k
    YYDEBUG(888, *YYCURSOR);
10089
5.13k
    ++YYCURSOR;
10090
5.13k
    YYFILL(1);
10091
5.13k
    yych = *YYCURSOR;
10092
5.13k
    if (yych <= '\f') {
10093
1.40k
      if (yych <= 0x00) goto yy86;
10094
1.19k
      if (yych == '\n') goto yy859;
10095
391
      goto yy738;
10096
3.73k
    } else {
10097
3.73k
      if (yych <= '\r') goto yy859;
10098
687
      if (yych == '*') goto yy789;
10099
475
      goto yy738;
10100
687
    }
10101
6.58k
yy889:
10102
6.58k
    YYDEBUG(889, *YYCURSOR);
10103
6.58k
    ++YYCURSOR;
10104
6.58k
    YYFILL(1);
10105
6.58k
    yych = *YYCURSOR;
10106
6.58k
    if (yych <= '\f') {
10107
938
      if (yych <= 0x00) goto yy86;
10108
560
      if (yych == '\n') goto yy787;
10109
196
      goto yy738;
10110
5.64k
    } else {
10111
5.64k
      if (yych <= '\r') goto yy787;
10112
5.31k
      if (yych == '*') goto yy917;
10113
331
      goto yy738;
10114
5.31k
    }
10115
3.66k
yy890:
10116
3.66k
    YYDEBUG(890, *YYCURSOR);
10117
3.66k
    yyaccept = 53;
10118
3.66k
    YYMARKER = ++YYCURSOR;
10119
3.66k
    YYFILL(1);
10120
3.66k
    yych = *YYCURSOR;
10121
3.66k
    if (yych <= '\f') {
10122
778
      if (yych <= 0x00) goto yy583;
10123
464
      if (yych == '\n') goto yy787;
10124
230
      goto yy738;
10125
2.88k
    } else {
10126
2.88k
      if (yych <= '\r') goto yy787;
10127
2.57k
      if (yych == '*') goto yy789;
10128
2.33k
      goto yy738;
10129
2.57k
    }
10130
18.7k
yy891:
10131
18.7k
    YYDEBUG(891, *YYCURSOR);
10132
18.7k
    yyaccept = 53;
10133
18.7k
    YYMARKER = ++YYCURSOR;
10134
18.7k
    YYFILL(1);
10135
18.7k
    yych = *YYCURSOR;
10136
18.7k
    if (yych <= ')') {
10137
1.60k
      if (yych <= '\n') {
10138
775
        if (yych <= 0x00) goto yy583;
10139
502
        if (yych <= '\t') goto yy738;
10140
225
        goto yy787;
10141
829
      } else {
10142
829
        if (yych == '\r') goto yy787;
10143
279
        goto yy738;
10144
829
      }
10145
17.1k
    } else {
10146
17.1k
      if (yych <= 'X') {
10147
5.79k
        if (yych <= '*') goto yy789;
10148
5.58k
        if (yych <= 'W') goto yy738;
10149
1.70k
        goto yy918;
10150
11.3k
      } else {
10151
11.3k
        if (yych == 'x') goto yy918;
10152
966
        goto yy738;
10153
11.3k
      }
10154
17.1k
    }
10155
18.1k
yy892:
10156
18.1k
    YYDEBUG(892, *YYCURSOR);
10157
18.1k
    yyaccept = 53;
10158
18.1k
    YYMARKER = ++YYCURSOR;
10159
18.1k
    YYFILL(1);
10160
18.1k
    yych = *YYCURSOR;
10161
18.1k
    if (yych <= ')') {
10162
2.04k
      if (yych <= '\n') {
10163
655
        if (yych <= 0x00) goto yy583;
10164
445
        if (yych <= '\t') goto yy738;
10165
198
        goto yy787;
10166
1.39k
      } else {
10167
1.39k
        if (yych == '\r') goto yy787;
10168
644
        goto yy738;
10169
1.39k
      }
10170
16.1k
    } else {
10171
16.1k
      if (yych <= 'M') {
10172
7.88k
        if (yych <= '*') goto yy789;
10173
7.68k
        if (yych <= 'L') goto yy738;
10174
7.44k
        goto yy919;
10175
8.22k
      } else {
10176
8.22k
        if (yych == 'm') goto yy919;
10177
766
        goto yy738;
10178
8.22k
      }
10179
16.1k
    }
10180
4.11k
yy893:
10181
4.11k
    YYDEBUG(893, *YYCURSOR);
10182
4.11k
    ++YYCURSOR;
10183
4.11k
    YYFILL(1);
10184
4.11k
    yych = *YYCURSOR;
10185
4.11k
    if (yych <= 'D') {
10186
676
      if (yych <= 0x00) goto yy86;
10187
476
      if (yych == '*') goto yy668;
10188
277
      goto yy590;
10189
3.43k
    } else {
10190
3.43k
      if (yych <= 'E') goto yy920;
10191
3.16k
      if (yych == 'e') goto yy920;
10192
283
      goto yy590;
10193
3.16k
    }
10194
5.91k
yy894:
10195
5.91k
    YYDEBUG(894, *YYCURSOR);
10196
5.91k
    ++YYCURSOR;
10197
5.91k
    YYFILL(1);
10198
5.91k
    yych = *YYCURSOR;
10199
5.91k
    if (yych <= 'K') {
10200
627
      if (yych <= 0x00) goto yy86;
10201
430
      if (yych == '*') goto yy668;
10202
230
      goto yy590;
10203
5.28k
    } else {
10204
5.28k
      if (yych <= 'L') goto yy921;
10205
2.84k
      if (yych == 'l') goto yy921;
10206
320
      goto yy590;
10207
2.84k
    }
10208
3.30k
yy895:
10209
3.30k
    YYDEBUG(895, *YYCURSOR);
10210
3.30k
    ++YYCURSOR;
10211
3.30k
    YYFILL(1);
10212
3.30k
    yych = *YYCURSOR;
10213
3.30k
    if (yych <= '\r') {
10214
1.38k
      if (yych <= '\t') {
10215
536
        if (yych <= 0x00) goto yy86;
10216
201
        goto yy586;
10217
844
      } else {
10218
844
        if (yych <= '\n') goto yy495;
10219
622
        if (yych <= '\f') goto yy586;
10220
411
        goto yy495;
10221
622
      }
10222
1.92k
    } else {
10223
1.92k
      if (yych <= 'S') {
10224
944
        if (yych <= 'R') goto yy586;
10225
631
        goto yy922;
10226
982
      } else {
10227
982
        if (yych == 's') goto yy922;
10228
293
        goto yy586;
10229
982
      }
10230
1.92k
    }
10231
6.26k
yy896:
10232
6.26k
    YYDEBUG(896, *YYCURSOR);
10233
6.26k
    ++YYCURSOR;
10234
6.26k
    YYFILL(1);
10235
6.26k
    yych = *YYCURSOR;
10236
6.26k
    if (yych <= '\r') {
10237
1.36k
      if (yych <= '\t') {
10238
692
        if (yych <= 0x00) goto yy86;
10239
474
        goto yy586;
10240
692
      } else {
10241
669
        if (yych <= '\n') goto yy495;
10242
458
        if (yych <= '\f') goto yy586;
10243
240
        goto yy495;
10244
458
      }
10245
4.90k
    } else {
10246
4.90k
      if (yych <= 'E') {
10247
2.64k
        if (yych <= 'D') goto yy586;
10248
2.24k
        goto yy923;
10249
2.64k
      } else {
10250
2.26k
        if (yych == 'e') goto yy923;
10251
240
        goto yy586;
10252
2.26k
      }
10253
4.90k
    }
10254
1.60k
yy897:
10255
1.60k
    YYDEBUG(897, *YYCURSOR);
10256
1.60k
    yyaccept = 89;
10257
1.60k
    yych = *(YYMARKER = ++YYCURSOR);
10258
1.60k
    if (yybm[256+yych] & 128) {
10259
294
      goto yy47;
10260
294
    }
10261
1.30k
    if (yych == '\\') goto yy164;
10262
1.30k
yy898:
10263
1.30k
    YYDEBUG(898, *YYCURSOR);
10264
1.30k
    yyleng = YYCURSOR - SCNG(yy_text);
10265
1.30k
#line 1726 "Zend/zend_language_scanner.l"
10266
1.30k
    {
10267
1.30k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10268
1.30k
}
10269
0
#line 10270 "Zend/zend_language_scanner.c"
10270
812
yy899:
10271
812
    YYDEBUG(899, *YYCURSOR);
10272
812
    ++YYCURSOR;
10273
812
    YYDEBUG(900, *YYCURSOR);
10274
812
    yyleng = YYCURSOR - SCNG(yy_text);
10275
812
#line 1794 "Zend/zend_language_scanner.l"
10276
812
    {
10277
812
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10278
812
}
10279
0
#line 10280 "Zend/zend_language_scanner.c"
10280
737
yy901:
10281
737
    YYDEBUG(901, *YYCURSOR);
10282
737
    yych = *++YYCURSOR;
10283
737
    if (yych == 'T') goto yy924;
10284
482
    if (yych == 't') goto yy924;
10285
225
    goto yy86;
10286
982
yy902:
10287
982
    YYDEBUG(902, *YYCURSOR);
10288
982
    yyaccept = 90;
10289
982
    yych = *(YYMARKER = ++YYCURSOR);
10290
982
    if (yybm[256+yych] & 128) {
10291
310
      goto yy47;
10292
310
    }
10293
672
    if (yych == '\\') goto yy164;
10294
672
yy903:
10295
672
    YYDEBUG(903, *YYCURSOR);
10296
672
    yyleng = YYCURSOR - SCNG(yy_text);
10297
672
#line 1734 "Zend/zend_language_scanner.l"
10298
672
    {
10299
672
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10300
672
}
10301
0
#line 10302 "Zend/zend_language_scanner.c"
10302
47.7k
yy904:
10303
47.7k
    YYDEBUG(904, *YYCURSOR);
10304
47.7k
    ++YYCURSOR;
10305
47.7k
    YYFILL(1);
10306
47.7k
    yych = *YYCURSOR;
10307
47.7k
    YYDEBUG(905, *YYCURSOR);
10308
47.7k
    if (yych <= '"') {
10309
5.98k
      if (yych <= '\n') {
10310
1.63k
        if (yych <= 0x00) goto yy86;
10311
1.39k
        if (yych <= 0x08) goto yy808;
10312
1.04k
        if (yych <= '\t') goto yy904;
10313
575
        goto yy846;
10314
4.35k
      } else {
10315
4.35k
        if (yych <= '\r') {
10316
2.09k
          if (yych <= '\f') goto yy808;
10317
1.86k
          goto yy846;
10318
2.25k
        } else {
10319
2.25k
          if (yych == ' ') goto yy904;
10320
664
          goto yy808;
10321
2.25k
        }
10322
4.35k
      }
10323
41.7k
    } else {
10324
41.7k
      if (yych <= '/') {
10325
13.9k
        if (yych <= ')') {
10326
6.54k
          if (yych <= '#') goto yy925;
10327
2.11k
          goto yy808;
10328
7.44k
        } else {
10329
7.44k
          if (yych <= '*') goto yy848;
10330
6.97k
          if (yych <= '.') goto yy808;
10331
6.58k
          goto yy926;
10332
6.97k
        }
10333
27.7k
      } else {
10334
27.7k
        if (yych <= 'F') {
10335
22.6k
          if (yych <= 'E') goto yy808;
10336
20.5k
          goto yy927;
10337
22.6k
        } else {
10338
5.14k
          if (yych == 'f') goto yy927;
10339
3.70k
          goto yy808;
10340
5.14k
        }
10341
27.7k
      }
10342
41.7k
    }
10343
4.20k
yy906:
10344
4.20k
    YYDEBUG(906, *YYCURSOR);
10345
4.20k
    ++YYCURSOR;
10346
4.20k
    YYFILL(1);
10347
4.20k
    yych = *YYCURSOR;
10348
4.20k
    if (yych <= '*') {
10349
1.04k
      if (yych <= 0x00) goto yy86;
10350
838
      if (yych <= ')') goto yy696;
10351
301
      goto yy760;
10352
3.15k
    } else {
10353
3.15k
      if (yych == '/') goto yy846;
10354
237
      goto yy696;
10355
3.15k
    }
10356
7.13k
yy907:
10357
7.13k
    YYDEBUG(907, *YYCURSOR);
10358
7.13k
    ++YYCURSOR;
10359
7.13k
    YYFILL(1);
10360
7.13k
    yych = *YYCURSOR;
10361
7.13k
    if (yych <= 'N') {
10362
804
      if (yych <= 0x00) goto yy86;
10363
606
      if (yych == '*') goto yy760;
10364
339
      goto yy696;
10365
6.32k
    } else {
10366
6.32k
      if (yych <= 'O') goto yy928;
10367
486
      if (yych == 'o') goto yy928;
10368
274
      goto yy696;
10369
486
    }
10370
2.96k
yy908:
10371
2.96k
    YYDEBUG(908, *YYCURSOR);
10372
2.96k
    yyaccept = 91;
10373
2.96k
    YYMARKER = ++YYCURSOR;
10374
2.96k
    YYFILL(1);
10375
2.96k
    yych = *YYCURSOR;
10376
2.96k
    if (yych <= '\n') {
10377
1.50k
      if (yych <= 0x00) goto yy876;
10378
1.04k
      if (yych <= '\t') goto yy692;
10379
536
      goto yy616;
10380
1.45k
    } else {
10381
1.45k
      if (yych == '\r') goto yy616;
10382
1.18k
      goto yy692;
10383
1.45k
    }
10384
2.86k
yy909:
10385
2.86k
    YYDEBUG(909, *YYCURSOR);
10386
2.86k
    yyaccept = 91;
10387
2.86k
    YYMARKER = ++YYCURSOR;
10388
2.86k
    YYFILL(5);
10389
2.86k
    yych = *YYCURSOR;
10390
2.86k
    if (yych <= '"') {
10391
1.25k
      if (yych <= '\f') {
10392
636
        if (yych <= 0x08) goto yy876;
10393
426
        if (yych <= '\n') goto yy616;
10394
226
        goto yy876;
10395
622
      } else {
10396
622
        if (yych <= '\r') goto yy616;
10397
425
        if (yych == ' ') goto yy616;
10398
194
        goto yy876;
10399
425
      }
10400
1.61k
    } else {
10401
1.61k
      if (yych <= 'E') {
10402
812
        if (yych <= '#') goto yy618;
10403
494
        if (yych == '/') goto yy619;
10404
269
        goto yy876;
10405
799
      } else {
10406
799
        if (yych <= 'F') goto yy691;
10407
598
        if (yych == 'f') goto yy691;
10408
404
        goto yy876;
10409
598
      }
10410
1.61k
    }
10411
1.69k
yy910:
10412
1.69k
    YYDEBUG(910, *YYCURSOR);
10413
1.69k
    yyaccept = 92;
10414
1.69k
    yych = *(YYMARKER = ++YYCURSOR);
10415
1.69k
    if (yybm[256+yych] & 128) {
10416
404
      goto yy47;
10417
404
    }
10418
1.28k
    if (yych == '\\') goto yy164;
10419
1.28k
yy911:
10420
1.28k
    YYDEBUG(911, *YYCURSOR);
10421
1.28k
    yyleng = YYCURSOR - SCNG(yy_text);
10422
1.28k
#line 2261 "Zend/zend_language_scanner.l"
10423
1.28k
    {
10424
1.28k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10425
1.28k
}
10426
0
#line 10427 "Zend/zend_language_scanner.c"
10427
2.06k
yy912:
10428
2.06k
    YYDEBUG(912, *YYCURSOR);
10429
2.06k
    yyaccept = 4;
10430
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
10431
2.06k
    if (yych == 'L') goto yy929;
10432
1.83k
    if (yych == 'l') goto yy929;
10433
312
    goto yy48;
10434
1.76k
yy913:
10435
1.76k
    YYDEBUG(913, *YYCURSOR);
10436
1.76k
    yyaccept = 4;
10437
1.76k
    yych = *(YYMARKER = ++YYCURSOR);
10438
1.76k
    if (yych == '_') goto yy930;
10439
326
    goto yy48;
10440
1.76k
yy914:
10441
1.76k
    YYDEBUG(914, *YYCURSOR);
10442
1.76k
    yyaccept = 93;
10443
1.76k
    yych = *(YYMARKER = ++YYCURSOR);
10444
1.76k
    if (yybm[256+yych] & 128) {
10445
382
      goto yy47;
10446
382
    }
10447
1.38k
    if (yych == '\\') goto yy164;
10448
1.38k
yy915:
10449
1.38k
    YYDEBUG(915, *YYCURSOR);
10450
1.38k
    yyleng = YYCURSOR - SCNG(yy_text);
10451
1.38k
#line 2265 "Zend/zend_language_scanner.l"
10452
1.38k
    {
10453
1.38k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10454
1.38k
}
10455
0
#line 10456 "Zend/zend_language_scanner.c"
10456
799
yy916:
10457
799
    YYDEBUG(916, *YYCURSOR);
10458
799
    yych = *++YYCURSOR;
10459
799
    if (yych == 'T') goto yy857;
10460
585
    if (yych == 't') goto yy857;
10461
340
    goto yy86;
10462
4.98k
yy917:
10463
4.98k
    YYDEBUG(917, *YYCURSOR);
10464
4.98k
    ++YYCURSOR;
10465
4.98k
    YYFILL(1);
10466
4.98k
    yych = *YYCURSOR;
10467
4.98k
    if (yych <= '\r') {
10468
2.44k
      if (yych <= '\t') {
10469
396
        if (yych <= 0x00) goto yy86;
10470
202
        goto yy738;
10471
2.04k
      } else {
10472
2.04k
        if (yych <= '\n') goto yy787;
10473
1.57k
        if (yych <= '\f') goto yy738;
10474
676
        goto yy787;
10475
1.57k
      }
10476
2.54k
    } else {
10477
2.54k
      if (yych <= '*') {
10478
591
        if (yych <= ')') goto yy738;
10479
366
        goto yy789;
10480
1.95k
      } else {
10481
1.95k
        if (yych == '/') goto yy859;
10482
434
        goto yy738;
10483
1.95k
      }
10484
2.54k
    }
10485
12.0k
yy918:
10486
12.0k
    YYDEBUG(918, *YYCURSOR);
10487
12.0k
    ++YYCURSOR;
10488
12.0k
    YYFILL(1);
10489
12.0k
    yych = *YYCURSOR;
10490
12.0k
    if (yych <= ')') {
10491
1.66k
      if (yych <= '\n') {
10492
1.16k
        if (yych <= 0x00) goto yy86;
10493
823
        if (yych <= '\t') goto yy738;
10494
373
        goto yy787;
10495
823
      } else {
10496
500
        if (yych == '\r') goto yy787;
10497
218
        goto yy738;
10498
500
      }
10499
10.3k
    } else {
10500
10.3k
      if (yych <= 'T') {
10501
2.59k
        if (yych <= '*') goto yy789;
10502
2.33k
        if (yych <= 'S') goto yy738;
10503
1.68k
        goto yy932;
10504
7.79k
      } else {
10505
7.79k
        if (yych == 't') goto yy932;
10506
1.15k
        goto yy738;
10507
7.79k
      }
10508
10.3k
    }
10509
14.9k
yy919:
10510
14.9k
    YYDEBUG(919, *YYCURSOR);
10511
14.9k
    ++YYCURSOR;
10512
14.9k
    YYFILL(1);
10513
14.9k
    yych = *YYCURSOR;
10514
14.9k
    if (yych <= ')') {
10515
1.29k
      if (yych <= '\n') {
10516
620
        if (yych <= 0x00) goto yy86;
10517
408
        if (yych <= '\t') goto yy738;
10518
205
        goto yy787;
10519
673
      } else {
10520
673
        if (yych == '\r') goto yy787;
10521
457
        goto yy738;
10522
673
      }
10523
13.6k
    } else {
10524
13.6k
      if (yych <= 'P') {
10525
6.78k
        if (yych <= '*') goto yy789;
10526
6.55k
        if (yych <= 'O') goto yy738;
10527
6.26k
        goto yy933;
10528
6.82k
      } else {
10529
6.82k
        if (yych == 'p') goto yy933;
10530
324
        goto yy738;
10531
6.82k
      }
10532
13.6k
    }
10533
3.15k
yy920:
10534
3.15k
    YYDEBUG(920, *YYCURSOR);
10535
3.15k
    ++YYCURSOR;
10536
3.15k
    YYFILL(1);
10537
3.15k
    yych = *YYCURSOR;
10538
3.15k
    if (yych <= 'M') {
10539
617
      if (yych <= 0x00) goto yy86;
10540
421
      if (yych == '*') goto yy668;
10541
222
      goto yy590;
10542
2.53k
    } else {
10543
2.53k
      if (yych <= 'N') goto yy934;
10544
2.27k
      if (yych == 'n') goto yy934;
10545
205
      goto yy590;
10546
2.27k
    }
10547
4.96k
yy921:
10548
4.96k
    YYDEBUG(921, *YYCURSOR);
10549
4.96k
    ++YYCURSOR;
10550
4.96k
    YYFILL(1);
10551
4.96k
    yych = *YYCURSOR;
10552
4.96k
    if (yych <= 'D') {
10553
614
      if (yych <= 0x00) goto yy86;
10554
411
      if (yych == '*') goto yy668;
10555
213
      goto yy590;
10556
4.35k
    } else {
10557
4.35k
      if (yych <= 'E') goto yy935;
10558
2.31k
      if (yych == 'e') goto yy935;
10559
208
      goto yy590;
10560
2.31k
    }
10561
1.32k
yy922:
10562
1.32k
    YYDEBUG(922, *YYCURSOR);
10563
1.32k
    yyaccept = 94;
10564
1.32k
    YYMARKER = ++YYCURSOR;
10565
1.32k
    YYFILL(1);
10566
1.32k
    yych = *YYCURSOR;
10567
1.32k
    if (yych <= '\n') {
10568
760
      if (yych <= 0x00) goto yy886;
10569
552
      if (yych <= '\t') goto yy586;
10570
220
      goto yy495;
10571
560
    } else {
10572
560
      if (yych == '\r') goto yy495;
10573
347
      goto yy586;
10574
560
    }
10575
4.27k
yy923:
10576
4.27k
    YYDEBUG(923, *YYCURSOR);
10577
4.27k
    ++YYCURSOR;
10578
4.27k
    YYFILL(1);
10579
4.27k
    yych = *YYCURSOR;
10580
4.27k
    if (yych <= '\r') {
10581
1.02k
      if (yych <= '\t') {
10582
412
        if (yych <= 0x00) goto yy86;
10583
215
        goto yy586;
10584
608
      } else {
10585
608
        if (yych <= '\n') goto yy495;
10586
403
        if (yych <= '\f') goto yy586;
10587
201
        goto yy495;
10588
403
      }
10589
3.25k
    } else {
10590
3.25k
      if (yych <= 'N') {
10591
1.69k
        if (yych <= 'M') goto yy586;
10592
1.35k
        goto yy936;
10593
1.69k
      } else {
10594
1.55k
        if (yych == 'n') goto yy936;
10595
333
        goto yy586;
10596
1.55k
      }
10597
3.25k
    }
10598
512
yy924:
10599
512
    YYDEBUG(924, *YYCURSOR);
10600
512
    yych = *++YYCURSOR;
10601
512
    if (yych == ')') goto yy937;
10602
262
    goto yy86;
10603
4.43k
yy925:
10604
4.43k
    YYDEBUG(925, *YYCURSOR);
10605
4.43k
    ++YYCURSOR;
10606
4.43k
    YYFILL(1);
10607
4.43k
    yych = *YYCURSOR;
10608
4.43k
    if (yych <= '\f') {
10609
2.35k
      if (yych <= 0x00) goto yy86;
10610
2.15k
      if (yych == '\n') goto yy904;
10611
212
      goto yy808;
10612
2.15k
    } else {
10613
2.07k
      if (yych <= '\r') goto yy904;
10614
860
      if (yych == '*') goto yy848;
10615
657
      goto yy808;
10616
860
    }
10617
6.58k
yy926:
10618
6.58k
    YYDEBUG(926, *YYCURSOR);
10619
6.58k
    ++YYCURSOR;
10620
6.58k
    YYFILL(1);
10621
6.58k
    yych = *YYCURSOR;
10622
6.58k
    if (yych <= '\f') {
10623
639
      if (yych <= 0x00) goto yy86;
10624
421
      if (yych == '\n') goto yy846;
10625
202
      goto yy808;
10626
5.94k
    } else {
10627
5.94k
      if (yych <= '\r') goto yy846;
10628
5.69k
      if (yych == '*') goto yy939;
10629
1.48k
      goto yy808;
10630
5.69k
    }
10631
22.0k
yy927:
10632
22.0k
    YYDEBUG(927, *YYCURSOR);
10633
22.0k
    ++YYCURSOR;
10634
22.0k
    YYFILL(1);
10635
22.0k
    yych = *YYCURSOR;
10636
22.0k
    if (yych <= ')') {
10637
1.76k
      if (yych <= '\n') {
10638
787
        if (yych <= 0x00) goto yy86;
10639
501
        if (yych <= '\t') goto yy808;
10640
259
        goto yy846;
10641
979
      } else {
10642
979
        if (yych == '\r') goto yy846;
10643
435
        goto yy808;
10644
979
      }
10645
20.2k
    } else {
10646
20.2k
      if (yych <= 'R') {
10647
15.3k
        if (yych <= '*') goto yy848;
10648
15.0k
        if (yych <= 'Q') goto yy808;
10649
14.0k
        goto yy940;
10650
15.0k
      } else {
10651
4.86k
        if (yych == 'r') goto yy940;
10652
908
        goto yy808;
10653
4.86k
      }
10654
20.2k
    }
10655
6.05k
yy928:
10656
6.05k
    YYDEBUG(928, *YYCURSOR);
10657
6.05k
    ++YYCURSOR;
10658
6.05k
    YYFILL(1);
10659
6.05k
    yych = *YYCURSOR;
10660
6.05k
    if (yych <= 'L') {
10661
981
      if (yych <= 0x00) goto yy86;
10662
609
      if (yych == '*') goto yy760;
10663
403
      goto yy696;
10664
5.07k
    } else {
10665
5.07k
      if (yych <= 'M') goto yy941;
10666
1.53k
      if (yych == 'm') goto yy941;
10667
235
      goto yy696;
10668
1.53k
    }
10669
1.75k
yy929:
10670
1.75k
    YYDEBUG(929, *YYCURSOR);
10671
1.75k
    yyaccept = 4;
10672
1.75k
    yych = *(YYMARKER = ++YYCURSOR);
10673
1.75k
    if (yych == 'E') goto yy942;
10674
1.53k
    if (yych == 'e') goto yy942;
10675
276
    goto yy48;
10676
1.44k
yy930:
10677
1.44k
    YYDEBUG(930, *YYCURSOR);
10678
1.44k
    yyaccept = 95;
10679
1.44k
    yych = *(YYMARKER = ++YYCURSOR);
10680
1.44k
    if (yybm[256+yych] & 128) {
10681
310
      goto yy47;
10682
310
    }
10683
1.13k
    if (yych == '\\') goto yy164;
10684
1.11k
yy931:
10685
1.11k
    YYDEBUG(931, *YYCURSOR);
10686
1.11k
    yyleng = YYCURSOR - SCNG(yy_text);
10687
1.11k
#line 2285 "Zend/zend_language_scanner.l"
10688
1.11k
    {
10689
1.11k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10690
1.11k
}
10691
0
#line 10692 "Zend/zend_language_scanner.c"
10692
8.31k
yy932:
10693
8.31k
    YYDEBUG(932, *YYCURSOR);
10694
8.31k
    ++YYCURSOR;
10695
8.31k
    YYFILL(1);
10696
8.31k
    yych = *YYCURSOR;
10697
8.31k
    if (yych <= ')') {
10698
1.15k
      if (yych <= '\n') {
10699
679
        if (yych <= 0x00) goto yy86;
10700
467
        if (yych <= '\t') goto yy738;
10701
270
        goto yy787;
10702
477
      } else {
10703
477
        if (yych == '\r') goto yy787;
10704
256
        goto yy738;
10705
477
      }
10706
7.16k
    } else {
10707
7.16k
      if (yych <= 'E') {
10708
1.13k
        if (yych <= '*') goto yy789;
10709
889
        if (yych <= 'D') goto yy738;
10710
438
        goto yy943;
10711
6.02k
      } else {
10712
6.02k
        if (yych == 'e') goto yy943;
10713
469
        goto yy738;
10714
6.02k
      }
10715
7.16k
    }
10716
12.7k
yy933:
10717
12.7k
    YYDEBUG(933, *YYCURSOR);
10718
12.7k
    ++YYCURSOR;
10719
12.7k
    YYFILL(1);
10720
12.7k
    yych = *YYCURSOR;
10721
12.7k
    if (yych <= ')') {
10722
1.34k
      if (yych <= '\n') {
10723
912
        if (yych <= 0x00) goto yy86;
10724
703
        if (yych <= '\t') goto yy738;
10725
503
        goto yy787;
10726
703
      } else {
10727
434
        if (yych == '\r') goto yy787;
10728
217
        goto yy738;
10729
434
      }
10730
11.4k
    } else {
10731
11.4k
      if (yych <= 'L') {
10732
5.77k
        if (yych <= '*') goto yy789;
10733
5.57k
        if (yych <= 'K') goto yy738;
10734
5.36k
        goto yy944;
10735
5.64k
      } else {
10736
5.64k
        if (yych == 'l') goto yy944;
10737
247
        goto yy738;
10738
5.64k
      }
10739
11.4k
    }
10740
2.33k
yy934:
10741
2.33k
    YYDEBUG(934, *YYCURSOR);
10742
2.33k
    ++YYCURSOR;
10743
2.33k
    YYFILL(1);
10744
2.33k
    yych = *YYCURSOR;
10745
2.33k
    if (yych <= 'C') {
10746
677
      if (yych <= 0x00) goto yy86;
10747
430
      if (yych == '*') goto yy668;
10748
203
      goto yy590;
10749
1.65k
    } else {
10750
1.65k
      if (yych <= 'D') goto yy945;
10751
1.42k
      if (yych == 'd') goto yy945;
10752
239
      goto yy590;
10753
1.42k
    }
10754
4.14k
yy935:
10755
4.14k
    YYDEBUG(935, *YYCURSOR);
10756
4.14k
    ++YYCURSOR;
10757
4.14k
    YYFILL(1);
10758
4.14k
    yych = *YYCURSOR;
10759
4.14k
    if (yych <= 'L') {
10760
606
      if (yych <= 0x00) goto yy86;
10761
404
      if (yych == '*') goto yy668;
10762
207
      goto yy590;
10763
3.54k
    } else {
10764
3.54k
      if (yych <= 'M') goto yy946;
10765
1.78k
      if (yych == 'm') goto yy946;
10766
203
      goto yy590;
10767
1.78k
    }
10768
2.58k
yy936:
10769
2.58k
    YYDEBUG(936, *YYCURSOR);
10770
2.58k
    ++YYCURSOR;
10771
2.58k
    YYFILL(1);
10772
2.58k
    yych = *YYCURSOR;
10773
2.58k
    if (yych <= '\r') {
10774
1.01k
      if (yych <= '\t') {
10775
424
        if (yych <= 0x00) goto yy86;
10776
213
        goto yy586;
10777
595
      } else {
10778
595
        if (yych <= '\n') goto yy495;
10779
397
        if (yych <= '\f') goto yy586;
10780
201
        goto yy495;
10781
397
      }
10782
1.56k
    } else {
10783
1.56k
      if (yych <= 'T') {
10784
503
        if (yych <= 'S') goto yy586;
10785
307
        goto yy895;
10786
1.05k
      } else {
10787
1.05k
        if (yych == 't') goto yy895;
10788
237
        goto yy586;
10789
1.05k
      }
10790
1.56k
    }
10791
250
yy937:
10792
250
    YYDEBUG(937, *YYCURSOR);
10793
250
    ++YYCURSOR;
10794
250
    YYDEBUG(938, *YYCURSOR);
10795
250
    yyleng = YYCURSOR - SCNG(yy_text);
10796
250
#line 1790 "Zend/zend_language_scanner.l"
10797
250
    {
10798
250
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10799
250
}
10800
0
#line 10801 "Zend/zend_language_scanner.c"
10801
4.21k
yy939:
10802
4.21k
    YYDEBUG(939, *YYCURSOR);
10803
4.21k
    ++YYCURSOR;
10804
4.21k
    YYFILL(1);
10805
4.21k
    yych = *YYCURSOR;
10806
4.21k
    if (yych <= '\r') {
10807
1.53k
      if (yych <= '\t') {
10808
512
        if (yych <= 0x00) goto yy86;
10809
258
        goto yy808;
10810
1.02k
      } else {
10811
1.02k
        if (yych <= '\n') goto yy846;
10812
444
        if (yych <= '\f') goto yy808;
10813
213
        goto yy846;
10814
444
      }
10815
2.67k
    } else {
10816
2.67k
      if (yych <= '*') {
10817
595
        if (yych <= ')') goto yy808;
10818
371
        goto yy848;
10819
2.08k
      } else {
10820
2.08k
        if (yych == '/') goto yy904;
10821
1.38k
        goto yy808;
10822
2.08k
      }
10823
2.67k
    }
10824
18.0k
yy940:
10825
18.0k
    YYDEBUG(940, *YYCURSOR);
10826
18.0k
    ++YYCURSOR;
10827
18.0k
    YYFILL(1);
10828
18.0k
    yych = *YYCURSOR;
10829
18.0k
    if (yych <= ')') {
10830
1.68k
      if (yych <= '\n') {
10831
982
        if (yych <= 0x00) goto yy86;
10832
779
        if (yych <= '\t') goto yy808;
10833
505
        goto yy846;
10834
779
      } else {
10835
703
        if (yych == '\r') goto yy846;
10836
426
        goto yy808;
10837
703
      }
10838
16.3k
    } else {
10839
16.3k
      if (yych <= 'O') {
10840
13.1k
        if (yych <= '*') goto yy848;
10841
12.2k
        if (yych <= 'N') goto yy808;
10842
12.0k
        goto yy947;
10843
12.2k
      } else {
10844
3.21k
        if (yych == 'o') goto yy947;
10845
445
        goto yy808;
10846
3.21k
      }
10847
16.3k
    }
10848
4.83k
yy941:
10849
4.83k
    YYDEBUG(941, *YYCURSOR);
10850
4.83k
    ++YYCURSOR;
10851
4.83k
    YYFILL(1);
10852
4.83k
    yych = *YYCURSOR;
10853
4.83k
    if (yych <= '@') {
10854
3.29k
      if (yych <= '*') {
10855
2.62k
        if (yych <= 0x00) goto yy875;
10856
2.42k
        if (yych <= ')') goto yy948;
10857
1.95k
        goto yy949;
10858
2.42k
      } else {
10859
665
        if (yych <= '/') goto yy948;
10860
435
        if (yych <= '9') goto yy696;
10861
240
        goto yy948;
10862
435
      }
10863
3.29k
    } else {
10864
1.54k
      if (yych <= '_') {
10865
665
        if (yych <= 'Z') goto yy696;
10866
466
        if (yych <= '^') goto yy948;
10867
234
        goto yy696;
10868
883
      } else {
10869
883
        if (yych <= '`') goto yy948;
10870
689
        if (yych <= 'z') goto yy696;
10871
466
        if (yych <= 0x7F) goto yy948;
10872
237
        goto yy696;
10873
466
      }
10874
1.54k
    }
10875
1.48k
yy942:
10876
1.48k
    YYDEBUG(942, *YYCURSOR);
10877
1.48k
    yyaccept = 4;
10878
1.48k
    yych = *(YYMARKER = ++YYCURSOR);
10879
1.48k
    if (yych == 'R') goto yy950;
10880
1.26k
    if (yych == 'r') goto yy950;
10881
362
    goto yy48;
10882
5.99k
yy943:
10883
5.99k
    YYDEBUG(943, *YYCURSOR);
10884
5.99k
    ++YYCURSOR;
10885
5.99k
    YYFILL(1);
10886
5.99k
    yych = *YYCURSOR;
10887
5.99k
    if (yych <= ')') {
10888
1.53k
      if (yych <= '\n') {
10889
896
        if (yych <= 0x00) goto yy86;
10890
696
        if (yych <= '\t') goto yy738;
10891
224
        goto yy787;
10892
696
      } else {
10893
637
        if (yych == '\r') goto yy787;
10894
344
        goto yy738;
10895
637
      }
10896
4.46k
    } else {
10897
4.46k
      if (yych <= 'N') {
10898
891
        if (yych <= '*') goto yy789;
10899
662
        if (yych <= 'M') goto yy738;
10900
422
        goto yy952;
10901
3.57k
      } else {
10902
3.57k
        if (yych == 'n') goto yy952;
10903
202
        goto yy738;
10904
3.57k
      }
10905
4.46k
    }
10906
10.7k
yy944:
10907
10.7k
    YYDEBUG(944, *YYCURSOR);
10908
10.7k
    ++YYCURSOR;
10909
10.7k
    YYFILL(1);
10910
10.7k
    yych = *YYCURSOR;
10911
10.7k
    if (yych <= ')') {
10912
1.05k
      if (yych <= '\n') {
10913
639
        if (yych <= 0x00) goto yy86;
10914
439
        if (yych <= '\t') goto yy738;
10915
222
        goto yy787;
10916
439
      } else {
10917
419
        if (yych == '\r') goto yy787;
10918
217
        goto yy738;
10919
419
      }
10920
9.70k
    } else {
10921
9.70k
      if (yych <= 'E') {
10922
5.02k
        if (yych <= '*') goto yy789;
10923
4.82k
        if (yych <= 'D') goto yy738;
10924
4.62k
        goto yy953;
10925
4.82k
      } else {
10926
4.68k
        if (yych == 'e') goto yy953;
10927
234
        goto yy738;
10928
4.68k
      }
10929
9.70k
    }
10930
2.13k
yy945:
10931
2.13k
    YYDEBUG(945, *YYCURSOR);
10932
2.13k
    ++YYCURSOR;
10933
2.13k
    YYFILL(1);
10934
2.13k
    yych = *YYCURSOR;
10935
2.13k
    if (yych <= 'R') {
10936
859
      if (yych <= 0x00) goto yy86;
10937
524
      if (yych == '*') goto yy668;
10938
328
      goto yy590;
10939
1.27k
    } else {
10940
1.27k
      if (yych <= 'S') goto yy954;
10941
905
      if (yych == 's') goto yy954;
10942
375
      goto yy590;
10943
905
    }
10944
3.33k
yy946:
10945
3.33k
    YYDEBUG(946, *YYCURSOR);
10946
3.33k
    ++YYCURSOR;
10947
3.33k
    YYFILL(1);
10948
3.33k
    yych = *YYCURSOR;
10949
3.33k
    if (yych <= 'D') {
10950
608
      if (yych <= 0x00) goto yy86;
10951
404
      if (yych == '*') goto yy668;
10952
200
      goto yy590;
10953
2.73k
    } else {
10954
2.73k
      if (yych <= 'E') goto yy955;
10955
1.79k
      if (yych == 'e') goto yy955;
10956
212
      goto yy590;
10957
1.79k
    }
10958
14.7k
yy947:
10959
14.7k
    YYDEBUG(947, *YYCURSOR);
10960
14.7k
    ++YYCURSOR;
10961
14.7k
    YYFILL(1);
10962
14.7k
    yych = *YYCURSOR;
10963
14.7k
    if (yych <= ')') {
10964
1.37k
      if (yych <= '\n') {
10965
735
        if (yych <= 0x00) goto yy86;
10966
535
        if (yych <= '\t') goto yy808;
10967
338
        goto yy846;
10968
636
      } else {
10969
636
        if (yych == '\r') goto yy846;
10970
396
        goto yy808;
10971
636
      }
10972
13.4k
    } else {
10973
13.4k
      if (yych <= 'M') {
10974
8.91k
        if (yych <= '*') goto yy848;
10975
8.72k
        if (yych <= 'L') goto yy808;
10976
8.22k
        goto yy956;
10977
8.72k
      } else {
10978
4.49k
        if (yych == 'm') goto yy956;
10979
458
        goto yy808;
10980
4.49k
      }
10981
13.4k
    }
10982
1.59k
yy948:
10983
1.59k
    YYDEBUG(948, *YYCURSOR);
10984
1.59k
    yyaccept = 91;
10985
1.59k
    YYMARKER = ++YYCURSOR;
10986
1.59k
    YYFILL(1);
10987
1.59k
    yych = *YYCURSOR;
10988
1.59k
    if (yych <= 0x00) goto yy876;
10989
1.29k
    if (yych == '*') goto yy760;
10990
1.04k
    goto yy696;
10991
1.95k
yy949:
10992
1.95k
    YYDEBUG(949, *YYCURSOR);
10993
1.95k
    yyaccept = 91;
10994
1.95k
    YYMARKER = ++YYCURSOR;
10995
1.95k
    YYFILL(1);
10996
1.95k
    yych = *YYCURSOR;
10997
1.95k
    if (yych <= '*') {
10998
1.14k
      if (yych <= 0x00) goto yy876;
10999
844
      if (yych <= ')') goto yy696;
11000
342
      goto yy760;
11001
844
    } else {
11002
808
      if (yych == '/') goto yy616;
11003
351
      goto yy696;
11004
808
    }
11005
1.11k
yy950:
11006
1.11k
    YYDEBUG(950, *YYCURSOR);
11007
1.11k
    yyaccept = 96;
11008
1.11k
    yych = *(YYMARKER = ++YYCURSOR);
11009
1.11k
    if (yybm[256+yych] & 128) {
11010
685
      goto yy47;
11011
685
    }
11012
434
    if (yych == '\\') goto yy164;
11013
434
yy951:
11014
434
    YYDEBUG(951, *YYCURSOR);
11015
434
    yyleng = YYCURSOR - SCNG(yy_text);
11016
434
#line 1762 "Zend/zend_language_scanner.l"
11017
434
    {
11018
434
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11019
434
}
11020
0
#line 11021 "Zend/zend_language_scanner.c"
11021
3.79k
yy952:
11022
3.79k
    YYDEBUG(952, *YYCURSOR);
11023
3.79k
    ++YYCURSOR;
11024
3.79k
    YYFILL(1);
11025
3.79k
    yych = *YYCURSOR;
11026
3.79k
    if (yych <= ')') {
11027
1.14k
      if (yych <= '\n') {
11028
694
        if (yych <= 0x00) goto yy86;
11029
497
        if (yych <= '\t') goto yy738;
11030
198
        goto yy787;
11031
497
      } else {
11032
452
        if (yych == '\r') goto yy787;
11033
226
        goto yy738;
11034
452
      }
11035
2.64k
    } else {
11036
2.64k
      if (yych <= 'D') {
11037
651
        if (yych <= '*') goto yy789;
11038
454
        if (yych <= 'C') goto yy738;
11039
252
        goto yy957;
11040
1.99k
      } else {
11041
1.99k
        if (yych == 'd') goto yy957;
11042
199
        goto yy738;
11043
1.99k
      }
11044
2.64k
    }
11045
9.06k
yy953:
11046
9.06k
    YYDEBUG(953, *YYCURSOR);
11047
9.06k
    ++YYCURSOR;
11048
9.06k
    YYFILL(1);
11049
9.06k
    yych = *YYCURSOR;
11050
9.06k
    if (yych <= ')') {
11051
1.05k
      if (yych <= '\n') {
11052
618
        if (yych <= 0x00) goto yy86;
11053
412
        if (yych <= '\t') goto yy738;
11054
209
        goto yy787;
11055
435
      } else {
11056
435
        if (yych == '\r') goto yy787;
11057
229
        goto yy738;
11058
435
      }
11059
8.01k
    } else {
11060
8.01k
      if (yych <= 'M') {
11061
4.64k
        if (yych <= '*') goto yy789;
11062
4.44k
        if (yych <= 'L') goto yy738;
11063
3.80k
        goto yy958;
11064
4.44k
      } else {
11065
3.37k
        if (yych == 'm') goto yy958;
11066
334
        goto yy738;
11067
3.37k
      }
11068
8.01k
    }
11069
899
yy954:
11070
899
    YYDEBUG(954, *YYCURSOR);
11071
899
    yyaccept = 94;
11072
899
    YYMARKER = ++YYCURSOR;
11073
899
    YYFILL(1);
11074
899
    yych = *YYCURSOR;
11075
899
    if (yych <= 0x00) goto yy886;
11076
680
    if (yych == '*') goto yy668;
11077
458
    goto yy590;
11078
2.51k
yy955:
11079
2.51k
    YYDEBUG(955, *YYCURSOR);
11080
2.51k
    ++YYCURSOR;
11081
2.51k
    YYFILL(1);
11082
2.51k
    yych = *YYCURSOR;
11083
2.51k
    if (yych <= 'M') {
11084
596
      if (yych <= 0x00) goto yy86;
11085
393
      if (yych == '*') goto yy668;
11086
196
      goto yy590;
11087
1.92k
    } else {
11088
1.92k
      if (yych <= 'N') goto yy959;
11089
1.21k
      if (yych == 'n') goto yy959;
11090
208
      goto yy590;
11091
1.21k
    }
11092
12.2k
yy956:
11093
12.2k
    YYDEBUG(956, *YYCURSOR);
11094
12.2k
    ++YYCURSOR;
11095
12.2k
    YYFILL(1);
11096
12.2k
    yych = *YYCURSOR;
11097
12.2k
    if (yych <= '/') {
11098
8.74k
      if (yych <= '\f') {
11099
2.96k
        if (yych <= 0x00) goto yy875;
11100
2.74k
        if (yych == '\n') goto yy961;
11101
233
        goto yy960;
11102
5.78k
      } else {
11103
5.78k
        if (yych <= '\r') goto yy961;
11104
2.70k
        if (yych == '*') goto yy962;
11105
430
        goto yy960;
11106
2.70k
      }
11107
8.74k
    } else {
11108
3.51k
      if (yych <= '^') {
11109
1.21k
        if (yych <= '9') goto yy808;
11110
1.01k
        if (yych <= '@') goto yy960;
11111
738
        if (yych <= 'Z') goto yy808;
11112
532
        goto yy960;
11113
2.29k
      } else {
11114
2.29k
        if (yych <= '`') {
11115
1.15k
          if (yych <= '_') goto yy808;
11116
430
          goto yy960;
11117
1.15k
        } else {
11118
1.14k
          if (yych <= 'z') goto yy808;
11119
867
          if (yych <= 0x7F) goto yy960;
11120
435
          goto yy808;
11121
867
        }
11122
2.29k
      }
11123
3.51k
    }
11124
3.32k
yy957:
11125
3.32k
    YYDEBUG(957, *YYCURSOR);
11126
3.32k
    ++YYCURSOR;
11127
3.32k
    YYFILL(1);
11128
3.32k
    yych = *YYCURSOR;
11129
3.32k
    if (yych <= ')') {
11130
1.12k
      if (yych <= '\n') {
11131
687
        if (yych <= 0x00) goto yy86;
11132
429
        if (yych <= '\t') goto yy738;
11133
203
        goto yy787;
11134
436
      } else {
11135
436
        if (yych == '\r') goto yy787;
11136
199
        goto yy738;
11137
436
      }
11138
2.20k
    } else {
11139
2.20k
      if (yych <= 'S') {
11140
657
        if (yych <= '*') goto yy789;
11141
455
        if (yych <= 'R') goto yy738;
11142
260
        goto yy963;
11143
1.54k
      } else {
11144
1.54k
        if (yych == 's') goto yy963;
11145
238
        goto yy738;
11146
1.54k
      }
11147
2.20k
    }
11148
6.84k
yy958:
11149
6.84k
    YYDEBUG(958, *YYCURSOR);
11150
6.84k
    ++YYCURSOR;
11151
6.84k
    YYFILL(1);
11152
6.84k
    yych = *YYCURSOR;
11153
6.84k
    if (yych <= ')') {
11154
1.03k
      if (yych <= '\n') {
11155
608
        if (yych <= 0x00) goto yy86;
11156
401
        if (yych <= '\t') goto yy738;
11157
198
        goto yy787;
11158
429
      } else {
11159
429
        if (yych == '\r') goto yy787;
11160
219
        goto yy738;
11161
429
      }
11162
5.80k
    } else {
11163
5.80k
      if (yych <= 'E') {
11164
3.42k
        if (yych <= '*') goto yy789;
11165
3.20k
        if (yych <= 'D') goto yy738;
11166
3.00k
        goto yy964;
11167
3.20k
      } else {
11168
2.37k
        if (yych == 'e') goto yy964;
11169
212
        goto yy738;
11170
2.37k
      }
11171
5.80k
    }
11172
1.71k
yy959:
11173
1.71k
    YYDEBUG(959, *YYCURSOR);
11174
1.71k
    ++YYCURSOR;
11175
1.71k
    YYFILL(1);
11176
1.71k
    yych = *YYCURSOR;
11177
1.71k
    if (yych <= 'S') {
11178
694
      if (yych <= 0x00) goto yy86;
11179
454
      if (yych == '*') goto yy668;
11180
209
      goto yy590;
11181
1.02k
    } else {
11182
1.02k
      if (yych <= 'T') goto yy945;
11183
629
      if (yych == 't') goto yy945;
11184
301
      goto yy590;
11185
629
    }
11186
2.33k
yy960:
11187
2.33k
    YYDEBUG(960, *YYCURSOR);
11188
2.33k
    yyaccept = 91;
11189
2.33k
    YYMARKER = ++YYCURSOR;
11190
2.33k
    YYFILL(1);
11191
2.33k
    yych = *YYCURSOR;
11192
2.33k
    if (yych <= '\f') {
11193
984
      if (yych <= 0x00) goto yy876;
11194
752
      if (yych == '\n') goto yy846;
11195
415
      goto yy808;
11196
1.34k
    } else {
11197
1.34k
      if (yych <= '\r') goto yy846;
11198
1.12k
      if (yych == '*') goto yy848;
11199
870
      goto yy808;
11200
1.12k
    }
11201
5.58k
yy961:
11202
5.58k
    YYDEBUG(961, *YYCURSOR);
11203
5.58k
    yyaccept = 91;
11204
5.58k
    YYMARKER = ++YYCURSOR;
11205
5.58k
    YYFILL(1);
11206
5.58k
    yych = *YYCURSOR;
11207
5.58k
    if (yych <= '#') {
11208
3.24k
      if (yych <= '\f') {
11209
1.41k
        if (yych <= 0x00) goto yy876;
11210
1.18k
        if (yych <= 0x08) goto yy696;
11211
966
        if (yych <= '\n') goto yy846;
11212
574
        goto yy696;
11213
1.82k
      } else {
11214
1.82k
        if (yych <= 0x1F) {
11215
940
          if (yych <= '\r') goto yy846;
11216
194
          goto yy696;
11217
940
        } else {
11218
885
          if (yych <= ' ') goto yy846;
11219
662
          if (yych <= '"') goto yy696;
11220
465
          goto yy877;
11221
662
        }
11222
1.82k
      }
11223
3.24k
    } else {
11224
2.34k
      if (yych <= '/') {
11225
756
        if (yych == '*') goto yy760;
11226
550
        if (yych <= '.') goto yy696;
11227
248
        goto yy878;
11228
1.59k
      } else {
11229
1.59k
        if (yych <= 'F') {
11230
731
          if (yych <= 'E') goto yy696;
11231
535
          goto yy879;
11232
860
        } else {
11233
860
          if (yych == 'f') goto yy879;
11234
356
          goto yy696;
11235
860
        }
11236
1.59k
      }
11237
2.34k
    }
11238
2.27k
yy962:
11239
2.27k
    YYDEBUG(962, *YYCURSOR);
11240
2.27k
    yyaccept = 91;
11241
2.27k
    YYMARKER = ++YYCURSOR;
11242
2.27k
    YYFILL(1);
11243
2.27k
    yych = *YYCURSOR;
11244
2.27k
    if (yych <= '\r') {
11245
1.45k
      if (yych <= '\t') {
11246
394
        if (yych <= 0x00) goto yy876;
11247
194
        goto yy808;
11248
1.06k
      } else {
11249
1.06k
        if (yych <= '\n') goto yy846;
11250
677
        if (yych <= '\f') goto yy808;
11251
271
        goto yy846;
11252
677
      }
11253
1.45k
    } else {
11254
822
      if (yych <= '*') {
11255
414
        if (yych <= ')') goto yy808;
11256
212
        goto yy848;
11257
414
      } else {
11258
408
        if (yych == '/') goto yy694;
11259
196
        goto yy808;
11260
408
      }
11261
822
    }
11262
1.57k
yy963:
11263
1.57k
    YYDEBUG(963, *YYCURSOR);
11264
1.57k
    yyaccept = 94;
11265
1.57k
    YYMARKER = ++YYCURSOR;
11266
1.57k
    YYFILL(1);
11267
1.57k
    yych = *YYCURSOR;
11268
1.57k
    if (yych <= '\f') {
11269
652
      if (yych <= 0x00) goto yy886;
11270
455
      if (yych == '\n') goto yy787;
11271
209
      goto yy738;
11272
919
    } else {
11273
919
      if (yych <= '\r') goto yy787;
11274
707
      if (yych == '*') goto yy789;
11275
500
      goto yy738;
11276
707
    }
11277
5.16k
yy964:
11278
5.16k
    YYDEBUG(964, *YYCURSOR);
11279
5.16k
    ++YYCURSOR;
11280
5.16k
    YYFILL(1);
11281
5.16k
    yych = *YYCURSOR;
11282
5.16k
    if (yych <= ')') {
11283
1.04k
      if (yych <= '\n') {
11284
636
        if (yych <= 0x00) goto yy86;
11285
417
        if (yych <= '\t') goto yy738;
11286
204
        goto yy787;
11287
417
      } else {
11288
404
        if (yych == '\r') goto yy787;
11289
201
        goto yy738;
11290
404
      }
11291
4.12k
    } else {
11292
4.12k
      if (yych <= 'N') {
11293
1.46k
        if (yych <= '*') goto yy789;
11294
1.25k
        if (yych <= 'M') goto yy738;
11295
2.66k
      } else {
11296
2.66k
        if (yych != 'n') goto yy738;
11297
2.66k
      }
11298
4.12k
    }
11299
3.07k
    YYDEBUG(965, *YYCURSOR);
11300
3.07k
    ++YYCURSOR;
11301
3.07k
    YYFILL(1);
11302
3.07k
    yych = *YYCURSOR;
11303
3.07k
    if (yych <= ')') {
11304
1.13k
      if (yych <= '\n') {
11305
734
        if (yych <= 0x00) goto yy86;
11306
531
        if (yych <= '\t') goto yy738;
11307
332
        goto yy787;
11308
531
      } else {
11309
403
        if (yych == '\r') goto yy787;
11310
199
        goto yy738;
11311
403
      }
11312
1.94k
    } else {
11313
1.94k
      if (yych <= 'T') {
11314
652
        if (yych <= '*') goto yy789;
11315
442
        if (yych <= 'S') goto yy738;
11316
244
        goto yy957;
11317
1.28k
      } else {
11318
1.28k
        if (yych == 't') goto yy957;
11319
254
        goto yy738;
11320
1.28k
      }
11321
1.94k
    }
11322
3.07k
  }
11323
/* *********************************** */
11324
62.8k
yyc_ST_LOOKING_FOR_PROPERTY:
11325
62.8k
  {
11326
62.8k
    static const unsigned char yybm[] = {
11327
62.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11328
62.8k
        0,  64,  64,   0,   0,  64,   0,   0, 
11329
62.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
62.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
62.8k
       64,   0,   0,   0,   0,   0,   0,   0, 
11332
62.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11333
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11334
62.8k
      128, 128,   0,   0,   0,   0,   0,   0, 
11335
62.8k
        0, 128, 128, 128, 128, 128, 128, 128, 
11336
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
62.8k
      128, 128, 128,   0,   0,   0,   0, 128, 
11339
62.8k
        0, 128, 128, 128, 128, 128, 128, 128, 
11340
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
62.8k
      128, 128, 128,   0,   0,   0,   0,   0, 
11343
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
62.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
62.8k
    };
11360
62.8k
    YYDEBUG(966, *YYCURSOR);
11361
62.8k
    YYFILL(4);
11362
62.8k
    yych = *YYCURSOR;
11363
62.8k
    if (yybm[0+yych] & 64) {
11364
2.98k
      goto yy970;
11365
2.98k
    }
11366
59.8k
    if (yych <= '?') {
11367
20.1k
      if (yych <= '-') {
11368
11.0k
        if (yych == '#') goto yy973;
11369
8.46k
        if (yych >= '-') goto yy975;
11370
9.06k
      } else {
11371
9.06k
        if (yych == '/') goto yy976;
11372
4.52k
        if (yych >= '?') goto yy977;
11373
4.52k
      }
11374
39.7k
    } else {
11375
39.7k
      if (yych <= '_') {
11376
4.92k
        if (yych <= '@') goto yy968;
11377
4.67k
        if (yych <= 'Z') goto yy978;
11378
2.27k
        if (yych >= '_') goto yy978;
11379
34.8k
      } else {
11380
34.8k
        if (yych <= '`') goto yy968;
11381
34.3k
        if (yych <= 'z') goto yy978;
11382
11.2k
        if (yych >= 0x80) goto yy978;
11383
11.2k
      }
11384
39.7k
    }
11385
5.89k
yy968:
11386
5.89k
    YYDEBUG(968, *YYCURSOR);
11387
5.89k
    ++YYCURSOR;
11388
7.07k
yy969:
11389
7.07k
    YYDEBUG(969, *YYCURSOR);
11390
7.07k
    yyleng = YYCURSOR - SCNG(yy_text);
11391
7.07k
#line 2520 "Zend/zend_language_scanner.l"
11392
7.07k
    {
11393
7.07k
  yyless(0);
11394
7.07k
  yy_pop_state();
11395
7.07k
  goto restart;
11396
5.89k
}
11397
0
#line 11398 "Zend/zend_language_scanner.c"
11398
4.14k
yy970:
11399
4.14k
    YYDEBUG(970, *YYCURSOR);
11400
4.14k
    ++YYCURSOR;
11401
4.14k
    YYFILL(1);
11402
4.14k
    yych = *YYCURSOR;
11403
4.14k
    YYDEBUG(971, *YYCURSOR);
11404
4.14k
    if (yybm[0+yych] & 64) {
11405
1.16k
      goto yy970;
11406
1.16k
    }
11407
2.98k
    YYDEBUG(972, *YYCURSOR);
11408
2.98k
    yyleng = YYCURSOR - SCNG(yy_text);
11409
2.98k
#line 1597 "Zend/zend_language_scanner.l"
11410
2.98k
    {
11411
2.98k
  goto return_whitespace;
11412
4.14k
}
11413
0
#line 11414 "Zend/zend_language_scanner.c"
11414
2.81k
yy973:
11415
2.81k
    YYDEBUG(973, *YYCURSOR);
11416
2.81k
    ++YYCURSOR;
11417
2.81k
    YYDEBUG(974, *YYCURSOR);
11418
2.81k
    yyleng = YYCURSOR - SCNG(yy_text);
11419
2.81k
#line 2460 "Zend/zend_language_scanner.l"
11420
2.81k
    {
11421
9.60k
  while (YYCURSOR < YYLIMIT) {
11422
9.28k
    switch (*YYCURSOR++) {
11423
670
      case '\r':
11424
2.27k
      case '\n':
11425
2.27k
        YYCURSOR--;
11426
2.27k
        break;
11427
1.01k
      case '?':
11428
1.01k
        if (*YYCURSOR == '>') {
11429
211
          YYCURSOR--;
11430
211
          break;
11431
211
        }
11432
800
        ZEND_FALLTHROUGH;
11433
6.79k
      default:
11434
6.79k
        continue;
11435
9.28k
    }
11436
11437
2.48k
    break;
11438
9.28k
  }
11439
11440
2.81k
  yyleng = YYCURSOR - SCNG(yy_text);
11441
2.81k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11442
2.81k
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
5.43k
yy975:
11445
5.43k
    YYDEBUG(975, *YYCURSOR);
11446
5.43k
    yych = *++YYCURSOR;
11447
5.43k
    if (yych == '>') goto yy981;
11448
210
    goto yy969;
11449
4.53k
yy976:
11450
4.53k
    YYDEBUG(976, *YYCURSOR);
11451
4.53k
    yych = *++YYCURSOR;
11452
4.53k
    if (yych == '*') goto yy983;
11453
503
    if (yych == '/') goto yy973;
11454
274
    goto yy969;
11455
3.95k
yy977:
11456
3.95k
    YYDEBUG(977, *YYCURSOR);
11457
3.95k
    yyaccept = 0;
11458
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
11459
3.95k
    if (yych == '-') goto yy985;
11460
438
    goto yy969;
11461
97.4k
yy978:
11462
97.4k
    YYDEBUG(978, *YYCURSOR);
11463
97.4k
    ++YYCURSOR;
11464
97.4k
    YYFILL(1);
11465
97.4k
    yych = *YYCURSOR;
11466
97.4k
    YYDEBUG(979, *YYCURSOR);
11467
97.4k
    if (yybm[0+yych] & 128) {
11468
59.9k
      goto yy978;
11469
59.9k
    }
11470
37.4k
    YYDEBUG(980, *YYCURSOR);
11471
37.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11472
37.4k
#line 1609 "Zend/zend_language_scanner.l"
11473
37.4k
    {
11474
37.4k
  yy_pop_state();
11475
37.4k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11476
37.4k
}
11477
0
#line 11478 "Zend/zend_language_scanner.c"
11478
5.22k
yy981:
11479
5.22k
    YYDEBUG(981, *YYCURSOR);
11480
5.22k
    ++YYCURSOR;
11481
5.22k
    YYDEBUG(982, *YYCURSOR);
11482
5.22k
    yyleng = YYCURSOR - SCNG(yy_text);
11483
5.22k
#line 1601 "Zend/zend_language_scanner.l"
11484
5.22k
    {
11485
5.22k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11486
5.22k
}
11487
0
#line 11488 "Zend/zend_language_scanner.c"
11488
4.03k
yy983:
11489
4.03k
    YYDEBUG(983, *YYCURSOR);
11490
4.03k
    yyaccept = 1;
11491
4.03k
    yych = *(YYMARKER = ++YYCURSOR);
11492
4.03k
    if (yych == '*') goto yy987;
11493
4.03k
yy984:
11494
4.03k
    YYDEBUG(984, *YYCURSOR);
11495
4.03k
    yyleng = YYCURSOR - SCNG(yy_text);
11496
4.03k
#line 2484 "Zend/zend_language_scanner.l"
11497
4.03k
    {
11498
4.03k
  int doc_com;
11499
11500
4.03k
  if (yyleng > 2) {
11501
1.90k
    doc_com = 1;
11502
1.90k
    RESET_DOC_COMMENT();
11503
2.12k
  } else {
11504
2.12k
    doc_com = 0;
11505
2.12k
  }
11506
11507
86.5k
  while (YYCURSOR < YYLIMIT) {
11508
85.6k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11509
3.12k
      break;
11510
3.12k
    }
11511
85.6k
  }
11512
11513
4.03k
  if (YYCURSOR < YYLIMIT) {
11514
3.12k
    YYCURSOR++;
11515
3.12k
  } else {
11516
912
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11517
912
    if (PARSER_MODE()) {
11518
97
      RETURN_TOKEN(T_ERROR);
11519
97
    }
11520
912
  }
11521
11522
3.93k
  yyleng = YYCURSOR - SCNG(yy_text);
11523
3.93k
  HANDLE_NEWLINES(yytext, yyleng);
11524
11525
3.93k
  if (doc_com) {
11526
1.86k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11527
1.86k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11528
1.86k
  }
11529
11530
2.07k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11531
2.07k
}
11532
0
#line 11533 "Zend/zend_language_scanner.c"
11533
3.51k
yy985:
11534
3.51k
    YYDEBUG(985, *YYCURSOR);
11535
3.51k
    yych = *++YYCURSOR;
11536
3.51k
    if (yych == '>') goto yy988;
11537
1.78k
yy986:
11538
1.78k
    YYDEBUG(986, *YYCURSOR);
11539
1.78k
    YYCURSOR = YYMARKER;
11540
1.78k
    if (yyaccept == 0) {
11541
261
      goto yy969;
11542
1.52k
    } else {
11543
1.52k
      goto yy984;
11544
1.52k
    }
11545
3.43k
yy987:
11546
3.43k
    YYDEBUG(987, *YYCURSOR);
11547
3.43k
    yych = *++YYCURSOR;
11548
3.43k
    if (yych <= '\f') {
11549
1.90k
      if (yych <= 0x08) goto yy986;
11550
1.46k
      if (yych <= '\n') goto yy990;
11551
216
      goto yy986;
11552
1.52k
    } else {
11553
1.52k
      if (yych <= '\r') goto yy990;
11554
1.10k
      if (yych == ' ') goto yy990;
11555
859
      goto yy986;
11556
1.10k
    }
11557
3.25k
yy988:
11558
3.25k
    YYDEBUG(988, *YYCURSOR);
11559
3.25k
    ++YYCURSOR;
11560
3.25k
    YYDEBUG(989, *YYCURSOR);
11561
3.25k
    yyleng = YYCURSOR - SCNG(yy_text);
11562
3.25k
#line 1605 "Zend/zend_language_scanner.l"
11563
3.25k
    {
11564
3.25k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11565
3.25k
}
11566
0
#line 11567 "Zend/zend_language_scanner.c"
11567
2.87k
yy990:
11568
2.87k
    YYDEBUG(990, *YYCURSOR);
11569
2.87k
    ++YYCURSOR;
11570
2.87k
    YYFILL(1);
11571
2.87k
    yych = *YYCURSOR;
11572
2.87k
    YYDEBUG(991, *YYCURSOR);
11573
2.87k
    if (yych <= '\f') {
11574
1.47k
      if (yych <= 0x08) goto yy984;
11575
924
      if (yych <= '\n') goto yy990;
11576
610
      goto yy984;
11577
1.40k
    } else {
11578
1.40k
      if (yych <= '\r') goto yy990;
11579
980
      if (yych == ' ') goto yy990;
11580
746
      goto yy984;
11581
980
    }
11582
2.87k
  }
11583
/* *********************************** */
11584
64.4k
yyc_ST_BACKQUOTE:
11585
64.4k
  {
11586
64.4k
    static const unsigned char yybm[] = {
11587
64.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
64.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
64.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
64.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
64.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
64.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11594
64.4k
      128, 128,   0,   0,   0,   0,   0,   0, 
11595
64.4k
        0, 128, 128, 128, 128, 128, 128, 128, 
11596
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
64.4k
      128, 128, 128,   0,   0,   0,   0, 128, 
11599
64.4k
        0, 128, 128, 128, 128, 128, 128, 128, 
11600
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
64.4k
      128, 128, 128,   0,   0,   0,   0,   0, 
11603
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
64.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
64.4k
    };
11620
64.4k
    YYDEBUG(992, *YYCURSOR);
11621
64.4k
    YYFILL(2);
11622
64.4k
    yych = *YYCURSOR;
11623
64.4k
    if (yych <= '_') {
11624
47.5k
      if (yych == '$') goto yy996;
11625
47.5k
    } else {
11626
16.8k
      if (yych <= '`') goto yy997;
11627
5.94k
      if (yych == '{') goto yy999;
11628
5.94k
    }
11629
26.3k
    YYDEBUG(994, *YYCURSOR);
11630
26.3k
    ++YYCURSOR;
11631
28.9k
yy995:
11632
28.9k
    YYDEBUG(995, *YYCURSOR);
11633
28.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11634
28.9k
#line 2918 "Zend/zend_language_scanner.l"
11635
28.9k
    {
11636
28.9k
  if (YYCURSOR > YYLIMIT) {
11637
3.88k
    RETURN_END_TOKEN;
11638
3.88k
  }
11639
25.1k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11640
1.11k
    YYCURSOR++;
11641
1.11k
  }
11642
11643
216k
  while (YYCURSOR < YYLIMIT) {
11644
212k
    switch (*YYCURSOR++) {
11645
4.59k
      case '`':
11646
4.59k
        break;
11647
19.1k
      case '$':
11648
19.1k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11649
16.1k
          break;
11650
16.1k
        }
11651
3.04k
        continue;
11652
3.04k
      case '{':
11653
2.79k
        if (*YYCURSOR == '$') {
11654
852
          break;
11655
852
        }
11656
1.94k
        continue;
11657
4.37k
      case '\\':
11658
4.37k
        if (YYCURSOR < YYLIMIT) {
11659
4.02k
          YYCURSOR++;
11660
4.02k
        }
11661
4.37k
        ZEND_FALLTHROUGH;
11662
186k
      default:
11663
186k
        continue;
11664
212k
    }
11665
11666
21.5k
    YYCURSOR--;
11667
21.5k
    break;
11668
212k
  }
11669
11670
25.1k
  yyleng = YYCURSOR - SCNG(yy_text);
11671
11672
25.1k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11673
25.0k
   || !PARSER_MODE()) {
11674
25.0k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11675
25.0k
  } else {
11676
10
    RETURN_TOKEN(T_ERROR);
11677
10
  }
11678
25.1k
}
11679
0
#line 11680 "Zend/zend_language_scanner.c"
11680
25.3k
yy996:
11681
25.3k
    YYDEBUG(996, *YYCURSOR);
11682
25.3k
    yych = *++YYCURSOR;
11683
25.3k
    if (yych <= '_') {
11684
5.26k
      if (yych <= '@') goto yy995;
11685
4.23k
      if (yych <= 'Z') goto yy1000;
11686
2.94k
      if (yych <= '^') goto yy995;
11687
2.70k
      goto yy1000;
11688
20.1k
    } else {
11689
20.1k
      if (yych <= 'z') {
11690
5.90k
        if (yych <= '`') goto yy995;
11691
5.62k
        goto yy1000;
11692
14.2k
      } else {
11693
14.2k
        if (yych <= '{') goto yy1003;
11694
5.23k
        if (yych <= 0x7F) goto yy995;
11695
5.00k
        goto yy1000;
11696
5.23k
      }
11697
20.1k
    }
11698
10.9k
yy997:
11699
10.9k
    YYDEBUG(997, *YYCURSOR);
11700
10.9k
    ++YYCURSOR;
11701
10.9k
    YYDEBUG(998, *YYCURSOR);
11702
10.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11703
10.9k
#line 2858 "Zend/zend_language_scanner.l"
11704
10.9k
    {
11705
10.9k
  BEGIN(ST_IN_SCRIPTING);
11706
10.9k
  RETURN_TOKEN('`');
11707
10.9k
}
11708
0
#line 11709 "Zend/zend_language_scanner.c"
11709
1.74k
yy999:
11710
1.74k
    YYDEBUG(999, *YYCURSOR);
11711
1.74k
    yych = *++YYCURSOR;
11712
1.74k
    if (yych == '$') goto yy1005;
11713
832
    goto yy995;
11714
28.8k
yy1000:
11715
28.8k
    YYDEBUG(1000, *YYCURSOR);
11716
28.8k
    YYMARKER = ++YYCURSOR;
11717
28.8k
    YYFILL(4);
11718
28.8k
    yych = *YYCURSOR;
11719
28.8k
    YYDEBUG(1001, *YYCURSOR);
11720
28.8k
    if (yybm[0+yych] & 128) {
11721
14.1k
      goto yy1000;
11722
14.1k
    }
11723
14.6k
    if (yych <= '>') {
11724
8.33k
      if (yych == '-') goto yy1007;
11725
8.33k
    } else {
11726
6.28k
      if (yych <= '?') goto yy1009;
11727
2.92k
      if (yych <= '@') goto yy1002;
11728
2.66k
      if (yych <= '[') goto yy1010;
11729
2.66k
    }
11730
10.8k
yy1002:
11731
10.8k
    YYDEBUG(1002, *YYCURSOR);
11732
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
10.8k
#line 2417 "Zend/zend_language_scanner.l"
11734
10.8k
    {
11735
10.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11736
10.8k
}
11737
0
#line 11738 "Zend/zend_language_scanner.c"
11738
8.97k
yy1003:
11739
8.97k
    YYDEBUG(1003, *YYCURSOR);
11740
8.97k
    ++YYCURSOR;
11741
8.97k
    YYDEBUG(1004, *YYCURSOR);
11742
8.97k
    yyleng = YYCURSOR - SCNG(yy_text);
11743
8.97k
#line 1981 "Zend/zend_language_scanner.l"
11744
8.97k
    {
11745
8.97k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11746
8.97k
  enter_nesting('{');
11747
8.97k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11748
8.97k
}
11749
0
#line 11750 "Zend/zend_language_scanner.c"
11750
909
yy1005:
11751
909
    YYDEBUG(1005, *YYCURSOR);
11752
909
    ++YYCURSOR;
11753
909
    YYDEBUG(1006, *YYCURSOR);
11754
909
    yyleng = YYCURSOR - SCNG(yy_text);
11755
909
#line 2845 "Zend/zend_language_scanner.l"
11756
909
    {
11757
909
  yy_push_state(ST_IN_SCRIPTING);
11758
909
  yyless(1);
11759
909
  enter_nesting('{');
11760
909
  RETURN_TOKEN(T_CURLY_OPEN);
11761
909
}
11762
0
#line 11763 "Zend/zend_language_scanner.c"
11763
3.70k
yy1007:
11764
3.70k
    YYDEBUG(1007, *YYCURSOR);
11765
3.70k
    yych = *++YYCURSOR;
11766
3.70k
    if (yych == '>') goto yy1012;
11767
4.01k
yy1008:
11768
4.01k
    YYDEBUG(1008, *YYCURSOR);
11769
4.01k
    YYCURSOR = YYMARKER;
11770
4.01k
    goto yy1002;
11771
3.36k
yy1009:
11772
3.36k
    YYDEBUG(1009, *YYCURSOR);
11773
3.36k
    yych = *++YYCURSOR;
11774
3.36k
    if (yych == '-') goto yy1013;
11775
504
    goto yy1008;
11776
679
yy1010:
11777
679
    YYDEBUG(1010, *YYCURSOR);
11778
679
    ++YYCURSOR;
11779
679
    YYDEBUG(1011, *YYCURSOR);
11780
679
    yyleng = YYCURSOR - SCNG(yy_text);
11781
679
#line 2411 "Zend/zend_language_scanner.l"
11782
679
    {
11783
679
  yyless(yyleng - 1);
11784
679
  yy_push_state(ST_VAR_OFFSET);
11785
679
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11786
679
}
11787
0
#line 11788 "Zend/zend_language_scanner.c"
11788
2.77k
yy1012:
11789
2.77k
    YYDEBUG(1012, *YYCURSOR);
11790
2.77k
    yych = *++YYCURSOR;
11791
2.77k
    if (yych <= '_') {
11792
1.15k
      if (yych <= '@') goto yy1008;
11793
847
      if (yych <= 'Z') goto yy1014;
11794
470
      if (yych <= '^') goto yy1008;
11795
232
      goto yy1014;
11796
1.61k
    } else {
11797
1.61k
      if (yych <= '`') goto yy1008;
11798
1.41k
      if (yych <= 'z') goto yy1014;
11799
1.20k
      if (yych <= 0x7F) goto yy1008;
11800
893
      goto yy1014;
11801
1.20k
    }
11802
2.85k
yy1013:
11803
2.85k
    YYDEBUG(1013, *YYCURSOR);
11804
2.85k
    yych = *++YYCURSOR;
11805
2.85k
    if (yych == '>') goto yy1016;
11806
412
    goto yy1008;
11807
1.71k
yy1014:
11808
1.71k
    YYDEBUG(1014, *YYCURSOR);
11809
1.71k
    ++YYCURSOR;
11810
1.71k
    YYDEBUG(1015, *YYCURSOR);
11811
1.71k
    yyleng = YYCURSOR - SCNG(yy_text);
11812
1.71k
#line 2397 "Zend/zend_language_scanner.l"
11813
1.71k
    {
11814
1.71k
  yyless(yyleng - 3);
11815
1.71k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11816
1.71k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
1.71k
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
2.44k
yy1016:
11820
2.44k
    YYDEBUG(1016, *YYCURSOR);
11821
2.44k
    yych = *++YYCURSOR;
11822
2.44k
    if (yych <= '_') {
11823
1.30k
      if (yych <= '@') goto yy1008;
11824
1.09k
      if (yych <= 'Z') goto yy1017;
11825
832
      if (yych <= '^') goto yy1008;
11826
1.14k
    } else {
11827
1.14k
      if (yych <= '`') goto yy1008;
11828
668
      if (yych <= 'z') goto yy1017;
11829
449
      if (yych <= 0x7F) goto yy1008;
11830
449
    }
11831
1.33k
yy1017:
11832
1.33k
    YYDEBUG(1017, *YYCURSOR);
11833
1.33k
    ++YYCURSOR;
11834
1.33k
    YYDEBUG(1018, *YYCURSOR);
11835
1.33k
    yyleng = YYCURSOR - SCNG(yy_text);
11836
1.33k
#line 2403 "Zend/zend_language_scanner.l"
11837
1.33k
    {
11838
1.33k
  yyless(yyleng - 4);
11839
1.33k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11840
1.33k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11841
1.33k
}
11842
1.33k
#line 11843 "Zend/zend_language_scanner.c"
11843
1.33k
  }
11844
/* *********************************** */
11845
133k
yyc_ST_DOUBLE_QUOTES:
11846
133k
  {
11847
133k
    static const unsigned char yybm[] = {
11848
133k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
133k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
133k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
133k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
133k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
133k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11855
133k
      128, 128,   0,   0,   0,   0,   0,   0, 
11856
133k
        0, 128, 128, 128, 128, 128, 128, 128, 
11857
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
133k
      128, 128, 128,   0,   0,   0,   0, 128, 
11860
133k
        0, 128, 128, 128, 128, 128, 128, 128, 
11861
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
133k
      128, 128, 128,   0,   0,   0,   0,   0, 
11864
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
133k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
133k
    };
11881
133k
    YYDEBUG(1019, *YYCURSOR);
11882
133k
    YYFILL(2);
11883
133k
    yych = *YYCURSOR;
11884
133k
    if (yych <= '#') {
11885
20.6k
      if (yych == '"') goto yy1023;
11886
112k
    } else {
11887
112k
      if (yych <= '$') goto yy1025;
11888
38.3k
      if (yych == '{') goto yy1026;
11889
38.3k
    }
11890
53.9k
    YYDEBUG(1021, *YYCURSOR);
11891
53.9k
    ++YYCURSOR;
11892
66.8k
yy1022:
11893
66.8k
    YYDEBUG(1022, *YYCURSOR);
11894
66.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11895
66.8k
#line 2864 "Zend/zend_language_scanner.l"
11896
66.8k
    {
11897
66.8k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11898
20.1k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11899
20.1k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11900
11901
20.1k
    goto double_quotes_scan_done;
11902
20.1k
  }
11903
11904
46.6k
  if (YYCURSOR > YYLIMIT) {
11905
5.56k
    RETURN_END_TOKEN;
11906
5.56k
  }
11907
41.0k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11908
663
    YYCURSOR++;
11909
663
  }
11910
11911
262k
  while (YYCURSOR < YYLIMIT) {
11912
260k
    switch (*YYCURSOR++) {
11913
2.21k
      case '"':
11914
2.21k
        break;
11915
44.0k
      case '$':
11916
44.0k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11917
36.7k
          break;
11918
36.7k
        }
11919
7.25k
        continue;
11920
7.25k
      case '{':
11921
1.30k
        if (*YYCURSOR == '$') {
11922
243
          break;
11923
243
        }
11924
1.06k
        continue;
11925
2.55k
      case '\\':
11926
2.55k
        if (YYCURSOR < YYLIMIT) {
11927
2.31k
          YYCURSOR++;
11928
2.31k
        }
11929
2.55k
        ZEND_FALLTHROUGH;
11930
212k
      default:
11931
212k
        continue;
11932
260k
    }
11933
11934
39.2k
    YYCURSOR--;
11935
39.2k
    break;
11936
260k
  }
11937
11938
61.2k
double_quotes_scan_done:
11939
61.2k
  yyleng = YYCURSOR - SCNG(yy_text);
11940
11941
61.2k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11942
61.1k
   || !PARSER_MODE()) {
11943
61.1k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11944
61.1k
  } else {
11945
50
    RETURN_TOKEN(T_ERROR);
11946
50
  }
11947
61.2k
}
11948
0
#line 11949 "Zend/zend_language_scanner.c"
11949
3.55k
yy1023:
11950
3.55k
    YYDEBUG(1023, *YYCURSOR);
11951
3.55k
    ++YYCURSOR;
11952
3.55k
    YYDEBUG(1024, *YYCURSOR);
11953
3.55k
    yyleng = YYCURSOR - SCNG(yy_text);
11954
3.55k
#line 2853 "Zend/zend_language_scanner.l"
11955
3.55k
    {
11956
3.55k
  BEGIN(ST_IN_SCRIPTING);
11957
3.55k
  RETURN_TOKEN('"');
11958
3.55k
}
11959
0
#line 11960 "Zend/zend_language_scanner.c"
11960
74.1k
yy1025:
11961
74.1k
    YYDEBUG(1025, *YYCURSOR);
11962
74.1k
    yych = *++YYCURSOR;
11963
74.1k
    if (yych <= '_') {
11964
32.3k
      if (yych <= '@') goto yy1022;
11965
21.5k
      if (yych <= 'Z') goto yy1027;
11966
2.72k
      if (yych <= '^') goto yy1022;
11967
2.32k
      goto yy1027;
11968
41.8k
    } else {
11969
41.8k
      if (yych <= 'z') {
11970
14.3k
        if (yych <= '`') goto yy1022;
11971
13.5k
        goto yy1027;
11972
27.4k
      } else {
11973
27.4k
        if (yych <= '{') goto yy1030;
11974
11.9k
        if (yych <= 0x7F) goto yy1022;
11975
11.5k
        goto yy1027;
11976
11.9k
      }
11977
41.8k
    }
11978
1.48k
yy1026:
11979
1.48k
    YYDEBUG(1026, *YYCURSOR);
11980
1.48k
    yych = *++YYCURSOR;
11981
1.48k
    if (yych == '$') goto yy1032;
11982
683
    goto yy1022;
11983
135k
yy1027:
11984
135k
    YYDEBUG(1027, *YYCURSOR);
11985
135k
    YYMARKER = ++YYCURSOR;
11986
135k
    YYFILL(4);
11987
135k
    yych = *YYCURSOR;
11988
135k
    YYDEBUG(1028, *YYCURSOR);
11989
135k
    if (yybm[0+yych] & 128) {
11990
89.4k
      goto yy1027;
11991
89.4k
    }
11992
46.3k
    if (yych <= '>') {
11993
32.8k
      if (yych == '-') goto yy1034;
11994
32.8k
    } else {
11995
13.5k
      if (yych <= '?') goto yy1036;
11996
8.68k
      if (yych <= '@') goto yy1029;
11997
8.40k
      if (yych <= '[') goto yy1037;
11998
8.40k
    }
11999
36.6k
yy1029:
12000
36.6k
    YYDEBUG(1029, *YYCURSOR);
12001
36.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12002
36.6k
#line 2417 "Zend/zend_language_scanner.l"
12003
36.6k
    {
12004
36.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12005
36.6k
}
12006
0
#line 12007 "Zend/zend_language_scanner.c"
12007
15.5k
yy1030:
12008
15.5k
    YYDEBUG(1030, *YYCURSOR);
12009
15.5k
    ++YYCURSOR;
12010
15.5k
    YYDEBUG(1031, *YYCURSOR);
12011
15.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12012
15.5k
#line 1981 "Zend/zend_language_scanner.l"
12013
15.5k
    {
12014
15.5k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12015
15.5k
  enter_nesting('{');
12016
15.5k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12017
15.5k
}
12018
0
#line 12019 "Zend/zend_language_scanner.c"
12019
806
yy1032:
12020
806
    YYDEBUG(1032, *YYCURSOR);
12021
806
    ++YYCURSOR;
12022
806
    YYDEBUG(1033, *YYCURSOR);
12023
806
    yyleng = YYCURSOR - SCNG(yy_text);
12024
806
#line 2845 "Zend/zend_language_scanner.l"
12025
806
    {
12026
806
  yy_push_state(ST_IN_SCRIPTING);
12027
806
  yyless(1);
12028
806
  enter_nesting('{');
12029
806
  RETURN_TOKEN(T_CURLY_OPEN);
12030
806
}
12031
0
#line 12032 "Zend/zend_language_scanner.c"
12032
4.93k
yy1034:
12033
4.93k
    YYDEBUG(1034, *YYCURSOR);
12034
4.93k
    yych = *++YYCURSOR;
12035
4.93k
    if (yych == '>') goto yy1039;
12036
6.49k
yy1035:
12037
6.49k
    YYDEBUG(1035, *YYCURSOR);
12038
6.49k
    YYCURSOR = YYMARKER;
12039
6.49k
    goto yy1029;
12040
4.87k
yy1036:
12041
4.87k
    YYDEBUG(1036, *YYCURSOR);
12042
4.87k
    yych = *++YYCURSOR;
12043
4.87k
    if (yych == '-') goto yy1040;
12044
1.77k
    goto yy1035;
12045
6.45k
yy1037:
12046
6.45k
    YYDEBUG(1037, *YYCURSOR);
12047
6.45k
    ++YYCURSOR;
12048
6.45k
    YYDEBUG(1038, *YYCURSOR);
12049
6.45k
    yyleng = YYCURSOR - SCNG(yy_text);
12050
6.45k
#line 2411 "Zend/zend_language_scanner.l"
12051
6.45k
    {
12052
6.45k
  yyless(yyleng - 1);
12053
6.45k
  yy_push_state(ST_VAR_OFFSET);
12054
6.45k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12055
6.45k
}
12056
0
#line 12057 "Zend/zend_language_scanner.c"
12057
3.58k
yy1039:
12058
3.58k
    YYDEBUG(1039, *YYCURSOR);
12059
3.58k
    yych = *++YYCURSOR;
12060
3.58k
    if (yych <= '_') {
12061
1.17k
      if (yych <= '@') goto yy1035;
12062
844
      if (yych <= 'Z') goto yy1041;
12063
606
      if (yych <= '^') goto yy1035;
12064
235
      goto yy1041;
12065
2.41k
    } else {
12066
2.41k
      if (yych <= '`') goto yy1035;
12067
2.21k
      if (yych <= 'z') goto yy1041;
12068
679
      if (yych <= 0x7F) goto yy1035;
12069
427
      goto yy1041;
12070
679
    }
12071
3.10k
yy1040:
12072
3.10k
    YYDEBUG(1040, *YYCURSOR);
12073
3.10k
    yych = *++YYCURSOR;
12074
3.10k
    if (yych == '>') goto yy1043;
12075
1.34k
    goto yy1035;
12076
2.43k
yy1041:
12077
2.43k
    YYDEBUG(1041, *YYCURSOR);
12078
2.43k
    ++YYCURSOR;
12079
2.43k
    YYDEBUG(1042, *YYCURSOR);
12080
2.43k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
2.43k
#line 2397 "Zend/zend_language_scanner.l"
12082
2.43k
    {
12083
2.43k
  yyless(yyleng - 3);
12084
2.43k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12085
2.43k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
2.43k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
1.75k
yy1043:
12089
1.75k
    YYDEBUG(1043, *YYCURSOR);
12090
1.75k
    yych = *++YYCURSOR;
12091
1.75k
    if (yych <= '_') {
12092
850
      if (yych <= '@') goto yy1035;
12093
630
      if (yych <= 'Z') goto yy1044;
12094
422
      if (yych <= '^') goto yy1035;
12095
905
    } else {
12096
905
      if (yych <= '`') goto yy1035;
12097
701
      if (yych <= 'z') goto yy1044;
12098
455
      if (yych <= 0x7F) goto yy1035;
12099
455
    }
12100
880
yy1044:
12101
880
    YYDEBUG(1044, *YYCURSOR);
12102
880
    ++YYCURSOR;
12103
880
    YYDEBUG(1045, *YYCURSOR);
12104
880
    yyleng = YYCURSOR - SCNG(yy_text);
12105
880
#line 2403 "Zend/zend_language_scanner.l"
12106
880
    {
12107
880
  yyless(yyleng - 4);
12108
880
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12109
880
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12110
880
}
12111
880
#line 12112 "Zend/zend_language_scanner.c"
12112
880
  }
12113
/* *********************************** */
12114
3.00M
yyc_ST_HEREDOC:
12115
3.00M
  {
12116
3.00M
    static const unsigned char yybm[] = {
12117
3.00M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
3.00M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
3.00M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
3.00M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
3.00M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
3.00M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12124
3.00M
      128, 128,   0,   0,   0,   0,   0,   0, 
12125
3.00M
        0, 128, 128, 128, 128, 128, 128, 128, 
12126
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
3.00M
      128, 128, 128,   0,   0,   0,   0, 128, 
12129
3.00M
        0, 128, 128, 128, 128, 128, 128, 128, 
12130
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
3.00M
      128, 128, 128,   0,   0,   0,   0,   0, 
12133
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
3.00M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
3.00M
    };
12150
3.00M
    YYDEBUG(1046, *YYCURSOR);
12151
3.00M
    YYFILL(2);
12152
3.00M
    yych = *YYCURSOR;
12153
3.00M
    if (yych == '$') goto yy1050;
12154
412k
    if (yych == '{') goto yy1051;
12155
388k
    YYDEBUG(1048, *YYCURSOR);
12156
388k
    ++YYCURSOR;
12157
516k
yy1049:
12158
516k
    YYDEBUG(1049, *YYCURSOR);
12159
516k
    yyleng = YYCURSOR - SCNG(yy_text);
12160
516k
#line 2964 "Zend/zend_language_scanner.l"
12161
516k
    {
12162
516k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12163
516k
  int newline = 0, indentation = 0, spacing = 0;
12164
12165
516k
  if (YYCURSOR > YYLIMIT) {
12166
9.67k
    RETURN_END_TOKEN;
12167
9.67k
  }
12168
12169
507k
  YYCURSOR--;
12170
12171
4.04M
  while (YYCURSOR < YYLIMIT) {
12172
4.03M
    switch (*YYCURSOR++) {
12173
24.8k
      case '\r':
12174
24.8k
        if (*YYCURSOR == '\n') {
12175
1.52k
          YYCURSOR++;
12176
1.52k
        }
12177
24.8k
        ZEND_FALLTHROUGH;
12178
409k
      case '\n':
12179
409k
        indentation = spacing = 0;
12180
12181
419k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12182
9.87k
          if (*YYCURSOR == '\t') {
12183
2.95k
            spacing |= HEREDOC_USING_TABS;
12184
6.91k
          } else {
12185
6.91k
            spacing |= HEREDOC_USING_SPACES;
12186
6.91k
          }
12187
9.87k
          ++YYCURSOR;
12188
9.87k
          ++indentation;
12189
9.87k
        }
12190
12191
409k
        if (YYCURSOR == YYLIMIT) {
12192
1.38k
          yyleng = YYCURSOR - SCNG(yy_text);
12193
1.38k
          HANDLE_NEWLINES(yytext, yyleng);
12194
1.38k
          ZVAL_NULL(zendlval);
12195
1.38k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12196
1.38k
        }
12197
12198
        /* Check for ending label on the next line */
12199
408k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12200
8.16k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12201
3.52k
            continue;
12202
3.52k
          }
12203
12204
4.63k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12205
201
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12206
201
            if (PARSER_MODE()) {
12207
6
              RETURN_TOKEN(T_ERROR);
12208
6
            }
12209
201
          }
12210
12211
          /* newline before label will be subtracted from returned text, but
12212
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12213
4.63k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12214
203
            newline = 2; /* Windows newline */
12215
4.43k
          } else {
12216
4.43k
            newline = 1;
12217
4.43k
          }
12218
12219
4.63k
          CG(increment_lineno) = 1; /* For newline before label */
12220
12221
4.63k
          if (SCNG(heredoc_scan_ahead)) {
12222
3.25k
            SCNG(heredoc_indentation) = indentation;
12223
3.25k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12224
3.25k
          } else {
12225
1.37k
            YYCURSOR -= indentation;
12226
1.37k
          }
12227
12228
4.63k
          BEGIN(ST_END_HEREDOC);
12229
12230
4.63k
          goto heredoc_scan_done;
12231
4.63k
        }
12232
400k
        continue;
12233
638k
      case '$':
12234
638k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12235
490k
          break;
12236
490k
        }
12237
148k
        continue;
12238
148k
      case '{':
12239
87.7k
        if (*YYCURSOR == '$') {
12240
3.96k
          break;
12241
3.96k
        }
12242
83.8k
        continue;
12243
83.8k
      case '\\':
12244
9.60k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12245
8.87k
          YYCURSOR++;
12246
8.87k
        }
12247
9.60k
        ZEND_FALLTHROUGH;
12248
2.90M
      default:
12249
2.90M
        continue;
12250
4.03M
    }
12251
12252
494k
    YYCURSOR--;
12253
494k
    break;
12254
4.03M
  }
12255
12256
505k
heredoc_scan_done:
12257
12258
505k
  yyleng = YYCURSOR - SCNG(yy_text);
12259
505k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12260
12261
505k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12262
28.6k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12263
28.6k
    zend_string *copy = Z_STR_P(zendlval);
12264
12265
28.6k
    if (!strip_multiline_string_indentation(
12266
28.6k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12267
28.6k
        newline_at_start, newline != 0)) {
12268
6
      RETURN_TOKEN(T_ERROR);
12269
6
    }
12270
12271
28.6k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12272
6
      zend_string_efree(copy);
12273
6
      RETURN_TOKEN(T_ERROR);
12274
6
    }
12275
12276
28.6k
    zend_string_efree(copy);
12277
477k
  } else {
12278
477k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12279
477k
  }
12280
12281
505k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12282
505k
}
12283
0
#line 12284 "Zend/zend_language_scanner.c"
12284
2.59M
yy1050:
12285
2.59M
    YYDEBUG(1050, *YYCURSOR);
12286
2.59M
    yych = *++YYCURSOR;
12287
2.59M
    if (yych <= '_') {
12288
123k
      if (yych <= '@') goto yy1049;
12289
19.0k
      if (yych <= 'Z') goto yy1052;
12290
4.91k
      if (yych <= '^') goto yy1049;
12291
3.07k
      goto yy1052;
12292
2.47M
    } else {
12293
2.47M
      if (yych <= 'z') {
12294
39.1k
        if (yych <= '`') goto yy1049;
12295
38.7k
        goto yy1052;
12296
2.43M
      } else {
12297
2.43M
        if (yych <= '{') goto yy1055;
12298
107k
        if (yych <= 0x7F) goto yy1049;
12299
102k
        goto yy1052;
12300
107k
      }
12301
2.47M
    }
12302
24.0k
yy1051:
12303
24.0k
    YYDEBUG(1051, *YYCURSOR);
12304
24.0k
    yych = *++YYCURSOR;
12305
24.0k
    if (yych == '$') goto yy1057;
12306
17.3k
    goto yy1049;
12307
342k
yy1052:
12308
342k
    YYDEBUG(1052, *YYCURSOR);
12309
342k
    YYMARKER = ++YYCURSOR;
12310
342k
    YYFILL(4);
12311
342k
    yych = *YYCURSOR;
12312
342k
    YYDEBUG(1053, *YYCURSOR);
12313
342k
    if (yybm[0+yych] & 128) {
12314
184k
      goto yy1052;
12315
184k
    }
12316
158k
    if (yych <= '>') {
12317
128k
      if (yych == '-') goto yy1059;
12318
128k
    } else {
12319
29.9k
      if (yych <= '?') goto yy1061;
12320
25.1k
      if (yych <= '@') goto yy1054;
12321
24.5k
      if (yych <= '[') goto yy1062;
12322
24.5k
    }
12323
144k
yy1054:
12324
144k
    YYDEBUG(1054, *YYCURSOR);
12325
144k
    yyleng = YYCURSOR - SCNG(yy_text);
12326
144k
#line 2417 "Zend/zend_language_scanner.l"
12327
144k
    {
12328
144k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12329
144k
}
12330
0
#line 12331 "Zend/zend_language_scanner.c"
12331
2.32M
yy1055:
12332
2.32M
    YYDEBUG(1055, *YYCURSOR);
12333
2.32M
    ++YYCURSOR;
12334
2.32M
    YYDEBUG(1056, *YYCURSOR);
12335
2.32M
    yyleng = YYCURSOR - SCNG(yy_text);
12336
2.32M
#line 1981 "Zend/zend_language_scanner.l"
12337
2.32M
    {
12338
2.32M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12339
2.32M
  enter_nesting('{');
12340
2.32M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12341
2.32M
}
12342
0
#line 12343 "Zend/zend_language_scanner.c"
12343
6.69k
yy1057:
12344
6.69k
    YYDEBUG(1057, *YYCURSOR);
12345
6.69k
    ++YYCURSOR;
12346
6.69k
    YYDEBUG(1058, *YYCURSOR);
12347
6.69k
    yyleng = YYCURSOR - SCNG(yy_text);
12348
6.69k
#line 2845 "Zend/zend_language_scanner.l"
12349
6.69k
    {
12350
6.69k
  yy_push_state(ST_IN_SCRIPTING);
12351
6.69k
  yyless(1);
12352
6.69k
  enter_nesting('{');
12353
6.69k
  RETURN_TOKEN(T_CURLY_OPEN);
12354
6.69k
}
12355
0
#line 12356 "Zend/zend_language_scanner.c"
12356
2.68k
yy1059:
12357
2.68k
    YYDEBUG(1059, *YYCURSOR);
12358
2.68k
    yych = *++YYCURSOR;
12359
2.68k
    if (yych == '>') goto yy1064;
12360
5.35k
yy1060:
12361
5.35k
    YYDEBUG(1060, *YYCURSOR);
12362
5.35k
    YYCURSOR = YYMARKER;
12363
5.35k
    goto yy1054;
12364
4.74k
yy1061:
12365
4.74k
    YYDEBUG(1061, *YYCURSOR);
12366
4.74k
    yych = *++YYCURSOR;
12367
4.74k
    if (yych == '-') goto yy1065;
12368
1.78k
    goto yy1060;
12369
11.4k
yy1062:
12370
11.4k
    YYDEBUG(1062, *YYCURSOR);
12371
11.4k
    ++YYCURSOR;
12372
11.4k
    YYDEBUG(1063, *YYCURSOR);
12373
11.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12374
11.4k
#line 2411 "Zend/zend_language_scanner.l"
12375
11.4k
    {
12376
11.4k
  yyless(yyleng - 1);
12377
11.4k
  yy_push_state(ST_VAR_OFFSET);
12378
11.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12379
11.4k
}
12380
0
#line 12381 "Zend/zend_language_scanner.c"
12381
2.04k
yy1064:
12382
2.04k
    YYDEBUG(1064, *YYCURSOR);
12383
2.04k
    yych = *++YYCURSOR;
12384
2.04k
    if (yych <= '_') {
12385
923
      if (yych <= '@') goto yy1060;
12386
656
      if (yych <= 'Z') goto yy1066;
12387
446
      if (yych <= '^') goto yy1060;
12388
226
      goto yy1066;
12389
1.12k
    } else {
12390
1.12k
      if (yych <= '`') goto yy1060;
12391
917
      if (yych <= 'z') goto yy1066;
12392
578
      if (yych <= 0x7F) goto yy1060;
12393
267
      goto yy1066;
12394
578
    }
12395
2.95k
yy1065:
12396
2.95k
    YYDEBUG(1065, *YYCURSOR);
12397
2.95k
    yych = *++YYCURSOR;
12398
2.95k
    if (yych == '>') goto yy1068;
12399
341
    goto yy1060;
12400
1.04k
yy1066:
12401
1.04k
    YYDEBUG(1066, *YYCURSOR);
12402
1.04k
    ++YYCURSOR;
12403
1.04k
    YYDEBUG(1067, *YYCURSOR);
12404
1.04k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
1.04k
#line 2397 "Zend/zend_language_scanner.l"
12406
1.04k
    {
12407
1.04k
  yyless(yyleng - 3);
12408
1.04k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12409
1.04k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
1.04k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
2.61k
yy1068:
12413
2.61k
    YYDEBUG(1068, *YYCURSOR);
12414
2.61k
    yych = *++YYCURSOR;
12415
2.61k
    if (yych <= '_') {
12416
956
      if (yych <= '@') goto yy1060;
12417
661
      if (yych <= 'Z') goto yy1069;
12418
466
      if (yych <= '^') goto yy1060;
12419
1.66k
    } else {
12420
1.66k
      if (yych <= '`') goto yy1060;
12421
799
      if (yych <= 'z') goto yy1069;
12422
592
      if (yych <= 0x7F) goto yy1060;
12423
592
    }
12424
1.03k
yy1069:
12425
1.03k
    YYDEBUG(1069, *YYCURSOR);
12426
1.03k
    ++YYCURSOR;
12427
1.03k
    YYDEBUG(1070, *YYCURSOR);
12428
1.03k
    yyleng = YYCURSOR - SCNG(yy_text);
12429
1.03k
#line 2403 "Zend/zend_language_scanner.l"
12430
1.03k
    {
12431
1.03k
  yyless(yyleng - 4);
12432
1.03k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12433
1.03k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12434
1.03k
}
12435
1.03k
#line 12436 "Zend/zend_language_scanner.c"
12436
1.03k
  }
12437
/* *********************************** */
12438
2.34M
yyc_ST_LOOKING_FOR_VARNAME:
12439
2.34M
  {
12440
2.34M
    static const unsigned char yybm[] = {
12441
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12448
2.34M
      128, 128,   0,   0,   0,   0,   0,   0, 
12449
2.34M
        0, 128, 128, 128, 128, 128, 128, 128, 
12450
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
2.34M
      128, 128, 128,   0,   0,   0,   0, 128, 
12453
2.34M
        0, 128, 128, 128, 128, 128, 128, 128, 
12454
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
2.34M
      128, 128, 128,   0,   0,   0,   0,   0, 
12457
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
2.34M
    };
12474
2.34M
    YYDEBUG(1071, *YYCURSOR);
12475
2.34M
    YYFILL(2);
12476
2.34M
    yych = *YYCURSOR;
12477
2.34M
    if (yych <= '_') {
12478
2.27M
      if (yych <= '@') goto yy1073;
12479
14.5k
      if (yych <= 'Z') goto yy1075;
12480
8.18k
      if (yych >= '_') goto yy1075;
12481
72.9k
    } else {
12482
72.9k
      if (yych <= '`') goto yy1073;
12483
70.3k
      if (yych <= 'z') goto yy1075;
12484
15.9k
      if (yych >= 0x80) goto yy1075;
12485
15.9k
    }
12486
2.27M
yy1073:
12487
2.27M
    YYDEBUG(1073, *YYCURSOR);
12488
2.27M
    ++YYCURSOR;
12489
2.34M
yy1074:
12490
2.34M
    YYDEBUG(1074, *YYCURSOR);
12491
2.34M
    yyleng = YYCURSOR - SCNG(yy_text);
12492
2.34M
#line 2004 "Zend/zend_language_scanner.l"
12493
2.34M
    {
12494
2.34M
  yyless(0);
12495
2.34M
  yy_pop_state();
12496
2.34M
  yy_push_state(ST_IN_SCRIPTING);
12497
2.34M
  goto restart;
12498
2.27M
}
12499
0
#line 12500 "Zend/zend_language_scanner.c"
12500
78.4k
yy1075:
12501
78.4k
    YYDEBUG(1075, *YYCURSOR);
12502
78.4k
    yych = *(YYMARKER = ++YYCURSOR);
12503
78.4k
    if (yych <= '_') {
12504
30.3k
      if (yych <= '@') {
12505
16.1k
        if (yych <= '/') goto yy1074;
12506
6.56k
        if (yych <= '9') goto yy1077;
12507
5.96k
        goto yy1074;
12508
14.1k
      } else {
12509
14.1k
        if (yych <= '[') goto yy1077;
12510
5.42k
        if (yych <= '^') goto yy1074;
12511
4.89k
        goto yy1077;
12512
5.42k
      }
12513
48.1k
    } else {
12514
48.1k
      if (yych <= '|') {
12515
41.8k
        if (yych <= '`') goto yy1074;
12516
41.5k
        if (yych <= 'z') goto yy1077;
12517
555
        goto yy1074;
12518
41.5k
      } else {
12519
6.32k
        if (yych <= '}') goto yy1077;
12520
5.63k
        if (yych <= 0x7F) goto yy1074;
12521
5.39k
        goto yy1077;
12522
5.63k
      }
12523
48.1k
    }
12524
278k
yy1076:
12525
278k
    YYDEBUG(1076, *YYCURSOR);
12526
278k
    ++YYCURSOR;
12527
278k
    YYFILL(1);
12528
278k
    yych = *YYCURSOR;
12529
340k
yy1077:
12530
340k
    YYDEBUG(1077, *YYCURSOR);
12531
340k
    if (yybm[0+yych] & 128) {
12532
278k
      goto yy1076;
12533
278k
    }
12534
61.2k
    if (yych <= '@') goto yy1078;
12535
10.1k
    if (yych <= '[') goto yy1079;
12536
8.43k
    if (yych == '}') goto yy1079;
12537
58.7k
yy1078:
12538
58.7k
    YYDEBUG(1078, *YYCURSOR);
12539
58.7k
    YYCURSOR = YYMARKER;
12540
58.7k
    goto yy1074;
12541
2.53k
yy1079:
12542
2.53k
    YYDEBUG(1079, *YYCURSOR);
12543
2.53k
    ++YYCURSOR;
12544
2.53k
    YYDEBUG(1080, *YYCURSOR);
12545
2.53k
    yyleng = YYCURSOR - SCNG(yy_text);
12546
2.53k
#line 1996 "Zend/zend_language_scanner.l"
12547
2.53k
    {
12548
2.53k
  yyless(yyleng - 1);
12549
2.53k
  yy_pop_state();
12550
2.53k
  yy_push_state(ST_IN_SCRIPTING);
12551
2.53k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12552
2.53k
}
12553
2.53k
#line 12554 "Zend/zend_language_scanner.c"
12554
2.53k
  }
12555
/* *********************************** */
12556
134k
yyc_ST_VAR_OFFSET:
12557
134k
  {
12558
134k
    static const unsigned char yybm[] = {
12559
134k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
134k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
134k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
134k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
134k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
134k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
134k
      248, 248, 216, 216, 216, 216, 216, 216, 
12566
134k
      152, 152,   0,   0,   0,   0,   0,   0, 
12567
134k
        0, 144, 144, 144, 144, 144, 144,  16, 
12568
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
134k
       16,  16,  16,   0,   0,   0,   0,  16, 
12571
134k
        0, 144, 144, 144, 144, 144, 144,  16, 
12572
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
134k
       16,  16,  16,   0,   0,   0,   0,   0, 
12575
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
134k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
134k
    };
12592
134k
    YYDEBUG(1081, *YYCURSOR);
12593
134k
    YYFILL(2);
12594
134k
    yych = *YYCURSOR;
12595
134k
    if (yych <= '0') {
12596
55.9k
      if (yych <= ' ') {
12597
23.6k
        if (yych <= '\f') {
12598
18.5k
          if (yych <= 0x08) goto yy1083;
12599
10.1k
          if (yych <= '\n') goto yy1085;
12600
10.1k
        } else {
12601
5.15k
          if (yych <= '\r') goto yy1085;
12602
4.89k
          if (yych >= ' ') goto yy1085;
12603
4.89k
        }
12604
32.2k
      } else {
12605
32.2k
        if (yych <= '$') {
12606
7.02k
          if (yych <= '"') goto yy1087;
12607
6.05k
          if (yych <= '#') goto yy1085;
12608
5.83k
          goto yy1089;
12609
25.2k
        } else {
12610
25.2k
          if (yych == '\'') goto yy1085;
12611
24.8k
          if (yych <= '/') goto yy1087;
12612
13.5k
          goto yy1090;
12613
24.8k
        }
12614
32.2k
      }
12615
78.7k
    } else {
12616
78.7k
      if (yych <= ']') {
12617
52.2k
        if (yych <= 'Z') {
12618
23.3k
          if (yych <= '9') goto yy1092;
12619
14.3k
          if (yych <= '@') goto yy1087;
12620
3.33k
          goto yy1094;
12621
28.9k
        } else {
12622
28.9k
          if (yych <= '[') goto yy1087;
12623
6.24k
          if (yych <= '\\') goto yy1085;
12624
5.78k
          goto yy1097;
12625
6.24k
        }
12626
52.2k
      } else {
12627
26.5k
        if (yych <= '`') {
12628
6.11k
          if (yych == '_') goto yy1094;
12629
1.22k
          goto yy1087;
12630
20.3k
        } else {
12631
20.3k
          if (yych <= 'z') goto yy1094;
12632
14.1k
          if (yych <= '~') goto yy1087;
12633
7.00k
          if (yych >= 0x80) goto yy1094;
12634
7.00k
        }
12635
26.5k
      }
12636
78.7k
    }
12637
14.6k
yy1083:
12638
14.6k
    YYDEBUG(1083, *YYCURSOR);
12639
14.6k
    ++YYCURSOR;
12640
14.6k
    YYDEBUG(1084, *YYCURSOR);
12641
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12642
14.6k
#line 3179 "Zend/zend_language_scanner.l"
12643
14.6k
    {
12644
14.6k
  if (YYCURSOR > YYLIMIT) {
12645
1.97k
    RETURN_END_TOKEN;
12646
1.97k
  }
12647
12648
12.6k
  RETURN_TOKEN(T_BAD_CHARACTER);
12649
12.6k
}
12650
0
#line 12651 "Zend/zend_language_scanner.c"
12651
10.4k
yy1085:
12652
10.4k
    YYDEBUG(1085, *YYCURSOR);
12653
10.4k
    ++YYCURSOR;
12654
10.4k
    YYDEBUG(1086, *YYCURSOR);
12655
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12656
10.4k
#line 2431 "Zend/zend_language_scanner.l"
12657
10.4k
    {
12658
  /* Invalid rule to return a more explicit parse error with proper line number */
12659
10.4k
  yyless(0);
12660
10.4k
  yy_pop_state();
12661
10.4k
  ZVAL_NULL(zendlval);
12662
10.4k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12663
10.4k
}
12664
0
#line 12665 "Zend/zend_language_scanner.c"
12665
54.2k
yy1087:
12666
54.2k
    YYDEBUG(1087, *YYCURSOR);
12667
54.2k
    ++YYCURSOR;
12668
56.4k
yy1088:
12669
56.4k
    YYDEBUG(1088, *YYCURSOR);
12670
56.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12671
56.4k
#line 2426 "Zend/zend_language_scanner.l"
12672
56.4k
    {
12673
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12674
56.4k
  RETURN_TOKEN(yytext[0]);
12675
56.4k
}
12676
0
#line 12677 "Zend/zend_language_scanner.c"
12677
5.83k
yy1089:
12678
5.83k
    YYDEBUG(1089, *YYCURSOR);
12679
5.83k
    yych = *++YYCURSOR;
12680
5.83k
    if (yych <= '_') {
12681
2.16k
      if (yych <= '@') goto yy1088;
12682
1.13k
      if (yych <= 'Z') goto yy1099;
12683
624
      if (yych <= '^') goto yy1088;
12684
382
      goto yy1099;
12685
3.67k
    } else {
12686
3.67k
      if (yych <= '`') goto yy1088;
12687
3.38k
      if (yych <= 'z') goto yy1099;
12688
1.69k
      if (yych <= 0x7F) goto yy1088;
12689
1.05k
      goto yy1099;
12690
1.69k
    }
12691
13.5k
yy1090:
12692
13.5k
    YYDEBUG(1090, *YYCURSOR);
12693
13.5k
    yyaccept = 0;
12694
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
12695
13.5k
    if (yych <= 'X') {
12696
5.10k
      if (yych <= 'B') {
12697
4.15k
        if (yych <= '/') goto yy1091;
12698
3.43k
        if (yych <= '9') goto yy1102;
12699
1.61k
        if (yych >= 'B') goto yy1105;
12700
1.61k
      } else {
12701
952
        if (yych == 'O') goto yy1107;
12702
668
        if (yych >= 'X') goto yy1108;
12703
668
      }
12704
8.47k
    } else {
12705
8.47k
      if (yych <= 'b') {
12706
5.72k
        if (yych == '_') goto yy1109;
12707
2.68k
        if (yych >= 'b') goto yy1105;
12708
2.75k
      } else {
12709
2.75k
        if (yych <= 'o') {
12710
1.69k
          if (yych >= 'o') goto yy1107;
12711
1.69k
        } else {
12712
1.05k
          if (yych == 'x') goto yy1108;
12713
1.05k
        }
12714
2.75k
      }
12715
8.47k
    }
12716
18.3k
yy1091:
12717
18.3k
    YYDEBUG(1091, *YYCURSOR);
12718
18.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12719
18.3k
#line 2208 "Zend/zend_language_scanner.l"
12720
18.3k
    { /* Offset could be treated as a long */
12721
18.3k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12722
17.7k
    char *end;
12723
17.7k
    errno = 0;
12724
17.7k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12725
17.7k
    if (errno == ERANGE) {
12726
0
      goto string;
12727
0
    }
12728
17.7k
    ZEND_ASSERT(end == yytext + yyleng);
12729
17.7k
  } else {
12730
550
string:
12731
550
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12732
550
  }
12733
18.3k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12734
18.3k
}
12735
0
#line 12736 "Zend/zend_language_scanner.c"
12736
37.6k
yy1092:
12737
37.6k
    YYDEBUG(1092, *YYCURSOR);
12738
37.6k
    yyaccept = 0;
12739
37.6k
    YYMARKER = ++YYCURSOR;
12740
37.6k
    YYFILL(1);
12741
37.6k
    yych = *YYCURSOR;
12742
37.6k
    YYDEBUG(1093, *YYCURSOR);
12743
37.6k
    if (yybm[0+yych] & 8) {
12744
28.5k
      goto yy1092;
12745
28.5k
    }
12746
9.02k
    if (yych == '_') goto yy1109;
12747
8.18k
    goto yy1091;
12748
48.5k
yy1094:
12749
48.5k
    YYDEBUG(1094, *YYCURSOR);
12750
48.5k
    ++YYCURSOR;
12751
48.5k
    YYFILL(1);
12752
48.5k
    yych = *YYCURSOR;
12753
48.5k
    YYDEBUG(1095, *YYCURSOR);
12754
48.5k
    if (yybm[0+yych] & 16) {
12755
27.3k
      goto yy1094;
12756
27.3k
    }
12757
21.1k
    YYDEBUG(1096, *YYCURSOR);
12758
21.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12759
21.1k
#line 2455 "Zend/zend_language_scanner.l"
12760
21.1k
    {
12761
21.1k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12762
21.1k
}
12763
0
#line 12764 "Zend/zend_language_scanner.c"
12764
5.78k
yy1097:
12765
5.78k
    YYDEBUG(1097, *YYCURSOR);
12766
5.78k
    ++YYCURSOR;
12767
5.78k
    YYDEBUG(1098, *YYCURSOR);
12768
5.78k
    yyleng = YYCURSOR - SCNG(yy_text);
12769
5.78k
#line 2421 "Zend/zend_language_scanner.l"
12770
5.78k
    {
12771
5.78k
  yy_pop_state();
12772
5.78k
  RETURN_TOKEN(']');
12773
5.78k
}
12774
0
#line 12775 "Zend/zend_language_scanner.c"
12775
8.46k
yy1099:
12776
8.46k
    YYDEBUG(1099, *YYCURSOR);
12777
8.46k
    ++YYCURSOR;
12778
8.46k
    YYFILL(1);
12779
8.46k
    yych = *YYCURSOR;
12780
8.46k
    YYDEBUG(1100, *YYCURSOR);
12781
8.46k
    if (yych <= '^') {
12782
4.62k
      if (yych <= '9') {
12783
1.63k
        if (yych >= '0') goto yy1099;
12784
2.99k
      } else {
12785
2.99k
        if (yych <= '@') goto yy1101;
12786
2.51k
        if (yych <= 'Z') goto yy1099;
12787
2.51k
      }
12788
4.62k
    } else {
12789
3.83k
      if (yych <= '`') {
12790
662
        if (yych <= '_') goto yy1099;
12791
3.17k
      } else {
12792
3.17k
        if (yych <= 'z') goto yy1099;
12793
1.45k
        if (yych >= 0x80) goto yy1099;
12794
1.45k
      }
12795
3.83k
    }
12796
3.64k
yy1101:
12797
3.64k
    YYDEBUG(1101, *YYCURSOR);
12798
3.64k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
3.64k
#line 2417 "Zend/zend_language_scanner.l"
12800
3.64k
    {
12801
3.64k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12802
3.64k
}
12803
0
#line 12804 "Zend/zend_language_scanner.c"
12804
6.18k
yy1102:
12805
6.18k
    YYDEBUG(1102, *YYCURSOR);
12806
6.18k
    yyaccept = 1;
12807
6.18k
    YYMARKER = ++YYCURSOR;
12808
6.18k
    YYFILL(1);
12809
6.18k
    yych = *YYCURSOR;
12810
6.18k
    YYDEBUG(1103, *YYCURSOR);
12811
6.18k
    if (yych <= '/') goto yy1104;
12812
5.72k
    if (yych <= '9') goto yy1102;
12813
2.34k
    if (yych == '_') goto yy1109;
12814
4.30k
yy1104:
12815
4.30k
    YYDEBUG(1104, *YYCURSOR);
12816
4.30k
    yyleng = YYCURSOR - SCNG(yy_text);
12817
4.30k
#line 2224 "Zend/zend_language_scanner.l"
12818
4.30k
    { /* Offset must be treated as a string */
12819
4.30k
  if (yyleng == 1) {
12820
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12821
4.30k
  } else {
12822
4.30k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12823
4.30k
  }
12824
4.30k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12825
4.30k
}
12826
0
#line 12827 "Zend/zend_language_scanner.c"
12827
1.03k
yy1105:
12828
1.03k
    YYDEBUG(1105, *YYCURSOR);
12829
1.03k
    ++YYCURSOR;
12830
1.03k
    YYFILL(1);
12831
1.03k
    yych = *YYCURSOR;
12832
1.03k
    if (yybm[0+yych] & 32) {
12833
724
      goto yy1110;
12834
724
    }
12835
5.61k
yy1106:
12836
5.61k
    YYDEBUG(1106, *YYCURSOR);
12837
5.61k
    YYCURSOR = YYMARKER;
12838
5.61k
    if (yyaccept == 0) {
12839
4.21k
      goto yy1091;
12840
4.21k
    } else {
12841
1.40k
      goto yy1104;
12842
1.40k
    }
12843
1.36k
yy1107:
12844
1.36k
    YYDEBUG(1107, *YYCURSOR);
12845
1.36k
    ++YYCURSOR;
12846
1.36k
    YYFILL(1);
12847
1.36k
    yych = *YYCURSOR;
12848
1.36k
    if (yybm[0+yych] & 64) {
12849
669
      goto yy1112;
12850
669
    }
12851
692
    goto yy1106;
12852
1.37k
yy1108:
12853
1.37k
    YYDEBUG(1108, *YYCURSOR);
12854
1.37k
    ++YYCURSOR;
12855
1.37k
    YYFILL(1);
12856
1.37k
    yych = *YYCURSOR;
12857
1.37k
    if (yybm[0+yych] & 128) {
12858
914
      goto yy1114;
12859
914
    }
12860
461
    goto yy1106;
12861
5.13k
yy1109:
12862
5.13k
    YYDEBUG(1109, *YYCURSOR);
12863
5.13k
    ++YYCURSOR;
12864
5.13k
    YYFILL(1);
12865
5.13k
    yych = *YYCURSOR;
12866
5.13k
    if (yych <= '/') goto yy1106;
12867
2.05k
    if (yych <= '9') goto yy1102;
12868
1.07k
    goto yy1106;
12869
1.13k
yy1110:
12870
1.13k
    YYDEBUG(1110, *YYCURSOR);
12871
1.13k
    yyaccept = 1;
12872
1.13k
    YYMARKER = ++YYCURSOR;
12873
1.13k
    YYFILL(1);
12874
1.13k
    yych = *YYCURSOR;
12875
1.13k
    YYDEBUG(1111, *YYCURSOR);
12876
1.13k
    if (yybm[0+yych] & 32) {
12877
407
      goto yy1110;
12878
407
    }
12879
724
    if (yych == '_') goto yy1105;
12880
505
    goto yy1104;
12881
1.31k
yy1112:
12882
1.31k
    YYDEBUG(1112, *YYCURSOR);
12883
1.31k
    yyaccept = 1;
12884
1.31k
    YYMARKER = ++YYCURSOR;
12885
1.31k
    YYFILL(1);
12886
1.31k
    yych = *YYCURSOR;
12887
1.31k
    YYDEBUG(1113, *YYCURSOR);
12888
1.31k
    if (yybm[0+yych] & 64) {
12889
642
      goto yy1112;
12890
642
    }
12891
669
    if (yych == '_') goto yy1107;
12892
379
    goto yy1104;
12893
1.13k
yy1114:
12894
1.13k
    YYDEBUG(1114, *YYCURSOR);
12895
1.13k
    yyaccept = 1;
12896
1.13k
    YYMARKER = ++YYCURSOR;
12897
1.13k
    YYFILL(1);
12898
1.13k
    yych = *YYCURSOR;
12899
1.13k
    YYDEBUG(1115, *YYCURSOR);
12900
1.13k
    if (yybm[0+yych] & 128) {
12901
222
      goto yy1114;
12902
222
    }
12903
914
    if (yych == '_') goto yy1108;
12904
471
    goto yy1104;
12905
914
  }
12906
/* *********************************** */
12907
471
yyc_SHEBANG:
12908
0
  {
12909
0
    static const unsigned char yybm[] = {
12910
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12911
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
    };
12943
0
    YYDEBUG(1116, *YYCURSOR);
12944
0
    YYFILL(2);
12945
0
    yych = *YYCURSOR;
12946
0
    if (yych == '#') goto yy1120;
12947
0
    YYDEBUG(1118, *YYCURSOR);
12948
0
    ++YYCURSOR;
12949
0
yy1119:
12950
0
    YYDEBUG(1119, *YYCURSOR);
12951
0
    yyleng = YYCURSOR - SCNG(yy_text);
12952
0
#line 2295 "Zend/zend_language_scanner.l"
12953
0
    {
12954
0
  yyless(0);
12955
0
  BEGIN(INITIAL);
12956
0
  goto restart;
12957
0
}
12958
0
#line 12959 "Zend/zend_language_scanner.c"
12959
0
yy1120:
12960
0
    YYDEBUG(1120, *YYCURSOR);
12961
0
    yych = *++YYCURSOR;
12962
0
    if (yych != '!') goto yy1119;
12963
0
yy1121:
12964
0
    YYDEBUG(1121, *YYCURSOR);
12965
0
    ++YYCURSOR;
12966
0
    YYFILL(1);
12967
0
    yych = *YYCURSOR;
12968
0
    YYDEBUG(1122, *YYCURSOR);
12969
0
    if (yybm[0+yych] & 128) {
12970
0
      goto yy1121;
12971
0
    }
12972
0
    YYDEBUG(1123, *YYCURSOR);
12973
0
    ++YYCURSOR;
12974
0
    YYDEBUG(1124, *YYCURSOR);
12975
0
    yyleng = YYCURSOR - SCNG(yy_text);
12976
0
#line 2289 "Zend/zend_language_scanner.l"
12977
0
    {
12978
0
  CG(zend_lineno)++;
12979
0
  BEGIN(INITIAL);
12980
0
  goto restart;
12981
0
}
12982
0
#line 12983 "Zend/zend_language_scanner.c"
12983
0
  }
12984
/* *********************************** */
12985
196k
yyc_INITIAL:
12986
196k
  YYDEBUG(1125, *YYCURSOR);
12987
196k
  YYFILL(7);
12988
196k
  yych = *YYCURSOR;
12989
196k
  if (yych == '<') goto yy1129;
12990
69.7k
  YYDEBUG(1127, *YYCURSOR);
12991
69.7k
  ++YYCURSOR;
12992
77.9k
yy1128:
12993
77.9k
  YYDEBUG(1128, *YYCURSOR);
12994
77.9k
  yyleng = YYCURSOR - SCNG(yy_text);
12995
77.9k
#line 2341 "Zend/zend_language_scanner.l"
12996
77.9k
  {
12997
77.9k
  if (YYCURSOR > YYLIMIT) {
12998
11.3k
    RETURN_END_TOKEN;
12999
11.3k
  }
13000
13001
66.6k
inline_char_handler:
13002
13003
102k
  while (1) {
13004
102k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13005
13006
102k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13007
13008
102k
    if (YYCURSOR >= YYLIMIT) {
13009
6.53k
      break;
13010
6.53k
    }
13011
13012
95.7k
    if (*YYCURSOR == '?') {
13013
60.1k
      if (CG(short_tags) /* <? */
13014
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13015
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13016
0
          (YYCURSOR + 4 == YYLIMIT ||
13017
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13018
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13019
60.1k
      ) {
13020
60.1k
        YYCURSOR--;
13021
60.1k
        break;
13022
60.1k
      }
13023
60.1k
    }
13024
95.7k
  }
13025
13026
66.6k
  yyleng = YYCURSOR - SCNG(yy_text);
13027
13028
66.6k
  if (SCNG(output_filter)) {
13029
0
    size_t readsize;
13030
0
    char *s = NULL;
13031
0
    size_t sz = 0;
13032
    // TODO: avoid reallocation ???
13033
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13034
0
    ZVAL_STRINGL(zendlval, s, sz);
13035
0
    efree(s);
13036
0
    if (readsize < yyleng) {
13037
0
      yyless(readsize);
13038
0
    }
13039
66.6k
  } else if (yyleng == 1) {
13040
12.4k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13041
54.1k
  } else {
13042
54.1k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13043
54.1k
  }
13044
66.6k
  HANDLE_NEWLINES(yytext, yyleng);
13045
66.6k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13046
66.6k
}
13047
0
#line 13048 "Zend/zend_language_scanner.c"
13048
126k
yy1129:
13049
126k
  YYDEBUG(1129, *YYCURSOR);
13050
126k
  yych = *++YYCURSOR;
13051
126k
  if (yych != '?') goto yy1128;
13052
118k
  YYDEBUG(1130, *YYCURSOR);
13053
118k
  yych = *(YYMARKER = ++YYCURSOR);
13054
118k
  if (yych <= 'O') {
13055
42.8k
    if (yych == '=') goto yy1132;
13056
75.6k
  } else {
13057
75.6k
    if (yych <= 'P') goto yy1134;
13058
75.1k
    if (yych == 'p') goto yy1134;
13059
75.1k
  }
13060
106k
yy1131:
13061
106k
  YYDEBUG(1131, *YYCURSOR);
13062
106k
  yyleng = YYCURSOR - SCNG(yy_text);
13063
106k
#line 2332 "Zend/zend_language_scanner.l"
13064
106k
  {
13065
106k
  if (CG(short_tags)) {
13066
106k
    BEGIN(ST_IN_SCRIPTING);
13067
106k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13068
106k
  } else {
13069
0
    goto inline_char_handler;
13070
0
  }
13071
106k
}
13072
0
#line 13073 "Zend/zend_language_scanner.c"
13073
396
yy1132:
13074
396
  YYDEBUG(1132, *YYCURSOR);
13075
396
  ++YYCURSOR;
13076
396
  YYDEBUG(1133, *YYCURSOR);
13077
396
  yyleng = YYCURSOR - SCNG(yy_text);
13078
396
#line 2301 "Zend/zend_language_scanner.l"
13079
396
  {
13080
396
  BEGIN(ST_IN_SCRIPTING);
13081
396
  if (PARSER_MODE()) {
13082
    /* We'll reject this as an identifier in zend_lex_tstring. */
13083
198
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13084
198
  }
13085
198
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13086
198
}
13087
0
#line 13088 "Zend/zend_language_scanner.c"
13088
15.3k
yy1134:
13089
15.3k
  YYDEBUG(1134, *YYCURSOR);
13090
15.3k
  yych = *++YYCURSOR;
13091
15.3k
  if (yych == 'H') goto yy1136;
13092
14.4k
  if (yych == 'h') goto yy1136;
13093
4.02k
yy1135:
13094
4.02k
  YYDEBUG(1135, *YYCURSOR);
13095
4.02k
  YYCURSOR = YYMARKER;
13096
4.02k
  goto yy1131;
13097
12.0k
yy1136:
13098
12.0k
  YYDEBUG(1136, *YYCURSOR);
13099
12.0k
  yych = *++YYCURSOR;
13100
12.0k
  if (yych == 'P') goto yy1137;
13101
11.8k
  if (yych != 'p') goto yy1135;
13102
11.2k
yy1137:
13103
11.2k
  YYDEBUG(1137, *YYCURSOR);
13104
11.2k
  yych = *++YYCURSOR;
13105
11.2k
  if (yych <= '\f') {
13106
9.01k
    if (yych <= 0x08) goto yy1138;
13107
8.60k
    if (yych <= '\n') goto yy1139;
13108
8.60k
  } else {
13109
2.27k
    if (yych <= '\r') goto yy1141;
13110
1.88k
    if (yych == ' ') goto yy1139;
13111
1.88k
  }
13112
1.53k
yy1138:
13113
1.53k
  YYDEBUG(1138, *YYCURSOR);
13114
1.53k
  yyleng = YYCURSOR - SCNG(yy_text);
13115
1.53k
#line 2317 "Zend/zend_language_scanner.l"
13116
1.53k
  {
13117
  /* Allow <?php followed by end of file. */
13118
1.53k
  if (YYCURSOR == YYLIMIT) {
13119
269
    BEGIN(ST_IN_SCRIPTING);
13120
269
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13121
269
  }
13122
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13123
1.26k
  if (CG(short_tags)) {
13124
1.26k
    yyless(2);
13125
1.26k
    BEGIN(ST_IN_SCRIPTING);
13126
1.26k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13127
1.26k
  }
13128
0
  goto inline_char_handler;
13129
1.26k
}
13130
0
#line 13131 "Zend/zend_language_scanner.c"
13131
9.56k
yy1139:
13132
9.56k
  YYDEBUG(1139, *YYCURSOR);
13133
9.56k
  ++YYCURSOR;
13134
9.75k
yy1140:
13135
9.75k
  YYDEBUG(1140, *YYCURSOR);
13136
9.75k
  yyleng = YYCURSOR - SCNG(yy_text);
13137
9.75k
#line 2311 "Zend/zend_language_scanner.l"
13138
9.75k
  {
13139
9.75k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13140
9.75k
  BEGIN(ST_IN_SCRIPTING);
13141
9.75k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13142
9.75k
}
13143
0
#line 13144 "Zend/zend_language_scanner.c"
13144
396
yy1141:
13145
396
  YYDEBUG(1141, *YYCURSOR);
13146
396
  yych = *++YYCURSOR;
13147
396
  if (yych == '\n') goto yy1139;
13148
198
  goto yy1140;
13149
/* *********************************** */
13150
8.23k
yyc_ST_END_HEREDOC:
13151
8.23k
  YYDEBUG(1142, *YYCURSOR);
13152
8.23k
  YYFILL(1);
13153
8.23k
  yych = *YYCURSOR;
13154
8.23k
  YYDEBUG(1144, *YYCURSOR);
13155
8.23k
  ++YYCURSOR;
13156
8.23k
  YYDEBUG(1145, *YYCURSOR);
13157
8.23k
  yyleng = YYCURSOR - SCNG(yy_text);
13158
8.23k
#line 2831 "Zend/zend_language_scanner.l"
13159
8.23k
  {
13160
8.23k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13161
13162
8.23k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13163
8.23k
  YYCURSOR += yyleng - 1;
13164
13165
8.23k
  heredoc_label_dtor(heredoc_label);
13166
8.23k
  efree(heredoc_label);
13167
13168
8.23k
  BEGIN(ST_IN_SCRIPTING);
13169
8.23k
  RETURN_TOKEN(T_END_HEREDOC);
13170
8.23k
}
13171
0
#line 13172 "Zend/zend_language_scanner.c"
13172
/* *********************************** */
13173
4.19k
yyc_ST_NOWDOC:
13174
4.19k
  YYDEBUG(1146, *YYCURSOR);
13175
4.19k
  YYFILL(1);
13176
4.19k
  yych = *YYCURSOR;
13177
4.19k
  YYDEBUG(1148, *YYCURSOR);
13178
4.19k
  ++YYCURSOR;
13179
4.19k
  YYDEBUG(1149, *YYCURSOR);
13180
4.19k
  yyleng = YYCURSOR - SCNG(yy_text);
13181
4.19k
#line 3088 "Zend/zend_language_scanner.l"
13182
4.19k
  {
13183
4.19k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13184
4.19k
  int newline = 0, indentation = 0, spacing = -1;
13185
13186
4.19k
  if (YYCURSOR > YYLIMIT) {
13187
1.02k
    RETURN_END_TOKEN;
13188
1.02k
  }
13189
13190
3.17k
  YYCURSOR--;
13191
13192
88.9k
  while (YYCURSOR < YYLIMIT) {
13193
88.2k
    switch (*YYCURSOR++) {
13194
5.65k
      case '\r':
13195
5.65k
        if (*YYCURSOR == '\n') {
13196
900
          YYCURSOR++;
13197
900
        }
13198
5.65k
        ZEND_FALLTHROUGH;
13199
14.8k
      case '\n':
13200
14.8k
        indentation = spacing = 0;
13201
13202
16.4k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13203
1.65k
          if (*YYCURSOR == '\t') {
13204
909
            spacing |= HEREDOC_USING_TABS;
13205
909
          } else {
13206
749
            spacing |= HEREDOC_USING_SPACES;
13207
749
          }
13208
1.65k
          ++YYCURSOR;
13209
1.65k
          ++indentation;
13210
1.65k
        }
13211
13212
14.8k
        if (YYCURSOR == YYLIMIT) {
13213
317
          yyleng = YYCURSOR - SCNG(yy_text);
13214
317
          HANDLE_NEWLINES(yytext, yyleng);
13215
317
          ZVAL_NULL(zendlval);
13216
317
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13217
317
        }
13218
13219
        /* Check for ending label on the next line */
13220
14.5k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13221
3.45k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13222
1.30k
            continue;
13223
1.30k
          }
13224
13225
2.14k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13226
68
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13227
68
            if (PARSER_MODE()) {
13228
2
              RETURN_TOKEN(T_ERROR);
13229
2
            }
13230
68
          }
13231
13232
          /* newline before label will be subtracted from returned text, but
13233
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13234
2.14k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13235
262
            newline = 2; /* Windows newline */
13236
1.87k
          } else {
13237
1.87k
            newline = 1;
13238
1.87k
          }
13239
13240
2.14k
          CG(increment_lineno) = 1; /* For newline before label */
13241
13242
2.14k
          YYCURSOR -= indentation;
13243
2.14k
          heredoc_label->indentation = indentation;
13244
13245
2.14k
          BEGIN(ST_END_HEREDOC);
13246
13247
2.14k
          goto nowdoc_scan_done;
13248
2.14k
        }
13249
11.0k
        ZEND_FALLTHROUGH;
13250
84.4k
      default:
13251
84.4k
        continue;
13252
88.2k
    }
13253
88.2k
  }
13254
13255
2.85k
nowdoc_scan_done:
13256
2.85k
  yyleng = YYCURSOR - SCNG(yy_text);
13257
2.85k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13258
13259
2.85k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13260
798
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13261
798
    if (!strip_multiline_string_indentation(
13262
798
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13263
798
        newline_at_start, newline != 0)) {
13264
5
      RETURN_TOKEN(T_ERROR);
13265
5
    }
13266
798
  }
13267
13268
2.84k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13269
2.84k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13270
2.84k
}
13271
2.84k
#line 13272 "Zend/zend_language_scanner.c"
13272
2.84k
}
13273
0
#line 3187 "Zend/zend_language_scanner.l"
13274
13275
13276
1.88M
emit_token_with_str:
13277
1.88M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13278
13279
3.03M
emit_token_with_val:
13280
3.03M
  if (PARSER_MODE()) {
13281
1.20M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13282
1.20M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13283
1.20M
  }
13284
13285
13.1M
emit_token:
13286
13.1M
  if (SCNG(on_event)) {
13287
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13288
0
  }
13289
13.1M
  return token;
13290
13291
418k
emit_token_with_ident:
13292
418k
  if (PARSER_MODE()) {
13293
202k
    elem->ident = SCNG(yy_text);
13294
202k
  }
13295
418k
  if (SCNG(on_event)) {
13296
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13297
0
  }
13298
418k
  return token;
13299
13300
1.14M
return_whitespace:
13301
1.14M
  HANDLE_NEWLINES(yytext, yyleng);
13302
1.14M
  if (SCNG(on_event)) {
13303
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13304
0
  }
13305
1.14M
  if (PARSER_MODE()) {
13306
449k
    start_line = CG(zend_lineno);
13307
449k
    goto restart;
13308
696k
  } else {
13309
696k
    return T_WHITESPACE;
13310
696k
  }
13311
13312
121k
skip_token:
13313
121k
  if (SCNG(on_event)) {
13314
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13315
0
  }
13316
121k
  start_line = CG(zend_lineno);
13317
121k
  goto restart;
13318
1.14M
}