Coverage Report

Created: 2026-01-18 06:49

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
27.8M
#define YYCTYPE   unsigned char
54
85.2M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
506M
#define YYCURSOR  SCNG(yy_cursor)
56
161M
#define YYLIMIT   SCNG(yy_limit)
57
27.7M
#define YYMARKER  SCNG(yy_marker)
58
59
92.7M
#define YYGETCONDITION()  SCNG(yy_state)
60
11.0M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
2.69M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
181k
#define YYSTATE      YYGETCONDITION()
67
11.3M
#define yytext       ((char*)SCNG(yy_text))
68
38.6M
#define yyleng       SCNG(yy_leng)
69
2.61M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
2.61M
                          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
974M
#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
4.32M
#define HANDLE_NEWLINES(s, l)                         \
97
4.32M
do {                                     \
98
4.32M
  char *p = (s), *boundary = p+(l);                     \
99
4.32M
                                        \
100
40.0M
  while (p<boundary) {                           \
101
35.7M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
4.21M
      CG(zend_lineno)++;                          \
103
4.21M
    }                                    \
104
35.7M
    p++;                                  \
105
35.7M
  }                                      \
106
4.32M
} while (0)
107
108
100k
#define HANDLE_NEWLINE(c) \
109
100k
{ \
110
100k
  if (c == '\n' || c == '\r') { \
111
33.6k
    CG(zend_lineno)++; \
112
33.6k
  } \
113
100k
}
114
115
/* To save initial string length after scanning to first variable */
116
119k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
222k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
5.25M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
26.9k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
77.2k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
33.8k
#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
7.86k
{
128
7.86k
  char *src = str, *dest = str;
129
132k
  while (*src != '\0') {
130
124k
    if (*src != '_') {
131
113k
      *dest = *src;
132
113k
      dest++;
133
113k
    } else {
134
10.7k
      --(*len);
135
10.7k
    }
136
124k
    src++;
137
124k
  }
138
7.86k
  *dest = '\0';
139
7.86k
}
140
141
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
142
0
{
143
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
144
0
  ZEND_ASSERT(internal_encoding);
145
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
146
0
}
147
148
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
149
0
{
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
156
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
157
0
}
158
159
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
160
0
{
161
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
162
0
  ZEND_ASSERT(internal_encoding);
163
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
164
0
internal_encoding, zend_multibyte_encoding_utf8);
165
0
}
166
167
168
static void _yy_push_state(int new_state)
169
5.53M
{
170
5.53M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
5.53M
  YYSETCONDITION(new_state);
172
5.53M
}
173
174
5.53M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
2.59M
{
178
2.59M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
2.59M
  YYSETCONDITION(*stack_state);
180
2.59M
  zend_stack_del_top(&SCNG(state_stack));
181
2.59M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
62.4k
{
185
62.4k
  YYCURSOR       = (YYCTYPE*)str;
186
62.4k
  YYLIMIT        = YYCURSOR + len;
187
62.4k
  if (!SCNG(yy_start)) {
188
3.42k
    SCNG(yy_start) = YYCURSOR;
189
3.42k
  }
190
62.4k
}
191
192
void startup_scanner(void)
193
183k
{
194
183k
  CG(parse_error) = 0;
195
183k
  CG(doc_comment) = NULL;
196
183k
  CG(extra_fn_flags) = 0;
197
183k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
183k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
183k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
183k
  SCNG(heredoc_scan_ahead) = 0;
201
183k
}
202
203
4.01M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
4.01M
    efree(heredoc_label->label);
205
4.01M
}
206
207
void shutdown_scanner(void)
208
183k
{
209
183k
  CG(parse_error) = 0;
210
183k
  RESET_DOC_COMMENT();
211
183k
  zend_stack_destroy(&SCNG(state_stack));
212
183k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
183k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
183k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
183k
  SCNG(heredoc_scan_ahead) = 0;
216
183k
  SCNG(on_event) = NULL;
217
183k
  SCNG(on_event_context) = NULL;
218
183k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
181k
{
222
181k
  lex_state->yy_leng   = SCNG(yy_leng);
223
181k
  lex_state->yy_start  = SCNG(yy_start);
224
181k
  lex_state->yy_text   = SCNG(yy_text);
225
181k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
181k
  lex_state->yy_marker = SCNG(yy_marker);
227
181k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
181k
  lex_state->state_stack = SCNG(state_stack);
230
181k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
181k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
181k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
181k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
181k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
181k
  lex_state->in = SCNG(yy_in);
239
181k
  lex_state->yy_state = YYSTATE;
240
181k
  lex_state->filename = CG(compiled_filename);
241
181k
  lex_state->lineno = CG(zend_lineno);
242
181k
  CG(compiled_filename) = NULL;
243
244
181k
  lex_state->script_org = SCNG(script_org);
245
181k
  lex_state->script_org_size = SCNG(script_org_size);
246
181k
  lex_state->script_filtered = SCNG(script_filtered);
247
181k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
181k
  lex_state->input_filter = SCNG(input_filter);
249
181k
  lex_state->output_filter = SCNG(output_filter);
250
181k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
181k
  lex_state->on_event = SCNG(on_event);
253
181k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
181k
  lex_state->ast = CG(ast);
256
181k
  lex_state->ast_arena = CG(ast_arena);
257
181k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
178k
{
261
178k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
178k
  SCNG(yy_start)  = lex_state->yy_start;
263
178k
  SCNG(yy_text)   = lex_state->yy_text;
264
178k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
178k
  SCNG(yy_marker) = lex_state->yy_marker;
266
178k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
178k
  zend_stack_destroy(&SCNG(state_stack));
269
178k
  SCNG(state_stack) = lex_state->state_stack;
270
271
178k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
178k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
178k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
178k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
178k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
178k
  SCNG(yy_in) = lex_state->in;
279
178k
  YYSETCONDITION(lex_state->yy_state);
280
178k
  CG(zend_lineno) = lex_state->lineno;
281
178k
  zend_restore_compiled_filename(lex_state->filename);
282
283
178k
  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
178k
  SCNG(script_org) = lex_state->script_org;
288
178k
  SCNG(script_org_size) = lex_state->script_org_size;
289
178k
  SCNG(script_filtered) = lex_state->script_filtered;
290
178k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
178k
  SCNG(input_filter) = lex_state->input_filter;
292
178k
  SCNG(output_filter) = lex_state->output_filter;
293
178k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
178k
  SCNG(on_event) = lex_state->on_event;
296
178k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
178k
  CG(ast) = lex_state->ast;
299
178k
  CG(ast_arena) = lex_state->ast_arena;
300
301
178k
  RESET_DOC_COMMENT();
302
178k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
5.90k
{
306
5.90k
  unsigned char *end = ident;
307
33.6k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
27.7k
    end++;
309
27.7k
  }
310
311
5.90k
  size_t length = end - ident;
312
5.90k
  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.89k
  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.89k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
5.89k
  return SUCCESS;
324
5.90k
}
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
59.0k
{
532
59.0k
  char *buf;
533
59.0k
  size_t size;
534
59.0k
  zend_string *compiled_filename;
535
536
59.0k
  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
59.0k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
59.0k
  zend_llist_add_element(&CG(open_files), file_handle);
545
59.0k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
59.0k
  SCNG(yy_in) = file_handle;
549
59.0k
  SCNG(yy_start) = NULL;
550
551
59.0k
  if (size != (size_t)-1) {
552
59.0k
    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
59.0k
    SCNG(yy_start) = (unsigned char *)buf;
569
59.0k
    yy_scan_buffer(buf, size);
570
59.0k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
59.0k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
59.0k
  } else {
577
59.0k
    BEGIN(INITIAL);
578
59.0k
  }
579
580
59.0k
  if (file_handle->opened_path) {
581
0
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
59.0k
  } else {
583
59.0k
    compiled_filename = zend_string_copy(file_handle->filename);
584
59.0k
  }
585
586
59.0k
  zend_set_compiled_filename(compiled_filename);
587
59.0k
  zend_string_release_ex(compiled_filename, 0);
588
589
59.0k
  SCNG(on_event) = NULL;
590
59.0k
  SCNG(on_event_context) = NULL;
591
59.0k
  RESET_DOC_COMMENT();
592
59.0k
  CG(zend_lineno) = 1;
593
59.0k
  CG(increment_lineno) = 0;
594
59.0k
  return SUCCESS;
595
59.0k
}
596
597
static zend_op_array *zend_compile(int type)
598
59.0k
{
599
59.0k
  zend_op_array *op_array = NULL;
600
59.0k
  bool original_in_compilation = CG(in_compilation);
601
602
59.0k
  CG(in_compilation) = 1;
603
59.0k
  CG(ast) = NULL;
604
59.0k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
59.0k
  if (!zendparse()) {
607
31.4k
    uint32_t last_lineno = CG(zend_lineno);
608
31.4k
    zend_file_context original_file_context;
609
31.4k
    zend_oparray_context original_oparray_context;
610
31.4k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
31.4k
    op_array = emalloc(sizeof(zend_op_array));
613
31.4k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
31.4k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
31.4k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
31.4k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
31.4k
    zend_file_context_begin(&original_file_context);
624
31.4k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
31.4k
    zend_compile_top_stmt(CG(ast));
626
31.4k
    CG(zend_lineno) = last_lineno;
627
31.4k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
31.4k
    op_array->line_start = 1;
629
31.4k
    op_array->line_end = last_lineno;
630
31.4k
    pass_two(op_array);
631
31.4k
    zend_oparray_context_end(&original_oparray_context);
632
31.4k
    zend_file_context_end(&original_file_context);
633
634
31.4k
    CG(active_op_array) = original_active_op_array;
635
31.4k
  }
636
637
59.0k
  zend_ast_destroy(CG(ast));
638
59.0k
  zend_arena_destroy(CG(ast_arena));
639
640
59.0k
  CG(in_compilation) = original_in_compilation;
641
642
59.0k
  return op_array;
643
59.0k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
59.0k
{
647
59.0k
  zend_lex_state original_lex_state;
648
59.0k
  zend_op_array *op_array = NULL;
649
59.0k
  zend_save_lexical_state(&original_lex_state);
650
651
59.0k
  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
59.0k
  } else {
660
59.0k
    bool orig_record_errors = EG(record_errors);
661
59.0k
    if (!orig_record_errors) {
662
0
      zend_begin_record_errors();
663
0
    }
664
665
59.0k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
59.0k
    if (!orig_record_errors) {
668
0
      zend_emit_recorded_errors();
669
0
      zend_free_recorded_errors();
670
0
    }
671
59.0k
  }
672
673
59.0k
  zend_restore_lexical_state(&original_lex_state);
674
59.0k
  return op_array;
675
59.0k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
6
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
6
  zval code_zv;
680
6
  bool original_in_compilation;
681
6
  zend_lex_state original_lex_state;
682
6
  zend_ast *ast;
683
684
6
  ZVAL_STR_COPY(&code_zv, code);
685
686
6
  original_in_compilation = CG(in_compilation);
687
6
  CG(in_compilation) = 1;
688
689
6
  zend_save_lexical_state(&original_lex_state);
690
6
  zend_prepare_string_for_scanning(&code_zv, filename);
691
6
  CG(ast) = NULL;
692
6
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
6
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
6
  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
6
  ast = CG(ast);
703
6
  *ast_arena = CG(ast_arena);
704
705
6
  zend_restore_lexical_state(&original_lex_state);
706
6
  CG(in_compilation) = original_in_compilation;
707
708
6
  zval_ptr_dtor_str(&code_zv);
709
710
6
  return ast;
711
6
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
969
{
715
969
  zend_file_handle file_handle;
716
969
  zend_op_array *retval;
717
969
  zend_string *opened_path = NULL;
718
719
969
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
969
  retval = zend_compile_file(&file_handle, type);
722
969
  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
969
  zend_destroy_file_handle(&file_handle);
734
735
969
  return retval;
736
969
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
3.42k
{
740
3.42k
  char *buf;
741
3.42k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
3.42k
  old_len = Z_STRLEN_P(str);
745
3.42k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
3.42k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
3.42k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
3.42k
  SCNG(yy_in) = NULL;
750
3.42k
  SCNG(yy_start) = NULL;
751
752
3.42k
  buf = Z_STRVAL_P(str);
753
3.42k
  size = old_len;
754
755
3.42k
  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
3.42k
  yy_scan_buffer(buf, size);
773
3.42k
  zend_set_compiled_filename(filename);
774
3.42k
  CG(zend_lineno) = 1;
775
3.42k
  CG(increment_lineno) = 0;
776
3.42k
  SCNG(on_event) = NULL;
777
3.42k
  SCNG(on_event_context) = NULL;
778
3.42k
  RESET_DOC_COMMENT();
779
3.42k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
16
{
784
16
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
16
  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
16
  return offset;
801
16
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
93
{
805
93
  zend_lex_state original_lex_state;
806
93
  zend_op_array *op_array = NULL;
807
93
  zval tmp;
808
93
  zend_string *filename_str;
809
810
93
  if (ZSTR_LEN(source_string) == 0) {
811
0
    return NULL;
812
0
  }
813
814
93
  ZVAL_STR_COPY(&tmp, source_string);
815
816
93
  zend_save_lexical_state(&original_lex_state);
817
93
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
93
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
93
  zend_string_release(filename_str);
820
821
93
  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
93
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
93
      BEGIN(ST_IN_SCRIPTING);
830
93
      break;
831
93
  }
832
833
93
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
93
  zend_restore_lexical_state(&original_lex_state);
836
93
  zval_ptr_dtor(&tmp);
837
838
93
  return op_array;
839
93
}
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
3.32k
{
867
3.32k
  zend_lex_state original_lex_state;
868
3.32k
  zval str_zv;
869
3.32k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
3.32k
  ZVAL_STR_COPY(&str_zv, str);
871
3.32k
  zend_save_lexical_state(&original_lex_state);
872
3.32k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
3.32k
  zend_string_release(filename_str);
874
3.32k
  BEGIN(INITIAL);
875
3.32k
  zend_highlight(syntax_highlighter_ini);
876
3.32k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
3.32k
  zend_restore_lexical_state(&original_lex_state);
881
3.32k
  zval_ptr_dtor(&str_zv);
882
3.32k
}
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
3.56M
  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
3.56M
  } else if (yyleng == 1) { \
928
1.33M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
2.23M
  } else { \
930
2.23M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
2.23M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
369k
{
935
369k
  char *s, *t;
936
369k
  char *end;
937
938
369k
  if (len <= 1) {
939
68.6k
    if (len < 1) {
940
11.0k
      ZVAL_EMPTY_STRING(zendlval);
941
57.5k
    } else {
942
57.5k
      zend_uchar c = (zend_uchar)*str;
943
57.5k
      HANDLE_NEWLINE(c);
944
57.5k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
57.5k
    }
946
68.6k
    goto skip_escape_conversion;
947
68.6k
  }
948
949
300k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
300k
  s = Z_STRVAL_P(zendlval);
953
300k
  end = s+Z_STRLEN_P(zendlval);
954
8.12M
  while (1) {
955
8.12M
    if (UNEXPECTED(*s=='\\')) {
956
53.3k
      break;
957
53.3k
    }
958
8.07M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
388k
      CG(zend_lineno)++;
960
388k
    }
961
8.07M
    s++;
962
8.07M
    if (s == end) {
963
247k
      goto skip_escape_conversion;
964
247k
    }
965
8.07M
  }
966
967
53.3k
  t = s;
968
2.13M
  while (s<end) {
969
2.08M
    if (*s=='\\') {
970
137k
      s++;
971
137k
      if (s >= end) {
972
775
        *t++ = '\\';
973
775
        break;
974
775
      }
975
976
136k
      switch(*s) {
977
23.2k
        case 'n':
978
23.2k
          *t++ = '\n';
979
23.2k
          break;
980
1.00k
        case 'r':
981
1.00k
          *t++ = '\r';
982
1.00k
          break;
983
999
        case 't':
984
999
          *t++ = '\t';
985
999
          break;
986
1.42k
        case 'f':
987
1.42k
          *t++ = '\f';
988
1.42k
          break;
989
1.34k
        case 'v':
990
1.34k
          *t++ = '\v';
991
1.34k
          break;
992
351
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
351
          *t++ = '\e';
997
351
#endif
998
351
          break;
999
2.31k
        case '"':
1000
2.79k
        case '`':
1001
2.79k
          if (*s != quote_type) {
1002
788
            *t++ = '\\';
1003
788
            *t++ = *s;
1004
788
            break;
1005
788
          }
1006
2.00k
          ZEND_FALLTHROUGH;
1007
30.8k
        case '\\':
1008
32.0k
        case '$':
1009
32.0k
          *t++ = *s;
1010
32.0k
          break;
1011
7.05k
        case 'x':
1012
8.62k
        case 'X':
1013
8.62k
          if (ZEND_IS_HEX(*(s+1))) {
1014
5.22k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
5.22k
            hex_buf[0] = *(++s);
1017
5.22k
            if (ZEND_IS_HEX(*(s+1))) {
1018
3.41k
              hex_buf[1] = *(++s);
1019
3.41k
            }
1020
5.22k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
5.22k
          } else {
1022
3.40k
            *t++ = '\\';
1023
3.40k
            *t++ = *s;
1024
3.40k
          }
1025
8.62k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
3.39k
        case 'u':
1028
3.39k
          {
1029
            /* cache where we started so we can parse after validating */
1030
3.39k
            char *start = s + 1;
1031
3.39k
            size_t len = 0;
1032
3.39k
            bool valid = 1;
1033
3.39k
            unsigned long codepoint;
1034
1035
3.39k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
875
              *t++ = '\\';
1040
875
              *t++ = 'u';
1041
875
              break;
1042
2.52k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
2.52k
              s++;
1045
2.52k
              len++;
1046
2.52k
              s++;
1047
21.8k
              while (*s != '}') {
1048
20.0k
                if (!ZEND_IS_HEX(*s)) {
1049
711
                  valid = 0;
1050
711
                  break;
1051
19.3k
                } else {
1052
19.3k
                  len++;
1053
19.3k
                }
1054
19.3k
                s++;
1055
19.3k
              }
1056
2.52k
              if (*s == '}') {
1057
1.81k
                valid = 1;
1058
1.81k
                len++;
1059
1.81k
              }
1060
2.52k
            }
1061
1062
            /* \u{} is invalid */
1063
2.52k
            if (len <= 2) {
1064
794
              valid = 0;
1065
794
            }
1066
1067
2.52k
            if (!valid) {
1068
914
              zend_throw_exception(zend_ce_parse_error,
1069
914
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
914
              zval_ptr_dtor(zendlval);
1071
914
              ZVAL_UNDEF(zendlval);
1072
914
              return FAILURE;
1073
914
            }
1074
1075
2.52k
            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
63.4k
        default:
1106
          /* check for an octal */
1107
63.4k
          if (ZEND_IS_OCT(*s)) {
1108
9.38k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
9.38k
            octal_buf[0] = *s;
1111
9.38k
            if (ZEND_IS_OCT(*(s+1))) {
1112
4.47k
              octal_buf[1] = *(++s);
1113
4.47k
              if (ZEND_IS_OCT(*(s+1))) {
1114
3.09k
                octal_buf[2] = *(++s);
1115
3.09k
              }
1116
4.47k
            }
1117
9.38k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
428
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
428
            }
1121
1122
9.38k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
54.0k
          } else {
1124
54.0k
            *t++ = '\\';
1125
54.0k
            *t++ = *s;
1126
54.0k
          }
1127
63.4k
          break;
1128
136k
      }
1129
1.94M
    } else {
1130
1.94M
      *t++ = *s;
1131
1.94M
    }
1132
1133
2.08M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
80.3k
      CG(zend_lineno)++;
1135
80.3k
    }
1136
2.08M
    s++;
1137
2.08M
  }
1138
52.2k
  *t = 0;
1139
52.2k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
368k
skip_escape_conversion:
1142
368k
  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
368k
  return SUCCESS;
1153
52.2k
}
1154
1155
1.21M
#define HEREDOC_USING_SPACES 1
1156
59.9k
#define HEREDOC_USING_TABS 2
1157
1158
144k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
1.66M
  for (; str < end; str++) {
1160
1.61M
    if (*str == '\r') {
1161
15.0k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
15.0k
      return str;
1163
1.59M
    } else if (*str == '\n') {
1164
77.4k
      *newline_len = 1;
1165
77.4k
      return str;
1166
77.4k
    }
1167
1.61M
  }
1168
51.5k
  *newline_len = 0;
1169
51.5k
  return NULL;
1170
144k
}
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
49.7k
{
1176
49.7k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
49.7k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
49.7k
  uint32_t newline_count = 0;
1180
49.7k
  size_t newline_len;
1181
49.7k
  const char *nl;
1182
1183
49.7k
  if (!newline_at_start) {
1184
23.2k
    nl = next_newline(str, end, &newline_len);
1185
23.2k
    if (!nl) {
1186
8.61k
      return 1;
1187
8.61k
    }
1188
1189
14.6k
    str = nl + newline_len;
1190
14.6k
    copy = (char *) nl + newline_len;
1191
14.6k
    newline_count++;
1192
26.5k
  } else {
1193
26.5k
    nl = str;
1194
26.5k
  }
1195
1196
  /* <= intentional */
1197
141k
  while (str <= end && nl) {
1198
120k
    size_t skip;
1199
120k
    nl = next_newline(str, end, &newline_len);
1200
120k
    if (!nl && newline_at_end) {
1201
4.19k
      nl = end;
1202
4.19k
    }
1203
1204
    /* Try to skip indentation */
1205
121k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
1.39k
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
224
        break;
1209
224
      }
1210
1211
1.17k
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
10
        CG(zend_lineno) += newline_count;
1213
10
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
10
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
10
        goto error;
1216
10
      }
1217
1218
1.16k
      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.16k
    }
1225
1226
120k
    if (str == end) {
1227
20.5k
      break;
1228
20.5k
    }
1229
1230
100k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
100k
    memmove(copy, str, len);
1232
100k
    str += len;
1233
100k
    copy += len;
1234
100k
    newline_count++;
1235
100k
  }
1236
1237
41.1k
  *copy = '\0';
1238
41.1k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
41.1k
  return 1;
1240
1241
12
error:
1242
12
  zval_ptr_dtor_str(zendlval);
1243
12
  ZVAL_UNDEF(zendlval);
1244
1245
12
  return 0;
1246
41.1k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
1.79M
{
1250
1.79M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
1.79M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
1.79M
  *new_heredoc_label = *heredoc_label;
1254
1.79M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
1.79M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
1.79M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
120k
{
1262
120k
  char   buf[256];
1263
120k
  size_t used = 0;
1264
1265
120k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
120k
  if (opening_lineno != CG(zend_lineno)) {
1268
68.5k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
68.5k
  }
1270
1271
120k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
25.2k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
25.2k
  }
1274
1275
120k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
120k
}
1277
1278
static void enter_nesting(char opening)
1279
3.85M
{
1280
3.85M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
3.85M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
3.85M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
697k
{
1286
697k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
1.75k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
1.75k
    return FAILURE;
1289
1.75k
  }
1290
1291
696k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
696k
  char opening = nest_loc->text;
1293
1294
696k
  if ((opening == '{' && closing != '}') ||
1295
675k
      (opening == '[' && closing != ']') ||
1296
674k
      (opening == '(' && closing != ')')) {
1297
25.2k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
25.2k
    return FAILURE;
1299
25.2k
  }
1300
1301
670k
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
670k
  return SUCCESS;
1303
696k
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
134k
{
1307
134k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
95.3k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
95.3k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
95.3k
    return FAILURE;
1311
95.3k
  }
1312
1313
39.4k
  return SUCCESS;
1314
134k
}
1315
1316
#define PARSER_MODE() \
1317
11.4M
  EXPECTED(elem != NULL)
1318
1319
14.3M
#define RETURN_TOKEN(_token) do { \
1320
14.3M
    token = _token; \
1321
14.3M
    goto emit_token; \
1322
14.3M
  } while (0)
1323
1324
2.10M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
2.10M
    token = _token; \
1326
2.10M
    goto emit_token_with_val; \
1327
2.10M
  } while (0)
1328
1329
3.56M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
3.56M
    token = _token; \
1331
3.56M
    offset = _offset; \
1332
3.56M
    goto emit_token_with_str; \
1333
3.56M
  } while (0)
1334
1335
957k
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
957k
    token = _token; \
1337
957k
    goto emit_token_with_ident; \
1338
957k
  } while (0)
1339
1340
1.14M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
1.14M
    token = _token; \
1342
1.14M
    if (PARSER_MODE()) { \
1343
159k
      goto skip_token; \
1344
159k
    } \
1345
1.14M
    goto emit_token; \
1346
1.14M
  } while (0)
1347
1348
697k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
697k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
207
      RETURN_TOKEN(T_ERROR); \
1351
697k
    } else { \
1352
697k
      RETURN_TOKEN(_token); \
1353
697k
    } \
1354
697k
  } while(0)
1355
1356
134k
#define RETURN_END_TOKEN do { \
1357
134k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
4.91k
      RETURN_TOKEN(T_ERROR); \
1359
129k
    } else { \
1360
129k
      RETURN_TOKEN(END); \
1361
129k
    } \
1362
134k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
24.3M
{
1366
24.3M
int token;
1367
24.3M
int offset;
1368
24.3M
uint32_t start_line = CG(zend_lineno);
1369
1370
24.3M
  ZVAL_UNDEF(zendlval);
1371
27.6M
restart:
1372
27.6M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
27.6M
#line 1376 "Zend/zend_language_scanner.c"
1376
27.6M
{
1377
27.6M
  YYCTYPE yych;
1378
27.6M
  unsigned int yyaccept = 0;
1379
27.6M
  if (YYGETCONDITION() < 5) {
1380
24.8M
    if (YYGETCONDITION() < 2) {
1381
20.8M
      if (YYGETCONDITION() < 1) {
1382
20.7M
        goto yyc_ST_IN_SCRIPTING;
1383
20.7M
      } else {
1384
120k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
120k
      }
1386
20.8M
    } else {
1387
4.01M
      if (YYGETCONDITION() < 3) {
1388
146k
        goto yyc_ST_BACKQUOTE;
1389
3.86M
      } else {
1390
3.86M
        if (YYGETCONDITION() < 4) {
1391
334k
          goto yyc_ST_DOUBLE_QUOTES;
1392
3.53M
        } else {
1393
3.53M
          goto yyc_ST_HEREDOC;
1394
3.53M
        }
1395
3.86M
      }
1396
4.01M
    }
1397
24.8M
  } else {
1398
2.77M
    if (YYGETCONDITION() < 8) {
1399
2.50M
      if (YYGETCONDITION() < 6) {
1400
2.34M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
2.34M
      } else {
1402
163k
        if (YYGETCONDITION() < 7) {
1403
163k
          goto yyc_ST_VAR_OFFSET;
1404
163k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
163k
      }
1408
2.50M
    } else {
1409
265k
      if (YYGETCONDITION() < 9) {
1410
240k
        goto yyc_INITIAL;
1411
240k
      } else {
1412
24.7k
        if (YYGETCONDITION() < 10) {
1413
15.4k
          goto yyc_ST_END_HEREDOC;
1414
15.4k
        } else {
1415
9.28k
          goto yyc_ST_NOWDOC;
1416
9.28k
        }
1417
24.7k
      }
1418
265k
    }
1419
2.77M
  }
1420
/* *********************************** */
1421
20.7M
yyc_ST_IN_SCRIPTING:
1422
20.7M
  {
1423
20.7M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
20.7M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
20.7M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
20.7M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
20.7M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
20.7M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
20.7M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
20.7M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
20.7M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
20.7M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
20.7M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
20.7M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
20.7M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
20.7M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
20.7M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
20.7M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
20.7M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
20.7M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
20.7M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
20.7M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
20.7M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
20.7M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
20.7M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
20.7M
    };
1491
20.7M
    YYDEBUG(1, *YYCURSOR);
1492
20.7M
    YYFILL(16);
1493
20.7M
    yych = *YYCURSOR;
1494
20.7M
    if (yybm[256+yych] & 32) {
1495
3.21M
      goto yy5;
1496
3.21M
    }
1497
17.5M
    switch (yych) {
1498
1.78M
    case 0x00:
1499
1.84M
    case 0x01:
1500
1.87M
    case 0x02:
1501
1.89M
    case 0x03:
1502
1.92M
    case 0x04:
1503
1.97M
    case 0x05:
1504
2.01M
    case 0x06:
1505
2.02M
    case 0x07:
1506
2.04M
    case 0x08:
1507
2.04M
    case '\t':
1508
2.04M
    case '\n':
1509
2.06M
    case '\v':
1510
2.07M
    case '\f':
1511
2.07M
    case '\r':
1512
2.09M
    case 0x0E:
1513
2.11M
    case 0x0F:
1514
2.12M
    case 0x10:
1515
2.14M
    case 0x11:
1516
2.16M
    case 0x12:
1517
2.17M
    case 0x13:
1518
2.19M
    case 0x14:
1519
2.19M
    case 0x15:
1520
2.20M
    case 0x16:
1521
2.23M
    case 0x17:
1522
2.24M
    case 0x18:
1523
2.26M
    case 0x19:
1524
2.26M
    case 0x1A:
1525
2.28M
    case 0x1B:
1526
2.30M
    case 0x1C:
1527
2.32M
    case 0x1D:
1528
2.33M
    case 0x1E:
1529
2.38M
    case 0x1F:
1530
2.39M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
88.2k
    case '!': goto yy8;
1533
162k
    case '"': goto yy10;
1534
794k
    case '#': goto yy12;
1535
876k
    case '$': goto yy14;
1536
35.7k
    case '%': goto yy15;
1537
137k
    case '&': goto yy16;
1538
274k
    case '\'':  goto yy18;
1539
521k
    case '(': goto yy20;
1540
338k
    case ')':
1541
533k
    case ']': goto yy22;
1542
103k
    case '*': goto yy24;
1543
71.2k
    case '+': goto yy25;
1544
434k
    case ',':
1545
1.05M
    case ';':
1546
1.53M
    case '@':
1547
1.56M
    case '~': goto yy26;
1548
190k
    case '-': goto yy27;
1549
173k
    case '.': goto yy28;
1550
323k
    case '/': goto yy29;
1551
132k
    case '0': goto yy30;
1552
94.0k
    case '1':
1553
157k
    case '2':
1554
205k
    case '3':
1555
248k
    case '4':
1556
285k
    case '5':
1557
309k
    case '6':
1558
326k
    case '7':
1559
355k
    case '8':
1560
377k
    case '9': goto yy32;
1561
159k
    case ':': goto yy34;
1562
3.01M
    case '<': goto yy35;
1563
289k
    case '=': goto yy36;
1564
42.0k
    case '>': goto yy37;
1565
373k
    case '?': goto yy38;
1566
46.8k
    case 'A':
1567
169k
    case 'a': goto yy39;
1568
38.6k
    case 'B':
1569
72.6k
    case 'b': goto yy41;
1570
47.8k
    case 'C':
1571
248k
    case 'c': goto yy42;
1572
30.7k
    case 'D':
1573
81.8k
    case 'd': goto yy43;
1574
54.4k
    case 'E':
1575
533k
    case 'e': goto yy44;
1576
43.3k
    case 'F':
1577
252k
    case 'f': goto yy45;
1578
12.5k
    case 'G':
1579
53.1k
    case 'g': goto yy46;
1580
34.8k
    case 'I':
1581
190k
    case 'i': goto yy49;
1582
13.3k
    case 'L':
1583
46.7k
    case 'l': goto yy50;
1584
7.08k
    case 'M':
1585
39.9k
    case 'm': goto yy51;
1586
22.9k
    case 'N':
1587
120k
    case 'n': goto yy52;
1588
57.0k
    case 'O':
1589
93.8k
    case 'o': goto yy53;
1590
87.4k
    case 'P':
1591
309k
    case 'p': goto yy54;
1592
19.2k
    case 'R':
1593
80.6k
    case 'r': goto yy55;
1594
17.9k
    case 'S':
1595
96.5k
    case 's': goto yy56;
1596
27.2k
    case 'T':
1597
103k
    case 't': goto yy57;
1598
7.86k
    case 'U':
1599
58.1k
    case 'u': goto yy58;
1600
2.89k
    case 'V':
1601
41.6k
    case 'v': goto yy59;
1602
10.4k
    case 'W':
1603
20.8k
    case 'w': goto yy60;
1604
13.9k
    case 'X':
1605
26.2k
    case 'x': goto yy61;
1606
5.38k
    case 'Y':
1607
171k
    case 'y': goto yy62;
1608
229k
    case '[': goto yy63;
1609
125k
    case '\\':  goto yy64;
1610
44.3k
    case '^': goto yy66;
1611
144k
    case '_': goto yy67;
1612
36.8k
    case '`': goto yy68;
1613
696k
    case '{': goto yy70;
1614
65.2k
    case '|': goto yy72;
1615
164k
    case '}': goto yy73;
1616
583k
    default:  goto yy47;
1617
17.5M
    }
1618
2.39M
yy3:
1619
2.39M
    YYDEBUG(3, *YYCURSOR);
1620
2.39M
    ++YYCURSOR;
1621
2.39M
    YYDEBUG(4, *YYCURSOR);
1622
2.39M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
2.39M
#line 3180 "Zend/zend_language_scanner.l"
1624
2.39M
    {
1625
2.39M
  if (YYCURSOR > YYLIMIT) {
1626
93.6k
    RETURN_END_TOKEN;
1627
93.6k
  }
1628
1629
2.30M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
2.30M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
4.43M
yy5:
1633
4.43M
    YYDEBUG(5, *YYCURSOR);
1634
4.43M
    ++YYCURSOR;
1635
4.43M
    YYFILL(1);
1636
4.43M
    yych = *YYCURSOR;
1637
4.43M
    YYDEBUG(6, *YYCURSOR);
1638
4.43M
    if (yybm[256+yych] & 32) {
1639
1.21M
      goto yy5;
1640
1.21M
    }
1641
3.21M
    YYDEBUG(7, *YYCURSOR);
1642
3.21M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
3.21M
#line 1597 "Zend/zend_language_scanner.l"
1644
3.21M
    {
1645
3.21M
  goto return_whitespace;
1646
4.43M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
88.2k
yy8:
1649
88.2k
    YYDEBUG(8, *YYCURSOR);
1650
88.2k
    yych = *++YYCURSOR;
1651
88.2k
    if (yych == '=') goto yy75;
1652
3.67M
yy9:
1653
3.67M
    YYDEBUG(9, *YYCURSOR);
1654
3.67M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
3.67M
#line 1969 "Zend/zend_language_scanner.l"
1656
3.67M
    {
1657
3.67M
  RETURN_TOKEN(yytext[0]);
1658
3.67M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
162k
yy10:
1661
162k
    YYDEBUG(10, *YYCURSOR);
1662
162k
    ++YYCURSOR;
1663
162k
    YYDEBUG(11, *YYCURSOR);
1664
162k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
162k
#line 2632 "Zend/zend_language_scanner.l"
1666
162k
    {
1667
162k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
4.70M
  while (YYCURSOR < YYLIMIT) {
1670
4.70M
    switch (*YYCURSOR++) {
1671
99.0k
      case '"':
1672
99.0k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
99.0k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
99.0k
         || !PARSER_MODE()) {
1675
99.0k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
99.0k
        } else {
1677
5
          RETURN_TOKEN(T_ERROR);
1678
5
        }
1679
69.2k
      case '$':
1680
69.2k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
56.7k
          break;
1682
56.7k
        }
1683
12.5k
        continue;
1684
22.5k
      case '{':
1685
22.5k
        if (*YYCURSOR == '$') {
1686
2.67k
          break;
1687
2.67k
        }
1688
19.8k
        continue;
1689
89.7k
      case '\\':
1690
89.7k
        if (YYCURSOR < YYLIMIT) {
1691
89.4k
          YYCURSOR++;
1692
89.4k
        }
1693
89.7k
        ZEND_FALLTHROUGH;
1694
4.51M
      default:
1695
4.51M
        continue;
1696
4.70M
    }
1697
1698
59.4k
    YYCURSOR--;
1699
59.4k
    break;
1700
4.70M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
162k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
63.7k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
63.7k
  BEGIN(ST_DOUBLE_QUOTES);
1708
63.7k
  RETURN_TOKEN('"');
1709
63.7k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
794k
yy12:
1712
794k
    YYDEBUG(12, *YYCURSOR);
1713
794k
    yych = *++YYCURSOR;
1714
794k
    if (yych == '[') goto yy77;
1715
808k
yy13:
1716
808k
    YYDEBUG(13, *YYCURSOR);
1717
808k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
808k
#line 2460 "Zend/zend_language_scanner.l"
1719
808k
    {
1720
4.09M
  while (YYCURSOR < YYLIMIT) {
1721
4.09M
    switch (*YYCURSOR++) {
1722
268k
      case '\r':
1723
801k
      case '\n':
1724
801k
        YYCURSOR--;
1725
801k
        break;
1726
24.1k
      case '?':
1727
24.1k
        if (*YYCURSOR == '>') {
1728
1.98k
          YYCURSOR--;
1729
1.98k
          break;
1730
1.98k
        }
1731
22.1k
        ZEND_FALLTHROUGH;
1732
3.28M
      default:
1733
3.28M
        continue;
1734
4.09M
    }
1735
1736
803k
    break;
1737
4.09M
  }
1738
1739
808k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
808k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
808k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
876k
yy14:
1744
876k
    YYDEBUG(14, *YYCURSOR);
1745
876k
    yych = *++YYCURSOR;
1746
876k
    if (yych <= '_') {
1747
206k
      if (yych <= '@') goto yy9;
1748
23.9k
      if (yych <= 'Z') goto yy79;
1749
3.94k
      if (yych <= '^') goto yy9;
1750
2.05k
      goto yy79;
1751
670k
    } else {
1752
670k
      if (yych <= '`') goto yy9;
1753
668k
      if (yych <= 'z') goto yy79;
1754
355k
      if (yych <= 0x7F) goto yy9;
1755
44.6k
      goto yy79;
1756
355k
    }
1757
35.7k
yy15:
1758
35.7k
    YYDEBUG(15, *YYCURSOR);
1759
35.7k
    yych = *++YYCURSOR;
1760
35.7k
    if (yych == '=') goto yy82;
1761
34.8k
    goto yy9;
1762
137k
yy16:
1763
137k
    YYDEBUG(16, *YYCURSOR);
1764
137k
    yyaccept = 0;
1765
137k
    yych = *(YYMARKER = ++YYCURSOR);
1766
137k
    if (yych <= '"') {
1767
50.5k
      if (yych <= '\f') {
1768
36.5k
        if (yych <= 0x08) goto yy17;
1769
34.9k
        if (yych <= '\n') goto yy85;
1770
34.9k
      } else {
1771
13.9k
        if (yych <= '\r') goto yy85;
1772
8.01k
        if (yych == ' ') goto yy85;
1773
8.01k
      }
1774
87.1k
    } else {
1775
87.1k
      if (yych <= '-') {
1776
29.8k
        if (yych <= '$') goto yy85;
1777
20.3k
        if (yych == '&') goto yy90;
1778
57.2k
      } else {
1779
57.2k
        if (yych <= '/') goto yy85;
1780
51.9k
        if (yych == '=') goto yy94;
1781
51.9k
      }
1782
87.1k
    }
1783
99.9k
yy17:
1784
99.9k
    YYDEBUG(17, *YYCURSOR);
1785
99.9k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
99.9k
#line 1955 "Zend/zend_language_scanner.l"
1787
99.9k
    {
1788
99.9k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
99.9k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
278k
yy18:
1792
278k
    YYDEBUG(18, *YYCURSOR);
1793
278k
    ++YYCURSOR;
1794
278k
    YYDEBUG(19, *YYCURSOR);
1795
278k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
278k
#line 2538 "Zend/zend_language_scanner.l"
1797
278k
    {
1798
278k
  char *s, *t;
1799
278k
  char *end;
1800
278k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
19.3M
  while (1) {
1803
19.3M
    if (YYCURSOR < YYLIMIT) {
1804
19.3M
      if (*YYCURSOR == '\'') {
1805
273k
        YYCURSOR++;
1806
273k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
273k
        break;
1809
19.0M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
57.9k
        YYCURSOR++;
1811
57.9k
      }
1812
19.3M
    } else {
1813
4.27k
      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
4.27k
      ZVAL_NULL(zendlval);
1819
4.27k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
4.27k
    }
1821
19.3M
  }
1822
1823
273k
  if (yyleng-bprefix-2 <= 1) {
1824
43.1k
    if (yyleng-bprefix-2 < 1) {
1825
16.9k
      ZVAL_EMPTY_STRING(zendlval);
1826
26.1k
    } else {
1827
26.1k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
26.1k
      HANDLE_NEWLINE(c);
1829
26.1k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
26.1k
    }
1831
43.1k
    goto skip_escape_conversion;
1832
43.1k
  }
1833
230k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
230k
  s = Z_STRVAL_P(zendlval);
1837
230k
  end = s+Z_STRLEN_P(zendlval);
1838
12.6M
  while (1) {
1839
12.6M
    if (UNEXPECTED(*s=='\\')) {
1840
15.0k
      break;
1841
15.0k
    }
1842
12.6M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
314k
      CG(zend_lineno)++;
1844
314k
    }
1845
12.6M
    s++;
1846
12.6M
    if (s == end) {
1847
215k
      goto skip_escape_conversion;
1848
215k
    }
1849
12.6M
  }
1850
1851
15.0k
  t = s;
1852
6.05M
  while (s<end) {
1853
6.04M
    if (*s=='\\') {
1854
56.9k
      s++;
1855
56.9k
      if (*s == '\\' || *s == '\'') {
1856
14.0k
        *t++ = *s;
1857
42.8k
      } else {
1858
42.8k
        *t++ = '\\';
1859
42.8k
        *t++ = *s;
1860
42.8k
      }
1861
5.98M
    } else {
1862
5.98M
      *t++ = *s;
1863
5.98M
    }
1864
6.04M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
132k
      CG(zend_lineno)++;
1866
132k
    }
1867
6.04M
    s++;
1868
6.04M
  }
1869
15.0k
  *t = 0;
1870
15.0k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
273k
skip_escape_conversion:
1873
273k
  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
273k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
273k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
521k
yy20:
1891
521k
    YYDEBUG(20, *YYCURSOR);
1892
521k
    yyaccept = 1;
1893
521k
    yych = *(YYMARKER = ++YYCURSOR);
1894
521k
    if (yych <= 'S') {
1895
302k
      if (yych <= 'D') {
1896
283k
        if (yych <= ' ') {
1897
19.5k
          if (yych == '\t') goto yy97;
1898
13.6k
          if (yych >= ' ') goto yy97;
1899
263k
        } else {
1900
263k
          if (yych <= '@') goto yy21;
1901
17.5k
          if (yych != 'C') goto yy97;
1902
17.5k
        }
1903
283k
      } else {
1904
18.9k
        if (yych <= 'I') {
1905
11.5k
          if (yych == 'F') goto yy97;
1906
9.94k
          if (yych >= 'I') goto yy97;
1907
9.94k
        } else {
1908
7.47k
          if (yych == 'O') goto yy97;
1909
6.56k
          if (yych >= 'R') goto yy97;
1910
6.56k
        }
1911
18.9k
      }
1912
302k
    } else {
1913
219k
      if (yych <= 'f') {
1914
100k
        if (yych <= 'b') {
1915
73.0k
          if (yych <= 'T') goto yy21;
1916
71.4k
          if (yych <= 'V') goto yy97;
1917
70.7k
          if (yych >= 'a') goto yy97;
1918
70.7k
        } else {
1919
27.4k
          if (yych == 'd') goto yy97;
1920
21.6k
          if (yych >= 'f') goto yy97;
1921
21.6k
        }
1922
118k
      } else {
1923
118k
        if (yych <= 'o') {
1924
41.3k
          if (yych == 'i') goto yy97;
1925
26.3k
          if (yych >= 'o') goto yy97;
1926
77.6k
        } else {
1927
77.6k
          if (yych <= 's') {
1928
29.6k
            if (yych >= 'r') goto yy97;
1929
48.0k
          } else {
1930
48.0k
            if (yych <= 't') goto yy21;
1931
43.2k
            if (yych <= 'v') goto yy97;
1932
43.2k
          }
1933
77.6k
        }
1934
118k
      }
1935
219k
    }
1936
739k
yy21:
1937
739k
    YYDEBUG(21, *YYCURSOR);
1938
739k
    yyleng = YYCURSOR - SCNG(yy_text);
1939
739k
#line 1964 "Zend/zend_language_scanner.l"
1940
739k
    {
1941
739k
  enter_nesting(yytext[0]);
1942
739k
  RETURN_TOKEN(yytext[0]);
1943
739k
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
533k
yy22:
1946
533k
    YYDEBUG(22, *YYCURSOR);
1947
533k
    ++YYCURSOR;
1948
533k
    YYDEBUG(23, *YYCURSOR);
1949
533k
    yyleng = YYCURSOR - SCNG(yy_text);
1950
533k
#line 1959 "Zend/zend_language_scanner.l"
1951
533k
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
533k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
533k
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
103k
yy24:
1957
103k
    YYDEBUG(24, *YYCURSOR);
1958
103k
    yych = *++YYCURSOR;
1959
103k
    if (yych == '*') goto yy108;
1960
86.2k
    if (yych == '=') goto yy110;
1961
83.0k
    goto yy9;
1962
83.0k
yy25:
1963
71.2k
    YYDEBUG(25, *YYCURSOR);
1964
71.2k
    yych = *++YYCURSOR;
1965
71.2k
    if (yych == '+') goto yy112;
1966
66.2k
    if (yych == '=') goto yy114;
1967
65.7k
    goto yy9;
1968
1.56M
yy26:
1969
1.56M
    YYDEBUG(26, *YYCURSOR);
1970
1.56M
    ++YYCURSOR;
1971
1.56M
    goto yy9;
1972
190k
yy27:
1973
190k
    YYDEBUG(27, *YYCURSOR);
1974
190k
    yych = *++YYCURSOR;
1975
190k
    if (yych <= '<') {
1976
73.2k
      if (yych == '-') goto yy116;
1977
63.7k
      goto yy9;
1978
117k
    } else {
1979
117k
      if (yych <= '=') goto yy118;
1980
116k
      if (yych <= '>') goto yy120;
1981
74.5k
      goto yy9;
1982
116k
    }
1983
173k
yy28:
1984
173k
    YYDEBUG(28, *YYCURSOR);
1985
173k
    yyaccept = 2;
1986
173k
    yych = *(YYMARKER = ++YYCURSOR);
1987
173k
    if (yych <= '/') {
1988
93.3k
      if (yych == '.') goto yy122;
1989
41.2k
      goto yy9;
1990
93.3k
    } else {
1991
80.4k
      if (yych <= '9') goto yy123;
1992
56.1k
      if (yych == '=') goto yy126;
1993
28.6k
      goto yy9;
1994
56.1k
    }
1995
323k
yy29:
1996
323k
    YYDEBUG(29, *YYCURSOR);
1997
323k
    yych = *++YYCURSOR;
1998
323k
    if (yych <= '.') {
1999
240k
      if (yych == '*') goto yy128;
2000
58.6k
      goto yy9;
2001
240k
    } else {
2002
83.3k
      if (yych <= '/') goto yy130;
2003
49.7k
      if (yych == '=') goto yy131;
2004
47.7k
      goto yy9;
2005
49.7k
    }
2006
132k
yy30:
2007
132k
    YYDEBUG(30, *YYCURSOR);
2008
132k
    yyaccept = 3;
2009
132k
    yych = *(YYMARKER = ++YYCURSOR);
2010
132k
    if (yych <= 'X') {
2011
79.5k
      if (yych <= 'N') {
2012
75.7k
        if (yych == 'B') goto yy134;
2013
74.1k
        goto yy33;
2014
75.7k
      } else {
2015
3.72k
        if (yych <= 'O') goto yy136;
2016
3.08k
        if (yych <= 'W') goto yy33;
2017
1.70k
        goto yy137;
2018
3.08k
      }
2019
79.5k
    } else {
2020
52.8k
      if (yych <= 'n') {
2021
33.3k
        if (yych == 'b') goto yy134;
2022
27.0k
        goto yy33;
2023
33.3k
      } else {
2024
19.5k
        if (yych <= 'o') goto yy136;
2025
17.7k
        if (yych == 'x') goto yy137;
2026
13.4k
        goto yy33;
2027
17.7k
      }
2028
52.8k
    }
2029
447k
yy31:
2030
447k
    YYDEBUG(31, *YYCURSOR);
2031
447k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
447k
#line 2103 "Zend/zend_language_scanner.l"
2033
447k
    {
2034
447k
  size_t len = yyleng;
2035
447k
  char *end, *lnum = yytext;
2036
447k
  bool is_octal = lnum[0] == '0';
2037
447k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
447k
  if (contains_underscores) {
2040
1.93k
    lnum = estrndup(lnum, len);
2041
1.93k
    strip_underscores(lnum, &len);
2042
1.93k
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
447k
  if (is_octal) {
2046
109k
    size_t i;
2047
349k
    for (i = 0; i < len; i++) {
2048
240k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
785
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
785
        if (PARSER_MODE()) {
2051
20
          if (contains_underscores) {
2052
2
            efree(lnum);
2053
2
          }
2054
20
          ZVAL_UNDEF(zendlval);
2055
20
          RETURN_TOKEN(T_ERROR);
2056
20
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
765
        len = i;
2060
765
        break;
2061
785
      }
2062
240k
    }
2063
109k
  }
2064
2065
2066
447k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
430k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
430k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
430k
    ZEND_ASSERT(end == lnum + len);
2071
430k
  } else {
2072
16.4k
    errno = 0;
2073
16.4k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
16.4k
    if (errno == ERANGE) { /* Overflow */
2075
13.9k
      errno = 0;
2076
13.9k
      if (is_octal) { /* octal overflow */
2077
495
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
13.4k
      } else {
2079
13.4k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
13.4k
      }
2081
13.9k
      ZEND_ASSERT(end == lnum + len);
2082
13.9k
      if (contains_underscores) {
2083
525
        efree(lnum);
2084
525
      }
2085
13.9k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
13.9k
    }
2087
2.58k
    ZEND_ASSERT(end == lnum + len);
2088
2.58k
  }
2089
433k
  ZEND_ASSERT(!errno);
2090
433k
  if (contains_underscores) {
2091
1.40k
    efree(lnum);
2092
1.40k
  }
2093
433k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
433k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
1.67M
yy32:
2097
1.67M
    YYDEBUG(32, *YYCURSOR);
2098
1.67M
    yyaccept = 3;
2099
1.67M
    YYMARKER = ++YYCURSOR;
2100
1.67M
    YYFILL(3);
2101
1.67M
    yych = *YYCURSOR;
2102
1.78M
yy33:
2103
1.78M
    YYDEBUG(33, *YYCURSOR);
2104
1.78M
    if (yybm[256+yych] & 64) {
2105
1.28M
      goto yy32;
2106
1.28M
    }
2107
498k
    if (yych <= 'E') {
2108
347k
      if (yych == '.') goto yy133;
2109
316k
      if (yych <= 'D') goto yy31;
2110
11.5k
      goto yy135;
2111
316k
    } else {
2112
150k
      if (yych <= '_') {
2113
72.6k
        if (yych <= '^') goto yy31;
2114
9.14k
        goto yy138;
2115
77.8k
      } else {
2116
77.8k
        if (yych == 'e') goto yy135;
2117
66.5k
        goto yy31;
2118
77.8k
      }
2119
150k
    }
2120
159k
yy34:
2121
159k
    YYDEBUG(34, *YYCURSOR);
2122
159k
    yych = *++YYCURSOR;
2123
159k
    if (yych == ':') goto yy139;
2124
54.6k
    goto yy9;
2125
3.01M
yy35:
2126
3.01M
    YYDEBUG(35, *YYCURSOR);
2127
3.01M
    yych = *++YYCURSOR;
2128
3.01M
    if (yych <= ';') goto yy9;
2129
2.89M
    if (yych <= '<') goto yy141;
2130
376k
    if (yych <= '=') goto yy143;
2131
365k
    if (yych <= '>') goto yy145;
2132
361k
    goto yy9;
2133
361k
yy36:
2134
289k
    YYDEBUG(36, *YYCURSOR);
2135
289k
    yych = *++YYCURSOR;
2136
289k
    if (yych <= '<') goto yy9;
2137
108k
    if (yych <= '=') goto yy146;
2138
63.7k
    if (yych <= '>') goto yy148;
2139
20.0k
    goto yy9;
2140
42.0k
yy37:
2141
42.0k
    YYDEBUG(37, *YYCURSOR);
2142
42.0k
    yych = *++YYCURSOR;
2143
42.0k
    if (yych <= '<') goto yy9;
2144
21.9k
    if (yych <= '=') goto yy150;
2145
18.1k
    if (yych <= '>') goto yy152;
2146
12.8k
    goto yy9;
2147
373k
yy38:
2148
373k
    YYDEBUG(38, *YYCURSOR);
2149
373k
    yyaccept = 2;
2150
373k
    yych = *(YYMARKER = ++YYCURSOR);
2151
373k
    if (yych <= '=') {
2152
88.1k
      if (yych == '-') goto yy154;
2153
75.0k
      goto yy9;
2154
285k
    } else {
2155
285k
      if (yych <= '>') goto yy155;
2156
190k
      if (yych <= '?') goto yy157;
2157
77.8k
      goto yy9;
2158
190k
    }
2159
169k
yy39:
2160
169k
    YYDEBUG(39, *YYCURSOR);
2161
169k
    yyaccept = 4;
2162
169k
    yych = *(YYMARKER = ++YYCURSOR);
2163
169k
    if (yych <= 'S') {
2164
52.9k
      if (yych <= 'M') {
2165
41.0k
        if (yych == 'B') goto yy159;
2166
37.2k
        goto yy48;
2167
41.0k
      } else {
2168
11.8k
        if (yych <= 'N') goto yy160;
2169
8.96k
        if (yych <= 'Q') goto yy48;
2170
8.55k
        if (yych <= 'R') goto yy161;
2171
6.62k
        goto yy162;
2172
8.55k
      }
2173
116k
    } else {
2174
116k
      if (yych <= 'n') {
2175
30.7k
        if (yych == 'b') goto yy159;
2176
23.5k
        if (yych <= 'm') goto yy48;
2177
6.03k
        goto yy160;
2178
86.0k
      } else {
2179
86.0k
        if (yych <= 'q') goto yy48;
2180
84.3k
        if (yych <= 'r') goto yy161;
2181
52.5k
        if (yych <= 's') goto yy162;
2182
14.3k
        goto yy48;
2183
52.5k
      }
2184
116k
    }
2185
2.55M
yy40:
2186
2.55M
    YYDEBUG(40, *YYCURSOR);
2187
2.55M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
2.55M
#line 2455 "Zend/zend_language_scanner.l"
2189
2.55M
    {
2190
2.55M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
2.55M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
72.6k
yy41:
2194
72.6k
    YYDEBUG(41, *YYCURSOR);
2195
72.6k
    yyaccept = 4;
2196
72.6k
    yych = *(YYMARKER = ++YYCURSOR);
2197
72.6k
    if (yych <= ';') {
2198
20.4k
      if (yych <= '"') {
2199
9.40k
        if (yych <= '!') goto yy48;
2200
516
        goto yy10;
2201
11.0k
      } else {
2202
11.0k
        if (yych == '\'') goto yy18;
2203
7.91k
        goto yy48;
2204
11.0k
      }
2205
52.1k
    } else {
2206
52.1k
      if (yych <= 'R') {
2207
10.4k
        if (yych <= '<') goto yy165;
2208
7.22k
        if (yych <= 'Q') goto yy48;
2209
1.24k
        goto yy166;
2210
41.6k
      } else {
2211
41.6k
        if (yych == 'r') goto yy166;
2212
38.0k
        goto yy48;
2213
41.6k
      }
2214
52.1k
    }
2215
248k
yy42:
2216
248k
    YYDEBUG(42, *YYCURSOR);
2217
248k
    yyaccept = 4;
2218
248k
    yych = *(YYMARKER = ++YYCURSOR);
2219
248k
    if (yych <= 'O') {
2220
44.1k
      if (yych <= 'K') {
2221
36.2k
        if (yych == 'A') goto yy167;
2222
30.2k
        goto yy48;
2223
36.2k
      } else {
2224
7.97k
        if (yych <= 'L') goto yy168;
2225
6.09k
        if (yych <= 'N') goto yy48;
2226
5.86k
        goto yy169;
2227
6.09k
      }
2228
204k
    } else {
2229
204k
      if (yych <= 'k') {
2230
37.8k
        if (yych == 'a') goto yy167;
2231
7.85k
        goto yy48;
2232
166k
      } else {
2233
166k
        if (yych <= 'l') goto yy168;
2234
117k
        if (yych == 'o') goto yy169;
2235
14.0k
        goto yy48;
2236
117k
      }
2237
204k
    }
2238
81.8k
yy43:
2239
81.8k
    YYDEBUG(43, *YYCURSOR);
2240
81.8k
    yyaccept = 4;
2241
81.8k
    yych = *(YYMARKER = ++YYCURSOR);
2242
81.8k
    if (yych <= 'O') {
2243
34.7k
      if (yych <= 'H') {
2244
21.9k
        if (yych == 'E') goto yy170;
2245
17.4k
        goto yy48;
2246
21.9k
      } else {
2247
12.8k
        if (yych <= 'I') goto yy171;
2248
10.9k
        if (yych <= 'N') goto yy48;
2249
10.4k
        goto yy172;
2250
10.9k
      }
2251
47.0k
    } else {
2252
47.0k
      if (yych <= 'h') {
2253
29.1k
        if (yych == 'e') goto yy170;
2254
13.4k
        goto yy48;
2255
29.1k
      } else {
2256
17.8k
        if (yych <= 'i') goto yy171;
2257
11.4k
        if (yych == 'o') goto yy172;
2258
5.99k
        goto yy48;
2259
11.4k
      }
2260
47.0k
    }
2261
533k
yy44:
2262
533k
    YYDEBUG(44, *YYCURSOR);
2263
533k
    yyaccept = 4;
2264
533k
    yych = *(YYMARKER = ++YYCURSOR);
2265
533k
    switch (yych) {
2266
1.30k
    case 'C':
2267
64.5k
    case 'c': goto yy174;
2268
3.33k
    case 'L':
2269
18.7k
    case 'l': goto yy175;
2270
2.82k
    case 'M':
2271
10.0k
    case 'm': goto yy176;
2272
114k
    case 'N':
2273
233k
    case 'n': goto yy177;
2274
254
    case 'V':
2275
6.27k
    case 'v': goto yy178;
2276
5.53k
    case 'X':
2277
104k
    case 'x': goto yy179;
2278
95.7k
    default:  goto yy48;
2279
533k
    }
2280
252k
yy45:
2281
252k
    YYDEBUG(45, *YYCURSOR);
2282
252k
    yyaccept = 4;
2283
252k
    yych = *(YYMARKER = ++YYCURSOR);
2284
252k
    if (yych <= 'U') {
2285
96.0k
      if (yych <= 'M') {
2286
80.4k
        if (yych == 'I') goto yy180;
2287
75.2k
        goto yy48;
2288
80.4k
      } else {
2289
15.5k
        if (yych <= 'N') goto yy181;
2290
13.6k
        if (yych <= 'O') goto yy183;
2291
9.32k
        if (yych <= 'T') goto yy48;
2292
834
        goto yy184;
2293
9.32k
      }
2294
156k
    } else {
2295
156k
      if (yych <= 'n') {
2296
51.9k
        if (yych == 'i') goto yy180;
2297
37.9k
        if (yych <= 'm') goto yy48;
2298
22.4k
        goto yy181;
2299
104k
      } else {
2300
104k
        if (yych <= 'o') goto yy183;
2301
66.0k
        if (yych == 'u') goto yy184;
2302
16.4k
        goto yy48;
2303
66.0k
      }
2304
156k
    }
2305
53.1k
yy46:
2306
53.1k
    YYDEBUG(46, *YYCURSOR);
2307
53.1k
    yyaccept = 4;
2308
53.1k
    yych = *(YYMARKER = ++YYCURSOR);
2309
53.1k
    if (yych <= 'O') {
2310
28.4k
      if (yych == 'L') goto yy185;
2311
23.2k
      if (yych <= 'N') goto yy48;
2312
2.24k
      goto yy186;
2313
24.6k
    } else {
2314
24.6k
      if (yych <= 'l') {
2315
14.5k
        if (yych <= 'k') goto yy48;
2316
4.18k
        goto yy185;
2317
14.5k
      } else {
2318
10.0k
        if (yych == 'o') goto yy186;
2319
4.60k
        goto yy48;
2320
10.0k
      }
2321
24.6k
    }
2322
9.14M
yy47:
2323
9.14M
    YYDEBUG(47, *YYCURSOR);
2324
9.14M
    yyaccept = 4;
2325
9.14M
    YYMARKER = ++YYCURSOR;
2326
9.14M
    YYFILL(1);
2327
9.14M
    yych = *YYCURSOR;
2328
10.9M
yy48:
2329
10.9M
    YYDEBUG(48, *YYCURSOR);
2330
10.9M
    if (yybm[256+yych] & 128) {
2331
8.43M
      goto yy47;
2332
8.43M
    }
2333
2.55M
    if (yych == '\\') goto yy164;
2334
2.52M
    goto yy40;
2335
2.52M
yy49:
2336
190k
    YYDEBUG(49, *YYCURSOR);
2337
190k
    yyaccept = 4;
2338
190k
    yych = *(YYMARKER = ++YYCURSOR);
2339
190k
    if (yych <= 'S') {
2340
59.1k
      if (yych <= 'L') {
2341
24.9k
        if (yych == 'F') goto yy187;
2342
23.0k
        goto yy48;
2343
34.1k
      } else {
2344
34.1k
        if (yych <= 'M') goto yy189;
2345
19.9k
        if (yych <= 'N') goto yy190;
2346
3.42k
        if (yych <= 'R') goto yy48;
2347
2.41k
        goto yy191;
2348
3.42k
      }
2349
131k
    } else {
2350
131k
      if (yych <= 'm') {
2351
46.3k
        if (yych == 'f') goto yy187;
2352
36.9k
        if (yych <= 'l') goto yy48;
2353
22.2k
        goto yy189;
2354
85.0k
      } else {
2355
85.0k
        if (yych <= 'n') goto yy190;
2356
18.3k
        if (yych == 's') goto yy191;
2357
10.3k
        goto yy48;
2358
18.3k
      }
2359
131k
    }
2360
46.7k
yy50:
2361
46.7k
    YYDEBUG(50, *YYCURSOR);
2362
46.7k
    yyaccept = 4;
2363
46.7k
    yych = *(YYMARKER = ++YYCURSOR);
2364
46.7k
    if (yych == 'I') goto yy192;
2365
45.3k
    if (yych == 'i') goto yy192;
2366
38.9k
    goto yy48;
2367
39.9k
yy51:
2368
39.9k
    YYDEBUG(51, *YYCURSOR);
2369
39.9k
    yyaccept = 4;
2370
39.9k
    yych = *(YYMARKER = ++YYCURSOR);
2371
39.9k
    if (yych == 'A') goto yy193;
2372
39.3k
    if (yych == 'a') goto yy193;
2373
34.8k
    goto yy48;
2374
120k
yy52:
2375
120k
    YYDEBUG(52, *YYCURSOR);
2376
120k
    yyaccept = 4;
2377
120k
    yych = *(YYMARKER = ++YYCURSOR);
2378
120k
    if (yych <= 'E') {
2379
23.5k
      if (yych == 'A') goto yy194;
2380
21.2k
      if (yych <= 'D') goto yy48;
2381
2.36k
      goto yy195;
2382
96.5k
    } else {
2383
96.5k
      if (yych <= 'a') {
2384
25.9k
        if (yych <= '`') goto yy48;
2385
19.2k
        goto yy194;
2386
70.6k
      } else {
2387
70.6k
        if (yych == 'e') goto yy195;
2388
40.0k
        goto yy48;
2389
70.6k
      }
2390
96.5k
    }
2391
93.8k
yy53:
2392
93.8k
    YYDEBUG(53, *YYCURSOR);
2393
93.8k
    yyaccept = 4;
2394
93.8k
    yych = *(YYMARKER = ++YYCURSOR);
2395
93.8k
    if (yych == 'R') goto yy196;
2396
92.6k
    if (yych == 'r') goto yy196;
2397
87.1k
    goto yy48;
2398
309k
yy54:
2399
309k
    YYDEBUG(54, *YYCURSOR);
2400
309k
    yyaccept = 4;
2401
309k
    yych = *(YYMARKER = ++YYCURSOR);
2402
309k
    if (yych <= 'U') {
2403
176k
      if (yych == 'R') goto yy198;
2404
165k
      if (yych <= 'T') goto yy48;
2405
3.18k
      goto yy199;
2406
165k
    } else {
2407
132k
      if (yych <= 'r') {
2408
85.1k
        if (yych <= 'q') goto yy48;
2409
25.8k
        goto yy198;
2410
85.1k
      } else {
2411
47.1k
        if (yych == 'u') goto yy199;
2412
15.6k
        goto yy48;
2413
47.1k
      }
2414
132k
    }
2415
80.6k
yy55:
2416
80.6k
    YYDEBUG(55, *YYCURSOR);
2417
80.6k
    yyaccept = 4;
2418
80.6k
    yych = *(YYMARKER = ++YYCURSOR);
2419
80.6k
    if (yych == 'E') goto yy200;
2420
70.8k
    if (yych == 'e') goto yy200;
2421
37.3k
    goto yy48;
2422
96.5k
yy56:
2423
96.5k
    YYDEBUG(56, *YYCURSOR);
2424
96.5k
    yyaccept = 4;
2425
96.5k
    yych = *(YYMARKER = ++YYCURSOR);
2426
96.5k
    if (yych <= 'W') {
2427
28.2k
      if (yych == 'T') goto yy201;
2428
23.3k
      if (yych <= 'V') goto yy48;
2429
1.16k
      goto yy202;
2430
68.2k
    } else {
2431
68.2k
      if (yych <= 't') {
2432
58.5k
        if (yych <= 's') goto yy48;
2433
26.0k
        goto yy201;
2434
58.5k
      } else {
2435
9.75k
        if (yych == 'w') goto yy202;
2436
4.56k
        goto yy48;
2437
9.75k
      }
2438
68.2k
    }
2439
103k
yy57:
2440
103k
    YYDEBUG(57, *YYCURSOR);
2441
103k
    yyaccept = 4;
2442
103k
    yych = *(YYMARKER = ++YYCURSOR);
2443
103k
    if (yych <= 'R') {
2444
30.6k
      if (yych == 'H') goto yy203;
2445
29.2k
      if (yych <= 'Q') goto yy48;
2446
6.40k
      goto yy204;
2447
72.9k
    } else {
2448
72.9k
      if (yych <= 'h') {
2449
26.7k
        if (yych <= 'g') goto yy48;
2450
6.08k
        goto yy203;
2451
46.1k
      } else {
2452
46.1k
        if (yych == 'r') goto yy204;
2453
25.1k
        goto yy48;
2454
46.1k
      }
2455
72.9k
    }
2456
58.1k
yy58:
2457
58.1k
    YYDEBUG(58, *YYCURSOR);
2458
58.1k
    yyaccept = 4;
2459
58.1k
    yych = *(YYMARKER = ++YYCURSOR);
2460
58.1k
    if (yych <= 'S') {
2461
14.6k
      if (yych == 'N') goto yy205;
2462
12.4k
      if (yych <= 'R') goto yy48;
2463
1.43k
      goto yy206;
2464
43.4k
    } else {
2465
43.4k
      if (yych <= 'n') {
2466
24.8k
        if (yych <= 'm') goto yy48;
2467
10.0k
        goto yy205;
2468
24.8k
      } else {
2469
18.6k
        if (yych == 's') goto yy206;
2470
9.62k
        goto yy48;
2471
18.6k
      }
2472
43.4k
    }
2473
41.6k
yy59:
2474
41.6k
    YYDEBUG(59, *YYCURSOR);
2475
41.6k
    yyaccept = 4;
2476
41.6k
    yych = *(YYMARKER = ++YYCURSOR);
2477
41.6k
    if (yych == 'A') goto yy207;
2478
40.5k
    if (yych == 'a') goto yy207;
2479
14.7k
    goto yy48;
2480
20.8k
yy60:
2481
20.8k
    YYDEBUG(60, *YYCURSOR);
2482
20.8k
    yyaccept = 4;
2483
20.8k
    yych = *(YYMARKER = ++YYCURSOR);
2484
20.8k
    if (yych == 'H') goto yy208;
2485
18.9k
    if (yych == 'h') goto yy208;
2486
15.3k
    goto yy48;
2487
26.2k
yy61:
2488
26.2k
    YYDEBUG(61, *YYCURSOR);
2489
26.2k
    yyaccept = 4;
2490
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
2491
26.2k
    if (yych == 'O') goto yy209;
2492
25.2k
    if (yych == 'o') goto yy209;
2493
19.9k
    goto yy48;
2494
171k
yy62:
2495
171k
    YYDEBUG(62, *YYCURSOR);
2496
171k
    yyaccept = 4;
2497
171k
    yych = *(YYMARKER = ++YYCURSOR);
2498
171k
    if (yych == 'I') goto yy210;
2499
169k
    if (yych == 'i') goto yy210;
2500
39.1k
    goto yy48;
2501
229k
yy63:
2502
229k
    YYDEBUG(63, *YYCURSOR);
2503
229k
    ++YYCURSOR;
2504
229k
    goto yy21;
2505
125k
yy64:
2506
125k
    YYDEBUG(64, *YYCURSOR);
2507
125k
    yych = *++YYCURSOR;
2508
125k
    if (yych <= '_') {
2509
100k
      if (yych <= '@') goto yy65;
2510
68.4k
      if (yych <= 'Z') goto yy211;
2511
60.3k
      if (yych >= '_') goto yy211;
2512
60.3k
    } else {
2513
24.8k
      if (yych <= '`') goto yy65;
2514
23.1k
      if (yych <= 'z') goto yy211;
2515
11.9k
      if (yych >= 0x80) goto yy211;
2516
11.9k
    }
2517
99.9k
yy65:
2518
99.9k
    YYDEBUG(65, *YYCURSOR);
2519
99.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
99.9k
#line 2451 "Zend/zend_language_scanner.l"
2521
99.9k
    {
2522
99.9k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
99.9k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
44.3k
yy66:
2526
44.3k
    YYDEBUG(66, *YYCURSOR);
2527
44.3k
    yych = *++YYCURSOR;
2528
44.3k
    if (yych == '=') goto yy214;
2529
43.5k
    goto yy9;
2530
144k
yy67:
2531
144k
    YYDEBUG(67, *YYCURSOR);
2532
144k
    yyaccept = 4;
2533
144k
    yych = *(YYMARKER = ++YYCURSOR);
2534
144k
    if (yych == '_') goto yy216;
2535
41.1k
    goto yy48;
2536
41.1k
yy68:
2537
36.8k
    YYDEBUG(68, *YYCURSOR);
2538
36.8k
    ++YYCURSOR;
2539
36.8k
    YYDEBUG(69, *YYCURSOR);
2540
36.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
36.8k
#line 2826 "Zend/zend_language_scanner.l"
2542
36.8k
    {
2543
36.8k
  BEGIN(ST_BACKQUOTE);
2544
36.8k
  RETURN_TOKEN('`');
2545
36.8k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
696k
yy70:
2548
696k
    YYDEBUG(70, *YYCURSOR);
2549
696k
    ++YYCURSOR;
2550
696k
    YYDEBUG(71, *YYCURSOR);
2551
696k
    yyleng = YYCURSOR - SCNG(yy_text);
2552
696k
#line 1974 "Zend/zend_language_scanner.l"
2553
696k
    {
2554
696k
  yy_push_state(ST_IN_SCRIPTING);
2555
696k
  enter_nesting('{');
2556
696k
  RETURN_TOKEN('{');
2557
696k
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
65.2k
yy72:
2560
65.2k
    YYDEBUG(72, *YYCURSOR);
2561
65.2k
    yych = *++YYCURSOR;
2562
65.2k
    if (yych <= '>') {
2563
30.3k
      if (yych <= '<') goto yy9;
2564
4.91k
      if (yych <= '=') goto yy217;
2565
4.01k
      goto yy219;
2566
34.8k
    } else {
2567
34.8k
      if (yych == '|') goto yy221;
2568
29.5k
      goto yy9;
2569
34.8k
    }
2570
164k
yy73:
2571
164k
    YYDEBUG(73, *YYCURSOR);
2572
164k
    ++YYCURSOR;
2573
164k
    YYDEBUG(74, *YYCURSOR);
2574
164k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
164k
#line 1987 "Zend/zend_language_scanner.l"
2576
164k
    {
2577
164k
  RESET_DOC_COMMENT();
2578
164k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
162k
    yy_pop_state();
2580
162k
  }
2581
164k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
164k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
4.81k
yy75:
2585
4.81k
    YYDEBUG(75, *YYCURSOR);
2586
4.81k
    yych = *++YYCURSOR;
2587
4.81k
    if (yych == '=') goto yy223;
2588
6.40k
yy76:
2589
6.40k
    YYDEBUG(76, *YYCURSOR);
2590
6.40k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
6.40k
#line 1846 "Zend/zend_language_scanner.l"
2592
6.40k
    {
2593
6.40k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
6.40k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
19.5k
yy77:
2597
19.5k
    YYDEBUG(77, *YYCURSOR);
2598
19.5k
    ++YYCURSOR;
2599
19.5k
    YYDEBUG(78, *YYCURSOR);
2600
19.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
19.5k
#line 1423 "Zend/zend_language_scanner.l"
2602
19.5k
    {
2603
19.5k
  enter_nesting('[');
2604
19.5k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
19.5k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
1.57M
yy79:
2608
1.57M
    YYDEBUG(79, *YYCURSOR);
2609
1.57M
    ++YYCURSOR;
2610
1.57M
    YYFILL(1);
2611
1.57M
    yych = *YYCURSOR;
2612
1.57M
    YYDEBUG(80, *YYCURSOR);
2613
1.57M
    if (yych <= '^') {
2614
510k
      if (yych <= '9') {
2615
320k
        if (yych >= '0') goto yy79;
2616
320k
      } else {
2617
189k
        if (yych <= '@') goto yy81;
2618
113k
        if (yych <= 'Z') goto yy79;
2619
113k
      }
2620
1.06M
    } else {
2621
1.06M
      if (yych <= '`') {
2622
10.5k
        if (yych <= '_') goto yy79;
2623
1.05M
      } else {
2624
1.05M
        if (yych <= 'z') goto yy79;
2625
421k
        if (yych >= 0x80) goto yy79;
2626
421k
      }
2627
1.06M
    }
2628
380k
yy81:
2629
380k
    YYDEBUG(81, *YYCURSOR);
2630
380k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
380k
#line 2417 "Zend/zend_language_scanner.l"
2632
380k
    {
2633
380k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
380k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
852
yy82:
2637
852
    YYDEBUG(82, *YYCURSOR);
2638
852
    ++YYCURSOR;
2639
852
    YYDEBUG(83, *YYCURSOR);
2640
852
    yyleng = YYCURSOR - SCNG(yy_text);
2641
852
#line 1890 "Zend/zend_language_scanner.l"
2642
852
    {
2643
852
  RETURN_TOKEN(T_MOD_EQUAL);
2644
852
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
301k
yy84:
2647
301k
    YYDEBUG(84, *YYCURSOR);
2648
301k
    ++YYCURSOR;
2649
301k
    YYFILL(3);
2650
301k
    yych = *YYCURSOR;
2651
359k
yy85:
2652
359k
    YYDEBUG(85, *YYCURSOR);
2653
359k
    if (yych <= ' ') {
2654
78.3k
      if (yych <= '\f') {
2655
41.6k
        if (yych <= 0x08) goto yy86;
2656
39.8k
        if (yych <= '\n') goto yy84;
2657
39.8k
      } else {
2658
36.7k
        if (yych <= '\r') goto yy84;
2659
4.95k
        if (yych >= ' ') goto yy84;
2660
4.95k
      }
2661
280k
    } else {
2662
280k
      if (yych <= '$') {
2663
243k
        if (yych <= '"') goto yy86;
2664
242k
        if (yych <= '#') goto yy87;
2665
9.67k
        goto yy88;
2666
242k
      } else {
2667
37.4k
        if (yych <= '-') goto yy86;
2668
34.2k
        if (yych <= '.') goto yy92;
2669
31.2k
        if (yych <= '/') goto yy93;
2670
31.2k
      }
2671
280k
    }
2672
614k
yy86:
2673
614k
    YYDEBUG(86, *YYCURSOR);
2674
614k
    YYCURSOR = YYMARKER;
2675
614k
    if (yyaccept <= 48) {
2676
399k
      if (yyaccept <= 24) {
2677
388k
        if (yyaccept <= 12) {
2678
379k
          if (yyaccept <= 6) {
2679
239k
            if (yyaccept <= 3) {
2680
207k
              if (yyaccept <= 1) {
2681
179k
                if (yyaccept == 0) {
2682
40.9k
                  goto yy17;
2683
138k
                } else {
2684
138k
                  goto yy21;
2685
138k
                }
2686
179k
              } else {
2687
27.8k
                if (yyaccept == 2) {
2688
15.9k
                  goto yy9;
2689
15.9k
                } else {
2690
11.8k
                  goto yy31;
2691
11.8k
                }
2692
27.8k
              }
2693
207k
            } else {
2694
31.9k
              if (yyaccept <= 5) {
2695
28.8k
                if (yyaccept == 4) {
2696
25.3k
                  goto yy40;
2697
25.3k
                } else {
2698
3.44k
                  goto yy125;
2699
3.44k
                }
2700
28.8k
              } else {
2701
3.06k
                goto yy129;
2702
3.06k
              }
2703
31.9k
            }
2704
239k
          } else {
2705
140k
            if (yyaccept <= 9) {
2706
139k
              if (yyaccept <= 8) {
2707
138k
                if (yyaccept == 7) {
2708
138k
                  goto yy142;
2709
138k
                } else {
2710
338
                  goto yy163;
2711
338
                }
2712
138k
              } else {
2713
380
                goto yy173;
2714
380
              }
2715
139k
            } else {
2716
1.08k
              if (yyaccept <= 11) {
2717
792
                if (yyaccept == 10) {
2718
435
                  goto yy182;
2719
435
                } else {
2720
357
                  goto yy188;
2721
357
                }
2722
792
              } else {
2723
295
                goto yy197;
2724
295
              }
2725
1.08k
            }
2726
140k
          }
2727
379k
        } else {
2728
8.85k
          if (yyaccept <= 18) {
2729
7.04k
            if (yyaccept <= 15) {
2730
4.84k
              if (yyaccept <= 14) {
2731
4.35k
                if (yyaccept == 13) {
2732
3.62k
                  goto yy213;
2733
3.62k
                } else {
2734
729
                  goto yy251;
2735
729
                }
2736
4.35k
              } else {
2737
489
                goto yy257;
2738
489
              }
2739
4.84k
            } else {
2740
2.19k
              if (yyaccept <= 17) {
2741
988
                if (yyaccept == 16) {
2742
728
                  goto yy260;
2743
728
                } else {
2744
260
                  goto yy279;
2745
260
                }
2746
1.20k
              } else {
2747
1.20k
                goto yy283;
2748
1.20k
              }
2749
2.19k
            }
2750
7.04k
          } else {
2751
1.81k
            if (yyaccept <= 21) {
2752
819
              if (yyaccept <= 20) {
2753
543
                if (yyaccept == 19) {
2754
198
                  goto yy295;
2755
345
                } else {
2756
345
                  goto yy306;
2757
345
                }
2758
543
              } else {
2759
276
                goto yy319;
2760
276
              }
2761
996
            } else {
2762
996
              if (yyaccept <= 23) {
2763
528
                if (yyaccept == 22) {
2764
261
                  goto yy331;
2765
267
                } else {
2766
267
                  goto yy334;
2767
267
                }
2768
528
              } else {
2769
468
                goto yy336;
2770
468
              }
2771
996
            }
2772
1.81k
          }
2773
8.85k
        }
2774
388k
      } else {
2775
11.3k
        if (yyaccept <= 36) {
2776
8.01k
          if (yyaccept <= 30) {
2777
6.11k
            if (yyaccept <= 27) {
2778
5.33k
              if (yyaccept <= 26) {
2779
5.13k
                if (yyaccept == 25) {
2780
195
                  goto yy339;
2781
4.94k
                } else {
2782
4.94k
                  goto yy89;
2783
4.94k
                }
2784
5.13k
              } else {
2785
198
                goto yy379;
2786
198
              }
2787
5.33k
            } else {
2788
782
              if (yyaccept <= 29) {
2789
552
                if (yyaccept == 28) {
2790
348
                  goto yy388;
2791
348
                } else {
2792
204
                  goto yy390;
2793
204
                }
2794
552
              } else {
2795
230
                goto yy399;
2796
230
              }
2797
782
            }
2798
6.11k
          } else {
2799
1.90k
            if (yyaccept <= 33) {
2800
739
              if (yyaccept <= 32) {
2801
494
                if (yyaccept == 31) {
2802
285
                  goto yy401;
2803
285
                } else {
2804
209
                  goto yy408;
2805
209
                }
2806
494
              } else {
2807
245
                goto yy415;
2808
245
              }
2809
1.16k
            } else {
2810
1.16k
              if (yyaccept <= 35) {
2811
894
                if (yyaccept == 34) {
2812
539
                  goto yy471;
2813
539
                } else {
2814
355
                  goto yy473;
2815
355
                }
2816
894
              } else {
2817
270
                goto yy476;
2818
270
              }
2819
1.16k
            }
2820
1.90k
          }
2821
8.01k
        } else {
2822
3.37k
          if (yyaccept <= 42) {
2823
1.71k
            if (yyaccept <= 39) {
2824
892
              if (yyaccept <= 38) {
2825
686
                if (yyaccept == 37) {
2826
490
                  goto yy478;
2827
490
                } else {
2828
196
                  goto yy480;
2829
196
                }
2830
686
              } else {
2831
206
                goto yy482;
2832
206
              }
2833
892
            } else {
2834
825
              if (yyaccept <= 41) {
2835
594
                if (yyaccept == 40) {
2836
202
                  goto yy488;
2837
392
                } else {
2838
392
                  goto yy492;
2839
392
                }
2840
594
              } else {
2841
231
                goto yy501;
2842
231
              }
2843
825
            }
2844
1.71k
          } else {
2845
1.66k
            if (yyaccept <= 45) {
2846
851
              if (yyaccept <= 44) {
2847
490
                if (yyaccept == 43) {
2848
282
                  goto yy511;
2849
282
                } else {
2850
208
                  goto yy513;
2851
208
                }
2852
490
              } else {
2853
361
                goto yy516;
2854
361
              }
2855
851
            } else {
2856
811
              if (yyaccept <= 47) {
2857
603
                if (yyaccept == 46) {
2858
396
                  goto yy526;
2859
396
                } else {
2860
207
                  goto yy528;
2861
207
                }
2862
603
              } else {
2863
208
                goto yy530;
2864
208
              }
2865
811
            }
2866
1.66k
          }
2867
3.37k
        }
2868
11.3k
      }
2869
399k
    } else {
2870
214k
      if (yyaccept <= 72) {
2871
195k
        if (yyaccept <= 60) {
2872
191k
          if (yyaccept <= 54) {
2873
188k
            if (yyaccept <= 51) {
2874
89.0k
              if (yyaccept <= 50) {
2875
88.8k
                if (yyaccept == 49) {
2876
194
                  goto yy532;
2877
88.6k
                } else {
2878
88.6k
                  goto yy534;
2879
88.6k
                }
2880
88.8k
              } else {
2881
201
                goto yy576;
2882
201
              }
2883
99.4k
            } else {
2884
99.4k
              if (yyaccept <= 53) {
2885
99.1k
                if (yyaccept == 52) {
2886
216
                  goto yy579;
2887
98.9k
                } else {
2888
98.9k
                  goto yy583;
2889
98.9k
                }
2890
99.1k
              } else {
2891
312
                goto yy597;
2892
312
              }
2893
99.4k
            }
2894
188k
          } else {
2895
2.67k
            if (yyaccept <= 57) {
2896
2.00k
              if (yyaccept <= 56) {
2897
1.75k
                if (yyaccept == 55) {
2898
1.51k
                  goto yy607;
2899
1.51k
                } else {
2900
239
                  goto yy611;
2901
239
                }
2902
1.75k
              } else {
2903
247
                goto yy613;
2904
247
              }
2905
2.00k
            } 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.67k
          }
2917
191k
        } else {
2918
4.18k
          if (yyaccept <= 66) {
2919
2.77k
            if (yyaccept <= 63) {
2920
825
              if (yyaccept <= 62) {
2921
575
                if (yyaccept == 61) {
2922
343
                  goto yy671;
2923
343
                } else {
2924
232
                  goto yy673;
2925
232
                }
2926
575
              } else {
2927
250
                goto yy675;
2928
250
              }
2929
1.94k
            } else {
2930
1.94k
              if (yyaccept <= 65) {
2931
1.75k
                if (yyaccept == 64) {
2932
235
                  goto yy679;
2933
1.51k
                } else {
2934
1.51k
                  goto yy685;
2935
1.51k
                }
2936
1.75k
              } else {
2937
195
                goto yy690;
2938
195
              }
2939
1.94k
            }
2940
2.77k
          } else {
2941
1.41k
            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
789
            } else {
2952
789
              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
344
                goto yy743;
2960
344
              }
2961
789
            }
2962
1.41k
          }
2963
4.18k
        }
2964
195k
      } else {
2965
19.4k
        if (yyaccept <= 84) {
2966
4.35k
          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
3.11k
          } else {
2989
3.11k
            if (yyaccept <= 81) {
2990
2.36k
              if (yyaccept <= 80) {
2991
2.16k
                if (yyaccept == 79) {
2992
819
                  goto yy801;
2993
1.34k
                } else {
2994
1.34k
                  goto yy804;
2995
1.34k
                }
2996
2.16k
              } else {
2997
195
                goto yy812;
2998
195
              }
2999
2.36k
            } 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
3.11k
          }
3011
15.0k
        } else {
3012
15.0k
          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
736
            } else {
3024
736
              if (yyaccept <= 89) {
3025
536
                if (yyaccept == 88) {
3026
328
                  goto yy869;
3027
328
                } else {
3028
208
                  goto yy898;
3029
208
                }
3030
536
              } else {
3031
200
                goto yy903;
3032
200
              }
3033
736
            }
3034
13.7k
          } else {
3035
13.7k
            if (yyaccept <= 93) {
3036
11.4k
              if (yyaccept <= 92) {
3037
11.2k
                if (yyaccept == 91) {
3038
11.0k
                  goto yy876;
3039
11.0k
                } else {
3040
198
                  goto yy911;
3041
198
                }
3042
11.2k
              } else {
3043
200
                goto yy915;
3044
200
              }
3045
11.4k
            } else {
3046
2.26k
              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.26k
            }
3056
13.7k
          }
3057
15.0k
        }
3058
19.4k
      }
3059
214k
    }
3060
233k
yy87:
3061
233k
    YYDEBUG(87, *YYCURSOR);
3062
233k
    ++YYCURSOR;
3063
233k
    YYFILL(1);
3064
233k
    yych = *YYCURSOR;
3065
233k
    if (yych <= '\f') {
3066
116k
      if (yych <= 0x00) goto yy86;
3067
115k
      if (yych == '\n') goto yy227;
3068
841
      goto yy225;
3069
117k
    } else {
3070
117k
      if (yych <= '\r') goto yy227;
3071
31.6k
      if (yych == '[') goto yy86;
3072
31.3k
      goto yy225;
3073
31.6k
    }
3074
11.0k
yy88:
3075
11.0k
    YYDEBUG(88, *YYCURSOR);
3076
11.0k
    ++YYCURSOR;
3077
16.8k
yy89:
3078
16.8k
    YYDEBUG(89, *YYCURSOR);
3079
16.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
16.8k
#line 1950 "Zend/zend_language_scanner.l"
3081
16.8k
    {
3082
16.8k
  yyless(1);
3083
16.8k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
16.8k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
15.1k
yy90:
3087
15.1k
    YYDEBUG(90, *YYCURSOR);
3088
15.1k
    ++YYCURSOR;
3089
15.1k
    YYDEBUG(91, *YYCURSOR);
3090
15.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
15.1k
#line 1926 "Zend/zend_language_scanner.l"
3092
15.1k
    {
3093
15.1k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
15.1k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
2.92k
yy92:
3097
2.92k
    YYDEBUG(92, *YYCURSOR);
3098
2.92k
    yych = *++YYCURSOR;
3099
2.92k
    if (yych == '.') goto yy229;
3100
1.20k
    goto yy86;
3101
22.3k
yy93:
3102
22.3k
    YYDEBUG(93, *YYCURSOR);
3103
22.3k
    ++YYCURSOR;
3104
22.3k
    YYFILL(1);
3105
22.3k
    yych = *YYCURSOR;
3106
22.3k
    if (yych == '*') goto yy230;
3107
4.36k
    if (yych == '/') goto yy225;
3108
925
    goto yy86;
3109
5.74k
yy94:
3110
5.74k
    YYDEBUG(94, *YYCURSOR);
3111
5.74k
    ++YYCURSOR;
3112
5.74k
    YYDEBUG(95, *YYCURSOR);
3113
5.74k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
5.74k
#line 1902 "Zend/zend_language_scanner.l"
3115
5.74k
    {
3116
5.74k
  RETURN_TOKEN(T_AND_EQUAL);
3117
5.74k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
19.4k
yy96:
3120
19.4k
    YYDEBUG(96, *YYCURSOR);
3121
19.4k
    ++YYCURSOR;
3122
19.4k
    YYFILL(7);
3123
19.4k
    yych = *YYCURSOR;
3124
169k
yy97:
3125
169k
    YYDEBUG(97, *YYCURSOR);
3126
169k
    if (yybm[0+yych] & 1) {
3127
19.4k
      goto yy96;
3128
19.4k
    }
3129
150k
    switch (yych) {
3130
4.13k
    case 'A':
3131
46.2k
    case 'a': goto yy98;
3132
5.25k
    case 'B':
3133
15.4k
    case 'b': goto yy99;
3134
741
    case 'D':
3135
6.56k
    case 'd': goto yy100;
3136
1.56k
    case 'F':
3137
14.5k
    case 'f': goto yy101;
3138
872
    case 'I':
3139
16.4k
    case 'i': goto yy102;
3140
910
    case 'O':
3141
5.32k
    case 'o': goto yy103;
3142
939
    case 'R':
3143
5.72k
    case 'r': goto yy104;
3144
2.61k
    case 'S':
3145
17.5k
    case 's': goto yy105;
3146
401
    case 'U':
3147
6.71k
    case 'u': goto yy106;
3148
289
    case 'V':
3149
4.80k
    case 'v': goto yy107;
3150
10.5k
    default:  goto yy86;
3151
150k
    }
3152
46.2k
yy98:
3153
46.2k
    YYDEBUG(98, *YYCURSOR);
3154
46.2k
    yych = *++YYCURSOR;
3155
46.2k
    if (yych == 'R') goto yy232;
3156
45.8k
    if (yych == 'r') goto yy232;
3157
23.0k
    goto yy86;
3158
23.0k
yy99:
3159
15.4k
    YYDEBUG(99, *YYCURSOR);
3160
15.4k
    yych = *++YYCURSOR;
3161
15.4k
    if (yych <= 'O') {
3162
5.78k
      if (yych == 'I') goto yy233;
3163
5.51k
      if (yych <= 'N') goto yy86;
3164
2.27k
      goto yy234;
3165
9.71k
    } else {
3166
9.71k
      if (yych <= 'i') {
3167
3.27k
        if (yych <= 'h') goto yy86;
3168
2.46k
        goto yy233;
3169
6.43k
      } else {
3170
6.43k
        if (yych == 'o') goto yy234;
3171
2.81k
        goto yy86;
3172
6.43k
      }
3173
9.71k
    }
3174
6.56k
yy100:
3175
6.56k
    YYDEBUG(100, *YYCURSOR);
3176
6.56k
    yych = *++YYCURSOR;
3177
6.56k
    if (yych == 'O') goto yy235;
3178
6.30k
    if (yych == 'o') goto yy235;
3179
3.38k
    goto yy86;
3180
14.5k
yy101:
3181
14.5k
    YYDEBUG(101, *YYCURSOR);
3182
14.5k
    yych = *++YYCURSOR;
3183
14.5k
    if (yych == 'L') goto yy236;
3184
14.1k
    if (yych == 'l') goto yy236;
3185
9.61k
    goto yy86;
3186
16.4k
yy102:
3187
16.4k
    YYDEBUG(102, *YYCURSOR);
3188
16.4k
    yych = *++YYCURSOR;
3189
16.4k
    if (yych == 'N') goto yy237;
3190
15.3k
    if (yych == 'n') goto yy237;
3191
8.56k
    goto yy86;
3192
8.56k
yy103:
3193
5.32k
    YYDEBUG(103, *YYCURSOR);
3194
5.32k
    yych = *++YYCURSOR;
3195
5.32k
    if (yych == 'B') goto yy238;
3196
4.87k
    if (yych == 'b') goto yy238;
3197
2.13k
    goto yy86;
3198
5.72k
yy104:
3199
5.72k
    YYDEBUG(104, *YYCURSOR);
3200
5.72k
    yych = *++YYCURSOR;
3201
5.72k
    if (yych == 'E') goto yy239;
3202
5.15k
    if (yych == 'e') goto yy239;
3203
1.95k
    goto yy86;
3204
17.5k
yy105:
3205
17.5k
    YYDEBUG(105, *YYCURSOR);
3206
17.5k
    yych = *++YYCURSOR;
3207
17.5k
    if (yych == 'T') goto yy240;
3208
16.8k
    if (yych == 't') goto yy240;
3209
10.0k
    goto yy86;
3210
10.0k
yy106:
3211
6.71k
    YYDEBUG(106, *YYCURSOR);
3212
6.71k
    yych = *++YYCURSOR;
3213
6.71k
    if (yych == 'N') goto yy241;
3214
6.07k
    if (yych == 'n') goto yy241;
3215
921
    goto yy86;
3216
4.80k
yy107:
3217
4.80k
    YYDEBUG(107, *YYCURSOR);
3218
4.80k
    yych = *++YYCURSOR;
3219
4.80k
    if (yych == 'O') goto yy242;
3220
4.41k
    if (yych == 'o') goto yy242;
3221
1.89k
    goto yy86;
3222
17.3k
yy108:
3223
17.3k
    YYDEBUG(108, *YYCURSOR);
3224
17.3k
    yych = *++YYCURSOR;
3225
17.3k
    if (yych == '=') goto yy243;
3226
17.0k
    YYDEBUG(109, *YYCURSOR);
3227
17.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
17.0k
#line 1874 "Zend/zend_language_scanner.l"
3229
17.0k
    {
3230
17.0k
  RETURN_TOKEN(T_POW);
3231
17.0k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
3.22k
yy110:
3234
3.22k
    YYDEBUG(110, *YYCURSOR);
3235
3.22k
    ++YYCURSOR;
3236
3.22k
    YYDEBUG(111, *YYCURSOR);
3237
3.22k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
3.22k
#line 1870 "Zend/zend_language_scanner.l"
3239
3.22k
    {
3240
3.22k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
3.22k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
4.94k
yy112:
3244
4.94k
    YYDEBUG(112, *YYCURSOR);
3245
4.94k
    ++YYCURSOR;
3246
4.94k
    YYDEBUG(113, *YYCURSOR);
3247
4.94k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
4.94k
#line 1826 "Zend/zend_language_scanner.l"
3249
4.94k
    {
3250
4.94k
  RETURN_TOKEN(T_INC);
3251
4.94k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
505
yy114:
3254
505
    YYDEBUG(114, *YYCURSOR);
3255
505
    ++YYCURSOR;
3256
505
    YYDEBUG(115, *YYCURSOR);
3257
505
    yyleng = YYCURSOR - SCNG(yy_text);
3258
505
#line 1862 "Zend/zend_language_scanner.l"
3259
505
    {
3260
505
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
505
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
9.47k
yy116:
3264
9.47k
    YYDEBUG(116, *YYCURSOR);
3265
9.47k
    ++YYCURSOR;
3266
9.47k
    YYDEBUG(117, *YYCURSOR);
3267
9.47k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
9.47k
#line 1830 "Zend/zend_language_scanner.l"
3269
9.47k
    {
3270
9.47k
  RETURN_TOKEN(T_DEC);
3271
9.47k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
507
yy118:
3274
507
    YYDEBUG(118, *YYCURSOR);
3275
507
    ++YYCURSOR;
3276
507
    YYDEBUG(119, *YYCURSOR);
3277
507
    yyleng = YYCURSOR - SCNG(yy_text);
3278
507
#line 1866 "Zend/zend_language_scanner.l"
3279
507
    {
3280
507
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
507
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
42.1k
yy120:
3284
42.1k
    YYDEBUG(120, *YYCURSOR);
3285
42.1k
    ++YYCURSOR;
3286
42.1k
    YYDEBUG(121, *YYCURSOR);
3287
42.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
42.1k
#line 1587 "Zend/zend_language_scanner.l"
3289
42.1k
    {
3290
42.1k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
42.1k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
42.1k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
52.0k
yy122:
3295
52.0k
    YYDEBUG(122, *YYCURSOR);
3296
52.0k
    yych = *++YYCURSOR;
3297
52.0k
    if (yych == '.') goto yy245;
3298
13.3k
    goto yy86;
3299
223k
yy123:
3300
223k
    YYDEBUG(123, *YYCURSOR);
3301
223k
    yyaccept = 5;
3302
223k
    YYMARKER = ++YYCURSOR;
3303
223k
    YYFILL(2);
3304
223k
    yych = *YYCURSOR;
3305
253k
yy124:
3306
253k
    YYDEBUG(124, *YYCURSOR);
3307
253k
    if (yych <= 'E') {
3308
237k
      if (yych <= '/') goto yy125;
3309
210k
      if (yych <= '9') goto yy123;
3310
12.2k
      if (yych >= 'E') goto yy135;
3311
16.1k
    } else {
3312
16.1k
      if (yych <= '_') {
3313
2.77k
        if (yych >= '_') goto yy247;
3314
13.4k
      } else {
3315
13.4k
        if (yych == 'e') goto yy135;
3316
13.4k
      }
3317
16.1k
    }
3318
73.3k
yy125:
3319
73.3k
    YYDEBUG(125, *YYCURSOR);
3320
73.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
73.3k
#line 2233 "Zend/zend_language_scanner.l"
3322
73.3k
    {
3323
73.3k
  const char *end;
3324
73.3k
  size_t len = yyleng;
3325
73.3k
  char *dnum = yytext;
3326
73.3k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
73.3k
  if (contains_underscores) {
3329
1.70k
    dnum = estrndup(dnum, len);
3330
1.70k
    strip_underscores(dnum, &len);
3331
1.70k
  }
3332
3333
73.3k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
73.3k
  ZEND_ASSERT(end == dnum + len);
3336
73.3k
  if (contains_underscores) {
3337
1.70k
    efree(dnum);
3338
1.70k
  }
3339
73.3k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
73.3k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
27.4k
yy126:
3343
27.4k
    YYDEBUG(126, *YYCURSOR);
3344
27.4k
    ++YYCURSOR;
3345
27.4k
    YYDEBUG(127, *YYCURSOR);
3346
27.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
27.4k
#line 1886 "Zend/zend_language_scanner.l"
3348
27.4k
    {
3349
27.4k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
27.4k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
181k
yy128:
3353
181k
    YYDEBUG(128, *YYCURSOR);
3354
181k
    yyaccept = 6;
3355
181k
    yych = *(YYMARKER = ++YYCURSOR);
3356
181k
    if (yych == '*') goto yy248;
3357
181k
yy129:
3358
181k
    YYDEBUG(129, *YYCURSOR);
3359
181k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
181k
#line 2484 "Zend/zend_language_scanner.l"
3361
181k
    {
3362
181k
  int doc_com;
3363
3364
181k
  if (yyleng > 2) {
3365
4.44k
    doc_com = 1;
3366
4.44k
    RESET_DOC_COMMENT();
3367
177k
  } else {
3368
177k
    doc_com = 0;
3369
177k
  }
3370
3371
6.17M
  while (YYCURSOR < YYLIMIT) {
3372
6.15M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
163k
      break;
3374
163k
    }
3375
6.15M
  }
3376
3377
181k
  if (YYCURSOR < YYLIMIT) {
3378
163k
    YYCURSOR++;
3379
163k
  } else {
3380
18.6k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
18.6k
    if (PARSER_MODE()) {
3382
1.42k
      RETURN_TOKEN(T_ERROR);
3383
1.42k
    }
3384
18.6k
  }
3385
3386
180k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
180k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
180k
  if (doc_com) {
3390
4.35k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
4.35k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
4.35k
  }
3393
3394
176k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
176k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
33.6k
yy130:
3398
33.6k
    YYDEBUG(130, *YYCURSOR);
3399
33.6k
    ++YYCURSOR;
3400
33.6k
    goto yy13;
3401
2.00k
yy131:
3402
2.00k
    YYDEBUG(131, *YYCURSOR);
3403
2.00k
    ++YYCURSOR;
3404
2.00k
    YYDEBUG(132, *YYCURSOR);
3405
2.00k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
2.00k
#line 1882 "Zend/zend_language_scanner.l"
3407
2.00k
    {
3408
2.00k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
2.00k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
31.0k
yy133:
3412
31.0k
    YYDEBUG(133, *YYCURSOR);
3413
31.0k
    yyaccept = 5;
3414
31.0k
    yych = *(YYMARKER = ++YYCURSOR);
3415
31.0k
    if (yych == '_') goto yy125;
3416
30.5k
    goto yy124;
3417
30.5k
yy134:
3418
11.6k
    YYDEBUG(134, *YYCURSOR);
3419
11.6k
    ++YYCURSOR;
3420
11.6k
    YYFILL(1);
3421
11.6k
    yych = *YYCURSOR;
3422
11.6k
    if (yybm[0+yych] & 8) {
3423
10.3k
      goto yy249;
3424
10.3k
    }
3425
1.23k
    goto yy86;
3426
30.9k
yy135:
3427
30.9k
    YYDEBUG(135, *YYCURSOR);
3428
30.9k
    yych = *++YYCURSOR;
3429
30.9k
    if (yych <= ',') {
3430
1.66k
      if (yych == '+') goto yy252;
3431
798
      goto yy86;
3432
29.3k
    } else {
3433
29.3k
      if (yych <= '-') goto yy252;
3434
20.6k
      if (yych <= '/') goto yy86;
3435
20.1k
      if (yych <= '9') goto yy253;
3436
4.62k
      goto yy86;
3437
20.1k
    }
3438
3.79k
yy136:
3439
3.79k
    YYDEBUG(136, *YYCURSOR);
3440
3.79k
    ++YYCURSOR;
3441
3.79k
    YYFILL(1);
3442
3.79k
    yych = *YYCURSOR;
3443
3.79k
    if (yybm[0+yych] & 16) {
3444
2.52k
      goto yy255;
3445
2.52k
    }
3446
1.27k
    goto yy86;
3447
9.04k
yy137:
3448
9.04k
    YYDEBUG(137, *YYCURSOR);
3449
9.04k
    ++YYCURSOR;
3450
9.04k
    YYFILL(1);
3451
9.04k
    yych = *YYCURSOR;
3452
9.04k
    if (yybm[0+yych] & 32) {
3453
7.65k
      goto yy258;
3454
7.65k
    }
3455
1.39k
    goto yy86;
3456
9.14k
yy138:
3457
9.14k
    YYDEBUG(138, *YYCURSOR);
3458
9.14k
    ++YYCURSOR;
3459
9.14k
    YYFILL(1);
3460
9.14k
    yych = *YYCURSOR;
3461
9.14k
    if (yybm[256+yych] & 64) {
3462
4.15k
      goto yy32;
3463
4.15k
    }
3464
4.98k
    goto yy86;
3465
104k
yy139:
3466
104k
    YYDEBUG(139, *YYCURSOR);
3467
104k
    ++YYCURSOR;
3468
104k
    YYDEBUG(140, *YYCURSOR);
3469
104k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
104k
#line 1614 "Zend/zend_language_scanner.l"
3471
104k
    {
3472
104k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
104k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
2.51M
yy141:
3476
2.51M
    YYDEBUG(141, *YYCURSOR);
3477
2.51M
    yyaccept = 7;
3478
2.51M
    yych = *(YYMARKER = ++YYCURSOR);
3479
2.51M
    if (yych <= ';') goto yy142;
3480
2.48M
    if (yych <= '<') goto yy261;
3481
115k
    if (yych <= '=') goto yy263;
3482
291k
yy142:
3483
291k
    YYDEBUG(142, *YYCURSOR);
3484
291k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
291k
#line 1942 "Zend/zend_language_scanner.l"
3486
291k
    {
3487
291k
  RETURN_TOKEN(T_SL);
3488
291k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
10.5k
yy143:
3491
10.5k
    YYDEBUG(143, *YYCURSOR);
3492
10.5k
    yych = *++YYCURSOR;
3493
10.5k
    if (yych == '>') goto yy265;
3494
9.82k
    YYDEBUG(144, *YYCURSOR);
3495
9.82k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
9.82k
#line 1854 "Zend/zend_language_scanner.l"
3497
9.82k
    {
3498
9.82k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
9.82k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
3.71k
yy145:
3502
3.71k
    YYDEBUG(145, *YYCURSOR);
3503
3.71k
    ++YYCURSOR;
3504
3.71k
    goto yy76;
3505
44.7k
yy146:
3506
44.7k
    YYDEBUG(146, *YYCURSOR);
3507
44.7k
    yych = *++YYCURSOR;
3508
44.7k
    if (yych == '=') goto yy267;
3509
13.9k
    YYDEBUG(147, *YYCURSOR);
3510
13.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
13.9k
#line 1842 "Zend/zend_language_scanner.l"
3512
13.9k
    {
3513
13.9k
  RETURN_TOKEN(T_IS_EQUAL);
3514
13.9k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
43.6k
yy148:
3517
43.6k
    YYDEBUG(148, *YYCURSOR);
3518
43.6k
    ++YYCURSOR;
3519
43.6k
    YYDEBUG(149, *YYCURSOR);
3520
43.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
43.6k
#line 1810 "Zend/zend_language_scanner.l"
3522
43.6k
    {
3523
43.6k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
43.6k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
3.73k
yy150:
3527
3.73k
    YYDEBUG(150, *YYCURSOR);
3528
3.73k
    ++YYCURSOR;
3529
3.73k
    YYDEBUG(151, *YYCURSOR);
3530
3.73k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
3.73k
#line 1858 "Zend/zend_language_scanner.l"
3532
3.73k
    {
3533
3.73k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
3.73k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
5.36k
yy152:
3537
5.36k
    YYDEBUG(152, *YYCURSOR);
3538
5.36k
    yych = *++YYCURSOR;
3539
5.36k
    if (yych == '=') goto yy269;
3540
5.02k
    YYDEBUG(153, *YYCURSOR);
3541
5.02k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
5.02k
#line 1946 "Zend/zend_language_scanner.l"
3543
5.02k
    {
3544
5.02k
  RETURN_TOKEN(T_SR);
3545
5.02k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
13.1k
yy154:
3548
13.1k
    YYDEBUG(154, *YYCURSOR);
3549
13.1k
    yych = *++YYCURSOR;
3550
13.1k
    if (yych == '>') goto yy271;
3551
2.63k
    goto yy86;
3552
94.9k
yy155:
3553
94.9k
    YYDEBUG(155, *YYCURSOR);
3554
94.9k
    yych = *++YYCURSOR;
3555
94.9k
    if (yych == '\n') goto yy273;
3556
91.3k
    if (yych == '\r') goto yy274;
3557
94.9k
yy156:
3558
94.9k
    YYDEBUG(156, *YYCURSOR);
3559
94.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
94.9k
#line 2526 "Zend/zend_language_scanner.l"
3561
94.9k
    {
3562
94.9k
  BEGIN(INITIAL);
3563
94.9k
  if (yytext[yyleng-1] != '>') {
3564
4.68k
    CG(increment_lineno) = 1;
3565
4.68k
  }
3566
94.9k
  if (PARSER_MODE()) {
3567
84.2k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
84.2k
  }
3569
10.7k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
10.7k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
112k
yy157:
3573
112k
    YYDEBUG(157, *YYCURSOR);
3574
112k
    yych = *++YYCURSOR;
3575
112k
    if (yych == '=') goto yy275;
3576
105k
    YYDEBUG(158, *YYCURSOR);
3577
105k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
105k
#line 1622 "Zend/zend_language_scanner.l"
3579
105k
    {
3580
105k
  RETURN_TOKEN(T_COALESCE);
3581
105k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
11.0k
yy159:
3584
11.0k
    YYDEBUG(159, *YYCURSOR);
3585
11.0k
    yyaccept = 4;
3586
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
3587
11.0k
    if (yych == 'S') goto yy277;
3588
7.51k
    if (yych == 's') goto yy277;
3589
2.13k
    goto yy48;
3590
8.92k
yy160:
3591
8.92k
    YYDEBUG(160, *YYCURSOR);
3592
8.92k
    yyaccept = 4;
3593
8.92k
    yych = *(YYMARKER = ++YYCURSOR);
3594
8.92k
    if (yych == 'D') goto yy278;
3595
6.33k
    if (yych == 'd') goto yy278;
3596
1.60k
    goto yy48;
3597
33.7k
yy161:
3598
33.7k
    YYDEBUG(161, *YYCURSOR);
3599
33.7k
    yyaccept = 4;
3600
33.7k
    yych = *(YYMARKER = ++YYCURSOR);
3601
33.7k
    if (yych == 'R') goto yy280;
3602
32.5k
    if (yych == 'r') goto yy280;
3603
3.46k
    goto yy48;
3604
44.8k
yy162:
3605
44.8k
    YYDEBUG(162, *YYCURSOR);
3606
44.8k
    yyaccept = 8;
3607
44.8k
    yych = *(YYMARKER = ++YYCURSOR);
3608
44.8k
    if (yybm[256+yych] & 128) {
3609
30.8k
      goto yy47;
3610
30.8k
    }
3611
14.0k
    if (yych == '\\') goto yy164;
3612
13.9k
yy163:
3613
13.9k
    YYDEBUG(163, *YYCURSOR);
3614
13.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
13.9k
#line 1510 "Zend/zend_language_scanner.l"
3616
13.9k
    {
3617
13.9k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
13.9k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
51.7k
yy164:
3621
51.7k
    YYDEBUG(164, *YYCURSOR);
3622
51.7k
    ++YYCURSOR;
3623
51.7k
    YYFILL(1);
3624
51.7k
    yych = *YYCURSOR;
3625
51.7k
    if (yych <= '_') {
3626
33.1k
      if (yych <= '@') goto yy86;
3627
15.6k
      if (yych <= 'Z') goto yy281;
3628
9.93k
      if (yych <= '^') goto yy86;
3629
1.70k
      goto yy281;
3630
18.5k
    } else {
3631
18.5k
      if (yych <= '`') goto yy86;
3632
17.8k
      if (yych <= 'z') goto yy281;
3633
8.80k
      if (yych <= 0x7F) goto yy86;
3634
4.48k
      goto yy281;
3635
8.80k
    }
3636
3.24k
yy165:
3637
3.24k
    YYDEBUG(165, *YYCURSOR);
3638
3.24k
    yych = *++YYCURSOR;
3639
3.24k
    if (yych == '<') goto yy284;
3640
803
    goto yy86;
3641
4.85k
yy166:
3642
4.85k
    YYDEBUG(166, *YYCURSOR);
3643
4.85k
    yyaccept = 4;
3644
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
3645
4.85k
    if (yych == 'E') goto yy285;
3646
3.32k
    if (yych == 'e') goto yy285;
3647
552
    goto yy48;
3648
35.9k
yy167:
3649
35.9k
    YYDEBUG(167, *YYCURSOR);
3650
35.9k
    yyaccept = 4;
3651
35.9k
    yych = *(YYMARKER = ++YYCURSOR);
3652
35.9k
    if (yych <= 'T') {
3653
7.36k
      if (yych <= 'L') {
3654
3.74k
        if (yych <= 'K') goto yy48;
3655
2.78k
        goto yy286;
3656
3.74k
      } else {
3657
3.62k
        if (yych <= 'R') goto yy48;
3658
3.36k
        if (yych <= 'S') goto yy287;
3659
1.78k
        goto yy288;
3660
3.36k
      }
3661
28.5k
    } else {
3662
28.5k
      if (yych <= 'r') {
3663
9.25k
        if (yych == 'l') goto yy286;
3664
586
        goto yy48;
3665
19.3k
      } else {
3666
19.3k
        if (yych <= 's') goto yy287;
3667
10.3k
        if (yych <= 't') goto yy288;
3668
712
        goto yy48;
3669
10.3k
      }
3670
28.5k
    }
3671
50.8k
yy168:
3672
50.8k
    YYDEBUG(168, *YYCURSOR);
3673
50.8k
    yyaccept = 4;
3674
50.8k
    yych = *(YYMARKER = ++YYCURSOR);
3675
50.8k
    if (yych <= 'O') {
3676
4.53k
      if (yych == 'A') goto yy289;
3677
3.96k
      if (yych <= 'N') goto yy48;
3678
2.95k
      goto yy290;
3679
46.2k
    } else {
3680
46.2k
      if (yych <= 'a') {
3681
37.9k
        if (yych <= '`') goto yy48;
3682
37.5k
        goto yy289;
3683
37.9k
      } else {
3684
8.28k
        if (yych == 'o') goto yy290;
3685
1.52k
        goto yy48;
3686
8.28k
      }
3687
46.2k
    }
3688
109k
yy169:
3689
109k
    YYDEBUG(169, *YYCURSOR);
3690
109k
    yyaccept = 4;
3691
109k
    yych = *(YYMARKER = ++YYCURSOR);
3692
109k
    if (yych == 'N') goto yy291;
3693
103k
    if (yych == 'n') goto yy291;
3694
3.15k
    goto yy48;
3695
20.3k
yy170:
3696
20.3k
    YYDEBUG(170, *YYCURSOR);
3697
20.3k
    yyaccept = 4;
3698
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
3699
20.3k
    if (yych <= 'F') {
3700
5.13k
      if (yych == 'C') goto yy292;
3701
2.49k
      if (yych <= 'E') goto yy48;
3702
1.54k
      goto yy293;
3703
15.1k
    } else {
3704
15.1k
      if (yych <= 'c') {
3705
6.99k
        if (yych <= 'b') goto yy48;
3706
6.40k
        goto yy292;
3707
8.18k
      } else {
3708
8.18k
        if (yych == 'f') goto yy293;
3709
1.67k
        goto yy48;
3710
8.18k
      }
3711
15.1k
    }
3712
8.22k
yy171:
3713
8.22k
    YYDEBUG(171, *YYCURSOR);
3714
8.22k
    yyaccept = 4;
3715
8.22k
    yych = *(YYMARKER = ++YYCURSOR);
3716
8.22k
    if (yych == 'E') goto yy294;
3717
6.62k
    if (yych == 'e') goto yy294;
3718
1.20k
    goto yy48;
3719
15.9k
yy172:
3720
15.9k
    YYDEBUG(172, *YYCURSOR);
3721
15.9k
    yyaccept = 9;
3722
15.9k
    yych = *(YYMARKER = ++YYCURSOR);
3723
15.9k
    if (yybm[256+yych] & 128) {
3724
10.7k
      goto yy47;
3725
10.7k
    }
3726
5.21k
    if (yych == '\\') goto yy164;
3727
5.10k
yy173:
3728
5.10k
    YYDEBUG(173, *YYCURSOR);
3729
5.10k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
5.10k
#line 1478 "Zend/zend_language_scanner.l"
3731
5.10k
    {
3732
5.10k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
5.10k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
64.5k
yy174:
3736
64.5k
    YYDEBUG(174, *YYCURSOR);
3737
64.5k
    yyaccept = 4;
3738
64.5k
    yych = *(YYMARKER = ++YYCURSOR);
3739
64.5k
    if (yych == 'H') goto yy296;
3740
63.2k
    if (yych == 'h') goto yy296;
3741
2.34k
    goto yy48;
3742
18.7k
yy175:
3743
18.7k
    YYDEBUG(175, *YYCURSOR);
3744
18.7k
    yyaccept = 4;
3745
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
3746
18.7k
    if (yych == 'S') goto yy297;
3747
15.5k
    if (yych == 's') goto yy297;
3748
6.21k
    goto yy48;
3749
10.0k
yy176:
3750
10.0k
    YYDEBUG(176, *YYCURSOR);
3751
10.0k
    yyaccept = 4;
3752
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
3753
10.0k
    if (yych == 'P') goto yy298;
3754
7.73k
    if (yych == 'p') goto yy298;
3755
5.36k
    goto yy48;
3756
233k
yy177:
3757
233k
    YYDEBUG(177, *YYCURSOR);
3758
233k
    yyaccept = 4;
3759
233k
    yych = *(YYMARKER = ++YYCURSOR);
3760
233k
    if (yych <= 'U') {
3761
36.7k
      if (yych == 'D') goto yy299;
3762
19.6k
      if (yych <= 'T') goto yy48;
3763
1.91k
      goto yy300;
3764
197k
    } else {
3765
197k
      if (yych <= 'd') {
3766
27.3k
        if (yych <= 'c') goto yy48;
3767
26.3k
        goto yy299;
3768
169k
      } else {
3769
169k
        if (yych == 'u') goto yy300;
3770
22.0k
        goto yy48;
3771
169k
      }
3772
197k
    }
3773
6.27k
yy178:
3774
6.27k
    YYDEBUG(178, *YYCURSOR);
3775
6.27k
    yyaccept = 4;
3776
6.27k
    yych = *(YYMARKER = ++YYCURSOR);
3777
6.27k
    if (yych == 'A') goto yy301;
3778
5.88k
    if (yych == 'a') goto yy301;
3779
2.03k
    goto yy48;
3780
104k
yy179:
3781
104k
    YYDEBUG(179, *YYCURSOR);
3782
104k
    yyaccept = 4;
3783
104k
    yych = *(YYMARKER = ++YYCURSOR);
3784
104k
    if (yych <= 'T') {
3785
12.1k
      if (yych == 'I') goto yy302;
3786
10.7k
      if (yych <= 'S') goto yy48;
3787
2.99k
      goto yy303;
3788
92.1k
    } else {
3789
92.1k
      if (yych <= 'i') {
3790
9.34k
        if (yych <= 'h') goto yy48;
3791
4.37k
        goto yy302;
3792
82.7k
      } else {
3793
82.7k
        if (yych == 't') goto yy303;
3794
56.8k
        goto yy48;
3795
82.7k
      }
3796
92.1k
    }
3797
19.3k
yy180:
3798
19.3k
    YYDEBUG(180, *YYCURSOR);
3799
19.3k
    yyaccept = 4;
3800
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
3801
19.3k
    if (yych == 'N') goto yy304;
3802
14.2k
    if (yych == 'n') goto yy304;
3803
2.94k
    goto yy48;
3804
24.3k
yy181:
3805
24.3k
    YYDEBUG(181, *YYCURSOR);
3806
24.3k
    yyaccept = 10;
3807
24.3k
    yych = *(YYMARKER = ++YYCURSOR);
3808
24.3k
    if (yybm[256+yych] & 128) {
3809
2.85k
      goto yy47;
3810
2.85k
    }
3811
21.4k
    if (yych == '\\') goto yy164;
3812
21.4k
yy182:
3813
21.4k
    YYDEBUG(182, *YYCURSOR);
3814
21.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
21.4k
#line 1407 "Zend/zend_language_scanner.l"
3816
21.4k
    {
3817
21.4k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
21.4k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
43.1k
yy183:
3821
43.1k
    YYDEBUG(183, *YYCURSOR);
3822
43.1k
    yyaccept = 4;
3823
43.1k
    yych = *(YYMARKER = ++YYCURSOR);
3824
43.1k
    if (yych == 'R') goto yy305;
3825
38.6k
    if (yych == 'r') goto yy305;
3826
11.6k
    goto yy48;
3827
50.4k
yy184:
3828
50.4k
    YYDEBUG(184, *YYCURSOR);
3829
50.4k
    yyaccept = 4;
3830
50.4k
    yych = *(YYMARKER = ++YYCURSOR);
3831
50.4k
    if (yych == 'N') goto yy307;
3832
49.0k
    if (yych == 'n') goto yy307;
3833
1.08k
    goto yy48;
3834
9.41k
yy185:
3835
9.41k
    YYDEBUG(185, *YYCURSOR);
3836
9.41k
    yyaccept = 4;
3837
9.41k
    yych = *(YYMARKER = ++YYCURSOR);
3838
9.41k
    if (yych == 'O') goto yy308;
3839
4.55k
    if (yych == 'o') goto yy308;
3840
1.13k
    goto yy48;
3841
7.73k
yy186:
3842
7.73k
    YYDEBUG(186, *YYCURSOR);
3843
7.73k
    yyaccept = 4;
3844
7.73k
    yych = *(YYMARKER = ++YYCURSOR);
3845
7.73k
    if (yych == 'T') goto yy309;
3846
5.45k
    if (yych == 't') goto yy309;
3847
556
    goto yy48;
3848
11.2k
yy187:
3849
11.2k
    YYDEBUG(187, *YYCURSOR);
3850
11.2k
    yyaccept = 11;
3851
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
3852
11.2k
    if (yybm[256+yych] & 128) {
3853
875
      goto yy47;
3854
875
    }
3855
10.3k
    if (yych == '\\') goto yy164;
3856
10.3k
yy188:
3857
10.3k
    YYDEBUG(188, *YYCURSOR);
3858
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
10.3k
#line 1454 "Zend/zend_language_scanner.l"
3860
10.3k
    {
3861
10.3k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
10.3k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
36.4k
yy189:
3865
36.4k
    YYDEBUG(189, *YYCURSOR);
3866
36.4k
    yyaccept = 4;
3867
36.4k
    yych = *(YYMARKER = ++YYCURSOR);
3868
36.4k
    if (yych == 'P') goto yy310;
3869
29.4k
    if (yych == 'p') goto yy310;
3870
3.51k
    goto yy48;
3871
83.2k
yy190:
3872
83.2k
    YYDEBUG(190, *YYCURSOR);
3873
83.2k
    yyaccept = 4;
3874
83.2k
    yych = *(YYMARKER = ++YYCURSOR);
3875
83.2k
    if (yych <= 'T') {
3876
20.2k
      if (yych <= 'C') {
3877
7.81k
        if (yych <= 'B') goto yy48;
3878
4.56k
        goto yy311;
3879
12.4k
      } else {
3880
12.4k
        if (yych <= 'R') goto yy48;
3881
7.75k
        if (yych <= 'S') goto yy312;
3882
3.51k
        goto yy313;
3883
7.75k
      }
3884
62.9k
    } else {
3885
62.9k
      if (yych <= 'r') {
3886
30.6k
        if (yych == 'c') goto yy311;
3887
17.1k
        goto yy48;
3888
32.3k
      } else {
3889
32.3k
        if (yych <= 's') goto yy312;
3890
19.6k
        if (yych <= 't') goto yy313;
3891
4.14k
        goto yy48;
3892
19.6k
      }
3893
62.9k
    }
3894
10.4k
yy191:
3895
10.4k
    YYDEBUG(191, *YYCURSOR);
3896
10.4k
    yyaccept = 4;
3897
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
3898
10.4k
    if (yych == 'S') goto yy314;
3899
8.93k
    if (yych == 's') goto yy314;
3900
4.16k
    goto yy48;
3901
7.78k
yy192:
3902
7.78k
    YYDEBUG(192, *YYCURSOR);
3903
7.78k
    yyaccept = 4;
3904
7.78k
    yych = *(YYMARKER = ++YYCURSOR);
3905
7.78k
    if (yych == 'S') goto yy315;
3906
6.16k
    if (yych == 's') goto yy315;
3907
966
    goto yy48;
3908
5.16k
yy193:
3909
5.16k
    YYDEBUG(193, *YYCURSOR);
3910
5.16k
    yyaccept = 4;
3911
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
3912
5.16k
    if (yych == 'T') goto yy316;
3913
4.86k
    if (yych == 't') goto yy316;
3914
1.18k
    goto yy48;
3915
21.5k
yy194:
3916
21.5k
    YYDEBUG(194, *YYCURSOR);
3917
21.5k
    yyaccept = 4;
3918
21.5k
    yych = *(YYMARKER = ++YYCURSOR);
3919
21.5k
    if (yych == 'M') goto yy317;
3920
19.2k
    if (yych == 'm') goto yy317;
3921
1.98k
    goto yy48;
3922
32.9k
yy195:
3923
32.9k
    YYDEBUG(195, *YYCURSOR);
3924
32.9k
    yyaccept = 4;
3925
32.9k
    yych = *(YYMARKER = ++YYCURSOR);
3926
32.9k
    if (yych == 'W') goto yy318;
3927
31.6k
    if (yych == 'w') goto yy318;
3928
5.77k
    goto yy48;
3929
6.70k
yy196:
3930
6.70k
    YYDEBUG(196, *YYCURSOR);
3931
6.70k
    yyaccept = 12;
3932
6.70k
    yych = *(YYMARKER = ++YYCURSOR);
3933
6.70k
    if (yybm[256+yych] & 128) {
3934
2.15k
      goto yy47;
3935
2.15k
    }
3936
4.55k
    if (yych == '\\') goto yy164;
3937
4.55k
yy197:
3938
4.55k
    YYDEBUG(197, *YYCURSOR);
3939
4.55k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
4.55k
#line 1930 "Zend/zend_language_scanner.l"
3941
4.55k
    {
3942
4.55k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
4.55k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
37.4k
yy198:
3946
37.4k
    YYDEBUG(198, *YYCURSOR);
3947
37.4k
    yyaccept = 4;
3948
37.4k
    yych = *(YYMARKER = ++YYCURSOR);
3949
37.4k
    if (yych <= 'O') {
3950
11.0k
      if (yych == 'I') goto yy320;
3951
4.95k
      if (yych <= 'N') goto yy48;
3952
3.59k
      goto yy321;
3953
26.3k
    } else {
3954
26.3k
      if (yych <= 'i') {
3955
18.5k
        if (yych <= 'h') goto yy48;
3956
16.1k
        goto yy320;
3957
18.5k
      } else {
3958
7.79k
        if (yych == 'o') goto yy321;
3959
680
        goto yy48;
3960
7.79k
      }
3961
26.3k
    }
3962
34.7k
yy199:
3963
34.7k
    YYDEBUG(199, *YYCURSOR);
3964
34.7k
    yyaccept = 4;
3965
34.7k
    yych = *(YYMARKER = ++YYCURSOR);
3966
34.7k
    if (yych == 'B') goto yy322;
3967
31.6k
    if (yych == 'b') goto yy322;
3968
1.60k
    goto yy48;
3969
43.3k
yy200:
3970
43.3k
    YYDEBUG(200, *YYCURSOR);
3971
43.3k
    yyaccept = 4;
3972
43.3k
    yych = *(YYMARKER = ++YYCURSOR);
3973
43.3k
    if (yych <= 'T') {
3974
7.75k
      if (yych <= 'P') {
3975
3.52k
        if (yych == 'A') goto yy323;
3976
2.91k
        goto yy48;
3977
4.23k
      } else {
3978
4.23k
        if (yych <= 'Q') goto yy324;
3979
1.64k
        if (yych <= 'S') goto yy48;
3980
1.43k
        goto yy325;
3981
1.64k
      }
3982
35.6k
    } else {
3983
35.6k
      if (yych <= 'p') {
3984
11.6k
        if (yych == 'a') goto yy323;
3985
5.22k
        goto yy48;
3986
23.9k
      } else {
3987
23.9k
        if (yych <= 'q') goto yy324;
3988
12.8k
        if (yych == 't') goto yy325;
3989
1.59k
        goto yy48;
3990
12.8k
      }
3991
35.6k
    }
3992
30.9k
yy201:
3993
30.9k
    YYDEBUG(201, *YYCURSOR);
3994
30.9k
    yyaccept = 4;
3995
30.9k
    yych = *(YYMARKER = ++YYCURSOR);
3996
30.9k
    if (yych == 'A') goto yy326;
3997
27.1k
    if (yych == 'a') goto yy326;
3998
16.1k
    goto yy48;
3999
16.1k
yy202:
4000
6.35k
    YYDEBUG(202, *YYCURSOR);
4001
6.35k
    yyaccept = 4;
4002
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
4003
6.35k
    if (yych == 'I') goto yy327;
4004
4.57k
    if (yych == 'i') goto yy327;
4005
629
    goto yy48;
4006
7.41k
yy203:
4007
7.41k
    YYDEBUG(203, *YYCURSOR);
4008
7.41k
    yyaccept = 4;
4009
7.41k
    yych = *(YYMARKER = ++YYCURSOR);
4010
7.41k
    if (yych == 'R') goto yy328;
4011
6.31k
    if (yych == 'r') goto yy328;
4012
1.49k
    goto yy48;
4013
27.4k
yy204:
4014
27.4k
    YYDEBUG(204, *YYCURSOR);
4015
27.4k
    yyaccept = 4;
4016
27.4k
    yych = *(YYMARKER = ++YYCURSOR);
4017
27.4k
    if (yych <= 'Y') {
4018
5.66k
      if (yych == 'A') goto yy329;
4019
2.67k
      if (yych <= 'X') goto yy48;
4020
1.13k
      goto yy330;
4021
21.7k
    } else {
4022
21.7k
      if (yych <= 'a') {
4023
3.67k
        if (yych <= '`') goto yy48;
4024
3.17k
        goto yy329;
4025
18.1k
      } else {
4026
18.1k
        if (yych == 'y') goto yy330;
4027
4.46k
        goto yy48;
4028
18.1k
      }
4029
21.7k
    }
4030
12.2k
yy205:
4031
12.2k
    YYDEBUG(205, *YYCURSOR);
4032
12.2k
    yyaccept = 4;
4033
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
4034
12.2k
    if (yych == 'S') goto yy332;
4035
10.5k
    if (yych == 's') goto yy332;
4036
2.63k
    goto yy48;
4037
10.4k
yy206:
4038
10.4k
    YYDEBUG(206, *YYCURSOR);
4039
10.4k
    yyaccept = 4;
4040
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
4041
10.4k
    if (yych == 'E') goto yy333;
4042
9.42k
    if (yych == 'e') goto yy333;
4043
962
    goto yy48;
4044
26.9k
yy207:
4045
26.9k
    YYDEBUG(207, *YYCURSOR);
4046
26.9k
    yyaccept = 4;
4047
26.9k
    yych = *(YYMARKER = ++YYCURSOR);
4048
26.9k
    if (yych == 'R') goto yy335;
4049
25.9k
    if (yych == 'r') goto yy335;
4050
2.68k
    goto yy48;
4051
5.49k
yy208:
4052
5.49k
    YYDEBUG(208, *YYCURSOR);
4053
5.49k
    yyaccept = 4;
4054
5.49k
    yych = *(YYMARKER = ++YYCURSOR);
4055
5.49k
    if (yych == 'I') goto yy337;
4056
3.64k
    if (yych == 'i') goto yy337;
4057
303
    goto yy48;
4058
6.34k
yy209:
4059
6.34k
    YYDEBUG(209, *YYCURSOR);
4060
6.34k
    yyaccept = 4;
4061
6.34k
    yych = *(YYMARKER = ++YYCURSOR);
4062
6.34k
    if (yych == 'R') goto yy338;
4063
5.05k
    if (yych == 'r') goto yy338;
4064
315
    goto yy48;
4065
131k
yy210:
4066
131k
    YYDEBUG(210, *YYCURSOR);
4067
131k
    yyaccept = 4;
4068
131k
    yych = *(YYMARKER = ++YYCURSOR);
4069
131k
    if (yych == 'E') goto yy340;
4070
130k
    if (yych == 'e') goto yy340;
4071
5.85k
    goto yy48;
4072
113k
yy211:
4073
113k
    YYDEBUG(211, *YYCURSOR);
4074
113k
    yyaccept = 13;
4075
113k
    YYMARKER = ++YYCURSOR;
4076
113k
    YYFILL(1);
4077
113k
    yych = *YYCURSOR;
4078
113k
    YYDEBUG(212, *YYCURSOR);
4079
113k
    if (yych <= '\\') {
4080
37.7k
      if (yych <= '@') {
4081
20.8k
        if (yych <= '/') goto yy213;
4082
6.18k
        if (yych <= '9') goto yy211;
4083
16.8k
      } else {
4084
16.8k
        if (yych <= 'Z') goto yy211;
4085
7.37k
        if (yych >= '\\') goto yy341;
4086
7.37k
      }
4087
75.9k
    } else {
4088
75.9k
      if (yych <= '`') {
4089
3.79k
        if (yych == '_') goto yy211;
4090
72.1k
      } else {
4091
72.1k
        if (yych <= 'z') goto yy211;
4092
15.8k
        if (yych >= 0x80) goto yy211;
4093
15.8k
      }
4094
75.9k
    }
4095
25.7k
yy213:
4096
25.7k
    YYDEBUG(213, *YYCURSOR);
4097
25.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
25.7k
#line 2447 "Zend/zend_language_scanner.l"
4099
25.7k
    {
4100
25.7k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
25.7k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
790
yy214:
4104
790
    YYDEBUG(214, *YYCURSOR);
4105
790
    ++YYCURSOR;
4106
790
    YYDEBUG(215, *YYCURSOR);
4107
790
    yyleng = YYCURSOR - SCNG(yy_text);
4108
790
#line 1910 "Zend/zend_language_scanner.l"
4109
790
    {
4110
790
  RETURN_TOKEN(T_XOR_EQUAL);
4111
790
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
103k
yy216:
4114
103k
    YYDEBUG(216, *YYCURSOR);
4115
103k
    yyaccept = 4;
4116
103k
    yych = *(YYMARKER = ++YYCURSOR);
4117
103k
    switch (yych) {
4118
4.05k
    case 'C':
4119
18.2k
    case 'c': goto yy342;
4120
5.09k
    case 'D':
4121
10.6k
    case 'd': goto yy343;
4122
8.07k
    case 'F':
4123
15.0k
    case 'f': goto yy344;
4124
1.64k
    case 'H':
4125
5.09k
    case 'h': goto yy345;
4126
3.01k
    case 'L':
4127
5.77k
    case 'l': goto yy346;
4128
4.23k
    case 'M':
4129
9.06k
    case 'm': goto yy347;
4130
5.29k
    case 'N':
4131
9.49k
    case 'n': goto yy348;
4132
5.99k
    case 'P':
4133
7.59k
    case 'p': goto yy349;
4134
2.96k
    case 'T':
4135
9.53k
    case 't': goto yy350;
4136
12.5k
    default:  goto yy48;
4137
103k
    }
4138
907
yy217:
4139
907
    YYDEBUG(217, *YYCURSOR);
4140
907
    ++YYCURSOR;
4141
907
    YYDEBUG(218, *YYCURSOR);
4142
907
    yyleng = YYCURSOR - SCNG(yy_text);
4143
907
#line 1906 "Zend/zend_language_scanner.l"
4144
907
    {
4145
907
  RETURN_TOKEN(T_OR_EQUAL);
4146
907
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
4.01k
yy219:
4149
4.01k
    YYDEBUG(219, *YYCURSOR);
4150
4.01k
    ++YYCURSOR;
4151
4.01k
    YYDEBUG(220, *YYCURSOR);
4152
4.01k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
4.01k
#line 1918 "Zend/zend_language_scanner.l"
4154
4.01k
    {
4155
4.01k
  RETURN_TOKEN(T_PIPE);
4156
4.01k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
5.31k
yy221:
4159
5.31k
    YYDEBUG(221, *YYCURSOR);
4160
5.31k
    ++YYCURSOR;
4161
5.31k
    YYDEBUG(222, *YYCURSOR);
4162
5.31k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
5.31k
#line 1922 "Zend/zend_language_scanner.l"
4164
5.31k
    {
4165
5.31k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
5.31k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
2.11k
yy223:
4169
2.11k
    YYDEBUG(223, *YYCURSOR);
4170
2.11k
    ++YYCURSOR;
4171
2.11k
    YYDEBUG(224, *YYCURSOR);
4172
2.11k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
2.11k
#line 1838 "Zend/zend_language_scanner.l"
4174
2.11k
    {
4175
2.11k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
2.11k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
1.06M
yy225:
4179
1.06M
    YYDEBUG(225, *YYCURSOR);
4180
1.06M
    ++YYCURSOR;
4181
1.06M
    YYFILL(1);
4182
1.06M
    yych = *YYCURSOR;
4183
1.06M
    YYDEBUG(226, *YYCURSOR);
4184
1.06M
    if (yybm[0+yych] & 2) {
4185
904k
      goto yy225;
4186
904k
    }
4187
158k
    if (yych <= 0x00) goto yy86;
4188
153k
    goto yy84;
4189
219k
yy227:
4190
219k
    YYDEBUG(227, *YYCURSOR);
4191
219k
    ++YYCURSOR;
4192
219k
    YYFILL(1);
4193
219k
    yych = *YYCURSOR;
4194
219k
    YYDEBUG(228, *YYCURSOR);
4195
219k
    if (yych <= 0x1F) {
4196
20.9k
      if (yych <= '\t') {
4197
3.03k
        if (yych <= 0x00) goto yy86;
4198
1.74k
        if (yych <= 0x08) goto yy225;
4199
1.09k
        goto yy227;
4200
17.9k
      } else {
4201
17.9k
        if (yych <= '\n') goto yy84;
4202
15.5k
        if (yych == '\r') goto yy84;
4203
5.39k
        goto yy225;
4204
15.5k
      }
4205
198k
    } else {
4206
198k
      if (yych <= '$') {
4207
8.02k
        if (yych <= ' ') goto yy227;
4208
7.69k
        if (yych <= '"') goto yy225;
4209
7.11k
        if (yych <= '#') goto yy351;
4210
1.45k
        goto yy352;
4211
190k
      } else {
4212
190k
        if (yych <= '-') goto yy225;
4213
140k
        if (yych <= '.') goto yy353;
4214
126k
        if (yych <= '/') goto yy354;
4215
49.2k
        goto yy225;
4216
126k
      }
4217
198k
    }
4218
1.71k
yy229:
4219
1.71k
    YYDEBUG(229, *YYCURSOR);
4220
1.71k
    yych = *++YYCURSOR;
4221
1.71k
    if (yych == '.') goto yy88;
4222
336
    goto yy86;
4223
1.95M
yy230:
4224
1.95M
    YYDEBUG(230, *YYCURSOR);
4225
1.95M
    ++YYCURSOR;
4226
1.95M
    YYFILL(1);
4227
1.95M
    yych = *YYCURSOR;
4228
1.95M
    YYDEBUG(231, *YYCURSOR);
4229
1.95M
    if (yybm[0+yych] & 4) {
4230
1.88M
      goto yy230;
4231
1.88M
    }
4232
66.5k
    if (yych <= 0x00) goto yy86;
4233
58.5k
    goto yy355;
4234
58.5k
yy232:
4235
23.1k
    YYDEBUG(232, *YYCURSOR);
4236
23.1k
    yych = *++YYCURSOR;
4237
23.1k
    if (yych == 'R') goto yy357;
4238
22.8k
    if (yych == 'r') goto yy357;
4239
1.13k
    goto yy86;
4240
2.73k
yy233:
4241
2.73k
    YYDEBUG(233, *YYCURSOR);
4242
2.73k
    yych = *++YYCURSOR;
4243
2.73k
    if (yych == 'N') goto yy358;
4244
2.34k
    if (yych == 'n') goto yy358;
4245
412
    goto yy86;
4246
5.89k
yy234:
4247
5.89k
    YYDEBUG(234, *YYCURSOR);
4248
5.89k
    yych = *++YYCURSOR;
4249
5.89k
    if (yych == 'O') goto yy359;
4250
4.25k
    if (yych == 'o') goto yy359;
4251
934
    goto yy86;
4252
3.18k
yy235:
4253
3.18k
    YYDEBUG(235, *YYCURSOR);
4254
3.18k
    yych = *++YYCURSOR;
4255
3.18k
    if (yych == 'U') goto yy360;
4256
2.96k
    if (yych == 'u') goto yy360;
4257
447
    goto yy86;
4258
4.89k
yy236:
4259
4.89k
    YYDEBUG(236, *YYCURSOR);
4260
4.89k
    yych = *++YYCURSOR;
4261
4.89k
    if (yych == 'O') goto yy361;
4262
2.77k
    if (yych == 'o') goto yy361;
4263
1.01k
    goto yy86;
4264
7.93k
yy237:
4265
7.93k
    YYDEBUG(237, *YYCURSOR);
4266
7.93k
    yych = *++YYCURSOR;
4267
7.93k
    if (yych == 'T') goto yy362;
4268
6.44k
    if (yych == 't') goto yy362;
4269
1.70k
    goto yy86;
4270
3.19k
yy238:
4271
3.19k
    YYDEBUG(238, *YYCURSOR);
4272
3.19k
    yych = *++YYCURSOR;
4273
3.19k
    if (yych == 'J') goto yy363;
4274
2.62k
    if (yych == 'j') goto yy363;
4275
336
    goto yy86;
4276
3.77k
yy239:
4277
3.77k
    YYDEBUG(239, *YYCURSOR);
4278
3.77k
    yych = *++YYCURSOR;
4279
3.77k
    if (yych == 'A') goto yy364;
4280
3.36k
    if (yych == 'a') goto yy364;
4281
1.87k
    goto yy86;
4282
7.54k
yy240:
4283
7.54k
    YYDEBUG(240, *YYCURSOR);
4284
7.54k
    yych = *++YYCURSOR;
4285
7.54k
    if (yych == 'R') goto yy365;
4286
6.98k
    if (yych == 'r') goto yy365;
4287
832
    goto yy86;
4288
5.79k
yy241:
4289
5.79k
    YYDEBUG(241, *YYCURSOR);
4290
5.79k
    yych = *++YYCURSOR;
4291
5.79k
    if (yych == 'S') goto yy366;
4292
5.38k
    if (yych == 's') goto yy366;
4293
961
    goto yy86;
4294
2.90k
yy242:
4295
2.90k
    YYDEBUG(242, *YYCURSOR);
4296
2.90k
    yych = *++YYCURSOR;
4297
2.90k
    if (yych == 'I') goto yy367;
4298
2.70k
    if (yych == 'i') goto yy367;
4299
270
    goto yy86;
4300
375
yy243:
4301
375
    YYDEBUG(243, *YYCURSOR);
4302
375
    ++YYCURSOR;
4303
375
    YYDEBUG(244, *YYCURSOR);
4304
375
    yyleng = YYCURSOR - SCNG(yy_text);
4305
375
#line 1878 "Zend/zend_language_scanner.l"
4306
375
    {
4307
375
  RETURN_TOKEN(T_POW_EQUAL);
4308
375
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
38.7k
yy245:
4311
38.7k
    YYDEBUG(245, *YYCURSOR);
4312
38.7k
    ++YYCURSOR;
4313
38.7k
    YYDEBUG(246, *YYCURSOR);
4314
38.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
38.7k
#line 1618 "Zend/zend_language_scanner.l"
4316
38.7k
    {
4317
38.7k
  RETURN_TOKEN(T_ELLIPSIS);
4318
38.7k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
1.70k
yy247:
4321
1.70k
    YYDEBUG(247, *YYCURSOR);
4322
1.70k
    ++YYCURSOR;
4323
1.70k
    YYFILL(1);
4324
1.70k
    yych = *YYCURSOR;
4325
1.70k
    if (yych <= '/') goto yy86;
4326
1.40k
    if (yych <= '9') goto yy123;
4327
295
    goto yy86;
4328
7.50k
yy248:
4329
7.50k
    YYDEBUG(248, *YYCURSOR);
4330
7.50k
    yych = *++YYCURSOR;
4331
7.50k
    if (yych <= '\f') {
4332
2.25k
      if (yych <= 0x08) goto yy86;
4333
1.94k
      if (yych <= '\n') goto yy368;
4334
470
      goto yy86;
4335
5.25k
    } else {
4336
5.25k
      if (yych <= '\r') goto yy368;
4337
4.77k
      if (yych == ' ') goto yy368;
4338
2.29k
      goto yy86;
4339
4.77k
    }
4340
110k
yy249:
4341
110k
    YYDEBUG(249, *YYCURSOR);
4342
110k
    yyaccept = 14;
4343
110k
    YYMARKER = ++YYCURSOR;
4344
110k
    YYFILL(1);
4345
110k
    yych = *YYCURSOR;
4346
110k
    YYDEBUG(250, *YYCURSOR);
4347
110k
    if (yybm[0+yych] & 8) {
4348
99.8k
      goto yy249;
4349
99.8k
    }
4350
10.3k
    if (yych == '_') goto yy134;
4351
7.31k
yy251:
4352
7.31k
    YYDEBUG(251, *YYCURSOR);
4353
7.31k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
7.31k
#line 2011 "Zend/zend_language_scanner.l"
4355
7.31k
    {
4356
  /* The +/- 2 skips "0b" */
4357
7.31k
  size_t len = yyleng - 2;
4358
7.31k
  char *end, *bin = yytext + 2;
4359
7.31k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
12.2k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
4.95k
    ++bin;
4364
4.95k
    --len;
4365
4.95k
  }
4366
4367
7.31k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
7.31k
  if (contains_underscores) {
4370
2.06k
    bin = estrndup(bin, len);
4371
2.06k
    strip_underscores(bin, &len);
4372
2.06k
  }
4373
4374
7.31k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
6.80k
    if (len == 0) {
4376
758
      ZVAL_LONG(zendlval, 0);
4377
6.05k
    } else {
4378
6.05k
      errno = 0;
4379
6.05k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
6.05k
      ZEND_ASSERT(!errno && end == bin + len);
4381
6.05k
    }
4382
6.80k
    if (contains_underscores) {
4383
1.85k
      efree(bin);
4384
1.85k
    }
4385
6.80k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
6.80k
  } else {
4387
502
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
502
    ZEND_ASSERT(end == bin + len);
4390
502
    if (contains_underscores) {
4391
215
      efree(bin);
4392
215
    }
4393
502
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
502
  }
4395
7.31k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
11.0k
yy252:
4398
11.0k
    YYDEBUG(252, *YYCURSOR);
4399
11.0k
    ++YYCURSOR;
4400
11.0k
    YYFILL(1);
4401
11.0k
    yych = *YYCURSOR;
4402
11.0k
    if (yych <= '/') goto yy86;
4403
10.4k
    if (yych >= ':') goto yy86;
4404
60.2k
yy253:
4405
60.2k
    YYDEBUG(253, *YYCURSOR);
4406
60.2k
    yyaccept = 5;
4407
60.2k
    YYMARKER = ++YYCURSOR;
4408
60.2k
    YYFILL(1);
4409
60.2k
    yych = *YYCURSOR;
4410
60.2k
    YYDEBUG(254, *YYCURSOR);
4411
60.2k
    if (yych <= '/') goto yy125;
4412
45.5k
    if (yych <= '9') goto yy253;
4413
10.0k
    if (yych == '_') goto yy252;
4414
8.51k
    goto yy125;
4415
13.2k
yy255:
4416
13.2k
    YYDEBUG(255, *YYCURSOR);
4417
13.2k
    yyaccept = 15;
4418
13.2k
    YYMARKER = ++YYCURSOR;
4419
13.2k
    YYFILL(1);
4420
13.2k
    yych = *YYCURSOR;
4421
13.2k
    YYDEBUG(256, *YYCURSOR);
4422
13.2k
    if (yybm[0+yych] & 16) {
4423
10.7k
      goto yy255;
4424
10.7k
    }
4425
2.52k
    if (yych == '_') goto yy136;
4426
1.61k
yy257:
4427
1.61k
    YYDEBUG(257, *YYCURSOR);
4428
1.61k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
1.61k
#line 2053 "Zend/zend_language_scanner.l"
4430
1.61k
    {
4431
  /* The +/- 2 skips "0o" */
4432
1.61k
  size_t len = yyleng - 2;
4433
1.61k
  char *end, *octal = yytext + 2;
4434
1.61k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
3.18k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
1.56k
    ++octal;
4439
1.56k
    --len;
4440
1.56k
  }
4441
4442
1.61k
  if (len == 0) {
4443
349
    ZVAL_LONG(zendlval, 0);
4444
349
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
349
  }
4446
4447
1.27k
  if (contains_underscores) {
4448
611
    octal = estrndup(octal, len);
4449
611
    strip_underscores(octal, &len);
4450
611
  }
4451
4452
1.27k
  errno = 0;
4453
4454
1.27k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
1.27k
  ZEND_ASSERT(end == octal + len);
4457
4458
1.27k
  if (!errno) {
4459
863
    if (contains_underscores) {
4460
399
      efree(octal);
4461
399
    }
4462
863
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
863
  }
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
48.6k
yy258:
4481
48.6k
    YYDEBUG(258, *YYCURSOR);
4482
48.6k
    yyaccept = 16;
4483
48.6k
    YYMARKER = ++YYCURSOR;
4484
48.6k
    YYFILL(1);
4485
48.6k
    yych = *YYCURSOR;
4486
48.6k
    YYDEBUG(259, *YYCURSOR);
4487
48.6k
    if (yybm[0+yych] & 32) {
4488
41.0k
      goto yy258;
4489
41.0k
    }
4490
7.65k
    if (yych == '_') goto yy137;
4491
5.37k
yy260:
4492
5.37k
    YYDEBUG(260, *YYCURSOR);
4493
5.37k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
5.37k
#line 2166 "Zend/zend_language_scanner.l"
4495
5.37k
    {
4496
  /* The +/- 2 skips "0x" */
4497
5.37k
  size_t len = yyleng - 2;
4498
5.37k
  char *end, *hex = yytext + 2;
4499
5.37k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
8.26k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
2.88k
    ++hex;
4504
2.88k
    --len;
4505
2.88k
  }
4506
4507
5.37k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
5.37k
  if (contains_underscores) {
4510
1.55k
    hex = estrndup(hex, len);
4511
1.55k
    strip_underscores(hex, &len);
4512
1.55k
  }
4513
4514
5.37k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
3.88k
    if (len == 0) {
4516
681
      ZVAL_LONG(zendlval, 0);
4517
3.20k
    } else {
4518
3.20k
      errno = 0;
4519
3.20k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
3.20k
      ZEND_ASSERT(!errno && end == hex + len);
4521
3.20k
    }
4522
3.88k
    if (contains_underscores) {
4523
764
      efree(hex);
4524
764
    }
4525
3.88k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
3.88k
  } else {
4527
1.48k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
1.48k
    ZEND_ASSERT(end == hex + len);
4530
1.48k
    if (contains_underscores) {
4531
786
      efree(hex);
4532
786
    }
4533
1.48k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
1.48k
  }
4535
5.37k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
2.37M
yy261:
4538
2.37M
    YYDEBUG(261, *YYCURSOR);
4539
2.37M
    ++YYCURSOR;
4540
2.37M
    YYFILL(2);
4541
2.37M
    yych = *YYCURSOR;
4542
2.37M
    YYDEBUG(262, *YYCURSOR);
4543
2.37M
    if (yych <= '\'') {
4544
36.6k
      if (yych <= ' ') {
4545
16.6k
        if (yych == '\t') goto yy261;
4546
15.1k
        if (yych <= 0x1F) goto yy86;
4547
3.03k
        goto yy261;
4548
19.9k
      } else {
4549
19.9k
        if (yych == '"') goto yy370;
4550
15.8k
        if (yych <= '&') goto yy86;
4551
10.3k
        goto yy371;
4552
15.8k
      }
4553
2.33M
    } else {
4554
2.33M
      if (yych <= '_') {
4555
348k
        if (yych <= '@') goto yy86;
4556
314k
        if (yych <= 'Z') goto yy372;
4557
5.75k
        if (yych <= '^') goto yy86;
4558
2.52k
        goto yy372;
4559
1.98M
      } else {
4560
1.98M
        if (yych <= '`') goto yy86;
4561
1.98M
        if (yych <= 'z') goto yy372;
4562
1.21M
        if (yych <= 0x7F) goto yy86;
4563
1.21M
        goto yy372;
4564
1.21M
      }
4565
2.33M
    }
4566
1.97k
yy263:
4567
1.97k
    YYDEBUG(263, *YYCURSOR);
4568
1.97k
    ++YYCURSOR;
4569
1.97k
    YYDEBUG(264, *YYCURSOR);
4570
1.97k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
1.97k
#line 1894 "Zend/zend_language_scanner.l"
4572
1.97k
    {
4573
1.97k
  RETURN_TOKEN(T_SL_EQUAL);
4574
1.97k
}
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
30.8k
yy267:
4587
30.8k
    YYDEBUG(267, *YYCURSOR);
4588
30.8k
    ++YYCURSOR;
4589
30.8k
    YYDEBUG(268, *YYCURSOR);
4590
30.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
30.8k
#line 1834 "Zend/zend_language_scanner.l"
4592
30.8k
    {
4593
30.8k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
30.8k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
345
yy269:
4597
345
    YYDEBUG(269, *YYCURSOR);
4598
345
    ++YYCURSOR;
4599
345
    YYDEBUG(270, *YYCURSOR);
4600
345
    yyleng = YYCURSOR - SCNG(yy_text);
4601
345
#line 1898 "Zend/zend_language_scanner.l"
4602
345
    {
4603
345
  RETURN_TOKEN(T_SR_EQUAL);
4604
345
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
10.5k
yy271:
4607
10.5k
    YYDEBUG(271, *YYCURSOR);
4608
10.5k
    ++YYCURSOR;
4609
10.5k
    YYDEBUG(272, *YYCURSOR);
4610
10.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
10.5k
#line 1592 "Zend/zend_language_scanner.l"
4612
10.5k
    {
4613
10.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
10.5k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
10.5k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
3.73k
yy273:
4618
3.73k
    YYDEBUG(273, *YYCURSOR);
4619
3.73k
    ++YYCURSOR;
4620
3.73k
    goto yy156;
4621
1.14k
yy274:
4622
1.14k
    YYDEBUG(274, *YYCURSOR);
4623
1.14k
    yych = *++YYCURSOR;
4624
1.14k
    if (yych == '\n') goto yy273;
4625
947
    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
8.95k
yy277:
4637
8.95k
    YYDEBUG(277, *YYCURSOR);
4638
8.95k
    yyaccept = 4;
4639
8.95k
    yych = *(YYMARKER = ++YYCURSOR);
4640
8.95k
    if (yych == 'T') goto yy374;
4641
5.41k
    if (yych == 't') goto yy374;
4642
332
    goto yy48;
4643
7.31k
yy278:
4644
7.31k
    YYDEBUG(278, *YYCURSOR);
4645
7.31k
    yyaccept = 17;
4646
7.31k
    yych = *(YYMARKER = ++YYCURSOR);
4647
7.31k
    if (yybm[256+yych] & 128) {
4648
414
      goto yy47;
4649
414
    }
4650
6.90k
    if (yych == '\\') goto yy164;
4651
6.90k
yy279:
4652
6.90k
    YYDEBUG(279, *YYCURSOR);
4653
6.90k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
6.90k
#line 1934 "Zend/zend_language_scanner.l"
4655
6.90k
    {
4656
6.90k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
6.90k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
30.2k
yy280:
4660
30.2k
    YYDEBUG(280, *YYCURSOR);
4661
30.2k
    yyaccept = 4;
4662
30.2k
    yych = *(YYMARKER = ++YYCURSOR);
4663
30.2k
    if (yych == 'A') goto yy375;
4664
28.8k
    if (yych == 'a') goto yy375;
4665
1.60k
    goto yy48;
4666
59.4k
yy281:
4667
59.4k
    YYDEBUG(281, *YYCURSOR);
4668
59.4k
    yyaccept = 18;
4669
59.4k
    YYMARKER = ++YYCURSOR;
4670
59.4k
    YYFILL(1);
4671
59.4k
    yych = *YYCURSOR;
4672
59.4k
    YYDEBUG(282, *YYCURSOR);
4673
59.4k
    if (yych <= '\\') {
4674
28.5k
      if (yych <= '@') {
4675
19.4k
        if (yych <= '/') goto yy283;
4676
9.95k
        if (yych <= '9') goto yy281;
4677
9.95k
      } else {
4678
9.09k
        if (yych <= 'Z') goto yy281;
4679
5.84k
        if (yych >= '\\') goto yy164;
4680
5.84k
      }
4681
30.8k
    } else {
4682
30.8k
      if (yych <= '`') {
4683
1.56k
        if (yych == '_') goto yy281;
4684
29.3k
      } else {
4685
29.3k
        if (yych <= 'z') goto yy281;
4686
15.4k
        if (yych >= 0x80) goto yy281;
4687
15.4k
      }
4688
30.8k
    }
4689
17.1k
yy283:
4690
17.1k
    YYDEBUG(283, *YYCURSOR);
4691
17.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
17.1k
#line 2443 "Zend/zend_language_scanner.l"
4693
17.1k
    {
4694
17.1k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
17.1k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
2.43k
yy284:
4698
2.43k
    YYDEBUG(284, *YYCURSOR);
4699
2.43k
    yych = *++YYCURSOR;
4700
2.43k
    if (yych == '<') goto yy261;
4701
594
    goto yy86;
4702
4.30k
yy285:
4703
4.30k
    YYDEBUG(285, *YYCURSOR);
4704
4.30k
    yyaccept = 4;
4705
4.30k
    yych = *(YYMARKER = ++YYCURSOR);
4706
4.30k
    if (yych == 'A') goto yy376;
4707
3.10k
    if (yych == 'a') goto yy376;
4708
350
    goto yy48;
4709
11.4k
yy286:
4710
11.4k
    YYDEBUG(286, *YYCURSOR);
4711
11.4k
    yyaccept = 4;
4712
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
4713
11.4k
    if (yych == 'L') goto yy377;
4714
8.80k
    if (yych == 'l') goto yy377;
4715
1.43k
    goto yy48;
4716
10.5k
yy287:
4717
10.5k
    YYDEBUG(287, *YYCURSOR);
4718
10.5k
    yyaccept = 4;
4719
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
4720
10.5k
    if (yych == 'E') goto yy378;
4721
6.66k
    if (yych == 'e') goto yy378;
4722
438
    goto yy48;
4723
11.4k
yy288:
4724
11.4k
    YYDEBUG(288, *YYCURSOR);
4725
11.4k
    yyaccept = 4;
4726
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
4727
11.4k
    if (yych == 'C') goto yy380;
4728
9.90k
    if (yych == 'c') goto yy380;
4729
479
    goto yy48;
4730
38.1k
yy289:
4731
38.1k
    YYDEBUG(289, *YYCURSOR);
4732
38.1k
    yyaccept = 4;
4733
38.1k
    yych = *(YYMARKER = ++YYCURSOR);
4734
38.1k
    if (yych == 'S') goto yy381;
4735
37.3k
    if (yych == 's') goto yy381;
4736
1.58k
    goto yy48;
4737
9.72k
yy290:
4738
9.72k
    YYDEBUG(290, *YYCURSOR);
4739
9.72k
    yyaccept = 4;
4740
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
4741
9.72k
    if (yych == 'N') goto yy382;
4742
8.06k
    if (yych == 'n') goto yy382;
4743
3.56k
    goto yy48;
4744
105k
yy291:
4745
105k
    YYDEBUG(291, *YYCURSOR);
4746
105k
    yyaccept = 4;
4747
105k
    yych = *(YYMARKER = ++YYCURSOR);
4748
105k
    if (yych <= 'T') {
4749
6.77k
      if (yych <= 'R') goto yy48;
4750
5.64k
      if (yych <= 'S') goto yy383;
4751
1.86k
      goto yy384;
4752
99.1k
    } else {
4753
99.1k
      if (yych <= 'r') goto yy48;
4754
98.4k
      if (yych <= 's') goto yy383;
4755
6.02k
      if (yych <= 't') goto yy384;
4756
426
      goto yy48;
4757
6.02k
    }
4758
9.03k
yy292:
4759
9.03k
    YYDEBUG(292, *YYCURSOR);
4760
9.03k
    yyaccept = 4;
4761
9.03k
    yych = *(YYMARKER = ++YYCURSOR);
4762
9.03k
    if (yych == 'L') goto yy385;
4763
6.49k
    if (yych == 'l') goto yy385;
4764
740
    goto yy48;
4765
8.05k
yy293:
4766
8.05k
    YYDEBUG(293, *YYCURSOR);
4767
8.05k
    yyaccept = 4;
4768
8.05k
    yych = *(YYMARKER = ++YYCURSOR);
4769
8.05k
    if (yych == 'A') goto yy386;
4770
6.54k
    if (yych == 'a') goto yy386;
4771
2.96k
    goto yy48;
4772
7.02k
yy294:
4773
7.02k
    YYDEBUG(294, *YYCURSOR);
4774
7.02k
    yyaccept = 19;
4775
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
4776
7.02k
    if (yybm[256+yych] & 128) {
4777
726
      goto yy47;
4778
726
    }
4779
6.30k
    if (yych == '\\') goto yy164;
4780
6.29k
yy295:
4781
6.29k
    YYDEBUG(295, *YYCURSOR);
4782
6.29k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
6.29k
#line 1403 "Zend/zend_language_scanner.l"
4784
6.29k
    {
4785
6.29k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
6.29k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
62.2k
yy296:
4789
62.2k
    YYDEBUG(296, *YYCURSOR);
4790
62.2k
    yyaccept = 4;
4791
62.2k
    yych = *(YYMARKER = ++YYCURSOR);
4792
62.2k
    if (yych == 'O') goto yy387;
4793
60.9k
    if (yych == 'o') goto yy387;
4794
1.85k
    goto yy48;
4795
12.5k
yy297:
4796
12.5k
    YYDEBUG(297, *YYCURSOR);
4797
12.5k
    yyaccept = 4;
4798
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
4799
12.5k
    if (yych == 'E') goto yy389;
4800
9.73k
    if (yych == 'e') goto yy389;
4801
1.02k
    goto yy48;
4802
4.64k
yy298:
4803
4.64k
    YYDEBUG(298, *YYCURSOR);
4804
4.64k
    yyaccept = 4;
4805
4.64k
    yych = *(YYMARKER = ++YYCURSOR);
4806
4.64k
    if (yych == 'T') goto yy391;
4807
2.40k
    if (yych == 't') goto yy391;
4808
400
    goto yy48;
4809
43.4k
yy299:
4810
43.4k
    YYDEBUG(299, *YYCURSOR);
4811
43.4k
    yyaccept = 4;
4812
43.4k
    yych = *(YYMARKER = ++YYCURSOR);
4813
43.4k
    switch (yych) {
4814
3.79k
    case 'D':
4815
7.75k
    case 'd': goto yy392;
4816
5.80k
    case 'F':
4817
13.1k
    case 'f': goto yy393;
4818
2.98k
    case 'I':
4819
6.21k
    case 'i': goto yy394;
4820
2.44k
    case 'S':
4821
4.82k
    case 's': goto yy395;
4822
2.14k
    case 'W':
4823
6.09k
    case 'w': goto yy396;
4824
5.35k
    default:  goto yy48;
4825
43.4k
    }
4826
149k
yy300:
4827
149k
    YYDEBUG(300, *YYCURSOR);
4828
149k
    yyaccept = 4;
4829
149k
    yych = *(YYMARKER = ++YYCURSOR);
4830
149k
    if (yych == 'M') goto yy397;
4831
147k
    if (yych == 'm') goto yy397;
4832
4.23k
    goto yy48;
4833
4.24k
yy301:
4834
4.24k
    YYDEBUG(301, *YYCURSOR);
4835
4.24k
    yyaccept = 4;
4836
4.24k
    yych = *(YYMARKER = ++YYCURSOR);
4837
4.24k
    if (yych == 'L') goto yy398;
4838
3.97k
    if (yych == 'l') goto yy398;
4839
679
    goto yy48;
4840
5.79k
yy302:
4841
5.79k
    YYDEBUG(302, *YYCURSOR);
4842
5.79k
    yyaccept = 4;
4843
5.79k
    yych = *(YYMARKER = ++YYCURSOR);
4844
5.79k
    if (yych == 'T') goto yy400;
4845
4.26k
    if (yych == 't') goto yy400;
4846
930
    goto yy48;
4847
28.9k
yy303:
4848
28.9k
    YYDEBUG(303, *YYCURSOR);
4849
28.9k
    yyaccept = 4;
4850
28.9k
    yych = *(YYMARKER = ++YYCURSOR);
4851
28.9k
    if (yych == 'E') goto yy402;
4852
26.2k
    if (yych == 'e') goto yy402;
4853
2.19k
    goto yy48;
4854
16.3k
yy304:
4855
16.3k
    YYDEBUG(304, *YYCURSOR);
4856
16.3k
    yyaccept = 4;
4857
16.3k
    yych = *(YYMARKER = ++YYCURSOR);
4858
16.3k
    if (yych == 'A') goto yy403;
4859
11.3k
    if (yych == 'a') goto yy403;
4860
708
    goto yy48;
4861
31.5k
yy305:
4862
31.5k
    YYDEBUG(305, *YYCURSOR);
4863
31.5k
    yyaccept = 20;
4864
31.5k
    yych = *(YYMARKER = ++YYCURSOR);
4865
31.5k
    if (yych <= '\\') {
4866
19.6k
      if (yych <= 'D') {
4867
16.8k
        if (yych <= '/') goto yy306;
4868
959
        if (yych <= '9') goto yy47;
4869
570
        if (yych >= 'A') goto yy47;
4870
2.83k
      } else {
4871
2.83k
        if (yych <= 'E') goto yy404;
4872
1.09k
        if (yych <= 'Z') goto yy47;
4873
595
        if (yych >= '\\') goto yy164;
4874
595
      }
4875
19.6k
    } else {
4876
11.8k
      if (yych <= 'd') {
4877
813
        if (yych == '_') goto yy47;
4878
446
        if (yych >= 'a') goto yy47;
4879
11.0k
      } else {
4880
11.0k
        if (yych <= 'e') goto yy404;
4881
3.04k
        if (yych <= 'z') goto yy47;
4882
602
        if (yych >= 0x80) goto yy47;
4883
602
      }
4884
11.8k
    }
4885
17.2k
yy306:
4886
17.2k
    YYDEBUG(306, *YYCURSOR);
4887
17.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
17.2k
#line 1482 "Zend/zend_language_scanner.l"
4889
17.2k
    {
4890
17.2k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
17.2k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
49.3k
yy307:
4894
49.3k
    YYDEBUG(307, *YYCURSOR);
4895
49.3k
    yyaccept = 4;
4896
49.3k
    yych = *(YYMARKER = ++YYCURSOR);
4897
49.3k
    if (yych == 'C') goto yy405;
4898
48.3k
    if (yych == 'c') goto yy405;
4899
3.90k
    goto yy48;
4900
8.27k
yy308:
4901
8.27k
    YYDEBUG(308, *YYCURSOR);
4902
8.27k
    yyaccept = 4;
4903
8.27k
    yych = *(YYMARKER = ++YYCURSOR);
4904
8.27k
    if (yych == 'B') goto yy406;
4905
3.67k
    if (yych == 'b') goto yy406;
4906
555
    goto yy48;
4907
7.17k
yy309:
4908
7.17k
    YYDEBUG(309, *YYCURSOR);
4909
7.17k
    yyaccept = 4;
4910
7.17k
    yych = *(YYMARKER = ++YYCURSOR);
4911
7.17k
    if (yych == 'O') goto yy407;
4912
4.87k
    if (yych == 'o') goto yy407;
4913
498
    goto yy48;
4914
32.8k
yy310:
4915
32.8k
    YYDEBUG(310, *YYCURSOR);
4916
32.8k
    yyaccept = 4;
4917
32.8k
    yych = *(YYMARKER = ++YYCURSOR);
4918
32.8k
    if (yych == 'L') goto yy409;
4919
26.5k
    if (yych == 'l') goto yy409;
4920
4.00k
    goto yy48;
4921
18.0k
yy311:
4922
18.0k
    YYDEBUG(311, *YYCURSOR);
4923
18.0k
    yyaccept = 4;
4924
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
4925
18.0k
    if (yych == 'L') goto yy410;
4926
13.9k
    if (yych == 'l') goto yy410;
4927
4.35k
    goto yy48;
4928
16.9k
yy312:
4929
16.9k
    YYDEBUG(312, *YYCURSOR);
4930
16.9k
    yyaccept = 4;
4931
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
4932
16.9k
    if (yych == 'T') goto yy411;
4933
12.6k
    if (yych == 't') goto yy411;
4934
493
    goto yy48;
4935
18.9k
yy313:
4936
18.9k
    YYDEBUG(313, *YYCURSOR);
4937
18.9k
    yyaccept = 4;
4938
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
4939
18.9k
    if (yych == 'E') goto yy412;
4940
16.3k
    if (yych == 'e') goto yy412;
4941
6.88k
    goto yy48;
4942
6.88k
yy314:
4943
6.29k
    YYDEBUG(314, *YYCURSOR);
4944
6.29k
    yyaccept = 4;
4945
6.29k
    yych = *(YYMARKER = ++YYCURSOR);
4946
6.29k
    if (yych == 'E') goto yy413;
4947
4.60k
    if (yych == 'e') goto yy413;
4948
689
    goto yy48;
4949
6.81k
yy315:
4950
6.81k
    YYDEBUG(315, *YYCURSOR);
4951
6.81k
    yyaccept = 4;
4952
6.81k
    yych = *(YYMARKER = ++YYCURSOR);
4953
6.81k
    if (yych == 'T') goto yy414;
4954
5.41k
    if (yych == 't') goto yy414;
4955
483
    goto yy48;
4956
3.97k
yy316:
4957
3.97k
    YYDEBUG(316, *YYCURSOR);
4958
3.97k
    yyaccept = 4;
4959
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
4960
3.97k
    if (yych == 'C') goto yy416;
4961
3.39k
    if (yych == 'c') goto yy416;
4962
252
    goto yy48;
4963
19.5k
yy317:
4964
19.5k
    YYDEBUG(317, *YYCURSOR);
4965
19.5k
    yyaccept = 4;
4966
19.5k
    yych = *(YYMARKER = ++YYCURSOR);
4967
19.5k
    if (yych == 'E') goto yy417;
4968
17.2k
    if (yych == 'e') goto yy417;
4969
1.83k
    goto yy48;
4970
27.2k
yy318:
4971
27.2k
    YYDEBUG(318, *YYCURSOR);
4972
27.2k
    yyaccept = 21;
4973
27.2k
    yych = *(YYMARKER = ++YYCURSOR);
4974
27.2k
    if (yybm[256+yych] & 128) {
4975
643
      goto yy47;
4976
643
    }
4977
26.5k
    if (yych == '\\') goto yy164;
4978
26.4k
yy319:
4979
26.4k
    YYDEBUG(319, *YYCURSOR);
4980
26.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
26.4k
#line 1626 "Zend/zend_language_scanner.l"
4982
26.4k
    {
4983
26.4k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
26.4k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
22.2k
yy320:
4987
22.2k
    YYDEBUG(320, *YYCURSOR);
4988
22.2k
    yyaccept = 4;
4989
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
4990
22.2k
    if (yych <= 'V') {
4991
7.84k
      if (yych == 'N') goto yy418;
4992
6.05k
      if (yych <= 'U') goto yy48;
4993
5.44k
      goto yy419;
4994
14.4k
    } else {
4995
14.4k
      if (yych <= 'n') {
4996
6.75k
        if (yych <= 'm') goto yy48;
4997
6.42k
        goto yy418;
4998
7.68k
      } else {
4999
7.68k
        if (yych == 'v') goto yy419;
5000
733
        goto yy48;
5001
7.68k
      }
5002
14.4k
    }
5003
10.7k
yy321:
5004
10.7k
    YYDEBUG(321, *YYCURSOR);
5005
10.7k
    yyaccept = 4;
5006
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
5007
10.7k
    if (yych == 'T') goto yy420;
5008
7.50k
    if (yych == 't') goto yy420;
5009
741
    goto yy48;
5010
33.1k
yy322:
5011
33.1k
    YYDEBUG(322, *YYCURSOR);
5012
33.1k
    yyaccept = 4;
5013
33.1k
    yych = *(YYMARKER = ++YYCURSOR);
5014
33.1k
    if (yych == 'L') goto yy421;
5015
30.1k
    if (yych == 'l') goto yy421;
5016
893
    goto yy48;
5017
7.00k
yy323:
5018
7.00k
    YYDEBUG(323, *YYCURSOR);
5019
7.00k
    yyaccept = 4;
5020
7.00k
    yych = *(YYMARKER = ++YYCURSOR);
5021
7.00k
    if (yych == 'D') goto yy422;
5022
6.65k
    if (yych == 'd') goto yy422;
5023
2.36k
    goto yy48;
5024
13.7k
yy324:
5025
13.7k
    YYDEBUG(324, *YYCURSOR);
5026
13.7k
    yyaccept = 4;
5027
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
5028
13.7k
    if (yych == 'U') goto yy423;
5029
11.3k
    if (yych == 'u') goto yy423;
5030
624
    goto yy48;
5031
12.6k
yy325:
5032
12.6k
    YYDEBUG(325, *YYCURSOR);
5033
12.6k
    yyaccept = 4;
5034
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5035
12.6k
    if (yych == 'U') goto yy424;
5036
11.2k
    if (yych == 'u') goto yy424;
5037
671
    goto yy48;
5038
14.7k
yy326:
5039
14.7k
    YYDEBUG(326, *YYCURSOR);
5040
14.7k
    yyaccept = 4;
5041
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
5042
14.7k
    if (yych == 'T') goto yy425;
5043
10.9k
    if (yych == 't') goto yy425;
5044
679
    goto yy48;
5045
5.72k
yy327:
5046
5.72k
    YYDEBUG(327, *YYCURSOR);
5047
5.72k
    yyaccept = 4;
5048
5.72k
    yych = *(YYMARKER = ++YYCURSOR);
5049
5.72k
    if (yych == 'T') goto yy426;
5050
4.75k
    if (yych == 't') goto yy426;
5051
539
    goto yy48;
5052
5.91k
yy328:
5053
5.91k
    YYDEBUG(328, *YYCURSOR);
5054
5.91k
    yyaccept = 4;
5055
5.91k
    yych = *(YYMARKER = ++YYCURSOR);
5056
5.91k
    if (yych == 'O') goto yy427;
5057
4.95k
    if (yych == 'o') goto yy427;
5058
590
    goto yy48;
5059
6.15k
yy329:
5060
6.15k
    YYDEBUG(329, *YYCURSOR);
5061
6.15k
    yyaccept = 4;
5062
6.15k
    yych = *(YYMARKER = ++YYCURSOR);
5063
6.15k
    if (yych == 'I') goto yy428;
5064
3.51k
    if (yych == 'i') goto yy428;
5065
678
    goto yy48;
5066
14.7k
yy330:
5067
14.7k
    YYDEBUG(330, *YYCURSOR);
5068
14.7k
    yyaccept = 22;
5069
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
5070
14.7k
    if (yybm[256+yych] & 128) {
5071
985
      goto yy47;
5072
985
    }
5073
13.7k
    if (yych == '\\') goto yy164;
5074
13.7k
yy331:
5075
13.7k
    YYDEBUG(331, *YYCURSOR);
5076
13.7k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
13.7k
#line 1438 "Zend/zend_language_scanner.l"
5078
13.7k
    {
5079
13.7k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
13.7k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
9.62k
yy332:
5083
9.62k
    YYDEBUG(332, *YYCURSOR);
5084
9.62k
    yyaccept = 4;
5085
9.62k
    yych = *(YYMARKER = ++YYCURSOR);
5086
9.62k
    if (yych == 'E') goto yy429;
5087
7.82k
    if (yych == 'e') goto yy429;
5088
589
    goto yy48;
5089
9.48k
yy333:
5090
9.48k
    YYDEBUG(333, *YYCURSOR);
5091
9.48k
    yyaccept = 23;
5092
9.48k
    yych = *(YYMARKER = ++YYCURSOR);
5093
9.48k
    if (yybm[256+yych] & 128) {
5094
669
      goto yy47;
5095
669
    }
5096
8.81k
    if (yych == '\\') goto yy164;
5097
8.78k
yy334:
5098
8.78k
    YYDEBUG(334, *YYCURSOR);
5099
8.78k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
8.78k
#line 1742 "Zend/zend_language_scanner.l"
5101
8.78k
    {
5102
8.78k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
8.78k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
24.2k
yy335:
5106
24.2k
    YYDEBUG(335, *YYCURSOR);
5107
24.2k
    yyaccept = 24;
5108
24.2k
    yych = *(YYMARKER = ++YYCURSOR);
5109
24.2k
    if (yybm[256+yych] & 128) {
5110
19.5k
      goto yy47;
5111
19.5k
    }
5112
4.66k
    if (yych == '\\') goto yy164;
5113
4.64k
yy336:
5114
4.64k
    YYDEBUG(336, *YYCURSOR);
5115
4.64k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
4.64k
#line 1634 "Zend/zend_language_scanner.l"
5117
4.64k
    {
5118
4.64k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
4.64k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
5.19k
yy337:
5122
5.19k
    YYDEBUG(337, *YYCURSOR);
5123
5.19k
    yyaccept = 4;
5124
5.19k
    yych = *(YYMARKER = ++YYCURSOR);
5125
5.19k
    if (yych == 'L') goto yy430;
5126
3.34k
    if (yych == 'l') goto yy430;
5127
547
    goto yy48;
5128
6.02k
yy338:
5129
6.02k
    YYDEBUG(338, *YYCURSOR);
5130
6.02k
    yyaccept = 25;
5131
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
5132
6.02k
    if (yybm[256+yych] & 128) {
5133
332
      goto yy47;
5134
332
    }
5135
5.69k
    if (yych == '\\') goto yy164;
5136
5.69k
yy339:
5137
5.69k
    YYDEBUG(339, *YYCURSOR);
5138
5.69k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
5.69k
#line 1938 "Zend/zend_language_scanner.l"
5140
5.69k
    {
5141
5.69k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
5.69k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
126k
yy340:
5145
126k
    YYDEBUG(340, *YYCURSOR);
5146
126k
    yyaccept = 4;
5147
126k
    yych = *(YYMARKER = ++YYCURSOR);
5148
126k
    if (yych == 'L') goto yy431;
5149
124k
    if (yych == 'l') goto yy431;
5150
6.25k
    goto yy48;
5151
6.64k
yy341:
5152
6.64k
    YYDEBUG(341, *YYCURSOR);
5153
6.64k
    ++YYCURSOR;
5154
6.64k
    YYFILL(1);
5155
6.64k
    yych = *YYCURSOR;
5156
6.64k
    if (yych <= '_') {
5157
3.87k
      if (yych <= '@') goto yy86;
5158
2.10k
      if (yych <= 'Z') goto yy211;
5159
1.36k
      if (yych <= '^') goto yy86;
5160
357
      goto yy211;
5161
2.76k
    } else {
5162
2.76k
      if (yych <= '`') goto yy86;
5163
2.44k
      if (yych <= 'z') goto yy211;
5164
1.11k
      if (yych <= 0x7F) goto yy86;
5165
594
      goto yy211;
5166
1.11k
    }
5167
18.2k
yy342:
5168
18.2k
    YYDEBUG(342, *YYCURSOR);
5169
18.2k
    yyaccept = 4;
5170
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
5171
18.2k
    if (yych == 'L') goto yy432;
5172
15.1k
    if (yych == 'l') goto yy432;
5173
5.23k
    goto yy48;
5174
10.6k
yy343:
5175
10.6k
    YYDEBUG(343, *YYCURSOR);
5176
10.6k
    yyaccept = 4;
5177
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
5178
10.6k
    if (yych == 'I') goto yy433;
5179
5.63k
    if (yych == 'i') goto yy433;
5180
1.50k
    goto yy48;
5181
15.0k
yy344:
5182
15.0k
    YYDEBUG(344, *YYCURSOR);
5183
15.0k
    yyaccept = 4;
5184
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
5185
15.0k
    if (yych <= 'U') {
5186
8.45k
      if (yych == 'I') goto yy434;
5187
5.29k
      if (yych <= 'T') goto yy48;
5188
4.90k
      goto yy435;
5189
6.59k
    } else {
5190
6.59k
      if (yych <= 'i') {
5191
1.94k
        if (yych <= 'h') goto yy48;
5192
1.66k
        goto yy434;
5193
4.65k
      } else {
5194
4.65k
        if (yych == 'u') goto yy435;
5195
482
        goto yy48;
5196
4.65k
      }
5197
6.59k
    }
5198
5.09k
yy345:
5199
5.09k
    YYDEBUG(345, *YYCURSOR);
5200
5.09k
    yyaccept = 4;
5201
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
5202
5.09k
    if (yych == 'A') goto yy436;
5203
3.73k
    if (yych == 'a') goto yy436;
5204
725
    goto yy48;
5205
5.77k
yy346:
5206
5.77k
    YYDEBUG(346, *YYCURSOR);
5207
5.77k
    yyaccept = 4;
5208
5.77k
    yych = *(YYMARKER = ++YYCURSOR);
5209
5.77k
    if (yych == 'I') goto yy437;
5210
2.83k
    if (yych == 'i') goto yy437;
5211
929
    goto yy48;
5212
9.06k
yy347:
5213
9.06k
    YYDEBUG(347, *YYCURSOR);
5214
9.06k
    yyaccept = 4;
5215
9.06k
    yych = *(YYMARKER = ++YYCURSOR);
5216
9.06k
    if (yych == 'E') goto yy438;
5217
5.05k
    if (yych == 'e') goto yy438;
5218
593
    goto yy48;
5219
9.49k
yy348:
5220
9.49k
    YYDEBUG(348, *YYCURSOR);
5221
9.49k
    yyaccept = 4;
5222
9.49k
    yych = *(YYMARKER = ++YYCURSOR);
5223
9.49k
    if (yych == 'A') goto yy439;
5224
4.48k
    if (yych == 'a') goto yy439;
5225
544
    goto yy48;
5226
7.59k
yy349:
5227
7.59k
    YYDEBUG(349, *YYCURSOR);
5228
7.59k
    yyaccept = 4;
5229
7.59k
    yych = *(YYMARKER = ++YYCURSOR);
5230
7.59k
    if (yych == 'R') goto yy440;
5231
3.28k
    if (yych == 'r') goto yy440;
5232
2.59k
    goto yy48;
5233
9.53k
yy350:
5234
9.53k
    YYDEBUG(350, *YYCURSOR);
5235
9.53k
    yyaccept = 4;
5236
9.53k
    yych = *(YYMARKER = ++YYCURSOR);
5237
9.53k
    if (yych == 'R') goto yy441;
5238
6.67k
    if (yych == 'r') goto yy441;
5239
1.54k
    goto yy48;
5240
5.66k
yy351:
5241
5.66k
    YYDEBUG(351, *YYCURSOR);
5242
5.66k
    ++YYCURSOR;
5243
5.66k
    YYFILL(1);
5244
5.66k
    yych = *YYCURSOR;
5245
5.66k
    if (yybm[0+yych] & 2) {
5246
1.65k
      goto yy225;
5247
1.65k
    }
5248
4.00k
    if (yych <= 0x00) goto yy86;
5249
3.73k
    goto yy227;
5250
3.73k
yy352:
5251
1.85k
    YYDEBUG(352, *YYCURSOR);
5252
1.85k
    yyaccept = 26;
5253
1.85k
    YYMARKER = ++YYCURSOR;
5254
1.85k
    YYFILL(1);
5255
1.85k
    yych = *YYCURSOR;
5256
1.85k
    if (yybm[0+yych] & 2) {
5257
1.18k
      goto yy225;
5258
1.18k
    }
5259
673
    if (yych <= 0x00) goto yy89;
5260
398
    goto yy84;
5261
14.4k
yy353:
5262
14.4k
    YYDEBUG(353, *YYCURSOR);
5263
14.4k
    ++YYCURSOR;
5264
14.4k
    YYFILL(1);
5265
14.4k
    yych = *YYCURSOR;
5266
14.4k
    if (yych <= '\f') {
5267
1.73k
      if (yych <= 0x00) goto yy86;
5268
1.43k
      if (yych == '\n') goto yy84;
5269
211
      goto yy225;
5270
12.7k
    } else {
5271
12.7k
      if (yych <= '\r') goto yy84;
5272
12.3k
      if (yych == '.') goto yy442;
5273
8.77k
      goto yy225;
5274
12.3k
    }
5275
77.0k
yy354:
5276
77.0k
    YYDEBUG(354, *YYCURSOR);
5277
77.0k
    ++YYCURSOR;
5278
77.0k
    YYFILL(1);
5279
77.0k
    yych = *YYCURSOR;
5280
77.0k
    if (yych <= '\f') {
5281
1.51k
      if (yych <= 0x00) goto yy86;
5282
1.17k
      if (yych == '\n') goto yy84;
5283
281
      goto yy225;
5284
75.5k
    } else {
5285
75.5k
      if (yych <= '\r') goto yy84;
5286
63.9k
      if (yych == '*') goto yy443;
5287
3.06k
      goto yy225;
5288
63.9k
    }
5289
60.7k
yy355:
5290
60.7k
    YYDEBUG(355, *YYCURSOR);
5291
60.7k
    ++YYCURSOR;
5292
60.7k
    YYFILL(1);
5293
60.7k
    yych = *YYCURSOR;
5294
60.7k
    YYDEBUG(356, *YYCURSOR);
5295
60.7k
    if (yybm[0+yych] & 64) {
5296
578
      goto yy355;
5297
578
    }
5298
60.1k
    if (yych <= 0x00) goto yy86;
5299
58.8k
    if (yych == '/') goto yy84;
5300
14.1k
    goto yy230;
5301
22.0k
yy357:
5302
22.0k
    YYDEBUG(357, *YYCURSOR);
5303
22.0k
    yych = *++YYCURSOR;
5304
22.0k
    if (yych == 'A') goto yy445;
5305
21.6k
    if (yych == 'a') goto yy445;
5306
1.27k
    goto yy86;
5307
2.32k
yy358:
5308
2.32k
    YYDEBUG(358, *YYCURSOR);
5309
2.32k
    yych = *++YYCURSOR;
5310
2.32k
    if (yych == 'A') goto yy446;
5311
1.98k
    if (yych == 'a') goto yy446;
5312
440
    goto yy86;
5313
4.96k
yy359:
5314
4.96k
    YYDEBUG(359, *YYCURSOR);
5315
4.96k
    yych = *++YYCURSOR;
5316
4.96k
    if (yych == 'L') goto yy447;
5317
4.09k
    if (yych == 'l') goto yy447;
5318
1.05k
    goto yy86;
5319
2.73k
yy360:
5320
2.73k
    YYDEBUG(360, *YYCURSOR);
5321
2.73k
    yych = *++YYCURSOR;
5322
2.73k
    if (yych == 'B') goto yy448;
5323
2.18k
    if (yych == 'b') goto yy448;
5324
384
    goto yy86;
5325
3.87k
yy361:
5326
3.87k
    YYDEBUG(361, *YYCURSOR);
5327
3.87k
    yych = *++YYCURSOR;
5328
3.87k
    if (yych == 'A') goto yy449;
5329
3.62k
    if (yych == 'a') goto yy449;
5330
361
    goto yy86;
5331
6.23k
yy362:
5332
6.23k
    YYDEBUG(362, *YYCURSOR);
5333
6.23k
    yych = *++YYCURSOR;
5334
6.23k
    if (yych == 'E') goto yy454;
5335
5.47k
    if (yych == 'e') goto yy454;
5336
2.90k
    goto yy451;
5337
2.90k
yy363:
5338
2.85k
    YYDEBUG(363, *YYCURSOR);
5339
2.85k
    yych = *++YYCURSOR;
5340
2.85k
    if (yych == 'E') goto yy455;
5341
2.59k
    if (yych == 'e') goto yy455;
5342
309
    goto yy86;
5343
1.89k
yy364:
5344
1.89k
    YYDEBUG(364, *YYCURSOR);
5345
1.89k
    yych = *++YYCURSOR;
5346
1.89k
    if (yych == 'L') goto yy456;
5347
1.06k
    if (yych == 'l') goto yy456;
5348
311
    goto yy86;
5349
6.70k
yy365:
5350
6.70k
    YYDEBUG(365, *YYCURSOR);
5351
6.70k
    yych = *++YYCURSOR;
5352
6.70k
    if (yych == 'I') goto yy458;
5353
6.13k
    if (yych == 'i') goto yy458;
5354
1.46k
    goto yy86;
5355
4.82k
yy366:
5356
4.82k
    YYDEBUG(366, *YYCURSOR);
5357
4.82k
    yych = *++YYCURSOR;
5358
4.82k
    if (yych == 'E') goto yy459;
5359
4.31k
    if (yych == 'e') goto yy459;
5360
427
    goto yy86;
5361
2.63k
yy367:
5362
2.63k
    YYDEBUG(367, *YYCURSOR);
5363
2.63k
    yych = *++YYCURSOR;
5364
2.63k
    if (yych == 'D') goto yy460;
5365
2.43k
    if (yych == 'd') goto yy460;
5366
316
    goto yy86;
5367
6.39k
yy368:
5368
6.39k
    YYDEBUG(368, *YYCURSOR);
5369
6.39k
    ++YYCURSOR;
5370
6.39k
    YYFILL(1);
5371
6.39k
    yych = *YYCURSOR;
5372
6.39k
    YYDEBUG(369, *YYCURSOR);
5373
6.39k
    if (yych <= '\f') {
5374
1.64k
      if (yych <= 0x08) goto yy129;
5375
1.05k
      if (yych <= '\n') goto yy368;
5376
589
      goto yy129;
5377
4.74k
    } else {
5378
4.74k
      if (yych <= '\r') goto yy368;
5379
4.02k
      if (yych == ' ') goto yy368;
5380
3.26k
      goto yy129;
5381
4.02k
    }
5382
4.09k
yy370:
5383
4.09k
    YYDEBUG(370, *YYCURSOR);
5384
4.09k
    yych = *++YYCURSOR;
5385
4.09k
    if (yych == '"') goto yy86;
5386
3.75k
    if (yych <= '/') goto yy463;
5387
2.81k
    if (yych <= '9') goto yy86;
5388
2.46k
    goto yy463;
5389
10.3k
yy371:
5390
10.3k
    YYDEBUG(371, *YYCURSOR);
5391
10.3k
    yych = *++YYCURSOR;
5392
10.3k
    if (yych == '\'') goto yy86;
5393
10.1k
    if (yych <= '/') goto yy465;
5394
9.92k
    if (yych <= '9') goto yy86;
5395
9.72k
    goto yy465;
5396
3.17M
yy372:
5397
3.17M
    YYDEBUG(372, *YYCURSOR);
5398
3.17M
    ++YYCURSOR;
5399
3.17M
    YYFILL(2);
5400
3.17M
    yych = *YYCURSOR;
5401
3.17M
    YYDEBUG(373, *YYCURSOR);
5402
3.17M
    if (yych <= '@') {
5403
2.36M
      if (yych <= '\f') {
5404
2.22M
        if (yych == '\n') goto yy466;
5405
13.0k
        goto yy86;
5406
2.22M
      } else {
5407
141k
        if (yych <= '\r') goto yy468;
5408
135k
        if (yych <= '/') goto yy86;
5409
99.7k
        if (yych <= '9') goto yy372;
5410
18.0k
        goto yy86;
5411
99.7k
      }
5412
2.36M
    } else {
5413
810k
      if (yych <= '_') {
5414
200k
        if (yych <= 'Z') goto yy372;
5415
11.7k
        if (yych <= '^') goto yy86;
5416
9.18k
        goto yy372;
5417
609k
      } else {
5418
609k
        if (yych <= '`') goto yy86;
5419
609k
        if (yych <= 'z') goto yy372;
5420
380k
        if (yych <= 0x7F) goto yy86;
5421
374k
        goto yy372;
5422
380k
      }
5423
810k
    }
5424
8.62k
yy374:
5425
8.62k
    YYDEBUG(374, *YYCURSOR);
5426
8.62k
    yyaccept = 4;
5427
8.62k
    yych = *(YYMARKER = ++YYCURSOR);
5428
8.62k
    if (yych == 'R') goto yy469;
5429
5.16k
    if (yych == 'r') goto yy469;
5430
470
    goto yy48;
5431
28.6k
yy375:
5432
28.6k
    YYDEBUG(375, *YYCURSOR);
5433
28.6k
    yyaccept = 4;
5434
28.6k
    yych = *(YYMARKER = ++YYCURSOR);
5435
28.6k
    if (yych == 'Y') goto yy470;
5436
27.6k
    if (yych == 'y') goto yy470;
5437
1.06k
    goto yy48;
5438
3.95k
yy376:
5439
3.95k
    YYDEBUG(376, *YYCURSOR);
5440
3.95k
    yyaccept = 4;
5441
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
5442
3.95k
    if (yych == 'K') goto yy472;
5443
2.75k
    if (yych == 'k') goto yy472;
5444
279
    goto yy48;
5445
10.0k
yy377:
5446
10.0k
    YYDEBUG(377, *YYCURSOR);
5447
10.0k
    yyaccept = 4;
5448
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
5449
10.0k
    if (yych == 'A') goto yy474;
5450
7.55k
    if (yych == 'a') goto yy474;
5451
5.08k
    goto yy48;
5452
10.1k
yy378:
5453
10.1k
    YYDEBUG(378, *YYCURSOR);
5454
10.1k
    yyaccept = 27;
5455
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
5456
10.1k
    if (yybm[256+yych] & 128) {
5457
848
      goto yy47;
5458
848
    }
5459
9.26k
    if (yych == '\\') goto yy164;
5460
9.25k
yy379:
5461
9.25k
    YYDEBUG(379, *YYCURSOR);
5462
9.25k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
9.25k
#line 1526 "Zend/zend_language_scanner.l"
5464
9.25k
    {
5465
9.25k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
9.25k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
10.9k
yy380:
5469
10.9k
    YYDEBUG(380, *YYCURSOR);
5470
10.9k
    yyaccept = 4;
5471
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
5472
10.9k
    if (yych == 'H') goto yy475;
5473
9.33k
    if (yych == 'h') goto yy475;
5474
418
    goto yy48;
5475
36.5k
yy381:
5476
36.5k
    YYDEBUG(381, *YYCURSOR);
5477
36.5k
    yyaccept = 4;
5478
36.5k
    yych = *(YYMARKER = ++YYCURSOR);
5479
36.5k
    if (yych == 'S') goto yy477;
5480
36.0k
    if (yych == 's') goto yy477;
5481
988
    goto yy48;
5482
6.15k
yy382:
5483
6.15k
    YYDEBUG(382, *YYCURSOR);
5484
6.15k
    yyaccept = 4;
5485
6.15k
    yych = *(YYMARKER = ++YYCURSOR);
5486
6.15k
    if (yych == 'E') goto yy479;
5487
4.83k
    if (yych == 'e') goto yy479;
5488
689
    goto yy48;
5489
96.2k
yy383:
5490
96.2k
    YYDEBUG(383, *YYCURSOR);
5491
96.2k
    yyaccept = 4;
5492
96.2k
    yych = *(YYMARKER = ++YYCURSOR);
5493
96.2k
    if (yych == 'T') goto yy481;
5494
92.5k
    if (yych == 't') goto yy481;
5495
1.10k
    goto yy48;
5496
7.45k
yy384:
5497
7.45k
    YYDEBUG(384, *YYCURSOR);
5498
7.45k
    yyaccept = 4;
5499
7.45k
    yych = *(YYMARKER = ++YYCURSOR);
5500
7.45k
    if (yych == 'I') goto yy483;
5501
6.03k
    if (yych == 'i') goto yy483;
5502
2.72k
    goto yy48;
5503
8.29k
yy385:
5504
8.29k
    YYDEBUG(385, *YYCURSOR);
5505
8.29k
    yyaccept = 4;
5506
8.29k
    yych = *(YYMARKER = ++YYCURSOR);
5507
8.29k
    if (yych == 'A') goto yy484;
5508
6.05k
    if (yych == 'a') goto yy484;
5509
367
    goto yy48;
5510
5.09k
yy386:
5511
5.09k
    YYDEBUG(386, *YYCURSOR);
5512
5.09k
    yyaccept = 4;
5513
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
5514
5.09k
    if (yych == 'U') goto yy485;
5515
3.76k
    if (yych == 'u') goto yy485;
5516
415
    goto yy48;
5517
60.3k
yy387:
5518
60.3k
    YYDEBUG(387, *YYCURSOR);
5519
60.3k
    yyaccept = 28;
5520
60.3k
    yych = *(YYMARKER = ++YYCURSOR);
5521
60.3k
    if (yybm[256+yych] & 128) {
5522
1.24k
      goto yy47;
5523
1.24k
    }
5524
59.1k
    if (yych == '\\') goto yy164;
5525
59.1k
yy388:
5526
59.1k
    YYDEBUG(388, *YYCURSOR);
5527
59.1k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
59.1k
#line 1546 "Zend/zend_language_scanner.l"
5529
59.1k
    {
5530
59.1k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
59.1k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
11.5k
yy389:
5534
11.5k
    YYDEBUG(389, *YYCURSOR);
5535
11.5k
    yyaccept = 29;
5536
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
5537
11.5k
    if (yych <= '\\') {
5538
6.59k
      if (yych <= 'H') {
5539
4.31k
        if (yych <= '/') goto yy390;
5540
1.57k
        if (yych <= '9') goto yy47;
5541
1.30k
        if (yych >= 'A') goto yy47;
5542
2.27k
      } else {
5543
2.27k
        if (yych <= 'I') goto yy486;
5544
772
        if (yych <= 'Z') goto yy47;
5545
454
        if (yych >= '\\') goto yy164;
5546
454
      }
5547
6.59k
    } else {
5548
4.93k
      if (yych <= 'h') {
5549
710
        if (yych == '_') goto yy47;
5550
482
        if (yych >= 'a') goto yy47;
5551
4.22k
      } else {
5552
4.22k
        if (yych <= 'i') goto yy486;
5553
836
        if (yych <= 'z') goto yy47;
5554
489
        if (yych >= 0x80) goto yy47;
5555
489
      }
5556
4.93k
    }
5557
4.78k
yy390:
5558
4.78k
    YYDEBUG(390, *YYCURSOR);
5559
4.78k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
4.78k
#line 1466 "Zend/zend_language_scanner.l"
5561
4.78k
    {
5562
4.78k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
4.78k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
4.24k
yy391:
5566
4.24k
    YYDEBUG(391, *YYCURSOR);
5567
4.24k
    yyaccept = 4;
5568
4.24k
    yych = *(YYMARKER = ++YYCURSOR);
5569
4.24k
    if (yych == 'Y') goto yy487;
5570
2.25k
    if (yych == 'y') goto yy487;
5571
674
    goto yy48;
5572
7.75k
yy392:
5573
7.75k
    YYDEBUG(392, *YYCURSOR);
5574
7.75k
    yyaccept = 4;
5575
7.75k
    yych = *(YYMARKER = ++YYCURSOR);
5576
7.75k
    if (yych == 'E') goto yy489;
5577
3.82k
    if (yych == 'e') goto yy489;
5578
320
    goto yy48;
5579
13.1k
yy393:
5580
13.1k
    YYDEBUG(393, *YYCURSOR);
5581
13.1k
    yyaccept = 4;
5582
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
5583
13.1k
    if (yych == 'O') goto yy490;
5584
7.29k
    if (yych == 'o') goto yy490;
5585
542
    goto yy48;
5586
6.21k
yy394:
5587
6.21k
    YYDEBUG(394, *YYCURSOR);
5588
6.21k
    yyaccept = 4;
5589
6.21k
    yych = *(YYMARKER = ++YYCURSOR);
5590
6.21k
    if (yych == 'F') goto yy491;
5591
4.69k
    if (yych == 'f') goto yy491;
5592
2.06k
    goto yy48;
5593
4.82k
yy395:
5594
4.82k
    YYDEBUG(395, *YYCURSOR);
5595
4.82k
    yyaccept = 4;
5596
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
5597
4.82k
    if (yych == 'W') goto yy493;
5598
2.52k
    if (yych == 'w') goto yy493;
5599
717
    goto yy48;
5600
6.09k
yy396:
5601
6.09k
    YYDEBUG(396, *YYCURSOR);
5602
6.09k
    yyaccept = 4;
5603
6.09k
    yych = *(YYMARKER = ++YYCURSOR);
5604
6.09k
    if (yych == 'H') goto yy494;
5605
3.93k
    if (yych == 'h') goto yy494;
5606
517
    goto yy48;
5607
145k
yy397:
5608
145k
    YYDEBUG(397, *YYCURSOR);
5609
145k
    yyaccept = 4;
5610
145k
    yych = *(YYMARKER = ++YYCURSOR);
5611
145k
    if (yych <= 0x1F) {
5612
125k
      if (yych <= '\n') {
5613
4.54k
        if (yych <= 0x08) goto yy48;
5614
3.97k
        goto yy495;
5615
120k
      } else {
5616
120k
        if (yych == '\r') goto yy495;
5617
1.57k
        goto yy48;
5618
120k
      }
5619
125k
    } else {
5620
20.1k
      if (yych <= '#') {
5621
14.7k
        if (yych <= ' ') goto yy495;
5622
7.48k
        if (yych <= '"') goto yy48;
5623
7.28k
        goto yy497;
5624
7.48k
      } else {
5625
5.47k
        if (yych == '/') goto yy498;
5626
5.15k
        goto yy48;
5627
5.47k
      }
5628
20.1k
    }
5629
3.56k
yy398:
5630
3.56k
    YYDEBUG(398, *YYCURSOR);
5631
3.56k
    yyaccept = 30;
5632
3.56k
    yych = *(YYMARKER = ++YYCURSOR);
5633
3.56k
    if (yybm[256+yych] & 128) {
5634
1.27k
      goto yy47;
5635
1.27k
    }
5636
2.29k
    if (yych == '\\') goto yy164;
5637
2.28k
yy399:
5638
2.28k
    YYDEBUG(399, *YYCURSOR);
5639
2.28k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
2.28k
#line 1718 "Zend/zend_language_scanner.l"
5641
2.28k
    {
5642
2.28k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
2.28k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
4.86k
yy400:
5646
4.86k
    YYDEBUG(400, *YYCURSOR);
5647
4.86k
    yyaccept = 31;
5648
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
5649
4.86k
    if (yybm[256+yych] & 128) {
5650
364
      goto yy47;
5651
364
    }
5652
4.49k
    if (yych == '\\') goto yy164;
5653
4.39k
yy401:
5654
4.39k
    YYDEBUG(401, *YYCURSOR);
5655
4.39k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
4.39k
#line 1399 "Zend/zend_language_scanner.l"
5657
4.39k
    {
5658
4.39k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
4.39k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
26.7k
yy402:
5662
26.7k
    YYDEBUG(402, *YYCURSOR);
5663
26.7k
    yyaccept = 4;
5664
26.7k
    yych = *(YYMARKER = ++YYCURSOR);
5665
26.7k
    if (yych == 'N') goto yy499;
5666
23.9k
    if (yych == 'n') goto yy499;
5667
8.53k
    goto yy48;
5668
15.6k
yy403:
5669
15.6k
    YYDEBUG(403, *YYCURSOR);
5670
15.6k
    yyaccept = 4;
5671
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
5672
15.6k
    if (yych == 'L') goto yy500;
5673
10.6k
    if (yych == 'l') goto yy500;
5674
528
    goto yy48;
5675
9.73k
yy404:
5676
9.73k
    YYDEBUG(404, *YYCURSOR);
5677
9.73k
    yyaccept = 4;
5678
9.73k
    yych = *(YYMARKER = ++YYCURSOR);
5679
9.73k
    if (yych == 'A') goto yy502;
5680
7.91k
    if (yych == 'a') goto yy502;
5681
216
    goto yy48;
5682
45.4k
yy405:
5683
45.4k
    YYDEBUG(405, *YYCURSOR);
5684
45.4k
    yyaccept = 4;
5685
45.4k
    yych = *(YYMARKER = ++YYCURSOR);
5686
45.4k
    if (yych == 'T') goto yy503;
5687
44.4k
    if (yych == 't') goto yy503;
5688
2.25k
    goto yy48;
5689
7.72k
yy406:
5690
7.72k
    YYDEBUG(406, *YYCURSOR);
5691
7.72k
    yyaccept = 4;
5692
7.72k
    yych = *(YYMARKER = ++YYCURSOR);
5693
7.72k
    if (yych == 'A') goto yy504;
5694
3.33k
    if (yych == 'a') goto yy504;
5695
533
    goto yy48;
5696
6.67k
yy407:
5697
6.67k
    YYDEBUG(407, *YYCURSOR);
5698
6.67k
    yyaccept = 32;
5699
6.67k
    yych = *(YYMARKER = ++YYCURSOR);
5700
6.67k
    if (yybm[256+yych] & 128) {
5701
1.00k
      goto yy47;
5702
1.00k
    }
5703
5.67k
    if (yych == '\\') goto yy164;
5704
5.53k
yy408:
5705
5.53k
    YYDEBUG(408, *YYCURSOR);
5706
5.53k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
5.53k
#line 1542 "Zend/zend_language_scanner.l"
5708
5.53k
    {
5709
5.53k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
5.53k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
28.8k
yy409:
5713
28.8k
    YYDEBUG(409, *YYCURSOR);
5714
28.8k
    yyaccept = 4;
5715
28.8k
    yych = *(YYMARKER = ++YYCURSOR);
5716
28.8k
    if (yych == 'E') goto yy505;
5717
16.8k
    if (yych == 'e') goto yy505;
5718
4.54k
    goto yy48;
5719
13.6k
yy410:
5720
13.6k
    YYDEBUG(410, *YYCURSOR);
5721
13.6k
    yyaccept = 4;
5722
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
5723
13.6k
    if (yych == 'U') goto yy506;
5724
9.91k
    if (yych == 'u') goto yy506;
5725
983
    goto yy48;
5726
16.4k
yy411:
5727
16.4k
    YYDEBUG(411, *YYCURSOR);
5728
16.4k
    yyaccept = 4;
5729
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
5730
16.4k
    if (yych <= 'E') {
5731
5.17k
      if (yych == 'A') goto yy507;
5732
2.54k
      if (yych <= 'D') goto yy48;
5733
1.97k
      goto yy508;
5734
11.3k
    } else {
5735
11.3k
      if (yych <= 'a') {
5736
4.45k
        if (yych <= '`') goto yy48;
5737
4.18k
        goto yy507;
5738
6.86k
      } else {
5739
6.86k
        if (yych == 'e') goto yy508;
5740
1.39k
        goto yy48;
5741
6.86k
      }
5742
11.3k
    }
5743
12.0k
yy412:
5744
12.0k
    YYDEBUG(412, *YYCURSOR);
5745
12.0k
    yyaccept = 4;
5746
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5747
12.0k
    if (yych == 'R') goto yy509;
5748
10.1k
    if (yych == 'r') goto yy509;
5749
3.49k
    goto yy48;
5750
5.60k
yy413:
5751
5.60k
    YYDEBUG(413, *YYCURSOR);
5752
5.60k
    yyaccept = 4;
5753
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
5754
5.60k
    if (yych == 'T') goto yy510;
5755
3.89k
    if (yych == 't') goto yy510;
5756
389
    goto yy48;
5757
6.33k
yy414:
5758
6.33k
    YYDEBUG(414, *YYCURSOR);
5759
6.33k
    yyaccept = 33;
5760
6.33k
    yych = *(YYMARKER = ++YYCURSOR);
5761
6.33k
    if (yybm[256+yych] & 128) {
5762
1.31k
      goto yy47;
5763
1.31k
    }
5764
5.02k
    if (yych == '\\') goto yy164;
5765
5.01k
yy415:
5766
5.01k
    YYDEBUG(415, *YYCURSOR);
5767
5.01k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
5.01k
#line 1814 "Zend/zend_language_scanner.l"
5769
5.01k
    {
5770
5.01k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
5.01k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
3.72k
yy416:
5774
3.72k
    YYDEBUG(416, *YYCURSOR);
5775
3.72k
    yyaccept = 4;
5776
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
5777
3.72k
    if (yych == 'H') goto yy512;
5778
3.50k
    if (yych == 'h') goto yy512;
5779
314
    goto yy48;
5780
17.7k
yy417:
5781
17.7k
    YYDEBUG(417, *YYCURSOR);
5782
17.7k
    yyaccept = 4;
5783
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
5784
17.7k
    if (yych == 'S') goto yy514;
5785
15.9k
    if (yych == 's') goto yy514;
5786
764
    goto yy48;
5787
8.22k
yy418:
5788
8.22k
    YYDEBUG(418, *YYCURSOR);
5789
8.22k
    yyaccept = 4;
5790
8.22k
    yych = *(YYMARKER = ++YYCURSOR);
5791
8.22k
    if (yych == 'T') goto yy515;
5792
6.99k
    if (yych == 't') goto yy515;
5793
569
    goto yy48;
5794
12.3k
yy419:
5795
12.3k
    YYDEBUG(419, *YYCURSOR);
5796
12.3k
    yyaccept = 4;
5797
12.3k
    yych = *(YYMARKER = ++YYCURSOR);
5798
12.3k
    if (yych == 'A') goto yy517;
5799
7.36k
    if (yych == 'a') goto yy517;
5800
457
    goto yy48;
5801
9.96k
yy420:
5802
9.96k
    YYDEBUG(420, *YYCURSOR);
5803
9.96k
    yyaccept = 4;
5804
9.96k
    yych = *(YYMARKER = ++YYCURSOR);
5805
9.96k
    if (yych == 'E') goto yy518;
5806
7.15k
    if (yych == 'e') goto yy518;
5807
1.28k
    goto yy48;
5808
32.2k
yy421:
5809
32.2k
    YYDEBUG(421, *YYCURSOR);
5810
32.2k
    yyaccept = 4;
5811
32.2k
    yych = *(YYMARKER = ++YYCURSOR);
5812
32.2k
    if (yych == 'I') goto yy519;
5813
29.4k
    if (yych == 'i') goto yy519;
5814
561
    goto yy48;
5815
4.64k
yy422:
5816
4.64k
    YYDEBUG(422, *YYCURSOR);
5817
4.64k
    yyaccept = 4;
5818
4.64k
    yych = *(YYMARKER = ++YYCURSOR);
5819
4.64k
    if (yych == 'O') goto yy520;
5820
4.30k
    if (yych == 'o') goto yy520;
5821
300
    goto yy48;
5822
13.1k
yy423:
5823
13.1k
    YYDEBUG(423, *YYCURSOR);
5824
13.1k
    yyaccept = 4;
5825
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
5826
13.1k
    if (yych == 'I') goto yy521;
5827
10.8k
    if (yych == 'i') goto yy521;
5828
614
    goto yy48;
5829
12.0k
yy424:
5830
12.0k
    YYDEBUG(424, *YYCURSOR);
5831
12.0k
    yyaccept = 4;
5832
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5833
12.0k
    if (yych == 'R') goto yy522;
5834
10.5k
    if (yych == 'r') goto yy522;
5835
523
    goto yy48;
5836
14.1k
yy425:
5837
14.1k
    YYDEBUG(425, *YYCURSOR);
5838
14.1k
    yyaccept = 4;
5839
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
5840
14.1k
    if (yych == 'I') goto yy523;
5841
10.1k
    if (yych == 'i') goto yy523;
5842
568
    goto yy48;
5843
5.18k
yy426:
5844
5.18k
    YYDEBUG(426, *YYCURSOR);
5845
5.18k
    yyaccept = 4;
5846
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
5847
5.18k
    if (yych == 'C') goto yy524;
5848
4.17k
    if (yych == 'c') goto yy524;
5849
324
    goto yy48;
5850
5.32k
yy427:
5851
5.32k
    YYDEBUG(427, *YYCURSOR);
5852
5.32k
    yyaccept = 4;
5853
5.32k
    yych = *(YYMARKER = ++YYCURSOR);
5854
5.32k
    if (yych == 'W') goto yy525;
5855
4.25k
    if (yych == 'w') goto yy525;
5856
581
    goto yy48;
5857
5.48k
yy428:
5858
5.48k
    YYDEBUG(428, *YYCURSOR);
5859
5.48k
    yyaccept = 4;
5860
5.48k
    yych = *(YYMARKER = ++YYCURSOR);
5861
5.48k
    if (yych == 'T') goto yy527;
5862
3.00k
    if (yych == 't') goto yy527;
5863
451
    goto yy48;
5864
9.03k
yy429:
5865
9.03k
    YYDEBUG(429, *YYCURSOR);
5866
9.03k
    yyaccept = 4;
5867
9.03k
    yych = *(YYMARKER = ++YYCURSOR);
5868
9.03k
    if (yych == 'T') goto yy529;
5869
7.53k
    if (yych == 't') goto yy529;
5870
3.46k
    goto yy48;
5871
4.64k
yy430:
5872
4.64k
    YYDEBUG(430, *YYCURSOR);
5873
4.64k
    yyaccept = 4;
5874
4.64k
    yych = *(YYMARKER = ++YYCURSOR);
5875
4.64k
    if (yych == 'E') goto yy531;
5876
2.83k
    if (yych == 'e') goto yy531;
5877
571
    goto yy48;
5878
119k
yy431:
5879
119k
    YYDEBUG(431, *YYCURSOR);
5880
119k
    yyaccept = 4;
5881
119k
    yych = *(YYMARKER = ++YYCURSOR);
5882
119k
    if (yych == 'D') goto yy533;
5883
118k
    if (yych == 'd') goto yy533;
5884
3.13k
    goto yy48;
5885
12.9k
yy432:
5886
12.9k
    YYDEBUG(432, *YYCURSOR);
5887
12.9k
    yyaccept = 4;
5888
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
5889
12.9k
    if (yych == 'A') goto yy535;
5890
9.76k
    if (yych == 'a') goto yy535;
5891
1.21k
    goto yy48;
5892
9.15k
yy433:
5893
9.15k
    YYDEBUG(433, *YYCURSOR);
5894
9.15k
    yyaccept = 4;
5895
9.15k
    yych = *(YYMARKER = ++YYCURSOR);
5896
9.15k
    if (yych == 'R') goto yy536;
5897
4.49k
    if (yych == 'r') goto yy536;
5898
1.49k
    goto yy48;
5899
4.81k
yy434:
5900
4.81k
    YYDEBUG(434, *YYCURSOR);
5901
4.81k
    yyaccept = 4;
5902
4.81k
    yych = *(YYMARKER = ++YYCURSOR);
5903
4.81k
    if (yych == 'L') goto yy537;
5904
2.18k
    if (yych == 'l') goto yy537;
5905
507
    goto yy48;
5906
9.07k
yy435:
5907
9.07k
    YYDEBUG(435, *YYCURSOR);
5908
9.07k
    yyaccept = 4;
5909
9.07k
    yych = *(YYMARKER = ++YYCURSOR);
5910
9.07k
    if (yych == 'N') goto yy538;
5911
4.61k
    if (yych == 'n') goto yy538;
5912
908
    goto yy48;
5913
4.37k
yy436:
5914
4.37k
    YYDEBUG(436, *YYCURSOR);
5915
4.37k
    yyaccept = 4;
5916
4.37k
    yych = *(YYMARKER = ++YYCURSOR);
5917
4.37k
    if (yych == 'L') goto yy539;
5918
2.95k
    if (yych == 'l') goto yy539;
5919
350
    goto yy48;
5920
4.84k
yy437:
5921
4.84k
    YYDEBUG(437, *YYCURSOR);
5922
4.84k
    yyaccept = 4;
5923
4.84k
    yych = *(YYMARKER = ++YYCURSOR);
5924
4.84k
    if (yych == 'N') goto yy540;
5925
1.64k
    if (yych == 'n') goto yy540;
5926
326
    goto yy48;
5927
8.47k
yy438:
5928
8.47k
    YYDEBUG(438, *YYCURSOR);
5929
8.47k
    yyaccept = 4;
5930
8.47k
    yych = *(YYMARKER = ++YYCURSOR);
5931
8.47k
    if (yych == 'T') goto yy541;
5932
4.49k
    if (yych == 't') goto yy541;
5933
565
    goto yy48;
5934
8.94k
yy439:
5935
8.94k
    YYDEBUG(439, *YYCURSOR);
5936
8.94k
    yyaccept = 4;
5937
8.94k
    yych = *(YYMARKER = ++YYCURSOR);
5938
8.94k
    if (yych == 'M') goto yy542;
5939
4.44k
    if (yych == 'm') goto yy542;
5940
876
    goto yy48;
5941
4.99k
yy440:
5942
4.99k
    YYDEBUG(440, *YYCURSOR);
5943
4.99k
    yyaccept = 4;
5944
4.99k
    yych = *(YYMARKER = ++YYCURSOR);
5945
4.99k
    if (yych == 'O') goto yy543;
5946
1.47k
    if (yych == 'o') goto yy543;
5947
532
    goto yy48;
5948
7.99k
yy441:
5949
7.99k
    YYDEBUG(441, *YYCURSOR);
5950
7.99k
    yyaccept = 4;
5951
7.99k
    yych = *(YYMARKER = ++YYCURSOR);
5952
7.99k
    if (yych == 'A') goto yy544;
5953
5.30k
    if (yych == 'a') goto yy544;
5954
1.22k
    goto yy48;
5955
3.53k
yy442:
5956
3.53k
    YYDEBUG(442, *YYCURSOR);
5957
3.53k
    ++YYCURSOR;
5958
3.53k
    YYFILL(1);
5959
3.53k
    yych = *YYCURSOR;
5960
3.53k
    if (yych <= '\f') {
5961
755
      if (yych <= 0x00) goto yy86;
5962
539
      if (yych == '\n') goto yy84;
5963
233
      goto yy225;
5964
2.77k
    } else {
5965
2.77k
      if (yych <= '\r') goto yy84;
5966
2.57k
      if (yych == '.') goto yy352;
5967
2.17k
      goto yy225;
5968
2.57k
    }
5969
1.16M
yy443:
5970
1.16M
    YYDEBUG(443, *YYCURSOR);
5971
1.16M
    ++YYCURSOR;
5972
1.16M
    YYFILL(1);
5973
1.16M
    yych = *YYCURSOR;
5974
1.16M
    YYDEBUG(444, *YYCURSOR);
5975
1.16M
    if (yybm[0+yych] & 128) {
5976
988k
      goto yy443;
5977
988k
    }
5978
178k
    if (yych <= 0x00) goto yy86;
5979
173k
    if (yych <= '\r') goto yy545;
5980
32.1k
    goto yy547;
5981
32.1k
yy445:
5982
20.7k
    YYDEBUG(445, *YYCURSOR);
5983
20.7k
    yych = *++YYCURSOR;
5984
20.7k
    if (yych == 'Y') goto yy549;
5985
20.4k
    if (yych == 'y') goto yy549;
5986
598
    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.91k
yy447:
5994
3.91k
    YYDEBUG(447, *YYCURSOR);
5995
3.91k
    yych = *++YYCURSOR;
5996
3.91k
    if (yych == 'E') goto yy556;
5997
2.45k
    if (yych == 'e') goto yy556;
5998
1.36k
    goto yy553;
5999
2.35k
yy448:
6000
2.35k
    YYDEBUG(448, *YYCURSOR);
6001
2.35k
    yych = *++YYCURSOR;
6002
2.35k
    if (yych == 'L') goto yy557;
6003
2.07k
    if (yych == 'l') goto yy557;
6004
500
    goto yy86;
6005
3.51k
yy449:
6006
3.51k
    YYDEBUG(449, *YYCURSOR);
6007
3.51k
    yych = *++YYCURSOR;
6008
3.51k
    if (yych == 'T') goto yy558;
6009
3.31k
    if (yych == 't') goto yy558;
6010
246
    goto yy86;
6011
2.11k
yy450:
6012
2.11k
    YYDEBUG(450, *YYCURSOR);
6013
2.11k
    ++YYCURSOR;
6014
2.11k
    YYFILL(1);
6015
2.11k
    yych = *YYCURSOR;
6016
5.01k
yy451:
6017
5.01k
    YYDEBUG(451, *YYCURSOR);
6018
5.01k
    if (yych <= 0x1F) {
6019
1.76k
      if (yych == '\t') goto yy450;
6020
274
      goto yy86;
6021
3.24k
    } else {
6022
3.24k
      if (yych <= ' ') goto yy450;
6023
2.62k
      if (yych != ')') goto yy86;
6024
2.62k
    }
6025
1.01k
    YYDEBUG(452, *YYCURSOR);
6026
1.01k
    ++YYCURSOR;
6027
1.01k
    YYDEBUG(453, *YYCURSOR);
6028
1.01k
    yyleng = YYCURSOR - SCNG(yy_text);
6029
1.01k
#line 1638 "Zend/zend_language_scanner.l"
6030
1.01k
    {
6031
1.01k
  RETURN_TOKEN(T_INT_CAST);
6032
1.01k
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
3.32k
yy454:
6035
3.32k
    YYDEBUG(454, *YYCURSOR);
6036
3.32k
    yych = *++YYCURSOR;
6037
3.32k
    if (yych == 'G') goto yy560;
6038
2.84k
    if (yych == 'g') goto yy560;
6039
1.34k
    goto yy86;
6040
2.54k
yy455:
6041
2.54k
    YYDEBUG(455, *YYCURSOR);
6042
2.54k
    yych = *++YYCURSOR;
6043
2.54k
    if (yych == 'C') goto yy561;
6044
2.29k
    if (yych == 'c') goto yy561;
6045
364
    goto yy86;
6046
2.45k
yy456:
6047
2.45k
    YYDEBUG(456, *YYCURSOR);
6048
2.45k
    ++YYCURSOR;
6049
2.45k
    YYFILL(1);
6050
2.45k
    yych = *YYCURSOR;
6051
2.45k
    YYDEBUG(457, *YYCURSOR);
6052
2.45k
    if (yych <= 0x1F) {
6053
600
      if (yych == '\t') goto yy456;
6054
335
      goto yy86;
6055
1.85k
    } else {
6056
1.85k
      if (yych <= ' ') goto yy456;
6057
1.25k
      if (yych == ')') goto yy562;
6058
589
      goto yy86;
6059
1.25k
    }
6060
5.24k
yy458:
6061
5.24k
    YYDEBUG(458, *YYCURSOR);
6062
5.24k
    yych = *++YYCURSOR;
6063
5.24k
    if (yych == 'N') goto yy564;
6064
5.04k
    if (yych == 'n') goto yy564;
6065
1.21k
    goto yy86;
6066
4.40k
yy459:
6067
4.40k
    YYDEBUG(459, *YYCURSOR);
6068
4.40k
    yych = *++YYCURSOR;
6069
4.40k
    if (yych == 'T') goto yy565;
6070
4.18k
    if (yych == 't') goto yy565;
6071
3.00k
    goto yy86;
6072
3.26k
yy460:
6073
3.26k
    YYDEBUG(460, *YYCURSOR);
6074
3.26k
    ++YYCURSOR;
6075
3.26k
    YYFILL(1);
6076
3.26k
    yych = *YYCURSOR;
6077
3.26k
    YYDEBUG(461, *YYCURSOR);
6078
3.26k
    if (yych <= 0x1F) {
6079
891
      if (yych == '\t') goto yy460;
6080
413
      goto yy86;
6081
2.37k
    } else {
6082
2.37k
      if (yych <= ' ') goto yy460;
6083
1.90k
      if (yych == ')') goto yy567;
6084
417
      goto yy86;
6085
1.90k
    }
6086
4.31k
yy462:
6087
4.31k
    YYDEBUG(462, *YYCURSOR);
6088
4.31k
    ++YYCURSOR;
6089
4.31k
    YYFILL(3);
6090
4.31k
    yych = *YYCURSOR;
6091
7.72k
yy463:
6092
7.72k
    YYDEBUG(463, *YYCURSOR);
6093
7.72k
    if (yych <= 'Z') {
6094
3.34k
      if (yych <= '/') {
6095
1.61k
        if (yych == '"') goto yy569;
6096
1.19k
        goto yy86;
6097
1.73k
      } else {
6098
1.73k
        if (yych <= '9') goto yy462;
6099
1.46k
        if (yych <= '@') goto yy86;
6100
907
        goto yy462;
6101
1.46k
      }
6102
4.38k
    } else {
6103
4.38k
      if (yych <= '`') {
6104
624
        if (yych == '_') goto yy462;
6105
420
        goto yy86;
6106
3.75k
      } else {
6107
3.75k
        if (yych <= 'z') goto yy462;
6108
1.28k
        if (yych <= 0x7F) goto yy86;
6109
459
        goto yy462;
6110
1.28k
      }
6111
4.38k
    }
6112
26.2k
yy464:
6113
26.2k
    YYDEBUG(464, *YYCURSOR);
6114
26.2k
    ++YYCURSOR;
6115
26.2k
    YYFILL(3);
6116
26.2k
    yych = *YYCURSOR;
6117
36.2k
yy465:
6118
36.2k
    YYDEBUG(465, *YYCURSOR);
6119
36.2k
    if (yych <= 'Z') {
6120
16.2k
      if (yych <= '/') {
6121
8.85k
        if (yych == '\'') goto yy569;
6122
553
        goto yy86;
6123
8.85k
      } else {
6124
7.39k
        if (yych <= '9') goto yy464;
6125
6.24k
        if (yych <= '@') goto yy86;
6126
5.59k
        goto yy464;
6127
6.24k
      }
6128
19.9k
    } else {
6129
19.9k
      if (yych <= '`') {
6130
675
        if (yych == '_') goto yy464;
6131
212
        goto yy86;
6132
19.2k
      } else {
6133
19.2k
        if (yych <= 'z') goto yy464;
6134
4.24k
        if (yych <= 0x7F) goto yy86;
6135
4.02k
        goto yy464;
6136
4.24k
      }
6137
19.9k
    }
6138
2.21M
yy466:
6139
2.21M
    YYDEBUG(466, *YYCURSOR);
6140
2.21M
    ++YYCURSOR;
6141
2.22M
yy467:
6142
2.22M
    YYDEBUG(467, *YYCURSOR);
6143
2.22M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
2.22M
#line 2678 "Zend/zend_language_scanner.l"
6145
2.22M
    {
6146
2.22M
  char *s;
6147
2.22M
  unsigned char *saved_cursor;
6148
2.22M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
2.22M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
2.22M
  bool is_heredoc = 1;
6151
6152
2.22M
  CG(zend_lineno)++;
6153
2.22M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
2.22M
  s = yytext+bprefix+3;
6155
2.22M
  while ((*s == ' ') || (*s == '\t')) {
6156
2.70k
    s++;
6157
2.70k
    heredoc_label->length--;
6158
2.70k
  }
6159
6160
2.22M
  if (*s == '\'') {
6161
7.99k
    s++;
6162
7.99k
    heredoc_label->length -= 2;
6163
7.99k
    is_heredoc = 0;
6164
6165
7.99k
    BEGIN(ST_NOWDOC);
6166
2.21M
  } else {
6167
2.21M
    if (*s == '"') {
6168
372
      s++;
6169
372
      heredoc_label->length -= 2;
6170
372
    }
6171
6172
2.21M
    BEGIN(ST_HEREDOC);
6173
2.21M
  }
6174
6175
2.22M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
2.22M
  heredoc_label->indentation_uses_spaces = 0;
6177
2.22M
  heredoc_label->indentation = 0;
6178
2.22M
  saved_cursor = YYCURSOR;
6179
6180
2.22M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
2.65M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
427k
    if (*YYCURSOR == '\t') {
6184
36.7k
      spacing |= HEREDOC_USING_TABS;
6185
390k
    } else {
6186
390k
      spacing |= HEREDOC_USING_SPACES;
6187
390k
    }
6188
427k
    ++YYCURSOR;
6189
427k
    ++indentation;
6190
427k
  }
6191
6192
2.22M
  if (YYCURSOR == YYLIMIT) {
6193
788
    YYCURSOR = saved_cursor;
6194
788
    RETURN_TOKEN(T_START_HEREDOC);
6195
788
  }
6196
6197
  /* Check for ending label on the next line */
6198
2.22M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
4.16k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
1.53k
      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.53k
      YYCURSOR = saved_cursor;
6208
1.53k
      heredoc_label->indentation = indentation;
6209
6210
1.53k
      BEGIN(ST_END_HEREDOC);
6211
1.53k
      RETURN_TOKEN(T_START_HEREDOC);
6212
1.53k
    }
6213
4.16k
  }
6214
6215
2.22M
  YYCURSOR = saved_cursor;
6216
6217
2.22M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
119k
    zend_lex_state current_state;
6219
119k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
119k
    int heredoc_nesting_level = 1;
6221
119k
    int first_token = 0;
6222
119k
    int error = 0;
6223
6224
119k
    zend_save_lexical_state(&current_state);
6225
6226
119k
    SCNG(heredoc_scan_ahead) = 1;
6227
119k
    SCNG(heredoc_indentation) = 0;
6228
119k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
119k
    SCNG(on_event_context) = NULL;
6230
119k
    LANG_SCNG(on_event) = NULL;
6231
119k
    CG(doc_comment) = NULL;
6232
6233
119k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
119k
    zend_object *prev_exception = EG(exception);
6236
119k
    EG(exception) = NULL;
6237
16.7M
    while (heredoc_nesting_level) {
6238
16.7M
      zval zv;
6239
16.7M
      int retval;
6240
6241
16.7M
      ZVAL_UNDEF(&zv);
6242
16.7M
      retval = lex_scan(&zv, NULL);
6243
16.7M
      zval_ptr_dtor_nogc(&zv);
6244
6245
16.7M
      if (EG(exception)) {
6246
116k
        zend_clear_exception();
6247
116k
        break;
6248
116k
      }
6249
6250
16.6M
      if (!first_token) {
6251
119k
        first_token = retval;
6252
119k
      }
6253
6254
16.6M
      switch (retval) {
6255
2.10M
        case T_START_HEREDOC:
6256
2.10M
          ++heredoc_nesting_level;
6257
2.10M
          break;
6258
11.8k
        case T_END_HEREDOC:
6259
11.8k
          --heredoc_nesting_level;
6260
11.8k
          break;
6261
1.22k
        case END:
6262
1.22k
          heredoc_nesting_level = 0;
6263
16.6M
      }
6264
16.6M
    }
6265
119k
    EG(exception) = prev_exception;
6266
6267
119k
    if (
6268
119k
        (first_token == T_VARIABLE
6269
115k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6270
27.7k
         || first_token == T_CURLY_OPEN
6271
119k
        ) && SCNG(heredoc_indentation)) {
6272
4
      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
4
      error = 1;
6274
4
    }
6275
6276
119k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6277
119k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6278
6279
119k
    zend_restore_lexical_state(&current_state);
6280
119k
    SCNG(heredoc_scan_ahead) = 0;
6281
119k
    CG(increment_lineno) = 0;
6282
119k
    CG(doc_comment) = saved_doc_comment;
6283
6284
119k
    if (PARSER_MODE() && error) {
6285
1
      RETURN_TOKEN(T_ERROR);
6286
1
    }
6287
119k
  }
6288
6289
2.22M
  RETURN_TOKEN(T_START_HEREDOC);
6290
2.22M
}
6291
0
#line 6292 "Zend/zend_language_scanner.c"
6292
7.65k
yy468:
6293
7.65k
    YYDEBUG(468, *YYCURSOR);
6294
7.65k
    yych = *++YYCURSOR;
6295
7.65k
    if (yych == '\n') goto yy466;
6296
7.19k
    goto yy467;
6297
8.15k
yy469:
6298
8.15k
    YYDEBUG(469, *YYCURSOR);
6299
8.15k
    yyaccept = 4;
6300
8.15k
    yych = *(YYMARKER = ++YYCURSOR);
6301
8.15k
    if (yych == 'A') goto yy570;
6302
4.72k
    if (yych == 'a') goto yy570;
6303
419
    goto yy48;
6304
27.6k
yy470:
6305
27.6k
    YYDEBUG(470, *YYCURSOR);
6306
27.6k
    yyaccept = 34;
6307
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
6308
27.6k
    if (yybm[256+yych] & 128) {
6309
4.63k
      goto yy47;
6310
4.63k
    }
6311
22.9k
    if (yych == '\\') goto yy164;
6312
22.9k
yy471:
6313
22.9k
    YYDEBUG(471, *YYCURSOR);
6314
22.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6315
22.9k
#line 1818 "Zend/zend_language_scanner.l"
6316
22.9k
    {
6317
22.9k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6318
22.9k
}
6319
0
#line 6320 "Zend/zend_language_scanner.c"
6320
3.67k
yy472:
6321
3.67k
    YYDEBUG(472, *YYCURSOR);
6322
3.67k
    yyaccept = 35;
6323
3.67k
    yych = *(YYMARKER = ++YYCURSOR);
6324
3.67k
    if (yybm[256+yych] & 128) {
6325
541
      goto yy47;
6326
541
    }
6327
3.13k
    if (yych == '\\') goto yy164;
6328
3.13k
yy473:
6329
3.13k
    YYDEBUG(473, *YYCURSOR);
6330
3.13k
    yyleng = YYCURSOR - SCNG(yy_text);
6331
3.13k
#line 1534 "Zend/zend_language_scanner.l"
6332
3.13k
    {
6333
3.13k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6334
3.13k
}
6335
0
#line 6336 "Zend/zend_language_scanner.c"
6336
4.93k
yy474:
6337
4.93k
    YYDEBUG(474, *YYCURSOR);
6338
4.93k
    yyaccept = 4;
6339
4.93k
    yych = *(YYMARKER = ++YYCURSOR);
6340
4.93k
    if (yych == 'B') goto yy571;
6341
2.19k
    if (yych == 'b') goto yy571;
6342
259
    goto yy48;
6343
10.5k
yy475:
6344
10.5k
    YYDEBUG(475, *YYCURSOR);
6345
10.5k
    yyaccept = 36;
6346
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6347
10.5k
    if (yybm[256+yych] & 128) {
6348
555
      goto yy47;
6349
555
    }
6350
9.96k
    if (yych == '\\') goto yy164;
6351
9.81k
yy476:
6352
9.81k
    YYDEBUG(476, *YYCURSOR);
6353
9.81k
    yyleng = YYCURSOR - SCNG(yy_text);
6354
9.81k
#line 1442 "Zend/zend_language_scanner.l"
6355
9.81k
    {
6356
9.81k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6357
9.81k
}
6358
0
#line 6359 "Zend/zend_language_scanner.c"
6359
35.5k
yy477:
6360
35.5k
    YYDEBUG(477, *YYCURSOR);
6361
35.5k
    yyaccept = 37;
6362
35.5k
    yych = *(YYMARKER = ++YYCURSOR);
6363
35.5k
    if (yybm[256+yych] & 128) {
6364
1.34k
      goto yy47;
6365
1.34k
    }
6366
34.1k
    if (yych == '\\') goto yy164;
6367
34.1k
yy478:
6368
34.1k
    YYDEBUG(478, *YYCURSOR);
6369
34.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6370
34.1k
#line 1554 "Zend/zend_language_scanner.l"
6371
34.1k
    {
6372
34.1k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6373
34.1k
}
6374
0
#line 6375 "Zend/zend_language_scanner.c"
6375
5.46k
yy479:
6376
5.46k
    YYDEBUG(479, *YYCURSOR);
6377
5.46k
    yyaccept = 38;
6378
5.46k
    yych = *(YYMARKER = ++YYCURSOR);
6379
5.46k
    if (yybm[256+yych] & 128) {
6380
540
      goto yy47;
6381
540
    }
6382
4.92k
    if (yych == '\\') goto yy164;
6383
4.91k
yy480:
6384
4.91k
    YYDEBUG(480, *YYCURSOR);
6385
4.91k
    yyleng = YYCURSOR - SCNG(yy_text);
6386
4.91k
#line 1630 "Zend/zend_language_scanner.l"
6387
4.91k
    {
6388
4.91k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6389
4.91k
}
6390
0
#line 6391 "Zend/zend_language_scanner.c"
6391
95.1k
yy481:
6392
95.1k
    YYDEBUG(481, *YYCURSOR);
6393
95.1k
    yyaccept = 39;
6394
95.1k
    yych = *(YYMARKER = ++YYCURSOR);
6395
95.1k
    if (yybm[256+yych] & 128) {
6396
4.68k
      goto yy47;
6397
4.68k
    }
6398
90.4k
    if (yych == '\\') goto yy164;
6399
90.4k
yy482:
6400
90.4k
    YYDEBUG(482, *YYCURSOR);
6401
90.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6402
90.4k
#line 1415 "Zend/zend_language_scanner.l"
6403
90.4k
    {
6404
90.4k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6405
90.4k
}
6406
0
#line 6407 "Zend/zend_language_scanner.c"
6407
4.73k
yy483:
6408
4.73k
    YYDEBUG(483, *YYCURSOR);
6409
4.73k
    yyaccept = 4;
6410
4.73k
    yych = *(YYMARKER = ++YYCURSOR);
6411
4.73k
    if (yych == 'N') goto yy572;
6412
3.55k
    if (yych == 'n') goto yy572;
6413
534
    goto yy48;
6414
7.92k
yy484:
6415
7.92k
    YYDEBUG(484, *YYCURSOR);
6416
7.92k
    yyaccept = 4;
6417
7.92k
    yych = *(YYMARKER = ++YYCURSOR);
6418
7.92k
    if (yych == 'R') goto yy573;
6419
6.32k
    if (yych == 'r') goto yy573;
6420
874
    goto yy48;
6421
4.67k
yy485:
6422
4.67k
    YYDEBUG(485, *YYCURSOR);
6423
4.67k
    yyaccept = 4;
6424
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
6425
4.67k
    if (yych == 'L') goto yy574;
6426
3.33k
    if (yych == 'l') goto yy574;
6427
394
    goto yy48;
6428
4.89k
yy486:
6429
4.89k
    YYDEBUG(486, *YYCURSOR);
6430
4.89k
    yyaccept = 4;
6431
4.89k
    yych = *(YYMARKER = ++YYCURSOR);
6432
4.89k
    if (yych == 'F') goto yy575;
6433
3.64k
    if (yych == 'f') goto yy575;
6434
557
    goto yy48;
6435
3.57k
yy487:
6436
3.57k
    YYDEBUG(487, *YYCURSOR);
6437
3.57k
    yyaccept = 40;
6438
3.57k
    yych = *(YYMARKER = ++YYCURSOR);
6439
3.57k
    if (yybm[256+yych] & 128) {
6440
413
      goto yy47;
6441
413
    }
6442
3.16k
    if (yych == '\\') goto yy164;
6443
3.02k
yy488:
6444
3.02k
    YYDEBUG(488, *YYCURSOR);
6445
3.02k
    yyleng = YYCURSOR - SCNG(yy_text);
6446
3.02k
#line 1758 "Zend/zend_language_scanner.l"
6447
3.02k
    {
6448
3.02k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6449
3.02k
}
6450
0
#line 6451 "Zend/zend_language_scanner.c"
6451
7.43k
yy489:
6452
7.43k
    YYDEBUG(489, *YYCURSOR);
6453
7.43k
    yyaccept = 4;
6454
7.43k
    yych = *(YYMARKER = ++YYCURSOR);
6455
7.43k
    if (yych == 'C') goto yy577;
6456
3.76k
    if (yych == 'c') goto yy577;
6457
512
    goto yy48;
6458
12.6k
yy490:
6459
12.6k
    YYDEBUG(490, *YYCURSOR);
6460
12.6k
    yyaccept = 4;
6461
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
6462
12.6k
    if (yych == 'R') goto yy578;
6463
7.19k
    if (yych == 'r') goto yy578;
6464
534
    goto yy48;
6465
4.14k
yy491:
6466
4.14k
    YYDEBUG(491, *YYCURSOR);
6467
4.14k
    yyaccept = 41;
6468
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
6469
4.14k
    if (yybm[256+yych] & 128) {
6470
514
      goto yy47;
6471
514
    }
6472
3.63k
    if (yych == '\\') goto yy164;
6473
3.60k
yy492:
6474
3.60k
    YYDEBUG(492, *YYCURSOR);
6475
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
6476
3.60k
#line 1462 "Zend/zend_language_scanner.l"
6477
3.60k
    {
6478
3.60k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6479
3.60k
}
6480
0
#line 6481 "Zend/zend_language_scanner.c"
6481
4.11k
yy493:
6482
4.11k
    YYDEBUG(493, *YYCURSOR);
6483
4.11k
    yyaccept = 4;
6484
4.11k
    yych = *(YYMARKER = ++YYCURSOR);
6485
4.11k
    if (yych == 'I') goto yy580;
6486
1.96k
    if (yych == 'i') goto yy580;
6487
292
    goto yy48;
6488
5.57k
yy494:
6489
5.57k
    YYDEBUG(494, *YYCURSOR);
6490
5.57k
    yyaccept = 4;
6491
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
6492
5.57k
    if (yych == 'I') goto yy581;
6493
3.85k
    if (yych == 'i') goto yy581;
6494
644
    goto yy48;
6495
847k
yy495:
6496
847k
    YYDEBUG(495, *YYCURSOR);
6497
847k
    ++YYCURSOR;
6498
847k
    YYFILL(10);
6499
847k
    yych = *YYCURSOR;
6500
847k
    YYDEBUG(496, *YYCURSOR);
6501
847k
    if (yych <= 'E') {
6502
815k
      if (yych <= ' ') {
6503
62.1k
        if (yych <= '\f') {
6504
16.5k
          if (yych <= 0x08) goto yy86;
6505
13.4k
          if (yych <= '\n') goto yy495;
6506
467
          goto yy86;
6507
45.5k
        } else {
6508
45.5k
          if (yych <= '\r') goto yy495;
6509
6.38k
          if (yych <= 0x1F) goto yy86;
6510
5.64k
          goto yy495;
6511
6.38k
        }
6512
753k
      } else {
6513
753k
        if (yych <= '.') {
6514
707k
          if (yych != '#') goto yy86;
6515
707k
        } else {
6516
46.7k
          if (yych <= '/') goto yy498;
6517
4.86k
          if (yych <= '@') goto yy86;
6518
1.44k
          if (yych <= 'D') goto yy582;
6519
715
          goto yy584;
6520
1.44k
        }
6521
753k
      }
6522
815k
    } else {
6523
31.9k
      if (yych <= '`') {
6524
6.57k
        if (yych <= 'Z') {
6525
3.88k
          if (yych == 'I') goto yy585;
6526
2.38k
          goto yy582;
6527
3.88k
        } else {
6528
2.69k
          if (yych == '_') goto yy582;
6529
499
          goto yy86;
6530
2.69k
        }
6531
25.3k
      } else {
6532
25.3k
        if (yych <= 'h') {
6533
8.75k
          if (yych == 'e') goto yy584;
6534
1.86k
          goto yy582;
6535
16.6k
        } else {
6536
16.6k
          if (yych <= 'i') goto yy585;
6537
11.0k
          if (yych <= 'z') goto yy582;
6538
6.17k
          if (yych <= 0x7F) goto yy86;
6539
2.90k
          goto yy582;
6540
6.17k
        }
6541
25.3k
      }
6542
31.9k
    }
6543
704k
yy497:
6544
704k
    YYDEBUG(497, *YYCURSOR);
6545
704k
    ++YYCURSOR;
6546
704k
    YYFILL(1);
6547
704k
    yych = *YYCURSOR;
6548
704k
    if (yych <= '\f') {
6549
561k
      if (yych <= 0x00) goto yy86;
6550
560k
      if (yych == '\n') goto yy588;
6551
7.23k
      goto yy586;
6552
560k
    } else {
6553
143k
      if (yych <= '\r') goto yy588;
6554
75.5k
      if (yych == '[') goto yy86;
6555
75.2k
      goto yy586;
6556
75.5k
    }
6557
42.1k
yy498:
6558
42.1k
    YYDEBUG(498, *YYCURSOR);
6559
42.1k
    ++YYCURSOR;
6560
42.1k
    YYFILL(1);
6561
42.1k
    yych = *YYCURSOR;
6562
42.1k
    if (yych == '*') goto yy590;
6563
21.7k
    if (yych == '/') goto yy586;
6564
3.39k
    goto yy86;
6565
18.2k
yy499:
6566
18.2k
    YYDEBUG(499, *YYCURSOR);
6567
18.2k
    yyaccept = 4;
6568
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
6569
18.2k
    if (yych == 'D') goto yy592;
6570
15.6k
    if (yych == 'd') goto yy592;
6571
3.19k
    goto yy48;
6572
15.1k
yy500:
6573
15.1k
    YYDEBUG(500, *YYCURSOR);
6574
15.1k
    yyaccept = 42;
6575
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
6576
15.1k
    if (yych <= '\\') {
6577
10.4k
      if (yych <= 'K') {
6578
7.97k
        if (yych <= '/') goto yy501;
6579
1.83k
        if (yych <= '9') goto yy47;
6580
1.10k
        if (yych >= 'A') goto yy47;
6581
2.45k
      } else {
6582
2.45k
        if (yych <= 'L') goto yy593;
6583
740
        if (yych <= 'Z') goto yy47;
6584
501
        if (yych >= '\\') goto yy164;
6585
501
      }
6586
10.4k
    } else {
6587
4.72k
      if (yych <= 'k') {
6588
680
        if (yych == '_') goto yy47;
6589
484
        if (yych >= 'a') goto yy47;
6590
4.04k
      } else {
6591
4.04k
        if (yych <= 'l') goto yy593;
6592
901
        if (yych <= 'z') goto yy47;
6593
429
        if (yych >= 0x80) goto yy47;
6594
429
      }
6595
4.72k
    }
6596
7.84k
yy501:
6597
7.84k
    YYDEBUG(501, *YYCURSOR);
6598
7.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6599
7.84k
#line 1774 "Zend/zend_language_scanner.l"
6600
7.84k
    {
6601
7.84k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6602
7.84k
}
6603
0
#line 6604 "Zend/zend_language_scanner.c"
6604
9.52k
yy502:
6605
9.52k
    YYDEBUG(502, *YYCURSOR);
6606
9.52k
    yyaccept = 4;
6607
9.52k
    yych = *(YYMARKER = ++YYCURSOR);
6608
9.52k
    if (yych == 'C') goto yy594;
6609
7.89k
    if (yych == 'c') goto yy594;
6610
485
    goto yy48;
6611
43.1k
yy503:
6612
43.1k
    YYDEBUG(503, *YYCURSOR);
6613
43.1k
    yyaccept = 4;
6614
43.1k
    yych = *(YYMARKER = ++YYCURSOR);
6615
43.1k
    if (yych == 'I') goto yy595;
6616
42.2k
    if (yych == 'i') goto yy595;
6617
2.03k
    goto yy48;
6618
7.19k
yy504:
6619
7.19k
    YYDEBUG(504, *YYCURSOR);
6620
7.19k
    yyaccept = 4;
6621
7.19k
    yych = *(YYMARKER = ++YYCURSOR);
6622
7.19k
    if (yych == 'L') goto yy596;
6623
2.39k
    if (yych == 'l') goto yy596;
6624
269
    goto yy48;
6625
24.3k
yy505:
6626
24.3k
    YYDEBUG(505, *YYCURSOR);
6627
24.3k
    yyaccept = 4;
6628
24.3k
    yych = *(YYMARKER = ++YYCURSOR);
6629
24.3k
    if (yych == 'M') goto yy598;
6630
18.7k
    if (yych == 'm') goto yy598;
6631
5.92k
    goto yy48;
6632
12.6k
yy506:
6633
12.6k
    YYDEBUG(506, *YYCURSOR);
6634
12.6k
    yyaccept = 4;
6635
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
6636
12.6k
    if (yych == 'D') goto yy599;
6637
9.36k
    if (yych == 'd') goto yy599;
6638
788
    goto yy48;
6639
6.81k
yy507:
6640
6.81k
    YYDEBUG(507, *YYCURSOR);
6641
6.81k
    yyaccept = 4;
6642
6.81k
    yych = *(YYMARKER = ++YYCURSOR);
6643
6.81k
    if (yych == 'N') goto yy600;
6644
4.38k
    if (yych == 'n') goto yy600;
6645
385
    goto yy48;
6646
7.44k
yy508:
6647
7.44k
    YYDEBUG(508, *YYCURSOR);
6648
7.44k
    yyaccept = 4;
6649
7.44k
    yych = *(YYMARKER = ++YYCURSOR);
6650
7.44k
    if (yych == 'A') goto yy601;
6651
5.23k
    if (yych == 'a') goto yy601;
6652
253
    goto yy48;
6653
8.59k
yy509:
6654
8.59k
    YYDEBUG(509, *YYCURSOR);
6655
8.59k
    yyaccept = 4;
6656
8.59k
    yych = *(YYMARKER = ++YYCURSOR);
6657
8.59k
    if (yych == 'F') goto yy602;
6658
6.48k
    if (yych == 'f') goto yy602;
6659
1.41k
    goto yy48;
6660
5.22k
yy510:
6661
5.22k
    YYDEBUG(510, *YYCURSOR);
6662
5.22k
    yyaccept = 43;
6663
5.22k
    yych = *(YYMARKER = ++YYCURSOR);
6664
5.22k
    if (yybm[256+yych] & 128) {
6665
584
      goto yy47;
6666
584
    }
6667
4.63k
    if (yych == '\\') goto yy164;
6668
4.53k
yy511:
6669
4.53k
    YYDEBUG(511, *YYCURSOR);
6670
4.53k
    yyleng = YYCURSOR - SCNG(yy_text);
6671
4.53k
#line 1754 "Zend/zend_language_scanner.l"
6672
4.53k
    {
6673
4.53k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6674
4.53k
}
6675
0
#line 6676 "Zend/zend_language_scanner.c"
6676
3.40k
yy512:
6677
3.40k
    YYDEBUG(512, *YYCURSOR);
6678
3.40k
    yyaccept = 44;
6679
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
6680
3.40k
    if (yybm[256+yych] & 128) {
6681
443
      goto yy47;
6682
443
    }
6683
2.96k
    if (yych == '\\') goto yy164;
6684
2.96k
yy513:
6685
2.96k
    YYDEBUG(513, *YYCURSOR);
6686
2.96k
    yyleng = YYCURSOR - SCNG(yy_text);
6687
2.96k
#line 1518 "Zend/zend_language_scanner.l"
6688
2.96k
    {
6689
2.96k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6690
2.96k
}
6691
0
#line 6692 "Zend/zend_language_scanner.c"
6692
16.9k
yy514:
6693
16.9k
    YYDEBUG(514, *YYCURSOR);
6694
16.9k
    yyaccept = 4;
6695
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
6696
16.9k
    if (yych == 'P') goto yy603;
6697
14.7k
    if (yych == 'p') goto yy603;
6698
1.33k
    goto yy48;
6699
7.65k
yy515:
6700
7.65k
    YYDEBUG(515, *YYCURSOR);
6701
7.65k
    yyaccept = 45;
6702
7.65k
    yych = *(YYMARKER = ++YYCURSOR);
6703
7.65k
    if (yybm[256+yych] & 128) {
6704
3.79k
      goto yy47;
6705
3.79k
    }
6706
3.85k
    if (yych == '\\') goto yy164;
6707
3.83k
yy516:
6708
3.83k
    YYDEBUG(516, *YYCURSOR);
6709
3.83k
    yyleng = YYCURSOR - SCNG(yy_text);
6710
3.83k
#line 1550 "Zend/zend_language_scanner.l"
6711
3.83k
    {
6712
3.83k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6713
3.83k
}
6714
0
#line 6715 "Zend/zend_language_scanner.c"
6715
11.9k
yy517:
6716
11.9k
    YYDEBUG(517, *YYCURSOR);
6717
11.9k
    yyaccept = 4;
6718
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
6719
11.9k
    if (yych == 'T') goto yy604;
6720
7.13k
    if (yych == 't') goto yy604;
6721
707
    goto yy48;
6722
8.67k
yy518:
6723
8.67k
    YYDEBUG(518, *YYCURSOR);
6724
8.67k
    yyaccept = 4;
6725
8.67k
    yych = *(YYMARKER = ++YYCURSOR);
6726
8.67k
    if (yych == 'C') goto yy605;
6727
6.26k
    if (yych == 'c') goto yy605;
6728
615
    goto yy48;
6729
31.6k
yy519:
6730
31.6k
    YYDEBUG(519, *YYCURSOR);
6731
31.6k
    yyaccept = 4;
6732
31.6k
    yych = *(YYMARKER = ++YYCURSOR);
6733
31.6k
    if (yych == 'C') goto yy606;
6734
28.5k
    if (yych == 'c') goto yy606;
6735
541
    goto yy48;
6736
4.34k
yy520:
6737
4.34k
    YYDEBUG(520, *YYCURSOR);
6738
4.34k
    yyaccept = 4;
6739
4.34k
    yych = *(YYMARKER = ++YYCURSOR);
6740
4.34k
    if (yych == 'N') goto yy608;
6741
3.87k
    if (yych == 'n') goto yy608;
6742
753
    goto yy48;
6743
12.4k
yy521:
6744
12.4k
    YYDEBUG(521, *YYCURSOR);
6745
12.4k
    yyaccept = 4;
6746
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
6747
12.4k
    if (yych == 'R') goto yy609;
6748
9.96k
    if (yych == 'r') goto yy609;
6749
368
    goto yy48;
6750
11.4k
yy522:
6751
11.4k
    YYDEBUG(522, *YYCURSOR);
6752
11.4k
    yyaccept = 4;
6753
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
6754
11.4k
    if (yych == 'N') goto yy610;
6755
10.0k
    if (yych == 'n') goto yy610;
6756
643
    goto yy48;
6757
13.5k
yy523:
6758
13.5k
    YYDEBUG(523, *YYCURSOR);
6759
13.5k
    yyaccept = 4;
6760
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
6761
13.5k
    if (yych == 'C') goto yy612;
6762
9.70k
    if (yych == 'c') goto yy612;
6763
775
    goto yy48;
6764
4.86k
yy524:
6765
4.86k
    YYDEBUG(524, *YYCURSOR);
6766
4.86k
    yyaccept = 4;
6767
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
6768
4.86k
    if (yych == 'H') goto yy614;
6769
3.93k
    if (yych == 'h') goto yy614;
6770
549
    goto yy48;
6771
4.74k
yy525:
6772
4.74k
    YYDEBUG(525, *YYCURSOR);
6773
4.74k
    yyaccept = 46;
6774
4.74k
    yych = *(YYMARKER = ++YYCURSOR);
6775
4.74k
    if (yybm[256+yych] & 128) {
6776
670
      goto yy47;
6777
670
    }
6778
4.07k
    if (yych == '\\') goto yy164;
6779
3.98k
yy526:
6780
3.98k
    YYDEBUG(526, *YYCURSOR);
6781
3.98k
    yyleng = YYCURSOR - SCNG(yy_text);
6782
3.98k
#line 1450 "Zend/zend_language_scanner.l"
6783
3.98k
    {
6784
3.98k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6785
3.98k
}
6786
0
#line 6787 "Zend/zend_language_scanner.c"
6787
5.03k
yy527:
6788
5.03k
    YYDEBUG(527, *YYCURSOR);
6789
5.03k
    yyaccept = 47;
6790
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
6791
5.03k
    if (yybm[256+yych] & 128) {
6792
780
      goto yy47;
6793
780
    }
6794
4.25k
    if (yych == '\\') goto yy164;
6795
4.10k
yy528:
6796
4.10k
    YYDEBUG(528, *YYCURSOR);
6797
4.10k
    yyleng = YYCURSOR - SCNG(yy_text);
6798
4.10k
#line 1562 "Zend/zend_language_scanner.l"
6799
4.10k
    {
6800
4.10k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6801
4.10k
}
6802
0
#line 6803 "Zend/zend_language_scanner.c"
6803
5.57k
yy529:
6804
5.57k
    YYDEBUG(529, *YYCURSOR);
6805
5.57k
    yyaccept = 48;
6806
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
6807
5.57k
    if (yybm[256+yych] & 128) {
6808
667
      goto yy47;
6809
667
    }
6810
4.90k
    if (yych == '\\') goto yy164;
6811
4.77k
yy530:
6812
4.77k
    YYDEBUG(530, *YYCURSOR);
6813
4.77k
    yyleng = YYCURSOR - SCNG(yy_text);
6814
4.77k
#line 1806 "Zend/zend_language_scanner.l"
6815
4.77k
    {
6816
4.77k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6817
4.77k
}
6818
0
#line 6819 "Zend/zend_language_scanner.c"
6819
4.07k
yy531:
6820
4.07k
    YYDEBUG(531, *YYCURSOR);
6821
4.07k
    yyaccept = 49;
6822
4.07k
    yych = *(YYMARKER = ++YYCURSOR);
6823
4.07k
    if (yybm[256+yych] & 128) {
6824
446
      goto yy47;
6825
446
    }
6826
3.62k
    if (yych == '\\') goto yy164;
6827
3.61k
yy532:
6828
3.61k
    YYDEBUG(532, *YYCURSOR);
6829
3.61k
    yyleng = YYCURSOR - SCNG(yy_text);
6830
3.61k
#line 1470 "Zend/zend_language_scanner.l"
6831
3.61k
    {
6832
3.61k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6833
3.61k
}
6834
0
#line 6835 "Zend/zend_language_scanner.c"
6835
116k
yy533:
6836
116k
    YYDEBUG(533, *YYCURSOR);
6837
116k
    yyaccept = 50;
6838
116k
    yych = *(YYMARKER = ++YYCURSOR);
6839
116k
    if (yybm[256+yych] & 128) {
6840
969
      goto yy47;
6841
969
    }
6842
115k
    if (yych <= ' ') {
6843
36.1k
      if (yych <= '\f') {
6844
26.3k
        if (yych <= 0x08) goto yy534;
6845
23.2k
        if (yych <= '\n') goto yy616;
6846
23.2k
      } else {
6847
9.82k
        if (yych <= '\r') goto yy616;
6848
7.99k
        if (yych >= ' ') goto yy616;
6849
7.99k
      }
6850
79.4k
    } else {
6851
79.4k
      if (yych <= '.') {
6852
77.0k
        if (yych == '#') goto yy618;
6853
77.0k
      } else {
6854
2.38k
        if (yych <= '/') goto yy619;
6855
1.90k
        if (yych == '\\') goto yy164;
6856
1.90k
      }
6857
79.4k
    }
6858
96.3k
yy534:
6859
96.3k
    YYDEBUG(534, *YYCURSOR);
6860
96.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6861
96.3k
#line 1434 "Zend/zend_language_scanner.l"
6862
96.3k
    {
6863
96.3k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6864
96.3k
}
6865
0
#line 6866 "Zend/zend_language_scanner.c"
6866
11.7k
yy535:
6867
11.7k
    YYDEBUG(535, *YYCURSOR);
6868
11.7k
    yyaccept = 4;
6869
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
6870
11.7k
    if (yych == 'S') goto yy620;
6871
8.82k
    if (yych == 's') goto yy620;
6872
668
    goto yy48;
6873
7.66k
yy536:
6874
7.66k
    YYDEBUG(536, *YYCURSOR);
6875
7.66k
    yyaccept = 4;
6876
7.66k
    yych = *(YYMARKER = ++YYCURSOR);
6877
7.66k
    if (yych == '_') goto yy621;
6878
487
    goto yy48;
6879
4.31k
yy537:
6880
4.31k
    YYDEBUG(537, *YYCURSOR);
6881
4.31k
    yyaccept = 4;
6882
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
6883
4.31k
    if (yych == 'E') goto yy622;
6884
1.60k
    if (yych == 'e') goto yy622;
6885
294
    goto yy48;
6886
8.16k
yy538:
6887
8.16k
    YYDEBUG(538, *YYCURSOR);
6888
8.16k
    yyaccept = 4;
6889
8.16k
    yych = *(YYMARKER = ++YYCURSOR);
6890
8.16k
    if (yych == 'C') goto yy623;
6891
3.88k
    if (yych == 'c') goto yy623;
6892
620
    goto yy48;
6893
4.02k
yy539:
6894
4.02k
    YYDEBUG(539, *YYCURSOR);
6895
4.02k
    yyaccept = 4;
6896
4.02k
    yych = *(YYMARKER = ++YYCURSOR);
6897
4.02k
    if (yych == 'T') goto yy624;
6898
3.16k
    if (yych == 't') goto yy624;
6899
511
    goto yy48;
6900
4.51k
yy540:
6901
4.51k
    YYDEBUG(540, *YYCURSOR);
6902
4.51k
    yyaccept = 4;
6903
4.51k
    yych = *(YYMARKER = ++YYCURSOR);
6904
4.51k
    if (yych == 'E') goto yy625;
6905
1.18k
    if (yych == 'e') goto yy625;
6906
428
    goto yy48;
6907
7.90k
yy541:
6908
7.90k
    YYDEBUG(541, *YYCURSOR);
6909
7.90k
    yyaccept = 4;
6910
7.90k
    yych = *(YYMARKER = ++YYCURSOR);
6911
7.90k
    if (yych == 'H') goto yy626;
6912
4.19k
    if (yych == 'h') goto yy626;
6913
728
    goto yy48;
6914
8.07k
yy542:
6915
8.07k
    YYDEBUG(542, *YYCURSOR);
6916
8.07k
    yyaccept = 4;
6917
8.07k
    yych = *(YYMARKER = ++YYCURSOR);
6918
8.07k
    if (yych == 'E') goto yy627;
6919
3.75k
    if (yych == 'e') goto yy627;
6920
327
    goto yy48;
6921
4.46k
yy543:
6922
4.46k
    YYDEBUG(543, *YYCURSOR);
6923
4.46k
    yyaccept = 4;
6924
4.46k
    yych = *(YYMARKER = ++YYCURSOR);
6925
4.46k
    if (yych == 'P') goto yy628;
6926
1.19k
    if (yych == 'p') goto yy628;
6927
413
    goto yy48;
6928
6.77k
yy544:
6929
6.77k
    YYDEBUG(544, *YYCURSOR);
6930
6.77k
    yyaccept = 4;
6931
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
6932
6.77k
    if (yych == 'I') goto yy629;
6933
4.27k
    if (yych == 'i') goto yy629;
6934
625
    goto yy48;
6935
224k
yy545:
6936
224k
    YYDEBUG(545, *YYCURSOR);
6937
224k
    ++YYCURSOR;
6938
224k
    YYFILL(1);
6939
224k
    yych = *YYCURSOR;
6940
224k
    YYDEBUG(546, *YYCURSOR);
6941
224k
    if (yybm[0+yych] & 64) {
6942
371
      goto yy355;
6943
371
    }
6944
223k
    if (yych <= ' ') {
6945
36.5k
      if (yych <= '\n') {
6946
5.58k
        if (yych <= 0x00) goto yy86;
6947
4.32k
        if (yych <= 0x08) goto yy230;
6948
3.71k
        goto yy545;
6949
30.9k
      } else {
6950
30.9k
        if (yych == '\r') goto yy545;
6951
4.91k
        if (yych <= 0x1F) goto yy230;
6952
3.32k
        goto yy545;
6953
4.91k
      }
6954
187k
    } else {
6955
187k
      if (yych <= '$') {
6956
121k
        if (yych <= '"') goto yy230;
6957
121k
        if (yych <= '#') goto yy630;
6958
6.16k
        goto yy631;
6959
121k
      } else {
6960
65.2k
        if (yych <= '-') goto yy230;
6961
54.8k
        if (yych <= '.') goto yy632;
6962
52.8k
        if (yych <= '/') goto yy633;
6963
12.0k
        goto yy230;
6964
52.8k
      }
6965
187k
    }
6966
36.5k
yy547:
6967
36.5k
    YYDEBUG(547, *YYCURSOR);
6968
36.5k
    ++YYCURSOR;
6969
36.5k
    YYFILL(1);
6970
36.5k
    yych = *YYCURSOR;
6971
36.5k
    YYDEBUG(548, *YYCURSOR);
6972
36.5k
    if (yych <= '\r') {
6973
3.96k
      if (yych <= '\t') {
6974
1.09k
        if (yych <= 0x00) goto yy86;
6975
491
        goto yy443;
6976
2.86k
      } else {
6977
2.86k
        if (yych <= '\n') goto yy545;
6978
1.87k
        if (yych <= '\f') goto yy443;
6979
1.58k
        goto yy545;
6980
1.87k
      }
6981
32.5k
    } else {
6982
32.5k
      if (yych <= '*') {
6983
15.8k
        if (yych <= ')') goto yy443;
6984
483
        goto yy547;
6985
16.7k
      } else {
6986
16.7k
        if (yych == '/') goto yy227;
6987
2.83k
        goto yy443;
6988
16.7k
      }
6989
32.5k
    }
6990
21.7k
yy549:
6991
21.7k
    YYDEBUG(549, *YYCURSOR);
6992
21.7k
    ++YYCURSOR;
6993
21.7k
    YYFILL(1);
6994
21.7k
    yych = *YYCURSOR;
6995
21.7k
    YYDEBUG(550, *YYCURSOR);
6996
21.7k
    if (yych <= 0x1F) {
6997
1.00k
      if (yych == '\t') goto yy549;
6998
347
      goto yy86;
6999
20.7k
    } else {
7000
20.7k
      if (yych <= ' ') goto yy549;
7001
19.8k
      if (yych == ')') goto yy634;
7002
18.9k
      goto yy86;
7003
19.8k
    }
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.37k
yy553:
7016
2.37k
    YYDEBUG(553, *YYCURSOR);
7017
2.37k
    if (yych <= 0x1F) {
7018
650
      if (yych == '\t') goto yy552;
7019
320
      goto yy86;
7020
1.72k
    } else {
7021
1.72k
      if (yych <= ' ') goto yy552;
7022
1.04k
      if (yych != ')') goto yy86;
7023
1.04k
    }
7024
695
    YYDEBUG(554, *YYCURSOR);
7025
695
    ++YYCURSOR;
7026
695
    YYDEBUG(555, *YYCURSOR);
7027
695
    yyleng = YYCURSOR - SCNG(yy_text);
7028
695
#line 1696 "Zend/zend_language_scanner.l"
7029
695
    {
7030
695
  RETURN_TOKEN(T_BOOL_CAST);
7031
695
}
7032
0
#line 7033 "Zend/zend_language_scanner.c"
7033
2.55k
yy556:
7034
2.55k
    YYDEBUG(556, *YYCURSOR);
7035
2.55k
    yych = *++YYCURSOR;
7036
2.55k
    if (yych == 'A') goto yy638;
7037
1.26k
    if (yych == 'a') goto yy638;
7038
210
    goto yy86;
7039
1.85k
yy557:
7040
1.85k
    YYDEBUG(557, *YYCURSOR);
7041
1.85k
    yych = *++YYCURSOR;
7042
1.85k
    if (yych == 'E') goto yy639;
7043
1.31k
    if (yych == 'e') goto yy639;
7044
481
    goto yy86;
7045
3.72k
yy558:
7046
3.72k
    YYDEBUG(558, *YYCURSOR);
7047
3.72k
    ++YYCURSOR;
7048
3.72k
    YYFILL(1);
7049
3.72k
    yych = *YYCURSOR;
7050
3.72k
    YYDEBUG(559, *YYCURSOR);
7051
3.72k
    if (yych <= 0x1F) {
7052
459
      if (yych == '\t') goto yy558;
7053
211
      goto yy86;
7054
3.26k
    } else {
7055
3.26k
      if (yych <= ' ') goto yy558;
7056
3.05k
      if (yych == ')') goto yy641;
7057
384
      goto yy86;
7058
3.05k
    }
7059
1.98k
yy560:
7060
1.98k
    YYDEBUG(560, *YYCURSOR);
7061
1.98k
    yych = *++YYCURSOR;
7062
1.98k
    if (yych == 'E') goto yy643;
7063
1.45k
    if (yych == 'e') goto yy643;
7064
354
    goto yy86;
7065
2.18k
yy561:
7066
2.18k
    YYDEBUG(561, *YYCURSOR);
7067
2.18k
    yych = *++YYCURSOR;
7068
2.18k
    if (yych == 'T') goto yy644;
7069
1.97k
    if (yych == 't') goto yy644;
7070
349
    goto yy86;
7071
664
yy562:
7072
664
    YYDEBUG(562, *YYCURSOR);
7073
664
    ++YYCURSOR;
7074
664
    YYDEBUG(563, *YYCURSOR);
7075
664
    yyleng = YYCURSOR - SCNG(yy_text);
7076
664
#line 1666 "Zend/zend_language_scanner.l"
7077
664
    {
7078
664
  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
654
  RETURN_TOKEN(T_DOUBLE_CAST);
7083
654
}
7084
0
#line 7085 "Zend/zend_language_scanner.c"
7085
4.02k
yy564:
7086
4.02k
    YYDEBUG(564, *YYCURSOR);
7087
4.02k
    yych = *++YYCURSOR;
7088
4.02k
    if (yych == 'G') goto yy646;
7089
3.80k
    if (yych == 'g') goto yy646;
7090
695
    goto yy86;
7091
2.13k
yy565:
7092
2.13k
    YYDEBUG(565, *YYCURSOR);
7093
2.13k
    ++YYCURSOR;
7094
2.13k
    YYFILL(1);
7095
2.13k
    yych = *YYCURSOR;
7096
2.13k
    YYDEBUG(566, *YYCURSOR);
7097
2.13k
    if (yych <= 0x1F) {
7098
494
      if (yych == '\t') goto yy565;
7099
296
      goto yy86;
7100
1.64k
    } else {
7101
1.64k
      if (yych <= ' ') goto yy565;
7102
1.10k
      if (yych == ')') goto yy648;
7103
521
      goto yy86;
7104
1.10k
    }
7105
1.49k
yy567:
7106
1.49k
    YYDEBUG(567, *YYCURSOR);
7107
1.49k
    ++YYCURSOR;
7108
1.49k
    YYDEBUG(568, *YYCURSOR);
7109
1.49k
    yyleng = YYCURSOR - SCNG(yy_text);
7110
1.49k
#line 1714 "Zend/zend_language_scanner.l"
7111
1.49k
    {
7112
1.49k
  RETURN_TOKEN(T_VOID_CAST);
7113
1.49k
}
7114
0
#line 7115 "Zend/zend_language_scanner.c"
7115
8.72k
yy569:
7116
8.72k
    YYDEBUG(569, *YYCURSOR);
7117
8.72k
    yych = *++YYCURSOR;
7118
8.72k
    if (yych == '\n') goto yy466;
7119
1.85k
    if (yych == '\r') goto yy468;
7120
352
    goto yy86;
7121
7.73k
yy570:
7122
7.73k
    YYDEBUG(570, *YYCURSOR);
7123
7.73k
    yyaccept = 4;
7124
7.73k
    yych = *(YYMARKER = ++YYCURSOR);
7125
7.73k
    if (yych == 'C') goto yy650;
7126
4.41k
    if (yych == 'c') goto yy650;
7127
353
    goto yy48;
7128
4.67k
yy571:
7129
4.67k
    YYDEBUG(571, *YYCURSOR);
7130
4.67k
    yyaccept = 4;
7131
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
7132
4.67k
    if (yych == 'L') goto yy651;
7133
2.26k
    if (yych == 'l') goto yy651;
7134
448
    goto yy48;
7135
4.19k
yy572:
7136
4.19k
    YYDEBUG(572, *YYCURSOR);
7137
4.19k
    yyaccept = 4;
7138
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
7139
4.19k
    if (yych == 'U') goto yy652;
7140
3.17k
    if (yych == 'u') goto yy652;
7141
539
    goto yy48;
7142
7.05k
yy573:
7143
7.05k
    YYDEBUG(573, *YYCURSOR);
7144
7.05k
    yyaccept = 4;
7145
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
7146
7.05k
    if (yych == 'E') goto yy653;
7147
5.13k
    if (yych == 'e') goto yy653;
7148
360
    goto yy48;
7149
4.28k
yy574:
7150
4.28k
    YYDEBUG(574, *YYCURSOR);
7151
4.28k
    yyaccept = 4;
7152
4.28k
    yych = *(YYMARKER = ++YYCURSOR);
7153
4.28k
    if (yych == 'T') goto yy655;
7154
2.91k
    if (yych == 't') goto yy655;
7155
644
    goto yy48;
7156
4.34k
yy575:
7157
4.34k
    YYDEBUG(575, *YYCURSOR);
7158
4.34k
    yyaccept = 51;
7159
4.34k
    yych = *(YYMARKER = ++YYCURSOR);
7160
4.34k
    if (yybm[256+yych] & 128) {
7161
416
      goto yy47;
7162
416
    }
7163
3.92k
    if (yych == '\\') goto yy164;
7164
3.92k
yy576:
7165
3.92k
    YYDEBUG(576, *YYCURSOR);
7166
3.92k
    yyleng = YYCURSOR - SCNG(yy_text);
7167
3.92k
#line 1458 "Zend/zend_language_scanner.l"
7168
3.92k
    {
7169
3.92k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7170
3.92k
}
7171
0
#line 7172 "Zend/zend_language_scanner.c"
7172
6.92k
yy577:
7173
6.92k
    YYDEBUG(577, *YYCURSOR);
7174
6.92k
    yyaccept = 4;
7175
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
7176
6.92k
    if (yych == 'L') goto yy657;
7177
3.70k
    if (yych == 'l') goto yy657;
7178
559
    goto yy48;
7179
12.0k
yy578:
7180
12.0k
    YYDEBUG(578, *YYCURSOR);
7181
12.0k
    yyaccept = 52;
7182
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
7183
12.0k
    if (yych <= '\\') {
7184
8.43k
      if (yych <= 'D') {
7185
4.81k
        if (yych <= '/') goto yy579;
7186
826
        if (yych <= '9') goto yy47;
7187
578
        if (yych >= 'A') goto yy47;
7188
3.62k
      } else {
7189
3.62k
        if (yych <= 'E') goto yy658;
7190
792
        if (yych <= 'Z') goto yy47;
7191
459
        if (yych >= '\\') goto yy164;
7192
459
      }
7193
8.43k
    } else {
7194
3.65k
      if (yych <= 'd') {
7195
633
        if (yych == '_') goto yy47;
7196
426
        if (yych >= 'a') goto yy47;
7197
3.02k
      } else {
7198
3.02k
        if (yych <= 'e') goto yy658;
7199
677
        if (yych <= 'z') goto yy47;
7200
442
        if (yych >= 0x80) goto yy47;
7201
442
      }
7202
3.65k
    }
7203
5.10k
yy579:
7204
5.10k
    YYDEBUG(579, *YYCURSOR);
7205
5.10k
    yyleng = YYCURSOR - SCNG(yy_text);
7206
5.10k
#line 1486 "Zend/zend_language_scanner.l"
7207
5.10k
    {
7208
5.10k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7209
5.10k
}
7210
0
#line 7211 "Zend/zend_language_scanner.c"
7211
3.81k
yy580:
7212
3.81k
    YYDEBUG(580, *YYCURSOR);
7213
3.81k
    yyaccept = 4;
7214
3.81k
    yych = *(YYMARKER = ++YYCURSOR);
7215
3.81k
    if (yych == 'T') goto yy659;
7216
1.78k
    if (yych == 't') goto yy659;
7217
276
    goto yy48;
7218
4.93k
yy581:
7219
4.93k
    YYDEBUG(581, *YYCURSOR);
7220
4.93k
    yyaccept = 4;
7221
4.93k
    yych = *(YYMARKER = ++YYCURSOR);
7222
4.93k
    if (yych == 'L') goto yy660;
7223
3.01k
    if (yych == 'l') goto yy660;
7224
251
    goto yy48;
7225
14.9k
yy582:
7226
14.9k
    YYDEBUG(582, *YYCURSOR);
7227
14.9k
    ++YYCURSOR;
7228
121k
yy583:
7229
121k
    YYDEBUG(583, *YYCURSOR);
7230
121k
    yyleng = YYCURSOR - SCNG(yy_text);
7231
121k
#line 1574 "Zend/zend_language_scanner.l"
7232
121k
    {
7233
121k
  yyless(4);
7234
121k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7235
121k
}
7236
0
#line 7237 "Zend/zend_language_scanner.c"
7237
7.60k
yy584:
7238
7.60k
    YYDEBUG(584, *YYCURSOR);
7239
7.60k
    yyaccept = 53;
7240
7.60k
    yych = *(YYMARKER = ++YYCURSOR);
7241
7.60k
    if (yych == 'X') goto yy661;
7242
7.16k
    if (yych == 'x') goto yy661;
7243
3.35k
    goto yy583;
7244
7.02k
yy585:
7245
7.02k
    YYDEBUG(585, *YYCURSOR);
7246
7.02k
    yyaccept = 53;
7247
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
7248
7.02k
    if (yych == 'M') goto yy662;
7249
5.24k
    if (yych == 'm') goto yy662;
7250
710
    goto yy583;
7251
3.59M
yy586:
7252
3.59M
    YYDEBUG(586, *YYCURSOR);
7253
3.59M
    ++YYCURSOR;
7254
3.59M
    YYFILL(1);
7255
3.59M
    yych = *YYCURSOR;
7256
3.59M
    YYDEBUG(587, *YYCURSOR);
7257
3.59M
    if (yych <= '\n') {
7258
153k
      if (yych <= 0x00) goto yy86;
7259
138k
      if (yych <= '\t') goto yy586;
7260
77.0k
      goto yy495;
7261
3.44M
    } else {
7262
3.44M
      if (yych == '\r') goto yy495;
7263
3.00M
      goto yy586;
7264
3.44M
    }
7265
671k
yy588:
7266
671k
    YYDEBUG(588, *YYCURSOR);
7267
671k
    ++YYCURSOR;
7268
671k
    YYFILL(1);
7269
671k
    yych = *YYCURSOR;
7270
671k
    YYDEBUG(589, *YYCURSOR);
7271
671k
    if (yych <= 'D') {
7272
259k
      if (yych <= 0x1F) {
7273
43.1k
        if (yych <= '\t') {
7274
8.80k
          if (yych <= 0x00) goto yy86;
7275
8.10k
          if (yych <= 0x08) goto yy586;
7276
1.56k
          goto yy588;
7277
34.3k
        } else {
7278
34.3k
          if (yych <= '\n') goto yy495;
7279
31.0k
          if (yych == '\r') goto yy495;
7280
3.50k
          goto yy586;
7281
31.0k
        }
7282
215k
      } else {
7283
215k
        if (yych <= '#') {
7284
35.7k
          if (yych <= ' ') goto yy588;
7285
29.4k
          if (yych <= '"') goto yy586;
7286
28.1k
          goto yy663;
7287
180k
        } else {
7288
180k
          if (yych == '/') goto yy664;
7289
12.6k
          if (yych <= '@') goto yy586;
7290
1.23k
          goto yy665;
7291
12.6k
        }
7292
215k
      }
7293
412k
    } else {
7294
412k
      if (yych <= '`') {
7295
15.0k
        if (yych <= 'I') {
7296
7.17k
          if (yych <= 'E') goto yy666;
7297
5.50k
          if (yych <= 'H') goto yy665;
7298
5.29k
          goto yy667;
7299
7.84k
        } else {
7300
7.84k
          if (yych <= 'Z') goto yy665;
7301
1.62k
          if (yych == '_') goto yy665;
7302
321
          goto yy586;
7303
1.62k
        }
7304
397k
      } else {
7305
397k
        if (yych <= 'h') {
7306
300k
          if (yych == 'e') goto yy666;
7307
2.58k
          goto yy665;
7308
300k
        } else {
7309
97.7k
          if (yych <= 'i') goto yy667;
7310
76.7k
          if (yych <= 'z') goto yy665;
7311
70.2k
          if (yych <= 0x7F) goto yy586;
7312
4.87k
          goto yy665;
7313
70.2k
        }
7314
397k
      }
7315
412k
    }
7316
3.96M
yy590:
7317
3.96M
    YYDEBUG(590, *YYCURSOR);
7318
3.96M
    ++YYCURSOR;
7319
3.96M
    YYFILL(1);
7320
3.96M
    yych = *YYCURSOR;
7321
3.96M
    YYDEBUG(591, *YYCURSOR);
7322
3.96M
    if (yych <= 0x00) goto yy86;
7323
3.94M
    if (yych == '*') goto yy668;
7324
3.83M
    goto yy590;
7325
3.83M
yy592:
7326
15.0k
    YYDEBUG(592, *YYCURSOR);
7327
15.0k
    yyaccept = 4;
7328
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
7329
15.0k
    if (yych == 'S') goto yy670;
7330
12.6k
    if (yych == 's') goto yy670;
7331
965
    goto yy48;
7332
4.85k
yy593:
7333
4.85k
    YYDEBUG(593, *YYCURSOR);
7334
4.85k
    yyaccept = 4;
7335
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
7336
4.85k
    if (yych == 'Y') goto yy672;
7337
3.09k
    if (yych == 'y') goto yy672;
7338
264
    goto yy48;
7339
9.03k
yy594:
7340
9.03k
    YYDEBUG(594, *YYCURSOR);
7341
9.03k
    yyaccept = 4;
7342
9.03k
    yych = *(YYMARKER = ++YYCURSOR);
7343
9.03k
    if (yych == 'H') goto yy674;
7344
7.38k
    if (yych == 'h') goto yy674;
7345
355
    goto yy48;
7346
41.1k
yy595:
7347
41.1k
    YYDEBUG(595, *YYCURSOR);
7348
41.1k
    yyaccept = 4;
7349
41.1k
    yych = *(YYMARKER = ++YYCURSOR);
7350
41.1k
    if (yych == 'O') goto yy676;
7351
40.3k
    if (yych == 'o') goto yy676;
7352
983
    goto yy48;
7353
6.92k
yy596:
7354
6.92k
    YYDEBUG(596, *YYCURSOR);
7355
6.92k
    yyaccept = 54;
7356
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
7357
6.92k
    if (yybm[256+yych] & 128) {
7358
1.95k
      goto yy47;
7359
1.95k
    }
7360
4.96k
    if (yych == '\\') goto yy164;
7361
4.53k
yy597:
7362
4.53k
    YYDEBUG(597, *YYCURSOR);
7363
4.53k
    yyleng = YYCURSOR - SCNG(yy_text);
7364
4.53k
#line 1750 "Zend/zend_language_scanner.l"
7365
4.53k
    {
7366
4.53k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7367
4.53k
}
7368
0
#line 7369 "Zend/zend_language_scanner.c"
7369
18.4k
yy598:
7370
18.4k
    YYDEBUG(598, *YYCURSOR);
7371
18.4k
    yyaccept = 4;
7372
18.4k
    yych = *(YYMARKER = ++YYCURSOR);
7373
18.4k
    if (yych == 'E') goto yy677;
7374
8.15k
    if (yych == 'e') goto yy677;
7375
1.79k
    goto yy48;
7376
11.8k
yy599:
7377
11.8k
    YYDEBUG(599, *YYCURSOR);
7378
11.8k
    yyaccept = 4;
7379
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
7380
11.8k
    if (yych == 'E') goto yy678;
7381
8.33k
    if (yych == 'e') goto yy678;
7382
645
    goto yy48;
7383
6.42k
yy600:
7384
6.42k
    YYDEBUG(600, *YYCURSOR);
7385
6.42k
    yyaccept = 4;
7386
6.42k
    yych = *(YYMARKER = ++YYCURSOR);
7387
6.42k
    if (yych == 'C') goto yy680;
7388
4.07k
    if (yych == 'c') goto yy680;
7389
219
    goto yy48;
7390
7.19k
yy601:
7391
7.19k
    YYDEBUG(601, *YYCURSOR);
7392
7.19k
    yyaccept = 4;
7393
7.19k
    yych = *(YYMARKER = ++YYCURSOR);
7394
7.19k
    if (yych == 'D') goto yy681;
7395
5.62k
    if (yych == 'd') goto yy681;
7396
771
    goto yy48;
7397
7.17k
yy602:
7398
7.17k
    YYDEBUG(602, *YYCURSOR);
7399
7.17k
    yyaccept = 4;
7400
7.17k
    yych = *(YYMARKER = ++YYCURSOR);
7401
7.17k
    if (yych == 'A') goto yy682;
7402
5.05k
    if (yych == 'a') goto yy682;
7403
199
    goto yy48;
7404
15.6k
yy603:
7405
15.6k
    YYDEBUG(603, *YYCURSOR);
7406
15.6k
    yyaccept = 4;
7407
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
7408
15.6k
    if (yych == 'A') goto yy683;
7409
14.4k
    if (yych == 'a') goto yy683;
7410
526
    goto yy48;
7411
11.2k
yy604:
7412
11.2k
    YYDEBUG(604, *YYCURSOR);
7413
11.2k
    yyaccept = 4;
7414
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
7415
11.2k
    if (yych == 'E') goto yy684;
7416
6.53k
    if (yych == 'e') goto yy684;
7417
464
    goto yy48;
7418
8.06k
yy605:
7419
8.06k
    YYDEBUG(605, *YYCURSOR);
7420
8.06k
    yyaccept = 4;
7421
8.06k
    yych = *(YYMARKER = ++YYCURSOR);
7422
8.06k
    if (yych == 'T') goto yy686;
7423
5.51k
    if (yych == 't') goto yy686;
7424
310
    goto yy48;
7425
31.1k
yy606:
7426
31.1k
    YYDEBUG(606, *YYCURSOR);
7427
31.1k
    yyaccept = 55;
7428
31.1k
    yych = *(YYMARKER = ++YYCURSOR);
7429
31.1k
    if (yybm[256+yych] & 128) {
7430
502
      goto yy47;
7431
502
    }
7432
30.6k
    if (yych == '(') goto yy687;
7433
28.4k
    if (yych == '\\') goto yy164;
7434
29.6k
yy607:
7435
29.6k
    YYDEBUG(607, *YYCURSOR);
7436
29.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7437
29.6k
#line 1798 "Zend/zend_language_scanner.l"
7438
29.6k
    {
7439
29.6k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7440
29.6k
}
7441
0
#line 7442 "Zend/zend_language_scanner.c"
7442
3.59k
yy608:
7443
3.59k
    YYDEBUG(608, *YYCURSOR);
7444
3.59k
    yyaccept = 4;
7445
3.59k
    yych = *(YYMARKER = ++YYCURSOR);
7446
3.59k
    if (yych == 'L') goto yy688;
7447
3.28k
    if (yych == 'l') goto yy688;
7448
668
    goto yy48;
7449
12.1k
yy609:
7450
12.1k
    YYDEBUG(609, *YYCURSOR);
7451
12.1k
    yyaccept = 4;
7452
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
7453
12.1k
    if (yych == 'E') goto yy689;
7454
9.31k
    if (yych == 'e') goto yy689;
7455
1.69k
    goto yy48;
7456
10.8k
yy610:
7457
10.8k
    YYDEBUG(610, *YYCURSOR);
7458
10.8k
    yyaccept = 56;
7459
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
7460
10.8k
    if (yybm[256+yych] & 128) {
7461
731
      goto yy47;
7462
731
    }
7463
10.1k
    if (yych == '\\') goto yy164;
7464
10.1k
yy611:
7465
10.1k
    YYDEBUG(611, *YYCURSOR);
7466
10.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7467
10.1k
#line 1419 "Zend/zend_language_scanner.l"
7468
10.1k
    {
7469
10.1k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7470
10.1k
}
7471
0
#line 7472 "Zend/zend_language_scanner.c"
7472
12.7k
yy612:
7473
12.7k
    YYDEBUG(612, *YYCURSOR);
7474
12.7k
    yyaccept = 57;
7475
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
7476
12.7k
    if (yybm[256+yych] & 128) {
7477
863
      goto yy47;
7478
863
    }
7479
11.9k
    if (yych == '\\') goto yy164;
7480
11.9k
yy613:
7481
11.9k
    YYDEBUG(613, *YYCURSOR);
7482
11.9k
    yyleng = YYCURSOR - SCNG(yy_text);
7483
11.9k
#line 1766 "Zend/zend_language_scanner.l"
7484
11.9k
    {
7485
11.9k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7486
11.9k
}
7487
0
#line 7488 "Zend/zend_language_scanner.c"
7488
4.31k
yy614:
7489
4.31k
    YYDEBUG(614, *YYCURSOR);
7490
4.31k
    yyaccept = 58;
7491
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
7492
4.31k
    if (yybm[256+yych] & 128) {
7493
606
      goto yy47;
7494
606
    }
7495
3.70k
    if (yych == '\\') goto yy164;
7496
3.70k
yy615:
7497
3.70k
    YYDEBUG(615, *YYCURSOR);
7498
3.70k
    yyleng = YYCURSOR - SCNG(yy_text);
7499
3.70k
#line 1514 "Zend/zend_language_scanner.l"
7500
3.70k
    {
7501
3.70k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7502
3.70k
}
7503
0
#line 7504 "Zend/zend_language_scanner.c"
7504
518k
yy616:
7505
518k
    YYDEBUG(616, *YYCURSOR);
7506
518k
    ++YYCURSOR;
7507
518k
    YYFILL(5);
7508
518k
    yych = *YYCURSOR;
7509
518k
    YYDEBUG(617, *YYCURSOR);
7510
518k
    if (yych <= '"') {
7511
89.6k
      if (yych <= '\f') {
7512
54.1k
        if (yych <= 0x08) goto yy86;
7513
52.8k
        if (yych <= '\n') goto yy616;
7514
235
        goto yy86;
7515
52.8k
      } else {
7516
35.4k
        if (yych <= '\r') goto yy616;
7517
6.58k
        if (yych == ' ') goto yy616;
7518
931
        goto yy86;
7519
6.58k
      }
7520
428k
    } else {
7521
428k
      if (yych <= 'E') {
7522
398k
        if (yych <= '#') goto yy618;
7523
24.4k
        if (yych == '/') goto yy619;
7524
12.6k
        goto yy86;
7525
29.6k
      } else {
7526
29.6k
        if (yych <= 'F') goto yy691;
7527
27.7k
        if (yych == 'f') goto yy691;
7528
23.2k
        goto yy86;
7529
27.7k
      }
7530
428k
    }
7531
449k
yy618:
7532
449k
    YYDEBUG(618, *YYCURSOR);
7533
449k
    ++YYCURSOR;
7534
449k
    YYFILL(1);
7535
449k
    yych = *YYCURSOR;
7536
449k
    if (yych <= '\f') {
7537
246k
      if (yych <= 0x00) goto yy86;
7538
245k
      if (yych == '\n') goto yy694;
7539
1.04k
      goto yy692;
7540
245k
    } else {
7541
202k
      if (yych <= '\r') goto yy694;
7542
83.6k
      if (yych == '[') goto yy86;
7543
83.4k
      goto yy692;
7544
83.6k
    }
7545
12.4k
yy619:
7546
12.4k
    YYDEBUG(619, *YYCURSOR);
7547
12.4k
    ++YYCURSOR;
7548
12.4k
    YYFILL(1);
7549
12.4k
    yych = *YYCURSOR;
7550
12.4k
    if (yych == '*') goto yy696;
7551
3.53k
    if (yych == '/') goto yy692;
7552
2.93k
    goto yy86;
7553
11.0k
yy620:
7554
11.0k
    YYDEBUG(620, *YYCURSOR);
7555
11.0k
    yyaccept = 4;
7556
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
7557
11.0k
    if (yych == 'S') goto yy698;
7558
8.55k
    if (yych == 's') goto yy698;
7559
691
    goto yy48;
7560
7.17k
yy621:
7561
7.17k
    YYDEBUG(621, *YYCURSOR);
7562
7.17k
    yyaccept = 4;
7563
7.17k
    yych = *(YYMARKER = ++YYCURSOR);
7564
7.17k
    if (yych == '_') goto yy699;
7565
476
    goto yy48;
7566
4.01k
yy622:
7567
4.01k
    YYDEBUG(622, *YYCURSOR);
7568
4.01k
    yyaccept = 4;
7569
4.01k
    yych = *(YYMARKER = ++YYCURSOR);
7570
4.01k
    if (yych == '_') goto yy701;
7571
290
    goto yy48;
7572
7.54k
yy623:
7573
7.54k
    YYDEBUG(623, *YYCURSOR);
7574
7.54k
    yyaccept = 4;
7575
7.54k
    yych = *(YYMARKER = ++YYCURSOR);
7576
7.54k
    if (yych == 'T') goto yy702;
7577
2.42k
    if (yych == 't') goto yy702;
7578
603
    goto yy48;
7579
3.51k
yy624:
7580
3.51k
    YYDEBUG(624, *YYCURSOR);
7581
3.51k
    yyaccept = 4;
7582
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
7583
3.51k
    if (yych == '_') goto yy703;
7584
287
    goto yy48;
7585
4.08k
yy625:
7586
4.08k
    YYDEBUG(625, *YYCURSOR);
7587
4.08k
    yyaccept = 4;
7588
4.08k
    yych = *(YYMARKER = ++YYCURSOR);
7589
4.08k
    if (yych == '_') goto yy704;
7590
621
    goto yy48;
7591
7.18k
yy626:
7592
7.18k
    YYDEBUG(626, *YYCURSOR);
7593
7.18k
    yyaccept = 4;
7594
7.18k
    yych = *(YYMARKER = ++YYCURSOR);
7595
7.18k
    if (yych == 'O') goto yy705;
7596
3.70k
    if (yych == 'o') goto yy705;
7597
327
    goto yy48;
7598
7.74k
yy627:
7599
7.74k
    YYDEBUG(627, *YYCURSOR);
7600
7.74k
    yyaccept = 4;
7601
7.74k
    yych = *(YYMARKER = ++YYCURSOR);
7602
7.74k
    if (yych == 'S') goto yy706;
7603
3.50k
    if (yych == 's') goto yy706;
7604
349
    goto yy48;
7605
4.04k
yy628:
7606
4.04k
    YYDEBUG(628, *YYCURSOR);
7607
4.04k
    yyaccept = 4;
7608
4.04k
    yych = *(YYMARKER = ++YYCURSOR);
7609
4.04k
    if (yych == 'E') goto yy707;
7610
1.91k
    if (yych == 'e') goto yy707;
7611
692
    goto yy48;
7612
6.14k
yy629:
7613
6.14k
    YYDEBUG(629, *YYCURSOR);
7614
6.14k
    yyaccept = 4;
7615
6.14k
    yych = *(YYMARKER = ++YYCURSOR);
7616
6.14k
    if (yych == 'T') goto yy708;
7617
3.78k
    if (yych == 't') goto yy708;
7618
556
    goto yy48;
7619
115k
yy630:
7620
115k
    YYDEBUG(630, *YYCURSOR);
7621
115k
    ++YYCURSOR;
7622
115k
    YYFILL(1);
7623
115k
    yych = *YYCURSOR;
7624
115k
    if (yych <= '\r') {
7625
84.2k
      if (yych <= '\t') {
7626
1.06k
        if (yych <= 0x00) goto yy86;
7627
743
        goto yy443;
7628
83.2k
      } else {
7629
83.2k
        if (yych <= '\n') goto yy709;
7630
18.1k
        if (yych <= '\f') goto yy443;
7631
17.0k
        goto yy709;
7632
18.1k
      }
7633
84.2k
    } else {
7634
30.7k
      if (yych <= '*') {
7635
3.68k
        if (yych <= ')') goto yy443;
7636
1.29k
        goto yy547;
7637
27.1k
      } else {
7638
27.1k
        if (yych == '[') goto yy230;
7639
26.6k
        goto yy443;
7640
27.1k
      }
7641
30.7k
    }
7642
6.40k
yy631:
7643
6.40k
    YYDEBUG(631, *YYCURSOR);
7644
6.40k
    yyaccept = 26;
7645
6.40k
    YYMARKER = ++YYCURSOR;
7646
6.40k
    YYFILL(1);
7647
6.40k
    yych = *YYCURSOR;
7648
6.40k
    if (yybm[0+yych] & 4) {
7649
5.91k
      goto yy230;
7650
5.91k
    }
7651
489
    if (yych <= 0x00) goto yy89;
7652
219
    goto yy355;
7653
1.99k
yy632:
7654
1.99k
    YYDEBUG(632, *YYCURSOR);
7655
1.99k
    ++YYCURSOR;
7656
1.99k
    YYFILL(1);
7657
1.99k
    yych = *YYCURSOR;
7658
1.99k
    if (yybm[0+yych] & 64) {
7659
402
      goto yy355;
7660
402
    }
7661
1.59k
    if (yych <= 0x00) goto yy86;
7662
1.23k
    if (yych == '.') goto yy711;
7663
358
    goto yy230;
7664
40.8k
yy633:
7665
40.8k
    YYDEBUG(633, *YYCURSOR);
7666
40.8k
    ++YYCURSOR;
7667
40.8k
    YYFILL(1);
7668
40.8k
    yych = *YYCURSOR;
7669
40.8k
    if (yych <= '*') {
7670
39.2k
      if (yych <= 0x00) goto yy86;
7671
38.4k
      if (yych <= ')') goto yy230;
7672
37.8k
      goto yy712;
7673
38.4k
    } else {
7674
1.56k
      if (yych == '/') goto yy443;
7675
1.15k
      goto yy230;
7676
1.56k
    }
7677
853
yy634:
7678
853
    YYDEBUG(634, *YYCURSOR);
7679
853
    ++YYCURSOR;
7680
853
    YYDEBUG(635, *YYCURSOR);
7681
853
    yyleng = YYCURSOR - SCNG(yy_text);
7682
853
#line 1688 "Zend/zend_language_scanner.l"
7683
853
    {
7684
853
  RETURN_TOKEN(T_ARRAY_CAST);
7685
853
}
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
2.34k
yy638:
7702
2.34k
    YYDEBUG(638, *YYCURSOR);
7703
2.34k
    yych = *++YYCURSOR;
7704
2.34k
    if (yych == 'N') goto yy715;
7705
1.27k
    if (yych == 'n') goto yy715;
7706
394
    goto yy86;
7707
1.91k
yy639:
7708
1.91k
    YYDEBUG(639, *YYCURSOR);
7709
1.91k
    ++YYCURSOR;
7710
1.91k
    YYFILL(1);
7711
1.91k
    yych = *YYCURSOR;
7712
1.91k
    YYDEBUG(640, *YYCURSOR);
7713
1.91k
    if (yych <= 0x1F) {
7714
432
      if (yych == '\t') goto yy639;
7715
210
      goto yy86;
7716
1.47k
    } else {
7717
1.47k
      if (yych <= ' ') goto yy639;
7718
1.16k
      if (yych == ')') goto yy717;
7719
756
      goto yy86;
7720
1.16k
    }
7721
2.67k
yy641:
7722
2.67k
    YYDEBUG(641, *YYCURSOR);
7723
2.67k
    ++YYCURSOR;
7724
2.67k
    YYDEBUG(642, *YYCURSOR);
7725
2.67k
    yyleng = YYCURSOR - SCNG(yy_text);
7726
2.67k
#line 1652 "Zend/zend_language_scanner.l"
7727
2.67k
    {
7728
2.67k
  RETURN_TOKEN(T_DOUBLE_CAST);
7729
2.67k
}
7730
0
#line 7731 "Zend/zend_language_scanner.c"
7731
1.63k
yy643:
7732
1.63k
    YYDEBUG(643, *YYCURSOR);
7733
1.63k
    yych = *++YYCURSOR;
7734
1.63k
    if (yych == 'R') goto yy719;
7735
1.22k
    if (yych == 'r') goto yy719;
7736
375
    goto yy86;
7737
2.64k
yy644:
7738
2.64k
    YYDEBUG(644, *YYCURSOR);
7739
2.64k
    ++YYCURSOR;
7740
2.64k
    YYFILL(1);
7741
2.64k
    yych = *YYCURSOR;
7742
2.64k
    YYDEBUG(645, *YYCURSOR);
7743
2.64k
    if (yych <= 0x1F) {
7744
955
      if (yych == '\t') goto yy644;
7745
381
      goto yy86;
7746
1.68k
    } else {
7747
1.68k
      if (yych <= ' ') goto yy644;
7748
1.45k
      if (yych == ')') goto yy721;
7749
372
      goto yy86;
7750
1.45k
    }
7751
4.19k
yy646:
7752
4.19k
    YYDEBUG(646, *YYCURSOR);
7753
4.19k
    ++YYCURSOR;
7754
4.19k
    YYFILL(1);
7755
4.19k
    yych = *YYCURSOR;
7756
4.19k
    YYDEBUG(647, *YYCURSOR);
7757
4.19k
    if (yych <= 0x1F) {
7758
1.37k
      if (yych == '\t') goto yy646;
7759
1.17k
      goto yy86;
7760
2.82k
    } else {
7761
2.82k
      if (yych <= ' ') goto yy646;
7762
2.15k
      if (yych == ')') goto yy723;
7763
1.27k
      goto yy86;
7764
2.15k
    }
7765
582
yy648:
7766
582
    YYDEBUG(648, *YYCURSOR);
7767
582
    ++YYCURSOR;
7768
582
    YYDEBUG(649, *YYCURSOR);
7769
582
    yyleng = YYCURSOR - SCNG(yy_text);
7770
582
#line 1710 "Zend/zend_language_scanner.l"
7771
582
    {
7772
582
  RETURN_TOKEN(T_UNSET_CAST);
7773
582
}
7774
0
#line 7775 "Zend/zend_language_scanner.c"
7775
7.38k
yy650:
7776
7.38k
    YYDEBUG(650, *YYCURSOR);
7777
7.38k
    yyaccept = 4;
7778
7.38k
    yych = *(YYMARKER = ++YYCURSOR);
7779
7.38k
    if (yych == 'T') goto yy725;
7780
4.06k
    if (yych == 't') goto yy725;
7781
403
    goto yy48;
7782
4.22k
yy651:
7783
4.22k
    YYDEBUG(651, *YYCURSOR);
7784
4.22k
    yyaccept = 4;
7785
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
7786
4.22k
    if (yych == 'E') goto yy727;
7787
1.98k
    if (yych == 'e') goto yy727;
7788
210
    goto yy48;
7789
3.65k
yy652:
7790
3.65k
    YYDEBUG(652, *YYCURSOR);
7791
3.65k
    yyaccept = 4;
7792
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
7793
3.65k
    if (yych == 'E') goto yy729;
7794
2.80k
    if (yych == 'e') goto yy729;
7795
449
    goto yy48;
7796
6.69k
yy653:
7797
6.69k
    YYDEBUG(653, *YYCURSOR);
7798
6.69k
    yyaccept = 59;
7799
6.69k
    yych = *(YYMARKER = ++YYCURSOR);
7800
6.69k
    if (yybm[256+yych] & 128) {
7801
446
      goto yy47;
7802
446
    }
7803
6.24k
    if (yych == '\\') goto yy164;
7804
6.24k
yy654:
7805
6.24k
    YYDEBUG(654, *YYCURSOR);
7806
6.24k
    yyleng = YYCURSOR - SCNG(yy_text);
7807
6.24k
#line 1498 "Zend/zend_language_scanner.l"
7808
6.24k
    {
7809
6.24k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7810
6.24k
}
7811
0
#line 7812 "Zend/zend_language_scanner.c"
7812
3.64k
yy655:
7813
3.64k
    YYDEBUG(655, *YYCURSOR);
7814
3.64k
    yyaccept = 60;
7815
3.64k
    yych = *(YYMARKER = ++YYCURSOR);
7816
3.64k
    if (yybm[256+yych] & 128) {
7817
527
      goto yy47;
7818
527
    }
7819
3.11k
    if (yych == '\\') goto yy164;
7820
3.11k
yy656:
7821
3.11k
    YYDEBUG(656, *YYCURSOR);
7822
3.11k
    yyleng = YYCURSOR - SCNG(yy_text);
7823
3.11k
#line 1530 "Zend/zend_language_scanner.l"
7824
3.11k
    {
7825
3.11k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7826
3.11k
}
7827
0
#line 7828 "Zend/zend_language_scanner.c"
7828
6.36k
yy657:
7829
6.36k
    YYDEBUG(657, *YYCURSOR);
7830
6.36k
    yyaccept = 4;
7831
6.36k
    yych = *(YYMARKER = ++YYCURSOR);
7832
6.36k
    if (yych == 'A') goto yy731;
7833
3.30k
    if (yych == 'a') goto yy731;
7834
723
    goto yy48;
7835
5.17k
yy658:
7836
5.17k
    YYDEBUG(658, *YYCURSOR);
7837
5.17k
    yyaccept = 4;
7838
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
7839
5.17k
    if (yych == 'A') goto yy732;
7840
2.49k
    if (yych == 'a') goto yy732;
7841
405
    goto yy48;
7842
3.54k
yy659:
7843
3.54k
    YYDEBUG(659, *YYCURSOR);
7844
3.54k
    yyaccept = 4;
7845
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
7846
3.54k
    if (yych == 'C') goto yy733;
7847
1.81k
    if (yych == 'c') goto yy733;
7848
408
    goto yy48;
7849
4.68k
yy660:
7850
4.68k
    YYDEBUG(660, *YYCURSOR);
7851
4.68k
    yyaccept = 4;
7852
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
7853
4.68k
    if (yych == 'E') goto yy734;
7854
2.98k
    if (yych == 'e') goto yy734;
7855
365
    goto yy48;
7856
4.25k
yy661:
7857
4.25k
    YYDEBUG(661, *YYCURSOR);
7858
4.25k
    yych = *++YYCURSOR;
7859
4.25k
    if (yych == 'T') goto yy736;
7860
3.89k
    if (yych == 't') goto yy736;
7861
1.40k
    goto yy86;
7862
6.31k
yy662:
7863
6.31k
    YYDEBUG(662, *YYCURSOR);
7864
6.31k
    yych = *++YYCURSOR;
7865
6.31k
    if (yych == 'P') goto yy737;
7866
5.37k
    if (yych == 'p') goto yy737;
7867
949
    goto yy86;
7868
28.1k
yy663:
7869
28.1k
    YYDEBUG(663, *YYCURSOR);
7870
28.1k
    ++YYCURSOR;
7871
28.1k
    YYFILL(1);
7872
28.1k
    yych = *YYCURSOR;
7873
28.1k
    if (yych <= '\n') {
7874
14.4k
      if (yych <= 0x00) goto yy86;
7875
14.1k
      if (yych <= '\t') goto yy586;
7876
13.8k
      goto yy588;
7877
14.1k
    } else {
7878
13.7k
      if (yych == '\r') goto yy588;
7879
3.67k
      goto yy586;
7880
13.7k
    }
7881
167k
yy664:
7882
167k
    YYDEBUG(664, *YYCURSOR);
7883
167k
    ++YYCURSOR;
7884
167k
    YYFILL(1);
7885
167k
    yych = *YYCURSOR;
7886
167k
    if (yych <= '\f') {
7887
2.26k
      if (yych <= 0x00) goto yy86;
7888
1.09k
      if (yych == '\n') goto yy495;
7889
366
      goto yy586;
7890
165k
    } else {
7891
165k
      if (yych <= '\r') goto yy495;
7892
152k
      if (yych == '*') goto yy738;
7893
7.16k
      goto yy586;
7894
152k
    }
7895
22.9k
yy665:
7896
22.9k
    YYDEBUG(665, *YYCURSOR);
7897
22.9k
    yyaccept = 53;
7898
22.9k
    YYMARKER = ++YYCURSOR;
7899
22.9k
    YYFILL(1);
7900
22.9k
    yych = *YYCURSOR;
7901
22.9k
    if (yych <= '\n') {
7902
2.56k
      if (yych <= 0x00) goto yy583;
7903
2.17k
      if (yych <= '\t') goto yy586;
7904
827
      goto yy495;
7905
20.4k
    } else {
7906
20.4k
      if (yych == '\r') goto yy495;
7907
19.7k
      goto yy586;
7908
20.4k
    }
7909
299k
yy666:
7910
299k
    YYDEBUG(666, *YYCURSOR);
7911
299k
    yyaccept = 53;
7912
299k
    YYMARKER = ++YYCURSOR;
7913
299k
    YYFILL(1);
7914
299k
    yych = *YYCURSOR;
7915
299k
    if (yych <= '\r') {
7916
40.4k
      if (yych <= '\t') {
7917
31.6k
        if (yych <= 0x00) goto yy583;
7918
31.2k
        goto yy586;
7919
31.6k
      } else {
7920
8.85k
        if (yych <= '\n') goto yy495;
7921
8.16k
        if (yych <= '\f') goto yy586;
7922
1.89k
        goto yy495;
7923
8.16k
      }
7924
258k
    } else {
7925
258k
      if (yych <= 'X') {
7926
130k
        if (yych <= 'W') goto yy586;
7927
2.05k
        goto yy740;
7928
130k
      } else {
7929
127k
        if (yych == 'x') goto yy740;
7930
72.1k
        goto yy586;
7931
127k
      }
7932
258k
    }
7933
26.3k
yy667:
7934
26.3k
    YYDEBUG(667, *YYCURSOR);
7935
26.3k
    yyaccept = 53;
7936
26.3k
    YYMARKER = ++YYCURSOR;
7937
26.3k
    YYFILL(1);
7938
26.3k
    yych = *YYCURSOR;
7939
26.3k
    if (yych <= '\r') {
7940
2.07k
      if (yych <= '\t') {
7941
1.30k
        if (yych <= 0x00) goto yy583;
7942
987
        goto yy586;
7943
1.30k
      } else {
7944
765
        if (yych <= '\n') goto yy495;
7945
456
        if (yych <= '\f') goto yy586;
7946
221
        goto yy495;
7947
456
      }
7948
24.2k
    } else {
7949
24.2k
      if (yych <= 'M') {
7950
9.04k
        if (yych <= 'L') goto yy586;
7951
8.50k
        goto yy741;
7952
15.1k
      } else {
7953
15.1k
        if (yych == 'm') goto yy741;
7954
1.64k
        goto yy586;
7955
15.1k
      }
7956
24.2k
    }
7957
114k
yy668:
7958
114k
    YYDEBUG(668, *YYCURSOR);
7959
114k
    ++YYCURSOR;
7960
114k
    YYFILL(1);
7961
114k
    yych = *YYCURSOR;
7962
114k
    YYDEBUG(669, *YYCURSOR);
7963
114k
    if (yych <= '*') {
7964
16.0k
      if (yych <= 0x00) goto yy86;
7965
14.7k
      if (yych <= ')') goto yy590;
7966
3.49k
      goto yy668;
7967
97.9k
    } else {
7968
97.9k
      if (yych == '/') goto yy495;
7969
12.5k
      goto yy590;
7970
97.9k
    }
7971
14.0k
yy670:
7972
14.0k
    YYDEBUG(670, *YYCURSOR);
7973
14.0k
    yyaccept = 61;
7974
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
7975
14.0k
    if (yybm[256+yych] & 128) {
7976
501
      goto yy47;
7977
501
    }
7978
13.5k
    if (yych == '\\') goto yy164;
7979
13.5k
yy671:
7980
13.5k
    YYDEBUG(671, *YYCURSOR);
7981
13.5k
    yyleng = YYCURSOR - SCNG(yy_text);
7982
13.5k
#line 1579 "Zend/zend_language_scanner.l"
7983
13.5k
    {
7984
13.5k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7985
13.5k
}
7986
0
#line 7987 "Zend/zend_language_scanner.c"
7987
4.59k
yy672:
7988
4.59k
    YYDEBUG(672, *YYCURSOR);
7989
4.59k
    yyaccept = 62;
7990
4.59k
    yych = *(YYMARKER = ++YYCURSOR);
7991
4.59k
    if (yybm[256+yych] & 128) {
7992
272
      goto yy47;
7993
272
    }
7994
4.31k
    if (yych == '\\') goto yy164;
7995
4.26k
yy673:
7996
4.26k
    YYDEBUG(673, *YYCURSOR);
7997
4.26k
    yyleng = YYCURSOR - SCNG(yy_text);
7998
4.26k
#line 1446 "Zend/zend_language_scanner.l"
7999
4.26k
    {
8000
4.26k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8001
4.26k
}
8002
0
#line 8003 "Zend/zend_language_scanner.c"
8003
8.68k
yy674:
8004
8.68k
    YYDEBUG(674, *YYCURSOR);
8005
8.68k
    yyaccept = 63;
8006
8.68k
    yych = *(YYMARKER = ++YYCURSOR);
8007
8.68k
    if (yybm[256+yych] & 128) {
8008
448
      goto yy47;
8009
448
    }
8010
8.23k
    if (yych == '\\') goto yy164;
8011
8.19k
yy675:
8012
8.19k
    YYDEBUG(675, *YYCURSOR);
8013
8.19k
    yyleng = YYCURSOR - SCNG(yy_text);
8014
8.19k
#line 1490 "Zend/zend_language_scanner.l"
8015
8.19k
    {
8016
8.19k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8017
8.19k
}
8018
0
#line 8019 "Zend/zend_language_scanner.c"
8019
40.1k
yy676:
8020
40.1k
    YYDEBUG(676, *YYCURSOR);
8021
40.1k
    yyaccept = 4;
8022
40.1k
    yych = *(YYMARKER = ++YYCURSOR);
8023
40.1k
    if (yych == 'N') goto yy742;
8024
39.4k
    if (yych == 'n') goto yy742;
8025
590
    goto yy48;
8026
16.6k
yy677:
8027
16.6k
    YYDEBUG(677, *YYCURSOR);
8028
16.6k
    yyaccept = 4;
8029
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
8030
16.6k
    if (yych == 'N') goto yy744;
8031
6.89k
    if (yych == 'n') goto yy744;
8032
2.76k
    goto yy48;
8033
11.2k
yy678:
8034
11.2k
    YYDEBUG(678, *YYCURSOR);
8035
11.2k
    yyaccept = 64;
8036
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
8037
11.2k
    if (yych <= '\\') {
8038
5.33k
      if (yych <= '@') {
8039
4.42k
        if (yych <= '/') goto yy679;
8040
676
        if (yych <= '9') goto yy47;
8041
917
      } else {
8042
917
        if (yych <= 'Z') goto yy47;
8043
658
        if (yych >= '\\') goto yy164;
8044
658
      }
8045
5.91k
    } else {
8046
5.91k
      if (yych <= '`') {
8047
4.71k
        if (yych == '_') goto yy745;
8048
4.71k
      } else {
8049
1.19k
        if (yych <= 'z') goto yy47;
8050
945
        if (yych >= 0x80) goto yy47;
8051
945
      }
8052
5.91k
    }
8053
5.82k
yy679:
8054
5.82k
    YYDEBUG(679, *YYCURSOR);
8055
5.82k
    yyleng = YYCURSOR - SCNG(yy_text);
8056
5.82k
#line 1722 "Zend/zend_language_scanner.l"
8057
5.82k
    {
8058
5.82k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8059
5.82k
}
8060
0
#line 8061 "Zend/zend_language_scanner.c"
8061
6.20k
yy680:
8062
6.20k
    YYDEBUG(680, *YYCURSOR);
8063
6.20k
    yyaccept = 4;
8064
6.20k
    yych = *(YYMARKER = ++YYCURSOR);
8065
6.20k
    if (yych == 'E') goto yy746;
8066
3.64k
    if (yych == 'e') goto yy746;
8067
233
    goto yy48;
8068
6.41k
yy681:
8069
6.41k
    YYDEBUG(681, *YYCURSOR);
8070
6.41k
    yyaccept = 4;
8071
6.41k
    yych = *(YYMARKER = ++YYCURSOR);
8072
6.41k
    if (yych == 'O') goto yy747;
8073
4.97k
    if (yych == 'o') goto yy747;
8074
656
    goto yy48;
8075
6.97k
yy682:
8076
6.97k
    YYDEBUG(682, *YYCURSOR);
8077
6.97k
    yyaccept = 4;
8078
6.97k
    yych = *(YYMARKER = ++YYCURSOR);
8079
6.97k
    if (yych == 'C') goto yy748;
8080
5.06k
    if (yych == 'c') goto yy748;
8081
284
    goto yy48;
8082
15.0k
yy683:
8083
15.0k
    YYDEBUG(683, *YYCURSOR);
8084
15.0k
    yyaccept = 4;
8085
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
8086
15.0k
    if (yych == 'C') goto yy749;
8087
13.2k
    if (yych == 'c') goto yy749;
8088
497
    goto yy48;
8089
10.7k
yy684:
8090
10.7k
    YYDEBUG(684, *YYCURSOR);
8091
10.7k
    yyaccept = 65;
8092
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
8093
10.7k
    if (yybm[256+yych] & 128) {
8094
471
      goto yy47;
8095
471
    }
8096
10.2k
    if (yych == '(') goto yy750;
8097
8.05k
    if (yych == '\\') goto yy164;
8098
9.35k
yy685:
8099
9.35k
    YYDEBUG(685, *YYCURSOR);
8100
9.35k
    yyleng = YYCURSOR - SCNG(yy_text);
8101
9.35k
#line 1778 "Zend/zend_language_scanner.l"
8102
9.35k
    {
8103
9.35k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8104
9.35k
}
8105
0
#line 8106 "Zend/zend_language_scanner.c"
8106
7.75k
yy686:
8107
7.75k
    YYDEBUG(686, *YYCURSOR);
8108
7.75k
    yyaccept = 4;
8109
7.75k
    yych = *(YYMARKER = ++YYCURSOR);
8110
7.75k
    if (yych == 'E') goto yy751;
8111
4.98k
    if (yych == 'e') goto yy751;
8112
456
    goto yy48;
8113
2.20k
yy687:
8114
2.20k
    YYDEBUG(687, *YYCURSOR);
8115
2.20k
    yych = *++YYCURSOR;
8116
2.20k
    if (yych == 'S') goto yy752;
8117
1.42k
    if (yych == 's') goto yy752;
8118
344
    goto yy86;
8119
2.92k
yy688:
8120
2.92k
    YYDEBUG(688, *YYCURSOR);
8121
2.92k
    yyaccept = 4;
8122
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
8123
2.92k
    if (yych == 'Y') goto yy753;
8124
2.61k
    if (yych == 'y') goto yy753;
8125
458
    goto yy48;
8126
10.4k
yy689:
8127
10.4k
    YYDEBUG(689, *YYCURSOR);
8128
10.4k
    yyaccept = 66;
8129
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
8130
10.4k
    if (yych <= '\\') {
8131
3.71k
      if (yych <= '@') {
8132
2.61k
        if (yych <= '/') goto yy690;
8133
575
        if (yych <= '9') goto yy47;
8134
1.10k
      } else {
8135
1.10k
        if (yych <= 'Z') goto yy47;
8136
425
        if (yych >= '\\') goto yy164;
8137
425
      }
8138
6.71k
    } else {
8139
6.71k
      if (yych <= '`') {
8140
5.14k
        if (yych == '_') goto yy755;
8141
5.14k
      } else {
8142
1.56k
        if (yych <= 'z') goto yy47;
8143
1.30k
        if (yych >= 0x80) goto yy47;
8144
1.30k
      }
8145
6.71k
    }
8146
3.32k
yy690:
8147
3.32k
    YYDEBUG(690, *YYCURSOR);
8148
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
8149
3.32k
#line 1730 "Zend/zend_language_scanner.l"
8150
3.32k
    {
8151
3.32k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8152
3.32k
}
8153
0
#line 8154 "Zend/zend_language_scanner.c"
8154
6.79k
yy691:
8155
6.79k
    YYDEBUG(691, *YYCURSOR);
8156
6.79k
    yych = *++YYCURSOR;
8157
6.79k
    if (yych == 'R') goto yy756;
8158
5.11k
    if (yych == 'r') goto yy756;
8159
2.94k
    goto yy86;
8160
3.37M
yy692:
8161
3.37M
    YYDEBUG(692, *YYCURSOR);
8162
3.37M
    ++YYCURSOR;
8163
3.37M
    YYFILL(1);
8164
3.37M
    yych = *YYCURSOR;
8165
3.37M
    YYDEBUG(693, *YYCURSOR);
8166
3.37M
    if (yych <= '\n') {
8167
158k
      if (yych <= 0x00) goto yy86;
8168
141k
      if (yych <= '\t') goto yy692;
8169
123k
      goto yy616;
8170
3.21M
    } else {
8171
3.21M
      if (yych == '\r') goto yy616;
8172
3.01M
      goto yy692;
8173
3.21M
    }
8174
391k
yy694:
8175
391k
    YYDEBUG(694, *YYCURSOR);
8176
391k
    ++YYCURSOR;
8177
391k
    YYFILL(1);
8178
391k
    yych = *YYCURSOR;
8179
391k
    YYDEBUG(695, *YYCURSOR);
8180
391k
    if (yych <= ' ') {
8181
21.3k
      if (yych <= '\n') {
8182
4.88k
        if (yych <= 0x00) goto yy86;
8183
4.21k
        if (yych <= 0x08) goto yy692;
8184
3.83k
        if (yych <= '\t') goto yy694;
8185
2.42k
        goto yy616;
8186
16.4k
      } else {
8187
16.4k
        if (yych == '\r') goto yy616;
8188
1.79k
        if (yych <= 0x1F) goto yy692;
8189
1.02k
        goto yy694;
8190
1.79k
      }
8191
370k
    } else {
8192
370k
      if (yych <= '/') {
8193
143k
        if (yych == '#') goto yy757;
8194
135k
        if (yych <= '.') goto yy692;
8195
122k
        goto yy758;
8196
226k
      } else {
8197
226k
        if (yych <= 'F') {
8198
39.2k
          if (yych <= 'E') goto yy692;
8199
24.3k
          goto yy759;
8200
187k
        } else {
8201
187k
          if (yych == 'f') goto yy759;
8202
184k
          goto yy692;
8203
187k
        }
8204
226k
      }
8205
370k
    }
8206
3.01M
yy696:
8207
3.01M
    YYDEBUG(696, *YYCURSOR);
8208
3.01M
    ++YYCURSOR;
8209
3.01M
    YYFILL(1);
8210
3.01M
    yych = *YYCURSOR;
8211
3.01M
    YYDEBUG(697, *YYCURSOR);
8212
3.01M
    if (yych <= 0x00) goto yy86;
8213
2.99M
    if (yych == '*') goto yy760;
8214
2.90M
    goto yy696;
8215
2.90M
yy698:
8216
10.4k
    YYDEBUG(698, *YYCURSOR);
8217
10.4k
    yyaccept = 4;
8218
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
8219
10.4k
    if (yych == '_') goto yy762;
8220
363
    goto yy48;
8221
6.69k
yy699:
8222
6.69k
    YYDEBUG(699, *YYCURSOR);
8223
6.69k
    yyaccept = 67;
8224
6.69k
    yych = *(YYMARKER = ++YYCURSOR);
8225
6.69k
    if (yybm[256+yych] & 128) {
8226
531
      goto yy47;
8227
531
    }
8228
6.16k
    if (yych == '\\') goto yy164;
8229
6.03k
yy700:
8230
6.03k
    YYDEBUG(700, *YYCURSOR);
8231
6.03k
    yyleng = YYCURSOR - SCNG(yy_text);
8232
6.03k
#line 2281 "Zend/zend_language_scanner.l"
8233
6.03k
    {
8234
6.03k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8235
6.03k
}
8236
0
#line 8237 "Zend/zend_language_scanner.c"
8237
3.72k
yy701:
8238
3.72k
    YYDEBUG(701, *YYCURSOR);
8239
3.72k
    yyaccept = 4;
8240
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
8241
3.72k
    if (yych == '_') goto yy763;
8242
259
    goto yy48;
8243
6.94k
yy702:
8244
6.94k
    YYDEBUG(702, *YYCURSOR);
8245
6.94k
    yyaccept = 4;
8246
6.94k
    yych = *(YYMARKER = ++YYCURSOR);
8247
6.94k
    if (yych == 'I') goto yy765;
8248
2.88k
    if (yych == 'i') goto yy765;
8249
356
    goto yy48;
8250
3.22k
yy703:
8251
3.22k
    YYDEBUG(703, *YYCURSOR);
8252
3.22k
    yyaccept = 4;
8253
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
8254
3.22k
    if (yych == 'C') goto yy766;
8255
2.36k
    if (yych == 'c') goto yy766;
8256
386
    goto yy48;
8257
3.46k
yy704:
8258
3.46k
    YYDEBUG(704, *YYCURSOR);
8259
3.46k
    yyaccept = 4;
8260
3.46k
    yych = *(YYMARKER = ++YYCURSOR);
8261
3.46k
    if (yych == '_') goto yy767;
8262
331
    goto yy48;
8263
6.85k
yy705:
8264
6.85k
    YYDEBUG(705, *YYCURSOR);
8265
6.85k
    yyaccept = 4;
8266
6.85k
    yych = *(YYMARKER = ++YYCURSOR);
8267
6.85k
    if (yych == 'D') goto yy769;
8268
3.28k
    if (yych == 'd') goto yy769;
8269
345
    goto yy48;
8270
7.39k
yy706:
8271
7.39k
    YYDEBUG(706, *YYCURSOR);
8272
7.39k
    yyaccept = 4;
8273
7.39k
    yych = *(YYMARKER = ++YYCURSOR);
8274
7.39k
    if (yych == 'P') goto yy770;
8275
3.28k
    if (yych == 'p') goto yy770;
8276
305
    goto yy48;
8277
3.35k
yy707:
8278
3.35k
    YYDEBUG(707, *YYCURSOR);
8279
3.35k
    yyaccept = 4;
8280
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
8281
3.35k
    if (yych == 'R') goto yy771;
8282
1.14k
    if (yych == 'r') goto yy771;
8283
364
    goto yy48;
8284
5.59k
yy708:
8285
5.59k
    YYDEBUG(708, *YYCURSOR);
8286
5.59k
    yyaccept = 4;
8287
5.59k
    yych = *(YYMARKER = ++YYCURSOR);
8288
5.59k
    if (yych == '_') goto yy772;
8289
410
    goto yy48;
8290
117k
yy709:
8291
117k
    YYDEBUG(709, *YYCURSOR);
8292
117k
    ++YYCURSOR;
8293
117k
    YYFILL(1);
8294
117k
    yych = *YYCURSOR;
8295
117k
    YYDEBUG(710, *YYCURSOR);
8296
117k
    if (yych <= ' ') {
8297
15.2k
      if (yych <= '\n') {
8298
6.66k
        if (yych <= 0x00) goto yy86;
8299
6.18k
        if (yych <= 0x08) goto yy443;
8300
5.75k
        if (yych <= '\t') goto yy709;
8301
706
        goto yy545;
8302
8.56k
      } else {
8303
8.56k
        if (yych == '\r') goto yy545;
8304
1.62k
        if (yych <= 0x1F) goto yy443;
8305
520
        goto yy709;
8306
1.62k
      }
8307
101k
    } else {
8308
101k
      if (yych <= ')') {
8309
13.4k
        if (yych <= '"') goto yy443;
8310
13.1k
        if (yych <= '#') goto yy773;
8311
2.75k
        if (yych <= '$') goto yy774;
8312
1.79k
        goto yy443;
8313
88.3k
      } else {
8314
88.3k
        if (yych <= '-') {
8315
1.55k
          if (yych <= '*') goto yy547;
8316
901
          goto yy443;
8317
86.8k
        } else {
8318
86.8k
          if (yych <= '.') goto yy775;
8319
80.9k
          if (yych <= '/') goto yy776;
8320
49.7k
          goto yy443;
8321
80.9k
        }
8322
88.3k
      }
8323
101k
    }
8324
876
yy711:
8325
876
    YYDEBUG(711, *YYCURSOR);
8326
876
    ++YYCURSOR;
8327
876
    YYFILL(1);
8328
876
    yych = *YYCURSOR;
8329
876
    if (yybm[0+yych] & 64) {
8330
236
      goto yy355;
8331
236
    }
8332
640
    if (yych <= 0x00) goto yy86;
8333
442
    if (yych == '.') goto yy631;
8334
199
    goto yy230;
8335
37.8k
yy712:
8336
37.8k
    YYDEBUG(712, *YYCURSOR);
8337
37.8k
    ++YYCURSOR;
8338
37.8k
    YYFILL(1);
8339
37.8k
    yych = *YYCURSOR;
8340
37.8k
    if (yybm[0+yych] & 64) {
8341
369
      goto yy355;
8342
369
    }
8343
37.5k
    if (yych <= 0x00) goto yy86;
8344
37.1k
    if (yych == '/') goto yy545;
8345
583
    goto yy230;
8346
583
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
2.36k
yy715:
8363
2.36k
    YYDEBUG(715, *YYCURSOR);
8364
2.36k
    ++YYCURSOR;
8365
2.36k
    YYFILL(1);
8366
2.36k
    yych = *YYCURSOR;
8367
2.36k
    YYDEBUG(716, *YYCURSOR);
8368
2.36k
    if (yych <= 0x1F) {
8369
640
      if (yych == '\t') goto yy715;
8370
445
      goto yy86;
8371
1.72k
    } else {
8372
1.72k
      if (yych <= ' ') goto yy715;
8373
1.50k
      if (yych == ')') goto yy777;
8374
1.09k
      goto yy86;
8375
1.50k
    }
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.56k
yy719:
8393
2.56k
    YYDEBUG(719, *YYCURSOR);
8394
2.56k
    ++YYCURSOR;
8395
2.56k
    YYFILL(1);
8396
2.56k
    yych = *YYCURSOR;
8397
2.56k
    YYDEBUG(720, *YYCURSOR);
8398
2.56k
    if (yych <= 0x1F) {
8399
1.41k
      if (yych == '\t') goto yy719;
8400
341
      goto yy86;
8401
1.41k
    } else {
8402
1.15k
      if (yych <= ' ') goto yy719;
8403
915
      if (yych == ')') goto yy779;
8404
453
      goto yy86;
8405
915
    }
8406
1.08k
yy721:
8407
1.08k
    YYDEBUG(721, *YYCURSOR);
8408
1.08k
    ++YYCURSOR;
8409
1.08k
    YYDEBUG(722, *YYCURSOR);
8410
1.08k
    yyleng = YYCURSOR - SCNG(yy_text);
8411
1.08k
#line 1692 "Zend/zend_language_scanner.l"
8412
1.08k
    {
8413
1.08k
  RETURN_TOKEN(T_OBJECT_CAST);
8414
1.08k
}
8415
0
#line 8416 "Zend/zend_language_scanner.c"
8416
875
yy723:
8417
875
    YYDEBUG(723, *YYCURSOR);
8418
875
    ++YYCURSOR;
8419
875
    YYDEBUG(724, *YYCURSOR);
8420
875
    yyleng = YYCURSOR - SCNG(yy_text);
8421
875
#line 1674 "Zend/zend_language_scanner.l"
8422
875
    {
8423
875
  RETURN_TOKEN(T_STRING_CAST);
8424
875
}
8425
0
#line 8426 "Zend/zend_language_scanner.c"
8426
6.97k
yy725:
8427
6.97k
    YYDEBUG(725, *YYCURSOR);
8428
6.97k
    yyaccept = 68;
8429
6.97k
    yych = *(YYMARKER = ++YYCURSOR);
8430
6.97k
    if (yybm[256+yych] & 128) {
8431
497
      goto yy47;
8432
497
    }
8433
6.48k
    if (yych == '\\') goto yy164;
8434
6.48k
yy726:
8435
6.48k
    YYDEBUG(726, *YYCURSOR);
8436
6.48k
    yyleng = YYCURSOR - SCNG(yy_text);
8437
6.48k
#line 1770 "Zend/zend_language_scanner.l"
8438
6.48k
    {
8439
6.48k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8440
6.48k
}
8441
0
#line 8442 "Zend/zend_language_scanner.c"
8442
4.01k
yy727:
8443
4.01k
    YYDEBUG(727, *YYCURSOR);
8444
4.01k
    yyaccept = 69;
8445
4.01k
    yych = *(YYMARKER = ++YYCURSOR);
8446
4.01k
    if (yybm[256+yych] & 128) {
8447
382
      goto yy47;
8448
382
    }
8449
3.63k
    if (yych == '\\') goto yy164;
8450
3.63k
yy728:
8451
3.63k
    YYDEBUG(728, *YYCURSOR);
8452
3.63k
    yyleng = YYCURSOR - SCNG(yy_text);
8453
3.63k
#line 1822 "Zend/zend_language_scanner.l"
8454
3.63k
    {
8455
3.63k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8456
3.63k
}
8457
0
#line 8458 "Zend/zend_language_scanner.c"
8458
3.20k
yy729:
8459
3.20k
    YYDEBUG(729, *YYCURSOR);
8460
3.20k
    yyaccept = 70;
8461
3.20k
    yych = *(YYMARKER = ++YYCURSOR);
8462
3.20k
    if (yybm[256+yych] & 128) {
8463
244
      goto yy47;
8464
244
    }
8465
2.96k
    if (yych == '\\') goto yy164;
8466
2.86k
yy730:
8467
2.86k
    YYDEBUG(730, *YYCURSOR);
8468
2.86k
    yyleng = YYCURSOR - SCNG(yy_text);
8469
2.86k
#line 1538 "Zend/zend_language_scanner.l"
8470
2.86k
    {
8471
2.86k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8472
2.86k
}
8473
0
#line 8474 "Zend/zend_language_scanner.c"
8474
5.64k
yy731:
8475
5.64k
    YYDEBUG(731, *YYCURSOR);
8476
5.64k
    yyaccept = 4;
8477
5.64k
    yych = *(YYMARKER = ++YYCURSOR);
8478
5.64k
    if (yych == 'R') goto yy781;
8479
2.88k
    if (yych == 'r') goto yy781;
8480
632
    goto yy48;
8481
4.77k
yy732:
8482
4.77k
    YYDEBUG(732, *YYCURSOR);
8483
4.77k
    yyaccept = 4;
8484
4.77k
    yych = *(YYMARKER = ++YYCURSOR);
8485
4.77k
    if (yych == 'C') goto yy782;
8486
2.47k
    if (yych == 'c') goto yy782;
8487
499
    goto yy48;
8488
3.13k
yy733:
8489
3.13k
    YYDEBUG(733, *YYCURSOR);
8490
3.13k
    yyaccept = 4;
8491
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
8492
3.13k
    if (yych == 'H') goto yy783;
8493
1.51k
    if (yych == 'h') goto yy783;
8494
540
    goto yy48;
8495
4.31k
yy734:
8496
4.31k
    YYDEBUG(734, *YYCURSOR);
8497
4.31k
    yyaccept = 71;
8498
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
8499
4.31k
    if (yybm[256+yych] & 128) {
8500
489
      goto yy47;
8501
489
    }
8502
3.82k
    if (yych == '\\') goto yy164;
8503
3.82k
yy735:
8504
3.82k
    YYDEBUG(735, *YYCURSOR);
8505
3.82k
    yyleng = YYCURSOR - SCNG(yy_text);
8506
3.82k
#line 1474 "Zend/zend_language_scanner.l"
8507
3.82k
    {
8508
3.82k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8509
3.82k
}
8510
0
#line 8511 "Zend/zend_language_scanner.c"
8511
2.84k
yy736:
8512
2.84k
    YYDEBUG(736, *YYCURSOR);
8513
2.84k
    yych = *++YYCURSOR;
8514
2.84k
    if (yych == 'E') goto yy785;
8515
2.61k
    if (yych == 'e') goto yy785;
8516
804
    goto yy86;
8517
5.36k
yy737:
8518
5.36k
    YYDEBUG(737, *YYCURSOR);
8519
5.36k
    yych = *++YYCURSOR;
8520
5.36k
    if (yych == 'L') goto yy786;
8521
4.55k
    if (yych == 'l') goto yy786;
8522
1.04k
    goto yy86;
8523
2.72M
yy738:
8524
2.72M
    YYDEBUG(738, *YYCURSOR);
8525
2.72M
    ++YYCURSOR;
8526
2.72M
    YYFILL(1);
8527
2.72M
    yych = *YYCURSOR;
8528
2.72M
    YYDEBUG(739, *YYCURSOR);
8529
2.72M
    if (yych <= '\f') {
8530
230k
      if (yych <= 0x00) goto yy86;
8531
217k
      if (yych == '\n') goto yy787;
8532
18.6k
      goto yy738;
8533
2.48M
    } else {
8534
2.48M
      if (yych <= '\r') goto yy787;
8535
2.33M
      if (yych == '*') goto yy789;
8536
2.29M
      goto yy738;
8537
2.33M
    }
8538
57.7k
yy740:
8539
57.7k
    YYDEBUG(740, *YYCURSOR);
8540
57.7k
    ++YYCURSOR;
8541
57.7k
    YYFILL(1);
8542
57.7k
    yych = *YYCURSOR;
8543
57.7k
    if (yych <= '\r') {
8544
2.07k
      if (yych <= '\t') {
8545
1.21k
        if (yych <= 0x00) goto yy86;
8546
931
        goto yy586;
8547
1.21k
      } else {
8548
858
        if (yych <= '\n') goto yy495;
8549
511
        if (yych <= '\f') goto yy586;
8550
286
        goto yy495;
8551
511
      }
8552
55.6k
    } else {
8553
55.6k
      if (yych <= 'T') {
8554
2.26k
        if (yych <= 'S') goto yy586;
8555
1.40k
        goto yy791;
8556
53.3k
      } else {
8557
53.3k
        if (yych == 't') goto yy791;
8558
44.0k
        goto yy586;
8559
53.3k
      }
8560
55.6k
    }
8561
22.0k
yy741:
8562
22.0k
    YYDEBUG(741, *YYCURSOR);
8563
22.0k
    ++YYCURSOR;
8564
22.0k
    YYFILL(1);
8565
22.0k
    yych = *YYCURSOR;
8566
22.0k
    if (yych <= '\r') {
8567
1.64k
      if (yych <= '\t') {
8568
455
        if (yych <= 0x00) goto yy86;
8569
216
        goto yy586;
8570
1.19k
      } else {
8571
1.19k
        if (yych <= '\n') goto yy495;
8572
579
        if (yych <= '\f') goto yy586;
8573
367
        goto yy495;
8574
579
      }
8575
20.4k
    } else {
8576
20.4k
      if (yych <= 'P') {
8577
5.39k
        if (yych <= 'O') goto yy586;
8578
4.51k
        goto yy792;
8579
15.0k
      } else {
8580
15.0k
        if (yych == 'p') goto yy792;
8581
584
        goto yy586;
8582
15.0k
      }
8583
20.4k
    }
8584
39.5k
yy742:
8585
39.5k
    YYDEBUG(742, *YYCURSOR);
8586
39.5k
    yyaccept = 72;
8587
39.5k
    yych = *(YYMARKER = ++YYCURSOR);
8588
39.5k
    if (yybm[256+yych] & 128) {
8589
498
      goto yy47;
8590
498
    }
8591
39.0k
    if (yych == '\\') goto yy164;
8592
39.0k
yy743:
8593
39.0k
    YYDEBUG(743, *YYCURSOR);
8594
39.0k
    yyleng = YYCURSOR - SCNG(yy_text);
8595
39.0k
#line 1411 "Zend/zend_language_scanner.l"
8596
39.0k
    {
8597
39.0k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8598
39.0k
}
8599
0
#line 8600 "Zend/zend_language_scanner.c"
8600
13.8k
yy744:
8601
13.8k
    YYDEBUG(744, *YYCURSOR);
8602
13.8k
    yyaccept = 4;
8603
13.8k
    yych = *(YYMARKER = ++YYCURSOR);
8604
13.8k
    if (yych == 'T') goto yy793;
8605
8.42k
    if (yych == 't') goto yy793;
8606
5.57k
    goto yy48;
8607
5.57k
yy745:
8608
4.31k
    YYDEBUG(745, *YYCURSOR);
8609
4.31k
    yyaccept = 4;
8610
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
8611
4.31k
    if (yych == 'O') goto yy794;
8612
2.79k
    if (yych == 'o') goto yy794;
8613
411
    goto yy48;
8614
5.97k
yy746:
8615
5.97k
    YYDEBUG(746, *YYCURSOR);
8616
5.97k
    yyaccept = 4;
8617
5.97k
    yych = *(YYMARKER = ++YYCURSOR);
8618
5.97k
    if (yych == 'O') goto yy795;
8619
3.64k
    if (yych == 'o') goto yy795;
8620
257
    goto yy48;
8621
5.76k
yy747:
8622
5.76k
    YYDEBUG(747, *YYCURSOR);
8623
5.76k
    yyaccept = 4;
8624
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
8625
5.76k
    if (yych == 'F') goto yy796;
8626
4.13k
    if (yych == 'f') goto yy796;
8627
442
    goto yy48;
8628
6.69k
yy748:
8629
6.69k
    YYDEBUG(748, *YYCURSOR);
8630
6.69k
    yyaccept = 4;
8631
6.69k
    yych = *(YYMARKER = ++YYCURSOR);
8632
6.69k
    if (yych == 'E') goto yy798;
8633
5.17k
    if (yych == 'e') goto yy798;
8634
946
    goto yy48;
8635
14.5k
yy749:
8636
14.5k
    YYDEBUG(749, *YYCURSOR);
8637
14.5k
    yyaccept = 4;
8638
14.5k
    yych = *(YYMARKER = ++YYCURSOR);
8639
14.5k
    if (yych == 'E') goto yy800;
8640
12.9k
    if (yych == 'e') goto yy800;
8641
628
    goto yy48;
8642
2.24k
yy750:
8643
2.24k
    YYDEBUG(750, *YYCURSOR);
8644
2.24k
    yych = *++YYCURSOR;
8645
2.24k
    if (yych == 'S') goto yy802;
8646
1.92k
    if (yych == 's') goto yy802;
8647
255
    goto yy86;
8648
7.29k
yy751:
8649
7.29k
    YYDEBUG(751, *YYCURSOR);
8650
7.29k
    yyaccept = 4;
8651
7.29k
    yych = *(YYMARKER = ++YYCURSOR);
8652
7.29k
    if (yych == 'D') goto yy803;
8653
4.66k
    if (yych == 'd') goto yy803;
8654
287
    goto yy48;
8655
1.86k
yy752:
8656
1.86k
    YYDEBUG(752, *YYCURSOR);
8657
1.86k
    yych = *++YYCURSOR;
8658
1.86k
    if (yych == 'E') goto yy805;
8659
1.49k
    if (yych == 'e') goto yy805;
8660
334
    goto yy86;
8661
2.46k
yy753:
8662
2.46k
    YYDEBUG(753, *YYCURSOR);
8663
2.46k
    yyaccept = 73;
8664
2.46k
    yych = *(YYMARKER = ++YYCURSOR);
8665
2.46k
    if (yybm[256+yych] & 128) {
8666
489
      goto yy47;
8667
489
    }
8668
1.97k
    if (yych == '\\') goto yy164;
8669
1.97k
yy754:
8670
1.97k
    YYDEBUG(754, *YYCURSOR);
8671
1.97k
    yyleng = YYCURSOR - SCNG(yy_text);
8672
1.97k
#line 1802 "Zend/zend_language_scanner.l"
8673
1.97k
    {
8674
1.97k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8675
1.97k
}
8676
0
#line 8677 "Zend/zend_language_scanner.c"
8677
4.86k
yy755:
8678
4.86k
    YYDEBUG(755, *YYCURSOR);
8679
4.86k
    yyaccept = 4;
8680
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
8681
4.86k
    if (yych == 'O') goto yy806;
8682
3.21k
    if (yych == 'o') goto yy806;
8683
293
    goto yy48;
8684
3.84k
yy756:
8685
3.84k
    YYDEBUG(756, *YYCURSOR);
8686
3.84k
    yych = *++YYCURSOR;
8687
3.84k
    if (yych == 'O') goto yy807;
8688
2.37k
    if (yych == 'o') goto yy807;
8689
295
    goto yy86;
8690
8.00k
yy757:
8691
8.00k
    YYDEBUG(757, *YYCURSOR);
8692
8.00k
    ++YYCURSOR;
8693
8.00k
    YYFILL(1);
8694
8.00k
    yych = *YYCURSOR;
8695
8.00k
    if (yych <= '\n') {
8696
5.55k
      if (yych <= 0x00) goto yy86;
8697
5.19k
      if (yych <= '\t') goto yy692;
8698
4.98k
      goto yy694;
8699
5.19k
    } else {
8700
2.44k
      if (yych == '\r') goto yy694;
8701
1.39k
      goto yy692;
8702
2.44k
    }
8703
122k
yy758:
8704
122k
    YYDEBUG(758, *YYCURSOR);
8705
122k
    ++YYCURSOR;
8706
122k
    YYFILL(1);
8707
122k
    yych = *YYCURSOR;
8708
122k
    if (yych <= '\f') {
8709
2.21k
      if (yych <= 0x00) goto yy86;
8710
1.93k
      if (yych == '\n') goto yy616;
8711
516
      goto yy692;
8712
120k
    } else {
8713
120k
      if (yych <= '\r') goto yy616;
8714
108k
      if (yych == '*') goto yy808;
8715
18.4k
      goto yy692;
8716
108k
    }
8717
27.7k
yy759:
8718
27.7k
    YYDEBUG(759, *YYCURSOR);
8719
27.7k
    ++YYCURSOR;
8720
27.7k
    YYFILL(1);
8721
27.7k
    yych = *YYCURSOR;
8722
27.7k
    if (yych <= '\r') {
8723
4.26k
      if (yych <= '\t') {
8724
507
        if (yych <= 0x00) goto yy86;
8725
272
        goto yy692;
8726
3.75k
      } else {
8727
3.75k
        if (yych <= '\n') goto yy616;
8728
569
        if (yych <= '\f') goto yy692;
8729
371
        goto yy616;
8730
569
      }
8731
23.5k
    } else {
8732
23.5k
      if (yych <= 'R') {
8733
19.0k
        if (yych <= 'Q') goto yy692;
8734
15.7k
        goto yy810;
8735
19.0k
      } else {
8736
4.51k
        if (yych == 'r') goto yy810;
8737
1.61k
        goto yy692;
8738
4.51k
      }
8739
23.5k
    }
8740
97.7k
yy760:
8741
97.7k
    YYDEBUG(760, *YYCURSOR);
8742
97.7k
    ++YYCURSOR;
8743
97.7k
    YYFILL(1);
8744
97.7k
    yych = *YYCURSOR;
8745
97.7k
    YYDEBUG(761, *YYCURSOR);
8746
97.7k
    if (yych <= '*') {
8747
46.6k
      if (yych <= 0x00) goto yy86;
8748
45.9k
      if (yych <= ')') goto yy696;
8749
2.71k
      goto yy760;
8750
51.0k
    } else {
8751
51.0k
      if (yych == '/') goto yy616;
8752
6.87k
      goto yy696;
8753
51.0k
    }
8754
10.0k
yy762:
8755
10.0k
    YYDEBUG(762, *YYCURSOR);
8756
10.0k
    yyaccept = 4;
8757
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
8758
10.0k
    if (yych == '_') goto yy811;
8759
424
    goto yy48;
8760
3.46k
yy763:
8761
3.46k
    YYDEBUG(763, *YYCURSOR);
8762
3.46k
    yyaccept = 74;
8763
3.46k
    yych = *(YYMARKER = ++YYCURSOR);
8764
3.46k
    if (yybm[256+yych] & 128) {
8765
497
      goto yy47;
8766
497
    }
8767
2.97k
    if (yych == '\\') goto yy164;
8768
2.97k
yy764:
8769
2.97k
    YYDEBUG(764, *YYCURSOR);
8770
2.97k
    yyleng = YYCURSOR - SCNG(yy_text);
8771
2.97k
#line 2277 "Zend/zend_language_scanner.l"
8772
2.97k
    {
8773
2.97k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8774
2.97k
}
8775
0
#line 8776 "Zend/zend_language_scanner.c"
8776
6.58k
yy765:
8777
6.58k
    YYDEBUG(765, *YYCURSOR);
8778
6.58k
    yyaccept = 4;
8779
6.58k
    yych = *(YYMARKER = ++YYCURSOR);
8780
6.58k
    if (yych == 'O') goto yy813;
8781
3.31k
    if (yych == 'o') goto yy813;
8782
887
    goto yy48;
8783
2.83k
yy766:
8784
2.83k
    YYDEBUG(766, *YYCURSOR);
8785
2.83k
    yyaccept = 4;
8786
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
8787
2.83k
    if (yych == 'O') goto yy814;
8788
2.18k
    if (yych == 'o') goto yy814;
8789
306
    goto yy48;
8790
3.13k
yy767:
8791
3.13k
    YYDEBUG(767, *YYCURSOR);
8792
3.13k
    yyaccept = 75;
8793
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
8794
3.13k
    if (yybm[256+yych] & 128) {
8795
424
      goto yy47;
8796
424
    }
8797
2.71k
    if (yych == '\\') goto yy164;
8798
2.71k
yy768:
8799
2.71k
    YYDEBUG(768, *YYCURSOR);
8800
2.71k
    yyleng = YYCURSOR - SCNG(yy_text);
8801
2.71k
#line 2273 "Zend/zend_language_scanner.l"
8802
2.71k
    {
8803
2.71k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8804
2.71k
}
8805
0
#line 8806 "Zend/zend_language_scanner.c"
8806
6.50k
yy769:
8807
6.50k
    YYDEBUG(769, *YYCURSOR);
8808
6.50k
    yyaccept = 4;
8809
6.50k
    yych = *(YYMARKER = ++YYCURSOR);
8810
6.50k
    if (yych == '_') goto yy815;
8811
551
    goto yy48;
8812
7.09k
yy770:
8813
7.09k
    YYDEBUG(770, *YYCURSOR);
8814
7.09k
    yyaccept = 4;
8815
7.09k
    yych = *(YYMARKER = ++YYCURSOR);
8816
7.09k
    if (yych == 'A') goto yy816;
8817
2.99k
    if (yych == 'a') goto yy816;
8818
373
    goto yy48;
8819
2.99k
yy771:
8820
2.99k
    YYDEBUG(771, *YYCURSOR);
8821
2.99k
    yyaccept = 4;
8822
2.99k
    yych = *(YYMARKER = ++YYCURSOR);
8823
2.99k
    if (yych == 'T') goto yy817;
8824
1.02k
    if (yych == 't') goto yy817;
8825
427
    goto yy48;
8826
5.18k
yy772:
8827
5.18k
    YYDEBUG(772, *YYCURSOR);
8828
5.18k
    yyaccept = 4;
8829
5.18k
    yych = *(YYMARKER = ++YYCURSOR);
8830
5.18k
    if (yych == '_') goto yy818;
8831
474
    goto yy48;
8832
10.3k
yy773:
8833
10.3k
    YYDEBUG(773, *YYCURSOR);
8834
10.3k
    ++YYCURSOR;
8835
10.3k
    YYFILL(1);
8836
10.3k
    yych = *YYCURSOR;
8837
10.3k
    if (yybm[0+yych] & 128) {
8838
2.11k
      goto yy443;
8839
2.11k
    }
8840
8.28k
    if (yych <= 0x00) goto yy86;
8841
7.97k
    if (yych <= '\r') goto yy709;
8842
524
    goto yy547;
8843
1.35k
yy774:
8844
1.35k
    YYDEBUG(774, *YYCURSOR);
8845
1.35k
    yyaccept = 26;
8846
1.35k
    YYMARKER = ++YYCURSOR;
8847
1.35k
    YYFILL(1);
8848
1.35k
    yych = *YYCURSOR;
8849
1.35k
    if (yybm[0+yych] & 128) {
8850
554
      goto yy443;
8851
554
    }
8852
799
    if (yych <= 0x00) goto yy89;
8853
529
    if (yych <= '\r') goto yy545;
8854
280
    goto yy547;
8855
5.84k
yy775:
8856
5.84k
    YYDEBUG(775, *YYCURSOR);
8857
5.84k
    ++YYCURSOR;
8858
5.84k
    YYFILL(1);
8859
5.84k
    yych = *YYCURSOR;
8860
5.84k
    if (yych <= '\r') {
8861
1.15k
      if (yych <= '\t') {
8862
497
        if (yych <= 0x00) goto yy86;
8863
215
        goto yy443;
8864
656
      } else {
8865
656
        if (yych <= '\n') goto yy545;
8866
457
        if (yych <= '\f') goto yy443;
8867
262
        goto yy545;
8868
457
      }
8869
4.69k
    } else {
8870
4.69k
      if (yych <= '*') {
8871
1.60k
        if (yych <= ')') goto yy443;
8872
607
        goto yy547;
8873
3.09k
      } else {
8874
3.09k
        if (yych == '.') goto yy820;
8875
567
        goto yy443;
8876
3.09k
      }
8877
4.69k
    }
8878
31.1k
yy776:
8879
31.1k
    YYDEBUG(776, *YYCURSOR);
8880
31.1k
    ++YYCURSOR;
8881
31.1k
    YYFILL(1);
8882
31.1k
    yych = *YYCURSOR;
8883
31.1k
    if (yybm[0+yych] & 128) {
8884
3.98k
      goto yy443;
8885
3.98k
    }
8886
27.1k
    if (yych <= 0x00) goto yy86;
8887
26.9k
    if (yych <= '\r') goto yy545;
8888
26.5k
    goto yy821;
8889
26.5k
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
5.01k
yy781:
8922
5.01k
    YYDEBUG(781, *YYCURSOR);
8923
5.01k
    yyaccept = 4;
8924
5.01k
    yych = *(YYMARKER = ++YYCURSOR);
8925
5.01k
    if (yych == 'E') goto yy822;
8926
2.48k
    if (yych == 'e') goto yy822;
8927
328
    goto yy48;
8928
4.27k
yy782:
8929
4.27k
    YYDEBUG(782, *YYCURSOR);
8930
4.27k
    yyaccept = 4;
8931
4.27k
    yych = *(YYMARKER = ++YYCURSOR);
8932
4.27k
    if (yych == 'H') goto yy824;
8933
1.98k
    if (yych == 'h') goto yy824;
8934
354
    goto yy48;
8935
2.59k
yy783:
8936
2.59k
    YYDEBUG(783, *YYCURSOR);
8937
2.59k
    yyaccept = 76;
8938
2.59k
    yych = *(YYMARKER = ++YYCURSOR);
8939
2.59k
    if (yybm[256+yych] & 128) {
8940
446
      goto yy47;
8941
446
    }
8942
2.14k
    if (yych == '\\') goto yy164;
8943
2.14k
yy784:
8944
2.14k
    YYDEBUG(784, *YYCURSOR);
8945
2.14k
    yyleng = YYCURSOR - SCNG(yy_text);
8946
2.14k
#line 1522 "Zend/zend_language_scanner.l"
8947
2.14k
    {
8948
2.14k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8949
2.14k
}
8950
0
#line 8951 "Zend/zend_language_scanner.c"
8951
2.04k
yy785:
8952
2.04k
    YYDEBUG(785, *YYCURSOR);
8953
2.04k
    yych = *++YYCURSOR;
8954
2.04k
    if (yych == 'N') goto yy826;
8955
1.75k
    if (yych == 'n') goto yy826;
8956
638
    goto yy86;
8957
4.32k
yy786:
8958
4.32k
    YYDEBUG(786, *YYCURSOR);
8959
4.32k
    yych = *++YYCURSOR;
8960
4.32k
    if (yych == 'E') goto yy827;
8961
2.90k
    if (yych == 'e') goto yy827;
8962
876
    goto yy86;
8963
574k
yy787:
8964
574k
    YYDEBUG(787, *YYCURSOR);
8965
574k
    ++YYCURSOR;
8966
574k
    YYFILL(1);
8967
574k
    yych = *YYCURSOR;
8968
574k
    YYDEBUG(788, *YYCURSOR);
8969
574k
    if (yych <= '@') {
8970
519k
      if (yych <= ' ') {
8971
77.8k
        if (yych <= '\n') {
8972
14.0k
          if (yych <= 0x00) goto yy86;
8973
11.8k
          if (yych <= 0x08) goto yy590;
8974
11.0k
          goto yy787;
8975
63.7k
        } else {
8976
63.7k
          if (yych == '\r') goto yy787;
8977
16.8k
          if (yych <= 0x1F) goto yy590;
8978
14.7k
          goto yy787;
8979
16.8k
        }
8980
441k
      } else {
8981
441k
        if (yych <= ')') {
8982
306k
          if (yych == '#') goto yy828;
8983
21.9k
          goto yy590;
8984
306k
        } else {
8985
135k
          if (yych <= '*') goto yy668;
8986
135k
          if (yych == '/') goto yy829;
8987
15.8k
          goto yy590;
8988
135k
        }
8989
441k
      }
8990
519k
    } else {
8991
54.6k
      if (yych <= '_') {
8992
9.19k
        if (yych <= 'H') {
8993
1.98k
          if (yych == 'E') goto yy831;
8994
1.47k
          goto yy830;
8995
7.21k
        } else {
8996
7.21k
          if (yych <= 'I') goto yy832;
8997
3.27k
          if (yych <= 'Z') goto yy830;
8998
971
          if (yych <= '^') goto yy590;
8999
604
          goto yy830;
9000
971
        }
9001
45.4k
      } else {
9002
45.4k
        if (yych <= 'h') {
9003
13.9k
          if (yych <= '`') goto yy590;
9004
13.5k
          if (yych == 'e') goto yy831;
9005
1.51k
          goto yy830;
9006
31.4k
        } else {
9007
31.4k
          if (yych <= 'i') goto yy832;
9008
20.3k
          if (yych <= 'z') goto yy830;
9009
16.1k
          if (yych <= 0x7F) goto yy590;
9010
5.01k
          goto yy830;
9011
16.1k
        }
9012
45.4k
      }
9013
54.6k
    }
9014
52.4k
yy789:
9015
52.4k
    YYDEBUG(789, *YYCURSOR);
9016
52.4k
    ++YYCURSOR;
9017
52.4k
    YYFILL(1);
9018
52.4k
    yych = *YYCURSOR;
9019
52.4k
    YYDEBUG(790, *YYCURSOR);
9020
52.4k
    if (yych <= '\r') {
9021
6.50k
      if (yych <= '\t') {
9022
879
        if (yych <= 0x00) goto yy86;
9023
291
        goto yy738;
9024
5.62k
      } else {
9025
5.62k
        if (yych <= '\n') goto yy787;
9026
3.17k
        if (yych <= '\f') goto yy738;
9027
2.49k
        goto yy787;
9028
3.17k
      }
9029
45.8k
    } else {
9030
45.8k
      if (yych <= '*') {
9031
18.0k
        if (yych <= ')') goto yy738;
9032
905
        goto yy789;
9033
27.8k
      } else {
9034
27.8k
        if (yych == '/') goto yy588;
9035
8.82k
        goto yy738;
9036
27.8k
      }
9037
45.8k
    }
9038
10.7k
yy791:
9039
10.7k
    YYDEBUG(791, *YYCURSOR);
9040
10.7k
    ++YYCURSOR;
9041
10.7k
    YYFILL(1);
9042
10.7k
    yych = *YYCURSOR;
9043
10.7k
    if (yych <= '\r') {
9044
1.11k
      if (yych <= '\t') {
9045
459
        if (yych <= 0x00) goto yy86;
9046
217
        goto yy586;
9047
659
      } else {
9048
659
        if (yych <= '\n') goto yy495;
9049
439
        if (yych <= '\f') goto yy586;
9050
238
        goto yy495;
9051
439
      }
9052
9.66k
    } else {
9053
9.66k
      if (yych <= 'E') {
9054
1.84k
        if (yych <= 'D') goto yy586;
9055
1.65k
        goto yy833;
9056
7.82k
      } else {
9057
7.82k
        if (yych == 'e') goto yy833;
9058
275
        goto yy586;
9059
7.82k
      }
9060
9.66k
    }
9061
18.9k
yy792:
9062
18.9k
    YYDEBUG(792, *YYCURSOR);
9063
18.9k
    ++YYCURSOR;
9064
18.9k
    YYFILL(1);
9065
18.9k
    yych = *YYCURSOR;
9066
18.9k
    if (yych <= '\r') {
9067
1.25k
      if (yych <= '\t') {
9068
487
        if (yych <= 0x00) goto yy86;
9069
210
        goto yy586;
9070
770
      } else {
9071
770
        if (yych <= '\n') goto yy495;
9072
534
        if (yych <= '\f') goto yy586;
9073
223
        goto yy495;
9074
534
      }
9075
17.6k
    } else {
9076
17.6k
      if (yych <= 'L') {
9077
4.92k
        if (yych <= 'K') goto yy586;
9078
3.99k
        goto yy834;
9079
12.7k
      } else {
9080
12.7k
        if (yych == 'l') goto yy834;
9081
508
        goto yy586;
9082
12.7k
      }
9083
17.6k
    }
9084
8.28k
yy793:
9085
8.28k
    YYDEBUG(793, *YYCURSOR);
9086
8.28k
    yyaccept = 4;
9087
8.28k
    yych = *(YYMARKER = ++YYCURSOR);
9088
8.28k
    if (yych == 'S') goto yy835;
9089
3.44k
    if (yych == 's') goto yy835;
9090
1.13k
    goto yy48;
9091
3.90k
yy794:
9092
3.90k
    YYDEBUG(794, *YYCURSOR);
9093
3.90k
    yyaccept = 4;
9094
3.90k
    yych = *(YYMARKER = ++YYCURSOR);
9095
3.90k
    if (yych == 'N') goto yy837;
9096
2.43k
    if (yych == 'n') goto yy837;
9097
422
    goto yy48;
9098
5.71k
yy795:
9099
5.71k
    YYDEBUG(795, *YYCURSOR);
9100
5.71k
    yyaccept = 4;
9101
5.71k
    yych = *(YYMARKER = ++YYCURSOR);
9102
5.71k
    if (yych == 'F') goto yy838;
9103
3.70k
    if (yych == 'f') goto yy838;
9104
593
    goto yy48;
9105
5.32k
yy796:
9106
5.32k
    YYDEBUG(796, *YYCURSOR);
9107
5.32k
    yyaccept = 77;
9108
5.32k
    yych = *(YYMARKER = ++YYCURSOR);
9109
5.32k
    if (yybm[256+yych] & 128) {
9110
475
      goto yy47;
9111
475
    }
9112
4.84k
    if (yych == '\\') goto yy164;
9113
4.84k
yy797:
9114
4.84k
    YYDEBUG(797, *YYCURSOR);
9115
4.84k
    yyleng = YYCURSOR - SCNG(yy_text);
9116
4.84k
#line 1746 "Zend/zend_language_scanner.l"
9117
4.84k
    {
9118
4.84k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9119
4.84k
}
9120
0
#line 9121 "Zend/zend_language_scanner.c"
9121
5.74k
yy798:
9122
5.74k
    YYDEBUG(798, *YYCURSOR);
9123
5.74k
    yyaccept = 78;
9124
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
9125
5.74k
    if (yybm[256+yych] & 128) {
9126
272
      goto yy47;
9127
272
    }
9128
5.47k
    if (yych == '\\') goto yy164;
9129
5.47k
yy799:
9130
5.47k
    YYDEBUG(799, *YYCURSOR);
9131
5.47k
    yyleng = YYCURSOR - SCNG(yy_text);
9132
5.47k
#line 1558 "Zend/zend_language_scanner.l"
9133
5.47k
    {
9134
5.47k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9135
5.47k
}
9136
0
#line 9137 "Zend/zend_language_scanner.c"
9137
13.9k
yy800:
9138
13.9k
    YYDEBUG(800, *YYCURSOR);
9139
13.9k
    yyaccept = 79;
9140
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
9141
13.9k
    if (yybm[256+yych] & 128) {
9142
584
      goto yy47;
9143
584
    }
9144
13.3k
    if (yych == '\\') goto yy840;
9145
10.8k
yy801:
9146
10.8k
    YYDEBUG(801, *YYCURSOR);
9147
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
9148
10.8k
#line 1738 "Zend/zend_language_scanner.l"
9149
10.8k
    {
9150
10.8k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9151
10.8k
}
9152
0
#line 9153 "Zend/zend_language_scanner.c"
9153
1.98k
yy802:
9154
1.98k
    YYDEBUG(802, *YYCURSOR);
9155
1.98k
    yych = *++YYCURSOR;
9156
1.98k
    if (yych == 'E') goto yy841;
9157
1.78k
    if (yych == 'e') goto yy841;
9158
334
    goto yy86;
9159
7.01k
yy803:
9160
7.01k
    YYDEBUG(803, *YYCURSOR);
9161
7.01k
    yyaccept = 80;
9162
7.01k
    yych = *(YYMARKER = ++YYCURSOR);
9163
7.01k
    if (yybm[256+yych] & 128) {
9164
304
      goto yy47;
9165
304
    }
9166
6.70k
    if (yych == '(') goto yy842;
9167
4.91k
    if (yych == '\\') goto yy164;
9168
6.05k
yy804:
9169
6.05k
    YYDEBUG(804, *YYCURSOR);
9170
6.05k
    yyleng = YYCURSOR - SCNG(yy_text);
9171
6.05k
#line 1782 "Zend/zend_language_scanner.l"
9172
6.05k
    {
9173
6.05k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9174
6.05k
}
9175
0
#line 9176 "Zend/zend_language_scanner.c"
9176
1.53k
yy805:
9177
1.53k
    YYDEBUG(805, *YYCURSOR);
9178
1.53k
    yych = *++YYCURSOR;
9179
1.53k
    if (yych == 'T') goto yy843;
9180
825
    if (yych == 't') goto yy843;
9181
210
    goto yy86;
9182
4.57k
yy806:
9183
4.57k
    YYDEBUG(806, *YYCURSOR);
9184
4.57k
    yyaccept = 4;
9185
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
9186
4.57k
    if (yych == 'N') goto yy844;
9187
3.10k
    if (yych == 'n') goto yy844;
9188
282
    goto yy48;
9189
3.55k
yy807:
9190
3.55k
    YYDEBUG(807, *YYCURSOR);
9191
3.55k
    yych = *++YYCURSOR;
9192
3.55k
    if (yych == 'M') goto yy845;
9193
2.32k
    if (yych == 'm') goto yy845;
9194
271
    goto yy86;
9195
1.40M
yy808:
9196
1.40M
    YYDEBUG(808, *YYCURSOR);
9197
1.40M
    ++YYCURSOR;
9198
1.40M
    YYFILL(1);
9199
1.40M
    yych = *YYCURSOR;
9200
1.40M
    YYDEBUG(809, *YYCURSOR);
9201
1.40M
    if (yych <= '\f') {
9202
149k
      if (yych <= 0x00) goto yy86;
9203
142k
      if (yych == '\n') goto yy846;
9204
16.0k
      goto yy808;
9205
1.26M
    } else {
9206
1.26M
      if (yych <= '\r') goto yy846;
9207
1.20M
      if (yych == '*') goto yy848;
9208
1.16M
      goto yy808;
9209
1.20M
    }
9210
18.6k
yy810:
9211
18.6k
    YYDEBUG(810, *YYCURSOR);
9212
18.6k
    ++YYCURSOR;
9213
18.6k
    YYFILL(1);
9214
18.6k
    yych = *YYCURSOR;
9215
18.6k
    if (yych <= '\r') {
9216
2.23k
      if (yych <= '\t') {
9217
530
        if (yych <= 0x00) goto yy86;
9218
328
        goto yy692;
9219
1.70k
      } else {
9220
1.70k
        if (yych <= '\n') goto yy616;
9221
1.13k
        if (yych <= '\f') goto yy692;
9222
258
        goto yy616;
9223
1.13k
      }
9224
16.4k
    } else {
9225
16.4k
      if (yych <= 'O') {
9226
13.2k
        if (yych <= 'N') goto yy692;
9227
12.6k
        goto yy850;
9228
13.2k
      } else {
9229
3.16k
        if (yych == 'o') goto yy850;
9230
526
        goto yy692;
9231
3.16k
      }
9232
16.4k
    }
9233
9.61k
yy811:
9234
9.61k
    YYDEBUG(811, *YYCURSOR);
9235
9.61k
    yyaccept = 81;
9236
9.61k
    yych = *(YYMARKER = ++YYCURSOR);
9237
9.61k
    if (yybm[256+yych] & 128) {
9238
318
      goto yy47;
9239
318
    }
9240
9.30k
    if (yych == '\\') goto yy164;
9241
9.30k
yy812:
9242
9.30k
    YYDEBUG(812, *YYCURSOR);
9243
9.30k
    yyleng = YYCURSOR - SCNG(yy_text);
9244
9.30k
#line 2253 "Zend/zend_language_scanner.l"
9245
9.30k
    {
9246
9.30k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9247
9.30k
}
9248
0
#line 9249 "Zend/zend_language_scanner.c"
9249
5.69k
yy813:
9250
5.69k
    YYDEBUG(813, *YYCURSOR);
9251
5.69k
    yyaccept = 4;
9252
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
9253
5.69k
    if (yych == 'N') goto yy851;
9254
1.70k
    if (yych == 'n') goto yy851;
9255
569
    goto yy48;
9256
2.53k
yy814:
9257
2.53k
    YYDEBUG(814, *YYCURSOR);
9258
2.53k
    yyaccept = 4;
9259
2.53k
    yych = *(YYMARKER = ++YYCURSOR);
9260
2.53k
    if (yych == 'M') goto yy852;
9261
1.83k
    if (yych == 'm') goto yy852;
9262
299
    goto yy48;
9263
5.95k
yy815:
9264
5.95k
    YYDEBUG(815, *YYCURSOR);
9265
5.95k
    yyaccept = 4;
9266
5.95k
    yych = *(YYMARKER = ++YYCURSOR);
9267
5.95k
    if (yych == '_') goto yy853;
9268
555
    goto yy48;
9269
6.71k
yy816:
9270
6.71k
    YYDEBUG(816, *YYCURSOR);
9271
6.71k
    yyaccept = 4;
9272
6.71k
    yych = *(YYMARKER = ++YYCURSOR);
9273
6.71k
    if (yych == 'C') goto yy855;
9274
2.87k
    if (yych == 'c') goto yy855;
9275
400
    goto yy48;
9276
2.56k
yy817:
9277
2.56k
    YYDEBUG(817, *YYCURSOR);
9278
2.56k
    yyaccept = 4;
9279
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
9280
2.56k
    if (yych == 'Y') goto yy856;
9281
586
    if (yych == 'y') goto yy856;
9282
355
    goto yy48;
9283
4.70k
yy818:
9284
4.70k
    YYDEBUG(818, *YYCURSOR);
9285
4.70k
    yyaccept = 82;
9286
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
9287
4.70k
    if (yybm[256+yych] & 128) {
9288
568
      goto yy47;
9289
568
    }
9290
4.13k
    if (yych == '\\') goto yy164;
9291
4.13k
yy819:
9292
4.13k
    YYDEBUG(819, *YYCURSOR);
9293
4.13k
    yyleng = YYCURSOR - SCNG(yy_text);
9294
4.13k
#line 2257 "Zend/zend_language_scanner.l"
9295
4.13k
    {
9296
4.13k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9297
4.13k
}
9298
0
#line 9299 "Zend/zend_language_scanner.c"
9299
2.52k
yy820:
9300
2.52k
    YYDEBUG(820, *YYCURSOR);
9301
2.52k
    ++YYCURSOR;
9302
2.52k
    YYFILL(1);
9303
2.52k
    yych = *YYCURSOR;
9304
2.52k
    if (yych <= '\r') {
9305
1.16k
      if (yych <= '\t') {
9306
429
        if (yych <= 0x00) goto yy86;
9307
208
        goto yy443;
9308
738
      } else {
9309
738
        if (yych <= '\n') goto yy545;
9310
407
        if (yych <= '\f') goto yy443;
9311
198
        goto yy545;
9312
407
      }
9313
1.36k
    } else {
9314
1.36k
      if (yych <= '*') {
9315
740
        if (yych <= ')') goto yy443;
9316
228
        goto yy547;
9317
740
      } else {
9318
620
        if (yych == '.') goto yy774;
9319
229
        goto yy443;
9320
620
      }
9321
1.36k
    }
9322
26.5k
yy821:
9323
26.5k
    YYDEBUG(821, *YYCURSOR);
9324
26.5k
    ++YYCURSOR;
9325
26.5k
    YYFILL(1);
9326
26.5k
    yych = *YYCURSOR;
9327
26.5k
    if (yych <= '\r') {
9328
2.02k
      if (yych <= '\t') {
9329
935
        if (yych <= 0x00) goto yy86;
9330
449
        goto yy443;
9331
1.09k
      } else {
9332
1.09k
        if (yych <= '\n') goto yy545;
9333
511
        if (yych <= '\f') goto yy443;
9334
253
        goto yy545;
9335
511
      }
9336
24.5k
    } else {
9337
24.5k
      if (yych <= '*') {
9338
1.09k
        if (yych <= ')') goto yy443;
9339
259
        goto yy547;
9340
23.4k
      } else {
9341
23.4k
        if (yych == '/') goto yy709;
9342
1.52k
        goto yy443;
9343
23.4k
      }
9344
24.5k
    }
9345
4.68k
yy822:
9346
4.68k
    YYDEBUG(822, *YYCURSOR);
9347
4.68k
    yyaccept = 83;
9348
4.68k
    yych = *(YYMARKER = ++YYCURSOR);
9349
4.68k
    if (yybm[256+yych] & 128) {
9350
667
      goto yy47;
9351
667
    }
9352
4.01k
    if (yych == '\\') goto yy164;
9353
3.88k
yy823:
9354
3.88k
    YYDEBUG(823, *YYCURSOR);
9355
3.88k
    yyleng = YYCURSOR - SCNG(yy_text);
9356
3.88k
#line 1502 "Zend/zend_language_scanner.l"
9357
3.88k
    {
9358
3.88k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9359
3.88k
}
9360
0
#line 9361 "Zend/zend_language_scanner.c"
9361
3.92k
yy824:
9362
3.92k
    YYDEBUG(824, *YYCURSOR);
9363
3.92k
    yyaccept = 84;
9364
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
9365
3.92k
    if (yybm[256+yych] & 128) {
9366
240
      goto yy47;
9367
240
    }
9368
3.68k
    if (yych == '\\') goto yy164;
9369
3.68k
yy825:
9370
3.68k
    YYDEBUG(825, *YYCURSOR);
9371
3.68k
    yyleng = YYCURSOR - SCNG(yy_text);
9372
3.68k
#line 1494 "Zend/zend_language_scanner.l"
9373
3.68k
    {
9374
3.68k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9375
3.68k
}
9376
0
#line 9377 "Zend/zend_language_scanner.c"
9377
1.40k
yy826:
9378
1.40k
    YYDEBUG(826, *YYCURSOR);
9379
1.40k
    yych = *++YYCURSOR;
9380
1.40k
    if (yych == 'D') goto yy857;
9381
1.16k
    if (yych == 'd') goto yy857;
9382
579
    goto yy86;
9383
3.44k
yy827:
9384
3.44k
    YYDEBUG(827, *YYCURSOR);
9385
3.44k
    yych = *++YYCURSOR;
9386
3.44k
    if (yych == 'M') goto yy858;
9387
2.65k
    if (yych == 'm') goto yy858;
9388
763
    goto yy86;
9389
284k
yy828:
9390
284k
    YYDEBUG(828, *YYCURSOR);
9391
284k
    ++YYCURSOR;
9392
284k
    YYFILL(1);
9393
284k
    yych = *YYCURSOR;
9394
284k
    if (yych <= '\r') {
9395
218k
      if (yych <= '\t') {
9396
9.43k
        if (yych <= 0x00) goto yy86;
9397
8.68k
        goto yy738;
9398
209k
      } else {
9399
209k
        if (yych <= '\n') goto yy859;
9400
50.2k
        if (yych <= '\f') goto yy738;
9401
44.9k
        goto yy859;
9402
50.2k
      }
9403
218k
    } else {
9404
65.5k
      if (yych <= '*') {
9405
13.0k
        if (yych <= ')') goto yy738;
9406
3.20k
        goto yy789;
9407
52.5k
      } else {
9408
52.5k
        if (yych == '[') goto yy590;
9409
52.3k
        goto yy738;
9410
52.5k
      }
9411
65.5k
    }
9412
119k
yy829:
9413
119k
    YYDEBUG(829, *YYCURSOR);
9414
119k
    ++YYCURSOR;
9415
119k
    YYFILL(1);
9416
119k
    yych = *YYCURSOR;
9417
119k
    if (yych <= '*') {
9418
116k
      if (yych <= 0x00) goto yy86;
9419
116k
      if (yych <= ')') goto yy590;
9420
114k
      goto yy861;
9421
116k
    } else {
9422
2.87k
      if (yych == '/') goto yy738;
9423
1.38k
      goto yy590;
9424
2.87k
    }
9425
15.1k
yy830:
9426
15.1k
    YYDEBUG(830, *YYCURSOR);
9427
15.1k
    yyaccept = 53;
9428
15.1k
    YYMARKER = ++YYCURSOR;
9429
15.1k
    YYFILL(1);
9430
15.1k
    yych = *YYCURSOR;
9431
15.1k
    if (yych <= 0x00) goto yy583;
9432
14.0k
    if (yych == '*') goto yy668;
9433
13.7k
    goto yy590;
9434
13.7k
yy831:
9435
12.5k
    YYDEBUG(831, *YYCURSOR);
9436
12.5k
    yyaccept = 53;
9437
12.5k
    YYMARKER = ++YYCURSOR;
9438
12.5k
    YYFILL(1);
9439
12.5k
    yych = *YYCURSOR;
9440
12.5k
    if (yych <= 'W') {
9441
1.93k
      if (yych <= 0x00) goto yy583;
9442
1.66k
      if (yych == '*') goto yy668;
9443
1.33k
      goto yy590;
9444
10.5k
    } else {
9445
10.5k
      if (yych <= 'X') goto yy862;
9446
10.2k
      if (yych == 'x') goto yy862;
9447
690
      goto yy590;
9448
10.2k
    }
9449
15.0k
yy832:
9450
15.0k
    YYDEBUG(832, *YYCURSOR);
9451
15.0k
    yyaccept = 53;
9452
15.0k
    YYMARKER = ++YYCURSOR;
9453
15.0k
    YYFILL(1);
9454
15.0k
    yych = *YYCURSOR;
9455
15.0k
    if (yych <= 'L') {
9456
1.43k
      if (yych <= 0x00) goto yy583;
9457
763
      if (yych == '*') goto yy668;
9458
524
      goto yy590;
9459
13.5k
    } else {
9460
13.5k
      if (yych <= 'M') goto yy863;
9461
8.77k
      if (yych == 'm') goto yy863;
9462
372
      goto yy590;
9463
8.77k
    }
9464
9.19k
yy833:
9465
9.19k
    YYDEBUG(833, *YYCURSOR);
9466
9.19k
    ++YYCURSOR;
9467
9.19k
    YYFILL(1);
9468
9.19k
    yych = *YYCURSOR;
9469
9.19k
    if (yych <= '\r') {
9470
2.50k
      if (yych <= '\t') {
9471
779
        if (yych <= 0x00) goto yy86;
9472
457
        goto yy586;
9473
1.73k
      } else {
9474
1.73k
        if (yych <= '\n') goto yy495;
9475
1.52k
        if (yych <= '\f') goto yy586;
9476
1.32k
        goto yy495;
9477
1.52k
      }
9478
6.68k
    } else {
9479
6.68k
      if (yych <= 'N') {
9480
1.96k
        if (yych <= 'M') goto yy586;
9481
1.36k
        goto yy864;
9482
4.72k
      } else {
9483
4.72k
        if (yych == 'n') goto yy864;
9484
435
        goto yy586;
9485
4.72k
      }
9486
6.68k
    }
9487
16.2k
yy834:
9488
16.2k
    YYDEBUG(834, *YYCURSOR);
9489
16.2k
    ++YYCURSOR;
9490
16.2k
    YYFILL(1);
9491
16.2k
    yych = *YYCURSOR;
9492
16.2k
    if (yych <= '\r') {
9493
1.45k
      if (yych <= '\t') {
9494
677
        if (yych <= 0x00) goto yy86;
9495
333
        goto yy586;
9496
773
      } else {
9497
773
        if (yych <= '\n') goto yy495;
9498
450
        if (yych <= '\f') goto yy586;
9499
251
        goto yy495;
9500
450
      }
9501
14.8k
    } else {
9502
14.8k
      if (yych <= 'E') {
9503
5.57k
        if (yych <= 'D') goto yy586;
9504
4.62k
        goto yy865;
9505
9.22k
      } else {
9506
9.22k
        if (yych == 'e') goto yy865;
9507
299
        goto yy586;
9508
9.22k
      }
9509
14.8k
    }
9510
7.15k
yy835:
9511
7.15k
    YYDEBUG(835, *YYCURSOR);
9512
7.15k
    yyaccept = 85;
9513
7.15k
    yych = *(YYMARKER = ++YYCURSOR);
9514
7.15k
    if (yybm[256+yych] & 128) {
9515
301
      goto yy47;
9516
301
    }
9517
6.85k
    if (yych == '\\') goto yy164;
9518
6.81k
yy836:
9519
6.81k
    YYDEBUG(836, *YYCURSOR);
9520
6.81k
    yyleng = YYCURSOR - SCNG(yy_text);
9521
6.81k
#line 1583 "Zend/zend_language_scanner.l"
9522
6.81k
    {
9523
6.81k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9524
6.81k
}
9525
0
#line 9526 "Zend/zend_language_scanner.c"
9526
3.48k
yy837:
9527
3.48k
    YYDEBUG(837, *YYCURSOR);
9528
3.48k
    yyaccept = 4;
9529
3.48k
    yych = *(YYMARKER = ++YYCURSOR);
9530
3.48k
    if (yych == 'C') goto yy866;
9531
2.60k
    if (yych == 'c') goto yy866;
9532
734
    goto yy48;
9533
5.12k
yy838:
9534
5.12k
    YYDEBUG(838, *YYCURSOR);
9535
5.12k
    yyaccept = 86;
9536
5.12k
    yych = *(YYMARKER = ++YYCURSOR);
9537
5.12k
    if (yybm[256+yych] & 128) {
9538
302
      goto yy47;
9539
302
    }
9540
4.82k
    if (yych == '\\') goto yy164;
9541
4.77k
yy839:
9542
4.77k
    YYDEBUG(839, *YYCURSOR);
9543
4.77k
    yyleng = YYCURSOR - SCNG(yy_text);
9544
4.77k
#line 1506 "Zend/zend_language_scanner.l"
9545
4.77k
    {
9546
4.77k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9547
4.77k
}
9548
0
#line 9549 "Zend/zend_language_scanner.c"
9549
4.92k
yy840:
9550
4.92k
    YYDEBUG(840, *YYCURSOR);
9551
4.92k
    ++YYCURSOR;
9552
4.92k
    YYFILL(1);
9553
4.92k
    yych = *YYCURSOR;
9554
4.92k
    if (yych <= '_') {
9555
1.72k
      if (yych <= '@') goto yy86;
9556
1.29k
      if (yych <= 'Z') goto yy867;
9557
590
      if (yych <= '^') goto yy86;
9558
361
      goto yy867;
9559
3.19k
    } else {
9560
3.19k
      if (yych <= '`') goto yy86;
9561
2.98k
      if (yych <= 'z') goto yy867;
9562
1.10k
      if (yych <= 0x7F) goto yy86;
9563
833
      goto yy867;
9564
1.10k
    }
9565
1.65k
yy841:
9566
1.65k
    YYDEBUG(841, *YYCURSOR);
9567
1.65k
    yych = *++YYCURSOR;
9568
1.65k
    if (yych == 'T') goto yy870;
9569
1.36k
    if (yych == 't') goto yy870;
9570
329
    goto yy86;
9571
1.79k
yy842:
9572
1.79k
    YYDEBUG(842, *YYCURSOR);
9573
1.79k
    yych = *++YYCURSOR;
9574
1.79k
    if (yych == 'S') goto yy871;
9575
1.39k
    if (yych == 's') goto yy871;
9576
229
    goto yy86;
9577
1.32k
yy843:
9578
1.32k
    YYDEBUG(843, *YYCURSOR);
9579
1.32k
    yych = *++YYCURSOR;
9580
1.32k
    if (yych == ')') goto yy872;
9581
414
    goto yy86;
9582
4.28k
yy844:
9583
4.28k
    YYDEBUG(844, *YYCURSOR);
9584
4.28k
    yyaccept = 4;
9585
4.28k
    yych = *(YYMARKER = ++YYCURSOR);
9586
4.28k
    if (yych == 'C') goto yy874;
9587
2.84k
    if (yych == 'c') goto yy874;
9588
289
    goto yy48;
9589
3.28k
yy845:
9590
3.28k
    YYDEBUG(845, *YYCURSOR);
9591
3.28k
    yych = *++YYCURSOR;
9592
3.28k
    if (yych <= '^') {
9593
1.58k
      if (yych <= '9') {
9594
929
        if (yych <= '/') goto yy875;
9595
288
        goto yy86;
9596
929
      } else {
9597
657
        if (yych <= '@') goto yy875;
9598
434
        if (yych <= 'Z') goto yy86;
9599
204
        goto yy875;
9600
434
      }
9601
1.69k
    } else {
9602
1.69k
      if (yych <= '`') {
9603
561
        if (yych <= '_') goto yy86;
9604
255
        goto yy875;
9605
1.13k
      } else {
9606
1.13k
        if (yych <= 'z') goto yy86;
9607
514
        if (yych <= 0x7F) goto yy875;
9608
266
        goto yy86;
9609
514
      }
9610
1.69k
    }
9611
321k
yy846:
9612
321k
    YYDEBUG(846, *YYCURSOR);
9613
321k
    ++YYCURSOR;
9614
321k
    YYFILL(1);
9615
321k
    yych = *YYCURSOR;
9616
321k
    YYDEBUG(847, *YYCURSOR);
9617
321k
    if (yych <= '#') {
9618
213k
      if (yych <= '\f') {
9619
8.93k
        if (yych <= 0x00) goto yy86;
9620
7.73k
        if (yych <= 0x08) goto yy696;
9621
7.08k
        if (yych <= '\n') goto yy846;
9622
389
        goto yy696;
9623
204k
      } else {
9624
204k
        if (yych <= 0x1F) {
9625
52.2k
          if (yych <= '\r') goto yy846;
9626
1.02k
          goto yy696;
9627
152k
        } else {
9628
152k
          if (yych <= ' ') goto yy846;
9629
144k
          if (yych <= '"') goto yy696;
9630
143k
          goto yy877;
9631
144k
        }
9632
204k
      }
9633
213k
    } else {
9634
107k
      if (yych <= '/') {
9635
79.8k
        if (yych == '*') goto yy760;
9636
79.2k
        if (yych <= '.') goto yy696;
9637
60.3k
        goto yy878;
9638
79.2k
      } else {
9639
28.0k
        if (yych <= 'F') {
9640
11.4k
          if (yych <= 'E') goto yy696;
9641
7.94k
          goto yy879;
9642
16.5k
        } else {
9643
16.5k
          if (yych == 'f') goto yy879;
9644
15.0k
          goto yy696;
9645
16.5k
        }
9646
28.0k
      }
9647
107k
    }
9648
50.1k
yy848:
9649
50.1k
    YYDEBUG(848, *YYCURSOR);
9650
50.1k
    ++YYCURSOR;
9651
50.1k
    YYFILL(1);
9652
50.1k
    yych = *YYCURSOR;
9653
50.1k
    YYDEBUG(849, *YYCURSOR);
9654
50.1k
    if (yych <= '\r') {
9655
8.17k
      if (yych <= '\t') {
9656
1.85k
        if (yych <= 0x00) goto yy86;
9657
1.37k
        goto yy808;
9658
6.31k
      } else {
9659
6.31k
        if (yych <= '\n') goto yy846;
9660
2.29k
        if (yych <= '\f') goto yy808;
9661
1.67k
        goto yy846;
9662
2.29k
      }
9663
41.9k
    } else {
9664
41.9k
      if (yych <= '*') {
9665
18.0k
        if (yych <= ')') goto yy808;
9666
1.16k
        goto yy848;
9667
23.9k
      } else {
9668
23.9k
        if (yych == '/') goto yy694;
9669
4.66k
        goto yy808;
9670
23.9k
      }
9671
41.9k
    }
9672
15.3k
yy850:
9673
15.3k
    YYDEBUG(850, *YYCURSOR);
9674
15.3k
    ++YYCURSOR;
9675
15.3k
    YYFILL(1);
9676
15.3k
    yych = *YYCURSOR;
9677
15.3k
    if (yych <= '\r') {
9678
1.81k
      if (yych <= '\t') {
9679
534
        if (yych <= 0x00) goto yy86;
9680
311
        goto yy692;
9681
1.28k
      } else {
9682
1.28k
        if (yych <= '\n') goto yy616;
9683
533
        if (yych <= '\f') goto yy692;
9684
196
        goto yy616;
9685
533
      }
9686
13.5k
    } else {
9687
13.5k
      if (yych <= 'M') {
9688
9.63k
        if (yych <= 'L') goto yy692;
9689
8.89k
        goto yy880;
9690
9.63k
      } else {
9691
3.88k
        if (yych == 'm') goto yy880;
9692
915
        goto yy692;
9693
3.88k
      }
9694
13.5k
    }
9695
5.13k
yy851:
9696
5.13k
    YYDEBUG(851, *YYCURSOR);
9697
5.13k
    yyaccept = 4;
9698
5.13k
    yych = *(YYMARKER = ++YYCURSOR);
9699
5.13k
    if (yych == '_') goto yy881;
9700
210
    goto yy48;
9701
2.23k
yy852:
9702
2.23k
    YYDEBUG(852, *YYCURSOR);
9703
2.23k
    yyaccept = 4;
9704
2.23k
    yych = *(YYMARKER = ++YYCURSOR);
9705
2.23k
    if (yych == 'P') goto yy882;
9706
1.59k
    if (yych == 'p') goto yy882;
9707
266
    goto yy48;
9708
5.40k
yy853:
9709
5.40k
    YYDEBUG(853, *YYCURSOR);
9710
5.40k
    yyaccept = 87;
9711
5.40k
    yych = *(YYMARKER = ++YYCURSOR);
9712
5.40k
    if (yybm[256+yych] & 128) {
9713
748
      goto yy47;
9714
748
    }
9715
4.65k
    if (yych == '\\') goto yy164;
9716
4.65k
yy854:
9717
4.65k
    YYDEBUG(854, *YYCURSOR);
9718
4.65k
    yyleng = YYCURSOR - SCNG(yy_text);
9719
4.65k
#line 2269 "Zend/zend_language_scanner.l"
9720
4.65k
    {
9721
4.65k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9722
4.65k
}
9723
0
#line 9724 "Zend/zend_language_scanner.c"
9724
6.31k
yy855:
9725
6.31k
    YYDEBUG(855, *YYCURSOR);
9726
6.31k
    yyaccept = 4;
9727
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
9728
6.31k
    if (yych == 'E') goto yy883;
9729
2.69k
    if (yych == 'e') goto yy883;
9730
479
    goto yy48;
9731
2.20k
yy856:
9732
2.20k
    YYDEBUG(856, *YYCURSOR);
9733
2.20k
    yyaccept = 4;
9734
2.20k
    yych = *(YYMARKER = ++YYCURSOR);
9735
2.20k
    if (yych == '_') goto yy884;
9736
475
    goto yy48;
9737
1.41k
yy857:
9738
1.41k
    YYDEBUG(857, *YYCURSOR);
9739
1.41k
    yych = *++YYCURSOR;
9740
1.41k
    if (yych == 'S') goto yy885;
9741
1.07k
    if (yych == 's') goto yy885;
9742
743
    goto yy86;
9743
2.68k
yy858:
9744
2.68k
    YYDEBUG(858, *YYCURSOR);
9745
2.68k
    yych = *++YYCURSOR;
9746
2.68k
    if (yych == 'E') goto yy887;
9747
1.90k
    if (yych == 'e') goto yy887;
9748
710
    goto yy86;
9749
269k
yy859:
9750
269k
    YYDEBUG(859, *YYCURSOR);
9751
269k
    ++YYCURSOR;
9752
269k
    YYFILL(1);
9753
269k
    yych = *YYCURSOR;
9754
269k
    YYDEBUG(860, *YYCURSOR);
9755
269k
    if (yych <= '@') {
9756
116k
      if (yych <= 0x1F) {
9757
21.3k
        if (yych <= '\t') {
9758
4.79k
          if (yych <= 0x00) goto yy86;
9759
4.14k
          if (yych <= 0x08) goto yy738;
9760
3.53k
          goto yy859;
9761
16.5k
        } else {
9762
16.5k
          if (yych <= '\n') goto yy787;
9763
14.8k
          if (yych == '\r') goto yy787;
9764
893
          goto yy738;
9765
14.8k
        }
9766
94.8k
      } else {
9767
94.8k
        if (yych <= ')') {
9768
37.8k
          if (yych <= ' ') goto yy859;
9769
31.0k
          if (yych == '#') goto yy888;
9770
2.46k
          goto yy738;
9771
56.9k
        } else {
9772
56.9k
          if (yych <= '*') goto yy789;
9773
56.3k
          if (yych == '/') goto yy889;
9774
2.64k
          goto yy738;
9775
56.3k
        }
9776
94.8k
      }
9777
152k
    } else {
9778
152k
      if (yych <= '_') {
9779
26.2k
        if (yych <= 'H') {
9780
1.12k
          if (yych == 'E') goto yy891;
9781
764
          goto yy890;
9782
25.0k
        } else {
9783
25.0k
          if (yych <= 'I') goto yy892;
9784
17.8k
          if (yych <= 'Z') goto yy890;
9785
546
          if (yych <= '^') goto yy738;
9786
246
          goto yy890;
9787
546
        }
9788
126k
      } else {
9789
126k
        if (yych <= 'h') {
9790
60.5k
          if (yych <= '`') goto yy738;
9791
59.6k
          if (yych == 'e') goto yy891;
9792
1.00k
          goto yy890;
9793
66.1k
        } else {
9794
66.1k
          if (yych <= 'i') goto yy892;
9795
37.9k
          if (yych <= 'z') goto yy890;
9796
33.3k
          if (yych <= 0x7F) goto yy738;
9797
14.0k
          goto yy890;
9798
33.3k
        }
9799
126k
      }
9800
152k
    }
9801
114k
yy861:
9802
114k
    YYDEBUG(861, *YYCURSOR);
9803
114k
    ++YYCURSOR;
9804
114k
    YYFILL(1);
9805
114k
    yych = *YYCURSOR;
9806
114k
    if (yych <= '*') {
9807
1.64k
      if (yych <= 0x00) goto yy86;
9808
1.34k
      if (yych <= ')') goto yy590;
9809
670
      goto yy668;
9810
112k
    } else {
9811
112k
      if (yych == '/') goto yy787;
9812
1.36k
      goto yy590;
9813
112k
    }
9814
9.87k
yy862:
9815
9.87k
    YYDEBUG(862, *YYCURSOR);
9816
9.87k
    ++YYCURSOR;
9817
9.87k
    YYFILL(1);
9818
9.87k
    yych = *YYCURSOR;
9819
9.87k
    if (yych <= 'S') {
9820
854
      if (yych <= 0x00) goto yy86;
9821
506
      if (yych == '*') goto yy668;
9822
312
      goto yy590;
9823
9.02k
    } else {
9824
9.02k
      if (yych <= 'T') goto yy893;
9825
8.23k
      if (yych == 't') goto yy893;
9826
4.85k
      goto yy590;
9827
8.23k
    }
9828
13.2k
yy863:
9829
13.2k
    YYDEBUG(863, *YYCURSOR);
9830
13.2k
    ++YYCURSOR;
9831
13.2k
    YYFILL(1);
9832
13.2k
    yych = *YYCURSOR;
9833
13.2k
    if (yych <= 'O') {
9834
2.48k
      if (yych <= 0x00) goto yy86;
9835
512
      if (yych == '*') goto yy668;
9836
302
      goto yy590;
9837
10.7k
    } else {
9838
10.7k
      if (yych <= 'P') goto yy894;
9839
7.92k
      if (yych == 'p') goto yy894;
9840
272
      goto yy590;
9841
7.92k
    }
9842
5.64k
yy864:
9843
5.64k
    YYDEBUG(864, *YYCURSOR);
9844
5.64k
    ++YYCURSOR;
9845
5.64k
    YYFILL(1);
9846
5.64k
    yych = *YYCURSOR;
9847
5.64k
    if (yych <= '\r') {
9848
1.44k
      if (yych <= '\t') {
9849
540
        if (yych <= 0x00) goto yy86;
9850
227
        goto yy586;
9851
906
      } else {
9852
906
        if (yych <= '\n') goto yy495;
9853
622
        if (yych <= '\f') goto yy586;
9854
420
        goto yy495;
9855
622
      }
9856
4.20k
    } else {
9857
4.20k
      if (yych <= 'D') {
9858
1.32k
        if (yych <= 'C') goto yy586;
9859
833
        goto yy895;
9860
2.87k
      } else {
9861
2.87k
        if (yych == 'd') goto yy895;
9862
695
        goto yy586;
9863
2.87k
      }
9864
4.20k
    }
9865
13.5k
yy865:
9866
13.5k
    YYDEBUG(865, *YYCURSOR);
9867
13.5k
    ++YYCURSOR;
9868
13.5k
    YYFILL(1);
9869
13.5k
    yych = *YYCURSOR;
9870
13.5k
    if (yych <= '\r') {
9871
1.55k
      if (yych <= '\t') {
9872
732
        if (yych <= 0x00) goto yy86;
9873
398
        goto yy586;
9874
827
      } else {
9875
827
        if (yych <= '\n') goto yy495;
9876
536
        if (yych <= '\f') goto yy586;
9877
285
        goto yy495;
9878
536
      }
9879
11.9k
    } else {
9880
11.9k
      if (yych <= 'M') {
9881
2.76k
        if (yych <= 'L') goto yy586;
9882
2.28k
        goto yy896;
9883
9.22k
      } else {
9884
9.22k
        if (yych == 'm') goto yy896;
9885
3.26k
        goto yy586;
9886
9.22k
      }
9887
11.9k
    }
9888
2.74k
yy866:
9889
2.74k
    YYDEBUG(866, *YYCURSOR);
9890
2.74k
    yyaccept = 4;
9891
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
9892
2.74k
    if (yych == 'E') goto yy897;
9893
1.88k
    if (yych == 'e') goto yy897;
9894
274
    goto yy48;
9895
13.8k
yy867:
9896
13.8k
    YYDEBUG(867, *YYCURSOR);
9897
13.8k
    yyaccept = 88;
9898
13.8k
    YYMARKER = ++YYCURSOR;
9899
13.8k
    YYFILL(1);
9900
13.8k
    yych = *YYCURSOR;
9901
13.8k
    YYDEBUG(868, *YYCURSOR);
9902
13.8k
    if (yych <= '\\') {
9903
5.61k
      if (yych <= '@') {
9904
2.29k
        if (yych <= '/') goto yy869;
9905
1.23k
        if (yych <= '9') goto yy867;
9906
3.31k
      } else {
9907
3.31k
        if (yych <= 'Z') goto yy867;
9908
1.79k
        if (yych >= '\\') goto yy840;
9909
1.79k
      }
9910
8.19k
    } else {
9911
8.19k
      if (yych <= '`') {
9912
873
        if (yych == '_') goto yy867;
9913
7.31k
      } else {
9914
7.31k
        if (yych <= 'z') goto yy867;
9915
3.01k
        if (yych >= 0x80) goto yy867;
9916
3.01k
      }
9917
8.19k
    }
9918
2.51k
yy869:
9919
2.51k
    YYDEBUG(869, *YYCURSOR);
9920
2.51k
    yyleng = YYCURSOR - SCNG(yy_text);
9921
2.51k
#line 2439 "Zend/zend_language_scanner.l"
9922
2.51k
    {
9923
2.51k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9924
2.51k
}
9925
0
#line 9926 "Zend/zend_language_scanner.c"
9926
1.32k
yy870:
9927
1.32k
    YYDEBUG(870, *YYCURSOR);
9928
1.32k
    yych = *++YYCURSOR;
9929
1.32k
    if (yych == ')') goto yy899;
9930
422
    goto yy86;
9931
1.56k
yy871:
9932
1.56k
    YYDEBUG(871, *YYCURSOR);
9933
1.56k
    yych = *++YYCURSOR;
9934
1.56k
    if (yych == 'E') goto yy901;
9935
992
    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
3.99k
yy874:
9948
3.99k
    YYDEBUG(874, *YYCURSOR);
9949
3.99k
    yyaccept = 4;
9950
3.99k
    yych = *(YYMARKER = ++YYCURSOR);
9951
3.99k
    if (yych == 'E') goto yy902;
9952
2.55k
    if (yych == 'e') goto yy902;
9953
498
    goto yy48;
9954
2.21k
yy875:
9955
2.21k
    YYDEBUG(875, *YYCURSOR);
9956
2.21k
    ++YYCURSOR;
9957
19.2k
yy876:
9958
19.2k
    YYDEBUG(876, *YYCURSOR);
9959
19.2k
    yyleng = YYCURSOR - SCNG(yy_text);
9960
19.2k
#line 1428 "Zend/zend_language_scanner.l"
9961
19.2k
    {
9962
19.2k
  yyless(yyleng - 1);
9963
19.2k
  HANDLE_NEWLINES(yytext, yyleng);
9964
19.2k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9965
19.2k
}
9966
0
#line 9967 "Zend/zend_language_scanner.c"
9967
144k
yy877:
9968
144k
    YYDEBUG(877, *YYCURSOR);
9969
144k
    ++YYCURSOR;
9970
144k
    YYFILL(1);
9971
144k
    yych = *YYCURSOR;
9972
144k
    if (yych <= '\r') {
9973
109k
      if (yych <= '\t') {
9974
893
        if (yych <= 0x00) goto yy86;
9975
604
        goto yy808;
9976
108k
      } else {
9977
108k
        if (yych <= '\n') goto yy904;
9978
35.0k
        if (yych <= '\f') goto yy808;
9979
34.5k
        goto yy904;
9980
35.0k
      }
9981
109k
    } else {
9982
34.9k
      if (yych <= '*') {
9983
4.60k
        if (yych <= ')') goto yy808;
9984
952
        goto yy848;
9985
30.3k
      } else {
9986
30.3k
        if (yych == '[') goto yy696;
9987
30.0k
        goto yy808;
9988
30.3k
      }
9989
34.9k
    }
9990
60.5k
yy878:
9991
60.5k
    YYDEBUG(878, *YYCURSOR);
9992
60.5k
    ++YYCURSOR;
9993
60.5k
    YYFILL(1);
9994
60.5k
    yych = *YYCURSOR;
9995
60.5k
    if (yych <= '*') {
9996
58.5k
      if (yych <= 0x00) goto yy86;
9997
57.3k
      if (yych <= ')') goto yy696;
9998
56.6k
      goto yy906;
9999
57.3k
    } else {
10000
2.00k
      if (yych == '/') goto yy808;
10001
868
      goto yy696;
10002
2.00k
    }
10003
9.87k
yy879:
10004
9.87k
    YYDEBUG(879, *YYCURSOR);
10005
9.87k
    ++YYCURSOR;
10006
9.87k
    YYFILL(1);
10007
9.87k
    yych = *YYCURSOR;
10008
9.87k
    if (yych <= 'Q') {
10009
2.28k
      if (yych <= 0x00) goto yy86;
10010
1.96k
      if (yych == '*') goto yy760;
10011
1.75k
      goto yy696;
10012
7.58k
    } else {
10013
7.58k
      if (yych <= 'R') goto yy907;
10014
994
      if (yych == 'r') goto yy907;
10015
651
      goto yy696;
10016
994
    }
10017
11.8k
yy880:
10018
11.8k
    YYDEBUG(880, *YYCURSOR);
10019
11.8k
    ++YYCURSOR;
10020
11.8k
    YYFILL(1);
10021
11.8k
    yych = *YYCURSOR;
10022
11.8k
    if (yych <= '9') {
10023
7.36k
      if (yych <= '\n') {
10024
3.13k
        if (yych <= 0x00) goto yy875;
10025
2.92k
        if (yych <= '\t') goto yy908;
10026
1.58k
        goto yy909;
10027
4.23k
      } else {
10028
4.23k
        if (yych == '\r') goto yy909;
10029
917
        if (yych <= '/') goto yy908;
10030
307
        goto yy692;
10031
917
      }
10032
7.36k
    } else {
10033
4.49k
      if (yych <= '_') {
10034
1.72k
        if (yych <= '@') goto yy908;
10035
1.38k
        if (yych <= 'Z') goto yy692;
10036
538
        if (yych <= '^') goto yy908;
10037
256
        goto yy692;
10038
2.76k
      } else {
10039
2.76k
        if (yych <= '`') goto yy908;
10040
2.55k
        if (yych <= 'z') goto yy692;
10041
2.00k
        if (yych <= 0x7F) goto yy908;
10042
1.17k
        goto yy692;
10043
2.00k
      }
10044
4.49k
    }
10045
4.92k
yy881:
10046
4.92k
    YYDEBUG(881, *YYCURSOR);
10047
4.92k
    yyaccept = 4;
10048
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
10049
4.92k
    if (yych == '_') goto yy910;
10050
391
    goto yy48;
10051
1.96k
yy882:
10052
1.96k
    YYDEBUG(882, *YYCURSOR);
10053
1.96k
    yyaccept = 4;
10054
1.96k
    yych = *(YYMARKER = ++YYCURSOR);
10055
1.96k
    if (yych == 'I') goto yy912;
10056
1.50k
    if (yych == 'i') goto yy912;
10057
199
    goto yy48;
10058
5.84k
yy883:
10059
5.84k
    YYDEBUG(883, *YYCURSOR);
10060
5.84k
    yyaccept = 4;
10061
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
10062
5.84k
    if (yych == '_') goto yy913;
10063
630
    goto yy48;
10064
1.73k
yy884:
10065
1.73k
    YYDEBUG(884, *YYCURSOR);
10066
1.73k
    yyaccept = 4;
10067
1.73k
    yych = *(YYMARKER = ++YYCURSOR);
10068
1.73k
    if (yych == '_') goto yy914;
10069
297
    goto yy48;
10070
667
yy885:
10071
667
    YYDEBUG(885, *YYCURSOR);
10072
667
    ++YYCURSOR;
10073
3.23k
yy886:
10074
3.23k
    YYDEBUG(886, *YYCURSOR);
10075
3.23k
    yyleng = YYCURSOR - SCNG(yy_text);
10076
3.23k
#line 1570 "Zend/zend_language_scanner.l"
10077
3.23k
    {
10078
3.23k
  yyless(4);
10079
3.23k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10080
3.23k
}
10081
0
#line 10082 "Zend/zend_language_scanner.c"
10082
1.97k
yy887:
10083
1.97k
    YYDEBUG(887, *YYCURSOR);
10084
1.97k
    yych = *++YYCURSOR;
10085
1.97k
    if (yych == 'N') goto yy916;
10086
1.29k
    if (yych == 'n') goto yy916;
10087
526
    goto yy86;
10088
28.6k
yy888:
10089
28.6k
    YYDEBUG(888, *YYCURSOR);
10090
28.6k
    ++YYCURSOR;
10091
28.6k
    YYFILL(1);
10092
28.6k
    yych = *YYCURSOR;
10093
28.6k
    if (yych <= '\f') {
10094
11.7k
      if (yych <= 0x00) goto yy86;
10095
11.5k
      if (yych == '\n') goto yy859;
10096
277
      goto yy738;
10097
16.8k
    } else {
10098
16.8k
      if (yych <= '\r') goto yy859;
10099
11.0k
      if (yych == '*') goto yy789;
10100
10.7k
      goto yy738;
10101
11.0k
    }
10102
53.6k
yy889:
10103
53.6k
    YYDEBUG(889, *YYCURSOR);
10104
53.6k
    ++YYCURSOR;
10105
53.6k
    YYFILL(1);
10106
53.6k
    yych = *YYCURSOR;
10107
53.6k
    if (yych <= '\f') {
10108
1.38k
      if (yych <= 0x00) goto yy86;
10109
839
      if (yych == '\n') goto yy787;
10110
467
      goto yy738;
10111
52.2k
    } else {
10112
52.2k
      if (yych <= '\r') goto yy787;
10113
51.9k
      if (yych == '*') goto yy917;
10114
4.87k
      goto yy738;
10115
51.9k
    }
10116
37.9k
yy890:
10117
37.9k
    YYDEBUG(890, *YYCURSOR);
10118
37.9k
    yyaccept = 53;
10119
37.9k
    YYMARKER = ++YYCURSOR;
10120
37.9k
    YYFILL(1);
10121
37.9k
    yych = *YYCURSOR;
10122
37.9k
    if (yych <= '\f') {
10123
946
      if (yych <= 0x00) goto yy583;
10124
555
      if (yych == '\n') goto yy787;
10125
263
      goto yy738;
10126
36.9k
    } else {
10127
36.9k
      if (yych <= '\r') goto yy787;
10128
36.4k
      if (yych == '*') goto yy789;
10129
35.9k
      goto yy738;
10130
36.4k
    }
10131
59.0k
yy891:
10132
59.0k
    YYDEBUG(891, *YYCURSOR);
10133
59.0k
    yyaccept = 53;
10134
59.0k
    YYMARKER = ++YYCURSOR;
10135
59.0k
    YYFILL(1);
10136
59.0k
    yych = *YYCURSOR;
10137
59.0k
    if (yych <= ')') {
10138
3.12k
      if (yych <= '\n') {
10139
1.64k
        if (yych <= 0x00) goto yy583;
10140
1.40k
        if (yych <= '\t') goto yy738;
10141
621
        goto yy787;
10142
1.48k
      } else {
10143
1.48k
        if (yych == '\r') goto yy787;
10144
1.19k
        goto yy738;
10145
1.48k
      }
10146
55.9k
    } else {
10147
55.9k
      if (yych <= 'X') {
10148
3.27k
        if (yych <= '*') goto yy789;
10149
3.03k
        if (yych <= 'W') goto yy738;
10150
656
        goto yy918;
10151
52.6k
      } else {
10152
52.6k
        if (yych == 'x') goto yy918;
10153
23.1k
        goto yy738;
10154
52.6k
      }
10155
55.9k
    }
10156
35.4k
yy892:
10157
35.4k
    YYDEBUG(892, *YYCURSOR);
10158
35.4k
    yyaccept = 53;
10159
35.4k
    YYMARKER = ++YYCURSOR;
10160
35.4k
    YYFILL(1);
10161
35.4k
    yych = *YYCURSOR;
10162
35.4k
    if (yych <= ')') {
10163
3.34k
      if (yych <= '\n') {
10164
1.95k
        if (yych <= 0x00) goto yy583;
10165
1.74k
        if (yych <= '\t') goto yy738;
10166
280
        goto yy787;
10167
1.74k
      } else {
10168
1.39k
        if (yych == '\r') goto yy787;
10169
912
        goto yy738;
10170
1.39k
      }
10171
32.1k
    } else {
10172
32.1k
      if (yych <= 'M') {
10173
14.3k
        if (yych <= '*') goto yy789;
10174
13.7k
        if (yych <= 'L') goto yy738;
10175
13.2k
        goto yy919;
10176
17.7k
      } else {
10177
17.7k
        if (yych == 'm') goto yy919;
10178
881
        goto yy738;
10179
17.7k
      }
10180
32.1k
    }
10181
4.16k
yy893:
10182
4.16k
    YYDEBUG(893, *YYCURSOR);
10183
4.16k
    ++YYCURSOR;
10184
4.16k
    YYFILL(1);
10185
4.16k
    yych = *YYCURSOR;
10186
4.16k
    if (yych <= 'D') {
10187
692
      if (yych <= 0x00) goto yy86;
10188
485
      if (yych == '*') goto yy668;
10189
257
      goto yy590;
10190
3.47k
    } else {
10191
3.47k
      if (yych <= 'E') goto yy920;
10192
2.81k
      if (yych == 'e') goto yy920;
10193
234
      goto yy590;
10194
2.81k
    }
10195
10.4k
yy894:
10196
10.4k
    YYDEBUG(894, *YYCURSOR);
10197
10.4k
    ++YYCURSOR;
10198
10.4k
    YYFILL(1);
10199
10.4k
    yych = *YYCURSOR;
10200
10.4k
    if (yych <= 'K') {
10201
2.33k
      if (yych <= 0x00) goto yy86;
10202
2.08k
      if (yych == '*') goto yy668;
10203
1.47k
      goto yy590;
10204
8.10k
    } else {
10205
8.10k
      if (yych <= 'L') goto yy921;
10206
5.67k
      if (yych == 'l') goto yy921;
10207
207
      goto yy590;
10208
5.67k
    }
10209
4.56k
yy895:
10210
4.56k
    YYDEBUG(895, *YYCURSOR);
10211
4.56k
    ++YYCURSOR;
10212
4.56k
    YYFILL(1);
10213
4.56k
    yych = *YYCURSOR;
10214
4.56k
    if (yych <= '\r') {
10215
1.46k
      if (yych <= '\t') {
10216
519
        if (yych <= 0x00) goto yy86;
10217
225
        goto yy586;
10218
941
      } else {
10219
941
        if (yych <= '\n') goto yy495;
10220
654
        if (yych <= '\f') goto yy586;
10221
300
        goto yy495;
10222
654
      }
10223
3.10k
    } else {
10224
3.10k
      if (yych <= 'S') {
10225
1.12k
        if (yych <= 'R') goto yy586;
10226
562
        goto yy922;
10227
1.98k
      } else {
10228
1.98k
        if (yych == 's') goto yy922;
10229
574
        goto yy586;
10230
1.98k
      }
10231
3.10k
    }
10232
8.25k
yy896:
10233
8.25k
    YYDEBUG(896, *YYCURSOR);
10234
8.25k
    ++YYCURSOR;
10235
8.25k
    YYFILL(1);
10236
8.25k
    yych = *YYCURSOR;
10237
8.25k
    if (yych <= '\r') {
10238
1.41k
      if (yych <= '\t') {
10239
690
        if (yych <= 0x00) goto yy86;
10240
411
        goto yy586;
10241
720
      } else {
10242
720
        if (yych <= '\n') goto yy495;
10243
519
        if (yych <= '\f') goto yy586;
10244
276
        goto yy495;
10245
519
      }
10246
6.84k
    } else {
10247
6.84k
      if (yych <= 'E') {
10248
3.03k
        if (yych <= 'D') goto yy586;
10249
2.70k
        goto yy923;
10250
3.81k
      } else {
10251
3.81k
        if (yych == 'e') goto yy923;
10252
307
        goto yy586;
10253
3.81k
      }
10254
6.84k
    }
10255
2.47k
yy897:
10256
2.47k
    YYDEBUG(897, *YYCURSOR);
10257
2.47k
    yyaccept = 89;
10258
2.47k
    yych = *(YYMARKER = ++YYCURSOR);
10259
2.47k
    if (yybm[256+yych] & 128) {
10260
314
      goto yy47;
10261
314
    }
10262
2.15k
    if (yych == '\\') goto yy164;
10263
2.15k
yy898:
10264
2.15k
    YYDEBUG(898, *YYCURSOR);
10265
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
10266
2.15k
#line 1726 "Zend/zend_language_scanner.l"
10267
2.15k
    {
10268
2.15k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10269
2.15k
}
10270
0
#line 10271 "Zend/zend_language_scanner.c"
10271
903
yy899:
10272
903
    YYDEBUG(899, *YYCURSOR);
10273
903
    ++YYCURSOR;
10274
903
    YYDEBUG(900, *YYCURSOR);
10275
903
    yyleng = YYCURSOR - SCNG(yy_text);
10276
903
#line 1794 "Zend/zend_language_scanner.l"
10277
903
    {
10278
903
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10279
903
}
10280
0
#line 10281 "Zend/zend_language_scanner.c"
10281
1.34k
yy901:
10282
1.34k
    YYDEBUG(901, *YYCURSOR);
10283
1.34k
    yych = *++YYCURSOR;
10284
1.34k
    if (yych == 'T') goto yy924;
10285
1.13k
    if (yych == 't') goto yy924;
10286
612
    goto yy86;
10287
3.50k
yy902:
10288
3.50k
    YYDEBUG(902, *YYCURSOR);
10289
3.50k
    yyaccept = 90;
10290
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
10291
3.50k
    if (yybm[256+yych] & 128) {
10292
372
      goto yy47;
10293
372
    }
10294
3.12k
    if (yych == '\\') goto yy164;
10295
3.07k
yy903:
10296
3.07k
    YYDEBUG(903, *YYCURSOR);
10297
3.07k
    yyleng = YYCURSOR - SCNG(yy_text);
10298
3.07k
#line 1734 "Zend/zend_language_scanner.l"
10299
3.07k
    {
10300
3.07k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10301
3.07k
}
10302
0
#line 10303 "Zend/zend_language_scanner.c"
10303
140k
yy904:
10304
140k
    YYDEBUG(904, *YYCURSOR);
10305
140k
    ++YYCURSOR;
10306
140k
    YYFILL(1);
10307
140k
    yych = *YYCURSOR;
10308
140k
    YYDEBUG(905, *YYCURSOR);
10309
140k
    if (yych <= '"') {
10310
16.3k
      if (yych <= '\n') {
10311
6.36k
        if (yych <= 0x00) goto yy86;
10312
5.55k
        if (yych <= 0x08) goto yy808;
10313
5.21k
        if (yych <= '\t') goto yy904;
10314
2.28k
        goto yy846;
10315
9.98k
      } else {
10316
9.98k
        if (yych <= '\r') {
10317
6.97k
          if (yych <= '\f') goto yy808;
10318
6.63k
          goto yy846;
10319
6.97k
        } else {
10320
3.00k
          if (yych == ' ') goto yy904;
10321
1.76k
          goto yy808;
10322
3.00k
        }
10323
9.98k
      }
10324
124k
    } else {
10325
124k
      if (yych <= '/') {
10326
46.1k
        if (yych <= ')') {
10327
12.5k
          if (yych <= '#') goto yy925;
10328
2.51k
          goto yy808;
10329
33.6k
        } else {
10330
33.6k
          if (yych <= '*') goto yy848;
10331
32.9k
          if (yych <= '.') goto yy808;
10332
31.8k
          goto yy926;
10333
32.9k
        }
10334
78.4k
      } else {
10335
78.4k
        if (yych <= 'F') {
10336
20.7k
          if (yych <= 'E') goto yy808;
10337
18.0k
          goto yy927;
10338
57.6k
        } else {
10339
57.6k
          if (yych == 'f') goto yy927;
10340
55.8k
          goto yy808;
10341
57.6k
        }
10342
78.4k
      }
10343
124k
    }
10344
56.6k
yy906:
10345
56.6k
    YYDEBUG(906, *YYCURSOR);
10346
56.6k
    ++YYCURSOR;
10347
56.6k
    YYFILL(1);
10348
56.6k
    yych = *YYCURSOR;
10349
56.6k
    if (yych <= '*') {
10350
1.37k
      if (yych <= 0x00) goto yy86;
10351
1.17k
      if (yych <= ')') goto yy696;
10352
233
      goto yy760;
10353
55.2k
    } else {
10354
55.2k
      if (yych == '/') goto yy846;
10355
1.16k
      goto yy696;
10356
55.2k
    }
10357
6.93k
yy907:
10358
6.93k
    YYDEBUG(907, *YYCURSOR);
10359
6.93k
    ++YYCURSOR;
10360
6.93k
    YYFILL(1);
10361
6.93k
    yych = *YYCURSOR;
10362
6.93k
    if (yych <= 'N') {
10363
739
      if (yych <= 0x00) goto yy86;
10364
400
      if (yych == '*') goto yy760;
10365
201
      goto yy696;
10366
6.19k
    } else {
10367
6.19k
      if (yych <= 'O') goto yy928;
10368
577
      if (yych == 'o') goto yy928;
10369
195
      goto yy696;
10370
577
    }
10371
3.61k
yy908:
10372
3.61k
    YYDEBUG(908, *YYCURSOR);
10373
3.61k
    yyaccept = 91;
10374
3.61k
    YYMARKER = ++YYCURSOR;
10375
3.61k
    YYFILL(1);
10376
3.61k
    yych = *YYCURSOR;
10377
3.61k
    if (yych <= '\n') {
10378
2.34k
      if (yych <= 0x00) goto yy876;
10379
1.15k
      if (yych <= '\t') goto yy692;
10380
538
      goto yy616;
10381
1.27k
    } else {
10382
1.27k
      if (yych == '\r') goto yy616;
10383
953
      goto yy692;
10384
1.27k
    }
10385
4.90k
yy909:
10386
4.90k
    YYDEBUG(909, *YYCURSOR);
10387
4.90k
    yyaccept = 91;
10388
4.90k
    YYMARKER = ++YYCURSOR;
10389
4.90k
    YYFILL(5);
10390
4.90k
    yych = *YYCURSOR;
10391
4.90k
    if (yych <= '"') {
10392
3.21k
      if (yych <= '\f') {
10393
2.55k
        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
3.21k
    } else {
10402
1.69k
      if (yych <= 'E') {
10403
777
        if (yych <= '#') goto yy618;
10404
407
        if (yych == '/') goto yy619;
10405
204
        goto yy876;
10406
913
      } else {
10407
913
        if (yych <= 'F') goto yy691;
10408
715
        if (yych == 'f') goto yy691;
10409
517
        goto yy876;
10410
715
      }
10411
1.69k
    }
10412
4.52k
yy910:
10413
4.52k
    YYDEBUG(910, *YYCURSOR);
10414
4.52k
    yyaccept = 92;
10415
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
10416
4.52k
    if (yybm[256+yych] & 128) {
10417
794
      goto yy47;
10418
794
    }
10419
3.73k
    if (yych == '\\') goto yy164;
10420
3.73k
yy911:
10421
3.73k
    YYDEBUG(911, *YYCURSOR);
10422
3.73k
    yyleng = YYCURSOR - SCNG(yy_text);
10423
3.73k
#line 2261 "Zend/zend_language_scanner.l"
10424
3.73k
    {
10425
3.73k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10426
3.73k
}
10427
0
#line 10428 "Zend/zend_language_scanner.c"
10428
1.76k
yy912:
10429
1.76k
    YYDEBUG(912, *YYCURSOR);
10430
1.76k
    yyaccept = 4;
10431
1.76k
    yych = *(YYMARKER = ++YYCURSOR);
10432
1.76k
    if (yych == 'L') goto yy929;
10433
1.44k
    if (yych == 'l') goto yy929;
10434
441
    goto yy48;
10435
5.21k
yy913:
10436
5.21k
    YYDEBUG(913, *YYCURSOR);
10437
5.21k
    yyaccept = 4;
10438
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
10439
5.21k
    if (yych == '_') goto yy930;
10440
340
    goto yy48;
10441
1.43k
yy914:
10442
1.43k
    YYDEBUG(914, *YYCURSOR);
10443
1.43k
    yyaccept = 93;
10444
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
10445
1.43k
    if (yybm[256+yych] & 128) {
10446
291
      goto yy47;
10447
291
    }
10448
1.14k
    if (yych == '\\') goto yy164;
10449
1.14k
yy915:
10450
1.14k
    YYDEBUG(915, *YYCURSOR);
10451
1.14k
    yyleng = YYCURSOR - SCNG(yy_text);
10452
1.14k
#line 2265 "Zend/zend_language_scanner.l"
10453
1.14k
    {
10454
1.14k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10455
1.14k
}
10456
0
#line 10457 "Zend/zend_language_scanner.c"
10457
1.44k
yy916:
10458
1.44k
    YYDEBUG(916, *YYCURSOR);
10459
1.44k
    yych = *++YYCURSOR;
10460
1.44k
    if (yych == 'T') goto yy857;
10461
1.06k
    if (yych == 't') goto yy857;
10462
866
    goto yy86;
10463
47.0k
yy917:
10464
47.0k
    YYDEBUG(917, *YYCURSOR);
10465
47.0k
    ++YYCURSOR;
10466
47.0k
    YYFILL(1);
10467
47.0k
    yych = *YYCURSOR;
10468
47.0k
    if (yych <= '\r') {
10469
5.47k
      if (yych <= '\t') {
10470
4.37k
        if (yych <= 0x00) goto yy86;
10471
3.80k
        goto yy738;
10472
4.37k
      } else {
10473
1.10k
        if (yych <= '\n') goto yy787;
10474
733
        if (yych <= '\f') goto yy738;
10475
509
        goto yy787;
10476
733
      }
10477
41.5k
    } else {
10478
41.5k
      if (yych <= '*') {
10479
1.89k
        if (yych <= ')') goto yy738;
10480
220
        goto yy789;
10481
39.6k
      } else {
10482
39.6k
        if (yych == '/') goto yy859;
10483
1.71k
        goto yy738;
10484
39.6k
      }
10485
41.5k
    }
10486
30.1k
yy918:
10487
30.1k
    YYDEBUG(918, *YYCURSOR);
10488
30.1k
    ++YYCURSOR;
10489
30.1k
    YYFILL(1);
10490
30.1k
    yych = *YYCURSOR;
10491
30.1k
    if (yych <= ')') {
10492
6.81k
      if (yych <= '\n') {
10493
6.30k
        if (yych <= 0x00) goto yy86;
10494
5.76k
        if (yych <= '\t') goto yy738;
10495
5.14k
        goto yy787;
10496
5.76k
      } else {
10497
505
        if (yych == '\r') goto yy787;
10498
291
        goto yy738;
10499
505
      }
10500
23.2k
    } else {
10501
23.2k
      if (yych <= 'T') {
10502
2.60k
        if (yych <= '*') goto yy789;
10503
2.25k
        if (yych <= 'S') goto yy738;
10504
1.63k
        goto yy932;
10505
20.6k
      } else {
10506
20.6k
        if (yych == 't') goto yy932;
10507
12.2k
        goto yy738;
10508
20.6k
      }
10509
23.2k
    }
10510
30.1k
yy919:
10511
30.1k
    YYDEBUG(919, *YYCURSOR);
10512
30.1k
    ++YYCURSOR;
10513
30.1k
    YYFILL(1);
10514
30.1k
    yych = *YYCURSOR;
10515
30.1k
    if (yych <= ')') {
10516
1.69k
      if (yych <= '\n') {
10517
894
        if (yych <= 0x00) goto yy86;
10518
594
        if (yych <= '\t') goto yy738;
10519
377
        goto yy787;
10520
797
      } else {
10521
797
        if (yych == '\r') goto yy787;
10522
502
        goto yy738;
10523
797
      }
10524
28.4k
    } else {
10525
28.4k
      if (yych <= 'P') {
10526
5.90k
        if (yych <= '*') goto yy789;
10527
5.66k
        if (yych <= 'O') goto yy738;
10528
5.40k
        goto yy933;
10529
22.5k
      } else {
10530
22.5k
        if (yych == 'p') goto yy933;
10531
368
        goto yy738;
10532
22.5k
      }
10533
28.4k
    }
10534
3.24k
yy920:
10535
3.24k
    YYDEBUG(920, *YYCURSOR);
10536
3.24k
    ++YYCURSOR;
10537
3.24k
    YYFILL(1);
10538
3.24k
    yych = *YYCURSOR;
10539
3.24k
    if (yych <= 'M') {
10540
895
      if (yych <= 0x00) goto yy86;
10541
640
      if (yych == '*') goto yy668;
10542
413
      goto yy590;
10543
2.34k
    } else {
10544
2.34k
      if (yych <= 'N') goto yy934;
10545
1.94k
      if (yych == 'n') goto yy934;
10546
208
      goto yy590;
10547
1.94k
    }
10548
7.90k
yy921:
10549
7.90k
    YYDEBUG(921, *YYCURSOR);
10550
7.90k
    ++YYCURSOR;
10551
7.90k
    YYFILL(1);
10552
7.90k
    yych = *YYCURSOR;
10553
7.90k
    if (yych <= 'D') {
10554
899
      if (yych <= 0x00) goto yy86;
10555
648
      if (yych == '*') goto yy668;
10556
400
      goto yy590;
10557
7.00k
    } else {
10558
7.00k
      if (yych <= 'E') goto yy935;
10559
4.67k
      if (yych == 'e') goto yy935;
10560
356
      goto yy590;
10561
4.67k
    }
10562
1.97k
yy922:
10563
1.97k
    YYDEBUG(922, *YYCURSOR);
10564
1.97k
    yyaccept = 94;
10565
1.97k
    YYMARKER = ++YYCURSOR;
10566
1.97k
    YYFILL(1);
10567
1.97k
    yych = *YYCURSOR;
10568
1.97k
    if (yych <= '\n') {
10569
917
      if (yych <= 0x00) goto yy886;
10570
670
      if (yych <= '\t') goto yy586;
10571
342
      goto yy495;
10572
1.05k
    } else {
10573
1.05k
      if (yych == '\r') goto yy495;
10574
611
      goto yy586;
10575
1.05k
    }
10576
6.21k
yy923:
10577
6.21k
    YYDEBUG(923, *YYCURSOR);
10578
6.21k
    ++YYCURSOR;
10579
6.21k
    YYFILL(1);
10580
6.21k
    yych = *YYCURSOR;
10581
6.21k
    if (yych <= '\r') {
10582
1.42k
      if (yych <= '\t') {
10583
559
        if (yych <= 0x00) goto yy86;
10584
312
        goto yy586;
10585
868
      } else {
10586
868
        if (yych <= '\n') goto yy495;
10587
658
        if (yych <= '\f') goto yy586;
10588
464
        goto yy495;
10589
658
      }
10590
4.78k
    } else {
10591
4.78k
      if (yych <= 'N') {
10592
2.16k
        if (yych <= 'M') goto yy586;
10593
1.49k
        goto yy936;
10594
2.62k
      } else {
10595
2.62k
        if (yych == 'n') goto yy936;
10596
909
        goto yy586;
10597
2.62k
      }
10598
4.78k
    }
10599
733
yy924:
10600
733
    YYDEBUG(924, *YYCURSOR);
10601
733
    yych = *++YYCURSOR;
10602
733
    if (yych == ')') goto yy937;
10603
223
    goto yy86;
10604
10.0k
yy925:
10605
10.0k
    YYDEBUG(925, *YYCURSOR);
10606
10.0k
    ++YYCURSOR;
10607
10.0k
    YYFILL(1);
10608
10.0k
    yych = *YYCURSOR;
10609
10.0k
    if (yych <= '\f') {
10610
4.83k
      if (yych <= 0x00) goto yy86;
10611
4.54k
      if (yych == '\n') goto yy904;
10612
245
      goto yy808;
10613
5.17k
    } else {
10614
5.17k
      if (yych <= '\r') goto yy904;
10615
3.66k
      if (yych == '*') goto yy848;
10616
3.23k
      goto yy808;
10617
3.66k
    }
10618
31.8k
yy926:
10619
31.8k
    YYDEBUG(926, *YYCURSOR);
10620
31.8k
    ++YYCURSOR;
10621
31.8k
    YYFILL(1);
10622
31.8k
    yych = *YYCURSOR;
10623
31.8k
    if (yych <= '\f') {
10624
1.03k
      if (yych <= 0x00) goto yy86;
10625
788
      if (yych == '\n') goto yy846;
10626
492
      goto yy808;
10627
30.8k
    } else {
10628
30.8k
      if (yych <= '\r') goto yy846;
10629
30.3k
      if (yych == '*') goto yy939;
10630
2.99k
      goto yy808;
10631
30.3k
    }
10632
19.9k
yy927:
10633
19.9k
    YYDEBUG(927, *YYCURSOR);
10634
19.9k
    ++YYCURSOR;
10635
19.9k
    YYFILL(1);
10636
19.9k
    yych = *YYCURSOR;
10637
19.9k
    if (yych <= ')') {
10638
1.83k
      if (yych <= '\n') {
10639
774
        if (yych <= 0x00) goto yy86;
10640
547
        if (yych <= '\t') goto yy808;
10641
329
        goto yy846;
10642
1.06k
      } else {
10643
1.06k
        if (yych == '\r') goto yy846;
10644
633
        goto yy808;
10645
1.06k
      }
10646
18.0k
    } else {
10647
18.0k
      if (yych <= 'R') {
10648
13.9k
        if (yych <= '*') goto yy848;
10649
13.6k
        if (yych <= 'Q') goto yy808;
10650
13.0k
        goto yy940;
10651
13.6k
      } else {
10652
4.10k
        if (yych == 'r') goto yy940;
10653
1.14k
        goto yy808;
10654
4.10k
      }
10655
18.0k
    }
10656
6.00k
yy928:
10657
6.00k
    YYDEBUG(928, *YYCURSOR);
10658
6.00k
    ++YYCURSOR;
10659
6.00k
    YYFILL(1);
10660
6.00k
    yych = *YYCURSOR;
10661
6.00k
    if (yych <= 'L') {
10662
696
      if (yych <= 0x00) goto yy86;
10663
493
      if (yych == '*') goto yy760;
10664
298
      goto yy696;
10665
5.30k
    } else {
10666
5.30k
      if (yych <= 'M') goto yy941;
10667
1.31k
      if (yych == 'm') goto yy941;
10668
260
      goto yy696;
10669
1.31k
    }
10670
1.32k
yy929:
10671
1.32k
    YYDEBUG(929, *YYCURSOR);
10672
1.32k
    yyaccept = 4;
10673
1.32k
    yych = *(YYMARKER = ++YYCURSOR);
10674
1.32k
    if (yych == 'E') goto yy942;
10675
1.02k
    if (yych == 'e') goto yy942;
10676
262
    goto yy48;
10677
4.87k
yy930:
10678
4.87k
    YYDEBUG(930, *YYCURSOR);
10679
4.87k
    yyaccept = 95;
10680
4.87k
    yych = *(YYMARKER = ++YYCURSOR);
10681
4.87k
    if (yybm[256+yych] & 128) {
10682
338
      goto yy47;
10683
338
    }
10684
4.53k
    if (yych == '\\') goto yy164;
10685
4.53k
yy931:
10686
4.53k
    YYDEBUG(931, *YYCURSOR);
10687
4.53k
    yyleng = YYCURSOR - SCNG(yy_text);
10688
4.53k
#line 2285 "Zend/zend_language_scanner.l"
10689
4.53k
    {
10690
4.53k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10691
4.53k
}
10692
0
#line 10693 "Zend/zend_language_scanner.c"
10693
10.0k
yy932:
10694
10.0k
    YYDEBUG(932, *YYCURSOR);
10695
10.0k
    ++YYCURSOR;
10696
10.0k
    YYFILL(1);
10697
10.0k
    yych = *YYCURSOR;
10698
10.0k
    if (yych <= ')') {
10699
1.12k
      if (yych <= '\n') {
10700
708
        if (yych <= 0x00) goto yy86;
10701
473
        if (yych <= '\t') goto yy738;
10702
276
        goto yy787;
10703
473
      } else {
10704
416
        if (yych == '\r') goto yy787;
10705
210
        goto yy738;
10706
416
      }
10707
8.93k
    } else {
10708
8.93k
      if (yych <= 'E') {
10709
1.23k
        if (yych <= '*') goto yy789;
10710
1.03k
        if (yych <= 'D') goto yy738;
10711
836
        goto yy943;
10712
7.69k
      } else {
10713
7.69k
        if (yych == 'e') goto yy943;
10714
381
        goto yy738;
10715
7.69k
      }
10716
8.93k
    }
10717
27.5k
yy933:
10718
27.5k
    YYDEBUG(933, *YYCURSOR);
10719
27.5k
    ++YYCURSOR;
10720
27.5k
    YYFILL(1);
10721
27.5k
    yych = *YYCURSOR;
10722
27.5k
    if (yych <= ')') {
10723
1.85k
      if (yych <= '\n') {
10724
1.23k
        if (yych <= 0x00) goto yy86;
10725
850
        if (yych <= '\t') goto yy738;
10726
335
        goto yy787;
10727
850
      } else {
10728
629
        if (yych == '\r') goto yy787;
10729
238
        goto yy738;
10730
629
      }
10731
25.7k
    } else {
10732
25.7k
      if (yych <= 'L') {
10733
6.57k
        if (yych <= '*') goto yy789;
10734
6.35k
        if (yych <= 'K') goto yy738;
10735
4.35k
        goto yy944;
10736
19.1k
      } else {
10737
19.1k
        if (yych == 'l') goto yy944;
10738
497
        goto yy738;
10739
19.1k
      }
10740
25.7k
    }
10741
2.13k
yy934:
10742
2.13k
    YYDEBUG(934, *YYCURSOR);
10743
2.13k
    ++YYCURSOR;
10744
2.13k
    YYFILL(1);
10745
2.13k
    yych = *YYCURSOR;
10746
2.13k
    if (yych <= 'C') {
10747
775
      if (yych <= 0x00) goto yy86;
10748
412
      if (yych == '*') goto yy668;
10749
210
      goto yy590;
10750
1.36k
    } else {
10751
1.36k
      if (yych <= 'D') goto yy945;
10752
1.09k
      if (yych == 'd') goto yy945;
10753
347
      goto yy590;
10754
1.09k
    }
10755
6.64k
yy935:
10756
6.64k
    YYDEBUG(935, *YYCURSOR);
10757
6.64k
    ++YYCURSOR;
10758
6.64k
    YYFILL(1);
10759
6.64k
    yych = *YYCURSOR;
10760
6.64k
    if (yych <= 'L') {
10761
1.70k
      if (yych <= 0x00) goto yy86;
10762
1.50k
      if (yych == '*') goto yy668;
10763
434
      goto yy590;
10764
4.93k
    } else {
10765
4.93k
      if (yych <= 'M') goto yy946;
10766
3.10k
      if (yych == 'm') goto yy946;
10767
294
      goto yy590;
10768
3.10k
    }
10769
3.21k
yy936:
10770
3.21k
    YYDEBUG(936, *YYCURSOR);
10771
3.21k
    ++YYCURSOR;
10772
3.21k
    YYFILL(1);
10773
3.21k
    yych = *YYCURSOR;
10774
3.21k
    if (yych <= '\r') {
10775
1.24k
      if (yych <= '\t') {
10776
407
        if (yych <= 0x00) goto yy86;
10777
205
        goto yy586;
10778
835
      } else {
10779
835
        if (yych <= '\n') goto yy495;
10780
440
        if (yych <= '\f') goto yy586;
10781
239
        goto yy495;
10782
440
      }
10783
1.97k
    } else {
10784
1.97k
      if (yych <= 'T') {
10785
995
        if (yych <= 'S') goto yy586;
10786
779
        goto yy895;
10787
995
      } else {
10788
976
        if (yych == 't') goto yy895;
10789
201
        goto yy586;
10790
976
      }
10791
1.97k
    }
10792
510
yy937:
10793
510
    YYDEBUG(937, *YYCURSOR);
10794
510
    ++YYCURSOR;
10795
510
    YYDEBUG(938, *YYCURSOR);
10796
510
    yyleng = YYCURSOR - SCNG(yy_text);
10797
510
#line 1790 "Zend/zend_language_scanner.l"
10798
510
    {
10799
510
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10800
510
}
10801
0
#line 10802 "Zend/zend_language_scanner.c"
10802
27.3k
yy939:
10803
27.3k
    YYDEBUG(939, *YYCURSOR);
10804
27.3k
    ++YYCURSOR;
10805
27.3k
    YYFILL(1);
10806
27.3k
    yych = *YYCURSOR;
10807
27.3k
    if (yych <= '\r') {
10808
2.07k
      if (yych <= '\t') {
10809
1.00k
        if (yych <= 0x00) goto yy86;
10810
601
        goto yy808;
10811
1.06k
      } else {
10812
1.06k
        if (yych <= '\n') goto yy846;
10813
551
        if (yych <= '\f') goto yy808;
10814
289
        goto yy846;
10815
551
      }
10816
25.2k
    } else {
10817
25.2k
      if (yych <= '*') {
10818
1.32k
        if (yych <= ')') goto yy808;
10819
296
        goto yy848;
10820
23.9k
      } else {
10821
23.9k
        if (yych == '/') goto yy904;
10822
817
        goto yy808;
10823
23.9k
      }
10824
25.2k
    }
10825
16.0k
yy940:
10826
16.0k
    YYDEBUG(940, *YYCURSOR);
10827
16.0k
    ++YYCURSOR;
10828
16.0k
    YYFILL(1);
10829
16.0k
    yych = *YYCURSOR;
10830
16.0k
    if (yych <= ')') {
10831
1.22k
      if (yych <= '\n') {
10832
761
        if (yych <= 0x00) goto yy86;
10833
542
        if (yych <= '\t') goto yy808;
10834
284
        goto yy846;
10835
542
      } else {
10836
467
        if (yych == '\r') goto yy846;
10837
249
        goto yy808;
10838
467
      }
10839
14.8k
    } else {
10840
14.8k
      if (yych <= 'O') {
10841
12.8k
        if (yych <= '*') goto yy848;
10842
12.6k
        if (yych <= 'N') goto yy808;
10843
12.3k
        goto yy947;
10844
12.6k
      } else {
10845
1.99k
        if (yych == 'o') goto yy947;
10846
344
        goto yy808;
10847
1.99k
      }
10848
14.8k
    }
10849
5.04k
yy941:
10850
5.04k
    YYDEBUG(941, *YYCURSOR);
10851
5.04k
    ++YYCURSOR;
10852
5.04k
    YYFILL(1);
10853
5.04k
    yych = *YYCURSOR;
10854
5.04k
    if (yych <= '@') {
10855
3.48k
      if (yych <= '*') {
10856
2.72k
        if (yych <= 0x00) goto yy875;
10857
2.51k
        if (yych <= ')') goto yy948;
10858
1.79k
        goto yy949;
10859
2.51k
      } else {
10860
764
        if (yych <= '/') goto yy948;
10861
526
        if (yych <= '9') goto yy696;
10862
320
        goto yy948;
10863
526
      }
10864
3.48k
    } else {
10865
1.55k
      if (yych <= '_') {
10866
712
        if (yych <= 'Z') goto yy696;
10867
426
        if (yych <= '^') goto yy948;
10868
209
        goto yy696;
10869
846
      } else {
10870
846
        if (yych <= '`') goto yy948;
10871
627
        if (yych <= 'z') goto yy696;
10872
428
        if (yych <= 0x7F) goto yy948;
10873
199
        goto yy696;
10874
428
      }
10875
1.55k
    }
10876
1.06k
yy942:
10877
1.06k
    YYDEBUG(942, *YYCURSOR);
10878
1.06k
    yyaccept = 4;
10879
1.06k
    yych = *(YYMARKER = ++YYCURSOR);
10880
1.06k
    if (yych == 'R') goto yy950;
10881
846
    if (yych == 'r') goto yy950;
10882
272
    goto yy48;
10883
8.14k
yy943:
10884
8.14k
    YYDEBUG(943, *YYCURSOR);
10885
8.14k
    ++YYCURSOR;
10886
8.14k
    YYFILL(1);
10887
8.14k
    yych = *YYCURSOR;
10888
8.14k
    if (yych <= ')') {
10889
1.60k
      if (yych <= '\n') {
10890
691
        if (yych <= 0x00) goto yy86;
10891
487
        if (yych <= '\t') goto yy738;
10892
292
        goto yy787;
10893
914
      } else {
10894
914
        if (yych == '\r') goto yy787;
10895
217
        goto yy738;
10896
914
      }
10897
6.54k
    } else {
10898
6.54k
      if (yych <= 'N') {
10899
1.88k
        if (yych <= '*') goto yy789;
10900
1.36k
        if (yych <= 'M') goto yy738;
10901
845
        goto yy952;
10902
4.66k
      } else {
10903
4.66k
        if (yych == 'n') goto yy952;
10904
588
        goto yy738;
10905
4.66k
      }
10906
6.54k
    }
10907
22.9k
yy944:
10908
22.9k
    YYDEBUG(944, *YYCURSOR);
10909
22.9k
    ++YYCURSOR;
10910
22.9k
    YYFILL(1);
10911
22.9k
    yych = *YYCURSOR;
10912
22.9k
    if (yych <= ')') {
10913
7.76k
      if (yych <= '\n') {
10914
1.68k
        if (yych <= 0x00) goto yy86;
10915
1.46k
        if (yych <= '\t') goto yy738;
10916
488
        goto yy787;
10917
6.07k
      } else {
10918
6.07k
        if (yych == '\r') goto yy787;
10919
5.62k
        goto yy738;
10920
6.07k
      }
10921
15.2k
    } else {
10922
15.2k
      if (yych <= 'E') {
10923
5.83k
        if (yych <= '*') goto yy789;
10924
5.07k
        if (yych <= 'D') goto yy738;
10925
4.82k
        goto yy953;
10926
9.39k
      } else {
10927
9.39k
        if (yych == 'e') goto yy953;
10928
325
        goto yy738;
10929
9.39k
      }
10930
15.2k
    }
10931
2.26k
yy945:
10932
2.26k
    YYDEBUG(945, *YYCURSOR);
10933
2.26k
    ++YYCURSOR;
10934
2.26k
    YYFILL(1);
10935
2.26k
    yych = *YYCURSOR;
10936
2.26k
    if (yych <= 'R') {
10937
1.05k
      if (yych <= 0x00) goto yy86;
10938
711
      if (yych == '*') goto yy668;
10939
510
      goto yy590;
10940
1.20k
    } else {
10941
1.20k
      if (yych <= 'S') goto yy954;
10942
1.01k
      if (yych == 's') goto yy954;
10943
403
      goto yy590;
10944
1.01k
    }
10945
4.64k
yy946:
10946
4.64k
    YYDEBUG(946, *YYCURSOR);
10947
4.64k
    ++YYCURSOR;
10948
4.64k
    YYFILL(1);
10949
4.64k
    yych = *YYCURSOR;
10950
4.64k
    if (yych <= 'D') {
10951
737
      if (yych <= 0x00) goto yy86;
10952
465
      if (yych == '*') goto yy668;
10953
270
      goto yy590;
10954
3.90k
    } else {
10955
3.90k
      if (yych <= 'E') goto yy955;
10956
2.73k
      if (yych == 'e') goto yy955;
10957
278
      goto yy590;
10958
2.73k
    }
10959
14.0k
yy947:
10960
14.0k
    YYDEBUG(947, *YYCURSOR);
10961
14.0k
    ++YYCURSOR;
10962
14.0k
    YYFILL(1);
10963
14.0k
    yych = *YYCURSOR;
10964
14.0k
    if (yych <= ')') {
10965
1.19k
      if (yych <= '\n') {
10966
643
        if (yych <= 0x00) goto yy86;
10967
447
        if (yych <= '\t') goto yy808;
10968
250
        goto yy846;
10969
555
      } else {
10970
555
        if (yych == '\r') goto yy846;
10971
309
        goto yy808;
10972
555
      }
10973
12.8k
    } else {
10974
12.8k
      if (yych <= 'M') {
10975
10.9k
        if (yych <= '*') goto yy848;
10976
10.7k
        if (yych <= 'L') goto yy808;
10977
10.3k
        goto yy956;
10978
10.7k
      } else {
10979
1.88k
        if (yych == 'm') goto yy956;
10980
215
        goto yy808;
10981
1.88k
      }
10982
12.8k
    }
10983
1.94k
yy948:
10984
1.94k
    YYDEBUG(948, *YYCURSOR);
10985
1.94k
    yyaccept = 91;
10986
1.94k
    YYMARKER = ++YYCURSOR;
10987
1.94k
    YYFILL(1);
10988
1.94k
    yych = *YYCURSOR;
10989
1.94k
    if (yych <= 0x00) goto yy876;
10990
1.41k
    if (yych == '*') goto yy760;
10991
1.05k
    goto yy696;
10992
1.79k
yy949:
10993
1.79k
    YYDEBUG(949, *YYCURSOR);
10994
1.79k
    yyaccept = 91;
10995
1.79k
    YYMARKER = ++YYCURSOR;
10996
1.79k
    YYFILL(1);
10997
1.79k
    yych = *YYCURSOR;
10998
1.79k
    if (yych <= '*') {
10999
1.34k
      if (yych <= 0x00) goto yy876;
11000
1.10k
      if (yych <= ')') goto yy696;
11001
228
      goto yy760;
11002
1.10k
    } else {
11003
445
      if (yych == '/') goto yy616;
11004
238
      goto yy696;
11005
445
    }
11006
793
yy950:
11007
793
    YYDEBUG(950, *YYCURSOR);
11008
793
    yyaccept = 96;
11009
793
    yych = *(YYMARKER = ++YYCURSOR);
11010
793
    if (yybm[256+yych] & 128) {
11011
311
      goto yy47;
11012
311
    }
11013
482
    if (yych == '\\') goto yy164;
11014
482
yy951:
11015
482
    YYDEBUG(951, *YYCURSOR);
11016
482
    yyleng = YYCURSOR - SCNG(yy_text);
11017
482
#line 1762 "Zend/zend_language_scanner.l"
11018
482
    {
11019
482
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11020
482
}
11021
0
#line 11022 "Zend/zend_language_scanner.c"
11022
4.91k
yy952:
11023
4.91k
    YYDEBUG(952, *YYCURSOR);
11024
4.91k
    ++YYCURSOR;
11025
4.91k
    YYFILL(1);
11026
4.91k
    yych = *YYCURSOR;
11027
4.91k
    if (yych <= ')') {
11028
1.57k
      if (yych <= '\n') {
11029
1.06k
        if (yych <= 0x00) goto yy86;
11030
835
        if (yych <= '\t') goto yy738;
11031
539
        goto yy787;
11032
835
      } else {
11033
517
        if (yych == '\r') goto yy787;
11034
313
        goto yy738;
11035
517
      }
11036
3.33k
    } else {
11037
3.33k
      if (yych <= 'D') {
11038
990
        if (yych <= '*') goto yy789;
11039
776
        if (yych <= 'C') goto yy738;
11040
542
        goto yy957;
11041
2.34k
      } else {
11042
2.34k
        if (yych == 'd') goto yy957;
11043
309
        goto yy738;
11044
2.34k
      }
11045
3.33k
    }
11046
13.8k
yy953:
11047
13.8k
    YYDEBUG(953, *YYCURSOR);
11048
13.8k
    ++YYCURSOR;
11049
13.8k
    YYFILL(1);
11050
13.8k
    yych = *YYCURSOR;
11051
13.8k
    if (yych <= ')') {
11052
2.06k
      if (yych <= '\n') {
11053
1.62k
        if (yych <= 0x00) goto yy86;
11054
1.40k
        if (yych <= '\t') goto yy738;
11055
1.18k
        goto yy787;
11056
1.40k
      } else {
11057
440
        if (yych == '\r') goto yy787;
11058
199
        goto yy738;
11059
440
      }
11060
11.8k
    } else {
11061
11.8k
      if (yych <= 'M') {
11062
4.52k
        if (yych <= '*') goto yy789;
11063
3.58k
        if (yych <= 'L') goto yy738;
11064
3.26k
        goto yy958;
11065
7.30k
      } else {
11066
7.30k
        if (yych == 'm') goto yy958;
11067
2.98k
        goto yy738;
11068
7.30k
      }
11069
11.8k
    }
11070
806
yy954:
11071
806
    YYDEBUG(954, *YYCURSOR);
11072
806
    yyaccept = 94;
11073
806
    YYMARKER = ++YYCURSOR;
11074
806
    YYFILL(1);
11075
806
    yych = *YYCURSOR;
11076
806
    if (yych <= 0x00) goto yy886;
11077
561
    if (yych == '*') goto yy668;
11078
330
    goto yy590;
11079
3.63k
yy955:
11080
3.63k
    YYDEBUG(955, *YYCURSOR);
11081
3.63k
    ++YYCURSOR;
11082
3.63k
    YYFILL(1);
11083
3.63k
    yych = *YYCURSOR;
11084
3.63k
    if (yych <= 'M') {
11085
779
      if (yych <= 0x00) goto yy86;
11086
525
      if (yych == '*') goto yy668;
11087
264
      goto yy590;
11088
2.85k
    } else {
11089
2.85k
      if (yych <= 'N') goto yy959;
11090
2.01k
      if (yych == 'n') goto yy959;
11091
207
      goto yy590;
11092
2.01k
    }
11093
12.0k
yy956:
11094
12.0k
    YYDEBUG(956, *YYCURSOR);
11095
12.0k
    ++YYCURSOR;
11096
12.0k
    YYFILL(1);
11097
12.0k
    yych = *YYCURSOR;
11098
12.0k
    if (yych <= '/') {
11099
8.30k
      if (yych <= '\f') {
11100
3.92k
        if (yych <= 0x00) goto yy875;
11101
3.69k
        if (yych == '\n') goto yy961;
11102
555
        goto yy960;
11103
4.37k
      } else {
11104
4.37k
        if (yych <= '\r') goto yy961;
11105
2.93k
        if (yych == '*') goto yy962;
11106
587
        goto yy960;
11107
2.93k
      }
11108
8.30k
    } else {
11109
3.72k
      if (yych <= '^') {
11110
1.91k
        if (yych <= '9') goto yy808;
11111
1.71k
        if (yych <= '@') goto yy960;
11112
1.36k
        if (yych <= 'Z') goto yy808;
11113
382
        goto yy960;
11114
1.81k
      } else {
11115
1.81k
        if (yych <= '`') {
11116
594
          if (yych <= '_') goto yy808;
11117
399
          goto yy960;
11118
1.21k
        } else {
11119
1.21k
          if (yych <= 'z') goto yy808;
11120
911
          if (yych <= 0x7F) goto yy960;
11121
350
          goto yy808;
11122
911
        }
11123
1.81k
      }
11124
3.72k
    }
11125
3.64k
yy957:
11126
3.64k
    YYDEBUG(957, *YYCURSOR);
11127
3.64k
    ++YYCURSOR;
11128
3.64k
    YYFILL(1);
11129
3.64k
    yych = *YYCURSOR;
11130
3.64k
    if (yych <= ')') {
11131
1.34k
      if (yych <= '\n') {
11132
703
        if (yych <= 0x00) goto yy86;
11133
495
        if (yych <= '\t') goto yy738;
11134
257
        goto yy787;
11135
640
      } else {
11136
640
        if (yych == '\r') goto yy787;
11137
436
        goto yy738;
11138
640
      }
11139
2.30k
    } else {
11140
2.30k
      if (yych <= 'S') {
11141
703
        if (yych <= '*') goto yy789;
11142
478
        if (yych <= 'R') goto yy738;
11143
278
        goto yy963;
11144
1.60k
      } else {
11145
1.60k
        if (yych == 's') goto yy963;
11146
201
        goto yy738;
11147
1.60k
      }
11148
2.30k
    }
11149
7.58k
yy958:
11150
7.58k
    YYDEBUG(958, *YYCURSOR);
11151
7.58k
    ++YYCURSOR;
11152
7.58k
    YYFILL(1);
11153
7.58k
    yych = *YYCURSOR;
11154
7.58k
    if (yych <= ')') {
11155
1.18k
      if (yych <= '\n') {
11156
677
        if (yych <= 0x00) goto yy86;
11157
444
        if (yych <= '\t') goto yy738;
11158
209
        goto yy787;
11159
509
      } else {
11160
509
        if (yych == '\r') goto yy787;
11161
269
        goto yy738;
11162
509
      }
11163
6.39k
    } else {
11164
6.39k
      if (yych <= 'E') {
11165
3.61k
        if (yych <= '*') goto yy789;
11166
3.40k
        if (yych <= 'D') goto yy738;
11167
3.19k
        goto yy964;
11168
3.40k
      } else {
11169
2.78k
        if (yych == 'e') goto yy964;
11170
353
        goto yy738;
11171
2.78k
      }
11172
6.39k
    }
11173
2.64k
yy959:
11174
2.64k
    YYDEBUG(959, *YYCURSOR);
11175
2.64k
    ++YYCURSOR;
11176
2.64k
    YYFILL(1);
11177
2.64k
    yych = *YYCURSOR;
11178
2.64k
    if (yych <= 'S') {
11179
769
      if (yych <= 0x00) goto yy86;
11180
571
      if (yych == '*') goto yy668;
11181
372
      goto yy590;
11182
1.87k
    } else {
11183
1.87k
      if (yych <= 'T') goto yy945;
11184
1.45k
      if (yych == 't') goto yy945;
11185
627
      goto yy590;
11186
1.45k
    }
11187
2.83k
yy960:
11188
2.83k
    YYDEBUG(960, *YYCURSOR);
11189
2.83k
    yyaccept = 91;
11190
2.83k
    YYMARKER = ++YYCURSOR;
11191
2.83k
    YYFILL(1);
11192
2.83k
    yych = *YYCURSOR;
11193
2.83k
    if (yych <= '\f') {
11194
1.13k
      if (yych <= 0x00) goto yy876;
11195
919
      if (yych == '\n') goto yy846;
11196
633
      goto yy808;
11197
1.69k
    } else {
11198
1.69k
      if (yych <= '\r') goto yy846;
11199
1.34k
      if (yych == '*') goto yy848;
11200
1.08k
      goto yy808;
11201
1.34k
    }
11202
4.58k
yy961:
11203
4.58k
    YYDEBUG(961, *YYCURSOR);
11204
4.58k
    yyaccept = 91;
11205
4.58k
    YYMARKER = ++YYCURSOR;
11206
4.58k
    YYFILL(1);
11207
4.58k
    yych = *YYCURSOR;
11208
4.58k
    if (yych <= '#') {
11209
3.12k
      if (yych <= '\f') {
11210
876
        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.25k
      } else {
11215
2.25k
        if (yych <= 0x1F) {
11216
557
          if (yych <= '\r') goto yy846;
11217
240
          goto yy696;
11218
1.69k
        } else {
11219
1.69k
          if (yych <= ' ') goto yy846;
11220
848
          if (yych <= '"') goto yy696;
11221
654
          goto yy877;
11222
848
        }
11223
2.25k
      }
11224
3.12k
    } 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
2.35k
yy962:
11240
2.35k
    YYDEBUG(962, *YYCURSOR);
11241
2.35k
    yyaccept = 91;
11242
2.35k
    YYMARKER = ++YYCURSOR;
11243
2.35k
    YYFILL(1);
11244
2.35k
    yych = *YYCURSOR;
11245
2.35k
    if (yych <= '\r') {
11246
1.21k
      if (yych <= '\t') {
11247
476
        if (yych <= 0x00) goto yy876;
11248
202
        goto yy808;
11249
742
      } else {
11250
742
        if (yych <= '\n') goto yy846;
11251
454
        if (yych <= '\f') goto yy808;
11252
258
        goto yy846;
11253
454
      }
11254
1.21k
    } else {
11255
1.13k
      if (yych <= '*') {
11256
614
        if (yych <= ')') goto yy808;
11257
418
        goto yy848;
11258
614
      } else {
11259
520
        if (yych == '/') goto yy694;
11260
325
        goto yy808;
11261
520
      }
11262
1.13k
    }
11263
1.67k
yy963:
11264
1.67k
    YYDEBUG(963, *YYCURSOR);
11265
1.67k
    yyaccept = 94;
11266
1.67k
    YYMARKER = ++YYCURSOR;
11267
1.67k
    YYFILL(1);
11268
1.67k
    yych = *YYCURSOR;
11269
1.67k
    if (yych <= '\f') {
11270
615
      if (yych <= 0x00) goto yy886;
11271
400
      if (yych == '\n') goto yy787;
11272
198
      goto yy738;
11273
1.06k
    } else {
11274
1.06k
      if (yych <= '\r') goto yy787;
11275
682
      if (yych == '*') goto yy789;
11276
465
      goto yy738;
11277
682
    }
11278
5.63k
yy964:
11279
5.63k
    YYDEBUG(964, *YYCURSOR);
11280
5.63k
    ++YYCURSOR;
11281
5.63k
    YYFILL(1);
11282
5.63k
    yych = *YYCURSOR;
11283
5.63k
    if (yych <= ')') {
11284
1.82k
      if (yych <= '\n') {
11285
713
        if (yych <= 0x00) goto yy86;
11286
501
        if (yych <= '\t') goto yy738;
11287
211
        goto yy787;
11288
1.11k
      } else {
11289
1.11k
        if (yych == '\r') goto yy787;
11290
891
        goto yy738;
11291
1.11k
      }
11292
3.80k
    } else {
11293
3.80k
      if (yych <= 'N') {
11294
2.39k
        if (yych <= '*') goto yy789;
11295
2.05k
        if (yych <= 'M') goto yy738;
11296
2.05k
      } else {
11297
1.41k
        if (yych != 'n') goto yy738;
11298
1.41k
      }
11299
3.80k
    }
11300
2.92k
    YYDEBUG(965, *YYCURSOR);
11301
2.92k
    ++YYCURSOR;
11302
2.92k
    YYFILL(1);
11303
2.92k
    yych = *YYCURSOR;
11304
2.92k
    if (yych <= ')') {
11305
1.15k
      if (yych <= '\n') {
11306
682
        if (yych <= 0x00) goto yy86;
11307
482
        if (yych <= '\t') goto yy738;
11308
204
        goto yy787;
11309
482
      } else {
11310
474
        if (yych == '\r') goto yy787;
11311
208
        goto yy738;
11312
474
      }
11313
1.76k
    } else {
11314
1.76k
      if (yych <= 'T') {
11315
830
        if (yych <= '*') goto yy789;
11316
628
        if (yych <= 'S') goto yy738;
11317
369
        goto yy957;
11318
939
      } else {
11319
939
        if (yych == 't') goto yy957;
11320
244
        goto yy738;
11321
939
      }
11322
1.76k
    }
11323
2.92k
  }
11324
/* *********************************** */
11325
120k
yyc_ST_LOOKING_FOR_PROPERTY:
11326
120k
  {
11327
120k
    static const unsigned char yybm[] = {
11328
120k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
120k
        0,  64,  64,   0,   0,  64,   0,   0, 
11330
120k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
120k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
120k
       64,   0,   0,   0,   0,   0,   0,   0, 
11333
120k
        0,   0,   0,   0,   0,   0,   0,   0, 
11334
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11335
120k
      128, 128,   0,   0,   0,   0,   0,   0, 
11336
120k
        0, 128, 128, 128, 128, 128, 128, 128, 
11337
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11339
120k
      128, 128, 128,   0,   0,   0,   0, 128, 
11340
120k
        0, 128, 128, 128, 128, 128, 128, 128, 
11341
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
120k
      128, 128, 128,   0,   0,   0,   0,   0, 
11344
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
120k
      128, 128, 128, 128, 128, 128, 128, 128, 
11360
120k
    };
11361
120k
    YYDEBUG(966, *YYCURSOR);
11362
120k
    YYFILL(4);
11363
120k
    yych = *YYCURSOR;
11364
120k
    if (yybm[0+yych] & 64) {
11365
7.22k
      goto yy970;
11366
7.22k
    }
11367
113k
    if (yych <= '?') {
11368
45.4k
      if (yych <= '-') {
11369
24.6k
        if (yych == '#') goto yy973;
11370
18.6k
        if (yych >= '-') goto yy975;
11371
20.8k
      } else {
11372
20.8k
        if (yych == '/') goto yy976;
11373
11.9k
        if (yych >= '?') goto yy977;
11374
11.9k
      }
11375
68.2k
    } else {
11376
68.2k
      if (yych <= '_') {
11377
7.73k
        if (yych <= '@') goto yy968;
11378
7.53k
        if (yych <= 'Z') goto yy978;
11379
4.59k
        if (yych >= '_') goto yy978;
11380
60.4k
      } else {
11381
60.4k
        if (yych <= '`') goto yy968;
11382
59.8k
        if (yych <= 'z') goto yy978;
11383
12.4k
        if (yych >= 0x80) goto yy978;
11384
12.4k
      }
11385
68.2k
    }
11386
8.60k
yy968:
11387
8.60k
    YYDEBUG(968, *YYCURSOR);
11388
8.60k
    ++YYCURSOR;
11389
10.8k
yy969:
11390
10.8k
    YYDEBUG(969, *YYCURSOR);
11391
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11392
10.8k
#line 2520 "Zend/zend_language_scanner.l"
11393
10.8k
    {
11394
10.8k
  yyless(0);
11395
10.8k
  yy_pop_state();
11396
10.8k
  goto restart;
11397
8.60k
}
11398
0
#line 11399 "Zend/zend_language_scanner.c"
11399
8.42k
yy970:
11400
8.42k
    YYDEBUG(970, *YYCURSOR);
11401
8.42k
    ++YYCURSOR;
11402
8.42k
    YYFILL(1);
11403
8.42k
    yych = *YYCURSOR;
11404
8.42k
    YYDEBUG(971, *YYCURSOR);
11405
8.42k
    if (yybm[0+yych] & 64) {
11406
1.19k
      goto yy970;
11407
1.19k
    }
11408
7.22k
    YYDEBUG(972, *YYCURSOR);
11409
7.22k
    yyleng = YYCURSOR - SCNG(yy_text);
11410
7.22k
#line 1597 "Zend/zend_language_scanner.l"
11411
7.22k
    {
11412
7.22k
  goto return_whitespace;
11413
8.42k
}
11414
0
#line 11415 "Zend/zend_language_scanner.c"
11415
6.20k
yy973:
11416
6.20k
    YYDEBUG(973, *YYCURSOR);
11417
6.20k
    ++YYCURSOR;
11418
6.20k
    YYDEBUG(974, *YYCURSOR);
11419
6.20k
    yyleng = YYCURSOR - SCNG(yy_text);
11420
6.20k
#line 2460 "Zend/zend_language_scanner.l"
11421
6.20k
    {
11422
36.2k
  while (YYCURSOR < YYLIMIT) {
11423
35.7k
    switch (*YYCURSOR++) {
11424
1.05k
      case '\r':
11425
5.52k
      case '\n':
11426
5.52k
        YYCURSOR--;
11427
5.52k
        break;
11428
831
      case '?':
11429
831
        if (*YYCURSOR == '>') {
11430
208
          YYCURSOR--;
11431
208
          break;
11432
208
        }
11433
623
        ZEND_FALLTHROUGH;
11434
30.0k
      default:
11435
30.0k
        continue;
11436
35.7k
    }
11437
11438
5.73k
    break;
11439
35.7k
  }
11440
11441
6.20k
  yyleng = YYCURSOR - SCNG(yy_text);
11442
6.20k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11443
6.20k
}
11444
0
#line 11445 "Zend/zend_language_scanner.c"
11445
14.4k
yy975:
11446
14.4k
    YYDEBUG(975, *YYCURSOR);
11447
14.4k
    yych = *++YYCURSOR;
11448
14.4k
    if (yych == '>') goto yy981;
11449
433
    goto yy969;
11450
8.85k
yy976:
11451
8.85k
    YYDEBUG(976, *YYCURSOR);
11452
8.85k
    yych = *++YYCURSOR;
11453
8.85k
    if (yych == '*') goto yy983;
11454
1.02k
    if (yych == '/') goto yy973;
11455
738
    goto yy969;
11456
11.0k
yy977:
11457
11.0k
    YYDEBUG(977, *YYCURSOR);
11458
11.0k
    yyaccept = 0;
11459
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
11460
11.0k
    if (yych == '-') goto yy985;
11461
546
    goto yy969;
11462
224k
yy978:
11463
224k
    YYDEBUG(978, *YYCURSOR);
11464
224k
    ++YYCURSOR;
11465
224k
    YYFILL(1);
11466
224k
    yych = *YYCURSOR;
11467
224k
    YYDEBUG(979, *YYCURSOR);
11468
224k
    if (yybm[0+yych] & 128) {
11469
159k
      goto yy978;
11470
159k
    }
11471
64.7k
    YYDEBUG(980, *YYCURSOR);
11472
64.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11473
64.7k
#line 1609 "Zend/zend_language_scanner.l"
11474
64.7k
    {
11475
64.7k
  yy_pop_state();
11476
64.7k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11477
64.7k
}
11478
0
#line 11479 "Zend/zend_language_scanner.c"
11479
13.9k
yy981:
11480
13.9k
    YYDEBUG(981, *YYCURSOR);
11481
13.9k
    ++YYCURSOR;
11482
13.9k
    YYDEBUG(982, *YYCURSOR);
11483
13.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11484
13.9k
#line 1601 "Zend/zend_language_scanner.l"
11485
13.9k
    {
11486
13.9k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11487
13.9k
}
11488
0
#line 11489 "Zend/zend_language_scanner.c"
11489
7.82k
yy983:
11490
7.82k
    YYDEBUG(983, *YYCURSOR);
11491
7.82k
    yyaccept = 1;
11492
7.82k
    yych = *(YYMARKER = ++YYCURSOR);
11493
7.82k
    if (yych == '*') goto yy987;
11494
7.82k
yy984:
11495
7.82k
    YYDEBUG(984, *YYCURSOR);
11496
7.82k
    yyleng = YYCURSOR - SCNG(yy_text);
11497
7.82k
#line 2484 "Zend/zend_language_scanner.l"
11498
7.82k
    {
11499
7.82k
  int doc_com;
11500
11501
7.82k
  if (yyleng > 2) {
11502
3.30k
    doc_com = 1;
11503
3.30k
    RESET_DOC_COMMENT();
11504
4.52k
  } else {
11505
4.52k
    doc_com = 0;
11506
4.52k
  }
11507
11508
536k
  while (YYCURSOR < YYLIMIT) {
11509
535k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11510
6.80k
      break;
11511
6.80k
    }
11512
535k
  }
11513
11514
7.82k
  if (YYCURSOR < YYLIMIT) {
11515
6.80k
    YYCURSOR++;
11516
6.80k
  } else {
11517
1.02k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11518
1.02k
    if (PARSER_MODE()) {
11519
113
      RETURN_TOKEN(T_ERROR);
11520
113
    }
11521
1.02k
  }
11522
11523
7.71k
  yyleng = YYCURSOR - SCNG(yy_text);
11524
7.71k
  HANDLE_NEWLINES(yytext, yyleng);
11525
11526
7.71k
  if (doc_com) {
11527
3.24k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11528
3.24k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11529
3.24k
  }
11530
11531
4.46k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11532
4.46k
}
11533
0
#line 11534 "Zend/zend_language_scanner.c"
11534
10.5k
yy985:
11535
10.5k
    YYDEBUG(985, *YYCURSOR);
11536
10.5k
    yych = *++YYCURSOR;
11537
10.5k
    if (yych == '>') goto yy988;
11538
2.41k
yy986:
11539
2.41k
    YYDEBUG(986, *YYCURSOR);
11540
2.41k
    YYCURSOR = YYMARKER;
11541
2.41k
    if (yyaccept == 0) {
11542
486
      goto yy969;
11543
1.93k
    } else {
11544
1.93k
      goto yy984;
11545
1.93k
    }
11546
5.23k
yy987:
11547
5.23k
    YYDEBUG(987, *YYCURSOR);
11548
5.23k
    yych = *++YYCURSOR;
11549
5.23k
    if (yych <= '\f') {
11550
1.97k
      if (yych <= 0x08) goto yy986;
11551
1.39k
      if (yych <= '\n') goto yy990;
11552
200
      goto yy986;
11553
3.25k
    } else {
11554
3.25k
      if (yych <= '\r') goto yy990;
11555
1.65k
      if (yych == ' ') goto yy990;
11556
1.14k
      goto yy986;
11557
1.65k
    }
11558
10.0k
yy988:
11559
10.0k
    YYDEBUG(988, *YYCURSOR);
11560
10.0k
    ++YYCURSOR;
11561
10.0k
    YYDEBUG(989, *YYCURSOR);
11562
10.0k
    yyleng = YYCURSOR - SCNG(yy_text);
11563
10.0k
#line 1605 "Zend/zend_language_scanner.l"
11564
10.0k
    {
11565
10.0k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11566
10.0k
}
11567
0
#line 11568 "Zend/zend_language_scanner.c"
11568
6.11k
yy990:
11569
6.11k
    YYDEBUG(990, *YYCURSOR);
11570
6.11k
    ++YYCURSOR;
11571
6.11k
    YYFILL(1);
11572
6.11k
    yych = *YYCURSOR;
11573
6.11k
    YYDEBUG(991, *YYCURSOR);
11574
6.11k
    if (yych <= '\f') {
11575
2.76k
      if (yych <= 0x08) goto yy984;
11576
2.13k
      if (yych <= '\n') goto yy990;
11577
644
      goto yy984;
11578
3.35k
    } else {
11579
3.35k
      if (yych <= '\r') goto yy990;
11580
3.00k
      if (yych == ' ') goto yy990;
11581
2.03k
      goto yy984;
11582
3.00k
    }
11583
6.11k
  }
11584
/* *********************************** */
11585
146k
yyc_ST_BACKQUOTE:
11586
146k
  {
11587
146k
    static const unsigned char yybm[] = {
11588
146k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
146k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
146k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
146k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
146k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
146k
        0,   0,   0,   0,   0,   0,   0,   0, 
11594
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11595
146k
      128, 128,   0,   0,   0,   0,   0,   0, 
11596
146k
        0, 128, 128, 128, 128, 128, 128, 128, 
11597
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11599
146k
      128, 128, 128,   0,   0,   0,   0, 128, 
11600
146k
        0, 128, 128, 128, 128, 128, 128, 128, 
11601
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
146k
      128, 128, 128,   0,   0,   0,   0,   0, 
11604
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
146k
      128, 128, 128, 128, 128, 128, 128, 128, 
11620
146k
    };
11621
146k
    YYDEBUG(992, *YYCURSOR);
11622
146k
    YYFILL(2);
11623
146k
    yych = *YYCURSOR;
11624
146k
    if (yych <= '_') {
11625
115k
      if (yych == '$') goto yy996;
11626
115k
    } else {
11627
30.4k
      if (yych <= '`') goto yy997;
11628
10.3k
      if (yych == '{') goto yy999;
11629
10.3k
    }
11630
64.2k
    YYDEBUG(994, *YYCURSOR);
11631
64.2k
    ++YYCURSOR;
11632
67.3k
yy995:
11633
67.3k
    YYDEBUG(995, *YYCURSOR);
11634
67.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11635
67.3k
#line 2919 "Zend/zend_language_scanner.l"
11636
67.3k
    {
11637
67.3k
  if (YYCURSOR > YYLIMIT) {
11638
4.51k
    RETURN_END_TOKEN;
11639
4.51k
  }
11640
62.8k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11641
800
    YYCURSOR++;
11642
800
  }
11643
11644
1.67M
  while (YYCURSOR < YYLIMIT) {
11645
1.66M
    switch (*YYCURSOR++) {
11646
8.14k
      case '`':
11647
8.14k
        break;
11648
56.6k
      case '$':
11649
56.6k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11650
49.3k
          break;
11651
49.3k
        }
11652
7.34k
        continue;
11653
11.1k
      case '{':
11654
11.1k
        if (*YYCURSOR == '$') {
11655
1.28k
          break;
11656
1.28k
        }
11657
9.89k
        continue;
11658
9.89k
      case '\\':
11659
8.52k
        if (YYCURSOR < YYLIMIT) {
11660
8.26k
          YYCURSOR++;
11661
8.26k
        }
11662
8.52k
        ZEND_FALLTHROUGH;
11663
1.59M
      default:
11664
1.59M
        continue;
11665
1.66M
    }
11666
11667
58.7k
    YYCURSOR--;
11668
58.7k
    break;
11669
1.66M
  }
11670
11671
62.8k
  yyleng = YYCURSOR - SCNG(yy_text);
11672
11673
62.8k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11674
62.8k
   || !PARSER_MODE()) {
11675
62.8k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11676
62.8k
  } else {
11677
10
    RETURN_TOKEN(T_ERROR);
11678
10
  }
11679
62.8k
}
11680
0
#line 11681 "Zend/zend_language_scanner.c"
11681
59.8k
yy996:
11682
59.8k
    YYDEBUG(996, *YYCURSOR);
11683
59.8k
    yych = *++YYCURSOR;
11684
59.8k
    if (yych <= '_') {
11685
6.06k
      if (yych <= '@') goto yy995;
11686
4.82k
      if (yych <= 'Z') goto yy1000;
11687
2.40k
      if (yych <= '^') goto yy995;
11688
2.12k
      goto yy1000;
11689
53.7k
    } else {
11690
53.7k
      if (yych <= 'z') {
11691
33.0k
        if (yych <= '`') goto yy995;
11692
32.7k
        goto yy1000;
11693
33.0k
      } else {
11694
20.6k
        if (yych <= '{') goto yy1003;
11695
6.00k
        if (yych <= 0x7F) goto yy995;
11696
5.78k
        goto yy1000;
11697
6.00k
      }
11698
53.7k
    }
11699
20.0k
yy997:
11700
20.0k
    YYDEBUG(997, *YYCURSOR);
11701
20.0k
    ++YYCURSOR;
11702
20.0k
    YYDEBUG(998, *YYCURSOR);
11703
20.0k
    yyleng = YYCURSOR - SCNG(yy_text);
11704
20.0k
#line 2859 "Zend/zend_language_scanner.l"
11705
20.0k
    {
11706
20.0k
  BEGIN(ST_IN_SCRIPTING);
11707
20.0k
  RETURN_TOKEN('`');
11708
20.0k
}
11709
0
#line 11710 "Zend/zend_language_scanner.c"
11710
2.34k
yy999:
11711
2.34k
    YYDEBUG(999, *YYCURSOR);
11712
2.34k
    yych = *++YYCURSOR;
11713
2.34k
    if (yych == '$') goto yy1005;
11714
1.01k
    goto yy995;
11715
106k
yy1000:
11716
106k
    YYDEBUG(1000, *YYCURSOR);
11717
106k
    YYMARKER = ++YYCURSOR;
11718
106k
    YYFILL(4);
11719
106k
    yych = *YYCURSOR;
11720
106k
    YYDEBUG(1001, *YYCURSOR);
11721
106k
    if (yybm[0+yych] & 128) {
11722
63.7k
      goto yy1000;
11723
63.7k
    }
11724
43.0k
    if (yych <= '>') {
11725
29.2k
      if (yych == '-') goto yy1007;
11726
29.2k
    } else {
11727
13.7k
      if (yych <= '?') goto yy1009;
11728
4.81k
      if (yych <= '@') goto yy1002;
11729
4.50k
      if (yych <= '[') goto yy1010;
11730
4.50k
    }
11731
34.6k
yy1002:
11732
34.6k
    YYDEBUG(1002, *YYCURSOR);
11733
34.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11734
34.6k
#line 2417 "Zend/zend_language_scanner.l"
11735
34.6k
    {
11736
34.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11737
34.6k
}
11738
0
#line 11739 "Zend/zend_language_scanner.c"
11739
14.6k
yy1003:
11740
14.6k
    YYDEBUG(1003, *YYCURSOR);
11741
14.6k
    ++YYCURSOR;
11742
14.6k
    YYDEBUG(1004, *YYCURSOR);
11743
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11744
14.6k
#line 1981 "Zend/zend_language_scanner.l"
11745
14.6k
    {
11746
14.6k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11747
14.6k
  enter_nesting('{');
11748
14.6k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11749
14.6k
}
11750
0
#line 11751 "Zend/zend_language_scanner.c"
11751
1.33k
yy1005:
11752
1.33k
    YYDEBUG(1005, *YYCURSOR);
11753
1.33k
    ++YYCURSOR;
11754
1.33k
    YYDEBUG(1006, *YYCURSOR);
11755
1.33k
    yyleng = YYCURSOR - SCNG(yy_text);
11756
1.33k
#line 2846 "Zend/zend_language_scanner.l"
11757
1.33k
    {
11758
1.33k
  yy_push_state(ST_IN_SCRIPTING);
11759
1.33k
  yyless(1);
11760
1.33k
  enter_nesting('{');
11761
1.33k
  RETURN_TOKEN(T_CURLY_OPEN);
11762
1.33k
}
11763
0
#line 11764 "Zend/zend_language_scanner.c"
11764
6.64k
yy1007:
11765
6.64k
    YYDEBUG(1007, *YYCURSOR);
11766
6.64k
    yych = *++YYCURSOR;
11767
6.64k
    if (yych == '>') goto yy1012;
11768
8.97k
yy1008:
11769
8.97k
    YYDEBUG(1008, *YYCURSOR);
11770
8.97k
    YYCURSOR = YYMARKER;
11771
8.97k
    goto yy1002;
11772
8.95k
yy1009:
11773
8.95k
    YYDEBUG(1009, *YYCURSOR);
11774
8.95k
    yych = *++YYCURSOR;
11775
8.95k
    if (yych == '-') goto yy1013;
11776
2.47k
    goto yy1008;
11777
2.47k
yy1010:
11778
1.73k
    YYDEBUG(1010, *YYCURSOR);
11779
1.73k
    ++YYCURSOR;
11780
1.73k
    YYDEBUG(1011, *YYCURSOR);
11781
1.73k
    yyleng = YYCURSOR - SCNG(yy_text);
11782
1.73k
#line 2411 "Zend/zend_language_scanner.l"
11783
1.73k
    {
11784
1.73k
  yyless(yyleng - 1);
11785
1.73k
  yy_push_state(ST_VAR_OFFSET);
11786
1.73k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11787
1.73k
}
11788
0
#line 11789 "Zend/zend_language_scanner.c"
11789
4.77k
yy1012:
11790
4.77k
    YYDEBUG(1012, *YYCURSOR);
11791
4.77k
    yych = *++YYCURSOR;
11792
4.77k
    if (yych <= '_') {
11793
1.60k
      if (yych <= '@') goto yy1008;
11794
802
      if (yych <= 'Z') goto yy1014;
11795
448
      if (yych <= '^') goto yy1008;
11796
234
      goto yy1014;
11797
3.16k
    } else {
11798
3.16k
      if (yych <= '`') goto yy1008;
11799
2.92k
      if (yych <= 'z') goto yy1014;
11800
1.85k
      if (yych <= 0x7F) goto yy1008;
11801
520
      goto yy1014;
11802
1.85k
    }
11803
6.47k
yy1013:
11804
6.47k
    YYDEBUG(1013, *YYCURSOR);
11805
6.47k
    yych = *++YYCURSOR;
11806
6.47k
    if (yych == '>') goto yy1016;
11807
276
    goto yy1008;
11808
2.17k
yy1014:
11809
2.17k
    YYDEBUG(1014, *YYCURSOR);
11810
2.17k
    ++YYCURSOR;
11811
2.17k
    YYDEBUG(1015, *YYCURSOR);
11812
2.17k
    yyleng = YYCURSOR - SCNG(yy_text);
11813
2.17k
#line 2397 "Zend/zend_language_scanner.l"
11814
2.17k
    {
11815
2.17k
  yyless(yyleng - 3);
11816
2.17k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11817
2.17k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11818
2.17k
}
11819
0
#line 11820 "Zend/zend_language_scanner.c"
11820
6.19k
yy1016:
11821
6.19k
    YYDEBUG(1016, *YYCURSOR);
11822
6.19k
    yych = *++YYCURSOR;
11823
6.19k
    if (yych <= '_') {
11824
2.95k
      if (yych <= '@') goto yy1008;
11825
2.62k
      if (yych <= 'Z') goto yy1017;
11826
2.40k
      if (yych <= '^') goto yy1008;
11827
3.23k
    } else {
11828
3.23k
      if (yych <= '`') goto yy1008;
11829
2.76k
      if (yych <= 'z') goto yy1017;
11830
487
      if (yych <= 0x7F) goto yy1008;
11831
487
    }
11832
4.44k
yy1017:
11833
4.44k
    YYDEBUG(1017, *YYCURSOR);
11834
4.44k
    ++YYCURSOR;
11835
4.44k
    YYDEBUG(1018, *YYCURSOR);
11836
4.44k
    yyleng = YYCURSOR - SCNG(yy_text);
11837
4.44k
#line 2403 "Zend/zend_language_scanner.l"
11838
4.44k
    {
11839
4.44k
  yyless(yyleng - 4);
11840
4.44k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11841
4.44k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11842
4.44k
}
11843
4.44k
#line 11844 "Zend/zend_language_scanner.c"
11844
4.44k
  }
11845
/* *********************************** */
11846
334k
yyc_ST_DOUBLE_QUOTES:
11847
334k
  {
11848
334k
    static const unsigned char yybm[] = {
11849
334k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
334k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
334k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
334k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
334k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
334k
        0,   0,   0,   0,   0,   0,   0,   0, 
11855
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11856
334k
      128, 128,   0,   0,   0,   0,   0,   0, 
11857
334k
        0, 128, 128, 128, 128, 128, 128, 128, 
11858
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11860
334k
      128, 128, 128,   0,   0,   0,   0, 128, 
11861
334k
        0, 128, 128, 128, 128, 128, 128, 128, 
11862
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
334k
      128, 128, 128,   0,   0,   0,   0,   0, 
11865
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
334k
      128, 128, 128, 128, 128, 128, 128, 128, 
11881
334k
    };
11882
334k
    YYDEBUG(1019, *YYCURSOR);
11883
334k
    YYFILL(2);
11884
334k
    yych = *YYCURSOR;
11885
334k
    if (yych <= '#') {
11886
75.2k
      if (yych == '"') goto yy1023;
11887
258k
    } else {
11888
258k
      if (yych <= '$') goto yy1025;
11889
111k
      if (yych == '{') goto yy1026;
11890
111k
    }
11891
160k
    YYDEBUG(1021, *YYCURSOR);
11892
160k
    ++YYCURSOR;
11893
166k
yy1022:
11894
166k
    YYDEBUG(1022, *YYCURSOR);
11895
166k
    yyleng = YYCURSOR - SCNG(yy_text);
11896
166k
#line 2865 "Zend/zend_language_scanner.l"
11897
166k
    {
11898
166k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11899
56.1k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11900
56.1k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11901
11902
56.1k
    goto double_quotes_scan_done;
11903
56.1k
  }
11904
11905
109k
  if (YYCURSOR > YYLIMIT) {
11906
6.82k
    RETURN_END_TOKEN;
11907
6.82k
  }
11908
103k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11909
2.60k
    YYCURSOR++;
11910
2.60k
  }
11911
11912
2.84M
  while (YYCURSOR < YYLIMIT) {
11913
2.83M
    switch (*YYCURSOR++) {
11914
16.7k
      case '"':
11915
16.7k
        break;
11916
96.0k
      case '$':
11917
96.0k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11918
80.6k
          break;
11919
80.6k
        }
11920
15.4k
        continue;
11921
18.4k
      case '{':
11922
18.4k
        if (*YYCURSOR == '$') {
11923
3.18k
          break;
11924
3.18k
        }
11925
15.2k
        continue;
11926
30.6k
      case '\\':
11927
30.6k
        if (YYCURSOR < YYLIMIT) {
11928
30.4k
          YYCURSOR++;
11929
30.4k
        }
11930
30.6k
        ZEND_FALLTHROUGH;
11931
2.70M
      default:
11932
2.70M
        continue;
11933
2.83M
    }
11934
11935
100k
    YYCURSOR--;
11936
100k
    break;
11937
2.83M
  }
11938
11939
159k
double_quotes_scan_done:
11940
159k
  yyleng = YYCURSOR - SCNG(yy_text);
11941
11942
159k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11943
159k
   || !PARSER_MODE()) {
11944
159k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11945
159k
  } else {
11946
71
    RETURN_TOKEN(T_ERROR);
11947
71
  }
11948
159k
}
11949
0
#line 11950 "Zend/zend_language_scanner.c"
11950
18.5k
yy1023:
11951
18.5k
    YYDEBUG(1023, *YYCURSOR);
11952
18.5k
    ++YYCURSOR;
11953
18.5k
    YYDEBUG(1024, *YYCURSOR);
11954
18.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11955
18.5k
#line 2854 "Zend/zend_language_scanner.l"
11956
18.5k
    {
11957
18.5k
  BEGIN(ST_IN_SCRIPTING);
11958
18.5k
  RETURN_TOKEN('"');
11959
18.5k
}
11960
0
#line 11961 "Zend/zend_language_scanner.c"
11961
147k
yy1025:
11962
147k
    YYDEBUG(1025, *YYCURSOR);
11963
147k
    yych = *++YYCURSOR;
11964
147k
    if (yych <= '_') {
11965
22.5k
      if (yych <= '@') goto yy1022;
11966
20.8k
      if (yych <= 'Z') goto yy1027;
11967
3.25k
      if (yych <= '^') goto yy1022;
11968
2.34k
      goto yy1027;
11969
124k
    } else {
11970
124k
      if (yych <= 'z') {
11971
66.8k
        if (yych <= '`') goto yy1022;
11972
66.0k
        goto yy1027;
11973
66.8k
      } else {
11974
58.1k
        if (yych <= '{') goto yy1030;
11975
20.7k
        if (yych <= 0x7F) goto yy1022;
11976
20.1k
        goto yy1027;
11977
20.7k
      }
11978
124k
    }
11979
7.16k
yy1026:
11980
7.16k
    YYDEBUG(1026, *YYCURSOR);
11981
7.16k
    yych = *++YYCURSOR;
11982
7.16k
    if (yych == '$') goto yy1032;
11983
1.30k
    goto yy1022;
11984
357k
yy1027:
11985
357k
    YYDEBUG(1027, *YYCURSOR);
11986
357k
    YYMARKER = ++YYCURSOR;
11987
357k
    YYFILL(4);
11988
357k
    yych = *YYCURSOR;
11989
357k
    YYDEBUG(1028, *YYCURSOR);
11990
357k
    if (yybm[0+yych] & 128) {
11991
250k
      goto yy1027;
11992
250k
    }
11993
106k
    if (yych <= '>') {
11994
84.2k
      if (yych == '-') goto yy1034;
11995
84.2k
    } else {
11996
21.9k
      if (yych <= '?') goto yy1036;
11997
11.2k
      if (yych <= '@') goto yy1029;
11998
10.8k
      if (yych <= '[') goto yy1037;
11999
10.8k
    }
12000
93.0k
yy1029:
12001
93.0k
    YYDEBUG(1029, *YYCURSOR);
12002
93.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12003
93.0k
#line 2417 "Zend/zend_language_scanner.l"
12004
93.0k
    {
12005
93.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12006
93.0k
}
12007
0
#line 12008 "Zend/zend_language_scanner.c"
12008
37.4k
yy1030:
12009
37.4k
    YYDEBUG(1030, *YYCURSOR);
12010
37.4k
    ++YYCURSOR;
12011
37.4k
    YYDEBUG(1031, *YYCURSOR);
12012
37.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12013
37.4k
#line 1981 "Zend/zend_language_scanner.l"
12014
37.4k
    {
12015
37.4k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12016
37.4k
  enter_nesting('{');
12017
37.4k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12018
37.4k
}
12019
0
#line 12020 "Zend/zend_language_scanner.c"
12020
5.86k
yy1032:
12021
5.86k
    YYDEBUG(1032, *YYCURSOR);
12022
5.86k
    ++YYCURSOR;
12023
5.86k
    YYDEBUG(1033, *YYCURSOR);
12024
5.86k
    yyleng = YYCURSOR - SCNG(yy_text);
12025
5.86k
#line 2846 "Zend/zend_language_scanner.l"
12026
5.86k
    {
12027
5.86k
  yy_push_state(ST_IN_SCRIPTING);
12028
5.86k
  yyless(1);
12029
5.86k
  enter_nesting('{');
12030
5.86k
  RETURN_TOKEN(T_CURLY_OPEN);
12031
5.86k
}
12032
0
#line 12033 "Zend/zend_language_scanner.c"
12033
7.88k
yy1034:
12034
7.88k
    YYDEBUG(1034, *YYCURSOR);
12035
7.88k
    yych = *++YYCURSOR;
12036
7.88k
    if (yych == '>') goto yy1039;
12037
10.5k
yy1035:
12038
10.5k
    YYDEBUG(1035, *YYCURSOR);
12039
10.5k
    YYCURSOR = YYMARKER;
12040
10.5k
    goto yy1029;
12041
10.7k
yy1036:
12042
10.7k
    YYDEBUG(1036, *YYCURSOR);
12043
10.7k
    yych = *++YYCURSOR;
12044
10.7k
    if (yych == '-') goto yy1040;
12045
4.59k
    goto yy1035;
12046
5.10k
yy1037:
12047
5.10k
    YYDEBUG(1037, *YYCURSOR);
12048
5.10k
    ++YYCURSOR;
12049
5.10k
    YYDEBUG(1038, *YYCURSOR);
12050
5.10k
    yyleng = YYCURSOR - SCNG(yy_text);
12051
5.10k
#line 2411 "Zend/zend_language_scanner.l"
12052
5.10k
    {
12053
5.10k
  yyless(yyleng - 1);
12054
5.10k
  yy_push_state(ST_VAR_OFFSET);
12055
5.10k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12056
5.10k
}
12057
0
#line 12058 "Zend/zend_language_scanner.c"
12058
6.05k
yy1039:
12059
6.05k
    YYDEBUG(1039, *YYCURSOR);
12060
6.05k
    yych = *++YYCURSOR;
12061
6.05k
    if (yych <= '_') {
12062
1.78k
      if (yych <= '@') goto yy1035;
12063
1.13k
      if (yych <= 'Z') goto yy1041;
12064
720
      if (yych <= '^') goto yy1035;
12065
482
      goto yy1041;
12066
4.27k
    } else {
12067
4.27k
      if (yych <= '`') goto yy1035;
12068
3.96k
      if (yych <= 'z') goto yy1041;
12069
723
      if (yych <= 0x7F) goto yy1035;
12070
411
      goto yy1041;
12071
723
    }
12072
6.16k
yy1040:
12073
6.16k
    YYDEBUG(1040, *YYCURSOR);
12074
6.16k
    yych = *++YYCURSOR;
12075
6.16k
    if (yych == '>') goto yy1043;
12076
912
    goto yy1035;
12077
4.55k
yy1041:
12078
4.55k
    YYDEBUG(1041, *YYCURSOR);
12079
4.55k
    ++YYCURSOR;
12080
4.55k
    YYDEBUG(1042, *YYCURSOR);
12081
4.55k
    yyleng = YYCURSOR - SCNG(yy_text);
12082
4.55k
#line 2397 "Zend/zend_language_scanner.l"
12083
4.55k
    {
12084
4.55k
  yyless(yyleng - 3);
12085
4.55k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12086
4.55k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12087
4.55k
}
12088
0
#line 12089 "Zend/zend_language_scanner.c"
12089
5.25k
yy1043:
12090
5.25k
    YYDEBUG(1043, *YYCURSOR);
12091
5.25k
    yych = *++YYCURSOR;
12092
5.25k
    if (yych <= '_') {
12093
2.16k
      if (yych <= '@') goto yy1035;
12094
1.81k
      if (yych <= 'Z') goto yy1044;
12095
1.53k
      if (yych <= '^') goto yy1035;
12096
3.09k
    } else {
12097
3.09k
      if (yych <= '`') goto yy1035;
12098
2.55k
      if (yych <= 'z') goto yy1044;
12099
593
      if (yych <= 0x7F) goto yy1035;
12100
593
    }
12101
3.53k
yy1044:
12102
3.53k
    YYDEBUG(1044, *YYCURSOR);
12103
3.53k
    ++YYCURSOR;
12104
3.53k
    YYDEBUG(1045, *YYCURSOR);
12105
3.53k
    yyleng = YYCURSOR - SCNG(yy_text);
12106
3.53k
#line 2403 "Zend/zend_language_scanner.l"
12107
3.53k
    {
12108
3.53k
  yyless(yyleng - 4);
12109
3.53k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12110
3.53k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12111
3.53k
}
12112
3.53k
#line 12113 "Zend/zend_language_scanner.c"
12113
3.53k
  }
12114
/* *********************************** */
12115
3.53M
yyc_ST_HEREDOC:
12116
3.53M
  {
12117
3.53M
    static const unsigned char yybm[] = {
12118
3.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
3.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
3.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
3.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
3.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
3.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12124
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12125
3.53M
      128, 128,   0,   0,   0,   0,   0,   0, 
12126
3.53M
        0, 128, 128, 128, 128, 128, 128, 128, 
12127
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12129
3.53M
      128, 128, 128,   0,   0,   0,   0, 128, 
12130
3.53M
        0, 128, 128, 128, 128, 128, 128, 128, 
12131
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
3.53M
      128, 128, 128,   0,   0,   0,   0,   0, 
12134
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
3.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12150
3.53M
    };
12151
3.53M
    YYDEBUG(1046, *YYCURSOR);
12152
3.53M
    YYFILL(2);
12153
3.53M
    yych = *YYCURSOR;
12154
3.53M
    if (yych == '$') goto yy1050;
12155
757k
    if (yych == '{') goto yy1051;
12156
694k
    YYDEBUG(1048, *YYCURSOR);
12157
694k
    ++YYCURSOR;
12158
860k
yy1049:
12159
860k
    YYDEBUG(1049, *YYCURSOR);
12160
860k
    yyleng = YYCURSOR - SCNG(yy_text);
12161
860k
#line 2965 "Zend/zend_language_scanner.l"
12162
860k
    {
12163
860k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12164
860k
  int newline = 0, indentation = 0, spacing = 0;
12165
12166
860k
  if (YYCURSOR > YYLIMIT) {
12167
10.8k
    RETURN_END_TOKEN;
12168
10.8k
  }
12169
12170
850k
  YYCURSOR--;
12171
12172
19.3M
  while (YYCURSOR < YYLIMIT) {
12173
19.3M
    switch (*YYCURSOR++) {
12174
154k
      case '\r':
12175
154k
        if (*YYCURSOR == '\n') {
12176
2.70k
          YYCURSOR++;
12177
2.70k
        }
12178
154k
        ZEND_FALLTHROUGH;
12179
1.23M
      case '\n':
12180
1.23M
        indentation = spacing = 0;
12181
12182
2.01M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12183
775k
          if (*YYCURSOR == '\t') {
12184
6.09k
            spacing |= HEREDOC_USING_TABS;
12185
769k
          } else {
12186
769k
            spacing |= HEREDOC_USING_SPACES;
12187
769k
          }
12188
775k
          ++YYCURSOR;
12189
775k
          ++indentation;
12190
775k
        }
12191
12192
1.23M
        if (YYCURSOR == YYLIMIT) {
12193
787
          yyleng = YYCURSOR - SCNG(yy_text);
12194
787
          HANDLE_NEWLINES(yytext, yyleng);
12195
787
          ZVAL_NULL(zendlval);
12196
787
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12197
787
        }
12198
12199
        /* Check for ending label on the next line */
12200
1.23M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12201
15.5k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12202
7.20k
            continue;
12203
7.20k
          }
12204
12205
8.38k
          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
8.37k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12215
201
            newline = 2; /* Windows newline */
12216
8.17k
          } else {
12217
8.17k
            newline = 1;
12218
8.17k
          }
12219
12220
8.37k
          CG(increment_lineno) = 1; /* For newline before label */
12221
12222
8.37k
          if (SCNG(heredoc_scan_ahead)) {
12223
6.27k
            SCNG(heredoc_indentation) = indentation;
12224
6.27k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12225
6.27k
          } else {
12226
2.09k
            YYCURSOR -= indentation;
12227
2.09k
          }
12228
12229
8.37k
          BEGIN(ST_END_HEREDOC);
12230
12231
8.37k
          goto heredoc_scan_done;
12232
8.38k
        }
12233
1.22M
        continue;
12234
1.22M
      case '$':
12235
1.05M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12236
800k
          break;
12237
800k
        }
12238
253k
        continue;
12239
253k
      case '{':
12240
219k
        if (*YYCURSOR == '$') {
12241
31.3k
          break;
12242
31.3k
        }
12243
188k
        continue;
12244
188k
      case '\\':
12245
68.9k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12246
67.1k
          YYCURSOR++;
12247
67.1k
        }
12248
68.9k
        ZEND_FALLTHROUGH;
12249
16.8M
      default:
12250
16.8M
        continue;
12251
19.3M
    }
12252
12253
832k
    YYCURSOR--;
12254
832k
    break;
12255
19.3M
  }
12256
12257
849k
heredoc_scan_done:
12258
12259
849k
  yyleng = YYCURSOR - SCNG(yy_text);
12260
849k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12261
12262
849k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12263
48.4k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12264
48.4k
    zend_string *copy = Z_STR_P(zendlval);
12265
12266
48.4k
    if (!strip_multiline_string_indentation(
12267
48.4k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12268
48.4k
        newline_at_start, newline != 0)) {
12269
6
      RETURN_TOKEN(T_ERROR);
12270
6
    }
12271
12272
48.4k
    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
48.4k
    zend_string_efree(copy);
12278
800k
  } else {
12279
800k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12280
800k
  }
12281
12282
849k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12283
849k
}
12284
0
#line 12285 "Zend/zend_language_scanner.c"
12285
2.77M
yy1050:
12286
2.77M
    YYDEBUG(1050, *YYCURSOR);
12287
2.77M
    yych = *++YYCURSOR;
12288
2.77M
    if (yych <= '_') {
12289
171k
      if (yych <= '@') goto yy1049;
12290
28.5k
      if (yych <= 'Z') goto yy1052;
12291
5.48k
      if (yych <= '^') goto yy1049;
12292
4.29k
      goto yy1052;
12293
2.60M
    } else {
12294
2.60M
      if (yych <= 'z') {
12295
224k
        if (yych <= '`') goto yy1049;
12296
222k
        goto yy1052;
12297
2.37M
      } else {
12298
2.37M
        if (yych <= '{') goto yy1055;
12299
87.3k
        if (yych <= 0x7F) goto yy1049;
12300
84.2k
        goto yy1052;
12301
87.3k
      }
12302
2.60M
    }
12303
62.8k
yy1051:
12304
62.8k
    YYDEBUG(1051, *YYCURSOR);
12305
62.8k
    yych = *++YYCURSOR;
12306
62.8k
    if (yych == '$') goto yy1057;
12307
17.5k
    goto yy1049;
12308
1.46M
yy1052:
12309
1.46M
    YYDEBUG(1052, *YYCURSOR);
12310
1.46M
    YYMARKER = ++YYCURSOR;
12311
1.46M
    YYFILL(4);
12312
1.46M
    yych = *YYCURSOR;
12313
1.46M
    YYDEBUG(1053, *YYCURSOR);
12314
1.46M
    if (yybm[0+yych] & 128) {
12315
1.12M
      goto yy1052;
12316
1.12M
    }
12317
334k
    if (yych <= '>') {
12318
297k
      if (yych == '-') goto yy1059;
12319
297k
    } else {
12320
37.4k
      if (yych <= '?') goto yy1061;
12321
30.9k
      if (yych <= '@') goto yy1054;
12322
29.7k
      if (yych <= '[') goto yy1062;
12323
29.7k
    }
12324
313k
yy1054:
12325
313k
    YYDEBUG(1054, *YYCURSOR);
12326
313k
    yyleng = YYCURSOR - SCNG(yy_text);
12327
313k
#line 2417 "Zend/zend_language_scanner.l"
12328
313k
    {
12329
313k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12330
313k
}
12331
0
#line 12332 "Zend/zend_language_scanner.c"
12332
2.29M
yy1055:
12333
2.29M
    YYDEBUG(1055, *YYCURSOR);
12334
2.29M
    ++YYCURSOR;
12335
2.29M
    YYDEBUG(1056, *YYCURSOR);
12336
2.29M
    yyleng = YYCURSOR - SCNG(yy_text);
12337
2.29M
#line 1981 "Zend/zend_language_scanner.l"
12338
2.29M
    {
12339
2.29M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12340
2.29M
  enter_nesting('{');
12341
2.29M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12342
2.29M
}
12343
0
#line 12344 "Zend/zend_language_scanner.c"
12344
45.2k
yy1057:
12345
45.2k
    YYDEBUG(1057, *YYCURSOR);
12346
45.2k
    ++YYCURSOR;
12347
45.2k
    YYDEBUG(1058, *YYCURSOR);
12348
45.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12349
45.2k
#line 2846 "Zend/zend_language_scanner.l"
12350
45.2k
    {
12351
45.2k
  yy_push_state(ST_IN_SCRIPTING);
12352
45.2k
  yyless(1);
12353
45.2k
  enter_nesting('{');
12354
45.2k
  RETURN_TOKEN(T_CURLY_OPEN);
12355
45.2k
}
12356
0
#line 12357 "Zend/zend_language_scanner.c"
12357
25.0k
yy1059:
12358
25.0k
    YYDEBUG(1059, *YYCURSOR);
12359
25.0k
    yych = *++YYCURSOR;
12360
25.0k
    if (yych == '>') goto yy1064;
12361
22.3k
yy1060:
12362
22.3k
    YYDEBUG(1060, *YYCURSOR);
12363
22.3k
    YYCURSOR = YYMARKER;
12364
22.3k
    goto yy1054;
12365
6.48k
yy1061:
12366
6.48k
    YYDEBUG(1061, *YYCURSOR);
12367
6.48k
    yych = *++YYCURSOR;
12368
6.48k
    if (yych == '-') goto yy1065;
12369
2.79k
    goto yy1060;
12370
11.4k
yy1062:
12371
11.4k
    YYDEBUG(1062, *YYCURSOR);
12372
11.4k
    ++YYCURSOR;
12373
11.4k
    YYDEBUG(1063, *YYCURSOR);
12374
11.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12375
11.4k
#line 2411 "Zend/zend_language_scanner.l"
12376
11.4k
    {
12377
11.4k
  yyless(yyleng - 1);
12378
11.4k
  yy_push_state(ST_VAR_OFFSET);
12379
11.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12380
11.4k
}
12381
0
#line 12382 "Zend/zend_language_scanner.c"
12382
16.6k
yy1064:
12383
16.6k
    YYDEBUG(1064, *YYCURSOR);
12384
16.6k
    yych = *++YYCURSOR;
12385
16.6k
    if (yych <= '_') {
12386
9.27k
      if (yych <= '@') goto yy1060;
12387
1.03k
      if (yych <= 'Z') goto yy1066;
12388
616
      if (yych <= '^') goto yy1060;
12389
402
      goto yy1066;
12390
7.42k
    } else {
12391
7.42k
      if (yych <= '`') goto yy1060;
12392
7.16k
      if (yych <= 'z') goto yy1066;
12393
1.14k
      if (yych <= 0x7F) goto yy1060;
12394
307
      goto yy1066;
12395
1.14k
    }
12396
3.68k
yy1065:
12397
3.68k
    YYDEBUG(1065, *YYCURSOR);
12398
3.68k
    yych = *++YYCURSOR;
12399
3.68k
    if (yych == '>') goto yy1068;
12400
353
    goto yy1060;
12401
7.15k
yy1066:
12402
7.15k
    YYDEBUG(1066, *YYCURSOR);
12403
7.15k
    ++YYCURSOR;
12404
7.15k
    YYDEBUG(1067, *YYCURSOR);
12405
7.15k
    yyleng = YYCURSOR - SCNG(yy_text);
12406
7.15k
#line 2397 "Zend/zend_language_scanner.l"
12407
7.15k
    {
12408
7.15k
  yyless(yyleng - 3);
12409
7.15k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12410
7.15k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12411
7.15k
}
12412
0
#line 12413 "Zend/zend_language_scanner.c"
12413
3.33k
yy1068:
12414
3.33k
    YYDEBUG(1068, *YYCURSOR);
12415
3.33k
    yych = *++YYCURSOR;
12416
3.33k
    if (yych <= '_') {
12417
1.03k
      if (yych <= '@') goto yy1060;
12418
737
      if (yych <= 'Z') goto yy1069;
12419
514
      if (yych <= '^') goto yy1060;
12420
2.30k
    } else {
12421
2.30k
      if (yych <= '`') goto yy1060;
12422
1.82k
      if (yych <= 'z') goto yy1069;
12423
773
      if (yych <= 0x7F) goto yy1060;
12424
773
    }
12425
2.05k
yy1069:
12426
2.05k
    YYDEBUG(1069, *YYCURSOR);
12427
2.05k
    ++YYCURSOR;
12428
2.05k
    YYDEBUG(1070, *YYCURSOR);
12429
2.05k
    yyleng = YYCURSOR - SCNG(yy_text);
12430
2.05k
#line 2403 "Zend/zend_language_scanner.l"
12431
2.05k
    {
12432
2.05k
  yyless(yyleng - 4);
12433
2.05k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12434
2.05k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12435
2.05k
}
12436
2.05k
#line 12437 "Zend/zend_language_scanner.c"
12437
2.05k
  }
12438
/* *********************************** */
12439
2.34M
yyc_ST_LOOKING_FOR_VARNAME:
12440
2.34M
  {
12441
2.34M
    static const unsigned char yybm[] = {
12442
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
2.34M
        0,   0,   0,   0,   0,   0,   0,   0, 
12448
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12449
2.34M
      128, 128,   0,   0,   0,   0,   0,   0, 
12450
2.34M
        0, 128, 128, 128, 128, 128, 128, 128, 
12451
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12453
2.34M
      128, 128, 128,   0,   0,   0,   0, 128, 
12454
2.34M
        0, 128, 128, 128, 128, 128, 128, 128, 
12455
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
2.34M
      128, 128, 128,   0,   0,   0,   0,   0, 
12458
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
2.34M
      128, 128, 128, 128, 128, 128, 128, 128, 
12474
2.34M
    };
12475
2.34M
    YYDEBUG(1071, *YYCURSOR);
12476
2.34M
    YYFILL(2);
12477
2.34M
    yych = *YYCURSOR;
12478
2.34M
    if (yych <= '_') {
12479
2.25M
      if (yych <= '@') goto yy1073;
12480
17.3k
      if (yych <= 'Z') goto yy1075;
12481
8.51k
      if (yych >= '_') goto yy1075;
12482
84.2k
    } else {
12483
84.2k
      if (yych <= '`') goto yy1073;
12484
81.1k
      if (yych <= 'z') goto yy1075;
12485
26.2k
      if (yych >= 0x80) goto yy1075;
12486
26.2k
    }
12487
2.25M
yy1073:
12488
2.25M
    YYDEBUG(1073, *YYCURSOR);
12489
2.25M
    ++YYCURSOR;
12490
2.33M
yy1074:
12491
2.33M
    YYDEBUG(1074, *YYCURSOR);
12492
2.33M
    yyleng = YYCURSOR - SCNG(yy_text);
12493
2.33M
#line 2004 "Zend/zend_language_scanner.l"
12494
2.33M
    {
12495
2.33M
  yyless(0);
12496
2.33M
  yy_pop_state();
12497
2.33M
  yy_push_state(ST_IN_SCRIPTING);
12498
2.33M
  goto restart;
12499
2.25M
}
12500
0
#line 12501 "Zend/zend_language_scanner.c"
12501
92.8k
yy1075:
12502
92.8k
    YYDEBUG(1075, *YYCURSOR);
12503
92.8k
    yych = *(YYMARKER = ++YYCURSOR);
12504
92.8k
    if (yych <= '_') {
12505
42.6k
      if (yych <= '@') {
12506
25.6k
        if (yych <= '/') goto yy1074;
12507
13.5k
        if (yych <= '9') goto yy1077;
12508
12.5k
        goto yy1074;
12509
16.9k
      } else {
12510
16.9k
        if (yych <= '[') goto yy1077;
12511
6.44k
        if (yych <= '^') goto yy1074;
12512
5.90k
        goto yy1077;
12513
6.44k
      }
12514
50.2k
    } else {
12515
50.2k
      if (yych <= '|') {
12516
40.7k
        if (yych <= '`') goto yy1074;
12517
40.4k
        if (yych <= 'z') goto yy1077;
12518
995
        goto yy1074;
12519
40.4k
      } else {
12520
9.51k
        if (yych <= '}') goto yy1077;
12521
7.88k
        if (yych <= 0x7F) goto yy1074;
12522
7.51k
        goto yy1077;
12523
7.88k
      }
12524
50.2k
    }
12525
374k
yy1076:
12526
374k
    YYDEBUG(1076, *YYCURSOR);
12527
374k
    ++YYCURSOR;
12528
374k
    YYFILL(1);
12529
374k
    yych = *YYCURSOR;
12530
440k
yy1077:
12531
440k
    YYDEBUG(1077, *YYCURSOR);
12532
440k
    if (yybm[0+yych] & 128) {
12533
374k
      goto yy1076;
12534
374k
    }
12535
66.0k
    if (yych <= '@') goto yy1078;
12536
10.7k
    if (yych <= '[') goto yy1079;
12537
9.33k
    if (yych == '}') goto yy1079;
12538
62.2k
yy1078:
12539
62.2k
    YYDEBUG(1078, *YYCURSOR);
12540
62.2k
    YYCURSOR = YYMARKER;
12541
62.2k
    goto yy1074;
12542
3.85k
yy1079:
12543
3.85k
    YYDEBUG(1079, *YYCURSOR);
12544
3.85k
    ++YYCURSOR;
12545
3.85k
    YYDEBUG(1080, *YYCURSOR);
12546
3.85k
    yyleng = YYCURSOR - SCNG(yy_text);
12547
3.85k
#line 1996 "Zend/zend_language_scanner.l"
12548
3.85k
    {
12549
3.85k
  yyless(yyleng - 1);
12550
3.85k
  yy_pop_state();
12551
3.85k
  yy_push_state(ST_IN_SCRIPTING);
12552
3.85k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12553
3.85k
}
12554
3.85k
#line 12555 "Zend/zend_language_scanner.c"
12555
3.85k
  }
12556
/* *********************************** */
12557
163k
yyc_ST_VAR_OFFSET:
12558
163k
  {
12559
163k
    static const unsigned char yybm[] = {
12560
163k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
163k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
163k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
163k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
163k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
163k
        0,   0,   0,   0,   0,   0,   0,   0, 
12566
163k
      248, 248, 216, 216, 216, 216, 216, 216, 
12567
163k
      152, 152,   0,   0,   0,   0,   0,   0, 
12568
163k
        0, 144, 144, 144, 144, 144, 144,  16, 
12569
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12571
163k
       16,  16,  16,   0,   0,   0,   0,  16, 
12572
163k
        0, 144, 144, 144, 144, 144, 144,  16, 
12573
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
163k
       16,  16,  16,   0,   0,   0,   0,   0, 
12576
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
163k
       16,  16,  16,  16,  16,  16,  16,  16, 
12592
163k
    };
12593
163k
    YYDEBUG(1081, *YYCURSOR);
12594
163k
    YYFILL(2);
12595
163k
    yych = *YYCURSOR;
12596
163k
    if (yych <= '0') {
12597
68.5k
      if (yych <= ' ') {
12598
28.4k
        if (yych <= '\f') {
12599
22.9k
          if (yych <= 0x08) goto yy1083;
12600
5.95k
          if (yych <= '\n') goto yy1085;
12601
5.95k
        } else {
12602
5.51k
          if (yych <= '\r') goto yy1085;
12603
5.01k
          if (yych >= ' ') goto yy1085;
12604
5.01k
        }
12605
40.1k
      } else {
12606
40.1k
        if (yych <= '$') {
12607
12.3k
          if (yych <= '"') goto yy1087;
12608
10.4k
          if (yych <= '#') goto yy1085;
12609
9.94k
          goto yy1089;
12610
27.7k
        } else {
12611
27.7k
          if (yych == '\'') goto yy1085;
12612
26.7k
          if (yych <= '/') goto yy1087;
12613
13.4k
          goto yy1090;
12614
26.7k
        }
12615
40.1k
      }
12616
94.4k
    } else {
12617
94.4k
      if (yych <= ']') {
12618
61.6k
        if (yych <= 'Z') {
12619
28.2k
          if (yych <= '9') goto yy1092;
12620
20.1k
          if (yych <= '@') goto yy1087;
12621
5.73k
          goto yy1094;
12622
33.3k
        } else {
12623
33.3k
          if (yych <= '[') goto yy1087;
12624
9.07k
          if (yych <= '\\') goto yy1085;
12625
8.49k
          goto yy1097;
12626
9.07k
        }
12627
61.6k
      } else {
12628
32.8k
        if (yych <= '`') {
12629
12.2k
          if (yych == '_') goto yy1094;
12630
8.90k
          goto yy1087;
12631
20.5k
        } else {
12632
20.5k
          if (yych <= 'z') goto yy1094;
12633
12.2k
          if (yych <= '~') goto yy1087;
12634
7.72k
          if (yych >= 0x80) goto yy1094;
12635
7.72k
        }
12636
32.8k
      }
12637
94.4k
    }
12638
23.5k
yy1083:
12639
23.5k
    YYDEBUG(1083, *YYCURSOR);
12640
23.5k
    ++YYCURSOR;
12641
23.5k
    YYDEBUG(1084, *YYCURSOR);
12642
23.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12643
23.5k
#line 3180 "Zend/zend_language_scanner.l"
12644
23.5k
    {
12645
23.5k
  if (YYCURSOR > YYLIMIT) {
12646
1.43k
    RETURN_END_TOKEN;
12647
1.43k
  }
12648
12649
22.0k
  RETURN_TOKEN(T_BAD_CHARACTER);
12650
22.0k
}
12651
0
#line 12652 "Zend/zend_language_scanner.c"
12652
7.91k
yy1085:
12653
7.91k
    YYDEBUG(1085, *YYCURSOR);
12654
7.91k
    ++YYCURSOR;
12655
7.91k
    YYDEBUG(1086, *YYCURSOR);
12656
7.91k
    yyleng = YYCURSOR - SCNG(yy_text);
12657
7.91k
#line 2431 "Zend/zend_language_scanner.l"
12658
7.91k
    {
12659
  /* Invalid rule to return a more explicit parse error with proper line number */
12660
7.91k
  yyless(0);
12661
7.91k
  yy_pop_state();
12662
7.91k
  ZVAL_NULL(zendlval);
12663
7.91k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12664
7.91k
}
12665
0
#line 12666 "Zend/zend_language_scanner.c"
12666
67.2k
yy1087:
12667
67.2k
    YYDEBUG(1087, *YYCURSOR);
12668
67.2k
    ++YYCURSOR;
12669
70.6k
yy1088:
12670
70.6k
    YYDEBUG(1088, *YYCURSOR);
12671
70.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12672
70.6k
#line 2426 "Zend/zend_language_scanner.l"
12673
70.6k
    {
12674
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12675
70.6k
  RETURN_TOKEN(yytext[0]);
12676
70.6k
}
12677
0
#line 12678 "Zend/zend_language_scanner.c"
12678
9.94k
yy1089:
12679
9.94k
    YYDEBUG(1089, *YYCURSOR);
12680
9.94k
    yych = *++YYCURSOR;
12681
9.94k
    if (yych <= '_') {
12682
4.28k
      if (yych <= '@') goto yy1088;
12683
2.24k
      if (yych <= 'Z') goto yy1099;
12684
1.38k
      if (yych <= '^') goto yy1088;
12685
757
      goto yy1099;
12686
5.66k
    } else {
12687
5.66k
      if (yych <= '`') goto yy1088;
12688
5.44k
      if (yych <= 'z') goto yy1099;
12689
1.51k
      if (yych <= 0x7F) goto yy1088;
12690
1.02k
      goto yy1099;
12691
1.51k
    }
12692
13.4k
yy1090:
12693
13.4k
    YYDEBUG(1090, *YYCURSOR);
12694
13.4k
    yyaccept = 0;
12695
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
12696
13.4k
    if (yych <= 'X') {
12697
7.39k
      if (yych <= 'B') {
12698
5.32k
        if (yych <= '/') goto yy1091;
12699
4.32k
        if (yych <= '9') goto yy1102;
12700
2.39k
        if (yych >= 'B') goto yy1105;
12701
2.39k
      } else {
12702
2.07k
        if (yych == 'O') goto yy1107;
12703
1.66k
        if (yych >= 'X') goto yy1108;
12704
1.66k
      }
12705
7.39k
    } else {
12706
6.04k
      if (yych <= 'b') {
12707
3.17k
        if (yych == '_') goto yy1109;
12708
2.40k
        if (yych >= 'b') goto yy1105;
12709
2.86k
      } else {
12710
2.86k
        if (yych <= 'o') {
12711
1.53k
          if (yych >= 'o') goto yy1107;
12712
1.53k
        } else {
12713
1.33k
          if (yych == 'x') goto yy1108;
12714
1.33k
        }
12715
2.86k
      }
12716
6.04k
    }
12717
15.5k
yy1091:
12718
15.5k
    YYDEBUG(1091, *YYCURSOR);
12719
15.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12720
15.5k
#line 2208 "Zend/zend_language_scanner.l"
12721
15.5k
    { /* Offset could be treated as a long */
12722
15.5k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12723
14.4k
    char *end;
12724
14.4k
    errno = 0;
12725
14.4k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12726
14.4k
    if (errno == ERANGE) {
12727
0
      goto string;
12728
0
    }
12729
14.4k
    ZEND_ASSERT(end == yytext + yyleng);
12730
14.4k
  } else {
12731
1.05k
string:
12732
1.05k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12733
1.05k
  }
12734
15.5k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12735
15.5k
}
12736
0
#line 12737 "Zend/zend_language_scanner.c"
12737
48.1k
yy1092:
12738
48.1k
    YYDEBUG(1092, *YYCURSOR);
12739
48.1k
    yyaccept = 0;
12740
48.1k
    YYMARKER = ++YYCURSOR;
12741
48.1k
    YYFILL(1);
12742
48.1k
    yych = *YYCURSOR;
12743
48.1k
    YYDEBUG(1093, *YYCURSOR);
12744
48.1k
    if (yybm[0+yych] & 8) {
12745
40.0k
      goto yy1092;
12746
40.0k
    }
12747
8.10k
    if (yych == '_') goto yy1109;
12748
7.50k
    goto yy1091;
12749
113k
yy1094:
12750
113k
    YYDEBUG(1094, *YYCURSOR);
12751
113k
    ++YYCURSOR;
12752
113k
    YYFILL(1);
12753
113k
    yych = *YYCURSOR;
12754
113k
    YYDEBUG(1095, *YYCURSOR);
12755
113k
    if (yybm[0+yych] & 16) {
12756
89.1k
      goto yy1094;
12757
89.1k
    }
12758
24.3k
    YYDEBUG(1096, *YYCURSOR);
12759
24.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12760
24.3k
#line 2455 "Zend/zend_language_scanner.l"
12761
24.3k
    {
12762
24.3k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12763
24.3k
}
12764
0
#line 12765 "Zend/zend_language_scanner.c"
12765
8.49k
yy1097:
12766
8.49k
    YYDEBUG(1097, *YYCURSOR);
12767
8.49k
    ++YYCURSOR;
12768
8.49k
    YYDEBUG(1098, *YYCURSOR);
12769
8.49k
    yyleng = YYCURSOR - SCNG(yy_text);
12770
8.49k
#line 2421 "Zend/zend_language_scanner.l"
12771
8.49k
    {
12772
8.49k
  yy_pop_state();
12773
8.49k
  RETURN_TOKEN(']');
12774
8.49k
}
12775
0
#line 12776 "Zend/zend_language_scanner.c"
12776
29.4k
yy1099:
12777
29.4k
    YYDEBUG(1099, *YYCURSOR);
12778
29.4k
    ++YYCURSOR;
12779
29.4k
    YYFILL(1);
12780
29.4k
    yych = *YYCURSOR;
12781
29.4k
    YYDEBUG(1100, *YYCURSOR);
12782
29.4k
    if (yych <= '^') {
12783
12.8k
      if (yych <= '9') {
12784
4.15k
        if (yych >= '0') goto yy1099;
12785
8.68k
      } else {
12786
8.68k
        if (yych <= '@') goto yy1101;
12787
8.28k
        if (yych <= 'Z') goto yy1099;
12788
8.28k
      }
12789
16.6k
    } else {
12790
16.6k
      if (yych <= '`') {
12791
1.48k
        if (yych <= '_') goto yy1099;
12792
15.1k
      } else {
12793
15.1k
        if (yych <= 'z') goto yy1099;
12794
6.79k
        if (yych >= 0x80) goto yy1099;
12795
6.79k
      }
12796
16.6k
    }
12797
6.57k
yy1101:
12798
6.57k
    YYDEBUG(1101, *YYCURSOR);
12799
6.57k
    yyleng = YYCURSOR - SCNG(yy_text);
12800
6.57k
#line 2417 "Zend/zend_language_scanner.l"
12801
6.57k
    {
12802
6.57k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12803
6.57k
}
12804
0
#line 12805 "Zend/zend_language_scanner.c"
12805
9.32k
yy1102:
12806
9.32k
    YYDEBUG(1102, *YYCURSOR);
12807
9.32k
    yyaccept = 1;
12808
9.32k
    YYMARKER = ++YYCURSOR;
12809
9.32k
    YYFILL(1);
12810
9.32k
    yych = *YYCURSOR;
12811
9.32k
    YYDEBUG(1103, *YYCURSOR);
12812
9.32k
    if (yych <= '/') goto yy1104;
12813
8.56k
    if (yych <= '9') goto yy1102;
12814
2.05k
    if (yych == '_') goto yy1109;
12815
6.04k
yy1104:
12816
6.04k
    YYDEBUG(1104, *YYCURSOR);
12817
6.04k
    yyleng = YYCURSOR - SCNG(yy_text);
12818
6.04k
#line 2224 "Zend/zend_language_scanner.l"
12819
6.04k
    { /* Offset must be treated as a string */
12820
6.04k
  if (yyleng == 1) {
12821
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12822
6.04k
  } else {
12823
6.04k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12824
6.04k
  }
12825
6.04k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12826
6.04k
}
12827
0
#line 12828 "Zend/zend_language_scanner.c"
12828
3.69k
yy1105:
12829
3.69k
    YYDEBUG(1105, *YYCURSOR);
12830
3.69k
    ++YYCURSOR;
12831
3.69k
    YYFILL(1);
12832
3.69k
    yych = *YYCURSOR;
12833
3.69k
    if (yybm[0+yych] & 32) {
12834
2.82k
      goto yy1110;
12835
2.82k
    }
12836
4.03k
yy1106:
12837
4.03k
    YYDEBUG(1106, *YYCURSOR);
12838
4.03k
    YYCURSOR = YYMARKER;
12839
4.03k
    if (yyaccept == 0) {
12840
2.21k
      goto yy1091;
12841
2.21k
    } else {
12842
1.82k
      goto yy1104;
12843
1.82k
    }
12844
1.95k
yy1107:
12845
1.95k
    YYDEBUG(1107, *YYCURSOR);
12846
1.95k
    ++YYCURSOR;
12847
1.95k
    YYFILL(1);
12848
1.95k
    yych = *YYCURSOR;
12849
1.95k
    if (yybm[0+yych] & 64) {
12850
859
      goto yy1112;
12851
859
    }
12852
1.09k
    goto yy1106;
12853
1.82k
yy1108:
12854
1.82k
    YYDEBUG(1108, *YYCURSOR);
12855
1.82k
    ++YYCURSOR;
12856
1.82k
    YYFILL(1);
12857
1.82k
    yych = *YYCURSOR;
12858
1.82k
    if (yybm[0+yych] & 128) {
12859
1.09k
      goto yy1114;
12860
1.09k
    }
12861
733
    goto yy1106;
12862
2.21k
yy1109:
12863
2.21k
    YYDEBUG(1109, *YYCURSOR);
12864
2.21k
    ++YYCURSOR;
12865
2.21k
    YYFILL(1);
12866
2.21k
    yych = *YYCURSOR;
12867
2.21k
    if (yych <= '/') goto yy1106;
12868
1.62k
    if (yych <= '9') goto yy1102;
12869
749
    goto yy1106;
12870
3.10k
yy1110:
12871
3.10k
    YYDEBUG(1110, *YYCURSOR);
12872
3.10k
    yyaccept = 1;
12873
3.10k
    YYMARKER = ++YYCURSOR;
12874
3.10k
    YYFILL(1);
12875
3.10k
    yych = *YYCURSOR;
12876
3.10k
    YYDEBUG(1111, *YYCURSOR);
12877
3.10k
    if (yybm[0+yych] & 32) {
12878
279
      goto yy1110;
12879
279
    }
12880
2.82k
    if (yych == '_') goto yy1105;
12881
1.13k
    goto yy1104;
12882
1.97k
yy1112:
12883
1.97k
    YYDEBUG(1112, *YYCURSOR);
12884
1.97k
    yyaccept = 1;
12885
1.97k
    YYMARKER = ++YYCURSOR;
12886
1.97k
    YYFILL(1);
12887
1.97k
    yych = *YYCURSOR;
12888
1.97k
    YYDEBUG(1113, *YYCURSOR);
12889
1.97k
    if (yybm[0+yych] & 64) {
12890
1.11k
      goto yy1112;
12891
1.11k
    }
12892
859
    if (yych == '_') goto yy1107;
12893
376
    goto yy1104;
12894
1.55k
yy1114:
12895
1.55k
    YYDEBUG(1114, *YYCURSOR);
12896
1.55k
    yyaccept = 1;
12897
1.55k
    YYMARKER = ++YYCURSOR;
12898
1.55k
    YYFILL(1);
12899
1.55k
    yych = *YYCURSOR;
12900
1.55k
    YYDEBUG(1115, *YYCURSOR);
12901
1.55k
    if (yybm[0+yych] & 128) {
12902
465
      goto yy1114;
12903
465
    }
12904
1.09k
    if (yych == '_') goto yy1108;
12905
728
    goto yy1104;
12906
1.09k
  }
12907
/* *********************************** */
12908
728
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
240k
yyc_INITIAL:
12987
240k
  YYDEBUG(1125, *YYCURSOR);
12988
240k
  YYFILL(7);
12989
240k
  yych = *YYCURSOR;
12990
240k
  if (yych == '<') goto yy1129;
12991
90.8k
  YYDEBUG(1127, *YYCURSOR);
12992
90.8k
  ++YYCURSOR;
12993
99.3k
yy1128:
12994
99.3k
  YYDEBUG(1128, *YYCURSOR);
12995
99.3k
  yyleng = YYCURSOR - SCNG(yy_text);
12996
99.3k
#line 2341 "Zend/zend_language_scanner.l"
12997
99.3k
  {
12998
99.3k
  if (YYCURSOR > YYLIMIT) {
12999
15.9k
    RETURN_END_TOKEN;
13000
15.9k
  }
13001
13002
83.3k
inline_char_handler:
13003
13004
151k
  while (1) {
13005
151k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13006
13007
151k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13008
13009
151k
    if (YYCURSOR >= YYLIMIT) {
13010
9.39k
      break;
13011
9.39k
    }
13012
13013
142k
    if (*YYCURSOR == '?') {
13014
73.9k
      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
73.9k
      ) {
13021
73.9k
        YYCURSOR--;
13022
73.9k
        break;
13023
73.9k
      }
13024
73.9k
    }
13025
142k
  }
13026
13027
83.3k
  yyleng = YYCURSOR - SCNG(yy_text);
13028
13029
83.3k
  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
83.3k
  } else if (yyleng == 1) {
13041
13.7k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13042
69.6k
  } else {
13043
69.6k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13044
69.6k
  }
13045
83.3k
  HANDLE_NEWLINES(yytext, yyleng);
13046
83.3k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13047
83.3k
}
13048
0
#line 13049 "Zend/zend_language_scanner.c"
13049
149k
yy1129:
13050
149k
  YYDEBUG(1129, *YYCURSOR);
13051
149k
  yych = *++YYCURSOR;
13052
149k
  if (yych != '?') goto yy1128;
13053
141k
  YYDEBUG(1130, *YYCURSOR);
13054
141k
  yych = *(YYMARKER = ++YYCURSOR);
13055
141k
  if (yych <= 'O') {
13056
48.4k
    if (yych == '=') goto yy1132;
13057
92.8k
  } else {
13058
92.8k
    if (yych <= 'P') goto yy1134;
13059
92.4k
    if (yych == 'p') goto yy1134;
13060
92.4k
  }
13061
122k
yy1131:
13062
122k
  YYDEBUG(1131, *YYCURSOR);
13063
122k
  yyleng = YYCURSOR - SCNG(yy_text);
13064
122k
#line 2332 "Zend/zend_language_scanner.l"
13065
122k
  {
13066
122k
  if (CG(short_tags)) {
13067
122k
    BEGIN(ST_IN_SCRIPTING);
13068
122k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13069
122k
  } else {
13070
0
    goto inline_char_handler;
13071
0
  }
13072
122k
}
13073
0
#line 13074 "Zend/zend_language_scanner.c"
13074
862
yy1132:
13075
862
  YYDEBUG(1132, *YYCURSOR);
13076
862
  ++YYCURSOR;
13077
862
  YYDEBUG(1133, *YYCURSOR);
13078
862
  yyleng = YYCURSOR - SCNG(yy_text);
13079
862
#line 2301 "Zend/zend_language_scanner.l"
13080
862
  {
13081
862
  BEGIN(ST_IN_SCRIPTING);
13082
862
  if (PARSER_MODE()) {
13083
    /* We'll reject this as an identifier in zend_lex_tstring. */
13084
591
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13085
591
  }
13086
271
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13087
271
}
13088
0
#line 13089 "Zend/zend_language_scanner.c"
13089
22.4k
yy1134:
13090
22.4k
  YYDEBUG(1134, *YYCURSOR);
13091
22.4k
  yych = *++YYCURSOR;
13092
22.4k
  if (yych == 'H') goto yy1136;
13093
21.6k
  if (yych == 'h') goto yy1136;
13094
4.15k
yy1135:
13095
4.15k
  YYDEBUG(1135, *YYCURSOR);
13096
4.15k
  YYCURSOR = YYMARKER;
13097
4.15k
  goto yy1131;
13098
19.0k
yy1136:
13099
19.0k
  YYDEBUG(1136, *YYCURSOR);
13100
19.0k
  yych = *++YYCURSOR;
13101
19.0k
  if (yych == 'P') goto yy1137;
13102
18.7k
  if (yych != 'p') goto yy1135;
13103
18.2k
yy1137:
13104
18.2k
  YYDEBUG(1137, *YYCURSOR);
13105
18.2k
  yych = *++YYCURSOR;
13106
18.2k
  if (yych <= '\f') {
13107
15.4k
    if (yych <= 0x08) goto yy1138;
13108
15.0k
    if (yych <= '\n') goto yy1139;
13109
15.0k
  } else {
13110
2.80k
    if (yych <= '\r') goto yy1141;
13111
2.34k
    if (yych == ' ') goto yy1139;
13112
2.34k
  }
13113
1.83k
yy1138:
13114
1.83k
  YYDEBUG(1138, *YYCURSOR);
13115
1.83k
  yyleng = YYCURSOR - SCNG(yy_text);
13116
1.83k
#line 2317 "Zend/zend_language_scanner.l"
13117
1.83k
  {
13118
  /* Allow <?php followed by end of file. */
13119
1.83k
  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.64k
  if (CG(short_tags)) {
13125
1.64k
    yyless(2);
13126
1.64k
    BEGIN(ST_IN_SCRIPTING);
13127
1.64k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13128
1.64k
  }
13129
0
  goto inline_char_handler;
13130
1.64k
}
13131
0
#line 13132 "Zend/zend_language_scanner.c"
13132
16.1k
yy1139:
13133
16.1k
  YYDEBUG(1139, *YYCURSOR);
13134
16.1k
  ++YYCURSOR;
13135
16.4k
yy1140:
13136
16.4k
  YYDEBUG(1140, *YYCURSOR);
13137
16.4k
  yyleng = YYCURSOR - SCNG(yy_text);
13138
16.4k
#line 2311 "Zend/zend_language_scanner.l"
13139
16.4k
  {
13140
16.4k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13141
16.4k
  BEGIN(ST_IN_SCRIPTING);
13142
16.4k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13143
16.4k
}
13144
0
#line 13145 "Zend/zend_language_scanner.c"
13145
462
yy1141:
13146
462
  YYDEBUG(1141, *YYCURSOR);
13147
462
  yych = *++YYCURSOR;
13148
462
  if (yych == '\n') goto yy1139;
13149
241
  goto yy1140;
13150
/* *********************************** */
13151
15.4k
yyc_ST_END_HEREDOC:
13152
15.4k
  YYDEBUG(1142, *YYCURSOR);
13153
15.4k
  YYFILL(1);
13154
15.4k
  yych = *YYCURSOR;
13155
15.4k
  YYDEBUG(1144, *YYCURSOR);
13156
15.4k
  ++YYCURSOR;
13157
15.4k
  YYDEBUG(1145, *YYCURSOR);
13158
15.4k
  yyleng = YYCURSOR - SCNG(yy_text);
13159
15.4k
#line 2832 "Zend/zend_language_scanner.l"
13160
15.4k
  {
13161
15.4k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13162
13163
15.4k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13164
15.4k
  YYCURSOR += yyleng - 1;
13165
13166
15.4k
  heredoc_label_dtor(heredoc_label);
13167
15.4k
  efree(heredoc_label);
13168
13169
15.4k
  BEGIN(ST_IN_SCRIPTING);
13170
15.4k
  RETURN_TOKEN(T_END_HEREDOC);
13171
15.4k
}
13172
0
#line 13173 "Zend/zend_language_scanner.c"
13173
/* *********************************** */
13174
9.28k
yyc_ST_NOWDOC:
13175
9.28k
  YYDEBUG(1146, *YYCURSOR);
13176
9.28k
  YYFILL(1);
13177
9.28k
  yych = *YYCURSOR;
13178
9.28k
  YYDEBUG(1148, *YYCURSOR);
13179
9.28k
  ++YYCURSOR;
13180
9.28k
  YYDEBUG(1149, *YYCURSOR);
13181
9.28k
  yyleng = YYCURSOR - SCNG(yy_text);
13182
9.28k
#line 3089 "Zend/zend_language_scanner.l"
13183
9.28k
  {
13184
9.28k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13185
9.28k
  int newline = 0, indentation = 0, spacing = -1;
13186
13187
9.28k
  if (YYCURSOR > YYLIMIT) {
13188
1.61k
    RETURN_END_TOKEN;
13189
1.61k
  }
13190
13191
7.67k
  YYCURSOR--;
13192
13193
1.93M
  while (YYCURSOR < YYLIMIT) {
13194
1.93M
    switch (*YYCURSOR++) {
13195
26.8k
      case '\r':
13196
26.8k
        if (*YYCURSOR == '\n') {
13197
1.53k
          YYCURSOR++;
13198
1.53k
        }
13199
26.8k
        ZEND_FALLTHROUGH;
13200
111k
      case '\n':
13201
111k
        indentation = spacing = 0;
13202
13203
146k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13204
34.4k
          if (*YYCURSOR == '\t') {
13205
1.14k
            spacing |= HEREDOC_USING_TABS;
13206
33.3k
          } else {
13207
33.3k
            spacing |= HEREDOC_USING_SPACES;
13208
33.3k
          }
13209
34.4k
          ++YYCURSOR;
13210
34.4k
          ++indentation;
13211
34.4k
        }
13212
13213
111k
        if (YYCURSOR == YYLIMIT) {
13214
289
          yyleng = YYCURSOR - SCNG(yy_text);
13215
289
          HANDLE_NEWLINES(yytext, yyleng);
13216
289
          ZVAL_NULL(zendlval);
13217
289
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13218
289
        }
13219
13220
        /* Check for ending label on the next line */
13221
111k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13222
7.20k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13223
1.14k
            continue;
13224
1.14k
          }
13225
13226
6.05k
          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
6.05k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13236
268
            newline = 2; /* Windows newline */
13237
5.78k
          } else {
13238
5.78k
            newline = 1;
13239
5.78k
          }
13240
13241
6.05k
          CG(increment_lineno) = 1; /* For newline before label */
13242
13243
6.05k
          YYCURSOR -= indentation;
13244
6.05k
          heredoc_label->indentation = indentation;
13245
13246
6.05k
          BEGIN(ST_END_HEREDOC);
13247
13248
6.05k
          goto nowdoc_scan_done;
13249
6.05k
        }
13250
104k
        ZEND_FALLTHROUGH;
13251
1.93M
      default:
13252
1.93M
        continue;
13253
1.93M
    }
13254
1.93M
  }
13255
13256
7.37k
nowdoc_scan_done:
13257
7.37k
  yyleng = YYCURSOR - SCNG(yy_text);
13258
7.37k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13259
13260
7.37k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13261
1.36k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13262
1.36k
    if (!strip_multiline_string_indentation(
13263
1.36k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13264
1.36k
        newline_at_start, newline != 0)) {
13265
6
      RETURN_TOKEN(T_ERROR);
13266
6
    }
13267
1.36k
  }
13268
13269
7.37k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13270
7.37k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13271
7.37k
}
13272
7.37k
#line 13273 "Zend/zend_language_scanner.c"
13273
7.37k
}
13274
0
#line 3188 "Zend/zend_language_scanner.l"
13275
13276
13277
3.56M
emit_token_with_str:
13278
3.56M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13279
13280
5.67M
emit_token_with_val:
13281
5.67M
  if (PARSER_MODE()) {
13282
1.67M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13283
1.67M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13284
1.67M
  }
13285
13286
20.9M
emit_token:
13287
20.9M
  if (SCNG(on_event)) {
13288
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13289
0
  }
13290
20.9M
  return token;
13291
13292
957k
emit_token_with_ident:
13293
957k
  if (PARSER_MODE()) {
13294
281k
    elem->ident = SCNG(yy_text);
13295
281k
  }
13296
957k
  if (SCNG(on_event)) {
13297
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13298
0
  }
13299
957k
  return token;
13300
13301
3.22M
return_whitespace:
13302
3.22M
  HANDLE_NEWLINES(yytext, yyleng);
13303
3.22M
  if (SCNG(on_event)) {
13304
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13305
0
  }
13306
3.22M
  if (PARSER_MODE()) {
13307
761k
    start_line = CG(zend_lineno);
13308
761k
    goto restart;
13309
2.46M
  } else {
13310
2.46M
    return T_WHITESPACE;
13311
2.46M
  }
13312
13313
159k
skip_token:
13314
159k
  if (SCNG(on_event)) {
13315
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13316
0
  }
13317
159k
  start_line = CG(zend_lineno);
13318
159k
  goto restart;
13319
3.22M
}