Coverage Report

Created: 2026-10-28 06:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 3.1 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright © Zend Technologies Ltd., a subsidiary company of          |
8
   |     Perforce Software, Inc., and Contributors.                       |
9
   +----------------------------------------------------------------------+
10
   | This source file is subject to the Modified BSD License that is      |
11
   | bundled with this package in the file LICENSE, and is available      |
12
   | through the World Wide Web at <https://www.php.net/license/>.        |
13
   |                                                                      |
14
   | SPDX-License-Identifier: BSD-3-Clause                                |
15
   +----------------------------------------------------------------------+
16
   | Authors: Marcus Boerger <helly@php.net>                              |
17
   |          Nuno Lopes <nlopess@php.net>                                |
18
   |          Scott MacVicar <scottmac@php.net>                           |
19
   | Flex version authors:                                                |
20
   |          Andi Gutmans <andi@php.net>                                 |
21
   |          Zeev Suraski <zeev@php.net>                                 |
22
   +----------------------------------------------------------------------+
23
*/
24
25
#if 0
26
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
27
#else
28
# define YYDEBUG(s, c)
29
#endif
30
31
#include "zend_language_scanner_defs.h"
32
33
#include <errno.h>
34
#include <stdint.h>
35
#include "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
15.6M
#define YYCTYPE   unsigned char
53
36.2M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
179M
#define YYCURSOR  SCNG(yy_cursor)
55
48.6M
#define YYLIMIT   SCNG(yy_limit)
56
14.9M
#define YYMARKER  SCNG(yy_marker)
57
58
52.6M
#define YYGETCONDITION()  SCNG(yy_state)
59
7.81M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
2.03M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
232k
#define YYSTATE      YYGETCONDITION()
66
7.79M
#define yytext       ((char*)SCNG(yy_text))
67
22.0M
#define yyleng       SCNG(yy_leng)
68
1.79M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
1.79M
                          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
#line 75 "Zend/zend_language_scanner.c"
75
#define YYMAXFILL 16
76
#line 72 "Zend/zend_language_scanner.l"
77
78
#if ZEND_MMAP_AHEAD < YYMAXFILL
79
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
80
#endif
81
82
#include <stdarg.h>
83
84
#ifdef HAVE_UNISTD_H
85
# include <unistd.h>
86
#endif
87
88
/* Globals Macros */
89
414M
#define SCNG  LANG_SCNG
90
#ifdef ZTS
91
ZEND_API ts_rsrc_id language_scanner_globals_id;
92
# ifdef ZEND_WIN32
93
TSRM_TLS zend_php_scanner_globals language_scanner_globals;
94
# else
95
ZEND_API TSRM_TLS TSRM_TLS_MODEL_ATTR zend_php_scanner_globals language_scanner_globals;
96
# endif
97
#else
98
ZEND_API zend_php_scanner_globals language_scanner_globals;
99
#endif
100
101
1.70M
#define HANDLE_NEWLINES(s, l)                         \
102
1.70M
do {                                     \
103
1.70M
  char *p = (s), *boundary = p+(l);                     \
104
1.70M
                                        \
105
9.16M
  while (p<boundary) {                           \
106
7.45M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
107
1.33M
      CG(zend_lineno)++;                          \
108
1.33M
    }                                    \
109
7.45M
    p++;                                  \
110
7.45M
  }                                      \
111
1.70M
} while (0)
112
113
85.3k
#define HANDLE_NEWLINE(c) \
114
85.3k
{ \
115
85.3k
  if (c == '\n' || c == '\r') { \
116
36.1k
    CG(zend_lineno)++; \
117
36.1k
  } \
118
85.3k
}
119
120
/* To save initial string length after scanning to first variable */
121
43.7k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
122
78.3k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
123
124
1.49M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
125
17.2k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
126
127
17.4k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
128
15.5k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
129
130
131
static void strip_underscores(char *str, size_t *len)
132
4.86k
{
133
4.86k
  char *src = str, *dest = str;
134
109k
  while (*src != '\0') {
135
104k
    if (*src != '_') {
136
97.1k
      *dest = *src;
137
97.1k
      dest++;
138
97.1k
    } else {
139
7.28k
      --(*len);
140
7.28k
    }
141
104k
    src++;
142
104k
  }
143
4.86k
  *dest = '\0';
144
4.86k
}
145
146
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
147
0
{
148
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
149
0
  ZEND_ASSERT(internal_encoding);
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
156
0
}
157
158
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
159
0
{
160
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
161
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
162
0
}
163
164
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
165
0
{
166
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
167
0
  ZEND_ASSERT(internal_encoding);
168
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
169
0
internal_encoding, zend_multibyte_encoding_utf8);
170
0
}
171
172
173
static void _yy_push_state(int new_state)
174
3.75M
{
175
3.75M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
176
3.75M
  YYSETCONDITION(new_state);
177
3.75M
}
178
179
3.75M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
180
181
static void yy_pop_state(void)
182
1.80M
{
183
1.80M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
184
1.80M
  YYSETCONDITION(*stack_state);
185
1.80M
  zend_stack_del_top(&SCNG(state_stack));
186
1.80M
}
187
188
static void yy_scan_buffer(char *str, size_t len)
189
110k
{
190
110k
  YYCURSOR       = (YYCTYPE*)str;
191
110k
  YYLIMIT        = YYCURSOR + len;
192
110k
  if (!SCNG(yy_start)) {
193
2.16k
    SCNG(yy_start) = YYCURSOR;
194
2.16k
  }
195
110k
}
196
197
void startup_scanner(void)
198
306k
{
199
306k
  CG(parse_error) = 0;
200
306k
  CG(doc_comment) = NULL;
201
306k
  CG(extra_fn_flags) = 0;
202
306k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
203
306k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
204
306k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
205
306k
  SCNG(heredoc_scan_ahead) = 0;
206
306k
}
207
208
2.94M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
209
2.94M
    efree(heredoc_label->label);
210
2.94M
}
211
212
void shutdown_scanner(void)
213
306k
{
214
306k
  CG(parse_error) = 0;
215
306k
  RESET_DOC_COMMENT();
216
306k
  zend_stack_destroy(&SCNG(state_stack));
217
306k
  zend_stack_destroy(&SCNG(nest_location_stack));
218
306k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
219
306k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
220
306k
  SCNG(heredoc_scan_ahead) = 0;
221
306k
  SCNG(on_event) = NULL;
222
306k
  SCNG(on_event_context) = NULL;
223
306k
}
224
225
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
226
232k
{
227
232k
  lex_state->yy_leng   = SCNG(yy_leng);
228
232k
  lex_state->yy_start  = SCNG(yy_start);
229
232k
  lex_state->yy_text   = SCNG(yy_text);
230
232k
  lex_state->yy_cursor = SCNG(yy_cursor);
231
232k
  lex_state->yy_marker = SCNG(yy_marker);
232
232k
  lex_state->yy_limit  = SCNG(yy_limit);
233
234
232k
  lex_state->state_stack = SCNG(state_stack);
235
232k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
236
237
232k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
238
232k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
239
240
232k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
241
232k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
242
243
232k
  lex_state->in = SCNG(yy_in);
244
232k
  lex_state->yy_state = YYSTATE;
245
232k
  lex_state->filename = CG(compiled_filename);
246
232k
  lex_state->lineno = CG(zend_lineno);
247
232k
  CG(compiled_filename) = NULL;
248
249
232k
  lex_state->script_org = SCNG(script_org);
250
232k
  lex_state->script_org_size = SCNG(script_org_size);
251
232k
  lex_state->script_filtered = SCNG(script_filtered);
252
232k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
253
232k
  lex_state->input_filter = SCNG(input_filter);
254
232k
  lex_state->output_filter = SCNG(output_filter);
255
232k
  lex_state->script_encoding = SCNG(script_encoding);
256
257
232k
  lex_state->on_event = SCNG(on_event);
258
232k
  lex_state->on_event_context = SCNG(on_event_context);
259
260
232k
  lex_state->ast = CG(ast);
261
232k
  lex_state->ast_arena = CG(ast_arena);
262
232k
}
263
264
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
265
227k
{
266
227k
  SCNG(yy_leng)   = lex_state->yy_leng;
267
227k
  SCNG(yy_start)  = lex_state->yy_start;
268
227k
  SCNG(yy_text)   = lex_state->yy_text;
269
227k
  SCNG(yy_cursor) = lex_state->yy_cursor;
270
227k
  SCNG(yy_marker) = lex_state->yy_marker;
271
227k
  SCNG(yy_limit)  = lex_state->yy_limit;
272
273
227k
  zend_stack_destroy(&SCNG(state_stack));
274
227k
  SCNG(state_stack) = lex_state->state_stack;
275
276
227k
  zend_stack_destroy(&SCNG(nest_location_stack));
277
227k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
278
279
227k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
280
227k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
281
227k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
282
283
227k
  SCNG(yy_in) = lex_state->in;
284
227k
  YYSETCONDITION(lex_state->yy_state);
285
227k
  CG(zend_lineno) = lex_state->lineno;
286
227k
  zend_restore_compiled_filename(lex_state->filename);
287
288
227k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
289
0
    efree(SCNG(script_filtered));
290
0
    SCNG(script_filtered) = NULL;
291
0
  }
292
227k
  SCNG(script_org) = lex_state->script_org;
293
227k
  SCNG(script_org_size) = lex_state->script_org_size;
294
227k
  SCNG(script_filtered) = lex_state->script_filtered;
295
227k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
296
227k
  SCNG(input_filter) = lex_state->input_filter;
297
227k
  SCNG(output_filter) = lex_state->output_filter;
298
227k
  SCNG(script_encoding) = lex_state->script_encoding;
299
300
227k
  SCNG(on_event) = lex_state->on_event;
301
227k
  SCNG(on_event_context) = lex_state->on_event_context;
302
303
227k
  CG(ast) = lex_state->ast;
304
227k
  CG(ast_arena) = lex_state->ast_arena;
305
306
227k
  RESET_DOC_COMMENT();
307
227k
}
308
309
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
310
6.55k
{
311
6.55k
  unsigned char *end = ident;
312
37.7k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
313
31.1k
    end++;
314
31.1k
  }
315
316
6.55k
  size_t length = end - ident;
317
6.55k
  if (length == 0) {
318
7
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
319
7
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
320
7
    return FAILURE;
321
7
  }
322
323
6.54k
  if (SCNG(on_event)) {
324
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
325
0
  }
326
327
6.54k
  ZVAL_STRINGL(zv, (char *) ident, length);
328
6.54k
  return SUCCESS;
329
6.55k
}
330
331
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
332
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
333
0
#define BOM_UTF16_BE  "\xfe\xff"
334
0
#define BOM_UTF16_LE  "\xff\xfe"
335
0
#define BOM_UTF8    "\xef\xbb\xbf"
336
337
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
338
0
{
339
0
  const unsigned char *p;
340
0
  size_t offset = 0;
341
0
  int wchar_size = 2;
342
0
  int le = 0;
343
344
  /* utf-16 or utf-32? */
345
0
  while (offset < script_size && script_size - offset > 2) {
346
0
    p = memchr(script + offset, 0, script_size - offset - 2);
347
0
    if (!p) {
348
0
      break;
349
0
    }
350
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
351
0
      wchar_size = 4;
352
0
      break;
353
0
    }
354
355
    /* searching for UTF-32 specific byte orders, so this will do */
356
0
    offset = p - script + 4;
357
0
  }
358
359
  /* BE or LE? */
360
0
  offset = 0;
361
0
  while (script_size - offset >= (size_t) wchar_size) {
362
0
    p = script + offset;
363
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
364
      /* BE */
365
0
      le = 0;
366
0
      break;
367
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
368
      /* LE* */
369
0
      le = 1;
370
0
      break;
371
0
    }
372
0
    offset += wchar_size;
373
0
  }
374
375
0
  if (wchar_size == 2) {
376
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
377
0
  } else {
378
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
379
0
  }
380
381
0
  return NULL;
382
0
}
383
384
static const zend_encoding* zend_multibyte_detect_unicode(void)
385
0
{
386
0
  const zend_encoding *script_encoding = NULL;
387
0
  int bom_size;
388
0
  unsigned char *pos1, *pos2;
389
390
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
391
0
    return NULL;
392
0
  }
393
394
  /* check out BOM */
395
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
396
0
    script_encoding = zend_multibyte_encoding_utf32be;
397
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
398
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
399
0
    script_encoding = zend_multibyte_encoding_utf32le;
400
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
401
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
402
0
    script_encoding = zend_multibyte_encoding_utf16be;
403
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
404
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
405
0
    script_encoding = zend_multibyte_encoding_utf16le;
406
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
407
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
408
0
    script_encoding = zend_multibyte_encoding_utf8;
409
0
    bom_size = sizeof(BOM_UTF8)-1;
410
0
  }
411
412
0
  if (script_encoding) {
413
    /* remove BOM */
414
0
    LANG_SCNG(script_org) += bom_size;
415
0
    LANG_SCNG(script_org_size) -= bom_size;
416
417
0
    return script_encoding;
418
0
  }
419
420
  /* script contains NULL bytes -> auto-detection */
421
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
422
    /* check if the NULL byte is after the __HALT_COMPILER(); */
423
0
    pos2 = LANG_SCNG(script_org);
424
425
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
426
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
427
0
      if (!pos2) break;
428
0
      pos2++;
429
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
430
0
        pos2 += sizeof("_HALT_COMPILER")-1;
431
0
        while (*pos2 == ' '  ||
432
0
             *pos2 == '\t' ||
433
0
             *pos2 == '\r' ||
434
0
             *pos2 == '\n') {
435
0
          pos2++;
436
0
        }
437
0
        if (*pos2 == '(') {
438
0
          pos2++;
439
0
          while (*pos2 == ' '  ||
440
0
               *pos2 == '\t' ||
441
0
               *pos2 == '\r' ||
442
0
               *pos2 == '\n') {
443
0
            pos2++;
444
0
          }
445
0
          if (*pos2 == ')') {
446
0
            pos2++;
447
0
            while (*pos2 == ' '  ||
448
0
                 *pos2 == '\t' ||
449
0
                 *pos2 == '\r' ||
450
0
                 *pos2 == '\n') {
451
0
              pos2++;
452
0
            }
453
0
            if (*pos2 == ';') {
454
0
              return NULL;
455
0
            }
456
0
          }
457
0
        }
458
0
      }
459
0
    }
460
    /* make best effort if BOM is missing */
461
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
462
0
  }
463
464
0
  return NULL;
465
0
}
466
467
static const zend_encoding* zend_multibyte_find_script_encoding(void)
468
0
{
469
0
  const zend_encoding *script_encoding;
470
471
0
  if (CG(detect_unicode)) {
472
    /* check out bom(byte order mark) and see if containing wchars */
473
0
    script_encoding = zend_multibyte_detect_unicode();
474
0
    if (script_encoding != NULL) {
475
      /* bom or wchar detection is prior to 'script_encoding' option */
476
0
      return script_encoding;
477
0
    }
478
0
  }
479
480
  /* if no script_encoding specified, just leave alone */
481
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
482
0
    return NULL;
483
0
  }
484
485
  /* if multiple encodings specified, detect automagically */
486
0
  if (CG(script_encoding_list_size) > 1) {
487
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
488
0
  }
489
490
0
  return CG(script_encoding_list)[0];
491
0
}
492
493
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
494
0
{
495
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
496
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
497
498
0
  if (!script_encoding) {
499
0
    return FAILURE;
500
0
  }
501
502
  /* judge input/output filter */
503
0
  LANG_SCNG(script_encoding) = script_encoding;
504
0
  LANG_SCNG(input_filter) = NULL;
505
0
  LANG_SCNG(output_filter) = NULL;
506
507
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
508
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
509
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
510
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
511
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
512
0
    } else {
513
0
      LANG_SCNG(input_filter) = NULL;
514
0
      LANG_SCNG(output_filter) = NULL;
515
0
    }
516
0
    return SUCCESS;
517
0
  }
518
519
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
520
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
521
0
    LANG_SCNG(output_filter) = NULL;
522
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
523
0
    LANG_SCNG(input_filter) = NULL;
524
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
525
0
  } else {
526
    /* both script and internal encodings are incompatible w/ flex */
527
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
528
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
529
0
  }
530
531
0
  return SUCCESS;
532
0
}
533
534
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
535
108k
{
536
108k
  char *buf;
537
108k
  size_t size;
538
108k
  zend_string *compiled_filename;
539
540
108k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
541
    /* Still add it to open_files to make destroy_file_handle work */
542
18
    zend_llist_add_element(&CG(open_files), file_handle);
543
18
    file_handle->in_list = 1;
544
18
    return FAILURE;
545
18
  }
546
547
108k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
548
108k
  zend_llist_add_element(&CG(open_files), file_handle);
549
108k
  file_handle->in_list = 1;
550
551
  /* Reset the scanner for scanning the new file */
552
108k
  SCNG(yy_in) = file_handle;
553
108k
  SCNG(yy_start) = NULL;
554
555
108k
  if (size != (size_t)-1) {
556
108k
    if (CG(multibyte)) {
557
0
      SCNG(script_org) = (unsigned char*)buf;
558
0
      SCNG(script_org_size) = size;
559
0
      SCNG(script_filtered) = NULL;
560
561
0
      zend_multibyte_set_filter(NULL);
562
563
0
      if (SCNG(input_filter)) {
564
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
565
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
566
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
567
0
        }
568
0
        buf = (char*)SCNG(script_filtered);
569
0
        size = SCNG(script_filtered_size);
570
0
      }
571
0
    }
572
108k
    SCNG(yy_start) = (unsigned char *)buf;
573
108k
    yy_scan_buffer(buf, size);
574
108k
  } else {
575
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
576
0
  }
577
578
108k
  if (CG(skip_shebang)) {
579
0
    BEGIN(SHEBANG);
580
108k
  } else {
581
108k
    BEGIN(INITIAL);
582
108k
  }
583
584
108k
  if (file_handle->opened_path) {
585
1
    compiled_filename = zend_string_copy(file_handle->opened_path);
586
108k
  } else {
587
108k
    compiled_filename = zend_string_copy(file_handle->filename);
588
108k
  }
589
590
108k
  zend_set_compiled_filename(compiled_filename);
591
108k
  zend_string_release_ex(compiled_filename, 0);
592
593
108k
  SCNG(on_event) = NULL;
594
108k
  SCNG(on_event_context) = NULL;
595
108k
  RESET_DOC_COMMENT();
596
108k
  CG(zend_lineno) = 1;
597
108k
  CG(increment_lineno) = 0;
598
108k
  return SUCCESS;
599
108k
}
600
601
static zend_op_array *zend_compile_ast_internal(int type)
602
57.6k
{
603
57.6k
  ZEND_ASSERT(CG(in_compilation));
604
57.6k
  ZEND_ASSERT(CG(ast));
605
606
57.6k
  uint32_t last_lineno = CG(zend_lineno);
607
57.6k
  zend_file_context original_file_context;
608
57.6k
  zend_oparray_context original_oparray_context;
609
57.6k
  zend_op_array *original_active_op_array = CG(active_op_array);
610
611
57.6k
  zend_op_array *op_array = emalloc(sizeof(*op_array));
612
57.6k
  init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
613
57.6k
  CG(active_op_array) = op_array;
614
615
  /* Use heap to not waste arena memory */
616
57.6k
  op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
617
618
57.6k
  if (zend_ast_process) {
619
0
    zend_ast_process(CG(ast));
620
0
  }
621
622
57.6k
  zend_file_context_begin(&original_file_context);
623
57.6k
  zend_oparray_context_begin(&original_oparray_context, op_array);
624
57.6k
  zend_compile_top_stmt(CG(ast));
625
57.6k
  CG(zend_lineno) = last_lineno;
626
57.6k
  zend_emit_final_return(type == ZEND_USER_FUNCTION);
627
57.6k
  op_array->line_start = 1;
628
57.6k
  op_array->line_end = last_lineno;
629
57.6k
  pass_two(op_array);
630
57.6k
  zend_oparray_context_end(&original_oparray_context);
631
57.6k
  zend_file_context_end(&original_file_context);
632
633
57.6k
  CG(active_op_array) = original_active_op_array;
634
635
57.6k
  return op_array;
636
57.6k
}
637
638
static zend_op_array *zend_compile(zend_function_type type)
639
108k
{
640
108k
  zend_op_array *op_array = NULL;
641
108k
  bool original_in_compilation = CG(in_compilation);
642
643
108k
  CG(in_compilation) = 1;
644
108k
  CG(ast) = NULL;
645
108k
  CG(ast_arena) = zend_arena_create(1024 * 32);
646
647
108k
  if (!zendparse()) {
648
57.5k
    op_array = zend_compile_ast_internal(type);
649
57.5k
  }
650
651
108k
  zend_ast_destroy(CG(ast));
652
108k
  zend_arena_destroy(CG(ast_arena));
653
654
108k
  CG(in_compilation) = original_in_compilation;
655
656
108k
  return op_array;
657
108k
}
658
659
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
660
108k
{
661
108k
  zend_lex_state original_lex_state;
662
108k
  zend_op_array *op_array = NULL;
663
108k
  zend_save_lexical_state(&original_lex_state);
664
665
108k
  if (open_file_for_scanning(file_handle)==FAILURE) {
666
18
    if (!EG(exception)) {
667
15
      if (type==ZEND_REQUIRE) {
668
11
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
669
11
      } else {
670
4
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
671
4
      }
672
15
    }
673
108k
  } else {
674
108k
    bool orig_record_errors = EG(record_errors);
675
108k
    if (!orig_record_errors) {
676
1
      zend_begin_record_errors();
677
1
    }
678
679
108k
    op_array = zend_compile(ZEND_USER_FUNCTION);
680
681
108k
    if (!orig_record_errors) {
682
1
      zend_emit_recorded_errors();
683
1
      zend_free_recorded_errors();
684
1
    }
685
108k
  }
686
687
108k
  zend_restore_lexical_state(&original_lex_state);
688
108k
  return op_array;
689
108k
}
690
691
ZEND_API zend_op_array *zend_compile_ast(
692
  zend_ast *ast, int type, zend_string *filename)
693
39
{
694
39
  zend_string *original_compiled_filename = CG(compiled_filename);
695
39
  bool original_in_compilation = CG(in_compilation);
696
39
  CG(in_compilation) = true;
697
39
  CG(ast) = ast;
698
699
39
  zend_set_compiled_filename(filename);
700
39
  zend_op_array *op_array = zend_compile_ast_internal(type);
701
702
39
  CG(in_compilation) = original_in_compilation;
703
39
  zend_restore_compiled_filename(original_compiled_filename);
704
705
39
  return op_array;
706
39
}
707
708
ZEND_API zend_ast *zend_compile_string_to_ast(
709
6
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
710
6
  zval code_zv;
711
6
  bool original_in_compilation;
712
6
  zend_lex_state original_lex_state;
713
6
  zend_ast *ast;
714
715
6
  ZVAL_STR_COPY(&code_zv, code);
716
717
6
  original_in_compilation = CG(in_compilation);
718
6
  CG(in_compilation) = 1;
719
720
6
  zend_save_lexical_state(&original_lex_state);
721
6
  zend_prepare_string_for_scanning(&code_zv, filename);
722
6
  CG(ast) = NULL;
723
6
  CG(ast_arena) = zend_arena_create(1024 * 32);
724
6
  LANG_SCNG(yy_state) = yycINITIAL;
725
726
6
  if (zendparse() != 0) {
727
0
    zend_ast_destroy(CG(ast));
728
0
    zend_arena_destroy(CG(ast_arena));
729
0
    CG(ast) = NULL;
730
0
  }
731
732
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
733
6
  ast = CG(ast);
734
6
  *ast_arena = CG(ast_arena);
735
736
6
  zend_restore_lexical_state(&original_lex_state);
737
6
  CG(in_compilation) = original_in_compilation;
738
739
6
  zval_ptr_dtor_str(&code_zv);
740
741
6
  return ast;
742
6
}
743
744
zend_op_array *compile_filename(int type, zend_string *filename)
745
300
{
746
300
  zend_file_handle file_handle;
747
300
  zend_op_array *retval;
748
300
  zend_string *opened_path = NULL;
749
750
300
  zend_stream_init_filename_ex(&file_handle, filename);
751
752
300
  retval = zend_compile_file(&file_handle, type);
753
300
  if (retval && file_handle.handle.stream.handle) {
754
1
    if (!file_handle.opened_path) {
755
1
      file_handle.opened_path = opened_path = zend_string_copy(filename);
756
1
    }
757
758
1
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
759
760
1
    if (opened_path) {
761
1
      zend_string_release_ex(opened_path, 0);
762
1
    }
763
1
  }
764
300
  zend_destroy_file_handle(&file_handle);
765
766
300
  return retval;
767
300
}
768
769
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
770
2.16k
{
771
2.16k
  char *buf;
772
2.16k
  size_t size, old_len;
773
774
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
775
2.16k
  old_len = Z_STRLEN_P(str);
776
2.16k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
777
2.16k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
778
2.16k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
779
780
2.16k
  SCNG(yy_in) = NULL;
781
2.16k
  SCNG(yy_start) = NULL;
782
783
2.16k
  buf = Z_STRVAL_P(str);
784
2.16k
  size = old_len;
785
786
2.16k
  if (CG(multibyte)) {
787
0
    SCNG(script_org) = (unsigned char*)buf;
788
0
    SCNG(script_org_size) = size;
789
0
    SCNG(script_filtered) = NULL;
790
791
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
792
793
0
    if (SCNG(input_filter)) {
794
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
795
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
796
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
797
0
      }
798
0
      buf = (char*)SCNG(script_filtered);
799
0
      size = SCNG(script_filtered_size);
800
0
    }
801
0
  }
802
803
2.16k
  yy_scan_buffer(buf, size);
804
2.16k
  zend_set_compiled_filename(filename);
805
2.16k
  CG(zend_lineno) = 1;
806
2.16k
  CG(increment_lineno) = 0;
807
2.16k
  SCNG(on_event) = NULL;
808
2.16k
  SCNG(on_event_context) = NULL;
809
2.16k
  RESET_DOC_COMMENT();
810
2.16k
}
811
812
813
ZEND_API size_t zend_get_scanned_file_offset(void)
814
17
{
815
17
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
816
17
  if (SCNG(input_filter)) {
817
0
    size_t original_offset = offset, length = 0;
818
0
    do {
819
0
      unsigned char *p = NULL;
820
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
821
0
        return (size_t)-1;
822
0
      }
823
0
      efree(p);
824
0
      if (length > original_offset) {
825
0
        offset--;
826
0
      } else if (length < original_offset) {
827
0
        offset++;
828
0
      }
829
0
    } while (original_offset != length);
830
0
  }
831
17
  return offset;
832
17
}
833
834
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
835
97
{
836
97
  zend_lex_state original_lex_state;
837
97
  zend_op_array *op_array = NULL;
838
97
  zval tmp;
839
97
  zend_string *filename_str;
840
841
97
  if (ZSTR_LEN(source_string) == 0) {
842
6
    return NULL;
843
6
  }
844
845
91
  ZVAL_STR_COPY(&tmp, source_string);
846
847
91
  zend_save_lexical_state(&original_lex_state);
848
91
  filename_str = zend_string_init(filename, strlen(filename), 0);
849
91
  zend_prepare_string_for_scanning(&tmp, filename_str);
850
91
  zend_string_release(filename_str);
851
852
91
  switch (position) {
853
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
854
0
      BEGIN(SHEBANG);
855
0
      break;
856
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
857
0
      BEGIN(INITIAL);
858
0
      break;
859
91
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
860
91
      BEGIN(ST_IN_SCRIPTING);
861
91
      break;
862
91
  }
863
864
91
  op_array = zend_compile(ZEND_EVAL_CODE);
865
866
91
  zend_restore_lexical_state(&original_lex_state);
867
91
  zval_ptr_dtor(&tmp);
868
869
91
  return op_array;
870
91
}
871
872
873
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
874
0
{
875
0
  zend_lex_state original_lex_state;
876
0
  zend_file_handle file_handle;
877
878
0
  zend_stream_init_filename(&file_handle, filename);
879
0
  zend_save_lexical_state(&original_lex_state);
880
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
881
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
882
0
    zend_destroy_file_handle(&file_handle);
883
0
    zend_restore_lexical_state(&original_lex_state);
884
0
    return FAILURE;
885
0
  }
886
0
  zend_highlight(syntax_highlighter_ini);
887
0
  if (SCNG(script_filtered)) {
888
0
    efree(SCNG(script_filtered));
889
0
    SCNG(script_filtered) = NULL;
890
0
  }
891
0
  zend_destroy_file_handle(&file_handle);
892
0
  zend_restore_lexical_state(&original_lex_state);
893
0
  return SUCCESS;
894
0
}
895
896
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
897
2.06k
{
898
2.06k
  zend_lex_state original_lex_state;
899
2.06k
  zval str_zv;
900
2.06k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
901
2.06k
  ZVAL_STR_COPY(&str_zv, str);
902
2.06k
  zend_save_lexical_state(&original_lex_state);
903
2.06k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
904
2.06k
  zend_string_release(filename_str);
905
2.06k
  BEGIN(INITIAL);
906
2.06k
  zend_highlight(syntax_highlighter_ini);
907
2.06k
  if (SCNG(script_filtered)) {
908
0
    efree(SCNG(script_filtered));
909
0
    SCNG(script_filtered) = NULL;
910
0
  }
911
2.06k
  zend_restore_lexical_state(&original_lex_state);
912
2.06k
  zval_ptr_dtor(&str_zv);
913
2.06k
}
914
915
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
916
0
{
917
0
  size_t length;
918
0
  unsigned char *new_yy_start;
919
920
  /* convert and set */
921
0
  if (!SCNG(input_filter)) {
922
0
    if (SCNG(script_filtered)) {
923
0
      efree(SCNG(script_filtered));
924
0
      SCNG(script_filtered) = NULL;
925
0
    }
926
0
    SCNG(script_filtered_size) = 0;
927
0
    length = SCNG(script_org_size);
928
0
    new_yy_start = SCNG(script_org);
929
0
  } else {
930
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
931
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
932
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
933
0
    }
934
0
    if (SCNG(script_filtered)) {
935
0
      efree(SCNG(script_filtered));
936
0
    }
937
0
    SCNG(script_filtered) = new_yy_start;
938
0
    SCNG(script_filtered_size) = length;
939
0
  }
940
941
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
942
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
943
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
944
0
  SCNG(yy_limit) = new_yy_start + length;
945
946
0
  SCNG(yy_start) = new_yy_start;
947
0
}
948
949
950
// TODO: avoid reallocation ???
951
# define zend_copy_value(zendlval, yytext, yyleng) \
952
1.94M
  if (SCNG(output_filter)) { \
953
0
    size_t sz = 0; \
954
0
    char *s = NULL; \
955
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
956
0
    ZVAL_STRINGL(zendlval, s, sz); \
957
0
    efree(s); \
958
1.94M
  } else if (yyleng == 1) { \
959
818k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
960
1.12M
  } else { \
961
1.12M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
962
1.12M
  }
963
964
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
965
165k
{
966
165k
  char *s, *t;
967
165k
  char *end;
968
969
165k
  if (len <= 1) {
970
54.6k
    if (len < 1) {
971
9.31k
      ZVAL_EMPTY_STRING(zendlval);
972
45.3k
    } else {
973
45.3k
      zend_uchar c = (zend_uchar)*str;
974
45.3k
      HANDLE_NEWLINE(c);
975
45.3k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
976
45.3k
    }
977
54.6k
    goto skip_escape_conversion;
978
54.6k
  }
979
980
110k
  ZVAL_STRINGL(zendlval, str, len);
981
982
  /* convert escape sequences */
983
110k
  s = Z_STRVAL_P(zendlval);
984
110k
  end = s+Z_STRLEN_P(zendlval);
985
1.15M
  while (1) {
986
1.15M
    if (UNEXPECTED(*s=='\\')) {
987
17.0k
      break;
988
17.0k
    }
989
1.13M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
990
56.6k
      CG(zend_lineno)++;
991
56.6k
    }
992
1.13M
    s++;
993
1.13M
    if (s == end) {
994
93.8k
      goto skip_escape_conversion;
995
93.8k
    }
996
1.13M
  }
997
998
17.0k
  t = s;
999
149k
  while (s<end) {
1000
134k
    if (*s=='\\') {
1001
31.7k
      s++;
1002
31.7k
      if (s >= end) {
1003
998
        *t++ = '\\';
1004
998
        break;
1005
998
      }
1006
1007
30.7k
      switch(*s) {
1008
2.10k
        case 'n':
1009
2.10k
          *t++ = '\n';
1010
2.10k
          break;
1011
622
        case 'r':
1012
622
          *t++ = '\r';
1013
622
          break;
1014
248
        case 't':
1015
248
          *t++ = '\t';
1016
248
          break;
1017
320
        case 'f':
1018
320
          *t++ = '\f';
1019
320
          break;
1020
358
        case 'v':
1021
358
          *t++ = '\v';
1022
358
          break;
1023
640
        case 'e':
1024
#ifdef ZEND_WIN32
1025
          *t++ = VK_ESCAPE;
1026
#else
1027
640
          *t++ = '\e';
1028
640
#endif
1029
640
          break;
1030
1.68k
        case '"':
1031
2.66k
        case '`':
1032
2.66k
          if (*s != quote_type) {
1033
614
            *t++ = '\\';
1034
614
            *t++ = *s;
1035
614
            break;
1036
614
          }
1037
2.05k
          ZEND_FALLTHROUGH;
1038
5.63k
        case '\\':
1039
6.79k
        case '$':
1040
6.79k
          *t++ = *s;
1041
6.79k
          break;
1042
2.50k
        case 'x':
1043
4.33k
        case 'X':
1044
4.33k
          if (ZEND_IS_HEX(*(s+1))) {
1045
2.89k
            char hex_buf[3] = { 0, 0, 0 };
1046
1047
2.89k
            hex_buf[0] = *(++s);
1048
2.89k
            if (ZEND_IS_HEX(*(s+1))) {
1049
1.22k
              hex_buf[1] = *(++s);
1050
1.22k
            }
1051
2.89k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1052
2.89k
          } else {
1053
1.43k
            *t++ = '\\';
1054
1.43k
            *t++ = *s;
1055
1.43k
          }
1056
4.33k
          break;
1057
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1058
2.82k
        case 'u':
1059
2.82k
          {
1060
            /* cache where we started so we can parse after validating */
1061
2.82k
            char *start = s + 1;
1062
2.82k
            size_t len = 0;
1063
2.82k
            bool valid = 1;
1064
2.82k
            unsigned long codepoint;
1065
1066
2.82k
            if (*start != '{') {
1067
              /* we silently let this pass to avoid breaking code
1068
               * with JSON in string literals (e.g. "\"\u202e\""
1069
               */
1070
540
              *t++ = '\\';
1071
540
              *t++ = 'u';
1072
540
              break;
1073
2.28k
            } else {
1074
              /* on the other hand, invalid \u{blah} errors */
1075
2.28k
              s++;
1076
2.28k
              len++;
1077
2.28k
              s++;
1078
9.85k
              while (*s != '}') {
1079
8.32k
                if (!ZEND_IS_HEX(*s)) {
1080
754
                  valid = 0;
1081
754
                  break;
1082
7.57k
                } else {
1083
7.57k
                  len++;
1084
7.57k
                }
1085
7.57k
                s++;
1086
7.57k
              }
1087
2.28k
              if (*s == '}') {
1088
1.52k
                valid = 1;
1089
1.52k
                len++;
1090
1.52k
              }
1091
2.28k
            }
1092
1093
            /* \u{} is invalid */
1094
2.28k
            if (len <= 2) {
1095
750
              valid = 0;
1096
750
            }
1097
1098
2.28k
            if (!valid) {
1099
977
              zend_throw_exception(zend_ce_parse_error,
1100
977
                "Invalid UTF-8 codepoint escape sequence", 0);
1101
977
              zval_ptr_dtor(zendlval);
1102
977
              ZVAL_UNDEF(zendlval);
1103
977
              return FAILURE;
1104
977
            }
1105
1106
2.28k
            errno = 0;
1107
1.30k
            codepoint = strtoul(start + 1, NULL, 16);
1108
1109
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1110
1.30k
            if (codepoint > 0x10FFFF || errno) {
1111
255
              zend_throw_exception(zend_ce_parse_error,
1112
255
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1113
255
              zval_ptr_dtor(zendlval);
1114
255
              ZVAL_UNDEF(zendlval);
1115
255
              return FAILURE;
1116
255
            }
1117
1118
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1119
1.05k
            if (codepoint < 0x80) {
1120
389
              *t++ = codepoint;
1121
662
            } else if (codepoint <= 0x7FF) {
1122
230
              *t++ = (codepoint >> 6) + 0xC0;
1123
230
              *t++ = (codepoint & 0x3F) + 0x80;
1124
432
            } else if (codepoint <= 0xFFFF) {
1125
225
              *t++ = (codepoint >> 12) + 0xE0;
1126
225
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1127
225
              *t++ = (codepoint & 0x3F) + 0x80;
1128
225
            } else if (codepoint <= 0x10FFFF) {
1129
207
              *t++ = (codepoint >> 18) + 0xF0;
1130
207
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1131
207
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1132
207
              *t++ = (codepoint & 0x3F) + 0x80;
1133
207
            }
1134
1.05k
          }
1135
0
          break;
1136
11.8k
        default:
1137
          /* check for an octal */
1138
11.8k
          if (ZEND_IS_OCT(*s)) {
1139
3.41k
            char octal_buf[4] = { 0, 0, 0, 0 };
1140
1141
3.41k
            octal_buf[0] = *s;
1142
3.41k
            if (ZEND_IS_OCT(*(s+1))) {
1143
2.16k
              octal_buf[1] = *(++s);
1144
2.16k
              if (ZEND_IS_OCT(*(s+1))) {
1145
1.31k
                octal_buf[2] = *(++s);
1146
1.31k
              }
1147
2.16k
            }
1148
3.41k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1149
              /* 3 octit values must not overflow 0xFF (\377) */
1150
289
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1151
289
            }
1152
1153
3.41k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1154
8.43k
          } else {
1155
8.43k
            *t++ = '\\';
1156
8.43k
            *t++ = *s;
1157
8.43k
          }
1158
11.8k
          break;
1159
30.7k
      }
1160
102k
    } else {
1161
102k
      *t++ = *s;
1162
102k
    }
1163
1164
132k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1165
6.46k
      CG(zend_lineno)++;
1166
6.46k
    }
1167
132k
    s++;
1168
132k
  }
1169
15.8k
  *t = 0;
1170
15.8k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1171
1172
164k
skip_escape_conversion:
1173
164k
  if (SCNG(output_filter)) {
1174
0
    size_t sz = 0;
1175
0
    unsigned char *str;
1176
    // TODO: avoid realocation ???
1177
0
    s = Z_STRVAL_P(zendlval);
1178
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1179
0
    zval_ptr_dtor(zendlval);
1180
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1181
0
    efree(str);
1182
0
  }
1183
164k
  return SUCCESS;
1184
15.8k
}
1185
1186
21.3k
#define HEREDOC_USING_SPACES 1
1187
40.7k
#define HEREDOC_USING_TABS 2
1188
1189
60.5k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1190
227k
  for (; str < end; str++) {
1191
193k
    if (*str == '\r') {
1192
4.17k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1193
4.17k
      return str;
1194
189k
    } else if (*str == '\n') {
1195
22.4k
      *newline_len = 1;
1196
22.4k
      return str;
1197
22.4k
    }
1198
193k
  }
1199
33.9k
  *newline_len = 0;
1200
33.9k
  return NULL;
1201
60.5k
}
1202
1203
static bool strip_multiline_string_indentation(
1204
  zval *zendlval, int indentation, bool using_spaces,
1205
  bool newline_at_start, bool newline_at_end)
1206
32.9k
{
1207
32.9k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1208
32.9k
  char *copy = Z_STRVAL_P(zendlval);
1209
1210
32.9k
  uint32_t newline_count = 0;
1211
32.9k
  size_t newline_len;
1212
32.9k
  const char *nl;
1213
1214
32.9k
  if (!newline_at_start) {
1215
8.01k
    nl = next_newline(str, end, &newline_len);
1216
8.01k
    if (!nl) {
1217
3.11k
      return 1;
1218
3.11k
    }
1219
1220
4.90k
    str = nl + newline_len;
1221
4.90k
    copy = (char *) nl + newline_len;
1222
4.90k
    newline_count++;
1223
24.9k
  } else {
1224
24.9k
    nl = str;
1225
24.9k
  }
1226
1227
  /* <= intentional */
1228
66.1k
  while (str <= end && nl) {
1229
52.5k
    size_t skip;
1230
52.5k
    nl = next_newline(str, end, &newline_len);
1231
52.5k
    if (!nl && newline_at_end) {
1232
2.59k
      nl = end;
1233
2.59k
    }
1234
1235
    /* Try to skip indentation */
1236
53.7k
    for (skip = 0; skip < indentation; skip++, str++) {
1237
1.67k
      if (str == nl) {
1238
        /* Don't require full indentation on whitespace-only lines */
1239
331
        break;
1240
331
      }
1241
1242
1.34k
      if (str == end || (*str != ' ' && *str != '\t')) {
1243
36
        CG(zend_lineno) += newline_count;
1244
36
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1245
36
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1246
36
        goto error;
1247
36
      }
1248
1249
1.30k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1250
25
        CG(zend_lineno) += newline_count;
1251
25
        zend_throw_exception(zend_ce_parse_error,
1252
25
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1253
25
        goto error;
1254
25
      }
1255
1.30k
    }
1256
1257
52.4k
    if (str == end) {
1258
16.1k
      break;
1259
16.1k
    }
1260
1261
36.3k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1262
36.3k
    memmove(copy, str, len);
1263
36.3k
    str += len;
1264
36.3k
    copy += len;
1265
36.3k
    newline_count++;
1266
36.3k
  }
1267
1268
29.7k
  *copy = '\0';
1269
29.7k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1270
29.7k
  return 1;
1271
1272
61
error:
1273
61
  zval_ptr_dtor_str(zendlval);
1274
61
  ZVAL_UNDEF(zendlval);
1275
1276
61
  return 0;
1277
29.8k
}
1278
1279
static void copy_heredoc_label_stack(void *void_heredoc_label)
1280
1.41M
{
1281
1.41M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1282
1.41M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1283
1284
1.41M
  *new_heredoc_label = *heredoc_label;
1285
1.41M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1286
1287
1.41M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1288
1.41M
}
1289
1290
/* Check that { }, [ ], ( ) are nested correctly */
1291
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1292
107k
{
1293
107k
  char   buf[256];
1294
107k
  size_t used = 0;
1295
1296
107k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1297
1298
107k
  if (opening_lineno != CG(zend_lineno)) {
1299
48.0k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1300
48.0k
  }
1301
1302
107k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1303
6.43k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1304
6.43k
  }
1305
1306
107k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1307
107k
}
1308
1309
static void enter_nesting(char opening)
1310
2.66M
{
1311
2.66M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1312
2.66M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1313
2.66M
}
1314
1315
static zend_result exit_nesting(char closing)
1316
596k
{
1317
596k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1318
2.14k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1319
2.14k
    return FAILURE;
1320
2.14k
  }
1321
1322
594k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1323
594k
  char opening = nest_loc->text;
1324
1325
594k
  if ((opening == '{' && closing != '}') ||
1326
592k
      (opening == '[' && closing != ']') ||
1327
590k
      (opening == '(' && closing != ')')) {
1328
6.43k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1329
6.43k
    return FAILURE;
1330
6.43k
  }
1331
1332
588k
  zend_stack_del_top(&SCNG(nest_location_stack));
1333
588k
  return SUCCESS;
1334
594k
}
1335
1336
static zend_result check_nesting_at_end(void)
1337
172k
{
1338
172k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1339
100k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1340
100k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1341
100k
    return FAILURE;
1342
100k
  }
1343
1344
71.4k
  return SUCCESS;
1345
172k
}
1346
1347
#define PARSER_MODE() \
1348
5.59M
  EXPECTED(elem != NULL)
1349
1350
8.65M
#define RETURN_TOKEN(_token) do { \
1351
8.65M
    token = _token; \
1352
8.65M
    goto emit_token; \
1353
8.65M
  } while (0)
1354
1355
1.04M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1356
1.04M
    token = _token; \
1357
1.04M
    goto emit_token_with_val; \
1358
1.04M
  } while (0)
1359
1360
1.94M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1361
1.94M
    token = _token; \
1362
1.94M
    offset = _offset; \
1363
1.94M
    goto emit_token_with_str; \
1364
1.94M
  } while (0)
1365
1366
472k
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1367
472k
    token = _token; \
1368
472k
    goto emit_token_with_ident; \
1369
472k
  } while (0)
1370
1371
450k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1372
450k
    token = _token; \
1373
450k
    if (PARSER_MODE()) { \
1374
205k
      goto skip_token; \
1375
205k
    } \
1376
450k
    goto emit_token; \
1377
450k
  } while (0)
1378
1379
596k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1380
596k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1381
640
      RETURN_TOKEN(T_ERROR); \
1382
596k
    } else { \
1383
596k
      RETURN_TOKEN(_token); \
1384
596k
    } \
1385
596k
  } while(0)
1386
1387
172k
#define RETURN_END_TOKEN do { \
1388
172k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1389
6.73k
      RETURN_TOKEN(T_ERROR); \
1390
165k
    } else { \
1391
165k
      RETURN_TOKEN(END); \
1392
165k
    } \
1393
172k
  } while (0)
1394
1395
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1396
12.9M
{
1397
12.9M
int token;
1398
12.9M
int offset;
1399
12.9M
uint32_t start_line = CG(zend_lineno);
1400
1401
12.9M
  ZVAL_UNDEF(zendlval);
1402
15.4M
restart:
1403
15.4M
  SCNG(yy_text) = YYCURSOR;
1404
1405
1406
15.4M
#line 1407 "Zend/zend_language_scanner.c"
1407
15.4M
{
1408
15.4M
  YYCTYPE yych;
1409
15.4M
  unsigned int yyaccept = 0;
1410
15.4M
  static const unsigned char yybm_ST_IN_SCRIPTING[] = {
1411
    /* table 1 .. 8: 0 */
1412
15.4M
      0, 134, 134, 134, 134, 134, 134, 134, 
1413
15.4M
    134, 135,   4, 134, 134,   4, 134, 134, 
1414
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1415
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1416
15.4M
    135, 134, 134, 134, 134, 134, 134, 134, 
1417
15.4M
    134, 134,  66, 134, 134, 134, 134, 134, 
1418
15.4M
    190, 190, 182, 182, 182, 182, 182, 182, 
1419
15.4M
    166, 166, 134, 134, 134, 134, 134, 134, 
1420
15.4M
    134, 166, 166, 166, 166, 166, 166, 134, 
1421
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1422
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1423
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1424
15.4M
    134, 166, 166, 166, 166, 166, 166, 134, 
1425
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1426
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1427
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1428
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1429
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1430
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1431
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1432
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1433
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1434
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1435
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1436
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1437
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1438
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1439
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1440
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1441
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1442
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1443
15.4M
    134, 134, 134, 134, 134, 134, 134, 134, 
1444
    /* table 9 .. 11: 256 */
1445
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1446
15.4M
      0,  32,  32,   0,   0,  32,   0,   0, 
1447
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1448
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1449
15.4M
     32,   0,   0,   0,   0,   0,   0,   0, 
1450
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1451
15.4M
    192, 192, 192, 192, 192, 192, 192, 192, 
1452
15.4M
    192, 192,   0,   0,   0,   0,   0,   0, 
1453
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1454
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1455
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1456
15.4M
    128, 128, 128,   0,   0,   0,   0, 128, 
1457
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1458
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1459
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1460
15.4M
    128, 128, 128,   0,   0,   0,   0,   0, 
1461
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1462
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1463
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1464
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1465
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1466
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1467
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1468
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1469
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1470
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1471
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1472
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1473
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1474
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1475
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1476
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1477
15.4M
  };
1478
15.4M
  static const unsigned char yybm_ST_LOOKING_FOR_PROPERTY[] = {
1479
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1480
15.4M
      0,  64,  64,   0,   0,  64,   0,   0, 
1481
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1482
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1483
15.4M
     64,   0,   0,   0,   0,   0,   0,   0, 
1484
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1485
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1486
15.4M
    128, 128,   0,   0,   0,   0,   0,   0, 
1487
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1488
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1489
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1490
15.4M
    128, 128, 128,   0,   0,   0,   0, 128, 
1491
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1492
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1493
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1494
15.4M
    128, 128, 128,   0,   0,   0,   0,   0, 
1495
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1496
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1497
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1498
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1499
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1500
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1501
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1502
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1503
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1504
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1505
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1506
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1507
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1508
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1509
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1510
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1511
15.4M
  };
1512
15.4M
  static const unsigned char yybm_ST_BACKQUOTE[] = {
1513
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1514
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1515
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1516
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1517
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1518
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1519
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1520
15.4M
    128, 128,   0,   0,   0,   0,   0,   0, 
1521
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1522
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1523
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1524
15.4M
    128, 128, 128,   0,   0,   0,   0, 128, 
1525
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1526
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1527
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1528
15.4M
    128, 128, 128,   0,   0,   0,   0,   0, 
1529
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1530
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1531
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1532
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1533
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1534
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1535
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1536
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1537
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1538
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1539
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1540
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1541
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1542
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1543
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1544
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1545
15.4M
  };
1546
15.4M
  static const unsigned char yybm_ST_DOUBLE_QUOTES[] = {
1547
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1548
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1549
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1550
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1551
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1552
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1553
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1554
15.4M
    128, 128,   0,   0,   0,   0,   0,   0, 
1555
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1556
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1557
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1558
15.4M
    128, 128, 128,   0,   0,   0,   0, 128, 
1559
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1560
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1561
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1562
15.4M
    128, 128, 128,   0,   0,   0,   0,   0, 
1563
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1564
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1565
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1566
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1567
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1568
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1569
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1570
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1571
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1572
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1573
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1574
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1575
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1576
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1577
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1578
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1579
15.4M
  };
1580
15.4M
  static const unsigned char yybm_ST_HEREDOC[] = {
1581
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1582
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1583
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1584
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1585
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1586
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1587
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1588
15.4M
    128, 128,   0,   0,   0,   0,   0,   0, 
1589
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1590
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1591
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1592
15.4M
    128, 128, 128,   0,   0,   0,   0, 128, 
1593
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1594
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1595
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1596
15.4M
    128, 128, 128,   0,   0,   0,   0,   0, 
1597
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1598
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1599
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1600
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1601
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1602
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1603
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1604
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1605
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1606
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1607
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1608
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1609
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1610
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1611
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1612
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1613
15.4M
  };
1614
15.4M
  static const unsigned char yybm_ST_LOOKING_FOR_VARNAME[] = {
1615
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1616
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1617
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1618
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1619
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1620
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1621
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1622
15.4M
    128, 128,   0,   0,   0,   0,   0,   0, 
1623
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1624
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1625
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1626
15.4M
    128, 128, 128,   0,   0,   0,   0, 128, 
1627
15.4M
      0, 128, 128, 128, 128, 128, 128, 128, 
1628
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1629
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1630
15.4M
    128, 128, 128,   0,   0,   0,   0,   0, 
1631
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1632
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1633
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1634
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1635
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1636
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1637
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1638
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1639
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1640
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1641
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1642
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1643
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1644
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1645
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1646
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1647
15.4M
  };
1648
15.4M
  static const unsigned char yybm_ST_VAR_OFFSET[] = {
1649
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1650
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1651
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1652
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1653
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1654
15.4M
      0,   0,   0,   0,   0,   0,   0,   0, 
1655
15.4M
    248, 248, 216, 216, 216, 216, 216, 216, 
1656
15.4M
    152, 152,   0,   0,   0,   0,   0,   0, 
1657
15.4M
      0, 144, 144, 144, 144, 144, 144,  16, 
1658
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1659
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1660
15.4M
     16,  16,  16,   0,   0,   0,   0,  16, 
1661
15.4M
      0, 144, 144, 144, 144, 144, 144,  16, 
1662
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1663
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1664
15.4M
     16,  16,  16,   0,   0,   0,   0,   0, 
1665
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1666
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1667
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1668
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1669
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1670
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1671
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1672
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1673
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1674
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1675
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1676
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1677
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1678
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1679
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1680
15.4M
     16,  16,  16,  16,  16,  16,  16,  16, 
1681
15.4M
  };
1682
15.4M
  static const unsigned char yybm_SHEBANG[] = {
1683
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1684
15.4M
    128, 128,   0, 128, 128, 128, 128, 128, 
1685
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1686
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1687
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1688
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1689
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1690
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1691
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1692
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1693
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1694
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1695
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1696
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1697
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1698
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1699
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1700
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1701
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1702
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1703
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1704
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1705
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1706
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1707
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1708
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1709
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1710
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1711
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1712
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1713
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1714
15.4M
    128, 128, 128, 128, 128, 128, 128, 128, 
1715
15.4M
  };
1716
15.4M
  if (YYGETCONDITION() < 5) {
1717
13.4M
    if (YYGETCONDITION() < 2) {
1718
11.1M
      if (YYGETCONDITION() < 1) {
1719
11.1M
        goto yyc_ST_IN_SCRIPTING;
1720
11.1M
      } else {
1721
70.1k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1722
70.1k
      }
1723
11.1M
    } else {
1724
2.23M
      if (YYGETCONDITION() < 3) {
1725
73.1k
        goto yyc_ST_BACKQUOTE;
1726
2.16M
      } else {
1727
2.16M
        if (YYGETCONDITION() < 4) {
1728
110k
          goto yyc_ST_DOUBLE_QUOTES;
1729
2.04M
        } else {
1730
2.04M
          goto yyc_ST_HEREDOC;
1731
2.04M
        }
1732
2.16M
      }
1733
2.23M
    }
1734
13.4M
  } else {
1735
2.06M
    if (YYGETCONDITION() < 8) {
1736
1.72M
      if (YYGETCONDITION() < 6) {
1737
1.63M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1738
1.63M
      } else {
1739
90.8k
        if (YYGETCONDITION() < 7) {
1740
90.8k
          goto yyc_ST_VAR_OFFSET;
1741
90.8k
        } else {
1742
0
          goto yyc_SHEBANG;
1743
0
        }
1744
90.8k
      }
1745
1.72M
    } else {
1746
338k
      if (YYGETCONDITION() < 9) {
1747
325k
        goto yyc_INITIAL;
1748
325k
      } else {
1749
12.3k
        if (YYGETCONDITION() < 10) {
1750
8.06k
          goto yyc_ST_END_HEREDOC;
1751
8.06k
        } else {
1752
4.30k
          goto yyc_ST_NOWDOC;
1753
4.30k
        }
1754
12.3k
      }
1755
338k
    }
1756
2.06M
  }
1757
/* *********************************** */
1758
11.1M
yyc_ST_IN_SCRIPTING:
1759
11.1M
  YYDEBUG(0, *YYCURSOR);
1760
11.1M
  YYFILL(16);
1761
11.1M
  yych = *YYCURSOR;
1762
11.1M
  if (yybm_ST_IN_SCRIPTING[256+yych] & 32) {
1763
1.26M
    goto yy2;
1764
1.26M
  }
1765
9.84M
  switch (yych) {
1766
387k
    case 0x00:
1767
406k
    case 0x01:
1768
415k
    case 0x02:
1769
419k
    case 0x03:
1770
436k
    case 0x04:
1771
439k
    case 0x05:
1772
444k
    case 0x06:
1773
449k
    case 0x07:
1774
454k
    case 0x08:
1775
454k
    case '\t':
1776
454k
    case '\n':
1777
461k
    case '\v':
1778
470k
    case '\f':
1779
470k
    case '\r':
1780
478k
    case 0x0E:
1781
483k
    case 0x0F:
1782
485k
    case 0x10:
1783
489k
    case 0x11:
1784
492k
    case 0x12:
1785
498k
    case 0x13:
1786
501k
    case 0x14:
1787
504k
    case 0x15:
1788
509k
    case 0x16:
1789
513k
    case 0x17:
1790
518k
    case 0x18:
1791
520k
    case 0x19:
1792
528k
    case 0x1A:
1793
534k
    case 0x1B:
1794
537k
    case 0x1C:
1795
540k
    case 0x1D:
1796
542k
    case 0x1E:
1797
545k
    case 0x1F:
1798
551k
    case 0x7F: goto yy1;
1799
0
    case ' ':
1800
70.3k
    case '!': goto yy3;
1801
76.0k
    case '"': goto yy5;
1802
233k
    case '#': goto yy6;
1803
503k
    case '$': goto yy8;
1804
31.5k
    case '%': goto yy9;
1805
97.1k
    case '&': goto yy10;
1806
63.0k
    case '\'': goto yy12;
1807
425k
    case '(': goto yy13;
1808
306k
    case ')':
1809
485k
    case ']': goto yy15;
1810
56.9k
    case '*': goto yy16;
1811
72.8k
    case '+': goto yy17;
1812
264k
    case ',':
1813
542k
    case ';':
1814
1.07M
    case '@':
1815
1.10M
    case '~': goto yy18;
1816
137k
    case '-': goto yy19;
1817
95.1k
    case '.': goto yy20;
1818
91.3k
    case '/': goto yy21;
1819
85.8k
    case '0': goto yy22;
1820
85.6k
    case '1':
1821
137k
    case '2':
1822
166k
    case '3':
1823
203k
    case '4':
1824
228k
    case '5':
1825
254k
    case '6':
1826
274k
    case '7':
1827
290k
    case '8':
1828
309k
    case '9': goto yy24;
1829
103k
    case ':': goto yy26;
1830
1.95M
    case '<': goto yy27;
1831
117k
    case '=': goto yy28;
1832
39.9k
    case '>': goto yy29;
1833
257k
    case '?': goto yy30;
1834
33.3k
    case 'A':
1835
129k
    case 'a': goto yy31;
1836
14.6k
    case 'B':
1837
45.6k
    case 'b': goto yy33;
1838
36.3k
    case 'C':
1839
133k
    case 'c': goto yy34;
1840
12.1k
    case 'D':
1841
51.3k
    case 'd': goto yy35;
1842
13.2k
    case 'E':
1843
223k
    case 'e': goto yy36;
1844
23.8k
    case 'F':
1845
177k
    case 'f': goto yy37;
1846
4.23k
    case 'G':
1847
34.3k
    case 'g': goto yy38;
1848
14.2k
    case 'I':
1849
109k
    case 'i': goto yy41;
1850
5.86k
    case 'L':
1851
29.1k
    case 'l': goto yy42;
1852
4.20k
    case 'M':
1853
22.1k
    case 'm': goto yy43;
1854
7.76k
    case 'N':
1855
77.5k
    case 'n': goto yy44;
1856
5.91k
    case 'O':
1857
37.6k
    case 'o': goto yy45;
1858
8.40k
    case 'P':
1859
88.4k
    case 'p': goto yy46;
1860
5.41k
    case 'R':
1861
56.3k
    case 'r': goto yy47;
1862
12.7k
    case 'S':
1863
70.0k
    case 's': goto yy48;
1864
11.8k
    case 'T':
1865
61.9k
    case 't': goto yy49;
1866
3.13k
    case 'U':
1867
34.7k
    case 'u': goto yy50;
1868
2.25k
    case 'V':
1869
22.2k
    case 'v': goto yy51;
1870
2.83k
    case 'W':
1871
11.0k
    case 'w': goto yy52;
1872
6.99k
    case 'X':
1873
13.1k
    case 'x': goto yy53;
1874
2.24k
    case 'Y':
1875
72.4k
    case 'y': goto yy54;
1876
187k
    case '[': goto yy55;
1877
72.6k
    case '\\': goto yy56;
1878
24.8k
    case '^': goto yy58;
1879
93.0k
    case '_': goto yy59;
1880
27.8k
    case '`': goto yy60;
1881
397k
    case '{': goto yy61;
1882
61.4k
    case '|': goto yy62;
1883
111k
    case '}': goto yy63;
1884
395k
    default: goto yy39;
1885
9.84M
  }
1886
551k
yy1:
1887
551k
  YYDEBUG(1, *YYCURSOR);
1888
551k
  ++YYCURSOR;
1889
551k
  yyleng = YYCURSOR - SCNG(yy_text);
1890
551k
#line 3209 "Zend/zend_language_scanner.l"
1891
551k
  {
1892
551k
  if (YYCURSOR > YYLIMIT) {
1893
121k
    RETURN_END_TOKEN;
1894
121k
  }
1895
1896
430k
  RETURN_TOKEN(T_BAD_CHARACTER);
1897
430k
}
1898
0
#line 1899 "Zend/zend_language_scanner.c"
1899
1.64M
yy2:
1900
1.64M
  YYDEBUG(2, *YYCURSOR);
1901
1.64M
  ++YYCURSOR;
1902
1.64M
  YYFILL(1);
1903
1.64M
  yych = *YYCURSOR;
1904
1.64M
  if (yybm_ST_IN_SCRIPTING[256+yych] & 32) {
1905
379k
    goto yy2;
1906
379k
  }
1907
1.26M
  yyleng = YYCURSOR - SCNG(yy_text);
1908
1.26M
#line 1626 "Zend/zend_language_scanner.l"
1909
1.26M
  {
1910
1.26M
  goto return_whitespace;
1911
1.64M
}
1912
0
#line 1913 "Zend/zend_language_scanner.c"
1913
70.3k
yy3:
1914
70.3k
  YYDEBUG(3, *YYCURSOR);
1915
70.3k
  yych = *++YYCURSOR;
1916
70.3k
  if (yych == '=') goto yy64;
1917
2.39M
yy4:
1918
2.39M
  YYDEBUG(4, *YYCURSOR);
1919
2.39M
  yyleng = YYCURSOR - SCNG(yy_text);
1920
2.39M
#line 1998 "Zend/zend_language_scanner.l"
1921
2.39M
  {
1922
2.39M
  RETURN_TOKEN(yytext[0]);
1923
2.39M
}
1924
0
#line 1925 "Zend/zend_language_scanner.c"
1925
76.5k
yy5:
1926
76.5k
  YYDEBUG(5, *YYCURSOR);
1927
76.5k
  ++YYCURSOR;
1928
76.5k
  yyleng = YYCURSOR - SCNG(yy_text);
1929
76.5k
#line 2661 "Zend/zend_language_scanner.l"
1930
76.5k
  {
1931
76.5k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1932
1933
784k
  while (YYCURSOR < YYLIMIT) {
1934
778k
    switch (*YYCURSOR++) {
1935
52.6k
      case '"':
1936
52.6k
        yyleng = YYCURSOR - SCNG(yy_text);
1937
52.6k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1938
52.6k
         || !PARSER_MODE()) {
1939
52.6k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1940
52.6k
        } else {
1941
26
          RETURN_TOKEN(T_ERROR);
1942
26
        }
1943
23.3k
      case '$':
1944
23.3k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1945
17.2k
          break;
1946
17.2k
        }
1947
6.18k
        continue;
1948
6.18k
      case '{':
1949
6.01k
        if (*YYCURSOR == '$') {
1950
742
          break;
1951
742
        }
1952
5.26k
        continue;
1953
21.7k
      case '\\':
1954
21.7k
        if (YYCURSOR < YYLIMIT) {
1955
21.3k
          YYCURSOR++;
1956
21.3k
        }
1957
21.7k
        ZEND_FALLTHROUGH;
1958
696k
      default:
1959
696k
        continue;
1960
778k
    }
1961
1962
17.9k
    YYCURSOR--;
1963
17.9k
    break;
1964
778k
  }
1965
1966
  /* Remember how much was scanned to save rescanning */
1967
76.5k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1968
1969
23.8k
  YYCURSOR = SCNG(yy_text) + yyleng;
1970
1971
23.8k
  BEGIN(ST_DOUBLE_QUOTES);
1972
23.8k
  RETURN_TOKEN('"');
1973
23.8k
}
1974
0
#line 1975 "Zend/zend_language_scanner.c"
1975
233k
yy6:
1976
233k
  YYDEBUG(6, *YYCURSOR);
1977
233k
  yych = *++YYCURSOR;
1978
233k
  if (yych == '[') goto yy66;
1979
220k
yy7:
1980
220k
  YYDEBUG(7, *YYCURSOR);
1981
220k
  yyleng = YYCURSOR - SCNG(yy_text);
1982
220k
#line 2489 "Zend/zend_language_scanner.l"
1983
220k
  {
1984
433k
  while (YYCURSOR < YYLIMIT) {
1985
428k
    switch (*YYCURSOR++) {
1986
82.3k
      case '\r':
1987
212k
      case '\n':
1988
212k
        YYCURSOR--;
1989
212k
        break;
1990
5.15k
      case '?':
1991
5.15k
        if (*YYCURSOR == '>') {
1992
1.86k
          YYCURSOR--;
1993
1.86k
          break;
1994
1.86k
        }
1995
3.28k
        ZEND_FALLTHROUGH;
1996
213k
      default:
1997
213k
        continue;
1998
428k
    }
1999
2000
214k
    break;
2001
428k
  }
2002
2003
220k
  yyleng = YYCURSOR - SCNG(yy_text);
2004
220k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
2005
220k
}
2006
0
#line 2007 "Zend/zend_language_scanner.c"
2007
503k
yy8:
2008
503k
  YYDEBUG(8, *YYCURSOR);
2009
503k
  yych = *++YYCURSOR;
2010
503k
  if (yych <= '_') {
2011
163k
    if (yych <= '@') goto yy4;
2012
24.7k
    if (yych <= 'Z') goto yy67;
2013
4.36k
    if (yych <= '^') goto yy4;
2014
3.26k
    goto yy67;
2015
340k
  } else {
2016
340k
    if (yych <= '`') goto yy4;
2017
339k
    if (yych <= 'z') goto yy67;
2018
212k
    if (yych <= 0x7F) goto yy4;
2019
40.3k
    goto yy67;
2020
212k
  }
2021
31.5k
yy9:
2022
31.5k
  YYDEBUG(9, *YYCURSOR);
2023
31.5k
  yych = *++YYCURSOR;
2024
31.5k
  if (yych == '=') goto yy69;
2025
30.2k
  goto yy4;
2026
97.1k
yy10:
2027
97.1k
  YYDEBUG(10, *YYCURSOR);
2028
97.1k
  yyaccept = 0;
2029
97.1k
  yych = *(YYMARKER = ++YYCURSOR);
2030
97.1k
  if (yych <= '"') {
2031
36.7k
    if (yych <= '\f') {
2032
19.4k
      if (yych <= 0x08) goto yy11;
2033
18.5k
      if (yych <= '\n') goto yy71;
2034
18.5k
    } else {
2035
17.3k
      if (yych <= '\r') goto yy71;
2036
9.55k
      if (yych == ' ') goto yy71;
2037
9.55k
    }
2038
60.4k
  } else {
2039
60.4k
    if (yych <= '-') {
2040
23.6k
      if (yych <= '$') goto yy71;
2041
13.1k
      if (yych == '&') goto yy76;
2042
36.8k
    } else {
2043
36.8k
      if (yych <= '/') goto yy71;
2044
35.0k
      if (yych == '=') goto yy79;
2045
35.0k
    }
2046
60.4k
  }
2047
76.7k
yy11:
2048
76.7k
  YYDEBUG(11, *YYCURSOR);
2049
76.7k
  yyleng = YYCURSOR - SCNG(yy_text);
2050
76.7k
#line 1984 "Zend/zend_language_scanner.l"
2051
76.7k
  {
2052
76.7k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
2053
76.7k
}
2054
0
#line 2055 "Zend/zend_language_scanner.c"
2055
63.3k
yy12:
2056
63.3k
  YYDEBUG(12, *YYCURSOR);
2057
63.3k
  ++YYCURSOR;
2058
63.3k
  yyleng = YYCURSOR - SCNG(yy_text);
2059
63.3k
#line 2567 "Zend/zend_language_scanner.l"
2060
63.3k
  {
2061
63.3k
  char *s, *t;
2062
63.3k
  char *end;
2063
63.3k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
2064
2065
597k
  while (1) {
2066
597k
    if (YYCURSOR < YYLIMIT) {
2067
593k
      if (*YYCURSOR == '\'') {
2068
59.4k
        YYCURSOR++;
2069
59.4k
        yyleng = YYCURSOR - SCNG(yy_text);
2070
2071
59.4k
        break;
2072
533k
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
2073
3.28k
        YYCURSOR++;
2074
3.28k
      }
2075
593k
    } else {
2076
3.84k
      yyleng = YYLIMIT - SCNG(yy_text);
2077
2078
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
2079
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
2080
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
2081
3.84k
      ZVAL_NULL(zendlval);
2082
3.84k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
2083
3.84k
    }
2084
597k
  }
2085
2086
59.4k
  if (yyleng-bprefix-2 <= 1) {
2087
29.0k
    if (yyleng-bprefix-2 < 1) {
2088
10.9k
      ZVAL_EMPTY_STRING(zendlval);
2089
18.1k
    } else {
2090
18.1k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
2091
18.1k
      HANDLE_NEWLINE(c);
2092
18.1k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
2093
18.1k
    }
2094
29.0k
    goto skip_escape_conversion;
2095
29.0k
  }
2096
30.3k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
2097
2098
  /* convert escape sequences */
2099
30.3k
  s = Z_STRVAL_P(zendlval);
2100
30.3k
  end = s+Z_STRLEN_P(zendlval);
2101
414k
  while (1) {
2102
414k
    if (UNEXPECTED(*s=='\\')) {
2103
1.45k
      break;
2104
1.45k
    }
2105
412k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
2106
10.6k
      CG(zend_lineno)++;
2107
10.6k
    }
2108
412k
    s++;
2109
412k
    if (s == end) {
2110
28.9k
      goto skip_escape_conversion;
2111
28.9k
    }
2112
412k
  }
2113
2114
1.45k
  t = s;
2115
52.0k
  while (s<end) {
2116
50.6k
    if (*s=='\\') {
2117
2.97k
      s++;
2118
2.97k
      if (*s == '\\' || *s == '\'') {
2119
975
        *t++ = *s;
2120
2.00k
      } else {
2121
2.00k
        *t++ = '\\';
2122
2.00k
        *t++ = *s;
2123
2.00k
      }
2124
47.6k
    } else {
2125
47.6k
      *t++ = *s;
2126
47.6k
    }
2127
50.6k
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
2128
3.29k
      CG(zend_lineno)++;
2129
3.29k
    }
2130
50.6k
    s++;
2131
50.6k
  }
2132
1.45k
  *t = 0;
2133
1.45k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
2134
2135
59.4k
skip_escape_conversion:
2136
59.4k
  if (SCNG(output_filter)) {
2137
0
    size_t sz = 0;
2138
0
    char *str = NULL;
2139
0
    zend_string *new_str;
2140
0
    s = Z_STRVAL_P(zendlval);
2141
    // TODO: avoid reallocation ???
2142
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
2143
0
    new_str = zend_string_init(str, sz, 0);
2144
0
    if (str != s) {
2145
0
      efree(str);
2146
0
    }
2147
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
2148
0
    ZVAL_STR(zendlval, new_str);
2149
0
  }
2150
59.4k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
2151
59.4k
}
2152
0
#line 2153 "Zend/zend_language_scanner.c"
2153
425k
yy13:
2154
425k
  YYDEBUG(13, *YYCURSOR);
2155
425k
  yyaccept = 1;
2156
425k
  yych = *(YYMARKER = ++YYCURSOR);
2157
425k
  if (yych <= 'S') {
2158
214k
    if (yych <= 'D') {
2159
205k
      if (yych <= ' ') {
2160
22.0k
        if (yych == '\t') goto yy81;
2161
17.2k
        if (yych >= ' ') goto yy81;
2162
183k
      } else {
2163
183k
        if (yych <= '@') goto yy14;
2164
13.9k
        if (yych != 'C') goto yy81;
2165
13.9k
      }
2166
205k
    } else {
2167
9.42k
      if (yych <= 'I') {
2168
2.73k
        if (yych == 'F') goto yy81;
2169
1.93k
        if (yych >= 'I') goto yy81;
2170
6.69k
      } else {
2171
6.69k
        if (yych == 'O') goto yy81;
2172
5.88k
        if (yych >= 'R') goto yy81;
2173
5.88k
      }
2174
9.42k
    }
2175
214k
  } else {
2176
210k
    if (yych <= 'f') {
2177
93.2k
      if (yych <= 'b') {
2178
69.8k
        if (yych <= 'T') goto yy14;
2179
69.1k
        if (yych <= 'V') goto yy81;
2180
67.3k
        if (yych >= 'a') goto yy81;
2181
67.3k
      } else {
2182
23.3k
        if (yych == 'd') goto yy81;
2183
18.4k
        if (yych >= 'f') goto yy81;
2184
18.4k
      }
2185
117k
    } else {
2186
117k
      if (yych <= 'o') {
2187
39.5k
        if (yych == 'i') goto yy81;
2188
26.3k
        if (yych >= 'o') goto yy81;
2189
77.9k
      } else {
2190
77.9k
        if (yych <= 's') {
2191
24.4k
          if (yych >= 'r') goto yy81;
2192
53.5k
        } else {
2193
53.5k
          if (yych <= 't') goto yy14;
2194
47.6k
          if (yych <= 'v') goto yy81;
2195
47.6k
        }
2196
77.9k
      }
2197
117k
    }
2198
210k
  }
2199
599k
yy14:
2200
599k
  YYDEBUG(14, *YYCURSOR);
2201
599k
  yyleng = YYCURSOR - SCNG(yy_text);
2202
599k
#line 1993 "Zend/zend_language_scanner.l"
2203
599k
  {
2204
599k
  enter_nesting(yytext[0]);
2205
599k
  RETURN_TOKEN(yytext[0]);
2206
599k
}
2207
0
#line 2208 "Zend/zend_language_scanner.c"
2208
485k
yy15:
2209
485k
  YYDEBUG(15, *YYCURSOR);
2210
485k
  ++YYCURSOR;
2211
485k
  yyleng = YYCURSOR - SCNG(yy_text);
2212
485k
#line 1988 "Zend/zend_language_scanner.l"
2213
485k
  {
2214
  /* Check that ] and ) match up properly with a preceding [ or ( */
2215
485k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
2216
485k
}
2217
0
#line 2218 "Zend/zend_language_scanner.c"
2218
56.9k
yy16:
2219
56.9k
  YYDEBUG(16, *YYCURSOR);
2220
56.9k
  yych = *++YYCURSOR;
2221
56.9k
  if (yych == '*') goto yy92;
2222
47.3k
  if (yych == '=') goto yy93;
2223
44.1k
  goto yy4;
2224
72.8k
yy17:
2225
72.8k
  YYDEBUG(17, *YYCURSOR);
2226
72.8k
  yych = *++YYCURSOR;
2227
72.8k
  if (yych == '+') goto yy94;
2228
56.2k
  if (yych == '=') goto yy95;
2229
55.0k
  goto yy4;
2230
1.10M
yy18:
2231
1.10M
  YYDEBUG(18, *YYCURSOR);
2232
1.10M
  ++YYCURSOR;
2233
1.10M
  goto yy4;
2234
137k
yy19:
2235
137k
  YYDEBUG(19, *YYCURSOR);
2236
137k
  yych = *++YYCURSOR;
2237
137k
  if (yych <= '<') {
2238
61.7k
    if (yych == '-') goto yy96;
2239
57.3k
    goto yy4;
2240
75.7k
  } else {
2241
75.7k
    if (yych <= '=') goto yy97;
2242
74.9k
    if (yych <= '>') goto yy98;
2243
39.4k
    goto yy4;
2244
74.9k
  }
2245
95.1k
yy20:
2246
95.1k
  YYDEBUG(20, *YYCURSOR);
2247
95.1k
  yyaccept = 2;
2248
95.1k
  yych = *(YYMARKER = ++YYCURSOR);
2249
95.1k
  if (yych <= '/') {
2250
46.9k
    if (yych == '.') goto yy99;
2251
23.5k
    goto yy4;
2252
48.2k
  } else {
2253
48.2k
    if (yych <= '9') goto yy100;
2254
24.8k
    if (yych == '=') goto yy103;
2255
23.3k
    goto yy4;
2256
24.8k
  }
2257
91.3k
yy21:
2258
91.3k
  YYDEBUG(21, *YYCURSOR);
2259
91.3k
  yych = *++YYCURSOR;
2260
91.3k
  if (yych <= '.') {
2261
44.8k
    if (yych == '*') goto yy104;
2262
13.8k
    goto yy4;
2263
46.4k
  } else {
2264
46.4k
    if (yych <= '/') goto yy106;
2265
43.1k
    if (yych == '=') goto yy107;
2266
42.0k
    goto yy4;
2267
43.1k
  }
2268
85.8k
yy22:
2269
85.8k
  YYDEBUG(22, *YYCURSOR);
2270
85.8k
  yyaccept = 3;
2271
85.8k
  yych = *(YYMARKER = ++YYCURSOR);
2272
85.8k
  if (yych <= 'X') {
2273
49.2k
    if (yych <= 'N') {
2274
46.0k
      if (yych == 'B') goto yy109;
2275
45.7k
      goto yy25;
2276
46.0k
    } else {
2277
3.19k
      if (yych <= 'O') goto yy111;
2278
2.83k
      if (yych <= 'W') goto yy25;
2279
2.46k
      goto yy112;
2280
2.83k
    }
2281
49.2k
  } else {
2282
36.6k
    if (yych <= 'n') {
2283
20.7k
      if (yych == 'b') goto yy109;
2284
18.5k
      goto yy25;
2285
20.7k
    } else {
2286
15.8k
      if (yych <= 'o') goto yy111;
2287
13.6k
      if (yych == 'x') goto yy112;
2288
12.6k
      goto yy25;
2289
13.6k
    }
2290
36.6k
  }
2291
338k
yy23:
2292
338k
  YYDEBUG(23, *YYCURSOR);
2293
338k
  yyleng = YYCURSOR - SCNG(yy_text);
2294
338k
#line 2132 "Zend/zend_language_scanner.l"
2295
338k
  {
2296
338k
  size_t len = yyleng;
2297
338k
  char *end, *lnum = yytext;
2298
338k
  bool is_octal = lnum[0] == '0';
2299
338k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2300
2301
338k
  if (contains_underscores) {
2302
1.36k
    lnum = estrndup(lnum, len);
2303
1.36k
    strip_underscores(lnum, &len);
2304
1.36k
  }
2305
2306
  /* Digits 8 and 9 are illegal in octal literals. */
2307
338k
  if (is_octal) {
2308
71.8k
    size_t i;
2309
174k
    for (i = 0; i < len; i++) {
2310
102k
      if (lnum[i] == '8' || lnum[i] == '9') {
2311
837
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2312
837
        if (PARSER_MODE()) {
2313
65
          if (contains_underscores) {
2314
21
            efree(lnum);
2315
21
          }
2316
65
          ZVAL_UNDEF(zendlval);
2317
65
          RETURN_TOKEN(T_ERROR);
2318
65
        }
2319
2320
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2321
772
        len = i;
2322
772
        break;
2323
837
      }
2324
102k
    }
2325
71.8k
  }
2326
2327
2328
338k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2329
329k
    errno = 0;
2330
    /* base must be passed explicitly for correct parse error on Windows */
2331
329k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2332
329k
    ZEND_ASSERT(end == lnum + len);
2333
329k
  } else {
2334
8.39k
    errno = 0;
2335
8.39k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2336
8.39k
    if (errno == ERANGE) { /* Overflow */
2337
7.07k
      errno = 0;
2338
7.07k
      if (is_octal) { /* octal overflow */
2339
270
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2340
6.80k
      } else {
2341
6.80k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2342
6.80k
      }
2343
7.07k
      ZEND_ASSERT(end == lnum + len);
2344
7.07k
      if (contains_underscores) {
2345
526
        efree(lnum);
2346
526
      }
2347
7.07k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2348
7.07k
    }
2349
1.32k
    ZEND_ASSERT(end == lnum + len);
2350
1.32k
  }
2351
331k
  ZEND_ASSERT(!errno);
2352
331k
  if (contains_underscores) {
2353
813
    efree(lnum);
2354
813
  }
2355
331k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2356
331k
}
2357
0
#line 2358 "Zend/zend_language_scanner.c"
2358
976k
yy24:
2359
976k
  YYDEBUG(24, *YYCURSOR);
2360
976k
  yyaccept = 3;
2361
976k
  YYMARKER = ++YYCURSOR;
2362
976k
  YYFILL(3);
2363
976k
  yych = *YYCURSOR;
2364
1.05M
yy25:
2365
1.05M
  YYDEBUG(25, *YYCURSOR);
2366
1.05M
  if (yybm_ST_IN_SCRIPTING[256+yych] & 64) {
2367
664k
    goto yy24;
2368
664k
  }
2369
389k
  if (yych <= 'E') {
2370
265k
    if (yych == '.') goto yy108;
2371
235k
    if (yych <= 'D') goto yy23;
2372
11.5k
    goto yy110;
2373
235k
  } else {
2374
123k
    if (yych <= '_') {
2375
62.5k
      if (yych <= '^') goto yy23;
2376
4.86k
      goto yy113;
2377
62.5k
    } else {
2378
61.3k
      if (yych == 'e') goto yy110;
2379
49.3k
      goto yy23;
2380
61.3k
    }
2381
123k
  }
2382
103k
yy26:
2383
103k
  YYDEBUG(26, *YYCURSOR);
2384
103k
  yych = *++YYCURSOR;
2385
103k
  if (yych == ':') goto yy114;
2386
40.6k
  goto yy4;
2387
1.95M
yy27:
2388
1.95M
  YYDEBUG(27, *YYCURSOR);
2389
1.95M
  yych = *++YYCURSOR;
2390
1.95M
  if (yych <= ';') goto yy4;
2391
1.88M
  if (yych <= '<') goto yy115;
2392
195k
  if (yych <= '=') goto yy117;
2393
187k
  if (yych <= '>') goto yy118;
2394
184k
  goto yy4;
2395
184k
yy28:
2396
117k
  YYDEBUG(28, *YYCURSOR);
2397
117k
  yych = *++YYCURSOR;
2398
117k
  if (yych <= '<') goto yy4;
2399
73.7k
  if (yych <= '=') goto yy119;
2400
60.8k
  if (yych <= '>') goto yy120;
2401
22.1k
  goto yy4;
2402
39.9k
yy29:
2403
39.9k
  YYDEBUG(29, *YYCURSOR);
2404
39.9k
  yych = *++YYCURSOR;
2405
39.9k
  if (yych <= '<') goto yy4;
2406
21.6k
  if (yych <= '=') goto yy121;
2407
18.6k
  if (yych <= '>') goto yy122;
2408
13.1k
  goto yy4;
2409
257k
yy30:
2410
257k
  YYDEBUG(30, *YYCURSOR);
2411
257k
  yyaccept = 2;
2412
257k
  yych = *(YYMARKER = ++YYCURSOR);
2413
257k
  if (yych <= '=') {
2414
66.3k
    if (yych == '-') goto yy123;
2415
54.8k
    goto yy4;
2416
191k
  } else {
2417
191k
    if (yych <= '>') goto yy124;
2418
80.0k
    if (yych <= '?') goto yy126;
2419
45.5k
    goto yy4;
2420
80.0k
  }
2421
129k
yy31:
2422
129k
  YYDEBUG(31, *YYCURSOR);
2423
129k
  yyaccept = 4;
2424
129k
  yych = *(YYMARKER = ++YYCURSOR);
2425
129k
  if (yych <= 'S') {
2426
41.8k
    if (yych <= 'M') {
2427
30.9k
      if (yych == 'B') goto yy127;
2428
29.9k
      goto yy40;
2429
30.9k
    } else {
2430
10.8k
      if (yych <= 'N') goto yy128;
2431
10.2k
      if (yych <= 'Q') goto yy40;
2432
10.0k
      if (yych <= 'R') goto yy129;
2433
8.81k
      goto yy130;
2434
10.0k
    }
2435
87.2k
  } else {
2436
87.2k
    if (yych <= 'n') {
2437
23.8k
      if (yych == 'b') goto yy127;
2438
17.3k
      if (yych <= 'm') goto yy40;
2439
3.80k
      goto yy128;
2440
63.3k
    } else {
2441
63.3k
      if (yych <= 'q') goto yy40;
2442
62.7k
      if (yych <= 'r') goto yy129;
2443
50.6k
      if (yych <= 's') goto yy130;
2444
8.45k
      goto yy40;
2445
50.6k
    }
2446
87.2k
  }
2447
1.50M
yy32:
2448
1.50M
  YYDEBUG(32, *YYCURSOR);
2449
1.50M
  yyleng = YYCURSOR - SCNG(yy_text);
2450
1.50M
#line 2484 "Zend/zend_language_scanner.l"
2451
1.50M
  {
2452
1.50M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2453
1.50M
}
2454
0
#line 2455 "Zend/zend_language_scanner.c"
2455
45.6k
yy33:
2456
45.6k
  YYDEBUG(33, *YYCURSOR);
2457
45.6k
  yyaccept = 4;
2458
45.6k
  yych = *(YYMARKER = ++YYCURSOR);
2459
45.6k
  if (yych <= ';') {
2460
13.9k
    if (yych <= '"') {
2461
6.00k
      if (yych <= '!') goto yy40;
2462
428
      goto yy5;
2463
7.91k
    } else {
2464
7.91k
      if (yych == '\'') goto yy12;
2465
7.65k
      goto yy40;
2466
7.91k
    }
2467
31.7k
  } else {
2468
31.7k
    if (yych <= 'R') {
2469
6.87k
      if (yych <= '<') goto yy133;
2470
4.52k
      if (yych <= 'Q') goto yy40;
2471
274
      goto yy134;
2472
24.8k
    } else {
2473
24.8k
      if (yych == 'r') goto yy134;
2474
20.6k
      goto yy40;
2475
24.8k
    }
2476
31.7k
  }
2477
133k
yy34:
2478
133k
  YYDEBUG(34, *YYCURSOR);
2479
133k
  yyaccept = 4;
2480
133k
  yych = *(YYMARKER = ++YYCURSOR);
2481
133k
  if (yych <= 'O') {
2482
32.0k
    if (yych <= 'K') {
2483
27.9k
      if (yych == 'A') goto yy135;
2484
25.6k
      goto yy40;
2485
27.9k
    } else {
2486
4.08k
      if (yych <= 'L') goto yy136;
2487
2.66k
      if (yych <= 'N') goto yy40;
2488
2.34k
      goto yy137;
2489
2.66k
    }
2490
101k
  } else {
2491
101k
    if (yych <= 'k') {
2492
28.9k
      if (yych == 'a') goto yy135;
2493
8.20k
      goto yy40;
2494
72.0k
    } else {
2495
72.0k
      if (yych <= 'l') goto yy136;
2496
34.5k
      if (yych == 'o') goto yy137;
2497
13.2k
      goto yy40;
2498
34.5k
    }
2499
101k
  }
2500
51.3k
yy35:
2501
51.3k
  YYDEBUG(35, *YYCURSOR);
2502
51.3k
  yyaccept = 4;
2503
51.3k
  yych = *(YYMARKER = ++YYCURSOR);
2504
51.3k
  if (yych <= 'O') {
2505
14.8k
    if (yych <= 'H') {
2506
13.3k
      if (yych == 'E') goto yy138;
2507
12.2k
      goto yy40;
2508
13.3k
    } else {
2509
1.45k
      if (yych <= 'I') goto yy139;
2510
1.05k
      if (yych <= 'N') goto yy40;
2511
655
      goto yy140;
2512
1.05k
    }
2513
36.5k
  } else {
2514
36.5k
    if (yych <= 'h') {
2515
21.9k
      if (yych == 'e') goto yy138;
2516
6.45k
      goto yy40;
2517
21.9k
    } else {
2518
14.6k
      if (yych <= 'i') goto yy139;
2519
8.75k
      if (yych == 'o') goto yy140;
2520
3.87k
      goto yy40;
2521
8.75k
    }
2522
36.5k
  }
2523
223k
yy36:
2524
223k
  YYDEBUG(36, *YYCURSOR);
2525
223k
  yyaccept = 4;
2526
223k
  yych = *(YYMARKER = ++YYCURSOR);
2527
223k
  switch (yych) {
2528
517
    case 'C':
2529
7.72k
    case 'c': goto yy142;
2530
587
    case 'L':
2531
12.4k
    case 'l': goto yy143;
2532
480
    case 'M':
2533
4.28k
    case 'm': goto yy144;
2534
50.9k
    case 'N':
2535
120k
    case 'n': goto yy145;
2536
322
    case 'V':
2537
5.82k
    case 'v': goto yy146;
2538
1.47k
    case 'X':
2539
20.3k
    case 'x': goto yy147;
2540
52.3k
    default: goto yy40;
2541
223k
  }
2542
177k
yy37:
2543
177k
  YYDEBUG(37, *YYCURSOR);
2544
177k
  yyaccept = 4;
2545
177k
  yych = *(YYMARKER = ++YYCURSOR);
2546
177k
  if (yych <= 'U') {
2547
52.3k
    if (yych <= 'M') {
2548
43.5k
      if (yych == 'I') goto yy148;
2549
43.1k
      goto yy40;
2550
43.5k
    } else {
2551
8.83k
      if (yych <= 'N') goto yy149;
2552
8.44k
      if (yych <= 'O') goto yy151;
2553
6.42k
      if (yych <= 'T') goto yy40;
2554
1.16k
      goto yy152;
2555
6.42k
    }
2556
125k
  } else {
2557
125k
    if (yych <= 'n') {
2558
44.1k
      if (yych == 'i') goto yy148;
2559
31.8k
      if (yych <= 'm') goto yy40;
2560
20.8k
      goto yy149;
2561
81.0k
    } else {
2562
81.0k
      if (yych <= 'o') goto yy151;
2563
54.6k
      if (yych == 'u') goto yy152;
2564
12.6k
      goto yy40;
2565
54.6k
    }
2566
125k
  }
2567
34.3k
yy38:
2568
34.3k
  YYDEBUG(38, *YYCURSOR);
2569
34.3k
  yyaccept = 4;
2570
34.3k
  yych = *(YYMARKER = ++YYCURSOR);
2571
34.3k
  if (yych <= 'O') {
2572
14.3k
    if (yych == 'L') goto yy153;
2573
13.4k
    if (yych <= 'N') goto yy40;
2574
499
    goto yy154;
2575
19.9k
  } else {
2576
19.9k
    if (yych <= 'l') {
2577
12.5k
      if (yych <= 'k') goto yy40;
2578
3.04k
      goto yy153;
2579
12.5k
    } else {
2580
7.37k
      if (yych == 'o') goto yy154;
2581
2.41k
      goto yy40;
2582
7.37k
    }
2583
19.9k
  }
2584
4.55M
yy39:
2585
4.55M
  YYDEBUG(39, *YYCURSOR);
2586
4.55M
  yyaccept = 4;
2587
4.55M
  YYMARKER = ++YYCURSOR;
2588
4.55M
  YYFILL(1);
2589
4.55M
  yych = *YYCURSOR;
2590
5.55M
yy40:
2591
5.55M
  YYDEBUG(40, *YYCURSOR);
2592
5.55M
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
2593
4.04M
    goto yy39;
2594
4.04M
  }
2595
1.50M
  if (yych == '\\') goto yy132;
2596
1.48M
  goto yy32;
2597
1.48M
yy41:
2598
109k
  YYDEBUG(41, *YYCURSOR);
2599
109k
  yyaccept = 4;
2600
109k
  yych = *(YYMARKER = ++YYCURSOR);
2601
109k
  if (yych <= 'S') {
2602
22.0k
    if (yych <= 'L') {
2603
12.6k
      if (yych == 'F') goto yy155;
2604
12.1k
      goto yy40;
2605
12.6k
    } else {
2606
9.39k
      if (yych <= 'M') goto yy157;
2607
6.70k
      if (yych <= 'N') goto yy158;
2608
1.54k
      if (yych <= 'R') goto yy40;
2609
410
      goto yy159;
2610
1.54k
    }
2611
87.5k
  } else {
2612
87.5k
    if (yych <= 'm') {
2613
18.4k
      if (yych == 'f') goto yy155;
2614
12.5k
      if (yych <= 'l') goto yy40;
2615
8.00k
      goto yy157;
2616
69.0k
    } else {
2617
69.0k
      if (yych <= 'n') goto yy158;
2618
16.0k
      if (yych == 's') goto yy159;
2619
7.74k
      goto yy40;
2620
16.0k
    }
2621
87.5k
  }
2622
29.1k
yy42:
2623
29.1k
  YYDEBUG(42, *YYCURSOR);
2624
29.1k
  yyaccept = 4;
2625
29.1k
  yych = *(YYMARKER = ++YYCURSOR);
2626
29.1k
  if (yych == 'I') goto yy160;
2627
28.8k
  if (yych == 'i') goto yy160;
2628
24.2k
  goto yy40;
2629
24.2k
yy43:
2630
22.1k
  YYDEBUG(43, *YYCURSOR);
2631
22.1k
  yyaccept = 4;
2632
22.1k
  yych = *(YYMARKER = ++YYCURSOR);
2633
22.1k
  if (yych == 'A') goto yy161;
2634
21.8k
  if (yych == 'a') goto yy161;
2635
16.6k
  goto yy40;
2636
77.5k
yy44:
2637
77.5k
  YYDEBUG(44, *YYCURSOR);
2638
77.5k
  yyaccept = 4;
2639
77.5k
  yych = *(YYMARKER = ++YYCURSOR);
2640
77.5k
  if (yych <= 'E') {
2641
18.5k
    if (yych == 'A') goto yy162;
2642
17.5k
    if (yych <= 'D') goto yy40;
2643
2.36k
    goto yy163;
2644
59.0k
  } else {
2645
59.0k
    if (yych <= 'a') {
2646
19.4k
      if (yych <= '`') goto yy40;
2647
15.5k
      goto yy162;
2648
39.6k
    } else {
2649
39.6k
      if (yych == 'e') goto yy163;
2650
20.8k
      goto yy40;
2651
39.6k
    }
2652
59.0k
  }
2653
37.6k
yy45:
2654
37.6k
  YYDEBUG(45, *YYCURSOR);
2655
37.6k
  yyaccept = 4;
2656
37.6k
  yych = *(YYMARKER = ++YYCURSOR);
2657
37.6k
  if (yych == 'R') goto yy164;
2658
37.0k
  if (yych == 'r') goto yy164;
2659
34.3k
  goto yy40;
2660
88.4k
yy46:
2661
88.4k
  YYDEBUG(46, *YYCURSOR);
2662
88.4k
  yyaccept = 4;
2663
88.4k
  yych = *(YYMARKER = ++YYCURSOR);
2664
88.4k
  if (yych <= 'U') {
2665
21.9k
    if (yych == 'R') goto yy166;
2666
18.5k
    if (yych <= 'T') goto yy40;
2667
1.89k
    goto yy167;
2668
66.4k
  } else {
2669
66.4k
    if (yych <= 'r') {
2670
41.9k
      if (yych <= 'q') goto yy40;
2671
22.1k
      goto yy166;
2672
41.9k
    } else {
2673
24.4k
      if (yych == 'u') goto yy167;
2674
4.22k
      goto yy40;
2675
24.4k
    }
2676
66.4k
  }
2677
56.3k
yy47:
2678
56.3k
  YYDEBUG(47, *YYCURSOR);
2679
56.3k
  yyaccept = 4;
2680
56.3k
  yych = *(YYMARKER = ++YYCURSOR);
2681
56.3k
  if (yych == 'E') goto yy168;
2682
51.4k
  if (yych == 'e') goto yy168;
2683
30.3k
  goto yy40;
2684
70.0k
yy48:
2685
70.0k
  YYDEBUG(48, *YYCURSOR);
2686
70.0k
  yyaccept = 4;
2687
70.0k
  yych = *(YYMARKER = ++YYCURSOR);
2688
70.0k
  if (yych <= 'W') {
2689
21.9k
    if (yych == 'T') goto yy169;
2690
19.4k
    if (yych <= 'V') goto yy40;
2691
582
    goto yy170;
2692
48.0k
  } else {
2693
48.0k
    if (yych <= 't') {
2694
40.1k
      if (yych <= 's') goto yy40;
2695
17.4k
      goto yy169;
2696
40.1k
    } else {
2697
7.90k
      if (yych == 'w') goto yy170;
2698
3.30k
      goto yy40;
2699
7.90k
    }
2700
48.0k
  }
2701
61.9k
yy49:
2702
61.9k
  YYDEBUG(49, *YYCURSOR);
2703
61.9k
  yyaccept = 4;
2704
61.9k
  yych = *(YYMARKER = ++YYCURSOR);
2705
61.9k
  if (yych <= 'R') {
2706
23.6k
    if (yych == 'H') goto yy171;
2707
23.2k
    if (yych <= 'Q') goto yy40;
2708
2.48k
    goto yy172;
2709
38.3k
  } else {
2710
38.3k
    if (yych <= 'h') {
2711
15.6k
      if (yych <= 'g') goto yy40;
2712
3.93k
      goto yy171;
2713
22.7k
    } else {
2714
22.7k
      if (yych == 'r') goto yy172;
2715
10.9k
      goto yy40;
2716
22.7k
    }
2717
38.3k
  }
2718
34.7k
yy50:
2719
34.7k
  YYDEBUG(50, *YYCURSOR);
2720
34.7k
  yyaccept = 4;
2721
34.7k
  yych = *(YYMARKER = ++YYCURSOR);
2722
34.7k
  if (yych <= 'S') {
2723
10.2k
    if (yych == 'N') goto yy173;
2724
9.88k
    if (yych <= 'R') goto yy40;
2725
460
    goto yy174;
2726
24.4k
  } else {
2727
24.4k
    if (yych <= 'n') {
2728
12.2k
      if (yych <= 'm') goto yy40;
2729
6.92k
      goto yy173;
2730
12.2k
    } else {
2731
12.1k
      if (yych == 's') goto yy174;
2732
4.12k
      goto yy40;
2733
12.1k
    }
2734
24.4k
  }
2735
22.2k
yy51:
2736
22.2k
  YYDEBUG(51, *YYCURSOR);
2737
22.2k
  yyaccept = 4;
2738
22.2k
  yych = *(YYMARKER = ++YYCURSOR);
2739
22.2k
  if (yych == 'A') goto yy175;
2740
21.8k
  if (yych == 'a') goto yy175;
2741
14.4k
  goto yy40;
2742
14.4k
yy52:
2743
11.0k
  YYDEBUG(52, *YYCURSOR);
2744
11.0k
  yyaccept = 4;
2745
11.0k
  yych = *(YYMARKER = ++YYCURSOR);
2746
11.0k
  if (yych == 'H') goto yy176;
2747
10.7k
  if (yych == 'h') goto yy176;
2748
5.39k
  goto yy40;
2749
13.1k
yy53:
2750
13.1k
  YYDEBUG(53, *YYCURSOR);
2751
13.1k
  yyaccept = 4;
2752
13.1k
  yych = *(YYMARKER = ++YYCURSOR);
2753
13.1k
  if (yych == 'O') goto yy177;
2754
12.6k
  if (yych == 'o') goto yy177;
2755
9.12k
  goto yy40;
2756
72.4k
yy54:
2757
72.4k
  YYDEBUG(54, *YYCURSOR);
2758
72.4k
  yyaccept = 4;
2759
72.4k
  yych = *(YYMARKER = ++YYCURSOR);
2760
72.4k
  if (yych == 'I') goto yy178;
2761
71.9k
  if (yych == 'i') goto yy178;
2762
10.3k
  goto yy40;
2763
187k
yy55:
2764
187k
  YYDEBUG(55, *YYCURSOR);
2765
187k
  ++YYCURSOR;
2766
187k
  goto yy14;
2767
72.6k
yy56:
2768
72.6k
  YYDEBUG(56, *YYCURSOR);
2769
72.6k
  yych = *++YYCURSOR;
2770
72.6k
  if (yych <= '_') {
2771
52.7k
    if (yych <= '@') goto yy57;
2772
28.0k
    if (yych <= 'Z') goto yy179;
2773
23.6k
    if (yych >= '_') goto yy179;
2774
23.6k
  } else {
2775
19.8k
    if (yych <= '`') goto yy57;
2776
18.1k
    if (yych <= 'z') goto yy179;
2777
9.13k
    if (yych >= 0x80) goto yy179;
2778
9.13k
  }
2779
54.7k
yy57:
2780
54.7k
  YYDEBUG(57, *YYCURSOR);
2781
54.7k
  yyleng = YYCURSOR - SCNG(yy_text);
2782
54.7k
#line 2480 "Zend/zend_language_scanner.l"
2783
54.7k
  {
2784
54.7k
  RETURN_TOKEN(T_NS_SEPARATOR);
2785
54.7k
}
2786
0
#line 2787 "Zend/zend_language_scanner.c"
2787
24.8k
yy58:
2788
24.8k
  YYDEBUG(58, *YYCURSOR);
2789
24.8k
  yych = *++YYCURSOR;
2790
24.8k
  if (yych == '=') goto yy181;
2791
24.4k
  goto yy4;
2792
93.0k
yy59:
2793
93.0k
  YYDEBUG(59, *YYCURSOR);
2794
93.0k
  yyaccept = 4;
2795
93.0k
  yych = *(YYMARKER = ++YYCURSOR);
2796
93.0k
  if (yych == '_') goto yy182;
2797
28.9k
  goto yy40;
2798
28.9k
yy60:
2799
27.8k
  YYDEBUG(60, *YYCURSOR);
2800
27.8k
  ++YYCURSOR;
2801
27.8k
  yyleng = YYCURSOR - SCNG(yy_text);
2802
27.8k
#line 2855 "Zend/zend_language_scanner.l"
2803
27.8k
  {
2804
27.8k
  BEGIN(ST_BACKQUOTE);
2805
27.8k
  RETURN_TOKEN('`');
2806
27.8k
}
2807
0
#line 2808 "Zend/zend_language_scanner.c"
2808
397k
yy61:
2809
397k
  YYDEBUG(61, *YYCURSOR);
2810
397k
  ++YYCURSOR;
2811
397k
  yyleng = YYCURSOR - SCNG(yy_text);
2812
397k
#line 2003 "Zend/zend_language_scanner.l"
2813
397k
  {
2814
397k
  yy_push_state(ST_IN_SCRIPTING);
2815
397k
  enter_nesting('{');
2816
397k
  RETURN_TOKEN('{');
2817
397k
}
2818
0
#line 2819 "Zend/zend_language_scanner.c"
2819
61.4k
yy62:
2820
61.4k
  YYDEBUG(62, *YYCURSOR);
2821
61.4k
  yych = *++YYCURSOR;
2822
61.4k
  if (yych <= '>') {
2823
26.4k
    if (yych <= '<') goto yy4;
2824
7.53k
    if (yych <= '=') goto yy183;
2825
6.51k
    goto yy184;
2826
35.0k
  } else {
2827
35.0k
    if (yych == '|') goto yy185;
2828
30.3k
    goto yy4;
2829
35.0k
  }
2830
111k
yy63:
2831
111k
  YYDEBUG(63, *YYCURSOR);
2832
111k
  ++YYCURSOR;
2833
111k
  yyleng = YYCURSOR - SCNG(yy_text);
2834
111k
#line 2016 "Zend/zend_language_scanner.l"
2835
111k
  {
2836
111k
  RESET_DOC_COMMENT();
2837
111k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2838
107k
    yy_pop_state();
2839
107k
  }
2840
111k
  RETURN_EXIT_NESTING_TOKEN('}');
2841
111k
}
2842
0
#line 2843 "Zend/zend_language_scanner.c"
2843
5.33k
yy64:
2844
5.33k
  YYDEBUG(64, *YYCURSOR);
2845
5.33k
  yych = *++YYCURSOR;
2846
5.33k
  if (yych == '=') goto yy186;
2847
4.90k
yy65:
2848
4.90k
  YYDEBUG(65, *YYCURSOR);
2849
4.90k
  yyleng = YYCURSOR - SCNG(yy_text);
2850
4.90k
#line 1875 "Zend/zend_language_scanner.l"
2851
4.90k
  {
2852
4.90k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2853
4.90k
}
2854
0
#line 2855 "Zend/zend_language_scanner.c"
2855
16.4k
yy66:
2856
16.4k
  YYDEBUG(66, *YYCURSOR);
2857
16.4k
  ++YYCURSOR;
2858
16.4k
  yyleng = YYCURSOR - SCNG(yy_text);
2859
16.4k
#line 1452 "Zend/zend_language_scanner.l"
2860
16.4k
  {
2861
16.4k
  enter_nesting('[');
2862
16.4k
  RETURN_TOKEN(T_ATTRIBUTE);
2863
16.4k
}
2864
0
#line 2865 "Zend/zend_language_scanner.c"
2865
611k
yy67:
2866
611k
  YYDEBUG(67, *YYCURSOR);
2867
611k
  ++YYCURSOR;
2868
611k
  YYFILL(1);
2869
611k
  yych = *YYCURSOR;
2870
611k
  if (yych <= '^') {
2871
260k
    if (yych <= '9') {
2872
142k
      if (yych >= '0') goto yy67;
2873
142k
    } else {
2874
117k
      if (yych <= '@') goto yy68;
2875
63.5k
      if (yych <= 'Z') goto yy67;
2876
63.5k
    }
2877
351k
  } else {
2878
351k
    if (yych <= '`') {
2879
8.18k
      if (yych <= '_') goto yy67;
2880
342k
    } else {
2881
342k
      if (yych <= 'z') goto yy67;
2882
148k
      if (yych >= 0x80) goto yy67;
2883
148k
    }
2884
351k
  }
2885
191k
yy68:
2886
191k
  YYDEBUG(68, *YYCURSOR);
2887
191k
  yyleng = YYCURSOR - SCNG(yy_text);
2888
191k
#line 2446 "Zend/zend_language_scanner.l"
2889
191k
  {
2890
191k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2891
191k
}
2892
0
#line 2893 "Zend/zend_language_scanner.c"
2893
1.34k
yy69:
2894
1.34k
  YYDEBUG(69, *YYCURSOR);
2895
1.34k
  ++YYCURSOR;
2896
1.34k
  yyleng = YYCURSOR - SCNG(yy_text);
2897
1.34k
#line 1919 "Zend/zend_language_scanner.l"
2898
1.34k
  {
2899
1.34k
  RETURN_TOKEN(T_MOD_EQUAL);
2900
1.34k
}
2901
0
#line 2902 "Zend/zend_language_scanner.c"
2902
139k
yy70:
2903
139k
  YYDEBUG(70, *YYCURSOR);
2904
139k
  ++YYCURSOR;
2905
139k
  YYFILL(3);
2906
139k
  yych = *YYCURSOR;
2907
180k
yy71:
2908
180k
  YYDEBUG(71, *YYCURSOR);
2909
180k
  if (yych <= ' ') {
2910
39.5k
    if (yych <= '\f') {
2911
24.8k
      if (yych <= 0x08) goto yy72;
2912
23.6k
      if (yych <= '\n') goto yy70;
2913
23.6k
    } else {
2914
14.6k
      if (yych <= '\r') goto yy70;
2915
4.94k
      if (yych >= ' ') goto yy70;
2916
4.94k
    }
2917
141k
  } else {
2918
141k
    if (yych <= '$') {
2919
129k
      if (yych <= '"') goto yy72;
2920
129k
      if (yych <= '#') goto yy73;
2921
8.93k
      goto yy74;
2922
129k
    } else {
2923
11.3k
      if (yych <= '-') goto yy72;
2924
9.83k
      if (yych <= '.') goto yy77;
2925
7.60k
      if (yych <= '/') goto yy78;
2926
7.60k
    }
2927
141k
  }
2928
401k
yy72:
2929
401k
  YYDEBUG(72, *YYCURSOR);
2930
401k
  YYCURSOR = YYMARKER;
2931
401k
  if (yyaccept <= 48) {
2932
276k
    if (yyaccept <= 24) {
2933
269k
      if (yyaccept <= 12) {
2934
261k
        if (yyaccept <= 6) {
2935
195k
          if (yyaccept <= 3) {
2936
175k
            if (yyaccept <= 1) {
2937
154k
              if (yyaccept == 0) {
2938
28.0k
                goto yy11;
2939
126k
              } else {
2940
126k
                goto yy14;
2941
126k
              }
2942
154k
            } else {
2943
20.3k
              if (yyaccept == 2) {
2944
13.3k
                goto yy4;
2945
13.3k
              } else {
2946
6.99k
                goto yy23;
2947
6.99k
              }
2948
20.3k
            }
2949
175k
          } else {
2950
20.7k
            if (yyaccept <= 5) {
2951
18.2k
              if (yyaccept == 4) {
2952
15.7k
                goto yy32;
2953
15.7k
              } else {
2954
2.53k
                goto yy102;
2955
2.53k
              }
2956
18.2k
            } else {
2957
2.50k
              goto yy105;
2958
2.50k
            }
2959
20.7k
          }
2960
195k
        } else {
2961
65.6k
          if (yyaccept <= 9) {
2962
64.8k
            if (yyaccept <= 8) {
2963
64.5k
              if (yyaccept == 7) {
2964
64.3k
                goto yy116;
2965
64.3k
              } else {
2966
215
                goto yy131;
2967
215
              }
2968
64.5k
            } else {
2969
205
              goto yy141;
2970
205
            }
2971
64.8k
          } else {
2972
811
            if (yyaccept <= 11) {
2973
600
              if (yyaccept == 10) {
2974
348
                goto yy150;
2975
348
              } else {
2976
252
                goto yy156;
2977
252
              }
2978
600
            } else {
2979
211
              goto yy165;
2980
211
            }
2981
811
          }
2982
65.6k
        }
2983
261k
      } else {
2984
7.76k
        if (yyaccept <= 18) {
2985
6.41k
          if (yyaccept <= 15) {
2986
3.97k
            if (yyaccept <= 14) {
2987
3.57k
              if (yyaccept == 13) {
2988
2.91k
                goto yy180;
2989
2.91k
              } else {
2990
666
                goto yy207;
2991
666
              }
2992
3.57k
            } else {
2993
401
              goto yy211;
2994
401
            }
2995
3.97k
          } else {
2996
2.44k
            if (yyaccept <= 17) {
2997
502
              if (yyaccept == 16) {
2998
294
                goto yy213;
2999
294
              } else {
3000
208
                goto yy225;
3001
208
              }
3002
1.94k
            } else {
3003
1.94k
              goto yy228;
3004
1.94k
            }
3005
2.44k
          }
3006
6.41k
        } else {
3007
1.34k
          if (yyaccept <= 21) {
3008
677
            if (yyaccept <= 20) {
3009
452
              if (yyaccept == 19) {
3010
213
                goto yy240;
3011
239
              } else {
3012
239
                goto yy251;
3013
239
              }
3014
452
            } else {
3015
225
              goto yy264;
3016
225
            }
3017
677
          } else {
3018
670
            if (yyaccept <= 23) {
3019
460
              if (yyaccept == 22) {
3020
220
                goto yy276;
3021
240
              } else {
3022
240
                goto yy279;
3023
240
              }
3024
460
            } else {
3025
210
              goto yy281;
3026
210
            }
3027
670
          }
3028
1.34k
        }
3029
7.76k
      }
3030
269k
    } else {
3031
7.82k
      if (yyaccept <= 36) {
3032
5.15k
        if (yyaccept <= 30) {
3033
3.72k
          if (yyaccept <= 27) {
3034
2.81k
            if (yyaccept <= 26) {
3035
2.56k
              if (yyaccept == 25) {
3036
206
                goto yy284;
3037
2.35k
              } else {
3038
2.35k
                goto yy75;
3039
2.35k
              }
3040
2.56k
            } else {
3041
251
              goto yy321;
3042
251
            }
3043
2.81k
          } else {
3044
911
            if (yyaccept <= 29) {
3045
704
              if (yyaccept == 28) {
3046
440
                goto yy330;
3047
440
              } else {
3048
264
                goto yy332;
3049
264
              }
3050
704
            } else {
3051
207
              goto yy341;
3052
207
            }
3053
911
          }
3054
3.72k
        } else {
3055
1.42k
          if (yyaccept <= 33) {
3056
706
            if (yyaccept <= 32) {
3057
496
              if (yyaccept == 31) {
3058
262
                goto yy343;
3059
262
              } else {
3060
234
                goto yy350;
3061
234
              }
3062
496
            } else {
3063
210
              goto yy357;
3064
210
            }
3065
722
          } else {
3066
722
            if (yyaccept <= 35) {
3067
489
              if (yyaccept == 34) {
3068
264
                goto yy408;
3069
264
              } else {
3070
225
                goto yy410;
3071
225
              }
3072
489
            } else {
3073
233
              goto yy413;
3074
233
            }
3075
722
          }
3076
1.42k
        }
3077
5.15k
      } else {
3078
2.67k
        if (yyaccept <= 42) {
3079
1.29k
          if (yyaccept <= 39) {
3080
643
            if (yyaccept <= 38) {
3081
440
              if (yyaccept == 37) {
3082
221
                goto yy415;
3083
221
              } else {
3084
219
                goto yy417;
3085
219
              }
3086
440
            } else {
3087
203
              goto yy419;
3088
203
            }
3089
647
          } else {
3090
647
            if (yyaccept <= 41) {
3091
435
              if (yyaccept == 40) {
3092
231
                goto yy425;
3093
231
              } else {
3094
204
                goto yy429;
3095
204
              }
3096
435
            } else {
3097
212
              goto yy437;
3098
212
            }
3099
647
          }
3100
1.38k
        } else {
3101
1.38k
          if (yyaccept <= 45) {
3102
696
            if (yyaccept <= 44) {
3103
458
              if (yyaccept == 43) {
3104
250
                goto yy447;
3105
250
              } else {
3106
208
                goto yy449;
3107
208
              }
3108
458
            } else {
3109
238
              goto yy452;
3110
238
            }
3111
696
          } else {
3112
690
            if (yyaccept <= 47) {
3113
413
              if (yyaccept == 46) {
3114
200
                goto yy462;
3115
213
              } else {
3116
213
                goto yy464;
3117
213
              }
3118
413
            } else {
3119
277
              goto yy466;
3120
277
            }
3121
690
          }
3122
1.38k
        }
3123
2.67k
      }
3124
7.82k
    }
3125
276k
  } else {
3126
124k
    if (yyaccept <= 72) {
3127
105k
      if (yyaccept <= 60) {
3128
101k
        if (yyaccept <= 54) {
3129
98.3k
          if (yyaccept <= 51) {
3130
36.9k
            if (yyaccept <= 50) {
3131
36.7k
              if (yyaccept == 49) {
3132
205
                goto yy468;
3133
36.5k
              } else {
3134
36.5k
                goto yy470;
3135
36.5k
              }
3136
36.7k
            } else {
3137
210
              goto yy503;
3138
210
            }
3139
61.3k
          } else {
3140
61.3k
            if (yyaccept <= 53) {
3141
61.1k
              if (yyaccept == 52) {
3142
404
                goto yy506;
3143
60.7k
              } else {
3144
60.7k
                goto yy510;
3145
60.7k
              }
3146
61.1k
            } else {
3147
214
              goto yy521;
3148
214
            }
3149
61.3k
          }
3150
98.3k
        } else {
3151
3.04k
          if (yyaccept <= 57) {
3152
2.32k
            if (yyaccept <= 56) {
3153
1.97k
              if (yyaccept == 55) {
3154
1.77k
                goto yy531;
3155
1.77k
              } else {
3156
199
                goto yy535;
3157
199
              }
3158
1.97k
            } else {
3159
355
              goto yy537;
3160
355
            }
3161
2.32k
          } else {
3162
714
            if (yyaccept <= 59) {
3163
429
              if (yyaccept == 58) {
3164
221
                goto yy539;
3165
221
              } else {
3166
208
                goto yy570;
3167
208
              }
3168
429
            } else {
3169
285
              goto yy572;
3170
285
            }
3171
714
          }
3172
3.04k
        }
3173
101k
      } else {
3174
4.22k
        if (yyaccept <= 66) {
3175
2.72k
          if (yyaccept <= 63) {
3176
938
            if (yyaccept <= 62) {
3177
679
              if (yyaccept == 61) {
3178
358
                goto yy586;
3179
358
              } else {
3180
321
                goto yy588;
3181
321
              }
3182
679
            } else {
3183
259
              goto yy590;
3184
259
            }
3185
1.78k
          } else {
3186
1.78k
            if (yyaccept <= 65) {
3187
1.57k
              if (yyaccept == 64) {
3188
281
                goto yy594;
3189
1.29k
              } else {
3190
1.29k
                goto yy600;
3191
1.29k
              }
3192
1.57k
            } else {
3193
205
              goto yy605;
3194
205
            }
3195
1.78k
          }
3196
2.72k
        } else {
3197
1.50k
          if (yyaccept <= 69) {
3198
673
            if (yyaccept <= 68) {
3199
418
              if (yyaccept == 67) {
3200
206
                goto yy612;
3201
212
              } else {
3202
212
                goto yy631;
3203
212
              }
3204
418
            } else {
3205
255
              goto yy633;
3206
255
            }
3207
833
          } else {
3208
833
            if (yyaccept <= 71) {
3209
542
              if (yyaccept == 70) {
3210
201
                goto yy635;
3211
341
              } else {
3212
341
                goto yy640;
3213
341
              }
3214
542
            } else {
3215
291
              goto yy647;
3216
291
            }
3217
833
          }
3218
1.50k
        }
3219
4.22k
      }
3220
105k
    } else {
3221
19.1k
      if (yyaccept <= 84) {
3222
4.64k
        if (yyaccept <= 78) {
3223
1.54k
          if (yyaccept <= 75) {
3224
664
            if (yyaccept <= 74) {
3225
422
              if (yyaccept == 73) {
3226
213
                goto yy658;
3227
213
              } else {
3228
209
                goto yy667;
3229
209
              }
3230
422
            } else {
3231
242
              goto yy671;
3232
242
            }
3233
878
          } else {
3234
878
            if (yyaccept <= 77) {
3235
614
              if (yyaccept == 76) {
3236
206
                goto yy685;
3237
408
              } else {
3238
408
                goto yy696;
3239
408
              }
3240
614
            } else {
3241
264
              goto yy698;
3242
264
            }
3243
878
          }
3244
3.10k
        } else {
3245
3.10k
          if (yyaccept <= 81) {
3246
2.47k
            if (yyaccept <= 80) {
3247
2.28k
              if (yyaccept == 79) {
3248
478
                goto yy700;
3249
1.80k
              } else {
3250
1.80k
                goto yy703;
3251
1.80k
              }
3252
2.28k
            } else {
3253
198
              goto yy710;
3254
198
            }
3255
2.47k
          } else {
3256
623
            if (yyaccept <= 83) {
3257
424
              if (yyaccept == 82) {
3258
196
                goto yy717;
3259
228
              } else {
3260
228
                goto yy721;
3261
228
              }
3262
424
            } else {
3263
199
              goto yy723;
3264
199
            }
3265
623
          }
3266
3.10k
        }
3267
14.4k
      } else {
3268
14.4k
        if (yyaccept <= 90) {
3269
1.80k
          if (yyaccept <= 87) {
3270
683
            if (yyaccept <= 86) {
3271
463
              if (yyaccept == 85) {
3272
239
                goto yy734;
3273
239
              } else {
3274
224
                goto yy737;
3275
224
              }
3276
463
            } else {
3277
220
              goto yy750;
3278
220
            }
3279
1.11k
          } else {
3280
1.11k
            if (yyaccept <= 89) {
3281
747
              if (yyaccept == 88) {
3282
552
                goto yy763;
3283
552
              } else {
3284
195
                goto yy791;
3285
195
              }
3286
747
            } else {
3287
371
              goto yy795;
3288
371
            }
3289
1.11k
          }
3290
12.6k
        } else {
3291
12.6k
          if (yyaccept <= 93) {
3292
10.5k
            if (yyaccept <= 92) {
3293
10.3k
              if (yyaccept == 91) {
3294
10.0k
                goto yy769;
3295
10.0k
              } else {
3296
274
                goto yy802;
3297
274
              }
3298
10.3k
            } else {
3299
196
              goto yy806;
3300
196
            }
3301
10.5k
          } else {
3302
2.14k
            if (yyaccept <= 95) {
3303
1.94k
              if (yyaccept == 94) {
3304
1.75k
                goto yy779;
3305
1.75k
              } else {
3306
194
                goto yy822;
3307
194
              }
3308
1.94k
            } else {
3309
195
              goto yy841;
3310
195
            }
3311
2.14k
          }
3312
12.6k
        }
3313
14.4k
      }
3314
19.1k
    }
3315
124k
  }
3316
120k
yy73:
3317
120k
  YYDEBUG(73, *YYCURSOR);
3318
120k
  ++YYCURSOR;
3319
120k
  YYFILL(1);
3320
120k
  yych = *YYCURSOR;
3321
120k
  if (yych <= '\f') {
3322
31.2k
    if (yych <= 0x00) goto yy72;
3323
30.8k
    if (yych == '\n') goto yy188;
3324
399
    goto yy187;
3325
89.1k
  } else {
3326
89.1k
    if (yych <= '\r') goto yy188;
3327
5.36k
    if (yych == '[') goto yy72;
3328
5.10k
    goto yy187;
3329
5.36k
  }
3330
9.49k
yy74:
3331
9.49k
  YYDEBUG(74, *YYCURSOR);
3332
9.49k
  ++YYCURSOR;
3333
12.8k
yy75:
3334
12.8k
  YYDEBUG(75, *YYCURSOR);
3335
12.8k
  yyleng = YYCURSOR - SCNG(yy_text);
3336
12.8k
#line 1979 "Zend/zend_language_scanner.l"
3337
12.8k
  {
3338
12.8k
  yyless(1);
3339
12.8k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3340
12.8k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
6.86k
yy76:
3343
6.86k
  YYDEBUG(76, *YYCURSOR);
3344
6.86k
  ++YYCURSOR;
3345
6.86k
  yyleng = YYCURSOR - SCNG(yy_text);
3346
6.86k
#line 1955 "Zend/zend_language_scanner.l"
3347
6.86k
  {
3348
6.86k
  RETURN_TOKEN(T_BOOLEAN_AND);
3349
6.86k
}
3350
0
#line 3351 "Zend/zend_language_scanner.c"
3351
2.23k
yy77:
3352
2.23k
  YYDEBUG(77, *YYCURSOR);
3353
2.23k
  yych = *++YYCURSOR;
3354
2.23k
  if (yych == '.') goto yy189;
3355
1.40k
  goto yy72;
3356
2.21k
yy78:
3357
2.21k
  YYDEBUG(78, *YYCURSOR);
3358
2.21k
  ++YYCURSOR;
3359
2.21k
  YYFILL(1);
3360
2.21k
  yych = *YYCURSOR;
3361
2.21k
  if (yych == '*') goto yy190;
3362
1.31k
  if (yych == '/') goto yy187;
3363
755
  goto yy72;
3364
778
yy79:
3365
778
  YYDEBUG(79, *YYCURSOR);
3366
778
  ++YYCURSOR;
3367
778
  yyleng = YYCURSOR - SCNG(yy_text);
3368
778
#line 1931 "Zend/zend_language_scanner.l"
3369
778
  {
3370
778
  RETURN_TOKEN(T_AND_EQUAL);
3371
778
}
3372
0
#line 3373 "Zend/zend_language_scanner.c"
3373
28.7k
yy80:
3374
28.7k
  YYDEBUG(80, *YYCURSOR);
3375
28.7k
  ++YYCURSOR;
3376
28.7k
  YYFILL(7);
3377
28.7k
  yych = *YYCURSOR;
3378
169k
yy81:
3379
169k
  YYDEBUG(81, *YYCURSOR);
3380
169k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 1) {
3381
28.7k
    goto yy80;
3382
28.7k
  }
3383
140k
  switch (yych) {
3384
5.72k
    case 'A':
3385
43.2k
    case 'a': goto yy82;
3386
995
    case 'B':
3387
14.7k
    case 'b': goto yy83;
3388
321
    case 'D':
3389
5.20k
    case 'd': goto yy84;
3390
810
    case 'F':
3391
11.4k
    case 'f': goto yy85;
3392
688
    case 'I':
3393
15.4k
    case 'i': goto yy86;
3394
805
    case 'O':
3395
6.21k
    case 'o': goto yy87;
3396
979
    case 'R':
3397
5.13k
    case 'r': goto yy88;
3398
2.55k
    case 'S':
3399
15.9k
    case 's': goto yy89;
3400
1.00k
    case 'U':
3401
4.54k
    case 'u': goto yy90;
3402
731
    case 'V':
3403
5.13k
    case 'v': goto yy91;
3404
13.8k
    default: goto yy72;
3405
140k
  }
3406
43.2k
yy82:
3407
43.2k
  YYDEBUG(82, *YYCURSOR);
3408
43.2k
  yych = *++YYCURSOR;
3409
43.2k
  if (yych == 'R') goto yy191;
3410
42.4k
  if (yych == 'r') goto yy191;
3411
36.3k
  goto yy72;
3412
36.3k
yy83:
3413
14.7k
  YYDEBUG(83, *YYCURSOR);
3414
14.7k
  yych = *++YYCURSOR;
3415
14.7k
  if (yych <= 'O') {
3416
4.41k
    if (yych == 'I') goto yy192;
3417
3.68k
    if (yych <= 'N') goto yy72;
3418
1.10k
    goto yy193;
3419
10.2k
  } else {
3420
10.2k
    if (yych <= 'i') {
3421
5.60k
      if (yych <= 'h') goto yy72;
3422
4.92k
      goto yy192;
3423
5.60k
    } else {
3424
4.69k
      if (yych == 'o') goto yy193;
3425
579
      goto yy72;
3426
4.69k
    }
3427
10.2k
  }
3428
5.20k
yy84:
3429
5.20k
  YYDEBUG(84, *YYCURSOR);
3430
5.20k
  yych = *++YYCURSOR;
3431
5.20k
  if (yych == 'O') goto yy194;
3432
4.83k
  if (yych == 'o') goto yy194;
3433
1.85k
  goto yy72;
3434
11.4k
yy85:
3435
11.4k
  YYDEBUG(85, *YYCURSOR);
3436
11.4k
  yych = *++YYCURSOR;
3437
11.4k
  if (yych == 'L') goto yy195;
3438
11.1k
  if (yych == 'l') goto yy195;
3439
7.07k
  goto yy72;
3440
15.4k
yy86:
3441
15.4k
  YYDEBUG(86, *YYCURSOR);
3442
15.4k
  yych = *++YYCURSOR;
3443
15.4k
  if (yych == 'N') goto yy196;
3444
14.0k
  if (yych == 'n') goto yy196;
3445
6.41k
  goto yy72;
3446
6.41k
yy87:
3447
6.21k
  YYDEBUG(87, *YYCURSOR);
3448
6.21k
  yych = *++YYCURSOR;
3449
6.21k
  if (yych == 'B') goto yy197;
3450
5.67k
  if (yych == 'b') goto yy197;
3451
2.59k
  goto yy72;
3452
5.13k
yy88:
3453
5.13k
  YYDEBUG(88, *YYCURSOR);
3454
5.13k
  yych = *++YYCURSOR;
3455
5.13k
  if (yych == 'E') goto yy198;
3456
4.83k
  if (yych == 'e') goto yy198;
3457
2.39k
  goto yy72;
3458
15.9k
yy89:
3459
15.9k
  YYDEBUG(89, *YYCURSOR);
3460
15.9k
  yych = *++YYCURSOR;
3461
15.9k
  if (yych == 'T') goto yy199;
3462
14.6k
  if (yych == 't') goto yy199;
3463
9.94k
  goto yy72;
3464
9.94k
yy90:
3465
4.54k
  YYDEBUG(90, *YYCURSOR);
3466
4.54k
  yych = *++YYCURSOR;
3467
4.54k
  if (yych == 'N') goto yy200;
3468
4.26k
  if (yych == 'n') goto yy200;
3469
1.69k
  goto yy72;
3470
5.13k
yy91:
3471
5.13k
  YYDEBUG(91, *YYCURSOR);
3472
5.13k
  yych = *++YYCURSOR;
3473
5.13k
  if (yych == 'O') goto yy201;
3474
4.07k
  if (yych == 'o') goto yy201;
3475
1.94k
  goto yy72;
3476
9.56k
yy92:
3477
9.56k
  YYDEBUG(92, *YYCURSOR);
3478
9.56k
  yych = *++YYCURSOR;
3479
9.56k
  if (yych == '=') goto yy202;
3480
9.22k
  yyleng = YYCURSOR - SCNG(yy_text);
3481
9.22k
#line 1903 "Zend/zend_language_scanner.l"
3482
9.22k
  {
3483
9.22k
  RETURN_TOKEN(T_POW);
3484
9.22k
}
3485
0
#line 3486 "Zend/zend_language_scanner.c"
3486
3.16k
yy93:
3487
3.16k
  YYDEBUG(93, *YYCURSOR);
3488
3.16k
  ++YYCURSOR;
3489
3.16k
  yyleng = YYCURSOR - SCNG(yy_text);
3490
3.16k
#line 1899 "Zend/zend_language_scanner.l"
3491
3.16k
  {
3492
3.16k
  RETURN_TOKEN(T_MUL_EQUAL);
3493
3.16k
}
3494
0
#line 3495 "Zend/zend_language_scanner.c"
3495
16.6k
yy94:
3496
16.6k
  YYDEBUG(94, *YYCURSOR);
3497
16.6k
  ++YYCURSOR;
3498
16.6k
  yyleng = YYCURSOR - SCNG(yy_text);
3499
16.6k
#line 1855 "Zend/zend_language_scanner.l"
3500
16.6k
  {
3501
16.6k
  RETURN_TOKEN(T_INC);
3502
16.6k
}
3503
0
#line 3504 "Zend/zend_language_scanner.c"
3504
1.20k
yy95:
3505
1.20k
  YYDEBUG(95, *YYCURSOR);
3506
1.20k
  ++YYCURSOR;
3507
1.20k
  yyleng = YYCURSOR - SCNG(yy_text);
3508
1.20k
#line 1891 "Zend/zend_language_scanner.l"
3509
1.20k
  {
3510
1.20k
  RETURN_TOKEN(T_PLUS_EQUAL);
3511
1.20k
}
3512
0
#line 3513 "Zend/zend_language_scanner.c"
3513
4.34k
yy96:
3514
4.34k
  YYDEBUG(96, *YYCURSOR);
3515
4.34k
  ++YYCURSOR;
3516
4.34k
  yyleng = YYCURSOR - SCNG(yy_text);
3517
4.34k
#line 1859 "Zend/zend_language_scanner.l"
3518
4.34k
  {
3519
4.34k
  RETURN_TOKEN(T_DEC);
3520
4.34k
}
3521
0
#line 3522 "Zend/zend_language_scanner.c"
3522
809
yy97:
3523
809
  YYDEBUG(97, *YYCURSOR);
3524
809
  ++YYCURSOR;
3525
809
  yyleng = YYCURSOR - SCNG(yy_text);
3526
809
#line 1895 "Zend/zend_language_scanner.l"
3527
809
  {
3528
809
  RETURN_TOKEN(T_MINUS_EQUAL);
3529
809
}
3530
0
#line 3531 "Zend/zend_language_scanner.c"
3531
35.5k
yy98:
3532
35.5k
  YYDEBUG(98, *YYCURSOR);
3533
35.5k
  ++YYCURSOR;
3534
35.5k
  yyleng = YYCURSOR - SCNG(yy_text);
3535
35.5k
#line 1616 "Zend/zend_language_scanner.l"
3536
35.5k
  {
3537
35.5k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3538
35.5k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3539
35.5k
}
3540
0
#line 3541 "Zend/zend_language_scanner.c"
3541
23.4k
yy99:
3542
23.4k
  YYDEBUG(99, *YYCURSOR);
3543
23.4k
  yych = *++YYCURSOR;
3544
23.4k
  if (yych == '.') goto yy203;
3545
11.8k
  goto yy72;
3546
179k
yy100:
3547
179k
  YYDEBUG(100, *YYCURSOR);
3548
179k
  yyaccept = 5;
3549
179k
  YYMARKER = ++YYCURSOR;
3550
179k
  YYFILL(2);
3551
179k
  yych = *YYCURSOR;
3552
209k
yy101:
3553
209k
  YYDEBUG(101, *YYCURSOR);
3554
209k
  if (yych <= 'E') {
3555
195k
    if (yych <= '/') goto yy102;
3556
168k
    if (yych <= '9') goto yy100;
3557
12.7k
    if (yych >= 'E') goto yy110;
3558
14.2k
  } else {
3559
14.2k
    if (yych <= '_') {
3560
1.99k
      if (yych >= '_') goto yy204;
3561
12.2k
    } else {
3562
12.2k
      if (yych == 'e') goto yy110;
3563
12.2k
    }
3564
14.2k
  }
3565
73.7k
yy102:
3566
73.7k
  YYDEBUG(102, *YYCURSOR);
3567
73.7k
  yyleng = YYCURSOR - SCNG(yy_text);
3568
73.7k
#line 2262 "Zend/zend_language_scanner.l"
3569
73.7k
  {
3570
73.7k
  const char *end;
3571
73.7k
  size_t len = yyleng;
3572
73.7k
  char *dnum = yytext;
3573
73.7k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3574
3575
73.7k
  if (contains_underscores) {
3576
1.11k
    dnum = estrndup(dnum, len);
3577
1.11k
    strip_underscores(dnum, &len);
3578
1.11k
  }
3579
3580
73.7k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3581
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3582
73.7k
  ZEND_ASSERT(end == dnum + len);
3583
73.7k
  if (contains_underscores) {
3584
1.11k
    efree(dnum);
3585
1.11k
  }
3586
73.7k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3587
73.7k
}
3588
0
#line 3589 "Zend/zend_language_scanner.c"
3589
1.43k
yy103:
3590
1.43k
  YYDEBUG(103, *YYCURSOR);
3591
1.43k
  ++YYCURSOR;
3592
1.43k
  yyleng = YYCURSOR - SCNG(yy_text);
3593
1.43k
#line 1915 "Zend/zend_language_scanner.l"
3594
1.43k
  {
3595
1.43k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3596
1.43k
}
3597
0
#line 3598 "Zend/zend_language_scanner.c"
3598
30.9k
yy104:
3599
30.9k
  YYDEBUG(104, *YYCURSOR);
3600
30.9k
  yyaccept = 6;
3601
30.9k
  yych = *(YYMARKER = ++YYCURSOR);
3602
30.9k
  if (yych == '*') goto yy205;
3603
30.9k
yy105:
3604
30.9k
  YYDEBUG(105, *YYCURSOR);
3605
30.9k
  yyleng = YYCURSOR - SCNG(yy_text);
3606
30.9k
#line 2513 "Zend/zend_language_scanner.l"
3607
30.9k
  {
3608
30.9k
  int doc_com;
3609
3610
30.9k
  if (yyleng > 2) {
3611
5.35k
    doc_com = 1;
3612
5.35k
    RESET_DOC_COMMENT();
3613
25.5k
  } else {
3614
25.5k
    doc_com = 0;
3615
25.5k
  }
3616
3617
611k
  while (YYCURSOR < YYLIMIT) {
3618
592k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3619
11.8k
      break;
3620
11.8k
    }
3621
592k
  }
3622
3623
30.9k
  if (YYCURSOR < YYLIMIT) {
3624
11.8k
    YYCURSOR++;
3625
19.0k
  } else {
3626
19.0k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3627
19.0k
    if (PARSER_MODE()) {
3628
2.36k
      RETURN_TOKEN(T_ERROR);
3629
2.36k
    }
3630
19.0k
  }
3631
3632
28.5k
  yyleng = YYCURSOR - SCNG(yy_text);
3633
28.5k
  HANDLE_NEWLINES(yytext, yyleng);
3634
3635
28.5k
  if (doc_com) {
3636
5.14k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3637
5.14k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3638
5.14k
  }
3639
3640
23.4k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3641
23.4k
}
3642
0
#line 3643 "Zend/zend_language_scanner.c"
3643
3.38k
yy106:
3644
3.38k
  YYDEBUG(106, *YYCURSOR);
3645
3.38k
  ++YYCURSOR;
3646
3.38k
  goto yy7;
3647
1.04k
yy107:
3648
1.04k
  YYDEBUG(107, *YYCURSOR);
3649
1.04k
  ++YYCURSOR;
3650
1.04k
  yyleng = YYCURSOR - SCNG(yy_text);
3651
1.04k
#line 1911 "Zend/zend_language_scanner.l"
3652
1.04k
  {
3653
1.04k
  RETURN_TOKEN(T_DIV_EQUAL);
3654
1.04k
}
3655
0
#line 3656 "Zend/zend_language_scanner.c"
3656
30.1k
yy108:
3657
30.1k
  YYDEBUG(108, *YYCURSOR);
3658
30.1k
  yyaccept = 5;
3659
30.1k
  yych = *(YYMARKER = ++YYCURSOR);
3660
30.1k
  if (yych == '_') goto yy102;
3661
29.9k
  goto yy101;
3662
29.9k
yy109:
3663
5.48k
  YYDEBUG(109, *YYCURSOR);
3664
5.48k
  ++YYCURSOR;
3665
5.48k
  YYFILL(1);
3666
5.48k
  yych = *YYCURSOR;
3667
5.48k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 8) {
3668
4.48k
    goto yy206;
3669
4.48k
  }
3670
1.00k
  goto yy72;
3671
32.7k
yy110:
3672
32.7k
  YYDEBUG(110, *YYCURSOR);
3673
32.7k
  yych = *++YYCURSOR;
3674
32.7k
  if (yych <= ',') {
3675
2.30k
    if (yych == '+') goto yy208;
3676
1.00k
    goto yy72;
3677
30.4k
  } else {
3678
30.4k
    if (yych <= '-') goto yy208;
3679
20.6k
    if (yych <= '/') goto yy72;
3680
20.2k
    if (yych <= '9') goto yy209;
3681
2.60k
    goto yy72;
3682
20.2k
  }
3683
3.99k
yy111:
3684
3.99k
  YYDEBUG(111, *YYCURSOR);
3685
3.99k
  ++YYCURSOR;
3686
3.99k
  YYFILL(1);
3687
3.99k
  yych = *YYCURSOR;
3688
3.99k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 16) {
3689
2.92k
    goto yy210;
3690
2.92k
  }
3691
1.07k
  goto yy72;
3692
4.81k
yy112:
3693
4.81k
  YYDEBUG(112, *YYCURSOR);
3694
4.81k
  ++YYCURSOR;
3695
4.81k
  YYFILL(1);
3696
4.81k
  yych = *YYCURSOR;
3697
4.81k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 32) {
3698
4.17k
    goto yy212;
3699
4.17k
  }
3700
649
  goto yy72;
3701
4.86k
yy113:
3702
4.86k
  YYDEBUG(113, *YYCURSOR);
3703
4.86k
  ++YYCURSOR;
3704
4.86k
  YYFILL(1);
3705
4.86k
  yych = *YYCURSOR;
3706
4.86k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 64) {
3707
2.68k
    goto yy24;
3708
2.68k
  }
3709
2.18k
  goto yy72;
3710
63.0k
yy114:
3711
63.0k
  YYDEBUG(114, *YYCURSOR);
3712
63.0k
  ++YYCURSOR;
3713
63.0k
  yyleng = YYCURSOR - SCNG(yy_text);
3714
63.0k
#line 1643 "Zend/zend_language_scanner.l"
3715
63.0k
  {
3716
63.0k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3717
63.0k
}
3718
0
#line 3719 "Zend/zend_language_scanner.c"
3719
1.68M
yy115:
3720
1.68M
  YYDEBUG(115, *YYCURSOR);
3721
1.68M
  yyaccept = 7;
3722
1.68M
  yych = *(YYMARKER = ++YYCURSOR);
3723
1.68M
  if (yych <= ';') goto yy116;
3724
1.66M
  if (yych <= '<') goto yy214;
3725
66.3k
  if (yych <= '=') goto yy215;
3726
156k
yy116:
3727
156k
  YYDEBUG(116, *YYCURSOR);
3728
156k
  yyleng = YYCURSOR - SCNG(yy_text);
3729
156k
#line 1971 "Zend/zend_language_scanner.l"
3730
156k
  {
3731
156k
  RETURN_TOKEN(T_SL);
3732
156k
}
3733
0
#line 3734 "Zend/zend_language_scanner.c"
3734
8.29k
yy117:
3735
8.29k
  YYDEBUG(117, *YYCURSOR);
3736
8.29k
  yych = *++YYCURSOR;
3737
8.29k
  if (yych == '>') goto yy216;
3738
6.89k
  yyleng = YYCURSOR - SCNG(yy_text);
3739
6.89k
#line 1883 "Zend/zend_language_scanner.l"
3740
6.89k
  {
3741
6.89k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3742
6.89k
}
3743
0
#line 3744 "Zend/zend_language_scanner.c"
3744
2.34k
yy118:
3745
2.34k
  YYDEBUG(118, *YYCURSOR);
3746
2.34k
  ++YYCURSOR;
3747
2.34k
  goto yy65;
3748
12.8k
yy119:
3749
12.8k
  YYDEBUG(119, *YYCURSOR);
3750
12.8k
  yych = *++YYCURSOR;
3751
12.8k
  if (yych == '=') goto yy217;
3752
8.22k
  yyleng = YYCURSOR - SCNG(yy_text);
3753
8.22k
#line 1871 "Zend/zend_language_scanner.l"
3754
8.22k
  {
3755
8.22k
  RETURN_TOKEN(T_IS_EQUAL);
3756
8.22k
}
3757
0
#line 3758 "Zend/zend_language_scanner.c"
3758
38.7k
yy120:
3759
38.7k
  YYDEBUG(120, *YYCURSOR);
3760
38.7k
  ++YYCURSOR;
3761
38.7k
  yyleng = YYCURSOR - SCNG(yy_text);
3762
38.7k
#line 1839 "Zend/zend_language_scanner.l"
3763
38.7k
  {
3764
38.7k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3765
38.7k
}
3766
0
#line 3767 "Zend/zend_language_scanner.c"
3767
2.97k
yy121:
3768
2.97k
  YYDEBUG(121, *YYCURSOR);
3769
2.97k
  ++YYCURSOR;
3770
2.97k
  yyleng = YYCURSOR - SCNG(yy_text);
3771
2.97k
#line 1887 "Zend/zend_language_scanner.l"
3772
2.97k
  {
3773
2.97k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3774
2.97k
}
3775
0
#line 3776 "Zend/zend_language_scanner.c"
3776
5.55k
yy122:
3777
5.55k
  YYDEBUG(122, *YYCURSOR);
3778
5.55k
  yych = *++YYCURSOR;
3779
5.55k
  if (yych == '=') goto yy218;
3780
5.06k
  yyleng = YYCURSOR - SCNG(yy_text);
3781
5.06k
#line 1975 "Zend/zend_language_scanner.l"
3782
5.06k
  {
3783
5.06k
  RETURN_TOKEN(T_SR);
3784
5.06k
}
3785
0
#line 3786 "Zend/zend_language_scanner.c"
3786
11.4k
yy123:
3787
11.4k
  YYDEBUG(123, *YYCURSOR);
3788
11.4k
  yych = *++YYCURSOR;
3789
11.4k
  if (yych == '>') goto yy219;
3790
1.46k
  goto yy72;
3791
111k
yy124:
3792
111k
  YYDEBUG(124, *YYCURSOR);
3793
111k
  yych = *++YYCURSOR;
3794
111k
  if (yych == '\n') goto yy220;
3795
107k
  if (yych == '\r') goto yy221;
3796
111k
yy125:
3797
111k
  YYDEBUG(125, *YYCURSOR);
3798
111k
  yyleng = YYCURSOR - SCNG(yy_text);
3799
111k
#line 2555 "Zend/zend_language_scanner.l"
3800
111k
  {
3801
111k
  BEGIN(INITIAL);
3802
111k
  if (yytext[yyleng-1] != '>') {
3803
4.42k
    CG(increment_lineno) = 1;
3804
4.42k
  }
3805
111k
  if (PARSER_MODE()) {
3806
101k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3807
101k
  }
3808
9.38k
  RETURN_TOKEN(T_CLOSE_TAG);
3809
9.38k
}
3810
0
#line 3811 "Zend/zend_language_scanner.c"
3811
34.5k
yy126:
3812
34.5k
  YYDEBUG(126, *YYCURSOR);
3813
34.5k
  yych = *++YYCURSOR;
3814
34.5k
  if (yych == '=') goto yy222;
3815
28.0k
  yyleng = YYCURSOR - SCNG(yy_text);
3816
28.0k
#line 1651 "Zend/zend_language_scanner.l"
3817
28.0k
  {
3818
28.0k
  RETURN_TOKEN(T_COALESCE);
3819
28.0k
}
3820
0
#line 3821 "Zend/zend_language_scanner.c"
3821
7.64k
yy127:
3822
7.64k
  YYDEBUG(127, *YYCURSOR);
3823
7.64k
  yyaccept = 4;
3824
7.64k
  yych = *(YYMARKER = ++YYCURSOR);
3825
7.64k
  if (yych == 'S') goto yy223;
3826
6.57k
  if (yych == 's') goto yy223;
3827
1.58k
  goto yy40;
3828
4.37k
yy128:
3829
4.37k
  YYDEBUG(128, *YYCURSOR);
3830
4.37k
  yyaccept = 4;
3831
4.37k
  yych = *(YYMARKER = ++YYCURSOR);
3832
4.37k
  if (yych == 'D') goto yy224;
3833
3.91k
  if (yych == 'd') goto yy224;
3834
1.38k
  goto yy40;
3835
13.2k
yy129:
3836
13.2k
  YYDEBUG(129, *YYCURSOR);
3837
13.2k
  yyaccept = 4;
3838
13.2k
  yych = *(YYMARKER = ++YYCURSOR);
3839
13.2k
  if (yych == 'R') goto yy226;
3840
12.6k
  if (yych == 'r') goto yy226;
3841
3.23k
  goto yy40;
3842
51.0k
yy130:
3843
51.0k
  YYDEBUG(130, *YYCURSOR);
3844
51.0k
  yyaccept = 8;
3845
51.0k
  yych = *(YYMARKER = ++YYCURSOR);
3846
51.0k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
3847
42.5k
    goto yy39;
3848
42.5k
  }
3849
8.44k
  if (yych == '\\') goto yy132;
3850
8.40k
yy131:
3851
8.40k
  YYDEBUG(131, *YYCURSOR);
3852
8.40k
  yyleng = YYCURSOR - SCNG(yy_text);
3853
8.40k
#line 1539 "Zend/zend_language_scanner.l"
3854
8.40k
  {
3855
8.40k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3856
8.40k
}
3857
0
#line 3858 "Zend/zend_language_scanner.c"
3858
43.9k
yy132:
3859
43.9k
  YYDEBUG(132, *YYCURSOR);
3860
43.9k
  ++YYCURSOR;
3861
43.9k
  YYFILL(1);
3862
43.9k
  yych = *YYCURSOR;
3863
43.9k
  if (yych <= '_') {
3864
29.4k
    if (yych <= '@') goto yy72;
3865
12.5k
    if (yych <= 'Z') goto yy227;
3866
7.78k
    if (yych <= '^') goto yy72;
3867
941
    goto yy227;
3868
14.4k
  } else {
3869
14.4k
    if (yych <= '`') goto yy72;
3870
13.7k
    if (yych <= 'z') goto yy227;
3871
7.11k
    if (yych <= 0x7F) goto yy72;
3872
2.93k
    goto yy227;
3873
7.11k
  }
3874
2.35k
yy133:
3875
2.35k
  YYDEBUG(133, *YYCURSOR);
3876
2.35k
  yych = *++YYCURSOR;
3877
2.35k
  if (yych == '<') goto yy229;
3878
830
  goto yy72;
3879
4.49k
yy134:
3880
4.49k
  YYDEBUG(134, *YYCURSOR);
3881
4.49k
  yyaccept = 4;
3882
4.49k
  yych = *(YYMARKER = ++YYCURSOR);
3883
4.49k
  if (yych == 'E') goto yy230;
3884
4.21k
  if (yych == 'e') goto yy230;
3885
927
  goto yy40;
3886
23.0k
yy135:
3887
23.0k
  YYDEBUG(135, *YYCURSOR);
3888
23.0k
  yyaccept = 4;
3889
23.0k
  yych = *(YYMARKER = ++YYCURSOR);
3890
23.0k
  if (yych <= 'T') {
3891
4.96k
    if (yych <= 'L') {
3892
3.28k
      if (yych <= 'K') goto yy40;
3893
2.00k
      goto yy231;
3894
3.28k
    } else {
3895
1.67k
      if (yych <= 'R') goto yy40;
3896
1.35k
      if (yych <= 'S') goto yy232;
3897
1.10k
      goto yy233;
3898
1.35k
    }
3899
18.0k
  } else {
3900
18.0k
    if (yych <= 'r') {
3901
6.48k
      if (yych == 'l') goto yy231;
3902
652
      goto yy40;
3903
11.5k
    } else {
3904
11.5k
      if (yych <= 's') goto yy232;
3905
4.48k
      if (yych <= 't') goto yy233;
3906
742
      goto yy40;
3907
4.48k
    }
3908
18.0k
  }
3909
38.9k
yy136:
3910
38.9k
  YYDEBUG(136, *YYCURSOR);
3911
38.9k
  yyaccept = 4;
3912
38.9k
  yych = *(YYMARKER = ++YYCURSOR);
3913
38.9k
  if (yych <= 'O') {
3914
2.37k
    if (yych == 'A') goto yy234;
3915
1.18k
    if (yych <= 'N') goto yy40;
3916
278
    goto yy235;
3917
36.5k
  } else {
3918
36.5k
    if (yych <= 'a') {
3919
30.4k
      if (yych <= '`') goto yy40;
3920
30.0k
      goto yy234;
3921
30.4k
    } else {
3922
6.15k
      if (yych == 'o') goto yy235;
3923
1.27k
      goto yy40;
3924
6.15k
    }
3925
36.5k
  }
3926
23.6k
yy137:
3927
23.6k
  YYDEBUG(137, *YYCURSOR);
3928
23.6k
  yyaccept = 4;
3929
23.6k
  yych = *(YYMARKER = ++YYCURSOR);
3930
23.6k
  if (yych == 'N') goto yy236;
3931
21.2k
  if (yych == 'n') goto yy236;
3932
2.04k
  goto yy40;
3933
16.5k
yy138:
3934
16.5k
  YYDEBUG(138, *YYCURSOR);
3935
16.5k
  yyaccept = 4;
3936
16.5k
  yych = *(YYMARKER = ++YYCURSOR);
3937
16.5k
  if (yych <= 'F') {
3938
2.15k
    if (yych == 'C') goto yy237;
3939
1.45k
    if (yych <= 'E') goto yy40;
3940
650
    goto yy238;
3941
14.3k
  } else {
3942
14.3k
    if (yych <= 'c') {
3943
7.25k
      if (yych <= 'b') goto yy40;
3944
6.69k
      goto yy237;
3945
7.25k
    } else {
3946
7.14k
      if (yych == 'f') goto yy238;
3947
1.80k
      goto yy40;
3948
7.14k
    }
3949
14.3k
  }
3950
6.31k
yy139:
3951
6.31k
  YYDEBUG(139, *YYCURSOR);
3952
6.31k
  yyaccept = 4;
3953
6.31k
  yych = *(YYMARKER = ++YYCURSOR);
3954
6.31k
  if (yych == 'E') goto yy239;
3955
6.07k
  if (yych == 'e') goto yy239;
3956
1.11k
  goto yy40;
3957
5.53k
yy140:
3958
5.53k
  YYDEBUG(140, *YYCURSOR);
3959
5.53k
  yyaccept = 9;
3960
5.53k
  yych = *(YYMARKER = ++YYCURSOR);
3961
5.53k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
3962
3.41k
    goto yy39;
3963
3.41k
  }
3964
2.11k
  if (yych == '\\') goto yy132;
3965
2.11k
yy141:
3966
2.11k
  YYDEBUG(141, *YYCURSOR);
3967
2.11k
  yyleng = YYCURSOR - SCNG(yy_text);
3968
2.11k
#line 1507 "Zend/zend_language_scanner.l"
3969
2.11k
  {
3970
2.11k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3971
2.11k
}
3972
0
#line 3973 "Zend/zend_language_scanner.c"
3973
7.72k
yy142:
3974
7.72k
  YYDEBUG(142, *YYCURSOR);
3975
7.72k
  yyaccept = 4;
3976
7.72k
  yych = *(YYMARKER = ++YYCURSOR);
3977
7.72k
  if (yych == 'H') goto yy241;
3978
6.86k
  if (yych == 'h') goto yy241;
3979
1.22k
  goto yy40;
3980
12.4k
yy143:
3981
12.4k
  YYDEBUG(143, *YYCURSOR);
3982
12.4k
  yyaccept = 4;
3983
12.4k
  yych = *(YYMARKER = ++YYCURSOR);
3984
12.4k
  if (yych == 'S') goto yy242;
3985
11.6k
  if (yych == 's') goto yy242;
3986
3.10k
  goto yy40;
3987
4.28k
yy144:
3988
4.28k
  YYDEBUG(144, *YYCURSOR);
3989
4.28k
  yyaccept = 4;
3990
4.28k
  yych = *(YYMARKER = ++YYCURSOR);
3991
4.28k
  if (yych == 'P') goto yy243;
3992
4.01k
  if (yych == 'p') goto yy243;
3993
1.63k
  goto yy40;
3994
120k
yy145:
3995
120k
  YYDEBUG(145, *YYCURSOR);
3996
120k
  yyaccept = 4;
3997
120k
  yych = *(YYMARKER = ++YYCURSOR);
3998
120k
  if (yych <= 'U') {
3999
10.2k
    if (yych == 'D') goto yy244;
4000
7.42k
    if (yych <= 'T') goto yy40;
4001
2.62k
    goto yy245;
4002
110k
  } else {
4003
110k
    if (yych <= 'd') {
4004
17.6k
      if (yych <= 'c') goto yy40;
4005
16.8k
      goto yy244;
4006
92.8k
    } else {
4007
92.8k
      if (yych == 'u') goto yy245;
4008
4.11k
      goto yy40;
4009
92.8k
    }
4010
110k
  }
4011
5.82k
yy146:
4012
5.82k
  YYDEBUG(146, *YYCURSOR);
4013
5.82k
  yyaccept = 4;
4014
5.82k
  yych = *(YYMARKER = ++YYCURSOR);
4015
5.82k
  if (yych == 'A') goto yy246;
4016
5.50k
  if (yych == 'a') goto yy246;
4017
698
  goto yy40;
4018
20.3k
yy147:
4019
20.3k
  YYDEBUG(147, *YYCURSOR);
4020
20.3k
  yyaccept = 4;
4021
20.3k
  yych = *(YYMARKER = ++YYCURSOR);
4022
20.3k
  if (yych <= 'T') {
4023
2.46k
    if (yych == 'I') goto yy247;
4024
2.13k
    if (yych <= 'S') goto yy40;
4025
989
    goto yy248;
4026
17.8k
  } else {
4027
17.8k
    if (yych <= 'i') {
4028
2.64k
      if (yych <= 'h') goto yy40;
4029
1.85k
      goto yy247;
4030
15.2k
    } else {
4031
15.2k
      if (yych == 't') goto yy248;
4032
562
      goto yy40;
4033
15.2k
    }
4034
17.8k
  }
4035
12.7k
yy148:
4036
12.7k
  YYDEBUG(148, *YYCURSOR);
4037
12.7k
  yyaccept = 4;
4038
12.7k
  yych = *(YYMARKER = ++YYCURSOR);
4039
12.7k
  if (yych == 'N') goto yy249;
4040
12.3k
  if (yych == 'n') goto yy249;
4041
1.68k
  goto yy40;
4042
21.2k
yy149:
4043
21.2k
  YYDEBUG(149, *YYCURSOR);
4044
21.2k
  yyaccept = 10;
4045
21.2k
  yych = *(YYMARKER = ++YYCURSOR);
4046
21.2k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
4047
1.92k
    goto yy39;
4048
1.92k
  }
4049
19.3k
  if (yych == '\\') goto yy132;
4050
19.3k
yy150:
4051
19.3k
  YYDEBUG(150, *YYCURSOR);
4052
19.3k
  yyleng = YYCURSOR - SCNG(yy_text);
4053
19.3k
#line 1436 "Zend/zend_language_scanner.l"
4054
19.3k
  {
4055
19.3k
  RETURN_TOKEN_WITH_IDENT(T_FN);
4056
19.3k
}
4057
0
#line 4058 "Zend/zend_language_scanner.c"
4058
28.4k
yy151:
4059
28.4k
  YYDEBUG(151, *YYCURSOR);
4060
28.4k
  yyaccept = 4;
4061
28.4k
  yych = *(YYMARKER = ++YYCURSOR);
4062
28.4k
  if (yych == 'R') goto yy250;
4063
25.7k
  if (yych == 'r') goto yy250;
4064
9.35k
  goto yy40;
4065
43.2k
yy152:
4066
43.2k
  YYDEBUG(152, *YYCURSOR);
4067
43.2k
  yyaccept = 4;
4068
43.2k
  yych = *(YYMARKER = ++YYCURSOR);
4069
43.2k
  if (yych == 'N') goto yy252;
4070
41.8k
  if (yych == 'n') goto yy252;
4071
1.54k
  goto yy40;
4072
3.92k
yy153:
4073
3.92k
  YYDEBUG(153, *YYCURSOR);
4074
3.92k
  yyaccept = 4;
4075
3.92k
  yych = *(YYMARKER = ++YYCURSOR);
4076
3.92k
  if (yych == 'O') goto yy253;
4077
3.03k
  if (yych == 'o') goto yy253;
4078
532
  goto yy40;
4079
5.46k
yy154:
4080
5.46k
  YYDEBUG(154, *YYCURSOR);
4081
5.46k
  yyaccept = 4;
4082
5.46k
  yych = *(YYMARKER = ++YYCURSOR);
4083
5.46k
  if (yych == 'T') goto yy254;
4084
5.15k
  if (yych == 't') goto yy254;
4085
764
  goto yy40;
4086
6.45k
yy155:
4087
6.45k
  YYDEBUG(155, *YYCURSOR);
4088
6.45k
  yyaccept = 11;
4089
6.45k
  yych = *(YYMARKER = ++YYCURSOR);
4090
6.45k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
4091
932
    goto yy39;
4092
932
  }
4093
5.51k
  if (yych == '\\') goto yy132;
4094
5.46k
yy156:
4095
5.46k
  YYDEBUG(156, *YYCURSOR);
4096
5.46k
  yyleng = YYCURSOR - SCNG(yy_text);
4097
5.46k
#line 1483 "Zend/zend_language_scanner.l"
4098
5.46k
  {
4099
5.46k
  RETURN_TOKEN_WITH_IDENT(T_IF);
4100
5.46k
}
4101
0
#line 4102 "Zend/zend_language_scanner.c"
4102
10.6k
yy157:
4103
10.6k
  YYDEBUG(157, *YYCURSOR);
4104
10.6k
  yyaccept = 4;
4105
10.6k
  yych = *(YYMARKER = ++YYCURSOR);
4106
10.6k
  if (yych == 'P') goto yy255;
4107
9.10k
  if (yych == 'p') goto yy255;
4108
1.93k
  goto yy40;
4109
58.1k
yy158:
4110
58.1k
  YYDEBUG(158, *YYCURSOR);
4111
58.1k
  yyaccept = 4;
4112
58.1k
  yych = *(YYMARKER = ++YYCURSOR);
4113
58.1k
  if (yych <= 'T') {
4114
8.71k
    if (yych <= 'C') {
4115
3.33k
      if (yych <= 'B') goto yy40;
4116
897
      goto yy256;
4117
5.37k
    } else {
4118
5.37k
      if (yych <= 'R') goto yy40;
4119
3.27k
      if (yych <= 'S') goto yy257;
4120
2.29k
      goto yy258;
4121
3.27k
    }
4122
49.4k
  } else {
4123
49.4k
    if (yych <= 'r') {
4124
27.1k
      if (yych == 'c') goto yy256;
4125
19.7k
      goto yy40;
4126
27.1k
    } else {
4127
22.3k
      if (yych <= 's') goto yy257;
4128
13.8k
      if (yych <= 't') goto yy258;
4129
1.41k
      goto yy40;
4130
13.8k
    }
4131
49.4k
  }
4132
8.73k
yy159:
4133
8.73k
  YYDEBUG(159, *YYCURSOR);
4134
8.73k
  yyaccept = 4;
4135
8.73k
  yych = *(YYMARKER = ++YYCURSOR);
4136
8.73k
  if (yych == 'S') goto yy259;
4137
8.24k
  if (yych == 's') goto yy259;
4138
4.86k
  goto yy40;
4139
4.86k
yy160:
4140
4.85k
  YYDEBUG(160, *YYCURSOR);
4141
4.85k
  yyaccept = 4;
4142
4.85k
  yych = *(YYMARKER = ++YYCURSOR);
4143
4.85k
  if (yych == 'S') goto yy260;
4144
4.44k
  if (yych == 's') goto yy260;
4145
682
  goto yy40;
4146
5.53k
yy161:
4147
5.53k
  YYDEBUG(161, *YYCURSOR);
4148
5.53k
  yyaccept = 4;
4149
5.53k
  yych = *(YYMARKER = ++YYCURSOR);
4150
5.53k
  if (yych == 'T') goto yy261;
4151
5.13k
  if (yych == 't') goto yy261;
4152
953
  goto yy40;
4153
16.4k
yy162:
4154
16.4k
  YYDEBUG(162, *YYCURSOR);
4155
16.4k
  yyaccept = 4;
4156
16.4k
  yych = *(YYMARKER = ++YYCURSOR);
4157
16.4k
  if (yych == 'M') goto yy262;
4158
15.9k
  if (yych == 'm') goto yy262;
4159
1.78k
  goto yy40;
4160
21.1k
yy163:
4161
21.1k
  YYDEBUG(163, *YYCURSOR);
4162
21.1k
  yyaccept = 4;
4163
21.1k
  yych = *(YYMARKER = ++YYCURSOR);
4164
21.1k
  if (yych == 'W') goto yy263;
4165
20.6k
  if (yych == 'w') goto yy263;
4166
3.54k
  goto yy40;
4167
3.54k
yy164:
4168
3.29k
  YYDEBUG(164, *YYCURSOR);
4169
3.29k
  yyaccept = 12;
4170
3.29k
  yych = *(YYMARKER = ++YYCURSOR);
4171
3.29k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
4172
2.34k
    goto yy39;
4173
2.34k
  }
4174
951
  if (yych == '\\') goto yy132;
4175
923
yy165:
4176
923
  YYDEBUG(165, *YYCURSOR);
4177
923
  yyleng = YYCURSOR - SCNG(yy_text);
4178
923
#line 1959 "Zend/zend_language_scanner.l"
4179
923
  {
4180
923
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
4181
923
}
4182
0
#line 4183 "Zend/zend_language_scanner.c"
4183
25.5k
yy166:
4184
25.5k
  YYDEBUG(166, *YYCURSOR);
4185
25.5k
  yyaccept = 4;
4186
25.5k
  yych = *(YYMARKER = ++YYCURSOR);
4187
25.5k
  if (yych <= 'O') {
4188
2.56k
    if (yych == 'I') goto yy265;
4189
2.20k
    if (yych <= 'N') goto yy40;
4190
849
    goto yy266;
4191
22.9k
  } else {
4192
22.9k
    if (yych <= 'i') {
4193
14.7k
      if (yych <= 'h') goto yy40;
4194
13.4k
      goto yy265;
4195
14.7k
    } else {
4196
8.24k
      if (yych == 'o') goto yy266;
4197
888
      goto yy40;
4198
8.24k
    }
4199
22.9k
  }
4200
22.1k
yy167:
4201
22.1k
  YYDEBUG(167, *YYCURSOR);
4202
22.1k
  yyaccept = 4;
4203
22.1k
  yych = *(YYMARKER = ++YYCURSOR);
4204
22.1k
  if (yych == 'B') goto yy267;
4205
21.7k
  if (yych == 'b') goto yy267;
4206
872
  goto yy40;
4207
25.9k
yy168:
4208
25.9k
  YYDEBUG(168, *YYCURSOR);
4209
25.9k
  yyaccept = 4;
4210
25.9k
  yych = *(YYMARKER = ++YYCURSOR);
4211
25.9k
  if (yych <= 'T') {
4212
3.75k
    if (yych <= 'P') {
4213
2.22k
      if (yych == 'A') goto yy268;
4214
1.49k
      goto yy40;
4215
2.22k
    } else {
4216
1.53k
      if (yych <= 'Q') goto yy269;
4217
688
      if (yych <= 'S') goto yy40;
4218
440
      goto yy270;
4219
688
    }
4220
22.2k
  } else {
4221
22.2k
    if (yych <= 'p') {
4222
6.52k
      if (yych == 'a') goto yy268;
4223
1.06k
      goto yy40;
4224
15.7k
    } else {
4225
15.7k
      if (yych <= 'q') goto yy269;
4226
7.83k
      if (yych == 't') goto yy270;
4227
1.14k
      goto yy40;
4228
7.83k
    }
4229
22.2k
  }
4230
19.9k
yy169:
4231
19.9k
  YYDEBUG(169, *YYCURSOR);
4232
19.9k
  yyaccept = 4;
4233
19.9k
  yych = *(YYMARKER = ++YYCURSOR);
4234
19.9k
  if (yych == 'A') goto yy271;
4235
19.3k
  if (yych == 'a') goto yy271;
4236
10.3k
  goto yy40;
4237
10.3k
yy170:
4238
5.18k
  YYDEBUG(170, *YYCURSOR);
4239
5.18k
  yyaccept = 4;
4240
5.18k
  yych = *(YYMARKER = ++YYCURSOR);
4241
5.18k
  if (yych == 'I') goto yy272;
4242
4.87k
  if (yych == 'i') goto yy272;
4243
886
  goto yy40;
4244
4.31k
yy171:
4245
4.31k
  YYDEBUG(171, *YYCURSOR);
4246
4.31k
  yyaccept = 4;
4247
4.31k
  yych = *(YYMARKER = ++YYCURSOR);
4248
4.31k
  if (yych == 'R') goto yy273;
4249
3.88k
  if (yych == 'r') goto yy273;
4250
1.25k
  goto yy40;
4251
14.2k
yy172:
4252
14.2k
  YYDEBUG(172, *YYCURSOR);
4253
14.2k
  yyaccept = 4;
4254
14.2k
  yych = *(YYMARKER = ++YYCURSOR);
4255
14.2k
  if (yych <= 'Y') {
4256
2.40k
    if (yych == 'A') goto yy274;
4257
1.81k
    if (yych <= 'X') goto yy40;
4258
284
    goto yy275;
4259
11.8k
  } else {
4260
11.8k
    if (yych <= 'a') {
4261
3.72k
      if (yych <= '`') goto yy40;
4262
3.35k
      goto yy274;
4263
8.16k
    } else {
4264
8.16k
      if (yych == 'y') goto yy275;
4265
4.03k
      goto yy40;
4266
8.16k
    }
4267
11.8k
  }
4268
7.33k
yy173:
4269
7.33k
  YYDEBUG(173, *YYCURSOR);
4270
7.33k
  yyaccept = 4;
4271
7.33k
  yych = *(YYMARKER = ++YYCURSOR);
4272
7.33k
  if (yych == 'S') goto yy277;
4273
6.93k
  if (yych == 's') goto yy277;
4274
1.80k
  goto yy40;
4275
8.52k
yy174:
4276
8.52k
  YYDEBUG(174, *YYCURSOR);
4277
8.52k
  yyaccept = 4;
4278
8.52k
  yych = *(YYMARKER = ++YYCURSOR);
4279
8.52k
  if (yych == 'E') goto yy278;
4280
8.27k
  if (yych == 'e') goto yy278;
4281
639
  goto yy40;
4282
7.79k
yy175:
4283
7.79k
  YYDEBUG(175, *YYCURSOR);
4284
7.79k
  yyaccept = 4;
4285
7.79k
  yych = *(YYMARKER = ++YYCURSOR);
4286
7.79k
  if (yych == 'R') goto yy280;
4287
7.52k
  if (yych == 'r') goto yy280;
4288
2.12k
  goto yy40;
4289
5.66k
yy176:
4290
5.66k
  YYDEBUG(176, *YYCURSOR);
4291
5.66k
  yyaccept = 4;
4292
5.66k
  yych = *(YYMARKER = ++YYCURSOR);
4293
5.66k
  if (yych == 'I') goto yy282;
4294
5.36k
  if (yych == 'i') goto yy282;
4295
697
  goto yy40;
4296
4.00k
yy177:
4297
4.00k
  YYDEBUG(177, *YYCURSOR);
4298
4.00k
  yyaccept = 4;
4299
4.00k
  yych = *(YYMARKER = ++YYCURSOR);
4300
4.00k
  if (yych == 'R') goto yy283;
4301
3.59k
  if (yych == 'r') goto yy283;
4302
628
  goto yy40;
4303
62.1k
yy178:
4304
62.1k
  YYDEBUG(178, *YYCURSOR);
4305
62.1k
  yyaccept = 4;
4306
62.1k
  yych = *(YYMARKER = ++YYCURSOR);
4307
62.1k
  if (yych == 'E') goto yy285;
4308
61.0k
  if (yych == 'e') goto yy285;
4309
2.60k
  goto yy40;
4310
88.1k
yy179:
4311
88.1k
  YYDEBUG(179, *YYCURSOR);
4312
88.1k
  yyaccept = 13;
4313
88.1k
  YYMARKER = ++YYCURSOR;
4314
88.1k
  YYFILL(1);
4315
88.1k
  yych = *YYCURSOR;
4316
88.1k
  if (yych <= '\\') {
4317
24.2k
    if (yych <= '@') {
4318
12.1k
      if (yych <= '/') goto yy180;
4319
4.41k
      if (yych <= '9') goto yy179;
4320
12.1k
    } else {
4321
12.1k
      if (yych <= 'Z') goto yy179;
4322
5.89k
      if (yych >= '\\') goto yy286;
4323
5.89k
    }
4324
63.8k
  } else {
4325
63.8k
    if (yych <= '`') {
4326
3.82k
      if (yych == '_') goto yy179;
4327
60.0k
    } else {
4328
60.0k
      if (yych <= 'z') goto yy179;
4329
15.4k
      if (yych >= 0x80) goto yy179;
4330
15.4k
    }
4331
63.8k
  }
4332
17.8k
yy180:
4333
17.8k
  YYDEBUG(180, *YYCURSOR);
4334
17.8k
  yyleng = YYCURSOR - SCNG(yy_text);
4335
17.8k
#line 2476 "Zend/zend_language_scanner.l"
4336
17.8k
  {
4337
17.8k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4338
17.8k
}
4339
0
#line 4340 "Zend/zend_language_scanner.c"
4340
436
yy181:
4341
436
  YYDEBUG(181, *YYCURSOR);
4342
436
  ++YYCURSOR;
4343
436
  yyleng = YYCURSOR - SCNG(yy_text);
4344
436
#line 1939 "Zend/zend_language_scanner.l"
4345
436
  {
4346
436
  RETURN_TOKEN(T_XOR_EQUAL);
4347
436
}
4348
0
#line 4349 "Zend/zend_language_scanner.c"
4349
64.1k
yy182:
4350
64.1k
  YYDEBUG(182, *YYCURSOR);
4351
64.1k
  yyaccept = 4;
4352
64.1k
  yych = *(YYMARKER = ++YYCURSOR);
4353
64.1k
  switch (yych) {
4354
1.54k
    case 'C':
4355
8.76k
    case 'c': goto yy287;
4356
797
    case 'D':
4357
5.29k
    case 'd': goto yy288;
4358
1.68k
    case 'F':
4359
10.1k
    case 'f': goto yy289;
4360
2.92k
    case 'H':
4361
5.79k
    case 'h': goto yy290;
4362
1.58k
    case 'L':
4363
3.88k
    case 'l': goto yy291;
4364
1.24k
    case 'M':
4365
5.64k
    case 'm': goto yy292;
4366
822
    case 'N':
4367
5.10k
    case 'n': goto yy293;
4368
4.11k
    case 'P':
4369
5.43k
    case 'p': goto yy294;
4370
237
    case 'T':
4371
6.14k
    case 't': goto yy295;
4372
7.96k
    default: goto yy40;
4373
64.1k
  }
4374
1.01k
yy183:
4375
1.01k
  YYDEBUG(183, *YYCURSOR);
4376
1.01k
  ++YYCURSOR;
4377
1.01k
  yyleng = YYCURSOR - SCNG(yy_text);
4378
1.01k
#line 1935 "Zend/zend_language_scanner.l"
4379
1.01k
  {
4380
1.01k
  RETURN_TOKEN(T_OR_EQUAL);
4381
1.01k
}
4382
0
#line 4383 "Zend/zend_language_scanner.c"
4383
6.51k
yy184:
4384
6.51k
  YYDEBUG(184, *YYCURSOR);
4385
6.51k
  ++YYCURSOR;
4386
6.51k
  yyleng = YYCURSOR - SCNG(yy_text);
4387
6.51k
#line 1947 "Zend/zend_language_scanner.l"
4388
6.51k
  {
4389
6.51k
  RETURN_TOKEN(T_PIPE);
4390
6.51k
}
4391
0
#line 4392 "Zend/zend_language_scanner.c"
4392
4.73k
yy185:
4393
4.73k
  YYDEBUG(185, *YYCURSOR);
4394
4.73k
  ++YYCURSOR;
4395
4.73k
  yyleng = YYCURSOR - SCNG(yy_text);
4396
4.73k
#line 1951 "Zend/zend_language_scanner.l"
4397
4.73k
  {
4398
4.73k
  RETURN_TOKEN(T_BOOLEAN_OR);
4399
4.73k
}
4400
0
#line 4401 "Zend/zend_language_scanner.c"
4401
2.77k
yy186:
4402
2.77k
  YYDEBUG(186, *YYCURSOR);
4403
2.77k
  ++YYCURSOR;
4404
2.77k
  yyleng = YYCURSOR - SCNG(yy_text);
4405
2.77k
#line 1867 "Zend/zend_language_scanner.l"
4406
2.77k
  {
4407
2.77k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4408
2.77k
}
4409
0
#line 4410 "Zend/zend_language_scanner.c"
4410
209k
yy187:
4411
209k
  YYDEBUG(187, *YYCURSOR);
4412
209k
  ++YYCURSOR;
4413
209k
  YYFILL(1);
4414
209k
  yych = *YYCURSOR;
4415
209k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 2) {
4416
111k
    goto yy187;
4417
111k
  }
4418
98.7k
  if (yych <= 0x00) goto yy72;
4419
95.7k
  goto yy70;
4420
119k
yy188:
4421
119k
  YYDEBUG(188, *YYCURSOR);
4422
119k
  ++YYCURSOR;
4423
119k
  YYFILL(1);
4424
119k
  yych = *YYCURSOR;
4425
119k
  if (yych <= 0x1F) {
4426
8.65k
    if (yych <= '\t') {
4427
3.09k
      if (yych <= 0x00) goto yy72;
4428
2.67k
      if (yych <= 0x08) goto yy187;
4429
506
      goto yy188;
4430
5.55k
    } else {
4431
5.55k
      if (yych <= '\n') goto yy70;
4432
4.25k
      if (yych == '\r') goto yy70;
4433
3.69k
      goto yy187;
4434
4.25k
    }
4435
110k
  } else {
4436
110k
    if (yych <= '$') {
4437
7.03k
      if (yych <= ' ') goto yy188;
4438
6.59k
      if (yych <= '"') goto yy187;
4439
6.20k
      if (yych <= '#') goto yy296;
4440
1.01k
      goto yy297;
4441
103k
    } else {
4442
103k
      if (yych <= '-') goto yy187;
4443
44.1k
      if (yych <= '.') goto yy298;
4444
33.7k
      if (yych <= '/') goto yy299;
4445
15.3k
      goto yy187;
4446
33.7k
    }
4447
110k
  }
4448
834
yy189:
4449
834
  YYDEBUG(189, *YYCURSOR);
4450
834
  yych = *++YYCURSOR;
4451
834
  if (yych == '.') goto yy74;
4452
275
  goto yy72;
4453
46.1k
yy190:
4454
46.1k
  YYDEBUG(190, *YYCURSOR);
4455
46.1k
  ++YYCURSOR;
4456
46.1k
  YYFILL(1);
4457
46.1k
  yych = *YYCURSOR;
4458
46.1k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 4) {
4459
37.6k
    goto yy190;
4460
37.6k
  }
4461
8.54k
  if (yych <= 0x00) goto yy72;
4462
3.54k
  goto yy300;
4463
6.88k
yy191:
4464
6.88k
  YYDEBUG(191, *YYCURSOR);
4465
6.88k
  yych = *++YYCURSOR;
4466
6.88k
  if (yych == 'R') goto yy301;
4467
6.33k
  if (yych == 'r') goto yy301;
4468
1.02k
  goto yy72;
4469
5.64k
yy192:
4470
5.64k
  YYDEBUG(192, *YYCURSOR);
4471
5.64k
  yych = *++YYCURSOR;
4472
5.64k
  if (yych == 'N') goto yy302;
4473
1.84k
  if (yych == 'n') goto yy302;
4474
974
  goto yy72;
4475
5.21k
yy193:
4476
5.21k
  YYDEBUG(193, *YYCURSOR);
4477
5.21k
  yych = *++YYCURSOR;
4478
5.21k
  if (yych == 'O') goto yy303;
4479
4.54k
  if (yych == 'o') goto yy303;
4480
670
  goto yy72;
4481
3.34k
yy194:
4482
3.34k
  YYDEBUG(194, *YYCURSOR);
4483
3.34k
  yych = *++YYCURSOR;
4484
3.34k
  if (yych == 'U') goto yy304;
4485
3.09k
  if (yych == 'u') goto yy304;
4486
859
  goto yy72;
4487
4.34k
yy195:
4488
4.34k
  YYDEBUG(195, *YYCURSOR);
4489
4.34k
  yych = *++YYCURSOR;
4490
4.34k
  if (yych == 'O') goto yy305;
4491
1.83k
  if (yych == 'o') goto yy305;
4492
401
  goto yy72;
4493
9.00k
yy196:
4494
9.00k
  YYDEBUG(196, *YYCURSOR);
4495
9.00k
  yych = *++YYCURSOR;
4496
9.00k
  if (yych == 'T') goto yy306;
4497
7.49k
  if (yych == 't') goto yy306;
4498
1.34k
  goto yy72;
4499
3.62k
yy197:
4500
3.62k
  YYDEBUG(197, *YYCURSOR);
4501
3.62k
  yych = *++YYCURSOR;
4502
3.62k
  if (yych == 'J') goto yy307;
4503
3.32k
  if (yych == 'j') goto yy307;
4504
617
  goto yy72;
4505
2.74k
yy198:
4506
2.74k
  YYDEBUG(198, *YYCURSOR);
4507
2.74k
  yych = *++YYCURSOR;
4508
2.74k
  if (yych == 'A') goto yy308;
4509
1.96k
  if (yych == 'a') goto yy308;
4510
799
  goto yy72;
4511
5.97k
yy199:
4512
5.97k
  YYDEBUG(199, *YYCURSOR);
4513
5.97k
  yych = *++YYCURSOR;
4514
5.97k
  if (yych == 'R') goto yy309;
4515
5.68k
  if (yych == 'r') goto yy309;
4516
1.22k
  goto yy72;
4517
2.85k
yy200:
4518
2.85k
  YYDEBUG(200, *YYCURSOR);
4519
2.85k
  yych = *++YYCURSOR;
4520
2.85k
  if (yych == 'S') goto yy310;
4521
2.57k
  if (yych == 's') goto yy310;
4522
539
  goto yy72;
4523
3.19k
yy201:
4524
3.19k
  YYDEBUG(201, *YYCURSOR);
4525
3.19k
  yych = *++YYCURSOR;
4526
3.19k
  if (yych == 'I') goto yy311;
4527
2.64k
  if (yych == 'i') goto yy311;
4528
745
  goto yy72;
4529
745
yy202:
4530
333
  YYDEBUG(202, *YYCURSOR);
4531
333
  ++YYCURSOR;
4532
333
  yyleng = YYCURSOR - SCNG(yy_text);
4533
333
#line 1907 "Zend/zend_language_scanner.l"
4534
333
  {
4535
333
  RETURN_TOKEN(T_POW_EQUAL);
4536
333
}
4537
0
#line 4538 "Zend/zend_language_scanner.c"
4538
11.5k
yy203:
4539
11.5k
  YYDEBUG(203, *YYCURSOR);
4540
11.5k
  ++YYCURSOR;
4541
11.5k
  yyleng = YYCURSOR - SCNG(yy_text);
4542
11.5k
#line 1647 "Zend/zend_language_scanner.l"
4543
11.5k
  {
4544
11.5k
  RETURN_TOKEN(T_ELLIPSIS);
4545
11.5k
}
4546
0
#line 4547 "Zend/zend_language_scanner.c"
4547
1.22k
yy204:
4548
1.22k
  YYDEBUG(204, *YYCURSOR);
4549
1.22k
  ++YYCURSOR;
4550
1.22k
  YYFILL(1);
4551
1.22k
  yych = *YYCURSOR;
4552
1.22k
  if (yych <= '/') goto yy72;
4553
799
  if (yych <= '9') goto yy100;
4554
292
  goto yy72;
4555
7.86k
yy205:
4556
7.86k
  YYDEBUG(205, *YYCURSOR);
4557
7.86k
  yych = *++YYCURSOR;
4558
7.86k
  if (yych <= '\f') {
4559
2.37k
    if (yych <= 0x08) goto yy72;
4560
1.89k
    if (yych <= '\n') goto yy312;
4561
624
    goto yy72;
4562
5.49k
  } else {
4563
5.49k
    if (yych <= '\r') goto yy312;
4564
4.14k
    if (yych == ' ') goto yy312;
4565
1.40k
    goto yy72;
4566
4.14k
  }
4567
36.3k
yy206:
4568
36.3k
  YYDEBUG(206, *YYCURSOR);
4569
36.3k
  yyaccept = 14;
4570
36.3k
  YYMARKER = ++YYCURSOR;
4571
36.3k
  YYFILL(1);
4572
36.3k
  yych = *YYCURSOR;
4573
36.3k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 8) {
4574
31.8k
    goto yy206;
4575
31.8k
  }
4576
4.48k
  if (yych == '_') goto yy109;
4577
2.23k
yy207:
4578
2.23k
  YYDEBUG(207, *YYCURSOR);
4579
2.23k
  yyleng = YYCURSOR - SCNG(yy_text);
4580
2.23k
#line 2040 "Zend/zend_language_scanner.l"
4581
2.23k
  {
4582
  /* The +/- 2 skips "0b" */
4583
2.23k
  size_t len = yyleng - 2;
4584
2.23k
  char *end, *bin = yytext + 2;
4585
2.23k
  bool contains_underscores;
4586
4587
  /* Skip any leading 0s */
4588
4.62k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4589
2.39k
    ++bin;
4590
2.39k
    --len;
4591
2.39k
  }
4592
4593
2.23k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4594
4595
2.23k
  if (contains_underscores) {
4596
478
    bin = estrndup(bin, len);
4597
478
    strip_underscores(bin, &len);
4598
478
  }
4599
4600
2.23k
  if (len < SIZEOF_ZEND_LONG * 8) {
4601
1.81k
    if (len == 0) {
4602
814
      ZVAL_LONG(zendlval, 0);
4603
998
    } else {
4604
998
      errno = 0;
4605
998
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4606
998
      ZEND_ASSERT(!errno && end == bin + len);
4607
998
    }
4608
1.81k
    if (contains_underscores) {
4609
278
      efree(bin);
4610
278
    }
4611
1.81k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4612
1.81k
  } else {
4613
419
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4614
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4615
419
    ZEND_ASSERT(end == bin + len);
4616
419
    if (contains_underscores) {
4617
200
      efree(bin);
4618
200
    }
4619
419
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4620
419
  }
4621
2.23k
}
4622
0
#line 4623 "Zend/zend_language_scanner.c"
4623
12.0k
yy208:
4624
12.0k
  YYDEBUG(208, *YYCURSOR);
4625
12.0k
  ++YYCURSOR;
4626
12.0k
  YYFILL(1);
4627
12.0k
  yych = *YYCURSOR;
4628
12.0k
  if (yych <= '/') goto yy72;
4629
11.5k
  if (yych >= ':') goto yy72;
4630
70.6k
yy209:
4631
70.6k
  YYDEBUG(209, *YYCURSOR);
4632
70.6k
  yyaccept = 5;
4633
70.6k
  YYMARKER = ++YYCURSOR;
4634
70.6k
  YYFILL(1);
4635
70.6k
  yych = *YYCURSOR;
4636
70.6k
  if (yych <= '/') goto yy102;
4637
53.4k
  if (yych <= '9') goto yy209;
4638
11.3k
  if (yych == '_') goto yy208;
4639
10.3k
  goto yy102;
4640
17.1k
yy210:
4641
17.1k
  YYDEBUG(210, *YYCURSOR);
4642
17.1k
  yyaccept = 15;
4643
17.1k
  YYMARKER = ++YYCURSOR;
4644
17.1k
  YYFILL(1);
4645
17.1k
  yych = *YYCURSOR;
4646
17.1k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 16) {
4647
14.1k
    goto yy210;
4648
14.1k
  }
4649
2.92k
  if (yych == '_') goto yy111;
4650
1.90k
yy211:
4651
1.90k
  YYDEBUG(211, *YYCURSOR);
4652
1.90k
  yyleng = YYCURSOR - SCNG(yy_text);
4653
1.90k
#line 2082 "Zend/zend_language_scanner.l"
4654
1.90k
  {
4655
  /* The +/- 2 skips "0o" */
4656
1.90k
  size_t len = yyleng - 2;
4657
1.90k
  char *end, *octal = yytext + 2;
4658
1.90k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4659
4660
  /* Skip any leading 0s */
4661
3.22k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4662
1.32k
    ++octal;
4663
1.32k
    --len;
4664
1.32k
  }
4665
4666
1.90k
  if (len == 0) {
4667
397
    ZVAL_LONG(zendlval, 0);
4668
397
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4669
397
  }
4670
4671
1.51k
  if (contains_underscores) {
4672
912
    octal = estrndup(octal, len);
4673
912
    strip_underscores(octal, &len);
4674
912
  }
4675
4676
1.51k
  errno = 0;
4677
4678
1.51k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4679
4680
1.51k
  ZEND_ASSERT(end == octal + len);
4681
4682
1.51k
  if (!errno) {
4683
999
    if (contains_underscores) {
4684
599
      efree(octal);
4685
599
    }
4686
999
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4687
999
  }
4688
4689
  /* Overflow */
4690
511
  ZEND_ASSERT(errno == ERANGE);
4691
  /* Reset errno */
4692
511
  errno = 0;
4693
4694
  /* zend_oct_strtod skips leading '0' */
4695
511
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4696
511
  ZEND_ASSERT(!errno);
4697
511
  ZEND_ASSERT(end == octal + len);
4698
511
  if (contains_underscores) {
4699
313
    efree(octal);
4700
313
  }
4701
511
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4702
511
}
4703
0
#line 4704 "Zend/zend_language_scanner.c"
4704
27.9k
yy212:
4705
27.9k
  YYDEBUG(212, *YYCURSOR);
4706
27.9k
  yyaccept = 16;
4707
27.9k
  YYMARKER = ++YYCURSOR;
4708
27.9k
  YYFILL(1);
4709
27.9k
  yych = *YYCURSOR;
4710
27.9k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 32) {
4711
23.7k
    goto yy212;
4712
23.7k
  }
4713
4.17k
  if (yych == '_') goto yy112;
4714
3.02k
yy213:
4715
3.02k
  YYDEBUG(213, *YYCURSOR);
4716
3.02k
  yyleng = YYCURSOR - SCNG(yy_text);
4717
3.02k
#line 2195 "Zend/zend_language_scanner.l"
4718
3.02k
  {
4719
  /* The +/- 2 skips "0x" */
4720
3.02k
  size_t len = yyleng - 2;
4721
3.02k
  char *end, *hex = yytext + 2;
4722
3.02k
  bool contains_underscores;
4723
4724
  /* Skip any leading 0s */
4725
4.00k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4726
977
    ++hex;
4727
977
    --len;
4728
977
  }
4729
4730
3.02k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4731
4732
3.02k
  if (contains_underscores) {
4733
993
    hex = estrndup(hex, len);
4734
993
    strip_underscores(hex, &len);
4735
993
  }
4736
4737
3.02k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4738
2.10k
    if (len == 0) {
4739
514
      ZVAL_LONG(zendlval, 0);
4740
1.59k
    } else {
4741
1.59k
      errno = 0;
4742
1.59k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4743
1.59k
      ZEND_ASSERT(!errno && end == hex + len);
4744
1.59k
    }
4745
2.10k
    if (contains_underscores) {
4746
519
      efree(hex);
4747
519
    }
4748
2.10k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4749
2.10k
  } else {
4750
923
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4751
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4752
923
    ZEND_ASSERT(end == hex + len);
4753
923
    if (contains_underscores) {
4754
474
      efree(hex);
4755
474
    }
4756
923
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4757
923
  }
4758
3.02k
}
4759
0
#line 4760 "Zend/zend_language_scanner.c"
4760
1.60M
yy214:
4761
1.60M
  YYDEBUG(214, *YYCURSOR);
4762
1.60M
  ++YYCURSOR;
4763
1.60M
  YYFILL(2);
4764
1.60M
  yych = *YYCURSOR;
4765
1.60M
  if (yych <= '\'') {
4766
20.1k
    if (yych <= ' ') {
4767
8.99k
      if (yych == '\t') goto yy214;
4768
8.31k
      if (yych <= 0x1F) goto yy72;
4769
1.23k
      goto yy214;
4770
11.1k
    } else {
4771
11.1k
      if (yych == '"') goto yy313;
4772
8.50k
      if (yych <= '&') goto yy72;
4773
5.57k
      goto yy314;
4774
8.50k
    }
4775
1.58M
  } else {
4776
1.58M
    if (yych <= '_') {
4777
183k
      if (yych <= '@') goto yy72;
4778
168k
      if (yych <= 'Z') goto yy315;
4779
3.19k
      if (yych <= '^') goto yy72;
4780
2.54k
      goto yy315;
4781
1.39M
    } else {
4782
1.39M
      if (yych <= '`') goto yy72;
4783
1.39M
      if (yych <= 'z') goto yy315;
4784
1.21M
      if (yych <= 0x7F) goto yy72;
4785
1.21M
      goto yy315;
4786
1.21M
    }
4787
1.58M
  }
4788
694
yy215:
4789
694
  YYDEBUG(215, *YYCURSOR);
4790
694
  ++YYCURSOR;
4791
694
  yyleng = YYCURSOR - SCNG(yy_text);
4792
694
#line 1923 "Zend/zend_language_scanner.l"
4793
694
  {
4794
694
  RETURN_TOKEN(T_SL_EQUAL);
4795
694
}
4796
0
#line 4797 "Zend/zend_language_scanner.c"
4797
1.40k
yy216:
4798
1.40k
  YYDEBUG(216, *YYCURSOR);
4799
1.40k
  ++YYCURSOR;
4800
1.40k
  yyleng = YYCURSOR - SCNG(yy_text);
4801
1.40k
#line 1879 "Zend/zend_language_scanner.l"
4802
1.40k
  {
4803
1.40k
  RETURN_TOKEN(T_SPACESHIP);
4804
1.40k
}
4805
0
#line 4806 "Zend/zend_language_scanner.c"
4806
4.66k
yy217:
4807
4.66k
  YYDEBUG(217, *YYCURSOR);
4808
4.66k
  ++YYCURSOR;
4809
4.66k
  yyleng = YYCURSOR - SCNG(yy_text);
4810
4.66k
#line 1863 "Zend/zend_language_scanner.l"
4811
4.66k
  {
4812
4.66k
  RETURN_TOKEN(T_IS_IDENTICAL);
4813
4.66k
}
4814
0
#line 4815 "Zend/zend_language_scanner.c"
4815
492
yy218:
4816
492
  YYDEBUG(218, *YYCURSOR);
4817
492
  ++YYCURSOR;
4818
492
  yyleng = YYCURSOR - SCNG(yy_text);
4819
492
#line 1927 "Zend/zend_language_scanner.l"
4820
492
  {
4821
492
  RETURN_TOKEN(T_SR_EQUAL);
4822
492
}
4823
0
#line 4824 "Zend/zend_language_scanner.c"
4824
9.98k
yy219:
4825
9.98k
  YYDEBUG(219, *YYCURSOR);
4826
9.98k
  ++YYCURSOR;
4827
9.98k
  yyleng = YYCURSOR - SCNG(yy_text);
4828
9.98k
#line 1621 "Zend/zend_language_scanner.l"
4829
9.98k
  {
4830
9.98k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4831
9.98k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4832
9.98k
}
4833
0
#line 4834 "Zend/zend_language_scanner.c"
4834
3.86k
yy220:
4835
3.86k
  YYDEBUG(220, *YYCURSOR);
4836
3.86k
  ++YYCURSOR;
4837
3.86k
  goto yy125;
4838
803
yy221:
4839
803
  YYDEBUG(221, *YYCURSOR);
4840
803
  yych = *++YYCURSOR;
4841
803
  if (yych == '\n') goto yy220;
4842
558
  goto yy125;
4843
6.45k
yy222:
4844
6.45k
  YYDEBUG(222, *YYCURSOR);
4845
6.45k
  ++YYCURSOR;
4846
6.45k
  yyleng = YYCURSOR - SCNG(yy_text);
4847
6.45k
#line 1943 "Zend/zend_language_scanner.l"
4848
6.45k
  {
4849
6.45k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4850
6.45k
}
4851
0
#line 4852 "Zend/zend_language_scanner.c"
4852
6.05k
yy223:
4853
6.05k
  YYDEBUG(223, *YYCURSOR);
4854
6.05k
  yyaccept = 4;
4855
6.05k
  yych = *(YYMARKER = ++YYCURSOR);
4856
6.05k
  if (yych == 'T') goto yy316;
4857
5.43k
  if (yych == 't') goto yy316;
4858
552
  goto yy40;
4859
2.98k
yy224:
4860
2.98k
  YYDEBUG(224, *YYCURSOR);
4861
2.98k
  yyaccept = 17;
4862
2.98k
  yych = *(YYMARKER = ++YYCURSOR);
4863
2.98k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
4864
617
    goto yy39;
4865
617
  }
4866
2.37k
  if (yych == '\\') goto yy132;
4867
2.36k
yy225:
4868
2.36k
  YYDEBUG(225, *YYCURSOR);
4869
2.36k
  yyleng = YYCURSOR - SCNG(yy_text);
4870
2.36k
#line 1963 "Zend/zend_language_scanner.l"
4871
2.36k
  {
4872
2.36k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4873
2.36k
}
4874
0
#line 4875 "Zend/zend_language_scanner.c"
4875
10.0k
yy226:
4876
10.0k
  YYDEBUG(226, *YYCURSOR);
4877
10.0k
  yyaccept = 4;
4878
10.0k
  yych = *(YYMARKER = ++YYCURSOR);
4879
10.0k
  if (yych == 'A') goto yy317;
4880
9.76k
  if (yych == 'a') goto yy317;
4881
775
  goto yy40;
4882
49.2k
yy227:
4883
49.2k
  YYDEBUG(227, *YYCURSOR);
4884
49.2k
  yyaccept = 18;
4885
49.2k
  YYMARKER = ++YYCURSOR;
4886
49.2k
  YYFILL(1);
4887
49.2k
  yych = *YYCURSOR;
4888
49.2k
  if (yych <= '\\') {
4889
17.1k
    if (yych <= '@') {
4890
9.77k
      if (yych <= '/') goto yy228;
4891
4.17k
      if (yych <= '9') goto yy227;
4892
7.36k
    } else {
4893
7.36k
      if (yych <= 'Z') goto yy227;
4894
5.04k
      if (yych >= '\\') goto yy132;
4895
5.04k
    }
4896
32.1k
  } else {
4897
32.1k
    if (yych <= '`') {
4898
1.62k
      if (yych == '_') goto yy227;
4899
30.5k
    } else {
4900
30.5k
      if (yych <= 'z') goto yy227;
4901
8.32k
      if (yych >= 0x80) goto yy227;
4902
8.32k
    }
4903
32.1k
  }
4904
12.8k
yy228:
4905
12.8k
  YYDEBUG(228, *YYCURSOR);
4906
12.8k
  yyleng = YYCURSOR - SCNG(yy_text);
4907
12.8k
#line 2472 "Zend/zend_language_scanner.l"
4908
12.8k
  {
4909
12.8k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4910
12.8k
}
4911
0
#line 4912 "Zend/zend_language_scanner.c"
4912
1.52k
yy229:
4913
1.52k
  YYDEBUG(229, *YYCURSOR);
4914
1.52k
  yych = *++YYCURSOR;
4915
1.52k
  if (yych == '<') goto yy214;
4916
453
  goto yy72;
4917
3.57k
yy230:
4918
3.57k
  YYDEBUG(230, *YYCURSOR);
4919
3.57k
  yyaccept = 4;
4920
3.57k
  yych = *(YYMARKER = ++YYCURSOR);
4921
3.57k
  if (yych == 'A') goto yy318;
4922
3.20k
  if (yych == 'a') goto yy318;
4923
456
  goto yy40;
4924
7.83k
yy231:
4925
7.83k
  YYDEBUG(231, *YYCURSOR);
4926
7.83k
  yyaccept = 4;
4927
7.83k
  yych = *(YYMARKER = ++YYCURSOR);
4928
7.83k
  if (yych == 'L') goto yy319;
4929
5.98k
  if (yych == 'l') goto yy319;
4930
978
  goto yy40;
4931
7.36k
yy232:
4932
7.36k
  YYDEBUG(232, *YYCURSOR);
4933
7.36k
  yyaccept = 4;
4934
7.36k
  yych = *(YYMARKER = ++YYCURSOR);
4935
7.36k
  if (yych == 'E') goto yy320;
4936
6.11k
  if (yych == 'e') goto yy320;
4937
472
  goto yy40;
4938
4.83k
yy233:
4939
4.83k
  YYDEBUG(233, *YYCURSOR);
4940
4.83k
  yyaccept = 4;
4941
4.83k
  yych = *(YYMARKER = ++YYCURSOR);
4942
4.83k
  if (yych == 'C') goto yy322;
4943
4.18k
  if (yych == 'c') goto yy322;
4944
579
  goto yy40;
4945
31.2k
yy234:
4946
31.2k
  YYDEBUG(234, *YYCURSOR);
4947
31.2k
  yyaccept = 4;
4948
31.2k
  yych = *(YYMARKER = ++YYCURSOR);
4949
31.2k
  if (yych == 'S') goto yy323;
4950
30.3k
  if (yych == 's') goto yy323;
4951
1.39k
  goto yy40;
4952
5.16k
yy235:
4953
5.16k
  YYDEBUG(235, *YYCURSOR);
4954
5.16k
  yyaccept = 4;
4955
5.16k
  yych = *(YYMARKER = ++YYCURSOR);
4956
5.16k
  if (yych == 'N') goto yy324;
4957
4.95k
  if (yych == 'n') goto yy324;
4958
1.30k
  goto yy40;
4959
21.6k
yy236:
4960
21.6k
  YYDEBUG(236, *YYCURSOR);
4961
21.6k
  yyaccept = 4;
4962
21.6k
  yych = *(YYMARKER = ++YYCURSOR);
4963
21.6k
  if (yych <= 'T') {
4964
2.70k
    if (yych <= 'R') goto yy40;
4965
2.20k
    if (yych <= 'S') goto yy325;
4966
1.70k
    goto yy326;
4967
18.9k
  } else {
4968
18.9k
    if (yych <= 'r') goto yy40;
4969
18.5k
    if (yych <= 's') goto yy325;
4970
5.04k
    if (yych <= 't') goto yy326;
4971
337
    goto yy40;
4972
5.04k
  }
4973
7.39k
yy237:
4974
7.39k
  YYDEBUG(237, *YYCURSOR);
4975
7.39k
  yyaccept = 4;
4976
7.39k
  yych = *(YYMARKER = ++YYCURSOR);
4977
7.39k
  if (yych == 'L') goto yy327;
4978
6.61k
  if (yych == 'l') goto yy327;
4979
720
  goto yy40;
4980
5.98k
yy238:
4981
5.98k
  YYDEBUG(238, *YYCURSOR);
4982
5.98k
  yyaccept = 4;
4983
5.98k
  yych = *(YYMARKER = ++YYCURSOR);
4984
5.98k
  if (yych == 'A') goto yy328;
4985
5.77k
  if (yych == 'a') goto yy328;
4986
3.37k
  goto yy40;
4987
5.20k
yy239:
4988
5.20k
  YYDEBUG(239, *YYCURSOR);
4989
5.20k
  yyaccept = 19;
4990
5.20k
  yych = *(YYMARKER = ++YYCURSOR);
4991
5.20k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
4992
477
    goto yy39;
4993
477
  }
4994
4.72k
  if (yych == '\\') goto yy132;
4995
4.72k
yy240:
4996
4.72k
  YYDEBUG(240, *YYCURSOR);
4997
4.72k
  yyleng = YYCURSOR - SCNG(yy_text);
4998
4.72k
#line 1432 "Zend/zend_language_scanner.l"
4999
4.72k
  {
5000
4.72k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5001
4.72k
}
5002
0
#line 5003 "Zend/zend_language_scanner.c"
5003
6.49k
yy241:
5004
6.49k
  YYDEBUG(241, *YYCURSOR);
5005
6.49k
  yyaccept = 4;
5006
6.49k
  yych = *(YYMARKER = ++YYCURSOR);
5007
6.49k
  if (yych == 'O') goto yy329;
5008
6.27k
  if (yych == 'o') goto yy329;
5009
809
  goto yy40;
5010
9.32k
yy242:
5011
9.32k
  YYDEBUG(242, *YYCURSOR);
5012
9.32k
  yyaccept = 4;
5013
9.32k
  yych = *(YYMARKER = ++YYCURSOR);
5014
9.32k
  if (yych == 'E') goto yy331;
5015
8.77k
  if (yych == 'e') goto yy331;
5016
576
  goto yy40;
5017
2.64k
yy243:
5018
2.64k
  YYDEBUG(243, *YYCURSOR);
5019
2.64k
  yyaccept = 4;
5020
2.64k
  yych = *(YYMARKER = ++YYCURSOR);
5021
2.64k
  if (yych == 'T') goto yy333;
5022
2.33k
  if (yych == 't') goto yy333;
5023
505
  goto yy40;
5024
19.6k
yy244:
5025
19.6k
  YYDEBUG(244, *YYCURSOR);
5026
19.6k
  yyaccept = 4;
5027
19.6k
  yych = *(YYMARKER = ++YYCURSOR);
5028
19.6k
  switch (yych) {
5029
665
    case 'D':
5030
3.40k
    case 'd': goto yy334;
5031
1.53k
    case 'F':
5032
7.29k
    case 'f': goto yy335;
5033
278
    case 'I':
5034
1.68k
    case 'i': goto yy336;
5035
715
    case 'S':
5036
2.99k
    case 's': goto yy337;
5037
575
    case 'W':
5038
2.57k
    case 'w': goto yy338;
5039
1.68k
    default: goto yy40;
5040
19.6k
  }
5041
91.4k
yy245:
5042
91.4k
  YYDEBUG(245, *YYCURSOR);
5043
91.4k
  yyaccept = 4;
5044
91.4k
  yych = *(YYMARKER = ++YYCURSOR);
5045
91.4k
  if (yych == 'M') goto yy339;
5046
90.5k
  if (yych == 'm') goto yy339;
5047
3.05k
  goto yy40;
5048
5.12k
yy246:
5049
5.12k
  YYDEBUG(246, *YYCURSOR);
5050
5.12k
  yyaccept = 4;
5051
5.12k
  yych = *(YYMARKER = ++YYCURSOR);
5052
5.12k
  if (yych == 'L') goto yy340;
5053
4.88k
  if (yych == 'l') goto yy340;
5054
925
  goto yy40;
5055
2.18k
yy247:
5056
2.18k
  YYDEBUG(247, *YYCURSOR);
5057
2.18k
  yyaccept = 4;
5058
2.18k
  yych = *(YYMARKER = ++YYCURSOR);
5059
2.18k
  if (yych == 'T') goto yy342;
5060
1.93k
  if (yych == 't') goto yy342;
5061
692
  goto yy40;
5062
15.6k
yy248:
5063
15.6k
  YYDEBUG(248, *YYCURSOR);
5064
15.6k
  yyaccept = 4;
5065
15.6k
  yych = *(YYMARKER = ++YYCURSOR);
5066
15.6k
  if (yych == 'E') goto yy344;
5067
15.1k
  if (yych == 'e') goto yy344;
5068
1.36k
  goto yy40;
5069
11.0k
yy249:
5070
11.0k
  YYDEBUG(249, *YYCURSOR);
5071
11.0k
  yyaccept = 4;
5072
11.0k
  yych = *(YYMARKER = ++YYCURSOR);
5073
11.0k
  if (yych == 'A') goto yy345;
5074
10.6k
  if (yych == 'a') goto yy345;
5075
517
  goto yy40;
5076
19.0k
yy250:
5077
19.0k
  YYDEBUG(250, *YYCURSOR);
5078
19.0k
  yyaccept = 20;
5079
19.0k
  yych = *(YYMARKER = ++YYCURSOR);
5080
19.0k
  if (yych <= '\\') {
5081
12.3k
    if (yych <= 'D') {
5082
10.3k
      if (yych <= '/') goto yy251;
5083
1.64k
      if (yych <= '9') goto yy39;
5084
1.31k
      if (yych >= 'A') goto yy39;
5085
2.00k
    } else {
5086
2.00k
      if (yych <= 'E') goto yy346;
5087
761
      if (yych <= 'Z') goto yy39;
5088
523
      if (yych >= '\\') goto yy132;
5089
523
    }
5090
12.3k
  } else {
5091
6.69k
    if (yych <= 'd') {
5092
1.10k
      if (yych == '_') goto yy39;
5093
703
      if (yych >= 'a') goto yy39;
5094
5.58k
    } else {
5095
5.58k
      if (yych <= 'e') goto yy346;
5096
907
      if (yych <= 'z') goto yy39;
5097
502
      if (yych >= 0x80) goto yy39;
5098
502
    }
5099
6.69k
  }
5100
10.7k
yy251:
5101
10.7k
  YYDEBUG(251, *YYCURSOR);
5102
10.7k
  yyleng = YYCURSOR - SCNG(yy_text);
5103
10.7k
#line 1511 "Zend/zend_language_scanner.l"
5104
10.7k
  {
5105
10.7k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
5106
10.7k
}
5107
0
#line 5108 "Zend/zend_language_scanner.c"
5108
41.6k
yy252:
5109
41.6k
  YYDEBUG(252, *YYCURSOR);
5110
41.6k
  yyaccept = 4;
5111
41.6k
  yych = *(YYMARKER = ++YYCURSOR);
5112
41.6k
  if (yych == 'C') goto yy347;
5113
40.6k
  if (yych == 'c') goto yy347;
5114
931
  goto yy40;
5115
3.39k
yy253:
5116
3.39k
  YYDEBUG(253, *YYCURSOR);
5117
3.39k
  yyaccept = 4;
5118
3.39k
  yych = *(YYMARKER = ++YYCURSOR);
5119
3.39k
  if (yych == 'B') goto yy348;
5120
2.74k
  if (yych == 'b') goto yy348;
5121
351
  goto yy40;
5122
4.69k
yy254:
5123
4.69k
  YYDEBUG(254, *YYCURSOR);
5124
4.69k
  yyaccept = 4;
5125
4.69k
  yych = *(YYMARKER = ++YYCURSOR);
5126
4.69k
  if (yych == 'O') goto yy349;
5127
4.40k
  if (yych == 'o') goto yy349;
5128
510
  goto yy40;
5129
8.76k
yy255:
5130
8.76k
  YYDEBUG(255, *YYCURSOR);
5131
8.76k
  yyaccept = 4;
5132
8.76k
  yych = *(YYMARKER = ++YYCURSOR);
5133
8.76k
  if (yych == 'L') goto yy351;
5134
7.17k
  if (yych == 'l') goto yy351;
5135
1.41k
  goto yy40;
5136
8.22k
yy256:
5137
8.22k
  YYDEBUG(256, *YYCURSOR);
5138
8.22k
  yyaccept = 4;
5139
8.22k
  yych = *(YYMARKER = ++YYCURSOR);
5140
8.22k
  if (yych == 'L') goto yy352;
5141
7.67k
  if (yych == 'l') goto yy352;
5142
752
  goto yy40;
5143
9.43k
yy257:
5144
9.43k
  YYDEBUG(257, *YYCURSOR);
5145
9.43k
  yyaccept = 4;
5146
9.43k
  yych = *(YYMARKER = ++YYCURSOR);
5147
9.43k
  if (yych == 'T') goto yy353;
5148
8.55k
  if (yych == 't') goto yy353;
5149
785
  goto yy40;
5150
14.7k
yy258:
5151
14.7k
  YYDEBUG(258, *YYCURSOR);
5152
14.7k
  yyaccept = 4;
5153
14.7k
  yych = *(YYMARKER = ++YYCURSOR);
5154
14.7k
  if (yych == 'E') goto yy354;
5155
14.3k
  if (yych == 'e') goto yy354;
5156
5.89k
  goto yy40;
5157
5.89k
yy259:
5158
3.86k
  YYDEBUG(259, *YYCURSOR);
5159
3.86k
  yyaccept = 4;
5160
3.86k
  yych = *(YYMARKER = ++YYCURSOR);
5161
3.86k
  if (yych == 'E') goto yy355;
5162
3.60k
  if (yych == 'e') goto yy355;
5163
491
  goto yy40;
5164
4.16k
yy260:
5165
4.16k
  YYDEBUG(260, *YYCURSOR);
5166
4.16k
  yyaccept = 4;
5167
4.16k
  yych = *(YYMARKER = ++YYCURSOR);
5168
4.16k
  if (yych == 'T') goto yy356;
5169
3.95k
  if (yych == 't') goto yy356;
5170
507
  goto yy40;
5171
4.58k
yy261:
5172
4.58k
  YYDEBUG(261, *YYCURSOR);
5173
4.58k
  yyaccept = 4;
5174
4.58k
  yych = *(YYMARKER = ++YYCURSOR);
5175
4.58k
  if (yych == 'C') goto yy358;
5176
4.29k
  if (yych == 'c') goto yy358;
5177
479
  goto yy40;
5178
14.7k
yy262:
5179
14.7k
  YYDEBUG(262, *YYCURSOR);
5180
14.7k
  yyaccept = 4;
5181
14.7k
  yych = *(YYMARKER = ++YYCURSOR);
5182
14.7k
  if (yych == 'E') goto yy359;
5183
14.2k
  if (yych == 'e') goto yy359;
5184
662
  goto yy40;
5185
17.5k
yy263:
5186
17.5k
  YYDEBUG(263, *YYCURSOR);
5187
17.5k
  yyaccept = 21;
5188
17.5k
  yych = *(YYMARKER = ++YYCURSOR);
5189
17.5k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5190
770
    goto yy39;
5191
770
  }
5192
16.8k
  if (yych == '\\') goto yy132;
5193
16.7k
yy264:
5194
16.7k
  YYDEBUG(264, *YYCURSOR);
5195
16.7k
  yyleng = YYCURSOR - SCNG(yy_text);
5196
16.7k
#line 1655 "Zend/zend_language_scanner.l"
5197
16.7k
  {
5198
16.7k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
5199
16.7k
}
5200
0
#line 5201 "Zend/zend_language_scanner.c"
5201
13.8k
yy265:
5202
13.8k
  YYDEBUG(265, *YYCURSOR);
5203
13.8k
  yyaccept = 4;
5204
13.8k
  yych = *(YYMARKER = ++YYCURSOR);
5205
13.8k
  if (yych <= 'V') {
5206
2.13k
    if (yych == 'N') goto yy360;
5207
752
    if (yych <= 'U') goto yy40;
5208
299
    goto yy361;
5209
11.6k
  } else {
5210
11.6k
    if (yych <= 'n') {
5211
4.76k
      if (yych <= 'm') goto yy40;
5212
4.49k
      goto yy360;
5213
6.91k
    } else {
5214
6.91k
      if (yych == 'v') goto yy361;
5215
421
      goto yy40;
5216
6.91k
    }
5217
11.6k
  }
5218
8.20k
yy266:
5219
8.20k
  YYDEBUG(266, *YYCURSOR);
5220
8.20k
  yyaccept = 4;
5221
8.20k
  yych = *(YYMARKER = ++YYCURSOR);
5222
8.20k
  if (yych == 'T') goto yy362;
5223
7.53k
  if (yych == 't') goto yy362;
5224
765
  goto yy40;
5225
21.2k
yy267:
5226
21.2k
  YYDEBUG(267, *YYCURSOR);
5227
21.2k
  yyaccept = 4;
5228
21.2k
  yych = *(YYMARKER = ++YYCURSOR);
5229
21.2k
  if (yych == 'L') goto yy363;
5230
20.6k
  if (yych == 'l') goto yy363;
5231
739
  goto yy40;
5232
6.19k
yy268:
5233
6.19k
  YYDEBUG(268, *YYCURSOR);
5234
6.19k
  yyaccept = 4;
5235
6.19k
  yych = *(YYMARKER = ++YYCURSOR);
5236
6.19k
  if (yych == 'D') goto yy364;
5237
5.57k
  if (yych == 'd') goto yy364;
5238
2.16k
  goto yy40;
5239
8.71k
yy269:
5240
8.71k
  YYDEBUG(269, *YYCURSOR);
5241
8.71k
  yyaccept = 4;
5242
8.71k
  yych = *(YYMARKER = ++YYCURSOR);
5243
8.71k
  if (yych == 'U') goto yy365;
5244
7.73k
  if (yych == 'u') goto yy365;
5245
520
  goto yy40;
5246
7.13k
yy270:
5247
7.13k
  YYDEBUG(270, *YYCURSOR);
5248
7.13k
  yyaccept = 4;
5249
7.13k
  yych = *(YYMARKER = ++YYCURSOR);
5250
7.13k
  if (yych == 'U') goto yy366;
5251
6.68k
  if (yych == 'u') goto yy366;
5252
687
  goto yy40;
5253
9.63k
yy271:
5254
9.63k
  YYDEBUG(271, *YYCURSOR);
5255
9.63k
  yyaccept = 4;
5256
9.63k
  yych = *(YYMARKER = ++YYCURSOR);
5257
9.63k
  if (yych == 'T') goto yy367;
5258
8.80k
  if (yych == 't') goto yy367;
5259
1.03k
  goto yy40;
5260
4.29k
yy272:
5261
4.29k
  YYDEBUG(272, *YYCURSOR);
5262
4.29k
  yyaccept = 4;
5263
4.29k
  yych = *(YYMARKER = ++YYCURSOR);
5264
4.29k
  if (yych == 'T') goto yy368;
5265
3.92k
  if (yych == 't') goto yy368;
5266
439
  goto yy40;
5267
3.06k
yy273:
5268
3.06k
  YYDEBUG(273, *YYCURSOR);
5269
3.06k
  yyaccept = 4;
5270
3.06k
  yych = *(YYMARKER = ++YYCURSOR);
5271
3.06k
  if (yych == 'O') goto yy369;
5272
2.82k
  if (yych == 'o') goto yy369;
5273
423
  goto yy40;
5274
3.93k
yy274:
5275
3.93k
  YYDEBUG(274, *YYCURSOR);
5276
3.93k
  yyaccept = 4;
5277
3.93k
  yych = *(YYMARKER = ++YYCURSOR);
5278
3.93k
  if (yych == 'I') goto yy370;
5279
3.59k
  if (yych == 'i') goto yy370;
5280
650
  goto yy40;
5281
4.41k
yy275:
5282
4.41k
  YYDEBUG(275, *YYCURSOR);
5283
4.41k
  yyaccept = 22;
5284
4.41k
  yych = *(YYMARKER = ++YYCURSOR);
5285
4.41k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5286
540
    goto yy39;
5287
540
  }
5288
3.87k
  if (yych == '\\') goto yy132;
5289
3.85k
yy276:
5290
3.85k
  YYDEBUG(276, *YYCURSOR);
5291
3.85k
  yyleng = YYCURSOR - SCNG(yy_text);
5292
3.85k
#line 1467 "Zend/zend_language_scanner.l"
5293
3.85k
  {
5294
3.85k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5295
3.85k
}
5296
0
#line 5297 "Zend/zend_language_scanner.c"
5297
5.53k
yy277:
5298
5.53k
  YYDEBUG(277, *YYCURSOR);
5299
5.53k
  yyaccept = 4;
5300
5.53k
  yych = *(YYMARKER = ++YYCURSOR);
5301
5.53k
  if (yych == 'E') goto yy371;
5302
4.96k
  if (yych == 'e') goto yy371;
5303
625
  goto yy40;
5304
7.88k
yy278:
5305
7.88k
  YYDEBUG(278, *YYCURSOR);
5306
7.88k
  yyaccept = 23;
5307
7.88k
  yych = *(YYMARKER = ++YYCURSOR);
5308
7.88k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5309
1.06k
    goto yy39;
5310
1.06k
  }
5311
6.82k
  if (yych == '\\') goto yy132;
5312
6.78k
yy279:
5313
6.78k
  YYDEBUG(279, *YYCURSOR);
5314
6.78k
  yyleng = YYCURSOR - SCNG(yy_text);
5315
6.78k
#line 1771 "Zend/zend_language_scanner.l"
5316
6.78k
  {
5317
6.78k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5318
6.78k
}
5319
0
#line 5320 "Zend/zend_language_scanner.c"
5320
5.67k
yy280:
5321
5.67k
  YYDEBUG(280, *YYCURSOR);
5322
5.67k
  yyaccept = 24;
5323
5.67k
  yych = *(YYMARKER = ++YYCURSOR);
5324
5.67k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5325
4.56k
    goto yy39;
5326
4.56k
  }
5327
1.11k
  if (yych == '\\') goto yy132;
5328
1.10k
yy281:
5329
1.10k
  YYDEBUG(281, *YYCURSOR);
5330
1.10k
  yyleng = YYCURSOR - SCNG(yy_text);
5331
1.10k
#line 1663 "Zend/zend_language_scanner.l"
5332
1.10k
  {
5333
1.10k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5334
1.10k
}
5335
0
#line 5336 "Zend/zend_language_scanner.c"
5336
4.97k
yy282:
5337
4.97k
  YYDEBUG(282, *YYCURSOR);
5338
4.97k
  yyaccept = 4;
5339
4.97k
  yych = *(YYMARKER = ++YYCURSOR);
5340
4.97k
  if (yych == 'L') goto yy372;
5341
4.69k
  if (yych == 'l') goto yy372;
5342
683
  goto yy40;
5343
3.38k
yy283:
5344
3.38k
  YYDEBUG(283, *YYCURSOR);
5345
3.38k
  yyaccept = 25;
5346
3.38k
  yych = *(YYMARKER = ++YYCURSOR);
5347
3.38k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5348
376
    goto yy39;
5349
376
  }
5350
3.00k
  if (yych == '\\') goto yy132;
5351
2.93k
yy284:
5352
2.93k
  YYDEBUG(284, *YYCURSOR);
5353
2.93k
  yyleng = YYCURSOR - SCNG(yy_text);
5354
2.93k
#line 1967 "Zend/zend_language_scanner.l"
5355
2.93k
  {
5356
2.93k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5357
2.93k
}
5358
0
#line 5359 "Zend/zend_language_scanner.c"
5359
59.5k
yy285:
5360
59.5k
  YYDEBUG(285, *YYCURSOR);
5361
59.5k
  yyaccept = 4;
5362
59.5k
  yych = *(YYMARKER = ++YYCURSOR);
5363
59.5k
  if (yych == 'L') goto yy373;
5364
58.7k
  if (yych == 'l') goto yy373;
5365
1.75k
  goto yy40;
5366
5.55k
yy286:
5367
5.55k
  YYDEBUG(286, *YYCURSOR);
5368
5.55k
  ++YYCURSOR;
5369
5.55k
  YYFILL(1);
5370
5.55k
  yych = *YYCURSOR;
5371
5.55k
  if (yych <= '_') {
5372
3.13k
    if (yych <= '@') goto yy72;
5373
2.28k
    if (yych <= 'Z') goto yy179;
5374
1.47k
    if (yych <= '^') goto yy72;
5375
359
    goto yy179;
5376
2.41k
  } else {
5377
2.41k
    if (yych <= '`') goto yy72;
5378
2.06k
    if (yych <= 'z') goto yy179;
5379
1.17k
    if (yych <= 0x7F) goto yy72;
5380
585
    goto yy179;
5381
1.17k
  }
5382
8.76k
yy287:
5383
8.76k
  YYDEBUG(287, *YYCURSOR);
5384
8.76k
  yyaccept = 4;
5385
8.76k
  yych = *(YYMARKER = ++YYCURSOR);
5386
8.76k
  if (yych == 'L') goto yy374;
5387
8.12k
  if (yych == 'l') goto yy374;
5388
3.68k
  goto yy40;
5389
5.29k
yy288:
5390
5.29k
  YYDEBUG(288, *YYCURSOR);
5391
5.29k
  yyaccept = 4;
5392
5.29k
  yych = *(YYMARKER = ++YYCURSOR);
5393
5.29k
  if (yych == 'I') goto yy375;
5394
4.51k
  if (yych == 'i') goto yy375;
5395
1.15k
  goto yy40;
5396
10.1k
yy289:
5397
10.1k
  YYDEBUG(289, *YYCURSOR);
5398
10.1k
  yyaccept = 4;
5399
10.1k
  yych = *(YYMARKER = ++YYCURSOR);
5400
10.1k
  if (yych <= 'U') {
5401
2.07k
    if (yych == 'I') goto yy376;
5402
1.13k
    if (yych <= 'T') goto yy40;
5403
742
    goto yy377;
5404
8.05k
  } else {
5405
8.05k
    if (yych <= 'i') {
5406
2.59k
      if (yych <= 'h') goto yy40;
5407
2.21k
      goto yy376;
5408
5.45k
    } else {
5409
5.45k
      if (yych == 'u') goto yy377;
5410
864
      goto yy40;
5411
5.45k
    }
5412
8.05k
  }
5413
5.79k
yy290:
5414
5.79k
  YYDEBUG(290, *YYCURSOR);
5415
5.79k
  yyaccept = 4;
5416
5.79k
  yych = *(YYMARKER = ++YYCURSOR);
5417
5.79k
  if (yych == 'A') goto yy378;
5418
3.40k
  if (yych == 'a') goto yy378;
5419
719
  goto yy40;
5420
3.88k
yy291:
5421
3.88k
  YYDEBUG(291, *YYCURSOR);
5422
3.88k
  yyaccept = 4;
5423
3.88k
  yych = *(YYMARKER = ++YYCURSOR);
5424
3.88k
  if (yych == 'I') goto yy379;
5425
2.51k
  if (yych == 'i') goto yy379;
5426
736
  goto yy40;
5427
5.64k
yy292:
5428
5.64k
  YYDEBUG(292, *YYCURSOR);
5429
5.64k
  yyaccept = 4;
5430
5.64k
  yych = *(YYMARKER = ++YYCURSOR);
5431
5.64k
  if (yych == 'E') goto yy380;
5432
4.62k
  if (yych == 'e') goto yy380;
5433
643
  goto yy40;
5434
5.10k
yy293:
5435
5.10k
  YYDEBUG(293, *YYCURSOR);
5436
5.10k
  yyaccept = 4;
5437
5.10k
  yych = *(YYMARKER = ++YYCURSOR);
5438
5.10k
  if (yych == 'A') goto yy381;
5439
4.36k
  if (yych == 'a') goto yy381;
5440
452
  goto yy40;
5441
5.43k
yy294:
5442
5.43k
  YYDEBUG(294, *YYCURSOR);
5443
5.43k
  yyaccept = 4;
5444
5.43k
  yych = *(YYMARKER = ++YYCURSOR);
5445
5.43k
  if (yych == 'R') goto yy382;
5446
1.29k
  if (yych == 'r') goto yy382;
5447
479
  goto yy40;
5448
6.14k
yy295:
5449
6.14k
  YYDEBUG(295, *YYCURSOR);
5450
6.14k
  yyaccept = 4;
5451
6.14k
  yych = *(YYMARKER = ++YYCURSOR);
5452
6.14k
  if (yych == 'R') goto yy383;
5453
5.81k
  if (yych == 'r') goto yy383;
5454
759
  goto yy40;
5455
5.19k
yy296:
5456
5.19k
  YYDEBUG(296, *YYCURSOR);
5457
5.19k
  ++YYCURSOR;
5458
5.19k
  YYFILL(1);
5459
5.19k
  yych = *YYCURSOR;
5460
5.19k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 2) {
5461
1.17k
    goto yy187;
5462
1.17k
  }
5463
4.01k
  if (yych <= 0x00) goto yy72;
5464
3.73k
  goto yy188;
5465
3.73k
yy297:
5466
2.05k
  YYDEBUG(297, *YYCURSOR);
5467
2.05k
  yyaccept = 26;
5468
2.05k
  YYMARKER = ++YYCURSOR;
5469
2.05k
  YYFILL(1);
5470
2.05k
  yych = *YYCURSOR;
5471
2.05k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 2) {
5472
1.34k
    goto yy187;
5473
1.34k
  }
5474
713
  if (yych <= 0x00) goto yy75;
5475
442
  goto yy70;
5476
10.3k
yy298:
5477
10.3k
  YYDEBUG(298, *YYCURSOR);
5478
10.3k
  ++YYCURSOR;
5479
10.3k
  YYFILL(1);
5480
10.3k
  yych = *YYCURSOR;
5481
10.3k
  if (yych <= '\f') {
5482
1.28k
    if (yych <= 0x00) goto yy72;
5483
1.05k
    if (yych == '\n') goto yy70;
5484
231
    goto yy187;
5485
9.05k
  } else {
5486
9.05k
    if (yych <= '\r') goto yy70;
5487
8.75k
    if (yych == '.') goto yy384;
5488
4.05k
    goto yy187;
5489
8.75k
  }
5490
18.4k
yy299:
5491
18.4k
  YYDEBUG(299, *YYCURSOR);
5492
18.4k
  ++YYCURSOR;
5493
18.4k
  YYFILL(1);
5494
18.4k
  yych = *YYCURSOR;
5495
18.4k
  if (yych <= '\f') {
5496
907
    if (yych <= 0x00) goto yy72;
5497
649
    if (yych == '\n') goto yy70;
5498
264
    goto yy187;
5499
17.5k
  } else {
5500
17.5k
    if (yych <= '\r') goto yy70;
5501
17.3k
    if (yych == '*') goto yy385;
5502
2.12k
    goto yy187;
5503
17.3k
  }
5504
5.44k
yy300:
5505
5.44k
  YYDEBUG(300, *YYCURSOR);
5506
5.44k
  ++YYCURSOR;
5507
5.44k
  YYFILL(1);
5508
5.44k
  yych = *YYCURSOR;
5509
5.44k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 64) {
5510
610
    goto yy300;
5511
610
  }
5512
4.83k
  if (yych <= 0x00) goto yy72;
5513
3.72k
  if (yych == '/') goto yy70;
5514
2.74k
  goto yy190;
5515
5.85k
yy301:
5516
5.85k
  YYDEBUG(301, *YYCURSOR);
5517
5.85k
  yych = *++YYCURSOR;
5518
5.85k
  if (yych == 'A') goto yy386;
5519
5.60k
  if (yych == 'a') goto yy386;
5520
547
  goto yy72;
5521
4.67k
yy302:
5522
4.67k
  YYDEBUG(302, *YYCURSOR);
5523
4.67k
  yych = *++YYCURSOR;
5524
4.67k
  if (yych == 'A') goto yy387;
5525
1.74k
  if (yych == 'a') goto yy387;
5526
1.12k
  goto yy72;
5527
4.54k
yy303:
5528
4.54k
  YYDEBUG(303, *YYCURSOR);
5529
4.54k
  yych = *++YYCURSOR;
5530
4.54k
  if (yych == 'L') goto yy388;
5531
3.97k
  if (yych == 'l') goto yy388;
5532
736
  goto yy72;
5533
2.48k
yy304:
5534
2.48k
  YYDEBUG(304, *YYCURSOR);
5535
2.48k
  yych = *++YYCURSOR;
5536
2.48k
  if (yych == 'B') goto yy389;
5537
2.26k
  if (yych == 'b') goto yy389;
5538
570
  goto yy72;
5539
3.94k
yy305:
5540
3.94k
  YYDEBUG(305, *YYCURSOR);
5541
3.94k
  yych = *++YYCURSOR;
5542
3.94k
  if (yych == 'A') goto yy390;
5543
3.70k
  if (yych == 'a') goto yy390;
5544
469
  goto yy72;
5545
7.66k
yy306:
5546
7.66k
  YYDEBUG(306, *YYCURSOR);
5547
7.66k
  yych = *++YYCURSOR;
5548
7.66k
  if (yych == 'E') goto yy393;
5549
7.27k
  if (yych == 'e') goto yy393;
5550
4.41k
  goto yy392;
5551
4.41k
yy307:
5552
3.00k
  YYDEBUG(307, *YYCURSOR);
5553
3.00k
  yych = *++YYCURSOR;
5554
3.00k
  if (yych == 'E') goto yy394;
5555
2.75k
  if (yych == 'e') goto yy394;
5556
681
  goto yy72;
5557
1.94k
yy308:
5558
1.94k
  YYDEBUG(308, *YYCURSOR);
5559
1.94k
  yych = *++YYCURSOR;
5560
1.94k
  if (yych == 'L') goto yy395;
5561
944
  if (yych == 'l') goto yy395;
5562
609
  goto yy72;
5563
4.74k
yy309:
5564
4.74k
  YYDEBUG(309, *YYCURSOR);
5565
4.74k
  yych = *++YYCURSOR;
5566
4.74k
  if (yych == 'I') goto yy396;
5567
3.95k
  if (yych == 'i') goto yy396;
5568
721
  goto yy72;
5569
2.31k
yy310:
5570
2.31k
  YYDEBUG(310, *YYCURSOR);
5571
2.31k
  yych = *++YYCURSOR;
5572
2.31k
  if (yych == 'E') goto yy397;
5573
1.89k
  if (yych == 'e') goto yy397;
5574
407
  goto yy72;
5575
2.44k
yy311:
5576
2.44k
  YYDEBUG(311, *YYCURSOR);
5577
2.44k
  yych = *++YYCURSOR;
5578
2.44k
  if (yych == 'D') goto yy398;
5579
2.23k
  if (yych == 'd') goto yy398;
5580
655
  goto yy72;
5581
6.69k
yy312:
5582
6.69k
  YYDEBUG(312, *YYCURSOR);
5583
6.69k
  ++YYCURSOR;
5584
6.69k
  YYFILL(1);
5585
6.69k
  yych = *YYCURSOR;
5586
6.69k
  if (yych <= '\f') {
5587
1.30k
    if (yych <= 0x08) goto yy105;
5588
586
    if (yych <= '\n') goto yy312;
5589
221
    goto yy105;
5590
5.39k
  } else {
5591
5.39k
    if (yych <= '\r') goto yy312;
5592
4.98k
    if (yych == ' ') goto yy312;
5593
4.42k
    goto yy105;
5594
4.98k
  }
5595
2.65k
yy313:
5596
2.65k
  YYDEBUG(313, *YYCURSOR);
5597
2.65k
  yych = *++YYCURSOR;
5598
2.65k
  if (yych == '"') goto yy72;
5599
2.35k
  if (yych <= '/') goto yy400;
5600
2.01k
  if (yych <= '9') goto yy72;
5601
1.77k
  goto yy400;
5602
5.57k
yy314:
5603
5.57k
  YYDEBUG(314, *YYCURSOR);
5604
5.57k
  yych = *++YYCURSOR;
5605
5.57k
  if (yych == '\'') goto yy72;
5606
5.34k
  if (yych <= '/') goto yy402;
5607
5.06k
  if (yych <= '9') goto yy72;
5608
4.82k
  goto yy402;
5609
1.80M
yy315:
5610
1.80M
  YYDEBUG(315, *YYCURSOR);
5611
1.80M
  ++YYCURSOR;
5612
1.80M
  YYFILL(2);
5613
1.80M
  yych = *YYCURSOR;
5614
1.80M
  if (yych <= '@') {
5615
1.55M
    if (yych <= '\f') {
5616
1.52M
      if (yych == '\n') goto yy403;
5617
5.38k
      goto yy72;
5618
1.52M
    } else {
5619
29.6k
      if (yych <= '\r') goto yy405;
5620
23.9k
      if (yych <= '/') goto yy72;
5621
13.2k
      if (yych <= '9') goto yy315;
5622
9.34k
      goto yy72;
5623
13.2k
    }
5624
1.55M
  } else {
5625
245k
    if (yych <= '_') {
5626
30.0k
      if (yych <= 'Z') goto yy315;
5627
9.09k
      if (yych <= '^') goto yy72;
5628
7.18k
      goto yy315;
5629
215k
    } else {
5630
215k
      if (yych <= '`') goto yy72;
5631
214k
      if (yych <= 'z') goto yy315;
5632
98.8k
      if (yych <= 0x7F) goto yy72;
5633
94.5k
      goto yy315;
5634
98.8k
    }
5635
245k
  }
5636
5.50k
yy316:
5637
5.50k
  YYDEBUG(316, *YYCURSOR);
5638
5.50k
  yyaccept = 4;
5639
5.50k
  yych = *(YYMARKER = ++YYCURSOR);
5640
5.50k
  if (yych == 'R') goto yy406;
5641
4.92k
  if (yych == 'r') goto yy406;
5642
572
  goto yy40;
5643
9.27k
yy317:
5644
9.27k
  YYDEBUG(317, *YYCURSOR);
5645
9.27k
  yyaccept = 4;
5646
9.27k
  yych = *(YYMARKER = ++YYCURSOR);
5647
9.27k
  if (yych == 'Y') goto yy407;
5648
9.06k
  if (yych == 'y') goto yy407;
5649
996
  goto yy40;
5650
3.11k
yy318:
5651
3.11k
  YYDEBUG(318, *YYCURSOR);
5652
3.11k
  yyaccept = 4;
5653
3.11k
  yych = *(YYMARKER = ++YYCURSOR);
5654
3.11k
  if (yych == 'K') goto yy409;
5655
2.40k
  if (yych == 'k') goto yy409;
5656
438
  goto yy40;
5657
6.85k
yy319:
5658
6.85k
  YYDEBUG(319, *YYCURSOR);
5659
6.85k
  yyaccept = 4;
5660
6.85k
  yych = *(YYMARKER = ++YYCURSOR);
5661
6.85k
  if (yych == 'A') goto yy411;
5662
5.57k
  if (yych == 'a') goto yy411;
5663
4.13k
  goto yy40;
5664
6.89k
yy320:
5665
6.89k
  YYDEBUG(320, *YYCURSOR);
5666
6.89k
  yyaccept = 27;
5667
6.89k
  yych = *(YYMARKER = ++YYCURSOR);
5668
6.89k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5669
423
    goto yy39;
5670
423
  }
5671
6.47k
  if (yych == '\\') goto yy132;
5672
6.46k
yy321:
5673
6.46k
  YYDEBUG(321, *YYCURSOR);
5674
6.46k
  yyleng = YYCURSOR - SCNG(yy_text);
5675
6.46k
#line 1555 "Zend/zend_language_scanner.l"
5676
6.46k
  {
5677
6.46k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5678
6.46k
}
5679
0
#line 5680 "Zend/zend_language_scanner.c"
5680
4.26k
yy322:
5681
4.26k
  YYDEBUG(322, *YYCURSOR);
5682
4.26k
  yyaccept = 4;
5683
4.26k
  yych = *(YYMARKER = ++YYCURSOR);
5684
4.26k
  if (yych == 'H') goto yy412;
5685
3.52k
  if (yych == 'h') goto yy412;
5686
603
  goto yy40;
5687
29.8k
yy323:
5688
29.8k
  YYDEBUG(323, *YYCURSOR);
5689
29.8k
  yyaccept = 4;
5690
29.8k
  yych = *(YYMARKER = ++YYCURSOR);
5691
29.8k
  if (yych == 'S') goto yy414;
5692
29.5k
  if (yych == 's') goto yy414;
5693
1.03k
  goto yy40;
5694
3.86k
yy324:
5695
3.86k
  YYDEBUG(324, *YYCURSOR);
5696
3.86k
  yyaccept = 4;
5697
3.86k
  yych = *(YYMARKER = ++YYCURSOR);
5698
3.86k
  if (yych == 'E') goto yy416;
5699
3.62k
  if (yych == 'e') goto yy416;
5700
346
  goto yy40;
5701
13.9k
yy325:
5702
13.9k
  YYDEBUG(325, *YYCURSOR);
5703
13.9k
  yyaccept = 4;
5704
13.9k
  yych = *(YYMARKER = ++YYCURSOR);
5705
13.9k
  if (yych == 'T') goto yy418;
5706
13.4k
  if (yych == 't') goto yy418;
5707
709
  goto yy40;
5708
6.41k
yy326:
5709
6.41k
  YYDEBUG(326, *YYCURSOR);
5710
6.41k
  yyaccept = 4;
5711
6.41k
  yych = *(YYMARKER = ++YYCURSOR);
5712
6.41k
  if (yych == 'I') goto yy420;
5713
5.13k
  if (yych == 'i') goto yy420;
5714
1.06k
  goto yy40;
5715
6.67k
yy327:
5716
6.67k
  YYDEBUG(327, *YYCURSOR);
5717
6.67k
  yyaccept = 4;
5718
6.67k
  yych = *(YYMARKER = ++YYCURSOR);
5719
6.67k
  if (yych == 'A') goto yy421;
5720
6.08k
  if (yych == 'a') goto yy421;
5721
702
  goto yy40;
5722
2.61k
yy328:
5723
2.61k
  YYDEBUG(328, *YYCURSOR);
5724
2.61k
  yyaccept = 4;
5725
2.61k
  yych = *(YYMARKER = ++YYCURSOR);
5726
2.61k
  if (yych == 'U') goto yy422;
5727
2.22k
  if (yych == 'u') goto yy422;
5728
411
  goto yy40;
5729
5.68k
yy329:
5730
5.68k
  YYDEBUG(329, *YYCURSOR);
5731
5.68k
  yyaccept = 28;
5732
5.68k
  yych = *(YYMARKER = ++YYCURSOR);
5733
5.68k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5734
767
    goto yy39;
5735
767
  }
5736
4.92k
  if (yych == '\\') goto yy132;
5737
4.91k
yy330:
5738
4.91k
  YYDEBUG(330, *YYCURSOR);
5739
4.91k
  yyleng = YYCURSOR - SCNG(yy_text);
5740
4.91k
#line 1575 "Zend/zend_language_scanner.l"
5741
4.91k
  {
5742
4.91k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5743
4.91k
}
5744
0
#line 5745 "Zend/zend_language_scanner.c"
5745
8.75k
yy331:
5746
8.75k
  YYDEBUG(331, *YYCURSOR);
5747
8.75k
  yyaccept = 29;
5748
8.75k
  yych = *(YYMARKER = ++YYCURSOR);
5749
8.75k
  if (yych <= '\\') {
5750
4.00k
    if (yych <= 'H') {
5751
3.09k
      if (yych <= '/') goto yy332;
5752
1.61k
      if (yych <= '9') goto yy39;
5753
1.37k
      if (yych >= 'A') goto yy39;
5754
1.37k
    } else {
5755
913
      if (yych <= 'I') goto yy423;
5756
677
      if (yych <= 'Z') goto yy39;
5757
469
      if (yych >= '\\') goto yy132;
5758
469
    }
5759
4.74k
  } else {
5760
4.74k
    if (yych <= 'h') {
5761
753
      if (yych == '_') goto yy39;
5762
554
      if (yych >= 'a') goto yy39;
5763
3.99k
    } else {
5764
3.99k
      if (yych <= 'i') goto yy423;
5765
912
      if (yych <= 'z') goto yy39;
5766
567
      if (yych >= 0x80) goto yy39;
5767
567
    }
5768
4.74k
  }
5769
3.60k
yy332:
5770
3.60k
  YYDEBUG(332, *YYCURSOR);
5771
3.60k
  yyleng = YYCURSOR - SCNG(yy_text);
5772
3.60k
#line 1495 "Zend/zend_language_scanner.l"
5773
3.60k
  {
5774
3.60k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5775
3.60k
}
5776
0
#line 5777 "Zend/zend_language_scanner.c"
5777
2.14k
yy333:
5778
2.14k
  YYDEBUG(333, *YYCURSOR);
5779
2.14k
  yyaccept = 4;
5780
2.14k
  yych = *(YYMARKER = ++YYCURSOR);
5781
2.14k
  if (yych == 'Y') goto yy424;
5782
1.84k
  if (yych == 'y') goto yy424;
5783
467
  goto yy40;
5784
3.40k
yy334:
5785
3.40k
  YYDEBUG(334, *YYCURSOR);
5786
3.40k
  yyaccept = 4;
5787
3.40k
  yych = *(YYMARKER = ++YYCURSOR);
5788
3.40k
  if (yych == 'E') goto yy426;
5789
2.83k
  if (yych == 'e') goto yy426;
5790
658
  goto yy40;
5791
7.29k
yy335:
5792
7.29k
  YYDEBUG(335, *YYCURSOR);
5793
7.29k
  yyaccept = 4;
5794
7.29k
  yych = *(YYMARKER = ++YYCURSOR);
5795
7.29k
  if (yych == 'O') goto yy427;
5796
6.43k
  if (yych == 'o') goto yy427;
5797
556
  goto yy40;
5798
1.68k
yy336:
5799
1.68k
  YYDEBUG(336, *YYCURSOR);
5800
1.68k
  yyaccept = 4;
5801
1.68k
  yych = *(YYMARKER = ++YYCURSOR);
5802
1.68k
  if (yych == 'F') goto yy428;
5803
1.17k
  if (yych == 'f') goto yy428;
5804
394
  goto yy40;
5805
2.99k
yy337:
5806
2.99k
  YYDEBUG(337, *YYCURSOR);
5807
2.99k
  yyaccept = 4;
5808
2.99k
  yych = *(YYMARKER = ++YYCURSOR);
5809
2.99k
  if (yych == 'W') goto yy430;
5810
2.33k
  if (yych == 'w') goto yy430;
5811
484
  goto yy40;
5812
2.57k
yy338:
5813
2.57k
  YYDEBUG(338, *YYCURSOR);
5814
2.57k
  yyaccept = 4;
5815
2.57k
  yych = *(YYMARKER = ++YYCURSOR);
5816
2.57k
  if (yych == 'H') goto yy431;
5817
2.08k
  if (yych == 'h') goto yy431;
5818
421
  goto yy40;
5819
88.3k
yy339:
5820
88.3k
  YYDEBUG(339, *YYCURSOR);
5821
88.3k
  yyaccept = 4;
5822
88.3k
  yych = *(YYMARKER = ++YYCURSOR);
5823
88.3k
  if (yych <= 0x1F) {
5824
74.0k
    if (yych <= '\n') {
5825
4.74k
      if (yych <= 0x08) goto yy40;
5826
4.40k
      goto yy432;
5827
69.2k
    } else {
5828
69.2k
      if (yych == '\r') goto yy432;
5829
396
      goto yy40;
5830
69.2k
    }
5831
74.0k
  } else {
5832
14.3k
    if (yych <= '#') {
5833
12.4k
      if (yych <= ' ') goto yy432;
5834
6.87k
      if (yych <= '"') goto yy40;
5835
6.64k
      goto yy433;
5836
6.87k
    } else {
5837
1.85k
      if (yych == '/') goto yy434;
5838
1.54k
      goto yy40;
5839
1.85k
    }
5840
14.3k
  }
5841
4.19k
yy340:
5842
4.19k
  YYDEBUG(340, *YYCURSOR);
5843
4.19k
  yyaccept = 30;
5844
4.19k
  yych = *(YYMARKER = ++YYCURSOR);
5845
4.19k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5846
2.93k
    goto yy39;
5847
2.93k
  }
5848
1.26k
  if (yych == '\\') goto yy132;
5849
1.26k
yy341:
5850
1.26k
  YYDEBUG(341, *YYCURSOR);
5851
1.26k
  yyleng = YYCURSOR - SCNG(yy_text);
5852
1.26k
#line 1747 "Zend/zend_language_scanner.l"
5853
1.26k
  {
5854
1.26k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5855
1.26k
}
5856
0
#line 5857 "Zend/zend_language_scanner.c"
5857
1.49k
yy342:
5858
1.49k
  YYDEBUG(342, *YYCURSOR);
5859
1.49k
  yyaccept = 31;
5860
1.49k
  yych = *(YYMARKER = ++YYCURSOR);
5861
1.49k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5862
463
    goto yy39;
5863
463
  }
5864
1.03k
  if (yych == '\\') goto yy132;
5865
886
yy343:
5866
886
  YYDEBUG(343, *YYCURSOR);
5867
886
  yyleng = YYCURSOR - SCNG(yy_text);
5868
886
#line 1428 "Zend/zend_language_scanner.l"
5869
886
  {
5870
886
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5871
886
}
5872
0
#line 5873 "Zend/zend_language_scanner.c"
5873
14.3k
yy344:
5874
14.3k
  YYDEBUG(344, *YYCURSOR);
5875
14.3k
  yyaccept = 4;
5876
14.3k
  yych = *(YYMARKER = ++YYCURSOR);
5877
14.3k
  if (yych == 'N') goto yy435;
5878
13.0k
  if (yych == 'n') goto yy435;
5879
979
  goto yy40;
5880
10.5k
yy345:
5881
10.5k
  YYDEBUG(345, *YYCURSOR);
5882
10.5k
  yyaccept = 4;
5883
10.5k
  yych = *(YYMARKER = ++YYCURSOR);
5884
10.5k
  if (yych == 'L') goto yy436;
5885
9.98k
  if (yych == 'l') goto yy436;
5886
474
  goto yy40;
5887
5.92k
yy346:
5888
5.92k
  YYDEBUG(346, *YYCURSOR);
5889
5.92k
  yyaccept = 4;
5890
5.92k
  yych = *(YYMARKER = ++YYCURSOR);
5891
5.92k
  if (yych == 'A') goto yy438;
5892
4.89k
  if (yych == 'a') goto yy438;
5893
319
  goto yy40;
5894
40.7k
yy347:
5895
40.7k
  YYDEBUG(347, *YYCURSOR);
5896
40.7k
  yyaccept = 4;
5897
40.7k
  yych = *(YYMARKER = ++YYCURSOR);
5898
40.7k
  if (yych == 'T') goto yy439;
5899
39.7k
  if (yych == 't') goto yy439;
5900
5.47k
  goto yy40;
5901
5.47k
yy348:
5902
3.04k
  YYDEBUG(348, *YYCURSOR);
5903
3.04k
  yyaccept = 4;
5904
3.04k
  yych = *(YYMARKER = ++YYCURSOR);
5905
3.04k
  if (yych == 'A') goto yy440;
5906
2.71k
  if (yych == 'a') goto yy440;
5907
600
  goto yy40;
5908
4.18k
yy349:
5909
4.18k
  YYDEBUG(349, *YYCURSOR);
5910
4.18k
  yyaccept = 32;
5911
4.18k
  yych = *(YYMARKER = ++YYCURSOR);
5912
4.18k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5913
496
    goto yy39;
5914
496
  }
5915
3.69k
  if (yych == '\\') goto yy132;
5916
3.59k
yy350:
5917
3.59k
  YYDEBUG(350, *YYCURSOR);
5918
3.59k
  yyleng = YYCURSOR - SCNG(yy_text);
5919
3.59k
#line 1571 "Zend/zend_language_scanner.l"
5920
3.59k
  {
5921
3.59k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5922
3.59k
}
5923
0
#line 5924 "Zend/zend_language_scanner.c"
5924
7.35k
yy351:
5925
7.35k
  YYDEBUG(351, *YYCURSOR);
5926
7.35k
  yyaccept = 4;
5927
7.35k
  yych = *(YYMARKER = ++YYCURSOR);
5928
7.35k
  if (yych == 'E') goto yy441;
5929
6.14k
  if (yych == 'e') goto yy441;
5930
1.20k
  goto yy40;
5931
7.47k
yy352:
5932
7.47k
  YYDEBUG(352, *YYCURSOR);
5933
7.47k
  yyaccept = 4;
5934
7.47k
  yych = *(YYMARKER = ++YYCURSOR);
5935
7.47k
  if (yych == 'U') goto yy442;
5936
7.09k
  if (yych == 'u') goto yy442;
5937
445
  goto yy40;
5938
8.64k
yy353:
5939
8.64k
  YYDEBUG(353, *YYCURSOR);
5940
8.64k
  yyaccept = 4;
5941
8.64k
  yych = *(YYMARKER = ++YYCURSOR);
5942
8.64k
  if (yych <= 'E') {
5943
1.54k
    if (yych == 'A') goto yy443;
5944
749
    if (yych <= 'D') goto yy40;
5945
339
    goto yy444;
5946
7.10k
  } else {
5947
7.10k
    if (yych <= 'a') {
5948
3.00k
      if (yych <= '`') goto yy40;
5949
2.65k
      goto yy443;
5950
4.09k
    } else {
5951
4.09k
      if (yych == 'e') goto yy444;
5952
283
      goto yy40;
5953
4.09k
    }
5954
7.10k
  }
5955
8.87k
yy354:
5956
8.87k
  YYDEBUG(354, *YYCURSOR);
5957
8.87k
  yyaccept = 4;
5958
8.87k
  yych = *(YYMARKER = ++YYCURSOR);
5959
8.87k
  if (yych == 'R') goto yy445;
5960
8.33k
  if (yych == 'r') goto yy445;
5961
2.64k
  goto yy40;
5962
3.37k
yy355:
5963
3.37k
  YYDEBUG(355, *YYCURSOR);
5964
3.37k
  yyaccept = 4;
5965
3.37k
  yych = *(YYMARKER = ++YYCURSOR);
5966
3.37k
  if (yych == 'T') goto yy446;
5967
3.09k
  if (yych == 't') goto yy446;
5968
504
  goto yy40;
5969
3.66k
yy356:
5970
3.66k
  YYDEBUG(356, *YYCURSOR);
5971
3.66k
  yyaccept = 33;
5972
3.66k
  yych = *(YYMARKER = ++YYCURSOR);
5973
3.66k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
5974
885
    goto yy39;
5975
885
  }
5976
2.77k
  if (yych == '\\') goto yy132;
5977
2.75k
yy357:
5978
2.75k
  YYDEBUG(357, *YYCURSOR);
5979
2.75k
  yyleng = YYCURSOR - SCNG(yy_text);
5980
2.75k
#line 1843 "Zend/zend_language_scanner.l"
5981
2.75k
  {
5982
2.75k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5983
2.75k
}
5984
0
#line 5985 "Zend/zend_language_scanner.c"
5985
4.10k
yy358:
5986
4.10k
  YYDEBUG(358, *YYCURSOR);
5987
4.10k
  yyaccept = 4;
5988
4.10k
  yych = *(YYMARKER = ++YYCURSOR);
5989
4.10k
  if (yych == 'H') goto yy448;
5990
3.81k
  if (yych == 'h') goto yy448;
5991
340
  goto yy40;
5992
14.0k
yy359:
5993
14.0k
  YYDEBUG(359, *YYCURSOR);
5994
14.0k
  yyaccept = 4;
5995
14.0k
  yych = *(YYMARKER = ++YYCURSOR);
5996
14.0k
  if (yych == 'S') goto yy450;
5997
13.6k
  if (yych == 's') goto yy450;
5998
543
  goto yy40;
5999
5.88k
yy360:
6000
5.88k
  YYDEBUG(360, *YYCURSOR);
6001
5.88k
  yyaccept = 4;
6002
5.88k
  yych = *(YYMARKER = ++YYCURSOR);
6003
5.88k
  if (yych == 'T') goto yy451;
6004
5.63k
  if (yych == 't') goto yy451;
6005
319
  goto yy40;
6006
6.78k
yy361:
6007
6.78k
  YYDEBUG(361, *YYCURSOR);
6008
6.78k
  yyaccept = 4;
6009
6.78k
  yych = *(YYMARKER = ++YYCURSOR);
6010
6.78k
  if (yych == 'A') goto yy453;
6011
6.55k
  if (yych == 'a') goto yy453;
6012
317
  goto yy40;
6013
7.44k
yy362:
6014
7.44k
  YYDEBUG(362, *YYCURSOR);
6015
7.44k
  yyaccept = 4;
6016
7.44k
  yych = *(YYMARKER = ++YYCURSOR);
6017
7.44k
  if (yych == 'E') goto yy454;
6018
6.93k
  if (yych == 'e') goto yy454;
6019
797
  goto yy40;
6020
20.5k
yy363:
6021
20.5k
  YYDEBUG(363, *YYCURSOR);
6022
20.5k
  yyaccept = 4;
6023
20.5k
  yych = *(YYMARKER = ++YYCURSOR);
6024
20.5k
  if (yych == 'I') goto yy455;
6025
20.3k
  if (yych == 'i') goto yy455;
6026
1.10k
  goto yy40;
6027
4.02k
yy364:
6028
4.02k
  YYDEBUG(364, *YYCURSOR);
6029
4.02k
  yyaccept = 4;
6030
4.02k
  yych = *(YYMARKER = ++YYCURSOR);
6031
4.02k
  if (yych == 'O') goto yy456;
6032
3.60k
  if (yych == 'o') goto yy456;
6033
439
  goto yy40;
6034
8.19k
yy365:
6035
8.19k
  YYDEBUG(365, *YYCURSOR);
6036
8.19k
  yyaccept = 4;
6037
8.19k
  yych = *(YYMARKER = ++YYCURSOR);
6038
8.19k
  if (yych == 'I') goto yy457;
6039
7.29k
  if (yych == 'i') goto yy457;
6040
669
  goto yy40;
6041
6.44k
yy366:
6042
6.44k
  YYDEBUG(366, *YYCURSOR);
6043
6.44k
  yyaccept = 4;
6044
6.44k
  yych = *(YYMARKER = ++YYCURSOR);
6045
6.44k
  if (yych == 'R') goto yy458;
6046
6.15k
  if (yych == 'r') goto yy458;
6047
606
  goto yy40;
6048
8.60k
yy367:
6049
8.60k
  YYDEBUG(367, *YYCURSOR);
6050
8.60k
  yyaccept = 4;
6051
8.60k
  yych = *(YYMARKER = ++YYCURSOR);
6052
8.60k
  if (yych == 'I') goto yy459;
6053
8.29k
  if (yych == 'i') goto yy459;
6054
909
  goto yy40;
6055
3.85k
yy368:
6056
3.85k
  YYDEBUG(368, *YYCURSOR);
6057
3.85k
  yyaccept = 4;
6058
3.85k
  yych = *(YYMARKER = ++YYCURSOR);
6059
3.85k
  if (yych == 'C') goto yy460;
6060
3.37k
  if (yych == 'c') goto yy460;
6061
446
  goto yy40;
6062
2.63k
yy369:
6063
2.63k
  YYDEBUG(369, *YYCURSOR);
6064
2.63k
  yyaccept = 4;
6065
2.63k
  yych = *(YYMARKER = ++YYCURSOR);
6066
2.63k
  if (yych == 'W') goto yy461;
6067
2.29k
  if (yych == 'w') goto yy461;
6068
417
  goto yy40;
6069
3.28k
yy370:
6070
3.28k
  YYDEBUG(370, *YYCURSOR);
6071
3.28k
  yyaccept = 4;
6072
3.28k
  yych = *(YYMARKER = ++YYCURSOR);
6073
3.28k
  if (yych == 'T') goto yy463;
6074
3.00k
  if (yych == 't') goto yy463;
6075
382
  goto yy40;
6076
4.90k
yy371:
6077
4.90k
  YYDEBUG(371, *YYCURSOR);
6078
4.90k
  yyaccept = 4;
6079
4.90k
  yych = *(YYMARKER = ++YYCURSOR);
6080
4.90k
  if (yych == 'T') goto yy465;
6081
4.51k
  if (yych == 't') goto yy465;
6082
607
  goto yy40;
6083
4.28k
yy372:
6084
4.28k
  YYDEBUG(372, *YYCURSOR);
6085
4.28k
  yyaccept = 4;
6086
4.28k
  yych = *(YYMARKER = ++YYCURSOR);
6087
4.28k
  if (yych == 'E') goto yy467;
6088
4.07k
  if (yych == 'e') goto yy467;
6089
798
  goto yy40;
6090
57.7k
yy373:
6091
57.7k
  YYDEBUG(373, *YYCURSOR);
6092
57.7k
  yyaccept = 4;
6093
57.7k
  yych = *(YYMARKER = ++YYCURSOR);
6094
57.7k
  if (yych == 'D') goto yy469;
6095
55.6k
  if (yych == 'd') goto yy469;
6096
1.50k
  goto yy40;
6097
5.07k
yy374:
6098
5.07k
  YYDEBUG(374, *YYCURSOR);
6099
5.07k
  yyaccept = 4;
6100
5.07k
  yych = *(YYMARKER = ++YYCURSOR);
6101
5.07k
  if (yych == 'A') goto yy471;
6102
4.55k
  if (yych == 'a') goto yy471;
6103
532
  goto yy40;
6104
4.13k
yy375:
6105
4.13k
  YYDEBUG(375, *YYCURSOR);
6106
4.13k
  yyaccept = 4;
6107
4.13k
  yych = *(YYMARKER = ++YYCURSOR);
6108
4.13k
  if (yych == 'R') goto yy472;
6109
3.52k
  if (yych == 'r') goto yy472;
6110
654
  goto yy40;
6111
3.15k
yy376:
6112
3.15k
  YYDEBUG(376, *YYCURSOR);
6113
3.15k
  yyaccept = 4;
6114
3.15k
  yych = *(YYMARKER = ++YYCURSOR);
6115
3.15k
  if (yych == 'L') goto yy473;
6116
2.24k
  if (yych == 'l') goto yy473;
6117
335
  goto yy40;
6118
5.33k
yy377:
6119
5.33k
  YYDEBUG(377, *YYCURSOR);
6120
5.33k
  yyaccept = 4;
6121
5.33k
  yych = *(YYMARKER = ++YYCURSOR);
6122
5.33k
  if (yych == 'N') goto yy474;
6123
4.97k
  if (yych == 'n') goto yy474;
6124
581
  goto yy40;
6125
5.07k
yy378:
6126
5.07k
  YYDEBUG(378, *YYCURSOR);
6127
5.07k
  yyaccept = 4;
6128
5.07k
  yych = *(YYMARKER = ++YYCURSOR);
6129
5.07k
  if (yych == 'L') goto yy475;
6130
2.96k
  if (yych == 'l') goto yy475;
6131
563
  goto yy40;
6132
3.14k
yy379:
6133
3.14k
  YYDEBUG(379, *YYCURSOR);
6134
3.14k
  yyaccept = 4;
6135
3.14k
  yych = *(YYMARKER = ++YYCURSOR);
6136
3.14k
  if (yych == 'N') goto yy476;
6137
1.72k
  if (yych == 'n') goto yy476;
6138
410
  goto yy40;
6139
5.00k
yy380:
6140
5.00k
  YYDEBUG(380, *YYCURSOR);
6141
5.00k
  yyaccept = 4;
6142
5.00k
  yych = *(YYMARKER = ++YYCURSOR);
6143
5.00k
  if (yych == 'T') goto yy477;
6144
4.01k
  if (yych == 't') goto yy477;
6145
448
  goto yy40;
6146
4.64k
yy381:
6147
4.64k
  YYDEBUG(381, *YYCURSOR);
6148
4.64k
  yyaccept = 4;
6149
4.64k
  yych = *(YYMARKER = ++YYCURSOR);
6150
4.64k
  if (yych == 'M') goto yy478;
6151
3.79k
  if (yych == 'm') goto yy478;
6152
375
  goto yy40;
6153
4.95k
yy382:
6154
4.95k
  YYDEBUG(382, *YYCURSOR);
6155
4.95k
  yyaccept = 4;
6156
4.95k
  yych = *(YYMARKER = ++YYCURSOR);
6157
4.95k
  if (yych == 'O') goto yy479;
6158
2.09k
  if (yych == 'o') goto yy479;
6159
676
  goto yy40;
6160
5.38k
yy383:
6161
5.38k
  YYDEBUG(383, *YYCURSOR);
6162
5.38k
  yyaccept = 4;
6163
5.38k
  yych = *(YYMARKER = ++YYCURSOR);
6164
5.38k
  if (yych == 'A') goto yy480;
6165
5.18k
  if (yych == 'a') goto yy480;
6166
511
  goto yy40;
6167
4.69k
yy384:
6168
4.69k
  YYDEBUG(384, *YYCURSOR);
6169
4.69k
  ++YYCURSOR;
6170
4.69k
  YYFILL(1);
6171
4.69k
  yych = *YYCURSOR;
6172
4.69k
  if (yych <= '\f') {
6173
669
    if (yych <= 0x00) goto yy72;
6174
451
    if (yych == '\n') goto yy70;
6175
198
    goto yy187;
6176
4.02k
  } else {
6177
4.02k
    if (yych <= '\r') goto yy70;
6178
3.07k
    if (yych == '.') goto yy297;
6179
2.04k
    goto yy187;
6180
3.07k
  }
6181
96.4k
yy385:
6182
96.4k
  YYDEBUG(385, *YYCURSOR);
6183
96.4k
  ++YYCURSOR;
6184
96.4k
  YYFILL(1);
6185
96.4k
  yych = *YYCURSOR;
6186
96.4k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 128) {
6187
60.4k
    goto yy385;
6188
60.4k
  }
6189
36.0k
  if (yych <= 0x00) goto yy72;
6190
32.7k
  if (yych <= '\r') goto yy481;
6191
7.23k
  goto yy482;
6192
7.23k
yy386:
6193
5.30k
  YYDEBUG(386, *YYCURSOR);
6194
5.30k
  yych = *++YYCURSOR;
6195
5.30k
  if (yych == 'Y') goto yy483;
6196
4.51k
  if (yych == 'y') goto yy483;
6197
692
  goto yy72;
6198
3.55k
yy387:
6199
3.55k
  YYDEBUG(387, *YYCURSOR);
6200
3.55k
  yych = *++YYCURSOR;
6201
3.55k
  if (yych == 'R') goto yy484;
6202
3.22k
  if (yych == 'r') goto yy484;
6203
466
  goto yy72;
6204
3.80k
yy388:
6205
3.80k
  YYDEBUG(388, *YYCURSOR);
6206
3.80k
  yych = *++YYCURSOR;
6207
3.80k
  if (yych == 'E') goto yy487;
6208
3.25k
  if (yych == 'e') goto yy487;
6209
1.60k
  goto yy486;
6210
1.91k
yy389:
6211
1.91k
  YYDEBUG(389, *YYCURSOR);
6212
1.91k
  yych = *++YYCURSOR;
6213
1.91k
  if (yych == 'L') goto yy488;
6214
1.60k
  if (yych == 'l') goto yy488;
6215
335
  goto yy72;
6216
3.47k
yy390:
6217
3.47k
  YYDEBUG(390, *YYCURSOR);
6218
3.47k
  yych = *++YYCURSOR;
6219
3.47k
  if (yych == 'T') goto yy489;
6220
3.23k
  if (yych == 't') goto yy489;
6221
383
  goto yy72;
6222
839
yy391:
6223
839
  YYDEBUG(391, *YYCURSOR);
6224
839
  ++YYCURSOR;
6225
839
  YYFILL(1);
6226
839
  yych = *YYCURSOR;
6227
5.25k
yy392:
6228
5.25k
  YYDEBUG(392, *YYCURSOR);
6229
5.25k
  if (yych <= 0x1F) {
6230
600
    if (yych == '\t') goto yy391;
6231
372
    goto yy72;
6232
4.65k
  } else {
6233
4.65k
    if (yych <= ' ') goto yy391;
6234
4.04k
    if (yych != ')') goto yy72;
6235
4.04k
  }
6236
2.29k
  ++YYCURSOR;
6237
2.29k
  yyleng = YYCURSOR - SCNG(yy_text);
6238
2.29k
#line 1667 "Zend/zend_language_scanner.l"
6239
2.29k
  {
6240
2.29k
  RETURN_TOKEN(T_INT_CAST);
6241
2.29k
}
6242
0
#line 6243 "Zend/zend_language_scanner.c"
6243
3.25k
yy393:
6244
3.25k
  YYDEBUG(393, *YYCURSOR);
6245
3.25k
  yych = *++YYCURSOR;
6246
3.25k
  if (yych == 'G') goto yy490;
6247
3.03k
  if (yych == 'g') goto yy490;
6248
882
  goto yy72;
6249
2.32k
yy394:
6250
2.32k
  YYDEBUG(394, *YYCURSOR);
6251
2.32k
  yych = *++YYCURSOR;
6252
2.32k
  if (yych == 'C') goto yy491;
6253
2.08k
  if (yych == 'c') goto yy491;
6254
441
  goto yy72;
6255
1.82k
yy395:
6256
1.82k
  YYDEBUG(395, *YYCURSOR);
6257
1.82k
  ++YYCURSOR;
6258
1.82k
  YYFILL(1);
6259
1.82k
  yych = *YYCURSOR;
6260
1.82k
  if (yych <= 0x1F) {
6261
558
    if (yych == '\t') goto yy395;
6262
360
    goto yy72;
6263
1.27k
  } else {
6264
1.27k
    if (yych <= ' ') goto yy395;
6265
973
    if (yych == ')') goto yy492;
6266
758
    goto yy72;
6267
973
  }
6268
4.02k
yy396:
6269
4.02k
  YYDEBUG(396, *YYCURSOR);
6270
4.02k
  yych = *++YYCURSOR;
6271
4.02k
  if (yych == 'N') goto yy493;
6272
3.78k
  if (yych == 'n') goto yy493;
6273
744
  goto yy72;
6274
1.90k
yy397:
6275
1.90k
  YYDEBUG(397, *YYCURSOR);
6276
1.90k
  yych = *++YYCURSOR;
6277
1.90k
  if (yych == 'T') goto yy494;
6278
1.51k
  if (yych == 't') goto yy494;
6279
380
  goto yy72;
6280
2.34k
yy398:
6281
2.34k
  YYDEBUG(398, *YYCURSOR);
6282
2.34k
  ++YYCURSOR;
6283
2.34k
  YYFILL(1);
6284
2.34k
  yych = *YYCURSOR;
6285
2.34k
  if (yych <= 0x1F) {
6286
475
    if (yych == '\t') goto yy398;
6287
232
    goto yy72;
6288
1.87k
  } else {
6289
1.87k
    if (yych <= ' ') goto yy398;
6290
1.56k
    if (yych == ')') goto yy495;
6291
355
    goto yy72;
6292
1.56k
  }
6293
6.47k
yy399:
6294
6.47k
  YYDEBUG(399, *YYCURSOR);
6295
6.47k
  ++YYCURSOR;
6296
6.47k
  YYFILL(3);
6297
6.47k
  yych = *YYCURSOR;
6298
8.59k
yy400:
6299
8.59k
  YYDEBUG(400, *YYCURSOR);
6300
8.59k
  if (yych <= 'Z') {
6301
2.82k
    if (yych <= '/') {
6302
1.20k
      if (yych == '"') goto yy496;
6303
788
      goto yy72;
6304
1.61k
    } else {
6305
1.61k
      if (yych <= '9') goto yy399;
6306
1.24k
      if (yych <= '@') goto yy72;
6307
846
      goto yy399;
6308
1.24k
    }
6309
5.77k
  } else {
6310
5.77k
    if (yych <= '`') {
6311
689
      if (yych == '_') goto yy399;
6312
249
      goto yy72;
6313
5.08k
    } else {
6314
5.08k
      if (yych <= 'z') goto yy399;
6315
1.25k
      if (yych <= 0x7F) goto yy72;
6316
982
      goto yy399;
6317
1.25k
    }
6318
5.77k
  }
6319
8.63k
yy401:
6320
8.63k
  YYDEBUG(401, *YYCURSOR);
6321
8.63k
  ++YYCURSOR;
6322
8.63k
  YYFILL(3);
6323
8.63k
  yych = *YYCURSOR;
6324
13.7k
yy402:
6325
13.7k
  YYDEBUG(402, *YYCURSOR);
6326
13.7k
  if (yych <= 'Z') {
6327
6.55k
    if (yych <= '/') {
6328
4.32k
      if (yych == '\'') goto yy496;
6329
570
      goto yy72;
6330
4.32k
    } else {
6331
2.22k
      if (yych <= '9') goto yy401;
6332
1.71k
      if (yych <= '@') goto yy72;
6333
1.38k
      goto yy401;
6334
1.71k
    }
6335
7.18k
  } else {
6336
7.18k
    if (yych <= '`') {
6337
622
      if (yych == '_') goto yy401;
6338
239
      goto yy72;
6339
6.56k
    } else {
6340
6.56k
      if (yych <= 'z') goto yy401;
6341
4.64k
      if (yych <= 0x7F) goto yy72;
6342
4.42k
      goto yy401;
6343
4.64k
    }
6344
7.18k
  }
6345
1.52M
yy403:
6346
1.52M
  YYDEBUG(403, *YYCURSOR);
6347
1.52M
  ++YYCURSOR;
6348
1.53M
yy404:
6349
1.53M
  YYDEBUG(404, *YYCURSOR);
6350
1.53M
  yyleng = YYCURSOR - SCNG(yy_text);
6351
1.53M
#line 2707 "Zend/zend_language_scanner.l"
6352
1.53M
  {
6353
1.53M
  char *s;
6354
1.53M
  unsigned char *saved_cursor;
6355
1.53M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6356
1.53M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6357
1.53M
  bool is_heredoc = 1;
6358
6359
1.53M
  CG(zend_lineno)++;
6360
1.53M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6361
1.53M
  s = yytext+bprefix+3;
6362
1.53M
  while ((*s == ' ') || (*s == '\t')) {
6363
862
    s++;
6364
862
    heredoc_label->length--;
6365
862
  }
6366
6367
1.53M
  if (*s == '\'') {
6368
3.37k
    s++;
6369
3.37k
    heredoc_label->length -= 2;
6370
3.37k
    is_heredoc = 0;
6371
6372
3.37k
    BEGIN(ST_NOWDOC);
6373
1.52M
  } else {
6374
1.52M
    if (*s == '"') {
6375
277
      s++;
6376
277
      heredoc_label->length -= 2;
6377
277
    }
6378
6379
1.52M
    BEGIN(ST_HEREDOC);
6380
1.52M
  }
6381
6382
1.53M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6383
1.53M
  heredoc_label->indentation_uses_spaces = 0;
6384
1.53M
  heredoc_label->indentation = 0;
6385
1.53M
  saved_cursor = YYCURSOR;
6386
6387
1.53M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6388
6389
1.55M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6390
25.0k
    if (*YYCURSOR == '\t') {
6391
21.1k
      spacing |= HEREDOC_USING_TABS;
6392
21.1k
    } else {
6393
3.85k
      spacing |= HEREDOC_USING_SPACES;
6394
3.85k
    }
6395
25.0k
    ++YYCURSOR;
6396
25.0k
    ++indentation;
6397
25.0k
  }
6398
6399
1.53M
  if (YYCURSOR == YYLIMIT) {
6400
975
    YYCURSOR = saved_cursor;
6401
975
    RETURN_TOKEN(T_START_HEREDOC);
6402
975
  }
6403
6404
  /* Check for ending label on the next line */
6405
1.53M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6406
4.10k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6407
1.66k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6408
211
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6409
211
        if (PARSER_MODE()) {
6410
13
          RETURN_TOKEN(T_ERROR);
6411
13
        }
6412
211
      }
6413
6414
1.65k
      YYCURSOR = saved_cursor;
6415
1.65k
      heredoc_label->indentation = indentation;
6416
6417
1.65k
      BEGIN(ST_END_HEREDOC);
6418
1.65k
      RETURN_TOKEN(T_START_HEREDOC);
6419
1.65k
    }
6420
4.10k
  }
6421
6422
1.53M
  YYCURSOR = saved_cursor;
6423
6424
1.53M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6425
121k
    zend_lex_state current_state;
6426
121k
    zend_string *saved_doc_comment = CG(doc_comment);
6427
121k
    int heredoc_nesting_level = 1;
6428
121k
    int first_token = 0;
6429
121k
    int error = 0;
6430
6431
121k
    zend_save_lexical_state(&current_state);
6432
6433
121k
    SCNG(heredoc_scan_ahead) = 1;
6434
121k
    SCNG(heredoc_indentation) = 0;
6435
121k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6436
121k
    SCNG(on_event_context) = NULL;
6437
121k
    LANG_SCNG(on_event) = NULL;
6438
121k
    CG(doc_comment) = NULL;
6439
6440
121k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6441
6442
121k
    zend_object *prev_exception = EG(exception);
6443
121k
    EG(exception) = NULL;
6444
7.34M
    while (heredoc_nesting_level) {
6445
7.34M
      zval zv;
6446
7.34M
      int retval;
6447
6448
7.34M
      ZVAL_UNDEF(&zv);
6449
7.34M
      retval = lex_scan(&zv, NULL);
6450
7.34M
      zval_ptr_dtor_nogc(&zv);
6451
6452
7.34M
      if (EG(exception)) {
6453
116k
        zend_clear_exception();
6454
116k
        break;
6455
116k
      }
6456
6457
7.22M
      if (!first_token) {
6458
121k
        first_token = retval;
6459
121k
      }
6460
6461
7.22M
      switch (retval) {
6462
1.41M
        case T_START_HEREDOC:
6463
1.41M
          ++heredoc_nesting_level;
6464
1.41M
          break;
6465
5.42k
        case T_END_HEREDOC:
6466
5.42k
          --heredoc_nesting_level;
6467
5.42k
          break;
6468
2.99k
        case END:
6469
2.99k
          heredoc_nesting_level = 0;
6470
7.22M
      }
6471
7.22M
    }
6472
121k
    EG(exception) = prev_exception;
6473
6474
121k
    if (
6475
121k
        (first_token == T_VARIABLE
6476
117k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6477
25.2k
         || first_token == T_CURLY_OPEN
6478
121k
        ) && SCNG(heredoc_indentation)) {
6479
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));
6480
6
      error = 1;
6481
6
    }
6482
6483
121k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6484
121k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6485
6486
121k
    zend_restore_lexical_state(&current_state);
6487
121k
    SCNG(heredoc_scan_ahead) = 0;
6488
121k
    CG(increment_lineno) = 0;
6489
121k
    CG(doc_comment) = saved_doc_comment;
6490
6491
121k
    if (PARSER_MODE() && error) {
6492
6
      RETURN_TOKEN(T_ERROR);
6493
6
    }
6494
121k
  }
6495
6496
1.53M
  RETURN_TOKEN(T_START_HEREDOC);
6497
1.53M
}
6498
0
#line 6499 "Zend/zend_language_scanner.c"
6499
7.57k
yy405:
6500
7.57k
  YYDEBUG(405, *YYCURSOR);
6501
7.57k
  yych = *++YYCURSOR;
6502
7.57k
  if (yych == '\n') goto yy403;
6503
7.22k
  goto yy404;
6504
7.22k
yy406:
6505
4.93k
  YYDEBUG(406, *YYCURSOR);
6506
4.93k
  yyaccept = 4;
6507
4.93k
  yych = *(YYMARKER = ++YYCURSOR);
6508
4.93k
  if (yych == 'A') goto yy497;
6509
4.35k
  if (yych == 'a') goto yy497;
6510
675
  goto yy40;
6511
8.27k
yy407:
6512
8.27k
  YYDEBUG(407, *YYCURSOR);
6513
8.27k
  yyaccept = 34;
6514
8.27k
  yych = *(YYMARKER = ++YYCURSOR);
6515
8.27k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6516
4.53k
    goto yy39;
6517
4.53k
  }
6518
3.73k
  if (yych == '\\') goto yy132;
6519
3.71k
yy408:
6520
3.71k
  YYDEBUG(408, *YYCURSOR);
6521
3.71k
  yyleng = YYCURSOR - SCNG(yy_text);
6522
3.71k
#line 1847 "Zend/zend_language_scanner.l"
6523
3.71k
  {
6524
3.71k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6525
3.71k
}
6526
0
#line 6527 "Zend/zend_language_scanner.c"
6527
2.67k
yy409:
6528
2.67k
  YYDEBUG(409, *YYCURSOR);
6529
2.67k
  yyaccept = 35;
6530
2.67k
  yych = *(YYMARKER = ++YYCURSOR);
6531
2.67k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6532
349
    goto yy39;
6533
349
  }
6534
2.32k
  if (yych == '\\') goto yy132;
6535
2.30k
yy410:
6536
2.30k
  YYDEBUG(410, *YYCURSOR);
6537
2.30k
  yyleng = YYCURSOR - SCNG(yy_text);
6538
2.30k
#line 1563 "Zend/zend_language_scanner.l"
6539
2.30k
  {
6540
2.30k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6541
2.30k
}
6542
0
#line 6543 "Zend/zend_language_scanner.c"
6543
2.72k
yy411:
6544
2.72k
  YYDEBUG(411, *YYCURSOR);
6545
2.72k
  yyaccept = 4;
6546
2.72k
  yych = *(YYMARKER = ++YYCURSOR);
6547
2.72k
  if (yych == 'B') goto yy498;
6548
1.61k
  if (yych == 'b') goto yy498;
6549
457
  goto yy40;
6550
3.65k
yy412:
6551
3.65k
  YYDEBUG(412, *YYCURSOR);
6552
3.65k
  yyaccept = 36;
6553
3.65k
  yych = *(YYMARKER = ++YYCURSOR);
6554
3.65k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6555
850
    goto yy39;
6556
850
  }
6557
2.80k
  if (yych == '\\') goto yy132;
6558
2.80k
yy413:
6559
2.80k
  YYDEBUG(413, *YYCURSOR);
6560
2.80k
  yyleng = YYCURSOR - SCNG(yy_text);
6561
2.80k
#line 1471 "Zend/zend_language_scanner.l"
6562
2.80k
  {
6563
2.80k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6564
2.80k
}
6565
0
#line 6566 "Zend/zend_language_scanner.c"
6566
28.8k
yy414:
6567
28.8k
  YYDEBUG(414, *YYCURSOR);
6568
28.8k
  yyaccept = 37;
6569
28.8k
  yych = *(YYMARKER = ++YYCURSOR);
6570
28.8k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6571
842
    goto yy39;
6572
842
  }
6573
28.0k
  if (yych == '\\') goto yy132;
6574
28.0k
yy415:
6575
28.0k
  YYDEBUG(415, *YYCURSOR);
6576
28.0k
  yyleng = YYCURSOR - SCNG(yy_text);
6577
28.0k
#line 1583 "Zend/zend_language_scanner.l"
6578
28.0k
  {
6579
28.0k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6580
28.0k
}
6581
0
#line 6582 "Zend/zend_language_scanner.c"
6582
3.51k
yy416:
6583
3.51k
  YYDEBUG(416, *YYCURSOR);
6584
3.51k
  yyaccept = 38;
6585
3.51k
  yych = *(YYMARKER = ++YYCURSOR);
6586
3.51k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6587
499
    goto yy39;
6588
499
  }
6589
3.01k
  if (yych == '\\') goto yy132;
6590
2.98k
yy417:
6591
2.98k
  YYDEBUG(417, *YYCURSOR);
6592
2.98k
  yyleng = YYCURSOR - SCNG(yy_text);
6593
2.98k
#line 1659 "Zend/zend_language_scanner.l"
6594
2.98k
  {
6595
2.98k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6596
2.98k
}
6597
0
#line 6598 "Zend/zend_language_scanner.c"
6598
13.2k
yy418:
6599
13.2k
  YYDEBUG(418, *YYCURSOR);
6600
13.2k
  yyaccept = 39;
6601
13.2k
  yych = *(YYMARKER = ++YYCURSOR);
6602
13.2k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6603
1.02k
    goto yy39;
6604
1.02k
  }
6605
12.2k
  if (yych == '\\') goto yy132;
6606
12.1k
yy419:
6607
12.1k
  YYDEBUG(419, *YYCURSOR);
6608
12.1k
  yyleng = YYCURSOR - SCNG(yy_text);
6609
12.1k
#line 1444 "Zend/zend_language_scanner.l"
6610
12.1k
  {
6611
12.1k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6612
12.1k
}
6613
0
#line 6614 "Zend/zend_language_scanner.c"
6614
5.35k
yy420:
6615
5.35k
  YYDEBUG(420, *YYCURSOR);
6616
5.35k
  yyaccept = 4;
6617
5.35k
  yych = *(YYMARKER = ++YYCURSOR);
6618
5.35k
  if (yych == 'N') goto yy499;
6619
4.11k
  if (yych == 'n') goto yy499;
6620
554
  goto yy40;
6621
5.97k
yy421:
6622
5.97k
  YYDEBUG(421, *YYCURSOR);
6623
5.97k
  yyaccept = 4;
6624
5.97k
  yych = *(YYMARKER = ++YYCURSOR);
6625
5.97k
  if (yych == 'R') goto yy500;
6626
5.62k
  if (yych == 'r') goto yy500;
6627
561
  goto yy40;
6628
2.19k
yy422:
6629
2.19k
  YYDEBUG(422, *YYCURSOR);
6630
2.19k
  yyaccept = 4;
6631
2.19k
  yych = *(YYMARKER = ++YYCURSOR);
6632
2.19k
  if (yych == 'L') goto yy501;
6633
1.97k
  if (yych == 'l') goto yy501;
6634
259
  goto yy40;
6635
3.31k
yy423:
6636
3.31k
  YYDEBUG(423, *YYCURSOR);
6637
3.31k
  yyaccept = 4;
6638
3.31k
  yych = *(YYMARKER = ++YYCURSOR);
6639
3.31k
  if (yych == 'F') goto yy502;
6640
3.11k
  if (yych == 'f') goto yy502;
6641
311
  goto yy40;
6642
1.67k
yy424:
6643
1.67k
  YYDEBUG(424, *YYCURSOR);
6644
1.67k
  yyaccept = 40;
6645
1.67k
  yych = *(YYMARKER = ++YYCURSOR);
6646
1.67k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6647
399
    goto yy39;
6648
399
  }
6649
1.27k
  if (yych == '\\') goto yy132;
6650
1.27k
yy425:
6651
1.27k
  YYDEBUG(425, *YYCURSOR);
6652
1.27k
  yyleng = YYCURSOR - SCNG(yy_text);
6653
1.27k
#line 1787 "Zend/zend_language_scanner.l"
6654
1.27k
  {
6655
1.27k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6656
1.27k
}
6657
0
#line 6658 "Zend/zend_language_scanner.c"
6658
2.74k
yy426:
6659
2.74k
  YYDEBUG(426, *YYCURSOR);
6660
2.74k
  yyaccept = 4;
6661
2.74k
  yych = *(YYMARKER = ++YYCURSOR);
6662
2.74k
  if (yych == 'C') goto yy504;
6663
2.11k
  if (yych == 'c') goto yy504;
6664
385
  goto yy40;
6665
6.73k
yy427:
6666
6.73k
  YYDEBUG(427, *YYCURSOR);
6667
6.73k
  yyaccept = 4;
6668
6.73k
  yych = *(YYMARKER = ++YYCURSOR);
6669
6.73k
  if (yych == 'R') goto yy505;
6670
5.39k
  if (yych == 'r') goto yy505;
6671
685
  goto yy40;
6672
1.29k
yy428:
6673
1.29k
  YYDEBUG(428, *YYCURSOR);
6674
1.29k
  yyaccept = 41;
6675
1.29k
  yych = *(YYMARKER = ++YYCURSOR);
6676
1.29k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6677
369
    goto yy39;
6678
369
  }
6679
924
  if (yych == '\\') goto yy132;
6680
800
yy429:
6681
800
  YYDEBUG(429, *YYCURSOR);
6682
800
  yyleng = YYCURSOR - SCNG(yy_text);
6683
800
#line 1491 "Zend/zend_language_scanner.l"
6684
800
  {
6685
800
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6686
800
}
6687
0
#line 6688 "Zend/zend_language_scanner.c"
6688
2.50k
yy430:
6689
2.50k
  YYDEBUG(430, *YYCURSOR);
6690
2.50k
  yyaccept = 4;
6691
2.50k
  yych = *(YYMARKER = ++YYCURSOR);
6692
2.50k
  if (yych == 'I') goto yy507;
6693
1.91k
  if (yych == 'i') goto yy507;
6694
311
  goto yy40;
6695
2.15k
yy431:
6696
2.15k
  YYDEBUG(431, *YYCURSOR);
6697
2.15k
  yyaccept = 4;
6698
2.15k
  yych = *(YYMARKER = ++YYCURSOR);
6699
2.15k
  if (yych == 'I') goto yy508;
6700
1.89k
  if (yych == 'i') goto yy508;
6701
440
  goto yy40;
6702
428k
yy432:
6703
428k
  YYDEBUG(432, *YYCURSOR);
6704
428k
  ++YYCURSOR;
6705
428k
  YYFILL(10);
6706
428k
  yych = *YYCURSOR;
6707
428k
  if (yych <= 'E') {
6708
410k
    if (yych <= ' ') {
6709
23.2k
      if (yych <= '\f') {
6710
7.51k
        if (yych <= 0x08) goto yy72;
6711
4.55k
        if (yych <= '\n') goto yy432;
6712
421
        goto yy72;
6713
15.7k
      } else {
6714
15.7k
        if (yych <= '\r') goto yy432;
6715
1.82k
        if (yych <= 0x1F) goto yy72;
6716
1.36k
        goto yy432;
6717
1.82k
      }
6718
387k
    } else {
6719
387k
      if (yych <= '.') {
6720
382k
        if (yych != '#') goto yy72;
6721
382k
      } else {
6722
4.68k
        if (yych <= '/') goto yy434;
6723
2.86k
        if (yych <= '@') goto yy72;
6724
1.97k
        if (yych <= 'D') goto yy509;
6725
710
        goto yy511;
6726
1.97k
      }
6727
387k
    }
6728
410k
  } else {
6729
17.7k
    if (yych <= '`') {
6730
4.94k
      if (yych <= 'Z') {
6731
2.05k
        if (yych == 'I') goto yy512;
6732
1.11k
        goto yy509;
6733
2.88k
      } else {
6734
2.88k
        if (yych == '_') goto yy509;
6735
318
        goto yy72;
6736
2.88k
      }
6737
12.8k
    } else {
6738
12.8k
      if (yych <= 'h') {
6739
5.01k
        if (yych == 'e') goto yy511;
6740
805
        goto yy509;
6741
7.82k
      } else {
6742
7.82k
        if (yych <= 'i') goto yy512;
6743
4.37k
        if (yych <= 'z') goto yy509;
6744
2.29k
        if (yych <= 0x7F) goto yy72;
6745
1.81k
        goto yy509;
6746
2.29k
      }
6747
12.8k
    }
6748
17.7k
  }
6749
385k
yy433:
6750
385k
  YYDEBUG(433, *YYCURSOR);
6751
385k
  ++YYCURSOR;
6752
385k
  YYFILL(1);
6753
385k
  yych = *YYCURSOR;
6754
385k
  if (yych <= '\f') {
6755
318k
    if (yych <= 0x00) goto yy72;
6756
317k
    if (yych == '\n') goto yy514;
6757
5.65k
    goto yy513;
6758
317k
  } else {
6759
67.6k
    if (yych <= '\r') goto yy514;
6760
19.2k
    if (yych == '[') goto yy72;
6761
18.9k
    goto yy513;
6762
19.2k
  }
6763
2.14k
yy434:
6764
2.14k
  YYDEBUG(434, *YYCURSOR);
6765
2.14k
  ++YYCURSOR;
6766
2.14k
  YYFILL(1);
6767
2.14k
  yych = *YYCURSOR;
6768
2.14k
  if (yych == '*') goto yy515;
6769
1.41k
  if (yych == '/') goto yy513;
6770
1.08k
  goto yy72;
6771
13.3k
yy435:
6772
13.3k
  YYDEBUG(435, *YYCURSOR);
6773
13.3k
  yyaccept = 4;
6774
13.3k
  yych = *(YYMARKER = ++YYCURSOR);
6775
13.3k
  if (yych == 'D') goto yy516;
6776
12.5k
  if (yych == 'd') goto yy516;
6777
1.33k
  goto yy40;
6778
10.1k
yy436:
6779
10.1k
  YYDEBUG(436, *YYCURSOR);
6780
10.1k
  yyaccept = 42;
6781
10.1k
  yych = *(YYMARKER = ++YYCURSOR);
6782
10.1k
  if (yych <= '\\') {
6783
4.90k
    if (yych <= 'K') {
6784
3.81k
      if (yych <= '/') goto yy437;
6785
1.59k
      if (yych <= '9') goto yy39;
6786
1.12k
      if (yych >= 'A') goto yy39;
6787
1.12k
    } else {
6788
1.08k
      if (yych <= 'L') goto yy517;
6789
838
      if (yych <= 'Z') goto yy39;
6790
510
      if (yych >= '\\') goto yy132;
6791
510
    }
6792
5.20k
  } else {
6793
5.20k
    if (yych <= 'k') {
6794
1.13k
      if (yych == '_') goto yy39;
6795
798
      if (yych >= 'a') goto yy39;
6796
4.06k
    } else {
6797
4.06k
      if (yych <= 'l') goto yy517;
6798
874
      if (yych <= 'z') goto yy39;
6799
525
      if (yych >= 0x80) goto yy39;
6800
525
    }
6801
5.20k
  }
6802
4.00k
yy437:
6803
4.00k
  YYDEBUG(437, *YYCURSOR);
6804
4.00k
  yyleng = YYCURSOR - SCNG(yy_text);
6805
4.00k
#line 1803 "Zend/zend_language_scanner.l"
6806
4.00k
  {
6807
4.00k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6808
4.00k
}
6809
0
#line 6810 "Zend/zend_language_scanner.c"
6810
5.60k
yy438:
6811
5.60k
  YYDEBUG(438, *YYCURSOR);
6812
5.60k
  yyaccept = 4;
6813
5.60k
  yych = *(YYMARKER = ++YYCURSOR);
6814
5.60k
  if (yych == 'C') goto yy518;
6815
4.88k
  if (yych == 'c') goto yy518;
6816
688
  goto yy40;
6817
35.2k
yy439:
6818
35.2k
  YYDEBUG(439, *YYCURSOR);
6819
35.2k
  yyaccept = 4;
6820
35.2k
  yych = *(YYMARKER = ++YYCURSOR);
6821
35.2k
  if (yych == 'I') goto yy519;
6822
34.8k
  if (yych == 'i') goto yy519;
6823
697
  goto yy40;
6824
2.44k
yy440:
6825
2.44k
  YYDEBUG(440, *YYCURSOR);
6826
2.44k
  yyaccept = 4;
6827
2.44k
  yych = *(YYMARKER = ++YYCURSOR);
6828
2.44k
  if (yych == 'L') goto yy520;
6829
1.61k
  if (yych == 'l') goto yy520;
6830
454
  goto yy40;
6831
6.14k
yy441:
6832
6.14k
  YYDEBUG(441, *YYCURSOR);
6833
6.14k
  yyaccept = 4;
6834
6.14k
  yych = *(YYMARKER = ++YYCURSOR);
6835
6.14k
  if (yych == 'M') goto yy522;
6836
5.03k
  if (yych == 'm') goto yy522;
6837
901
  goto yy40;
6838
7.02k
yy442:
6839
7.02k
  YYDEBUG(442, *YYCURSOR);
6840
7.02k
  yyaccept = 4;
6841
7.02k
  yych = *(YYMARKER = ++YYCURSOR);
6842
7.02k
  if (yych == 'D') goto yy523;
6843
6.64k
  if (yych == 'd') goto yy523;
6844
523
  goto yy40;
6845
3.45k
yy443:
6846
3.45k
  YYDEBUG(443, *YYCURSOR);
6847
3.45k
  yyaccept = 4;
6848
3.45k
  yych = *(YYMARKER = ++YYCURSOR);
6849
3.45k
  if (yych == 'N') goto yy524;
6850
2.75k
  if (yych == 'n') goto yy524;
6851
483
  goto yy40;
6852
4.15k
yy444:
6853
4.15k
  YYDEBUG(444, *YYCURSOR);
6854
4.15k
  yyaccept = 4;
6855
4.15k
  yych = *(YYMARKER = ++YYCURSOR);
6856
4.15k
  if (yych == 'A') goto yy525;
6857
3.73k
  if (yych == 'a') goto yy525;
6858
277
  goto yy40;
6859
6.22k
yy445:
6860
6.22k
  YYDEBUG(445, *YYCURSOR);
6861
6.22k
  yyaccept = 4;
6862
6.22k
  yych = *(YYMARKER = ++YYCURSOR);
6863
6.22k
  if (yych == 'F') goto yy526;
6864
5.81k
  if (yych == 'f') goto yy526;
6865
947
  goto yy40;
6866
2.87k
yy446:
6867
2.87k
  YYDEBUG(446, *YYCURSOR);
6868
2.87k
  yyaccept = 43;
6869
2.87k
  yych = *(YYMARKER = ++YYCURSOR);
6870
2.87k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6871
461
    goto yy39;
6872
461
  }
6873
2.41k
  if (yych == '\\') goto yy132;
6874
2.40k
yy447:
6875
2.40k
  YYDEBUG(447, *YYCURSOR);
6876
2.40k
  yyleng = YYCURSOR - SCNG(yy_text);
6877
2.40k
#line 1783 "Zend/zend_language_scanner.l"
6878
2.40k
  {
6879
2.40k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6880
2.40k
}
6881
0
#line 6882 "Zend/zend_language_scanner.c"
6882
3.76k
yy448:
6883
3.76k
  YYDEBUG(448, *YYCURSOR);
6884
3.76k
  yyaccept = 44;
6885
3.76k
  yych = *(YYMARKER = ++YYCURSOR);
6886
3.76k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6887
417
    goto yy39;
6888
417
  }
6889
3.34k
  if (yych == '\\') goto yy132;
6890
3.34k
yy449:
6891
3.34k
  YYDEBUG(449, *YYCURSOR);
6892
3.34k
  yyleng = YYCURSOR - SCNG(yy_text);
6893
3.34k
#line 1547 "Zend/zend_language_scanner.l"
6894
3.34k
  {
6895
3.34k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6896
3.34k
}
6897
0
#line 6898 "Zend/zend_language_scanner.c"
6898
13.4k
yy450:
6899
13.4k
  YYDEBUG(450, *YYCURSOR);
6900
13.4k
  yyaccept = 4;
6901
13.4k
  yych = *(YYMARKER = ++YYCURSOR);
6902
13.4k
  if (yych == 'P') goto yy527;
6903
12.4k
  if (yych == 'p') goto yy527;
6904
553
  goto yy40;
6905
5.56k
yy451:
6906
5.56k
  YYDEBUG(451, *YYCURSOR);
6907
5.56k
  yyaccept = 45;
6908
5.56k
  yych = *(YYMARKER = ++YYCURSOR);
6909
5.56k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6910
3.85k
    goto yy39;
6911
3.85k
  }
6912
1.70k
  if (yych == '\\') goto yy132;
6913
1.59k
yy452:
6914
1.59k
  YYDEBUG(452, *YYCURSOR);
6915
1.59k
  yyleng = YYCURSOR - SCNG(yy_text);
6916
1.59k
#line 1579 "Zend/zend_language_scanner.l"
6917
1.59k
  {
6918
1.59k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6919
1.59k
}
6920
0
#line 6921 "Zend/zend_language_scanner.c"
6921
6.47k
yy453:
6922
6.47k
  YYDEBUG(453, *YYCURSOR);
6923
6.47k
  yyaccept = 4;
6924
6.47k
  yych = *(YYMARKER = ++YYCURSOR);
6925
6.47k
  if (yych == 'T') goto yy528;
6926
6.26k
  if (yych == 't') goto yy528;
6927
436
  goto yy40;
6928
6.64k
yy454:
6929
6.64k
  YYDEBUG(454, *YYCURSOR);
6930
6.64k
  yyaccept = 4;
6931
6.64k
  yych = *(YYMARKER = ++YYCURSOR);
6932
6.64k
  if (yych == 'C') goto yy529;
6933
6.39k
  if (yych == 'c') goto yy529;
6934
707
  goto yy40;
6935
19.4k
yy455:
6936
19.4k
  YYDEBUG(455, *YYCURSOR);
6937
19.4k
  yyaccept = 4;
6938
19.4k
  yych = *(YYMARKER = ++YYCURSOR);
6939
19.4k
  if (yych == 'C') goto yy530;
6940
19.1k
  if (yych == 'c') goto yy530;
6941
391
  goto yy40;
6942
3.58k
yy456:
6943
3.58k
  YYDEBUG(456, *YYCURSOR);
6944
3.58k
  yyaccept = 4;
6945
3.58k
  yych = *(YYMARKER = ++YYCURSOR);
6946
3.58k
  if (yych == 'N') goto yy532;
6947
3.13k
  if (yych == 'n') goto yy532;
6948
460
  goto yy40;
6949
7.52k
yy457:
6950
7.52k
  YYDEBUG(457, *YYCURSOR);
6951
7.52k
  yyaccept = 4;
6952
7.52k
  yych = *(YYMARKER = ++YYCURSOR);
6953
7.52k
  if (yych == 'R') goto yy533;
6954
6.78k
  if (yych == 'r') goto yy533;
6955
571
  goto yy40;
6956
5.83k
yy458:
6957
5.83k
  YYDEBUG(458, *YYCURSOR);
6958
5.83k
  yyaccept = 4;
6959
5.83k
  yych = *(YYMARKER = ++YYCURSOR);
6960
5.83k
  if (yych == 'N') goto yy534;
6961
5.61k
  if (yych == 'n') goto yy534;
6962
493
  goto yy40;
6963
7.69k
yy459:
6964
7.69k
  YYDEBUG(459, *YYCURSOR);
6965
7.69k
  yyaccept = 4;
6966
7.69k
  yych = *(YYMARKER = ++YYCURSOR);
6967
7.69k
  if (yych == 'C') goto yy536;
6968
7.39k
  if (yych == 'c') goto yy536;
6969
409
  goto yy40;
6970
3.41k
yy460:
6971
3.41k
  YYDEBUG(460, *YYCURSOR);
6972
3.41k
  yyaccept = 4;
6973
3.41k
  yych = *(YYMARKER = ++YYCURSOR);
6974
3.41k
  if (yych == 'H') goto yy538;
6975
3.09k
  if (yych == 'h') goto yy538;
6976
446
  goto yy40;
6977
2.22k
yy461:
6978
2.22k
  YYDEBUG(461, *YYCURSOR);
6979
2.22k
  yyaccept = 46;
6980
2.22k
  yych = *(YYMARKER = ++YYCURSOR);
6981
2.22k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6982
732
    goto yy39;
6983
732
  }
6984
1.48k
  if (yych == '\\') goto yy132;
6985
1.35k
yy462:
6986
1.35k
  YYDEBUG(462, *YYCURSOR);
6987
1.35k
  yyleng = YYCURSOR - SCNG(yy_text);
6988
1.35k
#line 1479 "Zend/zend_language_scanner.l"
6989
1.35k
  {
6990
1.35k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6991
1.35k
}
6992
0
#line 6993 "Zend/zend_language_scanner.c"
6993
2.90k
yy463:
6994
2.90k
  YYDEBUG(463, *YYCURSOR);
6995
2.90k
  yyaccept = 47;
6996
2.90k
  yych = *(YYMARKER = ++YYCURSOR);
6997
2.90k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
6998
396
    goto yy39;
6999
396
  }
7000
2.51k
  if (yych == '\\') goto yy132;
7001
2.48k
yy464:
7002
2.48k
  YYDEBUG(464, *YYCURSOR);
7003
2.48k
  yyleng = YYCURSOR - SCNG(yy_text);
7004
2.48k
#line 1591 "Zend/zend_language_scanner.l"
7005
2.48k
  {
7006
2.48k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
7007
2.48k
}
7008
0
#line 7009 "Zend/zend_language_scanner.c"
7009
4.30k
yy465:
7010
4.30k
  YYDEBUG(465, *YYCURSOR);
7011
4.30k
  yyaccept = 48;
7012
4.30k
  yych = *(YYMARKER = ++YYCURSOR);
7013
4.30k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7014
1.00k
    goto yy39;
7015
1.00k
  }
7016
3.30k
  if (yych == '\\') goto yy132;
7017
3.21k
yy466:
7018
3.21k
  YYDEBUG(466, *YYCURSOR);
7019
3.21k
  yyleng = YYCURSOR - SCNG(yy_text);
7020
3.21k
#line 1835 "Zend/zend_language_scanner.l"
7021
3.21k
  {
7022
3.21k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
7023
3.21k
}
7024
0
#line 7025 "Zend/zend_language_scanner.c"
7025
3.49k
yy467:
7026
3.49k
  YYDEBUG(467, *YYCURSOR);
7027
3.49k
  yyaccept = 49;
7028
3.49k
  yych = *(YYMARKER = ++YYCURSOR);
7029
3.49k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7030
615
    goto yy39;
7031
615
  }
7032
2.87k
  if (yych == '\\') goto yy132;
7033
2.87k
yy468:
7034
2.87k
  YYDEBUG(468, *YYCURSOR);
7035
2.87k
  yyleng = YYCURSOR - SCNG(yy_text);
7036
2.87k
#line 1499 "Zend/zend_language_scanner.l"
7037
2.87k
  {
7038
2.87k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
7039
2.87k
}
7040
0
#line 7041 "Zend/zend_language_scanner.c"
7041
56.2k
yy469:
7042
56.2k
  YYDEBUG(469, *YYCURSOR);
7043
56.2k
  yyaccept = 50;
7044
56.2k
  yych = *(YYMARKER = ++YYCURSOR);
7045
56.2k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7046
865
    goto yy39;
7047
865
  }
7048
55.3k
  if (yych <= ' ') {
7049
31.9k
    if (yych <= '\f') {
7050
21.1k
      if (yych <= 0x08) goto yy470;
7051
20.7k
      if (yych <= '\n') goto yy540;
7052
20.7k
    } else {
7053
10.7k
      if (yych <= '\r') goto yy540;
7054
9.07k
      if (yych >= ' ') goto yy540;
7055
9.07k
    }
7056
31.9k
  } else {
7057
23.4k
    if (yych <= '.') {
7058
21.5k
      if (yych == '#') goto yy541;
7059
21.5k
    } else {
7060
1.91k
      if (yych <= '/') goto yy542;
7061
1.44k
      if (yych == '\\') goto yy132;
7062
1.44k
    }
7063
23.4k
  }
7064
39.9k
yy470:
7065
39.9k
  YYDEBUG(470, *YYCURSOR);
7066
39.9k
  yyleng = YYCURSOR - SCNG(yy_text);
7067
39.9k
#line 1463 "Zend/zend_language_scanner.l"
7068
39.9k
  {
7069
39.9k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
7070
39.9k
}
7071
0
#line 7072 "Zend/zend_language_scanner.c"
7072
4.54k
yy471:
7073
4.54k
  YYDEBUG(471, *YYCURSOR);
7074
4.54k
  yyaccept = 4;
7075
4.54k
  yych = *(YYMARKER = ++YYCURSOR);
7076
4.54k
  if (yych == 'S') goto yy543;
7077
4.02k
  if (yych == 's') goto yy543;
7078
372
  goto yy40;
7079
3.48k
yy472:
7080
3.48k
  YYDEBUG(472, *YYCURSOR);
7081
3.48k
  yyaccept = 4;
7082
3.48k
  yych = *(YYMARKER = ++YYCURSOR);
7083
3.48k
  if (yych == '_') goto yy544;
7084
603
  goto yy40;
7085
2.81k
yy473:
7086
2.81k
  YYDEBUG(473, *YYCURSOR);
7087
2.81k
  yyaccept = 4;
7088
2.81k
  yych = *(YYMARKER = ++YYCURSOR);
7089
2.81k
  if (yych == 'E') goto yy545;
7090
1.97k
  if (yych == 'e') goto yy545;
7091
352
  goto yy40;
7092
4.75k
yy474:
7093
4.75k
  YYDEBUG(474, *YYCURSOR);
7094
4.75k
  yyaccept = 4;
7095
4.75k
  yych = *(YYMARKER = ++YYCURSOR);
7096
4.75k
  if (yych == 'C') goto yy546;
7097
4.46k
  if (yych == 'c') goto yy546;
7098
614
  goto yy40;
7099
4.50k
yy475:
7100
4.50k
  YYDEBUG(475, *YYCURSOR);
7101
4.50k
  yyaccept = 4;
7102
4.50k
  yych = *(YYMARKER = ++YYCURSOR);
7103
4.50k
  if (yych == 'T') goto yy547;
7104
2.61k
  if (yych == 't') goto yy547;
7105
395
  goto yy40;
7106
2.73k
yy476:
7107
2.73k
  YYDEBUG(476, *YYCURSOR);
7108
2.73k
  yyaccept = 4;
7109
2.73k
  yych = *(YYMARKER = ++YYCURSOR);
7110
2.73k
  if (yych == 'E') goto yy548;
7111
1.49k
  if (yych == 'e') goto yy548;
7112
292
  goto yy40;
7113
4.55k
yy477:
7114
4.55k
  YYDEBUG(477, *YYCURSOR);
7115
4.55k
  yyaccept = 4;
7116
4.55k
  yych = *(YYMARKER = ++YYCURSOR);
7117
4.55k
  if (yych == 'H') goto yy549;
7118
3.68k
  if (yych == 'h') goto yy549;
7119
506
  goto yy40;
7120
4.27k
yy478:
7121
4.27k
  YYDEBUG(478, *YYCURSOR);
7122
4.27k
  yyaccept = 4;
7123
4.27k
  yych = *(YYMARKER = ++YYCURSOR);
7124
4.27k
  if (yych == 'E') goto yy550;
7125
3.45k
  if (yych == 'e') goto yy550;
7126
380
  goto yy40;
7127
4.27k
yy479:
7128
4.27k
  YYDEBUG(479, *YYCURSOR);
7129
4.27k
  yyaccept = 4;
7130
4.27k
  yych = *(YYMARKER = ++YYCURSOR);
7131
4.27k
  if (yych == 'P') goto yy551;
7132
632
  if (yych == 'p') goto yy551;
7133
362
  goto yy40;
7134
4.87k
yy480:
7135
4.87k
  YYDEBUG(480, *YYCURSOR);
7136
4.87k
  yyaccept = 4;
7137
4.87k
  yych = *(YYMARKER = ++YYCURSOR);
7138
4.87k
  if (yych == 'I') goto yy552;
7139
4.43k
  if (yych == 'i') goto yy552;
7140
560
  goto yy40;
7141
37.6k
yy481:
7142
37.6k
  YYDEBUG(481, *YYCURSOR);
7143
37.6k
  ++YYCURSOR;
7144
37.6k
  YYFILL(1);
7145
37.6k
  yych = *YYCURSOR;
7146
37.6k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 64) {
7147
376
    goto yy300;
7148
376
  }
7149
37.2k
  if (yych <= ' ') {
7150
5.26k
    if (yych <= '\n') {
7151
3.78k
      if (yych <= 0x00) goto yy72;
7152
2.65k
      if (yych <= 0x08) goto yy190;
7153
2.40k
      goto yy481;
7154
2.65k
    } else {
7155
1.48k
      if (yych == '\r') goto yy481;
7156
721
      if (yych <= 0x1F) goto yy190;
7157
330
      goto yy481;
7158
721
    }
7159
31.9k
  } else {
7160
31.9k
    if (yych <= '$') {
7161
24.9k
      if (yych <= '"') goto yy190;
7162
24.7k
      if (yych <= '#') goto yy553;
7163
949
      goto yy554;
7164
24.7k
    } else {
7165
6.98k
      if (yych <= '-') goto yy190;
7166
6.57k
      if (yych <= '.') goto yy555;
7167
4.89k
      if (yych <= '/') goto yy556;
7168
1.04k
      goto yy190;
7169
4.89k
    }
7170
31.9k
  }
7171
10.2k
yy482:
7172
10.2k
  YYDEBUG(482, *YYCURSOR);
7173
10.2k
  ++YYCURSOR;
7174
10.2k
  YYFILL(1);
7175
10.2k
  yych = *YYCURSOR;
7176
10.2k
  if (yych <= '\r') {
7177
4.36k
    if (yych <= '\t') {
7178
911
      if (yych <= 0x00) goto yy72;
7179
444
      goto yy385;
7180
3.45k
    } else {
7181
3.45k
      if (yych <= '\n') goto yy481;
7182
1.41k
      if (yych <= '\f') goto yy385;
7183
1.18k
      goto yy481;
7184
1.41k
    }
7185
5.91k
  } else {
7186
5.91k
    if (yych <= '*') {
7187
4.23k
      if (yych <= ')') goto yy385;
7188
688
      goto yy482;
7189
4.23k
    } else {
7190
1.67k
      if (yych == '/') goto yy188;
7191
1.01k
      goto yy385;
7192
1.67k
    }
7193
5.91k
  }
7194
5.16k
yy483:
7195
5.16k
  YYDEBUG(483, *YYCURSOR);
7196
5.16k
  ++YYCURSOR;
7197
5.16k
  YYFILL(1);
7198
5.16k
  yych = *YYCURSOR;
7199
5.16k
  if (yych <= 0x1F) {
7200
557
    if (yych == '\t') goto yy483;
7201
358
    goto yy72;
7202
4.60k
  } else {
7203
4.60k
    if (yych <= ' ') goto yy483;
7204
4.25k
    if (yych == ')') goto yy557;
7205
2.49k
    goto yy72;
7206
4.25k
  }
7207
3.08k
yy484:
7208
3.08k
  YYDEBUG(484, *YYCURSOR);
7209
3.08k
  yych = *++YYCURSOR;
7210
3.08k
  if (yych == 'Y') goto yy558;
7211
2.81k
  if (yych == 'y') goto yy558;
7212
467
  goto yy72;
7213
520
yy485:
7214
520
  YYDEBUG(485, *YYCURSOR);
7215
520
  ++YYCURSOR;
7216
520
  YYFILL(1);
7217
520
  yych = *YYCURSOR;
7218
2.12k
yy486:
7219
2.12k
  YYDEBUG(486, *YYCURSOR);
7220
2.12k
  if (yych <= 0x1F) {
7221
713
    if (yych == '\t') goto yy485;
7222
405
    goto yy72;
7223
1.41k
  } else {
7224
1.41k
    if (yych <= ' ') goto yy485;
7225
1.19k
    if (yych != ')') goto yy72;
7226
1.19k
  }
7227
429
  ++YYCURSOR;
7228
429
  yyleng = YYCURSOR - SCNG(yy_text);
7229
429
#line 1725 "Zend/zend_language_scanner.l"
7230
429
  {
7231
429
  RETURN_TOKEN(T_BOOL_CAST);
7232
429
}
7233
0
#line 7234 "Zend/zend_language_scanner.c"
7234
2.20k
yy487:
7235
2.20k
  YYDEBUG(487, *YYCURSOR);
7236
2.20k
  yych = *++YYCURSOR;
7237
2.20k
  if (yych == 'A') goto yy559;
7238
1.73k
  if (yych == 'a') goto yy559;
7239
373
  goto yy72;
7240
1.58k
yy488:
7241
1.58k
  YYDEBUG(488, *YYCURSOR);
7242
1.58k
  yych = *++YYCURSOR;
7243
1.58k
  if (yych == 'E') goto yy560;
7244
842
  if (yych == 'e') goto yy560;
7245
279
  goto yy72;
7246
4.10k
yy489:
7247
4.10k
  YYDEBUG(489, *YYCURSOR);
7248
4.10k
  ++YYCURSOR;
7249
4.10k
  YYFILL(1);
7250
4.10k
  yych = *YYCURSOR;
7251
4.10k
  if (yych <= 0x1F) {
7252
610
    if (yych == '\t') goto yy489;
7253
251
    goto yy72;
7254
3.49k
  } else {
7255
3.49k
    if (yych <= ' ') goto yy489;
7256
2.83k
    if (yych == ')') goto yy561;
7257
753
    goto yy72;
7258
2.83k
  }
7259
2.36k
yy490:
7260
2.36k
  YYDEBUG(490, *YYCURSOR);
7261
2.36k
  yych = *++YYCURSOR;
7262
2.36k
  if (yych == 'E') goto yy562;
7263
1.96k
  if (yych == 'e') goto yy562;
7264
316
  goto yy72;
7265
1.88k
yy491:
7266
1.88k
  YYDEBUG(491, *YYCURSOR);
7267
1.88k
  yych = *++YYCURSOR;
7268
1.88k
  if (yych == 'T') goto yy563;
7269
1.66k
  if (yych == 't') goto yy563;
7270
550
  goto yy72;
7271
550
yy492:
7272
215
  YYDEBUG(492, *YYCURSOR);
7273
215
  ++YYCURSOR;
7274
215
  yyleng = YYCURSOR - SCNG(yy_text);
7275
215
#line 1695 "Zend/zend_language_scanner.l"
7276
215
  {
7277
215
  if (PARSER_MODE()) {
7278
9
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7279
9
    RETURN_TOKEN(T_ERROR);
7280
9
  }
7281
206
  RETURN_TOKEN(T_DOUBLE_CAST);
7282
206
}
7283
0
#line 7284 "Zend/zend_language_scanner.c"
7284
3.27k
yy493:
7285
3.27k
  YYDEBUG(493, *YYCURSOR);
7286
3.27k
  yych = *++YYCURSOR;
7287
3.27k
  if (yych == 'G') goto yy564;
7288
2.65k
  if (yych == 'g') goto yy564;
7289
344
  goto yy72;
7290
2.17k
yy494:
7291
2.17k
  YYDEBUG(494, *YYCURSOR);
7292
2.17k
  ++YYCURSOR;
7293
2.17k
  YYFILL(1);
7294
2.17k
  yych = *YYCURSOR;
7295
2.17k
  if (yych <= 0x1F) {
7296
466
    if (yych == '\t') goto yy494;
7297
261
    goto yy72;
7298
1.71k
  } else {
7299
1.71k
    if (yych <= ' ') goto yy494;
7300
1.26k
    if (yych == ')') goto yy565;
7301
645
    goto yy72;
7302
1.26k
  }
7303
1.20k
yy495:
7304
1.20k
  YYDEBUG(495, *YYCURSOR);
7305
1.20k
  ++YYCURSOR;
7306
1.20k
  yyleng = YYCURSOR - SCNG(yy_text);
7307
1.20k
#line 1743 "Zend/zend_language_scanner.l"
7308
1.20k
  {
7309
1.20k
  RETURN_TOKEN(T_VOID_CAST);
7310
1.20k
}
7311
0
#line 7312 "Zend/zend_language_scanner.c"
7312
4.17k
yy496:
7313
4.17k
  YYDEBUG(496, *YYCURSOR);
7314
4.17k
  yych = *++YYCURSOR;
7315
4.17k
  if (yych == '\n') goto yy403;
7316
2.31k
  if (yych == '\r') goto yy405;
7317
522
  goto yy72;
7318
4.25k
yy497:
7319
4.25k
  YYDEBUG(497, *YYCURSOR);
7320
4.25k
  yyaccept = 4;
7321
4.25k
  yych = *(YYMARKER = ++YYCURSOR);
7322
4.25k
  if (yych == 'C') goto yy566;
7323
3.73k
  if (yych == 'c') goto yy566;
7324
469
  goto yy40;
7325
2.26k
yy498:
7326
2.26k
  YYDEBUG(498, *YYCURSOR);
7327
2.26k
  yyaccept = 4;
7328
2.26k
  yych = *(YYMARKER = ++YYCURSOR);
7329
2.26k
  if (yych == 'L') goto yy567;
7330
1.35k
  if (yych == 'l') goto yy567;
7331
244
  goto yy40;
7332
4.79k
yy499:
7333
4.79k
  YYDEBUG(499, *YYCURSOR);
7334
4.79k
  yyaccept = 4;
7335
4.79k
  yych = *(YYMARKER = ++YYCURSOR);
7336
4.79k
  if (yych == 'U') goto yy568;
7337
4.17k
  if (yych == 'u') goto yy568;
7338
1.07k
  goto yy40;
7339
5.41k
yy500:
7340
5.41k
  YYDEBUG(500, *YYCURSOR);
7341
5.41k
  yyaccept = 4;
7342
5.41k
  yych = *(YYMARKER = ++YYCURSOR);
7343
5.41k
  if (yych == 'E') goto yy569;
7344
5.13k
  if (yych == 'e') goto yy569;
7345
593
  goto yy40;
7346
1.94k
yy501:
7347
1.94k
  YYDEBUG(501, *YYCURSOR);
7348
1.94k
  yyaccept = 4;
7349
1.94k
  yych = *(YYMARKER = ++YYCURSOR);
7350
1.94k
  if (yych == 'T') goto yy571;
7351
1.56k
  if (yych == 't') goto yy571;
7352
317
  goto yy40;
7353
3.00k
yy502:
7354
3.00k
  YYDEBUG(502, *YYCURSOR);
7355
3.00k
  yyaccept = 51;
7356
3.00k
  yych = *(YYMARKER = ++YYCURSOR);
7357
3.00k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7358
424
    goto yy39;
7359
424
  }
7360
2.58k
  if (yych == '\\') goto yy132;
7361
2.53k
yy503:
7362
2.53k
  YYDEBUG(503, *YYCURSOR);
7363
2.53k
  yyleng = YYCURSOR - SCNG(yy_text);
7364
2.53k
#line 1487 "Zend/zend_language_scanner.l"
7365
2.53k
  {
7366
2.53k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7367
2.53k
}
7368
0
#line 7369 "Zend/zend_language_scanner.c"
7369
2.35k
yy504:
7370
2.35k
  YYDEBUG(504, *YYCURSOR);
7371
2.35k
  yyaccept = 4;
7372
2.35k
  yych = *(YYMARKER = ++YYCURSOR);
7373
2.35k
  if (yych == 'L') goto yy573;
7374
1.85k
  if (yych == 'l') goto yy573;
7375
363
  goto yy40;
7376
6.05k
yy505:
7377
6.05k
  YYDEBUG(505, *YYCURSOR);
7378
6.05k
  yyaccept = 52;
7379
6.05k
  yych = *(YYMARKER = ++YYCURSOR);
7380
6.05k
  if (yych <= '\\') {
7381
2.84k
    if (yych <= 'D') {
7382
1.17k
      if (yych <= '/') goto yy506;
7383
784
      if (yych <= '9') goto yy39;
7384
556
      if (yych >= 'A') goto yy39;
7385
1.66k
    } else {
7386
1.66k
      if (yych <= 'E') goto yy574;
7387
984
      if (yych <= 'Z') goto yy39;
7388
656
      if (yych >= '\\') goto yy132;
7389
656
    }
7390
3.20k
  } else {
7391
3.20k
    if (yych <= 'd') {
7392
664
      if (yych == '_') goto yy39;
7393
410
      if (yych >= 'a') goto yy39;
7394
2.54k
    } else {
7395
2.54k
      if (yych <= 'e') goto yy574;
7396
727
      if (yych <= 'z') goto yy39;
7397
451
      if (yych >= 0x80) goto yy39;
7398
451
    }
7399
3.20k
  }
7400
1.79k
yy506:
7401
1.79k
  YYDEBUG(506, *YYCURSOR);
7402
1.79k
  yyleng = YYCURSOR - SCNG(yy_text);
7403
1.79k
#line 1515 "Zend/zend_language_scanner.l"
7404
1.79k
  {
7405
1.79k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7406
1.79k
}
7407
0
#line 7408 "Zend/zend_language_scanner.c"
7408
2.19k
yy507:
7409
2.19k
  YYDEBUG(507, *YYCURSOR);
7410
2.19k
  yyaccept = 4;
7411
2.19k
  yych = *(YYMARKER = ++YYCURSOR);
7412
2.19k
  if (yych == 'T') goto yy575;
7413
1.93k
  if (yych == 't') goto yy575;
7414
344
  goto yy40;
7415
1.71k
yy508:
7416
1.71k
  YYDEBUG(508, *YYCURSOR);
7417
1.71k
  yyaccept = 4;
7418
1.71k
  yych = *(YYMARKER = ++YYCURSOR);
7419
1.71k
  if (yych == 'L') goto yy576;
7420
1.27k
  if (yych == 'l') goto yy576;
7421
262
  goto yy40;
7422
9.64k
yy509:
7423
9.64k
  YYDEBUG(509, *YYCURSOR);
7424
9.64k
  ++YYCURSOR;
7425
77.2k
yy510:
7426
77.2k
  YYDEBUG(510, *YYCURSOR);
7427
77.2k
  yyleng = YYCURSOR - SCNG(yy_text);
7428
77.2k
#line 1603 "Zend/zend_language_scanner.l"
7429
77.2k
  {
7430
77.2k
  yyless(4);
7431
77.2k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7432
77.2k
}
7433
0
#line 7434 "Zend/zend_language_scanner.c"
7434
4.91k
yy511:
7435
4.91k
  YYDEBUG(511, *YYCURSOR);
7436
4.91k
  yyaccept = 53;
7437
4.91k
  yych = *(YYMARKER = ++YYCURSOR);
7438
4.91k
  if (yych == 'X') goto yy577;
7439
4.63k
  if (yych == 'x') goto yy577;
7440
2.34k
  goto yy510;
7441
4.39k
yy512:
7442
4.39k
  YYDEBUG(512, *YYCURSOR);
7443
4.39k
  yyaccept = 53;
7444
4.39k
  yych = *(YYMARKER = ++YYCURSOR);
7445
4.39k
  if (yych == 'M') goto yy578;
7446
3.73k
  if (yych == 'm') goto yy578;
7447
951
  goto yy510;
7448
1.27M
yy513:
7449
1.27M
  YYDEBUG(513, *YYCURSOR);
7450
1.27M
  ++YYCURSOR;
7451
1.27M
  YYFILL(1);
7452
1.27M
  yych = *YYCURSOR;
7453
1.27M
  if (yych <= '\n') {
7454
49.7k
    if (yych <= 0x00) goto yy72;
7455
42.9k
    if (yych <= '\t') goto yy513;
7456
37.2k
    goto yy432;
7457
1.22M
  } else {
7458
1.22M
    if (yych == '\r') goto yy432;
7459
957k
    goto yy513;
7460
1.22M
  }
7461
382k
yy514:
7462
382k
  YYDEBUG(514, *YYCURSOR);
7463
382k
  ++YYCURSOR;
7464
382k
  YYFILL(1);
7465
382k
  yych = *YYCURSOR;
7466
382k
  if (yych <= 'D') {
7467
104k
    if (yych <= 0x1F) {
7468
18.8k
      if (yych <= '\t') {
7469
10.9k
        if (yych <= 0x00) goto yy72;
7470
10.3k
        if (yych <= 0x08) goto yy513;
7471
379
        goto yy514;
7472
10.3k
      } else {
7473
7.92k
        if (yych <= '\n') goto yy432;
7474
7.12k
        if (yych == '\r') goto yy432;
7475
3.55k
        goto yy513;
7476
7.12k
      }
7477
85.8k
    } else {
7478
85.8k
      if (yych <= '#') {
7479
22.7k
        if (yych <= ' ') goto yy514;
7480
17.7k
        if (yych <= '"') goto yy513;
7481
17.1k
        goto yy579;
7482
63.1k
      } else {
7483
63.1k
        if (yych == '/') goto yy580;
7484
5.80k
        if (yych <= '@') goto yy513;
7485
406
        goto yy581;
7486
5.80k
      }
7487
85.8k
    }
7488
277k
  } else {
7489
277k
    if (yych <= '`') {
7490
8.25k
      if (yych <= 'I') {
7491
5.57k
        if (yych <= 'E') goto yy582;
7492
5.13k
        if (yych <= 'H') goto yy581;
7493
4.28k
        goto yy583;
7494
5.13k
      } else {
7495
2.68k
        if (yych <= 'Z') goto yy581;
7496
1.11k
        if (yych == '_') goto yy581;
7497
785
        goto yy513;
7498
1.11k
      }
7499
269k
    } else {
7500
269k
      if (yych <= 'h') {
7501
237k
        if (yych == 'e') goto yy582;
7502
3.94k
        goto yy581;
7503
237k
      } else {
7504
31.7k
        if (yych <= 'i') goto yy583;
7505
14.4k
        if (yych <= 'z') goto yy581;
7506
5.46k
        if (yych <= 0x7F) goto yy513;
7507
3.90k
        goto yy581;
7508
5.46k
      }
7509
269k
    }
7510
277k
  }
7511
241k
yy515:
7512
241k
  YYDEBUG(515, *YYCURSOR);
7513
241k
  ++YYCURSOR;
7514
241k
  YYFILL(1);
7515
241k
  yych = *YYCURSOR;
7516
241k
  if (yych <= 0x00) goto yy72;
7517
220k
  if (yych == '*') goto yy584;
7518
214k
  goto yy515;
7519
214k
yy516:
7520
11.9k
  YYDEBUG(516, *YYCURSOR);
7521
11.9k
  yyaccept = 4;
7522
11.9k
  yych = *(YYMARKER = ++YYCURSOR);
7523
11.9k
  if (yych == 'S') goto yy585;
7524
11.5k
  if (yych == 's') goto yy585;
7525
1.04k
  goto yy40;
7526
3.44k
yy517:
7527
3.44k
  YYDEBUG(517, *YYCURSOR);
7528
3.44k
  yyaccept = 4;
7529
3.44k
  yych = *(YYMARKER = ++YYCURSOR);
7530
3.44k
  if (yych == 'Y') goto yy587;
7531
3.22k
  if (yych == 'y') goto yy587;
7532
374
  goto yy40;
7533
4.91k
yy518:
7534
4.91k
  YYDEBUG(518, *YYCURSOR);
7535
4.91k
  yyaccept = 4;
7536
4.91k
  yych = *(YYMARKER = ++YYCURSOR);
7537
4.91k
  if (yych == 'H') goto yy589;
7538
4.58k
  if (yych == 'h') goto yy589;
7539
564
  goto yy40;
7540
34.5k
yy519:
7541
34.5k
  YYDEBUG(519, *YYCURSOR);
7542
34.5k
  yyaccept = 4;
7543
34.5k
  yych = *(YYMARKER = ++YYCURSOR);
7544
34.5k
  if (yych == 'O') goto yy591;
7545
33.8k
  if (yych == 'o') goto yy591;
7546
406
  goto yy40;
7547
1.99k
yy520:
7548
1.99k
  YYDEBUG(520, *YYCURSOR);
7549
1.99k
  yyaccept = 54;
7550
1.99k
  yych = *(YYMARKER = ++YYCURSOR);
7551
1.99k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7552
497
    goto yy39;
7553
497
  }
7554
1.49k
  if (yych == '\\') goto yy132;
7555
1.49k
yy521:
7556
1.49k
  YYDEBUG(521, *YYCURSOR);
7557
1.49k
  yyleng = YYCURSOR - SCNG(yy_text);
7558
1.49k
#line 1779 "Zend/zend_language_scanner.l"
7559
1.49k
  {
7560
1.49k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7561
1.49k
}
7562
0
#line 7563 "Zend/zend_language_scanner.c"
7563
5.24k
yy522:
7564
5.24k
  YYDEBUG(522, *YYCURSOR);
7565
5.24k
  yyaccept = 4;
7566
5.24k
  yych = *(YYMARKER = ++YYCURSOR);
7567
5.24k
  if (yych == 'E') goto yy592;
7568
4.12k
  if (yych == 'e') goto yy592;
7569
815
  goto yy40;
7570
6.50k
yy523:
7571
6.50k
  YYDEBUG(523, *YYCURSOR);
7572
6.50k
  yyaccept = 4;
7573
6.50k
  yych = *(YYMARKER = ++YYCURSOR);
7574
6.50k
  if (yych == 'E') goto yy593;
7575
5.10k
  if (yych == 'e') goto yy593;
7576
419
  goto yy40;
7577
2.97k
yy524:
7578
2.97k
  YYDEBUG(524, *YYCURSOR);
7579
2.97k
  yyaccept = 4;
7580
2.97k
  yych = *(YYMARKER = ++YYCURSOR);
7581
2.97k
  if (yych == 'C') goto yy595;
7582
2.74k
  if (yych == 'c') goto yy595;
7583
468
  goto yy40;
7584
3.87k
yy525:
7585
3.87k
  YYDEBUG(525, *YYCURSOR);
7586
3.87k
  yyaccept = 4;
7587
3.87k
  yych = *(YYMARKER = ++YYCURSOR);
7588
3.87k
  if (yych == 'D') goto yy596;
7589
3.15k
  if (yych == 'd') goto yy596;
7590
457
  goto yy40;
7591
5.27k
yy526:
7592
5.27k
  YYDEBUG(526, *YYCURSOR);
7593
5.27k
  yyaccept = 4;
7594
5.27k
  yych = *(YYMARKER = ++YYCURSOR);
7595
5.27k
  if (yych == 'A') goto yy597;
7596
4.98k
  if (yych == 'a') goto yy597;
7597
677
  goto yy40;
7598
12.9k
yy527:
7599
12.9k
  YYDEBUG(527, *YYCURSOR);
7600
12.9k
  yyaccept = 4;
7601
12.9k
  yych = *(YYMARKER = ++YYCURSOR);
7602
12.9k
  if (yych == 'A') goto yy598;
7603
12.6k
  if (yych == 'a') goto yy598;
7604
417
  goto yy40;
7605
6.03k
yy528:
7606
6.03k
  YYDEBUG(528, *YYCURSOR);
7607
6.03k
  yyaccept = 4;
7608
6.03k
  yych = *(YYMARKER = ++YYCURSOR);
7609
6.03k
  if (yych == 'E') goto yy599;
7610
5.83k
  if (yych == 'e') goto yy599;
7611
422
  goto yy40;
7612
5.93k
yy529:
7613
5.93k
  YYDEBUG(529, *YYCURSOR);
7614
5.93k
  yyaccept = 4;
7615
5.93k
  yych = *(YYMARKER = ++YYCURSOR);
7616
5.93k
  if (yych == 'T') goto yy601;
7617
5.72k
  if (yych == 't') goto yy601;
7618
446
  goto yy40;
7619
19.0k
yy530:
7620
19.0k
  YYDEBUG(530, *YYCURSOR);
7621
19.0k
  yyaccept = 55;
7622
19.0k
  yych = *(YYMARKER = ++YYCURSOR);
7623
19.0k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7624
417
    goto yy39;
7625
417
  }
7626
18.6k
  if (yych == '(') goto yy602;
7627
16.0k
  if (yych == '\\') goto yy132;
7628
17.6k
yy531:
7629
17.6k
  YYDEBUG(531, *YYCURSOR);
7630
17.6k
  yyleng = YYCURSOR - SCNG(yy_text);
7631
17.6k
#line 1827 "Zend/zend_language_scanner.l"
7632
17.6k
  {
7633
17.6k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7634
17.6k
}
7635
0
#line 7636 "Zend/zend_language_scanner.c"
7636
3.12k
yy532:
7637
3.12k
  YYDEBUG(532, *YYCURSOR);
7638
3.12k
  yyaccept = 4;
7639
3.12k
  yych = *(YYMARKER = ++YYCURSOR);
7640
3.12k
  if (yych == 'L') goto yy603;
7641
2.87k
  if (yych == 'l') goto yy603;
7642
366
  goto yy40;
7643
6.95k
yy533:
7644
6.95k
  YYDEBUG(533, *YYCURSOR);
7645
6.95k
  yyaccept = 4;
7646
6.95k
  yych = *(YYMARKER = ++YYCURSOR);
7647
6.95k
  if (yych == 'E') goto yy604;
7648
6.27k
  if (yych == 'e') goto yy604;
7649
400
  goto yy40;
7650
5.34k
yy534:
7651
5.34k
  YYDEBUG(534, *YYCURSOR);
7652
5.34k
  yyaccept = 56;
7653
5.34k
  yych = *(YYMARKER = ++YYCURSOR);
7654
5.34k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7655
425
    goto yy39;
7656
425
  }
7657
4.92k
  if (yych == '\\') goto yy132;
7658
4.85k
yy535:
7659
4.85k
  YYDEBUG(535, *YYCURSOR);
7660
4.85k
  yyleng = YYCURSOR - SCNG(yy_text);
7661
4.85k
#line 1448 "Zend/zend_language_scanner.l"
7662
4.85k
  {
7663
4.85k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7664
4.85k
}
7665
0
#line 7666 "Zend/zend_language_scanner.c"
7666
7.28k
yy536:
7667
7.28k
  YYDEBUG(536, *YYCURSOR);
7668
7.28k
  yyaccept = 57;
7669
7.28k
  yych = *(YYMARKER = ++YYCURSOR);
7670
7.28k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7671
637
    goto yy39;
7672
637
  }
7673
6.64k
  if (yych == '\\') goto yy132;
7674
6.64k
yy537:
7675
6.64k
  YYDEBUG(537, *YYCURSOR);
7676
6.64k
  yyleng = YYCURSOR - SCNG(yy_text);
7677
6.64k
#line 1795 "Zend/zend_language_scanner.l"
7678
6.64k
  {
7679
6.64k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7680
6.64k
}
7681
0
#line 7682 "Zend/zend_language_scanner.c"
7682
2.96k
yy538:
7683
2.96k
  YYDEBUG(538, *YYCURSOR);
7684
2.96k
  yyaccept = 58;
7685
2.96k
  yych = *(YYMARKER = ++YYCURSOR);
7686
2.96k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7687
598
    goto yy39;
7688
598
  }
7689
2.36k
  if (yych == '\\') goto yy132;
7690
2.36k
yy539:
7691
2.36k
  YYDEBUG(539, *YYCURSOR);
7692
2.36k
  yyleng = YYCURSOR - SCNG(yy_text);
7693
2.36k
#line 1543 "Zend/zend_language_scanner.l"
7694
2.36k
  {
7695
2.36k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7696
2.36k
}
7697
0
#line 7698 "Zend/zend_language_scanner.c"
7698
260k
yy540:
7699
260k
  YYDEBUG(540, *YYCURSOR);
7700
260k
  ++YYCURSOR;
7701
260k
  YYFILL(5);
7702
260k
  yych = *YYCURSOR;
7703
260k
  if (yych <= '"') {
7704
58.1k
    if (yych <= '\f') {
7705
55.1k
      if (yych <= 0x08) goto yy72;
7706
54.3k
      if (yych <= '\n') goto yy540;
7707
219
      goto yy72;
7708
54.3k
    } else {
7709
2.99k
      if (yych <= '\r') goto yy540;
7710
1.06k
      if (yych == ' ') goto yy540;
7711
497
      goto yy72;
7712
1.06k
    }
7713
202k
  } else {
7714
202k
    if (yych <= 'E') {
7715
190k
      if (yych <= '#') goto yy541;
7716
7.25k
      if (yych == '/') goto yy542;
7717
3.50k
      goto yy72;
7718
12.0k
    } else {
7719
12.0k
      if (yych <= 'F') goto yy606;
7720
10.1k
      if (yych == 'f') goto yy606;
7721
2.69k
      goto yy72;
7722
10.1k
    }
7723
202k
  }
7724
204k
yy541:
7725
204k
  YYDEBUG(541, *YYCURSOR);
7726
204k
  ++YYCURSOR;
7727
204k
  YYFILL(1);
7728
204k
  yych = *YYCURSOR;
7729
204k
  if (yych <= '\f') {
7730
17.3k
    if (yych <= 0x00) goto yy72;
7731
16.7k
    if (yych == '\n') goto yy608;
7732
2.10k
    goto yy607;
7733
186k
  } else {
7734
186k
    if (yych <= '\r') goto yy608;
7735
10.5k
    if (yych == '[') goto yy72;
7736
10.3k
    goto yy607;
7737
10.5k
  }
7738
4.41k
yy542:
7739
4.41k
  YYDEBUG(542, *YYCURSOR);
7740
4.41k
  ++YYCURSOR;
7741
4.41k
  YYFILL(1);
7742
4.41k
  yych = *YYCURSOR;
7743
4.41k
  if (yych == '*') goto yy609;
7744
2.74k
  if (yych == '/') goto yy607;
7745
2.12k
  goto yy72;
7746
4.16k
yy543:
7747
4.16k
  YYDEBUG(543, *YYCURSOR);
7748
4.16k
  yyaccept = 4;
7749
4.16k
  yych = *(YYMARKER = ++YYCURSOR);
7750
4.16k
  if (yych == 'S') goto yy610;
7751
3.79k
  if (yych == 's') goto yy610;
7752
502
  goto yy40;
7753
2.88k
yy544:
7754
2.88k
  YYDEBUG(544, *YYCURSOR);
7755
2.88k
  yyaccept = 4;
7756
2.88k
  yych = *(YYMARKER = ++YYCURSOR);
7757
2.88k
  if (yych == '_') goto yy611;
7758
397
  goto yy40;
7759
2.46k
yy545:
7760
2.46k
  YYDEBUG(545, *YYCURSOR);
7761
2.46k
  yyaccept = 4;
7762
2.46k
  yych = *(YYMARKER = ++YYCURSOR);
7763
2.46k
  if (yych == '_') goto yy613;
7764
365
  goto yy40;
7765
4.13k
yy546:
7766
4.13k
  YYDEBUG(546, *YYCURSOR);
7767
4.13k
  yyaccept = 4;
7768
4.13k
  yych = *(YYMARKER = ++YYCURSOR);
7769
4.13k
  if (yych == 'T') goto yy614;
7770
2.83k
  if (yych == 't') goto yy614;
7771
563
  goto yy40;
7772
4.11k
yy547:
7773
4.11k
  YYDEBUG(547, *YYCURSOR);
7774
4.11k
  yyaccept = 4;
7775
4.11k
  yych = *(YYMARKER = ++YYCURSOR);
7776
4.11k
  if (yych == '_') goto yy615;
7777
307
  goto yy40;
7778
2.44k
yy548:
7779
2.44k
  YYDEBUG(548, *YYCURSOR);
7780
2.44k
  yyaccept = 4;
7781
2.44k
  yych = *(YYMARKER = ++YYCURSOR);
7782
2.44k
  if (yych == '_') goto yy616;
7783
353
  goto yy40;
7784
4.05k
yy549:
7785
4.05k
  YYDEBUG(549, *YYCURSOR);
7786
4.05k
  yyaccept = 4;
7787
4.05k
  yych = *(YYMARKER = ++YYCURSOR);
7788
4.05k
  if (yych == 'O') goto yy617;
7789
3.32k
  if (yych == 'o') goto yy617;
7790
452
  goto yy40;
7791
3.89k
yy550:
7792
3.89k
  YYDEBUG(550, *YYCURSOR);
7793
3.89k
  yyaccept = 4;
7794
3.89k
  yych = *(YYMARKER = ++YYCURSOR);
7795
3.89k
  if (yych == 'S') goto yy618;
7796
3.51k
  if (yych == 's') goto yy618;
7797
435
  goto yy40;
7798
3.91k
yy551:
7799
3.91k
  YYDEBUG(551, *YYCURSOR);
7800
3.91k
  yyaccept = 4;
7801
3.91k
  yych = *(YYMARKER = ++YYCURSOR);
7802
3.91k
  if (yych == 'E') goto yy619;
7803
1.36k
  if (yych == 'e') goto yy619;
7804
380
  goto yy40;
7805
4.31k
yy552:
7806
4.31k
  YYDEBUG(552, *YYCURSOR);
7807
4.31k
  yyaccept = 4;
7808
4.31k
  yych = *(YYMARKER = ++YYCURSOR);
7809
4.31k
  if (yych == 'T') goto yy620;
7810
4.11k
  if (yych == 't') goto yy620;
7811
476
  goto yy40;
7812
23.7k
yy553:
7813
23.7k
  YYDEBUG(553, *YYCURSOR);
7814
23.7k
  ++YYCURSOR;
7815
23.7k
  YYFILL(1);
7816
23.7k
  yych = *YYCURSOR;
7817
23.7k
  if (yych <= '\r') {
7818
19.1k
    if (yych <= '\t') {
7819
613
      if (yych <= 0x00) goto yy72;
7820
290
      goto yy385;
7821
18.5k
    } else {
7822
18.5k
      if (yych <= '\n') goto yy621;
7823
9.67k
      if (yych <= '\f') goto yy385;
7824
9.43k
      goto yy621;
7825
9.67k
    }
7826
19.1k
  } else {
7827
4.61k
    if (yych <= '*') {
7828
2.10k
      if (yych <= ')') goto yy385;
7829
344
      goto yy482;
7830
2.50k
    } else {
7831
2.50k
      if (yych == '[') goto yy190;
7832
2.23k
      goto yy385;
7833
2.50k
    }
7834
4.61k
  }
7835
1.27k
yy554:
7836
1.27k
  YYDEBUG(554, *YYCURSOR);
7837
1.27k
  yyaccept = 26;
7838
1.27k
  YYMARKER = ++YYCURSOR;
7839
1.27k
  YYFILL(1);
7840
1.27k
  yych = *YYCURSOR;
7841
1.27k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 4) {
7842
798
    goto yy190;
7843
798
  }
7844
481
  if (yych <= 0x00) goto yy75;
7845
234
  goto yy300;
7846
1.67k
yy555:
7847
1.67k
  YYDEBUG(555, *YYCURSOR);
7848
1.67k
  ++YYCURSOR;
7849
1.67k
  YYFILL(1);
7850
1.67k
  yych = *YYCURSOR;
7851
1.67k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 64) {
7852
225
    goto yy300;
7853
225
  }
7854
1.45k
  if (yych <= 0x00) goto yy72;
7855
1.19k
  if (yych == '.') goto yy622;
7856
233
  goto yy190;
7857
3.85k
yy556:
7858
3.85k
  YYDEBUG(556, *YYCURSOR);
7859
3.85k
  ++YYCURSOR;
7860
3.85k
  YYFILL(1);
7861
3.85k
  yych = *YYCURSOR;
7862
3.85k
  if (yych <= '*') {
7863
2.60k
    if (yych <= 0x00) goto yy72;
7864
2.36k
    if (yych <= ')') goto yy190;
7865
2.10k
    goto yy623;
7866
2.36k
  } else {
7867
1.24k
    if (yych == '/') goto yy385;
7868
427
    goto yy190;
7869
1.24k
  }
7870
1.75k
yy557:
7871
1.75k
  YYDEBUG(557, *YYCURSOR);
7872
1.75k
  ++YYCURSOR;
7873
1.75k
  yyleng = YYCURSOR - SCNG(yy_text);
7874
1.75k
#line 1717 "Zend/zend_language_scanner.l"
7875
1.75k
  {
7876
1.75k
  RETURN_TOKEN(T_ARRAY_CAST);
7877
1.75k
}
7878
0
#line 7879 "Zend/zend_language_scanner.c"
7879
3.71k
yy558:
7880
3.71k
  YYDEBUG(558, *YYCURSOR);
7881
3.71k
  ++YYCURSOR;
7882
3.71k
  YYFILL(1);
7883
3.71k
  yych = *YYCURSOR;
7884
3.71k
  if (yych <= 0x1F) {
7885
1.00k
    if (yych == '\t') goto yy558;
7886
352
    goto yy72;
7887
2.70k
  } else {
7888
2.70k
    if (yych <= ' ') goto yy558;
7889
2.26k
    if (yych == ')') goto yy624;
7890
732
    goto yy72;
7891
2.26k
  }
7892
1.82k
yy559:
7893
1.82k
  YYDEBUG(559, *YYCURSOR);
7894
1.82k
  yych = *++YYCURSOR;
7895
1.82k
  if (yych == 'N') goto yy625;
7896
1.42k
  if (yych == 'n') goto yy625;
7897
285
  goto yy72;
7898
1.74k
yy560:
7899
1.74k
  YYDEBUG(560, *YYCURSOR);
7900
1.74k
  ++YYCURSOR;
7901
1.74k
  YYFILL(1);
7902
1.74k
  yych = *YYCURSOR;
7903
1.74k
  if (yych <= 0x1F) {
7904
538
    if (yych == '\t') goto yy560;
7905
333
    goto yy72;
7906
1.20k
  } else {
7907
1.20k
    if (yych <= ' ') goto yy560;
7908
969
    if (yych == ')') goto yy626;
7909
406
    goto yy72;
7910
969
  }
7911
2.08k
yy561:
7912
2.08k
  YYDEBUG(561, *YYCURSOR);
7913
2.08k
  ++YYCURSOR;
7914
2.08k
  yyleng = YYCURSOR - SCNG(yy_text);
7915
2.08k
#line 1681 "Zend/zend_language_scanner.l"
7916
2.08k
  {
7917
2.08k
  RETURN_TOKEN(T_DOUBLE_CAST);
7918
2.08k
}
7919
0
#line 7920 "Zend/zend_language_scanner.c"
7920
2.05k
yy562:
7921
2.05k
  YYDEBUG(562, *YYCURSOR);
7922
2.05k
  yych = *++YYCURSOR;
7923
2.05k
  if (yych == 'R') goto yy627;
7924
1.78k
  if (yych == 'r') goto yy627;
7925
318
  goto yy72;
7926
2.09k
yy563:
7927
2.09k
  YYDEBUG(563, *YYCURSOR);
7928
2.09k
  ++YYCURSOR;
7929
2.09k
  YYFILL(1);
7930
2.09k
  yych = *YYCURSOR;
7931
2.09k
  if (yych <= 0x1F) {
7932
658
    if (yych == '\t') goto yy563;
7933
284
    goto yy72;
7934
1.43k
  } else {
7935
1.43k
    if (yych <= ' ') goto yy563;
7936
1.04k
    if (yych == ')') goto yy628;
7937
638
    goto yy72;
7938
1.04k
  }
7939
3.77k
yy564:
7940
3.77k
  YYDEBUG(564, *YYCURSOR);
7941
3.77k
  ++YYCURSOR;
7942
3.77k
  YYFILL(1);
7943
3.77k
  yych = *YYCURSOR;
7944
3.77k
  if (yych <= 0x1F) {
7945
763
    if (yych == '\t') goto yy564;
7946
530
    goto yy72;
7947
3.01k
  } else {
7948
3.01k
    if (yych <= ' ') goto yy564;
7949
2.40k
    if (yych == ')') goto yy629;
7950
1.08k
    goto yy72;
7951
2.40k
  }
7952
623
yy565:
7953
623
  YYDEBUG(565, *YYCURSOR);
7954
623
  ++YYCURSOR;
7955
623
  yyleng = YYCURSOR - SCNG(yy_text);
7956
623
#line 1739 "Zend/zend_language_scanner.l"
7957
623
  {
7958
623
  RETURN_TOKEN(T_UNSET_CAST);
7959
623
}
7960
0
#line 7961 "Zend/zend_language_scanner.c"
7961
3.79k
yy566:
7962
3.79k
  YYDEBUG(566, *YYCURSOR);
7963
3.79k
  yyaccept = 4;
7964
3.79k
  yych = *(YYMARKER = ++YYCURSOR);
7965
3.79k
  if (yych == 'T') goto yy630;
7966
3.38k
  if (yych == 't') goto yy630;
7967
278
  goto yy40;
7968
2.02k
yy567:
7969
2.02k
  YYDEBUG(567, *YYCURSOR);
7970
2.02k
  yyaccept = 4;
7971
2.02k
  yych = *(YYMARKER = ++YYCURSOR);
7972
2.02k
  if (yych == 'E') goto yy632;
7973
1.48k
  if (yych == 'e') goto yy632;
7974
533
  goto yy40;
7975
3.72k
yy568:
7976
3.72k
  YYDEBUG(568, *YYCURSOR);
7977
3.72k
  yyaccept = 4;
7978
3.72k
  yych = *(YYMARKER = ++YYCURSOR);
7979
3.72k
  if (yych == 'E') goto yy634;
7980
3.15k
  if (yych == 'e') goto yy634;
7981
270
  goto yy40;
7982
4.81k
yy569:
7983
4.81k
  YYDEBUG(569, *YYCURSOR);
7984
4.81k
  yyaccept = 59;
7985
4.81k
  yych = *(YYMARKER = ++YYCURSOR);
7986
4.81k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
7987
434
    goto yy39;
7988
434
  }
7989
4.38k
  if (yych == '\\') goto yy132;
7990
4.37k
yy570:
7991
4.37k
  YYDEBUG(570, *YYCURSOR);
7992
4.37k
  yyleng = YYCURSOR - SCNG(yy_text);
7993
4.37k
#line 1527 "Zend/zend_language_scanner.l"
7994
4.37k
  {
7995
4.37k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7996
4.37k
}
7997
0
#line 7998 "Zend/zend_language_scanner.c"
7998
1.62k
yy571:
7999
1.62k
  YYDEBUG(571, *YYCURSOR);
8000
1.62k
  yyaccept = 60;
8001
1.62k
  yych = *(YYMARKER = ++YYCURSOR);
8002
1.62k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8003
318
    goto yy39;
8004
318
  }
8005
1.30k
  if (yych == '\\') goto yy132;
8006
1.25k
yy572:
8007
1.25k
  YYDEBUG(572, *YYCURSOR);
8008
1.25k
  yyleng = YYCURSOR - SCNG(yy_text);
8009
1.25k
#line 1559 "Zend/zend_language_scanner.l"
8010
1.25k
  {
8011
1.25k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
8012
1.25k
}
8013
0
#line 8014 "Zend/zend_language_scanner.c"
8014
1.99k
yy573:
8015
1.99k
  YYDEBUG(573, *YYCURSOR);
8016
1.99k
  yyaccept = 4;
8017
1.99k
  yych = *(YYMARKER = ++YYCURSOR);
8018
1.99k
  if (yych == 'A') goto yy636;
8019
1.49k
  if (yych == 'a') goto yy636;
8020
268
  goto yy40;
8021
2.49k
yy574:
8022
2.49k
  YYDEBUG(574, *YYCURSOR);
8023
2.49k
  yyaccept = 4;
8024
2.49k
  yych = *(YYMARKER = ++YYCURSOR);
8025
2.49k
  if (yych == 'A') goto yy637;
8026
1.85k
  if (yych == 'a') goto yy637;
8027
298
  goto yy40;
8028
1.85k
yy575:
8029
1.85k
  YYDEBUG(575, *YYCURSOR);
8030
1.85k
  yyaccept = 4;
8031
1.85k
  yych = *(YYMARKER = ++YYCURSOR);
8032
1.85k
  if (yych == 'C') goto yy638;
8033
1.61k
  if (yych == 'c') goto yy638;
8034
391
  goto yy40;
8035
1.45k
yy576:
8036
1.45k
  YYDEBUG(576, *YYCURSOR);
8037
1.45k
  yyaccept = 4;
8038
1.45k
  yych = *(YYMARKER = ++YYCURSOR);
8039
1.45k
  if (yych == 'E') goto yy639;
8040
1.20k
  if (yych == 'e') goto yy639;
8041
404
  goto yy40;
8042
2.57k
yy577:
8043
2.57k
  YYDEBUG(577, *YYCURSOR);
8044
2.57k
  yych = *++YYCURSOR;
8045
2.57k
  if (yych == 'T') goto yy641;
8046
2.17k
  if (yych == 't') goto yy641;
8047
416
  goto yy72;
8048
3.44k
yy578:
8049
3.44k
  YYDEBUG(578, *YYCURSOR);
8050
3.44k
  yych = *++YYCURSOR;
8051
3.44k
  if (yych == 'P') goto yy642;
8052
2.79k
  if (yych == 'p') goto yy642;
8053
430
  goto yy72;
8054
17.1k
yy579:
8055
17.1k
  YYDEBUG(579, *YYCURSOR);
8056
17.1k
  ++YYCURSOR;
8057
17.1k
  YYFILL(1);
8058
17.1k
  yych = *YYCURSOR;
8059
17.1k
  if (yych <= '\n') {
8060
10.6k
    if (yych <= 0x00) goto yy72;
8061
10.3k
    if (yych <= '\t') goto yy513;
8062
9.80k
    goto yy514;
8063
10.3k
  } else {
8064
6.54k
    if (yych == '\r') goto yy514;
8065
2.14k
    goto yy513;
8066
6.54k
  }
8067
57.3k
yy580:
8068
57.3k
  YYDEBUG(580, *YYCURSOR);
8069
57.3k
  ++YYCURSOR;
8070
57.3k
  YYFILL(1);
8071
57.3k
  yych = *YYCURSOR;
8072
57.3k
  if (yych <= '\f') {
8073
1.14k
    if (yych <= 0x00) goto yy72;
8074
927
    if (yych == '\n') goto yy432;
8075
469
    goto yy513;
8076
56.1k
  } else {
8077
56.1k
    if (yych <= '\r') goto yy432;
8078
54.4k
    if (yych == '*') goto yy643;
8079
6.73k
    goto yy513;
8080
54.4k
  }
8081
20.0k
yy581:
8082
20.0k
  YYDEBUG(581, *YYCURSOR);
8083
20.0k
  yyaccept = 53;
8084
20.0k
  YYMARKER = ++YYCURSOR;
8085
20.0k
  YYFILL(1);
8086
20.0k
  yych = *YYCURSOR;
8087
20.0k
  if (yych <= '\n') {
8088
3.13k
    if (yych <= 0x00) goto yy510;
8089
2.68k
    if (yych <= '\t') goto yy513;
8090
904
    goto yy432;
8091
16.8k
  } else {
8092
16.8k
    if (yych == '\r') goto yy432;
8093
15.6k
    goto yy513;
8094
16.8k
  }
8095
233k
yy582:
8096
233k
  YYDEBUG(582, *YYCURSOR);
8097
233k
  yyaccept = 53;
8098
233k
  YYMARKER = ++YYCURSOR;
8099
233k
  YYFILL(1);
8100
233k
  yych = *YYCURSOR;
8101
233k
  if (yych <= '\r') {
8102
38.6k
    if (yych <= '\t') {
8103
28.0k
      if (yych <= 0x00) goto yy510;
8104
27.7k
      goto yy513;
8105
28.0k
    } else {
8106
10.6k
      if (yych <= '\n') goto yy432;
8107
9.98k
      if (yych <= '\f') goto yy513;
8108
2.01k
      goto yy432;
8109
9.98k
    }
8110
195k
  } else {
8111
195k
    if (yych <= 'X') {
8112
127k
      if (yych <= 'W') goto yy513;
8113
1.88k
      goto yy644;
8114
127k
    } else {
8115
67.4k
      if (yych == 'x') goto yy644;
8116
56.1k
      goto yy513;
8117
67.4k
    }
8118
195k
  }
8119
21.5k
yy583:
8120
21.5k
  YYDEBUG(583, *YYCURSOR);
8121
21.5k
  yyaccept = 53;
8122
21.5k
  YYMARKER = ++YYCURSOR;
8123
21.5k
  YYFILL(1);
8124
21.5k
  yych = *YYCURSOR;
8125
21.5k
  if (yych <= '\r') {
8126
1.54k
    if (yych <= '\t') {
8127
863
      if (yych <= 0x00) goto yy510;
8128
303
      goto yy513;
8129
863
    } else {
8130
682
      if (yych <= '\n') goto yy432;
8131
459
      if (yych <= '\f') goto yy513;
8132
252
      goto yy432;
8133
459
    }
8134
20.0k
  } else {
8135
20.0k
    if (yych <= 'M') {
8136
4.40k
      if (yych <= 'L') goto yy513;
8137
3.91k
      goto yy645;
8138
15.6k
    } else {
8139
15.6k
      if (yych == 'm') goto yy645;
8140
817
      goto yy513;
8141
15.6k
    }
8142
20.0k
  }
8143
16.9k
yy584:
8144
16.9k
  YYDEBUG(584, *YYCURSOR);
8145
16.9k
  ++YYCURSOR;
8146
16.9k
  YYFILL(1);
8147
16.9k
  yych = *YYCURSOR;
8148
16.9k
  if (yych <= '*') {
8149
10.7k
    if (yych <= 0x00) goto yy72;
8150
9.71k
    if (yych <= ')') goto yy515;
8151
6.49k
    goto yy584;
8152
9.71k
  } else {
8153
6.16k
    if (yych == '/') goto yy432;
8154
3.87k
    goto yy515;
8155
6.16k
  }
8156
10.9k
yy585:
8157
10.9k
  YYDEBUG(585, *YYCURSOR);
8158
10.9k
  yyaccept = 61;
8159
10.9k
  yych = *(YYMARKER = ++YYCURSOR);
8160
10.9k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8161
499
    goto yy39;
8162
499
  }
8163
10.4k
  if (yych == '\\') goto yy132;
8164
10.4k
yy586:
8165
10.4k
  YYDEBUG(586, *YYCURSOR);
8166
10.4k
  yyleng = YYCURSOR - SCNG(yy_text);
8167
10.4k
#line 1608 "Zend/zend_language_scanner.l"
8168
10.4k
  {
8169
10.4k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
8170
10.4k
}
8171
0
#line 8172 "Zend/zend_language_scanner.c"
8172
3.06k
yy587:
8173
3.06k
  YYDEBUG(587, *YYCURSOR);
8174
3.06k
  yyaccept = 62;
8175
3.06k
  yych = *(YYMARKER = ++YYCURSOR);
8176
3.06k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8177
350
    goto yy39;
8178
350
  }
8179
2.71k
  if (yych == '\\') goto yy132;
8180
2.68k
yy588:
8181
2.68k
  YYDEBUG(588, *YYCURSOR);
8182
2.68k
  yyleng = YYCURSOR - SCNG(yy_text);
8183
2.68k
#line 1475 "Zend/zend_language_scanner.l"
8184
2.68k
  {
8185
2.68k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8186
2.68k
}
8187
0
#line 8188 "Zend/zend_language_scanner.c"
8188
4.34k
yy589:
8189
4.34k
  YYDEBUG(589, *YYCURSOR);
8190
4.34k
  yyaccept = 63;
8191
4.34k
  yych = *(YYMARKER = ++YYCURSOR);
8192
4.34k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8193
484
    goto yy39;
8194
484
  }
8195
3.86k
  if (yych == '\\') goto yy132;
8196
3.85k
yy590:
8197
3.85k
  YYDEBUG(590, *YYCURSOR);
8198
3.85k
  yyleng = YYCURSOR - SCNG(yy_text);
8199
3.85k
#line 1519 "Zend/zend_language_scanner.l"
8200
3.85k
  {
8201
3.85k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8202
3.85k
}
8203
0
#line 8204 "Zend/zend_language_scanner.c"
8204
34.1k
yy591:
8205
34.1k
  YYDEBUG(591, *YYCURSOR);
8206
34.1k
  yyaccept = 4;
8207
34.1k
  yych = *(YYMARKER = ++YYCURSOR);
8208
34.1k
  if (yych == 'N') goto yy646;
8209
33.8k
  if (yych == 'n') goto yy646;
8210
410
  goto yy40;
8211
4.43k
yy592:
8212
4.43k
  YYDEBUG(592, *YYCURSOR);
8213
4.43k
  yyaccept = 4;
8214
4.43k
  yych = *(YYMARKER = ++YYCURSOR);
8215
4.43k
  if (yych == 'N') goto yy648;
8216
3.80k
  if (yych == 'n') goto yy648;
8217
928
  goto yy40;
8218
6.08k
yy593:
8219
6.08k
  YYDEBUG(593, *YYCURSOR);
8220
6.08k
  yyaccept = 64;
8221
6.08k
  yych = *(YYMARKER = ++YYCURSOR);
8222
6.08k
  if (yych <= '\\') {
8223
2.30k
    if (yych <= '@') {
8224
1.46k
      if (yych <= '/') goto yy594;
8225
795
      if (yych <= '9') goto yy39;
8226
834
    } else {
8227
834
      if (yych <= 'Z') goto yy39;
8228
498
      if (yych >= '\\') goto yy132;
8229
498
    }
8230
3.78k
  } else {
8231
3.78k
    if (yych <= '`') {
8232
2.93k
      if (yych == '_') goto yy649;
8233
2.93k
    } else {
8234
843
      if (yych <= 'z') goto yy39;
8235
563
      if (yych >= 0x80) goto yy39;
8236
563
    }
8237
3.78k
  }
8238
2.17k
yy594:
8239
2.17k
  YYDEBUG(594, *YYCURSOR);
8240
2.17k
  yyleng = YYCURSOR - SCNG(yy_text);
8241
2.17k
#line 1751 "Zend/zend_language_scanner.l"
8242
2.17k
  {
8243
2.17k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8244
2.17k
}
8245
0
#line 8246 "Zend/zend_language_scanner.c"
8246
2.50k
yy595:
8247
2.50k
  YYDEBUG(595, *YYCURSOR);
8248
2.50k
  yyaccept = 4;
8249
2.50k
  yych = *(YYMARKER = ++YYCURSOR);
8250
2.50k
  if (yych == 'E') goto yy650;
8251
2.08k
  if (yych == 'e') goto yy650;
8252
325
  goto yy40;
8253
3.42k
yy596:
8254
3.42k
  YYDEBUG(596, *YYCURSOR);
8255
3.42k
  yyaccept = 4;
8256
3.42k
  yych = *(YYMARKER = ++YYCURSOR);
8257
3.42k
  if (yych == 'O') goto yy651;
8258
3.09k
  if (yych == 'o') goto yy651;
8259
456
  goto yy40;
8260
4.60k
yy597:
8261
4.60k
  YYDEBUG(597, *YYCURSOR);
8262
4.60k
  yyaccept = 4;
8263
4.60k
  yych = *(YYMARKER = ++YYCURSOR);
8264
4.60k
  if (yych == 'C') goto yy652;
8265
4.01k
  if (yych == 'c') goto yy652;
8266
337
  goto yy40;
8267
12.5k
yy598:
8268
12.5k
  YYDEBUG(598, *YYCURSOR);
8269
12.5k
  yyaccept = 4;
8270
12.5k
  yych = *(YYMARKER = ++YYCURSOR);
8271
12.5k
  if (yych == 'C') goto yy653;
8272
11.6k
  if (yych == 'c') goto yy653;
8273
490
  goto yy40;
8274
5.61k
yy599:
8275
5.61k
  YYDEBUG(599, *YYCURSOR);
8276
5.61k
  yyaccept = 65;
8277
5.61k
  yych = *(YYMARKER = ++YYCURSOR);
8278
5.61k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8279
694
    goto yy39;
8280
694
  }
8281
4.92k
  if (yych == '(') goto yy654;
8282
3.26k
  if (yych == '\\') goto yy132;
8283
4.35k
yy600:
8284
4.35k
  YYDEBUG(600, *YYCURSOR);
8285
4.35k
  yyleng = YYCURSOR - SCNG(yy_text);
8286
4.35k
#line 1807 "Zend/zend_language_scanner.l"
8287
4.35k
  {
8288
4.35k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8289
4.35k
}
8290
0
#line 8291 "Zend/zend_language_scanner.c"
8291
5.49k
yy601:
8292
5.49k
  YYDEBUG(601, *YYCURSOR);
8293
5.49k
  yyaccept = 4;
8294
5.49k
  yych = *(YYMARKER = ++YYCURSOR);
8295
5.49k
  if (yych == 'E') goto yy655;
8296
5.06k
  if (yych == 'e') goto yy655;
8297
481
  goto yy40;
8298
2.58k
yy602:
8299
2.58k
  YYDEBUG(602, *YYCURSOR);
8300
2.58k
  yych = *++YYCURSOR;
8301
2.58k
  if (yych == 'S') goto yy656;
8302
1.37k
  if (yych == 's') goto yy656;
8303
339
  goto yy72;
8304
2.76k
yy603:
8305
2.76k
  YYDEBUG(603, *YYCURSOR);
8306
2.76k
  yyaccept = 4;
8307
2.76k
  yych = *(YYMARKER = ++YYCURSOR);
8308
2.76k
  if (yych == 'Y') goto yy657;
8309
2.55k
  if (yych == 'y') goto yy657;
8310
685
  goto yy40;
8311
6.55k
yy604:
8312
6.55k
  YYDEBUG(604, *YYCURSOR);
8313
6.55k
  yyaccept = 66;
8314
6.55k
  yych = *(YYMARKER = ++YYCURSOR);
8315
6.55k
  if (yych <= '\\') {
8316
2.74k
    if (yych <= '@') {
8317
2.01k
      if (yych <= '/') goto yy605;
8318
1.07k
      if (yych <= '9') goto yy39;
8319
1.07k
    } else {
8320
737
      if (yych <= 'Z') goto yy39;
8321
471
      if (yych >= '\\') goto yy132;
8322
471
    }
8323
3.80k
  } else {
8324
3.80k
    if (yych <= '`') {
8325
3.03k
      if (yych == '_') goto yy659;
8326
3.03k
    } else {
8327
775
      if (yych <= 'z') goto yy39;
8328
449
      if (yych >= 0x80) goto yy39;
8329
449
    }
8330
3.80k
  }
8331
2.26k
yy605:
8332
2.26k
  YYDEBUG(605, *YYCURSOR);
8333
2.26k
  yyleng = YYCURSOR - SCNG(yy_text);
8334
2.26k
#line 1759 "Zend/zend_language_scanner.l"
8335
2.26k
  {
8336
2.26k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8337
2.26k
}
8338
0
#line 8339 "Zend/zend_language_scanner.c"
8339
9.84k
yy606:
8340
9.84k
  YYDEBUG(606, *YYCURSOR);
8341
9.84k
  yych = *++YYCURSOR;
8342
9.84k
  if (yych == 'R') goto yy660;
8343
8.28k
  if (yych == 'r') goto yy660;
8344
5.90k
  goto yy72;
8345
991k
yy607:
8346
991k
  YYDEBUG(607, *YYCURSOR);
8347
991k
  ++YYCURSOR;
8348
991k
  YYFILL(1);
8349
991k
  yych = *YYCURSOR;
8350
991k
  if (yych <= '\n') {
8351
157k
    if (yych <= 0x00) goto yy72;
8352
154k
    if (yych <= '\t') goto yy607;
8353
150k
    goto yy540;
8354
834k
  } else {
8355
834k
    if (yych == '\r') goto yy540;
8356
822k
    goto yy607;
8357
834k
  }
8358
197k
yy608:
8359
197k
  YYDEBUG(608, *YYCURSOR);
8360
197k
  ++YYCURSOR;
8361
197k
  YYFILL(1);
8362
197k
  yych = *YYCURSOR;
8363
197k
  if (yych <= ' ') {
8364
5.13k
    if (yych <= '\n') {
8365
3.63k
      if (yych <= 0x00) goto yy72;
8366
3.14k
      if (yych <= 0x08) goto yy607;
8367
2.52k
      if (yych <= '\t') goto yy608;
8368
1.48k
      goto yy540;
8369
2.52k
    } else {
8370
1.49k
      if (yych == '\r') goto yy540;
8371
884
      if (yych <= 0x1F) goto yy607;
8372
482
      goto yy608;
8373
884
    }
8374
192k
  } else {
8375
192k
    if (yych <= '/') {
8376
147k
      if (yych == '#') goto yy661;
8377
142k
      if (yych <= '.') goto yy607;
8378
131k
      goto yy662;
8379
142k
    } else {
8380
44.3k
      if (yych <= 'F') {
8381
23.4k
        if (yych <= 'E') goto yy607;
8382
14.8k
        goto yy663;
8383
23.4k
      } else {
8384
20.9k
        if (yych == 'f') goto yy663;
8385
19.4k
        goto yy607;
8386
20.9k
      }
8387
44.3k
    }
8388
192k
  }
8389
626k
yy609:
8390
626k
  YYDEBUG(609, *YYCURSOR);
8391
626k
  ++YYCURSOR;
8392
626k
  YYFILL(1);
8393
626k
  yych = *YYCURSOR;
8394
626k
  if (yych <= 0x00) goto yy72;
8395
611k
  if (yych == '*') goto yy664;
8396
594k
  goto yy609;
8397
594k
yy610:
8398
3.66k
  YYDEBUG(610, *YYCURSOR);
8399
3.66k
  yyaccept = 4;
8400
3.66k
  yych = *(YYMARKER = ++YYCURSOR);
8401
3.66k
  if (yych == '_') goto yy665;
8402
382
  goto yy40;
8403
2.48k
yy611:
8404
2.48k
  YYDEBUG(611, *YYCURSOR);
8405
2.48k
  yyaccept = 67;
8406
2.48k
  yych = *(YYMARKER = ++YYCURSOR);
8407
2.48k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8408
460
    goto yy39;
8409
460
  }
8410
2.02k
  if (yych == '\\') goto yy132;
8411
1.88k
yy612:
8412
1.88k
  YYDEBUG(612, *YYCURSOR);
8413
1.88k
  yyleng = YYCURSOR - SCNG(yy_text);
8414
1.88k
#line 2310 "Zend/zend_language_scanner.l"
8415
1.88k
  {
8416
1.88k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8417
1.88k
}
8418
0
#line 8419 "Zend/zend_language_scanner.c"
8419
2.10k
yy613:
8420
2.10k
  YYDEBUG(613, *YYCURSOR);
8421
2.10k
  yyaccept = 4;
8422
2.10k
  yych = *(YYMARKER = ++YYCURSOR);
8423
2.10k
  if (yych == '_') goto yy666;
8424
369
  goto yy40;
8425
3.57k
yy614:
8426
3.57k
  YYDEBUG(614, *YYCURSOR);
8427
3.57k
  yyaccept = 4;
8428
3.57k
  yych = *(YYMARKER = ++YYCURSOR);
8429
3.57k
  if (yych == 'I') goto yy668;
8430
3.00k
  if (yych == 'i') goto yy668;
8431
393
  goto yy40;
8432
3.80k
yy615:
8433
3.80k
  YYDEBUG(615, *YYCURSOR);
8434
3.80k
  yyaccept = 4;
8435
3.80k
  yych = *(YYMARKER = ++YYCURSOR);
8436
3.80k
  if (yych == 'C') goto yy669;
8437
2.13k
  if (yych == 'c') goto yy669;
8438
257
  goto yy40;
8439
2.09k
yy616:
8440
2.09k
  YYDEBUG(616, *YYCURSOR);
8441
2.09k
  yyaccept = 4;
8442
2.09k
  yych = *(YYMARKER = ++YYCURSOR);
8443
2.09k
  if (yych == '_') goto yy670;
8444
373
  goto yy40;
8445
3.59k
yy617:
8446
3.59k
  YYDEBUG(617, *YYCURSOR);
8447
3.59k
  yyaccept = 4;
8448
3.59k
  yych = *(YYMARKER = ++YYCURSOR);
8449
3.59k
  if (yych == 'D') goto yy672;
8450
2.89k
  if (yych == 'd') goto yy672;
8451
321
  goto yy40;
8452
3.45k
yy618:
8453
3.45k
  YYDEBUG(618, *YYCURSOR);
8454
3.45k
  yyaccept = 4;
8455
3.45k
  yych = *(YYMARKER = ++YYCURSOR);
8456
3.45k
  if (yych == 'P') goto yy673;
8457
3.15k
  if (yych == 'p') goto yy673;
8458
297
  goto yy40;
8459
3.53k
yy619:
8460
3.53k
  YYDEBUG(619, *YYCURSOR);
8461
3.53k
  yyaccept = 4;
8462
3.53k
  yych = *(YYMARKER = ++YYCURSOR);
8463
3.53k
  if (yych == 'R') goto yy674;
8464
1.95k
  if (yych == 'r') goto yy674;
8465
461
  goto yy40;
8466
3.83k
yy620:
8467
3.83k
  YYDEBUG(620, *YYCURSOR);
8468
3.83k
  yyaccept = 4;
8469
3.83k
  yych = *(YYMARKER = ++YYCURSOR);
8470
3.83k
  if (yych == '_') goto yy675;
8471
928
  goto yy40;
8472
21.9k
yy621:
8473
21.9k
  YYDEBUG(621, *YYCURSOR);
8474
21.9k
  ++YYCURSOR;
8475
21.9k
  YYFILL(1);
8476
21.9k
  yych = *YYCURSOR;
8477
21.9k
  if (yych <= ' ') {
8478
2.13k
    if (yych <= '\n') {
8479
1.11k
      if (yych <= 0x00) goto yy72;
8480
858
      if (yych <= 0x08) goto yy385;
8481
615
      if (yych <= '\t') goto yy621;
8482
309
      goto yy481;
8483
1.01k
    } else {
8484
1.01k
      if (yych == '\r') goto yy481;
8485
622
      if (yych <= 0x1F) goto yy385;
8486
292
      goto yy621;
8487
622
    }
8488
19.8k
  } else {
8489
19.8k
    if (yych <= ')') {
8490
5.94k
      if (yych <= '"') goto yy385;
8491
5.53k
      if (yych <= '#') goto yy676;
8492
2.22k
      if (yych <= '$') goto yy677;
8493
1.14k
      goto yy385;
8494
13.8k
    } else {
8495
13.8k
      if (yych <= '-') {
8496
927
        if (yych <= '*') goto yy482;
8497
386
        goto yy385;
8498
12.9k
      } else {
8499
12.9k
        if (yych <= '.') goto yy678;
8500
7.92k
        if (yych <= '/') goto yy679;
8501
1.91k
        goto yy385;
8502
7.92k
      }
8503
13.8k
    }
8504
19.8k
  }
8505
965
yy622:
8506
965
  YYDEBUG(622, *YYCURSOR);
8507
965
  ++YYCURSOR;
8508
965
  YYFILL(1);
8509
965
  yych = *YYCURSOR;
8510
965
  if (yybm_ST_IN_SCRIPTING[0+yych] & 64) {
8511
220
    goto yy300;
8512
220
  }
8513
745
  if (yych <= 0x00) goto yy72;
8514
547
  if (yych == '.') goto yy554;
8515
217
  goto yy190;
8516
2.10k
yy623:
8517
2.10k
  YYDEBUG(623, *YYCURSOR);
8518
2.10k
  ++YYCURSOR;
8519
2.10k
  YYFILL(1);
8520
2.10k
  yych = *YYCURSOR;
8521
2.10k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 64) {
8522
227
    goto yy300;
8523
227
  }
8524
1.87k
  if (yych <= 0x00) goto yy72;
8525
1.65k
  if (yych == '/') goto yy481;
8526
329
  goto yy190;
8527
1.53k
yy624:
8528
1.53k
  YYDEBUG(624, *YYCURSOR);
8529
1.53k
  ++YYCURSOR;
8530
1.53k
  yyleng = YYCURSOR - SCNG(yy_text);
8531
1.53k
#line 1707 "Zend/zend_language_scanner.l"
8532
1.53k
  {
8533
1.53k
  if (PARSER_MODE()) {
8534
142
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8535
142
    if (EG(exception)) {
8536
0
      RETURN_TOKEN(T_ERROR);
8537
0
    }
8538
142
  }
8539
1.53k
  RETURN_TOKEN(T_STRING_CAST);
8540
1.53k
}
8541
0
#line 8542 "Zend/zend_language_scanner.c"
8542
1.98k
yy625:
8543
1.98k
  YYDEBUG(625, *YYCURSOR);
8544
1.98k
  ++YYCURSOR;
8545
1.98k
  YYFILL(1);
8546
1.98k
  yych = *YYCURSOR;
8547
1.98k
  if (yych <= 0x1F) {
8548
447
    if (yych == '\t') goto yy625;
8549
250
    goto yy72;
8550
1.53k
  } else {
8551
1.53k
    if (yych <= ' ') goto yy625;
8552
1.29k
    if (yych == ')') goto yy680;
8553
426
    goto yy72;
8554
1.29k
  }
8555
563
yy626:
8556
563
  YYDEBUG(626, *YYCURSOR);
8557
563
  ++YYCURSOR;
8558
563
  yyleng = YYCURSOR - SCNG(yy_text);
8559
563
#line 1685 "Zend/zend_language_scanner.l"
8560
563
  {
8561
563
  if (PARSER_MODE()) {
8562
244
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8563
244
    if (EG(exception)) {
8564
0
      RETURN_TOKEN(T_ERROR);
8565
0
    }
8566
244
  }
8567
563
  RETURN_TOKEN(T_DOUBLE_CAST);
8568
563
}
8569
0
#line 8570 "Zend/zend_language_scanner.c"
8570
2.25k
yy627:
8571
2.25k
  YYDEBUG(627, *YYCURSOR);
8572
2.25k
  ++YYCURSOR;
8573
2.25k
  YYFILL(1);
8574
2.25k
  yych = *YYCURSOR;
8575
2.25k
  if (yych <= 0x1F) {
8576
644
    if (yych == '\t') goto yy627;
8577
392
    goto yy72;
8578
1.60k
  } else {
8579
1.60k
    if (yych <= ' ') goto yy627;
8580
1.34k
    if (yych == ')') goto yy681;
8581
518
    goto yy72;
8582
1.34k
  }
8583
410
yy628:
8584
410
  YYDEBUG(628, *YYCURSOR);
8585
410
  ++YYCURSOR;
8586
410
  yyleng = YYCURSOR - SCNG(yy_text);
8587
410
#line 1721 "Zend/zend_language_scanner.l"
8588
410
  {
8589
410
  RETURN_TOKEN(T_OBJECT_CAST);
8590
410
}
8591
0
#line 8592 "Zend/zend_language_scanner.c"
8592
1.32k
yy629:
8593
1.32k
  YYDEBUG(629, *YYCURSOR);
8594
1.32k
  ++YYCURSOR;
8595
1.32k
  yyleng = YYCURSOR - SCNG(yy_text);
8596
1.32k
#line 1703 "Zend/zend_language_scanner.l"
8597
1.32k
  {
8598
1.32k
  RETURN_TOKEN(T_STRING_CAST);
8599
1.32k
}
8600
0
#line 8601 "Zend/zend_language_scanner.c"
8601
3.51k
yy630:
8602
3.51k
  YYDEBUG(630, *YYCURSOR);
8603
3.51k
  yyaccept = 68;
8604
3.51k
  yych = *(YYMARKER = ++YYCURSOR);
8605
3.51k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8606
1.05k
    goto yy39;
8607
1.05k
  }
8608
2.45k
  if (yych == '\\') goto yy132;
8609
2.45k
yy631:
8610
2.45k
  YYDEBUG(631, *YYCURSOR);
8611
2.45k
  yyleng = YYCURSOR - SCNG(yy_text);
8612
2.45k
#line 1799 "Zend/zend_language_scanner.l"
8613
2.45k
  {
8614
2.45k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8615
2.45k
}
8616
0
#line 8617 "Zend/zend_language_scanner.c"
8617
1.49k
yy632:
8618
1.49k
  YYDEBUG(632, *YYCURSOR);
8619
1.49k
  yyaccept = 69;
8620
1.49k
  yych = *(YYMARKER = ++YYCURSOR);
8621
1.49k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8622
289
    goto yy39;
8623
289
  }
8624
1.20k
  if (yych == '\\') goto yy132;
8625
1.20k
yy633:
8626
1.20k
  YYDEBUG(633, *YYCURSOR);
8627
1.20k
  yyleng = YYCURSOR - SCNG(yy_text);
8628
1.20k
#line 1851 "Zend/zend_language_scanner.l"
8629
1.20k
  {
8630
1.20k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8631
1.20k
}
8632
0
#line 8633 "Zend/zend_language_scanner.c"
8633
3.45k
yy634:
8634
3.45k
  YYDEBUG(634, *YYCURSOR);
8635
3.45k
  yyaccept = 70;
8636
3.45k
  yych = *(YYMARKER = ++YYCURSOR);
8637
3.45k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8638
293
    goto yy39;
8639
293
  }
8640
3.15k
  if (yych == '\\') goto yy132;
8641
3.15k
yy635:
8642
3.15k
  YYDEBUG(635, *YYCURSOR);
8643
3.15k
  yyleng = YYCURSOR - SCNG(yy_text);
8644
3.15k
#line 1567 "Zend/zend_language_scanner.l"
8645
3.15k
  {
8646
3.15k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8647
3.15k
}
8648
0
#line 8649 "Zend/zend_language_scanner.c"
8649
1.72k
yy636:
8650
1.72k
  YYDEBUG(636, *YYCURSOR);
8651
1.72k
  yyaccept = 4;
8652
1.72k
  yych = *(YYMARKER = ++YYCURSOR);
8653
1.72k
  if (yych == 'R') goto yy682;
8654
1.37k
  if (yych == 'r') goto yy682;
8655
417
  goto yy40;
8656
2.20k
yy637:
8657
2.20k
  YYDEBUG(637, *YYCURSOR);
8658
2.20k
  yyaccept = 4;
8659
2.20k
  yych = *(YYMARKER = ++YYCURSOR);
8660
2.20k
  if (yych == 'C') goto yy683;
8661
1.60k
  if (yych == 'c') goto yy683;
8662
250
  goto yy40;
8663
1.46k
yy638:
8664
1.46k
  YYDEBUG(638, *YYCURSOR);
8665
1.46k
  yyaccept = 4;
8666
1.46k
  yych = *(YYMARKER = ++YYCURSOR);
8667
1.46k
  if (yych == 'H') goto yy684;
8668
1.25k
  if (yych == 'h') goto yy684;
8669
525
  goto yy40;
8670
1.04k
yy639:
8671
1.04k
  YYDEBUG(639, *YYCURSOR);
8672
1.04k
  yyaccept = 71;
8673
1.04k
  yych = *(YYMARKER = ++YYCURSOR);
8674
1.04k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8675
280
    goto yy39;
8676
280
  }
8677
769
  if (yych == '\\') goto yy132;
8678
753
yy640:
8679
753
  YYDEBUG(640, *YYCURSOR);
8680
753
  yyleng = YYCURSOR - SCNG(yy_text);
8681
753
#line 1503 "Zend/zend_language_scanner.l"
8682
753
  {
8683
753
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8684
753
}
8685
0
#line 8686 "Zend/zend_language_scanner.c"
8686
2.15k
yy641:
8687
2.15k
  YYDEBUG(641, *YYCURSOR);
8688
2.15k
  yych = *++YYCURSOR;
8689
2.15k
  if (yych == 'E') goto yy686;
8690
1.88k
  if (yych == 'e') goto yy686;
8691
225
  goto yy72;
8692
3.01k
yy642:
8693
3.01k
  YYDEBUG(642, *YYCURSOR);
8694
3.01k
  yych = *++YYCURSOR;
8695
3.01k
  if (yych == 'L') goto yy687;
8696
2.41k
  if (yych == 'l') goto yy687;
8697
383
  goto yy72;
8698
432k
yy643:
8699
432k
  YYDEBUG(643, *YYCURSOR);
8700
432k
  ++YYCURSOR;
8701
432k
  YYFILL(1);
8702
432k
  yych = *YYCURSOR;
8703
432k
  if (yych <= '\f') {
8704
40.9k
    if (yych <= 0x00) goto yy72;
8705
31.4k
    if (yych == '\n') goto yy688;
8706
8.41k
    goto yy643;
8707
391k
  } else {
8708
391k
    if (yych <= '\r') goto yy688;
8709
320k
    if (yych == '*') goto yy689;
8710
313k
    goto yy643;
8711
320k
  }
8712
13.1k
yy644:
8713
13.1k
  YYDEBUG(644, *YYCURSOR);
8714
13.1k
  ++YYCURSOR;
8715
13.1k
  YYFILL(1);
8716
13.1k
  yych = *YYCURSOR;
8717
13.1k
  if (yych <= '\r') {
8718
1.19k
    if (yych <= '\t') {
8719
411
      if (yych <= 0x00) goto yy72;
8720
202
      goto yy513;
8721
786
    } else {
8722
786
      if (yych <= '\n') goto yy432;
8723
512
      if (yych <= '\f') goto yy513;
8724
300
      goto yy432;
8725
512
    }
8726
11.9k
  } else {
8727
11.9k
    if (yych <= 'T') {
8728
1.72k
      if (yych <= 'S') goto yy513;
8729
966
      goto yy690;
8730
10.2k
    } else {
8731
10.2k
      if (yych == 't') goto yy690;
8732
566
      goto yy513;
8733
10.2k
    }
8734
11.9k
  }
8735
18.7k
yy645:
8736
18.7k
  YYDEBUG(645, *YYCURSOR);
8737
18.7k
  ++YYCURSOR;
8738
18.7k
  YYFILL(1);
8739
18.7k
  yych = *YYCURSOR;
8740
18.7k
  if (yych <= '\r') {
8741
2.62k
    if (yych <= '\t') {
8742
617
      if (yych <= 0x00) goto yy72;
8743
213
      goto yy513;
8744
2.01k
    } else {
8745
2.01k
      if (yych <= '\n') goto yy432;
8746
1.78k
      if (yych <= '\f') goto yy513;
8747
1.57k
      goto yy432;
8748
1.78k
    }
8749
16.0k
  } else {
8750
16.0k
    if (yych <= 'P') {
8751
3.01k
      if (yych <= 'O') goto yy513;
8752
2.52k
      goto yy691;
8753
13.0k
    } else {
8754
13.0k
      if (yych == 'p') goto yy691;
8755
489
      goto yy513;
8756
13.0k
    }
8757
16.0k
  }
8758
33.7k
yy646:
8759
33.7k
  YYDEBUG(646, *YYCURSOR);
8760
33.7k
  yyaccept = 72;
8761
33.7k
  yych = *(YYMARKER = ++YYCURSOR);
8762
33.7k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8763
580
    goto yy39;
8764
580
  }
8765
33.1k
  if (yych == '\\') goto yy132;
8766
33.1k
yy647:
8767
33.1k
  YYDEBUG(647, *YYCURSOR);
8768
33.1k
  yyleng = YYCURSOR - SCNG(yy_text);
8769
33.1k
#line 1440 "Zend/zend_language_scanner.l"
8770
33.1k
  {
8771
33.1k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8772
33.1k
}
8773
0
#line 8774 "Zend/zend_language_scanner.c"
8774
3.50k
yy648:
8775
3.50k
  YYDEBUG(648, *YYCURSOR);
8776
3.50k
  yyaccept = 4;
8777
3.50k
  yych = *(YYMARKER = ++YYCURSOR);
8778
3.50k
  if (yych == 'T') goto yy692;
8779
3.09k
  if (yych == 't') goto yy692;
8780
794
  goto yy40;
8781
2.74k
yy649:
8782
2.74k
  YYDEBUG(649, *YYCURSOR);
8783
2.74k
  yyaccept = 4;
8784
2.74k
  yych = *(YYMARKER = ++YYCURSOR);
8785
2.74k
  if (yych == 'O') goto yy693;
8786
2.26k
  if (yych == 'o') goto yy693;
8787
244
  goto yy40;
8788
2.17k
yy650:
8789
2.17k
  YYDEBUG(650, *YYCURSOR);
8790
2.17k
  yyaccept = 4;
8791
2.17k
  yych = *(YYMARKER = ++YYCURSOR);
8792
2.17k
  if (yych == 'O') goto yy694;
8793
1.97k
  if (yych == 'o') goto yy694;
8794
281
  goto yy40;
8795
2.96k
yy651:
8796
2.96k
  YYDEBUG(651, *YYCURSOR);
8797
2.96k
  yyaccept = 4;
8798
2.96k
  yych = *(YYMARKER = ++YYCURSOR);
8799
2.96k
  if (yych == 'F') goto yy695;
8800
2.70k
  if (yych == 'f') goto yy695;
8801
402
  goto yy40;
8802
4.26k
yy652:
8803
4.26k
  YYDEBUG(652, *YYCURSOR);
8804
4.26k
  yyaccept = 4;
8805
4.26k
  yych = *(YYMARKER = ++YYCURSOR);
8806
4.26k
  if (yych == 'E') goto yy697;
8807
4.03k
  if (yych == 'e') goto yy697;
8808
285
  goto yy40;
8809
12.0k
yy653:
8810
12.0k
  YYDEBUG(653, *YYCURSOR);
8811
12.0k
  yyaccept = 4;
8812
12.0k
  yych = *(YYMARKER = ++YYCURSOR);
8813
12.0k
  if (yych == 'E') goto yy699;
8814
11.1k
  if (yych == 'e') goto yy699;
8815
526
  goto yy40;
8816
1.65k
yy654:
8817
1.65k
  YYDEBUG(654, *YYCURSOR);
8818
1.65k
  yych = *++YYCURSOR;
8819
1.65k
  if (yych == 'S') goto yy701;
8820
1.45k
  if (yych == 's') goto yy701;
8821
200
  goto yy72;
8822
5.00k
yy655:
8823
5.00k
  YYDEBUG(655, *YYCURSOR);
8824
5.00k
  yyaccept = 4;
8825
5.00k
  yych = *(YYMARKER = ++YYCURSOR);
8826
5.00k
  if (yych == 'D') goto yy702;
8827
4.70k
  if (yych == 'd') goto yy702;
8828
254
  goto yy40;
8829
2.24k
yy656:
8830
2.24k
  YYDEBUG(656, *YYCURSOR);
8831
2.24k
  yych = *++YYCURSOR;
8832
2.24k
  if (yych == 'E') goto yy704;
8833
1.97k
  if (yych == 'e') goto yy704;
8834
366
  goto yy72;
8835
2.07k
yy657:
8836
2.07k
  YYDEBUG(657, *YYCURSOR);
8837
2.07k
  yyaccept = 73;
8838
2.07k
  yych = *(YYMARKER = ++YYCURSOR);
8839
2.07k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8840
513
    goto yy39;
8841
513
  }
8842
1.56k
  if (yych == '\\') goto yy132;
8843
1.56k
yy658:
8844
1.56k
  YYDEBUG(658, *YYCURSOR);
8845
1.56k
  yyleng = YYCURSOR - SCNG(yy_text);
8846
1.56k
#line 1831 "Zend/zend_language_scanner.l"
8847
1.56k
  {
8848
1.56k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8849
1.56k
}
8850
0
#line 8851 "Zend/zend_language_scanner.c"
8851
2.80k
yy659:
8852
2.80k
  YYDEBUG(659, *YYCURSOR);
8853
2.80k
  yyaccept = 4;
8854
2.80k
  yych = *(YYMARKER = ++YYCURSOR);
8855
2.80k
  if (yych == 'O') goto yy705;
8856
2.11k
  if (yych == 'o') goto yy705;
8857
253
  goto yy40;
8858
3.94k
yy660:
8859
3.94k
  YYDEBUG(660, *YYCURSOR);
8860
3.94k
  yych = *++YYCURSOR;
8861
3.94k
  if (yych == 'O') goto yy706;
8862
2.57k
  if (yych == 'o') goto yy706;
8863
474
  goto yy72;
8864
4.79k
yy661:
8865
4.79k
  YYDEBUG(661, *YYCURSOR);
8866
4.79k
  ++YYCURSOR;
8867
4.79k
  YYFILL(1);
8868
4.79k
  yych = *YYCURSOR;
8869
4.79k
  if (yych <= '\n') {
8870
1.72k
    if (yych <= 0x00) goto yy72;
8871
1.49k
    if (yych <= '\t') goto yy607;
8872
1.27k
    goto yy608;
8873
3.07k
  } else {
8874
3.07k
    if (yych == '\r') goto yy608;
8875
797
    goto yy607;
8876
3.07k
  }
8877
131k
yy662:
8878
131k
  YYDEBUG(662, *YYCURSOR);
8879
131k
  ++YYCURSOR;
8880
131k
  YYFILL(1);
8881
131k
  yych = *YYCURSOR;
8882
131k
  if (yych <= '\f') {
8883
1.70k
    if (yych <= 0x00) goto yy72;
8884
1.48k
    if (yych == '\n') goto yy540;
8885
250
    goto yy607;
8886
129k
  } else {
8887
129k
    if (yych <= '\r') goto yy540;
8888
129k
    if (yych == '*') goto yy707;
8889
100k
    goto yy607;
8890
129k
  }
8891
16.3k
yy663:
8892
16.3k
  YYDEBUG(663, *YYCURSOR);
8893
16.3k
  ++YYCURSOR;
8894
16.3k
  YYFILL(1);
8895
16.3k
  yych = *YYCURSOR;
8896
16.3k
  if (yych <= '\r') {
8897
1.17k
    if (yych <= '\t') {
8898
457
      if (yych <= 0x00) goto yy72;
8899
235
      goto yy607;
8900
720
    } else {
8901
720
      if (yych <= '\n') goto yy540;
8902
484
      if (yych <= '\f') goto yy607;
8903
280
      goto yy540;
8904
484
    }
8905
15.1k
  } else {
8906
15.1k
    if (yych <= 'R') {
8907
12.4k
      if (yych <= 'Q') goto yy607;
8908
11.5k
      goto yy708;
8909
12.4k
    } else {
8910
2.71k
      if (yych == 'r') goto yy708;
8911
1.45k
      goto yy607;
8912
2.71k
    }
8913
15.1k
  }
8914
21.0k
yy664:
8915
21.0k
  YYDEBUG(664, *YYCURSOR);
8916
21.0k
  ++YYCURSOR;
8917
21.0k
  YYFILL(1);
8918
21.0k
  yych = *YYCURSOR;
8919
21.0k
  if (yych <= '*') {
8920
10.6k
    if (yych <= 0x00) goto yy72;
8921
9.72k
    if (yych <= ')') goto yy609;
8922
1.10k
    goto yy664;
8923
10.4k
  } else {
8924
10.4k
    if (yych == '/') goto yy540;
8925
6.43k
    goto yy609;
8926
10.4k
  }
8927
3.28k
yy665:
8928
3.28k
  YYDEBUG(665, *YYCURSOR);
8929
3.28k
  yyaccept = 4;
8930
3.28k
  yych = *(YYMARKER = ++YYCURSOR);
8931
3.28k
  if (yych == '_') goto yy709;
8932
276
  goto yy40;
8933
1.73k
yy666:
8934
1.73k
  YYDEBUG(666, *YYCURSOR);
8935
1.73k
  yyaccept = 74;
8936
1.73k
  yych = *(YYMARKER = ++YYCURSOR);
8937
1.73k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8938
405
    goto yy39;
8939
405
  }
8940
1.32k
  if (yych == '\\') goto yy132;
8941
1.32k
yy667:
8942
1.32k
  YYDEBUG(667, *YYCURSOR);
8943
1.32k
  yyleng = YYCURSOR - SCNG(yy_text);
8944
1.32k
#line 2306 "Zend/zend_language_scanner.l"
8945
1.32k
  {
8946
1.32k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8947
1.32k
}
8948
0
#line 8949 "Zend/zend_language_scanner.c"
8949
3.18k
yy668:
8950
3.18k
  YYDEBUG(668, *YYCURSOR);
8951
3.18k
  yyaccept = 4;
8952
3.18k
  yych = *(YYMARKER = ++YYCURSOR);
8953
3.18k
  if (yych == 'O') goto yy711;
8954
2.94k
  if (yych == 'o') goto yy711;
8955
322
  goto yy40;
8956
3.54k
yy669:
8957
3.54k
  YYDEBUG(669, *YYCURSOR);
8958
3.54k
  yyaccept = 4;
8959
3.54k
  yych = *(YYMARKER = ++YYCURSOR);
8960
3.54k
  if (yych == 'O') goto yy712;
8961
2.01k
  if (yych == 'o') goto yy712;
8962
501
  goto yy40;
8963
1.71k
yy670:
8964
1.71k
  YYDEBUG(670, *YYCURSOR);
8965
1.71k
  yyaccept = 75;
8966
1.71k
  yych = *(YYMARKER = ++YYCURSOR);
8967
1.71k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
8968
428
    goto yy39;
8969
428
  }
8970
1.29k
  if (yych == '\\') goto yy132;
8971
1.11k
yy671:
8972
1.11k
  YYDEBUG(671, *YYCURSOR);
8973
1.11k
  yyleng = YYCURSOR - SCNG(yy_text);
8974
1.11k
#line 2302 "Zend/zend_language_scanner.l"
8975
1.11k
  {
8976
1.11k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8977
1.11k
}
8978
0
#line 8979 "Zend/zend_language_scanner.c"
8979
3.27k
yy672:
8980
3.27k
  YYDEBUG(672, *YYCURSOR);
8981
3.27k
  yyaccept = 4;
8982
3.27k
  yych = *(YYMARKER = ++YYCURSOR);
8983
3.27k
  if (yych == '_') goto yy713;
8984
303
  goto yy40;
8985
3.16k
yy673:
8986
3.16k
  YYDEBUG(673, *YYCURSOR);
8987
3.16k
  yyaccept = 4;
8988
3.16k
  yych = *(YYMARKER = ++YYCURSOR);
8989
3.16k
  if (yych == 'A') goto yy714;
8990
2.73k
  if (yych == 'a') goto yy714;
8991
304
  goto yy40;
8992
3.07k
yy674:
8993
3.07k
  YYDEBUG(674, *YYCURSOR);
8994
3.07k
  yyaccept = 4;
8995
3.07k
  yych = *(YYMARKER = ++YYCURSOR);
8996
3.07k
  if (yych == 'T') goto yy715;
8997
1.02k
  if (yych == 't') goto yy715;
8998
273
  goto yy40;
8999
2.91k
yy675:
9000
2.91k
  YYDEBUG(675, *YYCURSOR);
9001
2.91k
  yyaccept = 4;
9002
2.91k
  yych = *(YYMARKER = ++YYCURSOR);
9003
2.91k
  if (yych == '_') goto yy716;
9004
448
  goto yy40;
9005
3.31k
yy676:
9006
3.31k
  YYDEBUG(676, *YYCURSOR);
9007
3.31k
  ++YYCURSOR;
9008
3.31k
  YYFILL(1);
9009
3.31k
  yych = *YYCURSOR;
9010
3.31k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 128) {
9011
421
    goto yy385;
9012
421
  }
9013
2.88k
  if (yych <= 0x00) goto yy72;
9014
2.62k
  if (yych <= '\r') goto yy621;
9015
225
  goto yy482;
9016
1.35k
yy677:
9017
1.35k
  YYDEBUG(677, *YYCURSOR);
9018
1.35k
  yyaccept = 26;
9019
1.35k
  YYMARKER = ++YYCURSOR;
9020
1.35k
  YYFILL(1);
9021
1.35k
  yych = *YYCURSOR;
9022
1.35k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 128) {
9023
410
    goto yy385;
9024
410
  }
9025
944
  if (yych <= 0x00) goto yy75;
9026
510
  if (yych <= '\r') goto yy481;
9027
222
  goto yy482;
9028
5.03k
yy678:
9029
5.03k
  YYDEBUG(678, *YYCURSOR);
9030
5.03k
  ++YYCURSOR;
9031
5.03k
  YYFILL(1);
9032
5.03k
  yych = *YYCURSOR;
9033
5.03k
  if (yych <= '\r') {
9034
1.32k
    if (yych <= '\t') {
9035
420
      if (yych <= 0x00) goto yy72;
9036
210
      goto yy385;
9037
903
    } else {
9038
903
      if (yych <= '\n') goto yy481;
9039
532
      if (yych <= '\f') goto yy385;
9040
228
      goto yy481;
9041
532
    }
9042
3.71k
  } else {
9043
3.71k
    if (yych <= '*') {
9044
556
      if (yych <= ')') goto yy385;
9045
263
      goto yy482;
9046
3.16k
    } else {
9047
3.16k
      if (yych == '.') goto yy718;
9048
532
      goto yy385;
9049
3.16k
    }
9050
3.71k
  }
9051
6.00k
yy679:
9052
6.00k
  YYDEBUG(679, *YYCURSOR);
9053
6.00k
  ++YYCURSOR;
9054
6.00k
  YYFILL(1);
9055
6.00k
  yych = *YYCURSOR;
9056
6.00k
  if (yybm_ST_IN_SCRIPTING[0+yych] & 128) {
9057
1.47k
    goto yy385;
9058
1.47k
  }
9059
4.52k
  if (yych <= 0x00) goto yy72;
9060
4.27k
  if (yych <= '\r') goto yy481;
9061
3.94k
  goto yy719;
9062
3.94k
yy680:
9063
867
  YYDEBUG(680, *YYCURSOR);
9064
867
  ++YYCURSOR;
9065
867
  yyleng = YYCURSOR - SCNG(yy_text);
9066
867
#line 1729 "Zend/zend_language_scanner.l"
9067
867
  {
9068
867
  if (PARSER_MODE()) {
9069
212
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
9070
212
    if (EG(exception)) {
9071
0
      RETURN_TOKEN(T_ERROR);
9072
0
    }
9073
212
  }
9074
867
  RETURN_TOKEN(T_BOOL_CAST);
9075
867
}
9076
0
#line 9077 "Zend/zend_language_scanner.c"
9077
824
yy681:
9078
824
  YYDEBUG(681, *YYCURSOR);
9079
824
  ++YYCURSOR;
9080
824
  yyleng = YYCURSOR - SCNG(yy_text);
9081
824
#line 1671 "Zend/zend_language_scanner.l"
9082
824
  {
9083
824
  if (PARSER_MODE()) {
9084
117
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
9085
117
    if (EG(exception)) {
9086
0
      RETURN_TOKEN(T_ERROR);
9087
0
    }
9088
117
  }
9089
824
  RETURN_TOKEN(T_INT_CAST);
9090
824
}
9091
0
#line 9092 "Zend/zend_language_scanner.c"
9092
1.30k
yy682:
9093
1.30k
  YYDEBUG(682, *YYCURSOR);
9094
1.30k
  yyaccept = 4;
9095
1.30k
  yych = *(YYMARKER = ++YYCURSOR);
9096
1.30k
  if (yych == 'E') goto yy720;
9097
1.01k
  if (yych == 'e') goto yy720;
9098
258
  goto yy40;
9099
1.95k
yy683:
9100
1.95k
  YYDEBUG(683, *YYCURSOR);
9101
1.95k
  yyaccept = 4;
9102
1.95k
  yych = *(YYMARKER = ++YYCURSOR);
9103
1.95k
  if (yych == 'H') goto yy722;
9104
1.55k
  if (yych == 'h') goto yy722;
9105
582
  goto yy40;
9106
935
yy684:
9107
935
  YYDEBUG(684, *YYCURSOR);
9108
935
  yyaccept = 76;
9109
935
  yych = *(YYMARKER = ++YYCURSOR);
9110
935
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9111
437
    goto yy39;
9112
437
  }
9113
498
  if (yych == '\\') goto yy132;
9114
481
yy685:
9115
481
  YYDEBUG(685, *YYCURSOR);
9116
481
  yyleng = YYCURSOR - SCNG(yy_text);
9117
481
#line 1551 "Zend/zend_language_scanner.l"
9118
481
  {
9119
481
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
9120
481
}
9121
0
#line 9122 "Zend/zend_language_scanner.c"
9122
1.92k
yy686:
9123
1.92k
  YYDEBUG(686, *YYCURSOR);
9124
1.92k
  yych = *++YYCURSOR;
9125
1.92k
  if (yych == 'N') goto yy724;
9126
1.35k
  if (yych == 'n') goto yy724;
9127
450
  goto yy72;
9128
2.63k
yy687:
9129
2.63k
  YYDEBUG(687, *YYCURSOR);
9130
2.63k
  yych = *++YYCURSOR;
9131
2.63k
  if (yych == 'E') goto yy725;
9132
2.04k
  if (yych == 'e') goto yy725;
9133
510
  goto yy72;
9134
129k
yy688:
9135
129k
  YYDEBUG(688, *YYCURSOR);
9136
129k
  ++YYCURSOR;
9137
129k
  YYFILL(1);
9138
129k
  yych = *YYCURSOR;
9139
129k
  if (yych <= '@') {
9140
109k
    if (yych <= ' ') {
9141
14.5k
      if (yych <= '\n') {
9142
4.52k
        if (yych <= 0x00) goto yy72;
9143
2.53k
        if (yych <= 0x08) goto yy515;
9144
2.19k
        goto yy688;
9145
9.98k
      } else {
9146
9.98k
        if (yych == '\r') goto yy688;
9147
2.94k
        if (yych <= 0x1F) goto yy515;
9148
2.49k
        goto yy688;
9149
2.94k
      }
9150
94.8k
    } else {
9151
94.8k
      if (yych <= ')') {
9152
88.7k
        if (yych == '#') goto yy726;
9153
2.30k
        goto yy515;
9154
88.7k
      } else {
9155
6.08k
        if (yych <= '*') goto yy584;
9156
5.39k
        if (yych == '/') goto yy727;
9157
1.11k
        goto yy515;
9158
5.39k
      }
9159
94.8k
    }
9160
109k
  } else {
9161
20.3k
    if (yych <= '_') {
9162
4.03k
      if (yych <= 'H') {
9163
847
        if (yych == 'E') goto yy729;
9164
247
        goto yy728;
9165
3.18k
      } else {
9166
3.18k
        if (yych <= 'I') goto yy730;
9167
934
        if (yych <= 'Z') goto yy728;
9168
553
        if (yych <= '^') goto yy515;
9169
243
        goto yy728;
9170
553
      }
9171
16.3k
    } else {
9172
16.3k
      if (yych <= 'h') {
9173
7.52k
        if (yych <= '`') goto yy515;
9174
7.28k
        if (yych == 'e') goto yy729;
9175
955
        goto yy728;
9176
8.77k
      } else {
9177
8.77k
        if (yych <= 'i') goto yy730;
9178
2.71k
        if (yych <= 'z') goto yy728;
9179
1.57k
        if (yych <= 0x7F) goto yy515;
9180
1.21k
        goto yy728;
9181
1.57k
      }
9182
16.3k
    }
9183
20.3k
  }
9184
19.4k
yy689:
9185
19.4k
  YYDEBUG(689, *YYCURSOR);
9186
19.4k
  ++YYCURSOR;
9187
19.4k
  YYFILL(1);
9188
19.4k
  yych = *YYCURSOR;
9189
19.4k
  if (yych <= '\r') {
9190
5.21k
    if (yych <= '\t') {
9191
1.02k
      if (yych <= 0x00) goto yy72;
9192
333
      goto yy643;
9193
4.19k
    } else {
9194
4.19k
      if (yych <= '\n') goto yy688;
9195
2.51k
      if (yych <= '\f') goto yy643;
9196
2.26k
      goto yy688;
9197
2.51k
    }
9198
14.2k
  } else {
9199
14.2k
    if (yych <= '*') {
9200
6.52k
      if (yych <= ')') goto yy643;
9201
5.18k
      goto yy689;
9202
7.71k
    } else {
9203
7.71k
      if (yych == '/') goto yy514;
9204
5.69k
      goto yy643;
9205
7.71k
    }
9206
14.2k
  }
9207
10.6k
yy690:
9208
10.6k
  YYDEBUG(690, *YYCURSOR);
9209
10.6k
  ++YYCURSOR;
9210
10.6k
  YYFILL(1);
9211
10.6k
  yych = *YYCURSOR;
9212
10.6k
  if (yych <= '\r') {
9213
1.07k
    if (yych <= '\t') {
9214
463
      if (yych <= 0x00) goto yy72;
9215
200
      goto yy513;
9216
607
    } else {
9217
607
      if (yych <= '\n') goto yy432;
9218
403
      if (yych <= '\f') goto yy513;
9219
199
      goto yy432;
9220
403
    }
9221
9.54k
  } else {
9222
9.54k
    if (yych <= 'E') {
9223
1.35k
      if (yych <= 'D') goto yy513;
9224
1.01k
      goto yy731;
9225
8.19k
    } else {
9226
8.19k
      if (yych == 'e') goto yy731;
9227
396
      goto yy513;
9228
8.19k
    }
9229
9.54k
  }
9230
15.0k
yy691:
9231
15.0k
  YYDEBUG(691, *YYCURSOR);
9232
15.0k
  ++YYCURSOR;
9233
15.0k
  YYFILL(1);
9234
15.0k
  yych = *YYCURSOR;
9235
15.0k
  if (yych <= '\r') {
9236
1.05k
    if (yych <= '\t') {
9237
440
      if (yych <= 0x00) goto yy72;
9238
209
      goto yy513;
9239
612
    } else {
9240
612
      if (yych <= '\n') goto yy432;
9241
407
      if (yych <= '\f') goto yy513;
9242
201
      goto yy432;
9243
407
    }
9244
14.0k
  } else {
9245
14.0k
    if (yych <= 'L') {
9246
4.24k
      if (yych <= 'K') goto yy513;
9247
2.67k
      goto yy732;
9248
9.79k
    } else {
9249
9.79k
      if (yych == 'l') goto yy732;
9250
839
      goto yy513;
9251
9.79k
    }
9252
14.0k
  }
9253
2.71k
yy692:
9254
2.71k
  YYDEBUG(692, *YYCURSOR);
9255
2.71k
  yyaccept = 4;
9256
2.71k
  yych = *(YYMARKER = ++YYCURSOR);
9257
2.71k
  if (yych == 'S') goto yy733;
9258
2.50k
  if (yych == 's') goto yy733;
9259
528
  goto yy40;
9260
2.49k
yy693:
9261
2.49k
  YYDEBUG(693, *YYCURSOR);
9262
2.49k
  yyaccept = 4;
9263
2.49k
  yych = *(YYMARKER = ++YYCURSOR);
9264
2.49k
  if (yych == 'N') goto yy735;
9265
2.10k
  if (yych == 'n') goto yy735;
9266
473
  goto yy40;
9267
1.89k
yy694:
9268
1.89k
  YYDEBUG(694, *YYCURSOR);
9269
1.89k
  yyaccept = 4;
9270
1.89k
  yych = *(YYMARKER = ++YYCURSOR);
9271
1.89k
  if (yych == 'F') goto yy736;
9272
1.63k
  if (yych == 'f') goto yy736;
9273
210
  goto yy40;
9274
2.56k
yy695:
9275
2.56k
  YYDEBUG(695, *YYCURSOR);
9276
2.56k
  yyaccept = 77;
9277
2.56k
  yych = *(YYMARKER = ++YYCURSOR);
9278
2.56k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9279
501
    goto yy39;
9280
501
  }
9281
2.06k
  if (yych == '\\') goto yy132;
9282
2.01k
yy696:
9283
2.01k
  YYDEBUG(696, *YYCURSOR);
9284
2.01k
  yyleng = YYCURSOR - SCNG(yy_text);
9285
2.01k
#line 1775 "Zend/zend_language_scanner.l"
9286
2.01k
  {
9287
2.01k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9288
2.01k
}
9289
0
#line 9290 "Zend/zend_language_scanner.c"
9290
3.98k
yy697:
9291
3.98k
  YYDEBUG(697, *YYCURSOR);
9292
3.98k
  yyaccept = 78;
9293
3.98k
  yych = *(YYMARKER = ++YYCURSOR);
9294
3.98k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9295
377
    goto yy39;
9296
377
  }
9297
3.60k
  if (yych == '\\') goto yy132;
9298
3.59k
yy698:
9299
3.59k
  YYDEBUG(698, *YYCURSOR);
9300
3.59k
  yyleng = YYCURSOR - SCNG(yy_text);
9301
3.59k
#line 1587 "Zend/zend_language_scanner.l"
9302
3.59k
  {
9303
3.59k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9304
3.59k
}
9305
0
#line 9306 "Zend/zend_language_scanner.c"
9306
11.5k
yy699:
9307
11.5k
  YYDEBUG(699, *YYCURSOR);
9308
11.5k
  yyaccept = 79;
9309
11.5k
  yych = *(YYMARKER = ++YYCURSOR);
9310
11.5k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9311
524
    goto yy39;
9312
524
  }
9313
10.9k
  if (yych == '\\') goto yy738;
9314
7.73k
yy700:
9315
7.73k
  YYDEBUG(700, *YYCURSOR);
9316
7.73k
  yyleng = YYCURSOR - SCNG(yy_text);
9317
7.73k
#line 1767 "Zend/zend_language_scanner.l"
9318
7.73k
  {
9319
7.73k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9320
7.73k
}
9321
0
#line 9322 "Zend/zend_language_scanner.c"
9322
1.45k
yy701:
9323
1.45k
  YYDEBUG(701, *YYCURSOR);
9324
1.45k
  yych = *++YYCURSOR;
9325
1.45k
  if (yych == 'E') goto yy739;
9326
740
  if (yych == 'e') goto yy739;
9327
237
  goto yy72;
9328
4.75k
yy702:
9329
4.75k
  YYDEBUG(702, *YYCURSOR);
9330
4.75k
  yyaccept = 80;
9331
4.75k
  yych = *(YYMARKER = ++YYCURSOR);
9332
4.75k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9333
317
    goto yy39;
9334
317
  }
9335
4.43k
  if (yych == '(') goto yy740;
9336
1.99k
  if (yych == '\\') goto yy132;
9337
3.59k
yy703:
9338
3.59k
  YYDEBUG(703, *YYCURSOR);
9339
3.59k
  yyleng = YYCURSOR - SCNG(yy_text);
9340
3.59k
#line 1811 "Zend/zend_language_scanner.l"
9341
3.59k
  {
9342
3.59k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9343
3.59k
}
9344
0
#line 9345 "Zend/zend_language_scanner.c"
9345
1.87k
yy704:
9346
1.87k
  YYDEBUG(704, *YYCURSOR);
9347
1.87k
  yych = *++YYCURSOR;
9348
1.87k
  if (yych == 'T') goto yy741;
9349
1.09k
  if (yych == 't') goto yy741;
9350
449
  goto yy72;
9351
2.55k
yy705:
9352
2.55k
  YYDEBUG(705, *YYCURSOR);
9353
2.55k
  yyaccept = 4;
9354
2.55k
  yych = *(YYMARKER = ++YYCURSOR);
9355
2.55k
  if (yych == 'N') goto yy742;
9356
1.91k
  if (yych == 'n') goto yy742;
9357
375
  goto yy40;
9358
3.47k
yy706:
9359
3.47k
  YYDEBUG(706, *YYCURSOR);
9360
3.47k
  yych = *++YYCURSOR;
9361
3.47k
  if (yych == 'M') goto yy743;
9362
2.36k
  if (yych == 'm') goto yy743;
9363
329
  goto yy72;
9364
266k
yy707:
9365
266k
  YYDEBUG(707, *YYCURSOR);
9366
266k
  ++YYCURSOR;
9367
266k
  YYFILL(1);
9368
266k
  yych = *YYCURSOR;
9369
266k
  if (yych <= '\f') {
9370
53.9k
    if (yych <= 0x00) goto yy72;
9371
50.2k
    if (yych == '\n') goto yy744;
9372
10.9k
    goto yy707;
9373
213k
  } else {
9374
213k
    if (yych <= '\r') goto yy744;
9375
198k
    if (yych == '*') goto yy745;
9376
193k
    goto yy707;
9377
198k
  }
9378
12.7k
yy708:
9379
12.7k
  YYDEBUG(708, *YYCURSOR);
9380
12.7k
  ++YYCURSOR;
9381
12.7k
  YYFILL(1);
9382
12.7k
  yych = *YYCURSOR;
9383
12.7k
  if (yych <= '\r') {
9384
1.56k
    if (yych <= '\t') {
9385
917
      if (yych <= 0x00) goto yy72;
9386
700
      goto yy607;
9387
917
    } else {
9388
647
      if (yych <= '\n') goto yy540;
9389
397
      if (yych <= '\f') goto yy607;
9390
200
      goto yy540;
9391
397
    }
9392
11.2k
  } else {
9393
11.2k
    if (yych <= 'O') {
9394
8.40k
      if (yych <= 'N') goto yy607;
9395
8.12k
      goto yy746;
9396
8.40k
    } else {
9397
2.82k
      if (yych == 'o') goto yy746;
9398
586
      goto yy607;
9399
2.82k
    }
9400
11.2k
  }
9401
3.00k
yy709:
9402
3.00k
  YYDEBUG(709, *YYCURSOR);
9403
3.00k
  yyaccept = 81;
9404
3.00k
  yych = *(YYMARKER = ++YYCURSOR);
9405
3.00k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9406
480
    goto yy39;
9407
480
  }
9408
2.52k
  if (yych == '\\') goto yy132;
9409
2.52k
yy710:
9410
2.52k
  YYDEBUG(710, *YYCURSOR);
9411
2.52k
  yyleng = YYCURSOR - SCNG(yy_text);
9412
2.52k
#line 2282 "Zend/zend_language_scanner.l"
9413
2.52k
  {
9414
2.52k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9415
2.52k
}
9416
0
#line 9417 "Zend/zend_language_scanner.c"
9417
2.86k
yy711:
9418
2.86k
  YYDEBUG(711, *YYCURSOR);
9419
2.86k
  yyaccept = 4;
9420
2.86k
  yych = *(YYMARKER = ++YYCURSOR);
9421
2.86k
  if (yych == 'N') goto yy747;
9422
1.81k
  if (yych == 'n') goto yy747;
9423
606
  goto yy40;
9424
3.04k
yy712:
9425
3.04k
  YYDEBUG(712, *YYCURSOR);
9426
3.04k
  yyaccept = 4;
9427
3.04k
  yych = *(YYMARKER = ++YYCURSOR);
9428
3.04k
  if (yych == 'M') goto yy748;
9429
1.81k
  if (yych == 'm') goto yy748;
9430
418
  goto yy40;
9431
2.97k
yy713:
9432
2.97k
  YYDEBUG(713, *YYCURSOR);
9433
2.97k
  yyaccept = 4;
9434
2.97k
  yych = *(YYMARKER = ++YYCURSOR);
9435
2.97k
  if (yych == '_') goto yy749;
9436
325
  goto yy40;
9437
2.85k
yy714:
9438
2.85k
  YYDEBUG(714, *YYCURSOR);
9439
2.85k
  yyaccept = 4;
9440
2.85k
  yych = *(YYMARKER = ++YYCURSOR);
9441
2.85k
  if (yych == 'C') goto yy751;
9442
2.56k
  if (yych == 'c') goto yy751;
9443
297
  goto yy40;
9444
2.79k
yy715:
9445
2.79k
  YYDEBUG(715, *YYCURSOR);
9446
2.79k
  yyaccept = 4;
9447
2.79k
  yych = *(YYMARKER = ++YYCURSOR);
9448
2.79k
  if (yych == 'Y') goto yy752;
9449
735
  if (yych == 'y') goto yy752;
9450
500
  goto yy40;
9451
2.46k
yy716:
9452
2.46k
  YYDEBUG(716, *YYCURSOR);
9453
2.46k
  yyaccept = 82;
9454
2.46k
  yych = *(YYMARKER = ++YYCURSOR);
9455
2.46k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9456
349
    goto yy39;
9457
349
  }
9458
2.11k
  if (yych == '\\') goto yy132;
9459
2.11k
yy717:
9460
2.11k
  YYDEBUG(717, *YYCURSOR);
9461
2.11k
  yyleng = YYCURSOR - SCNG(yy_text);
9462
2.11k
#line 2286 "Zend/zend_language_scanner.l"
9463
2.11k
  {
9464
2.11k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9465
2.11k
}
9466
0
#line 9467 "Zend/zend_language_scanner.c"
9467
2.62k
yy718:
9468
2.62k
  YYDEBUG(718, *YYCURSOR);
9469
2.62k
  ++YYCURSOR;
9470
2.62k
  YYFILL(1);
9471
2.62k
  yych = *YYCURSOR;
9472
2.62k
  if (yych <= '\r') {
9473
1.39k
    if (yych <= '\t') {
9474
543
      if (yych <= 0x00) goto yy72;
9475
340
      goto yy385;
9476
848
    } else {
9477
848
      if (yych <= '\n') goto yy481;
9478
578
      if (yych <= '\f') goto yy385;
9479
273
      goto yy481;
9480
578
    }
9481
1.39k
  } else {
9482
1.23k
    if (yych <= '*') {
9483
557
      if (yych <= ')') goto yy385;
9484
356
      goto yy482;
9485
680
    } else {
9486
680
      if (yych == '.') goto yy677;
9487
403
      goto yy385;
9488
680
    }
9489
1.23k
  }
9490
3.94k
yy719:
9491
3.94k
  YYDEBUG(719, *YYCURSOR);
9492
3.94k
  ++YYCURSOR;
9493
3.94k
  YYFILL(1);
9494
3.94k
  yych = *YYCURSOR;
9495
3.94k
  if (yych <= '\r') {
9496
2.41k
    if (yych <= '\t') {
9497
562
      if (yych <= 0x00) goto yy72;
9498
220
      goto yy385;
9499
1.85k
    } else {
9500
1.85k
      if (yych <= '\n') goto yy481;
9501
703
      if (yych <= '\f') goto yy385;
9502
477
      goto yy481;
9503
703
    }
9504
2.41k
  } else {
9505
1.53k
    if (yych <= '*') {
9506
639
      if (yych <= ')') goto yy385;
9507
399
      goto yy482;
9508
891
    } else {
9509
891
      if (yych == '/') goto yy621;
9510
218
      goto yy385;
9511
891
    }
9512
1.53k
  }
9513
1.05k
yy720:
9514
1.05k
  YYDEBUG(720, *YYCURSOR);
9515
1.05k
  yyaccept = 83;
9516
1.05k
  yych = *(YYMARKER = ++YYCURSOR);
9517
1.05k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9518
454
    goto yy39;
9519
454
  }
9520
597
  if (yych == '\\') goto yy132;
9521
597
yy721:
9522
597
  YYDEBUG(721, *YYCURSOR);
9523
597
  yyleng = YYCURSOR - SCNG(yy_text);
9524
597
#line 1531 "Zend/zend_language_scanner.l"
9525
597
  {
9526
597
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9527
597
}
9528
0
#line 9529 "Zend/zend_language_scanner.c"
9529
1.36k
yy722:
9530
1.36k
  YYDEBUG(722, *YYCURSOR);
9531
1.36k
  yyaccept = 84;
9532
1.36k
  yych = *(YYMARKER = ++YYCURSOR);
9533
1.36k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9534
439
    goto yy39;
9535
439
  }
9536
930
  if (yych == '\\') goto yy132;
9537
930
yy723:
9538
930
  YYDEBUG(723, *YYCURSOR);
9539
930
  yyleng = YYCURSOR - SCNG(yy_text);
9540
930
#line 1523 "Zend/zend_language_scanner.l"
9541
930
  {
9542
930
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9543
930
}
9544
0
#line 9545 "Zend/zend_language_scanner.c"
9545
1.47k
yy724:
9546
1.47k
  YYDEBUG(724, *YYCURSOR);
9547
1.47k
  yych = *++YYCURSOR;
9548
1.47k
  if (yych == 'D') goto yy753;
9549
1.23k
  if (yych == 'd') goto yy753;
9550
546
  goto yy72;
9551
2.12k
yy725:
9552
2.12k
  YYDEBUG(725, *YYCURSOR);
9553
2.12k
  yych = *++YYCURSOR;
9554
2.12k
  if (yych == 'M') goto yy754;
9555
1.70k
  if (yych == 'm') goto yy754;
9556
491
  goto yy72;
9557
86.4k
yy726:
9558
86.4k
  YYDEBUG(726, *YYCURSOR);
9559
86.4k
  ++YYCURSOR;
9560
86.4k
  YYFILL(1);
9561
86.4k
  yych = *YYCURSOR;
9562
86.4k
  if (yych <= '\r') {
9563
73.1k
    if (yych <= '\t') {
9564
952
      if (yych <= 0x00) goto yy72;
9565
624
      goto yy643;
9566
72.1k
    } else {
9567
72.1k
      if (yych <= '\n') goto yy755;
9568
35.9k
      if (yych <= '\f') goto yy643;
9569
35.5k
      goto yy755;
9570
35.9k
    }
9571
73.1k
  } else {
9572
13.2k
    if (yych <= '*') {
9573
3.94k
      if (yych <= ')') goto yy643;
9574
1.40k
      goto yy689;
9575
9.34k
    } else {
9576
9.34k
      if (yych == '[') goto yy515;
9577
9.09k
      goto yy643;
9578
9.34k
    }
9579
13.2k
  }
9580
4.28k
yy727:
9581
4.28k
  YYDEBUG(727, *YYCURSOR);
9582
4.28k
  ++YYCURSOR;
9583
4.28k
  YYFILL(1);
9584
4.28k
  yych = *YYCURSOR;
9585
4.28k
  if (yych <= '*') {
9586
2.97k
    if (yych <= 0x00) goto yy72;
9587
2.68k
    if (yych <= ')') goto yy515;
9588
2.15k
    goto yy756;
9589
2.68k
  } else {
9590
1.30k
    if (yych == '/') goto yy643;
9591
1.00k
    goto yy515;
9592
1.30k
  }
9593
4.17k
yy728:
9594
4.17k
  YYDEBUG(728, *YYCURSOR);
9595
4.17k
  yyaccept = 53;
9596
4.17k
  YYMARKER = ++YYCURSOR;
9597
4.17k
  YYFILL(1);
9598
4.17k
  yych = *YYCURSOR;
9599
4.17k
  if (yych <= 0x00) goto yy510;
9600
3.38k
  if (yych == '*') goto yy584;
9601
3.15k
  goto yy515;
9602
6.92k
yy729:
9603
6.92k
  YYDEBUG(729, *YYCURSOR);
9604
6.92k
  yyaccept = 53;
9605
6.92k
  YYMARKER = ++YYCURSOR;
9606
6.92k
  YYFILL(1);
9607
6.92k
  yych = *YYCURSOR;
9608
6.92k
  if (yych <= 'W') {
9609
1.40k
    if (yych <= 0x00) goto yy510;
9610
985
    if (yych == '*') goto yy584;
9611
773
    goto yy515;
9612
5.52k
  } else {
9613
5.52k
    if (yych <= 'X') goto yy757;
9614
4.98k
    if (yych == 'x') goto yy757;
9615
611
    goto yy515;
9616
4.98k
  }
9617
8.31k
yy730:
9618
8.31k
  YYDEBUG(730, *YYCURSOR);
9619
8.31k
  yyaccept = 53;
9620
8.31k
  YYMARKER = ++YYCURSOR;
9621
8.31k
  YYFILL(1);
9622
8.31k
  yych = *YYCURSOR;
9623
8.31k
  if (yych <= 'L') {
9624
687
    if (yych <= 0x00) goto yy510;
9625
475
    if (yych == '*') goto yy584;
9626
271
    goto yy515;
9627
7.63k
  } else {
9628
7.63k
    if (yych <= 'M') goto yy758;
9629
5.97k
    if (yych == 'm') goto yy758;
9630
447
    goto yy515;
9631
5.97k
  }
9632
8.81k
yy731:
9633
8.81k
  YYDEBUG(731, *YYCURSOR);
9634
8.81k
  ++YYCURSOR;
9635
8.81k
  YYFILL(1);
9636
8.81k
  yych = *YYCURSOR;
9637
8.81k
  if (yych <= '\r') {
9638
1.29k
    if (yych <= '\t') {
9639
419
      if (yych <= 0x00) goto yy72;
9640
205
      goto yy513;
9641
871
    } else {
9642
871
      if (yych <= '\n') goto yy432;
9643
636
      if (yych <= '\f') goto yy513;
9644
442
      goto yy432;
9645
636
    }
9646
7.52k
  } else {
9647
7.52k
    if (yych <= 'N') {
9648
2.92k
      if (yych <= 'M') goto yy513;
9649
2.45k
      goto yy759;
9650
4.60k
    } else {
9651
4.60k
      if (yych == 'n') goto yy759;
9652
442
      goto yy513;
9653
4.60k
    }
9654
7.52k
  }
9655
11.6k
yy732:
9656
11.6k
  YYDEBUG(732, *YYCURSOR);
9657
11.6k
  ++YYCURSOR;
9658
11.6k
  YYFILL(1);
9659
11.6k
  yych = *YYCURSOR;
9660
11.6k
  if (yych <= '\r') {
9661
2.18k
    if (yych <= '\t') {
9662
434
      if (yych <= 0x00) goto yy72;
9663
204
      goto yy513;
9664
1.75k
    } else {
9665
1.75k
      if (yych <= '\n') goto yy432;
9666
1.34k
      if (yych <= '\f') goto yy513;
9667
1.14k
      goto yy432;
9668
1.34k
    }
9669
9.44k
  } else {
9670
9.44k
    if (yych <= 'E') {
9671
1.85k
      if (yych <= 'D') goto yy513;
9672
1.58k
      goto yy760;
9673
7.59k
    } else {
9674
7.59k
      if (yych == 'e') goto yy760;
9675
727
      goto yy513;
9676
7.59k
    }
9677
9.44k
  }
9678
2.18k
yy733:
9679
2.18k
  YYDEBUG(733, *YYCURSOR);
9680
2.18k
  yyaccept = 85;
9681
2.18k
  yych = *(YYMARKER = ++YYCURSOR);
9682
2.18k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9683
520
    goto yy39;
9684
520
  }
9685
1.66k
  if (yych == '\\') goto yy132;
9686
1.66k
yy734:
9687
1.66k
  YYDEBUG(734, *YYCURSOR);
9688
1.66k
  yyleng = YYCURSOR - SCNG(yy_text);
9689
1.66k
#line 1612 "Zend/zend_language_scanner.l"
9690
1.66k
  {
9691
1.66k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9692
1.66k
}
9693
0
#line 9694 "Zend/zend_language_scanner.c"
9694
2.02k
yy735:
9695
2.02k
  YYDEBUG(735, *YYCURSOR);
9696
2.02k
  yyaccept = 4;
9697
2.02k
  yych = *(YYMARKER = ++YYCURSOR);
9698
2.02k
  if (yych == 'C') goto yy761;
9699
1.52k
  if (yych == 'c') goto yy761;
9700
471
  goto yy40;
9701
1.68k
yy736:
9702
1.68k
  YYDEBUG(736, *YYCURSOR);
9703
1.68k
  yyaccept = 86;
9704
1.68k
  yych = *(YYMARKER = ++YYCURSOR);
9705
1.68k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9706
431
    goto yy39;
9707
431
  }
9708
1.25k
  if (yych == '\\') goto yy132;
9709
1.23k
yy737:
9710
1.23k
  YYDEBUG(737, *YYCURSOR);
9711
1.23k
  yyleng = YYCURSOR - SCNG(yy_text);
9712
1.23k
#line 1535 "Zend/zend_language_scanner.l"
9713
1.23k
  {
9714
1.23k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9715
1.23k
}
9716
0
#line 9717 "Zend/zend_language_scanner.c"
9717
5.48k
yy738:
9718
5.48k
  YYDEBUG(738, *YYCURSOR);
9719
5.48k
  ++YYCURSOR;
9720
5.48k
  YYFILL(1);
9721
5.48k
  yych = *YYCURSOR;
9722
5.48k
  if (yych <= '_') {
9723
1.45k
    if (yych <= '@') goto yy72;
9724
1.14k
    if (yych <= 'Z') goto yy762;
9725
532
    if (yych <= '^') goto yy72;
9726
307
    goto yy762;
9727
4.02k
  } else {
9728
4.02k
    if (yych <= '`') goto yy72;
9729
3.75k
    if (yych <= 'z') goto yy762;
9730
914
    if (yych <= 0x7F) goto yy72;
9731
685
    goto yy762;
9732
914
  }
9733
1.21k
yy739:
9734
1.21k
  YYDEBUG(739, *YYCURSOR);
9735
1.21k
  yych = *++YYCURSOR;
9736
1.21k
  if (yych == 'T') goto yy764;
9737
802
  if (yych == 't') goto yy764;
9738
395
  goto yy72;
9739
2.44k
yy740:
9740
2.44k
  YYDEBUG(740, *YYCURSOR);
9741
2.44k
  yych = *++YYCURSOR;
9742
2.44k
  if (yych == 'S') goto yy765;
9743
2.20k
  if (yych == 's') goto yy765;
9744
272
  goto yy72;
9745
1.42k
yy741:
9746
1.42k
  YYDEBUG(741, *YYCURSOR);
9747
1.42k
  yych = *++YYCURSOR;
9748
1.42k
  if (yych == ')') goto yy766;
9749
585
  goto yy72;
9750
2.17k
yy742:
9751
2.17k
  YYDEBUG(742, *YYCURSOR);
9752
2.17k
  yyaccept = 4;
9753
2.17k
  yych = *(YYMARKER = ++YYCURSOR);
9754
2.17k
  if (yych == 'C') goto yy767;
9755
1.72k
  if (yych == 'c') goto yy767;
9756
308
  goto yy40;
9757
3.14k
yy743:
9758
3.14k
  YYDEBUG(743, *YYCURSOR);
9759
3.14k
  yych = *++YYCURSOR;
9760
3.14k
  if (yych <= '^') {
9761
2.00k
    if (yych <= '9') {
9762
1.24k
      if (yych <= '/') goto yy768;
9763
214
      goto yy72;
9764
1.24k
    } else {
9765
761
      if (yych <= '@') goto yy768;
9766
404
      if (yych <= 'Z') goto yy72;
9767
198
      goto yy768;
9768
404
    }
9769
2.00k
  } else {
9770
1.13k
    if (yych <= '`') {
9771
421
      if (yych <= '_') goto yy72;
9772
205
      goto yy768;
9773
712
    } else {
9774
712
      if (yych <= 'z') goto yy72;
9775
440
      if (yych <= 0x7F) goto yy768;
9776
216
      goto yy72;
9777
440
    }
9778
1.13k
  }
9779
81.1k
yy744:
9780
81.1k
  YYDEBUG(744, *YYCURSOR);
9781
81.1k
  ++YYCURSOR;
9782
81.1k
  YYFILL(1);
9783
81.1k
  yych = *YYCURSOR;
9784
81.1k
  if (yych <= '#') {
9785
61.2k
    if (yych <= '\f') {
9786
11.0k
      if (yych <= 0x00) goto yy72;
9787
10.3k
      if (yych <= 0x08) goto yy609;
9788
9.97k
      if (yych <= '\n') goto yy744;
9789
301
      goto yy609;
9790
50.1k
    } else {
9791
50.1k
      if (yych <= 0x1F) {
9792
2.97k
        if (yych <= '\r') goto yy744;
9793
220
        goto yy609;
9794
47.1k
      } else {
9795
47.1k
        if (yych <= ' ') goto yy744;
9796
45.9k
        if (yych <= '"') goto yy609;
9797
45.5k
        goto yy770;
9798
45.9k
      }
9799
50.1k
    }
9800
61.2k
  } else {
9801
19.8k
    if (yych <= '/') {
9802
9.09k
      if (yych == '*') goto yy664;
9803
8.61k
      if (yych <= '.') goto yy609;
9804
6.89k
      goto yy771;
9805
10.7k
    } else {
9806
10.7k
      if (yych <= 'F') {
9807
8.62k
        if (yych <= 'E') goto yy609;
9808
7.44k
        goto yy772;
9809
8.62k
      } else {
9810
2.16k
        if (yych == 'f') goto yy772;
9811
1.80k
        goto yy609;
9812
2.16k
      }
9813
10.7k
    }
9814
19.8k
  }
9815
11.9k
yy745:
9816
11.9k
  YYDEBUG(745, *YYCURSOR);
9817
11.9k
  ++YYCURSOR;
9818
11.9k
  YYFILL(1);
9819
11.9k
  yych = *YYCURSOR;
9820
11.9k
  if (yych <= '\r') {
9821
4.00k
    if (yych <= '\t') {
9822
921
      if (yych <= 0x00) goto yy72;
9823
524
      goto yy707;
9824
3.08k
    } else {
9825
3.08k
      if (yych <= '\n') goto yy744;
9826
946
      if (yych <= '\f') goto yy707;
9827
739
      goto yy744;
9828
946
    }
9829
7.89k
  } else {
9830
7.89k
    if (yych <= '*') {
9831
4.74k
      if (yych <= ')') goto yy707;
9832
2.01k
      goto yy745;
9833
4.74k
    } else {
9834
3.15k
      if (yych == '/') goto yy608;
9835
2.13k
      goto yy707;
9836
3.15k
    }
9837
7.89k
  }
9838
10.3k
yy746:
9839
10.3k
  YYDEBUG(746, *YYCURSOR);
9840
10.3k
  ++YYCURSOR;
9841
10.3k
  YYFILL(1);
9842
10.3k
  yych = *YYCURSOR;
9843
10.3k
  if (yych <= '\r') {
9844
2.25k
    if (yych <= '\t') {
9845
645
      if (yych <= 0x00) goto yy72;
9846
323
      goto yy607;
9847
1.60k
    } else {
9848
1.60k
      if (yych <= '\n') goto yy540;
9849
897
      if (yych <= '\f') goto yy607;
9850
574
      goto yy540;
9851
897
    }
9852
8.10k
  } else {
9853
8.10k
    if (yych <= 'M') {
9854
6.64k
      if (yych <= 'L') goto yy607;
9855
6.39k
      goto yy773;
9856
6.64k
    } else {
9857
1.46k
      if (yych == 'm') goto yy773;
9858
289
      goto yy607;
9859
1.46k
    }
9860
8.10k
  }
9861
2.25k
yy747:
9862
2.25k
  YYDEBUG(747, *YYCURSOR);
9863
2.25k
  yyaccept = 4;
9864
2.25k
  yych = *(YYMARKER = ++YYCURSOR);
9865
2.25k
  if (yych == '_') goto yy774;
9866
361
  goto yy40;
9867
2.63k
yy748:
9868
2.63k
  YYDEBUG(748, *YYCURSOR);
9869
2.63k
  yyaccept = 4;
9870
2.63k
  yych = *(YYMARKER = ++YYCURSOR);
9871
2.63k
  if (yych == 'P') goto yy775;
9872
1.76k
  if (yych == 'p') goto yy775;
9873
389
  goto yy40;
9874
2.65k
yy749:
9875
2.65k
  YYDEBUG(749, *YYCURSOR);
9876
2.65k
  yyaccept = 87;
9877
2.65k
  yych = *(YYMARKER = ++YYCURSOR);
9878
2.65k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
9879
342
    goto yy39;
9880
342
  }
9881
2.30k
  if (yych == '\\') goto yy132;
9882
2.30k
yy750:
9883
2.30k
  YYDEBUG(750, *YYCURSOR);
9884
2.30k
  yyleng = YYCURSOR - SCNG(yy_text);
9885
2.30k
#line 2298 "Zend/zend_language_scanner.l"
9886
2.30k
  {
9887
2.30k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9888
2.30k
}
9889
0
#line 9890 "Zend/zend_language_scanner.c"
9890
2.56k
yy751:
9891
2.56k
  YYDEBUG(751, *YYCURSOR);
9892
2.56k
  yyaccept = 4;
9893
2.56k
  yych = *(YYMARKER = ++YYCURSOR);
9894
2.56k
  if (yych == 'E') goto yy776;
9895
2.26k
  if (yych == 'e') goto yy776;
9896
305
  goto yy40;
9897
2.29k
yy752:
9898
2.29k
  YYDEBUG(752, *YYCURSOR);
9899
2.29k
  yyaccept = 4;
9900
2.29k
  yych = *(YYMARKER = ++YYCURSOR);
9901
2.29k
  if (yych == '_') goto yy777;
9902
428
  goto yy40;
9903
1.48k
yy753:
9904
1.48k
  YYDEBUG(753, *YYCURSOR);
9905
1.48k
  yych = *++YYCURSOR;
9906
1.48k
  if (yych == 'S') goto yy778;
9907
1.03k
  if (yych == 's') goto yy778;
9908
679
  goto yy72;
9909
1.63k
yy754:
9910
1.63k
  YYDEBUG(754, *YYCURSOR);
9911
1.63k
  yych = *++YYCURSOR;
9912
1.63k
  if (yych == 'E') goto yy780;
9913
1.31k
  if (yych == 'e') goto yy780;
9914
245
  goto yy72;
9915
85.4k
yy755:
9916
85.4k
  YYDEBUG(755, *YYCURSOR);
9917
85.4k
  ++YYCURSOR;
9918
85.4k
  YYFILL(1);
9919
85.4k
  yych = *YYCURSOR;
9920
85.4k
  if (yych <= '@') {
9921
31.5k
    if (yych <= 0x1F) {
9922
7.55k
      if (yych <= '\t') {
9923
2.14k
        if (yych <= 0x00) goto yy72;
9924
1.80k
        if (yych <= 0x08) goto yy643;
9925
283
        goto yy755;
9926
5.41k
      } else {
9927
5.41k
        if (yych <= '\n') goto yy688;
9928
4.96k
        if (yych == '\r') goto yy688;
9929
725
        goto yy643;
9930
4.96k
      }
9931
24.0k
    } else {
9932
24.0k
      if (yych <= ')') {
9933
10.8k
        if (yych <= ' ') goto yy755;
9934
5.17k
        if (yych == '#') goto yy781;
9935
1.08k
        goto yy643;
9936
13.1k
      } else {
9937
13.1k
        if (yych <= '*') goto yy689;
9938
12.1k
        if (yych == '/') goto yy782;
9939
1.25k
        goto yy643;
9940
12.1k
      }
9941
24.0k
    }
9942
53.9k
  } else {
9943
53.9k
    if (yych <= '_') {
9944
9.16k
      if (yych <= 'H') {
9945
1.27k
        if (yych == 'E') goto yy784;
9946
931
        goto yy783;
9947
7.88k
      } else {
9948
7.88k
        if (yych <= 'I') goto yy785;
9949
1.60k
        if (yych <= 'Z') goto yy783;
9950
813
        if (yych <= '^') goto yy643;
9951
608
        goto yy783;
9952
813
      }
9953
44.7k
    } else {
9954
44.7k
      if (yych <= 'h') {
9955
24.2k
        if (yych <= '`') goto yy643;
9956
24.0k
        if (yych == 'e') goto yy784;
9957
1.54k
        goto yy783;
9958
24.0k
      } else {
9959
20.4k
        if (yych <= 'i') goto yy785;
9960
3.58k
        if (yych <= 'z') goto yy783;
9961
1.86k
        if (yych <= 0x7F) goto yy643;
9962
1.59k
        goto yy783;
9963
1.86k
      }
9964
44.7k
    }
9965
53.9k
  }
9966
2.15k
yy756:
9967
2.15k
  YYDEBUG(756, *YYCURSOR);
9968
2.15k
  ++YYCURSOR;
9969
2.15k
  YYFILL(1);
9970
2.15k
  yych = *YYCURSOR;
9971
2.15k
  if (yych <= '*') {
9972
812
    if (yych <= 0x00) goto yy72;
9973
463
    if (yych <= ')') goto yy515;
9974
236
    goto yy584;
9975
1.34k
  } else {
9976
1.34k
    if (yych == '/') goto yy688;
9977
210
    goto yy515;
9978
1.34k
  }
9979
4.91k
yy757:
9980
4.91k
  YYDEBUG(757, *YYCURSOR);
9981
4.91k
  ++YYCURSOR;
9982
4.91k
  YYFILL(1);
9983
4.91k
  yych = *YYCURSOR;
9984
4.91k
  if (yych <= 'S') {
9985
943
    if (yych <= 0x00) goto yy72;
9986
424
    if (yych == '*') goto yy584;
9987
204
    goto yy515;
9988
3.96k
  } else {
9989
3.96k
    if (yych <= 'T') goto yy786;
9990
3.58k
    if (yych == 't') goto yy786;
9991
201
    goto yy515;
9992
3.58k
  }
9993
7.18k
yy758:
9994
7.18k
  YYDEBUG(758, *YYCURSOR);
9995
7.18k
  ++YYCURSOR;
9996
7.18k
  YYFILL(1);
9997
7.18k
  yych = *YYCURSOR;
9998
7.18k
  if (yych <= 'O') {
9999
767
    if (yych <= 0x00) goto yy72;
10000
550
    if (yych == '*') goto yy584;
10001
338
    goto yy515;
10002
6.41k
  } else {
10003
6.41k
    if (yych <= 'P') goto yy787;
10004
5.08k
    if (yych == 'p') goto yy787;
10005
248
    goto yy515;
10006
5.08k
  }
10007
6.61k
yy759:
10008
6.61k
  YYDEBUG(759, *YYCURSOR);
10009
6.61k
  ++YYCURSOR;
10010
6.61k
  YYFILL(1);
10011
6.61k
  yych = *YYCURSOR;
10012
6.61k
  if (yych <= '\r') {
10013
1.10k
    if (yych <= '\t') {
10014
421
      if (yych <= 0x00) goto yy72;
10015
209
      goto yy513;
10016
682
    } else {
10017
682
      if (yych <= '\n') goto yy432;
10018
468
      if (yych <= '\f') goto yy513;
10019
266
      goto yy432;
10020
468
    }
10021
5.51k
  } else {
10022
5.51k
    if (yych <= 'D') {
10023
2.73k
      if (yych <= 'C') goto yy513;
10024
612
      goto yy788;
10025
2.77k
    } else {
10026
2.77k
      if (yych == 'd') goto yy788;
10027
266
      goto yy513;
10028
2.77k
    }
10029
5.51k
  }
10030
8.45k
yy760:
10031
8.45k
  YYDEBUG(760, *YYCURSOR);
10032
8.45k
  ++YYCURSOR;
10033
8.45k
  YYFILL(1);
10034
8.45k
  yych = *YYCURSOR;
10035
8.45k
  if (yych <= '\r') {
10036
1.37k
    if (yych <= '\t') {
10037
466
      if (yych <= 0x00) goto yy72;
10038
226
      goto yy513;
10039
913
    } else {
10040
913
      if (yych <= '\n') goto yy432;
10041
684
      if (yych <= '\f') goto yy513;
10042
291
      goto yy432;
10043
684
    }
10044
7.07k
  } else {
10045
7.07k
    if (yych <= 'M') {
10046
1.82k
      if (yych <= 'L') goto yy513;
10047
1.44k
      goto yy789;
10048
5.25k
    } else {
10049
5.25k
      if (yych == 'm') goto yy789;
10050
314
      goto yy513;
10051
5.25k
    }
10052
7.07k
  }
10053
1.55k
yy761:
10054
1.55k
  YYDEBUG(761, *YYCURSOR);
10055
1.55k
  yyaccept = 4;
10056
1.55k
  yych = *(YYMARKER = ++YYCURSOR);
10057
1.55k
  if (yych == 'E') goto yy790;
10058
1.28k
  if (yych == 'e') goto yy790;
10059
209
  goto yy40;
10060
17.0k
yy762:
10061
17.0k
  YYDEBUG(762, *YYCURSOR);
10062
17.0k
  yyaccept = 88;
10063
17.0k
  YYMARKER = ++YYCURSOR;
10064
17.0k
  YYFILL(1);
10065
17.0k
  yych = *YYCURSOR;
10066
17.0k
  if (yych <= '\\') {
10067
5.64k
    if (yych <= '@') {
10068
2.75k
      if (yych <= '/') goto yy763;
10069
1.82k
      if (yych <= '9') goto yy762;
10070
2.89k
    } else {
10071
2.89k
      if (yych <= 'Z') goto yy762;
10072
1.96k
      if (yych >= '\\') goto yy738;
10073
1.96k
    }
10074
11.4k
  } else {
10075
11.4k
    if (yych <= '`') {
10076
521
      if (yych == '_') goto yy762;
10077
10.9k
    } else {
10078
10.9k
      if (yych <= 'z') goto yy762;
10079
4.56k
      if (yych >= 0x80) goto yy762;
10080
4.56k
    }
10081
11.4k
  }
10082
3.24k
yy763:
10083
3.24k
  YYDEBUG(763, *YYCURSOR);
10084
3.24k
  yyleng = YYCURSOR - SCNG(yy_text);
10085
3.24k
#line 2468 "Zend/zend_language_scanner.l"
10086
3.24k
  {
10087
3.24k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
10088
3.24k
}
10089
0
#line 10090 "Zend/zend_language_scanner.c"
10090
824
yy764:
10091
824
  YYDEBUG(764, *YYCURSOR);
10092
824
  yych = *++YYCURSOR;
10093
824
  if (yych == ')') goto yy792;
10094
447
  goto yy72;
10095
2.17k
yy765:
10096
2.17k
  YYDEBUG(765, *YYCURSOR);
10097
2.17k
  yych = *++YYCURSOR;
10098
2.17k
  if (yych == 'E') goto yy793;
10099
1.69k
  if (yych == 'e') goto yy793;
10100
277
  goto yy72;
10101
841
yy766:
10102
841
  YYDEBUG(766, *YYCURSOR);
10103
841
  ++YYCURSOR;
10104
841
  yyleng = YYCURSOR - SCNG(yy_text);
10105
841
#line 1815 "Zend/zend_language_scanner.l"
10106
841
  {
10107
841
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
10108
841
}
10109
0
#line 10110 "Zend/zend_language_scanner.c"
10110
1.86k
yy767:
10111
1.86k
  YYDEBUG(767, *YYCURSOR);
10112
1.86k
  yyaccept = 4;
10113
1.86k
  yych = *(YYMARKER = ++YYCURSOR);
10114
1.86k
  if (yych == 'E') goto yy794;
10115
1.30k
  if (yych == 'e') goto yy794;
10116
284
  goto yy40;
10117
2.66k
yy768:
10118
2.66k
  YYDEBUG(768, *YYCURSOR);
10119
2.66k
  ++YYCURSOR;
10120
15.3k
yy769:
10121
15.3k
  YYDEBUG(769, *YYCURSOR);
10122
15.3k
  yyleng = YYCURSOR - SCNG(yy_text);
10123
15.3k
#line 1457 "Zend/zend_language_scanner.l"
10124
15.3k
  {
10125
15.3k
  yyless(yyleng - 1);
10126
15.3k
  HANDLE_NEWLINES(yytext, yyleng);
10127
15.3k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
10128
15.3k
}
10129
0
#line 10130 "Zend/zend_language_scanner.c"
10130
45.8k
yy770:
10131
45.8k
  YYDEBUG(770, *YYCURSOR);
10132
45.8k
  ++YYCURSOR;
10133
45.8k
  YYFILL(1);
10134
45.8k
  yych = *YYCURSOR;
10135
45.8k
  if (yych <= '\r') {
10136
39.2k
    if (yych <= '\t') {
10137
762
      if (yych <= 0x00) goto yy72;
10138
461
      goto yy707;
10139
38.4k
    } else {
10140
38.4k
      if (yych <= '\n') goto yy796;
10141
29.3k
      if (yych <= '\f') goto yy707;
10142
29.0k
      goto yy796;
10143
29.3k
    }
10144
39.2k
  } else {
10145
6.66k
    if (yych <= '*') {
10146
2.22k
      if (yych <= ')') goto yy707;
10147
1.32k
      goto yy745;
10148
4.43k
    } else {
10149
4.43k
      if (yych == '[') goto yy609;
10150
4.18k
      goto yy707;
10151
4.43k
    }
10152
6.66k
  }
10153
7.09k
yy771:
10154
7.09k
  YYDEBUG(771, *YYCURSOR);
10155
7.09k
  ++YYCURSOR;
10156
7.09k
  YYFILL(1);
10157
7.09k
  yych = *YYCURSOR;
10158
7.09k
  if (yych <= '*') {
10159
6.02k
    if (yych <= 0x00) goto yy72;
10160
5.75k
    if (yych <= ')') goto yy609;
10161
5.28k
    goto yy797;
10162
5.75k
  } else {
10163
1.06k
    if (yych == '/') goto yy707;
10164
843
    goto yy609;
10165
1.06k
  }
10166
8.21k
yy772:
10167
8.21k
  YYDEBUG(772, *YYCURSOR);
10168
8.21k
  ++YYCURSOR;
10169
8.21k
  YYFILL(1);
10170
8.21k
  yych = *YYCURSOR;
10171
8.21k
  if (yych <= 'Q') {
10172
1.18k
    if (yych <= 0x00) goto yy72;
10173
970
    if (yych == '*') goto yy664;
10174
754
    goto yy609;
10175
7.03k
  } else {
10176
7.03k
    if (yych <= 'R') goto yy798;
10177
1.37k
    if (yych == 'r') goto yy798;
10178
717
    goto yy609;
10179
1.37k
  }
10180
7.57k
yy773:
10181
7.57k
  YYDEBUG(773, *YYCURSOR);
10182
7.57k
  ++YYCURSOR;
10183
7.57k
  YYFILL(1);
10184
7.57k
  yych = *YYCURSOR;
10185
7.57k
  if (yych <= '9') {
10186
4.95k
    if (yych <= '\n') {
10187
1.78k
      if (yych <= 0x00) goto yy768;
10188
1.56k
      if (yych <= '\t') goto yy799;
10189
1.35k
      goto yy800;
10190
3.16k
    } else {
10191
3.16k
      if (yych == '\r') goto yy800;
10192
1.61k
      if (yych <= '/') goto yy799;
10193
810
      goto yy607;
10194
1.61k
    }
10195
4.95k
  } else {
10196
2.61k
    if (yych <= '_') {
10197
1.18k
      if (yych <= '@') goto yy799;
10198
873
      if (yych <= 'Z') goto yy607;
10199
538
      if (yych <= '^') goto yy799;
10200
197
      goto yy607;
10201
1.43k
    } else {
10202
1.43k
      if (yych <= '`') goto yy799;
10203
1.23k
      if (yych <= 'z') goto yy607;
10204
1.00k
      if (yych <= 0x7F) goto yy799;
10205
219
      goto yy607;
10206
1.00k
    }
10207
2.61k
  }
10208
1.89k
yy774:
10209
1.89k
  YYDEBUG(774, *YYCURSOR);
10210
1.89k
  yyaccept = 4;
10211
1.89k
  yych = *(YYMARKER = ++YYCURSOR);
10212
1.89k
  if (yych == '_') goto yy801;
10213
512
  goto yy40;
10214
2.24k
yy775:
10215
2.24k
  YYDEBUG(775, *YYCURSOR);
10216
2.24k
  yyaccept = 4;
10217
2.24k
  yych = *(YYMARKER = ++YYCURSOR);
10218
2.24k
  if (yych == 'I') goto yy803;
10219
1.47k
  if (yych == 'i') goto yy803;
10220
279
  goto yy40;
10221
2.25k
yy776:
10222
2.25k
  YYDEBUG(776, *YYCURSOR);
10223
2.25k
  yyaccept = 4;
10224
2.25k
  yych = *(YYMARKER = ++YYCURSOR);
10225
2.25k
  if (yych == '_') goto yy804;
10226
274
  goto yy40;
10227
1.87k
yy777:
10228
1.87k
  YYDEBUG(777, *YYCURSOR);
10229
1.87k
  yyaccept = 4;
10230
1.87k
  yych = *(YYMARKER = ++YYCURSOR);
10231
1.87k
  if (yych == '_') goto yy805;
10232
326
  goto yy40;
10233
801
yy778:
10234
801
  YYDEBUG(778, *YYCURSOR);
10235
801
  ++YYCURSOR;
10236
3.17k
yy779:
10237
3.17k
  YYDEBUG(779, *YYCURSOR);
10238
3.17k
  yyleng = YYCURSOR - SCNG(yy_text);
10239
3.17k
#line 1599 "Zend/zend_language_scanner.l"
10240
3.17k
  {
10241
3.17k
  yyless(4);
10242
3.17k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10243
3.17k
}
10244
0
#line 10245 "Zend/zend_language_scanner.c"
10245
1.38k
yy780:
10246
1.38k
  YYDEBUG(780, *YYCURSOR);
10247
1.38k
  yych = *++YYCURSOR;
10248
1.38k
  if (yych == 'N') goto yy807;
10249
1.07k
  if (yych == 'n') goto yy807;
10250
437
  goto yy72;
10251
4.09k
yy781:
10252
4.09k
  YYDEBUG(781, *YYCURSOR);
10253
4.09k
  ++YYCURSOR;
10254
4.09k
  YYFILL(1);
10255
4.09k
  yych = *YYCURSOR;
10256
4.09k
  if (yych <= '\f') {
10257
2.33k
    if (yych <= 0x00) goto yy72;
10258
2.11k
    if (yych == '\n') goto yy755;
10259
212
    goto yy643;
10260
2.11k
  } else {
10261
1.76k
    if (yych <= '\r') goto yy755;
10262
517
    if (yych == '*') goto yy689;
10263
299
    goto yy643;
10264
517
  }
10265
10.9k
yy782:
10266
10.9k
  YYDEBUG(782, *YYCURSOR);
10267
10.9k
  ++YYCURSOR;
10268
10.9k
  YYFILL(1);
10269
10.9k
  yych = *YYCURSOR;
10270
10.9k
  if (yych <= '\f') {
10271
796
    if (yych <= 0x00) goto yy72;
10272
536
    if (yych == '\n') goto yy688;
10273
226
    goto yy643;
10274
10.1k
  } else {
10275
10.1k
    if (yych <= '\r') goto yy688;
10276
9.58k
    if (yych == '*') goto yy808;
10277
1.12k
    goto yy643;
10278
9.58k
  }
10279
7.18k
yy783:
10280
7.18k
  YYDEBUG(783, *YYCURSOR);
10281
7.18k
  yyaccept = 53;
10282
7.18k
  YYMARKER = ++YYCURSOR;
10283
7.18k
  YYFILL(1);
10284
7.18k
  yych = *YYCURSOR;
10285
7.18k
  if (yych <= '\f') {
10286
1.25k
    if (yych <= 0x00) goto yy510;
10287
951
    if (yych == '\n') goto yy688;
10288
230
    goto yy643;
10289
5.93k
  } else {
10290
5.93k
    if (yych <= '\r') goto yy688;
10291
4.86k
    if (yych == '*') goto yy689;
10292
4.56k
    goto yy643;
10293
4.86k
  }
10294
22.8k
yy784:
10295
22.8k
  YYDEBUG(784, *YYCURSOR);
10296
22.8k
  yyaccept = 53;
10297
22.8k
  YYMARKER = ++YYCURSOR;
10298
22.8k
  YYFILL(1);
10299
22.8k
  yych = *YYCURSOR;
10300
22.8k
  if (yych <= ')') {
10301
2.62k
    if (yych <= '\n') {
10302
1.25k
      if (yych <= 0x00) goto yy510;
10303
1.04k
      if (yych <= '\t') goto yy643;
10304
364
      goto yy688;
10305
1.36k
    } else {
10306
1.36k
      if (yych == '\r') goto yy688;
10307
1.05k
      goto yy643;
10308
1.36k
    }
10309
20.2k
  } else {
10310
20.2k
    if (yych <= 'X') {
10311
11.1k
      if (yych <= '*') goto yy689;
10312
10.9k
      if (yych <= 'W') goto yy643;
10313
3.82k
      goto yy809;
10314
10.9k
    } else {
10315
9.05k
      if (yych == 'x') goto yy809;
10316
2.89k
      goto yy643;
10317
9.05k
    }
10318
20.2k
  }
10319
23.1k
yy785:
10320
23.1k
  YYDEBUG(785, *YYCURSOR);
10321
23.1k
  yyaccept = 53;
10322
23.1k
  YYMARKER = ++YYCURSOR;
10323
23.1k
  YYFILL(1);
10324
23.1k
  yych = *YYCURSOR;
10325
23.1k
  if (yych <= ')') {
10326
3.94k
    if (yych <= '\n') {
10327
1.05k
      if (yych <= 0x00) goto yy510;
10328
711
      if (yych <= '\t') goto yy643;
10329
461
      goto yy688;
10330
2.88k
    } else {
10331
2.88k
      if (yych == '\r') goto yy688;
10332
313
      goto yy643;
10333
2.88k
    }
10334
19.2k
  } else {
10335
19.2k
    if (yych <= 'M') {
10336
5.50k
      if (yych <= '*') goto yy689;
10337
5.09k
      if (yych <= 'L') goto yy643;
10338
4.76k
      goto yy810;
10339
13.7k
    } else {
10340
13.7k
      if (yych == 'm') goto yy810;
10341
963
      goto yy643;
10342
13.7k
    }
10343
19.2k
  }
10344
3.76k
yy786:
10345
3.76k
  YYDEBUG(786, *YYCURSOR);
10346
3.76k
  ++YYCURSOR;
10347
3.76k
  YYFILL(1);
10348
3.76k
  yych = *YYCURSOR;
10349
3.76k
  if (yych <= 'D') {
10350
771
    if (yych <= 0x00) goto yy72;
10351
571
    if (yych == '*') goto yy584;
10352
370
    goto yy515;
10353
2.99k
  } else {
10354
2.99k
    if (yych <= 'E') goto yy811;
10355
2.61k
    if (yych == 'e') goto yy811;
10356
199
    goto yy515;
10357
2.61k
  }
10358
6.16k
yy787:
10359
6.16k
  YYDEBUG(787, *YYCURSOR);
10360
6.16k
  ++YYCURSOR;
10361
6.16k
  YYFILL(1);
10362
6.16k
  yych = *YYCURSOR;
10363
6.16k
  if (yych <= 'K') {
10364
628
    if (yych <= 0x00) goto yy72;
10365
401
    if (yych == '*') goto yy584;
10366
199
    goto yy515;
10367
5.54k
  } else {
10368
5.54k
    if (yych <= 'L') goto yy812;
10369
4.23k
    if (yych == 'l') goto yy812;
10370
230
    goto yy515;
10371
4.23k
  }
10372
4.04k
yy788:
10373
4.04k
  YYDEBUG(788, *YYCURSOR);
10374
4.04k
  ++YYCURSOR;
10375
4.04k
  YYFILL(1);
10376
4.04k
  yych = *YYCURSOR;
10377
4.04k
  if (yych <= '\r') {
10378
1.31k
    if (yych <= '\t') {
10379
426
      if (yych <= 0x00) goto yy72;
10380
203
      goto yy513;
10381
892
    } else {
10382
892
      if (yych <= '\n') goto yy432;
10383
689
      if (yych <= '\f') goto yy513;
10384
280
      goto yy432;
10385
689
    }
10386
2.72k
  } else {
10387
2.72k
    if (yych <= 'S') {
10388
408
      if (yych <= 'R') goto yy513;
10389
203
      goto yy813;
10390
2.31k
    } else {
10391
2.31k
      if (yych == 's') goto yy813;
10392
476
      goto yy513;
10393
2.31k
    }
10394
2.72k
  }
10395
6.38k
yy789:
10396
6.38k
  YYDEBUG(789, *YYCURSOR);
10397
6.38k
  ++YYCURSOR;
10398
6.38k
  YYFILL(1);
10399
6.38k
  yych = *YYCURSOR;
10400
6.38k
  if (yych <= '\r') {
10401
1.41k
    if (yych <= '\t') {
10402
480
      if (yych <= 0x00) goto yy72;
10403
262
      goto yy513;
10404
931
    } else {
10405
931
      if (yych <= '\n') goto yy432;
10406
720
      if (yych <= '\f') goto yy513;
10407
202
      goto yy432;
10408
720
    }
10409
4.97k
  } else {
10410
4.97k
    if (yych <= 'E') {
10411
1.46k
      if (yych <= 'D') goto yy513;
10412
1.15k
      goto yy814;
10413
3.51k
    } else {
10414
3.51k
      if (yych == 'e') goto yy814;
10415
204
      goto yy513;
10416
3.51k
    }
10417
4.97k
  }
10418
1.34k
yy790:
10419
1.34k
  YYDEBUG(790, *YYCURSOR);
10420
1.34k
  yyaccept = 89;
10421
1.34k
  yych = *(YYMARKER = ++YYCURSOR);
10422
1.34k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
10423
370
    goto yy39;
10424
370
  }
10425
975
  if (yych == '\\') goto yy132;
10426
975
yy791:
10427
975
  YYDEBUG(791, *YYCURSOR);
10428
975
  yyleng = YYCURSOR - SCNG(yy_text);
10429
975
#line 1755 "Zend/zend_language_scanner.l"
10430
975
  {
10431
975
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10432
975
}
10433
0
#line 10434 "Zend/zend_language_scanner.c"
10434
377
yy792:
10435
377
  YYDEBUG(792, *YYCURSOR);
10436
377
  ++YYCURSOR;
10437
377
  yyleng = YYCURSOR - SCNG(yy_text);
10438
377
#line 1823 "Zend/zend_language_scanner.l"
10439
377
  {
10440
377
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10441
377
}
10442
0
#line 10443 "Zend/zend_language_scanner.c"
10443
1.89k
yy793:
10444
1.89k
  YYDEBUG(793, *YYCURSOR);
10445
1.89k
  yych = *++YYCURSOR;
10446
1.89k
  if (yych == 'T') goto yy815;
10447
1.69k
  if (yych == 't') goto yy815;
10448
384
  goto yy72;
10449
1.58k
yy794:
10450
1.58k
  YYDEBUG(794, *YYCURSOR);
10451
1.58k
  yyaccept = 90;
10452
1.58k
  yych = *(YYMARKER = ++YYCURSOR);
10453
1.58k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
10454
617
    goto yy39;
10455
617
  }
10456
966
  if (yych == '\\') goto yy132;
10457
966
yy795:
10458
966
  YYDEBUG(795, *YYCURSOR);
10459
966
  yyleng = YYCURSOR - SCNG(yy_text);
10460
966
#line 1763 "Zend/zend_language_scanner.l"
10461
966
  {
10462
966
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10463
966
}
10464
0
#line 10465 "Zend/zend_language_scanner.c"
10465
44.9k
yy796:
10466
44.9k
  YYDEBUG(796, *YYCURSOR);
10467
44.9k
  ++YYCURSOR;
10468
44.9k
  YYFILL(1);
10469
44.9k
  yych = *YYCURSOR;
10470
44.9k
  if (yych <= '"') {
10471
3.57k
    if (yych <= '\n') {
10472
1.71k
      if (yych <= 0x00) goto yy72;
10473
1.37k
      if (yych <= 0x08) goto yy707;
10474
797
      if (yych <= '\t') goto yy796;
10475
564
      goto yy744;
10476
1.85k
    } else {
10477
1.85k
      if (yych <= '\r') {
10478
964
        if (yych <= '\f') goto yy707;
10479
512
        goto yy744;
10480
964
      } else {
10481
894
        if (yych == ' ') goto yy796;
10482
516
        goto yy707;
10483
894
      }
10484
1.85k
    }
10485
41.3k
  } else {
10486
41.3k
    if (yych <= '/') {
10487
17.0k
      if (yych <= ')') {
10488
5.75k
        if (yych <= '#') goto yy816;
10489
306
        goto yy707;
10490
11.2k
      } else {
10491
11.2k
        if (yych <= '*') goto yy745;
10492
10.8k
        if (yych <= '.') goto yy707;
10493
10.1k
        goto yy817;
10494
10.8k
      }
10495
24.3k
    } else {
10496
24.3k
      if (yych <= 'F') {
10497
20.8k
        if (yych <= 'E') goto yy707;
10498
19.1k
        goto yy818;
10499
20.8k
      } else {
10500
3.48k
        if (yych == 'f') goto yy818;
10501
3.18k
        goto yy707;
10502
3.48k
      }
10503
24.3k
    }
10504
41.3k
  }
10505
5.28k
yy797:
10506
5.28k
  YYDEBUG(797, *YYCURSOR);
10507
5.28k
  ++YYCURSOR;
10508
5.28k
  YYFILL(1);
10509
5.28k
  yych = *YYCURSOR;
10510
5.28k
  if (yych <= '*') {
10511
1.00k
    if (yych <= 0x00) goto yy72;
10512
725
    if (yych <= ')') goto yy609;
10513
244
    goto yy664;
10514
4.27k
  } else {
10515
4.27k
    if (yych == '/') goto yy744;
10516
423
    goto yy609;
10517
4.27k
  }
10518
6.32k
yy798:
10519
6.32k
  YYDEBUG(798, *YYCURSOR);
10520
6.32k
  ++YYCURSOR;
10521
6.32k
  YYFILL(1);
10522
6.32k
  yych = *YYCURSOR;
10523
6.32k
  if (yych <= 'N') {
10524
663
    if (yych <= 0x00) goto yy72;
10525
459
    if (yych == '*') goto yy664;
10526
259
    goto yy609;
10527
5.65k
  } else {
10528
5.65k
    if (yych <= 'O') goto yy819;
10529
999
    if (yych == 'o') goto yy819;
10530
516
    goto yy609;
10531
999
  }
10532
2.63k
yy799:
10533
2.63k
  YYDEBUG(799, *YYCURSOR);
10534
2.63k
  yyaccept = 91;
10535
2.63k
  YYMARKER = ++YYCURSOR;
10536
2.63k
  YYFILL(1);
10537
2.63k
  yych = *YYCURSOR;
10538
2.63k
  if (yych <= '\n') {
10539
962
    if (yych <= 0x00) goto yy769;
10540
708
    if (yych <= '\t') goto yy607;
10541
435
    goto yy540;
10542
1.67k
  } else {
10543
1.67k
    if (yych == '\r') goto yy540;
10544
1.45k
    goto yy607;
10545
1.67k
  }
10546
2.91k
yy800:
10547
2.91k
  YYDEBUG(800, *YYCURSOR);
10548
2.91k
  yyaccept = 91;
10549
2.91k
  YYMARKER = ++YYCURSOR;
10550
2.91k
  YYFILL(5);
10551
2.91k
  yych = *YYCURSOR;
10552
2.91k
  if (yych <= '"') {
10553
1.38k
    if (yych <= '\f') {
10554
645
      if (yych <= 0x08) goto yy769;
10555
428
      if (yych <= '\n') goto yy540;
10556
195
      goto yy769;
10557
739
    } else {
10558
739
      if (yych <= '\r') goto yy540;
10559
541
      if (yych == ' ') goto yy540;
10560
200
      goto yy769;
10561
541
    }
10562
1.53k
  } else {
10563
1.53k
    if (yych <= 'E') {
10564
842
      if (yych <= '#') goto yy541;
10565
513
      if (yych == '/') goto yy542;
10566
311
      goto yy769;
10567
690
    } else {
10568
690
      if (yych <= 'F') goto yy606;
10569
493
      if (yych == 'f') goto yy606;
10570
228
      goto yy769;
10571
493
    }
10572
1.53k
  }
10573
1.38k
yy801:
10574
1.38k
  YYDEBUG(801, *YYCURSOR);
10575
1.38k
  yyaccept = 92;
10576
1.38k
  yych = *(YYMARKER = ++YYCURSOR);
10577
1.38k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
10578
241
    goto yy39;
10579
241
  }
10580
1.14k
  if (yych == '\\') goto yy132;
10581
1.13k
yy802:
10582
1.13k
  YYDEBUG(802, *YYCURSOR);
10583
1.13k
  yyleng = YYCURSOR - SCNG(yy_text);
10584
1.13k
#line 2290 "Zend/zend_language_scanner.l"
10585
1.13k
  {
10586
1.13k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10587
1.13k
}
10588
0
#line 10589 "Zend/zend_language_scanner.c"
10589
1.96k
yy803:
10590
1.96k
  YYDEBUG(803, *YYCURSOR);
10591
1.96k
  yyaccept = 4;
10592
1.96k
  yych = *(YYMARKER = ++YYCURSOR);
10593
1.96k
  if (yych == 'L') goto yy820;
10594
1.39k
  if (yych == 'l') goto yy820;
10595
277
  goto yy40;
10596
1.98k
yy804:
10597
1.98k
  YYDEBUG(804, *YYCURSOR);
10598
1.98k
  yyaccept = 4;
10599
1.98k
  yych = *(YYMARKER = ++YYCURSOR);
10600
1.98k
  if (yych == '_') goto yy821;
10601
364
  goto yy40;
10602
1.54k
yy805:
10603
1.54k
  YYDEBUG(805, *YYCURSOR);
10604
1.54k
  yyaccept = 93;
10605
1.54k
  yych = *(YYMARKER = ++YYCURSOR);
10606
1.54k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
10607
225
    goto yy39;
10608
225
  }
10609
1.32k
  if (yych == '\\') goto yy132;
10610
1.30k
yy806:
10611
1.30k
  YYDEBUG(806, *YYCURSOR);
10612
1.30k
  yyleng = YYCURSOR - SCNG(yy_text);
10613
1.30k
#line 2294 "Zend/zend_language_scanner.l"
10614
1.30k
  {
10615
1.30k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10616
1.30k
}
10617
0
#line 10618 "Zend/zend_language_scanner.c"
10618
948
yy807:
10619
948
  YYDEBUG(807, *YYCURSOR);
10620
948
  yych = *++YYCURSOR;
10621
948
  if (yych == 'T') goto yy753;
10622
738
  if (yych == 't') goto yy753;
10623
401
  goto yy72;
10624
8.45k
yy808:
10625
8.45k
  YYDEBUG(808, *YYCURSOR);
10626
8.45k
  ++YYCURSOR;
10627
8.45k
  YYFILL(1);
10628
8.45k
  yych = *YYCURSOR;
10629
8.45k
  if (yych <= '\r') {
10630
1.94k
    if (yych <= '\t') {
10631
417
      if (yych <= 0x00) goto yy72;
10632
207
      goto yy643;
10633
1.52k
    } else {
10634
1.52k
      if (yych <= '\n') goto yy688;
10635
1.32k
      if (yych <= '\f') goto yy643;
10636
1.10k
      goto yy688;
10637
1.32k
    }
10638
6.51k
  } else {
10639
6.51k
    if (yych <= '*') {
10640
792
      if (yych <= ')') goto yy643;
10641
421
      goto yy689;
10642
5.72k
    } else {
10643
5.72k
      if (yych == '/') goto yy755;
10644
1.18k
      goto yy643;
10645
5.72k
    }
10646
6.51k
  }
10647
9.99k
yy809:
10648
9.99k
  YYDEBUG(809, *YYCURSOR);
10649
9.99k
  ++YYCURSOR;
10650
9.99k
  YYFILL(1);
10651
9.99k
  yych = *YYCURSOR;
10652
9.99k
  if (yych <= ')') {
10653
1.19k
    if (yych <= '\n') {
10654
671
      if (yych <= 0x00) goto yy72;
10655
444
      if (yych <= '\t') goto yy643;
10656
196
      goto yy688;
10657
524
    } else {
10658
524
      if (yych == '\r') goto yy688;
10659
325
      goto yy643;
10660
524
    }
10661
8.80k
  } else {
10662
8.80k
    if (yych <= 'T') {
10663
1.61k
      if (yych <= '*') goto yy689;
10664
1.28k
      if (yych <= 'S') goto yy643;
10665
978
      goto yy823;
10666
7.18k
    } else {
10667
7.18k
      if (yych == 't') goto yy823;
10668
273
      goto yy643;
10669
7.18k
    }
10670
8.80k
  }
10671
17.5k
yy810:
10672
17.5k
  YYDEBUG(810, *YYCURSOR);
10673
17.5k
  ++YYCURSOR;
10674
17.5k
  YYFILL(1);
10675
17.5k
  yych = *YYCURSOR;
10676
17.5k
  if (yych <= ')') {
10677
2.82k
    if (yych <= '\n') {
10678
1.44k
      if (yych <= 0x00) goto yy72;
10679
1.16k
      if (yych <= '\t') goto yy643;
10680
230
      goto yy688;
10681
1.38k
    } else {
10682
1.38k
      if (yych == '\r') goto yy688;
10683
339
      goto yy643;
10684
1.38k
    }
10685
14.7k
  } else {
10686
14.7k
    if (yych <= 'P') {
10687
4.09k
      if (yych <= '*') goto yy689;
10688
3.88k
      if (yych <= 'O') goto yy643;
10689
3.62k
      goto yy824;
10690
10.6k
    } else {
10691
10.6k
      if (yych == 'p') goto yy824;
10692
1.14k
      goto yy643;
10693
10.6k
    }
10694
14.7k
  }
10695
2.79k
yy811:
10696
2.79k
  YYDEBUG(811, *YYCURSOR);
10697
2.79k
  ++YYCURSOR;
10698
2.79k
  YYFILL(1);
10699
2.79k
  yych = *YYCURSOR;
10700
2.79k
  if (yych <= 'M') {
10701
709
    if (yych <= 0x00) goto yy72;
10702
506
    if (yych == '*') goto yy584;
10703
296
    goto yy515;
10704
2.08k
  } else {
10705
2.08k
    if (yych <= 'N') goto yy825;
10706
1.74k
    if (yych == 'n') goto yy825;
10707
207
    goto yy515;
10708
1.74k
  }
10709
5.31k
yy812:
10710
5.31k
  YYDEBUG(812, *YYCURSOR);
10711
5.31k
  ++YYCURSOR;
10712
5.31k
  YYFILL(1);
10713
5.31k
  yych = *YYCURSOR;
10714
5.31k
  if (yych <= 'D') {
10715
628
    if (yych <= 0x00) goto yy72;
10716
398
    if (yych == '*') goto yy584;
10717
199
    goto yy515;
10718
4.68k
  } else {
10719
4.68k
    if (yych <= 'E') goto yy826;
10720
3.63k
    if (yych == 'e') goto yy826;
10721
210
    goto yy515;
10722
3.63k
  }
10723
2.04k
yy813:
10724
2.04k
  YYDEBUG(813, *YYCURSOR);
10725
2.04k
  yyaccept = 94;
10726
2.04k
  YYMARKER = ++YYCURSOR;
10727
2.04k
  YYFILL(1);
10728
2.04k
  yych = *YYCURSOR;
10729
2.04k
  if (yych <= '\n') {
10730
610
    if (yych <= 0x00) goto yy779;
10731
405
    if (yych <= '\t') goto yy513;
10732
197
    goto yy432;
10733
1.43k
  } else {
10734
1.43k
    if (yych == '\r') goto yy432;
10735
1.24k
    goto yy513;
10736
1.43k
  }
10737
4.46k
yy814:
10738
4.46k
  YYDEBUG(814, *YYCURSOR);
10739
4.46k
  ++YYCURSOR;
10740
4.46k
  YYFILL(1);
10741
4.46k
  yych = *YYCURSOR;
10742
4.46k
  if (yych <= '\r') {
10743
1.47k
    if (yych <= '\t') {
10744
818
      if (yych <= 0x00) goto yy72;
10745
617
      goto yy513;
10746
818
    } else {
10747
661
      if (yych <= '\n') goto yy432;
10748
464
      if (yych <= '\f') goto yy513;
10749
266
      goto yy432;
10750
464
    }
10751
2.98k
  } else {
10752
2.98k
    if (yych <= 'N') {
10753
864
      if (yych <= 'M') goto yy513;
10754
654
      goto yy827;
10755
2.11k
    } else {
10756
2.11k
      if (yych == 'n') goto yy827;
10757
211
      goto yy513;
10758
2.11k
    }
10759
2.98k
  }
10760
1.51k
yy815:
10761
1.51k
  YYDEBUG(815, *YYCURSOR);
10762
1.51k
  yych = *++YYCURSOR;
10763
1.51k
  if (yych == ')') goto yy828;
10764
697
  goto yy72;
10765
5.44k
yy816:
10766
5.44k
  YYDEBUG(816, *YYCURSOR);
10767
5.44k
  ++YYCURSOR;
10768
5.44k
  YYFILL(1);
10769
5.44k
  yych = *YYCURSOR;
10770
5.44k
  if (yych <= '\f') {
10771
2.70k
    if (yych <= 0x00) goto yy72;
10772
2.47k
    if (yych == '\n') goto yy796;
10773
204
    goto yy707;
10774
2.74k
  } else {
10775
2.74k
    if (yych <= '\r') goto yy796;
10776
1.15k
    if (yych == '*') goto yy745;
10777
461
    goto yy707;
10778
1.15k
  }
10779
10.1k
yy817:
10780
10.1k
  YYDEBUG(817, *YYCURSOR);
10781
10.1k
  ++YYCURSOR;
10782
10.1k
  YYFILL(1);
10783
10.1k
  yych = *YYCURSOR;
10784
10.1k
  if (yych <= '\f') {
10785
1.04k
    if (yych <= 0x00) goto yy72;
10786
767
    if (yych == '\n') goto yy744;
10787
224
    goto yy707;
10788
9.11k
  } else {
10789
9.11k
    if (yych <= '\r') goto yy744;
10790
8.86k
    if (yych == '*') goto yy829;
10791
3.11k
    goto yy707;
10792
8.86k
  }
10793
19.4k
yy818:
10794
19.4k
  YYDEBUG(818, *YYCURSOR);
10795
19.4k
  ++YYCURSOR;
10796
19.4k
  YYFILL(1);
10797
19.4k
  yych = *YYCURSOR;
10798
19.4k
  if (yych <= ')') {
10799
2.05k
    if (yych <= '\n') {
10800
1.22k
      if (yych <= 0x00) goto yy72;
10801
971
      if (yych <= '\t') goto yy707;
10802
766
      goto yy744;
10803
971
    } else {
10804
828
      if (yych == '\r') goto yy744;
10805
353
      goto yy707;
10806
828
    }
10807
17.3k
  } else {
10808
17.3k
    if (yych <= 'R') {
10809
13.7k
      if (yych <= '*') goto yy745;
10810
13.4k
      if (yych <= 'Q') goto yy707;
10811
12.8k
      goto yy830;
10812
13.4k
    } else {
10813
3.63k
      if (yych == 'r') goto yy830;
10814
936
      goto yy707;
10815
3.63k
    }
10816
17.3k
  }
10817
5.14k
yy819:
10818
5.14k
  YYDEBUG(819, *YYCURSOR);
10819
5.14k
  ++YYCURSOR;
10820
5.14k
  YYFILL(1);
10821
5.14k
  yych = *YYCURSOR;
10822
5.14k
  if (yych <= 'L') {
10823
715
    if (yych <= 0x00) goto yy72;
10824
453
    if (yych == '*') goto yy664;
10825
222
    goto yy609;
10826
4.42k
  } else {
10827
4.42k
    if (yych <= 'M') goto yy831;
10828
667
    if (yych == 'm') goto yy831;
10829
218
    goto yy609;
10830
667
  }
10831
1.68k
yy820:
10832
1.68k
  YYDEBUG(820, *YYCURSOR);
10833
1.68k
  yyaccept = 4;
10834
1.68k
  yych = *(YYMARKER = ++YYCURSOR);
10835
1.68k
  if (yych == 'E') goto yy832;
10836
1.27k
  if (yych == 'e') goto yy832;
10837
244
  goto yy40;
10838
1.61k
yy821:
10839
1.61k
  YYDEBUG(821, *YYCURSOR);
10840
1.61k
  yyaccept = 95;
10841
1.61k
  yych = *(YYMARKER = ++YYCURSOR);
10842
1.61k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
10843
474
    goto yy39;
10844
474
  }
10845
1.14k
  if (yych == '\\') goto yy132;
10846
1.14k
yy822:
10847
1.14k
  YYDEBUG(822, *YYCURSOR);
10848
1.14k
  yyleng = YYCURSOR - SCNG(yy_text);
10849
1.14k
#line 2314 "Zend/zend_language_scanner.l"
10850
1.14k
  {
10851
1.14k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10852
1.14k
}
10853
0
#line 10854 "Zend/zend_language_scanner.c"
10854
7.88k
yy823:
10855
7.88k
  YYDEBUG(823, *YYCURSOR);
10856
7.88k
  ++YYCURSOR;
10857
7.88k
  YYFILL(1);
10858
7.88k
  yych = *YYCURSOR;
10859
7.88k
  if (yych <= ')') {
10860
1.05k
    if (yych <= '\n') {
10861
640
      if (yych <= 0x00) goto yy72;
10862
433
      if (yych <= '\t') goto yy643;
10863
214
      goto yy688;
10864
433
    } else {
10865
412
      if (yych == '\r') goto yy688;
10866
209
      goto yy643;
10867
412
    }
10868
6.83k
  } else {
10869
6.83k
    if (yych <= 'E') {
10870
1.24k
      if (yych <= '*') goto yy689;
10871
908
      if (yych <= 'D') goto yy643;
10872
709
      goto yy833;
10873
5.58k
    } else {
10874
5.58k
      if (yych == 'e') goto yy833;
10875
218
      goto yy643;
10876
5.58k
    }
10877
6.83k
  }
10878
13.0k
yy824:
10879
13.0k
  YYDEBUG(824, *YYCURSOR);
10880
13.0k
  ++YYCURSOR;
10881
13.0k
  YYFILL(1);
10882
13.0k
  yych = *YYCURSOR;
10883
13.0k
  if (yych <= ')') {
10884
1.29k
    if (yych <= '\n') {
10885
748
      if (yych <= 0x00) goto yy72;
10886
533
      if (yych <= '\t') goto yy643;
10887
330
      goto yy688;
10888
544
    } else {
10889
544
      if (yych == '\r') goto yy688;
10890
338
      goto yy643;
10891
544
    }
10892
11.8k
  } else {
10893
11.8k
    if (yych <= 'L') {
10894
3.74k
      if (yych <= '*') goto yy689;
10895
3.54k
      if (yych <= 'K') goto yy643;
10896
3.29k
      goto yy834;
10897
8.05k
    } else {
10898
8.05k
      if (yych == 'l') goto yy834;
10899
311
      goto yy643;
10900
8.05k
    }
10901
11.8k
  }
10902
1.88k
yy825:
10903
1.88k
  YYDEBUG(825, *YYCURSOR);
10904
1.88k
  ++YYCURSOR;
10905
1.88k
  YYFILL(1);
10906
1.88k
  yych = *YYCURSOR;
10907
1.88k
  if (yych <= 'C') {
10908
618
    if (yych <= 0x00) goto yy72;
10909
412
    if (yych == '*') goto yy584;
10910
205
    goto yy515;
10911
1.26k
  } else {
10912
1.26k
    if (yych <= 'D') goto yy835;
10913
911
    if (yych == 'd') goto yy835;
10914
346
    goto yy515;
10915
911
  }
10916
4.47k
yy826:
10917
4.47k
  YYDEBUG(826, *YYCURSOR);
10918
4.47k
  ++YYCURSOR;
10919
4.47k
  YYFILL(1);
10920
4.47k
  yych = *YYCURSOR;
10921
4.47k
  if (yych <= 'L') {
10922
619
    if (yych <= 0x00) goto yy72;
10923
401
    if (yych == '*') goto yy584;
10924
202
    goto yy515;
10925
3.85k
  } else {
10926
3.85k
    if (yych <= 'M') goto yy836;
10927
3.03k
    if (yych == 'm') goto yy836;
10928
203
    goto yy515;
10929
3.03k
  }
10930
2.56k
yy827:
10931
2.56k
  YYDEBUG(827, *YYCURSOR);
10932
2.56k
  ++YYCURSOR;
10933
2.56k
  YYFILL(1);
10934
2.56k
  yych = *YYCURSOR;
10935
2.56k
  if (yych <= '\r') {
10936
1.06k
    if (yych <= '\t') {
10937
466
      if (yych <= 0x00) goto yy72;
10938
263
      goto yy513;
10939
599
    } else {
10940
599
      if (yych <= '\n') goto yy432;
10941
403
      if (yych <= '\f') goto yy513;
10942
203
      goto yy432;
10943
403
    }
10944
1.49k
  } else {
10945
1.49k
    if (yych <= 'T') {
10946
532
      if (yych <= 'S') goto yy513;
10947
205
      goto yy788;
10948
964
    } else {
10949
964
      if (yych == 't') goto yy788;
10950
248
      goto yy513;
10951
964
    }
10952
1.49k
  }
10953
814
yy828:
10954
814
  YYDEBUG(828, *YYCURSOR);
10955
814
  ++YYCURSOR;
10956
814
  yyleng = YYCURSOR - SCNG(yy_text);
10957
814
#line 1819 "Zend/zend_language_scanner.l"
10958
814
  {
10959
814
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10960
814
}
10961
0
#line 10962 "Zend/zend_language_scanner.c"
10962
5.74k
yy829:
10963
5.74k
  YYDEBUG(829, *YYCURSOR);
10964
5.74k
  ++YYCURSOR;
10965
5.74k
  YYFILL(1);
10966
5.74k
  yych = *YYCURSOR;
10967
5.74k
  if (yych <= '\r') {
10968
1.90k
    if (yych <= '\t') {
10969
926
      if (yych <= 0x00) goto yy72;
10970
724
      goto yy707;
10971
974
    } else {
10972
974
      if (yych <= '\n') goto yy744;
10973
697
      if (yych <= '\f') goto yy707;
10974
489
      goto yy744;
10975
697
    }
10976
3.84k
  } else {
10977
3.84k
    if (yych <= '*') {
10978
815
      if (yych <= ')') goto yy707;
10979
502
      goto yy745;
10980
3.03k
    } else {
10981
3.03k
      if (yych == '/') goto yy796;
10982
732
      goto yy707;
10983
3.03k
    }
10984
3.84k
  }
10985
15.4k
yy830:
10986
15.4k
  YYDEBUG(830, *YYCURSOR);
10987
15.4k
  ++YYCURSOR;
10988
15.4k
  YYFILL(1);
10989
15.4k
  yych = *YYCURSOR;
10990
15.4k
  if (yych <= ')') {
10991
1.30k
    if (yych <= '\n') {
10992
638
      if (yych <= 0x00) goto yy72;
10993
433
      if (yych <= '\t') goto yy707;
10994
208
      goto yy744;
10995
670
    } else {
10996
670
      if (yych == '\r') goto yy744;
10997
424
      goto yy707;
10998
670
    }
10999
14.1k
  } else {
11000
14.1k
    if (yych <= 'O') {
11001
10.5k
      if (yych <= '*') goto yy745;
11002
10.0k
      if (yych <= 'N') goto yy707;
11003
9.70k
      goto yy837;
11004
10.0k
    } else {
11005
3.60k
      if (yych == 'o') goto yy837;
11006
949
      goto yy707;
11007
3.60k
    }
11008
14.1k
  }
11009
4.20k
yy831:
11010
4.20k
  YYDEBUG(831, *YYCURSOR);
11011
4.20k
  ++YYCURSOR;
11012
4.20k
  YYFILL(1);
11013
4.20k
  yych = *YYCURSOR;
11014
4.20k
  if (yych <= '@') {
11015
2.52k
    if (yych <= '*') {
11016
1.76k
      if (yych <= 0x00) goto yy768;
11017
1.54k
      if (yych <= ')') goto yy838;
11018
1.04k
      goto yy839;
11019
1.54k
    } else {
11020
760
      if (yych <= '/') goto yy838;
11021
565
      if (yych <= '9') goto yy609;
11022
214
      goto yy838;
11023
565
    }
11024
2.52k
  } else {
11025
1.68k
    if (yych <= '_') {
11026
645
      if (yych <= 'Z') goto yy609;
11027
446
      if (yych <= '^') goto yy838;
11028
195
      goto yy609;
11029
1.04k
    } else {
11030
1.04k
      if (yych <= '`') goto yy838;
11031
846
      if (yych <= 'z') goto yy609;
11032
611
      if (yych <= 0x7F) goto yy838;
11033
379
      goto yy609;
11034
611
    }
11035
1.68k
  }
11036
1.44k
yy832:
11037
1.44k
  YYDEBUG(832, *YYCURSOR);
11038
1.44k
  yyaccept = 4;
11039
1.44k
  yych = *(YYMARKER = ++YYCURSOR);
11040
1.44k
  if (yych == 'R') goto yy840;
11041
1.02k
  if (yych == 'r') goto yy840;
11042
325
  goto yy40;
11043
6.08k
yy833:
11044
6.08k
  YYDEBUG(833, *YYCURSOR);
11045
6.08k
  ++YYCURSOR;
11046
6.08k
  YYFILL(1);
11047
6.08k
  yych = *YYCURSOR;
11048
6.08k
  if (yych <= ')') {
11049
1.48k
    if (yych <= '\n') {
11050
710
      if (yych <= 0x00) goto yy72;
11051
475
      if (yych <= '\t') goto yy643;
11052
195
      goto yy688;
11053
776
    } else {
11054
776
      if (yych == '\r') goto yy688;
11055
337
      goto yy643;
11056
776
    }
11057
4.59k
  } else {
11058
4.59k
    if (yych <= 'N') {
11059
963
      if (yych <= '*') goto yy689;
11060
761
      if (yych <= 'M') goto yy643;
11061
529
      goto yy842;
11062
3.63k
    } else {
11063
3.63k
      if (yych == 'n') goto yy842;
11064
197
      goto yy643;
11065
3.63k
    }
11066
4.59k
  }
11067
11.0k
yy834:
11068
11.0k
  YYDEBUG(834, *YYCURSOR);
11069
11.0k
  ++YYCURSOR;
11070
11.0k
  YYFILL(1);
11071
11.0k
  yych = *YYCURSOR;
11072
11.0k
  if (yych <= ')') {
11073
1.04k
    if (yych <= '\n') {
11074
600
      if (yych <= 0x00) goto yy72;
11075
397
      if (yych <= '\t') goto yy643;
11076
197
      goto yy688;
11077
449
    } else {
11078
449
      if (yych == '\r') goto yy688;
11079
235
      goto yy643;
11080
449
    }
11081
9.99k
  } else {
11082
9.99k
    if (yych <= 'E') {
11083
3.32k
      if (yych <= '*') goto yy689;
11084
3.08k
      if (yych <= 'D') goto yy643;
11085
2.88k
      goto yy843;
11086
6.66k
    } else {
11087
6.66k
      if (yych == 'e') goto yy843;
11088
378
      goto yy643;
11089
6.66k
    }
11090
9.99k
  }
11091
2.02k
yy835:
11092
2.02k
  YYDEBUG(835, *YYCURSOR);
11093
2.02k
  ++YYCURSOR;
11094
2.02k
  YYFILL(1);
11095
2.02k
  yych = *YYCURSOR;
11096
2.02k
  if (yych <= 'R') {
11097
919
    if (yych <= 0x00) goto yy72;
11098
718
    if (yych == '*') goto yy584;
11099
379
    goto yy515;
11100
1.10k
  } else {
11101
1.10k
    if (yych <= 'S') goto yy844;
11102
884
    if (yych == 's') goto yy844;
11103
296
    goto yy515;
11104
884
  }
11105
3.65k
yy836:
11106
3.65k
  YYDEBUG(836, *YYCURSOR);
11107
3.65k
  ++YYCURSOR;
11108
3.65k
  YYFILL(1);
11109
3.65k
  yych = *YYCURSOR;
11110
3.65k
  if (yych <= 'D') {
11111
654
    if (yych <= 0x00) goto yy72;
11112
423
    if (yych == '*') goto yy584;
11113
205
    goto yy515;
11114
2.99k
  } else {
11115
2.99k
    if (yych <= 'E') goto yy845;
11116
2.65k
    if (yych == 'e') goto yy845;
11117
227
    goto yy515;
11118
2.65k
  }
11119
12.3k
yy837:
11120
12.3k
  YYDEBUG(837, *YYCURSOR);
11121
12.3k
  ++YYCURSOR;
11122
12.3k
  YYFILL(1);
11123
12.3k
  yych = *YYCURSOR;
11124
12.3k
  if (yych <= ')') {
11125
1.26k
    if (yych <= '\n') {
11126
831
      if (yych <= 0x00) goto yy72;
11127
627
      if (yych <= '\t') goto yy707;
11128
346
      goto yy744;
11129
627
    } else {
11130
429
      if (yych == '\r') goto yy744;
11131
228
      goto yy707;
11132
429
    }
11133
11.1k
  } else {
11134
11.1k
    if (yych <= 'M') {
11135
8.21k
      if (yych <= '*') goto yy745;
11136
7.92k
      if (yych <= 'L') goto yy707;
11137
7.72k
      goto yy846;
11138
7.92k
    } else {
11139
2.89k
      if (yych == 'm') goto yy846;
11140
433
      goto yy707;
11141
2.89k
    }
11142
11.1k
  }
11143
1.59k
yy838:
11144
1.59k
  YYDEBUG(838, *YYCURSOR);
11145
1.59k
  yyaccept = 91;
11146
1.59k
  YYMARKER = ++YYCURSOR;
11147
1.59k
  YYFILL(1);
11148
1.59k
  yych = *YYCURSOR;
11149
1.59k
  if (yych <= 0x00) goto yy769;
11150
1.21k
  if (yych == '*') goto yy664;
11151
811
  goto yy609;
11152
1.04k
yy839:
11153
1.04k
  YYDEBUG(839, *YYCURSOR);
11154
1.04k
  yyaccept = 91;
11155
1.04k
  YYMARKER = ++YYCURSOR;
11156
1.04k
  YYFILL(1);
11157
1.04k
  yych = *YYCURSOR;
11158
1.04k
  if (yych <= '*') {
11159
644
    if (yych <= 0x00) goto yy769;
11160
413
    if (yych <= ')') goto yy609;
11161
213
    goto yy664;
11162
413
  } else {
11163
396
    if (yych == '/') goto yy540;
11164
202
    goto yy609;
11165
396
  }
11166
1.11k
yy840:
11167
1.11k
  YYDEBUG(840, *YYCURSOR);
11168
1.11k
  yyaccept = 96;
11169
1.11k
  yych = *(YYMARKER = ++YYCURSOR);
11170
1.11k
  if (yybm_ST_IN_SCRIPTING[256+yych] & 128) {
11171
507
    goto yy39;
11172
507
  }
11173
609
  if (yych == '\\') goto yy132;
11174
606
yy841:
11175
606
  YYDEBUG(841, *YYCURSOR);
11176
606
  yyleng = YYCURSOR - SCNG(yy_text);
11177
606
#line 1791 "Zend/zend_language_scanner.l"
11178
606
  {
11179
606
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11180
606
}
11181
0
#line 11182 "Zend/zend_language_scanner.c"
11182
3.96k
yy842:
11183
3.96k
  YYDEBUG(842, *YYCURSOR);
11184
3.96k
  ++YYCURSOR;
11185
3.96k
  YYFILL(1);
11186
3.96k
  yych = *YYCURSOR;
11187
3.96k
  if (yych <= ')') {
11188
994
    if (yych <= '\n') {
11189
601
      if (yych <= 0x00) goto yy72;
11190
401
      if (yych <= '\t') goto yy643;
11191
200
      goto yy688;
11192
401
    } else {
11193
393
      if (yych == '\r') goto yy688;
11194
195
      goto yy643;
11195
393
    }
11196
2.96k
  } else {
11197
2.96k
    if (yych <= 'D') {
11198
1.40k
      if (yych <= '*') goto yy689;
11199
1.20k
      if (yych <= 'C') goto yy643;
11200
794
      goto yy847;
11201
1.56k
    } else {
11202
1.56k
      if (yych == 'd') goto yy847;
11203
212
      goto yy643;
11204
1.56k
    }
11205
2.96k
  }
11206
9.16k
yy843:
11207
9.16k
  YYDEBUG(843, *YYCURSOR);
11208
9.16k
  ++YYCURSOR;
11209
9.16k
  YYFILL(1);
11210
9.16k
  yych = *YYCURSOR;
11211
9.16k
  if (yych <= ')') {
11212
1.01k
    if (yych <= '\n') {
11213
609
      if (yych <= 0x00) goto yy72;
11214
402
      if (yych <= '\t') goto yy643;
11215
204
      goto yy688;
11216
408
    } else {
11217
408
      if (yych == '\r') goto yy688;
11218
203
      goto yy643;
11219
408
    }
11220
8.14k
  } else {
11221
8.14k
    if (yych <= 'M') {
11222
2.83k
      if (yych <= '*') goto yy689;
11223
2.62k
      if (yych <= 'L') goto yy643;
11224
2.42k
      goto yy848;
11225
5.31k
    } else {
11226
5.31k
      if (yych == 'm') goto yy848;
11227
235
      goto yy643;
11228
5.31k
    }
11229
8.14k
  }
11230
811
yy844:
11231
811
  YYDEBUG(844, *YYCURSOR);
11232
811
  yyaccept = 94;
11233
811
  YYMARKER = ++YYCURSOR;
11234
811
  YYFILL(1);
11235
811
  yych = *YYCURSOR;
11236
811
  if (yych <= 0x00) goto yy779;
11237
601
  if (yych == '*') goto yy584;
11238
397
  goto yy515;
11239
2.77k
yy845:
11240
2.77k
  YYDEBUG(845, *YYCURSOR);
11241
2.77k
  ++YYCURSOR;
11242
2.77k
  YYFILL(1);
11243
2.77k
  yych = *YYCURSOR;
11244
2.77k
  if (yych <= 'M') {
11245
594
    if (yych <= 0x00) goto yy72;
11246
394
    if (yych == '*') goto yy584;
11247
200
    goto yy515;
11248
2.17k
  } else {
11249
2.17k
    if (yych <= 'N') goto yy849;
11250
1.68k
    if (yych == 'n') goto yy849;
11251
211
    goto yy515;
11252
1.68k
  }
11253
10.1k
yy846:
11254
10.1k
  YYDEBUG(846, *YYCURSOR);
11255
10.1k
  ++YYCURSOR;
11256
10.1k
  YYFILL(1);
11257
10.1k
  yych = *YYCURSOR;
11258
10.1k
  if (yych <= '/') {
11259
7.31k
    if (yych <= '\f') {
11260
3.34k
      if (yych <= 0x00) goto yy768;
11261
3.13k
      if (yych == '\n') goto yy851;
11262
423
      goto yy850;
11263
3.96k
    } else {
11264
3.96k
      if (yych <= '\r') goto yy851;
11265
2.77k
      if (yych == '*') goto yy852;
11266
619
      goto yy850;
11267
2.77k
    }
11268
7.31k
  } else {
11269
2.87k
    if (yych <= '^') {
11270
1.11k
      if (yych <= '9') goto yy707;
11271
854
      if (yych <= '@') goto yy850;
11272
564
      if (yych <= 'Z') goto yy707;
11273
271
      goto yy850;
11274
1.75k
    } else {
11275
1.75k
      if (yych <= '`') {
11276
399
        if (yych <= '_') goto yy707;
11277
198
        goto yy850;
11278
1.35k
      } else {
11279
1.35k
        if (yych <= 'z') goto yy707;
11280
1.12k
        if (yych <= 0x7F) goto yy850;
11281
439
        goto yy707;
11282
1.12k
      }
11283
1.75k
    }
11284
2.87k
  }
11285
3.21k
yy847:
11286
3.21k
  YYDEBUG(847, *YYCURSOR);
11287
3.21k
  ++YYCURSOR;
11288
3.21k
  YYFILL(1);
11289
3.21k
  yych = *YYCURSOR;
11290
3.21k
  if (yych <= ')') {
11291
1.15k
    if (yych <= '\n') {
11292
605
      if (yych <= 0x00) goto yy72;
11293
407
      if (yych <= '\t') goto yy643;
11294
203
      goto yy688;
11295
547
    } else {
11296
547
      if (yych == '\r') goto yy688;
11297
351
      goto yy643;
11298
547
    }
11299
2.06k
  } else {
11300
2.06k
    if (yych <= 'S') {
11301
814
      if (yych <= '*') goto yy689;
11302
610
      if (yych <= 'R') goto yy643;
11303
383
      goto yy853;
11304
1.24k
    } else {
11305
1.24k
      if (yych == 's') goto yy853;
11306
385
      goto yy643;
11307
1.24k
    }
11308
2.06k
  }
11309
7.50k
yy848:
11310
7.50k
  YYDEBUG(848, *YYCURSOR);
11311
7.50k
  ++YYCURSOR;
11312
7.50k
  YYFILL(1);
11313
7.50k
  yych = *YYCURSOR;
11314
7.50k
  if (yych <= ')') {
11315
1.16k
    if (yych <= '\n') {
11316
745
      if (yych <= 0x00) goto yy72;
11317
407
      if (yych <= '\t') goto yy643;
11318
203
      goto yy688;
11319
416
    } else {
11320
416
      if (yych == '\r') goto yy688;
11321
214
      goto yy643;
11322
416
    }
11323
6.34k
  } else {
11324
6.34k
    if (yych <= 'E') {
11325
2.31k
      if (yych <= '*') goto yy689;
11326
1.89k
      if (yych <= 'D') goto yy643;
11327
1.69k
      goto yy854;
11328
4.02k
    } else {
11329
4.02k
      if (yych == 'e') goto yy854;
11330
385
      goto yy643;
11331
4.02k
    }
11332
6.34k
  }
11333
1.96k
yy849:
11334
1.96k
  YYDEBUG(849, *YYCURSOR);
11335
1.96k
  ++YYCURSOR;
11336
1.96k
  YYFILL(1);
11337
1.96k
  yych = *YYCURSOR;
11338
1.96k
  if (yych <= 'S') {
11339
653
    if (yych <= 0x00) goto yy72;
11340
403
    if (yych == '*') goto yy584;
11341
201
    goto yy515;
11342
1.31k
  } else {
11343
1.31k
    if (yych <= 'T') goto yy835;
11344
984
    if (yych == 't') goto yy835;
11345
203
    goto yy515;
11346
984
  }
11347
2.48k
yy850:
11348
2.48k
  YYDEBUG(850, *YYCURSOR);
11349
2.48k
  yyaccept = 91;
11350
2.48k
  YYMARKER = ++YYCURSOR;
11351
2.48k
  YYFILL(1);
11352
2.48k
  yych = *YYCURSOR;
11353
2.48k
  if (yych <= '\f') {
11354
969
    if (yych <= 0x00) goto yy769;
11355
763
    if (yych == '\n') goto yy744;
11356
413
    goto yy707;
11357
1.51k
  } else {
11358
1.51k
    if (yych <= '\r') goto yy744;
11359
1.13k
    if (yych == '*') goto yy745;
11360
847
    goto yy707;
11361
1.13k
  }
11362
3.91k
yy851:
11363
3.91k
  YYDEBUG(851, *YYCURSOR);
11364
3.91k
  yyaccept = 91;
11365
3.91k
  YYMARKER = ++YYCURSOR;
11366
3.91k
  YYFILL(1);
11367
3.91k
  yych = *YYCURSOR;
11368
3.91k
  if (yych <= '#') {
11369
2.17k
    if (yych <= '\f') {
11370
828
      if (yych <= 0x00) goto yy769;
11371
634
      if (yych <= 0x08) goto yy609;
11372
418
      if (yych <= '\n') goto yy744;
11373
222
      goto yy609;
11374
1.34k
    } else {
11375
1.34k
      if (yych <= 0x1F) {
11376
638
        if (yych <= '\r') goto yy744;
11377
201
        goto yy609;
11378
709
      } else {
11379
709
        if (yych <= ' ') goto yy744;
11380
486
        if (yych <= '"') goto yy609;
11381
280
        goto yy770;
11382
486
      }
11383
1.34k
    }
11384
2.17k
  } else {
11385
1.73k
    if (yych <= '/') {
11386
836
      if (yych == '*') goto yy664;
11387
435
      if (yych <= '.') goto yy609;
11388
201
      goto yy771;
11389
899
    } else {
11390
899
      if (yych <= 'F') {
11391
406
        if (yych <= 'E') goto yy609;
11392
202
        goto yy772;
11393
493
      } else {
11394
493
        if (yych == 'f') goto yy772;
11395
277
        goto yy609;
11396
493
      }
11397
899
    }
11398
1.73k
  }
11399
2.15k
yy852:
11400
2.15k
  YYDEBUG(852, *YYCURSOR);
11401
2.15k
  yyaccept = 91;
11402
2.15k
  YYMARKER = ++YYCURSOR;
11403
2.15k
  YYFILL(1);
11404
2.15k
  yych = *YYCURSOR;
11405
2.15k
  if (yych <= '\r') {
11406
1.11k
    if (yych <= '\t') {
11407
409
      if (yych <= 0x00) goto yy769;
11408
198
      goto yy707;
11409
710
    } else {
11410
710
      if (yych <= '\n') goto yy744;
11411
399
      if (yych <= '\f') goto yy707;
11412
201
      goto yy744;
11413
399
    }
11414
1.11k
  } else {
11415
1.03k
    if (yych <= '*') {
11416
600
      if (yych <= ')') goto yy707;
11417
206
      goto yy745;
11418
600
    } else {
11419
434
      if (yych == '/') goto yy608;
11420
240
      goto yy707;
11421
434
    }
11422
1.03k
  }
11423
1.24k
yy853:
11424
1.24k
  YYDEBUG(853, *YYCURSOR);
11425
1.24k
  yyaccept = 94;
11426
1.24k
  YYMARKER = ++YYCURSOR;
11427
1.24k
  YYFILL(1);
11428
1.24k
  yych = *YYCURSOR;
11429
1.24k
  if (yych <= '\f') {
11430
607
    if (yych <= 0x00) goto yy779;
11431
398
    if (yych == '\n') goto yy688;
11432
200
    goto yy643;
11433
639
  } else {
11434
639
    if (yych <= '\r') goto yy688;
11435
427
    if (yych == '*') goto yy689;
11436
225
    goto yy643;
11437
427
  }
11438
5.34k
yy854:
11439
5.34k
  YYDEBUG(854, *YYCURSOR);
11440
5.34k
  ++YYCURSOR;
11441
5.34k
  YYFILL(1);
11442
5.34k
  yych = *YYCURSOR;
11443
5.34k
  if (yych <= ')') {
11444
1.11k
    if (yych <= '\n') {
11445
670
      if (yych <= 0x00) goto yy72;
11446
464
      if (yych <= '\t') goto yy643;
11447
200
      goto yy688;
11448
464
    } else {
11449
446
      if (yych == '\r') goto yy688;
11450
229
      goto yy643;
11451
446
    }
11452
4.22k
  } else {
11453
4.22k
    if (yych <= 'N') {
11454
2.09k
      if (yych <= '*') goto yy689;
11455
1.74k
      if (yych <= 'M') goto yy643;
11456
2.13k
    } else {
11457
2.13k
      if (yych != 'n') goto yy643;
11458
2.13k
    }
11459
4.22k
  }
11460
3.13k
  ++YYCURSOR;
11461
3.13k
  YYFILL(1);
11462
3.13k
  yych = *YYCURSOR;
11463
3.13k
  if (yych <= ')') {
11464
1.17k
    if (yych <= '\n') {
11465
772
      if (yych <= 0x00) goto yy72;
11466
463
      if (yych <= '\t') goto yy643;
11467
200
      goto yy688;
11468
463
    } else {
11469
405
      if (yych == '\r') goto yy688;
11470
196
      goto yy643;
11471
405
    }
11472
1.95k
  } else {
11473
1.95k
    if (yych <= 'T') {
11474
872
      if (yych <= '*') goto yy689;
11475
676
      if (yych <= 'S') goto yy643;
11476
200
      goto yy847;
11477
1.08k
    } else {
11478
1.08k
      if (yych == 't') goto yy847;
11479
212
      goto yy643;
11480
1.08k
    }
11481
1.95k
  }
11482
/* *********************************** */
11483
70.1k
yyc_ST_LOOKING_FOR_PROPERTY:
11484
70.1k
  YYDEBUG(855, *YYCURSOR);
11485
70.1k
  YYFILL(4);
11486
70.1k
  yych = *YYCURSOR;
11487
70.1k
  if (yybm_ST_LOOKING_FOR_PROPERTY[0+yych] & 64) {
11488
2.05k
    goto yy858;
11489
2.05k
  }
11490
68.0k
  if (yych <= '?') {
11491
21.2k
    if (yych <= '-') {
11492
10.1k
      if (yych == '#') goto yy859;
11493
8.05k
      if (yych >= '-') goto yy860;
11494
11.1k
    } else {
11495
11.1k
      if (yych == '/') goto yy861;
11496
4.59k
      if (yych >= '?') goto yy862;
11497
4.59k
    }
11498
46.8k
  } else {
11499
46.8k
    if (yych <= '_') {
11500
5.61k
      if (yych <= '@') goto yy856;
11501
5.38k
      if (yych <= 'Z') goto yy863;
11502
2.77k
      if (yych >= '_') goto yy863;
11503
41.2k
    } else {
11504
41.2k
      if (yych <= '`') goto yy856;
11505
40.7k
      if (yych <= 'z') goto yy863;
11506
16.2k
      if (yych >= 0x80) goto yy863;
11507
16.2k
    }
11508
46.8k
  }
11509
5.58k
yy856:
11510
5.58k
  YYDEBUG(856, *YYCURSOR);
11511
5.58k
  ++YYCURSOR;
11512
6.94k
yy857:
11513
6.94k
  YYDEBUG(857, *YYCURSOR);
11514
6.94k
  yyleng = YYCURSOR - SCNG(yy_text);
11515
6.94k
#line 2549 "Zend/zend_language_scanner.l"
11516
6.94k
  {
11517
6.94k
  yyless(0);
11518
6.94k
  yy_pop_state();
11519
6.94k
  goto restart;
11520
5.58k
}
11521
0
#line 11522 "Zend/zend_language_scanner.c"
11522
2.50k
yy858:
11523
2.50k
  YYDEBUG(858, *YYCURSOR);
11524
2.50k
  ++YYCURSOR;
11525
2.50k
  YYFILL(1);
11526
2.50k
  yych = *YYCURSOR;
11527
2.50k
  if (yybm_ST_LOOKING_FOR_PROPERTY[0+yych] & 64) {
11528
451
    goto yy858;
11529
451
  }
11530
2.05k
  yyleng = YYCURSOR - SCNG(yy_text);
11531
2.05k
#line 1626 "Zend/zend_language_scanner.l"
11532
2.05k
  {
11533
2.05k
  goto return_whitespace;
11534
2.50k
}
11535
0
#line 11536 "Zend/zend_language_scanner.c"
11536
2.41k
yy859:
11537
2.41k
  YYDEBUG(859, *YYCURSOR);
11538
2.41k
  ++YYCURSOR;
11539
2.41k
  yyleng = YYCURSOR - SCNG(yy_text);
11540
2.41k
#line 2489 "Zend/zend_language_scanner.l"
11541
2.41k
  {
11542
7.59k
  while (YYCURSOR < YYLIMIT) {
11543
7.04k
    switch (*YYCURSOR++) {
11544
339
      case '\r':
11545
1.64k
      case '\n':
11546
1.64k
        YYCURSOR--;
11547
1.64k
        break;
11548
519
      case '?':
11549
519
        if (*YYCURSOR == '>') {
11550
223
          YYCURSOR--;
11551
223
          break;
11552
223
        }
11553
296
        ZEND_FALLTHROUGH;
11554
5.17k
      default:
11555
5.17k
        continue;
11556
7.04k
    }
11557
11558
1.86k
    break;
11559
7.04k
  }
11560
11561
2.41k
  yyleng = YYCURSOR - SCNG(yy_text);
11562
2.41k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11563
2.41k
}
11564
0
#line 11565 "Zend/zend_language_scanner.c"
11565
4.96k
yy860:
11566
4.96k
  YYDEBUG(860, *YYCURSOR);
11567
4.96k
  yych = *++YYCURSOR;
11568
4.96k
  if (yych == '>') goto yy864;
11569
288
  goto yy857;
11570
6.51k
yy861:
11571
6.51k
  YYDEBUG(861, *YYCURSOR);
11572
6.51k
  yych = *++YYCURSOR;
11573
6.51k
  if (yych == '*') goto yy865;
11574
590
  if (yych == '/') goto yy859;
11575
290
  goto yy857;
11576
4.03k
yy862:
11577
4.03k
  YYDEBUG(862, *YYCURSOR);
11578
4.03k
  yyaccept = 0;
11579
4.03k
  yych = *(YYMARKER = ++YYCURSOR);
11580
4.03k
  if (yych == '-') goto yy867;
11581
463
  goto yy857;
11582
123k
yy863:
11583
123k
  YYDEBUG(863, *YYCURSOR);
11584
123k
  ++YYCURSOR;
11585
123k
  YYFILL(1);
11586
123k
  yych = *YYCURSOR;
11587
123k
  if (yybm_ST_LOOKING_FOR_PROPERTY[0+yych] & 128) {
11588
78.1k
    goto yy863;
11589
78.1k
  }
11590
44.8k
  yyleng = YYCURSOR - SCNG(yy_text);
11591
44.8k
#line 1638 "Zend/zend_language_scanner.l"
11592
44.8k
  {
11593
44.8k
  yy_pop_state();
11594
44.8k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11595
44.8k
}
11596
0
#line 11597 "Zend/zend_language_scanner.c"
11597
4.67k
yy864:
11598
4.67k
  YYDEBUG(864, *YYCURSOR);
11599
4.67k
  ++YYCURSOR;
11600
4.67k
  yyleng = YYCURSOR - SCNG(yy_text);
11601
4.67k
#line 1630 "Zend/zend_language_scanner.l"
11602
4.67k
  {
11603
4.67k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11604
4.67k
}
11605
0
#line 11606 "Zend/zend_language_scanner.c"
11606
5.92k
yy865:
11607
5.92k
  YYDEBUG(865, *YYCURSOR);
11608
5.92k
  yyaccept = 1;
11609
5.92k
  yych = *(YYMARKER = ++YYCURSOR);
11610
5.92k
  if (yych == '*') goto yy869;
11611
5.92k
yy866:
11612
5.92k
  YYDEBUG(866, *YYCURSOR);
11613
5.92k
  yyleng = YYCURSOR - SCNG(yy_text);
11614
5.92k
#line 2513 "Zend/zend_language_scanner.l"
11615
5.92k
  {
11616
5.92k
  int doc_com;
11617
11618
5.92k
  if (yyleng > 2) {
11619
3.08k
    doc_com = 1;
11620
3.08k
    RESET_DOC_COMMENT();
11621
3.08k
  } else {
11622
2.84k
    doc_com = 0;
11623
2.84k
  }
11624
11625
38.3k
  while (YYCURSOR < YYLIMIT) {
11626
36.9k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11627
4.48k
      break;
11628
4.48k
    }
11629
36.9k
  }
11630
11631
5.92k
  if (YYCURSOR < YYLIMIT) {
11632
4.48k
    YYCURSOR++;
11633
4.48k
  } else {
11634
1.43k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11635
1.43k
    if (PARSER_MODE()) {
11636
143
      RETURN_TOKEN(T_ERROR);
11637
143
    }
11638
1.43k
  }
11639
11640
5.77k
  yyleng = YYCURSOR - SCNG(yy_text);
11641
5.77k
  HANDLE_NEWLINES(yytext, yyleng);
11642
11643
5.77k
  if (doc_com) {
11644
3.00k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11645
3.00k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11646
3.00k
  }
11647
11648
2.77k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11649
2.77k
}
11650
0
#line 11651 "Zend/zend_language_scanner.c"
11651
3.57k
yy867:
11652
3.57k
  YYDEBUG(867, *YYCURSOR);
11653
3.57k
  yych = *++YYCURSOR;
11654
3.57k
  if (yych == '>') goto yy870;
11655
1.45k
yy868:
11656
1.45k
  YYDEBUG(868, *YYCURSOR);
11657
1.45k
  YYCURSOR = YYMARKER;
11658
1.45k
  if (yyaccept == 0) {
11659
320
    goto yy857;
11660
1.13k
  } else {
11661
1.13k
    goto yy866;
11662
1.13k
  }
11663
4.21k
yy869:
11664
4.21k
  YYDEBUG(869, *YYCURSOR);
11665
4.21k
  yych = *++YYCURSOR;
11666
4.21k
  if (yych <= '\f') {
11667
2.19k
    if (yych <= 0x08) goto yy868;
11668
1.92k
    if (yych <= '\n') goto yy871;
11669
199
    goto yy868;
11670
2.01k
  } else {
11671
2.01k
    if (yych <= '\r') goto yy871;
11672
880
    if (yych == ' ') goto yy871;
11673
664
    goto yy868;
11674
880
  }
11675
3.25k
yy870:
11676
3.25k
  YYDEBUG(870, *YYCURSOR);
11677
3.25k
  ++YYCURSOR;
11678
3.25k
  yyleng = YYCURSOR - SCNG(yy_text);
11679
3.25k
#line 1634 "Zend/zend_language_scanner.l"
11680
3.25k
  {
11681
3.25k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11682
3.25k
}
11683
0
#line 11684 "Zend/zend_language_scanner.c"
11684
4.24k
yy871:
11685
4.24k
  YYDEBUG(871, *YYCURSOR);
11686
4.24k
  ++YYCURSOR;
11687
4.24k
  YYFILL(1);
11688
4.24k
  yych = *YYCURSOR;
11689
4.24k
  if (yych <= '\f') {
11690
1.91k
    if (yych <= 0x08) goto yy866;
11691
1.53k
    if (yych <= '\n') goto yy871;
11692
1.13k
    goto yy866;
11693
2.33k
  } else {
11694
2.33k
    if (yych <= '\r') goto yy871;
11695
1.91k
    if (yych == ' ') goto yy871;
11696
1.57k
    goto yy866;
11697
1.91k
  }
11698
/* *********************************** */
11699
73.1k
yyc_ST_BACKQUOTE:
11700
73.1k
  YYDEBUG(872, *YYCURSOR);
11701
73.1k
  YYFILL(2);
11702
73.1k
  yych = *YYCURSOR;
11703
73.1k
  if (yych <= '_') {
11704
52.3k
    if (yych == '$') goto yy874;
11705
52.3k
  } else {
11706
20.7k
    if (yych <= '`') goto yy875;
11707
6.60k
    if (yych == '{') goto yy876;
11708
6.60k
  }
11709
30.6k
  ++YYCURSOR;
11710
34.3k
yy873:
11711
34.3k
  YYDEBUG(873, *YYCURSOR);
11712
34.3k
  yyleng = YYCURSOR - SCNG(yy_text);
11713
34.3k
#line 2948 "Zend/zend_language_scanner.l"
11714
34.3k
  {
11715
34.3k
  if (YYCURSOR > YYLIMIT) {
11716
4.37k
    RETURN_END_TOKEN;
11717
4.37k
  }
11718
30.0k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11719
1.87k
    YYCURSOR++;
11720
1.87k
  }
11721
11722
257k
  while (YYCURSOR < YYLIMIT) {
11723
253k
    switch (*YYCURSOR++) {
11724
7.68k
      case '`':
11725
7.68k
        break;
11726
21.2k
      case '$':
11727
21.2k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11728
17.3k
          break;
11729
17.3k
        }
11730
3.86k
        continue;
11731
3.86k
      case '{':
11732
3.29k
        if (*YYCURSOR == '$') {
11733
871
          break;
11734
871
        }
11735
2.42k
        continue;
11736
4.52k
      case '\\':
11737
4.52k
        if (YYCURSOR < YYLIMIT) {
11738
4.20k
          YYCURSOR++;
11739
4.20k
        }
11740
4.52k
        ZEND_FALLTHROUGH;
11741
221k
      default:
11742
221k
        continue;
11743
253k
    }
11744
11745
25.9k
    YYCURSOR--;
11746
25.9k
    break;
11747
253k
  }
11748
11749
30.0k
  yyleng = YYCURSOR - SCNG(yy_text);
11750
11751
30.0k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11752
29.9k
   || !PARSER_MODE()) {
11753
29.9k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11754
29.9k
  } else {
11755
11
    RETURN_TOKEN(T_ERROR);
11756
11
  }
11757
30.0k
}
11758
0
#line 11759 "Zend/zend_language_scanner.c"
11759
26.2k
yy874:
11760
26.2k
  YYDEBUG(874, *YYCURSOR);
11761
26.2k
  yych = *++YYCURSOR;
11762
26.2k
  if (yych <= '_') {
11763
7.70k
    if (yych <= '@') goto yy873;
11764
6.07k
    if (yych <= 'Z') goto yy877;
11765
3.65k
    if (yych <= '^') goto yy873;
11766
3.19k
    goto yy877;
11767
18.5k
  } else {
11768
18.5k
    if (yych <= 'z') {
11769
4.82k
      if (yych <= '`') goto yy873;
11770
4.56k
      goto yy877;
11771
13.7k
    } else {
11772
13.7k
      if (yych <= '{') goto yy879;
11773
4.62k
      if (yych <= 0x7F) goto yy873;
11774
4.28k
      goto yy877;
11775
4.62k
    }
11776
18.5k
  }
11777
14.1k
yy875:
11778
14.1k
  YYDEBUG(875, *YYCURSOR);
11779
14.1k
  ++YYCURSOR;
11780
14.1k
  yyleng = YYCURSOR - SCNG(yy_text);
11781
14.1k
#line 2888 "Zend/zend_language_scanner.l"
11782
14.1k
  {
11783
14.1k
  BEGIN(ST_IN_SCRIPTING);
11784
14.1k
  RETURN_TOKEN('`');
11785
14.1k
}
11786
0
#line 11787 "Zend/zend_language_scanner.c"
11787
2.03k
yy876:
11788
2.03k
  YYDEBUG(876, *YYCURSOR);
11789
2.03k
  yych = *++YYCURSOR;
11790
2.03k
  if (yych == '$') goto yy880;
11791
982
  goto yy873;
11792
28.0k
yy877:
11793
28.0k
  YYDEBUG(877, *YYCURSOR);
11794
28.0k
  YYMARKER = ++YYCURSOR;
11795
28.0k
  YYFILL(4);
11796
28.0k
  yych = *YYCURSOR;
11797
28.0k
  if (yybm_ST_BACKQUOTE[0+yych] & 128) {
11798
13.5k
    goto yy877;
11799
13.5k
  }
11800
14.4k
  if (yych <= '>') {
11801
8.05k
    if (yych == '-') goto yy881;
11802
8.05k
  } else {
11803
6.40k
    if (yych <= '?') goto yy883;
11804
3.44k
    if (yych <= '@') goto yy878;
11805
3.18k
    if (yych <= '[') goto yy884;
11806
3.18k
  }
11807
11.3k
yy878:
11808
11.3k
  YYDEBUG(878, *YYCURSOR);
11809
11.3k
  yyleng = YYCURSOR - SCNG(yy_text);
11810
11.3k
#line 2446 "Zend/zend_language_scanner.l"
11811
11.3k
  {
11812
11.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11813
11.3k
}
11814
0
#line 11815 "Zend/zend_language_scanner.c"
11815
9.10k
yy879:
11816
9.10k
  YYDEBUG(879, *YYCURSOR);
11817
9.10k
  ++YYCURSOR;
11818
9.10k
  yyleng = YYCURSOR - SCNG(yy_text);
11819
9.10k
#line 2010 "Zend/zend_language_scanner.l"
11820
9.10k
  {
11821
9.10k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11822
9.10k
  enter_nesting('{');
11823
9.10k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11824
9.10k
}
11825
0
#line 11826 "Zend/zend_language_scanner.c"
11826
1.05k
yy880:
11827
1.05k
  YYDEBUG(880, *YYCURSOR);
11828
1.05k
  ++YYCURSOR;
11829
1.05k
  yyleng = YYCURSOR - SCNG(yy_text);
11830
1.05k
#line 2875 "Zend/zend_language_scanner.l"
11831
1.05k
  {
11832
1.05k
  yy_push_state(ST_IN_SCRIPTING);
11833
1.05k
  yyless(1);
11834
1.05k
  enter_nesting('{');
11835
1.05k
  RETURN_TOKEN(T_CURLY_OPEN);
11836
1.05k
}
11837
0
#line 11838 "Zend/zend_language_scanner.c"
11838
3.23k
yy881:
11839
3.23k
  YYDEBUG(881, *YYCURSOR);
11840
3.23k
  yych = *++YYCURSOR;
11841
3.23k
  if (yych == '>') goto yy885;
11842
3.92k
yy882:
11843
3.92k
  YYDEBUG(882, *YYCURSOR);
11844
3.92k
  YYCURSOR = YYMARKER;
11845
3.92k
  goto yy878;
11846
2.96k
yy883:
11847
2.96k
  YYDEBUG(883, *YYCURSOR);
11848
2.96k
  yych = *++YYCURSOR;
11849
2.96k
  if (yych == '-') goto yy886;
11850
656
  goto yy882;
11851
808
yy884:
11852
808
  YYDEBUG(884, *YYCURSOR);
11853
808
  ++YYCURSOR;
11854
808
  yyleng = YYCURSOR - SCNG(yy_text);
11855
808
#line 2440 "Zend/zend_language_scanner.l"
11856
808
  {
11857
808
  yyless(yyleng - 1);
11858
808
  yy_push_state(ST_VAR_OFFSET);
11859
808
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11860
808
}
11861
0
#line 11862 "Zend/zend_language_scanner.c"
11862
2.55k
yy885:
11863
2.55k
  YYDEBUG(885, *YYCURSOR);
11864
2.55k
  yych = *++YYCURSOR;
11865
2.55k
  if (yych <= '_') {
11866
1.20k
    if (yych <= '@') goto yy882;
11867
722
    if (yych <= 'Z') goto yy887;
11868
518
    if (yych <= '^') goto yy882;
11869
211
    goto yy887;
11870
1.34k
  } else {
11871
1.34k
    if (yych <= '`') goto yy882;
11872
1.12k
    if (yych <= 'z') goto yy887;
11873
749
    if (yych <= 0x7F) goto yy882;
11874
471
    goto yy887;
11875
749
  }
11876
2.30k
yy886:
11877
2.30k
  YYDEBUG(886, *YYCURSOR);
11878
2.30k
  yych = *++YYCURSOR;
11879
2.30k
  if (yych == '>') goto yy888;
11880
361
  goto yy882;
11881
1.26k
yy887:
11882
1.26k
  YYDEBUG(887, *YYCURSOR);
11883
1.26k
  ++YYCURSOR;
11884
1.26k
  yyleng = YYCURSOR - SCNG(yy_text);
11885
1.26k
#line 2426 "Zend/zend_language_scanner.l"
11886
1.26k
  {
11887
1.26k
  yyless(yyleng - 3);
11888
1.26k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11889
1.26k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11890
1.26k
}
11891
0
#line 11892 "Zend/zend_language_scanner.c"
11892
1.94k
yy888:
11893
1.94k
  YYDEBUG(888, *YYCURSOR);
11894
1.94k
  yych = *++YYCURSOR;
11895
1.94k
  if (yych <= '_') {
11896
911
    if (yych <= '@') goto yy882;
11897
648
    if (yych <= 'Z') goto yy889;
11898
443
    if (yych <= '^') goto yy882;
11899
1.03k
  } else {
11900
1.03k
    if (yych <= '`') goto yy882;
11901
779
    if (yych <= 'z') goto yy889;
11902
454
    if (yych <= 0x7F) goto yy882;
11903
454
  }
11904
1.01k
yy889:
11905
1.01k
  YYDEBUG(889, *YYCURSOR);
11906
1.01k
  ++YYCURSOR;
11907
1.01k
  yyleng = YYCURSOR - SCNG(yy_text);
11908
1.01k
#line 2432 "Zend/zend_language_scanner.l"
11909
1.01k
  {
11910
1.01k
  yyless(yyleng - 4);
11911
1.01k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11912
1.01k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11913
1.01k
}
11914
0
#line 11915 "Zend/zend_language_scanner.c"
11915
/* *********************************** */
11916
110k
yyc_ST_DOUBLE_QUOTES:
11917
110k
  YYDEBUG(890, *YYCURSOR);
11918
110k
  YYFILL(2);
11919
110k
  yych = *YYCURSOR;
11920
110k
  if (yych <= '#') {
11921
28.8k
    if (yych == '"') goto yy892;
11922
82.0k
  } else {
11923
82.0k
    if (yych <= '$') goto yy893;
11924
32.4k
    if (yych == '{') goto yy894;
11925
32.4k
  }
11926
55.1k
  ++YYCURSOR;
11927
58.5k
yy891:
11928
58.5k
  YYDEBUG(891, *YYCURSOR);
11929
58.5k
  yyleng = YYCURSOR - SCNG(yy_text);
11930
58.5k
#line 2894 "Zend/zend_language_scanner.l"
11931
58.5k
  {
11932
58.5k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11933
19.8k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11934
19.8k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11935
11936
19.8k
    goto double_quotes_scan_done;
11937
19.8k
  }
11938
11939
38.6k
  if (YYCURSOR > YYLIMIT) {
11940
7.76k
    RETURN_END_TOKEN;
11941
7.76k
  }
11942
30.9k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11943
1.16k
    YYCURSOR++;
11944
1.16k
  }
11945
11946
212k
  while (YYCURSOR < YYLIMIT) {
11947
210k
    switch (*YYCURSOR++) {
11948
2.82k
      case '"':
11949
2.82k
        break;
11950
30.2k
      case '$':
11951
30.2k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11952
25.3k
          break;
11953
25.3k
        }
11954
4.97k
        continue;
11955
4.97k
      case '{':
11956
1.33k
        if (*YYCURSOR == '$') {
11957
403
          break;
11958
403
        }
11959
928
        continue;
11960
1.65k
      case '\\':
11961
1.65k
        if (YYCURSOR < YYLIMIT) {
11962
1.34k
          YYCURSOR++;
11963
1.34k
        }
11964
1.65k
        ZEND_FALLTHROUGH;
11965
175k
      default:
11966
175k
        continue;
11967
210k
    }
11968
11969
28.5k
    YYCURSOR--;
11970
28.5k
    break;
11971
210k
  }
11972
11973
50.7k
double_quotes_scan_done:
11974
50.7k
  yyleng = YYCURSOR - SCNG(yy_text);
11975
11976
50.7k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11977
50.6k
   || !PARSER_MODE()) {
11978
50.6k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11979
50.6k
  } else {
11980
152
    RETURN_TOKEN(T_ERROR);
11981
152
  }
11982
50.7k
}
11983
0
#line 11984 "Zend/zend_language_scanner.c"
11984
4.24k
yy892:
11985
4.24k
  YYDEBUG(892, *YYCURSOR);
11986
4.24k
  ++YYCURSOR;
11987
4.24k
  yyleng = YYCURSOR - SCNG(yy_text);
11988
4.24k
#line 2883 "Zend/zend_language_scanner.l"
11989
4.24k
  {
11990
4.24k
  BEGIN(ST_IN_SCRIPTING);
11991
4.24k
  RETURN_TOKEN('"');
11992
4.24k
}
11993
0
#line 11994 "Zend/zend_language_scanner.c"
11994
49.6k
yy893:
11995
49.6k
  YYDEBUG(893, *YYCURSOR);
11996
49.6k
  yych = *++YYCURSOR;
11997
49.6k
  if (yych <= '_') {
11998
13.3k
    if (yych <= '@') goto yy891;
11999
11.7k
    if (yych <= 'Z') goto yy895;
12000
3.02k
    if (yych <= '^') goto yy891;
12001
2.61k
    goto yy895;
12002
36.3k
  } else {
12003
36.3k
    if (yych <= 'z') {
12004
13.2k
      if (yych <= '`') goto yy891;
12005
12.8k
      goto yy895;
12006
23.0k
    } else {
12007
23.0k
      if (yych <= '{') goto yy897;
12008
11.6k
      if (yych <= 0x7F) goto yy891;
12009
11.3k
      goto yy895;
12010
11.6k
    }
12011
36.3k
  }
12012
1.84k
yy894:
12013
1.84k
  YYDEBUG(894, *YYCURSOR);
12014
1.84k
  yych = *++YYCURSOR;
12015
1.84k
  if (yych == '$') goto yy898;
12016
739
  goto yy891;
12017
84.1k
yy895:
12018
84.1k
  YYDEBUG(895, *YYCURSOR);
12019
84.1k
  YYMARKER = ++YYCURSOR;
12020
84.1k
  YYFILL(4);
12021
84.1k
  yych = *YYCURSOR;
12022
84.1k
  if (yybm_ST_DOUBLE_QUOTES[0+yych] & 128) {
12023
48.5k
    goto yy895;
12024
48.5k
  }
12025
35.5k
  if (yych <= '>') {
12026
28.2k
    if (yych == '-') goto yy899;
12027
28.2k
  } else {
12028
7.33k
    if (yych <= '?') goto yy901;
12029
4.28k
    if (yych <= '@') goto yy896;
12030
3.97k
    if (yych <= '[') goto yy902;
12031
3.97k
  }
12032
30.8k
yy896:
12033
30.8k
  YYDEBUG(896, *YYCURSOR);
12034
30.8k
  yyleng = YYCURSOR - SCNG(yy_text);
12035
30.8k
#line 2446 "Zend/zend_language_scanner.l"
12036
30.8k
  {
12037
30.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12038
30.8k
}
12039
0
#line 12040 "Zend/zend_language_scanner.c"
12040
11.4k
yy897:
12041
11.4k
  YYDEBUG(897, *YYCURSOR);
12042
11.4k
  ++YYCURSOR;
12043
11.4k
  yyleng = YYCURSOR - SCNG(yy_text);
12044
11.4k
#line 2010 "Zend/zend_language_scanner.l"
12045
11.4k
  {
12046
11.4k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12047
11.4k
  enter_nesting('{');
12048
11.4k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12049
11.4k
}
12050
0
#line 12051 "Zend/zend_language_scanner.c"
12051
1.11k
yy898:
12052
1.11k
  YYDEBUG(898, *YYCURSOR);
12053
1.11k
  ++YYCURSOR;
12054
1.11k
  yyleng = YYCURSOR - SCNG(yy_text);
12055
1.11k
#line 2875 "Zend/zend_language_scanner.l"
12056
1.11k
  {
12057
1.11k
  yy_push_state(ST_IN_SCRIPTING);
12058
1.11k
  yyless(1);
12059
1.11k
  enter_nesting('{');
12060
1.11k
  RETURN_TOKEN(T_CURLY_OPEN);
12061
1.11k
}
12062
0
#line 12063 "Zend/zend_language_scanner.c"
12063
4.51k
yy899:
12064
4.51k
  YYDEBUG(899, *YYCURSOR);
12065
4.51k
  yych = *++YYCURSOR;
12066
4.51k
  if (yych == '>') goto yy903;
12067
4.49k
yy900:
12068
4.49k
  YYDEBUG(900, *YYCURSOR);
12069
4.49k
  YYCURSOR = YYMARKER;
12070
4.49k
  goto yy896;
12071
3.05k
yy901:
12072
3.05k
  YYDEBUG(901, *YYCURSOR);
12073
3.05k
  yych = *++YYCURSOR;
12074
3.05k
  if (yych == '-') goto yy904;
12075
561
  goto yy900;
12076
1.57k
yy902:
12077
1.57k
  YYDEBUG(902, *YYCURSOR);
12078
1.57k
  ++YYCURSOR;
12079
1.57k
  yyleng = YYCURSOR - SCNG(yy_text);
12080
1.57k
#line 2440 "Zend/zend_language_scanner.l"
12081
1.57k
  {
12082
1.57k
  yyless(yyleng - 1);
12083
1.57k
  yy_push_state(ST_VAR_OFFSET);
12084
1.57k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12085
1.57k
}
12086
0
#line 12087 "Zend/zend_language_scanner.c"
12087
3.35k
yy903:
12088
3.35k
  YYDEBUG(903, *YYCURSOR);
12089
3.35k
  yych = *++YYCURSOR;
12090
3.35k
  if (yych <= '_') {
12091
1.28k
    if (yych <= '@') goto yy900;
12092
748
    if (yych <= 'Z') goto yy905;
12093
532
    if (yych <= '^') goto yy900;
12094
227
    goto yy905;
12095
2.07k
  } else {
12096
2.07k
    if (yych <= '`') goto yy900;
12097
1.84k
    if (yych <= 'z') goto yy905;
12098
789
    if (yych <= 0x7F) goto yy900;
12099
411
    goto yy905;
12100
789
  }
12101
2.48k
yy904:
12102
2.48k
  YYDEBUG(904, *YYCURSOR);
12103
2.48k
  yych = *++YYCURSOR;
12104
2.48k
  if (yych == '>') goto yy906;
12105
352
  goto yy900;
12106
1.91k
yy905:
12107
1.91k
  YYDEBUG(905, *YYCURSOR);
12108
1.91k
  ++YYCURSOR;
12109
1.91k
  yyleng = YYCURSOR - SCNG(yy_text);
12110
1.91k
#line 2426 "Zend/zend_language_scanner.l"
12111
1.91k
  {
12112
1.91k
  yyless(yyleng - 3);
12113
1.91k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12114
1.91k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12115
1.91k
}
12116
0
#line 12117 "Zend/zend_language_scanner.c"
12117
2.13k
yy906:
12118
2.13k
  YYDEBUG(906, *YYCURSOR);
12119
2.13k
  yych = *++YYCURSOR;
12120
2.13k
  if (yych <= '_') {
12121
1.18k
    if (yych <= '@') goto yy900;
12122
895
    if (yych <= 'Z') goto yy907;
12123
690
    if (yych <= '^') goto yy900;
12124
956
  } else {
12125
956
    if (yych <= '`') goto yy900;
12126
691
    if (yych <= 'z') goto yy907;
12127
432
    if (yych <= 0x7F) goto yy900;
12128
432
  }
12129
1.16k
yy907:
12130
1.16k
  YYDEBUG(907, *YYCURSOR);
12131
1.16k
  ++YYCURSOR;
12132
1.16k
  yyleng = YYCURSOR - SCNG(yy_text);
12133
1.16k
#line 2432 "Zend/zend_language_scanner.l"
12134
1.16k
  {
12135
1.16k
  yyless(yyleng - 4);
12136
1.16k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12137
1.16k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12138
1.16k
}
12139
0
#line 12140 "Zend/zend_language_scanner.c"
12140
/* *********************************** */
12141
2.04M
yyc_ST_HEREDOC:
12142
2.04M
  YYDEBUG(908, *YYCURSOR);
12143
2.04M
  YYFILL(2);
12144
2.04M
  yych = *YYCURSOR;
12145
2.04M
  if (yych == '$') goto yy910;
12146
273k
  if (yych == '{') goto yy911;
12147
243k
  ++YYCURSOR;
12148
319k
yy909:
12149
319k
  YYDEBUG(909, *YYCURSOR);
12150
319k
  yyleng = YYCURSOR - SCNG(yy_text);
12151
319k
#line 2994 "Zend/zend_language_scanner.l"
12152
319k
  {
12153
319k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12154
319k
  int newline = 0, indentation = 0, spacing = 0;
12155
12156
319k
  if (YYCURSOR > YYLIMIT) {
12157
11.2k
    RETURN_END_TOKEN;
12158
11.2k
  }
12159
12160
308k
  YYCURSOR--;
12161
12162
2.50M
  while (YYCURSOR < YYLIMIT) {
12163
2.49M
    switch (*YYCURSOR++) {
12164
33.9k
      case '\r':
12165
33.9k
        if (*YYCURSOR == '\n') {
12166
1.42k
          YYCURSOR++;
12167
1.42k
        }
12168
33.9k
        ZEND_FALLTHROUGH;
12169
283k
      case '\n':
12170
283k
        indentation = spacing = 0;
12171
12172
296k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12173
13.3k
          if (*YYCURSOR == '\t') {
12174
9.68k
            spacing |= HEREDOC_USING_TABS;
12175
9.68k
          } else {
12176
3.66k
            spacing |= HEREDOC_USING_SPACES;
12177
3.66k
          }
12178
13.3k
          ++YYCURSOR;
12179
13.3k
          ++indentation;
12180
13.3k
        }
12181
12182
283k
        if (YYCURSOR == YYLIMIT) {
12183
1.54k
          yyleng = YYCURSOR - SCNG(yy_text);
12184
1.54k
          HANDLE_NEWLINES(yytext, yyleng);
12185
1.54k
          ZVAL_NULL(zendlval);
12186
1.54k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12187
1.54k
        }
12188
12189
        /* Check for ending label on the next line */
12190
281k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12191
9.65k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12192
4.47k
            continue;
12193
4.47k
          }
12194
12195
5.18k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12196
214
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12197
214
            if (PARSER_MODE()) {
12198
13
              RETURN_TOKEN(T_ERROR);
12199
13
            }
12200
214
          }
12201
12202
          /* newline before label will be subtracted from returned text, but
12203
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12204
5.16k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12205
219
            newline = 2; /* Windows newline */
12206
4.95k
          } else {
12207
4.95k
            newline = 1;
12208
4.95k
          }
12209
12210
5.16k
          CG(increment_lineno) = 1; /* For newline before label */
12211
12212
5.16k
          if (SCNG(heredoc_scan_ahead)) {
12213
3.44k
            SCNG(heredoc_indentation) = indentation;
12214
3.44k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12215
3.44k
          } else {
12216
1.72k
            YYCURSOR -= indentation;
12217
1.72k
          }
12218
12219
5.16k
          BEGIN(ST_END_HEREDOC);
12220
12221
5.16k
          goto heredoc_scan_done;
12222
5.18k
        }
12223
271k
        continue;
12224
379k
      case '$':
12225
379k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12226
290k
          break;
12227
290k
        }
12228
89.3k
        continue;
12229
89.3k
      case '{':
12230
76.6k
        if (*YYCURSOR == '$') {
12231
3.71k
          break;
12232
3.71k
        }
12233
72.9k
        continue;
12234
72.9k
      case '\\':
12235
6.17k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12236
5.14k
          YYCURSOR++;
12237
5.14k
        }
12238
6.17k
        ZEND_FALLTHROUGH;
12239
1.75M
      default:
12240
1.75M
        continue;
12241
2.49M
    }
12242
12243
293k
    YYCURSOR--;
12244
293k
    break;
12245
2.49M
  }
12246
12247
307k
heredoc_scan_done:
12248
12249
307k
  yyleng = YYCURSOR - SCNG(yy_text);
12250
307k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12251
12252
307k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12253
32.0k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12254
32.0k
    zend_string *copy = Z_STR_P(zendlval);
12255
12256
32.0k
    if (!strip_multiline_string_indentation(
12257
32.0k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12258
32.0k
        newline_at_start, newline != 0)) {
12259
43
      RETURN_TOKEN(T_ERROR);
12260
43
    }
12261
12262
32.0k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12263
10
      zend_string_efree(copy);
12264
10
      RETURN_TOKEN(T_ERROR);
12265
10
    }
12266
12267
32.0k
    zend_string_efree(copy);
12268
275k
  } else {
12269
275k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12270
275k
  }
12271
12272
307k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12273
307k
}
12274
0
#line 12275 "Zend/zend_language_scanner.c"
12275
1.77M
yy910:
12276
1.77M
  YYDEBUG(910, *YYCURSOR);
12277
1.77M
  yych = *++YYCURSOR;
12278
1.77M
  if (yych <= '_') {
12279
71.7k
    if (yych <= '@') goto yy909;
12280
12.5k
    if (yych <= 'Z') goto yy912;
12281
4.80k
    if (yych <= '^') goto yy909;
12282
3.33k
    goto yy912;
12283
1.70M
  } else {
12284
1.70M
    if (yych <= 'z') {
12285
32.8k
      if (yych <= '`') goto yy909;
12286
32.4k
      goto yy912;
12287
1.67M
    } else {
12288
1.67M
      if (yych <= '{') goto yy914;
12289
56.0k
      if (yych <= 0x7F) goto yy909;
12290
53.7k
      goto yy912;
12291
56.0k
    }
12292
1.70M
  }
12293
30.3k
yy911:
12294
30.3k
  YYDEBUG(911, *YYCURSOR);
12295
30.3k
  yych = *++YYCURSOR;
12296
30.3k
  if (yych == '$') goto yy915;
12297
13.5k
  goto yy909;
12298
208k
yy912:
12299
208k
  YYDEBUG(912, *YYCURSOR);
12300
208k
  YYMARKER = ++YYCURSOR;
12301
208k
  YYFILL(4);
12302
208k
  yych = *YYCURSOR;
12303
208k
  if (yybm_ST_HEREDOC[0+yych] & 128) {
12304
111k
    goto yy912;
12305
111k
  }
12306
97.2k
  if (yych <= '>') {
12307
77.1k
    if (yych == '-') goto yy916;
12308
77.1k
  } else {
12309
20.1k
    if (yych <= '?') goto yy918;
12310
16.4k
    if (yych <= '@') goto yy913;
12311
16.1k
    if (yych <= '[') goto yy919;
12312
16.1k
  }
12313
86.9k
yy913:
12314
86.9k
  YYDEBUG(913, *YYCURSOR);
12315
86.9k
  yyleng = YYCURSOR - SCNG(yy_text);
12316
86.9k
#line 2446 "Zend/zend_language_scanner.l"
12317
86.9k
  {
12318
86.9k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12319
86.9k
}
12320
0
#line 12321 "Zend/zend_language_scanner.c"
12321
1.61M
yy914:
12322
1.61M
  YYDEBUG(914, *YYCURSOR);
12323
1.61M
  ++YYCURSOR;
12324
1.61M
  yyleng = YYCURSOR - SCNG(yy_text);
12325
1.61M
#line 2010 "Zend/zend_language_scanner.l"
12326
1.61M
  {
12327
1.61M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12328
1.61M
  enter_nesting('{');
12329
1.61M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12330
1.61M
}
12331
0
#line 12332 "Zend/zend_language_scanner.c"
12332
16.7k
yy915:
12333
16.7k
  YYDEBUG(915, *YYCURSOR);
12334
16.7k
  ++YYCURSOR;
12335
16.7k
  yyleng = YYCURSOR - SCNG(yy_text);
12336
16.7k
#line 2875 "Zend/zend_language_scanner.l"
12337
16.7k
  {
12338
16.7k
  yy_push_state(ST_IN_SCRIPTING);
12339
16.7k
  yyless(1);
12340
16.7k
  enter_nesting('{');
12341
16.7k
  RETURN_TOKEN(T_CURLY_OPEN);
12342
16.7k
}
12343
0
#line 12344 "Zend/zend_language_scanner.c"
12344
3.82k
yy916:
12345
3.82k
  YYDEBUG(916, *YYCURSOR);
12346
3.82k
  yych = *++YYCURSOR;
12347
3.82k
  if (yych == '>') goto yy920;
12348
5.05k
yy917:
12349
5.05k
  YYDEBUG(917, *YYCURSOR);
12350
5.05k
  YYCURSOR = YYMARKER;
12351
5.05k
  goto yy913;
12352
3.65k
yy918:
12353
3.65k
  YYDEBUG(918, *YYCURSOR);
12354
3.65k
  yych = *++YYCURSOR;
12355
3.65k
  if (yych == '-') goto yy921;
12356
1.25k
  goto yy917;
12357
7.86k
yy919:
12358
7.86k
  YYDEBUG(919, *YYCURSOR);
12359
7.86k
  ++YYCURSOR;
12360
7.86k
  yyleng = YYCURSOR - SCNG(yy_text);
12361
7.86k
#line 2440 "Zend/zend_language_scanner.l"
12362
7.86k
  {
12363
7.86k
  yyless(yyleng - 1);
12364
7.86k
  yy_push_state(ST_VAR_OFFSET);
12365
7.86k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12366
7.86k
}
12367
0
#line 12368 "Zend/zend_language_scanner.c"
12368
2.70k
yy920:
12369
2.70k
  YYDEBUG(920, *YYCURSOR);
12370
2.70k
  yych = *++YYCURSOR;
12371
2.70k
  if (yych <= '_') {
12372
1.36k
    if (yych <= '@') goto yy917;
12373
789
    if (yych <= 'Z') goto yy922;
12374
544
    if (yych <= '^') goto yy917;
12375
257
    goto yy922;
12376
1.33k
  } else {
12377
1.33k
    if (yych <= '`') goto yy917;
12378
1.10k
    if (yych <= 'z') goto yy922;
12379
597
    if (yych <= 0x7F) goto yy917;
12380
356
    goto yy922;
12381
597
  }
12382
2.39k
yy921:
12383
2.39k
  YYDEBUG(921, *YYCURSOR);
12384
2.39k
  yych = *++YYCURSOR;
12385
2.39k
  if (yych == '>') goto yy923;
12386
391
  goto yy917;
12387
1.36k
yy922:
12388
1.36k
  YYDEBUG(922, *YYCURSOR);
12389
1.36k
  ++YYCURSOR;
12390
1.36k
  yyleng = YYCURSOR - SCNG(yy_text);
12391
1.36k
#line 2426 "Zend/zend_language_scanner.l"
12392
1.36k
  {
12393
1.36k
  yyless(yyleng - 3);
12394
1.36k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12395
1.36k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12396
1.36k
}
12397
0
#line 12398 "Zend/zend_language_scanner.c"
12398
2.00k
yy923:
12399
2.00k
  YYDEBUG(923, *YYCURSOR);
12400
2.00k
  yych = *++YYCURSOR;
12401
2.00k
  if (yych <= '_') {
12402
1.00k
    if (yych <= '@') goto yy917;
12403
734
    if (yych <= 'Z') goto yy924;
12404
528
    if (yych <= '^') goto yy917;
12405
1.00k
  } else {
12406
1.00k
    if (yych <= '`') goto yy917;
12407
762
    if (yych <= 'z') goto yy924;
12408
471
    if (yych <= 0x7F) goto yy917;
12409
471
  }
12410
1.05k
yy924:
12411
1.05k
  YYDEBUG(924, *YYCURSOR);
12412
1.05k
  ++YYCURSOR;
12413
1.05k
  yyleng = YYCURSOR - SCNG(yy_text);
12414
1.05k
#line 2432 "Zend/zend_language_scanner.l"
12415
1.05k
  {
12416
1.05k
  yyless(yyleng - 4);
12417
1.05k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12418
1.05k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12419
1.05k
}
12420
0
#line 12421 "Zend/zend_language_scanner.c"
12421
/* *********************************** */
12422
1.63M
yyc_ST_LOOKING_FOR_VARNAME:
12423
1.63M
  YYDEBUG(925, *YYCURSOR);
12424
1.63M
  YYFILL(2);
12425
1.63M
  yych = *YYCURSOR;
12426
1.63M
  if (yych <= '_') {
12427
1.56M
    if (yych <= '@') goto yy926;
12428
15.3k
    if (yych <= 'Z') goto yy928;
12429
8.72k
    if (yych >= '_') goto yy928;
12430
69.6k
  } else {
12431
69.6k
    if (yych <= '`') goto yy926;
12432
66.9k
    if (yych <= 'z') goto yy928;
12433
15.1k
    if (yych >= 0x80) goto yy928;
12434
15.1k
  }
12435
1.55M
yy926:
12436
1.55M
  YYDEBUG(926, *YYCURSOR);
12437
1.55M
  ++YYCURSOR;
12438
1.63M
yy927:
12439
1.63M
  YYDEBUG(927, *YYCURSOR);
12440
1.63M
  yyleng = YYCURSOR - SCNG(yy_text);
12441
1.63M
#line 2033 "Zend/zend_language_scanner.l"
12442
1.63M
  {
12443
1.63M
  yyless(0);
12444
1.63M
  yy_pop_state();
12445
1.63M
  yy_push_state(ST_IN_SCRIPTING);
12446
1.63M
  goto restart;
12447
1.55M
}
12448
0
#line 12449 "Zend/zend_language_scanner.c"
12449
77.2k
yy928:
12450
77.2k
  YYDEBUG(928, *YYCURSOR);
12451
77.2k
  yych = *(YYMARKER = ++YYCURSOR);
12452
77.2k
  if (yych <= '_') {
12453
31.6k
    if (yych <= '@') {
12454
15.1k
      if (yych <= '/') goto yy927;
12455
5.68k
      if (yych <= '9') goto yy930;
12456
4.70k
      goto yy927;
12457
16.4k
    } else {
12458
16.4k
      if (yych <= '[') goto yy930;
12459
7.85k
      if (yych <= '^') goto yy927;
12460
6.15k
      goto yy930;
12461
7.85k
    }
12462
45.6k
  } else {
12463
45.6k
    if (yych <= '|') {
12464
39.2k
      if (yych <= '`') goto yy927;
12465
38.9k
      if (yych <= 'z') goto yy930;
12466
1.08k
      goto yy927;
12467
38.9k
    } else {
12468
6.41k
      if (yych <= '}') goto yy930;
12469
5.68k
      if (yych <= 0x7F) goto yy927;
12470
5.32k
      goto yy930;
12471
5.68k
    }
12472
45.6k
  }
12473
247k
yy929:
12474
247k
  YYDEBUG(929, *YYCURSOR);
12475
247k
  ++YYCURSOR;
12476
247k
  YYFILL(1);
12477
247k
  yych = *YYCURSOR;
12478
307k
yy930:
12479
307k
  YYDEBUG(930, *YYCURSOR);
12480
307k
  if (yybm_ST_LOOKING_FOR_VARNAME[0+yych] & 128) {
12481
247k
    goto yy929;
12482
247k
  }
12483
59.6k
  if (yych <= '@') goto yy931;
12484
10.7k
  if (yych <= '[') goto yy932;
12485
9.74k
  if (yych == '}') goto yy932;
12486
57.3k
yy931:
12487
57.3k
  YYDEBUG(931, *YYCURSOR);
12488
57.3k
  YYCURSOR = YYMARKER;
12489
57.3k
  goto yy927;
12490
2.28k
yy932:
12491
2.28k
  YYDEBUG(932, *YYCURSOR);
12492
2.28k
  ++YYCURSOR;
12493
2.28k
  yyleng = YYCURSOR - SCNG(yy_text);
12494
2.28k
#line 2025 "Zend/zend_language_scanner.l"
12495
2.28k
  {
12496
2.28k
  yyless(yyleng - 1);
12497
2.28k
  yy_pop_state();
12498
2.28k
  yy_push_state(ST_IN_SCRIPTING);
12499
2.28k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12500
2.28k
}
12501
0
#line 12502 "Zend/zend_language_scanner.c"
12502
/* *********************************** */
12503
90.8k
yyc_ST_VAR_OFFSET:
12504
90.8k
  YYDEBUG(933, *YYCURSOR);
12505
90.8k
  YYFILL(2);
12506
90.8k
  yych = *YYCURSOR;
12507
90.8k
  if (yych <= '0') {
12508
37.5k
    if (yych <= ' ') {
12509
10.7k
      if (yych <= '\f') {
12510
8.89k
        if (yych <= 0x08) goto yy934;
12511
1.97k
        if (yych <= '\n') goto yy935;
12512
1.97k
      } else {
12513
1.85k
        if (yych <= '\r') goto yy935;
12514
1.53k
        if (yych >= ' ') goto yy935;
12515
1.53k
      }
12516
26.7k
    } else {
12517
26.7k
      if (yych <= '$') {
12518
10.0k
        if (yych <= '"') goto yy936;
12519
8.79k
        if (yych <= '#') goto yy935;
12520
8.48k
        goto yy938;
12521
16.6k
      } else {
12522
16.6k
        if (yych == '\'') goto yy935;
12523
16.3k
        if (yych <= '/') goto yy936;
12524
8.30k
        goto yy939;
12525
16.3k
      }
12526
26.7k
    }
12527
53.2k
  } else {
12528
53.2k
    if (yych <= ']') {
12529
35.4k
      if (yych <= 'Z') {
12530
16.9k
        if (yych <= '9') goto yy941;
12531
12.9k
        if (yych <= '@') goto yy936;
12532
2.65k
        goto yy942;
12533
18.5k
      } else {
12534
18.5k
        if (yych <= '[') goto yy936;
12535
4.27k
        if (yych <= '\\') goto yy935;
12536
3.85k
        goto yy943;
12537
4.27k
      }
12538
35.4k
    } else {
12539
17.7k
      if (yych <= '`') {
12540
4.69k
        if (yych == '_') goto yy942;
12541
1.77k
        goto yy936;
12542
13.1k
      } else {
12543
13.1k
        if (yych <= 'z') goto yy942;
12544
7.30k
        if (yych <= '~') goto yy936;
12545
4.24k
        if (yych >= 0x80) goto yy942;
12546
4.24k
      }
12547
17.7k
    }
12548
53.2k
  }
12549
8.94k
yy934:
12550
8.94k
  YYDEBUG(934, *YYCURSOR);
12551
8.94k
  ++YYCURSOR;
12552
8.94k
  yyleng = YYCURSOR - SCNG(yy_text);
12553
8.94k
#line 3209 "Zend/zend_language_scanner.l"
12554
8.94k
  {
12555
8.94k
  if (YYCURSOR > YYLIMIT) {
12556
2.15k
    RETURN_END_TOKEN;
12557
2.15k
  }
12558
12559
6.79k
  RETURN_TOKEN(T_BAD_CHARACTER);
12560
6.79k
}
12561
0
#line 12562 "Zend/zend_language_scanner.c"
12562
3.28k
yy935:
12563
3.28k
  YYDEBUG(935, *YYCURSOR);
12564
3.28k
  ++YYCURSOR;
12565
3.28k
  yyleng = YYCURSOR - SCNG(yy_text);
12566
3.28k
#line 2460 "Zend/zend_language_scanner.l"
12567
3.28k
  {
12568
  /* Invalid rule to return a more explicit parse error with proper line number */
12569
3.28k
  yyless(0);
12570
3.28k
  yy_pop_state();
12571
3.28k
  ZVAL_NULL(zendlval);
12572
3.28k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12573
3.28k
}
12574
0
#line 12575 "Zend/zend_language_scanner.c"
12575
38.6k
yy936:
12576
38.6k
  YYDEBUG(936, *YYCURSOR);
12577
38.6k
  ++YYCURSOR;
12578
41.9k
yy937:
12579
41.9k
  YYDEBUG(937, *YYCURSOR);
12580
41.9k
  yyleng = YYCURSOR - SCNG(yy_text);
12581
41.9k
#line 2455 "Zend/zend_language_scanner.l"
12582
41.9k
  {
12583
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12584
41.9k
  RETURN_TOKEN(yytext[0]);
12585
41.9k
}
12586
0
#line 12587 "Zend/zend_language_scanner.c"
12587
8.48k
yy938:
12588
8.48k
  YYDEBUG(938, *YYCURSOR);
12589
8.48k
  yych = *++YYCURSOR;
12590
8.48k
  if (yych <= '_') {
12591
2.94k
    if (yych <= '@') goto yy937;
12592
1.32k
    if (yych <= 'Z') goto yy944;
12593
727
    if (yych <= '^') goto yy937;
12594
308
    goto yy944;
12595
5.53k
  } else {
12596
5.53k
    if (yych <= '`') goto yy937;
12597
5.24k
    if (yych <= 'z') goto yy944;
12598
2.48k
    if (yych <= 0x7F) goto yy937;
12599
1.55k
    goto yy944;
12600
2.48k
  }
12601
8.30k
yy939:
12602
8.30k
  YYDEBUG(939, *YYCURSOR);
12603
8.30k
  yyaccept = 0;
12604
8.30k
  yych = *(YYMARKER = ++YYCURSOR);
12605
8.30k
  if (yych <= 'X') {
12606
3.63k
    if (yych <= 'B') {
12607
2.50k
      if (yych <= '/') goto yy940;
12608
1.92k
      if (yych <= '9') goto yy946;
12609
749
      if (yych >= 'B') goto yy948;
12610
1.13k
    } else {
12611
1.13k
      if (yych == 'O') goto yy950;
12612
844
      if (yych >= 'X') goto yy951;
12613
844
    }
12614
4.67k
  } else {
12615
4.67k
    if (yych <= 'b') {
12616
2.45k
      if (yych == '_') goto yy952;
12617
1.74k
      if (yych >= 'b') goto yy948;
12618
2.21k
    } else {
12619
2.21k
      if (yych <= 'o') {
12620
845
        if (yych >= 'o') goto yy950;
12621
1.36k
      } else {
12622
1.36k
        if (yych == 'x') goto yy951;
12623
1.36k
      }
12624
2.21k
    }
12625
4.67k
  }
12626
8.78k
yy940:
12627
8.78k
  YYDEBUG(940, *YYCURSOR);
12628
8.78k
  yyleng = YYCURSOR - SCNG(yy_text);
12629
8.78k
#line 2237 "Zend/zend_language_scanner.l"
12630
8.78k
  { /* Offset could be treated as a long */
12631
8.78k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12632
8.34k
    char *end;
12633
8.34k
    errno = 0;
12634
8.34k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12635
8.34k
    if (errno == ERANGE) {
12636
0
      goto string;
12637
0
    }
12638
8.34k
    ZEND_ASSERT(end == yytext + yyleng);
12639
8.34k
  } else {
12640
438
string:
12641
438
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12642
438
  }
12643
8.78k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12644
8.78k
}
12645
0
#line 12646 "Zend/zend_language_scanner.c"
12646
20.4k
yy941:
12647
20.4k
  YYDEBUG(941, *YYCURSOR);
12648
20.4k
  yyaccept = 0;
12649
20.4k
  YYMARKER = ++YYCURSOR;
12650
20.4k
  YYFILL(1);
12651
20.4k
  yych = *YYCURSOR;
12652
20.4k
  if (yybm_ST_VAR_OFFSET[0+yych] & 8) {
12653
16.4k
    goto yy941;
12654
16.4k
  }
12655
3.99k
  if (yych == '_') goto yy952;
12656
3.41k
  goto yy940;
12657
41.7k
yy942:
12658
41.7k
  YYDEBUG(942, *YYCURSOR);
12659
41.7k
  ++YYCURSOR;
12660
41.7k
  YYFILL(1);
12661
41.7k
  yych = *YYCURSOR;
12662
41.7k
  if (yybm_ST_VAR_OFFSET[0+yych] & 16) {
12663
26.4k
    goto yy942;
12664
26.4k
  }
12665
15.2k
  yyleng = YYCURSOR - SCNG(yy_text);
12666
15.2k
#line 2484 "Zend/zend_language_scanner.l"
12667
15.2k
  {
12668
15.2k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12669
15.2k
}
12670
0
#line 12671 "Zend/zend_language_scanner.c"
12671
3.85k
yy943:
12672
3.85k
  YYDEBUG(943, *YYCURSOR);
12673
3.85k
  ++YYCURSOR;
12674
3.85k
  yyleng = YYCURSOR - SCNG(yy_text);
12675
3.85k
#line 2450 "Zend/zend_language_scanner.l"
12676
3.85k
  {
12677
3.85k
  yy_pop_state();
12678
3.85k
  RETURN_TOKEN(']');
12679
3.85k
}
12680
0
#line 12681 "Zend/zend_language_scanner.c"
12681
11.9k
yy944:
12682
11.9k
  YYDEBUG(944, *YYCURSOR);
12683
11.9k
  ++YYCURSOR;
12684
11.9k
  YYFILL(1);
12685
11.9k
  yych = *YYCURSOR;
12686
11.9k
  if (yych <= '^') {
12687
6.87k
    if (yych <= '9') {
12688
3.62k
      if (yych >= '0') goto yy944;
12689
3.62k
    } else {
12690
3.24k
      if (yych <= '@') goto yy945;
12691
2.82k
      if (yych <= 'Z') goto yy944;
12692
2.82k
    }
12693
6.87k
  } else {
12694
5.03k
    if (yych <= '`') {
12695
573
      if (yych <= '_') goto yy944;
12696
4.46k
    } else {
12697
4.46k
      if (yych <= 'z') goto yy944;
12698
3.28k
      if (yych >= 0x80) goto yy944;
12699
3.28k
    }
12700
5.03k
  }
12701
5.22k
yy945:
12702
5.22k
  YYDEBUG(945, *YYCURSOR);
12703
5.22k
  yyleng = YYCURSOR - SCNG(yy_text);
12704
5.22k
#line 2446 "Zend/zend_language_scanner.l"
12705
5.22k
  {
12706
5.22k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12707
5.22k
}
12708
0
#line 12709 "Zend/zend_language_scanner.c"
12709
2.56k
yy946:
12710
2.56k
  YYDEBUG(946, *YYCURSOR);
12711
2.56k
  yyaccept = 1;
12712
2.56k
  YYMARKER = ++YYCURSOR;
12713
2.56k
  YYFILL(1);
12714
2.56k
  yych = *YYCURSOR;
12715
2.56k
  if (yych <= '/') goto yy947;
12716
2.20k
  if (yych <= '9') goto yy946;
12717
1.36k
  if (yych == '_') goto yy952;
12718
3.52k
yy947:
12719
3.52k
  YYDEBUG(947, *YYCURSOR);
12720
3.52k
  yyleng = YYCURSOR - SCNG(yy_text);
12721
3.52k
#line 2253 "Zend/zend_language_scanner.l"
12722
3.52k
  { /* Offset must be treated as a string */
12723
3.52k
  if (yyleng == 1) {
12724
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12725
3.52k
  } else {
12726
3.52k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12727
3.52k
  }
12728
3.52k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12729
3.52k
}
12730
0
#line 12731 "Zend/zend_language_scanner.c"
12731
1.86k
yy948:
12732
1.86k
  YYDEBUG(948, *YYCURSOR);
12733
1.86k
  ++YYCURSOR;
12734
1.86k
  YYFILL(1);
12735
1.86k
  yych = *YYCURSOR;
12736
1.86k
  if (yybm_ST_VAR_OFFSET[0+yych] & 32) {
12737
1.22k
    goto yy953;
12738
1.22k
  }
12739
3.20k
yy949:
12740
3.20k
  YYDEBUG(949, *YYCURSOR);
12741
3.20k
  YYCURSOR = YYMARKER;
12742
3.20k
  if (yyaccept == 0) {
12743
2.21k
    goto yy940;
12744
2.21k
  } else {
12745
992
    goto yy947;
12746
992
  }
12747
1.27k
yy950:
12748
1.27k
  YYDEBUG(950, *YYCURSOR);
12749
1.27k
  ++YYCURSOR;
12750
1.27k
  YYFILL(1);
12751
1.27k
  yych = *YYCURSOR;
12752
1.27k
  if (yybm_ST_VAR_OFFSET[0+yych] & 64) {
12753
824
    goto yy954;
12754
824
  }
12755
450
  goto yy949;
12756
1.49k
yy951:
12757
1.49k
  YYDEBUG(951, *YYCURSOR);
12758
1.49k
  ++YYCURSOR;
12759
1.49k
  YYFILL(1);
12760
1.49k
  yych = *YYCURSOR;
12761
1.49k
  if (yybm_ST_VAR_OFFSET[0+yych] & 128) {
12762
773
    goto yy955;
12763
773
  }
12764
717
  goto yy949;
12765
1.95k
yy952:
12766
1.95k
  YYDEBUG(952, *YYCURSOR);
12767
1.95k
  ++YYCURSOR;
12768
1.95k
  YYFILL(1);
12769
1.95k
  yych = *YYCURSOR;
12770
1.95k
  if (yych <= '/') goto yy949;
12771
1.12k
  if (yych <= '9') goto yy946;
12772
573
  goto yy949;
12773
1.51k
yy953:
12774
1.51k
  YYDEBUG(953, *YYCURSOR);
12775
1.51k
  yyaccept = 1;
12776
1.51k
  YYMARKER = ++YYCURSOR;
12777
1.51k
  YYFILL(1);
12778
1.51k
  yych = *YYCURSOR;
12779
1.51k
  if (yybm_ST_VAR_OFFSET[0+yych] & 32) {
12780
286
    goto yy953;
12781
286
  }
12782
1.22k
  if (yych == '_') goto yy948;
12783
593
  goto yy947;
12784
1.21k
yy954:
12785
1.21k
  YYDEBUG(954, *YYCURSOR);
12786
1.21k
  yyaccept = 1;
12787
1.21k
  YYMARKER = ++YYCURSOR;
12788
1.21k
  YYFILL(1);
12789
1.21k
  yych = *YYCURSOR;
12790
1.21k
  if (yybm_ST_VAR_OFFSET[0+yych] & 64) {
12791
395
    goto yy954;
12792
395
  }
12793
824
  if (yych == '_') goto yy950;
12794
351
  goto yy947;
12795
1.20k
yy955:
12796
1.20k
  YYDEBUG(955, *YYCURSOR);
12797
1.20k
  yyaccept = 1;
12798
1.20k
  YYMARKER = ++YYCURSOR;
12799
1.20k
  YYFILL(1);
12800
1.20k
  yych = *YYCURSOR;
12801
1.20k
  if (yybm_ST_VAR_OFFSET[0+yych] & 128) {
12802
428
    goto yy955;
12803
428
  }
12804
773
  if (yych == '_') goto yy951;
12805
519
  goto yy947;
12806
/* *********************************** */
12807
519
yyc_SHEBANG:
12808
0
  YYDEBUG(956, *YYCURSOR);
12809
0
  YYFILL(2);
12810
0
  yych = *YYCURSOR;
12811
0
  if (yych == '#') goto yy958;
12812
0
  ++YYCURSOR;
12813
0
yy957:
12814
0
  YYDEBUG(957, *YYCURSOR);
12815
0
  yyleng = YYCURSOR - SCNG(yy_text);
12816
0
#line 2324 "Zend/zend_language_scanner.l"
12817
0
  {
12818
0
  yyless(0);
12819
0
  BEGIN(INITIAL);
12820
0
  goto restart;
12821
0
}
12822
0
#line 12823 "Zend/zend_language_scanner.c"
12823
0
yy958:
12824
0
  YYDEBUG(958, *YYCURSOR);
12825
0
  yych = *++YYCURSOR;
12826
0
  if (yych != '!') goto yy957;
12827
0
yy959:
12828
0
  YYDEBUG(959, *YYCURSOR);
12829
0
  ++YYCURSOR;
12830
0
  YYFILL(1);
12831
0
  yych = *YYCURSOR;
12832
0
  if (yybm_SHEBANG[0+yych] & 128) {
12833
0
    goto yy959;
12834
0
  }
12835
0
  ++YYCURSOR;
12836
0
  yyleng = YYCURSOR - SCNG(yy_text);
12837
0
#line 2318 "Zend/zend_language_scanner.l"
12838
0
  {
12839
0
  CG(zend_lineno)++;
12840
0
  BEGIN(INITIAL);
12841
0
  goto restart;
12842
0
}
12843
0
#line 12844 "Zend/zend_language_scanner.c"
12844
/* *********************************** */
12845
325k
yyc_INITIAL:
12846
325k
  YYDEBUG(960, *YYCURSOR);
12847
325k
  YYFILL(7);
12848
325k
  yych = *YYCURSOR;
12849
325k
  if (yych == '<') goto yy962;
12850
118k
  ++YYCURSOR;
12851
128k
yy961:
12852
128k
  YYDEBUG(961, *YYCURSOR);
12853
128k
  yyleng = YYCURSOR - SCNG(yy_text);
12854
128k
#line 2370 "Zend/zend_language_scanner.l"
12855
128k
  {
12856
128k
  if (YYCURSOR > YYLIMIT) {
12857
24.3k
    RETURN_END_TOKEN;
12858
24.3k
  }
12859
12860
104k
inline_char_handler:
12861
12862
154k
  while (1) {
12863
154k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
12864
12865
154k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
12866
12867
154k
    if (YYCURSOR >= YYLIMIT) {
12868
10.3k
      break;
12869
10.3k
    }
12870
12871
144k
    if (*YYCURSOR == '?') {
12872
94.1k
      if (CG(short_tags) /* <? */
12873
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
12874
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
12875
0
          (YYCURSOR + 4 == YYLIMIT ||
12876
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
12877
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
12878
94.1k
      ) {
12879
94.1k
        YYCURSOR--;
12880
94.1k
        break;
12881
94.1k
      }
12882
94.1k
    }
12883
144k
  }
12884
12885
104k
  yyleng = YYCURSOR - SCNG(yy_text);
12886
12887
104k
  if (SCNG(output_filter)) {
12888
0
    size_t readsize;
12889
0
    char *s = NULL;
12890
0
    size_t sz = 0;
12891
    // TODO: avoid reallocation ???
12892
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
12893
0
    ZVAL_STRINGL(zendlval, s, sz);
12894
0
    efree(s);
12895
0
    if (readsize < yyleng) {
12896
0
      yyless(readsize);
12897
0
    }
12898
104k
  } else if (yyleng == 1) {
12899
21.5k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
12900
82.9k
  } else {
12901
82.9k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12902
82.9k
  }
12903
104k
  HANDLE_NEWLINES(yytext, yyleng);
12904
104k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
12905
104k
}
12906
0
#line 12907 "Zend/zend_language_scanner.c"
12907
207k
yy962:
12908
207k
  YYDEBUG(962, *YYCURSOR);
12909
207k
  yych = *++YYCURSOR;
12910
207k
  if (yych != '?') goto yy961;
12911
196k
  yych = *(YYMARKER = ++YYCURSOR);
12912
196k
  if (yych <= 'O') {
12913
73.4k
    if (yych == '=') goto yy964;
12914
123k
  } else {
12915
123k
    if (yych <= 'P') goto yy965;
12916
123k
    if (yych == 'p') goto yy965;
12917
123k
  }
12918
169k
yy963:
12919
169k
  YYDEBUG(963, *YYCURSOR);
12920
169k
  yyleng = YYCURSOR - SCNG(yy_text);
12921
169k
#line 2361 "Zend/zend_language_scanner.l"
12922
169k
  {
12923
169k
  if (CG(short_tags)) {
12924
169k
    BEGIN(ST_IN_SCRIPTING);
12925
169k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12926
169k
  } else {
12927
0
    goto inline_char_handler;
12928
0
  }
12929
169k
}
12930
0
#line 12931 "Zend/zend_language_scanner.c"
12931
3.65k
yy964:
12932
3.65k
  YYDEBUG(964, *YYCURSOR);
12933
3.65k
  ++YYCURSOR;
12934
3.65k
  yyleng = YYCURSOR - SCNG(yy_text);
12935
3.65k
#line 2330 "Zend/zend_language_scanner.l"
12936
3.65k
  {
12937
3.65k
  BEGIN(ST_IN_SCRIPTING);
12938
3.65k
  if (PARSER_MODE()) {
12939
    /* We'll reject this as an identifier in zend_lex_tstring. */
12940
3.18k
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
12941
3.18k
  }
12942
470
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
12943
470
}
12944
0
#line 12945 "Zend/zend_language_scanner.c"
12945
30.0k
yy965:
12946
30.0k
  YYDEBUG(965, *YYCURSOR);
12947
30.0k
  yych = *++YYCURSOR;
12948
30.0k
  if (yych == 'H') goto yy967;
12949
29.0k
  if (yych == 'h') goto yy967;
12950
5.94k
yy966:
12951
5.94k
  YYDEBUG(966, *YYCURSOR);
12952
5.94k
  YYCURSOR = YYMARKER;
12953
5.94k
  goto yy963;
12954
25.9k
yy967:
12955
25.9k
  YYDEBUG(967, *YYCURSOR);
12956
25.9k
  yych = *++YYCURSOR;
12957
25.9k
  if (yych == 'P') goto yy968;
12958
25.7k
  if (yych != 'p') goto yy966;
12959
24.1k
yy968:
12960
24.1k
  YYDEBUG(968, *YYCURSOR);
12961
24.1k
  yych = *++YYCURSOR;
12962
24.1k
  if (yych <= '\f') {
12963
21.1k
    if (yych <= 0x08) goto yy969;
12964
20.5k
    if (yych <= '\n') goto yy970;
12965
20.5k
  } else {
12966
2.98k
    if (yych <= '\r') goto yy972;
12967
2.49k
    if (yych == ' ') goto yy970;
12968
2.49k
  }
12969
2.31k
yy969:
12970
2.31k
  YYDEBUG(969, *YYCURSOR);
12971
2.31k
  yyleng = YYCURSOR - SCNG(yy_text);
12972
2.31k
#line 2346 "Zend/zend_language_scanner.l"
12973
2.31k
  {
12974
  /* Allow <?php followed by end of file. */
12975
2.31k
  if (YYCURSOR == YYLIMIT) {
12976
314
    BEGIN(ST_IN_SCRIPTING);
12977
314
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12978
314
  }
12979
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
12980
1.99k
  if (CG(short_tags)) {
12981
1.99k
    yyless(2);
12982
1.99k
    BEGIN(ST_IN_SCRIPTING);
12983
1.99k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12984
1.99k
  }
12985
0
  goto inline_char_handler;
12986
1.99k
}
12987
0
#line 12988 "Zend/zend_language_scanner.c"
12988
21.5k
yy970:
12989
21.5k
  YYDEBUG(970, *YYCURSOR);
12990
21.5k
  ++YYCURSOR;
12991
21.8k
yy971:
12992
21.8k
  YYDEBUG(971, *YYCURSOR);
12993
21.8k
  yyleng = YYCURSOR - SCNG(yy_text);
12994
21.8k
#line 2340 "Zend/zend_language_scanner.l"
12995
21.8k
  {
12996
21.8k
  HANDLE_NEWLINE(yytext[yyleng-1]);
12997
21.8k
  BEGIN(ST_IN_SCRIPTING);
12998
21.8k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
12999
21.8k
}
13000
0
#line 13001 "Zend/zend_language_scanner.c"
13001
498
yy972:
13002
498
  YYDEBUG(972, *YYCURSOR);
13003
498
  yych = *++YYCURSOR;
13004
498
  if (yych == '\n') goto yy970;
13005
241
  goto yy971;
13006
/* *********************************** */
13007
8.06k
yyc_ST_END_HEREDOC:
13008
8.06k
  YYDEBUG(973, *YYCURSOR);
13009
8.06k
  YYFILL(1);
13010
8.06k
  ++YYCURSOR;
13011
8.06k
  yyleng = YYCURSOR - SCNG(yy_text);
13012
8.06k
#line 2861 "Zend/zend_language_scanner.l"
13013
8.06k
  {
13014
8.06k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13015
13016
8.06k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13017
8.06k
  YYCURSOR += yyleng - 1;
13018
13019
8.06k
  heredoc_label_dtor(heredoc_label);
13020
8.06k
  efree(heredoc_label);
13021
13022
8.06k
  BEGIN(ST_IN_SCRIPTING);
13023
8.06k
  RETURN_TOKEN(T_END_HEREDOC);
13024
8.06k
}
13025
0
#line 13026 "Zend/zend_language_scanner.c"
13026
/* *********************************** */
13027
4.30k
yyc_ST_NOWDOC:
13028
4.30k
  YYDEBUG(974, *YYCURSOR);
13029
4.30k
  YYFILL(1);
13030
4.30k
  ++YYCURSOR;
13031
4.30k
  yyleng = YYCURSOR - SCNG(yy_text);
13032
4.30k
#line 3118 "Zend/zend_language_scanner.l"
13033
4.30k
  {
13034
4.30k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13035
4.30k
  int newline = 0, indentation = 0, spacing = -1;
13036
13037
4.30k
  if (YYCURSOR > YYLIMIT) {
13038
1.22k
    RETURN_END_TOKEN;
13039
1.22k
  }
13040
13041
3.07k
  YYCURSOR--;
13042
13043
58.7k
  while (YYCURSOR < YYLIMIT) {
13044
57.9k
    switch (*YYCURSOR++) {
13045
3.47k
      case '\r':
13046
3.47k
        if (*YYCURSOR == '\n') {
13047
674
          YYCURSOR++;
13048
674
        }
13049
3.47k
        ZEND_FALLTHROUGH;
13050
11.5k
      case '\n':
13051
11.5k
        indentation = spacing = 0;
13052
13053
13.6k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13054
2.00k
          if (*YYCURSOR == '\t') {
13055
1.22k
            spacing |= HEREDOC_USING_TABS;
13056
1.22k
          } else {
13057
779
            spacing |= HEREDOC_USING_SPACES;
13058
779
          }
13059
2.00k
          ++YYCURSOR;
13060
2.00k
          ++indentation;
13061
2.00k
        }
13062
13063
11.5k
        if (YYCURSOR == YYLIMIT) {
13064
441
          yyleng = YYCURSOR - SCNG(yy_text);
13065
441
          HANDLE_NEWLINES(yytext, yyleng);
13066
441
          ZVAL_NULL(zendlval);
13067
441
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13068
441
        }
13069
13070
        /* Check for ending label on the next line */
13071
11.1k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13072
3.45k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13073
1.57k
            continue;
13074
1.57k
          }
13075
13076
1.88k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13077
211
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13078
211
            if (PARSER_MODE()) {
13079
6
              RETURN_TOKEN(T_ERROR);
13080
6
            }
13081
211
          }
13082
13083
          /* newline before label will be subtracted from returned text, but
13084
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13085
1.87k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13086
201
            newline = 2; /* Windows newline */
13087
1.67k
          } else {
13088
1.67k
            newline = 1;
13089
1.67k
          }
13090
13091
1.87k
          CG(increment_lineno) = 1; /* For newline before label */
13092
13093
1.87k
          YYCURSOR -= indentation;
13094
1.87k
          heredoc_label->indentation = indentation;
13095
13096
1.87k
          BEGIN(ST_END_HEREDOC);
13097
13098
1.87k
          goto nowdoc_scan_done;
13099
1.88k
        }
13100
7.69k
        ZEND_FALLTHROUGH;
13101
54.0k
      default:
13102
54.0k
        continue;
13103
57.9k
    }
13104
57.9k
  }
13105
13106
2.63k
nowdoc_scan_done:
13107
2.63k
  yyleng = YYCURSOR - SCNG(yy_text);
13108
2.63k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13109
13110
2.63k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13111
874
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13112
874
    if (!strip_multiline_string_indentation(
13113
874
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13114
874
        newline_at_start, newline != 0)) {
13115
18
      RETURN_TOKEN(T_ERROR);
13116
18
    }
13117
874
  }
13118
13119
2.61k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13120
2.61k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13121
2.61k
}
13122
2.61k
#line 13123 "Zend/zend_language_scanner.c"
13123
2.61k
}
13124
0
#line 3217 "Zend/zend_language_scanner.l"
13125
13126
13127
1.94M
emit_token_with_str:
13128
1.94M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13129
13130
2.99M
emit_token_with_val:
13131
2.99M
  if (PARSER_MODE()) {
13132
1.57M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13133
1.57M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13134
1.57M
  }
13135
13136
11.8M
emit_token:
13137
11.8M
  if (SCNG(on_event)) {
13138
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13139
0
  }
13140
11.8M
  return token;
13141
13142
472k
emit_token_with_ident:
13143
472k
  if (PARSER_MODE()) {
13144
280k
    elem->ident = SCNG(yy_text);
13145
280k
  }
13146
472k
  if (SCNG(on_event)) {
13147
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13148
0
  }
13149
472k
  return token;
13150
13151
1.27M
return_whitespace:
13152
1.27M
  HANDLE_NEWLINES(yytext, yyleng);
13153
1.27M
  if (SCNG(on_event)) {
13154
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13155
0
  }
13156
1.27M
  if (PARSER_MODE()) {
13157
641k
    start_line = CG(zend_lineno);
13158
641k
    goto restart;
13159
641k
  } else {
13160
628k
    return T_WHITESPACE;
13161
628k
  }
13162
13163
205k
skip_token:
13164
205k
  if (SCNG(on_event)) {
13165
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13166
0
  }
13167
205k
  start_line = CG(zend_lineno);
13168
205k
  goto restart;
13169
1.27M
}