Coverage Report

Created: 2025-06-13 06:43

/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source (jump to first uncovered line)
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 "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
48.8M
#define YYCTYPE   unsigned char
53
124M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
873M
#define YYCURSOR  SCNG(yy_cursor)
55
282M
#define YYLIMIT   SCNG(yy_limit)
56
46.3M
#define YYMARKER  SCNG(yy_marker)
57
58
159M
#define YYGETCONDITION()  SCNG(yy_state)
59
15.2M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
3.71M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
337k
#define YYSTATE      YYGETCONDITION()
66
16.3M
#define yytext       ((char*)SCNG(yy_text))
67
63.5M
#define yyleng       SCNG(yy_leng)
68
3.46M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
3.46M
                          yyleng   = (unsigned int)x; } while(0)
70
#define yymore()     goto yymore_restart
71
72
/* perform sanity check. If this message is triggered you should
73
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
74
#define YYMAXFILL 16
75
76
#if ZEND_MMAP_AHEAD < YYMAXFILL
77
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
78
#endif
79
80
#include <stdarg.h>
81
82
#ifdef HAVE_UNISTD_H
83
# include <unistd.h>
84
#endif
85
86
/* Globals Macros */
87
1.66G
#define SCNG  LANG_SCNG
88
#ifdef ZTS
89
ZEND_API ts_rsrc_id language_scanner_globals_id;
90
ZEND_API size_t language_scanner_globals_offset;
91
#else
92
ZEND_API zend_php_scanner_globals language_scanner_globals;
93
#endif
94
95
8.34M
#define HANDLE_NEWLINES(s, l)                         \
96
8.34M
do {                                     \
97
8.34M
  char *p = (s), *boundary = p+(l);                     \
98
8.34M
                                        \
99
75.1M
  while (p<boundary) {                           \
100
66.8M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
101
6.69M
      CG(zend_lineno)++;                          \
102
6.69M
    }                                    \
103
66.8M
    p++;                                  \
104
66.8M
  }                                      \
105
8.34M
} while (0)
106
107
107k
#define HANDLE_NEWLINE(c) \
108
107k
{ \
109
107k
  if (c == '\n' || c == '\r') { \
110
98.3k
    CG(zend_lineno)++; \
111
98.3k
  } \
112
107k
}
113
114
/* To save initial string length after scanning to first variable */
115
201k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
116
496k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
117
118
7.73M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
119
34.3k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
120
121
206k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
122
22.4k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
123
124
125
static void strip_underscores(char *str, size_t *len)
126
6.37k
{
127
6.37k
  char *src = str, *dest = str;
128
110k
  while (*src != '\0') {
129
104k
    if (*src != '_') {
130
95.9k
      *dest = *src;
131
95.9k
      dest++;
132
95.9k
    } else {
133
8.32k
      --(*len);
134
8.32k
    }
135
104k
    src++;
136
104k
  }
137
6.37k
  *dest = '\0';
138
6.37k
}
139
140
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
141
0
{
142
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
143
0
  ZEND_ASSERT(internal_encoding);
144
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
145
0
}
146
147
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
148
0
{
149
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
150
0
}
151
152
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
153
0
{
154
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
155
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
156
0
}
157
158
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
159
0
{
160
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
161
0
  ZEND_ASSERT(internal_encoding);
162
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
163
0
internal_encoding, zend_multibyte_encoding_utf8);
164
0
}
165
166
167
static void _yy_push_state(int new_state)
168
7.42M
{
169
7.42M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
170
7.42M
  YYSETCONDITION(new_state);
171
7.42M
}
172
173
7.42M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
174
175
static void yy_pop_state(void)
176
3.77M
{
177
3.77M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
178
3.77M
  YYSETCONDITION(*stack_state);
179
3.77M
  zend_stack_del_top(&SCNG(state_stack));
180
3.77M
}
181
182
static void yy_scan_buffer(char *str, size_t len)
183
171k
{
184
171k
  YYCURSOR       = (YYCTYPE*)str;
185
171k
  YYLIMIT        = YYCURSOR + len;
186
171k
  if (!SCNG(yy_start)) {
187
27.7k
    SCNG(yy_start) = YYCURSOR;
188
27.7k
  }
189
171k
}
190
191
void startup_scanner(void)
192
300k
{
193
300k
  CG(parse_error) = 0;
194
300k
  CG(doc_comment) = NULL;
195
300k
  CG(extra_fn_flags) = 0;
196
300k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
197
300k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
198
300k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
199
300k
  SCNG(heredoc_scan_ahead) = 0;
200
300k
}
201
202
4.99M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
203
4.99M
    efree(heredoc_label->label);
204
4.99M
}
205
206
void shutdown_scanner(void)
207
300k
{
208
300k
  CG(parse_error) = 0;
209
300k
  RESET_DOC_COMMENT();
210
300k
  zend_stack_destroy(&SCNG(state_stack));
211
300k
  zend_stack_destroy(&SCNG(nest_location_stack));
212
300k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
213
300k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
214
300k
  SCNG(heredoc_scan_ahead) = 0;
215
300k
  SCNG(on_event) = NULL;
216
300k
}
217
218
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
219
337k
{
220
337k
  lex_state->yy_leng   = SCNG(yy_leng);
221
337k
  lex_state->yy_start  = SCNG(yy_start);
222
337k
  lex_state->yy_text   = SCNG(yy_text);
223
337k
  lex_state->yy_cursor = SCNG(yy_cursor);
224
337k
  lex_state->yy_marker = SCNG(yy_marker);
225
337k
  lex_state->yy_limit  = SCNG(yy_limit);
226
227
337k
  lex_state->state_stack = SCNG(state_stack);
228
337k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
229
230
337k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
231
337k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
232
233
337k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
234
337k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
235
236
337k
  lex_state->in = SCNG(yy_in);
237
337k
  lex_state->yy_state = YYSTATE;
238
337k
  lex_state->filename = CG(compiled_filename);
239
337k
  lex_state->lineno = CG(zend_lineno);
240
337k
  CG(compiled_filename) = NULL;
241
242
337k
  lex_state->script_org = SCNG(script_org);
243
337k
  lex_state->script_org_size = SCNG(script_org_size);
244
337k
  lex_state->script_filtered = SCNG(script_filtered);
245
337k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
246
337k
  lex_state->input_filter = SCNG(input_filter);
247
337k
  lex_state->output_filter = SCNG(output_filter);
248
337k
  lex_state->script_encoding = SCNG(script_encoding);
249
250
337k
  lex_state->on_event = SCNG(on_event);
251
337k
  lex_state->on_event_context = SCNG(on_event_context);
252
253
337k
  lex_state->ast = CG(ast);
254
337k
  lex_state->ast_arena = CG(ast_arena);
255
337k
}
256
257
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
258
330k
{
259
330k
  SCNG(yy_leng)   = lex_state->yy_leng;
260
330k
  SCNG(yy_start)  = lex_state->yy_start;
261
330k
  SCNG(yy_text)   = lex_state->yy_text;
262
330k
  SCNG(yy_cursor) = lex_state->yy_cursor;
263
330k
  SCNG(yy_marker) = lex_state->yy_marker;
264
330k
  SCNG(yy_limit)  = lex_state->yy_limit;
265
266
330k
  zend_stack_destroy(&SCNG(state_stack));
267
330k
  SCNG(state_stack) = lex_state->state_stack;
268
269
330k
  zend_stack_destroy(&SCNG(nest_location_stack));
270
330k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
271
272
330k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
273
330k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
274
330k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
275
276
330k
  SCNG(yy_in) = lex_state->in;
277
330k
  YYSETCONDITION(lex_state->yy_state);
278
330k
  CG(zend_lineno) = lex_state->lineno;
279
330k
  zend_restore_compiled_filename(lex_state->filename);
280
281
330k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
282
0
    efree(SCNG(script_filtered));
283
0
    SCNG(script_filtered) = NULL;
284
0
  }
285
330k
  SCNG(script_org) = lex_state->script_org;
286
330k
  SCNG(script_org_size) = lex_state->script_org_size;
287
330k
  SCNG(script_filtered) = lex_state->script_filtered;
288
330k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
289
330k
  SCNG(input_filter) = lex_state->input_filter;
290
330k
  SCNG(output_filter) = lex_state->output_filter;
291
330k
  SCNG(script_encoding) = lex_state->script_encoding;
292
293
330k
  SCNG(on_event) = lex_state->on_event;
294
330k
  SCNG(on_event_context) = lex_state->on_event_context;
295
296
330k
  CG(ast) = lex_state->ast;
297
330k
  CG(ast_arena) = lex_state->ast_arena;
298
299
330k
  RESET_DOC_COMMENT();
300
330k
}
301
302
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
303
16.3k
{
304
16.3k
  unsigned char *end = ident;
305
102k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
306
86.1k
    end++;
307
86.1k
  }
308
309
16.3k
  size_t length = end - ident;
310
16.3k
  if (length == 0) {
311
12
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
312
12
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
313
12
    return FAILURE;
314
12
  }
315
316
16.3k
  if (SCNG(on_event)) {
317
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
318
0
  }
319
320
16.3k
  ZVAL_STRINGL(zv, (char *) ident, length);
321
16.3k
  return SUCCESS;
322
16.3k
}
323
324
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
325
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
326
0
#define BOM_UTF16_BE  "\xfe\xff"
327
0
#define BOM_UTF16_LE  "\xff\xfe"
328
0
#define BOM_UTF8    "\xef\xbb\xbf"
329
330
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
331
0
{
332
0
  const unsigned char *p;
333
0
  int wchar_size = 2;
334
0
  int le = 0;
335
336
  /* utf-16 or utf-32? */
337
0
  p = script;
338
0
  assert(p >= script);
339
0
  while ((size_t)(p-script) < script_size) {
340
0
    p = memchr(p, 0, script_size-(p-script)-2);
341
0
    if (!p) {
342
0
      break;
343
0
    }
344
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
345
0
      wchar_size = 4;
346
0
      break;
347
0
    }
348
349
    /* searching for UTF-32 specific byte orders, so this will do */
350
0
    p += 4;
351
0
  }
352
353
  /* BE or LE? */
354
0
  p = script;
355
0
  assert(p >= script);
356
0
  while ((size_t)(p-script) < script_size) {
357
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
358
      /* BE */
359
0
      le = 0;
360
0
      break;
361
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
362
      /* LE* */
363
0
      le = 1;
364
0
      break;
365
0
    }
366
0
    p += wchar_size;
367
0
  }
368
369
0
  if (wchar_size == 2) {
370
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
371
0
  } else {
372
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
373
0
  }
374
375
0
  return NULL;
376
0
}
377
378
static const zend_encoding* zend_multibyte_detect_unicode(void)
379
0
{
380
0
  const zend_encoding *script_encoding = NULL;
381
0
  int bom_size;
382
0
  unsigned char *pos1, *pos2;
383
384
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
385
0
    return NULL;
386
0
  }
387
388
  /* check out BOM */
389
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
390
0
    script_encoding = zend_multibyte_encoding_utf32be;
391
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
392
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
393
0
    script_encoding = zend_multibyte_encoding_utf32le;
394
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
395
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
396
0
    script_encoding = zend_multibyte_encoding_utf16be;
397
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
398
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
399
0
    script_encoding = zend_multibyte_encoding_utf16le;
400
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
401
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
402
0
    script_encoding = zend_multibyte_encoding_utf8;
403
0
    bom_size = sizeof(BOM_UTF8)-1;
404
0
  }
405
406
0
  if (script_encoding) {
407
    /* remove BOM */
408
0
    LANG_SCNG(script_org) += bom_size;
409
0
    LANG_SCNG(script_org_size) -= bom_size;
410
411
0
    return script_encoding;
412
0
  }
413
414
  /* script contains NULL bytes -> auto-detection */
415
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
416
    /* check if the NULL byte is after the __HALT_COMPILER(); */
417
0
    pos2 = LANG_SCNG(script_org);
418
419
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
420
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
421
0
      if (!pos2) break;
422
0
      pos2++;
423
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
424
0
        pos2 += sizeof("_HALT_COMPILER")-1;
425
0
        while (*pos2 == ' '  ||
426
0
             *pos2 == '\t' ||
427
0
             *pos2 == '\r' ||
428
0
             *pos2 == '\n') {
429
0
          pos2++;
430
0
        }
431
0
        if (*pos2 == '(') {
432
0
          pos2++;
433
0
          while (*pos2 == ' '  ||
434
0
               *pos2 == '\t' ||
435
0
               *pos2 == '\r' ||
436
0
               *pos2 == '\n') {
437
0
            pos2++;
438
0
          }
439
0
          if (*pos2 == ')') {
440
0
            pos2++;
441
0
            while (*pos2 == ' '  ||
442
0
                 *pos2 == '\t' ||
443
0
                 *pos2 == '\r' ||
444
0
                 *pos2 == '\n') {
445
0
              pos2++;
446
0
            }
447
0
            if (*pos2 == ';') {
448
0
              return NULL;
449
0
            }
450
0
          }
451
0
        }
452
0
      }
453
0
    }
454
    /* make best effort if BOM is missing */
455
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
456
0
  }
457
458
0
  return NULL;
459
0
}
460
461
static const zend_encoding* zend_multibyte_find_script_encoding(void)
462
0
{
463
0
  const zend_encoding *script_encoding;
464
465
0
  if (CG(detect_unicode)) {
466
    /* check out bom(byte order mark) and see if containing wchars */
467
0
    script_encoding = zend_multibyte_detect_unicode();
468
0
    if (script_encoding != NULL) {
469
      /* bom or wchar detection is prior to 'script_encoding' option */
470
0
      return script_encoding;
471
0
    }
472
0
  }
473
474
  /* if no script_encoding specified, just leave alone */
475
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
476
0
    return NULL;
477
0
  }
478
479
  /* if multiple encodings specified, detect automagically */
480
0
  if (CG(script_encoding_list_size) > 1) {
481
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
482
0
  }
483
484
0
  return CG(script_encoding_list)[0];
485
0
}
486
487
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
488
0
{
489
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
490
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
491
492
0
  if (!script_encoding) {
493
0
    return FAILURE;
494
0
  }
495
496
  /* judge input/output filter */
497
0
  LANG_SCNG(script_encoding) = script_encoding;
498
0
  LANG_SCNG(input_filter) = NULL;
499
0
  LANG_SCNG(output_filter) = NULL;
500
501
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
502
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
503
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
504
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
505
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
506
0
    } else {
507
0
      LANG_SCNG(input_filter) = NULL;
508
0
      LANG_SCNG(output_filter) = NULL;
509
0
    }
510
0
    return SUCCESS;
511
0
  }
512
513
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
514
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
515
0
    LANG_SCNG(output_filter) = NULL;
516
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
517
0
    LANG_SCNG(input_filter) = NULL;
518
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
519
0
  } else {
520
    /* both script and internal encodings are incompatible w/ flex */
521
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
522
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
523
0
  }
524
525
0
  return SUCCESS;
526
0
}
527
528
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
529
144k
{
530
144k
  char *buf;
531
144k
  size_t size;
532
144k
  zend_string *compiled_filename;
533
534
144k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
535
    /* Still add it to open_files to make destroy_file_handle work */
536
571
    zend_llist_add_element(&CG(open_files), file_handle);
537
571
    file_handle->in_list = 1;
538
571
    return FAILURE;
539
571
  }
540
541
143k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
542
143k
  zend_llist_add_element(&CG(open_files), file_handle);
543
143k
  file_handle->in_list = 1;
544
545
  /* Reset the scanner for scanning the new file */
546
143k
  SCNG(yy_in) = file_handle;
547
143k
  SCNG(yy_start) = NULL;
548
549
143k
  if (size != (size_t)-1) {
550
143k
    if (CG(multibyte)) {
551
0
      SCNG(script_org) = (unsigned char*)buf;
552
0
      SCNG(script_org_size) = size;
553
0
      SCNG(script_filtered) = NULL;
554
555
0
      zend_multibyte_set_filter(NULL);
556
557
0
      if (SCNG(input_filter)) {
558
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
559
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
560
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
561
0
        }
562
0
        buf = (char*)SCNG(script_filtered);
563
0
        size = SCNG(script_filtered_size);
564
0
      }
565
0
    }
566
143k
    SCNG(yy_start) = (unsigned char *)buf;
567
143k
    yy_scan_buffer(buf, size);
568
143k
  } else {
569
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
570
0
  }
571
572
143k
  if (CG(skip_shebang)) {
573
0
    BEGIN(SHEBANG);
574
143k
  } else {
575
143k
    BEGIN(INITIAL);
576
143k
  }
577
578
143k
  if (file_handle->opened_path) {
579
23
    compiled_filename = zend_string_copy(file_handle->opened_path);
580
143k
  } else {
581
143k
    compiled_filename = zend_string_copy(file_handle->filename);
582
143k
  }
583
584
143k
  zend_set_compiled_filename(compiled_filename);
585
143k
  zend_string_release_ex(compiled_filename, 0);
586
587
143k
  RESET_DOC_COMMENT();
588
143k
  CG(zend_lineno) = 1;
589
143k
  CG(increment_lineno) = 0;
590
143k
  return SUCCESS;
591
143k
}
592
593
static zend_op_array *zend_compile(int type)
594
147k
{
595
147k
  zend_op_array *op_array = NULL;
596
147k
  bool original_in_compilation = CG(in_compilation);
597
598
147k
  CG(in_compilation) = 1;
599
147k
  CG(ast) = NULL;
600
147k
  CG(ast_arena) = zend_arena_create(1024 * 32);
601
602
147k
  if (!zendparse()) {
603
103k
    int last_lineno = CG(zend_lineno);
604
103k
    zend_file_context original_file_context;
605
103k
    zend_oparray_context original_oparray_context;
606
103k
    zend_op_array *original_active_op_array = CG(active_op_array);
607
608
103k
    op_array = emalloc(sizeof(zend_op_array));
609
103k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
610
103k
    CG(active_op_array) = op_array;
611
612
    /* Use heap to not waste arena memory */
613
103k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
614
615
103k
    if (zend_ast_process) {
616
0
      zend_ast_process(CG(ast));
617
0
    }
618
619
103k
    zend_file_context_begin(&original_file_context);
620
103k
    zend_oparray_context_begin(&original_oparray_context, op_array);
621
103k
    zend_compile_top_stmt(CG(ast));
622
103k
    CG(zend_lineno) = last_lineno;
623
103k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
624
103k
    op_array->line_start = 1;
625
103k
    op_array->line_end = last_lineno;
626
103k
    pass_two(op_array);
627
103k
    zend_oparray_context_end(&original_oparray_context);
628
103k
    zend_file_context_end(&original_file_context);
629
630
103k
    CG(active_op_array) = original_active_op_array;
631
103k
  }
632
633
147k
  zend_ast_destroy(CG(ast));
634
147k
  zend_arena_destroy(CG(ast_arena));
635
636
147k
  CG(in_compilation) = original_in_compilation;
637
638
147k
  return op_array;
639
147k
}
640
641
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
642
144k
{
643
144k
  zend_lex_state original_lex_state;
644
144k
  zend_op_array *op_array = NULL;
645
144k
  zend_save_lexical_state(&original_lex_state);
646
647
144k
  if (open_file_for_scanning(file_handle)==FAILURE) {
648
571
    if (!EG(exception)) {
649
553
      if (type==ZEND_REQUIRE) {
650
17
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
651
536
      } else {
652
536
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
653
536
      }
654
553
    }
655
143k
  } else {
656
143k
    op_array = zend_compile(ZEND_USER_FUNCTION);
657
143k
  }
658
659
144k
  zend_restore_lexical_state(&original_lex_state);
660
144k
  return op_array;
661
144k
}
662
663
ZEND_API zend_ast *zend_compile_string_to_ast(
664
18
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
665
18
  zval code_zv;
666
18
  bool original_in_compilation;
667
18
  zend_lex_state original_lex_state;
668
18
  zend_ast *ast;
669
670
18
  ZVAL_STR_COPY(&code_zv, code);
671
672
18
  original_in_compilation = CG(in_compilation);
673
18
  CG(in_compilation) = 1;
674
675
18
  zend_save_lexical_state(&original_lex_state);
676
18
  zend_prepare_string_for_scanning(&code_zv, filename);
677
18
  CG(ast) = NULL;
678
18
  CG(ast_arena) = zend_arena_create(1024 * 32);
679
18
  LANG_SCNG(yy_state) = yycINITIAL;
680
681
18
  if (zendparse() != 0) {
682
0
    zend_ast_destroy(CG(ast));
683
0
    zend_arena_destroy(CG(ast_arena));
684
0
    CG(ast) = NULL;
685
0
  }
686
687
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
688
18
  ast = CG(ast);
689
18
  *ast_arena = CG(ast_arena);
690
691
18
  zend_restore_lexical_state(&original_lex_state);
692
18
  CG(in_compilation) = original_in_compilation;
693
694
18
  zval_ptr_dtor_str(&code_zv);
695
696
18
  return ast;
697
18
}
698
699
zend_op_array *compile_filename(int type, zend_string *filename)
700
115k
{
701
115k
  zend_file_handle file_handle;
702
115k
  zend_op_array *retval;
703
115k
  zend_string *opened_path = NULL;
704
705
115k
  zend_stream_init_filename_ex(&file_handle, filename);
706
707
115k
  retval = zend_compile_file(&file_handle, type);
708
115k
  if (retval && file_handle.handle.stream.handle) {
709
30
    if (!file_handle.opened_path) {
710
7
      file_handle.opened_path = opened_path = zend_string_copy(filename);
711
7
    }
712
713
30
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
714
715
30
    if (opened_path) {
716
7
      zend_string_release_ex(opened_path, 0);
717
7
    }
718
30
  }
719
115k
  zend_destroy_file_handle(&file_handle);
720
721
115k
  return retval;
722
115k
}
723
724
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
725
27.7k
{
726
27.7k
  char *buf;
727
27.7k
  size_t size, old_len;
728
729
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
730
27.7k
  old_len = Z_STRLEN_P(str);
731
27.7k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
732
27.7k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
733
27.7k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
734
735
27.7k
  SCNG(yy_in) = NULL;
736
27.7k
  SCNG(yy_start) = NULL;
737
738
27.7k
  buf = Z_STRVAL_P(str);
739
27.7k
  size = old_len;
740
741
27.7k
  if (CG(multibyte)) {
742
0
    SCNG(script_org) = (unsigned char*)buf;
743
0
    SCNG(script_org_size) = size;
744
0
    SCNG(script_filtered) = NULL;
745
746
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
747
748
0
    if (SCNG(input_filter)) {
749
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
750
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
751
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
752
0
      }
753
0
      buf = (char*)SCNG(script_filtered);
754
0
      size = SCNG(script_filtered_size);
755
0
    }
756
0
  }
757
758
27.7k
  yy_scan_buffer(buf, size);
759
27.7k
  zend_set_compiled_filename(filename);
760
27.7k
  CG(zend_lineno) = 1;
761
27.7k
  CG(increment_lineno) = 0;
762
27.7k
  RESET_DOC_COMMENT();
763
27.7k
}
764
765
766
ZEND_API size_t zend_get_scanned_file_offset(void)
767
60
{
768
60
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
769
60
  if (SCNG(input_filter)) {
770
0
    size_t original_offset = offset, length = 0;
771
0
    do {
772
0
      unsigned char *p = NULL;
773
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
774
0
        return (size_t)-1;
775
0
      }
776
0
      efree(p);
777
0
      if (length > original_offset) {
778
0
        offset--;
779
0
      } else if (length < original_offset) {
780
0
        offset++;
781
0
      }
782
0
    } while (original_offset != length);
783
0
  }
784
60
  return offset;
785
60
}
786
787
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
788
4.00k
{
789
4.00k
  zend_lex_state original_lex_state;
790
4.00k
  zend_op_array *op_array = NULL;
791
4.00k
  zval tmp;
792
4.00k
  zend_string *filename_str;
793
794
4.00k
  if (ZSTR_LEN(source_string) == 0) {
795
139
    return NULL;
796
139
  }
797
798
3.86k
  ZVAL_STR_COPY(&tmp, source_string);
799
800
3.86k
  zend_save_lexical_state(&original_lex_state);
801
3.86k
  filename_str = zend_string_init(filename, strlen(filename), 0);
802
3.86k
  zend_prepare_string_for_scanning(&tmp, filename_str);
803
3.86k
  zend_string_release(filename_str);
804
805
3.86k
  switch (position) {
806
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
807
0
      BEGIN(SHEBANG);
808
0
      break;
809
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
810
0
      BEGIN(INITIAL);
811
0
      break;
812
3.86k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
813
3.86k
      BEGIN(ST_IN_SCRIPTING);
814
3.86k
      break;
815
3.86k
  }
816
817
3.86k
  op_array = zend_compile(ZEND_EVAL_CODE);
818
819
3.86k
  zend_restore_lexical_state(&original_lex_state);
820
3.86k
  zval_ptr_dtor(&tmp);
821
822
3.86k
  return op_array;
823
3.86k
}
824
825
826
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
827
0
{
828
0
  zend_lex_state original_lex_state;
829
0
  zend_file_handle file_handle;
830
831
0
  zend_stream_init_filename(&file_handle, filename);
832
0
  zend_save_lexical_state(&original_lex_state);
833
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
834
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
835
0
    zend_destroy_file_handle(&file_handle);
836
0
    zend_restore_lexical_state(&original_lex_state);
837
0
    return FAILURE;
838
0
  }
839
0
  zend_highlight(syntax_highlighter_ini);
840
0
  if (SCNG(script_filtered)) {
841
0
    efree(SCNG(script_filtered));
842
0
    SCNG(script_filtered) = NULL;
843
0
  }
844
0
  zend_destroy_file_handle(&file_handle);
845
0
  zend_restore_lexical_state(&original_lex_state);
846
0
  return SUCCESS;
847
0
}
848
849
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
850
23.9k
{
851
23.9k
  zend_lex_state original_lex_state;
852
23.9k
  zval str_zv;
853
23.9k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
854
23.9k
  ZVAL_STR_COPY(&str_zv, str);
855
23.9k
  zend_save_lexical_state(&original_lex_state);
856
23.9k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
857
23.9k
  zend_string_release(filename_str);
858
23.9k
  BEGIN(INITIAL);
859
23.9k
  zend_highlight(syntax_highlighter_ini);
860
23.9k
  if (SCNG(script_filtered)) {
861
0
    efree(SCNG(script_filtered));
862
0
    SCNG(script_filtered) = NULL;
863
0
  }
864
23.9k
  zend_restore_lexical_state(&original_lex_state);
865
23.9k
  zval_ptr_dtor(&str_zv);
866
23.9k
}
867
868
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
869
0
{
870
0
  size_t length;
871
0
  unsigned char *new_yy_start;
872
873
  /* convert and set */
874
0
  if (!SCNG(input_filter)) {
875
0
    if (SCNG(script_filtered)) {
876
0
      efree(SCNG(script_filtered));
877
0
      SCNG(script_filtered) = NULL;
878
0
    }
879
0
    SCNG(script_filtered_size) = 0;
880
0
    length = SCNG(script_org_size);
881
0
    new_yy_start = SCNG(script_org);
882
0
  } else {
883
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
884
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
885
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
886
0
    }
887
0
    if (SCNG(script_filtered)) {
888
0
      efree(SCNG(script_filtered));
889
0
    }
890
0
    SCNG(script_filtered) = new_yy_start;
891
0
    SCNG(script_filtered_size) = length;
892
0
  }
893
894
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
895
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
896
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
897
0
  SCNG(yy_limit) = new_yy_start + length;
898
899
0
  SCNG(yy_start) = new_yy_start;
900
0
}
901
902
903
// TODO: avoid reallocation ???
904
# define zend_copy_value(zendlval, yytext, yyleng) \
905
7.03M
  if (SCNG(output_filter)) { \
906
0
    size_t sz = 0; \
907
0
    char *s = NULL; \
908
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
909
0
    ZVAL_STRINGL(zendlval, s, sz); \
910
0
    efree(s); \
911
7.03M
  } else if (yyleng == 1) { \
912
2.24M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
913
4.78M
  } else { \
914
4.78M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
915
4.78M
  }
916
917
static zend_result zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type)
918
896k
{
919
896k
  char *s, *t;
920
896k
  char *end;
921
922
896k
  if (len <= 1) {
923
244k
    if (len < 1) {
924
25.4k
      ZVAL_EMPTY_STRING(zendlval);
925
219k
    } else {
926
219k
      zend_uchar c = (zend_uchar)*str;
927
219k
      if (c == '\n' || c == '\r') {
928
13.5k
        CG(zend_lineno)++;
929
13.5k
      }
930
219k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
931
219k
    }
932
244k
    goto skip_escape_conversion;
933
244k
  }
934
935
651k
  ZVAL_STRINGL(zendlval, str, len);
936
937
  /* convert escape sequences */
938
651k
  s = Z_STRVAL_P(zendlval);
939
651k
  end = s+Z_STRLEN_P(zendlval);
940
18.6M
  while (1) {
941
18.6M
    if (UNEXPECTED(*s=='\\')) {
942
137k
      break;
943
137k
    }
944
18.5M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
945
593k
      CG(zend_lineno)++;
946
593k
    }
947
18.5M
    s++;
948
18.5M
    if (s == end) {
949
514k
      goto skip_escape_conversion;
950
514k
    }
951
18.5M
  }
952
953
137k
  t = s;
954
5.47M
  while (s<end) {
955
5.34M
    if (*s=='\\') {
956
361k
      s++;
957
361k
      if (s >= end) {
958
1.72k
        *t++ = '\\';
959
1.72k
        break;
960
1.72k
      }
961
962
359k
      switch(*s) {
963
53.7k
        case 'n':
964
53.7k
          *t++ = '\n';
965
53.7k
          break;
966
1.17k
        case 'r':
967
1.17k
          *t++ = '\r';
968
1.17k
          break;
969
3.25k
        case 't':
970
3.25k
          *t++ = '\t';
971
3.25k
          break;
972
1.55k
        case 'f':
973
1.55k
          *t++ = '\f';
974
1.55k
          break;
975
2.82k
        case 'v':
976
2.82k
          *t++ = '\v';
977
2.82k
          break;
978
542
        case 'e':
979
#ifdef ZEND_WIN32
980
          *t++ = VK_ESCAPE;
981
#else
982
542
          *t++ = '\e';
983
542
#endif
984
542
          break;
985
1.05k
        case '"':
986
2.64k
        case '`':
987
2.64k
          if (*s != quote_type) {
988
939
            *t++ = '\\';
989
939
            *t++ = *s;
990
939
            break;
991
939
          }
992
1.70k
          ZEND_FALLTHROUGH;
993
112k
        case '\\':
994
114k
        case '$':
995
114k
          *t++ = *s;
996
114k
          break;
997
5.29k
        case 'x':
998
9.61k
        case 'X':
999
9.61k
          if (ZEND_IS_HEX(*(s+1))) {
1000
5.34k
            char hex_buf[3] = { 0, 0, 0 };
1001
1002
5.34k
            hex_buf[0] = *(++s);
1003
5.34k
            if (ZEND_IS_HEX(*(s+1))) {
1004
3.23k
              hex_buf[1] = *(++s);
1005
3.23k
            }
1006
5.34k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1007
5.34k
          } else {
1008
4.26k
            *t++ = '\\';
1009
4.26k
            *t++ = *s;
1010
4.26k
          }
1011
9.61k
          break;
1012
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1013
2.77k
        case 'u':
1014
2.77k
          {
1015
            /* cache where we started so we can parse after validating */
1016
2.77k
            char *start = s + 1;
1017
2.77k
            size_t len = 0;
1018
2.77k
            bool valid = 1;
1019
2.77k
            unsigned long codepoint;
1020
1021
2.77k
            if (*start != '{') {
1022
              /* we silently let this pass to avoid breaking code
1023
               * with JSON in string literals (e.g. "\"\u202e\""
1024
               */
1025
764
              *t++ = '\\';
1026
764
              *t++ = 'u';
1027
764
              break;
1028
2.01k
            } else {
1029
              /* on the other hand, invalid \u{blah} errors */
1030
2.01k
              s++;
1031
2.01k
              len++;
1032
2.01k
              s++;
1033
8.82k
              while (*s != '}') {
1034
7.53k
                if (!ZEND_IS_HEX(*s)) {
1035
726
                  valid = 0;
1036
726
                  break;
1037
6.80k
                } else {
1038
6.80k
                  len++;
1039
6.80k
                }
1040
6.80k
                s++;
1041
6.80k
              }
1042
2.01k
              if (*s == '}') {
1043
1.28k
                valid = 1;
1044
1.28k
                len++;
1045
1.28k
              }
1046
2.01k
            }
1047
1048
            /* \u{} is invalid */
1049
2.01k
            if (len <= 2) {
1050
827
              valid = 0;
1051
827
            }
1052
1053
2.01k
            if (!valid) {
1054
927
              zend_throw_exception(zend_ce_parse_error,
1055
927
                "Invalid UTF-8 codepoint escape sequence", 0);
1056
927
              zval_ptr_dtor(zendlval);
1057
927
              ZVAL_UNDEF(zendlval);
1058
927
              return FAILURE;
1059
927
            }
1060
1061
1.08k
            errno = 0;
1062
1.08k
            codepoint = strtoul(start + 1, NULL, 16);
1063
1064
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1065
1.08k
            if (codepoint > 0x10FFFF || errno) {
1066
273
              zend_throw_exception(zend_ce_parse_error,
1067
273
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1068
273
              zval_ptr_dtor(zendlval);
1069
273
              ZVAL_UNDEF(zendlval);
1070
273
              return FAILURE;
1071
273
            }
1072
1073
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1074
815
            if (codepoint < 0x80) {
1075
201
              *t++ = codepoint;
1076
614
            } else if (codepoint <= 0x7FF) {
1077
199
              *t++ = (codepoint >> 6) + 0xC0;
1078
199
              *t++ = (codepoint & 0x3F) + 0x80;
1079
415
            } else if (codepoint <= 0xFFFF) {
1080
210
              *t++ = (codepoint >> 12) + 0xE0;
1081
210
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1082
210
              *t++ = (codepoint & 0x3F) + 0x80;
1083
210
            } else if (codepoint <= 0x10FFFF) {
1084
205
              *t++ = (codepoint >> 18) + 0xF0;
1085
205
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1086
205
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1087
205
              *t++ = (codepoint & 0x3F) + 0x80;
1088
205
            }
1089
815
          }
1090
0
          break;
1091
168k
        default:
1092
          /* check for an octal */
1093
168k
          if (ZEND_IS_OCT(*s)) {
1094
31.4k
            char octal_buf[4] = { 0, 0, 0, 0 };
1095
1096
31.4k
            octal_buf[0] = *s;
1097
31.4k
            if (ZEND_IS_OCT(*(s+1))) {
1098
6.27k
              octal_buf[1] = *(++s);
1099
6.27k
              if (ZEND_IS_OCT(*(s+1))) {
1100
3.15k
                octal_buf[2] = *(++s);
1101
3.15k
              }
1102
6.27k
            }
1103
31.4k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1104
              /* 3 octit values must not overflow 0xFF (\377) */
1105
634
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1106
634
            }
1107
1108
31.4k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1109
137k
          } else {
1110
137k
            *t++ = '\\';
1111
137k
            *t++ = *s;
1112
137k
          }
1113
168k
          break;
1114
359k
      }
1115
4.97M
    } else {
1116
4.97M
      *t++ = *s;
1117
4.97M
    }
1118
1119
5.33M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1120
156k
      CG(zend_lineno)++;
1121
156k
    }
1122
5.33M
    s++;
1123
5.33M
  }
1124
136k
  *t = 0;
1125
136k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1126
1127
895k
skip_escape_conversion:
1128
895k
  if (SCNG(output_filter)) {
1129
0
    size_t sz = 0;
1130
0
    unsigned char *str;
1131
    // TODO: avoid realocation ???
1132
0
    s = Z_STRVAL_P(zendlval);
1133
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1134
0
    zval_ptr_dtor(zendlval);
1135
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1136
0
    efree(str);
1137
0
  }
1138
895k
  return SUCCESS;
1139
136k
}
1140
1141
580k
#define HEREDOC_USING_SPACES 1
1142
45.2k
#define HEREDOC_USING_TABS 2
1143
1144
234k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1145
2.68M
  for (; str < end; str++) {
1146
2.56M
    if (*str == '\r') {
1147
15.1k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1148
15.1k
      return str;
1149
2.54M
    } else if (*str == '\n') {
1150
99.8k
      *newline_len = 1;
1151
99.8k
      return str;
1152
99.8k
    }
1153
2.56M
  }
1154
119k
  *newline_len = 0;
1155
119k
  return NULL;
1156
234k
}
1157
1158
static bool strip_multiline_string_indentation(
1159
  zval *zendlval, int indentation, bool using_spaces,
1160
  bool newline_at_start, bool newline_at_end)
1161
115k
{
1162
115k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1163
115k
  char *copy = Z_STRVAL_P(zendlval);
1164
1165
115k
  int newline_count = 0;
1166
115k
  size_t newline_len;
1167
115k
  const char *nl;
1168
1169
115k
  if (!newline_at_start) {
1170
77.9k
    nl = next_newline(str, end, &newline_len);
1171
77.9k
    if (!nl) {
1172
49.2k
      return 1;
1173
49.2k
    }
1174
1175
28.7k
    str = nl + newline_len;
1176
28.7k
    copy = (char *) nl + newline_len;
1177
28.7k
    newline_count++;
1178
37.7k
  } else {
1179
37.7k
    nl = str;
1180
37.7k
  }
1181
1182
  /* <= intentional */
1183
189k
  while (str <= end && nl) {
1184
156k
    size_t skip;
1185
156k
    nl = next_newline(str, end, &newline_len);
1186
156k
    if (!nl && newline_at_end) {
1187
7.79k
      nl = end;
1188
7.79k
    }
1189
1190
    /* Try to skip indentation */
1191
158k
    for (skip = 0; skip < indentation; skip++, str++) {
1192
2.75k
      if (str == nl) {
1193
        /* Don't require full indentation on whitespace-only lines */
1194
461
        break;
1195
461
      }
1196
1197
2.29k
      if (str == end || (*str != ' ' && *str != '\t')) {
1198
47
        CG(zend_lineno) += newline_count;
1199
47
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1200
47
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1201
47
        goto error;
1202
47
      }
1203
1204
2.24k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1205
34
        CG(zend_lineno) += newline_count;
1206
34
        zend_throw_exception(zend_ce_parse_error,
1207
34
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1208
34
        goto error;
1209
34
      }
1210
2.24k
    }
1211
1212
156k
    if (str == end) {
1213
33.0k
      break;
1214
33.0k
    }
1215
1216
123k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1217
123k
    memmove(copy, str, len);
1218
123k
    str += len;
1219
123k
    copy += len;
1220
123k
    newline_count++;
1221
123k
  }
1222
1223
66.3k
  *copy = '\0';
1224
66.3k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1225
66.3k
  return 1;
1226
1227
81
error:
1228
81
  zval_ptr_dtor_str(zendlval);
1229
81
  ZVAL_UNDEF(zendlval);
1230
1231
81
  return 0;
1232
66.4k
}
1233
1234
static void copy_heredoc_label_stack(void *void_heredoc_label)
1235
2.15M
{
1236
2.15M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1237
2.15M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1238
1239
2.15M
  *new_heredoc_label = *heredoc_label;
1240
2.15M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1241
1242
2.15M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1243
2.15M
}
1244
1245
/* Check that { }, [ ], ( ) are nested correctly */
1246
static void report_bad_nesting(char opening, int opening_lineno, char closing)
1247
263k
{
1248
263k
  char   buf[256];
1249
263k
  size_t used = 0;
1250
1251
263k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1252
1253
263k
  if (opening_lineno != CG(zend_lineno)) {
1254
138k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1255
138k
  }
1256
1257
263k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1258
118k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1259
118k
  }
1260
1261
263k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1262
263k
}
1263
1264
static void enter_nesting(char opening)
1265
5.64M
{
1266
5.64M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1267
5.64M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1268
5.64M
}
1269
1270
static zend_result exit_nesting(char closing)
1271
1.69M
{
1272
1.69M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1273
33.6k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1274
33.6k
    return FAILURE;
1275
33.6k
  }
1276
1277
1.66M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1278
1.66M
  char opening = nest_loc->text;
1279
1280
1.66M
  if ((opening == '{' && closing != '}') ||
1281
1.66M
      (opening == '[' && closing != ']') ||
1282
1.66M
      (opening == '(' && closing != ')')) {
1283
118k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1284
118k
    return FAILURE;
1285
118k
  }
1286
1287
1.54M
  zend_stack_del_top(&SCNG(nest_location_stack));
1288
1.54M
  return SUCCESS;
1289
1.66M
}
1290
1291
static zend_result check_nesting_at_end(void)
1292
269k
{
1293
269k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1294
144k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1295
144k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1296
144k
    return FAILURE;
1297
144k
  }
1298
1299
124k
  return SUCCESS;
1300
269k
}
1301
1302
#define PARSER_MODE() \
1303
21.2M
  EXPECTED(elem != NULL)
1304
1305
25.0M
#define RETURN_TOKEN(_token) do { \
1306
25.0M
    token = _token; \
1307
25.0M
    goto emit_token; \
1308
25.0M
  } while (0)
1309
1310
3.82M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1311
3.82M
    token = _token; \
1312
3.82M
    goto emit_token_with_val; \
1313
3.82M
  } while (0)
1314
1315
7.03M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1316
7.03M
    token = _token; \
1317
7.03M
    offset = _offset; \
1318
7.03M
    goto emit_token_with_str; \
1319
7.03M
  } while (0)
1320
1321
1.40M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1322
1.40M
    token = _token; \
1323
1.40M
    goto emit_token_with_ident; \
1324
1.40M
  } while (0)
1325
1326
1.30M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1327
1.30M
    token = _token; \
1328
1.30M
    if (PARSER_MODE()) { \
1329
331k
      goto skip_token; \
1330
331k
    } \
1331
1.30M
    goto emit_token; \
1332
1.30M
  } while (0)
1333
1334
1.69M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1335
1.69M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1336
317
      RETURN_TOKEN(T_ERROR); \
1337
1.69M
    } else { \
1338
1.69M
      RETURN_TOKEN(_token); \
1339
1.69M
    } \
1340
1.69M
  } while(0)
1341
1342
269k
#define RETURN_END_TOKEN do { \
1343
269k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1344
8.04k
      RETURN_TOKEN(T_ERROR); \
1345
261k
    } else { \
1346
261k
      RETURN_TOKEN(END); \
1347
261k
    } \
1348
269k
  } while (0)
1349
1350
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1351
41.9M
{
1352
41.9M
int token;
1353
41.9M
int offset;
1354
41.9M
int start_line = CG(zend_lineno);
1355
1356
41.9M
  ZVAL_UNDEF(zendlval);
1357
48.4M
restart:
1358
48.4M
  SCNG(yy_text) = YYCURSOR;
1359
1360
1361
48.4M
#line 1362 "Zend/zend_language_scanner.c"
1362
48.4M
{
1363
48.4M
  YYCTYPE yych;
1364
48.4M
  unsigned int yyaccept = 0;
1365
48.4M
  if (YYGETCONDITION() < 5) {
1366
44.7M
    if (YYGETCONDITION() < 2) {
1367
38.7M
      if (YYGETCONDITION() < 1) {
1368
38.2M
        goto yyc_ST_IN_SCRIPTING;
1369
38.2M
      } else {
1370
513k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1371
513k
      }
1372
38.7M
    } else {
1373
5.93M
      if (YYGETCONDITION() < 3) {
1374
254k
        goto yyc_ST_BACKQUOTE;
1375
5.67M
      } else {
1376
5.67M
        if (YYGETCONDITION() < 4) {
1377
806k
          goto yyc_ST_DOUBLE_QUOTES;
1378
4.87M
        } else {
1379
4.87M
          goto yyc_ST_HEREDOC;
1380
4.87M
        }
1381
5.67M
      }
1382
5.93M
    }
1383
44.7M
  } else {
1384
3.78M
    if (YYGETCONDITION() < 8) {
1385
3.28M
      if (YYGETCONDITION() < 6) {
1386
2.98M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1387
2.98M
      } else {
1388
296k
        if (YYGETCONDITION() < 7) {
1389
296k
          goto yyc_ST_VAR_OFFSET;
1390
296k
        } else {
1391
0
          goto yyc_SHEBANG;
1392
0
        }
1393
296k
      }
1394
3.28M
    } else {
1395
497k
      if (YYGETCONDITION() < 9) {
1396
473k
        goto yyc_INITIAL;
1397
473k
      } else {
1398
23.8k
        if (YYGETCONDITION() < 10) {
1399
17.9k
          goto yyc_ST_END_HEREDOC;
1400
17.9k
        } else {
1401
5.89k
          goto yyc_ST_NOWDOC;
1402
5.89k
        }
1403
23.8k
      }
1404
497k
    }
1405
3.78M
  }
1406
/* *********************************** */
1407
38.2M
yyc_ST_IN_SCRIPTING:
1408
38.2M
  {
1409
38.2M
    static const unsigned char yybm[] = {
1410
      /* table 1 .. 8: 0 */
1411
38.2M
        0, 134, 134, 134, 134, 134, 134, 134, 
1412
38.2M
      134, 135,   4, 134, 134,   4, 134, 134, 
1413
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1414
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1415
38.2M
      135, 134, 134, 134, 134, 134, 134, 134, 
1416
38.2M
      134, 134,  66, 134, 134, 134, 134, 134, 
1417
38.2M
      190, 190, 182, 182, 182, 182, 182, 182, 
1418
38.2M
      166, 166, 134, 134, 134, 134, 134, 134, 
1419
38.2M
      134, 166, 166, 166, 166, 166, 166, 134, 
1420
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1421
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1422
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1423
38.2M
      134, 166, 166, 166, 166, 166, 166, 134, 
1424
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1425
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1426
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1427
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1430
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1431
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1432
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1433
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1434
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1438
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
38.2M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
      /* table 9 .. 11: 256 */
1444
38.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1445
38.2M
        0,  32,  32,   0,   0,  32,   0,   0, 
1446
38.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1447
38.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1448
38.2M
       32,   0,   0,   0,   0,   0,   0,   0, 
1449
38.2M
        0,   0,   0,   0,   0,   0,   0,   0, 
1450
38.2M
      192, 192, 192, 192, 192, 192, 192, 192, 
1451
38.2M
      192, 192,   0,   0,   0,   0,   0,   0, 
1452
38.2M
        0, 128, 128, 128, 128, 128, 128, 128, 
1453
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1454
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1455
38.2M
      128, 128, 128,   0,   0,   0,   0, 128, 
1456
38.2M
        0, 128, 128, 128, 128, 128, 128, 128, 
1457
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1458
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1459
38.2M
      128, 128, 128,   0,   0,   0,   0,   0, 
1460
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1461
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1462
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1463
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1464
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1465
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1466
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1467
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1470
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1471
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1474
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
38.2M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
38.2M
    };
1477
38.2M
    YYDEBUG(1, *YYCURSOR);
1478
38.2M
    YYFILL(16);
1479
38.2M
    yych = *YYCURSOR;
1480
38.2M
    if (yybm[256+yych] & 32) {
1481
6.88M
      goto yy5;
1482
6.88M
    }
1483
31.3M
    switch (yych) {
1484
4.49M
    case 0x00:
1485
4.63M
    case 0x01:
1486
4.67M
    case 0x02:
1487
4.71M
    case 0x03:
1488
4.86M
    case 0x04:
1489
4.90M
    case 0x05:
1490
4.92M
    case 0x06:
1491
4.96M
    case 0x07:
1492
5.02M
    case 0x08:
1493
5.02M
    case '\t':
1494
5.02M
    case '\n':
1495
5.07M
    case '\v':
1496
5.11M
    case '\f':
1497
5.11M
    case '\r':
1498
5.15M
    case 0x0E:
1499
5.20M
    case 0x0F:
1500
5.23M
    case 0x10:
1501
5.24M
    case 0x11:
1502
5.26M
    case 0x12:
1503
5.29M
    case 0x13:
1504
5.33M
    case 0x14:
1505
5.33M
    case 0x15:
1506
5.35M
    case 0x16:
1507
5.39M
    case 0x17:
1508
5.40M
    case 0x18:
1509
5.41M
    case 0x19:
1510
5.42M
    case 0x1A:
1511
5.46M
    case 0x1B:
1512
5.99M
    case 0x1C:
1513
6.05M
    case 0x1D:
1514
6.08M
    case 0x1E:
1515
6.11M
    case 0x1F:
1516
6.14M
    case 0x7F:  goto yy3;
1517
0
    case ' ':
1518
193k
    case '!': goto yy8;
1519
387k
    case '"': goto yy10;
1520
796k
    case '#': goto yy12;
1521
1.90M
    case '$': goto yy14;
1522
83.7k
    case '%': goto yy15;
1523
198k
    case '&': goto yy16;
1524
385k
    case '\'':  goto yy18;
1525
1.24M
    case '(': goto yy20;
1526
937k
    case ')':
1527
1.25M
    case ']': goto yy22;
1528
119k
    case '*': goto yy24;
1529
163k
    case '+': goto yy25;
1530
930k
    case ',':
1531
1.97M
    case ';':
1532
2.59M
    case '@':
1533
2.66M
    case '~': goto yy26;
1534
344k
    case '-': goto yy27;
1535
461k
    case '.': goto yy28;
1536
393k
    case '/': goto yy29;
1537
262k
    case '0': goto yy30;
1538
248k
    case '1':
1539
404k
    case '2':
1540
518k
    case '3':
1541
660k
    case '4':
1542
740k
    case '5':
1543
787k
    case '6':
1544
827k
    case '7':
1545
887k
    case '8':
1546
928k
    case '9': goto yy32;
1547
231k
    case ':': goto yy34;
1548
4.00M
    case '<': goto yy35;
1549
700k
    case '=': goto yy36;
1550
61.4k
    case '>': goto yy37;
1551
568k
    case '?': goto yy38;
1552
69.0k
    case 'A':
1553
221k
    case 'a': goto yy39;
1554
55.6k
    case 'B':
1555
100k
    case 'b': goto yy41;
1556
68.0k
    case 'C':
1557
426k
    case 'c': goto yy42;
1558
72.5k
    case 'D':
1559
138k
    case 'd': goto yy43;
1560
109k
    case 'E':
1561
646k
    case 'e': goto yy44;
1562
63.0k
    case 'F':
1563
467k
    case 'f': goto yy45;
1564
12.0k
    case 'G':
1565
85.1k
    case 'g': goto yy46;
1566
68.3k
    case 'I':
1567
318k
    case 'i': goto yy49;
1568
12.9k
    case 'L':
1569
60.1k
    case 'l': goto yy50;
1570
14.8k
    case 'M':
1571
74.9k
    case 'm': goto yy51;
1572
46.1k
    case 'N':
1573
262k
    case 'n': goto yy52;
1574
44.9k
    case 'O':
1575
146k
    case 'o': goto yy53;
1576
76.9k
    case 'P':
1577
517k
    case 'p': goto yy54;
1578
19.9k
    case 'R':
1579
142k
    case 'r': goto yy55;
1580
22.4k
    case 'S':
1581
200k
    case 's': goto yy56;
1582
56.1k
    case 'T':
1583
269k
    case 't': goto yy57;
1584
8.31k
    case 'U':
1585
95.3k
    case 'u': goto yy58;
1586
15.1k
    case 'V':
1587
150k
    case 'v': goto yy59;
1588
11.1k
    case 'W':
1589
28.6k
    case 'w': goto yy60;
1590
19.5k
    case 'X':
1591
40.2k
    case 'x': goto yy61;
1592
10.0k
    case 'Y':
1593
150k
    case 'y': goto yy62;
1594
340k
    case '[': goto yy63;
1595
184k
    case '\\':  goto yy64;
1596
88.2k
    case '^': goto yy66;
1597
162k
    case '_': goto yy67;
1598
63.7k
    case '`': goto yy68;
1599
1.01M
    case '{': goto yy70;
1600
105k
    case '|': goto yy72;
1601
443k
    case '}': goto yy73;
1602
944k
    default:  goto yy47;
1603
31.3M
    }
1604
6.14M
yy3:
1605
6.14M
    YYDEBUG(3, *YYCURSOR);
1606
6.14M
    ++YYCURSOR;
1607
6.14M
    YYDEBUG(4, *YYCURSOR);
1608
6.14M
    yyleng = YYCURSOR - SCNG(yy_text);
1609
6.14M
#line 3126 "Zend/zend_language_scanner.l"
1610
6.14M
    {
1611
6.14M
  if (YYCURSOR > YYLIMIT) {
1612
160k
    RETURN_END_TOKEN;
1613
160k
  }
1614
1615
5.98M
  RETURN_TOKEN(T_BAD_CHARACTER);
1616
5.98M
}
1617
0
#line 1618 "Zend/zend_language_scanner.c"
1618
10.6M
yy5:
1619
10.6M
    YYDEBUG(5, *YYCURSOR);
1620
10.6M
    ++YYCURSOR;
1621
10.6M
    YYFILL(1);
1622
10.6M
    yych = *YYCURSOR;
1623
10.6M
    YYDEBUG(6, *YYCURSOR);
1624
10.6M
    if (yybm[256+yych] & 32) {
1625
3.76M
      goto yy5;
1626
3.76M
    }
1627
6.88M
    YYDEBUG(7, *YYCURSOR);
1628
6.88M
    yyleng = YYCURSOR - SCNG(yy_text);
1629
6.88M
#line 1583 "Zend/zend_language_scanner.l"
1630
6.88M
    {
1631
6.88M
  goto return_whitespace;
1632
10.6M
}
1633
0
#line 1634 "Zend/zend_language_scanner.c"
1634
193k
yy8:
1635
193k
    YYDEBUG(8, *YYCURSOR);
1636
193k
    yych = *++YYCURSOR;
1637
193k
    if (yych == '=') goto yy75;
1638
6.22M
yy9:
1639
6.22M
    YYDEBUG(9, *YYCURSOR);
1640
6.22M
    yyleng = YYCURSOR - SCNG(yy_text);
1641
6.22M
#line 1915 "Zend/zend_language_scanner.l"
1642
6.22M
    {
1643
6.22M
  RETURN_TOKEN(yytext[0]);
1644
6.22M
}
1645
0
#line 1646 "Zend/zend_language_scanner.c"
1646
388k
yy10:
1647
388k
    YYDEBUG(10, *YYCURSOR);
1648
388k
    ++YYCURSOR;
1649
388k
    YYDEBUG(11, *YYCURSOR);
1650
388k
    yyleng = YYCURSOR - SCNG(yy_text);
1651
388k
#line 2580 "Zend/zend_language_scanner.l"
1652
388k
    {
1653
388k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1654
1655
10.2M
  while (YYCURSOR < YYLIMIT) {
1656
10.2M
    switch (*YYCURSOR++) {
1657
281k
      case '"':
1658
281k
        yyleng = YYCURSOR - SCNG(yy_text);
1659
281k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1660
281k
         || !PARSER_MODE()) {
1661
281k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1662
281k
        } else {
1663
5
          RETURN_TOKEN(T_ERROR);
1664
5
        }
1665
132k
      case '$':
1666
132k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1667
95.0k
          break;
1668
95.0k
        }
1669
37.8k
        continue;
1670
40.2k
      case '{':
1671
40.2k
        if (*YYCURSOR == '$') {
1672
3.16k
          break;
1673
3.16k
        }
1674
37.0k
        continue;
1675
257k
      case '\\':
1676
257k
        if (YYCURSOR < YYLIMIT) {
1677
256k
          YYCURSOR++;
1678
256k
        }
1679
257k
        ZEND_FALLTHROUGH;
1680
9.79M
      default:
1681
9.79M
        continue;
1682
10.2M
    }
1683
1684
98.2k
    YYCURSOR--;
1685
98.2k
    break;
1686
10.2M
  }
1687
1688
  /* Remember how much was scanned to save rescanning */
1689
388k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1690
1691
107k
  YYCURSOR = SCNG(yy_text) + yyleng;
1692
1693
107k
  BEGIN(ST_DOUBLE_QUOTES);
1694
107k
  RETURN_TOKEN('"');
1695
107k
}
1696
0
#line 1697 "Zend/zend_language_scanner.c"
1697
796k
yy12:
1698
796k
    YYDEBUG(12, *YYCURSOR);
1699
796k
    yych = *++YYCURSOR;
1700
796k
    if (yych == '[') goto yy77;
1701
893k
yy13:
1702
893k
    YYDEBUG(13, *YYCURSOR);
1703
893k
    yyleng = YYCURSOR - SCNG(yy_text);
1704
893k
#line 2406 "Zend/zend_language_scanner.l"
1705
893k
    {
1706
9.89M
  while (YYCURSOR < YYLIMIT) {
1707
9.88M
    switch (*YYCURSOR++) {
1708
225k
      case '\r':
1709
881k
      case '\n':
1710
881k
        YYCURSOR--;
1711
881k
        break;
1712
44.2k
      case '?':
1713
44.2k
        if (*YYCURSOR == '>') {
1714
1.75k
          YYCURSOR--;
1715
1.75k
          break;
1716
1.75k
        }
1717
42.5k
        ZEND_FALLTHROUGH;
1718
9.00M
      default:
1719
9.00M
        continue;
1720
9.88M
    }
1721
1722
883k
    break;
1723
9.88M
  }
1724
1725
893k
  yyleng = YYCURSOR - SCNG(yy_text);
1726
893k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1727
893k
}
1728
0
#line 1729 "Zend/zend_language_scanner.c"
1729
1.90M
yy14:
1730
1.90M
    YYDEBUG(14, *YYCURSOR);
1731
1.90M
    yych = *++YYCURSOR;
1732
1.90M
    if (yych <= '_') {
1733
299k
      if (yych <= '@') goto yy9;
1734
43.2k
      if (yych <= 'Z') goto yy79;
1735
7.47k
      if (yych <= '^') goto yy9;
1736
3.77k
      goto yy79;
1737
1.60M
    } else {
1738
1.60M
      if (yych <= '`') goto yy9;
1739
1.59M
      if (yych <= 'z') goto yy79;
1740
396k
      if (yych <= 0x7F) goto yy9;
1741
75.6k
      goto yy79;
1742
396k
    }
1743
83.7k
yy15:
1744
83.7k
    YYDEBUG(15, *YYCURSOR);
1745
83.7k
    yych = *++YYCURSOR;
1746
83.7k
    if (yych == '=') goto yy82;
1747
79.4k
    goto yy9;
1748
198k
yy16:
1749
198k
    YYDEBUG(16, *YYCURSOR);
1750
198k
    yyaccept = 0;
1751
198k
    yych = *(YYMARKER = ++YYCURSOR);
1752
198k
    if (yych <= '"') {
1753
62.4k
      if (yych <= '\f') {
1754
36.4k
        if (yych <= 0x08) goto yy17;
1755
33.9k
        if (yych <= '\n') goto yy85;
1756
33.9k
      } else {
1757
25.9k
        if (yych <= '\r') goto yy85;
1758
23.0k
        if (yych == ' ') goto yy85;
1759
23.0k
      }
1760
136k
    } else {
1761
136k
      if (yych <= '-') {
1762
44.3k
        if (yych <= '$') goto yy85;
1763
22.3k
        if (yych == '&') goto yy90;
1764
91.9k
      } else {
1765
91.9k
        if (yych <= '/') goto yy85;
1766
87.6k
        if (yych == '=') goto yy94;
1767
87.6k
      }
1768
136k
    }
1769
126k
yy17:
1770
126k
    YYDEBUG(17, *YYCURSOR);
1771
126k
    yyleng = YYCURSOR - SCNG(yy_text);
1772
126k
#line 1901 "Zend/zend_language_scanner.l"
1773
126k
    {
1774
126k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1775
126k
}
1776
0
#line 1777 "Zend/zend_language_scanner.c"
1777
385k
yy18:
1778
385k
    YYDEBUG(18, *YYCURSOR);
1779
385k
    ++YYCURSOR;
1780
385k
    YYDEBUG(19, *YYCURSOR);
1781
385k
    yyleng = YYCURSOR - SCNG(yy_text);
1782
385k
#line 2484 "Zend/zend_language_scanner.l"
1783
385k
    {
1784
385k
  char *s, *t;
1785
385k
  char *end;
1786
385k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1787
1788
60.0M
  while (1) {
1789
60.0M
    if (YYCURSOR < YYLIMIT) {
1790
60.0M
      if (*YYCURSOR == '\'') {
1791
375k
        YYCURSOR++;
1792
375k
        yyleng = YYCURSOR - SCNG(yy_text);
1793
1794
375k
        break;
1795
59.6M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1796
178k
        YYCURSOR++;
1797
178k
      }
1798
60.0M
    } else {
1799
10.4k
      yyleng = YYLIMIT - SCNG(yy_text);
1800
1801
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1802
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1803
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1804
10.4k
      ZVAL_NULL(zendlval);
1805
10.4k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1806
10.4k
    }
1807
60.0M
  }
1808
1809
375k
  if (yyleng-bprefix-2 <= 1) {
1810
55.4k
    if (yyleng-bprefix-2 < 1) {
1811
14.9k
      ZVAL_EMPTY_STRING(zendlval);
1812
40.4k
    } else {
1813
40.4k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1814
40.4k
      if (c == '\n' || c == '\r') {
1815
597
        CG(zend_lineno)++;
1816
597
      }
1817
40.4k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1818
40.4k
    }
1819
55.4k
    goto skip_escape_conversion;
1820
55.4k
  }
1821
320k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1822
1823
  /* convert escape sequences */
1824
320k
  s = Z_STRVAL_P(zendlval);
1825
320k
  end = s+Z_STRLEN_P(zendlval);
1826
40.0M
  while (1) {
1827
40.0M
    if (UNEXPECTED(*s=='\\')) {
1828
57.6k
      break;
1829
57.6k
    }
1830
40.0M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1831
765k
      CG(zend_lineno)++;
1832
765k
    }
1833
40.0M
    s++;
1834
40.0M
    if (s == end) {
1835
262k
      goto skip_escape_conversion;
1836
262k
    }
1837
40.0M
  }
1838
1839
57.6k
  t = s;
1840
18.3M
  while (s<end) {
1841
18.2M
    if (*s=='\\') {
1842
172k
      s++;
1843
172k
      if (*s == '\\' || *s == '\'') {
1844
57.1k
        *t++ = *s;
1845
115k
      } else {
1846
115k
        *t++ = '\\';
1847
115k
        *t++ = *s;
1848
115k
      }
1849
18.0M
    } else {
1850
18.0M
      *t++ = *s;
1851
18.0M
    }
1852
18.2M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1853
327k
      CG(zend_lineno)++;
1854
327k
    }
1855
18.2M
    s++;
1856
18.2M
  }
1857
57.6k
  *t = 0;
1858
57.6k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1859
1860
375k
skip_escape_conversion:
1861
375k
  if (SCNG(output_filter)) {
1862
0
    size_t sz = 0;
1863
0
    char *str = NULL;
1864
0
    zend_string *new_str;
1865
0
    s = Z_STRVAL_P(zendlval);
1866
    // TODO: avoid reallocation ???
1867
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval));
1868
0
    new_str = zend_string_init(str, sz, 0);
1869
0
    if (str != s) {
1870
0
      efree(str);
1871
0
    }
1872
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1873
0
    ZVAL_STR(zendlval, new_str);
1874
0
  }
1875
375k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1876
375k
}
1877
0
#line 1878 "Zend/zend_language_scanner.c"
1878
1.24M
yy20:
1879
1.24M
    YYDEBUG(20, *YYCURSOR);
1880
1.24M
    yyaccept = 1;
1881
1.24M
    yych = *(YYMARKER = ++YYCURSOR);
1882
1.24M
    if (yych <= 'S') {
1883
915k
      if (yych <= 'D') {
1884
843k
        if (yych <= ' ') {
1885
95.8k
          if (yych == '\t') goto yy97;
1886
91.2k
          if (yych >= ' ') goto yy97;
1887
747k
        } else {
1888
747k
          if (yych <= '@') goto yy21;
1889
17.0k
          if (yych != 'C') goto yy97;
1890
17.0k
        }
1891
843k
      } else {
1892
72.9k
        if (yych <= 'I') {
1893
56.4k
          if (yych == 'F') goto yy97;
1894
53.9k
          if (yych >= 'I') goto yy97;
1895
53.9k
        } else {
1896
16.4k
          if (yych == 'O') goto yy97;
1897
12.2k
          if (yych >= 'R') goto yy97;
1898
12.2k
        }
1899
72.9k
      }
1900
915k
    } else {
1901
333k
      if (yych <= 'f') {
1902
141k
        if (yych <= 'b') {
1903
91.0k
          if (yych <= 'T') goto yy21;
1904
82.2k
          if (yych <= 'V') goto yy97;
1905
80.1k
          if (yych >= 'a') goto yy97;
1906
80.1k
        } else {
1907
50.3k
          if (yych == 'd') goto yy97;
1908
44.6k
          if (yych >= 'f') goto yy97;
1909
44.6k
        }
1910
191k
      } else {
1911
191k
        if (yych <= 'o') {
1912
75.7k
          if (yych == 'i') goto yy97;
1913
41.0k
          if (yych >= 'o') goto yy97;
1914
115k
        } else {
1915
115k
          if (yych <= 's') {
1916
52.7k
            if (yych >= 'r') goto yy97;
1917
62.9k
          } else {
1918
62.9k
            if (yych <= 't') goto yy21;
1919
54.9k
            if (yych <= 'v') goto yy97;
1920
54.9k
          }
1921
115k
        }
1922
191k
      }
1923
333k
    }
1924
1.57M
yy21:
1925
1.57M
    YYDEBUG(21, *YYCURSOR);
1926
1.57M
    yyleng = YYCURSOR - SCNG(yy_text);
1927
1.57M
#line 1910 "Zend/zend_language_scanner.l"
1928
1.57M
    {
1929
1.57M
  enter_nesting(yytext[0]);
1930
1.57M
  RETURN_TOKEN(yytext[0]);
1931
1.57M
}
1932
0
#line 1933 "Zend/zend_language_scanner.c"
1933
1.25M
yy22:
1934
1.25M
    YYDEBUG(22, *YYCURSOR);
1935
1.25M
    ++YYCURSOR;
1936
1.25M
    YYDEBUG(23, *YYCURSOR);
1937
1.25M
    yyleng = YYCURSOR - SCNG(yy_text);
1938
1.25M
#line 1905 "Zend/zend_language_scanner.l"
1939
1.25M
    {
1940
  /* Check that ] and ) match up properly with a preceding [ or ( */
1941
1.25M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1942
1.25M
}
1943
0
#line 1944 "Zend/zend_language_scanner.c"
1944
119k
yy24:
1945
119k
    YYDEBUG(24, *YYCURSOR);
1946
119k
    yych = *++YYCURSOR;
1947
119k
    if (yych == '*') goto yy108;
1948
98.0k
    if (yych == '=') goto yy110;
1949
93.0k
    goto yy9;
1950
163k
yy25:
1951
163k
    YYDEBUG(25, *YYCURSOR);
1952
163k
    yych = *++YYCURSOR;
1953
163k
    if (yych == '+') goto yy112;
1954
138k
    if (yych == '=') goto yy114;
1955
133k
    goto yy9;
1956
2.66M
yy26:
1957
2.66M
    YYDEBUG(26, *YYCURSOR);
1958
2.66M
    ++YYCURSOR;
1959
2.66M
    goto yy9;
1960
344k
yy27:
1961
344k
    YYDEBUG(27, *YYCURSOR);
1962
344k
    yych = *++YYCURSOR;
1963
344k
    if (yych <= '<') {
1964
146k
      if (yych == '-') goto yy116;
1965
131k
      goto yy9;
1966
198k
    } else {
1967
198k
      if (yych <= '=') goto yy118;
1968
195k
      if (yych <= '>') goto yy120;
1969
60.4k
      goto yy9;
1970
195k
    }
1971
461k
yy28:
1972
461k
    YYDEBUG(28, *YYCURSOR);
1973
461k
    yyaccept = 2;
1974
461k
    yych = *(YYMARKER = ++YYCURSOR);
1975
461k
    if (yych <= '/') {
1976
173k
      if (yych == '.') goto yy122;
1977
132k
      goto yy9;
1978
287k
    } else {
1979
287k
      if (yych <= '9') goto yy123;
1980
243k
      if (yych == '=') goto yy126;
1981
47.4k
      goto yy9;
1982
243k
    }
1983
393k
yy29:
1984
393k
    YYDEBUG(29, *YYCURSOR);
1985
393k
    yych = *++YYCURSOR;
1986
393k
    if (yych <= '.') {
1987
207k
      if (yych == '*') goto yy128;
1988
53.7k
      goto yy9;
1989
207k
    } else {
1990
185k
      if (yych <= '/') goto yy130;
1991
76.1k
      if (yych == '=') goto yy131;
1992
72.5k
      goto yy9;
1993
76.1k
    }
1994
262k
yy30:
1995
262k
    YYDEBUG(30, *YYCURSOR);
1996
262k
    yyaccept = 3;
1997
262k
    yych = *(YYMARKER = ++YYCURSOR);
1998
262k
    if (yych <= 'X') {
1999
176k
      if (yych <= 'N') {
2000
172k
        if (yych == 'B') goto yy134;
2001
171k
        goto yy33;
2002
172k
      } else {
2003
3.75k
        if (yych <= 'O') goto yy136;
2004
2.83k
        if (yych <= 'W') goto yy33;
2005
1.68k
        goto yy137;
2006
2.83k
      }
2007
176k
    } else {
2008
86.1k
      if (yych <= 'n') {
2009
58.1k
        if (yych == 'b') goto yy134;
2010
53.6k
        goto yy33;
2011
58.1k
      } else {
2012
28.0k
        if (yych <= 'o') goto yy136;
2013
25.5k
        if (yych == 'x') goto yy137;
2014
19.3k
        goto yy33;
2015
25.5k
      }
2016
86.1k
    }
2017
1.10M
yy31:
2018
1.10M
    YYDEBUG(31, *YYCURSOR);
2019
1.10M
    yyleng = YYCURSOR - SCNG(yy_text);
2020
1.10M
#line 2049 "Zend/zend_language_scanner.l"
2021
1.10M
    {
2022
1.10M
  size_t len = yyleng;
2023
1.10M
  char *end, *lnum = yytext;
2024
1.10M
  bool is_octal = lnum[0] == '0';
2025
1.10M
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2026
2027
1.10M
  if (contains_underscores) {
2028
1.34k
    lnum = estrndup(lnum, len);
2029
1.34k
    strip_underscores(lnum, &len);
2030
1.34k
  }
2031
2032
  /* Digits 8 and 9 are illegal in octal literals. */
2033
1.10M
  if (is_octal) {
2034
236k
    size_t i;
2035
603k
    for (i = 0; i < len; i++) {
2036
371k
      if (lnum[i] == '8' || lnum[i] == '9') {
2037
4.04k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2038
4.04k
        if (PARSER_MODE()) {
2039
43
          if (contains_underscores) {
2040
12
            efree(lnum);
2041
12
          }
2042
43
          ZVAL_UNDEF(zendlval);
2043
43
          RETURN_TOKEN(T_ERROR);
2044
43
        }
2045
2046
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2047
4.00k
        len = i;
2048
4.00k
        break;
2049
4.04k
      }
2050
371k
    }
2051
236k
  }
2052
2053
2054
1.10M
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2055
1.06M
    errno = 0;
2056
    /* base must be passed explicitly for correct parse error on Windows */
2057
1.06M
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2058
1.06M
    ZEND_ASSERT(end == lnum + len);
2059
1.06M
  } else {
2060
39.9k
    errno = 0;
2061
39.9k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2062
39.9k
    if (errno == ERANGE) { /* Overflow */
2063
34.4k
      errno = 0;
2064
34.4k
      if (is_octal) { /* octal overflow */
2065
436
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2066
33.9k
      } else {
2067
33.9k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2068
33.9k
      }
2069
34.4k
      ZEND_ASSERT(end == lnum + len);
2070
34.4k
      if (contains_underscores) {
2071
259
        efree(lnum);
2072
259
      }
2073
34.4k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2074
34.4k
    }
2075
5.50k
    ZEND_ASSERT(end == lnum + len);
2076
5.50k
  }
2077
1.06M
  ZEND_ASSERT(!errno);
2078
1.06M
  if (contains_underscores) {
2079
1.07k
    efree(lnum);
2080
1.07k
  }
2081
1.06M
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2082
1.06M
}
2083
0
#line 2084 "Zend/zend_language_scanner.c"
2084
3.74M
yy32:
2085
3.74M
    YYDEBUG(32, *YYCURSOR);
2086
3.74M
    yyaccept = 3;
2087
3.74M
    YYMARKER = ++YYCURSOR;
2088
3.74M
    YYFILL(3);
2089
3.74M
    yych = *YYCURSOR;
2090
3.99M
yy33:
2091
3.99M
    YYDEBUG(33, *YYCURSOR);
2092
3.99M
    if (yybm[256+yych] & 64) {
2093
2.81M
      goto yy32;
2094
2.81M
    }
2095
1.17M
    if (yych <= 'E') {
2096
912k
      if (yych == '.') goto yy133;
2097
863k
      if (yych <= 'D') goto yy31;
2098
21.2k
      goto yy135;
2099
863k
    } else {
2100
264k
      if (yych <= '_') {
2101
139k
        if (yych <= '^') goto yy31;
2102
9.50k
        goto yy138;
2103
139k
      } else {
2104
125k
        if (yych == 'e') goto yy135;
2105
110k
        goto yy31;
2106
125k
      }
2107
264k
    }
2108
231k
yy34:
2109
231k
    YYDEBUG(34, *YYCURSOR);
2110
231k
    yych = *++YYCURSOR;
2111
231k
    if (yych == ':') goto yy139;
2112
108k
    goto yy9;
2113
4.00M
yy35:
2114
4.00M
    YYDEBUG(35, *YYCURSOR);
2115
4.00M
    yych = *++YYCURSOR;
2116
4.00M
    if (yych <= ';') goto yy9;
2117
3.81M
    if (yych <= '<') goto yy141;
2118
529k
    if (yych <= '=') goto yy143;
2119
522k
    if (yych <= '>') goto yy145;
2120
516k
    goto yy9;
2121
700k
yy36:
2122
700k
    YYDEBUG(36, *YYCURSOR);
2123
700k
    yych = *++YYCURSOR;
2124
700k
    if (yych <= '<') goto yy9;
2125
138k
    if (yych <= '=') goto yy146;
2126
94.0k
    if (yych <= '>') goto yy148;
2127
30.4k
    goto yy9;
2128
61.4k
yy37:
2129
61.4k
    YYDEBUG(37, *YYCURSOR);
2130
61.4k
    yych = *++YYCURSOR;
2131
61.4k
    if (yych <= '<') goto yy9;
2132
34.0k
    if (yych <= '=') goto yy150;
2133
30.3k
    if (yych <= '>') goto yy152;
2134
24.1k
    goto yy9;
2135
568k
yy38:
2136
568k
    YYDEBUG(38, *YYCURSOR);
2137
568k
    yyaccept = 2;
2138
568k
    yych = *(YYMARKER = ++YYCURSOR);
2139
568k
    if (yych <= '=') {
2140
233k
      if (yych == '-') goto yy154;
2141
171k
      goto yy9;
2142
335k
    } else {
2143
335k
      if (yych <= '>') goto yy155;
2144
190k
      if (yych <= '?') goto yy157;
2145
158k
      goto yy9;
2146
190k
    }
2147
221k
yy39:
2148
221k
    YYDEBUG(39, *YYCURSOR);
2149
221k
    yyaccept = 4;
2150
221k
    yych = *(YYMARKER = ++YYCURSOR);
2151
221k
    if (yych <= 'S') {
2152
78.9k
      if (yych <= 'M') {
2153
67.6k
        if (yych == 'B') goto yy159;
2154
65.4k
        goto yy48;
2155
67.6k
      } else {
2156
11.3k
        if (yych <= 'N') goto yy160;
2157
8.74k
        if (yych <= 'Q') goto yy48;
2158
8.35k
        if (yych <= 'R') goto yy161;
2159
7.58k
        goto yy162;
2160
8.35k
      }
2161
142k
    } else {
2162
142k
      if (yych <= 'n') {
2163
31.6k
        if (yych == 'b') goto yy159;
2164
22.3k
        if (yych <= 'm') goto yy48;
2165
4.06k
        goto yy160;
2166
111k
      } else {
2167
111k
        if (yych <= 'q') goto yy48;
2168
108k
        if (yych <= 'r') goto yy161;
2169
72.5k
        if (yych <= 's') goto yy162;
2170
13.5k
        goto yy48;
2171
72.5k
      }
2172
142k
    }
2173
4.21M
yy40:
2174
4.21M
    YYDEBUG(40, *YYCURSOR);
2175
4.21M
    yyleng = YYCURSOR - SCNG(yy_text);
2176
4.21M
#line 2401 "Zend/zend_language_scanner.l"
2177
4.21M
    {
2178
4.21M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2179
4.21M
}
2180
0
#line 2181 "Zend/zend_language_scanner.c"
2181
100k
yy41:
2182
100k
    YYDEBUG(41, *YYCURSOR);
2183
100k
    yyaccept = 4;
2184
100k
    yych = *(YYMARKER = ++YYCURSOR);
2185
100k
    if (yych <= ';') {
2186
29.4k
      if (yych <= '"') {
2187
14.4k
        if (yych <= '!') goto yy48;
2188
866
        goto yy10;
2189
15.0k
      } else {
2190
15.0k
        if (yych == '\'') goto yy18;
2191
14.7k
        goto yy48;
2192
15.0k
      }
2193
71.1k
    } else {
2194
71.1k
      if (yych <= 'R') {
2195
12.9k
        if (yych <= '<') goto yy165;
2196
8.21k
        if (yych <= 'Q') goto yy48;
2197
618
        goto yy166;
2198
58.1k
      } else {
2199
58.1k
        if (yych == 'r') goto yy166;
2200
53.1k
        goto yy48;
2201
58.1k
      }
2202
71.1k
    }
2203
426k
yy42:
2204
426k
    YYDEBUG(42, *YYCURSOR);
2205
426k
    yyaccept = 4;
2206
426k
    yych = *(YYMARKER = ++YYCURSOR);
2207
426k
    if (yych <= 'O') {
2208
86.2k
      if (yych <= 'K') {
2209
72.7k
        if (yych == 'A') goto yy167;
2210
70.2k
        goto yy48;
2211
72.7k
      } else {
2212
13.5k
        if (yych <= 'L') goto yy168;
2213
7.83k
        if (yych <= 'N') goto yy48;
2214
7.33k
        goto yy169;
2215
7.83k
      }
2216
339k
    } else {
2217
339k
      if (yych <= 'k') {
2218
129k
        if (yych == 'a') goto yy167;
2219
32.1k
        goto yy48;
2220
210k
      } else {
2221
210k
        if (yych <= 'l') goto yy168;
2222
109k
        if (yych == 'o') goto yy169;
2223
18.4k
        goto yy48;
2224
109k
      }
2225
339k
    }
2226
138k
yy43:
2227
138k
    YYDEBUG(43, *YYCURSOR);
2228
138k
    yyaccept = 4;
2229
138k
    yych = *(YYMARKER = ++YYCURSOR);
2230
138k
    if (yych <= 'O') {
2231
31.7k
      if (yych <= 'H') {
2232
22.5k
        if (yych == 'E') goto yy170;
2233
18.9k
        goto yy48;
2234
22.5k
      } else {
2235
9.10k
        if (yych <= 'I') goto yy171;
2236
8.36k
        if (yych <= 'N') goto yy48;
2237
6.36k
        goto yy172;
2238
8.36k
      }
2239
106k
    } else {
2240
106k
      if (yych <= 'h') {
2241
80.5k
        if (yych == 'e') goto yy170;
2242
59.5k
        goto yy48;
2243
80.5k
      } else {
2244
25.8k
        if (yych <= 'i') goto yy171;
2245
22.6k
        if (yych == 'o') goto yy172;
2246
14.5k
        goto yy48;
2247
22.6k
      }
2248
106k
    }
2249
646k
yy44:
2250
646k
    YYDEBUG(44, *YYCURSOR);
2251
646k
    yyaccept = 4;
2252
646k
    yych = *(YYMARKER = ++YYCURSOR);
2253
646k
    switch (yych) {
2254
2.10k
    case 'C':
2255
101k
    case 'c': goto yy174;
2256
2.55k
    case 'L':
2257
15.2k
    case 'l': goto yy175;
2258
2.37k
    case 'M':
2259
11.0k
    case 'm': goto yy176;
2260
101k
    case 'N':
2261
281k
    case 'n': goto yy177;
2262
625
    case 'V':
2263
6.81k
    case 'v': goto yy178;
2264
3.80k
    case 'X':
2265
94.2k
    case 'x': goto yy179;
2266
136k
    default:  goto yy48;
2267
646k
    }
2268
467k
yy45:
2269
467k
    YYDEBUG(45, *YYCURSOR);
2270
467k
    yyaccept = 4;
2271
467k
    yych = *(YYMARKER = ++YYCURSOR);
2272
467k
    if (yych <= 'U') {
2273
122k
      if (yych <= 'M') {
2274
95.1k
        if (yych == 'I') goto yy180;
2275
93.3k
        goto yy48;
2276
95.1k
      } else {
2277
26.8k
        if (yych <= 'N') goto yy181;
2278
25.8k
        if (yych <= 'O') goto yy183;
2279
13.9k
        if (yych <= 'T') goto yy48;
2280
1.66k
        goto yy184;
2281
13.9k
      }
2282
345k
    } else {
2283
345k
      if (yych <= 'n') {
2284
74.6k
        if (yych == 'i') goto yy180;
2285
51.9k
        if (yych <= 'm') goto yy48;
2286
28.1k
        goto yy181;
2287
270k
      } else {
2288
270k
        if (yych <= 'o') goto yy183;
2289
143k
        if (yych == 'u') goto yy184;
2290
19.2k
        goto yy48;
2291
143k
      }
2292
345k
    }
2293
85.1k
yy46:
2294
85.1k
    YYDEBUG(46, *YYCURSOR);
2295
85.1k
    yyaccept = 4;
2296
85.1k
    yych = *(YYMARKER = ++YYCURSOR);
2297
85.1k
    if (yych <= 'O') {
2298
39.3k
      if (yych == 'L') goto yy185;
2299
35.4k
      if (yych <= 'N') goto yy48;
2300
2.14k
      goto yy186;
2301
45.8k
    } else {
2302
45.8k
      if (yych <= 'l') {
2303
34.6k
        if (yych <= 'k') goto yy48;
2304
5.92k
        goto yy185;
2305
34.6k
      } else {
2306
11.1k
        if (yych == 'o') goto yy186;
2307
6.38k
        goto yy48;
2308
11.1k
      }
2309
45.8k
    }
2310
16.5M
yy47:
2311
16.5M
    YYDEBUG(47, *YYCURSOR);
2312
16.5M
    yyaccept = 4;
2313
16.5M
    YYMARKER = ++YYCURSOR;
2314
16.5M
    YYFILL(1);
2315
16.5M
    yych = *YYCURSOR;
2316
19.5M
yy48:
2317
19.5M
    YYDEBUG(48, *YYCURSOR);
2318
19.5M
    if (yybm[256+yych] & 128) {
2319
15.2M
      goto yy47;
2320
15.2M
    }
2321
4.20M
    if (yych == '\\') goto yy164;
2322
4.16M
    goto yy40;
2323
4.16M
yy49:
2324
318k
    YYDEBUG(49, *YYCURSOR);
2325
318k
    yyaccept = 4;
2326
318k
    yych = *(YYMARKER = ++YYCURSOR);
2327
318k
    if (yych <= 'S') {
2328
79.2k
      if (yych <= 'L') {
2329
42.4k
        if (yych == 'F') goto yy187;
2330
41.2k
        goto yy48;
2331
42.4k
      } else {
2332
36.7k
        if (yych <= 'M') goto yy189;
2333
30.7k
        if (yych <= 'N') goto yy190;
2334
9.38k
        if (yych <= 'R') goto yy48;
2335
5.17k
        goto yy191;
2336
9.38k
      }
2337
238k
    } else {
2338
238k
      if (yych <= 'm') {
2339
103k
        if (yych == 'f') goto yy187;
2340
76.3k
        if (yych <= 'l') goto yy48;
2341
48.5k
        goto yy189;
2342
135k
      } else {
2343
135k
        if (yych <= 'n') goto yy190;
2344
54.9k
        if (yych == 's') goto yy191;
2345
19.0k
        goto yy48;
2346
54.9k
      }
2347
238k
    }
2348
60.1k
yy50:
2349
60.1k
    YYDEBUG(50, *YYCURSOR);
2350
60.1k
    yyaccept = 4;
2351
60.1k
    yych = *(YYMARKER = ++YYCURSOR);
2352
60.1k
    if (yych == 'I') goto yy192;
2353
59.1k
    if (yych == 'i') goto yy192;
2354
51.8k
    goto yy48;
2355
74.9k
yy51:
2356
74.9k
    YYDEBUG(51, *YYCURSOR);
2357
74.9k
    yyaccept = 4;
2358
74.9k
    yych = *(YYMARKER = ++YYCURSOR);
2359
74.9k
    if (yych == 'A') goto yy193;
2360
74.4k
    if (yych == 'a') goto yy193;
2361
66.3k
    goto yy48;
2362
262k
yy52:
2363
262k
    YYDEBUG(52, *YYCURSOR);
2364
262k
    yyaccept = 4;
2365
262k
    yych = *(YYMARKER = ++YYCURSOR);
2366
262k
    if (yych <= 'E') {
2367
33.2k
      if (yych == 'A') goto yy194;
2368
28.6k
      if (yych <= 'D') goto yy48;
2369
7.13k
      goto yy195;
2370
228k
    } else {
2371
228k
      if (yych <= 'a') {
2372
54.0k
        if (yych <= '`') goto yy48;
2373
32.3k
        goto yy194;
2374
174k
      } else {
2375
174k
        if (yych == 'e') goto yy195;
2376
54.2k
        goto yy48;
2377
174k
      }
2378
228k
    }
2379
146k
yy53:
2380
146k
    YYDEBUG(53, *YYCURSOR);
2381
146k
    yyaccept = 4;
2382
146k
    yych = *(YYMARKER = ++YYCURSOR);
2383
146k
    if (yych == 'R') goto yy196;
2384
142k
    if (yych == 'r') goto yy196;
2385
135k
    goto yy48;
2386
517k
yy54:
2387
517k
    YYDEBUG(54, *YYCURSOR);
2388
517k
    yyaccept = 4;
2389
517k
    yych = *(YYMARKER = ++YYCURSOR);
2390
517k
    if (yych <= 'U') {
2391
225k
      if (yych == 'R') goto yy198;
2392
219k
      if (yych <= 'T') goto yy48;
2393
1.98k
      goto yy199;
2394
292k
    } else {
2395
292k
      if (yych <= 'r') {
2396
190k
        if (yych <= 'q') goto yy48;
2397
48.5k
        goto yy198;
2398
190k
      } else {
2399
101k
        if (yych == 'u') goto yy199;
2400
29.5k
        goto yy48;
2401
101k
      }
2402
292k
    }
2403
142k
yy55:
2404
142k
    YYDEBUG(55, *YYCURSOR);
2405
142k
    yyaccept = 4;
2406
142k
    yych = *(YYMARKER = ++YYCURSOR);
2407
142k
    if (yych == 'E') goto yy200;
2408
138k
    if (yych == 'e') goto yy200;
2409
58.1k
    goto yy48;
2410
200k
yy56:
2411
200k
    YYDEBUG(56, *YYCURSOR);
2412
200k
    yyaccept = 4;
2413
200k
    yych = *(YYMARKER = ++YYCURSOR);
2414
200k
    if (yych <= 'W') {
2415
57.6k
      if (yych == 'T') goto yy201;
2416
54.5k
      if (yych <= 'V') goto yy48;
2417
831
      goto yy202;
2418
143k
    } else {
2419
143k
      if (yych <= 't') {
2420
126k
        if (yych <= 's') goto yy48;
2421
64.6k
        goto yy201;
2422
126k
      } else {
2423
17.0k
        if (yych == 'w') goto yy202;
2424
8.80k
        goto yy48;
2425
17.0k
      }
2426
143k
    }
2427
269k
yy57:
2428
269k
    YYDEBUG(57, *YYCURSOR);
2429
269k
    yyaccept = 4;
2430
269k
    yych = *(YYMARKER = ++YYCURSOR);
2431
269k
    if (yych <= 'R') {
2432
47.3k
      if (yych == 'H') goto yy203;
2433
45.7k
      if (yych <= 'Q') goto yy48;
2434
5.75k
      goto yy204;
2435
221k
    } else {
2436
221k
      if (yych <= 'h') {
2437
94.4k
        if (yych <= 'g') goto yy48;
2438
18.7k
        goto yy203;
2439
127k
      } else {
2440
127k
        if (yych == 'r') goto yy204;
2441
32.0k
        goto yy48;
2442
127k
      }
2443
221k
    }
2444
95.3k
yy58:
2445
95.3k
    YYDEBUG(58, *YYCURSOR);
2446
95.3k
    yyaccept = 4;
2447
95.3k
    yych = *(YYMARKER = ++YYCURSOR);
2448
95.3k
    if (yych <= 'S') {
2449
26.5k
      if (yych == 'N') goto yy205;
2450
24.8k
      if (yych <= 'R') goto yy48;
2451
1.22k
      goto yy206;
2452
68.7k
    } else {
2453
68.7k
      if (yych <= 'n') {
2454
43.0k
        if (yych <= 'm') goto yy48;
2455
22.2k
        goto yy205;
2456
43.0k
      } else {
2457
25.7k
        if (yych == 's') goto yy206;
2458
7.25k
        goto yy48;
2459
25.7k
      }
2460
68.7k
    }
2461
150k
yy59:
2462
150k
    YYDEBUG(59, *YYCURSOR);
2463
150k
    yyaccept = 4;
2464
150k
    yych = *(YYMARKER = ++YYCURSOR);
2465
150k
    if (yych == 'A') goto yy207;
2466
149k
    if (yych == 'a') goto yy207;
2467
28.9k
    goto yy48;
2468
28.9k
yy60:
2469
28.6k
    YYDEBUG(60, *YYCURSOR);
2470
28.6k
    yyaccept = 4;
2471
28.6k
    yych = *(YYMARKER = ++YYCURSOR);
2472
28.6k
    if (yych == 'H') goto yy208;
2473
27.2k
    if (yych == 'h') goto yy208;
2474
22.8k
    goto yy48;
2475
40.2k
yy61:
2476
40.2k
    YYDEBUG(61, *YYCURSOR);
2477
40.2k
    yyaccept = 4;
2478
40.2k
    yych = *(YYMARKER = ++YYCURSOR);
2479
40.2k
    if (yych == 'O') goto yy209;
2480
38.9k
    if (yych == 'o') goto yy209;
2481
33.7k
    goto yy48;
2482
150k
yy62:
2483
150k
    YYDEBUG(62, *YYCURSOR);
2484
150k
    yyaccept = 4;
2485
150k
    yych = *(YYMARKER = ++YYCURSOR);
2486
150k
    if (yych == 'I') goto yy210;
2487
148k
    if (yych == 'i') goto yy210;
2488
53.9k
    goto yy48;
2489
340k
yy63:
2490
340k
    YYDEBUG(63, *YYCURSOR);
2491
340k
    ++YYCURSOR;
2492
340k
    goto yy21;
2493
184k
yy64:
2494
184k
    YYDEBUG(64, *YYCURSOR);
2495
184k
    yych = *++YYCURSOR;
2496
184k
    if (yych <= '_') {
2497
140k
      if (yych <= '@') goto yy65;
2498
95.5k
      if (yych <= 'Z') goto yy211;
2499
69.7k
      if (yych >= '_') goto yy211;
2500
69.7k
    } else {
2501
43.7k
      if (yych <= '`') goto yy65;
2502
41.9k
      if (yych <= 'z') goto yy211;
2503
14.1k
      if (yych >= 0x80) goto yy211;
2504
14.1k
    }
2505
121k
yy65:
2506
121k
    YYDEBUG(65, *YYCURSOR);
2507
121k
    yyleng = YYCURSOR - SCNG(yy_text);
2508
121k
#line 2397 "Zend/zend_language_scanner.l"
2509
121k
    {
2510
121k
  RETURN_TOKEN(T_NS_SEPARATOR);
2511
121k
}
2512
0
#line 2513 "Zend/zend_language_scanner.c"
2513
88.2k
yy66:
2514
88.2k
    YYDEBUG(66, *YYCURSOR);
2515
88.2k
    yych = *++YYCURSOR;
2516
88.2k
    if (yych == '=') goto yy214;
2517
87.2k
    goto yy9;
2518
162k
yy67:
2519
162k
    YYDEBUG(67, *YYCURSOR);
2520
162k
    yyaccept = 4;
2521
162k
    yych = *(YYMARKER = ++YYCURSOR);
2522
162k
    if (yych == '_') goto yy216;
2523
47.4k
    goto yy48;
2524
63.7k
yy68:
2525
63.7k
    YYDEBUG(68, *YYCURSOR);
2526
63.7k
    ++YYCURSOR;
2527
63.7k
    YYDEBUG(69, *YYCURSOR);
2528
63.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2529
63.7k
#line 2772 "Zend/zend_language_scanner.l"
2530
63.7k
    {
2531
63.7k
  BEGIN(ST_BACKQUOTE);
2532
63.7k
  RETURN_TOKEN('`');
2533
63.7k
}
2534
0
#line 2535 "Zend/zend_language_scanner.c"
2535
1.01M
yy70:
2536
1.01M
    YYDEBUG(70, *YYCURSOR);
2537
1.01M
    ++YYCURSOR;
2538
1.01M
    YYDEBUG(71, *YYCURSOR);
2539
1.01M
    yyleng = YYCURSOR - SCNG(yy_text);
2540
1.01M
#line 1920 "Zend/zend_language_scanner.l"
2541
1.01M
    {
2542
1.01M
  yy_push_state(ST_IN_SCRIPTING);
2543
1.01M
  enter_nesting('{');
2544
1.01M
  RETURN_TOKEN('{');
2545
1.01M
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
105k
yy72:
2548
105k
    YYDEBUG(72, *YYCURSOR);
2549
105k
    yych = *++YYCURSOR;
2550
105k
    if (yych <= '>') {
2551
52.5k
      if (yych <= '<') goto yy9;
2552
2.96k
      if (yych <= '=') goto yy217;
2553
738
      goto yy219;
2554
53.1k
    } else {
2555
53.1k
      if (yych == '|') goto yy221;
2556
41.2k
      goto yy9;
2557
53.1k
    }
2558
443k
yy73:
2559
443k
    YYDEBUG(73, *YYCURSOR);
2560
443k
    ++YYCURSOR;
2561
443k
    YYDEBUG(74, *YYCURSOR);
2562
443k
    yyleng = YYCURSOR - SCNG(yy_text);
2563
443k
#line 1933 "Zend/zend_language_scanner.l"
2564
443k
    {
2565
443k
  RESET_DOC_COMMENT();
2566
443k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2567
412k
    yy_pop_state();
2568
412k
  }
2569
443k
  RETURN_EXIT_NESTING_TOKEN('}');
2570
443k
}
2571
0
#line 2572 "Zend/zend_language_scanner.c"
2572
7.57k
yy75:
2573
7.57k
    YYDEBUG(75, *YYCURSOR);
2574
7.57k
    yych = *++YYCURSOR;
2575
7.57k
    if (yych == '=') goto yy223;
2576
10.8k
yy76:
2577
10.8k
    YYDEBUG(76, *YYCURSOR);
2578
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2579
10.8k
#line 1792 "Zend/zend_language_scanner.l"
2580
10.8k
    {
2581
10.8k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2582
10.8k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
13.0k
yy77:
2585
13.0k
    YYDEBUG(77, *YYCURSOR);
2586
13.0k
    ++YYCURSOR;
2587
13.0k
    YYDEBUG(78, *YYCURSOR);
2588
13.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2589
13.0k
#line 1409 "Zend/zend_language_scanner.l"
2590
13.0k
    {
2591
13.0k
  enter_nesting('[');
2592
13.0k
  RETURN_TOKEN(T_ATTRIBUTE);
2593
13.0k
}
2594
0
#line 2595 "Zend/zend_language_scanner.c"
2595
6.06M
yy79:
2596
6.06M
    YYDEBUG(79, *YYCURSOR);
2597
6.06M
    ++YYCURSOR;
2598
6.06M
    YYFILL(1);
2599
6.06M
    yych = *YYCURSOR;
2600
6.06M
    YYDEBUG(80, *YYCURSOR);
2601
6.06M
    if (yych <= '^') {
2602
1.65M
      if (yych <= '9') {
2603
1.18M
        if (yych >= '0') goto yy79;
2604
1.18M
      } else {
2605
474k
        if (yych <= '@') goto yy81;
2606
299k
        if (yych <= 'Z') goto yy79;
2607
299k
      }
2608
4.40M
    } else {
2609
4.40M
      if (yych <= '`') {
2610
13.4k
        if (yych <= '_') goto yy79;
2611
4.39M
      } else {
2612
4.39M
        if (yych <= 'z') goto yy79;
2613
1.39M
        if (yych >= 0x80) goto yy79;
2614
1.39M
      }
2615
4.40M
    }
2616
1.31M
yy81:
2617
1.31M
    YYDEBUG(81, *YYCURSOR);
2618
1.31M
    yyleng = YYCURSOR - SCNG(yy_text);
2619
1.31M
#line 2363 "Zend/zend_language_scanner.l"
2620
1.31M
    {
2621
1.31M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2622
1.31M
}
2623
0
#line 2624 "Zend/zend_language_scanner.c"
2624
4.34k
yy82:
2625
4.34k
    YYDEBUG(82, *YYCURSOR);
2626
4.34k
    ++YYCURSOR;
2627
4.34k
    YYDEBUG(83, *YYCURSOR);
2628
4.34k
    yyleng = YYCURSOR - SCNG(yy_text);
2629
4.34k
#line 1836 "Zend/zend_language_scanner.l"
2630
4.34k
    {
2631
4.34k
  RETURN_TOKEN(T_MOD_EQUAL);
2632
4.34k
}
2633
0
#line 2634 "Zend/zend_language_scanner.c"
2634
278k
yy84:
2635
278k
    YYDEBUG(84, *YYCURSOR);
2636
278k
    ++YYCURSOR;
2637
278k
    YYFILL(3);
2638
278k
    yych = *YYCURSOR;
2639
358k
yy85:
2640
358k
    YYDEBUG(85, *YYCURSOR);
2641
358k
    if (yych <= ' ') {
2642
92.3k
      if (yych <= '\f') {
2643
55.5k
        if (yych <= 0x08) goto yy86;
2644
51.2k
        if (yych <= '\n') goto yy84;
2645
51.2k
      } else {
2646
36.7k
        if (yych <= '\r') goto yy84;
2647
22.7k
        if (yych >= ' ') goto yy84;
2648
22.7k
      }
2649
265k
    } else {
2650
265k
      if (yych <= '$') {
2651
235k
        if (yych <= '"') goto yy86;
2652
234k
        if (yych <= '#') goto yy87;
2653
23.8k
        goto yy88;
2654
234k
      } else {
2655
30.2k
        if (yych <= '-') goto yy86;
2656
28.6k
        if (yych <= '.') goto yy92;
2657
24.5k
        if (yych <= '/') goto yy93;
2658
24.5k
      }
2659
265k
    }
2660
812k
yy86:
2661
812k
    YYDEBUG(86, *YYCURSOR);
2662
812k
    YYCURSOR = YYMARKER;
2663
812k
    if (yyaccept <= 48) {
2664
620k
      if (yyaccept <= 24) {
2665
608k
        if (yyaccept <= 12) {
2666
599k
          if (yyaccept <= 6) {
2667
390k
            if (yyaccept <= 3) {
2668
334k
              if (yyaccept <= 1) {
2669
293k
                if (yyaccept == 0) {
2670
46.6k
                  goto yy17;
2671
247k
                } else {
2672
247k
                  goto yy21;
2673
247k
                }
2674
293k
              } else {
2675
40.9k
                if (yyaccept == 2) {
2676
23.7k
                  goto yy9;
2677
23.7k
                } else {
2678
17.1k
                  goto yy31;
2679
17.1k
                }
2680
40.9k
              }
2681
334k
            } else {
2682
55.6k
              if (yyaccept <= 5) {
2683
52.1k
                if (yyaccept == 4) {
2684
48.6k
                  goto yy40;
2685
48.6k
                } else {
2686
3.47k
                  goto yy125;
2687
3.47k
                }
2688
52.1k
              } else {
2689
3.54k
                goto yy129;
2690
3.54k
              }
2691
55.6k
            }
2692
390k
          } else {
2693
209k
            if (yyaccept <= 9) {
2694
208k
              if (yyaccept <= 8) {
2695
208k
                if (yyaccept == 7) {
2696
208k
                  goto yy142;
2697
208k
                } else {
2698
227
                  goto yy163;
2699
227
                }
2700
208k
              } else {
2701
204
                goto yy173;
2702
204
              }
2703
208k
            } else {
2704
671
              if (yyaccept <= 11) {
2705
453
                if (yyaccept == 10) {
2706
200
                  goto yy182;
2707
253
                } else {
2708
253
                  goto yy188;
2709
253
                }
2710
453
              } else {
2711
218
                goto yy197;
2712
218
              }
2713
671
            }
2714
209k
          }
2715
599k
        } else {
2716
8.67k
          if (yyaccept <= 18) {
2717
7.01k
            if (yyaccept <= 15) {
2718
4.40k
              if (yyaccept <= 14) {
2719
4.10k
                if (yyaccept == 13) {
2720
3.65k
                  goto yy213;
2721
3.65k
                } else {
2722
449
                  goto yy251;
2723
449
                }
2724
4.10k
              } else {
2725
301
                goto yy257;
2726
301
              }
2727
4.40k
            } else {
2728
2.61k
              if (yyaccept <= 17) {
2729
964
                if (yyaccept == 16) {
2730
731
                  goto yy260;
2731
731
                } else {
2732
233
                  goto yy279;
2733
233
                }
2734
1.64k
              } else {
2735
1.64k
                goto yy283;
2736
1.64k
              }
2737
2.61k
            }
2738
7.01k
          } else {
2739
1.66k
            if (yyaccept <= 21) {
2740
815
              if (yyaccept <= 20) {
2741
601
                if (yyaccept == 19) {
2742
385
                  goto yy295;
2743
385
                } else {
2744
216
                  goto yy306;
2745
216
                }
2746
601
              } else {
2747
214
                goto yy319;
2748
214
              }
2749
850
            } else {
2750
850
              if (yyaccept <= 23) {
2751
651
                if (yyaccept == 22) {
2752
317
                  goto yy331;
2753
334
                } else {
2754
334
                  goto yy334;
2755
334
                }
2756
651
              } else {
2757
199
                goto yy336;
2758
199
              }
2759
850
            }
2760
1.66k
          }
2761
8.67k
        }
2762
608k
      } else {
2763
11.7k
        if (yyaccept <= 36) {
2764
9.17k
          if (yyaccept <= 30) {
2765
7.76k
            if (yyaccept <= 27) {
2766
7.13k
              if (yyaccept <= 26) {
2767
6.93k
                if (yyaccept == 25) {
2768
227
                  goto yy339;
2769
6.70k
                } else {
2770
6.70k
                  goto yy89;
2771
6.70k
                }
2772
6.93k
              } else {
2773
203
                goto yy379;
2774
203
              }
2775
7.13k
            } else {
2776
629
              if (yyaccept <= 29) {
2777
398
                if (yyaccept == 28) {
2778
200
                  goto yy388;
2779
200
                } else {
2780
198
                  goto yy390;
2781
198
                }
2782
398
              } else {
2783
231
                goto yy399;
2784
231
              }
2785
629
            }
2786
7.76k
          } else {
2787
1.40k
            if (yyaccept <= 33) {
2788
788
              if (yyaccept <= 32) {
2789
442
                if (yyaccept == 31) {
2790
231
                  goto yy401;
2791
231
                } else {
2792
211
                  goto yy408;
2793
211
                }
2794
442
              } else {
2795
346
                goto yy415;
2796
346
              }
2797
788
            } else {
2798
616
              if (yyaccept <= 35) {
2799
413
                if (yyaccept == 34) {
2800
204
                  goto yy471;
2801
209
                } else {
2802
209
                  goto yy473;
2803
209
                }
2804
413
              } else {
2805
203
                goto yy476;
2806
203
              }
2807
616
            }
2808
1.40k
          }
2809
9.17k
        } else {
2810
2.57k
          if (yyaccept <= 42) {
2811
1.31k
            if (yyaccept <= 39) {
2812
678
              if (yyaccept <= 38) {
2813
443
                if (yyaccept == 37) {
2814
206
                  goto yy478;
2815
237
                } else {
2816
237
                  goto yy480;
2817
237
                }
2818
443
              } else {
2819
235
                goto yy482;
2820
235
              }
2821
678
            } else {
2822
633
              if (yyaccept <= 41) {
2823
436
                if (yyaccept == 40) {
2824
232
                  goto yy488;
2825
232
                } else {
2826
204
                  goto yy492;
2827
204
                }
2828
436
              } else {
2829
197
                goto yy501;
2830
197
              }
2831
633
            }
2832
1.31k
          } else {
2833
1.26k
            if (yyaccept <= 45) {
2834
611
              if (yyaccept <= 44) {
2835
414
                if (yyaccept == 43) {
2836
201
                  goto yy511;
2837
213
                } else {
2838
213
                  goto yy513;
2839
213
                }
2840
414
              } else {
2841
197
                goto yy516;
2842
197
              }
2843
649
            } else {
2844
649
              if (yyaccept <= 47) {
2845
454
                if (yyaccept == 46) {
2846
208
                  goto yy526;
2847
246
                } else {
2848
246
                  goto yy528;
2849
246
                }
2850
454
              } else {
2851
195
                goto yy530;
2852
195
              }
2853
649
            }
2854
1.26k
          }
2855
2.57k
        }
2856
11.7k
      }
2857
620k
    } else {
2858
192k
      if (yyaccept <= 72) {
2859
174k
        if (yyaccept <= 60) {
2860
170k
          if (yyaccept <= 54) {
2861
168k
            if (yyaccept <= 51) {
2862
56.5k
              if (yyaccept <= 50) {
2863
56.3k
                if (yyaccept == 49) {
2864
196
                  goto yy532;
2865
56.1k
                } else {
2866
56.1k
                  goto yy534;
2867
56.1k
                }
2868
56.3k
              } else {
2869
200
                goto yy576;
2870
200
              }
2871
112k
            } else {
2872
112k
              if (yyaccept <= 53) {
2873
111k
                if (yyaccept == 52) {
2874
200
                  goto yy579;
2875
111k
                } else {
2876
111k
                  goto yy583;
2877
111k
                }
2878
111k
              } else {
2879
223
                goto yy597;
2880
223
              }
2881
112k
            }
2882
168k
          } else {
2883
2.31k
            if (yyaccept <= 57) {
2884
1.66k
              if (yyaccept <= 56) {
2885
1.39k
                if (yyaccept == 55) {
2886
1.19k
                  goto yy607;
2887
1.19k
                } else {
2888
202
                  goto yy611;
2889
202
                }
2890
1.39k
              } else {
2891
273
                goto yy613;
2892
273
              }
2893
1.66k
            } else {
2894
643
              if (yyaccept <= 59) {
2895
414
                if (yyaccept == 58) {
2896
215
                  goto yy615;
2897
215
                } else {
2898
199
                  goto yy650;
2899
199
                }
2900
414
              } else {
2901
229
                goto yy652;
2902
229
              }
2903
643
            }
2904
2.31k
          }
2905
170k
        } else {
2906
3.48k
          if (yyaccept <= 66) {
2907
2.28k
            if (yyaccept <= 63) {
2908
697
              if (yyaccept <= 62) {
2909
500
                if (yyaccept == 61) {
2910
197
                  goto yy667;
2911
303
                } else {
2912
303
                  goto yy669;
2913
303
                }
2914
500
              } else {
2915
197
                goto yy671;
2916
197
              }
2917
1.58k
            } else {
2918
1.58k
              if (yyaccept <= 65) {
2919
1.38k
                if (yyaccept == 64) {
2920
200
                  goto yy675;
2921
1.18k
                } else {
2922
1.18k
                  goto yy681;
2923
1.18k
                }
2924
1.38k
              } else {
2925
204
                goto yy686;
2926
204
              }
2927
1.58k
            }
2928
2.28k
          } else {
2929
1.20k
            if (yyaccept <= 69) {
2930
599
              if (yyaccept <= 68) {
2931
404
                if (yyaccept == 67) {
2932
203
                  goto yy696;
2933
203
                } else {
2934
201
                  goto yy714;
2935
201
                }
2936
404
              } else {
2937
195
                goto yy716;
2938
195
              }
2939
603
            } else {
2940
603
              if (yyaccept <= 71) {
2941
403
                if (yyaccept == 70) {
2942
201
                  goto yy718;
2943
202
                } else {
2944
202
                  goto yy723;
2945
202
                }
2946
403
              } else {
2947
200
                goto yy731;
2948
200
              }
2949
603
            }
2950
1.20k
          }
2951
3.48k
        }
2952
174k
      } else {
2953
18.4k
        if (yyaccept <= 84) {
2954
3.99k
          if (yyaccept <= 78) {
2955
1.38k
            if (yyaccept <= 75) {
2956
756
              if (yyaccept <= 74) {
2957
555
                if (yyaccept == 73) {
2958
353
                  goto yy742;
2959
353
                } else {
2960
202
                  goto yy752;
2961
202
                }
2962
555
              } else {
2963
201
                goto yy756;
2964
201
              }
2965
756
            } else {
2966
624
              if (yyaccept <= 77) {
2967
423
                if (yyaccept == 76) {
2968
229
                  goto yy768;
2969
229
                } else {
2970
194
                  goto yy781;
2971
194
                }
2972
423
              } else {
2973
201
                goto yy783;
2974
201
              }
2975
624
            }
2976
2.61k
          } else {
2977
2.61k
            if (yyaccept <= 81) {
2978
2.01k
              if (yyaccept <= 80) {
2979
1.80k
                if (yyaccept == 79) {
2980
644
                  goto yy785;
2981
1.16k
                } else {
2982
1.16k
                  goto yy788;
2983
1.16k
                }
2984
1.80k
              } else {
2985
211
                goto yy796;
2986
211
              }
2987
2.01k
            } else {
2988
600
              if (yyaccept <= 83) {
2989
400
                if (yyaccept == 82) {
2990
199
                  goto yy803;
2991
201
                } else {
2992
201
                  goto yy807;
2993
201
                }
2994
400
              } else {
2995
200
                goto yy809;
2996
200
              }
2997
600
            }
2998
2.61k
          }
2999
14.4k
        } else {
3000
14.4k
          if (yyaccept <= 90) {
3001
1.26k
            if (yyaccept <= 87) {
3002
598
              if (yyaccept <= 86) {
3003
394
                if (yyaccept == 85) {
3004
194
                  goto yy820;
3005
200
                } else {
3006
200
                  goto yy823;
3007
200
                }
3008
394
              } else {
3009
204
                goto yy838;
3010
204
              }
3011
666
            } else {
3012
666
              if (yyaccept <= 89) {
3013
443
                if (yyaccept == 88) {
3014
244
                  goto yy853;
3015
244
                } else {
3016
199
                  goto yy882;
3017
199
                }
3018
443
              } else {
3019
223
                goto yy887;
3020
223
              }
3021
666
            }
3022
13.1k
          } else {
3023
13.1k
            if (yyaccept <= 93) {
3024
11.3k
              if (yyaccept <= 92) {
3025
11.1k
                if (yyaccept == 91) {
3026
10.9k
                  goto yy860;
3027
10.9k
                } else {
3028
203
                  goto yy895;
3029
203
                }
3030
11.1k
              } else {
3031
196
                goto yy899;
3032
196
              }
3033
11.3k
            } else {
3034
1.79k
              if (yyaccept <= 95) {
3035
1.59k
                if (yyaccept == 94) {
3036
1.39k
                  goto yy870;
3037
1.39k
                } else {
3038
195
                  goto yy915;
3039
195
                }
3040
1.59k
              } else {
3041
204
                goto yy935;
3042
204
              }
3043
1.79k
            }
3044
13.1k
          }
3045
14.4k
        }
3046
18.4k
      }
3047
192k
    }
3048
210k
yy87:
3049
210k
    YYDEBUG(87, *YYCURSOR);
3050
210k
    ++YYCURSOR;
3051
210k
    YYFILL(1);
3052
210k
    yych = *YYCURSOR;
3053
210k
    if (yych <= '\f') {
3054
84.1k
      if (yych <= 0x00) goto yy86;
3055
83.5k
      if (yych == '\n') goto yy227;
3056
1.43k
      goto yy225;
3057
126k
    } else {
3058
126k
      if (yych <= '\r') goto yy227;
3059
22.5k
      if (yych == '[') goto yy86;
3060
22.3k
      goto yy225;
3061
22.5k
    }
3062
24.5k
yy88:
3063
24.5k
    YYDEBUG(88, *YYCURSOR);
3064
24.5k
    ++YYCURSOR;
3065
32.7k
yy89:
3066
32.7k
    YYDEBUG(89, *YYCURSOR);
3067
32.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3068
32.7k
#line 1896 "Zend/zend_language_scanner.l"
3069
32.7k
    {
3070
32.7k
  yyless(1);
3071
32.7k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3072
32.7k
}
3073
0
#line 3074 "Zend/zend_language_scanner.c"
3074
12.0k
yy90:
3075
12.0k
    YYDEBUG(90, *YYCURSOR);
3076
12.0k
    ++YYCURSOR;
3077
12.0k
    YYDEBUG(91, *YYCURSOR);
3078
12.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3079
12.0k
#line 1872 "Zend/zend_language_scanner.l"
3080
12.0k
    {
3081
12.0k
  RETURN_TOKEN(T_BOOLEAN_AND);
3082
12.0k
}
3083
0
#line 3084 "Zend/zend_language_scanner.c"
3084
4.13k
yy92:
3085
4.13k
    YYDEBUG(92, *YYCURSOR);
3086
4.13k
    yych = *++YYCURSOR;
3087
4.13k
    if (yych == '.') goto yy229;
3088
2.72k
    goto yy86;
3089
11.6k
yy93:
3090
11.6k
    YYDEBUG(93, *YYCURSOR);
3091
11.6k
    ++YYCURSOR;
3092
11.6k
    YYFILL(1);
3093
11.6k
    yych = *YYCURSOR;
3094
11.6k
    if (yych == '*') goto yy230;
3095
3.28k
    if (yych == '/') goto yy225;
3096
1.28k
    goto yy86;
3097
27.1k
yy94:
3098
27.1k
    YYDEBUG(94, *YYCURSOR);
3099
27.1k
    ++YYCURSOR;
3100
27.1k
    YYDEBUG(95, *YYCURSOR);
3101
27.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3102
27.1k
#line 1848 "Zend/zend_language_scanner.l"
3103
27.1k
    {
3104
27.1k
  RETURN_TOKEN(T_AND_EQUAL);
3105
27.1k
}
3106
0
#line 3107 "Zend/zend_language_scanner.c"
3107
218k
yy96:
3108
218k
    YYDEBUG(96, *YYCURSOR);
3109
218k
    ++YYCURSOR;
3110
218k
    YYFILL(7);
3111
218k
    yych = *YYCURSOR;
3112
476k
yy97:
3113
476k
    YYDEBUG(97, *YYCURSOR);
3114
476k
    if (yybm[0+yych] & 1) {
3115
218k
      goto yy96;
3116
218k
    }
3117
258k
    switch (yych) {
3118
7.01k
    case 'A':
3119
39.3k
    case 'a': goto yy98;
3120
4.23k
    case 'B':
3121
12.8k
    case 'b': goto yy99;
3122
1.27k
    case 'D':
3123
7.38k
    case 'd': goto yy100;
3124
2.44k
    case 'F':
3125
28.7k
    case 'f': goto yy101;
3126
3.46k
    case 'I':
3127
38.2k
    case 'i': goto yy102;
3128
4.32k
    case 'O':
3129
11.0k
    case 'o': goto yy103;
3130
1.60k
    case 'R':
3131
11.6k
    case 'r': goto yy104;
3132
2.95k
    case 'S':
3133
34.9k
    case 's': goto yy105;
3134
1.43k
    case 'U':
3135
7.66k
    case 'u': goto yy106;
3136
1.06k
    case 'V':
3137
4.08k
    case 'v': goto yy107;
3138
62.1k
    default:  goto yy86;
3139
258k
    }
3140
39.3k
yy98:
3141
39.3k
    YYDEBUG(98, *YYCURSOR);
3142
39.3k
    yych = *++YYCURSOR;
3143
39.3k
    if (yych == 'R') goto yy232;
3144
39.0k
    if (yych == 'r') goto yy232;
3145
28.6k
    goto yy86;
3146
28.6k
yy99:
3147
12.8k
    YYDEBUG(99, *YYCURSOR);
3148
12.8k
    yych = *++YYCURSOR;
3149
12.8k
    if (yych <= 'O') {
3150
5.46k
      if (yych == 'I') goto yy233;
3151
4.86k
      if (yych <= 'N') goto yy86;
3152
647
      goto yy234;
3153
7.41k
    } else {
3154
7.41k
      if (yych <= 'i') {
3155
3.78k
        if (yych <= 'h') goto yy86;
3156
2.11k
        goto yy233;
3157
3.78k
      } else {
3158
3.63k
        if (yych == 'o') goto yy234;
3159
959
        goto yy86;
3160
3.63k
      }
3161
7.41k
    }
3162
7.38k
yy100:
3163
7.38k
    YYDEBUG(100, *YYCURSOR);
3164
7.38k
    yych = *++YYCURSOR;
3165
7.38k
    if (yych == 'O') goto yy235;
3166
6.87k
    if (yych == 'o') goto yy235;
3167
4.58k
    goto yy86;
3168
28.7k
yy101:
3169
28.7k
    YYDEBUG(101, *YYCURSOR);
3170
28.7k
    yych = *++YYCURSOR;
3171
28.7k
    if (yych == 'L') goto yy236;
3172
28.4k
    if (yych == 'l') goto yy236;
3173
24.7k
    goto yy86;
3174
38.2k
yy102:
3175
38.2k
    YYDEBUG(102, *YYCURSOR);
3176
38.2k
    yych = *++YYCURSOR;
3177
38.2k
    if (yych == 'N') goto yy237;
3178
36.8k
    if (yych == 'n') goto yy237;
3179
25.9k
    goto yy86;
3180
25.9k
yy103:
3181
11.0k
    YYDEBUG(103, *YYCURSOR);
3182
11.0k
    yych = *++YYCURSOR;
3183
11.0k
    if (yych == 'B') goto yy238;
3184
10.5k
    if (yych == 'b') goto yy238;
3185
4.66k
    goto yy86;
3186
11.6k
yy104:
3187
11.6k
    YYDEBUG(104, *YYCURSOR);
3188
11.6k
    yych = *++YYCURSOR;
3189
11.6k
    if (yych == 'E') goto yy239;
3190
11.2k
    if (yych == 'e') goto yy239;
3191
7.57k
    goto yy86;
3192
34.9k
yy105:
3193
34.9k
    YYDEBUG(105, *YYCURSOR);
3194
34.9k
    yych = *++YYCURSOR;
3195
34.9k
    if (yych == 'T') goto yy240;
3196
34.5k
    if (yych == 't') goto yy240;
3197
20.1k
    goto yy86;
3198
20.1k
yy106:
3199
7.66k
    YYDEBUG(106, *YYCURSOR);
3200
7.66k
    yych = *++YYCURSOR;
3201
7.66k
    if (yych == 'N') goto yy241;
3202
6.99k
    if (yych == 'n') goto yy241;
3203
2.10k
    goto yy86;
3204
4.08k
yy107:
3205
4.08k
    YYDEBUG(107, *YYCURSOR);
3206
4.08k
    yych = *++YYCURSOR;
3207
4.08k
    if (yych == 'O') goto yy242;
3208
3.79k
    if (yych == 'o') goto yy242;
3209
2.13k
    goto yy86;
3210
21.6k
yy108:
3211
21.6k
    YYDEBUG(108, *YYCURSOR);
3212
21.6k
    yych = *++YYCURSOR;
3213
21.6k
    if (yych == '=') goto yy243;
3214
20.9k
    YYDEBUG(109, *YYCURSOR);
3215
20.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3216
20.9k
#line 1820 "Zend/zend_language_scanner.l"
3217
20.9k
    {
3218
20.9k
  RETURN_TOKEN(T_POW);
3219
20.9k
}
3220
0
#line 3221 "Zend/zend_language_scanner.c"
3221
4.92k
yy110:
3222
4.92k
    YYDEBUG(110, *YYCURSOR);
3223
4.92k
    ++YYCURSOR;
3224
4.92k
    YYDEBUG(111, *YYCURSOR);
3225
4.92k
    yyleng = YYCURSOR - SCNG(yy_text);
3226
4.92k
#line 1816 "Zend/zend_language_scanner.l"
3227
4.92k
    {
3228
4.92k
  RETURN_TOKEN(T_MUL_EQUAL);
3229
4.92k
}
3230
0
#line 3231 "Zend/zend_language_scanner.c"
3231
24.5k
yy112:
3232
24.5k
    YYDEBUG(112, *YYCURSOR);
3233
24.5k
    ++YYCURSOR;
3234
24.5k
    YYDEBUG(113, *YYCURSOR);
3235
24.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3236
24.5k
#line 1772 "Zend/zend_language_scanner.l"
3237
24.5k
    {
3238
24.5k
  RETURN_TOKEN(T_INC);
3239
24.5k
}
3240
0
#line 3241 "Zend/zend_language_scanner.c"
3241
5.21k
yy114:
3242
5.21k
    YYDEBUG(114, *YYCURSOR);
3243
5.21k
    ++YYCURSOR;
3244
5.21k
    YYDEBUG(115, *YYCURSOR);
3245
5.21k
    yyleng = YYCURSOR - SCNG(yy_text);
3246
5.21k
#line 1808 "Zend/zend_language_scanner.l"
3247
5.21k
    {
3248
5.21k
  RETURN_TOKEN(T_PLUS_EQUAL);
3249
5.21k
}
3250
0
#line 3251 "Zend/zend_language_scanner.c"
3251
15.4k
yy116:
3252
15.4k
    YYDEBUG(116, *YYCURSOR);
3253
15.4k
    ++YYCURSOR;
3254
15.4k
    YYDEBUG(117, *YYCURSOR);
3255
15.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3256
15.4k
#line 1776 "Zend/zend_language_scanner.l"
3257
15.4k
    {
3258
15.4k
  RETURN_TOKEN(T_DEC);
3259
15.4k
}
3260
0
#line 3261 "Zend/zend_language_scanner.c"
3261
2.95k
yy118:
3262
2.95k
    YYDEBUG(118, *YYCURSOR);
3263
2.95k
    ++YYCURSOR;
3264
2.95k
    YYDEBUG(119, *YYCURSOR);
3265
2.95k
    yyleng = YYCURSOR - SCNG(yy_text);
3266
2.95k
#line 1812 "Zend/zend_language_scanner.l"
3267
2.95k
    {
3268
2.95k
  RETURN_TOKEN(T_MINUS_EQUAL);
3269
2.95k
}
3270
0
#line 3271 "Zend/zend_language_scanner.c"
3271
134k
yy120:
3272
134k
    YYDEBUG(120, *YYCURSOR);
3273
134k
    ++YYCURSOR;
3274
134k
    YYDEBUG(121, *YYCURSOR);
3275
134k
    yyleng = YYCURSOR - SCNG(yy_text);
3276
134k
#line 1573 "Zend/zend_language_scanner.l"
3277
134k
    {
3278
134k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3279
134k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3280
134k
}
3281
0
#line 3282 "Zend/zend_language_scanner.c"
3282
41.7k
yy122:
3283
41.7k
    YYDEBUG(122, *YYCURSOR);
3284
41.7k
    yych = *++YYCURSOR;
3285
41.7k
    if (yych == '.') goto yy245;
3286
18.4k
    goto yy86;
3287
407k
yy123:
3288
407k
    YYDEBUG(123, *YYCURSOR);
3289
407k
    yyaccept = 5;
3290
407k
    YYMARKER = ++YYCURSOR;
3291
407k
    YYFILL(2);
3292
407k
    yych = *YYCURSOR;
3293
455k
yy124:
3294
455k
    YYDEBUG(124, *YYCURSOR);
3295
455k
    if (yych <= 'E') {
3296
433k
      if (yych <= '/') goto yy125;
3297
387k
      if (yych <= '9') goto yy123;
3298
25.3k
      if (yych >= 'E') goto yy135;
3299
25.3k
    } else {
3300
21.4k
      if (yych <= '_') {
3301
5.00k
        if (yych >= '_') goto yy247;
3302
16.4k
      } else {
3303
16.4k
        if (yych == 'e') goto yy135;
3304
16.4k
      }
3305
21.4k
    }
3306
121k
yy125:
3307
121k
    YYDEBUG(125, *YYCURSOR);
3308
121k
    yyleng = YYCURSOR - SCNG(yy_text);
3309
121k
#line 2179 "Zend/zend_language_scanner.l"
3310
121k
    {
3311
121k
  const char *end;
3312
121k
  size_t len = yyleng;
3313
121k
  char *dnum = yytext;
3314
121k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3315
3316
121k
  if (contains_underscores) {
3317
1.78k
    dnum = estrndup(dnum, len);
3318
1.78k
    strip_underscores(dnum, &len);
3319
1.78k
  }
3320
3321
121k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3322
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3323
121k
  ZEND_ASSERT(end == dnum + len);
3324
121k
  if (contains_underscores) {
3325
1.78k
    efree(dnum);
3326
1.78k
  }
3327
121k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3328
121k
}
3329
0
#line 3330 "Zend/zend_language_scanner.c"
3330
195k
yy126:
3331
195k
    YYDEBUG(126, *YYCURSOR);
3332
195k
    ++YYCURSOR;
3333
195k
    YYDEBUG(127, *YYCURSOR);
3334
195k
    yyleng = YYCURSOR - SCNG(yy_text);
3335
195k
#line 1832 "Zend/zend_language_scanner.l"
3336
195k
    {
3337
195k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3338
195k
}
3339
0
#line 3340 "Zend/zend_language_scanner.c"
3340
153k
yy128:
3341
153k
    YYDEBUG(128, *YYCURSOR);
3342
153k
    yyaccept = 6;
3343
153k
    yych = *(YYMARKER = ++YYCURSOR);
3344
153k
    if (yych == '*') goto yy248;
3345
153k
yy129:
3346
153k
    YYDEBUG(129, *YYCURSOR);
3347
153k
    yyleng = YYCURSOR - SCNG(yy_text);
3348
153k
#line 2430 "Zend/zend_language_scanner.l"
3349
153k
    {
3350
153k
  int doc_com;
3351
3352
153k
  if (yyleng > 2) {
3353
7.44k
    doc_com = 1;
3354
7.44k
    RESET_DOC_COMMENT();
3355
146k
  } else {
3356
146k
    doc_com = 0;
3357
146k
  }
3358
3359
10.6M
  while (YYCURSOR < YYLIMIT) {
3360
10.5M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3361
130k
      break;
3362
130k
    }
3363
10.5M
  }
3364
3365
153k
  if (YYCURSOR < YYLIMIT) {
3366
130k
    YYCURSOR++;
3367
130k
  } else {
3368
23.3k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
3369
23.3k
    if (PARSER_MODE()) {
3370
1.72k
      RETURN_TOKEN(T_ERROR);
3371
1.72k
    }
3372
23.3k
  }
3373
3374
151k
  yyleng = YYCURSOR - SCNG(yy_text);
3375
151k
  HANDLE_NEWLINES(yytext, yyleng);
3376
3377
151k
  if (doc_com) {
3378
7.32k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3379
7.32k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3380
7.32k
  }
3381
3382
144k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3383
144k
}
3384
0
#line 3385 "Zend/zend_language_scanner.c"
3385
109k
yy130:
3386
109k
    YYDEBUG(130, *YYCURSOR);
3387
109k
    ++YYCURSOR;
3388
109k
    goto yy13;
3389
3.60k
yy131:
3390
3.60k
    YYDEBUG(131, *YYCURSOR);
3391
3.60k
    ++YYCURSOR;
3392
3.60k
    YYDEBUG(132, *YYCURSOR);
3393
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
3394
3.60k
#line 1828 "Zend/zend_language_scanner.l"
3395
3.60k
    {
3396
3.60k
  RETURN_TOKEN(T_DIV_EQUAL);
3397
3.60k
}
3398
0
#line 3399 "Zend/zend_language_scanner.c"
3399
48.7k
yy133:
3400
48.7k
    YYDEBUG(133, *YYCURSOR);
3401
48.7k
    yyaccept = 5;
3402
48.7k
    yych = *(YYMARKER = ++YYCURSOR);
3403
48.7k
    if (yych == '_') goto yy125;
3404
48.1k
    goto yy124;
3405
48.1k
yy134:
3406
6.81k
    YYDEBUG(134, *YYCURSOR);
3407
6.81k
    ++YYCURSOR;
3408
6.81k
    YYFILL(1);
3409
6.81k
    yych = *YYCURSOR;
3410
6.81k
    if (yybm[0+yych] & 8) {
3411
5.02k
      goto yy249;
3412
5.02k
    }
3413
1.79k
    goto yy86;
3414
45.4k
yy135:
3415
45.4k
    YYDEBUG(135, *YYCURSOR);
3416
45.4k
    yych = *++YYCURSOR;
3417
45.4k
    if (yych <= ',') {
3418
2.84k
      if (yych == '+') goto yy252;
3419
1.54k
      goto yy86;
3420
42.5k
    } else {
3421
42.5k
      if (yych <= '-') goto yy252;
3422
29.4k
      if (yych <= '/') goto yy86;
3423
29.1k
      if (yych <= '9') goto yy253;
3424
6.92k
      goto yy86;
3425
29.1k
    }
3426
4.35k
yy136:
3427
4.35k
    YYDEBUG(136, *YYCURSOR);
3428
4.35k
    ++YYCURSOR;
3429
4.35k
    YYFILL(1);
3430
4.35k
    yych = *YYCURSOR;
3431
4.35k
    if (yybm[0+yych] & 16) {
3432
2.86k
      goto yy255;
3433
2.86k
    }
3434
1.49k
    goto yy86;
3435
11.7k
yy137:
3436
11.7k
    YYDEBUG(137, *YYCURSOR);
3437
11.7k
    ++YYCURSOR;
3438
11.7k
    YYFILL(1);
3439
11.7k
    yych = *YYCURSOR;
3440
11.7k
    if (yybm[0+yych] & 32) {
3441
10.5k
      goto yy258;
3442
10.5k
    }
3443
1.22k
    goto yy86;
3444
9.50k
yy138:
3445
9.50k
    YYDEBUG(138, *YYCURSOR);
3446
9.50k
    ++YYCURSOR;
3447
9.50k
    YYFILL(1);
3448
9.50k
    yych = *YYCURSOR;
3449
9.50k
    if (yybm[256+yych] & 64) {
3450
2.52k
      goto yy32;
3451
2.52k
    }
3452
6.97k
    goto yy86;
3453
122k
yy139:
3454
122k
    YYDEBUG(139, *YYCURSOR);
3455
122k
    ++YYCURSOR;
3456
122k
    YYDEBUG(140, *YYCURSOR);
3457
122k
    yyleng = YYCURSOR - SCNG(yy_text);
3458
122k
#line 1600 "Zend/zend_language_scanner.l"
3459
122k
    {
3460
122k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3461
122k
}
3462
0
#line 3463 "Zend/zend_language_scanner.c"
3463
3.28M
yy141:
3464
3.28M
    YYDEBUG(141, *YYCURSOR);
3465
3.28M
    yyaccept = 7;
3466
3.28M
    yych = *(YYMARKER = ++YYCURSOR);
3467
3.28M
    if (yych <= ';') goto yy142;
3468
3.20M
    if (yych <= '<') goto yy261;
3469
151k
    if (yych <= '=') goto yy263;
3470
437k
yy142:
3471
437k
    YYDEBUG(142, *YYCURSOR);
3472
437k
    yyleng = YYCURSOR - SCNG(yy_text);
3473
437k
#line 1888 "Zend/zend_language_scanner.l"
3474
437k
    {
3475
437k
  RETURN_TOKEN(T_SL);
3476
437k
}
3477
0
#line 3478 "Zend/zend_language_scanner.c"
3478
7.48k
yy143:
3479
7.48k
    YYDEBUG(143, *YYCURSOR);
3480
7.48k
    yych = *++YYCURSOR;
3481
7.48k
    if (yych == '>') goto yy265;
3482
5.72k
    YYDEBUG(144, *YYCURSOR);
3483
5.72k
    yyleng = YYCURSOR - SCNG(yy_text);
3484
5.72k
#line 1800 "Zend/zend_language_scanner.l"
3485
5.72k
    {
3486
5.72k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3487
5.72k
}
3488
0
#line 3489 "Zend/zend_language_scanner.c"
3489
6.01k
yy145:
3490
6.01k
    YYDEBUG(145, *YYCURSOR);
3491
6.01k
    ++YYCURSOR;
3492
6.01k
    goto yy76;
3493
44.4k
yy146:
3494
44.4k
    YYDEBUG(146, *YYCURSOR);
3495
44.4k
    yych = *++YYCURSOR;
3496
44.4k
    if (yych == '=') goto yy267;
3497
27.1k
    YYDEBUG(147, *YYCURSOR);
3498
27.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3499
27.1k
#line 1788 "Zend/zend_language_scanner.l"
3500
27.1k
    {
3501
27.1k
  RETURN_TOKEN(T_IS_EQUAL);
3502
27.1k
}
3503
0
#line 3504 "Zend/zend_language_scanner.c"
3504
63.6k
yy148:
3505
63.6k
    YYDEBUG(148, *YYCURSOR);
3506
63.6k
    ++YYCURSOR;
3507
63.6k
    YYDEBUG(149, *YYCURSOR);
3508
63.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3509
63.6k
#line 1756 "Zend/zend_language_scanner.l"
3510
63.6k
    {
3511
63.6k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3512
63.6k
}
3513
0
#line 3514 "Zend/zend_language_scanner.c"
3514
3.66k
yy150:
3515
3.66k
    YYDEBUG(150, *YYCURSOR);
3516
3.66k
    ++YYCURSOR;
3517
3.66k
    YYDEBUG(151, *YYCURSOR);
3518
3.66k
    yyleng = YYCURSOR - SCNG(yy_text);
3519
3.66k
#line 1804 "Zend/zend_language_scanner.l"
3520
3.66k
    {
3521
3.66k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3522
3.66k
}
3523
0
#line 3524 "Zend/zend_language_scanner.c"
3524
6.20k
yy152:
3525
6.20k
    YYDEBUG(152, *YYCURSOR);
3526
6.20k
    yych = *++YYCURSOR;
3527
6.20k
    if (yych == '=') goto yy269;
3528
4.86k
    YYDEBUG(153, *YYCURSOR);
3529
4.86k
    yyleng = YYCURSOR - SCNG(yy_text);
3530
4.86k
#line 1892 "Zend/zend_language_scanner.l"
3531
4.86k
    {
3532
4.86k
  RETURN_TOKEN(T_SR);
3533
4.86k
}
3534
0
#line 3535 "Zend/zend_language_scanner.c"
3535
61.9k
yy154:
3536
61.9k
    YYDEBUG(154, *YYCURSOR);
3537
61.9k
    yych = *++YYCURSOR;
3538
61.9k
    if (yych == '>') goto yy271;
3539
5.27k
    goto yy86;
3540
144k
yy155:
3541
144k
    YYDEBUG(155, *YYCURSOR);
3542
144k
    yych = *++YYCURSOR;
3543
144k
    if (yych == '\n') goto yy273;
3544
137k
    if (yych == '\r') goto yy274;
3545
144k
yy156:
3546
144k
    YYDEBUG(156, *YYCURSOR);
3547
144k
    yyleng = YYCURSOR - SCNG(yy_text);
3548
144k
#line 2472 "Zend/zend_language_scanner.l"
3549
144k
    {
3550
144k
  BEGIN(INITIAL);
3551
144k
  if (yytext[yyleng-1] != '>') {
3552
8.48k
    CG(increment_lineno) = 1;
3553
8.48k
  }
3554
144k
  if (PARSER_MODE()) {
3555
127k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3556
127k
  }
3557
16.6k
  RETURN_TOKEN(T_CLOSE_TAG);
3558
16.6k
}
3559
0
#line 3560 "Zend/zend_language_scanner.c"
3560
32.5k
yy157:
3561
32.5k
    YYDEBUG(157, *YYCURSOR);
3562
32.5k
    yych = *++YYCURSOR;
3563
32.5k
    if (yych == '=') goto yy275;
3564
24.2k
    YYDEBUG(158, *YYCURSOR);
3565
24.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3566
24.2k
#line 1608 "Zend/zend_language_scanner.l"
3567
24.2k
    {
3568
24.2k
  RETURN_TOKEN(T_COALESCE);
3569
24.2k
}
3570
0
#line 3571 "Zend/zend_language_scanner.c"
3571
11.4k
yy159:
3572
11.4k
    YYDEBUG(159, *YYCURSOR);
3573
11.4k
    yyaccept = 4;
3574
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
3575
11.4k
    if (yych == 'S') goto yy277;
3576
9.70k
    if (yych == 's') goto yy277;
3577
2.03k
    goto yy48;
3578
6.70k
yy160:
3579
6.70k
    YYDEBUG(160, *YYCURSOR);
3580
6.70k
    yyaccept = 4;
3581
6.70k
    yych = *(YYMARKER = ++YYCURSOR);
3582
6.70k
    if (yych == 'D') goto yy278;
3583
5.53k
    if (yych == 'd') goto yy278;
3584
2.71k
    goto yy48;
3585
37.1k
yy161:
3586
37.1k
    YYDEBUG(161, *YYCURSOR);
3587
37.1k
    yyaccept = 4;
3588
37.1k
    yych = *(YYMARKER = ++YYCURSOR);
3589
37.1k
    if (yych == 'R') goto yy280;
3590
36.4k
    if (yych == 'r') goto yy280;
3591
8.67k
    goto yy48;
3592
66.6k
yy162:
3593
66.6k
    YYDEBUG(162, *YYCURSOR);
3594
66.6k
    yyaccept = 8;
3595
66.6k
    yych = *(YYMARKER = ++YYCURSOR);
3596
66.6k
    if (yybm[256+yych] & 128) {
3597
35.7k
      goto yy47;
3598
35.7k
    }
3599
30.9k
    if (yych == '\\') goto yy164;
3600
30.8k
yy163:
3601
30.8k
    YYDEBUG(163, *YYCURSOR);
3602
30.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3603
30.8k
#line 1496 "Zend/zend_language_scanner.l"
3604
30.8k
    {
3605
30.8k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3606
30.8k
}
3607
0
#line 3608 "Zend/zend_language_scanner.c"
3608
68.6k
yy164:
3609
68.6k
    YYDEBUG(164, *YYCURSOR);
3610
68.6k
    ++YYCURSOR;
3611
68.6k
    YYFILL(1);
3612
68.6k
    yych = *YYCURSOR;
3613
68.6k
    if (yych <= '_') {
3614
50.3k
      if (yych <= '@') goto yy86;
3615
29.0k
      if (yych <= 'Z') goto yy281;
3616
12.8k
      if (yych <= '^') goto yy86;
3617
666
      goto yy281;
3618
18.3k
    } else {
3619
18.3k
      if (yych <= '`') goto yy86;
3620
17.7k
      if (yych <= 'z') goto yy281;
3621
8.38k
      if (yych <= 0x7F) goto yy86;
3622
5.16k
      goto yy281;
3623
8.38k
    }
3624
4.74k
yy165:
3625
4.74k
    YYDEBUG(165, *YYCURSOR);
3626
4.74k
    yych = *++YYCURSOR;
3627
4.74k
    if (yych == '<') goto yy284;
3628
965
    goto yy86;
3629
5.68k
yy166:
3630
5.68k
    YYDEBUG(166, *YYCURSOR);
3631
5.68k
    yyaccept = 4;
3632
5.68k
    yych = *(YYMARKER = ++YYCURSOR);
3633
5.68k
    if (yych == 'E') goto yy285;
3634
5.32k
    if (yych == 'e') goto yy285;
3635
1.43k
    goto yy48;
3636
100k
yy167:
3637
100k
    YYDEBUG(167, *YYCURSOR);
3638
100k
    yyaccept = 4;
3639
100k
    yych = *(YYMARKER = ++YYCURSOR);
3640
100k
    if (yych <= 'T') {
3641
5.65k
      if (yych <= 'L') {
3642
4.07k
        if (yych <= 'K') goto yy48;
3643
1.47k
        goto yy286;
3644
4.07k
      } else {
3645
1.57k
        if (yych <= 'R') goto yy48;
3646
1.28k
        if (yych <= 'S') goto yy287;
3647
838
        goto yy288;
3648
1.28k
      }
3649
94.5k
    } else {
3650
94.5k
      if (yych <= 'r') {
3651
19.6k
        if (yych == 'l') goto yy286;
3652
2.28k
        goto yy48;
3653
74.8k
      } else {
3654
74.8k
        if (yych <= 's') goto yy287;
3655
62.0k
        if (yych <= 't') goto yy288;
3656
515
        goto yy48;
3657
62.0k
      }
3658
94.5k
    }
3659
106k
yy168:
3660
106k
    YYDEBUG(168, *YYCURSOR);
3661
106k
    yyaccept = 4;
3662
106k
    yych = *(YYMARKER = ++YYCURSOR);
3663
106k
    if (yych <= 'O') {
3664
8.13k
      if (yych == 'A') goto yy289;
3665
5.77k
      if (yych <= 'N') goto yy48;
3666
1.35k
      goto yy290;
3667
98.1k
    } else {
3668
98.1k
      if (yych <= 'a') {
3669
89.5k
        if (yych <= '`') goto yy48;
3670
89.0k
        goto yy289;
3671
89.5k
      } else {
3672
8.61k
        if (yych == 'o') goto yy290;
3673
3.54k
        goto yy48;
3674
8.61k
      }
3675
98.1k
    }
3676
98.3k
yy169:
3677
98.3k
    YYDEBUG(169, *YYCURSOR);
3678
98.3k
    yyaccept = 4;
3679
98.3k
    yych = *(YYMARKER = ++YYCURSOR);
3680
98.3k
    if (yych == 'N') goto yy291;
3681
91.2k
    if (yych == 'n') goto yy291;
3682
12.0k
    goto yy48;
3683
24.5k
yy170:
3684
24.5k
    YYDEBUG(170, *YYCURSOR);
3685
24.5k
    yyaccept = 4;
3686
24.5k
    yych = *(YYMARKER = ++YYCURSOR);
3687
24.5k
    if (yych <= 'F') {
3688
3.34k
      if (yych == 'C') goto yy292;
3689
2.88k
      if (yych <= 'E') goto yy48;
3690
863
      goto yy293;
3691
21.2k
    } else {
3692
21.2k
      if (yych <= 'c') {
3693
9.33k
        if (yych <= 'b') goto yy48;
3694
6.77k
        goto yy292;
3695
11.9k
      } else {
3696
11.9k
        if (yych == 'f') goto yy293;
3697
2.79k
        goto yy48;
3698
11.9k
      }
3699
21.2k
    }
3700
4.01k
yy171:
3701
4.01k
    YYDEBUG(171, *YYCURSOR);
3702
4.01k
    yyaccept = 4;
3703
4.01k
    yych = *(YYMARKER = ++YYCURSOR);
3704
4.01k
    if (yych == 'E') goto yy294;
3705
3.43k
    if (yych == 'e') goto yy294;
3706
1.53k
    goto yy48;
3707
14.3k
yy172:
3708
14.3k
    YYDEBUG(172, *YYCURSOR);
3709
14.3k
    yyaccept = 9;
3710
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
3711
14.3k
    if (yybm[256+yych] & 128) {
3712
11.5k
      goto yy47;
3713
11.5k
    }
3714
2.87k
    if (yych == '\\') goto yy164;
3715
2.86k
yy173:
3716
2.86k
    YYDEBUG(173, *YYCURSOR);
3717
2.86k
    yyleng = YYCURSOR - SCNG(yy_text);
3718
2.86k
#line 1464 "Zend/zend_language_scanner.l"
3719
2.86k
    {
3720
2.86k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3721
2.86k
}
3722
0
#line 3723 "Zend/zend_language_scanner.c"
3723
101k
yy174:
3724
101k
    YYDEBUG(174, *YYCURSOR);
3725
101k
    yyaccept = 4;
3726
101k
    yych = *(YYMARKER = ++YYCURSOR);
3727
101k
    if (yych == 'H') goto yy296;
3728
99.8k
    if (yych == 'h') goto yy296;
3729
6.70k
    goto yy48;
3730
15.2k
yy175:
3731
15.2k
    YYDEBUG(175, *YYCURSOR);
3732
15.2k
    yyaccept = 4;
3733
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
3734
15.2k
    if (yych == 'S') goto yy297;
3735
12.4k
    if (yych == 's') goto yy297;
3736
3.11k
    goto yy48;
3737
11.0k
yy176:
3738
11.0k
    YYDEBUG(176, *YYCURSOR);
3739
11.0k
    yyaccept = 4;
3740
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
3741
11.0k
    if (yych == 'P') goto yy298;
3742
9.44k
    if (yych == 'p') goto yy298;
3743
4.81k
    goto yy48;
3744
281k
yy177:
3745
281k
    YYDEBUG(177, *YYCURSOR);
3746
281k
    yyaccept = 4;
3747
281k
    yych = *(YYMARKER = ++YYCURSOR);
3748
281k
    if (yych <= 'U') {
3749
37.5k
      if (yych == 'D') goto yy299;
3750
8.35k
      if (yych <= 'T') goto yy48;
3751
1.00k
      goto yy300;
3752
243k
    } else {
3753
243k
      if (yych <= 'd') {
3754
30.5k
        if (yych <= 'c') goto yy48;
3755
28.9k
        goto yy299;
3756
212k
      } else {
3757
212k
        if (yych == 'u') goto yy300;
3758
11.0k
        goto yy48;
3759
212k
      }
3760
243k
    }
3761
6.81k
yy178:
3762
6.81k
    YYDEBUG(178, *YYCURSOR);
3763
6.81k
    yyaccept = 4;
3764
6.81k
    yych = *(YYMARKER = ++YYCURSOR);
3765
6.81k
    if (yych == 'A') goto yy301;
3766
6.22k
    if (yych == 'a') goto yy301;
3767
1.30k
    goto yy48;
3768
94.2k
yy179:
3769
94.2k
    YYDEBUG(179, *YYCURSOR);
3770
94.2k
    yyaccept = 4;
3771
94.2k
    yych = *(YYMARKER = ++YYCURSOR);
3772
94.2k
    if (yych <= 'T') {
3773
19.1k
      if (yych == 'I') goto yy302;
3774
18.0k
      if (yych <= 'S') goto yy48;
3775
1.77k
      goto yy303;
3776
75.1k
    } else {
3777
75.1k
      if (yych <= 'i') {
3778
40.5k
        if (yych <= 'h') goto yy48;
3779
3.03k
        goto yy302;
3780
40.5k
      } else {
3781
34.5k
        if (yych == 't') goto yy303;
3782
4.18k
        goto yy48;
3783
34.5k
      }
3784
75.1k
    }
3785
24.4k
yy180:
3786
24.4k
    YYDEBUG(180, *YYCURSOR);
3787
24.4k
    yyaccept = 4;
3788
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
3789
24.4k
    if (yych == 'N') goto yy304;
3790
22.4k
    if (yych == 'n') goto yy304;
3791
7.58k
    goto yy48;
3792
29.1k
yy181:
3793
29.1k
    YYDEBUG(181, *YYCURSOR);
3794
29.1k
    yyaccept = 10;
3795
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
3796
29.1k
    if (yybm[256+yych] & 128) {
3797
1.91k
      goto yy47;
3798
1.91k
    }
3799
27.2k
    if (yych == '\\') goto yy164;
3800
27.2k
yy182:
3801
27.2k
    YYDEBUG(182, *YYCURSOR);
3802
27.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3803
27.2k
#line 1393 "Zend/zend_language_scanner.l"
3804
27.2k
    {
3805
27.2k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3806
27.2k
}
3807
0
#line 3808 "Zend/zend_language_scanner.c"
3808
139k
yy183:
3809
139k
    YYDEBUG(183, *YYCURSOR);
3810
139k
    yyaccept = 4;
3811
139k
    yych = *(YYMARKER = ++YYCURSOR);
3812
139k
    if (yych == 'R') goto yy305;
3813
137k
    if (yych == 'r') goto yy305;
3814
66.2k
    goto yy48;
3815
125k
yy184:
3816
125k
    YYDEBUG(184, *YYCURSOR);
3817
125k
    yyaccept = 4;
3818
125k
    yych = *(YYMARKER = ++YYCURSOR);
3819
125k
    if (yych == 'N') goto yy307;
3820
123k
    if (yych == 'n') goto yy307;
3821
8.92k
    goto yy48;
3822
9.78k
yy185:
3823
9.78k
    YYDEBUG(185, *YYCURSOR);
3824
9.78k
    yyaccept = 4;
3825
9.78k
    yych = *(YYMARKER = ++YYCURSOR);
3826
9.78k
    if (yych == 'O') goto yy308;
3827
5.98k
    if (yych == 'o') goto yy308;
3828
582
    goto yy48;
3829
6.89k
yy186:
3830
6.89k
    YYDEBUG(186, *YYCURSOR);
3831
6.89k
    yyaccept = 4;
3832
6.89k
    yych = *(YYMARKER = ++YYCURSOR);
3833
6.89k
    if (yych == 'T') goto yy309;
3834
5.46k
    if (yych == 't') goto yy309;
3835
1.31k
    goto yy48;
3836
28.0k
yy187:
3837
28.0k
    YYDEBUG(187, *YYCURSOR);
3838
28.0k
    yyaccept = 11;
3839
28.0k
    yych = *(YYMARKER = ++YYCURSOR);
3840
28.0k
    if (yybm[256+yych] & 128) {
3841
1.43k
      goto yy47;
3842
1.43k
    }
3843
26.5k
    if (yych == '\\') goto yy164;
3844
26.5k
yy188:
3845
26.5k
    YYDEBUG(188, *YYCURSOR);
3846
26.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3847
26.5k
#line 1440 "Zend/zend_language_scanner.l"
3848
26.5k
    {
3849
26.5k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3850
26.5k
}
3851
0
#line 3852 "Zend/zend_language_scanner.c"
3852
54.5k
yy189:
3853
54.5k
    YYDEBUG(189, *YYCURSOR);
3854
54.5k
    yyaccept = 4;
3855
54.5k
    yych = *(YYMARKER = ++YYCURSOR);
3856
54.5k
    if (yych == 'P') goto yy310;
3857
52.0k
    if (yych == 'p') goto yy310;
3858
16.5k
    goto yy48;
3859
102k
yy190:
3860
102k
    YYDEBUG(190, *YYCURSOR);
3861
102k
    yyaccept = 4;
3862
102k
    yych = *(YYMARKER = ++YYCURSOR);
3863
102k
    if (yych <= 'T') {
3864
26.3k
      if (yych <= 'C') {
3865
10.3k
        if (yych <= 'B') goto yy48;
3866
1.63k
        goto yy311;
3867
15.9k
      } else {
3868
15.9k
        if (yych <= 'R') goto yy48;
3869
7.37k
        if (yych <= 'S') goto yy312;
3870
2.66k
        goto yy313;
3871
7.37k
      }
3872
75.8k
    } else {
3873
75.8k
      if (yych <= 'r') {
3874
30.7k
        if (yych == 'c') goto yy311;
3875
18.2k
        goto yy48;
3876
45.1k
      } else {
3877
45.1k
        if (yych <= 's') goto yy312;
3878
30.8k
        if (yych <= 't') goto yy313;
3879
5.07k
        goto yy48;
3880
30.8k
      }
3881
75.8k
    }
3882
41.1k
yy191:
3883
41.1k
    YYDEBUG(191, *YYCURSOR);
3884
41.1k
    yyaccept = 4;
3885
41.1k
    yych = *(YYMARKER = ++YYCURSOR);
3886
41.1k
    if (yych == 'S') goto yy314;
3887
40.5k
    if (yych == 's') goto yy314;
3888
18.0k
    goto yy48;
3889
18.0k
yy192:
3890
8.32k
    YYDEBUG(192, *YYCURSOR);
3891
8.32k
    yyaccept = 4;
3892
8.32k
    yych = *(YYMARKER = ++YYCURSOR);
3893
8.32k
    if (yych == 'S') goto yy315;
3894
7.50k
    if (yych == 's') goto yy315;
3895
2.55k
    goto yy48;
3896
8.64k
yy193:
3897
8.64k
    YYDEBUG(193, *YYCURSOR);
3898
8.64k
    yyaccept = 4;
3899
8.64k
    yych = *(YYMARKER = ++YYCURSOR);
3900
8.64k
    if (yych == 'T') goto yy316;
3901
8.14k
    if (yych == 't') goto yy316;
3902
2.57k
    goto yy48;
3903
36.9k
yy194:
3904
36.9k
    YYDEBUG(194, *YYCURSOR);
3905
36.9k
    yyaccept = 4;
3906
36.9k
    yych = *(YYMARKER = ++YYCURSOR);
3907
36.9k
    if (yych == 'M') goto yy317;
3908
32.8k
    if (yych == 'm') goto yy317;
3909
2.42k
    goto yy48;
3910
127k
yy195:
3911
127k
    YYDEBUG(195, *YYCURSOR);
3912
127k
    yyaccept = 4;
3913
127k
    yych = *(YYMARKER = ++YYCURSOR);
3914
127k
    if (yych == 'W') goto yy318;
3915
126k
    if (yych == 'w') goto yy318;
3916
8.61k
    goto yy48;
3917
11.5k
yy196:
3918
11.5k
    YYDEBUG(196, *YYCURSOR);
3919
11.5k
    yyaccept = 12;
3920
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
3921
11.5k
    if (yybm[256+yych] & 128) {
3922
5.75k
      goto yy47;
3923
5.75k
    }
3924
5.79k
    if (yych == '\\') goto yy164;
3925
5.74k
yy197:
3926
5.74k
    YYDEBUG(197, *YYCURSOR);
3927
5.74k
    yyleng = YYCURSOR - SCNG(yy_text);
3928
5.74k
#line 1876 "Zend/zend_language_scanner.l"
3929
5.74k
    {
3930
5.74k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3931
5.74k
}
3932
0
#line 3933 "Zend/zend_language_scanner.c"
3933
54.3k
yy198:
3934
54.3k
    YYDEBUG(198, *YYCURSOR);
3935
54.3k
    yyaccept = 4;
3936
54.3k
    yych = *(YYMARKER = ++YYCURSOR);
3937
54.3k
    if (yych <= 'O') {
3938
6.95k
      if (yych == 'I') goto yy320;
3939
4.31k
      if (yych <= 'N') goto yy48;
3940
2.12k
      goto yy321;
3941
47.4k
    } else {
3942
47.4k
      if (yych <= 'i') {
3943
33.9k
        if (yych <= 'h') goto yy48;
3944
27.9k
        goto yy320;
3945
33.9k
      } else {
3946
13.4k
        if (yych == 'o') goto yy321;
3947
1.12k
        goto yy48;
3948
13.4k
      }
3949
47.4k
    }
3950
73.8k
yy199:
3951
73.8k
    YYDEBUG(199, *YYCURSOR);
3952
73.8k
    yyaccept = 4;
3953
73.8k
    yych = *(YYMARKER = ++YYCURSOR);
3954
73.8k
    if (yych == 'B') goto yy322;
3955
71.9k
    if (yych == 'b') goto yy322;
3956
1.97k
    goto yy48;
3957
84.2k
yy200:
3958
84.2k
    YYDEBUG(200, *YYCURSOR);
3959
84.2k
    yyaccept = 4;
3960
84.2k
    yych = *(YYMARKER = ++YYCURSOR);
3961
84.2k
    if (yych <= 'T') {
3962
8.46k
      if (yych <= 'P') {
3963
6.45k
        if (yych == 'A') goto yy323;
3964
5.86k
        goto yy48;
3965
6.45k
      } else {
3966
2.01k
        if (yych <= 'Q') goto yy324;
3967
703
        if (yych <= 'S') goto yy48;
3968
450
        goto yy325;
3969
703
      }
3970
75.7k
    } else {
3971
75.7k
      if (yych <= 'p') {
3972
16.1k
        if (yych == 'a') goto yy323;
3973
8.94k
        goto yy48;
3974
59.6k
      } else {
3975
59.6k
        if (yych <= 'q') goto yy324;
3976
34.2k
        if (yych == 't') goto yy325;
3977
7.65k
        goto yy48;
3978
34.2k
      }
3979
75.7k
    }
3980
67.7k
yy201:
3981
67.7k
    YYDEBUG(201, *YYCURSOR);
3982
67.7k
    yyaccept = 4;
3983
67.7k
    yych = *(YYMARKER = ++YYCURSOR);
3984
67.7k
    if (yych == 'A') goto yy326;
3985
66.2k
    if (yych == 'a') goto yy326;
3986
42.1k
    goto yy48;
3987
42.1k
yy202:
3988
9.03k
    YYDEBUG(202, *YYCURSOR);
3989
9.03k
    yyaccept = 4;
3990
9.03k
    yych = *(YYMARKER = ++YYCURSOR);
3991
9.03k
    if (yych == 'I') goto yy327;
3992
8.11k
    if (yych == 'i') goto yy327;
3993
884
    goto yy48;
3994
20.3k
yy203:
3995
20.3k
    YYDEBUG(203, *YYCURSOR);
3996
20.3k
    yyaccept = 4;
3997
20.3k
    yych = *(YYMARKER = ++YYCURSOR);
3998
20.3k
    if (yych == 'R') goto yy328;
3999
20.0k
    if (yych == 'r') goto yy328;
4000
3.64k
    goto yy48;
4001
101k
yy204:
4002
101k
    YYDEBUG(204, *YYCURSOR);
4003
101k
    yyaccept = 4;
4004
101k
    yych = *(YYMARKER = ++YYCURSOR);
4005
101k
    if (yych <= 'Y') {
4006
7.10k
      if (yych == 'A') goto yy329;
4007
4.71k
      if (yych <= 'X') goto yy48;
4008
1.44k
      goto yy330;
4009
94.0k
    } else {
4010
94.0k
      if (yych <= 'a') {
4011
16.5k
        if (yych <= '`') goto yy48;
4012
16.0k
        goto yy329;
4013
77.5k
      } else {
4014
77.5k
        if (yych == 'y') goto yy330;
4015
11.3k
        goto yy48;
4016
77.5k
      }
4017
94.0k
    }
4018
23.9k
yy205:
4019
23.9k
    YYDEBUG(205, *YYCURSOR);
4020
23.9k
    yyaccept = 4;
4021
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
4022
23.9k
    if (yych == 'S') goto yy332;
4023
23.2k
    if (yych == 's') goto yy332;
4024
4.34k
    goto yy48;
4025
19.6k
yy206:
4026
19.6k
    YYDEBUG(206, *YYCURSOR);
4027
19.6k
    yyaccept = 4;
4028
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
4029
19.6k
    if (yych == 'E') goto yy333;
4030
19.3k
    if (yych == 'e') goto yy333;
4031
2.19k
    goto yy48;
4032
121k
yy207:
4033
121k
    YYDEBUG(207, *YYCURSOR);
4034
121k
    yyaccept = 4;
4035
121k
    yych = *(YYMARKER = ++YYCURSOR);
4036
121k
    if (yych == 'R') goto yy335;
4037
120k
    if (yych == 'r') goto yy335;
4038
5.02k
    goto yy48;
4039
5.80k
yy208:
4040
5.80k
    YYDEBUG(208, *YYCURSOR);
4041
5.80k
    yyaccept = 4;
4042
5.80k
    yych = *(YYMARKER = ++YYCURSOR);
4043
5.80k
    if (yych == 'I') goto yy337;
4044
4.82k
    if (yych == 'i') goto yy337;
4045
802
    goto yy48;
4046
6.56k
yy209:
4047
6.56k
    YYDEBUG(209, *YYCURSOR);
4048
6.56k
    yyaccept = 4;
4049
6.56k
    yych = *(YYMARKER = ++YYCURSOR);
4050
6.56k
    if (yych == 'R') goto yy338;
4051
5.23k
    if (yych == 'r') goto yy338;
4052
804
    goto yy48;
4053
96.3k
yy210:
4054
96.3k
    YYDEBUG(210, *YYCURSOR);
4055
96.3k
    yyaccept = 4;
4056
96.3k
    yych = *(YYMARKER = ++YYCURSOR);
4057
96.3k
    if (yych == 'E') goto yy340;
4058
91.5k
    if (yych == 'e') goto yy340;
4059
3.42k
    goto yy48;
4060
312k
yy211:
4061
312k
    YYDEBUG(211, *YYCURSOR);
4062
312k
    yyaccept = 13;
4063
312k
    YYMARKER = ++YYCURSOR;
4064
312k
    YYFILL(1);
4065
312k
    yych = *YYCURSOR;
4066
312k
    YYDEBUG(212, *YYCURSOR);
4067
312k
    if (yych <= '\\') {
4068
120k
      if (yych <= '@') {
4069
62.9k
        if (yych <= '/') goto yy213;
4070
26.6k
        if (yych <= '9') goto yy211;
4071
57.0k
      } else {
4072
57.0k
        if (yych <= 'Z') goto yy211;
4073
15.1k
        if (yych >= '\\') goto yy341;
4074
15.1k
      }
4075
192k
    } else {
4076
192k
      if (yych <= '`') {
4077
7.90k
        if (yych == '_') goto yy211;
4078
184k
      } else {
4079
184k
        if (yych <= 'z') goto yy211;
4080
53.4k
        if (yych >= 0x80) goto yy211;
4081
53.4k
      }
4082
192k
    }
4083
63.0k
yy213:
4084
63.0k
    YYDEBUG(213, *YYCURSOR);
4085
63.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4086
63.0k
#line 2393 "Zend/zend_language_scanner.l"
4087
63.0k
    {
4088
63.0k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4089
63.0k
}
4090
0
#line 4091 "Zend/zend_language_scanner.c"
4091
1.03k
yy214:
4092
1.03k
    YYDEBUG(214, *YYCURSOR);
4093
1.03k
    ++YYCURSOR;
4094
1.03k
    YYDEBUG(215, *YYCURSOR);
4095
1.03k
    yyleng = YYCURSOR - SCNG(yy_text);
4096
1.03k
#line 1856 "Zend/zend_language_scanner.l"
4097
1.03k
    {
4098
1.03k
  RETURN_TOKEN(T_XOR_EQUAL);
4099
1.03k
}
4100
0
#line 4101 "Zend/zend_language_scanner.c"
4101
114k
yy216:
4102
114k
    YYDEBUG(216, *YYCURSOR);
4103
114k
    yyaccept = 4;
4104
114k
    yych = *(YYMARKER = ++YYCURSOR);
4105
114k
    switch (yych) {
4106
4.15k
    case 'C':
4107
18.5k
    case 'c': goto yy342;
4108
4.15k
    case 'D':
4109
13.4k
    case 'd': goto yy343;
4110
12.8k
    case 'F':
4111
19.4k
    case 'f': goto yy344;
4112
940
    case 'H':
4113
4.94k
    case 'h': goto yy345;
4114
3.25k
    case 'L':
4115
5.44k
    case 'l': goto yy346;
4116
11.4k
    case 'M':
4117
14.7k
    case 'm': goto yy347;
4118
5.22k
    case 'N':
4119
9.27k
    case 'n': goto yy348;
4120
4.37k
    case 'P':
4121
5.51k
    case 'p': goto yy349;
4122
1.89k
    case 'T':
4123
7.03k
    case 't': goto yy350;
4124
16.3k
    default:  goto yy48;
4125
114k
    }
4126
2.22k
yy217:
4127
2.22k
    YYDEBUG(217, *YYCURSOR);
4128
2.22k
    ++YYCURSOR;
4129
2.22k
    YYDEBUG(218, *YYCURSOR);
4130
2.22k
    yyleng = YYCURSOR - SCNG(yy_text);
4131
2.22k
#line 1852 "Zend/zend_language_scanner.l"
4132
2.22k
    {
4133
2.22k
  RETURN_TOKEN(T_OR_EQUAL);
4134
2.22k
}
4135
0
#line 4136 "Zend/zend_language_scanner.c"
4136
738
yy219:
4137
738
    YYDEBUG(219, *YYCURSOR);
4138
738
    ++YYCURSOR;
4139
738
    YYDEBUG(220, *YYCURSOR);
4140
738
    yyleng = YYCURSOR - SCNG(yy_text);
4141
738
#line 1864 "Zend/zend_language_scanner.l"
4142
738
    {
4143
738
  RETURN_TOKEN(T_PIPE);
4144
738
}
4145
0
#line 4146 "Zend/zend_language_scanner.c"
4146
11.9k
yy221:
4147
11.9k
    YYDEBUG(221, *YYCURSOR);
4148
11.9k
    ++YYCURSOR;
4149
11.9k
    YYDEBUG(222, *YYCURSOR);
4150
11.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4151
11.9k
#line 1868 "Zend/zend_language_scanner.l"
4152
11.9k
    {
4153
11.9k
  RETURN_TOKEN(T_BOOLEAN_OR);
4154
11.9k
}
4155
0
#line 4156 "Zend/zend_language_scanner.c"
4156
2.76k
yy223:
4157
2.76k
    YYDEBUG(223, *YYCURSOR);
4158
2.76k
    ++YYCURSOR;
4159
2.76k
    YYDEBUG(224, *YYCURSOR);
4160
2.76k
    yyleng = YYCURSOR - SCNG(yy_text);
4161
2.76k
#line 1784 "Zend/zend_language_scanner.l"
4162
2.76k
    {
4163
2.76k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4164
2.76k
}
4165
0
#line 4166 "Zend/zend_language_scanner.c"
4166
662k
yy225:
4167
662k
    YYDEBUG(225, *YYCURSOR);
4168
662k
    ++YYCURSOR;
4169
662k
    YYFILL(1);
4170
662k
    yych = *YYCURSOR;
4171
662k
    YYDEBUG(226, *YYCURSOR);
4172
662k
    if (yybm[0+yych] & 2) {
4173
513k
      goto yy225;
4174
513k
    }
4175
149k
    if (yych <= 0x00) goto yy86;
4176
141k
    goto yy84;
4177
210k
yy227:
4178
210k
    YYDEBUG(227, *YYCURSOR);
4179
210k
    ++YYCURSOR;
4180
210k
    YYFILL(1);
4181
210k
    yych = *YYCURSOR;
4182
210k
    YYDEBUG(228, *YYCURSOR);
4183
210k
    if (yych <= 0x1F) {
4184
11.8k
      if (yych <= '\t') {
4185
1.96k
        if (yych <= 0x00) goto yy86;
4186
1.51k
        if (yych <= 0x08) goto yy225;
4187
385
        goto yy227;
4188
9.87k
      } else {
4189
9.87k
        if (yych <= '\n') goto yy84;
4190
9.22k
        if (yych == '\r') goto yy84;
4191
3.52k
        goto yy225;
4192
9.22k
      }
4193
198k
    } else {
4194
198k
      if (yych <= '$') {
4195
26.1k
        if (yych <= ' ') goto yy227;
4196
25.1k
        if (yych <= '"') goto yy225;
4197
24.5k
        if (yych <= '#') goto yy351;
4198
8.84k
        goto yy352;
4199
172k
      } else {
4200
172k
        if (yych <= '-') goto yy225;
4201
116k
        if (yych <= '.') goto yy353;
4202
98.5k
        if (yych <= '/') goto yy354;
4203
42.6k
        goto yy225;
4204
98.5k
      }
4205
198k
    }
4206
1.40k
yy229:
4207
1.40k
    YYDEBUG(229, *YYCURSOR);
4208
1.40k
    yych = *++YYCURSOR;
4209
1.40k
    if (yych == '.') goto yy88;
4210
740
    goto yy86;
4211
962k
yy230:
4212
962k
    YYDEBUG(230, *YYCURSOR);
4213
962k
    ++YYCURSOR;
4214
962k
    YYFILL(1);
4215
962k
    yych = *YYCURSOR;
4216
962k
    YYDEBUG(231, *YYCURSOR);
4217
962k
    if (yybm[0+yych] & 4) {
4218
925k
      goto yy230;
4219
925k
    }
4220
37.1k
    if (yych <= 0x00) goto yy86;
4221
30.0k
    goto yy355;
4222
30.0k
yy232:
4223
10.6k
    YYDEBUG(232, *YYCURSOR);
4224
10.6k
    yych = *++YYCURSOR;
4225
10.6k
    if (yych == 'R') goto yy357;
4226
10.3k
    if (yych == 'r') goto yy357;
4227
1.85k
    goto yy86;
4228
2.71k
yy233:
4229
2.71k
    YYDEBUG(233, *YYCURSOR);
4230
2.71k
    yych = *++YYCURSOR;
4231
2.71k
    if (yych == 'N') goto yy358;
4232
2.51k
    if (yych == 'n') goto yy358;
4233
1.00k
    goto yy86;
4234
3.32k
yy234:
4235
3.32k
    YYDEBUG(234, *YYCURSOR);
4236
3.32k
    yych = *++YYCURSOR;
4237
3.32k
    if (yych == 'O') goto yy359;
4238
3.00k
    if (yych == 'o') goto yy359;
4239
546
    goto yy86;
4240
2.80k
yy235:
4241
2.80k
    YYDEBUG(235, *YYCURSOR);
4242
2.80k
    yych = *++YYCURSOR;
4243
2.80k
    if (yych == 'U') goto yy360;
4244
2.47k
    if (yych == 'u') goto yy360;
4245
516
    goto yy86;
4246
4.01k
yy236:
4247
4.01k
    YYDEBUG(236, *YYCURSOR);
4248
4.01k
    yych = *++YYCURSOR;
4249
4.01k
    if (yych == 'O') goto yy361;
4250
3.66k
    if (yych == 'o') goto yy361;
4251
911
    goto yy86;
4252
12.3k
yy237:
4253
12.3k
    YYDEBUG(237, *YYCURSOR);
4254
12.3k
    yych = *++YYCURSOR;
4255
12.3k
    if (yych == 'T') goto yy362;
4256
11.5k
    if (yych == 't') goto yy362;
4257
4.36k
    goto yy86;
4258
6.34k
yy238:
4259
6.34k
    YYDEBUG(238, *YYCURSOR);
4260
6.34k
    yych = *++YYCURSOR;
4261
6.34k
    if (yych == 'J') goto yy363;
4262
6.13k
    if (yych == 'j') goto yy363;
4263
359
    goto yy86;
4264
4.08k
yy239:
4265
4.08k
    YYDEBUG(239, *YYCURSOR);
4266
4.08k
    yych = *++YYCURSOR;
4267
4.08k
    if (yych == 'A') goto yy364;
4268
3.65k
    if (yych == 'a') goto yy364;
4269
2.95k
    goto yy86;
4270
14.8k
yy240:
4271
14.8k
    YYDEBUG(240, *YYCURSOR);
4272
14.8k
    yych = *++YYCURSOR;
4273
14.8k
    if (yych == 'R') goto yy365;
4274
14.4k
    if (yych == 'r') goto yy365;
4275
1.32k
    goto yy86;
4276
5.55k
yy241:
4277
5.55k
    YYDEBUG(241, *YYCURSOR);
4278
5.55k
    yych = *++YYCURSOR;
4279
5.55k
    if (yych == 'S') goto yy366;
4280
5.24k
    if (yych == 's') goto yy366;
4281
1.06k
    goto yy86;
4282
1.95k
yy242:
4283
1.95k
    YYDEBUG(242, *YYCURSOR);
4284
1.95k
    yych = *++YYCURSOR;
4285
1.95k
    if (yych == 'I') goto yy367;
4286
1.74k
    if (yych == 'i') goto yy367;
4287
282
    goto yy86;
4288
627
yy243:
4289
627
    YYDEBUG(243, *YYCURSOR);
4290
627
    ++YYCURSOR;
4291
627
    YYDEBUG(244, *YYCURSOR);
4292
627
    yyleng = YYCURSOR - SCNG(yy_text);
4293
627
#line 1824 "Zend/zend_language_scanner.l"
4294
627
    {
4295
627
  RETURN_TOKEN(T_POW_EQUAL);
4296
627
}
4297
0
#line 4298 "Zend/zend_language_scanner.c"
4298
23.3k
yy245:
4299
23.3k
    YYDEBUG(245, *YYCURSOR);
4300
23.3k
    ++YYCURSOR;
4301
23.3k
    YYDEBUG(246, *YYCURSOR);
4302
23.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4303
23.3k
#line 1604 "Zend/zend_language_scanner.l"
4304
23.3k
    {
4305
23.3k
  RETURN_TOKEN(T_ELLIPSIS);
4306
23.3k
}
4307
0
#line 4308 "Zend/zend_language_scanner.c"
4308
1.08k
yy247:
4309
1.08k
    YYDEBUG(247, *YYCURSOR);
4310
1.08k
    ++YYCURSOR;
4311
1.08k
    YYFILL(1);
4312
1.08k
    yych = *YYCURSOR;
4313
1.08k
    if (yych <= '/') goto yy86;
4314
805
    if (yych <= '9') goto yy123;
4315
369
    goto yy86;
4316
10.9k
yy248:
4317
10.9k
    YYDEBUG(248, *YYCURSOR);
4318
10.9k
    yych = *++YYCURSOR;
4319
10.9k
    if (yych <= '\f') {
4320
4.17k
      if (yych <= 0x08) goto yy86;
4321
3.79k
      if (yych <= '\n') goto yy368;
4322
360
      goto yy86;
4323
6.81k
    } else {
4324
6.81k
      if (yych <= '\r') goto yy368;
4325
6.27k
      if (yych == ' ') goto yy368;
4326
2.79k
      goto yy86;
4327
6.27k
    }
4328
103k
yy249:
4329
103k
    YYDEBUG(249, *YYCURSOR);
4330
103k
    yyaccept = 14;
4331
103k
    YYMARKER = ++YYCURSOR;
4332
103k
    YYFILL(1);
4333
103k
    yych = *YYCURSOR;
4334
103k
    YYDEBUG(250, *YYCURSOR);
4335
103k
    if (yybm[0+yych] & 8) {
4336
98.7k
      goto yy249;
4337
98.7k
    }
4338
5.02k
    if (yych == '_') goto yy134;
4339
3.85k
yy251:
4340
3.85k
    YYDEBUG(251, *YYCURSOR);
4341
3.85k
    yyleng = YYCURSOR - SCNG(yy_text);
4342
3.85k
#line 1957 "Zend/zend_language_scanner.l"
4343
3.85k
    {
4344
  /* The +/- 2 skips "0b" */
4345
3.85k
  size_t len = yyleng - 2;
4346
3.85k
  char *end, *bin = yytext + 2;
4347
3.85k
  bool contains_underscores;
4348
4349
  /* Skip any leading 0s */
4350
5.62k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4351
1.77k
    ++bin;
4352
1.77k
    --len;
4353
1.77k
  }
4354
4355
3.85k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4356
4357
3.85k
  if (contains_underscores) {
4358
609
    bin = estrndup(bin, len);
4359
609
    strip_underscores(bin, &len);
4360
609
  }
4361
4362
3.85k
  if (len < SIZEOF_ZEND_LONG * 8) {
4363
3.33k
    if (len == 0) {
4364
353
      ZVAL_LONG(zendlval, 0);
4365
2.98k
    } else {
4366
2.98k
      errno = 0;
4367
2.98k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4368
2.98k
      ZEND_ASSERT(!errno && end == bin + len);
4369
2.98k
    }
4370
3.33k
    if (contains_underscores) {
4371
412
      efree(bin);
4372
412
    }
4373
3.33k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4374
3.33k
  } else {
4375
520
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4376
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4377
520
    ZEND_ASSERT(end == bin + len);
4378
520
    if (contains_underscores) {
4379
197
      efree(bin);
4380
197
    }
4381
520
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4382
520
  }
4383
3.85k
}
4384
0
#line 4385 "Zend/zend_language_scanner.c"
4385
15.9k
yy252:
4386
15.9k
    YYDEBUG(252, *YYCURSOR);
4387
15.9k
    ++YYCURSOR;
4388
15.9k
    YYFILL(1);
4389
15.9k
    yych = *YYCURSOR;
4390
15.9k
    if (yych <= '/') goto yy86;
4391
15.5k
    if (yych >= ':') goto yy86;
4392
132k
yy253:
4393
132k
    YYDEBUG(253, *YYCURSOR);
4394
132k
    yyaccept = 5;
4395
132k
    YYMARKER = ++YYCURSOR;
4396
132k
    YYFILL(1);
4397
132k
    yych = *YYCURSOR;
4398
132k
    YYDEBUG(254, *YYCURSOR);
4399
132k
    if (yych <= '/') goto yy125;
4400
109k
    if (yych <= '9') goto yy253;
4401
14.1k
    if (yych == '_') goto yy252;
4402
12.6k
    goto yy125;
4403
16.5k
yy255:
4404
16.5k
    YYDEBUG(255, *YYCURSOR);
4405
16.5k
    yyaccept = 15;
4406
16.5k
    YYMARKER = ++YYCURSOR;
4407
16.5k
    YYFILL(1);
4408
16.5k
    yych = *YYCURSOR;
4409
16.5k
    YYDEBUG(256, *YYCURSOR);
4410
16.5k
    if (yybm[0+yych] & 16) {
4411
13.6k
      goto yy255;
4412
13.6k
    }
4413
2.86k
    if (yych == '_') goto yy136;
4414
2.22k
yy257:
4415
2.22k
    YYDEBUG(257, *YYCURSOR);
4416
2.22k
    yyleng = YYCURSOR - SCNG(yy_text);
4417
2.22k
#line 1999 "Zend/zend_language_scanner.l"
4418
2.22k
    {
4419
  /* The +/- 2 skips "0o" */
4420
2.22k
  size_t len = yyleng - 2;
4421
2.22k
  char *end, *octal = yytext + 2;
4422
2.22k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4423
4424
  /* Skip any leading 0s */
4425
4.69k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4426
2.46k
    ++octal;
4427
2.46k
    --len;
4428
2.46k
  }
4429
4430
2.22k
  if (len == 0) {
4431
801
    ZVAL_LONG(zendlval, 0);
4432
801
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4433
801
  }
4434
4435
1.42k
  if (contains_underscores) {
4436
437
    octal = estrndup(octal, len);
4437
437
    strip_underscores(octal, &len);
4438
437
  }
4439
4440
1.42k
  errno = 0;
4441
4442
1.42k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4443
4444
1.42k
  ZEND_ASSERT(end == octal + len);
4445
4446
1.42k
  if (!errno) {
4447
906
    if (contains_underscores) {
4448
236
      efree(octal);
4449
236
    }
4450
906
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4451
906
  }
4452
4453
  /* Overflow */
4454
515
  ZEND_ASSERT(errno == ERANGE);
4455
  /* Reset errno */
4456
515
  errno = 0;
4457
4458
  /* zend_oct_strtod skips leading '0' */
4459
515
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4460
515
  ZEND_ASSERT(!errno);
4461
515
  ZEND_ASSERT(end == octal + len);
4462
515
  if (contains_underscores) {
4463
201
    efree(octal);
4464
201
  }
4465
515
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4466
515
}
4467
0
#line 4468 "Zend/zend_language_scanner.c"
4468
74.7k
yy258:
4469
74.7k
    YYDEBUG(258, *YYCURSOR);
4470
74.7k
    yyaccept = 16;
4471
74.7k
    YYMARKER = ++YYCURSOR;
4472
74.7k
    YYFILL(1);
4473
74.7k
    yych = *YYCURSOR;
4474
74.7k
    YYDEBUG(259, *YYCURSOR);
4475
74.7k
    if (yybm[0+yych] & 32) {
4476
64.2k
      goto yy258;
4477
64.2k
    }
4478
10.5k
    if (yych == '_') goto yy137;
4479
7.45k
yy260:
4480
7.45k
    YYDEBUG(260, *YYCURSOR);
4481
7.45k
    yyleng = YYCURSOR - SCNG(yy_text);
4482
7.45k
#line 2112 "Zend/zend_language_scanner.l"
4483
7.45k
    {
4484
  /* The +/- 2 skips "0x" */
4485
7.45k
  size_t len = yyleng - 2;
4486
7.45k
  char *end, *hex = yytext + 2;
4487
7.45k
  bool contains_underscores;
4488
4489
  /* Skip any leading 0s */
4490
9.23k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4491
1.78k
    ++hex;
4492
1.78k
    --len;
4493
1.78k
  }
4494
4495
7.45k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4496
4497
7.45k
  if (contains_underscores) {
4498
2.19k
    hex = estrndup(hex, len);
4499
2.19k
    strip_underscores(hex, &len);
4500
2.19k
  }
4501
4502
7.45k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4503
5.60k
    if (len == 0) {
4504
667
      ZVAL_LONG(zendlval, 0);
4505
4.93k
    } else {
4506
4.93k
      errno = 0;
4507
4.93k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4508
4.93k
      ZEND_ASSERT(!errno && end == hex + len);
4509
4.93k
    }
4510
5.60k
    if (contains_underscores) {
4511
1.22k
      efree(hex);
4512
1.22k
    }
4513
5.60k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4514
5.60k
  } else {
4515
1.85k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4516
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4517
1.85k
    ZEND_ASSERT(end == hex + len);
4518
1.85k
    if (contains_underscores) {
4519
976
      efree(hex);
4520
976
    }
4521
1.85k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4522
1.85k
  }
4523
7.45k
}
4524
0
#line 4525 "Zend/zend_language_scanner.c"
4525
3.07M
yy261:
4526
3.07M
    YYDEBUG(261, *YYCURSOR);
4527
3.07M
    ++YYCURSOR;
4528
3.07M
    YYFILL(2);
4529
3.07M
    yych = *YYCURSOR;
4530
3.07M
    YYDEBUG(262, *YYCURSOR);
4531
3.07M
    if (yych <= '\'') {
4532
53.9k
      if (yych <= ' ') {
4533
36.5k
        if (yych == '\t') goto yy261;
4534
20.2k
        if (yych <= 0x1F) goto yy86;
4535
2.54k
        goto yy261;
4536
20.2k
      } else {
4537
17.4k
        if (yych == '"') goto yy370;
4538
11.9k
        if (yych <= '&') goto yy86;
4539
7.92k
        goto yy371;
4540
11.9k
      }
4541
3.02M
    } else {
4542
3.02M
      if (yych <= '_') {
4543
187k
        if (yych <= '@') goto yy86;
4544
139k
        if (yych <= 'Z') goto yy372;
4545
3.41k
        if (yych <= '^') goto yy86;
4546
1.85k
        goto yy372;
4547
2.83M
      } else {
4548
2.83M
        if (yych <= '`') goto yy86;
4549
2.83M
        if (yych <= 'z') goto yy372;
4550
1.20M
        if (yych <= 0x7F) goto yy86;
4551
1.20M
        goto yy372;
4552
1.20M
      }
4553
3.02M
    }
4554
2.02k
yy263:
4555
2.02k
    YYDEBUG(263, *YYCURSOR);
4556
2.02k
    ++YYCURSOR;
4557
2.02k
    YYDEBUG(264, *YYCURSOR);
4558
2.02k
    yyleng = YYCURSOR - SCNG(yy_text);
4559
2.02k
#line 1840 "Zend/zend_language_scanner.l"
4560
2.02k
    {
4561
2.02k
  RETURN_TOKEN(T_SL_EQUAL);
4562
2.02k
}
4563
0
#line 4564 "Zend/zend_language_scanner.c"
4564
1.75k
yy265:
4565
1.75k
    YYDEBUG(265, *YYCURSOR);
4566
1.75k
    ++YYCURSOR;
4567
1.75k
    YYDEBUG(266, *YYCURSOR);
4568
1.75k
    yyleng = YYCURSOR - SCNG(yy_text);
4569
1.75k
#line 1796 "Zend/zend_language_scanner.l"
4570
1.75k
    {
4571
1.75k
  RETURN_TOKEN(T_SPACESHIP);
4572
1.75k
}
4573
0
#line 4574 "Zend/zend_language_scanner.c"
4574
17.2k
yy267:
4575
17.2k
    YYDEBUG(267, *YYCURSOR);
4576
17.2k
    ++YYCURSOR;
4577
17.2k
    YYDEBUG(268, *YYCURSOR);
4578
17.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4579
17.2k
#line 1780 "Zend/zend_language_scanner.l"
4580
17.2k
    {
4581
17.2k
  RETURN_TOKEN(T_IS_IDENTICAL);
4582
17.2k
}
4583
0
#line 4584 "Zend/zend_language_scanner.c"
4584
1.33k
yy269:
4585
1.33k
    YYDEBUG(269, *YYCURSOR);
4586
1.33k
    ++YYCURSOR;
4587
1.33k
    YYDEBUG(270, *YYCURSOR);
4588
1.33k
    yyleng = YYCURSOR - SCNG(yy_text);
4589
1.33k
#line 1844 "Zend/zend_language_scanner.l"
4590
1.33k
    {
4591
1.33k
  RETURN_TOKEN(T_SR_EQUAL);
4592
1.33k
}
4593
0
#line 4594 "Zend/zend_language_scanner.c"
4594
56.6k
yy271:
4595
56.6k
    YYDEBUG(271, *YYCURSOR);
4596
56.6k
    ++YYCURSOR;
4597
56.6k
    YYDEBUG(272, *YYCURSOR);
4598
56.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4599
56.6k
#line 1578 "Zend/zend_language_scanner.l"
4600
56.6k
    {
4601
56.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4602
56.6k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4603
56.6k
}
4604
0
#line 4605 "Zend/zend_language_scanner.c"
4605
7.69k
yy273:
4606
7.69k
    YYDEBUG(273, *YYCURSOR);
4607
7.69k
    ++YYCURSOR;
4608
7.69k
    goto yy156;
4609
1.12k
yy274:
4610
1.12k
    YYDEBUG(274, *YYCURSOR);
4611
1.12k
    yych = *++YYCURSOR;
4612
1.12k
    if (yych == '\n') goto yy273;
4613
789
    goto yy156;
4614
8.34k
yy275:
4615
8.34k
    YYDEBUG(275, *YYCURSOR);
4616
8.34k
    ++YYCURSOR;
4617
8.34k
    YYDEBUG(276, *YYCURSOR);
4618
8.34k
    yyleng = YYCURSOR - SCNG(yy_text);
4619
8.34k
#line 1860 "Zend/zend_language_scanner.l"
4620
8.34k
    {
4621
8.34k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4622
8.34k
}
4623
0
#line 4624 "Zend/zend_language_scanner.c"
4624
9.43k
yy277:
4625
9.43k
    YYDEBUG(277, *YYCURSOR);
4626
9.43k
    yyaccept = 4;
4627
9.43k
    yych = *(YYMARKER = ++YYCURSOR);
4628
9.43k
    if (yych == 'T') goto yy374;
4629
6.94k
    if (yych == 't') goto yy374;
4630
456
    goto yy48;
4631
3.98k
yy278:
4632
3.98k
    YYDEBUG(278, *YYCURSOR);
4633
3.98k
    yyaccept = 17;
4634
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
4635
3.98k
    if (yybm[256+yych] & 128) {
4636
303
      goto yy47;
4637
303
    }
4638
3.68k
    if (yych == '\\') goto yy164;
4639
3.68k
yy279:
4640
3.68k
    YYDEBUG(279, *YYCURSOR);
4641
3.68k
    yyleng = YYCURSOR - SCNG(yy_text);
4642
3.68k
#line 1880 "Zend/zend_language_scanner.l"
4643
3.68k
    {
4644
3.68k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4645
3.68k
}
4646
0
#line 4647 "Zend/zend_language_scanner.c"
4647
28.4k
yy280:
4648
28.4k
    YYDEBUG(280, *YYCURSOR);
4649
28.4k
    yyaccept = 4;
4650
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
4651
28.4k
    if (yych == 'A') goto yy375;
4652
28.1k
    if (yych == 'a') goto yy375;
4653
1.40k
    goto yy48;
4654
151k
yy281:
4655
151k
    YYDEBUG(281, *YYCURSOR);
4656
151k
    yyaccept = 18;
4657
151k
    YYMARKER = ++YYCURSOR;
4658
151k
    YYFILL(1);
4659
151k
    yych = *YYCURSOR;
4660
151k
    YYDEBUG(282, *YYCURSOR);
4661
151k
    if (yych <= '\\') {
4662
73.4k
      if (yych <= '@') {
4663
46.2k
        if (yych <= '/') goto yy283;
4664
29.9k
        if (yych <= '9') goto yy281;
4665
29.9k
      } else {
4666
27.1k
        if (yych <= 'Z') goto yy281;
4667
7.11k
        if (yych >= '\\') goto yy164;
4668
7.11k
      }
4669
77.7k
    } else {
4670
77.7k
      if (yych <= '`') {
4671
6.57k
        if (yych == '_') goto yy281;
4672
71.1k
      } else {
4673
71.1k
        if (yych <= 'z') goto yy281;
4674
42.6k
        if (yych >= 0x80) goto yy281;
4675
42.6k
      }
4676
77.7k
    }
4677
26.3k
yy283:
4678
26.3k
    YYDEBUG(283, *YYCURSOR);
4679
26.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4680
26.3k
#line 2389 "Zend/zend_language_scanner.l"
4681
26.3k
    {
4682
26.3k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4683
26.3k
}
4684
0
#line 4685 "Zend/zend_language_scanner.c"
4685
3.78k
yy284:
4686
3.78k
    YYDEBUG(284, *YYCURSOR);
4687
3.78k
    yych = *++YYCURSOR;
4688
3.78k
    if (yych == '<') goto yy261;
4689
765
    goto yy86;
4690
4.25k
yy285:
4691
4.25k
    YYDEBUG(285, *YYCURSOR);
4692
4.25k
    yyaccept = 4;
4693
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
4694
4.25k
    if (yych == 'A') goto yy376;
4695
3.89k
    if (yych == 'a') goto yy376;
4696
724
    goto yy48;
4697
18.8k
yy286:
4698
18.8k
    YYDEBUG(286, *YYCURSOR);
4699
18.8k
    yyaccept = 4;
4700
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
4701
18.8k
    if (yych == 'L') goto yy377;
4702
17.4k
    if (yych == 'l') goto yy377;
4703
3.00k
    goto yy48;
4704
13.1k
yy287:
4705
13.1k
    YYDEBUG(287, *YYCURSOR);
4706
13.1k
    yyaccept = 4;
4707
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
4708
13.1k
    if (yych == 'E') goto yy378;
4709
9.95k
    if (yych == 'e') goto yy378;
4710
933
    goto yy48;
4711
62.3k
yy288:
4712
62.3k
    YYDEBUG(288, *YYCURSOR);
4713
62.3k
    yyaccept = 4;
4714
62.3k
    yych = *(YYMARKER = ++YYCURSOR);
4715
62.3k
    if (yych == 'C') goto yy380;
4716
61.9k
    if (yych == 'c') goto yy380;
4717
1.49k
    goto yy48;
4718
91.4k
yy289:
4719
91.4k
    YYDEBUG(289, *YYCURSOR);
4720
91.4k
    yyaccept = 4;
4721
91.4k
    yych = *(YYMARKER = ++YYCURSOR);
4722
91.4k
    if (yych == 'S') goto yy381;
4723
89.3k
    if (yych == 's') goto yy381;
4724
1.69k
    goto yy48;
4725
6.43k
yy290:
4726
6.43k
    YYDEBUG(290, *YYCURSOR);
4727
6.43k
    yyaccept = 4;
4728
6.43k
    yych = *(YYMARKER = ++YYCURSOR);
4729
6.43k
    if (yych == 'N') goto yy382;
4730
5.44k
    if (yych == 'n') goto yy382;
4731
3.15k
    goto yy48;
4732
86.2k
yy291:
4733
86.2k
    YYDEBUG(291, *YYCURSOR);
4734
86.2k
    yyaccept = 4;
4735
86.2k
    yych = *(YYMARKER = ++YYCURSOR);
4736
86.2k
    if (yych <= 'T') {
4737
9.56k
      if (yych <= 'R') goto yy48;
4738
7.03k
      if (yych <= 'S') goto yy383;
4739
2.80k
      goto yy384;
4740
76.6k
    } else {
4741
76.6k
      if (yych <= 'r') goto yy48;
4742
75.8k
      if (yych <= 's') goto yy383;
4743
7.53k
      if (yych <= 't') goto yy384;
4744
594
      goto yy48;
4745
7.53k
    }
4746
7.23k
yy292:
4747
7.23k
    YYDEBUG(292, *YYCURSOR);
4748
7.23k
    yyaccept = 4;
4749
7.23k
    yych = *(YYMARKER = ++YYCURSOR);
4750
7.23k
    if (yych == 'L') goto yy385;
4751
6.72k
    if (yych == 'l') goto yy385;
4752
912
    goto yy48;
4753
9.97k
yy293:
4754
9.97k
    YYDEBUG(293, *YYCURSOR);
4755
9.97k
    yyaccept = 4;
4756
9.97k
    yych = *(YYMARKER = ++YYCURSOR);
4757
9.97k
    if (yych == 'A') goto yy386;
4758
9.64k
    if (yych == 'a') goto yy386;
4759
5.54k
    goto yy48;
4760
5.54k
yy294:
4761
2.48k
    YYDEBUG(294, *YYCURSOR);
4762
2.48k
    yyaccept = 19;
4763
2.48k
    yych = *(YYMARKER = ++YYCURSOR);
4764
2.48k
    if (yybm[256+yych] & 128) {
4765
544
      goto yy47;
4766
544
    }
4767
1.94k
    if (yych == '\\') goto yy164;
4768
1.91k
yy295:
4769
1.91k
    YYDEBUG(295, *YYCURSOR);
4770
1.91k
    yyleng = YYCURSOR - SCNG(yy_text);
4771
1.91k
#line 1389 "Zend/zend_language_scanner.l"
4772
1.91k
    {
4773
1.91k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4774
1.91k
}
4775
0
#line 4776 "Zend/zend_language_scanner.c"
4776
94.4k
yy296:
4777
94.4k
    YYDEBUG(296, *YYCURSOR);
4778
94.4k
    yyaccept = 4;
4779
94.4k
    yych = *(YYMARKER = ++YYCURSOR);
4780
94.4k
    if (yych == 'O') goto yy387;
4781
93.2k
    if (yych == 'o') goto yy387;
4782
4.30k
    goto yy48;
4783
12.1k
yy297:
4784
12.1k
    YYDEBUG(297, *YYCURSOR);
4785
12.1k
    yyaccept = 4;
4786
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
4787
12.1k
    if (yych == 'E') goto yy389;
4788
9.98k
    if (yych == 'e') goto yy389;
4789
804
    goto yy48;
4790
6.24k
yy298:
4791
6.24k
    YYDEBUG(298, *YYCURSOR);
4792
6.24k
    yyaccept = 4;
4793
6.24k
    yych = *(YYMARKER = ++YYCURSOR);
4794
6.24k
    if (yych == 'T') goto yy391;
4795
4.88k
    if (yych == 't') goto yy391;
4796
638
    goto yy48;
4797
58.0k
yy299:
4798
58.0k
    YYDEBUG(299, *YYCURSOR);
4799
58.0k
    yyaccept = 4;
4800
58.0k
    yych = *(YYMARKER = ++YYCURSOR);
4801
58.0k
    switch (yych) {
4802
2.04k
    case 'D':
4803
4.86k
    case 'd': goto yy392;
4804
5.12k
    case 'F':
4805
12.6k
    case 'f': goto yy393;
4806
6.94k
    case 'I':
4807
11.1k
    case 'i': goto yy394;
4808
1.15k
    case 'S':
4809
8.45k
    case 's': goto yy395;
4810
6.45k
    case 'W':
4811
10.3k
    case 'w': goto yy396;
4812
10.5k
    default:  goto yy48;
4813
58.0k
    }
4814
202k
yy300:
4815
202k
    YYDEBUG(300, *YYCURSOR);
4816
202k
    yyaccept = 4;
4817
202k
    yych = *(YYMARKER = ++YYCURSOR);
4818
202k
    if (yych == 'M') goto yy397;
4819
195k
    if (yych == 'm') goto yy397;
4820
22.8k
    goto yy48;
4821
22.8k
yy301:
4822
5.51k
    YYDEBUG(301, *YYCURSOR);
4823
5.51k
    yyaccept = 4;
4824
5.51k
    yych = *(YYMARKER = ++YYCURSOR);
4825
5.51k
    if (yych == 'L') goto yy398;
4826
4.90k
    if (yych == 'l') goto yy398;
4827
1.24k
    goto yy48;
4828
4.10k
yy302:
4829
4.10k
    YYDEBUG(302, *YYCURSOR);
4830
4.10k
    yyaccept = 4;
4831
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
4832
4.10k
    if (yych == 'T') goto yy400;
4833
3.54k
    if (yych == 't') goto yy400;
4834
1.26k
    goto yy48;
4835
32.1k
yy303:
4836
32.1k
    YYDEBUG(303, *YYCURSOR);
4837
32.1k
    yyaccept = 4;
4838
32.1k
    yych = *(YYMARKER = ++YYCURSOR);
4839
32.1k
    if (yych == 'E') goto yy402;
4840
30.6k
    if (yych == 'e') goto yy402;
4841
3.13k
    goto yy48;
4842
16.9k
yy304:
4843
16.9k
    YYDEBUG(304, *YYCURSOR);
4844
16.9k
    yyaccept = 4;
4845
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
4846
16.9k
    if (yych == 'A') goto yy403;
4847
15.8k
    if (yych == 'a') goto yy403;
4848
1.19k
    goto yy48;
4849
73.3k
yy305:
4850
73.3k
    YYDEBUG(305, *YYCURSOR);
4851
73.3k
    yyaccept = 20;
4852
73.3k
    yych = *(YYMARKER = ++YYCURSOR);
4853
73.3k
    if (yych <= '\\') {
4854
42.0k
      if (yych <= 'D') {
4855
39.9k
        if (yych <= '/') goto yy306;
4856
1.45k
        if (yych <= '9') goto yy47;
4857
867
        if (yych >= 'A') goto yy47;
4858
2.06k
      } else {
4859
2.06k
        if (yych <= 'E') goto yy404;
4860
1.12k
        if (yych <= 'Z') goto yy47;
4861
426
        if (yych >= '\\') goto yy164;
4862
426
      }
4863
42.0k
    } else {
4864
31.3k
      if (yych <= 'd') {
4865
760
        if (yych == '_') goto yy47;
4866
537
        if (yych >= 'a') goto yy47;
4867
30.6k
      } else {
4868
30.6k
        if (yych <= 'e') goto yy404;
4869
2.97k
        if (yych <= 'z') goto yy47;
4870
998
        if (yych >= 0x80) goto yy47;
4871
998
      }
4872
31.3k
    }
4873
39.9k
yy306:
4874
39.9k
    YYDEBUG(306, *YYCURSOR);
4875
39.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4876
39.9k
#line 1468 "Zend/zend_language_scanner.l"
4877
39.9k
    {
4878
39.9k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4879
39.9k
}
4880
0
#line 4881 "Zend/zend_language_scanner.c"
4881
116k
yy307:
4882
116k
    YYDEBUG(307, *YYCURSOR);
4883
116k
    yyaccept = 4;
4884
116k
    yych = *(YYMARKER = ++YYCURSOR);
4885
116k
    if (yych == 'C') goto yy405;
4886
114k
    if (yych == 'c') goto yy405;
4887
2.54k
    goto yy48;
4888
9.20k
yy308:
4889
9.20k
    YYDEBUG(308, *YYCURSOR);
4890
9.20k
    yyaccept = 4;
4891
9.20k
    yych = *(YYMARKER = ++YYCURSOR);
4892
9.20k
    if (yych == 'B') goto yy406;
4893
6.05k
    if (yych == 'b') goto yy406;
4894
1.59k
    goto yy48;
4895
5.57k
yy309:
4896
5.57k
    YYDEBUG(309, *YYCURSOR);
4897
5.57k
    yyaccept = 4;
4898
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
4899
5.57k
    if (yych == 'O') goto yy407;
4900
4.26k
    if (yych == 'o') goto yy407;
4901
622
    goto yy48;
4902
38.0k
yy310:
4903
38.0k
    YYDEBUG(310, *YYCURSOR);
4904
38.0k
    yyaccept = 4;
4905
38.0k
    yych = *(YYMARKER = ++YYCURSOR);
4906
38.0k
    if (yych == 'L') goto yy409;
4907
35.8k
    if (yych == 'l') goto yy409;
4908
2.67k
    goto yy48;
4909
14.1k
yy311:
4910
14.1k
    YYDEBUG(311, *YYCURSOR);
4911
14.1k
    yyaccept = 4;
4912
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
4913
14.1k
    if (yych == 'L') goto yy410;
4914
12.9k
    if (yych == 'l') goto yy410;
4915
2.93k
    goto yy48;
4916
19.0k
yy312:
4917
19.0k
    YYDEBUG(312, *YYCURSOR);
4918
19.0k
    yyaccept = 4;
4919
19.0k
    yych = *(YYMARKER = ++YYCURSOR);
4920
19.0k
    if (yych == 'T') goto yy411;
4921
14.5k
    if (yych == 't') goto yy411;
4922
873
    goto yy48;
4923
28.4k
yy313:
4924
28.4k
    YYDEBUG(313, *YYCURSOR);
4925
28.4k
    yyaccept = 4;
4926
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
4927
28.4k
    if (yych == 'E') goto yy412;
4928
25.4k
    if (yych == 'e') goto yy412;
4929
12.9k
    goto yy48;
4930
23.0k
yy314:
4931
23.0k
    YYDEBUG(314, *YYCURSOR);
4932
23.0k
    yyaccept = 4;
4933
23.0k
    yych = *(YYMARKER = ++YYCURSOR);
4934
23.0k
    if (yych == 'E') goto yy413;
4935
22.5k
    if (yych == 'e') goto yy413;
4936
1.60k
    goto yy48;
4937
5.76k
yy315:
4938
5.76k
    YYDEBUG(315, *YYCURSOR);
4939
5.76k
    yyaccept = 4;
4940
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
4941
5.76k
    if (yych == 'T') goto yy414;
4942
5.13k
    if (yych == 't') goto yy414;
4943
297
    goto yy48;
4944
6.07k
yy316:
4945
6.07k
    YYDEBUG(316, *YYCURSOR);
4946
6.07k
    yyaccept = 4;
4947
6.07k
    yych = *(YYMARKER = ++YYCURSOR);
4948
6.07k
    if (yych == 'C') goto yy416;
4949
5.26k
    if (yych == 'c') goto yy416;
4950
620
    goto yy48;
4951
34.5k
yy317:
4952
34.5k
    YYDEBUG(317, *YYCURSOR);
4953
34.5k
    yyaccept = 4;
4954
34.5k
    yych = *(YYMARKER = ++YYCURSOR);
4955
34.5k
    if (yych == 'E') goto yy417;
4956
30.2k
    if (yych == 'e') goto yy417;
4957
3.56k
    goto yy48;
4958
119k
yy318:
4959
119k
    YYDEBUG(318, *YYCURSOR);
4960
119k
    yyaccept = 21;
4961
119k
    yych = *(YYMARKER = ++YYCURSOR);
4962
119k
    if (yybm[256+yych] & 128) {
4963
834
      goto yy47;
4964
834
    }
4965
118k
    if (yych == '\\') goto yy164;
4966
118k
yy319:
4967
118k
    YYDEBUG(319, *YYCURSOR);
4968
118k
    yyleng = YYCURSOR - SCNG(yy_text);
4969
118k
#line 1612 "Zend/zend_language_scanner.l"
4970
118k
    {
4971
118k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4972
118k
}
4973
0
#line 4974 "Zend/zend_language_scanner.c"
4974
30.6k
yy320:
4975
30.6k
    YYDEBUG(320, *YYCURSOR);
4976
30.6k
    yyaccept = 4;
4977
30.6k
    yych = *(YYMARKER = ++YYCURSOR);
4978
30.6k
    if (yych <= 'V') {
4979
3.61k
      if (yych == 'N') goto yy418;
4980
2.82k
      if (yych <= 'U') goto yy48;
4981
1.56k
      goto yy419;
4982
27.0k
    } else {
4983
27.0k
      if (yych <= 'n') {
4984
14.3k
        if (yych <= 'm') goto yy48;
4985
11.0k
        goto yy418;
4986
14.3k
      } else {
4987
12.6k
        if (yych == 'v') goto yy419;
4988
615
        goto yy48;
4989
12.6k
      }
4990
27.0k
    }
4991
14.4k
yy321:
4992
14.4k
    YYDEBUG(321, *YYCURSOR);
4993
14.4k
    yyaccept = 4;
4994
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
4995
14.4k
    if (yych == 'T') goto yy420;
4996
13.1k
    if (yych == 't') goto yy420;
4997
2.62k
    goto yy48;
4998
71.8k
yy322:
4999
71.8k
    YYDEBUG(322, *YYCURSOR);
5000
71.8k
    yyaccept = 4;
5001
71.8k
    yych = *(YYMARKER = ++YYCURSOR);
5002
71.8k
    if (yych == 'L') goto yy421;
5003
70.2k
    if (yych == 'l') goto yy421;
5004
2.21k
    goto yy48;
5005
7.78k
yy323:
5006
7.78k
    YYDEBUG(323, *YYCURSOR);
5007
7.78k
    yyaccept = 4;
5008
7.78k
    yych = *(YYMARKER = ++YYCURSOR);
5009
7.78k
    if (yych == 'D') goto yy422;
5010
7.50k
    if (yych == 'd') goto yy422;
5011
1.72k
    goto yy48;
5012
26.6k
yy324:
5013
26.6k
    YYDEBUG(324, *YYCURSOR);
5014
26.6k
    yyaccept = 4;
5015
26.6k
    yych = *(YYMARKER = ++YYCURSOR);
5016
26.6k
    if (yych == 'U') goto yy423;
5017
26.1k
    if (yych == 'u') goto yy423;
5018
7.31k
    goto yy48;
5019
27.0k
yy325:
5020
27.0k
    YYDEBUG(325, *YYCURSOR);
5021
27.0k
    yyaccept = 4;
5022
27.0k
    yych = *(YYMARKER = ++YYCURSOR);
5023
27.0k
    if (yych == 'U') goto yy424;
5024
26.6k
    if (yych == 'u') goto yy424;
5025
1.01k
    goto yy48;
5026
25.6k
yy326:
5027
25.6k
    YYDEBUG(326, *YYCURSOR);
5028
25.6k
    yyaccept = 4;
5029
25.6k
    yych = *(YYMARKER = ++YYCURSOR);
5030
25.6k
    if (yych == 'T') goto yy425;
5031
24.6k
    if (yych == 't') goto yy425;
5032
1.57k
    goto yy48;
5033
8.14k
yy327:
5034
8.14k
    YYDEBUG(327, *YYCURSOR);
5035
8.14k
    yyaccept = 4;
5036
8.14k
    yych = *(YYMARKER = ++YYCURSOR);
5037
8.14k
    if (yych == 'T') goto yy426;
5038
7.76k
    if (yych == 't') goto yy426;
5039
621
    goto yy48;
5040
16.6k
yy328:
5041
16.6k
    YYDEBUG(328, *YYCURSOR);
5042
16.6k
    yyaccept = 4;
5043
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
5044
16.6k
    if (yych == 'O') goto yy427;
5045
15.6k
    if (yych == 'o') goto yy427;
5046
919
    goto yy48;
5047
18.4k
yy329:
5048
18.4k
    YYDEBUG(329, *YYCURSOR);
5049
18.4k
    yyaccept = 4;
5050
18.4k
    yych = *(YYMARKER = ++YYCURSOR);
5051
18.4k
    if (yych == 'I') goto yy428;
5052
16.2k
    if (yych == 'i') goto yy428;
5053
2.78k
    goto yy48;
5054
67.6k
yy330:
5055
67.6k
    YYDEBUG(330, *YYCURSOR);
5056
67.6k
    yyaccept = 22;
5057
67.6k
    yych = *(YYMARKER = ++YYCURSOR);
5058
67.6k
    if (yybm[256+yych] & 128) {
5059
1.93k
      goto yy47;
5060
1.93k
    }
5061
65.7k
    if (yych == '\\') goto yy164;
5062
65.6k
yy331:
5063
65.6k
    YYDEBUG(331, *YYCURSOR);
5064
65.6k
    yyleng = YYCURSOR - SCNG(yy_text);
5065
65.6k
#line 1424 "Zend/zend_language_scanner.l"
5066
65.6k
    {
5067
65.6k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5068
65.6k
}
5069
0
#line 5070 "Zend/zend_language_scanner.c"
5070
19.6k
yy332:
5071
19.6k
    YYDEBUG(332, *YYCURSOR);
5072
19.6k
    yyaccept = 4;
5073
19.6k
    yych = *(YYMARKER = ++YYCURSOR);
5074
19.6k
    if (yych == 'E') goto yy429;
5075
18.9k
    if (yych == 'e') goto yy429;
5076
1.45k
    goto yy48;
5077
17.5k
yy333:
5078
17.5k
    YYDEBUG(333, *YYCURSOR);
5079
17.5k
    yyaccept = 23;
5080
17.5k
    yych = *(YYMARKER = ++YYCURSOR);
5081
17.5k
    if (yybm[256+yych] & 128) {
5082
2.70k
      goto yy47;
5083
2.70k
    }
5084
14.7k
    if (yych == '\\') goto yy164;
5085
14.5k
yy334:
5086
14.5k
    YYDEBUG(334, *YYCURSOR);
5087
14.5k
    yyleng = YYCURSOR - SCNG(yy_text);
5088
14.5k
#line 1688 "Zend/zend_language_scanner.l"
5089
14.5k
    {
5090
14.5k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5091
14.5k
}
5092
0
#line 5093 "Zend/zend_language_scanner.c"
5093
116k
yy335:
5094
116k
    YYDEBUG(335, *YYCURSOR);
5095
116k
    yyaccept = 24;
5096
116k
    yych = *(YYMARKER = ++YYCURSOR);
5097
116k
    if (yybm[256+yych] & 128) {
5098
112k
      goto yy47;
5099
112k
    }
5100
3.50k
    if (yych == '\\') goto yy164;
5101
3.38k
yy336:
5102
3.38k
    YYDEBUG(336, *YYCURSOR);
5103
3.38k
    yyleng = YYCURSOR - SCNG(yy_text);
5104
3.38k
#line 1620 "Zend/zend_language_scanner.l"
5105
3.38k
    {
5106
3.38k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5107
3.38k
}
5108
0
#line 5109 "Zend/zend_language_scanner.c"
5109
5.00k
yy337:
5110
5.00k
    YYDEBUG(337, *YYCURSOR);
5111
5.00k
    yyaccept = 4;
5112
5.00k
    yych = *(YYMARKER = ++YYCURSOR);
5113
5.00k
    if (yych == 'L') goto yy430;
5114
3.93k
    if (yych == 'l') goto yy430;
5115
559
    goto yy48;
5116
5.75k
yy338:
5117
5.75k
    YYDEBUG(338, *YYCURSOR);
5118
5.75k
    yyaccept = 25;
5119
5.75k
    yych = *(YYMARKER = ++YYCURSOR);
5120
5.75k
    if (yybm[256+yych] & 128) {
5121
497
      goto yy47;
5122
497
    }
5123
5.26k
    if (yych == '\\') goto yy164;
5124
5.25k
yy339:
5125
5.25k
    YYDEBUG(339, *YYCURSOR);
5126
5.25k
    yyleng = YYCURSOR - SCNG(yy_text);
5127
5.25k
#line 1884 "Zend/zend_language_scanner.l"
5128
5.25k
    {
5129
5.25k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5130
5.25k
}
5131
0
#line 5132 "Zend/zend_language_scanner.c"
5132
92.9k
yy340:
5133
92.9k
    YYDEBUG(340, *YYCURSOR);
5134
92.9k
    yyaccept = 4;
5135
92.9k
    yych = *(YYMARKER = ++YYCURSOR);
5136
92.9k
    if (yych == 'L') goto yy431;
5137
87.3k
    if (yych == 'l') goto yy431;
5138
7.00k
    goto yy48;
5139
14.4k
yy341:
5140
14.4k
    YYDEBUG(341, *YYCURSOR);
5141
14.4k
    ++YYCURSOR;
5142
14.4k
    YYFILL(1);
5143
14.4k
    yych = *YYCURSOR;
5144
14.4k
    if (yych <= '_') {
5145
10.8k
      if (yych <= '@') goto yy86;
5146
9.96k
      if (yych <= 'Z') goto yy211;
5147
2.18k
      if (yych <= '^') goto yy86;
5148
334
      goto yy211;
5149
3.53k
    } else {
5150
3.53k
      if (yych <= '`') goto yy86;
5151
3.29k
      if (yych <= 'z') goto yy211;
5152
1.50k
      if (yych <= 0x7F) goto yy86;
5153
863
      goto yy211;
5154
1.50k
    }
5155
18.5k
yy342:
5156
18.5k
    YYDEBUG(342, *YYCURSOR);
5157
18.5k
    yyaccept = 4;
5158
18.5k
    yych = *(YYMARKER = ++YYCURSOR);
5159
18.5k
    if (yych == 'L') goto yy432;
5160
15.8k
    if (yych == 'l') goto yy432;
5161
12.2k
    goto yy48;
5162
13.4k
yy343:
5163
13.4k
    YYDEBUG(343, *YYCURSOR);
5164
13.4k
    yyaccept = 4;
5165
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
5166
13.4k
    if (yych == 'I') goto yy433;
5167
9.63k
    if (yych == 'i') goto yy433;
5168
6.15k
    goto yy48;
5169
19.4k
yy344:
5170
19.4k
    YYDEBUG(344, *YYCURSOR);
5171
19.4k
    yyaccept = 4;
5172
19.4k
    yych = *(YYMARKER = ++YYCURSOR);
5173
19.4k
    if (yych <= 'U') {
5174
12.9k
      if (yych == 'I') goto yy434;
5175
5.48k
      if (yych <= 'T') goto yy48;
5176
4.33k
      goto yy435;
5177
6.46k
    } else {
5178
6.46k
      if (yych <= 'i') {
5179
2.09k
        if (yych <= 'h') goto yy48;
5180
1.72k
        goto yy434;
5181
4.37k
      } else {
5182
4.37k
        if (yych == 'u') goto yy435;
5183
787
        goto yy48;
5184
4.37k
      }
5185
6.46k
    }
5186
4.94k
yy345:
5187
4.94k
    YYDEBUG(345, *YYCURSOR);
5188
4.94k
    yyaccept = 4;
5189
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
5190
4.94k
    if (yych == 'A') goto yy436;
5191
3.87k
    if (yych == 'a') goto yy436;
5192
415
    goto yy48;
5193
5.44k
yy346:
5194
5.44k
    YYDEBUG(346, *YYCURSOR);
5195
5.44k
    yyaccept = 4;
5196
5.44k
    yych = *(YYMARKER = ++YYCURSOR);
5197
5.44k
    if (yych == 'I') goto yy437;
5198
2.85k
    if (yych == 'i') goto yy437;
5199
1.18k
    goto yy48;
5200
14.7k
yy347:
5201
14.7k
    YYDEBUG(347, *YYCURSOR);
5202
14.7k
    yyaccept = 4;
5203
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
5204
14.7k
    if (yych == 'E') goto yy438;
5205
3.66k
    if (yych == 'e') goto yy438;
5206
646
    goto yy48;
5207
9.27k
yy348:
5208
9.27k
    YYDEBUG(348, *YYCURSOR);
5209
9.27k
    yyaccept = 4;
5210
9.27k
    yych = *(YYMARKER = ++YYCURSOR);
5211
9.27k
    if (yych == 'A') goto yy439;
5212
5.18k
    if (yych == 'a') goto yy439;
5213
1.36k
    goto yy48;
5214
5.51k
yy349:
5215
5.51k
    YYDEBUG(349, *YYCURSOR);
5216
5.51k
    yyaccept = 4;
5217
5.51k
    yych = *(YYMARKER = ++YYCURSOR);
5218
5.51k
    if (yych == 'R') goto yy440;
5219
1.38k
    if (yych == 'r') goto yy440;
5220
703
    goto yy48;
5221
7.03k
yy350:
5222
7.03k
    YYDEBUG(350, *YYCURSOR);
5223
7.03k
    yyaccept = 4;
5224
7.03k
    yych = *(YYMARKER = ++YYCURSOR);
5225
7.03k
    if (yych == 'R') goto yy441;
5226
4.80k
    if (yych == 'r') goto yy441;
5227
1.81k
    goto yy48;
5228
15.7k
yy351:
5229
15.7k
    YYDEBUG(351, *YYCURSOR);
5230
15.7k
    ++YYCURSOR;
5231
15.7k
    YYFILL(1);
5232
15.7k
    yych = *YYCURSOR;
5233
15.7k
    if (yybm[0+yych] & 2) {
5234
1.12k
      goto yy225;
5235
1.12k
    }
5236
14.5k
    if (yych <= 0x00) goto yy86;
5237
14.2k
    goto yy227;
5238
14.2k
yy352:
5239
9.19k
    YYDEBUG(352, *YYCURSOR);
5240
9.19k
    yyaccept = 26;
5241
9.19k
    YYMARKER = ++YYCURSOR;
5242
9.19k
    YYFILL(1);
5243
9.19k
    yych = *YYCURSOR;
5244
9.19k
    if (yybm[0+yych] & 2) {
5245
8.07k
      goto yy225;
5246
8.07k
    }
5247
1.12k
    if (yych <= 0x00) goto yy89;
5248
233
    goto yy84;
5249
18.2k
yy353:
5250
18.2k
    YYDEBUG(353, *YYCURSOR);
5251
18.2k
    ++YYCURSOR;
5252
18.2k
    YYFILL(1);
5253
18.2k
    yych = *YYCURSOR;
5254
18.2k
    if (yych <= '\f') {
5255
2.10k
      if (yych <= 0x00) goto yy86;
5256
1.89k
      if (yych == '\n') goto yy84;
5257
483
      goto yy225;
5258
16.1k
    } else {
5259
16.1k
      if (yych <= '\r') goto yy84;
5260
5.92k
      if (yych == '.') goto yy442;
5261
1.96k
      goto yy225;
5262
5.92k
    }
5263
55.8k
yy354:
5264
55.8k
    YYDEBUG(354, *YYCURSOR);
5265
55.8k
    ++YYCURSOR;
5266
55.8k
    YYFILL(1);
5267
55.8k
    yych = *YYCURSOR;
5268
55.8k
    if (yych <= '\f') {
5269
1.66k
      if (yych <= 0x00) goto yy86;
5270
1.40k
      if (yych == '\n') goto yy84;
5271
1.15k
      goto yy225;
5272
54.2k
    } else {
5273
54.2k
      if (yych <= '\r') goto yy84;
5274
46.4k
      if (yych == '*') goto yy443;
5275
4.74k
      goto yy225;
5276
46.4k
    }
5277
34.0k
yy355:
5278
34.0k
    YYDEBUG(355, *YYCURSOR);
5279
34.0k
    ++YYCURSOR;
5280
34.0k
    YYFILL(1);
5281
34.0k
    yych = *YYCURSOR;
5282
34.0k
    YYDEBUG(356, *YYCURSOR);
5283
34.0k
    if (yybm[0+yych] & 64) {
5284
2.49k
      goto yy355;
5285
2.49k
    }
5286
31.5k
    if (yych <= 0x00) goto yy86;
5287
30.6k
    if (yych == '/') goto yy84;
5288
6.49k
    goto yy230;
5289
8.84k
yy357:
5290
8.84k
    YYDEBUG(357, *YYCURSOR);
5291
8.84k
    yych = *++YYCURSOR;
5292
8.84k
    if (yych == 'A') goto yy445;
5293
8.61k
    if (yych == 'a') goto yy445;
5294
879
    goto yy86;
5295
1.71k
yy358:
5296
1.71k
    YYDEBUG(358, *YYCURSOR);
5297
1.71k
    yych = *++YYCURSOR;
5298
1.71k
    if (yych == 'A') goto yy446;
5299
1.42k
    if (yych == 'a') goto yy446;
5300
293
    goto yy86;
5301
2.77k
yy359:
5302
2.77k
    YYDEBUG(359, *YYCURSOR);
5303
2.77k
    yych = *++YYCURSOR;
5304
2.77k
    if (yych == 'L') goto yy447;
5305
2.51k
    if (yych == 'l') goto yy447;
5306
323
    goto yy86;
5307
2.28k
yy360:
5308
2.28k
    YYDEBUG(360, *YYCURSOR);
5309
2.28k
    yych = *++YYCURSOR;
5310
2.28k
    if (yych == 'B') goto yy448;
5311
1.92k
    if (yych == 'b') goto yy448;
5312
377
    goto yy86;
5313
3.10k
yy361:
5314
3.10k
    YYDEBUG(361, *YYCURSOR);
5315
3.10k
    yych = *++YYCURSOR;
5316
3.10k
    if (yych == 'A') goto yy449;
5317
2.88k
    if (yych == 'a') goto yy449;
5318
458
    goto yy86;
5319
7.97k
yy362:
5320
7.97k
    YYDEBUG(362, *YYCURSOR);
5321
7.97k
    yych = *++YYCURSOR;
5322
7.97k
    if (yych == 'E') goto yy454;
5323
6.68k
    if (yych == 'e') goto yy454;
5324
5.46k
    goto yy451;
5325
5.98k
yy363:
5326
5.98k
    YYDEBUG(363, *YYCURSOR);
5327
5.98k
    yych = *++YYCURSOR;
5328
5.98k
    if (yych == 'E') goto yy455;
5329
5.74k
    if (yych == 'e') goto yy455;
5330
3.25k
    goto yy86;
5331
3.25k
yy364:
5332
1.13k
    YYDEBUG(364, *YYCURSOR);
5333
1.13k
    yych = *++YYCURSOR;
5334
1.13k
    if (yych == 'L') goto yy456;
5335
865
    if (yych == 'l') goto yy456;
5336
387
    goto yy86;
5337
13.4k
yy365:
5338
13.4k
    YYDEBUG(365, *YYCURSOR);
5339
13.4k
    yych = *++YYCURSOR;
5340
13.4k
    if (yych == 'I') goto yy458;
5341
13.2k
    if (yych == 'i') goto yy458;
5342
3.27k
    goto yy86;
5343
4.48k
yy366:
5344
4.48k
    YYDEBUG(366, *YYCURSOR);
5345
4.48k
    yych = *++YYCURSOR;
5346
4.48k
    if (yych == 'E') goto yy459;
5347
4.16k
    if (yych == 'e') goto yy459;
5348
836
    goto yy86;
5349
1.67k
yy367:
5350
1.67k
    YYDEBUG(367, *YYCURSOR);
5351
1.67k
    yych = *++YYCURSOR;
5352
1.67k
    if (yych == 'D') goto yy460;
5353
1.33k
    if (yych == 'd') goto yy460;
5354
240
    goto yy86;
5355
14.3k
yy368:
5356
14.3k
    YYDEBUG(368, *YYCURSOR);
5357
14.3k
    ++YYCURSOR;
5358
14.3k
    YYFILL(1);
5359
14.3k
    yych = *YYCURSOR;
5360
14.3k
    YYDEBUG(369, *YYCURSOR);
5361
14.3k
    if (yych <= '\f') {
5362
3.98k
      if (yych <= 0x08) goto yy129;
5363
3.59k
      if (yych <= '\n') goto yy368;
5364
998
      goto yy129;
5365
10.3k
    } else {
5366
10.3k
      if (yych <= '\r') goto yy368;
5367
9.95k
      if (yych == ' ') goto yy368;
5368
6.06k
      goto yy129;
5369
9.95k
    }
5370
5.51k
yy370:
5371
5.51k
    YYDEBUG(370, *YYCURSOR);
5372
5.51k
    yych = *++YYCURSOR;
5373
5.51k
    if (yych == '"') goto yy86;
5374
5.20k
    if (yych <= '/') goto yy463;
5375
3.61k
    if (yych <= '9') goto yy86;
5376
3.30k
    goto yy463;
5377
7.92k
yy371:
5378
7.92k
    YYDEBUG(371, *YYCURSOR);
5379
7.92k
    yych = *++YYCURSOR;
5380
7.92k
    if (yych == '\'') goto yy86;
5381
7.66k
    if (yych <= '/') goto yy465;
5382
7.39k
    if (yych <= '9') goto yy86;
5383
7.17k
    goto yy465;
5384
3.87M
yy372:
5385
3.87M
    YYDEBUG(372, *YYCURSOR);
5386
3.87M
    ++YYCURSOR;
5387
3.87M
    YYFILL(2);
5388
3.87M
    yych = *YYCURSOR;
5389
3.87M
    YYDEBUG(373, *YYCURSOR);
5390
3.87M
    if (yych <= '@') {
5391
3.01M
      if (yych <= '\f') {
5392
2.85M
        if (yych == '\n') goto yy466;
5393
38.6k
        goto yy86;
5394
2.85M
      } else {
5395
152k
        if (yych <= '\r') goto yy468;
5396
131k
        if (yych <= '/') goto yy86;
5397
85.5k
        if (yych <= '9') goto yy372;
5398
24.6k
        goto yy86;
5399
85.5k
      }
5400
3.01M
    } else {
5401
864k
      if (yych <= '_') {
5402
113k
        if (yych <= 'Z') goto yy372;
5403
15.7k
        if (yych <= '^') goto yy86;
5404
8.99k
        goto yy372;
5405
750k
      } else {
5406
750k
        if (yych <= '`') goto yy86;
5407
749k
        if (yych <= 'z') goto yy372;
5408
523k
        if (yych <= 0x7F) goto yy86;
5409
518k
        goto yy372;
5410
523k
      }
5411
864k
    }
5412
8.97k
yy374:
5413
8.97k
    YYDEBUG(374, *YYCURSOR);
5414
8.97k
    yyaccept = 4;
5415
8.97k
    yych = *(YYMARKER = ++YYCURSOR);
5416
8.97k
    if (yych == 'R') goto yy469;
5417
7.54k
    if (yych == 'r') goto yy469;
5418
832
    goto yy48;
5419
27.0k
yy375:
5420
27.0k
    YYDEBUG(375, *YYCURSOR);
5421
27.0k
    yyaccept = 4;
5422
27.0k
    yych = *(YYMARKER = ++YYCURSOR);
5423
27.0k
    if (yych == 'Y') goto yy470;
5424
26.7k
    if (yych == 'y') goto yy470;
5425
868
    goto yy48;
5426
3.53k
yy376:
5427
3.53k
    YYDEBUG(376, *YYCURSOR);
5428
3.53k
    yyaccept = 4;
5429
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
5430
3.53k
    if (yych == 'K') goto yy472;
5431
3.22k
    if (yych == 'k') goto yy472;
5432
385
    goto yy48;
5433
15.8k
yy377:
5434
15.8k
    YYDEBUG(377, *YYCURSOR);
5435
15.8k
    yyaccept = 4;
5436
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5437
15.8k
    if (yych == 'A') goto yy474;
5438
14.8k
    if (yych == 'a') goto yy474;
5439
12.5k
    goto yy48;
5440
12.5k
yy378:
5441
12.2k
    YYDEBUG(378, *YYCURSOR);
5442
12.2k
    yyaccept = 27;
5443
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5444
12.2k
    if (yybm[256+yych] & 128) {
5445
551
      goto yy47;
5446
551
    }
5447
11.7k
    if (yych == '\\') goto yy164;
5448
11.7k
yy379:
5449
11.7k
    YYDEBUG(379, *YYCURSOR);
5450
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
5451
11.7k
#line 1512 "Zend/zend_language_scanner.l"
5452
11.7k
    {
5453
11.7k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5454
11.7k
}
5455
0
#line 5456 "Zend/zend_language_scanner.c"
5456
60.8k
yy380:
5457
60.8k
    YYDEBUG(380, *YYCURSOR);
5458
60.8k
    yyaccept = 4;
5459
60.8k
    yych = *(YYMARKER = ++YYCURSOR);
5460
60.8k
    if (yych == 'H') goto yy475;
5461
60.0k
    if (yych == 'h') goto yy475;
5462
614
    goto yy48;
5463
89.7k
yy381:
5464
89.7k
    YYDEBUG(381, *YYCURSOR);
5465
89.7k
    yyaccept = 4;
5466
89.7k
    yych = *(YYMARKER = ++YYCURSOR);
5467
89.7k
    if (yych == 'S') goto yy477;
5468
87.7k
    if (yych == 's') goto yy477;
5469
2.49k
    goto yy48;
5470
3.28k
yy382:
5471
3.28k
    YYDEBUG(382, *YYCURSOR);
5472
3.28k
    yyaccept = 4;
5473
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
5474
3.28k
    if (yych == 'E') goto yy479;
5475
2.33k
    if (yych == 'e') goto yy479;
5476
304
    goto yy48;
5477
72.5k
yy383:
5478
72.5k
    YYDEBUG(383, *YYCURSOR);
5479
72.5k
    yyaccept = 4;
5480
72.5k
    yych = *(YYMARKER = ++YYCURSOR);
5481
72.5k
    if (yych == 'T') goto yy481;
5482
68.4k
    if (yych == 't') goto yy481;
5483
2.75k
    goto yy48;
5484
9.75k
yy384:
5485
9.75k
    YYDEBUG(384, *YYCURSOR);
5486
9.75k
    yyaccept = 4;
5487
9.75k
    yych = *(YYMARKER = ++YYCURSOR);
5488
9.75k
    if (yych == 'I') goto yy483;
5489
8.25k
    if (yych == 'i') goto yy483;
5490
5.36k
    goto yy48;
5491
6.31k
yy385:
5492
6.31k
    YYDEBUG(385, *YYCURSOR);
5493
6.31k
    yyaccept = 4;
5494
6.31k
    yych = *(YYMARKER = ++YYCURSOR);
5495
6.31k
    if (yych == 'A') goto yy484;
5496
5.89k
    if (yych == 'a') goto yy484;
5497
284
    goto yy48;
5498
4.43k
yy386:
5499
4.43k
    YYDEBUG(386, *YYCURSOR);
5500
4.43k
    yyaccept = 4;
5501
4.43k
    yych = *(YYMARKER = ++YYCURSOR);
5502
4.43k
    if (yych == 'U') goto yy485;
5503
4.12k
    if (yych == 'u') goto yy485;
5504
659
    goto yy48;
5505
90.1k
yy387:
5506
90.1k
    YYDEBUG(387, *YYCURSOR);
5507
90.1k
    yyaccept = 28;
5508
90.1k
    yych = *(YYMARKER = ++YYCURSOR);
5509
90.1k
    if (yybm[256+yych] & 128) {
5510
1.92k
      goto yy47;
5511
1.92k
    }
5512
88.2k
    if (yych == '\\') goto yy164;
5513
88.2k
yy388:
5514
88.2k
    YYDEBUG(388, *YYCURSOR);
5515
88.2k
    yyleng = YYCURSOR - SCNG(yy_text);
5516
88.2k
#line 1532 "Zend/zend_language_scanner.l"
5517
88.2k
    {
5518
88.2k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5519
88.2k
}
5520
0
#line 5521 "Zend/zend_language_scanner.c"
5521
11.2k
yy389:
5522
11.2k
    YYDEBUG(389, *YYCURSOR);
5523
11.2k
    yyaccept = 29;
5524
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
5525
11.2k
    if (yych <= '\\') {
5526
6.40k
      if (yych <= 'H') {
5527
3.74k
        if (yych <= '/') goto yy390;
5528
1.59k
        if (yych <= '9') goto yy47;
5529
1.36k
        if (yych >= 'A') goto yy47;
5530
2.65k
      } else {
5531
2.65k
        if (yych <= 'I') goto yy486;
5532
718
        if (yych <= 'Z') goto yy47;
5533
409
        if (yych >= '\\') goto yy164;
5534
409
      }
5535
6.40k
    } else {
5536
4.89k
      if (yych <= 'h') {
5537
657
        if (yych == '_') goto yy47;
5538
451
        if (yych >= 'a') goto yy47;
5539
4.23k
      } else {
5540
4.23k
        if (yych <= 'i') goto yy486;
5541
777
        if (yych <= 'z') goto yy47;
5542
458
        if (yych >= 0x80) goto yy47;
5543
458
      }
5544
4.89k
    }
5545
4.10k
yy390:
5546
4.10k
    YYDEBUG(390, *YYCURSOR);
5547
4.10k
    yyleng = YYCURSOR - SCNG(yy_text);
5548
4.10k
#line 1452 "Zend/zend_language_scanner.l"
5549
4.10k
    {
5550
4.10k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5551
4.10k
}
5552
0
#line 5553 "Zend/zend_language_scanner.c"
5553
5.60k
yy391:
5554
5.60k
    YYDEBUG(391, *YYCURSOR);
5555
5.60k
    yyaccept = 4;
5556
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
5557
5.60k
    if (yych == 'Y') goto yy487;
5558
4.26k
    if (yych == 'y') goto yy487;
5559
278
    goto yy48;
5560
4.86k
yy392:
5561
4.86k
    YYDEBUG(392, *YYCURSOR);
5562
4.86k
    yyaccept = 4;
5563
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
5564
4.86k
    if (yych == 'E') goto yy489;
5565
2.96k
    if (yych == 'e') goto yy489;
5566
429
    goto yy48;
5567
12.6k
yy393:
5568
12.6k
    YYDEBUG(393, *YYCURSOR);
5569
12.6k
    yyaccept = 4;
5570
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5571
12.6k
    if (yych == 'O') goto yy490;
5572
7.47k
    if (yych == 'o') goto yy490;
5573
665
    goto yy48;
5574
11.1k
yy394:
5575
11.1k
    YYDEBUG(394, *YYCURSOR);
5576
11.1k
    yyaccept = 4;
5577
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
5578
11.1k
    if (yych == 'F') goto yy491;
5579
4.43k
    if (yych == 'f') goto yy491;
5580
596
    goto yy48;
5581
8.45k
yy395:
5582
8.45k
    YYDEBUG(395, *YYCURSOR);
5583
8.45k
    yyaccept = 4;
5584
8.45k
    yych = *(YYMARKER = ++YYCURSOR);
5585
8.45k
    if (yych == 'W') goto yy493;
5586
7.84k
    if (yych == 'w') goto yy493;
5587
3.94k
    goto yy48;
5588
10.3k
yy396:
5589
10.3k
    YYDEBUG(396, *YYCURSOR);
5590
10.3k
    yyaccept = 4;
5591
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
5592
10.3k
    if (yych == 'H') goto yy494;
5593
6.88k
    if (yych == 'h') goto yy494;
5594
3.32k
    goto yy48;
5595
180k
yy397:
5596
180k
    YYDEBUG(397, *YYCURSOR);
5597
180k
    yyaccept = 4;
5598
180k
    yych = *(YYMARKER = ++YYCURSOR);
5599
180k
    if (yych <= 0x1F) {
5600
145k
      if (yych <= '\n') {
5601
6.32k
        if (yych <= 0x08) goto yy48;
5602
5.35k
        goto yy495;
5603
138k
      } else {
5604
138k
        if (yych == '\r') goto yy495;
5605
516
        goto yy48;
5606
138k
      }
5607
145k
    } else {
5608
35.0k
      if (yych <= '#') {
5609
23.8k
        if (yych <= ' ') goto yy495;
5610
16.3k
        if (yych <= '"') goto yy48;
5611
15.4k
        goto yy497;
5612
16.3k
      } else {
5613
11.1k
        if (yych == '/') goto yy498;
5614
10.6k
        goto yy48;
5615
11.1k
      }
5616
35.0k
    }
5617
4.26k
yy398:
5618
4.26k
    YYDEBUG(398, *YYCURSOR);
5619
4.26k
    yyaccept = 30;
5620
4.26k
    yych = *(YYMARKER = ++YYCURSOR);
5621
4.26k
    if (yybm[256+yych] & 128) {
5622
466
      goto yy47;
5623
466
    }
5624
3.80k
    if (yych == '\\') goto yy164;
5625
3.78k
yy399:
5626
3.78k
    YYDEBUG(399, *YYCURSOR);
5627
3.78k
    yyleng = YYCURSOR - SCNG(yy_text);
5628
3.78k
#line 1664 "Zend/zend_language_scanner.l"
5629
3.78k
    {
5630
3.78k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5631
3.78k
}
5632
0
#line 5633 "Zend/zend_language_scanner.c"
5633
2.84k
yy400:
5634
2.84k
    YYDEBUG(400, *YYCURSOR);
5635
2.84k
    yyaccept = 31;
5636
2.84k
    yych = *(YYMARKER = ++YYCURSOR);
5637
2.84k
    if (yybm[256+yych] & 128) {
5638
296
      goto yy47;
5639
296
    }
5640
2.55k
    if (yych == '\\') goto yy164;
5641
2.43k
yy401:
5642
2.43k
    YYDEBUG(401, *YYCURSOR);
5643
2.43k
    yyleng = YYCURSOR - SCNG(yy_text);
5644
2.43k
#line 1385 "Zend/zend_language_scanner.l"
5645
2.43k
    {
5646
2.43k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5647
2.43k
}
5648
0
#line 5649 "Zend/zend_language_scanner.c"
5649
29.0k
yy402:
5650
29.0k
    YYDEBUG(402, *YYCURSOR);
5651
29.0k
    yyaccept = 4;
5652
29.0k
    yych = *(YYMARKER = ++YYCURSOR);
5653
29.0k
    if (yych == 'N') goto yy499;
5654
27.6k
    if (yych == 'n') goto yy499;
5655
3.96k
    goto yy48;
5656
15.7k
yy403:
5657
15.7k
    YYDEBUG(403, *YYCURSOR);
5658
15.7k
    yyaccept = 4;
5659
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
5660
15.7k
    if (yych == 'L') goto yy500;
5661
14.6k
    if (yych == 'l') goto yy500;
5662
849
    goto yy48;
5663
28.5k
yy404:
5664
28.5k
    YYDEBUG(404, *YYCURSOR);
5665
28.5k
    yyaccept = 4;
5666
28.5k
    yych = *(YYMARKER = ++YYCURSOR);
5667
28.5k
    if (yych == 'A') goto yy502;
5668
27.8k
    if (yych == 'a') goto yy502;
5669
1.11k
    goto yy48;
5670
114k
yy405:
5671
114k
    YYDEBUG(405, *YYCURSOR);
5672
114k
    yyaccept = 4;
5673
114k
    yych = *(YYMARKER = ++YYCURSOR);
5674
114k
    if (yych == 'T') goto yy503;
5675
112k
    if (yych == 't') goto yy503;
5676
6.78k
    goto yy48;
5677
7.60k
yy406:
5678
7.60k
    YYDEBUG(406, *YYCURSOR);
5679
7.60k
    yyaccept = 4;
5680
7.60k
    yych = *(YYMARKER = ++YYCURSOR);
5681
7.60k
    if (yych == 'A') goto yy504;
5682
5.03k
    if (yych == 'a') goto yy504;
5683
1.10k
    goto yy48;
5684
4.95k
yy407:
5685
4.95k
    YYDEBUG(407, *YYCURSOR);
5686
4.95k
    yyaccept = 32;
5687
4.95k
    yych = *(YYMARKER = ++YYCURSOR);
5688
4.95k
    if (yybm[256+yych] & 128) {
5689
442
      goto yy47;
5690
442
    }
5691
4.51k
    if (yych == '\\') goto yy164;
5692
4.51k
yy408:
5693
4.51k
    YYDEBUG(408, *YYCURSOR);
5694
4.51k
    yyleng = YYCURSOR - SCNG(yy_text);
5695
4.51k
#line 1528 "Zend/zend_language_scanner.l"
5696
4.51k
    {
5697
4.51k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5698
4.51k
}
5699
0
#line 5700 "Zend/zend_language_scanner.c"
5700
35.4k
yy409:
5701
35.4k
    YYDEBUG(409, *YYCURSOR);
5702
35.4k
    yyaccept = 4;
5703
35.4k
    yych = *(YYMARKER = ++YYCURSOR);
5704
35.4k
    if (yych == 'E') goto yy505;
5705
32.4k
    if (yych == 'e') goto yy505;
5706
2.49k
    goto yy48;
5707
11.1k
yy410:
5708
11.1k
    YYDEBUG(410, *YYCURSOR);
5709
11.1k
    yyaccept = 4;
5710
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
5711
11.1k
    if (yych == 'U') goto yy506;
5712
9.83k
    if (yych == 'u') goto yy506;
5713
703
    goto yy48;
5714
18.1k
yy411:
5715
18.1k
    YYDEBUG(411, *YYCURSOR);
5716
18.1k
    yyaccept = 4;
5717
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
5718
18.1k
    if (yych <= 'E') {
5719
4.77k
      if (yych == 'A') goto yy507;
5720
2.52k
      if (yych <= 'D') goto yy48;
5721
1.90k
      goto yy508;
5722
13.3k
    } else {
5723
13.3k
      if (yych <= 'a') {
5724
4.57k
        if (yych <= '`') goto yy48;
5725
4.22k
        goto yy507;
5726
8.79k
      } else {
5727
8.79k
        if (yych == 'e') goto yy508;
5728
584
        goto yy48;
5729
8.79k
      }
5730
13.3k
    }
5731
15.5k
yy412:
5732
15.5k
    YYDEBUG(412, *YYCURSOR);
5733
15.5k
    yyaccept = 4;
5734
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
5735
15.5k
    if (yych == 'R') goto yy509;
5736
13.5k
    if (yych == 'r') goto yy509;
5737
3.49k
    goto yy48;
5738
21.4k
yy413:
5739
21.4k
    YYDEBUG(413, *YYCURSOR);
5740
21.4k
    yyaccept = 4;
5741
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
5742
21.4k
    if (yych == 'T') goto yy510;
5743
21.0k
    if (yych == 't') goto yy510;
5744
537
    goto yy48;
5745
5.47k
yy414:
5746
5.47k
    YYDEBUG(414, *YYCURSOR);
5747
5.47k
    yyaccept = 33;
5748
5.47k
    yych = *(YYMARKER = ++YYCURSOR);
5749
5.47k
    if (yybm[256+yych] & 128) {
5750
1.41k
      goto yy47;
5751
1.41k
    }
5752
4.06k
    if (yych == '\\') goto yy164;
5753
4.06k
yy415:
5754
4.06k
    YYDEBUG(415, *YYCURSOR);
5755
4.06k
    yyleng = YYCURSOR - SCNG(yy_text);
5756
4.06k
#line 1760 "Zend/zend_language_scanner.l"
5757
4.06k
    {
5758
4.06k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5759
4.06k
}
5760
0
#line 5761 "Zend/zend_language_scanner.c"
5761
5.45k
yy416:
5762
5.45k
    YYDEBUG(416, *YYCURSOR);
5763
5.45k
    yyaccept = 4;
5764
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
5765
5.45k
    if (yych == 'H') goto yy512;
5766
5.24k
    if (yych == 'h') goto yy512;
5767
723
    goto yy48;
5768
30.9k
yy417:
5769
30.9k
    YYDEBUG(417, *YYCURSOR);
5770
30.9k
    yyaccept = 4;
5771
30.9k
    yych = *(YYMARKER = ++YYCURSOR);
5772
30.9k
    if (yych == 'S') goto yy514;
5773
27.8k
    if (yych == 's') goto yy514;
5774
3.18k
    goto yy48;
5775
11.8k
yy418:
5776
11.8k
    YYDEBUG(418, *YYCURSOR);
5777
11.8k
    yyaccept = 4;
5778
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5779
11.8k
    if (yych == 'T') goto yy515;
5780
11.0k
    if (yych == 't') goto yy515;
5781
492
    goto yy48;
5782
13.6k
yy419:
5783
13.6k
    YYDEBUG(419, *YYCURSOR);
5784
13.6k
    yyaccept = 4;
5785
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
5786
13.6k
    if (yych == 'A') goto yy517;
5787
12.1k
    if (yych == 'a') goto yy517;
5788
636
    goto yy48;
5789
11.8k
yy420:
5790
11.8k
    YYDEBUG(420, *YYCURSOR);
5791
11.8k
    yyaccept = 4;
5792
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5793
11.8k
    if (yych == 'E') goto yy518;
5794
10.2k
    if (yych == 'e') goto yy518;
5795
1.18k
    goto yy48;
5796
69.6k
yy421:
5797
69.6k
    YYDEBUG(421, *YYCURSOR);
5798
69.6k
    yyaccept = 4;
5799
69.6k
    yych = *(YYMARKER = ++YYCURSOR);
5800
69.6k
    if (yych == 'I') goto yy519;
5801
68.1k
    if (yych == 'i') goto yy519;
5802
945
    goto yy48;
5803
6.06k
yy422:
5804
6.06k
    YYDEBUG(422, *YYCURSOR);
5805
6.06k
    yyaccept = 4;
5806
6.06k
    yych = *(YYMARKER = ++YYCURSOR);
5807
6.06k
    if (yych == 'O') goto yy520;
5808
5.67k
    if (yych == 'o') goto yy520;
5809
504
    goto yy48;
5810
19.3k
yy423:
5811
19.3k
    YYDEBUG(423, *YYCURSOR);
5812
19.3k
    yyaccept = 4;
5813
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
5814
19.3k
    if (yych == 'I') goto yy521;
5815
18.5k
    if (yych == 'i') goto yy521;
5816
813
    goto yy48;
5817
26.0k
yy424:
5818
26.0k
    YYDEBUG(424, *YYCURSOR);
5819
26.0k
    yyaccept = 4;
5820
26.0k
    yych = *(YYMARKER = ++YYCURSOR);
5821
26.0k
    if (yych == 'R') goto yy522;
5822
25.6k
    if (yych == 'r') goto yy522;
5823
578
    goto yy48;
5824
24.0k
yy425:
5825
24.0k
    YYDEBUG(425, *YYCURSOR);
5826
24.0k
    yyaccept = 4;
5827
24.0k
    yych = *(YYMARKER = ++YYCURSOR);
5828
24.0k
    if (yych == 'I') goto yy523;
5829
22.9k
    if (yych == 'i') goto yy523;
5830
1.48k
    goto yy48;
5831
7.52k
yy426:
5832
7.52k
    YYDEBUG(426, *YYCURSOR);
5833
7.52k
    yyaccept = 4;
5834
7.52k
    yych = *(YYMARKER = ++YYCURSOR);
5835
7.52k
    if (yych == 'C') goto yy524;
5836
6.84k
    if (yych == 'c') goto yy524;
5837
740
    goto yy48;
5838
15.7k
yy427:
5839
15.7k
    YYDEBUG(427, *YYCURSOR);
5840
15.7k
    yyaccept = 4;
5841
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
5842
15.7k
    if (yych == 'W') goto yy525;
5843
15.4k
    if (yych == 'w') goto yy525;
5844
893
    goto yy48;
5845
15.6k
yy428:
5846
15.6k
    YYDEBUG(428, *YYCURSOR);
5847
15.6k
    yyaccept = 4;
5848
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
5849
15.6k
    if (yych == 'T') goto yy527;
5850
14.6k
    if (yych == 't') goto yy527;
5851
2.77k
    goto yy48;
5852
18.1k
yy429:
5853
18.1k
    YYDEBUG(429, *YYCURSOR);
5854
18.1k
    yyaccept = 4;
5855
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
5856
18.1k
    if (yych == 'T') goto yy529;
5857
17.4k
    if (yych == 't') goto yy529;
5858
7.56k
    goto yy48;
5859
7.56k
yy430:
5860
4.44k
    YYDEBUG(430, *YYCURSOR);
5861
4.44k
    yyaccept = 4;
5862
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
5863
4.44k
    if (yych == 'E') goto yy531;
5864
3.45k
    if (yych == 'e') goto yy531;
5865
345
    goto yy48;
5866
85.9k
yy431:
5867
85.9k
    YYDEBUG(431, *YYCURSOR);
5868
85.9k
    yyaccept = 4;
5869
85.9k
    yych = *(YYMARKER = ++YYCURSOR);
5870
85.9k
    if (yych == 'D') goto yy533;
5871
84.7k
    if (yych == 'd') goto yy533;
5872
2.31k
    goto yy48;
5873
6.30k
yy432:
5874
6.30k
    YYDEBUG(432, *YYCURSOR);
5875
6.30k
    yyaccept = 4;
5876
6.30k
    yych = *(YYMARKER = ++YYCURSOR);
5877
6.30k
    if (yych == 'A') goto yy535;
5878
4.26k
    if (yych == 'a') goto yy535;
5879
1.24k
    goto yy48;
5880
7.33k
yy433:
5881
7.33k
    YYDEBUG(433, *YYCURSOR);
5882
7.33k
    yyaccept = 4;
5883
7.33k
    yych = *(YYMARKER = ++YYCURSOR);
5884
7.33k
    if (yych == 'R') goto yy536;
5885
3.63k
    if (yych == 'r') goto yy536;
5886
485
    goto yy48;
5887
9.23k
yy434:
5888
9.23k
    YYDEBUG(434, *YYCURSOR);
5889
9.23k
    yyaccept = 4;
5890
9.23k
    yych = *(YYMARKER = ++YYCURSOR);
5891
9.23k
    if (yych == 'L') goto yy537;
5892
2.24k
    if (yych == 'l') goto yy537;
5893
870
    goto yy48;
5894
7.92k
yy435:
5895
7.92k
    YYDEBUG(435, *YYCURSOR);
5896
7.92k
    yyaccept = 4;
5897
7.92k
    yych = *(YYMARKER = ++YYCURSOR);
5898
7.92k
    if (yych == 'N') goto yy538;
5899
4.36k
    if (yych == 'n') goto yy538;
5900
905
    goto yy48;
5901
4.53k
yy436:
5902
4.53k
    YYDEBUG(436, *YYCURSOR);
5903
4.53k
    yyaccept = 4;
5904
4.53k
    yych = *(YYMARKER = ++YYCURSOR);
5905
4.53k
    if (yych == 'L') goto yy539;
5906
3.64k
    if (yych == 'l') goto yy539;
5907
462
    goto yy48;
5908
4.25k
yy437:
5909
4.25k
    YYDEBUG(437, *YYCURSOR);
5910
4.25k
    yyaccept = 4;
5911
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
5912
4.25k
    if (yych == 'N') goto yy540;
5913
1.96k
    if (yych == 'n') goto yy540;
5914
497
    goto yy48;
5915
14.1k
yy438:
5916
14.1k
    YYDEBUG(438, *YYCURSOR);
5917
14.1k
    yyaccept = 4;
5918
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
5919
14.1k
    if (yych == 'T') goto yy541;
5920
3.79k
    if (yych == 't') goto yy541;
5921
1.09k
    goto yy48;
5922
7.91k
yy439:
5923
7.91k
    YYDEBUG(439, *YYCURSOR);
5924
7.91k
    yyaccept = 4;
5925
7.91k
    yych = *(YYMARKER = ++YYCURSOR);
5926
7.91k
    if (yych == 'M') goto yy542;
5927
3.83k
    if (yych == 'm') goto yy542;
5928
414
    goto yy48;
5929
4.80k
yy440:
5930
4.80k
    YYDEBUG(440, *YYCURSOR);
5931
4.80k
    yyaccept = 4;
5932
4.80k
    yych = *(YYMARKER = ++YYCURSOR);
5933
4.80k
    if (yych == 'O') goto yy543;
5934
1.12k
    if (yych == 'o') goto yy543;
5935
812
    goto yy48;
5936
5.21k
yy441:
5937
5.21k
    YYDEBUG(441, *YYCURSOR);
5938
5.21k
    yyaccept = 4;
5939
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
5940
5.21k
    if (yych == 'A') goto yy544;
5941
3.62k
    if (yych == 'a') goto yy544;
5942
426
    goto yy48;
5943
3.96k
yy442:
5944
3.96k
    YYDEBUG(442, *YYCURSOR);
5945
3.96k
    ++YYCURSOR;
5946
3.96k
    YYFILL(1);
5947
3.96k
    yych = *YYCURSOR;
5948
3.96k
    if (yych <= '\f') {
5949
860
      if (yych <= 0x00) goto yy86;
5950
665
      if (yych == '\n') goto yy84;
5951
461
      goto yy225;
5952
3.10k
    } else {
5953
3.10k
      if (yych <= '\r') goto yy84;
5954
2.90k
      if (yych == '.') goto yy352;
5955
2.54k
      goto yy225;
5956
2.90k
    }
5957
746k
yy443:
5958
746k
    YYDEBUG(443, *YYCURSOR);
5959
746k
    ++YYCURSOR;
5960
746k
    YYFILL(1);
5961
746k
    yych = *YYCURSOR;
5962
746k
    YYDEBUG(444, *YYCURSOR);
5963
746k
    if (yybm[0+yych] & 128) {
5964
632k
      goto yy443;
5965
632k
    }
5966
114k
    if (yych <= 0x00) goto yy86;
5967
110k
    if (yych <= '\r') goto yy545;
5968
17.4k
    goto yy547;
5969
17.4k
yy445:
5970
7.96k
    YYDEBUG(445, *YYCURSOR);
5971
7.96k
    yych = *++YYCURSOR;
5972
7.96k
    if (yych == 'Y') goto yy549;
5973
7.74k
    if (yych == 'y') goto yy549;
5974
374
    goto yy86;
5975
1.42k
yy446:
5976
1.42k
    YYDEBUG(446, *YYCURSOR);
5977
1.42k
    yych = *++YYCURSOR;
5978
1.42k
    if (yych == 'R') goto yy551;
5979
1.17k
    if (yych == 'r') goto yy551;
5980
394
    goto yy86;
5981
2.45k
yy447:
5982
2.45k
    YYDEBUG(447, *YYCURSOR);
5983
2.45k
    yych = *++YYCURSOR;
5984
2.45k
    if (yych == 'E') goto yy556;
5985
2.22k
    if (yych == 'e') goto yy556;
5986
1.28k
    goto yy553;
5987
1.90k
yy448:
5988
1.90k
    YYDEBUG(448, *YYCURSOR);
5989
1.90k
    yych = *++YYCURSOR;
5990
1.90k
    if (yych == 'L') goto yy557;
5991
1.62k
    if (yych == 'l') goto yy557;
5992
378
    goto yy86;
5993
2.64k
yy449:
5994
2.64k
    YYDEBUG(449, *YYCURSOR);
5995
2.64k
    yych = *++YYCURSOR;
5996
2.64k
    if (yych == 'T') goto yy558;
5997
2.45k
    if (yych == 't') goto yy558;
5998
250
    goto yy86;
5999
3.40k
yy450:
6000
3.40k
    YYDEBUG(450, *YYCURSOR);
6001
3.40k
    ++YYCURSOR;
6002
3.40k
    YYFILL(1);
6003
3.40k
    yych = *YYCURSOR;
6004
8.86k
yy451:
6005
8.86k
    YYDEBUG(451, *YYCURSOR);
6006
8.86k
    if (yych <= 0x1F) {
6007
814
      if (yych == '\t') goto yy450;
6008
418
      goto yy86;
6009
8.05k
    } else {
6010
8.05k
      if (yych <= ' ') goto yy450;
6011
5.76k
      if (yych != ')') goto yy86;
6012
5.76k
    }
6013
1.90k
    YYDEBUG(452, *YYCURSOR);
6014
1.90k
    ++YYCURSOR;
6015
1.90k
    YYDEBUG(453, *YYCURSOR);
6016
1.90k
    yyleng = YYCURSOR - SCNG(yy_text);
6017
1.90k
#line 1624 "Zend/zend_language_scanner.l"
6018
1.90k
    {
6019
1.90k
  RETURN_TOKEN(T_INT_CAST);
6020
1.90k
}
6021
0
#line 6022 "Zend/zend_language_scanner.c"
6022
2.51k
yy454:
6023
2.51k
    YYDEBUG(454, *YYCURSOR);
6024
2.51k
    yych = *++YYCURSOR;
6025
2.51k
    if (yych == 'G') goto yy560;
6026
2.09k
    if (yych == 'g') goto yy560;
6027
1.16k
    goto yy86;
6028
2.73k
yy455:
6029
2.73k
    YYDEBUG(455, *YYCURSOR);
6030
2.73k
    yych = *++YYCURSOR;
6031
2.73k
    if (yych == 'C') goto yy561;
6032
2.49k
    if (yych == 'c') goto yy561;
6033
527
    goto yy86;
6034
1.29k
yy456:
6035
1.29k
    YYDEBUG(456, *YYCURSOR);
6036
1.29k
    ++YYCURSOR;
6037
1.29k
    YYFILL(1);
6038
1.29k
    yych = *YYCURSOR;
6039
1.29k
    YYDEBUG(457, *YYCURSOR);
6040
1.29k
    if (yych <= 0x1F) {
6041
590
      if (yych == '\t') goto yy456;
6042
233
      goto yy86;
6043
709
    } else {
6044
709
      if (yych <= ' ') goto yy456;
6045
513
      if (yych == ')') goto yy562;
6046
283
      goto yy86;
6047
513
    }
6048
10.2k
yy458:
6049
10.2k
    YYDEBUG(458, *YYCURSOR);
6050
10.2k
    yych = *++YYCURSOR;
6051
10.2k
    if (yych == 'N') goto yy564;
6052
9.99k
    if (yych == 'n') goto yy564;
6053
2.74k
    goto yy86;
6054
3.65k
yy459:
6055
3.65k
    YYDEBUG(459, *YYCURSOR);
6056
3.65k
    yych = *++YYCURSOR;
6057
3.65k
    if (yych == 'T') goto yy565;
6058
3.30k
    if (yych == 't') goto yy565;
6059
837
    goto yy86;
6060
2.03k
yy460:
6061
2.03k
    YYDEBUG(460, *YYCURSOR);
6062
2.03k
    ++YYCURSOR;
6063
2.03k
    YYFILL(1);
6064
2.03k
    yych = *YYCURSOR;
6065
2.03k
    YYDEBUG(461, *YYCURSOR);
6066
2.03k
    if (yych <= 0x1F) {
6067
658
      if (yych == '\t') goto yy460;
6068
260
      goto yy86;
6069
1.37k
    } else {
6070
1.37k
      if (yych <= ' ') goto yy460;
6071
1.17k
      if (yych == ')') goto yy567;
6072
401
      goto yy86;
6073
1.17k
    }
6074
21.7k
yy462:
6075
21.7k
    YYDEBUG(462, *YYCURSOR);
6076
21.7k
    ++YYCURSOR;
6077
21.7k
    YYFILL(3);
6078
21.7k
    yych = *YYCURSOR;
6079
26.6k
yy463:
6080
26.6k
    YYDEBUG(463, *YYCURSOR);
6081
26.6k
    if (yych <= 'Z') {
6082
14.6k
      if (yych <= '/') {
6083
2.94k
        if (yych == '"') goto yy569;
6084
2.04k
        goto yy86;
6085
11.7k
      } else {
6086
11.7k
        if (yych <= '9') goto yy462;
6087
1.85k
        if (yych <= '@') goto yy86;
6088
807
        goto yy462;
6089
1.85k
      }
6090
14.6k
    } else {
6091
12.0k
      if (yych <= '`') {
6092
782
        if (yych == '_') goto yy462;
6093
335
        goto yy86;
6094
11.2k
      } else {
6095
11.2k
        if (yych <= 'z') goto yy462;
6096
2.05k
        if (yych <= 0x7F) goto yy86;
6097
1.48k
        goto yy462;
6098
2.05k
      }
6099
12.0k
    }
6100
31.1k
yy464:
6101
31.1k
    YYDEBUG(464, *YYCURSOR);
6102
31.1k
    ++YYCURSOR;
6103
31.1k
    YYFILL(3);
6104
31.1k
    yych = *YYCURSOR;
6105
38.6k
yy465:
6106
38.6k
    YYDEBUG(465, *YYCURSOR);
6107
38.6k
    if (yych <= 'Z') {
6108
16.9k
      if (yych <= '/') {
6109
5.31k
        if (yych == '\'') goto yy569;
6110
612
        goto yy86;
6111
11.6k
      } else {
6112
11.6k
        if (yych <= '9') goto yy464;
6113
11.2k
        if (yych <= '@') goto yy86;
6114
10.2k
        goto yy464;
6115
11.2k
      }
6116
21.7k
    } else {
6117
21.7k
      if (yych <= '`') {
6118
1.48k
        if (yych == '_') goto yy464;
6119
434
        goto yy86;
6120
20.2k
      } else {
6121
20.2k
        if (yych <= 'z') goto yy464;
6122
10.9k
        if (yych <= 0x7F) goto yy86;
6123
10.2k
        goto yy464;
6124
10.9k
      }
6125
21.7k
    }
6126
2.82M
yy466:
6127
2.82M
    YYDEBUG(466, *YYCURSOR);
6128
2.82M
    ++YYCURSOR;
6129
2.84M
yy467:
6130
2.84M
    YYDEBUG(467, *YYCURSOR);
6131
2.84M
    yyleng = YYCURSOR - SCNG(yy_text);
6132
2.84M
#line 2626 "Zend/zend_language_scanner.l"
6133
2.84M
    {
6134
2.84M
  char *s;
6135
2.84M
  unsigned char *saved_cursor;
6136
2.84M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6137
2.84M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6138
2.84M
  bool is_heredoc = 1;
6139
6140
2.84M
  CG(zend_lineno)++;
6141
2.84M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6142
2.84M
  s = yytext+bprefix+3;
6143
2.84M
  while ((*s == ' ') || (*s == '\t')) {
6144
658
    s++;
6145
658
    heredoc_label->length--;
6146
658
  }
6147
6148
2.84M
  if (*s == '\'') {
6149
4.27k
    s++;
6150
4.27k
    heredoc_label->length -= 2;
6151
4.27k
    is_heredoc = 0;
6152
6153
4.27k
    BEGIN(ST_NOWDOC);
6154
2.84M
  } else {
6155
2.84M
    if (*s == '"') {
6156
608
      s++;
6157
608
      heredoc_label->length -= 2;
6158
608
    }
6159
6160
2.84M
    BEGIN(ST_HEREDOC);
6161
2.84M
  }
6162
6163
2.84M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6164
2.84M
  heredoc_label->indentation_uses_spaces = 0;
6165
2.84M
  heredoc_label->indentation = 0;
6166
2.84M
  saved_cursor = YYCURSOR;
6167
6168
2.84M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6169
6170
2.86M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6171
17.6k
    if (*YYCURSOR == '\t') {
6172
5.48k
      spacing |= HEREDOC_USING_TABS;
6173
12.1k
    } else {
6174
12.1k
      spacing |= HEREDOC_USING_SPACES;
6175
12.1k
    }
6176
17.6k
    ++YYCURSOR;
6177
17.6k
    ++indentation;
6178
17.6k
  }
6179
6180
2.84M
  if (YYCURSOR == YYLIMIT) {
6181
1.75k
    YYCURSOR = saved_cursor;
6182
1.75k
    RETURN_TOKEN(T_START_HEREDOC);
6183
1.75k
  }
6184
6185
  /* Check for ending label on the next line */
6186
2.84M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6187
8.22k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6188
3.28k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6189
208
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6190
208
        if (PARSER_MODE()) {
6191
14
          RETURN_TOKEN(T_ERROR);
6192
14
        }
6193
208
      }
6194
6195
3.27k
      YYCURSOR = saved_cursor;
6196
3.27k
      heredoc_label->indentation = indentation;
6197
6198
3.27k
      BEGIN(ST_END_HEREDOC);
6199
3.27k
      RETURN_TOKEN(T_START_HEREDOC);
6200
3.27k
    }
6201
8.22k
  }
6202
6203
2.84M
  YYCURSOR = saved_cursor;
6204
6205
2.84M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6206
165k
    zend_lex_state current_state;
6207
165k
    zend_string *saved_doc_comment = CG(doc_comment);
6208
165k
    int heredoc_nesting_level = 1;
6209
165k
    int first_token = 0;
6210
165k
    int error = 0;
6211
6212
165k
    zend_save_lexical_state(&current_state);
6213
6214
165k
    SCNG(heredoc_scan_ahead) = 1;
6215
165k
    SCNG(heredoc_indentation) = 0;
6216
165k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6217
165k
    LANG_SCNG(on_event) = NULL;
6218
165k
    CG(doc_comment) = NULL;
6219
6220
165k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6221
6222
165k
    zend_exception_save();
6223
21.5M
    while (heredoc_nesting_level) {
6224
21.5M
      zval zv;
6225
21.5M
      int retval;
6226
6227
21.5M
      ZVAL_UNDEF(&zv);
6228
21.5M
      retval = lex_scan(&zv, NULL);
6229
21.5M
      zval_ptr_dtor_nogc(&zv);
6230
6231
21.5M
      if (EG(exception)) {
6232
155k
        zend_clear_exception();
6233
155k
        break;
6234
155k
      }
6235
6236
21.3M
      if (!first_token) {
6237
165k
        first_token = retval;
6238
165k
      }
6239
6240
21.3M
      switch (retval) {
6241
2.67M
        case T_START_HEREDOC:
6242
2.67M
          ++heredoc_nesting_level;
6243
2.67M
          break;
6244
11.5k
        case T_END_HEREDOC:
6245
11.5k
          --heredoc_nesting_level;
6246
11.5k
          break;
6247
4.49k
        case END:
6248
4.49k
          heredoc_nesting_level = 0;
6249
21.3M
      }
6250
21.3M
    }
6251
165k
    zend_exception_restore();
6252
6253
165k
    if (
6254
165k
        (first_token == T_VARIABLE
6255
165k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6256
165k
         || first_token == T_CURLY_OPEN
6257
165k
        ) && SCNG(heredoc_indentation)) {
6258
6
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6259
6
      error = 1;
6260
6
    }
6261
6262
165k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6263
165k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6264
6265
165k
    zend_restore_lexical_state(&current_state);
6266
165k
    SCNG(heredoc_scan_ahead) = 0;
6267
165k
    CG(increment_lineno) = 0;
6268
165k
    CG(doc_comment) = saved_doc_comment;
6269
6270
165k
    if (PARSER_MODE() && error) {
6271
6
      RETURN_TOKEN(T_ERROR);
6272
6
    }
6273
165k
  }
6274
6275
2.84M
  RETURN_TOKEN(T_START_HEREDOC);
6276
2.84M
}
6277
0
#line 6278 "Zend/zend_language_scanner.c"
6278
22.3k
yy468:
6279
22.3k
    YYDEBUG(468, *YYCURSOR);
6280
22.3k
    yych = *++YYCURSOR;
6281
22.3k
    if (yych == '\n') goto yy466;
6282
21.8k
    goto yy467;
6283
21.8k
yy469:
6284
8.14k
    YYDEBUG(469, *YYCURSOR);
6285
8.14k
    yyaccept = 4;
6286
8.14k
    yych = *(YYMARKER = ++YYCURSOR);
6287
8.14k
    if (yych == 'A') goto yy570;
6288
6.63k
    if (yych == 'a') goto yy570;
6289
531
    goto yy48;
6290
26.1k
yy470:
6291
26.1k
    YYDEBUG(470, *YYCURSOR);
6292
26.1k
    yyaccept = 34;
6293
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
6294
26.1k
    if (yybm[256+yych] & 128) {
6295
6.45k
      goto yy47;
6296
6.45k
    }
6297
19.7k
    if (yych == '\\') goto yy164;
6298
19.7k
yy471:
6299
19.7k
    YYDEBUG(471, *YYCURSOR);
6300
19.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6301
19.7k
#line 1764 "Zend/zend_language_scanner.l"
6302
19.7k
    {
6303
19.7k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6304
19.7k
}
6305
0
#line 6306 "Zend/zend_language_scanner.c"
6306
3.14k
yy472:
6307
3.14k
    YYDEBUG(472, *YYCURSOR);
6308
3.14k
    yyaccept = 35;
6309
3.14k
    yych = *(YYMARKER = ++YYCURSOR);
6310
3.14k
    if (yybm[256+yych] & 128) {
6311
418
      goto yy47;
6312
418
    }
6313
2.72k
    if (yych == '\\') goto yy164;
6314
2.70k
yy473:
6315
2.70k
    YYDEBUG(473, *YYCURSOR);
6316
2.70k
    yyleng = YYCURSOR - SCNG(yy_text);
6317
2.70k
#line 1520 "Zend/zend_language_scanner.l"
6318
2.70k
    {
6319
2.70k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6320
2.70k
}
6321
0
#line 6322 "Zend/zend_language_scanner.c"
6322
3.33k
yy474:
6323
3.33k
    YYDEBUG(474, *YYCURSOR);
6324
3.33k
    yyaccept = 4;
6325
3.33k
    yych = *(YYMARKER = ++YYCURSOR);
6326
3.33k
    if (yych == 'B') goto yy571;
6327
2.36k
    if (yych == 'b') goto yy571;
6328
296
    goto yy48;
6329
60.2k
yy475:
6330
60.2k
    YYDEBUG(475, *YYCURSOR);
6331
60.2k
    yyaccept = 36;
6332
60.2k
    yych = *(YYMARKER = ++YYCURSOR);
6333
60.2k
    if (yybm[256+yych] & 128) {
6334
551
      goto yy47;
6335
551
    }
6336
59.7k
    if (yych == '\\') goto yy164;
6337
59.7k
yy476:
6338
59.7k
    YYDEBUG(476, *YYCURSOR);
6339
59.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6340
59.7k
#line 1428 "Zend/zend_language_scanner.l"
6341
59.7k
    {
6342
59.7k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6343
59.7k
}
6344
0
#line 6345 "Zend/zend_language_scanner.c"
6345
87.2k
yy477:
6346
87.2k
    YYDEBUG(477, *YYCURSOR);
6347
87.2k
    yyaccept = 37;
6348
87.2k
    yych = *(YYMARKER = ++YYCURSOR);
6349
87.2k
    if (yybm[256+yych] & 128) {
6350
5.88k
      goto yy47;
6351
5.88k
    }
6352
81.3k
    if (yych == '\\') goto yy164;
6353
81.3k
yy478:
6354
81.3k
    YYDEBUG(478, *YYCURSOR);
6355
81.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6356
81.3k
#line 1540 "Zend/zend_language_scanner.l"
6357
81.3k
    {
6358
81.3k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6359
81.3k
}
6360
0
#line 6361 "Zend/zend_language_scanner.c"
6361
2.97k
yy479:
6362
2.97k
    YYDEBUG(479, *YYCURSOR);
6363
2.97k
    yyaccept = 38;
6364
2.97k
    yych = *(YYMARKER = ++YYCURSOR);
6365
2.97k
    if (yybm[256+yych] & 128) {
6366
574
      goto yy47;
6367
574
    }
6368
2.40k
    if (yych == '\\') goto yy164;
6369
2.38k
yy480:
6370
2.38k
    YYDEBUG(480, *YYCURSOR);
6371
2.38k
    yyleng = YYCURSOR - SCNG(yy_text);
6372
2.38k
#line 1616 "Zend/zend_language_scanner.l"
6373
2.38k
    {
6374
2.38k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6375
2.38k
}
6376
0
#line 6377 "Zend/zend_language_scanner.c"
6377
69.7k
yy481:
6378
69.7k
    YYDEBUG(481, *YYCURSOR);
6379
69.7k
    yyaccept = 39;
6380
69.7k
    yych = *(YYMARKER = ++YYCURSOR);
6381
69.7k
    if (yybm[256+yych] & 128) {
6382
13.8k
      goto yy47;
6383
13.8k
    }
6384
55.9k
    if (yych == '\\') goto yy164;
6385
55.9k
yy482:
6386
55.9k
    YYDEBUG(482, *YYCURSOR);
6387
55.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6388
55.9k
#line 1401 "Zend/zend_language_scanner.l"
6389
55.9k
    {
6390
55.9k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6391
55.9k
}
6392
0
#line 6393 "Zend/zend_language_scanner.c"
6393
4.38k
yy483:
6394
4.38k
    YYDEBUG(483, *YYCURSOR);
6395
4.38k
    yyaccept = 4;
6396
4.38k
    yych = *(YYMARKER = ++YYCURSOR);
6397
4.38k
    if (yych == 'N') goto yy572;
6398
2.94k
    if (yych == 'n') goto yy572;
6399
323
    goto yy48;
6400
6.03k
yy484:
6401
6.03k
    YYDEBUG(484, *YYCURSOR);
6402
6.03k
    yyaccept = 4;
6403
6.03k
    yych = *(YYMARKER = ++YYCURSOR);
6404
6.03k
    if (yych == 'R') goto yy573;
6405
5.25k
    if (yych == 'r') goto yy573;
6406
1.06k
    goto yy48;
6407
3.77k
yy485:
6408
3.77k
    YYDEBUG(485, *YYCURSOR);
6409
3.77k
    yyaccept = 4;
6410
3.77k
    yych = *(YYMARKER = ++YYCURSOR);
6411
3.77k
    if (yych == 'L') goto yy574;
6412
3.48k
    if (yych == 'l') goto yy574;
6413
329
    goto yy48;
6414
5.40k
yy486:
6415
5.40k
    YYDEBUG(486, *YYCURSOR);
6416
5.40k
    yyaccept = 4;
6417
5.40k
    yych = *(YYMARKER = ++YYCURSOR);
6418
5.40k
    if (yych == 'F') goto yy575;
6419
4.98k
    if (yych == 'f') goto yy575;
6420
2.59k
    goto yy48;
6421
5.33k
yy487:
6422
5.33k
    YYDEBUG(487, *YYCURSOR);
6423
5.33k
    yyaccept = 40;
6424
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
6425
5.33k
    if (yybm[256+yych] & 128) {
6426
1.01k
      goto yy47;
6427
1.01k
    }
6428
4.31k
    if (yych == '\\') goto yy164;
6429
4.31k
yy488:
6430
4.31k
    YYDEBUG(488, *YYCURSOR);
6431
4.31k
    yyleng = YYCURSOR - SCNG(yy_text);
6432
4.31k
#line 1704 "Zend/zend_language_scanner.l"
6433
4.31k
    {
6434
4.31k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6435
4.31k
}
6436
0
#line 6437 "Zend/zend_language_scanner.c"
6437
4.44k
yy489:
6438
4.44k
    YYDEBUG(489, *YYCURSOR);
6439
4.44k
    yyaccept = 4;
6440
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
6441
4.44k
    if (yych == 'C') goto yy577;
6442
3.54k
    if (yych == 'c') goto yy577;
6443
1.22k
    goto yy48;
6444
11.9k
yy490:
6445
11.9k
    YYDEBUG(490, *YYCURSOR);
6446
11.9k
    yyaccept = 4;
6447
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
6448
11.9k
    if (yych == 'R') goto yy578;
6449
7.63k
    if (yych == 'r') goto yy578;
6450
876
    goto yy48;
6451
10.5k
yy491:
6452
10.5k
    YYDEBUG(491, *YYCURSOR);
6453
10.5k
    yyaccept = 41;
6454
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6455
10.5k
    if (yybm[256+yych] & 128) {
6456
319
      goto yy47;
6457
319
    }
6458
10.2k
    if (yych == '\\') goto yy164;
6459
10.2k
yy492:
6460
10.2k
    YYDEBUG(492, *YYCURSOR);
6461
10.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6462
10.2k
#line 1448 "Zend/zend_language_scanner.l"
6463
10.2k
    {
6464
10.2k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6465
10.2k
}
6466
0
#line 6467 "Zend/zend_language_scanner.c"
6467
4.50k
yy493:
6468
4.50k
    YYDEBUG(493, *YYCURSOR);
6469
4.50k
    yyaccept = 4;
6470
4.50k
    yych = *(YYMARKER = ++YYCURSOR);
6471
4.50k
    if (yych == 'I') goto yy580;
6472
4.13k
    if (yych == 'i') goto yy580;
6473
469
    goto yy48;
6474
7.04k
yy494:
6475
7.04k
    YYDEBUG(494, *YYCURSOR);
6476
7.04k
    yyaccept = 4;
6477
7.04k
    yych = *(YYMARKER = ++YYCURSOR);
6478
7.04k
    if (yych == 'I') goto yy581;
6479
3.72k
    if (yych == 'i') goto yy581;
6480
295
    goto yy48;
6481
686k
yy495:
6482
686k
    YYDEBUG(495, *YYCURSOR);
6483
686k
    ++YYCURSOR;
6484
686k
    YYFILL(10);
6485
686k
    yych = *YYCURSOR;
6486
686k
    YYDEBUG(496, *YYCURSOR);
6487
686k
    if (yych <= 'E') {
6488
654k
      if (yych <= ' ') {
6489
61.6k
        if (yych <= '\f') {
6490
17.0k
          if (yych <= 0x08) goto yy86;
6491
13.0k
          if (yych <= '\n') goto yy495;
6492
1.32k
          goto yy86;
6493
44.5k
        } else {
6494
44.5k
          if (yych <= '\r') goto yy495;
6495
11.8k
          if (yych <= 0x1F) goto yy86;
6496
10.6k
          goto yy495;
6497
11.8k
        }
6498
593k
      } else {
6499
593k
        if (yych <= '.') {
6500
570k
          if (yych != '#') goto yy86;
6501
570k
        } else {
6502
22.5k
          if (yych <= '/') goto yy498;
6503
4.71k
          if (yych <= '@') goto yy86;
6504
1.85k
          if (yych <= 'D') goto yy582;
6505
926
          goto yy584;
6506
1.85k
        }
6507
593k
      }
6508
654k
    } else {
6509
32.1k
      if (yych <= '`') {
6510
5.18k
        if (yych <= 'Z') {
6511
3.51k
          if (yych == 'I') goto yy585;
6512
2.43k
          goto yy582;
6513
3.51k
        } else {
6514
1.67k
          if (yych == '_') goto yy582;
6515
1.03k
          goto yy86;
6516
1.67k
        }
6517
26.9k
      } else {
6518
26.9k
        if (yych <= 'h') {
6519
7.79k
          if (yych == 'e') goto yy584;
6520
1.93k
          goto yy582;
6521
19.1k
        } else {
6522
19.1k
          if (yych <= 'i') goto yy585;
6523
13.2k
          if (yych <= 'z') goto yy582;
6524
6.03k
          if (yych <= 0x7F) goto yy86;
6525
3.12k
          goto yy582;
6526
6.03k
        }
6527
26.9k
      }
6528
32.1k
    }
6529
572k
yy497:
6530
572k
    YYDEBUG(497, *YYCURSOR);
6531
572k
    ++YYCURSOR;
6532
572k
    YYFILL(1);
6533
572k
    yych = *YYCURSOR;
6534
572k
    if (yych <= '\f') {
6535
408k
      if (yych <= 0x00) goto yy86;
6536
406k
      if (yych == '\n') goto yy588;
6537
5.57k
      goto yy586;
6538
406k
    } else {
6539
164k
      if (yych <= '\r') goto yy588;
6540
62.2k
      if (yych == '[') goto yy86;
6541
61.8k
      goto yy586;
6542
62.2k
    }
6543
18.3k
yy498:
6544
18.3k
    YYDEBUG(498, *YYCURSOR);
6545
18.3k
    ++YYCURSOR;
6546
18.3k
    YYFILL(1);
6547
18.3k
    yych = *YYCURSOR;
6548
18.3k
    if (yych == '*') goto yy590;
6549
4.70k
    if (yych == '/') goto yy586;
6550
2.58k
    goto yy86;
6551
25.0k
yy499:
6552
25.0k
    YYDEBUG(499, *YYCURSOR);
6553
25.0k
    yyaccept = 4;
6554
25.0k
    yych = *(YYMARKER = ++YYCURSOR);
6555
25.0k
    if (yych == 'D') goto yy592;
6556
23.6k
    if (yych == 'd') goto yy592;
6557
4.58k
    goto yy48;
6558
14.8k
yy500:
6559
14.8k
    YYDEBUG(500, *YYCURSOR);
6560
14.8k
    yyaccept = 42;
6561
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
6562
14.8k
    if (yych <= '\\') {
6563
8.41k
      if (yych <= 'K') {
6564
7.29k
        if (yych <= '/') goto yy501;
6565
1.59k
        if (yych <= '9') goto yy47;
6566
985
        if (yych >= 'A') goto yy47;
6567
1.11k
      } else {
6568
1.11k
        if (yych <= 'L') goto yy593;
6569
709
        if (yych <= 'Z') goto yy47;
6570
408
        if (yych >= '\\') goto yy164;
6571
408
      }
6572
8.41k
    } else {
6573
6.45k
      if (yych <= 'k') {
6574
735
        if (yych == '_') goto yy47;
6575
533
        if (yych >= 'a') goto yy47;
6576
5.71k
      } else {
6577
5.71k
        if (yych <= 'l') goto yy593;
6578
978
        if (yych <= 'z') goto yy47;
6579
685
        if (yych >= 0x80) goto yy47;
6580
685
      }
6581
6.45k
    }
6582
7.31k
yy501:
6583
7.31k
    YYDEBUG(501, *YYCURSOR);
6584
7.31k
    yyleng = YYCURSOR - SCNG(yy_text);
6585
7.31k
#line 1720 "Zend/zend_language_scanner.l"
6586
7.31k
    {
6587
7.31k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6588
7.31k
}
6589
0
#line 6590 "Zend/zend_language_scanner.c"
6590
27.4k
yy502:
6591
27.4k
    YYDEBUG(502, *YYCURSOR);
6592
27.4k
    yyaccept = 4;
6593
27.4k
    yych = *(YYMARKER = ++YYCURSOR);
6594
27.4k
    if (yych == 'C') goto yy594;
6595
26.9k
    if (yych == 'c') goto yy594;
6596
2.31k
    goto yy48;
6597
107k
yy503:
6598
107k
    YYDEBUG(503, *YYCURSOR);
6599
107k
    yyaccept = 4;
6600
107k
    yych = *(YYMARKER = ++YYCURSOR);
6601
107k
    if (yych == 'I') goto yy595;
6602
105k
    if (yych == 'i') goto yy595;
6603
1.68k
    goto yy48;
6604
6.50k
yy504:
6605
6.50k
    YYDEBUG(504, *YYCURSOR);
6606
6.50k
    yyaccept = 4;
6607
6.50k
    yych = *(YYMARKER = ++YYCURSOR);
6608
6.50k
    if (yych == 'L') goto yy596;
6609
3.25k
    if (yych == 'l') goto yy596;
6610
547
    goto yy48;
6611
32.9k
yy505:
6612
32.9k
    YYDEBUG(505, *YYCURSOR);
6613
32.9k
    yyaccept = 4;
6614
32.9k
    yych = *(YYMARKER = ++YYCURSOR);
6615
32.9k
    if (yych == 'M') goto yy598;
6616
24.0k
    if (yych == 'm') goto yy598;
6617
13.9k
    goto yy48;
6618
13.9k
yy506:
6619
10.4k
    YYDEBUG(506, *YYCURSOR);
6620
10.4k
    yyaccept = 4;
6621
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
6622
10.4k
    if (yych == 'D') goto yy599;
6623
9.10k
    if (yych == 'd') goto yy599;
6624
503
    goto yy48;
6625
6.46k
yy507:
6626
6.46k
    YYDEBUG(507, *YYCURSOR);
6627
6.46k
    yyaccept = 4;
6628
6.46k
    yych = *(YYMARKER = ++YYCURSOR);
6629
6.46k
    if (yych == 'N') goto yy600;
6630
4.57k
    if (yych == 'n') goto yy600;
6631
1.23k
    goto yy48;
6632
10.1k
yy508:
6633
10.1k
    YYDEBUG(508, *YYCURSOR);
6634
10.1k
    yyaccept = 4;
6635
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
6636
10.1k
    if (yych == 'A') goto yy601;
6637
8.45k
    if (yych == 'a') goto yy601;
6638
3.24k
    goto yy48;
6639
12.0k
yy509:
6640
12.0k
    YYDEBUG(509, *YYCURSOR);
6641
12.0k
    yyaccept = 4;
6642
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
6643
12.0k
    if (yych == 'F') goto yy602;
6644
10.4k
    if (yych == 'f') goto yy602;
6645
1.35k
    goto yy48;
6646
20.8k
yy510:
6647
20.8k
    YYDEBUG(510, *YYCURSOR);
6648
20.8k
    yyaccept = 43;
6649
20.8k
    yych = *(YYMARKER = ++YYCURSOR);
6650
20.8k
    if (yybm[256+yych] & 128) {
6651
4.42k
      goto yy47;
6652
4.42k
    }
6653
16.4k
    if (yych == '\\') goto yy164;
6654
16.4k
yy511:
6655
16.4k
    YYDEBUG(511, *YYCURSOR);
6656
16.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6657
16.4k
#line 1700 "Zend/zend_language_scanner.l"
6658
16.4k
    {
6659
16.4k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6660
16.4k
}
6661
0
#line 6662 "Zend/zend_language_scanner.c"
6662
4.73k
yy512:
6663
4.73k
    YYDEBUG(512, *YYCURSOR);
6664
4.73k
    yyaccept = 44;
6665
4.73k
    yych = *(YYMARKER = ++YYCURSOR);
6666
4.73k
    if (yybm[256+yych] & 128) {
6667
496
      goto yy47;
6668
496
    }
6669
4.23k
    if (yych == '\\') goto yy164;
6670
4.23k
yy513:
6671
4.23k
    YYDEBUG(513, *YYCURSOR);
6672
4.23k
    yyleng = YYCURSOR - SCNG(yy_text);
6673
4.23k
#line 1504 "Zend/zend_language_scanner.l"
6674
4.23k
    {
6675
4.23k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6676
4.23k
}
6677
0
#line 6678 "Zend/zend_language_scanner.c"
6678
27.7k
yy514:
6679
27.7k
    YYDEBUG(514, *YYCURSOR);
6680
27.7k
    yyaccept = 4;
6681
27.7k
    yych = *(YYMARKER = ++YYCURSOR);
6682
27.7k
    if (yych == 'P') goto yy603;
6683
24.5k
    if (yych == 'p') goto yy603;
6684
682
    goto yy48;
6685
11.3k
yy515:
6686
11.3k
    YYDEBUG(515, *YYCURSOR);
6687
11.3k
    yyaccept = 45;
6688
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
6689
11.3k
    if (yybm[256+yych] & 128) {
6690
6.17k
      goto yy47;
6691
6.17k
    }
6692
5.20k
    if (yych == '\\') goto yy164;
6693
5.19k
yy516:
6694
5.19k
    YYDEBUG(516, *YYCURSOR);
6695
5.19k
    yyleng = YYCURSOR - SCNG(yy_text);
6696
5.19k
#line 1536 "Zend/zend_language_scanner.l"
6697
5.19k
    {
6698
5.19k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6699
5.19k
}
6700
0
#line 6701 "Zend/zend_language_scanner.c"
6701
12.9k
yy517:
6702
12.9k
    YYDEBUG(517, *YYCURSOR);
6703
12.9k
    yyaccept = 4;
6704
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
6705
12.9k
    if (yych == 'T') goto yy604;
6706
11.7k
    if (yych == 't') goto yy604;
6707
499
    goto yy48;
6708
10.6k
yy518:
6709
10.6k
    YYDEBUG(518, *YYCURSOR);
6710
10.6k
    yyaccept = 4;
6711
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
6712
10.6k
    if (yych == 'C') goto yy605;
6713
9.56k
    if (yych == 'c') goto yy605;
6714
649
    goto yy48;
6715
68.6k
yy519:
6716
68.6k
    YYDEBUG(519, *YYCURSOR);
6717
68.6k
    yyaccept = 4;
6718
68.6k
    yych = *(YYMARKER = ++YYCURSOR);
6719
68.6k
    if (yych == 'C') goto yy606;
6720
66.8k
    if (yych == 'c') goto yy606;
6721
2.18k
    goto yy48;
6722
5.55k
yy520:
6723
5.55k
    YYDEBUG(520, *YYCURSOR);
6724
5.55k
    yyaccept = 4;
6725
5.55k
    yych = *(YYMARKER = ++YYCURSOR);
6726
5.55k
    if (yych == 'N') goto yy608;
6727
5.31k
    if (yych == 'n') goto yy608;
6728
327
    goto yy48;
6729
18.5k
yy521:
6730
18.5k
    YYDEBUG(521, *YYCURSOR);
6731
18.5k
    yyaccept = 4;
6732
18.5k
    yych = *(YYMARKER = ++YYCURSOR);
6733
18.5k
    if (yych == 'R') goto yy609;
6734
17.4k
    if (yych == 'r') goto yy609;
6735
1.50k
    goto yy48;
6736
25.4k
yy522:
6737
25.4k
    YYDEBUG(522, *YYCURSOR);
6738
25.4k
    yyaccept = 4;
6739
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
6740
25.4k
    if (yych == 'N') goto yy610;
6741
25.2k
    if (yych == 'n') goto yy610;
6742
1.36k
    goto yy48;
6743
22.5k
yy523:
6744
22.5k
    YYDEBUG(523, *YYCURSOR);
6745
22.5k
    yyaccept = 4;
6746
22.5k
    yych = *(YYMARKER = ++YYCURSOR);
6747
22.5k
    if (yych == 'C') goto yy612;
6748
21.5k
    if (yych == 'c') goto yy612;
6749
1.40k
    goto yy48;
6750
6.78k
yy524:
6751
6.78k
    YYDEBUG(524, *YYCURSOR);
6752
6.78k
    yyaccept = 4;
6753
6.78k
    yych = *(YYMARKER = ++YYCURSOR);
6754
6.78k
    if (yych == 'H') goto yy614;
6755
6.33k
    if (yych == 'h') goto yy614;
6756
1.44k
    goto yy48;
6757
14.8k
yy525:
6758
14.8k
    YYDEBUG(525, *YYCURSOR);
6759
14.8k
    yyaccept = 46;
6760
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
6761
14.8k
    if (yybm[256+yych] & 128) {
6762
5.63k
      goto yy47;
6763
5.63k
    }
6764
9.21k
    if (yych == '\\') goto yy164;
6765
9.21k
yy526:
6766
9.21k
    YYDEBUG(526, *YYCURSOR);
6767
9.21k
    yyleng = YYCURSOR - SCNG(yy_text);
6768
9.21k
#line 1436 "Zend/zend_language_scanner.l"
6769
9.21k
    {
6770
9.21k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6771
9.21k
}
6772
0
#line 6773 "Zend/zend_language_scanner.c"
6773
12.8k
yy527:
6774
12.8k
    YYDEBUG(527, *YYCURSOR);
6775
12.8k
    yyaccept = 47;
6776
12.8k
    yych = *(YYMARKER = ++YYCURSOR);
6777
12.8k
    if (yybm[256+yych] & 128) {
6778
2.12k
      goto yy47;
6779
2.12k
    }
6780
10.7k
    if (yych == '\\') goto yy164;
6781
10.7k
yy528:
6782
10.7k
    YYDEBUG(528, *YYCURSOR);
6783
10.7k
    yyleng = YYCURSOR - SCNG(yy_text);
6784
10.7k
#line 1548 "Zend/zend_language_scanner.l"
6785
10.7k
    {
6786
10.7k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6787
10.7k
}
6788
0
#line 6789 "Zend/zend_language_scanner.c"
6789
10.5k
yy529:
6790
10.5k
    YYDEBUG(529, *YYCURSOR);
6791
10.5k
    yyaccept = 48;
6792
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6793
10.5k
    if (yybm[256+yych] & 128) {
6794
904
      goto yy47;
6795
904
    }
6796
9.68k
    if (yych == '\\') goto yy164;
6797
9.68k
yy530:
6798
9.68k
    YYDEBUG(530, *YYCURSOR);
6799
9.68k
    yyleng = YYCURSOR - SCNG(yy_text);
6800
9.68k
#line 1752 "Zend/zend_language_scanner.l"
6801
9.68k
    {
6802
9.68k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6803
9.68k
}
6804
0
#line 6805 "Zend/zend_language_scanner.c"
6805
4.10k
yy531:
6806
4.10k
    YYDEBUG(531, *YYCURSOR);
6807
4.10k
    yyaccept = 49;
6808
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
6809
4.10k
    if (yybm[256+yych] & 128) {
6810
495
      goto yy47;
6811
495
    }
6812
3.60k
    if (yych == '\\') goto yy164;
6813
3.60k
yy532:
6814
3.60k
    YYDEBUG(532, *YYCURSOR);
6815
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
6816
3.60k
#line 1456 "Zend/zend_language_scanner.l"
6817
3.60k
    {
6818
3.60k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6819
3.60k
}
6820
0
#line 6821 "Zend/zend_language_scanner.c"
6821
83.6k
yy533:
6822
83.6k
    YYDEBUG(533, *YYCURSOR);
6823
83.6k
    yyaccept = 50;
6824
83.6k
    yych = *(YYMARKER = ++YYCURSOR);
6825
83.6k
    if (yybm[256+yych] & 128) {
6826
874
      goto yy47;
6827
874
    }
6828
82.7k
    if (yych <= ' ') {
6829
32.9k
      if (yych <= '\f') {
6830
18.3k
        if (yych <= 0x08) goto yy534;
6831
17.0k
        if (yych <= '\n') goto yy616;
6832
17.0k
      } else {
6833
14.5k
        if (yych <= '\r') goto yy616;
6834
12.8k
        if (yych >= ' ') goto yy616;
6835
12.8k
      }
6836
49.8k
    } else {
6837
49.8k
      if (yych <= '.') {
6838
46.2k
        if (yych == '#') goto yy618;
6839
46.2k
      } else {
6840
3.56k
        if (yych <= '/') goto yy619;
6841
3.18k
        if (yych == '\\') goto yy164;
6842
3.18k
      }
6843
49.8k
    }
6844
62.8k
yy534:
6845
62.8k
    YYDEBUG(534, *YYCURSOR);
6846
62.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6847
62.8k
#line 1420 "Zend/zend_language_scanner.l"
6848
62.8k
    {
6849
62.8k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6850
62.8k
}
6851
0
#line 6852 "Zend/zend_language_scanner.c"
6852
5.06k
yy535:
6853
5.06k
    YYDEBUG(535, *YYCURSOR);
6854
5.06k
    yyaccept = 4;
6855
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
6856
5.06k
    if (yych == 'S') goto yy620;
6857
2.72k
    if (yych == 's') goto yy620;
6858
391
    goto yy48;
6859
6.84k
yy536:
6860
6.84k
    YYDEBUG(536, *YYCURSOR);
6861
6.84k
    yyaccept = 4;
6862
6.84k
    yych = *(YYMARKER = ++YYCURSOR);
6863
6.84k
    if (yych == '_') goto yy621;
6864
949
    goto yy48;
6865
8.36k
yy537:
6866
8.36k
    YYDEBUG(537, *YYCURSOR);
6867
8.36k
    yyaccept = 4;
6868
8.36k
    yych = *(YYMARKER = ++YYCURSOR);
6869
8.36k
    if (yych == 'E') goto yy622;
6870
1.69k
    if (yych == 'e') goto yy622;
6871
531
    goto yy48;
6872
7.02k
yy538:
6873
7.02k
    YYDEBUG(538, *YYCURSOR);
6874
7.02k
    yyaccept = 4;
6875
7.02k
    yych = *(YYMARKER = ++YYCURSOR);
6876
7.02k
    if (yych == 'C') goto yy623;
6877
3.61k
    if (yych == 'c') goto yy623;
6878
444
    goto yy48;
6879
4.06k
yy539:
6880
4.06k
    YYDEBUG(539, *YYCURSOR);
6881
4.06k
    yyaccept = 4;
6882
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
6883
4.06k
    if (yych == 'T') goto yy624;
6884
3.29k
    if (yych == 't') goto yy624;
6885
468
    goto yy48;
6886
3.76k
yy540:
6887
3.76k
    YYDEBUG(540, *YYCURSOR);
6888
3.76k
    yyaccept = 4;
6889
3.76k
    yych = *(YYMARKER = ++YYCURSOR);
6890
3.76k
    if (yych == 'E') goto yy625;
6891
1.71k
    if (yych == 'e') goto yy625;
6892
328
    goto yy48;
6893
13.0k
yy541:
6894
13.0k
    YYDEBUG(541, *YYCURSOR);
6895
13.0k
    yyaccept = 4;
6896
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
6897
13.0k
    if (yych == 'H') goto yy626;
6898
2.84k
    if (yych == 'h') goto yy626;
6899
460
    goto yy48;
6900
7.50k
yy542:
6901
7.50k
    YYDEBUG(542, *YYCURSOR);
6902
7.50k
    yyaccept = 4;
6903
7.50k
    yych = *(YYMARKER = ++YYCURSOR);
6904
7.50k
    if (yych == 'E') goto yy627;
6905
4.39k
    if (yych == 'e') goto yy627;
6906
1.20k
    goto yy48;
6907
3.99k
yy543:
6908
3.99k
    YYDEBUG(543, *YYCURSOR);
6909
3.99k
    yyaccept = 4;
6910
3.99k
    yych = *(YYMARKER = ++YYCURSOR);
6911
3.99k
    if (yych == 'P') goto yy628;
6912
665
    if (yych == 'p') goto yy628;
6913
382
    goto yy48;
6914
4.78k
yy544:
6915
4.78k
    YYDEBUG(544, *YYCURSOR);
6916
4.78k
    yyaccept = 4;
6917
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
6918
4.78k
    if (yych == 'I') goto yy629;
6919
3.49k
    if (yych == 'i') goto yy629;
6920
729
    goto yy48;
6921
138k
yy545:
6922
138k
    YYDEBUG(545, *YYCURSOR);
6923
138k
    ++YYCURSOR;
6924
138k
    YYFILL(1);
6925
138k
    yych = *YYCURSOR;
6926
138k
    YYDEBUG(546, *YYCURSOR);
6927
138k
    if (yybm[0+yych] & 64) {
6928
600
      goto yy355;
6929
600
    }
6930
138k
    if (yych <= ' ') {
6931
14.6k
      if (yych <= '\n') {
6932
3.21k
        if (yych <= 0x00) goto yy86;
6933
2.01k
        if (yych <= 0x08) goto yy230;
6934
1.71k
        goto yy545;
6935
11.4k
      } else {
6936
11.4k
        if (yych == '\r') goto yy545;
6937
2.63k
        if (yych <= 0x1F) goto yy230;
6938
2.39k
        goto yy545;
6939
2.63k
      }
6940
123k
    } else {
6941
123k
      if (yych <= '$') {
6942
82.1k
        if (yych <= '"') goto yy230;
6943
81.4k
        if (yych <= '#') goto yy630;
6944
3.38k
        goto yy631;
6945
81.4k
      } else {
6946
41.1k
        if (yych <= '-') goto yy230;
6947
33.4k
        if (yych <= '.') goto yy632;
6948
31.9k
        if (yych <= '/') goto yy633;
6949
5.45k
        goto yy230;
6950
31.9k
      }
6951
123k
    }
6952
21.9k
yy547:
6953
21.9k
    YYDEBUG(547, *YYCURSOR);
6954
21.9k
    ++YYCURSOR;
6955
21.9k
    YYFILL(1);
6956
21.9k
    yych = *YYCURSOR;
6957
21.9k
    YYDEBUG(548, *YYCURSOR);
6958
21.9k
    if (yych <= '\r') {
6959
3.00k
      if (yych <= '\t') {
6960
824
        if (yych <= 0x00) goto yy86;
6961
213
        goto yy443;
6962
2.17k
      } else {
6963
2.17k
        if (yych <= '\n') goto yy545;
6964
1.16k
        if (yych <= '\f') goto yy443;
6965
890
        goto yy545;
6966
1.16k
      }
6967
18.9k
    } else {
6968
18.9k
      if (yych <= '*') {
6969
9.15k
        if (yych <= ')') goto yy443;
6970
339
        goto yy547;
6971
9.80k
      } else {
6972
9.80k
        if (yych == '/') goto yy227;
6973
1.86k
        goto yy443;
6974
9.80k
      }
6975
18.9k
    }
6976
10.4k
yy549:
6977
10.4k
    YYDEBUG(549, *YYCURSOR);
6978
10.4k
    ++YYCURSOR;
6979
10.4k
    YYFILL(1);
6980
10.4k
    yych = *YYCURSOR;
6981
10.4k
    YYDEBUG(550, *YYCURSOR);
6982
10.4k
    if (yych <= 0x1F) {
6983
538
      if (yych == '\t') goto yy549;
6984
317
      goto yy86;
6985
9.86k
    } else {
6986
9.86k
      if (yych <= ' ') goto yy549;
6987
7.27k
      if (yych == ')') goto yy634;
6988
6.00k
      goto yy86;
6989
7.27k
    }
6990
1.02k
yy551:
6991
1.02k
    YYDEBUG(551, *YYCURSOR);
6992
1.02k
    yych = *++YYCURSOR;
6993
1.02k
    if (yych == 'Y') goto yy636;
6994
779
    if (yych == 'y') goto yy636;
6995
341
    goto yy86;
6996
1.10k
yy552:
6997
1.10k
    YYDEBUG(552, *YYCURSOR);
6998
1.10k
    ++YYCURSOR;
6999
1.10k
    YYFILL(1);
7000
1.10k
    yych = *YYCURSOR;
7001
2.39k
yy553:
7002
2.39k
    YYDEBUG(553, *YYCURSOR);
7003
2.39k
    if (yych <= 0x1F) {
7004
655
      if (yych == '\t') goto yy552;
7005
438
      goto yy86;
7006
1.73k
    } else {
7007
1.73k
      if (yych <= ' ') goto yy552;
7008
1.34k
      if (yych != ')') goto yy86;
7009
1.34k
    }
7010
467
    YYDEBUG(554, *YYCURSOR);
7011
467
    ++YYCURSOR;
7012
467
    YYDEBUG(555, *YYCURSOR);
7013
467
    yyleng = YYCURSOR - SCNG(yy_text);
7014
467
#line 1652 "Zend/zend_language_scanner.l"
7015
467
    {
7016
467
  RETURN_TOKEN(T_BOOL_CAST);
7017
467
}
7018
0
#line 7019 "Zend/zend_language_scanner.c"
7019
1.16k
yy556:
7020
1.16k
    YYDEBUG(556, *YYCURSOR);
7021
1.16k
    yych = *++YYCURSOR;
7022
1.16k
    if (yych == 'A') goto yy638;
7023
938
    if (yych == 'a') goto yy638;
7024
222
    goto yy86;
7025
1.53k
yy557:
7026
1.53k
    YYDEBUG(557, *YYCURSOR);
7027
1.53k
    yych = *++YYCURSOR;
7028
1.53k
    if (yych == 'E') goto yy558;
7029
1.24k
    if (yych != 'e') goto yy86;
7030
4.27k
yy558:
7031
4.27k
    YYDEBUG(558, *YYCURSOR);
7032
4.27k
    ++YYCURSOR;
7033
4.27k
    YYFILL(1);
7034
4.27k
    yych = *YYCURSOR;
7035
4.27k
    YYDEBUG(559, *YYCURSOR);
7036
4.27k
    if (yych <= 0x1F) {
7037
914
      if (yych == '\t') goto yy558;
7038
646
      goto yy86;
7039
3.35k
    } else {
7040
3.35k
      if (yych <= ' ') goto yy558;
7041
2.80k
      if (yych == ')') goto yy639;
7042
1.07k
      goto yy86;
7043
2.80k
    }
7044
1.34k
yy560:
7045
1.34k
    YYDEBUG(560, *YYCURSOR);
7046
1.34k
    yych = *++YYCURSOR;
7047
1.34k
    if (yych == 'E') goto yy641;
7048
910
    if (yych == 'e') goto yy641;
7049
352
    goto yy86;
7050
2.20k
yy561:
7051
2.20k
    YYDEBUG(561, *YYCURSOR);
7052
2.20k
    yych = *++YYCURSOR;
7053
2.20k
    if (yych == 'T') goto yy642;
7054
1.99k
    if (yych == 't') goto yy642;
7055
270
    goto yy86;
7056
270
yy562:
7057
230
    YYDEBUG(562, *YYCURSOR);
7058
230
    ++YYCURSOR;
7059
230
    YYDEBUG(563, *YYCURSOR);
7060
230
    yyleng = YYCURSOR - SCNG(yy_text);
7061
230
#line 1632 "Zend/zend_language_scanner.l"
7062
230
    {
7063
230
  if (PARSER_MODE()) {
7064
15
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7065
15
    RETURN_TOKEN(T_ERROR);
7066
15
  }
7067
215
  RETURN_TOKEN(T_DOUBLE_CAST);
7068
215
}
7069
0
#line 7070 "Zend/zend_language_scanner.c"
7070
7.46k
yy564:
7071
7.46k
    YYDEBUG(564, *YYCURSOR);
7072
7.46k
    yych = *++YYCURSOR;
7073
7.46k
    if (yych == 'G') goto yy636;
7074
7.24k
    if (yych == 'g') goto yy636;
7075
302
    goto yy86;
7076
3.31k
yy565:
7077
3.31k
    YYDEBUG(565, *YYCURSOR);
7078
3.31k
    ++YYCURSOR;
7079
3.31k
    YYFILL(1);
7080
3.31k
    yych = *YYCURSOR;
7081
3.31k
    YYDEBUG(566, *YYCURSOR);
7082
3.31k
    if (yych <= 0x1F) {
7083
2.02k
      if (yych == '\t') goto yy565;
7084
1.82k
      goto yy86;
7085
2.02k
    } else {
7086
1.29k
      if (yych <= ' ') goto yy565;
7087
991
      if (yych == ')') goto yy644;
7088
545
      goto yy86;
7089
991
    }
7090
769
yy567:
7091
769
    YYDEBUG(567, *YYCURSOR);
7092
769
    ++YYCURSOR;
7093
769
    YYDEBUG(568, *YYCURSOR);
7094
769
    yyleng = YYCURSOR - SCNG(yy_text);
7095
769
#line 1660 "Zend/zend_language_scanner.l"
7096
769
    {
7097
769
  RETURN_TOKEN(T_VOID_CAST);
7098
769
}
7099
0
#line 7100 "Zend/zend_language_scanner.c"
7100
5.60k
yy569:
7101
5.60k
    YYDEBUG(569, *YYCURSOR);
7102
5.60k
    yych = *++YYCURSOR;
7103
5.60k
    if (yych == '\n') goto yy466;
7104
2.24k
    if (yych == '\r') goto yy468;
7105
725
    goto yy86;
7106
7.61k
yy570:
7107
7.61k
    YYDEBUG(570, *YYCURSOR);
7108
7.61k
    yyaccept = 4;
7109
7.61k
    yych = *(YYMARKER = ++YYCURSOR);
7110
7.61k
    if (yych == 'C') goto yy646;
7111
6.05k
    if (yych == 'c') goto yy646;
7112
317
    goto yy48;
7113
3.04k
yy571:
7114
3.04k
    YYDEBUG(571, *YYCURSOR);
7115
3.04k
    yyaccept = 4;
7116
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
7117
3.04k
    if (yych == 'L') goto yy647;
7118
2.20k
    if (yych == 'l') goto yy647;
7119
239
    goto yy48;
7120
4.06k
yy572:
7121
4.06k
    YYDEBUG(572, *YYCURSOR);
7122
4.06k
    yyaccept = 4;
7123
4.06k
    yych = *(YYMARKER = ++YYCURSOR);
7124
4.06k
    if (yych == 'U') goto yy648;
7125
2.74k
    if (yych == 'u') goto yy648;
7126
411
    goto yy48;
7127
4.96k
yy573:
7128
4.96k
    YYDEBUG(573, *YYCURSOR);
7129
4.96k
    yyaccept = 4;
7130
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
7131
4.96k
    if (yych == 'E') goto yy649;
7132
4.58k
    if (yych == 'e') goto yy649;
7133
408
    goto yy48;
7134
3.44k
yy574:
7135
3.44k
    YYDEBUG(574, *YYCURSOR);
7136
3.44k
    yyaccept = 4;
7137
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
7138
3.44k
    if (yych == 'T') goto yy651;
7139
3.13k
    if (yych == 't') goto yy651;
7140
599
    goto yy48;
7141
2.80k
yy575:
7142
2.80k
    YYDEBUG(575, *YYCURSOR);
7143
2.80k
    yyaccept = 51;
7144
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
7145
2.80k
    if (yybm[256+yych] & 128) {
7146
569
      goto yy47;
7147
569
    }
7148
2.24k
    if (yych == '\\') goto yy164;
7149
2.23k
yy576:
7150
2.23k
    YYDEBUG(576, *YYCURSOR);
7151
2.23k
    yyleng = YYCURSOR - SCNG(yy_text);
7152
2.23k
#line 1444 "Zend/zend_language_scanner.l"
7153
2.23k
    {
7154
2.23k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7155
2.23k
}
7156
0
#line 7157 "Zend/zend_language_scanner.c"
7157
3.21k
yy577:
7158
3.21k
    YYDEBUG(577, *YYCURSOR);
7159
3.21k
    yyaccept = 4;
7160
3.21k
    yych = *(YYMARKER = ++YYCURSOR);
7161
3.21k
    if (yych == 'L') goto yy653;
7162
2.19k
    if (yych == 'l') goto yy653;
7163
238
    goto yy48;
7164
11.0k
yy578:
7165
11.0k
    YYDEBUG(578, *YYCURSOR);
7166
11.0k
    yyaccept = 52;
7167
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
7168
11.0k
    if (yych <= '\\') {
7169
5.58k
      if (yych <= 'D') {
7170
1.69k
        if (yych <= '/') goto yy579;
7171
804
        if (yych <= '9') goto yy47;
7172
596
        if (yych >= 'A') goto yy47;
7173
3.89k
      } else {
7174
3.89k
        if (yych <= 'E') goto yy654;
7175
854
        if (yych <= 'Z') goto yy47;
7176
430
        if (yych >= '\\') goto yy164;
7177
430
      }
7178
5.58k
    } else {
7179
5.51k
      if (yych <= 'd') {
7180
630
        if (yych == '_') goto yy47;
7181
411
        if (yych >= 'a') goto yy47;
7182
4.88k
      } else {
7183
4.88k
        if (yych <= 'e') goto yy654;
7184
906
        if (yych <= 'z') goto yy47;
7185
689
        if (yych >= 0x80) goto yy47;
7186
689
      }
7187
5.51k
    }
7188
2.11k
yy579:
7189
2.11k
    YYDEBUG(579, *YYCURSOR);
7190
2.11k
    yyleng = YYCURSOR - SCNG(yy_text);
7191
2.11k
#line 1472 "Zend/zend_language_scanner.l"
7192
2.11k
    {
7193
2.11k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7194
2.11k
}
7195
0
#line 7196 "Zend/zend_language_scanner.c"
7196
4.03k
yy580:
7197
4.03k
    YYDEBUG(580, *YYCURSOR);
7198
4.03k
    yyaccept = 4;
7199
4.03k
    yych = *(YYMARKER = ++YYCURSOR);
7200
4.03k
    if (yych == 'T') goto yy655;
7201
3.66k
    if (yych == 't') goto yy655;
7202
338
    goto yy48;
7203
6.74k
yy581:
7204
6.74k
    YYDEBUG(581, *YYCURSOR);
7205
6.74k
    yyaccept = 4;
7206
6.74k
    yych = *(YYMARKER = ++YYCURSOR);
7207
6.74k
    if (yych == 'L') goto yy656;
7208
3.40k
    if (yych == 'l') goto yy656;
7209
343
    goto yy48;
7210
16.2k
yy582:
7211
16.2k
    YYDEBUG(582, *YYCURSOR);
7212
16.2k
    ++YYCURSOR;
7213
138k
yy583:
7214
138k
    YYDEBUG(583, *YYCURSOR);
7215
138k
    yyleng = YYCURSOR - SCNG(yy_text);
7216
138k
#line 1560 "Zend/zend_language_scanner.l"
7217
138k
    {
7218
138k
  yyless(4);
7219
138k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7220
138k
}
7221
0
#line 7222 "Zend/zend_language_scanner.c"
7222
6.79k
yy584:
7223
6.79k
    YYDEBUG(584, *YYCURSOR);
7224
6.79k
    yyaccept = 53;
7225
6.79k
    yych = *(YYMARKER = ++YYCURSOR);
7226
6.79k
    if (yych == 'X') goto yy657;
7227
6.52k
    if (yych == 'x') goto yy657;
7228
3.53k
    goto yy583;
7229
6.98k
yy585:
7230
6.98k
    YYDEBUG(585, *YYCURSOR);
7231
6.98k
    yyaccept = 53;
7232
6.98k
    yych = *(YYMARKER = ++YYCURSOR);
7233
6.98k
    if (yych == 'M') goto yy658;
7234
5.82k
    if (yych == 'm') goto yy658;
7235
2.21k
    goto yy583;
7236
2.58M
yy586:
7237
2.58M
    YYDEBUG(586, *YYCURSOR);
7238
2.58M
    ++YYCURSOR;
7239
2.58M
    YYFILL(1);
7240
2.58M
    yych = *YYCURSOR;
7241
2.58M
    YYDEBUG(587, *YYCURSOR);
7242
2.58M
    if (yych <= '\n') {
7243
130k
      if (yych <= 0x00) goto yy86;
7244
108k
      if (yych <= '\t') goto yy586;
7245
81.6k
      goto yy495;
7246
2.45M
    } else {
7247
2.45M
      if (yych == '\r') goto yy495;
7248
2.16M
      goto yy586;
7249
2.45M
    }
7250
588k
yy588:
7251
588k
    YYDEBUG(588, *YYCURSOR);
7252
588k
    ++YYCURSOR;
7253
588k
    YYFILL(1);
7254
588k
    yych = *YYCURSOR;
7255
588k
    YYDEBUG(589, *YYCURSOR);
7256
588k
    if (yych <= 'D') {
7257
279k
      if (yych <= 0x1F) {
7258
35.2k
        if (yych <= '\t') {
7259
9.81k
          if (yych <= 0x00) goto yy86;
7260
8.72k
          if (yych <= 0x08) goto yy586;
7261
409
          goto yy588;
7262
25.4k
        } else {
7263
25.4k
          if (yych <= '\n') goto yy495;
7264
22.6k
          if (yych == '\r') goto yy495;
7265
2.30k
          goto yy586;
7266
22.6k
        }
7267
244k
      } else {
7268
244k
        if (yych <= '#') {
7269
78.1k
          if (yych <= ' ') goto yy588;
7270
62.6k
          if (yych <= '"') goto yy586;
7271
60.8k
          goto yy659;
7272
166k
        } else {
7273
166k
          if (yych == '/') goto yy660;
7274
14.0k
          if (yych <= '@') goto yy586;
7275
2.21k
          goto yy661;
7276
14.0k
        }
7277
244k
      }
7278
308k
    } else {
7279
308k
      if (yych <= '`') {
7280
6.27k
        if (yych <= 'I') {
7281
3.10k
          if (yych <= 'E') goto yy662;
7282
2.63k
          if (yych <= 'H') goto yy661;
7283
2.30k
          goto yy663;
7284
3.16k
        } else {
7285
3.16k
          if (yych <= 'Z') goto yy661;
7286
1.97k
          if (yych == '_') goto yy661;
7287
1.21k
          goto yy586;
7288
1.97k
        }
7289
302k
      } else {
7290
302k
        if (yych <= 'h') {
7291
221k
          if (yych == 'e') goto yy662;
7292
9.30k
          goto yy661;
7293
221k
        } else {
7294
80.8k
          if (yych <= 'i') goto yy663;
7295
44.3k
          if (yych <= 'z') goto yy661;
7296
29.0k
          if (yych <= 0x7F) goto yy586;
7297
6.56k
          goto yy661;
7298
29.0k
        }
7299
302k
      }
7300
308k
    }
7301
3.31M
yy590:
7302
3.31M
    YYDEBUG(590, *YYCURSOR);
7303
3.31M
    ++YYCURSOR;
7304
3.31M
    YYFILL(1);
7305
3.31M
    yych = *YYCURSOR;
7306
3.31M
    YYDEBUG(591, *YYCURSOR);
7307
3.31M
    if (yych <= 0x00) goto yy86;
7308
3.28M
    if (yych == '*') goto yy664;
7309
3.21M
    goto yy590;
7310
3.21M
yy592:
7311
20.4k
    YYDEBUG(592, *YYCURSOR);
7312
20.4k
    yyaccept = 4;
7313
20.4k
    yych = *(YYMARKER = ++YYCURSOR);
7314
20.4k
    if (yych == 'S') goto yy666;
7315
19.3k
    if (yych == 's') goto yy666;
7316
1.02k
    goto yy48;
7317
5.14k
yy593:
7318
5.14k
    YYDEBUG(593, *YYCURSOR);
7319
5.14k
    yyaccept = 4;
7320
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
7321
5.14k
    if (yych == 'Y') goto yy668;
7322
4.69k
    if (yych == 'y') goto yy668;
7323
415
    goto yy48;
7324
25.1k
yy594:
7325
25.1k
    YYDEBUG(594, *YYCURSOR);
7326
25.1k
    yyaccept = 4;
7327
25.1k
    yych = *(YYMARKER = ++YYCURSOR);
7328
25.1k
    if (yych == 'H') goto yy670;
7329
24.6k
    if (yych == 'h') goto yy670;
7330
764
    goto yy48;
7331
105k
yy595:
7332
105k
    YYDEBUG(595, *YYCURSOR);
7333
105k
    yyaccept = 4;
7334
105k
    yych = *(YYMARKER = ++YYCURSOR);
7335
105k
    if (yych == 'O') goto yy672;
7336
104k
    if (yych == 'o') goto yy672;
7337
2.09k
    goto yy48;
7338
5.95k
yy596:
7339
5.95k
    YYDEBUG(596, *YYCURSOR);
7340
5.95k
    yyaccept = 54;
7341
5.95k
    yych = *(YYMARKER = ++YYCURSOR);
7342
5.95k
    if (yybm[256+yych] & 128) {
7343
776
      goto yy47;
7344
776
    }
7345
5.17k
    if (yych == '\\') goto yy164;
7346
5.16k
yy597:
7347
5.16k
    YYDEBUG(597, *YYCURSOR);
7348
5.16k
    yyleng = YYCURSOR - SCNG(yy_text);
7349
5.16k
#line 1696 "Zend/zend_language_scanner.l"
7350
5.16k
    {
7351
5.16k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7352
5.16k
}
7353
0
#line 7354 "Zend/zend_language_scanner.c"
7354
18.9k
yy598:
7355
18.9k
    YYDEBUG(598, *YYCURSOR);
7356
18.9k
    yyaccept = 4;
7357
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
7358
18.9k
    if (yych == 'E') goto yy673;
7359
16.7k
    if (yych == 'e') goto yy673;
7360
3.51k
    goto yy48;
7361
9.96k
yy599:
7362
9.96k
    YYDEBUG(599, *YYCURSOR);
7363
9.96k
    yyaccept = 4;
7364
9.96k
    yych = *(YYMARKER = ++YYCURSOR);
7365
9.96k
    if (yych == 'E') goto yy674;
7366
8.63k
    if (yych == 'e') goto yy674;
7367
503
    goto yy48;
7368
5.22k
yy600:
7369
5.22k
    YYDEBUG(600, *YYCURSOR);
7370
5.22k
    yyaccept = 4;
7371
5.22k
    yych = *(YYMARKER = ++YYCURSOR);
7372
5.22k
    if (yych == 'C') goto yy676;
7373
3.45k
    if (yych == 'c') goto yy676;
7374
369
    goto yy48;
7375
6.87k
yy601:
7376
6.87k
    YYDEBUG(601, *YYCURSOR);
7377
6.87k
    yyaccept = 4;
7378
6.87k
    yych = *(YYMARKER = ++YYCURSOR);
7379
6.87k
    if (yych == 'D') goto yy677;
7380
5.47k
    if (yych == 'd') goto yy677;
7381
336
    goto yy48;
7382
10.6k
yy602:
7383
10.6k
    YYDEBUG(602, *YYCURSOR);
7384
10.6k
    yyaccept = 4;
7385
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
7386
10.6k
    if (yych == 'A') goto yy678;
7387
9.23k
    if (yych == 'a') goto yy678;
7388
393
    goto yy48;
7389
27.0k
yy603:
7390
27.0k
    YYDEBUG(603, *YYCURSOR);
7391
27.0k
    yyaccept = 4;
7392
27.0k
    yych = *(YYMARKER = ++YYCURSOR);
7393
27.0k
    if (yych == 'A') goto yy679;
7394
24.5k
    if (yych == 'a') goto yy679;
7395
2.18k
    goto yy48;
7396
12.4k
yy604:
7397
12.4k
    YYDEBUG(604, *YYCURSOR);
7398
12.4k
    yyaccept = 4;
7399
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
7400
12.4k
    if (yych == 'E') goto yy680;
7401
11.2k
    if (yych == 'e') goto yy680;
7402
339
    goto yy48;
7403
9.99k
yy605:
7404
9.99k
    YYDEBUG(605, *YYCURSOR);
7405
9.99k
    yyaccept = 4;
7406
9.99k
    yych = *(YYMARKER = ++YYCURSOR);
7407
9.99k
    if (yych == 'T') goto yy682;
7408
8.91k
    if (yych == 't') goto yy682;
7409
1.25k
    goto yy48;
7410
66.5k
yy606:
7411
66.5k
    YYDEBUG(606, *YYCURSOR);
7412
66.5k
    yyaccept = 55;
7413
66.5k
    yych = *(YYMARKER = ++YYCURSOR);
7414
66.5k
    if (yybm[256+yych] & 128) {
7415
749
      goto yy47;
7416
749
    }
7417
65.7k
    if (yych == '(') goto yy683;
7418
64.0k
    if (yych == '\\') goto yy164;
7419
65.0k
yy607:
7420
65.0k
    YYDEBUG(607, *YYCURSOR);
7421
65.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7422
65.0k
#line 1744 "Zend/zend_language_scanner.l"
7423
65.0k
    {
7424
65.0k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7425
65.0k
}
7426
0
#line 7427 "Zend/zend_language_scanner.c"
7427
5.23k
yy608:
7428
5.23k
    YYDEBUG(608, *YYCURSOR);
7429
5.23k
    yyaccept = 4;
7430
5.23k
    yych = *(YYMARKER = ++YYCURSOR);
7431
5.23k
    if (yych == 'L') goto yy684;
7432
4.83k
    if (yych == 'l') goto yy684;
7433
639
    goto yy48;
7434
17.0k
yy609:
7435
17.0k
    YYDEBUG(609, *YYCURSOR);
7436
17.0k
    yyaccept = 4;
7437
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
7438
17.0k
    if (yych == 'E') goto yy685;
7439
15.8k
    if (yych == 'e') goto yy685;
7440
1.67k
    goto yy48;
7441
24.1k
yy610:
7442
24.1k
    YYDEBUG(610, *YYCURSOR);
7443
24.1k
    yyaccept = 56;
7444
24.1k
    yych = *(YYMARKER = ++YYCURSOR);
7445
24.1k
    if (yybm[256+yych] & 128) {
7446
882
      goto yy47;
7447
882
    }
7448
23.2k
    if (yych == '\\') goto yy164;
7449
23.1k
yy611:
7450
23.1k
    YYDEBUG(611, *YYCURSOR);
7451
23.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7452
23.1k
#line 1405 "Zend/zend_language_scanner.l"
7453
23.1k
    {
7454
23.1k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7455
23.1k
}
7456
0
#line 7457 "Zend/zend_language_scanner.c"
7457
21.1k
yy612:
7458
21.1k
    YYDEBUG(612, *YYCURSOR);
7459
21.1k
    yyaccept = 57;
7460
21.1k
    yych = *(YYMARKER = ++YYCURSOR);
7461
21.1k
    if (yybm[256+yych] & 128) {
7462
937
      goto yy47;
7463
937
    }
7464
20.2k
    if (yych == '\\') goto yy164;
7465
20.1k
yy613:
7466
20.1k
    YYDEBUG(613, *YYCURSOR);
7467
20.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7468
20.1k
#line 1712 "Zend/zend_language_scanner.l"
7469
20.1k
    {
7470
20.1k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7471
20.1k
}
7472
0
#line 7473 "Zend/zend_language_scanner.c"
7473
5.34k
yy614:
7474
5.34k
    YYDEBUG(614, *YYCURSOR);
7475
5.34k
    yyaccept = 58;
7476
5.34k
    yych = *(YYMARKER = ++YYCURSOR);
7477
5.34k
    if (yybm[256+yych] & 128) {
7478
440
      goto yy47;
7479
440
    }
7480
4.90k
    if (yych == '\\') goto yy164;
7481
4.74k
yy615:
7482
4.74k
    YYDEBUG(615, *YYCURSOR);
7483
4.74k
    yyleng = YYCURSOR - SCNG(yy_text);
7484
4.74k
#line 1500 "Zend/zend_language_scanner.l"
7485
4.74k
    {
7486
4.74k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7487
4.74k
}
7488
0
#line 7489 "Zend/zend_language_scanner.c"
7489
266k
yy616:
7490
266k
    YYDEBUG(616, *YYCURSOR);
7491
266k
    ++YYCURSOR;
7492
266k
    YYFILL(5);
7493
266k
    yych = *YYCURSOR;
7494
266k
    YYDEBUG(617, *YYCURSOR);
7495
266k
    if (yych <= '"') {
7496
61.3k
      if (yych <= '\f') {
7497
28.3k
        if (yych <= 0x08) goto yy86;
7498
26.4k
        if (yych <= '\n') goto yy616;
7499
1.66k
        goto yy86;
7500
32.9k
      } else {
7501
32.9k
        if (yych <= '\r') goto yy616;
7502
4.55k
        if (yych == ' ') goto yy616;
7503
1.93k
        goto yy86;
7504
4.55k
      }
7505
204k
    } else {
7506
204k
      if (yych <= 'E') {
7507
189k
        if (yych <= '#') goto yy618;
7508
22.2k
        if (yych == '/') goto yy619;
7509
7.06k
        goto yy86;
7510
22.2k
      } else {
7511
15.0k
        if (yych <= 'F') goto yy687;
7512
13.3k
        if (yych == 'f') goto yy687;
7513
6.99k
        goto yy86;
7514
13.3k
      }
7515
204k
    }
7516
212k
yy618:
7517
212k
    YYDEBUG(618, *YYCURSOR);
7518
212k
    ++YYCURSOR;
7519
212k
    YYFILL(1);
7520
212k
    yych = *YYCURSOR;
7521
212k
    if (yych <= '\f') {
7522
78.7k
      if (yych <= 0x00) goto yy86;
7523
77.9k
      if (yych == '\n') goto yy690;
7524
1.00k
      goto yy688;
7525
133k
    } else {
7526
133k
      if (yych <= '\r') goto yy690;
7527
53.5k
      if (yych == '[') goto yy86;
7528
53.3k
      goto yy688;
7529
53.5k
    }
7530
15.7k
yy619:
7531
15.7k
    YYDEBUG(619, *YYCURSOR);
7532
15.7k
    ++YYCURSOR;
7533
15.7k
    YYFILL(1);
7534
15.7k
    yych = *YYCURSOR;
7535
15.7k
    if (yych == '*') goto yy692;
7536
1.42k
    if (yych == '/') goto yy688;
7537
1.00k
    goto yy86;
7538
4.67k
yy620:
7539
4.67k
    YYDEBUG(620, *YYCURSOR);
7540
4.67k
    yyaccept = 4;
7541
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
7542
4.67k
    if (yych == 'S') goto yy694;
7543
2.89k
    if (yych == 's') goto yy694;
7544
334
    goto yy48;
7545
5.90k
yy621:
7546
5.90k
    YYDEBUG(621, *YYCURSOR);
7547
5.90k
    yyaccept = 4;
7548
5.90k
    yych = *(YYMARKER = ++YYCURSOR);
7549
5.90k
    if (yych == '_') goto yy695;
7550
613
    goto yy48;
7551
7.83k
yy622:
7552
7.83k
    YYDEBUG(622, *YYCURSOR);
7553
7.83k
    yyaccept = 4;
7554
7.83k
    yych = *(YYMARKER = ++YYCURSOR);
7555
7.83k
    if (yych == '_') goto yy697;
7556
479
    goto yy48;
7557
6.57k
yy623:
7558
6.57k
    YYDEBUG(623, *YYCURSOR);
7559
6.57k
    yyaccept = 4;
7560
6.57k
    yych = *(YYMARKER = ++YYCURSOR);
7561
6.57k
    if (yych == 'T') goto yy698;
7562
2.57k
    if (yych == 't') goto yy698;
7563
1.14k
    goto yy48;
7564
3.60k
yy624:
7565
3.60k
    YYDEBUG(624, *YYCURSOR);
7566
3.60k
    yyaccept = 4;
7567
3.60k
    yych = *(YYMARKER = ++YYCURSOR);
7568
3.60k
    if (yych == '_') goto yy699;
7569
807
    goto yy48;
7570
3.43k
yy625:
7571
3.43k
    YYDEBUG(625, *YYCURSOR);
7572
3.43k
    yyaccept = 4;
7573
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
7574
3.43k
    if (yych == '_') goto yy700;
7575
926
    goto yy48;
7576
12.5k
yy626:
7577
12.5k
    YYDEBUG(626, *YYCURSOR);
7578
12.5k
    yyaccept = 4;
7579
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
7580
12.5k
    if (yych == 'O') goto yy701;
7581
3.31k
    if (yych == 'o') goto yy701;
7582
1.17k
    goto yy48;
7583
6.29k
yy627:
7584
6.29k
    YYDEBUG(627, *YYCURSOR);
7585
6.29k
    yyaccept = 4;
7586
6.29k
    yych = *(YYMARKER = ++YYCURSOR);
7587
6.29k
    if (yych == 'S') goto yy702;
7588
4.10k
    if (yych == 's') goto yy702;
7589
1.30k
    goto yy48;
7590
3.61k
yy628:
7591
3.61k
    YYDEBUG(628, *YYCURSOR);
7592
3.61k
    yyaccept = 4;
7593
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
7594
3.61k
    if (yych == 'E') goto yy703;
7595
451
    if (yych == 'e') goto yy703;
7596
233
    goto yy48;
7597
4.05k
yy629:
7598
4.05k
    YYDEBUG(629, *YYCURSOR);
7599
4.05k
    yyaccept = 4;
7600
4.05k
    yych = *(YYMARKER = ++YYCURSOR);
7601
4.05k
    if (yych == 'T') goto yy704;
7602
2.74k
    if (yych == 't') goto yy704;
7603
378
    goto yy48;
7604
78.1k
yy630:
7605
78.1k
    YYDEBUG(630, *YYCURSOR);
7606
78.1k
    ++YYCURSOR;
7607
78.1k
    YYFILL(1);
7608
78.1k
    yych = *YYCURSOR;
7609
78.1k
    if (yych <= '\r') {
7610
64.3k
      if (yych <= '\t') {
7611
1.71k
        if (yych <= 0x00) goto yy86;
7612
1.44k
        goto yy443;
7613
62.5k
      } else {
7614
62.5k
        if (yych <= '\n') goto yy705;
7615
12.0k
        if (yych <= '\f') goto yy443;
7616
11.4k
        goto yy705;
7617
12.0k
      }
7618
64.3k
    } else {
7619
13.7k
      if (yych <= '*') {
7620
1.96k
        if (yych <= ')') goto yy443;
7621
1.02k
        goto yy547;
7622
11.8k
      } else {
7623
11.8k
        if (yych == '[') goto yy230;
7624
11.6k
        goto yy443;
7625
11.8k
      }
7626
13.7k
    }
7627
3.58k
yy631:
7628
3.58k
    YYDEBUG(631, *YYCURSOR);
7629
3.58k
    yyaccept = 26;
7630
3.58k
    YYMARKER = ++YYCURSOR;
7631
3.58k
    YYFILL(1);
7632
3.58k
    yych = *YYCURSOR;
7633
3.58k
    if (yybm[0+yych] & 4) {
7634
3.00k
      goto yy230;
7635
3.00k
    }
7636
576
    if (yych <= 0x00) goto yy89;
7637
238
    goto yy355;
7638
1.46k
yy632:
7639
1.46k
    YYDEBUG(632, *YYCURSOR);
7640
1.46k
    ++YYCURSOR;
7641
1.46k
    YYFILL(1);
7642
1.46k
    yych = *YYCURSOR;
7643
1.46k
    if (yybm[0+yych] & 64) {
7644
199
      goto yy355;
7645
199
    }
7646
1.26k
    if (yych <= 0x00) goto yy86;
7647
1.06k
    if (yych == '.') goto yy707;
7648
221
    goto yy230;
7649
26.5k
yy633:
7650
26.5k
    YYDEBUG(633, *YYCURSOR);
7651
26.5k
    ++YYCURSOR;
7652
26.5k
    YYFILL(1);
7653
26.5k
    yych = *YYCURSOR;
7654
26.5k
    if (yych <= '*') {
7655
24.5k
      if (yych <= 0x00) goto yy86;
7656
24.1k
      if (yych <= ')') goto yy230;
7657
23.2k
      goto yy708;
7658
24.1k
    } else {
7659
2.02k
      if (yych == '/') goto yy443;
7660
1.55k
      goto yy230;
7661
2.02k
    }
7662
1.27k
yy634:
7663
1.27k
    YYDEBUG(634, *YYCURSOR);
7664
1.27k
    ++YYCURSOR;
7665
1.27k
    YYDEBUG(635, *YYCURSOR);
7666
1.27k
    yyleng = YYCURSOR - SCNG(yy_text);
7667
1.27k
#line 1644 "Zend/zend_language_scanner.l"
7668
1.27k
    {
7669
1.27k
  RETURN_TOKEN(T_ARRAY_CAST);
7670
1.27k
}
7671
0
#line 7672 "Zend/zend_language_scanner.c"
7672
10.1k
yy636:
7673
10.1k
    YYDEBUG(636, *YYCURSOR);
7674
10.1k
    ++YYCURSOR;
7675
10.1k
    YYFILL(1);
7676
10.1k
    yych = *YYCURSOR;
7677
10.1k
    YYDEBUG(637, *YYCURSOR);
7678
10.1k
    if (yych <= 0x1F) {
7679
1.73k
      if (yych == '\t') goto yy636;
7680
1.52k
      goto yy86;
7681
8.37k
    } else {
7682
8.37k
      if (yych <= ' ') goto yy636;
7683
6.32k
      if (yych == ')') goto yy709;
7684
3.29k
      goto yy86;
7685
6.32k
    }
7686
946
yy638:
7687
946
    YYDEBUG(638, *YYCURSOR);
7688
946
    yych = *++YYCURSOR;
7689
946
    if (yych == 'N') goto yy552;
7690
714
    if (yych == 'n') goto yy552;
7691
450
    goto yy86;
7692
1.72k
yy639:
7693
1.72k
    YYDEBUG(639, *YYCURSOR);
7694
1.72k
    ++YYCURSOR;
7695
1.72k
    YYDEBUG(640, *YYCURSOR);
7696
1.72k
    yyleng = YYCURSOR - SCNG(yy_text);
7697
1.72k
#line 1628 "Zend/zend_language_scanner.l"
7698
1.72k
    {
7699
1.72k
  RETURN_TOKEN(T_DOUBLE_CAST);
7700
1.72k
}
7701
0
#line 7702 "Zend/zend_language_scanner.c"
7702
996
yy641:
7703
996
    YYDEBUG(641, *YYCURSOR);
7704
996
    yych = *++YYCURSOR;
7705
996
    if (yych == 'R') goto yy450;
7706
717
    if (yych == 'r') goto yy450;
7707
272
    goto yy86;
7708
2.76k
yy642:
7709
2.76k
    YYDEBUG(642, *YYCURSOR);
7710
2.76k
    ++YYCURSOR;
7711
2.76k
    YYFILL(1);
7712
2.76k
    yych = *YYCURSOR;
7713
2.76k
    YYDEBUG(643, *YYCURSOR);
7714
2.76k
    if (yych <= 0x1F) {
7715
792
      if (yych == '\t') goto yy642;
7716
293
      goto yy86;
7717
1.97k
    } else {
7718
1.97k
      if (yych <= ' ') goto yy642;
7719
1.64k
      if (yych == ')') goto yy711;
7720
438
      goto yy86;
7721
1.64k
    }
7722
446
yy644:
7723
446
    YYDEBUG(644, *YYCURSOR);
7724
446
    ++YYCURSOR;
7725
446
    YYDEBUG(645, *YYCURSOR);
7726
446
    yyleng = YYCURSOR - SCNG(yy_text);
7727
446
#line 1656 "Zend/zend_language_scanner.l"
7728
446
    {
7729
446
  RETURN_TOKEN(T_UNSET_CAST);
7730
446
}
7731
0
#line 7732 "Zend/zend_language_scanner.c"
7732
7.29k
yy646:
7733
7.29k
    YYDEBUG(646, *YYCURSOR);
7734
7.29k
    yyaccept = 4;
7735
7.29k
    yych = *(YYMARKER = ++YYCURSOR);
7736
7.29k
    if (yych == 'T') goto yy713;
7737
6.06k
    if (yych == 't') goto yy713;
7738
691
    goto yy48;
7739
2.80k
yy647:
7740
2.80k
    YYDEBUG(647, *YYCURSOR);
7741
2.80k
    yyaccept = 4;
7742
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
7743
2.80k
    if (yych == 'E') goto yy715;
7744
1.98k
    if (yych == 'e') goto yy715;
7745
290
    goto yy48;
7746
3.65k
yy648:
7747
3.65k
    YYDEBUG(648, *YYCURSOR);
7748
3.65k
    yyaccept = 4;
7749
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
7750
3.65k
    if (yych == 'E') goto yy717;
7751
2.61k
    if (yych == 'e') goto yy717;
7752
493
    goto yy48;
7753
4.55k
yy649:
7754
4.55k
    YYDEBUG(649, *YYCURSOR);
7755
4.55k
    yyaccept = 59;
7756
4.55k
    yych = *(YYMARKER = ++YYCURSOR);
7757
4.55k
    if (yybm[256+yych] & 128) {
7758
353
      goto yy47;
7759
353
    }
7760
4.20k
    if (yych == '\\') goto yy164;
7761
4.20k
yy650:
7762
4.20k
    YYDEBUG(650, *YYCURSOR);
7763
4.20k
    yyleng = YYCURSOR - SCNG(yy_text);
7764
4.20k
#line 1484 "Zend/zend_language_scanner.l"
7765
4.20k
    {
7766
4.20k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7767
4.20k
}
7768
0
#line 7769 "Zend/zend_language_scanner.c"
7769
2.84k
yy651:
7770
2.84k
    YYDEBUG(651, *YYCURSOR);
7771
2.84k
    yyaccept = 60;
7772
2.84k
    yych = *(YYMARKER = ++YYCURSOR);
7773
2.84k
    if (yybm[256+yych] & 128) {
7774
255
      goto yy47;
7775
255
    }
7776
2.59k
    if (yych == '\\') goto yy164;
7777
2.59k
yy652:
7778
2.59k
    YYDEBUG(652, *YYCURSOR);
7779
2.59k
    yyleng = YYCURSOR - SCNG(yy_text);
7780
2.59k
#line 1516 "Zend/zend_language_scanner.l"
7781
2.59k
    {
7782
2.59k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7783
2.59k
}
7784
0
#line 7785 "Zend/zend_language_scanner.c"
7785
2.97k
yy653:
7786
2.97k
    YYDEBUG(653, *YYCURSOR);
7787
2.97k
    yyaccept = 4;
7788
2.97k
    yych = *(YYMARKER = ++YYCURSOR);
7789
2.97k
    if (yych == 'A') goto yy719;
7790
2.29k
    if (yych == 'a') goto yy719;
7791
458
    goto yy48;
7792
7.01k
yy654:
7793
7.01k
    YYDEBUG(654, *YYCURSOR);
7794
7.01k
    yyaccept = 4;
7795
7.01k
    yych = *(YYMARKER = ++YYCURSOR);
7796
7.01k
    if (yych == 'A') goto yy720;
7797
5.26k
    if (yych == 'a') goto yy720;
7798
1.56k
    goto yy48;
7799
3.69k
yy655:
7800
3.69k
    YYDEBUG(655, *YYCURSOR);
7801
3.69k
    yyaccept = 4;
7802
3.69k
    yych = *(YYMARKER = ++YYCURSOR);
7803
3.69k
    if (yych == 'C') goto yy721;
7804
3.27k
    if (yych == 'c') goto yy721;
7805
352
    goto yy48;
7806
6.40k
yy656:
7807
6.40k
    YYDEBUG(656, *YYCURSOR);
7808
6.40k
    yyaccept = 4;
7809
6.40k
    yych = *(YYMARKER = ++YYCURSOR);
7810
6.40k
    if (yych == 'E') goto yy722;
7811
4.15k
    if (yych == 'e') goto yy722;
7812
1.36k
    goto yy48;
7813
3.25k
yy657:
7814
3.25k
    YYDEBUG(657, *YYCURSOR);
7815
3.25k
    yych = *++YYCURSOR;
7816
3.25k
    if (yych == 'T') goto yy724;
7817
3.04k
    if (yych == 't') goto yy724;
7818
490
    goto yy86;
7819
4.77k
yy658:
7820
4.77k
    YYDEBUG(658, *YYCURSOR);
7821
4.77k
    yych = *++YYCURSOR;
7822
4.77k
    if (yych == 'P') goto yy725;
7823
4.13k
    if (yych == 'p') goto yy725;
7824
1.00k
    goto yy86;
7825
60.8k
yy659:
7826
60.8k
    YYDEBUG(659, *YYCURSOR);
7827
60.8k
    ++YYCURSOR;
7828
60.8k
    YYFILL(1);
7829
60.8k
    yych = *YYCURSOR;
7830
60.8k
    if (yych <= '\n') {
7831
48.1k
      if (yych <= 0x00) goto yy86;
7832
47.7k
      if (yych <= '\t') goto yy586;
7833
46.5k
      goto yy588;
7834
47.7k
    } else {
7835
12.7k
      if (yych == '\r') goto yy588;
7836
5.90k
      goto yy586;
7837
12.7k
    }
7838
152k
yy660:
7839
152k
    YYDEBUG(660, *YYCURSOR);
7840
152k
    ++YYCURSOR;
7841
152k
    YYFILL(1);
7842
152k
    yych = *YYCURSOR;
7843
152k
    if (yych <= '\f') {
7844
2.35k
      if (yych <= 0x00) goto yy86;
7845
1.94k
      if (yych == '\n') goto yy495;
7846
1.41k
      goto yy586;
7847
149k
    } else {
7848
149k
      if (yych <= '\r') goto yy495;
7849
142k
      if (yych == '*') goto yy726;
7850
10.9k
      goto yy586;
7851
142k
    }
7852
35.6k
yy661:
7853
35.6k
    YYDEBUG(661, *YYCURSOR);
7854
35.6k
    yyaccept = 53;
7855
35.6k
    YYMARKER = ++YYCURSOR;
7856
35.6k
    YYFILL(1);
7857
35.6k
    yych = *YYCURSOR;
7858
35.6k
    if (yych <= '\n') {
7859
10.6k
      if (yych <= 0x00) goto yy583;
7860
10.2k
      if (yych <= '\t') goto yy586;
7861
2.01k
      goto yy495;
7862
25.0k
    } else {
7863
25.0k
      if (yych == '\r') goto yy495;
7864
20.0k
      goto yy586;
7865
25.0k
    }
7866
213k
yy662:
7867
213k
    YYDEBUG(662, *YYCURSOR);
7868
213k
    yyaccept = 53;
7869
213k
    YYMARKER = ++YYCURSOR;
7870
213k
    YYFILL(1);
7871
213k
    yych = *YYCURSOR;
7872
213k
    if (yych <= '\r') {
7873
70.5k
      if (yych <= '\t') {
7874
61.9k
        if (yych <= 0x00) goto yy583;
7875
61.7k
        goto yy586;
7876
61.9k
      } else {
7877
8.53k
        if (yych <= '\n') goto yy495;
7878
8.00k
        if (yych <= '\f') goto yy586;
7879
905
        goto yy495;
7880
8.00k
      }
7881
142k
    } else {
7882
142k
      if (yych <= 'X') {
7883
64.3k
        if (yych <= 'W') goto yy586;
7884
723
        goto yy728;
7885
78.1k
      } else {
7886
78.1k
        if (yych == 'x') goto yy728;
7887
60.6k
        goto yy586;
7888
78.1k
      }
7889
142k
    }
7890
38.7k
yy663:
7891
38.7k
    YYDEBUG(663, *YYCURSOR);
7892
38.7k
    yyaccept = 53;
7893
38.7k
    YYMARKER = ++YYCURSOR;
7894
38.7k
    YYFILL(1);
7895
38.7k
    yych = *YYCURSOR;
7896
38.7k
    if (yych <= '\r') {
7897
2.25k
      if (yych <= '\t') {
7898
1.00k
        if (yych <= 0x00) goto yy583;
7899
554
        goto yy586;
7900
1.24k
      } else {
7901
1.24k
        if (yych <= '\n') goto yy495;
7902
870
        if (yych <= '\f') goto yy586;
7903
293
        goto yy495;
7904
870
      }
7905
36.4k
    } else {
7906
36.4k
      if (yych <= 'M') {
7907
4.42k
        if (yych <= 'L') goto yy586;
7908
3.44k
        goto yy729;
7909
32.0k
      } else {
7910
32.0k
        if (yych == 'm') goto yy729;
7911
3.28k
        goto yy586;
7912
32.0k
      }
7913
36.4k
    }
7914
77.3k
yy664:
7915
77.3k
    YYDEBUG(664, *YYCURSOR);
7916
77.3k
    ++YYCURSOR;
7917
77.3k
    YYFILL(1);
7918
77.3k
    yych = *YYCURSOR;
7919
77.3k
    YYDEBUG(665, *YYCURSOR);
7920
77.3k
    if (yych <= '*') {
7921
16.9k
      if (yych <= 0x00) goto yy86;
7922
15.8k
      if (yych <= ')') goto yy590;
7923
7.23k
      goto yy664;
7924
60.4k
    } else {
7925
60.4k
      if (yych == '/') goto yy495;
7926
8.41k
      goto yy590;
7927
60.4k
    }
7928
19.4k
yy666:
7929
19.4k
    YYDEBUG(666, *YYCURSOR);
7930
19.4k
    yyaccept = 61;
7931
19.4k
    yych = *(YYMARKER = ++YYCURSOR);
7932
19.4k
    if (yybm[256+yych] & 128) {
7933
1.02k
      goto yy47;
7934
1.02k
    }
7935
18.4k
    if (yych == '\\') goto yy164;
7936
18.3k
yy667:
7937
18.3k
    YYDEBUG(667, *YYCURSOR);
7938
18.3k
    yyleng = YYCURSOR - SCNG(yy_text);
7939
18.3k
#line 1565 "Zend/zend_language_scanner.l"
7940
18.3k
    {
7941
18.3k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7942
18.3k
}
7943
0
#line 7944 "Zend/zend_language_scanner.c"
7944
4.72k
yy668:
7945
4.72k
    YYDEBUG(668, *YYCURSOR);
7946
4.72k
    yyaccept = 62;
7947
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
7948
4.72k
    if (yybm[256+yych] & 128) {
7949
332
      goto yy47;
7950
332
    }
7951
4.39k
    if (yych == '\\') goto yy164;
7952
4.14k
yy669:
7953
4.14k
    YYDEBUG(669, *YYCURSOR);
7954
4.14k
    yyleng = YYCURSOR - SCNG(yy_text);
7955
4.14k
#line 1432 "Zend/zend_language_scanner.l"
7956
4.14k
    {
7957
4.14k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
7958
4.14k
}
7959
0
#line 7960 "Zend/zend_language_scanner.c"
7960
24.3k
yy670:
7961
24.3k
    YYDEBUG(670, *YYCURSOR);
7962
24.3k
    yyaccept = 63;
7963
24.3k
    yych = *(YYMARKER = ++YYCURSOR);
7964
24.3k
    if (yybm[256+yych] & 128) {
7965
678
      goto yy47;
7966
678
    }
7967
23.7k
    if (yych == '\\') goto yy164;
7968
23.7k
yy671:
7969
23.7k
    YYDEBUG(671, *YYCURSOR);
7970
23.7k
    yyleng = YYCURSOR - SCNG(yy_text);
7971
23.7k
#line 1476 "Zend/zend_language_scanner.l"
7972
23.7k
    {
7973
23.7k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
7974
23.7k
}
7975
0
#line 7976 "Zend/zend_language_scanner.c"
7976
103k
yy672:
7977
103k
    YYDEBUG(672, *YYCURSOR);
7978
103k
    yyaccept = 4;
7979
103k
    yych = *(YYMARKER = ++YYCURSOR);
7980
103k
    if (yych == 'N') goto yy730;
7981
102k
    if (yych == 'n') goto yy730;
7982
1.84k
    goto yy48;
7983
15.4k
yy673:
7984
15.4k
    YYDEBUG(673, *YYCURSOR);
7985
15.4k
    yyaccept = 4;
7986
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
7987
15.4k
    if (yych == 'N') goto yy732;
7988
12.8k
    if (yych == 'n') goto yy732;
7989
6.08k
    goto yy48;
7990
9.45k
yy674:
7991
9.45k
    YYDEBUG(674, *YYCURSOR);
7992
9.45k
    yyaccept = 64;
7993
9.45k
    yych = *(YYMARKER = ++YYCURSOR);
7994
9.45k
    if (yych <= '\\') {
7995
4.13k
      if (yych <= '@') {
7996
3.45k
        if (yych <= '/') goto yy675;
7997
620
        if (yych <= '9') goto yy47;
7998
675
      } else {
7999
675
        if (yych <= 'Z') goto yy47;
8000
450
        if (yych >= '\\') goto yy164;
8001
450
      }
8002
5.32k
    } else {
8003
5.32k
      if (yych <= '`') {
8004
4.48k
        if (yych == '_') goto yy733;
8005
4.48k
      } else {
8006
841
        if (yych <= 'z') goto yy47;
8007
518
        if (yych >= 0x80) goto yy47;
8008
518
      }
8009
5.32k
    }
8010
4.04k
yy675:
8011
4.04k
    YYDEBUG(675, *YYCURSOR);
8012
4.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
4.04k
#line 1668 "Zend/zend_language_scanner.l"
8014
4.04k
    {
8015
4.04k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8016
4.04k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
4.86k
yy676:
8019
4.86k
    YYDEBUG(676, *YYCURSOR);
8020
4.86k
    yyaccept = 4;
8021
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
8022
4.86k
    if (yych == 'E') goto yy734;
8023
3.26k
    if (yych == 'e') goto yy734;
8024
725
    goto yy48;
8025
6.53k
yy677:
8026
6.53k
    YYDEBUG(677, *YYCURSOR);
8027
6.53k
    yyaccept = 4;
8028
6.53k
    yych = *(YYMARKER = ++YYCURSOR);
8029
6.53k
    if (yych == 'O') goto yy735;
8030
5.34k
    if (yych == 'o') goto yy735;
8031
1.56k
    goto yy48;
8032
10.2k
yy678:
8033
10.2k
    YYDEBUG(678, *YYCURSOR);
8034
10.2k
    yyaccept = 4;
8035
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
8036
10.2k
    if (yych == 'C') goto yy736;
8037
8.87k
    if (yych == 'c') goto yy736;
8038
592
    goto yy48;
8039
24.9k
yy679:
8040
24.9k
    YYDEBUG(679, *YYCURSOR);
8041
24.9k
    yyaccept = 4;
8042
24.9k
    yych = *(YYMARKER = ++YYCURSOR);
8043
24.9k
    if (yych == 'C') goto yy737;
8044
22.1k
    if (yych == 'c') goto yy737;
8045
983
    goto yy48;
8046
12.1k
yy680:
8047
12.1k
    YYDEBUG(680, *YYCURSOR);
8048
12.1k
    yyaccept = 65;
8049
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
8050
12.1k
    if (yybm[256+yych] & 128) {
8051
526
      goto yy47;
8052
526
    }
8053
11.6k
    if (yych == '(') goto yy738;
8054
9.79k
    if (yych == '\\') goto yy164;
8055
10.7k
yy681:
8056
10.7k
    YYDEBUG(681, *YYCURSOR);
8057
10.7k
    yyleng = YYCURSOR - SCNG(yy_text);
8058
10.7k
#line 1724 "Zend/zend_language_scanner.l"
8059
10.7k
    {
8060
10.7k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8061
10.7k
}
8062
0
#line 8063 "Zend/zend_language_scanner.c"
8063
8.73k
yy682:
8064
8.73k
    YYDEBUG(682, *YYCURSOR);
8065
8.73k
    yyaccept = 4;
8066
8.73k
    yych = *(YYMARKER = ++YYCURSOR);
8067
8.73k
    if (yych == 'E') goto yy739;
8068
6.95k
    if (yych == 'e') goto yy739;
8069
1.14k
    goto yy48;
8070
1.67k
yy683:
8071
1.67k
    YYDEBUG(683, *YYCURSOR);
8072
1.67k
    yych = *++YYCURSOR;
8073
1.67k
    if (yych == 'S') goto yy740;
8074
1.47k
    if (yych == 's') goto yy740;
8075
355
    goto yy86;
8076
4.59k
yy684:
8077
4.59k
    YYDEBUG(684, *YYCURSOR);
8078
4.59k
    yyaccept = 4;
8079
4.59k
    yych = *(YYMARKER = ++YYCURSOR);
8080
4.59k
    if (yych == 'Y') goto yy741;
8081
4.28k
    if (yych == 'y') goto yy741;
8082
399
    goto yy48;
8083
15.3k
yy685:
8084
15.3k
    YYDEBUG(685, *YYCURSOR);
8085
15.3k
    yyaccept = 66;
8086
15.3k
    yych = *(YYMARKER = ++YYCURSOR);
8087
15.3k
    if (yych <= '\\') {
8088
9.36k
      if (yych <= '@') {
8089
8.02k
        if (yych <= '/') goto yy686;
8090
529
        if (yych <= '9') goto yy47;
8091
1.34k
      } else {
8092
1.34k
        if (yych <= 'Z') goto yy47;
8093
437
        if (yych >= '\\') goto yy164;
8094
437
      }
8095
9.36k
    } else {
8096
5.96k
      if (yych <= '`') {
8097
3.02k
        if (yych == '_') goto yy743;
8098
3.02k
      } else {
8099
2.94k
        if (yych <= 'z') goto yy47;
8100
2.35k
        if (yych >= 0x80) goto yy47;
8101
2.35k
      }
8102
5.96k
    }
8103
8.68k
yy686:
8104
8.68k
    YYDEBUG(686, *YYCURSOR);
8105
8.68k
    yyleng = YYCURSOR - SCNG(yy_text);
8106
8.68k
#line 1676 "Zend/zend_language_scanner.l"
8107
8.68k
    {
8108
8.68k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8109
8.68k
}
8110
0
#line 8111 "Zend/zend_language_scanner.c"
8111
8.42k
yy687:
8112
8.42k
    YYDEBUG(687, *YYCURSOR);
8113
8.42k
    yych = *++YYCURSOR;
8114
8.42k
    if (yych == 'R') goto yy744;
8115
6.76k
    if (yych == 'r') goto yy744;
8116
2.50k
    goto yy86;
8117
888k
yy688:
8118
888k
    YYDEBUG(688, *YYCURSOR);
8119
888k
    ++YYCURSOR;
8120
888k
    YYFILL(1);
8121
888k
    yych = *YYCURSOR;
8122
888k
    YYDEBUG(689, *YYCURSOR);
8123
888k
    if (yych <= '\n') {
8124
85.4k
      if (yych <= 0x00) goto yy86;
8125
79.6k
      if (yych <= '\t') goto yy688;
8126
62.0k
      goto yy616;
8127
802k
    } else {
8128
802k
      if (yych == '\r') goto yy616;
8129
751k
      goto yy688;
8130
802k
    }
8131
191k
yy690:
8132
191k
    YYDEBUG(690, *YYCURSOR);
8133
191k
    ++YYCURSOR;
8134
191k
    YYFILL(1);
8135
191k
    yych = *YYCURSOR;
8136
191k
    YYDEBUG(691, *YYCURSOR);
8137
191k
    if (yych <= ' ') {
8138
19.8k
      if (yych <= '\n') {
8139
3.27k
        if (yych <= 0x00) goto yy86;
8140
2.23k
        if (yych <= 0x08) goto yy688;
8141
1.81k
        if (yych <= '\t') goto yy690;
8142
1.50k
        goto yy616;
8143
16.5k
      } else {
8144
16.5k
        if (yych == '\r') goto yy616;
8145
6.12k
        if (yych <= 0x1F) goto yy688;
8146
5.08k
        goto yy690;
8147
6.12k
      }
8148
171k
    } else {
8149
171k
      if (yych <= '/') {
8150
124k
        if (yych == '#') goto yy745;
8151
107k
        if (yych <= '.') goto yy688;
8152
94.2k
        goto yy746;
8153
107k
      } else {
8154
46.7k
        if (yych <= 'F') {
8155
17.5k
          if (yych <= 'E') goto yy688;
8156
14.3k
          goto yy747;
8157
29.2k
        } else {
8158
29.2k
          if (yych == 'f') goto yy747;
8159
28.2k
          goto yy688;
8160
29.2k
        }
8161
46.7k
      }
8162
171k
    }
8163
2.06M
yy692:
8164
2.06M
    YYDEBUG(692, *YYCURSOR);
8165
2.06M
    ++YYCURSOR;
8166
2.06M
    YYFILL(1);
8167
2.06M
    yych = *YYCURSOR;
8168
2.06M
    YYDEBUG(693, *YYCURSOR);
8169
2.06M
    if (yych <= 0x00) goto yy86;
8170
2.04M
    if (yych == '*') goto yy748;
8171
1.98M
    goto yy692;
8172
1.98M
yy694:
8173
4.33k
    YYDEBUG(694, *YYCURSOR);
8174
4.33k
    yyaccept = 4;
8175
4.33k
    yych = *(YYMARKER = ++YYCURSOR);
8176
4.33k
    if (yych == '_') goto yy750;
8177
606
    goto yy48;
8178
5.28k
yy695:
8179
5.28k
    YYDEBUG(695, *YYCURSOR);
8180
5.28k
    yyaccept = 67;
8181
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
8182
5.28k
    if (yybm[256+yych] & 128) {
8183
457
      goto yy47;
8184
457
    }
8185
4.83k
    if (yych == '\\') goto yy164;
8186
4.83k
yy696:
8187
4.83k
    YYDEBUG(696, *YYCURSOR);
8188
4.83k
    yyleng = YYCURSOR - SCNG(yy_text);
8189
4.83k
#line 2227 "Zend/zend_language_scanner.l"
8190
4.83k
    {
8191
4.83k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8192
4.83k
}
8193
0
#line 8194 "Zend/zend_language_scanner.c"
8194
7.35k
yy697:
8195
7.35k
    YYDEBUG(697, *YYCURSOR);
8196
7.35k
    yyaccept = 4;
8197
7.35k
    yych = *(YYMARKER = ++YYCURSOR);
8198
7.35k
    if (yych == '_') goto yy751;
8199
595
    goto yy48;
8200
5.43k
yy698:
8201
5.43k
    YYDEBUG(698, *YYCURSOR);
8202
5.43k
    yyaccept = 4;
8203
5.43k
    yych = *(YYMARKER = ++YYCURSOR);
8204
5.43k
    if (yych == 'I') goto yy753;
8205
2.90k
    if (yych == 'i') goto yy753;
8206
361
    goto yy48;
8207
2.79k
yy699:
8208
2.79k
    YYDEBUG(699, *YYCURSOR);
8209
2.79k
    yyaccept = 4;
8210
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
8211
2.79k
    if (yych == 'C') goto yy754;
8212
2.06k
    if (yych == 'c') goto yy754;
8213
227
    goto yy48;
8214
2.50k
yy700:
8215
2.50k
    YYDEBUG(700, *YYCURSOR);
8216
2.50k
    yyaccept = 4;
8217
2.50k
    yych = *(YYMARKER = ++YYCURSOR);
8218
2.50k
    if (yych == '_') goto yy755;
8219
453
    goto yy48;
8220
11.4k
yy701:
8221
11.4k
    YYDEBUG(701, *YYCURSOR);
8222
11.4k
    yyaccept = 4;
8223
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
8224
11.4k
    if (yych == 'D') goto yy757;
8225
2.26k
    if (yych == 'd') goto yy757;
8226
320
    goto yy48;
8227
4.98k
yy702:
8228
4.98k
    YYDEBUG(702, *YYCURSOR);
8229
4.98k
    yyaccept = 4;
8230
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
8231
4.98k
    if (yych == 'P') goto yy758;
8232
2.94k
    if (yych == 'p') goto yy758;
8233
291
    goto yy48;
8234
3.38k
yy703:
8235
3.38k
    YYDEBUG(703, *YYCURSOR);
8236
3.38k
    yyaccept = 4;
8237
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
8238
3.38k
    if (yych == 'R') goto yy759;
8239
506
    if (yych == 'r') goto yy759;
8240
261
    goto yy48;
8241
3.68k
yy704:
8242
3.68k
    YYDEBUG(704, *YYCURSOR);
8243
3.68k
    yyaccept = 4;
8244
3.68k
    yych = *(YYMARKER = ++YYCURSOR);
8245
3.68k
    if (yych == '_') goto yy760;
8246
920
    goto yy48;
8247
94.9k
yy705:
8248
94.9k
    YYDEBUG(705, *YYCURSOR);
8249
94.9k
    ++YYCURSOR;
8250
94.9k
    YYFILL(1);
8251
94.9k
    yych = *YYCURSOR;
8252
94.9k
    YYDEBUG(706, *YYCURSOR);
8253
94.9k
    if (yych <= ' ') {
8254
17.5k
      if (yych <= '\n') {
8255
7.14k
        if (yych <= 0x00) goto yy86;
8256
6.63k
        if (yych <= 0x08) goto yy443;
8257
5.47k
        if (yych <= '\t') goto yy705;
8258
899
        goto yy545;
8259
10.4k
      } else {
8260
10.4k
        if (yych == '\r') goto yy545;
8261
3.44k
        if (yych <= 0x1F) goto yy443;
8262
2.12k
        goto yy705;
8263
3.44k
      }
8264
77.3k
    } else {
8265
77.3k
      if (yych <= ')') {
8266
10.8k
        if (yych <= '"') goto yy443;
8267
10.0k
        if (yych <= '#') goto yy761;
8268
1.70k
        if (yych <= '$') goto yy762;
8269
741
        goto yy443;
8270
66.5k
      } else {
8271
66.5k
        if (yych <= '-') {
8272
3.06k
          if (yych <= '*') goto yy547;
8273
1.09k
          goto yy443;
8274
63.4k
        } else {
8275
63.4k
          if (yych <= '.') goto yy763;
8276
58.6k
          if (yych <= '/') goto yy764;
8277
31.8k
          goto yy443;
8278
58.6k
        }
8279
66.5k
      }
8280
77.3k
    }
8281
843
yy707:
8282
843
    YYDEBUG(707, *YYCURSOR);
8283
843
    ++YYCURSOR;
8284
843
    YYFILL(1);
8285
843
    yych = *YYCURSOR;
8286
843
    if (yybm[0+yych] & 64) {
8287
200
      goto yy355;
8288
200
    }
8289
643
    if (yych <= 0x00) goto yy86;
8290
415
    if (yych == '.') goto yy631;
8291
218
    goto yy230;
8292
23.2k
yy708:
8293
23.2k
    YYDEBUG(708, *YYCURSOR);
8294
23.2k
    ++YYCURSOR;
8295
23.2k
    YYFILL(1);
8296
23.2k
    yych = *YYCURSOR;
8297
23.2k
    if (yybm[0+yych] & 64) {
8298
225
      goto yy355;
8299
225
    }
8300
23.0k
    if (yych <= 0x00) goto yy86;
8301
22.7k
    if (yych == '/') goto yy545;
8302
1.78k
    goto yy230;
8303
3.03k
yy709:
8304
3.03k
    YYDEBUG(709, *YYCURSOR);
8305
3.03k
    ++YYCURSOR;
8306
3.03k
    YYDEBUG(710, *YYCURSOR);
8307
3.03k
    yyleng = YYCURSOR - SCNG(yy_text);
8308
3.03k
#line 1640 "Zend/zend_language_scanner.l"
8309
3.03k
    {
8310
3.03k
  RETURN_TOKEN(T_STRING_CAST);
8311
3.03k
}
8312
0
#line 8313 "Zend/zend_language_scanner.c"
8313
1.20k
yy711:
8314
1.20k
    YYDEBUG(711, *YYCURSOR);
8315
1.20k
    ++YYCURSOR;
8316
1.20k
    YYDEBUG(712, *YYCURSOR);
8317
1.20k
    yyleng = YYCURSOR - SCNG(yy_text);
8318
1.20k
#line 1648 "Zend/zend_language_scanner.l"
8319
1.20k
    {
8320
1.20k
  RETURN_TOKEN(T_OBJECT_CAST);
8321
1.20k
}
8322
0
#line 8323 "Zend/zend_language_scanner.c"
8323
6.60k
yy713:
8324
6.60k
    YYDEBUG(713, *YYCURSOR);
8325
6.60k
    yyaccept = 68;
8326
6.60k
    yych = *(YYMARKER = ++YYCURSOR);
8327
6.60k
    if (yybm[256+yych] & 128) {
8328
1.21k
      goto yy47;
8329
1.21k
    }
8330
5.39k
    if (yych == '\\') goto yy164;
8331
5.39k
yy714:
8332
5.39k
    YYDEBUG(714, *YYCURSOR);
8333
5.39k
    yyleng = YYCURSOR - SCNG(yy_text);
8334
5.39k
#line 1716 "Zend/zend_language_scanner.l"
8335
5.39k
    {
8336
5.39k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8337
5.39k
}
8338
0
#line 8339 "Zend/zend_language_scanner.c"
8339
2.51k
yy715:
8340
2.51k
    YYDEBUG(715, *YYCURSOR);
8341
2.51k
    yyaccept = 69;
8342
2.51k
    yych = *(YYMARKER = ++YYCURSOR);
8343
2.51k
    if (yybm[256+yych] & 128) {
8344
359
      goto yy47;
8345
359
    }
8346
2.15k
    if (yych == '\\') goto yy164;
8347
2.15k
yy716:
8348
2.15k
    YYDEBUG(716, *YYCURSOR);
8349
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
8350
2.15k
#line 1768 "Zend/zend_language_scanner.l"
8351
2.15k
    {
8352
2.15k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8353
2.15k
}
8354
0
#line 8355 "Zend/zend_language_scanner.c"
8355
3.16k
yy717:
8356
3.16k
    YYDEBUG(717, *YYCURSOR);
8357
3.16k
    yyaccept = 70;
8358
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
8359
3.16k
    if (yybm[256+yych] & 128) {
8360
298
      goto yy47;
8361
298
    }
8362
2.86k
    if (yych == '\\') goto yy164;
8363
2.86k
yy718:
8364
2.86k
    YYDEBUG(718, *YYCURSOR);
8365
2.86k
    yyleng = YYCURSOR - SCNG(yy_text);
8366
2.86k
#line 1524 "Zend/zend_language_scanner.l"
8367
2.86k
    {
8368
2.86k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8369
2.86k
}
8370
0
#line 8371 "Zend/zend_language_scanner.c"
8371
2.51k
yy719:
8372
2.51k
    YYDEBUG(719, *YYCURSOR);
8373
2.51k
    yyaccept = 4;
8374
2.51k
    yych = *(YYMARKER = ++YYCURSOR);
8375
2.51k
    if (yych == 'R') goto yy765;
8376
1.79k
    if (yych == 'r') goto yy765;
8377
297
    goto yy48;
8378
5.45k
yy720:
8379
5.45k
    YYDEBUG(720, *YYCURSOR);
8380
5.45k
    yyaccept = 4;
8381
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
8382
5.45k
    if (yych == 'C') goto yy766;
8383
3.73k
    if (yych == 'c') goto yy766;
8384
257
    goto yy48;
8385
3.34k
yy721:
8386
3.34k
    YYDEBUG(721, *YYCURSOR);
8387
3.34k
    yyaccept = 4;
8388
3.34k
    yych = *(YYMARKER = ++YYCURSOR);
8389
3.34k
    if (yych == 'H') goto yy767;
8390
3.09k
    if (yych == 'h') goto yy767;
8391
2.15k
    goto yy48;
8392
5.03k
yy722:
8393
5.03k
    YYDEBUG(722, *YYCURSOR);
8394
5.03k
    yyaccept = 71;
8395
5.03k
    yych = *(YYMARKER = ++YYCURSOR);
8396
5.03k
    if (yybm[256+yych] & 128) {
8397
238
      goto yy47;
8398
238
    }
8399
4.79k
    if (yych == '\\') goto yy164;
8400
4.79k
yy723:
8401
4.79k
    YYDEBUG(723, *YYCURSOR);
8402
4.79k
    yyleng = YYCURSOR - SCNG(yy_text);
8403
4.79k
#line 1460 "Zend/zend_language_scanner.l"
8404
4.79k
    {
8405
4.79k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8406
4.79k
}
8407
0
#line 8408 "Zend/zend_language_scanner.c"
8408
2.76k
yy724:
8409
2.76k
    YYDEBUG(724, *YYCURSOR);
8410
2.76k
    yych = *++YYCURSOR;
8411
2.76k
    if (yych == 'E') goto yy769;
8412
2.53k
    if (yych == 'e') goto yy769;
8413
655
    goto yy86;
8414
3.77k
yy725:
8415
3.77k
    YYDEBUG(725, *YYCURSOR);
8416
3.77k
    yych = *++YYCURSOR;
8417
3.77k
    if (yych == 'L') goto yy770;
8418
3.17k
    if (yych == 'l') goto yy770;
8419
492
    goto yy86;
8420
4.29M
yy726:
8421
4.29M
    YYDEBUG(726, *YYCURSOR);
8422
4.29M
    ++YYCURSOR;
8423
4.29M
    YYFILL(1);
8424
4.29M
    yych = *YYCURSOR;
8425
4.29M
    YYDEBUG(727, *YYCURSOR);
8426
4.29M
    if (yych <= '\f') {
8427
223k
      if (yych <= 0x00) goto yy86;
8428
203k
      if (yych == '\n') goto yy771;
8429
42.0k
      goto yy726;
8430
4.07M
    } else {
8431
4.07M
      if (yych <= '\r') goto yy771;
8432
3.91M
      if (yych == '*') goto yy773;
8433
3.88M
      goto yy726;
8434
3.91M
    }
8435
18.2k
yy728:
8436
18.2k
    YYDEBUG(728, *YYCURSOR);
8437
18.2k
    ++YYCURSOR;
8438
18.2k
    YYFILL(1);
8439
18.2k
    yych = *YYCURSOR;
8440
18.2k
    if (yych <= '\r') {
8441
1.59k
      if (yych <= '\t') {
8442
546
        if (yych <= 0x00) goto yy86;
8443
349
        goto yy586;
8444
1.04k
      } else {
8445
1.04k
        if (yych <= '\n') goto yy495;
8446
698
        if (yych <= '\f') goto yy586;
8447
470
        goto yy495;
8448
698
      }
8449
16.6k
    } else {
8450
16.6k
      if (yych <= 'T') {
8451
2.30k
        if (yych <= 'S') goto yy586;
8452
1.22k
        goto yy775;
8453
14.3k
      } else {
8454
14.3k
        if (yych == 't') goto yy775;
8455
3.52k
        goto yy586;
8456
14.3k
      }
8457
16.6k
    }
8458
32.2k
yy729:
8459
32.2k
    YYDEBUG(729, *YYCURSOR);
8460
32.2k
    ++YYCURSOR;
8461
32.2k
    YYFILL(1);
8462
32.2k
    yych = *YYCURSOR;
8463
32.2k
    if (yych <= '\r') {
8464
1.52k
      if (yych <= '\t') {
8465
583
        if (yych <= 0x00) goto yy86;
8466
341
        goto yy586;
8467
946
      } else {
8468
946
        if (yych <= '\n') goto yy495;
8469
651
        if (yych <= '\f') goto yy586;
8470
376
        goto yy495;
8471
651
      }
8472
30.6k
    } else {
8473
30.6k
      if (yych <= 'P') {
8474
6.14k
        if (yych <= 'O') goto yy586;
8475
1.67k
        goto yy776;
8476
24.5k
      } else {
8477
24.5k
        if (yych == 'p') goto yy776;
8478
869
        goto yy586;
8479
24.5k
      }
8480
30.6k
    }
8481
101k
yy730:
8482
101k
    YYDEBUG(730, *YYCURSOR);
8483
101k
    yyaccept = 72;
8484
101k
    yych = *(YYMARKER = ++YYCURSOR);
8485
101k
    if (yybm[256+yych] & 128) {
8486
1.54k
      goto yy47;
8487
1.54k
    }
8488
100k
    if (yych == '\\') goto yy164;
8489
100k
yy731:
8490
100k
    YYDEBUG(731, *YYCURSOR);
8491
100k
    yyleng = YYCURSOR - SCNG(yy_text);
8492
100k
#line 1397 "Zend/zend_language_scanner.l"
8493
100k
    {
8494
100k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8495
100k
}
8496
0
#line 8497 "Zend/zend_language_scanner.c"
8497
9.33k
yy732:
8498
9.33k
    YYDEBUG(732, *YYCURSOR);
8499
9.33k
    yyaccept = 4;
8500
9.33k
    yych = *(YYMARKER = ++YYCURSOR);
8501
9.33k
    if (yych == 'T') goto yy777;
8502
7.79k
    if (yych == 't') goto yy777;
8503
1.74k
    goto yy48;
8504
4.28k
yy733:
8505
4.28k
    YYDEBUG(733, *YYCURSOR);
8506
4.28k
    yyaccept = 4;
8507
4.28k
    yych = *(YYMARKER = ++YYCURSOR);
8508
4.28k
    if (yych == 'O') goto yy778;
8509
3.85k
    if (yych == 'o') goto yy778;
8510
264
    goto yy48;
8511
4.13k
yy734:
8512
4.13k
    YYDEBUG(734, *YYCURSOR);
8513
4.13k
    yyaccept = 4;
8514
4.13k
    yych = *(YYMARKER = ++YYCURSOR);
8515
4.13k
    if (yych == 'O') goto yy779;
8516
2.59k
    if (yych == 'o') goto yy779;
8517
483
    goto yy48;
8518
4.97k
yy735:
8519
4.97k
    YYDEBUG(735, *YYCURSOR);
8520
4.97k
    yyaccept = 4;
8521
4.97k
    yych = *(YYMARKER = ++YYCURSOR);
8522
4.97k
    if (yych == 'F') goto yy780;
8523
3.82k
    if (yych == 'f') goto yy780;
8524
280
    goto yy48;
8525
9.67k
yy736:
8526
9.67k
    YYDEBUG(736, *YYCURSOR);
8527
9.67k
    yyaccept = 4;
8528
9.67k
    yych = *(YYMARKER = ++YYCURSOR);
8529
9.67k
    if (yych == 'E') goto yy782;
8530
8.28k
    if (yych == 'e') goto yy782;
8531
454
    goto yy48;
8532
23.9k
yy737:
8533
23.9k
    YYDEBUG(737, *YYCURSOR);
8534
23.9k
    yyaccept = 4;
8535
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
8536
23.9k
    if (yych == 'E') goto yy784;
8537
21.5k
    if (yych == 'e') goto yy784;
8538
695
    goto yy48;
8539
1.84k
yy738:
8540
1.84k
    YYDEBUG(738, *YYCURSOR);
8541
1.84k
    yych = *++YYCURSOR;
8542
1.84k
    if (yych == 'S') goto yy786;
8543
1.61k
    if (yych == 's') goto yy786;
8544
273
    goto yy86;
8545
7.59k
yy739:
8546
7.59k
    YYDEBUG(739, *YYCURSOR);
8547
7.59k
    yyaccept = 4;
8548
7.59k
    yych = *(YYMARKER = ++YYCURSOR);
8549
7.59k
    if (yych == 'D') goto yy787;
8550
6.57k
    if (yych == 'd') goto yy787;
8551
315
    goto yy48;
8552
1.32k
yy740:
8553
1.32k
    YYDEBUG(740, *YYCURSOR);
8554
1.32k
    yych = *++YYCURSOR;
8555
1.32k
    if (yych == 'E') goto yy789;
8556
1.12k
    if (yych == 'e') goto yy789;
8557
245
    goto yy86;
8558
4.19k
yy741:
8559
4.19k
    YYDEBUG(741, *YYCURSOR);
8560
4.19k
    yyaccept = 73;
8561
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
8562
4.19k
    if (yybm[256+yych] & 128) {
8563
589
      goto yy47;
8564
589
    }
8565
3.60k
    if (yych == '\\') goto yy164;
8566
3.60k
yy742:
8567
3.60k
    YYDEBUG(742, *YYCURSOR);
8568
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
8569
3.60k
#line 1748 "Zend/zend_language_scanner.l"
8570
3.60k
    {
8571
3.60k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8572
3.60k
}
8573
0
#line 8574 "Zend/zend_language_scanner.c"
8574
2.79k
yy743:
8575
2.79k
    YYDEBUG(743, *YYCURSOR);
8576
2.79k
    yyaccept = 4;
8577
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
8578
2.79k
    if (yych == 'O') goto yy790;
8579
2.49k
    if (yych == 'o') goto yy790;
8580
223
    goto yy48;
8581
5.92k
yy744:
8582
5.92k
    YYDEBUG(744, *YYCURSOR);
8583
5.92k
    yych = *++YYCURSOR;
8584
5.92k
    if (yych == 'O') goto yy791;
8585
4.92k
    if (yych == 'o') goto yy791;
8586
903
    goto yy86;
8587
17.4k
yy745:
8588
17.4k
    YYDEBUG(745, *YYCURSOR);
8589
17.4k
    ++YYCURSOR;
8590
17.4k
    YYFILL(1);
8591
17.4k
    yych = *YYCURSOR;
8592
17.4k
    if (yych <= '\n') {
8593
12.9k
      if (yych <= 0x00) goto yy86;
8594
12.6k
      if (yych <= '\t') goto yy688;
8595
12.3k
      goto yy690;
8596
12.6k
    } else {
8597
4.56k
      if (yych == '\r') goto yy690;
8598
1.51k
      goto yy688;
8599
4.56k
    }
8600
94.2k
yy746:
8601
94.2k
    YYDEBUG(746, *YYCURSOR);
8602
94.2k
    ++YYCURSOR;
8603
94.2k
    YYFILL(1);
8604
94.2k
    yych = *YYCURSOR;
8605
94.2k
    if (yych <= '\f') {
8606
2.48k
      if (yych <= 0x00) goto yy86;
8607
1.76k
      if (yych == '\n') goto yy616;
8608
1.11k
      goto yy688;
8609
91.7k
    } else {
8610
91.7k
      if (yych <= '\r') goto yy616;
8611
86.0k
      if (yych == '*') goto yy792;
8612
6.40k
      goto yy688;
8613
86.0k
    }
8614
15.3k
yy747:
8615
15.3k
    YYDEBUG(747, *YYCURSOR);
8616
15.3k
    ++YYCURSOR;
8617
15.3k
    YYFILL(1);
8618
15.3k
    yych = *YYCURSOR;
8619
15.3k
    if (yych <= '\r') {
8620
1.35k
      if (yych <= '\t') {
8621
487
        if (yych <= 0x00) goto yy86;
8622
237
        goto yy688;
8623
869
      } else {
8624
869
        if (yych <= '\n') goto yy616;
8625
522
        if (yych <= '\f') goto yy688;
8626
308
        goto yy616;
8627
522
      }
8628
13.9k
    } else {
8629
13.9k
      if (yych <= 'R') {
8630
11.8k
        if (yych <= 'Q') goto yy688;
8631
9.63k
        goto yy794;
8632
11.8k
      } else {
8633
2.18k
        if (yych == 'r') goto yy794;
8634
1.32k
        goto yy688;
8635
2.18k
      }
8636
13.9k
    }
8637
75.0k
yy748:
8638
75.0k
    YYDEBUG(748, *YYCURSOR);
8639
75.0k
    ++YYCURSOR;
8640
75.0k
    YYFILL(1);
8641
75.0k
    yych = *YYCURSOR;
8642
75.0k
    YYDEBUG(749, *YYCURSOR);
8643
75.0k
    if (yych <= '*') {
8644
22.4k
      if (yych <= 0x00) goto yy86;
8645
21.5k
      if (yych <= ')') goto yy692;
8646
5.12k
      goto yy748;
8647
52.5k
    } else {
8648
52.5k
      if (yych == '/') goto yy616;
8649
7.83k
      goto yy692;
8650
52.5k
    }
8651
3.73k
yy750:
8652
3.73k
    YYDEBUG(750, *YYCURSOR);
8653
3.73k
    yyaccept = 4;
8654
3.73k
    yych = *(YYMARKER = ++YYCURSOR);
8655
3.73k
    if (yych == '_') goto yy795;
8656
289
    goto yy48;
8657
6.76k
yy751:
8658
6.76k
    YYDEBUG(751, *YYCURSOR);
8659
6.76k
    yyaccept = 74;
8660
6.76k
    yych = *(YYMARKER = ++YYCURSOR);
8661
6.76k
    if (yybm[256+yych] & 128) {
8662
329
      goto yy47;
8663
329
    }
8664
6.43k
    if (yych == '\\') goto yy164;
8665
6.43k
yy752:
8666
6.43k
    YYDEBUG(752, *YYCURSOR);
8667
6.43k
    yyleng = YYCURSOR - SCNG(yy_text);
8668
6.43k
#line 2223 "Zend/zend_language_scanner.l"
8669
6.43k
    {
8670
6.43k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8671
6.43k
}
8672
0
#line 8673 "Zend/zend_language_scanner.c"
8673
5.07k
yy753:
8674
5.07k
    YYDEBUG(753, *YYCURSOR);
8675
5.07k
    yyaccept = 4;
8676
5.07k
    yych = *(YYMARKER = ++YYCURSOR);
8677
5.07k
    if (yych == 'O') goto yy797;
8678
2.70k
    if (yych == 'o') goto yy797;
8679
511
    goto yy48;
8680
2.56k
yy754:
8681
2.56k
    YYDEBUG(754, *YYCURSOR);
8682
2.56k
    yyaccept = 4;
8683
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
8684
2.56k
    if (yych == 'O') goto yy798;
8685
1.88k
    if (yych == 'o') goto yy798;
8686
281
    goto yy48;
8687
2.05k
yy755:
8688
2.05k
    YYDEBUG(755, *YYCURSOR);
8689
2.05k
    yyaccept = 75;
8690
2.05k
    yych = *(YYMARKER = ++YYCURSOR);
8691
2.05k
    if (yybm[256+yych] & 128) {
8692
335
      goto yy47;
8693
335
    }
8694
1.71k
    if (yych == '\\') goto yy164;
8695
1.70k
yy756:
8696
1.70k
    YYDEBUG(756, *YYCURSOR);
8697
1.70k
    yyleng = YYCURSOR - SCNG(yy_text);
8698
1.70k
#line 2219 "Zend/zend_language_scanner.l"
8699
1.70k
    {
8700
1.70k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8701
1.70k
}
8702
0
#line 8703 "Zend/zend_language_scanner.c"
8703
11.0k
yy757:
8704
11.0k
    YYDEBUG(757, *YYCURSOR);
8705
11.0k
    yyaccept = 4;
8706
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
8707
11.0k
    if (yych == '_') goto yy799;
8708
539
    goto yy48;
8709
4.69k
yy758:
8710
4.69k
    YYDEBUG(758, *YYCURSOR);
8711
4.69k
    yyaccept = 4;
8712
4.69k
    yych = *(YYMARKER = ++YYCURSOR);
8713
4.69k
    if (yych == 'A') goto yy800;
8714
2.71k
    if (yych == 'a') goto yy800;
8715
259
    goto yy48;
8716
3.11k
yy759:
8717
3.11k
    YYDEBUG(759, *YYCURSOR);
8718
3.11k
    yyaccept = 4;
8719
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
8720
3.11k
    if (yych == 'T') goto yy801;
8721
869
    if (yych == 't') goto yy801;
8722
308
    goto yy48;
8723
2.76k
yy760:
8724
2.76k
    YYDEBUG(760, *YYCURSOR);
8725
2.76k
    yyaccept = 4;
8726
2.76k
    yych = *(YYMARKER = ++YYCURSOR);
8727
2.76k
    if (yych == '_') goto yy802;
8728
329
    goto yy48;
8729
8.31k
yy761:
8730
8.31k
    YYDEBUG(761, *YYCURSOR);
8731
8.31k
    ++YYCURSOR;
8732
8.31k
    YYFILL(1);
8733
8.31k
    yych = *YYCURSOR;
8734
8.31k
    if (yybm[0+yych] & 128) {
8735
605
      goto yy443;
8736
605
    }
8737
7.71k
    if (yych <= 0x00) goto yy86;
8738
7.44k
    if (yych <= '\r') goto yy705;
8739
256
    goto yy547;
8740
1.18k
yy762:
8741
1.18k
    YYDEBUG(762, *YYCURSOR);
8742
1.18k
    yyaccept = 26;
8743
1.18k
    YYMARKER = ++YYCURSOR;
8744
1.18k
    YYFILL(1);
8745
1.18k
    yych = *YYCURSOR;
8746
1.18k
    if (yybm[0+yych] & 128) {
8747
460
      goto yy443;
8748
460
    }
8749
725
    if (yych <= 0x00) goto yy89;
8750
484
    if (yych <= '\r') goto yy545;
8751
211
    goto yy547;
8752
4.87k
yy763:
8753
4.87k
    YYDEBUG(763, *YYCURSOR);
8754
4.87k
    ++YYCURSOR;
8755
4.87k
    YYFILL(1);
8756
4.87k
    yych = *YYCURSOR;
8757
4.87k
    if (yych <= '\r') {
8758
1.12k
      if (yych <= '\t') {
8759
393
        if (yych <= 0x00) goto yy86;
8760
197
        goto yy443;
8761
730
      } else {
8762
730
        if (yych <= '\n') goto yy545;
8763
529
        if (yych <= '\f') goto yy443;
8764
316
        goto yy545;
8765
529
      }
8766
3.74k
    } else {
8767
3.74k
      if (yych <= '*') {
8768
508
        if (yych <= ')') goto yy443;
8769
242
        goto yy547;
8770
3.24k
      } else {
8771
3.24k
        if (yych == '.') goto yy804;
8772
1.15k
        goto yy443;
8773
3.24k
      }
8774
3.74k
    }
8775
26.7k
yy764:
8776
26.7k
    YYDEBUG(764, *YYCURSOR);
8777
26.7k
    ++YYCURSOR;
8778
26.7k
    YYFILL(1);
8779
26.7k
    yych = *YYCURSOR;
8780
26.7k
    if (yybm[0+yych] & 128) {
8781
2.82k
      goto yy443;
8782
2.82k
    }
8783
23.9k
    if (yych <= 0x00) goto yy86;
8784
23.7k
    if (yych <= '\r') goto yy545;
8785
23.1k
    goto yy805;
8786
23.1k
yy765:
8787
2.21k
    YYDEBUG(765, *YYCURSOR);
8788
2.21k
    yyaccept = 4;
8789
2.21k
    yych = *(YYMARKER = ++YYCURSOR);
8790
2.21k
    if (yych == 'E') goto yy806;
8791
1.73k
    if (yych == 'e') goto yy806;
8792
468
    goto yy48;
8793
5.19k
yy766:
8794
5.19k
    YYDEBUG(766, *YYCURSOR);
8795
5.19k
    yyaccept = 4;
8796
5.19k
    yych = *(YYMARKER = ++YYCURSOR);
8797
5.19k
    if (yych == 'H') goto yy808;
8798
3.67k
    if (yych == 'h') goto yy808;
8799
886
    goto yy48;
8800
1.18k
yy767:
8801
1.18k
    YYDEBUG(767, *YYCURSOR);
8802
1.18k
    yyaccept = 76;
8803
1.18k
    yych = *(YYMARKER = ++YYCURSOR);
8804
1.18k
    if (yybm[256+yych] & 128) {
8805
378
      goto yy47;
8806
378
    }
8807
808
    if (yych == '\\') goto yy164;
8808
780
yy768:
8809
780
    YYDEBUG(768, *YYCURSOR);
8810
780
    yyleng = YYCURSOR - SCNG(yy_text);
8811
780
#line 1508 "Zend/zend_language_scanner.l"
8812
780
    {
8813
780
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8814
780
}
8815
0
#line 8816 "Zend/zend_language_scanner.c"
8816
2.10k
yy769:
8817
2.10k
    YYDEBUG(769, *YYCURSOR);
8818
2.10k
    yych = *++YYCURSOR;
8819
2.10k
    if (yych == 'N') goto yy810;
8820
1.87k
    if (yych == 'n') goto yy810;
8821
425
    goto yy86;
8822
3.27k
yy770:
8823
3.27k
    YYDEBUG(770, *YYCURSOR);
8824
3.27k
    yych = *++YYCURSOR;
8825
3.27k
    if (yych == 'E') goto yy811;
8826
2.65k
    if (yych == 'e') goto yy811;
8827
377
    goto yy86;
8828
453k
yy771:
8829
453k
    YYDEBUG(771, *YYCURSOR);
8830
453k
    ++YYCURSOR;
8831
453k
    YYFILL(1);
8832
453k
    yych = *YYCURSOR;
8833
453k
    YYDEBUG(772, *YYCURSOR);
8834
453k
    if (yych <= '@') {
8835
408k
      if (yych <= ' ') {
8836
53.9k
        if (yych <= '\n') {
8837
10.4k
          if (yych <= 0x00) goto yy86;
8838
7.45k
          if (yych <= 0x08) goto yy590;
8839
6.74k
          goto yy771;
8840
43.5k
        } else {
8841
43.5k
          if (yych == '\r') goto yy771;
8842
28.1k
          if (yych <= 0x1F) goto yy590;
8843
26.6k
          goto yy771;
8844
28.1k
        }
8845
354k
      } else {
8846
354k
        if (yych <= ')') {
8847
289k
          if (yych == '#') goto yy812;
8848
20.5k
          goto yy590;
8849
289k
        } else {
8850
65.4k
          if (yych <= '*') goto yy664;
8851
64.0k
          if (yych == '/') goto yy813;
8852
2.82k
          goto yy590;
8853
64.0k
        }
8854
354k
      }
8855
408k
    } else {
8856
44.3k
      if (yych <= '_') {
8857
7.53k
        if (yych <= 'H') {
8858
3.15k
          if (yych == 'E') goto yy815;
8859
2.63k
          goto yy814;
8860
4.38k
        } else {
8861
4.38k
          if (yych <= 'I') goto yy816;
8862
2.20k
          if (yych <= 'Z') goto yy814;
8863
1.75k
          if (yych <= '^') goto yy590;
8864
643
          goto yy814;
8865
1.75k
        }
8866
36.8k
      } else {
8867
36.8k
        if (yych <= 'h') {
8868
15.3k
          if (yych <= '`') goto yy590;
8869
14.8k
          if (yych == 'e') goto yy815;
8870
4.43k
          goto yy814;
8871
21.4k
        } else {
8872
21.4k
          if (yych <= 'i') goto yy816;
8873
9.30k
          if (yych <= 'z') goto yy814;
8874
5.96k
          if (yych <= 0x7F) goto yy590;
8875
2.66k
          goto yy814;
8876
5.96k
        }
8877
36.8k
      }
8878
44.3k
    }
8879
49.3k
yy773:
8880
49.3k
    YYDEBUG(773, *YYCURSOR);
8881
49.3k
    ++YYCURSOR;
8882
49.3k
    YYFILL(1);
8883
49.3k
    yych = *YYCURSOR;
8884
49.3k
    YYDEBUG(774, *YYCURSOR);
8885
49.3k
    if (yych <= '\r') {
8886
6.86k
      if (yych <= '\t') {
8887
2.88k
        if (yych <= 0x00) goto yy86;
8888
1.58k
        goto yy726;
8889
3.98k
      } else {
8890
3.98k
        if (yych <= '\n') goto yy771;
8891
2.12k
        if (yych <= '\f') goto yy726;
8892
1.79k
        goto yy771;
8893
2.12k
      }
8894
42.4k
    } else {
8895
42.4k
      if (yych <= '*') {
8896
15.7k
        if (yych <= ')') goto yy726;
8897
5.76k
        goto yy773;
8898
26.6k
      } else {
8899
26.6k
        if (yych == '/') goto yy588;
8900
10.9k
        goto yy726;
8901
26.6k
      }
8902
42.4k
    }
8903
12.0k
yy775:
8904
12.0k
    YYDEBUG(775, *YYCURSOR);
8905
12.0k
    ++YYCURSOR;
8906
12.0k
    YYFILL(1);
8907
12.0k
    yych = *YYCURSOR;
8908
12.0k
    if (yych <= '\r') {
8909
1.42k
      if (yych <= '\t') {
8910
467
        if (yych <= 0x00) goto yy86;
8911
228
        goto yy586;
8912
959
      } else {
8913
959
        if (yych <= '\n') goto yy495;
8914
610
        if (yych <= '\f') goto yy586;
8915
373
        goto yy495;
8916
610
      }
8917
10.6k
    } else {
8918
10.6k
      if (yych <= 'E') {
8919
813
        if (yych <= 'D') goto yy586;
8920
548
        goto yy817;
8921
9.80k
      } else {
8922
9.80k
        if (yych == 'e') goto yy817;
8923
675
        goto yy586;
8924
9.80k
      }
8925
10.6k
    }
8926
25.3k
yy776:
8927
25.3k
    YYDEBUG(776, *YYCURSOR);
8928
25.3k
    ++YYCURSOR;
8929
25.3k
    YYFILL(1);
8930
25.3k
    yych = *YYCURSOR;
8931
25.3k
    if (yych <= '\r') {
8932
1.20k
      if (yych <= '\t') {
8933
583
        if (yych <= 0x00) goto yy86;
8934
274
        goto yy586;
8935
623
      } else {
8936
623
        if (yych <= '\n') goto yy495;
8937
423
        if (yych <= '\f') goto yy586;
8938
224
        goto yy495;
8939
423
      }
8940
24.1k
    } else {
8941
24.1k
      if (yych <= 'L') {
8942
2.63k
        if (yych <= 'K') goto yy586;
8943
1.56k
        goto yy818;
8944
21.4k
      } else {
8945
21.4k
        if (yych == 'l') goto yy818;
8946
641
        goto yy586;
8947
21.4k
      }
8948
24.1k
    }
8949
7.58k
yy777:
8950
7.58k
    YYDEBUG(777, *YYCURSOR);
8951
7.58k
    yyaccept = 4;
8952
7.58k
    yych = *(YYMARKER = ++YYCURSOR);
8953
7.58k
    if (yych == 'S') goto yy819;
8954
6.59k
    if (yych == 's') goto yy819;
8955
1.45k
    goto yy48;
8956
4.02k
yy778:
8957
4.02k
    YYDEBUG(778, *YYCURSOR);
8958
4.02k
    yyaccept = 4;
8959
4.02k
    yych = *(YYMARKER = ++YYCURSOR);
8960
4.02k
    if (yych == 'N') goto yy821;
8961
3.76k
    if (yych == 'n') goto yy821;
8962
358
    goto yy48;
8963
3.65k
yy779:
8964
3.65k
    YYDEBUG(779, *YYCURSOR);
8965
3.65k
    yyaccept = 4;
8966
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
8967
3.65k
    if (yych == 'F') goto yy822;
8968
2.57k
    if (yych == 'f') goto yy822;
8969
648
    goto yy48;
8970
4.69k
yy780:
8971
4.69k
    YYDEBUG(780, *YYCURSOR);
8972
4.69k
    yyaccept = 77;
8973
4.69k
    yych = *(YYMARKER = ++YYCURSOR);
8974
4.69k
    if (yybm[256+yych] & 128) {
8975
543
      goto yy47;
8976
543
    }
8977
4.15k
    if (yych == '\\') goto yy164;
8978
4.15k
yy781:
8979
4.15k
    YYDEBUG(781, *YYCURSOR);
8980
4.15k
    yyleng = YYCURSOR - SCNG(yy_text);
8981
4.15k
#line 1692 "Zend/zend_language_scanner.l"
8982
4.15k
    {
8983
4.15k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
8984
4.15k
}
8985
0
#line 8986 "Zend/zend_language_scanner.c"
8986
9.21k
yy782:
8987
9.21k
    YYDEBUG(782, *YYCURSOR);
8988
9.21k
    yyaccept = 78;
8989
9.21k
    yych = *(YYMARKER = ++YYCURSOR);
8990
9.21k
    if (yybm[256+yych] & 128) {
8991
600
      goto yy47;
8992
600
    }
8993
8.61k
    if (yych == '\\') goto yy164;
8994
8.61k
yy783:
8995
8.61k
    YYDEBUG(783, *YYCURSOR);
8996
8.61k
    yyleng = YYCURSOR - SCNG(yy_text);
8997
8.61k
#line 1544 "Zend/zend_language_scanner.l"
8998
8.61k
    {
8999
8.61k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9000
8.61k
}
9001
0
#line 9002 "Zend/zend_language_scanner.c"
9002
23.2k
yy784:
9003
23.2k
    YYDEBUG(784, *YYCURSOR);
9004
23.2k
    yyaccept = 79;
9005
23.2k
    yych = *(YYMARKER = ++YYCURSOR);
9006
23.2k
    if (yybm[256+yych] & 128) {
9007
643
      goto yy47;
9008
643
    }
9009
22.5k
    if (yych == '\\') goto yy824;
9010
19.0k
yy785:
9011
19.0k
    YYDEBUG(785, *YYCURSOR);
9012
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
9013
19.0k
#line 1684 "Zend/zend_language_scanner.l"
9014
19.0k
    {
9015
19.0k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9016
19.0k
}
9017
0
#line 9018 "Zend/zend_language_scanner.c"
9018
1.56k
yy786:
9019
1.56k
    YYDEBUG(786, *YYCURSOR);
9020
1.56k
    yych = *++YYCURSOR;
9021
1.56k
    if (yych == 'E') goto yy825;
9022
1.36k
    if (yych == 'e') goto yy825;
9023
293
    goto yy86;
9024
7.28k
yy787:
9025
7.28k
    YYDEBUG(787, *YYCURSOR);
9026
7.28k
    yyaccept = 80;
9027
7.28k
    yych = *(YYMARKER = ++YYCURSOR);
9028
7.28k
    if (yybm[256+yych] & 128) {
9029
352
      goto yy47;
9030
352
    }
9031
6.92k
    if (yych == '(') goto yy826;
9032
5.27k
    if (yych == '\\') goto yy164;
9033
6.23k
yy788:
9034
6.23k
    YYDEBUG(788, *YYCURSOR);
9035
6.23k
    yyleng = YYCURSOR - SCNG(yy_text);
9036
6.23k
#line 1728 "Zend/zend_language_scanner.l"
9037
6.23k
    {
9038
6.23k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9039
6.23k
}
9040
0
#line 9041 "Zend/zend_language_scanner.c"
9041
1.07k
yy789:
9042
1.07k
    YYDEBUG(789, *YYCURSOR);
9043
1.07k
    yych = *++YYCURSOR;
9044
1.07k
    if (yych == 'T') goto yy827;
9045
668
    if (yych == 't') goto yy827;
9046
243
    goto yy86;
9047
2.57k
yy790:
9048
2.57k
    YYDEBUG(790, *YYCURSOR);
9049
2.57k
    yyaccept = 4;
9050
2.57k
    yych = *(YYMARKER = ++YYCURSOR);
9051
2.57k
    if (yych == 'N') goto yy828;
9052
2.19k
    if (yych == 'n') goto yy828;
9053
314
    goto yy48;
9054
5.02k
yy791:
9055
5.02k
    YYDEBUG(791, *YYCURSOR);
9056
5.02k
    yych = *++YYCURSOR;
9057
5.02k
    if (yych == 'M') goto yy829;
9058
3.99k
    if (yych == 'm') goto yy829;
9059
347
    goto yy86;
9060
1.53M
yy792:
9061
1.53M
    YYDEBUG(792, *YYCURSOR);
9062
1.53M
    ++YYCURSOR;
9063
1.53M
    YYFILL(1);
9064
1.53M
    yych = *YYCURSOR;
9065
1.53M
    YYDEBUG(793, *YYCURSOR);
9066
1.53M
    if (yych <= '\f') {
9067
140k
      if (yych <= 0x00) goto yy86;
9068
134k
      if (yych == '\n') goto yy830;
9069
50.0k
      goto yy792;
9070
1.39M
    } else {
9071
1.39M
      if (yych <= '\r') goto yy830;
9072
1.31M
      if (yych == '*') goto yy832;
9073
1.28M
      goto yy792;
9074
1.31M
    }
9075
10.4k
yy794:
9076
10.4k
    YYDEBUG(794, *YYCURSOR);
9077
10.4k
    ++YYCURSOR;
9078
10.4k
    YYFILL(1);
9079
10.4k
    yych = *YYCURSOR;
9080
10.4k
    if (yych <= '\r') {
9081
1.09k
      if (yych <= '\t') {
9082
471
        if (yych <= 0x00) goto yy86;
9083
219
        goto yy688;
9084
627
      } else {
9085
627
        if (yych <= '\n') goto yy616;
9086
417
        if (yych <= '\f') goto yy688;
9087
206
        goto yy616;
9088
417
      }
9089
9.39k
    } else {
9090
9.39k
      if (yych <= 'O') {
9091
7.56k
        if (yych <= 'N') goto yy688;
9092
7.15k
        goto yy834;
9093
7.56k
      } else {
9094
1.83k
        if (yych == 'o') goto yy834;
9095
387
        goto yy688;
9096
1.83k
      }
9097
9.39k
    }
9098
3.44k
yy795:
9099
3.44k
    YYDEBUG(795, *YYCURSOR);
9100
3.44k
    yyaccept = 81;
9101
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
9102
3.44k
    if (yybm[256+yych] & 128) {
9103
534
      goto yy47;
9104
534
    }
9105
2.90k
    if (yych == '\\') goto yy164;
9106
2.90k
yy796:
9107
2.90k
    YYDEBUG(796, *YYCURSOR);
9108
2.90k
    yyleng = YYCURSOR - SCNG(yy_text);
9109
2.90k
#line 2199 "Zend/zend_language_scanner.l"
9110
2.90k
    {
9111
2.90k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9112
2.90k
}
9113
0
#line 9114 "Zend/zend_language_scanner.c"
9114
4.56k
yy797:
9115
4.56k
    YYDEBUG(797, *YYCURSOR);
9116
4.56k
    yyaccept = 4;
9117
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
9118
4.56k
    if (yych == 'N') goto yy835;
9119
1.17k
    if (yych == 'n') goto yy835;
9120
516
    goto yy48;
9121
2.28k
yy798:
9122
2.28k
    YYDEBUG(798, *YYCURSOR);
9123
2.28k
    yyaccept = 4;
9124
2.28k
    yych = *(YYMARKER = ++YYCURSOR);
9125
2.28k
    if (yych == 'M') goto yy836;
9126
1.84k
    if (yych == 'm') goto yy836;
9127
342
    goto yy48;
9128
10.5k
yy799:
9129
10.5k
    YYDEBUG(799, *YYCURSOR);
9130
10.5k
    yyaccept = 4;
9131
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
9132
10.5k
    if (yych == '_') goto yy837;
9133
333
    goto yy48;
9134
4.43k
yy800:
9135
4.43k
    YYDEBUG(800, *YYCURSOR);
9136
4.43k
    yyaccept = 4;
9137
4.43k
    yych = *(YYMARKER = ++YYCURSOR);
9138
4.43k
    if (yych == 'C') goto yy839;
9139
2.57k
    if (yych == 'c') goto yy839;
9140
296
    goto yy48;
9141
2.81k
yy801:
9142
2.81k
    YYDEBUG(801, *YYCURSOR);
9143
2.81k
    yyaccept = 4;
9144
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
9145
2.81k
    if (yych == 'Y') goto yy840;
9146
655
    if (yych == 'y') goto yy840;
9147
452
    goto yy48;
9148
2.43k
yy802:
9149
2.43k
    YYDEBUG(802, *YYCURSOR);
9150
2.43k
    yyaccept = 82;
9151
2.43k
    yych = *(YYMARKER = ++YYCURSOR);
9152
2.43k
    if (yybm[256+yych] & 128) {
9153
299
      goto yy47;
9154
299
    }
9155
2.13k
    if (yych == '\\') goto yy164;
9156
2.13k
yy803:
9157
2.13k
    YYDEBUG(803, *YYCURSOR);
9158
2.13k
    yyleng = YYCURSOR - SCNG(yy_text);
9159
2.13k
#line 2203 "Zend/zend_language_scanner.l"
9160
2.13k
    {
9161
2.13k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9162
2.13k
}
9163
0
#line 9164 "Zend/zend_language_scanner.c"
9164
2.08k
yy804:
9165
2.08k
    YYDEBUG(804, *YYCURSOR);
9166
2.08k
    ++YYCURSOR;
9167
2.08k
    YYFILL(1);
9168
2.08k
    yych = *YYCURSOR;
9169
2.08k
    if (yych <= '\r') {
9170
1.16k
      if (yych <= '\t') {
9171
391
        if (yych <= 0x00) goto yy86;
9172
197
        goto yy443;
9173
778
      } else {
9174
778
        if (yych <= '\n') goto yy545;
9175
579
        if (yych <= '\f') goto yy443;
9176
245
        goto yy545;
9177
579
      }
9178
1.16k
    } else {
9179
916
      if (yych <= '*') {
9180
425
        if (yych <= ')') goto yy443;
9181
226
        goto yy547;
9182
491
      } else {
9183
491
        if (yych == '.') goto yy762;
9184
273
        goto yy443;
9185
491
      }
9186
916
    }
9187
23.1k
yy805:
9188
23.1k
    YYDEBUG(805, *YYCURSOR);
9189
23.1k
    ++YYCURSOR;
9190
23.1k
    YYFILL(1);
9191
23.1k
    yych = *YYCURSOR;
9192
23.1k
    if (yych <= '\r') {
9193
1.47k
      if (yych <= '\t') {
9194
639
        if (yych <= 0x00) goto yy86;
9195
263
        goto yy443;
9196
838
      } else {
9197
838
        if (yych <= '\n') goto yy545;
9198
452
        if (yych <= '\f') goto yy443;
9199
255
        goto yy545;
9200
452
      }
9201
21.6k
    } else {
9202
21.6k
      if (yych <= '*') {
9203
593
        if (yych <= ')') goto yy443;
9204
258
        goto yy547;
9205
21.1k
      } else {
9206
21.1k
        if (yych == '/') goto yy705;
9207
2.03k
        goto yy443;
9208
21.1k
      }
9209
21.6k
    }
9210
1.75k
yy806:
9211
1.75k
    YYDEBUG(806, *YYCURSOR);
9212
1.75k
    yyaccept = 83;
9213
1.75k
    yych = *(YYMARKER = ++YYCURSOR);
9214
1.75k
    if (yybm[256+yych] & 128) {
9215
275
      goto yy47;
9216
275
    }
9217
1.47k
    if (yych == '\\') goto yy164;
9218
1.47k
yy807:
9219
1.47k
    YYDEBUG(807, *YYCURSOR);
9220
1.47k
    yyleng = YYCURSOR - SCNG(yy_text);
9221
1.47k
#line 1488 "Zend/zend_language_scanner.l"
9222
1.47k
    {
9223
1.47k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9224
1.47k
}
9225
0
#line 9226 "Zend/zend_language_scanner.c"
9226
4.31k
yy808:
9227
4.31k
    YYDEBUG(808, *YYCURSOR);
9228
4.31k
    yyaccept = 84;
9229
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
9230
4.31k
    if (yybm[256+yych] & 128) {
9231
775
      goto yy47;
9232
775
    }
9233
3.53k
    if (yych == '\\') goto yy164;
9234
3.53k
yy809:
9235
3.53k
    YYDEBUG(809, *YYCURSOR);
9236
3.53k
    yyleng = YYCURSOR - SCNG(yy_text);
9237
3.53k
#line 1480 "Zend/zend_language_scanner.l"
9238
3.53k
    {
9239
3.53k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9240
3.53k
}
9241
0
#line 9242 "Zend/zend_language_scanner.c"
9242
1.68k
yy810:
9243
1.68k
    YYDEBUG(810, *YYCURSOR);
9244
1.68k
    yych = *++YYCURSOR;
9245
1.68k
    if (yych == 'D') goto yy841;
9246
1.46k
    if (yych == 'd') goto yy841;
9247
834
    goto yy86;
9248
2.90k
yy811:
9249
2.90k
    YYDEBUG(811, *YYCURSOR);
9250
2.90k
    yych = *++YYCURSOR;
9251
2.90k
    if (yych == 'M') goto yy842;
9252
1.63k
    if (yych == 'm') goto yy842;
9253
575
    goto yy86;
9254
268k
yy812:
9255
268k
    YYDEBUG(812, *YYCURSOR);
9256
268k
    ++YYCURSOR;
9257
268k
    YYFILL(1);
9258
268k
    yych = *YYCURSOR;
9259
268k
    if (yych <= '\r') {
9260
234k
      if (yych <= '\t') {
9261
6.92k
        if (yych <= 0x00) goto yy86;
9262
5.87k
        goto yy726;
9263
227k
      } else {
9264
227k
        if (yych <= '\n') goto yy843;
9265
46.6k
        if (yych <= '\f') goto yy726;
9266
45.8k
        goto yy843;
9267
46.6k
      }
9268
234k
    } else {
9269
34.1k
      if (yych <= '*') {
9270
5.64k
        if (yych <= ')') goto yy726;
9271
2.08k
        goto yy773;
9272
28.5k
      } else {
9273
28.5k
        if (yych == '[') goto yy590;
9274
28.3k
        goto yy726;
9275
28.5k
      }
9276
34.1k
    }
9277
61.2k
yy813:
9278
61.2k
    YYDEBUG(813, *YYCURSOR);
9279
61.2k
    ++YYCURSOR;
9280
61.2k
    YYFILL(1);
9281
61.2k
    yych = *YYCURSOR;
9282
61.2k
    if (yych <= '*') {
9283
52.5k
      if (yych <= 0x00) goto yy86;
9284
51.7k
      if (yych <= ')') goto yy590;
9285
49.3k
      goto yy845;
9286
51.7k
    } else {
9287
8.74k
      if (yych == '/') goto yy726;
9288
3.21k
      goto yy590;
9289
8.74k
    }
9290
14.1k
yy814:
9291
14.1k
    YYDEBUG(814, *YYCURSOR);
9292
14.1k
    yyaccept = 53;
9293
14.1k
    YYMARKER = ++YYCURSOR;
9294
14.1k
    YYFILL(1);
9295
14.1k
    yych = *YYCURSOR;
9296
14.1k
    if (yych <= 0x00) goto yy583;
9297
12.9k
    if (yych == '*') goto yy664;
9298
12.5k
    goto yy590;
9299
12.5k
yy815:
9300
10.9k
    YYDEBUG(815, *YYCURSOR);
9301
10.9k
    yyaccept = 53;
9302
10.9k
    YYMARKER = ++YYCURSOR;
9303
10.9k
    YYFILL(1);
9304
10.9k
    yych = *YYCURSOR;
9305
10.9k
    if (yych <= 'W') {
9306
2.43k
      if (yych <= 0x00) goto yy583;
9307
2.17k
      if (yych == '*') goto yy664;
9308
803
      goto yy590;
9309
8.46k
    } else {
9310
8.46k
      if (yych <= 'X') goto yy846;
9311
8.09k
      if (yych == 'x') goto yy846;
9312
3.03k
      goto yy590;
9313
8.09k
    }
9314
14.3k
yy816:
9315
14.3k
    YYDEBUG(816, *YYCURSOR);
9316
14.3k
    yyaccept = 53;
9317
14.3k
    YYMARKER = ++YYCURSOR;
9318
14.3k
    YYFILL(1);
9319
14.3k
    yych = *YYCURSOR;
9320
14.3k
    if (yych <= 'L') {
9321
2.88k
      if (yych <= 0x00) goto yy583;
9322
2.43k
      if (yych == '*') goto yy664;
9323
2.23k
      goto yy590;
9324
11.4k
    } else {
9325
11.4k
      if (yych <= 'M') goto yy847;
9326
9.22k
      if (yych == 'm') goto yy847;
9327
513
      goto yy590;
9328
9.22k
    }
9329
9.67k
yy817:
9330
9.67k
    YYDEBUG(817, *YYCURSOR);
9331
9.67k
    ++YYCURSOR;
9332
9.67k
    YYFILL(1);
9333
9.67k
    yych = *YYCURSOR;
9334
9.67k
    if (yych <= '\r') {
9335
3.17k
      if (yych <= '\t') {
9336
800
        if (yych <= 0x00) goto yy86;
9337
289
        goto yy586;
9338
2.37k
      } else {
9339
2.37k
        if (yych <= '\n') goto yy495;
9340
2.05k
        if (yych <= '\f') goto yy586;
9341
1.75k
        goto yy495;
9342
2.05k
      }
9343
6.50k
    } else {
9344
6.50k
      if (yych <= 'N') {
9345
859
        if (yych <= 'M') goto yy586;
9346
535
        goto yy848;
9347
5.64k
      } else {
9348
5.64k
        if (yych == 'n') goto yy848;
9349
307
        goto yy586;
9350
5.64k
      }
9351
6.50k
    }
9352
22.4k
yy818:
9353
22.4k
    YYDEBUG(818, *YYCURSOR);
9354
22.4k
    ++YYCURSOR;
9355
22.4k
    YYFILL(1);
9356
22.4k
    yych = *YYCURSOR;
9357
22.4k
    if (yych <= '\r') {
9358
1.44k
      if (yych <= '\t') {
9359
526
        if (yych <= 0x00) goto yy86;
9360
246
        goto yy586;
9361
923
      } else {
9362
923
        if (yych <= '\n') goto yy495;
9363
575
        if (yych <= '\f') goto yy586;
9364
276
        goto yy495;
9365
575
      }
9366
20.9k
    } else {
9367
20.9k
      if (yych <= 'E') {
9368
2.05k
        if (yych <= 'D') goto yy586;
9369
1.76k
        goto yy849;
9370
18.9k
      } else {
9371
18.9k
        if (yych == 'e') goto yy849;
9372
458
        goto yy586;
9373
18.9k
      }
9374
20.9k
    }
9375
6.12k
yy819:
9376
6.12k
    YYDEBUG(819, *YYCURSOR);
9377
6.12k
    yyaccept = 85;
9378
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
9379
6.12k
    if (yybm[256+yych] & 128) {
9380
337
      goto yy47;
9381
337
    }
9382
5.78k
    if (yych == '\\') goto yy164;
9383
5.65k
yy820:
9384
5.65k
    YYDEBUG(820, *YYCURSOR);
9385
5.65k
    yyleng = YYCURSOR - SCNG(yy_text);
9386
5.65k
#line 1569 "Zend/zend_language_scanner.l"
9387
5.65k
    {
9388
5.65k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9389
5.65k
}
9390
0
#line 9391 "Zend/zend_language_scanner.c"
9391
3.66k
yy821:
9392
3.66k
    YYDEBUG(821, *YYCURSOR);
9393
3.66k
    yyaccept = 4;
9394
3.66k
    yych = *(YYMARKER = ++YYCURSOR);
9395
3.66k
    if (yych == 'C') goto yy850;
9396
3.21k
    if (yych == 'c') goto yy850;
9397
246
    goto yy48;
9398
3.00k
yy822:
9399
3.00k
    YYDEBUG(822, *YYCURSOR);
9400
3.00k
    yyaccept = 86;
9401
3.00k
    yych = *(YYMARKER = ++YYCURSOR);
9402
3.00k
    if (yybm[256+yych] & 128) {
9403
887
      goto yy47;
9404
887
    }
9405
2.11k
    if (yych == '\\') goto yy164;
9406
2.11k
yy823:
9407
2.11k
    YYDEBUG(823, *YYCURSOR);
9408
2.11k
    yyleng = YYCURSOR - SCNG(yy_text);
9409
2.11k
#line 1492 "Zend/zend_language_scanner.l"
9410
2.11k
    {
9411
2.11k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9412
2.11k
}
9413
0
#line 9414 "Zend/zend_language_scanner.c"
9414
5.10k
yy824:
9415
5.10k
    YYDEBUG(824, *YYCURSOR);
9416
5.10k
    ++YYCURSOR;
9417
5.10k
    YYFILL(1);
9418
5.10k
    yych = *YYCURSOR;
9419
5.10k
    if (yych <= '_') {
9420
1.09k
      if (yych <= '@') goto yy86;
9421
854
      if (yych <= 'Z') goto yy851;
9422
496
      if (yych <= '^') goto yy86;
9423
289
      goto yy851;
9424
4.01k
    } else {
9425
4.01k
      if (yych <= '`') goto yy86;
9426
3.80k
      if (yych <= 'z') goto yy851;
9427
1.39k
      if (yych <= 0x7F) goto yy86;
9428
1.16k
      goto yy851;
9429
1.39k
    }
9430
1.27k
yy825:
9431
1.27k
    YYDEBUG(825, *YYCURSOR);
9432
1.27k
    yych = *++YYCURSOR;
9433
1.27k
    if (yych == 'T') goto yy854;
9434
1.07k
    if (yych == 't') goto yy854;
9435
220
    goto yy86;
9436
1.65k
yy826:
9437
1.65k
    YYDEBUG(826, *YYCURSOR);
9438
1.65k
    yych = *++YYCURSOR;
9439
1.65k
    if (yych == 'S') goto yy855;
9440
1.43k
    if (yych == 's') goto yy855;
9441
289
    goto yy86;
9442
832
yy827:
9443
832
    YYDEBUG(827, *YYCURSOR);
9444
832
    yych = *++YYCURSOR;
9445
832
    if (yych == ')') goto yy856;
9446
300
    goto yy86;
9447
2.25k
yy828:
9448
2.25k
    YYDEBUG(828, *YYCURSOR);
9449
2.25k
    yyaccept = 4;
9450
2.25k
    yych = *(YYMARKER = ++YYCURSOR);
9451
2.25k
    if (yych == 'C') goto yy858;
9452
1.75k
    if (yych == 'c') goto yy858;
9453
435
    goto yy48;
9454
4.67k
yy829:
9455
4.67k
    YYDEBUG(829, *YYCURSOR);
9456
4.67k
    yych = *++YYCURSOR;
9457
4.67k
    if (yych <= '^') {
9458
3.41k
      if (yych <= '9') {
9459
2.75k
        if (yych <= '/') goto yy859;
9460
228
        goto yy86;
9461
2.75k
      } else {
9462
668
        if (yych <= '@') goto yy859;
9463
438
        if (yych <= 'Z') goto yy86;
9464
200
        goto yy859;
9465
438
      }
9466
3.41k
    } else {
9467
1.25k
      if (yych <= '`') {
9468
411
        if (yych <= '_') goto yy86;
9469
202
        goto yy859;
9470
845
      } else {
9471
845
        if (yych <= 'z') goto yy86;
9472
424
        if (yych <= 0x7F) goto yy859;
9473
218
        goto yy86;
9474
424
      }
9475
1.25k
    }
9476
278k
yy830:
9477
278k
    YYDEBUG(830, *YYCURSOR);
9478
278k
    ++YYCURSOR;
9479
278k
    YYFILL(1);
9480
278k
    yych = *YYCURSOR;
9481
278k
    YYDEBUG(831, *YYCURSOR);
9482
278k
    if (yych <= '#') {
9483
202k
      if (yych <= '\f') {
9484
9.50k
        if (yych <= 0x00) goto yy86;
9485
8.37k
        if (yych <= 0x08) goto yy692;
9486
8.02k
        if (yych <= '\n') goto yy830;
9487
505
        goto yy692;
9488
193k
      } else {
9489
193k
        if (yych <= 0x1F) {
9490
16.2k
          if (yych <= '\r') goto yy830;
9491
853
          goto yy692;
9492
176k
        } else {
9493
176k
          if (yych <= ' ') goto yy830;
9494
173k
          if (yych <= '"') goto yy692;
9495
173k
          goto yy861;
9496
173k
        }
9497
193k
      }
9498
202k
    } else {
9499
75.8k
      if (yych <= '/') {
9500
55.3k
        if (yych == '*') goto yy748;
9501
50.0k
        if (yych <= '.') goto yy692;
9502
33.9k
        goto yy862;
9503
50.0k
      } else {
9504
20.5k
        if (yych <= 'F') {
9505
12.3k
          if (yych <= 'E') goto yy692;
9506
9.47k
          goto yy863;
9507
12.3k
        } else {
9508
8.22k
          if (yych == 'f') goto yy863;
9509
7.49k
          goto yy692;
9510
8.22k
        }
9511
20.5k
      }
9512
75.8k
    }
9513
36.9k
yy832:
9514
36.9k
    YYDEBUG(832, *YYCURSOR);
9515
36.9k
    ++YYCURSOR;
9516
36.9k
    YYFILL(1);
9517
36.9k
    yych = *YYCURSOR;
9518
36.9k
    YYDEBUG(833, *YYCURSOR);
9519
36.9k
    if (yych <= '\r') {
9520
10.6k
      if (yych <= '\t') {
9521
1.30k
        if (yych <= 0x00) goto yy86;
9522
831
        goto yy792;
9523
9.31k
      } else {
9524
9.31k
        if (yych <= '\n') goto yy830;
9525
4.46k
        if (yych <= '\f') goto yy792;
9526
4.14k
        goto yy830;
9527
4.46k
      }
9528
26.3k
    } else {
9529
26.3k
      if (yych <= '*') {
9530
8.84k
        if (yych <= ')') goto yy792;
9531
1.48k
        goto yy832;
9532
17.4k
      } else {
9533
17.4k
        if (yych == '/') goto yy690;
9534
4.09k
        goto yy792;
9535
17.4k
      }
9536
26.3k
    }
9537
8.60k
yy834:
9538
8.60k
    YYDEBUG(834, *YYCURSOR);
9539
8.60k
    ++YYCURSOR;
9540
8.60k
    YYFILL(1);
9541
8.60k
    yych = *YYCURSOR;
9542
8.60k
    if (yych <= '\r') {
9543
1.26k
      if (yych <= '\t') {
9544
498
        if (yych <= 0x00) goto yy86;
9545
294
        goto yy688;
9546
763
      } else {
9547
763
        if (yych <= '\n') goto yy616;
9548
411
        if (yych <= '\f') goto yy688;
9549
204
        goto yy616;
9550
411
      }
9551
7.34k
    } else {
9552
7.34k
      if (yych <= 'M') {
9553
4.91k
        if (yych <= 'L') goto yy688;
9554
4.71k
        goto yy864;
9555
4.91k
      } else {
9556
2.42k
        if (yych == 'm') goto yy864;
9557
498
        goto yy688;
9558
2.42k
      }
9559
7.34k
    }
9560
4.04k
yy835:
9561
4.04k
    YYDEBUG(835, *YYCURSOR);
9562
4.04k
    yyaccept = 4;
9563
4.04k
    yych = *(YYMARKER = ++YYCURSOR);
9564
4.04k
    if (yych == '_') goto yy865;
9565
460
    goto yy48;
9566
1.94k
yy836:
9567
1.94k
    YYDEBUG(836, *YYCURSOR);
9568
1.94k
    yyaccept = 4;
9569
1.94k
    yych = *(YYMARKER = ++YYCURSOR);
9570
1.94k
    if (yych == 'P') goto yy866;
9571
1.49k
    if (yych == 'p') goto yy866;
9572
211
    goto yy48;
9573
10.2k
yy837:
9574
10.2k
    YYDEBUG(837, *YYCURSOR);
9575
10.2k
    yyaccept = 87;
9576
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
9577
10.2k
    if (yybm[256+yych] & 128) {
9578
272
      goto yy47;
9579
272
    }
9580
9.95k
    if (yych == '\\') goto yy164;
9581
9.95k
yy838:
9582
9.95k
    YYDEBUG(838, *YYCURSOR);
9583
9.95k
    yyleng = YYCURSOR - SCNG(yy_text);
9584
9.95k
#line 2215 "Zend/zend_language_scanner.l"
9585
9.95k
    {
9586
9.95k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9587
9.95k
}
9588
0
#line 9589 "Zend/zend_language_scanner.c"
9589
4.14k
yy839:
9590
4.14k
    YYDEBUG(839, *YYCURSOR);
9591
4.14k
    yyaccept = 4;
9592
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
9593
4.14k
    if (yych == 'E') goto yy867;
9594
2.31k
    if (yych == 'e') goto yy867;
9595
247
    goto yy48;
9596
2.35k
yy840:
9597
2.35k
    YYDEBUG(840, *YYCURSOR);
9598
2.35k
    yyaccept = 4;
9599
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
9600
2.35k
    if (yych == '_') goto yy868;
9601
445
    goto yy48;
9602
1.50k
yy841:
9603
1.50k
    YYDEBUG(841, *YYCURSOR);
9604
1.50k
    yych = *++YYCURSOR;
9605
1.50k
    if (yych == 'S') goto yy869;
9606
1.28k
    if (yych == 's') goto yy869;
9607
779
    goto yy86;
9608
2.32k
yy842:
9609
2.32k
    YYDEBUG(842, *YYCURSOR);
9610
2.32k
    yych = *++YYCURSOR;
9611
2.32k
    if (yych == 'E') goto yy871;
9612
1.93k
    if (yych == 'e') goto yy871;
9613
1.02k
    goto yy86;
9614
345k
yy843:
9615
345k
    YYDEBUG(843, *YYCURSOR);
9616
345k
    ++YYCURSOR;
9617
345k
    YYFILL(1);
9618
345k
    yych = *YYCURSOR;
9619
345k
    YYDEBUG(844, *YYCURSOR);
9620
345k
    if (yych <= '@') {
9621
182k
      if (yych <= 0x1F) {
9622
24.8k
        if (yych <= '\t') {
9623
5.81k
          if (yych <= 0x00) goto yy86;
9624
4.90k
          if (yych <= 0x08) goto yy726;
9625
3.53k
          goto yy843;
9626
19.0k
        } else {
9627
19.0k
          if (yych <= '\n') goto yy771;
9628
16.7k
          if (yych == '\r') goto yy771;
9629
1.31k
          goto yy726;
9630
16.7k
        }
9631
157k
      } else {
9632
157k
        if (yych <= ')') {
9633
97.5k
          if (yych <= ' ') goto yy843;
9634
50.5k
          if (yych == '#') goto yy872;
9635
3.05k
          goto yy726;
9636
60.1k
        } else {
9637
60.1k
          if (yych <= '*') goto yy773;
9638
57.5k
          if (yych == '/') goto yy873;
9639
5.09k
          goto yy726;
9640
57.5k
        }
9641
157k
      }
9642
182k
    } else {
9643
162k
      if (yych <= '_') {
9644
9.07k
        if (yych <= 'H') {
9645
669
          if (yych == 'E') goto yy875;
9646
357
          goto yy874;
9647
8.40k
        } else {
9648
8.40k
          if (yych <= 'I') goto yy876;
9649
2.42k
          if (yych <= 'Z') goto yy874;
9650
1.44k
          if (yych <= '^') goto yy726;
9651
382
          goto yy874;
9652
1.44k
        }
9653
153k
      } else {
9654
153k
        if (yych <= 'h') {
9655
78.5k
          if (yych <= '`') goto yy726;
9656
78.2k
          if (yych == 'e') goto yy875;
9657
2.75k
          goto yy874;
9658
78.2k
        } else {
9659
75.1k
          if (yych <= 'i') goto yy876;
9660
30.9k
          if (yych <= 'z') goto yy874;
9661
20.5k
          if (yych <= 0x7F) goto yy726;
9662
6.89k
          goto yy874;
9663
20.5k
        }
9664
153k
      }
9665
162k
    }
9666
49.3k
yy845:
9667
49.3k
    YYDEBUG(845, *YYCURSOR);
9668
49.3k
    ++YYCURSOR;
9669
49.3k
    YYFILL(1);
9670
49.3k
    yych = *YYCURSOR;
9671
49.3k
    if (yych <= '*') {
9672
2.57k
      if (yych <= 0x00) goto yy86;
9673
2.20k
      if (yych <= ')') goto yy590;
9674
254
      goto yy664;
9675
46.8k
    } else {
9676
46.8k
      if (yych == '/') goto yy771;
9677
2.04k
      goto yy590;
9678
46.8k
    }
9679
5.42k
yy846:
9680
5.42k
    YYDEBUG(846, *YYCURSOR);
9681
5.42k
    ++YYCURSOR;
9682
5.42k
    YYFILL(1);
9683
5.42k
    yych = *YYCURSOR;
9684
5.42k
    if (yych <= 'S') {
9685
666
      if (yych <= 0x00) goto yy86;
9686
462
      if (yych == '*') goto yy664;
9687
265
      goto yy590;
9688
4.76k
    } else {
9689
4.76k
      if (yych <= 'T') goto yy877;
9690
4.05k
      if (yych == 't') goto yy877;
9691
493
      goto yy590;
9692
4.05k
    }
9693
10.9k
yy847:
9694
10.9k
    YYDEBUG(847, *YYCURSOR);
9695
10.9k
    ++YYCURSOR;
9696
10.9k
    YYFILL(1);
9697
10.9k
    yych = *YYCURSOR;
9698
10.9k
    if (yych <= 'O') {
9699
655
      if (yych <= 0x00) goto yy86;
9700
420
      if (yych == '*') goto yy664;
9701
222
      goto yy590;
9702
10.2k
    } else {
9703
10.2k
      if (yych <= 'P') goto yy878;
9704
8.85k
      if (yych == 'p') goto yy878;
9705
351
      goto yy590;
9706
8.85k
    }
9707
5.87k
yy848:
9708
5.87k
    YYDEBUG(848, *YYCURSOR);
9709
5.87k
    ++YYCURSOR;
9710
5.87k
    YYFILL(1);
9711
5.87k
    yych = *YYCURSOR;
9712
5.87k
    if (yych <= '\r') {
9713
1.14k
      if (yych <= '\t') {
9714
537
        if (yych <= 0x00) goto yy86;
9715
294
        goto yy586;
9716
607
      } else {
9717
607
        if (yych <= '\n') goto yy495;
9718
412
        if (yych <= '\f') goto yy586;
9719
212
        goto yy495;
9720
412
      }
9721
4.72k
    } else {
9722
4.72k
      if (yych <= 'D') {
9723
1.09k
        if (yych <= 'C') goto yy586;
9724
433
        goto yy879;
9725
3.63k
      } else {
9726
3.63k
        if (yych == 'd') goto yy879;
9727
2.26k
        goto yy586;
9728
3.63k
      }
9729
4.72k
    }
9730
20.2k
yy849:
9731
20.2k
    YYDEBUG(849, *YYCURSOR);
9732
20.2k
    ++YYCURSOR;
9733
20.2k
    YYFILL(1);
9734
20.2k
    yych = *YYCURSOR;
9735
20.2k
    if (yych <= '\r') {
9736
1.89k
      if (yych <= '\t') {
9737
501
        if (yych <= 0x00) goto yy86;
9738
288
        goto yy586;
9739
1.38k
      } else {
9740
1.38k
        if (yych <= '\n') goto yy495;
9741
439
        if (yych <= '\f') goto yy586;
9742
218
        goto yy495;
9743
439
      }
9744
18.3k
    } else {
9745
18.3k
      if (yych <= 'M') {
9746
9.36k
        if (yych <= 'L') goto yy586;
9747
7.24k
        goto yy880;
9748
9.36k
      } else {
9749
8.97k
        if (yych == 'm') goto yy880;
9750
3.21k
        goto yy586;
9751
8.97k
      }
9752
18.3k
    }
9753
3.41k
yy850:
9754
3.41k
    YYDEBUG(850, *YYCURSOR);
9755
3.41k
    yyaccept = 4;
9756
3.41k
    yych = *(YYMARKER = ++YYCURSOR);
9757
3.41k
    if (yych == 'E') goto yy881;
9758
2.93k
    if (yych == 'e') goto yy881;
9759
432
    goto yy48;
9760
29.4k
yy851:
9761
29.4k
    YYDEBUG(851, *YYCURSOR);
9762
29.4k
    yyaccept = 88;
9763
29.4k
    YYMARKER = ++YYCURSOR;
9764
29.4k
    YYFILL(1);
9765
29.4k
    yych = *YYCURSOR;
9766
29.4k
    YYDEBUG(852, *YYCURSOR);
9767
29.4k
    if (yych <= '\\') {
9768
5.82k
      if (yych <= '@') {
9769
3.31k
        if (yych <= '/') goto yy853;
9770
2.41k
        if (yych <= '9') goto yy851;
9771
2.50k
      } else {
9772
2.50k
        if (yych <= 'Z') goto yy851;
9773
1.14k
        if (yych >= '\\') goto yy824;
9774
1.14k
      }
9775
23.5k
    } else {
9776
23.5k
      if (yych <= '`') {
9777
827
        if (yych == '_') goto yy851;
9778
22.7k
      } else {
9779
22.7k
        if (yych <= 'z') goto yy851;
9780
18.9k
        if (yych >= 0x80) goto yy851;
9781
18.9k
      }
9782
23.5k
    }
9783
3.52k
yy853:
9784
3.52k
    YYDEBUG(853, *YYCURSOR);
9785
3.52k
    yyleng = YYCURSOR - SCNG(yy_text);
9786
3.52k
#line 2385 "Zend/zend_language_scanner.l"
9787
3.52k
    {
9788
3.52k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9789
3.52k
}
9790
0
#line 9791 "Zend/zend_language_scanner.c"
9791
1.05k
yy854:
9792
1.05k
    YYDEBUG(854, *YYCURSOR);
9793
1.05k
    yych = *++YYCURSOR;
9794
1.05k
    if (yych == ')') goto yy883;
9795
218
    goto yy86;
9796
1.36k
yy855:
9797
1.36k
    YYDEBUG(855, *YYCURSOR);
9798
1.36k
    yych = *++YYCURSOR;
9799
1.36k
    if (yych == 'E') goto yy885;
9800
1.02k
    if (yych == 'e') goto yy885;
9801
213
    goto yy86;
9802
532
yy856:
9803
532
    YYDEBUG(856, *YYCURSOR);
9804
532
    ++YYCURSOR;
9805
532
    YYDEBUG(857, *YYCURSOR);
9806
532
    yyleng = YYCURSOR - SCNG(yy_text);
9807
532
#line 1732 "Zend/zend_language_scanner.l"
9808
532
    {
9809
532
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9810
532
}
9811
0
#line 9812 "Zend/zend_language_scanner.c"
9812
1.82k
yy858:
9813
1.82k
    YYDEBUG(858, *YYCURSOR);
9814
1.82k
    yyaccept = 4;
9815
1.82k
    yych = *(YYMARKER = ++YYCURSOR);
9816
1.82k
    if (yych == 'E') goto yy886;
9817
1.36k
    if (yych == 'e') goto yy886;
9818
259
    goto yy48;
9819
4.15k
yy859:
9820
4.15k
    YYDEBUG(859, *YYCURSOR);
9821
4.15k
    ++YYCURSOR;
9822
19.7k
yy860:
9823
19.7k
    YYDEBUG(860, *YYCURSOR);
9824
19.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9825
19.7k
#line 1414 "Zend/zend_language_scanner.l"
9826
19.7k
    {
9827
19.7k
  yyless(yyleng - 1);
9828
19.7k
  HANDLE_NEWLINES(yytext, yyleng);
9829
19.7k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9830
19.7k
}
9831
0
#line 9832 "Zend/zend_language_scanner.c"
9832
174k
yy861:
9833
174k
    YYDEBUG(861, *YYCURSOR);
9834
174k
    ++YYCURSOR;
9835
174k
    YYFILL(1);
9836
174k
    yych = *YYCURSOR;
9837
174k
    if (yych <= '\r') {
9838
141k
      if (yych <= '\t') {
9839
2.97k
        if (yych <= 0x00) goto yy86;
9840
2.07k
        goto yy792;
9841
138k
      } else {
9842
138k
        if (yych <= '\n') goto yy888;
9843
37.7k
        if (yych <= '\f') goto yy792;
9844
37.0k
        goto yy888;
9845
37.7k
      }
9846
141k
    } else {
9847
32.2k
      if (yych <= '*') {
9848
13.7k
        if (yych <= ')') goto yy792;
9849
5.49k
        goto yy832;
9850
18.5k
      } else {
9851
18.5k
        if (yych == '[') goto yy692;
9852
18.2k
        goto yy792;
9853
18.5k
      }
9854
32.2k
    }
9855
34.1k
yy862:
9856
34.1k
    YYDEBUG(862, *YYCURSOR);
9857
34.1k
    ++YYCURSOR;
9858
34.1k
    YYFILL(1);
9859
34.1k
    yych = *YYCURSOR;
9860
34.1k
    if (yych <= '*') {
9861
30.3k
      if (yych <= 0x00) goto yy86;
9862
30.0k
      if (yych <= ')') goto yy692;
9863
29.2k
      goto yy890;
9864
30.0k
    } else {
9865
3.81k
      if (yych == '/') goto yy792;
9866
3.32k
      goto yy692;
9867
3.81k
    }
9868
10.6k
yy863:
9869
10.6k
    YYDEBUG(863, *YYCURSOR);
9870
10.6k
    ++YYCURSOR;
9871
10.6k
    YYFILL(1);
9872
10.6k
    yych = *YYCURSOR;
9873
10.6k
    if (yych <= 'Q') {
9874
1.40k
      if (yych <= 0x00) goto yy86;
9875
1.18k
      if (yych == '*') goto yy748;
9876
984
      goto yy692;
9877
9.19k
    } else {
9878
9.19k
      if (yych <= 'R') goto yy891;
9879
1.05k
      if (yych == 'r') goto yy891;
9880
463
      goto yy692;
9881
1.05k
    }
9882
6.63k
yy864:
9883
6.63k
    YYDEBUG(864, *YYCURSOR);
9884
6.63k
    ++YYCURSOR;
9885
6.63k
    YYFILL(1);
9886
6.63k
    yych = *YYCURSOR;
9887
6.63k
    if (yych <= '9') {
9888
4.24k
      if (yych <= '\n') {
9889
2.21k
        if (yych <= 0x00) goto yy859;
9890
1.95k
        if (yych <= '\t') goto yy892;
9891
1.48k
        goto yy893;
9892
2.02k
      } else {
9893
2.02k
        if (yych == '\r') goto yy893;
9894
960
        if (yych <= '/') goto yy892;
9895
200
        goto yy688;
9896
960
      }
9897
4.24k
    } else {
9898
2.39k
      if (yych <= '_') {
9899
1.43k
        if (yych <= '@') goto yy892;
9900
1.09k
        if (yych <= 'Z') goto yy688;
9901
820
        if (yych <= '^') goto yy892;
9902
194
        goto yy688;
9903
956
      } else {
9904
956
        if (yych <= '`') goto yy892;
9905
758
        if (yych <= 'z') goto yy688;
9906
554
        if (yych <= 0x7F) goto yy892;
9907
331
        goto yy688;
9908
554
      }
9909
2.39k
    }
9910
3.58k
yy865:
9911
3.58k
    YYDEBUG(865, *YYCURSOR);
9912
3.58k
    yyaccept = 4;
9913
3.58k
    yych = *(YYMARKER = ++YYCURSOR);
9914
3.58k
    if (yych == '_') goto yy894;
9915
243
    goto yy48;
9916
1.73k
yy866:
9917
1.73k
    YYDEBUG(866, *YYCURSOR);
9918
1.73k
    yyaccept = 4;
9919
1.73k
    yych = *(YYMARKER = ++YYCURSOR);
9920
1.73k
    if (yych == 'I') goto yy896;
9921
1.31k
    if (yych == 'i') goto yy896;
9922
225
    goto yy48;
9923
3.89k
yy867:
9924
3.89k
    YYDEBUG(867, *YYCURSOR);
9925
3.89k
    yyaccept = 4;
9926
3.89k
    yych = *(YYMARKER = ++YYCURSOR);
9927
3.89k
    if (yych == '_') goto yy897;
9928
377
    goto yy48;
9929
1.91k
yy868:
9930
1.91k
    YYDEBUG(868, *YYCURSOR);
9931
1.91k
    yyaccept = 4;
9932
1.91k
    yych = *(YYMARKER = ++YYCURSOR);
9933
1.91k
    if (yych == '_') goto yy898;
9934
225
    goto yy48;
9935
727
yy869:
9936
727
    YYDEBUG(869, *YYCURSOR);
9937
727
    ++YYCURSOR;
9938
2.81k
yy870:
9939
2.81k
    YYDEBUG(870, *YYCURSOR);
9940
2.81k
    yyleng = YYCURSOR - SCNG(yy_text);
9941
2.81k
#line 1556 "Zend/zend_language_scanner.l"
9942
2.81k
    {
9943
2.81k
  yyless(4);
9944
2.81k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
9945
2.81k
}
9946
0
#line 9947 "Zend/zend_language_scanner.c"
9947
1.30k
yy871:
9948
1.30k
    YYDEBUG(871, *YYCURSOR);
9949
1.30k
    yych = *++YYCURSOR;
9950
1.30k
    if (yych == 'N') goto yy900;
9951
909
    if (yych == 'n') goto yy900;
9952
282
    goto yy86;
9953
47.5k
yy872:
9954
47.5k
    YYDEBUG(872, *YYCURSOR);
9955
47.5k
    ++YYCURSOR;
9956
47.5k
    YYFILL(1);
9957
47.5k
    yych = *YYCURSOR;
9958
47.5k
    if (yych <= '\f') {
9959
30.4k
      if (yych <= 0x00) goto yy86;
9960
29.5k
      if (yych == '\n') goto yy843;
9961
396
      goto yy726;
9962
29.5k
    } else {
9963
17.0k
      if (yych <= '\r') goto yy843;
9964
15.3k
      if (yych == '*') goto yy773;
9965
14.9k
      goto yy726;
9966
15.3k
    }
9967
52.4k
yy873:
9968
52.4k
    YYDEBUG(873, *YYCURSOR);
9969
52.4k
    ++YYCURSOR;
9970
52.4k
    YYFILL(1);
9971
52.4k
    yych = *YYCURSOR;
9972
52.4k
    if (yych <= '\f') {
9973
1.93k
      if (yych <= 0x00) goto yy86;
9974
1.05k
      if (yych == '\n') goto yy771;
9975
253
      goto yy726;
9976
50.5k
    } else {
9977
50.5k
      if (yych <= '\r') goto yy771;
9978
50.0k
      if (yych == '*') goto yy901;
9979
5.69k
      goto yy726;
9980
50.0k
    }
9981
21.7k
yy874:
9982
21.7k
    YYDEBUG(874, *YYCURSOR);
9983
21.7k
    yyaccept = 53;
9984
21.7k
    YYMARKER = ++YYCURSOR;
9985
21.7k
    YYFILL(1);
9986
21.7k
    yych = *YYCURSOR;
9987
21.7k
    if (yych <= '\f') {
9988
1.41k
      if (yych <= 0x00) goto yy583;
9989
1.07k
      if (yych == '\n') goto yy771;
9990
385
      goto yy726;
9991
20.3k
    } else {
9992
20.3k
      if (yych <= '\r') goto yy771;
9993
19.4k
      if (yych == '*') goto yy773;
9994
19.1k
      goto yy726;
9995
19.4k
    }
9996
75.7k
yy875:
9997
75.7k
    YYDEBUG(875, *YYCURSOR);
9998
75.7k
    yyaccept = 53;
9999
75.7k
    YYMARKER = ++YYCURSOR;
10000
75.7k
    YYFILL(1);
10001
75.7k
    yych = *YYCURSOR;
10002
75.7k
    if (yych <= ')') {
10003
3.72k
      if (yych <= '\n') {
10004
1.74k
        if (yych <= 0x00) goto yy583;
10005
712
        if (yych <= '\t') goto yy726;
10006
425
        goto yy771;
10007
1.97k
      } else {
10008
1.97k
        if (yych == '\r') goto yy771;
10009
1.52k
        goto yy726;
10010
1.97k
      }
10011
72.0k
    } else {
10012
72.0k
      if (yych <= 'X') {
10013
2.22k
        if (yych <= '*') goto yy773;
10014
1.57k
        if (yych <= 'W') goto yy726;
10015
374
        goto yy902;
10016
69.8k
      } else {
10017
69.8k
        if (yych == 'x') goto yy902;
10018
53.1k
        goto yy726;
10019
69.8k
      }
10020
72.0k
    }
10021
50.2k
yy876:
10022
50.2k
    YYDEBUG(876, *YYCURSOR);
10023
50.2k
    yyaccept = 53;
10024
50.2k
    YYMARKER = ++YYCURSOR;
10025
50.2k
    YYFILL(1);
10026
50.2k
    yych = *YYCURSOR;
10027
50.2k
    if (yych <= ')') {
10028
2.26k
      if (yych <= '\n') {
10029
1.03k
        if (yych <= 0x00) goto yy583;
10030
579
        if (yych <= '\t') goto yy726;
10031
357
        goto yy771;
10032
1.22k
      } else {
10033
1.22k
        if (yych == '\r') goto yy771;
10034
964
        goto yy726;
10035
1.22k
      }
10036
47.9k
    } else {
10037
47.9k
      if (yych <= 'M') {
10038
6.39k
        if (yych <= '*') goto yy773;
10039
6.17k
        if (yych <= 'L') goto yy726;
10040
5.68k
        goto yy903;
10041
41.6k
      } else {
10042
41.6k
        if (yych == 'm') goto yy903;
10043
2.75k
        goto yy726;
10044
41.6k
      }
10045
47.9k
    }
10046
4.26k
yy877:
10047
4.26k
    YYDEBUG(877, *YYCURSOR);
10048
4.26k
    ++YYCURSOR;
10049
4.26k
    YYFILL(1);
10050
4.26k
    yych = *YYCURSOR;
10051
4.26k
    if (yych <= 'D') {
10052
832
      if (yych <= 0x00) goto yy86;
10053
429
      if (yych == '*') goto yy664;
10054
215
      goto yy590;
10055
3.43k
    } else {
10056
3.43k
      if (yych <= 'E') goto yy904;
10057
3.12k
      if (yych == 'e') goto yy904;
10058
411
      goto yy590;
10059
3.12k
    }
10060
9.91k
yy878:
10061
9.91k
    YYDEBUG(878, *YYCURSOR);
10062
9.91k
    ++YYCURSOR;
10063
9.91k
    YYFILL(1);
10064
9.91k
    yych = *YYCURSOR;
10065
9.91k
    if (yych <= 'K') {
10066
2.48k
      if (yych <= 0x00) goto yy86;
10067
1.74k
      if (yych == '*') goto yy664;
10068
1.54k
      goto yy590;
10069
7.43k
    } else {
10070
7.43k
      if (yych <= 'L') goto yy905;
10071
6.17k
      if (yych == 'l') goto yy905;
10072
262
      goto yy590;
10073
6.17k
    }
10074
3.69k
yy879:
10075
3.69k
    YYDEBUG(879, *YYCURSOR);
10076
3.69k
    ++YYCURSOR;
10077
3.69k
    YYFILL(1);
10078
3.69k
    yych = *YYCURSOR;
10079
3.69k
    if (yych <= '\r') {
10080
1.19k
      if (yych <= '\t') {
10081
546
        if (yych <= 0x00) goto yy86;
10082
210
        goto yy586;
10083
652
      } else {
10084
652
        if (yych <= '\n') goto yy495;
10085
451
        if (yych <= '\f') goto yy586;
10086
230
        goto yy495;
10087
451
      }
10088
2.49k
    } else {
10089
2.49k
      if (yych <= 'S') {
10090
871
        if (yych <= 'R') goto yy586;
10091
431
        goto yy906;
10092
1.62k
      } else {
10093
1.62k
        if (yych == 's') goto yy906;
10094
707
        goto yy586;
10095
1.62k
      }
10096
2.49k
    }
10097
13.0k
yy880:
10098
13.0k
    YYDEBUG(880, *YYCURSOR);
10099
13.0k
    ++YYCURSOR;
10100
13.0k
    YYFILL(1);
10101
13.0k
    yych = *YYCURSOR;
10102
13.0k
    if (yych <= '\r') {
10103
1.61k
      if (yych <= '\t') {
10104
498
        if (yych <= 0x00) goto yy86;
10105
216
        goto yy586;
10106
1.11k
      } else {
10107
1.11k
        if (yych <= '\n') goto yy495;
10108
449
        if (yych <= '\f') goto yy586;
10109
250
        goto yy495;
10110
449
      }
10111
11.3k
    } else {
10112
11.3k
      if (yych <= 'E') {
10113
1.40k
        if (yych <= 'D') goto yy586;
10114
1.06k
        goto yy907;
10115
9.98k
      } else {
10116
9.98k
        if (yych == 'e') goto yy907;
10117
342
        goto yy586;
10118
9.98k
      }
10119
11.3k
    }
10120
2.98k
yy881:
10121
2.98k
    YYDEBUG(881, *YYCURSOR);
10122
2.98k
    yyaccept = 89;
10123
2.98k
    yych = *(YYMARKER = ++YYCURSOR);
10124
2.98k
    if (yybm[256+yych] & 128) {
10125
587
      goto yy47;
10126
587
    }
10127
2.39k
    if (yych == '\\') goto yy164;
10128
2.39k
yy882:
10129
2.39k
    YYDEBUG(882, *YYCURSOR);
10130
2.39k
    yyleng = YYCURSOR - SCNG(yy_text);
10131
2.39k
#line 1672 "Zend/zend_language_scanner.l"
10132
2.39k
    {
10133
2.39k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10134
2.39k
}
10135
0
#line 10136 "Zend/zend_language_scanner.c"
10136
836
yy883:
10137
836
    YYDEBUG(883, *YYCURSOR);
10138
836
    ++YYCURSOR;
10139
836
    YYDEBUG(884, *YYCURSOR);
10140
836
    yyleng = YYCURSOR - SCNG(yy_text);
10141
836
#line 1740 "Zend/zend_language_scanner.l"
10142
836
    {
10143
836
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10144
836
}
10145
0
#line 10146 "Zend/zend_language_scanner.c"
10146
1.15k
yy885:
10147
1.15k
    YYDEBUG(885, *YYCURSOR);
10148
1.15k
    yych = *++YYCURSOR;
10149
1.15k
    if (yych == 'T') goto yy908;
10150
942
    if (yych == 't') goto yy908;
10151
224
    goto yy86;
10152
1.56k
yy886:
10153
1.56k
    YYDEBUG(886, *YYCURSOR);
10154
1.56k
    yyaccept = 90;
10155
1.56k
    yych = *(YYMARKER = ++YYCURSOR);
10156
1.56k
    if (yybm[256+yych] & 128) {
10157
247
      goto yy47;
10158
247
    }
10159
1.31k
    if (yych == '\\') goto yy164;
10160
1.31k
yy887:
10161
1.31k
    YYDEBUG(887, *YYCURSOR);
10162
1.31k
    yyleng = YYCURSOR - SCNG(yy_text);
10163
1.31k
#line 1680 "Zend/zend_language_scanner.l"
10164
1.31k
    {
10165
1.31k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10166
1.31k
}
10167
0
#line 10168 "Zend/zend_language_scanner.c"
10168
228k
yy888:
10169
228k
    YYDEBUG(888, *YYCURSOR);
10170
228k
    ++YYCURSOR;
10171
228k
    YYFILL(1);
10172
228k
    yych = *YYCURSOR;
10173
228k
    YYDEBUG(889, *YYCURSOR);
10174
228k
    if (yych <= '"') {
10175
67.2k
      if (yych <= '\n') {
10176
12.2k
        if (yych <= 0x00) goto yy86;
10177
11.6k
        if (yych <= 0x08) goto yy792;
10178
10.5k
        if (yych <= '\t') goto yy888;
10179
7.59k
        goto yy830;
10180
54.9k
      } else {
10181
54.9k
        if (yych <= '\r') {
10182
36.2k
          if (yych <= '\f') goto yy792;
10183
31.8k
          goto yy830;
10184
36.2k
        } else {
10185
18.6k
          if (yych == ' ') goto yy888;
10186
800
          goto yy792;
10187
18.6k
        }
10188
54.9k
      }
10189
161k
    } else {
10190
161k
      if (yych <= '/') {
10191
89.1k
        if (yych <= ')') {
10192
18.4k
          if (yych <= '#') goto yy909;
10193
737
          goto yy792;
10194
70.7k
        } else {
10195
70.7k
          if (yych <= '*') goto yy832;
10196
69.0k
          if (yych <= '.') goto yy792;
10197
68.5k
          goto yy910;
10198
69.0k
        }
10199
89.1k
      } else {
10200
72.4k
        if (yych <= 'F') {
10201
26.7k
          if (yych <= 'E') goto yy792;
10202
18.0k
          goto yy911;
10203
45.6k
        } else {
10204
45.6k
          if (yych == 'f') goto yy911;
10205
43.1k
          goto yy792;
10206
45.6k
        }
10207
72.4k
      }
10208
161k
    }
10209
29.2k
yy890:
10210
29.2k
    YYDEBUG(890, *YYCURSOR);
10211
29.2k
    ++YYCURSOR;
10212
29.2k
    YYFILL(1);
10213
29.2k
    yych = *YYCURSOR;
10214
29.2k
    if (yych <= '*') {
10215
1.58k
      if (yych <= 0x00) goto yy86;
10216
1.26k
      if (yych <= ')') goto yy692;
10217
263
      goto yy748;
10218
27.6k
    } else {
10219
27.6k
      if (yych == '/') goto yy830;
10220
1.36k
      goto yy692;
10221
27.6k
    }
10222
8.73k
yy891:
10223
8.73k
    YYDEBUG(891, *YYCURSOR);
10224
8.73k
    ++YYCURSOR;
10225
8.73k
    YYFILL(1);
10226
8.73k
    yych = *YYCURSOR;
10227
8.73k
    if (yych <= 'N') {
10228
776
      if (yych <= 0x00) goto yy86;
10229
505
      if (yych == '*') goto yy748;
10230
310
      goto yy692;
10231
7.95k
    } else {
10232
7.95k
      if (yych <= 'O') goto yy912;
10233
2.56k
      if (yych == 'o') goto yy912;
10234
522
      goto yy692;
10235
2.56k
    }
10236
2.61k
yy892:
10237
2.61k
    YYDEBUG(892, *YYCURSOR);
10238
2.61k
    yyaccept = 91;
10239
2.61k
    YYMARKER = ++YYCURSOR;
10240
2.61k
    YYFILL(1);
10241
2.61k
    yych = *YYCURSOR;
10242
2.61k
    if (yych <= '\n') {
10243
896
      if (yych <= 0x00) goto yy860;
10244
553
      if (yych <= '\t') goto yy688;
10245
299
      goto yy616;
10246
1.72k
    } else {
10247
1.72k
      if (yych == '\r') goto yy616;
10248
1.08k
      goto yy688;
10249
1.72k
    }
10250
2.54k
yy893:
10251
2.54k
    YYDEBUG(893, *YYCURSOR);
10252
2.54k
    yyaccept = 91;
10253
2.54k
    YYMARKER = ++YYCURSOR;
10254
2.54k
    YYFILL(5);
10255
2.54k
    yych = *YYCURSOR;
10256
2.54k
    if (yych <= '"') {
10257
1.30k
      if (yych <= '\f') {
10258
681
        if (yych <= 0x08) goto yy860;
10259
476
        if (yych <= '\n') goto yy616;
10260
197
        goto yy860;
10261
622
      } else {
10262
622
        if (yych <= '\r') goto yy616;
10263
422
        if (yych == ' ') goto yy616;
10264
195
        goto yy860;
10265
422
      }
10266
1.30k
    } else {
10267
1.24k
      if (yych <= 'E') {
10268
627
        if (yych <= '#') goto yy618;
10269
411
        if (yych == '/') goto yy619;
10270
199
        goto yy860;
10271
618
      } else {
10272
618
        if (yych <= 'F') goto yy687;
10273
419
        if (yych == 'f') goto yy687;
10274
221
        goto yy860;
10275
419
      }
10276
1.24k
    }
10277
3.34k
yy894:
10278
3.34k
    YYDEBUG(894, *YYCURSOR);
10279
3.34k
    yyaccept = 92;
10280
3.34k
    yych = *(YYMARKER = ++YYCURSOR);
10281
3.34k
    if (yybm[256+yych] & 128) {
10282
221
      goto yy47;
10283
221
    }
10284
3.12k
    if (yych == '\\') goto yy164;
10285
3.12k
yy895:
10286
3.12k
    YYDEBUG(895, *YYCURSOR);
10287
3.12k
    yyleng = YYCURSOR - SCNG(yy_text);
10288
3.12k
#line 2207 "Zend/zend_language_scanner.l"
10289
3.12k
    {
10290
3.12k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10291
3.12k
}
10292
0
#line 10293 "Zend/zend_language_scanner.c"
10293
1.50k
yy896:
10294
1.50k
    YYDEBUG(896, *YYCURSOR);
10295
1.50k
    yyaccept = 4;
10296
1.50k
    yych = *(YYMARKER = ++YYCURSOR);
10297
1.50k
    if (yych == 'L') goto yy913;
10298
1.09k
    if (yych == 'l') goto yy913;
10299
211
    goto yy48;
10300
3.51k
yy897:
10301
3.51k
    YYDEBUG(897, *YYCURSOR);
10302
3.51k
    yyaccept = 4;
10303
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
10304
3.51k
    if (yych == '_') goto yy914;
10305
603
    goto yy48;
10306
1.68k
yy898:
10307
1.68k
    YYDEBUG(898, *YYCURSOR);
10308
1.68k
    yyaccept = 93;
10309
1.68k
    yych = *(YYMARKER = ++YYCURSOR);
10310
1.68k
    if (yybm[256+yych] & 128) {
10311
201
      goto yy47;
10312
201
    }
10313
1.48k
    if (yych == '\\') goto yy164;
10314
1.48k
yy899:
10315
1.48k
    YYDEBUG(899, *YYCURSOR);
10316
1.48k
    yyleng = YYCURSOR - SCNG(yy_text);
10317
1.48k
#line 2211 "Zend/zend_language_scanner.l"
10318
1.48k
    {
10319
1.48k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10320
1.48k
}
10321
0
#line 10322 "Zend/zend_language_scanner.c"
10322
1.01k
yy900:
10323
1.01k
    YYDEBUG(900, *YYCURSOR);
10324
1.01k
    yych = *++YYCURSOR;
10325
1.01k
    if (yych == 'T') goto yy841;
10326
784
    if (yych == 't') goto yy841;
10327
360
    goto yy86;
10328
44.3k
yy901:
10329
44.3k
    YYDEBUG(901, *YYCURSOR);
10330
44.3k
    ++YYCURSOR;
10331
44.3k
    YYFILL(1);
10332
44.3k
    yych = *YYCURSOR;
10333
44.3k
    if (yych <= '\r') {
10334
3.36k
      if (yych <= '\t') {
10335
2.25k
        if (yych <= 0x00) goto yy86;
10336
1.13k
        goto yy726;
10337
2.25k
      } else {
10338
1.10k
        if (yych <= '\n') goto yy771;
10339
584
        if (yych <= '\f') goto yy726;
10340
378
        goto yy771;
10341
584
      }
10342
41.0k
    } else {
10343
41.0k
      if (yych <= '*') {
10344
1.88k
        if (yych <= ')') goto yy726;
10345
837
        goto yy773;
10346
39.1k
      } else {
10347
39.1k
        if (yych == '/') goto yy843;
10348
2.17k
        goto yy726;
10349
39.1k
      }
10350
41.0k
    }
10351
17.0k
yy902:
10352
17.0k
    YYDEBUG(902, *YYCURSOR);
10353
17.0k
    ++YYCURSOR;
10354
17.0k
    YYFILL(1);
10355
17.0k
    yych = *YYCURSOR;
10356
17.0k
    if (yych <= ')') {
10357
1.41k
      if (yych <= '\n') {
10358
639
        if (yych <= 0x00) goto yy86;
10359
426
        if (yych <= '\t') goto yy726;
10360
228
        goto yy771;
10361
773
      } else {
10362
773
        if (yych == '\r') goto yy771;
10363
551
        goto yy726;
10364
773
      }
10365
15.5k
    } else {
10366
15.5k
      if (yych <= 'T') {
10367
1.42k
        if (yych <= '*') goto yy773;
10368
1.19k
        if (yych <= 'S') goto yy726;
10369
522
        goto yy916;
10370
14.1k
      } else {
10371
14.1k
        if (yych == 't') goto yy916;
10372
3.76k
        goto yy726;
10373
14.1k
      }
10374
15.5k
    }
10375
44.5k
yy903:
10376
44.5k
    YYDEBUG(903, *YYCURSOR);
10377
44.5k
    ++YYCURSOR;
10378
44.5k
    YYFILL(1);
10379
44.5k
    yych = *YYCURSOR;
10380
44.5k
    if (yych <= ')') {
10381
6.03k
      if (yych <= '\n') {
10382
638
        if (yych <= 0x00) goto yy86;
10383
400
        if (yych <= '\t') goto yy726;
10384
201
        goto yy771;
10385
5.39k
      } else {
10386
5.39k
        if (yych == '\r') goto yy771;
10387
5.11k
        goto yy726;
10388
5.39k
      }
10389
38.4k
    } else {
10390
38.4k
      if (yych <= 'P') {
10391
15.2k
        if (yych <= '*') goto yy773;
10392
15.0k
        if (yych <= 'O') goto yy726;
10393
4.28k
        goto yy917;
10394
23.2k
      } else {
10395
23.2k
        if (yych == 'p') goto yy917;
10396
2.01k
        goto yy726;
10397
23.2k
      }
10398
38.4k
    }
10399
3.02k
yy904:
10400
3.02k
    YYDEBUG(904, *YYCURSOR);
10401
3.02k
    ++YYCURSOR;
10402
3.02k
    YYFILL(1);
10403
3.02k
    yych = *YYCURSOR;
10404
3.02k
    if (yych <= 'M') {
10405
619
      if (yych <= 0x00) goto yy86;
10406
407
      if (yych == '*') goto yy664;
10407
211
      goto yy590;
10408
2.40k
    } else {
10409
2.40k
      if (yych <= 'N') goto yy918;
10410
2.17k
      if (yych == 'n') goto yy918;
10411
297
      goto yy590;
10412
2.17k
    }
10413
7.17k
yy905:
10414
7.17k
    YYDEBUG(905, *YYCURSOR);
10415
7.17k
    ++YYCURSOR;
10416
7.17k
    YYFILL(1);
10417
7.17k
    yych = *YYCURSOR;
10418
7.17k
    if (yych <= 'D') {
10419
726
      if (yych <= 0x00) goto yy86;
10420
509
      if (yych == '*') goto yy664;
10421
306
      goto yy590;
10422
6.44k
    } else {
10423
6.44k
      if (yych <= 'E') goto yy919;
10424
4.96k
      if (yych == 'e') goto yy919;
10425
220
      goto yy590;
10426
4.96k
    }
10427
1.35k
yy906:
10428
1.35k
    YYDEBUG(906, *YYCURSOR);
10429
1.35k
    yyaccept = 94;
10430
1.35k
    YYMARKER = ++YYCURSOR;
10431
1.35k
    YYFILL(1);
10432
1.35k
    yych = *YYCURSOR;
10433
1.35k
    if (yych <= '\n') {
10434
662
      if (yych <= 0x00) goto yy870;
10435
412
      if (yych <= '\t') goto yy586;
10436
198
      goto yy495;
10437
688
    } else {
10438
688
      if (yych == '\r') goto yy495;
10439
490
      goto yy586;
10440
688
    }
10441
10.7k
yy907:
10442
10.7k
    YYDEBUG(907, *YYCURSOR);
10443
10.7k
    ++YYCURSOR;
10444
10.7k
    YYFILL(1);
10445
10.7k
    yych = *YYCURSOR;
10446
10.7k
    if (yych <= '\r') {
10447
6.48k
      if (yych <= '\t') {
10448
5.85k
        if (yych <= 0x00) goto yy86;
10449
5.41k
        goto yy586;
10450
5.85k
      } else {
10451
631
        if (yych <= '\n') goto yy495;
10452
433
        if (yych <= '\f') goto yy586;
10453
202
        goto yy495;
10454
433
      }
10455
6.48k
    } else {
10456
4.23k
      if (yych <= 'N') {
10457
1.53k
        if (yych <= 'M') goto yy586;
10458
1.29k
        goto yy920;
10459
2.69k
      } else {
10460
2.69k
        if (yych == 'n') goto yy920;
10461
341
        goto yy586;
10462
2.69k
      }
10463
4.23k
    }
10464
929
yy908:
10465
929
    YYDEBUG(908, *YYCURSOR);
10466
929
    yych = *++YYCURSOR;
10467
929
    if (yych == ')') goto yy921;
10468
361
    goto yy86;
10469
17.7k
yy909:
10470
17.7k
    YYDEBUG(909, *YYCURSOR);
10471
17.7k
    ++YYCURSOR;
10472
17.7k
    YYFILL(1);
10473
17.7k
    yych = *YYCURSOR;
10474
17.7k
    if (yych <= '\f') {
10475
12.6k
      if (yych <= 0x00) goto yy86;
10476
12.3k
      if (yych == '\n') goto yy888;
10477
467
      goto yy792;
10478
12.3k
    } else {
10479
5.02k
      if (yych <= '\r') goto yy888;
10480
4.48k
      if (yych == '*') goto yy832;
10481
4.12k
      goto yy792;
10482
4.48k
    }
10483
68.5k
yy910:
10484
68.5k
    YYDEBUG(910, *YYCURSOR);
10485
68.5k
    ++YYCURSOR;
10486
68.5k
    YYFILL(1);
10487
68.5k
    yych = *YYCURSOR;
10488
68.5k
    if (yych <= '\f') {
10489
1.69k
      if (yych <= 0x00) goto yy86;
10490
1.13k
      if (yych == '\n') goto yy830;
10491
194
      goto yy792;
10492
66.8k
    } else {
10493
66.8k
      if (yych <= '\r') goto yy830;
10494
66.4k
      if (yych == '*') goto yy923;
10495
4.00k
      goto yy792;
10496
66.4k
    }
10497
20.6k
yy911:
10498
20.6k
    YYDEBUG(911, *YYCURSOR);
10499
20.6k
    ++YYCURSOR;
10500
20.6k
    YYFILL(1);
10501
20.6k
    yych = *YYCURSOR;
10502
20.6k
    if (yych <= ')') {
10503
1.61k
      if (yych <= '\n') {
10504
733
        if (yych <= 0x00) goto yy86;
10505
485
        if (yych <= '\t') goto yy792;
10506
258
        goto yy830;
10507
882
      } else {
10508
882
        if (yych == '\r') goto yy830;
10509
433
        goto yy792;
10510
882
      }
10511
19.0k
    } else {
10512
19.0k
      if (yych <= 'R') {
10513
16.3k
        if (yych <= '*') goto yy832;
10514
16.1k
        if (yych <= 'Q') goto yy792;
10515
15.3k
        goto yy924;
10516
16.1k
      } else {
10517
2.67k
        if (yych == 'r') goto yy924;
10518
2.33k
        goto yy792;
10519
2.67k
      }
10520
19.0k
    }
10521
7.43k
yy912:
10522
7.43k
    YYDEBUG(912, *YYCURSOR);
10523
7.43k
    ++YYCURSOR;
10524
7.43k
    YYFILL(1);
10525
7.43k
    yych = *YYCURSOR;
10526
7.43k
    if (yych <= 'L') {
10527
699
      if (yych <= 0x00) goto yy86;
10528
430
      if (yych == '*') goto yy748;
10529
235
      goto yy692;
10530
6.73k
    } else {
10531
6.73k
      if (yych <= 'M') goto yy925;
10532
824
      if (yych == 'm') goto yy925;
10533
378
      goto yy692;
10534
824
    }
10535
1.29k
yy913:
10536
1.29k
    YYDEBUG(913, *YYCURSOR);
10537
1.29k
    yyaccept = 4;
10538
1.29k
    yych = *(YYMARKER = ++YYCURSOR);
10539
1.29k
    if (yych == 'E') goto yy926;
10540
1.00k
    if (yych == 'e') goto yy926;
10541
305
    goto yy48;
10542
2.91k
yy914:
10543
2.91k
    YYDEBUG(914, *YYCURSOR);
10544
2.91k
    yyaccept = 95;
10545
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
10546
2.91k
    if (yybm[256+yych] & 128) {
10547
319
      goto yy47;
10548
319
    }
10549
2.59k
    if (yych == '\\') goto yy164;
10550
2.59k
yy915:
10551
2.59k
    YYDEBUG(915, *YYCURSOR);
10552
2.59k
    yyleng = YYCURSOR - SCNG(yy_text);
10553
2.59k
#line 2231 "Zend/zend_language_scanner.l"
10554
2.59k
    {
10555
2.59k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10556
2.59k
}
10557
0
#line 10558 "Zend/zend_language_scanner.c"
10558
10.9k
yy916:
10559
10.9k
    YYDEBUG(916, *YYCURSOR);
10560
10.9k
    ++YYCURSOR;
10561
10.9k
    YYFILL(1);
10562
10.9k
    yych = *YYCURSOR;
10563
10.9k
    if (yych <= ')') {
10564
1.25k
      if (yych <= '\n') {
10565
668
        if (yych <= 0x00) goto yy86;
10566
442
        if (yych <= '\t') goto yy726;
10567
248
        goto yy771;
10568
582
      } else {
10569
582
        if (yych == '\r') goto yy771;
10570
208
        goto yy726;
10571
582
      }
10572
9.67k
    } else {
10573
9.67k
      if (yych <= 'E') {
10574
693
        if (yych <= '*') goto yy773;
10575
497
        if (yych <= 'D') goto yy726;
10576
294
        goto yy927;
10577
8.98k
      } else {
10578
8.98k
        if (yych == 'e') goto yy927;
10579
319
        goto yy726;
10580
8.98k
      }
10581
9.67k
    }
10582
25.5k
yy917:
10583
25.5k
    YYDEBUG(917, *YYCURSOR);
10584
25.5k
    ++YYCURSOR;
10585
25.5k
    YYFILL(1);
10586
25.5k
    yych = *YYCURSOR;
10587
25.5k
    if (yych <= ')') {
10588
1.18k
      if (yych <= '\n') {
10589
734
        if (yych <= 0x00) goto yy86;
10590
536
        if (yych <= '\t') goto yy726;
10591
294
        goto yy771;
10592
536
      } else {
10593
453
        if (yych == '\r') goto yy771;
10594
249
        goto yy726;
10595
453
      }
10596
24.3k
    } else {
10597
24.3k
      if (yych <= 'L') {
10598
3.82k
        if (yych <= '*') goto yy773;
10599
3.62k
        if (yych <= 'K') goto yy726;
10600
3.40k
        goto yy928;
10601
20.5k
      } else {
10602
20.5k
        if (yych == 'l') goto yy928;
10603
328
        goto yy726;
10604
20.5k
      }
10605
24.3k
    }
10606
2.11k
yy918:
10607
2.11k
    YYDEBUG(918, *YYCURSOR);
10608
2.11k
    ++YYCURSOR;
10609
2.11k
    YYFILL(1);
10610
2.11k
    yych = *YYCURSOR;
10611
2.11k
    if (yych <= 'C') {
10612
750
      if (yych <= 0x00) goto yy86;
10613
543
      if (yych == '*') goto yy664;
10614
214
      goto yy590;
10615
1.36k
    } else {
10616
1.36k
      if (yych <= 'D') goto yy929;
10617
1.09k
      if (yych == 'd') goto yy929;
10618
253
      goto yy590;
10619
1.09k
    }
10620
6.22k
yy919:
10621
6.22k
    YYDEBUG(919, *YYCURSOR);
10622
6.22k
    ++YYCURSOR;
10623
6.22k
    YYFILL(1);
10624
6.22k
    yych = *YYCURSOR;
10625
6.22k
    if (yych <= 'L') {
10626
1.27k
      if (yych <= 0x00) goto yy86;
10627
985
      if (yych == '*') goto yy664;
10628
756
      goto yy590;
10629
4.95k
    } else {
10630
4.95k
      if (yych <= 'M') goto yy930;
10631
3.73k
      if (yych == 'm') goto yy930;
10632
202
      goto yy590;
10633
3.73k
    }
10634
3.65k
yy920:
10635
3.65k
    YYDEBUG(920, *YYCURSOR);
10636
3.65k
    ++YYCURSOR;
10637
3.65k
    YYFILL(1);
10638
3.65k
    yych = *YYCURSOR;
10639
3.65k
    if (yych <= '\r') {
10640
1.08k
      if (yych <= '\t') {
10641
410
        if (yych <= 0x00) goto yy86;
10642
200
        goto yy586;
10643
671
      } else {
10644
671
        if (yych <= '\n') goto yy495;
10645
457
        if (yych <= '\f') goto yy586;
10646
263
        goto yy495;
10647
457
      }
10648
2.57k
    } else {
10649
2.57k
      if (yych <= 'T') {
10650
752
        if (yych <= 'S') goto yy586;
10651
400
        goto yy879;
10652
1.81k
      } else {
10653
1.81k
        if (yych == 't') goto yy879;
10654
325
        goto yy586;
10655
1.81k
      }
10656
2.57k
    }
10657
568
yy921:
10658
568
    YYDEBUG(921, *YYCURSOR);
10659
568
    ++YYCURSOR;
10660
568
    YYDEBUG(922, *YYCURSOR);
10661
568
    yyleng = YYCURSOR - SCNG(yy_text);
10662
568
#line 1736 "Zend/zend_language_scanner.l"
10663
568
    {
10664
568
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10665
568
}
10666
0
#line 10667 "Zend/zend_language_scanner.c"
10667
62.4k
yy923:
10668
62.4k
    YYDEBUG(923, *YYCURSOR);
10669
62.4k
    ++YYCURSOR;
10670
62.4k
    YYFILL(1);
10671
62.4k
    yych = *YYCURSOR;
10672
62.4k
    if (yych <= '\r') {
10673
2.51k
      if (yych <= '\t') {
10674
1.62k
        if (yych <= 0x00) goto yy86;
10675
1.17k
        goto yy792;
10676
1.62k
      } else {
10677
888
        if (yych <= '\n') goto yy830;
10678
395
        if (yych <= '\f') goto yy792;
10679
194
        goto yy830;
10680
395
      }
10681
59.9k
    } else {
10682
59.9k
      if (yych <= '*') {
10683
810
        if (yych <= ')') goto yy792;
10684
382
        goto yy832;
10685
59.1k
      } else {
10686
59.1k
        if (yych == '/') goto yy888;
10687
1.73k
        goto yy792;
10688
59.1k
      }
10689
59.9k
    }
10690
15.7k
yy924:
10691
15.7k
    YYDEBUG(924, *YYCURSOR);
10692
15.7k
    ++YYCURSOR;
10693
15.7k
    YYFILL(1);
10694
15.7k
    yych = *YYCURSOR;
10695
15.7k
    if (yych <= ')') {
10696
1.69k
      if (yych <= '\n') {
10697
1.25k
        if (yych <= 0x00) goto yy86;
10698
1.03k
        if (yych <= '\t') goto yy792;
10699
314
        goto yy830;
10700
1.03k
      } else {
10701
431
        if (yych == '\r') goto yy830;
10702
224
        goto yy792;
10703
431
      }
10704
14.0k
    } else {
10705
14.0k
      if (yych <= 'O') {
10706
13.3k
        if (yych <= '*') goto yy832;
10707
13.1k
        if (yych <= 'N') goto yy792;
10708
12.8k
        goto yy931;
10709
13.1k
      } else {
10710
628
        if (yych == 'o') goto yy931;
10711
307
        goto yy792;
10712
628
      }
10713
14.0k
    }
10714
6.35k
yy925:
10715
6.35k
    YYDEBUG(925, *YYCURSOR);
10716
6.35k
    ++YYCURSOR;
10717
6.35k
    YYFILL(1);
10718
6.35k
    yych = *YYCURSOR;
10719
6.35k
    if (yych <= '@') {
10720
4.88k
      if (yych <= '*') {
10721
3.88k
        if (yych <= 0x00) goto yy859;
10722
3.61k
        if (yych <= ')') goto yy932;
10723
1.60k
        goto yy933;
10724
3.61k
      } else {
10725
1.00k
        if (yych <= '/') goto yy932;
10726
802
        if (yych <= '9') goto yy692;
10727
563
        goto yy932;
10728
802
      }
10729
4.88k
    } else {
10730
1.47k
      if (yych <= '_') {
10731
627
        if (yych <= 'Z') goto yy692;
10732
427
        if (yych <= '^') goto yy932;
10733
198
        goto yy692;
10734
848
      } else {
10735
848
        if (yych <= '`') goto yy932;
10736
652
        if (yych <= 'z') goto yy692;
10737
455
        if (yych <= 0x7F) goto yy932;
10738
241
        goto yy692;
10739
455
      }
10740
1.47k
    }
10741
991
yy926:
10742
991
    YYDEBUG(926, *YYCURSOR);
10743
991
    yyaccept = 4;
10744
991
    yych = *(YYMARKER = ++YYCURSOR);
10745
991
    if (yych == 'R') goto yy934;
10746
695
    if (yych == 'r') goto yy934;
10747
200
    goto yy48;
10748
8.96k
yy927:
10749
8.96k
    YYDEBUG(927, *YYCURSOR);
10750
8.96k
    ++YYCURSOR;
10751
8.96k
    YYFILL(1);
10752
8.96k
    yych = *YYCURSOR;
10753
8.96k
    if (yych <= ')') {
10754
1.50k
      if (yych <= '\n') {
10755
701
        if (yych <= 0x00) goto yy86;
10756
498
        if (yych <= '\t') goto yy726;
10757
297
        goto yy771;
10758
805
      } else {
10759
805
        if (yych == '\r') goto yy771;
10760
243
        goto yy726;
10761
805
      }
10762
7.45k
    } else {
10763
7.45k
      if (yych <= 'N') {
10764
687
        if (yych <= '*') goto yy773;
10765
488
        if (yych <= 'M') goto yy726;
10766
272
        goto yy936;
10767
6.76k
      } else {
10768
6.76k
        if (yych == 'n') goto yy936;
10769
415
        goto yy726;
10770
6.76k
      }
10771
7.45k
    }
10772
23.5k
yy928:
10773
23.5k
    YYDEBUG(928, *YYCURSOR);
10774
23.5k
    ++YYCURSOR;
10775
23.5k
    YYFILL(1);
10776
23.5k
    yych = *YYCURSOR;
10777
23.5k
    if (yych <= ')') {
10778
1.40k
      if (yych <= '\n') {
10779
753
        if (yych <= 0x00) goto yy86;
10780
475
        if (yych <= '\t') goto yy726;
10781
260
        goto yy771;
10782
649
      } else {
10783
649
        if (yych == '\r') goto yy771;
10784
328
        goto yy726;
10785
649
      }
10786
22.1k
    } else {
10787
22.1k
      if (yych <= 'E') {
10788
3.88k
        if (yych <= '*') goto yy773;
10789
3.64k
        if (yych <= 'D') goto yy726;
10790
3.41k
        goto yy937;
10791
18.2k
      } else {
10792
18.2k
        if (yych == 'e') goto yy937;
10793
336
        goto yy726;
10794
18.2k
      }
10795
22.1k
    }
10796
2.25k
yy929:
10797
2.25k
    YYDEBUG(929, *YYCURSOR);
10798
2.25k
    ++YYCURSOR;
10799
2.25k
    YYFILL(1);
10800
2.25k
    yych = *YYCURSOR;
10801
2.25k
    if (yych <= 'R') {
10802
1.06k
      if (yych <= 0x00) goto yy86;
10803
717
      if (yych == '*') goto yy664;
10804
519
      goto yy590;
10805
1.18k
    } else {
10806
1.18k
      if (yych <= 'S') goto yy938;
10807
989
      if (yych == 's') goto yy938;
10808
530
      goto yy590;
10809
989
    }
10810
4.74k
yy930:
10811
4.74k
    YYDEBUG(930, *YYCURSOR);
10812
4.74k
    ++YYCURSOR;
10813
4.74k
    YYFILL(1);
10814
4.74k
    yych = *YYCURSOR;
10815
4.74k
    if (yych <= 'D') {
10816
610
      if (yych <= 0x00) goto yy86;
10817
414
      if (yych == '*') goto yy664;
10818
211
      goto yy590;
10819
4.13k
    } else {
10820
4.13k
      if (yych <= 'E') goto yy939;
10821
3.25k
      if (yych == 'e') goto yy939;
10822
281
      goto yy590;
10823
3.25k
    }
10824
13.1k
yy931:
10825
13.1k
    YYDEBUG(931, *YYCURSOR);
10826
13.1k
    ++YYCURSOR;
10827
13.1k
    YYFILL(1);
10828
13.1k
    yych = *YYCURSOR;
10829
13.1k
    if (yych <= ')') {
10830
1.18k
      if (yych <= '\n') {
10831
744
        if (yych <= 0x00) goto yy86;
10832
532
        if (yych <= '\t') goto yy792;
10833
337
        goto yy830;
10834
532
      } else {
10835
439
        if (yych == '\r') goto yy830;
10836
241
        goto yy792;
10837
439
      }
10838
11.9k
    } else {
10839
11.9k
      if (yych <= 'M') {
10840
11.1k
        if (yych <= '*') goto yy832;
10841
10.9k
        if (yych <= 'L') goto yy792;
10842
10.6k
        goto yy940;
10843
10.9k
      } else {
10844
878
        if (yych == 'm') goto yy940;
10845
335
        goto yy792;
10846
878
      }
10847
11.9k
    }
10848
3.40k
yy932:
10849
3.40k
    YYDEBUG(932, *YYCURSOR);
10850
3.40k
    yyaccept = 91;
10851
3.40k
    YYMARKER = ++YYCURSOR;
10852
3.40k
    YYFILL(1);
10853
3.40k
    yych = *YYCURSOR;
10854
3.40k
    if (yych <= 0x00) goto yy860;
10855
1.23k
    if (yych == '*') goto yy748;
10856
1.00k
    goto yy692;
10857
1.60k
yy933:
10858
1.60k
    YYDEBUG(933, *YYCURSOR);
10859
1.60k
    yyaccept = 91;
10860
1.60k
    YYMARKER = ++YYCURSOR;
10861
1.60k
    YYFILL(1);
10862
1.60k
    yych = *YYCURSOR;
10863
1.60k
    if (yych <= '*') {
10864
1.11k
      if (yych <= 0x00) goto yy860;
10865
893
      if (yych <= ')') goto yy692;
10866
197
      goto yy748;
10867
893
    } else {
10868
490
      if (yych == '/') goto yy616;
10869
294
      goto yy692;
10870
490
    }
10871
791
yy934:
10872
791
    YYDEBUG(934, *YYCURSOR);
10873
791
    yyaccept = 96;
10874
791
    yych = *(YYMARKER = ++YYCURSOR);
10875
791
    if (yybm[256+yych] & 128) {
10876
207
      goto yy47;
10877
207
    }
10878
584
    if (yych == '\\') goto yy164;
10879
584
yy935:
10880
584
    YYDEBUG(935, *YYCURSOR);
10881
584
    yyleng = YYCURSOR - SCNG(yy_text);
10882
584
#line 1708 "Zend/zend_language_scanner.l"
10883
584
    {
10884
584
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
10885
584
}
10886
0
#line 10887 "Zend/zend_language_scanner.c"
10887
6.62k
yy936:
10888
6.62k
    YYDEBUG(936, *YYCURSOR);
10889
6.62k
    ++YYCURSOR;
10890
6.62k
    YYFILL(1);
10891
6.62k
    yych = *YYCURSOR;
10892
6.62k
    if (yych <= ')') {
10893
1.16k
      if (yych <= '\n') {
10894
621
        if (yych <= 0x00) goto yy86;
10895
419
        if (yych <= '\t') goto yy726;
10896
197
        goto yy771;
10897
546
      } else {
10898
546
        if (yych == '\r') goto yy771;
10899
338
        goto yy726;
10900
546
      }
10901
5.45k
    } else {
10902
5.45k
      if (yych <= 'D') {
10903
1.19k
        if (yych <= '*') goto yy773;
10904
992
        if (yych <= 'C') goto yy726;
10905
542
        goto yy941;
10906
4.26k
      } else {
10907
4.26k
        if (yych == 'd') goto yy941;
10908
1.00k
        goto yy726;
10909
4.26k
      }
10910
5.45k
    }
10911
21.3k
yy937:
10912
21.3k
    YYDEBUG(937, *YYCURSOR);
10913
21.3k
    ++YYCURSOR;
10914
21.3k
    YYFILL(1);
10915
21.3k
    yych = *YYCURSOR;
10916
21.3k
    if (yych <= ')') {
10917
6.15k
      if (yych <= '\n') {
10918
4.70k
        if (yych <= 0x00) goto yy86;
10919
4.49k
        if (yych <= '\t') goto yy726;
10920
4.24k
        goto yy771;
10921
4.49k
      } else {
10922
1.44k
        if (yych == '\r') goto yy771;
10923
1.24k
        goto yy726;
10924
1.44k
      }
10925
15.2k
    } else {
10926
15.2k
      if (yych <= 'M') {
10927
10.7k
        if (yych <= '*') goto yy773;
10928
9.74k
        if (yych <= 'L') goto yy726;
10929
9.36k
        goto yy942;
10930
9.74k
      } else {
10931
4.48k
        if (yych == 'm') goto yy942;
10932
922
        goto yy726;
10933
4.48k
      }
10934
15.2k
    }
10935
658
yy938:
10936
658
    YYDEBUG(938, *YYCURSOR);
10937
658
    yyaccept = 94;
10938
658
    YYMARKER = ++YYCURSOR;
10939
658
    YYFILL(1);
10940
658
    yych = *YYCURSOR;
10941
658
    if (yych <= 0x00) goto yy870;
10942
421
    if (yych == '*') goto yy664;
10943
223
    goto yy590;
10944
3.85k
yy939:
10945
3.85k
    YYDEBUG(939, *YYCURSOR);
10946
3.85k
    ++YYCURSOR;
10947
3.85k
    YYFILL(1);
10948
3.85k
    yych = *YYCURSOR;
10949
3.85k
    if (yych <= 'M') {
10950
966
      if (yych <= 0x00) goto yy86;
10951
694
      if (yych == '*') goto yy664;
10952
488
      goto yy590;
10953
2.89k
    } else {
10954
2.89k
      if (yych <= 'N') goto yy943;
10955
1.86k
      if (yych == 'n') goto yy943;
10956
245
      goto yy590;
10957
1.86k
    }
10958
11.1k
yy940:
10959
11.1k
    YYDEBUG(940, *YYCURSOR);
10960
11.1k
    ++YYCURSOR;
10961
11.1k
    YYFILL(1);
10962
11.1k
    yych = *YYCURSOR;
10963
11.1k
    if (yych <= '/') {
10964
8.33k
      if (yych <= '\f') {
10965
3.19k
        if (yych <= 0x00) goto yy859;
10966
2.93k
        if (yych == '\n') goto yy945;
10967
200
        goto yy944;
10968
5.13k
      } else {
10969
5.13k
        if (yych <= '\r') goto yy945;
10970
3.93k
        if (yych == '*') goto yy946;
10971
654
        goto yy944;
10972
3.93k
      }
10973
8.33k
    } else {
10974
2.86k
      if (yych <= '^') {
10975
1.01k
        if (yych <= '9') goto yy792;
10976
820
        if (yych <= '@') goto yy944;
10977
404
        if (yych <= 'Z') goto yy792;
10978
203
        goto yy944;
10979
1.84k
      } else {
10980
1.84k
        if (yych <= '`') {
10981
420
          if (yych <= '_') goto yy792;
10982
205
          goto yy944;
10983
1.42k
        } else {
10984
1.42k
          if (yych <= 'z') goto yy792;
10985
1.13k
          if (yych <= 0x7F) goto yy944;
10986
457
          goto yy792;
10987
1.13k
        }
10988
1.84k
      }
10989
2.86k
    }
10990
4.71k
yy941:
10991
4.71k
    YYDEBUG(941, *YYCURSOR);
10992
4.71k
    ++YYCURSOR;
10993
4.71k
    YYFILL(1);
10994
4.71k
    yych = *YYCURSOR;
10995
4.71k
    if (yych <= ')') {
10996
1.45k
      if (yych <= '\n') {
10997
717
        if (yych <= 0x00) goto yy86;
10998
429
        if (yych <= '\t') goto yy726;
10999
229
        goto yy771;
11000
737
      } else {
11001
737
        if (yych == '\r') goto yy771;
11002
206
        goto yy726;
11003
737
      }
11004
3.26k
    } else {
11005
3.26k
      if (yych <= 'S') {
11006
1.12k
        if (yych <= '*') goto yy773;
11007
927
        if (yych <= 'R') goto yy726;
11008
723
        goto yy947;
11009
2.13k
      } else {
11010
2.13k
        if (yych == 's') goto yy947;
11011
253
        goto yy726;
11012
2.13k
      }
11013
3.26k
    }
11014
12.9k
yy942:
11015
12.9k
    YYDEBUG(942, *YYCURSOR);
11016
12.9k
    ++YYCURSOR;
11017
12.9k
    YYFILL(1);
11018
12.9k
    yych = *YYCURSOR;
11019
12.9k
    if (yych <= ')') {
11020
1.84k
      if (yych <= '\n') {
11021
1.39k
        if (yych <= 0x00) goto yy86;
11022
1.11k
        if (yych <= '\t') goto yy726;
11023
893
        goto yy771;
11024
1.11k
      } else {
11025
452
        if (yych == '\r') goto yy771;
11026
208
        goto yy726;
11027
452
      }
11028
11.0k
    } else {
11029
11.0k
      if (yych <= 'E') {
11030
2.51k
        if (yych <= '*') goto yy773;
11031
2.32k
        if (yych <= 'D') goto yy726;
11032
2.11k
        goto yy948;
11033
8.56k
      } else {
11034
8.56k
        if (yych == 'e') goto yy948;
11035
287
        goto yy726;
11036
8.56k
      }
11037
11.0k
    }
11038
2.64k
yy943:
11039
2.64k
    YYDEBUG(943, *YYCURSOR);
11040
2.64k
    ++YYCURSOR;
11041
2.64k
    YYFILL(1);
11042
2.64k
    yych = *YYCURSOR;
11043
2.64k
    if (yych <= 'S') {
11044
1.09k
      if (yych <= 0x00) goto yy86;
11045
502
      if (yych == '*') goto yy664;
11046
308
      goto yy590;
11047
1.54k
    } else {
11048
1.54k
      if (yych <= 'T') goto yy929;
11049
1.18k
      if (yych == 't') goto yy929;
11050
404
      goto yy590;
11051
1.18k
    }
11052
2.35k
yy944:
11053
2.35k
    YYDEBUG(944, *YYCURSOR);
11054
2.35k
    yyaccept = 91;
11055
2.35k
    YYMARKER = ++YYCURSOR;
11056
2.35k
    YYFILL(1);
11057
2.35k
    yych = *YYCURSOR;
11058
2.35k
    if (yych <= '\f') {
11059
1.13k
      if (yych <= 0x00) goto yy860;
11060
913
      if (yych == '\n') goto yy830;
11061
523
      goto yy792;
11062
1.21k
    } else {
11063
1.21k
      if (yych <= '\r') goto yy830;
11064
852
      if (yych == '*') goto yy832;
11065
465
      goto yy792;
11066
852
    }
11067
3.94k
yy945:
11068
3.94k
    YYDEBUG(945, *YYCURSOR);
11069
3.94k
    yyaccept = 91;
11070
3.94k
    YYMARKER = ++YYCURSOR;
11071
3.94k
    YYFILL(1);
11072
3.94k
    yych = *YYCURSOR;
11073
3.94k
    if (yych <= '#') {
11074
2.43k
      if (yych <= '\f') {
11075
848
        if (yych <= 0x00) goto yy860;
11076
651
        if (yych <= 0x08) goto yy692;
11077
403
        if (yych <= '\n') goto yy830;
11078
198
        goto yy692;
11079
1.58k
      } else {
11080
1.58k
        if (yych <= 0x1F) {
11081
499
          if (yych <= '\r') goto yy830;
11082
231
          goto yy692;
11083
1.08k
        } else {
11084
1.08k
          if (yych <= ' ') goto yy830;
11085
888
          if (yych <= '"') goto yy692;
11086
681
          goto yy861;
11087
888
        }
11088
1.58k
      }
11089
2.43k
    } else {
11090
1.51k
      if (yych <= '/') {
11091
718
        if (yych == '*') goto yy748;
11092
519
        if (yych <= '.') goto yy692;
11093
198
        goto yy862;
11094
795
      } else {
11095
795
        if (yych <= 'F') {
11096
401
          if (yych <= 'E') goto yy692;
11097
203
          goto yy863;
11098
401
        } else {
11099
394
          if (yych == 'f') goto yy863;
11100
200
          goto yy692;
11101
394
        }
11102
795
      }
11103
1.51k
    }
11104
3.28k
yy946:
11105
3.28k
    YYDEBUG(946, *YYCURSOR);
11106
3.28k
    yyaccept = 91;
11107
3.28k
    YYMARKER = ++YYCURSOR;
11108
3.28k
    YYFILL(1);
11109
3.28k
    yych = *YYCURSOR;
11110
3.28k
    if (yych <= '\r') {
11111
2.07k
      if (yych <= '\t') {
11112
1.18k
        if (yych <= 0x00) goto yy860;
11113
763
        goto yy792;
11114
1.18k
      } else {
11115
887
        if (yych <= '\n') goto yy830;
11116
558
        if (yych <= '\f') goto yy792;
11117
362
        goto yy830;
11118
558
      }
11119
2.07k
    } else {
11120
1.20k
      if (yych <= '*') {
11121
683
        if (yych <= ')') goto yy792;
11122
464
        goto yy832;
11123
683
      } else {
11124
525
        if (yych == '/') goto yy690;
11125
322
        goto yy792;
11126
525
      }
11127
1.20k
    }
11128
2.60k
yy947:
11129
2.60k
    YYDEBUG(947, *YYCURSOR);
11130
2.60k
    yyaccept = 94;
11131
2.60k
    YYMARKER = ++YYCURSOR;
11132
2.60k
    YYFILL(1);
11133
2.60k
    yych = *YYCURSOR;
11134
2.60k
    if (yych <= '\f') {
11135
667
      if (yych <= 0x00) goto yy870;
11136
464
      if (yych == '\n') goto yy771;
11137
265
      goto yy726;
11138
1.94k
    } else {
11139
1.94k
      if (yych <= '\r') goto yy771;
11140
1.74k
      if (yych == '*') goto yy773;
11141
1.53k
      goto yy726;
11142
1.74k
    }
11143
10.3k
yy948:
11144
10.3k
    YYDEBUG(948, *YYCURSOR);
11145
10.3k
    ++YYCURSOR;
11146
10.3k
    YYFILL(1);
11147
10.3k
    yych = *YYCURSOR;
11148
10.3k
    if (yych <= ')') {
11149
6.83k
      if (yych <= '\n') {
11150
6.39k
        if (yych <= 0x00) goto yy86;
11151
6.14k
        if (yych <= '\t') goto yy726;
11152
212
        goto yy771;
11153
6.14k
      } else {
11154
438
        if (yych == '\r') goto yy771;
11155
240
        goto yy726;
11156
438
      }
11157
6.83k
    } else {
11158
3.55k
      if (yych <= 'N') {
11159
1.96k
        if (yych <= '*') goto yy773;
11160
1.75k
        if (yych <= 'M') goto yy726;
11161
1.75k
      } else {
11162
1.58k
        if (yych != 'n') goto yy726;
11163
1.58k
      }
11164
3.55k
    }
11165
2.69k
    YYDEBUG(949, *YYCURSOR);
11166
2.69k
    ++YYCURSOR;
11167
2.69k
    YYFILL(1);
11168
2.69k
    yych = *YYCURSOR;
11169
2.69k
    if (yych <= ')') {
11170
1.12k
      if (yych <= '\n') {
11171
615
        if (yych <= 0x00) goto yy86;
11172
401
        if (yych <= '\t') goto yy726;
11173
196
        goto yy771;
11174
511
      } else {
11175
511
        if (yych == '\r') goto yy771;
11176
203
        goto yy726;
11177
511
      }
11178
1.56k
    } else {
11179
1.56k
      if (yych <= 'T') {
11180
657
        if (yych <= '*') goto yy773;
11181
461
        if (yych <= 'S') goto yy726;
11182
232
        goto yy941;
11183
912
      } else {
11184
912
        if (yych == 't') goto yy941;
11185
234
        goto yy726;
11186
912
      }
11187
1.56k
    }
11188
2.69k
  }
11189
/* *********************************** */
11190
513k
yyc_ST_LOOKING_FOR_PROPERTY:
11191
513k
  {
11192
513k
    static const unsigned char yybm[] = {
11193
513k
        0,   0,   0,   0,   0,   0,   0,   0, 
11194
513k
        0,  64,  64,   0,   0,  64,   0,   0, 
11195
513k
        0,   0,   0,   0,   0,   0,   0,   0, 
11196
513k
        0,   0,   0,   0,   0,   0,   0,   0, 
11197
513k
       64,   0,   0,   0,   0,   0,   0,   0, 
11198
513k
        0,   0,   0,   0,   0,   0,   0,   0, 
11199
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11200
513k
      128, 128,   0,   0,   0,   0,   0,   0, 
11201
513k
        0, 128, 128, 128, 128, 128, 128, 128, 
11202
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11203
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11204
513k
      128, 128, 128,   0,   0,   0,   0, 128, 
11205
513k
        0, 128, 128, 128, 128, 128, 128, 128, 
11206
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11207
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11208
513k
      128, 128, 128,   0,   0,   0,   0,   0, 
11209
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11210
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11211
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11212
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11213
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11214
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11215
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11216
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11217
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11218
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11219
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11220
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11221
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11222
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11223
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11224
513k
      128, 128, 128, 128, 128, 128, 128, 128, 
11225
513k
    };
11226
513k
    YYDEBUG(950, *YYCURSOR);
11227
513k
    YYFILL(4);
11228
513k
    yych = *YYCURSOR;
11229
513k
    if (yybm[0+yych] & 64) {
11230
5.33k
      goto yy954;
11231
5.33k
    }
11232
507k
    if (yych <= '?') {
11233
177k
      if (yych <= '-') {
11234
50.6k
        if (yych == '#') goto yy957;
11235
47.4k
        if (yych >= '-') goto yy959;
11236
126k
      } else {
11237
126k
        if (yych == '/') goto yy960;
11238
119k
        if (yych >= '?') goto yy961;
11239
119k
      }
11240
330k
    } else {
11241
330k
      if (yych <= '_') {
11242
39.9k
        if (yych <= '@') goto yy952;
11243
39.7k
        if (yych <= 'Z') goto yy962;
11244
20.4k
        if (yych >= '_') goto yy962;
11245
290k
      } else {
11246
290k
        if (yych <= '`') goto yy952;
11247
289k
        if (yych <= 'z') goto yy962;
11248
22.9k
        if (yych >= 0x80) goto yy962;
11249
22.9k
      }
11250
330k
    }
11251
32.1k
yy952:
11252
32.1k
    YYDEBUG(952, *YYCURSOR);
11253
32.1k
    ++YYCURSOR;
11254
33.8k
yy953:
11255
33.8k
    YYDEBUG(953, *YYCURSOR);
11256
33.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11257
33.8k
#line 2466 "Zend/zend_language_scanner.l"
11258
33.8k
    {
11259
33.8k
  yyless(0);
11260
33.8k
  yy_pop_state();
11261
33.8k
  goto restart;
11262
32.1k
}
11263
0
#line 11264 "Zend/zend_language_scanner.c"
11264
8.91k
yy954:
11265
8.91k
    YYDEBUG(954, *YYCURSOR);
11266
8.91k
    ++YYCURSOR;
11267
8.91k
    YYFILL(1);
11268
8.91k
    yych = *YYCURSOR;
11269
8.91k
    YYDEBUG(955, *YYCURSOR);
11270
8.91k
    if (yybm[0+yych] & 64) {
11271
3.57k
      goto yy954;
11272
3.57k
    }
11273
5.33k
    YYDEBUG(956, *YYCURSOR);
11274
5.33k
    yyleng = YYCURSOR - SCNG(yy_text);
11275
5.33k
#line 1583 "Zend/zend_language_scanner.l"
11276
5.33k
    {
11277
5.33k
  goto return_whitespace;
11278
8.91k
}
11279
0
#line 11280 "Zend/zend_language_scanner.c"
11280
4.21k
yy957:
11281
4.21k
    YYDEBUG(957, *YYCURSOR);
11282
4.21k
    ++YYCURSOR;
11283
4.21k
    YYDEBUG(958, *YYCURSOR);
11284
4.21k
    yyleng = YYCURSOR - SCNG(yy_text);
11285
4.21k
#line 2406 "Zend/zend_language_scanner.l"
11286
4.21k
    {
11287
98.6k
  while (YYCURSOR < YYLIMIT) {
11288
98.0k
    switch (*YYCURSOR++) {
11289
835
      case '\r':
11290
3.41k
      case '\n':
11291
3.41k
        YYCURSOR--;
11292
3.41k
        break;
11293
686
      case '?':
11294
686
        if (*YYCURSOR == '>') {
11295
216
          YYCURSOR--;
11296
216
          break;
11297
216
        }
11298
470
        ZEND_FALLTHROUGH;
11299
94.3k
      default:
11300
94.3k
        continue;
11301
98.0k
    }
11302
11303
3.63k
    break;
11304
98.0k
  }
11305
11306
4.21k
  yyleng = YYCURSOR - SCNG(yy_text);
11307
4.21k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11308
4.21k
}
11309
0
#line 11310 "Zend/zend_language_scanner.c"
11310
37.4k
yy959:
11311
37.4k
    YYDEBUG(959, *YYCURSOR);
11312
37.4k
    yych = *++YYCURSOR;
11313
37.4k
    if (yych == '>') goto yy965;
11314
471
    goto yy953;
11315
7.24k
yy960:
11316
7.24k
    YYDEBUG(960, *YYCURSOR);
11317
7.24k
    yych = *++YYCURSOR;
11318
7.24k
    if (yych == '*') goto yy967;
11319
1.51k
    if (yych == '/') goto yy957;
11320
409
    goto yy953;
11321
117k
yy961:
11322
117k
    YYDEBUG(961, *YYCURSOR);
11323
117k
    yyaccept = 0;
11324
117k
    yych = *(YYMARKER = ++YYCURSOR);
11325
117k
    if (yych == '-') goto yy969;
11326
590
    goto yy953;
11327
1.26M
yy962:
11328
1.26M
    YYDEBUG(962, *YYCURSOR);
11329
1.26M
    ++YYCURSOR;
11330
1.26M
    YYFILL(1);
11331
1.26M
    yych = *YYCURSOR;
11332
1.26M
    YYDEBUG(963, *YYCURSOR);
11333
1.26M
    if (yybm[0+yych] & 128) {
11334
952k
      goto yy962;
11335
952k
    }
11336
310k
    YYDEBUG(964, *YYCURSOR);
11337
310k
    yyleng = YYCURSOR - SCNG(yy_text);
11338
310k
#line 1595 "Zend/zend_language_scanner.l"
11339
310k
    {
11340
310k
  yy_pop_state();
11341
310k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11342
310k
}
11343
0
#line 11344 "Zend/zend_language_scanner.c"
11344
36.9k
yy965:
11345
36.9k
    YYDEBUG(965, *YYCURSOR);
11346
36.9k
    ++YYCURSOR;
11347
36.9k
    YYDEBUG(966, *YYCURSOR);
11348
36.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11349
36.9k
#line 1587 "Zend/zend_language_scanner.l"
11350
36.9k
    {
11351
36.9k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11352
36.9k
}
11353
0
#line 11354 "Zend/zend_language_scanner.c"
11354
5.72k
yy967:
11355
5.72k
    YYDEBUG(967, *YYCURSOR);
11356
5.72k
    yyaccept = 1;
11357
5.72k
    yych = *(YYMARKER = ++YYCURSOR);
11358
5.72k
    if (yych == '*') goto yy971;
11359
5.72k
yy968:
11360
5.72k
    YYDEBUG(968, *YYCURSOR);
11361
5.72k
    yyleng = YYCURSOR - SCNG(yy_text);
11362
5.72k
#line 2430 "Zend/zend_language_scanner.l"
11363
5.72k
    {
11364
5.72k
  int doc_com;
11365
11366
5.72k
  if (yyleng > 2) {
11367
2.87k
    doc_com = 1;
11368
2.87k
    RESET_DOC_COMMENT();
11369
2.87k
  } else {
11370
2.84k
    doc_com = 0;
11371
2.84k
  }
11372
11373
253k
  while (YYCURSOR < YYLIMIT) {
11374
252k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11375
4.42k
      break;
11376
4.42k
    }
11377
252k
  }
11378
11379
5.72k
  if (YYCURSOR < YYLIMIT) {
11380
4.42k
    YYCURSOR++;
11381
4.42k
  } else {
11382
1.30k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno));
11383
1.30k
    if (PARSER_MODE()) {
11384
113
      RETURN_TOKEN(T_ERROR);
11385
113
    }
11386
1.30k
  }
11387
11388
5.61k
  yyleng = YYCURSOR - SCNG(yy_text);
11389
5.61k
  HANDLE_NEWLINES(yytext, yyleng);
11390
11391
5.61k
  if (doc_com) {
11392
2.81k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11393
2.81k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11394
2.81k
  }
11395
11396
2.79k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11397
2.79k
}
11398
0
#line 11399 "Zend/zend_language_scanner.c"
11399
117k
yy969:
11400
117k
    YYDEBUG(969, *YYCURSOR);
11401
117k
    yych = *++YYCURSOR;
11402
117k
    if (yych == '>') goto yy972;
11403
1.29k
yy970:
11404
1.29k
    YYDEBUG(970, *YYCURSOR);
11405
1.29k
    YYCURSOR = YYMARKER;
11406
1.29k
    if (yyaccept == 0) {
11407
195
      goto yy953;
11408
1.10k
    } else {
11409
1.10k
      goto yy968;
11410
1.10k
    }
11411
3.97k
yy971:
11412
3.97k
    YYDEBUG(971, *YYCURSOR);
11413
3.97k
    yych = *++YYCURSOR;
11414
3.97k
    if (yych <= '\f') {
11415
1.70k
      if (yych <= 0x08) goto yy970;
11416
1.44k
      if (yych <= '\n') goto yy974;
11417
195
      goto yy970;
11418
2.27k
    } else {
11419
2.27k
      if (yych <= '\r') goto yy974;
11420
1.79k
      if (yych == ' ') goto yy974;
11421
644
      goto yy970;
11422
1.79k
    }
11423
116k
yy972:
11424
116k
    YYDEBUG(972, *YYCURSOR);
11425
116k
    ++YYCURSOR;
11426
116k
    YYDEBUG(973, *YYCURSOR);
11427
116k
    yyleng = YYCURSOR - SCNG(yy_text);
11428
116k
#line 1591 "Zend/zend_language_scanner.l"
11429
116k
    {
11430
116k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11431
116k
}
11432
0
#line 11433 "Zend/zend_language_scanner.c"
11433
4.20k
yy974:
11434
4.20k
    YYDEBUG(974, *YYCURSOR);
11435
4.20k
    ++YYCURSOR;
11436
4.20k
    YYFILL(1);
11437
4.20k
    yych = *YYCURSOR;
11438
4.20k
    YYDEBUG(975, *YYCURSOR);
11439
4.20k
    if (yych <= '\f') {
11440
1.17k
      if (yych <= 0x08) goto yy968;
11441
673
      if (yych <= '\n') goto yy974;
11442
200
      goto yy968;
11443
3.02k
    } else {
11444
3.02k
      if (yych <= '\r') goto yy974;
11445
2.59k
      if (yych == ' ') goto yy974;
11446
2.17k
      goto yy968;
11447
2.59k
    }
11448
4.20k
  }
11449
/* *********************************** */
11450
254k
yyc_ST_BACKQUOTE:
11451
254k
  {
11452
254k
    static const unsigned char yybm[] = {
11453
254k
        0,   0,   0,   0,   0,   0,   0,   0, 
11454
254k
        0,   0,   0,   0,   0,   0,   0,   0, 
11455
254k
        0,   0,   0,   0,   0,   0,   0,   0, 
11456
254k
        0,   0,   0,   0,   0,   0,   0,   0, 
11457
254k
        0,   0,   0,   0,   0,   0,   0,   0, 
11458
254k
        0,   0,   0,   0,   0,   0,   0,   0, 
11459
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11460
254k
      128, 128,   0,   0,   0,   0,   0,   0, 
11461
254k
        0, 128, 128, 128, 128, 128, 128, 128, 
11462
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11463
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11464
254k
      128, 128, 128,   0,   0,   0,   0, 128, 
11465
254k
        0, 128, 128, 128, 128, 128, 128, 128, 
11466
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11467
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11468
254k
      128, 128, 128,   0,   0,   0,   0,   0, 
11469
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11470
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11471
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11472
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11473
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11474
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11475
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11476
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11477
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11478
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11479
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11480
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11481
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11482
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11483
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11484
254k
      128, 128, 128, 128, 128, 128, 128, 128, 
11485
254k
    };
11486
254k
    YYDEBUG(976, *YYCURSOR);
11487
254k
    YYFILL(2);
11488
254k
    yych = *YYCURSOR;
11489
254k
    if (yych <= '_') {
11490
199k
      if (yych == '$') goto yy980;
11491
199k
    } else {
11492
55.6k
      if (yych <= '`') goto yy981;
11493
14.9k
      if (yych == '{') goto yy983;
11494
14.9k
    }
11495
111k
    YYDEBUG(978, *YYCURSOR);
11496
111k
    ++YYCURSOR;
11497
117k
yy979:
11498
117k
    YYDEBUG(979, *YYCURSOR);
11499
117k
    yyleng = YYCURSOR - SCNG(yy_text);
11500
117k
#line 2865 "Zend/zend_language_scanner.l"
11501
117k
    {
11502
117k
  if (YYCURSOR > YYLIMIT) {
11503
6.06k
    RETURN_END_TOKEN;
11504
6.06k
  }
11505
111k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11506
1.88k
    YYCURSOR++;
11507
1.88k
  }
11508
11509
4.96M
  while (YYCURSOR < YYLIMIT) {
11510
4.96M
    switch (*YYCURSOR++) {
11511
17.1k
      case '`':
11512
17.1k
        break;
11513
99.4k
      case '$':
11514
99.4k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11515
88.1k
          break;
11516
88.1k
        }
11517
11.3k
        continue;
11518
21.5k
      case '{':
11519
21.5k
        if (*YYCURSOR == '$') {
11520
851
          break;
11521
851
        }
11522
20.6k
        continue;
11523
35.7k
      case '\\':
11524
35.7k
        if (YYCURSOR < YYLIMIT) {
11525
35.1k
          YYCURSOR++;
11526
35.1k
        }
11527
35.7k
        ZEND_FALLTHROUGH;
11528
4.82M
      default:
11529
4.82M
        continue;
11530
4.96M
    }
11531
11532
106k
    YYCURSOR--;
11533
106k
    break;
11534
4.96M
  }
11535
11536
111k
  yyleng = YYCURSOR - SCNG(yy_text);
11537
11538
111k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11539
111k
   || !PARSER_MODE()) {
11540
111k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11541
111k
  } else {
11542
14
    RETURN_TOKEN(T_ERROR);
11543
14
  }
11544
111k
}
11545
0
#line 11546 "Zend/zend_language_scanner.c"
11546
100k
yy980:
11547
100k
    YYDEBUG(980, *YYCURSOR);
11548
100k
    yych = *++YYCURSOR;
11549
100k
    if (yych <= '_') {
11550
10.9k
      if (yych <= '@') goto yy979;
11551
10.0k
      if (yych <= 'Z') goto yy984;
11552
5.69k
      if (yych <= '^') goto yy979;
11553
2.78k
      goto yy984;
11554
89.1k
    } else {
11555
89.1k
      if (yych <= 'z') {
11556
63.2k
        if (yych <= '`') goto yy979;
11557
62.9k
        goto yy984;
11558
63.2k
      } else {
11559
25.8k
        if (yych <= '{') goto yy987;
11560
8.29k
        if (yych <= 0x7F) goto yy979;
11561
7.99k
        goto yy984;
11562
8.29k
      }
11563
89.1k
    }
11564
40.6k
yy981:
11565
40.6k
    YYDEBUG(981, *YYCURSOR);
11566
40.6k
    ++YYCURSOR;
11567
40.6k
    YYDEBUG(982, *YYCURSOR);
11568
40.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11569
40.6k
#line 2805 "Zend/zend_language_scanner.l"
11570
40.6k
    {
11571
40.6k
  BEGIN(ST_IN_SCRIPTING);
11572
40.6k
  RETURN_TOKEN('`');
11573
40.6k
}
11574
0
#line 11575 "Zend/zend_language_scanner.c"
11575
2.14k
yy983:
11576
2.14k
    YYDEBUG(983, *YYCURSOR);
11577
2.14k
    yych = *++YYCURSOR;
11578
2.14k
    if (yych == '$') goto yy989;
11579
1.21k
    goto yy979;
11580
281k
yy984:
11581
281k
    YYDEBUG(984, *YYCURSOR);
11582
281k
    YYMARKER = ++YYCURSOR;
11583
281k
    YYFILL(4);
11584
281k
    yych = *YYCURSOR;
11585
281k
    YYDEBUG(985, *YYCURSOR);
11586
281k
    if (yybm[0+yych] & 128) {
11587
203k
      goto yy984;
11588
203k
    }
11589
78.0k
    if (yych <= '>') {
11590
44.8k
      if (yych == '-') goto yy991;
11591
44.8k
    } else {
11592
33.2k
      if (yych <= '?') goto yy993;
11593
9.64k
      if (yych <= '@') goto yy986;
11594
9.41k
      if (yych <= '[') goto yy994;
11595
9.41k
    }
11596
61.2k
yy986:
11597
61.2k
    YYDEBUG(986, *YYCURSOR);
11598
61.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11599
61.2k
#line 2363 "Zend/zend_language_scanner.l"
11600
61.2k
    {
11601
61.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11602
61.2k
}
11603
0
#line 11604 "Zend/zend_language_scanner.c"
11604
17.5k
yy987:
11605
17.5k
    YYDEBUG(987, *YYCURSOR);
11606
17.5k
    ++YYCURSOR;
11607
17.5k
    YYDEBUG(988, *YYCURSOR);
11608
17.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11609
17.5k
#line 1927 "Zend/zend_language_scanner.l"
11610
17.5k
    {
11611
17.5k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11612
17.5k
  enter_nesting('{');
11613
17.5k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11614
17.5k
}
11615
0
#line 11616 "Zend/zend_language_scanner.c"
11616
928
yy989:
11617
928
    YYDEBUG(989, *YYCURSOR);
11618
928
    ++YYCURSOR;
11619
928
    YYDEBUG(990, *YYCURSOR);
11620
928
    yyleng = YYCURSOR - SCNG(yy_text);
11621
928
#line 2792 "Zend/zend_language_scanner.l"
11622
928
    {
11623
928
  yy_push_state(ST_IN_SCRIPTING);
11624
928
  yyless(1);
11625
928
  enter_nesting('{');
11626
928
  RETURN_TOKEN(T_CURLY_OPEN);
11627
928
}
11628
0
#line 11629 "Zend/zend_language_scanner.c"
11629
8.40k
yy991:
11630
8.40k
    YYDEBUG(991, *YYCURSOR);
11631
8.40k
    yych = *++YYCURSOR;
11632
8.40k
    if (yych == '>') goto yy996;
11633
18.9k
yy992:
11634
18.9k
    YYDEBUG(992, *YYCURSOR);
11635
18.9k
    YYCURSOR = YYMARKER;
11636
18.9k
    goto yy986;
11637
23.5k
yy993:
11638
23.5k
    YYDEBUG(993, *YYCURSOR);
11639
23.5k
    yych = *++YYCURSOR;
11640
23.5k
    if (yych == '-') goto yy997;
11641
11.7k
    goto yy992;
11642
11.7k
yy994:
11643
3.83k
    YYDEBUG(994, *YYCURSOR);
11644
3.83k
    ++YYCURSOR;
11645
3.83k
    YYDEBUG(995, *YYCURSOR);
11646
3.83k
    yyleng = YYCURSOR - SCNG(yy_text);
11647
3.83k
#line 2357 "Zend/zend_language_scanner.l"
11648
3.83k
    {
11649
3.83k
  yyless(yyleng - 1);
11650
3.83k
  yy_push_state(ST_VAR_OFFSET);
11651
3.83k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11652
3.83k
}
11653
0
#line 11654 "Zend/zend_language_scanner.c"
11654
6.64k
yy996:
11655
6.64k
    YYDEBUG(996, *YYCURSOR);
11656
6.64k
    yych = *++YYCURSOR;
11657
6.64k
    if (yych <= '_') {
11658
2.65k
      if (yych <= '@') goto yy992;
11659
1.20k
      if (yych <= 'Z') goto yy998;
11660
682
      if (yych <= '^') goto yy992;
11661
372
      goto yy998;
11662
3.99k
    } else {
11663
3.99k
      if (yych <= '`') goto yy992;
11664
3.70k
      if (yych <= 'z') goto yy998;
11665
1.20k
      if (yych <= 0x7F) goto yy992;
11666
432
      goto yy998;
11667
1.20k
    }
11668
11.8k
yy997:
11669
11.8k
    YYDEBUG(997, *YYCURSOR);
11670
11.8k
    yych = *++YYCURSOR;
11671
11.8k
    if (yych == '>') goto yy1000;
11672
1.07k
    goto yy992;
11673
3.83k
yy998:
11674
3.83k
    YYDEBUG(998, *YYCURSOR);
11675
3.83k
    ++YYCURSOR;
11676
3.83k
    YYDEBUG(999, *YYCURSOR);
11677
3.83k
    yyleng = YYCURSOR - SCNG(yy_text);
11678
3.83k
#line 2343 "Zend/zend_language_scanner.l"
11679
3.83k
    {
11680
3.83k
  yyless(yyleng - 3);
11681
3.83k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11682
3.83k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11683
3.83k
}
11684
0
#line 11685 "Zend/zend_language_scanner.c"
11685
10.7k
yy1000:
11686
10.7k
    YYDEBUG(1000, *YYCURSOR);
11687
10.7k
    yych = *++YYCURSOR;
11688
10.7k
    if (yych <= '_') {
11689
1.38k
      if (yych <= '@') goto yy992;
11690
691
      if (yych <= 'Z') goto yy1001;
11691
436
      if (yych <= '^') goto yy992;
11692
9.34k
    } else {
11693
9.34k
      if (yych <= '`') goto yy992;
11694
8.89k
      if (yych <= 'z') goto yy1001;
11695
848
      if (yych <= 0x7F) goto yy992;
11696
848
    }
11697
9.14k
yy1001:
11698
9.14k
    YYDEBUG(1001, *YYCURSOR);
11699
9.14k
    ++YYCURSOR;
11700
9.14k
    YYDEBUG(1002, *YYCURSOR);
11701
9.14k
    yyleng = YYCURSOR - SCNG(yy_text);
11702
9.14k
#line 2349 "Zend/zend_language_scanner.l"
11703
9.14k
    {
11704
9.14k
  yyless(yyleng - 4);
11705
9.14k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11706
9.14k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11707
9.14k
}
11708
9.14k
#line 11709 "Zend/zend_language_scanner.c"
11709
9.14k
  }
11710
/* *********************************** */
11711
806k
yyc_ST_DOUBLE_QUOTES:
11712
806k
  {
11713
806k
    static const unsigned char yybm[] = {
11714
806k
        0,   0,   0,   0,   0,   0,   0,   0, 
11715
806k
        0,   0,   0,   0,   0,   0,   0,   0, 
11716
806k
        0,   0,   0,   0,   0,   0,   0,   0, 
11717
806k
        0,   0,   0,   0,   0,   0,   0,   0, 
11718
806k
        0,   0,   0,   0,   0,   0,   0,   0, 
11719
806k
        0,   0,   0,   0,   0,   0,   0,   0, 
11720
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11721
806k
      128, 128,   0,   0,   0,   0,   0,   0, 
11722
806k
        0, 128, 128, 128, 128, 128, 128, 128, 
11723
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11724
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11725
806k
      128, 128, 128,   0,   0,   0,   0, 128, 
11726
806k
        0, 128, 128, 128, 128, 128, 128, 128, 
11727
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11728
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11729
806k
      128, 128, 128,   0,   0,   0,   0,   0, 
11730
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11731
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11732
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11733
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11734
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11735
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11736
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11737
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11738
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11739
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11740
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11741
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11742
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11743
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11744
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11745
806k
      128, 128, 128, 128, 128, 128, 128, 128, 
11746
806k
    };
11747
806k
    YYDEBUG(1003, *YYCURSOR);
11748
806k
    YYFILL(2);
11749
806k
    yych = *YYCURSOR;
11750
806k
    if (yych <= '#') {
11751
140k
      if (yych == '"') goto yy1007;
11752
665k
    } else {
11753
665k
      if (yych <= '$') goto yy1009;
11754
315k
      if (yych == '{') goto yy1010;
11755
315k
    }
11756
395k
    YYDEBUG(1005, *YYCURSOR);
11757
395k
    ++YYCURSOR;
11758
401k
yy1006:
11759
401k
    YYDEBUG(1006, *YYCURSOR);
11760
401k
    yyleng = YYCURSOR - SCNG(yy_text);
11761
401k
#line 2811 "Zend/zend_language_scanner.l"
11762
401k
    {
11763
401k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11764
94.3k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11765
94.3k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11766
11767
94.3k
    goto double_quotes_scan_done;
11768
94.3k
  }
11769
11770
307k
  if (YYCURSOR > YYLIMIT) {
11771
12.9k
    RETURN_END_TOKEN;
11772
12.9k
  }
11773
294k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11774
11.1k
    YYCURSOR++;
11775
11.1k
  }
11776
11777
6.94M
  while (YYCURSOR < YYLIMIT) {
11778
6.93M
    switch (*YYCURSOR++) {
11779
49.0k
      case '"':
11780
49.0k
        break;
11781
269k
      case '$':
11782
269k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11783
240k
          break;
11784
240k
        }
11785
28.8k
        continue;
11786
28.8k
      case '{':
11787
25.6k
        if (*YYCURSOR == '$') {
11788
1.31k
          break;
11789
1.31k
        }
11790
24.3k
        continue;
11791
44.0k
      case '\\':
11792
44.0k
        if (YYCURSOR < YYLIMIT) {
11793
43.8k
          YYCURSOR++;
11794
43.8k
        }
11795
44.0k
        ZEND_FALLTHROUGH;
11796
6.59M
      default:
11797
6.59M
        continue;
11798
6.93M
    }
11799
11800
290k
    YYCURSOR--;
11801
290k
    break;
11802
6.93M
  }
11803
11804
389k
double_quotes_scan_done:
11805
389k
  yyleng = YYCURSOR - SCNG(yy_text);
11806
11807
389k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11808
389k
   || !PARSER_MODE()) {
11809
388k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11810
388k
  } else {
11811
122
    RETURN_TOKEN(T_ERROR);
11812
122
  }
11813
389k
}
11814
0
#line 11815 "Zend/zend_language_scanner.c"
11815
54.3k
yy1007:
11816
54.3k
    YYDEBUG(1007, *YYCURSOR);
11817
54.3k
    ++YYCURSOR;
11818
54.3k
    YYDEBUG(1008, *YYCURSOR);
11819
54.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11820
54.3k
#line 2800 "Zend/zend_language_scanner.l"
11821
54.3k
    {
11822
54.3k
  BEGIN(ST_IN_SCRIPTING);
11823
54.3k
  RETURN_TOKEN('"');
11824
54.3k
}
11825
0
#line 11826 "Zend/zend_language_scanner.c"
11826
349k
yy1009:
11827
349k
    YYDEBUG(1009, *YYCURSOR);
11828
349k
    yych = *++YYCURSOR;
11829
349k
    if (yych <= '_') {
11830
27.7k
      if (yych <= '@') goto yy1006;
11831
23.9k
      if (yych <= 'Z') goto yy1011;
11832
3.23k
      if (yych <= '^') goto yy1006;
11833
2.98k
      goto yy1011;
11834
321k
    } else {
11835
321k
      if (yych <= 'z') {
11836
255k
        if (yych <= '`') goto yy1006;
11837
255k
        goto yy1011;
11838
255k
      } else {
11839
65.9k
        if (yych <= '{') goto yy1014;
11840
28.5k
        if (yych <= 0x7F) goto yy1006;
11841
28.2k
        goto yy1011;
11842
28.5k
      }
11843
321k
    }
11844
6.44k
yy1010:
11845
6.44k
    YYDEBUG(1010, *YYCURSOR);
11846
6.44k
    yych = *++YYCURSOR;
11847
6.44k
    if (yych == '$') goto yy1016;
11848
1.89k
    goto yy1006;
11849
995k
yy1011:
11850
995k
    YYDEBUG(1011, *YYCURSOR);
11851
995k
    YYMARKER = ++YYCURSOR;
11852
995k
    YYFILL(4);
11853
995k
    yych = *YYCURSOR;
11854
995k
    YYDEBUG(1012, *YYCURSOR);
11855
995k
    if (yybm[0+yych] & 128) {
11856
687k
      goto yy1011;
11857
687k
    }
11858
307k
    if (yych <= '>') {
11859
161k
      if (yych == '-') goto yy1018;
11860
161k
    } else {
11861
146k
      if (yych <= '?') goto yy1020;
11862
19.1k
      if (yych <= '@') goto yy1013;
11863
18.5k
      if (yych <= '[') goto yy1021;
11864
18.5k
    }
11865
232k
yy1013:
11866
232k
    YYDEBUG(1013, *YYCURSOR);
11867
232k
    yyleng = YYCURSOR - SCNG(yy_text);
11868
232k
#line 2363 "Zend/zend_language_scanner.l"
11869
232k
    {
11870
232k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11871
232k
}
11872
0
#line 11873 "Zend/zend_language_scanner.c"
11873
37.4k
yy1014:
11874
37.4k
    YYDEBUG(1014, *YYCURSOR);
11875
37.4k
    ++YYCURSOR;
11876
37.4k
    YYDEBUG(1015, *YYCURSOR);
11877
37.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11878
37.4k
#line 1927 "Zend/zend_language_scanner.l"
11879
37.4k
    {
11880
37.4k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11881
37.4k
  enter_nesting('{');
11882
37.4k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11883
37.4k
}
11884
0
#line 11885 "Zend/zend_language_scanner.c"
11885
4.55k
yy1016:
11886
4.55k
    YYDEBUG(1016, *YYCURSOR);
11887
4.55k
    ++YYCURSOR;
11888
4.55k
    YYDEBUG(1017, *YYCURSOR);
11889
4.55k
    yyleng = YYCURSOR - SCNG(yy_text);
11890
4.55k
#line 2792 "Zend/zend_language_scanner.l"
11891
4.55k
    {
11892
4.55k
  yy_push_state(ST_IN_SCRIPTING);
11893
4.55k
  yyless(1);
11894
4.55k
  enter_nesting('{');
11895
4.55k
  RETURN_TOKEN(T_CURLY_OPEN);
11896
4.55k
}
11897
0
#line 11898 "Zend/zend_language_scanner.c"
11898
26.9k
yy1018:
11899
26.9k
    YYDEBUG(1018, *YYCURSOR);
11900
26.9k
    yych = *++YYCURSOR;
11901
26.9k
    if (yych == '>') goto yy1023;
11902
82.7k
yy1019:
11903
82.7k
    YYDEBUG(1019, *YYCURSOR);
11904
82.7k
    YYCURSOR = YYMARKER;
11905
82.7k
    goto yy1013;
11906
126k
yy1020:
11907
126k
    YYDEBUG(1020, *YYCURSOR);
11908
126k
    yych = *++YYCURSOR;
11909
126k
    if (yych == '-') goto yy1024;
11910
68.4k
    goto yy1019;
11911
68.4k
yy1021:
11912
4.59k
    YYDEBUG(1021, *YYCURSOR);
11913
4.59k
    ++YYCURSOR;
11914
4.59k
    YYDEBUG(1022, *YYCURSOR);
11915
4.59k
    yyleng = YYCURSOR - SCNG(yy_text);
11916
4.59k
#line 2357 "Zend/zend_language_scanner.l"
11917
4.59k
    {
11918
4.59k
  yyless(yyleng - 1);
11919
4.59k
  yy_push_state(ST_VAR_OFFSET);
11920
4.59k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11921
4.59k
}
11922
0
#line 11923 "Zend/zend_language_scanner.c"
11923
21.6k
yy1023:
11924
21.6k
    YYDEBUG(1023, *YYCURSOR);
11925
21.6k
    yych = *++YYCURSOR;
11926
21.6k
    if (yych <= '_') {
11927
14.5k
      if (yych <= '@') goto yy1019;
11928
13.3k
      if (yych <= 'Z') goto yy1025;
11929
838
      if (yych <= '^') goto yy1019;
11930
591
      goto yy1025;
11931
7.16k
    } else {
11932
7.16k
      if (yych <= '`') goto yy1019;
11933
6.97k
      if (yych <= 'z') goto yy1025;
11934
2.20k
      if (yych <= 0x7F) goto yy1019;
11935
575
      goto yy1025;
11936
2.20k
    }
11937
58.3k
yy1024:
11938
58.3k
    YYDEBUG(1024, *YYCURSOR);
11939
58.3k
    yych = *++YYCURSOR;
11940
58.3k
    if (yych == '>') goto yy1027;
11941
2.26k
    goto yy1019;
11942
18.4k
yy1025:
11943
18.4k
    YYDEBUG(1025, *YYCURSOR);
11944
18.4k
    ++YYCURSOR;
11945
18.4k
    YYDEBUG(1026, *YYCURSOR);
11946
18.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11947
18.4k
#line 2343 "Zend/zend_language_scanner.l"
11948
18.4k
    {
11949
18.4k
  yyless(yyleng - 3);
11950
18.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11951
18.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11952
18.4k
}
11953
0
#line 11954 "Zend/zend_language_scanner.c"
11954
56.0k
yy1027:
11955
56.0k
    YYDEBUG(1027, *YYCURSOR);
11956
56.0k
    yych = *++YYCURSOR;
11957
56.0k
    if (yych <= '_') {
11958
3.53k
      if (yych <= '@') goto yy1019;
11959
1.58k
      if (yych <= 'Z') goto yy1028;
11960
1.20k
      if (yych <= '^') goto yy1019;
11961
52.5k
    } else {
11962
52.5k
      if (yych <= '`') goto yy1019;
11963
52.1k
      if (yych <= 'z') goto yy1028;
11964
1.60k
      if (yych <= 0x7F) goto yy1019;
11965
1.60k
    }
11966
52.5k
yy1028:
11967
52.5k
    YYDEBUG(1028, *YYCURSOR);
11968
52.5k
    ++YYCURSOR;
11969
52.5k
    YYDEBUG(1029, *YYCURSOR);
11970
52.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11971
52.5k
#line 2349 "Zend/zend_language_scanner.l"
11972
52.5k
    {
11973
52.5k
  yyless(yyleng - 4);
11974
52.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11975
52.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11976
52.5k
}
11977
52.5k
#line 11978 "Zend/zend_language_scanner.c"
11978
52.5k
  }
11979
/* *********************************** */
11980
4.87M
yyc_ST_HEREDOC:
11981
4.87M
  {
11982
4.87M
    static const unsigned char yybm[] = {
11983
4.87M
        0,   0,   0,   0,   0,   0,   0,   0, 
11984
4.87M
        0,   0,   0,   0,   0,   0,   0,   0, 
11985
4.87M
        0,   0,   0,   0,   0,   0,   0,   0, 
11986
4.87M
        0,   0,   0,   0,   0,   0,   0,   0, 
11987
4.87M
        0,   0,   0,   0,   0,   0,   0,   0, 
11988
4.87M
        0,   0,   0,   0,   0,   0,   0,   0, 
11989
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
11990
4.87M
      128, 128,   0,   0,   0,   0,   0,   0, 
11991
4.87M
        0, 128, 128, 128, 128, 128, 128, 128, 
11992
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
11993
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
11994
4.87M
      128, 128, 128,   0,   0,   0,   0, 128, 
11995
4.87M
        0, 128, 128, 128, 128, 128, 128, 128, 
11996
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
11997
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
11998
4.87M
      128, 128, 128,   0,   0,   0,   0,   0, 
11999
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12000
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12001
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12002
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12003
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12004
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12005
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12006
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12007
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12008
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12009
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12010
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12011
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12012
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12013
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12014
4.87M
      128, 128, 128, 128, 128, 128, 128, 128, 
12015
4.87M
    };
12016
4.87M
    YYDEBUG(1030, *YYCURSOR);
12017
4.87M
    YYFILL(2);
12018
4.87M
    yych = *YYCURSOR;
12019
4.87M
    if (yych == '$') goto yy1034;
12020
1.05M
    if (yych == '{') goto yy1035;
12021
978k
    YYDEBUG(1032, *YYCURSOR);
12022
978k
    ++YYCURSOR;
12023
1.24M
yy1033:
12024
1.24M
    YYDEBUG(1033, *YYCURSOR);
12025
1.24M
    yyleng = YYCURSOR - SCNG(yy_text);
12026
1.24M
#line 2911 "Zend/zend_language_scanner.l"
12027
1.24M
    {
12028
1.24M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12029
1.24M
  int newline = 0, indentation = 0, spacing = 0;
12030
12031
1.24M
  if (YYCURSOR > YYLIMIT) {
12032
20.1k
    RETURN_END_TOKEN;
12033
20.1k
  }
12034
12035
1.22M
  YYCURSOR--;
12036
12037
31.9M
  while (YYCURSOR < YYLIMIT) {
12038
31.9M
    switch (*YYCURSOR++) {
12039
181k
      case '\r':
12040
181k
        if (*YYCURSOR == '\n') {
12041
12.9k
          YYCURSOR++;
12042
12.9k
        }
12043
181k
        ZEND_FALLTHROUGH;
12044
1.71M
      case '\n':
12045
1.71M
        indentation = spacing = 0;
12046
12047
2.26M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12048
547k
          if (*YYCURSOR == '\t') {
12049
19.9k
            spacing |= HEREDOC_USING_TABS;
12050
527k
          } else {
12051
527k
            spacing |= HEREDOC_USING_SPACES;
12052
527k
          }
12053
547k
          ++YYCURSOR;
12054
547k
          ++indentation;
12055
547k
        }
12056
12057
1.71M
        if (YYCURSOR == YYLIMIT) {
12058
1.55k
          yyleng = YYCURSOR - SCNG(yy_text);
12059
1.55k
          HANDLE_NEWLINES(yytext, yyleng);
12060
1.55k
          ZVAL_NULL(zendlval);
12061
1.55k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12062
1.55k
        }
12063
12064
        /* Check for ending label on the next line */
12065
1.71M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12066
22.3k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12067
9.39k
            continue;
12068
9.39k
          }
12069
12070
12.9k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12071
83
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12072
83
            if (PARSER_MODE()) {
12073
12
              RETURN_TOKEN(T_ERROR);
12074
12
            }
12075
83
          }
12076
12077
          /* newline before label will be subtracted from returned text, but
12078
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12079
12.9k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12080
250
            newline = 2; /* Windows newline */
12081
12.6k
          } else {
12082
12.6k
            newline = 1;
12083
12.6k
          }
12084
12085
12.9k
          CG(increment_lineno) = 1; /* For newline before label */
12086
12087
12.9k
          if (SCNG(heredoc_scan_ahead)) {
12088
8.13k
            SCNG(heredoc_indentation) = indentation;
12089
8.13k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12090
8.13k
          } else {
12091
4.81k
            YYCURSOR -= indentation;
12092
4.81k
          }
12093
12094
12.9k
          BEGIN(ST_END_HEREDOC);
12095
12096
12.9k
          goto heredoc_scan_done;
12097
12.9k
        }
12098
1.69M
        continue;
12099
1.69M
      case '$':
12100
1.61M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12101
1.16M
          break;
12102
1.16M
        }
12103
441k
        continue;
12104
441k
      case '{':
12105
365k
        if (*YYCURSOR == '$') {
12106
22.2k
          break;
12107
22.2k
        }
12108
342k
        continue;
12109
342k
      case '\\':
12110
118k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12111
115k
          YYCURSOR++;
12112
115k
        }
12113
118k
        ZEND_FALLTHROUGH;
12114
28.2M
      default:
12115
28.2M
        continue;
12116
31.9M
    }
12117
12118
1.19M
    YYCURSOR--;
12119
1.19M
    break;
12120
31.9M
  }
12121
12122
1.21M
heredoc_scan_done:
12123
12124
1.21M
  yyleng = YYCURSOR - SCNG(yy_text);
12125
1.21M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12126
12127
1.21M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12128
114k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12129
114k
    zend_string *copy = Z_STR_P(zendlval);
12130
12131
114k
    if (!strip_multiline_string_indentation(
12132
114k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12133
114k
        newline_at_start, newline != 0)) {
12134
49
      RETURN_TOKEN(T_ERROR);
12135
49
    }
12136
12137
114k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12138
2
      zend_string_efree(copy);
12139
2
      RETURN_TOKEN(T_ERROR);
12140
2
    }
12141
12142
114k
    zend_string_efree(copy);
12143
1.10M
  } else {
12144
1.10M
    HANDLE_NEWLINES(yytext, yyleng - newline);
12145
1.10M
  }
12146
12147
1.21M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12148
1.21M
}
12149
0
#line 12150 "Zend/zend_language_scanner.c"
12150
3.81M
yy1034:
12151
3.81M
    YYDEBUG(1034, *YYCURSOR);
12152
3.81M
    yych = *++YYCURSOR;
12153
3.81M
    if (yych <= '_') {
12154
243k
      if (yych <= '@') goto yy1033;
12155
29.0k
      if (yych <= 'Z') goto yy1036;
12156
13.1k
      if (yych <= '^') goto yy1033;
12157
3.75k
      goto yy1036;
12158
3.57M
    } else {
12159
3.57M
      if (yych <= 'z') {
12160
504k
        if (yych <= '`') goto yy1033;
12161
504k
        goto yy1036;
12162
3.06M
      } else {
12163
3.06M
        if (yych <= '{') goto yy1039;
12164
131k
        if (yych <= 0x7F) goto yy1033;
12165
126k
        goto yy1036;
12166
131k
      }
12167
3.57M
    }
12168
78.2k
yy1035:
12169
78.2k
    YYDEBUG(1035, *YYCURSOR);
12170
78.2k
    yych = *++YYCURSOR;
12171
78.2k
    if (yych == '$') goto yy1041;
12172
33.6k
    goto yy1033;
12173
2.26M
yy1036:
12174
2.26M
    YYDEBUG(1036, *YYCURSOR);
12175
2.26M
    YYMARKER = ++YYCURSOR;
12176
2.26M
    YYFILL(4);
12177
2.26M
    yych = *YYCURSOR;
12178
2.26M
    YYDEBUG(1037, *YYCURSOR);
12179
2.26M
    if (yybm[0+yych] & 128) {
12180
1.61M
      goto yy1036;
12181
1.61M
    }
12182
650k
    if (yych <= '>') {
12183
463k
      if (yych == '-') goto yy1043;
12184
463k
    } else {
12185
186k
      if (yych <= '?') goto yy1045;
12186
48.1k
      if (yych <= '@') goto yy1038;
12187
46.8k
      if (yych <= '[') goto yy1046;
12188
46.8k
    }
12189
554k
yy1038:
12190
554k
    YYDEBUG(1038, *YYCURSOR);
12191
554k
    yyleng = YYCURSOR - SCNG(yy_text);
12192
554k
#line 2363 "Zend/zend_language_scanner.l"
12193
554k
    {
12194
554k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12195
554k
}
12196
0
#line 12197 "Zend/zend_language_scanner.c"
12197
2.93M
yy1039:
12198
2.93M
    YYDEBUG(1039, *YYCURSOR);
12199
2.93M
    ++YYCURSOR;
12200
2.93M
    YYDEBUG(1040, *YYCURSOR);
12201
2.93M
    yyleng = YYCURSOR - SCNG(yy_text);
12202
2.93M
#line 1927 "Zend/zend_language_scanner.l"
12203
2.93M
    {
12204
2.93M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12205
2.93M
  enter_nesting('{');
12206
2.93M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12207
2.93M
}
12208
0
#line 12209 "Zend/zend_language_scanner.c"
12209
44.5k
yy1041:
12210
44.5k
    YYDEBUG(1041, *YYCURSOR);
12211
44.5k
    ++YYCURSOR;
12212
44.5k
    YYDEBUG(1042, *YYCURSOR);
12213
44.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12214
44.5k
#line 2792 "Zend/zend_language_scanner.l"
12215
44.5k
    {
12216
44.5k
  yy_push_state(ST_IN_SCRIPTING);
12217
44.5k
  yyless(1);
12218
44.5k
  enter_nesting('{');
12219
44.5k
  RETURN_TOKEN(T_CURLY_OPEN);
12220
44.5k
}
12221
0
#line 12222 "Zend/zend_language_scanner.c"
12222
24.0k
yy1043:
12223
24.0k
    YYDEBUG(1043, *YYCURSOR);
12224
24.0k
    yych = *++YYCURSOR;
12225
24.0k
    if (yych == '>') goto yy1048;
12226
92.3k
yy1044:
12227
92.3k
    YYDEBUG(1044, *YYCURSOR);
12228
92.3k
    YYCURSOR = YYMARKER;
12229
92.3k
    goto yy1038;
12230
138k
yy1045:
12231
138k
    YYDEBUG(1045, *YYCURSOR);
12232
138k
    yych = *++YYCURSOR;
12233
138k
    if (yych == '-') goto yy1049;
12234
72.2k
    goto yy1044;
12235
72.2k
yy1046:
12236
25.3k
    YYDEBUG(1046, *YYCURSOR);
12237
25.3k
    ++YYCURSOR;
12238
25.3k
    YYDEBUG(1047, *YYCURSOR);
12239
25.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12240
25.3k
#line 2357 "Zend/zend_language_scanner.l"
12241
25.3k
    {
12242
25.3k
  yyless(yyleng - 1);
12243
25.3k
  yy_push_state(ST_VAR_OFFSET);
12244
25.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12245
25.3k
}
12246
0
#line 12247 "Zend/zend_language_scanner.c"
12247
18.3k
yy1048:
12248
18.3k
    YYDEBUG(1048, *YYCURSOR);
12249
18.3k
    yych = *++YYCURSOR;
12250
18.3k
    if (yych <= '_') {
12251
5.47k
      if (yych <= '@') goto yy1044;
12252
3.99k
      if (yych <= 'Z') goto yy1050;
12253
969
      if (yych <= '^') goto yy1044;
12254
551
      goto yy1050;
12255
12.9k
    } else {
12256
12.9k
      if (yych <= '`') goto yy1044;
12257
12.6k
      if (yych <= 'z') goto yy1050;
12258
2.07k
      if (yych <= 0x7F) goto yy1044;
12259
483
      goto yy1050;
12260
2.07k
    }
12261
65.9k
yy1049:
12262
65.9k
    YYDEBUG(1049, *YYCURSOR);
12263
65.9k
    yych = *++YYCURSOR;
12264
65.9k
    if (yych == '>') goto yy1052;
12265
2.81k
    goto yy1044;
12266
14.6k
yy1050:
12267
14.6k
    YYDEBUG(1050, *YYCURSOR);
12268
14.6k
    ++YYCURSOR;
12269
14.6k
    YYDEBUG(1051, *YYCURSOR);
12270
14.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12271
14.6k
#line 2343 "Zend/zend_language_scanner.l"
12272
14.6k
    {
12273
14.6k
  yyless(yyleng - 3);
12274
14.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12275
14.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12276
14.6k
}
12277
0
#line 12278 "Zend/zend_language_scanner.c"
12278
63.1k
yy1052:
12279
63.1k
    YYDEBUG(1052, *YYCURSOR);
12280
63.1k
    yych = *++YYCURSOR;
12281
63.1k
    if (yych <= '_') {
12282
7.81k
      if (yych <= '@') goto yy1044;
12283
852
      if (yych <= 'Z') goto yy1053;
12284
487
      if (yych <= '^') goto yy1044;
12285
55.3k
    } else {
12286
55.3k
      if (yych <= '`') goto yy1044;
12287
54.9k
      if (yych <= 'z') goto yy1053;
12288
1.09k
      if (yych <= 0x7F) goto yy1044;
12289
1.09k
    }
12290
55.2k
yy1053:
12291
55.2k
    YYDEBUG(1053, *YYCURSOR);
12292
55.2k
    ++YYCURSOR;
12293
55.2k
    YYDEBUG(1054, *YYCURSOR);
12294
55.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12295
55.2k
#line 2349 "Zend/zend_language_scanner.l"
12296
55.2k
    {
12297
55.2k
  yyless(yyleng - 4);
12298
55.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12299
55.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12300
55.2k
}
12301
55.2k
#line 12302 "Zend/zend_language_scanner.c"
12302
55.2k
  }
12303
/* *********************************** */
12304
2.98M
yyc_ST_LOOKING_FOR_VARNAME:
12305
2.98M
  {
12306
2.98M
    static const unsigned char yybm[] = {
12307
2.98M
        0,   0,   0,   0,   0,   0,   0,   0, 
12308
2.98M
        0,   0,   0,   0,   0,   0,   0,   0, 
12309
2.98M
        0,   0,   0,   0,   0,   0,   0,   0, 
12310
2.98M
        0,   0,   0,   0,   0,   0,   0,   0, 
12311
2.98M
        0,   0,   0,   0,   0,   0,   0,   0, 
12312
2.98M
        0,   0,   0,   0,   0,   0,   0,   0, 
12313
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12314
2.98M
      128, 128,   0,   0,   0,   0,   0,   0, 
12315
2.98M
        0, 128, 128, 128, 128, 128, 128, 128, 
12316
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12317
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12318
2.98M
      128, 128, 128,   0,   0,   0,   0, 128, 
12319
2.98M
        0, 128, 128, 128, 128, 128, 128, 128, 
12320
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12321
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12322
2.98M
      128, 128, 128,   0,   0,   0,   0,   0, 
12323
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12324
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12325
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12326
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12327
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12328
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12329
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12330
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12331
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12332
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12333
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12334
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12335
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12336
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12337
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12338
2.98M
      128, 128, 128, 128, 128, 128, 128, 128, 
12339
2.98M
    };
12340
2.98M
    YYDEBUG(1055, *YYCURSOR);
12341
2.98M
    YYFILL(2);
12342
2.98M
    yych = *YYCURSOR;
12343
2.98M
    if (yych <= '_') {
12344
2.89M
      if (yych <= '@') goto yy1057;
12345
17.6k
      if (yych <= 'Z') goto yy1059;
12346
6.75k
      if (yych >= '_') goto yy1059;
12347
93.8k
    } else {
12348
93.8k
      if (yych <= '`') goto yy1057;
12349
91.3k
      if (yych <= 'z') goto yy1059;
12350
31.0k
      if (yych >= 0x80) goto yy1059;
12351
31.0k
    }
12352
2.88M
yy1057:
12353
2.88M
    YYDEBUG(1057, *YYCURSOR);
12354
2.88M
    ++YYCURSOR;
12355
2.98M
yy1058:
12356
2.98M
    YYDEBUG(1058, *YYCURSOR);
12357
2.98M
    yyleng = YYCURSOR - SCNG(yy_text);
12358
2.98M
#line 1950 "Zend/zend_language_scanner.l"
12359
2.98M
    {
12360
2.98M
  yyless(0);
12361
2.98M
  yy_pop_state();
12362
2.98M
  yy_push_state(ST_IN_SCRIPTING);
12363
2.98M
  goto restart;
12364
2.88M
}
12365
0
#line 12366 "Zend/zend_language_scanner.c"
12366
100k
yy1059:
12367
100k
    YYDEBUG(1059, *YYCURSOR);
12368
100k
    yych = *(YYMARKER = ++YYCURSOR);
12369
100k
    if (yych <= '_') {
12370
44.3k
      if (yych <= '@') {
12371
26.9k
        if (yych <= '/') goto yy1058;
12372
14.2k
        if (yych <= '9') goto yy1061;
12373
13.5k
        goto yy1058;
12374
17.3k
      } else {
12375
17.3k
        if (yych <= '[') goto yy1061;
12376
4.08k
        if (yych <= '^') goto yy1058;
12377
3.44k
        goto yy1061;
12378
4.08k
      }
12379
56.6k
    } else {
12380
56.6k
      if (yych <= '|') {
12381
42.2k
        if (yych <= '`') goto yy1058;
12382
41.9k
        if (yych <= 'z') goto yy1061;
12383
552
        goto yy1058;
12384
41.9k
      } else {
12385
14.3k
        if (yych <= '}') goto yy1061;
12386
11.1k
        if (yych <= 0x7F) goto yy1058;
12387
10.7k
        goto yy1061;
12388
11.1k
      }
12389
56.6k
    }
12390
378k
yy1060:
12391
378k
    YYDEBUG(1060, *YYCURSOR);
12392
378k
    ++YYCURSOR;
12393
378k
    YYFILL(1);
12394
378k
    yych = *YYCURSOR;
12395
451k
yy1061:
12396
451k
    YYDEBUG(1061, *YYCURSOR);
12397
451k
    if (yybm[0+yych] & 128) {
12398
378k
      goto yy1060;
12399
378k
    }
12400
72.9k
    if (yych <= '@') goto yy1062;
12401
15.4k
    if (yych <= '[') goto yy1063;
12402
10.1k
    if (yych == '}') goto yy1063;
12403
64.1k
yy1062:
12404
64.1k
    YYDEBUG(1062, *YYCURSOR);
12405
64.1k
    YYCURSOR = YYMARKER;
12406
64.1k
    goto yy1058;
12407
8.77k
yy1063:
12408
8.77k
    YYDEBUG(1063, *YYCURSOR);
12409
8.77k
    ++YYCURSOR;
12410
8.77k
    YYDEBUG(1064, *YYCURSOR);
12411
8.77k
    yyleng = YYCURSOR - SCNG(yy_text);
12412
8.77k
#line 1942 "Zend/zend_language_scanner.l"
12413
8.77k
    {
12414
8.77k
  yyless(yyleng - 1);
12415
8.77k
  yy_pop_state();
12416
8.77k
  yy_push_state(ST_IN_SCRIPTING);
12417
8.77k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12418
8.77k
}
12419
8.77k
#line 12420 "Zend/zend_language_scanner.c"
12420
8.77k
  }
12421
/* *********************************** */
12422
296k
yyc_ST_VAR_OFFSET:
12423
296k
  {
12424
296k
    static const unsigned char yybm[] = {
12425
296k
        0,   0,   0,   0,   0,   0,   0,   0, 
12426
296k
        0,   0,   0,   0,   0,   0,   0,   0, 
12427
296k
        0,   0,   0,   0,   0,   0,   0,   0, 
12428
296k
        0,   0,   0,   0,   0,   0,   0,   0, 
12429
296k
        0,   0,   0,   0,   0,   0,   0,   0, 
12430
296k
        0,   0,   0,   0,   0,   0,   0,   0, 
12431
296k
      248, 248, 216, 216, 216, 216, 216, 216, 
12432
296k
      152, 152,   0,   0,   0,   0,   0,   0, 
12433
296k
        0, 144, 144, 144, 144, 144, 144,  16, 
12434
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12435
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12436
296k
       16,  16,  16,   0,   0,   0,   0,  16, 
12437
296k
        0, 144, 144, 144, 144, 144, 144,  16, 
12438
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12439
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12440
296k
       16,  16,  16,   0,   0,   0,   0,   0, 
12441
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12442
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12443
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12444
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12445
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12446
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12447
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12448
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12449
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12450
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12451
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12452
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12453
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12454
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12455
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12456
296k
       16,  16,  16,  16,  16,  16,  16,  16, 
12457
296k
    };
12458
296k
    YYDEBUG(1065, *YYCURSOR);
12459
296k
    YYFILL(2);
12460
296k
    yych = *YYCURSOR;
12461
296k
    if (yych <= '0') {
12462
157k
      if (yych <= ' ') {
12463
78.3k
        if (yych <= '\f') {
12464
69.2k
          if (yych <= 0x08) goto yy1067;
12465
4.49k
          if (yych <= '\n') goto yy1069;
12466
9.02k
        } else {
12467
9.02k
          if (yych <= '\r') goto yy1069;
12468
8.59k
          if (yych >= ' ') goto yy1069;
12469
8.59k
        }
12470
78.8k
      } else {
12471
78.8k
        if (yych <= '$') {
12472
40.5k
          if (yych <= '"') goto yy1071;
12473
32.6k
          if (yych <= '#') goto yy1069;
12474
32.2k
          goto yy1073;
12475
38.2k
        } else {
12476
38.2k
          if (yych == '\'') goto yy1069;
12477
36.0k
          if (yych <= '/') goto yy1071;
12478
17.1k
          goto yy1074;
12479
36.0k
        }
12480
78.8k
      }
12481
157k
    } else {
12482
139k
      if (yych <= ']') {
12483
103k
        if (yych <= 'Z') {
12484
40.9k
          if (yych <= '9') goto yy1076;
12485
28.7k
          if (yych <= '@') goto yy1071;
12486
7.29k
          goto yy1078;
12487
62.2k
        } else {
12488
62.2k
          if (yych <= '[') goto yy1071;
12489
22.0k
          if (yych <= '\\') goto yy1069;
12490
21.2k
          goto yy1081;
12491
22.0k
        }
12492
103k
      } else {
12493
36.1k
        if (yych <= '`') {
12494
5.23k
          if (yych == '_') goto yy1078;
12495
2.65k
          goto yy1071;
12496
30.8k
        } else {
12497
30.8k
          if (yych <= 'z') goto yy1078;
12498
16.0k
          if (yych <= '~') goto yy1071;
12499
12.3k
          if (yych >= 0x80) goto yy1078;
12500
12.3k
        }
12501
36.1k
      }
12502
139k
    }
12503
73.3k
yy1067:
12504
73.3k
    YYDEBUG(1067, *YYCURSOR);
12505
73.3k
    ++YYCURSOR;
12506
73.3k
    YYDEBUG(1068, *YYCURSOR);
12507
73.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12508
73.3k
#line 3126 "Zend/zend_language_scanner.l"
12509
73.3k
    {
12510
73.3k
  if (YYCURSOR > YYLIMIT) {
12511
2.60k
    RETURN_END_TOKEN;
12512
2.60k
  }
12513
12514
70.7k
  RETURN_TOKEN(T_BAD_CHARACTER);
12515
70.7k
}
12516
0
#line 12517 "Zend/zend_language_scanner.c"
12517
9.22k
yy1069:
12518
9.22k
    YYDEBUG(1069, *YYCURSOR);
12519
9.22k
    ++YYCURSOR;
12520
9.22k
    YYDEBUG(1070, *YYCURSOR);
12521
9.22k
    yyleng = YYCURSOR - SCNG(yy_text);
12522
9.22k
#line 2377 "Zend/zend_language_scanner.l"
12523
9.22k
    {
12524
  /* Invalid rule to return a more explicit parse error with proper line number */
12525
9.22k
  yyless(0);
12526
9.22k
  yy_pop_state();
12527
9.22k
  ZVAL_NULL(zendlval);
12528
9.22k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12529
9.22k
}
12530
0
#line 12531 "Zend/zend_language_scanner.c"
12531
94.8k
yy1071:
12532
94.8k
    YYDEBUG(1071, *YYCURSOR);
12533
94.8k
    ++YYCURSOR;
12534
111k
yy1072:
12535
111k
    YYDEBUG(1072, *YYCURSOR);
12536
111k
    yyleng = YYCURSOR - SCNG(yy_text);
12537
111k
#line 2372 "Zend/zend_language_scanner.l"
12538
111k
    {
12539
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12540
111k
  RETURN_TOKEN(yytext[0]);
12541
111k
}
12542
0
#line 12543 "Zend/zend_language_scanner.c"
12543
32.2k
yy1073:
12544
32.2k
    YYDEBUG(1073, *YYCURSOR);
12545
32.2k
    yych = *++YYCURSOR;
12546
32.2k
    if (yych <= '_') {
12547
18.1k
      if (yych <= '@') goto yy1072;
12548
3.76k
      if (yych <= 'Z') goto yy1083;
12549
1.02k
      if (yych <= '^') goto yy1072;
12550
440
      goto yy1083;
12551
14.0k
    } else {
12552
14.0k
      if (yych <= '`') goto yy1072;
12553
13.8k
      if (yych <= 'z') goto yy1083;
12554
3.82k
      if (yych <= 0x7F) goto yy1072;
12555
2.45k
      goto yy1083;
12556
3.82k
    }
12557
17.1k
yy1074:
12558
17.1k
    YYDEBUG(1074, *YYCURSOR);
12559
17.1k
    yyaccept = 0;
12560
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
12561
17.1k
    if (yych <= 'X') {
12562
7.84k
      if (yych <= 'B') {
12563
5.71k
        if (yych <= '/') goto yy1075;
12564
5.12k
        if (yych <= '9') goto yy1086;
12565
1.82k
        if (yych >= 'B') goto yy1089;
12566
2.13k
      } else {
12567
2.13k
        if (yych == 'O') goto yy1091;
12568
1.73k
        if (yych >= 'X') goto yy1092;
12569
1.73k
      }
12570
9.33k
    } else {
12571
9.33k
      if (yych <= 'b') {
12572
7.35k
        if (yych == '_') goto yy1093;
12573
6.15k
        if (yych >= 'b') goto yy1089;
12574
6.15k
      } else {
12575
1.97k
        if (yych <= 'o') {
12576
997
          if (yych >= 'o') goto yy1091;
12577
997
        } else {
12578
981
          if (yych == 'x') goto yy1092;
12579
981
        }
12580
1.97k
      }
12581
9.33k
    }
12582
23.7k
yy1075:
12583
23.7k
    YYDEBUG(1075, *YYCURSOR);
12584
23.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12585
23.7k
#line 2154 "Zend/zend_language_scanner.l"
12586
23.7k
    { /* Offset could be treated as a long */
12587
23.7k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12588
22.4k
    char *end;
12589
22.4k
    errno = 0;
12590
22.4k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12591
22.4k
    if (errno == ERANGE) {
12592
0
      goto string;
12593
0
    }
12594
22.4k
    ZEND_ASSERT(end == yytext + yyleng);
12595
22.4k
  } else {
12596
1.26k
string:
12597
1.26k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12598
1.26k
  }
12599
23.7k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12600
23.7k
}
12601
0
#line 12602 "Zend/zend_language_scanner.c"
12602
74.5k
yy1076:
12603
74.5k
    YYDEBUG(1076, *YYCURSOR);
12604
74.5k
    yyaccept = 0;
12605
74.5k
    YYMARKER = ++YYCURSOR;
12606
74.5k
    YYFILL(1);
12607
74.5k
    yych = *YYCURSOR;
12608
74.5k
    YYDEBUG(1077, *YYCURSOR);
12609
74.5k
    if (yybm[0+yych] & 8) {
12610
62.3k
      goto yy1076;
12611
62.3k
    }
12612
12.1k
    if (yych == '_') goto yy1093;
12613
11.7k
    goto yy1075;
12614
149k
yy1078:
12615
149k
    YYDEBUG(1078, *YYCURSOR);
12616
149k
    ++YYCURSOR;
12617
149k
    YYFILL(1);
12618
149k
    yych = *YYCURSOR;
12619
149k
    YYDEBUG(1079, *YYCURSOR);
12620
149k
    if (yybm[0+yych] & 16) {
12621
113k
      goto yy1078;
12622
113k
    }
12623
36.1k
    YYDEBUG(1080, *YYCURSOR);
12624
36.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12625
36.1k
#line 2401 "Zend/zend_language_scanner.l"
12626
36.1k
    {
12627
36.1k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12628
36.1k
}
12629
0
#line 12630 "Zend/zend_language_scanner.c"
12630
21.2k
yy1081:
12631
21.2k
    YYDEBUG(1081, *YYCURSOR);
12632
21.2k
    ++YYCURSOR;
12633
21.2k
    YYDEBUG(1082, *YYCURSOR);
12634
21.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12635
21.2k
#line 2367 "Zend/zend_language_scanner.l"
12636
21.2k
    {
12637
21.2k
  yy_pop_state();
12638
21.2k
  RETURN_TOKEN(']');
12639
21.2k
}
12640
0
#line 12641 "Zend/zend_language_scanner.c"
12641
51.3k
yy1083:
12642
51.3k
    YYDEBUG(1083, *YYCURSOR);
12643
51.3k
    ++YYCURSOR;
12644
51.3k
    YYFILL(1);
12645
51.3k
    yych = *YYCURSOR;
12646
51.3k
    YYDEBUG(1084, *YYCURSOR);
12647
51.3k
    if (yych <= '^') {
12648
20.6k
      if (yych <= '9') {
12649
7.87k
        if (yych >= '0') goto yy1083;
12650
12.7k
      } else {
12651
12.7k
        if (yych <= '@') goto yy1085;
12652
10.8k
        if (yych <= 'Z') goto yy1083;
12653
10.8k
      }
12654
30.6k
    } else {
12655
30.6k
      if (yych <= '`') {
12656
1.59k
        if (yych <= '_') goto yy1083;
12657
29.0k
      } else {
12658
29.0k
        if (yych <= 'z') goto yy1083;
12659
9.12k
        if (yych >= 0x80) goto yy1083;
12660
9.12k
      }
12661
30.6k
    }
12662
15.6k
yy1085:
12663
15.6k
    YYDEBUG(1085, *YYCURSOR);
12664
15.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12665
15.6k
#line 2363 "Zend/zend_language_scanner.l"
12666
15.6k
    {
12667
15.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12668
15.6k
}
12669
0
#line 12670 "Zend/zend_language_scanner.c"
12670
16.5k
yy1086:
12671
16.5k
    YYDEBUG(1086, *YYCURSOR);
12672
16.5k
    yyaccept = 1;
12673
16.5k
    YYMARKER = ++YYCURSOR;
12674
16.5k
    YYFILL(1);
12675
16.5k
    yych = *YYCURSOR;
12676
16.5k
    YYDEBUG(1087, *YYCURSOR);
12677
16.5k
    if (yych <= '/') goto yy1088;
12678
14.4k
    if (yych <= '9') goto yy1086;
12679
2.01k
    if (yych == '_') goto yy1093;
12680
5.63k
yy1088:
12681
5.63k
    YYDEBUG(1088, *YYCURSOR);
12682
5.63k
    yyleng = YYCURSOR - SCNG(yy_text);
12683
5.63k
#line 2170 "Zend/zend_language_scanner.l"
12684
5.63k
    { /* Offset must be treated as a string */
12685
5.63k
  if (yyleng == 1) {
12686
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12687
5.63k
  } else {
12688
5.63k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12689
5.63k
  }
12690
5.63k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12691
5.63k
}
12692
0
#line 12693 "Zend/zend_language_scanner.c"
12693
1.44k
yy1089:
12694
1.44k
    YYDEBUG(1089, *YYCURSOR);
12695
1.44k
    ++YYCURSOR;
12696
1.44k
    YYFILL(1);
12697
1.44k
    yych = *YYCURSOR;
12698
1.44k
    if (yybm[0+yych] & 32) {
12699
653
      goto yy1094;
12700
653
    }
12701
3.98k
yy1090:
12702
3.98k
    YYDEBUG(1090, *YYCURSOR);
12703
3.98k
    YYCURSOR = YYMARKER;
12704
3.98k
    if (yyaccept == 0) {
12705
3.04k
      goto yy1075;
12706
3.04k
    } else {
12707
943
      goto yy1088;
12708
943
    }
12709
1.44k
yy1091:
12710
1.44k
    YYDEBUG(1091, *YYCURSOR);
12711
1.44k
    ++YYCURSOR;
12712
1.44k
    YYFILL(1);
12713
1.44k
    yych = *YYCURSOR;
12714
1.44k
    if (yybm[0+yych] & 64) {
12715
737
      goto yy1096;
12716
737
    }
12717
704
    goto yy1090;
12718
1.78k
yy1092:
12719
1.78k
    YYDEBUG(1092, *YYCURSOR);
12720
1.78k
    ++YYCURSOR;
12721
1.78k
    YYFILL(1);
12722
1.78k
    yych = *YYCURSOR;
12723
1.78k
    if (yybm[0+yych] & 128) {
12724
526
      goto yy1098;
12725
526
    }
12726
1.25k
    goto yy1090;
12727
2.06k
yy1093:
12728
2.06k
    YYDEBUG(1093, *YYCURSOR);
12729
2.06k
    ++YYCURSOR;
12730
2.06k
    YYFILL(1);
12731
2.06k
    yych = *YYCURSOR;
12732
2.06k
    if (yych <= '/') goto yy1090;
12733
1.50k
    if (yych <= '9') goto yy1086;
12734
675
    goto yy1090;
12735
1.02k
yy1094:
12736
1.02k
    YYDEBUG(1094, *YYCURSOR);
12737
1.02k
    yyaccept = 1;
12738
1.02k
    YYMARKER = ++YYCURSOR;
12739
1.02k
    YYFILL(1);
12740
1.02k
    yych = *YYCURSOR;
12741
1.02k
    YYDEBUG(1095, *YYCURSOR);
12742
1.02k
    if (yybm[0+yych] & 32) {
12743
368
      goto yy1094;
12744
368
    }
12745
653
    if (yych == '_') goto yy1089;
12746
290
    goto yy1088;
12747
1.20k
yy1096:
12748
1.20k
    YYDEBUG(1096, *YYCURSOR);
12749
1.20k
    yyaccept = 1;
12750
1.20k
    YYMARKER = ++YYCURSOR;
12751
1.20k
    YYFILL(1);
12752
1.20k
    yych = *YYCURSOR;
12753
1.20k
    YYDEBUG(1097, *YYCURSOR);
12754
1.20k
    if (yybm[0+yych] & 64) {
12755
472
      goto yy1096;
12756
472
    }
12757
737
    if (yych == '_') goto yy1091;
12758
377
    goto yy1088;
12759
806
yy1098:
12760
806
    YYDEBUG(1098, *YYCURSOR);
12761
806
    yyaccept = 1;
12762
806
    YYMARKER = ++YYCURSOR;
12763
806
    YYFILL(1);
12764
806
    yych = *YYCURSOR;
12765
806
    YYDEBUG(1099, *YYCURSOR);
12766
806
    if (yybm[0+yych] & 128) {
12767
280
      goto yy1098;
12768
280
    }
12769
526
    if (yych == '_') goto yy1092;
12770
316
    goto yy1088;
12771
526
  }
12772
/* *********************************** */
12773
316
yyc_SHEBANG:
12774
0
  {
12775
0
    static const unsigned char yybm[] = {
12776
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12777
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12778
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12779
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12780
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12781
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12782
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12783
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12784
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12785
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12786
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12787
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12788
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12789
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12790
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12791
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12792
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12793
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12794
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12795
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12796
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12797
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12798
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12799
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12800
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12801
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12802
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12803
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12804
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12805
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12806
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12807
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12808
0
    };
12809
0
    YYDEBUG(1100, *YYCURSOR);
12810
0
    YYFILL(2);
12811
0
    yych = *YYCURSOR;
12812
0
    if (yych == '#') goto yy1104;
12813
0
    YYDEBUG(1102, *YYCURSOR);
12814
0
    ++YYCURSOR;
12815
0
yy1103:
12816
0
    YYDEBUG(1103, *YYCURSOR);
12817
0
    yyleng = YYCURSOR - SCNG(yy_text);
12818
0
#line 2241 "Zend/zend_language_scanner.l"
12819
0
    {
12820
0
  yyless(0);
12821
0
  BEGIN(INITIAL);
12822
0
  goto restart;
12823
0
}
12824
0
#line 12825 "Zend/zend_language_scanner.c"
12825
0
yy1104:
12826
0
    YYDEBUG(1104, *YYCURSOR);
12827
0
    yych = *++YYCURSOR;
12828
0
    if (yych != '!') goto yy1103;
12829
0
yy1105:
12830
0
    YYDEBUG(1105, *YYCURSOR);
12831
0
    ++YYCURSOR;
12832
0
    YYFILL(1);
12833
0
    yych = *YYCURSOR;
12834
0
    YYDEBUG(1106, *YYCURSOR);
12835
0
    if (yybm[0+yych] & 128) {
12836
0
      goto yy1105;
12837
0
    }
12838
0
    YYDEBUG(1107, *YYCURSOR);
12839
0
    ++YYCURSOR;
12840
0
    YYDEBUG(1108, *YYCURSOR);
12841
0
    yyleng = YYCURSOR - SCNG(yy_text);
12842
0
#line 2235 "Zend/zend_language_scanner.l"
12843
0
    {
12844
0
  CG(zend_lineno)++;
12845
0
  BEGIN(INITIAL);
12846
0
  goto restart;
12847
0
}
12848
0
#line 12849 "Zend/zend_language_scanner.c"
12849
0
  }
12850
/* *********************************** */
12851
473k
yyc_INITIAL:
12852
473k
  YYDEBUG(1109, *YYCURSOR);
12853
473k
  YYFILL(7);
12854
473k
  yych = *YYCURSOR;
12855
473k
  if (yych == '<') goto yy1113;
12856
216k
  YYDEBUG(1111, *YYCURSOR);
12857
216k
  ++YYCURSOR;
12858
226k
yy1112:
12859
226k
  YYDEBUG(1112, *YYCURSOR);
12860
226k
  yyleng = YYCURSOR - SCNG(yy_text);
12861
226k
#line 2287 "Zend/zend_language_scanner.l"
12862
226k
  {
12863
226k
  if (YYCURSOR > YYLIMIT) {
12864
65.2k
    RETURN_END_TOKEN;
12865
65.2k
  }
12866
12867
161k
inline_char_handler:
12868
12869
376k
  while (1) {
12870
376k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
12871
12872
376k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
12873
12874
376k
    if (YYCURSOR >= YYLIMIT) {
12875
30.9k
      break;
12876
30.9k
    }
12877
12878
345k
    if (*YYCURSOR == '?') {
12879
130k
      if (CG(short_tags) /* <? */
12880
130k
        || (*(YYCURSOR + 1) == '=') /* <?= */
12881
130k
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
12882
0
          (YYCURSOR + 4 == YYLIMIT ||
12883
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
12884
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
12885
130k
      ) {
12886
130k
        YYCURSOR--;
12887
130k
        break;
12888
130k
      }
12889
130k
    }
12890
345k
  }
12891
12892
161k
  yyleng = YYCURSOR - SCNG(yy_text);
12893
12894
161k
  if (SCNG(output_filter)) {
12895
0
    size_t readsize;
12896
0
    char *s = NULL;
12897
0
    size_t sz = 0;
12898
    // TODO: avoid reallocation ???
12899
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
12900
0
    ZVAL_STRINGL(zendlval, s, sz);
12901
0
    efree(s);
12902
0
    if (readsize < yyleng) {
12903
0
      yyless(readsize);
12904
0
    }
12905
161k
  } else if (yyleng == 1) {
12906
14.5k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
12907
146k
  } else {
12908
146k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12909
146k
  }
12910
161k
  HANDLE_NEWLINES(yytext, yyleng);
12911
161k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
12912
161k
}
12913
0
#line 12914 "Zend/zend_language_scanner.c"
12914
256k
yy1113:
12915
256k
  YYDEBUG(1113, *YYCURSOR);
12916
256k
  yych = *++YYCURSOR;
12917
256k
  if (yych != '?') goto yy1112;
12918
246k
  YYDEBUG(1114, *YYCURSOR);
12919
246k
  yych = *(YYMARKER = ++YYCURSOR);
12920
246k
  if (yych <= 'O') {
12921
66.0k
    if (yych == '=') goto yy1116;
12922
180k
  } else {
12923
180k
    if (yych <= 'P') goto yy1118;
12924
180k
    if (yych == 'p') goto yy1118;
12925
180k
  }
12926
132k
yy1115:
12927
132k
  YYDEBUG(1115, *YYCURSOR);
12928
132k
  yyleng = YYCURSOR - SCNG(yy_text);
12929
132k
#line 2278 "Zend/zend_language_scanner.l"
12930
132k
  {
12931
132k
  if (CG(short_tags)) {
12932
132k
    BEGIN(ST_IN_SCRIPTING);
12933
132k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12934
132k
  } else {
12935
0
    goto inline_char_handler;
12936
0
  }
12937
132k
}
12938
0
#line 12939 "Zend/zend_language_scanner.c"
12939
1.49k
yy1116:
12940
1.49k
  YYDEBUG(1116, *YYCURSOR);
12941
1.49k
  ++YYCURSOR;
12942
1.49k
  YYDEBUG(1117, *YYCURSOR);
12943
1.49k
  yyleng = YYCURSOR - SCNG(yy_text);
12944
1.49k
#line 2247 "Zend/zend_language_scanner.l"
12945
1.49k
  {
12946
1.49k
  BEGIN(ST_IN_SCRIPTING);
12947
1.49k
  if (PARSER_MODE()) {
12948
    /* We'll reject this as an identifier in zend_lex_tstring. */
12949
703
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
12950
703
  }
12951
795
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
12952
795
}
12953
0
#line 12954 "Zend/zend_language_scanner.c"
12954
118k
yy1118:
12955
118k
  YYDEBUG(1118, *YYCURSOR);
12956
118k
  yych = *++YYCURSOR;
12957
118k
  if (yych == 'H') goto yy1120;
12958
117k
  if (yych == 'h') goto yy1120;
12959
5.89k
yy1119:
12960
5.89k
  YYDEBUG(1119, *YYCURSOR);
12961
5.89k
  YYCURSOR = YYMARKER;
12962
5.89k
  goto yy1115;
12963
114k
yy1120:
12964
114k
  YYDEBUG(1120, *YYCURSOR);
12965
114k
  yych = *++YYCURSOR;
12966
114k
  if (yych == 'P') goto yy1121;
12967
114k
  if (yych != 'p') goto yy1119;
12968
112k
yy1121:
12969
112k
  YYDEBUG(1121, *YYCURSOR);
12970
112k
  yych = *++YYCURSOR;
12971
112k
  if (yych <= '\f') {
12972
99.5k
    if (yych <= 0x08) goto yy1122;
12973
98.7k
    if (yych <= '\n') goto yy1123;
12974
98.7k
  } else {
12975
12.8k
    if (yych <= '\r') goto yy1125;
12976
12.2k
    if (yych == ' ') goto yy1123;
12977
12.2k
  }
12978
4.80k
yy1122:
12979
4.80k
  YYDEBUG(1122, *YYCURSOR);
12980
4.80k
  yyleng = YYCURSOR - SCNG(yy_text);
12981
4.80k
#line 2263 "Zend/zend_language_scanner.l"
12982
4.80k
  {
12983
  /* Allow <?php followed by end of file. */
12984
4.80k
  if (YYCURSOR == YYLIMIT) {
12985
231
    BEGIN(ST_IN_SCRIPTING);
12986
231
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12987
231
  }
12988
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
12989
4.57k
  if (CG(short_tags)) {
12990
4.57k
    yyless(2);
12991
4.57k
    BEGIN(ST_IN_SCRIPTING);
12992
4.57k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12993
4.57k
  }
12994
0
  goto inline_char_handler;
12995
4.57k
}
12996
0
#line 12997 "Zend/zend_language_scanner.c"
12997
107k
yy1123:
12998
107k
  YYDEBUG(1123, *YYCURSOR);
12999
107k
  ++YYCURSOR;
13000
107k
yy1124:
13001
107k
  YYDEBUG(1124, *YYCURSOR);
13002
107k
  yyleng = YYCURSOR - SCNG(yy_text);
13003
107k
#line 2257 "Zend/zend_language_scanner.l"
13004
107k
  {
13005
107k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13006
107k
  BEGIN(ST_IN_SCRIPTING);
13007
107k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13008
107k
}
13009
0
#line 13010 "Zend/zend_language_scanner.c"
13010
551
yy1125:
13011
551
  YYDEBUG(1125, *YYCURSOR);
13012
551
  yych = *++YYCURSOR;
13013
551
  if (yych == '\n') goto yy1123;
13014
231
  goto yy1124;
13015
/* *********************************** */
13016
17.9k
yyc_ST_END_HEREDOC:
13017
17.9k
  YYDEBUG(1126, *YYCURSOR);
13018
17.9k
  YYFILL(1);
13019
17.9k
  yych = *YYCURSOR;
13020
17.9k
  YYDEBUG(1128, *YYCURSOR);
13021
17.9k
  ++YYCURSOR;
13022
17.9k
  YYDEBUG(1129, *YYCURSOR);
13023
17.9k
  yyleng = YYCURSOR - SCNG(yy_text);
13024
17.9k
#line 2778 "Zend/zend_language_scanner.l"
13025
17.9k
  {
13026
17.9k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13027
13028
17.9k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13029
17.9k
  YYCURSOR += yyleng - 1;
13030
13031
17.9k
  heredoc_label_dtor(heredoc_label);
13032
17.9k
  efree(heredoc_label);
13033
13034
17.9k
  BEGIN(ST_IN_SCRIPTING);
13035
17.9k
  RETURN_TOKEN(T_END_HEREDOC);
13036
17.9k
}
13037
0
#line 13038 "Zend/zend_language_scanner.c"
13038
/* *********************************** */
13039
5.89k
yyc_ST_NOWDOC:
13040
5.89k
  YYDEBUG(1130, *YYCURSOR);
13041
5.89k
  YYFILL(1);
13042
5.89k
  yych = *YYCURSOR;
13043
5.89k
  YYDEBUG(1132, *YYCURSOR);
13044
5.89k
  ++YYCURSOR;
13045
5.89k
  YYDEBUG(1133, *YYCURSOR);
13046
5.89k
  yyleng = YYCURSOR - SCNG(yy_text);
13047
5.89k
#line 3035 "Zend/zend_language_scanner.l"
13048
5.89k
  {
13049
5.89k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13050
5.89k
  int newline = 0, indentation = 0, spacing = -1;
13051
13052
5.89k
  if (YYCURSOR > YYLIMIT) {
13053
1.79k
    RETURN_END_TOKEN;
13054
1.79k
  }
13055
13056
4.10k
  YYCURSOR--;
13057
13058
608k
  while (YYCURSOR < YYLIMIT) {
13059
607k
    switch (*YYCURSOR++) {
13060
6.08k
      case '\r':
13061
6.08k
        if (*YYCURSOR == '\n') {
13062
1.02k
          YYCURSOR++;
13063
1.02k
        }
13064
6.08k
        ZEND_FALLTHROUGH;
13065
42.1k
      case '\n':
13066
42.1k
        indentation = spacing = 0;
13067
13068
56.1k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13069
13.9k
          if (*YYCURSOR == '\t') {
13070
1.20k
            spacing |= HEREDOC_USING_TABS;
13071
12.7k
          } else {
13072
12.7k
            spacing |= HEREDOC_USING_SPACES;
13073
12.7k
          }
13074
13.9k
          ++YYCURSOR;
13075
13.9k
          ++indentation;
13076
13.9k
        }
13077
13078
42.1k
        if (YYCURSOR == YYLIMIT) {
13079
405
          yyleng = YYCURSOR - SCNG(yy_text);
13080
405
          HANDLE_NEWLINES(yytext, yyleng);
13081
405
          ZVAL_NULL(zendlval);
13082
405
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13083
405
        }
13084
13085
        /* Check for ending label on the next line */
13086
41.7k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13087
3.77k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13088
1.47k
            continue;
13089
1.47k
          }
13090
13091
2.30k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13092
206
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13093
206
            if (PARSER_MODE()) {
13094
12
              RETURN_TOKEN(T_ERROR);
13095
12
            }
13096
206
          }
13097
13098
          /* newline before label will be subtracted from returned text, but
13099
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13100
2.28k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13101
246
            newline = 2; /* Windows newline */
13102
2.04k
          } else {
13103
2.04k
            newline = 1;
13104
2.04k
          }
13105
13106
2.28k
          CG(increment_lineno) = 1; /* For newline before label */
13107
13108
2.28k
          YYCURSOR -= indentation;
13109
2.28k
          heredoc_label->indentation = indentation;
13110
13111
2.28k
          BEGIN(ST_END_HEREDOC);
13112
13113
2.28k
          goto nowdoc_scan_done;
13114
2.30k
        }
13115
37.9k
        ZEND_FALLTHROUGH;
13116
603k
      default:
13117
603k
        continue;
13118
607k
    }
13119
607k
  }
13120
13121
3.68k
nowdoc_scan_done:
13122
3.68k
  yyleng = YYCURSOR - SCNG(yy_text);
13123
3.68k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13124
13125
3.68k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13126
1.30k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13127
1.30k
    if (!strip_multiline_string_indentation(
13128
1.30k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13129
1.30k
        newline_at_start, newline != 0)) {
13130
32
      RETURN_TOKEN(T_ERROR);
13131
32
    }
13132
1.30k
  }
13133
13134
3.65k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13135
3.65k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13136
3.65k
}
13137
3.65k
#line 13138 "Zend/zend_language_scanner.c"
13138
3.65k
}
13139
0
#line 3134 "Zend/zend_language_scanner.l"
13140
13141
13142
7.03M
emit_token_with_str:
13143
7.03M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13144
13145
10.8M
emit_token_with_val:
13146
10.8M
  if (PARSER_MODE()) {
13147
4.12M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13148
4.12M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13149
4.12M
  }
13150
13151
36.8M
emit_token:
13152
36.8M
  if (SCNG(on_event)) {
13153
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13154
0
  }
13155
36.8M
  return token;
13156
13157
1.40M
emit_token_with_ident:
13158
1.40M
  if (PARSER_MODE()) {
13159
761k
    elem->ident = SCNG(yy_text);
13160
761k
  }
13161
1.40M
  if (SCNG(on_event)) {
13162
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13163
0
  }
13164
1.40M
  return token;
13165
13166
6.89M
return_whitespace:
13167
6.89M
  HANDLE_NEWLINES(yytext, yyleng);
13168
6.89M
  if (SCNG(on_event)) {
13169
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13170
0
  }
13171
6.89M
  if (PARSER_MODE()) {
13172
3.21M
    start_line = CG(zend_lineno);
13173
3.21M
    goto restart;
13174
3.67M
  } else {
13175
3.67M
    return T_WHITESPACE;
13176
3.67M
  }
13177
13178
331k
skip_token:
13179
331k
  if (SCNG(on_event)) {
13180
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13181
0
  }
13182
331k
  start_line = CG(zend_lineno);
13183
331k
  goto restart;
13184
6.89M
}