Coverage Report

Created: 2026-01-18 06:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include <stdint.h>
36
#include "zend.h"
37
#ifdef ZEND_WIN32
38
# include <Winuser.h>
39
#endif
40
#include "zend_alloc.h"
41
#include <zend_language_parser.h>
42
#include "zend_compile.h"
43
#include "zend_language_scanner.h"
44
#include "zend_highlight.h"
45
#include "zend_constants.h"
46
#include "zend_variables.h"
47
#include "zend_operators.h"
48
#include "zend_API.h"
49
#include "zend_strtod.h"
50
#include "zend_exceptions.h"
51
#include "zend_virtual_cwd.h"
52
53
13.9M
#define YYCTYPE   unsigned char
54
53.2M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
342M
#define YYCURSOR  SCNG(yy_cursor)
56
116M
#define YYLIMIT   SCNG(yy_limit)
57
14.9M
#define YYMARKER  SCNG(yy_marker)
58
59
45.2M
#define YYGETCONDITION()  SCNG(yy_state)
60
3.56M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
829k
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
25.4k
#define YYSTATE      YYGETCONDITION()
67
3.87M
#define yytext       ((char*)SCNG(yy_text))
68
18.5M
#define yyleng       SCNG(yy_leng)
69
854k
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
854k
                          yyleng   = (unsigned int)x; } while(0)
71
#define yymore()     goto yymore_restart
72
73
/* perform sanity check. If this message is triggered you should
74
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
75
#define YYMAXFILL 16
76
77
#if ZEND_MMAP_AHEAD < YYMAXFILL
78
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
79
#endif
80
81
#include <stdarg.h>
82
83
#ifdef HAVE_UNISTD_H
84
# include <unistd.h>
85
#endif
86
87
/* Globals Macros */
88
600M
#define SCNG  LANG_SCNG
89
#ifdef ZTS
90
ZEND_API ts_rsrc_id language_scanner_globals_id;
91
ZEND_API size_t language_scanner_globals_offset;
92
#else
93
ZEND_API zend_php_scanner_globals language_scanner_globals;
94
#endif
95
96
2.86M
#define HANDLE_NEWLINES(s, l)                         \
97
2.86M
do {                                     \
98
2.86M
  char *p = (s), *boundary = p+(l);                     \
99
2.86M
                                        \
100
31.7M
  while (p<boundary) {                           \
101
28.8M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
3.08M
      CG(zend_lineno)++;                          \
103
3.08M
    }                                    \
104
28.8M
    p++;                                  \
105
28.8M
  }                                      \
106
2.86M
} while (0)
107
108
26.4k
#define HANDLE_NEWLINE(c) \
109
26.4k
{ \
110
26.4k
  if (c == '\n' || c == '\r') { \
111
6.85k
    CG(zend_lineno)++; \
112
6.85k
  } \
113
26.4k
}
114
115
/* To save initial string length after scanning to first variable */
116
79.6k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
145k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
3.86M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
11.0k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
60.9k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
3.85k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
124
125
126
static void strip_underscores(char *str, size_t *len)
127
3.91k
{
128
3.91k
  char *src = str, *dest = str;
129
48.1k
  while (*src != '\0') {
130
44.2k
    if (*src != '_') {
131
38.8k
      *dest = *src;
132
38.8k
      dest++;
133
38.8k
    } else {
134
5.39k
      --(*len);
135
5.39k
    }
136
44.2k
    src++;
137
44.2k
  }
138
3.91k
  *dest = '\0';
139
3.91k
}
140
141
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
142
0
{
143
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
144
0
  ZEND_ASSERT(internal_encoding);
145
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
146
0
}
147
148
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
149
0
{
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
156
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
157
0
}
158
159
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
160
0
{
161
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
162
0
  ZEND_ASSERT(internal_encoding);
163
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
164
0
internal_encoding, zend_multibyte_encoding_utf8);
165
0
}
166
167
168
static void _yy_push_state(int new_state)
169
1.88M
{
170
1.88M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
1.88M
  YYSETCONDITION(new_state);
172
1.88M
}
173
174
1.88M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
826k
{
178
826k
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
826k
  YYSETCONDITION(*stack_state);
180
826k
  zend_stack_del_top(&SCNG(state_stack));
181
826k
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
8.66k
{
185
8.66k
  YYCURSOR       = (YYCTYPE*)str;
186
8.66k
  YYLIMIT        = YYCURSOR + len;
187
8.66k
  if (!SCNG(yy_start)) {
188
3.37k
    SCNG(yy_start) = YYCURSOR;
189
3.37k
  }
190
8.66k
}
191
192
void startup_scanner(void)
193
5.28k
{
194
5.28k
  CG(parse_error) = 0;
195
5.28k
  CG(doc_comment) = NULL;
196
5.28k
  CG(extra_fn_flags) = 0;
197
5.28k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
5.28k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
5.28k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
5.28k
  SCNG(heredoc_scan_ahead) = 0;
201
5.28k
}
202
203
1.07M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
1.07M
    efree(heredoc_label->label);
205
1.07M
}
206
207
void shutdown_scanner(void)
208
5.28k
{
209
5.28k
  CG(parse_error) = 0;
210
5.28k
  RESET_DOC_COMMENT();
211
5.28k
  zend_stack_destroy(&SCNG(state_stack));
212
5.28k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
5.28k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
5.28k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
5.28k
  SCNG(heredoc_scan_ahead) = 0;
216
5.28k
  SCNG(on_event) = NULL;
217
5.28k
  SCNG(on_event_context) = NULL;
218
5.28k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
25.4k
{
222
25.4k
  lex_state->yy_leng   = SCNG(yy_leng);
223
25.4k
  lex_state->yy_start  = SCNG(yy_start);
224
25.4k
  lex_state->yy_text   = SCNG(yy_text);
225
25.4k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
25.4k
  lex_state->yy_marker = SCNG(yy_marker);
227
25.4k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
25.4k
  lex_state->state_stack = SCNG(state_stack);
230
25.4k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
25.4k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
25.4k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
25.4k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
25.4k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
25.4k
  lex_state->in = SCNG(yy_in);
239
25.4k
  lex_state->yy_state = YYSTATE;
240
25.4k
  lex_state->filename = CG(compiled_filename);
241
25.4k
  lex_state->lineno = CG(zend_lineno);
242
25.4k
  CG(compiled_filename) = NULL;
243
244
25.4k
  lex_state->script_org = SCNG(script_org);
245
25.4k
  lex_state->script_org_size = SCNG(script_org_size);
246
25.4k
  lex_state->script_filtered = SCNG(script_filtered);
247
25.4k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
25.4k
  lex_state->input_filter = SCNG(input_filter);
249
25.4k
  lex_state->output_filter = SCNG(output_filter);
250
25.4k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
25.4k
  lex_state->on_event = SCNG(on_event);
253
25.4k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
25.4k
  lex_state->ast = CG(ast);
256
25.4k
  lex_state->ast_arena = CG(ast_arena);
257
25.4k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
25.4k
{
261
25.4k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
25.4k
  SCNG(yy_start)  = lex_state->yy_start;
263
25.4k
  SCNG(yy_text)   = lex_state->yy_text;
264
25.4k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
25.4k
  SCNG(yy_marker) = lex_state->yy_marker;
266
25.4k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
25.4k
  zend_stack_destroy(&SCNG(state_stack));
269
25.4k
  SCNG(state_stack) = lex_state->state_stack;
270
271
25.4k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
25.4k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
25.4k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
25.4k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
25.4k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
25.4k
  SCNG(yy_in) = lex_state->in;
279
25.4k
  YYSETCONDITION(lex_state->yy_state);
280
25.4k
  CG(zend_lineno) = lex_state->lineno;
281
25.4k
  zend_restore_compiled_filename(lex_state->filename);
282
283
25.4k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
284
0
    efree(SCNG(script_filtered));
285
0
    SCNG(script_filtered) = NULL;
286
0
  }
287
25.4k
  SCNG(script_org) = lex_state->script_org;
288
25.4k
  SCNG(script_org_size) = lex_state->script_org_size;
289
25.4k
  SCNG(script_filtered) = lex_state->script_filtered;
290
25.4k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
25.4k
  SCNG(input_filter) = lex_state->input_filter;
292
25.4k
  SCNG(output_filter) = lex_state->output_filter;
293
25.4k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
25.4k
  SCNG(on_event) = lex_state->on_event;
296
25.4k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
25.4k
  CG(ast) = lex_state->ast;
299
25.4k
  CG(ast_arena) = lex_state->ast_arena;
300
301
25.4k
  RESET_DOC_COMMENT();
302
25.4k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
666
{
306
666
  unsigned char *end = ident;
307
4.62k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
3.96k
    end++;
309
3.96k
  }
310
311
666
  size_t length = end - ident;
312
666
  if (length == 0) {
313
0
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
0
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
0
    return FAILURE;
316
0
  }
317
318
666
  if (SCNG(on_event)) {
319
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
320
0
  }
321
322
666
  ZVAL_STRINGL(zv, (char *) ident, length);
323
666
  return SUCCESS;
324
666
}
325
326
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
327
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
328
0
#define BOM_UTF16_BE  "\xfe\xff"
329
0
#define BOM_UTF16_LE  "\xff\xfe"
330
0
#define BOM_UTF8    "\xef\xbb\xbf"
331
332
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
333
0
{
334
0
  const unsigned char *p;
335
0
  int wchar_size = 2;
336
0
  int le = 0;
337
338
  /* utf-16 or utf-32? */
339
0
  p = script;
340
0
  assert(p >= script);
341
0
  while ((size_t)(p-script) < script_size) {
342
0
    p = memchr(p, 0, script_size-(p-script)-2);
343
0
    if (!p) {
344
0
      break;
345
0
    }
346
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
347
0
      wchar_size = 4;
348
0
      break;
349
0
    }
350
351
    /* searching for UTF-32 specific byte orders, so this will do */
352
0
    p += 4;
353
0
  }
354
355
  /* BE or LE? */
356
0
  p = script;
357
0
  assert(p >= script);
358
0
  while ((size_t)(p-script) < script_size) {
359
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
360
      /* BE */
361
0
      le = 0;
362
0
      break;
363
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
364
      /* LE* */
365
0
      le = 1;
366
0
      break;
367
0
    }
368
0
    p += wchar_size;
369
0
  }
370
371
0
  if (wchar_size == 2) {
372
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
373
0
  } else {
374
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
375
0
  }
376
377
0
  return NULL;
378
0
}
379
380
static const zend_encoding* zend_multibyte_detect_unicode(void)
381
0
{
382
0
  const zend_encoding *script_encoding = NULL;
383
0
  int bom_size;
384
0
  unsigned char *pos1, *pos2;
385
386
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
387
0
    return NULL;
388
0
  }
389
390
  /* check out BOM */
391
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
392
0
    script_encoding = zend_multibyte_encoding_utf32be;
393
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
394
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
395
0
    script_encoding = zend_multibyte_encoding_utf32le;
396
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
397
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
398
0
    script_encoding = zend_multibyte_encoding_utf16be;
399
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
400
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
401
0
    script_encoding = zend_multibyte_encoding_utf16le;
402
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
403
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
404
0
    script_encoding = zend_multibyte_encoding_utf8;
405
0
    bom_size = sizeof(BOM_UTF8)-1;
406
0
  }
407
408
0
  if (script_encoding) {
409
    /* remove BOM */
410
0
    LANG_SCNG(script_org) += bom_size;
411
0
    LANG_SCNG(script_org_size) -= bom_size;
412
413
0
    return script_encoding;
414
0
  }
415
416
  /* script contains NULL bytes -> auto-detection */
417
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
418
    /* check if the NULL byte is after the __HALT_COMPILER(); */
419
0
    pos2 = LANG_SCNG(script_org);
420
421
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
422
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
423
0
      if (!pos2) break;
424
0
      pos2++;
425
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
426
0
        pos2 += sizeof("_HALT_COMPILER")-1;
427
0
        while (*pos2 == ' '  ||
428
0
             *pos2 == '\t' ||
429
0
             *pos2 == '\r' ||
430
0
             *pos2 == '\n') {
431
0
          pos2++;
432
0
        }
433
0
        if (*pos2 == '(') {
434
0
          pos2++;
435
0
          while (*pos2 == ' '  ||
436
0
               *pos2 == '\t' ||
437
0
               *pos2 == '\r' ||
438
0
               *pos2 == '\n') {
439
0
            pos2++;
440
0
          }
441
0
          if (*pos2 == ')') {
442
0
            pos2++;
443
0
            while (*pos2 == ' '  ||
444
0
                 *pos2 == '\t' ||
445
0
                 *pos2 == '\r' ||
446
0
                 *pos2 == '\n') {
447
0
              pos2++;
448
0
            }
449
0
            if (*pos2 == ';') {
450
0
              return NULL;
451
0
            }
452
0
          }
453
0
        }
454
0
      }
455
0
    }
456
    /* make best effort if BOM is missing */
457
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
458
0
  }
459
460
0
  return NULL;
461
0
}
462
463
static const zend_encoding* zend_multibyte_find_script_encoding(void)
464
0
{
465
0
  const zend_encoding *script_encoding;
466
467
0
  if (CG(detect_unicode)) {
468
    /* check out bom(byte order mark) and see if containing wchars */
469
0
    script_encoding = zend_multibyte_detect_unicode();
470
0
    if (script_encoding != NULL) {
471
      /* bom or wchar detection is prior to 'script_encoding' option */
472
0
      return script_encoding;
473
0
    }
474
0
  }
475
476
  /* if no script_encoding specified, just leave alone */
477
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
478
0
    return NULL;
479
0
  }
480
481
  /* if multiple encodings specified, detect automagically */
482
0
  if (CG(script_encoding_list_size) > 1) {
483
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
484
0
  }
485
486
0
  return CG(script_encoding_list)[0];
487
0
}
488
489
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
490
0
{
491
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
492
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
493
494
0
  if (!script_encoding) {
495
0
    return FAILURE;
496
0
  }
497
498
  /* judge input/output filter */
499
0
  LANG_SCNG(script_encoding) = script_encoding;
500
0
  LANG_SCNG(input_filter) = NULL;
501
0
  LANG_SCNG(output_filter) = NULL;
502
503
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
504
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
505
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
506
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
507
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
508
0
    } else {
509
0
      LANG_SCNG(input_filter) = NULL;
510
0
      LANG_SCNG(output_filter) = NULL;
511
0
    }
512
0
    return SUCCESS;
513
0
  }
514
515
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
516
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
517
0
    LANG_SCNG(output_filter) = NULL;
518
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
519
0
    LANG_SCNG(input_filter) = NULL;
520
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
521
0
  } else {
522
    /* both script and internal encodings are incompatible w/ flex */
523
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
524
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
525
0
  }
526
527
0
  return SUCCESS;
528
0
}
529
530
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
531
5.28k
{
532
5.28k
  char *buf;
533
5.28k
  size_t size;
534
5.28k
  zend_string *compiled_filename;
535
536
5.28k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
0
    zend_llist_add_element(&CG(open_files), file_handle);
539
0
    file_handle->in_list = 1;
540
0
    return FAILURE;
541
0
  }
542
543
5.28k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
5.28k
  zend_llist_add_element(&CG(open_files), file_handle);
545
5.28k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
5.28k
  SCNG(yy_in) = file_handle;
549
5.28k
  SCNG(yy_start) = NULL;
550
551
5.28k
  if (size != (size_t)-1) {
552
5.28k
    if (CG(multibyte)) {
553
0
      SCNG(script_org) = (unsigned char*)buf;
554
0
      SCNG(script_org_size) = size;
555
0
      SCNG(script_filtered) = NULL;
556
557
0
      zend_multibyte_set_filter(NULL);
558
559
0
      if (SCNG(input_filter)) {
560
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
561
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
562
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
563
0
        }
564
0
        buf = (char*)SCNG(script_filtered);
565
0
        size = SCNG(script_filtered_size);
566
0
      }
567
0
    }
568
5.28k
    SCNG(yy_start) = (unsigned char *)buf;
569
5.28k
    yy_scan_buffer(buf, size);
570
5.28k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
5.28k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
5.28k
  } else {
577
5.28k
    BEGIN(INITIAL);
578
5.28k
  }
579
580
5.28k
  if (file_handle->opened_path) {
581
0
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
5.28k
  } else {
583
5.28k
    compiled_filename = zend_string_copy(file_handle->filename);
584
5.28k
  }
585
586
5.28k
  zend_set_compiled_filename(compiled_filename);
587
5.28k
  zend_string_release_ex(compiled_filename, 0);
588
589
5.28k
  SCNG(on_event) = NULL;
590
5.28k
  SCNG(on_event_context) = NULL;
591
5.28k
  RESET_DOC_COMMENT();
592
5.28k
  CG(zend_lineno) = 1;
593
5.28k
  CG(increment_lineno) = 0;
594
5.28k
  return SUCCESS;
595
5.28k
}
596
597
static zend_op_array *zend_compile(int type)
598
5.36k
{
599
5.36k
  zend_op_array *op_array = NULL;
600
5.36k
  bool original_in_compilation = CG(in_compilation);
601
602
5.36k
  CG(in_compilation) = 1;
603
5.36k
  CG(ast) = NULL;
604
5.36k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
5.36k
  if (!zendparse()) {
607
4.56k
    uint32_t last_lineno = CG(zend_lineno);
608
4.56k
    zend_file_context original_file_context;
609
4.56k
    zend_oparray_context original_oparray_context;
610
4.56k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
4.56k
    op_array = emalloc(sizeof(zend_op_array));
613
4.56k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
4.56k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
4.56k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
4.56k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
4.56k
    zend_file_context_begin(&original_file_context);
624
4.56k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
4.56k
    zend_compile_top_stmt(CG(ast));
626
4.56k
    CG(zend_lineno) = last_lineno;
627
4.56k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
4.56k
    op_array->line_start = 1;
629
4.56k
    op_array->line_end = last_lineno;
630
4.56k
    pass_two(op_array);
631
4.56k
    zend_oparray_context_end(&original_oparray_context);
632
4.56k
    zend_file_context_end(&original_file_context);
633
634
4.56k
    CG(active_op_array) = original_active_op_array;
635
4.56k
  }
636
637
5.36k
  zend_ast_destroy(CG(ast));
638
5.36k
  zend_arena_destroy(CG(ast_arena));
639
640
5.36k
  CG(in_compilation) = original_in_compilation;
641
642
5.36k
  return op_array;
643
5.36k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
5.28k
{
647
5.28k
  zend_lex_state original_lex_state;
648
5.28k
  zend_op_array *op_array = NULL;
649
5.28k
  zend_save_lexical_state(&original_lex_state);
650
651
5.28k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
0
    if (!EG(exception)) {
653
0
      if (type==ZEND_REQUIRE) {
654
0
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
0
      } else {
656
0
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
0
      }
658
0
    }
659
5.28k
  } else {
660
5.28k
    bool orig_record_errors = EG(record_errors);
661
5.28k
    if (!orig_record_errors) {
662
0
      zend_begin_record_errors();
663
0
    }
664
665
5.28k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
5.28k
    if (!orig_record_errors) {
668
0
      zend_emit_recorded_errors();
669
0
      zend_free_recorded_errors();
670
0
    }
671
5.28k
  }
672
673
5.28k
  zend_restore_lexical_state(&original_lex_state);
674
5.28k
  return op_array;
675
5.28k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
6
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
6
  zval code_zv;
680
6
  bool original_in_compilation;
681
6
  zend_lex_state original_lex_state;
682
6
  zend_ast *ast;
683
684
6
  ZVAL_STR_COPY(&code_zv, code);
685
686
6
  original_in_compilation = CG(in_compilation);
687
6
  CG(in_compilation) = 1;
688
689
6
  zend_save_lexical_state(&original_lex_state);
690
6
  zend_prepare_string_for_scanning(&code_zv, filename);
691
6
  CG(ast) = NULL;
692
6
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
6
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
6
  if (zendparse() != 0) {
696
0
    zend_ast_destroy(CG(ast));
697
0
    zend_arena_destroy(CG(ast_arena));
698
0
    CG(ast) = NULL;
699
0
  }
700
701
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
702
6
  ast = CG(ast);
703
6
  *ast_arena = CG(ast_arena);
704
705
6
  zend_restore_lexical_state(&original_lex_state);
706
6
  CG(in_compilation) = original_in_compilation;
707
708
6
  zval_ptr_dtor_str(&code_zv);
709
710
6
  return ast;
711
6
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
142
{
715
142
  zend_file_handle file_handle;
716
142
  zend_op_array *retval;
717
142
  zend_string *opened_path = NULL;
718
719
142
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
142
  retval = zend_compile_file(&file_handle, type);
722
142
  if (retval && file_handle.handle.stream.handle) {
723
0
    if (!file_handle.opened_path) {
724
0
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
0
    }
726
727
0
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
0
    if (opened_path) {
730
0
      zend_string_release_ex(opened_path, 0);
731
0
    }
732
0
  }
733
142
  zend_destroy_file_handle(&file_handle);
734
735
142
  return retval;
736
142
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
3.37k
{
740
3.37k
  char *buf;
741
3.37k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
3.37k
  old_len = Z_STRLEN_P(str);
745
3.37k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
3.37k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
3.37k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
3.37k
  SCNG(yy_in) = NULL;
750
3.37k
  SCNG(yy_start) = NULL;
751
752
3.37k
  buf = Z_STRVAL_P(str);
753
3.37k
  size = old_len;
754
755
3.37k
  if (CG(multibyte)) {
756
0
    SCNG(script_org) = (unsigned char*)buf;
757
0
    SCNG(script_org_size) = size;
758
0
    SCNG(script_filtered) = NULL;
759
760
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
761
762
0
    if (SCNG(input_filter)) {
763
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
764
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
765
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
766
0
      }
767
0
      buf = (char*)SCNG(script_filtered);
768
0
      size = SCNG(script_filtered_size);
769
0
    }
770
0
  }
771
772
3.37k
  yy_scan_buffer(buf, size);
773
3.37k
  zend_set_compiled_filename(filename);
774
3.37k
  CG(zend_lineno) = 1;
775
3.37k
  CG(increment_lineno) = 0;
776
3.37k
  SCNG(on_event) = NULL;
777
3.37k
  SCNG(on_event_context) = NULL;
778
3.37k
  RESET_DOC_COMMENT();
779
3.37k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
2
{
784
2
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
2
  if (SCNG(input_filter)) {
786
0
    size_t original_offset = offset, length = 0;
787
0
    do {
788
0
      unsigned char *p = NULL;
789
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
790
0
        return (size_t)-1;
791
0
      }
792
0
      efree(p);
793
0
      if (length > original_offset) {
794
0
        offset--;
795
0
      } else if (length < original_offset) {
796
0
        offset++;
797
0
      }
798
0
    } while (original_offset != length);
799
0
  }
800
2
  return offset;
801
2
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
76
{
805
76
  zend_lex_state original_lex_state;
806
76
  zend_op_array *op_array = NULL;
807
76
  zval tmp;
808
76
  zend_string *filename_str;
809
810
76
  if (ZSTR_LEN(source_string) == 0) {
811
0
    return NULL;
812
0
  }
813
814
76
  ZVAL_STR_COPY(&tmp, source_string);
815
816
76
  zend_save_lexical_state(&original_lex_state);
817
76
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
76
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
76
  zend_string_release(filename_str);
820
821
76
  switch (position) {
822
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
823
0
      BEGIN(SHEBANG);
824
0
      break;
825
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
826
0
      BEGIN(INITIAL);
827
0
      break;
828
76
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
76
      BEGIN(ST_IN_SCRIPTING);
830
76
      break;
831
76
  }
832
833
76
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
76
  zend_restore_lexical_state(&original_lex_state);
836
76
  zval_ptr_dtor(&tmp);
837
838
76
  return op_array;
839
76
}
840
841
842
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
843
0
{
844
0
  zend_lex_state original_lex_state;
845
0
  zend_file_handle file_handle;
846
847
0
  zend_stream_init_filename(&file_handle, filename);
848
0
  zend_save_lexical_state(&original_lex_state);
849
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
850
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
851
0
    zend_destroy_file_handle(&file_handle);
852
0
    zend_restore_lexical_state(&original_lex_state);
853
0
    return FAILURE;
854
0
  }
855
0
  zend_highlight(syntax_highlighter_ini);
856
0
  if (SCNG(script_filtered)) {
857
0
    efree(SCNG(script_filtered));
858
0
    SCNG(script_filtered) = NULL;
859
0
  }
860
0
  zend_destroy_file_handle(&file_handle);
861
0
  zend_restore_lexical_state(&original_lex_state);
862
0
  return SUCCESS;
863
0
}
864
865
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
866
3.29k
{
867
3.29k
  zend_lex_state original_lex_state;
868
3.29k
  zval str_zv;
869
3.29k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
3.29k
  ZVAL_STR_COPY(&str_zv, str);
871
3.29k
  zend_save_lexical_state(&original_lex_state);
872
3.29k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
3.29k
  zend_string_release(filename_str);
874
3.29k
  BEGIN(INITIAL);
875
3.29k
  zend_highlight(syntax_highlighter_ini);
876
3.29k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
3.29k
  zend_restore_lexical_state(&original_lex_state);
881
3.29k
  zval_ptr_dtor(&str_zv);
882
3.29k
}
883
884
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
885
0
{
886
0
  size_t length;
887
0
  unsigned char *new_yy_start;
888
889
  /* convert and set */
890
0
  if (!SCNG(input_filter)) {
891
0
    if (SCNG(script_filtered)) {
892
0
      efree(SCNG(script_filtered));
893
0
      SCNG(script_filtered) = NULL;
894
0
    }
895
0
    SCNG(script_filtered_size) = 0;
896
0
    length = SCNG(script_org_size);
897
0
    new_yy_start = SCNG(script_org);
898
0
  } else {
899
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
900
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
901
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
902
0
    }
903
0
    if (SCNG(script_filtered)) {
904
0
      efree(SCNG(script_filtered));
905
0
    }
906
0
    SCNG(script_filtered) = new_yy_start;
907
0
    SCNG(script_filtered_size) = length;
908
0
  }
909
910
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
911
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
912
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
913
0
  SCNG(yy_limit) = new_yy_start + length;
914
915
0
  SCNG(yy_start) = new_yy_start;
916
0
}
917
918
919
// TODO: avoid reallocation ???
920
# define zend_copy_value(zendlval, yytext, yyleng) \
921
1.89M
  if (SCNG(output_filter)) { \
922
0
    size_t sz = 0; \
923
0
    char *s = NULL; \
924
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
925
0
    ZVAL_STRINGL(zendlval, s, sz); \
926
0
    efree(s); \
927
1.89M
  } else if (yyleng == 1) { \
928
581k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
1.31M
  } else { \
930
1.31M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
1.31M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
226k
{
935
226k
  char *s, *t;
936
226k
  char *end;
937
938
226k
  if (len <= 1) {
939
12.8k
    if (len < 1) {
940
2.80k
      ZVAL_EMPTY_STRING(zendlval);
941
10.0k
    } else {
942
10.0k
      zend_uchar c = (zend_uchar)*str;
943
10.0k
      HANDLE_NEWLINE(c);
944
10.0k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
10.0k
    }
946
12.8k
    goto skip_escape_conversion;
947
12.8k
  }
948
949
213k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
213k
  s = Z_STRVAL_P(zendlval);
953
213k
  end = s+Z_STRLEN_P(zendlval);
954
7.32M
  while (1) {
955
7.32M
    if (UNEXPECTED(*s=='\\')) {
956
39.5k
      break;
957
39.5k
    }
958
7.28M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
348k
      CG(zend_lineno)++;
960
348k
    }
961
7.28M
    s++;
962
7.28M
    if (s == end) {
963
173k
      goto skip_escape_conversion;
964
173k
    }
965
7.28M
  }
966
967
39.5k
  t = s;
968
1.97M
  while (s<end) {
969
1.93M
    if (*s=='\\') {
970
107k
      s++;
971
107k
      if (s >= end) {
972
57
        *t++ = '\\';
973
57
        break;
974
57
      }
975
976
107k
      switch(*s) {
977
21.2k
        case 'n':
978
21.2k
          *t++ = '\n';
979
21.2k
          break;
980
475
        case 'r':
981
475
          *t++ = '\r';
982
475
          break;
983
787
        case 't':
984
787
          *t++ = '\t';
985
787
          break;
986
1.10k
        case 'f':
987
1.10k
          *t++ = '\f';
988
1.10k
          break;
989
1.08k
        case 'v':
990
1.08k
          *t++ = '\v';
991
1.08k
          break;
992
43
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
43
          *t++ = '\e';
997
43
#endif
998
43
          break;
999
1.46k
        case '"':
1000
1.60k
        case '`':
1001
1.60k
          if (*s != quote_type) {
1002
358
            *t++ = '\\';
1003
358
            *t++ = *s;
1004
358
            break;
1005
358
          }
1006
1.24k
          ZEND_FALLTHROUGH;
1007
27.0k
        case '\\':
1008
27.6k
        case '$':
1009
27.6k
          *t++ = *s;
1010
27.6k
          break;
1011
1.38k
        case 'x':
1012
2.46k
        case 'X':
1013
2.46k
          if (ZEND_IS_HEX(*(s+1))) {
1014
1.38k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
1.38k
            hex_buf[0] = *(++s);
1017
1.38k
            if (ZEND_IS_HEX(*(s+1))) {
1018
1.38k
              hex_buf[1] = *(++s);
1019
1.38k
            }
1020
1.38k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
1.38k
          } else {
1022
1.07k
            *t++ = '\\';
1023
1.07k
            *t++ = *s;
1024
1.07k
          }
1025
2.46k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
530
        case 'u':
1028
530
          {
1029
            /* cache where we started so we can parse after validating */
1030
530
            char *start = s + 1;
1031
530
            size_t len = 0;
1032
530
            bool valid = 1;
1033
530
            unsigned long codepoint;
1034
1035
530
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
518
              *t++ = '\\';
1040
518
              *t++ = 'u';
1041
518
              break;
1042
518
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
12
              s++;
1045
12
              len++;
1046
12
              s++;
1047
12
              while (*s != '}') {
1048
12
                if (!ZEND_IS_HEX(*s)) {
1049
12
                  valid = 0;
1050
12
                  break;
1051
12
                } else {
1052
0
                  len++;
1053
0
                }
1054
0
                s++;
1055
0
              }
1056
12
              if (*s == '}') {
1057
0
                valid = 1;
1058
0
                len++;
1059
0
              }
1060
12
            }
1061
1062
            /* \u{} is invalid */
1063
12
            if (len <= 2) {
1064
12
              valid = 0;
1065
12
            }
1066
1067
12
            if (!valid) {
1068
12
              zend_throw_exception(zend_ce_parse_error,
1069
12
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
12
              zval_ptr_dtor(zendlval);
1071
12
              ZVAL_UNDEF(zendlval);
1072
12
              return FAILURE;
1073
12
            }
1074
1075
12
            errno = 0;
1076
0
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
0
            if (codepoint > 0x10FFFF || errno) {
1080
0
              zend_throw_exception(zend_ce_parse_error,
1081
0
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
0
              zval_ptr_dtor(zendlval);
1083
0
              ZVAL_UNDEF(zendlval);
1084
0
              return FAILURE;
1085
0
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
0
            if (codepoint < 0x80) {
1089
0
              *t++ = codepoint;
1090
0
            } else if (codepoint <= 0x7FF) {
1091
0
              *t++ = (codepoint >> 6) + 0xC0;
1092
0
              *t++ = (codepoint & 0x3F) + 0x80;
1093
0
            } else if (codepoint <= 0xFFFF) {
1094
0
              *t++ = (codepoint >> 12) + 0xE0;
1095
0
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
0
              *t++ = (codepoint & 0x3F) + 0x80;
1097
0
            } else if (codepoint <= 0x10FFFF) {
1098
0
              *t++ = (codepoint >> 18) + 0xF0;
1099
0
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
0
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
0
              *t++ = (codepoint & 0x3F) + 0x80;
1102
0
            }
1103
0
          }
1104
0
          break;
1105
51.9k
        default:
1106
          /* check for an octal */
1107
51.9k
          if (ZEND_IS_OCT(*s)) {
1108
6.59k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
6.59k
            octal_buf[0] = *s;
1111
6.59k
            if (ZEND_IS_OCT(*(s+1))) {
1112
2.46k
              octal_buf[1] = *(++s);
1113
2.46k
              if (ZEND_IS_OCT(*(s+1))) {
1114
1.71k
                octal_buf[2] = *(++s);
1115
1.71k
              }
1116
2.46k
            }
1117
6.59k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
132
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
132
            }
1121
1122
6.59k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
45.3k
          } else {
1124
45.3k
            *t++ = '\\';
1125
45.3k
            *t++ = *s;
1126
45.3k
          }
1127
51.9k
          break;
1128
107k
      }
1129
1.83M
    } else {
1130
1.83M
      *t++ = *s;
1131
1.83M
    }
1132
1133
1.93M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
72.1k
      CG(zend_lineno)++;
1135
72.1k
    }
1136
1.93M
    s++;
1137
1.93M
  }
1138
39.5k
  *t = 0;
1139
39.5k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
226k
skip_escape_conversion:
1142
226k
  if (SCNG(output_filter)) {
1143
0
    size_t sz = 0;
1144
0
    unsigned char *str;
1145
    // TODO: avoid realocation ???
1146
0
    s = Z_STRVAL_P(zendlval);
1147
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1148
0
    zval_ptr_dtor(zendlval);
1149
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1150
0
    efree(str);
1151
0
  }
1152
226k
  return SUCCESS;
1153
39.5k
}
1154
1155
1.17M
#define HEREDOC_USING_SPACES 1
1156
14.8k
#define HEREDOC_USING_TABS 2
1157
1158
93.7k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
1.44M
  for (; str < end; str++) {
1160
1.42M
    if (*str == '\r') {
1161
12.2k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
12.2k
      return str;
1163
1.40M
    } else if (*str == '\n') {
1164
57.5k
      *newline_len = 1;
1165
57.5k
      return str;
1166
57.5k
    }
1167
1.42M
  }
1168
23.9k
  *newline_len = 0;
1169
23.9k
  return NULL;
1170
93.7k
}
1171
1172
static bool strip_multiline_string_indentation(
1173
  zval *zendlval, int indentation, bool using_spaces,
1174
  bool newline_at_start, bool newline_at_end)
1175
23.4k
{
1176
23.4k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
23.4k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
23.4k
  uint32_t newline_count = 0;
1180
23.4k
  size_t newline_len;
1181
23.4k
  const char *nl;
1182
1183
23.4k
  if (!newline_at_start) {
1184
16.4k
    nl = next_newline(str, end, &newline_len);
1185
16.4k
    if (!nl) {
1186
5.80k
      return 1;
1187
5.80k
    }
1188
1189
10.6k
    str = nl + newline_len;
1190
10.6k
    copy = (char *) nl + newline_len;
1191
10.6k
    newline_count++;
1192
10.6k
  } else {
1193
6.98k
    nl = str;
1194
6.98k
  }
1195
1196
  /* <= intentional */
1197
87.7k
  while (str <= end && nl) {
1198
77.3k
    size_t skip;
1199
77.3k
    nl = next_newline(str, end, &newline_len);
1200
77.3k
    if (!nl && newline_at_end) {
1201
1.15k
      nl = end;
1202
1.15k
    }
1203
1204
    /* Try to skip indentation */
1205
77.4k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
88
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
0
        break;
1209
0
      }
1210
1211
88
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
3
        CG(zend_lineno) += newline_count;
1213
3
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
3
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
3
        goto error;
1216
3
      }
1217
1218
85
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
0
        CG(zend_lineno) += newline_count;
1220
0
        zend_throw_exception(zend_ce_parse_error,
1221
0
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
0
        goto error;
1223
0
      }
1224
85
    }
1225
1226
77.3k
    if (str == end) {
1227
7.22k
      break;
1228
7.22k
    }
1229
1230
70.0k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
70.0k
    memmove(copy, str, len);
1232
70.0k
    str += len;
1233
70.0k
    copy += len;
1234
70.0k
    newline_count++;
1235
70.0k
  }
1236
1237
17.6k
  *copy = '\0';
1238
17.6k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
17.6k
  return 1;
1240
1241
3
error:
1242
3
  zval_ptr_dtor_str(zendlval);
1243
3
  ZVAL_UNDEF(zendlval);
1244
1245
3
  return 0;
1246
17.6k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
373k
{
1250
373k
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
373k
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
373k
  *new_heredoc_label = *heredoc_label;
1254
373k
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
373k
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
373k
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
33.7k
{
1262
33.7k
  char   buf[256];
1263
33.7k
  size_t used = 0;
1264
1265
33.7k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
33.7k
  if (opening_lineno != CG(zend_lineno)) {
1268
29.5k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
29.5k
  }
1270
1271
33.7k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
21.8k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
21.8k
  }
1274
1275
33.7k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
33.7k
}
1277
1278
static void enter_nesting(char opening)
1279
1.34M
{
1280
1.34M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
1.34M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
1.34M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
178k
{
1286
178k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
1.52k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
1.52k
    return FAILURE;
1289
1.52k
  }
1290
1291
176k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
176k
  char opening = nest_loc->text;
1293
1294
176k
  if ((opening == '{' && closing != '}') ||
1295
158k
      (opening == '[' && closing != ']') ||
1296
157k
      (opening == '(' && closing != ')')) {
1297
21.8k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
21.8k
    return FAILURE;
1299
21.8k
  }
1300
1301
154k
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
154k
  return SUCCESS;
1303
176k
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
17.5k
{
1307
17.5k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
11.8k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
11.8k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
11.8k
    return FAILURE;
1311
11.8k
  }
1312
1313
5.72k
  return SUCCESS;
1314
17.5k
}
1315
1316
#define PARSER_MODE() \
1317
6.66M
  EXPECTED(elem != NULL)
1318
1319
6.54M
#define RETURN_TOKEN(_token) do { \
1320
6.54M
    token = _token; \
1321
6.54M
    goto emit_token; \
1322
6.54M
  } while (0)
1323
1324
1.22M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
1.22M
    token = _token; \
1326
1.22M
    goto emit_token_with_val; \
1327
1.22M
  } while (0)
1328
1329
1.89M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
1.89M
    token = _token; \
1331
1.89M
    offset = _offset; \
1332
1.89M
    goto emit_token_with_str; \
1333
1.89M
  } while (0)
1334
1335
526k
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
526k
    token = _token; \
1337
526k
    goto emit_token_with_ident; \
1338
526k
  } while (0)
1339
1340
783k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
783k
    token = _token; \
1342
783k
    if (PARSER_MODE()) { \
1343
21.6k
      goto skip_token; \
1344
21.6k
    } \
1345
783k
    goto emit_token; \
1346
783k
  } while (0)
1347
1348
178k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
178k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
1
      RETURN_TOKEN(T_ERROR); \
1351
178k
    } else { \
1352
178k
      RETURN_TOKEN(_token); \
1353
178k
    } \
1354
178k
  } while(0)
1355
1356
17.5k
#define RETURN_END_TOKEN do { \
1357
17.5k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
6
      RETURN_TOKEN(T_ERROR); \
1359
17.5k
    } else { \
1360
17.5k
      RETURN_TOKEN(END); \
1361
17.5k
    } \
1362
17.5k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
12.8M
{
1366
12.8M
int token;
1367
12.8M
int offset;
1368
12.8M
uint32_t start_line = CG(zend_lineno);
1369
1370
12.8M
  ZVAL_UNDEF(zendlval);
1371
13.8M
restart:
1372
13.8M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
13.8M
#line 1376 "Zend/zend_language_scanner.c"
1376
13.8M
{
1377
13.8M
  YYCTYPE yych;
1378
13.8M
  unsigned int yyaccept = 0;
1379
13.8M
  if (YYGETCONDITION() < 5) {
1380
13.0M
    if (YYGETCONDITION() < 2) {
1381
11.1M
      if (YYGETCONDITION() < 1) {
1382
11.1M
        goto yyc_ST_IN_SCRIPTING;
1383
11.1M
      } else {
1384
52.8k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
52.8k
      }
1386
11.1M
    } else {
1387
1.84M
      if (YYGETCONDITION() < 3) {
1388
88.3k
        goto yyc_ST_BACKQUOTE;
1389
1.75M
      } else {
1390
1.75M
        if (YYGETCONDITION() < 4) {
1391
218k
          goto yyc_ST_DOUBLE_QUOTES;
1392
1.53M
        } else {
1393
1.53M
          goto yyc_ST_HEREDOC;
1394
1.53M
        }
1395
1.75M
      }
1396
1.84M
    }
1397
13.0M
  } else {
1398
846k
    if (YYGETCONDITION() < 8) {
1399
805k
      if (YYGETCONDITION() < 6) {
1400
728k
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
728k
      } else {
1402
77.5k
        if (YYGETCONDITION() < 7) {
1403
77.5k
          goto yyc_ST_VAR_OFFSET;
1404
77.5k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
77.5k
      }
1408
805k
    } else {
1409
40.7k
      if (YYGETCONDITION() < 9) {
1410
28.1k
        goto yyc_INITIAL;
1411
28.1k
      } else {
1412
12.5k
        if (YYGETCONDITION() < 10) {
1413
7.50k
          goto yyc_ST_END_HEREDOC;
1414
7.50k
        } else {
1415
5.04k
          goto yyc_ST_NOWDOC;
1416
5.04k
        }
1417
12.5k
      }
1418
40.7k
    }
1419
846k
  }
1420
/* *********************************** */
1421
11.1M
yyc_ST_IN_SCRIPTING:
1422
11.1M
  {
1423
11.1M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
11.1M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
11.1M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
11.1M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
11.1M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
11.1M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
11.1M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
11.1M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
11.1M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
11.1M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
11.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
11.1M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
11.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
11.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
11.1M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
11.1M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
11.1M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
11.1M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
11.1M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
11.1M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
11.1M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
11.1M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
11.1M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
11.1M
    };
1491
11.1M
    YYDEBUG(1, *YYCURSOR);
1492
11.1M
    YYFILL(16);
1493
11.1M
    yych = *YYCURSOR;
1494
11.1M
    if (yybm[256+yych] & 32) {
1495
2.14M
      goto yy5;
1496
2.14M
    }
1497
8.96M
    switch (yych) {
1498
1.39M
    case 0x00:
1499
1.43M
    case 0x01:
1500
1.46M
    case 0x02:
1501
1.48M
    case 0x03:
1502
1.48M
    case 0x04:
1503
1.53M
    case 0x05:
1504
1.56M
    case 0x06:
1505
1.57M
    case 0x07:
1506
1.58M
    case 0x08:
1507
1.58M
    case '\t':
1508
1.58M
    case '\n':
1509
1.59M
    case '\v':
1510
1.60M
    case '\f':
1511
1.60M
    case '\r':
1512
1.61M
    case 0x0E:
1513
1.62M
    case 0x0F:
1514
1.63M
    case 0x10:
1515
1.65M
    case 0x11:
1516
1.66M
    case 0x12:
1517
1.67M
    case 0x13:
1518
1.69M
    case 0x14:
1519
1.69M
    case 0x15:
1520
1.70M
    case 0x16:
1521
1.72M
    case 0x17:
1522
1.73M
    case 0x18:
1523
1.75M
    case 0x19:
1524
1.75M
    case 0x1A:
1525
1.76M
    case 0x1B:
1526
1.77M
    case 0x1C:
1527
1.79M
    case 0x1D:
1528
1.79M
    case 0x1E:
1529
1.84M
    case 0x1F:
1530
1.85M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
41.2k
    case '!': goto yy8;
1533
98.3k
    case '"': goto yy10;
1534
583k
    case '#': goto yy12;
1535
463k
    case '$': goto yy14;
1536
19.6k
    case '%': goto yy15;
1537
60.1k
    case '&': goto yy16;
1538
225k
    case '\'':  goto yy18;
1539
176k
    case '(': goto yy20;
1540
93.3k
    case ')':
1541
113k
    case ']': goto yy22;
1542
55.3k
    case '*': goto yy24;
1543
25.4k
    case '+': goto yy25;
1544
151k
    case ',':
1545
570k
    case ';':
1546
586k
    case '@':
1547
604k
    case '~': goto yy26;
1548
93.5k
    case '-': goto yy27;
1549
99.3k
    case '.': goto yy28;
1550
252k
    case '/': goto yy29;
1551
56.9k
    case '0': goto yy30;
1552
29.3k
    case '1':
1553
47.9k
    case '2':
1554
70.1k
    case '3':
1555
88.7k
    case '4':
1556
100k
    case '5':
1557
107k
    case '6':
1558
115k
    case '7':
1559
130k
    case '8':
1560
137k
    case '9': goto yy32;
1561
70.4k
    case ':': goto yy34;
1562
1.14M
    case '<': goto yy35;
1563
192k
    case '=': goto yy36;
1564
12.2k
    case '>': goto yy37;
1565
170k
    case '?': goto yy38;
1566
19.3k
    case 'A':
1567
67.5k
    case 'a': goto yy39;
1568
22.4k
    case 'B':
1569
34.1k
    case 'b': goto yy41;
1570
22.4k
    case 'C':
1571
138k
    case 'c': goto yy42;
1572
24.7k
    case 'D':
1573
39.3k
    case 'd': goto yy43;
1574
41.4k
    case 'E':
1575
332k
    case 'e': goto yy44;
1576
24.2k
    case 'F':
1577
65.2k
    case 'f': goto yy45;
1578
8.67k
    case 'G':
1579
20.0k
    case 'g': goto yy46;
1580
25.5k
    case 'I':
1581
98.8k
    case 'i': goto yy49;
1582
7.45k
    case 'L':
1583
22.2k
    case 'l': goto yy50;
1584
3.16k
    case 'M':
1585
20.9k
    case 'm': goto yy51;
1586
16.4k
    case 'N':
1587
51.9k
    case 'n': goto yy52;
1588
51.1k
    case 'O':
1589
64.3k
    case 'o': goto yy53;
1590
79.3k
    case 'P':
1591
235k
    case 'p': goto yy54;
1592
14.7k
    case 'R':
1593
36.6k
    case 'r': goto yy55;
1594
10.5k
    case 'S':
1595
39.5k
    case 's': goto yy56;
1596
16.8k
    case 'T':
1597
48.7k
    case 't': goto yy57;
1598
5.39k
    case 'U':
1599
30.1k
    case 'u': goto yy58;
1600
1.48k
    case 'V':
1601
25.4k
    case 'v': goto yy59;
1602
6.49k
    case 'W':
1603
12.1k
    case 'w': goto yy60;
1604
8.60k
    case 'X':
1605
15.8k
    case 'x': goto yy61;
1606
2.04k
    case 'Y':
1607
109k
    case 'y': goto yy62;
1608
51.6k
    case '[': goto yy63;
1609
62.3k
    case '\\':  goto yy64;
1610
32.6k
    case '^': goto yy66;
1611
53.2k
    case '_': goto yy67;
1612
18.8k
    case '`': goto yy68;
1613
354k
    case '{': goto yy70;
1614
17.3k
    case '|': goto yy72;
1615
64.4k
    case '}': goto yy73;
1616
246k
    default:  goto yy47;
1617
8.96M
    }
1618
1.85M
yy3:
1619
1.85M
    YYDEBUG(3, *YYCURSOR);
1620
1.85M
    ++YYCURSOR;
1621
1.85M
    YYDEBUG(4, *YYCURSOR);
1622
1.85M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
1.85M
#line 3180 "Zend/zend_language_scanner.l"
1624
1.85M
    {
1625
1.85M
  if (YYCURSOR > YYLIMIT) {
1626
8.63k
    RETURN_END_TOKEN;
1627
8.63k
  }
1628
1629
1.84M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
1.84M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
3.03M
yy5:
1633
3.03M
    YYDEBUG(5, *YYCURSOR);
1634
3.03M
    ++YYCURSOR;
1635
3.03M
    YYFILL(1);
1636
3.03M
    yych = *YYCURSOR;
1637
3.03M
    YYDEBUG(6, *YYCURSOR);
1638
3.03M
    if (yybm[256+yych] & 32) {
1639
894k
      goto yy5;
1640
894k
    }
1641
2.14M
    YYDEBUG(7, *YYCURSOR);
1642
2.14M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
2.14M
#line 1597 "Zend/zend_language_scanner.l"
1644
2.14M
    {
1645
2.14M
  goto return_whitespace;
1646
3.03M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
41.2k
yy8:
1649
41.2k
    YYDEBUG(8, *YYCURSOR);
1650
41.2k
    yych = *++YYCURSOR;
1651
41.2k
    if (yych == '=') goto yy75;
1652
1.73M
yy9:
1653
1.73M
    YYDEBUG(9, *YYCURSOR);
1654
1.73M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
1.73M
#line 1969 "Zend/zend_language_scanner.l"
1656
1.73M
    {
1657
1.73M
  RETURN_TOKEN(yytext[0]);
1658
1.73M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
98.5k
yy10:
1661
98.5k
    YYDEBUG(10, *YYCURSOR);
1662
98.5k
    ++YYCURSOR;
1663
98.5k
    YYDEBUG(11, *YYCURSOR);
1664
98.5k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
98.5k
#line 2632 "Zend/zend_language_scanner.l"
1666
98.5k
    {
1667
98.5k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
4.13M
  while (YYCURSOR < YYLIMIT) {
1670
4.13M
    switch (*YYCURSOR++) {
1671
57.1k
      case '"':
1672
57.1k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
57.1k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
57.1k
         || !PARSER_MODE()) {
1675
57.1k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
57.1k
        } else {
1677
0
          RETURN_TOKEN(T_ERROR);
1678
0
        }
1679
48.8k
      case '$':
1680
48.8k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
39.0k
          break;
1682
39.0k
        }
1683
9.77k
        continue;
1684
16.1k
      case '{':
1685
16.1k
        if (*YYCURSOR == '$') {
1686
1.72k
          break;
1687
1.72k
        }
1688
14.4k
        continue;
1689
66.2k
      case '\\':
1690
66.2k
        if (YYCURSOR < YYLIMIT) {
1691
66.1k
          YYCURSOR++;
1692
66.1k
        }
1693
66.2k
        ZEND_FALLTHROUGH;
1694
4.01M
      default:
1695
4.01M
        continue;
1696
4.13M
    }
1697
1698
40.7k
    YYCURSOR--;
1699
40.7k
    break;
1700
4.13M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
98.5k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
41.3k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
41.3k
  BEGIN(ST_DOUBLE_QUOTES);
1708
41.3k
  RETURN_TOKEN('"');
1709
41.3k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
583k
yy12:
1712
583k
    YYDEBUG(12, *YYCURSOR);
1713
583k
    yych = *++YYCURSOR;
1714
583k
    if (yych == '[') goto yy77;
1715
609k
yy13:
1716
609k
    YYDEBUG(13, *YYCURSOR);
1717
609k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
609k
#line 2460 "Zend/zend_language_scanner.l"
1719
609k
    {
1720
3.51M
  while (YYCURSOR < YYLIMIT) {
1721
3.51M
    switch (*YYCURSOR++) {
1722
192k
      case '\r':
1723
608k
      case '\n':
1724
608k
        YYCURSOR--;
1725
608k
        break;
1726
18.9k
      case '?':
1727
18.9k
        if (*YYCURSOR == '>') {
1728
146
          YYCURSOR--;
1729
146
          break;
1730
146
        }
1731
18.8k
        ZEND_FALLTHROUGH;
1732
2.90M
      default:
1733
2.90M
        continue;
1734
3.51M
    }
1735
1736
608k
    break;
1737
3.51M
  }
1738
1739
609k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
609k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
609k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
463k
yy14:
1744
463k
    YYDEBUG(14, *YYCURSOR);
1745
463k
    yych = *++YYCURSOR;
1746
463k
    if (yych <= '_') {
1747
79.3k
      if (yych <= '@') goto yy9;
1748
7.11k
      if (yych <= 'Z') goto yy79;
1749
1.21k
      if (yych <= '^') goto yy9;
1750
707
      goto yy79;
1751
384k
    } else {
1752
384k
      if (yych <= '`') goto yy9;
1753
383k
      if (yych <= 'z') goto yy79;
1754
184k
      if (yych <= 0x7F) goto yy9;
1755
16.1k
      goto yy79;
1756
184k
    }
1757
19.6k
yy15:
1758
19.6k
    YYDEBUG(15, *YYCURSOR);
1759
19.6k
    yych = *++YYCURSOR;
1760
19.6k
    if (yych == '=') goto yy82;
1761
19.5k
    goto yy9;
1762
60.1k
yy16:
1763
60.1k
    YYDEBUG(16, *YYCURSOR);
1764
60.1k
    yyaccept = 0;
1765
60.1k
    yych = *(YYMARKER = ++YYCURSOR);
1766
60.1k
    if (yych <= '"') {
1767
22.1k
      if (yych <= '\f') {
1768
17.5k
        if (yych <= 0x08) goto yy17;
1769
16.7k
        if (yych <= '\n') goto yy85;
1770
16.7k
      } else {
1771
4.54k
        if (yych <= '\r') goto yy85;
1772
1.24k
        if (yych == ' ') goto yy85;
1773
1.24k
      }
1774
38.0k
    } else {
1775
38.0k
      if (yych <= '-') {
1776
13.0k
        if (yych <= '$') goto yy85;
1777
10.7k
        if (yych == '&') goto yy90;
1778
24.9k
      } else {
1779
24.9k
        if (yych <= '/') goto yy85;
1780
20.9k
        if (yych == '=') goto yy94;
1781
20.9k
      }
1782
38.0k
    }
1783
37.0k
yy17:
1784
37.0k
    YYDEBUG(17, *YYCURSOR);
1785
37.0k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
37.0k
#line 1955 "Zend/zend_language_scanner.l"
1787
37.0k
    {
1788
37.0k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
37.0k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
228k
yy18:
1792
228k
    YYDEBUG(18, *YYCURSOR);
1793
228k
    ++YYCURSOR;
1794
228k
    YYDEBUG(19, *YYCURSOR);
1795
228k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
228k
#line 2538 "Zend/zend_language_scanner.l"
1797
228k
    {
1798
228k
  char *s, *t;
1799
228k
  char *end;
1800
228k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
18.1M
  while (1) {
1803
18.1M
    if (YYCURSOR < YYLIMIT) {
1804
18.1M
      if (*YYCURSOR == '\'') {
1805
226k
        YYCURSOR++;
1806
226k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
226k
        break;
1809
17.9M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
52.9k
        YYCURSOR++;
1811
52.9k
      }
1812
18.1M
    } else {
1813
2.25k
      yyleng = YYLIMIT - SCNG(yy_text);
1814
1815
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1816
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1817
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1818
2.25k
      ZVAL_NULL(zendlval);
1819
2.25k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
2.25k
    }
1821
18.1M
  }
1822
1823
226k
  if (yyleng-bprefix-2 <= 1) {
1824
17.2k
    if (yyleng-bprefix-2 < 1) {
1825
6.85k
      ZVAL_EMPTY_STRING(zendlval);
1826
10.3k
    } else {
1827
10.3k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
10.3k
      HANDLE_NEWLINE(c);
1829
10.3k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
10.3k
    }
1831
17.2k
    goto skip_escape_conversion;
1832
17.2k
  }
1833
209k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
209k
  s = Z_STRVAL_P(zendlval);
1837
209k
  end = s+Z_STRLEN_P(zendlval);
1838
12.1M
  while (1) {
1839
12.1M
    if (UNEXPECTED(*s=='\\')) {
1840
13.5k
      break;
1841
13.5k
    }
1842
12.0M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
303k
      CG(zend_lineno)++;
1844
303k
    }
1845
12.0M
    s++;
1846
12.0M
    if (s == end) {
1847
195k
      goto skip_escape_conversion;
1848
195k
    }
1849
12.0M
  }
1850
1851
13.5k
  t = s;
1852
5.57M
  while (s<end) {
1853
5.56M
    if (*s=='\\') {
1854
52.6k
      s++;
1855
52.6k
      if (*s == '\\' || *s == '\'') {
1856
12.4k
        *t++ = *s;
1857
40.1k
      } else {
1858
40.1k
        *t++ = '\\';
1859
40.1k
        *t++ = *s;
1860
40.1k
      }
1861
5.51M
    } else {
1862
5.51M
      *t++ = *s;
1863
5.51M
    }
1864
5.56M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
123k
      CG(zend_lineno)++;
1866
123k
    }
1867
5.56M
    s++;
1868
5.56M
  }
1869
13.5k
  *t = 0;
1870
13.5k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
226k
skip_escape_conversion:
1873
226k
  if (SCNG(output_filter)) {
1874
0
    size_t sz = 0;
1875
0
    char *str = NULL;
1876
0
    zend_string *new_str;
1877
0
    s = Z_STRVAL_P(zendlval);
1878
    // TODO: avoid reallocation ???
1879
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1880
0
    new_str = zend_string_init(str, sz, 0);
1881
0
    if (str != s) {
1882
0
      efree(str);
1883
0
    }
1884
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1885
0
    ZVAL_STR(zendlval, new_str);
1886
0
  }
1887
226k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
226k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
176k
yy20:
1891
176k
    YYDEBUG(20, *YYCURSOR);
1892
176k
    yyaccept = 1;
1893
176k
    yych = *(YYMARKER = ++YYCURSOR);
1894
176k
    if (yych <= 'S') {
1895
117k
      if (yych <= 'D') {
1896
107k
        if (yych <= ' ') {
1897
6.00k
          if (yych == '\t') goto yy97;
1898
5.29k
          if (yych >= ' ') goto yy97;
1899
101k
        } else {
1900
101k
          if (yych <= '@') goto yy21;
1901
5.33k
          if (yych != 'C') goto yy97;
1902
5.33k
        }
1903
107k
      } else {
1904
10.3k
        if (yych <= 'I') {
1905
8.26k
          if (yych == 'F') goto yy97;
1906
7.92k
          if (yych >= 'I') goto yy97;
1907
7.92k
        } else {
1908
2.06k
          if (yych == 'O') goto yy97;
1909
1.98k
          if (yych >= 'R') goto yy97;
1910
1.98k
        }
1911
10.3k
      }
1912
117k
    } else {
1913
58.2k
      if (yych <= 'f') {
1914
31.9k
        if (yych <= 'b') {
1915
24.5k
          if (yych <= 'T') goto yy21;
1916
23.5k
          if (yych <= 'V') goto yy97;
1917
23.4k
          if (yych >= 'a') goto yy97;
1918
23.4k
        } else {
1919
7.39k
          if (yych == 'd') goto yy97;
1920
5.06k
          if (yych >= 'f') goto yy97;
1921
5.06k
        }
1922
31.9k
      } else {
1923
26.2k
        if (yych <= 'o') {
1924
8.77k
          if (yych == 'i') goto yy97;
1925
4.69k
          if (yych >= 'o') goto yy97;
1926
17.4k
        } else {
1927
17.4k
          if (yych <= 's') {
1928
9.72k
            if (yych >= 'r') goto yy97;
1929
9.72k
          } else {
1930
7.72k
            if (yych <= 't') goto yy21;
1931
6.80k
            if (yych <= 'v') goto yy97;
1932
6.80k
          }
1933
17.4k
        }
1934
26.2k
      }
1935
58.2k
    }
1936
224k
yy21:
1937
224k
    YYDEBUG(21, *YYCURSOR);
1938
224k
    yyleng = YYCURSOR - SCNG(yy_text);
1939
224k
#line 1964 "Zend/zend_language_scanner.l"
1940
224k
    {
1941
224k
  enter_nesting(yytext[0]);
1942
224k
  RETURN_TOKEN(yytext[0]);
1943
224k
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
113k
yy22:
1946
113k
    YYDEBUG(22, *YYCURSOR);
1947
113k
    ++YYCURSOR;
1948
113k
    YYDEBUG(23, *YYCURSOR);
1949
113k
    yyleng = YYCURSOR - SCNG(yy_text);
1950
113k
#line 1959 "Zend/zend_language_scanner.l"
1951
113k
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
113k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
113k
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
55.3k
yy24:
1957
55.3k
    YYDEBUG(24, *YYCURSOR);
1958
55.3k
    yych = *++YYCURSOR;
1959
55.3k
    if (yych == '*') goto yy108;
1960
49.0k
    if (yych == '=') goto yy110;
1961
48.0k
    goto yy9;
1962
48.0k
yy25:
1963
25.4k
    YYDEBUG(25, *YYCURSOR);
1964
25.4k
    yych = *++YYCURSOR;
1965
25.4k
    if (yych == '+') goto yy112;
1966
22.3k
    if (yych == '=') goto yy114;
1967
22.3k
    goto yy9;
1968
604k
yy26:
1969
604k
    YYDEBUG(26, *YYCURSOR);
1970
604k
    ++YYCURSOR;
1971
604k
    goto yy9;
1972
93.5k
yy27:
1973
93.5k
    YYDEBUG(27, *YYCURSOR);
1974
93.5k
    yych = *++YYCURSOR;
1975
93.5k
    if (yych <= '<') {
1976
32.3k
      if (yych == '-') goto yy116;
1977
25.5k
      goto yy9;
1978
61.1k
    } else {
1979
61.1k
      if (yych <= '=') goto yy118;
1980
61.0k
      if (yych <= '>') goto yy120;
1981
47.6k
      goto yy9;
1982
61.0k
    }
1983
99.3k
yy28:
1984
99.3k
    YYDEBUG(28, *YYCURSOR);
1985
99.3k
    yyaccept = 2;
1986
99.3k
    yych = *(YYMARKER = ++YYCURSOR);
1987
99.3k
    if (yych <= '/') {
1988
55.6k
      if (yych == '.') goto yy122;
1989
21.1k
      goto yy9;
1990
55.6k
    } else {
1991
43.7k
      if (yych <= '9') goto yy123;
1992
37.7k
      if (yych == '=') goto yy126;
1993
11.3k
      goto yy9;
1994
37.7k
    }
1995
252k
yy29:
1996
252k
    YYDEBUG(29, *YYCURSOR);
1997
252k
    yych = *++YYCURSOR;
1998
252k
    if (yych <= '.') {
1999
201k
      if (yych == '*') goto yy128;
2000
47.4k
      goto yy9;
2001
201k
    } else {
2002
51.2k
      if (yych <= '/') goto yy130;
2003
22.4k
      if (yych == '=') goto yy131;
2004
22.3k
      goto yy9;
2005
22.4k
    }
2006
56.9k
yy30:
2007
56.9k
    YYDEBUG(30, *YYCURSOR);
2008
56.9k
    yyaccept = 3;
2009
56.9k
    yych = *(YYMARKER = ++YYCURSOR);
2010
56.9k
    if (yych <= 'X') {
2011
40.5k
      if (yych <= 'N') {
2012
39.2k
        if (yych == 'B') goto yy134;
2013
38.0k
        goto yy33;
2014
39.2k
      } else {
2015
1.29k
        if (yych <= 'O') goto yy136;
2016
1.06k
        if (yych <= 'W') goto yy33;
2017
86
        goto yy137;
2018
1.06k
      }
2019
40.5k
    } else {
2020
16.3k
      if (yych <= 'n') {
2021
11.9k
        if (yych == 'b') goto yy134;
2022
7.37k
        goto yy33;
2023
11.9k
      } else {
2024
4.38k
        if (yych <= 'o') goto yy136;
2025
4.22k
        if (yych == 'x') goto yy137;
2026
1.79k
        goto yy33;
2027
4.22k
      }
2028
16.3k
    }
2029
177k
yy31:
2030
177k
    YYDEBUG(31, *YYCURSOR);
2031
177k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
177k
#line 2103 "Zend/zend_language_scanner.l"
2033
177k
    {
2034
177k
  size_t len = yyleng;
2035
177k
  char *end, *lnum = yytext;
2036
177k
  bool is_octal = lnum[0] == '0';
2037
177k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
177k
  if (contains_underscores) {
2040
1.12k
    lnum = estrndup(lnum, len);
2041
1.12k
    strip_underscores(lnum, &len);
2042
1.12k
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
177k
  if (is_octal) {
2046
47.1k
    size_t i;
2047
194k
    for (i = 0; i < len; i++) {
2048
147k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
148
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
148
        if (PARSER_MODE()) {
2051
1
          if (contains_underscores) {
2052
0
            efree(lnum);
2053
0
          }
2054
1
          ZVAL_UNDEF(zendlval);
2055
1
          RETURN_TOKEN(T_ERROR);
2056
1
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
147
        len = i;
2060
147
        break;
2061
148
      }
2062
147k
    }
2063
47.1k
  }
2064
2065
2066
177k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
167k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
167k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
167k
    ZEND_ASSERT(end == lnum + len);
2071
167k
  } else {
2072
9.98k
    errno = 0;
2073
9.98k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
9.98k
    if (errno == ERANGE) { /* Overflow */
2075
8.82k
      errno = 0;
2076
8.82k
      if (is_octal) { /* octal overflow */
2077
225
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
8.60k
      } else {
2079
8.60k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
8.60k
      }
2081
8.82k
      ZEND_ASSERT(end == lnum + len);
2082
8.82k
      if (contains_underscores) {
2083
117
        efree(lnum);
2084
117
      }
2085
8.82k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
8.82k
    }
2087
1.15k
    ZEND_ASSERT(end == lnum + len);
2088
1.15k
  }
2089
168k
  ZEND_ASSERT(!errno);
2090
168k
  if (contains_underscores) {
2091
1.00k
    efree(lnum);
2092
1.00k
  }
2093
168k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
168k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
947k
yy32:
2097
947k
    YYDEBUG(32, *YYCURSOR);
2098
947k
    yyaccept = 3;
2099
947k
    YYMARKER = ++YYCURSOR;
2100
947k
    YYFILL(3);
2101
947k
    yych = *YYCURSOR;
2102
995k
yy33:
2103
995k
    YYDEBUG(33, *YYCURSOR);
2104
995k
    if (yybm[256+yych] & 64) {
2105
806k
      goto yy32;
2106
806k
    }
2107
188k
    if (yych <= 'E') {
2108
140k
      if (yych == '.') goto yy133;
2109
133k
      if (yych <= 'D') goto yy31;
2110
2.06k
      goto yy135;
2111
133k
    } else {
2112
47.9k
      if (yych <= '_') {
2113
19.6k
        if (yych <= '^') goto yy31;
2114
5.48k
        goto yy138;
2115
28.3k
      } else {
2116
28.3k
        if (yych == 'e') goto yy135;
2117
25.3k
        goto yy31;
2118
28.3k
      }
2119
47.9k
    }
2120
70.4k
yy34:
2121
70.4k
    YYDEBUG(34, *YYCURSOR);
2122
70.4k
    yych = *++YYCURSOR;
2123
70.4k
    if (yych == ':') goto yy139;
2124
18.6k
    goto yy9;
2125
1.14M
yy35:
2126
1.14M
    YYDEBUG(35, *YYCURSOR);
2127
1.14M
    yych = *++YYCURSOR;
2128
1.14M
    if (yych <= ';') goto yy9;
2129
1.08M
    if (yych <= '<') goto yy141;
2130
223k
    if (yych <= '=') goto yy143;
2131
216k
    if (yych <= '>') goto yy145;
2132
214k
    goto yy9;
2133
214k
yy36:
2134
192k
    YYDEBUG(36, *YYCURSOR);
2135
192k
    yych = *++YYCURSOR;
2136
192k
    if (yych <= '<') goto yy9;
2137
42.9k
    if (yych <= '=') goto yy146;
2138
10.2k
    if (yych <= '>') goto yy148;
2139
7.51k
    goto yy9;
2140
12.2k
yy37:
2141
12.2k
    YYDEBUG(37, *YYCURSOR);
2142
12.2k
    yych = *++YYCURSOR;
2143
12.2k
    if (yych <= '<') goto yy9;
2144
6.05k
    if (yych <= '=') goto yy150;
2145
5.79k
    if (yych <= '>') goto yy152;
2146
4.60k
    goto yy9;
2147
170k
yy38:
2148
170k
    YYDEBUG(38, *YYCURSOR);
2149
170k
    yyaccept = 2;
2150
170k
    yych = *(YYMARKER = ++YYCURSOR);
2151
170k
    if (yych <= '=') {
2152
34.3k
      if (yych == '-') goto yy154;
2153
32.4k
      goto yy9;
2154
136k
    } else {
2155
136k
      if (yych <= '>') goto yy155;
2156
129k
      if (yych <= '?') goto yy157;
2157
43.4k
      goto yy9;
2158
129k
    }
2159
67.5k
yy39:
2160
67.5k
    YYDEBUG(39, *YYCURSOR);
2161
67.5k
    yyaccept = 4;
2162
67.5k
    yych = *(YYMARKER = ++YYCURSOR);
2163
67.5k
    if (yych <= 'S') {
2164
19.4k
      if (yych <= 'M') {
2165
14.1k
        if (yych == 'B') goto yy159;
2166
10.7k
        goto yy48;
2167
14.1k
      } else {
2168
5.35k
        if (yych <= 'N') goto yy160;
2169
3.01k
        if (yych <= 'Q') goto yy48;
2170
2.84k
        if (yych <= 'R') goto yy161;
2171
1.47k
        goto yy162;
2172
2.84k
      }
2173
48.1k
    } else {
2174
48.1k
      if (yych <= 'n') {
2175
12.1k
        if (yych == 'b') goto yy159;
2176
9.39k
        if (yych <= 'm') goto yy48;
2177
2.74k
        goto yy160;
2178
35.9k
      } else {
2179
35.9k
        if (yych <= 'q') goto yy48;
2180
34.8k
        if (yych <= 'r') goto yy161;
2181
13.0k
        if (yych <= 's') goto yy162;
2182
8.07k
        goto yy48;
2183
13.0k
      }
2184
48.1k
    }
2185
1.27M
yy40:
2186
1.27M
    YYDEBUG(40, *YYCURSOR);
2187
1.27M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
1.27M
#line 2455 "Zend/zend_language_scanner.l"
2189
1.27M
    {
2190
1.27M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
1.27M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
34.1k
yy41:
2194
34.1k
    YYDEBUG(41, *YYCURSOR);
2195
34.1k
    yyaccept = 4;
2196
34.1k
    yych = *(YYMARKER = ++YYCURSOR);
2197
34.1k
    if (yych <= ';') {
2198
6.91k
      if (yych <= '"') {
2199
3.20k
        if (yych <= '!') goto yy48;
2200
215
        goto yy10;
2201
3.71k
      } else {
2202
3.71k
        if (yych == '\'') goto yy18;
2203
788
        goto yy48;
2204
3.71k
      }
2205
27.2k
    } else {
2206
27.2k
      if (yych <= 'R') {
2207
3.37k
        if (yych <= '<') goto yy165;
2208
2.82k
        if (yych <= 'Q') goto yy48;
2209
991
        goto yy166;
2210
23.8k
      } else {
2211
23.8k
        if (yych == 'r') goto yy166;
2212
22.8k
        goto yy48;
2213
23.8k
      }
2214
27.2k
    }
2215
138k
yy42:
2216
138k
    YYDEBUG(42, *YYCURSOR);
2217
138k
    yyaccept = 4;
2218
138k
    yych = *(YYMARKER = ++YYCURSOR);
2219
138k
    if (yych <= 'O') {
2220
20.5k
      if (yych <= 'K') {
2221
15.0k
        if (yych == 'A') goto yy167;
2222
10.3k
        goto yy48;
2223
15.0k
      } else {
2224
5.50k
        if (yych <= 'L') goto yy168;
2225
4.13k
        if (yych <= 'N') goto yy48;
2226
4.13k
        goto yy169;
2227
4.13k
      }
2228
117k
    } else {
2229
117k
      if (yych <= 'k') {
2230
11.7k
        if (yych == 'a') goto yy167;
2231
1.98k
        goto yy48;
2232
105k
      } else {
2233
105k
        if (yych <= 'l') goto yy168;
2234
92.4k
        if (yych == 'o') goto yy169;
2235
3.22k
        goto yy48;
2236
92.4k
      }
2237
117k
    }
2238
39.3k
yy43:
2239
39.3k
    YYDEBUG(43, *YYCURSOR);
2240
39.3k
    yyaccept = 4;
2241
39.3k
    yych = *(YYMARKER = ++YYCURSOR);
2242
39.3k
    if (yych <= 'O') {
2243
23.2k
      if (yych <= 'H') {
2244
11.9k
        if (yych == 'E') goto yy170;
2245
9.05k
        goto yy48;
2246
11.9k
      } else {
2247
11.2k
        if (yych <= 'I') goto yy171;
2248
9.75k
        if (yych <= 'N') goto yy48;
2249
9.68k
        goto yy172;
2250
9.75k
      }
2251
23.2k
    } else {
2252
16.1k
      if (yych <= 'h') {
2253
11.0k
        if (yych == 'e') goto yy170;
2254
9.03k
        goto yy48;
2255
11.0k
      } else {
2256
5.05k
        if (yych <= 'i') goto yy171;
2257
4.49k
        if (yych == 'o') goto yy172;
2258
2.92k
        goto yy48;
2259
4.49k
      }
2260
16.1k
    }
2261
332k
yy44:
2262
332k
    YYDEBUG(44, *YYCURSOR);
2263
332k
    yyaccept = 4;
2264
332k
    yych = *(YYMARKER = ++YYCURSOR);
2265
332k
    switch (yych) {
2266
884
    case 'C':
2267
58.6k
    case 'c': goto yy174;
2268
3.11k
    case 'L':
2269
7.86k
    case 'l': goto yy175;
2270
2.49k
    case 'M':
2271
6.04k
    case 'm': goto yy176;
2272
67.7k
    case 'N':
2273
124k
    case 'n': goto yy177;
2274
46
    case 'V':
2275
2.92k
    case 'v': goto yy178;
2276
4.46k
    case 'X':
2277
84.5k
    case 'x': goto yy179;
2278
48.5k
    default:  goto yy48;
2279
332k
    }
2280
65.2k
yy45:
2281
65.2k
    YYDEBUG(45, *YYCURSOR);
2282
65.2k
    yyaccept = 4;
2283
65.2k
    yych = *(YYMARKER = ++YYCURSOR);
2284
65.2k
    if (yych <= 'U') {
2285
22.6k
      if (yych <= 'M') {
2286
14.1k
        if (yych == 'I') goto yy180;
2287
9.21k
        goto yy48;
2288
14.1k
      } else {
2289
8.42k
        if (yych <= 'N') goto yy181;
2290
7.08k
        if (yych <= 'O') goto yy183;
2291
3.80k
        if (yych <= 'T') goto yy48;
2292
542
        goto yy184;
2293
3.80k
      }
2294
42.6k
    } else {
2295
42.6k
      if (yych <= 'n') {
2296
9.17k
        if (yych == 'i') goto yy180;
2297
5.43k
        if (yych <= 'm') goto yy48;
2298
2.63k
        goto yy181;
2299
33.4k
      } else {
2300
33.4k
        if (yych <= 'o') goto yy183;
2301
18.4k
        if (yych == 'u') goto yy184;
2302
4.11k
        goto yy48;
2303
18.4k
      }
2304
42.6k
    }
2305
20.0k
yy46:
2306
20.0k
    YYDEBUG(46, *YYCURSOR);
2307
20.0k
    yyaccept = 4;
2308
20.0k
    yych = *(YYMARKER = ++YYCURSOR);
2309
20.0k
    if (yych <= 'O') {
2310
10.6k
      if (yych == 'L') goto yy185;
2311
6.52k
      if (yych <= 'N') goto yy48;
2312
2.04k
      goto yy186;
2313
9.45k
    } else {
2314
9.45k
      if (yych <= 'l') {
2315
6.19k
        if (yych <= 'k') goto yy48;
2316
1.68k
        goto yy185;
2317
6.19k
      } else {
2318
3.26k
        if (yych == 'o') goto yy186;
2319
1.63k
        goto yy48;
2320
3.26k
      }
2321
9.45k
    }
2322
5.37M
yy47:
2323
5.37M
    YYDEBUG(47, *YYCURSOR);
2324
5.37M
    yyaccept = 4;
2325
5.37M
    YYMARKER = ++YYCURSOR;
2326
5.37M
    YYFILL(1);
2327
5.37M
    yych = *YYCURSOR;
2328
6.35M
yy48:
2329
6.35M
    YYDEBUG(48, *YYCURSOR);
2330
6.35M
    if (yybm[256+yych] & 128) {
2331
5.08M
      goto yy47;
2332
5.08M
    }
2333
1.26M
    if (yych == '\\') goto yy164;
2334
1.25M
    goto yy40;
2335
1.25M
yy49:
2336
98.8k
    YYDEBUG(49, *YYCURSOR);
2337
98.8k
    yyaccept = 4;
2338
98.8k
    yych = *(YYMARKER = ++YYCURSOR);
2339
98.8k
    if (yych <= 'S') {
2340
41.6k
      if (yych <= 'L') {
2341
13.9k
        if (yych == 'F') goto yy187;
2342
12.3k
        goto yy48;
2343
27.7k
      } else {
2344
27.7k
        if (yych <= 'M') goto yy189;
2345
15.8k
        if (yych <= 'N') goto yy190;
2346
2.62k
        if (yych <= 'R') goto yy48;
2347
2.10k
        goto yy191;
2348
2.62k
      }
2349
57.1k
    } else {
2350
57.1k
      if (yych <= 'm') {
2351
27.3k
        if (yych == 'f') goto yy187;
2352
22.9k
        if (yych <= 'l') goto yy48;
2353
14.5k
        goto yy189;
2354
29.7k
      } else {
2355
29.7k
        if (yych <= 'n') goto yy190;
2356
6.62k
        if (yych == 's') goto yy191;
2357
4.12k
        goto yy48;
2358
6.62k
      }
2359
57.1k
    }
2360
22.2k
yy50:
2361
22.2k
    YYDEBUG(50, *YYCURSOR);
2362
22.2k
    yyaccept = 4;
2363
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
2364
22.2k
    if (yych == 'I') goto yy192;
2365
21.0k
    if (yych == 'i') goto yy192;
2366
18.4k
    goto yy48;
2367
20.9k
yy51:
2368
20.9k
    YYDEBUG(51, *YYCURSOR);
2369
20.9k
    yyaccept = 4;
2370
20.9k
    yych = *(YYMARKER = ++YYCURSOR);
2371
20.9k
    if (yych == 'A') goto yy193;
2372
20.9k
    if (yych == 'a') goto yy193;
2373
20.3k
    goto yy48;
2374
51.9k
yy52:
2375
51.9k
    YYDEBUG(52, *YYCURSOR);
2376
51.9k
    yyaccept = 4;
2377
51.9k
    yych = *(YYMARKER = ++YYCURSOR);
2378
51.9k
    if (yych <= 'E') {
2379
10.2k
      if (yych == 'A') goto yy194;
2380
8.63k
      if (yych <= 'D') goto yy48;
2381
2.10k
      goto yy195;
2382
41.7k
    } else {
2383
41.7k
      if (yych <= 'a') {
2384
8.41k
        if (yych <= '`') goto yy48;
2385
6.02k
        goto yy194;
2386
33.3k
      } else {
2387
33.3k
        if (yych == 'e') goto yy195;
2388
18.2k
        goto yy48;
2389
33.3k
      }
2390
41.7k
    }
2391
64.3k
yy53:
2392
64.3k
    YYDEBUG(53, *YYCURSOR);
2393
64.3k
    yyaccept = 4;
2394
64.3k
    yych = *(YYMARKER = ++YYCURSOR);
2395
64.3k
    if (yych == 'R') goto yy196;
2396
63.5k
    if (yych == 'r') goto yy196;
2397
60.4k
    goto yy48;
2398
235k
yy54:
2399
235k
    YYDEBUG(54, *YYCURSOR);
2400
235k
    yyaccept = 4;
2401
235k
    yych = *(YYMARKER = ++YYCURSOR);
2402
235k
    if (yych <= 'U') {
2403
156k
      if (yych == 'R') goto yy198;
2404
148k
      if (yych <= 'T') goto yy48;
2405
2.58k
      goto yy199;
2406
148k
    } else {
2407
78.6k
      if (yych <= 'r') {
2408
56.3k
        if (yych <= 'q') goto yy48;
2409
10.0k
        goto yy198;
2410
56.3k
      } else {
2411
22.2k
        if (yych == 'u') goto yy199;
2412
11.2k
        goto yy48;
2413
22.2k
      }
2414
78.6k
    }
2415
36.6k
yy55:
2416
36.6k
    YYDEBUG(55, *YYCURSOR);
2417
36.6k
    yyaccept = 4;
2418
36.6k
    yych = *(YYMARKER = ++YYCURSOR);
2419
36.6k
    if (yych == 'E') goto yy200;
2420
31.9k
    if (yych == 'e') goto yy200;
2421
15.9k
    goto yy48;
2422
39.5k
yy56:
2423
39.5k
    YYDEBUG(56, *YYCURSOR);
2424
39.5k
    yyaccept = 4;
2425
39.5k
    yych = *(YYMARKER = ++YYCURSOR);
2426
39.5k
    if (yych <= 'W') {
2427
14.3k
      if (yych == 'T') goto yy201;
2428
10.3k
      if (yych <= 'V') goto yy48;
2429
729
      goto yy202;
2430
25.2k
    } else {
2431
25.2k
      if (yych <= 't') {
2432
22.6k
        if (yych <= 's') goto yy48;
2433
9.35k
        goto yy201;
2434
22.6k
      } else {
2435
2.56k
        if (yych == 'w') goto yy202;
2436
1.84k
        goto yy48;
2437
2.56k
      }
2438
25.2k
    }
2439
48.7k
yy57:
2440
48.7k
    YYDEBUG(57, *YYCURSOR);
2441
48.7k
    yyaccept = 4;
2442
48.7k
    yych = *(YYMARKER = ++YYCURSOR);
2443
48.7k
    if (yych <= 'R') {
2444
10.9k
      if (yych == 'H') goto yy203;
2445
10.0k
      if (yych <= 'Q') goto yy48;
2446
3.25k
      goto yy204;
2447
37.7k
    } else {
2448
37.7k
      if (yych <= 'h') {
2449
12.9k
        if (yych <= 'g') goto yy48;
2450
2.46k
        goto yy203;
2451
24.8k
      } else {
2452
24.8k
        if (yych == 'r') goto yy204;
2453
13.7k
        goto yy48;
2454
24.8k
      }
2455
37.7k
    }
2456
30.1k
yy58:
2457
30.1k
    YYDEBUG(58, *YYCURSOR);
2458
30.1k
    yyaccept = 4;
2459
30.1k
    yych = *(YYMARKER = ++YYCURSOR);
2460
30.1k
    if (yych <= 'S') {
2461
6.70k
      if (yych == 'N') goto yy205;
2462
5.24k
      if (yych <= 'R') goto yy48;
2463
868
      goto yy206;
2464
23.4k
    } else {
2465
23.4k
      if (yych <= 'n') {
2466
15.4k
        if (yych <= 'm') goto yy48;
2467
5.24k
        goto yy205;
2468
15.4k
      } else {
2469
8.02k
        if (yych == 's') goto yy206;
2470
4.97k
        goto yy48;
2471
8.02k
      }
2472
23.4k
    }
2473
25.4k
yy59:
2474
25.4k
    YYDEBUG(59, *YYCURSOR);
2475
25.4k
    yyaccept = 4;
2476
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
2477
25.4k
    if (yych == 'A') goto yy207;
2478
24.5k
    if (yych == 'a') goto yy207;
2479
4.35k
    goto yy48;
2480
12.1k
yy60:
2481
12.1k
    YYDEBUG(60, *YYCURSOR);
2482
12.1k
    yyaccept = 4;
2483
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
2484
12.1k
    if (yych == 'H') goto yy208;
2485
10.4k
    if (yych == 'h') goto yy208;
2486
10.0k
    goto yy48;
2487
15.8k
yy61:
2488
15.8k
    YYDEBUG(61, *YYCURSOR);
2489
15.8k
    yyaccept = 4;
2490
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
2491
15.8k
    if (yych == 'O') goto yy209;
2492
15.0k
    if (yych == 'o') goto yy209;
2493
12.7k
    goto yy48;
2494
109k
yy62:
2495
109k
    YYDEBUG(62, *YYCURSOR);
2496
109k
    yyaccept = 4;
2497
109k
    yych = *(YYMARKER = ++YYCURSOR);
2498
109k
    if (yych == 'I') goto yy210;
2499
108k
    if (yych == 'i') goto yy210;
2500
29.6k
    goto yy48;
2501
51.6k
yy63:
2502
51.6k
    YYDEBUG(63, *YYCURSOR);
2503
51.6k
    ++YYCURSOR;
2504
51.6k
    goto yy21;
2505
62.3k
yy64:
2506
62.3k
    YYDEBUG(64, *YYCURSOR);
2507
62.3k
    yych = *++YYCURSOR;
2508
62.3k
    if (yych <= '_') {
2509
54.0k
      if (yych <= '@') goto yy65;
2510
44.1k
      if (yych <= 'Z') goto yy211;
2511
39.5k
      if (yych >= '_') goto yy211;
2512
39.5k
    } else {
2513
8.27k
      if (yych <= '`') goto yy65;
2514
8.01k
      if (yych <= 'z') goto yy211;
2515
2.98k
      if (yych >= 0x80) goto yy211;
2516
2.98k
    }
2517
50.4k
yy65:
2518
50.4k
    YYDEBUG(65, *YYCURSOR);
2519
50.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
50.4k
#line 2451 "Zend/zend_language_scanner.l"
2521
50.4k
    {
2522
50.4k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
50.4k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
32.6k
yy66:
2526
32.6k
    YYDEBUG(66, *YYCURSOR);
2527
32.6k
    yych = *++YYCURSOR;
2528
32.6k
    if (yych == '=') goto yy214;
2529
32.4k
    goto yy9;
2530
53.2k
yy67:
2531
53.2k
    YYDEBUG(67, *YYCURSOR);
2532
53.2k
    yyaccept = 4;
2533
53.2k
    yych = *(YYMARKER = ++YYCURSOR);
2534
53.2k
    if (yych == '_') goto yy216;
2535
14.8k
    goto yy48;
2536
18.8k
yy68:
2537
18.8k
    YYDEBUG(68, *YYCURSOR);
2538
18.8k
    ++YYCURSOR;
2539
18.8k
    YYDEBUG(69, *YYCURSOR);
2540
18.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
18.8k
#line 2826 "Zend/zend_language_scanner.l"
2542
18.8k
    {
2543
18.8k
  BEGIN(ST_BACKQUOTE);
2544
18.8k
  RETURN_TOKEN('`');
2545
18.8k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
354k
yy70:
2548
354k
    YYDEBUG(70, *YYCURSOR);
2549
354k
    ++YYCURSOR;
2550
354k
    YYDEBUG(71, *YYCURSOR);
2551
354k
    yyleng = YYCURSOR - SCNG(yy_text);
2552
354k
#line 1974 "Zend/zend_language_scanner.l"
2553
354k
    {
2554
354k
  yy_push_state(ST_IN_SCRIPTING);
2555
354k
  enter_nesting('{');
2556
354k
  RETURN_TOKEN('{');
2557
354k
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
17.3k
yy72:
2560
17.3k
    YYDEBUG(72, *YYCURSOR);
2561
17.3k
    yych = *++YYCURSOR;
2562
17.3k
    if (yych <= '>') {
2563
10.7k
      if (yych <= '<') goto yy9;
2564
81
      if (yych <= '=') goto yy217;
2565
22
      goto yy219;
2566
6.58k
    } else {
2567
6.58k
      if (yych == '|') goto yy221;
2568
5.17k
      goto yy9;
2569
6.58k
    }
2570
64.4k
yy73:
2571
64.4k
    YYDEBUG(73, *YYCURSOR);
2572
64.4k
    ++YYCURSOR;
2573
64.4k
    YYDEBUG(74, *YYCURSOR);
2574
64.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
64.4k
#line 1987 "Zend/zend_language_scanner.l"
2576
64.4k
    {
2577
64.4k
  RESET_DOC_COMMENT();
2578
64.4k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
62.1k
    yy_pop_state();
2580
62.1k
  }
2581
64.4k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
64.4k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
675
yy75:
2585
675
    YYDEBUG(75, *YYCURSOR);
2586
675
    yych = *++YYCURSOR;
2587
675
    if (yych == '=') goto yy223;
2588
2.09k
yy76:
2589
2.09k
    YYDEBUG(76, *YYCURSOR);
2590
2.09k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
2.09k
#line 1846 "Zend/zend_language_scanner.l"
2592
2.09k
    {
2593
2.09k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
2.09k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
2.03k
yy77:
2597
2.03k
    YYDEBUG(77, *YYCURSOR);
2598
2.03k
    ++YYCURSOR;
2599
2.03k
    YYDEBUG(78, *YYCURSOR);
2600
2.03k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
2.03k
#line 1423 "Zend/zend_language_scanner.l"
2602
2.03k
    {
2603
2.03k
  enter_nesting('[');
2604
2.03k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
2.03k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
1.08M
yy79:
2608
1.08M
    YYDEBUG(79, *YYCURSOR);
2609
1.08M
    ++YYCURSOR;
2610
1.08M
    YYFILL(1);
2611
1.08M
    yych = *YYCURSOR;
2612
1.08M
    YYDEBUG(80, *YYCURSOR);
2613
1.08M
    if (yych <= '^') {
2614
304k
      if (yych <= '9') {
2615
210k
        if (yych >= '0') goto yy79;
2616
210k
      } else {
2617
93.6k
        if (yych <= '@') goto yy81;
2618
59.6k
        if (yych <= 'Z') goto yy79;
2619
59.6k
      }
2620
775k
    } else {
2621
775k
      if (yych <= '`') {
2622
7.16k
        if (yych <= '_') goto yy79;
2623
768k
      } else {
2624
768k
        if (yych <= 'z') goto yy79;
2625
298k
        if (yych >= 0x80) goto yy79;
2626
298k
      }
2627
775k
    }
2628
221k
yy81:
2629
221k
    YYDEBUG(81, *YYCURSOR);
2630
221k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
221k
#line 2417 "Zend/zend_language_scanner.l"
2632
221k
    {
2633
221k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
221k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
42
yy82:
2637
42
    YYDEBUG(82, *YYCURSOR);
2638
42
    ++YYCURSOR;
2639
42
    YYDEBUG(83, *YYCURSOR);
2640
42
    yyleng = YYCURSOR - SCNG(yy_text);
2641
42
#line 1890 "Zend/zend_language_scanner.l"
2642
42
    {
2643
42
  RETURN_TOKEN(T_MOD_EQUAL);
2644
42
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
186k
yy84:
2647
186k
    YYDEBUG(84, *YYCURSOR);
2648
186k
    ++YYCURSOR;
2649
186k
    YYFILL(3);
2650
186k
    yych = *YYCURSOR;
2651
213k
yy85:
2652
213k
    YYDEBUG(85, *YYCURSOR);
2653
213k
    if (yych <= ' ') {
2654
50.2k
      if (yych <= '\f') {
2655
19.4k
        if (yych <= 0x08) goto yy86;
2656
19.2k
        if (yych <= '\n') goto yy84;
2657
30.8k
      } else {
2658
30.8k
        if (yych <= '\r') goto yy84;
2659
2.40k
        if (yych >= ' ') goto yy84;
2660
2.40k
      }
2661
163k
    } else {
2662
163k
      if (yych <= '$') {
2663
132k
        if (yych <= '"') goto yy86;
2664
132k
        if (yych <= '#') goto yy87;
2665
3.99k
        goto yy88;
2666
132k
      } else {
2667
30.6k
        if (yych <= '-') goto yy86;
2668
28.4k
        if (yych <= '.') goto yy92;
2669
27.3k
        if (yych <= '/') goto yy93;
2670
27.3k
      }
2671
163k
    }
2672
283k
yy86:
2673
283k
    YYDEBUG(86, *YYCURSOR);
2674
283k
    YYCURSOR = YYMARKER;
2675
283k
    if (yyaccept <= 48) {
2676
182k
      if (yyaccept <= 24) {
2677
179k
        if (yyaccept <= 12) {
2678
176k
          if (yyaccept <= 6) {
2679
92.6k
            if (yyaccept <= 3) {
2680
79.0k
              if (yyaccept <= 1) {
2681
66.7k
                if (yyaccept == 0) {
2682
19.3k
                  goto yy17;
2683
47.4k
                } else {
2684
47.4k
                  goto yy21;
2685
47.4k
                }
2686
66.7k
              } else {
2687
12.3k
                if (yyaccept == 2) {
2688
5.53k
                  goto yy9;
2689
6.77k
                } else {
2690
6.77k
                  goto yy31;
2691
6.77k
                }
2692
12.3k
              }
2693
79.0k
            } else {
2694
13.5k
              if (yyaccept <= 5) {
2695
12.7k
                if (yyaccept == 4) {
2696
12.0k
                  goto yy40;
2697
12.0k
                } else {
2698
730
                  goto yy125;
2699
730
                }
2700
12.7k
              } else {
2701
765
                goto yy129;
2702
765
              }
2703
13.5k
            }
2704
92.6k
          } else {
2705
84.3k
            if (yyaccept <= 9) {
2706
84.0k
              if (yyaccept <= 8) {
2707
84.0k
                if (yyaccept == 7) {
2708
84.0k
                  goto yy142;
2709
84.0k
                } else {
2710
0
                  goto yy163;
2711
0
                }
2712
84.0k
              } else {
2713
64
                goto yy173;
2714
64
              }
2715
84.0k
            } else {
2716
247
              if (yyaccept <= 11) {
2717
217
                if (yyaccept == 10) {
2718
217
                  goto yy182;
2719
217
                } else {
2720
0
                  goto yy188;
2721
0
                }
2722
217
              } else {
2723
30
                goto yy197;
2724
30
              }
2725
247
            }
2726
84.3k
          }
2727
176k
        } else {
2728
2.45k
          if (yyaccept <= 18) {
2729
2.25k
            if (yyaccept <= 15) {
2730
1.69k
              if (yyaccept <= 14) {
2731
1.56k
                if (yyaccept == 13) {
2732
1.19k
                  goto yy213;
2733
1.19k
                } else {
2734
374
                  goto yy251;
2735
374
                }
2736
1.56k
              } else {
2737
122
                goto yy257;
2738
122
              }
2739
1.69k
            } else {
2740
565
              if (yyaccept <= 17) {
2741
384
                if (yyaccept == 16) {
2742
322
                  goto yy260;
2743
322
                } else {
2744
62
                  goto yy279;
2745
62
                }
2746
384
              } else {
2747
181
                goto yy283;
2748
181
              }
2749
565
            }
2750
2.25k
          } else {
2751
196
            if (yyaccept <= 21) {
2752
123
              if (yyaccept <= 20) {
2753
103
                if (yyaccept == 19) {
2754
3
                  goto yy295;
2755
100
                } else {
2756
100
                  goto yy306;
2757
100
                }
2758
103
              } else {
2759
20
                goto yy319;
2760
20
              }
2761
123
            } else {
2762
73
              if (yyaccept <= 23) {
2763
57
                if (yyaccept == 22) {
2764
57
                  goto yy331;
2765
57
                } else {
2766
0
                  goto yy334;
2767
0
                }
2768
57
              } else {
2769
16
                goto yy336;
2770
16
              }
2771
73
            }
2772
196
          }
2773
2.45k
        }
2774
179k
      } else {
2775
3.20k
        if (yyaccept <= 36) {
2776
2.92k
          if (yyaccept <= 30) {
2777
2.89k
            if (yyaccept <= 27) {
2778
2.87k
              if (yyaccept <= 26) {
2779
2.87k
                if (yyaccept == 25) {
2780
0
                  goto yy339;
2781
2.87k
                } else {
2782
2.87k
                  goto yy89;
2783
2.87k
                }
2784
2.87k
              } else {
2785
0
                goto yy379;
2786
0
              }
2787
2.87k
            } else {
2788
24
              if (yyaccept <= 29) {
2789
2
                if (yyaccept == 28) {
2790
2
                  goto yy388;
2791
2
                } else {
2792
0
                  goto yy390;
2793
0
                }
2794
22
              } else {
2795
22
                goto yy399;
2796
22
              }
2797
24
            }
2798
2.89k
          } else {
2799
32
            if (yyaccept <= 33) {
2800
12
              if (yyaccept <= 32) {
2801
12
                if (yyaccept == 31) {
2802
0
                  goto yy401;
2803
12
                } else {
2804
12
                  goto yy408;
2805
12
                }
2806
12
              } else {
2807
0
                goto yy415;
2808
0
              }
2809
20
            } else {
2810
20
              if (yyaccept <= 35) {
2811
20
                if (yyaccept == 34) {
2812
20
                  goto yy471;
2813
20
                } else {
2814
0
                  goto yy473;
2815
0
                }
2816
20
              } else {
2817
0
                goto yy476;
2818
0
              }
2819
20
            }
2820
32
          }
2821
2.92k
        } else {
2822
276
          if (yyaccept <= 42) {
2823
31
            if (yyaccept <= 39) {
2824
8
              if (yyaccept <= 38) {
2825
1
                if (yyaccept == 37) {
2826
1
                  goto yy478;
2827
1
                } else {
2828
0
                  goto yy480;
2829
0
                }
2830
7
              } else {
2831
7
                goto yy482;
2832
7
              }
2833
23
            } else {
2834
23
              if (yyaccept <= 41) {
2835
23
                if (yyaccept == 40) {
2836
0
                  goto yy488;
2837
23
                } else {
2838
23
                  goto yy492;
2839
23
                }
2840
23
              } else {
2841
0
                goto yy501;
2842
0
              }
2843
23
            }
2844
245
          } else {
2845
245
            if (yyaccept <= 45) {
2846
216
              if (yyaccept <= 44) {
2847
56
                if (yyaccept == 43) {
2848
56
                  goto yy511;
2849
56
                } else {
2850
0
                  goto yy513;
2851
0
                }
2852
160
              } else {
2853
160
                goto yy516;
2854
160
              }
2855
216
            } else {
2856
29
              if (yyaccept <= 47) {
2857
29
                if (yyaccept == 46) {
2858
27
                  goto yy526;
2859
27
                } else {
2860
2
                  goto yy528;
2861
2
                }
2862
29
              } else {
2863
0
                goto yy530;
2864
0
              }
2865
29
            }
2866
245
          }
2867
276
        }
2868
3.20k
      }
2869
182k
    } else {
2870
100k
      if (yyaccept <= 72) {
2871
97.9k
        if (yyaccept <= 60) {
2872
97.3k
          if (yyaccept <= 54) {
2873
97.1k
            if (yyaccept <= 51) {
2874
56.8k
              if (yyaccept <= 50) {
2875
56.8k
                if (yyaccept == 49) {
2876
0
                  goto yy532;
2877
56.8k
                } else {
2878
56.8k
                  goto yy534;
2879
56.8k
                }
2880
56.8k
              } else {
2881
0
                goto yy576;
2882
0
              }
2883
56.8k
            } else {
2884
40.2k
              if (yyaccept <= 53) {
2885
40.2k
                if (yyaccept == 52) {
2886
0
                  goto yy579;
2887
40.2k
                } else {
2888
40.2k
                  goto yy583;
2889
40.2k
                }
2890
40.2k
              } else {
2891
0
                goto yy597;
2892
0
              }
2893
40.2k
            }
2894
97.1k
          } else {
2895
217
            if (yyaccept <= 57) {
2896
217
              if (yyaccept <= 56) {
2897
217
                if (yyaccept == 55) {
2898
217
                  goto yy607;
2899
217
                } else {
2900
0
                  goto yy611;
2901
0
                }
2902
217
              } else {
2903
0
                goto yy613;
2904
0
              }
2905
217
            } else {
2906
0
              if (yyaccept <= 59) {
2907
0
                if (yyaccept == 58) {
2908
0
                  goto yy615;
2909
0
                } else {
2910
0
                  goto yy654;
2911
0
                }
2912
0
              } else {
2913
0
                goto yy656;
2914
0
              }
2915
0
            }
2916
217
          }
2917
97.3k
        } else {
2918
548
          if (yyaccept <= 66) {
2919
464
            if (yyaccept <= 63) {
2920
143
              if (yyaccept <= 62) {
2921
143
                if (yyaccept == 61) {
2922
137
                  goto yy671;
2923
137
                } else {
2924
6
                  goto yy673;
2925
6
                }
2926
143
              } else {
2927
0
                goto yy675;
2928
0
              }
2929
321
            } else {
2930
321
              if (yyaccept <= 65) {
2931
321
                if (yyaccept == 64) {
2932
0
                  goto yy679;
2933
321
                } else {
2934
321
                  goto yy685;
2935
321
                }
2936
321
              } else {
2937
0
                goto yy690;
2938
0
              }
2939
321
            }
2940
464
          } else {
2941
84
            if (yyaccept <= 69) {
2942
0
              if (yyaccept <= 68) {
2943
0
                if (yyaccept == 67) {
2944
0
                  goto yy700;
2945
0
                } else {
2946
0
                  goto yy726;
2947
0
                }
2948
0
              } else {
2949
0
                goto yy728;
2950
0
              }
2951
84
            } else {
2952
84
              if (yyaccept <= 71) {
2953
0
                if (yyaccept == 70) {
2954
0
                  goto yy730;
2955
0
                } else {
2956
0
                  goto yy735;
2957
0
                }
2958
84
              } else {
2959
84
                goto yy743;
2960
84
              }
2961
84
            }
2962
84
          }
2963
548
        }
2964
97.9k
      } else {
2965
2.49k
        if (yyaccept <= 84) {
2966
376
          if (yyaccept <= 78) {
2967
0
            if (yyaccept <= 75) {
2968
0
              if (yyaccept <= 74) {
2969
0
                if (yyaccept == 73) {
2970
0
                  goto yy754;
2971
0
                } else {
2972
0
                  goto yy764;
2973
0
                }
2974
0
              } else {
2975
0
                goto yy768;
2976
0
              }
2977
0
            } else {
2978
0
              if (yyaccept <= 77) {
2979
0
                if (yyaccept == 76) {
2980
0
                  goto yy784;
2981
0
                } else {
2982
0
                  goto yy797;
2983
0
                }
2984
0
              } else {
2985
0
                goto yy799;
2986
0
              }
2987
0
            }
2988
376
          } else {
2989
376
            if (yyaccept <= 81) {
2990
376
              if (yyaccept <= 80) {
2991
376
                if (yyaccept == 79) {
2992
248
                  goto yy801;
2993
248
                } else {
2994
128
                  goto yy804;
2995
128
                }
2996
376
              } else {
2997
0
                goto yy812;
2998
0
              }
2999
376
            } else {
3000
0
              if (yyaccept <= 83) {
3001
0
                if (yyaccept == 82) {
3002
0
                  goto yy819;
3003
0
                } else {
3004
0
                  goto yy823;
3005
0
                }
3006
0
              } else {
3007
0
                goto yy825;
3008
0
              }
3009
0
            }
3010
376
          }
3011
2.11k
        } else {
3012
2.11k
          if (yyaccept <= 90) {
3013
5
            if (yyaccept <= 87) {
3014
0
              if (yyaccept <= 86) {
3015
0
                if (yyaccept == 85) {
3016
0
                  goto yy836;
3017
0
                } else {
3018
0
                  goto yy839;
3019
0
                }
3020
0
              } else {
3021
0
                goto yy854;
3022
0
              }
3023
5
            } else {
3024
5
              if (yyaccept <= 89) {
3025
5
                if (yyaccept == 88) {
3026
5
                  goto yy869;
3027
5
                } else {
3028
0
                  goto yy898;
3029
0
                }
3030
5
              } else {
3031
0
                goto yy903;
3032
0
              }
3033
5
            }
3034
2.11k
          } else {
3035
2.11k
            if (yyaccept <= 93) {
3036
2.10k
              if (yyaccept <= 92) {
3037
2.10k
                if (yyaccept == 91) {
3038
2.10k
                  goto yy876;
3039
2.10k
                } else {
3040
0
                  goto yy911;
3041
0
                }
3042
2.10k
              } else {
3043
0
                goto yy915;
3044
0
              }
3045
2.10k
            } else {
3046
4
              if (yyaccept <= 95) {
3047
4
                if (yyaccept == 94) {
3048
4
                  goto yy886;
3049
4
                } else {
3050
0
                  goto yy931;
3051
0
                }
3052
4
              } else {
3053
0
                goto yy951;
3054
0
              }
3055
4
            }
3056
2.11k
          }
3057
2.11k
        }
3058
2.49k
      }
3059
100k
    }
3060
128k
yy87:
3061
128k
    YYDEBUG(87, *YYCURSOR);
3062
128k
    ++YYCURSOR;
3063
128k
    YYFILL(1);
3064
128k
    yych = *YYCURSOR;
3065
128k
    if (yych <= '\f') {
3066
100k
      if (yych <= 0x00) goto yy86;
3067
100k
      if (yych == '\n') goto yy227;
3068
544
      goto yy225;
3069
100k
    } else {
3070
28.8k
      if (yych <= '\r') goto yy227;
3071
27.0k
      if (yych == '[') goto yy86;
3072
26.8k
      goto yy225;
3073
27.0k
    }
3074
4.79k
yy88:
3075
4.79k
    YYDEBUG(88, *YYCURSOR);
3076
4.79k
    ++YYCURSOR;
3077
7.77k
yy89:
3078
7.77k
    YYDEBUG(89, *YYCURSOR);
3079
7.77k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
7.77k
#line 1950 "Zend/zend_language_scanner.l"
3081
7.77k
    {
3082
7.77k
  yyless(1);
3083
7.77k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
7.77k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
10.3k
yy90:
3087
10.3k
    YYDEBUG(90, *YYCURSOR);
3088
10.3k
    ++YYCURSOR;
3089
10.3k
    YYDEBUG(91, *YYCURSOR);
3090
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
10.3k
#line 1926 "Zend/zend_language_scanner.l"
3092
10.3k
    {
3093
10.3k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
10.3k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
1.03k
yy92:
3097
1.03k
    YYDEBUG(92, *YYCURSOR);
3098
1.03k
    yych = *++YYCURSOR;
3099
1.03k
    if (yych == '.') goto yy229;
3100
239
    goto yy86;
3101
21.0k
yy93:
3102
21.0k
    YYDEBUG(93, *YYCURSOR);
3103
21.0k
    ++YYCURSOR;
3104
21.0k
    YYFILL(1);
3105
21.0k
    yych = *YYCURSOR;
3106
21.0k
    if (yych == '*') goto yy230;
3107
3.76k
    if (yych == '/') goto yy225;
3108
524
    goto yy86;
3109
4.97k
yy94:
3110
4.97k
    YYDEBUG(94, *YYCURSOR);
3111
4.97k
    ++YYCURSOR;
3112
4.97k
    YYDEBUG(95, *YYCURSOR);
3113
4.97k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
4.97k
#line 1902 "Zend/zend_language_scanner.l"
3115
4.97k
    {
3116
4.97k
  RETURN_TOKEN(T_AND_EQUAL);
3117
4.97k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
9.29k
yy96:
3120
9.29k
    YYDEBUG(96, *YYCURSOR);
3121
9.29k
    ++YYCURSOR;
3122
9.29k
    YYFILL(7);
3123
9.29k
    yych = *YYCURSOR;
3124
59.5k
yy97:
3125
59.5k
    YYDEBUG(97, *YYCURSOR);
3126
59.5k
    if (yybm[0+yych] & 1) {
3127
9.29k
      goto yy96;
3128
9.29k
    }
3129
50.2k
    switch (yych) {
3130
614
    case 'A':
3131
18.9k
    case 'a': goto yy98;
3132
3.27k
    case 'B':
3133
4.74k
    case 'b': goto yy99;
3134
447
    case 'D':
3135
2.78k
    case 'd': goto yy100;
3136
343
    case 'F':
3137
4.86k
    case 'f': goto yy101;
3138
488
    case 'I':
3139
4.56k
    case 'i': goto yy102;
3140
78
    case 'O':
3141
1.03k
    case 'o': goto yy103;
3142
505
    case 'R':
3143
1.59k
    case 'r': goto yy104;
3144
517
    case 'S':
3145
3.85k
    case 's': goto yy105;
3146
33
    case 'U':
3147
3.06k
    case 'u': goto yy106;
3148
43
    case 'V':
3149
1.27k
    case 'v': goto yy107;
3150
3.56k
    default:  goto yy86;
3151
50.2k
    }
3152
18.9k
yy98:
3153
18.9k
    YYDEBUG(98, *YYCURSOR);
3154
18.9k
    yych = *++YYCURSOR;
3155
18.9k
    if (yych == 'R') goto yy232;
3156
18.7k
    if (yych == 'r') goto yy232;
3157
1.30k
    goto yy86;
3158
4.74k
yy99:
3159
4.74k
    YYDEBUG(99, *YYCURSOR);
3160
4.74k
    yych = *++YYCURSOR;
3161
4.74k
    if (yych <= 'O') {
3162
1.59k
      if (yych == 'I') goto yy233;
3163
1.59k
      if (yych <= 'N') goto yy86;
3164
1.28k
      goto yy234;
3165
3.14k
    } else {
3166
3.14k
      if (yych <= 'i') {
3167
482
        if (yych <= 'h') goto yy86;
3168
9
        goto yy233;
3169
2.66k
      } else {
3170
2.66k
        if (yych == 'o') goto yy234;
3171
2.24k
        goto yy86;
3172
2.66k
      }
3173
3.14k
    }
3174
2.78k
yy100:
3175
2.78k
    YYDEBUG(100, *YYCURSOR);
3176
2.78k
    yych = *++YYCURSOR;
3177
2.78k
    if (yych == 'O') goto yy235;
3178
2.75k
    if (yych == 'o') goto yy235;
3179
2.35k
    goto yy86;
3180
4.86k
yy101:
3181
4.86k
    YYDEBUG(101, *YYCURSOR);
3182
4.86k
    yych = *++YYCURSOR;
3183
4.86k
    if (yych == 'L') goto yy236;
3184
4.86k
    if (yych == 'l') goto yy236;
3185
3.46k
    goto yy86;
3186
4.56k
yy102:
3187
4.56k
    YYDEBUG(102, *YYCURSOR);
3188
4.56k
    yych = *++YYCURSOR;
3189
4.56k
    if (yych == 'N') goto yy237;
3190
4.32k
    if (yych == 'n') goto yy237;
3191
3.38k
    goto yy86;
3192
3.38k
yy103:
3193
1.03k
    YYDEBUG(103, *YYCURSOR);
3194
1.03k
    yych = *++YYCURSOR;
3195
1.03k
    if (yych == 'B') goto yy238;
3196
1.00k
    if (yych == 'b') goto yy238;
3197
251
    goto yy86;
3198
1.59k
yy104:
3199
1.59k
    YYDEBUG(104, *YYCURSOR);
3200
1.59k
    yych = *++YYCURSOR;
3201
1.59k
    if (yych == 'E') goto yy239;
3202
1.56k
    if (yych == 'e') goto yy239;
3203
550
    goto yy86;
3204
3.85k
yy105:
3205
3.85k
    YYDEBUG(105, *YYCURSOR);
3206
3.85k
    yych = *++YYCURSOR;
3207
3.85k
    if (yych == 'T') goto yy240;
3208
3.58k
    if (yych == 't') goto yy240;
3209
2.54k
    goto yy86;
3210
3.06k
yy106:
3211
3.06k
    YYDEBUG(106, *YYCURSOR);
3212
3.06k
    yych = *++YYCURSOR;
3213
3.06k
    if (yych == 'N') goto yy241;
3214
3.02k
    if (yych == 'n') goto yy241;
3215
211
    goto yy86;
3216
1.27k
yy107:
3217
1.27k
    YYDEBUG(107, *YYCURSOR);
3218
1.27k
    yych = *++YYCURSOR;
3219
1.27k
    if (yych == 'O') goto yy242;
3220
1.27k
    if (yych == 'o') goto yy242;
3221
252
    goto yy86;
3222
6.33k
yy108:
3223
6.33k
    YYDEBUG(108, *YYCURSOR);
3224
6.33k
    yych = *++YYCURSOR;
3225
6.33k
    if (yych == '=') goto yy243;
3226
6.29k
    YYDEBUG(109, *YYCURSOR);
3227
6.29k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
6.29k
#line 1874 "Zend/zend_language_scanner.l"
3229
6.29k
    {
3230
6.29k
  RETURN_TOKEN(T_POW);
3231
6.29k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
1.00k
yy110:
3234
1.00k
    YYDEBUG(110, *YYCURSOR);
3235
1.00k
    ++YYCURSOR;
3236
1.00k
    YYDEBUG(111, *YYCURSOR);
3237
1.00k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
1.00k
#line 1870 "Zend/zend_language_scanner.l"
3239
1.00k
    {
3240
1.00k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
1.00k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
3.10k
yy112:
3244
3.10k
    YYDEBUG(112, *YYCURSOR);
3245
3.10k
    ++YYCURSOR;
3246
3.10k
    YYDEBUG(113, *YYCURSOR);
3247
3.10k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
3.10k
#line 1826 "Zend/zend_language_scanner.l"
3249
3.10k
    {
3250
3.10k
  RETURN_TOKEN(T_INC);
3251
3.10k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
79
yy114:
3254
79
    YYDEBUG(114, *YYCURSOR);
3255
79
    ++YYCURSOR;
3256
79
    YYDEBUG(115, *YYCURSOR);
3257
79
    yyleng = YYCURSOR - SCNG(yy_text);
3258
79
#line 1862 "Zend/zend_language_scanner.l"
3259
79
    {
3260
79
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
79
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
6.79k
yy116:
3264
6.79k
    YYDEBUG(116, *YYCURSOR);
3265
6.79k
    ++YYCURSOR;
3266
6.79k
    YYDEBUG(117, *YYCURSOR);
3267
6.79k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
6.79k
#line 1830 "Zend/zend_language_scanner.l"
3269
6.79k
    {
3270
6.79k
  RETURN_TOKEN(T_DEC);
3271
6.79k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
116
yy118:
3274
116
    YYDEBUG(118, *YYCURSOR);
3275
116
    ++YYCURSOR;
3276
116
    YYDEBUG(119, *YYCURSOR);
3277
116
    yyleng = YYCURSOR - SCNG(yy_text);
3278
116
#line 1866 "Zend/zend_language_scanner.l"
3279
116
    {
3280
116
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
116
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
13.4k
yy120:
3284
13.4k
    YYDEBUG(120, *YYCURSOR);
3285
13.4k
    ++YYCURSOR;
3286
13.4k
    YYDEBUG(121, *YYCURSOR);
3287
13.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
13.4k
#line 1587 "Zend/zend_language_scanner.l"
3289
13.4k
    {
3290
13.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
13.4k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
13.4k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
34.4k
yy122:
3295
34.4k
    YYDEBUG(122, *YYCURSOR);
3296
34.4k
    yych = *++YYCURSOR;
3297
34.4k
    if (yych == '.') goto yy245;
3298
4.22k
    goto yy86;
3299
70.6k
yy123:
3300
70.6k
    YYDEBUG(123, *YYCURSOR);
3301
70.6k
    yyaccept = 5;
3302
70.6k
    YYMARKER = ++YYCURSOR;
3303
70.6k
    YYFILL(2);
3304
70.6k
    yych = *YYCURSOR;
3305
77.5k
yy124:
3306
77.5k
    YYDEBUG(124, *YYCURSOR);
3307
77.5k
    if (yych <= 'E') {
3308
74.0k
      if (yych <= '/') goto yy125;
3309
65.0k
      if (yych <= '9') goto yy123;
3310
1.00k
      if (yych >= 'E') goto yy135;
3311
3.50k
    } else {
3312
3.50k
      if (yych <= '_') {
3313
1.14k
        if (yych >= '_') goto yy247;
3314
2.36k
      } else {
3315
2.36k
        if (yych == 'e') goto yy135;
3316
2.36k
      }
3317
3.50k
    }
3318
15.4k
yy125:
3319
15.4k
    YYDEBUG(125, *YYCURSOR);
3320
15.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
15.4k
#line 2233 "Zend/zend_language_scanner.l"
3322
15.4k
    {
3323
15.4k
  const char *end;
3324
15.4k
  size_t len = yyleng;
3325
15.4k
  char *dnum = yytext;
3326
15.4k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
15.4k
  if (contains_underscores) {
3329
776
    dnum = estrndup(dnum, len);
3330
776
    strip_underscores(dnum, &len);
3331
776
  }
3332
3333
15.4k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
15.4k
  ZEND_ASSERT(end == dnum + len);
3336
15.4k
  if (contains_underscores) {
3337
776
    efree(dnum);
3338
776
  }
3339
15.4k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
15.4k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
26.4k
yy126:
3343
26.4k
    YYDEBUG(126, *YYCURSOR);
3344
26.4k
    ++YYCURSOR;
3345
26.4k
    YYDEBUG(127, *YYCURSOR);
3346
26.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
26.4k
#line 1886 "Zend/zend_language_scanner.l"
3348
26.4k
    {
3349
26.4k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
26.4k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
154k
yy128:
3353
154k
    YYDEBUG(128, *YYCURSOR);
3354
154k
    yyaccept = 6;
3355
154k
    yych = *(YYMARKER = ++YYCURSOR);
3356
154k
    if (yych == '*') goto yy248;
3357
154k
yy129:
3358
154k
    YYDEBUG(129, *YYCURSOR);
3359
154k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
154k
#line 2484 "Zend/zend_language_scanner.l"
3361
154k
    {
3362
154k
  int doc_com;
3363
3364
154k
  if (yyleng > 2) {
3365
198
    doc_com = 1;
3366
198
    RESET_DOC_COMMENT();
3367
153k
  } else {
3368
153k
    doc_com = 0;
3369
153k
  }
3370
3371
5.67M
  while (YYCURSOR < YYLIMIT) {
3372
5.67M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
151k
      break;
3374
151k
    }
3375
5.67M
  }
3376
3377
154k
  if (YYCURSOR < YYLIMIT) {
3378
151k
    YYCURSOR++;
3379
151k
  } else {
3380
2.07k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
2.07k
    if (PARSER_MODE()) {
3382
0
      RETURN_TOKEN(T_ERROR);
3383
0
    }
3384
2.07k
  }
3385
3386
154k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
154k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
154k
  if (doc_com) {
3390
198
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
198
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
198
  }
3393
3394
153k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
153k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
28.7k
yy130:
3398
28.7k
    YYDEBUG(130, *YYCURSOR);
3399
28.7k
    ++YYCURSOR;
3400
28.7k
    goto yy13;
3401
107
yy131:
3402
107
    YYDEBUG(131, *YYCURSOR);
3403
107
    ++YYCURSOR;
3404
107
    YYDEBUG(132, *YYCURSOR);
3405
107
    yyleng = YYCURSOR - SCNG(yy_text);
3406
107
#line 1882 "Zend/zend_language_scanner.l"
3407
107
    {
3408
107
  RETURN_TOKEN(T_DIV_EQUAL);
3409
107
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
7.14k
yy133:
3412
7.14k
    YYDEBUG(133, *YYCURSOR);
3413
7.14k
    yyaccept = 5;
3414
7.14k
    yych = *(YYMARKER = ++YYCURSOR);
3415
7.14k
    if (yych == '_') goto yy125;
3416
6.86k
    goto yy124;
3417
8.03k
yy134:
3418
8.03k
    YYDEBUG(134, *YYCURSOR);
3419
8.03k
    ++YYCURSOR;
3420
8.03k
    YYFILL(1);
3421
8.03k
    yych = *YYCURSOR;
3422
8.03k
    if (yybm[0+yych] & 8) {
3423
7.50k
      goto yy249;
3424
7.50k
    }
3425
534
    goto yy86;
3426
5.76k
yy135:
3427
5.76k
    YYDEBUG(135, *YYCURSOR);
3428
5.76k
    yych = *++YYCURSOR;
3429
5.76k
    if (yych <= ',') {
3430
381
      if (yych == '+') goto yy252;
3431
215
      goto yy86;
3432
5.38k
    } else {
3433
5.38k
      if (yych <= '-') goto yy252;
3434
4.38k
      if (yych <= '/') goto yy86;
3435
4.37k
      if (yych <= '9') goto yy253;
3436
2.48k
      goto yy86;
3437
4.37k
    }
3438
512
yy136:
3439
512
    YYDEBUG(136, *YYCURSOR);
3440
512
    ++YYCURSOR;
3441
512
    YYFILL(1);
3442
512
    yych = *YYCURSOR;
3443
512
    if (yybm[0+yych] & 16) {
3444
177
      goto yy255;
3445
177
    }
3446
335
    goto yy86;
3447
3.66k
yy137:
3448
3.66k
    YYDEBUG(137, *YYCURSOR);
3449
3.66k
    ++YYCURSOR;
3450
3.66k
    YYFILL(1);
3451
3.66k
    yych = *YYCURSOR;
3452
3.66k
    if (yybm[0+yych] & 32) {
3453
2.87k
      goto yy258;
3454
2.87k
    }
3455
786
    goto yy86;
3456
5.48k
yy138:
3457
5.48k
    YYDEBUG(138, *YYCURSOR);
3458
5.48k
    ++YYCURSOR;
3459
5.48k
    YYFILL(1);
3460
5.48k
    yych = *YYCURSOR;
3461
5.48k
    if (yybm[256+yych] & 64) {
3462
2.24k
      goto yy32;
3463
2.24k
    }
3464
3.24k
    goto yy86;
3465
51.7k
yy139:
3466
51.7k
    YYDEBUG(139, *YYCURSOR);
3467
51.7k
    ++YYCURSOR;
3468
51.7k
    YYDEBUG(140, *YYCURSOR);
3469
51.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
51.7k
#line 1614 "Zend/zend_language_scanner.l"
3471
51.7k
    {
3472
51.7k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
51.7k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
865k
yy141:
3476
865k
    YYDEBUG(141, *YYCURSOR);
3477
865k
    yyaccept = 7;
3478
865k
    yych = *(YYMARKER = ++YYCURSOR);
3479
865k
    if (yych <= ';') goto yy142;
3480
844k
    if (yych <= '<') goto yy261;
3481
61.0k
    if (yych <= '=') goto yy263;
3482
164k
yy142:
3483
164k
    YYDEBUG(142, *YYCURSOR);
3484
164k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
164k
#line 1942 "Zend/zend_language_scanner.l"
3486
164k
    {
3487
164k
  RETURN_TOKEN(T_SL);
3488
164k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
7.03k
yy143:
3491
7.03k
    YYDEBUG(143, *YYCURSOR);
3492
7.03k
    yych = *++YYCURSOR;
3493
7.03k
    if (yych == '>') goto yy265;
3494
7.03k
    YYDEBUG(144, *YYCURSOR);
3495
7.03k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
7.03k
#line 1854 "Zend/zend_language_scanner.l"
3497
7.03k
    {
3498
7.03k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
7.03k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
1.53k
yy145:
3502
1.53k
    YYDEBUG(145, *YYCURSOR);
3503
1.53k
    ++YYCURSOR;
3504
1.53k
    goto yy76;
3505
32.7k
yy146:
3506
32.7k
    YYDEBUG(146, *YYCURSOR);
3507
32.7k
    yych = *++YYCURSOR;
3508
32.7k
    if (yych == '=') goto yy267;
3509
5.61k
    YYDEBUG(147, *YYCURSOR);
3510
5.61k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
5.61k
#line 1842 "Zend/zend_language_scanner.l"
3512
5.61k
    {
3513
5.61k
  RETURN_TOKEN(T_IS_EQUAL);
3514
5.61k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
2.68k
yy148:
3517
2.68k
    YYDEBUG(148, *YYCURSOR);
3518
2.68k
    ++YYCURSOR;
3519
2.68k
    YYDEBUG(149, *YYCURSOR);
3520
2.68k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
2.68k
#line 1810 "Zend/zend_language_scanner.l"
3522
2.68k
    {
3523
2.68k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
2.68k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
263
yy150:
3527
263
    YYDEBUG(150, *YYCURSOR);
3528
263
    ++YYCURSOR;
3529
263
    YYDEBUG(151, *YYCURSOR);
3530
263
    yyleng = YYCURSOR - SCNG(yy_text);
3531
263
#line 1858 "Zend/zend_language_scanner.l"
3532
263
    {
3533
263
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
263
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
1.19k
yy152:
3537
1.19k
    YYDEBUG(152, *YYCURSOR);
3538
1.19k
    yych = *++YYCURSOR;
3539
1.19k
    if (yych == '=') goto yy269;
3540
1.12k
    YYDEBUG(153, *YYCURSOR);
3541
1.12k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
1.12k
#line 1946 "Zend/zend_language_scanner.l"
3543
1.12k
    {
3544
1.12k
  RETURN_TOKEN(T_SR);
3545
1.12k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
1.88k
yy154:
3548
1.88k
    YYDEBUG(154, *YYCURSOR);
3549
1.88k
    yych = *++YYCURSOR;
3550
1.88k
    if (yych == '>') goto yy271;
3551
1.30k
    goto yy86;
3552
6.93k
yy155:
3553
6.93k
    YYDEBUG(155, *YYCURSOR);
3554
6.93k
    yych = *++YYCURSOR;
3555
6.93k
    if (yych == '\n') goto yy273;
3556
6.80k
    if (yych == '\r') goto yy274;
3557
6.93k
yy156:
3558
6.93k
    YYDEBUG(156, *YYCURSOR);
3559
6.93k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
6.93k
#line 2526 "Zend/zend_language_scanner.l"
3561
6.93k
    {
3562
6.93k
  BEGIN(INITIAL);
3563
6.93k
  if (yytext[yyleng-1] != '>') {
3564
137
    CG(increment_lineno) = 1;
3565
137
  }
3566
6.93k
  if (PARSER_MODE()) {
3567
4.79k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
4.79k
  }
3569
2.14k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
2.14k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
85.7k
yy157:
3573
85.7k
    YYDEBUG(157, *YYCURSOR);
3574
85.7k
    yych = *++YYCURSOR;
3575
85.7k
    if (yych == '=') goto yy275;
3576
85.7k
    YYDEBUG(158, *YYCURSOR);
3577
85.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
85.7k
#line 1622 "Zend/zend_language_scanner.l"
3579
85.7k
    {
3580
85.7k
  RETURN_TOKEN(T_COALESCE);
3581
85.7k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
6.10k
yy159:
3584
6.10k
    YYDEBUG(159, *YYCURSOR);
3585
6.10k
    yyaccept = 4;
3586
6.10k
    yych = *(YYMARKER = ++YYCURSOR);
3587
6.10k
    if (yych == 'S') goto yy277;
3588
2.81k
    if (yych == 's') goto yy277;
3589
1.10k
    goto yy48;
3590
5.08k
yy160:
3591
5.08k
    YYDEBUG(160, *YYCURSOR);
3592
5.08k
    yyaccept = 4;
3593
5.08k
    yych = *(YYMARKER = ++YYCURSOR);
3594
5.08k
    if (yych == 'D') goto yy278;
3595
2.83k
    if (yych == 'd') goto yy278;
3596
480
    goto yy48;
3597
23.0k
yy161:
3598
23.0k
    YYDEBUG(161, *YYCURSOR);
3599
23.0k
    yyaccept = 4;
3600
23.0k
    yych = *(YYMARKER = ++YYCURSOR);
3601
23.0k
    if (yych == 'R') goto yy280;
3602
22.2k
    if (yych == 'r') goto yy280;
3603
1.48k
    goto yy48;
3604
6.49k
yy162:
3605
6.49k
    YYDEBUG(162, *YYCURSOR);
3606
6.49k
    yyaccept = 8;
3607
6.49k
    yych = *(YYMARKER = ++YYCURSOR);
3608
6.49k
    if (yybm[256+yych] & 128) {
3609
1.40k
      goto yy47;
3610
1.40k
    }
3611
5.08k
    if (yych == '\\') goto yy164;
3612
5.07k
yy163:
3613
5.07k
    YYDEBUG(163, *YYCURSOR);
3614
5.07k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
5.07k
#line 1510 "Zend/zend_language_scanner.l"
3616
5.07k
    {
3617
5.07k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
5.07k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
13.6k
yy164:
3621
13.6k
    YYDEBUG(164, *YYCURSOR);
3622
13.6k
    ++YYCURSOR;
3623
13.6k
    YYFILL(1);
3624
13.6k
    yych = *YYCURSOR;
3625
13.6k
    if (yych <= '_') {
3626
5.84k
      if (yych <= '@') goto yy86;
3627
4.19k
      if (yych <= 'Z') goto yy281;
3628
1.76k
      if (yych <= '^') goto yy86;
3629
1
      goto yy281;
3630
7.85k
    } else {
3631
7.85k
      if (yych <= '`') goto yy86;
3632
7.84k
      if (yych <= 'z') goto yy281;
3633
2.41k
      if (yych <= 0x7F) goto yy86;
3634
2.00k
      goto yy281;
3635
2.41k
    }
3636
553
yy165:
3637
553
    YYDEBUG(165, *YYCURSOR);
3638
553
    yych = *++YYCURSOR;
3639
553
    if (yych == '<') goto yy284;
3640
228
    goto yy86;
3641
2.06k
yy166:
3642
2.06k
    YYDEBUG(166, *YYCURSOR);
3643
2.06k
    yyaccept = 4;
3644
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
3645
2.06k
    if (yych == 'E') goto yy285;
3646
1.07k
    if (yych == 'e') goto yy285;
3647
0
    goto yy48;
3648
14.4k
yy167:
3649
14.4k
    YYDEBUG(167, *YYCURSOR);
3650
14.4k
    yyaccept = 4;
3651
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
3652
14.4k
    if (yych <= 'T') {
3653
5.14k
      if (yych <= 'L') {
3654
2.35k
        if (yych <= 'K') goto yy48;
3655
1.97k
        goto yy286;
3656
2.78k
      } else {
3657
2.78k
        if (yych <= 'R') goto yy48;
3658
2.75k
        if (yych <= 'S') goto yy287;
3659
1.41k
        goto yy288;
3660
2.75k
      }
3661
9.31k
    } else {
3662
9.31k
      if (yych <= 'r') {
3663
2.29k
        if (yych == 'l') goto yy286;
3664
78
        goto yy48;
3665
7.02k
      } else {
3666
7.02k
        if (yych <= 's') goto yy287;
3667
6.06k
        if (yych <= 't') goto yy288;
3668
149
        goto yy48;
3669
6.06k
      }
3670
9.31k
    }
3671
14.8k
yy168:
3672
14.8k
    YYDEBUG(168, *YYCURSOR);
3673
14.8k
    yyaccept = 4;
3674
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
3675
14.8k
    if (yych <= 'O') {
3676
2.94k
      if (yych == 'A') goto yy289;
3677
2.76k
      if (yych <= 'N') goto yy48;
3678
2.56k
      goto yy290;
3679
11.9k
    } else {
3680
11.9k
      if (yych <= 'a') {
3681
8.87k
        if (yych <= '`') goto yy48;
3682
8.85k
        goto yy289;
3683
8.87k
      } else {
3684
3.06k
        if (yych == 'o') goto yy290;
3685
512
        goto yy48;
3686
3.06k
      }
3687
11.9k
    }
3688
93.3k
yy169:
3689
93.3k
    YYDEBUG(169, *YYCURSOR);
3690
93.3k
    yyaccept = 4;
3691
93.3k
    yych = *(YYMARKER = ++YYCURSOR);
3692
93.3k
    if (yych == 'N') goto yy291;
3693
89.7k
    if (yych == 'n') goto yy291;
3694
1.34k
    goto yy48;
3695
4.94k
yy170:
3696
4.94k
    YYDEBUG(170, *YYCURSOR);
3697
4.94k
    yyaccept = 4;
3698
4.94k
    yych = *(YYMARKER = ++YYCURSOR);
3699
4.94k
    if (yych <= 'F') {
3700
2.94k
      if (yych == 'C') goto yy292;
3701
1.33k
      if (yych <= 'E') goto yy48;
3702
1.20k
      goto yy293;
3703
2.00k
    } else {
3704
2.00k
      if (yych <= 'c') {
3705
929
        if (yych <= 'b') goto yy48;
3706
895
        goto yy292;
3707
1.07k
      } else {
3708
1.07k
        if (yych == 'f') goto yy293;
3709
141
        goto yy48;
3710
1.07k
      }
3711
2.00k
    }
3712
2.03k
yy171:
3713
2.03k
    YYDEBUG(171, *YYCURSOR);
3714
2.03k
    yyaccept = 4;
3715
2.03k
    yych = *(YYMARKER = ++YYCURSOR);
3716
2.03k
    if (yych == 'E') goto yy294;
3717
725
    if (yych == 'e') goto yy294;
3718
217
    goto yy48;
3719
11.2k
yy172:
3720
11.2k
    YYDEBUG(172, *YYCURSOR);
3721
11.2k
    yyaccept = 9;
3722
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
3723
11.2k
    if (yybm[256+yych] & 128) {
3724
7.66k
      goto yy47;
3725
7.66k
    }
3726
3.58k
    if (yych == '\\') goto yy164;
3727
3.49k
yy173:
3728
3.49k
    YYDEBUG(173, *YYCURSOR);
3729
3.49k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
3.49k
#line 1478 "Zend/zend_language_scanner.l"
3731
3.49k
    {
3732
3.49k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
3.49k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
58.6k
yy174:
3736
58.6k
    YYDEBUG(174, *YYCURSOR);
3737
58.6k
    yyaccept = 4;
3738
58.6k
    yych = *(YYMARKER = ++YYCURSOR);
3739
58.6k
    if (yych == 'H') goto yy296;
3740
57.8k
    if (yych == 'h') goto yy296;
3741
1.08k
    goto yy48;
3742
7.86k
yy175:
3743
7.86k
    YYDEBUG(175, *YYCURSOR);
3744
7.86k
    yyaccept = 4;
3745
7.86k
    yych = *(YYMARKER = ++YYCURSOR);
3746
7.86k
    if (yych == 'S') goto yy297;
3747
5.16k
    if (yych == 's') goto yy297;
3748
3.22k
    goto yy48;
3749
6.04k
yy176:
3750
6.04k
    YYDEBUG(176, *YYCURSOR);
3751
6.04k
    yyaccept = 4;
3752
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
3753
6.04k
    if (yych == 'P') goto yy298;
3754
4.02k
    if (yych == 'p') goto yy298;
3755
3.67k
    goto yy48;
3756
124k
yy177:
3757
124k
    YYDEBUG(177, *YYCURSOR);
3758
124k
    yyaccept = 4;
3759
124k
    yych = *(YYMARKER = ++YYCURSOR);
3760
124k
    if (yych <= 'U') {
3761
28.8k
      if (yych == 'D') goto yy299;
3762
15.1k
      if (yych <= 'T') goto yy48;
3763
68
      goto yy300;
3764
95.4k
    } else {
3765
95.4k
      if (yych <= 'd') {
3766
12.4k
        if (yych <= 'c') goto yy48;
3767
12.2k
        goto yy299;
3768
82.9k
      } else {
3769
82.9k
        if (yych == 'u') goto yy300;
3770
18.4k
        goto yy48;
3771
82.9k
      }
3772
95.4k
    }
3773
2.92k
yy178:
3774
2.92k
    YYDEBUG(178, *YYCURSOR);
3775
2.92k
    yyaccept = 4;
3776
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
3777
2.92k
    if (yych == 'A') goto yy301;
3778
2.77k
    if (yych == 'a') goto yy301;
3779
1.39k
    goto yy48;
3780
84.5k
yy179:
3781
84.5k
    YYDEBUG(179, *YYCURSOR);
3782
84.5k
    yyaccept = 4;
3783
84.5k
    yych = *(YYMARKER = ++YYCURSOR);
3784
84.5k
    if (yych <= 'T') {
3785
9.83k
      if (yych == 'I') goto yy302;
3786
8.65k
      if (yych <= 'S') goto yy48;
3787
2.05k
      goto yy303;
3788
74.7k
    } else {
3789
74.7k
      if (yych <= 'i') {
3790
6.06k
        if (yych <= 'h') goto yy48;
3791
2.47k
        goto yy302;
3792
68.6k
      } else {
3793
68.6k
        if (yych == 't') goto yy303;
3794
56.0k
        goto yy48;
3795
68.6k
      }
3796
74.7k
    }
3797
8.71k
yy180:
3798
8.71k
    YYDEBUG(180, *YYCURSOR);
3799
8.71k
    yyaccept = 4;
3800
8.71k
    yych = *(YYMARKER = ++YYCURSOR);
3801
8.71k
    if (yych == 'N') goto yy304;
3802
3.90k
    if (yych == 'n') goto yy304;
3803
1.11k
    goto yy48;
3804
3.97k
yy181:
3805
3.97k
    YYDEBUG(181, *YYCURSOR);
3806
3.97k
    yyaccept = 10;
3807
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
3808
3.97k
    if (yybm[256+yych] & 128) {
3809
1.57k
      goto yy47;
3810
1.57k
    }
3811
2.40k
    if (yych == '\\') goto yy164;
3812
2.40k
yy182:
3813
2.40k
    YYDEBUG(182, *YYCURSOR);
3814
2.40k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
2.40k
#line 1407 "Zend/zend_language_scanner.l"
3816
2.40k
    {
3817
2.40k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
2.40k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
18.3k
yy183:
3821
18.3k
    YYDEBUG(183, *YYCURSOR);
3822
18.3k
    yyaccept = 4;
3823
18.3k
    yych = *(YYMARKER = ++YYCURSOR);
3824
18.3k
    if (yych == 'R') goto yy305;
3825
15.3k
    if (yych == 'r') goto yy305;
3826
4.42k
    goto yy48;
3827
14.8k
yy184:
3828
14.8k
    YYDEBUG(184, *YYCURSOR);
3829
14.8k
    yyaccept = 4;
3830
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
3831
14.8k
    if (yych == 'N') goto yy307;
3832
14.3k
    if (yych == 'n') goto yy307;
3833
280
    goto yy48;
3834
5.78k
yy185:
3835
5.78k
    YYDEBUG(185, *YYCURSOR);
3836
5.78k
    yyaccept = 4;
3837
5.78k
    yych = *(YYMARKER = ++YYCURSOR);
3838
5.78k
    if (yych == 'O') goto yy308;
3839
1.69k
    if (yych == 'o') goto yy308;
3840
441
    goto yy48;
3841
3.66k
yy186:
3842
3.66k
    YYDEBUG(186, *YYCURSOR);
3843
3.66k
    yyaccept = 4;
3844
3.66k
    yych = *(YYMARKER = ++YYCURSOR);
3845
3.66k
    if (yych == 'T') goto yy309;
3846
1.62k
    if (yych == 't') goto yy309;
3847
34
    goto yy48;
3848
6.08k
yy187:
3849
6.08k
    YYDEBUG(187, *YYCURSOR);
3850
6.08k
    yyaccept = 11;
3851
6.08k
    yych = *(YYMARKER = ++YYCURSOR);
3852
6.08k
    if (yybm[256+yych] & 128) {
3853
427
      goto yy47;
3854
427
    }
3855
5.66k
    if (yych == '\\') goto yy164;
3856
5.63k
yy188:
3857
5.63k
    YYDEBUG(188, *YYCURSOR);
3858
5.63k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
5.63k
#line 1454 "Zend/zend_language_scanner.l"
3860
5.63k
    {
3861
5.63k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
5.63k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
26.4k
yy189:
3865
26.4k
    YYDEBUG(189, *YYCURSOR);
3866
26.4k
    yyaccept = 4;
3867
26.4k
    yych = *(YYMARKER = ++YYCURSOR);
3868
26.4k
    if (yych == 'P') goto yy310;
3869
21.1k
    if (yych == 'p') goto yy310;
3870
2.01k
    goto yy48;
3871
36.3k
yy190:
3872
36.3k
    YYDEBUG(190, *YYCURSOR);
3873
36.3k
    yyaccept = 4;
3874
36.3k
    yych = *(YYMARKER = ++YYCURSOR);
3875
36.3k
    if (yych <= 'T') {
3876
14.0k
      if (yych <= 'C') {
3877
4.38k
        if (yych <= 'B') goto yy48;
3878
2.48k
        goto yy311;
3879
9.68k
      } else {
3880
9.68k
        if (yych <= 'R') goto yy48;
3881
5.54k
        if (yych <= 'S') goto yy312;
3882
1.70k
        goto yy313;
3883
5.54k
      }
3884
22.2k
    } else {
3885
22.2k
      if (yych <= 'r') {
3886
9.51k
        if (yych == 'c') goto yy311;
3887
2.21k
        goto yy48;
3888
12.7k
      } else {
3889
12.7k
        if (yych <= 's') goto yy312;
3890
8.46k
        if (yych <= 't') goto yy313;
3891
2.49k
        goto yy48;
3892
8.46k
      }
3893
22.2k
    }
3894
4.60k
yy191:
3895
4.60k
    YYDEBUG(191, *YYCURSOR);
3896
4.60k
    yyaccept = 4;
3897
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
3898
4.60k
    if (yych == 'S') goto yy314;
3899
3.35k
    if (yych == 's') goto yy314;
3900
1.84k
    goto yy48;
3901
3.80k
yy192:
3902
3.80k
    YYDEBUG(192, *YYCURSOR);
3903
3.80k
    yyaccept = 4;
3904
3.80k
    yych = *(YYMARKER = ++YYCURSOR);
3905
3.80k
    if (yych == 'S') goto yy315;
3906
2.56k
    if (yych == 's') goto yy315;
3907
405
    goto yy48;
3908
561
yy193:
3909
561
    YYDEBUG(193, *YYCURSOR);
3910
561
    yyaccept = 4;
3911
561
    yych = *(YYMARKER = ++YYCURSOR);
3912
561
    if (yych == 'T') goto yy316;
3913
489
    if (yych == 't') goto yy316;
3914
302
    goto yy48;
3915
7.60k
yy194:
3916
7.60k
    YYDEBUG(194, *YYCURSOR);
3917
7.60k
    yyaccept = 4;
3918
7.60k
    yych = *(YYMARKER = ++YYCURSOR);
3919
7.60k
    if (yych == 'M') goto yy317;
3920
6.05k
    if (yych == 'm') goto yy317;
3921
656
    goto yy48;
3922
17.1k
yy195:
3923
17.1k
    YYDEBUG(195, *YYCURSOR);
3924
17.1k
    yyaccept = 4;
3925
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
3926
17.1k
    if (yych == 'W') goto yy318;
3927
16.4k
    if (yych == 'w') goto yy318;
3928
3.59k
    goto yy48;
3929
3.90k
yy196:
3930
3.90k
    YYDEBUG(196, *YYCURSOR);
3931
3.90k
    yyaccept = 12;
3932
3.90k
    yych = *(YYMARKER = ++YYCURSOR);
3933
3.90k
    if (yybm[256+yych] & 128) {
3934
610
      goto yy47;
3935
610
    }
3936
3.29k
    if (yych == '\\') goto yy164;
3937
3.29k
yy197:
3938
3.29k
    YYDEBUG(197, *YYCURSOR);
3939
3.29k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
3.29k
#line 1930 "Zend/zend_language_scanner.l"
3941
3.29k
    {
3942
3.29k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
3.29k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
18.1k
yy198:
3946
18.1k
    YYDEBUG(198, *YYCURSOR);
3947
18.1k
    yyaccept = 4;
3948
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
3949
18.1k
    if (yych <= 'O') {
3950
8.53k
      if (yych == 'I') goto yy320;
3951
3.13k
      if (yych <= 'N') goto yy48;
3952
2.40k
      goto yy321;
3953
9.61k
    } else {
3954
9.61k
      if (yych <= 'i') {
3955
7.34k
        if (yych <= 'h') goto yy48;
3956
5.79k
        goto yy320;
3957
7.34k
      } else {
3958
2.26k
        if (yych == 'o') goto yy321;
3959
180
        goto yy48;
3960
2.26k
      }
3961
9.61k
    }
3962
13.6k
yy199:
3963
13.6k
    YYDEBUG(199, *YYCURSOR);
3964
13.6k
    yyaccept = 4;
3965
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
3966
13.6k
    if (yych == 'B') goto yy322;
3967
11.0k
    if (yych == 'b') goto yy322;
3968
914
    goto yy48;
3969
20.6k
yy200:
3970
20.6k
    YYDEBUG(200, *YYCURSOR);
3971
20.6k
    yyaccept = 4;
3972
20.6k
    yych = *(YYMARKER = ++YYCURSOR);
3973
20.6k
    if (yych <= 'T') {
3974
4.93k
      if (yych <= 'P') {
3975
1.43k
        if (yych == 'A') goto yy323;
3976
1.21k
        goto yy48;
3977
3.50k
      } else {
3978
3.50k
        if (yych <= 'Q') goto yy324;
3979
1.22k
        if (yych <= 'S') goto yy48;
3980
1.22k
        goto yy325;
3981
1.22k
      }
3982
15.7k
    } else {
3983
15.7k
      if (yych <= 'p') {
3984
6.11k
        if (yych == 'a') goto yy323;
3985
4.46k
        goto yy48;
3986
9.61k
      } else {
3987
9.61k
        if (yych <= 'q') goto yy324;
3988
4.87k
        if (yych == 't') goto yy325;
3989
272
        goto yy48;
3990
4.87k
      }
3991
15.7k
    }
3992
13.3k
yy201:
3993
13.3k
    YYDEBUG(201, *YYCURSOR);
3994
13.3k
    yyaccept = 4;
3995
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
3996
13.3k
    if (yych == 'A') goto yy326;
3997
9.79k
    if (yych == 'a') goto yy326;
3998
6.69k
    goto yy48;
3999
6.69k
yy202:
4000
1.45k
    YYDEBUG(202, *YYCURSOR);
4001
1.45k
    yyaccept = 4;
4002
1.45k
    yych = *(YYMARKER = ++YYCURSOR);
4003
1.45k
    if (yych == 'I') goto yy327;
4004
723
    if (yych == 'i') goto yy327;
4005
57
    goto yy48;
4006
3.35k
yy203:
4007
3.35k
    YYDEBUG(203, *YYCURSOR);
4008
3.35k
    yyaccept = 4;
4009
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
4010
3.35k
    if (yych == 'R') goto yy328;
4011
2.62k
    if (yych == 'r') goto yy328;
4012
570
    goto yy48;
4013
14.3k
yy204:
4014
14.3k
    YYDEBUG(204, *YYCURSOR);
4015
14.3k
    yyaccept = 4;
4016
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
4017
14.3k
    if (yych <= 'Y') {
4018
3.51k
      if (yych == 'A') goto yy329;
4019
1.25k
      if (yych <= 'X') goto yy48;
4020
905
      goto yy330;
4021
10.8k
    } else {
4022
10.8k
      if (yych <= 'a') {
4023
945
        if (yych <= '`') goto yy48;
4024
927
        goto yy329;
4025
9.86k
      } else {
4026
9.86k
        if (yych == 'y') goto yy330;
4027
1.02k
        goto yy48;
4028
9.86k
      }
4029
10.8k
    }
4030
6.70k
yy205:
4031
6.70k
    YYDEBUG(205, *YYCURSOR);
4032
6.70k
    yyaccept = 4;
4033
6.70k
    yych = *(YYMARKER = ++YYCURSOR);
4034
6.70k
    if (yych == 'S') goto yy332;
4035
5.41k
    if (yych == 's') goto yy332;
4036
1.32k
    goto yy48;
4037
3.92k
yy206:
4038
3.92k
    YYDEBUG(206, *YYCURSOR);
4039
3.92k
    yyaccept = 4;
4040
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
4041
3.92k
    if (yych == 'E') goto yy333;
4042
3.18k
    if (yych == 'e') goto yy333;
4043
488
    goto yy48;
4044
21.0k
yy207:
4045
21.0k
    YYDEBUG(207, *YYCURSOR);
4046
21.0k
    yyaccept = 4;
4047
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
4048
21.0k
    if (yych == 'R') goto yy335;
4049
20.3k
    if (yych == 'r') goto yy335;
4050
1.64k
    goto yy48;
4051
2.12k
yy208:
4052
2.12k
    YYDEBUG(208, *YYCURSOR);
4053
2.12k
    yyaccept = 4;
4054
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
4055
2.12k
    if (yych == 'I') goto yy337;
4056
477
    if (yych == 'i') goto yy337;
4057
3
    goto yy48;
4058
3.15k
yy209:
4059
3.15k
    YYDEBUG(209, *YYCURSOR);
4060
3.15k
    yyaccept = 4;
4061
3.15k
    yych = *(YYMARKER = ++YYCURSOR);
4062
3.15k
    if (yych == 'R') goto yy338;
4063
2.33k
    if (yych == 'r') goto yy338;
4064
62
    goto yy48;
4065
79.8k
yy210:
4066
79.8k
    YYDEBUG(210, *YYCURSOR);
4067
79.8k
    yyaccept = 4;
4068
79.8k
    yych = *(YYMARKER = ++YYCURSOR);
4069
79.8k
    if (yych == 'E') goto yy340;
4070
79.3k
    if (yych == 'e') goto yy340;
4071
4.23k
    goto yy48;
4072
45.3k
yy211:
4073
45.3k
    YYDEBUG(211, *YYCURSOR);
4074
45.3k
    yyaccept = 13;
4075
45.3k
    YYMARKER = ++YYCURSOR;
4076
45.3k
    YYFILL(1);
4077
45.3k
    yych = *YYCURSOR;
4078
45.3k
    YYDEBUG(212, *YYCURSOR);
4079
45.3k
    if (yych <= '\\') {
4080
16.8k
      if (yych <= '@') {
4081
10.2k
        if (yych <= '/') goto yy213;
4082
2.13k
        if (yych <= '9') goto yy211;
4083
6.61k
      } else {
4084
6.61k
        if (yych <= 'Z') goto yy211;
4085
2.43k
        if (yych >= '\\') goto yy341;
4086
2.43k
      }
4087
28.5k
    } else {
4088
28.5k
      if (yych <= '`') {
4089
332
        if (yych == '_') goto yy211;
4090
28.2k
      } else {
4091
28.2k
        if (yych <= 'z') goto yy211;
4092
8.46k
        if (yych >= 0x80) goto yy211;
4093
8.46k
      }
4094
28.5k
    }
4095
11.9k
yy213:
4096
11.9k
    YYDEBUG(213, *YYCURSOR);
4097
11.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
11.9k
#line 2447 "Zend/zend_language_scanner.l"
4099
11.9k
    {
4100
11.9k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
11.9k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
191
yy214:
4104
191
    YYDEBUG(214, *YYCURSOR);
4105
191
    ++YYCURSOR;
4106
191
    YYDEBUG(215, *YYCURSOR);
4107
191
    yyleng = YYCURSOR - SCNG(yy_text);
4108
191
#line 1910 "Zend/zend_language_scanner.l"
4109
191
    {
4110
191
  RETURN_TOKEN(T_XOR_EQUAL);
4111
191
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
38.3k
yy216:
4114
38.3k
    YYDEBUG(216, *YYCURSOR);
4115
38.3k
    yyaccept = 4;
4116
38.3k
    yych = *(YYMARKER = ++YYCURSOR);
4117
38.3k
    switch (yych) {
4118
2.59k
    case 'C':
4119
4.56k
    case 'c': goto yy342;
4120
4.63k
    case 'D':
4121
6.02k
    case 'd': goto yy343;
4122
7.15k
    case 'F':
4123
7.22k
    case 'f': goto yy344;
4124
161
    case 'H':
4125
500
    case 'h': goto yy345;
4126
2.37k
    case 'L':
4127
2.77k
    case 'l': goto yy346;
4128
3.34k
    case 'M':
4129
3.74k
    case 'm': goto yy347;
4130
3.72k
    case 'N':
4131
4.10k
    case 'n': goto yy348;
4132
2.56k
    case 'P':
4133
2.85k
    case 'p': goto yy349;
4134
2.56k
    case 'T':
4135
3.20k
    case 't': goto yy350;
4136
3.37k
    default:  goto yy48;
4137
38.3k
    }
4138
59
yy217:
4139
59
    YYDEBUG(217, *YYCURSOR);
4140
59
    ++YYCURSOR;
4141
59
    YYDEBUG(218, *YYCURSOR);
4142
59
    yyleng = YYCURSOR - SCNG(yy_text);
4143
59
#line 1906 "Zend/zend_language_scanner.l"
4144
59
    {
4145
59
  RETURN_TOKEN(T_OR_EQUAL);
4146
59
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
22
yy219:
4149
22
    YYDEBUG(219, *YYCURSOR);
4150
22
    ++YYCURSOR;
4151
22
    YYDEBUG(220, *YYCURSOR);
4152
22
    yyleng = YYCURSOR - SCNG(yy_text);
4153
22
#line 1918 "Zend/zend_language_scanner.l"
4154
22
    {
4155
22
  RETURN_TOKEN(T_PIPE);
4156
22
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
1.41k
yy221:
4159
1.41k
    YYDEBUG(221, *YYCURSOR);
4160
1.41k
    ++YYCURSOR;
4161
1.41k
    YYDEBUG(222, *YYCURSOR);
4162
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
1.41k
#line 1922 "Zend/zend_language_scanner.l"
4164
1.41k
    {
4165
1.41k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
1.41k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
110
yy223:
4169
110
    YYDEBUG(223, *YYCURSOR);
4170
110
    ++YYCURSOR;
4171
110
    YYDEBUG(224, *YYCURSOR);
4172
110
    yyleng = YYCURSOR - SCNG(yy_text);
4173
110
#line 1838 "Zend/zend_language_scanner.l"
4174
110
    {
4175
110
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
110
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
874k
yy225:
4179
874k
    YYDEBUG(225, *YYCURSOR);
4180
874k
    ++YYCURSOR;
4181
874k
    YYFILL(1);
4182
874k
    yych = *YYCURSOR;
4183
874k
    YYDEBUG(226, *YYCURSOR);
4184
874k
    if (yybm[0+yych] & 2) {
4185
800k
      goto yy225;
4186
800k
    }
4187
74.3k
    if (yych <= 0x00) goto yy86;
4188
70.9k
    goto yy84;
4189
116k
yy227:
4190
116k
    YYDEBUG(227, *YYCURSOR);
4191
116k
    ++YYCURSOR;
4192
116k
    YYFILL(1);
4193
116k
    yych = *YYCURSOR;
4194
116k
    YYDEBUG(228, *YYCURSOR);
4195
116k
    if (yych <= 0x1F) {
4196
12.3k
      if (yych <= '\t') {
4197
2.13k
        if (yych <= 0x00) goto yy86;
4198
1.13k
        if (yych <= 0x08) goto yy225;
4199
897
        goto yy227;
4200
10.1k
      } else {
4201
10.1k
        if (yych <= '\n') goto yy84;
4202
9.94k
        if (yych == '\r') goto yy84;
4203
133
        goto yy225;
4204
9.94k
      }
4205
104k
    } else {
4206
104k
      if (yych <= '$') {
4207
2.06k
        if (yych <= ' ') goto yy227;
4208
1.97k
        if (yych <= '"') goto yy225;
4209
1.93k
        if (yych <= '#') goto yy351;
4210
0
        goto yy352;
4211
102k
      } else {
4212
102k
        if (yych <= '-') goto yy225;
4213
99.8k
        if (yych <= '.') goto yy353;
4214
98.6k
        if (yych <= '/') goto yy354;
4215
37.7k
        goto yy225;
4216
98.6k
      }
4217
104k
    }
4218
798
yy229:
4219
798
    YYDEBUG(229, *YYCURSOR);
4220
798
    yych = *++YYCURSOR;
4221
798
    if (yych == '.') goto yy88;
4222
0
    goto yy86;
4223
1.92M
yy230:
4224
1.92M
    YYDEBUG(230, *YYCURSOR);
4225
1.92M
    ++YYCURSOR;
4226
1.92M
    YYFILL(1);
4227
1.92M
    yych = *YYCURSOR;
4228
1.92M
    YYDEBUG(231, *YYCURSOR);
4229
1.92M
    if (yybm[0+yych] & 4) {
4230
1.86M
      goto yy230;
4231
1.86M
    }
4232
59.5k
    if (yych <= 0x00) goto yy86;
4233
56.2k
    goto yy355;
4234
56.2k
yy232:
4235
17.6k
    YYDEBUG(232, *YYCURSOR);
4236
17.6k
    yych = *++YYCURSOR;
4237
17.6k
    if (yych == 'R') goto yy357;
4238
17.5k
    if (yych == 'r') goto yy357;
4239
455
    goto yy86;
4240
455
yy233:
4241
15
    YYDEBUG(233, *YYCURSOR);
4242
15
    yych = *++YYCURSOR;
4243
15
    if (yych == 'N') goto yy358;
4244
9
    if (yych == 'n') goto yy358;
4245
0
    goto yy86;
4246
1.70k
yy234:
4247
1.70k
    YYDEBUG(234, *YYCURSOR);
4248
1.70k
    yych = *++YYCURSOR;
4249
1.70k
    if (yych == 'O') goto yy359;
4250
419
    if (yych == 'o') goto yy359;
4251
347
    goto yy86;
4252
431
yy235:
4253
431
    YYDEBUG(235, *YYCURSOR);
4254
431
    yych = *++YYCURSOR;
4255
431
    if (yych == 'U') goto yy360;
4256
420
    if (yych == 'u') goto yy360;
4257
35
    goto yy86;
4258
1.39k
yy236:
4259
1.39k
    YYDEBUG(236, *YYCURSOR);
4260
1.39k
    yych = *++YYCURSOR;
4261
1.39k
    if (yych == 'O') goto yy361;
4262
1.39k
    if (yych == 'o') goto yy361;
4263
438
    goto yy86;
4264
1.18k
yy237:
4265
1.18k
    YYDEBUG(237, *YYCURSOR);
4266
1.18k
    yych = *++YYCURSOR;
4267
1.18k
    if (yych == 'T') goto yy362;
4268
1.17k
    if (yych == 't') goto yy362;
4269
598
    goto yy86;
4270
781
yy238:
4271
781
    YYDEBUG(238, *YYCURSOR);
4272
781
    yych = *++YYCURSOR;
4273
781
    if (yych == 'J') goto yy363;
4274
774
    if (yych == 'j') goto yy363;
4275
35
    goto yy86;
4276
1.04k
yy239:
4277
1.04k
    YYDEBUG(239, *YYCURSOR);
4278
1.04k
    yych = *++YYCURSOR;
4279
1.04k
    if (yych == 'A') goto yy364;
4280
1.04k
    if (yych == 'a') goto yy364;
4281
544
    goto yy86;
4282
1.30k
yy240:
4283
1.30k
    YYDEBUG(240, *YYCURSOR);
4284
1.30k
    yych = *++YYCURSOR;
4285
1.30k
    if (yych == 'R') goto yy365;
4286
1.06k
    if (yych == 'r') goto yy365;
4287
67
    goto yy86;
4288
2.84k
yy241:
4289
2.84k
    YYDEBUG(241, *YYCURSOR);
4290
2.84k
    yych = *++YYCURSOR;
4291
2.84k
    if (yych == 'S') goto yy366;
4292
2.83k
    if (yych == 's') goto yy366;
4293
87
    goto yy86;
4294
1.02k
yy242:
4295
1.02k
    YYDEBUG(242, *YYCURSOR);
4296
1.02k
    yych = *++YYCURSOR;
4297
1.02k
    if (yych == 'I') goto yy367;
4298
1.02k
    if (yych == 'i') goto yy367;
4299
0
    goto yy86;
4300
41
yy243:
4301
41
    YYDEBUG(243, *YYCURSOR);
4302
41
    ++YYCURSOR;
4303
41
    YYDEBUG(244, *YYCURSOR);
4304
41
    yyleng = YYCURSOR - SCNG(yy_text);
4305
41
#line 1878 "Zend/zend_language_scanner.l"
4306
41
    {
4307
41
  RETURN_TOKEN(T_POW_EQUAL);
4308
41
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
30.2k
yy245:
4311
30.2k
    YYDEBUG(245, *YYCURSOR);
4312
30.2k
    ++YYCURSOR;
4313
30.2k
    YYDEBUG(246, *YYCURSOR);
4314
30.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
30.2k
#line 1618 "Zend/zend_language_scanner.l"
4316
30.2k
    {
4317
30.2k
  RETURN_TOKEN(T_ELLIPSIS);
4318
30.2k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
712
yy247:
4321
712
    YYDEBUG(247, *YYCURSOR);
4322
712
    ++YYCURSOR;
4323
712
    YYFILL(1);
4324
712
    yych = *YYCURSOR;
4325
712
    if (yych <= '/') goto yy86;
4326
652
    if (yych <= '9') goto yy123;
4327
35
    goto yy86;
4328
963
yy248:
4329
963
    YYDEBUG(248, *YYCURSOR);
4330
963
    yych = *++YYCURSOR;
4331
963
    if (yych <= '\f') {
4332
282
      if (yych <= 0x08) goto yy86;
4333
279
      if (yych <= '\n') goto yy368;
4334
204
      goto yy86;
4335
681
    } else {
4336
681
      if (yych <= '\r') goto yy368;
4337
562
      if (yych == ' ') goto yy368;
4338
558
      goto yy86;
4339
562
    }
4340
77.3k
yy249:
4341
77.3k
    YYDEBUG(249, *YYCURSOR);
4342
77.3k
    yyaccept = 14;
4343
77.3k
    YYMARKER = ++YYCURSOR;
4344
77.3k
    YYFILL(1);
4345
77.3k
    yych = *YYCURSOR;
4346
77.3k
    YYDEBUG(250, *YYCURSOR);
4347
77.3k
    if (yybm[0+yych] & 8) {
4348
69.8k
      goto yy249;
4349
69.8k
    }
4350
7.50k
    if (yych == '_') goto yy134;
4351
5.67k
yy251:
4352
5.67k
    YYDEBUG(251, *YYCURSOR);
4353
5.67k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
5.67k
#line 2011 "Zend/zend_language_scanner.l"
4355
5.67k
    {
4356
  /* The +/- 2 skips "0b" */
4357
5.67k
  size_t len = yyleng - 2;
4358
5.67k
  char *end, *bin = yytext + 2;
4359
5.67k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
8.59k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
2.91k
    ++bin;
4364
2.91k
    --len;
4365
2.91k
  }
4366
4367
5.67k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
5.67k
  if (contains_underscores) {
4370
1.50k
    bin = estrndup(bin, len);
4371
1.50k
    strip_underscores(bin, &len);
4372
1.50k
  }
4373
4374
5.67k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
5.59k
    if (len == 0) {
4376
379
      ZVAL_LONG(zendlval, 0);
4377
5.21k
    } else {
4378
5.21k
      errno = 0;
4379
5.21k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
5.21k
      ZEND_ASSERT(!errno && end == bin + len);
4381
5.21k
    }
4382
5.59k
    if (contains_underscores) {
4383
1.50k
      efree(bin);
4384
1.50k
    }
4385
5.59k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
5.59k
  } else {
4387
81
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
81
    ZEND_ASSERT(end == bin + len);
4390
81
    if (contains_underscores) {
4391
0
      efree(bin);
4392
0
    }
4393
81
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
81
  }
4395
5.67k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
1.86k
yy252:
4398
1.86k
    YYDEBUG(252, *YYCURSOR);
4399
1.86k
    ++YYCURSOR;
4400
1.86k
    YYFILL(1);
4401
1.86k
    yych = *YYCURSOR;
4402
1.86k
    if (yych <= '/') goto yy86;
4403
1.86k
    if (yych >= ':') goto yy86;
4404
7.40k
yy253:
4405
7.40k
    YYDEBUG(253, *YYCURSOR);
4406
7.40k
    yyaccept = 5;
4407
7.40k
    YYMARKER = ++YYCURSOR;
4408
7.40k
    YYFILL(1);
4409
7.40k
    yych = *YYCURSOR;
4410
7.40k
    YYDEBUG(254, *YYCURSOR);
4411
7.40k
    if (yych <= '/') goto yy125;
4412
5.79k
    if (yych <= '9') goto yy253;
4413
1.52k
    if (yych == '_') goto yy252;
4414
823
    goto yy125;
4415
823
yy255:
4416
620
    YYDEBUG(255, *YYCURSOR);
4417
620
    yyaccept = 15;
4418
620
    YYMARKER = ++YYCURSOR;
4419
620
    YYFILL(1);
4420
620
    yych = *YYCURSOR;
4421
620
    YYDEBUG(256, *YYCURSOR);
4422
620
    if (yybm[0+yych] & 16) {
4423
443
      goto yy255;
4424
443
    }
4425
177
    if (yych == '_') goto yy136;
4426
177
yy257:
4427
177
    YYDEBUG(257, *YYCURSOR);
4428
177
    yyleng = YYCURSOR - SCNG(yy_text);
4429
177
#line 2053 "Zend/zend_language_scanner.l"
4430
177
    {
4431
  /* The +/- 2 skips "0o" */
4432
177
  size_t len = yyleng - 2;
4433
177
  char *end, *octal = yytext + 2;
4434
177
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
309
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
132
    ++octal;
4439
132
    --len;
4440
132
  }
4441
4442
177
  if (len == 0) {
4443
55
    ZVAL_LONG(zendlval, 0);
4444
55
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
55
  }
4446
4447
122
  if (contains_underscores) {
4448
0
    octal = estrndup(octal, len);
4449
0
    strip_underscores(octal, &len);
4450
0
  }
4451
4452
122
  errno = 0;
4453
4454
122
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
122
  ZEND_ASSERT(end == octal + len);
4457
4458
122
  if (!errno) {
4459
122
    if (contains_underscores) {
4460
0
      efree(octal);
4461
0
    }
4462
122
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
122
  }
4464
4465
  /* Overflow */
4466
0
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
0
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
0
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
0
  ZEND_ASSERT(!errno);
4473
0
  ZEND_ASSERT(end == octal + len);
4474
0
  if (contains_underscores) {
4475
0
    efree(octal);
4476
0
  }
4477
0
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
0
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
17.4k
yy258:
4481
17.4k
    YYDEBUG(258, *YYCURSOR);
4482
17.4k
    yyaccept = 16;
4483
17.4k
    YYMARKER = ++YYCURSOR;
4484
17.4k
    YYFILL(1);
4485
17.4k
    yych = *YYCURSOR;
4486
17.4k
    YYDEBUG(259, *YYCURSOR);
4487
17.4k
    if (yybm[0+yych] & 32) {
4488
14.5k
      goto yy258;
4489
14.5k
    }
4490
2.87k
    if (yych == '_') goto yy137;
4491
2.05k
yy260:
4492
2.05k
    YYDEBUG(260, *YYCURSOR);
4493
2.05k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
2.05k
#line 2166 "Zend/zend_language_scanner.l"
4495
2.05k
    {
4496
  /* The +/- 2 skips "0x" */
4497
2.05k
  size_t len = yyleng - 2;
4498
2.05k
  char *end, *hex = yytext + 2;
4499
2.05k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
2.40k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
352
    ++hex;
4504
352
    --len;
4505
352
  }
4506
4507
2.05k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
2.05k
  if (contains_underscores) {
4510
509
    hex = estrndup(hex, len);
4511
509
    strip_underscores(hex, &len);
4512
509
  }
4513
4514
2.05k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
1.70k
    if (len == 0) {
4516
64
      ZVAL_LONG(zendlval, 0);
4517
1.64k
    } else {
4518
1.64k
      errno = 0;
4519
1.64k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
1.64k
      ZEND_ASSERT(!errno && end == hex + len);
4521
1.64k
    }
4522
1.70k
    if (contains_underscores) {
4523
341
      efree(hex);
4524
341
    }
4525
1.70k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
1.70k
  } else {
4527
351
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
351
    ZEND_ASSERT(end == hex + len);
4530
351
    if (contains_underscores) {
4531
168
      efree(hex);
4532
168
    }
4533
351
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
351
  }
4535
2.05k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
786k
yy261:
4538
786k
    YYDEBUG(261, *YYCURSOR);
4539
786k
    ++YYCURSOR;
4540
786k
    YYFILL(2);
4541
786k
    yych = *YYCURSOR;
4542
786k
    YYDEBUG(262, *YYCURSOR);
4543
786k
    if (yych <= '\'') {
4544
20.5k
      if (yych <= ' ') {
4545
10.3k
        if (yych == '\t') goto yy261;
4546
10.0k
        if (yych <= 0x1F) goto yy86;
4547
2.40k
        goto yy261;
4548
10.2k
      } else {
4549
10.2k
        if (yych == '"') goto yy370;
4550
8.60k
        if (yych <= '&') goto yy86;
4551
5.20k
        goto yy371;
4552
8.60k
      }
4553
765k
    } else {
4554
765k
      if (yych <= '_') {
4555
116k
        if (yych <= '@') goto yy86;
4556
97.6k
        if (yych <= 'Z') goto yy372;
4557
3.09k
        if (yych <= '^') goto yy86;
4558
261
        goto yy372;
4559
649k
      } else {
4560
649k
        if (yych <= '`') goto yy86;
4561
649k
        if (yych <= 'z') goto yy372;
4562
153k
        if (yych <= 0x7F) goto yy86;
4563
152k
        goto yy372;
4564
153k
      }
4565
765k
    }
4566
1.35k
yy263:
4567
1.35k
    YYDEBUG(263, *YYCURSOR);
4568
1.35k
    ++YYCURSOR;
4569
1.35k
    YYDEBUG(264, *YYCURSOR);
4570
1.35k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
1.35k
#line 1894 "Zend/zend_language_scanner.l"
4572
1.35k
    {
4573
1.35k
  RETURN_TOKEN(T_SL_EQUAL);
4574
1.35k
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
0
yy265:
4577
0
    YYDEBUG(265, *YYCURSOR);
4578
0
    ++YYCURSOR;
4579
0
    YYDEBUG(266, *YYCURSOR);
4580
0
    yyleng = YYCURSOR - SCNG(yy_text);
4581
0
#line 1850 "Zend/zend_language_scanner.l"
4582
0
    {
4583
0
  RETURN_TOKEN(T_SPACESHIP);
4584
0
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
27.1k
yy267:
4587
27.1k
    YYDEBUG(267, *YYCURSOR);
4588
27.1k
    ++YYCURSOR;
4589
27.1k
    YYDEBUG(268, *YYCURSOR);
4590
27.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
27.1k
#line 1834 "Zend/zend_language_scanner.l"
4592
27.1k
    {
4593
27.1k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
27.1k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
68
yy269:
4597
68
    YYDEBUG(269, *YYCURSOR);
4598
68
    ++YYCURSOR;
4599
68
    YYDEBUG(270, *YYCURSOR);
4600
68
    yyleng = YYCURSOR - SCNG(yy_text);
4601
68
#line 1898 "Zend/zend_language_scanner.l"
4602
68
    {
4603
68
  RETURN_TOKEN(T_SR_EQUAL);
4604
68
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
575
yy271:
4607
575
    YYDEBUG(271, *YYCURSOR);
4608
575
    ++YYCURSOR;
4609
575
    YYDEBUG(272, *YYCURSOR);
4610
575
    yyleng = YYCURSOR - SCNG(yy_text);
4611
575
#line 1592 "Zend/zend_language_scanner.l"
4612
575
    {
4613
575
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
575
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
575
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
129
yy273:
4618
129
    YYDEBUG(273, *YYCURSOR);
4619
129
    ++YYCURSOR;
4620
129
    goto yy156;
4621
8
yy274:
4622
8
    YYDEBUG(274, *YYCURSOR);
4623
8
    yych = *++YYCURSOR;
4624
8
    if (yych == '\n') goto yy273;
4625
8
    goto yy156;
4626
8
yy275:
4627
4
    YYDEBUG(275, *YYCURSOR);
4628
4
    ++YYCURSOR;
4629
4
    YYDEBUG(276, *YYCURSOR);
4630
4
    yyleng = YYCURSOR - SCNG(yy_text);
4631
4
#line 1914 "Zend/zend_language_scanner.l"
4632
4
    {
4633
4
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
4
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
5.00k
yy277:
4637
5.00k
    YYDEBUG(277, *YYCURSOR);
4638
5.00k
    yyaccept = 4;
4639
5.00k
    yych = *(YYMARKER = ++YYCURSOR);
4640
5.00k
    if (yych == 'T') goto yy374;
4641
1.73k
    if (yych == 't') goto yy374;
4642
32
    goto yy48;
4643
4.60k
yy278:
4644
4.60k
    YYDEBUG(278, *YYCURSOR);
4645
4.60k
    yyaccept = 17;
4646
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
4647
4.60k
    if (yybm[256+yych] & 128) {
4648
0
      goto yy47;
4649
0
    }
4650
4.60k
    if (yych == '\\') goto yy164;
4651
4.60k
yy279:
4652
4.60k
    YYDEBUG(279, *YYCURSOR);
4653
4.60k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
4.60k
#line 1934 "Zend/zend_language_scanner.l"
4655
4.60k
    {
4656
4.60k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
4.60k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
21.6k
yy280:
4660
21.6k
    YYDEBUG(280, *YYCURSOR);
4661
21.6k
    yyaccept = 4;
4662
21.6k
    yych = *(YYMARKER = ++YYCURSOR);
4663
21.6k
    if (yych == 'A') goto yy375;
4664
20.6k
    if (yych == 'a') goto yy375;
4665
1.05k
    goto yy48;
4666
25.5k
yy281:
4667
25.5k
    YYDEBUG(281, *YYCURSOR);
4668
25.5k
    yyaccept = 18;
4669
25.5k
    YYMARKER = ++YYCURSOR;
4670
25.5k
    YYFILL(1);
4671
25.5k
    yych = *YYCURSOR;
4672
25.5k
    YYDEBUG(282, *YYCURSOR);
4673
25.5k
    if (yych <= '\\') {
4674
14.5k
      if (yych <= '@') {
4675
12.1k
        if (yych <= '/') goto yy283;
4676
5.73k
        if (yych <= '9') goto yy281;
4677
5.73k
      } else {
4678
2.40k
        if (yych <= 'Z') goto yy281;
4679
1.60k
        if (yych >= '\\') goto yy164;
4680
1.60k
      }
4681
14.5k
    } else {
4682
11.0k
      if (yych <= '`') {
4683
461
        if (yych == '_') goto yy281;
4684
10.5k
      } else {
4685
10.5k
        if (yych <= 'z') goto yy281;
4686
6.68k
        if (yych >= 0x80) goto yy281;
4687
6.68k
      }
4688
11.0k
    }
4689
8.69k
yy283:
4690
8.69k
    YYDEBUG(283, *YYCURSOR);
4691
8.69k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
8.69k
#line 2443 "Zend/zend_language_scanner.l"
4693
8.69k
    {
4694
8.69k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
8.69k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
325
yy284:
4698
325
    YYDEBUG(284, *YYCURSOR);
4699
325
    yych = *++YYCURSOR;
4700
325
    if (yych == '<') goto yy261;
4701
112
    goto yy86;
4702
2.06k
yy285:
4703
2.06k
    YYDEBUG(285, *YYCURSOR);
4704
2.06k
    yyaccept = 4;
4705
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
4706
2.06k
    if (yych == 'A') goto yy376;
4707
1.07k
    if (yych == 'a') goto yy376;
4708
42
    goto yy48;
4709
4.18k
yy286:
4710
4.18k
    YYDEBUG(286, *YYCURSOR);
4711
4.18k
    yyaccept = 4;
4712
4.18k
    yych = *(YYMARKER = ++YYCURSOR);
4713
4.18k
    if (yych == 'L') goto yy377;
4714
2.21k
    if (yych == 'l') goto yy377;
4715
782
    goto yy48;
4716
2.29k
yy287:
4717
2.29k
    YYDEBUG(287, *YYCURSOR);
4718
2.29k
    yyaccept = 4;
4719
2.29k
    yych = *(YYMARKER = ++YYCURSOR);
4720
2.29k
    if (yych == 'E') goto yy378;
4721
956
    if (yych == 'e') goto yy378;
4722
47
    goto yy48;
4723
7.33k
yy288:
4724
7.33k
    YYDEBUG(288, *YYCURSOR);
4725
7.33k
    yyaccept = 4;
4726
7.33k
    yych = *(YYMARKER = ++YYCURSOR);
4727
7.33k
    if (yych == 'C') goto yy380;
4728
6.04k
    if (yych == 'c') goto yy380;
4729
36
    goto yy48;
4730
9.02k
yy289:
4731
9.02k
    YYDEBUG(289, *YYCURSOR);
4732
9.02k
    yyaccept = 4;
4733
9.02k
    yych = *(YYMARKER = ++YYCURSOR);
4734
9.02k
    if (yych == 'S') goto yy381;
4735
8.87k
    if (yych == 's') goto yy381;
4736
282
    goto yy48;
4737
5.11k
yy290:
4738
5.11k
    YYDEBUG(290, *YYCURSOR);
4739
5.11k
    yyaccept = 4;
4740
5.11k
    yych = *(YYMARKER = ++YYCURSOR);
4741
5.11k
    if (yych == 'N') goto yy382;
4742
4.02k
    if (yych == 'n') goto yy382;
4743
2.24k
    goto yy48;
4744
91.9k
yy291:
4745
91.9k
    YYDEBUG(291, *YYCURSOR);
4746
91.9k
    yyaccept = 4;
4747
91.9k
    yych = *(YYMARKER = ++YYCURSOR);
4748
91.9k
    if (yych <= 'T') {
4749
4.95k
      if (yych <= 'R') goto yy48;
4750
4.17k
      if (yych <= 'S') goto yy383;
4751
947
      goto yy384;
4752
87.0k
    } else {
4753
87.0k
      if (yych <= 'r') goto yy48;
4754
86.6k
      if (yych <= 's') goto yy383;
4755
2.92k
      if (yych <= 't') goto yy384;
4756
162
      goto yy48;
4757
2.92k
    }
4758
2.50k
yy292:
4759
2.50k
    YYDEBUG(292, *YYCURSOR);
4760
2.50k
    yyaccept = 4;
4761
2.50k
    yych = *(YYMARKER = ++YYCURSOR);
4762
2.50k
    if (yych == 'L') goto yy385;
4763
1.13k
    if (yych == 'l') goto yy385;
4764
350
    goto yy48;
4765
2.14k
yy293:
4766
2.14k
    YYDEBUG(293, *YYCURSOR);
4767
2.14k
    yyaccept = 4;
4768
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
4769
2.14k
    if (yych == 'A') goto yy386;
4770
952
    if (yych == 'a') goto yy386;
4771
56
    goto yy48;
4772
1.81k
yy294:
4773
1.81k
    YYDEBUG(294, *YYCURSOR);
4774
1.81k
    yyaccept = 19;
4775
1.81k
    yych = *(YYMARKER = ++YYCURSOR);
4776
1.81k
    if (yybm[256+yych] & 128) {
4777
12
      goto yy47;
4778
12
    }
4779
1.80k
    if (yych == '\\') goto yy164;
4780
1.80k
yy295:
4781
1.80k
    YYDEBUG(295, *YYCURSOR);
4782
1.80k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
1.80k
#line 1403 "Zend/zend_language_scanner.l"
4784
1.80k
    {
4785
1.80k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
1.80k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
57.6k
yy296:
4789
57.6k
    YYDEBUG(296, *YYCURSOR);
4790
57.6k
    yyaccept = 4;
4791
57.6k
    yych = *(YYMARKER = ++YYCURSOR);
4792
57.6k
    if (yych == 'O') goto yy387;
4793
56.7k
    if (yych == 'o') goto yy387;
4794
1.38k
    goto yy48;
4795
4.64k
yy297:
4796
4.64k
    YYDEBUG(297, *YYCURSOR);
4797
4.64k
    yyaccept = 4;
4798
4.64k
    yych = *(YYMARKER = ++YYCURSOR);
4799
4.64k
    if (yych == 'E') goto yy389;
4800
2.08k
    if (yych == 'e') goto yy389;
4801
508
    goto yy48;
4802
2.36k
yy298:
4803
2.36k
    YYDEBUG(298, *YYCURSOR);
4804
2.36k
    yyaccept = 4;
4805
2.36k
    yych = *(YYMARKER = ++YYCURSOR);
4806
2.36k
    if (yych == 'T') goto yy391;
4807
346
    if (yych == 't') goto yy391;
4808
0
    goto yy48;
4809
25.8k
yy299:
4810
25.8k
    YYDEBUG(299, *YYCURSOR);
4811
25.8k
    yyaccept = 4;
4812
25.8k
    yych = *(YYMARKER = ++YYCURSOR);
4813
25.8k
    switch (yych) {
4814
2.53k
    case 'D':
4815
3.91k
    case 'd': goto yy392;
4816
4.71k
    case 'F':
4817
7.57k
    case 'f': goto yy393;
4818
2.73k
    case 'I':
4819
4.47k
    case 'i': goto yy394;
4820
1.48k
    case 'S':
4821
2.12k
    case 's': goto yy395;
4822
1.52k
    case 'W':
4823
3.06k
    case 'w': goto yy396;
4824
4.69k
    default:  goto yy48;
4825
25.8k
    }
4826
64.5k
yy300:
4827
64.5k
    YYDEBUG(300, *YYCURSOR);
4828
64.5k
    yyaccept = 4;
4829
64.5k
    yych = *(YYMARKER = ++YYCURSOR);
4830
64.5k
    if (yych == 'M') goto yy397;
4831
63.1k
    if (yych == 'm') goto yy397;
4832
2.24k
    goto yy48;
4833
2.24k
yy301:
4834
1.52k
    YYDEBUG(301, *YYCURSOR);
4835
1.52k
    yyaccept = 4;
4836
1.52k
    yych = *(YYMARKER = ++YYCURSOR);
4837
1.52k
    if (yych == 'L') goto yy398;
4838
1.52k
    if (yych == 'l') goto yy398;
4839
215
    goto yy48;
4840
3.65k
yy302:
4841
3.65k
    YYDEBUG(302, *YYCURSOR);
4842
3.65k
    yyaccept = 4;
4843
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
4844
3.65k
    if (yych == 'T') goto yy400;
4845
2.58k
    if (yych == 't') goto yy400;
4846
249
    goto yy48;
4847
14.6k
yy303:
4848
14.6k
    YYDEBUG(303, *YYCURSOR);
4849
14.6k
    yyaccept = 4;
4850
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
4851
14.6k
    if (yych == 'E') goto yy402;
4852
12.5k
    if (yych == 'e') goto yy402;
4853
1.09k
    goto yy48;
4854
7.60k
yy304:
4855
7.60k
    YYDEBUG(304, *YYCURSOR);
4856
7.60k
    yyaccept = 4;
4857
7.60k
    yych = *(YYMARKER = ++YYCURSOR);
4858
7.60k
    if (yych == 'A') goto yy403;
4859
2.83k
    if (yych == 'a') goto yy403;
4860
262
    goto yy48;
4861
13.8k
yy305:
4862
13.8k
    YYDEBUG(305, *YYCURSOR);
4863
13.8k
    yyaccept = 20;
4864
13.8k
    yych = *(YYMARKER = ++YYCURSOR);
4865
13.8k
    if (yych <= '\\') {
4866
8.29k
      if (yych <= 'D') {
4867
6.68k
        if (yych <= '/') goto yy306;
4868
173
        if (yych <= '9') goto yy47;
4869
20
        if (yych >= 'A') goto yy47;
4870
1.60k
      } else {
4871
1.60k
        if (yych <= 'E') goto yy404;
4872
182
        if (yych <= 'Z') goto yy47;
4873
100
        if (yych >= '\\') goto yy164;
4874
100
      }
4875
8.29k
    } else {
4876
5.59k
      if (yych <= 'd') {
4877
69
        if (yych == '_') goto yy47;
4878
38
        if (yych >= 'a') goto yy47;
4879
5.53k
      } else {
4880
5.53k
        if (yych <= 'e') goto yy404;
4881
2.03k
        if (yych <= 'z') goto yy47;
4882
168
        if (yych >= 0x80) goto yy47;
4883
168
      }
4884
5.59k
    }
4885
6.63k
yy306:
4886
6.63k
    YYDEBUG(306, *YYCURSOR);
4887
6.63k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
6.63k
#line 1482 "Zend/zend_language_scanner.l"
4889
6.63k
    {
4890
6.63k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
6.63k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
14.6k
yy307:
4894
14.6k
    YYDEBUG(307, *YYCURSOR);
4895
14.6k
    yyaccept = 4;
4896
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
4897
14.6k
    if (yych == 'C') goto yy405;
4898
14.0k
    if (yych == 'c') goto yy405;
4899
3.32k
    goto yy48;
4900
5.34k
yy308:
4901
5.34k
    YYDEBUG(308, *YYCURSOR);
4902
5.34k
    yyaccept = 4;
4903
5.34k
    yych = *(YYMARKER = ++YYCURSOR);
4904
5.34k
    if (yych == 'B') goto yy406;
4905
1.29k
    if (yych == 'b') goto yy406;
4906
37
    goto yy48;
4907
3.63k
yy309:
4908
3.63k
    YYDEBUG(309, *YYCURSOR);
4909
3.63k
    yyaccept = 4;
4910
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
4911
3.63k
    if (yych == 'O') goto yy407;
4912
1.59k
    if (yych == 'o') goto yy407;
4913
42
    goto yy48;
4914
24.4k
yy310:
4915
24.4k
    YYDEBUG(310, *YYCURSOR);
4916
24.4k
    yyaccept = 4;
4917
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
4918
24.4k
    if (yych == 'L') goto yy409;
4919
19.8k
    if (yych == 'l') goto yy409;
4920
2.87k
    goto yy48;
4921
9.78k
yy311:
4922
9.78k
    YYDEBUG(311, *YYCURSOR);
4923
9.78k
    yyaccept = 4;
4924
9.78k
    yych = *(YYMARKER = ++YYCURSOR);
4925
9.78k
    if (yych == 'L') goto yy410;
4926
7.64k
    if (yych == 'l') goto yy410;
4927
3.26k
    goto yy48;
4928
8.11k
yy312:
4929
8.11k
    YYDEBUG(312, *YYCURSOR);
4930
8.11k
    yyaccept = 4;
4931
8.11k
    yych = *(YYMARKER = ++YYCURSOR);
4932
8.11k
    if (yych == 'T') goto yy411;
4933
4.18k
    if (yych == 't') goto yy411;
4934
10
    goto yy48;
4935
7.67k
yy313:
4936
7.67k
    YYDEBUG(313, *YYCURSOR);
4937
7.67k
    yyaccept = 4;
4938
7.67k
    yych = *(YYMARKER = ++YYCURSOR);
4939
7.67k
    if (yych == 'E') goto yy412;
4940
5.82k
    if (yych == 'e') goto yy412;
4941
2.57k
    goto yy48;
4942
2.76k
yy314:
4943
2.76k
    YYDEBUG(314, *YYCURSOR);
4944
2.76k
    yyaccept = 4;
4945
2.76k
    yych = *(YYMARKER = ++YYCURSOR);
4946
2.76k
    if (yych == 'E') goto yy413;
4947
1.56k
    if (yych == 'e') goto yy413;
4948
304
    goto yy48;
4949
3.39k
yy315:
4950
3.39k
    YYDEBUG(315, *YYCURSOR);
4951
3.39k
    yyaccept = 4;
4952
3.39k
    yych = *(YYMARKER = ++YYCURSOR);
4953
3.39k
    if (yych == 'T') goto yy414;
4954
2.34k
    if (yych == 't') goto yy414;
4955
184
    goto yy48;
4956
259
yy316:
4957
259
    YYDEBUG(316, *YYCURSOR);
4958
259
    yyaccept = 4;
4959
259
    yych = *(YYMARKER = ++YYCURSOR);
4960
259
    if (yych == 'C') goto yy416;
4961
259
    if (yych == 'c') goto yy416;
4962
16
    goto yy48;
4963
6.95k
yy317:
4964
6.95k
    YYDEBUG(317, *YYCURSOR);
4965
6.95k
    yyaccept = 4;
4966
6.95k
    yych = *(YYMARKER = ++YYCURSOR);
4967
6.95k
    if (yych == 'E') goto yy417;
4968
5.53k
    if (yych == 'e') goto yy417;
4969
1.39k
    goto yy48;
4970
13.6k
yy318:
4971
13.6k
    YYDEBUG(318, *YYCURSOR);
4972
13.6k
    yyaccept = 21;
4973
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
4974
13.6k
    if (yybm[256+yych] & 128) {
4975
33
      goto yy47;
4976
33
    }
4977
13.5k
    if (yych == '\\') goto yy164;
4978
13.5k
yy319:
4979
13.5k
    YYDEBUG(319, *YYCURSOR);
4980
13.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
13.5k
#line 1626 "Zend/zend_language_scanner.l"
4982
13.5k
    {
4983
13.5k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
13.5k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
11.1k
yy320:
4987
11.1k
    YYDEBUG(320, *YYCURSOR);
4988
11.1k
    yyaccept = 4;
4989
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
4990
11.1k
    if (yych <= 'V') {
4991
5.39k
      if (yych == 'N') goto yy418;
4992
4.55k
      if (yych <= 'U') goto yy48;
4993
4.55k
      goto yy419;
4994
5.79k
    } else {
4995
5.79k
      if (yych <= 'n') {
4996
3.08k
        if (yych <= 'm') goto yy48;
4997
3.01k
        goto yy418;
4998
3.08k
      } else {
4999
2.70k
        if (yych == 'v') goto yy419;
5000
122
        goto yy48;
5001
2.70k
      }
5002
5.79k
    }
5003
4.48k
yy321:
5004
4.48k
    YYDEBUG(321, *YYCURSOR);
5005
4.48k
    yyaccept = 4;
5006
4.48k
    yych = *(YYMARKER = ++YYCURSOR);
5007
4.48k
    if (yych == 'T') goto yy420;
5008
2.08k
    if (yych == 't') goto yy420;
5009
246
    goto yy48;
5010
12.6k
yy322:
5011
12.6k
    YYDEBUG(322, *YYCURSOR);
5012
12.6k
    yyaccept = 4;
5013
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5014
12.6k
    if (yych == 'L') goto yy421;
5015
10.1k
    if (yych == 'l') goto yy421;
5016
288
    goto yy48;
5017
1.87k
yy323:
5018
1.87k
    YYDEBUG(323, *YYCURSOR);
5019
1.87k
    yyaccept = 4;
5020
1.87k
    yych = *(YYMARKER = ++YYCURSOR);
5021
1.87k
    if (yych == 'D') goto yy422;
5022
1.74k
    if (yych == 'd') goto yy422;
5023
645
    goto yy48;
5024
7.01k
yy324:
5025
7.01k
    YYDEBUG(324, *YYCURSOR);
5026
7.01k
    yyaccept = 4;
5027
7.01k
    yych = *(YYMARKER = ++YYCURSOR);
5028
7.01k
    if (yych == 'U') goto yy423;
5029
4.89k
    if (yych == 'u') goto yy423;
5030
217
    goto yy48;
5031
5.83k
yy325:
5032
5.83k
    YYDEBUG(325, *YYCURSOR);
5033
5.83k
    yyaccept = 4;
5034
5.83k
    yych = *(YYMARKER = ++YYCURSOR);
5035
5.83k
    if (yych == 'U') goto yy424;
5036
4.62k
    if (yych == 'u') goto yy424;
5037
60
    goto yy48;
5038
6.68k
yy326:
5039
6.68k
    YYDEBUG(326, *YYCURSOR);
5040
6.68k
    yyaccept = 4;
5041
6.68k
    yych = *(YYMARKER = ++YYCURSOR);
5042
6.68k
    if (yych == 'T') goto yy425;
5043
3.09k
    if (yych == 't') goto yy425;
5044
95
    goto yy48;
5045
1.39k
yy327:
5046
1.39k
    YYDEBUG(327, *YYCURSOR);
5047
1.39k
    yyaccept = 4;
5048
1.39k
    yych = *(YYMARKER = ++YYCURSOR);
5049
1.39k
    if (yych == 'T') goto yy426;
5050
666
    if (yych == 't') goto yy426;
5051
118
    goto yy48;
5052
2.78k
yy328:
5053
2.78k
    YYDEBUG(328, *YYCURSOR);
5054
2.78k
    yyaccept = 4;
5055
2.78k
    yych = *(YYMARKER = ++YYCURSOR);
5056
2.78k
    if (yych == 'O') goto yy427;
5057
2.05k
    if (yych == 'o') goto yy427;
5058
4
    goto yy48;
5059
3.18k
yy329:
5060
3.18k
    YYDEBUG(329, *YYCURSOR);
5061
3.18k
    yyaccept = 4;
5062
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
5063
3.18k
    if (yych == 'I') goto yy428;
5064
922
    if (yych == 'i') goto yy428;
5065
238
    goto yy48;
5066
9.74k
yy330:
5067
9.74k
    YYDEBUG(330, *YYCURSOR);
5068
9.74k
    yyaccept = 22;
5069
9.74k
    yych = *(YYMARKER = ++YYCURSOR);
5070
9.74k
    if (yybm[256+yych] & 128) {
5071
531
      goto yy47;
5072
531
    }
5073
9.21k
    if (yych == '\\') goto yy164;
5074
9.20k
yy331:
5075
9.20k
    YYDEBUG(331, *YYCURSOR);
5076
9.20k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
9.20k
#line 1438 "Zend/zend_language_scanner.l"
5078
9.20k
    {
5079
9.20k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
9.20k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
5.37k
yy332:
5083
5.37k
    YYDEBUG(332, *YYCURSOR);
5084
5.37k
    yyaccept = 4;
5085
5.37k
    yych = *(YYMARKER = ++YYCURSOR);
5086
5.37k
    if (yych == 'E') goto yy429;
5087
4.09k
    if (yych == 'e') goto yy429;
5088
52
    goto yy48;
5089
3.43k
yy333:
5090
3.43k
    YYDEBUG(333, *YYCURSOR);
5091
3.43k
    yyaccept = 23;
5092
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
5093
3.43k
    if (yybm[256+yych] & 128) {
5094
153
      goto yy47;
5095
153
    }
5096
3.28k
    if (yych == '\\') goto yy164;
5097
3.28k
yy334:
5098
3.28k
    YYDEBUG(334, *YYCURSOR);
5099
3.28k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
3.28k
#line 1742 "Zend/zend_language_scanner.l"
5101
3.28k
    {
5102
3.28k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
3.28k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
19.4k
yy335:
5106
19.4k
    YYDEBUG(335, *YYCURSOR);
5107
19.4k
    yyaccept = 24;
5108
19.4k
    yych = *(YYMARKER = ++YYCURSOR);
5109
19.4k
    if (yybm[256+yych] & 128) {
5110
16.0k
      goto yy47;
5111
16.0k
    }
5112
3.43k
    if (yych == '\\') goto yy164;
5113
3.43k
yy336:
5114
3.43k
    YYDEBUG(336, *YYCURSOR);
5115
3.43k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
3.43k
#line 1634 "Zend/zend_language_scanner.l"
5117
3.43k
    {
5118
3.43k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
3.43k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
2.12k
yy337:
5122
2.12k
    YYDEBUG(337, *YYCURSOR);
5123
2.12k
    yyaccept = 4;
5124
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
5125
2.12k
    if (yych == 'L') goto yy430;
5126
474
    if (yych == 'l') goto yy430;
5127
88
    goto yy48;
5128
3.09k
yy338:
5129
3.09k
    YYDEBUG(338, *YYCURSOR);
5130
3.09k
    yyaccept = 25;
5131
3.09k
    yych = *(YYMARKER = ++YYCURSOR);
5132
3.09k
    if (yybm[256+yych] & 128) {
5133
117
      goto yy47;
5134
117
    }
5135
2.97k
    if (yych == '\\') goto yy164;
5136
2.97k
yy339:
5137
2.97k
    YYDEBUG(339, *YYCURSOR);
5138
2.97k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
2.97k
#line 1938 "Zend/zend_language_scanner.l"
5140
2.97k
    {
5141
2.97k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
2.97k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
75.5k
yy340:
5145
75.5k
    YYDEBUG(340, *YYCURSOR);
5146
75.5k
    yyaccept = 4;
5147
75.5k
    yych = *(YYMARKER = ++YYCURSOR);
5148
75.5k
    if (yych == 'L') goto yy431;
5149
75.0k
    if (yych == 'l') goto yy431;
5150
5.11k
    goto yy48;
5151
5.11k
yy341:
5152
2.04k
    YYDEBUG(341, *YYCURSOR);
5153
2.04k
    ++YYCURSOR;
5154
2.04k
    YYFILL(1);
5155
2.04k
    yych = *YYCURSOR;
5156
2.04k
    if (yych <= '_') {
5157
1.36k
      if (yych <= '@') goto yy86;
5158
394
      if (yych <= 'Z') goto yy211;
5159
219
      if (yych <= '^') goto yy86;
5160
29
      goto yy211;
5161
680
    } else {
5162
680
      if (yych <= '`') goto yy86;
5163
680
      if (yych <= 'z') goto yy211;
5164
45
      if (yych <= 0x7F) goto yy86;
5165
16
      goto yy211;
5166
45
    }
5167
4.56k
yy342:
5168
4.56k
    YYDEBUG(342, *YYCURSOR);
5169
4.56k
    yyaccept = 4;
5170
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
5171
4.56k
    if (yych == 'L') goto yy432;
5172
2.02k
    if (yych == 'l') goto yy432;
5173
1.72k
    goto yy48;
5174
6.02k
yy343:
5175
6.02k
    YYDEBUG(343, *YYCURSOR);
5176
6.02k
    yyaccept = 4;
5177
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
5178
6.02k
    if (yych == 'I') goto yy433;
5179
1.39k
    if (yych == 'i') goto yy433;
5180
822
    goto yy48;
5181
7.22k
yy344:
5182
7.22k
    YYDEBUG(344, *YYCURSOR);
5183
7.22k
    yyaccept = 4;
5184
7.22k
    yych = *(YYMARKER = ++YYCURSOR);
5185
7.22k
    if (yych <= 'U') {
5186
7.12k
      if (yych == 'I') goto yy434;
5187
4.63k
      if (yych <= 'T') goto yy48;
5188
4.57k
      goto yy435;
5189
4.63k
    } else {
5190
105
      if (yych <= 'i') {
5191
29
        if (yych <= 'h') goto yy48;
5192
13
        goto yy434;
5193
76
      } else {
5194
76
        if (yych == 'u') goto yy435;
5195
20
        goto yy48;
5196
76
      }
5197
105
    }
5198
500
yy345:
5199
500
    YYDEBUG(345, *YYCURSOR);
5200
500
    yyaccept = 4;
5201
500
    yych = *(YYMARKER = ++YYCURSOR);
5202
500
    if (yych == 'A') goto yy436;
5203
383
    if (yych == 'a') goto yy436;
5204
44
    goto yy48;
5205
2.77k
yy346:
5206
2.77k
    YYDEBUG(346, *YYCURSOR);
5207
2.77k
    yyaccept = 4;
5208
2.77k
    yych = *(YYMARKER = ++YYCURSOR);
5209
2.77k
    if (yych == 'I') goto yy437;
5210
349
    if (yych == 'i') goto yy437;
5211
349
    goto yy48;
5212
3.74k
yy347:
5213
3.74k
    YYDEBUG(347, *YYCURSOR);
5214
3.74k
    yyaccept = 4;
5215
3.74k
    yych = *(YYMARKER = ++YYCURSOR);
5216
3.74k
    if (yych == 'E') goto yy438;
5217
411
    if (yych == 'e') goto yy438;
5218
16
    goto yy48;
5219
4.10k
yy348:
5220
4.10k
    YYDEBUG(348, *YYCURSOR);
5221
4.10k
    yyaccept = 4;
5222
4.10k
    yych = *(YYMARKER = ++YYCURSOR);
5223
4.10k
    if (yych == 'A') goto yy439;
5224
464
    if (yych == 'a') goto yy439;
5225
125
    goto yy48;
5226
2.85k
yy349:
5227
2.85k
    YYDEBUG(349, *YYCURSOR);
5228
2.85k
    yyaccept = 4;
5229
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
5230
2.85k
    if (yych == 'R') goto yy440;
5231
2.42k
    if (yych == 'r') goto yy440;
5232
2.15k
    goto yy48;
5233
3.20k
yy350:
5234
3.20k
    YYDEBUG(350, *YYCURSOR);
5235
3.20k
    yyaccept = 4;
5236
3.20k
    yych = *(YYMARKER = ++YYCURSOR);
5237
3.20k
    if (yych == 'R') goto yy441;
5238
635
    if (yych == 'r') goto yy441;
5239
388
    goto yy48;
5240
1.93k
yy351:
5241
1.93k
    YYDEBUG(351, *YYCURSOR);
5242
1.93k
    ++YYCURSOR;
5243
1.93k
    YYFILL(1);
5244
1.93k
    yych = *YYCURSOR;
5245
1.93k
    if (yybm[0+yych] & 2) {
5246
674
      goto yy225;
5247
674
    }
5248
1.26k
    if (yych <= 0x00) goto yy86;
5249
1.19k
    goto yy227;
5250
1.19k
yy352:
5251
196
    YYDEBUG(352, *YYCURSOR);
5252
196
    yyaccept = 26;
5253
196
    YYMARKER = ++YYCURSOR;
5254
196
    YYFILL(1);
5255
196
    yych = *YYCURSOR;
5256
196
    if (yybm[0+yych] & 2) {
5257
60
      goto yy225;
5258
60
    }
5259
136
    if (yych <= 0x00) goto yy89;
5260
85
    goto yy84;
5261
1.22k
yy353:
5262
1.22k
    YYDEBUG(353, *YYCURSOR);
5263
1.22k
    ++YYCURSOR;
5264
1.22k
    YYFILL(1);
5265
1.22k
    yych = *YYCURSOR;
5266
1.22k
    if (yych <= '\f') {
5267
122
      if (yych <= 0x00) goto yy86;
5268
28
      if (yych == '\n') goto yy84;
5269
13
      goto yy225;
5270
1.10k
    } else {
5271
1.10k
      if (yych <= '\r') goto yy84;
5272
1.02k
      if (yych == '.') goto yy442;
5273
465
      goto yy225;
5274
1.02k
    }
5275
60.9k
yy354:
5276
60.9k
    YYDEBUG(354, *YYCURSOR);
5277
60.9k
    ++YYCURSOR;
5278
60.9k
    YYFILL(1);
5279
60.9k
    yych = *YYCURSOR;
5280
60.9k
    if (yych <= '\f') {
5281
759
      if (yych <= 0x00) goto yy86;
5282
629
      if (yych == '\n') goto yy84;
5283
83
      goto yy225;
5284
60.1k
    } else {
5285
60.1k
      if (yych <= '\r') goto yy84;
5286
48.8k
      if (yych == '*') goto yy443;
5287
1.44k
      goto yy225;
5288
48.8k
    }
5289
56.9k
yy355:
5290
56.9k
    YYDEBUG(355, *YYCURSOR);
5291
56.9k
    ++YYCURSOR;
5292
56.9k
    YYFILL(1);
5293
56.9k
    yych = *YYCURSOR;
5294
56.9k
    YYDEBUG(356, *YYCURSOR);
5295
56.9k
    if (yybm[0+yych] & 64) {
5296
311
      goto yy355;
5297
311
    }
5298
56.6k
    if (yych <= 0x00) goto yy86;
5299
56.4k
    if (yych == '/') goto yy84;
5300
12.3k
    goto yy230;
5301
17.1k
yy357:
5302
17.1k
    YYDEBUG(357, *YYCURSOR);
5303
17.1k
    yych = *++YYCURSOR;
5304
17.1k
    if (yych == 'A') goto yy445;
5305
16.9k
    if (yych == 'a') goto yy445;
5306
797
    goto yy86;
5307
797
yy358:
5308
15
    YYDEBUG(358, *YYCURSOR);
5309
15
    yych = *++YYCURSOR;
5310
15
    if (yych == 'A') goto yy446;
5311
15
    if (yych == 'a') goto yy446;
5312
15
    goto yy86;
5313
1.35k
yy359:
5314
1.35k
    YYDEBUG(359, *YYCURSOR);
5315
1.35k
    yych = *++YYCURSOR;
5316
1.35k
    if (yych == 'L') goto yy447;
5317
707
    if (yych == 'l') goto yy447;
5318
635
    goto yy86;
5319
635
yy360:
5320
396
    YYDEBUG(360, *YYCURSOR);
5321
396
    yych = *++YYCURSOR;
5322
396
    if (yych == 'B') goto yy448;
5323
392
    if (yych == 'b') goto yy448;
5324
26
    goto yy86;
5325
957
yy361:
5326
957
    YYDEBUG(361, *YYCURSOR);
5327
957
    yych = *++YYCURSOR;
5328
957
    if (yych == 'A') goto yy449;
5329
904
    if (yych == 'a') goto yy449;
5330
0
    goto yy86;
5331
584
yy362:
5332
584
    YYDEBUG(362, *YYCURSOR);
5333
584
    yych = *++YYCURSOR;
5334
584
    if (yych == 'E') goto yy454;
5335
534
    if (yych == 'e') goto yy454;
5336
131
    goto yy451;
5337
746
yy363:
5338
746
    YYDEBUG(363, *YYCURSOR);
5339
746
    yych = *++YYCURSOR;
5340
746
    if (yych == 'E') goto yy455;
5341
746
    if (yych == 'e') goto yy455;
5342
7
    goto yy86;
5343
505
yy364:
5344
505
    YYDEBUG(364, *YYCURSOR);
5345
505
    yych = *++YYCURSOR;
5346
505
    if (yych == 'L') goto yy456;
5347
473
    if (yych == 'l') goto yy456;
5348
38
    goto yy86;
5349
1.24k
yy365:
5350
1.24k
    YYDEBUG(365, *YYCURSOR);
5351
1.24k
    yych = *++YYCURSOR;
5352
1.24k
    if (yych == 'I') goto yy458;
5353
1.19k
    if (yych == 'i') goto yy458;
5354
443
    goto yy86;
5355
2.76k
yy366:
5356
2.76k
    YYDEBUG(366, *YYCURSOR);
5357
2.76k
    yych = *++YYCURSOR;
5358
2.76k
    if (yych == 'E') goto yy459;
5359
2.75k
    if (yych == 'e') goto yy459;
5360
24
    goto yy86;
5361
1.02k
yy367:
5362
1.02k
    YYDEBUG(367, *YYCURSOR);
5363
1.02k
    yych = *++YYCURSOR;
5364
1.02k
    if (yych == 'D') goto yy460;
5365
1.02k
    if (yych == 'd') goto yy460;
5366
36
    goto yy86;
5367
1.02k
yy368:
5368
1.02k
    YYDEBUG(368, *YYCURSOR);
5369
1.02k
    ++YYCURSOR;
5370
1.02k
    YYFILL(1);
5371
1.02k
    yych = *YYCURSOR;
5372
1.02k
    YYDEBUG(369, *YYCURSOR);
5373
1.02k
    if (yych <= '\f') {
5374
75
      if (yych <= 0x08) goto yy129;
5375
52
      if (yych <= '\n') goto yy368;
5376
0
      goto yy129;
5377
952
    } else {
5378
952
      if (yych <= '\r') goto yy368;
5379
482
      if (yych == ' ') goto yy368;
5380
175
      goto yy129;
5381
482
    }
5382
1.64k
yy370:
5383
1.64k
    YYDEBUG(370, *YYCURSOR);
5384
1.64k
    yych = *++YYCURSOR;
5385
1.64k
    if (yych == '"') goto yy86;
5386
1.58k
    if (yych <= '/') goto yy463;
5387
1.48k
    if (yych <= '9') goto yy86;
5388
1.33k
    goto yy463;
5389
5.20k
yy371:
5390
5.20k
    YYDEBUG(371, *YYCURSOR);
5391
5.20k
    yych = *++YYCURSOR;
5392
5.20k
    if (yych == '\'') goto yy86;
5393
5.20k
    if (yych <= '/') goto yy465;
5394
5.19k
    if (yych <= '9') goto yy86;
5395
5.19k
    goto yy465;
5396
1.33M
yy372:
5397
1.33M
    YYDEBUG(372, *YYCURSOR);
5398
1.33M
    ++YYCURSOR;
5399
1.33M
    YYFILL(2);
5400
1.33M
    yych = *YYCURSOR;
5401
1.33M
    YYDEBUG(373, *YYCURSOR);
5402
1.33M
    if (yych <= '@') {
5403
812k
      if (yych <= '\f') {
5404
700k
        if (yych == '\n') goto yy466;
5405
7.81k
        goto yy86;
5406
700k
      } else {
5407
112k
        if (yych <= '\r') goto yy468;
5408
109k
        if (yych <= '/') goto yy86;
5409
85.2k
        if (yych <= '9') goto yy372;
5410
10.8k
        goto yy86;
5411
85.2k
      }
5412
812k
    } else {
5413
523k
      if (yych <= '_') {
5414
167k
        if (yych <= 'Z') goto yy372;
5415
3.07k
        if (yych <= '^') goto yy86;
5416
2.01k
        goto yy372;
5417
355k
      } else {
5418
355k
        if (yych <= '`') goto yy86;
5419
355k
        if (yych <= 'z') goto yy372;
5420
246k
        if (yych <= 0x7F) goto yy86;
5421
242k
        goto yy372;
5422
246k
      }
5423
523k
    }
5424
4.96k
yy374:
5425
4.96k
    YYDEBUG(374, *YYCURSOR);
5426
4.96k
    yyaccept = 4;
5427
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
5428
4.96k
    if (yych == 'R') goto yy469;
5429
1.84k
    if (yych == 'r') goto yy469;
5430
179
    goto yy48;
5431
20.5k
yy375:
5432
20.5k
    YYDEBUG(375, *YYCURSOR);
5433
20.5k
    yyaccept = 4;
5434
20.5k
    yych = *(YYMARKER = ++YYCURSOR);
5435
20.5k
    if (yych == 'Y') goto yy470;
5436
19.7k
    if (yych == 'y') goto yy470;
5437
520
    goto yy48;
5438
2.02k
yy376:
5439
2.02k
    YYDEBUG(376, *YYCURSOR);
5440
2.02k
    yyaccept = 4;
5441
2.02k
    yych = *(YYMARKER = ++YYCURSOR);
5442
2.02k
    if (yych == 'K') goto yy472;
5443
1.03k
    if (yych == 'k') goto yy472;
5444
31
    goto yy48;
5445
3.40k
yy377:
5446
3.40k
    YYDEBUG(377, *YYCURSOR);
5447
3.40k
    yyaccept = 4;
5448
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
5449
3.40k
    if (yych == 'A') goto yy474;
5450
1.43k
    if (yych == 'a') goto yy474;
5451
1.32k
    goto yy48;
5452
2.24k
yy378:
5453
2.24k
    YYDEBUG(378, *YYCURSOR);
5454
2.24k
    yyaccept = 27;
5455
2.24k
    yych = *(YYMARKER = ++YYCURSOR);
5456
2.24k
    if (yybm[256+yych] & 128) {
5457
309
      goto yy47;
5458
309
    }
5459
1.93k
    if (yych == '\\') goto yy164;
5460
1.93k
yy379:
5461
1.93k
    YYDEBUG(379, *YYCURSOR);
5462
1.93k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
1.93k
#line 1526 "Zend/zend_language_scanner.l"
5464
1.93k
    {
5465
1.93k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
1.93k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
7.29k
yy380:
5469
7.29k
    YYDEBUG(380, *YYCURSOR);
5470
7.29k
    yyaccept = 4;
5471
7.29k
    yych = *(YYMARKER = ++YYCURSOR);
5472
7.29k
    if (yych == 'H') goto yy475;
5473
6.01k
    if (yych == 'h') goto yy475;
5474
41
    goto yy48;
5475
8.74k
yy381:
5476
8.74k
    YYDEBUG(381, *YYCURSOR);
5477
8.74k
    yyaccept = 4;
5478
8.74k
    yych = *(YYMARKER = ++YYCURSOR);
5479
8.74k
    if (yych == 'S') goto yy477;
5480
8.59k
    if (yych == 's') goto yy477;
5481
362
    goto yy48;
5482
2.87k
yy382:
5483
2.87k
    YYDEBUG(382, *YYCURSOR);
5484
2.87k
    yyaccept = 4;
5485
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
5486
2.87k
    if (yych == 'E') goto yy479;
5487
1.78k
    if (yych == 'e') goto yy479;
5488
152
    goto yy48;
5489
86.9k
yy383:
5490
86.9k
    YYDEBUG(383, *YYCURSOR);
5491
86.9k
    yyaccept = 4;
5492
86.9k
    yych = *(YYMARKER = ++YYCURSOR);
5493
86.9k
    if (yych == 'T') goto yy481;
5494
83.7k
    if (yych == 't') goto yy481;
5495
713
    goto yy48;
5496
3.71k
yy384:
5497
3.71k
    YYDEBUG(384, *YYCURSOR);
5498
3.71k
    yyaccept = 4;
5499
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
5500
3.71k
    if (yych == 'I') goto yy483;
5501
3.06k
    if (yych == 'i') goto yy483;
5502
2.06k
    goto yy48;
5503
2.15k
yy385:
5504
2.15k
    YYDEBUG(385, *YYCURSOR);
5505
2.15k
    yyaccept = 4;
5506
2.15k
    yych = *(YYMARKER = ++YYCURSOR);
5507
2.15k
    if (yych == 'A') goto yy484;
5508
788
    if (yych == 'a') goto yy484;
5509
43
    goto yy48;
5510
2.08k
yy386:
5511
2.08k
    YYDEBUG(386, *YYCURSOR);
5512
2.08k
    yyaccept = 4;
5513
2.08k
    yych = *(YYMARKER = ++YYCURSOR);
5514
2.08k
    if (yych == 'U') goto yy485;
5515
971
    if (yych == 'u') goto yy485;
5516
116
    goto yy48;
5517
56.2k
yy387:
5518
56.2k
    YYDEBUG(387, *YYCURSOR);
5519
56.2k
    yyaccept = 28;
5520
56.2k
    yych = *(YYMARKER = ++YYCURSOR);
5521
56.2k
    if (yybm[256+yych] & 128) {
5522
796
      goto yy47;
5523
796
    }
5524
55.4k
    if (yych == '\\') goto yy164;
5525
55.4k
yy388:
5526
55.4k
    YYDEBUG(388, *YYCURSOR);
5527
55.4k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
55.4k
#line 1546 "Zend/zend_language_scanner.l"
5529
55.4k
    {
5530
55.4k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
55.4k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
4.13k
yy389:
5534
4.13k
    YYDEBUG(389, *YYCURSOR);
5535
4.13k
    yyaccept = 29;
5536
4.13k
    yych = *(YYMARKER = ++YYCURSOR);
5537
4.13k
    if (yych <= '\\') {
5538
3.15k
      if (yych <= 'H') {
5539
1.80k
        if (yych <= '/') goto yy390;
5540
205
        if (yych <= '9') goto yy47;
5541
136
        if (yych >= 'A') goto yy47;
5542
1.35k
      } else {
5543
1.35k
        if (yych <= 'I') goto yy486;
5544
56
        if (yych <= 'Z') goto yy47;
5545
54
        if (yych >= '\\') goto yy164;
5546
54
      }
5547
3.15k
    } else {
5548
976
      if (yych <= 'h') {
5549
70
        if (yych == '_') goto yy47;
5550
55
        if (yych >= 'a') goto yy47;
5551
906
      } else {
5552
906
        if (yych <= 'i') goto yy486;
5553
120
        if (yych <= 'z') goto yy47;
5554
48
        if (yych >= 0x80) goto yy47;
5555
48
      }
5556
976
    }
5557
1.87k
yy390:
5558
1.87k
    YYDEBUG(390, *YYCURSOR);
5559
1.87k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
1.87k
#line 1466 "Zend/zend_language_scanner.l"
5561
1.87k
    {
5562
1.87k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
1.87k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
2.36k
yy391:
5566
2.36k
    YYDEBUG(391, *YYCURSOR);
5567
2.36k
    yyaccept = 4;
5568
2.36k
    yych = *(YYMARKER = ++YYCURSOR);
5569
2.36k
    if (yych == 'Y') goto yy487;
5570
588
    if (yych == 'y') goto yy487;
5571
249
    goto yy48;
5572
3.91k
yy392:
5573
3.91k
    YYDEBUG(392, *YYCURSOR);
5574
3.91k
    yyaccept = 4;
5575
3.91k
    yych = *(YYMARKER = ++YYCURSOR);
5576
3.91k
    if (yych == 'E') goto yy489;
5577
1.37k
    if (yych == 'e') goto yy489;
5578
1
    goto yy48;
5579
7.57k
yy393:
5580
7.57k
    YYDEBUG(393, *YYCURSOR);
5581
7.57k
    yyaccept = 4;
5582
7.57k
    yych = *(YYMARKER = ++YYCURSOR);
5583
7.57k
    if (yych == 'O') goto yy490;
5584
2.83k
    if (yych == 'o') goto yy490;
5585
131
    goto yy48;
5586
4.47k
yy394:
5587
4.47k
    YYDEBUG(394, *YYCURSOR);
5588
4.47k
    yyaccept = 4;
5589
4.47k
    yych = *(YYMARKER = ++YYCURSOR);
5590
4.47k
    if (yych == 'F') goto yy491;
5591
3.16k
    if (yych == 'f') goto yy491;
5592
1.71k
    goto yy48;
5593
2.12k
yy395:
5594
2.12k
    YYDEBUG(395, *YYCURSOR);
5595
2.12k
    yyaccept = 4;
5596
2.12k
    yych = *(YYMARKER = ++YYCURSOR);
5597
2.12k
    if (yych == 'W') goto yy493;
5598
667
    if (yych == 'w') goto yy493;
5599
240
    goto yy48;
5600
3.06k
yy396:
5601
3.06k
    YYDEBUG(396, *YYCURSOR);
5602
3.06k
    yyaccept = 4;
5603
3.06k
    yych = *(YYMARKER = ++YYCURSOR);
5604
3.06k
    if (yych == 'H') goto yy494;
5605
1.54k
    if (yych == 'h') goto yy494;
5606
164
    goto yy48;
5607
62.3k
yy397:
5608
62.3k
    YYDEBUG(397, *YYCURSOR);
5609
62.3k
    yyaccept = 4;
5610
62.3k
    yych = *(YYMARKER = ++YYCURSOR);
5611
62.3k
    if (yych <= 0x1F) {
5612
56.3k
      if (yych <= '\n') {
5613
512
        if (yych <= 0x08) goto yy48;
5614
295
        goto yy495;
5615
55.8k
      } else {
5616
55.8k
        if (yych == '\r') goto yy495;
5617
1.34k
        goto yy48;
5618
55.8k
      }
5619
56.3k
    } else {
5620
5.97k
      if (yych <= '#') {
5621
2.13k
        if (yych <= ' ') goto yy495;
5622
72
        if (yych <= '"') goto yy48;
5623
72
        goto yy497;
5624
3.83k
      } else {
5625
3.83k
        if (yych == '/') goto yy498;
5626
3.77k
        goto yy48;
5627
3.83k
      }
5628
5.97k
    }
5629
1.31k
yy398:
5630
1.31k
    YYDEBUG(398, *YYCURSOR);
5631
1.31k
    yyaccept = 30;
5632
1.31k
    yych = *(YYMARKER = ++YYCURSOR);
5633
1.31k
    if (yybm[256+yych] & 128) {
5634
247
      goto yy47;
5635
247
    }
5636
1.06k
    if (yych == '\\') goto yy164;
5637
1.06k
yy399:
5638
1.06k
    YYDEBUG(399, *YYCURSOR);
5639
1.06k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
1.06k
#line 1718 "Zend/zend_language_scanner.l"
5641
1.06k
    {
5642
1.06k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
1.06k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
3.40k
yy400:
5646
3.40k
    YYDEBUG(400, *YYCURSOR);
5647
3.40k
    yyaccept = 31;
5648
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
5649
3.40k
    if (yybm[256+yych] & 128) {
5650
4
      goto yy47;
5651
4
    }
5652
3.40k
    if (yych == '\\') goto yy164;
5653
3.39k
yy401:
5654
3.39k
    YYDEBUG(401, *YYCURSOR);
5655
3.39k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
3.39k
#line 1399 "Zend/zend_language_scanner.l"
5657
3.39k
    {
5658
3.39k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
3.39k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
13.5k
yy402:
5662
13.5k
    YYDEBUG(402, *YYCURSOR);
5663
13.5k
    yyaccept = 4;
5664
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5665
13.5k
    if (yych == 'N') goto yy499;
5666
11.4k
    if (yych == 'n') goto yy499;
5667
7.70k
    goto yy48;
5668
7.70k
yy403:
5669
7.34k
    YYDEBUG(403, *YYCURSOR);
5670
7.34k
    yyaccept = 4;
5671
7.34k
    yych = *(YYMARKER = ++YYCURSOR);
5672
7.34k
    if (yych == 'L') goto yy500;
5673
2.60k
    if (yych == 'l') goto yy500;
5674
70
    goto yy48;
5675
4.92k
yy404:
5676
4.92k
    YYDEBUG(404, *YYCURSOR);
5677
4.92k
    yyaccept = 4;
5678
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
5679
4.92k
    if (yych == 'A') goto yy502;
5680
3.49k
    if (yych == 'a') goto yy502;
5681
0
    goto yy48;
5682
11.2k
yy405:
5683
11.2k
    YYDEBUG(405, *YYCURSOR);
5684
11.2k
    yyaccept = 4;
5685
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
5686
11.2k
    if (yych == 'T') goto yy503;
5687
10.7k
    if (yych == 't') goto yy503;
5688
725
    goto yy48;
5689
5.30k
yy406:
5690
5.30k
    YYDEBUG(406, *YYCURSOR);
5691
5.30k
    yyaccept = 4;
5692
5.30k
    yych = *(YYMARKER = ++YYCURSOR);
5693
5.30k
    if (yych == 'A') goto yy504;
5694
1.25k
    if (yych == 'a') goto yy504;
5695
40
    goto yy48;
5696
3.59k
yy407:
5697
3.59k
    YYDEBUG(407, *YYCURSOR);
5698
3.59k
    yyaccept = 32;
5699
3.59k
    yych = *(YYMARKER = ++YYCURSOR);
5700
3.59k
    if (yybm[256+yych] & 128) {
5701
127
      goto yy47;
5702
127
    }
5703
3.46k
    if (yych == '\\') goto yy164;
5704
3.46k
yy408:
5705
3.46k
    YYDEBUG(408, *YYCURSOR);
5706
3.46k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
3.46k
#line 1542 "Zend/zend_language_scanner.l"
5708
3.46k
    {
5709
3.46k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
3.46k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
21.5k
yy409:
5713
21.5k
    YYDEBUG(409, *YYCURSOR);
5714
21.5k
    yyaccept = 4;
5715
21.5k
    yych = *(YYMARKER = ++YYCURSOR);
5716
21.5k
    if (yych == 'E') goto yy505;
5717
10.9k
    if (yych == 'e') goto yy505;
5718
3.92k
    goto yy48;
5719
6.51k
yy410:
5720
6.51k
    YYDEBUG(410, *YYCURSOR);
5721
6.51k
    yyaccept = 4;
5722
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
5723
6.51k
    if (yych == 'U') goto yy506;
5724
4.38k
    if (yych == 'u') goto yy506;
5725
666
    goto yy48;
5726
8.10k
yy411:
5727
8.10k
    YYDEBUG(411, *YYCURSOR);
5728
8.10k
    yyaccept = 4;
5729
8.10k
    yych = *(YYMARKER = ++YYCURSOR);
5730
8.10k
    if (yych <= 'E') {
5731
3.92k
      if (yych == 'A') goto yy507;
5732
1.83k
      if (yych <= 'D') goto yy48;
5733
1.76k
      goto yy508;
5734
4.17k
    } else {
5735
4.17k
      if (yych <= 'a') {
5736
1.84k
        if (yych <= '`') goto yy48;
5737
1.78k
        goto yy507;
5738
2.33k
      } else {
5739
2.33k
        if (yych == 'e') goto yy508;
5740
78
        goto yy48;
5741
2.33k
      }
5742
4.17k
    }
5743
5.09k
yy412:
5744
5.09k
    YYDEBUG(412, *YYCURSOR);
5745
5.09k
    yyaccept = 4;
5746
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
5747
5.09k
    if (yych == 'R') goto yy509;
5748
3.39k
    if (yych == 'r') goto yy509;
5749
778
    goto yy48;
5750
2.46k
yy413:
5751
2.46k
    YYDEBUG(413, *YYCURSOR);
5752
2.46k
    yyaccept = 4;
5753
2.46k
    yych = *(YYMARKER = ++YYCURSOR);
5754
2.46k
    if (yych == 'T') goto yy510;
5755
1.26k
    if (yych == 't') goto yy510;
5756
32
    goto yy48;
5757
3.21k
yy414:
5758
3.21k
    YYDEBUG(414, *YYCURSOR);
5759
3.21k
    yyaccept = 33;
5760
3.21k
    yych = *(YYMARKER = ++YYCURSOR);
5761
3.21k
    if (yybm[256+yych] & 128) {
5762
583
      goto yy47;
5763
583
    }
5764
2.62k
    if (yych == '\\') goto yy164;
5765
2.62k
yy415:
5766
2.62k
    YYDEBUG(415, *YYCURSOR);
5767
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
2.62k
#line 1814 "Zend/zend_language_scanner.l"
5769
2.62k
    {
5770
2.62k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
2.62k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
243
yy416:
5774
243
    YYDEBUG(416, *YYCURSOR);
5775
243
    yyaccept = 4;
5776
243
    yych = *(YYMARKER = ++YYCURSOR);
5777
243
    if (yych == 'H') goto yy512;
5778
243
    if (yych == 'h') goto yy512;
5779
89
    goto yy48;
5780
5.56k
yy417:
5781
5.56k
    YYDEBUG(417, *YYCURSOR);
5782
5.56k
    yyaccept = 4;
5783
5.56k
    yych = *(YYMARKER = ++YYCURSOR);
5784
5.56k
    if (yych == 'S') goto yy514;
5785
4.14k
    if (yych == 's') goto yy514;
5786
77
    goto yy48;
5787
3.86k
yy418:
5788
3.86k
    YYDEBUG(418, *YYCURSOR);
5789
3.86k
    yyaccept = 4;
5790
3.86k
    yych = *(YYMARKER = ++YYCURSOR);
5791
3.86k
    if (yych == 'T') goto yy515;
5792
3.01k
    if (yych == 't') goto yy515;
5793
108
    goto yy48;
5794
7.13k
yy419:
5795
7.13k
    YYDEBUG(419, *YYCURSOR);
5796
7.13k
    yyaccept = 4;
5797
7.13k
    yych = *(YYMARKER = ++YYCURSOR);
5798
7.13k
    if (yych == 'A') goto yy517;
5799
2.65k
    if (yych == 'a') goto yy517;
5800
93
    goto yy48;
5801
4.24k
yy420:
5802
4.24k
    YYDEBUG(420, *YYCURSOR);
5803
4.24k
    yyaccept = 4;
5804
4.24k
    yych = *(YYMARKER = ++YYCURSOR);
5805
4.24k
    if (yych == 'E') goto yy518;
5806
2.20k
    if (yych == 'e') goto yy518;
5807
525
    goto yy48;
5808
12.4k
yy421:
5809
12.4k
    YYDEBUG(421, *YYCURSOR);
5810
12.4k
    yyaccept = 4;
5811
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5812
12.4k
    if (yych == 'I') goto yy519;
5813
9.84k
    if (yych == 'i') goto yy519;
5814
194
    goto yy48;
5815
1.22k
yy422:
5816
1.22k
    YYDEBUG(422, *YYCURSOR);
5817
1.22k
    yyaccept = 4;
5818
1.22k
    yych = *(YYMARKER = ++YYCURSOR);
5819
1.22k
    if (yych == 'O') goto yy520;
5820
1.11k
    if (yych == 'o') goto yy520;
5821
9
    goto yy48;
5822
6.79k
yy423:
5823
6.79k
    YYDEBUG(423, *YYCURSOR);
5824
6.79k
    yyaccept = 4;
5825
6.79k
    yych = *(YYMARKER = ++YYCURSOR);
5826
6.79k
    if (yych == 'I') goto yy521;
5827
4.76k
    if (yych == 'i') goto yy521;
5828
289
    goto yy48;
5829
5.77k
yy424:
5830
5.77k
    YYDEBUG(424, *YYCURSOR);
5831
5.77k
    yyaccept = 4;
5832
5.77k
    yych = *(YYMARKER = ++YYCURSOR);
5833
5.77k
    if (yych == 'R') goto yy522;
5834
4.58k
    if (yych == 'r') goto yy522;
5835
139
    goto yy48;
5836
6.59k
yy425:
5837
6.59k
    YYDEBUG(425, *YYCURSOR);
5838
6.59k
    yyaccept = 4;
5839
6.59k
    yych = *(YYMARKER = ++YYCURSOR);
5840
6.59k
    if (yych == 'I') goto yy523;
5841
3.00k
    if (yych == 'i') goto yy523;
5842
73
    goto yy48;
5843
1.27k
yy426:
5844
1.27k
    YYDEBUG(426, *YYCURSOR);
5845
1.27k
    yyaccept = 4;
5846
1.27k
    yych = *(YYMARKER = ++YYCURSOR);
5847
1.27k
    if (yych == 'C') goto yy524;
5848
548
    if (yych == 'c') goto yy524;
5849
0
    goto yy48;
5850
2.78k
yy427:
5851
2.78k
    YYDEBUG(427, *YYCURSOR);
5852
2.78k
    yyaccept = 4;
5853
2.78k
    yych = *(YYMARKER = ++YYCURSOR);
5854
2.78k
    if (yych == 'W') goto yy525;
5855
2.05k
    if (yych == 'w') goto yy525;
5856
265
    goto yy48;
5857
2.94k
yy428:
5858
2.94k
    YYDEBUG(428, *YYCURSOR);
5859
2.94k
    yyaccept = 4;
5860
2.94k
    yych = *(YYMARKER = ++YYCURSOR);
5861
2.94k
    if (yych == 'T') goto yy527;
5862
690
    if (yych == 't') goto yy527;
5863
72
    goto yy48;
5864
5.32k
yy429:
5865
5.32k
    YYDEBUG(429, *YYCURSOR);
5866
5.32k
    yyaccept = 4;
5867
5.32k
    yych = *(YYMARKER = ++YYCURSOR);
5868
5.32k
    if (yych == 'T') goto yy529;
5869
4.04k
    if (yych == 't') goto yy529;
5870
2.96k
    goto yy48;
5871
2.96k
yy430:
5872
2.03k
    YYDEBUG(430, *YYCURSOR);
5873
2.03k
    yyaccept = 4;
5874
2.03k
    yych = *(YYMARKER = ++YYCURSOR);
5875
2.03k
    if (yych == 'E') goto yy531;
5876
670
    if (yych == 'e') goto yy531;
5877
287
    goto yy48;
5878
70.4k
yy431:
5879
70.4k
    YYDEBUG(431, *YYCURSOR);
5880
70.4k
    yyaccept = 4;
5881
70.4k
    yych = *(YYMARKER = ++YYCURSOR);
5882
70.4k
    if (yych == 'D') goto yy533;
5883
70.0k
    if (yych == 'd') goto yy533;
5884
2.29k
    goto yy48;
5885
2.83k
yy432:
5886
2.83k
    YYDEBUG(432, *YYCURSOR);
5887
2.83k
    yyaccept = 4;
5888
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
5889
2.83k
    if (yych == 'A') goto yy535;
5890
299
    if (yych == 'a') goto yy535;
5891
207
    goto yy48;
5892
5.20k
yy433:
5893
5.20k
    YYDEBUG(433, *YYCURSOR);
5894
5.20k
    yyaccept = 4;
5895
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
5896
5.20k
    if (yych == 'R') goto yy536;
5897
885
    if (yych == 'r') goto yy536;
5898
843
    goto yy48;
5899
2.49k
yy434:
5900
2.49k
    YYDEBUG(434, *YYCURSOR);
5901
2.49k
    yyaccept = 4;
5902
2.49k
    yych = *(YYMARKER = ++YYCURSOR);
5903
2.49k
    if (yych == 'L') goto yy537;
5904
161
    if (yych == 'l') goto yy537;
5905
148
    goto yy48;
5906
4.63k
yy435:
5907
4.63k
    YYDEBUG(435, *YYCURSOR);
5908
4.63k
    yyaccept = 4;
5909
4.63k
    yych = *(YYMARKER = ++YYCURSOR);
5910
4.63k
    if (yych == 'N') goto yy538;
5911
596
    if (yych == 'n') goto yy538;
5912
540
    goto yy48;
5913
540
yy436:
5914
456
    YYDEBUG(436, *YYCURSOR);
5915
456
    yyaccept = 4;
5916
456
    yych = *(YYMARKER = ++YYCURSOR);
5917
456
    if (yych == 'L') goto yy539;
5918
339
    if (yych == 'l') goto yy539;
5919
102
    goto yy48;
5920
2.42k
yy437:
5921
2.42k
    YYDEBUG(437, *YYCURSOR);
5922
2.42k
    yyaccept = 4;
5923
2.42k
    yych = *(YYMARKER = ++YYCURSOR);
5924
2.42k
    if (yych == 'N') goto yy540;
5925
47
    if (yych == 'n') goto yy540;
5926
47
    goto yy48;
5927
3.72k
yy438:
5928
3.72k
    YYDEBUG(438, *YYCURSOR);
5929
3.72k
    yyaccept = 4;
5930
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
5931
3.72k
    if (yych == 'T') goto yy541;
5932
552
    if (yych == 't') goto yy541;
5933
159
    goto yy48;
5934
3.98k
yy439:
5935
3.98k
    YYDEBUG(439, *YYCURSOR);
5936
3.98k
    yyaccept = 4;
5937
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
5938
3.98k
    if (yych == 'M') goto yy542;
5939
692
    if (yych == 'm') goto yy542;
5940
353
    goto yy48;
5941
701
yy440:
5942
701
    YYDEBUG(440, *YYCURSOR);
5943
701
    yyaccept = 4;
5944
701
    yych = *(YYMARKER = ++YYCURSOR);
5945
701
    if (yych == 'O') goto yy543;
5946
287
    if (yych == 'o') goto yy543;
5947
255
    goto yy48;
5948
2.81k
yy441:
5949
2.81k
    YYDEBUG(441, *YYCURSOR);
5950
2.81k
    yyaccept = 4;
5951
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
5952
2.81k
    if (yych == 'A') goto yy544;
5953
365
    if (yych == 'a') goto yy544;
5954
178
    goto yy48;
5955
556
yy442:
5956
556
    YYDEBUG(442, *YYCURSOR);
5957
556
    ++YYCURSOR;
5958
556
    YYFILL(1);
5959
556
    yych = *YYCURSOR;
5960
556
    if (yych <= '\f') {
5961
144
      if (yych <= 0x00) goto yy86;
5962
130
      if (yych == '\n') goto yy84;
5963
31
      goto yy225;
5964
412
    } else {
5965
412
      if (yych <= '\r') goto yy84;
5966
412
      if (yych == '.') goto yy352;
5967
216
      goto yy225;
5968
412
    }
5969
1.07M
yy443:
5970
1.07M
    YYDEBUG(443, *YYCURSOR);
5971
1.07M
    ++YYCURSOR;
5972
1.07M
    YYFILL(1);
5973
1.07M
    yych = *YYCURSOR;
5974
1.07M
    YYDEBUG(444, *YYCURSOR);
5975
1.07M
    if (yybm[0+yych] & 128) {
5976
922k
      goto yy443;
5977
922k
    }
5978
147k
    if (yych <= 0x00) goto yy86;
5979
146k
    if (yych <= '\r') goto yy545;
5980
28.4k
    goto yy547;
5981
28.4k
yy445:
5982
16.3k
    YYDEBUG(445, *YYCURSOR);
5983
16.3k
    yych = *++YYCURSOR;
5984
16.3k
    if (yych == 'Y') goto yy549;
5985
16.2k
    if (yych == 'y') goto yy549;
5986
266
    goto yy86;
5987
266
yy446:
5988
0
    YYDEBUG(446, *YYCURSOR);
5989
0
    yych = *++YYCURSOR;
5990
0
    if (yych == 'R') goto yy551;
5991
0
    if (yych == 'r') goto yy551;
5992
0
    goto yy86;
5993
718
yy447:
5994
718
    YYDEBUG(447, *YYCURSOR);
5995
718
    yych = *++YYCURSOR;
5996
718
    if (yych == 'E') goto yy556;
5997
72
    if (yych == 'e') goto yy556;
5998
44
    goto yy553;
5999
370
yy448:
6000
370
    YYDEBUG(448, *YYCURSOR);
6001
370
    yych = *++YYCURSOR;
6002
370
    if (yych == 'L') goto yy557;
6003
361
    if (yych == 'l') goto yy557;
6004
24
    goto yy86;
6005
957
yy449:
6006
957
    YYDEBUG(449, *YYCURSOR);
6007
957
    yych = *++YYCURSOR;
6008
957
    if (yych == 'T') goto yy558;
6009
945
    if (yych == 't') goto yy558;
6010
27
    goto yy86;
6011
27
yy450:
6012
15
    YYDEBUG(450, *YYCURSOR);
6013
15
    ++YYCURSOR;
6014
15
    YYFILL(1);
6015
15
    yych = *YYCURSOR;
6016
146
yy451:
6017
146
    YYDEBUG(451, *YYCURSOR);
6018
146
    if (yych <= 0x1F) {
6019
8
      if (yych == '\t') goto yy450;
6020
8
      goto yy86;
6021
138
    } else {
6022
138
      if (yych <= ' ') goto yy450;
6023
123
      if (yych != ')') goto yy86;
6024
123
    }
6025
49
    YYDEBUG(452, *YYCURSOR);
6026
49
    ++YYCURSOR;
6027
49
    YYDEBUG(453, *YYCURSOR);
6028
49
    yyleng = YYCURSOR - SCNG(yy_text);
6029
49
#line 1638 "Zend/zend_language_scanner.l"
6030
49
    {
6031
49
  RETURN_TOKEN(T_INT_CAST);
6032
49
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
453
yy454:
6035
453
    YYDEBUG(454, *YYCURSOR);
6036
453
    yych = *++YYCURSOR;
6037
453
    if (yych == 'G') goto yy560;
6038
169
    if (yych == 'g') goto yy560;
6039
151
    goto yy86;
6040
739
yy455:
6041
739
    YYDEBUG(455, *YYCURSOR);
6042
739
    yych = *++YYCURSOR;
6043
739
    if (yych == 'C') goto yy561;
6044
731
    if (yych == 'c') goto yy561;
6045
57
    goto yy86;
6046
902
yy456:
6047
902
    YYDEBUG(456, *YYCURSOR);
6048
902
    ++YYCURSOR;
6049
902
    YYFILL(1);
6050
902
    yych = *YYCURSOR;
6051
902
    YYDEBUG(457, *YYCURSOR);
6052
902
    if (yych <= 0x1F) {
6053
36
      if (yych == '\t') goto yy456;
6054
0
      goto yy86;
6055
866
    } else {
6056
866
      if (yych <= ' ') goto yy456;
6057
467
      if (yych == ')') goto yy562;
6058
59
      goto yy86;
6059
467
    }
6060
797
yy458:
6061
797
    YYDEBUG(458, *YYCURSOR);
6062
797
    yych = *++YYCURSOR;
6063
797
    if (yych == 'N') goto yy564;
6064
797
    if (yych == 'n') goto yy564;
6065
323
    goto yy86;
6066
2.73k
yy459:
6067
2.73k
    YYDEBUG(459, *YYCURSOR);
6068
2.73k
    yych = *++YYCURSOR;
6069
2.73k
    if (yych == 'T') goto yy565;
6070
2.73k
    if (yych == 't') goto yy565;
6071
2.58k
    goto yy86;
6072
2.58k
yy460:
6073
1.24k
    YYDEBUG(460, *YYCURSOR);
6074
1.24k
    ++YYCURSOR;
6075
1.24k
    YYFILL(1);
6076
1.24k
    yych = *YYCURSOR;
6077
1.24k
    YYDEBUG(461, *YYCURSOR);
6078
1.24k
    if (yych <= 0x1F) {
6079
62
      if (yych == '\t') goto yy460;
6080
62
      goto yy86;
6081
1.17k
    } else {
6082
1.17k
      if (yych <= ' ') goto yy460;
6083
926
      if (yych == ')') goto yy567;
6084
42
      goto yy86;
6085
926
    }
6086
1.77k
yy462:
6087
1.77k
    YYDEBUG(462, *YYCURSOR);
6088
1.77k
    ++YYCURSOR;
6089
1.77k
    YYFILL(3);
6090
1.77k
    yych = *YYCURSOR;
6091
3.20k
yy463:
6092
3.20k
    YYDEBUG(463, *YYCURSOR);
6093
3.20k
    if (yych <= 'Z') {
6094
1.26k
      if (yych <= '/') {
6095
354
        if (yych == '"') goto yy569;
6096
217
        goto yy86;
6097
913
      } else {
6098
913
        if (yych <= '9') goto yy462;
6099
913
        if (yych <= '@') goto yy86;
6100
672
        goto yy462;
6101
913
      }
6102
1.93k
    } else {
6103
1.93k
      if (yych <= '`') {
6104
218
        if (yych == '_') goto yy462;
6105
218
        goto yy86;
6106
1.71k
      } else {
6107
1.71k
        if (yych <= 'z') goto yy462;
6108
619
        if (yych <= 0x7F) goto yy86;
6109
0
        goto yy462;
6110
619
      }
6111
1.93k
    }
6112
17.4k
yy464:
6113
17.4k
    YYDEBUG(464, *YYCURSOR);
6114
17.4k
    ++YYCURSOR;
6115
17.4k
    YYFILL(3);
6116
17.4k
    yych = *YYCURSOR;
6117
22.6k
yy465:
6118
22.6k
    YYDEBUG(465, *YYCURSOR);
6119
22.6k
    if (yych <= 'Z') {
6120
8.94k
      if (yych <= '/') {
6121
4.76k
        if (yych == '\'') goto yy569;
6122
161
        goto yy86;
6123
4.76k
      } else {
6124
4.18k
        if (yych <= '9') goto yy464;
6125
3.58k
        if (yych <= '@') goto yy86;
6126
3.19k
        goto yy464;
6127
3.58k
      }
6128
13.6k
    } else {
6129
13.6k
      if (yych <= '`') {
6130
223
        if (yych == '_') goto yy464;
6131
13
        goto yy86;
6132
13.4k
      } else {
6133
13.4k
        if (yych <= 'z') goto yy464;
6134
197
        if (yych <= 0x7F) goto yy86;
6135
167
        goto yy464;
6136
197
      }
6137
13.6k
    }
6138
696k
yy466:
6139
696k
    YYDEBUG(466, *YYCURSOR);
6140
696k
    ++YYCURSOR;
6141
699k
yy467:
6142
699k
    YYDEBUG(467, *YYCURSOR);
6143
699k
    yyleng = YYCURSOR - SCNG(yy_text);
6144
699k
#line 2678 "Zend/zend_language_scanner.l"
6145
699k
    {
6146
699k
  char *s;
6147
699k
  unsigned char *saved_cursor;
6148
699k
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
699k
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
699k
  bool is_heredoc = 1;
6151
6152
699k
  CG(zend_lineno)++;
6153
699k
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
699k
  s = yytext+bprefix+3;
6155
701k
  while ((*s == ' ') || (*s == '\t')) {
6156
1.36k
    s++;
6157
1.36k
    heredoc_label->length--;
6158
1.36k
  }
6159
6160
699k
  if (*s == '\'') {
6161
4.50k
    s++;
6162
4.50k
    heredoc_label->length -= 2;
6163
4.50k
    is_heredoc = 0;
6164
6165
4.50k
    BEGIN(ST_NOWDOC);
6166
695k
  } else {
6167
695k
    if (*s == '"') {
6168
113
      s++;
6169
113
      heredoc_label->length -= 2;
6170
113
    }
6171
6172
695k
    BEGIN(ST_HEREDOC);
6173
695k
  }
6174
6175
699k
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
699k
  heredoc_label->indentation_uses_spaces = 0;
6177
699k
  heredoc_label->indentation = 0;
6178
699k
  saved_cursor = YYCURSOR;
6179
6180
699k
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
1.09M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
392k
    if (*YYCURSOR == '\t') {
6184
3.55k
      spacing |= HEREDOC_USING_TABS;
6185
389k
    } else {
6186
389k
      spacing |= HEREDOC_USING_SPACES;
6187
389k
    }
6188
392k
    ++YYCURSOR;
6189
392k
    ++indentation;
6190
392k
  }
6191
6192
699k
  if (YYCURSOR == YYLIMIT) {
6193
9
    YYCURSOR = saved_cursor;
6194
9
    RETURN_TOKEN(T_START_HEREDOC);
6195
9
  }
6196
6197
  /* Check for ending label on the next line */
6198
699k
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
977
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
196
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
0
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
0
        if (PARSER_MODE()) {
6203
0
          RETURN_TOKEN(T_ERROR);
6204
0
        }
6205
0
      }
6206
6207
196
      YYCURSOR = saved_cursor;
6208
196
      heredoc_label->indentation = indentation;
6209
6210
196
      BEGIN(ST_END_HEREDOC);
6211
196
      RETURN_TOKEN(T_START_HEREDOC);
6212
196
    }
6213
977
  }
6214
6215
699k
  YYCURSOR = saved_cursor;
6216
6217
699k
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
16.8k
    zend_lex_state current_state;
6219
16.8k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
16.8k
    int heredoc_nesting_level = 1;
6221
16.8k
    int first_token = 0;
6222
16.8k
    int error = 0;
6223
6224
16.8k
    zend_save_lexical_state(&current_state);
6225
6226
16.8k
    SCNG(heredoc_scan_ahead) = 1;
6227
16.8k
    SCNG(heredoc_indentation) = 0;
6228
16.8k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
16.8k
    SCNG(on_event_context) = NULL;
6230
16.8k
    LANG_SCNG(on_event) = NULL;
6231
16.8k
    CG(doc_comment) = NULL;
6232
6233
16.8k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
16.8k
    zend_object *prev_exception = EG(exception);
6236
16.8k
    EG(exception) = NULL;
6237
9.81M
    while (heredoc_nesting_level) {
6238
9.81M
      zval zv;
6239
9.81M
      int retval;
6240
6241
9.81M
      ZVAL_UNDEF(&zv);
6242
9.81M
      retval = lex_scan(&zv, NULL);
6243
9.81M
      zval_ptr_dtor_nogc(&zv);
6244
6245
9.81M
      if (EG(exception)) {
6246
16.3k
        zend_clear_exception();
6247
16.3k
        break;
6248
16.3k
      }
6249
6250
9.79M
      if (!first_token) {
6251
16.8k
        first_token = retval;
6252
16.8k
      }
6253
6254
9.79M
      switch (retval) {
6255
682k
        case T_START_HEREDOC:
6256
682k
          ++heredoc_nesting_level;
6257
682k
          break;
6258
6.64k
        case T_END_HEREDOC:
6259
6.64k
          --heredoc_nesting_level;
6260
6.64k
          break;
6261
11
        case END:
6262
11
          heredoc_nesting_level = 0;
6263
9.79M
      }
6264
9.79M
    }
6265
16.8k
    EG(exception) = prev_exception;
6266
6267
16.8k
    if (
6268
16.8k
        (first_token == T_VARIABLE
6269
16.1k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6270
8.57k
         || first_token == T_CURLY_OPEN
6271
16.8k
        ) && SCNG(heredoc_indentation)) {
6272
3
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6273
3
      error = 1;
6274
3
    }
6275
6276
16.8k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6277
16.8k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6278
6279
16.8k
    zend_restore_lexical_state(&current_state);
6280
16.8k
    SCNG(heredoc_scan_ahead) = 0;
6281
16.8k
    CG(increment_lineno) = 0;
6282
16.8k
    CG(doc_comment) = saved_doc_comment;
6283
6284
16.8k
    if (PARSER_MODE() && error) {
6285
0
      RETURN_TOKEN(T_ERROR);
6286
0
    }
6287
16.8k
  }
6288
6289
699k
  RETURN_TOKEN(T_START_HEREDOC);
6290
699k
}
6291
0
#line 6292 "Zend/zend_language_scanner.c"
6292
2.79k
yy468:
6293
2.79k
    YYDEBUG(468, *YYCURSOR);
6294
2.79k
    yych = *++YYCURSOR;
6295
2.79k
    if (yych == '\n') goto yy466;
6296
2.79k
    goto yy467;
6297
4.79k
yy469:
6298
4.79k
    YYDEBUG(469, *YYCURSOR);
6299
4.79k
    yyaccept = 4;
6300
4.79k
    yych = *(YYMARKER = ++YYCURSOR);
6301
4.79k
    if (yych == 'A') goto yy570;
6302
1.67k
    if (yych == 'a') goto yy570;
6303
82
    goto yy48;
6304
20.0k
yy470:
6305
20.0k
    YYDEBUG(470, *YYCURSOR);
6306
20.0k
    yyaccept = 34;
6307
20.0k
    yych = *(YYMARKER = ++YYCURSOR);
6308
20.0k
    if (yybm[256+yych] & 128) {
6309
1.12k
      goto yy47;
6310
1.12k
    }
6311
18.9k
    if (yych == '\\') goto yy164;
6312
18.9k
yy471:
6313
18.9k
    YYDEBUG(471, *YYCURSOR);
6314
18.9k
    yyleng = YYCURSOR - SCNG(yy_text);
6315
18.9k
#line 1818 "Zend/zend_language_scanner.l"
6316
18.9k
    {
6317
18.9k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6318
18.9k
}
6319
0
#line 6320 "Zend/zend_language_scanner.c"
6320
1.98k
yy472:
6321
1.98k
    YYDEBUG(472, *YYCURSOR);
6322
1.98k
    yyaccept = 35;
6323
1.98k
    yych = *(YYMARKER = ++YYCURSOR);
6324
1.98k
    if (yybm[256+yych] & 128) {
6325
238
      goto yy47;
6326
238
    }
6327
1.75k
    if (yych == '\\') goto yy164;
6328
1.75k
yy473:
6329
1.75k
    YYDEBUG(473, *YYCURSOR);
6330
1.75k
    yyleng = YYCURSOR - SCNG(yy_text);
6331
1.75k
#line 1534 "Zend/zend_language_scanner.l"
6332
1.75k
    {
6333
1.75k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6334
1.75k
}
6335
0
#line 6336 "Zend/zend_language_scanner.c"
6336
2.08k
yy474:
6337
2.08k
    YYDEBUG(474, *YYCURSOR);
6338
2.08k
    yyaccept = 4;
6339
2.08k
    yych = *(YYMARKER = ++YYCURSOR);
6340
2.08k
    if (yych == 'B') goto yy571;
6341
105
    if (yych == 'b') goto yy571;
6342
12
    goto yy48;
6343
7.25k
yy475:
6344
7.25k
    YYDEBUG(475, *YYCURSOR);
6345
7.25k
    yyaccept = 36;
6346
7.25k
    yych = *(YYMARKER = ++YYCURSOR);
6347
7.25k
    if (yybm[256+yych] & 128) {
6348
90
      goto yy47;
6349
90
    }
6350
7.16k
    if (yych == '\\') goto yy164;
6351
7.16k
yy476:
6352
7.16k
    YYDEBUG(476, *YYCURSOR);
6353
7.16k
    yyleng = YYCURSOR - SCNG(yy_text);
6354
7.16k
#line 1442 "Zend/zend_language_scanner.l"
6355
7.16k
    {
6356
7.16k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6357
7.16k
}
6358
0
#line 6359 "Zend/zend_language_scanner.c"
6359
8.38k
yy477:
6360
8.38k
    YYDEBUG(477, *YYCURSOR);
6361
8.38k
    yyaccept = 37;
6362
8.38k
    yych = *(YYMARKER = ++YYCURSOR);
6363
8.38k
    if (yybm[256+yych] & 128) {
6364
552
      goto yy47;
6365
552
    }
6366
7.83k
    if (yych == '\\') goto yy164;
6367
7.83k
yy478:
6368
7.83k
    YYDEBUG(478, *YYCURSOR);
6369
7.83k
    yyleng = YYCURSOR - SCNG(yy_text);
6370
7.83k
#line 1554 "Zend/zend_language_scanner.l"
6371
7.83k
    {
6372
7.83k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6373
7.83k
}
6374
0
#line 6375 "Zend/zend_language_scanner.c"
6375
2.72k
yy479:
6376
2.72k
    YYDEBUG(479, *YYCURSOR);
6377
2.72k
    yyaccept = 38;
6378
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
6379
2.72k
    if (yybm[256+yych] & 128) {
6380
105
      goto yy47;
6381
105
    }
6382
2.61k
    if (yych == '\\') goto yy164;
6383
2.61k
yy480:
6384
2.61k
    YYDEBUG(480, *YYCURSOR);
6385
2.61k
    yyleng = YYCURSOR - SCNG(yy_text);
6386
2.61k
#line 1630 "Zend/zend_language_scanner.l"
6387
2.61k
    {
6388
2.61k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6389
2.61k
}
6390
0
#line 6391 "Zend/zend_language_scanner.c"
6391
86.2k
yy481:
6392
86.2k
    YYDEBUG(481, *YYCURSOR);
6393
86.2k
    yyaccept = 39;
6394
86.2k
    yych = *(YYMARKER = ++YYCURSOR);
6395
86.2k
    if (yybm[256+yych] & 128) {
6396
3.84k
      goto yy47;
6397
3.84k
    }
6398
82.4k
    if (yych == '\\') goto yy164;
6399
82.4k
yy482:
6400
82.4k
    YYDEBUG(482, *YYCURSOR);
6401
82.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6402
82.4k
#line 1415 "Zend/zend_language_scanner.l"
6403
82.4k
    {
6404
82.4k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6405
82.4k
}
6406
0
#line 6407 "Zend/zend_language_scanner.c"
6407
1.64k
yy483:
6408
1.64k
    YYDEBUG(483, *YYCURSOR);
6409
1.64k
    yyaccept = 4;
6410
1.64k
    yych = *(YYMARKER = ++YYCURSOR);
6411
1.64k
    if (yych == 'N') goto yy572;
6412
1.03k
    if (yych == 'n') goto yy572;
6413
119
    goto yy48;
6414
2.11k
yy484:
6415
2.11k
    YYDEBUG(484, *YYCURSOR);
6416
2.11k
    yyaccept = 4;
6417
2.11k
    yych = *(YYMARKER = ++YYCURSOR);
6418
2.11k
    if (yych == 'R') goto yy573;
6419
747
    if (yych == 'r') goto yy573;
6420
2
    goto yy48;
6421
1.97k
yy485:
6422
1.97k
    YYDEBUG(485, *YYCURSOR);
6423
1.97k
    yyaccept = 4;
6424
1.97k
    yych = *(YYMARKER = ++YYCURSOR);
6425
1.97k
    if (yych == 'L') goto yy574;
6426
855
    if (yych == 'l') goto yy574;
6427
0
    goto yy48;
6428
2.08k
yy486:
6429
2.08k
    YYDEBUG(486, *YYCURSOR);
6430
2.08k
    yyaccept = 4;
6431
2.08k
    yych = *(YYMARKER = ++YYCURSOR);
6432
2.08k
    if (yych == 'F') goto yy575;
6433
1.02k
    if (yych == 'f') goto yy575;
6434
242
    goto yy48;
6435
2.11k
yy487:
6436
2.11k
    YYDEBUG(487, *YYCURSOR);
6437
2.11k
    yyaccept = 40;
6438
2.11k
    yych = *(YYMARKER = ++YYCURSOR);
6439
2.11k
    if (yybm[256+yych] & 128) {
6440
7
      goto yy47;
6441
7
    }
6442
2.10k
    if (yych == '\\') goto yy164;
6443
1.96k
yy488:
6444
1.96k
    YYDEBUG(488, *YYCURSOR);
6445
1.96k
    yyleng = YYCURSOR - SCNG(yy_text);
6446
1.96k
#line 1758 "Zend/zend_language_scanner.l"
6447
1.96k
    {
6448
1.96k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6449
1.96k
}
6450
0
#line 6451 "Zend/zend_language_scanner.c"
6451
3.91k
yy489:
6452
3.91k
    YYDEBUG(489, *YYCURSOR);
6453
3.91k
    yyaccept = 4;
6454
3.91k
    yych = *(YYMARKER = ++YYCURSOR);
6455
3.91k
    if (yych == 'C') goto yy577;
6456
1.42k
    if (yych == 'c') goto yy577;
6457
54
    goto yy48;
6458
7.44k
yy490:
6459
7.44k
    YYDEBUG(490, *YYCURSOR);
6460
7.44k
    yyaccept = 4;
6461
7.44k
    yych = *(YYMARKER = ++YYCURSOR);
6462
7.44k
    if (yych == 'R') goto yy578;
6463
2.82k
    if (yych == 'r') goto yy578;
6464
201
    goto yy48;
6465
2.76k
yy491:
6466
2.76k
    YYDEBUG(491, *YYCURSOR);
6467
2.76k
    yyaccept = 41;
6468
2.76k
    yych = *(YYMARKER = ++YYCURSOR);
6469
2.76k
    if (yybm[256+yych] & 128) {
6470
100
      goto yy47;
6471
100
    }
6472
2.66k
    if (yych == '\\') goto yy164;
6473
2.66k
yy492:
6474
2.66k
    YYDEBUG(492, *YYCURSOR);
6475
2.66k
    yyleng = YYCURSOR - SCNG(yy_text);
6476
2.66k
#line 1462 "Zend/zend_language_scanner.l"
6477
2.66k
    {
6478
2.66k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6479
2.66k
}
6480
0
#line 6481 "Zend/zend_language_scanner.c"
6481
1.88k
yy493:
6482
1.88k
    YYDEBUG(493, *YYCURSOR);
6483
1.88k
    yyaccept = 4;
6484
1.88k
    yych = *(YYMARKER = ++YYCURSOR);
6485
1.88k
    if (yych == 'I') goto yy580;
6486
463
    if (yych == 'i') goto yy580;
6487
84
    goto yy48;
6488
2.90k
yy494:
6489
2.90k
    YYDEBUG(494, *YYCURSOR);
6490
2.90k
    yyaccept = 4;
6491
2.90k
    yych = *(YYMARKER = ++YYCURSOR);
6492
2.90k
    if (yych == 'I') goto yy581;
6493
1.37k
    if (yych == 'i') goto yy581;
6494
47
    goto yy48;
6495
446k
yy495:
6496
446k
    YYDEBUG(495, *YYCURSOR);
6497
446k
    ++YYCURSOR;
6498
446k
    YYFILL(10);
6499
446k
    yych = *YYCURSOR;
6500
446k
    YYDEBUG(496, *YYCURSOR);
6501
446k
    if (yych <= 'E') {
6502
431k
      if (yych <= ' ') {
6503
37.2k
        if (yych <= '\f') {
6504
7.93k
          if (yych <= 0x08) goto yy86;
6505
7.43k
          if (yych <= '\n') goto yy495;
6506
225
          goto yy86;
6507
29.3k
        } else {
6508
29.3k
          if (yych <= '\r') goto yy495;
6509
2.20k
          if (yych <= 0x1F) goto yy86;
6510
1.85k
          goto yy495;
6511
2.20k
        }
6512
394k
      } else {
6513
394k
        if (yych <= '.') {
6514
351k
          if (yych != '#') goto yy86;
6515
351k
        } else {
6516
42.9k
          if (yych <= '/') goto yy498;
6517
3.43k
          if (yych <= '@') goto yy86;
6518
662
          if (yych <= 'D') goto yy582;
6519
362
          goto yy584;
6520
662
        }
6521
394k
      }
6522
431k
    } else {
6523
14.6k
      if (yych <= '`') {
6524
2.07k
        if (yych <= 'Z') {
6525
1.50k
          if (yych == 'I') goto yy585;
6526
1.42k
          goto yy582;
6527
1.50k
        } else {
6528
568
          if (yych == '_') goto yy582;
6529
299
          goto yy86;
6530
568
        }
6531
12.5k
      } else {
6532
12.5k
        if (yych <= 'h') {
6533
3.26k
          if (yych == 'e') goto yy584;
6534
245
          goto yy582;
6535
9.33k
        } else {
6536
9.33k
          if (yych <= 'i') goto yy585;
6537
5.72k
          if (yych <= 'z') goto yy582;
6538
4.56k
          if (yych <= 0x7F) goto yy86;
6539
1.55k
          goto yy582;
6540
4.56k
        }
6541
12.5k
      }
6542
14.6k
    }
6543
344k
yy497:
6544
344k
    YYDEBUG(497, *YYCURSOR);
6545
344k
    ++YYCURSOR;
6546
344k
    YYFILL(1);
6547
344k
    yych = *YYCURSOR;
6548
344k
    if (yych <= '\f') {
6549
262k
      if (yych <= 0x00) goto yy86;
6550
261k
      if (yych == '\n') goto yy588;
6551
3.78k
      goto yy586;
6552
261k
    } else {
6553
82.3k
      if (yych <= '\r') goto yy588;
6554
56.1k
      if (yych == '[') goto yy86;
6555
56.0k
      goto yy586;
6556
56.1k
    }
6557
39.6k
yy498:
6558
39.6k
    YYDEBUG(498, *YYCURSOR);
6559
39.6k
    ++YYCURSOR;
6560
39.6k
    YYFILL(1);
6561
39.6k
    yych = *YYCURSOR;
6562
39.6k
    if (yych == '*') goto yy590;
6563
20.3k
    if (yych == '/') goto yy586;
6564
2.52k
    goto yy86;
6565
5.87k
yy499:
6566
5.87k
    YYDEBUG(499, *YYCURSOR);
6567
5.87k
    yyaccept = 4;
6568
5.87k
    yych = *(YYMARKER = ++YYCURSOR);
6569
5.87k
    if (yych == 'D') goto yy592;
6570
3.74k
    if (yych == 'd') goto yy592;
6571
2.23k
    goto yy48;
6572
7.27k
yy500:
6573
7.27k
    YYDEBUG(500, *YYCURSOR);
6574
7.27k
    yyaccept = 42;
6575
7.27k
    yych = *(YYMARKER = ++YYCURSOR);
6576
7.27k
    if (yych <= '\\') {
6577
6.68k
      if (yych <= 'K') {
6578
5.11k
        if (yych <= '/') goto yy501;
6579
51
        if (yych <= '9') goto yy47;
6580
42
        if (yych >= 'A') goto yy47;
6581
1.56k
      } else {
6582
1.56k
        if (yych <= 'L') goto yy593;
6583
76
        if (yych <= 'Z') goto yy47;
6584
51
        if (yych >= '\\') goto yy164;
6585
51
      }
6586
6.68k
    } else {
6587
592
      if (yych <= 'k') {
6588
16
        if (yych == '_') goto yy47;
6589
16
        if (yych >= 'a') goto yy47;
6590
576
      } else {
6591
576
        if (yych <= 'l') goto yy593;
6592
166
        if (yych <= 'z') goto yy47;
6593
0
        if (yych >= 0x80) goto yy47;
6594
0
      }
6595
592
    }
6596
5.07k
yy501:
6597
5.07k
    YYDEBUG(501, *YYCURSOR);
6598
5.07k
    yyleng = YYCURSOR - SCNG(yy_text);
6599
5.07k
#line 1774 "Zend/zend_language_scanner.l"
6600
5.07k
    {
6601
5.07k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6602
5.07k
}
6603
0
#line 6604 "Zend/zend_language_scanner.c"
6604
4.92k
yy502:
6605
4.92k
    YYDEBUG(502, *YYCURSOR);
6606
4.92k
    yyaccept = 4;
6607
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
6608
4.92k
    if (yych == 'C') goto yy594;
6609
3.49k
    if (yych == 'c') goto yy594;
6610
61
    goto yy48;
6611
10.5k
yy503:
6612
10.5k
    YYDEBUG(503, *YYCURSOR);
6613
10.5k
    yyaccept = 4;
6614
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
6615
10.5k
    if (yych == 'I') goto yy595;
6616
10.0k
    if (yych == 'i') goto yy595;
6617
1.74k
    goto yy48;
6618
5.26k
yy504:
6619
5.26k
    YYDEBUG(504, *YYCURSOR);
6620
5.26k
    yyaccept = 4;
6621
5.26k
    yych = *(YYMARKER = ++YYCURSOR);
6622
5.26k
    if (yych == 'L') goto yy596;
6623
1.27k
    if (yych == 'l') goto yy596;
6624
53
    goto yy48;
6625
17.6k
yy505:
6626
17.6k
    YYDEBUG(505, *YYCURSOR);
6627
17.6k
    yyaccept = 4;
6628
17.6k
    yych = *(YYMARKER = ++YYCURSOR);
6629
17.6k
    if (yych == 'M') goto yy598;
6630
12.9k
    if (yych == 'm') goto yy598;
6631
4.33k
    goto yy48;
6632
5.84k
yy506:
6633
5.84k
    YYDEBUG(506, *YYCURSOR);
6634
5.84k
    yyaccept = 4;
6635
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
6636
5.84k
    if (yych == 'D') goto yy599;
6637
3.98k
    if (yych == 'd') goto yy599;
6638
330
    goto yy48;
6639
3.87k
yy507:
6640
3.87k
    YYDEBUG(507, *YYCURSOR);
6641
3.87k
    yyaccept = 4;
6642
3.87k
    yych = *(YYMARKER = ++YYCURSOR);
6643
3.87k
    if (yych == 'N') goto yy600;
6644
1.78k
    if (yych == 'n') goto yy600;
6645
42
    goto yy48;
6646
4.02k
yy508:
6647
4.02k
    YYDEBUG(508, *YYCURSOR);
6648
4.02k
    yyaccept = 4;
6649
4.02k
    yych = *(YYMARKER = ++YYCURSOR);
6650
4.02k
    if (yych == 'A') goto yy601;
6651
2.27k
    if (yych == 'a') goto yy601;
6652
20
    goto yy48;
6653
4.31k
yy509:
6654
4.31k
    YYDEBUG(509, *YYCURSOR);
6655
4.31k
    yyaccept = 4;
6656
4.31k
    yych = *(YYMARKER = ++YYCURSOR);
6657
4.31k
    if (yych == 'F') goto yy602;
6658
2.62k
    if (yych == 'f') goto yy602;
6659
645
    goto yy48;
6660
2.43k
yy510:
6661
2.43k
    YYDEBUG(510, *YYCURSOR);
6662
2.43k
    yyaccept = 43;
6663
2.43k
    yych = *(YYMARKER = ++YYCURSOR);
6664
2.43k
    if (yybm[256+yych] & 128) {
6665
0
      goto yy47;
6666
0
    }
6667
2.43k
    if (yych == '\\') goto yy164;
6668
2.33k
yy511:
6669
2.33k
    YYDEBUG(511, *YYCURSOR);
6670
2.33k
    yyleng = YYCURSOR - SCNG(yy_text);
6671
2.33k
#line 1754 "Zend/zend_language_scanner.l"
6672
2.33k
    {
6673
2.33k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6674
2.33k
}
6675
0
#line 6676 "Zend/zend_language_scanner.c"
6676
154
yy512:
6677
154
    YYDEBUG(512, *YYCURSOR);
6678
154
    yyaccept = 44;
6679
154
    yych = *(YYMARKER = ++YYCURSOR);
6680
154
    if (yybm[256+yych] & 128) {
6681
2
      goto yy47;
6682
2
    }
6683
152
    if (yych == '\\') goto yy164;
6684
152
yy513:
6685
152
    YYDEBUG(513, *YYCURSOR);
6686
152
    yyleng = YYCURSOR - SCNG(yy_text);
6687
152
#line 1518 "Zend/zend_language_scanner.l"
6688
152
    {
6689
152
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6690
152
}
6691
0
#line 6692 "Zend/zend_language_scanner.c"
6692
5.48k
yy514:
6693
5.48k
    YYDEBUG(514, *YYCURSOR);
6694
5.48k
    yyaccept = 4;
6695
5.48k
    yych = *(YYMARKER = ++YYCURSOR);
6696
5.48k
    if (yych == 'P') goto yy603;
6697
4.53k
    if (yych == 'p') goto yy603;
6698
1.01k
    goto yy48;
6699
3.75k
yy515:
6700
3.75k
    YYDEBUG(515, *YYCURSOR);
6701
3.75k
    yyaccept = 45;
6702
3.75k
    yych = *(YYMARKER = ++YYCURSOR);
6703
3.75k
    if (yybm[256+yych] & 128) {
6704
1.19k
      goto yy47;
6705
1.19k
    }
6706
2.55k
    if (yych == '\\') goto yy164;
6707
2.55k
yy516:
6708
2.55k
    YYDEBUG(516, *YYCURSOR);
6709
2.55k
    yyleng = YYCURSOR - SCNG(yy_text);
6710
2.55k
#line 1550 "Zend/zend_language_scanner.l"
6711
2.55k
    {
6712
2.55k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6713
2.55k
}
6714
0
#line 6715 "Zend/zend_language_scanner.c"
6715
7.03k
yy517:
6716
7.03k
    YYDEBUG(517, *YYCURSOR);
6717
7.03k
    yyaccept = 4;
6718
7.03k
    yych = *(YYMARKER = ++YYCURSOR);
6719
7.03k
    if (yych == 'T') goto yy604;
6720
2.70k
    if (yych == 't') goto yy604;
6721
399
    goto yy48;
6722
3.71k
yy518:
6723
3.71k
    YYDEBUG(518, *YYCURSOR);
6724
3.71k
    yyaccept = 4;
6725
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
6726
3.71k
    if (yych == 'C') goto yy605;
6727
1.68k
    if (yych == 'c') goto yy605;
6728
0
    goto yy48;
6729
12.2k
yy519:
6730
12.2k
    YYDEBUG(519, *YYCURSOR);
6731
12.2k
    yyaccept = 4;
6732
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
6733
12.2k
    if (yych == 'C') goto yy606;
6734
9.67k
    if (yych == 'c') goto yy606;
6735
118
    goto yy48;
6736
1.21k
yy520:
6737
1.21k
    YYDEBUG(520, *YYCURSOR);
6738
1.21k
    yyaccept = 4;
6739
1.21k
    yych = *(YYMARKER = ++YYCURSOR);
6740
1.21k
    if (yych == 'N') goto yy608;
6741
1.08k
    if (yych == 'n') goto yy608;
6742
528
    goto yy48;
6743
6.50k
yy521:
6744
6.50k
    YYDEBUG(521, *YYCURSOR);
6745
6.50k
    yyaccept = 4;
6746
6.50k
    yych = *(YYMARKER = ++YYCURSOR);
6747
6.50k
    if (yych == 'R') goto yy609;
6748
4.40k
    if (yych == 'r') goto yy609;
6749
104
    goto yy48;
6750
5.63k
yy522:
6751
5.63k
    YYDEBUG(522, *YYCURSOR);
6752
5.63k
    yyaccept = 4;
6753
5.63k
    yych = *(YYMARKER = ++YYCURSOR);
6754
5.63k
    if (yych == 'N') goto yy610;
6755
4.42k
    if (yych == 'n') goto yy610;
6756
175
    goto yy48;
6757
6.51k
yy523:
6758
6.51k
    YYDEBUG(523, *YYCURSOR);
6759
6.51k
    yyaccept = 4;
6760
6.51k
    yych = *(YYMARKER = ++YYCURSOR);
6761
6.51k
    if (yych == 'C') goto yy612;
6762
2.92k
    if (yych == 'c') goto yy612;
6763
304
    goto yy48;
6764
1.27k
yy524:
6765
1.27k
    YYDEBUG(524, *YYCURSOR);
6766
1.27k
    yyaccept = 4;
6767
1.27k
    yych = *(YYMARKER = ++YYCURSOR);
6768
1.27k
    if (yych == 'H') goto yy614;
6769
548
    if (yych == 'h') goto yy614;
6770
9
    goto yy48;
6771
2.51k
yy525:
6772
2.51k
    YYDEBUG(525, *YYCURSOR);
6773
2.51k
    yyaccept = 46;
6774
2.51k
    yych = *(YYMARKER = ++YYCURSOR);
6775
2.51k
    if (yybm[256+yych] & 128) {
6776
229
      goto yy47;
6777
229
    }
6778
2.28k
    if (yych == '\\') goto yy164;
6779
2.28k
yy526:
6780
2.28k
    YYDEBUG(526, *YYCURSOR);
6781
2.28k
    yyleng = YYCURSOR - SCNG(yy_text);
6782
2.28k
#line 1450 "Zend/zend_language_scanner.l"
6783
2.28k
    {
6784
2.28k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6785
2.28k
}
6786
0
#line 6787 "Zend/zend_language_scanner.c"
6787
2.87k
yy527:
6788
2.87k
    YYDEBUG(527, *YYCURSOR);
6789
2.87k
    yyaccept = 47;
6790
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
6791
2.87k
    if (yybm[256+yych] & 128) {
6792
419
      goto yy47;
6793
419
    }
6794
2.45k
    if (yych == '\\') goto yy164;
6795
2.30k
yy528:
6796
2.30k
    YYDEBUG(528, *YYCURSOR);
6797
2.30k
    yyleng = YYCURSOR - SCNG(yy_text);
6798
2.30k
#line 1562 "Zend/zend_language_scanner.l"
6799
2.30k
    {
6800
2.30k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6801
2.30k
}
6802
0
#line 6803 "Zend/zend_language_scanner.c"
6803
2.35k
yy529:
6804
2.35k
    YYDEBUG(529, *YYCURSOR);
6805
2.35k
    yyaccept = 48;
6806
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
6807
2.35k
    if (yybm[256+yych] & 128) {
6808
105
      goto yy47;
6809
105
    }
6810
2.24k
    if (yych == '\\') goto yy164;
6811
2.24k
yy530:
6812
2.24k
    YYDEBUG(530, *YYCURSOR);
6813
2.24k
    yyleng = YYCURSOR - SCNG(yy_text);
6814
2.24k
#line 1806 "Zend/zend_language_scanner.l"
6815
2.24k
    {
6816
2.24k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6817
2.24k
}
6818
0
#line 6819 "Zend/zend_language_scanner.c"
6819
1.74k
yy531:
6820
1.74k
    YYDEBUG(531, *YYCURSOR);
6821
1.74k
    yyaccept = 49;
6822
1.74k
    yych = *(YYMARKER = ++YYCURSOR);
6823
1.74k
    if (yybm[256+yych] & 128) {
6824
0
      goto yy47;
6825
0
    }
6826
1.74k
    if (yych == '\\') goto yy164;
6827
1.74k
yy532:
6828
1.74k
    YYDEBUG(532, *YYCURSOR);
6829
1.74k
    yyleng = YYCURSOR - SCNG(yy_text);
6830
1.74k
#line 1470 "Zend/zend_language_scanner.l"
6831
1.74k
    {
6832
1.74k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6833
1.74k
}
6834
0
#line 6835 "Zend/zend_language_scanner.c"
6835
68.1k
yy533:
6836
68.1k
    YYDEBUG(533, *YYCURSOR);
6837
68.1k
    yyaccept = 50;
6838
68.1k
    yych = *(YYMARKER = ++YYCURSOR);
6839
68.1k
    if (yybm[256+yych] & 128) {
6840
332
      goto yy47;
6841
332
    }
6842
67.8k
    if (yych <= ' ') {
6843
6.95k
      if (yych <= '\f') {
6844
4.02k
        if (yych <= 0x08) goto yy534;
6845
1.18k
        if (yych <= '\n') goto yy616;
6846
2.92k
      } else {
6847
2.92k
        if (yych <= '\r') goto yy616;
6848
2.35k
        if (yych >= ' ') goto yy616;
6849
2.35k
      }
6850
60.8k
    } else {
6851
60.8k
      if (yych <= '.') {
6852
59.8k
        if (yych == '#') goto yy618;
6853
59.8k
      } else {
6854
1.00k
        if (yych <= '/') goto yy619;
6855
927
        if (yych == '\\') goto yy164;
6856
927
      }
6857
60.8k
    }
6858
62.3k
yy534:
6859
62.3k
    YYDEBUG(534, *YYCURSOR);
6860
62.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6861
62.3k
#line 1434 "Zend/zend_language_scanner.l"
6862
62.3k
    {
6863
62.3k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6864
62.3k
}
6865
0
#line 6866 "Zend/zend_language_scanner.c"
6866
2.62k
yy535:
6867
2.62k
    YYDEBUG(535, *YYCURSOR);
6868
2.62k
    yyaccept = 4;
6869
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
6870
2.62k
    if (yych == 'S') goto yy620;
6871
108
    if (yych == 's') goto yy620;
6872
106
    goto yy48;
6873
4.36k
yy536:
6874
4.36k
    YYDEBUG(536, *YYCURSOR);
6875
4.36k
    yyaccept = 4;
6876
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
6877
4.36k
    if (yych == '_') goto yy621;
6878
53
    goto yy48;
6879
2.35k
yy537:
6880
2.35k
    YYDEBUG(537, *YYCURSOR);
6881
2.35k
    yyaccept = 4;
6882
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
6883
2.35k
    if (yych == 'E') goto yy622;
6884
25
    if (yych == 'e') goto yy622;
6885
25
    goto yy48;
6886
4.09k
yy538:
6887
4.09k
    YYDEBUG(538, *YYCURSOR);
6888
4.09k
    yyaccept = 4;
6889
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
6890
4.09k
    if (yych == 'C') goto yy623;
6891
355
    if (yych == 'c') goto yy623;
6892
299
    goto yy48;
6893
354
yy539:
6894
354
    YYDEBUG(539, *YYCURSOR);
6895
354
    yyaccept = 4;
6896
354
    yych = *(YYMARKER = ++YYCURSOR);
6897
354
    if (yych == 'T') goto yy624;
6898
237
    if (yych == 't') goto yy624;
6899
179
    goto yy48;
6900
2.37k
yy540:
6901
2.37k
    YYDEBUG(540, *YYCURSOR);
6902
2.37k
    yyaccept = 4;
6903
2.37k
    yych = *(YYMARKER = ++YYCURSOR);
6904
2.37k
    if (yych == 'E') goto yy625;
6905
42
    if (yych == 'e') goto yy625;
6906
42
    goto yy48;
6907
3.56k
yy541:
6908
3.56k
    YYDEBUG(541, *YYCURSOR);
6909
3.56k
    yyaccept = 4;
6910
3.56k
    yych = *(YYMARKER = ++YYCURSOR);
6911
3.56k
    if (yych == 'H') goto yy626;
6912
598
    if (yych == 'h') goto yy626;
6913
205
    goto yy48;
6914
3.62k
yy542:
6915
3.62k
    YYDEBUG(542, *YYCURSOR);
6916
3.62k
    yyaccept = 4;
6917
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
6918
3.62k
    if (yych == 'E') goto yy627;
6919
339
    if (yych == 'e') goto yy627;
6920
0
    goto yy48;
6921
446
yy543:
6922
446
    YYDEBUG(543, *YYCURSOR);
6923
446
    yyaccept = 4;
6924
446
    yych = *(YYMARKER = ++YYCURSOR);
6925
446
    if (yych == 'P') goto yy628;
6926
91
    if (yych == 'p') goto yy628;
6927
32
    goto yy48;
6928
2.64k
yy544:
6929
2.64k
    YYDEBUG(544, *YYCURSOR);
6930
2.64k
    yyaccept = 4;
6931
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
6932
2.64k
    if (yych == 'I') goto yy629;
6933
508
    if (yych == 'i') goto yy629;
6934
381
    goto yy48;
6935
191k
yy545:
6936
191k
    YYDEBUG(545, *YYCURSOR);
6937
191k
    ++YYCURSOR;
6938
191k
    YYFILL(1);
6939
191k
    yych = *YYCURSOR;
6940
191k
    YYDEBUG(546, *YYCURSOR);
6941
191k
    if (yybm[0+yych] & 64) {
6942
84
      goto yy355;
6943
84
    }
6944
191k
    if (yych <= ' ') {
6945
30.9k
      if (yych <= '\n') {
6946
1.78k
        if (yych <= 0x00) goto yy86;
6947
1.38k
        if (yych <= 0x08) goto yy230;
6948
1.26k
        goto yy545;
6949
29.2k
      } else {
6950
29.2k
        if (yych == '\r') goto yy545;
6951
4.46k
        if (yych <= 0x1F) goto yy230;
6952
3.11k
        goto yy545;
6953
4.46k
      }
6954
160k
    } else {
6955
160k
      if (yych <= '$') {
6956
100k
        if (yych <= '"') goto yy230;
6957
100k
        if (yych <= '#') goto yy630;
6958
5.61k
        goto yy631;
6959
100k
      } else {
6960
59.9k
        if (yych <= '-') goto yy230;
6961
49.9k
        if (yych <= '.') goto yy632;
6962
49.7k
        if (yych <= '/') goto yy633;
6963
10.9k
        goto yy230;
6964
49.7k
      }
6965
160k
    }
6966
29.7k
yy547:
6967
29.7k
    YYDEBUG(547, *YYCURSOR);
6968
29.7k
    ++YYCURSOR;
6969
29.7k
    YYFILL(1);
6970
29.7k
    yych = *YYCURSOR;
6971
29.7k
    YYDEBUG(548, *YYCURSOR);
6972
29.7k
    if (yych <= '\r') {
6973
1.59k
      if (yych <= '\t') {
6974
210
        if (yych <= 0x00) goto yy86;
6975
193
        goto yy443;
6976
1.38k
      } else {
6977
1.38k
        if (yych <= '\n') goto yy545;
6978
1.07k
        if (yych <= '\f') goto yy443;
6979
1.07k
        goto yy545;
6980
1.07k
      }
6981
28.1k
    } else {
6982
28.1k
      if (yych <= '*') {
6983
13.2k
        if (yych <= ')') goto yy443;
6984
46
        goto yy547;
6985
14.9k
      } else {
6986
14.9k
        if (yych == '/') goto yy227;
6987
1.63k
        goto yy443;
6988
14.9k
      }
6989
28.1k
    }
6990
16.1k
yy549:
6991
16.1k
    YYDEBUG(549, *YYCURSOR);
6992
16.1k
    ++YYCURSOR;
6993
16.1k
    YYFILL(1);
6994
16.1k
    yych = *YYCURSOR;
6995
16.1k
    YYDEBUG(550, *YYCURSOR);
6996
16.1k
    if (yych <= 0x1F) {
6997
108
      if (yych == '\t') goto yy549;
6998
101
      goto yy86;
6999
16.0k
    } else {
7000
16.0k
      if (yych <= ' ') goto yy549;
7001
16.0k
      if (yych == ')') goto yy634;
7002
15.9k
      goto yy86;
7003
16.0k
    }
7004
0
yy551:
7005
0
    YYDEBUG(551, *YYCURSOR);
7006
0
    yych = *++YYCURSOR;
7007
0
    if (yych == 'Y') goto yy636;
7008
0
    if (yych == 'y') goto yy636;
7009
0
    goto yy86;
7010
0
yy552:
7011
0
    YYDEBUG(552, *YYCURSOR);
7012
0
    ++YYCURSOR;
7013
0
    YYFILL(1);
7014
0
    yych = *YYCURSOR;
7015
44
yy553:
7016
44
    YYDEBUG(553, *YYCURSOR);
7017
44
    if (yych <= 0x1F) {
7018
0
      if (yych == '\t') goto yy552;
7019
0
      goto yy86;
7020
44
    } else {
7021
44
      if (yych <= ' ') goto yy552;
7022
44
      if (yych != ')') goto yy86;
7023
44
    }
7024
43
    YYDEBUG(554, *YYCURSOR);
7025
43
    ++YYCURSOR;
7026
43
    YYDEBUG(555, *YYCURSOR);
7027
43
    yyleng = YYCURSOR - SCNG(yy_text);
7028
43
#line 1696 "Zend/zend_language_scanner.l"
7029
43
    {
7030
43
  RETURN_TOKEN(T_BOOL_CAST);
7031
43
}
7032
0
#line 7033 "Zend/zend_language_scanner.c"
7033
674
yy556:
7034
674
    YYDEBUG(556, *YYCURSOR);
7035
674
    yych = *++YYCURSOR;
7036
674
    if (yych == 'A') goto yy638;
7037
28
    if (yych == 'a') goto yy638;
7038
0
    goto yy86;
7039
346
yy557:
7040
346
    YYDEBUG(557, *YYCURSOR);
7041
346
    yych = *++YYCURSOR;
7042
346
    if (yych == 'E') goto yy639;
7043
342
    if (yych == 'e') goto yy639;
7044
26
    goto yy86;
7045
983
yy558:
7046
983
    YYDEBUG(558, *YYCURSOR);
7047
983
    ++YYCURSOR;
7048
983
    YYFILL(1);
7049
983
    yych = *YYCURSOR;
7050
983
    YYDEBUG(559, *YYCURSOR);
7051
983
    if (yych <= 0x1F) {
7052
53
      if (yych == '\t') goto yy558;
7053
0
      goto yy86;
7054
930
    } else {
7055
930
      if (yych <= ' ') goto yy558;
7056
930
      if (yych == ')') goto yy641;
7057
53
      goto yy86;
7058
930
    }
7059
302
yy560:
7060
302
    YYDEBUG(560, *YYCURSOR);
7061
302
    yych = *++YYCURSOR;
7062
302
    if (yych == 'E') goto yy643;
7063
167
    if (yych == 'e') goto yy643;
7064
84
    goto yy86;
7065
682
yy561:
7066
682
    YYDEBUG(561, *YYCURSOR);
7067
682
    yych = *++YYCURSOR;
7068
682
    if (yych == 'T') goto yy644;
7069
667
    if (yych == 't') goto yy644;
7070
55
    goto yy86;
7071
408
yy562:
7072
408
    YYDEBUG(562, *YYCURSOR);
7073
408
    ++YYCURSOR;
7074
408
    YYDEBUG(563, *YYCURSOR);
7075
408
    yyleng = YYCURSOR - SCNG(yy_text);
7076
408
#line 1666 "Zend/zend_language_scanner.l"
7077
408
    {
7078
408
  if (PARSER_MODE()) {
7079
0
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7080
0
    RETURN_TOKEN(T_ERROR);
7081
0
  }
7082
408
  RETURN_TOKEN(T_DOUBLE_CAST);
7083
408
}
7084
0
#line 7085 "Zend/zend_language_scanner.c"
7085
474
yy564:
7086
474
    YYDEBUG(564, *YYCURSOR);
7087
474
    yych = *++YYCURSOR;
7088
474
    if (yych == 'G') goto yy646;
7089
474
    if (yych == 'g') goto yy646;
7090
228
    goto yy86;
7091
298
yy565:
7092
298
    YYDEBUG(565, *YYCURSOR);
7093
298
    ++YYCURSOR;
7094
298
    YYFILL(1);
7095
298
    yych = *YYCURSOR;
7096
298
    YYDEBUG(566, *YYCURSOR);
7097
298
    if (yych <= 0x1F) {
7098
66
      if (yych == '\t') goto yy565;
7099
66
      goto yy86;
7100
232
    } else {
7101
232
      if (yych <= ' ') goto yy565;
7102
86
      if (yych == ')') goto yy648;
7103
83
      goto yy86;
7104
86
    }
7105
884
yy567:
7106
884
    YYDEBUG(567, *YYCURSOR);
7107
884
    ++YYCURSOR;
7108
884
    YYDEBUG(568, *YYCURSOR);
7109
884
    yyleng = YYCURSOR - SCNG(yy_text);
7110
884
#line 1714 "Zend/zend_language_scanner.l"
7111
884
    {
7112
884
  RETURN_TOKEN(T_VOID_CAST);
7113
884
}
7114
0
#line 7115 "Zend/zend_language_scanner.c"
7115
4.74k
yy569:
7116
4.74k
    YYDEBUG(569, *YYCURSOR);
7117
4.74k
    yych = *++YYCURSOR;
7118
4.74k
    if (yych == '\n') goto yy466;
7119
164
    if (yych == '\r') goto yy468;
7120
131
    goto yy86;
7121
4.70k
yy570:
7122
4.70k
    YYDEBUG(570, *YYCURSOR);
7123
4.70k
    yyaccept = 4;
7124
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
7125
4.70k
    if (yych == 'C') goto yy650;
7126
1.59k
    if (yych == 'c') goto yy650;
7127
0
    goto yy48;
7128
2.06k
yy571:
7129
2.06k
    YYDEBUG(571, *YYCURSOR);
7130
2.06k
    yyaccept = 4;
7131
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
7132
2.06k
    if (yych == 'L') goto yy651;
7133
93
    if (yych == 'l') goto yy651;
7134
0
    goto yy48;
7135
1.53k
yy572:
7136
1.53k
    YYDEBUG(572, *YYCURSOR);
7137
1.53k
    yyaccept = 4;
7138
1.53k
    yych = *(YYMARKER = ++YYCURSOR);
7139
1.53k
    if (yych == 'U') goto yy652;
7140
915
    if (yych == 'u') goto yy652;
7141
170
    goto yy48;
7142
2.10k
yy573:
7143
2.10k
    YYDEBUG(573, *YYCURSOR);
7144
2.10k
    yyaccept = 4;
7145
2.10k
    yych = *(YYMARKER = ++YYCURSOR);
7146
2.10k
    if (yych == 'E') goto yy653;
7147
745
    if (yych == 'e') goto yy653;
7148
18
    goto yy48;
7149
1.97k
yy574:
7150
1.97k
    YYDEBUG(574, *YYCURSOR);
7151
1.97k
    yyaccept = 4;
7152
1.97k
    yych = *(YYMARKER = ++YYCURSOR);
7153
1.97k
    if (yych == 'T') goto yy655;
7154
855
    if (yych == 't') goto yy655;
7155
104
    goto yy48;
7156
1.84k
yy575:
7157
1.84k
    YYDEBUG(575, *YYCURSOR);
7158
1.84k
    yyaccept = 51;
7159
1.84k
    yych = *(YYMARKER = ++YYCURSOR);
7160
1.84k
    if (yybm[256+yych] & 128) {
7161
0
      goto yy47;
7162
0
    }
7163
1.84k
    if (yych == '\\') goto yy164;
7164
1.84k
yy576:
7165
1.84k
    YYDEBUG(576, *YYCURSOR);
7166
1.84k
    yyleng = YYCURSOR - SCNG(yy_text);
7167
1.84k
#line 1458 "Zend/zend_language_scanner.l"
7168
1.84k
    {
7169
1.84k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7170
1.84k
}
7171
0
#line 7172 "Zend/zend_language_scanner.c"
7172
3.85k
yy577:
7173
3.85k
    YYDEBUG(577, *YYCURSOR);
7174
3.85k
    yyaccept = 4;
7175
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
7176
3.85k
    if (yych == 'L') goto yy657;
7177
1.37k
    if (yych == 'l') goto yy657;
7178
0
    goto yy48;
7179
7.23k
yy578:
7180
7.23k
    YYDEBUG(578, *YYCURSOR);
7181
7.23k
    yyaccept = 52;
7182
7.23k
    yych = *(YYMARKER = ++YYCURSOR);
7183
7.23k
    if (yych <= '\\') {
7184
6.04k
      if (yych <= 'D') {
7185
3.91k
        if (yych <= '/') goto yy579;
7186
145
        if (yych <= '9') goto yy47;
7187
136
        if (yych >= 'A') goto yy47;
7188
2.13k
      } else {
7189
2.13k
        if (yych <= 'E') goto yy658;
7190
39
        if (yych <= 'Z') goto yy47;
7191
35
        if (yych >= '\\') goto yy164;
7192
35
      }
7193
6.04k
    } else {
7194
1.19k
      if (yych <= 'd') {
7195
4
        if (yych == '_') goto yy47;
7196
4
        if (yych >= 'a') goto yy47;
7197
1.19k
      } else {
7198
1.19k
        if (yych <= 'e') goto yy658;
7199
24
        if (yych <= 'z') goto yy47;
7200
4
        if (yych >= 0x80) goto yy47;
7201
4
      }
7202
1.19k
    }
7203
3.80k
yy579:
7204
3.80k
    YYDEBUG(579, *YYCURSOR);
7205
3.80k
    yyleng = YYCURSOR - SCNG(yy_text);
7206
3.80k
#line 1486 "Zend/zend_language_scanner.l"
7207
3.80k
    {
7208
3.80k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7209
3.80k
}
7210
0
#line 7211 "Zend/zend_language_scanner.c"
7211
1.79k
yy580:
7212
1.79k
    YYDEBUG(580, *YYCURSOR);
7213
1.79k
    yyaccept = 4;
7214
1.79k
    yych = *(YYMARKER = ++YYCURSOR);
7215
1.79k
    if (yych == 'T') goto yy659;
7216
386
    if (yych == 't') goto yy659;
7217
7
    goto yy48;
7218
2.85k
yy581:
7219
2.85k
    YYDEBUG(581, *YYCURSOR);
7220
2.85k
    yyaccept = 4;
7221
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
7222
2.85k
    if (yych == 'L') goto yy660;
7223
1.33k
    if (yych == 'l') goto yy660;
7224
2
    goto yy48;
7225
4.95k
yy582:
7226
4.95k
    YYDEBUG(582, *YYCURSOR);
7227
4.95k
    ++YYCURSOR;
7228
47.6k
yy583:
7229
47.6k
    YYDEBUG(583, *YYCURSOR);
7230
47.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7231
47.6k
#line 1574 "Zend/zend_language_scanner.l"
7232
47.6k
    {
7233
47.6k
  yyless(4);
7234
47.6k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7235
47.6k
}
7236
0
#line 7237 "Zend/zend_language_scanner.c"
7237
3.38k
yy584:
7238
3.38k
    YYDEBUG(584, *YYCURSOR);
7239
3.38k
    yyaccept = 53;
7240
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
7241
3.38k
    if (yych == 'X') goto yy661;
7242
3.38k
    if (yych == 'x') goto yy661;
7243
1.53k
    goto yy583;
7244
3.69k
yy585:
7245
3.69k
    YYDEBUG(585, *YYCURSOR);
7246
3.69k
    yyaccept = 53;
7247
3.69k
    yych = *(YYMARKER = ++YYCURSOR);
7248
3.69k
    if (yych == 'M') goto yy662;
7249
3.10k
    if (yych == 'm') goto yy662;
7250
252
    goto yy583;
7251
2.33M
yy586:
7252
2.33M
    YYDEBUG(586, *YYCURSOR);
7253
2.33M
    ++YYCURSOR;
7254
2.33M
    YYFILL(1);
7255
2.33M
    yych = *YYCURSOR;
7256
2.33M
    YYDEBUG(587, *YYCURSOR);
7257
2.33M
    if (yych <= '\n') {
7258
98.4k
      if (yych <= 0x00) goto yy86;
7259
90.8k
      if (yych <= '\t') goto yy586;
7260
41.4k
      goto yy495;
7261
2.23M
    } else {
7262
2.23M
      if (yych == '\r') goto yy495;
7263
2.05M
      goto yy586;
7264
2.23M
    }
7265
314k
yy588:
7266
314k
    YYDEBUG(588, *YYCURSOR);
7267
314k
    ++YYCURSOR;
7268
314k
    YYFILL(1);
7269
314k
    yych = *YYCURSOR;
7270
314k
    YYDEBUG(589, *YYCURSOR);
7271
314k
    if (yych <= 'D') {
7272
166k
      if (yych <= 0x1F) {
7273
29.8k
        if (yych <= '\t') {
7274
1.26k
          if (yych <= 0x00) goto yy86;
7275
1.00k
          if (yych <= 0x08) goto yy586;
7276
656
          goto yy588;
7277
28.5k
        } else {
7278
28.5k
          if (yych <= '\n') goto yy495;
7279
27.5k
          if (yych == '\r') goto yy495;
7280
2.42k
          goto yy586;
7281
27.5k
        }
7282
136k
      } else {
7283
136k
        if (yych <= '#') {
7284
15.6k
          if (yych <= ' ') goto yy588;
7285
15.4k
          if (yych <= '"') goto yy586;
7286
14.5k
          goto yy663;
7287
121k
        } else {
7288
121k
          if (yych == '/') goto yy664;
7289
5.07k
          if (yych <= '@') goto yy586;
7290
1.02k
          goto yy665;
7291
5.07k
        }
7292
136k
      }
7293
166k
    } else {
7294
147k
      if (yych <= '`') {
7295
5.52k
        if (yych <= 'I') {
7296
140
          if (yych <= 'E') goto yy666;
7297
18
          if (yych <= 'H') goto yy665;
7298
0
          goto yy667;
7299
5.38k
        } else {
7300
5.38k
          if (yych <= 'Z') goto yy665;
7301
824
          if (yych == '_') goto yy665;
7302
81
          goto yy586;
7303
824
        }
7304
142k
      } else {
7305
142k
        if (yych <= 'h') {
7306
66.5k
          if (yych == 'e') goto yy666;
7307
98
          goto yy665;
7308
75.8k
        } else {
7309
75.8k
          if (yych <= 'i') goto yy667;
7310
68.8k
          if (yych <= 'z') goto yy665;
7311
66.1k
          if (yych <= 0x7F) goto yy586;
7312
2.39k
          goto yy665;
7313
66.1k
        }
7314
142k
      }
7315
147k
    }
7316
3.74M
yy590:
7317
3.74M
    YYDEBUG(590, *YYCURSOR);
7318
3.74M
    ++YYCURSOR;
7319
3.74M
    YYFILL(1);
7320
3.74M
    yych = *YYCURSOR;
7321
3.74M
    YYDEBUG(591, *YYCURSOR);
7322
3.74M
    if (yych <= 0x00) goto yy86;
7323
3.74M
    if (yych == '*') goto yy668;
7324
3.64M
    goto yy590;
7325
3.64M
yy592:
7326
3.63k
    YYDEBUG(592, *YYCURSOR);
7327
3.63k
    yyaccept = 4;
7328
3.63k
    yych = *(YYMARKER = ++YYCURSOR);
7329
3.63k
    if (yych == 'S') goto yy670;
7330
1.56k
    if (yych == 's') goto yy670;
7331
177
    goto yy48;
7332
1.90k
yy593:
7333
1.90k
    YYDEBUG(593, *YYCURSOR);
7334
1.90k
    yyaccept = 4;
7335
1.90k
    yych = *(YYMARKER = ++YYCURSOR);
7336
1.90k
    if (yych == 'Y') goto yy672;
7337
410
    if (yych == 'y') goto yy672;
7338
17
    goto yy48;
7339
4.86k
yy594:
7340
4.86k
    YYDEBUG(594, *YYCURSOR);
7341
4.86k
    yyaccept = 4;
7342
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
7343
4.86k
    if (yych == 'H') goto yy674;
7344
3.43k
    if (yych == 'h') goto yy674;
7345
140
    goto yy48;
7346
8.79k
yy595:
7347
8.79k
    YYDEBUG(595, *YYCURSOR);
7348
8.79k
    yyaccept = 4;
7349
8.79k
    yych = *(YYMARKER = ++YYCURSOR);
7350
8.79k
    if (yych == 'O') goto yy676;
7351
8.27k
    if (yych == 'o') goto yy676;
7352
150
    goto yy48;
7353
5.21k
yy596:
7354
5.21k
    YYDEBUG(596, *YYCURSOR);
7355
5.21k
    yyaccept = 54;
7356
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
7357
5.21k
    if (yybm[256+yych] & 128) {
7358
1.57k
      goto yy47;
7359
1.57k
    }
7360
3.63k
    if (yych == '\\') goto yy164;
7361
3.28k
yy597:
7362
3.28k
    YYDEBUG(597, *YYCURSOR);
7363
3.28k
    yyleng = YYCURSOR - SCNG(yy_text);
7364
3.28k
#line 1750 "Zend/zend_language_scanner.l"
7365
3.28k
    {
7366
3.28k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7367
3.28k
}
7368
0
#line 7369 "Zend/zend_language_scanner.c"
7369
13.3k
yy598:
7370
13.3k
    YYDEBUG(598, *YYCURSOR);
7371
13.3k
    yyaccept = 4;
7372
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
7373
13.3k
    if (yych == 'E') goto yy677;
7374
3.60k
    if (yych == 'e') goto yy677;
7375
809
    goto yy48;
7376
5.51k
yy599:
7377
5.51k
    YYDEBUG(599, *YYCURSOR);
7378
5.51k
    yyaccept = 4;
7379
5.51k
    yych = *(YYMARKER = ++YYCURSOR);
7380
5.51k
    if (yych == 'E') goto yy678;
7381
3.65k
    if (yych == 'e') goto yy678;
7382
192
    goto yy48;
7383
3.83k
yy600:
7384
3.83k
    YYDEBUG(600, *YYCURSOR);
7385
3.83k
    yyaccept = 4;
7386
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
7387
3.83k
    if (yych == 'C') goto yy680;
7388
1.74k
    if (yych == 'c') goto yy680;
7389
0
    goto yy48;
7390
4.00k
yy601:
7391
4.00k
    YYDEBUG(601, *YYCURSOR);
7392
4.00k
    yyaccept = 4;
7393
4.00k
    yych = *(YYMARKER = ++YYCURSOR);
7394
4.00k
    if (yych == 'D') goto yy681;
7395
2.70k
    if (yych == 'd') goto yy681;
7396
456
    goto yy48;
7397
3.67k
yy602:
7398
3.67k
    YYDEBUG(602, *YYCURSOR);
7399
3.67k
    yyaccept = 4;
7400
3.67k
    yych = *(YYMARKER = ++YYCURSOR);
7401
3.67k
    if (yych == 'A') goto yy682;
7402
1.97k
    if (yych == 'a') goto yy682;
7403
3
    goto yy48;
7404
4.46k
yy603:
7405
4.46k
    YYDEBUG(603, *YYCURSOR);
7406
4.46k
    yyaccept = 4;
7407
4.46k
    yych = *(YYMARKER = ++YYCURSOR);
7408
4.46k
    if (yych == 'A') goto yy683;
7409
3.51k
    if (yych == 'a') goto yy683;
7410
189
    goto yy48;
7411
6.64k
yy604:
7412
6.64k
    YYDEBUG(604, *YYCURSOR);
7413
6.64k
    yyaccept = 4;
7414
6.64k
    yych = *(YYMARKER = ++YYCURSOR);
7415
6.64k
    if (yych == 'E') goto yy684;
7416
2.31k
    if (yych == 'e') goto yy684;
7417
215
    goto yy48;
7418
3.71k
yy605:
7419
3.71k
    YYDEBUG(605, *YYCURSOR);
7420
3.71k
    yyaccept = 4;
7421
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
7422
3.71k
    if (yych == 'T') goto yy686;
7423
1.68k
    if (yych == 't') goto yy686;
7424
4
    goto yy48;
7425
12.0k
yy606:
7426
12.0k
    YYDEBUG(606, *YYCURSOR);
7427
12.0k
    yyaccept = 55;
7428
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
7429
12.0k
    if (yybm[256+yych] & 128) {
7430
198
      goto yy47;
7431
198
    }
7432
11.9k
    if (yych == '(') goto yy687;
7433
11.7k
    if (yych == '\\') goto yy164;
7434
11.9k
yy607:
7435
11.9k
    YYDEBUG(607, *YYCURSOR);
7436
11.9k
    yyleng = YYCURSOR - SCNG(yy_text);
7437
11.9k
#line 1798 "Zend/zend_language_scanner.l"
7438
11.9k
    {
7439
11.9k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7440
11.9k
}
7441
0
#line 7442 "Zend/zend_language_scanner.c"
7442
691
yy608:
7443
691
    YYDEBUG(608, *YYCURSOR);
7444
691
    yyaccept = 4;
7445
691
    yych = *(YYMARKER = ++YYCURSOR);
7446
691
    if (yych == 'L') goto yy688;
7447
581
    if (yych == 'l') goto yy688;
7448
330
    goto yy48;
7449
6.40k
yy609:
7450
6.40k
    YYDEBUG(609, *YYCURSOR);
7451
6.40k
    yyaccept = 4;
7452
6.40k
    yych = *(YYMARKER = ++YYCURSOR);
7453
6.40k
    if (yych == 'E') goto yy689;
7454
4.29k
    if (yych == 'e') goto yy689;
7455
1.35k
    goto yy48;
7456
5.45k
yy610:
7457
5.45k
    YYDEBUG(610, *YYCURSOR);
7458
5.45k
    yyaccept = 56;
7459
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
7460
5.45k
    if (yybm[256+yych] & 128) {
7461
183
      goto yy47;
7462
183
    }
7463
5.27k
    if (yych == '\\') goto yy164;
7464
5.27k
yy611:
7465
5.27k
    YYDEBUG(611, *YYCURSOR);
7466
5.27k
    yyleng = YYCURSOR - SCNG(yy_text);
7467
5.27k
#line 1419 "Zend/zend_language_scanner.l"
7468
5.27k
    {
7469
5.27k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7470
5.27k
}
7471
0
#line 7472 "Zend/zend_language_scanner.c"
7472
6.21k
yy612:
7473
6.21k
    YYDEBUG(612, *YYCURSOR);
7474
6.21k
    yyaccept = 57;
7475
6.21k
    yych = *(YYMARKER = ++YYCURSOR);
7476
6.21k
    if (yybm[256+yych] & 128) {
7477
288
      goto yy47;
7478
288
    }
7479
5.92k
    if (yych == '\\') goto yy164;
7480
5.92k
yy613:
7481
5.92k
    YYDEBUG(613, *YYCURSOR);
7482
5.92k
    yyleng = YYCURSOR - SCNG(yy_text);
7483
5.92k
#line 1766 "Zend/zend_language_scanner.l"
7484
5.92k
    {
7485
5.92k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7486
5.92k
}
7487
0
#line 7488 "Zend/zend_language_scanner.c"
7488
1.26k
yy614:
7489
1.26k
    YYDEBUG(614, *YYCURSOR);
7490
1.26k
    yyaccept = 58;
7491
1.26k
    yych = *(YYMARKER = ++YYCURSOR);
7492
1.26k
    if (yybm[256+yych] & 128) {
7493
63
      goto yy47;
7494
63
    }
7495
1.20k
    if (yych == '\\') goto yy164;
7496
1.20k
yy615:
7497
1.20k
    YYDEBUG(615, *YYCURSOR);
7498
1.20k
    yyleng = YYCURSOR - SCNG(yy_text);
7499
1.20k
#line 1514 "Zend/zend_language_scanner.l"
7500
1.20k
    {
7501
1.20k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7502
1.20k
}
7503
0
#line 7504 "Zend/zend_language_scanner.c"
7504
334k
yy616:
7505
334k
    YYDEBUG(616, *YYCURSOR);
7506
334k
    ++YYCURSOR;
7507
334k
    YYFILL(5);
7508
334k
    yych = *YYCURSOR;
7509
334k
    YYDEBUG(617, *YYCURSOR);
7510
334k
    if (yych <= '"') {
7511
32.0k
      if (yych <= '\f') {
7512
2.73k
        if (yych <= 0x08) goto yy86;
7513
2.38k
        if (yych <= '\n') goto yy616;
7514
18
        goto yy86;
7515
29.3k
      } else {
7516
29.3k
        if (yych <= '\r') goto yy616;
7517
4.93k
        if (yych == ' ') goto yy616;
7518
521
        goto yy86;
7519
4.93k
      }
7520
302k
    } else {
7521
302k
      if (yych <= 'E') {
7522
281k
        if (yych <= '#') goto yy618;
7523
19.8k
        if (yych == '/') goto yy619;
7524
10.4k
        goto yy86;
7525
20.6k
      } else {
7526
20.6k
        if (yych <= 'F') goto yy691;
7527
20.2k
        if (yych == 'f') goto yy691;
7528
19.9k
        goto yy86;
7529
20.2k
      }
7530
302k
    }
7531
319k
yy618:
7532
319k
    YYDEBUG(618, *YYCURSOR);
7533
319k
    ++YYCURSOR;
7534
319k
    YYFILL(1);
7535
319k
    yych = *YYCURSOR;
7536
319k
    if (yych <= '\f') {
7537
232k
      if (yych <= 0x00) goto yy86;
7538
232k
      if (yych == '\n') goto yy694;
7539
45
      goto yy692;
7540
232k
    } else {
7541
87.1k
      if (yych <= '\r') goto yy694;
7542
68.2k
      if (yych == '[') goto yy86;
7543
68.2k
      goto yy692;
7544
68.2k
    }
7545
9.45k
yy619:
7546
9.45k
    YYDEBUG(619, *YYCURSOR);
7547
9.45k
    ++YYCURSOR;
7548
9.45k
    YYFILL(1);
7549
9.45k
    yych = *YYCURSOR;
7550
9.45k
    if (yych == '*') goto yy696;
7551
2.19k
    if (yych == '/') goto yy692;
7552
2.12k
    goto yy86;
7553
2.51k
yy620:
7554
2.51k
    YYDEBUG(620, *YYCURSOR);
7555
2.51k
    yyaccept = 4;
7556
2.51k
    yych = *(YYMARKER = ++YYCURSOR);
7557
2.51k
    if (yych == 'S') goto yy698;
7558
194
    if (yych == 's') goto yy698;
7559
192
    goto yy48;
7560
4.30k
yy621:
7561
4.30k
    YYDEBUG(621, *YYCURSOR);
7562
4.30k
    yyaccept = 4;
7563
4.30k
    yych = *(YYMARKER = ++YYCURSOR);
7564
4.30k
    if (yych == '_') goto yy699;
7565
168
    goto yy48;
7566
2.32k
yy622:
7567
2.32k
    YYDEBUG(622, *YYCURSOR);
7568
2.32k
    yyaccept = 4;
7569
2.32k
    yych = *(YYMARKER = ++YYCURSOR);
7570
2.32k
    if (yych == '_') goto yy701;
7571
4
    goto yy48;
7572
3.79k
yy623:
7573
3.79k
    YYDEBUG(623, *YYCURSOR);
7574
3.79k
    yyaccept = 4;
7575
3.79k
    yych = *(YYMARKER = ++YYCURSOR);
7576
3.79k
    if (yych == 'T') goto yy702;
7577
379
    if (yych == 't') goto yy702;
7578
277
    goto yy48;
7579
277
yy624:
7580
175
    YYDEBUG(624, *YYCURSOR);
7581
175
    yyaccept = 4;
7582
175
    yych = *(YYMARKER = ++YYCURSOR);
7583
175
    if (yych == '_') goto yy703;
7584
43
    goto yy48;
7585
2.33k
yy625:
7586
2.33k
    YYDEBUG(625, *YYCURSOR);
7587
2.33k
    yyaccept = 4;
7588
2.33k
    yych = *(YYMARKER = ++YYCURSOR);
7589
2.33k
    if (yych == '_') goto yy704;
7590
284
    goto yy48;
7591
3.36k
yy626:
7592
3.36k
    YYDEBUG(626, *YYCURSOR);
7593
3.36k
    yyaccept = 4;
7594
3.36k
    yych = *(YYMARKER = ++YYCURSOR);
7595
3.36k
    if (yych == 'O') goto yy705;
7596
592
    if (yych == 'o') goto yy705;
7597
7
    goto yy48;
7598
3.62k
yy627:
7599
3.62k
    YYDEBUG(627, *YYCURSOR);
7600
3.62k
    yyaccept = 4;
7601
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
7602
3.62k
    if (yych == 'S') goto yy706;
7603
339
    if (yych == 's') goto yy706;
7604
83
    goto yy48;
7605
414
yy628:
7606
414
    YYDEBUG(628, *YYCURSOR);
7607
414
    yyaccept = 4;
7608
414
    yych = *(YYMARKER = ++YYCURSOR);
7609
414
    if (yych == 'E') goto yy707;
7610
12
    if (yych == 'e') goto yy707;
7611
12
    goto yy48;
7612
2.26k
yy629:
7613
2.26k
    YYDEBUG(629, *YYCURSOR);
7614
2.26k
    yyaccept = 4;
7615
2.26k
    yych = *(YYMARKER = ++YYCURSOR);
7616
2.26k
    if (yych == 'T') goto yy708;
7617
127
    if (yych == 't') goto yy708;
7618
56
    goto yy48;
7619
94.5k
yy630:
7620
94.5k
    YYDEBUG(630, *YYCURSOR);
7621
94.5k
    ++YYCURSOR;
7622
94.5k
    YYFILL(1);
7623
94.5k
    yych = *YYCURSOR;
7624
94.5k
    if (yych <= '\r') {
7625
67.5k
      if (yych <= '\t') {
7626
558
        if (yych <= 0x00) goto yy86;
7627
494
        goto yy443;
7628
66.9k
      } else {
7629
66.9k
        if (yych <= '\n') goto yy709;
7630
7.78k
        if (yych <= '\f') goto yy443;
7631
6.91k
        goto yy709;
7632
7.78k
      }
7633
67.5k
    } else {
7634
26.9k
      if (yych <= '*') {
7635
1.90k
        if (yych <= ')') goto yy443;
7636
588
        goto yy547;
7637
25.0k
      } else {
7638
25.0k
        if (yych == '[') goto yy230;
7639
24.8k
        goto yy443;
7640
25.0k
      }
7641
26.9k
    }
7642
5.65k
yy631:
7643
5.65k
    YYDEBUG(631, *YYCURSOR);
7644
5.65k
    yyaccept = 26;
7645
5.65k
    YYMARKER = ++YYCURSOR;
7646
5.65k
    YYFILL(1);
7647
5.65k
    yych = *YYCURSOR;
7648
5.65k
    if (yybm[0+yych] & 4) {
7649
5.60k
      goto yy230;
7650
5.60k
    }
7651
56
    if (yych <= 0x00) goto yy89;
7652
20
    goto yy355;
7653
252
yy632:
7654
252
    YYDEBUG(632, *YYCURSOR);
7655
252
    ++YYCURSOR;
7656
252
    YYFILL(1);
7657
252
    yych = *YYCURSOR;
7658
252
    if (yybm[0+yych] & 64) {
7659
130
      goto yy355;
7660
130
    }
7661
122
    if (yych <= 0x00) goto yy86;
7662
114
    if (yych == '.') goto yy711;
7663
74
    goto yy230;
7664
38.7k
yy633:
7665
38.7k
    YYDEBUG(633, *YYCURSOR);
7666
38.7k
    ++YYCURSOR;
7667
38.7k
    YYFILL(1);
7668
38.7k
    yych = *YYCURSOR;
7669
38.7k
    if (yych <= '*') {
7670
37.6k
      if (yych <= 0x00) goto yy86;
7671
37.0k
      if (yych <= ')') goto yy230;
7672
36.7k
      goto yy712;
7673
37.0k
    } else {
7674
1.15k
      if (yych == '/') goto yy443;
7675
950
      goto yy230;
7676
1.15k
    }
7677
48
yy634:
7678
48
    YYDEBUG(634, *YYCURSOR);
7679
48
    ++YYCURSOR;
7680
48
    YYDEBUG(635, *YYCURSOR);
7681
48
    yyleng = YYCURSOR - SCNG(yy_text);
7682
48
#line 1688 "Zend/zend_language_scanner.l"
7683
48
    {
7684
48
  RETURN_TOKEN(T_ARRAY_CAST);
7685
48
}
7686
0
#line 7687 "Zend/zend_language_scanner.c"
7687
0
yy636:
7688
0
    YYDEBUG(636, *YYCURSOR);
7689
0
    ++YYCURSOR;
7690
0
    YYFILL(1);
7691
0
    yych = *YYCURSOR;
7692
0
    YYDEBUG(637, *YYCURSOR);
7693
0
    if (yych <= 0x1F) {
7694
0
      if (yych == '\t') goto yy636;
7695
0
      goto yy86;
7696
0
    } else {
7697
0
      if (yych <= ' ') goto yy636;
7698
0
      if (yych == ')') goto yy713;
7699
0
      goto yy86;
7700
0
    }
7701
674
yy638:
7702
674
    YYDEBUG(638, *YYCURSOR);
7703
674
    yych = *++YYCURSOR;
7704
674
    if (yych == 'N') goto yy715;
7705
28
    if (yych == 'n') goto yy715;
7706
6
    goto yy86;
7707
336
yy639:
7708
336
    YYDEBUG(639, *YYCURSOR);
7709
336
    ++YYCURSOR;
7710
336
    YYFILL(1);
7711
336
    yych = *YYCURSOR;
7712
336
    YYDEBUG(640, *YYCURSOR);
7713
336
    if (yych <= 0x1F) {
7714
0
      if (yych == '\t') goto yy639;
7715
0
      goto yy86;
7716
336
    } else {
7717
336
      if (yych <= ' ') goto yy639;
7718
320
      if (yych == ')') goto yy717;
7719
320
      goto yy86;
7720
320
    }
7721
877
yy641:
7722
877
    YYDEBUG(641, *YYCURSOR);
7723
877
    ++YYCURSOR;
7724
877
    YYDEBUG(642, *YYCURSOR);
7725
877
    yyleng = YYCURSOR - SCNG(yy_text);
7726
877
#line 1652 "Zend/zend_language_scanner.l"
7727
877
    {
7728
877
  RETURN_TOKEN(T_DOUBLE_CAST);
7729
877
}
7730
0
#line 7731 "Zend/zend_language_scanner.c"
7731
218
yy643:
7732
218
    YYDEBUG(643, *YYCURSOR);
7733
218
    yych = *++YYCURSOR;
7734
218
    if (yych == 'R') goto yy719;
7735
83
    if (yych == 'r') goto yy719;
7736
67
    goto yy86;
7737
732
yy644:
7738
732
    YYDEBUG(644, *YYCURSOR);
7739
732
    ++YYCURSOR;
7740
732
    YYFILL(1);
7741
732
    yych = *YYCURSOR;
7742
732
    YYDEBUG(645, *YYCURSOR);
7743
732
    if (yych <= 0x1F) {
7744
78
      if (yych == '\t') goto yy644;
7745
0
      goto yy86;
7746
654
    } else {
7747
654
      if (yych <= ' ') goto yy644;
7748
627
      if (yych == ')') goto yy721;
7749
128
      goto yy86;
7750
627
    }
7751
404
yy646:
7752
404
    YYDEBUG(646, *YYCURSOR);
7753
404
    ++YYCURSOR;
7754
404
    YYFILL(1);
7755
404
    yych = *YYCURSOR;
7756
404
    YYDEBUG(647, *YYCURSOR);
7757
404
    if (yych <= 0x1F) {
7758
36
      if (yych == '\t') goto yy646;
7759
36
      goto yy86;
7760
368
    } else {
7761
368
      if (yych <= ' ') goto yy646;
7762
210
      if (yych == ')') goto yy723;
7763
159
      goto yy86;
7764
210
    }
7765
3
yy648:
7766
3
    YYDEBUG(648, *YYCURSOR);
7767
3
    ++YYCURSOR;
7768
3
    YYDEBUG(649, *YYCURSOR);
7769
3
    yyleng = YYCURSOR - SCNG(yy_text);
7770
3
#line 1710 "Zend/zend_language_scanner.l"
7771
3
    {
7772
3
  RETURN_TOKEN(T_UNSET_CAST);
7773
3
}
7774
0
#line 7775 "Zend/zend_language_scanner.c"
7775
4.70k
yy650:
7776
4.70k
    YYDEBUG(650, *YYCURSOR);
7777
4.70k
    yyaccept = 4;
7778
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
7779
4.70k
    if (yych == 'T') goto yy725;
7780
1.59k
    if (yych == 't') goto yy725;
7781
31
    goto yy48;
7782
2.06k
yy651:
7783
2.06k
    YYDEBUG(651, *YYCURSOR);
7784
2.06k
    yyaccept = 4;
7785
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
7786
2.06k
    if (yych == 'E') goto yy727;
7787
93
    if (yych == 'e') goto yy727;
7788
0
    goto yy48;
7789
1.36k
yy652:
7790
1.36k
    YYDEBUG(652, *YYCURSOR);
7791
1.36k
    yyaccept = 4;
7792
1.36k
    yych = *(YYMARKER = ++YYCURSOR);
7793
1.36k
    if (yych == 'E') goto yy729;
7794
820
    if (yych == 'e') goto yy729;
7795
75
    goto yy48;
7796
2.09k
yy653:
7797
2.09k
    YYDEBUG(653, *YYCURSOR);
7798
2.09k
    yyaccept = 59;
7799
2.09k
    yych = *(YYMARKER = ++YYCURSOR);
7800
2.09k
    if (yybm[256+yych] & 128) {
7801
36
      goto yy47;
7802
36
    }
7803
2.05k
    if (yych == '\\') goto yy164;
7804
2.05k
yy654:
7805
2.05k
    YYDEBUG(654, *YYCURSOR);
7806
2.05k
    yyleng = YYCURSOR - SCNG(yy_text);
7807
2.05k
#line 1498 "Zend/zend_language_scanner.l"
7808
2.05k
    {
7809
2.05k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7810
2.05k
}
7811
0
#line 7812 "Zend/zend_language_scanner.c"
7812
1.86k
yy655:
7813
1.86k
    YYDEBUG(655, *YYCURSOR);
7814
1.86k
    yyaccept = 60;
7815
1.86k
    yych = *(YYMARKER = ++YYCURSOR);
7816
1.86k
    if (yybm[256+yych] & 128) {
7817
56
      goto yy47;
7818
56
    }
7819
1.81k
    if (yych == '\\') goto yy164;
7820
1.81k
yy656:
7821
1.81k
    YYDEBUG(656, *YYCURSOR);
7822
1.81k
    yyleng = YYCURSOR - SCNG(yy_text);
7823
1.81k
#line 1530 "Zend/zend_language_scanner.l"
7824
1.81k
    {
7825
1.81k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7826
1.81k
}
7827
0
#line 7828 "Zend/zend_language_scanner.c"
7828
3.85k
yy657:
7829
3.85k
    YYDEBUG(657, *YYCURSOR);
7830
3.85k
    yyaccept = 4;
7831
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
7832
3.85k
    if (yych == 'A') goto yy731;
7833
1.68k
    if (yych == 'a') goto yy731;
7834
333
    goto yy48;
7835
3.26k
yy658:
7836
3.26k
    YYDEBUG(658, *YYCURSOR);
7837
3.26k
    yyaccept = 4;
7838
3.26k
    yych = *(YYMARKER = ++YYCURSOR);
7839
3.26k
    if (yych == 'A') goto yy732;
7840
1.25k
    if (yych == 'a') goto yy732;
7841
151
    goto yy48;
7842
1.79k
yy659:
7843
1.79k
    YYDEBUG(659, *YYCURSOR);
7844
1.79k
    yyaccept = 4;
7845
1.79k
    yych = *(YYMARKER = ++YYCURSOR);
7846
1.79k
    if (yych == 'C') goto yy733;
7847
379
    if (yych == 'c') goto yy733;
7848
50
    goto yy48;
7849
2.85k
yy660:
7850
2.85k
    YYDEBUG(660, *YYCURSOR);
7851
2.85k
    yyaccept = 4;
7852
2.85k
    yych = *(YYMARKER = ++YYCURSOR);
7853
2.85k
    if (yych == 'E') goto yy734;
7854
1.34k
    if (yych == 'e') goto yy734;
7855
17
    goto yy48;
7856
1.84k
yy661:
7857
1.84k
    YYDEBUG(661, *YYCURSOR);
7858
1.84k
    yych = *++YYCURSOR;
7859
1.84k
    if (yych == 'T') goto yy736;
7860
1.84k
    if (yych == 't') goto yy736;
7861
876
    goto yy86;
7862
3.44k
yy662:
7863
3.44k
    YYDEBUG(662, *YYCURSOR);
7864
3.44k
    yych = *++YYCURSOR;
7865
3.44k
    if (yych == 'P') goto yy737;
7866
3.34k
    if (yych == 'p') goto yy737;
7867
130
    goto yy86;
7868
14.5k
yy663:
7869
14.5k
    YYDEBUG(663, *YYCURSOR);
7870
14.5k
    ++YYCURSOR;
7871
14.5k
    YYFILL(1);
7872
14.5k
    yych = *YYCURSOR;
7873
14.5k
    if (yych <= '\n') {
7874
5.60k
      if (yych <= 0x00) goto yy86;
7875
5.60k
      if (yych <= '\t') goto yy586;
7876
5.57k
      goto yy588;
7877
8.97k
    } else {
7878
8.97k
      if (yych == '\r') goto yy588;
7879
2.50k
      goto yy586;
7880
8.97k
    }
7881
116k
yy664:
7882
116k
    YYDEBUG(664, *YYCURSOR);
7883
116k
    ++YYCURSOR;
7884
116k
    YYFILL(1);
7885
116k
    yych = *YYCURSOR;
7886
116k
    if (yych <= '\f') {
7887
1.47k
      if (yych <= 0x00) goto yy86;
7888
607
      if (yych == '\n') goto yy495;
7889
85
      goto yy586;
7890
114k
    } else {
7891
114k
      if (yych <= '\r') goto yy495;
7892
102k
      if (yych == '*') goto yy738;
7893
3.22k
      goto yy586;
7894
102k
    }
7895
11.4k
yy665:
7896
11.4k
    YYDEBUG(665, *YYCURSOR);
7897
11.4k
    yyaccept = 53;
7898
11.4k
    YYMARKER = ++YYCURSOR;
7899
11.4k
    YYFILL(1);
7900
11.4k
    yych = *YYCURSOR;
7901
11.4k
    if (yych <= '\n') {
7902
671
      if (yych <= 0x00) goto yy583;
7903
549
      if (yych <= '\t') goto yy586;
7904
549
      goto yy495;
7905
10.8k
    } else {
7906
10.8k
      if (yych == '\r') goto yy495;
7907
10.7k
      goto yy586;
7908
10.8k
    }
7909
66.5k
yy666:
7910
66.5k
    YYDEBUG(666, *YYCURSOR);
7911
66.5k
    yyaccept = 53;
7912
66.5k
    YYMARKER = ++YYCURSOR;
7913
66.5k
    YYFILL(1);
7914
66.5k
    yych = *YYCURSOR;
7915
66.5k
    if (yych <= '\r') {
7916
688
      if (yych <= '\t') {
7917
161
        if (yych <= 0x00) goto yy583;
7918
53
        goto yy586;
7919
527
      } else {
7920
527
        if (yych <= '\n') goto yy495;
7921
358
        if (yych <= '\f') goto yy586;
7922
358
        goto yy495;
7923
358
      }
7924
65.9k
    } else {
7925
65.9k
      if (yych <= 'X') {
7926
711
        if (yych <= 'W') goto yy586;
7927
0
        goto yy740;
7928
65.1k
      } else {
7929
65.1k
        if (yych == 'x') goto yy740;
7930
17.9k
        goto yy586;
7931
65.1k
      }
7932
65.9k
    }
7933
7.01k
yy667:
7934
7.01k
    YYDEBUG(667, *YYCURSOR);
7935
7.01k
    yyaccept = 53;
7936
7.01k
    YYMARKER = ++YYCURSOR;
7937
7.01k
    YYFILL(1);
7938
7.01k
    yych = *YYCURSOR;
7939
7.01k
    if (yych <= '\r') {
7940
728
      if (yych <= '\t') {
7941
694
        if (yych <= 0x00) goto yy583;
7942
691
        goto yy586;
7943
694
      } else {
7944
34
        if (yych <= '\n') goto yy495;
7945
3
        if (yych <= '\f') goto yy586;
7946
3
        goto yy495;
7947
3
      }
7948
6.28k
    } else {
7949
6.28k
      if (yych <= 'M') {
7950
3.98k
        if (yych <= 'L') goto yy586;
7951
3.76k
        goto yy741;
7952
3.98k
      } else {
7953
2.29k
        if (yych == 'm') goto yy741;
7954
16
        goto yy586;
7955
2.29k
      }
7956
6.28k
    }
7957
104k
yy668:
7958
104k
    YYDEBUG(668, *YYCURSOR);
7959
104k
    ++YYCURSOR;
7960
104k
    YYFILL(1);
7961
104k
    yych = *YYCURSOR;
7962
104k
    YYDEBUG(669, *YYCURSOR);
7963
104k
    if (yych <= '*') {
7964
11.5k
      if (yych <= 0x00) goto yy86;
7965
11.3k
      if (yych <= ')') goto yy590;
7966
2.55k
      goto yy668;
7967
92.5k
    } else {
7968
92.5k
      if (yych == '/') goto yy495;
7969
10.0k
      goto yy590;
7970
92.5k
    }
7971
3.45k
yy670:
7972
3.45k
    YYDEBUG(670, *YYCURSOR);
7973
3.45k
    yyaccept = 61;
7974
3.45k
    yych = *(YYMARKER = ++YYCURSOR);
7975
3.45k
    if (yybm[256+yych] & 128) {
7976
255
      goto yy47;
7977
255
    }
7978
3.19k
    if (yych == '\\') goto yy164;
7979
3.17k
yy671:
7980
3.17k
    YYDEBUG(671, *YYCURSOR);
7981
3.17k
    yyleng = YYCURSOR - SCNG(yy_text);
7982
3.17k
#line 1579 "Zend/zend_language_scanner.l"
7983
3.17k
    {
7984
3.17k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7985
3.17k
}
7986
0
#line 7987 "Zend/zend_language_scanner.c"
7987
1.88k
yy672:
7988
1.88k
    YYDEBUG(672, *YYCURSOR);
7989
1.88k
    yyaccept = 62;
7990
1.88k
    yych = *(YYMARKER = ++YYCURSOR);
7991
1.88k
    if (yybm[256+yych] & 128) {
7992
18
      goto yy47;
7993
18
    }
7994
1.86k
    if (yych == '\\') goto yy164;
7995
1.81k
yy673:
7996
1.81k
    YYDEBUG(673, *YYCURSOR);
7997
1.81k
    yyleng = YYCURSOR - SCNG(yy_text);
7998
1.81k
#line 1446 "Zend/zend_language_scanner.l"
7999
1.81k
    {
8000
1.81k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8001
1.81k
}
8002
0
#line 8003 "Zend/zend_language_scanner.c"
8003
4.72k
yy674:
8004
4.72k
    YYDEBUG(674, *YYCURSOR);
8005
4.72k
    yyaccept = 63;
8006
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
8007
4.72k
    if (yybm[256+yych] & 128) {
8008
11
      goto yy47;
8009
11
    }
8010
4.71k
    if (yych == '\\') goto yy164;
8011
4.67k
yy675:
8012
4.67k
    YYDEBUG(675, *YYCURSOR);
8013
4.67k
    yyleng = YYCURSOR - SCNG(yy_text);
8014
4.67k
#line 1490 "Zend/zend_language_scanner.l"
8015
4.67k
    {
8016
4.67k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8017
4.67k
}
8018
0
#line 8019 "Zend/zend_language_scanner.c"
8019
8.64k
yy676:
8020
8.64k
    YYDEBUG(676, *YYCURSOR);
8021
8.64k
    yyaccept = 4;
8022
8.64k
    yych = *(YYMARKER = ++YYCURSOR);
8023
8.64k
    if (yych == 'N') goto yy742;
8024
8.12k
    if (yych == 'n') goto yy742;
8025
256
    goto yy48;
8026
12.4k
yy677:
8027
12.4k
    YYDEBUG(677, *YYCURSOR);
8028
12.4k
    yyaccept = 4;
8029
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
8030
12.4k
    if (yych == 'N') goto yy744;
8031
3.44k
    if (yych == 'n') goto yy744;
8032
2.04k
    goto yy48;
8033
5.32k
yy678:
8034
5.32k
    YYDEBUG(678, *YYCURSOR);
8035
5.32k
    yyaccept = 64;
8036
5.32k
    yych = *(YYMARKER = ++YYCURSOR);
8037
5.32k
    if (yych <= '\\') {
8038
3.69k
      if (yych <= '@') {
8039
3.44k
        if (yych <= '/') goto yy679;
8040
188
        if (yych <= '9') goto yy47;
8041
250
      } else {
8042
250
        if (yych <= 'Z') goto yy47;
8043
200
        if (yych >= '\\') goto yy164;
8044
200
      }
8045
3.69k
    } else {
8046
1.63k
      if (yych <= '`') {
8047
1.50k
        if (yych == '_') goto yy745;
8048
1.50k
      } else {
8049
130
        if (yych <= 'z') goto yy47;
8050
130
        if (yych >= 0x80) goto yy47;
8051
130
      }
8052
1.63k
    }
8053
3.70k
yy679:
8054
3.70k
    YYDEBUG(679, *YYCURSOR);
8055
3.70k
    yyleng = YYCURSOR - SCNG(yy_text);
8056
3.70k
#line 1722 "Zend/zend_language_scanner.l"
8057
3.70k
    {
8058
3.70k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8059
3.70k
}
8060
0
#line 8061 "Zend/zend_language_scanner.c"
8061
3.83k
yy680:
8062
3.83k
    YYDEBUG(680, *YYCURSOR);
8063
3.83k
    yyaccept = 4;
8064
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
8065
3.83k
    if (yych == 'E') goto yy746;
8066
1.75k
    if (yych == 'e') goto yy746;
8067
6
    goto yy48;
8068
3.55k
yy681:
8069
3.55k
    YYDEBUG(681, *YYCURSOR);
8070
3.55k
    yyaccept = 4;
8071
3.55k
    yych = *(YYMARKER = ++YYCURSOR);
8072
3.55k
    if (yych == 'O') goto yy747;
8073
2.30k
    if (yych == 'o') goto yy747;
8074
427
    goto yy48;
8075
3.67k
yy682:
8076
3.67k
    YYDEBUG(682, *YYCURSOR);
8077
3.67k
    yyaccept = 4;
8078
3.67k
    yych = *(YYMARKER = ++YYCURSOR);
8079
3.67k
    if (yych == 'C') goto yy748;
8080
1.97k
    if (yych == 'c') goto yy748;
8081
0
    goto yy48;
8082
4.27k
yy683:
8083
4.27k
    YYDEBUG(683, *YYCURSOR);
8084
4.27k
    yyaccept = 4;
8085
4.27k
    yych = *(YYMARKER = ++YYCURSOR);
8086
4.27k
    if (yych == 'C') goto yy749;
8087
3.32k
    if (yych == 'c') goto yy749;
8088
37
    goto yy48;
8089
6.42k
yy684:
8090
6.42k
    YYDEBUG(684, *YYCURSOR);
8091
6.42k
    yyaccept = 65;
8092
6.42k
    yych = *(YYMARKER = ++YYCURSOR);
8093
6.42k
    if (yybm[256+yych] & 128) {
8094
18
      goto yy47;
8095
18
    }
8096
6.40k
    if (yych == '(') goto yy750;
8097
5.73k
    if (yych == '\\') goto yy164;
8098
6.05k
yy685:
8099
6.05k
    YYDEBUG(685, *YYCURSOR);
8100
6.05k
    yyleng = YYCURSOR - SCNG(yy_text);
8101
6.05k
#line 1778 "Zend/zend_language_scanner.l"
8102
6.05k
    {
8103
6.05k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8104
6.05k
}
8105
0
#line 8106 "Zend/zend_language_scanner.c"
8106
3.71k
yy686:
8107
3.71k
    YYDEBUG(686, *YYCURSOR);
8108
3.71k
    yyaccept = 4;
8109
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
8110
3.71k
    if (yych == 'E') goto yy751;
8111
1.85k
    if (yych == 'e') goto yy751;
8112
177
    goto yy48;
8113
179
yy687:
8114
179
    YYDEBUG(687, *YYCURSOR);
8115
179
    yych = *++YYCURSOR;
8116
179
    if (yych == 'S') goto yy752;
8117
179
    if (yych == 's') goto yy752;
8118
26
    goto yy86;
8119
361
yy688:
8120
361
    YYDEBUG(688, *YYCURSOR);
8121
361
    yyaccept = 4;
8122
361
    yych = *(YYMARKER = ++YYCURSOR);
8123
361
    if (yych == 'Y') goto yy753;
8124
251
    if (yych == 'y') goto yy753;
8125
18
    goto yy48;
8126
5.05k
yy689:
8127
5.05k
    YYDEBUG(689, *YYCURSOR);
8128
5.05k
    yyaccept = 66;
8129
5.05k
    yych = *(YYMARKER = ++YYCURSOR);
8130
5.05k
    if (yych <= '\\') {
8131
1.83k
      if (yych <= '@') {
8132
1.37k
        if (yych <= '/') goto yy690;
8133
2
        if (yych <= '9') goto yy47;
8134
460
      } else {
8135
460
        if (yych <= 'Z') goto yy47;
8136
0
        if (yych >= '\\') goto yy164;
8137
0
      }
8138
3.21k
    } else {
8139
3.21k
      if (yych <= '`') {
8140
3.00k
        if (yych == '_') goto yy755;
8141
3.00k
      } else {
8142
216
        if (yych <= 'z') goto yy47;
8143
207
        if (yych >= 0x80) goto yy47;
8144
207
      }
8145
3.21k
    }
8146
1.49k
yy690:
8147
1.49k
    YYDEBUG(690, *YYCURSOR);
8148
1.49k
    yyleng = YYCURSOR - SCNG(yy_text);
8149
1.49k
#line 1730 "Zend/zend_language_scanner.l"
8150
1.49k
    {
8151
1.49k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8152
1.49k
}
8153
0
#line 8154 "Zend/zend_language_scanner.c"
8154
765
yy691:
8155
765
    YYDEBUG(691, *YYCURSOR);
8156
765
    yych = *++YYCURSOR;
8157
765
    if (yych == 'R') goto yy756;
8158
371
    if (yych == 'r') goto yy756;
8159
152
    goto yy86;
8160
2.82M
yy692:
8161
2.82M
    YYDEBUG(692, *YYCURSOR);
8162
2.82M
    ++YYCURSOR;
8163
2.82M
    YYFILL(1);
8164
2.82M
    yych = *YYCURSOR;
8165
2.82M
    YYDEBUG(693, *YYCURSOR);
8166
2.82M
    if (yych <= '\n') {
8167
71.4k
      if (yych <= 0x00) goto yy86;
8168
57.7k
      if (yych <= '\t') goto yy692;
8169
42.7k
      goto yy616;
8170
2.74M
    } else {
8171
2.74M
      if (yych == '\r') goto yy616;
8172
2.56M
      goto yy692;
8173
2.74M
    }
8174
273k
yy694:
8175
273k
    YYDEBUG(694, *YYCURSOR);
8176
273k
    ++YYCURSOR;
8177
273k
    YYFILL(1);
8178
273k
    yych = *YYCURSOR;
8179
273k
    YYDEBUG(695, *YYCURSOR);
8180
273k
    if (yych <= ' ') {
8181
16.2k
      if (yych <= '\n') {
8182
2.46k
        if (yych <= 0x00) goto yy86;
8183
2.12k
        if (yych <= 0x08) goto yy692;
8184
1.99k
        if (yych <= '\t') goto yy694;
8185
781
        goto yy616;
8186
13.7k
      } else {
8187
13.7k
        if (yych == '\r') goto yy616;
8188
799
        if (yych <= 0x1F) goto yy692;
8189
303
        goto yy694;
8190
799
      }
8191
256k
    } else {
8192
256k
      if (yych <= '/') {
8193
84.5k
        if (yych == '#') goto yy757;
8194
81.1k
        if (yych <= '.') goto yy692;
8195
78.7k
        goto yy758;
8196
172k
      } else {
8197
172k
        if (yych <= 'F') {
8198
7.64k
          if (yych <= 'E') goto yy692;
8199
6.97k
          goto yy759;
8200
164k
        } else {
8201
164k
          if (yych == 'f') goto yy759;
8202
162k
          goto yy692;
8203
164k
        }
8204
172k
      }
8205
256k
    }
8206
2.11M
yy696:
8207
2.11M
    YYDEBUG(696, *YYCURSOR);
8208
2.11M
    ++YYCURSOR;
8209
2.11M
    YYFILL(1);
8210
2.11M
    yych = *YYCURSOR;
8211
2.11M
    YYDEBUG(697, *YYCURSOR);
8212
2.11M
    if (yych <= 0x00) goto yy86;
8213
2.11M
    if (yych == '*') goto yy760;
8214
2.05M
    goto yy696;
8215
2.05M
yy698:
8216
2.32k
    YYDEBUG(698, *YYCURSOR);
8217
2.32k
    yyaccept = 4;
8218
2.32k
    yych = *(YYMARKER = ++YYCURSOR);
8219
2.32k
    if (yych == '_') goto yy762;
8220
6
    goto yy48;
8221
4.14k
yy699:
8222
4.14k
    YYDEBUG(699, *YYCURSOR);
8223
4.14k
    yyaccept = 67;
8224
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
8225
4.14k
    if (yybm[256+yych] & 128) {
8226
13
      goto yy47;
8227
13
    }
8228
4.12k
    if (yych == '\\') goto yy164;
8229
4.12k
yy700:
8230
4.12k
    YYDEBUG(700, *YYCURSOR);
8231
4.12k
    yyleng = YYCURSOR - SCNG(yy_text);
8232
4.12k
#line 2281 "Zend/zend_language_scanner.l"
8233
4.12k
    {
8234
4.12k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8235
4.12k
}
8236
0
#line 8237 "Zend/zend_language_scanner.c"
8237
2.32k
yy701:
8238
2.32k
    YYDEBUG(701, *YYCURSOR);
8239
2.32k
    yyaccept = 4;
8240
2.32k
    yych = *(YYMARKER = ++YYCURSOR);
8241
2.32k
    if (yych == '_') goto yy763;
8242
0
    goto yy48;
8243
3.51k
yy702:
8244
3.51k
    YYDEBUG(702, *YYCURSOR);
8245
3.51k
    yyaccept = 4;
8246
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
8247
3.51k
    if (yych == 'I') goto yy765;
8248
2
    if (yych == 'i') goto yy765;
8249
2
    goto yy48;
8250
132
yy703:
8251
132
    YYDEBUG(703, *YYCURSOR);
8252
132
    yyaccept = 4;
8253
132
    yych = *(YYMARKER = ++YYCURSOR);
8254
132
    if (yych == 'C') goto yy766;
8255
16
    if (yych == 'c') goto yy766;
8256
14
    goto yy48;
8257
2.05k
yy704:
8258
2.05k
    YYDEBUG(704, *YYCURSOR);
8259
2.05k
    yyaccept = 4;
8260
2.05k
    yych = *(YYMARKER = ++YYCURSOR);
8261
2.05k
    if (yych == '_') goto yy767;
8262
9
    goto yy48;
8263
3.35k
yy705:
8264
3.35k
    YYDEBUG(705, *YYCURSOR);
8265
3.35k
    yyaccept = 4;
8266
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
8267
3.35k
    if (yych == 'D') goto yy769;
8268
469
    if (yych == 'd') goto yy769;
8269
76
    goto yy48;
8270
3.54k
yy706:
8271
3.54k
    YYDEBUG(706, *YYCURSOR);
8272
3.54k
    yyaccept = 4;
8273
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
8274
3.54k
    if (yych == 'P') goto yy770;
8275
289
    if (yych == 'p') goto yy770;
8276
33
    goto yy48;
8277
402
yy707:
8278
402
    YYDEBUG(707, *YYCURSOR);
8279
402
    yyaccept = 4;
8280
402
    yych = *(YYMARKER = ++YYCURSOR);
8281
402
    if (yych == 'R') goto yy771;
8282
109
    if (yych == 'r') goto yy771;
8283
109
    goto yy48;
8284
2.20k
yy708:
8285
2.20k
    YYDEBUG(708, *YYCURSOR);
8286
2.20k
    yyaccept = 4;
8287
2.20k
    yych = *(YYMARKER = ++YYCURSOR);
8288
2.20k
    if (yych == '_') goto yy772;
8289
108
    goto yy48;
8290
98.8k
yy709:
8291
98.8k
    YYDEBUG(709, *YYCURSOR);
8292
98.8k
    ++YYCURSOR;
8293
98.8k
    YYFILL(1);
8294
98.8k
    yych = *YYCURSOR;
8295
98.8k
    YYDEBUG(710, *YYCURSOR);
8296
98.8k
    if (yych <= ' ') {
8297
12.6k
      if (yych <= '\n') {
8298
5.18k
        if (yych <= 0x00) goto yy86;
8299
4.94k
        if (yych <= 0x08) goto yy443;
8300
4.79k
        if (yych <= '\t') goto yy709;
8301
4
        goto yy545;
8302
7.50k
      } else {
8303
7.50k
        if (yych == '\r') goto yy545;
8304
899
        if (yych <= 0x1F) goto yy443;
8305
288
        goto yy709;
8306
899
      }
8307
86.1k
    } else {
8308
86.1k
      if (yych <= ')') {
8309
8.93k
        if (yych <= '"') goto yy443;
8310
8.83k
        if (yych <= '#') goto yy773;
8311
883
        if (yych <= '$') goto yy774;
8312
608
        goto yy443;
8313
77.2k
      } else {
8314
77.2k
        if (yych <= '-') {
8315
935
          if (yych <= '*') goto yy547;
8316
547
          goto yy443;
8317
76.3k
        } else {
8318
76.3k
          if (yych <= '.') goto yy775;
8319
75.4k
          if (yych <= '/') goto yy776;
8320
48.0k
          goto yy443;
8321
75.4k
        }
8322
77.2k
      }
8323
86.1k
    }
8324
40
yy711:
8325
40
    YYDEBUG(711, *YYCURSOR);
8326
40
    ++YYCURSOR;
8327
40
    YYFILL(1);
8328
40
    yych = *YYCURSOR;
8329
40
    if (yybm[0+yych] & 64) {
8330
0
      goto yy355;
8331
0
    }
8332
40
    if (yych <= 0x00) goto yy86;
8333
40
    if (yych == '.') goto yy631;
8334
0
    goto yy230;
8335
36.7k
yy712:
8336
36.7k
    YYDEBUG(712, *YYCURSOR);
8337
36.7k
    ++YYCURSOR;
8338
36.7k
    YYFILL(1);
8339
36.7k
    yych = *YYCURSOR;
8340
36.7k
    if (yybm[0+yych] & 64) {
8341
169
      goto yy355;
8342
169
    }
8343
36.5k
    if (yych <= 0x00) goto yy86;
8344
36.4k
    if (yych == '/') goto yy545;
8345
150
    goto yy230;
8346
150
yy713:
8347
0
    YYDEBUG(713, *YYCURSOR);
8348
0
    ++YYCURSOR;
8349
0
    YYDEBUG(714, *YYCURSOR);
8350
0
    yyleng = YYCURSOR - SCNG(yy_text);
8351
0
#line 1678 "Zend/zend_language_scanner.l"
8352
0
    {
8353
0
  if (PARSER_MODE()) {
8354
0
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8355
0
    if (EG(exception)) {
8356
0
      RETURN_TOKEN(T_ERROR);
8357
0
    }
8358
0
  }
8359
0
  RETURN_TOKEN(T_STRING_CAST);
8360
0
}
8361
0
#line 8362 "Zend/zend_language_scanner.c"
8362
688
yy715:
8363
688
    YYDEBUG(715, *YYCURSOR);
8364
688
    ++YYCURSOR;
8365
688
    YYFILL(1);
8366
688
    yych = *YYCURSOR;
8367
688
    YYDEBUG(716, *YYCURSOR);
8368
688
    if (yych <= 0x1F) {
8369
132
      if (yych == '\t') goto yy715;
8370
132
      goto yy86;
8371
556
    } else {
8372
556
      if (yych <= ' ') goto yy715;
8373
536
      if (yych == ')') goto yy777;
8374
536
      goto yy86;
8375
536
    }
8376
0
yy717:
8377
0
    YYDEBUG(717, *YYCURSOR);
8378
0
    ++YYCURSOR;
8379
0
    YYDEBUG(718, *YYCURSOR);
8380
0
    yyleng = YYCURSOR - SCNG(yy_text);
8381
0
#line 1656 "Zend/zend_language_scanner.l"
8382
0
    {
8383
0
  if (PARSER_MODE()) {
8384
0
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8385
0
    if (EG(exception)) {
8386
0
      RETURN_TOKEN(T_ERROR);
8387
0
    }
8388
0
  }
8389
0
  RETURN_TOKEN(T_DOUBLE_CAST);
8390
0
}
8391
0
#line 8392 "Zend/zend_language_scanner.c"
8392
163
yy719:
8393
163
    YYDEBUG(719, *YYCURSOR);
8394
163
    ++YYCURSOR;
8395
163
    YYFILL(1);
8396
163
    yych = *YYCURSOR;
8397
163
    YYDEBUG(720, *YYCURSOR);
8398
163
    if (yych <= 0x1F) {
8399
50
      if (yych == '\t') goto yy719;
8400
50
      goto yy86;
8401
113
    } else {
8402
113
      if (yych <= ' ') goto yy719;
8403
101
      if (yych == ')') goto yy779;
8404
101
      goto yy86;
8405
101
    }
8406
499
yy721:
8407
499
    YYDEBUG(721, *YYCURSOR);
8408
499
    ++YYCURSOR;
8409
499
    YYDEBUG(722, *YYCURSOR);
8410
499
    yyleng = YYCURSOR - SCNG(yy_text);
8411
499
#line 1692 "Zend/zend_language_scanner.l"
8412
499
    {
8413
499
  RETURN_TOKEN(T_OBJECT_CAST);
8414
499
}
8415
0
#line 8416 "Zend/zend_language_scanner.c"
8416
51
yy723:
8417
51
    YYDEBUG(723, *YYCURSOR);
8418
51
    ++YYCURSOR;
8419
51
    YYDEBUG(724, *YYCURSOR);
8420
51
    yyleng = YYCURSOR - SCNG(yy_text);
8421
51
#line 1674 "Zend/zend_language_scanner.l"
8422
51
    {
8423
51
  RETURN_TOKEN(T_STRING_CAST);
8424
51
}
8425
0
#line 8426 "Zend/zend_language_scanner.c"
8426
4.67k
yy725:
8427
4.67k
    YYDEBUG(725, *YYCURSOR);
8428
4.67k
    yyaccept = 68;
8429
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
8430
4.67k
    if (yybm[256+yych] & 128) {
8431
61
      goto yy47;
8432
61
    }
8433
4.61k
    if (yych == '\\') goto yy164;
8434
4.61k
yy726:
8435
4.61k
    YYDEBUG(726, *YYCURSOR);
8436
4.61k
    yyleng = YYCURSOR - SCNG(yy_text);
8437
4.61k
#line 1770 "Zend/zend_language_scanner.l"
8438
4.61k
    {
8439
4.61k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8440
4.61k
}
8441
0
#line 8442 "Zend/zend_language_scanner.c"
8442
2.06k
yy727:
8443
2.06k
    YYDEBUG(727, *YYCURSOR);
8444
2.06k
    yyaccept = 69;
8445
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
8446
2.06k
    if (yybm[256+yych] & 128) {
8447
6
      goto yy47;
8448
6
    }
8449
2.06k
    if (yych == '\\') goto yy164;
8450
2.06k
yy728:
8451
2.06k
    YYDEBUG(728, *YYCURSOR);
8452
2.06k
    yyleng = YYCURSOR - SCNG(yy_text);
8453
2.06k
#line 1822 "Zend/zend_language_scanner.l"
8454
2.06k
    {
8455
2.06k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8456
2.06k
}
8457
0
#line 8458 "Zend/zend_language_scanner.c"
8458
1.28k
yy729:
8459
1.28k
    YYDEBUG(729, *YYCURSOR);
8460
1.28k
    yyaccept = 70;
8461
1.28k
    yych = *(YYMARKER = ++YYCURSOR);
8462
1.28k
    if (yybm[256+yych] & 128) {
8463
0
      goto yy47;
8464
0
    }
8465
1.28k
    if (yych == '\\') goto yy164;
8466
1.28k
yy730:
8467
1.28k
    YYDEBUG(730, *YYCURSOR);
8468
1.28k
    yyleng = YYCURSOR - SCNG(yy_text);
8469
1.28k
#line 1538 "Zend/zend_language_scanner.l"
8470
1.28k
    {
8471
1.28k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8472
1.28k
}
8473
0
#line 8474 "Zend/zend_language_scanner.c"
8474
3.52k
yy731:
8475
3.52k
    YYDEBUG(731, *YYCURSOR);
8476
3.52k
    yyaccept = 4;
8477
3.52k
    yych = *(YYMARKER = ++YYCURSOR);
8478
3.52k
    if (yych == 'R') goto yy781;
8479
1.35k
    if (yych == 'r') goto yy781;
8480
4
    goto yy48;
8481
3.11k
yy732:
8482
3.11k
    YYDEBUG(732, *YYCURSOR);
8483
3.11k
    yyaccept = 4;
8484
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
8485
3.11k
    if (yych == 'C') goto yy782;
8486
1.13k
    if (yych == 'c') goto yy782;
8487
35
    goto yy48;
8488
1.74k
yy733:
8489
1.74k
    YYDEBUG(733, *YYCURSOR);
8490
1.74k
    yyaccept = 4;
8491
1.74k
    yych = *(YYMARKER = ++YYCURSOR);
8492
1.74k
    if (yych == 'H') goto yy783;
8493
351
    if (yych == 'h') goto yy783;
8494
22
    goto yy48;
8495
2.83k
yy734:
8496
2.83k
    YYDEBUG(734, *YYCURSOR);
8497
2.83k
    yyaccept = 71;
8498
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
8499
2.83k
    if (yybm[256+yych] & 128) {
8500
0
      goto yy47;
8501
0
    }
8502
2.83k
    if (yych == '\\') goto yy164;
8503
2.83k
yy735:
8504
2.83k
    YYDEBUG(735, *YYCURSOR);
8505
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
8506
2.83k
#line 1474 "Zend/zend_language_scanner.l"
8507
2.83k
    {
8508
2.83k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8509
2.83k
}
8510
0
#line 8511 "Zend/zend_language_scanner.c"
8511
973
yy736:
8512
973
    YYDEBUG(736, *YYCURSOR);
8513
973
    yych = *++YYCURSOR;
8514
973
    if (yych == 'E') goto yy785;
8515
955
    if (yych == 'e') goto yy785;
8516
398
    goto yy86;
8517
3.31k
yy737:
8518
3.31k
    YYDEBUG(737, *YYCURSOR);
8519
3.31k
    yych = *++YYCURSOR;
8520
3.31k
    if (yych == 'L') goto yy786;
8521
3.31k
    if (yych == 'l') goto yy786;
8522
839
    goto yy86;
8523
2.41M
yy738:
8524
2.41M
    YYDEBUG(738, *YYCURSOR);
8525
2.41M
    ++YYCURSOR;
8526
2.41M
    YYFILL(1);
8527
2.41M
    yych = *YYCURSOR;
8528
2.41M
    YYDEBUG(739, *YYCURSOR);
8529
2.41M
    if (yych <= '\f') {
8530
185k
      if (yych <= 0x00) goto yy86;
8531
181k
      if (yych == '\n') goto yy787;
8532
10.6k
      goto yy738;
8533
2.23M
    } else {
8534
2.23M
      if (yych <= '\r') goto yy787;
8535
2.12M
      if (yych == '*') goto yy789;
8536
2.08M
      goto yy738;
8537
2.12M
    }
8538
47.2k
yy740:
8539
47.2k
    YYDEBUG(740, *YYCURSOR);
8540
47.2k
    ++YYCURSOR;
8541
47.2k
    YYFILL(1);
8542
47.2k
    yych = *YYCURSOR;
8543
47.2k
    if (yych <= '\r') {
8544
917
      if (yych <= '\t') {
8545
815
        if (yych <= 0x00) goto yy86;
8546
733
        goto yy586;
8547
815
      } else {
8548
102
        if (yych <= '\n') goto yy495;
8549
85
        if (yych <= '\f') goto yy586;
8550
80
        goto yy495;
8551
85
      }
8552
46.3k
    } else {
8553
46.3k
      if (yych <= 'T') {
8554
397
        if (yych <= 'S') goto yy586;
8555
0
        goto yy791;
8556
45.9k
      } else {
8557
45.9k
        if (yych == 't') goto yy791;
8558
43.3k
        goto yy586;
8559
45.9k
      }
8560
46.3k
    }
8561
6.04k
yy741:
8562
6.04k
    YYDEBUG(741, *YYCURSOR);
8563
6.04k
    ++YYCURSOR;
8564
6.04k
    YYFILL(1);
8565
6.04k
    yych = *YYCURSOR;
8566
6.04k
    if (yych <= '\r') {
8567
319
      if (yych <= '\t') {
8568
13
        if (yych <= 0x00) goto yy86;
8569
0
        goto yy586;
8570
306
      } else {
8571
306
        if (yych <= '\n') goto yy495;
8572
6
        if (yych <= '\f') goto yy586;
8573
4
        goto yy495;
8574
6
      }
8575
5.72k
    } else {
8576
5.72k
      if (yych <= 'P') {
8577
867
        if (yych <= 'O') goto yy586;
8578
726
        goto yy792;
8579
4.86k
      } else {
8580
4.86k
        if (yych == 'p') goto yy792;
8581
183
        goto yy586;
8582
4.86k
      }
8583
5.72k
    }
8584
8.39k
yy742:
8585
8.39k
    YYDEBUG(742, *YYCURSOR);
8586
8.39k
    yyaccept = 72;
8587
8.39k
    yych = *(YYMARKER = ++YYCURSOR);
8588
8.39k
    if (yybm[256+yych] & 128) {
8589
116
      goto yy47;
8590
116
    }
8591
8.27k
    if (yych == '\\') goto yy164;
8592
8.27k
yy743:
8593
8.27k
    YYDEBUG(743, *YYCURSOR);
8594
8.27k
    yyleng = YYCURSOR - SCNG(yy_text);
8595
8.27k
#line 1411 "Zend/zend_language_scanner.l"
8596
8.27k
    {
8597
8.27k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8598
8.27k
}
8599
0
#line 8600 "Zend/zend_language_scanner.c"
8600
10.4k
yy744:
8601
10.4k
    YYDEBUG(744, *YYCURSOR);
8602
10.4k
    yyaccept = 4;
8603
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
8604
10.4k
    if (yych == 'T') goto yy793;
8605
5.38k
    if (yych == 't') goto yy793;
8606
4.90k
    goto yy48;
8607
4.90k
yy745:
8608
1.50k
    YYDEBUG(745, *YYCURSOR);
8609
1.50k
    yyaccept = 4;
8610
1.50k
    yych = *(YYMARKER = ++YYCURSOR);
8611
1.50k
    if (yych == 'O') goto yy794;
8612
939
    if (yych == 'o') goto yy794;
8613
52
    goto yy48;
8614
3.83k
yy746:
8615
3.83k
    YYDEBUG(746, *YYCURSOR);
8616
3.83k
    yyaccept = 4;
8617
3.83k
    yych = *(YYMARKER = ++YYCURSOR);
8618
3.83k
    if (yych == 'O') goto yy795;
8619
1.77k
    if (yych == 'o') goto yy795;
8620
30
    goto yy48;
8621
3.12k
yy747:
8622
3.12k
    YYDEBUG(747, *YYCURSOR);
8623
3.12k
    yyaccept = 4;
8624
3.12k
    yych = *(YYMARKER = ++YYCURSOR);
8625
3.12k
    if (yych == 'F') goto yy796;
8626
1.87k
    if (yych == 'f') goto yy796;
8627
17
    goto yy48;
8628
3.67k
yy748:
8629
3.67k
    YYDEBUG(748, *YYCURSOR);
8630
3.67k
    yyaccept = 4;
8631
3.67k
    yych = *(YYMARKER = ++YYCURSOR);
8632
3.67k
    if (yych == 'E') goto yy798;
8633
2.43k
    if (yych == 'e') goto yy798;
8634
508
    goto yy48;
8635
4.23k
yy749:
8636
4.23k
    YYDEBUG(749, *YYCURSOR);
8637
4.23k
    yyaccept = 4;
8638
4.23k
    yych = *(YYMARKER = ++YYCURSOR);
8639
4.23k
    if (yych == 'E') goto yy800;
8640
3.29k
    if (yych == 'e') goto yy800;
8641
139
    goto yy48;
8642
672
yy750:
8643
672
    YYDEBUG(750, *YYCURSOR);
8644
672
    yych = *++YYCURSOR;
8645
672
    if (yych == 'S') goto yy802;
8646
657
    if (yych == 's') goto yy802;
8647
33
    goto yy86;
8648
3.53k
yy751:
8649
3.53k
    YYDEBUG(751, *YYCURSOR);
8650
3.53k
    yyaccept = 4;
8651
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
8652
3.53k
    if (yych == 'D') goto yy803;
8653
1.69k
    if (yych == 'd') goto yy803;
8654
68
    goto yy48;
8655
153
yy752:
8656
153
    YYDEBUG(752, *YYCURSOR);
8657
153
    yych = *++YYCURSOR;
8658
153
    if (yych == 'E') goto yy805;
8659
153
    if (yych == 'e') goto yy805;
8660
32
    goto yy86;
8661
343
yy753:
8662
343
    YYDEBUG(753, *YYCURSOR);
8663
343
    yyaccept = 73;
8664
343
    yych = *(YYMARKER = ++YYCURSOR);
8665
343
    if (yybm[256+yych] & 128) {
8666
44
      goto yy47;
8667
44
    }
8668
299
    if (yych == '\\') goto yy164;
8669
299
yy754:
8670
299
    YYDEBUG(754, *YYCURSOR);
8671
299
    yyleng = YYCURSOR - SCNG(yy_text);
8672
299
#line 1802 "Zend/zend_language_scanner.l"
8673
299
    {
8674
299
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8675
299
}
8676
0
#line 8677 "Zend/zend_language_scanner.c"
8677
2.92k
yy755:
8678
2.92k
    YYDEBUG(755, *YYCURSOR);
8679
2.92k
    yyaccept = 4;
8680
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
8681
2.92k
    if (yych == 'O') goto yy806;
8682
1.66k
    if (yych == 'o') goto yy806;
8683
12
    goto yy48;
8684
613
yy756:
8685
613
    YYDEBUG(756, *YYCURSOR);
8686
613
    yych = *++YYCURSOR;
8687
613
    if (yych == 'O') goto yy807;
8688
213
    if (yych == 'o') goto yy807;
8689
0
    goto yy86;
8690
3.32k
yy757:
8691
3.32k
    YYDEBUG(757, *YYCURSOR);
8692
3.32k
    ++YYCURSOR;
8693
3.32k
    YYFILL(1);
8694
3.32k
    yych = *YYCURSOR;
8695
3.32k
    if (yych <= '\n') {
8696
2.26k
      if (yych <= 0x00) goto yy86;
8697
2.25k
      if (yych <= '\t') goto yy692;
8698
2.23k
      goto yy694;
8699
2.25k
    } else {
8700
1.05k
      if (yych == '\r') goto yy694;
8701
847
      goto yy692;
8702
1.05k
    }
8703
78.7k
yy758:
8704
78.7k
    YYDEBUG(758, *YYCURSOR);
8705
78.7k
    ++YYCURSOR;
8706
78.7k
    YYFILL(1);
8707
78.7k
    yych = *YYCURSOR;
8708
78.7k
    if (yych <= '\f') {
8709
1.17k
      if (yych <= 0x00) goto yy86;
8710
1.10k
      if (yych == '\n') goto yy616;
8711
59
      goto yy692;
8712
77.5k
    } else {
8713
77.5k
      if (yych <= '\r') goto yy616;
8714
66.1k
      if (yych == '*') goto yy808;
8715
3.85k
      goto yy692;
8716
66.1k
    }
8717
8.80k
yy759:
8718
8.80k
    YYDEBUG(759, *YYCURSOR);
8719
8.80k
    ++YYCURSOR;
8720
8.80k
    YYFILL(1);
8721
8.80k
    yych = *YYCURSOR;
8722
8.80k
    if (yych <= '\r') {
8723
2.73k
      if (yych <= '\t') {
8724
3
        if (yych <= 0x00) goto yy86;
8725
3
        goto yy692;
8726
2.73k
      } else {
8727
2.73k
        if (yych <= '\n') goto yy616;
8728
108
        if (yych <= '\f') goto yy692;
8729
108
        goto yy616;
8730
108
      }
8731
6.06k
    } else {
8732
6.06k
      if (yych <= 'R') {
8733
4.36k
        if (yych <= 'Q') goto yy692;
8734
4.16k
        goto yy810;
8735
4.36k
      } else {
8736
1.70k
        if (yych == 'r') goto yy810;
8737
78
        goto yy692;
8738
1.70k
      }
8739
6.06k
    }
8740
52.3k
yy760:
8741
52.3k
    YYDEBUG(760, *YYCURSOR);
8742
52.3k
    ++YYCURSOR;
8743
52.3k
    YYFILL(1);
8744
52.3k
    yych = *YYCURSOR;
8745
52.3k
    YYDEBUG(761, *YYCURSOR);
8746
52.3k
    if (yych <= '*') {
8747
7.52k
      if (yych <= 0x00) goto yy86;
8748
7.36k
      if (yych <= ')') goto yy696;
8749
1.17k
      goto yy760;
8750
44.8k
    } else {
8751
44.8k
      if (yych == '/') goto yy616;
8752
3.81k
      goto yy696;
8753
44.8k
    }
8754
2.32k
yy762:
8755
2.32k
    YYDEBUG(762, *YYCURSOR);
8756
2.32k
    yyaccept = 4;
8757
2.32k
    yych = *(YYMARKER = ++YYCURSOR);
8758
2.32k
    if (yych == '_') goto yy811;
8759
0
    goto yy48;
8760
2.32k
yy763:
8761
2.32k
    YYDEBUG(763, *YYCURSOR);
8762
2.32k
    yyaccept = 74;
8763
2.32k
    yych = *(YYMARKER = ++YYCURSOR);
8764
2.32k
    if (yybm[256+yych] & 128) {
8765
186
      goto yy47;
8766
186
    }
8767
2.13k
    if (yych == '\\') goto yy164;
8768
2.13k
yy764:
8769
2.13k
    YYDEBUG(764, *YYCURSOR);
8770
2.13k
    yyleng = YYCURSOR - SCNG(yy_text);
8771
2.13k
#line 2277 "Zend/zend_language_scanner.l"
8772
2.13k
    {
8773
2.13k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8774
2.13k
}
8775
0
#line 8776 "Zend/zend_language_scanner.c"
8776
3.51k
yy765:
8777
3.51k
    YYDEBUG(765, *YYCURSOR);
8778
3.51k
    yyaccept = 4;
8779
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
8780
3.51k
    if (yych == 'O') goto yy813;
8781
564
    if (yych == 'o') goto yy813;
8782
564
    goto yy48;
8783
564
yy766:
8784
118
    YYDEBUG(766, *YYCURSOR);
8785
118
    yyaccept = 4;
8786
118
    yych = *(YYMARKER = ++YYCURSOR);
8787
118
    if (yych == 'O') goto yy814;
8788
2
    if (yych == 'o') goto yy814;
8789
0
    goto yy48;
8790
2.04k
yy767:
8791
2.04k
    YYDEBUG(767, *YYCURSOR);
8792
2.04k
    yyaccept = 75;
8793
2.04k
    yych = *(YYMARKER = ++YYCURSOR);
8794
2.04k
    if (yybm[256+yych] & 128) {
8795
99
      goto yy47;
8796
99
    }
8797
1.94k
    if (yych == '\\') goto yy164;
8798
1.94k
yy768:
8799
1.94k
    YYDEBUG(768, *YYCURSOR);
8800
1.94k
    yyleng = YYCURSOR - SCNG(yy_text);
8801
1.94k
#line 2273 "Zend/zend_language_scanner.l"
8802
1.94k
    {
8803
1.94k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8804
1.94k
}
8805
0
#line 8806 "Zend/zend_language_scanner.c"
8806
3.27k
yy769:
8807
3.27k
    YYDEBUG(769, *YYCURSOR);
8808
3.27k
    yyaccept = 4;
8809
3.27k
    yych = *(YYMARKER = ++YYCURSOR);
8810
3.27k
    if (yych == '_') goto yy815;
8811
160
    goto yy48;
8812
3.51k
yy770:
8813
3.51k
    YYDEBUG(770, *YYCURSOR);
8814
3.51k
    yyaccept = 4;
8815
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
8816
3.51k
    if (yych == 'A') goto yy816;
8817
256
    if (yych == 'a') goto yy816;
8818
66
    goto yy48;
8819
293
yy771:
8820
293
    YYDEBUG(771, *YYCURSOR);
8821
293
    yyaccept = 4;
8822
293
    yych = *(YYMARKER = ++YYCURSOR);
8823
293
    if (yych == 'T') goto yy817;
8824
0
    if (yych == 't') goto yy817;
8825
0
    goto yy48;
8826
2.09k
yy772:
8827
2.09k
    YYDEBUG(772, *YYCURSOR);
8828
2.09k
    yyaccept = 4;
8829
2.09k
    yych = *(YYMARKER = ++YYCURSOR);
8830
2.09k
    if (yych == '_') goto yy818;
8831
60
    goto yy48;
8832
7.94k
yy773:
8833
7.94k
    YYDEBUG(773, *YYCURSOR);
8834
7.94k
    ++YYCURSOR;
8835
7.94k
    YYFILL(1);
8836
7.94k
    yych = *YYCURSOR;
8837
7.94k
    if (yybm[0+yych] & 128) {
8838
1.52k
      goto yy443;
8839
1.52k
    }
8840
6.42k
    if (yych <= 0x00) goto yy86;
8841
6.35k
    if (yych <= '\r') goto yy709;
8842
281
    goto yy547;
8843
281
yy774:
8844
281
    YYDEBUG(774, *YYCURSOR);
8845
281
    yyaccept = 26;
8846
281
    YYMARKER = ++YYCURSOR;
8847
281
    YYFILL(1);
8848
281
    yych = *YYCURSOR;
8849
281
    if (yybm[0+yych] & 128) {
8850
254
      goto yy443;
8851
254
    }
8852
27
    if (yych <= 0x00) goto yy89;
8853
6
    if (yych <= '\r') goto yy545;
8854
6
    goto yy547;
8855
910
yy775:
8856
910
    YYDEBUG(775, *YYCURSOR);
8857
910
    ++YYCURSOR;
8858
910
    YYFILL(1);
8859
910
    yych = *YYCURSOR;
8860
910
    if (yych <= '\r') {
8861
142
      if (yych <= '\t') {
8862
94
        if (yych <= 0x00) goto yy86;
8863
14
        goto yy443;
8864
94
      } else {
8865
48
        if (yych <= '\n') goto yy545;
8866
48
        if (yych <= '\f') goto yy443;
8867
48
        goto yy545;
8868
48
      }
8869
768
    } else {
8870
768
      if (yych <= '*') {
8871
32
        if (yych <= ')') goto yy443;
8872
0
        goto yy547;
8873
736
      } else {
8874
736
        if (yych == '.') goto yy820;
8875
355
        goto yy443;
8876
736
      }
8877
768
    }
8878
27.4k
yy776:
8879
27.4k
    YYDEBUG(776, *YYCURSOR);
8880
27.4k
    ++YYCURSOR;
8881
27.4k
    YYFILL(1);
8882
27.4k
    yych = *YYCURSOR;
8883
27.4k
    if (yybm[0+yych] & 128) {
8884
3.59k
      goto yy443;
8885
3.59k
    }
8886
23.8k
    if (yych <= 0x00) goto yy86;
8887
23.7k
    if (yych <= '\r') goto yy545;
8888
23.6k
    goto yy821;
8889
23.6k
yy777:
8890
0
    YYDEBUG(777, *YYCURSOR);
8891
0
    ++YYCURSOR;
8892
0
    YYDEBUG(778, *YYCURSOR);
8893
0
    yyleng = YYCURSOR - SCNG(yy_text);
8894
0
#line 1700 "Zend/zend_language_scanner.l"
8895
0
    {
8896
0
  if (PARSER_MODE()) {
8897
0
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8898
0
    if (EG(exception)) {
8899
0
      RETURN_TOKEN(T_ERROR);
8900
0
    }
8901
0
  }
8902
0
  RETURN_TOKEN(T_BOOL_CAST);
8903
0
}
8904
0
#line 8905 "Zend/zend_language_scanner.c"
8905
0
yy779:
8906
0
    YYDEBUG(779, *YYCURSOR);
8907
0
    ++YYCURSOR;
8908
0
    YYDEBUG(780, *YYCURSOR);
8909
0
    yyleng = YYCURSOR - SCNG(yy_text);
8910
0
#line 1642 "Zend/zend_language_scanner.l"
8911
0
    {
8912
0
  if (PARSER_MODE()) {
8913
0
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8914
0
    if (EG(exception)) {
8915
0
      RETURN_TOKEN(T_ERROR);
8916
0
    }
8917
0
  }
8918
0
  RETURN_TOKEN(T_INT_CAST);
8919
0
}
8920
0
#line 8921 "Zend/zend_language_scanner.c"
8921
3.52k
yy781:
8922
3.52k
    YYDEBUG(781, *YYCURSOR);
8923
3.52k
    yyaccept = 4;
8924
3.52k
    yych = *(YYMARKER = ++YYCURSOR);
8925
3.52k
    if (yych == 'E') goto yy822;
8926
1.35k
    if (yych == 'e') goto yy822;
8927
8
    goto yy48;
8928
3.07k
yy782:
8929
3.07k
    YYDEBUG(782, *YYCURSOR);
8930
3.07k
    yyaccept = 4;
8931
3.07k
    yych = *(YYMARKER = ++YYCURSOR);
8932
3.07k
    if (yych == 'H') goto yy824;
8933
1.09k
    if (yych == 'h') goto yy824;
8934
32
    goto yy48;
8935
1.72k
yy783:
8936
1.72k
    YYDEBUG(783, *YYCURSOR);
8937
1.72k
    yyaccept = 76;
8938
1.72k
    yych = *(YYMARKER = ++YYCURSOR);
8939
1.72k
    if (yybm[256+yych] & 128) {
8940
106
      goto yy47;
8941
106
    }
8942
1.61k
    if (yych == '\\') goto yy164;
8943
1.61k
yy784:
8944
1.61k
    YYDEBUG(784, *YYCURSOR);
8945
1.61k
    yyleng = YYCURSOR - SCNG(yy_text);
8946
1.61k
#line 1522 "Zend/zend_language_scanner.l"
8947
1.61k
    {
8948
1.61k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8949
1.61k
}
8950
0
#line 8951 "Zend/zend_language_scanner.c"
8951
575
yy785:
8952
575
    YYDEBUG(785, *YYCURSOR);
8953
575
    yych = *++YYCURSOR;
8954
575
    if (yych == 'N') goto yy826;
8955
575
    if (yych == 'n') goto yy826;
8956
409
    goto yy86;
8957
2.47k
yy786:
8958
2.47k
    YYDEBUG(786, *YYCURSOR);
8959
2.47k
    yych = *++YYCURSOR;
8960
2.47k
    if (yych == 'E') goto yy827;
8961
1.82k
    if (yych == 'e') goto yy827;
8962
675
    goto yy86;
8963
467k
yy787:
8964
467k
    YYDEBUG(787, *YYCURSOR);
8965
467k
    ++YYCURSOR;
8966
467k
    YYFILL(1);
8967
467k
    yych = *YYCURSOR;
8968
467k
    YYDEBUG(788, *YYCURSOR);
8969
467k
    if (yych <= '@') {
8970
434k
      if (yych <= ' ') {
8971
58.3k
        if (yych <= '\n') {
8972
4.95k
          if (yych <= 0x00) goto yy86;
8973
4.27k
          if (yych <= 0x08) goto yy590;
8974
3.80k
          goto yy787;
8975
53.3k
        } else {
8976
53.3k
          if (yych == '\r') goto yy787;
8977
11.9k
          if (yych <= 0x1F) goto yy590;
8978
10.1k
          goto yy787;
8979
11.9k
        }
8980
376k
      } else {
8981
376k
        if (yych <= ')') {
8982
244k
          if (yych == '#') goto yy828;
8983
19.6k
          goto yy590;
8984
244k
        } else {
8985
131k
          if (yych <= '*') goto yy668;
8986
131k
          if (yych == '/') goto yy829;
8987
15.3k
          goto yy590;
8988
131k
        }
8989
376k
      }
8990
434k
    } else {
8991
33.3k
      if (yych <= '_') {
8992
3.10k
        if (yych <= 'H') {
8993
698
          if (yych == 'E') goto yy831;
8994
626
          goto yy830;
8995
2.41k
        } else {
8996
2.41k
          if (yych <= 'I') goto yy832;
8997
2.38k
          if (yych <= 'Z') goto yy830;
8998
295
          if (yych <= '^') goto yy590;
8999
124
          goto yy830;
9000
295
        }
9001
30.2k
      } else {
9002
30.2k
        if (yych <= 'h') {
9003
7.51k
          if (yych <= '`') goto yy590;
9004
7.23k
          if (yych == 'e') goto yy831;
9005
1.11k
          goto yy830;
9006
22.7k
        } else {
9007
22.7k
          if (yych <= 'i') goto yy832;
9008
17.2k
          if (yych <= 'z') goto yy830;
9009
14.3k
          if (yych <= 0x7F) goto yy590;
9010
3.57k
          goto yy830;
9011
14.3k
        }
9012
30.2k
      }
9013
33.3k
    }
9014
41.3k
yy789:
9015
41.3k
    YYDEBUG(789, *YYCURSOR);
9016
41.3k
    ++YYCURSOR;
9017
41.3k
    YYFILL(1);
9018
41.3k
    yych = *YYCURSOR;
9019
41.3k
    YYDEBUG(790, *YYCURSOR);
9020
41.3k
    if (yych <= '\r') {
9021
1.85k
      if (yych <= '\t') {
9022
53
        if (yych <= 0x00) goto yy86;
9023
6
        goto yy738;
9024
1.79k
      } else {
9025
1.79k
        if (yych <= '\n') goto yy787;
9026
1.06k
        if (yych <= '\f') goto yy738;
9027
672
        goto yy787;
9028
1.06k
      }
9029
39.5k
    } else {
9030
39.5k
      if (yych <= '*') {
9031
16.3k
        if (yych <= ')') goto yy738;
9032
255
        goto yy789;
9033
23.1k
      } else {
9034
23.1k
        if (yych == '/') goto yy588;
9035
5.91k
        goto yy738;
9036
23.1k
      }
9037
39.5k
    }
9038
2.62k
yy791:
9039
2.62k
    YYDEBUG(791, *YYCURSOR);
9040
2.62k
    ++YYCURSOR;
9041
2.62k
    YYFILL(1);
9042
2.62k
    yych = *YYCURSOR;
9043
2.62k
    if (yych <= '\r') {
9044
47
      if (yych <= '\t') {
9045
18
        if (yych <= 0x00) goto yy86;
9046
0
        goto yy586;
9047
29
      } else {
9048
29
        if (yych <= '\n') goto yy495;
9049
8
        if (yych <= '\f') goto yy586;
9050
8
        goto yy495;
9051
8
      }
9052
2.57k
    } else {
9053
2.57k
      if (yych <= 'E') {
9054
188
        if (yych <= 'D') goto yy586;
9055
188
        goto yy833;
9056
2.38k
      } else {
9057
2.38k
        if (yych == 'e') goto yy833;
9058
68
        goto yy586;
9059
2.38k
      }
9060
2.57k
    }
9061
5.40k
yy792:
9062
5.40k
    YYDEBUG(792, *YYCURSOR);
9063
5.40k
    ++YYCURSOR;
9064
5.40k
    YYFILL(1);
9065
5.40k
    yych = *YYCURSOR;
9066
5.40k
    if (yych <= '\r') {
9067
225
      if (yych <= '\t') {
9068
57
        if (yych <= 0x00) goto yy86;
9069
9
        goto yy586;
9070
168
      } else {
9071
168
        if (yych <= '\n') goto yy495;
9072
131
        if (yych <= '\f') goto yy586;
9073
23
        goto yy495;
9074
131
      }
9075
5.17k
    } else {
9076
5.17k
      if (yych <= 'L') {
9077
68
        if (yych <= 'K') goto yy586;
9078
68
        goto yy834;
9079
5.11k
      } else {
9080
5.11k
        if (yych == 'l') goto yy834;
9081
40
        goto yy586;
9082
5.11k
      }
9083
5.17k
    }
9084
5.54k
yy793:
9085
5.54k
    YYDEBUG(793, *YYCURSOR);
9086
5.54k
    yyaccept = 4;
9087
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
9088
5.54k
    if (yych == 'S') goto yy835;
9089
1.09k
    if (yych == 's') goto yy835;
9090
708
    goto yy48;
9091
1.45k
yy794:
9092
1.45k
    YYDEBUG(794, *YYCURSOR);
9093
1.45k
    yyaccept = 4;
9094
1.45k
    yych = *(YYMARKER = ++YYCURSOR);
9095
1.45k
    if (yych == 'N') goto yy837;
9096
887
    if (yych == 'n') goto yy837;
9097
81
    goto yy48;
9098
3.80k
yy795:
9099
3.80k
    YYDEBUG(795, *YYCURSOR);
9100
3.80k
    yyaccept = 4;
9101
3.80k
    yych = *(YYMARKER = ++YYCURSOR);
9102
3.80k
    if (yych == 'F') goto yy838;
9103
2.02k
    if (yych == 'f') goto yy838;
9104
294
    goto yy48;
9105
3.10k
yy796:
9106
3.10k
    YYDEBUG(796, *YYCURSOR);
9107
3.10k
    yyaccept = 77;
9108
3.10k
    yych = *(YYMARKER = ++YYCURSOR);
9109
3.10k
    if (yybm[256+yych] & 128) {
9110
46
      goto yy47;
9111
46
    }
9112
3.06k
    if (yych == '\\') goto yy164;
9113
3.06k
yy797:
9114
3.06k
    YYDEBUG(797, *YYCURSOR);
9115
3.06k
    yyleng = YYCURSOR - SCNG(yy_text);
9116
3.06k
#line 1746 "Zend/zend_language_scanner.l"
9117
3.06k
    {
9118
3.06k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9119
3.06k
}
9120
0
#line 9121 "Zend/zend_language_scanner.c"
9121
3.16k
yy798:
9122
3.16k
    YYDEBUG(798, *YYCURSOR);
9123
3.16k
    yyaccept = 78;
9124
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
9125
3.16k
    if (yybm[256+yych] & 128) {
9126
21
      goto yy47;
9127
21
    }
9128
3.14k
    if (yych == '\\') goto yy164;
9129
3.14k
yy799:
9130
3.14k
    YYDEBUG(799, *YYCURSOR);
9131
3.14k
    yyleng = YYCURSOR - SCNG(yy_text);
9132
3.14k
#line 1558 "Zend/zend_language_scanner.l"
9133
3.14k
    {
9134
3.14k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9135
3.14k
}
9136
0
#line 9137 "Zend/zend_language_scanner.c"
9137
4.09k
yy800:
9138
4.09k
    YYDEBUG(800, *YYCURSOR);
9139
4.09k
    yyaccept = 79;
9140
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
9141
4.09k
    if (yybm[256+yych] & 128) {
9142
156
      goto yy47;
9143
156
    }
9144
3.94k
    if (yych == '\\') goto yy840;
9145
3.85k
yy801:
9146
3.85k
    YYDEBUG(801, *YYCURSOR);
9147
3.85k
    yyleng = YYCURSOR - SCNG(yy_text);
9148
3.85k
#line 1738 "Zend/zend_language_scanner.l"
9149
3.85k
    {
9150
3.85k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9151
3.85k
}
9152
0
#line 9153 "Zend/zend_language_scanner.c"
9153
639
yy802:
9154
639
    YYDEBUG(802, *YYCURSOR);
9155
639
    yych = *++YYCURSOR;
9156
639
    if (yych == 'E') goto yy841;
9157
639
    if (yych == 'e') goto yy841;
9158
52
    goto yy86;
9159
3.46k
yy803:
9160
3.46k
    YYDEBUG(803, *YYCURSOR);
9161
3.46k
    yyaccept = 80;
9162
3.46k
    yych = *(YYMARKER = ++YYCURSOR);
9163
3.46k
    if (yybm[256+yych] & 128) {
9164
79
      goto yy47;
9165
79
    }
9166
3.38k
    if (yych == '(') goto yy842;
9167
3.14k
    if (yych == '\\') goto yy164;
9168
3.27k
yy804:
9169
3.27k
    YYDEBUG(804, *YYCURSOR);
9170
3.27k
    yyleng = YYCURSOR - SCNG(yy_text);
9171
3.27k
#line 1782 "Zend/zend_language_scanner.l"
9172
3.27k
    {
9173
3.27k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9174
3.27k
}
9175
0
#line 9176 "Zend/zend_language_scanner.c"
9176
121
yy805:
9177
121
    YYDEBUG(805, *YYCURSOR);
9178
121
    yych = *++YYCURSOR;
9179
121
    if (yych == 'T') goto yy843;
9180
121
    if (yych == 't') goto yy843;
9181
0
    goto yy86;
9182
2.91k
yy806:
9183
2.91k
    YYDEBUG(806, *YYCURSOR);
9184
2.91k
    yyaccept = 4;
9185
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
9186
2.91k
    if (yych == 'N') goto yy844;
9187
1.67k
    if (yych == 'n') goto yy844;
9188
70
    goto yy48;
9189
613
yy807:
9190
613
    YYDEBUG(807, *YYCURSOR);
9191
613
    yych = *++YYCURSOR;
9192
613
    if (yych == 'M') goto yy845;
9193
187
    if (yych == 'm') goto yy845;
9194
6
    goto yy86;
9195
1.19M
yy808:
9196
1.19M
    YYDEBUG(808, *YYCURSOR);
9197
1.19M
    ++YYCURSOR;
9198
1.19M
    YYFILL(1);
9199
1.19M
    yych = *YYCURSOR;
9200
1.19M
    YYDEBUG(809, *YYCURSOR);
9201
1.19M
    if (yych <= '\f') {
9202
95.8k
      if (yych <= 0x00) goto yy86;
9203
93.1k
      if (yych == '\n') goto yy846;
9204
5.22k
      goto yy808;
9205
1.10M
    } else {
9206
1.10M
      if (yych <= '\r') goto yy846;
9207
1.05M
      if (yych == '*') goto yy848;
9208
1.01M
      goto yy808;
9209
1.05M
    }
9210
5.79k
yy810:
9211
5.79k
    YYDEBUG(810, *YYCURSOR);
9212
5.79k
    ++YYCURSOR;
9213
5.79k
    YYFILL(1);
9214
5.79k
    yych = *YYCURSOR;
9215
5.79k
    if (yych <= '\r') {
9216
856
      if (yych <= '\t') {
9217
121
        if (yych <= 0x00) goto yy86;
9218
121
        goto yy692;
9219
735
      } else {
9220
735
        if (yych <= '\n') goto yy616;
9221
703
        if (yych <= '\f') goto yy692;
9222
45
        goto yy616;
9223
703
      }
9224
4.93k
    } else {
9225
4.93k
      if (yych <= 'O') {
9226
3.47k
        if (yych <= 'N') goto yy692;
9227
3.42k
        goto yy850;
9228
3.47k
      } else {
9229
1.45k
        if (yych == 'o') goto yy850;
9230
45
        goto yy692;
9231
1.45k
      }
9232
4.93k
    }
9233
2.32k
yy811:
9234
2.32k
    YYDEBUG(811, *YYCURSOR);
9235
2.32k
    yyaccept = 81;
9236
2.32k
    yych = *(YYMARKER = ++YYCURSOR);
9237
2.32k
    if (yybm[256+yych] & 128) {
9238
24
      goto yy47;
9239
24
    }
9240
2.29k
    if (yych == '\\') goto yy164;
9241
2.29k
yy812:
9242
2.29k
    YYDEBUG(812, *YYCURSOR);
9243
2.29k
    yyleng = YYCURSOR - SCNG(yy_text);
9244
2.29k
#line 2253 "Zend/zend_language_scanner.l"
9245
2.29k
    {
9246
2.29k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9247
2.29k
}
9248
0
#line 9249 "Zend/zend_language_scanner.c"
9249
2.95k
yy813:
9250
2.95k
    YYDEBUG(813, *YYCURSOR);
9251
2.95k
    yyaccept = 4;
9252
2.95k
    yych = *(YYMARKER = ++YYCURSOR);
9253
2.95k
    if (yych == 'N') goto yy851;
9254
234
    if (yych == 'n') goto yy851;
9255
234
    goto yy48;
9256
234
yy814:
9257
118
    YYDEBUG(814, *YYCURSOR);
9258
118
    yyaccept = 4;
9259
118
    yych = *(YYMARKER = ++YYCURSOR);
9260
118
    if (yych == 'M') goto yy852;
9261
2
    if (yych == 'm') goto yy852;
9262
0
    goto yy48;
9263
3.11k
yy815:
9264
3.11k
    YYDEBUG(815, *YYCURSOR);
9265
3.11k
    yyaccept = 4;
9266
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
9267
3.11k
    if (yych == '_') goto yy853;
9268
295
    goto yy48;
9269
3.44k
yy816:
9270
3.44k
    YYDEBUG(816, *YYCURSOR);
9271
3.44k
    yyaccept = 4;
9272
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
9273
3.44k
    if (yych == 'C') goto yy855;
9274
190
    if (yych == 'c') goto yy855;
9275
0
    goto yy48;
9276
293
yy817:
9277
293
    YYDEBUG(817, *YYCURSOR);
9278
293
    yyaccept = 4;
9279
293
    yych = *(YYMARKER = ++YYCURSOR);
9280
293
    if (yych == 'Y') goto yy856;
9281
103
    if (yych == 'y') goto yy856;
9282
68
    goto yy48;
9283
2.03k
yy818:
9284
2.03k
    YYDEBUG(818, *YYCURSOR);
9285
2.03k
    yyaccept = 82;
9286
2.03k
    yych = *(YYMARKER = ++YYCURSOR);
9287
2.03k
    if (yybm[256+yych] & 128) {
9288
178
      goto yy47;
9289
178
    }
9290
1.85k
    if (yych == '\\') goto yy164;
9291
1.85k
yy819:
9292
1.85k
    YYDEBUG(819, *YYCURSOR);
9293
1.85k
    yyleng = YYCURSOR - SCNG(yy_text);
9294
1.85k
#line 2257 "Zend/zend_language_scanner.l"
9295
1.85k
    {
9296
1.85k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9297
1.85k
}
9298
0
#line 9299 "Zend/zend_language_scanner.c"
9299
381
yy820:
9300
381
    YYDEBUG(820, *YYCURSOR);
9301
381
    ++YYCURSOR;
9302
381
    YYFILL(1);
9303
381
    yych = *YYCURSOR;
9304
381
    if (yych <= '\r') {
9305
65
      if (yych <= '\t') {
9306
16
        if (yych <= 0x00) goto yy86;
9307
10
        goto yy443;
9308
49
      } else {
9309
49
        if (yych <= '\n') goto yy545;
9310
0
        if (yych <= '\f') goto yy443;
9311
0
        goto yy545;
9312
0
      }
9313
316
    } else {
9314
316
      if (yych <= '*') {
9315
282
        if (yych <= ')') goto yy443;
9316
32
        goto yy547;
9317
282
      } else {
9318
34
        if (yych == '.') goto yy774;
9319
28
        goto yy443;
9320
34
      }
9321
316
    }
9322
23.6k
yy821:
9323
23.6k
    YYDEBUG(821, *YYCURSOR);
9324
23.6k
    ++YYCURSOR;
9325
23.6k
    YYFILL(1);
9326
23.6k
    yych = *YYCURSOR;
9327
23.6k
    if (yych <= '\r') {
9328
483
      if (yych <= '\t') {
9329
277
        if (yych <= 0x00) goto yy86;
9330
141
        goto yy443;
9331
277
      } else {
9332
206
        if (yych <= '\n') goto yy545;
9333
71
        if (yych <= '\f') goto yy443;
9334
11
        goto yy545;
9335
71
      }
9336
23.1k
    } else {
9337
23.1k
      if (yych <= '*') {
9338
660
        if (yych <= ')') goto yy443;
9339
37
        goto yy547;
9340
22.4k
      } else {
9341
22.4k
        if (yych == '/') goto yy709;
9342
868
        goto yy443;
9343
22.4k
      }
9344
23.1k
    }
9345
3.51k
yy822:
9346
3.51k
    YYDEBUG(822, *YYCURSOR);
9347
3.51k
    yyaccept = 83;
9348
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
9349
3.51k
    if (yybm[256+yych] & 128) {
9350
124
      goto yy47;
9351
124
    }
9352
3.38k
    if (yych == '\\') goto yy164;
9353
3.38k
yy823:
9354
3.38k
    YYDEBUG(823, *YYCURSOR);
9355
3.38k
    yyleng = YYCURSOR - SCNG(yy_text);
9356
3.38k
#line 1502 "Zend/zend_language_scanner.l"
9357
3.38k
    {
9358
3.38k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9359
3.38k
}
9360
0
#line 9361 "Zend/zend_language_scanner.c"
9361
3.04k
yy824:
9362
3.04k
    YYDEBUG(824, *YYCURSOR);
9363
3.04k
    yyaccept = 84;
9364
3.04k
    yych = *(YYMARKER = ++YYCURSOR);
9365
3.04k
    if (yybm[256+yych] & 128) {
9366
0
      goto yy47;
9367
0
    }
9368
3.04k
    if (yych == '\\') goto yy164;
9369
3.04k
yy825:
9370
3.04k
    YYDEBUG(825, *YYCURSOR);
9371
3.04k
    yyleng = YYCURSOR - SCNG(yy_text);
9372
3.04k
#line 1494 "Zend/zend_language_scanner.l"
9373
3.04k
    {
9374
3.04k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9375
3.04k
}
9376
0
#line 9377 "Zend/zend_language_scanner.c"
9377
166
yy826:
9378
166
    YYDEBUG(826, *YYCURSOR);
9379
166
    yych = *++YYCURSOR;
9380
166
    if (yych == 'D') goto yy857;
9381
163
    if (yych == 'd') goto yy857;
9382
19
    goto yy86;
9383
1.79k
yy827:
9384
1.79k
    YYDEBUG(827, *YYCURSOR);
9385
1.79k
    yych = *++YYCURSOR;
9386
1.79k
    if (yych == 'M') goto yy858;
9387
1.74k
    if (yych == 'm') goto yy858;
9388
518
    goto yy86;
9389
224k
yy828:
9390
224k
    YYDEBUG(828, *YYCURSOR);
9391
224k
    ++YYCURSOR;
9392
224k
    YYFILL(1);
9393
224k
    yych = *YYCURSOR;
9394
224k
    if (yych <= '\r') {
9395
166k
      if (yych <= '\t') {
9396
7.51k
        if (yych <= 0x00) goto yy86;
9397
7.02k
        goto yy738;
9398
158k
      } else {
9399
158k
        if (yych <= '\n') goto yy859;
9400
22.1k
        if (yych <= '\f') goto yy738;
9401
17.2k
        goto yy859;
9402
22.1k
      }
9403
166k
    } else {
9404
58.5k
      if (yych <= '*') {
9405
11.1k
        if (yych <= ')') goto yy738;
9406
2.66k
        goto yy789;
9407
47.4k
      } else {
9408
47.4k
        if (yych == '[') goto yy590;
9409
47.4k
        goto yy738;
9410
47.4k
      }
9411
58.5k
    }
9412
116k
yy829:
9413
116k
    YYDEBUG(829, *YYCURSOR);
9414
116k
    ++YYCURSOR;
9415
116k
    YYFILL(1);
9416
116k
    yych = *YYCURSOR;
9417
116k
    if (yych <= '*') {
9418
113k
      if (yych <= 0x00) goto yy86;
9419
113k
      if (yych <= ')') goto yy590;
9420
112k
      goto yy861;
9421
113k
    } else {
9422
2.12k
      if (yych == '/') goto yy738;
9423
896
      goto yy590;
9424
2.12k
    }
9425
10.4k
yy830:
9426
10.4k
    YYDEBUG(830, *YYCURSOR);
9427
10.4k
    yyaccept = 53;
9428
10.4k
    YYMARKER = ++YYCURSOR;
9429
10.4k
    YYFILL(1);
9430
10.4k
    yych = *YYCURSOR;
9431
10.4k
    if (yych <= 0x00) goto yy583;
9432
10.4k
    if (yych == '*') goto yy668;
9433
10.3k
    goto yy590;
9434
10.3k
yy831:
9435
6.19k
    YYDEBUG(831, *YYCURSOR);
9436
6.19k
    yyaccept = 53;
9437
6.19k
    YYMARKER = ++YYCURSOR;
9438
6.19k
    YYFILL(1);
9439
6.19k
    yych = *YYCURSOR;
9440
6.19k
    if (yych <= 'W') {
9441
699
      if (yych <= 0x00) goto yy583;
9442
669
      if (yych == '*') goto yy668;
9443
539
      goto yy590;
9444
5.49k
    } else {
9445
5.49k
      if (yych <= 'X') goto yy862;
9446
5.49k
      if (yych == 'x') goto yy862;
9447
204
      goto yy590;
9448
5.49k
    }
9449
5.51k
yy832:
9450
5.51k
    YYDEBUG(832, *YYCURSOR);
9451
5.51k
    yyaccept = 53;
9452
5.51k
    YYMARKER = ++YYCURSOR;
9453
5.51k
    YYFILL(1);
9454
5.51k
    yych = *YYCURSOR;
9455
5.51k
    if (yych <= 'L') {
9456
599
      if (yych <= 0x00) goto yy583;
9457
297
      if (yych == '*') goto yy668;
9458
276
      goto yy590;
9459
4.91k
    } else {
9460
4.91k
      if (yych <= 'M') goto yy863;
9461
3.68k
      if (yych == 'm') goto yy863;
9462
7
      goto yy590;
9463
3.68k
    }
9464
2.50k
yy833:
9465
2.50k
    YYDEBUG(833, *YYCURSOR);
9466
2.50k
    ++YYCURSOR;
9467
2.50k
    YYFILL(1);
9468
2.50k
    yych = *YYCURSOR;
9469
2.50k
    if (yych <= '\r') {
9470
1.39k
      if (yych <= '\t') {
9471
343
        if (yych <= 0x00) goto yy86;
9472
239
        goto yy586;
9473
1.05k
      } else {
9474
1.05k
        if (yych <= '\n') goto yy495;
9475
1.04k
        if (yych <= '\f') goto yy586;
9476
1.04k
        goto yy495;
9477
1.04k
      }
9478
1.39k
    } else {
9479
1.11k
      if (yych <= 'N') {
9480
24
        if (yych <= 'M') goto yy586;
9481
8
        goto yy864;
9482
1.09k
      } else {
9483
1.09k
        if (yych == 'n') goto yy864;
9484
0
        goto yy586;
9485
1.09k
      }
9486
1.11k
    }
9487
5.13k
yy834:
9488
5.13k
    YYDEBUG(834, *YYCURSOR);
9489
5.13k
    ++YYCURSOR;
9490
5.13k
    YYFILL(1);
9491
5.13k
    yych = *YYCURSOR;
9492
5.13k
    if (yych <= '\r') {
9493
154
      if (yych <= '\t') {
9494
53
        if (yych <= 0x00) goto yy86;
9495
3
        goto yy586;
9496
101
      } else {
9497
101
        if (yych <= '\n') goto yy495;
9498
44
        if (yych <= '\f') goto yy586;
9499
44
        goto yy495;
9500
44
      }
9501
4.98k
    } else {
9502
4.98k
      if (yych <= 'E') {
9503
2.09k
        if (yych <= 'D') goto yy586;
9504
1.45k
        goto yy865;
9505
2.88k
      } else {
9506
2.88k
        if (yych == 'e') goto yy865;
9507
68
        goto yy586;
9508
2.88k
      }
9509
4.98k
    }
9510
4.83k
yy835:
9511
4.83k
    YYDEBUG(835, *YYCURSOR);
9512
4.83k
    yyaccept = 85;
9513
4.83k
    yych = *(YYMARKER = ++YYCURSOR);
9514
4.83k
    if (yybm[256+yych] & 128) {
9515
0
      goto yy47;
9516
0
    }
9517
4.83k
    if (yych == '\\') goto yy164;
9518
4.79k
yy836:
9519
4.79k
    YYDEBUG(836, *YYCURSOR);
9520
4.79k
    yyleng = YYCURSOR - SCNG(yy_text);
9521
4.79k
#line 1583 "Zend/zend_language_scanner.l"
9522
4.79k
    {
9523
4.79k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9524
4.79k
}
9525
0
#line 9526 "Zend/zend_language_scanner.c"
9526
1.36k
yy837:
9527
1.36k
    YYDEBUG(837, *YYCURSOR);
9528
1.36k
    yyaccept = 4;
9529
1.36k
    yych = *(YYMARKER = ++YYCURSOR);
9530
1.36k
    if (yych == 'C') goto yy866;
9531
806
    if (yych == 'c') goto yy866;
9532
77
    goto yy48;
9533
3.50k
yy838:
9534
3.50k
    YYDEBUG(838, *YYCURSOR);
9535
3.50k
    yyaccept = 86;
9536
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
9537
3.50k
    if (yybm[256+yych] & 128) {
9538
44
      goto yy47;
9539
44
    }
9540
3.46k
    if (yych == '\\') goto yy164;
9541
3.42k
yy839:
9542
3.42k
    YYDEBUG(839, *YYCURSOR);
9543
3.42k
    yyleng = YYCURSOR - SCNG(yy_text);
9544
3.42k
#line 1506 "Zend/zend_language_scanner.l"
9545
3.42k
    {
9546
3.42k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9547
3.42k
}
9548
0
#line 9549 "Zend/zend_language_scanner.c"
9549
340
yy840:
9550
340
    YYDEBUG(840, *YYCURSOR);
9551
340
    ++YYCURSOR;
9552
340
    YYFILL(1);
9553
340
    yych = *YYCURSOR;
9554
340
    if (yych <= '_') {
9555
183
      if (yych <= '@') goto yy86;
9556
12
      if (yych <= 'Z') goto yy867;
9557
0
      if (yych <= '^') goto yy86;
9558
0
      goto yy867;
9559
157
    } else {
9560
157
      if (yych <= '`') goto yy86;
9561
140
      if (yych <= 'z') goto yy867;
9562
76
      if (yych <= 0x7F) goto yy86;
9563
11
      goto yy867;
9564
76
    }
9565
587
yy841:
9566
587
    YYDEBUG(841, *YYCURSOR);
9567
587
    yych = *++YYCURSOR;
9568
587
    if (yych == 'T') goto yy870;
9569
498
    if (yych == 't') goto yy870;
9570
26
    goto yy86;
9571
241
yy842:
9572
241
    YYDEBUG(842, *YYCURSOR);
9573
241
    yych = *++YYCURSOR;
9574
241
    if (yych == 'S') goto yy871;
9575
206
    if (yych == 's') goto yy871;
9576
26
    goto yy86;
9577
121
yy843:
9578
121
    YYDEBUG(843, *YYCURSOR);
9579
121
    yych = *++YYCURSOR;
9580
121
    if (yych == ')') goto yy872;
9581
121
    goto yy86;
9582
2.84k
yy844:
9583
2.84k
    YYDEBUG(844, *YYCURSOR);
9584
2.84k
    yyaccept = 4;
9585
2.84k
    yych = *(YYMARKER = ++YYCURSOR);
9586
2.84k
    if (yych == 'C') goto yy874;
9587
1.60k
    if (yych == 'c') goto yy874;
9588
72
    goto yy48;
9589
607
yy845:
9590
607
    YYDEBUG(845, *YYCURSOR);
9591
607
    yych = *++YYCURSOR;
9592
607
    if (yych <= '^') {
9593
187
      if (yych <= '9') {
9594
155
        if (yych <= '/') goto yy875;
9595
35
        goto yy86;
9596
155
      } else {
9597
32
        if (yych <= '@') goto yy875;
9598
32
        if (yych <= 'Z') goto yy86;
9599
0
        goto yy875;
9600
32
      }
9601
420
    } else {
9602
420
      if (yych <= '`') {
9603
57
        if (yych <= '_') goto yy86;
9604
57
        goto yy875;
9605
363
      } else {
9606
363
        if (yych <= 'z') goto yy86;
9607
34
        if (yych <= 0x7F) goto yy875;
9608
34
        goto yy86;
9609
34
      }
9610
420
    }
9611
246k
yy846:
9612
246k
    YYDEBUG(846, *YYCURSOR);
9613
246k
    ++YYCURSOR;
9614
246k
    YYFILL(1);
9615
246k
    yych = *YYCURSOR;
9616
246k
    YYDEBUG(847, *YYCURSOR);
9617
246k
    if (yych <= '#') {
9618
156k
      if (yych <= '\f') {
9619
2.19k
        if (yych <= 0x00) goto yy86;
9620
1.79k
        if (yych <= 0x08) goto yy696;
9621
1.48k
        if (yych <= '\n') goto yy846;
9622
139
        goto yy696;
9623
154k
      } else {
9624
154k
        if (yych <= 0x1F) {
9625
47.0k
          if (yych <= '\r') goto yy846;
9626
770
          goto yy696;
9627
107k
        } else {
9628
107k
          if (yych <= ' ') goto yy846;
9629
100k
          if (yych <= '"') goto yy696;
9630
100k
          goto yy877;
9631
100k
        }
9632
154k
      }
9633
156k
    } else {
9634
90.0k
      if (yych <= '/') {
9635
71.9k
        if (yych == '*') goto yy760;
9636
71.7k
        if (yych <= '.') goto yy696;
9637
54.7k
        goto yy878;
9638
71.7k
      } else {
9639
18.0k
        if (yych <= 'F') {
9640
4.02k
          if (yych <= 'E') goto yy696;
9641
1.17k
          goto yy879;
9642
14.0k
        } else {
9643
14.0k
          if (yych == 'f') goto yy879;
9644
12.9k
          goto yy696;
9645
14.0k
        }
9646
18.0k
      }
9647
90.0k
    }
9648
38.7k
yy848:
9649
38.7k
    YYDEBUG(848, *YYCURSOR);
9650
38.7k
    ++YYCURSOR;
9651
38.7k
    YYFILL(1);
9652
38.7k
    yych = *YYCURSOR;
9653
38.7k
    YYDEBUG(849, *YYCURSOR);
9654
38.7k
    if (yych <= '\r') {
9655
2.75k
      if (yych <= '\t') {
9656
40
        if (yych <= 0x00) goto yy86;
9657
0
        goto yy808;
9658
2.71k
      } else {
9659
2.71k
        if (yych <= '\n') goto yy846;
9660
1.56k
        if (yych <= '\f') goto yy808;
9661
1.33k
        goto yy846;
9662
1.56k
      }
9663
35.9k
    } else {
9664
35.9k
      if (yych <= '*') {
9665
15.8k
        if (yych <= ')') goto yy808;
9666
202
        goto yy848;
9667
20.1k
      } else {
9668
20.1k
        if (yych == '/') goto yy694;
9669
2.46k
        goto yy808;
9670
20.1k
      }
9671
35.9k
    }
9672
4.83k
yy850:
9673
4.83k
    YYDEBUG(850, *YYCURSOR);
9674
4.83k
    ++YYCURSOR;
9675
4.83k
    YYFILL(1);
9676
4.83k
    yych = *YYCURSOR;
9677
4.83k
    if (yych <= '\r') {
9678
32
      if (yych <= '\t') {
9679
0
        if (yych <= 0x00) goto yy86;
9680
0
        goto yy692;
9681
32
      } else {
9682
32
        if (yych <= '\n') goto yy616;
9683
6
        if (yych <= '\f') goto yy692;
9684
0
        goto yy616;
9685
6
      }
9686
4.80k
    } else {
9687
4.80k
      if (yych <= 'M') {
9688
3.71k
        if (yych <= 'L') goto yy692;
9689
3.71k
        goto yy880;
9690
3.71k
      } else {
9691
1.08k
        if (yych == 'm') goto yy880;
9692
288
        goto yy692;
9693
1.08k
      }
9694
4.80k
    }
9695
2.71k
yy851:
9696
2.71k
    YYDEBUG(851, *YYCURSOR);
9697
2.71k
    yyaccept = 4;
9698
2.71k
    yych = *(YYMARKER = ++YYCURSOR);
9699
2.71k
    if (yych == '_') goto yy881;
9700
1
    goto yy48;
9701
118
yy852:
9702
118
    YYDEBUG(852, *YYCURSOR);
9703
118
    yyaccept = 4;
9704
118
    yych = *(YYMARKER = ++YYCURSOR);
9705
118
    if (yych == 'P') goto yy882;
9706
15
    if (yych == 'p') goto yy882;
9707
13
    goto yy48;
9708
2.82k
yy853:
9709
2.82k
    YYDEBUG(853, *YYCURSOR);
9710
2.82k
    yyaccept = 87;
9711
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
9712
2.82k
    if (yybm[256+yych] & 128) {
9713
304
      goto yy47;
9714
304
    }
9715
2.52k
    if (yych == '\\') goto yy164;
9716
2.52k
yy854:
9717
2.52k
    YYDEBUG(854, *YYCURSOR);
9718
2.52k
    yyleng = YYCURSOR - SCNG(yy_text);
9719
2.52k
#line 2269 "Zend/zend_language_scanner.l"
9720
2.52k
    {
9721
2.52k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9722
2.52k
}
9723
0
#line 9724 "Zend/zend_language_scanner.c"
9724
3.44k
yy855:
9725
3.44k
    YYDEBUG(855, *YYCURSOR);
9726
3.44k
    yyaccept = 4;
9727
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
9728
3.44k
    if (yych == 'E') goto yy883;
9729
190
    if (yych == 'e') goto yy883;
9730
0
    goto yy48;
9731
225
yy856:
9732
225
    YYDEBUG(856, *YYCURSOR);
9733
225
    yyaccept = 4;
9734
225
    yych = *(YYMARKER = ++YYCURSOR);
9735
225
    if (yych == '_') goto yy884;
9736
35
    goto yy48;
9737
299
yy857:
9738
299
    YYDEBUG(857, *YYCURSOR);
9739
299
    yych = *++YYCURSOR;
9740
299
    if (yych == 'S') goto yy885;
9741
159
    if (yych == 's') goto yy885;
9742
155
    goto yy86;
9743
1.27k
yy858:
9744
1.27k
    YYDEBUG(858, *YYCURSOR);
9745
1.27k
    yych = *++YYCURSOR;
9746
1.27k
    if (yych == 'E') goto yy887;
9747
934
    if (yych == 'e') goto yy887;
9748
321
    goto yy86;
9749
207k
yy859:
9750
207k
    YYDEBUG(859, *YYCURSOR);
9751
207k
    ++YYCURSOR;
9752
207k
    YYFILL(1);
9753
207k
    yych = *YYCURSOR;
9754
207k
    YYDEBUG(860, *YYCURSOR);
9755
207k
    if (yych <= '@') {
9756
93.5k
      if (yych <= 0x1F) {
9757
17.1k
        if (yych <= '\t') {
9758
3.52k
          if (yych <= 0x00) goto yy86;
9759
3.24k
          if (yych <= 0x08) goto yy738;
9760
3.00k
          goto yy859;
9761
13.5k
        } else {
9762
13.5k
          if (yych <= '\n') goto yy787;
9763
12.9k
          if (yych == '\r') goto yy787;
9764
686
          goto yy738;
9765
12.9k
        }
9766
76.4k
      } else {
9767
76.4k
        if (yych <= ')') {
9768
26.1k
          if (yych <= ' ') goto yy859;
9769
26.0k
          if (yych == '#') goto yy888;
9770
1.73k
          goto yy738;
9771
50.3k
        } else {
9772
50.3k
          if (yych <= '*') goto yy789;
9773
50.0k
          if (yych == '/') goto yy889;
9774
2.26k
          goto yy738;
9775
50.0k
        }
9776
76.4k
      }
9777
113k
    } else {
9778
113k
      if (yych <= '_') {
9779
17.5k
        if (yych <= 'H') {
9780
499
          if (yych == 'E') goto yy891;
9781
443
          goto yy890;
9782
17.0k
        } else {
9783
17.0k
          if (yych <= 'I') goto yy892;
9784
16.8k
          if (yych <= 'Z') goto yy890;
9785
103
          if (yych <= '^') goto yy738;
9786
3
          goto yy890;
9787
103
        }
9788
96.1k
      } else {
9789
96.1k
        if (yych <= 'h') {
9790
42.8k
          if (yych <= '`') goto yy738;
9791
42.3k
          if (yych == 'e') goto yy891;
9792
450
          goto yy890;
9793
53.2k
        } else {
9794
53.2k
          if (yych <= 'i') goto yy892;
9795
35.5k
          if (yych <= 'z') goto yy890;
9796
32.0k
          if (yych <= 0x7F) goto yy738;
9797
13.0k
          goto yy890;
9798
32.0k
        }
9799
96.1k
      }
9800
113k
    }
9801
112k
yy861:
9802
112k
    YYDEBUG(861, *YYCURSOR);
9803
112k
    ++YYCURSOR;
9804
112k
    YYFILL(1);
9805
112k
    yych = *YYCURSOR;
9806
112k
    if (yych <= '*') {
9807
886
      if (yych <= 0x00) goto yy86;
9808
800
      if (yych <= ')') goto yy590;
9809
340
      goto yy668;
9810
111k
    } else {
9811
111k
      if (yych == '/') goto yy787;
9812
1.11k
      goto yy590;
9813
111k
    }
9814
5.28k
yy862:
9815
5.28k
    YYDEBUG(862, *YYCURSOR);
9816
5.28k
    ++YYCURSOR;
9817
5.28k
    YYFILL(1);
9818
5.28k
    yych = *YYCURSOR;
9819
5.28k
    if (yych <= 'S') {
9820
137
      if (yych <= 0x00) goto yy86;
9821
0
      if (yych == '*') goto yy668;
9822
0
      goto yy590;
9823
5.15k
    } else {
9824
5.15k
      if (yych <= 'T') goto yy893;
9825
5.15k
      if (yych == 't') goto yy893;
9826
4.65k
      goto yy590;
9827
5.15k
    }
9828
4.91k
yy863:
9829
4.91k
    YYDEBUG(863, *YYCURSOR);
9830
4.91k
    ++YYCURSOR;
9831
4.91k
    YYFILL(1);
9832
4.91k
    yych = *YYCURSOR;
9833
4.91k
    if (yych <= 'O') {
9834
1.62k
      if (yych <= 0x00) goto yy86;
9835
69
      if (yych == '*') goto yy668;
9836
57
      goto yy590;
9837
3.28k
    } else {
9838
3.28k
      if (yych <= 'P') goto yy894;
9839
3.21k
      if (yych == 'p') goto yy894;
9840
56
      goto yy590;
9841
3.21k
    }
9842
1.09k
yy864:
9843
1.09k
    YYDEBUG(864, *YYCURSOR);
9844
1.09k
    ++YYCURSOR;
9845
1.09k
    YYFILL(1);
9846
1.09k
    yych = *YYCURSOR;
9847
1.09k
    if (yych <= '\r') {
9848
117
      if (yych <= '\t') {
9849
100
        if (yych <= 0x00) goto yy86;
9850
4
        goto yy586;
9851
100
      } else {
9852
17
        if (yych <= '\n') goto yy495;
9853
1
        if (yych <= '\f') goto yy586;
9854
0
        goto yy495;
9855
1
      }
9856
982
    } else {
9857
982
      if (yych <= 'D') {
9858
318
        if (yych <= 'C') goto yy586;
9859
128
        goto yy895;
9860
664
      } else {
9861
664
        if (yych == 'd') goto yy895;
9862
225
        goto yy586;
9863
664
      }
9864
982
    }
9865
4.27k
yy865:
9866
4.27k
    YYDEBUG(865, *YYCURSOR);
9867
4.27k
    ++YYCURSOR;
9868
4.27k
    YYFILL(1);
9869
4.27k
    yych = *YYCURSOR;
9870
4.27k
    if (yych <= '\r') {
9871
321
      if (yych <= '\t') {
9872
195
        if (yych <= 0x00) goto yy86;
9873
194
        goto yy586;
9874
195
      } else {
9875
126
        if (yych <= '\n') goto yy495;
9876
41
        if (yych <= '\f') goto yy586;
9877
0
        goto yy495;
9878
41
      }
9879
3.95k
    } else {
9880
3.95k
      if (yych <= 'M') {
9881
353
        if (yych <= 'L') goto yy586;
9882
79
        goto yy896;
9883
3.59k
      } else {
9884
3.59k
        if (yych == 'm') goto yy896;
9885
1.98k
        goto yy586;
9886
3.59k
      }
9887
3.95k
    }
9888
1.29k
yy866:
9889
1.29k
    YYDEBUG(866, *YYCURSOR);
9890
1.29k
    yyaccept = 4;
9891
1.29k
    yych = *(YYMARKER = ++YYCURSOR);
9892
1.29k
    if (yych == 'E') goto yy897;
9893
729
    if (yych == 'e') goto yy897;
9894
0
    goto yy48;
9895
1.09k
yy867:
9896
1.09k
    YYDEBUG(867, *YYCURSOR);
9897
1.09k
    yyaccept = 88;
9898
1.09k
    YYMARKER = ++YYCURSOR;
9899
1.09k
    YYFILL(1);
9900
1.09k
    yych = *YYCURSOR;
9901
1.09k
    YYDEBUG(868, *YYCURSOR);
9902
1.09k
    if (yych <= '\\') {
9903
103
      if (yych <= '@') {
9904
87
        if (yych <= '/') goto yy869;
9905
43
        if (yych <= '9') goto yy867;
9906
43
      } else {
9907
16
        if (yych <= 'Z') goto yy867;
9908
5
        if (yych >= '\\') goto yy840;
9909
5
      }
9910
990
    } else {
9911
990
      if (yych <= '`') {
9912
0
        if (yych == '_') goto yy867;
9913
990
      } else {
9914
990
        if (yych <= 'z') goto yy867;
9915
785
        if (yych >= 0x80) goto yy867;
9916
785
      }
9917
990
    }
9918
87
yy869:
9919
87
    YYDEBUG(869, *YYCURSOR);
9920
87
    yyleng = YYCURSOR - SCNG(yy_text);
9921
87
#line 2439 "Zend/zend_language_scanner.l"
9922
87
    {
9923
87
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9924
87
}
9925
0
#line 9926 "Zend/zend_language_scanner.c"
9926
561
yy870:
9927
561
    YYDEBUG(870, *YYCURSOR);
9928
561
    yych = *++YYCURSOR;
9929
561
    if (yych == ')') goto yy899;
9930
210
    goto yy86;
9931
215
yy871:
9932
215
    YYDEBUG(871, *YYCURSOR);
9933
215
    yych = *++YYCURSOR;
9934
215
    if (yych == 'E') goto yy901;
9935
146
    if (yych == 'e') goto yy901;
9936
0
    goto yy86;
9937
0
yy872:
9938
0
    YYDEBUG(872, *YYCURSOR);
9939
0
    ++YYCURSOR;
9940
0
    YYDEBUG(873, *YYCURSOR);
9941
0
    yyleng = YYCURSOR - SCNG(yy_text);
9942
0
#line 1786 "Zend/zend_language_scanner.l"
9943
0
    {
9944
0
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9945
0
}
9946
0
#line 9947 "Zend/zend_language_scanner.c"
9947
2.77k
yy874:
9948
2.77k
    YYDEBUG(874, *YYCURSOR);
9949
2.77k
    yyaccept = 4;
9950
2.77k
    yych = *(YYMARKER = ++YYCURSOR);
9951
2.77k
    if (yych == 'E') goto yy902;
9952
1.53k
    if (yych == 'e') goto yy902;
9953
211
    goto yy48;
9954
211
yy875:
9955
177
    YYDEBUG(875, *YYCURSOR);
9956
177
    ++YYCURSOR;
9957
5.46k
yy876:
9958
5.46k
    YYDEBUG(876, *YYCURSOR);
9959
5.46k
    yyleng = YYCURSOR - SCNG(yy_text);
9960
5.46k
#line 1428 "Zend/zend_language_scanner.l"
9961
5.46k
    {
9962
5.46k
  yyless(yyleng - 1);
9963
5.46k
  HANDLE_NEWLINES(yytext, yyleng);
9964
5.46k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9965
5.46k
}
9966
0
#line 9967 "Zend/zend_language_scanner.c"
9967
100k
yy877:
9968
100k
    YYDEBUG(877, *YYCURSOR);
9969
100k
    ++YYCURSOR;
9970
100k
    YYFILL(1);
9971
100k
    yych = *YYCURSOR;
9972
100k
    if (yych <= '\r') {
9973
72.6k
      if (yych <= '\t') {
9974
324
        if (yych <= 0x00) goto yy86;
9975
260
        goto yy808;
9976
72.3k
      } else {
9977
72.3k
        if (yych <= '\n') goto yy904;
9978
7.37k
        if (yych <= '\f') goto yy808;
9979
7.11k
        goto yy904;
9980
7.37k
      }
9981
72.6k
    } else {
9982
27.4k
      if (yych <= '*') {
9983
888
        if (yych <= ')') goto yy808;
9984
435
        goto yy848;
9985
26.5k
      } else {
9986
26.5k
        if (yych == '[') goto yy696;
9987
26.4k
        goto yy808;
9988
26.5k
      }
9989
27.4k
    }
9990
54.7k
yy878:
9991
54.7k
    YYDEBUG(878, *YYCURSOR);
9992
54.7k
    ++YYCURSOR;
9993
54.7k
    YYFILL(1);
9994
54.7k
    yych = *YYCURSOR;
9995
54.7k
    if (yych <= '*') {
9996
54.0k
      if (yych <= 0x00) goto yy86;
9997
53.0k
      if (yych <= ')') goto yy696;
9998
52.7k
      goto yy906;
9999
53.0k
    } else {
10000
714
      if (yych == '/') goto yy808;
10001
540
      goto yy696;
10002
714
    }
10003
2.20k
yy879:
10004
2.20k
    YYDEBUG(879, *YYCURSOR);
10005
2.20k
    ++YYCURSOR;
10006
2.20k
    YYFILL(1);
10007
2.20k
    yych = *YYCURSOR;
10008
2.20k
    if (yych <= 'Q') {
10009
969
      if (yych <= 0x00) goto yy86;
10010
958
      if (yych == '*') goto yy760;
10011
944
      goto yy696;
10012
1.23k
    } else {
10013
1.23k
      if (yych <= 'R') goto yy907;
10014
90
      if (yych == 'r') goto yy907;
10015
18
      goto yy696;
10016
90
    }
10017
4.50k
yy880:
10018
4.50k
    YYDEBUG(880, *YYCURSOR);
10019
4.50k
    ++YYCURSOR;
10020
4.50k
    YYFILL(1);
10021
4.50k
    yych = *YYCURSOR;
10022
4.50k
    if (yych <= '9') {
10023
3.29k
      if (yych <= '\n') {
10024
1.15k
        if (yych <= 0x00) goto yy875;
10025
1.15k
        if (yych <= '\t') goto yy908;
10026
9
        goto yy909;
10027
2.13k
      } else {
10028
2.13k
        if (yych == '\r') goto yy909;
10029
154
        if (yych <= '/') goto yy908;
10030
106
        goto yy692;
10031
154
      }
10032
3.29k
    } else {
10033
1.21k
      if (yych <= '_') {
10034
868
        if (yych <= '@') goto yy908;
10035
729
        if (yych <= 'Z') goto yy692;
10036
111
        if (yych <= '^') goto yy908;
10037
56
        goto yy692;
10038
343
      } else {
10039
343
        if (yych <= '`') goto yy908;
10040
343
        if (yych <= 'z') goto yy692;
10041
55
        if (yych <= 0x7F) goto yy908;
10042
3
        goto yy692;
10043
55
      }
10044
1.21k
    }
10045
2.71k
yy881:
10046
2.71k
    YYDEBUG(881, *YYCURSOR);
10047
2.71k
    yyaccept = 4;
10048
2.71k
    yych = *(YYMARKER = ++YYCURSOR);
10049
2.71k
    if (yych == '_') goto yy910;
10050
91
    goto yy48;
10051
105
yy882:
10052
105
    YYDEBUG(882, *YYCURSOR);
10053
105
    yyaccept = 4;
10054
105
    yych = *(YYMARKER = ++YYCURSOR);
10055
105
    if (yych == 'I') goto yy912;
10056
2
    if (yych == 'i') goto yy912;
10057
0
    goto yy48;
10058
3.44k
yy883:
10059
3.44k
    YYDEBUG(883, *YYCURSOR);
10060
3.44k
    yyaccept = 4;
10061
3.44k
    yych = *(YYMARKER = ++YYCURSOR);
10062
3.44k
    if (yych == '_') goto yy913;
10063
98
    goto yy48;
10064
190
yy884:
10065
190
    YYDEBUG(884, *YYCURSOR);
10066
190
    yyaccept = 4;
10067
190
    yych = *(YYMARKER = ++YYCURSOR);
10068
190
    if (yych == '_') goto yy914;
10069
12
    goto yy48;
10070
144
yy885:
10071
144
    YYDEBUG(885, *YYCURSOR);
10072
144
    ++YYCURSOR;
10073
208
yy886:
10074
208
    YYDEBUG(886, *YYCURSOR);
10075
208
    yyleng = YYCURSOR - SCNG(yy_text);
10076
208
#line 1570 "Zend/zend_language_scanner.l"
10077
208
    {
10078
208
  yyless(4);
10079
208
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10080
208
}
10081
0
#line 10082 "Zend/zend_language_scanner.c"
10082
958
yy887:
10083
958
    YYDEBUG(887, *YYCURSOR);
10084
958
    yych = *++YYCURSOR;
10085
958
    if (yych == 'N') goto yy916;
10086
569
    if (yych == 'n') goto yy916;
10087
307
    goto yy86;
10088
24.2k
yy888:
10089
24.2k
    YYDEBUG(888, *YYCURSOR);
10090
24.2k
    ++YYCURSOR;
10091
24.2k
    YYFILL(1);
10092
24.2k
    yych = *YYCURSOR;
10093
24.2k
    if (yych <= '\f') {
10094
9.95k
      if (yych <= 0x00) goto yy86;
10095
9.93k
      if (yych == '\n') goto yy859;
10096
66
      goto yy738;
10097
14.3k
    } else {
10098
14.3k
      if (yych <= '\r') goto yy859;
10099
10.0k
      if (yych == '*') goto yy789;
10100
9.96k
      goto yy738;
10101
10.0k
    }
10102
47.7k
yy889:
10103
47.7k
    YYDEBUG(889, *YYCURSOR);
10104
47.7k
    ++YYCURSOR;
10105
47.7k
    YYFILL(1);
10106
47.7k
    yych = *YYCURSOR;
10107
47.7k
    if (yych <= '\f') {
10108
373
      if (yych <= 0x00) goto yy86;
10109
311
      if (yych == '\n') goto yy787;
10110
246
      goto yy738;
10111
47.3k
    } else {
10112
47.3k
      if (yych <= '\r') goto yy787;
10113
47.2k
      if (yych == '*') goto yy917;
10114
4.52k
      goto yy738;
10115
47.2k
    }
10116
34.1k
yy890:
10117
34.1k
    YYDEBUG(890, *YYCURSOR);
10118
34.1k
    yyaccept = 53;
10119
34.1k
    YYMARKER = ++YYCURSOR;
10120
34.1k
    YYFILL(1);
10121
34.1k
    yych = *YYCURSOR;
10122
34.1k
    if (yych <= '\f') {
10123
18
      if (yych <= 0x00) goto yy583;
10124
18
      if (yych == '\n') goto yy787;
10125
2
      goto yy738;
10126
34.1k
    } else {
10127
34.1k
      if (yych <= '\r') goto yy787;
10128
34.1k
      if (yych == '*') goto yy789;
10129
33.9k
      goto yy738;
10130
34.1k
    }
10131
41.9k
yy891:
10132
41.9k
    YYDEBUG(891, *YYCURSOR);
10133
41.9k
    yyaccept = 53;
10134
41.9k
    YYMARKER = ++YYCURSOR;
10135
41.9k
    YYFILL(1);
10136
41.9k
    yych = *YYCURSOR;
10137
41.9k
    if (yych <= ')') {
10138
1.72k
      if (yych <= '\n') {
10139
708
        if (yych <= 0x00) goto yy583;
10140
676
        if (yych <= '\t') goto yy738;
10141
288
        goto yy787;
10142
1.01k
      } else {
10143
1.01k
        if (yych == '\r') goto yy787;
10144
988
        goto yy738;
10145
1.01k
      }
10146
40.2k
    } else {
10147
40.2k
      if (yych <= 'X') {
10148
207
        if (yych <= '*') goto yy789;
10149
176
        if (yych <= 'W') goto yy738;
10150
16
        goto yy918;
10151
40.0k
      } else {
10152
40.0k
        if (yych == 'x') goto yy918;
10153
20.5k
        goto yy738;
10154
40.0k
      }
10155
40.2k
    }
10156
17.8k
yy892:
10157
17.8k
    YYDEBUG(892, *YYCURSOR);
10158
17.8k
    yyaccept = 53;
10159
17.8k
    YYMARKER = ++YYCURSOR;
10160
17.8k
    YYFILL(1);
10161
17.8k
    yych = *YYCURSOR;
10162
17.8k
    if (yych <= ')') {
10163
1.60k
      if (yych <= '\n') {
10164
1.32k
        if (yych <= 0x00) goto yy583;
10165
1.32k
        if (yych <= '\t') goto yy738;
10166
62
        goto yy787;
10167
1.32k
      } else {
10168
279
        if (yych == '\r') goto yy787;
10169
276
        goto yy738;
10170
279
      }
10171
16.2k
    } else {
10172
16.2k
      if (yych <= 'M') {
10173
8.08k
        if (yych <= '*') goto yy789;
10174
7.73k
        if (yych <= 'L') goto yy738;
10175
7.56k
        goto yy919;
10176
8.19k
      } else {
10177
8.19k
        if (yych == 'm') goto yy919;
10178
342
        goto yy738;
10179
8.19k
      }
10180
16.2k
    }
10181
496
yy893:
10182
496
    YYDEBUG(893, *YYCURSOR);
10183
496
    ++YYCURSOR;
10184
496
    YYFILL(1);
10185
496
    yych = *YYCURSOR;
10186
496
    if (yych <= 'D') {
10187
43
      if (yych <= 0x00) goto yy86;
10188
34
      if (yych == '*') goto yy668;
10189
8
      goto yy590;
10190
453
    } else {
10191
453
      if (yych <= 'E') goto yy920;
10192
309
      if (yych == 'e') goto yy920;
10193
22
      goto yy590;
10194
309
    }
10195
3.22k
yy894:
10196
3.22k
    YYDEBUG(894, *YYCURSOR);
10197
3.22k
    ++YYCURSOR;
10198
3.22k
    YYFILL(1);
10199
3.22k
    yych = *YYCURSOR;
10200
3.22k
    if (yych <= 'K') {
10201
514
      if (yych <= 0x00) goto yy86;
10202
478
      if (yych == '*') goto yy668;
10203
72
      goto yy590;
10204
2.71k
    } else {
10205
2.71k
      if (yych <= 'L') goto yy921;
10206
2.70k
      if (yych == 'l') goto yy921;
10207
3
      goto yy590;
10208
2.70k
    }
10209
899
yy895:
10210
899
    YYDEBUG(895, *YYCURSOR);
10211
899
    ++YYCURSOR;
10212
899
    YYFILL(1);
10213
899
    yych = *YYCURSOR;
10214
899
    if (yych <= '\r') {
10215
102
      if (yych <= '\t') {
10216
28
        if (yych <= 0x00) goto yy86;
10217
23
        goto yy586;
10218
74
      } else {
10219
74
        if (yych <= '\n') goto yy495;
10220
38
        if (yych <= '\f') goto yy586;
10221
38
        goto yy495;
10222
38
      }
10223
797
    } else {
10224
797
      if (yych <= 'S') {
10225
242
        if (yych <= 'R') goto yy586;
10226
44
        goto yy922;
10227
555
      } else {
10228
555
        if (yych == 's') goto yy922;
10229
109
        goto yy586;
10230
555
      }
10231
797
    }
10232
1.69k
yy896:
10233
1.69k
    YYDEBUG(896, *YYCURSOR);
10234
1.69k
    ++YYCURSOR;
10235
1.69k
    YYFILL(1);
10236
1.69k
    yych = *YYCURSOR;
10237
1.69k
    if (yych <= '\r') {
10238
69
      if (yych <= '\t') {
10239
31
        if (yych <= 0x00) goto yy86;
10240
0
        goto yy586;
10241
38
      } else {
10242
38
        if (yych <= '\n') goto yy495;
10243
38
        if (yych <= '\f') goto yy586;
10244
9
        goto yy495;
10245
38
      }
10246
1.62k
    } else {
10247
1.62k
      if (yych <= 'E') {
10248
1.10k
        if (yych <= 'D') goto yy586;
10249
1.02k
        goto yy923;
10250
1.10k
      } else {
10251
518
        if (yych == 'e') goto yy923;
10252
44
        goto yy586;
10253
518
      }
10254
1.62k
    }
10255
1.29k
yy897:
10256
1.29k
    YYDEBUG(897, *YYCURSOR);
10257
1.29k
    yyaccept = 89;
10258
1.29k
    yych = *(YYMARKER = ++YYCURSOR);
10259
1.29k
    if (yybm[256+yych] & 128) {
10260
0
      goto yy47;
10261
0
    }
10262
1.29k
    if (yych == '\\') goto yy164;
10263
1.29k
yy898:
10264
1.29k
    YYDEBUG(898, *YYCURSOR);
10265
1.29k
    yyleng = YYCURSOR - SCNG(yy_text);
10266
1.29k
#line 1726 "Zend/zend_language_scanner.l"
10267
1.29k
    {
10268
1.29k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10269
1.29k
}
10270
0
#line 10271 "Zend/zend_language_scanner.c"
10271
351
yy899:
10272
351
    YYDEBUG(899, *YYCURSOR);
10273
351
    ++YYCURSOR;
10274
351
    YYDEBUG(900, *YYCURSOR);
10275
351
    yyleng = YYCURSOR - SCNG(yy_text);
10276
351
#line 1794 "Zend/zend_language_scanner.l"
10277
351
    {
10278
351
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10279
351
}
10280
0
#line 10281 "Zend/zend_language_scanner.c"
10281
215
yy901:
10282
215
    YYDEBUG(901, *YYCURSOR);
10283
215
    yych = *++YYCURSOR;
10284
215
    if (yych == 'T') goto yy924;
10285
215
    if (yych == 't') goto yy924;
10286
102
    goto yy86;
10287
2.56k
yy902:
10288
2.56k
    YYDEBUG(902, *YYCURSOR);
10289
2.56k
    yyaccept = 90;
10290
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
10291
2.56k
    if (yybm[256+yych] & 128) {
10292
92
      goto yy47;
10293
92
    }
10294
2.47k
    if (yych == '\\') goto yy164;
10295
2.42k
yy903:
10296
2.42k
    YYDEBUG(903, *YYCURSOR);
10297
2.42k
    yyleng = YYCURSOR - SCNG(yy_text);
10298
2.42k
#line 1734 "Zend/zend_language_scanner.l"
10299
2.42k
    {
10300
2.42k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10301
2.42k
}
10302
0
#line 10303 "Zend/zend_language_scanner.c"
10303
100k
yy904:
10304
100k
    YYDEBUG(904, *YYCURSOR);
10305
100k
    ++YYCURSOR;
10306
100k
    YYFILL(1);
10307
100k
    yych = *YYCURSOR;
10308
100k
    YYDEBUG(905, *YYCURSOR);
10309
100k
    if (yych <= '"') {
10310
11.0k
      if (yych <= '\n') {
10311
4.63k
        if (yych <= 0x00) goto yy86;
10312
4.23k
        if (yych <= 0x08) goto yy808;
10313
4.13k
        if (yych <= '\t') goto yy904;
10314
1.65k
        goto yy846;
10315
6.38k
      } else {
10316
6.38k
        if (yych <= '\r') {
10317
5.23k
          if (yych <= '\f') goto yy808;
10318
5.11k
          goto yy846;
10319
5.23k
        } else {
10320
1.15k
          if (yych == ' ') goto yy904;
10321
867
          goto yy808;
10322
1.15k
        }
10323
6.38k
      }
10324
89.6k
    } else {
10325
89.6k
      if (yych <= '/') {
10326
34.3k
        if (yych <= ')') {
10327
6.36k
          if (yych <= '#') goto yy925;
10328
1.67k
          goto yy808;
10329
27.9k
        } else {
10330
27.9k
          if (yych <= '*') goto yy848;
10331
27.6k
          if (yych <= '.') goto yy808;
10332
26.8k
          goto yy926;
10333
27.6k
        }
10334
55.2k
      } else {
10335
55.2k
        if (yych <= 'F') {
10336
2.24k
          if (yych <= 'E') goto yy808;
10337
1.14k
          goto yy927;
10338
53.0k
        } else {
10339
53.0k
          if (yych == 'f') goto yy927;
10340
51.9k
          goto yy808;
10341
53.0k
        }
10342
55.2k
      }
10343
89.6k
    }
10344
52.7k
yy906:
10345
52.7k
    YYDEBUG(906, *YYCURSOR);
10346
52.7k
    ++YYCURSOR;
10347
52.7k
    YYFILL(1);
10348
52.7k
    yych = *YYCURSOR;
10349
52.7k
    if (yych <= '*') {
10350
429
      if (yych <= 0x00) goto yy86;
10351
429
      if (yych <= ')') goto yy696;
10352
30
      goto yy760;
10353
52.3k
    } else {
10354
52.3k
      if (yych == '/') goto yy846;
10355
961
      goto yy696;
10356
52.3k
    }
10357
1.21k
yy907:
10358
1.21k
    YYDEBUG(907, *YYCURSOR);
10359
1.21k
    ++YYCURSOR;
10360
1.21k
    YYFILL(1);
10361
1.21k
    yych = *YYCURSOR;
10362
1.21k
    if (yych <= 'N') {
10363
0
      if (yych <= 0x00) goto yy86;
10364
0
      if (yych == '*') goto yy760;
10365
0
      goto yy696;
10366
1.21k
    } else {
10367
1.21k
      if (yych <= 'O') goto yy928;
10368
72
      if (yych == 'o') goto yy928;
10369
0
      goto yy696;
10370
72
    }
10371
1.44k
yy908:
10372
1.44k
    YYDEBUG(908, *YYCURSOR);
10373
1.44k
    yyaccept = 91;
10374
1.44k
    YYMARKER = ++YYCURSOR;
10375
1.44k
    YYFILL(1);
10376
1.44k
    yych = *YYCURSOR;
10377
1.44k
    if (yych <= '\n') {
10378
1.19k
      if (yych <= 0x00) goto yy876;
10379
248
      if (yych <= '\t') goto yy692;
10380
0
      goto yy616;
10381
248
    } else {
10382
246
      if (yych == '\r') goto yy616;
10383
131
      goto yy692;
10384
246
    }
10385
1.99k
yy909:
10386
1.99k
    YYDEBUG(909, *YYCURSOR);
10387
1.99k
    yyaccept = 91;
10388
1.99k
    YYMARKER = ++YYCURSOR;
10389
1.99k
    YYFILL(5);
10390
1.99k
    yych = *YYCURSOR;
10391
1.99k
    if (yych <= '"') {
10392
1.75k
      if (yych <= '\f') {
10393
1.75k
        if (yych <= 0x08) goto yy876;
10394
0
        if (yych <= '\n') goto yy616;
10395
0
        goto yy876;
10396
0
      } else {
10397
0
        if (yych <= '\r') goto yy616;
10398
0
        if (yych == ' ') goto yy616;
10399
0
        goto yy876;
10400
0
      }
10401
1.75k
    } else {
10402
242
      if (yych <= 'E') {
10403
9
        if (yych <= '#') goto yy618;
10404
0
        if (yych == '/') goto yy619;
10405
0
        goto yy876;
10406
233
      } else {
10407
233
        if (yych <= 'F') goto yy691;
10408
233
        if (yych == 'f') goto yy691;
10409
233
        goto yy876;
10410
233
      }
10411
242
    }
10412
2.62k
yy910:
10413
2.62k
    YYDEBUG(910, *YYCURSOR);
10414
2.62k
    yyaccept = 92;
10415
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
10416
2.62k
    if (yybm[256+yych] & 128) {
10417
378
      goto yy47;
10418
378
    }
10419
2.24k
    if (yych == '\\') goto yy164;
10420
2.24k
yy911:
10421
2.24k
    YYDEBUG(911, *YYCURSOR);
10422
2.24k
    yyleng = YYCURSOR - SCNG(yy_text);
10423
2.24k
#line 2261 "Zend/zend_language_scanner.l"
10424
2.24k
    {
10425
2.24k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10426
2.24k
}
10427
0
#line 10428 "Zend/zend_language_scanner.c"
10428
105
yy912:
10429
105
    YYDEBUG(912, *YYCURSOR);
10430
105
    yyaccept = 4;
10431
105
    yych = *(YYMARKER = ++YYCURSOR);
10432
105
    if (yych == 'L') goto yy929;
10433
2
    if (yych == 'l') goto yy929;
10434
0
    goto yy48;
10435
3.34k
yy913:
10436
3.34k
    YYDEBUG(913, *YYCURSOR);
10437
3.34k
    yyaccept = 4;
10438
3.34k
    yych = *(YYMARKER = ++YYCURSOR);
10439
3.34k
    if (yych == '_') goto yy930;
10440
67
    goto yy48;
10441
178
yy914:
10442
178
    YYDEBUG(914, *YYCURSOR);
10443
178
    yyaccept = 93;
10444
178
    yych = *(YYMARKER = ++YYCURSOR);
10445
178
    if (yybm[256+yych] & 128) {
10446
29
      goto yy47;
10447
29
    }
10448
149
    if (yych == '\\') goto yy164;
10449
149
yy915:
10450
149
    YYDEBUG(915, *YYCURSOR);
10451
149
    yyleng = YYCURSOR - SCNG(yy_text);
10452
149
#line 2265 "Zend/zend_language_scanner.l"
10453
149
    {
10454
149
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10455
149
}
10456
0
#line 10457 "Zend/zend_language_scanner.c"
10457
651
yy916:
10458
651
    YYDEBUG(916, *YYCURSOR);
10459
651
    yych = *++YYCURSOR;
10460
651
    if (yych == 'T') goto yy857;
10461
499
    if (yych == 't') goto yy857;
10462
499
    goto yy86;
10463
42.7k
yy917:
10464
42.7k
    YYDEBUG(917, *YYCURSOR);
10465
42.7k
    ++YYCURSOR;
10466
42.7k
    YYFILL(1);
10467
42.7k
    yych = *YYCURSOR;
10468
42.7k
    if (yych <= '\r') {
10469
3.85k
      if (yych <= '\t') {
10470
3.70k
        if (yych <= 0x00) goto yy86;
10471
3.33k
        goto yy738;
10472
3.70k
      } else {
10473
150
        if (yych <= '\n') goto yy787;
10474
73
        if (yych <= '\f') goto yy738;
10475
56
        goto yy787;
10476
73
      }
10477
38.8k
    } else {
10478
38.8k
      if (yych <= '*') {
10479
1.47k
        if (yych <= ')') goto yy738;
10480
15
        goto yy789;
10481
37.3k
      } else {
10482
37.3k
        if (yych == '/') goto yy859;
10483
1.10k
        goto yy738;
10484
37.3k
      }
10485
38.8k
    }
10486
19.5k
yy918:
10487
19.5k
    YYDEBUG(918, *YYCURSOR);
10488
19.5k
    ++YYCURSOR;
10489
19.5k
    YYFILL(1);
10490
19.5k
    yych = *YYCURSOR;
10491
19.5k
    if (yych <= ')') {
10492
5.26k
      if (yych <= '\n') {
10493
5.17k
        if (yych <= 0x00) goto yy86;
10494
4.94k
        if (yych <= '\t') goto yy738;
10495
4.81k
        goto yy787;
10496
4.94k
      } else {
10497
95
        if (yych == '\r') goto yy787;
10498
87
        goto yy738;
10499
95
      }
10500
14.2k
    } else {
10501
14.2k
      if (yych <= 'T') {
10502
175
        if (yych <= '*') goto yy789;
10503
42
        if (yych <= 'S') goto yy738;
10504
8
        goto yy932;
10505
14.1k
      } else {
10506
14.1k
        if (yych == 't') goto yy932;
10507
11.9k
        goto yy738;
10508
14.1k
      }
10509
14.2k
    }
10510
15.4k
yy919:
10511
15.4k
    YYDEBUG(919, *YYCURSOR);
10512
15.4k
    ++YYCURSOR;
10513
15.4k
    YYFILL(1);
10514
15.4k
    yych = *YYCURSOR;
10515
15.4k
    if (yych <= ')') {
10516
537
      if (yych <= '\n') {
10517
252
        if (yych <= 0x00) goto yy86;
10518
194
        if (yych <= '\t') goto yy738;
10519
176
        goto yy787;
10520
285
      } else {
10521
285
        if (yych == '\r') goto yy787;
10522
285
        goto yy738;
10523
285
      }
10524
14.8k
    } else {
10525
14.8k
      if (yych <= 'P') {
10526
404
        if (yych <= '*') goto yy789;
10527
367
        if (yych <= 'O') goto yy738;
10528
367
        goto yy933;
10529
14.4k
      } else {
10530
14.4k
        if (yych == 'p') goto yy933;
10531
2
        goto yy738;
10532
14.4k
      }
10533
14.8k
    }
10534
431
yy920:
10535
431
    YYDEBUG(920, *YYCURSOR);
10536
431
    ++YYCURSOR;
10537
431
    YYFILL(1);
10538
431
    yych = *YYCURSOR;
10539
431
    if (yych <= 'M') {
10540
237
      if (yych <= 0x00) goto yy86;
10541
237
      if (yych == '*') goto yy668;
10542
208
      goto yy590;
10543
237
    } else {
10544
194
      if (yych <= 'N') goto yy934;
10545
194
      if (yych == 'n') goto yy934;
10546
7
      goto yy590;
10547
194
    }
10548
2.71k
yy921:
10549
2.71k
    YYDEBUG(921, *YYCURSOR);
10550
2.71k
    ++YYCURSOR;
10551
2.71k
    YYFILL(1);
10552
2.71k
    yych = *YYCURSOR;
10553
2.71k
    if (yych <= 'D') {
10554
270
      if (yych <= 0x00) goto yy86;
10555
238
      if (yych == '*') goto yy668;
10556
186
      goto yy590;
10557
2.44k
    } else {
10558
2.44k
      if (yych <= 'E') goto yy935;
10559
2.14k
      if (yych == 'e') goto yy935;
10560
8
      goto yy590;
10561
2.14k
    }
10562
490
yy922:
10563
490
    YYDEBUG(922, *YYCURSOR);
10564
490
    yyaccept = 94;
10565
490
    YYMARKER = ++YYCURSOR;
10566
490
    YYFILL(1);
10567
490
    yych = *YYCURSOR;
10568
490
    if (yych <= '\n') {
10569
44
      if (yych <= 0x00) goto yy886;
10570
0
      if (yych <= '\t') goto yy586;
10571
0
      goto yy495;
10572
446
    } else {
10573
446
      if (yych == '\r') goto yy495;
10574
259
      goto yy586;
10575
446
    }
10576
1.49k
yy923:
10577
1.49k
    YYDEBUG(923, *YYCURSOR);
10578
1.49k
    ++YYCURSOR;
10579
1.49k
    YYFILL(1);
10580
1.49k
    yych = *YYCURSOR;
10581
1.49k
    if (yych <= '\r') {
10582
322
      if (yych <= '\t') {
10583
50
        if (yych <= 0x00) goto yy86;
10584
3
        goto yy586;
10585
272
      } else {
10586
272
        if (yych <= '\n') goto yy495;
10587
269
        if (yych <= '\f') goto yy586;
10588
269
        goto yy495;
10589
269
      }
10590
1.17k
    } else {
10591
1.17k
      if (yych <= 'N') {
10592
906
        if (yych <= 'M') goto yy586;
10593
537
        goto yy936;
10594
906
      } else {
10595
271
        if (yych == 'n') goto yy936;
10596
265
        goto yy586;
10597
271
      }
10598
1.17k
    }
10599
113
yy924:
10600
113
    YYDEBUG(924, *YYCURSOR);
10601
113
    yych = *++YYCURSOR;
10602
113
    if (yych == ')') goto yy937;
10603
0
    goto yy86;
10604
4.68k
yy925:
10605
4.68k
    YYDEBUG(925, *YYCURSOR);
10606
4.68k
    ++YYCURSOR;
10607
4.68k
    YYFILL(1);
10608
4.68k
    yych = *YYCURSOR;
10609
4.68k
    if (yych <= '\f') {
10610
3.04k
      if (yych <= 0x00) goto yy86;
10611
2.96k
      if (yych == '\n') goto yy904;
10612
18
      goto yy808;
10613
2.96k
    } else {
10614
1.63k
      if (yych <= '\r') goto yy904;
10615
1.51k
      if (yych == '*') goto yy848;
10616
1.44k
      goto yy808;
10617
1.51k
    }
10618
26.8k
yy926:
10619
26.8k
    YYDEBUG(926, *YYCURSOR);
10620
26.8k
    ++YYCURSOR;
10621
26.8k
    YYFILL(1);
10622
26.8k
    yych = *YYCURSOR;
10623
26.8k
    if (yych <= '\f') {
10624
332
      if (yych <= 0x00) goto yy86;
10625
288
      if (yych == '\n') goto yy846;
10626
216
      goto yy808;
10627
26.4k
    } else {
10628
26.4k
      if (yych <= '\r') goto yy846;
10629
26.1k
      if (yych == '*') goto yy939;
10630
1.99k
      goto yy808;
10631
26.1k
    }
10632
2.26k
yy927:
10633
2.26k
    YYDEBUG(927, *YYCURSOR);
10634
2.26k
    ++YYCURSOR;
10635
2.26k
    YYFILL(1);
10636
2.26k
    yych = *YYCURSOR;
10637
2.26k
    if (yych <= ')') {
10638
183
      if (yych <= '\n') {
10639
49
        if (yych <= 0x00) goto yy86;
10640
49
        if (yych <= '\t') goto yy808;
10641
49
        goto yy846;
10642
134
      } else {
10643
134
        if (yych == '\r') goto yy846;
10644
134
        goto yy808;
10645
134
      }
10646
2.07k
    } else {
10647
2.07k
      if (yych <= 'R') {
10648
786
        if (yych <= '*') goto yy848;
10649
786
        if (yych <= 'Q') goto yy808;
10650
786
        goto yy940;
10651
1.29k
      } else {
10652
1.29k
        if (yych == 'r') goto yy940;
10653
36
        goto yy808;
10654
1.29k
      }
10655
2.07k
    }
10656
1.21k
yy928:
10657
1.21k
    YYDEBUG(928, *YYCURSOR);
10658
1.21k
    ++YYCURSOR;
10659
1.21k
    YYFILL(1);
10660
1.21k
    yych = *YYCURSOR;
10661
1.21k
    if (yych <= 'L') {
10662
48
      if (yych <= 0x00) goto yy86;
10663
48
      if (yych == '*') goto yy760;
10664
48
      goto yy696;
10665
1.16k
    } else {
10666
1.16k
      if (yych <= 'M') goto yy941;
10667
24
      if (yych == 'm') goto yy941;
10668
0
      goto yy696;
10669
24
    }
10670
105
yy929:
10671
105
    YYDEBUG(929, *YYCURSOR);
10672
105
    yyaccept = 4;
10673
105
    yych = *(YYMARKER = ++YYCURSOR);
10674
105
    if (yych == 'E') goto yy942;
10675
21
    if (yych == 'e') goto yy942;
10676
19
    goto yy48;
10677
3.28k
yy930:
10678
3.28k
    YYDEBUG(930, *YYCURSOR);
10679
3.28k
    yyaccept = 95;
10680
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
10681
3.28k
    if (yybm[256+yych] & 128) {
10682
87
      goto yy47;
10683
87
    }
10684
3.19k
    if (yych == '\\') goto yy164;
10685
3.19k
yy931:
10686
3.19k
    YYDEBUG(931, *YYCURSOR);
10687
3.19k
    yyleng = YYCURSOR - SCNG(yy_text);
10688
3.19k
#line 2285 "Zend/zend_language_scanner.l"
10689
3.19k
    {
10690
3.19k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10691
3.19k
}
10692
0
#line 10693 "Zend/zend_language_scanner.c"
10693
2.20k
yy932:
10694
2.20k
    YYDEBUG(932, *YYCURSOR);
10695
2.20k
    ++YYCURSOR;
10696
2.20k
    YYFILL(1);
10697
2.20k
    yych = *YYCURSOR;
10698
2.20k
    if (yych <= ')') {
10699
63
      if (yych <= '\n') {
10700
47
        if (yych <= 0x00) goto yy86;
10701
11
        if (yych <= '\t') goto yy738;
10702
11
        goto yy787;
10703
16
      } else {
10704
16
        if (yych == '\r') goto yy787;
10705
8
        goto yy738;
10706
16
      }
10707
2.14k
    } else {
10708
2.14k
      if (yych <= 'E') {
10709
40
        if (yych <= '*') goto yy789;
10710
33
        if (yych <= 'D') goto yy738;
10711
32
        goto yy943;
10712
2.10k
      } else {
10713
2.10k
        if (yych == 'e') goto yy943;
10714
137
        goto yy738;
10715
2.10k
      }
10716
2.14k
    }
10717
14.8k
yy933:
10718
14.8k
    YYDEBUG(933, *YYCURSOR);
10719
14.8k
    ++YYCURSOR;
10720
14.8k
    YYFILL(1);
10721
14.8k
    yych = *YYCURSOR;
10722
14.8k
    if (yych <= ')') {
10723
417
      if (yych <= '\n') {
10724
324
        if (yych <= 0x00) goto yy86;
10725
319
        if (yych <= '\t') goto yy738;
10726
4
        goto yy787;
10727
319
      } else {
10728
93
        if (yych == '\r') goto yy787;
10729
38
        goto yy738;
10730
93
      }
10731
14.4k
    } else {
10732
14.4k
      if (yych <= 'L') {
10733
1.81k
        if (yych <= '*') goto yy789;
10734
1.79k
        if (yych <= 'K') goto yy738;
10735
0
        goto yy944;
10736
12.6k
      } else {
10737
12.6k
        if (yych == 'l') goto yy944;
10738
182
        goto yy738;
10739
12.6k
      }
10740
14.4k
    }
10741
187
yy934:
10742
187
    YYDEBUG(934, *YYCURSOR);
10743
187
    ++YYCURSOR;
10744
187
    YYFILL(1);
10745
187
    yych = *YYCURSOR;
10746
187
    if (yych <= 'C') {
10747
28
      if (yych <= 0x00) goto yy86;
10748
0
      if (yych == '*') goto yy668;
10749
0
      goto yy590;
10750
159
    } else {
10751
159
      if (yych <= 'D') goto yy945;
10752
159
      if (yych == 'd') goto yy945;
10753
144
      goto yy590;
10754
159
    }
10755
2.43k
yy935:
10756
2.43k
    YYDEBUG(935, *YYCURSOR);
10757
2.43k
    ++YYCURSOR;
10758
2.43k
    YYFILL(1);
10759
2.43k
    yych = *YYCURSOR;
10760
2.43k
    if (yych <= 'L') {
10761
1.08k
      if (yych <= 0x00) goto yy86;
10762
1.08k
      if (yych == '*') goto yy668;
10763
234
      goto yy590;
10764
1.34k
    } else {
10765
1.34k
      if (yych <= 'M') goto yy946;
10766
1.32k
      if (yych == 'm') goto yy946;
10767
95
      goto yy590;
10768
1.32k
    }
10769
543
yy936:
10770
543
    YYDEBUG(936, *YYCURSOR);
10771
543
    ++YYCURSOR;
10772
543
    YYFILL(1);
10773
543
    yych = *YYCURSOR;
10774
543
    if (yych <= '\r') {
10775
202
      if (yych <= '\t') {
10776
2
        if (yych <= 0x00) goto yy86;
10777
0
        goto yy586;
10778
200
      } else {
10779
200
        if (yych <= '\n') goto yy495;
10780
5
        if (yych <= '\f') goto yy586;
10781
5
        goto yy495;
10782
5
      }
10783
341
    } else {
10784
341
      if (yych <= 'T') {
10785
336
        if (yych <= 'S') goto yy586;
10786
332
        goto yy895;
10787
336
      } else {
10788
5
        if (yych == 't') goto yy895;
10789
5
        goto yy586;
10790
5
      }
10791
341
    }
10792
113
yy937:
10793
113
    YYDEBUG(937, *YYCURSOR);
10794
113
    ++YYCURSOR;
10795
113
    YYDEBUG(938, *YYCURSOR);
10796
113
    yyleng = YYCURSOR - SCNG(yy_text);
10797
113
#line 1790 "Zend/zend_language_scanner.l"
10798
113
    {
10799
113
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10800
113
}
10801
0
#line 10802 "Zend/zend_language_scanner.c"
10802
24.2k
yy939:
10803
24.2k
    YYDEBUG(939, *YYCURSOR);
10804
24.2k
    ++YYCURSOR;
10805
24.2k
    YYFILL(1);
10806
24.2k
    yych = *YYCURSOR;
10807
24.2k
    if (yych <= '\r') {
10808
452
      if (yych <= '\t') {
10809
283
        if (yych <= 0x00) goto yy86;
10810
102
        goto yy808;
10811
283
      } else {
10812
169
        if (yych <= '\n') goto yy846;
10813
135
        if (yych <= '\f') goto yy808;
10814
67
        goto yy846;
10815
135
      }
10816
23.7k
    } else {
10817
23.7k
      if (yych <= '*') {
10818
652
        if (yych <= ')') goto yy808;
10819
35
        goto yy848;
10820
23.1k
      } else {
10821
23.1k
        if (yych == '/') goto yy904;
10822
403
        goto yy808;
10823
23.1k
      }
10824
23.7k
    }
10825
2.04k
yy940:
10826
2.04k
    YYDEBUG(940, *YYCURSOR);
10827
2.04k
    ++YYCURSOR;
10828
2.04k
    YYFILL(1);
10829
2.04k
    yych = *YYCURSOR;
10830
2.04k
    if (yych <= ')') {
10831
99
      if (yych <= '\n') {
10832
91
        if (yych <= 0x00) goto yy86;
10833
91
        if (yych <= '\t') goto yy808;
10834
54
        goto yy846;
10835
91
      } else {
10836
8
        if (yych == '\r') goto yy846;
10837
8
        goto yy808;
10838
8
      }
10839
1.94k
    } else {
10840
1.94k
      if (yych <= 'O') {
10841
1.11k
        if (yych <= '*') goto yy848;
10842
1.11k
        if (yych <= 'N') goto yy808;
10843
1.09k
        goto yy947;
10844
1.11k
      } else {
10845
825
        if (yych == 'o') goto yy947;
10846
50
        goto yy808;
10847
825
      }
10848
1.94k
    }
10849
1.16k
yy941:
10850
1.16k
    YYDEBUG(941, *YYCURSOR);
10851
1.16k
    ++YYCURSOR;
10852
1.16k
    YYFILL(1);
10853
1.16k
    yych = *YYCURSOR;
10854
1.16k
    if (yych <= '@') {
10855
1.04k
      if (yych <= '*') {
10856
936
        if (yych <= 0x00) goto yy875;
10857
936
        if (yych <= ')') goto yy948;
10858
769
        goto yy949;
10859
936
      } else {
10860
105
        if (yych <= '/') goto yy948;
10861
65
        if (yych <= '9') goto yy696;
10862
64
        goto yy948;
10863
65
      }
10864
1.04k
    } else {
10865
128
      if (yych <= '_') {
10866
70
        if (yych <= 'Z') goto yy696;
10867
22
        if (yych <= '^') goto yy948;
10868
0
        goto yy696;
10869
58
      } else {
10870
58
        if (yych <= '`') goto yy948;
10871
34
        if (yych <= 'z') goto yy696;
10872
34
        if (yych <= 0x7F) goto yy948;
10873
0
        goto yy696;
10874
34
      }
10875
128
    }
10876
86
yy942:
10877
86
    YYDEBUG(942, *YYCURSOR);
10878
86
    yyaccept = 4;
10879
86
    yych = *(YYMARKER = ++YYCURSOR);
10880
86
    if (yych == 'R') goto yy950;
10881
71
    if (yych == 'r') goto yy950;
10882
69
    goto yy48;
10883
1.99k
yy943:
10884
1.99k
    YYDEBUG(943, *YYCURSOR);
10885
1.99k
    ++YYCURSOR;
10886
1.99k
    YYFILL(1);
10887
1.99k
    yych = *YYCURSOR;
10888
1.99k
    if (yych <= ')') {
10889
326
      if (yych <= '\n') {
10890
3
        if (yych <= 0x00) goto yy86;
10891
3
        if (yych <= '\t') goto yy738;
10892
3
        goto yy787;
10893
323
      } else {
10894
323
        if (yych == '\r') goto yy787;
10895
5
        goto yy738;
10896
323
      }
10897
1.67k
    } else {
10898
1.67k
      if (yych <= 'N') {
10899
458
        if (yych <= '*') goto yy789;
10900
380
        if (yych <= 'M') goto yy738;
10901
66
        goto yy952;
10902
1.21k
      } else {
10903
1.21k
        if (yych == 'n') goto yy952;
10904
342
        goto yy738;
10905
1.21k
      }
10906
1.67k
    }
10907
12.4k
yy944:
10908
12.4k
    YYDEBUG(944, *YYCURSOR);
10909
12.4k
    ++YYCURSOR;
10910
12.4k
    YYFILL(1);
10911
12.4k
    yych = *YYCURSOR;
10912
12.4k
    if (yych <= ')') {
10913
6.63k
      if (yych <= '\n') {
10914
959
        if (yych <= 0x00) goto yy86;
10915
937
        if (yych <= '\t') goto yy738;
10916
166
        goto yy787;
10917
5.67k
      } else {
10918
5.67k
        if (yych == '\r') goto yy787;
10919
5.43k
        goto yy738;
10920
5.67k
      }
10921
6.63k
    } else {
10922
5.78k
      if (yych <= 'E') {
10923
1.63k
        if (yych <= '*') goto yy789;
10924
1.07k
        if (yych <= 'D') goto yy738;
10925
1.03k
        goto yy953;
10926
4.15k
      } else {
10927
4.15k
        if (yych == 'e') goto yy953;
10928
27
        goto yy738;
10929
4.15k
      }
10930
5.78k
    }
10931
278
yy945:
10932
278
    YYDEBUG(945, *YYCURSOR);
10933
278
    ++YYCURSOR;
10934
278
    YYFILL(1);
10935
278
    yych = *YYCURSOR;
10936
278
    if (yych <= 'R') {
10937
81
      if (yych <= 0x00) goto yy86;
10938
75
      if (yych == '*') goto yy668;
10939
75
      goto yy590;
10940
197
    } else {
10941
197
      if (yych <= 'S') goto yy954;
10942
197
      if (yych == 's') goto yy954;
10943
187
      goto yy590;
10944
197
    }
10945
1.25k
yy946:
10946
1.25k
    YYDEBUG(946, *YYCURSOR);
10947
1.25k
    ++YYCURSOR;
10948
1.25k
    YYFILL(1);
10949
1.25k
    yych = *YYCURSOR;
10950
1.25k
    if (yych <= 'D') {
10951
127
      if (yych <= 0x00) goto yy86;
10952
60
      if (yych == '*') goto yy668;
10953
60
      goto yy590;
10954
1.12k
    } else {
10955
1.12k
      if (yych <= 'E') goto yy955;
10956
1.00k
      if (yych == 'e') goto yy955;
10957
79
      goto yy590;
10958
1.00k
    }
10959
1.87k
yy947:
10960
1.87k
    YYDEBUG(947, *YYCURSOR);
10961
1.87k
    ++YYCURSOR;
10962
1.87k
    YYFILL(1);
10963
1.87k
    yych = *YYCURSOR;
10964
1.87k
    if (yych <= ')') {
10965
140
      if (yych <= '\n') {
10966
51
        if (yych <= 0x00) goto yy86;
10967
51
        if (yych <= '\t') goto yy808;
10968
51
        goto yy846;
10969
89
      } else {
10970
89
        if (yych == '\r') goto yy846;
10971
89
        goto yy808;
10972
89
      }
10973
1.73k
    } else {
10974
1.73k
      if (yych <= 'M') {
10975
1.55k
        if (yych <= '*') goto yy848;
10976
1.55k
        if (yych <= 'L') goto yy808;
10977
1.54k
        goto yy956;
10978
1.55k
      } else {
10979
174
        if (yych == 'm') goto yy956;
10980
0
        goto yy808;
10981
174
      }
10982
1.73k
    }
10983
351
yy948:
10984
351
    YYDEBUG(948, *YYCURSOR);
10985
351
    yyaccept = 91;
10986
351
    YYMARKER = ++YYCURSOR;
10987
351
    YYFILL(1);
10988
351
    yych = *YYCURSOR;
10989
351
    if (yych <= 0x00) goto yy876;
10990
255
    if (yych == '*') goto yy760;
10991
122
    goto yy696;
10992
769
yy949:
10993
769
    YYDEBUG(949, *YYCURSOR);
10994
769
    yyaccept = 91;
10995
769
    YYMARKER = ++YYCURSOR;
10996
769
    YYFILL(1);
10997
769
    yych = *YYCURSOR;
10998
769
    if (yych <= '*') {
10999
745
      if (yych <= 0x00) goto yy876;
11000
703
      if (yych <= ')') goto yy696;
11001
31
      goto yy760;
11002
703
    } else {
11003
24
      if (yych == '/') goto yy616;
11004
21
      goto yy696;
11005
24
    }
11006
17
yy950:
11007
17
    YYDEBUG(950, *YYCURSOR);
11008
17
    yyaccept = 96;
11009
17
    yych = *(YYMARKER = ++YYCURSOR);
11010
17
    if (yybm[256+yych] & 128) {
11011
0
      goto yy47;
11012
0
    }
11013
17
    if (yych == '\\') goto yy164;
11014
17
yy951:
11015
17
    YYDEBUG(951, *YYCURSOR);
11016
17
    yyleng = YYCURSOR - SCNG(yy_text);
11017
17
#line 1762 "Zend/zend_language_scanner.l"
11018
17
    {
11019
17
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11020
17
}
11021
0
#line 11022 "Zend/zend_language_scanner.c"
11022
936
yy952:
11023
936
    YYDEBUG(952, *YYCURSOR);
11024
936
    ++YYCURSOR;
11025
936
    YYFILL(1);
11026
936
    yych = *YYCURSOR;
11027
936
    if (yych <= ')') {
11028
480
      if (yych <= '\n') {
11029
373
        if (yych <= 0x00) goto yy86;
11030
345
        if (yych <= '\t') goto yy738;
11031
345
        goto yy787;
11032
345
      } else {
11033
107
        if (yych == '\r') goto yy787;
11034
107
        goto yy738;
11035
107
      }
11036
480
    } else {
11037
456
      if (yych <= 'D') {
11038
160
        if (yych <= '*') goto yy789;
11039
160
        if (yych <= 'C') goto yy738;
11040
128
        goto yy957;
11041
296
      } else {
11042
296
        if (yych == 'd') goto yy957;
11043
60
        goto yy738;
11044
296
      }
11045
456
    }
11046
5.15k
yy953:
11047
5.15k
    YYDEBUG(953, *YYCURSOR);
11048
5.15k
    ++YYCURSOR;
11049
5.15k
    YYFILL(1);
11050
5.15k
    yych = *YYCURSOR;
11051
5.15k
    if (yych <= ')') {
11052
939
      if (yych <= '\n') {
11053
939
        if (yych <= 0x00) goto yy86;
11054
936
        if (yych <= '\t') goto yy738;
11055
922
        goto yy787;
11056
936
      } else {
11057
0
        if (yych == '\r') goto yy787;
11058
0
        goto yy738;
11059
0
      }
11060
4.21k
    } else {
11061
4.21k
      if (yych <= 'M') {
11062
42
        if (yych <= '*') goto yy789;
11063
26
        if (yych <= 'L') goto yy738;
11064
26
        goto yy958;
11065
4.17k
      } else {
11066
4.17k
        if (yych == 'm') goto yy958;
11067
2.64k
        goto yy738;
11068
4.17k
      }
11069
4.21k
    }
11070
10
yy954:
11071
10
    YYDEBUG(954, *YYCURSOR);
11072
10
    yyaccept = 94;
11073
10
    YYMARKER = ++YYCURSOR;
11074
10
    YYFILL(1);
11075
10
    yych = *YYCURSOR;
11076
10
    if (yych <= 0x00) goto yy886;
11077
0
    if (yych == '*') goto yy668;
11078
0
    goto yy590;
11079
1.04k
yy955:
11080
1.04k
    YYDEBUG(955, *YYCURSOR);
11081
1.04k
    ++YYCURSOR;
11082
1.04k
    YYFILL(1);
11083
1.04k
    yych = *YYCURSOR;
11084
1.04k
    if (yych <= 'M') {
11085
178
      if (yych <= 0x00) goto yy86;
11086
127
      if (yych == '*') goto yy668;
11087
64
      goto yy590;
11088
868
    } else {
11089
868
      if (yych <= 'N') goto yy959;
11090
480
      if (yych == 'n') goto yy959;
11091
6
      goto yy590;
11092
480
    }
11093
1.71k
yy956:
11094
1.71k
    YYDEBUG(956, *YYCURSOR);
11095
1.71k
    ++YYCURSOR;
11096
1.71k
    YYFILL(1);
11097
1.71k
    yych = *YYCURSOR;
11098
1.71k
    if (yych <= '/') {
11099
879
      if (yych <= '\f') {
11100
397
        if (yych <= 0x00) goto yy875;
11101
397
        if (yych == '\n') goto yy961;
11102
297
        goto yy960;
11103
482
      } else {
11104
482
        if (yych <= '\r') goto yy961;
11105
482
        if (yych == '*') goto yy962;
11106
91
        goto yy960;
11107
482
      }
11108
879
    } else {
11109
835
      if (yych <= '^') {
11110
587
        if (yych <= '9') goto yy808;
11111
587
        if (yych <= '@') goto yy960;
11112
528
        if (yych <= 'Z') goto yy808;
11113
24
        goto yy960;
11114
528
      } else {
11115
248
        if (yych <= '`') {
11116
32
          if (yych <= '_') goto yy808;
11117
32
          goto yy960;
11118
216
        } else {
11119
216
          if (yych <= 'z') goto yy808;
11120
141
          if (yych <= 0x7F) goto yy960;
11121
141
          goto yy808;
11122
141
        }
11123
248
      }
11124
835
    }
11125
578
yy957:
11126
578
    YYDEBUG(957, *YYCURSOR);
11127
578
    ++YYCURSOR;
11128
578
    YYFILL(1);
11129
578
    yych = *YYCURSOR;
11130
578
    if (yych <= ')') {
11131
268
      if (yych <= '\n') {
11132
54
        if (yych <= 0x00) goto yy86;
11133
54
        if (yych <= '\t') goto yy738;
11134
54
        goto yy787;
11135
214
      } else {
11136
214
        if (yych == '\r') goto yy787;
11137
214
        goto yy738;
11138
214
      }
11139
310
    } else {
11140
310
      if (yych <= 'S') {
11141
9
        if (yych <= '*') goto yy789;
11142
4
        if (yych <= 'R') goto yy738;
11143
0
        goto yy963;
11144
301
      } else {
11145
301
        if (yych == 's') goto yy963;
11146
2
        goto yy738;
11147
301
      }
11148
310
    }
11149
1.55k
yy958:
11150
1.55k
    YYDEBUG(958, *YYCURSOR);
11151
1.55k
    ++YYCURSOR;
11152
1.55k
    YYFILL(1);
11153
1.55k
    yych = *YYCURSOR;
11154
1.55k
    if (yych <= ')') {
11155
29
      if (yych <= '\n') {
11156
29
        if (yych <= 0x00) goto yy86;
11157
3
        if (yych <= '\t') goto yy738;
11158
3
        goto yy787;
11159
3
      } else {
11160
0
        if (yych == '\r') goto yy787;
11161
0
        goto yy738;
11162
0
      }
11163
1.52k
    } else {
11164
1.52k
      if (yych <= 'E') {
11165
956
        if (yych <= '*') goto yy789;
11166
956
        if (yych <= 'D') goto yy738;
11167
956
        goto yy964;
11168
956
      } else {
11169
571
        if (yych == 'e') goto yy964;
11170
141
        goto yy738;
11171
571
      }
11172
1.52k
    }
11173
862
yy959:
11174
862
    YYDEBUG(959, *YYCURSOR);
11175
862
    ++YYCURSOR;
11176
862
    YYFILL(1);
11177
862
    yych = *YYCURSOR;
11178
862
    if (yych <= 'S') {
11179
169
      if (yych <= 0x00) goto yy86;
11180
169
      if (yych == '*') goto yy668;
11181
169
      goto yy590;
11182
693
    } else {
11183
693
      if (yych <= 'T') goto yy945;
11184
474
      if (yych == 't') goto yy945;
11185
430
      goto yy590;
11186
474
    }
11187
503
yy960:
11188
503
    YYDEBUG(960, *YYCURSOR);
11189
503
    yyaccept = 91;
11190
503
    YYMARKER = ++YYCURSOR;
11191
503
    YYFILL(1);
11192
503
    yych = *YYCURSOR;
11193
503
    if (yych <= '\f') {
11194
283
      if (yych <= 0x00) goto yy876;
11195
280
      if (yych == '\n') goto yy846;
11196
277
      goto yy808;
11197
280
    } else {
11198
220
      if (yych <= '\r') goto yy846;
11199
132
      if (yych == '*') goto yy848;
11200
132
      goto yy808;
11201
132
    }
11202
100
yy961:
11203
100
    YYDEBUG(961, *YYCURSOR);
11204
100
    yyaccept = 91;
11205
100
    YYMARKER = ++YYCURSOR;
11206
100
    YYFILL(1);
11207
100
    yych = *YYCURSOR;
11208
100
    if (yych <= '#') {
11209
100
      if (yych <= '\f') {
11210
26
        if (yych <= 0x00) goto yy876;
11211
0
        if (yych <= 0x08) goto yy696;
11212
0
        if (yych <= '\n') goto yy846;
11213
0
        goto yy696;
11214
74
      } else {
11215
74
        if (yych <= 0x1F) {
11216
0
          if (yych <= '\r') goto yy846;
11217
0
          goto yy696;
11218
74
        } else {
11219
74
          if (yych <= ' ') goto yy846;
11220
0
          if (yych <= '"') goto yy696;
11221
0
          goto yy877;
11222
0
        }
11223
74
      }
11224
100
    } else {
11225
0
      if (yych <= '/') {
11226
0
        if (yych == '*') goto yy760;
11227
0
        if (yych <= '.') goto yy696;
11228
0
        goto yy878;
11229
0
      } else {
11230
0
        if (yych <= 'F') {
11231
0
          if (yych <= 'E') goto yy696;
11232
0
          goto yy879;
11233
0
        } else {
11234
0
          if (yych == 'f') goto yy879;
11235
0
          goto yy696;
11236
0
        }
11237
0
      }
11238
0
    }
11239
391
yy962:
11240
391
    YYDEBUG(962, *YYCURSOR);
11241
391
    yyaccept = 91;
11242
391
    YYMARKER = ++YYCURSOR;
11243
391
    YYFILL(1);
11244
391
    yych = *YYCURSOR;
11245
391
    if (yych <= '\r') {
11246
168
      if (yych <= '\t') {
11247
80
        if (yych <= 0x00) goto yy876;
11248
0
        goto yy808;
11249
88
      } else {
11250
88
        if (yych <= '\n') goto yy846;
11251
0
        if (yych <= '\f') goto yy808;
11252
0
        goto yy846;
11253
0
      }
11254
223
    } else {
11255
223
      if (yych <= '*') {
11256
220
        if (yych <= ')') goto yy808;
11257
219
        goto yy848;
11258
220
      } else {
11259
3
        if (yych == '/') goto yy694;
11260
3
        goto yy808;
11261
3
      }
11262
223
    }
11263
299
yy963:
11264
299
    YYDEBUG(963, *YYCURSOR);
11265
299
    yyaccept = 94;
11266
299
    YYMARKER = ++YYCURSOR;
11267
299
    YYFILL(1);
11268
299
    yych = *YYCURSOR;
11269
299
    if (yych <= '\f') {
11270
6
      if (yych <= 0x00) goto yy886;
11271
0
      if (yych == '\n') goto yy787;
11272
0
      goto yy738;
11273
293
    } else {
11274
293
      if (yych <= '\r') goto yy787;
11275
163
      if (yych == '*') goto yy789;
11276
163
      goto yy738;
11277
163
    }
11278
1.38k
yy964:
11279
1.38k
    YYDEBUG(964, *YYCURSOR);
11280
1.38k
    ++YYCURSOR;
11281
1.38k
    YYFILL(1);
11282
1.38k
    yych = *YYCURSOR;
11283
1.38k
    if (yych <= ')') {
11284
817
      if (yych <= '\n') {
11285
94
        if (yych <= 0x00) goto yy86;
11286
86
        if (yych <= '\t') goto yy738;
11287
3
        goto yy787;
11288
723
      } else {
11289
723
        if (yych == '\r') goto yy787;
11290
694
        goto yy738;
11291
723
      }
11292
817
    } else {
11293
569
      if (yych <= 'N') {
11294
492
        if (yych <= '*') goto yy789;
11295
352
        if (yych <= 'M') goto yy738;
11296
352
      } else {
11297
77
        if (yych != 'n') goto yy738;
11298
77
      }
11299
569
    }
11300
428
    YYDEBUG(965, *YYCURSOR);
11301
428
    ++YYCURSOR;
11302
428
    YYFILL(1);
11303
428
    yych = *YYCURSOR;
11304
428
    if (yych <= ')') {
11305
154
      if (yych <= '\n') {
11306
76
        if (yych <= 0x00) goto yy86;
11307
76
        if (yych <= '\t') goto yy738;
11308
0
        goto yy787;
11309
78
      } else {
11310
78
        if (yych == '\r') goto yy787;
11311
9
        goto yy738;
11312
78
      }
11313
274
    } else {
11314
274
      if (yych <= 'T') {
11315
227
        if (yych <= '*') goto yy789;
11316
227
        if (yych <= 'S') goto yy738;
11317
167
        goto yy957;
11318
227
      } else {
11319
47
        if (yych == 't') goto yy957;
11320
0
        goto yy738;
11321
47
      }
11322
274
    }
11323
428
  }
11324
/* *********************************** */
11325
52.8k
yyc_ST_LOOKING_FOR_PROPERTY:
11326
52.8k
  {
11327
52.8k
    static const unsigned char yybm[] = {
11328
52.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
52.8k
        0,  64,  64,   0,   0,  64,   0,   0, 
11330
52.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
52.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
52.8k
       64,   0,   0,   0,   0,   0,   0,   0, 
11333
52.8k
        0,   0,   0,   0,   0,   0,   0,   0, 
11334
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11335
52.8k
      128, 128,   0,   0,   0,   0,   0,   0, 
11336
52.8k
        0, 128, 128, 128, 128, 128, 128, 128, 
11337
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11339
52.8k
      128, 128, 128,   0,   0,   0,   0, 128, 
11340
52.8k
        0, 128, 128, 128, 128, 128, 128, 128, 
11341
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
52.8k
      128, 128, 128,   0,   0,   0,   0,   0, 
11344
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
52.8k
      128, 128, 128, 128, 128, 128, 128, 128, 
11360
52.8k
    };
11361
52.8k
    YYDEBUG(966, *YYCURSOR);
11362
52.8k
    YYFILL(4);
11363
52.8k
    yych = *YYCURSOR;
11364
52.8k
    if (yybm[0+yych] & 64) {
11365
5.02k
      goto yy970;
11366
5.02k
    }
11367
47.7k
    if (yych <= '?') {
11368
23.5k
      if (yych <= '-') {
11369
14.6k
        if (yych == '#') goto yy973;
11370
10.8k
        if (yych >= '-') goto yy975;
11371
10.8k
      } else {
11372
8.94k
        if (yych == '/') goto yy976;
11373
4.32k
        if (yych >= '?') goto yy977;
11374
4.32k
      }
11375
24.1k
    } else {
11376
24.1k
      if (yych <= '_') {
11377
2.98k
        if (yych <= '@') goto yy968;
11378
2.98k
        if (yych <= 'Z') goto yy978;
11379
2.35k
        if (yych >= '_') goto yy978;
11380
21.1k
      } else {
11381
21.1k
        if (yych <= '`') goto yy968;
11382
20.9k
        if (yych <= 'z') goto yy978;
11383
1.67k
        if (yych >= 0x80) goto yy978;
11384
1.67k
      }
11385
24.1k
    }
11386
2.95k
yy968:
11387
2.95k
    YYDEBUG(968, *YYCURSOR);
11388
2.95k
    ++YYCURSOR;
11389
3.79k
yy969:
11390
3.79k
    YYDEBUG(969, *YYCURSOR);
11391
3.79k
    yyleng = YYCURSOR - SCNG(yy_text);
11392
3.79k
#line 2520 "Zend/zend_language_scanner.l"
11393
3.79k
    {
11394
3.79k
  yyless(0);
11395
3.79k
  yy_pop_state();
11396
3.79k
  goto restart;
11397
2.95k
}
11398
0
#line 11399 "Zend/zend_language_scanner.c"
11399
5.49k
yy970:
11400
5.49k
    YYDEBUG(970, *YYCURSOR);
11401
5.49k
    ++YYCURSOR;
11402
5.49k
    YYFILL(1);
11403
5.49k
    yych = *YYCURSOR;
11404
5.49k
    YYDEBUG(971, *YYCURSOR);
11405
5.49k
    if (yybm[0+yych] & 64) {
11406
471
      goto yy970;
11407
471
    }
11408
5.02k
    YYDEBUG(972, *YYCURSOR);
11409
5.02k
    yyleng = YYCURSOR - SCNG(yy_text);
11410
5.02k
#line 1597 "Zend/zend_language_scanner.l"
11411
5.02k
    {
11412
5.02k
  goto return_whitespace;
11413
5.49k
}
11414
0
#line 11415 "Zend/zend_language_scanner.c"
11415
3.87k
yy973:
11416
3.87k
    YYDEBUG(973, *YYCURSOR);
11417
3.87k
    ++YYCURSOR;
11418
3.87k
    YYDEBUG(974, *YYCURSOR);
11419
3.87k
    yyleng = YYCURSOR - SCNG(yy_text);
11420
3.87k
#line 2460 "Zend/zend_language_scanner.l"
11421
3.87k
    {
11422
15.3k
  while (YYCURSOR < YYLIMIT) {
11423
15.3k
    switch (*YYCURSOR++) {
11424
779
      case '\r':
11425
3.86k
      case '\n':
11426
3.86k
        YYCURSOR--;
11427
3.86k
        break;
11428
4
      case '?':
11429
4
        if (*YYCURSOR == '>') {
11430
2
          YYCURSOR--;
11431
2
          break;
11432
2
        }
11433
2
        ZEND_FALLTHROUGH;
11434
11.4k
      default:
11435
11.4k
        continue;
11436
15.3k
    }
11437
11438
3.86k
    break;
11439
15.3k
  }
11440
11441
3.87k
  yyleng = YYCURSOR - SCNG(yy_text);
11442
3.87k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11443
3.87k
}
11444
0
#line 11445 "Zend/zend_language_scanner.c"
11445
9.41k
yy975:
11446
9.41k
    YYDEBUG(975, *YYCURSOR);
11447
9.41k
    yych = *++YYCURSOR;
11448
9.41k
    if (yych == '>') goto yy981;
11449
139
    goto yy969;
11450
4.62k
yy976:
11451
4.62k
    YYDEBUG(976, *YYCURSOR);
11452
4.62k
    yych = *++YYCURSOR;
11453
4.62k
    if (yych == '*') goto yy983;
11454
370
    if (yych == '/') goto yy973;
11455
320
    goto yy969;
11456
3.98k
yy977:
11457
3.98k
    YYDEBUG(977, *YYCURSOR);
11458
3.98k
    yyaccept = 0;
11459
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
11460
3.98k
    if (yych == '-') goto yy985;
11461
92
    goto yy969;
11462
117k
yy978:
11463
117k
    YYDEBUG(978, *YYCURSOR);
11464
117k
    ++YYCURSOR;
11465
117k
    YYFILL(1);
11466
117k
    yych = *YYCURSOR;
11467
117k
    YYDEBUG(979, *YYCURSOR);
11468
117k
    if (yybm[0+yych] & 128) {
11469
94.7k
      goto yy978;
11470
94.7k
    }
11471
22.9k
    YYDEBUG(980, *YYCURSOR);
11472
22.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11473
22.9k
#line 1609 "Zend/zend_language_scanner.l"
11474
22.9k
    {
11475
22.9k
  yy_pop_state();
11476
22.9k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11477
22.9k
}
11478
0
#line 11479 "Zend/zend_language_scanner.c"
11479
9.27k
yy981:
11480
9.27k
    YYDEBUG(981, *YYCURSOR);
11481
9.27k
    ++YYCURSOR;
11482
9.27k
    YYDEBUG(982, *YYCURSOR);
11483
9.27k
    yyleng = YYCURSOR - SCNG(yy_text);
11484
9.27k
#line 1601 "Zend/zend_language_scanner.l"
11485
9.27k
    {
11486
9.27k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11487
9.27k
}
11488
0
#line 11489 "Zend/zend_language_scanner.c"
11489
4.25k
yy983:
11490
4.25k
    YYDEBUG(983, *YYCURSOR);
11491
4.25k
    yyaccept = 1;
11492
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
11493
4.25k
    if (yych == '*') goto yy987;
11494
4.25k
yy984:
11495
4.25k
    YYDEBUG(984, *YYCURSOR);
11496
4.25k
    yyleng = YYCURSOR - SCNG(yy_text);
11497
4.25k
#line 2484 "Zend/zend_language_scanner.l"
11498
4.25k
    {
11499
4.25k
  int doc_com;
11500
11501
4.25k
  if (yyleng > 2) {
11502
1.69k
    doc_com = 1;
11503
1.69k
    RESET_DOC_COMMENT();
11504
2.56k
  } else {
11505
2.56k
    doc_com = 0;
11506
2.56k
  }
11507
11508
511k
  while (YYCURSOR < YYLIMIT) {
11509
511k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11510
4.09k
      break;
11511
4.09k
    }
11512
511k
  }
11513
11514
4.25k
  if (YYCURSOR < YYLIMIT) {
11515
4.09k
    YYCURSOR++;
11516
4.09k
  } else {
11517
155
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11518
155
    if (PARSER_MODE()) {
11519
0
      RETURN_TOKEN(T_ERROR);
11520
0
    }
11521
155
  }
11522
11523
4.25k
  yyleng = YYCURSOR - SCNG(yy_text);
11524
4.25k
  HANDLE_NEWLINES(yytext, yyleng);
11525
11526
4.25k
  if (doc_com) {
11527
1.69k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11528
1.69k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11529
1.69k
  }
11530
11531
2.56k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11532
2.56k
}
11533
0
#line 11534 "Zend/zend_language_scanner.c"
11534
3.89k
yy985:
11535
3.89k
    YYDEBUG(985, *YYCURSOR);
11536
3.89k
    yych = *++YYCURSOR;
11537
3.89k
    if (yych == '>') goto yy988;
11538
770
yy986:
11539
770
    YYDEBUG(986, *YYCURSOR);
11540
770
    YYCURSOR = YYMARKER;
11541
770
    if (yyaccept == 0) {
11542
284
      goto yy969;
11543
486
    } else {
11544
486
      goto yy984;
11545
486
    }
11546
2.17k
yy987:
11547
2.17k
    YYDEBUG(987, *YYCURSOR);
11548
2.17k
    yych = *++YYCURSOR;
11549
2.17k
    if (yych <= '\f') {
11550
303
      if (yych <= 0x08) goto yy986;
11551
117
      if (yych <= '\n') goto yy990;
11552
0
      goto yy986;
11553
1.87k
    } else {
11554
1.87k
      if (yych <= '\r') goto yy990;
11555
581
      if (yych == ' ') goto yy990;
11556
300
      goto yy986;
11557
581
    }
11558
3.60k
yy988:
11559
3.60k
    YYDEBUG(988, *YYCURSOR);
11560
3.60k
    ++YYCURSOR;
11561
3.60k
    YYDEBUG(989, *YYCURSOR);
11562
3.60k
    yyleng = YYCURSOR - SCNG(yy_text);
11563
3.60k
#line 1605 "Zend/zend_language_scanner.l"
11564
3.60k
    {
11565
3.60k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11566
3.60k
}
11567
0
#line 11568 "Zend/zend_language_scanner.c"
11568
3.71k
yy990:
11569
3.71k
    YYDEBUG(990, *YYCURSOR);
11570
3.71k
    ++YYCURSOR;
11571
3.71k
    YYFILL(1);
11572
3.71k
    yych = *YYCURSOR;
11573
3.71k
    YYDEBUG(991, *YYCURSOR);
11574
3.71k
    if (yych <= '\f') {
11575
1.58k
      if (yych <= 0x08) goto yy984;
11576
1.26k
      if (yych <= '\n') goto yy990;
11577
0
      goto yy984;
11578
2.12k
    } else {
11579
2.12k
      if (yych <= '\r') goto yy990;
11580
2.09k
      if (yych == ' ') goto yy990;
11581
1.37k
      goto yy984;
11582
2.09k
    }
11583
3.71k
  }
11584
/* *********************************** */
11585
88.3k
yyc_ST_BACKQUOTE:
11586
88.3k
  {
11587
88.3k
    static const unsigned char yybm[] = {
11588
88.3k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
88.3k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
88.3k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
88.3k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
88.3k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
88.3k
        0,   0,   0,   0,   0,   0,   0,   0, 
11594
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11595
88.3k
      128, 128,   0,   0,   0,   0,   0,   0, 
11596
88.3k
        0, 128, 128, 128, 128, 128, 128, 128, 
11597
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11599
88.3k
      128, 128, 128,   0,   0,   0,   0, 128, 
11600
88.3k
        0, 128, 128, 128, 128, 128, 128, 128, 
11601
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
88.3k
      128, 128, 128,   0,   0,   0,   0,   0, 
11604
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
88.3k
      128, 128, 128, 128, 128, 128, 128, 128, 
11620
88.3k
    };
11621
88.3k
    YYDEBUG(992, *YYCURSOR);
11622
88.3k
    YYFILL(2);
11623
88.3k
    yych = *YYCURSOR;
11624
88.3k
    if (yych <= '_') {
11625
70.6k
      if (yych == '$') goto yy996;
11626
70.6k
    } else {
11627
17.6k
      if (yych <= '`') goto yy997;
11628
5.90k
      if (yych == '{') goto yy999;
11629
5.90k
    }
11630
39.8k
    YYDEBUG(994, *YYCURSOR);
11631
39.8k
    ++YYCURSOR;
11632
40.7k
yy995:
11633
40.7k
    YYDEBUG(995, *YYCURSOR);
11634
40.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11635
40.7k
#line 2919 "Zend/zend_language_scanner.l"
11636
40.7k
    {
11637
40.7k
  if (YYCURSOR > YYLIMIT) {
11638
1.06k
    RETURN_END_TOKEN;
11639
1.06k
  }
11640
39.6k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11641
222
    YYCURSOR++;
11642
222
  }
11643
11644
1.53M
  while (YYCURSOR < YYLIMIT) {
11645
1.53M
    switch (*YYCURSOR++) {
11646
4.30k
      case '`':
11647
4.30k
        break;
11648
38.8k
      case '$':
11649
38.8k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11650
33.8k
          break;
11651
33.8k
        }
11652
5.04k
        continue;
11653
9.24k
      case '{':
11654
9.24k
        if (*YYCURSOR == '$') {
11655
484
          break;
11656
484
        }
11657
8.76k
        continue;
11658
8.76k
      case '\\':
11659
6.00k
        if (YYCURSOR < YYLIMIT) {
11660
5.95k
          YYCURSOR++;
11661
5.95k
        }
11662
6.00k
        ZEND_FALLTHROUGH;
11663
1.48M
      default:
11664
1.48M
        continue;
11665
1.53M
    }
11666
11667
38.6k
    YYCURSOR--;
11668
38.6k
    break;
11669
1.53M
  }
11670
11671
39.6k
  yyleng = YYCURSOR - SCNG(yy_text);
11672
11673
39.6k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11674
39.6k
   || !PARSER_MODE()) {
11675
39.6k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11676
39.6k
  } else {
11677
0
    RETURN_TOKEN(T_ERROR);
11678
0
  }
11679
39.6k
}
11680
0
#line 11681 "Zend/zend_language_scanner.c"
11681
35.7k
yy996:
11682
35.7k
    YYDEBUG(996, *YYCURSOR);
11683
35.7k
    yych = *++YYCURSOR;
11684
35.7k
    if (yych <= '_') {
11685
958
      if (yych <= '@') goto yy995;
11686
679
      if (yych <= 'Z') goto yy1000;
11687
57
      if (yych <= '^') goto yy995;
11688
0
      goto yy1000;
11689
34.8k
    } else {
11690
34.8k
      if (yych <= 'z') {
11691
24.5k
        if (yych <= '`') goto yy995;
11692
24.5k
        goto yy1000;
11693
24.5k
      } else {
11694
10.2k
        if (yych <= '{') goto yy1003;
11695
1.68k
        if (yych <= 0x7F) goto yy995;
11696
1.68k
        goto yy1000;
11697
1.68k
      }
11698
34.8k
    }
11699
11.7k
yy997:
11700
11.7k
    YYDEBUG(997, *YYCURSOR);
11701
11.7k
    ++YYCURSOR;
11702
11.7k
    YYDEBUG(998, *YYCURSOR);
11703
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11704
11.7k
#line 2859 "Zend/zend_language_scanner.l"
11705
11.7k
    {
11706
11.7k
  BEGIN(ST_IN_SCRIPTING);
11707
11.7k
  RETURN_TOKEN('`');
11708
11.7k
}
11709
0
#line 11710 "Zend/zend_language_scanner.c"
11710
924
yy999:
11711
924
    YYDEBUG(999, *YYCURSOR);
11712
924
    yych = *++YYCURSOR;
11713
924
    if (yych == '$') goto yy1005;
11714
440
    goto yy995;
11715
75.4k
yy1000:
11716
75.4k
    YYDEBUG(1000, *YYCURSOR);
11717
75.4k
    YYMARKER = ++YYCURSOR;
11718
75.4k
    YYFILL(4);
11719
75.4k
    yych = *YYCURSOR;
11720
75.4k
    YYDEBUG(1001, *YYCURSOR);
11721
75.4k
    if (yybm[0+yych] & 128) {
11722
48.6k
      goto yy1000;
11723
48.6k
    }
11724
26.8k
    if (yych <= '>') {
11725
21.3k
      if (yych == '-') goto yy1007;
11726
21.3k
    } else {
11727
5.44k
      if (yych <= '?') goto yy1009;
11728
2.12k
      if (yych <= '@') goto yy1002;
11729
2.03k
      if (yych <= '[') goto yy1010;
11730
2.03k
    }
11731
23.1k
yy1002:
11732
23.1k
    YYDEBUG(1002, *YYCURSOR);
11733
23.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11734
23.1k
#line 2417 "Zend/zend_language_scanner.l"
11735
23.1k
    {
11736
23.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11737
23.1k
}
11738
0
#line 11739 "Zend/zend_language_scanner.c"
11739
8.56k
yy1003:
11740
8.56k
    YYDEBUG(1003, *YYCURSOR);
11741
8.56k
    ++YYCURSOR;
11742
8.56k
    YYDEBUG(1004, *YYCURSOR);
11743
8.56k
    yyleng = YYCURSOR - SCNG(yy_text);
11744
8.56k
#line 1981 "Zend/zend_language_scanner.l"
11745
8.56k
    {
11746
8.56k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11747
8.56k
  enter_nesting('{');
11748
8.56k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11749
8.56k
}
11750
0
#line 11751 "Zend/zend_language_scanner.c"
11751
484
yy1005:
11752
484
    YYDEBUG(1005, *YYCURSOR);
11753
484
    ++YYCURSOR;
11754
484
    YYDEBUG(1006, *YYCURSOR);
11755
484
    yyleng = YYCURSOR - SCNG(yy_text);
11756
484
#line 2846 "Zend/zend_language_scanner.l"
11757
484
    {
11758
484
  yy_push_state(ST_IN_SCRIPTING);
11759
484
  yyless(1);
11760
484
  enter_nesting('{');
11761
484
  RETURN_TOKEN(T_CURLY_OPEN);
11762
484
}
11763
0
#line 11764 "Zend/zend_language_scanner.c"
11764
3.19k
yy1007:
11765
3.19k
    YYDEBUG(1007, *YYCURSOR);
11766
3.19k
    yych = *++YYCURSOR;
11767
3.19k
    if (yych == '>') goto yy1012;
11768
3.91k
yy1008:
11769
3.91k
    YYDEBUG(1008, *YYCURSOR);
11770
3.91k
    YYCURSOR = YYMARKER;
11771
3.91k
    goto yy1002;
11772
3.32k
yy1009:
11773
3.32k
    YYDEBUG(1009, *YYCURSOR);
11774
3.32k
    yych = *++YYCURSOR;
11775
3.32k
    if (yych == '-') goto yy1013;
11776
602
    goto yy1008;
11777
1.01k
yy1010:
11778
1.01k
    YYDEBUG(1010, *YYCURSOR);
11779
1.01k
    ++YYCURSOR;
11780
1.01k
    YYDEBUG(1011, *YYCURSOR);
11781
1.01k
    yyleng = YYCURSOR - SCNG(yy_text);
11782
1.01k
#line 2411 "Zend/zend_language_scanner.l"
11783
1.01k
    {
11784
1.01k
  yyless(yyleng - 1);
11785
1.01k
  yy_push_state(ST_VAR_OFFSET);
11786
1.01k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11787
1.01k
}
11788
0
#line 11789 "Zend/zend_language_scanner.c"
11789
2.40k
yy1012:
11790
2.40k
    YYDEBUG(1012, *YYCURSOR);
11791
2.40k
    yych = *++YYCURSOR;
11792
2.40k
    if (yych <= '_') {
11793
588
      if (yych <= '@') goto yy1008;
11794
137
      if (yych <= 'Z') goto yy1014;
11795
13
      if (yych <= '^') goto yy1008;
11796
13
      goto yy1014;
11797
1.81k
    } else {
11798
1.81k
      if (yych <= '`') goto yy1008;
11799
1.81k
      if (yych <= 'z') goto yy1014;
11800
1.11k
      if (yych <= 0x7F) goto yy1008;
11801
0
      goto yy1014;
11802
1.11k
    }
11803
2.72k
yy1013:
11804
2.72k
    YYDEBUG(1013, *YYCURSOR);
11805
2.72k
    yych = *++YYCURSOR;
11806
2.72k
    if (yych == '>') goto yy1016;
11807
40
    goto yy1008;
11808
832
yy1014:
11809
832
    YYDEBUG(1014, *YYCURSOR);
11810
832
    ++YYCURSOR;
11811
832
    YYDEBUG(1015, *YYCURSOR);
11812
832
    yyleng = YYCURSOR - SCNG(yy_text);
11813
832
#line 2397 "Zend/zend_language_scanner.l"
11814
832
    {
11815
832
  yyless(yyleng - 3);
11816
832
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11817
832
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11818
832
}
11819
0
#line 11820 "Zend/zend_language_scanner.c"
11820
2.68k
yy1016:
11821
2.68k
    YYDEBUG(1016, *YYCURSOR);
11822
2.68k
    yych = *++YYCURSOR;
11823
2.68k
    if (yych <= '_') {
11824
1.81k
      if (yych <= '@') goto yy1008;
11825
1.73k
      if (yych <= 'Z') goto yy1017;
11826
1.70k
      if (yych <= '^') goto yy1008;
11827
1.70k
    } else {
11828
867
      if (yych <= '`') goto yy1008;
11829
597
      if (yych <= 'z') goto yy1017;
11830
69
      if (yych <= 0x7F) goto yy1008;
11831
69
    }
11832
1.77k
yy1017:
11833
1.77k
    YYDEBUG(1017, *YYCURSOR);
11834
1.77k
    ++YYCURSOR;
11835
1.77k
    YYDEBUG(1018, *YYCURSOR);
11836
1.77k
    yyleng = YYCURSOR - SCNG(yy_text);
11837
1.77k
#line 2403 "Zend/zend_language_scanner.l"
11838
1.77k
    {
11839
1.77k
  yyless(yyleng - 4);
11840
1.77k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11841
1.77k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11842
1.77k
}
11843
1.77k
#line 11844 "Zend/zend_language_scanner.c"
11844
1.77k
  }
11845
/* *********************************** */
11846
218k
yyc_ST_DOUBLE_QUOTES:
11847
218k
  {
11848
218k
    static const unsigned char yybm[] = {
11849
218k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
218k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
218k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
218k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
218k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
218k
        0,   0,   0,   0,   0,   0,   0,   0, 
11855
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11856
218k
      128, 128,   0,   0,   0,   0,   0,   0, 
11857
218k
        0, 128, 128, 128, 128, 128, 128, 128, 
11858
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11860
218k
      128, 128, 128,   0,   0,   0,   0, 128, 
11861
218k
        0, 128, 128, 128, 128, 128, 128, 128, 
11862
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
218k
      128, 128, 128,   0,   0,   0,   0,   0, 
11865
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
218k
      128, 128, 128, 128, 128, 128, 128, 128, 
11881
218k
    };
11882
218k
    YYDEBUG(1019, *YYCURSOR);
11883
218k
    YYFILL(2);
11884
218k
    yych = *YYCURSOR;
11885
218k
    if (yych <= '#') {
11886
50.6k
      if (yych == '"') goto yy1023;
11887
167k
    } else {
11888
167k
      if (yych <= '$') goto yy1025;
11889
75.4k
      if (yych == '{') goto yy1026;
11890
75.4k
    }
11891
105k
    YYDEBUG(1021, *YYCURSOR);
11892
105k
    ++YYCURSOR;
11893
107k
yy1022:
11894
107k
    YYDEBUG(1022, *YYCURSOR);
11895
107k
    yyleng = YYCURSOR - SCNG(yy_text);
11896
107k
#line 2865 "Zend/zend_language_scanner.l"
11897
107k
    {
11898
107k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11899
38.2k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11900
38.2k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11901
11902
38.2k
    goto double_quotes_scan_done;
11903
38.2k
  }
11904
11905
69.3k
  if (YYCURSOR > YYLIMIT) {
11906
1.33k
    RETURN_END_TOKEN;
11907
1.33k
  }
11908
68.0k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11909
2.01k
    YYCURSOR++;
11910
2.01k
  }
11911
11912
2.58M
  while (YYCURSOR < YYLIMIT) {
11913
2.58M
    switch (*YYCURSOR++) {
11914
14.6k
      case '"':
11915
14.6k
        break;
11916
59.9k
      case '$':
11917
59.9k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11918
50.2k
          break;
11919
50.2k
        }
11920
9.77k
        continue;
11921
16.9k
      case '{':
11922
16.9k
        if (*YYCURSOR == '$') {
11923
2.40k
          break;
11924
2.40k
        }
11925
14.5k
        continue;
11926
28.4k
      case '\\':
11927
28.4k
        if (YYCURSOR < YYLIMIT) {
11928
28.4k
          YYCURSOR++;
11929
28.4k
        }
11930
28.4k
        ZEND_FALLTHROUGH;
11931
2.49M
      default:
11932
2.49M
        continue;
11933
2.58M
    }
11934
11935
67.2k
    YYCURSOR--;
11936
67.2k
    break;
11937
2.58M
  }
11938
11939
106k
double_quotes_scan_done:
11940
106k
  yyleng = YYCURSOR - SCNG(yy_text);
11941
11942
106k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11943
106k
   || !PARSER_MODE()) {
11944
106k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11945
106k
  } else {
11946
0
    RETURN_TOKEN(T_ERROR);
11947
0
  }
11948
106k
}
11949
0
#line 11950 "Zend/zend_language_scanner.c"
11950
15.5k
yy1023:
11951
15.5k
    YYDEBUG(1023, *YYCURSOR);
11952
15.5k
    ++YYCURSOR;
11953
15.5k
    YYDEBUG(1024, *YYCURSOR);
11954
15.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11955
15.5k
#line 2854 "Zend/zend_language_scanner.l"
11956
15.5k
    {
11957
15.5k
  BEGIN(ST_IN_SCRIPTING);
11958
15.5k
  RETURN_TOKEN('"');
11959
15.5k
}
11960
0
#line 11961 "Zend/zend_language_scanner.c"
11961
92.4k
yy1025:
11962
92.4k
    YYDEBUG(1025, *YYCURSOR);
11963
92.4k
    yych = *++YYCURSOR;
11964
92.4k
    if (yych <= '_') {
11965
6.90k
      if (yych <= '@') goto yy1022;
11966
6.83k
      if (yych <= 'Z') goto yy1027;
11967
851
      if (yych <= '^') goto yy1022;
11968
380
      goto yy1027;
11969
85.5k
    } else {
11970
85.5k
      if (yych <= 'z') {
11971
51.0k
        if (yych <= '`') goto yy1022;
11972
50.4k
        goto yy1027;
11973
51.0k
      } else {
11974
34.4k
        if (yych <= '{') goto yy1030;
11975
10.2k
        if (yych <= 0x7F) goto yy1022;
11976
10.1k
        goto yy1027;
11977
10.2k
      }
11978
85.5k
    }
11979
4.76k
yy1026:
11980
4.76k
    YYDEBUG(1026, *YYCURSOR);
11981
4.76k
    yych = *++YYCURSOR;
11982
4.76k
    if (yych == '$') goto yy1032;
11983
629
    goto yy1022;
11984
257k
yy1027:
11985
257k
    YYDEBUG(1027, *YYCURSOR);
11986
257k
    YYMARKER = ++YYCURSOR;
11987
257k
    YYFILL(4);
11988
257k
    yych = *YYCURSOR;
11989
257k
    YYDEBUG(1028, *YYCURSOR);
11990
257k
    if (yybm[0+yych] & 128) {
11991
190k
      goto yy1027;
11992
190k
    }
11993
67.0k
    if (yych <= '>') {
11994
56.1k
      if (yych == '-') goto yy1034;
11995
56.1k
    } else {
11996
10.8k
      if (yych <= '?') goto yy1036;
11997
6.67k
      if (yych <= '@') goto yy1029;
11998
6.58k
      if (yych <= '[') goto yy1037;
11999
6.58k
    }
12000
61.1k
yy1029:
12001
61.1k
    YYDEBUG(1029, *YYCURSOR);
12002
61.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12003
61.1k
#line 2417 "Zend/zend_language_scanner.l"
12004
61.1k
    {
12005
61.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12006
61.1k
}
12007
0
#line 12008 "Zend/zend_language_scanner.c"
12008
24.2k
yy1030:
12009
24.2k
    YYDEBUG(1030, *YYCURSOR);
12010
24.2k
    ++YYCURSOR;
12011
24.2k
    YYDEBUG(1031, *YYCURSOR);
12012
24.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12013
24.2k
#line 1981 "Zend/zend_language_scanner.l"
12014
24.2k
    {
12015
24.2k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12016
24.2k
  enter_nesting('{');
12017
24.2k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12018
24.2k
}
12019
0
#line 12020 "Zend/zend_language_scanner.c"
12020
4.13k
yy1032:
12021
4.13k
    YYDEBUG(1032, *YYCURSOR);
12022
4.13k
    ++YYCURSOR;
12023
4.13k
    YYDEBUG(1033, *YYCURSOR);
12024
4.13k
    yyleng = YYCURSOR - SCNG(yy_text);
12025
4.13k
#line 2846 "Zend/zend_language_scanner.l"
12026
4.13k
    {
12027
4.13k
  yy_push_state(ST_IN_SCRIPTING);
12028
4.13k
  yyless(1);
12029
4.13k
  enter_nesting('{');
12030
4.13k
  RETURN_TOKEN(T_CURLY_OPEN);
12031
4.13k
}
12032
0
#line 12033 "Zend/zend_language_scanner.c"
12033
3.30k
yy1034:
12034
3.30k
    YYDEBUG(1034, *YYCURSOR);
12035
3.30k
    yych = *++YYCURSOR;
12036
3.30k
    if (yych == '>') goto yy1039;
12037
4.01k
yy1035:
12038
4.01k
    YYDEBUG(1035, *YYCURSOR);
12039
4.01k
    YYCURSOR = YYMARKER;
12040
4.01k
    goto yy1029;
12041
4.14k
yy1036:
12042
4.14k
    YYDEBUG(1036, *YYCURSOR);
12043
4.14k
    yych = *++YYCURSOR;
12044
4.14k
    if (yych == '-') goto yy1040;
12045
2.09k
    goto yy1035;
12046
2.38k
yy1037:
12047
2.38k
    YYDEBUG(1037, *YYCURSOR);
12048
2.38k
    ++YYCURSOR;
12049
2.38k
    YYDEBUG(1038, *YYCURSOR);
12050
2.38k
    yyleng = YYCURSOR - SCNG(yy_text);
12051
2.38k
#line 2411 "Zend/zend_language_scanner.l"
12052
2.38k
    {
12053
2.38k
  yyless(yyleng - 1);
12054
2.38k
  yy_push_state(ST_VAR_OFFSET);
12055
2.38k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12056
2.38k
}
12057
0
#line 12058 "Zend/zend_language_scanner.c"
12058
2.54k
yy1039:
12059
2.54k
    YYDEBUG(1039, *YYCURSOR);
12060
2.54k
    yych = *++YYCURSOR;
12061
2.54k
    if (yych <= '_') {
12062
398
      if (yych <= '@') goto yy1035;
12063
181
      if (yych <= 'Z') goto yy1041;
12064
171
      if (yych <= '^') goto yy1035;
12065
168
      goto yy1041;
12066
2.14k
    } else {
12067
2.14k
      if (yych <= '`') goto yy1035;
12068
2.07k
      if (yych <= 'z') goto yy1041;
12069
52
      if (yych <= 0x7F) goto yy1035;
12070
52
      goto yy1041;
12071
52
    }
12072
2.05k
yy1040:
12073
2.05k
    YYDEBUG(1040, *YYCURSOR);
12074
2.05k
    yych = *++YYCURSOR;
12075
2.05k
    if (yych == '>') goto yy1043;
12076
108
    goto yy1035;
12077
2.25k
yy1041:
12078
2.25k
    YYDEBUG(1041, *YYCURSOR);
12079
2.25k
    ++YYCURSOR;
12080
2.25k
    YYDEBUG(1042, *YYCURSOR);
12081
2.25k
    yyleng = YYCURSOR - SCNG(yy_text);
12082
2.25k
#line 2397 "Zend/zend_language_scanner.l"
12083
2.25k
    {
12084
2.25k
  yyless(yyleng - 3);
12085
2.25k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12086
2.25k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12087
2.25k
}
12088
0
#line 12089 "Zend/zend_language_scanner.c"
12089
1.94k
yy1043:
12090
1.94k
    YYDEBUG(1043, *YYCURSOR);
12091
1.94k
    yych = *++YYCURSOR;
12092
1.94k
    if (yych <= '_') {
12093
1.09k
      if (yych <= '@') goto yy1035;
12094
1.09k
      if (yych <= 'Z') goto yy1044;
12095
1.03k
      if (yych <= '^') goto yy1035;
12096
1.03k
    } else {
12097
851
      if (yych <= '`') goto yy1035;
12098
519
      if (yych <= 'z') goto yy1044;
12099
180
      if (yych <= 0x7F) goto yy1035;
12100
180
    }
12101
1.18k
yy1044:
12102
1.18k
    YYDEBUG(1044, *YYCURSOR);
12103
1.18k
    ++YYCURSOR;
12104
1.18k
    YYDEBUG(1045, *YYCURSOR);
12105
1.18k
    yyleng = YYCURSOR - SCNG(yy_text);
12106
1.18k
#line 2403 "Zend/zend_language_scanner.l"
12107
1.18k
    {
12108
1.18k
  yyless(yyleng - 4);
12109
1.18k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12110
1.18k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12111
1.18k
}
12112
1.18k
#line 12113 "Zend/zend_language_scanner.c"
12113
1.18k
  }
12114
/* *********************************** */
12115
1.53M
yyc_ST_HEREDOC:
12116
1.53M
  {
12117
1.53M
    static const unsigned char yybm[] = {
12118
1.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
1.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
1.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
1.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
1.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
1.53M
        0,   0,   0,   0,   0,   0,   0,   0, 
12124
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12125
1.53M
      128, 128,   0,   0,   0,   0,   0,   0, 
12126
1.53M
        0, 128, 128, 128, 128, 128, 128, 128, 
12127
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12129
1.53M
      128, 128, 128,   0,   0,   0,   0, 128, 
12130
1.53M
        0, 128, 128, 128, 128, 128, 128, 128, 
12131
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
1.53M
      128, 128, 128,   0,   0,   0,   0,   0, 
12134
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
1.53M
      128, 128, 128, 128, 128, 128, 128, 128, 
12150
1.53M
    };
12151
1.53M
    YYDEBUG(1046, *YYCURSOR);
12152
1.53M
    YYFILL(2);
12153
1.53M
    yych = *YYCURSOR;
12154
1.53M
    if (yych == '$') goto yy1050;
12155
497k
    if (yych == '{') goto yy1051;
12156
462k
    YYDEBUG(1048, *YYCURSOR);
12157
462k
    ++YYCURSOR;
12158
561k
yy1049:
12159
561k
    YYDEBUG(1049, *YYCURSOR);
12160
561k
    yyleng = YYCURSOR - SCNG(yy_text);
12161
561k
#line 2965 "Zend/zend_language_scanner.l"
12162
561k
    {
12163
561k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12164
561k
  int newline = 0, indentation = 0, spacing = 0;
12165
12166
561k
  if (YYCURSOR > YYLIMIT) {
12167
2.22k
    RETURN_END_TOKEN;
12168
2.22k
  }
12169
12170
559k
  YYCURSOR--;
12171
12172
17.1M
  while (YYCURSOR < YYLIMIT) {
12173
17.1M
    switch (*YYCURSOR++) {
12174
140k
      case '\r':
12175
140k
        if (*YYCURSOR == '\n') {
12176
1.50k
          YYCURSOR++;
12177
1.50k
        }
12178
140k
        ZEND_FALLTHROUGH;
12179
1.01M
      case '\n':
12180
1.01M
        indentation = spacing = 0;
12181
12182
1.78M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12183
766k
          if (*YYCURSOR == '\t') {
12184
3.62k
            spacing |= HEREDOC_USING_TABS;
12185
762k
          } else {
12186
762k
            spacing |= HEREDOC_USING_SPACES;
12187
762k
          }
12188
766k
          ++YYCURSOR;
12189
766k
          ++indentation;
12190
766k
        }
12191
12192
1.01M
        if (YYCURSOR == YYLIMIT) {
12193
32
          yyleng = YYCURSOR - SCNG(yy_text);
12194
32
          HANDLE_NEWLINES(yytext, yyleng);
12195
32
          ZVAL_NULL(zendlval);
12196
32
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12197
32
        }
12198
12199
        /* Check for ending label on the next line */
12200
1.01M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12201
6.06k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12202
2.70k
            continue;
12203
2.70k
          }
12204
12205
3.36k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12206
0
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12207
0
            if (PARSER_MODE()) {
12208
0
              RETURN_TOKEN(T_ERROR);
12209
0
            }
12210
0
          }
12211
12212
          /* newline before label will be subtracted from returned text, but
12213
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12214
3.36k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12215
5
            newline = 2; /* Windows newline */
12216
3.35k
          } else {
12217
3.35k
            newline = 1;
12218
3.35k
          }
12219
12220
3.36k
          CG(increment_lineno) = 1; /* For newline before label */
12221
12222
3.36k
          if (SCNG(heredoc_scan_ahead)) {
12223
2.87k
            SCNG(heredoc_indentation) = indentation;
12224
2.87k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12225
2.87k
          } else {
12226
486
            YYCURSOR -= indentation;
12227
486
          }
12228
12229
3.36k
          BEGIN(ST_END_HEREDOC);
12230
12231
3.36k
          goto heredoc_scan_done;
12232
3.36k
        }
12233
1.01M
        continue;
12234
1.01M
      case '$':
12235
703k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12236
525k
          break;
12237
525k
        }
12238
177k
        continue;
12239
177k
      case '{':
12240
168k
        if (*YYCURSOR == '$') {
12241
28.3k
          break;
12242
28.3k
        }
12243
140k
        continue;
12244
140k
      case '\\':
12245
60.9k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12246
59.9k
          YYCURSOR++;
12247
59.9k
        }
12248
60.9k
        ZEND_FALLTHROUGH;
12249
15.2M
      default:
12250
15.2M
        continue;
12251
17.1M
    }
12252
12253
553k
    YYCURSOR--;
12254
553k
    break;
12255
17.1M
  }
12256
12257
559k
heredoc_scan_done:
12258
12259
559k
  yyleng = YYCURSOR - SCNG(yy_text);
12260
559k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12261
12262
559k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12263
23.1k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12264
23.1k
    zend_string *copy = Z_STR_P(zendlval);
12265
12266
23.1k
    if (!strip_multiline_string_indentation(
12267
23.1k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12268
23.1k
        newline_at_start, newline != 0)) {
12269
3
      RETURN_TOKEN(T_ERROR);
12270
3
    }
12271
12272
23.1k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12273
0
      zend_string_efree(copy);
12274
0
      RETURN_TOKEN(T_ERROR);
12275
0
    }
12276
12277
23.1k
    zend_string_efree(copy);
12278
536k
  } else {
12279
536k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12280
536k
  }
12281
12282
559k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12283
559k
}
12284
0
#line 12285 "Zend/zend_language_scanner.c"
12285
1.03M
yy1050:
12286
1.03M
    YYDEBUG(1050, *YYCURSOR);
12287
1.03M
    yych = *++YYCURSOR;
12288
1.03M
    if (yych <= '_') {
12289
103k
      if (yych <= '@') goto yy1049;
12290
12.5k
      if (yych <= 'Z') goto yy1052;
12291
2.06k
      if (yych <= '^') goto yy1049;
12292
1.67k
      goto yy1052;
12293
932k
    } else {
12294
932k
      if (yych <= 'z') {
12295
200k
        if (yych <= '`') goto yy1049;
12296
198k
        goto yy1052;
12297
732k
      } else {
12298
732k
        if (yych <= '{') goto yy1055;
12299
37.0k
        if (yych <= 0x7F) goto yy1049;
12300
36.1k
        goto yy1052;
12301
37.0k
      }
12302
932k
    }
12303
35.3k
yy1051:
12304
35.3k
    YYDEBUG(1051, *YYCURSOR);
12305
35.3k
    yych = *++YYCURSOR;
12306
35.3k
    if (yych == '$') goto yy1057;
12307
5.61k
    goto yy1049;
12308
1.28M
yy1052:
12309
1.28M
    YYDEBUG(1052, *YYCURSOR);
12310
1.28M
    YYMARKER = ++YYCURSOR;
12311
1.28M
    YYFILL(4);
12312
1.28M
    yych = *YYCURSOR;
12313
1.28M
    YYDEBUG(1053, *YYCURSOR);
12314
1.28M
    if (yybm[0+yych] & 128) {
12315
1.03M
      goto yy1052;
12316
1.03M
    }
12317
247k
    if (yych <= '>') {
12318
227k
      if (yych == '-') goto yy1059;
12319
227k
    } else {
12320
19.2k
      if (yych <= '?') goto yy1061;
12321
17.0k
      if (yych <= '@') goto yy1054;
12322
16.5k
      if (yych <= '[') goto yy1062;
12323
16.5k
    }
12324
234k
yy1054:
12325
234k
    YYDEBUG(1054, *YYCURSOR);
12326
234k
    yyleng = YYCURSOR - SCNG(yy_text);
12327
234k
#line 2417 "Zend/zend_language_scanner.l"
12328
234k
    {
12329
234k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12330
234k
}
12331
0
#line 12332 "Zend/zend_language_scanner.c"
12332
695k
yy1055:
12333
695k
    YYDEBUG(1055, *YYCURSOR);
12334
695k
    ++YYCURSOR;
12335
695k
    YYDEBUG(1056, *YYCURSOR);
12336
695k
    yyleng = YYCURSOR - SCNG(yy_text);
12337
695k
#line 1981 "Zend/zend_language_scanner.l"
12338
695k
    {
12339
695k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12340
695k
  enter_nesting('{');
12341
695k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12342
695k
}
12343
0
#line 12344 "Zend/zend_language_scanner.c"
12344
29.6k
yy1057:
12345
29.6k
    YYDEBUG(1057, *YYCURSOR);
12346
29.6k
    ++YYCURSOR;
12347
29.6k
    YYDEBUG(1058, *YYCURSOR);
12348
29.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12349
29.6k
#line 2846 "Zend/zend_language_scanner.l"
12350
29.6k
    {
12351
29.6k
  yy_push_state(ST_IN_SCRIPTING);
12352
29.6k
  yyless(1);
12353
29.6k
  enter_nesting('{');
12354
29.6k
  RETURN_TOKEN(T_CURLY_OPEN);
12355
29.6k
}
12356
0
#line 12357 "Zend/zend_language_scanner.c"
12357
22.7k
yy1059:
12358
22.7k
    YYDEBUG(1059, *YYCURSOR);
12359
22.7k
    yych = *++YYCURSOR;
12360
22.7k
    if (yych == '>') goto yy1064;
12361
18.1k
yy1060:
12362
18.1k
    YYDEBUG(1060, *YYCURSOR);
12363
18.1k
    YYCURSOR = YYMARKER;
12364
18.1k
    goto yy1054;
12365
2.23k
yy1061:
12366
2.23k
    YYDEBUG(1061, *YYCURSOR);
12367
2.23k
    yych = *++YYCURSOR;
12368
2.23k
    if (yych == '-') goto yy1065;
12369
1.05k
    goto yy1060;
12370
5.99k
yy1062:
12371
5.99k
    YYDEBUG(1062, *YYCURSOR);
12372
5.99k
    ++YYCURSOR;
12373
5.99k
    YYDEBUG(1063, *YYCURSOR);
12374
5.99k
    yyleng = YYCURSOR - SCNG(yy_text);
12375
5.99k
#line 2411 "Zend/zend_language_scanner.l"
12376
5.99k
    {
12377
5.99k
  yyless(yyleng - 1);
12378
5.99k
  yy_push_state(ST_VAR_OFFSET);
12379
5.99k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12380
5.99k
}
12381
0
#line 12382 "Zend/zend_language_scanner.c"
12382
14.9k
yy1064:
12383
14.9k
    YYDEBUG(1064, *YYCURSOR);
12384
14.9k
    yych = *++YYCURSOR;
12385
14.9k
    if (yych <= '_') {
12386
8.44k
      if (yych <= '@') goto yy1060;
12387
417
      if (yych <= 'Z') goto yy1066;
12388
211
      if (yych <= '^') goto yy1060;
12389
191
      goto yy1066;
12390
6.48k
    } else {
12391
6.48k
      if (yych <= '`') goto yy1060;
12392
6.43k
      if (yych <= 'z') goto yy1066;
12393
651
      if (yych <= 0x7F) goto yy1060;
12394
13
      goto yy1066;
12395
651
    }
12396
1.17k
yy1065:
12397
1.17k
    YYDEBUG(1065, *YYCURSOR);
12398
1.17k
    yych = *++YYCURSOR;
12399
1.17k
    if (yych == '>') goto yy1068;
12400
89
    goto yy1060;
12401
6.19k
yy1066:
12402
6.19k
    YYDEBUG(1066, *YYCURSOR);
12403
6.19k
    ++YYCURSOR;
12404
6.19k
    YYDEBUG(1067, *YYCURSOR);
12405
6.19k
    yyleng = YYCURSOR - SCNG(yy_text);
12406
6.19k
#line 2397 "Zend/zend_language_scanner.l"
12407
6.19k
    {
12408
6.19k
  yyless(yyleng - 3);
12409
6.19k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12410
6.19k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12411
6.19k
}
12412
0
#line 12413 "Zend/zend_language_scanner.c"
12413
1.08k
yy1068:
12414
1.08k
    YYDEBUG(1068, *YYCURSOR);
12415
1.08k
    yych = *++YYCURSOR;
12416
1.08k
    if (yych <= '_') {
12417
224
      if (yych <= '@') goto yy1060;
12418
140
      if (yych <= 'Z') goto yy1069;
12419
116
      if (yych <= '^') goto yy1060;
12420
861
    } else {
12421
861
      if (yych <= '`') goto yy1060;
12422
577
      if (yych <= 'z') goto yy1069;
12423
254
      if (yych <= 0x7F) goto yy1060;
12424
254
    }
12425
650
yy1069:
12426
650
    YYDEBUG(1069, *YYCURSOR);
12427
650
    ++YYCURSOR;
12428
650
    YYDEBUG(1070, *YYCURSOR);
12429
650
    yyleng = YYCURSOR - SCNG(yy_text);
12430
650
#line 2403 "Zend/zend_language_scanner.l"
12431
650
    {
12432
650
  yyless(yyleng - 4);
12433
650
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12434
650
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12435
650
}
12436
650
#line 12437 "Zend/zend_language_scanner.c"
12437
650
  }
12438
/* *********************************** */
12439
728k
yyc_ST_LOOKING_FOR_VARNAME:
12440
728k
  {
12441
728k
    static const unsigned char yybm[] = {
12442
728k
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
728k
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
728k
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
728k
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
728k
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
728k
        0,   0,   0,   0,   0,   0,   0,   0, 
12448
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12449
728k
      128, 128,   0,   0,   0,   0,   0,   0, 
12450
728k
        0, 128, 128, 128, 128, 128, 128, 128, 
12451
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12453
728k
      128, 128, 128,   0,   0,   0,   0, 128, 
12454
728k
        0, 128, 128, 128, 128, 128, 128, 128, 
12455
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
728k
      128, 128, 128,   0,   0,   0,   0,   0, 
12458
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
728k
      128, 128, 128, 128, 128, 128, 128, 128, 
12474
728k
    };
12475
728k
    YYDEBUG(1071, *YYCURSOR);
12476
728k
    YYFILL(2);
12477
728k
    yych = *YYCURSOR;
12478
728k
    if (yych <= '_') {
12479
703k
      if (yych <= '@') goto yy1073;
12480
3.82k
      if (yych <= 'Z') goto yy1075;
12481
551
      if (yych >= '_') goto yy1075;
12482
25.0k
    } else {
12483
25.0k
      if (yych <= '`') goto yy1073;
12484
24.4k
      if (yych <= 'z') goto yy1075;
12485
15.2k
      if (yych >= 0x80) goto yy1075;
12486
15.2k
    }
12487
700k
yy1073:
12488
700k
    YYDEBUG(1073, *YYCURSOR);
12489
700k
    ++YYCURSOR;
12490
726k
yy1074:
12491
726k
    YYDEBUG(1074, *YYCURSOR);
12492
726k
    yyleng = YYCURSOR - SCNG(yy_text);
12493
726k
#line 2004 "Zend/zend_language_scanner.l"
12494
726k
    {
12495
726k
  yyless(0);
12496
726k
  yy_pop_state();
12497
726k
  yy_push_state(ST_IN_SCRIPTING);
12498
726k
  goto restart;
12499
700k
}
12500
0
#line 12501 "Zend/zend_language_scanner.c"
12501
27.2k
yy1075:
12502
27.2k
    YYDEBUG(1075, *YYCURSOR);
12503
27.2k
    yych = *(YYMARKER = ++YYCURSOR);
12504
27.2k
    if (yych <= '_') {
12505
15.4k
      if (yych <= '@') {
12506
12.6k
        if (yych <= '/') goto yy1074;
12507
8.35k
        if (yych <= '9') goto yy1077;
12508
7.83k
        goto yy1074;
12509
8.35k
      } else {
12510
2.75k
        if (yych <= '[') goto yy1077;
12511
434
        if (yych <= '^') goto yy1074;
12512
389
        goto yy1077;
12513
434
      }
12514
15.4k
    } else {
12515
11.8k
      if (yych <= '|') {
12516
6.56k
        if (yych <= '`') goto yy1074;
12517
6.56k
        if (yych <= 'z') goto yy1077;
12518
140
        goto yy1074;
12519
6.56k
      } else {
12520
5.31k
        if (yych <= '}') goto yy1077;
12521
4.27k
        if (yych <= 0x7F) goto yy1074;
12522
4.24k
        goto yy1077;
12523
4.27k
      }
12524
11.8k
    }
12525
152k
yy1076:
12526
152k
    YYDEBUG(1076, *YYCURSOR);
12527
152k
    ++YYCURSOR;
12528
152k
    YYFILL(1);
12529
152k
    yych = *YYCURSOR;
12530
167k
yy1077:
12531
167k
    YYDEBUG(1077, *YYCURSOR);
12532
167k
    if (yybm[0+yych] & 128) {
12533
152k
      goto yy1076;
12534
152k
    }
12535
14.9k
    if (yych <= '@') goto yy1078;
12536
2.64k
    if (yych <= '[') goto yy1079;
12537
2.36k
    if (yych == '}') goto yy1079;
12538
13.1k
yy1078:
12539
13.1k
    YYDEBUG(1078, *YYCURSOR);
12540
13.1k
    YYCURSOR = YYMARKER;
12541
13.1k
    goto yy1074;
12542
1.82k
yy1079:
12543
1.82k
    YYDEBUG(1079, *YYCURSOR);
12544
1.82k
    ++YYCURSOR;
12545
1.82k
    YYDEBUG(1080, *YYCURSOR);
12546
1.82k
    yyleng = YYCURSOR - SCNG(yy_text);
12547
1.82k
#line 1996 "Zend/zend_language_scanner.l"
12548
1.82k
    {
12549
1.82k
  yyless(yyleng - 1);
12550
1.82k
  yy_pop_state();
12551
1.82k
  yy_push_state(ST_IN_SCRIPTING);
12552
1.82k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12553
1.82k
}
12554
1.82k
#line 12555 "Zend/zend_language_scanner.c"
12555
1.82k
  }
12556
/* *********************************** */
12557
77.5k
yyc_ST_VAR_OFFSET:
12558
77.5k
  {
12559
77.5k
    static const unsigned char yybm[] = {
12560
77.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
77.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
77.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
77.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
77.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
77.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12566
77.5k
      248, 248, 216, 216, 216, 216, 216, 216, 
12567
77.5k
      152, 152,   0,   0,   0,   0,   0,   0, 
12568
77.5k
        0, 144, 144, 144, 144, 144, 144,  16, 
12569
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12571
77.5k
       16,  16,  16,   0,   0,   0,   0,  16, 
12572
77.5k
        0, 144, 144, 144, 144, 144, 144,  16, 
12573
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
77.5k
       16,  16,  16,   0,   0,   0,   0,   0, 
12576
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
77.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12592
77.5k
    };
12593
77.5k
    YYDEBUG(1081, *YYCURSOR);
12594
77.5k
    YYFILL(2);
12595
77.5k
    yych = *YYCURSOR;
12596
77.5k
    if (yych <= '0') {
12597
31.7k
      if (yych <= ' ') {
12598
14.2k
        if (yych <= '\f') {
12599
11.9k
          if (yych <= 0x08) goto yy1083;
12600
3.15k
          if (yych <= '\n') goto yy1085;
12601
3.15k
        } else {
12602
2.33k
          if (yych <= '\r') goto yy1085;
12603
2.06k
          if (yych >= ' ') goto yy1085;
12604
2.06k
        }
12605
17.4k
      } else {
12606
17.4k
        if (yych <= '$') {
12607
5.86k
          if (yych <= '"') goto yy1087;
12608
4.82k
          if (yych <= '#') goto yy1085;
12609
4.48k
          goto yy1089;
12610
11.5k
        } else {
12611
11.5k
          if (yych == '\'') goto yy1085;
12612
10.8k
          if (yych <= '/') goto yy1087;
12613
5.57k
          goto yy1090;
12614
10.8k
        }
12615
17.4k
      }
12616
45.8k
    } else {
12617
45.8k
      if (yych <= ']') {
12618
29.8k
        if (yych <= 'Z') {
12619
13.1k
          if (yych <= '9') goto yy1092;
12620
9.58k
          if (yych <= '@') goto yy1087;
12621
4.01k
          goto yy1094;
12622
16.6k
        } else {
12623
16.6k
          if (yych <= '[') goto yy1087;
12624
5.23k
          if (yych <= '\\') goto yy1085;
12625
5.10k
          goto yy1097;
12626
5.23k
        }
12627
29.8k
      } else {
12628
15.9k
        if (yych <= '`') {
12629
8.84k
          if (yych == '_') goto yy1094;
12630
7.51k
          goto yy1087;
12631
8.84k
        } else {
12632
7.13k
          if (yych <= 'z') goto yy1094;
12633
3.48k
          if (yych <= '~') goto yy1087;
12634
2.82k
          if (yych >= 0x80) goto yy1094;
12635
2.82k
        }
12636
15.9k
      }
12637
45.8k
    }
12638
11.7k
yy1083:
12639
11.7k
    YYDEBUG(1083, *YYCURSOR);
12640
11.7k
    ++YYCURSOR;
12641
11.7k
    YYDEBUG(1084, *YYCURSOR);
12642
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12643
11.7k
#line 3180 "Zend/zend_language_scanner.l"
12644
11.7k
    {
12645
11.7k
  if (YYCURSOR > YYLIMIT) {
12646
10
    RETURN_END_TOKEN;
12647
10
  }
12648
12649
11.7k
  RETURN_TOKEN(T_BAD_CHARACTER);
12650
11.7k
}
12651
0
#line 12652 "Zend/zend_language_scanner.c"
12652
4.26k
yy1085:
12653
4.26k
    YYDEBUG(1085, *YYCURSOR);
12654
4.26k
    ++YYCURSOR;
12655
4.26k
    YYDEBUG(1086, *YYCURSOR);
12656
4.26k
    yyleng = YYCURSOR - SCNG(yy_text);
12657
4.26k
#line 2431 "Zend/zend_language_scanner.l"
12658
4.26k
    {
12659
  /* Invalid rule to return a more explicit parse error with proper line number */
12660
4.26k
  yyless(0);
12661
4.26k
  yy_pop_state();
12662
4.26k
  ZVAL_NULL(zendlval);
12663
4.26k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12664
4.26k
}
12665
0
#line 12666 "Zend/zend_language_scanner.c"
12666
31.5k
yy1087:
12667
31.5k
    YYDEBUG(1087, *YYCURSOR);
12668
31.5k
    ++YYCURSOR;
12669
32.7k
yy1088:
12670
32.7k
    YYDEBUG(1088, *YYCURSOR);
12671
32.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12672
32.7k
#line 2426 "Zend/zend_language_scanner.l"
12673
32.7k
    {
12674
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12675
32.7k
  RETURN_TOKEN(yytext[0]);
12676
32.7k
}
12677
0
#line 12678 "Zend/zend_language_scanner.c"
12678
4.48k
yy1089:
12679
4.48k
    YYDEBUG(1089, *YYCURSOR);
12680
4.48k
    yych = *++YYCURSOR;
12681
4.48k
    if (yych <= '_') {
12682
1.92k
      if (yych <= '@') goto yy1088;
12683
971
      if (yych <= 'Z') goto yy1099;
12684
567
      if (yych <= '^') goto yy1088;
12685
297
      goto yy1099;
12686
2.55k
    } else {
12687
2.55k
      if (yych <= '`') goto yy1088;
12688
2.55k
      if (yych <= 'z') goto yy1099;
12689
371
      if (yych <= 0x7F) goto yy1088;
12690
301
      goto yy1099;
12691
371
    }
12692
5.57k
yy1090:
12693
5.57k
    YYDEBUG(1090, *YYCURSOR);
12694
5.57k
    yyaccept = 0;
12695
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
12696
5.57k
    if (yych <= 'X') {
12697
3.91k
      if (yych <= 'B') {
12698
2.81k
        if (yych <= '/') goto yy1091;
12699
2.25k
        if (yych <= '9') goto yy1102;
12700
1.39k
        if (yych >= 'B') goto yy1105;
12701
1.39k
      } else {
12702
1.10k
        if (yych == 'O') goto yy1107;
12703
927
        if (yych >= 'X') goto yy1108;
12704
927
      }
12705
3.91k
    } else {
12706
1.65k
      if (yych <= 'b') {
12707
788
        if (yych == '_') goto yy1109;
12708
716
        if (yych >= 'b') goto yy1105;
12709
867
      } else {
12710
867
        if (yych <= 'o') {
12711
467
          if (yych >= 'o') goto yy1107;
12712
467
        } else {
12713
400
          if (yych == 'x') goto yy1108;
12714
400
        }
12715
867
      }
12716
1.65k
    }
12717
6.53k
yy1091:
12718
6.53k
    YYDEBUG(1091, *YYCURSOR);
12719
6.53k
    yyleng = YYCURSOR - SCNG(yy_text);
12720
6.53k
#line 2208 "Zend/zend_language_scanner.l"
12721
6.53k
    { /* Offset could be treated as a long */
12722
6.53k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12723
5.95k
    char *end;
12724
5.95k
    errno = 0;
12725
5.95k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12726
5.95k
    if (errno == ERANGE) {
12727
0
      goto string;
12728
0
    }
12729
5.95k
    ZEND_ASSERT(end == yytext + yyleng);
12730
5.95k
  } else {
12731
585
string:
12732
585
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12733
585
  }
12734
6.53k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12735
6.53k
}
12736
0
#line 12737 "Zend/zend_language_scanner.c"
12737
22.9k
yy1092:
12738
22.9k
    YYDEBUG(1092, *YYCURSOR);
12739
22.9k
    yyaccept = 0;
12740
22.9k
    YYMARKER = ++YYCURSOR;
12741
22.9k
    YYFILL(1);
12742
22.9k
    yych = *YYCURSOR;
12743
22.9k
    YYDEBUG(1093, *YYCURSOR);
12744
22.9k
    if (yybm[0+yych] & 8) {
12745
19.3k
      goto yy1092;
12746
19.3k
    }
12747
3.58k
    if (yych == '_') goto yy1109;
12748
3.58k
    goto yy1091;
12749
74.7k
yy1094:
12750
74.7k
    YYDEBUG(1094, *YYCURSOR);
12751
74.7k
    ++YYCURSOR;
12752
74.7k
    YYFILL(1);
12753
74.7k
    yych = *YYCURSOR;
12754
74.7k
    YYDEBUG(1095, *YYCURSOR);
12755
74.7k
    if (yybm[0+yych] & 16) {
12756
63.4k
      goto yy1094;
12757
63.4k
    }
12758
11.2k
    YYDEBUG(1096, *YYCURSOR);
12759
11.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12760
11.2k
#line 2455 "Zend/zend_language_scanner.l"
12761
11.2k
    {
12762
11.2k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12763
11.2k
}
12764
0
#line 12765 "Zend/zend_language_scanner.c"
12765
5.10k
yy1097:
12766
5.10k
    YYDEBUG(1097, *YYCURSOR);
12767
5.10k
    ++YYCURSOR;
12768
5.10k
    YYDEBUG(1098, *YYCURSOR);
12769
5.10k
    yyleng = YYCURSOR - SCNG(yy_text);
12770
5.10k
#line 2421 "Zend/zend_language_scanner.l"
12771
5.10k
    {
12772
5.10k
  yy_pop_state();
12773
5.10k
  RETURN_TOKEN(']');
12774
5.10k
}
12775
0
#line 12776 "Zend/zend_language_scanner.c"
12776
22.4k
yy1099:
12777
22.4k
    YYDEBUG(1099, *YYCURSOR);
12778
22.4k
    ++YYCURSOR;
12779
22.4k
    YYFILL(1);
12780
22.4k
    yych = *YYCURSOR;
12781
22.4k
    YYDEBUG(1100, *YYCURSOR);
12782
22.4k
    if (yych <= '^') {
12783
9.40k
      if (yych <= '9') {
12784
2.32k
        if (yych >= '0') goto yy1099;
12785
7.07k
      } else {
12786
7.07k
        if (yych <= '@') goto yy1101;
12787
6.93k
        if (yych <= 'Z') goto yy1099;
12788
6.93k
      }
12789
13.0k
    } else {
12790
13.0k
      if (yych <= '`') {
12791
796
        if (yych <= '_') goto yy1099;
12792
12.2k
      } else {
12793
12.2k
        if (yych <= 'z') goto yy1099;
12794
5.23k
        if (yych >= 0x80) goto yy1099;
12795
5.23k
      }
12796
13.0k
    }
12797
3.19k
yy1101:
12798
3.19k
    YYDEBUG(1101, *YYCURSOR);
12799
3.19k
    yyleng = YYCURSOR - SCNG(yy_text);
12800
3.19k
#line 2417 "Zend/zend_language_scanner.l"
12801
3.19k
    {
12802
3.19k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12803
3.19k
}
12804
0
#line 12805 "Zend/zend_language_scanner.c"
12805
5.75k
yy1102:
12806
5.75k
    YYDEBUG(1102, *YYCURSOR);
12807
5.75k
    yyaccept = 1;
12808
5.75k
    YYMARKER = ++YYCURSOR;
12809
5.75k
    YYFILL(1);
12810
5.75k
    yych = *YYCURSOR;
12811
5.75k
    YYDEBUG(1103, *YYCURSOR);
12812
5.75k
    if (yych <= '/') goto yy1104;
12813
5.56k
    if (yych <= '9') goto yy1102;
12814
671
    if (yych == '_') goto yy1109;
12815
2.62k
yy1104:
12816
2.62k
    YYDEBUG(1104, *YYCURSOR);
12817
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
12818
2.62k
#line 2224 "Zend/zend_language_scanner.l"
12819
2.62k
    { /* Offset must be treated as a string */
12820
2.62k
  if (yyleng == 1) {
12821
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12822
2.62k
  } else {
12823
2.62k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12824
2.62k
  }
12825
2.62k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12826
2.62k
}
12827
0
#line 12828 "Zend/zend_language_scanner.c"
12828
2.83k
yy1105:
12829
2.83k
    YYDEBUG(1105, *YYCURSOR);
12830
2.83k
    ++YYCURSOR;
12831
2.83k
    YYFILL(1);
12832
2.83k
    yych = *YYCURSOR;
12833
2.83k
    if (yybm[0+yych] & 32) {
12834
2.22k
      goto yy1110;
12835
2.22k
    }
12836
1.70k
yy1106:
12837
1.70k
    YYDEBUG(1106, *YYCURSOR);
12838
1.70k
    YYCURSOR = YYMARKER;
12839
1.70k
    if (yyaccept == 0) {
12840
811
      goto yy1091;
12841
894
    } else {
12842
894
      goto yy1104;
12843
894
    }
12844
729
yy1107:
12845
729
    YYDEBUG(1107, *YYCURSOR);
12846
729
    ++YYCURSOR;
12847
729
    YYFILL(1);
12848
729
    yych = *YYCURSOR;
12849
729
    if (yybm[0+yych] & 64) {
12850
249
      goto yy1112;
12851
249
    }
12852
480
    goto yy1106;
12853
532
yy1108:
12854
532
    YYDEBUG(1108, *YYCURSOR);
12855
532
    ++YYCURSOR;
12856
532
    YYFILL(1);
12857
532
    yych = *YYCURSOR;
12858
532
    if (yybm[0+yych] & 128) {
12859
240
      goto yy1114;
12860
240
    }
12861
292
    goto yy1106;
12862
326
yy1109:
12863
326
    YYDEBUG(1109, *YYCURSOR);
12864
326
    ++YYCURSOR;
12865
326
    YYFILL(1);
12866
326
    yych = *YYCURSOR;
12867
326
    if (yych <= '/') goto yy1106;
12868
230
    if (yych <= '9') goto yy1102;
12869
227
    goto yy1106;
12870
2.24k
yy1110:
12871
2.24k
    YYDEBUG(1110, *YYCURSOR);
12872
2.24k
    yyaccept = 1;
12873
2.24k
    YYMARKER = ++YYCURSOR;
12874
2.24k
    YYFILL(1);
12875
2.24k
    yych = *YYCURSOR;
12876
2.24k
    YYDEBUG(1111, *YYCURSOR);
12877
2.24k
    if (yybm[0+yych] & 32) {
12878
24
      goto yy1110;
12879
24
    }
12880
2.22k
    if (yych == '_') goto yy1105;
12881
737
    goto yy1104;
12882
737
yy1112:
12883
708
    YYDEBUG(1112, *YYCURSOR);
12884
708
    yyaccept = 1;
12885
708
    YYMARKER = ++YYCURSOR;
12886
708
    YYFILL(1);
12887
708
    yych = *YYCURSOR;
12888
708
    YYDEBUG(1113, *YYCURSOR);
12889
708
    if (yybm[0+yych] & 64) {
12890
459
      goto yy1112;
12891
459
    }
12892
249
    if (yych == '_') goto yy1107;
12893
144
    goto yy1104;
12894
464
yy1114:
12895
464
    YYDEBUG(1114, *YYCURSOR);
12896
464
    yyaccept = 1;
12897
464
    YYMARKER = ++YYCURSOR;
12898
464
    YYFILL(1);
12899
464
    yych = *YYCURSOR;
12900
464
    YYDEBUG(1115, *YYCURSOR);
12901
464
    if (yybm[0+yych] & 128) {
12902
224
      goto yy1114;
12903
224
    }
12904
240
    if (yych == '_') goto yy1108;
12905
237
    goto yy1104;
12906
240
  }
12907
/* *********************************** */
12908
237
yyc_SHEBANG:
12909
0
  {
12910
0
    static const unsigned char yybm[] = {
12911
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12912
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12943
0
    };
12944
0
    YYDEBUG(1116, *YYCURSOR);
12945
0
    YYFILL(2);
12946
0
    yych = *YYCURSOR;
12947
0
    if (yych == '#') goto yy1120;
12948
0
    YYDEBUG(1118, *YYCURSOR);
12949
0
    ++YYCURSOR;
12950
0
yy1119:
12951
0
    YYDEBUG(1119, *YYCURSOR);
12952
0
    yyleng = YYCURSOR - SCNG(yy_text);
12953
0
#line 2295 "Zend/zend_language_scanner.l"
12954
0
    {
12955
0
  yyless(0);
12956
0
  BEGIN(INITIAL);
12957
0
  goto restart;
12958
0
}
12959
0
#line 12960 "Zend/zend_language_scanner.c"
12960
0
yy1120:
12961
0
    YYDEBUG(1120, *YYCURSOR);
12962
0
    yych = *++YYCURSOR;
12963
0
    if (yych != '!') goto yy1119;
12964
0
yy1121:
12965
0
    YYDEBUG(1121, *YYCURSOR);
12966
0
    ++YYCURSOR;
12967
0
    YYFILL(1);
12968
0
    yych = *YYCURSOR;
12969
0
    YYDEBUG(1122, *YYCURSOR);
12970
0
    if (yybm[0+yych] & 128) {
12971
0
      goto yy1121;
12972
0
    }
12973
0
    YYDEBUG(1123, *YYCURSOR);
12974
0
    ++YYCURSOR;
12975
0
    YYDEBUG(1124, *YYCURSOR);
12976
0
    yyleng = YYCURSOR - SCNG(yy_text);
12977
0
#line 2289 "Zend/zend_language_scanner.l"
12978
0
    {
12979
0
  CG(zend_lineno)++;
12980
0
  BEGIN(INITIAL);
12981
0
  goto restart;
12982
0
}
12983
0
#line 12984 "Zend/zend_language_scanner.c"
12984
0
  }
12985
/* *********************************** */
12986
28.1k
yyc_INITIAL:
12987
28.1k
  YYDEBUG(1125, *YYCURSOR);
12988
28.1k
  YYFILL(7);
12989
28.1k
  yych = *YYCURSOR;
12990
28.1k
  if (yych == '<') goto yy1129;
12991
16.1k
  YYDEBUG(1127, *YYCURSOR);
12992
16.1k
  ++YYCURSOR;
12993
16.3k
yy1128:
12994
16.3k
  YYDEBUG(1128, *YYCURSOR);
12995
16.3k
  yyleng = YYCURSOR - SCNG(yy_text);
12996
16.3k
#line 2341 "Zend/zend_language_scanner.l"
12997
16.3k
  {
12998
16.3k
  if (YYCURSOR > YYLIMIT) {
12999
3.74k
    RETURN_END_TOKEN;
13000
3.74k
  }
13001
13002
12.6k
inline_char_handler:
13003
13004
51.7k
  while (1) {
13005
51.7k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13006
13007
51.7k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13008
13009
51.7k
    if (YYCURSOR >= YYLIMIT) {
13010
2.77k
      break;
13011
2.77k
    }
13012
13013
49.0k
    if (*YYCURSOR == '?') {
13014
9.87k
      if (CG(short_tags) /* <? */
13015
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13016
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13017
0
          (YYCURSOR + 4 == YYLIMIT ||
13018
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13019
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13020
9.87k
      ) {
13021
9.87k
        YYCURSOR--;
13022
9.87k
        break;
13023
9.87k
      }
13024
9.87k
    }
13025
49.0k
  }
13026
13027
12.6k
  yyleng = YYCURSOR - SCNG(yy_text);
13028
13029
12.6k
  if (SCNG(output_filter)) {
13030
0
    size_t readsize;
13031
0
    char *s = NULL;
13032
0
    size_t sz = 0;
13033
    // TODO: avoid reallocation ???
13034
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13035
0
    ZVAL_STRINGL(zendlval, s, sz);
13036
0
    efree(s);
13037
0
    if (readsize < yyleng) {
13038
0
      yyless(readsize);
13039
0
    }
13040
12.6k
  } else if (yyleng == 1) {
13041
385
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13042
12.2k
  } else {
13043
12.2k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13044
12.2k
  }
13045
12.6k
  HANDLE_NEWLINES(yytext, yyleng);
13046
12.6k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13047
12.6k
}
13048
0
#line 13049 "Zend/zend_language_scanner.c"
13049
12.0k
yy1129:
13050
12.0k
  YYDEBUG(1129, *YYCURSOR);
13051
12.0k
  yych = *++YYCURSOR;
13052
12.0k
  if (yych != '?') goto yy1128;
13053
11.7k
  YYDEBUG(1130, *YYCURSOR);
13054
11.7k
  yych = *(YYMARKER = ++YYCURSOR);
13055
11.7k
  if (yych <= 'O') {
13056
2.64k
    if (yych == '=') goto yy1132;
13057
9.12k
  } else {
13058
9.12k
    if (yych <= 'P') goto yy1134;
13059
9.09k
    if (yych == 'p') goto yy1134;
13060
9.09k
  }
13061
5.27k
yy1131:
13062
5.27k
  YYDEBUG(1131, *YYCURSOR);
13063
5.27k
  yyleng = YYCURSOR - SCNG(yy_text);
13064
5.27k
#line 2332 "Zend/zend_language_scanner.l"
13065
5.27k
  {
13066
5.27k
  if (CG(short_tags)) {
13067
5.27k
    BEGIN(ST_IN_SCRIPTING);
13068
5.27k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13069
5.27k
  } else {
13070
0
    goto inline_char_handler;
13071
0
  }
13072
5.27k
}
13073
0
#line 13074 "Zend/zend_language_scanner.c"
13074
126
yy1132:
13075
126
  YYDEBUG(1132, *YYCURSOR);
13076
126
  ++YYCURSOR;
13077
126
  YYDEBUG(1133, *YYCURSOR);
13078
126
  yyleng = YYCURSOR - SCNG(yy_text);
13079
126
#line 2301 "Zend/zend_language_scanner.l"
13080
126
  {
13081
126
  BEGIN(ST_IN_SCRIPTING);
13082
126
  if (PARSER_MODE()) {
13083
    /* We'll reject this as an identifier in zend_lex_tstring. */
13084
53
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13085
53
  }
13086
73
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13087
73
}
13088
0
#line 13089 "Zend/zend_language_scanner.c"
13089
6.95k
yy1134:
13090
6.95k
  YYDEBUG(1134, *YYCURSOR);
13091
6.95k
  yych = *++YYCURSOR;
13092
6.95k
  if (yych == 'H') goto yy1136;
13093
6.92k
  if (yych == 'h') goto yy1136;
13094
577
yy1135:
13095
577
  YYDEBUG(1135, *YYCURSOR);
13096
577
  YYCURSOR = YYMARKER;
13097
577
  goto yy1131;
13098
6.44k
yy1136:
13099
6.44k
  YYDEBUG(1136, *YYCURSOR);
13100
6.44k
  yych = *++YYCURSOR;
13101
6.44k
  if (yych == 'P') goto yy1137;
13102
6.43k
  if (yych != 'p') goto yy1135;
13103
6.37k
yy1137:
13104
6.37k
  YYDEBUG(1137, *YYCURSOR);
13105
6.37k
  yych = *++YYCURSOR;
13106
6.37k
  if (yych <= '\f') {
13107
5.69k
    if (yych <= 0x08) goto yy1138;
13108
5.69k
    if (yych <= '\n') goto yy1139;
13109
5.69k
  } else {
13110
679
    if (yych <= '\r') goto yy1141;
13111
654
    if (yych == ' ') goto yy1139;
13112
654
  }
13113
357
yy1138:
13114
357
  YYDEBUG(1138, *YYCURSOR);
13115
357
  yyleng = YYCURSOR - SCNG(yy_text);
13116
357
#line 2317 "Zend/zend_language_scanner.l"
13117
357
  {
13118
  /* Allow <?php followed by end of file. */
13119
357
  if (YYCURSOR == YYLIMIT) {
13120
0
    BEGIN(ST_IN_SCRIPTING);
13121
0
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13122
0
  }
13123
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13124
357
  if (CG(short_tags)) {
13125
357
    yyless(2);
13126
357
    BEGIN(ST_IN_SCRIPTING);
13127
357
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13128
357
  }
13129
0
  goto inline_char_handler;
13130
357
}
13131
0
#line 13132 "Zend/zend_language_scanner.c"
13132
6.01k
yy1139:
13133
6.01k
  YYDEBUG(1139, *YYCURSOR);
13134
6.01k
  ++YYCURSOR;
13135
6.01k
yy1140:
13136
6.01k
  YYDEBUG(1140, *YYCURSOR);
13137
6.01k
  yyleng = YYCURSOR - SCNG(yy_text);
13138
6.01k
#line 2311 "Zend/zend_language_scanner.l"
13139
6.01k
  {
13140
6.01k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13141
6.01k
  BEGIN(ST_IN_SCRIPTING);
13142
6.01k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13143
6.01k
}
13144
0
#line 13145 "Zend/zend_language_scanner.c"
13145
25
yy1141:
13146
25
  YYDEBUG(1141, *YYCURSOR);
13147
25
  yych = *++YYCURSOR;
13148
25
  if (yych == '\n') goto yy1139;
13149
0
  goto yy1140;
13150
/* *********************************** */
13151
7.50k
yyc_ST_END_HEREDOC:
13152
7.50k
  YYDEBUG(1142, *YYCURSOR);
13153
7.50k
  YYFILL(1);
13154
7.50k
  yych = *YYCURSOR;
13155
7.50k
  YYDEBUG(1144, *YYCURSOR);
13156
7.50k
  ++YYCURSOR;
13157
7.50k
  YYDEBUG(1145, *YYCURSOR);
13158
7.50k
  yyleng = YYCURSOR - SCNG(yy_text);
13159
7.50k
#line 2832 "Zend/zend_language_scanner.l"
13160
7.50k
  {
13161
7.50k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13162
13163
7.50k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13164
7.50k
  YYCURSOR += yyleng - 1;
13165
13166
7.50k
  heredoc_label_dtor(heredoc_label);
13167
7.50k
  efree(heredoc_label);
13168
13169
7.50k
  BEGIN(ST_IN_SCRIPTING);
13170
7.50k
  RETURN_TOKEN(T_END_HEREDOC);
13171
7.50k
}
13172
0
#line 13173 "Zend/zend_language_scanner.c"
13173
/* *********************************** */
13174
5.04k
yyc_ST_NOWDOC:
13175
5.04k
  YYDEBUG(1146, *YYCURSOR);
13176
5.04k
  YYFILL(1);
13177
5.04k
  yych = *YYCURSOR;
13178
5.04k
  YYDEBUG(1148, *YYCURSOR);
13179
5.04k
  ++YYCURSOR;
13180
5.04k
  YYDEBUG(1149, *YYCURSOR);
13181
5.04k
  yyleng = YYCURSOR - SCNG(yy_text);
13182
5.04k
#line 3089 "Zend/zend_language_scanner.l"
13183
5.04k
  {
13184
5.04k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13185
5.04k
  int newline = 0, indentation = 0, spacing = -1;
13186
13187
5.04k
  if (YYCURSOR > YYLIMIT) {
13188
549
    RETURN_END_TOKEN;
13189
549
  }
13190
13191
4.50k
  YYCURSOR--;
13192
13193
981k
  while (YYCURSOR < YYLIMIT) {
13194
981k
    switch (*YYCURSOR++) {
13195
15.4k
      case '\r':
13196
15.4k
        if (*YYCURSOR == '\n') {
13197
122
          YYCURSOR++;
13198
122
        }
13199
15.4k
        ZEND_FALLTHROUGH;
13200
63.1k
      case '\n':
13201
63.1k
        indentation = spacing = 0;
13202
13203
80.4k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13204
17.2k
          if (*YYCURSOR == '\t') {
13205
175
            spacing |= HEREDOC_USING_TABS;
13206
17.0k
          } else {
13207
17.0k
            spacing |= HEREDOC_USING_SPACES;
13208
17.0k
          }
13209
17.2k
          ++YYCURSOR;
13210
17.2k
          ++indentation;
13211
17.2k
        }
13212
13213
63.1k
        if (YYCURSOR == YYLIMIT) {
13214
15
          yyleng = YYCURSOR - SCNG(yy_text);
13215
15
          HANDLE_NEWLINES(yytext, yyleng);
13216
15
          ZVAL_NULL(zendlval);
13217
15
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13218
15
        }
13219
13220
        /* Check for ending label on the next line */
13221
63.1k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13222
4.03k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13223
82
            continue;
13224
82
          }
13225
13226
3.95k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13227
0
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13228
0
            if (PARSER_MODE()) {
13229
0
              RETURN_TOKEN(T_ERROR);
13230
0
            }
13231
0
          }
13232
13233
          /* newline before label will be subtracted from returned text, but
13234
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13235
3.95k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13236
2
            newline = 2; /* Windows newline */
13237
3.94k
          } else {
13238
3.94k
            newline = 1;
13239
3.94k
          }
13240
13241
3.95k
          CG(increment_lineno) = 1; /* For newline before label */
13242
13243
3.95k
          YYCURSOR -= indentation;
13244
3.95k
          heredoc_label->indentation = indentation;
13245
13246
3.95k
          BEGIN(ST_END_HEREDOC);
13247
13248
3.95k
          goto nowdoc_scan_done;
13249
3.95k
        }
13250
59.1k
        ZEND_FALLTHROUGH;
13251
977k
      default:
13252
977k
        continue;
13253
981k
    }
13254
981k
  }
13255
13256
4.48k
nowdoc_scan_done:
13257
4.48k
  yyleng = YYCURSOR - SCNG(yy_text);
13258
4.48k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13259
13260
4.48k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13261
299
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13262
299
    if (!strip_multiline_string_indentation(
13263
299
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13264
299
        newline_at_start, newline != 0)) {
13265
0
      RETURN_TOKEN(T_ERROR);
13266
0
    }
13267
299
  }
13268
13269
4.48k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13270
4.48k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13271
4.48k
}
13272
4.48k
#line 13273 "Zend/zend_language_scanner.c"
13273
4.48k
}
13274
0
#line 3188 "Zend/zend_language_scanner.l"
13275
13276
13277
1.89M
emit_token_with_str:
13278
1.89M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13279
13280
3.11M
emit_token_with_val:
13281
3.11M
  if (PARSER_MODE()) {
13282
335k
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13283
335k
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13284
335k
  }
13285
13286
10.4M
emit_token:
13287
10.4M
  if (SCNG(on_event)) {
13288
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13289
0
  }
13290
10.4M
  return token;
13291
13292
526k
emit_token_with_ident:
13293
526k
  if (PARSER_MODE()) {
13294
39.2k
    elem->ident = SCNG(yy_text);
13295
39.2k
  }
13296
526k
  if (SCNG(on_event)) {
13297
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13298
0
  }
13299
526k
  return token;
13300
13301
2.14M
return_whitespace:
13302
2.14M
  HANDLE_NEWLINES(yytext, yyleng);
13303
2.14M
  if (SCNG(on_event)) {
13304
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13305
0
  }
13306
2.14M
  if (PARSER_MODE()) {
13307
232k
    start_line = CG(zend_lineno);
13308
232k
    goto restart;
13309
1.91M
  } else {
13310
1.91M
    return T_WHITESPACE;
13311
1.91M
  }
13312
13313
21.6k
skip_token:
13314
21.6k
  if (SCNG(on_event)) {
13315
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13316
0
  }
13317
21.6k
  start_line = CG(zend_lineno);
13318
21.6k
  goto restart;
13319
2.14M
}