Coverage Report

Created: 2026-01-18 06:47

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
13.4M
#define YYCTYPE   unsigned char
54
30.6M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
152M
#define YYCURSOR  SCNG(yy_cursor)
56
40.8M
#define YYLIMIT   SCNG(yy_limit)
57
12.3M
#define YYMARKER  SCNG(yy_marker)
58
59
45.9M
#define YYGETCONDITION()  SCNG(yy_state)
60
7.32M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
1.84M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
155k
#define YYSTATE      YYGETCONDITION()
67
7.38M
#define yytext       ((char*)SCNG(yy_text))
68
19.4M
#define yyleng       SCNG(yy_leng)
69
1.73M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
1.73M
                          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
352M
#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.38M
#define HANDLE_NEWLINES(s, l)                         \
97
1.38M
do {                                     \
98
1.38M
  char *p = (s), *boundary = p+(l);                     \
99
1.38M
                                        \
100
6.78M
  while (p<boundary) {                           \
101
5.39M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
1.03M
      CG(zend_lineno)++;                          \
103
1.03M
    }                                    \
104
5.39M
    p++;                                  \
105
5.39M
  }                                      \
106
1.38M
} while (0)
107
108
66.6k
#define HANDLE_NEWLINE(c) \
109
66.6k
{ \
110
66.6k
  if (c == '\n' || c == '\r') { \
111
26.3k
    CG(zend_lineno)++; \
112
26.3k
  } \
113
66.6k
}
114
115
/* To save initial string length after scanning to first variable */
116
37.9k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
69.1k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
1.24M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
15.3k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
15.1k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
29.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
3.94k
{
128
3.94k
  char *src = str, *dest = str;
129
84.1k
  while (*src != '\0') {
130
80.1k
    if (*src != '_') {
131
74.8k
      *dest = *src;
132
74.8k
      dest++;
133
74.8k
    } else {
134
5.35k
      --(*len);
135
5.35k
    }
136
80.1k
    src++;
137
80.1k
  }
138
3.94k
  *dest = '\0';
139
3.94k
}
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
3.59M
{
170
3.59M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
3.59M
  YYSETCONDITION(new_state);
172
3.59M
}
173
174
3.59M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
1.74M
{
178
1.74M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
1.74M
  YYSETCONDITION(*stack_state);
180
1.74M
  zend_stack_del_top(&SCNG(state_stack));
181
1.74M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
53.5k
{
185
53.5k
  YYCURSOR       = (YYCTYPE*)str;
186
53.5k
  YYLIMIT        = YYCURSOR + len;
187
53.5k
  if (!SCNG(yy_start)) {
188
0
    SCNG(yy_start) = YYCURSOR;
189
0
  }
190
53.5k
}
191
192
void startup_scanner(void)
193
53.5k
{
194
53.5k
  CG(parse_error) = 0;
195
53.5k
  CG(doc_comment) = NULL;
196
53.5k
  CG(extra_fn_flags) = 0;
197
53.5k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
53.5k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
53.5k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
53.5k
  SCNG(heredoc_scan_ahead) = 0;
201
53.5k
}
202
203
2.90M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
2.90M
    efree(heredoc_label->label);
205
2.90M
}
206
207
void shutdown_scanner(void)
208
53.5k
{
209
53.5k
  CG(parse_error) = 0;
210
53.5k
  RESET_DOC_COMMENT();
211
53.5k
  zend_stack_destroy(&SCNG(state_stack));
212
53.5k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
53.5k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
53.5k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
53.5k
  SCNG(heredoc_scan_ahead) = 0;
216
53.5k
  SCNG(on_event) = NULL;
217
53.5k
  SCNG(on_event_context) = NULL;
218
53.5k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
155k
{
222
155k
  lex_state->yy_leng   = SCNG(yy_leng);
223
155k
  lex_state->yy_start  = SCNG(yy_start);
224
155k
  lex_state->yy_text   = SCNG(yy_text);
225
155k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
155k
  lex_state->yy_marker = SCNG(yy_marker);
227
155k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
155k
  lex_state->state_stack = SCNG(state_stack);
230
155k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
155k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
155k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
155k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
155k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
155k
  lex_state->in = SCNG(yy_in);
239
155k
  lex_state->yy_state = YYSTATE;
240
155k
  lex_state->filename = CG(compiled_filename);
241
155k
  lex_state->lineno = CG(zend_lineno);
242
155k
  CG(compiled_filename) = NULL;
243
244
155k
  lex_state->script_org = SCNG(script_org);
245
155k
  lex_state->script_org_size = SCNG(script_org_size);
246
155k
  lex_state->script_filtered = SCNG(script_filtered);
247
155k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
155k
  lex_state->input_filter = SCNG(input_filter);
249
155k
  lex_state->output_filter = SCNG(output_filter);
250
155k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
155k
  lex_state->on_event = SCNG(on_event);
253
155k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
155k
  lex_state->ast = CG(ast);
256
155k
  lex_state->ast_arena = CG(ast_arena);
257
155k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
152k
{
261
152k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
152k
  SCNG(yy_start)  = lex_state->yy_start;
263
152k
  SCNG(yy_text)   = lex_state->yy_text;
264
152k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
152k
  SCNG(yy_marker) = lex_state->yy_marker;
266
152k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
152k
  zend_stack_destroy(&SCNG(state_stack));
269
152k
  SCNG(state_stack) = lex_state->state_stack;
270
271
152k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
152k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
152k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
152k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
152k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
152k
  SCNG(yy_in) = lex_state->in;
279
152k
  YYSETCONDITION(lex_state->yy_state);
280
152k
  CG(zend_lineno) = lex_state->lineno;
281
152k
  zend_restore_compiled_filename(lex_state->filename);
282
283
152k
  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
152k
  SCNG(script_org) = lex_state->script_org;
288
152k
  SCNG(script_org_size) = lex_state->script_org_size;
289
152k
  SCNG(script_filtered) = lex_state->script_filtered;
290
152k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
152k
  SCNG(input_filter) = lex_state->input_filter;
292
152k
  SCNG(output_filter) = lex_state->output_filter;
293
152k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
152k
  SCNG(on_event) = lex_state->on_event;
296
152k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
152k
  CG(ast) = lex_state->ast;
299
152k
  CG(ast_arena) = lex_state->ast_arena;
300
301
152k
  RESET_DOC_COMMENT();
302
152k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
5.23k
{
306
5.23k
  unsigned char *end = ident;
307
29.0k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
23.8k
    end++;
309
23.8k
  }
310
311
5.23k
  size_t length = end - ident;
312
5.23k
  if (length == 0) {
313
5
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
5
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
5
    return FAILURE;
316
5
  }
317
318
5.23k
  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.23k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
5.23k
  return SUCCESS;
324
5.23k
}
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
53.5k
{
532
53.5k
  char *buf;
533
53.5k
  size_t size;
534
53.5k
  zend_string *compiled_filename;
535
536
53.5k
  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
53.5k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
53.5k
  zend_llist_add_element(&CG(open_files), file_handle);
545
53.5k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
53.5k
  SCNG(yy_in) = file_handle;
549
53.5k
  SCNG(yy_start) = NULL;
550
551
53.5k
  if (size != (size_t)-1) {
552
53.5k
    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
53.5k
    SCNG(yy_start) = (unsigned char *)buf;
569
53.5k
    yy_scan_buffer(buf, size);
570
53.5k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
53.5k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
53.5k
  } else {
577
53.5k
    BEGIN(INITIAL);
578
53.5k
  }
579
580
53.5k
  if (file_handle->opened_path) {
581
0
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
53.5k
  } else {
583
53.5k
    compiled_filename = zend_string_copy(file_handle->filename);
584
53.5k
  }
585
586
53.5k
  zend_set_compiled_filename(compiled_filename);
587
53.5k
  zend_string_release_ex(compiled_filename, 0);
588
589
53.5k
  SCNG(on_event) = NULL;
590
53.5k
  SCNG(on_event_context) = NULL;
591
53.5k
  RESET_DOC_COMMENT();
592
53.5k
  CG(zend_lineno) = 1;
593
53.5k
  CG(increment_lineno) = 0;
594
53.5k
  return SUCCESS;
595
53.5k
}
596
597
static zend_op_array *zend_compile(int type)
598
53.5k
{
599
53.5k
  zend_op_array *op_array = NULL;
600
53.5k
  bool original_in_compilation = CG(in_compilation);
601
602
53.5k
  CG(in_compilation) = 1;
603
53.5k
  CG(ast) = NULL;
604
53.5k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
53.5k
  if (!zendparse()) {
607
26.7k
    uint32_t last_lineno = CG(zend_lineno);
608
26.7k
    zend_file_context original_file_context;
609
26.7k
    zend_oparray_context original_oparray_context;
610
26.7k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
26.7k
    op_array = emalloc(sizeof(zend_op_array));
613
26.7k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
26.7k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
26.7k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
26.7k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
26.7k
    zend_file_context_begin(&original_file_context);
624
26.7k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
26.7k
    zend_compile_top_stmt(CG(ast));
626
26.7k
    CG(zend_lineno) = last_lineno;
627
26.7k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
26.7k
    op_array->line_start = 1;
629
26.7k
    op_array->line_end = last_lineno;
630
26.7k
    pass_two(op_array);
631
26.7k
    zend_oparray_context_end(&original_oparray_context);
632
26.7k
    zend_file_context_end(&original_file_context);
633
634
26.7k
    CG(active_op_array) = original_active_op_array;
635
26.7k
  }
636
637
53.5k
  zend_ast_destroy(CG(ast));
638
53.5k
  zend_arena_destroy(CG(ast_arena));
639
640
53.5k
  CG(in_compilation) = original_in_compilation;
641
642
53.5k
  return op_array;
643
53.5k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
53.5k
{
647
53.5k
  zend_lex_state original_lex_state;
648
53.5k
  zend_op_array *op_array = NULL;
649
53.5k
  zend_save_lexical_state(&original_lex_state);
650
651
53.5k
  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
53.5k
  } else {
660
53.5k
    bool orig_record_errors = EG(record_errors);
661
53.5k
    if (!orig_record_errors) {
662
0
      zend_begin_record_errors();
663
0
    }
664
665
53.5k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
53.5k
    if (!orig_record_errors) {
668
0
      zend_emit_recorded_errors();
669
0
      zend_free_recorded_errors();
670
0
    }
671
53.5k
  }
672
673
53.5k
  zend_restore_lexical_state(&original_lex_state);
674
53.5k
  return op_array;
675
53.5k
}
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
14
{
784
14
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
14
  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
14
  return offset;
801
14
}
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.59M
  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.59M
  } else if (yyleng == 1) { \
928
734k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
857k
  } else { \
930
857k
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
857k
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
132k
{
935
132k
  char *s, *t;
936
132k
  char *end;
937
938
132k
  if (len <= 1) {
939
49.1k
    if (len < 1) {
940
8.09k
      ZVAL_EMPTY_STRING(zendlval);
941
41.0k
    } else {
942
41.0k
      zend_uchar c = (zend_uchar)*str;
943
41.0k
      HANDLE_NEWLINE(c);
944
41.0k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
41.0k
    }
946
49.1k
    goto skip_escape_conversion;
947
49.1k
  }
948
949
82.9k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
82.9k
  s = Z_STRVAL_P(zendlval);
953
82.9k
  end = s+Z_STRLEN_P(zendlval);
954
648k
  while (1) {
955
648k
    if (UNEXPECTED(*s=='\\')) {
956
12.7k
      break;
957
12.7k
    }
958
635k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
38.4k
      CG(zend_lineno)++;
960
38.4k
    }
961
635k
    s++;
962
635k
    if (s == end) {
963
70.1k
      goto skip_escape_conversion;
964
70.1k
    }
965
635k
  }
966
967
12.7k
  t = s;
968
111k
  while (s<end) {
969
100k
    if (*s=='\\') {
970
28.2k
      s++;
971
28.2k
      if (s >= end) {
972
718
        *t++ = '\\';
973
718
        break;
974
718
      }
975
976
27.5k
      switch(*s) {
977
1.95k
        case 'n':
978
1.95k
          *t++ = '\n';
979
1.95k
          break;
980
533
        case 'r':
981
533
          *t++ = '\r';
982
533
          break;
983
212
        case 't':
984
212
          *t++ = '\t';
985
212
          break;
986
314
        case 'f':
987
314
          *t++ = '\f';
988
314
          break;
989
262
        case 'v':
990
262
          *t++ = '\v';
991
262
          break;
992
308
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
308
          *t++ = '\e';
997
308
#endif
998
308
          break;
999
815
        case '"':
1000
1.16k
        case '`':
1001
1.16k
          if (*s != quote_type) {
1002
429
            *t++ = '\\';
1003
429
            *t++ = *s;
1004
429
            break;
1005
429
          }
1006
732
          ZEND_FALLTHROUGH;
1007
3.64k
        case '\\':
1008
4.05k
        case '$':
1009
4.05k
          *t++ = *s;
1010
4.05k
          break;
1011
5.61k
        case 'x':
1012
6.11k
        case 'X':
1013
6.11k
          if (ZEND_IS_HEX(*(s+1))) {
1014
3.78k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
3.78k
            hex_buf[0] = *(++s);
1017
3.78k
            if (ZEND_IS_HEX(*(s+1))) {
1018
2.00k
              hex_buf[1] = *(++s);
1019
2.00k
            }
1020
3.78k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
3.78k
          } else {
1022
2.32k
            *t++ = '\\';
1023
2.32k
            *t++ = *s;
1024
2.32k
          }
1025
6.11k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
2.86k
        case 'u':
1028
2.86k
          {
1029
            /* cache where we started so we can parse after validating */
1030
2.86k
            char *start = s + 1;
1031
2.86k
            size_t len = 0;
1032
2.86k
            bool valid = 1;
1033
2.86k
            unsigned long codepoint;
1034
1035
2.86k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
357
              *t++ = '\\';
1040
357
              *t++ = 'u';
1041
357
              break;
1042
2.51k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
2.51k
              s++;
1045
2.51k
              len++;
1046
2.51k
              s++;
1047
21.8k
              while (*s != '}') {
1048
20.0k
                if (!ZEND_IS_HEX(*s)) {
1049
699
                  valid = 0;
1050
699
                  break;
1051
19.3k
                } else {
1052
19.3k
                  len++;
1053
19.3k
                }
1054
19.3k
                s++;
1055
19.3k
              }
1056
2.51k
              if (*s == '}') {
1057
1.81k
                valid = 1;
1058
1.81k
                len++;
1059
1.81k
              }
1060
2.51k
            }
1061
1062
            /* \u{} is invalid */
1063
2.51k
            if (len <= 2) {
1064
782
              valid = 0;
1065
782
            }
1066
1067
2.51k
            if (!valid) {
1068
902
              zend_throw_exception(zend_ce_parse_error,
1069
902
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
902
              zval_ptr_dtor(zendlval);
1071
902
              ZVAL_UNDEF(zendlval);
1072
902
              return FAILURE;
1073
902
            }
1074
1075
2.51k
            errno = 0;
1076
1.60k
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
1.60k
            if (codepoint > 0x10FFFF || errno) {
1080
238
              zend_throw_exception(zend_ce_parse_error,
1081
238
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
238
              zval_ptr_dtor(zendlval);
1083
238
              ZVAL_UNDEF(zendlval);
1084
238
              return FAILURE;
1085
238
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
1.37k
            if (codepoint < 0x80) {
1089
196
              *t++ = codepoint;
1090
1.17k
            } else if (codepoint <= 0x7FF) {
1091
348
              *t++ = (codepoint >> 6) + 0xC0;
1092
348
              *t++ = (codepoint & 0x3F) + 0x80;
1093
827
            } else if (codepoint <= 0xFFFF) {
1094
496
              *t++ = (codepoint >> 12) + 0xE0;
1095
496
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
496
              *t++ = (codepoint & 0x3F) + 0x80;
1097
496
            } else if (codepoint <= 0x10FFFF) {
1098
331
              *t++ = (codepoint >> 18) + 0xF0;
1099
331
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
331
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
331
              *t++ = (codepoint & 0x3F) + 0x80;
1102
331
            }
1103
1.37k
          }
1104
0
          break;
1105
10.4k
        default:
1106
          /* check for an octal */
1107
10.4k
          if (ZEND_IS_OCT(*s)) {
1108
2.68k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
2.68k
            octal_buf[0] = *s;
1111
2.68k
            if (ZEND_IS_OCT(*(s+1))) {
1112
1.99k
              octal_buf[1] = *(++s);
1113
1.99k
              if (ZEND_IS_OCT(*(s+1))) {
1114
1.37k
                octal_buf[2] = *(++s);
1115
1.37k
              }
1116
1.99k
            }
1117
2.68k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
296
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
296
            }
1121
1122
2.68k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
7.78k
          } else {
1124
7.78k
            *t++ = '\\';
1125
7.78k
            *t++ = *s;
1126
7.78k
          }
1127
10.4k
          break;
1128
27.5k
      }
1129
72.6k
    } else {
1130
72.6k
      *t++ = *s;
1131
72.6k
    }
1132
1133
99.0k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
4.26k
      CG(zend_lineno)++;
1135
4.26k
    }
1136
99.0k
    s++;
1137
99.0k
  }
1138
11.6k
  *t = 0;
1139
11.6k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
130k
skip_escape_conversion:
1142
130k
  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
130k
  return SUCCESS;
1153
11.6k
}
1154
1155
17.6k
#define HEREDOC_USING_SPACES 1
1156
45.0k
#define HEREDOC_USING_TABS 2
1157
1158
47.1k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
168k
  for (; str < end; str++) {
1160
141k
    if (*str == '\r') {
1161
2.51k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
2.51k
      return str;
1163
138k
    } else if (*str == '\n') {
1164
17.7k
      *newline_len = 1;
1165
17.7k
      return str;
1166
17.7k
    }
1167
141k
  }
1168
26.8k
  *newline_len = 0;
1169
26.8k
  return NULL;
1170
47.1k
}
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
25.7k
{
1176
25.7k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
25.7k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
25.7k
  uint32_t newline_count = 0;
1180
25.7k
  size_t newline_len;
1181
25.7k
  const char *nl;
1182
1183
25.7k
  if (!newline_at_start) {
1184
6.20k
    nl = next_newline(str, end, &newline_len);
1185
6.20k
    if (!nl) {
1186
2.21k
      return 1;
1187
2.21k
    }
1188
1189
3.99k
    str = nl + newline_len;
1190
3.99k
    copy = (char *) nl + newline_len;
1191
3.99k
    newline_count++;
1192
19.5k
  } else {
1193
19.5k
    nl = str;
1194
19.5k
  }
1195
1196
  /* <= intentional */
1197
51.1k
  while (str <= end && nl) {
1198
40.9k
    size_t skip;
1199
40.9k
    nl = next_newline(str, end, &newline_len);
1200
40.9k
    if (!nl && newline_at_end) {
1201
3.03k
      nl = end;
1202
3.03k
    }
1203
1204
    /* Try to skip indentation */
1205
42.0k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
1.31k
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
224
        break;
1209
224
      }
1210
1211
1.08k
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
7
        CG(zend_lineno) += newline_count;
1213
7
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
7
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
7
        goto error;
1216
7
      }
1217
1218
1.07k
      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
1.07k
    }
1225
1226
40.9k
    if (str == end) {
1227
13.3k
      break;
1228
13.3k
    }
1229
1230
27.6k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
27.6k
    memmove(copy, str, len);
1232
27.6k
    str += len;
1233
27.6k
    copy += len;
1234
27.6k
    newline_count++;
1235
27.6k
  }
1236
1237
23.5k
  *copy = '\0';
1238
23.5k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
23.5k
  return 1;
1240
1241
9
error:
1242
9
  zval_ptr_dtor_str(zendlval);
1243
9
  ZVAL_UNDEF(zendlval);
1244
1245
9
  return 0;
1246
23.5k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
1.39M
{
1250
1.39M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
1.39M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
1.39M
  *new_heredoc_label = *heredoc_label;
1254
1.39M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
1.39M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
1.39M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
86.3k
{
1262
86.3k
  char   buf[256];
1263
86.3k
  size_t used = 0;
1264
1265
86.3k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
86.3k
  if (opening_lineno != CG(zend_lineno)) {
1268
38.7k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
38.7k
  }
1270
1271
86.3k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
2.96k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
2.96k
  }
1274
1275
86.3k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
86.3k
}
1277
1278
static void enter_nesting(char opening)
1279
2.46M
{
1280
2.46M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
2.46M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
2.46M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
513k
{
1286
513k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
113
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
113
    return FAILURE;
1289
113
  }
1290
1291
513k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
513k
  char opening = nest_loc->text;
1293
1294
513k
  if ((opening == '{' && closing != '}') ||
1295
511k
      (opening == '[' && closing != ']') ||
1296
510k
      (opening == '(' && closing != ')')) {
1297
2.96k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
2.96k
    return FAILURE;
1299
2.96k
  }
1300
1301
510k
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
510k
  return SUCCESS;
1303
513k
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
116k
{
1307
116k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
83.3k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
83.3k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
83.3k
    return FAILURE;
1311
83.3k
  }
1312
1313
33.5k
  return SUCCESS;
1314
116k
}
1315
1316
#define PARSER_MODE() \
1317
4.54M
  EXPECTED(elem != NULL)
1318
1319
7.53M
#define RETURN_TOKEN(_token) do { \
1320
7.53M
    token = _token; \
1321
7.53M
    goto emit_token; \
1322
7.53M
  } while (0)
1323
1324
850k
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
850k
    token = _token; \
1326
850k
    goto emit_token_with_val; \
1327
850k
  } while (0)
1328
1329
1.59M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
1.59M
    token = _token; \
1331
1.59M
    offset = _offset; \
1332
1.59M
    goto emit_token_with_str; \
1333
1.59M
  } 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
345k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
345k
    token = _token; \
1342
345k
    if (PARSER_MODE()) { \
1343
136k
      goto skip_token; \
1344
136k
    } \
1345
345k
    goto emit_token; \
1346
345k
  } while (0)
1347
1348
513k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
513k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
206
      RETURN_TOKEN(T_ERROR); \
1351
513k
    } else { \
1352
513k
      RETURN_TOKEN(_token); \
1353
513k
    } \
1354
513k
  } while(0)
1355
1356
116k
#define RETURN_END_TOKEN do { \
1357
116k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
4.90k
      RETURN_TOKEN(T_ERROR); \
1359
111k
    } else { \
1360
111k
      RETURN_TOKEN(END); \
1361
111k
    } \
1362
116k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
11.1M
{
1366
11.1M
int token;
1367
11.1M
int offset;
1368
11.1M
uint32_t start_line = CG(zend_lineno);
1369
1370
11.1M
  ZVAL_UNDEF(zendlval);
1371
13.3M
restart:
1372
13.3M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
13.3M
#line 1376 "Zend/zend_language_scanner.c"
1376
13.3M
{
1377
13.3M
  YYCTYPE yych;
1378
13.3M
  unsigned int yyaccept = 0;
1379
13.3M
  if (YYGETCONDITION() < 5) {
1380
11.4M
    if (YYGETCONDITION() < 2) {
1381
9.34M
      if (YYGETCONDITION() < 1) {
1382
9.28M
        goto yyc_ST_IN_SCRIPTING;
1383
9.28M
      } else {
1384
58.5k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
58.5k
      }
1386
9.34M
    } else {
1387
2.11M
      if (YYGETCONDITION() < 3) {
1388
51.1k
        goto yyc_ST_BACKQUOTE;
1389
2.06M
      } else {
1390
2.06M
        if (YYGETCONDITION() < 4) {
1391
103k
          goto yyc_ST_DOUBLE_QUOTES;
1392
1.96M
        } else {
1393
1.96M
          goto yyc_ST_HEREDOC;
1394
1.96M
        }
1395
2.06M
      }
1396
2.11M
    }
1397
11.4M
  } else {
1398
1.89M
    if (YYGETCONDITION() < 8) {
1399
1.67M
      if (YYGETCONDITION() < 6) {
1400
1.59M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
1.59M
      } else {
1402
74.7k
        if (YYGETCONDITION() < 7) {
1403
74.7k
          goto yyc_ST_VAR_OFFSET;
1404
74.7k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
74.7k
      }
1408
1.67M
    } else {
1409
222k
      if (YYGETCONDITION() < 9) {
1410
211k
        goto yyc_INITIAL;
1411
211k
      } else {
1412
11.9k
        if (YYGETCONDITION() < 10) {
1413
7.97k
          goto yyc_ST_END_HEREDOC;
1414
7.97k
        } else {
1415
3.93k
          goto yyc_ST_NOWDOC;
1416
3.93k
        }
1417
11.9k
      }
1418
222k
    }
1419
1.89M
  }
1420
/* *********************************** */
1421
9.28M
yyc_ST_IN_SCRIPTING:
1422
9.28M
  {
1423
9.28M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
9.28M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
9.28M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
9.28M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
9.28M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
9.28M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
9.28M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
9.28M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
9.28M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
9.28M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
9.28M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
9.28M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
9.28M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
9.28M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
9.28M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
9.28M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
9.28M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
9.28M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
9.28M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
9.28M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
9.28M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
9.28M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
9.28M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
9.28M
    };
1491
9.28M
    YYDEBUG(1, *YYCURSOR);
1492
9.28M
    YYFILL(16);
1493
9.28M
    yych = *YYCURSOR;
1494
9.28M
    if (yybm[256+yych] & 32) {
1495
1.01M
      goto yy5;
1496
1.01M
    }
1497
8.27M
    switch (yych) {
1498
312k
    case 0x00:
1499
325k
    case 0x01:
1500
330k
    case 0x02:
1501
336k
    case 0x03:
1502
353k
    case 0x04:
1503
356k
    case 0x05:
1504
365k
    case 0x06:
1505
368k
    case 0x07:
1506
373k
    case 0x08:
1507
373k
    case '\t':
1508
373k
    case '\n':
1509
379k
    case '\v':
1510
387k
    case '\f':
1511
387k
    case '\r':
1512
392k
    case 0x0E:
1513
395k
    case 0x0F:
1514
397k
    case 0x10:
1515
400k
    case 0x11:
1516
402k
    case 0x12:
1517
404k
    case 0x13:
1518
405k
    case 0x14:
1519
407k
    case 0x15:
1520
408k
    case 0x16:
1521
410k
    case 0x17:
1522
413k
    case 0x18:
1523
416k
    case 0x19:
1524
420k
    case 0x1A:
1525
421k
    case 0x1B:
1526
432k
    case 0x1C:
1527
433k
    case 0x1D:
1528
436k
    case 0x1E:
1529
437k
    case 0x1F:
1530
442k
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
45.9k
    case '!': goto yy8;
1533
61.6k
    case '"': goto yy10;
1534
201k
    case '#': goto yy12;
1535
394k
    case '$': goto yy14;
1536
15.7k
    case '%': goto yy15;
1537
77.3k
    case '&': goto yy16;
1538
45.9k
    case '\'':  goto yy18;
1539
333k
    case '(': goto yy20;
1540
242k
    case ')':
1541
415k
    case ']': goto yy22;
1542
48.1k
    case '*': goto yy24;
1543
45.1k
    case '+': goto yy25;
1544
280k
    case ',':
1545
480k
    case ';':
1546
938k
    case '@':
1547
952k
    case '~': goto yy26;
1548
93.5k
    case '-': goto yy27;
1549
73.1k
    case '.': goto yy28;
1550
65.4k
    case '/': goto yy29;
1551
74.6k
    case '0': goto yy30;
1552
62.9k
    case '1':
1553
106k
    case '2':
1554
132k
    case '3':
1555
156k
    case '4':
1556
180k
    case '5':
1557
196k
    case '6':
1558
205k
    case '7':
1559
219k
    case '8':
1560
234k
    case '9': goto yy32;
1561
87.7k
    case ':': goto yy34;
1562
1.83M
    case '<': goto yy35;
1563
93.4k
    case '=': goto yy36;
1564
29.6k
    case '>': goto yy37;
1565
197k
    case '?': goto yy38;
1566
26.6k
    case 'A':
1567
99.9k
    case 'a': goto yy39;
1568
14.4k
    case 'B':
1569
36.1k
    case 'b': goto yy41;
1570
24.4k
    case 'C':
1571
105k
    case 'c': goto yy42;
1572
5.73k
    case 'D':
1573
42.2k
    case 'd': goto yy43;
1574
12.2k
    case 'E':
1575
195k
    case 'e': goto yy44;
1576
18.7k
    case 'F':
1577
181k
    case 'f': goto yy45;
1578
3.71k
    case 'G':
1579
32.9k
    case 'g': goto yy46;
1580
9.24k
    case 'I':
1581
88.9k
    case 'i': goto yy49;
1582
5.83k
    case 'L':
1583
23.2k
    case 'l': goto yy50;
1584
3.90k
    case 'M':
1585
17.7k
    case 'm': goto yy51;
1586
6.50k
    case 'N':
1587
66.4k
    case 'n': goto yy52;
1588
5.50k
    case 'O':
1589
28.4k
    case 'o': goto yy53;
1590
7.17k
    case 'P':
1591
62.8k
    case 'p': goto yy54;
1592
4.21k
    case 'R':
1593
42.4k
    case 'r': goto yy55;
1594
7.30k
    case 'S':
1595
54.3k
    case 's': goto yy56;
1596
9.48k
    case 'T':
1597
52.2k
    case 't': goto yy57;
1598
2.45k
    case 'U':
1599
27.9k
    case 'u': goto yy58;
1600
1.40k
    case 'V':
1601
15.9k
    case 'v': goto yy59;
1602
3.99k
    case 'W':
1603
8.65k
    case 'w': goto yy60;
1604
5.24k
    case 'X':
1605
10.0k
    case 'x': goto yy61;
1606
3.31k
    case 'Y':
1607
61.5k
    case 'y': goto yy62;
1608
175k
    case '[': goto yy63;
1609
62.9k
    case '\\':  goto yy64;
1610
10.4k
    case '^': goto yy66;
1611
86.3k
    case '_': goto yy67;
1612
17.8k
    case '`': goto yy68;
1613
330k
    case '{': goto yy70;
1614
47.6k
    case '|': goto yy72;
1615
97.6k
    case '}': goto yy73;
1616
328k
    default:  goto yy47;
1617
8.27M
    }
1618
442k
yy3:
1619
442k
    YYDEBUG(3, *YYCURSOR);
1620
442k
    ++YYCURSOR;
1621
442k
    YYDEBUG(4, *YYCURSOR);
1622
442k
    yyleng = YYCURSOR - SCNG(yy_text);
1623
442k
#line 3180 "Zend/zend_language_scanner.l"
1624
442k
    {
1625
442k
  if (YYCURSOR > YYLIMIT) {
1626
84.9k
    RETURN_END_TOKEN;
1627
84.9k
  }
1628
1629
357k
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
357k
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
1.32M
yy5:
1633
1.32M
    YYDEBUG(5, *YYCURSOR);
1634
1.32M
    ++YYCURSOR;
1635
1.32M
    YYFILL(1);
1636
1.32M
    yych = *YYCURSOR;
1637
1.32M
    YYDEBUG(6, *YYCURSOR);
1638
1.32M
    if (yybm[256+yych] & 32) {
1639
306k
      goto yy5;
1640
306k
    }
1641
1.01M
    YYDEBUG(7, *YYCURSOR);
1642
1.01M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
1.01M
#line 1597 "Zend/zend_language_scanner.l"
1644
1.01M
    {
1645
1.01M
  goto return_whitespace;
1646
1.32M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
45.9k
yy8:
1649
45.9k
    YYDEBUG(8, *YYCURSOR);
1650
45.9k
    yych = *++YYCURSOR;
1651
45.9k
    if (yych == '=') goto yy75;
1652
1.89M
yy9:
1653
1.89M
    YYDEBUG(9, *YYCURSOR);
1654
1.89M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
1.89M
#line 1969 "Zend/zend_language_scanner.l"
1656
1.89M
    {
1657
1.89M
  RETURN_TOKEN(yytext[0]);
1658
1.89M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
61.9k
yy10:
1661
61.9k
    YYDEBUG(10, *YYCURSOR);
1662
61.9k
    ++YYCURSOR;
1663
61.9k
    YYDEBUG(11, *YYCURSOR);
1664
61.9k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
61.9k
#line 2632 "Zend/zend_language_scanner.l"
1666
61.9k
    {
1667
61.9k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
471k
  while (YYCURSOR < YYLIMIT) {
1670
467k
    switch (*YYCURSOR++) {
1671
40.7k
      case '"':
1672
40.7k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
40.7k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
40.7k
         || !PARSER_MODE()) {
1675
40.7k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
40.7k
        } else {
1677
5
          RETURN_TOKEN(T_ERROR);
1678
5
        }
1679
19.8k
      case '$':
1680
19.8k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
17.1k
          break;
1682
17.1k
        }
1683
2.73k
        continue;
1684
5.63k
      case '{':
1685
5.63k
        if (*YYCURSOR == '$') {
1686
361
          break;
1687
361
        }
1688
5.27k
        continue;
1689
22.3k
      case '\\':
1690
22.3k
        if (YYCURSOR < YYLIMIT) {
1691
22.0k
          YYCURSOR++;
1692
22.0k
        }
1693
22.3k
        ZEND_FALLTHROUGH;
1694
401k
      default:
1695
401k
        continue;
1696
467k
    }
1697
1698
17.5k
    YYCURSOR--;
1699
17.5k
    break;
1700
467k
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
61.9k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
21.2k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
21.2k
  BEGIN(ST_DOUBLE_QUOTES);
1708
21.2k
  RETURN_TOKEN('"');
1709
21.2k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
201k
yy12:
1712
201k
    YYDEBUG(12, *YYCURSOR);
1713
201k
    yych = *++YYCURSOR;
1714
201k
    if (yych == '[') goto yy77;
1715
186k
yy13:
1716
186k
    YYDEBUG(13, *YYCURSOR);
1717
186k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
186k
#line 2460 "Zend/zend_language_scanner.l"
1719
186k
    {
1720
361k
  while (YYCURSOR < YYLIMIT) {
1721
358k
    switch (*YYCURSOR++) {
1722
73.8k
      case '\r':
1723
180k
      case '\n':
1724
180k
        YYCURSOR--;
1725
180k
        break;
1726
4.80k
      case '?':
1727
4.80k
        if (*YYCURSOR == '>') {
1728
1.82k
          YYCURSOR--;
1729
1.82k
          break;
1730
1.82k
        }
1731
2.98k
        ZEND_FALLTHROUGH;
1732
175k
      default:
1733
175k
        continue;
1734
358k
    }
1735
1736
182k
    break;
1737
358k
  }
1738
1739
186k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
186k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
186k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
394k
yy14:
1744
394k
    YYDEBUG(14, *YYCURSOR);
1745
394k
    yych = *++YYCURSOR;
1746
394k
    if (yych <= '_') {
1747
126k
      if (yych <= '@') goto yy9;
1748
16.7k
      if (yych <= 'Z') goto yy79;
1749
2.72k
      if (yych <= '^') goto yy9;
1750
1.34k
      goto yy79;
1751
268k
    } else {
1752
268k
      if (yych <= '`') goto yy9;
1753
267k
      if (yych <= 'z') goto yy79;
1754
164k
      if (yych <= 0x7F) goto yy9;
1755
27.5k
      goto yy79;
1756
164k
    }
1757
15.7k
yy15:
1758
15.7k
    YYDEBUG(15, *YYCURSOR);
1759
15.7k
    yych = *++YYCURSOR;
1760
15.7k
    if (yych == '=') goto yy82;
1761
14.9k
    goto yy9;
1762
77.3k
yy16:
1763
77.3k
    YYDEBUG(16, *YYCURSOR);
1764
77.3k
    yyaccept = 0;
1765
77.3k
    yych = *(YYMARKER = ++YYCURSOR);
1766
77.3k
    if (yych <= '"') {
1767
28.4k
      if (yych <= '\f') {
1768
18.9k
        if (yych <= 0x08) goto yy17;
1769
18.1k
        if (yych <= '\n') goto yy85;
1770
18.1k
      } else {
1771
9.43k
        if (yych <= '\r') goto yy85;
1772
6.76k
        if (yych == ' ') goto yy85;
1773
6.76k
      }
1774
48.8k
    } else {
1775
48.8k
      if (yych <= '-') {
1776
16.7k
        if (yych <= '$') goto yy85;
1777
9.51k
        if (yych == '&') goto yy90;
1778
32.1k
      } else {
1779
32.1k
        if (yych <= '/') goto yy85;
1780
30.9k
        if (yych == '=') goto yy94;
1781
30.9k
      }
1782
48.8k
    }
1783
62.7k
yy17:
1784
62.7k
    YYDEBUG(17, *YYCURSOR);
1785
62.7k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
62.7k
#line 1955 "Zend/zend_language_scanner.l"
1787
62.7k
    {
1788
62.7k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
62.7k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
46.1k
yy18:
1792
46.1k
    YYDEBUG(18, *YYCURSOR);
1793
46.1k
    ++YYCURSOR;
1794
46.1k
    YYDEBUG(19, *YYCURSOR);
1795
46.1k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
46.1k
#line 2538 "Zend/zend_language_scanner.l"
1797
46.1k
    {
1798
46.1k
  char *s, *t;
1799
46.1k
  char *end;
1800
46.1k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
379k
  while (1) {
1803
379k
    if (YYCURSOR < YYLIMIT) {
1804
377k
      if (*YYCURSOR == '\'') {
1805
44.1k
        YYCURSOR++;
1806
44.1k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
44.1k
        break;
1809
333k
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
3.42k
        YYCURSOR++;
1811
3.42k
      }
1812
377k
    } else {
1813
2.00k
      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.00k
      ZVAL_NULL(zendlval);
1819
2.00k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
2.00k
    }
1821
379k
  }
1822
1823
44.1k
  if (yyleng-bprefix-2 <= 1) {
1824
25.4k
    if (yyleng-bprefix-2 < 1) {
1825
10.0k
      ZVAL_EMPTY_STRING(zendlval);
1826
15.4k
    } else {
1827
15.4k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
15.4k
      HANDLE_NEWLINE(c);
1829
15.4k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
15.4k
    }
1831
25.4k
    goto skip_escape_conversion;
1832
25.4k
  }
1833
18.6k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
18.6k
  s = Z_STRVAL_P(zendlval);
1837
18.6k
  end = s+Z_STRLEN_P(zendlval);
1838
189k
  while (1) {
1839
189k
    if (UNEXPECTED(*s=='\\')) {
1840
1.02k
      break;
1841
1.02k
    }
1842
188k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
4.88k
      CG(zend_lineno)++;
1844
4.88k
    }
1845
188k
    s++;
1846
188k
    if (s == end) {
1847
17.6k
      goto skip_escape_conversion;
1848
17.6k
    }
1849
188k
  }
1850
1851
1.02k
  t = s;
1852
82.4k
  while (s<end) {
1853
81.4k
    if (*s=='\\') {
1854
2.75k
      s++;
1855
2.75k
      if (*s == '\\' || *s == '\'') {
1856
1.36k
        *t++ = *s;
1857
1.38k
      } else {
1858
1.38k
        *t++ = '\\';
1859
1.38k
        *t++ = *s;
1860
1.38k
      }
1861
78.6k
    } else {
1862
78.6k
      *t++ = *s;
1863
78.6k
    }
1864
81.4k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
3.35k
      CG(zend_lineno)++;
1866
3.35k
    }
1867
81.4k
    s++;
1868
81.4k
  }
1869
1.02k
  *t = 0;
1870
1.02k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
44.1k
skip_escape_conversion:
1873
44.1k
  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
44.1k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
44.1k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
333k
yy20:
1891
333k
    YYDEBUG(20, *YYCURSOR);
1892
333k
    yyaccept = 1;
1893
333k
    yych = *(YYMARKER = ++YYCURSOR);
1894
333k
    if (yych <= 'S') {
1895
177k
      if (yych <= 'D') {
1896
168k
        if (yych <= ' ') {
1897
13.1k
          if (yych == '\t') goto yy97;
1898
7.92k
          if (yych >= ' ') goto yy97;
1899
155k
        } else {
1900
155k
          if (yych <= '@') goto yy21;
1901
11.0k
          if (yych != 'C') goto yy97;
1902
11.0k
        }
1903
168k
      } else {
1904
8.51k
        if (yych <= 'I') {
1905
3.12k
          if (yych == 'F') goto yy97;
1906
1.91k
          if (yych >= 'I') goto yy97;
1907
5.39k
        } else {
1908
5.39k
          if (yych == 'O') goto yy97;
1909
4.55k
          if (yych >= 'R') goto yy97;
1910
4.55k
        }
1911
8.51k
      }
1912
177k
    } else {
1913
156k
      if (yych <= 'f') {
1914
66.3k
        if (yych <= 'b') {
1915
47.4k
          if (yych <= 'T') goto yy21;
1916
46.9k
          if (yych <= 'V') goto yy97;
1917
46.3k
          if (yych >= 'a') goto yy97;
1918
46.3k
        } else {
1919
18.9k
          if (yych == 'd') goto yy97;
1920
15.4k
          if (yych >= 'f') goto yy97;
1921
15.4k
        }
1922
90.1k
      } else {
1923
90.1k
        if (yych <= 'o') {
1924
31.2k
          if (yych == 'i') goto yy97;
1925
20.4k
          if (yych >= 'o') goto yy97;
1926
58.9k
        } else {
1927
58.9k
          if (yych <= 's') {
1928
18.7k
            if (yych >= 'r') goto yy97;
1929
40.1k
          } else {
1930
40.1k
            if (yych <= 't') goto yy21;
1931
36.3k
            if (yych <= 'v') goto yy97;
1932
36.3k
          }
1933
58.9k
        }
1934
90.1k
      }
1935
156k
    }
1936
500k
yy21:
1937
500k
    YYDEBUG(21, *YYCURSOR);
1938
500k
    yyleng = YYCURSOR - SCNG(yy_text);
1939
500k
#line 1964 "Zend/zend_language_scanner.l"
1940
500k
    {
1941
500k
  enter_nesting(yytext[0]);
1942
500k
  RETURN_TOKEN(yytext[0]);
1943
500k
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
415k
yy22:
1946
415k
    YYDEBUG(22, *YYCURSOR);
1947
415k
    ++YYCURSOR;
1948
415k
    YYDEBUG(23, *YYCURSOR);
1949
415k
    yyleng = YYCURSOR - SCNG(yy_text);
1950
415k
#line 1959 "Zend/zend_language_scanner.l"
1951
415k
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
415k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
415k
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
48.1k
yy24:
1957
48.1k
    YYDEBUG(24, *YYCURSOR);
1958
48.1k
    yych = *++YYCURSOR;
1959
48.1k
    if (yych == '*') goto yy108;
1960
37.0k
    if (yych == '=') goto yy110;
1961
34.9k
    goto yy9;
1962
45.1k
yy25:
1963
45.1k
    YYDEBUG(25, *YYCURSOR);
1964
45.1k
    yych = *++YYCURSOR;
1965
45.1k
    if (yych == '+') goto yy112;
1966
43.4k
    if (yych == '=') goto yy114;
1967
43.0k
    goto yy9;
1968
952k
yy26:
1969
952k
    YYDEBUG(26, *YYCURSOR);
1970
952k
    ++YYCURSOR;
1971
952k
    goto yy9;
1972
93.5k
yy27:
1973
93.5k
    YYDEBUG(27, *YYCURSOR);
1974
93.5k
    yych = *++YYCURSOR;
1975
93.5k
    if (yych <= '<') {
1976
39.6k
      if (yych == '-') goto yy116;
1977
37.0k
      goto yy9;
1978
53.9k
    } else {
1979
53.9k
      if (yych <= '=') goto yy118;
1980
53.5k
      if (yych <= '>') goto yy120;
1981
25.0k
      goto yy9;
1982
53.5k
    }
1983
73.1k
yy28:
1984
73.1k
    YYDEBUG(28, *YYCURSOR);
1985
73.1k
    yyaccept = 2;
1986
73.1k
    yych = *(YYMARKER = ++YYCURSOR);
1987
73.1k
    if (yych <= '/') {
1988
37.0k
      if (yych == '.') goto yy122;
1989
19.4k
      goto yy9;
1990
37.0k
    } else {
1991
36.1k
      if (yych <= '9') goto yy123;
1992
17.9k
      if (yych == '=') goto yy126;
1993
16.9k
      goto yy9;
1994
17.9k
    }
1995
65.4k
yy29:
1996
65.4k
    YYDEBUG(29, *YYCURSOR);
1997
65.4k
    yych = *++YYCURSOR;
1998
65.4k
    if (yych <= '.') {
1999
36.9k
      if (yych == '*') goto yy128;
2000
10.3k
      goto yy9;
2001
36.9k
    } else {
2002
28.4k
      if (yych <= '/') goto yy130;
2003
25.7k
      if (yych == '=') goto yy131;
2004
23.8k
      goto yy9;
2005
25.7k
    }
2006
74.6k
yy30:
2007
74.6k
    YYDEBUG(30, *YYCURSOR);
2008
74.6k
    yyaccept = 3;
2009
74.6k
    yych = *(YYMARKER = ++YYCURSOR);
2010
74.6k
    if (yych <= 'X') {
2011
38.2k
      if (yych <= 'N') {
2012
35.7k
        if (yych == 'B') goto yy134;
2013
35.4k
        goto yy33;
2014
35.7k
      } else {
2015
2.42k
        if (yych <= 'O') goto yy136;
2016
2.01k
        if (yych <= 'W') goto yy33;
2017
1.62k
        goto yy137;
2018
2.01k
      }
2019
38.2k
    } else {
2020
36.4k
      if (yych <= 'n') {
2021
21.2k
        if (yych == 'b') goto yy134;
2022
19.6k
        goto yy33;
2023
21.2k
      } else {
2024
15.1k
        if (yych <= 'o') goto yy136;
2025
13.5k
        if (yych == 'x') goto yy137;
2026
11.6k
        goto yy33;
2027
13.5k
      }
2028
36.4k
    }
2029
263k
yy31:
2030
263k
    YYDEBUG(31, *YYCURSOR);
2031
263k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
263k
#line 2103 "Zend/zend_language_scanner.l"
2033
263k
    {
2034
263k
  size_t len = yyleng;
2035
263k
  char *end, *lnum = yytext;
2036
263k
  bool is_octal = lnum[0] == '0';
2037
263k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
263k
  if (contains_underscores) {
2040
809
    lnum = estrndup(lnum, len);
2041
809
    strip_underscores(lnum, &len);
2042
809
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
263k
  if (is_octal) {
2046
61.9k
    size_t i;
2047
149k
    for (i = 0; i < len; i++) {
2048
88.4k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
637
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
637
        if (PARSER_MODE()) {
2051
19
          if (contains_underscores) {
2052
2
            efree(lnum);
2053
2
          }
2054
19
          ZVAL_UNDEF(zendlval);
2055
19
          RETURN_TOKEN(T_ERROR);
2056
19
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
618
        len = i;
2060
618
        break;
2061
637
      }
2062
88.4k
    }
2063
61.9k
  }
2064
2065
2066
263k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
257k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
257k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
257k
    ZEND_ASSERT(end == lnum + len);
2071
257k
  } else {
2072
6.48k
    errno = 0;
2073
6.48k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
6.48k
    if (errno == ERANGE) { /* Overflow */
2075
5.06k
      errno = 0;
2076
5.06k
      if (is_octal) { /* octal overflow */
2077
270
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
4.79k
      } else {
2079
4.79k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
4.79k
      }
2081
5.06k
      ZEND_ASSERT(end == lnum + len);
2082
5.06k
      if (contains_underscores) {
2083
408
        efree(lnum);
2084
408
      }
2085
5.06k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
5.06k
    }
2087
1.42k
    ZEND_ASSERT(end == lnum + len);
2088
1.42k
  }
2089
258k
  ZEND_ASSERT(!errno);
2090
258k
  if (contains_underscores) {
2091
399
    efree(lnum);
2092
399
  }
2093
258k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
258k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
707k
yy32:
2097
707k
    YYDEBUG(32, *YYCURSOR);
2098
707k
    yyaccept = 3;
2099
707k
    YYMARKER = ++YYCURSOR;
2100
707k
    YYFILL(3);
2101
707k
    yych = *YYCURSOR;
2102
774k
yy33:
2103
774k
    YYDEBUG(33, *YYCURSOR);
2104
774k
    if (yybm[256+yych] & 64) {
2105
470k
      goto yy32;
2106
470k
    }
2107
303k
    if (yych <= 'E') {
2108
202k
      if (yych == '.') goto yy133;
2109
179k
      if (yych <= 'D') goto yy31;
2110
9.45k
      goto yy135;
2111
179k
    } else {
2112
100k
      if (yych <= '_') {
2113
51.8k
        if (yych <= '^') goto yy31;
2114
3.65k
        goto yy138;
2115
51.8k
      } else {
2116
49.0k
        if (yych == 'e') goto yy135;
2117
40.6k
        goto yy31;
2118
49.0k
      }
2119
100k
    }
2120
87.7k
yy34:
2121
87.7k
    YYDEBUG(34, *YYCURSOR);
2122
87.7k
    yych = *++YYCURSOR;
2123
87.7k
    if (yych == ':') goto yy139;
2124
35.0k
    goto yy9;
2125
1.83M
yy35:
2126
1.83M
    YYDEBUG(35, *YYCURSOR);
2127
1.83M
    yych = *++YYCURSOR;
2128
1.83M
    if (yych <= ';') goto yy9;
2129
1.77M
    if (yych <= '<') goto yy141;
2130
145k
    if (yych <= '=') goto yy143;
2131
142k
    if (yych <= '>') goto yy145;
2132
140k
    goto yy9;
2133
140k
yy36:
2134
93.4k
    YYDEBUG(36, *YYCURSOR);
2135
93.4k
    yych = *++YYCURSOR;
2136
93.4k
    if (yych <= '<') goto yy9;
2137
65.0k
    if (yych <= '=') goto yy146;
2138
53.1k
    if (yych <= '>') goto yy148;
2139
12.3k
    goto yy9;
2140
29.6k
yy37:
2141
29.6k
    YYDEBUG(37, *YYCURSOR);
2142
29.6k
    yych = *++YYCURSOR;
2143
29.6k
    if (yych <= '<') goto yy9;
2144
15.7k
    if (yych <= '=') goto yy150;
2145
12.3k
    if (yych <= '>') goto yy152;
2146
8.14k
    goto yy9;
2147
197k
yy38:
2148
197k
    YYDEBUG(38, *YYCURSOR);
2149
197k
    yyaccept = 2;
2150
197k
    yych = *(YYMARKER = ++YYCURSOR);
2151
197k
    if (yych <= '=') {
2152
50.0k
      if (yych == '-') goto yy154;
2153
40.2k
      goto yy9;
2154
147k
    } else {
2155
147k
      if (yych <= '>') goto yy155;
2156
60.4k
      if (yych <= '?') goto yy157;
2157
33.6k
      goto yy9;
2158
60.4k
    }
2159
99.9k
yy39:
2160
99.9k
    YYDEBUG(39, *YYCURSOR);
2161
99.9k
    yyaccept = 4;
2162
99.9k
    yych = *(YYMARKER = ++YYCURSOR);
2163
99.9k
    if (yych <= 'S') {
2164
32.6k
      if (yych <= 'M') {
2165
26.1k
        if (yych == 'B') goto yy159;
2166
25.6k
        goto yy48;
2167
26.1k
      } else {
2168
6.49k
        if (yych <= 'N') goto yy160;
2169
5.95k
        if (yych <= 'Q') goto yy48;
2170
5.70k
        if (yych <= 'R') goto yy161;
2171
5.15k
        goto yy162;
2172
5.70k
      }
2173
67.2k
    } else {
2174
67.2k
      if (yych <= 'n') {
2175
17.9k
        if (yych == 'b') goto yy159;
2176
13.6k
        if (yych <= 'm') goto yy48;
2177
2.96k
        goto yy160;
2178
49.2k
      } else {
2179
49.2k
        if (yych <= 'q') goto yy48;
2180
48.6k
        if (yych <= 'r') goto yy161;
2181
39.3k
        if (yych <= 's') goto yy162;
2182
6.24k
        goto yy48;
2183
39.3k
      }
2184
67.2k
    }
2185
1.23M
yy40:
2186
1.23M
    YYDEBUG(40, *YYCURSOR);
2187
1.23M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
1.23M
#line 2455 "Zend/zend_language_scanner.l"
2189
1.23M
    {
2190
1.23M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
1.23M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
36.1k
yy41:
2194
36.1k
    YYDEBUG(41, *YYCURSOR);
2195
36.1k
    yyaccept = 4;
2196
36.1k
    yych = *(YYMARKER = ++YYCURSOR);
2197
36.1k
    if (yych <= ';') {
2198
13.1k
      if (yych <= '"') {
2199
5.77k
        if (yych <= '!') goto yy48;
2200
282
        goto yy10;
2201
7.34k
      } else {
2202
7.34k
        if (yych == '\'') goto yy18;
2203
7.13k
        goto yy48;
2204
7.34k
      }
2205
23.0k
    } else {
2206
23.0k
      if (yych <= 'R') {
2207
5.99k
        if (yych <= '<') goto yy165;
2208
3.56k
        if (yych <= 'Q') goto yy48;
2209
250
        goto yy166;
2210
17.0k
      } else {
2211
17.0k
        if (yych == 'r') goto yy166;
2212
14.5k
        goto yy48;
2213
17.0k
      }
2214
23.0k
    }
2215
105k
yy42:
2216
105k
    YYDEBUG(42, *YYCURSOR);
2217
105k
    yyaccept = 4;
2218
105k
    yych = *(YYMARKER = ++YYCURSOR);
2219
105k
    if (yych <= 'O') {
2220
23.6k
      if (yych <= 'K') {
2221
21.1k
        if (yych == 'A') goto yy167;
2222
19.7k
        goto yy48;
2223
21.1k
      } else {
2224
2.46k
        if (yych <= 'L') goto yy168;
2225
1.96k
        if (yych <= 'N') goto yy48;
2226
1.73k
        goto yy169;
2227
1.96k
      }
2228
82.2k
    } else {
2229
82.2k
      if (yych <= 'k') {
2230
24.8k
        if (yych == 'a') goto yy167;
2231
5.76k
        goto yy48;
2232
57.3k
      } else {
2233
57.3k
        if (yych <= 'l') goto yy168;
2234
23.5k
        if (yych == 'o') goto yy169;
2235
10.1k
        goto yy48;
2236
23.5k
      }
2237
82.2k
    }
2238
42.2k
yy43:
2239
42.2k
    YYDEBUG(43, *YYCURSOR);
2240
42.2k
    yyaccept = 4;
2241
42.2k
    yych = *(YYMARKER = ++YYCURSOR);
2242
42.2k
    if (yych <= 'O') {
2243
11.5k
      if (yych <= 'H') {
2244
9.95k
        if (yych == 'E') goto yy170;
2245
8.34k
        goto yy48;
2246
9.95k
      } else {
2247
1.56k
        if (yych <= 'I') goto yy171;
2248
1.19k
        if (yych <= 'N') goto yy48;
2249
771
        goto yy172;
2250
1.19k
      }
2251
30.7k
    } else {
2252
30.7k
      if (yych <= 'h') {
2253
17.8k
        if (yych == 'e') goto yy170;
2254
4.15k
        goto yy48;
2255
17.8k
      } else {
2256
12.8k
        if (yych <= 'i') goto yy171;
2257
6.98k
        if (yych == 'o') goto yy172;
2258
3.07k
        goto yy48;
2259
6.98k
      }
2260
30.7k
    }
2261
195k
yy44:
2262
195k
    YYDEBUG(44, *YYCURSOR);
2263
195k
    yyaccept = 4;
2264
195k
    yych = *(YYMARKER = ++YYCURSOR);
2265
195k
    switch (yych) {
2266
408
    case 'C':
2267
5.56k
    case 'c': goto yy174;
2268
224
    case 'L':
2269
10.4k
    case 'l': goto yy175;
2270
327
    case 'M':
2271
3.97k
    case 'm': goto yy176;
2272
45.0k
    case 'N':
2273
106k
    case 'n': goto yy177;
2274
208
    case 'V':
2275
3.34k
    case 'v': goto yy178;
2276
1.06k
    case 'X':
2277
19.0k
    case 'x': goto yy179;
2278
46.0k
    default:  goto yy48;
2279
195k
    }
2280
181k
yy45:
2281
181k
    YYDEBUG(45, *YYCURSOR);
2282
181k
    yyaccept = 4;
2283
181k
    yych = *(YYMARKER = ++YYCURSOR);
2284
181k
    if (yych <= 'U') {
2285
73.0k
      if (yych <= 'M') {
2286
65.9k
        if (yych == 'I') goto yy180;
2287
65.6k
        goto yy48;
2288
65.9k
      } else {
2289
7.12k
        if (yych <= 'N') goto yy181;
2290
6.59k
        if (yych <= 'O') goto yy183;
2291
5.51k
        if (yych <= 'T') goto yy48;
2292
292
        goto yy184;
2293
5.51k
      }
2294
108k
    } else {
2295
108k
      if (yych <= 'n') {
2296
41.9k
        if (yych == 'i') goto yy180;
2297
31.6k
        if (yych <= 'm') goto yy48;
2298
19.8k
        goto yy181;
2299
66.6k
      } else {
2300
66.6k
        if (yych <= 'o') goto yy183;
2301
44.8k
        if (yych == 'u') goto yy184;
2302
12.0k
        goto yy48;
2303
44.8k
      }
2304
108k
    }
2305
32.9k
yy46:
2306
32.9k
    YYDEBUG(46, *YYCURSOR);
2307
32.9k
    yyaccept = 4;
2308
32.9k
    yych = *(YYMARKER = ++YYCURSOR);
2309
32.9k
    if (yych <= 'O') {
2310
17.8k
      if (yych == 'L') goto yy185;
2311
16.7k
      if (yych <= 'N') goto yy48;
2312
200
      goto yy186;
2313
16.7k
    } else {
2314
15.0k
      if (yych <= 'l') {
2315
8.37k
        if (yych <= 'k') goto yy48;
2316
2.47k
        goto yy185;
2317
8.37k
      } else {
2318
6.69k
        if (yych == 'o') goto yy186;
2319
2.83k
        goto yy48;
2320
6.69k
      }
2321
15.0k
    }
2322
3.54M
yy47:
2323
3.54M
    YYDEBUG(47, *YYCURSOR);
2324
3.54M
    yyaccept = 4;
2325
3.54M
    YYMARKER = ++YYCURSOR;
2326
3.54M
    YYFILL(1);
2327
3.54M
    yych = *YYCURSOR;
2328
4.36M
yy48:
2329
4.36M
    YYDEBUG(48, *YYCURSOR);
2330
4.36M
    if (yybm[256+yych] & 128) {
2331
3.13M
      goto yy47;
2332
3.13M
    }
2333
1.23M
    if (yych == '\\') goto yy164;
2334
1.22M
    goto yy40;
2335
1.22M
yy49:
2336
88.9k
    YYDEBUG(49, *YYCURSOR);
2337
88.9k
    yyaccept = 4;
2338
88.9k
    yych = *(YYMARKER = ++YYCURSOR);
2339
88.9k
    if (yych <= 'S') {
2340
17.0k
      if (yych <= 'L') {
2341
10.6k
        if (yych == 'F') goto yy187;
2342
10.3k
        goto yy48;
2343
10.6k
      } else {
2344
6.40k
        if (yych <= 'M') goto yy189;
2345
4.18k
        if (yych <= 'N') goto yy190;
2346
799
        if (yych <= 'R') goto yy48;
2347
310
        goto yy191;
2348
799
      }
2349
71.8k
    } else {
2350
71.8k
      if (yych <= 'm') {
2351
17.5k
        if (yych == 'f') goto yy187;
2352
12.7k
        if (yych <= 'l') goto yy48;
2353
6.89k
        goto yy189;
2354
54.3k
      } else {
2355
54.3k
        if (yych <= 'n') goto yy190;
2356
11.7k
        if (yych == 's') goto yy191;
2357
6.18k
        goto yy48;
2358
11.7k
      }
2359
71.8k
    }
2360
23.2k
yy50:
2361
23.2k
    YYDEBUG(50, *YYCURSOR);
2362
23.2k
    yyaccept = 4;
2363
23.2k
    yych = *(YYMARKER = ++YYCURSOR);
2364
23.2k
    if (yych == 'I') goto yy192;
2365
23.0k
    if (yych == 'i') goto yy192;
2366
19.2k
    goto yy48;
2367
19.2k
yy51:
2368
17.7k
    YYDEBUG(51, *YYCURSOR);
2369
17.7k
    yyaccept = 4;
2370
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
2371
17.7k
    if (yych == 'A') goto yy193;
2372
17.1k
    if (yych == 'a') goto yy193;
2373
13.1k
    goto yy48;
2374
66.4k
yy52:
2375
66.4k
    YYDEBUG(52, *YYCURSOR);
2376
66.4k
    yyaccept = 4;
2377
66.4k
    yych = *(YYMARKER = ++YYCURSOR);
2378
66.4k
    if (yych <= 'E') {
2379
13.3k
      if (yych == 'A') goto yy194;
2380
12.5k
      if (yych <= 'D') goto yy48;
2381
256
      goto yy195;
2382
53.1k
    } else {
2383
53.1k
      if (yych <= 'a') {
2384
17.5k
        if (yych <= '`') goto yy48;
2385
13.1k
        goto yy194;
2386
35.6k
      } else {
2387
35.6k
        if (yych == 'e') goto yy195;
2388
20.5k
        goto yy48;
2389
35.6k
      }
2390
53.1k
    }
2391
28.4k
yy53:
2392
28.4k
    YYDEBUG(53, *YYCURSOR);
2393
28.4k
    yyaccept = 4;
2394
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
2395
28.4k
    if (yych == 'R') goto yy196;
2396
28.0k
    if (yych == 'r') goto yy196;
2397
25.8k
    goto yy48;
2398
62.8k
yy54:
2399
62.8k
    YYDEBUG(54, *YYCURSOR);
2400
62.8k
    yyaccept = 4;
2401
62.8k
    yych = *(YYMARKER = ++YYCURSOR);
2402
62.8k
    if (yych <= 'U') {
2403
15.9k
      if (yych == 'R') goto yy198;
2404
12.5k
      if (yych <= 'T') goto yy48;
2405
604
      goto yy199;
2406
46.9k
    } else {
2407
46.9k
      if (yych <= 'r') {
2408
25.1k
        if (yych <= 'q') goto yy48;
2409
15.7k
        goto yy198;
2410
25.1k
      } else {
2411
21.7k
        if (yych == 'u') goto yy199;
2412
3.23k
        goto yy48;
2413
21.7k
      }
2414
46.9k
    }
2415
42.4k
yy55:
2416
42.4k
    YYDEBUG(55, *YYCURSOR);
2417
42.4k
    yyaccept = 4;
2418
42.4k
    yych = *(YYMARKER = ++YYCURSOR);
2419
42.4k
    if (yych == 'E') goto yy200;
2420
37.3k
    if (yych == 'e') goto yy200;
2421
21.1k
    goto yy48;
2422
54.3k
yy56:
2423
54.3k
    YYDEBUG(56, *YYCURSOR);
2424
54.3k
    yyaccept = 4;
2425
54.3k
    yych = *(YYMARKER = ++YYCURSOR);
2426
54.3k
    if (yych <= 'W') {
2427
13.3k
      if (yych == 'T') goto yy201;
2428
12.4k
      if (yych <= 'V') goto yy48;
2429
432
      goto yy202;
2430
41.0k
    } else {
2431
41.0k
      if (yych <= 't') {
2432
33.8k
        if (yych <= 's') goto yy48;
2433
15.7k
        goto yy201;
2434
33.8k
      } else {
2435
7.12k
        if (yych == 'w') goto yy202;
2436
2.70k
        goto yy48;
2437
7.12k
      }
2438
41.0k
    }
2439
52.2k
yy57:
2440
52.2k
    YYDEBUG(57, *YYCURSOR);
2441
52.2k
    yyaccept = 4;
2442
52.2k
    yych = *(YYMARKER = ++YYCURSOR);
2443
52.2k
    if (yych <= 'R') {
2444
18.7k
      if (yych == 'H') goto yy203;
2445
18.3k
      if (yych <= 'Q') goto yy48;
2446
3.14k
      goto yy204;
2447
33.4k
    } else {
2448
33.4k
      if (yych <= 'h') {
2449
12.5k
        if (yych <= 'g') goto yy48;
2450
3.60k
        goto yy203;
2451
20.9k
      } else {
2452
20.9k
        if (yych == 'r') goto yy204;
2453
11.0k
        goto yy48;
2454
20.9k
      }
2455
33.4k
    }
2456
27.9k
yy58:
2457
27.9k
    YYDEBUG(58, *YYCURSOR);
2458
27.9k
    yyaccept = 4;
2459
27.9k
    yych = *(YYMARKER = ++YYCURSOR);
2460
27.9k
    if (yych <= 'S') {
2461
7.90k
      if (yych == 'N') goto yy205;
2462
7.16k
      if (yych <= 'R') goto yy48;
2463
566
      goto yy206;
2464
19.9k
    } else {
2465
19.9k
      if (yych <= 'n') {
2466
9.38k
        if (yych <= 'm') goto yy48;
2467
4.78k
        goto yy205;
2468
10.6k
      } else {
2469
10.6k
        if (yych == 's') goto yy206;
2470
4.65k
        goto yy48;
2471
10.6k
      }
2472
19.9k
    }
2473
15.9k
yy59:
2474
15.9k
    YYDEBUG(59, *YYCURSOR);
2475
15.9k
    yyaccept = 4;
2476
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
2477
15.9k
    if (yych == 'A') goto yy207;
2478
15.6k
    if (yych == 'a') goto yy207;
2479
10.3k
    goto yy48;
2480
10.3k
yy60:
2481
8.65k
    YYDEBUG(60, *YYCURSOR);
2482
8.65k
    yyaccept = 4;
2483
8.65k
    yych = *(YYMARKER = ++YYCURSOR);
2484
8.65k
    if (yych == 'H') goto yy208;
2485
8.44k
    if (yych == 'h') goto yy208;
2486
5.28k
    goto yy48;
2487
10.0k
yy61:
2488
10.0k
    YYDEBUG(61, *YYCURSOR);
2489
10.0k
    yyaccept = 4;
2490
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
2491
10.0k
    if (yych == 'O') goto yy209;
2492
9.82k
    if (yych == 'o') goto yy209;
2493
7.07k
    goto yy48;
2494
61.5k
yy62:
2495
61.5k
    YYDEBUG(62, *YYCURSOR);
2496
61.5k
    yyaccept = 4;
2497
61.5k
    yych = *(YYMARKER = ++YYCURSOR);
2498
61.5k
    if (yych == 'I') goto yy210;
2499
60.7k
    if (yych == 'i') goto yy210;
2500
9.45k
    goto yy48;
2501
175k
yy63:
2502
175k
    YYDEBUG(63, *YYCURSOR);
2503
175k
    ++YYCURSOR;
2504
175k
    goto yy21;
2505
62.9k
yy64:
2506
62.9k
    YYDEBUG(64, *YYCURSOR);
2507
62.9k
    yych = *++YYCURSOR;
2508
62.9k
    if (yych <= '_') {
2509
46.4k
      if (yych <= '@') goto yy65;
2510
24.1k
      if (yych <= 'Z') goto yy211;
2511
20.7k
      if (yych >= '_') goto yy211;
2512
20.7k
    } else {
2513
16.4k
      if (yych <= '`') goto yy65;
2514
15.0k
      if (yych <= 'z') goto yy211;
2515
8.80k
      if (yych >= 0x80) goto yy211;
2516
8.80k
    }
2517
49.0k
yy65:
2518
49.0k
    YYDEBUG(65, *YYCURSOR);
2519
49.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
49.0k
#line 2451 "Zend/zend_language_scanner.l"
2521
49.0k
    {
2522
49.0k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
49.0k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
10.4k
yy66:
2526
10.4k
    YYDEBUG(66, *YYCURSOR);
2527
10.4k
    yych = *++YYCURSOR;
2528
10.4k
    if (yych == '=') goto yy214;
2529
9.84k
    goto yy9;
2530
86.3k
yy67:
2531
86.3k
    YYDEBUG(67, *YYCURSOR);
2532
86.3k
    yyaccept = 4;
2533
86.3k
    yych = *(YYMARKER = ++YYCURSOR);
2534
86.3k
    if (yych == '_') goto yy216;
2535
24.5k
    goto yy48;
2536
24.5k
yy68:
2537
17.8k
    YYDEBUG(68, *YYCURSOR);
2538
17.8k
    ++YYCURSOR;
2539
17.8k
    YYDEBUG(69, *YYCURSOR);
2540
17.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
17.8k
#line 2826 "Zend/zend_language_scanner.l"
2542
17.8k
    {
2543
17.8k
  BEGIN(ST_BACKQUOTE);
2544
17.8k
  RETURN_TOKEN('`');
2545
17.8k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
330k
yy70:
2548
330k
    YYDEBUG(70, *YYCURSOR);
2549
330k
    ++YYCURSOR;
2550
330k
    YYDEBUG(71, *YYCURSOR);
2551
330k
    yyleng = YYCURSOR - SCNG(yy_text);
2552
330k
#line 1974 "Zend/zend_language_scanner.l"
2553
330k
    {
2554
330k
  yy_push_state(ST_IN_SCRIPTING);
2555
330k
  enter_nesting('{');
2556
330k
  RETURN_TOKEN('{');
2557
330k
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
47.6k
yy72:
2560
47.6k
    YYDEBUG(72, *YYCURSOR);
2561
47.6k
    yych = *++YYCURSOR;
2562
47.6k
    if (yych <= '>') {
2563
19.3k
      if (yych <= '<') goto yy9;
2564
4.80k
      if (yych <= '=') goto yy217;
2565
3.95k
      goto yy219;
2566
28.2k
    } else {
2567
28.2k
      if (yych == '|') goto yy221;
2568
24.3k
      goto yy9;
2569
28.2k
    }
2570
97.6k
yy73:
2571
97.6k
    YYDEBUG(73, *YYCURSOR);
2572
97.6k
    ++YYCURSOR;
2573
97.6k
    YYDEBUG(74, *YYCURSOR);
2574
97.6k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
97.6k
#line 1987 "Zend/zend_language_scanner.l"
2576
97.6k
    {
2577
97.6k
  RESET_DOC_COMMENT();
2578
97.6k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
97.6k
    yy_pop_state();
2580
97.6k
  }
2581
97.6k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
97.6k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
3.91k
yy75:
2585
3.91k
    YYDEBUG(75, *YYCURSOR);
2586
3.91k
    yych = *++YYCURSOR;
2587
3.91k
    if (yych == '=') goto yy223;
2588
4.18k
yy76:
2589
4.18k
    YYDEBUG(76, *YYCURSOR);
2590
4.18k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
4.18k
#line 1846 "Zend/zend_language_scanner.l"
2592
4.18k
    {
2593
4.18k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
4.18k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
17.4k
yy77:
2597
17.4k
    YYDEBUG(77, *YYCURSOR);
2598
17.4k
    ++YYCURSOR;
2599
17.4k
    YYDEBUG(78, *YYCURSOR);
2600
17.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
17.4k
#line 1423 "Zend/zend_language_scanner.l"
2602
17.4k
    {
2603
17.4k
  enter_nesting('[');
2604
17.4k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
17.4k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
442k
yy79:
2608
442k
    YYDEBUG(79, *YYCURSOR);
2609
442k
    ++YYCURSOR;
2610
442k
    YYFILL(1);
2611
442k
    yych = *YYCURSOR;
2612
442k
    YYDEBUG(80, *YYCURSOR);
2613
442k
    if (yych <= '^') {
2614
192k
      if (yych <= '9') {
2615
101k
        if (yych >= '0') goto yy79;
2616
101k
      } else {
2617
91.3k
        if (yych <= '@') goto yy81;
2618
52.9k
        if (yych <= 'Z') goto yy79;
2619
52.9k
      }
2620
249k
    } else {
2621
249k
      if (yych <= '`') {
2622
3.40k
        if (yych <= '_') goto yy79;
2623
245k
      } else {
2624
245k
        if (yych <= 'z') goto yy79;
2625
108k
        if (yych >= 0x80) goto yy79;
2626
108k
      }
2627
249k
    }
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
810
yy82:
2637
810
    YYDEBUG(82, *YYCURSOR);
2638
810
    ++YYCURSOR;
2639
810
    YYDEBUG(83, *YYCURSOR);
2640
810
    yyleng = YYCURSOR - SCNG(yy_text);
2641
810
#line 1890 "Zend/zend_language_scanner.l"
2642
810
    {
2643
810
  RETURN_TOKEN(T_MOD_EQUAL);
2644
810
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
114k
yy84:
2647
114k
    YYDEBUG(84, *YYCURSOR);
2648
114k
    ++YYCURSOR;
2649
114k
    YYFILL(3);
2650
114k
    yych = *YYCURSOR;
2651
145k
yy85:
2652
145k
    YYDEBUG(85, *YYCURSOR);
2653
145k
    if (yych <= ' ') {
2654
28.0k
      if (yych <= '\f') {
2655
22.1k
        if (yych <= 0x08) goto yy86;
2656
20.5k
        if (yych <= '\n') goto yy84;
2657
20.5k
      } else {
2658
5.88k
        if (yych <= '\r') goto yy84;
2659
2.55k
        if (yych >= ' ') goto yy84;
2660
2.55k
      }
2661
116k
    } else {
2662
116k
      if (yych <= '$') {
2663
110k
        if (yych <= '"') goto yy86;
2664
109k
        if (yych <= '#') goto yy87;
2665
5.66k
        goto yy88;
2666
109k
      } else {
2667
6.77k
        if (yych <= '-') goto yy86;
2668
5.80k
        if (yych <= '.') goto yy92;
2669
3.91k
        if (yych <= '/') goto yy93;
2670
3.91k
      }
2671
116k
    }
2672
323k
yy86:
2673
323k
    YYDEBUG(86, *YYCURSOR);
2674
323k
    YYCURSOR = YYMARKER;
2675
323k
    if (yyaccept <= 48) {
2676
210k
      if (yyaccept <= 24) {
2677
201k
        if (yyaccept <= 12) {
2678
195k
          if (yyaccept <= 6) {
2679
143k
            if (yyaccept <= 3) {
2680
125k
              if (yyaccept <= 1) {
2681
109k
                if (yyaccept == 0) {
2682
21.5k
                  goto yy17;
2683
88.3k
                } else {
2684
88.3k
                  goto yy21;
2685
88.3k
                }
2686
109k
              } else {
2687
15.5k
                if (yyaccept == 2) {
2688
10.4k
                  goto yy9;
2689
10.4k
                } else {
2690
5.07k
                  goto yy31;
2691
5.07k
                }
2692
15.5k
              }
2693
125k
            } else {
2694
17.9k
              if (yyaccept <= 5) {
2695
15.6k
                if (yyaccept == 4) {
2696
12.9k
                  goto yy40;
2697
12.9k
                } else {
2698
2.71k
                  goto yy125;
2699
2.71k
                }
2700
15.6k
              } else {
2701
2.30k
                goto yy129;
2702
2.30k
              }
2703
17.9k
            }
2704
143k
          } else {
2705
52.0k
            if (yyaccept <= 9) {
2706
51.2k
              if (yyaccept <= 8) {
2707
50.9k
                if (yyaccept == 7) {
2708
50.5k
                  goto yy142;
2709
50.5k
                } else {
2710
338
                  goto yy163;
2711
338
                }
2712
50.9k
              } else {
2713
316
                goto yy173;
2714
316
              }
2715
51.2k
            } else {
2716
840
              if (yyaccept <= 11) {
2717
575
                if (yyaccept == 10) {
2718
218
                  goto yy182;
2719
357
                } else {
2720
357
                  goto yy188;
2721
357
                }
2722
575
              } else {
2723
265
                goto yy197;
2724
265
              }
2725
840
            }
2726
52.0k
          }
2727
195k
        } else {
2728
6.40k
          if (yyaccept <= 18) {
2729
4.78k
            if (yyaccept <= 15) {
2730
3.15k
              if (yyaccept <= 14) {
2731
2.79k
                if (yyaccept == 13) {
2732
2.43k
                  goto yy213;
2733
2.43k
                } else {
2734
355
                  goto yy251;
2735
355
                }
2736
2.79k
              } else {
2737
367
                goto yy257;
2738
367
              }
2739
3.15k
            } else {
2740
1.63k
              if (yyaccept <= 17) {
2741
604
                if (yyaccept == 16) {
2742
406
                  goto yy260;
2743
406
                } else {
2744
198
                  goto yy279;
2745
198
                }
2746
1.02k
              } else {
2747
1.02k
                goto yy283;
2748
1.02k
              }
2749
1.63k
            }
2750
4.78k
          } else {
2751
1.61k
            if (yyaccept <= 21) {
2752
696
              if (yyaccept <= 20) {
2753
440
                if (yyaccept == 19) {
2754
195
                  goto yy295;
2755
245
                } else {
2756
245
                  goto yy306;
2757
245
                }
2758
440
              } else {
2759
256
                goto yy319;
2760
256
              }
2761
923
            } else {
2762
923
              if (yyaccept <= 23) {
2763
471
                if (yyaccept == 22) {
2764
204
                  goto yy331;
2765
267
                } else {
2766
267
                  goto yy334;
2767
267
                }
2768
471
              } else {
2769
452
                goto yy336;
2770
452
              }
2771
923
            }
2772
1.61k
          }
2773
6.40k
        }
2774
201k
      } else {
2775
8.19k
        if (yyaccept <= 36) {
2776
5.09k
          if (yyaccept <= 30) {
2777
3.21k
            if (yyaccept <= 27) {
2778
2.46k
              if (yyaccept <= 26) {
2779
2.26k
                if (yyaccept == 25) {
2780
195
                  goto yy339;
2781
2.06k
                } else {
2782
2.06k
                  goto yy89;
2783
2.06k
                }
2784
2.26k
              } else {
2785
198
                goto yy379;
2786
198
              }
2787
2.46k
            } else {
2788
758
              if (yyaccept <= 29) {
2789
550
                if (yyaccept == 28) {
2790
346
                  goto yy388;
2791
346
                } else {
2792
204
                  goto yy390;
2793
204
                }
2794
550
              } else {
2795
208
                goto yy399;
2796
208
              }
2797
758
            }
2798
3.21k
          } else {
2799
1.87k
            if (yyaccept <= 33) {
2800
727
              if (yyaccept <= 32) {
2801
482
                if (yyaccept == 31) {
2802
285
                  goto yy401;
2803
285
                } else {
2804
197
                  goto yy408;
2805
197
                }
2806
482
              } else {
2807
245
                goto yy415;
2808
245
              }
2809
1.14k
            } else {
2810
1.14k
              if (yyaccept <= 35) {
2811
874
                if (yyaccept == 34) {
2812
519
                  goto yy471;
2813
519
                } else {
2814
355
                  goto yy473;
2815
355
                }
2816
874
              } else {
2817
270
                goto yy476;
2818
270
              }
2819
1.14k
            }
2820
1.87k
          }
2821
5.09k
        } else {
2822
3.10k
          if (yyaccept <= 42) {
2823
1.68k
            if (yyaccept <= 39) {
2824
884
              if (yyaccept <= 38) {
2825
685
                if (yyaccept == 37) {
2826
489
                  goto yy478;
2827
489
                } else {
2828
196
                  goto yy480;
2829
196
                }
2830
685
              } else {
2831
199
                goto yy482;
2832
199
              }
2833
884
            } else {
2834
802
              if (yyaccept <= 41) {
2835
571
                if (yyaccept == 40) {
2836
202
                  goto yy488;
2837
369
                } else {
2838
369
                  goto yy492;
2839
369
                }
2840
571
              } else {
2841
231
                goto yy501;
2842
231
              }
2843
802
            }
2844
1.68k
          } else {
2845
1.41k
            if (yyaccept <= 45) {
2846
635
              if (yyaccept <= 44) {
2847
434
                if (yyaccept == 43) {
2848
226
                  goto yy511;
2849
226
                } else {
2850
208
                  goto yy513;
2851
208
                }
2852
434
              } else {
2853
201
                goto yy516;
2854
201
              }
2855
782
            } else {
2856
782
              if (yyaccept <= 47) {
2857
574
                if (yyaccept == 46) {
2858
369
                  goto yy526;
2859
369
                } else {
2860
205
                  goto yy528;
2861
205
                }
2862
574
              } else {
2863
208
                goto yy530;
2864
208
              }
2865
782
            }
2866
1.41k
          }
2867
3.10k
        }
2868
8.19k
      }
2869
210k
    } else {
2870
113k
      if (yyaccept <= 72) {
2871
96.8k
        if (yyaccept <= 60) {
2872
93.2k
          if (yyaccept <= 54) {
2873
90.7k
            if (yyaccept <= 51) {
2874
32.1k
              if (yyaccept <= 50) {
2875
31.9k
                if (yyaccept == 49) {
2876
194
                  goto yy532;
2877
31.7k
                } else {
2878
31.7k
                  goto yy534;
2879
31.7k
                }
2880
31.9k
              } else {
2881
201
                goto yy576;
2882
201
              }
2883
58.5k
            } else {
2884
58.5k
              if (yyaccept <= 53) {
2885
58.2k
                if (yyaccept == 52) {
2886
216
                  goto yy579;
2887
58.0k
                } else {
2888
58.0k
                  goto yy583;
2889
58.0k
                }
2890
58.2k
              } else {
2891
312
                goto yy597;
2892
312
              }
2893
58.5k
            }
2894
90.7k
          } else {
2895
2.45k
            if (yyaccept <= 57) {
2896
1.78k
              if (yyaccept <= 56) {
2897
1.53k
                if (yyaccept == 55) {
2898
1.29k
                  goto yy607;
2899
1.29k
                } else {
2900
239
                  goto yy611;
2901
239
                }
2902
1.53k
              } else {
2903
247
                goto yy613;
2904
247
              }
2905
1.78k
            } else {
2906
670
              if (yyaccept <= 59) {
2907
459
                if (yyaccept == 58) {
2908
231
                  goto yy615;
2909
231
                } else {
2910
228
                  goto yy654;
2911
228
                }
2912
459
              } else {
2913
211
                goto yy656;
2914
211
              }
2915
670
            }
2916
2.45k
          }
2917
93.2k
        } else {
2918
3.63k
          if (yyaccept <= 66) {
2919
2.30k
            if (yyaccept <= 63) {
2920
682
              if (yyaccept <= 62) {
2921
432
                if (yyaccept == 61) {
2922
206
                  goto yy671;
2923
226
                } else {
2924
226
                  goto yy673;
2925
226
                }
2926
432
              } else {
2927
250
                goto yy675;
2928
250
              }
2929
1.62k
            } else {
2930
1.62k
              if (yyaccept <= 65) {
2931
1.43k
                if (yyaccept == 64) {
2932
235
                  goto yy679;
2933
1.19k
                } else {
2934
1.19k
                  goto yy685;
2935
1.19k
                }
2936
1.43k
              } else {
2937
195
                goto yy690;
2938
195
              }
2939
1.62k
            }
2940
2.30k
          } else {
2941
1.32k
            if (yyaccept <= 69) {
2942
622
              if (yyaccept <= 68) {
2943
422
                if (yyaccept == 67) {
2944
220
                  goto yy700;
2945
220
                } else {
2946
202
                  goto yy726;
2947
202
                }
2948
422
              } else {
2949
200
                goto yy728;
2950
200
              }
2951
705
            } else {
2952
705
              if (yyaccept <= 71) {
2953
445
                if (yyaccept == 70) {
2954
235
                  goto yy730;
2955
235
                } else {
2956
210
                  goto yy735;
2957
210
                }
2958
445
              } else {
2959
260
                goto yy743;
2960
260
              }
2961
705
            }
2962
1.32k
          }
2963
3.63k
        }
2964
96.8k
      } else {
2965
16.9k
        if (yyaccept <= 84) {
2966
3.97k
          if (yyaccept <= 78) {
2967
1.23k
            if (yyaccept <= 75) {
2968
635
              if (yyaccept <= 74) {
2969
435
                if (yyaccept == 73) {
2970
238
                  goto yy754;
2971
238
                } else {
2972
197
                  goto yy764;
2973
197
                }
2974
435
              } else {
2975
200
                goto yy768;
2976
200
              }
2977
635
            } else {
2978
598
              if (yyaccept <= 77) {
2979
393
                if (yyaccept == 76) {
2980
195
                  goto yy784;
2981
198
                } else {
2982
198
                  goto yy797;
2983
198
                }
2984
393
              } else {
2985
205
                goto yy799;
2986
205
              }
2987
598
            }
2988
2.74k
          } else {
2989
2.74k
            if (yyaccept <= 81) {
2990
1.98k
              if (yyaccept <= 80) {
2991
1.79k
                if (yyaccept == 79) {
2992
571
                  goto yy801;
2993
1.22k
                } else {
2994
1.22k
                  goto yy804;
2995
1.22k
                }
2996
1.79k
              } else {
2997
195
                goto yy812;
2998
195
              }
2999
1.98k
            } else {
3000
754
              if (yyaccept <= 83) {
3001
459
                if (yyaccept == 82) {
3002
263
                  goto yy819;
3003
263
                } else {
3004
196
                  goto yy823;
3005
196
                }
3006
459
              } else {
3007
295
                goto yy825;
3008
295
              }
3009
754
            }
3010
2.74k
          }
3011
12.9k
        } else {
3012
12.9k
          if (yyaccept <= 90) {
3013
1.36k
            if (yyaccept <= 87) {
3014
630
              if (yyaccept <= 86) {
3015
436
                if (yyaccept == 85) {
3016
233
                  goto yy836;
3017
233
                } else {
3018
203
                  goto yy839;
3019
203
                }
3020
436
              } else {
3021
194
                goto yy854;
3022
194
              }
3023
731
            } else {
3024
731
              if (yyaccept <= 89) {
3025
531
                if (yyaccept == 88) {
3026
323
                  goto yy869;
3027
323
                } else {
3028
208
                  goto yy898;
3029
208
                }
3030
531
              } else {
3031
200
                goto yy903;
3032
200
              }
3033
731
            }
3034
11.5k
          } else {
3035
11.5k
            if (yyaccept <= 93) {
3036
9.33k
              if (yyaccept <= 92) {
3037
9.13k
                if (yyaccept == 91) {
3038
8.93k
                  goto yy876;
3039
8.93k
                } else {
3040
198
                  goto yy911;
3041
198
                }
3042
9.13k
              } else {
3043
200
                goto yy915;
3044
200
              }
3045
9.33k
            } else {
3046
2.25k
              if (yyaccept <= 95) {
3047
2.05k
                if (yyaccept == 94) {
3048
1.86k
                  goto yy886;
3049
1.86k
                } else {
3050
194
                  goto yy931;
3051
194
                }
3052
2.05k
              } else {
3053
202
                goto yy951;
3054
202
              }
3055
2.25k
            }
3056
11.5k
          }
3057
12.9k
        }
3058
16.9k
      }
3059
113k
    }
3060
104k
yy87:
3061
104k
    YYDEBUG(87, *YYCURSOR);
3062
104k
    ++YYCURSOR;
3063
104k
    YYFILL(1);
3064
104k
    yych = *YYCURSOR;
3065
104k
    if (yych <= '\f') {
3066
16.1k
      if (yych <= 0x00) goto yy86;
3067
15.8k
      if (yych == '\n') goto yy227;
3068
297
      goto yy225;
3069
88.2k
    } else {
3070
88.2k
      if (yych <= '\r') goto yy227;
3071
4.64k
      if (yych == '[') goto yy86;
3072
4.43k
      goto yy225;
3073
4.64k
    }
3074
6.24k
yy88:
3075
6.24k
    YYDEBUG(88, *YYCURSOR);
3076
6.24k
    ++YYCURSOR;
3077
9.01k
yy89:
3078
9.01k
    YYDEBUG(89, *YYCURSOR);
3079
9.01k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
9.01k
#line 1950 "Zend/zend_language_scanner.l"
3081
9.01k
    {
3082
9.01k
  yyless(1);
3083
9.01k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
9.01k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
4.81k
yy90:
3087
4.81k
    YYDEBUG(90, *YYCURSOR);
3088
4.81k
    ++YYCURSOR;
3089
4.81k
    YYDEBUG(91, *YYCURSOR);
3090
4.81k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
4.81k
#line 1926 "Zend/zend_language_scanner.l"
3092
4.81k
    {
3093
4.81k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
4.81k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
1.88k
yy92:
3097
1.88k
    YYDEBUG(92, *YYCURSOR);
3098
1.88k
    yych = *++YYCURSOR;
3099
1.88k
    if (yych == '.') goto yy229;
3100
970
    goto yy86;
3101
1.26k
yy93:
3102
1.26k
    YYDEBUG(93, *YYCURSOR);
3103
1.26k
    ++YYCURSOR;
3104
1.26k
    YYFILL(1);
3105
1.26k
    yych = *YYCURSOR;
3106
1.26k
    if (yych == '*') goto yy230;
3107
607
    if (yych == '/') goto yy225;
3108
401
    goto yy86;
3109
682
yy94:
3110
682
    YYDEBUG(94, *YYCURSOR);
3111
682
    ++YYCURSOR;
3112
682
    YYDEBUG(95, *YYCURSOR);
3113
682
    yyleng = YYCURSOR - SCNG(yy_text);
3114
682
#line 1902 "Zend/zend_language_scanner.l"
3115
682
    {
3116
682
  RETURN_TOKEN(T_AND_EQUAL);
3117
682
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
10.1k
yy96:
3120
10.1k
    YYDEBUG(96, *YYCURSOR);
3121
10.1k
    ++YYCURSOR;
3122
10.1k
    YYFILL(7);
3123
10.1k
    yych = *YYCURSOR;
3124
106k
yy97:
3125
106k
    YYDEBUG(97, *YYCURSOR);
3126
106k
    if (yybm[0+yych] & 1) {
3127
10.1k
      goto yy96;
3128
10.1k
    }
3129
96.6k
    switch (yych) {
3130
3.52k
    case 'A':
3131
26.4k
    case 'a': goto yy98;
3132
1.14k
    case 'B':
3133
9.87k
    case 'b': goto yy99;
3134
294
    case 'D':
3135
3.78k
    case 'd': goto yy100;
3136
1.21k
    case 'F':
3137
9.59k
    case 'f': goto yy101;
3138
383
    case 'I':
3139
11.8k
    case 'i': goto yy102;
3140
832
    case 'O':
3141
4.23k
    case 'o': goto yy103;
3142
434
    case 'R':
3143
3.93k
    case 'r': goto yy104;
3144
2.08k
    case 'S':
3145
12.7k
    case 's': goto yy105;
3146
368
    case 'U':
3147
3.65k
    case 'u': goto yy106;
3148
246
    case 'V':
3149
3.52k
    case 'v': goto yy107;
3150
7.02k
    default:  goto yy86;
3151
96.6k
    }
3152
26.4k
yy98:
3153
26.4k
    YYDEBUG(98, *YYCURSOR);
3154
26.4k
    yych = *++YYCURSOR;
3155
26.4k
    if (yych == 'R') goto yy232;
3156
26.1k
    if (yych == 'r') goto yy232;
3157
21.7k
    goto yy86;
3158
21.7k
yy99:
3159
9.87k
    YYDEBUG(99, *YYCURSOR);
3160
9.87k
    yych = *++YYCURSOR;
3161
9.87k
    if (yych <= 'O') {
3162
3.35k
      if (yych == 'I') goto yy233;
3163
3.08k
      if (yych <= 'N') goto yy86;
3164
993
      goto yy234;
3165
6.52k
    } else {
3166
6.52k
      if (yych <= 'i') {
3167
2.79k
        if (yych <= 'h') goto yy86;
3168
2.45k
        goto yy233;
3169
3.72k
      } else {
3170
3.72k
        if (yych == 'o') goto yy234;
3171
570
        goto yy86;
3172
3.72k
      }
3173
6.52k
    }
3174
3.78k
yy100:
3175
3.78k
    YYDEBUG(100, *YYCURSOR);
3176
3.78k
    yych = *++YYCURSOR;
3177
3.78k
    if (yych == 'O') goto yy235;
3178
3.55k
    if (yych == 'o') goto yy235;
3179
1.03k
    goto yy86;
3180
9.59k
yy101:
3181
9.59k
    YYDEBUG(101, *YYCURSOR);
3182
9.59k
    yych = *++YYCURSOR;
3183
9.59k
    if (yych == 'L') goto yy236;
3184
9.22k
    if (yych == 'l') goto yy236;
3185
6.14k
    goto yy86;
3186
11.8k
yy102:
3187
11.8k
    YYDEBUG(102, *YYCURSOR);
3188
11.8k
    yych = *++YYCURSOR;
3189
11.8k
    if (yych == 'N') goto yy237;
3190
10.9k
    if (yych == 'n') goto yy237;
3191
5.17k
    goto yy86;
3192
5.17k
yy103:
3193
4.23k
    YYDEBUG(103, *YYCURSOR);
3194
4.23k
    yych = *++YYCURSOR;
3195
4.23k
    if (yych == 'B') goto yy238;
3196
3.80k
    if (yych == 'b') goto yy238;
3197
1.88k
    goto yy86;
3198
3.93k
yy104:
3199
3.93k
    YYDEBUG(104, *YYCURSOR);
3200
3.93k
    yych = *++YYCURSOR;
3201
3.93k
    if (yych == 'E') goto yy239;
3202
3.40k
    if (yych == 'e') goto yy239;
3203
1.21k
    goto yy86;
3204
12.7k
yy105:
3205
12.7k
    YYDEBUG(105, *YYCURSOR);
3206
12.7k
    yych = *++YYCURSOR;
3207
12.7k
    if (yych == 'T') goto yy240;
3208
12.3k
    if (yych == 't') goto yy240;
3209
7.49k
    goto yy86;
3210
7.49k
yy106:
3211
3.65k
    YYDEBUG(106, *YYCURSOR);
3212
3.65k
    yych = *++YYCURSOR;
3213
3.65k
    if (yych == 'N') goto yy241;
3214
3.05k
    if (yych == 'n') goto yy241;
3215
710
    goto yy86;
3216
3.52k
yy107:
3217
3.52k
    YYDEBUG(107, *YYCURSOR);
3218
3.52k
    yych = *++YYCURSOR;
3219
3.52k
    if (yych == 'O') goto yy242;
3220
3.13k
    if (yych == 'o') goto yy242;
3221
1.64k
    goto yy86;
3222
11.0k
yy108:
3223
11.0k
    YYDEBUG(108, *YYCURSOR);
3224
11.0k
    yych = *++YYCURSOR;
3225
11.0k
    if (yych == '=') goto yy243;
3226
10.7k
    YYDEBUG(109, *YYCURSOR);
3227
10.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
10.7k
#line 1874 "Zend/zend_language_scanner.l"
3229
10.7k
    {
3230
10.7k
  RETURN_TOKEN(T_POW);
3231
10.7k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
2.18k
yy110:
3234
2.18k
    YYDEBUG(110, *YYCURSOR);
3235
2.18k
    ++YYCURSOR;
3236
2.18k
    YYDEBUG(111, *YYCURSOR);
3237
2.18k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
2.18k
#line 1870 "Zend/zend_language_scanner.l"
3239
2.18k
    {
3240
2.18k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
2.18k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
1.64k
yy112:
3244
1.64k
    YYDEBUG(112, *YYCURSOR);
3245
1.64k
    ++YYCURSOR;
3246
1.64k
    YYDEBUG(113, *YYCURSOR);
3247
1.64k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
1.64k
#line 1826 "Zend/zend_language_scanner.l"
3249
1.64k
    {
3250
1.64k
  RETURN_TOKEN(T_INC);
3251
1.64k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
371
yy114:
3254
371
    YYDEBUG(114, *YYCURSOR);
3255
371
    ++YYCURSOR;
3256
371
    YYDEBUG(115, *YYCURSOR);
3257
371
    yyleng = YYCURSOR - SCNG(yy_text);
3258
371
#line 1862 "Zend/zend_language_scanner.l"
3259
371
    {
3260
371
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
371
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
2.63k
yy116:
3264
2.63k
    YYDEBUG(116, *YYCURSOR);
3265
2.63k
    ++YYCURSOR;
3266
2.63k
    YYDEBUG(117, *YYCURSOR);
3267
2.63k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
2.63k
#line 1830 "Zend/zend_language_scanner.l"
3269
2.63k
    {
3270
2.63k
  RETURN_TOKEN(T_DEC);
3271
2.63k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
367
yy118:
3274
367
    YYDEBUG(118, *YYCURSOR);
3275
367
    ++YYCURSOR;
3276
367
    YYDEBUG(119, *YYCURSOR);
3277
367
    yyleng = YYCURSOR - SCNG(yy_text);
3278
367
#line 1866 "Zend/zend_language_scanner.l"
3279
367
    {
3280
367
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
367
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
28.4k
yy120:
3284
28.4k
    YYDEBUG(120, *YYCURSOR);
3285
28.4k
    ++YYCURSOR;
3286
28.4k
    YYDEBUG(121, *YYCURSOR);
3287
28.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
28.4k
#line 1587 "Zend/zend_language_scanner.l"
3289
28.4k
    {
3290
28.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
28.4k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
28.4k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
17.5k
yy122:
3295
17.5k
    YYDEBUG(122, *YYCURSOR);
3296
17.5k
    yych = *++YYCURSOR;
3297
17.5k
    if (yych == '.') goto yy245;
3298
9.12k
    goto yy86;
3299
152k
yy123:
3300
152k
    YYDEBUG(123, *YYCURSOR);
3301
152k
    yyaccept = 5;
3302
152k
    YYMARKER = ++YYCURSOR;
3303
152k
    YYFILL(2);
3304
152k
    yych = *YYCURSOR;
3305
175k
yy124:
3306
175k
    YYDEBUG(124, *YYCURSOR);
3307
175k
    if (yych <= 'E') {
3308
162k
      if (yych <= '/') goto yy125;
3309
144k
      if (yych <= '9') goto yy123;
3310
10.9k
      if (yych >= 'E') goto yy135;
3311
12.6k
    } else {
3312
12.6k
      if (yych <= '_') {
3313
1.63k
        if (yych >= '_') goto yy247;
3314
11.0k
      } else {
3315
11.0k
        if (yych == 'e') goto yy135;
3316
11.0k
      }
3317
12.6k
    }
3318
56.8k
yy125:
3319
56.8k
    YYDEBUG(125, *YYCURSOR);
3320
56.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
56.8k
#line 2233 "Zend/zend_language_scanner.l"
3322
56.8k
    {
3323
56.8k
  const char *end;
3324
56.8k
  size_t len = yyleng;
3325
56.8k
  char *dnum = yytext;
3326
56.8k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
56.8k
  if (contains_underscores) {
3329
925
    dnum = estrndup(dnum, len);
3330
925
    strip_underscores(dnum, &len);
3331
925
  }
3332
3333
56.8k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
56.8k
  ZEND_ASSERT(end == dnum + len);
3336
56.8k
  if (contains_underscores) {
3337
925
    efree(dnum);
3338
925
  }
3339
56.8k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
56.8k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
936
yy126:
3343
936
    YYDEBUG(126, *YYCURSOR);
3344
936
    ++YYCURSOR;
3345
936
    YYDEBUG(127, *YYCURSOR);
3346
936
    yyleng = YYCURSOR - SCNG(yy_text);
3347
936
#line 1886 "Zend/zend_language_scanner.l"
3348
936
    {
3349
936
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
936
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
26.6k
yy128:
3353
26.6k
    YYDEBUG(128, *YYCURSOR);
3354
26.6k
    yyaccept = 6;
3355
26.6k
    yych = *(YYMARKER = ++YYCURSOR);
3356
26.6k
    if (yych == '*') goto yy248;
3357
26.6k
yy129:
3358
26.6k
    YYDEBUG(129, *YYCURSOR);
3359
26.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
26.6k
#line 2484 "Zend/zend_language_scanner.l"
3361
26.6k
    {
3362
26.6k
  int doc_com;
3363
3364
26.6k
  if (yyleng > 2) {
3365
4.24k
    doc_com = 1;
3366
4.24k
    RESET_DOC_COMMENT();
3367
22.4k
  } else {
3368
22.4k
    doc_com = 0;
3369
22.4k
  }
3370
3371
438k
  while (YYCURSOR < YYLIMIT) {
3372
421k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
10.1k
      break;
3374
10.1k
    }
3375
421k
  }
3376
3377
26.6k
  if (YYCURSOR < YYLIMIT) {
3378
10.1k
    YYCURSOR++;
3379
16.5k
  } else {
3380
16.5k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
16.5k
    if (PARSER_MODE()) {
3382
1.42k
      RETURN_TOKEN(T_ERROR);
3383
1.42k
    }
3384
16.5k
  }
3385
3386
25.2k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
25.2k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
25.2k
  if (doc_com) {
3390
4.15k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
4.15k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
4.15k
  }
3393
3394
21.1k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
21.1k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
2.72k
yy130:
3398
2.72k
    YYDEBUG(130, *YYCURSOR);
3399
2.72k
    ++YYCURSOR;
3400
2.72k
    goto yy13;
3401
1.90k
yy131:
3402
1.90k
    YYDEBUG(131, *YYCURSOR);
3403
1.90k
    ++YYCURSOR;
3404
1.90k
    YYDEBUG(132, *YYCURSOR);
3405
1.90k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
1.90k
#line 1882 "Zend/zend_language_scanner.l"
3407
1.90k
    {
3408
1.90k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
1.90k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
23.0k
yy133:
3412
23.0k
    YYDEBUG(133, *YYCURSOR);
3413
23.0k
    yyaccept = 5;
3414
23.0k
    yych = *(YYMARKER = ++YYCURSOR);
3415
23.0k
    if (yych == '_') goto yy125;
3416
22.8k
    goto yy124;
3417
22.8k
yy134:
3418
3.57k
    YYDEBUG(134, *YYCURSOR);
3419
3.57k
    ++YYCURSOR;
3420
3.57k
    YYFILL(1);
3421
3.57k
    yych = *YYCURSOR;
3422
3.57k
    if (yybm[0+yych] & 8) {
3423
2.87k
      goto yy249;
3424
2.87k
    }
3425
702
    goto yy86;
3426
25.2k
yy135:
3427
25.2k
    YYDEBUG(135, *YYCURSOR);
3428
25.2k
    yych = *++YYCURSOR;
3429
25.2k
    if (yych <= ',') {
3430
1.28k
      if (yych == '+') goto yy252;
3431
583
      goto yy86;
3432
23.9k
    } else {
3433
23.9k
      if (yych <= '-') goto yy252;
3434
16.2k
      if (yych <= '/') goto yy86;
3435
15.7k
      if (yych <= '9') goto yy253;
3436
2.14k
      goto yy86;
3437
15.7k
    }
3438
3.28k
yy136:
3439
3.28k
    YYDEBUG(136, *YYCURSOR);
3440
3.28k
    ++YYCURSOR;
3441
3.28k
    YYFILL(1);
3442
3.28k
    yych = *YYCURSOR;
3443
3.28k
    if (yybm[0+yych] & 16) {
3444
2.34k
      goto yy255;
3445
2.34k
    }
3446
940
    goto yy86;
3447
5.37k
yy137:
3448
5.37k
    YYDEBUG(137, *YYCURSOR);
3449
5.37k
    ++YYCURSOR;
3450
5.37k
    YYFILL(1);
3451
5.37k
    yych = *YYCURSOR;
3452
5.37k
    if (yybm[0+yych] & 32) {
3453
4.76k
      goto yy258;
3454
4.76k
    }
3455
609
    goto yy86;
3456
3.65k
yy138:
3457
3.65k
    YYDEBUG(138, *YYCURSOR);
3458
3.65k
    ++YYCURSOR;
3459
3.65k
    YYFILL(1);
3460
3.65k
    yych = *YYCURSOR;
3461
3.65k
    if (yybm[256+yych] & 64) {
3462
1.91k
      goto yy32;
3463
1.91k
    }
3464
1.74k
    goto yy86;
3465
52.7k
yy139:
3466
52.7k
    YYDEBUG(139, *YYCURSOR);
3467
52.7k
    ++YYCURSOR;
3468
52.7k
    YYDEBUG(140, *YYCURSOR);
3469
52.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
52.7k
#line 1614 "Zend/zend_language_scanner.l"
3471
52.7k
    {
3472
52.7k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
52.7k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
1.62M
yy141:
3476
1.62M
    YYDEBUG(141, *YYCURSOR);
3477
1.62M
    yyaccept = 7;
3478
1.62M
    yych = *(YYMARKER = ++YYCURSOR);
3479
1.62M
    if (yych <= ';') goto yy142;
3480
1.60M
    if (yych <= '<') goto yy261;
3481
51.1k
    if (yych <= '=') goto yy263;
3482
118k
yy142:
3483
118k
    YYDEBUG(142, *YYCURSOR);
3484
118k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
118k
#line 1942 "Zend/zend_language_scanner.l"
3486
118k
    {
3487
118k
  RETURN_TOKEN(T_SL);
3488
118k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
3.43k
yy143:
3491
3.43k
    YYDEBUG(143, *YYCURSOR);
3492
3.43k
    yych = *++YYCURSOR;
3493
3.43k
    if (yych == '>') goto yy265;
3494
2.67k
    YYDEBUG(144, *YYCURSOR);
3495
2.67k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
2.67k
#line 1854 "Zend/zend_language_scanner.l"
3497
2.67k
    {
3498
2.67k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
2.67k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
2.18k
yy145:
3502
2.18k
    YYDEBUG(145, *YYCURSOR);
3503
2.18k
    ++YYCURSOR;
3504
2.18k
    goto yy76;
3505
11.8k
yy146:
3506
11.8k
    YYDEBUG(146, *YYCURSOR);
3507
11.8k
    yych = *++YYCURSOR;
3508
11.8k
    if (yych == '=') goto yy267;
3509
8.28k
    YYDEBUG(147, *YYCURSOR);
3510
8.28k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
8.28k
#line 1842 "Zend/zend_language_scanner.l"
3512
8.28k
    {
3513
8.28k
  RETURN_TOKEN(T_IS_EQUAL);
3514
8.28k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
40.8k
yy148:
3517
40.8k
    YYDEBUG(148, *YYCURSOR);
3518
40.8k
    ++YYCURSOR;
3519
40.8k
    YYDEBUG(149, *YYCURSOR);
3520
40.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
40.8k
#line 1810 "Zend/zend_language_scanner.l"
3522
40.8k
    {
3523
40.8k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
40.8k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
3.45k
yy150:
3527
3.45k
    YYDEBUG(150, *YYCURSOR);
3528
3.45k
    ++YYCURSOR;
3529
3.45k
    YYDEBUG(151, *YYCURSOR);
3530
3.45k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
3.45k
#line 1858 "Zend/zend_language_scanner.l"
3532
3.45k
    {
3533
3.45k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
3.45k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
4.16k
yy152:
3537
4.16k
    YYDEBUG(152, *YYCURSOR);
3538
4.16k
    yych = *++YYCURSOR;
3539
4.16k
    if (yych == '=') goto yy269;
3540
3.88k
    YYDEBUG(153, *YYCURSOR);
3541
3.88k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
3.88k
#line 1946 "Zend/zend_language_scanner.l"
3543
3.88k
    {
3544
3.88k
  RETURN_TOKEN(T_SR);
3545
3.88k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
9.76k
yy154:
3548
9.76k
    YYDEBUG(154, *YYCURSOR);
3549
9.76k
    yych = *++YYCURSOR;
3550
9.76k
    if (yych == '>') goto yy271;
3551
1.32k
    goto yy86;
3552
87.4k
yy155:
3553
87.4k
    YYDEBUG(155, *YYCURSOR);
3554
87.4k
    yych = *++YYCURSOR;
3555
87.4k
    if (yych == '\n') goto yy273;
3556
84.3k
    if (yych == '\r') goto yy274;
3557
87.4k
yy156:
3558
87.4k
    YYDEBUG(156, *YYCURSOR);
3559
87.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
87.4k
#line 2526 "Zend/zend_language_scanner.l"
3561
87.4k
    {
3562
87.4k
  BEGIN(INITIAL);
3563
87.4k
  if (yytext[yyleng-1] != '>') {
3564
4.18k
    CG(increment_lineno) = 1;
3565
4.18k
  }
3566
87.4k
  if (PARSER_MODE()) {
3567
79.2k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
79.2k
  }
3569
8.20k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
8.20k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
26.7k
yy157:
3573
26.7k
    YYDEBUG(157, *YYCURSOR);
3574
26.7k
    yych = *++YYCURSOR;
3575
26.7k
    if (yych == '=') goto yy275;
3576
19.2k
    YYDEBUG(158, *YYCURSOR);
3577
19.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
19.2k
#line 1622 "Zend/zend_language_scanner.l"
3579
19.2k
    {
3580
19.2k
  RETURN_TOKEN(T_COALESCE);
3581
19.2k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
4.87k
yy159:
3584
4.87k
    YYDEBUG(159, *YYCURSOR);
3585
4.87k
    yyaccept = 4;
3586
4.87k
    yych = *(YYMARKER = ++YYCURSOR);
3587
4.87k
    if (yych == 'S') goto yy277;
3588
4.59k
    if (yych == 's') goto yy277;
3589
924
    goto yy48;
3590
3.50k
yy160:
3591
3.50k
    YYDEBUG(160, *YYCURSOR);
3592
3.50k
    yyaccept = 4;
3593
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
3594
3.50k
    if (yych == 'D') goto yy278;
3595
3.16k
    if (yych == 'd') goto yy278;
3596
1.12k
    goto yy48;
3597
9.86k
yy161:
3598
9.86k
    YYDEBUG(161, *YYCURSOR);
3599
9.86k
    yyaccept = 4;
3600
9.86k
    yych = *(YYMARKER = ++YYCURSOR);
3601
9.86k
    if (yych == 'R') goto yy280;
3602
9.52k
    if (yych == 'r') goto yy280;
3603
1.69k
    goto yy48;
3604
38.2k
yy162:
3605
38.2k
    YYDEBUG(162, *YYCURSOR);
3606
38.2k
    yyaccept = 8;
3607
38.2k
    yych = *(YYMARKER = ++YYCURSOR);
3608
38.2k
    if (yybm[256+yych] & 128) {
3609
29.4k
      goto yy47;
3610
29.4k
    }
3611
8.88k
    if (yych == '\\') goto yy164;
3612
8.84k
yy163:
3613
8.84k
    YYDEBUG(163, *YYCURSOR);
3614
8.84k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
8.84k
#line 1510 "Zend/zend_language_scanner.l"
3616
8.84k
    {
3617
8.84k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
8.84k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
37.7k
yy164:
3621
37.7k
    YYDEBUG(164, *YYCURSOR);
3622
37.7k
    ++YYCURSOR;
3623
37.7k
    YYFILL(1);
3624
37.7k
    yych = *YYCURSOR;
3625
37.7k
    if (yych <= '_') {
3626
27.2k
      if (yych <= '@') goto yy86;
3627
11.4k
      if (yych <= 'Z') goto yy281;
3628
8.17k
      if (yych <= '^') goto yy86;
3629
1.70k
      goto yy281;
3630
10.4k
    } else {
3631
10.4k
      if (yych <= '`') goto yy86;
3632
9.77k
      if (yych <= 'z') goto yy281;
3633
6.23k
      if (yych <= 0x7F) goto yy86;
3634
2.47k
      goto yy281;
3635
6.23k
    }
3636
2.43k
yy165:
3637
2.43k
    YYDEBUG(165, *YYCURSOR);
3638
2.43k
    yych = *++YYCURSOR;
3639
2.43k
    if (yych == '<') goto yy284;
3640
575
    goto yy86;
3641
2.79k
yy166:
3642
2.79k
    YYDEBUG(166, *YYCURSOR);
3643
2.79k
    yyaccept = 4;
3644
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
3645
2.79k
    if (yych == 'E') goto yy285;
3646
2.25k
    if (yych == 'e') goto yy285;
3647
552
    goto yy48;
3648
20.4k
yy167:
3649
20.4k
    YYDEBUG(167, *YYCURSOR);
3650
20.4k
    yyaccept = 4;
3651
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
3652
20.4k
    if (yych <= 'T') {
3653
2.22k
      if (yych <= 'L') {
3654
1.38k
        if (yych <= 'K') goto yy48;
3655
807
        goto yy286;
3656
1.38k
      } else {
3657
839
        if (yych <= 'R') goto yy48;
3658
618
        if (yych <= 'S') goto yy287;
3659
369
        goto yy288;
3660
618
      }
3661
18.2k
    } else {
3662
18.2k
      if (yych <= 'r') {
3663
6.09k
        if (yych == 'l') goto yy286;
3664
508
        goto yy48;
3665
12.1k
      } else {
3666
12.1k
        if (yych <= 's') goto yy287;
3667
4.15k
        if (yych <= 't') goto yy288;
3668
563
        goto yy48;
3669
4.15k
      }
3670
18.2k
    }
3671
34.3k
yy168:
3672
34.3k
    YYDEBUG(168, *YYCURSOR);
3673
34.3k
    yyaccept = 4;
3674
34.3k
    yych = *(YYMARKER = ++YYCURSOR);
3675
34.3k
    if (yych <= 'O') {
3676
1.58k
      if (yych == 'A') goto yy289;
3677
1.19k
      if (yych <= 'N') goto yy48;
3678
393
      goto yy290;
3679
32.7k
    } else {
3680
32.7k
      if (yych <= 'a') {
3681
28.2k
        if (yych <= '`') goto yy48;
3682
27.8k
        goto yy289;
3683
28.2k
      } else {
3684
4.50k
        if (yych == 'o') goto yy290;
3685
1.00k
        goto yy48;
3686
4.50k
      }
3687
32.7k
    }
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
13.3k
    if (yych == 'n') goto yy291;
3694
1.81k
    goto yy48;
3695
15.3k
yy170:
3696
15.3k
    YYDEBUG(170, *YYCURSOR);
3697
15.3k
    yyaccept = 4;
3698
15.3k
    yych = *(YYMARKER = ++YYCURSOR);
3699
15.3k
    if (yych <= 'F') {
3700
2.18k
      if (yych == 'C') goto yy292;
3701
1.16k
      if (yych <= 'E') goto yy48;
3702
333
      goto yy293;
3703
13.1k
    } else {
3704
13.1k
      if (yych <= 'c') {
3705
6.06k
        if (yych <= 'b') goto yy48;
3706
5.50k
        goto yy292;
3707
7.09k
      } else {
3708
7.09k
        if (yych == 'f') goto yy293;
3709
1.53k
        goto yy48;
3710
7.09k
      }
3711
13.1k
    }
3712
6.19k
yy171:
3713
6.19k
    YYDEBUG(171, *YYCURSOR);
3714
6.19k
    yyaccept = 4;
3715
6.19k
    yych = *(YYMARKER = ++YYCURSOR);
3716
6.19k
    if (yych == 'E') goto yy294;
3717
5.90k
    if (yych == 'e') goto yy294;
3718
983
    goto yy48;
3719
4.68k
yy172:
3720
4.68k
    YYDEBUG(172, *YYCURSOR);
3721
4.68k
    yyaccept = 9;
3722
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
3723
4.68k
    if (yybm[256+yych] & 128) {
3724
3.06k
      goto yy47;
3725
3.06k
    }
3726
1.62k
    if (yych == '\\') goto yy164;
3727
1.60k
yy173:
3728
1.60k
    YYDEBUG(173, *YYCURSOR);
3729
1.60k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
1.60k
#line 1478 "Zend/zend_language_scanner.l"
3731
1.60k
    {
3732
1.60k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
1.60k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
5.56k
yy174:
3736
5.56k
    YYDEBUG(174, *YYCURSOR);
3737
5.56k
    yyaccept = 4;
3738
5.56k
    yych = *(YYMARKER = ++YYCURSOR);
3739
5.56k
    if (yych == 'H') goto yy296;
3740
5.07k
    if (yych == 'h') goto yy296;
3741
1.26k
    goto yy48;
3742
10.4k
yy175:
3743
10.4k
    YYDEBUG(175, *YYCURSOR);
3744
10.4k
    yyaccept = 4;
3745
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
3746
10.4k
    if (yych == 'S') goto yy297;
3747
9.88k
    if (yych == 's') goto yy297;
3748
2.51k
    goto yy48;
3749
3.97k
yy176:
3750
3.97k
    YYDEBUG(176, *YYCURSOR);
3751
3.97k
    yyaccept = 4;
3752
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
3753
3.97k
    if (yych == 'P') goto yy298;
3754
3.70k
    if (yych == 'p') goto yy298;
3755
1.68k
    goto yy48;
3756
106k
yy177:
3757
106k
    YYDEBUG(177, *YYCURSOR);
3758
106k
    yyaccept = 4;
3759
106k
    yych = *(YYMARKER = ++YYCURSOR);
3760
106k
    if (yych <= 'U') {
3761
7.94k
      if (yych == 'D') goto yy299;
3762
4.49k
      if (yych <= 'T') goto yy48;
3763
1.85k
      goto yy300;
3764
98.9k
    } else {
3765
98.9k
      if (yych <= 'd') {
3766
14.6k
        if (yych <= 'c') goto yy48;
3767
13.8k
        goto yy299;
3768
84.2k
      } else {
3769
84.2k
        if (yych == 'u') goto yy300;
3770
3.34k
        goto yy48;
3771
84.2k
      }
3772
98.9k
    }
3773
3.34k
yy178:
3774
3.34k
    YYDEBUG(178, *YYCURSOR);
3775
3.34k
    yyaccept = 4;
3776
3.34k
    yych = *(YYMARKER = ++YYCURSOR);
3777
3.34k
    if (yych == 'A') goto yy301;
3778
3.09k
    if (yych == 'a') goto yy301;
3779
637
    goto yy48;
3780
19.0k
yy179:
3781
19.0k
    YYDEBUG(179, *YYCURSOR);
3782
19.0k
    yyaccept = 4;
3783
19.0k
    yych = *(YYMARKER = ++YYCURSOR);
3784
19.0k
    if (yych <= 'T') {
3785
2.15k
      if (yych == 'I') goto yy302;
3786
1.91k
      if (yych <= 'S') goto yy48;
3787
939
      goto yy303;
3788
16.8k
    } else {
3789
16.8k
      if (yych <= 'i') {
3790
3.17k
        if (yych <= 'h') goto yy48;
3791
1.89k
        goto yy302;
3792
13.6k
      } else {
3793
13.6k
        if (yych == 't') goto yy303;
3794
732
        goto yy48;
3795
13.6k
      }
3796
16.8k
    }
3797
10.6k
yy180:
3798
10.6k
    YYDEBUG(180, *YYCURSOR);
3799
10.6k
    yyaccept = 4;
3800
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
3801
10.6k
    if (yych == 'N') goto yy304;
3802
10.3k
    if (yych == 'n') goto yy304;
3803
1.83k
    goto yy48;
3804
20.3k
yy181:
3805
20.3k
    YYDEBUG(181, *YYCURSOR);
3806
20.3k
    yyaccept = 10;
3807
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
3808
20.3k
    if (yybm[256+yych] & 128) {
3809
1.27k
      goto yy47;
3810
1.27k
    }
3811
19.0k
    if (yych == '\\') goto yy164;
3812
19.0k
yy182:
3813
19.0k
    YYDEBUG(182, *YYCURSOR);
3814
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
19.0k
#line 1407 "Zend/zend_language_scanner.l"
3816
19.0k
    {
3817
19.0k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
19.0k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
22.8k
yy183:
3821
22.8k
    YYDEBUG(183, *YYCURSOR);
3822
22.8k
    yyaccept = 4;
3823
22.8k
    yych = *(YYMARKER = ++YYCURSOR);
3824
22.8k
    if (yych == 'R') goto yy305;
3825
21.3k
    if (yych == 'r') goto yy305;
3826
6.16k
    goto yy48;
3827
33.1k
yy184:
3828
33.1k
    YYDEBUG(184, *YYCURSOR);
3829
33.1k
    yyaccept = 4;
3830
33.1k
    yych = *(YYMARKER = ++YYCURSOR);
3831
33.1k
    if (yych == 'N') goto yy307;
3832
32.3k
    if (yych == 'n') goto yy307;
3833
805
    goto yy48;
3834
3.61k
yy185:
3835
3.61k
    YYDEBUG(185, *YYCURSOR);
3836
3.61k
    yyaccept = 4;
3837
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
3838
3.61k
    if (yych == 'O') goto yy308;
3839
2.83k
    if (yych == 'o') goto yy308;
3840
680
    goto yy48;
3841
4.06k
yy186:
3842
4.06k
    YYDEBUG(186, *YYCURSOR);
3843
4.06k
    yyaccept = 4;
3844
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
3845
4.06k
    if (yych == 'T') goto yy309;
3846
3.82k
    if (yych == 't') goto yy309;
3847
522
    goto yy48;
3848
5.13k
yy187:
3849
5.13k
    YYDEBUG(187, *YYCURSOR);
3850
5.13k
    yyaccept = 11;
3851
5.13k
    yych = *(YYMARKER = ++YYCURSOR);
3852
5.13k
    if (yybm[256+yych] & 128) {
3853
448
      goto yy47;
3854
448
    }
3855
4.68k
    if (yych == '\\') goto yy164;
3856
4.66k
yy188:
3857
4.66k
    YYDEBUG(188, *YYCURSOR);
3858
4.66k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
4.66k
#line 1454 "Zend/zend_language_scanner.l"
3860
4.66k
    {
3861
4.66k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
4.66k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
9.11k
yy189:
3865
9.11k
    YYDEBUG(189, *YYCURSOR);
3866
9.11k
    yyaccept = 4;
3867
9.11k
    yych = *(YYMARKER = ++YYCURSOR);
3868
9.11k
    if (yych == 'P') goto yy310;
3869
7.46k
    if (yych == 'p') goto yy310;
3870
1.49k
    goto yy48;
3871
45.9k
yy190:
3872
45.9k
    YYDEBUG(190, *YYCURSOR);
3873
45.9k
    yyaccept = 4;
3874
45.9k
    yych = *(YYMARKER = ++YYCURSOR);
3875
45.9k
    if (yych <= 'T') {
3876
6.07k
      if (yych <= 'C') {
3877
3.30k
        if (yych <= 'B') goto yy48;
3878
2.08k
        goto yy311;
3879
3.30k
      } else {
3880
2.77k
        if (yych <= 'R') goto yy48;
3881
2.20k
        if (yych <= 'S') goto yy312;
3882
1.81k
        goto yy313;
3883
2.20k
      }
3884
39.9k
    } else {
3885
39.9k
      if (yych <= 'r') {
3886
21.0k
        if (yych == 'c') goto yy311;
3887
14.9k
        goto yy48;
3888
21.0k
      } else {
3889
18.8k
        if (yych <= 's') goto yy312;
3890
10.3k
        if (yych <= 't') goto yy313;
3891
911
        goto yy48;
3892
10.3k
      }
3893
39.9k
    }
3894
5.84k
yy191:
3895
5.84k
    YYDEBUG(191, *YYCURSOR);
3896
5.84k
    yyaccept = 4;
3897
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
3898
5.84k
    if (yych == 'S') goto yy314;
3899
5.56k
    if (yych == 's') goto yy314;
3900
2.31k
    goto yy48;
3901
3.97k
yy192:
3902
3.97k
    YYDEBUG(192, *YYCURSOR);
3903
3.97k
    yyaccept = 4;
3904
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
3905
3.97k
    if (yych == 'S') goto yy315;
3906
3.59k
    if (yych == 's') goto yy315;
3907
561
    goto yy48;
3908
4.60k
yy193:
3909
4.60k
    YYDEBUG(193, *YYCURSOR);
3910
4.60k
    yyaccept = 4;
3911
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
3912
4.60k
    if (yych == 'T') goto yy316;
3913
4.37k
    if (yych == 't') goto yy316;
3914
885
    goto yy48;
3915
13.9k
yy194:
3916
13.9k
    YYDEBUG(194, *YYCURSOR);
3917
13.9k
    yyaccept = 4;
3918
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
3919
13.9k
    if (yych == 'M') goto yy317;
3920
13.1k
    if (yych == 'm') goto yy317;
3921
1.32k
    goto yy48;
3922
15.3k
yy195:
3923
15.3k
    YYDEBUG(195, *YYCURSOR);
3924
15.3k
    yyaccept = 4;
3925
15.3k
    yych = *(YYMARKER = ++YYCURSOR);
3926
15.3k
    if (yych == 'W') goto yy318;
3927
14.7k
    if (yych == 'w') goto yy318;
3928
2.18k
    goto yy48;
3929
2.59k
yy196:
3930
2.59k
    YYDEBUG(196, *YYCURSOR);
3931
2.59k
    yyaccept = 12;
3932
2.59k
    yych = *(YYMARKER = ++YYCURSOR);
3933
2.59k
    if (yybm[256+yych] & 128) {
3934
1.54k
      goto yy47;
3935
1.54k
    }
3936
1.05k
    if (yych == '\\') goto yy164;
3937
1.05k
yy197:
3938
1.05k
    YYDEBUG(197, *YYCURSOR);
3939
1.05k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
1.05k
#line 1930 "Zend/zend_language_scanner.l"
3941
1.05k
    {
3942
1.05k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
1.05k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
19.1k
yy198:
3946
19.1k
    YYDEBUG(198, *YYCURSOR);
3947
19.1k
    yyaccept = 4;
3948
19.1k
    yych = *(YYMARKER = ++YYCURSOR);
3949
19.1k
    if (yych <= 'O') {
3950
2.53k
      if (yych == 'I') goto yy320;
3951
1.81k
      if (yych <= 'N') goto yy48;
3952
1.19k
      goto yy321;
3953
16.6k
    } else {
3954
16.6k
      if (yych <= 'i') {
3955
11.1k
        if (yych <= 'h') goto yy48;
3956
10.3k
        goto yy320;
3957
11.1k
      } else {
3958
5.48k
        if (yych == 'o') goto yy321;
3959
500
        goto yy48;
3960
5.48k
      }
3961
16.6k
    }
3962
19.0k
yy199:
3963
19.0k
    YYDEBUG(199, *YYCURSOR);
3964
19.0k
    yyaccept = 4;
3965
19.0k
    yych = *(YYMARKER = ++YYCURSOR);
3966
19.0k
    if (yych == 'B') goto yy322;
3967
18.6k
    if (yych == 'b') goto yy322;
3968
336
    goto yy48;
3969
21.3k
yy200:
3970
21.3k
    YYDEBUG(200, *YYCURSOR);
3971
21.3k
    yyaccept = 4;
3972
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
3973
21.3k
    if (yych <= 'T') {
3974
2.81k
      if (yych <= 'P') {
3975
2.08k
        if (yych == 'A') goto yy323;
3976
1.68k
        goto yy48;
3977
2.08k
      } else {
3978
734
        if (yych <= 'Q') goto yy324;
3979
422
        if (yych <= 'S') goto yy48;
3980
213
        goto yy325;
3981
422
      }
3982
18.5k
    } else {
3983
18.5k
      if (yych <= 'p') {
3984
5.49k
        if (yych == 'a') goto yy323;
3985
761
        goto yy48;
3986
13.0k
      } else {
3987
13.0k
        if (yych <= 'q') goto yy324;
3988
7.32k
        if (yych == 't') goto yy325;
3989
764
        goto yy48;
3990
7.32k
      }
3991
18.5k
    }
3992
16.6k
yy201:
3993
16.6k
    YYDEBUG(201, *YYCURSOR);
3994
16.6k
    yyaccept = 4;
3995
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
3996
16.6k
    if (yych == 'A') goto yy326;
3997
16.3k
    if (yych == 'a') goto yy326;
3998
8.53k
    goto yy48;
3999
8.53k
yy202:
4000
4.85k
    YYDEBUG(202, *YYCURSOR);
4001
4.85k
    yyaccept = 4;
4002
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
4003
4.85k
    if (yych == 'I') goto yy327;
4004
3.80k
    if (yych == 'i') goto yy327;
4005
572
    goto yy48;
4006
4.02k
yy203:
4007
4.02k
    YYDEBUG(203, *YYCURSOR);
4008
4.02k
    yyaccept = 4;
4009
4.02k
    yych = *(YYMARKER = ++YYCURSOR);
4010
4.02k
    if (yych == 'R') goto yy328;
4011
3.65k
    if (yych == 'r') goto yy328;
4012
895
    goto yy48;
4013
13.0k
yy204:
4014
13.0k
    YYDEBUG(204, *YYCURSOR);
4015
13.0k
    yyaccept = 4;
4016
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
4017
13.0k
    if (yych <= 'Y') {
4018
2.14k
      if (yych == 'A') goto yy329;
4019
1.41k
      if (yych <= 'X') goto yy48;
4020
228
      goto yy330;
4021
10.8k
    } else {
4022
10.8k
      if (yych <= 'a') {
4023
2.72k
        if (yych <= '`') goto yy48;
4024
2.24k
        goto yy329;
4025
8.16k
      } else {
4026
8.16k
        if (yych == 'y') goto yy330;
4027
3.43k
        goto yy48;
4028
8.16k
      }
4029
10.8k
    }
4030
5.52k
yy205:
4031
5.52k
    YYDEBUG(205, *YYCURSOR);
4032
5.52k
    yyaccept = 4;
4033
5.52k
    yych = *(YYMARKER = ++YYCURSOR);
4034
5.52k
    if (yych == 'S') goto yy332;
4035
5.10k
    if (yych == 's') goto yy332;
4036
1.30k
    goto yy48;
4037
6.52k
yy206:
4038
6.52k
    YYDEBUG(206, *YYCURSOR);
4039
6.52k
    yyaccept = 4;
4040
6.52k
    yych = *(YYMARKER = ++YYCURSOR);
4041
6.52k
    if (yych == 'E') goto yy333;
4042
6.23k
    if (yych == 'e') goto yy333;
4043
472
    goto yy48;
4044
5.60k
yy207:
4045
5.60k
    YYDEBUG(207, *YYCURSOR);
4046
5.60k
    yyaccept = 4;
4047
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
4048
5.60k
    if (yych == 'R') goto yy335;
4049
5.40k
    if (yych == 'r') goto yy335;
4050
1.03k
    goto yy48;
4051
3.36k
yy208:
4052
3.36k
    YYDEBUG(208, *YYCURSOR);
4053
3.36k
    yyaccept = 4;
4054
3.36k
    yych = *(YYMARKER = ++YYCURSOR);
4055
3.36k
    if (yych == 'I') goto yy337;
4056
3.16k
    if (yych == 'i') goto yy337;
4057
299
    goto yy48;
4058
2.98k
yy209:
4059
2.98k
    YYDEBUG(209, *YYCURSOR);
4060
2.98k
    yyaccept = 4;
4061
2.98k
    yych = *(YYMARKER = ++YYCURSOR);
4062
2.98k
    if (yych == 'R') goto yy338;
4063
2.52k
    if (yych == 'r') goto yy338;
4064
253
    goto yy48;
4065
52.0k
yy210:
4066
52.0k
    YYDEBUG(210, *YYCURSOR);
4067
52.0k
    yyaccept = 4;
4068
52.0k
    yych = *(YYMARKER = ++YYCURSOR);
4069
52.0k
    if (yych == 'E') goto yy340;
4070
50.9k
    if (yych == 'e') goto yy340;
4071
1.62k
    goto yy48;
4072
68.1k
yy211:
4073
68.1k
    YYDEBUG(211, *YYCURSOR);
4074
68.1k
    yyaccept = 13;
4075
68.1k
    YYMARKER = ++YYCURSOR;
4076
68.1k
    YYFILL(1);
4077
68.1k
    yych = *YYCURSOR;
4078
68.1k
    YYDEBUG(212, *YYCURSOR);
4079
68.1k
    if (yych <= '\\') {
4080
20.8k
      if (yych <= '@') {
4081
10.6k
        if (yych <= '/') goto yy213;
4082
4.02k
        if (yych <= '9') goto yy211;
4083
10.2k
      } else {
4084
10.2k
        if (yych <= 'Z') goto yy211;
4085
4.93k
        if (yych >= '\\') goto yy341;
4086
4.93k
      }
4087
47.3k
    } else {
4088
47.3k
      if (yych <= '`') {
4089
3.45k
        if (yych == '_') goto yy211;
4090
43.9k
      } else {
4091
43.9k
        if (yych <= 'z') goto yy211;
4092
7.36k
        if (yych >= 0x80) goto yy211;
4093
7.36k
      }
4094
47.3k
    }
4095
13.8k
yy213:
4096
13.8k
    YYDEBUG(213, *YYCURSOR);
4097
13.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
13.8k
#line 2447 "Zend/zend_language_scanner.l"
4099
13.8k
    {
4100
13.8k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
13.8k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
599
yy214:
4104
599
    YYDEBUG(214, *YYCURSOR);
4105
599
    ++YYCURSOR;
4106
599
    YYDEBUG(215, *YYCURSOR);
4107
599
    yyleng = YYCURSOR - SCNG(yy_text);
4108
599
#line 1910 "Zend/zend_language_scanner.l"
4109
599
    {
4110
599
  RETURN_TOKEN(T_XOR_EQUAL);
4111
599
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
61.7k
yy216:
4114
61.7k
    YYDEBUG(216, *YYCURSOR);
4115
61.7k
    yyaccept = 4;
4116
61.7k
    yych = *(YYMARKER = ++YYCURSOR);
4117
61.7k
    switch (yych) {
4118
1.45k
    case 'C':
4119
13.6k
    case 'c': goto yy342;
4120
459
    case 'D':
4121
4.58k
    case 'd': goto yy343;
4122
885
    case 'F':
4123
7.78k
    case 'f': goto yy344;
4124
1.48k
    case 'H':
4125
4.59k
    case 'h': goto yy345;
4126
607
    case 'L':
4127
2.96k
    case 'l': goto yy346;
4128
689
    case 'M':
4129
5.13k
    case 'm': goto yy347;
4130
1.56k
    case 'N':
4131
5.38k
    case 'n': goto yy348;
4132
3.42k
    case 'P':
4133
4.73k
    case 'p': goto yy349;
4134
401
    case 'T':
4135
6.32k
    case 't': goto yy350;
4136
6.62k
    default:  goto yy48;
4137
61.7k
    }
4138
848
yy217:
4139
848
    YYDEBUG(217, *YYCURSOR);
4140
848
    ++YYCURSOR;
4141
848
    YYDEBUG(218, *YYCURSOR);
4142
848
    yyleng = YYCURSOR - SCNG(yy_text);
4143
848
#line 1906 "Zend/zend_language_scanner.l"
4144
848
    {
4145
848
  RETURN_TOKEN(T_OR_EQUAL);
4146
848
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
3.95k
yy219:
4149
3.95k
    YYDEBUG(219, *YYCURSOR);
4150
3.95k
    ++YYCURSOR;
4151
3.95k
    YYDEBUG(220, *YYCURSOR);
4152
3.95k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
3.95k
#line 1918 "Zend/zend_language_scanner.l"
4154
3.95k
    {
4155
3.95k
  RETURN_TOKEN(T_PIPE);
4156
3.95k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
3.87k
yy221:
4159
3.87k
    YYDEBUG(221, *YYCURSOR);
4160
3.87k
    ++YYCURSOR;
4161
3.87k
    YYDEBUG(222, *YYCURSOR);
4162
3.87k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
3.87k
#line 1922 "Zend/zend_language_scanner.l"
4164
3.87k
    {
4165
3.87k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
3.87k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
1.91k
yy223:
4169
1.91k
    YYDEBUG(223, *YYCURSOR);
4170
1.91k
    ++YYCURSOR;
4171
1.91k
    YYDEBUG(224, *YYCURSOR);
4172
1.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
1.91k
#line 1838 "Zend/zend_language_scanner.l"
4174
1.91k
    {
4175
1.91k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
1.91k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
188k
yy225:
4179
188k
    YYDEBUG(225, *YYCURSOR);
4180
188k
    ++YYCURSOR;
4181
188k
    YYFILL(1);
4182
188k
    yych = *YYCURSOR;
4183
188k
    YYDEBUG(226, *YYCURSOR);
4184
188k
    if (yybm[0+yych] & 2) {
4185
103k
      goto yy225;
4186
103k
    }
4187
84.5k
    if (yych <= 0x00) goto yy86;
4188
82.6k
    goto yy84;
4189
102k
yy227:
4190
102k
    YYDEBUG(227, *YYCURSOR);
4191
102k
    ++YYCURSOR;
4192
102k
    YYFILL(1);
4193
102k
    yych = *YYCURSOR;
4194
102k
    YYDEBUG(228, *YYCURSOR);
4195
102k
    if (yych <= 0x1F) {
4196
8.63k
      if (yych <= '\t') {
4197
892
        if (yych <= 0x00) goto yy86;
4198
610
        if (yych <= 0x08) goto yy225;
4199
195
        goto yy227;
4200
7.74k
      } else {
4201
7.74k
        if (yych <= '\n') goto yy84;
4202
5.56k
        if (yych == '\r') goto yy84;
4203
5.26k
        goto yy225;
4204
5.56k
      }
4205
94.0k
    } else {
4206
94.0k
      if (yych <= '$') {
4207
5.96k
        if (yych <= ' ') goto yy227;
4208
5.72k
        if (yych <= '"') goto yy225;
4209
5.17k
        if (yych <= '#') goto yy351;
4210
1.45k
        goto yy352;
4211
88.0k
      } else {
4212
88.0k
        if (yych <= '-') goto yy225;
4213
40.8k
        if (yych <= '.') goto yy353;
4214
27.6k
        if (yych <= '/') goto yy354;
4215
11.5k
        goto yy225;
4216
27.6k
      }
4217
94.0k
    }
4218
917
yy229:
4219
917
    YYDEBUG(229, *YYCURSOR);
4220
917
    yych = *++YYCURSOR;
4221
917
    if (yych == '.') goto yy88;
4222
336
    goto yy86;
4223
34.1k
yy230:
4224
34.1k
    YYDEBUG(230, *YYCURSOR);
4225
34.1k
    ++YYCURSOR;
4226
34.1k
    YYFILL(1);
4227
34.1k
    yych = *YYCURSOR;
4228
34.1k
    YYDEBUG(231, *YYCURSOR);
4229
34.1k
    if (yybm[0+yych] & 4) {
4230
27.1k
      goto yy230;
4231
27.1k
    }
4232
6.94k
    if (yych <= 0x00) goto yy86;
4233
2.28k
    goto yy355;
4234
4.64k
yy232:
4235
4.64k
    YYDEBUG(232, *YYCURSOR);
4236
4.64k
    yych = *++YYCURSOR;
4237
4.64k
    if (yych == 'R') goto yy357;
4238
4.31k
    if (yych == 'r') goto yy357;
4239
393
    goto yy86;
4240
2.71k
yy233:
4241
2.71k
    YYDEBUG(233, *YYCURSOR);
4242
2.71k
    yych = *++YYCURSOR;
4243
2.71k
    if (yych == 'N') goto yy358;
4244
2.33k
    if (yych == 'n') goto yy358;
4245
412
    goto yy86;
4246
4.15k
yy234:
4247
4.15k
    YYDEBUG(234, *YYCURSOR);
4248
4.15k
    yych = *++YYCURSOR;
4249
4.15k
    if (yych == 'O') goto yy359;
4250
3.79k
    if (yych == 'o') goto yy359;
4251
587
    goto yy86;
4252
2.75k
yy235:
4253
2.75k
    YYDEBUG(235, *YYCURSOR);
4254
2.75k
    yych = *++YYCURSOR;
4255
2.75k
    if (yych == 'U') goto yy360;
4256
2.54k
    if (yych == 'u') goto yy360;
4257
412
    goto yy86;
4258
3.45k
yy236:
4259
3.45k
    YYDEBUG(236, *YYCURSOR);
4260
3.45k
    yych = *++YYCURSOR;
4261
3.45k
    if (yych == 'O') goto yy361;
4262
1.34k
    if (yych == 'o') goto yy361;
4263
575
    goto yy86;
4264
6.66k
yy237:
4265
6.66k
    YYDEBUG(237, *YYCURSOR);
4266
6.66k
    yych = *++YYCURSOR;
4267
6.66k
    if (yych == 'T') goto yy362;
4268
5.18k
    if (yych == 't') goto yy362;
4269
1.10k
    goto yy86;
4270
2.35k
yy238:
4271
2.35k
    YYDEBUG(238, *YYCURSOR);
4272
2.35k
    yych = *++YYCURSOR;
4273
2.35k
    if (yych == 'J') goto yy363;
4274
1.78k
    if (yych == 'j') goto yy363;
4275
301
    goto yy86;
4276
2.72k
yy239:
4277
2.72k
    YYDEBUG(239, *YYCURSOR);
4278
2.72k
    yych = *++YYCURSOR;
4279
2.72k
    if (yych == 'A') goto yy364;
4280
2.32k
    if (yych == 'a') goto yy364;
4281
1.32k
    goto yy86;
4282
5.30k
yy240:
4283
5.30k
    YYDEBUG(240, *YYCURSOR);
4284
5.30k
    yych = *++YYCURSOR;
4285
5.30k
    if (yych == 'R') goto yy365;
4286
4.98k
    if (yych == 'r') goto yy365;
4287
750
    goto yy86;
4288
2.94k
yy241:
4289
2.94k
    YYDEBUG(241, *YYCURSOR);
4290
2.94k
    yych = *++YYCURSOR;
4291
2.94k
    if (yych == 'S') goto yy366;
4292
2.54k
    if (yych == 's') goto yy366;
4293
874
    goto yy86;
4294
1.88k
yy242:
4295
1.88k
    YYDEBUG(242, *YYCURSOR);
4296
1.88k
    yych = *++YYCURSOR;
4297
1.88k
    if (yych == 'I') goto yy367;
4298
1.68k
    if (yych == 'i') goto yy367;
4299
270
    goto yy86;
4300
334
yy243:
4301
334
    YYDEBUG(243, *YYCURSOR);
4302
334
    ++YYCURSOR;
4303
334
    YYDEBUG(244, *YYCURSOR);
4304
334
    yyleng = YYCURSOR - SCNG(yy_text);
4305
334
#line 1878 "Zend/zend_language_scanner.l"
4306
334
    {
4307
334
  RETURN_TOKEN(T_POW_EQUAL);
4308
334
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
8.47k
yy245:
4311
8.47k
    YYDEBUG(245, *YYCURSOR);
4312
8.47k
    ++YYCURSOR;
4313
8.47k
    YYDEBUG(246, *YYCURSOR);
4314
8.47k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
8.47k
#line 1618 "Zend/zend_language_scanner.l"
4316
8.47k
    {
4317
8.47k
  RETURN_TOKEN(T_ELLIPSIS);
4318
8.47k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
989
yy247:
4321
989
    YYDEBUG(247, *YYCURSOR);
4322
989
    ++YYCURSOR;
4323
989
    YYFILL(1);
4324
989
    yych = *YYCURSOR;
4325
989
    if (yych <= '/') goto yy86;
4326
757
    if (yych <= '9') goto yy123;
4327
260
    goto yy86;
4328
6.54k
yy248:
4329
6.54k
    YYDEBUG(248, *YYCURSOR);
4330
6.54k
    yych = *++YYCURSOR;
4331
6.54k
    if (yych <= '\f') {
4332
1.96k
      if (yych <= 0x08) goto yy86;
4333
1.66k
      if (yych <= '\n') goto yy368;
4334
266
      goto yy86;
4335
4.57k
    } else {
4336
4.57k
      if (yych <= '\r') goto yy368;
4337
4.21k
      if (yych == ' ') goto yy368;
4338
1.73k
      goto yy86;
4339
4.21k
    }
4340
32.8k
yy249:
4341
32.8k
    YYDEBUG(249, *YYCURSOR);
4342
32.8k
    yyaccept = 14;
4343
32.8k
    YYMARKER = ++YYCURSOR;
4344
32.8k
    YYFILL(1);
4345
32.8k
    yych = *YYCURSOR;
4346
32.8k
    YYDEBUG(250, *YYCURSOR);
4347
32.8k
    if (yybm[0+yych] & 8) {
4348
29.9k
      goto yy249;
4349
29.9k
    }
4350
2.87k
    if (yych == '_') goto yy134;
4351
1.63k
yy251:
4352
1.63k
    YYDEBUG(251, *YYCURSOR);
4353
1.63k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
1.63k
#line 2011 "Zend/zend_language_scanner.l"
4355
1.63k
    {
4356
  /* The +/- 2 skips "0b" */
4357
1.63k
  size_t len = yyleng - 2;
4358
1.63k
  char *end, *bin = yytext + 2;
4359
1.63k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
3.67k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
2.03k
    ++bin;
4364
2.03k
    --len;
4365
2.03k
  }
4366
4367
1.63k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
1.63k
  if (contains_underscores) {
4370
563
    bin = estrndup(bin, len);
4371
563
    strip_underscores(bin, &len);
4372
563
  }
4373
4374
1.63k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
1.21k
    if (len == 0) {
4376
379
      ZVAL_LONG(zendlval, 0);
4377
837
    } else {
4378
837
      errno = 0;
4379
837
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
837
      ZEND_ASSERT(!errno && end == bin + len);
4381
837
    }
4382
1.21k
    if (contains_underscores) {
4383
348
      efree(bin);
4384
348
    }
4385
1.21k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
1.21k
  } else {
4387
421
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
421
    ZEND_ASSERT(end == bin + len);
4390
421
    if (contains_underscores) {
4391
215
      efree(bin);
4392
215
    }
4393
421
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
421
  }
4395
1.63k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
9.20k
yy252:
4398
9.20k
    YYDEBUG(252, *YYCURSOR);
4399
9.20k
    ++YYCURSOR;
4400
9.20k
    YYFILL(1);
4401
9.20k
    yych = *YYCURSOR;
4402
9.20k
    if (yych <= '/') goto yy86;
4403
8.55k
    if (yych >= ':') goto yy86;
4404
52.8k
yy253:
4405
52.8k
    YYDEBUG(253, *YYCURSOR);
4406
52.8k
    yyaccept = 5;
4407
52.8k
    YYMARKER = ++YYCURSOR;
4408
52.8k
    YYFILL(1);
4409
52.8k
    yych = *YYCURSOR;
4410
52.8k
    YYDEBUG(254, *YYCURSOR);
4411
52.8k
    if (yych <= '/') goto yy125;
4412
39.7k
    if (yych <= '9') goto yy253;
4413
8.49k
    if (yych == '_') goto yy252;
4414
7.68k
    goto yy125;
4415
12.6k
yy255:
4416
12.6k
    YYDEBUG(255, *YYCURSOR);
4417
12.6k
    yyaccept = 15;
4418
12.6k
    YYMARKER = ++YYCURSOR;
4419
12.6k
    YYFILL(1);
4420
12.6k
    yych = *YYCURSOR;
4421
12.6k
    YYDEBUG(256, *YYCURSOR);
4422
12.6k
    if (yybm[0+yych] & 16) {
4423
10.3k
      goto yy255;
4424
10.3k
    }
4425
2.34k
    if (yych == '_') goto yy136;
4426
1.44k
yy257:
4427
1.44k
    YYDEBUG(257, *YYCURSOR);
4428
1.44k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
1.44k
#line 2053 "Zend/zend_language_scanner.l"
4430
1.44k
    {
4431
  /* The +/- 2 skips "0o" */
4432
1.44k
  size_t len = yyleng - 2;
4433
1.44k
  char *end, *octal = yytext + 2;
4434
1.44k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
2.87k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
1.43k
    ++octal;
4439
1.43k
    --len;
4440
1.43k
  }
4441
4442
1.44k
  if (len == 0) {
4443
294
    ZVAL_LONG(zendlval, 0);
4444
294
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
294
  }
4446
4447
1.14k
  if (contains_underscores) {
4448
611
    octal = estrndup(octal, len);
4449
611
    strip_underscores(octal, &len);
4450
611
  }
4451
4452
1.14k
  errno = 0;
4453
4454
1.14k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
1.14k
  ZEND_ASSERT(end == octal + len);
4457
4458
1.14k
  if (!errno) {
4459
741
    if (contains_underscores) {
4460
399
      efree(octal);
4461
399
    }
4462
741
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
741
  }
4464
4465
  /* Overflow */
4466
407
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
407
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
407
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
407
  ZEND_ASSERT(!errno);
4473
407
  ZEND_ASSERT(end == octal + len);
4474
407
  if (contains_underscores) {
4475
212
    efree(octal);
4476
212
  }
4477
407
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
407
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
31.2k
yy258:
4481
31.2k
    YYDEBUG(258, *YYCURSOR);
4482
31.2k
    yyaccept = 16;
4483
31.2k
    YYMARKER = ++YYCURSOR;
4484
31.2k
    YYFILL(1);
4485
31.2k
    yych = *YYCURSOR;
4486
31.2k
    YYDEBUG(259, *YYCURSOR);
4487
31.2k
    if (yybm[0+yych] & 32) {
4488
26.4k
      goto yy258;
4489
26.4k
    }
4490
4.76k
    if (yych == '_') goto yy137;
4491
3.31k
yy260:
4492
3.31k
    YYDEBUG(260, *YYCURSOR);
4493
3.31k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
3.31k
#line 2166 "Zend/zend_language_scanner.l"
4495
3.31k
    {
4496
  /* The +/- 2 skips "0x" */
4497
3.31k
  size_t len = yyleng - 2;
4498
3.31k
  char *end, *hex = yytext + 2;
4499
3.31k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
5.85k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
2.53k
    ++hex;
4504
2.53k
    --len;
4505
2.53k
  }
4506
4507
3.31k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
3.31k
  if (contains_underscores) {
4510
1.04k
    hex = estrndup(hex, len);
4511
1.04k
    strip_underscores(hex, &len);
4512
1.04k
  }
4513
4514
3.31k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
2.17k
    if (len == 0) {
4516
617
      ZVAL_LONG(zendlval, 0);
4517
1.56k
    } else {
4518
1.56k
      errno = 0;
4519
1.56k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
1.56k
      ZEND_ASSERT(!errno && end == hex + len);
4521
1.56k
    }
4522
2.17k
    if (contains_underscores) {
4523
423
      efree(hex);
4524
423
    }
4525
2.17k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
2.17k
  } else {
4527
1.13k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
1.13k
    ZEND_ASSERT(end == hex + len);
4530
1.13k
    if (contains_underscores) {
4531
618
      efree(hex);
4532
618
    }
4533
1.13k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
1.13k
  }
4535
3.31k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
1.56M
yy261:
4538
1.56M
    YYDEBUG(261, *YYCURSOR);
4539
1.56M
    ++YYCURSOR;
4540
1.56M
    YYFILL(2);
4541
1.56M
    yych = *YYCURSOR;
4542
1.56M
    YYDEBUG(262, *YYCURSOR);
4543
1.56M
    if (yych <= '\'') {
4544
15.8k
      if (yych <= ' ') {
4545
6.35k
        if (yych == '\t') goto yy261;
4546
5.13k
        if (yych <= 0x1F) goto yy86;
4547
639
        goto yy261;
4548
9.50k
      } else {
4549
9.50k
        if (yych == '"') goto yy370;
4550
7.05k
        if (yych <= '&') goto yy86;
4551
5.00k
        goto yy371;
4552
7.05k
      }
4553
1.54M
    } else {
4554
1.54M
      if (yych <= '_') {
4555
230k
        if (yych <= '@') goto yy86;
4556
217k
        if (yych <= 'Z') goto yy372;
4557
2.65k
        if (yych <= '^') goto yy86;
4558
2.26k
        goto yy372;
4559
1.31M
      } else {
4560
1.31M
        if (yych <= '`') goto yy86;
4561
1.31M
        if (yych <= 'z') goto yy372;
4562
1.05M
        if (yych <= 0x7F) goto yy86;
4563
1.05M
        goto yy372;
4564
1.05M
      }
4565
1.54M
    }
4566
617
yy263:
4567
617
    YYDEBUG(263, *YYCURSOR);
4568
617
    ++YYCURSOR;
4569
617
    YYDEBUG(264, *YYCURSOR);
4570
617
    yyleng = YYCURSOR - SCNG(yy_text);
4571
617
#line 1894 "Zend/zend_language_scanner.l"
4572
617
    {
4573
617
  RETURN_TOKEN(T_SL_EQUAL);
4574
617
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
768
yy265:
4577
768
    YYDEBUG(265, *YYCURSOR);
4578
768
    ++YYCURSOR;
4579
768
    YYDEBUG(266, *YYCURSOR);
4580
768
    yyleng = YYCURSOR - SCNG(yy_text);
4581
768
#line 1850 "Zend/zend_language_scanner.l"
4582
768
    {
4583
768
  RETURN_TOKEN(T_SPACESHIP);
4584
768
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
3.57k
yy267:
4587
3.57k
    YYDEBUG(267, *YYCURSOR);
4588
3.57k
    ++YYCURSOR;
4589
3.57k
    YYDEBUG(268, *YYCURSOR);
4590
3.57k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
3.57k
#line 1834 "Zend/zend_language_scanner.l"
4592
3.57k
    {
4593
3.57k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
3.57k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
277
yy269:
4597
277
    YYDEBUG(269, *YYCURSOR);
4598
277
    ++YYCURSOR;
4599
277
    YYDEBUG(270, *YYCURSOR);
4600
277
    yyleng = YYCURSOR - SCNG(yy_text);
4601
277
#line 1898 "Zend/zend_language_scanner.l"
4602
277
    {
4603
277
  RETURN_TOKEN(T_SR_EQUAL);
4604
277
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
8.43k
yy271:
4607
8.43k
    YYDEBUG(271, *YYCURSOR);
4608
8.43k
    ++YYCURSOR;
4609
8.43k
    YYDEBUG(272, *YYCURSOR);
4610
8.43k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
8.43k
#line 1592 "Zend/zend_language_scanner.l"
4612
8.43k
    {
4613
8.43k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
8.43k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
8.43k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
3.24k
yy273:
4618
3.24k
    YYDEBUG(273, *YYCURSOR);
4619
3.24k
    ++YYCURSOR;
4620
3.24k
    goto yy156;
4621
1.13k
yy274:
4622
1.13k
    YYDEBUG(274, *YYCURSOR);
4623
1.13k
    yych = *++YYCURSOR;
4624
1.13k
    if (yych == '\n') goto yy273;
4625
939
    goto yy156;
4626
7.45k
yy275:
4627
7.45k
    YYDEBUG(275, *YYCURSOR);
4628
7.45k
    ++YYCURSOR;
4629
7.45k
    YYDEBUG(276, *YYCURSOR);
4630
7.45k
    yyleng = YYCURSOR - SCNG(yy_text);
4631
7.45k
#line 1914 "Zend/zend_language_scanner.l"
4632
7.45k
    {
4633
7.45k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
7.45k
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
3.95k
yy277:
4637
3.95k
    YYDEBUG(277, *YYCURSOR);
4638
3.95k
    yyaccept = 4;
4639
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
4640
3.95k
    if (yych == 'T') goto yy374;
4641
3.68k
    if (yych == 't') goto yy374;
4642
300
    goto yy48;
4643
2.38k
yy278:
4644
2.38k
    YYDEBUG(278, *YYCURSOR);
4645
2.38k
    yyaccept = 17;
4646
2.38k
    yych = *(YYMARKER = ++YYCURSOR);
4647
2.38k
    if (yybm[256+yych] & 128) {
4648
414
      goto yy47;
4649
414
    }
4650
1.96k
    if (yych == '\\') goto yy164;
4651
1.96k
yy279:
4652
1.96k
    YYDEBUG(279, *YYCURSOR);
4653
1.96k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
1.96k
#line 1934 "Zend/zend_language_scanner.l"
4655
1.96k
    {
4656
1.96k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
1.96k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
8.17k
yy280:
4660
8.17k
    YYDEBUG(280, *YYCURSOR);
4661
8.17k
    yyaccept = 4;
4662
8.17k
    yych = *(YYMARKER = ++YYCURSOR);
4663
8.17k
    if (yych == 'A') goto yy375;
4664
7.68k
    if (yych == 'a') goto yy375;
4665
552
    goto yy48;
4666
33.7k
yy281:
4667
33.7k
    YYDEBUG(281, *YYCURSOR);
4668
33.7k
    yyaccept = 18;
4669
33.7k
    YYMARKER = ++YYCURSOR;
4670
33.7k
    YYFILL(1);
4671
33.7k
    yych = *YYCURSOR;
4672
33.7k
    YYDEBUG(282, *YYCURSOR);
4673
33.7k
    if (yych <= '\\') {
4674
13.9k
      if (yych <= '@') {
4675
7.21k
        if (yych <= '/') goto yy283;
4676
4.21k
        if (yych <= '9') goto yy281;
4677
6.69k
      } else {
4678
6.69k
        if (yych <= 'Z') goto yy281;
4679
4.24k
        if (yych >= '\\') goto yy164;
4680
4.24k
      }
4681
19.8k
    } else {
4682
19.8k
      if (yych <= '`') {
4683
1.09k
        if (yych == '_') goto yy281;
4684
18.7k
      } else {
4685
18.7k
        if (yych <= 'z') goto yy281;
4686
8.79k
        if (yych >= 0x80) goto yy281;
4687
8.79k
      }
4688
19.8k
    }
4689
8.38k
yy283:
4690
8.38k
    YYDEBUG(283, *YYCURSOR);
4691
8.38k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
8.38k
#line 2443 "Zend/zend_language_scanner.l"
4693
8.38k
    {
4694
8.38k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
8.38k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
1.85k
yy284:
4698
1.85k
    YYDEBUG(284, *YYCURSOR);
4699
1.85k
    yych = *++YYCURSOR;
4700
1.85k
    if (yych == '<') goto yy261;
4701
482
    goto yy86;
4702
2.23k
yy285:
4703
2.23k
    YYDEBUG(285, *YYCURSOR);
4704
2.23k
    yyaccept = 4;
4705
2.23k
    yych = *(YYMARKER = ++YYCURSOR);
4706
2.23k
    if (yych == 'A') goto yy376;
4707
2.03k
    if (yych == 'a') goto yy376;
4708
308
    goto yy48;
4709
6.39k
yy286:
4710
6.39k
    YYDEBUG(286, *YYCURSOR);
4711
6.39k
    yyaccept = 4;
4712
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
4713
6.39k
    if (yych == 'L') goto yy377;
4714
5.72k
    if (yych == 'l') goto yy377;
4715
627
    goto yy48;
4716
8.25k
yy287:
4717
8.25k
    YYDEBUG(287, *YYCURSOR);
4718
8.25k
    yyaccept = 4;
4719
8.25k
    yych = *(YYMARKER = ++YYCURSOR);
4720
8.25k
    if (yych == 'E') goto yy378;
4721
5.70k
    if (yych == 'e') goto yy378;
4722
391
    goto yy48;
4723
3.96k
yy288:
4724
3.96k
    YYDEBUG(288, *YYCURSOR);
4725
3.96k
    yyaccept = 4;
4726
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
4727
3.96k
    if (yych == 'C') goto yy380;
4728
3.73k
    if (yych == 'c') goto yy380;
4729
443
    goto yy48;
4730
28.1k
yy289:
4731
28.1k
    YYDEBUG(289, *YYCURSOR);
4732
28.1k
    yyaccept = 4;
4733
28.1k
    yych = *(YYMARKER = ++YYCURSOR);
4734
28.1k
    if (yych == 'S') goto yy381;
4735
27.5k
    if (yych == 's') goto yy381;
4736
1.30k
    goto yy48;
4737
3.88k
yy290:
4738
3.88k
    YYDEBUG(290, *YYCURSOR);
4739
3.88k
    yyaccept = 4;
4740
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
4741
3.88k
    if (yych == 'N') goto yy382;
4742
3.32k
    if (yych == 'n') goto yy382;
4743
604
    goto yy48;
4744
13.3k
yy291:
4745
13.3k
    YYDEBUG(291, *YYCURSOR);
4746
13.3k
    yyaccept = 4;
4747
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
4748
13.3k
    if (yych <= 'T') {
4749
1.81k
      if (yych <= 'R') goto yy48;
4750
1.47k
      if (yych <= 'S') goto yy383;
4751
915
      goto yy384;
4752
11.5k
    } else {
4753
11.5k
      if (yych <= 'r') goto yy48;
4754
11.1k
      if (yych <= 's') goto yy383;
4755
3.09k
      if (yych <= 't') goto yy384;
4756
264
      goto yy48;
4757
3.09k
    }
4758
6.53k
yy292:
4759
6.53k
    YYDEBUG(292, *YYCURSOR);
4760
6.53k
    yyaccept = 4;
4761
6.53k
    yych = *(YYMARKER = ++YYCURSOR);
4762
6.53k
    if (yych == 'L') goto yy385;
4763
5.35k
    if (yych == 'l') goto yy385;
4764
390
    goto yy48;
4765
5.89k
yy293:
4766
5.89k
    YYDEBUG(293, *YYCURSOR);
4767
5.89k
    yyaccept = 4;
4768
5.89k
    yych = *(YYMARKER = ++YYCURSOR);
4769
5.89k
    if (yych == 'A') goto yy386;
4770
5.57k
    if (yych == 'a') goto yy386;
4771
2.88k
    goto yy48;
4772
5.20k
yy294:
4773
5.20k
    YYDEBUG(294, *YYCURSOR);
4774
5.20k
    yyaccept = 19;
4775
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
4776
5.20k
    if (yybm[256+yych] & 128) {
4777
714
      goto yy47;
4778
714
    }
4779
4.49k
    if (yych == '\\') goto yy164;
4780
4.49k
yy295:
4781
4.49k
    YYDEBUG(295, *YYCURSOR);
4782
4.49k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
4.49k
#line 1403 "Zend/zend_language_scanner.l"
4784
4.49k
    {
4785
4.49k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
4.49k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
4.29k
yy296:
4789
4.29k
    YYDEBUG(296, *YYCURSOR);
4790
4.29k
    yyaccept = 4;
4791
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
4792
4.29k
    if (yych == 'O') goto yy387;
4793
3.88k
    if (yych == 'o') goto yy387;
4794
465
    goto yy48;
4795
7.91k
yy297:
4796
7.91k
    YYDEBUG(297, *YYCURSOR);
4797
7.91k
    yyaccept = 4;
4798
7.91k
    yych = *(YYMARKER = ++YYCURSOR);
4799
7.91k
    if (yych == 'E') goto yy389;
4800
7.65k
    if (yych == 'e') goto yy389;
4801
512
    goto yy48;
4802
2.28k
yy298:
4803
2.28k
    YYDEBUG(298, *YYCURSOR);
4804
2.28k
    yyaccept = 4;
4805
2.28k
    yych = *(YYMARKER = ++YYCURSOR);
4806
2.28k
    if (yych == 'T') goto yy391;
4807
2.05k
    if (yych == 't') goto yy391;
4808
400
    goto yy48;
4809
17.2k
yy299:
4810
17.2k
    YYDEBUG(299, *YYCURSOR);
4811
17.2k
    yyaccept = 4;
4812
17.2k
    yych = *(YYMARKER = ++YYCURSOR);
4813
17.2k
    switch (yych) {
4814
1.25k
    case 'D':
4815
3.84k
    case 'd': goto yy392;
4816
1.09k
    case 'F':
4817
5.59k
    case 'f': goto yy393;
4818
252
    case 'I':
4819
1.73k
    case 'i': goto yy394;
4820
959
    case 'S':
4821
2.69k
    case 's': goto yy395;
4822
615
    case 'W':
4823
2.75k
    case 'w': goto yy396;
4824
659
    default:  goto yy48;
4825
17.2k
    }
4826
82.7k
yy300:
4827
82.7k
    YYDEBUG(300, *YYCURSOR);
4828
82.7k
    yyaccept = 4;
4829
82.7k
    yych = *(YYMARKER = ++YYCURSOR);
4830
82.7k
    if (yych == 'M') goto yy397;
4831
82.0k
    if (yych == 'm') goto yy397;
4832
1.99k
    goto yy48;
4833
2.70k
yy301:
4834
2.70k
    YYDEBUG(301, *YYCURSOR);
4835
2.70k
    yyaccept = 4;
4836
2.70k
    yych = *(YYMARKER = ++YYCURSOR);
4837
2.70k
    if (yych == 'L') goto yy398;
4838
2.43k
    if (yych == 'l') goto yy398;
4839
464
    goto yy48;
4840
2.13k
yy302:
4841
2.13k
    YYDEBUG(302, *YYCURSOR);
4842
2.13k
    yyaccept = 4;
4843
2.13k
    yych = *(YYMARKER = ++YYCURSOR);
4844
2.13k
    if (yych == 'T') goto yy400;
4845
1.67k
    if (yych == 't') goto yy400;
4846
681
    goto yy48;
4847
13.8k
yy303:
4848
13.8k
    YYDEBUG(303, *YYCURSOR);
4849
13.8k
    yyaccept = 4;
4850
13.8k
    yych = *(YYMARKER = ++YYCURSOR);
4851
13.8k
    if (yych == 'E') goto yy402;
4852
13.3k
    if (yych == 'e') goto yy402;
4853
1.09k
    goto yy48;
4854
8.77k
yy304:
4855
8.77k
    YYDEBUG(304, *YYCURSOR);
4856
8.77k
    yyaccept = 4;
4857
8.77k
    yych = *(YYMARKER = ++YYCURSOR);
4858
8.77k
    if (yych == 'A') goto yy403;
4859
8.54k
    if (yych == 'a') goto yy403;
4860
446
    goto yy48;
4861
16.6k
yy305:
4862
16.6k
    YYDEBUG(305, *YYCURSOR);
4863
16.6k
    yyaccept = 20;
4864
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
4865
16.6k
    if (yych <= '\\') {
4866
10.4k
      if (yych <= 'D') {
4867
9.20k
        if (yych <= '/') goto yy306;
4868
786
        if (yych <= '9') goto yy47;
4869
550
        if (yych >= 'A') goto yy47;
4870
1.22k
      } else {
4871
1.22k
        if (yych <= 'E') goto yy404;
4872
908
        if (yych <= 'Z') goto yy47;
4873
495
        if (yych >= '\\') goto yy164;
4874
495
      }
4875
10.4k
    } else {
4876
6.22k
      if (yych <= 'd') {
4877
744
        if (yych == '_') goto yy47;
4878
408
        if (yych >= 'a') goto yy47;
4879
5.48k
      } else {
4880
5.48k
        if (yych <= 'e') goto yy404;
4881
1.01k
        if (yych <= 'z') goto yy47;
4882
434
        if (yych >= 0x80) goto yy47;
4883
434
      }
4884
6.22k
    }
4885
9.63k
yy306:
4886
9.63k
    YYDEBUG(306, *YYCURSOR);
4887
9.63k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
9.63k
#line 1482 "Zend/zend_language_scanner.l"
4889
9.63k
    {
4890
9.63k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
9.63k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
32.3k
yy307:
4894
32.3k
    YYDEBUG(307, *YYCURSOR);
4895
32.3k
    yyaccept = 4;
4896
32.3k
    yych = *(YYMARKER = ++YYCURSOR);
4897
32.3k
    if (yych == 'C') goto yy405;
4898
31.8k
    if (yych == 'c') goto yy405;
4899
575
    goto yy48;
4900
2.93k
yy308:
4901
2.93k
    YYDEBUG(308, *YYCURSOR);
4902
2.93k
    yyaccept = 4;
4903
2.93k
    yych = *(YYMARKER = ++YYCURSOR);
4904
2.93k
    if (yych == 'B') goto yy406;
4905
2.37k
    if (yych == 'b') goto yy406;
4906
518
    goto yy48;
4907
3.54k
yy309:
4908
3.54k
    YYDEBUG(309, *YYCURSOR);
4909
3.54k
    yyaccept = 4;
4910
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
4911
3.54k
    if (yych == 'O') goto yy407;
4912
3.28k
    if (yych == 'o') goto yy407;
4913
456
    goto yy48;
4914
7.62k
yy310:
4915
7.62k
    YYDEBUG(310, *YYCURSOR);
4916
7.62k
    yyaccept = 4;
4917
7.62k
    yych = *(YYMARKER = ++YYCURSOR);
4918
7.62k
    if (yych == 'L') goto yy409;
4919
5.87k
    if (yych == 'l') goto yy409;
4920
862
    goto yy48;
4921
8.23k
yy311:
4922
8.23k
    YYDEBUG(311, *YYCURSOR);
4923
8.23k
    yyaccept = 4;
4924
8.23k
    yych = *(YYMARKER = ++YYCURSOR);
4925
8.23k
    if (yych == 'L') goto yy410;
4926
6.28k
    if (yych == 'l') goto yy410;
4927
1.08k
    goto yy48;
4928
8.86k
yy312:
4929
8.86k
    YYDEBUG(312, *YYCURSOR);
4930
8.86k
    yyaccept = 4;
4931
8.86k
    yych = *(YYMARKER = ++YYCURSOR);
4932
8.86k
    if (yych == 'T') goto yy411;
4933
8.46k
    if (yych == 't') goto yy411;
4934
483
    goto yy48;
4935
11.2k
yy313:
4936
11.2k
    YYDEBUG(313, *YYCURSOR);
4937
11.2k
    yyaccept = 4;
4938
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
4939
11.2k
    if (yych == 'E') goto yy412;
4940
10.4k
    if (yych == 'e') goto yy412;
4941
4.26k
    goto yy48;
4942
4.26k
yy314:
4943
3.53k
    YYDEBUG(314, *YYCURSOR);
4944
3.53k
    yyaccept = 4;
4945
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
4946
3.53k
    if (yych == 'E') goto yy413;
4947
3.03k
    if (yych == 'e') goto yy413;
4948
385
    goto yy48;
4949
3.41k
yy315:
4950
3.41k
    YYDEBUG(315, *YYCURSOR);
4951
3.41k
    yyaccept = 4;
4952
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
4953
3.41k
    if (yych == 'T') goto yy414;
4954
3.06k
    if (yych == 't') goto yy414;
4955
299
    goto yy48;
4956
3.71k
yy316:
4957
3.71k
    YYDEBUG(316, *YYCURSOR);
4958
3.71k
    yyaccept = 4;
4959
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
4960
3.71k
    if (yych == 'C') goto yy416;
4961
3.13k
    if (yych == 'c') goto yy416;
4962
236
    goto yy48;
4963
12.5k
yy317:
4964
12.5k
    YYDEBUG(317, *YYCURSOR);
4965
12.5k
    yyaccept = 4;
4966
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
4967
12.5k
    if (yych == 'E') goto yy417;
4968
11.6k
    if (yych == 'e') goto yy417;
4969
443
    goto yy48;
4970
13.1k
yy318:
4971
13.1k
    YYDEBUG(318, *YYCURSOR);
4972
13.1k
    yyaccept = 21;
4973
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
4974
13.1k
    if (yybm[256+yych] & 128) {
4975
610
      goto yy47;
4976
610
    }
4977
12.5k
    if (yych == '\\') goto yy164;
4978
12.4k
yy319:
4979
12.4k
    YYDEBUG(319, *YYCURSOR);
4980
12.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
12.4k
#line 1626 "Zend/zend_language_scanner.l"
4982
12.4k
    {
4983
12.4k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
12.4k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
11.0k
yy320:
4987
11.0k
    YYDEBUG(320, *YYCURSOR);
4988
11.0k
    yyaccept = 4;
4989
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
4990
11.0k
    if (yych <= 'V') {
4991
2.44k
      if (yych == 'N') goto yy418;
4992
1.50k
      if (yych <= 'U') goto yy48;
4993
894
      goto yy419;
4994
8.62k
    } else {
4995
8.62k
      if (yych <= 'n') {
4996
3.64k
        if (yych <= 'm') goto yy48;
4997
3.38k
        goto yy418;
4998
4.97k
      } else {
4999
4.97k
        if (yych == 'v') goto yy419;
5000
611
        goto yy48;
5001
4.97k
      }
5002
8.62k
    }
5003
6.17k
yy321:
5004
6.17k
    YYDEBUG(321, *YYCURSOR);
5005
6.17k
    yyaccept = 4;
5006
6.17k
    yych = *(YYMARKER = ++YYCURSOR);
5007
6.17k
    if (yych == 'T') goto yy420;
5008
5.37k
    if (yych == 't') goto yy420;
5009
494
    goto yy48;
5010
18.7k
yy322:
5011
18.7k
    YYDEBUG(322, *YYCURSOR);
5012
18.7k
    yyaccept = 4;
5013
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
5014
18.7k
    if (yych == 'L') goto yy421;
5015
18.3k
    if (yych == 'l') goto yy421;
5016
604
    goto yy48;
5017
5.13k
yy323:
5018
5.13k
    YYDEBUG(323, *YYCURSOR);
5019
5.13k
    yyaccept = 4;
5020
5.13k
    yych = *(YYMARKER = ++YYCURSOR);
5021
5.13k
    if (yych == 'D') goto yy422;
5022
4.90k
    if (yych == 'd') goto yy422;
5023
1.71k
    goto yy48;
5024
6.00k
yy324:
5025
6.00k
    YYDEBUG(324, *YYCURSOR);
5026
6.00k
    yyaccept = 4;
5027
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
5028
6.00k
    if (yych == 'U') goto yy423;
5029
5.70k
    if (yych == 'u') goto yy423;
5030
407
    goto yy48;
5031
6.77k
yy325:
5032
6.77k
    YYDEBUG(325, *YYCURSOR);
5033
6.77k
    yyaccept = 4;
5034
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
5035
6.77k
    if (yych == 'U') goto yy424;
5036
6.57k
    if (yych == 'u') goto yy424;
5037
611
    goto yy48;
5038
8.09k
yy326:
5039
8.09k
    YYDEBUG(326, *YYCURSOR);
5040
8.09k
    yyaccept = 4;
5041
8.09k
    yych = *(YYMARKER = ++YYCURSOR);
5042
8.09k
    if (yych == 'T') goto yy425;
5043
7.85k
    if (yych == 't') goto yy425;
5044
584
    goto yy48;
5045
4.28k
yy327:
5046
4.28k
    YYDEBUG(327, *YYCURSOR);
5047
4.28k
    yyaccept = 4;
5048
4.28k
    yych = *(YYMARKER = ++YYCURSOR);
5049
4.28k
    if (yych == 'T') goto yy426;
5050
4.04k
    if (yych == 't') goto yy426;
5051
421
    goto yy48;
5052
3.13k
yy328:
5053
3.13k
    YYDEBUG(328, *YYCURSOR);
5054
3.13k
    yyaccept = 4;
5055
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
5056
3.13k
    if (yych == 'O') goto yy427;
5057
2.90k
    if (yych == 'o') goto yy427;
5058
586
    goto yy48;
5059
2.97k
yy329:
5060
2.97k
    YYDEBUG(329, *YYCURSOR);
5061
2.97k
    yyaccept = 4;
5062
2.97k
    yych = *(YYMARKER = ++YYCURSOR);
5063
2.97k
    if (yych == 'I') goto yy428;
5064
2.59k
    if (yych == 'i') goto yy428;
5065
440
    goto yy48;
5066
4.96k
yy330:
5067
4.96k
    YYDEBUG(330, *YYCURSOR);
5068
4.96k
    yyaccept = 22;
5069
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
5070
4.96k
    if (yybm[256+yych] & 128) {
5071
454
      goto yy47;
5072
454
    }
5073
4.50k
    if (yych == '\\') goto yy164;
5074
4.50k
yy331:
5075
4.50k
    YYDEBUG(331, *YYCURSOR);
5076
4.50k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
4.50k
#line 1438 "Zend/zend_language_scanner.l"
5078
4.50k
    {
5079
4.50k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
4.50k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
4.22k
yy332:
5083
4.22k
    YYDEBUG(332, *YYCURSOR);
5084
4.22k
    yyaccept = 4;
5085
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
5086
4.22k
    if (yych == 'E') goto yy429;
5087
3.70k
    if (yych == 'e') goto yy429;
5088
537
    goto yy48;
5089
6.04k
yy333:
5090
6.04k
    YYDEBUG(333, *YYCURSOR);
5091
6.04k
    yyaccept = 23;
5092
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
5093
6.04k
    if (yybm[256+yych] & 128) {
5094
516
      goto yy47;
5095
516
    }
5096
5.53k
    if (yych == '\\') goto yy164;
5097
5.50k
yy334:
5098
5.50k
    YYDEBUG(334, *YYCURSOR);
5099
5.50k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
5.50k
#line 1742 "Zend/zend_language_scanner.l"
5101
5.50k
    {
5102
5.50k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
5.50k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
4.56k
yy335:
5106
4.56k
    YYDEBUG(335, *YYCURSOR);
5107
4.56k
    yyaccept = 24;
5108
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
5109
4.56k
    if (yybm[256+yych] & 128) {
5110
3.33k
      goto yy47;
5111
3.33k
    }
5112
1.23k
    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.06k
yy337:
5122
3.06k
    YYDEBUG(337, *YYCURSOR);
5123
3.06k
    yyaccept = 4;
5124
3.06k
    yych = *(YYMARKER = ++YYCURSOR);
5125
3.06k
    if (yych == 'L') goto yy430;
5126
2.86k
    if (yych == 'l') goto yy430;
5127
459
    goto yy48;
5128
2.73k
yy338:
5129
2.73k
    YYDEBUG(338, *YYCURSOR);
5130
2.73k
    yyaccept = 25;
5131
2.73k
    yych = *(YYMARKER = ++YYCURSOR);
5132
2.73k
    if (yybm[256+yych] & 128) {
5133
215
      goto yy47;
5134
215
    }
5135
2.51k
    if (yych == '\\') goto yy164;
5136
2.51k
yy339:
5137
2.51k
    YYDEBUG(339, *YYCURSOR);
5138
2.51k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
2.51k
#line 1938 "Zend/zend_language_scanner.l"
5140
2.51k
    {
5141
2.51k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
2.51k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
50.4k
yy340:
5145
50.4k
    YYDEBUG(340, *YYCURSOR);
5146
50.4k
    yyaccept = 4;
5147
50.4k
    yych = *(YYMARKER = ++YYCURSOR);
5148
50.4k
    if (yych == 'L') goto yy431;
5149
49.6k
    if (yych == 'l') goto yy431;
5150
1.14k
    goto yy48;
5151
4.59k
yy341:
5152
4.59k
    YYDEBUG(341, *YYCURSOR);
5153
4.59k
    ++YYCURSOR;
5154
4.59k
    YYFILL(1);
5155
4.59k
    yych = *YYCURSOR;
5156
4.59k
    if (yych <= '_') {
5157
2.50k
      if (yych <= '@') goto yy86;
5158
1.71k
      if (yych <= 'Z') goto yy211;
5159
1.15k
      if (yych <= '^') goto yy86;
5160
328
      goto yy211;
5161
2.08k
    } else {
5162
2.08k
      if (yych <= '`') goto yy86;
5163
1.76k
      if (yych <= 'z') goto yy211;
5164
1.07k
      if (yych <= 0x7F) goto yy86;
5165
578
      goto yy211;
5166
1.07k
    }
5167
13.6k
yy342:
5168
13.6k
    YYDEBUG(342, *YYCURSOR);
5169
13.6k
    yyaccept = 4;
5170
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
5171
13.6k
    if (yych == 'L') goto yy432;
5172
13.0k
    if (yych == 'l') goto yy432;
5173
3.50k
    goto yy48;
5174
4.58k
yy343:
5175
4.58k
    YYDEBUG(343, *YYCURSOR);
5176
4.58k
    yyaccept = 4;
5177
4.58k
    yych = *(YYMARKER = ++YYCURSOR);
5178
4.58k
    if (yych == 'I') goto yy433;
5179
4.19k
    if (yych == 'i') goto yy433;
5180
639
    goto yy48;
5181
7.78k
yy344:
5182
7.78k
    YYDEBUG(344, *YYCURSOR);
5183
7.78k
    yyaccept = 4;
5184
7.78k
    yych = *(YYMARKER = ++YYCURSOR);
5185
7.78k
    if (yych <= 'U') {
5186
1.29k
      if (yych == 'I') goto yy434;
5187
657
      if (yych <= 'T') goto yy48;
5188
321
      goto yy435;
5189
6.49k
    } else {
5190
6.49k
      if (yych <= 'i') {
5191
1.91k
        if (yych <= 'h') goto yy48;
5192
1.64k
        goto yy434;
5193
4.57k
      } else {
5194
4.57k
        if (yych == 'u') goto yy435;
5195
462
        goto yy48;
5196
4.57k
      }
5197
6.49k
    }
5198
4.59k
yy345:
5199
4.59k
    YYDEBUG(345, *YYCURSOR);
5200
4.59k
    yyaccept = 4;
5201
4.59k
    yych = *(YYMARKER = ++YYCURSOR);
5202
4.59k
    if (yych == 'A') goto yy436;
5203
3.35k
    if (yych == 'a') goto yy436;
5204
681
    goto yy48;
5205
2.96k
yy346:
5206
2.96k
    YYDEBUG(346, *YYCURSOR);
5207
2.96k
    yyaccept = 4;
5208
2.96k
    yych = *(YYMARKER = ++YYCURSOR);
5209
2.96k
    if (yych == 'I') goto yy437;
5210
2.48k
    if (yych == 'i') goto yy437;
5211
580
    goto yy48;
5212
5.13k
yy347:
5213
5.13k
    YYDEBUG(347, *YYCURSOR);
5214
5.13k
    yyaccept = 4;
5215
5.13k
    yych = *(YYMARKER = ++YYCURSOR);
5216
5.13k
    if (yych == 'E') goto yy438;
5217
4.64k
    if (yych == 'e') goto yy438;
5218
577
    goto yy48;
5219
5.38k
yy348:
5220
5.38k
    YYDEBUG(348, *YYCURSOR);
5221
5.38k
    yyaccept = 4;
5222
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
5223
5.38k
    if (yych == 'A') goto yy439;
5224
4.02k
    if (yych == 'a') goto yy439;
5225
419
    goto yy48;
5226
4.73k
yy349:
5227
4.73k
    YYDEBUG(349, *YYCURSOR);
5228
4.73k
    yyaccept = 4;
5229
4.73k
    yych = *(YYMARKER = ++YYCURSOR);
5230
4.73k
    if (yych == 'R') goto yy440;
5231
860
    if (yych == 'r') goto yy440;
5232
448
    goto yy48;
5233
6.32k
yy350:
5234
6.32k
    YYDEBUG(350, *YYCURSOR);
5235
6.32k
    yyaccept = 4;
5236
6.32k
    yych = *(YYMARKER = ++YYCURSOR);
5237
6.32k
    if (yych == 'R') goto yy441;
5238
6.03k
    if (yych == 'r') goto yy441;
5239
1.15k
    goto yy48;
5240
3.72k
yy351:
5241
3.72k
    YYDEBUG(351, *YYCURSOR);
5242
3.72k
    ++YYCURSOR;
5243
3.72k
    YYFILL(1);
5244
3.72k
    yych = *YYCURSOR;
5245
3.72k
    if (yybm[0+yych] & 2) {
5246
977
      goto yy225;
5247
977
    }
5248
2.74k
    if (yych <= 0x00) goto yy86;
5249
2.53k
    goto yy227;
5250
2.53k
yy352:
5251
1.65k
    YYDEBUG(352, *YYCURSOR);
5252
1.65k
    yyaccept = 26;
5253
1.65k
    YYMARKER = ++YYCURSOR;
5254
1.65k
    YYFILL(1);
5255
1.65k
    yych = *YYCURSOR;
5256
1.65k
    if (yybm[0+yych] & 2) {
5257
1.12k
      goto yy225;
5258
1.12k
    }
5259
537
    if (yych <= 0x00) goto yy89;
5260
313
    goto yy84;
5261
13.2k
yy353:
5262
13.2k
    YYDEBUG(353, *YYCURSOR);
5263
13.2k
    ++YYCURSOR;
5264
13.2k
    YYFILL(1);
5265
13.2k
    yych = *YYCURSOR;
5266
13.2k
    if (yych <= '\f') {
5267
1.61k
      if (yych <= 0x00) goto yy86;
5268
1.40k
      if (yych == '\n') goto yy84;
5269
198
      goto yy225;
5270
11.6k
    } else {
5271
11.6k
      if (yych <= '\r') goto yy84;
5272
11.2k
      if (yych == '.') goto yy442;
5273
8.31k
      goto yy225;
5274
11.2k
    }
5275
16.1k
yy354:
5276
16.1k
    YYDEBUG(354, *YYCURSOR);
5277
16.1k
    ++YYCURSOR;
5278
16.1k
    YYFILL(1);
5279
16.1k
    yych = *YYCURSOR;
5280
16.1k
    if (yych <= '\f') {
5281
752
      if (yych <= 0x00) goto yy86;
5282
547
      if (yych == '\n') goto yy84;
5283
198
      goto yy225;
5284
15.3k
    } else {
5285
15.3k
      if (yych <= '\r') goto yy84;
5286
15.1k
      if (yych == '*') goto yy443;
5287
1.62k
      goto yy225;
5288
15.1k
    }
5289
3.74k
yy355:
5290
3.74k
    YYDEBUG(355, *YYCURSOR);
5291
3.74k
    ++YYCURSOR;
5292
3.74k
    YYFILL(1);
5293
3.74k
    yych = *YYCURSOR;
5294
3.74k
    YYDEBUG(356, *YYCURSOR);
5295
3.74k
    if (yybm[0+yych] & 64) {
5296
267
      goto yy355;
5297
267
    }
5298
3.48k
    if (yych <= 0x00) goto yy86;
5299
2.37k
    if (yych == '/') goto yy84;
5300
1.80k
    goto yy230;
5301
4.25k
yy357:
5302
4.25k
    YYDEBUG(357, *YYCURSOR);
5303
4.25k
    yych = *++YYCURSOR;
5304
4.25k
    if (yych == 'A') goto yy445;
5305
4.03k
    if (yych == 'a') goto yy445;
5306
475
    goto yy86;
5307
2.30k
yy358:
5308
2.30k
    YYDEBUG(358, *YYCURSOR);
5309
2.30k
    yych = *++YYCURSOR;
5310
2.30k
    if (yych == 'A') goto yy446;
5311
1.97k
    if (yych == 'a') goto yy446;
5312
425
    goto yy86;
5313
3.56k
yy359:
5314
3.56k
    YYDEBUG(359, *YYCURSOR);
5315
3.56k
    yych = *++YYCURSOR;
5316
3.56k
    if (yych == 'L') goto yy447;
5317
3.34k
    if (yych == 'l') goto yy447;
5318
415
    goto yy86;
5319
2.33k
yy360:
5320
2.33k
    YYDEBUG(360, *YYCURSOR);
5321
2.33k
    yych = *++YYCURSOR;
5322
2.33k
    if (yych == 'B') goto yy448;
5323
1.79k
    if (yych == 'b') goto yy448;
5324
358
    goto yy86;
5325
2.88k
yy361:
5326
2.88k
    YYDEBUG(361, *YYCURSOR);
5327
2.88k
    yych = *++YYCURSOR;
5328
2.88k
    if (yych == 'A') goto yy449;
5329
2.67k
    if (yych == 'a') goto yy449;
5330
361
    goto yy86;
5331
5.56k
yy362:
5332
5.56k
    YYDEBUG(362, *YYCURSOR);
5333
5.56k
    yych = *++YYCURSOR;
5334
5.56k
    if (yych == 'E') goto yy454;
5335
4.85k
    if (yych == 'e') goto yy454;
5336
2.68k
    goto yy451;
5337
2.68k
yy363:
5338
2.04k
    YYDEBUG(363, *YYCURSOR);
5339
2.04k
    yych = *++YYCURSOR;
5340
2.04k
    if (yych == 'E') goto yy455;
5341
1.78k
    if (yych == 'e') goto yy455;
5342
302
    goto yy86;
5343
1.39k
yy364:
5344
1.39k
    YYDEBUG(364, *YYCURSOR);
5345
1.39k
    yych = *++YYCURSOR;
5346
1.39k
    if (yych == 'L') goto yy456;
5347
591
    if (yych == 'l') goto yy456;
5348
273
    goto yy86;
5349
4.55k
yy365:
5350
4.55k
    YYDEBUG(365, *YYCURSOR);
5351
4.55k
    yych = *++YYCURSOR;
5352
4.55k
    if (yych == 'I') goto yy458;
5353
4.02k
    if (yych == 'i') goto yy458;
5354
1.00k
    goto yy86;
5355
2.06k
yy366:
5356
2.06k
    YYDEBUG(366, *YYCURSOR);
5357
2.06k
    yych = *++YYCURSOR;
5358
2.06k
    if (yych == 'E') goto yy459;
5359
1.55k
    if (yych == 'e') goto yy459;
5360
403
    goto yy86;
5361
1.61k
yy367:
5362
1.61k
    YYDEBUG(367, *YYCURSOR);
5363
1.61k
    yych = *++YYCURSOR;
5364
1.61k
    if (yych == 'D') goto yy460;
5365
1.40k
    if (yych == 'd') goto yy460;
5366
280
    goto yy86;
5367
5.36k
yy368:
5368
5.36k
    YYDEBUG(368, *YYCURSOR);
5369
5.36k
    ++YYCURSOR;
5370
5.36k
    YYFILL(1);
5371
5.36k
    yych = *YYCURSOR;
5372
5.36k
    YYDEBUG(369, *YYCURSOR);
5373
5.36k
    if (yych <= '\f') {
5374
1.57k
      if (yych <= 0x08) goto yy129;
5375
1.00k
      if (yych <= '\n') goto yy368;
5376
589
      goto yy129;
5377
3.79k
    } else {
5378
3.79k
      if (yych <= '\r') goto yy368;
5379
3.54k
      if (yych == ' ') goto yy368;
5380
3.09k
      goto yy129;
5381
3.54k
    }
5382
2.44k
yy370:
5383
2.44k
    YYDEBUG(370, *YYCURSOR);
5384
2.44k
    yych = *++YYCURSOR;
5385
2.44k
    if (yych == '"') goto yy86;
5386
2.17k
    if (yych <= '/') goto yy463;
5387
1.32k
    if (yych <= '9') goto yy86;
5388
1.12k
    goto yy463;
5389
5.00k
yy371:
5390
5.00k
    YYDEBUG(371, *YYCURSOR);
5391
5.00k
    yych = *++YYCURSOR;
5392
5.00k
    if (yych == '\'') goto yy86;
5393
4.79k
    if (yych <= '/') goto yy465;
5394
4.57k
    if (yych <= '9') goto yy86;
5395
4.36k
    goto yy465;
5396
1.76M
yy372:
5397
1.76M
    YYDEBUG(372, *YYCURSOR);
5398
1.76M
    ++YYCURSOR;
5399
1.76M
    YYFILL(2);
5400
1.76M
    yych = *YYCURSOR;
5401
1.76M
    YYDEBUG(373, *YYCURSOR);
5402
1.76M
    if (yych <= '@') {
5403
1.53M
      if (yych <= '\f') {
5404
1.50M
        if (yych == '\n') goto yy466;
5405
4.66k
        goto yy86;
5406
1.50M
      } else {
5407
26.3k
        if (yych <= '\r') goto yy468;
5408
23.3k
        if (yych <= '/') goto yy86;
5409
14.0k
        if (yych <= '9') goto yy372;
5410
6.84k
        goto yy86;
5411
14.0k
      }
5412
1.53M
    } else {
5413
236k
      if (yych <= '_') {
5414
30.5k
        if (yych <= 'Z') goto yy372;
5415
8.69k
        if (yych <= '^') goto yy86;
5416
7.16k
        goto yy372;
5417
206k
      } else {
5418
206k
        if (yych <= '`') goto yy86;
5419
205k
        if (yych <= 'z') goto yy372;
5420
92.6k
        if (yych <= 0x7F) goto yy86;
5421
89.7k
        goto yy372;
5422
92.6k
      }
5423
236k
    }
5424
3.65k
yy374:
5425
3.65k
    YYDEBUG(374, *YYCURSOR);
5426
3.65k
    yyaccept = 4;
5427
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
5428
3.65k
    if (yych == 'R') goto yy469;
5429
3.32k
    if (yych == 'r') goto yy469;
5430
291
    goto yy48;
5431
7.62k
yy375:
5432
7.62k
    YYDEBUG(375, *YYCURSOR);
5433
7.62k
    yyaccept = 4;
5434
7.62k
    yych = *(YYMARKER = ++YYCURSOR);
5435
7.62k
    if (yych == 'Y') goto yy470;
5436
7.41k
    if (yych == 'y') goto yy470;
5437
541
    goto yy48;
5438
1.93k
yy376:
5439
1.93k
    YYDEBUG(376, *YYCURSOR);
5440
1.93k
    yyaccept = 4;
5441
1.93k
    yych = *(YYMARKER = ++YYCURSOR);
5442
1.93k
    if (yych == 'K') goto yy472;
5443
1.72k
    if (yych == 'k') goto yy472;
5444
248
    goto yy48;
5445
5.76k
yy377:
5446
5.76k
    YYDEBUG(377, *YYCURSOR);
5447
5.76k
    yyaccept = 4;
5448
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
5449
5.76k
    if (yych == 'A') goto yy474;
5450
5.27k
    if (yych == 'a') goto yy474;
5451
3.63k
    goto yy48;
5452
7.86k
yy378:
5453
7.86k
    YYDEBUG(378, *YYCURSOR);
5454
7.86k
    yyaccept = 27;
5455
7.86k
    yych = *(YYMARKER = ++YYCURSOR);
5456
7.86k
    if (yybm[256+yych] & 128) {
5457
539
      goto yy47;
5458
539
    }
5459
7.32k
    if (yych == '\\') goto yy164;
5460
7.30k
yy379:
5461
7.30k
    YYDEBUG(379, *YYCURSOR);
5462
7.30k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
7.30k
#line 1526 "Zend/zend_language_scanner.l"
5464
7.30k
    {
5465
7.30k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
7.30k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
3.51k
yy380:
5469
3.51k
    YYDEBUG(380, *YYCURSOR);
5470
3.51k
    yyaccept = 4;
5471
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
5472
3.51k
    if (yych == 'H') goto yy475;
5473
3.19k
    if (yych == 'h') goto yy475;
5474
377
    goto yy48;
5475
26.8k
yy381:
5476
26.8k
    YYDEBUG(381, *YYCURSOR);
5477
26.8k
    yyaccept = 4;
5478
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
5479
26.8k
    if (yych == 'S') goto yy477;
5480
26.5k
    if (yych == 's') goto yy477;
5481
626
    goto yy48;
5482
3.28k
yy382:
5483
3.28k
    YYDEBUG(382, *YYCURSOR);
5484
3.28k
    yyaccept = 4;
5485
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
5486
3.28k
    if (yych == 'E') goto yy479;
5487
3.04k
    if (yych == 'e') goto yy479;
5488
537
    goto yy48;
5489
8.60k
yy383:
5490
8.60k
    YYDEBUG(383, *YYCURSOR);
5491
8.60k
    yyaccept = 4;
5492
8.60k
    yych = *(YYMARKER = ++YYCURSOR);
5493
8.60k
    if (yych == 'T') goto yy481;
5494
8.10k
    if (yych == 't') goto yy481;
5495
360
    goto yy48;
5496
3.74k
yy384:
5497
3.74k
    YYDEBUG(384, *YYCURSOR);
5498
3.74k
    yyaccept = 4;
5499
3.74k
    yych = *(YYMARKER = ++YYCURSOR);
5500
3.74k
    if (yych == 'I') goto yy483;
5501
2.97k
    if (yych == 'i') goto yy483;
5502
662
    goto yy48;
5503
6.14k
yy385:
5504
6.14k
    YYDEBUG(385, *YYCURSOR);
5505
6.14k
    yyaccept = 4;
5506
6.14k
    yych = *(YYMARKER = ++YYCURSOR);
5507
6.14k
    if (yych == 'A') goto yy484;
5508
5.26k
    if (yych == 'a') goto yy484;
5509
324
    goto yy48;
5510
3.00k
yy386:
5511
3.00k
    YYDEBUG(386, *YYCURSOR);
5512
3.00k
    yyaccept = 4;
5513
3.00k
    yych = *(YYMARKER = ++YYCURSOR);
5514
3.00k
    if (yych == 'U') goto yy485;
5515
2.79k
    if (yych == 'u') goto yy485;
5516
299
    goto yy48;
5517
3.83k
yy387:
5518
3.83k
    YYDEBUG(387, *YYCURSOR);
5519
3.83k
    yyaccept = 28;
5520
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
5521
3.83k
    if (yybm[256+yych] & 128) {
5522
448
      goto yy47;
5523
448
    }
5524
3.38k
    if (yych == '\\') goto yy164;
5525
3.38k
yy388:
5526
3.38k
    YYDEBUG(388, *YYCURSOR);
5527
3.38k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
3.38k
#line 1546 "Zend/zend_language_scanner.l"
5529
3.38k
    {
5530
3.38k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
3.38k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
7.40k
yy389:
5534
7.40k
    YYDEBUG(389, *YYCURSOR);
5535
7.40k
    yyaccept = 29;
5536
7.40k
    yych = *(YYMARKER = ++YYCURSOR);
5537
7.40k
    if (yych <= '\\') {
5538
3.44k
      if (yych <= 'H') {
5539
2.51k
        if (yych <= '/') goto yy390;
5540
1.37k
        if (yych <= '9') goto yy47;
5541
1.17k
        if (yych >= 'A') goto yy47;
5542
1.17k
      } else {
5543
924
        if (yych <= 'I') goto yy486;
5544
716
        if (yych <= 'Z') goto yy47;
5545
400
        if (yych >= '\\') goto yy164;
5546
400
      }
5547
3.96k
    } else {
5548
3.96k
      if (yych <= 'h') {
5549
640
        if (yych == '_') goto yy47;
5550
427
        if (yych >= 'a') goto yy47;
5551
3.32k
      } else {
5552
3.32k
        if (yych <= 'i') goto yy486;
5553
716
        if (yych <= 'z') goto yy47;
5554
441
        if (yych >= 0x80) goto yy47;
5555
441
      }
5556
3.96k
    }
5557
2.91k
yy390:
5558
2.91k
    YYDEBUG(390, *YYCURSOR);
5559
2.91k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
2.91k
#line 1466 "Zend/zend_language_scanner.l"
5561
2.91k
    {
5562
2.91k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
2.91k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
1.88k
yy391:
5566
1.88k
    YYDEBUG(391, *YYCURSOR);
5567
1.88k
    yyaccept = 4;
5568
1.88k
    yych = *(YYMARKER = ++YYCURSOR);
5569
1.88k
    if (yych == 'Y') goto yy487;
5570
1.66k
    if (yych == 'y') goto yy487;
5571
425
    goto yy48;
5572
3.84k
yy392:
5573
3.84k
    YYDEBUG(392, *YYCURSOR);
5574
3.84k
    yyaccept = 4;
5575
3.84k
    yych = *(YYMARKER = ++YYCURSOR);
5576
3.84k
    if (yych == 'E') goto yy489;
5577
2.44k
    if (yych == 'e') goto yy489;
5578
319
    goto yy48;
5579
5.59k
yy393:
5580
5.59k
    YYDEBUG(393, *YYCURSOR);
5581
5.59k
    yyaccept = 4;
5582
5.59k
    yych = *(YYMARKER = ++YYCURSOR);
5583
5.59k
    if (yych == 'O') goto yy490;
5584
4.46k
    if (yych == 'o') goto yy490;
5585
411
    goto yy48;
5586
1.73k
yy394:
5587
1.73k
    YYDEBUG(394, *YYCURSOR);
5588
1.73k
    yyaccept = 4;
5589
1.73k
    yych = *(YYMARKER = ++YYCURSOR);
5590
1.73k
    if (yych == 'F') goto yy491;
5591
1.52k
    if (yych == 'f') goto yy491;
5592
356
    goto yy48;
5593
2.69k
yy395:
5594
2.69k
    YYDEBUG(395, *YYCURSOR);
5595
2.69k
    yyaccept = 4;
5596
2.69k
    yych = *(YYMARKER = ++YYCURSOR);
5597
2.69k
    if (yych == 'W') goto yy493;
5598
1.85k
    if (yych == 'w') goto yy493;
5599
471
    goto yy48;
5600
2.75k
yy396:
5601
2.75k
    YYDEBUG(396, *YYCURSOR);
5602
2.75k
    yyaccept = 4;
5603
2.75k
    yych = *(YYMARKER = ++YYCURSOR);
5604
2.75k
    if (yych == 'H') goto yy494;
5605
2.12k
    if (yych == 'h') goto yy494;
5606
353
    goto yy48;
5607
80.8k
yy397:
5608
80.8k
    YYDEBUG(397, *YYCURSOR);
5609
80.8k
    yyaccept = 4;
5610
80.8k
    yych = *(YYMARKER = ++YYCURSOR);
5611
80.8k
    if (yych <= 0x1F) {
5612
66.7k
      if (yych <= '\n') {
5613
4.03k
        if (yych <= 0x08) goto yy48;
5614
3.68k
        goto yy495;
5615
62.7k
      } else {
5616
62.7k
        if (yych == '\r') goto yy495;
5617
233
        goto yy48;
5618
62.7k
      }
5619
66.7k
    } else {
5620
14.0k
      if (yych <= '#') {
5621
12.5k
        if (yych <= ' ') goto yy495;
5622
7.41k
        if (yych <= '"') goto yy48;
5623
7.20k
        goto yy497;
5624
7.41k
      } else {
5625
1.48k
        if (yych == '/') goto yy498;
5626
1.23k
        goto yy48;
5627
1.48k
      }
5628
14.0k
    }
5629
2.24k
yy398:
5630
2.24k
    YYDEBUG(398, *YYCURSOR);
5631
2.24k
    yyaccept = 30;
5632
2.24k
    yych = *(YYMARKER = ++YYCURSOR);
5633
2.24k
    if (yybm[256+yych] & 128) {
5634
1.03k
      goto yy47;
5635
1.03k
    }
5636
1.21k
    if (yych == '\\') goto yy164;
5637
1.21k
yy399:
5638
1.21k
    YYDEBUG(399, *YYCURSOR);
5639
1.21k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
1.21k
#line 1718 "Zend/zend_language_scanner.l"
5641
1.21k
    {
5642
1.21k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
1.21k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
1.45k
yy400:
5646
1.45k
    YYDEBUG(400, *YYCURSOR);
5647
1.45k
    yyaccept = 31;
5648
1.45k
    yych = *(YYMARKER = ++YYCURSOR);
5649
1.45k
    if (yybm[256+yych] & 128) {
5650
360
      goto yy47;
5651
360
    }
5652
1.09k
    if (yych == '\\') goto yy164;
5653
998
yy401:
5654
998
    YYDEBUG(401, *YYCURSOR);
5655
998
    yyleng = YYCURSOR - SCNG(yy_text);
5656
998
#line 1399 "Zend/zend_language_scanner.l"
5657
998
    {
5658
998
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
998
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
12.7k
yy402:
5662
12.7k
    YYDEBUG(402, *YYCURSOR);
5663
12.7k
    yyaccept = 4;
5664
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5665
12.7k
    if (yych == 'N') goto yy499;
5666
12.0k
    if (yych == 'n') goto yy499;
5667
823
    goto yy48;
5668
8.33k
yy403:
5669
8.33k
    YYDEBUG(403, *YYCURSOR);
5670
8.33k
    yyaccept = 4;
5671
8.33k
    yych = *(YYMARKER = ++YYCURSOR);
5672
8.33k
    if (yych == 'L') goto yy500;
5673
8.05k
    if (yych == 'l') goto yy500;
5674
458
    goto yy48;
5675
4.78k
yy404:
5676
4.78k
    YYDEBUG(404, *YYCURSOR);
5677
4.78k
    yyaccept = 4;
5678
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
5679
4.78k
    if (yych == 'A') goto yy502;
5680
4.38k
    if (yych == 'a') goto yy502;
5681
216
    goto yy48;
5682
31.7k
yy405:
5683
31.7k
    YYDEBUG(405, *YYCURSOR);
5684
31.7k
    yyaccept = 4;
5685
31.7k
    yych = *(YYMARKER = ++YYCURSOR);
5686
31.7k
    if (yych == 'T') goto yy503;
5687
31.3k
    if (yych == 't') goto yy503;
5688
1.52k
    goto yy48;
5689
2.42k
yy406:
5690
2.42k
    YYDEBUG(406, *YYCURSOR);
5691
2.42k
    yyaccept = 4;
5692
2.42k
    yych = *(YYMARKER = ++YYCURSOR);
5693
2.42k
    if (yych == 'A') goto yy504;
5694
2.08k
    if (yych == 'a') goto yy504;
5695
493
    goto yy48;
5696
3.08k
yy407:
5697
3.08k
    YYDEBUG(407, *YYCURSOR);
5698
3.08k
    yyaccept = 32;
5699
3.08k
    yych = *(YYMARKER = ++YYCURSOR);
5700
3.08k
    if (yybm[256+yych] & 128) {
5701
879
      goto yy47;
5702
879
    }
5703
2.20k
    if (yych == '\\') goto yy164;
5704
2.07k
yy408:
5705
2.07k
    YYDEBUG(408, *YYCURSOR);
5706
2.07k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
2.07k
#line 1542 "Zend/zend_language_scanner.l"
5708
2.07k
    {
5709
2.07k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
2.07k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
6.75k
yy409:
5713
6.75k
    YYDEBUG(409, *YYCURSOR);
5714
6.75k
    yyaccept = 4;
5715
6.75k
    yych = *(YYMARKER = ++YYCURSOR);
5716
6.75k
    if (yych == 'E') goto yy505;
5717
5.30k
    if (yych == 'e') goto yy505;
5718
619
    goto yy48;
5719
7.14k
yy410:
5720
7.14k
    YYDEBUG(410, *YYCURSOR);
5721
7.14k
    yyaccept = 4;
5722
7.14k
    yych = *(YYMARKER = ++YYCURSOR);
5723
7.14k
    if (yych == 'U') goto yy506;
5724
5.53k
    if (yych == 'u') goto yy506;
5725
317
    goto yy48;
5726
8.38k
yy411:
5727
8.38k
    YYDEBUG(411, *YYCURSOR);
5728
8.38k
    yyaccept = 4;
5729
8.38k
    yych = *(YYMARKER = ++YYCURSOR);
5730
8.38k
    if (yych <= 'E') {
5731
1.24k
      if (yych == 'A') goto yy507;
5732
711
      if (yych <= 'D') goto yy48;
5733
206
      goto yy508;
5734
7.13k
    } else {
5735
7.13k
      if (yych <= 'a') {
5736
2.61k
        if (yych <= '`') goto yy48;
5737
2.39k
        goto yy507;
5738
4.52k
      } else {
5739
4.52k
        if (yych == 'e') goto yy508;
5740
1.31k
        goto yy48;
5741
4.52k
      }
5742
7.13k
    }
5743
6.98k
yy412:
5744
6.98k
    YYDEBUG(412, *YYCURSOR);
5745
6.98k
    yyaccept = 4;
5746
6.98k
    yych = *(YYMARKER = ++YYCURSOR);
5747
6.98k
    if (yych == 'R') goto yy509;
5748
6.75k
    if (yych == 'r') goto yy509;
5749
2.71k
    goto yy48;
5750
3.14k
yy413:
5751
3.14k
    YYDEBUG(413, *YYCURSOR);
5752
3.14k
    yyaccept = 4;
5753
3.14k
    yych = *(YYMARKER = ++YYCURSOR);
5754
3.14k
    if (yych == 'T') goto yy510;
5755
2.62k
    if (yych == 't') goto yy510;
5756
357
    goto yy48;
5757
3.11k
yy414:
5758
3.11k
    YYDEBUG(414, *YYCURSOR);
5759
3.11k
    yyaccept = 33;
5760
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
5761
3.11k
    if (yybm[256+yych] & 128) {
5762
727
      goto yy47;
5763
727
    }
5764
2.39k
    if (yych == '\\') goto yy164;
5765
2.38k
yy415:
5766
2.38k
    YYDEBUG(415, *YYCURSOR);
5767
2.38k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
2.38k
#line 1814 "Zend/zend_language_scanner.l"
5769
2.38k
    {
5770
2.38k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
2.38k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
3.47k
yy416:
5774
3.47k
    YYDEBUG(416, *YYCURSOR);
5775
3.47k
    yyaccept = 4;
5776
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
5777
3.47k
    if (yych == 'H') goto yy512;
5778
3.25k
    if (yych == 'h') goto yy512;
5779
225
    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.8k
    if (yych == 's') goto yy514;
5786
687
    goto yy48;
5787
4.32k
yy418:
5788
4.32k
    YYDEBUG(418, *YYCURSOR);
5789
4.32k
    yyaccept = 4;
5790
4.32k
    yych = *(YYMARKER = ++YYCURSOR);
5791
4.32k
    if (yych == 'T') goto yy515;
5792
3.94k
    if (yych == 't') goto yy515;
5793
461
    goto yy48;
5794
5.26k
yy419:
5795
5.26k
    YYDEBUG(419, *YYCURSOR);
5796
5.26k
    yyaccept = 4;
5797
5.26k
    yych = *(YYMARKER = ++YYCURSOR);
5798
5.26k
    if (yych == 'A') goto yy517;
5799
4.70k
    if (yych == 'a') goto yy517;
5800
364
    goto yy48;
5801
5.67k
yy420:
5802
5.67k
    YYDEBUG(420, *YYCURSOR);
5803
5.67k
    yyaccept = 4;
5804
5.67k
    yych = *(YYMARKER = ++YYCURSOR);
5805
5.67k
    if (yych == 'E') goto yy518;
5806
4.90k
    if (yych == 'e') goto yy518;
5807
762
    goto yy48;
5808
18.1k
yy421:
5809
18.1k
    YYDEBUG(421, *YYCURSOR);
5810
18.1k
    yyaccept = 4;
5811
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
5812
18.1k
    if (yych == 'I') goto yy519;
5813
17.9k
    if (yych == 'i') goto yy519;
5814
367
    goto yy48;
5815
3.41k
yy422:
5816
3.41k
    YYDEBUG(422, *YYCURSOR);
5817
3.41k
    yyaccept = 4;
5818
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
5819
3.41k
    if (yych == 'O') goto yy520;
5820
3.19k
    if (yych == 'o') goto yy520;
5821
291
    goto yy48;
5822
5.59k
yy423:
5823
5.59k
    YYDEBUG(423, *YYCURSOR);
5824
5.59k
    yyaccept = 4;
5825
5.59k
    yych = *(YYMARKER = ++YYCURSOR);
5826
5.59k
    if (yych == 'I') goto yy521;
5827
5.32k
    if (yych == 'i') goto yy521;
5828
325
    goto yy48;
5829
6.16k
yy424:
5830
6.16k
    YYDEBUG(424, *YYCURSOR);
5831
6.16k
    yyaccept = 4;
5832
6.16k
    yych = *(YYMARKER = ++YYCURSOR);
5833
6.16k
    if (yych == 'R') goto yy522;
5834
5.87k
    if (yych == 'r') goto yy522;
5835
384
    goto yy48;
5836
7.51k
yy425:
5837
7.51k
    YYDEBUG(425, *YYCURSOR);
5838
7.51k
    yyaccept = 4;
5839
7.51k
    yych = *(YYMARKER = ++YYCURSOR);
5840
7.51k
    if (yych == 'I') goto yy523;
5841
7.15k
    if (yych == 'i') goto yy523;
5842
495
    goto yy48;
5843
3.86k
yy426:
5844
3.86k
    YYDEBUG(426, *YYCURSOR);
5845
3.86k
    yyaccept = 4;
5846
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
5847
3.86k
    if (yych == 'C') goto yy524;
5848
3.57k
    if (yych == 'c') goto yy524;
5849
324
    goto yy48;
5850
2.54k
yy427:
5851
2.54k
    YYDEBUG(427, *YYCURSOR);
5852
2.54k
    yyaccept = 4;
5853
2.54k
    yych = *(YYMARKER = ++YYCURSOR);
5854
2.54k
    if (yych == 'W') goto yy525;
5855
2.19k
    if (yych == 'w') goto yy525;
5856
316
    goto yy48;
5857
2.53k
yy428:
5858
2.53k
    YYDEBUG(428, *YYCURSOR);
5859
2.53k
    yyaccept = 4;
5860
2.53k
    yych = *(YYMARKER = ++YYCURSOR);
5861
2.53k
    if (yych == 'T') goto yy527;
5862
2.31k
    if (yych == 't') goto yy527;
5863
379
    goto yy48;
5864
3.68k
yy429:
5865
3.68k
    YYDEBUG(429, *YYCURSOR);
5866
3.68k
    yyaccept = 4;
5867
3.68k
    yych = *(YYMARKER = ++YYCURSOR);
5868
3.68k
    if (yych == 'T') goto yy529;
5869
3.46k
    if (yych == 't') goto yy529;
5870
497
    goto yy48;
5871
2.61k
yy430:
5872
2.61k
    YYDEBUG(430, *YYCURSOR);
5873
2.61k
    yyaccept = 4;
5874
2.61k
    yych = *(YYMARKER = ++YYCURSOR);
5875
2.61k
    if (yych == 'E') goto yy531;
5876
2.16k
    if (yych == 'e') goto yy531;
5877
284
    goto yy48;
5878
49.3k
yy431:
5879
49.3k
    YYDEBUG(431, *YYCURSOR);
5880
49.3k
    yyaccept = 4;
5881
49.3k
    yych = *(YYMARKER = ++YYCURSOR);
5882
49.3k
    if (yych == 'D') goto yy533;
5883
48.4k
    if (yych == 'd') goto yy533;
5884
841
    goto yy48;
5885
10.1k
yy432:
5886
10.1k
    YYDEBUG(432, *YYCURSOR);
5887
10.1k
    yyaccept = 4;
5888
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
5889
10.1k
    if (yych == 'A') goto yy535;
5890
9.46k
    if (yych == 'a') goto yy535;
5891
1.00k
    goto yy48;
5892
3.94k
yy433:
5893
3.94k
    YYDEBUG(433, *YYCURSOR);
5894
3.94k
    yyaccept = 4;
5895
3.94k
    yych = *(YYMARKER = ++YYCURSOR);
5896
3.94k
    if (yych == 'R') goto yy536;
5897
3.61k
    if (yych == 'r') goto yy536;
5898
648
    goto yy48;
5899
2.28k
yy434:
5900
2.28k
    YYDEBUG(434, *YYCURSOR);
5901
2.28k
    yyaccept = 4;
5902
2.28k
    yych = *(YYMARKER = ++YYCURSOR);
5903
2.28k
    if (yych == 'L') goto yy537;
5904
2.02k
    if (yych == 'l') goto yy537;
5905
359
    goto yy48;
5906
4.43k
yy435:
5907
4.43k
    YYDEBUG(435, *YYCURSOR);
5908
4.43k
    yyaccept = 4;
5909
4.43k
    yych = *(YYMARKER = ++YYCURSOR);
5910
4.43k
    if (yych == 'N') goto yy538;
5911
4.01k
    if (yych == 'n') goto yy538;
5912
368
    goto yy48;
5913
3.91k
yy436:
5914
3.91k
    YYDEBUG(436, *YYCURSOR);
5915
3.91k
    yyaccept = 4;
5916
3.91k
    yych = *(YYMARKER = ++YYCURSOR);
5917
3.91k
    if (yych == 'L') goto yy539;
5918
2.62k
    if (yych == 'l') goto yy539;
5919
248
    goto yy48;
5920
2.38k
yy437:
5921
2.38k
    YYDEBUG(437, *YYCURSOR);
5922
2.38k
    yyaccept = 4;
5923
2.38k
    yych = *(YYMARKER = ++YYCURSOR);
5924
2.38k
    if (yych == 'N') goto yy540;
5925
1.59k
    if (yych == 'n') goto yy540;
5926
279
    goto yy48;
5927
4.55k
yy438:
5928
4.55k
    YYDEBUG(438, *YYCURSOR);
5929
4.55k
    yyaccept = 4;
5930
4.55k
    yych = *(YYMARKER = ++YYCURSOR);
5931
4.55k
    if (yych == 'T') goto yy541;
5932
3.93k
    if (yych == 't') goto yy541;
5933
406
    goto yy48;
5934
4.96k
yy439:
5935
4.96k
    YYDEBUG(439, *YYCURSOR);
5936
4.96k
    yyaccept = 4;
5937
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
5938
4.96k
    if (yych == 'M') goto yy542;
5939
3.75k
    if (yych == 'm') goto yy542;
5940
523
    goto yy48;
5941
4.29k
yy440:
5942
4.29k
    YYDEBUG(440, *YYCURSOR);
5943
4.29k
    yyaccept = 4;
5944
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
5945
4.29k
    if (yych == 'O') goto yy543;
5946
1.18k
    if (yych == 'o') goto yy543;
5947
277
    goto yy48;
5948
5.17k
yy441:
5949
5.17k
    YYDEBUG(441, *YYCURSOR);
5950
5.17k
    yyaccept = 4;
5951
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
5952
5.17k
    if (yych == 'A') goto yy544;
5953
4.94k
    if (yych == 'a') goto yy544;
5954
1.04k
    goto yy48;
5955
2.97k
yy442:
5956
2.97k
    YYDEBUG(442, *YYCURSOR);
5957
2.97k
    ++YYCURSOR;
5958
2.97k
    YYFILL(1);
5959
2.97k
    yych = *YYCURSOR;
5960
2.97k
    if (yych <= '\f') {
5961
611
      if (yych <= 0x00) goto yy86;
5962
409
      if (yych == '\n') goto yy84;
5963
202
      goto yy225;
5964
2.36k
    } else {
5965
2.36k
      if (yych <= '\r') goto yy84;
5966
2.16k
      if (yych == '.') goto yy352;
5967
1.96k
      goto yy225;
5968
2.16k
    }
5969
96.1k
yy443:
5970
96.1k
    YYDEBUG(443, *YYCURSOR);
5971
96.1k
    ++YYCURSOR;
5972
96.1k
    YYFILL(1);
5973
96.1k
    yych = *YYCURSOR;
5974
96.1k
    YYDEBUG(444, *YYCURSOR);
5975
96.1k
    if (yybm[0+yych] & 128) {
5976
65.7k
      goto yy443;
5977
65.7k
    }
5978
30.4k
    if (yych <= 0x00) goto yy86;
5979
27.7k
    if (yych <= '\r') goto yy545;
5980
3.75k
    goto yy547;
5981
3.78k
yy445:
5982
3.78k
    YYDEBUG(445, *YYCURSOR);
5983
3.78k
    yych = *++YYCURSOR;
5984
3.78k
    if (yych == 'Y') goto yy549;
5985
3.53k
    if (yych == 'y') goto yy549;
5986
332
    goto yy86;
5987
1.88k
yy446:
5988
1.88k
    YYDEBUG(446, *YYCURSOR);
5989
1.88k
    yych = *++YYCURSOR;
5990
1.88k
    if (yych == 'R') goto yy551;
5991
1.67k
    if (yych == 'r') goto yy551;
5992
261
    goto yy86;
5993
3.14k
yy447:
5994
3.14k
    YYDEBUG(447, *YYCURSOR);
5995
3.14k
    yych = *++YYCURSOR;
5996
3.14k
    if (yych == 'E') goto yy556;
5997
2.34k
    if (yych == 'e') goto yy556;
5998
1.27k
    goto yy553;
5999
1.98k
yy448:
6000
1.98k
    YYDEBUG(448, *YYCURSOR);
6001
1.98k
    yych = *++YYCURSOR;
6002
1.98k
    if (yych == 'L') goto yy557;
6003
1.71k
    if (yych == 'l') goto yy557;
6004
476
    goto yy86;
6005
2.52k
yy449:
6006
2.52k
    YYDEBUG(449, *YYCURSOR);
6007
2.52k
    yych = *++YYCURSOR;
6008
2.52k
    if (yych == 'T') goto yy558;
6009
2.32k
    if (yych == 't') goto yy558;
6010
219
    goto yy86;
6011
2.09k
yy450:
6012
2.09k
    YYDEBUG(450, *YYCURSOR);
6013
2.09k
    ++YYCURSOR;
6014
2.09k
    YYFILL(1);
6015
2.09k
    yych = *YYCURSOR;
6016
4.78k
yy451:
6017
4.78k
    YYDEBUG(451, *YYCURSOR);
6018
4.78k
    if (yych <= 0x1F) {
6019
1.76k
      if (yych == '\t') goto yy450;
6020
266
      goto yy86;
6021
3.02k
    } else {
6022
3.02k
      if (yych <= ' ') goto yy450;
6023
2.42k
      if (yych != ')') goto yy86;
6024
2.42k
    }
6025
886
    YYDEBUG(452, *YYCURSOR);
6026
886
    ++YYCURSOR;
6027
886
    YYDEBUG(453, *YYCURSOR);
6028
886
    yyleng = YYCURSOR - SCNG(yy_text);
6029
886
#line 1638 "Zend/zend_language_scanner.l"
6030
886
    {
6031
886
  RETURN_TOKEN(T_INT_CAST);
6032
886
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
2.87k
yy454:
6035
2.87k
    YYDEBUG(454, *YYCURSOR);
6036
2.87k
    yych = *++YYCURSOR;
6037
2.87k
    if (yych == 'G') goto yy560;
6038
2.67k
    if (yych == 'g') goto yy560;
6039
1.19k
    goto yy86;
6040
1.74k
yy455:
6041
1.74k
    YYDEBUG(455, *YYCURSOR);
6042
1.74k
    yych = *++YYCURSOR;
6043
1.74k
    if (yych == 'C') goto yy561;
6044
1.50k
    if (yych == 'c') goto yy561;
6045
307
    goto yy86;
6046
1.54k
yy456:
6047
1.54k
    YYDEBUG(456, *YYCURSOR);
6048
1.54k
    ++YYCURSOR;
6049
1.54k
    YYFILL(1);
6050
1.54k
    yych = *YYCURSOR;
6051
1.54k
    YYDEBUG(457, *YYCURSOR);
6052
1.54k
    if (yych <= 0x1F) {
6053
564
      if (yych == '\t') goto yy456;
6054
335
      goto yy86;
6055
984
    } else {
6056
984
      if (yych <= ' ') goto yy456;
6057
786
      if (yych == ')') goto yy562;
6058
530
      goto yy86;
6059
786
    }
6060
3.54k
yy458:
6061
3.54k
    YYDEBUG(458, *YYCURSOR);
6062
3.54k
    yych = *++YYCURSOR;
6063
3.54k
    if (yych == 'N') goto yy564;
6064
3.34k
    if (yych == 'n') goto yy564;
6065
881
    goto yy86;
6066
1.66k
yy459:
6067
1.66k
    YYDEBUG(459, *YYCURSOR);
6068
1.66k
    yych = *++YYCURSOR;
6069
1.66k
    if (yych == 'T') goto yy565;
6070
1.45k
    if (yych == 't') goto yy565;
6071
417
    goto yy86;
6072
2.02k
yy460:
6073
2.02k
    YYDEBUG(460, *YYCURSOR);
6074
2.02k
    ++YYCURSOR;
6075
2.02k
    YYFILL(1);
6076
2.02k
    yych = *YYCURSOR;
6077
2.02k
    YYDEBUG(461, *YYCURSOR);
6078
2.02k
    if (yych <= 0x1F) {
6079
829
      if (yych == '\t') goto yy460;
6080
351
      goto yy86;
6081
1.19k
    } else {
6082
1.19k
      if (yych <= ' ') goto yy460;
6083
983
      if (yych == ')') goto yy567;
6084
375
      goto yy86;
6085
983
    }
6086
2.54k
yy462:
6087
2.54k
    YYDEBUG(462, *YYCURSOR);
6088
2.54k
    ++YYCURSOR;
6089
2.54k
    YYFILL(3);
6090
2.54k
    yych = *YYCURSOR;
6091
4.52k
yy463:
6092
4.52k
    YYDEBUG(463, *YYCURSOR);
6093
4.52k
    if (yych <= 'Z') {
6094
2.07k
      if (yych <= '/') {
6095
1.25k
        if (yych == '"') goto yy569;
6096
979
        goto yy86;
6097
1.25k
      } else {
6098
821
        if (yych <= '9') goto yy462;
6099
547
        if (yych <= '@') goto yy86;
6100
235
        goto yy462;
6101
547
      }
6102
2.44k
    } else {
6103
2.44k
      if (yych <= '`') {
6104
406
        if (yych == '_') goto yy462;
6105
202
        goto yy86;
6106
2.03k
      } else {
6107
2.03k
        if (yych <= 'z') goto yy462;
6108
664
        if (yych <= 0x7F) goto yy86;
6109
459
        goto yy462;
6110
664
      }
6111
2.44k
    }
6112
8.35k
yy464:
6113
8.35k
    YYDEBUG(464, *YYCURSOR);
6114
8.35k
    ++YYCURSOR;
6115
8.35k
    YYFILL(3);
6116
8.35k
    yych = *YYCURSOR;
6117
12.9k
yy465:
6118
12.9k
    YYDEBUG(465, *YYCURSOR);
6119
12.9k
    if (yych <= 'Z') {
6120
6.68k
      if (yych <= '/') {
6121
3.93k
        if (yych == '\'') goto yy569;
6122
392
        goto yy86;
6123
3.93k
      } else {
6124
2.74k
        if (yych <= '9') goto yy464;
6125
2.19k
        if (yych <= '@') goto yy86;
6126
1.93k
        goto yy464;
6127
2.19k
      }
6128
6.68k
    } else {
6129
6.26k
      if (yych <= '`') {
6130
452
        if (yych == '_') goto yy464;
6131
199
        goto yy86;
6132
5.81k
      } else {
6133
5.81k
        if (yych <= 'z') goto yy464;
6134
4.05k
        if (yych <= 0x7F) goto yy86;
6135
3.85k
        goto yy464;
6136
4.05k
      }
6137
6.26k
    }
6138
1.50M
yy466:
6139
1.50M
    YYDEBUG(466, *YYCURSOR);
6140
1.50M
    ++YYCURSOR;
6141
1.50M
yy467:
6142
1.50M
    YYDEBUG(467, *YYCURSOR);
6143
1.50M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
1.50M
#line 2678 "Zend/zend_language_scanner.l"
6145
1.50M
    {
6146
1.50M
  char *s;
6147
1.50M
  unsigned char *saved_cursor;
6148
1.50M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
1.50M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
1.50M
  bool is_heredoc = 1;
6151
6152
1.50M
  CG(zend_lineno)++;
6153
1.50M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
1.50M
  s = yytext+bprefix+3;
6155
1.50M
  while ((*s == ' ') || (*s == '\t')) {
6156
1.33k
    s++;
6157
1.33k
    heredoc_label->length--;
6158
1.33k
  }
6159
6160
1.50M
  if (*s == '\'') {
6161
3.34k
    s++;
6162
3.34k
    heredoc_label->length -= 2;
6163
3.34k
    is_heredoc = 0;
6164
6165
3.34k
    BEGIN(ST_NOWDOC);
6166
1.50M
  } else {
6167
1.50M
    if (*s == '"') {
6168
259
      s++;
6169
259
      heredoc_label->length -= 2;
6170
259
    }
6171
6172
1.50M
    BEGIN(ST_HEREDOC);
6173
1.50M
  }
6174
6175
1.50M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
1.50M
  heredoc_label->indentation_uses_spaces = 0;
6177
1.50M
  heredoc_label->indentation = 0;
6178
1.50M
  saved_cursor = YYCURSOR;
6179
6180
1.50M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
1.54M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
34.6k
    if (*YYCURSOR == '\t') {
6184
33.1k
      spacing |= HEREDOC_USING_TABS;
6185
33.1k
    } else {
6186
1.48k
      spacing |= HEREDOC_USING_SPACES;
6187
1.48k
    }
6188
34.6k
    ++YYCURSOR;
6189
34.6k
    ++indentation;
6190
34.6k
  }
6191
6192
1.50M
  if (YYCURSOR == YYLIMIT) {
6193
779
    YYCURSOR = saved_cursor;
6194
779
    RETURN_TOKEN(T_START_HEREDOC);
6195
779
  }
6196
6197
  /* Check for ending label on the next line */
6198
1.50M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
3.18k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
1.34k
      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
7
          RETURN_TOKEN(T_ERROR);
6204
7
        }
6205
73
      }
6206
6207
1.33k
      YYCURSOR = saved_cursor;
6208
1.33k
      heredoc_label->indentation = indentation;
6209
6210
1.33k
      BEGIN(ST_END_HEREDOC);
6211
1.33k
      RETURN_TOKEN(T_START_HEREDOC);
6212
1.33k
    }
6213
3.18k
  }
6214
6215
1.50M
  YYCURSOR = saved_cursor;
6216
6217
1.50M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
102k
    zend_lex_state current_state;
6219
102k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
102k
    int heredoc_nesting_level = 1;
6221
102k
    int first_token = 0;
6222
102k
    int error = 0;
6223
6224
102k
    zend_save_lexical_state(&current_state);
6225
6226
102k
    SCNG(heredoc_scan_ahead) = 1;
6227
102k
    SCNG(heredoc_indentation) = 0;
6228
102k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
102k
    SCNG(on_event_context) = NULL;
6230
102k
    LANG_SCNG(on_event) = NULL;
6231
102k
    CG(doc_comment) = NULL;
6232
6233
102k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
102k
    zend_object *prev_exception = EG(exception);
6236
102k
    EG(exception) = NULL;
6237
6.61M
    while (heredoc_nesting_level) {
6238
6.61M
      zval zv;
6239
6.61M
      int retval;
6240
6241
6.61M
      ZVAL_UNDEF(&zv);
6242
6.61M
      retval = lex_scan(&zv, NULL);
6243
6.61M
      zval_ptr_dtor_nogc(&zv);
6244
6245
6.61M
      if (EG(exception)) {
6246
99.3k
        zend_clear_exception();
6247
99.3k
        break;
6248
99.3k
      }
6249
6250
6.51M
      if (!first_token) {
6251
102k
        first_token = retval;
6252
102k
      }
6253
6254
6.51M
      switch (retval) {
6255
1.40M
        case T_START_HEREDOC:
6256
1.40M
          ++heredoc_nesting_level;
6257
1.40M
          break;
6258
5.17k
        case T_END_HEREDOC:
6259
5.17k
          --heredoc_nesting_level;
6260
5.17k
          break;
6261
1.21k
        case END:
6262
1.21k
          heredoc_nesting_level = 0;
6263
6.51M
      }
6264
6.51M
    }
6265
102k
    EG(exception) = prev_exception;
6266
6267
102k
    if (
6268
102k
        (first_token == T_VARIABLE
6269
98.8k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6270
19.0k
         || first_token == T_CURLY_OPEN
6271
102k
        ) && SCNG(heredoc_indentation)) {
6272
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));
6273
1
      error = 1;
6274
1
    }
6275
6276
102k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6277
102k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6278
6279
102k
    zend_restore_lexical_state(&current_state);
6280
102k
    SCNG(heredoc_scan_ahead) = 0;
6281
102k
    CG(increment_lineno) = 0;
6282
102k
    CG(doc_comment) = saved_doc_comment;
6283
6284
102k
    if (PARSER_MODE() && error) {
6285
1
      RETURN_TOKEN(T_ERROR);
6286
1
    }
6287
102k
  }
6288
6289
1.50M
  RETURN_TOKEN(T_START_HEREDOC);
6290
1.50M
}
6291
0
#line 6292 "Zend/zend_language_scanner.c"
6292
4.46k
yy468:
6293
4.46k
    YYDEBUG(468, *YYCURSOR);
6294
4.46k
    yych = *++YYCURSOR;
6295
4.46k
    if (yych == '\n') goto yy466;
6296
4.01k
    goto yy467;
6297
4.01k
yy469:
6298
3.36k
    YYDEBUG(469, *YYCURSOR);
6299
3.36k
    yyaccept = 4;
6300
3.36k
    yych = *(YYMARKER = ++YYCURSOR);
6301
3.36k
    if (yych == 'A') goto yy570;
6302
3.04k
    if (yych == 'a') goto yy570;
6303
337
    goto yy48;
6304
7.08k
yy470:
6305
7.08k
    YYDEBUG(470, *YYCURSOR);
6306
7.08k
    yyaccept = 34;
6307
7.08k
    yych = *(YYMARKER = ++YYCURSOR);
6308
7.08k
    if (yybm[256+yych] & 128) {
6309
3.49k
      goto yy47;
6310
3.49k
    }
6311
3.58k
    if (yych == '\\') goto yy164;
6312
3.55k
yy471:
6313
3.55k
    YYDEBUG(471, *YYCURSOR);
6314
3.55k
    yyleng = YYCURSOR - SCNG(yy_text);
6315
3.55k
#line 1818 "Zend/zend_language_scanner.l"
6316
3.55k
    {
6317
3.55k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6318
3.55k
}
6319
0
#line 6320 "Zend/zend_language_scanner.c"
6320
1.68k
yy472:
6321
1.68k
    YYDEBUG(472, *YYCURSOR);
6322
1.68k
    yyaccept = 35;
6323
1.68k
    yych = *(YYMARKER = ++YYCURSOR);
6324
1.68k
    if (yybm[256+yych] & 128) {
6325
303
      goto yy47;
6326
303
    }
6327
1.37k
    if (yych == '\\') goto yy164;
6328
1.37k
yy473:
6329
1.37k
    YYDEBUG(473, *YYCURSOR);
6330
1.37k
    yyleng = YYCURSOR - SCNG(yy_text);
6331
1.37k
#line 1534 "Zend/zend_language_scanner.l"
6332
1.37k
    {
6333
1.37k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6334
1.37k
}
6335
0
#line 6336 "Zend/zend_language_scanner.c"
6336
2.13k
yy474:
6337
2.13k
    YYDEBUG(474, *YYCURSOR);
6338
2.13k
    yyaccept = 4;
6339
2.13k
    yych = *(YYMARKER = ++YYCURSOR);
6340
2.13k
    if (yych == 'B') goto yy571;
6341
1.36k
    if (yych == 'b') goto yy571;
6342
247
    goto yy48;
6343
3.14k
yy475:
6344
3.14k
    YYDEBUG(475, *YYCURSOR);
6345
3.14k
    yyaccept = 36;
6346
3.14k
    yych = *(YYMARKER = ++YYCURSOR);
6347
3.14k
    if (yybm[256+yych] & 128) {
6348
465
      goto yy47;
6349
465
    }
6350
2.67k
    if (yych == '\\') goto yy164;
6351
2.52k
yy476:
6352
2.52k
    YYDEBUG(476, *YYCURSOR);
6353
2.52k
    yyleng = YYCURSOR - SCNG(yy_text);
6354
2.52k
#line 1442 "Zend/zend_language_scanner.l"
6355
2.52k
    {
6356
2.52k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6357
2.52k
}
6358
0
#line 6359 "Zend/zend_language_scanner.c"
6359
26.2k
yy477:
6360
26.2k
    YYDEBUG(477, *YYCURSOR);
6361
26.2k
    yyaccept = 37;
6362
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
6363
26.2k
    if (yybm[256+yych] & 128) {
6364
787
      goto yy47;
6365
787
    }
6366
25.4k
    if (yych == '\\') goto yy164;
6367
25.4k
yy478:
6368
25.4k
    YYDEBUG(478, *YYCURSOR);
6369
25.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6370
25.4k
#line 1554 "Zend/zend_language_scanner.l"
6371
25.4k
    {
6372
25.4k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6373
25.4k
}
6374
0
#line 6375 "Zend/zend_language_scanner.c"
6375
2.74k
yy479:
6376
2.74k
    YYDEBUG(479, *YYCURSOR);
6377
2.74k
    yyaccept = 38;
6378
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
6379
2.74k
    if (yybm[256+yych] & 128) {
6380
435
      goto yy47;
6381
435
    }
6382
2.30k
    if (yych == '\\') goto yy164;
6383
2.30k
yy480:
6384
2.30k
    YYDEBUG(480, *YYCURSOR);
6385
2.30k
    yyleng = YYCURSOR - SCNG(yy_text);
6386
2.30k
#line 1630 "Zend/zend_language_scanner.l"
6387
2.30k
    {
6388
2.30k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6389
2.30k
}
6390
0
#line 6391 "Zend/zend_language_scanner.c"
6391
8.24k
yy481:
6392
8.24k
    YYDEBUG(481, *YYCURSOR);
6393
8.24k
    yyaccept = 39;
6394
8.24k
    yych = *(YYMARKER = ++YYCURSOR);
6395
8.24k
    if (yybm[256+yych] & 128) {
6396
718
      goto yy47;
6397
718
    }
6398
7.52k
    if (yych == '\\') goto yy164;
6399
7.51k
yy482:
6400
7.51k
    YYDEBUG(482, *YYCURSOR);
6401
7.51k
    yyleng = YYCURSOR - SCNG(yy_text);
6402
7.51k
#line 1415 "Zend/zend_language_scanner.l"
6403
7.51k
    {
6404
7.51k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6405
7.51k
}
6406
0
#line 6407 "Zend/zend_language_scanner.c"
6407
3.08k
yy483:
6408
3.08k
    YYDEBUG(483, *YYCURSOR);
6409
3.08k
    yyaccept = 4;
6410
3.08k
    yych = *(YYMARKER = ++YYCURSOR);
6411
3.08k
    if (yych == 'N') goto yy572;
6412
2.51k
    if (yych == 'n') goto yy572;
6413
415
    goto yy48;
6414
5.81k
yy484:
6415
5.81k
    YYDEBUG(484, *YYCURSOR);
6416
5.81k
    yyaccept = 4;
6417
5.81k
    yych = *(YYMARKER = ++YYCURSOR);
6418
5.81k
    if (yych == 'R') goto yy573;
6419
5.58k
    if (yych == 'r') goto yy573;
6420
872
    goto yy48;
6421
2.70k
yy485:
6422
2.70k
    YYDEBUG(485, *YYCURSOR);
6423
2.70k
    yyaccept = 4;
6424
2.70k
    yych = *(YYMARKER = ++YYCURSOR);
6425
2.70k
    if (yych == 'L') goto yy574;
6426
2.47k
    if (yych == 'l') goto yy574;
6427
394
    goto yy48;
6428
2.81k
yy486:
6429
2.81k
    YYDEBUG(486, *YYCURSOR);
6430
2.81k
    yyaccept = 4;
6431
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
6432
2.81k
    if (yych == 'F') goto yy575;
6433
2.61k
    if (yych == 'f') goto yy575;
6434
315
    goto yy48;
6435
1.46k
yy487:
6436
1.46k
    YYDEBUG(487, *YYCURSOR);
6437
1.46k
    yyaccept = 40;
6438
1.46k
    yych = *(YYMARKER = ++YYCURSOR);
6439
1.46k
    if (yybm[256+yych] & 128) {
6440
406
      goto yy47;
6441
406
    }
6442
1.05k
    if (yych == '\\') goto yy164;
6443
1.05k
yy488:
6444
1.05k
    YYDEBUG(488, *YYCURSOR);
6445
1.05k
    yyleng = YYCURSOR - SCNG(yy_text);
6446
1.05k
#line 1758 "Zend/zend_language_scanner.l"
6447
1.05k
    {
6448
1.05k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6449
1.05k
}
6450
0
#line 6451 "Zend/zend_language_scanner.c"
6451
3.52k
yy489:
6452
3.52k
    YYDEBUG(489, *YYCURSOR);
6453
3.52k
    yyaccept = 4;
6454
3.52k
    yych = *(YYMARKER = ++YYCURSOR);
6455
3.52k
    if (yych == 'C') goto yy577;
6456
2.33k
    if (yych == 'c') goto yy577;
6457
458
    goto yy48;
6458
5.18k
yy490:
6459
5.18k
    YYDEBUG(490, *YYCURSOR);
6460
5.18k
    yyaccept = 4;
6461
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
6462
5.18k
    if (yych == 'R') goto yy578;
6463
4.37k
    if (yych == 'r') goto yy578;
6464
333
    goto yy48;
6465
1.37k
yy491:
6466
1.37k
    YYDEBUG(491, *YYCURSOR);
6467
1.37k
    yyaccept = 41;
6468
1.37k
    yych = *(YYMARKER = ++YYCURSOR);
6469
1.37k
    if (yybm[256+yych] & 128) {
6470
414
      goto yy47;
6471
414
    }
6472
963
    if (yych == '\\') goto yy164;
6473
939
yy492:
6474
939
    YYDEBUG(492, *YYCURSOR);
6475
939
    yyleng = YYCURSOR - SCNG(yy_text);
6476
939
#line 1462 "Zend/zend_language_scanner.l"
6477
939
    {
6478
939
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6479
939
}
6480
0
#line 6481 "Zend/zend_language_scanner.c"
6481
2.22k
yy493:
6482
2.22k
    YYDEBUG(493, *YYCURSOR);
6483
2.22k
    yyaccept = 4;
6484
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
6485
2.22k
    if (yych == 'I') goto yy580;
6486
1.50k
    if (yych == 'i') goto yy580;
6487
208
    goto yy48;
6488
2.39k
yy494:
6489
2.39k
    YYDEBUG(494, *YYCURSOR);
6490
2.39k
    yyaccept = 4;
6491
2.39k
    yych = *(YYMARKER = ++YYCURSOR);
6492
2.39k
    if (yych == 'I') goto yy581;
6493
2.20k
    if (yych == 'i') goto yy581;
6494
597
    goto yy48;
6495
383k
yy495:
6496
383k
    YYDEBUG(495, *YYCURSOR);
6497
383k
    ++YYCURSOR;
6498
383k
    YYFILL(10);
6499
383k
    yych = *YYCURSOR;
6500
383k
    YYDEBUG(496, *YYCURSOR);
6501
383k
    if (yych <= 'E') {
6502
368k
      if (yych <= ' ') {
6503
20.5k
        if (yych <= '\f') {
6504
7.69k
          if (yych <= 0x08) goto yy86;
6505
5.04k
          if (yych <= '\n') goto yy495;
6506
242
          goto yy86;
6507
12.8k
        } else {
6508
12.8k
          if (yych <= '\r') goto yy495;
6509
1.65k
          if (yych <= 0x1F) goto yy86;
6510
1.27k
          goto yy495;
6511
1.65k
        }
6512
347k
      } else {
6513
347k
        if (yych <= '.') {
6514
344k
          if (yych != '#') goto yy86;
6515
344k
        } else {
6516
3.55k
          if (yych <= '/') goto yy498;
6517
1.43k
          if (yych <= '@') goto yy86;
6518
781
          if (yych <= 'D') goto yy582;
6519
353
          goto yy584;
6520
781
        }
6521
347k
      }
6522
368k
    } else {
6523
15.6k
      if (yych <= '`') {
6524
4.49k
        if (yych <= 'Z') {
6525
2.37k
          if (yych == 'I') goto yy585;
6526
957
          goto yy582;
6527
2.37k
        } else {
6528
2.12k
          if (yych == '_') goto yy582;
6529
200
          goto yy86;
6530
2.12k
        }
6531
11.1k
      } else {
6532
11.1k
        if (yych <= 'h') {
6533
4.52k
          if (yych == 'e') goto yy584;
6534
656
          goto yy582;
6535
6.63k
        } else {
6536
6.63k
          if (yych <= 'i') goto yy585;
6537
4.71k
          if (yych <= 'z') goto yy582;
6538
1.42k
          if (yych <= 0x7F) goto yy86;
6539
1.16k
          goto yy582;
6540
1.42k
        }
6541
11.1k
      }
6542
15.6k
    }
6543
348k
yy497:
6544
348k
    YYDEBUG(497, *YYCURSOR);
6545
348k
    ++YYCURSOR;
6546
348k
    YYFILL(1);
6547
348k
    yych = *YYCURSOR;
6548
348k
    if (yych <= '\f') {
6549
290k
      if (yych <= 0x00) goto yy86;
6550
290k
      if (yych == '\n') goto yy588;
6551
3.44k
      goto yy586;
6552
290k
    } else {
6553
58.0k
      if (yych <= '\r') goto yy588;
6554
17.6k
      if (yych == '[') goto yy86;
6555
17.3k
      goto yy586;
6556
17.6k
    }
6557
2.37k
yy498:
6558
2.37k
    YYDEBUG(498, *YYCURSOR);
6559
2.37k
    ++YYCURSOR;
6560
2.37k
    YYFILL(1);
6561
2.37k
    yych = *YYCURSOR;
6562
2.37k
    if (yych == '*') goto yy590;
6563
1.43k
    if (yych == '/') goto yy586;
6564
872
    goto yy86;
6565
11.9k
yy499:
6566
11.9k
    YYDEBUG(499, *YYCURSOR);
6567
11.9k
    yyaccept = 4;
6568
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
6569
11.9k
    if (yych == 'D') goto yy592;
6570
11.4k
    if (yych == 'd') goto yy592;
6571
955
    goto yy48;
6572
7.87k
yy500:
6573
7.87k
    YYDEBUG(500, *YYCURSOR);
6574
7.87k
    yyaccept = 42;
6575
7.87k
    yych = *(YYMARKER = ++YYCURSOR);
6576
7.87k
    if (yych <= '\\') {
6577
3.74k
      if (yych <= 'K') {
6578
2.85k
        if (yych <= '/') goto yy501;
6579
1.78k
        if (yych <= '9') goto yy47;
6580
1.06k
        if (yych >= 'A') goto yy47;
6581
1.06k
      } else {
6582
885
        if (yych <= 'L') goto yy593;
6583
664
        if (yych <= 'Z') goto yy47;
6584
450
        if (yych >= '\\') goto yy164;
6585
450
      }
6586
4.13k
    } else {
6587
4.13k
      if (yych <= 'k') {
6588
664
        if (yych == '_') goto yy47;
6589
468
        if (yych >= 'a') goto yy47;
6590
3.46k
      } else {
6591
3.46k
        if (yych <= 'l') goto yy593;
6592
735
        if (yych <= 'z') goto yy47;
6593
429
        if (yych >= 0x80) goto yy47;
6594
429
      }
6595
4.13k
    }
6596
2.76k
yy501:
6597
2.76k
    YYDEBUG(501, *YYCURSOR);
6598
2.76k
    yyleng = YYCURSOR - SCNG(yy_text);
6599
2.76k
#line 1774 "Zend/zend_language_scanner.l"
6600
2.76k
    {
6601
2.76k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6602
2.76k
}
6603
0
#line 6604 "Zend/zend_language_scanner.c"
6604
4.56k
yy502:
6605
4.56k
    YYDEBUG(502, *YYCURSOR);
6606
4.56k
    yyaccept = 4;
6607
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
6608
4.56k
    if (yych == 'C') goto yy594;
6609
4.36k
    if (yych == 'c') goto yy594;
6610
424
    goto yy48;
6611
30.2k
yy503:
6612
30.2k
    YYDEBUG(503, *YYCURSOR);
6613
30.2k
    yyaccept = 4;
6614
30.2k
    yych = *(YYMARKER = ++YYCURSOR);
6615
30.2k
    if (yych == 'I') goto yy595;
6616
29.8k
    if (yych == 'i') goto yy595;
6617
288
    goto yy48;
6618
1.92k
yy504:
6619
1.92k
    YYDEBUG(504, *YYCURSOR);
6620
1.92k
    yyaccept = 4;
6621
1.92k
    yych = *(YYMARKER = ++YYCURSOR);
6622
1.92k
    if (yych == 'L') goto yy596;
6623
1.12k
    if (yych == 'l') goto yy596;
6624
216
    goto yy48;
6625
6.13k
yy505:
6626
6.13k
    YYDEBUG(505, *YYCURSOR);
6627
6.13k
    yyaccept = 4;
6628
6.13k
    yych = *(YYMARKER = ++YYCURSOR);
6629
6.13k
    if (yych == 'M') goto yy598;
6630
5.22k
    if (yych == 'm') goto yy598;
6631
1.02k
    goto yy48;
6632
6.83k
yy506:
6633
6.83k
    YYDEBUG(506, *YYCURSOR);
6634
6.83k
    yyaccept = 4;
6635
6.83k
    yych = *(YYMARKER = ++YYCURSOR);
6636
6.83k
    if (yych == 'D') goto yy599;
6637
5.38k
    if (yych == 'd') goto yy599;
6638
458
    goto yy48;
6639
2.93k
yy507:
6640
2.93k
    YYDEBUG(507, *YYCURSOR);
6641
2.93k
    yyaccept = 4;
6642
2.93k
    yych = *(YYMARKER = ++YYCURSOR);
6643
2.93k
    if (yych == 'N') goto yy600;
6644
2.59k
    if (yych == 'n') goto yy600;
6645
343
    goto yy48;
6646
3.41k
yy508:
6647
3.41k
    YYDEBUG(508, *YYCURSOR);
6648
3.41k
    yyaccept = 4;
6649
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
6650
3.41k
    if (yych == 'A') goto yy601;
6651
2.95k
    if (yych == 'a') goto yy601;
6652
233
    goto yy48;
6653
4.27k
yy509:
6654
4.27k
    YYDEBUG(509, *YYCURSOR);
6655
4.27k
    yyaccept = 4;
6656
4.27k
    yych = *(YYMARKER = ++YYCURSOR);
6657
4.27k
    if (yych == 'F') goto yy602;
6658
3.86k
    if (yych == 'f') goto yy602;
6659
774
    goto yy48;
6660
2.78k
yy510:
6661
2.78k
    YYDEBUG(510, *YYCURSOR);
6662
2.78k
    yyaccept = 43;
6663
2.78k
    yych = *(YYMARKER = ++YYCURSOR);
6664
2.78k
    if (yybm[256+yych] & 128) {
6665
584
      goto yy47;
6666
584
    }
6667
2.20k
    if (yych == '\\') goto yy164;
6668
2.20k
yy511:
6669
2.20k
    YYDEBUG(511, *YYCURSOR);
6670
2.20k
    yyleng = YYCURSOR - SCNG(yy_text);
6671
2.20k
#line 1754 "Zend/zend_language_scanner.l"
6672
2.20k
    {
6673
2.20k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6674
2.20k
}
6675
0
#line 6676 "Zend/zend_language_scanner.c"
6676
3.25k
yy512:
6677
3.25k
    YYDEBUG(512, *YYCURSOR);
6678
3.25k
    yyaccept = 44;
6679
3.25k
    yych = *(YYMARKER = ++YYCURSOR);
6680
3.25k
    if (yybm[256+yych] & 128) {
6681
441
      goto yy47;
6682
441
    }
6683
2.81k
    if (yych == '\\') goto yy164;
6684
2.80k
yy513:
6685
2.80k
    YYDEBUG(513, *YYCURSOR);
6686
2.80k
    yyleng = YYCURSOR - SCNG(yy_text);
6687
2.80k
#line 1518 "Zend/zend_language_scanner.l"
6688
2.80k
    {
6689
2.80k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6690
2.80k
}
6691
0
#line 6692 "Zend/zend_language_scanner.c"
6692
11.4k
yy514:
6693
11.4k
    YYDEBUG(514, *YYCURSOR);
6694
11.4k
    yyaccept = 4;
6695
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
6696
11.4k
    if (yych == 'P') goto yy603;
6697
10.2k
    if (yych == 'p') goto yy603;
6698
312
    goto yy48;
6699
3.86k
yy515:
6700
3.86k
    YYDEBUG(515, *YYCURSOR);
6701
3.86k
    yyaccept = 45;
6702
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
6703
3.86k
    if (yybm[256+yych] & 128) {
6704
2.57k
      goto yy47;
6705
2.57k
    }
6706
1.29k
    if (yych == '\\') goto yy164;
6707
1.27k
yy516:
6708
1.27k
    YYDEBUG(516, *YYCURSOR);
6709
1.27k
    yyleng = YYCURSOR - SCNG(yy_text);
6710
1.27k
#line 1550 "Zend/zend_language_scanner.l"
6711
1.27k
    {
6712
1.27k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6713
1.27k
}
6714
0
#line 6715 "Zend/zend_language_scanner.c"
6715
4.89k
yy517:
6716
4.89k
    YYDEBUG(517, *YYCURSOR);
6717
4.89k
    yyaccept = 4;
6718
4.89k
    yych = *(YYMARKER = ++YYCURSOR);
6719
4.89k
    if (yych == 'T') goto yy604;
6720
4.42k
    if (yych == 't') goto yy604;
6721
308
    goto yy48;
6722
4.91k
yy518:
6723
4.91k
    YYDEBUG(518, *YYCURSOR);
6724
4.91k
    yyaccept = 4;
6725
4.91k
    yych = *(YYMARKER = ++YYCURSOR);
6726
4.91k
    if (yych == 'C') goto yy605;
6727
4.54k
    if (yych == 'c') goto yy605;
6728
615
    goto yy48;
6729
17.7k
yy519:
6730
17.7k
    YYDEBUG(519, *YYCURSOR);
6731
17.7k
    yyaccept = 4;
6732
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
6733
17.7k
    if (yych == 'C') goto yy606;
6734
17.2k
    if (yych == 'c') goto yy606;
6735
423
    goto yy48;
6736
3.12k
yy520:
6737
3.12k
    YYDEBUG(520, *YYCURSOR);
6738
3.12k
    yyaccept = 4;
6739
3.12k
    yych = *(YYMARKER = ++YYCURSOR);
6740
3.12k
    if (yych == 'N') goto yy608;
6741
2.79k
    if (yych == 'n') goto yy608;
6742
225
    goto yy48;
6743
5.26k
yy521:
6744
5.26k
    YYDEBUG(521, *YYCURSOR);
6745
5.26k
    yyaccept = 4;
6746
5.26k
    yych = *(YYMARKER = ++YYCURSOR);
6747
5.26k
    if (yych == 'R') goto yy609;
6748
4.84k
    if (yych == 'r') goto yy609;
6749
264
    goto yy48;
6750
5.78k
yy522:
6751
5.78k
    YYDEBUG(522, *YYCURSOR);
6752
5.78k
    yyaccept = 4;
6753
5.78k
    yych = *(YYMARKER = ++YYCURSOR);
6754
5.78k
    if (yych == 'N') goto yy610;
6755
5.58k
    if (yych == 'n') goto yy610;
6756
468
    goto yy48;
6757
7.02k
yy523:
6758
7.02k
    YYDEBUG(523, *YYCURSOR);
6759
7.02k
    yyaccept = 4;
6760
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
6761
7.02k
    if (yych == 'C') goto yy612;
6762
6.77k
    if (yych == 'c') goto yy612;
6763
471
    goto yy48;
6764
3.53k
yy524:
6765
3.53k
    YYDEBUG(524, *YYCURSOR);
6766
3.53k
    yyaccept = 4;
6767
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
6768
3.53k
    if (yych == 'H') goto yy614;
6769
3.34k
    if (yych == 'h') goto yy614;
6770
540
    goto yy48;
6771
2.22k
yy525:
6772
2.22k
    YYDEBUG(525, *YYCURSOR);
6773
2.22k
    yyaccept = 46;
6774
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
6775
2.22k
    if (yybm[256+yych] & 128) {
6776
441
      goto yy47;
6777
441
    }
6778
1.78k
    if (yych == '\\') goto yy164;
6779
1.70k
yy526:
6780
1.70k
    YYDEBUG(526, *YYCURSOR);
6781
1.70k
    yyleng = YYCURSOR - SCNG(yy_text);
6782
1.70k
#line 1450 "Zend/zend_language_scanner.l"
6783
1.70k
    {
6784
1.70k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6785
1.70k
}
6786
0
#line 6787 "Zend/zend_language_scanner.c"
6787
2.15k
yy527:
6788
2.15k
    YYDEBUG(527, *YYCURSOR);
6789
2.15k
    yyaccept = 47;
6790
2.15k
    yych = *(YYMARKER = ++YYCURSOR);
6791
2.15k
    if (yybm[256+yych] & 128) {
6792
361
      goto yy47;
6793
361
    }
6794
1.79k
    if (yych == '\\') goto yy164;
6795
1.79k
yy528:
6796
1.79k
    YYDEBUG(528, *YYCURSOR);
6797
1.79k
    yyleng = YYCURSOR - SCNG(yy_text);
6798
1.79k
#line 1562 "Zend/zend_language_scanner.l"
6799
1.79k
    {
6800
1.79k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6801
1.79k
}
6802
0
#line 6803 "Zend/zend_language_scanner.c"
6803
3.18k
yy529:
6804
3.18k
    YYDEBUG(529, *YYCURSOR);
6805
3.18k
    yyaccept = 48;
6806
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
6807
3.18k
    if (yybm[256+yych] & 128) {
6808
562
      goto yy47;
6809
562
    }
6810
2.62k
    if (yych == '\\') goto yy164;
6811
2.49k
yy530:
6812
2.49k
    YYDEBUG(530, *YYCURSOR);
6813
2.49k
    yyleng = YYCURSOR - SCNG(yy_text);
6814
2.49k
#line 1806 "Zend/zend_language_scanner.l"
6815
2.49k
    {
6816
2.49k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6817
2.49k
}
6818
0
#line 6819 "Zend/zend_language_scanner.c"
6819
2.32k
yy531:
6820
2.32k
    YYDEBUG(531, *YYCURSOR);
6821
2.32k
    yyaccept = 49;
6822
2.32k
    yych = *(YYMARKER = ++YYCURSOR);
6823
2.32k
    if (yybm[256+yych] & 128) {
6824
446
      goto yy47;
6825
446
    }
6826
1.88k
    if (yych == '\\') goto yy164;
6827
1.87k
yy532:
6828
1.87k
    YYDEBUG(532, *YYCURSOR);
6829
1.87k
    yyleng = YYCURSOR - SCNG(yy_text);
6830
1.87k
#line 1470 "Zend/zend_language_scanner.l"
6831
1.87k
    {
6832
1.87k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6833
1.87k
}
6834
0
#line 6835 "Zend/zend_language_scanner.c"
6835
48.4k
yy533:
6836
48.4k
    YYDEBUG(533, *YYCURSOR);
6837
48.4k
    yyaccept = 50;
6838
48.4k
    yych = *(YYMARKER = ++YYCURSOR);
6839
48.4k
    if (yybm[256+yych] & 128) {
6840
637
      goto yy47;
6841
637
    }
6842
47.8k
    if (yych <= ' ') {
6843
29.2k
      if (yych <= '\f') {
6844
22.3k
        if (yych <= 0x08) goto yy534;
6845
22.0k
        if (yych <= '\n') goto yy616;
6846
22.0k
      } else {
6847
6.89k
        if (yych <= '\r') goto yy616;
6848
5.64k
        if (yych >= ' ') goto yy616;
6849
5.64k
      }
6850
29.2k
    } else {
6851
18.5k
      if (yych <= '.') {
6852
17.2k
        if (yych == '#') goto yy618;
6853
17.2k
      } else {
6854
1.37k
        if (yych <= '/') goto yy619;
6855
976
        if (yych == '\\') goto yy164;
6856
976
      }
6857
18.5k
    }
6858
34.0k
yy534:
6859
34.0k
    YYDEBUG(534, *YYCURSOR);
6860
34.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6861
34.0k
#line 1434 "Zend/zend_language_scanner.l"
6862
34.0k
    {
6863
34.0k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6864
34.0k
}
6865
0
#line 6866 "Zend/zend_language_scanner.c"
6866
9.13k
yy535:
6867
9.13k
    YYDEBUG(535, *YYCURSOR);
6868
9.13k
    yyaccept = 4;
6869
9.13k
    yych = *(YYMARKER = ++YYCURSOR);
6870
9.13k
    if (yych == 'S') goto yy620;
6871
8.71k
    if (yych == 's') goto yy620;
6872
562
    goto yy48;
6873
3.29k
yy536:
6874
3.29k
    YYDEBUG(536, *YYCURSOR);
6875
3.29k
    yyaccept = 4;
6876
3.29k
    yych = *(YYMARKER = ++YYCURSOR);
6877
3.29k
    if (yych == '_') goto yy621;
6878
434
    goto yy48;
6879
1.92k
yy537:
6880
1.92k
    YYDEBUG(537, *YYCURSOR);
6881
1.92k
    yyaccept = 4;
6882
1.92k
    yych = *(YYMARKER = ++YYCURSOR);
6883
1.92k
    if (yych == 'E') goto yy622;
6884
1.57k
    if (yych == 'e') goto yy622;
6885
269
    goto yy48;
6886
4.07k
yy538:
6887
4.07k
    YYDEBUG(538, *YYCURSOR);
6888
4.07k
    yyaccept = 4;
6889
4.07k
    yych = *(YYMARKER = ++YYCURSOR);
6890
4.07k
    if (yych == 'C') goto yy623;
6891
3.52k
    if (yych == 'c') goto yy623;
6892
321
    goto yy48;
6893
3.66k
yy539:
6894
3.66k
    YYDEBUG(539, *YYCURSOR);
6895
3.66k
    yyaccept = 4;
6896
3.66k
    yych = *(YYMARKER = ++YYCURSOR);
6897
3.66k
    if (yych == 'T') goto yy624;
6898
2.92k
    if (yych == 't') goto yy624;
6899
332
    goto yy48;
6900
2.10k
yy540:
6901
2.10k
    YYDEBUG(540, *YYCURSOR);
6902
2.10k
    yyaccept = 4;
6903
2.10k
    yych = *(YYMARKER = ++YYCURSOR);
6904
2.10k
    if (yych == 'E') goto yy625;
6905
1.14k
    if (yych == 'e') goto yy625;
6906
386
    goto yy48;
6907
4.14k
yy541:
6908
4.14k
    YYDEBUG(541, *YYCURSOR);
6909
4.14k
    yyaccept = 4;
6910
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
6911
4.14k
    if (yych == 'H') goto yy626;
6912
3.59k
    if (yych == 'h') goto yy626;
6913
522
    goto yy48;
6914
4.44k
yy542:
6915
4.44k
    YYDEBUG(542, *YYCURSOR);
6916
4.44k
    yyaccept = 4;
6917
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
6918
4.44k
    if (yych == 'E') goto yy627;
6919
3.42k
    if (yych == 'e') goto yy627;
6920
327
    goto yy48;
6921
4.01k
yy543:
6922
4.01k
    YYDEBUG(543, *YYCURSOR);
6923
4.01k
    yyaccept = 4;
6924
4.01k
    yych = *(YYMARKER = ++YYCURSOR);
6925
4.01k
    if (yych == 'P') goto yy628;
6926
1.10k
    if (yych == 'p') goto yy628;
6927
381
    goto yy48;
6928
4.13k
yy544:
6929
4.13k
    YYDEBUG(544, *YYCURSOR);
6930
4.13k
    yyaccept = 4;
6931
4.13k
    yych = *(YYMARKER = ++YYCURSOR);
6932
4.13k
    if (yych == 'I') goto yy629;
6933
3.77k
    if (yych == 'i') goto yy629;
6934
244
    goto yy48;
6935
32.5k
yy545:
6936
32.5k
    YYDEBUG(545, *YYCURSOR);
6937
32.5k
    ++YYCURSOR;
6938
32.5k
    YYFILL(1);
6939
32.5k
    yych = *YYCURSOR;
6940
32.5k
    YYDEBUG(546, *YYCURSOR);
6941
32.5k
    if (yybm[0+yych] & 64) {
6942
287
      goto yy355;
6943
287
    }
6944
32.3k
    if (yych <= ' ') {
6945
5.57k
      if (yych <= '\n') {
6946
3.79k
        if (yych <= 0x00) goto yy86;
6947
2.93k
        if (yych <= 0x08) goto yy230;
6948
2.45k
        goto yy545;
6949
2.93k
      } else {
6950
1.77k
        if (yych == '\r') goto yy545;
6951
459
        if (yych <= 0x1F) goto yy230;
6952
215
        goto yy545;
6953
459
      }
6954
26.7k
    } else {
6955
26.7k
      if (yych <= '$') {
6956
21.3k
        if (yych <= '"') goto yy230;
6957
21.1k
        if (yych <= '#') goto yy630;
6958
542
        goto yy631;
6959
21.1k
      } else {
6960
5.37k
        if (yych <= '-') goto yy230;
6961
4.84k
        if (yych <= '.') goto yy632;
6962
3.09k
        if (yych <= '/') goto yy633;
6963
1.06k
        goto yy230;
6964
3.09k
      }
6965
26.7k
    }
6966
6.71k
yy547:
6967
6.71k
    YYDEBUG(547, *YYCURSOR);
6968
6.71k
    ++YYCURSOR;
6969
6.71k
    YYFILL(1);
6970
6.71k
    yych = *YYCURSOR;
6971
6.71k
    YYDEBUG(548, *YYCURSOR);
6972
6.71k
    if (yych <= '\r') {
6973
2.36k
      if (yych <= '\t') {
6974
888
        if (yych <= 0x00) goto yy86;
6975
298
        goto yy443;
6976
1.47k
      } else {
6977
1.47k
        if (yych <= '\n') goto yy545;
6978
802
        if (yych <= '\f') goto yy443;
6979
510
        goto yy545;
6980
802
      }
6981
4.34k
    } else {
6982
4.34k
      if (yych <= '*') {
6983
2.59k
        if (yych <= ')') goto yy443;
6984
437
        goto yy547;
6985
2.59k
      } else {
6986
1.75k
        if (yych == '/') goto yy227;
6987
1.20k
        goto yy443;
6988
1.75k
      }
6989
4.34k
    }
6990
4.44k
yy549:
6991
4.44k
    YYDEBUG(549, *YYCURSOR);
6992
4.44k
    ++YYCURSOR;
6993
4.44k
    YYFILL(1);
6994
4.44k
    yych = *YYCURSOR;
6995
4.44k
    YYDEBUG(550, *YYCURSOR);
6996
4.44k
    if (yych <= 0x1F) {
6997
892
      if (yych == '\t') goto yy549;
6998
246
      goto yy86;
6999
3.55k
    } else {
7000
3.55k
      if (yych <= ' ') goto yy549;
7001
3.20k
      if (yych == ')') goto yy634;
7002
2.53k
      goto yy86;
7003
3.20k
    }
7004
1.62k
yy551:
7005
1.62k
    YYDEBUG(551, *YYCURSOR);
7006
1.62k
    yych = *++YYCURSOR;
7007
1.62k
    if (yych == 'Y') goto yy636;
7008
1.26k
    if (yych == 'y') goto yy636;
7009
264
    goto yy86;
7010
1.01k
yy552:
7011
1.01k
    YYDEBUG(552, *YYCURSOR);
7012
1.01k
    ++YYCURSOR;
7013
1.01k
    YYFILL(1);
7014
1.01k
    yych = *YYCURSOR;
7015
2.28k
yy553:
7016
2.28k
    YYDEBUG(553, *YYCURSOR);
7017
2.28k
    if (yych <= 0x1F) {
7018
650
      if (yych == '\t') goto yy552;
7019
320
      goto yy86;
7020
1.63k
    } else {
7021
1.63k
      if (yych <= ' ') goto yy552;
7022
951
      if (yych != ')') goto yy86;
7023
951
    }
7024
607
    YYDEBUG(554, *YYCURSOR);
7025
607
    ++YYCURSOR;
7026
607
    YYDEBUG(555, *YYCURSOR);
7027
607
    yyleng = YYCURSOR - SCNG(yy_text);
7028
607
#line 1696 "Zend/zend_language_scanner.l"
7029
607
    {
7030
607
  RETURN_TOKEN(T_BOOL_CAST);
7031
607
}
7032
0
#line 7033 "Zend/zend_language_scanner.c"
7033
1.87k
yy556:
7034
1.87k
    YYDEBUG(556, *YYCURSOR);
7035
1.87k
    yych = *++YYCURSOR;
7036
1.87k
    if (yych == 'A') goto yy638;
7037
1.23k
    if (yych == 'a') goto yy638;
7038
210
    goto yy86;
7039
1.50k
yy557:
7040
1.50k
    YYDEBUG(557, *YYCURSOR);
7041
1.50k
    yych = *++YYCURSOR;
7042
1.50k
    if (yych == 'E') goto yy639;
7043
977
    if (yych == 'e') goto yy639;
7044
455
    goto yy86;
7045
2.69k
yy558:
7046
2.69k
    YYDEBUG(558, *YYCURSOR);
7047
2.69k
    ++YYCURSOR;
7048
2.69k
    YYFILL(1);
7049
2.69k
    yych = *YYCURSOR;
7050
2.69k
    YYDEBUG(559, *YYCURSOR);
7051
2.69k
    if (yych <= 0x1F) {
7052
406
      if (yych == '\t') goto yy558;
7053
211
      goto yy86;
7054
2.29k
    } else {
7055
2.29k
      if (yych <= ' ') goto yy558;
7056
2.09k
      if (yych == ')') goto yy641;
7057
331
      goto yy86;
7058
2.09k
    }
7059
1.68k
yy560:
7060
1.68k
    YYDEBUG(560, *YYCURSOR);
7061
1.68k
    yych = *++YYCURSOR;
7062
1.68k
    if (yych == 'E') goto yy643;
7063
1.28k
    if (yych == 'e') goto yy643;
7064
270
    goto yy86;
7065
1.44k
yy561:
7066
1.44k
    YYDEBUG(561, *YYCURSOR);
7067
1.44k
    yych = *++YYCURSOR;
7068
1.44k
    if (yych == 'T') goto yy644;
7069
1.24k
    if (yych == 't') goto yy644;
7070
294
    goto yy86;
7071
294
yy562:
7072
256
    YYDEBUG(562, *YYCURSOR);
7073
256
    ++YYCURSOR;
7074
256
    YYDEBUG(563, *YYCURSOR);
7075
256
    yyleng = YYCURSOR - SCNG(yy_text);
7076
256
#line 1666 "Zend/zend_language_scanner.l"
7077
256
    {
7078
256
  if (PARSER_MODE()) {
7079
10
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7080
10
    RETURN_TOKEN(T_ERROR);
7081
10
  }
7082
246
  RETURN_TOKEN(T_DOUBLE_CAST);
7083
246
}
7084
0
#line 7085 "Zend/zend_language_scanner.c"
7085
2.66k
yy564:
7086
2.66k
    YYDEBUG(564, *YYCURSOR);
7087
2.66k
    yych = *++YYCURSOR;
7088
2.66k
    if (yych == 'G') goto yy646;
7089
2.44k
    if (yych == 'g') goto yy646;
7090
467
    goto yy86;
7091
1.84k
yy565:
7092
1.84k
    YYDEBUG(565, *YYCURSOR);
7093
1.84k
    ++YYCURSOR;
7094
1.84k
    YYFILL(1);
7095
1.84k
    yych = *YYCURSOR;
7096
1.84k
    YYDEBUG(566, *YYCURSOR);
7097
1.84k
    if (yych <= 0x1F) {
7098
428
      if (yych == '\t') goto yy565;
7099
230
      goto yy86;
7100
1.41k
    } else {
7101
1.41k
      if (yych <= ' ') goto yy565;
7102
1.01k
      if (yych == ')') goto yy648;
7103
438
      goto yy86;
7104
1.01k
    }
7105
608
yy567:
7106
608
    YYDEBUG(567, *YYCURSOR);
7107
608
    ++YYCURSOR;
7108
608
    YYDEBUG(568, *YYCURSOR);
7109
608
    yyleng = YYCURSOR - SCNG(yy_text);
7110
608
#line 1714 "Zend/zend_language_scanner.l"
7111
608
    {
7112
608
  RETURN_TOKEN(T_VOID_CAST);
7113
608
}
7114
0
#line 7115 "Zend/zend_language_scanner.c"
7115
3.82k
yy569:
7116
3.82k
    YYDEBUG(569, *YYCURSOR);
7117
3.82k
    yych = *++YYCURSOR;
7118
3.82k
    if (yych == '\n') goto yy466;
7119
1.69k
    if (yych == '\r') goto yy468;
7120
221
    goto yy86;
7121
3.02k
yy570:
7122
3.02k
    YYDEBUG(570, *YYCURSOR);
7123
3.02k
    yyaccept = 4;
7124
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
7125
3.02k
    if (yych == 'C') goto yy650;
7126
2.81k
    if (yych == 'c') goto yy650;
7127
353
    goto yy48;
7128
1.88k
yy571:
7129
1.88k
    YYDEBUG(571, *YYCURSOR);
7130
1.88k
    yyaccept = 4;
7131
1.88k
    yych = *(YYMARKER = ++YYCURSOR);
7132
1.88k
    if (yych == 'L') goto yy651;
7133
1.45k
    if (yych == 'l') goto yy651;
7134
448
    goto yy48;
7135
2.66k
yy572:
7136
2.66k
    YYDEBUG(572, *YYCURSOR);
7137
2.66k
    yyaccept = 4;
7138
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
7139
2.66k
    if (yych == 'U') goto yy652;
7140
2.25k
    if (yych == 'u') goto yy652;
7141
369
    goto yy48;
7142
4.94k
yy573:
7143
4.94k
    YYDEBUG(573, *YYCURSOR);
7144
4.94k
    yyaccept = 4;
7145
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
7146
4.94k
    if (yych == 'E') goto yy653;
7147
4.39k
    if (yych == 'e') goto yy653;
7148
342
    goto yy48;
7149
2.31k
yy574:
7150
2.31k
    YYDEBUG(574, *YYCURSOR);
7151
2.31k
    yyaccept = 4;
7152
2.31k
    yych = *(YYMARKER = ++YYCURSOR);
7153
2.31k
    if (yych == 'T') goto yy655;
7154
2.06k
    if (yych == 't') goto yy655;
7155
540
    goto yy48;
7156
2.49k
yy575:
7157
2.49k
    YYDEBUG(575, *YYCURSOR);
7158
2.49k
    yyaccept = 51;
7159
2.49k
    yych = *(YYMARKER = ++YYCURSOR);
7160
2.49k
    if (yybm[256+yych] & 128) {
7161
416
      goto yy47;
7162
416
    }
7163
2.08k
    if (yych == '\\') goto yy164;
7164
2.08k
yy576:
7165
2.08k
    YYDEBUG(576, *YYCURSOR);
7166
2.08k
    yyleng = YYCURSOR - SCNG(yy_text);
7167
2.08k
#line 1458 "Zend/zend_language_scanner.l"
7168
2.08k
    {
7169
2.08k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7170
2.08k
}
7171
0
#line 7172 "Zend/zend_language_scanner.c"
7172
3.07k
yy577:
7173
3.07k
    YYDEBUG(577, *YYCURSOR);
7174
3.07k
    yyaccept = 4;
7175
3.07k
    yych = *(YYMARKER = ++YYCURSOR);
7176
3.07k
    if (yych == 'L') goto yy657;
7177
2.32k
    if (yych == 'l') goto yy657;
7178
559
    goto yy48;
7179
4.85k
yy578:
7180
4.85k
    YYDEBUG(578, *YYCURSOR);
7181
4.85k
    yyaccept = 52;
7182
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
7183
4.85k
    if (yych <= '\\') {
7184
2.39k
      if (yych <= 'D') {
7185
900
        if (yych <= '/') goto yy579;
7186
681
        if (yych <= '9') goto yy47;
7187
442
        if (yych >= 'A') goto yy47;
7188
1.49k
      } else {
7189
1.49k
        if (yych <= 'E') goto yy658;
7190
753
        if (yych <= 'Z') goto yy47;
7191
424
        if (yych >= '\\') goto yy164;
7192
424
      }
7193
2.46k
    } else {
7194
2.46k
      if (yych <= 'd') {
7195
629
        if (yych == '_') goto yy47;
7196
422
        if (yych >= 'a') goto yy47;
7197
1.83k
      } else {
7198
1.83k
        if (yych <= 'e') goto yy658;
7199
653
        if (yych <= 'z') goto yy47;
7200
438
        if (yych >= 0x80) goto yy47;
7201
438
      }
7202
2.46k
    }
7203
1.30k
yy579:
7204
1.30k
    YYDEBUG(579, *YYCURSOR);
7205
1.30k
    yyleng = YYCURSOR - SCNG(yy_text);
7206
1.30k
#line 1486 "Zend/zend_language_scanner.l"
7207
1.30k
    {
7208
1.30k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7209
1.30k
}
7210
0
#line 7211 "Zend/zend_language_scanner.c"
7211
2.02k
yy580:
7212
2.02k
    YYDEBUG(580, *YYCURSOR);
7213
2.02k
    yyaccept = 4;
7214
2.02k
    yych = *(YYMARKER = ++YYCURSOR);
7215
2.02k
    if (yych == 'T') goto yy659;
7216
1.39k
    if (yych == 't') goto yy659;
7217
269
    goto yy48;
7218
1.80k
yy581:
7219
1.80k
    YYDEBUG(581, *YYCURSOR);
7220
1.80k
    yyaccept = 4;
7221
1.80k
    yych = *(YYMARKER = ++YYCURSOR);
7222
1.80k
    if (yych == 'L') goto yy660;
7223
1.40k
    if (yych == 'l') goto yy660;
7224
249
    goto yy48;
7225
8.42k
yy582:
7226
8.42k
    YYDEBUG(582, *YYCURSOR);
7227
8.42k
    ++YYCURSOR;
7228
71.9k
yy583:
7229
71.9k
    YYDEBUG(583, *YYCURSOR);
7230
71.9k
    yyleng = YYCURSOR - SCNG(yy_text);
7231
71.9k
#line 1574 "Zend/zend_language_scanner.l"
7232
71.9k
    {
7233
71.9k
  yyless(4);
7234
71.9k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7235
71.9k
}
7236
0
#line 7237 "Zend/zend_language_scanner.c"
7237
4.22k
yy584:
7238
4.22k
    YYDEBUG(584, *YYCURSOR);
7239
4.22k
    yyaccept = 53;
7240
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
7241
4.22k
    if (yych == 'X') goto yy661;
7242
3.78k
    if (yych == 'x') goto yy661;
7243
1.82k
    goto yy583;
7244
3.33k
yy585:
7245
3.33k
    YYDEBUG(585, *YYCURSOR);
7246
3.33k
    yyaccept = 53;
7247
3.33k
    yych = *(YYMARKER = ++YYCURSOR);
7248
3.33k
    if (yych == 'M') goto yy662;
7249
2.14k
    if (yych == 'm') goto yy662;
7250
457
    goto yy583;
7251
1.08M
yy586:
7252
1.08M
    YYDEBUG(586, *YYCURSOR);
7253
1.08M
    ++YYCURSOR;
7254
1.08M
    YYFILL(1);
7255
1.08M
    yych = *YYCURSOR;
7256
1.08M
    YYDEBUG(587, *YYCURSOR);
7257
1.08M
    if (yych <= '\n') {
7258
48.0k
      if (yych <= 0x00) goto yy86;
7259
41.0k
      if (yych <= '\t') goto yy586;
7260
31.3k
      goto yy495;
7261
1.03M
    } else {
7262
1.03M
      if (yych == '\r') goto yy495;
7263
785k
      goto yy586;
7264
1.03M
    }
7265
343k
yy588:
7266
343k
    YYDEBUG(588, *YYCURSOR);
7267
343k
    ++YYCURSOR;
7268
343k
    YYFILL(1);
7269
343k
    yych = *YYCURSOR;
7270
343k
    YYDEBUG(589, *YYCURSOR);
7271
343k
    if (yych <= 'D') {
7272
83.8k
      if (yych <= 0x1F) {
7273
12.6k
        if (yych <= '\t') {
7274
7.53k
          if (yych <= 0x00) goto yy86;
7275
7.10k
          if (yych <= 0x08) goto yy586;
7276
912
          goto yy588;
7277
7.10k
        } else {
7278
5.13k
          if (yych <= '\n') goto yy495;
7279
3.43k
          if (yych == '\r') goto yy495;
7280
1.08k
          goto yy586;
7281
3.43k
        }
7282
71.2k
      } else {
7283
71.2k
        if (yych <= '#') {
7284
16.7k
          if (yych <= ' ') goto yy588;
7285
12.4k
          if (yych <= '"') goto yy586;
7286
11.9k
          goto yy663;
7287
54.4k
        } else {
7288
54.4k
          if (yych == '/') goto yy664;
7289
6.56k
          if (yych <= '@') goto yy586;
7290
213
          goto yy665;
7291
6.56k
        }
7292
71.2k
      }
7293
259k
    } else {
7294
259k
      if (yych <= '`') {
7295
9.49k
        if (yych <= 'I') {
7296
7.03k
          if (yych <= 'E') goto yy666;
7297
5.49k
          if (yych <= 'H') goto yy665;
7298
5.29k
          goto yy667;
7299
5.49k
        } else {
7300
2.45k
          if (yych <= 'Z') goto yy665;
7301
803
          if (yych == '_') goto yy665;
7302
240
          goto yy586;
7303
803
        }
7304
250k
      } else {
7305
250k
        if (yych <= 'h') {
7306
231k
          if (yych == 'e') goto yy666;
7307
2.49k
          goto yy665;
7308
231k
        } else {
7309
18.8k
          if (yych <= 'i') goto yy667;
7310
7.22k
          if (yych <= 'z') goto yy665;
7311
3.34k
          if (yych <= 0x7F) goto yy586;
7312
2.48k
          goto yy665;
7313
3.34k
        }
7314
250k
      }
7315
259k
    }
7316
209k
yy590:
7317
209k
    YYDEBUG(590, *YYCURSOR);
7318
209k
    ++YYCURSOR;
7319
209k
    YYFILL(1);
7320
209k
    yych = *YYCURSOR;
7321
209k
    YYDEBUG(591, *YYCURSOR);
7322
209k
    if (yych <= 0x00) goto yy86;
7323
190k
    if (yych == '*') goto yy668;
7324
186k
    goto yy590;
7325
186k
yy592:
7326
11.0k
    YYDEBUG(592, *YYCURSOR);
7327
11.0k
    yyaccept = 4;
7328
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
7329
11.0k
    if (yych == 'S') goto yy670;
7330
10.7k
    if (yych == 's') goto yy670;
7331
788
    goto yy48;
7332
2.95k
yy593:
7333
2.95k
    YYDEBUG(593, *YYCURSOR);
7334
2.95k
    yyaccept = 4;
7335
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
7336
2.95k
    if (yych == 'Y') goto yy672;
7337
2.68k
    if (yych == 'y') goto yy672;
7338
247
    goto yy48;
7339
4.14k
yy594:
7340
4.14k
    YYDEBUG(594, *YYCURSOR);
7341
4.14k
    yyaccept = 4;
7342
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
7343
4.14k
    if (yych == 'H') goto yy674;
7344
3.91k
    if (yych == 'h') goto yy674;
7345
215
    goto yy48;
7346
29.9k
yy595:
7347
29.9k
    YYDEBUG(595, *YYCURSOR);
7348
29.9k
    yyaccept = 4;
7349
29.9k
    yych = *(YYMARKER = ++YYCURSOR);
7350
29.9k
    if (yych == 'O') goto yy676;
7351
29.6k
    if (yych == 'o') goto yy676;
7352
548
    goto yy48;
7353
1.71k
yy596:
7354
1.71k
    YYDEBUG(596, *YYCURSOR);
7355
1.71k
    yyaccept = 54;
7356
1.71k
    yych = *(YYMARKER = ++YYCURSOR);
7357
1.71k
    if (yybm[256+yych] & 128) {
7358
385
      goto yy47;
7359
385
    }
7360
1.32k
    if (yych == '\\') goto yy164;
7361
1.24k
yy597:
7362
1.24k
    YYDEBUG(597, *YYCURSOR);
7363
1.24k
    yyleng = YYCURSOR - SCNG(yy_text);
7364
1.24k
#line 1750 "Zend/zend_language_scanner.l"
7365
1.24k
    {
7366
1.24k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7367
1.24k
}
7368
0
#line 7369 "Zend/zend_language_scanner.c"
7369
5.11k
yy598:
7370
5.11k
    YYDEBUG(598, *YYCURSOR);
7371
5.11k
    yyaccept = 4;
7372
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
7373
5.11k
    if (yych == 'E') goto yy677;
7374
4.54k
    if (yych == 'e') goto yy677;
7375
984
    goto yy48;
7376
6.37k
yy599:
7377
6.37k
    YYDEBUG(599, *YYCURSOR);
7378
6.37k
    yyaccept = 4;
7379
6.37k
    yych = *(YYMARKER = ++YYCURSOR);
7380
6.37k
    if (yych == 'E') goto yy678;
7381
4.68k
    if (yych == 'e') goto yy678;
7382
453
    goto yy48;
7383
2.58k
yy600:
7384
2.58k
    YYDEBUG(600, *YYCURSOR);
7385
2.58k
    yyaccept = 4;
7386
2.58k
    yych = *(YYMARKER = ++YYCURSOR);
7387
2.58k
    if (yych == 'C') goto yy680;
7388
2.33k
    if (yych == 'c') goto yy680;
7389
219
    goto yy48;
7390
3.18k
yy601:
7391
3.18k
    YYDEBUG(601, *YYCURSOR);
7392
3.18k
    yyaccept = 4;
7393
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
7394
3.18k
    if (yych == 'D') goto yy681;
7395
2.92k
    if (yych == 'd') goto yy681;
7396
315
    goto yy48;
7397
3.50k
yy602:
7398
3.50k
    YYDEBUG(602, *YYCURSOR);
7399
3.50k
    yyaccept = 4;
7400
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
7401
3.50k
    if (yych == 'A') goto yy682;
7402
3.07k
    if (yych == 'a') goto yy682;
7403
196
    goto yy48;
7404
11.1k
yy603:
7405
11.1k
    YYDEBUG(603, *YYCURSOR);
7406
11.1k
    yyaccept = 4;
7407
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
7408
11.1k
    if (yych == 'A') goto yy683;
7409
10.9k
    if (yych == 'a') goto yy683;
7410
337
    goto yy48;
7411
4.58k
yy604:
7412
4.58k
    YYDEBUG(604, *YYCURSOR);
7413
4.58k
    yyaccept = 4;
7414
4.58k
    yych = *(YYMARKER = ++YYCURSOR);
7415
4.58k
    if (yych == 'E') goto yy684;
7416
4.21k
    if (yych == 'e') goto yy684;
7417
249
    goto yy48;
7418
4.30k
yy605:
7419
4.30k
    YYDEBUG(605, *YYCURSOR);
7420
4.30k
    yyaccept = 4;
7421
4.30k
    yych = *(YYMARKER = ++YYCURSOR);
7422
4.30k
    if (yych == 'T') goto yy686;
7423
3.78k
    if (yych == 't') goto yy686;
7424
306
    goto yy48;
7425
17.3k
yy606:
7426
17.3k
    YYDEBUG(606, *YYCURSOR);
7427
17.3k
    yyaccept = 55;
7428
17.3k
    yych = *(YYMARKER = ++YYCURSOR);
7429
17.3k
    if (yybm[256+yych] & 128) {
7430
304
      goto yy47;
7431
304
    }
7432
17.0k
    if (yych == '(') goto yy687;
7433
15.0k
    if (yych == '\\') goto yy164;
7434
16.1k
yy607:
7435
16.1k
    YYDEBUG(607, *YYCURSOR);
7436
16.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7437
16.1k
#line 1798 "Zend/zend_language_scanner.l"
7438
16.1k
    {
7439
16.1k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7440
16.1k
}
7441
0
#line 7442 "Zend/zend_language_scanner.c"
7442
2.89k
yy608:
7443
2.89k
    YYDEBUG(608, *YYCURSOR);
7444
2.89k
    yyaccept = 4;
7445
2.89k
    yych = *(YYMARKER = ++YYCURSOR);
7446
2.89k
    if (yych == 'L') goto yy688;
7447
2.70k
    if (yych == 'l') goto yy688;
7448
337
    goto yy48;
7449
5.00k
yy609:
7450
5.00k
    YYDEBUG(609, *YYCURSOR);
7451
5.00k
    yyaccept = 4;
7452
5.00k
    yych = *(YYMARKER = ++YYCURSOR);
7453
5.00k
    if (yych == 'E') goto yy689;
7454
4.30k
    if (yych == 'e') goto yy689;
7455
347
    goto yy48;
7456
5.31k
yy610:
7457
5.31k
    YYDEBUG(610, *YYCURSOR);
7458
5.31k
    yyaccept = 56;
7459
5.31k
    yych = *(YYMARKER = ++YYCURSOR);
7460
5.31k
    if (yybm[256+yych] & 128) {
7461
548
      goto yy47;
7462
548
    }
7463
4.76k
    if (yych == '\\') goto yy164;
7464
4.76k
yy611:
7465
4.76k
    YYDEBUG(611, *YYCURSOR);
7466
4.76k
    yyleng = YYCURSOR - SCNG(yy_text);
7467
4.76k
#line 1419 "Zend/zend_language_scanner.l"
7468
4.76k
    {
7469
4.76k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7470
4.76k
}
7471
0
#line 7472 "Zend/zend_language_scanner.c"
7472
6.54k
yy612:
7473
6.54k
    YYDEBUG(612, *YYCURSOR);
7474
6.54k
    yyaccept = 57;
7475
6.54k
    yych = *(YYMARKER = ++YYCURSOR);
7476
6.54k
    if (yybm[256+yych] & 128) {
7477
575
      goto yy47;
7478
575
    }
7479
5.97k
    if (yych == '\\') goto yy164;
7480
5.97k
yy613:
7481
5.97k
    YYDEBUG(613, *YYCURSOR);
7482
5.97k
    yyleng = YYCURSOR - SCNG(yy_text);
7483
5.97k
#line 1766 "Zend/zend_language_scanner.l"
7484
5.97k
    {
7485
5.97k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7486
5.97k
}
7487
0
#line 7488 "Zend/zend_language_scanner.c"
7488
2.99k
yy614:
7489
2.99k
    YYDEBUG(614, *YYCURSOR);
7490
2.99k
    yyaccept = 58;
7491
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
7492
2.99k
    if (yybm[256+yych] & 128) {
7493
543
      goto yy47;
7494
543
    }
7495
2.45k
    if (yych == '\\') goto yy164;
7496
2.45k
yy615:
7497
2.45k
    YYDEBUG(615, *YYCURSOR);
7498
2.45k
    yyleng = YYCURSOR - SCNG(yy_text);
7499
2.45k
#line 1514 "Zend/zend_language_scanner.l"
7500
2.45k
    {
7501
2.45k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7502
2.45k
}
7503
0
#line 7504 "Zend/zend_language_scanner.c"
7504
183k
yy616:
7505
183k
    YYDEBUG(616, *YYCURSOR);
7506
183k
    ++YYCURSOR;
7507
183k
    YYFILL(5);
7508
183k
    yych = *YYCURSOR;
7509
183k
    YYDEBUG(617, *YYCURSOR);
7510
183k
    if (yych <= '"') {
7511
57.5k
      if (yych <= '\f') {
7512
51.4k
        if (yych <= 0x08) goto yy86;
7513
50.4k
        if (yych <= '\n') goto yy616;
7514
217
        goto yy86;
7515
50.4k
      } else {
7516
6.12k
        if (yych <= '\r') goto yy616;
7517
1.65k
        if (yych == ' ') goto yy616;
7518
410
        goto yy86;
7519
1.65k
      }
7520
126k
    } else {
7521
126k
      if (yych <= 'E') {
7522
117k
        if (yych <= '#') goto yy618;
7523
4.58k
        if (yych == '/') goto yy619;
7524
2.19k
        goto yy86;
7525
8.98k
      } else {
7526
8.98k
        if (yych <= 'F') goto yy691;
7527
7.41k
        if (yych == 'f') goto yy691;
7528
3.35k
        goto yy86;
7529
7.41k
      }
7530
126k
    }
7531
129k
yy618:
7532
129k
    YYDEBUG(618, *YYCURSOR);
7533
129k
    ++YYCURSOR;
7534
129k
    YYFILL(1);
7535
129k
    yych = *YYCURSOR;
7536
129k
    if (yych <= '\f') {
7537
13.7k
      if (yych <= 0x00) goto yy86;
7538
13.1k
      if (yych == '\n') goto yy694;
7539
996
      goto yy692;
7540
115k
    } else {
7541
115k
      if (yych <= '\r') goto yy694;
7542
15.3k
      if (yych == '[') goto yy86;
7543
15.1k
      goto yy692;
7544
15.3k
    }
7545
2.98k
yy619:
7546
2.98k
    YYDEBUG(619, *YYCURSOR);
7547
2.98k
    ++YYCURSOR;
7548
2.98k
    YYFILL(1);
7549
2.98k
    yych = *YYCURSOR;
7550
2.98k
    if (yych == '*') goto yy696;
7551
1.34k
    if (yych == '/') goto yy692;
7552
816
    goto yy86;
7553
8.57k
yy620:
7554
8.57k
    YYDEBUG(620, *YYCURSOR);
7555
8.57k
    yyaccept = 4;
7556
8.57k
    yych = *(YYMARKER = ++YYCURSOR);
7557
8.57k
    if (yych == 'S') goto yy698;
7558
8.36k
    if (yych == 's') goto yy698;
7559
499
    goto yy48;
7560
2.86k
yy621:
7561
2.86k
    YYDEBUG(621, *YYCURSOR);
7562
2.86k
    yyaccept = 4;
7563
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
7564
2.86k
    if (yych == '_') goto yy699;
7565
308
    goto yy48;
7566
1.65k
yy622:
7567
1.65k
    YYDEBUG(622, *YYCURSOR);
7568
1.65k
    yyaccept = 4;
7569
1.65k
    yych = *(YYMARKER = ++YYCURSOR);
7570
1.65k
    if (yych == '_') goto yy701;
7571
286
    goto yy48;
7572
3.74k
yy623:
7573
3.74k
    YYDEBUG(623, *YYCURSOR);
7574
3.74k
    yyaccept = 4;
7575
3.74k
    yych = *(YYMARKER = ++YYCURSOR);
7576
3.74k
    if (yych == 'T') goto yy702;
7577
2.04k
    if (yych == 't') goto yy702;
7578
326
    goto yy48;
7579
3.33k
yy624:
7580
3.33k
    YYDEBUG(624, *YYCURSOR);
7581
3.33k
    yyaccept = 4;
7582
3.33k
    yych = *(YYMARKER = ++YYCURSOR);
7583
3.33k
    if (yych == '_') goto yy703;
7584
244
    goto yy48;
7585
1.71k
yy625:
7586
1.71k
    YYDEBUG(625, *YYCURSOR);
7587
1.71k
    yyaccept = 4;
7588
1.71k
    yych = *(YYMARKER = ++YYCURSOR);
7589
1.71k
    if (yych == '_') goto yy704;
7590
337
    goto yy48;
7591
3.62k
yy626:
7592
3.62k
    YYDEBUG(626, *YYCURSOR);
7593
3.62k
    yyaccept = 4;
7594
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
7595
3.62k
    if (yych == 'O') goto yy705;
7596
3.11k
    if (yych == 'o') goto yy705;
7597
320
    goto yy48;
7598
4.11k
yy627:
7599
4.11k
    YYDEBUG(627, *YYCURSOR);
7600
4.11k
    yyaccept = 4;
7601
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
7602
4.11k
    if (yych == 'S') goto yy706;
7603
3.16k
    if (yych == 's') goto yy706;
7604
266
    goto yy48;
7605
3.63k
yy628:
7606
3.63k
    YYDEBUG(628, *YYCURSOR);
7607
3.63k
    yyaccept = 4;
7608
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
7609
3.63k
    if (yych == 'E') goto yy707;
7610
1.90k
    if (yych == 'e') goto yy707;
7611
680
    goto yy48;
7612
3.88k
yy629:
7613
3.88k
    YYDEBUG(629, *YYCURSOR);
7614
3.88k
    yyaccept = 4;
7615
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
7616
3.88k
    if (yych == 'T') goto yy708;
7617
3.65k
    if (yych == 't') goto yy708;
7618
500
    goto yy48;
7619
20.5k
yy630:
7620
20.5k
    YYDEBUG(630, *YYCURSOR);
7621
20.5k
    ++YYCURSOR;
7622
20.5k
    YYFILL(1);
7623
20.5k
    yych = *YYCURSOR;
7624
20.5k
    if (yych <= '\r') {
7625
16.7k
      if (yych <= '\t') {
7626
505
        if (yych <= 0x00) goto yy86;
7627
249
        goto yy443;
7628
16.2k
      } else {
7629
16.2k
        if (yych <= '\n') goto yy709;
7630
10.3k
        if (yych <= '\f') goto yy443;
7631
10.1k
        goto yy709;
7632
10.3k
      }
7633
16.7k
    } else {
7634
3.80k
      if (yych <= '*') {
7635
1.77k
        if (yych <= ')') goto yy443;
7636
710
        goto yy547;
7637
2.03k
      } else {
7638
2.03k
        if (yych == '[') goto yy230;
7639
1.81k
        goto yy443;
7640
2.03k
      }
7641
3.80k
    }
7642
745
yy631:
7643
745
    YYDEBUG(631, *YYCURSOR);
7644
745
    yyaccept = 26;
7645
745
    YYMARKER = ++YYCURSOR;
7646
745
    YYFILL(1);
7647
745
    yych = *YYCURSOR;
7648
745
    if (yybm[0+yych] & 4) {
7649
312
      goto yy230;
7650
312
    }
7651
433
    if (yych <= 0x00) goto yy89;
7652
199
    goto yy355;
7653
1.74k
yy632:
7654
1.74k
    YYDEBUG(632, *YYCURSOR);
7655
1.74k
    ++YYCURSOR;
7656
1.74k
    YYFILL(1);
7657
1.74k
    yych = *YYCURSOR;
7658
1.74k
    if (yybm[0+yych] & 64) {
7659
272
      goto yy355;
7660
272
    }
7661
1.47k
    if (yych <= 0x00) goto yy86;
7662
1.12k
    if (yych == '.') goto yy711;
7663
284
    goto yy230;
7664
2.03k
yy633:
7665
2.03k
    YYDEBUG(633, *YYCURSOR);
7666
2.03k
    ++YYCURSOR;
7667
2.03k
    YYFILL(1);
7668
2.03k
    yych = *YYCURSOR;
7669
2.03k
    if (yych <= '*') {
7670
1.62k
      if (yych <= 0x00) goto yy86;
7671
1.39k
      if (yych <= ')') goto yy230;
7672
1.13k
      goto yy712;
7673
1.39k
    } else {
7674
406
      if (yych == '/') goto yy443;
7675
206
      goto yy230;
7676
406
    }
7677
670
yy634:
7678
670
    YYDEBUG(634, *YYCURSOR);
7679
670
    ++YYCURSOR;
7680
670
    YYDEBUG(635, *YYCURSOR);
7681
670
    yyleng = YYCURSOR - SCNG(yy_text);
7682
670
#line 1688 "Zend/zend_language_scanner.l"
7683
670
    {
7684
670
  RETURN_TOKEN(T_ARRAY_CAST);
7685
670
}
7686
0
#line 7687 "Zend/zend_language_scanner.c"
7687
1.76k
yy636:
7688
1.76k
    YYDEBUG(636, *YYCURSOR);
7689
1.76k
    ++YYCURSOR;
7690
1.76k
    YYFILL(1);
7691
1.76k
    yych = *YYCURSOR;
7692
1.76k
    YYDEBUG(637, *YYCURSOR);
7693
1.76k
    if (yych <= 0x1F) {
7694
506
      if (yych == '\t') goto yy636;
7695
297
      goto yy86;
7696
1.26k
    } else {
7697
1.26k
      if (yych <= ' ') goto yy636;
7698
1.05k
      if (yych == ')') goto yy713;
7699
643
      goto yy86;
7700
1.05k
    }
7701
1.66k
yy638:
7702
1.66k
    YYDEBUG(638, *YYCURSOR);
7703
1.66k
    yych = *++YYCURSOR;
7704
1.66k
    if (yych == 'N') goto yy715;
7705
1.24k
    if (yych == 'n') goto yy715;
7706
388
    goto yy86;
7707
1.57k
yy639:
7708
1.57k
    YYDEBUG(639, *YYCURSOR);
7709
1.57k
    ++YYCURSOR;
7710
1.57k
    YYFILL(1);
7711
1.57k
    yych = *YYCURSOR;
7712
1.57k
    YYDEBUG(640, *YYCURSOR);
7713
1.57k
    if (yych <= 0x1F) {
7714
432
      if (yych == '\t') goto yy639;
7715
210
      goto yy86;
7716
1.14k
    } else {
7717
1.14k
      if (yych <= ' ') goto yy639;
7718
840
      if (yych == ')') goto yy717;
7719
436
      goto yy86;
7720
840
    }
7721
1.75k
yy641:
7722
1.75k
    YYDEBUG(641, *YYCURSOR);
7723
1.75k
    ++YYCURSOR;
7724
1.75k
    YYDEBUG(642, *YYCURSOR);
7725
1.75k
    yyleng = YYCURSOR - SCNG(yy_text);
7726
1.75k
#line 1652 "Zend/zend_language_scanner.l"
7727
1.75k
    {
7728
1.75k
  RETURN_TOKEN(T_DOUBLE_CAST);
7729
1.75k
}
7730
0
#line 7731 "Zend/zend_language_scanner.c"
7731
1.41k
yy643:
7732
1.41k
    YYDEBUG(643, *YYCURSOR);
7733
1.41k
    yych = *++YYCURSOR;
7734
1.41k
    if (yych == 'R') goto yy719;
7735
1.14k
    if (yych == 'r') goto yy719;
7736
308
    goto yy86;
7737
1.84k
yy644:
7738
1.84k
    YYDEBUG(644, *YYCURSOR);
7739
1.84k
    ++YYCURSOR;
7740
1.84k
    YYFILL(1);
7741
1.84k
    yych = *YYCURSOR;
7742
1.84k
    YYDEBUG(645, *YYCURSOR);
7743
1.84k
    if (yych <= 0x1F) {
7744
877
      if (yych == '\t') goto yy644;
7745
381
      goto yy86;
7746
968
    } else {
7747
968
      if (yych <= ' ') goto yy644;
7748
765
      if (yych == ')') goto yy721;
7749
244
      goto yy86;
7750
765
    }
7751
2.90k
yy646:
7752
2.90k
    YYDEBUG(646, *YYCURSOR);
7753
2.90k
    ++YYCURSOR;
7754
2.90k
    YYFILL(1);
7755
2.90k
    yych = *YYCURSOR;
7756
2.90k
    YYDEBUG(647, *YYCURSOR);
7757
2.90k
    if (yych <= 0x1F) {
7758
503
      if (yych == '\t') goto yy646;
7759
307
      goto yy86;
7760
2.40k
    } else {
7761
2.40k
      if (yych <= ' ') goto yy646;
7762
1.89k
      if (yych == ')') goto yy723;
7763
1.11k
      goto yy86;
7764
1.89k
    }
7765
579
yy648:
7766
579
    YYDEBUG(648, *YYCURSOR);
7767
579
    ++YYCURSOR;
7768
579
    YYDEBUG(649, *YYCURSOR);
7769
579
    yyleng = YYCURSOR - SCNG(yy_text);
7770
579
#line 1710 "Zend/zend_language_scanner.l"
7771
579
    {
7772
579
  RETURN_TOKEN(T_UNSET_CAST);
7773
579
}
7774
0
#line 7775 "Zend/zend_language_scanner.c"
7775
2.67k
yy650:
7776
2.67k
    YYDEBUG(650, *YYCURSOR);
7777
2.67k
    yyaccept = 4;
7778
2.67k
    yych = *(YYMARKER = ++YYCURSOR);
7779
2.67k
    if (yych == 'T') goto yy725;
7780
2.46k
    if (yych == 't') goto yy725;
7781
372
    goto yy48;
7782
1.43k
yy651:
7783
1.43k
    YYDEBUG(651, *YYCURSOR);
7784
1.43k
    yyaccept = 4;
7785
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
7786
1.43k
    if (yych == 'E') goto yy727;
7787
1.16k
    if (yych == 'e') goto yy727;
7788
210
    goto yy48;
7789
2.29k
yy652:
7790
2.29k
    YYDEBUG(652, *YYCURSOR);
7791
2.29k
    yyaccept = 4;
7792
2.29k
    yych = *(YYMARKER = ++YYCURSOR);
7793
2.29k
    if (yych == 'E') goto yy729;
7794
1.98k
    if (yych == 'e') goto yy729;
7795
374
    goto yy48;
7796
4.60k
yy653:
7797
4.60k
    YYDEBUG(653, *YYCURSOR);
7798
4.60k
    yyaccept = 59;
7799
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
7800
4.60k
    if (yybm[256+yych] & 128) {
7801
410
      goto yy47;
7802
410
    }
7803
4.19k
    if (yych == '\\') goto yy164;
7804
4.18k
yy654:
7805
4.18k
    YYDEBUG(654, *YYCURSOR);
7806
4.18k
    yyleng = YYCURSOR - SCNG(yy_text);
7807
4.18k
#line 1498 "Zend/zend_language_scanner.l"
7808
4.18k
    {
7809
4.18k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7810
4.18k
}
7811
0
#line 7812 "Zend/zend_language_scanner.c"
7812
1.77k
yy655:
7813
1.77k
    YYDEBUG(655, *YYCURSOR);
7814
1.77k
    yyaccept = 60;
7815
1.77k
    yych = *(YYMARKER = ++YYCURSOR);
7816
1.77k
    if (yybm[256+yych] & 128) {
7817
471
      goto yy47;
7818
471
    }
7819
1.30k
    if (yych == '\\') goto yy164;
7820
1.30k
yy656:
7821
1.30k
    YYDEBUG(656, *YYCURSOR);
7822
1.30k
    yyleng = YYCURSOR - SCNG(yy_text);
7823
1.30k
#line 1530 "Zend/zend_language_scanner.l"
7824
1.30k
    {
7825
1.30k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7826
1.30k
}
7827
0
#line 7828 "Zend/zend_language_scanner.c"
7828
2.51k
yy657:
7829
2.51k
    YYDEBUG(657, *YYCURSOR);
7830
2.51k
    yyaccept = 4;
7831
2.51k
    yych = *(YYMARKER = ++YYCURSOR);
7832
2.51k
    if (yych == 'A') goto yy731;
7833
1.62k
    if (yych == 'a') goto yy731;
7834
390
    goto yy48;
7835
1.91k
yy658:
7836
1.91k
    YYDEBUG(658, *YYCURSOR);
7837
1.91k
    yyaccept = 4;
7838
1.91k
    yych = *(YYMARKER = ++YYCURSOR);
7839
1.91k
    if (yych == 'A') goto yy732;
7840
1.23k
    if (yych == 'a') goto yy732;
7841
254
    goto yy48;
7842
1.75k
yy659:
7843
1.75k
    YYDEBUG(659, *YYCURSOR);
7844
1.75k
    yyaccept = 4;
7845
1.75k
    yych = *(YYMARKER = ++YYCURSOR);
7846
1.75k
    if (yych == 'C') goto yy733;
7847
1.43k
    if (yych == 'c') goto yy733;
7848
358
    goto yy48;
7849
1.55k
yy660:
7850
1.55k
    YYDEBUG(660, *YYCURSOR);
7851
1.55k
    yyaccept = 4;
7852
1.55k
    yych = *(YYMARKER = ++YYCURSOR);
7853
1.55k
    if (yych == 'E') goto yy734;
7854
1.35k
    if (yych == 'e') goto yy734;
7855
348
    goto yy48;
7856
2.40k
yy661:
7857
2.40k
    YYDEBUG(661, *YYCURSOR);
7858
2.40k
    yych = *++YYCURSOR;
7859
2.40k
    if (yych == 'T') goto yy736;
7860
2.05k
    if (yych == 't') goto yy736;
7861
525
    goto yy86;
7862
2.87k
yy662:
7863
2.87k
    YYDEBUG(662, *YYCURSOR);
7864
2.87k
    yych = *++YYCURSOR;
7865
2.87k
    if (yych == 'P') goto yy737;
7866
2.02k
    if (yych == 'p') goto yy737;
7867
819
    goto yy86;
7868
11.9k
yy663:
7869
11.9k
    YYDEBUG(663, *YYCURSOR);
7870
11.9k
    ++YYCURSOR;
7871
11.9k
    YYFILL(1);
7872
11.9k
    yych = *YYCURSOR;
7873
11.9k
    if (yych <= '\n') {
7874
7.21k
      if (yych <= 0x00) goto yy86;
7875
6.97k
      if (yych <= '\t') goto yy586;
7876
6.72k
      goto yy588;
7877
6.97k
    } else {
7878
4.76k
      if (yych == '\r') goto yy588;
7879
1.17k
      goto yy586;
7880
4.76k
    }
7881
47.9k
yy664:
7882
47.9k
    YYDEBUG(664, *YYCURSOR);
7883
47.9k
    ++YYCURSOR;
7884
47.9k
    YYFILL(1);
7885
47.9k
    yych = *YYCURSOR;
7886
47.9k
    if (yych <= '\f') {
7887
783
      if (yych <= 0x00) goto yy86;
7888
488
      if (yych == '\n') goto yy495;
7889
281
      goto yy586;
7890
47.1k
    } else {
7891
47.1k
      if (yych <= '\r') goto yy495;
7892
46.5k
      if (yych == '*') goto yy738;
7893
2.47k
      goto yy586;
7894
46.5k
    }
7895
11.4k
yy665:
7896
11.4k
    YYDEBUG(665, *YYCURSOR);
7897
11.4k
    yyaccept = 53;
7898
11.4k
    YYMARKER = ++YYCURSOR;
7899
11.4k
    YYFILL(1);
7900
11.4k
    yych = *YYCURSOR;
7901
11.4k
    if (yych <= '\n') {
7902
1.89k
      if (yych <= 0x00) goto yy583;
7903
1.62k
      if (yych <= '\t') goto yy586;
7904
278
      goto yy495;
7905
9.58k
    } else {
7906
9.58k
      if (yych == '\r') goto yy495;
7907
8.97k
      goto yy586;
7908
9.58k
    }
7909
230k
yy666:
7910
230k
    YYDEBUG(666, *YYCURSOR);
7911
230k
    yyaccept = 53;
7912
230k
    YYMARKER = ++YYCURSOR;
7913
230k
    YYFILL(1);
7914
230k
    yych = *YYCURSOR;
7915
230k
    if (yych <= '\r') {
7916
39.7k
      if (yych <= '\t') {
7917
31.4k
        if (yych <= 0x00) goto yy583;
7918
31.2k
        goto yy586;
7919
31.4k
      } else {
7920
8.33k
        if (yych <= '\n') goto yy495;
7921
7.80k
        if (yych <= '\f') goto yy586;
7922
1.53k
        goto yy495;
7923
7.80k
      }
7924
190k
    } else {
7925
190k
      if (yych <= 'X') {
7926
129k
        if (yych <= 'W') goto yy586;
7927
2.05k
        goto yy740;
7928
129k
      } else {
7929
60.8k
        if (yych == 'x') goto yy740;
7930
52.6k
        goto yy586;
7931
60.8k
      }
7932
190k
    }
7933
16.8k
yy667:
7934
16.8k
    YYDEBUG(667, *YYCURSOR);
7935
16.8k
    yyaccept = 53;
7936
16.8k
    YYMARKER = ++YYCURSOR;
7937
16.8k
    YYFILL(1);
7938
16.8k
    yych = *YYCURSOR;
7939
16.8k
    if (yych <= '\r') {
7940
1.34k
      if (yych <= '\t') {
7941
615
        if (yych <= 0x00) goto yy583;
7942
296
        goto yy586;
7943
731
      } else {
7944
731
        if (yych <= '\n') goto yy495;
7945
453
        if (yych <= '\f') goto yy586;
7946
218
        goto yy495;
7947
453
      }
7948
15.5k
    } else {
7949
15.5k
      if (yych <= 'M') {
7950
5.06k
        if (yych <= 'L') goto yy586;
7951
4.74k
        goto yy741;
7952
10.4k
      } else {
7953
10.4k
        if (yych == 'm') goto yy741;
7954
313
        goto yy586;
7955
10.4k
      }
7956
15.5k
    }
7957
8.82k
yy668:
7958
8.82k
    YYDEBUG(668, *YYCURSOR);
7959
8.82k
    ++YYCURSOR;
7960
8.82k
    YYFILL(1);
7961
8.82k
    yych = *YYCURSOR;
7962
8.82k
    YYDEBUG(669, *YYCURSOR);
7963
8.82k
    if (yych <= '*') {
7964
4.49k
      if (yych <= 0x00) goto yy86;
7965
3.39k
      if (yych <= ')') goto yy590;
7966
937
      goto yy668;
7967
4.33k
    } else {
7968
4.33k
      if (yych == '/') goto yy495;
7969
2.48k
      goto yy590;
7970
4.33k
    }
7971
10.2k
yy670:
7972
10.2k
    YYDEBUG(670, *YYCURSOR);
7973
10.2k
    yyaccept = 61;
7974
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
7975
10.2k
    if (yybm[256+yych] & 128) {
7976
246
      goto yy47;
7977
246
    }
7978
9.98k
    if (yych == '\\') goto yy164;
7979
9.98k
yy671:
7980
9.98k
    YYDEBUG(671, *YYCURSOR);
7981
9.98k
    yyleng = YYCURSOR - SCNG(yy_text);
7982
9.98k
#line 1579 "Zend/zend_language_scanner.l"
7983
9.98k
    {
7984
9.98k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7985
9.98k
}
7986
0
#line 7987 "Zend/zend_language_scanner.c"
7987
2.70k
yy672:
7988
2.70k
    YYDEBUG(672, *YYCURSOR);
7989
2.70k
    yyaccept = 62;
7990
2.70k
    yych = *(YYMARKER = ++YYCURSOR);
7991
2.70k
    if (yybm[256+yych] & 128) {
7992
254
      goto yy47;
7993
254
    }
7994
2.45k
    if (yych == '\\') goto yy164;
7995
2.45k
yy673:
7996
2.45k
    YYDEBUG(673, *YYCURSOR);
7997
2.45k
    yyleng = YYCURSOR - SCNG(yy_text);
7998
2.45k
#line 1446 "Zend/zend_language_scanner.l"
7999
2.45k
    {
8000
2.45k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8001
2.45k
}
8002
0
#line 8003 "Zend/zend_language_scanner.c"
8003
3.92k
yy674:
8004
3.92k
    YYDEBUG(674, *YYCURSOR);
8005
3.92k
    yyaccept = 63;
8006
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
8007
3.92k
    if (yybm[256+yych] & 128) {
8008
437
      goto yy47;
8009
437
    }
8010
3.49k
    if (yych == '\\') goto yy164;
8011
3.49k
yy675:
8012
3.49k
    YYDEBUG(675, *YYCURSOR);
8013
3.49k
    yyleng = YYCURSOR - SCNG(yy_text);
8014
3.49k
#line 1490 "Zend/zend_language_scanner.l"
8015
3.49k
    {
8016
3.49k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8017
3.49k
}
8018
0
#line 8019 "Zend/zend_language_scanner.c"
8019
29.3k
yy676:
8020
29.3k
    YYDEBUG(676, *YYCURSOR);
8021
29.3k
    yyaccept = 4;
8022
29.3k
    yych = *(YYMARKER = ++YYCURSOR);
8023
29.3k
    if (yych == 'N') goto yy742;
8024
29.1k
    if (yych == 'n') goto yy742;
8025
334
    goto yy48;
8026
4.13k
yy677:
8027
4.13k
    YYDEBUG(677, *YYCURSOR);
8028
4.13k
    yyaccept = 4;
8029
4.13k
    yych = *(YYMARKER = ++YYCURSOR);
8030
4.13k
    if (yych == 'N') goto yy744;
8031
3.44k
    if (yych == 'n') goto yy744;
8032
720
    goto yy48;
8033
5.92k
yy678:
8034
5.92k
    YYDEBUG(678, *YYCURSOR);
8035
5.92k
    yyaccept = 64;
8036
5.92k
    yych = *(YYMARKER = ++YYCURSOR);
8037
5.92k
    if (yych <= '\\') {
8038
1.64k
      if (yych <= '@') {
8039
977
        if (yych <= '/') goto yy679;
8040
488
        if (yych <= '9') goto yy47;
8041
667
      } else {
8042
667
        if (yych <= 'Z') goto yy47;
8043
458
        if (yych >= '\\') goto yy164;
8044
458
      }
8045
4.27k
    } else {
8046
4.27k
      if (yych <= '`') {
8047
3.21k
        if (yych == '_') goto yy745;
8048
3.21k
      } else {
8049
1.06k
        if (yych <= 'z') goto yy47;
8050
815
        if (yych >= 0x80) goto yy47;
8051
815
      }
8052
4.27k
    }
8053
2.12k
yy679:
8054
2.12k
    YYDEBUG(679, *YYCURSOR);
8055
2.12k
    yyleng = YYCURSOR - SCNG(yy_text);
8056
2.12k
#line 1722 "Zend/zend_language_scanner.l"
8057
2.12k
    {
8058
2.12k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8059
2.12k
}
8060
0
#line 8061 "Zend/zend_language_scanner.c"
8061
2.37k
yy680:
8062
2.37k
    YYDEBUG(680, *YYCURSOR);
8063
2.37k
    yyaccept = 4;
8064
2.37k
    yych = *(YYMARKER = ++YYCURSOR);
8065
2.37k
    if (yych == 'E') goto yy746;
8066
1.89k
    if (yych == 'e') goto yy746;
8067
227
    goto yy48;
8068
2.86k
yy681:
8069
2.86k
    YYDEBUG(681, *YYCURSOR);
8070
2.86k
    yyaccept = 4;
8071
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
8072
2.86k
    if (yych == 'O') goto yy747;
8073
2.66k
    if (yych == 'o') goto yy747;
8074
229
    goto yy48;
8075
3.30k
yy682:
8076
3.30k
    YYDEBUG(682, *YYCURSOR);
8077
3.30k
    yyaccept = 4;
8078
3.30k
    yych = *(YYMARKER = ++YYCURSOR);
8079
3.30k
    if (yych == 'C') goto yy748;
8080
3.09k
    if (yych == 'c') goto yy748;
8081
284
    goto yy48;
8082
10.8k
yy683:
8083
10.8k
    YYDEBUG(683, *YYCURSOR);
8084
10.8k
    yyaccept = 4;
8085
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
8086
10.8k
    if (yych == 'C') goto yy749;
8087
9.93k
    if (yych == 'c') goto yy749;
8088
460
    goto yy48;
8089
4.34k
yy684:
8090
4.34k
    YYDEBUG(684, *YYCURSOR);
8091
4.34k
    yyaccept = 65;
8092
4.34k
    yych = *(YYMARKER = ++YYCURSOR);
8093
4.34k
    if (yybm[256+yych] & 128) {
8094
453
      goto yy47;
8095
453
    }
8096
3.88k
    if (yych == '(') goto yy750;
8097
2.31k
    if (yych == '\\') goto yy164;
8098
3.29k
yy685:
8099
3.29k
    YYDEBUG(685, *YYCURSOR);
8100
3.29k
    yyleng = YYCURSOR - SCNG(yy_text);
8101
3.29k
#line 1778 "Zend/zend_language_scanner.l"
8102
3.29k
    {
8103
3.29k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8104
3.29k
}
8105
0
#line 8106 "Zend/zend_language_scanner.c"
8106
3.99k
yy686:
8107
3.99k
    YYDEBUG(686, *YYCURSOR);
8108
3.99k
    yyaccept = 4;
8109
3.99k
    yych = *(YYMARKER = ++YYCURSOR);
8110
3.99k
    if (yych == 'E') goto yy751;
8111
3.08k
    if (yych == 'e') goto yy751;
8112
279
    goto yy48;
8113
2.03k
yy687:
8114
2.03k
    YYDEBUG(687, *YYCURSOR);
8115
2.03k
    yych = *++YYCURSOR;
8116
2.03k
    if (yych == 'S') goto yy752;
8117
1.24k
    if (yych == 's') goto yy752;
8118
318
    goto yy86;
8119
2.56k
yy688:
8120
2.56k
    YYDEBUG(688, *YYCURSOR);
8121
2.56k
    yyaccept = 4;
8122
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
8123
2.56k
    if (yych == 'Y') goto yy753;
8124
2.36k
    if (yych == 'y') goto yy753;
8125
440
    goto yy48;
8126
4.65k
yy689:
8127
4.65k
    YYDEBUG(689, *YYCURSOR);
8128
4.65k
    yyaccept = 66;
8129
4.65k
    yych = *(YYMARKER = ++YYCURSOR);
8130
4.65k
    if (yych <= '\\') {
8131
1.84k
      if (yych <= '@') {
8132
1.20k
        if (yych <= '/') goto yy690;
8133
573
        if (yych <= '9') goto yy47;
8134
641
      } else {
8135
641
        if (yych <= 'Z') goto yy47;
8136
425
        if (yych >= '\\') goto yy164;
8137
425
      }
8138
2.81k
    } else {
8139
2.81k
      if (yych <= '`') {
8140
2.14k
        if (yych == '_') goto yy755;
8141
2.14k
      } else {
8142
667
        if (yych <= 'z') goto yy47;
8143
411
        if (yych >= 0x80) goto yy47;
8144
411
      }
8145
2.81k
    }
8146
1.80k
yy690:
8147
1.80k
    YYDEBUG(690, *YYCURSOR);
8148
1.80k
    yyleng = YYCURSOR - SCNG(yy_text);
8149
1.80k
#line 1730 "Zend/zend_language_scanner.l"
8150
1.80k
    {
8151
1.80k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8152
1.80k
}
8153
0
#line 8154 "Zend/zend_language_scanner.c"
8154
6.02k
yy691:
8155
6.02k
    YYDEBUG(691, *YYCURSOR);
8156
6.02k
    yych = *++YYCURSOR;
8157
6.02k
    if (yych == 'R') goto yy756;
8158
4.74k
    if (yych == 'r') goto yy756;
8159
2.79k
    goto yy86;
8160
551k
yy692:
8161
551k
    YYDEBUG(692, *YYCURSOR);
8162
551k
    ++YYCURSOR;
8163
551k
    YYFILL(1);
8164
551k
    yych = *YYCURSOR;
8165
551k
    YYDEBUG(693, *YYCURSOR);
8166
551k
    if (yych <= '\n') {
8167
87.2k
      if (yych <= 0x00) goto yy86;
8168
84.1k
      if (yych <= '\t') goto yy692;
8169
80.2k
      goto yy616;
8170
464k
    } else {
8171
464k
      if (yych == '\r') goto yy616;
8172
456k
      goto yy692;
8173
464k
    }
8174
118k
yy694:
8175
118k
    YYDEBUG(694, *YYCURSOR);
8176
118k
    ++YYCURSOR;
8177
118k
    YYFILL(1);
8178
118k
    yych = *YYCURSOR;
8179
118k
    YYDEBUG(695, *YYCURSOR);
8180
118k
    if (yych <= ' ') {
8181
5.09k
      if (yych <= '\n') {
8182
2.42k
        if (yych <= 0x00) goto yy86;
8183
2.08k
        if (yych <= 0x08) goto yy692;
8184
1.84k
        if (yych <= '\t') goto yy694;
8185
1.63k
        goto yy616;
8186
2.67k
      } else {
8187
2.67k
        if (yych == '\r') goto yy616;
8188
998
        if (yych <= 0x1F) goto yy692;
8189
719
        goto yy694;
8190
998
      }
8191
113k
    } else {
8192
113k
      if (yych <= '/') {
8193
59.1k
        if (yych == '#') goto yy757;
8194
54.5k
        if (yych <= '.') goto yy692;
8195
43.7k
        goto yy758;
8196
54.6k
      } else {
8197
54.6k
        if (yych <= 'F') {
8198
31.6k
          if (yych <= 'E') goto yy692;
8199
17.3k
          goto yy759;
8200
31.6k
        } else {
8201
22.9k
          if (yych == 'f') goto yy759;
8202
21.3k
          goto yy692;
8203
22.9k
        }
8204
54.6k
      }
8205
113k
    }
8206
896k
yy696:
8207
896k
    YYDEBUG(696, *YYCURSOR);
8208
896k
    ++YYCURSOR;
8209
896k
    YYFILL(1);
8210
896k
    yych = *YYCURSOR;
8211
896k
    YYDEBUG(697, *YYCURSOR);
8212
896k
    if (yych <= 0x00) goto yy86;
8213
883k
    if (yych == '*') goto yy760;
8214
841k
    goto yy696;
8215
841k
yy698:
8216
8.07k
    YYDEBUG(698, *YYCURSOR);
8217
8.07k
    yyaccept = 4;
8218
8.07k
    yych = *(YYMARKER = ++YYCURSOR);
8219
8.07k
    if (yych == '_') goto yy762;
8220
357
    goto yy48;
8221
2.55k
yy699:
8222
2.55k
    YYDEBUG(699, *YYCURSOR);
8223
2.55k
    yyaccept = 67;
8224
2.55k
    yych = *(YYMARKER = ++YYCURSOR);
8225
2.55k
    if (yybm[256+yych] & 128) {
8226
518
      goto yy47;
8227
518
    }
8228
2.03k
    if (yych == '\\') goto yy164;
8229
1.90k
yy700:
8230
1.90k
    YYDEBUG(700, *YYCURSOR);
8231
1.90k
    yyleng = YYCURSOR - SCNG(yy_text);
8232
1.90k
#line 2281 "Zend/zend_language_scanner.l"
8233
1.90k
    {
8234
1.90k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8235
1.90k
}
8236
0
#line 8237 "Zend/zend_language_scanner.c"
8237
1.37k
yy701:
8238
1.37k
    YYDEBUG(701, *YYCURSOR);
8239
1.37k
    yyaccept = 4;
8240
1.37k
    yych = *(YYMARKER = ++YYCURSOR);
8241
1.37k
    if (yych == '_') goto yy763;
8242
259
    goto yy48;
8243
3.42k
yy702:
8244
3.42k
    YYDEBUG(702, *YYCURSOR);
8245
3.42k
    yyaccept = 4;
8246
3.42k
    yych = *(YYMARKER = ++YYCURSOR);
8247
3.42k
    if (yych == 'I') goto yy765;
8248
2.88k
    if (yych == 'i') goto yy765;
8249
354
    goto yy48;
8250
3.09k
yy703:
8251
3.09k
    YYDEBUG(703, *YYCURSOR);
8252
3.09k
    yyaccept = 4;
8253
3.09k
    yych = *(YYMARKER = ++YYCURSOR);
8254
3.09k
    if (yych == 'C') goto yy766;
8255
2.35k
    if (yych == 'c') goto yy766;
8256
372
    goto yy48;
8257
1.38k
yy704:
8258
1.38k
    YYDEBUG(704, *YYCURSOR);
8259
1.38k
    yyaccept = 4;
8260
1.38k
    yych = *(YYMARKER = ++YYCURSOR);
8261
1.38k
    if (yych == '_') goto yy767;
8262
322
    goto yy48;
8263
3.30k
yy705:
8264
3.30k
    YYDEBUG(705, *YYCURSOR);
8265
3.30k
    yyaccept = 4;
8266
3.30k
    yych = *(YYMARKER = ++YYCURSOR);
8267
3.30k
    if (yych == 'D') goto yy769;
8268
2.81k
    if (yych == 'd') goto yy769;
8269
269
    goto yy48;
8270
3.85k
yy706:
8271
3.85k
    YYDEBUG(706, *YYCURSOR);
8272
3.85k
    yyaccept = 4;
8273
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
8274
3.85k
    if (yych == 'P') goto yy770;
8275
2.99k
    if (yych == 'p') goto yy770;
8276
272
    goto yy48;
8277
2.95k
yy707:
8278
2.95k
    YYDEBUG(707, *YYCURSOR);
8279
2.95k
    yyaccept = 4;
8280
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
8281
2.95k
    if (yych == 'R') goto yy771;
8282
1.03k
    if (yych == 'r') goto yy771;
8283
255
    goto yy48;
8284
3.38k
yy708:
8285
3.38k
    YYDEBUG(708, *YYCURSOR);
8286
3.38k
    yyaccept = 4;
8287
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
8288
3.38k
    if (yych == '_') goto yy772;
8289
302
    goto yy48;
8290
18.1k
yy709:
8291
18.1k
    YYDEBUG(709, *YYCURSOR);
8292
18.1k
    ++YYCURSOR;
8293
18.1k
    YYFILL(1);
8294
18.1k
    yych = *YYCURSOR;
8295
18.1k
    YYDEBUG(710, *YYCURSOR);
8296
18.1k
    if (yych <= ' ') {
8297
2.53k
      if (yych <= '\n') {
8298
1.48k
        if (yych <= 0x00) goto yy86;
8299
1.24k
        if (yych <= 0x08) goto yy443;
8300
965
        if (yych <= '\t') goto yy709;
8301
702
        goto yy545;
8302
1.05k
      } else {
8303
1.05k
        if (yych == '\r') goto yy545;
8304
730
        if (yych <= 0x1F) goto yy443;
8305
232
        goto yy709;
8306
730
      }
8307
15.6k
    } else {
8308
15.6k
      if (yych <= ')') {
8309
4.52k
        if (yych <= '"') goto yy443;
8310
4.32k
        if (yych <= '#') goto yy773;
8311
1.87k
        if (yych <= '$') goto yy774;
8312
1.18k
        goto yy443;
8313
11.1k
      } else {
8314
11.1k
        if (yych <= '-') {
8315
624
          if (yych <= '*') goto yy547;
8316
354
          goto yy443;
8317
10.4k
        } else {
8318
10.4k
          if (yych <= '.') goto yy775;
8319
5.55k
          if (yych <= '/') goto yy776;
8320
1.77k
          goto yy443;
8321
5.55k
        }
8322
11.1k
      }
8323
15.6k
    }
8324
836
yy711:
8325
836
    YYDEBUG(711, *YYCURSOR);
8326
836
    ++YYCURSOR;
8327
836
    YYFILL(1);
8328
836
    yych = *YYCURSOR;
8329
836
    if (yybm[0+yych] & 64) {
8330
236
      goto yy355;
8331
236
    }
8332
600
    if (yych <= 0x00) goto yy86;
8333
402
    if (yych == '.') goto yy631;
8334
199
    goto yy230;
8335
1.13k
yy712:
8336
1.13k
    YYDEBUG(712, *YYCURSOR);
8337
1.13k
    ++YYCURSOR;
8338
1.13k
    YYFILL(1);
8339
1.13k
    yych = *YYCURSOR;
8340
1.13k
    if (yybm[0+yych] & 64) {
8341
200
      goto yy355;
8342
200
    }
8343
939
    if (yych <= 0x00) goto yy86;
8344
725
    if (yych == '/') goto yy545;
8345
433
    goto yy230;
8346
433
yy713:
8347
416
    YYDEBUG(713, *YYCURSOR);
8348
416
    ++YYCURSOR;
8349
416
    YYDEBUG(714, *YYCURSOR);
8350
416
    yyleng = YYCURSOR - SCNG(yy_text);
8351
416
#line 1678 "Zend/zend_language_scanner.l"
8352
416
    {
8353
416
  if (PARSER_MODE()) {
8354
73
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8355
73
    if (EG(exception)) {
8356
0
      RETURN_TOKEN(T_ERROR);
8357
0
    }
8358
73
  }
8359
416
  RETURN_TOKEN(T_STRING_CAST);
8360
416
}
8361
0
#line 8362 "Zend/zend_language_scanner.c"
8362
1.67k
yy715:
8363
1.67k
    YYDEBUG(715, *YYCURSOR);
8364
1.67k
    ++YYCURSOR;
8365
1.67k
    YYFILL(1);
8366
1.67k
    yych = *YYCURSOR;
8367
1.67k
    YYDEBUG(716, *YYCURSOR);
8368
1.67k
    if (yych <= 0x1F) {
8369
508
      if (yych == '\t') goto yy715;
8370
313
      goto yy86;
8371
1.16k
    } else {
8372
1.16k
      if (yych <= ' ') goto yy715;
8373
967
      if (yych == ')') goto yy777;
8374
560
      goto yy86;
8375
967
    }
8376
404
yy717:
8377
404
    YYDEBUG(717, *YYCURSOR);
8378
404
    ++YYCURSOR;
8379
404
    YYDEBUG(718, *YYCURSOR);
8380
404
    yyleng = YYCURSOR - SCNG(yy_text);
8381
404
#line 1656 "Zend/zend_language_scanner.l"
8382
404
    {
8383
404
  if (PARSER_MODE()) {
8384
202
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8385
202
    if (EG(exception)) {
8386
0
      RETURN_TOKEN(T_ERROR);
8387
0
    }
8388
202
  }
8389
404
  RETURN_TOKEN(T_DOUBLE_CAST);
8390
404
}
8391
0
#line 8392 "Zend/zend_language_scanner.c"
8392
2.40k
yy719:
8393
2.40k
    YYDEBUG(719, *YYCURSOR);
8394
2.40k
    ++YYCURSOR;
8395
2.40k
    YYFILL(1);
8396
2.40k
    yych = *YYCURSOR;
8397
2.40k
    YYDEBUG(720, *YYCURSOR);
8398
2.40k
    if (yych <= 0x1F) {
8399
1.36k
      if (yych == '\t') goto yy719;
8400
291
      goto yy86;
8401
1.36k
    } else {
8402
1.03k
      if (yych <= ' ') goto yy719;
8403
814
      if (yych == ')') goto yy779;
8404
352
      goto yy86;
8405
814
    }
8406
521
yy721:
8407
521
    YYDEBUG(721, *YYCURSOR);
8408
521
    ++YYCURSOR;
8409
521
    YYDEBUG(722, *YYCURSOR);
8410
521
    yyleng = YYCURSOR - SCNG(yy_text);
8411
521
#line 1692 "Zend/zend_language_scanner.l"
8412
521
    {
8413
521
  RETURN_TOKEN(T_OBJECT_CAST);
8414
521
}
8415
0
#line 8416 "Zend/zend_language_scanner.c"
8416
773
yy723:
8417
773
    YYDEBUG(723, *YYCURSOR);
8418
773
    ++YYCURSOR;
8419
773
    YYDEBUG(724, *YYCURSOR);
8420
773
    yyleng = YYCURSOR - SCNG(yy_text);
8421
773
#line 1674 "Zend/zend_language_scanner.l"
8422
773
    {
8423
773
  RETURN_TOKEN(T_STRING_CAST);
8424
773
}
8425
0
#line 8426 "Zend/zend_language_scanner.c"
8426
2.30k
yy725:
8427
2.30k
    YYDEBUG(725, *YYCURSOR);
8428
2.30k
    yyaccept = 68;
8429
2.30k
    yych = *(YYMARKER = ++YYCURSOR);
8430
2.30k
    if (yybm[256+yych] & 128) {
8431
436
      goto yy47;
8432
436
    }
8433
1.86k
    if (yych == '\\') goto yy164;
8434
1.86k
yy726:
8435
1.86k
    YYDEBUG(726, *YYCURSOR);
8436
1.86k
    yyleng = YYCURSOR - SCNG(yy_text);
8437
1.86k
#line 1770 "Zend/zend_language_scanner.l"
8438
1.86k
    {
8439
1.86k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8440
1.86k
}
8441
0
#line 8442 "Zend/zend_language_scanner.c"
8442
1.22k
yy727:
8443
1.22k
    YYDEBUG(727, *YYCURSOR);
8444
1.22k
    yyaccept = 69;
8445
1.22k
    yych = *(YYMARKER = ++YYCURSOR);
8446
1.22k
    if (yybm[256+yych] & 128) {
8447
376
      goto yy47;
8448
376
    }
8449
849
    if (yych == '\\') goto yy164;
8450
849
yy728:
8451
849
    YYDEBUG(728, *YYCURSOR);
8452
849
    yyleng = YYCURSOR - SCNG(yy_text);
8453
849
#line 1822 "Zend/zend_language_scanner.l"
8454
849
    {
8455
849
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8456
849
}
8457
0
#line 8458 "Zend/zend_language_scanner.c"
8458
1.92k
yy729:
8459
1.92k
    YYDEBUG(729, *YYCURSOR);
8460
1.92k
    yyaccept = 70;
8461
1.92k
    yych = *(YYMARKER = ++YYCURSOR);
8462
1.92k
    if (yybm[256+yych] & 128) {
8463
244
      goto yy47;
8464
244
    }
8465
1.68k
    if (yych == '\\') goto yy164;
8466
1.58k
yy730:
8467
1.58k
    YYDEBUG(730, *YYCURSOR);
8468
1.58k
    yyleng = YYCURSOR - SCNG(yy_text);
8469
1.58k
#line 1538 "Zend/zend_language_scanner.l"
8470
1.58k
    {
8471
1.58k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8472
1.58k
}
8473
0
#line 8474 "Zend/zend_language_scanner.c"
8474
2.12k
yy731:
8475
2.12k
    YYDEBUG(731, *YYCURSOR);
8476
2.12k
    yyaccept = 4;
8477
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
8478
2.12k
    if (yych == 'R') goto yy781;
8479
1.53k
    if (yych == 'r') goto yy781;
8480
628
    goto yy48;
8481
1.66k
yy732:
8482
1.66k
    YYDEBUG(732, *YYCURSOR);
8483
1.66k
    yyaccept = 4;
8484
1.66k
    yych = *(YYMARKER = ++YYCURSOR);
8485
1.66k
    if (yych == 'C') goto yy782;
8486
1.34k
    if (yych == 'c') goto yy782;
8487
464
    goto yy48;
8488
1.39k
yy733:
8489
1.39k
    YYDEBUG(733, *YYCURSOR);
8490
1.39k
    yyaccept = 4;
8491
1.39k
    yych = *(YYMARKER = ++YYCURSOR);
8492
1.39k
    if (yych == 'H') goto yy783;
8493
1.16k
    if (yych == 'h') goto yy783;
8494
518
    goto yy48;
8495
1.20k
yy734:
8496
1.20k
    YYDEBUG(734, *YYCURSOR);
8497
1.20k
    yyaccept = 71;
8498
1.20k
    yych = *(YYMARKER = ++YYCURSOR);
8499
1.20k
    if (yybm[256+yych] & 128) {
8500
489
      goto yy47;
8501
489
    }
8502
714
    if (yych == '\\') goto yy164;
8503
714
yy735:
8504
714
    YYDEBUG(735, *YYCURSOR);
8505
714
    yyleng = YYCURSOR - SCNG(yy_text);
8506
714
#line 1474 "Zend/zend_language_scanner.l"
8507
714
    {
8508
714
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8509
714
}
8510
0
#line 8511 "Zend/zend_language_scanner.c"
8511
1.87k
yy736:
8512
1.87k
    YYDEBUG(736, *YYCURSOR);
8513
1.87k
    yych = *++YYCURSOR;
8514
1.87k
    if (yych == 'E') goto yy785;
8515
1.65k
    if (yych == 'e') goto yy785;
8516
406
    goto yy86;
8517
2.05k
yy737:
8518
2.05k
    YYDEBUG(737, *YYCURSOR);
8519
2.05k
    yych = *++YYCURSOR;
8520
2.05k
    if (yych == 'L') goto yy786;
8521
1.24k
    if (yych == 'l') goto yy786;
8522
207
    goto yy86;
8523
260k
yy738:
8524
260k
    YYDEBUG(738, *YYCURSOR);
8525
260k
    ++YYCURSOR;
8526
260k
    YYFILL(1);
8527
260k
    yych = *YYCURSOR;
8528
260k
    YYDEBUG(739, *YYCURSOR);
8529
260k
    if (yych <= '\f') {
8530
42.0k
      if (yych <= 0x00) goto yy86;
8531
32.9k
      if (yych == '\n') goto yy787;
8532
7.87k
      goto yy738;
8533
218k
    } else {
8534
218k
      if (yych <= '\r') goto yy787;
8535
174k
      if (yych == '*') goto yy789;
8536
169k
      goto yy738;
8537
174k
    }
8538
10.2k
yy740:
8539
10.2k
    YYDEBUG(740, *YYCURSOR);
8540
10.2k
    ++YYCURSOR;
8541
10.2k
    YYFILL(1);
8542
10.2k
    yych = *YYCURSOR;
8543
10.2k
    if (yych <= '\r') {
8544
1.15k
      if (yych <= '\t') {
8545
401
        if (yych <= 0x00) goto yy86;
8546
198
        goto yy586;
8547
756
      } else {
8548
756
        if (yych <= '\n') goto yy495;
8549
426
        if (yych <= '\f') goto yy586;
8550
206
        goto yy495;
8551
426
      }
8552
9.08k
    } else {
8553
9.08k
      if (yych <= 'T') {
8554
1.67k
        if (yych <= 'S') goto yy586;
8555
1.40k
        goto yy791;
8556
7.40k
      } else {
8557
7.40k
        if (yych == 't') goto yy791;
8558
655
        goto yy586;
8559
7.40k
      }
8560
9.08k
    }
8561
14.9k
yy741:
8562
14.9k
    YYDEBUG(741, *YYCURSOR);
8563
14.9k
    ++YYCURSOR;
8564
14.9k
    YYFILL(1);
8565
14.9k
    yych = *YYCURSOR;
8566
14.9k
    if (yych <= '\r') {
8567
1.32k
      if (yych <= '\t') {
8568
442
        if (yych <= 0x00) goto yy86;
8569
216
        goto yy586;
8570
887
      } else {
8571
887
        if (yych <= '\n') goto yy495;
8572
573
        if (yych <= '\f') goto yy586;
8573
363
        goto yy495;
8574
573
      }
8575
13.5k
    } else {
8576
13.5k
      if (yych <= 'P') {
8577
4.53k
        if (yych <= 'O') goto yy586;
8578
3.78k
        goto yy792;
8579
9.04k
      } else {
8580
9.04k
        if (yych == 'p') goto yy792;
8581
401
        goto yy586;
8582
9.04k
      }
8583
13.5k
    }
8584
29.0k
yy742:
8585
29.0k
    YYDEBUG(742, *YYCURSOR);
8586
29.0k
    yyaccept = 72;
8587
29.0k
    yych = *(YYMARKER = ++YYCURSOR);
8588
29.0k
    if (yybm[256+yych] & 128) {
8589
382
      goto yy47;
8590
382
    }
8591
28.6k
    if (yych == '\\') goto yy164;
8592
28.6k
yy743:
8593
28.6k
    YYDEBUG(743, *YYCURSOR);
8594
28.6k
    yyleng = YYCURSOR - SCNG(yy_text);
8595
28.6k
#line 1411 "Zend/zend_language_scanner.l"
8596
28.6k
    {
8597
28.6k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8598
28.6k
}
8599
0
#line 8600 "Zend/zend_language_scanner.c"
8600
3.41k
yy744:
8601
3.41k
    YYDEBUG(744, *YYCURSOR);
8602
3.41k
    yyaccept = 4;
8603
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
8604
3.41k
    if (yych == 'T') goto yy793;
8605
3.03k
    if (yych == 't') goto yy793;
8606
665
    goto yy48;
8607
2.81k
yy745:
8608
2.81k
    YYDEBUG(745, *YYCURSOR);
8609
2.81k
    yyaccept = 4;
8610
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
8611
2.81k
    if (yych == 'O') goto yy794;
8612
1.85k
    if (yych == 'o') goto yy794;
8613
359
    goto yy48;
8614
2.14k
yy746:
8615
2.14k
    YYDEBUG(746, *YYCURSOR);
8616
2.14k
    yyaccept = 4;
8617
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
8618
2.14k
    if (yych == 'O') goto yy795;
8619
1.86k
    if (yych == 'o') goto yy795;
8620
227
    goto yy48;
8621
2.64k
yy747:
8622
2.64k
    YYDEBUG(747, *YYCURSOR);
8623
2.64k
    yyaccept = 4;
8624
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
8625
2.64k
    if (yych == 'F') goto yy796;
8626
2.26k
    if (yych == 'f') goto yy796;
8627
425
    goto yy48;
8628
3.02k
yy748:
8629
3.02k
    YYDEBUG(748, *YYCURSOR);
8630
3.02k
    yyaccept = 4;
8631
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
8632
3.02k
    if (yych == 'E') goto yy798;
8633
2.74k
    if (yych == 'e') goto yy798;
8634
438
    goto yy48;
8635
10.3k
yy749:
8636
10.3k
    YYDEBUG(749, *YYCURSOR);
8637
10.3k
    yyaccept = 4;
8638
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
8639
10.3k
    if (yych == 'E') goto yy800;
8640
9.70k
    if (yych == 'e') goto yy800;
8641
489
    goto yy48;
8642
1.57k
yy750:
8643
1.57k
    YYDEBUG(750, *YYCURSOR);
8644
1.57k
    yych = *++YYCURSOR;
8645
1.57k
    if (yych == 'S') goto yy802;
8646
1.26k
    if (yych == 's') goto yy802;
8647
222
    goto yy86;
8648
3.71k
yy751:
8649
3.71k
    YYDEBUG(751, *YYCURSOR);
8650
3.71k
    yyaccept = 4;
8651
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
8652
3.71k
    if (yych == 'D') goto yy803;
8653
2.92k
    if (yych == 'd') goto yy803;
8654
219
    goto yy48;
8655
1.71k
yy752:
8656
1.71k
    YYDEBUG(752, *YYCURSOR);
8657
1.71k
    yych = *++YYCURSOR;
8658
1.71k
    if (yych == 'E') goto yy805;
8659
1.34k
    if (yych == 'e') goto yy805;
8660
302
    goto yy86;
8661
2.12k
yy753:
8662
2.12k
    YYDEBUG(753, *YYCURSOR);
8663
2.12k
    yyaccept = 73;
8664
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
8665
2.12k
    if (yybm[256+yych] & 128) {
8666
445
      goto yy47;
8667
445
    }
8668
1.67k
    if (yych == '\\') goto yy164;
8669
1.67k
yy754:
8670
1.67k
    YYDEBUG(754, *YYCURSOR);
8671
1.67k
    yyleng = YYCURSOR - SCNG(yy_text);
8672
1.67k
#line 1802 "Zend/zend_language_scanner.l"
8673
1.67k
    {
8674
1.67k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8675
1.67k
}
8676
0
#line 8677 "Zend/zend_language_scanner.c"
8677
1.93k
yy755:
8678
1.93k
    YYDEBUG(755, *YYCURSOR);
8679
1.93k
    yyaccept = 4;
8680
1.93k
    yych = *(YYMARKER = ++YYCURSOR);
8681
1.93k
    if (yych == 'O') goto yy806;
8682
1.55k
    if (yych == 'o') goto yy806;
8683
281
    goto yy48;
8684
3.23k
yy756:
8685
3.23k
    YYDEBUG(756, *YYCURSOR);
8686
3.23k
    yych = *++YYCURSOR;
8687
3.23k
    if (yych == 'O') goto yy807;
8688
2.15k
    if (yych == 'o') goto yy807;
8689
295
    goto yy86;
8690
4.68k
yy757:
8691
4.68k
    YYDEBUG(757, *YYCURSOR);
8692
4.68k
    ++YYCURSOR;
8693
4.68k
    YYFILL(1);
8694
4.68k
    yych = *YYCURSOR;
8695
4.68k
    if (yych <= '\n') {
8696
3.29k
      if (yych <= 0x00) goto yy86;
8697
2.94k
      if (yych <= '\t') goto yy692;
8698
2.74k
      goto yy694;
8699
2.94k
    } else {
8700
1.39k
      if (yych == '\r') goto yy694;
8701
547
      goto yy692;
8702
1.39k
    }
8703
43.7k
yy758:
8704
43.7k
    YYDEBUG(758, *YYCURSOR);
8705
43.7k
    ++YYCURSOR;
8706
43.7k
    YYFILL(1);
8707
43.7k
    yych = *YYCURSOR;
8708
43.7k
    if (yych <= '\f') {
8709
1.03k
      if (yych <= 0x00) goto yy86;
8710
825
      if (yych == '\n') goto yy616;
8711
457
      goto yy692;
8712
42.6k
    } else {
8713
42.6k
      if (yych <= '\r') goto yy616;
8714
42.3k
      if (yych == '*') goto yy808;
8715
14.6k
      goto yy692;
8716
42.3k
    }
8717
18.9k
yy759:
8718
18.9k
    YYDEBUG(759, *YYCURSOR);
8719
18.9k
    ++YYCURSOR;
8720
18.9k
    YYFILL(1);
8721
18.9k
    yych = *YYCURSOR;
8722
18.9k
    if (yych <= '\r') {
8723
1.52k
      if (yych <= '\t') {
8724
504
        if (yych <= 0x00) goto yy86;
8725
269
        goto yy692;
8726
1.01k
      } else {
8727
1.01k
        if (yych <= '\n') goto yy616;
8728
461
        if (yych <= '\f') goto yy692;
8729
263
        goto yy616;
8730
461
      }
8731
17.4k
    } else {
8732
17.4k
      if (yych <= 'R') {
8733
14.6k
        if (yych <= 'Q') goto yy692;
8734
11.5k
        goto yy810;
8735
14.6k
      } else {
8736
2.81k
        if (yych == 'r') goto yy810;
8737
1.53k
        goto yy692;
8738
2.81k
      }
8739
17.4k
    }
8740
45.3k
yy760:
8741
45.3k
    YYDEBUG(760, *YYCURSOR);
8742
45.3k
    ++YYCURSOR;
8743
45.3k
    YYFILL(1);
8744
45.3k
    yych = *YYCURSOR;
8745
45.3k
    YYDEBUG(761, *YYCURSOR);
8746
45.3k
    if (yych <= '*') {
8747
39.0k
      if (yych <= 0x00) goto yy86;
8748
38.5k
      if (yych <= ')') goto yy696;
8749
1.53k
      goto yy760;
8750
38.5k
    } else {
8751
6.22k
      if (yych == '/') goto yy616;
8752
3.05k
      goto yy696;
8753
6.22k
    }
8754
7.72k
yy762:
8755
7.72k
    YYDEBUG(762, *YYCURSOR);
8756
7.72k
    yyaccept = 4;
8757
7.72k
    yych = *(YYMARKER = ++YYCURSOR);
8758
7.72k
    if (yych == '_') goto yy811;
8759
424
    goto yy48;
8760
1.11k
yy763:
8761
1.11k
    YYDEBUG(763, *YYCURSOR);
8762
1.11k
    yyaccept = 74;
8763
1.11k
    yych = *(YYMARKER = ++YYCURSOR);
8764
1.11k
    if (yybm[256+yych] & 128) {
8765
311
      goto yy47;
8766
311
    }
8767
802
    if (yych == '\\') goto yy164;
8768
802
yy764:
8769
802
    YYDEBUG(764, *YYCURSOR);
8770
802
    yyleng = YYCURSOR - SCNG(yy_text);
8771
802
#line 2277 "Zend/zend_language_scanner.l"
8772
802
    {
8773
802
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8774
802
}
8775
0
#line 8776 "Zend/zend_language_scanner.c"
8776
3.06k
yy765:
8777
3.06k
    YYDEBUG(765, *YYCURSOR);
8778
3.06k
    yyaccept = 4;
8779
3.06k
    yych = *(YYMARKER = ++YYCURSOR);
8780
3.06k
    if (yych == 'O') goto yy813;
8781
2.75k
    if (yych == 'o') goto yy813;
8782
323
    goto yy48;
8783
2.72k
yy766:
8784
2.72k
    YYDEBUG(766, *YYCURSOR);
8785
2.72k
    yyaccept = 4;
8786
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
8787
2.72k
    if (yych == 'O') goto yy814;
8788
2.17k
    if (yych == 'o') goto yy814;
8789
306
    goto yy48;
8790
1.05k
yy767:
8791
1.05k
    YYDEBUG(767, *YYCURSOR);
8792
1.05k
    yyaccept = 75;
8793
1.05k
    yych = *(YYMARKER = ++YYCURSOR);
8794
1.05k
    if (yybm[256+yych] & 128) {
8795
325
      goto yy47;
8796
325
    }
8797
733
    if (yych == '\\') goto yy164;
8798
733
yy768:
8799
733
    YYDEBUG(768, *YYCURSOR);
8800
733
    yyleng = YYCURSOR - SCNG(yy_text);
8801
733
#line 2273 "Zend/zend_language_scanner.l"
8802
733
    {
8803
733
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8804
733
}
8805
0
#line 8806 "Zend/zend_language_scanner.c"
8806
3.03k
yy769:
8807
3.03k
    YYDEBUG(769, *YYCURSOR);
8808
3.03k
    yyaccept = 4;
8809
3.03k
    yych = *(YYMARKER = ++YYCURSOR);
8810
3.03k
    if (yych == '_') goto yy815;
8811
391
    goto yy48;
8812
3.58k
yy770:
8813
3.58k
    YYDEBUG(770, *YYCURSOR);
8814
3.58k
    yyaccept = 4;
8815
3.58k
    yych = *(YYMARKER = ++YYCURSOR);
8816
3.58k
    if (yych == 'A') goto yy816;
8817
2.73k
    if (yych == 'a') goto yy816;
8818
307
    goto yy48;
8819
2.69k
yy771:
8820
2.69k
    YYDEBUG(771, *YYCURSOR);
8821
2.69k
    yyaccept = 4;
8822
2.69k
    yych = *(YYMARKER = ++YYCURSOR);
8823
2.69k
    if (yych == 'T') goto yy817;
8824
1.02k
    if (yych == 't') goto yy817;
8825
427
    goto yy48;
8826
3.08k
yy772:
8827
3.08k
    YYDEBUG(772, *YYCURSOR);
8828
3.08k
    yyaccept = 4;
8829
3.08k
    yych = *(YYMARKER = ++YYCURSOR);
8830
3.08k
    if (yych == '_') goto yy818;
8831
414
    goto yy48;
8832
2.44k
yy773:
8833
2.44k
    YYDEBUG(773, *YYCURSOR);
8834
2.44k
    ++YYCURSOR;
8835
2.44k
    YYFILL(1);
8836
2.44k
    yych = *YYCURSOR;
8837
2.44k
    if (yybm[0+yych] & 128) {
8838
590
      goto yy443;
8839
590
    }
8840
1.85k
    if (yych <= 0x00) goto yy86;
8841
1.62k
    if (yych <= '\r') goto yy709;
8842
243
    goto yy547;
8843
1.07k
yy774:
8844
1.07k
    YYDEBUG(774, *YYCURSOR);
8845
1.07k
    yyaccept = 26;
8846
1.07k
    YYMARKER = ++YYCURSOR;
8847
1.07k
    YYFILL(1);
8848
1.07k
    yych = *YYCURSOR;
8849
1.07k
    if (yybm[0+yych] & 128) {
8850
300
      goto yy443;
8851
300
    }
8852
772
    if (yych <= 0x00) goto yy89;
8853
523
    if (yych <= '\r') goto yy545;
8854
274
    goto yy547;
8855
4.93k
yy775:
8856
4.93k
    YYDEBUG(775, *YYCURSOR);
8857
4.93k
    ++YYCURSOR;
8858
4.93k
    YYFILL(1);
8859
4.93k
    yych = *YYCURSOR;
8860
4.93k
    if (yych <= '\r') {
8861
1.01k
      if (yych <= '\t') {
8862
403
        if (yych <= 0x00) goto yy86;
8863
201
        goto yy443;
8864
608
      } else {
8865
608
        if (yych <= '\n') goto yy545;
8866
409
        if (yych <= '\f') goto yy443;
8867
214
        goto yy545;
8868
409
      }
8869
3.92k
    } else {
8870
3.92k
      if (yych <= '*') {
8871
1.57k
        if (yych <= ')') goto yy443;
8872
607
        goto yy547;
8873
2.35k
      } else {
8874
2.35k
        if (yych == '.') goto yy820;
8875
212
        goto yy443;
8876
2.35k
      }
8877
3.92k
    }
8878
3.77k
yy776:
8879
3.77k
    YYDEBUG(776, *YYCURSOR);
8880
3.77k
    ++YYCURSOR;
8881
3.77k
    YYFILL(1);
8882
3.77k
    yych = *YYCURSOR;
8883
3.77k
    if (yybm[0+yych] & 128) {
8884
396
      goto yy443;
8885
396
    }
8886
3.38k
    if (yych <= 0x00) goto yy86;
8887
3.18k
    if (yych <= '\r') goto yy545;
8888
2.91k
    goto yy821;
8889
2.91k
yy777:
8890
407
    YYDEBUG(777, *YYCURSOR);
8891
407
    ++YYCURSOR;
8892
407
    YYDEBUG(778, *YYCURSOR);
8893
407
    yyleng = YYCURSOR - SCNG(yy_text);
8894
407
#line 1700 "Zend/zend_language_scanner.l"
8895
407
    {
8896
407
  if (PARSER_MODE()) {
8897
204
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8898
204
    if (EG(exception)) {
8899
0
      RETURN_TOKEN(T_ERROR);
8900
0
    }
8901
204
  }
8902
407
  RETURN_TOKEN(T_BOOL_CAST);
8903
407
}
8904
0
#line 8905 "Zend/zend_language_scanner.c"
8905
462
yy779:
8906
462
    YYDEBUG(779, *YYCURSOR);
8907
462
    ++YYCURSOR;
8908
462
    YYDEBUG(780, *YYCURSOR);
8909
462
    yyleng = YYCURSOR - SCNG(yy_text);
8910
462
#line 1642 "Zend/zend_language_scanner.l"
8911
462
    {
8912
462
  if (PARSER_MODE()) {
8913
77
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8914
77
    if (EG(exception)) {
8915
0
      RETURN_TOKEN(T_ERROR);
8916
0
    }
8917
77
  }
8918
462
  RETURN_TOKEN(T_INT_CAST);
8919
462
}
8920
0
#line 8921 "Zend/zend_language_scanner.c"
8921
1.49k
yy781:
8922
1.49k
    YYDEBUG(781, *YYCURSOR);
8923
1.49k
    yyaccept = 4;
8924
1.49k
    yych = *(YYMARKER = ++YYCURSOR);
8925
1.49k
    if (yych == 'E') goto yy822;
8926
1.12k
    if (yych == 'e') goto yy822;
8927
320
    goto yy48;
8928
1.19k
yy782:
8929
1.19k
    YYDEBUG(782, *YYCURSOR);
8930
1.19k
    yyaccept = 4;
8931
1.19k
    yych = *(YYMARKER = ++YYCURSOR);
8932
1.19k
    if (yych == 'H') goto yy824;
8933
887
    if (yych == 'h') goto yy824;
8934
322
    goto yy48;
8935
875
yy783:
8936
875
    YYDEBUG(783, *YYCURSOR);
8937
875
    yyaccept = 76;
8938
875
    yych = *(YYMARKER = ++YYCURSOR);
8939
875
    if (yybm[256+yych] & 128) {
8940
340
      goto yy47;
8941
340
    }
8942
535
    if (yych == '\\') goto yy164;
8943
535
yy784:
8944
535
    YYDEBUG(784, *YYCURSOR);
8945
535
    yyleng = YYCURSOR - SCNG(yy_text);
8946
535
#line 1522 "Zend/zend_language_scanner.l"
8947
535
    {
8948
535
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8949
535
}
8950
0
#line 8951 "Zend/zend_language_scanner.c"
8951
1.47k
yy785:
8952
1.47k
    YYDEBUG(785, *YYCURSOR);
8953
1.47k
    yych = *++YYCURSOR;
8954
1.47k
    if (yych == 'N') goto yy826;
8955
1.18k
    if (yych == 'n') goto yy826;
8956
229
    goto yy86;
8957
1.85k
yy786:
8958
1.85k
    YYDEBUG(786, *YYCURSOR);
8959
1.85k
    yych = *++YYCURSOR;
8960
1.85k
    if (yych == 'E') goto yy827;
8961
1.07k
    if (yych == 'e') goto yy827;
8962
201
    goto yy86;
8963
103k
yy787:
8964
103k
    YYDEBUG(787, *YYCURSOR);
8965
103k
    ++YYCURSOR;
8966
103k
    YYFILL(1);
8967
103k
    yych = *YYCURSOR;
8968
103k
    YYDEBUG(788, *YYCURSOR);
8969
103k
    if (yych <= '@') {
8970
83.3k
      if (yych <= ' ') {
8971
19.5k
        if (yych <= '\n') {
8972
9.09k
          if (yych <= 0x00) goto yy86;
8973
7.58k
          if (yych <= 0x08) goto yy590;
8974
7.20k
          goto yy787;
8975
10.4k
        } else {
8976
10.4k
          if (yych == '\r') goto yy787;
8977
4.87k
          if (yych <= 0x1F) goto yy590;
8978
4.54k
          goto yy787;
8979
4.87k
        }
8980
63.7k
      } else {
8981
63.7k
        if (yych <= ')') {
8982
59.7k
          if (yych == '#') goto yy828;
8983
2.36k
          goto yy590;
8984
59.7k
        } else {
8985
4.04k
          if (yych <= '*') goto yy668;
8986
3.78k
          if (yych == '/') goto yy829;
8987
494
          goto yy590;
8988
3.78k
        }
8989
63.7k
      }
8990
83.3k
    } else {
8991
20.1k
      if (yych <= '_') {
8992
6.08k
        if (yych <= 'H') {
8993
1.28k
          if (yych == 'E') goto yy831;
8994
846
          goto yy830;
8995
4.80k
        } else {
8996
4.80k
          if (yych <= 'I') goto yy832;
8997
882
          if (yych <= 'Z') goto yy830;
8998
676
          if (yych <= '^') goto yy590;
8999
480
          goto yy830;
9000
676
        }
9001
14.0k
      } else {
9002
14.0k
        if (yych <= 'h') {
9003
6.47k
          if (yych <= '`') goto yy590;
9004
6.26k
          if (yych == 'e') goto yy831;
9005
397
          goto yy830;
9006
7.61k
        } else {
9007
7.61k
          if (yych <= 'i') goto yy832;
9008
3.12k
          if (yych <= 'z') goto yy830;
9009
1.82k
          if (yych <= 0x7F) goto yy590;
9010
1.44k
          goto yy830;
9011
1.82k
        }
9012
14.0k
      }
9013
20.1k
    }
9014
10.2k
yy789:
9015
10.2k
    YYDEBUG(789, *YYCURSOR);
9016
10.2k
    ++YYCURSOR;
9017
10.2k
    YYFILL(1);
9018
10.2k
    yych = *YYCURSOR;
9019
10.2k
    YYDEBUG(790, *YYCURSOR);
9020
10.2k
    if (yych <= '\r') {
9021
4.65k
      if (yych <= '\t') {
9022
826
        if (yych <= 0x00) goto yy86;
9023
285
        goto yy738;
9024
3.82k
      } else {
9025
3.82k
        if (yych <= '\n') goto yy787;
9026
2.11k
        if (yych <= '\f') goto yy738;
9027
1.82k
        goto yy787;
9028
2.11k
      }
9029
5.64k
    } else {
9030
5.64k
      if (yych <= '*') {
9031
1.72k
        if (yych <= ')') goto yy738;
9032
650
        goto yy789;
9033
3.91k
      } else {
9034
3.91k
        if (yych == '/') goto yy588;
9035
2.90k
        goto yy738;
9036
3.91k
      }
9037
5.64k
    }
9038
8.16k
yy791:
9039
8.16k
    YYDEBUG(791, *YYCURSOR);
9040
8.16k
    ++YYCURSOR;
9041
8.16k
    YYFILL(1);
9042
8.16k
    yych = *YYCURSOR;
9043
8.16k
    if (yych <= '\r') {
9044
1.07k
      if (yych <= '\t') {
9045
441
        if (yych <= 0x00) goto yy86;
9046
217
        goto yy586;
9047
630
      } else {
9048
630
        if (yych <= '\n') goto yy495;
9049
431
        if (yych <= '\f') goto yy586;
9050
230
        goto yy495;
9051
431
      }
9052
7.09k
    } else {
9053
7.09k
      if (yych <= 'E') {
9054
1.65k
        if (yych <= 'D') goto yy586;
9055
1.46k
        goto yy833;
9056
5.43k
      } else {
9057
5.43k
        if (yych == 'e') goto yy833;
9058
207
        goto yy586;
9059
5.43k
      }
9060
7.09k
    }
9061
12.4k
yy792:
9062
12.4k
    YYDEBUG(792, *YYCURSOR);
9063
12.4k
    ++YYCURSOR;
9064
12.4k
    YYFILL(1);
9065
12.4k
    yych = *YYCURSOR;
9066
12.4k
    if (yych <= '\r') {
9067
1.03k
      if (yych <= '\t') {
9068
430
        if (yych <= 0x00) goto yy86;
9069
201
        goto yy586;
9070
602
      } else {
9071
602
        if (yych <= '\n') goto yy495;
9072
403
        if (yych <= '\f') goto yy586;
9073
200
        goto yy495;
9074
403
      }
9075
11.4k
    } else {
9076
11.4k
      if (yych <= 'L') {
9077
4.59k
        if (yych <= 'K') goto yy586;
9078
3.93k
        goto yy834;
9079
6.81k
      } else {
9080
6.81k
        if (yych == 'l') goto yy834;
9081
468
        goto yy586;
9082
6.81k
      }
9083
11.4k
    }
9084
2.74k
yy793:
9085
2.74k
    YYDEBUG(793, *YYCURSOR);
9086
2.74k
    yyaccept = 4;
9087
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
9088
2.74k
    if (yych == 'S') goto yy835;
9089
2.34k
    if (yych == 's') goto yy835;
9090
429
    goto yy48;
9091
2.45k
yy794:
9092
2.45k
    YYDEBUG(794, *YYCURSOR);
9093
2.45k
    yyaccept = 4;
9094
2.45k
    yych = *(YYMARKER = ++YYCURSOR);
9095
2.45k
    if (yych == 'N') goto yy837;
9096
1.54k
    if (yych == 'n') goto yy837;
9097
341
    goto yy48;
9098
1.91k
yy795:
9099
1.91k
    YYDEBUG(795, *YYCURSOR);
9100
1.91k
    yyaccept = 4;
9101
1.91k
    yych = *(YYMARKER = ++YYCURSOR);
9102
1.91k
    if (yych == 'F') goto yy838;
9103
1.67k
    if (yych == 'f') goto yy838;
9104
299
    goto yy48;
9105
2.21k
yy796:
9106
2.21k
    YYDEBUG(796, *YYCURSOR);
9107
2.21k
    yyaccept = 77;
9108
2.21k
    yych = *(YYMARKER = ++YYCURSOR);
9109
2.21k
    if (yybm[256+yych] & 128) {
9110
429
      goto yy47;
9111
429
    }
9112
1.78k
    if (yych == '\\') goto yy164;
9113
1.78k
yy797:
9114
1.78k
    YYDEBUG(797, *YYCURSOR);
9115
1.78k
    yyleng = YYCURSOR - SCNG(yy_text);
9116
1.78k
#line 1746 "Zend/zend_language_scanner.l"
9117
1.78k
    {
9118
1.78k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9119
1.78k
}
9120
0
#line 9121 "Zend/zend_language_scanner.c"
9121
2.58k
yy798:
9122
2.58k
    YYDEBUG(798, *YYCURSOR);
9123
2.58k
    yyaccept = 78;
9124
2.58k
    yych = *(YYMARKER = ++YYCURSOR);
9125
2.58k
    if (yybm[256+yych] & 128) {
9126
251
      goto yy47;
9127
251
    }
9128
2.33k
    if (yych == '\\') goto yy164;
9129
2.33k
yy799:
9130
2.33k
    YYDEBUG(799, *YYCURSOR);
9131
2.33k
    yyleng = YYCURSOR - SCNG(yy_text);
9132
2.33k
#line 1558 "Zend/zend_language_scanner.l"
9133
2.33k
    {
9134
2.33k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9135
2.33k
}
9136
0
#line 9137 "Zend/zend_language_scanner.c"
9137
9.86k
yy800:
9138
9.86k
    YYDEBUG(800, *YYCURSOR);
9139
9.86k
    yyaccept = 79;
9140
9.86k
    yych = *(YYMARKER = ++YYCURSOR);
9141
9.86k
    if (yybm[256+yych] & 128) {
9142
428
      goto yy47;
9143
428
    }
9144
9.43k
    if (yych == '\\') goto yy840;
9145
7.01k
yy801:
9146
7.01k
    YYDEBUG(801, *YYCURSOR);
9147
7.01k
    yyleng = YYCURSOR - SCNG(yy_text);
9148
7.01k
#line 1738 "Zend/zend_language_scanner.l"
9149
7.01k
    {
9150
7.01k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9151
7.01k
}
9152
0
#line 9153 "Zend/zend_language_scanner.c"
9153
1.34k
yy802:
9154
1.34k
    YYDEBUG(802, *YYCURSOR);
9155
1.34k
    yych = *++YYCURSOR;
9156
1.34k
    if (yych == 'E') goto yy841;
9157
1.14k
    if (yych == 'e') goto yy841;
9158
282
    goto yy86;
9159
3.49k
yy803:
9160
3.49k
    YYDEBUG(803, *YYCURSOR);
9161
3.49k
    yyaccept = 80;
9162
3.49k
    yych = *(YYMARKER = ++YYCURSOR);
9163
3.49k
    if (yybm[256+yych] & 128) {
9164
225
      goto yy47;
9165
225
    }
9166
3.27k
    if (yych == '(') goto yy842;
9167
1.71k
    if (yych == '\\') goto yy164;
9168
2.73k
yy804:
9169
2.73k
    YYDEBUG(804, *YYCURSOR);
9170
2.73k
    yyleng = YYCURSOR - SCNG(yy_text);
9171
2.73k
#line 1782 "Zend/zend_language_scanner.l"
9172
2.73k
    {
9173
2.73k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9174
2.73k
}
9175
0
#line 9176 "Zend/zend_language_scanner.c"
9176
1.41k
yy805:
9177
1.41k
    YYDEBUG(805, *YYCURSOR);
9178
1.41k
    yych = *++YYCURSOR;
9179
1.41k
    if (yych == 'T') goto yy843;
9180
704
    if (yych == 't') goto yy843;
9181
210
    goto yy86;
9182
1.65k
yy806:
9183
1.65k
    YYDEBUG(806, *YYCURSOR);
9184
1.65k
    yyaccept = 4;
9185
1.65k
    yych = *(YYMARKER = ++YYCURSOR);
9186
1.65k
    if (yych == 'N') goto yy844;
9187
1.43k
    if (yych == 'n') goto yy844;
9188
212
    goto yy48;
9189
2.93k
yy807:
9190
2.93k
    YYDEBUG(807, *YYCURSOR);
9191
2.93k
    yych = *++YYCURSOR;
9192
2.93k
    if (yych == 'M') goto yy845;
9193
2.13k
    if (yych == 'm') goto yy845;
9194
265
    goto yy86;
9195
213k
yy808:
9196
213k
    YYDEBUG(808, *YYCURSOR);
9197
213k
    ++YYCURSOR;
9198
213k
    YYFILL(1);
9199
213k
    yych = *YYCURSOR;
9200
213k
    YYDEBUG(809, *YYCURSOR);
9201
213k
    if (yych <= '\f') {
9202
53.5k
      if (yych <= 0x00) goto yy86;
9203
49.3k
      if (yych == '\n') goto yy846;
9204
10.8k
      goto yy808;
9205
159k
    } else {
9206
159k
      if (yych <= '\r') goto yy846;
9207
147k
      if (yych == '*') goto yy848;
9208
140k
      goto yy808;
9209
147k
    }
9210
12.8k
yy810:
9211
12.8k
    YYDEBUG(810, *YYCURSOR);
9212
12.8k
    ++YYCURSOR;
9213
12.8k
    YYFILL(1);
9214
12.8k
    yych = *YYCURSOR;
9215
12.8k
    if (yych <= '\r') {
9216
1.38k
      if (yych <= '\t') {
9217
409
        if (yych <= 0x00) goto yy86;
9218
207
        goto yy692;
9219
974
      } else {
9220
974
        if (yych <= '\n') goto yy616;
9221
435
        if (yych <= '\f') goto yy692;
9222
213
        goto yy616;
9223
435
      }
9224
11.4k
    } else {
9225
11.4k
      if (yych <= 'O') {
9226
9.78k
        if (yych <= 'N') goto yy692;
9227
9.26k
        goto yy850;
9228
9.78k
      } else {
9229
1.71k
        if (yych == 'o') goto yy850;
9230
481
        goto yy692;
9231
1.71k
      }
9232
11.4k
    }
9233
7.29k
yy811:
9234
7.29k
    YYDEBUG(811, *YYCURSOR);
9235
7.29k
    yyaccept = 81;
9236
7.29k
    yych = *(YYMARKER = ++YYCURSOR);
9237
7.29k
    if (yybm[256+yych] & 128) {
9238
294
      goto yy47;
9239
294
    }
9240
7.00k
    if (yych == '\\') goto yy164;
9241
7.00k
yy812:
9242
7.00k
    YYDEBUG(812, *YYCURSOR);
9243
7.00k
    yyleng = YYCURSOR - SCNG(yy_text);
9244
7.00k
#line 2253 "Zend/zend_language_scanner.l"
9245
7.00k
    {
9246
7.00k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9247
7.00k
}
9248
0
#line 9249 "Zend/zend_language_scanner.c"
9249
2.74k
yy813:
9250
2.74k
    YYDEBUG(813, *YYCURSOR);
9251
2.74k
    yyaccept = 4;
9252
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
9253
2.74k
    if (yych == 'N') goto yy851;
9254
1.46k
    if (yych == 'n') goto yy851;
9255
335
    goto yy48;
9256
2.41k
yy814:
9257
2.41k
    YYDEBUG(814, *YYCURSOR);
9258
2.41k
    yyaccept = 4;
9259
2.41k
    yych = *(YYMARKER = ++YYCURSOR);
9260
2.41k
    if (yych == 'M') goto yy852;
9261
1.82k
    if (yych == 'm') goto yy852;
9262
299
    goto yy48;
9263
2.64k
yy815:
9264
2.64k
    YYDEBUG(815, *YYCURSOR);
9265
2.64k
    yyaccept = 4;
9266
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
9267
2.64k
    if (yych == '_') goto yy853;
9268
258
    goto yy48;
9269
3.27k
yy816:
9270
3.27k
    YYDEBUG(816, *YYCURSOR);
9271
3.27k
    yyaccept = 4;
9272
3.27k
    yych = *(YYMARKER = ++YYCURSOR);
9273
3.27k
    if (yych == 'C') goto yy855;
9274
2.68k
    if (yych == 'c') goto yy855;
9275
400
    goto yy48;
9276
2.27k
yy817:
9277
2.27k
    YYDEBUG(817, *YYCURSOR);
9278
2.27k
    yyaccept = 4;
9279
2.27k
    yych = *(YYMARKER = ++YYCURSOR);
9280
2.27k
    if (yych == 'Y') goto yy856;
9281
483
    if (yych == 'y') goto yy856;
9282
287
    goto yy48;
9283
2.67k
yy818:
9284
2.67k
    YYDEBUG(818, *YYCURSOR);
9285
2.67k
    yyaccept = 82;
9286
2.67k
    yych = *(YYMARKER = ++YYCURSOR);
9287
2.67k
    if (yybm[256+yych] & 128) {
9288
390
      goto yy47;
9289
390
    }
9290
2.28k
    if (yych == '\\') goto yy164;
9291
2.28k
yy819:
9292
2.28k
    YYDEBUG(819, *YYCURSOR);
9293
2.28k
    yyleng = YYCURSOR - SCNG(yy_text);
9294
2.28k
#line 2257 "Zend/zend_language_scanner.l"
9295
2.28k
    {
9296
2.28k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9297
2.28k
}
9298
0
#line 9299 "Zend/zend_language_scanner.c"
9299
2.14k
yy820:
9300
2.14k
    YYDEBUG(820, *YYCURSOR);
9301
2.14k
    ++YYCURSOR;
9302
2.14k
    YYFILL(1);
9303
2.14k
    yych = *YYCURSOR;
9304
2.14k
    if (yych <= '\r') {
9305
1.10k
      if (yych <= '\t') {
9306
413
        if (yych <= 0x00) goto yy86;
9307
198
        goto yy443;
9308
689
      } else {
9309
689
        if (yych <= '\n') goto yy545;
9310
407
        if (yych <= '\f') goto yy443;
9311
198
        goto yy545;
9312
407
      }
9313
1.10k
    } else {
9314
1.04k
      if (yych <= '*') {
9315
458
        if (yych <= ')') goto yy443;
9316
196
        goto yy547;
9317
586
      } else {
9318
586
        if (yych == '.') goto yy774;
9319
201
        goto yy443;
9320
586
      }
9321
1.04k
    }
9322
2.91k
yy821:
9323
2.91k
    YYDEBUG(821, *YYCURSOR);
9324
2.91k
    ++YYCURSOR;
9325
2.91k
    YYFILL(1);
9326
2.91k
    yych = *YYCURSOR;
9327
2.91k
    if (yych <= '\r') {
9328
1.54k
      if (yych <= '\t') {
9329
658
        if (yych <= 0x00) goto yy86;
9330
308
        goto yy443;
9331
886
      } else {
9332
886
        if (yych <= '\n') goto yy545;
9333
440
        if (yych <= '\f') goto yy443;
9334
242
        goto yy545;
9335
440
      }
9336
1.54k
    } else {
9337
1.37k
      if (yych <= '*') {
9338
439
        if (yych <= ')') goto yy443;
9339
222
        goto yy547;
9340
934
      } else {
9341
934
        if (yych == '/') goto yy709;
9342
657
        goto yy443;
9343
934
      }
9344
1.37k
    }
9345
1.17k
yy822:
9346
1.17k
    YYDEBUG(822, *YYCURSOR);
9347
1.17k
    yyaccept = 83;
9348
1.17k
    yych = *(YYMARKER = ++YYCURSOR);
9349
1.17k
    if (yybm[256+yych] & 128) {
9350
543
      goto yy47;
9351
543
    }
9352
630
    if (yych == '\\') goto yy164;
9353
494
yy823:
9354
494
    YYDEBUG(823, *YYCURSOR);
9355
494
    yyleng = YYCURSOR - SCNG(yy_text);
9356
494
#line 1502 "Zend/zend_language_scanner.l"
9357
494
    {
9358
494
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9359
494
}
9360
0
#line 9361 "Zend/zend_language_scanner.c"
9361
877
yy824:
9362
877
    YYDEBUG(824, *YYCURSOR);
9363
877
    yyaccept = 84;
9364
877
    yych = *(YYMARKER = ++YYCURSOR);
9365
877
    if (yybm[256+yych] & 128) {
9366
240
      goto yy47;
9367
240
    }
9368
637
    if (yych == '\\') goto yy164;
9369
637
yy825:
9370
637
    YYDEBUG(825, *YYCURSOR);
9371
637
    yyleng = YYCURSOR - SCNG(yy_text);
9372
637
#line 1494 "Zend/zend_language_scanner.l"
9373
637
    {
9374
637
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9375
637
}
9376
0
#line 9377 "Zend/zend_language_scanner.c"
9377
1.24k
yy826:
9378
1.24k
    YYDEBUG(826, *YYCURSOR);
9379
1.24k
    yych = *++YYCURSOR;
9380
1.24k
    if (yych == 'D') goto yy857;
9381
1.00k
    if (yych == 'd') goto yy857;
9382
560
    goto yy86;
9383
1.65k
yy827:
9384
1.65k
    YYDEBUG(827, *YYCURSOR);
9385
1.65k
    yych = *++YYCURSOR;
9386
1.65k
    if (yych == 'M') goto yy858;
9387
911
    if (yych == 'm') goto yy858;
9388
245
    goto yy86;
9389
57.3k
yy828:
9390
57.3k
    YYDEBUG(828, *YYCURSOR);
9391
57.3k
    ++YYCURSOR;
9392
57.3k
    YYFILL(1);
9393
57.3k
    yych = *YYCURSOR;
9394
57.3k
    if (yych <= '\r') {
9395
50.3k
      if (yych <= '\t') {
9396
843
        if (yych <= 0x00) goto yy86;
9397
576
        goto yy738;
9398
49.5k
      } else {
9399
49.5k
        if (yych <= '\n') goto yy859;
9400
28.0k
        if (yych <= '\f') goto yy738;
9401
27.6k
        goto yy859;
9402
28.0k
      }
9403
50.3k
    } else {
9404
7.01k
      if (yych <= '*') {
9405
1.89k
        if (yych <= ')') goto yy738;
9406
542
        goto yy789;
9407
5.11k
      } else {
9408
5.11k
        if (yych == '[') goto yy590;
9409
4.91k
        goto yy738;
9410
5.11k
      }
9411
7.01k
    }
9412
3.29k
yy829:
9413
3.29k
    YYDEBUG(829, *YYCURSOR);
9414
3.29k
    ++YYCURSOR;
9415
3.29k
    YYFILL(1);
9416
3.29k
    yych = *YYCURSOR;
9417
3.29k
    if (yych <= '*') {
9418
2.53k
      if (yych <= 0x00) goto yy86;
9419
2.27k
      if (yych <= ')') goto yy590;
9420
1.73k
      goto yy861;
9421
2.27k
    } else {
9422
754
      if (yych == '/') goto yy738;
9423
492
      goto yy590;
9424
754
    }
9425
4.67k
yy830:
9426
4.67k
    YYDEBUG(830, *YYCURSOR);
9427
4.67k
    yyaccept = 53;
9428
4.67k
    YYMARKER = ++YYCURSOR;
9429
4.67k
    YYFILL(1);
9430
4.67k
    yych = *YYCURSOR;
9431
4.67k
    if (yych <= 0x00) goto yy583;
9432
3.66k
    if (yych == '*') goto yy668;
9433
3.37k
    goto yy590;
9434
6.30k
yy831:
9435
6.30k
    YYDEBUG(831, *YYCURSOR);
9436
6.30k
    yyaccept = 53;
9437
6.30k
    YYMARKER = ++YYCURSOR;
9438
6.30k
    YYFILL(1);
9439
6.30k
    yych = *YYCURSOR;
9440
6.30k
    if (yych <= 'W') {
9441
1.23k
      if (yych <= 0x00) goto yy583;
9442
997
      if (yych == '*') goto yy668;
9443
792
      goto yy590;
9444
5.07k
    } else {
9445
5.07k
      if (yych <= 'X') goto yy862;
9446
4.79k
      if (yych == 'x') goto yy862;
9447
486
      goto yy590;
9448
4.79k
    }
9449
8.41k
yy832:
9450
8.41k
    YYDEBUG(832, *YYCURSOR);
9451
8.41k
    yyaccept = 53;
9452
8.41k
    YYMARKER = ++YYCURSOR;
9453
8.41k
    YYFILL(1);
9454
8.41k
    yych = *YYCURSOR;
9455
8.41k
    if (yych <= 'L') {
9456
833
      if (yych <= 0x00) goto yy583;
9457
466
      if (yych == '*') goto yy668;
9458
248
      goto yy590;
9459
7.57k
    } else {
9460
7.57k
      if (yych <= 'M') goto yy863;
9461
4.00k
      if (yych == 'm') goto yy863;
9462
365
      goto yy590;
9463
4.00k
    }
9464
6.68k
yy833:
9465
6.68k
    YYDEBUG(833, *YYCURSOR);
9466
6.68k
    ++YYCURSOR;
9467
6.68k
    YYFILL(1);
9468
6.68k
    yych = *YYCURSOR;
9469
6.68k
    if (yych <= '\r') {
9470
1.11k
      if (yych <= '\t') {
9471
436
        if (yych <= 0x00) goto yy86;
9472
218
        goto yy586;
9473
680
      } else {
9474
680
        if (yych <= '\n') goto yy495;
9475
483
        if (yych <= '\f') goto yy586;
9476
285
        goto yy495;
9477
483
      }
9478
5.57k
    } else {
9479
5.57k
      if (yych <= 'N') {
9480
1.94k
        if (yych <= 'M') goto yy586;
9481
1.35k
        goto yy864;
9482
3.63k
      } else {
9483
3.63k
        if (yych == 'n') goto yy864;
9484
435
        goto yy586;
9485
3.63k
      }
9486
5.57k
    }
9487
10.2k
yy834:
9488
10.2k
    YYDEBUG(834, *YYCURSOR);
9489
10.2k
    ++YYCURSOR;
9490
10.2k
    YYFILL(1);
9491
10.2k
    yych = *YYCURSOR;
9492
10.2k
    if (yych <= '\r') {
9493
1.29k
      if (yych <= '\t') {
9494
624
        if (yych <= 0x00) goto yy86;
9495
330
        goto yy586;
9496
672
      } else {
9497
672
        if (yych <= '\n') goto yy495;
9498
406
        if (yych <= '\f') goto yy586;
9499
207
        goto yy495;
9500
406
      }
9501
8.97k
    } else {
9502
8.97k
      if (yych <= 'E') {
9503
3.48k
        if (yych <= 'D') goto yy586;
9504
3.16k
        goto yy865;
9505
5.49k
      } else {
9506
5.49k
        if (yych == 'e') goto yy865;
9507
231
        goto yy586;
9508
5.49k
      }
9509
8.97k
    }
9510
2.31k
yy835:
9511
2.31k
    YYDEBUG(835, *YYCURSOR);
9512
2.31k
    yyaccept = 85;
9513
2.31k
    yych = *(YYMARKER = ++YYCURSOR);
9514
2.31k
    if (yybm[256+yych] & 128) {
9515
301
      goto yy47;
9516
301
    }
9517
2.01k
    if (yych == '\\') goto yy164;
9518
2.01k
yy836:
9519
2.01k
    YYDEBUG(836, *YYCURSOR);
9520
2.01k
    yyleng = YYCURSOR - SCNG(yy_text);
9521
2.01k
#line 1583 "Zend/zend_language_scanner.l"
9522
2.01k
    {
9523
2.01k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9524
2.01k
}
9525
0
#line 9526 "Zend/zend_language_scanner.c"
9526
2.11k
yy837:
9527
2.11k
    YYDEBUG(837, *YYCURSOR);
9528
2.11k
    yyaccept = 4;
9529
2.11k
    yych = *(YYMARKER = ++YYCURSOR);
9530
2.11k
    if (yych == 'C') goto yy866;
9531
1.80k
    if (yych == 'c') goto yy866;
9532
657
    goto yy48;
9533
1.61k
yy838:
9534
1.61k
    YYDEBUG(838, *YYCURSOR);
9535
1.61k
    yyaccept = 86;
9536
1.61k
    yych = *(YYMARKER = ++YYCURSOR);
9537
1.61k
    if (yybm[256+yych] & 128) {
9538
258
      goto yy47;
9539
258
    }
9540
1.35k
    if (yych == '\\') goto yy164;
9541
1.34k
yy839:
9542
1.34k
    YYDEBUG(839, *YYCURSOR);
9543
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
9544
1.34k
#line 1506 "Zend/zend_language_scanner.l"
9545
1.34k
    {
9546
1.34k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9547
1.34k
}
9548
0
#line 9549 "Zend/zend_language_scanner.c"
9549
4.58k
yy840:
9550
4.58k
    YYDEBUG(840, *YYCURSOR);
9551
4.58k
    ++YYCURSOR;
9552
4.58k
    YYFILL(1);
9553
4.58k
    yych = *YYCURSOR;
9554
4.58k
    if (yych <= '_') {
9555
1.54k
      if (yych <= '@') goto yy86;
9556
1.28k
      if (yych <= 'Z') goto yy867;
9557
590
      if (yych <= '^') goto yy86;
9558
361
      goto yy867;
9559
3.04k
    } else {
9560
3.04k
      if (yych <= '`') goto yy86;
9561
2.84k
      if (yych <= 'z') goto yy867;
9562
1.03k
      if (yych <= 0x7F) goto yy86;
9563
822
      goto yy867;
9564
1.03k
    }
9565
1.06k
yy841:
9566
1.06k
    YYDEBUG(841, *YYCURSOR);
9567
1.06k
    yych = *++YYCURSOR;
9568
1.06k
    if (yych == 'T') goto yy870;
9569
867
    if (yych == 't') goto yy870;
9570
303
    goto yy86;
9571
1.55k
yy842:
9572
1.55k
    YYDEBUG(842, *YYCURSOR);
9573
1.55k
    yych = *++YYCURSOR;
9574
1.55k
    if (yych == 'S') goto yy871;
9575
1.18k
    if (yych == 's') goto yy871;
9576
203
    goto yy86;
9577
1.20k
yy843:
9578
1.20k
    YYDEBUG(843, *YYCURSOR);
9579
1.20k
    yych = *++YYCURSOR;
9580
1.20k
    if (yych == ')') goto yy872;
9581
293
    goto yy86;
9582
1.44k
yy844:
9583
1.44k
    YYDEBUG(844, *YYCURSOR);
9584
1.44k
    yyaccept = 4;
9585
1.44k
    yych = *(YYMARKER = ++YYCURSOR);
9586
1.44k
    if (yych == 'C') goto yy874;
9587
1.24k
    if (yych == 'c') goto yy874;
9588
217
    goto yy48;
9589
2.67k
yy845:
9590
2.67k
    YYDEBUG(845, *YYCURSOR);
9591
2.67k
    yych = *++YYCURSOR;
9592
2.67k
    if (yych <= '^') {
9593
1.39k
      if (yych <= '9') {
9594
774
        if (yych <= '/') goto yy875;
9595
253
        goto yy86;
9596
774
      } else {
9597
625
        if (yych <= '@') goto yy875;
9598
402
        if (yych <= 'Z') goto yy86;
9599
204
        goto yy875;
9600
402
      }
9601
1.39k
    } else {
9602
1.27k
      if (yych <= '`') {
9603
504
        if (yych <= '_') goto yy86;
9604
198
        goto yy875;
9605
770
      } else {
9606
770
        if (yych <= 'z') goto yy86;
9607
480
        if (yych <= 0x7F) goto yy875;
9608
232
        goto yy86;
9609
480
      }
9610
1.27k
    }
9611
74.6k
yy846:
9612
74.6k
    YYDEBUG(846, *YYCURSOR);
9613
74.6k
    ++YYCURSOR;
9614
74.6k
    YYFILL(1);
9615
74.6k
    yych = *YYCURSOR;
9616
74.6k
    YYDEBUG(847, *YYCURSOR);
9617
74.6k
    if (yych <= '#') {
9618
56.8k
      if (yych <= '\f') {
9619
6.73k
        if (yych <= 0x00) goto yy86;
9620
5.93k
        if (yych <= 0x08) goto yy696;
9621
5.60k
        if (yych <= '\n') goto yy846;
9622
250
        goto yy696;
9623
50.1k
      } else {
9624
50.1k
        if (yych <= 0x1F) {
9625
5.22k
          if (yych <= '\r') goto yy846;
9626
252
          goto yy696;
9627
44.8k
        } else {
9628
44.8k
          if (yych <= ' ') goto yy846;
9629
43.7k
          if (yych <= '"') goto yy696;
9630
43.4k
          goto yy877;
9631
43.7k
        }
9632
50.1k
      }
9633
56.8k
    } else {
9634
17.8k
      if (yych <= '/') {
9635
7.83k
        if (yych == '*') goto yy760;
9636
7.49k
        if (yych <= '.') goto yy696;
9637
5.61k
        goto yy878;
9638
9.99k
      } else {
9639
9.99k
        if (yych <= 'F') {
9640
7.47k
          if (yych <= 'E') goto yy696;
9641
6.77k
          goto yy879;
9642
7.47k
        } else {
9643
2.52k
          if (yych == 'f') goto yy879;
9644
2.05k
          goto yy696;
9645
2.52k
        }
9646
9.99k
      }
9647
17.8k
    }
9648
11.3k
yy848:
9649
11.3k
    YYDEBUG(848, *YYCURSOR);
9650
11.3k
    ++YYCURSOR;
9651
11.3k
    YYFILL(1);
9652
11.3k
    yych = *YYCURSOR;
9653
11.3k
    YYDEBUG(849, *YYCURSOR);
9654
11.3k
    if (yych <= '\r') {
9655
5.42k
      if (yych <= '\t') {
9656
1.81k
        if (yych <= 0x00) goto yy86;
9657
1.37k
        goto yy808;
9658
3.60k
      } else {
9659
3.60k
        if (yych <= '\n') goto yy846;
9660
730
        if (yych <= '\f') goto yy808;
9661
346
        goto yy846;
9662
730
      }
9663
5.93k
    } else {
9664
5.93k
      if (yych <= '*') {
9665
2.13k
        if (yych <= ')') goto yy808;
9666
964
        goto yy848;
9667
3.79k
      } else {
9668
3.79k
        if (yych == '/') goto yy694;
9669
2.19k
        goto yy808;
9670
3.79k
      }
9671
5.93k
    }
9672
10.4k
yy850:
9673
10.4k
    YYDEBUG(850, *YYCURSOR);
9674
10.4k
    ++YYCURSOR;
9675
10.4k
    YYFILL(1);
9676
10.4k
    yych = *YYCURSOR;
9677
10.4k
    if (yych <= '\r') {
9678
1.78k
      if (yych <= '\t') {
9679
534
        if (yych <= 0x00) goto yy86;
9680
311
        goto yy692;
9681
1.25k
      } else {
9682
1.25k
        if (yych <= '\n') goto yy616;
9683
527
        if (yych <= '\f') goto yy692;
9684
196
        goto yy616;
9685
527
      }
9686
8.71k
    } else {
9687
8.71k
      if (yych <= 'M') {
9688
5.91k
        if (yych <= 'L') goto yy692;
9689
5.18k
        goto yy880;
9690
5.91k
      } else {
9691
2.80k
        if (yych == 'm') goto yy880;
9692
627
        goto yy692;
9693
2.80k
      }
9694
8.71k
    }
9695
2.41k
yy851:
9696
2.41k
    YYDEBUG(851, *YYCURSOR);
9697
2.41k
    yyaccept = 4;
9698
2.41k
    yych = *(YYMARKER = ++YYCURSOR);
9699
2.41k
    if (yych == '_') goto yy881;
9700
209
    goto yy48;
9701
2.11k
yy852:
9702
2.11k
    YYDEBUG(852, *YYCURSOR);
9703
2.11k
    yyaccept = 4;
9704
2.11k
    yych = *(YYMARKER = ++YYCURSOR);
9705
2.11k
    if (yych == 'P') goto yy882;
9706
1.58k
    if (yych == 'p') goto yy882;
9707
253
    goto yy48;
9708
2.38k
yy853:
9709
2.38k
    YYDEBUG(853, *YYCURSOR);
9710
2.38k
    yyaccept = 87;
9711
2.38k
    yych = *(YYMARKER = ++YYCURSOR);
9712
2.38k
    if (yybm[256+yych] & 128) {
9713
444
      goto yy47;
9714
444
    }
9715
1.94k
    if (yych == '\\') goto yy164;
9716
1.94k
yy854:
9717
1.94k
    YYDEBUG(854, *YYCURSOR);
9718
1.94k
    yyleng = YYCURSOR - SCNG(yy_text);
9719
1.94k
#line 2269 "Zend/zend_language_scanner.l"
9720
1.94k
    {
9721
1.94k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9722
1.94k
}
9723
0
#line 9724 "Zend/zend_language_scanner.c"
9724
2.87k
yy855:
9725
2.87k
    YYDEBUG(855, *YYCURSOR);
9726
2.87k
    yyaccept = 4;
9727
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
9728
2.87k
    if (yych == 'E') goto yy883;
9729
2.50k
    if (yych == 'e') goto yy883;
9730
479
    goto yy48;
9731
1.98k
yy856:
9732
1.98k
    YYDEBUG(856, *YYCURSOR);
9733
1.98k
    yyaccept = 4;
9734
1.98k
    yych = *(YYMARKER = ++YYCURSOR);
9735
1.98k
    if (yych == '_') goto yy884;
9736
440
    goto yy48;
9737
1.11k
yy857:
9738
1.11k
    YYDEBUG(857, *YYCURSOR);
9739
1.11k
    yych = *++YYCURSOR;
9740
1.11k
    if (yych == 'S') goto yy885;
9741
916
    if (yych == 's') goto yy885;
9742
588
    goto yy86;
9743
1.40k
yy858:
9744
1.40k
    YYDEBUG(858, *YYCURSOR);
9745
1.40k
    yych = *++YYCURSOR;
9746
1.40k
    if (yych == 'E') goto yy887;
9747
967
    if (yych == 'e') goto yy887;
9748
389
    goto yy86;
9749
60.7k
yy859:
9750
60.7k
    YYDEBUG(859, *YYCURSOR);
9751
60.7k
    ++YYCURSOR;
9752
60.7k
    YYFILL(1);
9753
60.7k
    yych = *YYCURSOR;
9754
60.7k
    YYDEBUG(860, *YYCURSOR);
9755
60.7k
    if (yych <= '@') {
9756
22.4k
      if (yych <= 0x1F) {
9757
4.22k
        if (yych <= '\t') {
9758
1.27k
          if (yych <= 0x00) goto yy86;
9759
906
          if (yych <= 0x08) goto yy738;
9760
522
          goto yy859;
9761
2.95k
        } else {
9762
2.95k
          if (yych <= '\n') goto yy787;
9763
1.93k
          if (yych == '\r') goto yy787;
9764
207
          goto yy738;
9765
1.93k
        }
9766
18.2k
      } else {
9767
18.2k
        if (yych <= ')') {
9768
11.6k
          if (yych <= ' ') goto yy859;
9769
5.05k
          if (yych == '#') goto yy888;
9770
733
          goto yy738;
9771
6.60k
        } else {
9772
6.60k
          if (yych <= '*') goto yy789;
9773
6.29k
          if (yych == '/') goto yy889;
9774
382
          goto yy738;
9775
6.29k
        }
9776
18.2k
      }
9777
38.3k
    } else {
9778
38.3k
      if (yych <= '_') {
9779
8.63k
        if (yych <= 'H') {
9780
623
          if (yych == 'E') goto yy891;
9781
321
          goto yy890;
9782
8.01k
        } else {
9783
8.01k
          if (yych <= 'I') goto yy892;
9784
965
          if (yych <= 'Z') goto yy890;
9785
443
          if (yych <= '^') goto yy738;
9786
243
          goto yy890;
9787
443
        }
9788
29.6k
      } else {
9789
29.6k
        if (yych <= 'h') {
9790
17.4k
          if (yych <= '`') goto yy738;
9791
17.1k
          if (yych == 'e') goto yy891;
9792
552
          goto yy890;
9793
17.1k
        } else {
9794
12.2k
          if (yych <= 'i') goto yy892;
9795
2.38k
          if (yych <= 'z') goto yy890;
9796
1.30k
          if (yych <= 0x7F) goto yy738;
9797
1.04k
          goto yy890;
9798
1.30k
        }
9799
29.6k
      }
9800
38.3k
    }
9801
1.73k
yy861:
9802
1.73k
    YYDEBUG(861, *YYCURSOR);
9803
1.73k
    ++YYCURSOR;
9804
1.73k
    YYFILL(1);
9805
1.73k
    yych = *YYCURSOR;
9806
1.73k
    if (yych <= '*') {
9807
754
      if (yych <= 0x00) goto yy86;
9808
545
      if (yych <= ')') goto yy590;
9809
330
      goto yy668;
9810
978
    } else {
9811
978
      if (yych == '/') goto yy787;
9812
241
      goto yy590;
9813
978
    }
9814
4.58k
yy862:
9815
4.58k
    YYDEBUG(862, *YYCURSOR);
9816
4.58k
    ++YYCURSOR;
9817
4.58k
    YYFILL(1);
9818
4.58k
    yych = *YYCURSOR;
9819
4.58k
    if (yych <= 'S') {
9820
717
      if (yych <= 0x00) goto yy86;
9821
506
      if (yych == '*') goto yy668;
9822
312
      goto yy590;
9823
3.87k
    } else {
9824
3.87k
      if (yych <= 'T') goto yy893;
9825
3.07k
      if (yych == 't') goto yy893;
9826
198
      goto yy590;
9827
3.07k
    }
9828
7.21k
yy863:
9829
7.21k
    YYDEBUG(863, *YYCURSOR);
9830
7.21k
    ++YYCURSOR;
9831
7.21k
    YYFILL(1);
9832
7.21k
    yych = *YYCURSOR;
9833
7.21k
    if (yych <= 'O') {
9834
860
      if (yych <= 0x00) goto yy86;
9835
443
      if (yych == '*') goto yy668;
9836
245
      goto yy590;
9837
6.35k
    } else {
9838
6.35k
      if (yych <= 'P') goto yy894;
9839
3.63k
      if (yych == 'p') goto yy894;
9840
216
      goto yy590;
9841
3.63k
    }
9842
4.54k
yy864:
9843
4.54k
    YYDEBUG(864, *YYCURSOR);
9844
4.54k
    ++YYCURSOR;
9845
4.54k
    YYFILL(1);
9846
4.54k
    yych = *YYCURSOR;
9847
4.54k
    if (yych <= '\r') {
9848
1.32k
      if (yych <= '\t') {
9849
440
        if (yych <= 0x00) goto yy86;
9850
223
        goto yy586;
9851
889
      } else {
9852
889
        if (yych <= '\n') goto yy495;
9853
621
        if (yych <= '\f') goto yy586;
9854
420
        goto yy495;
9855
621
      }
9856
3.22k
    } else {
9857
3.22k
      if (yych <= 'D') {
9858
1.00k
        if (yych <= 'C') goto yy586;
9859
705
        goto yy895;
9860
2.21k
      } else {
9861
2.21k
        if (yych == 'd') goto yy895;
9862
470
        goto yy586;
9863
2.21k
      }
9864
3.22k
    }
9865
8.43k
yy865:
9866
8.43k
    YYDEBUG(865, *YYCURSOR);
9867
8.43k
    ++YYCURSOR;
9868
8.43k
    YYFILL(1);
9869
8.43k
    yych = *YYCURSOR;
9870
8.43k
    if (yych <= '\r') {
9871
1.23k
      if (yych <= '\t') {
9872
537
        if (yych <= 0x00) goto yy86;
9873
204
        goto yy586;
9874
701
      } else {
9875
701
        if (yych <= '\n') goto yy495;
9876
495
        if (yych <= '\f') goto yy586;
9877
285
        goto yy495;
9878
495
      }
9879
7.19k
    } else {
9880
7.19k
      if (yych <= 'M') {
9881
2.40k
        if (yych <= 'L') goto yy586;
9882
2.20k
        goto yy896;
9883
4.79k
      } else {
9884
4.79k
        if (yych == 'm') goto yy896;
9885
437
        goto yy586;
9886
4.79k
      }
9887
7.19k
    }
9888
1.45k
yy866:
9889
1.45k
    YYDEBUG(866, *YYCURSOR);
9890
1.45k
    yyaccept = 4;
9891
1.45k
    yych = *(YYMARKER = ++YYCURSOR);
9892
1.45k
    if (yych == 'E') goto yy897;
9893
1.15k
    if (yych == 'e') goto yy897;
9894
274
    goto yy48;
9895
12.7k
yy867:
9896
12.7k
    YYDEBUG(867, *YYCURSOR);
9897
12.7k
    yyaccept = 88;
9898
12.7k
    YYMARKER = ++YYCURSOR;
9899
12.7k
    YYFILL(1);
9900
12.7k
    yych = *YYCURSOR;
9901
12.7k
    YYDEBUG(868, *YYCURSOR);
9902
12.7k
    if (yych <= '\\') {
9903
5.50k
      if (yych <= '@') {
9904
2.20k
        if (yych <= '/') goto yy869;
9905
1.18k
        if (yych <= '9') goto yy867;
9906
3.30k
      } else {
9907
3.30k
        if (yych <= 'Z') goto yy867;
9908
1.78k
        if (yych >= '\\') goto yy840;
9909
1.78k
      }
9910
7.20k
    } else {
9911
7.20k
      if (yych <= '`') {
9912
873
        if (yych == '_') goto yy867;
9913
6.32k
      } else {
9914
6.32k
        if (yych <= 'z') goto yy867;
9915
2.23k
        if (yych >= 0x80) goto yy867;
9916
2.23k
      }
9917
7.20k
    }
9918
2.42k
yy869:
9919
2.42k
    YYDEBUG(869, *YYCURSOR);
9920
2.42k
    yyleng = YYCURSOR - SCNG(yy_text);
9921
2.42k
#line 2439 "Zend/zend_language_scanner.l"
9922
2.42k
    {
9923
2.42k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9924
2.42k
}
9925
0
#line 9926 "Zend/zend_language_scanner.c"
9926
764
yy870:
9927
764
    YYDEBUG(870, *YYCURSOR);
9928
764
    yych = *++YYCURSOR;
9929
764
    if (yych == ')') goto yy899;
9930
212
    goto yy86;
9931
1.35k
yy871:
9932
1.35k
    YYDEBUG(871, *YYCURSOR);
9933
1.35k
    yych = *++YYCURSOR;
9934
1.35k
    if (yych == 'E') goto yy901;
9935
846
    if (yych == 'e') goto yy901;
9936
222
    goto yy86;
9937
907
yy872:
9938
907
    YYDEBUG(872, *YYCURSOR);
9939
907
    ++YYCURSOR;
9940
907
    YYDEBUG(873, *YYCURSOR);
9941
907
    yyleng = YYCURSOR - SCNG(yy_text);
9942
907
#line 1786 "Zend/zend_language_scanner.l"
9943
907
    {
9944
907
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9945
907
}
9946
0
#line 9947 "Zend/zend_language_scanner.c"
9947
1.22k
yy874:
9948
1.22k
    YYDEBUG(874, *YYCURSOR);
9949
1.22k
    yyaccept = 4;
9950
1.22k
    yych = *(YYMARKER = ++YYCURSOR);
9951
1.22k
    if (yych == 'E') goto yy902;
9952
1.02k
    if (yych == 'e') goto yy902;
9953
287
    goto yy48;
9954
2.03k
yy875:
9955
2.03k
    YYDEBUG(875, *YYCURSOR);
9956
2.03k
    ++YYCURSOR;
9957
13.7k
yy876:
9958
13.7k
    YYDEBUG(876, *YYCURSOR);
9959
13.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9960
13.7k
#line 1428 "Zend/zend_language_scanner.l"
9961
13.7k
    {
9962
13.7k
  yyless(yyleng - 1);
9963
13.7k
  HANDLE_NEWLINES(yytext, yyleng);
9964
13.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9965
13.7k
}
9966
0
#line 9967 "Zend/zend_language_scanner.c"
9967
44.1k
yy877:
9968
44.1k
    YYDEBUG(877, *YYCURSOR);
9969
44.1k
    ++YYCURSOR;
9970
44.1k
    YYFILL(1);
9971
44.1k
    yych = *YYCURSOR;
9972
44.1k
    if (yych <= '\r') {
9973
36.5k
      if (yych <= '\t') {
9974
569
        if (yych <= 0x00) goto yy86;
9975
344
        goto yy808;
9976
36.0k
      } else {
9977
36.0k
        if (yych <= '\n') goto yy904;
9978
27.6k
        if (yych <= '\f') goto yy808;
9979
27.4k
        goto yy904;
9980
27.6k
      }
9981
36.5k
    } else {
9982
7.56k
      if (yych <= '*') {
9983
3.72k
        if (yych <= ')') goto yy808;
9984
517
        goto yy848;
9985
3.84k
      } else {
9986
3.84k
        if (yych == '[') goto yy696;
9987
3.64k
        goto yy808;
9988
3.84k
      }
9989
7.56k
    }
9990
5.81k
yy878:
9991
5.81k
    YYDEBUG(878, *YYCURSOR);
9992
5.81k
    ++YYCURSOR;
9993
5.81k
    YYFILL(1);
9994
5.81k
    yych = *YYCURSOR;
9995
5.81k
    if (yych <= '*') {
9996
4.52k
      if (yych <= 0x00) goto yy86;
9997
4.28k
      if (yych <= ')') goto yy696;
9998
3.89k
      goto yy906;
9999
4.28k
    } else {
10000
1.28k
      if (yych == '/') goto yy808;
10001
328
      goto yy696;
10002
1.28k
    }
10003
7.66k
yy879:
10004
7.66k
    YYDEBUG(879, *YYCURSOR);
10005
7.66k
    ++YYCURSOR;
10006
7.66k
    YYFILL(1);
10007
7.66k
    yych = *YYCURSOR;
10008
7.66k
    if (yych <= 'Q') {
10009
1.31k
      if (yych <= 0x00) goto yy86;
10010
1.00k
      if (yych == '*') goto yy760;
10011
807
      goto yy696;
10012
6.35k
    } else {
10013
6.35k
      if (yych <= 'R') goto yy907;
10014
904
      if (yych == 'r') goto yy907;
10015
633
      goto yy696;
10016
904
    }
10017
7.35k
yy880:
10018
7.35k
    YYDEBUG(880, *YYCURSOR);
10019
7.35k
    ++YYCURSOR;
10020
7.35k
    YYFILL(1);
10021
7.35k
    yych = *YYCURSOR;
10022
7.35k
    if (yych <= '9') {
10023
4.07k
      if (yych <= '\n') {
10024
1.97k
        if (yych <= 0x00) goto yy875;
10025
1.76k
        if (yych <= '\t') goto yy908;
10026
1.57k
        goto yy909;
10027
2.09k
      } else {
10028
2.09k
        if (yych == '\r') goto yy909;
10029
763
        if (yych <= '/') goto yy908;
10030
201
        goto yy692;
10031
763
      }
10032
4.07k
    } else {
10033
3.28k
      if (yych <= '_') {
10034
860
        if (yych <= '@') goto yy908;
10035
653
        if (yych <= 'Z') goto yy692;
10036
427
        if (yych <= '^') goto yy908;
10037
200
        goto yy692;
10038
2.42k
      } else {
10039
2.42k
        if (yych <= '`') goto yy908;
10040
2.21k
        if (yych <= 'z') goto yy692;
10041
1.94k
        if (yych <= 0x7F) goto yy908;
10042
1.17k
        goto yy692;
10043
1.94k
      }
10044
3.28k
    }
10045
2.20k
yy881:
10046
2.20k
    YYDEBUG(881, *YYCURSOR);
10047
2.20k
    yyaccept = 4;
10048
2.20k
    yych = *(YYMARKER = ++YYCURSOR);
10049
2.20k
    if (yych == '_') goto yy910;
10050
300
    goto yy48;
10051
1.86k
yy882:
10052
1.86k
    YYDEBUG(882, *YYCURSOR);
10053
1.86k
    yyaccept = 4;
10054
1.86k
    yych = *(YYMARKER = ++YYCURSOR);
10055
1.86k
    if (yych == 'I') goto yy912;
10056
1.50k
    if (yych == 'i') goto yy912;
10057
199
    goto yy48;
10058
2.39k
yy883:
10059
2.39k
    YYDEBUG(883, *YYCURSOR);
10060
2.39k
    yyaccept = 4;
10061
2.39k
    yych = *(YYMARKER = ++YYCURSOR);
10062
2.39k
    if (yych == '_') goto yy913;
10063
532
    goto yy48;
10064
1.54k
yy884:
10065
1.54k
    YYDEBUG(884, *YYCURSOR);
10066
1.54k
    yyaccept = 4;
10067
1.54k
    yych = *(YYMARKER = ++YYCURSOR);
10068
1.54k
    if (yych == '_') goto yy914;
10069
285
    goto yy48;
10070
523
yy885:
10071
523
    YYDEBUG(885, *YYCURSOR);
10072
523
    ++YYCURSOR;
10073
3.03k
yy886:
10074
3.03k
    YYDEBUG(886, *YYCURSOR);
10075
3.03k
    yyleng = YYCURSOR - SCNG(yy_text);
10076
3.03k
#line 1570 "Zend/zend_language_scanner.l"
10077
3.03k
    {
10078
3.03k
  yyless(4);
10079
3.03k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10080
3.03k
}
10081
0
#line 10082 "Zend/zend_language_scanner.c"
10082
1.01k
yy887:
10083
1.01k
    YYDEBUG(887, *YYCURSOR);
10084
1.01k
    yych = *++YYCURSOR;
10085
1.01k
    if (yych == 'N') goto yy916;
10086
730
    if (yych == 'n') goto yy916;
10087
219
    goto yy86;
10088
4.31k
yy888:
10089
4.31k
    YYDEBUG(888, *YYCURSOR);
10090
4.31k
    ++YYCURSOR;
10091
4.31k
    YYFILL(1);
10092
4.31k
    yych = *YYCURSOR;
10093
4.31k
    if (yych <= '\f') {
10094
1.80k
      if (yych <= 0x00) goto yy86;
10095
1.60k
      if (yych == '\n') goto yy859;
10096
209
      goto yy738;
10097
2.51k
    } else {
10098
2.51k
      if (yych <= '\r') goto yy859;
10099
1.03k
      if (yych == '*') goto yy789;
10100
806
      goto yy738;
10101
1.03k
    }
10102
5.90k
yy889:
10103
5.90k
    YYDEBUG(889, *YYCURSOR);
10104
5.90k
    ++YYCURSOR;
10105
5.90k
    YYFILL(1);
10106
5.90k
    yych = *YYCURSOR;
10107
5.90k
    if (yych <= '\f') {
10108
1.01k
      if (yych <= 0x00) goto yy86;
10109
528
      if (yych == '\n') goto yy787;
10110
221
      goto yy738;
10111
4.89k
    } else {
10112
4.89k
      if (yych <= '\r') goto yy787;
10113
4.67k
      if (yych == '*') goto yy917;
10114
346
      goto yy738;
10115
4.67k
    }
10116
3.75k
yy890:
10117
3.75k
    YYDEBUG(890, *YYCURSOR);
10118
3.75k
    yyaccept = 53;
10119
3.75k
    YYMARKER = ++YYCURSOR;
10120
3.75k
    YYFILL(1);
10121
3.75k
    yych = *YYCURSOR;
10122
3.75k
    if (yych <= '\f') {
10123
928
      if (yych <= 0x00) goto yy583;
10124
537
      if (yych == '\n') goto yy787;
10125
261
      goto yy738;
10126
2.82k
    } else {
10127
2.82k
      if (yych <= '\r') goto yy787;
10128
2.29k
      if (yych == '*') goto yy789;
10129
1.92k
      goto yy738;
10130
2.29k
    }
10131
16.9k
yy891:
10132
16.9k
    YYDEBUG(891, *YYCURSOR);
10133
16.9k
    yyaccept = 53;
10134
16.9k
    YYMARKER = ++YYCURSOR;
10135
16.9k
    YYFILL(1);
10136
16.9k
    yych = *YYCURSOR;
10137
16.9k
    if (yych <= ')') {
10138
1.39k
      if (yych <= '\n') {
10139
933
        if (yych <= 0x00) goto yy583;
10140
724
        if (yych <= '\t') goto yy738;
10141
333
        goto yy787;
10142
724
      } else {
10143
466
        if (yych == '\r') goto yy787;
10144
206
        goto yy738;
10145
466
      }
10146
15.5k
    } else {
10147
15.5k
      if (yych <= 'X') {
10148
3.06k
        if (yych <= '*') goto yy789;
10149
2.86k
        if (yych <= 'W') goto yy738;
10150
640
        goto yy918;
10151
12.4k
      } else {
10152
12.4k
        if (yych == 'x') goto yy918;
10153
2.52k
        goto yy738;
10154
12.4k
      }
10155
15.5k
    }
10156
16.8k
yy892:
10157
16.8k
    YYDEBUG(892, *YYCURSOR);
10158
16.8k
    yyaccept = 53;
10159
16.8k
    YYMARKER = ++YYCURSOR;
10160
16.8k
    YYFILL(1);
10161
16.8k
    yych = *YYCURSOR;
10162
16.8k
    if (yych <= ')') {
10163
1.74k
      if (yych <= '\n') {
10164
629
        if (yych <= 0x00) goto yy583;
10165
420
        if (yych <= '\t') goto yy738;
10166
218
        goto yy787;
10167
1.11k
      } else {
10168
1.11k
        if (yych == '\r') goto yy787;
10169
636
        goto yy738;
10170
1.11k
      }
10171
15.1k
    } else {
10172
15.1k
      if (yych <= 'M') {
10173
6.25k
        if (yych <= '*') goto yy789;
10174
6.04k
        if (yych <= 'L') goto yy738;
10175
5.65k
        goto yy919;
10176
8.87k
      } else {
10177
8.87k
        if (yych == 'm') goto yy919;
10178
539
        goto yy738;
10179
8.87k
      }
10180
15.1k
    }
10181
3.67k
yy893:
10182
3.67k
    YYDEBUG(893, *YYCURSOR);
10183
3.67k
    ++YYCURSOR;
10184
3.67k
    YYFILL(1);
10185
3.67k
    yych = *YYCURSOR;
10186
3.67k
    if (yych <= 'D') {
10187
649
      if (yych <= 0x00) goto yy86;
10188
451
      if (yych == '*') goto yy668;
10189
249
      goto yy590;
10190
3.02k
    } else {
10191
3.02k
      if (yych <= 'E') goto yy920;
10192
2.50k
      if (yych == 'e') goto yy920;
10193
212
      goto yy590;
10194
2.50k
    }
10195
6.13k
yy894:
10196
6.13k
    YYDEBUG(894, *YYCURSOR);
10197
6.13k
    ++YYCURSOR;
10198
6.13k
    YYFILL(1);
10199
6.13k
    yych = *YYCURSOR;
10200
6.13k
    if (yych <= 'K') {
10201
742
      if (yych <= 0x00) goto yy86;
10202
527
      if (yych == '*') goto yy668;
10203
327
      goto yy590;
10204
5.39k
    } else {
10205
5.39k
      if (yych <= 'L') goto yy921;
10206
2.97k
      if (yych == 'l') goto yy921;
10207
204
      goto yy590;
10208
2.97k
    }
10209
3.66k
yy895:
10210
3.66k
    YYDEBUG(895, *YYCURSOR);
10211
3.66k
    ++YYCURSOR;
10212
3.66k
    YYFILL(1);
10213
3.66k
    yych = *YYCURSOR;
10214
3.66k
    if (yych <= '\r') {
10215
1.35k
      if (yych <= '\t') {
10216
491
        if (yych <= 0x00) goto yy86;
10217
202
        goto yy586;
10218
867
      } else {
10219
867
        if (yych <= '\n') goto yy495;
10220
616
        if (yych <= '\f') goto yy586;
10221
262
        goto yy495;
10222
616
      }
10223
2.31k
    } else {
10224
2.31k
      if (yych <= 'S') {
10225
881
        if (yych <= 'R') goto yy586;
10226
518
        goto yy922;
10227
1.43k
      } else {
10228
1.43k
        if (yych == 's') goto yy922;
10229
465
        goto yy586;
10230
1.43k
      }
10231
2.31k
    }
10232
6.56k
yy896:
10233
6.56k
    YYDEBUG(896, *YYCURSOR);
10234
6.56k
    ++YYCURSOR;
10235
6.56k
    YYFILL(1);
10236
6.56k
    yych = *YYCURSOR;
10237
6.56k
    if (yych <= '\r') {
10238
1.34k
      if (yych <= '\t') {
10239
659
        if (yych <= 0x00) goto yy86;
10240
411
        goto yy586;
10241
682
      } else {
10242
682
        if (yych <= '\n') goto yy495;
10243
481
        if (yych <= '\f') goto yy586;
10244
267
        goto yy495;
10245
481
      }
10246
5.21k
    } else {
10247
5.21k
      if (yych <= 'E') {
10248
1.92k
        if (yych <= 'D') goto yy586;
10249
1.68k
        goto yy923;
10250
3.29k
      } else {
10251
3.29k
        if (yych == 'e') goto yy923;
10252
263
        goto yy586;
10253
3.29k
      }
10254
5.21k
    }
10255
1.18k
yy897:
10256
1.18k
    YYDEBUG(897, *YYCURSOR);
10257
1.18k
    yyaccept = 89;
10258
1.18k
    yych = *(YYMARKER = ++YYCURSOR);
10259
1.18k
    if (yybm[256+yych] & 128) {
10260
314
      goto yy47;
10261
314
    }
10262
866
    if (yych == '\\') goto yy164;
10263
862
yy898:
10264
862
    YYDEBUG(898, *YYCURSOR);
10265
862
    yyleng = YYCURSOR - SCNG(yy_text);
10266
862
#line 1726 "Zend/zend_language_scanner.l"
10267
862
    {
10268
862
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10269
862
}
10270
0
#line 10271 "Zend/zend_language_scanner.c"
10271
552
yy899:
10272
552
    YYDEBUG(899, *YYCURSOR);
10273
552
    ++YYCURSOR;
10274
552
    YYDEBUG(900, *YYCURSOR);
10275
552
    yyleng = YYCURSOR - SCNG(yy_text);
10276
552
#line 1794 "Zend/zend_language_scanner.l"
10277
552
    {
10278
552
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10279
552
}
10280
0
#line 10281 "Zend/zend_language_scanner.c"
10281
1.13k
yy901:
10282
1.13k
    YYDEBUG(901, *YYCURSOR);
10283
1.13k
    yych = *++YYCURSOR;
10284
1.13k
    if (yych == 'T') goto yy924;
10285
916
    if (yych == 't') goto yy924;
10286
510
    goto yy86;
10287
939
yy902:
10288
939
    YYDEBUG(902, *YYCURSOR);
10289
939
    yyaccept = 90;
10290
939
    yych = *(YYMARKER = ++YYCURSOR);
10291
939
    if (yybm[256+yych] & 128) {
10292
280
      goto yy47;
10293
280
    }
10294
659
    if (yych == '\\') goto yy164;
10295
659
yy903:
10296
659
    YYDEBUG(903, *YYCURSOR);
10297
659
    yyleng = YYCURSOR - SCNG(yy_text);
10298
659
#line 1734 "Zend/zend_language_scanner.l"
10299
659
    {
10300
659
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10301
659
}
10302
0
#line 10303 "Zend/zend_language_scanner.c"
10303
40.2k
yy904:
10304
40.2k
    YYDEBUG(904, *YYCURSOR);
10305
40.2k
    ++YYCURSOR;
10306
40.2k
    YYFILL(1);
10307
40.2k
    yych = *YYCURSOR;
10308
40.2k
    YYDEBUG(905, *YYCURSOR);
10309
40.2k
    if (yych <= '"') {
10310
5.33k
      if (yych <= '\n') {
10311
1.72k
        if (yych <= 0x00) goto yy86;
10312
1.31k
        if (yych <= 0x08) goto yy808;
10313
1.08k
        if (yych <= '\t') goto yy904;
10314
632
        goto yy846;
10315
3.60k
      } else {
10316
3.60k
        if (yych <= '\r') {
10317
1.74k
          if (yych <= '\f') goto yy808;
10318
1.52k
          goto yy846;
10319
1.85k
        } else {
10320
1.85k
          if (yych == ' ') goto yy904;
10321
902
          goto yy808;
10322
1.85k
        }
10323
3.60k
      }
10324
34.9k
    } else {
10325
34.9k
      if (yych <= '/') {
10326
11.8k
        if (yych <= ')') {
10327
6.16k
          if (yych <= '#') goto yy925;
10328
840
          goto yy808;
10329
6.16k
        } else {
10330
5.66k
          if (yych <= '*') goto yy848;
10331
5.25k
          if (yych <= '.') goto yy808;
10332
5.03k
          goto yy926;
10333
5.25k
        }
10334
23.1k
      } else {
10335
23.1k
        if (yych <= 'F') {
10336
18.4k
          if (yych <= 'E') goto yy808;
10337
16.8k
          goto yy927;
10338
18.4k
        } else {
10339
4.64k
          if (yych == 'f') goto yy927;
10340
3.87k
          goto yy808;
10341
4.64k
        }
10342
23.1k
      }
10343
34.9k
    }
10344
3.89k
yy906:
10345
3.89k
    YYDEBUG(906, *YYCURSOR);
10346
3.89k
    ++YYCURSOR;
10347
3.89k
    YYFILL(1);
10348
3.89k
    yych = *YYCURSOR;
10349
3.89k
    if (yych <= '*') {
10350
946
      if (yych <= 0x00) goto yy86;
10351
744
      if (yych <= ')') goto yy696;
10352
203
      goto yy760;
10353
2.95k
    } else {
10354
2.95k
      if (yych == '/') goto yy846;
10355
199
      goto yy696;
10356
2.95k
    }
10357
5.72k
yy907:
10358
5.72k
    YYDEBUG(907, *YYCURSOR);
10359
5.72k
    ++YYCURSOR;
10360
5.72k
    YYFILL(1);
10361
5.72k
    yych = *YYCURSOR;
10362
5.72k
    if (yych <= 'N') {
10363
739
      if (yych <= 0x00) goto yy86;
10364
400
      if (yych == '*') goto yy760;
10365
201
      goto yy696;
10366
4.98k
    } else {
10367
4.98k
      if (yych <= 'O') goto yy928;
10368
505
      if (yych == 'o') goto yy928;
10369
195
      goto yy696;
10370
505
    }
10371
2.17k
yy908:
10372
2.17k
    YYDEBUG(908, *YYCURSOR);
10373
2.17k
    yyaccept = 91;
10374
2.17k
    YYMARKER = ++YYCURSOR;
10375
2.17k
    YYFILL(1);
10376
2.17k
    yych = *YYCURSOR;
10377
2.17k
    if (yych <= '\n') {
10378
1.14k
      if (yych <= 0x00) goto yy876;
10379
910
      if (yych <= '\t') goto yy692;
10380
538
      goto yy616;
10381
1.03k
    } else {
10382
1.03k
      if (yych == '\r') goto yy616;
10383
822
      goto yy692;
10384
1.03k
    }
10385
2.90k
yy909:
10386
2.90k
    YYDEBUG(909, *YYCURSOR);
10387
2.90k
    yyaccept = 91;
10388
2.90k
    YYMARKER = ++YYCURSOR;
10389
2.90k
    YYFILL(5);
10390
2.90k
    yych = *YYCURSOR;
10391
2.90k
    if (yych <= '"') {
10392
1.45k
      if (yych <= '\f') {
10393
804
        if (yych <= 0x08) goto yy876;
10394
496
        if (yych <= '\n') goto yy616;
10395
289
        goto yy876;
10396
655
      } else {
10397
655
        if (yych <= '\r') goto yy616;
10398
440
        if (yych == ' ') goto yy616;
10399
238
        goto yy876;
10400
440
      }
10401
1.45k
    } else {
10402
1.44k
      if (yych <= 'E') {
10403
768
        if (yych <= '#') goto yy618;
10404
407
        if (yych == '/') goto yy619;
10405
204
        goto yy876;
10406
680
      } else {
10407
680
        if (yych <= 'F') goto yy691;
10408
482
        if (yych == 'f') goto yy691;
10409
284
        goto yy876;
10410
482
      }
10411
1.44k
    }
10412
1.90k
yy910:
10413
1.90k
    YYDEBUG(910, *YYCURSOR);
10414
1.90k
    yyaccept = 92;
10415
1.90k
    yych = *(YYMARKER = ++YYCURSOR);
10416
1.90k
    if (yybm[256+yych] & 128) {
10417
416
      goto yy47;
10418
416
    }
10419
1.48k
    if (yych == '\\') goto yy164;
10420
1.48k
yy911:
10421
1.48k
    YYDEBUG(911, *YYCURSOR);
10422
1.48k
    yyleng = YYCURSOR - SCNG(yy_text);
10423
1.48k
#line 2261 "Zend/zend_language_scanner.l"
10424
1.48k
    {
10425
1.48k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10426
1.48k
}
10427
0
#line 10428 "Zend/zend_language_scanner.c"
10428
1.66k
yy912:
10429
1.66k
    YYDEBUG(912, *YYCURSOR);
10430
1.66k
    yyaccept = 4;
10431
1.66k
    yych = *(YYMARKER = ++YYCURSOR);
10432
1.66k
    if (yych == 'L') goto yy929;
10433
1.44k
    if (yych == 'l') goto yy929;
10434
441
    goto yy48;
10435
1.86k
yy913:
10436
1.86k
    YYDEBUG(913, *YYCURSOR);
10437
1.86k
    yyaccept = 4;
10438
1.86k
    yych = *(YYMARKER = ++YYCURSOR);
10439
1.86k
    if (yych == '_') goto yy930;
10440
272
    goto yy48;
10441
1.25k
yy914:
10442
1.25k
    YYDEBUG(914, *YYCURSOR);
10443
1.25k
    yyaccept = 93;
10444
1.25k
    yych = *(YYMARKER = ++YYCURSOR);
10445
1.25k
    if (yybm[256+yych] & 128) {
10446
262
      goto yy47;
10447
262
    }
10448
997
    if (yych == '\\') goto yy164;
10449
997
yy915:
10450
997
    YYDEBUG(915, *YYCURSOR);
10451
997
    yyleng = YYCURSOR - SCNG(yy_text);
10452
997
#line 2265 "Zend/zend_language_scanner.l"
10453
997
    {
10454
997
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10455
997
}
10456
0
#line 10457 "Zend/zend_language_scanner.c"
10457
797
yy916:
10458
797
    YYDEBUG(916, *YYCURSOR);
10459
797
    yych = *++YYCURSOR;
10460
797
    if (yych == 'T') goto yy857;
10461
564
    if (yych == 't') goto yy857;
10462
367
    goto yy86;
10463
4.33k
yy917:
10464
4.33k
    YYDEBUG(917, *YYCURSOR);
10465
4.33k
    ++YYCURSOR;
10466
4.33k
    YYFILL(1);
10467
4.33k
    yych = *YYCURSOR;
10468
4.33k
    if (yych <= '\r') {
10469
1.62k
      if (yych <= '\t') {
10470
669
        if (yych <= 0x00) goto yy86;
10471
472
        goto yy738;
10472
953
      } else {
10473
953
        if (yych <= '\n') goto yy787;
10474
660
        if (yych <= '\f') goto yy738;
10475
453
        goto yy787;
10476
660
      }
10477
2.71k
    } else {
10478
2.71k
      if (yych <= '*') {
10479
421
        if (yych <= ')') goto yy738;
10480
205
        goto yy789;
10481
2.28k
      } else {
10482
2.28k
        if (yych == '/') goto yy859;
10483
605
        goto yy738;
10484
2.28k
      }
10485
2.71k
    }
10486
10.5k
yy918:
10487
10.5k
    YYDEBUG(918, *YYCURSOR);
10488
10.5k
    ++YYCURSOR;
10489
10.5k
    YYFILL(1);
10490
10.5k
    yych = *YYCURSOR;
10491
10.5k
    if (yych <= ')') {
10492
1.54k
      if (yych <= '\n') {
10493
1.13k
        if (yych <= 0x00) goto yy86;
10494
813
        if (yych <= '\t') goto yy738;
10495
324
        goto yy787;
10496
813
      } else {
10497
410
        if (yych == '\r') goto yy787;
10498
204
        goto yy738;
10499
410
      }
10500
9.00k
    } else {
10501
9.00k
      if (yych <= 'T') {
10502
2.42k
        if (yych <= '*') goto yy789;
10503
2.21k
        if (yych <= 'S') goto yy738;
10504
1.62k
        goto yy932;
10505
6.58k
      } else {
10506
6.58k
        if (yych == 't') goto yy932;
10507
355
        goto yy738;
10508
6.58k
      }
10509
9.00k
    }
10510
13.9k
yy919:
10511
13.9k
    YYDEBUG(919, *YYCURSOR);
10512
13.9k
    ++YYCURSOR;
10513
13.9k
    YYFILL(1);
10514
13.9k
    yych = *YYCURSOR;
10515
13.9k
    if (yych <= ')') {
10516
1.15k
      if (yych <= '\n') {
10517
642
        if (yych <= 0x00) goto yy86;
10518
400
        if (yych <= '\t') goto yy738;
10519
201
        goto yy787;
10520
512
      } else {
10521
512
        if (yych == '\r') goto yy787;
10522
217
        goto yy738;
10523
512
      }
10524
12.8k
    } else {
10525
12.8k
      if (yych <= 'P') {
10526
5.50k
        if (yych <= '*') goto yy789;
10527
5.29k
        if (yych <= 'O') goto yy738;
10528
5.03k
        goto yy933;
10529
7.33k
      } else {
10530
7.33k
        if (yych == 'p') goto yy933;
10531
366
        goto yy738;
10532
7.33k
      }
10533
12.8k
    }
10534
2.81k
yy920:
10535
2.81k
    YYDEBUG(920, *YYCURSOR);
10536
2.81k
    ++YYCURSOR;
10537
2.81k
    YYFILL(1);
10538
2.81k
    yych = *YYCURSOR;
10539
2.81k
    if (yych <= 'M') {
10540
658
      if (yych <= 0x00) goto yy86;
10541
403
      if (yych == '*') goto yy668;
10542
205
      goto yy590;
10543
2.15k
    } else {
10544
2.15k
      if (yych <= 'N') goto yy934;
10545
1.75k
      if (yych == 'n') goto yy934;
10546
201
      goto yy590;
10547
1.75k
    }
10548
5.19k
yy921:
10549
5.19k
    YYDEBUG(921, *YYCURSOR);
10550
5.19k
    ++YYCURSOR;
10551
5.19k
    YYFILL(1);
10552
5.19k
    yych = *YYCURSOR;
10553
5.19k
    if (yych <= 'D') {
10554
629
      if (yych <= 0x00) goto yy86;
10555
410
      if (yych == '*') goto yy668;
10556
214
      goto yy590;
10557
4.56k
    } else {
10558
4.56k
      if (yych <= 'E') goto yy935;
10559
2.53k
      if (yych == 'e') goto yy935;
10560
348
      goto yy590;
10561
2.53k
    }
10562
1.48k
yy922:
10563
1.48k
    YYDEBUG(922, *YYCURSOR);
10564
1.48k
    yyaccept = 94;
10565
1.48k
    YYMARKER = ++YYCURSOR;
10566
1.48k
    YYFILL(1);
10567
1.48k
    yych = *YYCURSOR;
10568
1.48k
    if (yych <= '\n') {
10569
873
      if (yych <= 0x00) goto yy886;
10570
670
      if (yych <= '\t') goto yy586;
10571
342
      goto yy495;
10572
670
    } else {
10573
610
      if (yych == '\r') goto yy495;
10574
352
      goto yy586;
10575
610
    }
10576
4.71k
yy923:
10577
4.71k
    YYDEBUG(923, *YYCURSOR);
10578
4.71k
    ++YYCURSOR;
10579
4.71k
    YYFILL(1);
10580
4.71k
    yych = *YYCURSOR;
10581
4.71k
    if (yych <= '\r') {
10582
1.10k
      if (yych <= '\t') {
10583
509
        if (yych <= 0x00) goto yy86;
10584
309
        goto yy586;
10585
596
      } else {
10586
596
        if (yych <= '\n') goto yy495;
10587
389
        if (yych <= '\f') goto yy586;
10588
195
        goto yy495;
10589
389
      }
10590
3.61k
    } else {
10591
3.61k
      if (yych <= 'N') {
10592
1.25k
        if (yych <= 'M') goto yy586;
10593
962
        goto yy936;
10594
2.35k
      } else {
10595
2.35k
        if (yych == 'n') goto yy936;
10596
644
        goto yy586;
10597
2.35k
      }
10598
3.61k
    }
10599
620
yy924:
10600
620
    YYDEBUG(924, *YYCURSOR);
10601
620
    yych = *++YYCURSOR;
10602
620
    if (yych == ')') goto yy937;
10603
223
    goto yy86;
10604
5.32k
yy925:
10605
5.32k
    YYDEBUG(925, *YYCURSOR);
10606
5.32k
    ++YYCURSOR;
10607
5.32k
    YYFILL(1);
10608
5.32k
    yych = *YYCURSOR;
10609
5.32k
    if (yych <= '\f') {
10610
1.78k
      if (yych <= 0x00) goto yy86;
10611
1.58k
      if (yych == '\n') goto yy904;
10612
227
      goto yy808;
10613
3.54k
    } else {
10614
3.54k
      if (yych <= '\r') goto yy904;
10615
2.15k
      if (yych == '*') goto yy848;
10616
1.78k
      goto yy808;
10617
2.15k
    }
10618
5.03k
yy926:
10619
5.03k
    YYDEBUG(926, *YYCURSOR);
10620
5.03k
    ++YYCURSOR;
10621
5.03k
    YYFILL(1);
10622
5.03k
    yych = *YYCURSOR;
10623
5.03k
    if (yych <= '\f') {
10624
706
      if (yych <= 0x00) goto yy86;
10625
500
      if (yych == '\n') goto yy846;
10626
276
      goto yy808;
10627
4.32k
    } else {
10628
4.32k
      if (yych <= '\r') goto yy846;
10629
4.10k
      if (yych == '*') goto yy939;
10630
1.00k
      goto yy808;
10631
4.10k
    }
10632
17.6k
yy927:
10633
17.6k
    YYDEBUG(927, *YYCURSOR);
10634
17.6k
    ++YYCURSOR;
10635
17.6k
    YYFILL(1);
10636
17.6k
    yych = *YYCURSOR;
10637
17.6k
    if (yych <= ')') {
10638
1.65k
      if (yych <= '\n') {
10639
725
        if (yych <= 0x00) goto yy86;
10640
498
        if (yych <= '\t') goto yy808;
10641
280
        goto yy846;
10642
928
      } else {
10643
928
        if (yych == '\r') goto yy846;
10644
499
        goto yy808;
10645
928
      }
10646
15.9k
    } else {
10647
15.9k
      if (yych <= 'R') {
10648
13.1k
        if (yych <= '*') goto yy848;
10649
12.8k
        if (yych <= 'Q') goto yy808;
10650
12.2k
        goto yy940;
10651
12.8k
      } else {
10652
2.81k
        if (yych == 'r') goto yy940;
10653
1.11k
        goto yy808;
10654
2.81k
      }
10655
15.9k
    }
10656
4.78k
yy928:
10657
4.78k
    YYDEBUG(928, *YYCURSOR);
10658
4.78k
    ++YYCURSOR;
10659
4.78k
    YYFILL(1);
10660
4.78k
    yych = *YYCURSOR;
10661
4.78k
    if (yych <= 'L') {
10662
648
      if (yych <= 0x00) goto yy86;
10663
445
      if (yych == '*') goto yy760;
10664
250
      goto yy696;
10665
4.13k
    } else {
10666
4.13k
      if (yych <= 'M') goto yy941;
10667
1.28k
      if (yych == 'm') goto yy941;
10668
260
      goto yy696;
10669
1.28k
    }
10670
1.22k
yy929:
10671
1.22k
    YYDEBUG(929, *YYCURSOR);
10672
1.22k
    yyaccept = 4;
10673
1.22k
    yych = *(YYMARKER = ++YYCURSOR);
10674
1.22k
    if (yych == 'E') goto yy942;
10675
1.00k
    if (yych == 'e') goto yy942;
10676
243
    goto yy48;
10677
1.59k
yy930:
10678
1.59k
    YYDEBUG(930, *YYCURSOR);
10679
1.59k
    yyaccept = 95;
10680
1.59k
    yych = *(YYMARKER = ++YYCURSOR);
10681
1.59k
    if (yybm[256+yych] & 128) {
10682
251
      goto yy47;
10683
251
    }
10684
1.33k
    if (yych == '\\') goto yy164;
10685
1.33k
yy931:
10686
1.33k
    YYDEBUG(931, *YYCURSOR);
10687
1.33k
    yyleng = YYCURSOR - SCNG(yy_text);
10688
1.33k
#line 2285 "Zend/zend_language_scanner.l"
10689
1.33k
    {
10690
1.33k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10691
1.33k
}
10692
0
#line 10693 "Zend/zend_language_scanner.c"
10693
7.85k
yy932:
10694
7.85k
    YYDEBUG(932, *YYCURSOR);
10695
7.85k
    ++YYCURSOR;
10696
7.85k
    YYFILL(1);
10697
7.85k
    yych = *YYCURSOR;
10698
7.85k
    if (yych <= ')') {
10699
1.06k
      if (yych <= '\n') {
10700
661
        if (yych <= 0x00) goto yy86;
10701
462
        if (yych <= '\t') goto yy738;
10702
265
        goto yy787;
10703
462
      } else {
10704
400
        if (yych == '\r') goto yy787;
10705
202
        goto yy738;
10706
400
      }
10707
6.78k
    } else {
10708
6.78k
      if (yych <= 'E') {
10709
1.19k
        if (yych <= '*') goto yy789;
10710
999
        if (yych <= 'D') goto yy738;
10711
804
        goto yy943;
10712
5.59k
      } else {
10713
5.59k
        if (yych == 'e') goto yy943;
10714
244
        goto yy738;
10715
5.59k
      }
10716
6.78k
    }
10717
12.0k
yy933:
10718
12.0k
    YYDEBUG(933, *YYCURSOR);
10719
12.0k
    ++YYCURSOR;
10720
12.0k
    YYFILL(1);
10721
12.0k
    yych = *YYCURSOR;
10722
12.0k
    if (yych <= ')') {
10723
1.44k
      if (yych <= '\n') {
10724
906
        if (yych <= 0x00) goto yy86;
10725
531
        if (yych <= '\t') goto yy738;
10726
331
        goto yy787;
10727
536
      } else {
10728
536
        if (yych == '\r') goto yy787;
10729
200
        goto yy738;
10730
536
      }
10731
10.5k
    } else {
10732
10.5k
      if (yych <= 'L') {
10733
4.75k
        if (yych <= '*') goto yy789;
10734
4.55k
        if (yych <= 'K') goto yy738;
10735
4.35k
        goto yy944;
10736
5.80k
      } else {
10737
5.80k
        if (yych == 'l') goto yy944;
10738
315
        goto yy738;
10739
5.80k
      }
10740
10.5k
    }
10741
1.95k
yy934:
10742
1.95k
    YYDEBUG(934, *YYCURSOR);
10743
1.95k
    ++YYCURSOR;
10744
1.95k
    YYFILL(1);
10745
1.95k
    yych = *YYCURSOR;
10746
1.95k
    if (yych <= 'C') {
10747
747
      if (yych <= 0x00) goto yy86;
10748
412
      if (yych == '*') goto yy668;
10749
210
      goto yy590;
10750
1.20k
    } else {
10751
1.20k
      if (yych <= 'D') goto yy945;
10752
938
      if (yych == 'd') goto yy945;
10753
203
      goto yy590;
10754
938
    }
10755
4.21k
yy935:
10756
4.21k
    YYDEBUG(935, *YYCURSOR);
10757
4.21k
    ++YYCURSOR;
10758
4.21k
    YYFILL(1);
10759
4.21k
    yych = *YYCURSOR;
10760
4.21k
    if (yych <= 'L') {
10761
621
      if (yych <= 0x00) goto yy86;
10762
420
      if (yych == '*') goto yy668;
10763
200
      goto yy590;
10764
3.59k
    } else {
10765
3.59k
      if (yych <= 'M') goto yy946;
10766
1.78k
      if (yych == 'm') goto yy946;
10767
199
      goto yy590;
10768
1.78k
    }
10769
2.67k
yy936:
10770
2.67k
    YYDEBUG(936, *YYCURSOR);
10771
2.67k
    ++YYCURSOR;
10772
2.67k
    YYFILL(1);
10773
2.67k
    yych = *YYCURSOR;
10774
2.67k
    if (yych <= '\r') {
10775
1.04k
      if (yych <= '\t') {
10776
405
        if (yych <= 0x00) goto yy86;
10777
205
        goto yy586;
10778
635
      } else {
10779
635
        if (yych <= '\n') goto yy495;
10780
435
        if (yych <= '\f') goto yy586;
10781
234
        goto yy495;
10782
435
      }
10783
1.63k
    } else {
10784
1.63k
      if (yych <= 'T') {
10785
659
        if (yych <= 'S') goto yy586;
10786
447
        goto yy895;
10787
971
      } else {
10788
971
        if (yych == 't') goto yy895;
10789
196
        goto yy586;
10790
971
      }
10791
1.63k
    }
10792
397
yy937:
10793
397
    YYDEBUG(937, *YYCURSOR);
10794
397
    ++YYCURSOR;
10795
397
    YYDEBUG(938, *YYCURSOR);
10796
397
    yyleng = YYCURSOR - SCNG(yy_text);
10797
397
#line 1790 "Zend/zend_language_scanner.l"
10798
397
    {
10799
397
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10800
397
}
10801
0
#line 10802 "Zend/zend_language_scanner.c"
10802
3.09k
yy939:
10803
3.09k
    YYDEBUG(939, *YYCURSOR);
10804
3.09k
    ++YYCURSOR;
10805
3.09k
    YYFILL(1);
10806
3.09k
    yych = *YYCURSOR;
10807
3.09k
    if (yych <= '\r') {
10808
1.62k
      if (yych <= '\t') {
10809
726
        if (yych <= 0x00) goto yy86;
10810
499
        goto yy808;
10811
896
      } else {
10812
896
        if (yych <= '\n') goto yy846;
10813
416
        if (yych <= '\f') goto yy808;
10814
222
        goto yy846;
10815
416
      }
10816
1.62k
    } else {
10817
1.47k
      if (yych <= '*') {
10818
674
        if (yych <= ')') goto yy808;
10819
261
        goto yy848;
10820
803
      } else {
10821
803
        if (yych == '/') goto yy904;
10822
414
        goto yy808;
10823
803
      }
10824
1.47k
    }
10825
13.9k
yy940:
10826
13.9k
    YYDEBUG(940, *YYCURSOR);
10827
13.9k
    ++YYCURSOR;
10828
13.9k
    YYFILL(1);
10829
13.9k
    yych = *YYCURSOR;
10830
13.9k
    if (yych <= ')') {
10831
1.12k
      if (yych <= '\n') {
10832
670
        if (yych <= 0x00) goto yy86;
10833
451
        if (yych <= '\t') goto yy808;
10834
230
        goto yy846;
10835
459
      } else {
10836
459
        if (yych == '\r') goto yy846;
10837
241
        goto yy808;
10838
459
      }
10839
12.8k
    } else {
10840
12.8k
      if (yych <= 'O') {
10841
11.6k
        if (yych <= '*') goto yy848;
10842
11.4k
        if (yych <= 'N') goto yy808;
10843
11.2k
        goto yy947;
10844
11.4k
      } else {
10845
1.17k
        if (yych == 'o') goto yy947;
10846
294
        goto yy808;
10847
1.17k
      }
10848
12.8k
    }
10849
3.87k
yy941:
10850
3.87k
    YYDEBUG(941, *YYCURSOR);
10851
3.87k
    ++YYCURSOR;
10852
3.87k
    YYFILL(1);
10853
3.87k
    yych = *YYCURSOR;
10854
3.87k
    if (yych <= '@') {
10855
2.44k
      if (yych <= '*') {
10856
1.78k
        if (yych <= 0x00) goto yy875;
10857
1.58k
        if (yych <= ')') goto yy948;
10858
1.02k
        goto yy949;
10859
1.58k
      } else {
10860
659
        if (yych <= '/') goto yy948;
10861
461
        if (yych <= '9') goto yy696;
10862
256
        goto yy948;
10863
461
      }
10864
2.44k
    } else {
10865
1.43k
      if (yych <= '_') {
10866
642
        if (yych <= 'Z') goto yy696;
10867
404
        if (yych <= '^') goto yy948;
10868
209
        goto yy696;
10869
788
      } else {
10870
788
        if (yych <= '`') goto yy948;
10871
593
        if (yych <= 'z') goto yy696;
10872
394
        if (yych <= 0x7F) goto yy948;
10873
199
        goto yy696;
10874
394
      }
10875
1.43k
    }
10876
979
yy942:
10877
979
    YYDEBUG(942, *YYCURSOR);
10878
979
    yyaccept = 4;
10879
979
    yych = *(YYMARKER = ++YYCURSOR);
10880
979
    if (yych == 'R') goto yy950;
10881
775
    if (yych == 'r') goto yy950;
10882
203
    goto yy48;
10883
6.15k
yy943:
10884
6.15k
    YYDEBUG(943, *YYCURSOR);
10885
6.15k
    ++YYCURSOR;
10886
6.15k
    YYFILL(1);
10887
6.15k
    yych = *YYCURSOR;
10888
6.15k
    if (yych <= ')') {
10889
1.27k
      if (yych <= '\n') {
10890
688
        if (yych <= 0x00) goto yy86;
10891
484
        if (yych <= '\t') goto yy738;
10892
289
        goto yy787;
10893
591
      } else {
10894
591
        if (yych == '\r') goto yy787;
10895
212
        goto yy738;
10896
591
      }
10897
4.87k
    } else {
10898
4.87k
      if (yych <= 'N') {
10899
1.42k
        if (yych <= '*') goto yy789;
10900
983
        if (yych <= 'M') goto yy738;
10901
779
        goto yy952;
10902
3.44k
      } else {
10903
3.44k
        if (yych == 'n') goto yy952;
10904
246
        goto yy738;
10905
3.44k
      }
10906
4.87k
    }
10907
9.84k
yy944:
10908
9.84k
    YYDEBUG(944, *YYCURSOR);
10909
9.84k
    ++YYCURSOR;
10910
9.84k
    YYFILL(1);
10911
9.84k
    yych = *YYCURSOR;
10912
9.84k
    if (yych <= ')') {
10913
1.12k
      if (yych <= '\n') {
10914
728
        if (yych <= 0x00) goto yy86;
10915
523
        if (yych <= '\t') goto yy738;
10916
322
        goto yy787;
10917
523
      } else {
10918
401
        if (yych == '\r') goto yy787;
10919
197
        goto yy738;
10920
401
      }
10921
8.72k
    } else {
10922
8.72k
      if (yych <= 'E') {
10923
4.19k
        if (yych <= '*') goto yy789;
10924
3.99k
        if (yych <= 'D') goto yy738;
10925
3.79k
        goto yy953;
10926
4.52k
      } else {
10927
4.52k
        if (yych == 'e') goto yy953;
10928
298
        goto yy738;
10929
4.52k
      }
10930
8.72k
    }
10931
1.98k
yy945:
10932
1.98k
    YYDEBUG(945, *YYCURSOR);
10933
1.98k
    ++YYCURSOR;
10934
1.98k
    YYFILL(1);
10935
1.98k
    yych = *YYCURSOR;
10936
1.98k
    if (yych <= 'R') {
10937
975
      if (yych <= 0x00) goto yy86;
10938
636
      if (yych == '*') goto yy668;
10939
435
      goto yy590;
10940
1.01k
    } else {
10941
1.01k
      if (yych <= 'S') goto yy954;
10942
815
      if (yych == 's') goto yy954;
10943
216
      goto yy590;
10944
815
    }
10945
3.39k
yy946:
10946
3.39k
    YYDEBUG(946, *YYCURSOR);
10947
3.39k
    ++YYCURSOR;
10948
3.39k
    YYFILL(1);
10949
3.39k
    yych = *YYCURSOR;
10950
3.39k
    if (yych <= 'D') {
10951
610
      if (yych <= 0x00) goto yy86;
10952
405
      if (yych == '*') goto yy668;
10953
210
      goto yy590;
10954
2.78k
    } else {
10955
2.78k
      if (yych <= 'E') goto yy955;
10956
1.72k
      if (yych == 'e') goto yy955;
10957
199
      goto yy590;
10958
1.72k
    }
10959
12.1k
yy947:
10960
12.1k
    YYDEBUG(947, *YYCURSOR);
10961
12.1k
    ++YYCURSOR;
10962
12.1k
    YYFILL(1);
10963
12.1k
    yych = *YYCURSOR;
10964
12.1k
    if (yych <= ')') {
10965
1.05k
      if (yych <= '\n') {
10966
592
        if (yych <= 0x00) goto yy86;
10967
396
        if (yych <= '\t') goto yy808;
10968
199
        goto yy846;
10969
466
      } else {
10970
466
        if (yych == '\r') goto yy846;
10971
220
        goto yy808;
10972
466
      }
10973
11.0k
    } else {
10974
11.0k
      if (yych <= 'M') {
10975
9.36k
        if (yych <= '*') goto yy848;
10976
9.17k
        if (yych <= 'L') goto yy808;
10977
8.81k
        goto yy956;
10978
9.17k
      } else {
10979
1.71k
        if (yych == 'm') goto yy956;
10980
215
        goto yy808;
10981
1.71k
      }
10982
11.0k
    }
10983
1.59k
yy948:
10984
1.59k
    YYDEBUG(948, *YYCURSOR);
10985
1.59k
    yyaccept = 91;
10986
1.59k
    YYMARKER = ++YYCURSOR;
10987
1.59k
    YYFILL(1);
10988
1.59k
    yych = *YYCURSOR;
10989
1.59k
    if (yych <= 0x00) goto yy876;
10990
1.16k
    if (yych == '*') goto yy760;
10991
937
    goto yy696;
10992
1.02k
yy949:
10993
1.02k
    YYDEBUG(949, *YYCURSOR);
10994
1.02k
    yyaccept = 91;
10995
1.02k
    YYMARKER = ++YYCURSOR;
10996
1.02k
    YYFILL(1);
10997
1.02k
    yych = *YYCURSOR;
10998
1.02k
    if (yych <= '*') {
10999
604
      if (yych <= 0x00) goto yy876;
11000
406
      if (yych <= ')') goto yy696;
11001
197
      goto yy760;
11002
421
    } else {
11003
421
      if (yych == '/') goto yy616;
11004
217
      goto yy696;
11005
421
    }
11006
776
yy950:
11007
776
    YYDEBUG(950, *YYCURSOR);
11008
776
    yyaccept = 96;
11009
776
    yych = *(YYMARKER = ++YYCURSOR);
11010
776
    if (yybm[256+yych] & 128) {
11011
311
      goto yy47;
11012
311
    }
11013
465
    if (yych == '\\') goto yy164;
11014
465
yy951:
11015
465
    YYDEBUG(951, *YYCURSOR);
11016
465
    yyleng = YYCURSOR - SCNG(yy_text);
11017
465
#line 1762 "Zend/zend_language_scanner.l"
11018
465
    {
11019
465
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11020
465
}
11021
0
#line 11022 "Zend/zend_language_scanner.c"
11022
3.98k
yy952:
11023
3.98k
    YYDEBUG(952, *YYCURSOR);
11024
3.98k
    ++YYCURSOR;
11025
3.98k
    YYFILL(1);
11026
3.98k
    yych = *YYCURSOR;
11027
3.98k
    if (yych <= ')') {
11028
1.09k
      if (yych <= '\n') {
11029
689
        if (yych <= 0x00) goto yy86;
11030
490
        if (yych <= '\t') goto yy738;
11031
194
        goto yy787;
11032
490
      } else {
11033
410
        if (yych == '\r') goto yy787;
11034
206
        goto yy738;
11035
410
      }
11036
2.88k
    } else {
11037
2.88k
      if (yych <= 'D') {
11038
830
        if (yych <= '*') goto yy789;
11039
616
        if (yych <= 'C') goto yy738;
11040
414
        goto yy957;
11041
2.05k
      } else {
11042
2.05k
        if (yych == 'd') goto yy957;
11043
249
        goto yy738;
11044
2.05k
      }
11045
2.88k
    }
11046
8.01k
yy953:
11047
8.01k
    YYDEBUG(953, *YYCURSOR);
11048
8.01k
    ++YYCURSOR;
11049
8.01k
    YYFILL(1);
11050
8.01k
    yych = *YYCURSOR;
11051
8.01k
    if (yych <= ')') {
11052
1.12k
      if (yych <= '\n') {
11053
684
        if (yych <= 0x00) goto yy86;
11054
465
        if (yych <= '\t') goto yy738;
11055
266
        goto yy787;
11056
465
      } else {
11057
440
        if (yych == '\r') goto yy787;
11058
199
        goto yy738;
11059
440
      }
11060
6.89k
    } else {
11061
6.89k
      if (yych <= 'M') {
11062
3.75k
        if (yych <= '*') goto yy789;
11063
3.55k
        if (yych <= 'L') goto yy738;
11064
3.23k
        goto yy958;
11065
3.55k
      } else {
11066
3.13k
        if (yych == 'm') goto yy958;
11067
346
        goto yy738;
11068
3.13k
      }
11069
6.89k
    }
11070
796
yy954:
11071
796
    YYDEBUG(954, *YYCURSOR);
11072
796
    yyaccept = 94;
11073
796
    YYMARKER = ++YYCURSOR;
11074
796
    YYFILL(1);
11075
796
    yych = *YYCURSOR;
11076
796
    if (yych <= 0x00) goto yy886;
11077
561
    if (yych == '*') goto yy668;
11078
330
    goto yy590;
11079
2.58k
yy955:
11080
2.58k
    YYDEBUG(955, *YYCURSOR);
11081
2.58k
    ++YYCURSOR;
11082
2.58k
    YYFILL(1);
11083
2.58k
    yych = *YYCURSOR;
11084
2.58k
    if (yych <= 'M') {
11085
601
      if (yych <= 0x00) goto yy86;
11086
398
      if (yych == '*') goto yy668;
11087
200
      goto yy590;
11088
1.98k
    } else {
11089
1.98k
      if (yych <= 'N') goto yy959;
11090
1.53k
      if (yych == 'n') goto yy959;
11091
201
      goto yy590;
11092
1.53k
    }
11093
10.3k
yy956:
11094
10.3k
    YYDEBUG(956, *YYCURSOR);
11095
10.3k
    ++YYCURSOR;
11096
10.3k
    YYFILL(1);
11097
10.3k
    yych = *YYCURSOR;
11098
10.3k
    if (yych <= '/') {
11099
7.42k
      if (yych <= '\f') {
11100
3.52k
        if (yych <= 0x00) goto yy875;
11101
3.29k
        if (yych == '\n') goto yy961;
11102
258
        goto yy960;
11103
3.89k
      } else {
11104
3.89k
        if (yych <= '\r') goto yy961;
11105
2.45k
        if (yych == '*') goto yy962;
11106
496
        goto yy960;
11107
2.45k
      }
11108
7.42k
    } else {
11109
2.88k
      if (yych <= '^') {
11110
1.32k
        if (yych <= '9') goto yy808;
11111
1.12k
        if (yych <= '@') goto yy960;
11112
837
        if (yych <= 'Z') goto yy808;
11113
358
        goto yy960;
11114
1.56k
      } else {
11115
1.56k
        if (yych <= '`') {
11116
562
          if (yych <= '_') goto yy808;
11117
367
          goto yy960;
11118
1.00k
        } else {
11119
1.00k
          if (yych <= 'z') goto yy808;
11120
770
          if (yych <= 0x7F) goto yy960;
11121
209
          goto yy808;
11122
770
        }
11123
1.56k
      }
11124
2.88k
    }
11125
3.06k
yy957:
11126
3.06k
    YYDEBUG(957, *YYCURSOR);
11127
3.06k
    ++YYCURSOR;
11128
3.06k
    YYFILL(1);
11129
3.06k
    yych = *YYCURSOR;
11130
3.06k
    if (yych <= ')') {
11131
1.07k
      if (yych <= '\n') {
11132
649
        if (yych <= 0x00) goto yy86;
11133
441
        if (yych <= '\t') goto yy738;
11134
203
        goto yy787;
11135
441
      } else {
11136
426
        if (yych == '\r') goto yy787;
11137
222
        goto yy738;
11138
426
      }
11139
1.99k
    } else {
11140
1.99k
      if (yych <= 'S') {
11141
694
        if (yych <= '*') goto yy789;
11142
474
        if (yych <= 'R') goto yy738;
11143
278
        goto yy963;
11144
1.29k
      } else {
11145
1.29k
        if (yych == 's') goto yy963;
11146
199
        goto yy738;
11147
1.29k
      }
11148
1.99k
    }
11149
6.02k
yy958:
11150
6.02k
    YYDEBUG(958, *YYCURSOR);
11151
6.02k
    ++YYCURSOR;
11152
6.02k
    YYFILL(1);
11153
6.02k
    yych = *YYCURSOR;
11154
6.02k
    if (yych <= ')') {
11155
1.15k
      if (yych <= '\n') {
11156
648
        if (yych <= 0x00) goto yy86;
11157
441
        if (yych <= '\t') goto yy738;
11158
206
        goto yy787;
11159
509
      } else {
11160
509
        if (yych == '\r') goto yy787;
11161
269
        goto yy738;
11162
509
      }
11163
4.86k
    } else {
11164
4.86k
      if (yych <= 'E') {
11165
2.65k
        if (yych <= '*') goto yy789;
11166
2.44k
        if (yych <= 'D') goto yy738;
11167
2.24k
        goto yy964;
11168
2.44k
      } else {
11169
2.21k
        if (yych == 'e') goto yy964;
11170
212
        goto yy738;
11171
2.21k
      }
11172
4.86k
    }
11173
1.78k
yy959:
11174
1.78k
    YYDEBUG(959, *YYCURSOR);
11175
1.78k
    ++YYCURSOR;
11176
1.78k
    YYFILL(1);
11177
1.78k
    yych = *YYCURSOR;
11178
1.78k
    if (yych <= 'S') {
11179
600
      if (yych <= 0x00) goto yy86;
11180
402
      if (yych == '*') goto yy668;
11181
203
      goto yy590;
11182
1.18k
    } else {
11183
1.18k
      if (yych <= 'T') goto yy945;
11184
985
      if (yych == 't') goto yy945;
11185
197
      goto yy590;
11186
985
    }
11187
2.33k
yy960:
11188
2.33k
    YYDEBUG(960, *YYCURSOR);
11189
2.33k
    yyaccept = 91;
11190
2.33k
    YYMARKER = ++YYCURSOR;
11191
2.33k
    YYFILL(1);
11192
2.33k
    yych = *YYCURSOR;
11193
2.33k
    if (yych <= '\f') {
11194
855
      if (yych <= 0x00) goto yy876;
11195
639
      if (yych == '\n') goto yy846;
11196
356
      goto yy808;
11197
1.47k
    } else {
11198
1.47k
      if (yych <= '\r') goto yy846;
11199
1.21k
      if (yych == '*') goto yy848;
11200
957
      goto yy808;
11201
1.21k
    }
11202
4.48k
yy961:
11203
4.48k
    YYDEBUG(961, *YYCURSOR);
11204
4.48k
    yyaccept = 91;
11205
4.48k
    YYMARKER = ++YYCURSOR;
11206
4.48k
    YYFILL(1);
11207
4.48k
    yych = *YYCURSOR;
11208
4.48k
    if (yych <= '#') {
11209
3.02k
      if (yych <= '\f') {
11210
850
        if (yych <= 0x00) goto yy876;
11211
637
        if (yych <= 0x08) goto yy696;
11212
406
        if (yych <= '\n') goto yy846;
11213
201
        goto yy696;
11214
2.17k
      } else {
11215
2.17k
        if (yych <= 0x1F) {
11216
557
          if (yych <= '\r') goto yy846;
11217
240
          goto yy696;
11218
1.62k
        } else {
11219
1.62k
          if (yych <= ' ') goto yy846;
11220
848
          if (yych <= '"') goto yy696;
11221
654
          goto yy877;
11222
848
        }
11223
2.17k
      }
11224
3.02k
    } else {
11225
1.45k
      if (yych <= '/') {
11226
623
        if (yych == '*') goto yy760;
11227
420
        if (yych <= '.') goto yy696;
11228
196
        goto yy878;
11229
830
      } else {
11230
830
        if (yych <= 'F') {
11231
419
          if (yych <= 'E') goto yy696;
11232
220
          goto yy879;
11233
419
        } else {
11234
411
          if (yych == 'f') goto yy879;
11235
210
          goto yy696;
11236
411
        }
11237
830
      }
11238
1.45k
    }
11239
1.96k
yy962:
11240
1.96k
    YYDEBUG(962, *YYCURSOR);
11241
1.96k
    yyaccept = 91;
11242
1.96k
    YYMARKER = ++YYCURSOR;
11243
1.96k
    YYFILL(1);
11244
1.96k
    yych = *YYCURSOR;
11245
1.96k
    if (yych <= '\r') {
11246
1.05k
      if (yych <= '\t') {
11247
396
        if (yych <= 0x00) goto yy876;
11248
202
        goto yy808;
11249
654
      } else {
11250
654
        if (yych <= '\n') goto yy846;
11251
454
        if (yych <= '\f') goto yy808;
11252
258
        goto yy846;
11253
454
      }
11254
1.05k
    } else {
11255
911
      if (yych <= '*') {
11256
394
        if (yych <= ')') goto yy808;
11257
199
        goto yy848;
11258
517
      } else {
11259
517
        if (yych == '/') goto yy694;
11260
322
        goto yy808;
11261
517
      }
11262
911
    }
11263
1.37k
yy963:
11264
1.37k
    YYDEBUG(963, *YYCURSOR);
11265
1.37k
    yyaccept = 94;
11266
1.37k
    YYMARKER = ++YYCURSOR;
11267
1.37k
    YYFILL(1);
11268
1.37k
    yych = *YYCURSOR;
11269
1.37k
    if (yych <= '\f') {
11270
609
      if (yych <= 0x00) goto yy886;
11271
400
      if (yych == '\n') goto yy787;
11272
198
      goto yy738;
11273
769
    } else {
11274
769
      if (yych <= '\r') goto yy787;
11275
519
      if (yych == '*') goto yy789;
11276
302
      goto yy738;
11277
519
    }
11278
4.24k
yy964:
11279
4.24k
    YYDEBUG(964, *YYCURSOR);
11280
4.24k
    ++YYCURSOR;
11281
4.24k
    YYFILL(1);
11282
4.24k
    yych = *YYCURSOR;
11283
4.24k
    if (yych <= ')') {
11284
1.01k
      if (yych <= '\n') {
11285
617
        if (yych <= 0x00) goto yy86;
11286
413
        if (yych <= '\t') goto yy738;
11287
208
        goto yy787;
11288
413
      } else {
11289
393
        if (yych == '\r') goto yy787;
11290
197
        goto yy738;
11291
393
      }
11292
3.23k
    } else {
11293
3.23k
      if (yych <= 'N') {
11294
1.89k
        if (yych <= '*') goto yy789;
11295
1.70k
        if (yych <= 'M') goto yy738;
11296
1.70k
      } else {
11297
1.33k
        if (yych != 'n') goto yy738;
11298
1.33k
      }
11299
3.23k
    }
11300
2.49k
    YYDEBUG(965, *YYCURSOR);
11301
2.49k
    ++YYCURSOR;
11302
2.49k
    YYFILL(1);
11303
2.49k
    yych = *YYCURSOR;
11304
2.49k
    if (yych <= ')') {
11305
1.00k
      if (yych <= '\n') {
11306
606
        if (yych <= 0x00) goto yy86;
11307
406
        if (yych <= '\t') goto yy738;
11308
204
        goto yy787;
11309
406
      } else {
11310
396
        if (yych == '\r') goto yy787;
11311
199
        goto yy738;
11312
396
      }
11313
1.49k
    } else {
11314
1.49k
      if (yych <= 'T') {
11315
603
        if (yych <= '*') goto yy789;
11316
401
        if (yych <= 'S') goto yy738;
11317
202
        goto yy957;
11318
892
      } else {
11319
892
        if (yych == 't') goto yy957;
11320
244
        goto yy738;
11321
892
      }
11322
1.49k
    }
11323
2.49k
  }
11324
/* *********************************** */
11325
58.5k
yyc_ST_LOOKING_FOR_PROPERTY:
11326
58.5k
  {
11327
58.5k
    static const unsigned char yybm[] = {
11328
58.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
58.5k
        0,  64,  64,   0,   0,  64,   0,   0, 
11330
58.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
58.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
58.5k
       64,   0,   0,   0,   0,   0,   0,   0, 
11333
58.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
11334
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11335
58.5k
      128, 128,   0,   0,   0,   0,   0,   0, 
11336
58.5k
        0, 128, 128, 128, 128, 128, 128, 128, 
11337
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11339
58.5k
      128, 128, 128,   0,   0,   0,   0, 128, 
11340
58.5k
        0, 128, 128, 128, 128, 128, 128, 128, 
11341
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
58.5k
      128, 128, 128,   0,   0,   0,   0,   0, 
11344
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
58.5k
      128, 128, 128, 128, 128, 128, 128, 128, 
11360
58.5k
    };
11361
58.5k
    YYDEBUG(966, *YYCURSOR);
11362
58.5k
    YYFILL(4);
11363
58.5k
    yych = *YYCURSOR;
11364
58.5k
    if (yybm[0+yych] & 64) {
11365
2.17k
      goto yy970;
11366
2.17k
    }
11367
56.3k
    if (yych <= '?') {
11368
17.9k
      if (yych <= '-') {
11369
9.50k
        if (yych == '#') goto yy973;
11370
7.40k
        if (yych >= '-') goto yy975;
11371
8.40k
      } else {
11372
8.40k
        if (yych == '/') goto yy976;
11373
4.20k
        if (yych >= '?') goto yy977;
11374
4.20k
      }
11375
38.4k
    } else {
11376
38.4k
      if (yych <= '_') {
11377
4.53k
        if (yych <= '@') goto yy968;
11378
4.33k
        if (yych <= 'Z') goto yy978;
11379
2.23k
        if (yych >= '_') goto yy978;
11380
33.9k
      } else {
11381
33.9k
        if (yych <= '`') goto yy968;
11382
33.5k
        if (yych <= 'z') goto yy978;
11383
10.6k
        if (yych >= 0x80) goto yy978;
11384
10.6k
      }
11385
38.4k
    }
11386
5.61k
yy968:
11387
5.61k
    YYDEBUG(968, *YYCURSOR);
11388
5.61k
    ++YYCURSOR;
11389
6.98k
yy969:
11390
6.98k
    YYDEBUG(969, *YYCURSOR);
11391
6.98k
    yyleng = YYCURSOR - SCNG(yy_text);
11392
6.98k
#line 2520 "Zend/zend_language_scanner.l"
11393
6.98k
    {
11394
6.98k
  yyless(0);
11395
6.98k
  yy_pop_state();
11396
6.98k
  goto restart;
11397
5.61k
}
11398
0
#line 11399 "Zend/zend_language_scanner.c"
11399
2.79k
yy970:
11400
2.79k
    YYDEBUG(970, *YYCURSOR);
11401
2.79k
    ++YYCURSOR;
11402
2.79k
    YYFILL(1);
11403
2.79k
    yych = *YYCURSOR;
11404
2.79k
    YYDEBUG(971, *YYCURSOR);
11405
2.79k
    if (yybm[0+yych] & 64) {
11406
623
      goto yy970;
11407
623
    }
11408
2.17k
    YYDEBUG(972, *YYCURSOR);
11409
2.17k
    yyleng = YYCURSOR - SCNG(yy_text);
11410
2.17k
#line 1597 "Zend/zend_language_scanner.l"
11411
2.17k
    {
11412
2.17k
  goto return_whitespace;
11413
2.79k
}
11414
0
#line 11415 "Zend/zend_language_scanner.c"
11415
2.31k
yy973:
11416
2.31k
    YYDEBUG(973, *YYCURSOR);
11417
2.31k
    ++YYCURSOR;
11418
2.31k
    YYDEBUG(974, *YYCURSOR);
11419
2.31k
    yyleng = YYCURSOR - SCNG(yy_text);
11420
2.31k
#line 2460 "Zend/zend_language_scanner.l"
11421
2.31k
    {
11422
7.57k
  while (YYCURSOR < YYLIMIT) {
11423
7.10k
    switch (*YYCURSOR++) {
11424
276
      case '\r':
11425
1.63k
      case '\n':
11426
1.63k
        YYCURSOR--;
11427
1.63k
        break;
11428
825
      case '?':
11429
825
        if (*YYCURSOR == '>') {
11430
206
          YYCURSOR--;
11431
206
          break;
11432
206
        }
11433
619
        ZEND_FALLTHROUGH;
11434
5.26k
      default:
11435
5.26k
        continue;
11436
7.10k
    }
11437
11438
1.83k
    break;
11439
7.10k
  }
11440
11441
2.31k
  yyleng = YYCURSOR - SCNG(yy_text);
11442
2.31k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11443
2.31k
}
11444
0
#line 11445 "Zend/zend_language_scanner.c"
11445
4.58k
yy975:
11446
4.58k
    YYDEBUG(975, *YYCURSOR);
11447
4.58k
    yych = *++YYCURSOR;
11448
4.58k
    if (yych == '>') goto yy981;
11449
294
    goto yy969;
11450
4.20k
yy976:
11451
4.20k
    YYDEBUG(976, *YYCURSOR);
11452
4.20k
    yych = *++YYCURSOR;
11453
4.20k
    if (yych == '*') goto yy983;
11454
628
    if (yych == '/') goto yy973;
11455
418
    goto yy969;
11456
3.63k
yy977:
11457
3.63k
    YYDEBUG(977, *YYCURSOR);
11458
3.63k
    yyaccept = 0;
11459
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
11460
3.63k
    if (yych == '-') goto yy985;
11461
453
    goto yy969;
11462
89.6k
yy978:
11463
89.6k
    YYDEBUG(978, *YYCURSOR);
11464
89.6k
    ++YYCURSOR;
11465
89.6k
    YYFILL(1);
11466
89.6k
    yych = *YYCURSOR;
11467
89.6k
    YYDEBUG(979, *YYCURSOR);
11468
89.6k
    if (yybm[0+yych] & 128) {
11469
53.4k
      goto yy978;
11470
53.4k
    }
11471
36.2k
    YYDEBUG(980, *YYCURSOR);
11472
36.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11473
36.2k
#line 1609 "Zend/zend_language_scanner.l"
11474
36.2k
    {
11475
36.2k
  yy_pop_state();
11476
36.2k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11477
36.2k
}
11478
0
#line 11479 "Zend/zend_language_scanner.c"
11479
4.29k
yy981:
11480
4.29k
    YYDEBUG(981, *YYCURSOR);
11481
4.29k
    ++YYCURSOR;
11482
4.29k
    YYDEBUG(982, *YYCURSOR);
11483
4.29k
    yyleng = YYCURSOR - SCNG(yy_text);
11484
4.29k
#line 1601 "Zend/zend_language_scanner.l"
11485
4.29k
    {
11486
4.29k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11487
4.29k
}
11488
0
#line 11489 "Zend/zend_language_scanner.c"
11489
3.57k
yy983:
11490
3.57k
    YYDEBUG(983, *YYCURSOR);
11491
3.57k
    yyaccept = 1;
11492
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
11493
3.57k
    if (yych == '*') goto yy987;
11494
3.57k
yy984:
11495
3.57k
    YYDEBUG(984, *YYCURSOR);
11496
3.57k
    yyleng = YYCURSOR - SCNG(yy_text);
11497
3.57k
#line 2484 "Zend/zend_language_scanner.l"
11498
3.57k
    {
11499
3.57k
  int doc_com;
11500
11501
3.57k
  if (yyleng > 2) {
11502
1.61k
    doc_com = 1;
11503
1.61k
    RESET_DOC_COMMENT();
11504
1.96k
  } else {
11505
1.96k
    doc_com = 0;
11506
1.96k
  }
11507
11508
25.0k
  while (YYCURSOR < YYLIMIT) {
11509
24.1k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11510
2.70k
      break;
11511
2.70k
    }
11512
24.1k
  }
11513
11514
3.57k
  if (YYCURSOR < YYLIMIT) {
11515
2.70k
    YYCURSOR++;
11516
2.70k
  } else {
11517
866
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11518
866
    if (PARSER_MODE()) {
11519
113
      RETURN_TOKEN(T_ERROR);
11520
113
    }
11521
866
  }
11522
11523
3.46k
  yyleng = YYCURSOR - SCNG(yy_text);
11524
3.46k
  HANDLE_NEWLINES(yytext, yyleng);
11525
11526
3.46k
  if (doc_com) {
11527
1.55k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11528
1.55k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11529
1.55k
  }
11530
11531
1.90k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11532
1.90k
}
11533
0
#line 11534 "Zend/zend_language_scanner.c"
11534
3.18k
yy985:
11535
3.18k
    YYDEBUG(985, *YYCURSOR);
11536
3.18k
    yych = *++YYCURSOR;
11537
3.18k
    if (yych == '>') goto yy988;
11538
1.64k
yy986:
11539
1.64k
    YYDEBUG(986, *YYCURSOR);
11540
1.64k
    YYCURSOR = YYMARKER;
11541
1.64k
    if (yyaccept == 0) {
11542
202
      goto yy969;
11543
1.44k
    } else {
11544
1.44k
      goto yy984;
11545
1.44k
    }
11546
3.05k
yy987:
11547
3.05k
    YYDEBUG(987, *YYCURSOR);
11548
3.05k
    yych = *++YYCURSOR;
11549
3.05k
    if (yych <= '\f') {
11550
1.67k
      if (yych <= 0x08) goto yy986;
11551
1.27k
      if (yych <= '\n') goto yy990;
11552
200
      goto yy986;
11553
1.38k
    } else {
11554
1.38k
      if (yych <= '\r') goto yy990;
11555
1.07k
      if (yych == ' ') goto yy990;
11556
848
      goto yy986;
11557
1.07k
    }
11558
2.98k
yy988:
11559
2.98k
    YYDEBUG(988, *YYCURSOR);
11560
2.98k
    ++YYCURSOR;
11561
2.98k
    YYDEBUG(989, *YYCURSOR);
11562
2.98k
    yyleng = YYCURSOR - SCNG(yy_text);
11563
2.98k
#line 1605 "Zend/zend_language_scanner.l"
11564
2.98k
    {
11565
2.98k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11566
2.98k
}
11567
0
#line 11568 "Zend/zend_language_scanner.c"
11568
2.40k
yy990:
11569
2.40k
    YYDEBUG(990, *YYCURSOR);
11570
2.40k
    ++YYCURSOR;
11571
2.40k
    YYFILL(1);
11572
2.40k
    yych = *YYCURSOR;
11573
2.40k
    YYDEBUG(991, *YYCURSOR);
11574
2.40k
    if (yych <= '\f') {
11575
1.17k
      if (yych <= 0x08) goto yy984;
11576
875
      if (yych <= '\n') goto yy990;
11577
644
      goto yy984;
11578
1.22k
    } else {
11579
1.22k
      if (yych <= '\r') goto yy990;
11580
909
      if (yych == ' ') goto yy990;
11581
663
      goto yy984;
11582
909
    }
11583
2.40k
  }
11584
/* *********************************** */
11585
51.1k
yyc_ST_BACKQUOTE:
11586
51.1k
  {
11587
51.1k
    static const unsigned char yybm[] = {
11588
51.1k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
51.1k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
51.1k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
51.1k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
51.1k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
51.1k
        0,   0,   0,   0,   0,   0,   0,   0, 
11594
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11595
51.1k
      128, 128,   0,   0,   0,   0,   0,   0, 
11596
51.1k
        0, 128, 128, 128, 128, 128, 128, 128, 
11597
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11599
51.1k
      128, 128, 128,   0,   0,   0,   0, 128, 
11600
51.1k
        0, 128, 128, 128, 128, 128, 128, 128, 
11601
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
51.1k
      128, 128, 128,   0,   0,   0,   0,   0, 
11604
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
51.1k
      128, 128, 128, 128, 128, 128, 128, 128, 
11620
51.1k
    };
11621
51.1k
    YYDEBUG(992, *YYCURSOR);
11622
51.1k
    YYFILL(2);
11623
51.1k
    yych = *YYCURSOR;
11624
51.1k
    if (yych <= '_') {
11625
38.3k
      if (yych == '$') goto yy996;
11626
38.3k
    } else {
11627
12.7k
      if (yych <= '`') goto yy997;
11628
4.46k
      if (yych == '{') goto yy999;
11629
4.46k
    }
11630
20.9k
    YYDEBUG(994, *YYCURSOR);
11631
20.9k
    ++YYCURSOR;
11632
23.2k
yy995:
11633
23.2k
    YYDEBUG(995, *YYCURSOR);
11634
23.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11635
23.2k
#line 2919 "Zend/zend_language_scanner.l"
11636
23.2k
    {
11637
23.2k
  if (YYCURSOR > YYLIMIT) {
11638
3.42k
    RETURN_END_TOKEN;
11639
3.42k
  }
11640
19.7k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11641
550
    YYCURSOR++;
11642
550
  }
11643
11644
117k
  while (YYCURSOR < YYLIMIT) {
11645
114k
    switch (*YYCURSOR++) {
11646
3.83k
      case '`':
11647
3.83k
        break;
11648
14.3k
      case '$':
11649
14.3k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11650
12.1k
          break;
11651
12.1k
        }
11652
2.21k
        continue;
11653
2.21k
      case '{':
11654
1.90k
        if (*YYCURSOR == '$') {
11655
800
          break;
11656
800
        }
11657
1.10k
        continue;
11658
2.50k
      case '\\':
11659
2.50k
        if (YYCURSOR < YYLIMIT) {
11660
2.29k
          YYCURSOR++;
11661
2.29k
        }
11662
2.50k
        ZEND_FALLTHROUGH;
11663
94.0k
      default:
11664
94.0k
        continue;
11665
114k
    }
11666
11667
16.7k
    YYCURSOR--;
11668
16.7k
    break;
11669
114k
  }
11670
11671
19.7k
  yyleng = YYCURSOR - SCNG(yy_text);
11672
11673
19.7k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11674
19.7k
   || !PARSER_MODE()) {
11675
19.7k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11676
19.7k
  } else {
11677
10
    RETURN_TOKEN(T_ERROR);
11678
10
  }
11679
19.7k
}
11680
0
#line 11681 "Zend/zend_language_scanner.c"
11681
20.4k
yy996:
11682
20.4k
    YYDEBUG(996, *YYCURSOR);
11683
20.4k
    yych = *++YYCURSOR;
11684
20.4k
    if (yych <= '_') {
11685
5.04k
      if (yych <= '@') goto yy995;
11686
4.13k
      if (yych <= 'Z') goto yy1000;
11687
2.34k
      if (yych <= '^') goto yy995;
11688
2.11k
      goto yy1000;
11689
15.3k
    } else {
11690
15.3k
      if (yych <= 'z') {
11691
4.99k
        if (yych <= '`') goto yy995;
11692
4.69k
        goto yy1000;
11693
10.3k
      } else {
11694
10.3k
        if (yych <= '{') goto yy1003;
11695
4.28k
        if (yych <= 0x7F) goto yy995;
11696
4.06k
        goto yy1000;
11697
4.28k
      }
11698
15.3k
    }
11699
8.32k
yy997:
11700
8.32k
    YYDEBUG(997, *YYCURSOR);
11701
8.32k
    ++YYCURSOR;
11702
8.32k
    YYDEBUG(998, *YYCURSOR);
11703
8.32k
    yyleng = YYCURSOR - SCNG(yy_text);
11704
8.32k
#line 2859 "Zend/zend_language_scanner.l"
11705
8.32k
    {
11706
8.32k
  BEGIN(ST_IN_SCRIPTING);
11707
8.32k
  RETURN_TOKEN('`');
11708
8.32k
}
11709
0
#line 11710 "Zend/zend_language_scanner.c"
11710
1.41k
yy999:
11711
1.41k
    YYDEBUG(999, *YYCURSOR);
11712
1.41k
    yych = *++YYCURSOR;
11713
1.41k
    if (yych == '$') goto yy1005;
11714
570
    goto yy995;
11715
19.9k
yy1000:
11716
19.9k
    YYDEBUG(1000, *YYCURSOR);
11717
19.9k
    YYMARKER = ++YYCURSOR;
11718
19.9k
    YYFILL(4);
11719
19.9k
    yych = *YYCURSOR;
11720
19.9k
    YYDEBUG(1001, *YYCURSOR);
11721
19.9k
    if (yybm[0+yych] & 128) {
11722
7.28k
      goto yy1000;
11723
7.28k
    }
11724
12.6k
    if (yych <= '>') {
11725
7.41k
      if (yych == '-') goto yy1007;
11726
7.41k
    } else {
11727
5.24k
      if (yych <= '?') goto yy1009;
11728
2.68k
      if (yych <= '@') goto yy1002;
11729
2.45k
      if (yych <= '[') goto yy1010;
11730
2.45k
    }
11731
9.59k
yy1002:
11732
9.59k
    YYDEBUG(1002, *YYCURSOR);
11733
9.59k
    yyleng = YYCURSOR - SCNG(yy_text);
11734
9.59k
#line 2417 "Zend/zend_language_scanner.l"
11735
9.59k
    {
11736
9.59k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11737
9.59k
}
11738
0
#line 11739 "Zend/zend_language_scanner.c"
11739
6.08k
yy1003:
11740
6.08k
    YYDEBUG(1003, *YYCURSOR);
11741
6.08k
    ++YYCURSOR;
11742
6.08k
    YYDEBUG(1004, *YYCURSOR);
11743
6.08k
    yyleng = YYCURSOR - SCNG(yy_text);
11744
6.08k
#line 1981 "Zend/zend_language_scanner.l"
11745
6.08k
    {
11746
6.08k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11747
6.08k
  enter_nesting('{');
11748
6.08k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11749
6.08k
}
11750
0
#line 11751 "Zend/zend_language_scanner.c"
11751
847
yy1005:
11752
847
    YYDEBUG(1005, *YYCURSOR);
11753
847
    ++YYCURSOR;
11754
847
    YYDEBUG(1006, *YYCURSOR);
11755
847
    yyleng = YYCURSOR - SCNG(yy_text);
11756
847
#line 2846 "Zend/zend_language_scanner.l"
11757
847
    {
11758
847
  yy_push_state(ST_IN_SCRIPTING);
11759
847
  yyless(1);
11760
847
  enter_nesting('{');
11761
847
  RETURN_TOKEN(T_CURLY_OPEN);
11762
847
}
11763
0
#line 11764 "Zend/zend_language_scanner.c"
11764
3.35k
yy1007:
11765
3.35k
    YYDEBUG(1007, *YYCURSOR);
11766
3.35k
    yych = *++YYCURSOR;
11767
3.35k
    if (yych == '>') goto yy1012;
11768
3.54k
yy1008:
11769
3.54k
    YYDEBUG(1008, *YYCURSOR);
11770
3.54k
    YYCURSOR = YYMARKER;
11771
3.54k
    goto yy1002;
11772
2.56k
yy1009:
11773
2.56k
    YYDEBUG(1009, *YYCURSOR);
11774
2.56k
    yych = *++YYCURSOR;
11775
2.56k
    if (yych == '-') goto yy1013;
11776
362
    goto yy1008;
11777
700
yy1010:
11778
700
    YYDEBUG(1010, *YYCURSOR);
11779
700
    ++YYCURSOR;
11780
700
    YYDEBUG(1011, *YYCURSOR);
11781
700
    yyleng = YYCURSOR - SCNG(yy_text);
11782
700
#line 2411 "Zend/zend_language_scanner.l"
11783
700
    {
11784
700
  yyless(yyleng - 1);
11785
700
  yy_push_state(ST_VAR_OFFSET);
11786
700
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11787
700
}
11788
0
#line 11789 "Zend/zend_language_scanner.c"
11789
2.27k
yy1012:
11790
2.27k
    YYDEBUG(1012, *YYCURSOR);
11791
2.27k
    yych = *++YYCURSOR;
11792
2.27k
    if (yych <= '_') {
11793
1.01k
      if (yych <= '@') goto yy1008;
11794
659
      if (yych <= 'Z') goto yy1014;
11795
429
      if (yych <= '^') goto yy1008;
11796
215
      goto yy1014;
11797
1.26k
    } else {
11798
1.26k
      if (yych <= '`') goto yy1008;
11799
1.02k
      if (yych <= 'z') goto yy1014;
11800
734
      if (yych <= 0x7F) goto yy1008;
11801
520
      goto yy1014;
11802
734
    }
11803
2.19k
yy1013:
11804
2.19k
    YYDEBUG(1013, *YYCURSOR);
11805
2.19k
    yych = *++YYCURSOR;
11806
2.19k
    if (yych == '>') goto yy1016;
11807
236
    goto yy1008;
11808
1.25k
yy1014:
11809
1.25k
    YYDEBUG(1014, *YYCURSOR);
11810
1.25k
    ++YYCURSOR;
11811
1.25k
    YYDEBUG(1015, *YYCURSOR);
11812
1.25k
    yyleng = YYCURSOR - SCNG(yy_text);
11813
1.25k
#line 2397 "Zend/zend_language_scanner.l"
11814
1.25k
    {
11815
1.25k
  yyless(yyleng - 3);
11816
1.25k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11817
1.25k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11818
1.25k
}
11819
0
#line 11820 "Zend/zend_language_scanner.c"
11820
1.96k
yy1016:
11821
1.96k
    YYDEBUG(1016, *YYCURSOR);
11822
1.96k
    yych = *++YYCURSOR;
11823
1.96k
    if (yych <= '_') {
11824
1.14k
      if (yych <= '@') goto yy1008;
11825
899
      if (yych <= 'Z') goto yy1017;
11826
697
      if (yych <= '^') goto yy1008;
11827
818
    } else {
11828
818
      if (yych <= '`') goto yy1008;
11829
618
      if (yych <= 'z') goto yy1017;
11830
418
      if (yych <= 0x7F) goto yy1008;
11831
418
    }
11832
1.11k
yy1017:
11833
1.11k
    YYDEBUG(1017, *YYCURSOR);
11834
1.11k
    ++YYCURSOR;
11835
1.11k
    YYDEBUG(1018, *YYCURSOR);
11836
1.11k
    yyleng = YYCURSOR - SCNG(yy_text);
11837
1.11k
#line 2403 "Zend/zend_language_scanner.l"
11838
1.11k
    {
11839
1.11k
  yyless(yyleng - 4);
11840
1.11k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11841
1.11k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11842
1.11k
}
11843
1.11k
#line 11844 "Zend/zend_language_scanner.c"
11844
1.11k
  }
11845
/* *********************************** */
11846
103k
yyc_ST_DOUBLE_QUOTES:
11847
103k
  {
11848
103k
    static const unsigned char yybm[] = {
11849
103k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
103k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
103k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
103k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
103k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
103k
        0,   0,   0,   0,   0,   0,   0,   0, 
11855
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11856
103k
      128, 128,   0,   0,   0,   0,   0,   0, 
11857
103k
        0, 128, 128, 128, 128, 128, 128, 128, 
11858
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11860
103k
      128, 128, 128,   0,   0,   0,   0, 128, 
11861
103k
        0, 128, 128, 128, 128, 128, 128, 128, 
11862
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
103k
      128, 128, 128,   0,   0,   0,   0,   0, 
11865
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
103k
      128, 128, 128, 128, 128, 128, 128, 128, 
11881
103k
    };
11882
103k
    YYDEBUG(1019, *YYCURSOR);
11883
103k
    YYFILL(2);
11884
103k
    yych = *YYCURSOR;
11885
103k
    if (yych <= '#') {
11886
23.4k
      if (yych == '"') goto yy1023;
11887
80.2k
    } else {
11888
80.2k
      if (yych <= '$') goto yy1025;
11889
29.9k
      if (yych == '{') goto yy1026;
11890
29.9k
    }
11891
49.0k
    YYDEBUG(1021, *YYCURSOR);
11892
49.0k
    ++YYCURSOR;
11893
52.4k
yy1022:
11894
52.4k
    YYDEBUG(1022, *YYCURSOR);
11895
52.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11896
52.4k
#line 2865 "Zend/zend_language_scanner.l"
11897
52.4k
    {
11898
52.4k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11899
16.7k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11900
16.7k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11901
11902
16.7k
    goto double_quotes_scan_done;
11903
16.7k
  }
11904
11905
35.6k
  if (YYCURSOR > YYLIMIT) {
11906
5.48k
    RETURN_END_TOKEN;
11907
5.48k
  }
11908
30.2k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11909
585
    YYCURSOR++;
11910
585
  }
11911
11912
171k
  while (YYCURSOR < YYLIMIT) {
11913
169k
    switch (*YYCURSOR++) {
11914
1.90k
      case '"':
11915
1.90k
        break;
11916
30.9k
      case '$':
11917
30.9k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11918
26.1k
          break;
11919
26.1k
        }
11920
4.83k
        continue;
11921
4.83k
      case '{':
11922
1.17k
        if (*YYCURSOR == '$') {
11923
512
          break;
11924
512
        }
11925
667
        continue;
11926
2.11k
      case '\\':
11927
2.11k
        if (YYCURSOR < YYLIMIT) {
11928
1.90k
          YYCURSOR++;
11929
1.90k
        }
11930
2.11k
        ZEND_FALLTHROUGH;
11931
135k
      default:
11932
135k
        continue;
11933
169k
    }
11934
11935
28.5k
    YYCURSOR--;
11936
28.5k
    break;
11937
169k
  }
11938
11939
46.9k
double_quotes_scan_done:
11940
46.9k
  yyleng = YYCURSOR - SCNG(yy_text);
11941
11942
46.9k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11943
46.8k
   || !PARSER_MODE()) {
11944
46.8k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11945
46.8k
  } else {
11946
71
    RETURN_TOKEN(T_ERROR);
11947
71
  }
11948
46.9k
}
11949
0
#line 11950 "Zend/zend_language_scanner.c"
11950
2.79k
yy1023:
11951
2.79k
    YYDEBUG(1023, *YYCURSOR);
11952
2.79k
    ++YYCURSOR;
11953
2.79k
    YYDEBUG(1024, *YYCURSOR);
11954
2.79k
    yyleng = YYCURSOR - SCNG(yy_text);
11955
2.79k
#line 2854 "Zend/zend_language_scanner.l"
11956
2.79k
    {
11957
2.79k
  BEGIN(ST_IN_SCRIPTING);
11958
2.79k
  RETURN_TOKEN('"');
11959
2.79k
}
11960
0
#line 11961 "Zend/zend_language_scanner.c"
11961
50.2k
yy1025:
11962
50.2k
    YYDEBUG(1025, *YYCURSOR);
11963
50.2k
    yych = *++YYCURSOR;
11964
50.2k
    if (yych <= '_') {
11965
15.5k
      if (yych <= '@') goto yy1022;
11966
13.9k
      if (yych <= 'Z') goto yy1027;
11967
2.40k
      if (yych <= '^') goto yy1022;
11968
1.96k
      goto yy1027;
11969
34.6k
    } else {
11970
34.6k
      if (yych <= 'z') {
11971
11.0k
        if (yych <= '`') goto yy1022;
11972
10.8k
        goto yy1027;
11973
23.6k
      } else {
11974
23.6k
        if (yych <= '{') goto yy1030;
11975
10.4k
        if (yych <= 0x7F) goto yy1022;
11976
10.0k
        goto yy1027;
11977
10.4k
      }
11978
34.6k
    }
11979
1.53k
yy1026:
11980
1.53k
    YYDEBUG(1026, *YYCURSOR);
11981
1.53k
    yych = *++YYCURSOR;
11982
1.53k
    if (yych == '$') goto yy1032;
11983
657
    goto yy1022;
11984
81.1k
yy1027:
11985
81.1k
    YYDEBUG(1027, *YYCURSOR);
11986
81.1k
    YYMARKER = ++YYCURSOR;
11987
81.1k
    YYFILL(4);
11988
81.1k
    yych = *YYCURSOR;
11989
81.1k
    YYDEBUG(1028, *YYCURSOR);
11990
81.1k
    if (yybm[0+yych] & 128) {
11991
46.7k
      goto yy1027;
11992
46.7k
    }
11993
34.3k
    if (yych <= '>') {
11994
27.1k
      if (yych == '-') goto yy1034;
11995
27.1k
    } else {
11996
7.22k
      if (yych <= '?') goto yy1036;
11997
3.94k
      if (yych <= '@') goto yy1029;
11998
3.64k
      if (yych <= '[') goto yy1037;
11999
3.64k
    }
12000
29.2k
yy1029:
12001
29.2k
    YYDEBUG(1029, *YYCURSOR);
12002
29.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12003
29.2k
#line 2417 "Zend/zend_language_scanner.l"
12004
29.2k
    {
12005
29.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12006
29.2k
}
12007
0
#line 12008 "Zend/zend_language_scanner.c"
12008
13.1k
yy1030:
12009
13.1k
    YYDEBUG(1030, *YYCURSOR);
12010
13.1k
    ++YYCURSOR;
12011
13.1k
    YYDEBUG(1031, *YYCURSOR);
12012
13.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12013
13.1k
#line 1981 "Zend/zend_language_scanner.l"
12014
13.1k
    {
12015
13.1k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12016
13.1k
  enter_nesting('{');
12017
13.1k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12018
13.1k
}
12019
0
#line 12020 "Zend/zend_language_scanner.c"
12020
874
yy1032:
12021
874
    YYDEBUG(1032, *YYCURSOR);
12022
874
    ++YYCURSOR;
12023
874
    YYDEBUG(1033, *YYCURSOR);
12024
874
    yyleng = YYCURSOR - SCNG(yy_text);
12025
874
#line 2846 "Zend/zend_language_scanner.l"
12026
874
    {
12027
874
  yy_push_state(ST_IN_SCRIPTING);
12028
874
  yyless(1);
12029
874
  enter_nesting('{');
12030
874
  RETURN_TOKEN(T_CURLY_OPEN);
12031
874
}
12032
0
#line 12033 "Zend/zend_language_scanner.c"
12033
4.21k
yy1034:
12034
4.21k
    YYDEBUG(1034, *YYCURSOR);
12035
4.21k
    yych = *++YYCURSOR;
12036
4.21k
    if (yych == '>') goto yy1039;
12037
4.51k
yy1035:
12038
4.51k
    YYDEBUG(1035, *YYCURSOR);
12039
4.51k
    YYCURSOR = YYMARKER;
12040
4.51k
    goto yy1029;
12041
3.27k
yy1036:
12042
3.27k
    YYDEBUG(1036, *YYCURSOR);
12043
3.27k
    yych = *++YYCURSOR;
12044
3.27k
    if (yych == '-') goto yy1040;
12045
604
    goto yy1035;
12046
2.19k
yy1037:
12047
2.19k
    YYDEBUG(1037, *YYCURSOR);
12048
2.19k
    ++YYCURSOR;
12049
2.19k
    YYDEBUG(1038, *YYCURSOR);
12050
2.19k
    yyleng = YYCURSOR - SCNG(yy_text);
12051
2.19k
#line 2411 "Zend/zend_language_scanner.l"
12052
2.19k
    {
12053
2.19k
  yyless(yyleng - 1);
12054
2.19k
  yy_push_state(ST_VAR_OFFSET);
12055
2.19k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12056
2.19k
}
12057
0
#line 12058 "Zend/zend_language_scanner.c"
12058
3.17k
yy1039:
12059
3.17k
    YYDEBUG(1039, *YYCURSOR);
12060
3.17k
    yych = *++YYCURSOR;
12061
3.17k
    if (yych <= '_') {
12062
1.17k
      if (yych <= '@') goto yy1035;
12063
756
      if (yych <= 'Z') goto yy1041;
12064
549
      if (yych <= '^') goto yy1035;
12065
314
      goto yy1041;
12066
1.99k
    } else {
12067
1.99k
      if (yych <= '`') goto yy1035;
12068
1.76k
      if (yych <= 'z') goto yy1041;
12069
668
      if (yych <= 0x7F) goto yy1035;
12070
357
      goto yy1041;
12071
668
    }
12072
2.67k
yy1040:
12073
2.67k
    YYDEBUG(1040, *YYCURSOR);
12074
2.67k
    yych = *++YYCURSOR;
12075
2.67k
    if (yych == '>') goto yy1043;
12076
763
    goto yy1035;
12077
1.97k
yy1041:
12078
1.97k
    YYDEBUG(1041, *YYCURSOR);
12079
1.97k
    ++YYCURSOR;
12080
1.97k
    YYDEBUG(1042, *YYCURSOR);
12081
1.97k
    yyleng = YYCURSOR - SCNG(yy_text);
12082
1.97k
#line 2397 "Zend/zend_language_scanner.l"
12083
1.97k
    {
12084
1.97k
  yyless(yyleng - 3);
12085
1.97k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12086
1.97k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12087
1.97k
}
12088
0
#line 12089 "Zend/zend_language_scanner.c"
12089
1.90k
yy1043:
12090
1.90k
    YYDEBUG(1043, *YYCURSOR);
12091
1.90k
    yych = *++YYCURSOR;
12092
1.90k
    if (yych <= '_') {
12093
1.01k
      if (yych <= '@') goto yy1035;
12094
705
      if (yych <= 'Z') goto yy1044;
12095
485
      if (yych <= '^') goto yy1035;
12096
893
    } else {
12097
893
      if (yych <= '`') goto yy1035;
12098
693
      if (yych <= 'z') goto yy1044;
12099
411
      if (yych <= 0x7F) goto yy1035;
12100
411
    }
12101
1.00k
yy1044:
12102
1.00k
    YYDEBUG(1044, *YYCURSOR);
12103
1.00k
    ++YYCURSOR;
12104
1.00k
    YYDEBUG(1045, *YYCURSOR);
12105
1.00k
    yyleng = YYCURSOR - SCNG(yy_text);
12106
1.00k
#line 2403 "Zend/zend_language_scanner.l"
12107
1.00k
    {
12108
1.00k
  yyless(yyleng - 4);
12109
1.00k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12110
1.00k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12111
1.00k
}
12112
1.00k
#line 12113 "Zend/zend_language_scanner.c"
12113
1.00k
  }
12114
/* *********************************** */
12115
1.96M
yyc_ST_HEREDOC:
12116
1.96M
  {
12117
1.96M
    static const unsigned char yybm[] = {
12118
1.96M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
1.96M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
1.96M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
1.96M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
1.96M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
1.96M
        0,   0,   0,   0,   0,   0,   0,   0, 
12124
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12125
1.96M
      128, 128,   0,   0,   0,   0,   0,   0, 
12126
1.96M
        0, 128, 128, 128, 128, 128, 128, 128, 
12127
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12129
1.96M
      128, 128, 128,   0,   0,   0,   0, 128, 
12130
1.96M
        0, 128, 128, 128, 128, 128, 128, 128, 
12131
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
1.96M
      128, 128, 128,   0,   0,   0,   0,   0, 
12134
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
1.96M
      128, 128, 128, 128, 128, 128, 128, 128, 
12150
1.96M
    };
12151
1.96M
    YYDEBUG(1046, *YYCURSOR);
12152
1.96M
    YYFILL(2);
12153
1.96M
    yych = *YYCURSOR;
12154
1.96M
    if (yych == '$') goto yy1050;
12155
250k
    if (yych == '{') goto yy1051;
12156
224k
    YYDEBUG(1048, *YYCURSOR);
12157
224k
    ++YYCURSOR;
12158
289k
yy1049:
12159
289k
    YYDEBUG(1049, *YYCURSOR);
12160
289k
    yyleng = YYCURSOR - SCNG(yy_text);
12161
289k
#line 2965 "Zend/zend_language_scanner.l"
12162
289k
    {
12163
289k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12164
289k
  int newline = 0, indentation = 0, spacing = 0;
12165
12166
289k
  if (YYCURSOR > YYLIMIT) {
12167
8.63k
    RETURN_END_TOKEN;
12168
8.63k
  }
12169
12170
281k
  YYCURSOR--;
12171
12172
1.92M
  while (YYCURSOR < YYLIMIT) {
12173
1.91M
    switch (*YYCURSOR++) {
12174
14.1k
      case '\r':
12175
14.1k
        if (*YYCURSOR == '\n') {
12176
1.20k
          YYCURSOR++;
12177
1.20k
        }
12178
14.1k
        ZEND_FALLTHROUGH;
12179
210k
      case '\n':
12180
210k
        indentation = spacing = 0;
12181
12182
215k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12183
5.22k
          if (*YYCURSOR == '\t') {
12184
2.46k
            spacing |= HEREDOC_USING_TABS;
12185
2.75k
          } else {
12186
2.75k
            spacing |= HEREDOC_USING_SPACES;
12187
2.75k
          }
12188
5.22k
          ++YYCURSOR;
12189
5.22k
          ++indentation;
12190
5.22k
        }
12191
12192
210k
        if (YYCURSOR == YYLIMIT) {
12193
755
          yyleng = YYCURSOR - SCNG(yy_text);
12194
755
          HANDLE_NEWLINES(yytext, yyleng);
12195
755
          ZVAL_NULL(zendlval);
12196
755
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12197
755
        }
12198
12199
        /* Check for ending label on the next line */
12200
209k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12201
8.97k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12202
3.95k
            continue;
12203
3.95k
          }
12204
12205
5.01k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12206
203
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12207
203
            if (PARSER_MODE()) {
12208
8
              RETURN_TOKEN(T_ERROR);
12209
8
            }
12210
203
          }
12211
12212
          /* newline before label will be subtracted from returned text, but
12213
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12214
5.01k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12215
196
            newline = 2; /* Windows newline */
12216
4.81k
          } else {
12217
4.81k
            newline = 1;
12218
4.81k
          }
12219
12220
5.01k
          CG(increment_lineno) = 1; /* For newline before label */
12221
12222
5.01k
          if (SCNG(heredoc_scan_ahead)) {
12223
3.40k
            SCNG(heredoc_indentation) = indentation;
12224
3.40k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12225
3.40k
          } else {
12226
1.61k
            YYCURSOR -= indentation;
12227
1.61k
          }
12228
12229
5.01k
          BEGIN(ST_END_HEREDOC);
12230
12231
5.01k
          goto heredoc_scan_done;
12232
5.01k
        }
12233
200k
        continue;
12234
338k
      case '$':
12235
338k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12236
265k
          break;
12237
265k
        }
12238
72.2k
        continue;
12239
72.2k
      case '{':
12240
48.0k
        if (*YYCURSOR == '$') {
12241
2.90k
          break;
12242
2.90k
        }
12243
45.1k
        continue;
12244
45.1k
      case '\\':
12245
7.56k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12246
6.78k
          YYCURSOR++;
12247
6.78k
        }
12248
7.56k
        ZEND_FALLTHROUGH;
12249
1.32M
      default:
12250
1.32M
        continue;
12251
1.91M
    }
12252
12253
268k
    YYCURSOR--;
12254
268k
    break;
12255
1.91M
  }
12256
12257
280k
heredoc_scan_done:
12258
12259
280k
  yyleng = YYCURSOR - SCNG(yy_text);
12260
280k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12261
12262
280k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12263
24.6k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12264
24.6k
    zend_string *copy = Z_STR_P(zendlval);
12265
12266
24.6k
    if (!strip_multiline_string_indentation(
12267
24.6k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12268
24.6k
        newline_at_start, newline != 0)) {
12269
3
      RETURN_TOKEN(T_ERROR);
12270
3
    }
12271
12272
24.6k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12273
21
      zend_string_efree(copy);
12274
21
      RETURN_TOKEN(T_ERROR);
12275
21
    }
12276
12277
24.6k
    zend_string_efree(copy);
12278
255k
  } else {
12279
255k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12280
255k
  }
12281
12282
280k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12283
280k
}
12284
0
#line 12285 "Zend/zend_language_scanner.c"
12285
1.71M
yy1050:
12286
1.71M
    YYDEBUG(1050, *YYCURSOR);
12287
1.71M
    yych = *++YYCURSOR;
12288
1.71M
    if (yych <= '_') {
12289
66.3k
      if (yych <= '@') goto yy1049;
12290
15.9k
      if (yych <= 'Z') goto yy1052;
12291
3.42k
      if (yych <= '^') goto yy1049;
12292
2.61k
      goto yy1052;
12293
1.64M
    } else {
12294
1.64M
      if (yych <= 'z') {
12295
22.2k
        if (yych <= '`') goto yy1049;
12296
21.8k
        goto yy1052;
12297
1.62M
      } else {
12298
1.62M
        if (yych <= '{') goto yy1055;
12299
47.9k
        if (yych <= 0x7F) goto yy1049;
12300
45.7k
        goto yy1052;
12301
47.9k
      }
12302
1.64M
    }
12303
26.3k
yy1051:
12304
26.3k
    YYDEBUG(1051, *YYCURSOR);
12305
26.3k
    yych = *++YYCURSOR;
12306
26.3k
    if (yych == '$') goto yy1057;
12307
11.3k
    goto yy1049;
12308
157k
yy1052:
12309
157k
    YYDEBUG(1052, *YYCURSOR);
12310
157k
    YYMARKER = ++YYCURSOR;
12311
157k
    YYFILL(4);
12312
157k
    yych = *YYCURSOR;
12313
157k
    YYDEBUG(1053, *YYCURSOR);
12314
157k
    if (yybm[0+yych] & 128) {
12315
74.4k
      goto yy1052;
12316
74.4k
    }
12317
82.7k
    if (yych <= '>') {
12318
66.8k
      if (yych == '-') goto yy1059;
12319
66.8k
    } else {
12320
15.8k
      if (yych <= '?') goto yy1061;
12321
12.7k
      if (yych <= '@') goto yy1054;
12322
12.0k
      if (yych <= '[') goto yy1062;
12323
12.0k
    }
12324
75.6k
yy1054:
12325
75.6k
    YYDEBUG(1054, *YYCURSOR);
12326
75.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12327
75.6k
#line 2417 "Zend/zend_language_scanner.l"
12328
75.6k
    {
12329
75.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12330
75.6k
}
12331
0
#line 12332 "Zend/zend_language_scanner.c"
12332
1.57M
yy1055:
12333
1.57M
    YYDEBUG(1055, *YYCURSOR);
12334
1.57M
    ++YYCURSOR;
12335
1.57M
    YYDEBUG(1056, *YYCURSOR);
12336
1.57M
    yyleng = YYCURSOR - SCNG(yy_text);
12337
1.57M
#line 1981 "Zend/zend_language_scanner.l"
12338
1.57M
    {
12339
1.57M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12340
1.57M
  enter_nesting('{');
12341
1.57M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12342
1.57M
}
12343
0
#line 12344 "Zend/zend_language_scanner.c"
12344
14.9k
yy1057:
12345
14.9k
    YYDEBUG(1057, *YYCURSOR);
12346
14.9k
    ++YYCURSOR;
12347
14.9k
    YYDEBUG(1058, *YYCURSOR);
12348
14.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12349
14.9k
#line 2846 "Zend/zend_language_scanner.l"
12350
14.9k
    {
12351
14.9k
  yy_push_state(ST_IN_SCRIPTING);
12352
14.9k
  yyless(1);
12353
14.9k
  enter_nesting('{');
12354
14.9k
  RETURN_TOKEN(T_CURLY_OPEN);
12355
14.9k
}
12356
0
#line 12357 "Zend/zend_language_scanner.c"
12357
2.31k
yy1059:
12358
2.31k
    YYDEBUG(1059, *YYCURSOR);
12359
2.31k
    yych = *++YYCURSOR;
12360
2.31k
    if (yych == '>') goto yy1064;
12361
3.59k
yy1060:
12362
3.59k
    YYDEBUG(1060, *YYCURSOR);
12363
3.59k
    YYCURSOR = YYMARKER;
12364
3.59k
    goto yy1054;
12365
3.11k
yy1061:
12366
3.11k
    YYDEBUG(1061, *YYCURSOR);
12367
3.11k
    yych = *++YYCURSOR;
12368
3.11k
    if (yych == '-') goto yy1065;
12369
1.15k
    goto yy1060;
12370
5.23k
yy1062:
12371
5.23k
    YYDEBUG(1062, *YYCURSOR);
12372
5.23k
    ++YYCURSOR;
12373
5.23k
    YYDEBUG(1063, *YYCURSOR);
12374
5.23k
    yyleng = YYCURSOR - SCNG(yy_text);
12375
5.23k
#line 2411 "Zend/zend_language_scanner.l"
12376
5.23k
    {
12377
5.23k
  yyless(yyleng - 1);
12378
5.23k
  yy_push_state(ST_VAR_OFFSET);
12379
5.23k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12380
5.23k
}
12381
0
#line 12382 "Zend/zend_language_scanner.c"
12382
1.76k
yy1064:
12383
1.76k
    YYDEBUG(1064, *YYCURSOR);
12384
1.76k
    yych = *++YYCURSOR;
12385
1.76k
    if (yych <= '_') {
12386
829
      if (yych <= '@') goto yy1060;
12387
621
      if (yych <= 'Z') goto yy1066;
12388
405
      if (yych <= '^') goto yy1060;
12389
211
      goto yy1066;
12390
934
    } else {
12391
934
      if (yych <= '`') goto yy1060;
12392
734
      if (yych <= 'z') goto yy1066;
12393
496
      if (yych <= 0x7F) goto yy1060;
12394
294
      goto yy1066;
12395
496
    }
12396
1.96k
yy1065:
12397
1.96k
    YYDEBUG(1065, *YYCURSOR);
12398
1.96k
    yych = *++YYCURSOR;
12399
1.96k
    if (yych == '>') goto yy1068;
12400
246
    goto yy1060;
12401
959
yy1066:
12402
959
    YYDEBUG(1066, *YYCURSOR);
12403
959
    ++YYCURSOR;
12404
959
    YYDEBUG(1067, *YYCURSOR);
12405
959
    yyleng = YYCURSOR - SCNG(yy_text);
12406
959
#line 2397 "Zend/zend_language_scanner.l"
12407
959
    {
12408
959
  yyless(yyleng - 3);
12409
959
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12410
959
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12411
959
}
12412
0
#line 12413 "Zend/zend_language_scanner.c"
12413
1.71k
yy1068:
12414
1.71k
    YYDEBUG(1068, *YYCURSOR);
12415
1.71k
    yych = *++YYCURSOR;
12416
1.71k
    if (yych <= '_') {
12417
807
      if (yych <= '@') goto yy1060;
12418
597
      if (yych <= 'Z') goto yy1069;
12419
398
      if (yych <= '^') goto yy1060;
12420
909
    } else {
12421
909
      if (yych <= '`') goto yy1060;
12422
713
      if (yych <= 'z') goto yy1069;
12423
499
      if (yych <= 0x7F) goto yy1060;
12424
499
    }
12425
873
yy1069:
12426
873
    YYDEBUG(1069, *YYCURSOR);
12427
873
    ++YYCURSOR;
12428
873
    YYDEBUG(1070, *YYCURSOR);
12429
873
    yyleng = YYCURSOR - SCNG(yy_text);
12430
873
#line 2403 "Zend/zend_language_scanner.l"
12431
873
    {
12432
873
  yyless(yyleng - 4);
12433
873
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12434
873
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12435
873
}
12436
873
#line 12437 "Zend/zend_language_scanner.c"
12437
873
  }
12438
/* *********************************** */
12439
1.59M
yyc_ST_LOOKING_FOR_VARNAME:
12440
1.59M
  {
12441
1.59M
    static const unsigned char yybm[] = {
12442
1.59M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
1.59M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
1.59M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
1.59M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
1.59M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
1.59M
        0,   0,   0,   0,   0,   0,   0,   0, 
12448
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12449
1.59M
      128, 128,   0,   0,   0,   0,   0,   0, 
12450
1.59M
        0, 128, 128, 128, 128, 128, 128, 128, 
12451
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12453
1.59M
      128, 128, 128,   0,   0,   0,   0, 128, 
12454
1.59M
        0, 128, 128, 128, 128, 128, 128, 128, 
12455
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
1.59M
      128, 128, 128,   0,   0,   0,   0,   0, 
12458
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
1.59M
      128, 128, 128, 128, 128, 128, 128, 128, 
12474
1.59M
    };
12475
1.59M
    YYDEBUG(1071, *YYCURSOR);
12476
1.59M
    YYFILL(2);
12477
1.59M
    yych = *YYCURSOR;
12478
1.59M
    if (yych <= '_') {
12479
1.53M
      if (yych <= '@') goto yy1073;
12480
13.4k
      if (yych <= 'Z') goto yy1075;
12481
7.95k
      if (yych >= '_') goto yy1075;
12482
58.8k
    } else {
12483
58.8k
      if (yych <= '`') goto yy1073;
12484
56.3k
      if (yych <= 'z') goto yy1075;
12485
10.5k
      if (yych >= 0x80) goto yy1075;
12486
10.5k
    }
12487
1.53M
yy1073:
12488
1.53M
    YYDEBUG(1073, *YYCURSOR);
12489
1.53M
    ++YYCURSOR;
12490
1.59M
yy1074:
12491
1.59M
    YYDEBUG(1074, *YYCURSOR);
12492
1.59M
    yyleng = YYCURSOR - SCNG(yy_text);
12493
1.59M
#line 2004 "Zend/zend_language_scanner.l"
12494
1.59M
    {
12495
1.59M
  yyless(0);
12496
1.59M
  yy_pop_state();
12497
1.59M
  yy_push_state(ST_IN_SCRIPTING);
12498
1.59M
  goto restart;
12499
1.53M
}
12500
0
#line 12501 "Zend/zend_language_scanner.c"
12501
65.1k
yy1075:
12502
65.1k
    YYDEBUG(1075, *YYCURSOR);
12503
65.1k
    yych = *(YYMARKER = ++YYCURSOR);
12504
65.1k
    if (yych <= '_') {
12505
27.1k
      if (yych <= '@') {
12506
12.9k
        if (yych <= '/') goto yy1074;
12507
5.19k
        if (yych <= '9') goto yy1077;
12508
4.67k
        goto yy1074;
12509
14.2k
      } else {
12510
14.2k
        if (yych <= '[') goto yy1077;
12511
6.00k
        if (yych <= '^') goto yy1074;
12512
5.51k
        goto yy1077;
12513
6.00k
      }
12514
37.9k
    } else {
12515
37.9k
      if (yych <= '|') {
12516
34.1k
        if (yych <= '`') goto yy1074;
12517
33.9k
        if (yych <= 'z') goto yy1077;
12518
855
        goto yy1074;
12519
33.9k
      } else {
12520
3.84k
        if (yych <= '}') goto yy1077;
12521
3.25k
        if (yych <= 0x7F) goto yy1074;
12522
2.91k
        goto yy1077;
12523
3.25k
      }
12524
37.9k
    }
12525
219k
yy1076:
12526
219k
    YYDEBUG(1076, *YYCURSOR);
12527
219k
    ++YYCURSOR;
12528
219k
    YYFILL(1);
12529
219k
    yych = *YYCURSOR;
12530
269k
yy1077:
12531
269k
    YYDEBUG(1077, *YYCURSOR);
12532
269k
    if (yybm[0+yych] & 128) {
12533
219k
      goto yy1076;
12534
219k
    }
12535
50.7k
    if (yych <= '@') goto yy1078;
12536
8.13k
    if (yych <= '[') goto yy1079;
12537
6.97k
    if (yych == '}') goto yy1079;
12538
48.7k
yy1078:
12539
48.7k
    YYDEBUG(1078, *YYCURSOR);
12540
48.7k
    YYCURSOR = YYMARKER;
12541
48.7k
    goto yy1074;
12542
2.03k
yy1079:
12543
2.03k
    YYDEBUG(1079, *YYCURSOR);
12544
2.03k
    ++YYCURSOR;
12545
2.03k
    YYDEBUG(1080, *YYCURSOR);
12546
2.03k
    yyleng = YYCURSOR - SCNG(yy_text);
12547
2.03k
#line 1996 "Zend/zend_language_scanner.l"
12548
2.03k
    {
12549
2.03k
  yyless(yyleng - 1);
12550
2.03k
  yy_pop_state();
12551
2.03k
  yy_push_state(ST_IN_SCRIPTING);
12552
2.03k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12553
2.03k
}
12554
2.03k
#line 12555 "Zend/zend_language_scanner.c"
12555
2.03k
  }
12556
/* *********************************** */
12557
74.7k
yyc_ST_VAR_OFFSET:
12558
74.7k
  {
12559
74.7k
    static const unsigned char yybm[] = {
12560
74.7k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
74.7k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
74.7k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
74.7k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
74.7k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
74.7k
        0,   0,   0,   0,   0,   0,   0,   0, 
12566
74.7k
      248, 248, 216, 216, 216, 216, 216, 216, 
12567
74.7k
      152, 152,   0,   0,   0,   0,   0,   0, 
12568
74.7k
        0, 144, 144, 144, 144, 144, 144,  16, 
12569
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12571
74.7k
       16,  16,  16,   0,   0,   0,   0,  16, 
12572
74.7k
        0, 144, 144, 144, 144, 144, 144,  16, 
12573
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
74.7k
       16,  16,  16,   0,   0,   0,   0,   0, 
12576
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
74.7k
       16,  16,  16,  16,  16,  16,  16,  16, 
12592
74.7k
    };
12593
74.7k
    YYDEBUG(1081, *YYCURSOR);
12594
74.7k
    YYFILL(2);
12595
74.7k
    yych = *YYCURSOR;
12596
74.7k
    if (yych <= '0') {
12597
32.2k
      if (yych <= ' ') {
12598
10.3k
        if (yych <= '\f') {
12599
7.83k
          if (yych <= 0x08) goto yy1083;
12600
2.44k
          if (yych <= '\n') goto yy1085;
12601
2.48k
        } else {
12602
2.48k
          if (yych <= '\r') goto yy1085;
12603
2.24k
          if (yych >= ' ') goto yy1085;
12604
2.24k
        }
12605
21.9k
      } else {
12606
21.9k
        if (yych <= '$') {
12607
6.08k
          if (yych <= '"') goto yy1087;
12608
5.28k
          if (yych <= '#') goto yy1085;
12609
5.08k
          goto yy1089;
12610
15.8k
        } else {
12611
15.8k
          if (yych == '\'') goto yy1085;
12612
15.5k
          if (yych <= '/') goto yy1087;
12613
7.87k
          goto yy1090;
12614
15.5k
        }
12615
21.9k
      }
12616
42.5k
    } else {
12617
42.5k
      if (yych <= ']') {
12618
28.1k
        if (yych <= 'Z') {
12619
12.2k
          if (yych <= '9') goto yy1092;
12620
7.75k
          if (yych <= '@') goto yy1087;
12621
1.70k
          goto yy1094;
12622
15.9k
        } else {
12623
15.9k
          if (yych <= '[') goto yy1087;
12624
3.82k
          if (yych <= '\\') goto yy1085;
12625
3.37k
          goto yy1097;
12626
3.82k
        }
12627
28.1k
      } else {
12628
14.3k
        if (yych <= '`') {
12629
3.05k
          if (yych == '_') goto yy1094;
12630
1.39k
          goto yy1087;
12631
11.3k
        } else {
12632
11.3k
          if (yych <= 'z') goto yy1094;
12633
7.31k
          if (yych <= '~') goto yy1087;
12634
3.84k
          if (yych >= 0x80) goto yy1094;
12635
3.84k
        }
12636
14.3k
      }
12637
42.5k
    }
12638
8.63k
yy1083:
12639
8.63k
    YYDEBUG(1083, *YYCURSOR);
12640
8.63k
    ++YYCURSOR;
12641
8.63k
    YYDEBUG(1084, *YYCURSOR);
12642
8.63k
    yyleng = YYCURSOR - SCNG(yy_text);
12643
8.63k
#line 3180 "Zend/zend_language_scanner.l"
12644
8.63k
    {
12645
8.63k
  if (YYCURSOR > YYLIMIT) {
12646
1.42k
    RETURN_END_TOKEN;
12647
1.42k
  }
12648
12649
7.20k
  RETURN_TOKEN(T_BAD_CHARACTER);
12650
7.20k
}
12651
0
#line 12652 "Zend/zend_language_scanner.c"
12652
2.94k
yy1085:
12653
2.94k
    YYDEBUG(1085, *YYCURSOR);
12654
2.94k
    ++YYCURSOR;
12655
2.94k
    YYDEBUG(1086, *YYCURSOR);
12656
2.94k
    yyleng = YYCURSOR - SCNG(yy_text);
12657
2.94k
#line 2431 "Zend/zend_language_scanner.l"
12658
2.94k
    {
12659
  /* Invalid rule to return a more explicit parse error with proper line number */
12660
2.94k
  yyless(0);
12661
2.94k
  yy_pop_state();
12662
2.94k
  ZVAL_NULL(zendlval);
12663
2.94k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12664
2.94k
}
12665
0
#line 12666 "Zend/zend_language_scanner.c"
12666
31.4k
yy1087:
12667
31.4k
    YYDEBUG(1087, *YYCURSOR);
12668
31.4k
    ++YYCURSOR;
12669
33.5k
yy1088:
12670
33.5k
    YYDEBUG(1088, *YYCURSOR);
12671
33.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12672
33.5k
#line 2426 "Zend/zend_language_scanner.l"
12673
33.5k
    {
12674
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12675
33.5k
  RETURN_TOKEN(yytext[0]);
12676
33.5k
}
12677
0
#line 12678 "Zend/zend_language_scanner.c"
12678
5.08k
yy1089:
12679
5.08k
    YYDEBUG(1089, *YYCURSOR);
12680
5.08k
    yych = *++YYCURSOR;
12681
5.08k
    if (yych <= '_') {
12682
2.33k
      if (yych <= '@') goto yy1088;
12683
1.27k
      if (yych <= 'Z') goto yy1099;
12684
821
      if (yych <= '^') goto yy1088;
12685
460
      goto yy1099;
12686
2.74k
    } else {
12687
2.74k
      if (yych <= '`') goto yy1088;
12688
2.52k
      if (yych <= 'z') goto yy1099;
12689
1.14k
      if (yych <= 0x7F) goto yy1088;
12690
726
      goto yy1099;
12691
1.14k
    }
12692
7.87k
yy1090:
12693
7.87k
    YYDEBUG(1090, *YYCURSOR);
12694
7.87k
    yyaccept = 0;
12695
7.87k
    yych = *(YYMARKER = ++YYCURSOR);
12696
7.87k
    if (yych <= 'X') {
12697
3.48k
      if (yych <= 'B') {
12698
2.50k
        if (yych <= '/') goto yy1091;
12699
2.07k
        if (yych <= '9') goto yy1102;
12700
1.00k
        if (yych >= 'B') goto yy1105;
12701
1.00k
      } else {
12702
978
        if (yych == 'O') goto yy1107;
12703
742
        if (yych >= 'X') goto yy1108;
12704
742
      }
12705
4.39k
    } else {
12706
4.39k
      if (yych <= 'b') {
12707
2.39k
        if (yych == '_') goto yy1109;
12708
1.68k
        if (yych >= 'b') goto yy1105;
12709
2.00k
      } else {
12710
2.00k
        if (yych <= 'o') {
12711
1.06k
          if (yych >= 'o') goto yy1107;
12712
1.06k
        } else {
12713
935
          if (yych == 'x') goto yy1108;
12714
935
        }
12715
2.00k
      }
12716
4.39k
    }
12717
8.96k
yy1091:
12718
8.96k
    YYDEBUG(1091, *YYCURSOR);
12719
8.96k
    yyleng = YYCURSOR - SCNG(yy_text);
12720
8.96k
#line 2208 "Zend/zend_language_scanner.l"
12721
8.96k
    { /* Offset could be treated as a long */
12722
8.96k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12723
8.50k
    char *end;
12724
8.50k
    errno = 0;
12725
8.50k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12726
8.50k
    if (errno == ERANGE) {
12727
0
      goto string;
12728
0
    }
12729
8.50k
    ZEND_ASSERT(end == yytext + yyleng);
12730
8.50k
  } else {
12731
465
string:
12732
465
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12733
465
  }
12734
8.96k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12735
8.96k
}
12736
0
#line 12737 "Zend/zend_language_scanner.c"
12737
25.2k
yy1092:
12738
25.2k
    YYDEBUG(1092, *YYCURSOR);
12739
25.2k
    yyaccept = 0;
12740
25.2k
    YYMARKER = ++YYCURSOR;
12741
25.2k
    YYFILL(1);
12742
25.2k
    yych = *YYCURSOR;
12743
25.2k
    YYDEBUG(1093, *YYCURSOR);
12744
25.2k
    if (yybm[0+yych] & 8) {
12745
20.7k
      goto yy1092;
12746
20.7k
    }
12747
4.51k
    if (yych == '_') goto yy1109;
12748
3.91k
    goto yy1091;
12749
23.1k
yy1094:
12750
23.1k
    YYDEBUG(1094, *YYCURSOR);
12751
23.1k
    ++YYCURSOR;
12752
23.1k
    YYFILL(1);
12753
23.1k
    yych = *YYCURSOR;
12754
23.1k
    YYDEBUG(1095, *YYCURSOR);
12755
23.1k
    if (yybm[0+yych] & 16) {
12756
12.2k
      goto yy1094;
12757
12.2k
    }
12758
10.8k
    YYDEBUG(1096, *YYCURSOR);
12759
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12760
10.8k
#line 2455 "Zend/zend_language_scanner.l"
12761
10.8k
    {
12762
10.8k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12763
10.8k
}
12764
0
#line 12765 "Zend/zend_language_scanner.c"
12765
3.37k
yy1097:
12766
3.37k
    YYDEBUG(1097, *YYCURSOR);
12767
3.37k
    ++YYCURSOR;
12768
3.37k
    YYDEBUG(1098, *YYCURSOR);
12769
3.37k
    yyleng = YYCURSOR - SCNG(yy_text);
12770
3.37k
#line 2421 "Zend/zend_language_scanner.l"
12771
3.37k
    {
12772
3.37k
  yy_pop_state();
12773
3.37k
  RETURN_TOKEN(']');
12774
3.37k
}
12775
0
#line 12776 "Zend/zend_language_scanner.c"
12776
6.31k
yy1099:
12777
6.31k
    YYDEBUG(1099, *YYCURSOR);
12778
6.31k
    ++YYCURSOR;
12779
6.31k
    YYFILL(1);
12780
6.31k
    yych = *YYCURSOR;
12781
6.31k
    YYDEBUG(1100, *YYCURSOR);
12782
6.31k
    if (yych <= '^') {
12783
3.07k
      if (yych <= '9') {
12784
1.47k
        if (yych >= '0') goto yy1099;
12785
1.60k
      } else {
12786
1.60k
        if (yych <= '@') goto yy1101;
12787
1.34k
        if (yych <= 'Z') goto yy1099;
12788
1.34k
      }
12789
3.23k
    } else {
12790
3.23k
      if (yych <= '`') {
12791
689
        if (yych <= '_') goto yy1099;
12792
2.54k
      } else {
12793
2.54k
        if (yych <= 'z') goto yy1099;
12794
1.20k
        if (yych >= 0x80) goto yy1099;
12795
1.20k
      }
12796
3.23k
    }
12797
3.02k
yy1101:
12798
3.02k
    YYDEBUG(1101, *YYCURSOR);
12799
3.02k
    yyleng = YYCURSOR - SCNG(yy_text);
12800
3.02k
#line 2417 "Zend/zend_language_scanner.l"
12801
3.02k
    {
12802
3.02k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12803
3.02k
}
12804
0
#line 12805 "Zend/zend_language_scanner.c"
12805
3.56k
yy1102:
12806
3.56k
    YYDEBUG(1102, *YYCURSOR);
12807
3.56k
    yyaccept = 1;
12808
3.56k
    YYMARKER = ++YYCURSOR;
12809
3.56k
    YYFILL(1);
12810
3.56k
    yych = *YYCURSOR;
12811
3.56k
    YYDEBUG(1103, *YYCURSOR);
12812
3.56k
    if (yych <= '/') goto yy1104;
12813
3.00k
    if (yych <= '9') goto yy1102;
12814
1.38k
    if (yych == '_') goto yy1109;
12815
3.42k
yy1104:
12816
3.42k
    YYDEBUG(1104, *YYCURSOR);
12817
3.42k
    yyleng = YYCURSOR - SCNG(yy_text);
12818
3.42k
#line 2224 "Zend/zend_language_scanner.l"
12819
3.42k
    { /* Offset must be treated as a string */
12820
3.42k
  if (yyleng == 1) {
12821
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12822
3.42k
  } else {
12823
3.42k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12824
3.42k
  }
12825
3.42k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12826
3.42k
}
12827
0
#line 12828 "Zend/zend_language_scanner.c"
12828
862
yy1105:
12829
862
    YYDEBUG(1105, *YYCURSOR);
12830
862
    ++YYCURSOR;
12831
862
    YYFILL(1);
12832
862
    yych = *YYCURSOR;
12833
862
    if (yybm[0+yych] & 32) {
12834
601
      goto yy1110;
12835
601
    }
12836
2.33k
yy1106:
12837
2.33k
    YYDEBUG(1106, *YYCURSOR);
12838
2.33k
    YYCURSOR = YYMARKER;
12839
2.33k
    if (yyaccept == 0) {
12840
1.39k
      goto yy1091;
12841
1.39k
    } else {
12842
932
      goto yy1104;
12843
932
    }
12844
1.22k
yy1107:
12845
1.22k
    YYDEBUG(1107, *YYCURSOR);
12846
1.22k
    ++YYCURSOR;
12847
1.22k
    YYFILL(1);
12848
1.22k
    yych = *YYCURSOR;
12849
1.22k
    if (yybm[0+yych] & 64) {
12850
610
      goto yy1112;
12851
610
    }
12852
619
    goto yy1106;
12853
1.29k
yy1108:
12854
1.29k
    YYDEBUG(1108, *YYCURSOR);
12855
1.29k
    ++YYCURSOR;
12856
1.29k
    YYFILL(1);
12857
1.29k
    yych = *YYCURSOR;
12858
1.29k
    if (yybm[0+yych] & 128) {
12859
853
      goto yy1114;
12860
853
    }
12861
441
    goto yy1106;
12862
1.88k
yy1109:
12863
1.88k
    YYDEBUG(1109, *YYCURSOR);
12864
1.88k
    ++YYCURSOR;
12865
1.88k
    YYFILL(1);
12866
1.88k
    yych = *YYCURSOR;
12867
1.88k
    if (yych <= '/') goto yy1106;
12868
1.39k
    if (yych <= '9') goto yy1102;
12869
522
    goto yy1106;
12870
856
yy1110:
12871
856
    YYDEBUG(1110, *YYCURSOR);
12872
856
    yyaccept = 1;
12873
856
    YYMARKER = ++YYCURSOR;
12874
856
    YYFILL(1);
12875
856
    yych = *YYCURSOR;
12876
856
    YYDEBUG(1111, *YYCURSOR);
12877
856
    if (yybm[0+yych] & 32) {
12878
255
      goto yy1110;
12879
255
    }
12880
601
    if (yych == '_') goto yy1105;
12881
402
    goto yy1104;
12882
1.27k
yy1112:
12883
1.27k
    YYDEBUG(1112, *YYCURSOR);
12884
1.27k
    yyaccept = 1;
12885
1.27k
    YYMARKER = ++YYCURSOR;
12886
1.27k
    YYFILL(1);
12887
1.27k
    yych = *YYCURSOR;
12888
1.27k
    YYDEBUG(1113, *YYCURSOR);
12889
1.27k
    if (yybm[0+yych] & 64) {
12890
660
      goto yy1112;
12891
660
    }
12892
610
    if (yych == '_') goto yy1107;
12893
232
    goto yy1104;
12894
1.09k
yy1114:
12895
1.09k
    YYDEBUG(1114, *YYCURSOR);
12896
1.09k
    yyaccept = 1;
12897
1.09k
    YYMARKER = ++YYCURSOR;
12898
1.09k
    YYFILL(1);
12899
1.09k
    yych = *YYCURSOR;
12900
1.09k
    YYDEBUG(1115, *YYCURSOR);
12901
1.09k
    if (yybm[0+yych] & 128) {
12902
241
      goto yy1114;
12903
241
    }
12904
853
    if (yych == '_') goto yy1108;
12905
491
    goto yy1104;
12906
853
  }
12907
/* *********************************** */
12908
491
yyc_SHEBANG:
12909
0
  {
12910
0
    static const unsigned char yybm[] = {
12911
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12912
0
      128, 128,   0, 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
      128, 128, 128, 128, 128, 128, 128, 128, 
12943
0
    };
12944
0
    YYDEBUG(1116, *YYCURSOR);
12945
0
    YYFILL(2);
12946
0
    yych = *YYCURSOR;
12947
0
    if (yych == '#') goto yy1120;
12948
0
    YYDEBUG(1118, *YYCURSOR);
12949
0
    ++YYCURSOR;
12950
0
yy1119:
12951
0
    YYDEBUG(1119, *YYCURSOR);
12952
0
    yyleng = YYCURSOR - SCNG(yy_text);
12953
0
#line 2295 "Zend/zend_language_scanner.l"
12954
0
    {
12955
0
  yyless(0);
12956
0
  BEGIN(INITIAL);
12957
0
  goto restart;
12958
0
}
12959
0
#line 12960 "Zend/zend_language_scanner.c"
12960
0
yy1120:
12961
0
    YYDEBUG(1120, *YYCURSOR);
12962
0
    yych = *++YYCURSOR;
12963
0
    if (yych != '!') goto yy1119;
12964
0
yy1121:
12965
0
    YYDEBUG(1121, *YYCURSOR);
12966
0
    ++YYCURSOR;
12967
0
    YYFILL(1);
12968
0
    yych = *YYCURSOR;
12969
0
    YYDEBUG(1122, *YYCURSOR);
12970
0
    if (yybm[0+yych] & 128) {
12971
0
      goto yy1121;
12972
0
    }
12973
0
    YYDEBUG(1123, *YYCURSOR);
12974
0
    ++YYCURSOR;
12975
0
    YYDEBUG(1124, *YYCURSOR);
12976
0
    yyleng = YYCURSOR - SCNG(yy_text);
12977
0
#line 2289 "Zend/zend_language_scanner.l"
12978
0
    {
12979
0
  CG(zend_lineno)++;
12980
0
  BEGIN(INITIAL);
12981
0
  goto restart;
12982
0
}
12983
0
#line 12984 "Zend/zend_language_scanner.c"
12984
0
  }
12985
/* *********************************** */
12986
211k
yyc_INITIAL:
12987
211k
  YYDEBUG(1125, *YYCURSOR);
12988
211k
  YYFILL(7);
12989
211k
  yych = *YYCURSOR;
12990
211k
  if (yych == '<') goto yy1129;
12991
73.8k
  YYDEBUG(1127, *YYCURSOR);
12992
73.8k
  ++YYCURSOR;
12993
82.1k
yy1128:
12994
82.1k
  YYDEBUG(1128, *YYCURSOR);
12995
82.1k
  yyleng = YYCURSOR - SCNG(yy_text);
12996
82.1k
#line 2341 "Zend/zend_language_scanner.l"
12997
82.1k
  {
12998
82.1k
  if (YYCURSOR > YYLIMIT) {
12999
12.0k
    RETURN_END_TOKEN;
13000
12.0k
  }
13001
13002
70.0k
inline_char_handler:
13003
13004
95.9k
  while (1) {
13005
95.9k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13006
13007
95.9k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13008
13009
95.9k
    if (YYCURSOR >= YYLIMIT) {
13010
6.54k
      break;
13011
6.54k
    }
13012
13013
89.4k
    if (*YYCURSOR == '?') {
13014
63.5k
      if (CG(short_tags) /* <? */
13015
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13016
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13017
0
          (YYCURSOR + 4 == YYLIMIT ||
13018
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13019
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13020
63.5k
      ) {
13021
63.5k
        YYCURSOR--;
13022
63.5k
        break;
13023
63.5k
      }
13024
63.5k
    }
13025
89.4k
  }
13026
13027
70.0k
  yyleng = YYCURSOR - SCNG(yy_text);
13028
13029
70.0k
  if (SCNG(output_filter)) {
13030
0
    size_t readsize;
13031
0
    char *s = NULL;
13032
0
    size_t sz = 0;
13033
    // TODO: avoid reallocation ???
13034
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13035
0
    ZVAL_STRINGL(zendlval, s, sz);
13036
0
    efree(s);
13037
0
    if (readsize < yyleng) {
13038
0
      yyless(readsize);
13039
0
    }
13040
70.0k
  } else if (yyleng == 1) {
13041
13.3k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13042
56.7k
  } else {
13043
56.7k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13044
56.7k
  }
13045
70.0k
  HANDLE_NEWLINES(yytext, yyleng);
13046
70.0k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13047
70.0k
}
13048
0
#line 13049 "Zend/zend_language_scanner.c"
13049
137k
yy1129:
13050
137k
  YYDEBUG(1129, *YYCURSOR);
13051
137k
  yych = *++YYCURSOR;
13052
137k
  if (yych != '?') goto yy1128;
13053
128k
  YYDEBUG(1130, *YYCURSOR);
13054
128k
  yych = *(YYMARKER = ++YYCURSOR);
13055
128k
  if (yych <= 'O') {
13056
45.7k
    if (yych == '=') goto yy1132;
13057
83.0k
  } else {
13058
83.0k
    if (yych <= 'P') goto yy1134;
13059
82.8k
    if (yych == 'p') goto yy1134;
13060
82.8k
  }
13061
116k
yy1131:
13062
116k
  YYDEBUG(1131, *YYCURSOR);
13063
116k
  yyleng = YYCURSOR - SCNG(yy_text);
13064
116k
#line 2332 "Zend/zend_language_scanner.l"
13065
116k
  {
13066
116k
  if (CG(short_tags)) {
13067
116k
    BEGIN(ST_IN_SCRIPTING);
13068
116k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13069
116k
  } else {
13070
0
    goto inline_char_handler;
13071
0
  }
13072
116k
}
13073
0
#line 13074 "Zend/zend_language_scanner.c"
13074
736
yy1132:
13075
736
  YYDEBUG(1132, *YYCURSOR);
13076
736
  ++YYCURSOR;
13077
736
  YYDEBUG(1133, *YYCURSOR);
13078
736
  yyleng = YYCURSOR - SCNG(yy_text);
13079
736
#line 2301 "Zend/zend_language_scanner.l"
13080
736
  {
13081
736
  BEGIN(ST_IN_SCRIPTING);
13082
736
  if (PARSER_MODE()) {
13083
    /* We'll reject this as an identifier in zend_lex_tstring. */
13084
538
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13085
538
  }
13086
198
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13087
198
}
13088
0
#line 13089 "Zend/zend_language_scanner.c"
13089
15.2k
yy1134:
13090
15.2k
  YYDEBUG(1134, *YYCURSOR);
13091
15.2k
  yych = *++YYCURSOR;
13092
15.2k
  if (yych == 'H') goto yy1136;
13093
14.5k
  if (yych == 'h') goto yy1136;
13094
3.57k
yy1135:
13095
3.57k
  YYDEBUG(1135, *YYCURSOR);
13096
3.57k
  YYCURSOR = YYMARKER;
13097
3.57k
  goto yy1131;
13098
12.4k
yy1136:
13099
12.4k
  YYDEBUG(1136, *YYCURSOR);
13100
12.4k
  yych = *++YYCURSOR;
13101
12.4k
  if (yych == 'P') goto yy1137;
13102
12.1k
  if (yych != 'p') goto yy1135;
13103
11.6k
yy1137:
13104
11.6k
  YYDEBUG(1137, *YYCURSOR);
13105
11.6k
  yych = *++YYCURSOR;
13106
11.6k
  if (yych <= '\f') {
13107
9.56k
    if (yych <= 0x08) goto yy1138;
13108
9.19k
    if (yych <= '\n') goto yy1139;
13109
9.19k
  } else {
13110
2.12k
    if (yych <= '\r') goto yy1141;
13111
1.69k
    if (yych == ' ') goto yy1139;
13112
1.69k
  }
13113
1.48k
yy1138:
13114
1.48k
  YYDEBUG(1138, *YYCURSOR);
13115
1.48k
  yyleng = YYCURSOR - SCNG(yy_text);
13116
1.48k
#line 2317 "Zend/zend_language_scanner.l"
13117
1.48k
  {
13118
  /* Allow <?php followed by end of file. */
13119
1.48k
  if (YYCURSOR == YYLIMIT) {
13120
196
    BEGIN(ST_IN_SCRIPTING);
13121
196
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13122
196
  }
13123
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13124
1.28k
  if (CG(short_tags)) {
13125
1.28k
    yyless(2);
13126
1.28k
    BEGIN(ST_IN_SCRIPTING);
13127
1.28k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13128
1.28k
  }
13129
0
  goto inline_char_handler;
13130
1.28k
}
13131
0
#line 13132 "Zend/zend_language_scanner.c"
13132
9.97k
yy1139:
13133
9.97k
  YYDEBUG(1139, *YYCURSOR);
13134
9.97k
  ++YYCURSOR;
13135
10.2k
yy1140:
13136
10.2k
  YYDEBUG(1140, *YYCURSOR);
13137
10.2k
  yyleng = YYCURSOR - SCNG(yy_text);
13138
10.2k
#line 2311 "Zend/zend_language_scanner.l"
13139
10.2k
  {
13140
10.2k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13141
10.2k
  BEGIN(ST_IN_SCRIPTING);
13142
10.2k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13143
10.2k
}
13144
0
#line 13145 "Zend/zend_language_scanner.c"
13145
437
yy1141:
13146
437
  YYDEBUG(1141, *YYCURSOR);
13147
437
  yych = *++YYCURSOR;
13148
437
  if (yych == '\n') goto yy1139;
13149
241
  goto yy1140;
13150
/* *********************************** */
13151
7.97k
yyc_ST_END_HEREDOC:
13152
7.97k
  YYDEBUG(1142, *YYCURSOR);
13153
7.97k
  YYFILL(1);
13154
7.97k
  yych = *YYCURSOR;
13155
7.97k
  YYDEBUG(1144, *YYCURSOR);
13156
7.97k
  ++YYCURSOR;
13157
7.97k
  YYDEBUG(1145, *YYCURSOR);
13158
7.97k
  yyleng = YYCURSOR - SCNG(yy_text);
13159
7.97k
#line 2832 "Zend/zend_language_scanner.l"
13160
7.97k
  {
13161
7.97k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13162
13163
7.97k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13164
7.97k
  YYCURSOR += yyleng - 1;
13165
13166
7.97k
  heredoc_label_dtor(heredoc_label);
13167
7.97k
  efree(heredoc_label);
13168
13169
7.97k
  BEGIN(ST_IN_SCRIPTING);
13170
7.97k
  RETURN_TOKEN(T_END_HEREDOC);
13171
7.97k
}
13172
0
#line 13173 "Zend/zend_language_scanner.c"
13173
/* *********************************** */
13174
3.93k
yyc_ST_NOWDOC:
13175
3.93k
  YYDEBUG(1146, *YYCURSOR);
13176
3.93k
  YYFILL(1);
13177
3.93k
  yych = *YYCURSOR;
13178
3.93k
  YYDEBUG(1148, *YYCURSOR);
13179
3.93k
  ++YYCURSOR;
13180
3.93k
  YYDEBUG(1149, *YYCURSOR);
13181
3.93k
  yyleng = YYCURSOR - SCNG(yy_text);
13182
3.93k
#line 3089 "Zend/zend_language_scanner.l"
13183
3.93k
  {
13184
3.93k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13185
3.93k
  int newline = 0, indentation = 0, spacing = -1;
13186
13187
3.93k
  if (YYCURSOR > YYLIMIT) {
13188
923
    RETURN_END_TOKEN;
13189
923
  }
13190
13191
3.01k
  YYCURSOR--;
13192
13193
42.4k
  while (YYCURSOR < YYLIMIT) {
13194
41.7k
    switch (*YYCURSOR++) {
13195
3.95k
      case '\r':
13196
3.95k
        if (*YYCURSOR == '\n') {
13197
1.41k
          YYCURSOR++;
13198
1.41k
        }
13199
3.95k
        ZEND_FALLTHROUGH;
13200
9.67k
      case '\n':
13201
9.67k
        indentation = spacing = 0;
13202
13203
11.1k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13204
1.48k
          if (*YYCURSOR == '\t') {
13205
966
            spacing |= HEREDOC_USING_TABS;
13206
966
          } else {
13207
515
            spacing |= HEREDOC_USING_SPACES;
13208
515
          }
13209
1.48k
          ++YYCURSOR;
13210
1.48k
          ++indentation;
13211
1.48k
        }
13212
13213
9.67k
        if (YYCURSOR == YYLIMIT) {
13214
274
          yyleng = YYCURSOR - SCNG(yy_text);
13215
274
          HANDLE_NEWLINES(yytext, yyleng);
13216
274
          ZVAL_NULL(zendlval);
13217
274
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13218
274
        }
13219
13220
        /* Check for ending label on the next line */
13221
9.39k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13222
3.16k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13223
1.06k
            continue;
13224
1.06k
          }
13225
13226
2.09k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13227
197
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13228
197
            if (PARSER_MODE()) {
13229
3
              RETURN_TOKEN(T_ERROR);
13230
3
            }
13231
197
          }
13232
13233
          /* newline before label will be subtracted from returned text, but
13234
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13235
2.09k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13236
266
            newline = 2; /* Windows newline */
13237
1.82k
          } else {
13238
1.82k
            newline = 1;
13239
1.82k
          }
13240
13241
2.09k
          CG(increment_lineno) = 1; /* For newline before label */
13242
13243
2.09k
          YYCURSOR -= indentation;
13244
2.09k
          heredoc_label->indentation = indentation;
13245
13246
2.09k
          BEGIN(ST_END_HEREDOC);
13247
13248
2.09k
          goto nowdoc_scan_done;
13249
2.09k
        }
13250
6.23k
        ZEND_FALLTHROUGH;
13251
38.3k
      default:
13252
38.3k
        continue;
13253
41.7k
    }
13254
41.7k
  }
13255
13256
2.73k
nowdoc_scan_done:
13257
2.73k
  yyleng = YYCURSOR - SCNG(yy_text);
13258
2.73k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13259
13260
2.73k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13261
1.05k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13262
1.05k
    if (!strip_multiline_string_indentation(
13263
1.05k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13264
1.05k
        newline_at_start, newline != 0)) {
13265
6
      RETURN_TOKEN(T_ERROR);
13266
6
    }
13267
1.05k
  }
13268
13269
2.73k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13270
2.73k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13271
2.73k
}
13272
2.73k
#line 13273 "Zend/zend_language_scanner.c"
13273
2.73k
}
13274
0
#line 3188 "Zend/zend_language_scanner.l"
13275
13276
13277
1.59M
emit_token_with_str:
13278
1.59M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13279
13280
2.44M
emit_token_with_val:
13281
2.44M
  if (PARSER_MODE()) {
13282
1.32M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13283
1.32M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13284
1.32M
  }
13285
13286
10.1M
emit_token:
13287
10.1M
  if (SCNG(on_event)) {
13288
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13289
0
  }
13290
10.1M
  return token;
13291
13292
418k
emit_token_with_ident:
13293
418k
  if (PARSER_MODE()) {
13294
240k
    elem->ident = SCNG(yy_text);
13295
240k
  }
13296
418k
  if (SCNG(on_event)) {
13297
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13298
0
  }
13299
418k
  return token;
13300
13301
1.01M
return_whitespace:
13302
1.01M
  HANDLE_NEWLINES(yytext, yyleng);
13303
1.01M
  if (SCNG(on_event)) {
13304
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13305
0
  }
13306
1.01M
  if (PARSER_MODE()) {
13307
519k
    start_line = CG(zend_lineno);
13308
519k
    goto restart;
13309
519k
  } else {
13310
497k
    return T_WHITESPACE;
13311
497k
  }
13312
13313
136k
skip_token:
13314
136k
  if (SCNG(on_event)) {
13315
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13316
0
  }
13317
136k
  start_line = CG(zend_lineno);
13318
136k
  goto restart;
13319
1.01M
}