Coverage Report

Created: 2025-12-14 06:09

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.7M
#define YYCTYPE   unsigned char
54
35.5M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
278M
#define YYCURSOR  SCNG(yy_cursor)
56
94.6M
#define YYLIMIT   SCNG(yy_limit)
57
15.0M
#define YYMARKER  SCNG(yy_marker)
58
59
42.4M
#define YYGETCONDITION()  SCNG(yy_state)
60
1.40M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
370k
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
70.8k
#define YYSTATE      YYGETCONDITION()
67
2.16M
#define yytext       ((char*)SCNG(yy_text))
68
15.8M
#define yyleng       SCNG(yy_leng)
69
229k
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
229k
                          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
503M
#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.67M
#define HANDLE_NEWLINES(s, l)                         \
97
2.67M
do {                                     \
98
2.67M
  char *p = (s), *boundary = p+(l);                     \
99
2.67M
                                        \
100
28.0M
  while (p<boundary) {                           \
101
25.3M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
1.88M
      CG(zend_lineno)++;                          \
103
1.88M
    }                                    \
104
25.3M
    p++;                                  \
105
25.3M
  }                                      \
106
2.67M
} while (0)
107
108
115k
#define HANDLE_NEWLINE(c) \
109
115k
{ \
110
115k
  if (c == '\n' || c == '\r') { \
111
45.1k
    CG(zend_lineno)++; \
112
45.1k
  } \
113
115k
}
114
115
/* To save initial string length after scanning to first variable */
116
59.7k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
144k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
1.96M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
14.3k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
94.3k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
4.18k
#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
1.32k
{
128
1.32k
  char *src = str, *dest = str;
129
24.3k
  while (*src != '\0') {
130
23.0k
    if (*src != '_') {
131
21.6k
      *dest = *src;
132
21.6k
      dest++;
133
21.6k
    } else {
134
1.38k
      --(*len);
135
1.38k
    }
136
23.0k
    src++;
137
23.0k
  }
138
1.32k
  *dest = '\0';
139
1.32k
}
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
595k
{
170
595k
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
595k
  YYSETCONDITION(new_state);
172
595k
}
173
174
595k
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
368k
{
178
368k
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
368k
  YYSETCONDITION(*stack_state);
180
368k
  zend_stack_del_top(&SCNG(state_stack));
181
368k
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
55.1k
{
185
55.1k
  YYCURSOR       = (YYCTYPE*)str;
186
55.1k
  YYLIMIT        = YYCURSOR + len;
187
55.1k
  if (!SCNG(yy_start)) {
188
16.5k
    SCNG(yy_start) = YYCURSOR;
189
16.5k
  }
190
55.1k
}
191
192
void startup_scanner(void)
193
38.6k
{
194
38.6k
  CG(parse_error) = 0;
195
38.6k
  CG(doc_comment) = NULL;
196
38.6k
  CG(extra_fn_flags) = 0;
197
38.6k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
38.6k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
38.6k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
38.6k
  SCNG(heredoc_scan_ahead) = 0;
201
38.6k
}
202
203
192k
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
192k
    efree(heredoc_label->label);
205
192k
}
206
207
void shutdown_scanner(void)
208
38.6k
{
209
38.6k
  CG(parse_error) = 0;
210
38.6k
  RESET_DOC_COMMENT();
211
38.6k
  zend_stack_destroy(&SCNG(state_stack));
212
38.6k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
38.6k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
38.6k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
38.6k
  SCNG(heredoc_scan_ahead) = 0;
216
38.6k
  SCNG(on_event) = NULL;
217
38.6k
  SCNG(on_event_context) = NULL;
218
38.6k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
70.8k
{
222
70.8k
  lex_state->yy_leng   = SCNG(yy_leng);
223
70.8k
  lex_state->yy_start  = SCNG(yy_start);
224
70.8k
  lex_state->yy_text   = SCNG(yy_text);
225
70.8k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
70.8k
  lex_state->yy_marker = SCNG(yy_marker);
227
70.8k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
70.8k
  lex_state->state_stack = SCNG(state_stack);
230
70.8k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
70.8k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
70.8k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
70.8k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
70.8k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
70.8k
  lex_state->in = SCNG(yy_in);
239
70.8k
  lex_state->yy_state = YYSTATE;
240
70.8k
  lex_state->filename = CG(compiled_filename);
241
70.8k
  lex_state->lineno = CG(zend_lineno);
242
70.8k
  CG(compiled_filename) = NULL;
243
244
70.8k
  lex_state->script_org = SCNG(script_org);
245
70.8k
  lex_state->script_org_size = SCNG(script_org_size);
246
70.8k
  lex_state->script_filtered = SCNG(script_filtered);
247
70.8k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
70.8k
  lex_state->input_filter = SCNG(input_filter);
249
70.8k
  lex_state->output_filter = SCNG(output_filter);
250
70.8k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
70.8k
  lex_state->on_event = SCNG(on_event);
253
70.8k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
70.8k
  lex_state->ast = CG(ast);
256
70.8k
  lex_state->ast_arena = CG(ast_arena);
257
70.8k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
69.6k
{
261
69.6k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
69.6k
  SCNG(yy_start)  = lex_state->yy_start;
263
69.6k
  SCNG(yy_text)   = lex_state->yy_text;
264
69.6k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
69.6k
  SCNG(yy_marker) = lex_state->yy_marker;
266
69.6k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
69.6k
  zend_stack_destroy(&SCNG(state_stack));
269
69.6k
  SCNG(state_stack) = lex_state->state_stack;
270
271
69.6k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
69.6k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
69.6k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
69.6k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
69.6k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
69.6k
  SCNG(yy_in) = lex_state->in;
279
69.6k
  YYSETCONDITION(lex_state->yy_state);
280
69.6k
  CG(zend_lineno) = lex_state->lineno;
281
69.6k
  zend_restore_compiled_filename(lex_state->filename);
282
283
69.6k
  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
69.6k
  SCNG(script_org) = lex_state->script_org;
288
69.6k
  SCNG(script_org_size) = lex_state->script_org_size;
289
69.6k
  SCNG(script_filtered) = lex_state->script_filtered;
290
69.6k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
69.6k
  SCNG(input_filter) = lex_state->input_filter;
292
69.6k
  SCNG(output_filter) = lex_state->output_filter;
293
69.6k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
69.6k
  SCNG(on_event) = lex_state->on_event;
296
69.6k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
69.6k
  CG(ast) = lex_state->ast;
299
69.6k
  CG(ast_arena) = lex_state->ast_arena;
300
301
69.6k
  RESET_DOC_COMMENT();
302
69.6k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
4.98k
{
306
4.98k
  unsigned char *end = ident;
307
33.0k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
28.1k
    end++;
309
28.1k
  }
310
311
4.98k
  size_t length = end - ident;
312
4.98k
  if (length == 0) {
313
2
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
2
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
2
    return FAILURE;
316
2
  }
317
318
4.98k
  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
4.98k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
4.98k
  return SUCCESS;
324
4.98k
}
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
38.6k
{
532
38.6k
  char *buf;
533
38.6k
  size_t size;
534
38.6k
  zend_string *compiled_filename;
535
536
38.6k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
28
    zend_llist_add_element(&CG(open_files), file_handle);
539
28
    file_handle->in_list = 1;
540
28
    return FAILURE;
541
28
  }
542
543
38.6k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
38.6k
  zend_llist_add_element(&CG(open_files), file_handle);
545
38.6k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
38.6k
  SCNG(yy_in) = file_handle;
549
38.6k
  SCNG(yy_start) = NULL;
550
551
38.6k
  if (size != (size_t)-1) {
552
38.6k
    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
38.6k
    SCNG(yy_start) = (unsigned char *)buf;
569
38.6k
    yy_scan_buffer(buf, size);
570
38.6k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
38.6k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
38.6k
  } else {
577
38.6k
    BEGIN(INITIAL);
578
38.6k
  }
579
580
38.6k
  if (file_handle->opened_path) {
581
26
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
38.6k
  } else {
583
38.6k
    compiled_filename = zend_string_copy(file_handle->filename);
584
38.6k
  }
585
586
38.6k
  zend_set_compiled_filename(compiled_filename);
587
38.6k
  zend_string_release_ex(compiled_filename, 0);
588
589
38.6k
  SCNG(on_event) = NULL;
590
38.6k
  SCNG(on_event_context) = NULL;
591
38.6k
  RESET_DOC_COMMENT();
592
38.6k
  CG(zend_lineno) = 1;
593
38.6k
  CG(increment_lineno) = 0;
594
38.6k
  return SUCCESS;
595
38.6k
}
596
597
static zend_op_array *zend_compile(int type)
598
40.4k
{
599
40.4k
  zend_op_array *op_array = NULL;
600
40.4k
  bool original_in_compilation = CG(in_compilation);
601
602
40.4k
  CG(in_compilation) = 1;
603
40.4k
  CG(ast) = NULL;
604
40.4k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
40.4k
  if (!zendparse()) {
607
35.6k
    uint32_t last_lineno = CG(zend_lineno);
608
35.6k
    zend_file_context original_file_context;
609
35.6k
    zend_oparray_context original_oparray_context;
610
35.6k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
35.6k
    op_array = emalloc(sizeof(zend_op_array));
613
35.6k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
35.6k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
35.6k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
35.6k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
35.6k
    zend_file_context_begin(&original_file_context);
624
35.6k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
35.6k
    zend_compile_top_stmt(CG(ast));
626
35.6k
    CG(zend_lineno) = last_lineno;
627
35.6k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
35.6k
    op_array->line_start = 1;
629
35.6k
    op_array->line_end = last_lineno;
630
35.6k
    pass_two(op_array);
631
35.6k
    zend_oparray_context_end(&original_oparray_context);
632
35.6k
    zend_file_context_end(&original_file_context);
633
634
35.6k
    CG(active_op_array) = original_active_op_array;
635
35.6k
  }
636
637
40.4k
  zend_ast_destroy(CG(ast));
638
40.4k
  zend_arena_destroy(CG(ast_arena));
639
640
40.4k
  CG(in_compilation) = original_in_compilation;
641
642
40.4k
  return op_array;
643
40.4k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
38.6k
{
647
38.6k
  zend_lex_state original_lex_state;
648
38.6k
  zend_op_array *op_array = NULL;
649
38.6k
  zend_save_lexical_state(&original_lex_state);
650
651
38.6k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
28
    if (!EG(exception)) {
653
14
      if (type==ZEND_REQUIRE) {
654
6
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
8
      } else {
656
8
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
8
      }
658
14
    }
659
38.6k
  } else {
660
38.6k
    bool orig_record_errors = EG(record_errors);
661
38.6k
    if (!orig_record_errors) {
662
30
      zend_begin_record_errors();
663
30
    }
664
665
38.6k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
38.6k
    if (!orig_record_errors) {
668
30
      zend_emit_recorded_errors();
669
30
      zend_free_recorded_errors();
670
30
    }
671
38.6k
  }
672
673
38.6k
  zend_restore_lexical_state(&original_lex_state);
674
38.6k
  return op_array;
675
38.6k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
8
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
8
  zval code_zv;
680
8
  bool original_in_compilation;
681
8
  zend_lex_state original_lex_state;
682
8
  zend_ast *ast;
683
684
8
  ZVAL_STR_COPY(&code_zv, code);
685
686
8
  original_in_compilation = CG(in_compilation);
687
8
  CG(in_compilation) = 1;
688
689
8
  zend_save_lexical_state(&original_lex_state);
690
8
  zend_prepare_string_for_scanning(&code_zv, filename);
691
8
  CG(ast) = NULL;
692
8
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
8
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
8
  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
8
  ast = CG(ast);
703
8
  *ast_arena = CG(ast_arena);
704
705
8
  zend_restore_lexical_state(&original_lex_state);
706
8
  CG(in_compilation) = original_in_compilation;
707
708
8
  zval_ptr_dtor_str(&code_zv);
709
710
8
  return ast;
711
8
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
56.5k
{
715
56.5k
  zend_file_handle file_handle;
716
56.5k
  zend_op_array *retval;
717
56.5k
  zend_string *opened_path = NULL;
718
719
56.5k
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
56.5k
  retval = zend_compile_file(&file_handle, type);
722
56.5k
  if (retval && file_handle.handle.stream.handle) {
723
28
    if (!file_handle.opened_path) {
724
2
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
2
    }
726
727
28
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
28
    if (opened_path) {
730
2
      zend_string_release_ex(opened_path, 0);
731
2
    }
732
28
  }
733
56.5k
  zend_destroy_file_handle(&file_handle);
734
735
56.5k
  return retval;
736
56.5k
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
16.5k
{
740
16.5k
  char *buf;
741
16.5k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
16.5k
  old_len = Z_STRLEN_P(str);
745
16.5k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
16.5k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
16.5k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
16.5k
  SCNG(yy_in) = NULL;
750
16.5k
  SCNG(yy_start) = NULL;
751
752
16.5k
  buf = Z_STRVAL_P(str);
753
16.5k
  size = old_len;
754
755
16.5k
  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
16.5k
  yy_scan_buffer(buf, size);
773
16.5k
  zend_set_compiled_filename(filename);
774
16.5k
  CG(zend_lineno) = 1;
775
16.5k
  CG(increment_lineno) = 0;
776
16.5k
  SCNG(on_event) = NULL;
777
16.5k
  SCNG(on_event_context) = NULL;
778
16.5k
  RESET_DOC_COMMENT();
779
16.5k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
18
{
784
18
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
18
  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
18
  return offset;
801
18
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
1.87k
{
805
1.87k
  zend_lex_state original_lex_state;
806
1.87k
  zend_op_array *op_array = NULL;
807
1.87k
  zval tmp;
808
1.87k
  zend_string *filename_str;
809
810
1.87k
  if (ZSTR_LEN(source_string) == 0) {
811
69
    return NULL;
812
69
  }
813
814
1.80k
  ZVAL_STR_COPY(&tmp, source_string);
815
816
1.80k
  zend_save_lexical_state(&original_lex_state);
817
1.80k
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
1.80k
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
1.80k
  zend_string_release(filename_str);
820
821
1.80k
  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
1.80k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
1.80k
      BEGIN(ST_IN_SCRIPTING);
830
1.80k
      break;
831
1.80k
  }
832
833
1.80k
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
1.80k
  zend_restore_lexical_state(&original_lex_state);
836
1.80k
  zval_ptr_dtor(&tmp);
837
838
1.80k
  return op_array;
839
1.80k
}
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
14.7k
{
867
14.7k
  zend_lex_state original_lex_state;
868
14.7k
  zval str_zv;
869
14.7k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
14.7k
  ZVAL_STR_COPY(&str_zv, str);
871
14.7k
  zend_save_lexical_state(&original_lex_state);
872
14.7k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
14.7k
  zend_string_release(filename_str);
874
14.7k
  BEGIN(INITIAL);
875
14.7k
  zend_highlight(syntax_highlighter_ini);
876
14.7k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
14.7k
  zend_restore_lexical_state(&original_lex_state);
881
14.7k
  zval_ptr_dtor(&str_zv);
882
14.7k
}
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
2.26M
  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
2.26M
  } else if (yyleng == 1) { \
928
582k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
1.68M
  } else { \
930
1.68M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
1.68M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
312k
{
935
312k
  char *s, *t;
936
312k
  char *end;
937
938
312k
  if (len <= 1) {
939
55.6k
    if (len < 1) {
940
3.95k
      ZVAL_EMPTY_STRING(zendlval);
941
51.6k
    } else {
942
51.6k
      zend_uchar c = (zend_uchar)*str;
943
51.6k
      HANDLE_NEWLINE(c);
944
51.6k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
51.6k
    }
946
55.6k
    goto skip_escape_conversion;
947
55.6k
  }
948
949
256k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
256k
  s = Z_STRVAL_P(zendlval);
953
256k
  end = s+Z_STRLEN_P(zendlval);
954
9.22M
  while (1) {
955
9.22M
    if (UNEXPECTED(*s=='\\')) {
956
57.9k
      break;
957
57.9k
    }
958
9.16M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
240k
      CG(zend_lineno)++;
960
240k
    }
961
9.16M
    s++;
962
9.16M
    if (s == end) {
963
198k
      goto skip_escape_conversion;
964
198k
    }
965
9.16M
  }
966
967
57.9k
  t = s;
968
2.72M
  while (s<end) {
969
2.66M
    if (*s=='\\') {
970
164k
      s++;
971
164k
      if (s >= end) {
972
681
        *t++ = '\\';
973
681
        break;
974
681
      }
975
976
163k
      switch(*s) {
977
26.3k
        case 'n':
978
26.3k
          *t++ = '\n';
979
26.3k
          break;
980
345
        case 'r':
981
345
          *t++ = '\r';
982
345
          break;
983
1.05k
        case 't':
984
1.05k
          *t++ = '\t';
985
1.05k
          break;
986
1.31k
        case 'f':
987
1.31k
          *t++ = '\f';
988
1.31k
          break;
989
1.07k
        case 'v':
990
1.07k
          *t++ = '\v';
991
1.07k
          break;
992
251
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
251
          *t++ = '\e';
997
251
#endif
998
251
          break;
999
284
        case '"':
1000
1.35k
        case '`':
1001
1.35k
          if (*s != quote_type) {
1002
383
            *t++ = '\\';
1003
383
            *t++ = *s;
1004
383
            break;
1005
383
          }
1006
967
          ZEND_FALLTHROUGH;
1007
48.4k
        case '\\':
1008
48.7k
        case '$':
1009
48.7k
          *t++ = *s;
1010
48.7k
          break;
1011
1.43k
        case 'x':
1012
2.91k
        case 'X':
1013
2.91k
          if (ZEND_IS_HEX(*(s+1))) {
1014
1.26k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
1.26k
            hex_buf[0] = *(++s);
1017
1.26k
            if (ZEND_IS_HEX(*(s+1))) {
1018
1.08k
              hex_buf[1] = *(++s);
1019
1.08k
            }
1020
1.26k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
1.65k
          } else {
1022
1.65k
            *t++ = '\\';
1023
1.65k
            *t++ = *s;
1024
1.65k
          }
1025
2.91k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
127
        case 'u':
1028
127
          {
1029
            /* cache where we started so we can parse after validating */
1030
127
            char *start = s + 1;
1031
127
            size_t len = 0;
1032
127
            bool valid = 1;
1033
127
            unsigned long codepoint;
1034
1035
127
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
111
              *t++ = '\\';
1040
111
              *t++ = 'u';
1041
111
              break;
1042
111
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
16
              s++;
1045
16
              len++;
1046
16
              s++;
1047
16
              while (*s != '}') {
1048
2
                if (!ZEND_IS_HEX(*s)) {
1049
2
                  valid = 0;
1050
2
                  break;
1051
2
                } else {
1052
0
                  len++;
1053
0
                }
1054
0
                s++;
1055
0
              }
1056
16
              if (*s == '}') {
1057
14
                valid = 1;
1058
14
                len++;
1059
14
              }
1060
16
            }
1061
1062
            /* \u{} is invalid */
1063
16
            if (len <= 2) {
1064
16
              valid = 0;
1065
16
            }
1066
1067
16
            if (!valid) {
1068
16
              zend_throw_exception(zend_ce_parse_error,
1069
16
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
16
              zval_ptr_dtor(zendlval);
1071
16
              ZVAL_UNDEF(zendlval);
1072
16
              return FAILURE;
1073
16
            }
1074
1075
16
            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
81.2k
        default:
1106
          /* check for an octal */
1107
81.2k
          if (ZEND_IS_OCT(*s)) {
1108
11.6k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
11.6k
            octal_buf[0] = *s;
1111
11.6k
            if (ZEND_IS_OCT(*(s+1))) {
1112
1.48k
              octal_buf[1] = *(++s);
1113
1.48k
              if (ZEND_IS_OCT(*(s+1))) {
1114
1.40k
                octal_buf[2] = *(++s);
1115
1.40k
              }
1116
1.48k
            }
1117
11.6k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
122
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
122
            }
1121
1122
11.6k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
69.5k
          } else {
1124
69.5k
            *t++ = '\\';
1125
69.5k
            *t++ = *s;
1126
69.5k
          }
1127
81.2k
          break;
1128
163k
      }
1129
2.50M
    } else {
1130
2.50M
      *t++ = *s;
1131
2.50M
    }
1132
1133
2.66M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
71.7k
      CG(zend_lineno)++;
1135
71.7k
    }
1136
2.66M
    s++;
1137
2.66M
  }
1138
57.9k
  *t = 0;
1139
57.9k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
311k
skip_escape_conversion:
1142
311k
  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
311k
  return SUCCESS;
1153
57.9k
}
1154
1155
475k
#define HEREDOC_USING_SPACES 1
1156
17.1k
#define HEREDOC_USING_TABS 2
1157
1158
104k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
1.47M
  for (; str < end; str++) {
1160
1.42M
    if (*str == '\r') {
1161
9.68k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
9.68k
      return str;
1163
1.41M
    } else if (*str == '\n') {
1164
44.0k
      *newline_len = 1;
1165
44.0k
      return str;
1166
44.0k
    }
1167
1.42M
  }
1168
50.2k
  *newline_len = 0;
1169
50.2k
  return NULL;
1170
104k
}
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
48.9k
{
1176
48.9k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
48.9k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
48.9k
  uint32_t newline_count = 0;
1180
48.9k
  size_t newline_len;
1181
48.9k
  const char *nl;
1182
1183
48.9k
  if (!newline_at_start) {
1184
41.7k
    nl = next_newline(str, end, &newline_len);
1185
41.7k
    if (!nl) {
1186
28.3k
      return 1;
1187
28.3k
    }
1188
1189
13.4k
    str = nl + newline_len;
1190
13.4k
    copy = (char *) nl + newline_len;
1191
13.4k
    newline_count++;
1192
13.4k
  } else {
1193
7.18k
    nl = str;
1194
7.18k
  }
1195
1196
  /* <= intentional */
1197
75.0k
  while (str <= end && nl) {
1198
62.2k
    size_t skip;
1199
62.2k
    nl = next_newline(str, end, &newline_len);
1200
62.2k
    if (!nl && newline_at_end) {
1201
2.79k
      nl = end;
1202
2.79k
    }
1203
1204
    /* Try to skip indentation */
1205
63.1k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
948
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
86
        break;
1209
86
      }
1210
1211
862
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
32
        CG(zend_lineno) += newline_count;
1213
32
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
32
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
32
        goto error;
1216
32
      }
1217
1218
830
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
10
        CG(zend_lineno) += newline_count;
1220
10
        zend_throw_exception(zend_ce_parse_error,
1221
10
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
10
        goto error;
1223
10
      }
1224
830
    }
1225
1226
62.2k
    if (str == end) {
1227
7.75k
      break;
1228
7.75k
    }
1229
1230
54.4k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
54.4k
    memmove(copy, str, len);
1232
54.4k
    str += len;
1233
54.4k
    copy += len;
1234
54.4k
    newline_count++;
1235
54.4k
  }
1236
1237
20.5k
  *copy = '\0';
1238
20.5k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
20.5k
  return 1;
1240
1241
42
error:
1242
42
  zval_ptr_dtor_str(zendlval);
1243
42
  ZVAL_UNDEF(zendlval);
1244
1245
42
  return 0;
1246
20.6k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
75.1k
{
1250
75.1k
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
75.1k
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
75.1k
  *new_heredoc_label = *heredoc_label;
1254
75.1k
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
75.1k
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
75.1k
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
69.4k
{
1262
69.4k
  char   buf[256];
1263
69.4k
  size_t used = 0;
1264
1265
69.4k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
69.4k
  if (opening_lineno != CG(zend_lineno)) {
1268
44.6k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
44.6k
  }
1270
1271
69.4k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
47.7k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
47.7k
  }
1274
1275
69.4k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
69.4k
}
1277
1278
static void enter_nesting(char opening)
1279
915k
{
1280
915k
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
915k
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
915k
}
1283
1284
static zend_result exit_nesting(char closing)
1285
537k
{
1286
537k
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
8.40k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
8.40k
    return FAILURE;
1289
8.40k
  }
1290
1291
528k
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
528k
  char opening = nest_loc->text;
1293
1294
528k
  if ((opening == '{' && closing != '}') ||
1295
522k
      (opening == '[' && closing != ']') ||
1296
517k
      (opening == '(' && closing != ')')) {
1297
47.7k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
47.7k
    return FAILURE;
1299
47.7k
  }
1300
1301
480k
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
480k
  return SUCCESS;
1303
528k
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
63.3k
{
1307
63.3k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
21.7k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
21.7k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
21.7k
    return FAILURE;
1311
21.7k
  }
1312
1313
41.5k
  return SUCCESS;
1314
63.3k
}
1315
1316
#define PARSER_MODE() \
1317
6.71M
  EXPECTED(elem != NULL)
1318
1319
7.01M
#define RETURN_TOKEN(_token) do { \
1320
7.01M
    token = _token; \
1321
7.01M
    goto emit_token; \
1322
7.01M
  } while (0)
1323
1324
1.14M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
1.14M
    token = _token; \
1326
1.14M
    goto emit_token_with_val; \
1327
1.14M
  } while (0)
1328
1329
2.26M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
2.26M
    token = _token; \
1331
2.26M
    offset = _offset; \
1332
2.26M
    goto emit_token_with_str; \
1333
2.26M
  } while (0)
1334
1335
448k
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
448k
    token = _token; \
1337
448k
    goto emit_token_with_ident; \
1338
448k
  } while (0)
1339
1340
238k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
238k
    token = _token; \
1342
238k
    if (PARSER_MODE()) { \
1343
81.2k
      goto skip_token; \
1344
81.2k
    } \
1345
238k
    goto emit_token; \
1346
238k
  } while (0)
1347
1348
537k
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
537k
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
56
      RETURN_TOKEN(T_ERROR); \
1351
537k
    } else { \
1352
537k
      RETURN_TOKEN(_token); \
1353
537k
    } \
1354
537k
  } while(0)
1355
1356
63.3k
#define RETURN_END_TOKEN do { \
1357
63.3k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
632
      RETURN_TOKEN(T_ERROR); \
1359
62.7k
    } else { \
1360
62.7k
      RETURN_TOKEN(END); \
1361
62.7k
    } \
1362
63.3k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
12.2M
{
1366
12.2M
int token;
1367
12.2M
int offset;
1368
12.2M
uint32_t start_line = CG(zend_lineno);
1369
1370
12.2M
  ZVAL_UNDEF(zendlval);
1371
13.6M
restart:
1372
13.6M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
13.6M
#line 1376 "Zend/zend_language_scanner.c"
1376
13.6M
{
1377
13.6M
  YYCTYPE yych;
1378
13.6M
  unsigned int yyaccept = 0;
1379
13.6M
  if (YYGETCONDITION() < 5) {
1380
13.3M
    if (YYGETCONDITION() < 2) {
1381
12.5M
      if (YYGETCONDITION() < 1) {
1382
12.3M
        goto yyc_ST_IN_SCRIPTING;
1383
12.3M
      } else {
1384
173k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
173k
      }
1386
12.5M
    } else {
1387
782k
      if (YYGETCONDITION() < 3) {
1388
82.4k
        goto yyc_ST_BACKQUOTE;
1389
700k
      } else {
1390
700k
        if (YYGETCONDITION() < 4) {
1391
234k
          goto yyc_ST_DOUBLE_QUOTES;
1392
465k
        } else {
1393
465k
          goto yyc_ST_HEREDOC;
1394
465k
        }
1395
700k
      }
1396
782k
    }
1397
13.3M
  } else {
1398
319k
    if (YYGETCONDITION() < 8) {
1399
172k
      if (YYGETCONDITION() < 6) {
1400
104k
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
104k
      } else {
1402
68.5k
        if (YYGETCONDITION() < 7) {
1403
68.5k
          goto yyc_ST_VAR_OFFSET;
1404
68.5k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
68.5k
      }
1408
172k
    } else {
1409
147k
      if (YYGETCONDITION() < 9) {
1410
138k
        goto yyc_INITIAL;
1411
138k
      } else {
1412
8.73k
        if (YYGETCONDITION() < 10) {
1413
6.46k
          goto yyc_ST_END_HEREDOC;
1414
6.46k
        } else {
1415
2.27k
          goto yyc_ST_NOWDOC;
1416
2.27k
        }
1417
8.73k
      }
1418
147k
    }
1419
319k
  }
1420
/* *********************************** */
1421
12.3M
yyc_ST_IN_SCRIPTING:
1422
12.3M
  {
1423
12.3M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
12.3M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
12.3M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
12.3M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
12.3M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
12.3M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
12.3M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
12.3M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
12.3M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
12.3M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
12.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
12.3M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
12.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
12.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
12.3M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
12.3M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
12.3M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
12.3M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
12.3M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
12.3M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
12.3M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
12.3M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
12.3M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
12.3M
    };
1491
12.3M
    YYDEBUG(1, *YYCURSOR);
1492
12.3M
    YYFILL(16);
1493
12.3M
    yych = *YYCURSOR;
1494
12.3M
    if (yybm[256+yych] & 32) {
1495
2.42M
      goto yy5;
1496
2.42M
    }
1497
9.96M
    switch (yych) {
1498
2.21M
    case 0x00:
1499
2.26M
    case 0x01:
1500
2.27M
    case 0x02:
1501
2.28M
    case 0x03:
1502
2.29M
    case 0x04:
1503
2.30M
    case 0x05:
1504
2.31M
    case 0x06:
1505
2.33M
    case 0x07:
1506
2.37M
    case 0x08:
1507
2.37M
    case '\t':
1508
2.37M
    case '\n':
1509
2.39M
    case '\v':
1510
2.39M
    case '\f':
1511
2.39M
    case '\r':
1512
2.40M
    case 0x0E:
1513
2.42M
    case 0x0F:
1514
2.44M
    case 0x10:
1515
2.44M
    case 0x11:
1516
2.45M
    case 0x12:
1517
2.48M
    case 0x13:
1518
2.49M
    case 0x14:
1519
2.49M
    case 0x15:
1520
2.50M
    case 0x16:
1521
2.50M
    case 0x17:
1522
2.51M
    case 0x18:
1523
2.52M
    case 0x19:
1524
2.52M
    case 0x1A:
1525
2.53M
    case 0x1B:
1526
2.53M
    case 0x1C:
1527
2.58M
    case 0x1D:
1528
2.60M
    case 0x1E:
1529
2.61M
    case 0x1F:
1530
2.64M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
43.1k
    case '!': goto yy8;
1533
144k
    case '"': goto yy10;
1534
95.2k
    case '#': goto yy12;
1535
589k
    case '$': goto yy14;
1536
20.2k
    case '%': goto yy15;
1537
62.2k
    case '&': goto yy16;
1538
170k
    case '\'':  goto yy18;
1539
484k
    case '(': goto yy20;
1540
318k
    case ')':
1541
382k
    case ']': goto yy22;
1542
23.4k
    case '*': goto yy24;
1543
54.1k
    case '+': goto yy25;
1544
326k
    case ',':
1545
779k
    case ';':
1546
903k
    case '@':
1547
913k
    case '~': goto yy26;
1548
126k
    case '-': goto yy27;
1549
205k
    case '.': goto yy28;
1550
121k
    case '/': goto yy29;
1551
88.2k
    case '0': goto yy30;
1552
90.3k
    case '1':
1553
153k
    case '2':
1554
193k
    case '3':
1555
262k
    case '4':
1556
296k
    case '5':
1557
305k
    case '6':
1558
310k
    case '7':
1559
333k
    case '8':
1560
348k
    case '9': goto yy32;
1561
76.1k
    case ':': goto yy34;
1562
377k
    case '<': goto yy35;
1563
301k
    case '=': goto yy36;
1564
19.1k
    case '>': goto yy37;
1565
223k
    case '?': goto yy38;
1566
21.1k
    case 'A':
1567
69.3k
    case 'a': goto yy39;
1568
15.8k
    case 'B':
1569
33.1k
    case 'b': goto yy41;
1570
26.0k
    case 'C':
1571
135k
    case 'c': goto yy42;
1572
35.5k
    case 'D':
1573
59.5k
    case 'd': goto yy43;
1574
43.2k
    case 'E':
1575
155k
    case 'e': goto yy44;
1576
12.6k
    case 'F':
1577
135k
    case 'f': goto yy45;
1578
4.63k
    case 'G':
1579
30.6k
    case 'g': goto yy46;
1580
27.0k
    case 'I':
1581
96.0k
    case 'i': goto yy49;
1582
6.55k
    case 'L':
1583
13.8k
    case 'l': goto yy50;
1584
7.22k
    case 'M':
1585
18.5k
    case 'm': goto yy51;
1586
18.9k
    case 'N':
1587
95.7k
    case 'n': goto yy52;
1588
29.2k
    case 'O':
1589
75.2k
    case 'o': goto yy53;
1590
48.3k
    case 'P':
1591
178k
    case 'p': goto yy54;
1592
8.44k
    case 'R':
1593
55.0k
    case 'r': goto yy55;
1594
15.3k
    case 'S':
1595
71.2k
    case 's': goto yy56;
1596
17.7k
    case 'T':
1597
84.4k
    case 't': goto yy57;
1598
2.48k
    case 'U':
1599
20.6k
    case 'u': goto yy58;
1600
2.54k
    case 'V':
1601
71.1k
    case 'v': goto yy59;
1602
5.63k
    case 'W':
1603
11.6k
    case 'w': goto yy60;
1604
5.67k
    case 'X':
1605
11.4k
    case 'x': goto yy61;
1606
4.08k
    case 'Y':
1607
15.6k
    case 'y': goto yy62;
1608
67.0k
    case '[': goto yy63;
1609
73.3k
    case '\\':  goto yy64;
1610
53.4k
    case '^': goto yy66;
1611
48.2k
    case '_': goto yy67;
1612
18.7k
    case '`': goto yy68;
1613
227k
    case '{': goto yy70;
1614
33.5k
    case '|': goto yy72;
1615
154k
    case '}': goto yy73;
1616
341k
    default:  goto yy47;
1617
9.96M
    }
1618
2.64M
yy3:
1619
2.64M
    YYDEBUG(3, *YYCURSOR);
1620
2.64M
    ++YYCURSOR;
1621
2.64M
    YYDEBUG(4, *YYCURSOR);
1622
2.64M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
2.64M
#line 3179 "Zend/zend_language_scanner.l"
1624
2.64M
    {
1625
2.64M
  if (YYCURSOR > YYLIMIT) {
1626
24.3k
    RETURN_END_TOKEN;
1627
24.3k
  }
1628
1629
2.61M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
2.61M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
4.23M
yy5:
1633
4.23M
    YYDEBUG(5, *YYCURSOR);
1634
4.23M
    ++YYCURSOR;
1635
4.23M
    YYFILL(1);
1636
4.23M
    yych = *YYCURSOR;
1637
4.23M
    YYDEBUG(6, *YYCURSOR);
1638
4.23M
    if (yybm[256+yych] & 32) {
1639
1.80M
      goto yy5;
1640
1.80M
    }
1641
2.42M
    YYDEBUG(7, *YYCURSOR);
1642
2.42M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
2.42M
#line 1597 "Zend/zend_language_scanner.l"
1644
2.42M
    {
1645
2.42M
  goto return_whitespace;
1646
4.23M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
43.1k
yy8:
1649
43.1k
    YYDEBUG(8, *YYCURSOR);
1650
43.1k
    yych = *++YYCURSOR;
1651
43.1k
    if (yych == '=') goto yy75;
1652
2.01M
yy9:
1653
2.01M
    YYDEBUG(9, *YYCURSOR);
1654
2.01M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
2.01M
#line 1969 "Zend/zend_language_scanner.l"
1656
2.01M
    {
1657
2.01M
  RETURN_TOKEN(yytext[0]);
1658
2.01M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
144k
yy10:
1661
144k
    YYDEBUG(10, *YYCURSOR);
1662
144k
    ++YYCURSOR;
1663
144k
    YYDEBUG(11, *YYCURSOR);
1664
144k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
144k
#line 2632 "Zend/zend_language_scanner.l"
1666
144k
    {
1667
144k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
4.99M
  while (YYCURSOR < YYLIMIT) {
1670
4.99M
    switch (*YYCURSOR++) {
1671
112k
      case '"':
1672
112k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
112k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
112k
         || !PARSER_MODE()) {
1675
112k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
112k
        } else {
1677
0
          RETURN_TOKEN(T_ERROR);
1678
0
        }
1679
43.6k
      case '$':
1680
43.6k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
28.6k
          break;
1682
28.6k
        }
1683
15.0k
        continue;
1684
15.2k
      case '{':
1685
15.2k
        if (*YYCURSOR == '$') {
1686
1.40k
          break;
1687
1.40k
        }
1688
13.8k
        continue;
1689
118k
      case '\\':
1690
118k
        if (YYCURSOR < YYLIMIT) {
1691
117k
          YYCURSOR++;
1692
117k
        }
1693
118k
        ZEND_FALLTHROUGH;
1694
4.82M
      default:
1695
4.82M
        continue;
1696
4.99M
    }
1697
1698
30.0k
    YYCURSOR--;
1699
30.0k
    break;
1700
4.99M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
144k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
32.7k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
32.7k
  BEGIN(ST_DOUBLE_QUOTES);
1708
32.7k
  RETURN_TOKEN('"');
1709
32.7k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
95.2k
yy12:
1712
95.2k
    YYDEBUG(12, *YYCURSOR);
1713
95.2k
    yych = *++YYCURSOR;
1714
95.2k
    if (yych == '[') goto yy77;
1715
129k
yy13:
1716
129k
    YYDEBUG(13, *YYCURSOR);
1717
129k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
129k
#line 2460 "Zend/zend_language_scanner.l"
1719
129k
    {
1720
2.97M
  while (YYCURSOR < YYLIMIT) {
1721
2.97M
    switch (*YYCURSOR++) {
1722
20.0k
      case '\r':
1723
126k
      case '\n':
1724
126k
        YYCURSOR--;
1725
126k
        break;
1726
21.4k
      case '?':
1727
21.4k
        if (*YYCURSOR == '>') {
1728
426
          YYCURSOR--;
1729
426
          break;
1730
426
        }
1731
21.0k
        ZEND_FALLTHROUGH;
1732
2.84M
      default:
1733
2.84M
        continue;
1734
2.97M
    }
1735
1736
127k
    break;
1737
2.97M
  }
1738
1739
129k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
129k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
129k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
589k
yy14:
1744
589k
    YYDEBUG(14, *YYCURSOR);
1745
589k
    yych = *++YYCURSOR;
1746
589k
    if (yych <= '_') {
1747
67.2k
      if (yych <= '@') goto yy9;
1748
10.8k
      if (yych <= 'Z') goto yy79;
1749
4.11k
      if (yych <= '^') goto yy9;
1750
1.68k
      goto yy79;
1751
522k
    } else {
1752
522k
      if (yych <= '`') goto yy9;
1753
521k
      if (yych <= 'z') goto yy79;
1754
50.4k
      if (yych <= 0x7F) goto yy9;
1755
20.5k
      goto yy79;
1756
50.4k
    }
1757
20.2k
yy15:
1758
20.2k
    YYDEBUG(15, *YYCURSOR);
1759
20.2k
    yych = *++YYCURSOR;
1760
20.2k
    if (yych == '=') goto yy82;
1761
19.8k
    goto yy9;
1762
62.2k
yy16:
1763
62.2k
    YYDEBUG(16, *YYCURSOR);
1764
62.2k
    yyaccept = 0;
1765
62.2k
    yych = *(YYMARKER = ++YYCURSOR);
1766
62.2k
    if (yych <= '"') {
1767
14.8k
      if (yych <= '\f') {
1768
3.86k
        if (yych <= 0x08) goto yy17;
1769
3.19k
        if (yych <= '\n') goto yy85;
1770
10.9k
      } else {
1771
10.9k
        if (yych <= '\r') goto yy85;
1772
8.64k
        if (yych == ' ') goto yy85;
1773
8.64k
      }
1774
47.3k
    } else {
1775
47.3k
      if (yych <= '-') {
1776
10.9k
        if (yych <= '$') goto yy85;
1777
7.21k
        if (yych == '&') goto yy90;
1778
36.3k
      } else {
1779
36.3k
        if (yych <= '/') goto yy85;
1780
35.3k
        if (yych == '=') goto yy94;
1781
35.3k
      }
1782
47.3k
    }
1783
38.1k
yy17:
1784
38.1k
    YYDEBUG(17, *YYCURSOR);
1785
38.1k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
38.1k
#line 1955 "Zend/zend_language_scanner.l"
1787
38.1k
    {
1788
38.1k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
38.1k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
170k
yy18:
1792
170k
    YYDEBUG(18, *YYCURSOR);
1793
170k
    ++YYCURSOR;
1794
170k
    YYDEBUG(19, *YYCURSOR);
1795
170k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
170k
#line 2538 "Zend/zend_language_scanner.l"
1797
170k
    {
1798
170k
  char *s, *t;
1799
170k
  char *end;
1800
170k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
24.3M
  while (1) {
1803
24.3M
    if (YYCURSOR < YYLIMIT) {
1804
24.3M
      if (*YYCURSOR == '\'') {
1805
168k
        YYCURSOR++;
1806
168k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
168k
        break;
1809
24.1M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
88.9k
        YYCURSOR++;
1811
88.9k
      }
1812
24.3M
    } else {
1813
2.63k
      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.63k
      ZVAL_NULL(zendlval);
1819
2.63k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
2.63k
    }
1821
24.3M
  }
1822
1823
168k
  if (yyleng-bprefix-2 <= 1) {
1824
20.5k
    if (yyleng-bprefix-2 < 1) {
1825
2.94k
      ZVAL_EMPTY_STRING(zendlval);
1826
17.5k
    } else {
1827
17.5k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
17.5k
      HANDLE_NEWLINE(c);
1829
17.5k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
17.5k
    }
1831
20.5k
    goto skip_escape_conversion;
1832
20.5k
  }
1833
147k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
147k
  s = Z_STRVAL_P(zendlval);
1837
147k
  end = s+Z_STRLEN_P(zendlval);
1838
16.2M
  while (1) {
1839
16.2M
    if (UNEXPECTED(*s=='\\')) {
1840
27.3k
      break;
1841
27.3k
    }
1842
16.2M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
321k
      CG(zend_lineno)++;
1844
321k
    }
1845
16.2M
    s++;
1846
16.2M
    if (s == end) {
1847
120k
      goto skip_escape_conversion;
1848
120k
    }
1849
16.2M
  }
1850
1851
27.3k
  t = s;
1852
7.48M
  while (s<end) {
1853
7.45M
    if (*s=='\\') {
1854
85.2k
      s++;
1855
85.2k
      if (*s == '\\' || *s == '\'') {
1856
31.5k
        *t++ = *s;
1857
53.6k
      } else {
1858
53.6k
        *t++ = '\\';
1859
53.6k
        *t++ = *s;
1860
53.6k
      }
1861
7.37M
    } else {
1862
7.37M
      *t++ = *s;
1863
7.37M
    }
1864
7.45M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
133k
      CG(zend_lineno)++;
1866
133k
    }
1867
7.45M
    s++;
1868
7.45M
  }
1869
27.3k
  *t = 0;
1870
27.3k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
168k
skip_escape_conversion:
1873
168k
  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
168k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
168k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
484k
yy20:
1891
484k
    YYDEBUG(20, *YYCURSOR);
1892
484k
    yyaccept = 1;
1893
484k
    yych = *(YYMARKER = ++YYCURSOR);
1894
484k
    if (yych <= 'S') {
1895
386k
      if (yych <= 'D') {
1896
359k
        if (yych <= ' ') {
1897
60.0k
          if (yych == '\t') goto yy97;
1898
59.6k
          if (yych >= ' ') goto yy97;
1899
299k
        } else {
1900
299k
          if (yych <= '@') goto yy21;
1901
4.08k
          if (yych != 'C') goto yy97;
1902
4.08k
        }
1903
359k
      } else {
1904
27.3k
        if (yych <= 'I') {
1905
20.4k
          if (yych == 'F') goto yy97;
1906
19.3k
          if (yych >= 'I') goto yy97;
1907
19.3k
        } else {
1908
6.94k
          if (yych == 'O') goto yy97;
1909
5.49k
          if (yych >= 'R') goto yy97;
1910
5.49k
        }
1911
27.3k
      }
1912
386k
    } else {
1913
98.0k
      if (yych <= 'f') {
1914
38.4k
        if (yych <= 'b') {
1915
24.7k
          if (yych <= 'T') goto yy21;
1916
22.1k
          if (yych <= 'V') goto yy97;
1917
21.3k
          if (yych >= 'a') goto yy97;
1918
21.3k
        } else {
1919
13.7k
          if (yych == 'd') goto yy97;
1920
12.9k
          if (yych >= 'f') goto yy97;
1921
12.9k
        }
1922
59.5k
      } else {
1923
59.5k
        if (yych <= 'o') {
1924
29.2k
          if (yych == 'i') goto yy97;
1925
12.4k
          if (yych >= 'o') goto yy97;
1926
30.3k
        } else {
1927
30.3k
          if (yych <= 's') {
1928
12.8k
            if (yych >= 'r') goto yy97;
1929
17.4k
          } else {
1930
17.4k
            if (yych <= 't') goto yy21;
1931
14.6k
            if (yych <= 'v') goto yy97;
1932
14.6k
          }
1933
30.3k
        }
1934
59.5k
      }
1935
98.0k
    }
1936
549k
yy21:
1937
549k
    YYDEBUG(21, *YYCURSOR);
1938
549k
    yyleng = YYCURSOR - SCNG(yy_text);
1939
549k
#line 1964 "Zend/zend_language_scanner.l"
1940
549k
    {
1941
549k
  enter_nesting(yytext[0]);
1942
549k
  RETURN_TOKEN(yytext[0]);
1943
549k
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
382k
yy22:
1946
382k
    YYDEBUG(22, *YYCURSOR);
1947
382k
    ++YYCURSOR;
1948
382k
    YYDEBUG(23, *YYCURSOR);
1949
382k
    yyleng = YYCURSOR - SCNG(yy_text);
1950
382k
#line 1959 "Zend/zend_language_scanner.l"
1951
382k
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
382k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
382k
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
23.4k
yy24:
1957
23.4k
    YYDEBUG(24, *YYCURSOR);
1958
23.4k
    yych = *++YYCURSOR;
1959
23.4k
    if (yych == '*') goto yy108;
1960
20.2k
    if (yych == '=') goto yy110;
1961
19.4k
    goto yy9;
1962
54.1k
yy25:
1963
54.1k
    YYDEBUG(25, *YYCURSOR);
1964
54.1k
    yych = *++YYCURSOR;
1965
54.1k
    if (yych == '+') goto yy112;
1966
31.7k
    if (yych == '=') goto yy114;
1967
30.5k
    goto yy9;
1968
913k
yy26:
1969
913k
    YYDEBUG(26, *YYCURSOR);
1970
913k
    ++YYCURSOR;
1971
913k
    goto yy9;
1972
126k
yy27:
1973
126k
    YYDEBUG(27, *YYCURSOR);
1974
126k
    yych = *++YYCURSOR;
1975
126k
    if (yych <= '<') {
1976
51.3k
      if (yych == '-') goto yy116;
1977
45.5k
      goto yy9;
1978
74.8k
    } else {
1979
74.8k
      if (yych <= '=') goto yy118;
1980
73.5k
      if (yych <= '>') goto yy120;
1981
23.9k
      goto yy9;
1982
73.5k
    }
1983
205k
yy28:
1984
205k
    YYDEBUG(28, *YYCURSOR);
1985
205k
    yyaccept = 2;
1986
205k
    yych = *(YYMARKER = ++YYCURSOR);
1987
205k
    if (yych <= '/') {
1988
79.4k
      if (yych == '.') goto yy122;
1989
48.6k
      goto yy9;
1990
125k
    } else {
1991
125k
      if (yych <= '9') goto yy123;
1992
113k
      if (yych == '=') goto yy126;
1993
24.2k
      goto yy9;
1994
113k
    }
1995
121k
yy29:
1996
121k
    YYDEBUG(29, *YYCURSOR);
1997
121k
    yych = *++YYCURSOR;
1998
121k
    if (yych <= '.') {
1999
53.4k
      if (yych == '*') goto yy128;
2000
6.94k
      goto yy9;
2001
68.0k
    } else {
2002
68.0k
      if (yych <= '/') goto yy130;
2003
30.9k
      if (yych == '=') goto yy131;
2004
29.8k
      goto yy9;
2005
30.9k
    }
2006
88.2k
yy30:
2007
88.2k
    YYDEBUG(30, *YYCURSOR);
2008
88.2k
    yyaccept = 3;
2009
88.2k
    yych = *(YYMARKER = ++YYCURSOR);
2010
88.2k
    if (yych <= 'X') {
2011
67.5k
      if (yych <= 'N') {
2012
66.6k
        if (yych == 'B') goto yy134;
2013
66.6k
        goto yy33;
2014
66.6k
      } else {
2015
874
        if (yych <= 'O') goto yy136;
2016
654
        if (yych <= 'W') goto yy33;
2017
178
        goto yy137;
2018
654
      }
2019
67.5k
    } else {
2020
20.7k
      if (yych <= 'n') {
2021
17.1k
        if (yych == 'b') goto yy134;
2022
15.6k
        goto yy33;
2023
17.1k
      } else {
2024
3.64k
        if (yych <= 'o') goto yy136;
2025
3.53k
        if (yych == 'x') goto yy137;
2026
2.13k
        goto yy33;
2027
3.53k
      }
2028
20.7k
    }
2029
409k
yy31:
2030
409k
    YYDEBUG(31, *YYCURSOR);
2031
409k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
409k
#line 2103 "Zend/zend_language_scanner.l"
2033
409k
    {
2034
409k
  size_t len = yyleng;
2035
409k
  char *end, *lnum = yytext;
2036
409k
  bool is_octal = lnum[0] == '0';
2037
409k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
409k
  if (contains_underscores) {
2040
431
    lnum = estrndup(lnum, len);
2041
431
    strip_underscores(lnum, &len);
2042
431
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
409k
  if (is_octal) {
2046
84.4k
    size_t i;
2047
255k
    for (i = 0; i < len; i++) {
2048
172k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
1.31k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
1.31k
        if (PARSER_MODE()) {
2051
8
          if (contains_underscores) {
2052
0
            efree(lnum);
2053
0
          }
2054
8
          ZVAL_UNDEF(zendlval);
2055
8
          RETURN_TOKEN(T_ERROR);
2056
8
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
1.30k
        len = i;
2060
1.30k
        break;
2061
1.31k
      }
2062
172k
    }
2063
84.4k
  }
2064
2065
2066
409k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
391k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
391k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
391k
    ZEND_ASSERT(end == lnum + len);
2071
391k
  } else {
2072
18.2k
    errno = 0;
2073
18.2k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
18.2k
    if (errno == ERANGE) { /* Overflow */
2075
16.0k
      errno = 0;
2076
16.0k
      if (is_octal) { /* octal overflow */
2077
272
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
15.8k
      } else {
2079
15.8k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
15.8k
      }
2081
16.0k
      ZEND_ASSERT(end == lnum + len);
2082
16.0k
      if (contains_underscores) {
2083
38
        efree(lnum);
2084
38
      }
2085
16.0k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
16.0k
    }
2087
2.20k
    ZEND_ASSERT(end == lnum + len);
2088
2.20k
  }
2089
393k
  ZEND_ASSERT(!errno);
2090
393k
  if (contains_underscores) {
2091
393
    efree(lnum);
2092
393
  }
2093
393k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
393k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
1.65M
yy32:
2097
1.65M
    YYDEBUG(32, *YYCURSOR);
2098
1.65M
    yyaccept = 3;
2099
1.65M
    YYMARKER = ++YYCURSOR;
2100
1.65M
    YYFILL(3);
2101
1.65M
    yych = *YYCURSOR;
2102
1.74M
yy33:
2103
1.74M
    YYDEBUG(33, *YYCURSOR);
2104
1.74M
    if (yybm[256+yych] & 64) {
2105
1.30M
      goto yy32;
2106
1.30M
    }
2107
434k
    if (yych <= 'E') {
2108
360k
      if (yych == '.') goto yy133;
2109
344k
      if (yych <= 'D') goto yy31;
2110
8.13k
      goto yy135;
2111
344k
    } else {
2112
73.3k
      if (yych <= '_') {
2113
42.6k
        if (yych <= '^') goto yy31;
2114
5.97k
        goto yy138;
2115
42.6k
      } else {
2116
30.7k
        if (yych == 'e') goto yy135;
2117
28.7k
        goto yy31;
2118
30.7k
      }
2119
73.3k
    }
2120
76.1k
yy34:
2121
76.1k
    YYDEBUG(34, *YYCURSOR);
2122
76.1k
    yych = *++YYCURSOR;
2123
76.1k
    if (yych == ':') goto yy139;
2124
31.1k
    goto yy9;
2125
377k
yy35:
2126
377k
    YYDEBUG(35, *YYCURSOR);
2127
377k
    yych = *++YYCURSOR;
2128
377k
    if (yych <= ';') goto yy9;
2129
337k
    if (yych <= '<') goto yy141;
2130
128k
    if (yych <= '=') goto yy143;
2131
125k
    if (yych <= '>') goto yy145;
2132
123k
    goto yy9;
2133
301k
yy36:
2134
301k
    YYDEBUG(36, *YYCURSOR);
2135
301k
    yych = *++YYCURSOR;
2136
301k
    if (yych <= '<') goto yy9;
2137
31.2k
    if (yych <= '=') goto yy146;
2138
15.0k
    if (yych <= '>') goto yy148;
2139
6.38k
    goto yy9;
2140
19.1k
yy37:
2141
19.1k
    YYDEBUG(37, *YYCURSOR);
2142
19.1k
    yych = *++YYCURSOR;
2143
19.1k
    if (yych <= '<') goto yy9;
2144
8.59k
    if (yych <= '=') goto yy150;
2145
7.60k
    if (yych <= '>') goto yy152;
2146
5.92k
    goto yy9;
2147
223k
yy38:
2148
223k
    YYDEBUG(38, *YYCURSOR);
2149
223k
    yyaccept = 2;
2150
223k
    yych = *(YYMARKER = ++YYCURSOR);
2151
223k
    if (yych <= '=') {
2152
98.3k
      if (yych == '-') goto yy154;
2153
71.9k
      goto yy9;
2154
124k
    } else {
2155
124k
      if (yych <= '>') goto yy155;
2156
88.8k
      if (yych <= '?') goto yy157;
2157
75.4k
      goto yy9;
2158
88.8k
    }
2159
69.3k
yy39:
2160
69.3k
    YYDEBUG(39, *YYCURSOR);
2161
69.3k
    yyaccept = 4;
2162
69.3k
    yych = *(YYMARKER = ++YYCURSOR);
2163
69.3k
    if (yych <= 'S') {
2164
23.3k
      if (yych <= 'M') {
2165
22.2k
        if (yych == 'B') goto yy159;
2166
20.7k
        goto yy48;
2167
22.2k
      } else {
2168
1.15k
        if (yych <= 'N') goto yy160;
2169
828
        if (yych <= 'Q') goto yy48;
2170
749
        if (yych <= 'R') goto yy161;
2171
551
        goto yy162;
2172
749
      }
2173
45.9k
    } else {
2174
45.9k
      if (yych <= 'n') {
2175
9.73k
        if (yych == 'b') goto yy159;
2176
7.28k
        if (yych <= 'm') goto yy48;
2177
1.35k
        goto yy160;
2178
36.2k
      } else {
2179
36.2k
        if (yych <= 'q') goto yy48;
2180
34.3k
        if (yych <= 'r') goto yy161;
2181
20.4k
        if (yych <= 's') goto yy162;
2182
6.69k
        goto yy48;
2183
20.4k
      }
2184
45.9k
    }
2185
1.36M
yy40:
2186
1.36M
    YYDEBUG(40, *YYCURSOR);
2187
1.36M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
1.36M
#line 2455 "Zend/zend_language_scanner.l"
2189
1.36M
    {
2190
1.36M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
1.36M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
33.1k
yy41:
2194
33.1k
    YYDEBUG(41, *YYCURSOR);
2195
33.1k
    yyaccept = 4;
2196
33.1k
    yych = *(YYMARKER = ++YYCURSOR);
2197
33.1k
    if (yych <= ';') {
2198
10.5k
      if (yych <= '"') {
2199
4.12k
        if (yych <= '!') goto yy48;
2200
198
        goto yy10;
2201
6.44k
      } else {
2202
6.44k
        if (yych == '\'') goto yy18;
2203
6.31k
        goto yy48;
2204
6.44k
      }
2205
22.6k
    } else {
2206
22.6k
      if (yych <= 'R') {
2207
1.60k
        if (yych <= '<') goto yy165;
2208
1.04k
        if (yych <= 'Q') goto yy48;
2209
47
        goto yy166;
2210
21.0k
      } else {
2211
21.0k
        if (yych == 'r') goto yy166;
2212
19.6k
        goto yy48;
2213
21.0k
      }
2214
22.6k
    }
2215
135k
yy42:
2216
135k
    YYDEBUG(42, *YYCURSOR);
2217
135k
    yyaccept = 4;
2218
135k
    yych = *(YYMARKER = ++YYCURSOR);
2219
135k
    if (yych <= 'O') {
2220
29.4k
      if (yych <= 'K') {
2221
22.1k
        if (yych == 'A') goto yy167;
2222
20.8k
        goto yy48;
2223
22.1k
      } else {
2224
7.33k
        if (yych <= 'L') goto yy168;
2225
4.49k
        if (yych <= 'N') goto yy48;
2226
4.48k
        goto yy169;
2227
4.49k
      }
2228
105k
    } else {
2229
105k
      if (yych <= 'k') {
2230
38.4k
        if (yych == 'a') goto yy167;
2231
6.13k
        goto yy48;
2232
67.2k
      } else {
2233
67.2k
        if (yych <= 'l') goto yy168;
2234
31.3k
        if (yych == 'o') goto yy169;
2235
2.65k
        goto yy48;
2236
31.3k
      }
2237
105k
    }
2238
59.5k
yy43:
2239
59.5k
    YYDEBUG(43, *YYCURSOR);
2240
59.5k
    yyaccept = 4;
2241
59.5k
    yych = *(YYMARKER = ++YYCURSOR);
2242
59.5k
    if (yych <= 'O') {
2243
17.1k
      if (yych <= 'H') {
2244
10.8k
        if (yych == 'E') goto yy170;
2245
9.77k
        goto yy48;
2246
10.8k
      } else {
2247
6.31k
        if (yych <= 'I') goto yy171;
2248
5.93k
        if (yych <= 'N') goto yy48;
2249
5.81k
        goto yy172;
2250
5.93k
      }
2251
42.4k
    } else {
2252
42.4k
      if (yych <= 'h') {
2253
32.7k
        if (yych == 'e') goto yy170;
2254
24.4k
        goto yy48;
2255
32.7k
      } else {
2256
9.67k
        if (yych <= 'i') goto yy171;
2257
8.69k
        if (yych == 'o') goto yy172;
2258
4.91k
        goto yy48;
2259
8.69k
      }
2260
42.4k
    }
2261
155k
yy44:
2262
155k
    YYDEBUG(44, *YYCURSOR);
2263
155k
    yyaccept = 4;
2264
155k
    yych = *(YYMARKER = ++YYCURSOR);
2265
155k
    switch (yych) {
2266
688
    case 'C':
2267
57.5k
    case 'c': goto yy174;
2268
111
    case 'L':
2269
1.46k
    case 'l': goto yy175;
2270
953
    case 'M':
2271
3.26k
    case 'm': goto yy176;
2272
20.1k
    case 'N':
2273
33.2k
    case 'n': goto yy177;
2274
81
    case 'V':
2275
2.27k
    case 'v': goto yy178;
2276
536
    case 'X':
2277
25.7k
    case 'x': goto yy179;
2278
31.6k
    default:  goto yy48;
2279
155k
    }
2280
135k
yy45:
2281
135k
    YYDEBUG(45, *YYCURSOR);
2282
135k
    yyaccept = 4;
2283
135k
    yych = *(YYMARKER = ++YYCURSOR);
2284
135k
    if (yych <= 'U') {
2285
26.2k
      if (yych <= 'M') {
2286
15.6k
        if (yych == 'I') goto yy180;
2287
14.7k
        goto yy48;
2288
15.6k
      } else {
2289
10.5k
        if (yych <= 'N') goto yy181;
2290
10.2k
        if (yych <= 'O') goto yy183;
2291
296
        if (yych <= 'T') goto yy48;
2292
172
        goto yy184;
2293
296
      }
2294
108k
    } else {
2295
108k
      if (yych <= 'n') {
2296
9.74k
        if (yych == 'i') goto yy180;
2297
6.71k
        if (yych <= 'm') goto yy48;
2298
1.58k
        goto yy181;
2299
99.0k
      } else {
2300
99.0k
        if (yych <= 'o') goto yy183;
2301
49.5k
        if (yych == 'u') goto yy184;
2302
5.21k
        goto yy48;
2303
49.5k
      }
2304
108k
    }
2305
30.6k
yy46:
2306
30.6k
    YYDEBUG(46, *YYCURSOR);
2307
30.6k
    yyaccept = 4;
2308
30.6k
    yych = *(YYMARKER = ++YYCURSOR);
2309
30.6k
    if (yych <= 'O') {
2310
16.9k
      if (yych == 'L') goto yy185;
2311
15.0k
      if (yych <= 'N') goto yy48;
2312
1.12k
      goto yy186;
2313
15.0k
    } else {
2314
13.6k
      if (yych <= 'l') {
2315
11.7k
        if (yych <= 'k') goto yy48;
2316
1.82k
        goto yy185;
2317
11.7k
      } else {
2318
1.89k
        if (yych == 'o') goto yy186;
2319
908
        goto yy48;
2320
1.89k
      }
2321
13.6k
    }
2322
6.10M
yy47:
2323
6.10M
    YYDEBUG(47, *YYCURSOR);
2324
6.10M
    yyaccept = 4;
2325
6.10M
    YYMARKER = ++YYCURSOR;
2326
6.10M
    YYFILL(1);
2327
6.10M
    yych = *YYCURSOR;
2328
7.02M
yy48:
2329
7.02M
    YYDEBUG(48, *YYCURSOR);
2330
7.02M
    if (yybm[256+yych] & 128) {
2331
5.65M
      goto yy47;
2332
5.65M
    }
2333
1.37M
    if (yych == '\\') goto yy164;
2334
1.34M
    goto yy40;
2335
1.34M
yy49:
2336
96.0k
    YYDEBUG(49, *YYCURSOR);
2337
96.0k
    yyaccept = 4;
2338
96.0k
    yych = *(YYMARKER = ++YYCURSOR);
2339
96.0k
    if (yych <= 'S') {
2340
26.3k
      if (yych <= 'L') {
2341
7.70k
        if (yych == 'F') goto yy187;
2342
7.28k
        goto yy48;
2343
18.6k
      } else {
2344
18.6k
        if (yych <= 'M') goto yy189;
2345
18.3k
        if (yych <= 'N') goto yy190;
2346
6.51k
        if (yych <= 'R') goto yy48;
2347
3.69k
        goto yy191;
2348
6.51k
      }
2349
69.6k
    } else {
2350
69.6k
      if (yych <= 'm') {
2351
21.8k
        if (yych == 'f') goto yy187;
2352
9.11k
        if (yych <= 'l') goto yy48;
2353
1.18k
        goto yy189;
2354
47.8k
      } else {
2355
47.8k
        if (yych <= 'n') goto yy190;
2356
22.5k
        if (yych == 's') goto yy191;
2357
7.81k
        goto yy48;
2358
22.5k
      }
2359
69.6k
    }
2360
13.8k
yy50:
2361
13.8k
    YYDEBUG(50, *YYCURSOR);
2362
13.8k
    yyaccept = 4;
2363
13.8k
    yych = *(YYMARKER = ++YYCURSOR);
2364
13.8k
    if (yych == 'I') goto yy192;
2365
13.5k
    if (yych == 'i') goto yy192;
2366
11.3k
    goto yy48;
2367
18.5k
yy51:
2368
18.5k
    YYDEBUG(51, *YYCURSOR);
2369
18.5k
    yyaccept = 4;
2370
18.5k
    yych = *(YYMARKER = ++YYCURSOR);
2371
18.5k
    if (yych == 'A') goto yy193;
2372
18.5k
    if (yych == 'a') goto yy193;
2373
16.6k
    goto yy48;
2374
95.7k
yy52:
2375
95.7k
    YYDEBUG(52, *YYCURSOR);
2376
95.7k
    yyaccept = 4;
2377
95.7k
    yych = *(YYMARKER = ++YYCURSOR);
2378
95.7k
    if (yych <= 'E') {
2379
11.1k
      if (yych == 'A') goto yy194;
2380
10.1k
      if (yych <= 'D') goto yy48;
2381
1.22k
      goto yy195;
2382
84.5k
    } else {
2383
84.5k
      if (yych <= 'a') {
2384
21.0k
        if (yych <= '`') goto yy48;
2385
10.8k
        goto yy194;
2386
63.5k
      } else {
2387
63.5k
        if (yych == 'e') goto yy195;
2388
14.0k
        goto yy48;
2389
63.5k
      }
2390
84.5k
    }
2391
75.2k
yy53:
2392
75.2k
    YYDEBUG(53, *YYCURSOR);
2393
75.2k
    yyaccept = 4;
2394
75.2k
    yych = *(YYMARKER = ++YYCURSOR);
2395
75.2k
    if (yych == 'R') goto yy196;
2396
72.6k
    if (yych == 'r') goto yy196;
2397
70.4k
    goto yy48;
2398
178k
yy54:
2399
178k
    YYDEBUG(54, *YYCURSOR);
2400
178k
    yyaccept = 4;
2401
178k
    yych = *(YYMARKER = ++YYCURSOR);
2402
178k
    if (yych <= 'U') {
2403
59.1k
      if (yych == 'R') goto yy198;
2404
55.6k
      if (yych <= 'T') goto yy48;
2405
1.40k
      goto yy199;
2406
119k
    } else {
2407
119k
      if (yych <= 'r') {
2408
83.8k
        if (yych <= 'q') goto yy48;
2409
20.4k
        goto yy198;
2410
83.8k
      } else {
2411
35.1k
        if (yych == 'u') goto yy199;
2412
5.33k
        goto yy48;
2413
35.1k
      }
2414
119k
    }
2415
55.0k
yy55:
2416
55.0k
    YYDEBUG(55, *YYCURSOR);
2417
55.0k
    yyaccept = 4;
2418
55.0k
    yych = *(YYMARKER = ++YYCURSOR);
2419
55.0k
    if (yych == 'E') goto yy200;
2420
54.7k
    if (yych == 'e') goto yy200;
2421
20.2k
    goto yy48;
2422
71.2k
yy56:
2423
71.2k
    YYDEBUG(56, *YYCURSOR);
2424
71.2k
    yyaccept = 4;
2425
71.2k
    yych = *(YYMARKER = ++YYCURSOR);
2426
71.2k
    if (yych <= 'W') {
2427
33.7k
      if (yych == 'T') goto yy201;
2428
31.9k
      if (yych <= 'V') goto yy48;
2429
108
      goto yy202;
2430
37.4k
    } else {
2431
37.4k
      if (yych <= 't') {
2432
34.3k
        if (yych <= 's') goto yy48;
2433
21.9k
        goto yy201;
2434
34.3k
      } else {
2435
3.15k
        if (yych == 'w') goto yy202;
2436
2.68k
        goto yy48;
2437
3.15k
      }
2438
37.4k
    }
2439
84.4k
yy57:
2440
84.4k
    YYDEBUG(57, *YYCURSOR);
2441
84.4k
    yyaccept = 4;
2442
84.4k
    yych = *(YYMARKER = ++YYCURSOR);
2443
84.4k
    if (yych <= 'R') {
2444
11.1k
      if (yych == 'H') goto yy203;
2445
10.4k
      if (yych <= 'Q') goto yy48;
2446
737
      goto yy204;
2447
73.2k
    } else {
2448
73.2k
      if (yych <= 'h') {
2449
32.1k
        if (yych <= 'g') goto yy48;
2450
7.86k
        goto yy203;
2451
41.1k
      } else {
2452
41.1k
        if (yych == 'r') goto yy204;
2453
4.74k
        goto yy48;
2454
41.1k
      }
2455
73.2k
    }
2456
20.6k
yy58:
2457
20.6k
    YYDEBUG(58, *YYCURSOR);
2458
20.6k
    yyaccept = 4;
2459
20.6k
    yych = *(YYMARKER = ++YYCURSOR);
2460
20.6k
    if (yych <= 'S') {
2461
3.60k
      if (yych == 'N') goto yy205;
2462
2.58k
      if (yych <= 'R') goto yy48;
2463
286
      goto yy206;
2464
17.0k
    } else {
2465
17.0k
      if (yych <= 'n') {
2466
9.78k
        if (yych <= 'm') goto yy48;
2467
8.06k
        goto yy205;
2468
9.78k
      } else {
2469
7.23k
        if (yych == 's') goto yy206;
2470
889
        goto yy48;
2471
7.23k
      }
2472
17.0k
    }
2473
71.1k
yy59:
2474
71.1k
    YYDEBUG(59, *YYCURSOR);
2475
71.1k
    yyaccept = 4;
2476
71.1k
    yych = *(YYMARKER = ++YYCURSOR);
2477
71.1k
    if (yych == 'A') goto yy207;
2478
70.9k
    if (yych == 'a') goto yy207;
2479
6.41k
    goto yy48;
2480
11.6k
yy60:
2481
11.6k
    YYDEBUG(60, *YYCURSOR);
2482
11.6k
    yyaccept = 4;
2483
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
2484
11.6k
    if (yych == 'H') goto yy208;
2485
10.5k
    if (yych == 'h') goto yy208;
2486
9.37k
    goto yy48;
2487
11.4k
yy61:
2488
11.4k
    YYDEBUG(61, *YYCURSOR);
2489
11.4k
    yyaccept = 4;
2490
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
2491
11.4k
    if (yych == 'O') goto yy209;
2492
11.3k
    if (yych == 'o') goto yy209;
2493
10.1k
    goto yy48;
2494
15.6k
yy62:
2495
15.6k
    YYDEBUG(62, *YYCURSOR);
2496
15.6k
    yyaccept = 4;
2497
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
2498
15.6k
    if (yych == 'I') goto yy210;
2499
15.4k
    if (yych == 'i') goto yy210;
2500
9.05k
    goto yy48;
2501
67.0k
yy63:
2502
67.0k
    YYDEBUG(63, *YYCURSOR);
2503
67.0k
    ++YYCURSOR;
2504
67.0k
    goto yy21;
2505
73.3k
yy64:
2506
73.3k
    YYDEBUG(64, *YYCURSOR);
2507
73.3k
    yych = *++YYCURSOR;
2508
73.3k
    if (yych <= '_') {
2509
52.0k
      if (yych <= '@') goto yy65;
2510
29.2k
      if (yych <= 'Z') goto yy211;
2511
17.9k
      if (yych >= '_') goto yy211;
2512
21.3k
    } else {
2513
21.3k
      if (yych <= '`') goto yy65;
2514
21.2k
      if (yych <= 'z') goto yy211;
2515
2.56k
      if (yych >= 0x80) goto yy211;
2516
2.56k
    }
2517
41.4k
yy65:
2518
41.4k
    YYDEBUG(65, *YYCURSOR);
2519
41.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
41.4k
#line 2451 "Zend/zend_language_scanner.l"
2521
41.4k
    {
2522
41.4k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
41.4k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
53.4k
yy66:
2526
53.4k
    YYDEBUG(66, *YYCURSOR);
2527
53.4k
    yych = *++YYCURSOR;
2528
53.4k
    if (yych == '=') goto yy214;
2529
52.8k
    goto yy9;
2530
52.8k
yy67:
2531
48.2k
    YYDEBUG(67, *YYCURSOR);
2532
48.2k
    yyaccept = 4;
2533
48.2k
    yych = *(YYMARKER = ++YYCURSOR);
2534
48.2k
    if (yych == '_') goto yy216;
2535
17.1k
    goto yy48;
2536
18.7k
yy68:
2537
18.7k
    YYDEBUG(68, *YYCURSOR);
2538
18.7k
    ++YYCURSOR;
2539
18.7k
    YYDEBUG(69, *YYCURSOR);
2540
18.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
18.7k
#line 2825 "Zend/zend_language_scanner.l"
2542
18.7k
    {
2543
18.7k
  BEGIN(ST_BACKQUOTE);
2544
18.7k
  RETURN_TOKEN('`');
2545
18.7k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
227k
yy70:
2548
227k
    YYDEBUG(70, *YYCURSOR);
2549
227k
    ++YYCURSOR;
2550
227k
    YYDEBUG(71, *YYCURSOR);
2551
227k
    yyleng = YYCURSOR - SCNG(yy_text);
2552
227k
#line 1974 "Zend/zend_language_scanner.l"
2553
227k
    {
2554
227k
  yy_push_state(ST_IN_SCRIPTING);
2555
227k
  enter_nesting('{');
2556
227k
  RETURN_TOKEN('{');
2557
227k
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
33.5k
yy72:
2560
33.5k
    YYDEBUG(72, *YYCURSOR);
2561
33.5k
    yych = *++YYCURSOR;
2562
33.5k
    if (yych <= '>') {
2563
15.3k
      if (yych <= '<') goto yy9;
2564
2.60k
      if (yych <= '=') goto yy217;
2565
2.07k
      goto yy219;
2566
18.1k
    } else {
2567
18.1k
      if (yych == '|') goto yy221;
2568
15.9k
      goto yy9;
2569
18.1k
    }
2570
154k
yy73:
2571
154k
    YYDEBUG(73, *YYCURSOR);
2572
154k
    ++YYCURSOR;
2573
154k
    YYDEBUG(74, *YYCURSOR);
2574
154k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
154k
#line 1987 "Zend/zend_language_scanner.l"
2576
154k
    {
2577
154k
  RESET_DOC_COMMENT();
2578
154k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
135k
    yy_pop_state();
2580
135k
  }
2581
154k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
154k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
1.98k
yy75:
2585
1.98k
    YYDEBUG(75, *YYCURSOR);
2586
1.98k
    yych = *++YYCURSOR;
2587
1.98k
    if (yych == '=') goto yy223;
2588
4.15k
yy76:
2589
4.15k
    YYDEBUG(76, *YYCURSOR);
2590
4.15k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
4.15k
#line 1846 "Zend/zend_language_scanner.l"
2592
4.15k
    {
2593
4.15k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
4.15k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
3.28k
yy77:
2597
3.28k
    YYDEBUG(77, *YYCURSOR);
2598
3.28k
    ++YYCURSOR;
2599
3.28k
    YYDEBUG(78, *YYCURSOR);
2600
3.28k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
3.28k
#line 1423 "Zend/zend_language_scanner.l"
2602
3.28k
    {
2603
3.28k
  enter_nesting('[');
2604
3.28k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
3.28k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
2.31M
yy79:
2608
2.31M
    YYDEBUG(79, *YYCURSOR);
2609
2.31M
    ++YYCURSOR;
2610
2.31M
    YYFILL(1);
2611
2.31M
    yych = *YYCURSOR;
2612
2.31M
    YYDEBUG(80, *YYCURSOR);
2613
2.31M
    if (yych <= '^') {
2614
615k
      if (yych <= '9') {
2615
473k
        if (yych >= '0') goto yy79;
2616
473k
      } else {
2617
142k
        if (yych <= '@') goto yy81;
2618
98.7k
        if (yych <= 'Z') goto yy79;
2619
98.7k
      }
2620
1.70M
    } else {
2621
1.70M
      if (yych <= '`') {
2622
4.59k
        if (yych <= '_') goto yy79;
2623
1.69M
      } else {
2624
1.69M
        if (yych <= 'z') goto yy79;
2625
489k
        if (yych >= 0x80) goto yy79;
2626
489k
      }
2627
1.70M
    }
2628
500k
yy81:
2629
500k
    YYDEBUG(81, *YYCURSOR);
2630
500k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
500k
#line 2417 "Zend/zend_language_scanner.l"
2632
500k
    {
2633
500k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
500k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
382
yy82:
2637
382
    YYDEBUG(82, *YYCURSOR);
2638
382
    ++YYCURSOR;
2639
382
    YYDEBUG(83, *YYCURSOR);
2640
382
    yyleng = YYCURSOR - SCNG(yy_text);
2641
382
#line 1890 "Zend/zend_language_scanner.l"
2642
382
    {
2643
382
  RETURN_TOKEN(T_MOD_EQUAL);
2644
382
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
27.6k
yy84:
2647
27.6k
    YYDEBUG(84, *YYCURSOR);
2648
27.6k
    ++YYCURSOR;
2649
27.6k
    YYFILL(3);
2650
27.6k
    yych = *YYCURSOR;
2651
45.4k
yy85:
2652
45.4k
    YYDEBUG(85, *YYCURSOR);
2653
45.4k
    if (yych <= ' ') {
2654
20.4k
      if (yych <= '\f') {
2655
7.59k
        if (yych <= 0x08) goto yy86;
2656
6.99k
        if (yych <= '\n') goto yy84;
2657
12.8k
      } else {
2658
12.8k
        if (yych <= '\r') goto yy84;
2659
8.10k
        if (yych >= ' ') goto yy84;
2660
8.10k
      }
2661
25.0k
    } else {
2662
25.0k
      if (yych <= '$') {
2663
16.3k
        if (yych <= '"') goto yy86;
2664
15.4k
        if (yych <= '#') goto yy87;
2665
7.74k
        goto yy88;
2666
15.4k
      } else {
2667
8.69k
        if (yych <= '-') goto yy86;
2668
8.52k
        if (yych <= '.') goto yy92;
2669
7.60k
        if (yych <= '/') goto yy93;
2670
7.60k
      }
2671
25.0k
    }
2672
193k
yy86:
2673
193k
    YYDEBUG(86, *YYCURSOR);
2674
193k
    YYCURSOR = YYMARKER;
2675
193k
    if (yyaccept <= 48) {
2676
185k
      if (yyaccept <= 24) {
2677
185k
        if (yyaccept <= 12) {
2678
183k
          if (yyaccept <= 6) {
2679
134k
            if (yyaccept <= 3) {
2680
115k
              if (yyaccept <= 1) {
2681
101k
                if (yyaccept == 0) {
2682
9.35k
                  goto yy17;
2683
91.8k
                } else {
2684
91.8k
                  goto yy21;
2685
91.8k
                }
2686
101k
              } else {
2687
14.4k
                if (yyaccept == 2) {
2688
6.24k
                  goto yy9;
2689
8.18k
                } else {
2690
8.18k
                  goto yy31;
2691
8.18k
                }
2692
14.4k
              }
2693
115k
            } else {
2694
18.6k
              if (yyaccept <= 5) {
2695
18.1k
                if (yyaccept == 4) {
2696
18.0k
                  goto yy40;
2697
18.0k
                } else {
2698
117
                  goto yy125;
2699
117
                }
2700
18.1k
              } else {
2701
461
                goto yy129;
2702
461
              }
2703
18.6k
            }
2704
134k
          } else {
2705
49.5k
            if (yyaccept <= 9) {
2706
49.5k
              if (yyaccept <= 8) {
2707
49.5k
                if (yyaccept == 7) {
2708
49.5k
                  goto yy142;
2709
49.5k
                } else {
2710
6
                  goto yy163;
2711
6
                }
2712
49.5k
              } else {
2713
0
                goto yy173;
2714
0
              }
2715
49.5k
            } else {
2716
44
              if (yyaccept <= 11) {
2717
0
                if (yyaccept == 10) {
2718
0
                  goto yy182;
2719
0
                } else {
2720
0
                  goto yy188;
2721
0
                }
2722
44
              } else {
2723
44
                goto yy197;
2724
44
              }
2725
44
            }
2726
49.5k
          }
2727
183k
        } else {
2728
1.74k
          if (yyaccept <= 18) {
2729
1.73k
            if (yyaccept <= 15) {
2730
800
              if (yyaccept <= 14) {
2731
800
                if (yyaccept == 13) {
2732
798
                  goto yy213;
2733
798
                } else {
2734
2
                  goto yy251;
2735
2
                }
2736
800
              } else {
2737
0
                goto yy257;
2738
0
              }
2739
934
            } else {
2740
934
              if (yyaccept <= 17) {
2741
6
                if (yyaccept == 16) {
2742
6
                  goto yy260;
2743
6
                } else {
2744
0
                  goto yy279;
2745
0
                }
2746
928
              } else {
2747
928
                goto yy283;
2748
928
              }
2749
934
            }
2750
1.73k
          } else {
2751
6
            if (yyaccept <= 21) {
2752
4
              if (yyaccept <= 20) {
2753
2
                if (yyaccept == 19) {
2754
0
                  goto yy295;
2755
2
                } else {
2756
2
                  goto yy306;
2757
2
                }
2758
2
              } else {
2759
2
                goto yy319;
2760
2
              }
2761
4
            } else {
2762
2
              if (yyaccept <= 23) {
2763
2
                if (yyaccept == 22) {
2764
0
                  goto yy331;
2765
2
                } else {
2766
2
                  goto yy334;
2767
2
                }
2768
2
              } else {
2769
0
                goto yy336;
2770
0
              }
2771
2
            }
2772
6
          }
2773
1.74k
        }
2774
185k
      } else {
2775
387
        if (yyaccept <= 36) {
2776
321
          if (yyaccept <= 30) {
2777
313
            if (yyaccept <= 27) {
2778
311
              if (yyaccept <= 26) {
2779
311
                if (yyaccept == 25) {
2780
0
                  goto yy339;
2781
311
                } else {
2782
311
                  goto yy89;
2783
311
                }
2784
311
              } else {
2785
0
                goto yy379;
2786
0
              }
2787
311
            } else {
2788
2
              if (yyaccept <= 29) {
2789
0
                if (yyaccept == 28) {
2790
0
                  goto yy388;
2791
0
                } else {
2792
0
                  goto yy390;
2793
0
                }
2794
2
              } else {
2795
2
                goto yy399;
2796
2
              }
2797
2
            }
2798
313
          } else {
2799
8
            if (yyaccept <= 33) {
2800
0
              if (yyaccept <= 32) {
2801
0
                if (yyaccept == 31) {
2802
0
                  goto yy401;
2803
0
                } else {
2804
0
                  goto yy408;
2805
0
                }
2806
0
              } else {
2807
0
                goto yy415;
2808
0
              }
2809
8
            } else {
2810
8
              if (yyaccept <= 35) {
2811
6
                if (yyaccept == 34) {
2812
6
                  goto yy471;
2813
6
                } else {
2814
0
                  goto yy473;
2815
0
                }
2816
6
              } else {
2817
2
                goto yy476;
2818
2
              }
2819
8
            }
2820
8
          }
2821
321
        } else {
2822
66
          if (yyaccept <= 42) {
2823
60
            if (yyaccept <= 39) {
2824
20
              if (yyaccept <= 38) {
2825
0
                if (yyaccept == 37) {
2826
0
                  goto yy478;
2827
0
                } else {
2828
0
                  goto yy480;
2829
0
                }
2830
20
              } else {
2831
20
                goto yy482;
2832
20
              }
2833
40
            } else {
2834
40
              if (yyaccept <= 41) {
2835
40
                if (yyaccept == 40) {
2836
40
                  goto yy488;
2837
40
                } else {
2838
0
                  goto yy492;
2839
0
                }
2840
40
              } else {
2841
0
                goto yy501;
2842
0
              }
2843
40
            }
2844
60
          } else {
2845
6
            if (yyaccept <= 45) {
2846
6
              if (yyaccept <= 44) {
2847
6
                if (yyaccept == 43) {
2848
6
                  goto yy511;
2849
6
                } else {
2850
0
                  goto yy513;
2851
0
                }
2852
6
              } else {
2853
0
                goto yy516;
2854
0
              }
2855
6
            } else {
2856
0
              if (yyaccept <= 47) {
2857
0
                if (yyaccept == 46) {
2858
0
                  goto yy526;
2859
0
                } else {
2860
0
                  goto yy528;
2861
0
                }
2862
0
              } else {
2863
0
                goto yy530;
2864
0
              }
2865
0
            }
2866
6
          }
2867
66
        }
2868
387
      }
2869
185k
    } else {
2870
7.75k
      if (yyaccept <= 72) {
2871
6.93k
        if (yyaccept <= 60) {
2872
6.36k
          if (yyaccept <= 54) {
2873
6.24k
            if (yyaccept <= 51) {
2874
3.52k
              if (yyaccept <= 50) {
2875
3.52k
                if (yyaccept == 49) {
2876
0
                  goto yy532;
2877
3.52k
                } else {
2878
3.52k
                  goto yy534;
2879
3.52k
                }
2880
3.52k
              } else {
2881
0
                goto yy576;
2882
0
              }
2883
3.52k
            } else {
2884
2.72k
              if (yyaccept <= 53) {
2885
2.72k
                if (yyaccept == 52) {
2886
0
                  goto yy579;
2887
2.72k
                } else {
2888
2.72k
                  goto yy583;
2889
2.72k
                }
2890
2.72k
              } else {
2891
0
                goto yy597;
2892
0
              }
2893
2.72k
            }
2894
6.24k
          } else {
2895
114
            if (yyaccept <= 57) {
2896
114
              if (yyaccept <= 56) {
2897
114
                if (yyaccept == 55) {
2898
114
                  goto yy607;
2899
114
                } else {
2900
0
                  goto yy611;
2901
0
                }
2902
114
              } else {
2903
0
                goto yy613;
2904
0
              }
2905
114
            } 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
114
          }
2917
6.36k
        } else {
2918
574
          if (yyaccept <= 66) {
2919
572
            if (yyaccept <= 63) {
2920
30
              if (yyaccept <= 62) {
2921
30
                if (yyaccept == 61) {
2922
0
                  goto yy671;
2923
30
                } else {
2924
30
                  goto yy673;
2925
30
                }
2926
30
              } else {
2927
0
                goto yy675;
2928
0
              }
2929
542
            } else {
2930
542
              if (yyaccept <= 65) {
2931
542
                if (yyaccept == 64) {
2932
0
                  goto yy679;
2933
542
                } else {
2934
542
                  goto yy685;
2935
542
                }
2936
542
              } else {
2937
0
                goto yy690;
2938
0
              }
2939
542
            }
2940
572
          } else {
2941
2
            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
2
            } else {
2952
2
              if (yyaccept <= 71) {
2953
0
                if (yyaccept == 70) {
2954
0
                  goto yy730;
2955
0
                } else {
2956
0
                  goto yy735;
2957
0
                }
2958
2
              } else {
2959
2
                goto yy743;
2960
2
              }
2961
2
            }
2962
2
          }
2963
574
        }
2964
6.93k
      } else {
2965
813
        if (yyaccept <= 84) {
2966
767
          if (yyaccept <= 78) {
2967
715
            if (yyaccept <= 75) {
2968
715
              if (yyaccept <= 74) {
2969
715
                if (yyaccept == 73) {
2970
715
                  goto yy754;
2971
715
                } else {
2972
0
                  goto yy764;
2973
0
                }
2974
715
              } else {
2975
0
                goto yy768;
2976
0
              }
2977
715
            } 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
715
          } else {
2989
52
            if (yyaccept <= 81) {
2990
52
              if (yyaccept <= 80) {
2991
52
                if (yyaccept == 79) {
2992
0
                  goto yy801;
2993
52
                } else {
2994
52
                  goto yy804;
2995
52
                }
2996
52
              } else {
2997
0
                goto yy812;
2998
0
              }
2999
52
            } 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
52
          }
3011
767
        } else {
3012
46
          if (yyaccept <= 90) {
3013
46
            if (yyaccept <= 87) {
3014
36
              if (yyaccept <= 86) {
3015
0
                if (yyaccept == 85) {
3016
0
                  goto yy836;
3017
0
                } else {
3018
0
                  goto yy839;
3019
0
                }
3020
36
              } else {
3021
36
                goto yy854;
3022
36
              }
3023
36
            } else {
3024
10
              if (yyaccept <= 89) {
3025
10
                if (yyaccept == 88) {
3026
10
                  goto yy869;
3027
10
                } else {
3028
0
                  goto yy898;
3029
0
                }
3030
10
              } else {
3031
0
                goto yy903;
3032
0
              }
3033
10
            }
3034
46
          } else {
3035
0
            if (yyaccept <= 93) {
3036
0
              if (yyaccept <= 92) {
3037
0
                if (yyaccept == 91) {
3038
0
                  goto yy876;
3039
0
                } else {
3040
0
                  goto yy911;
3041
0
                }
3042
0
              } else {
3043
0
                goto yy915;
3044
0
              }
3045
0
            } else {
3046
0
              if (yyaccept <= 95) {
3047
0
                if (yyaccept == 94) {
3048
0
                  goto yy886;
3049
0
                } else {
3050
0
                  goto yy931;
3051
0
                }
3052
0
              } else {
3053
0
                goto yy951;
3054
0
              }
3055
0
            }
3056
0
          }
3057
46
        }
3058
813
      }
3059
7.75k
    }
3060
7.74k
yy87:
3061
7.74k
    YYDEBUG(87, *YYCURSOR);
3062
7.74k
    ++YYCURSOR;
3063
7.74k
    YYFILL(1);
3064
7.74k
    yych = *YYCURSOR;
3065
7.74k
    if (yych <= '\f') {
3066
4.81k
      if (yych <= 0x00) goto yy86;
3067
4.77k
      if (yych == '\n') goto yy227;
3068
58
      goto yy225;
3069
4.77k
    } else {
3070
2.92k
      if (yych <= '\r') goto yy227;
3071
1.88k
      if (yych == '[') goto yy86;
3072
1.88k
      goto yy225;
3073
1.88k
    }
3074
8.06k
yy88:
3075
8.06k
    YYDEBUG(88, *YYCURSOR);
3076
8.06k
    ++YYCURSOR;
3077
8.38k
yy89:
3078
8.38k
    YYDEBUG(89, *YYCURSOR);
3079
8.38k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
8.38k
#line 1950 "Zend/zend_language_scanner.l"
3081
8.38k
    {
3082
8.38k
  yyless(1);
3083
8.38k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
8.38k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
4.56k
yy90:
3087
4.56k
    YYDEBUG(90, *YYCURSOR);
3088
4.56k
    ++YYCURSOR;
3089
4.56k
    YYDEBUG(91, *YYCURSOR);
3090
4.56k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
4.56k
#line 1926 "Zend/zend_language_scanner.l"
3092
4.56k
    {
3093
4.56k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
4.56k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
920
yy92:
3097
920
    YYDEBUG(92, *YYCURSOR);
3098
920
    yych = *++YYCURSOR;
3099
920
    if (yych == '.') goto yy229;
3100
139
    goto yy86;
3101
999
yy93:
3102
999
    YYDEBUG(93, *YYCURSOR);
3103
999
    ++YYCURSOR;
3104
999
    YYFILL(1);
3105
999
    yych = *YYCURSOR;
3106
999
    if (yych == '*') goto yy230;
3107
207
    if (yych == '/') goto yy225;
3108
189
    goto yy86;
3109
11.0k
yy94:
3110
11.0k
    YYDEBUG(94, *YYCURSOR);
3111
11.0k
    ++YYCURSOR;
3112
11.0k
    YYDEBUG(95, *YYCURSOR);
3113
11.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
11.0k
#line 1902 "Zend/zend_language_scanner.l"
3115
11.0k
    {
3116
11.0k
  RETURN_TOKEN(T_AND_EQUAL);
3117
11.0k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
175k
yy96:
3120
175k
    YYDEBUG(96, *YYCURSOR);
3121
175k
    ++YYCURSOR;
3122
175k
    YYFILL(7);
3123
175k
    yych = *YYCURSOR;
3124
269k
yy97:
3125
269k
    YYDEBUG(97, *YYCURSOR);
3126
269k
    if (yybm[0+yych] & 1) {
3127
175k
      goto yy96;
3128
175k
    }
3129
94.0k
    switch (yych) {
3130
1.22k
    case 'A':
3131
5.27k
    case 'a': goto yy98;
3132
383
    case 'B':
3133
1.90k
    case 'b': goto yy99;
3134
538
    case 'D':
3135
1.32k
    case 'd': goto yy100;
3136
1.05k
    case 'F':
3137
7.53k
    case 'f': goto yy101;
3138
520
    case 'I':
3139
17.3k
    case 'i': goto yy102;
3140
1.46k
    case 'O':
3141
3.35k
    case 'o': goto yy103;
3142
898
    case 'R':
3143
3.43k
    case 'r': goto yy104;
3144
499
    case 'S':
3145
6.86k
    case 's': goto yy105;
3146
551
    case 'U':
3147
1.21k
    case 'u': goto yy106;
3148
594
    case 'V':
3149
1.21k
    case 'v': goto yy107;
3150
44.6k
    default:  goto yy86;
3151
94.0k
    }
3152
5.27k
yy98:
3153
5.27k
    YYDEBUG(98, *YYCURSOR);
3154
5.27k
    yych = *++YYCURSOR;
3155
5.27k
    if (yych == 'R') goto yy232;
3156
5.24k
    if (yych == 'r') goto yy232;
3157
3.55k
    goto yy86;
3158
3.55k
yy99:
3159
1.90k
    YYDEBUG(99, *YYCURSOR);
3160
1.90k
    yych = *++YYCURSOR;
3161
1.90k
    if (yych <= 'O') {
3162
431
      if (yych == 'I') goto yy233;
3163
431
      if (yych <= 'N') goto yy86;
3164
72
      goto yy234;
3165
1.47k
    } else {
3166
1.47k
      if (yych <= 'i') {
3167
1.00k
        if (yych <= 'h') goto yy86;
3168
394
        goto yy233;
3169
1.00k
      } else {
3170
467
        if (yych == 'o') goto yy234;
3171
181
        goto yy86;
3172
467
      }
3173
1.47k
    }
3174
1.32k
yy100:
3175
1.32k
    YYDEBUG(100, *YYCURSOR);
3176
1.32k
    yych = *++YYCURSOR;
3177
1.32k
    if (yych == 'O') goto yy235;
3178
1.31k
    if (yych == 'o') goto yy235;
3179
1.00k
    goto yy86;
3180
7.53k
yy101:
3181
7.53k
    YYDEBUG(101, *YYCURSOR);
3182
7.53k
    yych = *++YYCURSOR;
3183
7.53k
    if (yych == 'L') goto yy236;
3184
7.52k
    if (yych == 'l') goto yy236;
3185
7.00k
    goto yy86;
3186
17.3k
yy102:
3187
17.3k
    YYDEBUG(102, *YYCURSOR);
3188
17.3k
    yych = *++YYCURSOR;
3189
17.3k
    if (yych == 'N') goto yy237;
3190
16.9k
    if (yych == 'n') goto yy237;
3191
14.4k
    goto yy86;
3192
14.4k
yy103:
3193
3.35k
    YYDEBUG(103, *YYCURSOR);
3194
3.35k
    yych = *++YYCURSOR;
3195
3.35k
    if (yych == 'B') goto yy238;
3196
3.35k
    if (yych == 'b') goto yy238;
3197
1.52k
    goto yy86;
3198
3.43k
yy104:
3199
3.43k
    YYDEBUG(104, *YYCURSOR);
3200
3.43k
    yych = *++YYCURSOR;
3201
3.43k
    if (yych == 'E') goto yy239;
3202
3.42k
    if (yych == 'e') goto yy239;
3203
1.19k
    goto yy86;
3204
6.86k
yy105:
3205
6.86k
    YYDEBUG(105, *YYCURSOR);
3206
6.86k
    yych = *++YYCURSOR;
3207
6.86k
    if (yych == 'T') goto yy240;
3208
6.75k
    if (yych == 't') goto yy240;
3209
2.23k
    goto yy86;
3210
2.23k
yy106:
3211
1.21k
    YYDEBUG(106, *YYCURSOR);
3212
1.21k
    yych = *++YYCURSOR;
3213
1.21k
    if (yych == 'N') goto yy241;
3214
815
    if (yych == 'n') goto yy241;
3215
290
    goto yy86;
3216
1.21k
yy107:
3217
1.21k
    YYDEBUG(107, *YYCURSOR);
3218
1.21k
    yych = *++YYCURSOR;
3219
1.21k
    if (yych == 'O') goto yy242;
3220
1.20k
    if (yych == 'o') goto yy242;
3221
1.08k
    goto yy86;
3222
3.16k
yy108:
3223
3.16k
    YYDEBUG(108, *YYCURSOR);
3224
3.16k
    yych = *++YYCURSOR;
3225
3.16k
    if (yych == '=') goto yy243;
3226
3.13k
    YYDEBUG(109, *YYCURSOR);
3227
3.13k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
3.13k
#line 1874 "Zend/zend_language_scanner.l"
3229
3.13k
    {
3230
3.13k
  RETURN_TOKEN(T_POW);
3231
3.13k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
853
yy110:
3234
853
    YYDEBUG(110, *YYCURSOR);
3235
853
    ++YYCURSOR;
3236
853
    YYDEBUG(111, *YYCURSOR);
3237
853
    yyleng = YYCURSOR - SCNG(yy_text);
3238
853
#line 1870 "Zend/zend_language_scanner.l"
3239
853
    {
3240
853
  RETURN_TOKEN(T_MUL_EQUAL);
3241
853
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
22.4k
yy112:
3244
22.4k
    YYDEBUG(112, *YYCURSOR);
3245
22.4k
    ++YYCURSOR;
3246
22.4k
    YYDEBUG(113, *YYCURSOR);
3247
22.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
22.4k
#line 1826 "Zend/zend_language_scanner.l"
3249
22.4k
    {
3250
22.4k
  RETURN_TOKEN(T_INC);
3251
22.4k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
1.18k
yy114:
3254
1.18k
    YYDEBUG(114, *YYCURSOR);
3255
1.18k
    ++YYCURSOR;
3256
1.18k
    YYDEBUG(115, *YYCURSOR);
3257
1.18k
    yyleng = YYCURSOR - SCNG(yy_text);
3258
1.18k
#line 1862 "Zend/zend_language_scanner.l"
3259
1.18k
    {
3260
1.18k
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
1.18k
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
5.80k
yy116:
3264
5.80k
    YYDEBUG(116, *YYCURSOR);
3265
5.80k
    ++YYCURSOR;
3266
5.80k
    YYDEBUG(117, *YYCURSOR);
3267
5.80k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
5.80k
#line 1830 "Zend/zend_language_scanner.l"
3269
5.80k
    {
3270
5.80k
  RETURN_TOKEN(T_DEC);
3271
5.80k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
1.23k
yy118:
3274
1.23k
    YYDEBUG(118, *YYCURSOR);
3275
1.23k
    ++YYCURSOR;
3276
1.23k
    YYDEBUG(119, *YYCURSOR);
3277
1.23k
    yyleng = YYCURSOR - SCNG(yy_text);
3278
1.23k
#line 1866 "Zend/zend_language_scanner.l"
3279
1.23k
    {
3280
1.23k
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
1.23k
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
49.6k
yy120:
3284
49.6k
    YYDEBUG(120, *YYCURSOR);
3285
49.6k
    ++YYCURSOR;
3286
49.6k
    YYDEBUG(121, *YYCURSOR);
3287
49.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
49.6k
#line 1587 "Zend/zend_language_scanner.l"
3289
49.6k
    {
3290
49.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
49.6k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
49.6k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
30.8k
yy122:
3295
30.8k
    YYDEBUG(122, *YYCURSOR);
3296
30.8k
    yych = *++YYCURSOR;
3297
30.8k
    if (yych == '.') goto yy245;
3298
4.66k
    goto yy86;
3299
181k
yy123:
3300
181k
    YYDEBUG(123, *YYCURSOR);
3301
181k
    yyaccept = 5;
3302
181k
    YYMARKER = ++YYCURSOR;
3303
181k
    YYFILL(2);
3304
181k
    yych = *YYCURSOR;
3305
197k
yy124:
3306
197k
    YYDEBUG(124, *YYCURSOR);
3307
197k
    if (yych <= 'E') {
3308
192k
      if (yych <= '/') goto yy125;
3309
177k
      if (yych <= '9') goto yy123;
3310
9.26k
      if (yych >= 'E') goto yy135;
3311
9.26k
    } else {
3312
4.93k
      if (yych <= '_') {
3313
896
        if (yych >= '_') goto yy247;
3314
4.04k
      } else {
3315
4.04k
        if (yych == 'e') goto yy135;
3316
4.04k
      }
3317
4.93k
    }
3318
36.5k
yy125:
3319
36.5k
    YYDEBUG(125, *YYCURSOR);
3320
36.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
36.5k
#line 2233 "Zend/zend_language_scanner.l"
3322
36.5k
    {
3323
36.5k
  const char *end;
3324
36.5k
  size_t len = yyleng;
3325
36.5k
  char *dnum = yytext;
3326
36.5k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
36.5k
  if (contains_underscores) {
3329
865
    dnum = estrndup(dnum, len);
3330
865
    strip_underscores(dnum, &len);
3331
865
  }
3332
3333
36.5k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
36.5k
  ZEND_ASSERT(end == dnum + len);
3336
36.5k
  if (contains_underscores) {
3337
865
    efree(dnum);
3338
865
  }
3339
36.5k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
36.5k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
88.9k
yy126:
3343
88.9k
    YYDEBUG(126, *YYCURSOR);
3344
88.9k
    ++YYCURSOR;
3345
88.9k
    YYDEBUG(127, *YYCURSOR);
3346
88.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
88.9k
#line 1886 "Zend/zend_language_scanner.l"
3348
88.9k
    {
3349
88.9k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
88.9k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
46.4k
yy128:
3353
46.4k
    YYDEBUG(128, *YYCURSOR);
3354
46.4k
    yyaccept = 6;
3355
46.4k
    yych = *(YYMARKER = ++YYCURSOR);
3356
46.4k
    if (yych == '*') goto yy248;
3357
46.4k
yy129:
3358
46.4k
    YYDEBUG(129, *YYCURSOR);
3359
46.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
46.4k
#line 2484 "Zend/zend_language_scanner.l"
3361
46.4k
    {
3362
46.4k
  int doc_com;
3363
3364
46.4k
  if (yyleng > 2) {
3365
3.13k
    doc_com = 1;
3366
3.13k
    RESET_DOC_COMMENT();
3367
43.3k
  } else {
3368
43.3k
    doc_com = 0;
3369
43.3k
  }
3370
3371
1.39M
  while (YYCURSOR < YYLIMIT) {
3372
1.39M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
45.5k
      break;
3374
45.5k
    }
3375
1.39M
  }
3376
3377
46.4k
  if (YYCURSOR < YYLIMIT) {
3378
45.5k
    YYCURSOR++;
3379
45.5k
  } else {
3380
924
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
924
    if (PARSER_MODE()) {
3382
34
      RETURN_TOKEN(T_ERROR);
3383
34
    }
3384
924
  }
3385
3386
46.4k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
46.4k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
46.4k
  if (doc_com) {
3390
3.12k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
3.12k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
3.12k
  }
3393
3394
43.3k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
43.3k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
37.0k
yy130:
3398
37.0k
    YYDEBUG(130, *YYCURSOR);
3399
37.0k
    ++YYCURSOR;
3400
37.0k
    goto yy13;
3401
1.09k
yy131:
3402
1.09k
    YYDEBUG(131, *YYCURSOR);
3403
1.09k
    ++YYCURSOR;
3404
1.09k
    YYDEBUG(132, *YYCURSOR);
3405
1.09k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
1.09k
#line 1882 "Zend/zend_language_scanner.l"
3407
1.09k
    {
3408
1.09k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
1.09k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
16.5k
yy133:
3412
16.5k
    YYDEBUG(133, *YYCURSOR);
3413
16.5k
    yyaccept = 5;
3414
16.5k
    yych = *(YYMARKER = ++YYCURSOR);
3415
16.5k
    if (yych == '_') goto yy125;
3416
16.5k
    goto yy124;
3417
16.5k
yy134:
3418
1.58k
    YYDEBUG(134, *YYCURSOR);
3419
1.58k
    ++YYCURSOR;
3420
1.58k
    YYFILL(1);
3421
1.58k
    yych = *YYCURSOR;
3422
1.58k
    if (yybm[0+yych] & 8) {
3423
818
      goto yy249;
3424
818
    }
3425
763
    goto yy86;
3426
11.0k
yy135:
3427
11.0k
    YYDEBUG(135, *YYCURSOR);
3428
11.0k
    yych = *++YYCURSOR;
3429
11.0k
    if (yych <= ',') {
3430
1.71k
      if (yych == '+') goto yy252;
3431
1.07k
      goto yy86;
3432
9.31k
    } else {
3433
9.31k
      if (yych <= '-') goto yy252;
3434
9.02k
      if (yych <= '/') goto yy86;
3435
8.97k
      if (yych <= '9') goto yy253;
3436
1.37k
      goto yy86;
3437
8.97k
    }
3438
326
yy136:
3439
326
    YYDEBUG(136, *YYCURSOR);
3440
326
    ++YYCURSOR;
3441
326
    YYFILL(1);
3442
326
    yych = *YYCURSOR;
3443
326
    if (yybm[0+yych] & 16) {
3444
81
      goto yy255;
3445
81
    }
3446
245
    goto yy86;
3447
1.60k
yy137:
3448
1.60k
    YYDEBUG(137, *YYCURSOR);
3449
1.60k
    ++YYCURSOR;
3450
1.60k
    YYFILL(1);
3451
1.60k
    yych = *YYCURSOR;
3452
1.60k
    if (yybm[0+yych] & 32) {
3453
1.55k
      goto yy258;
3454
1.55k
    }
3455
57
    goto yy86;
3456
5.97k
yy138:
3457
5.97k
    YYDEBUG(138, *YYCURSOR);
3458
5.97k
    ++YYCURSOR;
3459
5.97k
    YYFILL(1);
3460
5.97k
    yych = *YYCURSOR;
3461
5.97k
    if (yybm[256+yych] & 64) {
3462
1.28k
      goto yy32;
3463
1.28k
    }
3464
4.69k
    goto yy86;
3465
44.9k
yy139:
3466
44.9k
    YYDEBUG(139, *YYCURSOR);
3467
44.9k
    ++YYCURSOR;
3468
44.9k
    YYDEBUG(140, *YYCURSOR);
3469
44.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
44.9k
#line 1614 "Zend/zend_language_scanner.l"
3471
44.9k
    {
3472
44.9k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
44.9k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
209k
yy141:
3476
209k
    YYDEBUG(141, *YYCURSOR);
3477
209k
    yyaccept = 7;
3478
209k
    yych = *(YYMARKER = ++YYCURSOR);
3479
209k
    if (yych <= ';') goto yy142;
3480
183k
    if (yych <= '<') goto yy261;
3481
16.1k
    if (yych <= '=') goto yy263;
3482
91.8k
yy142:
3483
91.8k
    YYDEBUG(142, *YYCURSOR);
3484
91.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
91.8k
#line 1942 "Zend/zend_language_scanner.l"
3486
91.8k
    {
3487
91.8k
  RETURN_TOKEN(T_SL);
3488
91.8k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
2.12k
yy143:
3491
2.12k
    YYDEBUG(143, *YYCURSOR);
3492
2.12k
    yych = *++YYCURSOR;
3493
2.12k
    if (yych == '>') goto yy265;
3494
1.91k
    YYDEBUG(144, *YYCURSOR);
3495
1.91k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
1.91k
#line 1854 "Zend/zend_language_scanner.l"
3497
1.91k
    {
3498
1.91k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
1.91k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
2.70k
yy145:
3502
2.70k
    YYDEBUG(145, *YYCURSOR);
3503
2.70k
    ++YYCURSOR;
3504
2.70k
    goto yy76;
3505
16.2k
yy146:
3506
16.2k
    YYDEBUG(146, *YYCURSOR);
3507
16.2k
    yych = *++YYCURSOR;
3508
16.2k
    if (yych == '=') goto yy267;
3509
10.5k
    YYDEBUG(147, *YYCURSOR);
3510
10.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
10.5k
#line 1842 "Zend/zend_language_scanner.l"
3512
10.5k
    {
3513
10.5k
  RETURN_TOKEN(T_IS_EQUAL);
3514
10.5k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
8.63k
yy148:
3517
8.63k
    YYDEBUG(148, *YYCURSOR);
3518
8.63k
    ++YYCURSOR;
3519
8.63k
    YYDEBUG(149, *YYCURSOR);
3520
8.63k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
8.63k
#line 1810 "Zend/zend_language_scanner.l"
3522
8.63k
    {
3523
8.63k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
8.63k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
982
yy150:
3527
982
    YYDEBUG(150, *YYCURSOR);
3528
982
    ++YYCURSOR;
3529
982
    YYDEBUG(151, *YYCURSOR);
3530
982
    yyleng = YYCURSOR - SCNG(yy_text);
3531
982
#line 1858 "Zend/zend_language_scanner.l"
3532
982
    {
3533
982
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
982
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
1.68k
yy152:
3537
1.68k
    YYDEBUG(152, *YYCURSOR);
3538
1.68k
    yych = *++YYCURSOR;
3539
1.68k
    if (yych == '=') goto yy269;
3540
1.51k
    YYDEBUG(153, *YYCURSOR);
3541
1.51k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
1.51k
#line 1946 "Zend/zend_language_scanner.l"
3543
1.51k
    {
3544
1.51k
  RETURN_TOKEN(T_SR);
3545
1.51k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
26.4k
yy154:
3548
26.4k
    YYDEBUG(154, *YYCURSOR);
3549
26.4k
    yych = *++YYCURSOR;
3550
26.4k
    if (yych == '>') goto yy271;
3551
1.57k
    goto yy86;
3552
36.0k
yy155:
3553
36.0k
    YYDEBUG(155, *YYCURSOR);
3554
36.0k
    yych = *++YYCURSOR;
3555
36.0k
    if (yych == '\n') goto yy273;
3556
32.6k
    if (yych == '\r') goto yy274;
3557
36.0k
yy156:
3558
36.0k
    YYDEBUG(156, *YYCURSOR);
3559
36.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
36.0k
#line 2526 "Zend/zend_language_scanner.l"
3561
36.0k
    {
3562
36.0k
  BEGIN(INITIAL);
3563
36.0k
  if (yytext[yyleng-1] != '>') {
3564
3.51k
    CG(increment_lineno) = 1;
3565
3.51k
  }
3566
36.0k
  if (PARSER_MODE()) {
3567
28.9k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
28.9k
  }
3569
7.08k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
7.08k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
13.3k
yy157:
3573
13.3k
    YYDEBUG(157, *YYCURSOR);
3574
13.3k
    yych = *++YYCURSOR;
3575
13.3k
    if (yych == '=') goto yy275;
3576
12.7k
    YYDEBUG(158, *YYCURSOR);
3577
12.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
12.7k
#line 1622 "Zend/zend_language_scanner.l"
3579
12.7k
    {
3580
12.7k
  RETURN_TOKEN(T_COALESCE);
3581
12.7k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
3.96k
yy159:
3584
3.96k
    YYDEBUG(159, *YYCURSOR);
3585
3.96k
    yyaccept = 4;
3586
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
3587
3.96k
    if (yych == 'S') goto yy277;
3588
2.64k
    if (yych == 's') goto yy277;
3589
1.03k
    goto yy48;
3590
1.68k
yy160:
3591
1.68k
    YYDEBUG(160, *YYCURSOR);
3592
1.68k
    yyaccept = 4;
3593
1.68k
    yych = *(YYMARKER = ++YYCURSOR);
3594
1.68k
    if (yych == 'D') goto yy278;
3595
1.41k
    if (yych == 'd') goto yy278;
3596
355
    goto yy48;
3597
14.1k
yy161:
3598
14.1k
    YYDEBUG(161, *YYCURSOR);
3599
14.1k
    yyaccept = 4;
3600
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
3601
14.1k
    if (yych == 'R') goto yy280;
3602
14.0k
    if (yych == 'r') goto yy280;
3603
3.47k
    goto yy48;
3604
14.2k
yy162:
3605
14.2k
    YYDEBUG(162, *YYCURSOR);
3606
14.2k
    yyaccept = 8;
3607
14.2k
    yych = *(YYMARKER = ++YYCURSOR);
3608
14.2k
    if (yybm[256+yych] & 128) {
3609
2.12k
      goto yy47;
3610
2.12k
    }
3611
12.1k
    if (yych == '\\') goto yy164;
3612
12.1k
yy163:
3613
12.1k
    YYDEBUG(163, *YYCURSOR);
3614
12.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
12.1k
#line 1510 "Zend/zend_language_scanner.l"
3616
12.1k
    {
3617
12.1k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
12.1k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
26.6k
yy164:
3621
26.6k
    YYDEBUG(164, *YYCURSOR);
3622
26.6k
    ++YYCURSOR;
3623
26.6k
    YYFILL(1);
3624
26.6k
    yych = *YYCURSOR;
3625
26.6k
    if (yych <= '_') {
3626
21.0k
      if (yych <= '@') goto yy86;
3627
12.7k
      if (yych <= 'Z') goto yy281;
3628
4.81k
      if (yych <= '^') goto yy86;
3629
62
      goto yy281;
3630
5.63k
    } else {
3631
5.63k
      if (yych <= '`') goto yy86;
3632
5.56k
      if (yych <= 'z') goto yy281;
3633
2.65k
      if (yych <= 0x7F) goto yy86;
3634
2.03k
      goto yy281;
3635
2.65k
    }
3636
559
yy165:
3637
559
    YYDEBUG(165, *YYCURSOR);
3638
559
    yych = *++YYCURSOR;
3639
559
    if (yych == '<') goto yy284;
3640
551
    goto yy86;
3641
1.40k
yy166:
3642
1.40k
    YYDEBUG(166, *YYCURSOR);
3643
1.40k
    yyaccept = 4;
3644
1.40k
    yych = *(YYMARKER = ++YYCURSOR);
3645
1.40k
    if (yych == 'E') goto yy285;
3646
1.36k
    if (yych == 'e') goto yy285;
3647
719
    goto yy48;
3648
33.6k
yy167:
3649
33.6k
    YYDEBUG(167, *YYCURSOR);
3650
33.6k
    yyaccept = 4;
3651
33.6k
    yych = *(YYMARKER = ++YYCURSOR);
3652
33.6k
    if (yych <= 'T') {
3653
2.31k
      if (yych <= 'L') {
3654
1.76k
        if (yych <= 'K') goto yy48;
3655
685
        goto yy286;
3656
1.76k
      } else {
3657
547
        if (yych <= 'R') goto yy48;
3658
533
        if (yych <= 'S') goto yy287;
3659
346
        goto yy288;
3660
533
      }
3661
31.3k
    } else {
3662
31.3k
      if (yych <= 'r') {
3663
6.72k
        if (yych == 'l') goto yy286;
3664
1.48k
        goto yy48;
3665
24.6k
      } else {
3666
24.6k
        if (yych <= 's') goto yy287;
3667
22.5k
        if (yych <= 't') goto yy288;
3668
124
        goto yy48;
3669
22.5k
      }
3670
31.3k
    }
3671
38.7k
yy168:
3672
38.7k
    YYDEBUG(168, *YYCURSOR);
3673
38.7k
    yyaccept = 4;
3674
38.7k
    yych = *(YYMARKER = ++YYCURSOR);
3675
38.7k
    if (yych <= 'O') {
3676
4.10k
      if (yych == 'A') goto yy289;
3677
4.00k
      if (yych <= 'N') goto yy48;
3678
568
      goto yy290;
3679
34.6k
    } else {
3680
34.6k
      if (yych <= 'a') {
3681
31.3k
        if (yych <= '`') goto yy48;
3682
31.0k
        goto yy289;
3683
31.3k
      } else {
3684
3.34k
        if (yych == 'o') goto yy290;
3685
1.24k
        goto yy48;
3686
3.34k
      }
3687
34.6k
    }
3688
33.1k
yy169:
3689
33.1k
    YYDEBUG(169, *YYCURSOR);
3690
33.1k
    yyaccept = 4;
3691
33.1k
    yych = *(YYMARKER = ++YYCURSOR);
3692
33.1k
    if (yych == 'N') goto yy291;
3693
29.7k
    if (yych == 'n') goto yy291;
3694
3.68k
    goto yy48;
3695
9.37k
yy170:
3696
9.37k
    YYDEBUG(170, *YYCURSOR);
3697
9.37k
    yyaccept = 4;
3698
9.37k
    yych = *(YYMARKER = ++YYCURSOR);
3699
9.37k
    if (yych <= 'F') {
3700
1.30k
      if (yych == 'C') goto yy292;
3701
990
      if (yych <= 'E') goto yy48;
3702
116
      goto yy293;
3703
8.06k
    } else {
3704
8.06k
      if (yych <= 'c') {
3705
4.03k
        if (yych <= 'b') goto yy48;
3706
3.23k
        goto yy292;
3707
4.03k
      } else {
3708
4.03k
        if (yych == 'f') goto yy293;
3709
1.94k
        goto yy48;
3710
4.03k
      }
3711
8.06k
    }
3712
1.35k
yy171:
3713
1.35k
    YYDEBUG(171, *YYCURSOR);
3714
1.35k
    yyaccept = 4;
3715
1.35k
    yych = *(YYMARKER = ++YYCURSOR);
3716
1.35k
    if (yych == 'E') goto yy294;
3717
1.03k
    if (yych == 'e') goto yy294;
3718
861
    goto yy48;
3719
9.60k
yy172:
3720
9.60k
    YYDEBUG(172, *YYCURSOR);
3721
9.60k
    yyaccept = 9;
3722
9.60k
    yych = *(YYMARKER = ++YYCURSOR);
3723
9.60k
    if (yybm[256+yych] & 128) {
3724
8.67k
      goto yy47;
3725
8.67k
    }
3726
923
    if (yych == '\\') goto yy164;
3727
923
yy173:
3728
923
    YYDEBUG(173, *YYCURSOR);
3729
923
    yyleng = YYCURSOR - SCNG(yy_text);
3730
923
#line 1478 "Zend/zend_language_scanner.l"
3731
923
    {
3732
923
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
923
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
57.5k
yy174:
3736
57.5k
    YYDEBUG(174, *YYCURSOR);
3737
57.5k
    yyaccept = 4;
3738
57.5k
    yych = *(YYMARKER = ++YYCURSOR);
3739
57.5k
    if (yych == 'H') goto yy296;
3740
57.4k
    if (yych == 'h') goto yy296;
3741
3.44k
    goto yy48;
3742
3.44k
yy175:
3743
1.46k
    YYDEBUG(175, *YYCURSOR);
3744
1.46k
    yyaccept = 4;
3745
1.46k
    yych = *(YYMARKER = ++YYCURSOR);
3746
1.46k
    if (yych == 'S') goto yy297;
3747
1.37k
    if (yych == 's') goto yy297;
3748
347
    goto yy48;
3749
3.26k
yy176:
3750
3.26k
    YYDEBUG(176, *YYCURSOR);
3751
3.26k
    yyaccept = 4;
3752
3.26k
    yych = *(YYMARKER = ++YYCURSOR);
3753
3.26k
    if (yych == 'P') goto yy298;
3754
2.34k
    if (yych == 'p') goto yy298;
3755
1.20k
    goto yy48;
3756
33.2k
yy177:
3757
33.2k
    YYDEBUG(177, *YYCURSOR);
3758
33.2k
    yyaccept = 4;
3759
33.2k
    yych = *(YYMARKER = ++YYCURSOR);
3760
33.2k
    if (yych <= 'U') {
3761
13.5k
      if (yych == 'D') goto yy299;
3762
525
      if (yych <= 'T') goto yy48;
3763
348
      goto yy300;
3764
19.6k
    } else {
3765
19.6k
      if (yych <= 'd') {
3766
5.46k
        if (yych <= 'c') goto yy48;
3767
4.04k
        goto yy299;
3768
14.2k
      } else {
3769
14.2k
        if (yych == 'u') goto yy300;
3770
1.96k
        goto yy48;
3771
14.2k
      }
3772
19.6k
    }
3773
2.27k
yy178:
3774
2.27k
    YYDEBUG(178, *YYCURSOR);
3775
2.27k
    yyaccept = 4;
3776
2.27k
    yych = *(YYMARKER = ++YYCURSOR);
3777
2.27k
    if (yych == 'A') goto yy301;
3778
2.26k
    if (yych == 'a') goto yy301;
3779
80
    goto yy48;
3780
25.7k
yy179:
3781
25.7k
    YYDEBUG(179, *YYCURSOR);
3782
25.7k
    yyaccept = 4;
3783
25.7k
    yych = *(YYMARKER = ++YYCURSOR);
3784
25.7k
    if (yych <= 'T') {
3785
4.88k
      if (yych == 'I') goto yy302;
3786
4.80k
      if (yych <= 'S') goto yy48;
3787
353
      goto yy303;
3788
20.8k
    } else {
3789
20.8k
      if (yych <= 'i') {
3790
15.8k
        if (yych <= 'h') goto yy48;
3791
540
        goto yy302;
3792
15.8k
      } else {
3793
5.05k
        if (yych == 't') goto yy303;
3794
263
        goto yy48;
3795
5.05k
      }
3796
20.8k
    }
3797
3.96k
yy180:
3798
3.96k
    YYDEBUG(180, *YYCURSOR);
3799
3.96k
    yyaccept = 4;
3800
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
3801
3.96k
    if (yych == 'N') goto yy304;
3802
3.03k
    if (yych == 'n') goto yy304;
3803
1.52k
    goto yy48;
3804
1.89k
yy181:
3805
1.89k
    YYDEBUG(181, *YYCURSOR);
3806
1.89k
    yyaccept = 10;
3807
1.89k
    yych = *(YYMARKER = ++YYCURSOR);
3808
1.89k
    if (yybm[256+yych] & 128) {
3809
499
      goto yy47;
3810
499
    }
3811
1.39k
    if (yych == '\\') goto yy164;
3812
1.35k
yy182:
3813
1.35k
    YYDEBUG(182, *YYCURSOR);
3814
1.35k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
1.35k
#line 1407 "Zend/zend_language_scanner.l"
3816
1.35k
    {
3817
1.35k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
1.35k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
59.5k
yy183:
3821
59.5k
    YYDEBUG(183, *YYCURSOR);
3822
59.5k
    yyaccept = 4;
3823
59.5k
    yych = *(YYMARKER = ++YYCURSOR);
3824
59.5k
    if (yych == 'R') goto yy305;
3825
58.9k
    if (yych == 'r') goto yy305;
3826
30.0k
    goto yy48;
3827
44.5k
yy184:
3828
44.5k
    YYDEBUG(184, *YYCURSOR);
3829
44.5k
    yyaccept = 4;
3830
44.5k
    yych = *(YYMARKER = ++YYCURSOR);
3831
44.5k
    if (yych == 'N') goto yy307;
3832
44.3k
    if (yych == 'n') goto yy307;
3833
808
    goto yy48;
3834
3.78k
yy185:
3835
3.78k
    YYDEBUG(185, *YYCURSOR);
3836
3.78k
    yyaccept = 4;
3837
3.78k
    yych = *(YYMARKER = ++YYCURSOR);
3838
3.78k
    if (yych == 'O') goto yy308;
3839
1.86k
    if (yych == 'o') goto yy308;
3840
285
    goto yy48;
3841
2.11k
yy186:
3842
2.11k
    YYDEBUG(186, *YYCURSOR);
3843
2.11k
    yyaccept = 4;
3844
2.11k
    yych = *(YYMARKER = ++YYCURSOR);
3845
2.11k
    if (yych == 'T') goto yy309;
3846
1.05k
    if (yych == 't') goto yy309;
3847
158
    goto yy48;
3848
13.1k
yy187:
3849
13.1k
    YYDEBUG(187, *YYCURSOR);
3850
13.1k
    yyaccept = 11;
3851
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
3852
13.1k
    if (yybm[256+yych] & 128) {
3853
770
      goto yy47;
3854
770
    }
3855
12.4k
    if (yych == '\\') goto yy164;
3856
12.4k
yy188:
3857
12.4k
    YYDEBUG(188, *YYCURSOR);
3858
12.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
12.4k
#line 1454 "Zend/zend_language_scanner.l"
3860
12.4k
    {
3861
12.4k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
12.4k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
1.54k
yy189:
3865
1.54k
    YYDEBUG(189, *YYCURSOR);
3866
1.54k
    yyaccept = 4;
3867
1.54k
    yych = *(YYMARKER = ++YYCURSOR);
3868
1.54k
    if (yych == 'P') goto yy310;
3869
1.22k
    if (yych == 'p') goto yy310;
3870
115
    goto yy48;
3871
37.0k
yy190:
3872
37.0k
    YYDEBUG(190, *YYCURSOR);
3873
37.0k
    yyaccept = 4;
3874
37.0k
    yych = *(YYMARKER = ++YYCURSOR);
3875
37.0k
    if (yych <= 'T') {
3876
7.81k
      if (yych <= 'C') {
3877
4.31k
        if (yych <= 'B') goto yy48;
3878
982
        goto yy311;
3879
4.31k
      } else {
3880
3.50k
        if (yych <= 'R') goto yy48;
3881
1.25k
        if (yych <= 'S') goto yy312;
3882
216
        goto yy313;
3883
1.25k
      }
3884
29.2k
    } else {
3885
29.2k
      if (yych <= 'r') {
3886
13.3k
        if (yych == 'c') goto yy311;
3887
9.08k
        goto yy48;
3888
15.8k
      } else {
3889
15.8k
        if (yych <= 's') goto yy312;
3890
9.70k
        if (yych <= 't') goto yy313;
3891
2.80k
        goto yy48;
3892
9.70k
      }
3893
29.2k
    }
3894
18.4k
yy191:
3895
18.4k
    YYDEBUG(191, *YYCURSOR);
3896
18.4k
    yyaccept = 4;
3897
18.4k
    yych = *(YYMARKER = ++YYCURSOR);
3898
18.4k
    if (yych == 'S') goto yy314;
3899
18.1k
    if (yych == 's') goto yy314;
3900
4.80k
    goto yy48;
3901
4.80k
yy192:
3902
2.41k
    YYDEBUG(192, *YYCURSOR);
3903
2.41k
    yyaccept = 4;
3904
2.41k
    yych = *(YYMARKER = ++YYCURSOR);
3905
2.41k
    if (yych == 'S') goto yy315;
3906
2.12k
    if (yych == 's') goto yy315;
3907
1.25k
    goto yy48;
3908
1.91k
yy193:
3909
1.91k
    YYDEBUG(193, *YYCURSOR);
3910
1.91k
    yyaccept = 4;
3911
1.91k
    yych = *(YYMARKER = ++YYCURSOR);
3912
1.91k
    if (yych == 'T') goto yy316;
3913
1.90k
    if (yych == 't') goto yy316;
3914
785
    goto yy48;
3915
11.8k
yy194:
3916
11.8k
    YYDEBUG(194, *YYCURSOR);
3917
11.8k
    yyaccept = 4;
3918
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
3919
11.8k
    if (yych == 'M') goto yy317;
3920
11.0k
    if (yych == 'm') goto yy317;
3921
975
    goto yy48;
3922
50.7k
yy195:
3923
50.7k
    YYDEBUG(195, *YYCURSOR);
3924
50.7k
    yyaccept = 4;
3925
50.7k
    yych = *(YYMARKER = ++YYCURSOR);
3926
50.7k
    if (yych == 'W') goto yy318;
3927
50.6k
    if (yych == 'w') goto yy318;
3928
2.24k
    goto yy48;
3929
4.71k
yy196:
3930
4.71k
    YYDEBUG(196, *YYCURSOR);
3931
4.71k
    yyaccept = 12;
3932
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
3933
4.71k
    if (yybm[256+yych] & 128) {
3934
2.67k
      goto yy47;
3935
2.67k
    }
3936
2.03k
    if (yych == '\\') goto yy164;
3937
1.99k
yy197:
3938
1.99k
    YYDEBUG(197, *YYCURSOR);
3939
1.99k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
1.99k
#line 1930 "Zend/zend_language_scanner.l"
3941
1.99k
    {
3942
1.99k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
1.99k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
23.9k
yy198:
3946
23.9k
    YYDEBUG(198, *YYCURSOR);
3947
23.9k
    yyaccept = 4;
3948
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
3949
23.9k
    if (yych <= 'O') {
3950
3.81k
      if (yych == 'I') goto yy320;
3951
2.35k
      if (yych <= 'N') goto yy48;
3952
1.93k
      goto yy321;
3953
20.1k
    } else {
3954
20.1k
      if (yych <= 'i') {
3955
16.2k
        if (yych <= 'h') goto yy48;
3956
14.2k
        goto yy320;
3957
16.2k
      } else {
3958
3.86k
        if (yych == 'o') goto yy321;
3959
702
        goto yy48;
3960
3.86k
      }
3961
20.1k
    }
3962
31.2k
yy199:
3963
31.2k
    YYDEBUG(199, *YYCURSOR);
3964
31.2k
    yyaccept = 4;
3965
31.2k
    yych = *(YYMARKER = ++YYCURSOR);
3966
31.2k
    if (yych == 'B') goto yy322;
3967
30.0k
    if (yych == 'b') goto yy322;
3968
566
    goto yy48;
3969
34.8k
yy200:
3970
34.8k
    YYDEBUG(200, *YYCURSOR);
3971
34.8k
    yyaccept = 4;
3972
34.8k
    yych = *(YYMARKER = ++YYCURSOR);
3973
34.8k
    if (yych <= 'T') {
3974
5.06k
      if (yych <= 'P') {
3975
4.84k
        if (yych == 'A') goto yy323;
3976
4.80k
        goto yy48;
3977
4.84k
      } else {
3978
223
        if (yych <= 'Q') goto yy324;
3979
99
        if (yych <= 'S') goto yy48;
3980
89
        goto yy325;
3981
99
      }
3982
29.7k
    } else {
3983
29.7k
      if (yych <= 'p') {
3984
8.72k
        if (yych == 'a') goto yy323;
3985
5.58k
        goto yy48;
3986
21.0k
      } else {
3987
21.0k
        if (yych <= 'q') goto yy324;
3988
16.0k
        if (yych == 't') goto yy325;
3989
4.45k
        goto yy48;
3990
16.0k
      }
3991
29.7k
    }
3992
23.8k
yy201:
3993
23.8k
    YYDEBUG(201, *YYCURSOR);
3994
23.8k
    yyaccept = 4;
3995
23.8k
    yych = *(YYMARKER = ++YYCURSOR);
3996
23.8k
    if (yych == 'A') goto yy326;
3997
23.1k
    if (yych == 'a') goto yy326;
3998
15.4k
    goto yy48;
3999
15.4k
yy202:
4000
582
    YYDEBUG(202, *YYCURSOR);
4001
582
    yyaccept = 4;
4002
582
    yych = *(YYMARKER = ++YYCURSOR);
4003
582
    if (yych == 'I') goto yy327;
4004
474
    if (yych == 'i') goto yy327;
4005
61
    goto yy48;
4006
8.53k
yy203:
4007
8.53k
    YYDEBUG(203, *YYCURSOR);
4008
8.53k
    yyaccept = 4;
4009
8.53k
    yych = *(YYMARKER = ++YYCURSOR);
4010
8.53k
    if (yych == 'R') goto yy328;
4011
8.43k
    if (yych == 'r') goto yy328;
4012
1.88k
    goto yy48;
4013
37.1k
yy204:
4014
37.1k
    YYDEBUG(204, *YYCURSOR);
4015
37.1k
    yyaccept = 4;
4016
37.1k
    yych = *(YYMARKER = ++YYCURSOR);
4017
37.1k
    if (yych <= 'Y') {
4018
1.71k
      if (yych == 'A') goto yy329;
4019
1.18k
      if (yych <= 'X') goto yy48;
4020
71
      goto yy330;
4021
35.4k
    } else {
4022
35.4k
      if (yych <= 'a') {
4023
7.26k
        if (yych <= '`') goto yy48;
4024
7.25k
        goto yy329;
4025
28.1k
      } else {
4026
28.1k
        if (yych == 'y') goto yy330;
4027
5.79k
        goto yy48;
4028
28.1k
      }
4029
35.4k
    }
4030
9.08k
yy205:
4031
9.08k
    YYDEBUG(205, *YYCURSOR);
4032
9.08k
    yyaccept = 4;
4033
9.08k
    yych = *(YYMARKER = ++YYCURSOR);
4034
9.08k
    if (yych == 'S') goto yy332;
4035
8.73k
    if (yych == 's') goto yy332;
4036
1.45k
    goto yy48;
4037
6.63k
yy206:
4038
6.63k
    YYDEBUG(206, *YYCURSOR);
4039
6.63k
    yyaccept = 4;
4040
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
4041
6.63k
    if (yych == 'E') goto yy333;
4042
6.45k
    if (yych == 'e') goto yy333;
4043
506
    goto yy48;
4044
64.6k
yy207:
4045
64.6k
    YYDEBUG(207, *YYCURSOR);
4046
64.6k
    yyaccept = 4;
4047
64.6k
    yych = *(YYMARKER = ++YYCURSOR);
4048
64.6k
    if (yych == 'R') goto yy335;
4049
64.5k
    if (yych == 'r') goto yy335;
4050
3.39k
    goto yy48;
4051
3.39k
yy208:
4052
2.22k
    YYDEBUG(208, *YYCURSOR);
4053
2.22k
    yyaccept = 4;
4054
2.22k
    yych = *(YYMARKER = ++YYCURSOR);
4055
2.22k
    if (yych == 'I') goto yy337;
4056
1.66k
    if (yych == 'i') goto yy337;
4057
553
    goto yy48;
4058
1.26k
yy209:
4059
1.26k
    YYDEBUG(209, *YYCURSOR);
4060
1.26k
    yyaccept = 4;
4061
1.26k
    yych = *(YYMARKER = ++YYCURSOR);
4062
1.26k
    if (yych == 'R') goto yy338;
4063
1.19k
    if (yych == 'r') goto yy338;
4064
166
    goto yy48;
4065
6.63k
yy210:
4066
6.63k
    YYDEBUG(210, *YYCURSOR);
4067
6.63k
    yyaccept = 4;
4068
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
4069
6.63k
    if (yych == 'E') goto yy340;
4070
6.42k
    if (yych == 'e') goto yy340;
4071
523
    goto yy48;
4072
152k
yy211:
4073
152k
    YYDEBUG(211, *YYCURSOR);
4074
152k
    yyaccept = 13;
4075
152k
    YYMARKER = ++YYCURSOR;
4076
152k
    YYFILL(1);
4077
152k
    yych = *YYCURSOR;
4078
152k
    YYDEBUG(212, *YYCURSOR);
4079
152k
    if (yych <= '\\') {
4080
66.5k
      if (yych <= '@') {
4081
30.4k
        if (yych <= '/') goto yy213;
4082
14.9k
        if (yych <= '9') goto yy211;
4083
36.1k
      } else {
4084
36.1k
        if (yych <= 'Z') goto yy211;
4085
10.9k
        if (yych >= '\\') goto yy341;
4086
10.9k
      }
4087
85.8k
    } else {
4088
85.8k
      if (yych <= '`') {
4089
2.13k
        if (yych == '_') goto yy211;
4090
83.6k
      } else {
4091
83.6k
        if (yych <= 'z') goto yy211;
4092
24.3k
        if (yych >= 0x80) goto yy211;
4093
24.3k
      }
4094
85.8k
    }
4095
31.8k
yy213:
4096
31.8k
    YYDEBUG(213, *YYCURSOR);
4097
31.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
31.8k
#line 2447 "Zend/zend_language_scanner.l"
4099
31.8k
    {
4100
31.8k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
31.8k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
660
yy214:
4104
660
    YYDEBUG(214, *YYCURSOR);
4105
660
    ++YYCURSOR;
4106
660
    YYDEBUG(215, *YYCURSOR);
4107
660
    yyleng = YYCURSOR - SCNG(yy_text);
4108
660
#line 1910 "Zend/zend_language_scanner.l"
4109
660
    {
4110
660
  RETURN_TOKEN(T_XOR_EQUAL);
4111
660
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
31.1k
yy216:
4114
31.1k
    YYDEBUG(216, *YYCURSOR);
4115
31.1k
    yyaccept = 4;
4116
31.1k
    yych = *(YYMARKER = ++YYCURSOR);
4117
31.1k
    switch (yych) {
4118
1.41k
    case 'C':
4119
5.38k
    case 'c': goto yy342;
4120
1.18k
    case 'D':
4121
4.00k
    case 'd': goto yy343;
4122
7.47k
    case 'F':
4123
7.49k
    case 'f': goto yy344;
4124
196
    case 'H':
4125
237
    case 'h': goto yy345;
4126
672
    case 'L':
4127
685
    case 'l': goto yy346;
4128
5.19k
    case 'M':
4129
5.20k
    case 'm': goto yy347;
4130
2.46k
    case 'N':
4131
2.54k
    case 'n': goto yy348;
4132
740
    case 'P':
4133
742
    case 'p': goto yy349;
4134
1.11k
    case 'T':
4135
1.43k
    case 't': goto yy350;
4136
3.38k
    default:  goto yy48;
4137
31.1k
    }
4138
534
yy217:
4139
534
    YYDEBUG(217, *YYCURSOR);
4140
534
    ++YYCURSOR;
4141
534
    YYDEBUG(218, *YYCURSOR);
4142
534
    yyleng = YYCURSOR - SCNG(yy_text);
4143
534
#line 1906 "Zend/zend_language_scanner.l"
4144
534
    {
4145
534
  RETURN_TOKEN(T_OR_EQUAL);
4146
534
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
2.07k
yy219:
4149
2.07k
    YYDEBUG(219, *YYCURSOR);
4150
2.07k
    ++YYCURSOR;
4151
2.07k
    YYDEBUG(220, *YYCURSOR);
4152
2.07k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
2.07k
#line 1918 "Zend/zend_language_scanner.l"
4154
2.07k
    {
4155
2.07k
  RETURN_TOKEN(T_PIPE);
4156
2.07k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
2.21k
yy221:
4159
2.21k
    YYDEBUG(221, *YYCURSOR);
4160
2.21k
    ++YYCURSOR;
4161
2.21k
    YYDEBUG(222, *YYCURSOR);
4162
2.21k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
2.21k
#line 1922 "Zend/zend_language_scanner.l"
4164
2.21k
    {
4165
2.21k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
2.21k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
534
yy223:
4169
534
    YYDEBUG(223, *YYCURSOR);
4170
534
    ++YYCURSOR;
4171
534
    YYDEBUG(224, *YYCURSOR);
4172
534
    yyleng = YYCURSOR - SCNG(yy_text);
4173
534
#line 1838 "Zend/zend_language_scanner.l"
4174
534
    {
4175
534
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
534
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
25.2k
yy225:
4179
25.2k
    YYDEBUG(225, *YYCURSOR);
4180
25.2k
    ++YYCURSOR;
4181
25.2k
    YYFILL(1);
4182
25.2k
    yych = *YYCURSOR;
4183
25.2k
    YYDEBUG(226, *YYCURSOR);
4184
25.2k
    if (yybm[0+yych] & 2) {
4185
20.6k
      goto yy225;
4186
20.6k
    }
4187
4.56k
    if (yych <= 0x00) goto yy86;
4188
4.47k
    goto yy84;
4189
7.27k
yy227:
4190
7.27k
    YYDEBUG(227, *YYCURSOR);
4191
7.27k
    ++YYCURSOR;
4192
7.27k
    YYFILL(1);
4193
7.27k
    yych = *YYCURSOR;
4194
7.27k
    YYDEBUG(228, *YYCURSOR);
4195
7.27k
    if (yych <= 0x1F) {
4196
1.40k
      if (yych <= '\t') {
4197
20
        if (yych <= 0x00) goto yy86;
4198
4
        if (yych <= 0x08) goto yy225;
4199
2
        goto yy227;
4200
1.38k
      } else {
4201
1.38k
        if (yych <= '\n') goto yy84;
4202
1.37k
        if (yych == '\r') goto yy84;
4203
28
        goto yy225;
4204
1.37k
      }
4205
5.87k
    } else {
4206
5.87k
      if (yych <= '$') {
4207
1.04k
        if (yych <= ' ') goto yy227;
4208
983
        if (yych <= '"') goto yy225;
4209
983
        if (yych <= '#') goto yy351;
4210
105
        goto yy352;
4211
4.83k
      } else {
4212
4.83k
        if (yych <= '-') goto yy225;
4213
4.77k
        if (yych <= '.') goto yy353;
4214
4.77k
        if (yych <= '/') goto yy354;
4215
1.53k
        goto yy225;
4216
4.77k
      }
4217
5.87k
    }
4218
781
yy229:
4219
781
    YYDEBUG(229, *YYCURSOR);
4220
781
    yych = *++YYCURSOR;
4221
781
    if (yych == '.') goto yy88;
4222
463
    goto yy86;
4223
41.4k
yy230:
4224
41.4k
    YYDEBUG(230, *YYCURSOR);
4225
41.4k
    ++YYCURSOR;
4226
41.4k
    YYFILL(1);
4227
41.4k
    yych = *YYCURSOR;
4228
41.4k
    YYDEBUG(231, *YYCURSOR);
4229
41.4k
    if (yybm[0+yych] & 4) {
4230
38.7k
      goto yy230;
4231
38.7k
    }
4232
2.68k
    if (yych <= 0x00) goto yy86;
4233
2.60k
    goto yy355;
4234
2.60k
yy232:
4235
1.71k
    YYDEBUG(232, *YYCURSOR);
4236
1.71k
    yych = *++YYCURSOR;
4237
1.71k
    if (yych == 'R') goto yy357;
4238
1.70k
    if (yych == 'r') goto yy357;
4239
92
    goto yy86;
4240
394
yy233:
4241
394
    YYDEBUG(233, *YYCURSOR);
4242
394
    yych = *++YYCURSOR;
4243
394
    if (yych == 'N') goto yy358;
4244
392
    if (yych == 'n') goto yy358;
4245
172
    goto yy86;
4246
358
yy234:
4247
358
    YYDEBUG(234, *YYCURSOR);
4248
358
    yych = *++YYCURSOR;
4249
358
    if (yych == 'O') goto yy359;
4250
344
    if (yych == 'o') goto yy359;
4251
198
    goto yy86;
4252
321
yy235:
4253
321
    YYDEBUG(235, *YYCURSOR);
4254
321
    yych = *++YYCURSOR;
4255
321
    if (yych == 'U') goto yy360;
4256
321
    if (yych == 'u') goto yy360;
4257
73
    goto yy86;
4258
525
yy236:
4259
525
    YYDEBUG(236, *YYCURSOR);
4260
525
    yych = *++YYCURSOR;
4261
525
    if (yych == 'O') goto yy361;
4262
523
    if (yych == 'o') goto yy361;
4263
8
    goto yy86;
4264
2.84k
yy237:
4265
2.84k
    YYDEBUG(237, *YYCURSOR);
4266
2.84k
    yych = *++YYCURSOR;
4267
2.84k
    if (yych == 'T') goto yy362;
4268
2.79k
    if (yych == 't') goto yy362;
4269
726
    goto yy86;
4270
1.83k
yy238:
4271
1.83k
    YYDEBUG(238, *YYCURSOR);
4272
1.83k
    yych = *++YYCURSOR;
4273
1.83k
    if (yych == 'J') goto yy363;
4274
1.83k
    if (yych == 'j') goto yy363;
4275
116
    goto yy86;
4276
2.24k
yy239:
4277
2.24k
    YYDEBUG(239, *YYCURSOR);
4278
2.24k
    yych = *++YYCURSOR;
4279
2.24k
    if (yych == 'A') goto yy364;
4280
2.24k
    if (yych == 'a') goto yy364;
4281
2.19k
    goto yy86;
4282
4.62k
yy240:
4283
4.62k
    YYDEBUG(240, *YYCURSOR);
4284
4.62k
    yych = *++YYCURSOR;
4285
4.62k
    if (yych == 'R') goto yy365;
4286
4.52k
    if (yych == 'r') goto yy365;
4287
255
    goto yy86;
4288
926
yy241:
4289
926
    YYDEBUG(241, *YYCURSOR);
4290
926
    yych = *++YYCURSOR;
4291
926
    if (yych == 'S') goto yy366;
4292
914
    if (yych == 's') goto yy366;
4293
469
    goto yy86;
4294
469
yy242:
4295
131
    YYDEBUG(242, *YYCURSOR);
4296
131
    yych = *++YYCURSOR;
4297
131
    if (yych == 'I') goto yy367;
4298
131
    if (yych == 'i') goto yy367;
4299
68
    goto yy86;
4300
68
yy243:
4301
30
    YYDEBUG(243, *YYCURSOR);
4302
30
    ++YYCURSOR;
4303
30
    YYDEBUG(244, *YYCURSOR);
4304
30
    yyleng = YYCURSOR - SCNG(yy_text);
4305
30
#line 1878 "Zend/zend_language_scanner.l"
4306
30
    {
4307
30
  RETURN_TOKEN(T_POW_EQUAL);
4308
30
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
26.1k
yy245:
4311
26.1k
    YYDEBUG(245, *YYCURSOR);
4312
26.1k
    ++YYCURSOR;
4313
26.1k
    YYDEBUG(246, *YYCURSOR);
4314
26.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
26.1k
#line 1618 "Zend/zend_language_scanner.l"
4316
26.1k
    {
4317
26.1k
  RETURN_TOKEN(T_ELLIPSIS);
4318
26.1k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
73
yy247:
4321
73
    YYDEBUG(247, *YYCURSOR);
4322
73
    ++YYCURSOR;
4323
73
    YYFILL(1);
4324
73
    yych = *YYCURSOR;
4325
73
    if (yych <= '/') goto yy86;
4326
65
    if (yych <= '9') goto yy123;
4327
13
    goto yy86;
4328
3.59k
yy248:
4329
3.59k
    YYDEBUG(248, *YYCURSOR);
4330
3.59k
    yych = *++YYCURSOR;
4331
3.59k
    if (yych <= '\f') {
4332
2.87k
      if (yych <= 0x08) goto yy86;
4333
2.84k
      if (yych <= '\n') goto yy368;
4334
14
      goto yy86;
4335
2.84k
    } else {
4336
715
      if (yych <= '\r') goto yy368;
4337
715
      if (yych == ' ') goto yy368;
4338
417
      goto yy86;
4339
715
    }
4340
20.8k
yy249:
4341
20.8k
    YYDEBUG(249, *YYCURSOR);
4342
20.8k
    yyaccept = 14;
4343
20.8k
    YYMARKER = ++YYCURSOR;
4344
20.8k
    YYFILL(1);
4345
20.8k
    yych = *YYCURSOR;
4346
20.8k
    YYDEBUG(250, *YYCURSOR);
4347
20.8k
    if (yybm[0+yych] & 8) {
4348
19.9k
      goto yy249;
4349
19.9k
    }
4350
818
    if (yych == '_') goto yy134;
4351
802
yy251:
4352
802
    YYDEBUG(251, *YYCURSOR);
4353
802
    yyleng = YYCURSOR - SCNG(yy_text);
4354
802
#line 2011 "Zend/zend_language_scanner.l"
4355
802
    {
4356
  /* The +/- 2 skips "0b" */
4357
802
  size_t len = yyleng - 2;
4358
802
  char *end, *bin = yytext + 2;
4359
802
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
828
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
26
    ++bin;
4364
26
    --len;
4365
26
  }
4366
4367
802
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
802
  if (contains_underscores) {
4370
10
    bin = estrndup(bin, len);
4371
10
    strip_underscores(bin, &len);
4372
10
  }
4373
4374
802
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
768
    if (len == 0) {
4376
4
      ZVAL_LONG(zendlval, 0);
4377
764
    } else {
4378
764
      errno = 0;
4379
764
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
764
      ZEND_ASSERT(!errno && end == bin + len);
4381
764
    }
4382
768
    if (contains_underscores) {
4383
10
      efree(bin);
4384
10
    }
4385
768
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
768
  } else {
4387
34
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
34
    ZEND_ASSERT(end == bin + len);
4390
34
    if (contains_underscores) {
4391
0
      efree(bin);
4392
0
    }
4393
34
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
34
  }
4395
802
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
933
yy252:
4398
933
    YYDEBUG(252, *YYCURSOR);
4399
933
    ++YYCURSOR;
4400
933
    YYFILL(1);
4401
933
    yych = *YYCURSOR;
4402
933
    if (yych <= '/') goto yy86;
4403
931
    if (yych >= ':') goto yy86;
4404
54.2k
yy253:
4405
54.2k
    YYDEBUG(253, *YYCURSOR);
4406
54.2k
    yyaccept = 5;
4407
54.2k
    YYMARKER = ++YYCURSOR;
4408
54.2k
    YYFILL(1);
4409
54.2k
    yych = *YYCURSOR;
4410
54.2k
    YYDEBUG(254, *YYCURSOR);
4411
54.2k
    if (yych <= '/') goto yy125;
4412
51.0k
    if (yych <= '9') goto yy253;
4413
5.32k
    if (yych == '_') goto yy252;
4414
5.32k
    goto yy125;
4415
5.32k
yy255:
4416
1.82k
    YYDEBUG(255, *YYCURSOR);
4417
1.82k
    yyaccept = 15;
4418
1.82k
    YYMARKER = ++YYCURSOR;
4419
1.82k
    YYFILL(1);
4420
1.82k
    yych = *YYCURSOR;
4421
1.82k
    YYDEBUG(256, *YYCURSOR);
4422
1.82k
    if (yybm[0+yych] & 16) {
4423
1.74k
      goto yy255;
4424
1.74k
    }
4425
81
    if (yych == '_') goto yy136;
4426
81
yy257:
4427
81
    YYDEBUG(257, *YYCURSOR);
4428
81
    yyleng = YYCURSOR - SCNG(yy_text);
4429
81
#line 2053 "Zend/zend_language_scanner.l"
4430
81
    {
4431
  /* The +/- 2 skips "0o" */
4432
81
  size_t len = yyleng - 2;
4433
81
  char *end, *octal = yytext + 2;
4434
81
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
163
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
82
    ++octal;
4439
82
    --len;
4440
82
  }
4441
4442
81
  if (len == 0) {
4443
4
    ZVAL_LONG(zendlval, 0);
4444
4
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
4
  }
4446
4447
77
  if (contains_underscores) {
4448
0
    octal = estrndup(octal, len);
4449
0
    strip_underscores(octal, &len);
4450
0
  }
4451
4452
77
  errno = 0;
4453
4454
77
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
77
  ZEND_ASSERT(end == octal + len);
4457
4458
77
  if (!errno) {
4459
25
    if (contains_underscores) {
4460
0
      efree(octal);
4461
0
    }
4462
25
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
25
  }
4464
4465
  /* Overflow */
4466
52
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
52
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
52
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
52
  ZEND_ASSERT(!errno);
4473
52
  ZEND_ASSERT(end == octal + len);
4474
52
  if (contains_underscores) {
4475
0
    efree(octal);
4476
0
  }
4477
52
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
52
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
10.6k
yy258:
4481
10.6k
    YYDEBUG(258, *YYCURSOR);
4482
10.6k
    yyaccept = 16;
4483
10.6k
    YYMARKER = ++YYCURSOR;
4484
10.6k
    YYFILL(1);
4485
10.6k
    yych = *YYCURSOR;
4486
10.6k
    YYDEBUG(259, *YYCURSOR);
4487
10.6k
    if (yybm[0+yych] & 32) {
4488
9.10k
      goto yy258;
4489
9.10k
    }
4490
1.55k
    if (yych == '_') goto yy137;
4491
1.52k
yy260:
4492
1.52k
    YYDEBUG(260, *YYCURSOR);
4493
1.52k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
1.52k
#line 2166 "Zend/zend_language_scanner.l"
4495
1.52k
    {
4496
  /* The +/- 2 skips "0x" */
4497
1.52k
  size_t len = yyleng - 2;
4498
1.52k
  char *end, *hex = yytext + 2;
4499
1.52k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
1.83k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
308
    ++hex;
4504
308
    --len;
4505
308
  }
4506
4507
1.52k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
1.52k
  if (contains_underscores) {
4510
22
    hex = estrndup(hex, len);
4511
22
    strip_underscores(hex, &len);
4512
22
  }
4513
4514
1.52k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
1.21k
    if (len == 0) {
4516
114
      ZVAL_LONG(zendlval, 0);
4517
1.09k
    } else {
4518
1.09k
      errno = 0;
4519
1.09k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
1.09k
      ZEND_ASSERT(!errno && end == hex + len);
4521
1.09k
    }
4522
1.21k
    if (contains_underscores) {
4523
22
      efree(hex);
4524
22
    }
4525
1.21k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
1.21k
  } else {
4527
309
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
309
    ZEND_ASSERT(end == hex + len);
4530
309
    if (contains_underscores) {
4531
0
      efree(hex);
4532
0
    }
4533
309
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
309
  }
4535
1.52k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
195k
yy261:
4538
195k
    YYDEBUG(261, *YYCURSOR);
4539
195k
    ++YYCURSOR;
4540
195k
    YYFILL(2);
4541
195k
    yych = *YYCURSOR;
4542
195k
    YYDEBUG(262, *YYCURSOR);
4543
195k
    if (yych <= '\'') {
4544
33.7k
      if (yych <= ' ') {
4545
29.4k
        if (yych == '\t') goto yy261;
4546
17.1k
        if (yych <= 0x1F) goto yy86;
4547
16.1k
        goto yy261;
4548
17.1k
      } else {
4549
4.29k
        if (yych == '"') goto yy370;
4550
3.18k
        if (yych <= '&') goto yy86;
4551
2.89k
        goto yy371;
4552
3.18k
      }
4553
161k
    } else {
4554
161k
      if (yych <= '_') {
4555
50.9k
        if (yych <= '@') goto yy86;
4556
38.4k
        if (yych <= 'Z') goto yy372;
4557
90
        if (yych <= '^') goto yy86;
4558
20
        goto yy372;
4559
110k
      } else {
4560
110k
        if (yych <= '`') goto yy86;
4561
110k
        if (yych <= 'z') goto yy372;
4562
25.5k
        if (yych <= 0x7F) goto yy86;
4563
25.3k
        goto yy372;
4564
25.5k
      }
4565
161k
    }
4566
325
yy263:
4567
325
    YYDEBUG(263, *YYCURSOR);
4568
325
    ++YYCURSOR;
4569
325
    YYDEBUG(264, *YYCURSOR);
4570
325
    yyleng = YYCURSOR - SCNG(yy_text);
4571
325
#line 1894 "Zend/zend_language_scanner.l"
4572
325
    {
4573
325
  RETURN_TOKEN(T_SL_EQUAL);
4574
325
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
214
yy265:
4577
214
    YYDEBUG(265, *YYCURSOR);
4578
214
    ++YYCURSOR;
4579
214
    YYDEBUG(266, *YYCURSOR);
4580
214
    yyleng = YYCURSOR - SCNG(yy_text);
4581
214
#line 1850 "Zend/zend_language_scanner.l"
4582
214
    {
4583
214
  RETURN_TOKEN(T_SPACESHIP);
4584
214
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
5.71k
yy267:
4587
5.71k
    YYDEBUG(267, *YYCURSOR);
4588
5.71k
    ++YYCURSOR;
4589
5.71k
    YYDEBUG(268, *YYCURSOR);
4590
5.71k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
5.71k
#line 1834 "Zend/zend_language_scanner.l"
4592
5.71k
    {
4593
5.71k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
5.71k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
177
yy269:
4597
177
    YYDEBUG(269, *YYCURSOR);
4598
177
    ++YYCURSOR;
4599
177
    YYDEBUG(270, *YYCURSOR);
4600
177
    yyleng = YYCURSOR - SCNG(yy_text);
4601
177
#line 1898 "Zend/zend_language_scanner.l"
4602
177
    {
4603
177
  RETURN_TOKEN(T_SR_EQUAL);
4604
177
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
24.8k
yy271:
4607
24.8k
    YYDEBUG(271, *YYCURSOR);
4608
24.8k
    ++YYCURSOR;
4609
24.8k
    YYDEBUG(272, *YYCURSOR);
4610
24.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
24.8k
#line 1592 "Zend/zend_language_scanner.l"
4612
24.8k
    {
4613
24.8k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
24.8k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
24.8k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
3.41k
yy273:
4618
3.41k
    YYDEBUG(273, *YYCURSOR);
4619
3.41k
    ++YYCURSOR;
4620
3.41k
    goto yy156;
4621
98
yy274:
4622
98
    YYDEBUG(274, *YYCURSOR);
4623
98
    yych = *++YYCURSOR;
4624
98
    if (yych == '\n') goto yy273;
4625
98
    goto yy156;
4626
602
yy275:
4627
602
    YYDEBUG(275, *YYCURSOR);
4628
602
    ++YYCURSOR;
4629
602
    YYDEBUG(276, *YYCURSOR);
4630
602
    yyleng = YYCURSOR - SCNG(yy_text);
4631
602
#line 1914 "Zend/zend_language_scanner.l"
4632
602
    {
4633
602
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
602
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
2.92k
yy277:
4637
2.92k
    YYDEBUG(277, *YYCURSOR);
4638
2.92k
    yyaccept = 4;
4639
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
4640
2.92k
    if (yych == 'T') goto yy374;
4641
975
    if (yych == 't') goto yy374;
4642
35
    goto yy48;
4643
1.32k
yy278:
4644
1.32k
    YYDEBUG(278, *YYCURSOR);
4645
1.32k
    yyaccept = 17;
4646
1.32k
    yych = *(YYMARKER = ++YYCURSOR);
4647
1.32k
    if (yybm[256+yych] & 128) {
4648
53
      goto yy47;
4649
53
    }
4650
1.27k
    if (yych == '\\') goto yy164;
4651
1.27k
yy279:
4652
1.27k
    YYDEBUG(279, *YYCURSOR);
4653
1.27k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
1.27k
#line 1934 "Zend/zend_language_scanner.l"
4655
1.27k
    {
4656
1.27k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
1.27k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
10.7k
yy280:
4660
10.7k
    YYDEBUG(280, *YYCURSOR);
4661
10.7k
    yyaccept = 4;
4662
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
4663
10.7k
    if (yych == 'A') goto yy375;
4664
10.6k
    if (yych == 'a') goto yy375;
4665
170
    goto yy48;
4666
59.0k
yy281:
4667
59.0k
    YYDEBUG(281, *YYCURSOR);
4668
59.0k
    yyaccept = 18;
4669
59.0k
    YYMARKER = ++YYCURSOR;
4670
59.0k
    YYFILL(1);
4671
59.0k
    yych = *YYCURSOR;
4672
59.0k
    YYDEBUG(282, *YYCURSOR);
4673
59.0k
    if (yych <= '\\') {
4674
30.5k
      if (yych <= '@') {
4675
21.7k
        if (yych <= '/') goto yy283;
4676
14.0k
        if (yych <= '9') goto yy281;
4677
14.0k
      } else {
4678
8.78k
        if (yych <= 'Z') goto yy281;
4679
3.21k
        if (yych >= '\\') goto yy164;
4680
3.21k
      }
4681
30.5k
    } else {
4682
28.5k
      if (yych <= '`') {
4683
207
        if (yych == '_') goto yy281;
4684
28.3k
      } else {
4685
28.3k
        if (yych <= 'z') goto yy281;
4686
18.1k
        if (yych >= 0x80) goto yy281;
4687
18.1k
      }
4688
28.5k
    }
4689
10.8k
yy283:
4690
10.8k
    YYDEBUG(283, *YYCURSOR);
4691
10.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
10.8k
#line 2443 "Zend/zend_language_scanner.l"
4693
10.8k
    {
4694
10.8k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
10.8k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
8
yy284:
4698
8
    YYDEBUG(284, *YYCURSOR);
4699
8
    yych = *++YYCURSOR;
4700
8
    if (yych == '<') goto yy261;
4701
1
    goto yy86;
4702
681
yy285:
4703
681
    YYDEBUG(285, *YYCURSOR);
4704
681
    yyaccept = 4;
4705
681
    yych = *(YYMARKER = ++YYCURSOR);
4706
681
    if (yych == 'A') goto yy376;
4707
641
    if (yych == 'a') goto yy376;
4708
18
    goto yy48;
4709
5.92k
yy286:
4710
5.92k
    YYDEBUG(286, *YYCURSOR);
4711
5.92k
    yyaccept = 4;
4712
5.92k
    yych = *(YYMARKER = ++YYCURSOR);
4713
5.92k
    if (yych == 'L') goto yy377;
4714
5.26k
    if (yych == 'l') goto yy377;
4715
571
    goto yy48;
4716
2.33k
yy287:
4717
2.33k
    YYDEBUG(287, *YYCURSOR);
4718
2.33k
    yyaccept = 4;
4719
2.33k
    yych = *(YYMARKER = ++YYCURSOR);
4720
2.33k
    if (yych == 'E') goto yy378;
4721
2.14k
    if (yych == 'e') goto yy378;
4722
186
    goto yy48;
4723
22.7k
yy288:
4724
22.7k
    YYDEBUG(288, *YYCURSOR);
4725
22.7k
    yyaccept = 4;
4726
22.7k
    yych = *(YYMARKER = ++YYCURSOR);
4727
22.7k
    if (yych == 'C') goto yy380;
4728
22.4k
    if (yych == 'c') goto yy380;
4729
576
    goto yy48;
4730
31.1k
yy289:
4731
31.1k
    YYDEBUG(289, *YYCURSOR);
4732
31.1k
    yyaccept = 4;
4733
31.1k
    yych = *(YYMARKER = ++YYCURSOR);
4734
31.1k
    if (yych == 'S') goto yy381;
4735
31.0k
    if (yych == 's') goto yy381;
4736
620
    goto yy48;
4737
2.66k
yy290:
4738
2.66k
    YYDEBUG(290, *YYCURSOR);
4739
2.66k
    yyaccept = 4;
4740
2.66k
    yych = *(YYMARKER = ++YYCURSOR);
4741
2.66k
    if (yych == 'N') goto yy382;
4742
2.10k
    if (yych == 'n') goto yy382;
4743
1.14k
    goto yy48;
4744
29.5k
yy291:
4745
29.5k
    YYDEBUG(291, *YYCURSOR);
4746
29.5k
    yyaccept = 4;
4747
29.5k
    yych = *(YYMARKER = ++YYCURSOR);
4748
29.5k
    if (yych <= 'T') {
4749
3.78k
      if (yych <= 'R') goto yy48;
4750
3.45k
      if (yych <= 'S') goto yy383;
4751
1.13k
      goto yy384;
4752
25.7k
    } else {
4753
25.7k
      if (yych <= 'r') goto yy48;
4754
25.5k
      if (yych <= 's') goto yy383;
4755
1.71k
      if (yych <= 't') goto yy384;
4756
19
      goto yy48;
4757
1.71k
    }
4758
3.55k
yy292:
4759
3.55k
    YYDEBUG(292, *YYCURSOR);
4760
3.55k
    yyaccept = 4;
4761
3.55k
    yych = *(YYMARKER = ++YYCURSOR);
4762
3.55k
    if (yych == 'L') goto yy385;
4763
3.36k
    if (yych == 'l') goto yy385;
4764
183
    goto yy48;
4765
2.21k
yy293:
4766
2.21k
    YYDEBUG(293, *YYCURSOR);
4767
2.21k
    yyaccept = 4;
4768
2.21k
    yych = *(YYMARKER = ++YYCURSOR);
4769
2.21k
    if (yych == 'A') goto yy386;
4770
2.17k
    if (yych == 'a') goto yy386;
4771
1.49k
    goto yy48;
4772
1.49k
yy294:
4773
497
    YYDEBUG(294, *YYCURSOR);
4774
497
    yyaccept = 19;
4775
497
    yych = *(YYMARKER = ++YYCURSOR);
4776
497
    if (yybm[256+yych] & 128) {
4777
2
      goto yy47;
4778
2
    }
4779
495
    if (yych == '\\') goto yy164;
4780
495
yy295:
4781
495
    YYDEBUG(295, *YYCURSOR);
4782
495
    yyleng = YYCURSOR - SCNG(yy_text);
4783
495
#line 1403 "Zend/zend_language_scanner.l"
4784
495
    {
4785
495
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
495
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
54.1k
yy296:
4789
54.1k
    YYDEBUG(296, *YYCURSOR);
4790
54.1k
    yyaccept = 4;
4791
54.1k
    yych = *(YYMARKER = ++YYCURSOR);
4792
54.1k
    if (yych == 'O') goto yy387;
4793
54.0k
    if (yych == 'o') goto yy387;
4794
3.10k
    goto yy48;
4795
3.10k
yy297:
4796
1.12k
    YYDEBUG(297, *YYCURSOR);
4797
1.12k
    yyaccept = 4;
4798
1.12k
    yych = *(YYMARKER = ++YYCURSOR);
4799
1.12k
    if (yych == 'E') goto yy389;
4800
1.05k
    if (yych == 'e') goto yy389;
4801
28
    goto yy48;
4802
2.06k
yy298:
4803
2.06k
    YYDEBUG(298, *YYCURSOR);
4804
2.06k
    yyaccept = 4;
4805
2.06k
    yych = *(YYMARKER = ++YYCURSOR);
4806
2.06k
    if (yych == 'T') goto yy391;
4807
1.31k
    if (yych == 't') goto yy391;
4808
179
    goto yy48;
4809
17.0k
yy299:
4810
17.0k
    YYDEBUG(299, *YYCURSOR);
4811
17.0k
    yyaccept = 4;
4812
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
4813
17.0k
    switch (yych) {
4814
1.46k
    case 'D':
4815
1.57k
    case 'd': goto yy392;
4816
1.82k
    case 'F':
4817
1.98k
    case 'f': goto yy393;
4818
2.86k
    case 'I':
4819
3.12k
    case 'i': goto yy394;
4820
124
    case 'S':
4821
3.22k
    case 's': goto yy395;
4822
3.90k
    case 'W':
4823
4.15k
    case 'w': goto yy396;
4824
2.98k
    default:  goto yy48;
4825
17.0k
    }
4826
12.6k
yy300:
4827
12.6k
    YYDEBUG(300, *YYCURSOR);
4828
12.6k
    yyaccept = 4;
4829
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
4830
12.6k
    if (yych == 'M') goto yy397;
4831
12.1k
    if (yych == 'm') goto yy397;
4832
365
    goto yy48;
4833
2.19k
yy301:
4834
2.19k
    YYDEBUG(301, *YYCURSOR);
4835
2.19k
    yyaccept = 4;
4836
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
4837
2.19k
    if (yych == 'L') goto yy398;
4838
2.18k
    if (yych == 'l') goto yy398;
4839
424
    goto yy48;
4840
618
yy302:
4841
618
    YYDEBUG(302, *YYCURSOR);
4842
618
    yyaccept = 4;
4843
618
    yych = *(YYMARKER = ++YYCURSOR);
4844
618
    if (yych == 'T') goto yy400;
4845
540
    if (yych == 't') goto yy400;
4846
74
    goto yy48;
4847
5.14k
yy303:
4848
5.14k
    YYDEBUG(303, *YYCURSOR);
4849
5.14k
    yyaccept = 4;
4850
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
4851
5.14k
    if (yych == 'E') goto yy402;
4852
4.79k
    if (yych == 'e') goto yy402;
4853
722
    goto yy48;
4854
2.44k
yy304:
4855
2.44k
    YYDEBUG(304, *YYCURSOR);
4856
2.44k
    yyaccept = 4;
4857
2.44k
    yych = *(YYMARKER = ++YYCURSOR);
4858
2.44k
    if (yych == 'A') goto yy403;
4859
1.67k
    if (yych == 'a') goto yy403;
4860
130
    goto yy48;
4861
29.4k
yy305:
4862
29.4k
    YYDEBUG(305, *YYCURSOR);
4863
29.4k
    yyaccept = 20;
4864
29.4k
    yych = *(YYMARKER = ++YYCURSOR);
4865
29.4k
    if (yych <= '\\') {
4866
16.2k
      if (yych <= 'D') {
4867
15.6k
        if (yych <= '/') goto yy306;
4868
404
        if (yych <= '9') goto yy47;
4869
384
        if (yych >= 'A') goto yy47;
4870
537
      } else {
4871
537
        if (yych <= 'E') goto yy404;
4872
32
        if (yych <= 'Z') goto yy47;
4873
2
        if (yych >= '\\') goto yy164;
4874
2
      }
4875
16.2k
    } else {
4876
13.2k
      if (yych <= 'd') {
4877
256
        if (yych == '_') goto yy47;
4878
254
        if (yych >= 'a') goto yy47;
4879
12.9k
      } else {
4880
12.9k
        if (yych <= 'e') goto yy404;
4881
1.03k
        if (yych <= 'z') goto yy47;
4882
329
        if (yych >= 0x80) goto yy47;
4883
329
      }
4884
13.2k
    }
4885
15.8k
yy306:
4886
15.8k
    YYDEBUG(306, *YYCURSOR);
4887
15.8k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
15.8k
#line 1482 "Zend/zend_language_scanner.l"
4889
15.8k
    {
4890
15.8k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
15.8k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
43.7k
yy307:
4894
43.7k
    YYDEBUG(307, *YYCURSOR);
4895
43.7k
    yyaccept = 4;
4896
43.7k
    yych = *(YYMARKER = ++YYCURSOR);
4897
43.7k
    if (yych == 'C') goto yy405;
4898
43.5k
    if (yych == 'c') goto yy405;
4899
626
    goto yy48;
4900
3.49k
yy308:
4901
3.49k
    YYDEBUG(308, *YYCURSOR);
4902
3.49k
    yyaccept = 4;
4903
3.49k
    yych = *(YYMARKER = ++YYCURSOR);
4904
3.49k
    if (yych == 'B') goto yy406;
4905
1.94k
    if (yych == 'b') goto yy406;
4906
411
    goto yy48;
4907
1.95k
yy309:
4908
1.95k
    YYDEBUG(309, *YYCURSOR);
4909
1.95k
    yyaccept = 4;
4910
1.95k
    yych = *(YYMARKER = ++YYCURSOR);
4911
1.95k
    if (yych == 'O') goto yy407;
4912
925
    if (yych == 'o') goto yy407;
4913
32
    goto yy48;
4914
1.43k
yy310:
4915
1.43k
    YYDEBUG(310, *YYCURSOR);
4916
1.43k
    yyaccept = 4;
4917
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
4918
1.43k
    if (yych == 'L') goto yy409;
4919
1.11k
    if (yych == 'l') goto yy409;
4920
18
    goto yy48;
4921
5.28k
yy311:
4922
5.28k
    YYDEBUG(311, *YYCURSOR);
4923
5.28k
    yyaccept = 4;
4924
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
4925
5.28k
    if (yych == 'L') goto yy410;
4926
4.81k
    if (yych == 'l') goto yy410;
4927
1.79k
    goto yy48;
4928
7.14k
yy312:
4929
7.14k
    YYDEBUG(312, *YYCURSOR);
4930
7.14k
    yyaccept = 4;
4931
7.14k
    yych = *(YYMARKER = ++YYCURSOR);
4932
7.14k
    if (yych == 'T') goto yy411;
4933
6.24k
    if (yych == 't') goto yy411;
4934
258
    goto yy48;
4935
7.11k
yy313:
4936
7.11k
    YYDEBUG(313, *YYCURSOR);
4937
7.11k
    yyaccept = 4;
4938
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
4939
7.11k
    if (yych == 'E') goto yy412;
4940
6.94k
    if (yych == 'e') goto yy412;
4941
4.76k
    goto yy48;
4942
13.6k
yy314:
4943
13.6k
    YYDEBUG(314, *YYCURSOR);
4944
13.6k
    yyaccept = 4;
4945
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
4946
13.6k
    if (yych == 'E') goto yy413;
4947
13.4k
    if (yych == 'e') goto yy413;
4948
65
    goto yy48;
4949
1.16k
yy315:
4950
1.16k
    YYDEBUG(315, *YYCURSOR);
4951
1.16k
    yyaccept = 4;
4952
1.16k
    yych = *(YYMARKER = ++YYCURSOR);
4953
1.16k
    if (yych == 'T') goto yy414;
4954
875
    if (yych == 't') goto yy414;
4955
4
    goto yy48;
4956
1.12k
yy316:
4957
1.12k
    YYDEBUG(316, *YYCURSOR);
4958
1.12k
    yyaccept = 4;
4959
1.12k
    yych = *(YYMARKER = ++YYCURSOR);
4960
1.12k
    if (yych == 'C') goto yy416;
4961
1.12k
    if (yych == 'c') goto yy416;
4962
102
    goto yy48;
4963
10.8k
yy317:
4964
10.8k
    YYDEBUG(317, *YYCURSOR);
4965
10.8k
    yyaccept = 4;
4966
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
4967
10.8k
    if (yych == 'E') goto yy417;
4968
10.0k
    if (yych == 'e') goto yy417;
4969
2.87k
    goto yy48;
4970
48.5k
yy318:
4971
48.5k
    YYDEBUG(318, *YYCURSOR);
4972
48.5k
    yyaccept = 21;
4973
48.5k
    yych = *(YYMARKER = ++YYCURSOR);
4974
48.5k
    if (yybm[256+yych] & 128) {
4975
127
      goto yy47;
4976
127
    }
4977
48.3k
    if (yych == '\\') goto yy164;
4978
48.3k
yy319:
4979
48.3k
    YYDEBUG(319, *YYCURSOR);
4980
48.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
48.3k
#line 1626 "Zend/zend_language_scanner.l"
4982
48.3k
    {
4983
48.3k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
48.3k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
15.7k
yy320:
4987
15.7k
    YYDEBUG(320, *YYCURSOR);
4988
15.7k
    yyaccept = 4;
4989
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
4990
15.7k
    if (yych <= 'V') {
4991
1.46k
      if (yych == 'N') goto yy418;
4992
1.39k
      if (yych <= 'U') goto yy48;
4993
1.17k
      goto yy419;
4994
14.2k
    } else {
4995
14.2k
      if (yych <= 'n') {
4996
10.5k
        if (yych <= 'm') goto yy48;
4997
5.77k
        goto yy418;
4998
10.5k
      } else {
4999
3.71k
        if (yych == 'v') goto yy419;
5000
6
        goto yy48;
5001
3.71k
      }
5002
14.2k
    }
5003
5.09k
yy321:
5004
5.09k
    YYDEBUG(321, *YYCURSOR);
5005
5.09k
    yyaccept = 4;
5006
5.09k
    yych = *(YYMARKER = ++YYCURSOR);
5007
5.09k
    if (yych == 'T') goto yy420;
5008
3.91k
    if (yych == 't') goto yy420;
5009
1.58k
    goto yy48;
5010
30.6k
yy322:
5011
30.6k
    YYDEBUG(322, *YYCURSOR);
5012
30.6k
    yyaccept = 4;
5013
30.6k
    yych = *(YYMARKER = ++YYCURSOR);
5014
30.6k
    if (yych == 'L') goto yy421;
5015
29.4k
    if (yych == 'l') goto yy421;
5016
1.56k
    goto yy48;
5017
3.17k
yy323:
5018
3.17k
    YYDEBUG(323, *YYCURSOR);
5019
3.17k
    yyaccept = 4;
5020
3.17k
    yych = *(YYMARKER = ++YYCURSOR);
5021
3.17k
    if (yych == 'D') goto yy422;
5022
3.16k
    if (yych == 'd') goto yy422;
5023
245
    goto yy48;
5024
5.08k
yy324:
5025
5.08k
    YYDEBUG(324, *YYCURSOR);
5026
5.08k
    yyaccept = 4;
5027
5.08k
    yych = *(YYMARKER = ++YYCURSOR);
5028
5.08k
    if (yych == 'U') goto yy423;
5029
4.95k
    if (yych == 'u') goto yy423;
5030
338
    goto yy48;
5031
11.7k
yy325:
5032
11.7k
    YYDEBUG(325, *YYCURSOR);
5033
11.7k
    yyaccept = 4;
5034
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
5035
11.7k
    if (yych == 'U') goto yy424;
5036
11.6k
    if (yych == 'u') goto yy424;
5037
48
    goto yy48;
5038
8.43k
yy326:
5039
8.43k
    YYDEBUG(326, *YYCURSOR);
5040
8.43k
    yyaccept = 4;
5041
8.43k
    yych = *(YYMARKER = ++YYCURSOR);
5042
8.43k
    if (yych == 'T') goto yy425;
5043
7.77k
    if (yych == 't') goto yy425;
5044
583
    goto yy48;
5045
583
yy327:
5046
521
    YYDEBUG(327, *YYCURSOR);
5047
521
    yyaccept = 4;
5048
521
    yych = *(YYMARKER = ++YYCURSOR);
5049
521
    if (yych == 'T') goto yy426;
5050
469
    if (yych == 't') goto yy426;
5051
24
    goto yy48;
5052
6.64k
yy328:
5053
6.64k
    YYDEBUG(328, *YYCURSOR);
5054
6.64k
    yyaccept = 4;
5055
6.64k
    yych = *(YYMARKER = ++YYCURSOR);
5056
6.64k
    if (yych == 'O') goto yy427;
5057
4.75k
    if (yych == 'o') goto yy427;
5058
194
    goto yy48;
5059
7.78k
yy329:
5060
7.78k
    YYDEBUG(329, *YYCURSOR);
5061
7.78k
    yyaccept = 4;
5062
7.78k
    yych = *(YYMARKER = ++YYCURSOR);
5063
7.78k
    if (yych == 'I') goto yy428;
5064
7.27k
    if (yych == 'i') goto yy428;
5065
926
    goto yy48;
5066
22.4k
yy330:
5067
22.4k
    YYDEBUG(330, *YYCURSOR);
5068
22.4k
    yyaccept = 22;
5069
22.4k
    yych = *(YYMARKER = ++YYCURSOR);
5070
22.4k
    if (yybm[256+yych] & 128) {
5071
534
      goto yy47;
5072
534
    }
5073
21.9k
    if (yych == '\\') goto yy164;
5074
21.8k
yy331:
5075
21.8k
    YYDEBUG(331, *YYCURSOR);
5076
21.8k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
21.8k
#line 1438 "Zend/zend_language_scanner.l"
5078
21.8k
    {
5079
21.8k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
21.8k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
7.63k
yy332:
5083
7.63k
    YYDEBUG(332, *YYCURSOR);
5084
7.63k
    yyaccept = 4;
5085
7.63k
    yych = *(YYMARKER = ++YYCURSOR);
5086
7.63k
    if (yych == 'E') goto yy429;
5087
7.30k
    if (yych == 'e') goto yy429;
5088
1.04k
    goto yy48;
5089
6.12k
yy333:
5090
6.12k
    YYDEBUG(333, *YYCURSOR);
5091
6.12k
    yyaccept = 23;
5092
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
5093
6.12k
    if (yybm[256+yych] & 128) {
5094
1.92k
      goto yy47;
5095
1.92k
    }
5096
4.20k
    if (yych == '\\') goto yy164;
5097
4.20k
yy334:
5098
4.20k
    YYDEBUG(334, *YYCURSOR);
5099
4.20k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
4.20k
#line 1742 "Zend/zend_language_scanner.l"
5101
4.20k
    {
5102
4.20k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
4.20k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
61.2k
yy335:
5106
61.2k
    YYDEBUG(335, *YYCURSOR);
5107
61.2k
    yyaccept = 24;
5108
61.2k
    yych = *(YYMARKER = ++YYCURSOR);
5109
61.2k
    if (yybm[256+yych] & 128) {
5110
60.6k
      goto yy47;
5111
60.6k
    }
5112
627
    if (yych == '\\') goto yy164;
5113
625
yy336:
5114
625
    YYDEBUG(336, *YYCURSOR);
5115
625
    yyleng = YYCURSOR - SCNG(yy_text);
5116
625
#line 1634 "Zend/zend_language_scanner.l"
5117
625
    {
5118
625
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
625
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
1.67k
yy337:
5122
1.67k
    YYDEBUG(337, *YYCURSOR);
5123
1.67k
    yyaccept = 4;
5124
1.67k
    yych = *(YYMARKER = ++YYCURSOR);
5125
1.67k
    if (yych == 'L') goto yy430;
5126
1.11k
    if (yych == 'l') goto yy430;
5127
79
    goto yy48;
5128
1.09k
yy338:
5129
1.09k
    YYDEBUG(338, *YYCURSOR);
5130
1.09k
    yyaccept = 25;
5131
1.09k
    yych = *(YYMARKER = ++YYCURSOR);
5132
1.09k
    if (yybm[256+yych] & 128) {
5133
2
      goto yy47;
5134
2
    }
5135
1.09k
    if (yych == '\\') goto yy164;
5136
1.09k
yy339:
5137
1.09k
    YYDEBUG(339, *YYCURSOR);
5138
1.09k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
1.09k
#line 1938 "Zend/zend_language_scanner.l"
5140
1.09k
    {
5141
1.09k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
1.09k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
6.11k
yy340:
5145
6.11k
    YYDEBUG(340, *YYCURSOR);
5146
6.11k
    yyaccept = 4;
5147
6.11k
    yych = *(YYMARKER = ++YYCURSOR);
5148
6.11k
    if (yych == 'L') goto yy431;
5149
5.90k
    if (yych == 'l') goto yy431;
5150
1.20k
    goto yy48;
5151
10.6k
yy341:
5152
10.6k
    YYDEBUG(341, *YYCURSOR);
5153
10.6k
    ++YYCURSOR;
5154
10.6k
    YYFILL(1);
5155
10.6k
    yych = *YYCURSOR;
5156
10.6k
    if (yych <= '_') {
5157
9.98k
      if (yych <= '@') goto yy86;
5158
9.41k
      if (yych <= 'Z') goto yy211;
5159
182
      if (yych <= '^') goto yy86;
5160
5
      goto yy211;
5161
647
    } else {
5162
647
      if (yych <= '`') goto yy86;
5163
641
      if (yych <= 'z') goto yy211;
5164
273
      if (yych <= 0x7F) goto yy86;
5165
229
      goto yy211;
5166
273
    }
5167
5.38k
yy342:
5168
5.38k
    YYDEBUG(342, *YYCURSOR);
5169
5.38k
    yyaccept = 4;
5170
5.38k
    yych = *(YYMARKER = ++YYCURSOR);
5171
5.38k
    if (yych == 'L') goto yy432;
5172
4.05k
    if (yych == 'l') goto yy432;
5173
3.89k
    goto yy48;
5174
4.00k
yy343:
5175
4.00k
    YYDEBUG(343, *YYCURSOR);
5176
4.00k
    yyaccept = 4;
5177
4.00k
    yych = *(YYMARKER = ++YYCURSOR);
5178
4.00k
    if (yych == 'I') goto yy433;
5179
2.84k
    if (yych == 'i') goto yy433;
5180
2.84k
    goto yy48;
5181
7.49k
yy344:
5182
7.49k
    YYDEBUG(344, *YYCURSOR);
5183
7.49k
    yyaccept = 4;
5184
7.49k
    yych = *(YYMARKER = ++YYCURSOR);
5185
7.49k
    if (yych <= 'U') {
5186
7.35k
      if (yych == 'I') goto yy434;
5187
2.98k
      if (yych <= 'T') goto yy48;
5188
2.81k
      goto yy435;
5189
2.98k
    } else {
5190
138
      if (yych <= 'i') {
5191
34
        if (yych <= 'h') goto yy48;
5192
12
        goto yy434;
5193
104
      } else {
5194
104
        if (yych == 'u') goto yy435;
5195
102
        goto yy48;
5196
104
      }
5197
138
    }
5198
237
yy345:
5199
237
    YYDEBUG(345, *YYCURSOR);
5200
237
    yyaccept = 4;
5201
237
    yych = *(YYMARKER = ++YYCURSOR);
5202
237
    if (yych == 'A') goto yy436;
5203
171
    if (yych == 'a') goto yy436;
5204
157
    goto yy48;
5205
685
yy346:
5206
685
    YYDEBUG(346, *YYCURSOR);
5207
685
    yyaccept = 4;
5208
685
    yych = *(YYMARKER = ++YYCURSOR);
5209
685
    if (yych == 'I') goto yy437;
5210
402
    if (yych == 'i') goto yy437;
5211
392
    goto yy48;
5212
5.20k
yy347:
5213
5.20k
    YYDEBUG(347, *YYCURSOR);
5214
5.20k
    yyaccept = 4;
5215
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
5216
5.20k
    if (yych == 'E') goto yy438;
5217
367
    if (yych == 'e') goto yy438;
5218
362
    goto yy48;
5219
2.54k
yy348:
5220
2.54k
    YYDEBUG(348, *YYCURSOR);
5221
2.54k
    yyaccept = 4;
5222
2.54k
    yych = *(YYMARKER = ++YYCURSOR);
5223
2.54k
    if (yych == 'A') goto yy439;
5224
260
    if (yych == 'a') goto yy439;
5225
186
    goto yy48;
5226
742
yy349:
5227
742
    YYDEBUG(349, *YYCURSOR);
5228
742
    yyaccept = 4;
5229
742
    yych = *(YYMARKER = ++YYCURSOR);
5230
742
    if (yych == 'R') goto yy440;
5231
290
    if (yych == 'r') goto yy440;
5232
290
    goto yy48;
5233
1.43k
yy350:
5234
1.43k
    YYDEBUG(350, *YYCURSOR);
5235
1.43k
    yyaccept = 4;
5236
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
5237
1.43k
    if (yych == 'R') goto yy441;
5238
334
    if (yych == 'r') goto yy441;
5239
334
    goto yy48;
5240
878
yy351:
5241
878
    YYDEBUG(351, *YYCURSOR);
5242
878
    ++YYCURSOR;
5243
878
    YYFILL(1);
5244
878
    yych = *YYCURSOR;
5245
878
    if (yybm[0+yych] & 2) {
5246
858
      goto yy225;
5247
858
    }
5248
20
    if (yych <= 0x00) goto yy86;
5249
0
    goto yy227;
5250
105
yy352:
5251
105
    YYDEBUG(352, *YYCURSOR);
5252
105
    yyaccept = 26;
5253
105
    YYMARKER = ++YYCURSOR;
5254
105
    YYFILL(1);
5255
105
    yych = *YYCURSOR;
5256
105
    if (yybm[0+yych] & 2) {
5257
101
      goto yy225;
5258
101
    }
5259
4
    if (yych <= 0x00) goto yy89;
5260
0
    goto yy84;
5261
0
yy353:
5262
0
    YYDEBUG(353, *YYCURSOR);
5263
0
    ++YYCURSOR;
5264
0
    YYFILL(1);
5265
0
    yych = *YYCURSOR;
5266
0
    if (yych <= '\f') {
5267
0
      if (yych <= 0x00) goto yy86;
5268
0
      if (yych == '\n') goto yy84;
5269
0
      goto yy225;
5270
0
    } else {
5271
0
      if (yych <= '\r') goto yy84;
5272
0
      if (yych == '.') goto yy442;
5273
0
      goto yy225;
5274
0
    }
5275
3.23k
yy354:
5276
3.23k
    YYDEBUG(354, *YYCURSOR);
5277
3.23k
    ++YYCURSOR;
5278
3.23k
    YYFILL(1);
5279
3.23k
    yych = *YYCURSOR;
5280
3.23k
    if (yych <= '\f') {
5281
16
      if (yych <= 0x00) goto yy86;
5282
12
      if (yych == '\n') goto yy84;
5283
10
      goto yy225;
5284
3.21k
    } else {
5285
3.21k
      if (yych <= '\r') goto yy84;
5286
3.20k
      if (yych == '*') goto yy443;
5287
8
      goto yy225;
5288
3.20k
    }
5289
2.68k
yy355:
5290
2.68k
    YYDEBUG(355, *YYCURSOR);
5291
2.68k
    ++YYCURSOR;
5292
2.68k
    YYFILL(1);
5293
2.68k
    yych = *YYCURSOR;
5294
2.68k
    YYDEBUG(356, *YYCURSOR);
5295
2.68k
    if (yybm[0+yych] & 64) {
5296
68
      goto yy355;
5297
68
    }
5298
2.61k
    if (yych <= 0x00) goto yy86;
5299
2.60k
    if (yych == '/') goto yy84;
5300
330
    goto yy230;
5301
1.62k
yy357:
5302
1.62k
    YYDEBUG(357, *YYCURSOR);
5303
1.62k
    yych = *++YYCURSOR;
5304
1.62k
    if (yych == 'A') goto yy445;
5305
1.62k
    if (yych == 'a') goto yy445;
5306
52
    goto yy86;
5307
222
yy358:
5308
222
    YYDEBUG(358, *YYCURSOR);
5309
222
    yych = *++YYCURSOR;
5310
222
    if (yych == 'A') goto yy446;
5311
208
    if (yych == 'a') goto yy446;
5312
88
    goto yy86;
5313
160
yy359:
5314
160
    YYDEBUG(359, *YYCURSOR);
5315
160
    yych = *++YYCURSOR;
5316
160
    if (yych == 'L') goto yy447;
5317
160
    if (yych == 'l') goto yy447;
5318
20
    goto yy86;
5319
248
yy360:
5320
248
    YYDEBUG(360, *YYCURSOR);
5321
248
    yych = *++YYCURSOR;
5322
248
    if (yych == 'B') goto yy448;
5323
248
    if (yych == 'b') goto yy448;
5324
2
    goto yy86;
5325
517
yy361:
5326
517
    YYDEBUG(361, *YYCURSOR);
5327
517
    yych = *++YYCURSOR;
5328
517
    if (yych == 'A') goto yy449;
5329
517
    if (yych == 'a') goto yy449;
5330
208
    goto yy86;
5331
2.12k
yy362:
5332
2.12k
    YYDEBUG(362, *YYCURSOR);
5333
2.12k
    yych = *++YYCURSOR;
5334
2.12k
    if (yych == 'E') goto yy454;
5335
2.06k
    if (yych == 'e') goto yy454;
5336
1.46k
    goto yy451;
5337
1.71k
yy363:
5338
1.71k
    YYDEBUG(363, *YYCURSOR);
5339
1.71k
    yych = *++YYCURSOR;
5340
1.71k
    if (yych == 'E') goto yy455;
5341
1.71k
    if (yych == 'e') goto yy455;
5342
1.38k
    goto yy86;
5343
1.38k
yy364:
5344
56
    YYDEBUG(364, *YYCURSOR);
5345
56
    yych = *++YYCURSOR;
5346
56
    if (yych == 'L') goto yy456;
5347
56
    if (yych == 'l') goto yy456;
5348
52
    goto yy86;
5349
4.36k
yy365:
5350
4.36k
    YYDEBUG(365, *YYCURSOR);
5351
4.36k
    yych = *++YYCURSOR;
5352
4.36k
    if (yych == 'I') goto yy458;
5353
4.36k
    if (yych == 'i') goto yy458;
5354
1.37k
    goto yy86;
5355
1.37k
yy366:
5356
457
    YYDEBUG(366, *YYCURSOR);
5357
457
    yych = *++YYCURSOR;
5358
457
    if (yych == 'E') goto yy459;
5359
457
    if (yych == 'e') goto yy459;
5360
36
    goto yy86;
5361
63
yy367:
5362
63
    YYDEBUG(367, *YYCURSOR);
5363
63
    yych = *++YYCURSOR;
5364
63
    if (yych == 'D') goto yy460;
5365
63
    if (yych == 'd') goto yy460;
5366
0
    goto yy86;
5367
9.00k
yy368:
5368
9.00k
    YYDEBUG(368, *YYCURSOR);
5369
9.00k
    ++YYCURSOR;
5370
9.00k
    YYFILL(1);
5371
9.00k
    yych = *YYCURSOR;
5372
9.00k
    YYDEBUG(369, *YYCURSOR);
5373
9.00k
    if (yych <= '\f') {
5374
2.71k
      if (yych <= 0x08) goto yy129;
5375
2.71k
      if (yych <= '\n') goto yy368;
5376
0
      goto yy129;
5377
6.29k
    } else {
5378
6.29k
      if (yych <= '\r') goto yy368;
5379
6.29k
      if (yych == ' ') goto yy368;
5380
3.13k
      goto yy129;
5381
6.29k
    }
5382
1.10k
yy370:
5383
1.10k
    YYDEBUG(370, *YYCURSOR);
5384
1.10k
    yych = *++YYCURSOR;
5385
1.10k
    if (yych == '"') goto yy86;
5386
1.01k
    if (yych <= '/') goto yy463;
5387
202
    if (yych <= '9') goto yy86;
5388
200
    goto yy463;
5389
2.89k
yy371:
5390
2.89k
    YYDEBUG(371, *YYCURSOR);
5391
2.89k
    yych = *++YYCURSOR;
5392
2.89k
    if (yych == '\'') goto yy86;
5393
2.88k
    if (yych <= '/') goto yy465;
5394
2.34k
    if (yych <= '9') goto yy86;
5395
2.34k
    goto yy465;
5396
559k
yy372:
5397
559k
    YYDEBUG(372, *YYCURSOR);
5398
559k
    ++YYCURSOR;
5399
559k
    YYFILL(2);
5400
559k
    yych = *YYCURSOR;
5401
559k
    YYDEBUG(373, *YYCURSOR);
5402
559k
    if (yych <= '@') {
5403
197k
      if (yych <= '\f') {
5404
123k
        if (yych == '\n') goto yy466;
5405
9.66k
        goto yy86;
5406
123k
      } else {
5407
73.1k
        if (yych <= '\r') goto yy468;
5408
71.8k
        if (yych <= '/') goto yy86;
5409
57.1k
        if (yych <= '9') goto yy372;
5410
5.38k
        goto yy86;
5411
57.1k
      }
5412
362k
    } else {
5413
362k
      if (yych <= '_') {
5414
70.1k
        if (yych <= 'Z') goto yy372;
5415
5.06k
        if (yych <= '^') goto yy86;
5416
2.05k
        goto yy372;
5417
292k
      } else {
5418
292k
        if (yych <= '`') goto yy86;
5419
292k
        if (yych <= 'z') goto yy372;
5420
154k
        if (yych <= 0x7F) goto yy86;
5421
154k
        goto yy372;
5422
154k
      }
5423
362k
    }
5424
2.88k
yy374:
5425
2.88k
    YYDEBUG(374, *YYCURSOR);
5426
2.88k
    yyaccept = 4;
5427
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
5428
2.88k
    if (yych == 'R') goto yy469;
5429
1.57k
    if (yych == 'r') goto yy469;
5430
7
    goto yy48;
5431
10.5k
yy375:
5432
10.5k
    YYDEBUG(375, *YYCURSOR);
5433
10.5k
    yyaccept = 4;
5434
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
5435
10.5k
    if (yych == 'Y') goto yy470;
5436
10.4k
    if (yych == 'y') goto yy470;
5437
609
    goto yy48;
5438
663
yy376:
5439
663
    YYDEBUG(376, *YYCURSOR);
5440
663
    yyaccept = 4;
5441
663
    yych = *(YYMARKER = ++YYCURSOR);
5442
663
    if (yych == 'K') goto yy472;
5443
625
    if (yych == 'k') goto yy472;
5444
10
    goto yy48;
5445
5.35k
yy377:
5446
5.35k
    YYDEBUG(377, *YYCURSOR);
5447
5.35k
    yyaccept = 4;
5448
5.35k
    yych = *(YYMARKER = ++YYCURSOR);
5449
5.35k
    if (yych == 'A') goto yy474;
5450
5.06k
    if (yych == 'a') goto yy474;
5451
4.83k
    goto yy48;
5452
4.83k
yy378:
5453
2.14k
    YYDEBUG(378, *YYCURSOR);
5454
2.14k
    yyaccept = 27;
5455
2.14k
    yych = *(YYMARKER = ++YYCURSOR);
5456
2.14k
    if (yybm[256+yych] & 128) {
5457
76
      goto yy47;
5458
76
    }
5459
2.07k
    if (yych == '\\') goto yy164;
5460
2.07k
yy379:
5461
2.07k
    YYDEBUG(379, *YYCURSOR);
5462
2.07k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
2.07k
#line 1526 "Zend/zend_language_scanner.l"
5464
2.07k
    {
5465
2.07k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
2.07k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
22.1k
yy380:
5469
22.1k
    YYDEBUG(380, *YYCURSOR);
5470
22.1k
    yyaccept = 4;
5471
22.1k
    yych = *(YYMARKER = ++YYCURSOR);
5472
22.1k
    if (yych == 'H') goto yy475;
5473
21.7k
    if (yych == 'h') goto yy475;
5474
22
    goto yy48;
5475
30.5k
yy381:
5476
30.5k
    YYDEBUG(381, *YYCURSOR);
5477
30.5k
    yyaccept = 4;
5478
30.5k
    yych = *(YYMARKER = ++YYCURSOR);
5479
30.5k
    if (yych == 'S') goto yy477;
5480
30.4k
    if (yych == 's') goto yy477;
5481
820
    goto yy48;
5482
1.52k
yy382:
5483
1.52k
    YYDEBUG(382, *YYCURSOR);
5484
1.52k
    yyaccept = 4;
5485
1.52k
    yych = *(YYMARKER = ++YYCURSOR);
5486
1.52k
    if (yych == 'E') goto yy479;
5487
964
    if (yych == 'e') goto yy479;
5488
20
    goto yy48;
5489
26.1k
yy383:
5490
26.1k
    YYDEBUG(383, *YYCURSOR);
5491
26.1k
    yyaccept = 4;
5492
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
5493
26.1k
    if (yych == 'T') goto yy481;
5494
23.8k
    if (yych == 't') goto yy481;
5495
1.83k
    goto yy48;
5496
2.82k
yy384:
5497
2.82k
    YYDEBUG(384, *YYCURSOR);
5498
2.82k
    yyaccept = 4;
5499
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
5500
2.82k
    if (yych == 'I') goto yy483;
5501
2.21k
    if (yych == 'i') goto yy483;
5502
1.68k
    goto yy48;
5503
3.37k
yy385:
5504
3.37k
    YYDEBUG(385, *YYCURSOR);
5505
3.37k
    yyaccept = 4;
5506
3.37k
    yych = *(YYMARKER = ++YYCURSOR);
5507
3.37k
    if (yych == 'A') goto yy484;
5508
3.18k
    if (yych == 'a') goto yy484;
5509
38
    goto yy48;
5510
718
yy386:
5511
718
    YYDEBUG(386, *YYCURSOR);
5512
718
    yyaccept = 4;
5513
718
    yych = *(YYMARKER = ++YYCURSOR);
5514
718
    if (yych == 'U') goto yy485;
5515
680
    if (yych == 'u') goto yy485;
5516
300
    goto yy48;
5517
51.0k
yy387:
5518
51.0k
    YYDEBUG(387, *YYCURSOR);
5519
51.0k
    yyaccept = 28;
5520
51.0k
    yych = *(YYMARKER = ++YYCURSOR);
5521
51.0k
    if (yybm[256+yych] & 128) {
5522
1.52k
      goto yy47;
5523
1.52k
    }
5524
49.4k
    if (yych == '\\') goto yy164;
5525
49.4k
yy388:
5526
49.4k
    YYDEBUG(388, *YYCURSOR);
5527
49.4k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
49.4k
#line 1546 "Zend/zend_language_scanner.l"
5529
49.4k
    {
5530
49.4k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
49.4k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
1.09k
yy389:
5534
1.09k
    YYDEBUG(389, *YYCURSOR);
5535
1.09k
    yyaccept = 29;
5536
1.09k
    yych = *(YYMARKER = ++YYCURSOR);
5537
1.09k
    if (yych <= '\\') {
5538
990
      if (yych <= 'H') {
5539
955
        if (yych <= '/') goto yy390;
5540
18
        if (yych <= '9') goto yy47;
5541
18
        if (yych >= 'A') goto yy47;
5542
35
      } else {
5543
35
        if (yych <= 'I') goto yy486;
5544
0
        if (yych <= 'Z') goto yy47;
5545
0
        if (yych >= '\\') goto yy164;
5546
0
      }
5547
990
    } else {
5548
102
      if (yych <= 'h') {
5549
4
        if (yych == '_') goto yy47;
5550
4
        if (yych >= 'a') goto yy47;
5551
98
      } else {
5552
98
        if (yych <= 'i') goto yy486;
5553
0
        if (yych <= 'z') goto yy47;
5554
0
        if (yych >= 0x80) goto yy47;
5555
0
      }
5556
102
    }
5557
955
yy390:
5558
955
    YYDEBUG(390, *YYCURSOR);
5559
955
    yyleng = YYCURSOR - SCNG(yy_text);
5560
955
#line 1466 "Zend/zend_language_scanner.l"
5561
955
    {
5562
955
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
955
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
1.88k
yy391:
5566
1.88k
    YYDEBUG(391, *YYCURSOR);
5567
1.88k
    yyaccept = 4;
5568
1.88k
    yych = *(YYMARKER = ++YYCURSOR);
5569
1.88k
    if (yych == 'Y') goto yy487;
5570
1.15k
    if (yych == 'y') goto yy487;
5571
33
    goto yy48;
5572
1.57k
yy392:
5573
1.57k
    YYDEBUG(392, *YYCURSOR);
5574
1.57k
    yyaccept = 4;
5575
1.57k
    yych = *(YYMARKER = ++YYCURSOR);
5576
1.57k
    if (yych == 'E') goto yy489;
5577
136
    if (yych == 'e') goto yy489;
5578
44
    goto yy48;
5579
1.98k
yy393:
5580
1.98k
    YYDEBUG(393, *YYCURSOR);
5581
1.98k
    yyaccept = 4;
5582
1.98k
    yych = *(YYMARKER = ++YYCURSOR);
5583
1.98k
    if (yych == 'O') goto yy490;
5584
162
    if (yych == 'o') goto yy490;
5585
2
    goto yy48;
5586
3.12k
yy394:
5587
3.12k
    YYDEBUG(394, *YYCURSOR);
5588
3.12k
    yyaccept = 4;
5589
3.12k
    yych = *(YYMARKER = ++YYCURSOR);
5590
3.12k
    if (yych == 'F') goto yy491;
5591
375
    if (yych == 'f') goto yy491;
5592
121
    goto yy48;
5593
3.22k
yy395:
5594
3.22k
    YYDEBUG(395, *YYCURSOR);
5595
3.22k
    yyaccept = 4;
5596
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
5597
3.22k
    if (yych == 'W') goto yy493;
5598
3.10k
    if (yych == 'w') goto yy493;
5599
2.68k
    goto yy48;
5600
4.15k
yy396:
5601
4.15k
    YYDEBUG(396, *YYCURSOR);
5602
4.15k
    yyaccept = 4;
5603
4.15k
    yych = *(YYMARKER = ++YYCURSOR);
5604
4.15k
    if (yych == 'H') goto yy494;
5605
2.93k
    if (yych == 'h') goto yy494;
5606
2.68k
    goto yy48;
5607
12.2k
yy397:
5608
12.2k
    YYDEBUG(397, *YYCURSOR);
5609
12.2k
    yyaccept = 4;
5610
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
5611
12.2k
    if (yych <= 0x1F) {
5612
6.15k
      if (yych <= '\n') {
5613
412
        if (yych <= 0x08) goto yy48;
5614
384
        goto yy495;
5615
5.73k
      } else {
5616
5.73k
        if (yych == '\r') goto yy495;
5617
30
        goto yy48;
5618
5.73k
      }
5619
6.15k
    } else {
5620
6.09k
      if (yych <= '#') {
5621
5.35k
        if (yych <= ' ') goto yy495;
5622
4.06k
        if (yych <= '"') goto yy48;
5623
4.03k
        goto yy497;
5624
4.06k
      } else {
5625
743
        if (yych == '/') goto yy498;
5626
721
        goto yy48;
5627
743
      }
5628
6.09k
    }
5629
1.77k
yy398:
5630
1.77k
    YYDEBUG(398, *YYCURSOR);
5631
1.77k
    yyaccept = 30;
5632
1.77k
    yych = *(YYMARKER = ++YYCURSOR);
5633
1.77k
    if (yybm[256+yych] & 128) {
5634
252
      goto yy47;
5635
252
    }
5636
1.51k
    if (yych == '\\') goto yy164;
5637
1.51k
yy399:
5638
1.51k
    YYDEBUG(399, *YYCURSOR);
5639
1.51k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
1.51k
#line 1718 "Zend/zend_language_scanner.l"
5641
1.51k
    {
5642
1.51k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
1.51k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
544
yy400:
5646
544
    YYDEBUG(400, *YYCURSOR);
5647
544
    yyaccept = 31;
5648
544
    yych = *(YYMARKER = ++YYCURSOR);
5649
544
    if (yybm[256+yych] & 128) {
5650
6
      goto yy47;
5651
6
    }
5652
538
    if (yych == '\\') goto yy164;
5653
496
yy401:
5654
496
    YYDEBUG(401, *YYCURSOR);
5655
496
    yyleng = YYCURSOR - SCNG(yy_text);
5656
496
#line 1399 "Zend/zend_language_scanner.l"
5657
496
    {
5658
496
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
496
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
4.42k
yy402:
5662
4.42k
    YYDEBUG(402, *YYCURSOR);
5663
4.42k
    yyaccept = 4;
5664
4.42k
    yych = *(YYMARKER = ++YYCURSOR);
5665
4.42k
    if (yych == 'N') goto yy499;
5666
4.10k
    if (yych == 'n') goto yy499;
5667
40
    goto yy48;
5668
2.31k
yy403:
5669
2.31k
    YYDEBUG(403, *YYCURSOR);
5670
2.31k
    yyaccept = 4;
5671
2.31k
    yych = *(YYMARKER = ++YYCURSOR);
5672
2.31k
    if (yych == 'L') goto yy500;
5673
1.55k
    if (yych == 'l') goto yy500;
5674
44
    goto yy48;
5675
12.4k
yy404:
5676
12.4k
    YYDEBUG(404, *YYCURSOR);
5677
12.4k
    yyaccept = 4;
5678
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5679
12.4k
    if (yych == 'A') goto yy502;
5680
12.2k
    if (yych == 'a') goto yy502;
5681
690
    goto yy48;
5682
43.0k
yy405:
5683
43.0k
    YYDEBUG(405, *YYCURSOR);
5684
43.0k
    yyaccept = 4;
5685
43.0k
    yych = *(YYMARKER = ++YYCURSOR);
5686
43.0k
    if (yych == 'T') goto yy503;
5687
42.9k
    if (yych == 't') goto yy503;
5688
2.66k
    goto yy48;
5689
3.08k
yy406:
5690
3.08k
    YYDEBUG(406, *YYCURSOR);
5691
3.08k
    yyaccept = 4;
5692
3.08k
    yych = *(YYMARKER = ++YYCURSOR);
5693
3.08k
    if (yych == 'A') goto yy504;
5694
1.60k
    if (yych == 'a') goto yy504;
5695
221
    goto yy48;
5696
1.92k
yy407:
5697
1.92k
    YYDEBUG(407, *YYCURSOR);
5698
1.92k
    yyaccept = 32;
5699
1.92k
    yych = *(YYMARKER = ++YYCURSOR);
5700
1.92k
    if (yybm[256+yych] & 128) {
5701
152
      goto yy47;
5702
152
    }
5703
1.77k
    if (yych == '\\') goto yy164;
5704
1.77k
yy408:
5705
1.77k
    YYDEBUG(408, *YYCURSOR);
5706
1.77k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
1.77k
#line 1542 "Zend/zend_language_scanner.l"
5708
1.77k
    {
5709
1.77k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
1.77k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
1.41k
yy409:
5713
1.41k
    YYDEBUG(409, *YYCURSOR);
5714
1.41k
    yyaccept = 4;
5715
1.41k
    yych = *(YYMARKER = ++YYCURSOR);
5716
1.41k
    if (yych == 'E') goto yy505;
5717
1.05k
    if (yych == 'e') goto yy505;
5718
62
    goto yy48;
5719
3.49k
yy410:
5720
3.49k
    YYDEBUG(410, *YYCURSOR);
5721
3.49k
    yyaccept = 4;
5722
3.49k
    yych = *(YYMARKER = ++YYCURSOR);
5723
3.49k
    if (yych == 'U') goto yy506;
5724
2.72k
    if (yych == 'u') goto yy506;
5725
470
    goto yy48;
5726
6.88k
yy411:
5727
6.88k
    YYDEBUG(411, *YYCURSOR);
5728
6.88k
    yyaccept = 4;
5729
6.88k
    yych = *(YYMARKER = ++YYCURSOR);
5730
6.88k
    if (yych <= 'E') {
5731
853
      if (yych == 'A') goto yy507;
5732
688
      if (yych <= 'D') goto yy48;
5733
622
      goto yy508;
5734
6.03k
    } else {
5735
6.03k
      if (yych <= 'a') {
5736
966
        if (yych <= '`') goto yy48;
5737
874
        goto yy507;
5738
5.06k
      } else {
5739
5.06k
        if (yych == 'e') goto yy508;
5740
108
        goto yy48;
5741
5.06k
      }
5742
6.03k
    }
5743
2.35k
yy412:
5744
2.35k
    YYDEBUG(412, *YYCURSOR);
5745
2.35k
    yyaccept = 4;
5746
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
5747
2.35k
    if (yych == 'R') goto yy509;
5748
2.18k
    if (yych == 'r') goto yy509;
5749
911
    goto yy48;
5750
13.5k
yy413:
5751
13.5k
    YYDEBUG(413, *YYCURSOR);
5752
13.5k
    yyaccept = 4;
5753
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5754
13.5k
    if (yych == 'T') goto yy510;
5755
13.3k
    if (yych == 't') goto yy510;
5756
44
    goto yy48;
5757
1.15k
yy414:
5758
1.15k
    YYDEBUG(414, *YYCURSOR);
5759
1.15k
    yyaccept = 33;
5760
1.15k
    yych = *(YYMARKER = ++YYCURSOR);
5761
1.15k
    if (yybm[256+yych] & 128) {
5762
107
      goto yy47;
5763
107
    }
5764
1.05k
    if (yych == '\\') goto yy164;
5765
1.05k
yy415:
5766
1.05k
    YYDEBUG(415, *YYCURSOR);
5767
1.05k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
1.05k
#line 1814 "Zend/zend_language_scanner.l"
5769
1.05k
    {
5770
1.05k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
1.05k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
1.02k
yy416:
5774
1.02k
    YYDEBUG(416, *YYCURSOR);
5775
1.02k
    yyaccept = 4;
5776
1.02k
    yych = *(YYMARKER = ++YYCURSOR);
5777
1.02k
    if (yych == 'H') goto yy512;
5778
1.02k
    if (yych == 'h') goto yy512;
5779
2
    goto yy48;
5780
7.95k
yy417:
5781
7.95k
    YYDEBUG(417, *YYCURSOR);
5782
7.95k
    yyaccept = 4;
5783
7.95k
    yych = *(YYMARKER = ++YYCURSOR);
5784
7.95k
    if (yych == 'S') goto yy514;
5785
7.64k
    if (yych == 's') goto yy514;
5786
1.49k
    goto yy48;
5787
5.84k
yy418:
5788
5.84k
    YYDEBUG(418, *YYCURSOR);
5789
5.84k
    yyaccept = 4;
5790
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
5791
5.84k
    if (yych == 'T') goto yy515;
5792
5.77k
    if (yych == 't') goto yy515;
5793
2
    goto yy48;
5794
4.87k
yy419:
5795
4.87k
    YYDEBUG(419, *YYCURSOR);
5796
4.87k
    yyaccept = 4;
5797
4.87k
    yych = *(YYMARKER = ++YYCURSOR);
5798
4.87k
    if (yych == 'A') goto yy517;
5799
3.70k
    if (yych == 'a') goto yy517;
5800
53
    goto yy48;
5801
3.51k
yy420:
5802
3.51k
    YYDEBUG(420, *YYCURSOR);
5803
3.51k
    yyaccept = 4;
5804
3.51k
    yych = *(YYMARKER = ++YYCURSOR);
5805
3.51k
    if (yych == 'E') goto yy518;
5806
2.34k
    if (yych == 'e') goto yy518;
5807
209
    goto yy48;
5808
29.1k
yy421:
5809
29.1k
    YYDEBUG(421, *YYCURSOR);
5810
29.1k
    yyaccept = 4;
5811
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
5812
29.1k
    if (yych == 'I') goto yy519;
5813
27.8k
    if (yych == 'i') goto yy519;
5814
1.14k
    goto yy48;
5815
2.93k
yy422:
5816
2.93k
    YYDEBUG(422, *YYCURSOR);
5817
2.93k
    yyaccept = 4;
5818
2.93k
    yych = *(YYMARKER = ++YYCURSOR);
5819
2.93k
    if (yych == 'O') goto yy520;
5820
2.92k
    if (yych == 'o') goto yy520;
5821
55
    goto yy48;
5822
4.74k
yy423:
5823
4.74k
    YYDEBUG(423, *YYCURSOR);
5824
4.74k
    yyaccept = 4;
5825
4.74k
    yych = *(YYMARKER = ++YYCURSOR);
5826
4.74k
    if (yych == 'I') goto yy521;
5827
4.62k
    if (yych == 'i') goto yy521;
5828
166
    goto yy48;
5829
11.6k
yy424:
5830
11.6k
    YYDEBUG(424, *YYCURSOR);
5831
11.6k
    yyaccept = 4;
5832
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
5833
11.6k
    if (yych == 'R') goto yy522;
5834
11.5k
    if (yych == 'r') goto yy522;
5835
144
    goto yy48;
5836
7.84k
yy425:
5837
7.84k
    YYDEBUG(425, *YYCURSOR);
5838
7.84k
    yyaccept = 4;
5839
7.84k
    yych = *(YYMARKER = ++YYCURSOR);
5840
7.84k
    if (yych == 'I') goto yy523;
5841
7.20k
    if (yych == 'i') goto yy523;
5842
89
    goto yy48;
5843
497
yy426:
5844
497
    YYDEBUG(426, *YYCURSOR);
5845
497
    yyaccept = 4;
5846
497
    yych = *(YYMARKER = ++YYCURSOR);
5847
497
    if (yych == 'C') goto yy524;
5848
445
    if (yych == 'c') goto yy524;
5849
56
    goto yy48;
5850
6.45k
yy427:
5851
6.45k
    YYDEBUG(427, *YYCURSOR);
5852
6.45k
    yyaccept = 4;
5853
6.45k
    yych = *(YYMARKER = ++YYCURSOR);
5854
6.45k
    if (yych == 'W') goto yy525;
5855
6.36k
    if (yych == 'w') goto yy525;
5856
1.56k
    goto yy48;
5857
6.85k
yy428:
5858
6.85k
    YYDEBUG(428, *YYCURSOR);
5859
6.85k
    yyaccept = 4;
5860
6.85k
    yych = *(YYMARKER = ++YYCURSOR);
5861
6.85k
    if (yych == 'T') goto yy527;
5862
6.34k
    if (yych == 't') goto yy527;
5863
1.16k
    goto yy48;
5864
6.58k
yy429:
5865
6.58k
    YYDEBUG(429, *YYCURSOR);
5866
6.58k
    yyaccept = 4;
5867
6.58k
    yych = *(YYMARKER = ++YYCURSOR);
5868
6.58k
    if (yych == 'T') goto yy529;
5869
6.25k
    if (yych == 't') goto yy529;
5870
3.56k
    goto yy48;
5871
3.56k
yy430:
5872
1.59k
    YYDEBUG(430, *YYCURSOR);
5873
1.59k
    yyaccept = 4;
5874
1.59k
    yych = *(YYMARKER = ++YYCURSOR);
5875
1.59k
    if (yych == 'E') goto yy531;
5876
1.03k
    if (yych == 'e') goto yy531;
5877
93
    goto yy48;
5878
4.90k
yy431:
5879
4.90k
    YYDEBUG(431, *YYCURSOR);
5880
4.90k
    yyaccept = 4;
5881
4.90k
    yych = *(YYMARKER = ++YYCURSOR);
5882
4.90k
    if (yych == 'D') goto yy533;
5883
4.70k
    if (yych == 'd') goto yy533;
5884
61
    goto yy48;
5885
1.49k
yy432:
5886
1.49k
    YYDEBUG(432, *YYCURSOR);
5887
1.49k
    yyaccept = 4;
5888
1.49k
    yych = *(YYMARKER = ++YYCURSOR);
5889
1.49k
    if (yych == 'A') goto yy535;
5890
612
    if (yych == 'a') goto yy535;
5891
606
    goto yy48;
5892
1.16k
yy433:
5893
1.16k
    YYDEBUG(433, *YYCURSOR);
5894
1.16k
    yyaccept = 4;
5895
1.16k
    yych = *(YYMARKER = ++YYCURSOR);
5896
1.16k
    if (yych == 'R') goto yy536;
5897
13
    if (yych == 'r') goto yy536;
5898
9
    goto yy48;
5899
4.38k
yy434:
5900
4.38k
    YYDEBUG(434, *YYCURSOR);
5901
4.38k
    yyaccept = 4;
5902
4.38k
    yych = *(YYMARKER = ++YYCURSOR);
5903
4.38k
    if (yych == 'L') goto yy537;
5904
202
    if (yych == 'l') goto yy537;
5905
190
    goto yy48;
5906
2.82k
yy435:
5907
2.82k
    YYDEBUG(435, *YYCURSOR);
5908
2.82k
    yyaccept = 4;
5909
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
5910
2.82k
    if (yych == 'N') goto yy538;
5911
290
    if (yych == 'n') goto yy538;
5912
288
    goto yy48;
5913
288
yy436:
5914
80
    YYDEBUG(436, *YYCURSOR);
5915
80
    yyaccept = 4;
5916
80
    yych = *(YYMARKER = ++YYCURSOR);
5917
80
    if (yych == 'L') goto yy539;
5918
14
    if (yych == 'l') goto yy539;
5919
0
    goto yy48;
5920
293
yy437:
5921
293
    YYDEBUG(437, *YYCURSOR);
5922
293
    yyaccept = 4;
5923
293
    yych = *(YYMARKER = ++YYCURSOR);
5924
293
    if (yych == 'N') goto yy540;
5925
12
    if (yych == 'n') goto yy540;
5926
8
    goto yy48;
5927
4.84k
yy438:
5928
4.84k
    YYDEBUG(438, *YYCURSOR);
5929
4.84k
    yyaccept = 4;
5930
4.84k
    yych = *(YYMARKER = ++YYCURSOR);
5931
4.84k
    if (yych == 'T') goto yy541;
5932
65
    if (yych == 't') goto yy541;
5933
61
    goto yy48;
5934
2.36k
yy439:
5935
2.36k
    YYDEBUG(439, *YYCURSOR);
5936
2.36k
    yyaccept = 4;
5937
2.36k
    yych = *(YYMARKER = ++YYCURSOR);
5938
2.36k
    if (yych == 'M') goto yy542;
5939
138
    if (yych == 'm') goto yy542;
5940
64
    goto yy48;
5941
452
yy440:
5942
452
    YYDEBUG(440, *YYCURSOR);
5943
452
    yyaccept = 4;
5944
452
    yych = *(YYMARKER = ++YYCURSOR);
5945
452
    if (yych == 'O') goto yy543;
5946
118
    if (yych == 'o') goto yy543;
5947
82
    goto yy48;
5948
1.10k
yy441:
5949
1.10k
    YYDEBUG(441, *YYCURSOR);
5950
1.10k
    yyaccept = 4;
5951
1.10k
    yych = *(YYMARKER = ++YYCURSOR);
5952
1.10k
    if (yych == 'A') goto yy544;
5953
105
    if (yych == 'a') goto yy544;
5954
105
    goto yy48;
5955
105
yy442:
5956
0
    YYDEBUG(442, *YYCURSOR);
5957
0
    ++YYCURSOR;
5958
0
    YYFILL(1);
5959
0
    yych = *YYCURSOR;
5960
0
    if (yych <= '\f') {
5961
0
      if (yych <= 0x00) goto yy86;
5962
0
      if (yych == '\n') goto yy84;
5963
0
      goto yy225;
5964
0
    } else {
5965
0
      if (yych <= '\r') goto yy84;
5966
0
      if (yych == '.') goto yy352;
5967
0
      goto yy225;
5968
0
    }
5969
40.5k
yy443:
5970
40.5k
    YYDEBUG(443, *YYCURSOR);
5971
40.5k
    ++YYCURSOR;
5972
40.5k
    YYFILL(1);
5973
40.5k
    yych = *YYCURSOR;
5974
40.5k
    YYDEBUG(444, *YYCURSOR);
5975
40.5k
    if (yybm[0+yych] & 128) {
5976
33.0k
      goto yy443;
5977
33.0k
    }
5978
7.53k
    if (yych <= 0x00) goto yy86;
5979
7.47k
    if (yych <= '\r') goto yy545;
5980
2.80k
    goto yy547;
5981
2.80k
yy445:
5982
1.57k
    YYDEBUG(445, *YYCURSOR);
5983
1.57k
    yych = *++YYCURSOR;
5984
1.57k
    if (yych == 'Y') goto yy549;
5985
1.57k
    if (yych == 'y') goto yy549;
5986
58
    goto yy86;
5987
134
yy446:
5988
134
    YYDEBUG(446, *YYCURSOR);
5989
134
    yych = *++YYCURSOR;
5990
134
    if (yych == 'R') goto yy551;
5991
120
    if (yych == 'r') goto yy551;
5992
54
    goto yy86;
5993
140
yy447:
5994
140
    YYDEBUG(447, *YYCURSOR);
5995
140
    yych = *++YYCURSOR;
5996
140
    if (yych == 'E') goto yy556;
5997
140
    if (yych == 'e') goto yy556;
5998
118
    goto yy553;
5999
246
yy448:
6000
246
    YYDEBUG(448, *YYCURSOR);
6001
246
    yych = *++YYCURSOR;
6002
246
    if (yych == 'L') goto yy557;
6003
246
    if (yych == 'l') goto yy557;
6004
2
    goto yy86;
6005
309
yy449:
6006
309
    YYDEBUG(449, *YYCURSOR);
6007
309
    yych = *++YYCURSOR;
6008
309
    if (yych == 'T') goto yy558;
6009
309
    if (yych == 't') goto yy558;
6010
6
    goto yy86;
6011
979
yy450:
6012
979
    YYDEBUG(450, *YYCURSOR);
6013
979
    ++YYCURSOR;
6014
979
    YYFILL(1);
6015
979
    yych = *YYCURSOR;
6016
2.44k
yy451:
6017
2.44k
    YYDEBUG(451, *YYCURSOR);
6018
2.44k
    if (yych <= 0x1F) {
6019
92
      if (yych == '\t') goto yy450;
6020
12
      goto yy86;
6021
2.35k
    } else {
6022
2.35k
      if (yych <= ' ') goto yy450;
6023
1.45k
      if (yych != ')') goto yy86;
6024
1.45k
    }
6025
347
    YYDEBUG(452, *YYCURSOR);
6026
347
    ++YYCURSOR;
6027
347
    YYDEBUG(453, *YYCURSOR);
6028
347
    yyleng = YYCURSOR - SCNG(yy_text);
6029
347
#line 1638 "Zend/zend_language_scanner.l"
6030
347
    {
6031
347
  RETURN_TOKEN(T_INT_CAST);
6032
347
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
652
yy454:
6035
652
    YYDEBUG(454, *YYCURSOR);
6036
652
    yych = *++YYCURSOR;
6037
652
    if (yych == 'G') goto yy560;
6038
632
    if (yych == 'g') goto yy560;
6039
280
    goto yy86;
6040
337
yy455:
6041
337
    YYDEBUG(455, *YYCURSOR);
6042
337
    yych = *++YYCURSOR;
6043
337
    if (yych == 'C') goto yy561;
6044
337
    if (yych == 'c') goto yy561;
6045
2
    goto yy86;
6046
4
yy456:
6047
4
    YYDEBUG(456, *YYCURSOR);
6048
4
    ++YYCURSOR;
6049
4
    YYFILL(1);
6050
4
    yych = *YYCURSOR;
6051
4
    YYDEBUG(457, *YYCURSOR);
6052
4
    if (yych <= 0x1F) {
6053
0
      if (yych == '\t') goto yy456;
6054
0
      goto yy86;
6055
4
    } else {
6056
4
      if (yych <= ' ') goto yy456;
6057
4
      if (yych == ')') goto yy562;
6058
2
      goto yy86;
6059
4
    }
6060
2.99k
yy458:
6061
2.99k
    YYDEBUG(458, *YYCURSOR);
6062
2.99k
    yych = *++YYCURSOR;
6063
2.99k
    if (yych == 'N') goto yy564;
6064
2.99k
    if (yych == 'n') goto yy564;
6065
1.24k
    goto yy86;
6066
1.24k
yy459:
6067
421
    YYDEBUG(459, *YYCURSOR);
6068
421
    yych = *++YYCURSOR;
6069
421
    if (yych == 'T') goto yy565;
6070
421
    if (yych == 't') goto yy565;
6071
369
    goto yy86;
6072
369
yy460:
6073
69
    YYDEBUG(460, *YYCURSOR);
6074
69
    ++YYCURSOR;
6075
69
    YYFILL(1);
6076
69
    yych = *YYCURSOR;
6077
69
    YYDEBUG(461, *YYCURSOR);
6078
69
    if (yych <= 0x1F) {
6079
2
      if (yych == '\t') goto yy460;
6080
0
      goto yy86;
6081
67
    } else {
6082
67
      if (yych <= ' ') goto yy460;
6083
63
      if (yych == ')') goto yy567;
6084
6
      goto yy86;
6085
63
    }
6086
1.71k
yy462:
6087
1.71k
    YYDEBUG(462, *YYCURSOR);
6088
1.71k
    ++YYCURSOR;
6089
1.71k
    YYFILL(3);
6090
1.71k
    yych = *YYCURSOR;
6091
2.72k
yy463:
6092
2.72k
    YYDEBUG(463, *YYCURSOR);
6093
2.72k
    if (yych <= 'Z') {
6094
1.26k
      if (yych <= '/') {
6095
907
        if (yych == '"') goto yy569;
6096
865
        goto yy86;
6097
907
      } else {
6098
356
        if (yych <= '9') goto yy462;
6099
342
        if (yych <= '@') goto yy86;
6100
322
        goto yy462;
6101
342
      }
6102
1.46k
    } else {
6103
1.46k
      if (yych <= '`') {
6104
80
        if (yych == '_') goto yy462;
6105
70
        goto yy86;
6106
1.38k
      } else {
6107
1.38k
        if (yych <= 'z') goto yy462;
6108
848
        if (yych <= 0x7F) goto yy86;
6109
828
        goto yy462;
6110
848
      }
6111
1.46k
    }
6112
11.2k
yy464:
6113
11.2k
    YYDEBUG(464, *YYCURSOR);
6114
11.2k
    ++YYCURSOR;
6115
11.2k
    YYFILL(3);
6116
11.2k
    yych = *YYCURSOR;
6117
14.1k
yy465:
6118
14.1k
    YYDEBUG(465, *YYCURSOR);
6119
14.1k
    if (yych <= 'Z') {
6120
5.52k
      if (yych <= '/') {
6121
2.74k
        if (yych == '\'') goto yy569;
6122
637
        goto yy86;
6123
2.78k
      } else {
6124
2.78k
        if (yych <= '9') goto yy464;
6125
2.77k
        if (yych <= '@') goto yy86;
6126
2.70k
        goto yy464;
6127
2.77k
      }
6128
8.64k
    } else {
6129
8.64k
      if (yych <= '`') {
6130
105
        if (yych == '_') goto yy464;
6131
18
        goto yy86;
6132
8.54k
      } else {
6133
8.54k
        if (yych <= 'z') goto yy464;
6134
2.88k
        if (yych <= 0x7F) goto yy86;
6135
2.83k
        goto yy464;
6136
2.88k
      }
6137
8.64k
    }
6138
116k
yy466:
6139
116k
    YYDEBUG(466, *YYCURSOR);
6140
116k
    ++YYCURSOR;
6141
117k
yy467:
6142
117k
    YYDEBUG(467, *YYCURSOR);
6143
117k
    yyleng = YYCURSOR - SCNG(yy_text);
6144
117k
#line 2678 "Zend/zend_language_scanner.l"
6145
117k
    {
6146
117k
  char *s;
6147
117k
  unsigned char *saved_cursor;
6148
117k
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
117k
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
117k
  bool is_heredoc = 1;
6151
6152
117k
  CG(zend_lineno)++;
6153
117k
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
117k
  s = yytext+bprefix+3;
6155
129k
  while ((*s == ' ') || (*s == '\t')) {
6156
11.7k
    s++;
6157
11.7k
    heredoc_label->length--;
6158
11.7k
  }
6159
6160
117k
  if (*s == '\'') {
6161
2.01k
    s++;
6162
2.01k
    heredoc_label->length -= 2;
6163
2.01k
    is_heredoc = 0;
6164
6165
2.01k
    BEGIN(ST_NOWDOC);
6166
115k
  } else {
6167
115k
    if (*s == '"') {
6168
30
      s++;
6169
30
      heredoc_label->length -= 2;
6170
30
    }
6171
6172
115k
    BEGIN(ST_HEREDOC);
6173
115k
  }
6174
6175
117k
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
117k
  heredoc_label->indentation_uses_spaces = 0;
6177
117k
  heredoc_label->indentation = 0;
6178
117k
  saved_cursor = YYCURSOR;
6179
6180
117k
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
155k
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
37.4k
    if (*YYCURSOR == '\t') {
6184
318
      spacing |= HEREDOC_USING_TABS;
6185
37.1k
    } else {
6186
37.1k
      spacing |= HEREDOC_USING_SPACES;
6187
37.1k
    }
6188
37.4k
    ++YYCURSOR;
6189
37.4k
    ++indentation;
6190
37.4k
  }
6191
6192
117k
  if (YYCURSOR == YYLIMIT) {
6193
46
    YYCURSOR = saved_cursor;
6194
46
    RETURN_TOKEN(T_START_HEREDOC);
6195
46
  }
6196
6197
  /* Check for ending label on the next line */
6198
117k
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
1.47k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
386
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
4
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
4
        if (PARSER_MODE()) {
6203
4
          RETURN_TOKEN(T_ERROR);
6204
4
        }
6205
4
      }
6206
6207
382
      YYCURSOR = saved_cursor;
6208
382
      heredoc_label->indentation = indentation;
6209
6210
382
      BEGIN(ST_END_HEREDOC);
6211
382
      RETURN_TOKEN(T_START_HEREDOC);
6212
382
    }
6213
1.47k
  }
6214
6215
117k
  YYCURSOR = saved_cursor;
6216
6217
117k
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
15.6k
    zend_lex_state current_state;
6219
15.6k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
15.6k
    int heredoc_nesting_level = 1;
6221
15.6k
    int first_token = 0;
6222
15.6k
    int error = 0;
6223
6224
15.6k
    zend_save_lexical_state(&current_state);
6225
6226
15.6k
    SCNG(heredoc_scan_ahead) = 1;
6227
15.6k
    SCNG(heredoc_indentation) = 0;
6228
15.6k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
15.6k
    SCNG(on_event_context) = NULL;
6230
15.6k
    LANG_SCNG(on_event) = NULL;
6231
15.6k
    CG(doc_comment) = NULL;
6232
6233
15.6k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
15.6k
    zend_exception_save();
6236
2.89M
    while (heredoc_nesting_level) {
6237
2.89M
      zval zv;
6238
2.89M
      int retval;
6239
6240
2.89M
      ZVAL_UNDEF(&zv);
6241
2.89M
      retval = lex_scan(&zv, NULL);
6242
2.89M
      zval_ptr_dtor_nogc(&zv);
6243
6244
2.89M
      if (EG(exception)) {
6245
11.8k
        zend_clear_exception();
6246
11.8k
        break;
6247
11.8k
      }
6248
6249
2.88M
      if (!first_token) {
6250
15.6k
        first_token = retval;
6251
15.6k
      }
6252
6253
2.88M
      switch (retval) {
6254
101k
        case T_START_HEREDOC:
6255
101k
          ++heredoc_nesting_level;
6256
101k
          break;
6257
4.17k
        case T_END_HEREDOC:
6258
4.17k
          --heredoc_nesting_level;
6259
4.17k
          break;
6260
1.90k
        case END:
6261
1.90k
          heredoc_nesting_level = 0;
6262
2.88M
      }
6263
2.88M
    }
6264
15.6k
    zend_exception_restore();
6265
6266
15.6k
    if (
6267
15.6k
        (first_token == T_VARIABLE
6268
15.3k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6269
10.1k
         || first_token == T_CURLY_OPEN
6270
15.6k
        ) && SCNG(heredoc_indentation)) {
6271
4
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6272
4
      error = 1;
6273
4
    }
6274
6275
15.6k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6276
15.6k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6277
6278
15.6k
    zend_restore_lexical_state(&current_state);
6279
15.6k
    SCNG(heredoc_scan_ahead) = 0;
6280
15.6k
    CG(increment_lineno) = 0;
6281
15.6k
    CG(doc_comment) = saved_doc_comment;
6282
6283
15.6k
    if (PARSER_MODE() && error) {
6284
4
      RETURN_TOKEN(T_ERROR);
6285
4
    }
6286
15.6k
  }
6287
6288
117k
  RETURN_TOKEN(T_START_HEREDOC);
6289
117k
}
6290
0
#line 6291 "Zend/zend_language_scanner.c"
6291
1.56k
yy468:
6292
1.56k
    YYDEBUG(468, *YYCURSOR);
6293
1.56k
    yych = *++YYCURSOR;
6294
1.56k
    if (yych == '\n') goto yy466;
6295
1.52k
    goto yy467;
6296
2.88k
yy469:
6297
2.88k
    YYDEBUG(469, *YYCURSOR);
6298
2.88k
    yyaccept = 4;
6299
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
6300
2.88k
    if (yych == 'A') goto yy570;
6301
1.56k
    if (yych == 'a') goto yy570;
6302
20
    goto yy48;
6303
9.93k
yy470:
6304
9.93k
    YYDEBUG(470, *YYCURSOR);
6305
9.93k
    yyaccept = 34;
6306
9.93k
    yych = *(YYMARKER = ++YYCURSOR);
6307
9.93k
    if (yybm[256+yych] & 128) {
6308
1.36k
      goto yy47;
6309
1.36k
    }
6310
8.57k
    if (yych == '\\') goto yy164;
6311
8.57k
yy471:
6312
8.57k
    YYDEBUG(471, *YYCURSOR);
6313
8.57k
    yyleng = YYCURSOR - SCNG(yy_text);
6314
8.57k
#line 1818 "Zend/zend_language_scanner.l"
6315
8.57k
    {
6316
8.57k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6317
8.57k
}
6318
0
#line 6319 "Zend/zend_language_scanner.c"
6319
653
yy472:
6320
653
    YYDEBUG(472, *YYCURSOR);
6321
653
    yyaccept = 35;
6322
653
    yych = *(YYMARKER = ++YYCURSOR);
6323
653
    if (yybm[256+yych] & 128) {
6324
50
      goto yy47;
6325
50
    }
6326
603
    if (yych == '\\') goto yy164;
6327
603
yy473:
6328
603
    YYDEBUG(473, *YYCURSOR);
6329
603
    yyleng = YYCURSOR - SCNG(yy_text);
6330
603
#line 1534 "Zend/zend_language_scanner.l"
6331
603
    {
6332
603
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6333
603
}
6334
0
#line 6335 "Zend/zend_language_scanner.c"
6335
516
yy474:
6336
516
    YYDEBUG(474, *YYCURSOR);
6337
516
    yyaccept = 4;
6338
516
    yych = *(YYMARKER = ++YYCURSOR);
6339
516
    if (yych == 'B') goto yy571;
6340
231
    if (yych == 'b') goto yy571;
6341
6
    goto yy48;
6342
22.1k
yy475:
6343
22.1k
    YYDEBUG(475, *YYCURSOR);
6344
22.1k
    yyaccept = 36;
6345
22.1k
    yych = *(YYMARKER = ++YYCURSOR);
6346
22.1k
    if (yybm[256+yych] & 128) {
6347
331
      goto yy47;
6348
331
    }
6349
21.8k
    if (yych == '\\') goto yy164;
6350
21.8k
yy476:
6351
21.8k
    YYDEBUG(476, *YYCURSOR);
6352
21.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6353
21.8k
#line 1442 "Zend/zend_language_scanner.l"
6354
21.8k
    {
6355
21.8k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6356
21.8k
}
6357
0
#line 6358 "Zend/zend_language_scanner.c"
6358
29.7k
yy477:
6359
29.7k
    YYDEBUG(477, *YYCURSOR);
6360
29.7k
    yyaccept = 37;
6361
29.7k
    yych = *(YYMARKER = ++YYCURSOR);
6362
29.7k
    if (yybm[256+yych] & 128) {
6363
2.43k
      goto yy47;
6364
2.43k
    }
6365
27.2k
    if (yych == '\\') goto yy164;
6366
27.2k
yy478:
6367
27.2k
    YYDEBUG(478, *YYCURSOR);
6368
27.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6369
27.2k
#line 1554 "Zend/zend_language_scanner.l"
6370
27.2k
    {
6371
27.2k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6372
27.2k
}
6373
0
#line 6374 "Zend/zend_language_scanner.c"
6374
1.50k
yy479:
6375
1.50k
    YYDEBUG(479, *YYCURSOR);
6376
1.50k
    yyaccept = 38;
6377
1.50k
    yych = *(YYMARKER = ++YYCURSOR);
6378
1.50k
    if (yybm[256+yych] & 128) {
6379
36
      goto yy47;
6380
36
    }
6381
1.46k
    if (yych == '\\') goto yy164;
6382
1.46k
yy480:
6383
1.46k
    YYDEBUG(480, *YYCURSOR);
6384
1.46k
    yyleng = YYCURSOR - SCNG(yy_text);
6385
1.46k
#line 1630 "Zend/zend_language_scanner.l"
6386
1.46k
    {
6387
1.46k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6388
1.46k
}
6389
0
#line 6390 "Zend/zend_language_scanner.c"
6390
24.3k
yy481:
6391
24.3k
    YYDEBUG(481, *YYCURSOR);
6392
24.3k
    yyaccept = 39;
6393
24.3k
    yych = *(YYMARKER = ++YYCURSOR);
6394
24.3k
    if (yybm[256+yych] & 128) {
6395
2.00k
      goto yy47;
6396
2.00k
    }
6397
22.3k
    if (yych == '\\') goto yy164;
6398
22.3k
yy482:
6399
22.3k
    YYDEBUG(482, *YYCURSOR);
6400
22.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6401
22.3k
#line 1415 "Zend/zend_language_scanner.l"
6402
22.3k
    {
6403
22.3k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6404
22.3k
}
6405
0
#line 6406 "Zend/zend_language_scanner.c"
6406
1.13k
yy483:
6407
1.13k
    YYDEBUG(483, *YYCURSOR);
6408
1.13k
    yyaccept = 4;
6409
1.13k
    yych = *(YYMARKER = ++YYCURSOR);
6410
1.13k
    if (yych == 'N') goto yy572;
6411
532
    if (yych == 'n') goto yy572;
6412
98
    goto yy48;
6413
3.33k
yy484:
6414
3.33k
    YYDEBUG(484, *YYCURSOR);
6415
3.33k
    yyaccept = 4;
6416
3.33k
    yych = *(YYMARKER = ++YYCURSOR);
6417
3.33k
    if (yych == 'R') goto yy573;
6418
3.14k
    if (yych == 'r') goto yy573;
6419
1.13k
    goto yy48;
6420
1.13k
yy485:
6421
418
    YYDEBUG(485, *YYCURSOR);
6422
418
    yyaccept = 4;
6423
418
    yych = *(YYMARKER = ++YYCURSOR);
6424
418
    if (yych == 'L') goto yy574;
6425
380
    if (yych == 'l') goto yy574;
6426
110
    goto yy48;
6427
133
yy486:
6428
133
    YYDEBUG(486, *YYCURSOR);
6429
133
    yyaccept = 4;
6430
133
    yych = *(YYMARKER = ++YYCURSOR);
6431
133
    if (yych == 'F') goto yy575;
6432
96
    if (yych == 'f') goto yy575;
6433
0
    goto yy48;
6434
1.85k
yy487:
6435
1.85k
    YYDEBUG(487, *YYCURSOR);
6436
1.85k
    yyaccept = 40;
6437
1.85k
    yych = *(YYMARKER = ++YYCURSOR);
6438
1.85k
    if (yybm[256+yych] & 128) {
6439
3
      goto yy47;
6440
3
    }
6441
1.84k
    if (yych == '\\') goto yy164;
6442
1.84k
yy488:
6443
1.84k
    YYDEBUG(488, *YYCURSOR);
6444
1.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6445
1.84k
#line 1758 "Zend/zend_language_scanner.l"
6446
1.84k
    {
6447
1.84k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6448
1.84k
}
6449
0
#line 6450 "Zend/zend_language_scanner.c"
6450
1.53k
yy489:
6451
1.53k
    YYDEBUG(489, *YYCURSOR);
6452
1.53k
    yyaccept = 4;
6453
1.53k
    yych = *(YYMARKER = ++YYCURSOR);
6454
1.53k
    if (yych == 'C') goto yy577;
6455
1.14k
    if (yych == 'c') goto yy577;
6456
1.07k
    goto yy48;
6457
1.98k
yy490:
6458
1.98k
    YYDEBUG(490, *YYCURSOR);
6459
1.98k
    yyaccept = 4;
6460
1.98k
    yych = *(YYMARKER = ++YYCURSOR);
6461
1.98k
    if (yych == 'R') goto yy578;
6462
164
    if (yych == 'r') goto yy578;
6463
4
    goto yy48;
6464
3.00k
yy491:
6465
3.00k
    YYDEBUG(491, *YYCURSOR);
6466
3.00k
    yyaccept = 41;
6467
3.00k
    yych = *(YYMARKER = ++YYCURSOR);
6468
3.00k
    if (yybm[256+yych] & 128) {
6469
260
      goto yy47;
6470
260
    }
6471
2.74k
    if (yych == '\\') goto yy164;
6472
2.74k
yy492:
6473
2.74k
    YYDEBUG(492, *YYCURSOR);
6474
2.74k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
2.74k
#line 1462 "Zend/zend_language_scanner.l"
6476
2.74k
    {
6477
2.74k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6478
2.74k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
542
yy493:
6481
542
    YYDEBUG(493, *YYCURSOR);
6482
542
    yyaccept = 4;
6483
542
    yych = *(YYMARKER = ++YYCURSOR);
6484
542
    if (yych == 'I') goto yy580;
6485
420
    if (yych == 'i') goto yy580;
6486
20
    goto yy48;
6487
1.46k
yy494:
6488
1.46k
    YYDEBUG(494, *YYCURSOR);
6489
1.46k
    yyaccept = 4;
6490
1.46k
    yych = *(YYMARKER = ++YYCURSOR);
6491
1.46k
    if (yych == 'I') goto yy581;
6492
253
    if (yych == 'i') goto yy581;
6493
4
    goto yy48;
6494
170k
yy495:
6495
170k
    YYDEBUG(495, *YYCURSOR);
6496
170k
    ++YYCURSOR;
6497
170k
    YYFILL(10);
6498
170k
    yych = *YYCURSOR;
6499
170k
    YYDEBUG(496, *YYCURSOR);
6500
170k
    if (yych <= 'E') {
6501
167k
      if (yych <= ' ') {
6502
41.9k
        if (yych <= '\f') {
6503
10.4k
          if (yych <= 0x08) goto yy86;
6504
10.3k
          if (yych <= '\n') goto yy495;
6505
0
          goto yy86;
6506
31.5k
        } else {
6507
31.5k
          if (yych <= '\r') goto yy495;
6508
874
          if (yych <= 0x1F) goto yy86;
6509
846
          goto yy495;
6510
874
        }
6511
125k
      } else {
6512
125k
        if (yych <= '.') {
6513
117k
          if (yych != '#') goto yy86;
6514
117k
        } else {
6515
7.69k
          if (yych <= '/') goto yy498;
6516
717
          if (yych <= '@') goto yy86;
6517
299
          if (yych <= 'D') goto yy582;
6518
82
          goto yy584;
6519
299
        }
6520
125k
      }
6521
167k
    } else {
6522
2.83k
      if (yych <= '`') {
6523
717
        if (yych <= 'Z') {
6524
679
          if (yych == 'I') goto yy585;
6525
504
          goto yy582;
6526
679
        } else {
6527
38
          if (yych == '_') goto yy582;
6528
0
          goto yy86;
6529
38
        }
6530
2.11k
      } else {
6531
2.11k
        if (yych <= 'h') {
6532
1.27k
          if (yych == 'e') goto yy584;
6533
435
          goto yy582;
6534
1.27k
        } else {
6535
842
          if (yych <= 'i') goto yy585;
6536
562
          if (yych <= 'z') goto yy582;
6537
288
          if (yych <= 0x7F) goto yy86;
6538
196
          goto yy582;
6539
288
        }
6540
2.11k
      }
6541
2.83k
    }
6542
118k
yy497:
6543
118k
    YYDEBUG(497, *YYCURSOR);
6544
118k
    ++YYCURSOR;
6545
118k
    YYFILL(1);
6546
118k
    yych = *YYCURSOR;
6547
118k
    if (yych <= '\f') {
6548
75.2k
      if (yych <= 0x00) goto yy86;
6549
75.1k
      if (yych == '\n') goto yy588;
6550
46
      goto yy586;
6551
75.1k
    } else {
6552
43.2k
      if (yych <= '\r') goto yy588;
6553
24.2k
      if (yych == '[') goto yy86;
6554
24.2k
      goto yy586;
6555
24.2k
    }
6556
7.00k
yy498:
6557
7.00k
    YYDEBUG(498, *YYCURSOR);
6558
7.00k
    ++YYCURSOR;
6559
7.00k
    YYFILL(1);
6560
7.00k
    yych = *YYCURSOR;
6561
7.00k
    if (yych == '*') goto yy590;
6562
876
    if (yych == '/') goto yy586;
6563
346
    goto yy86;
6564
4.38k
yy499:
6565
4.38k
    YYDEBUG(499, *YYCURSOR);
6566
4.38k
    yyaccept = 4;
6567
4.38k
    yych = *(YYMARKER = ++YYCURSOR);
6568
4.38k
    if (yych == 'D') goto yy592;
6569
4.14k
    if (yych == 'd') goto yy592;
6570
352
    goto yy48;
6571
2.26k
yy500:
6572
2.26k
    YYDEBUG(500, *YYCURSOR);
6573
2.26k
    yyaccept = 42;
6574
2.26k
    yych = *(YYMARKER = ++YYCURSOR);
6575
2.26k
    if (yych <= '\\') {
6576
1.19k
      if (yych <= 'K') {
6577
1.06k
        if (yych <= '/') goto yy501;
6578
78
        if (yych <= '9') goto yy47;
6579
34
        if (yych >= 'A') goto yy47;
6580
126
      } else {
6581
126
        if (yych <= 'L') goto yy593;
6582
2
        if (yych <= 'Z') goto yy47;
6583
0
        if (yych >= '\\') goto yy164;
6584
0
      }
6585
1.19k
    } else {
6586
1.07k
      if (yych <= 'k') {
6587
6
        if (yych == '_') goto yy47;
6588
6
        if (yych >= 'a') goto yy47;
6589
1.06k
      } else {
6590
1.06k
        if (yych <= 'l') goto yy593;
6591
85
        if (yych <= 'z') goto yy47;
6592
74
        if (yych >= 0x80) goto yy47;
6593
74
      }
6594
1.07k
    }
6595
1.02k
yy501:
6596
1.02k
    YYDEBUG(501, *YYCURSOR);
6597
1.02k
    yyleng = YYCURSOR - SCNG(yy_text);
6598
1.02k
#line 1774 "Zend/zend_language_scanner.l"
6599
1.02k
    {
6600
1.02k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6601
1.02k
}
6602
0
#line 6603 "Zend/zend_language_scanner.c"
6603
11.7k
yy502:
6604
11.7k
    YYDEBUG(502, *YYCURSOR);
6605
11.7k
    yyaccept = 4;
6606
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
6607
11.7k
    if (yych == 'C') goto yy594;
6608
11.5k
    if (yych == 'c') goto yy594;
6609
188
    goto yy48;
6610
40.4k
yy503:
6611
40.4k
    YYDEBUG(503, *YYCURSOR);
6612
40.4k
    yyaccept = 4;
6613
40.4k
    yych = *(YYMARKER = ++YYCURSOR);
6614
40.4k
    if (yych == 'I') goto yy595;
6615
40.2k
    if (yych == 'i') goto yy595;
6616
536
    goto yy48;
6617
2.86k
yy504:
6618
2.86k
    YYDEBUG(504, *YYCURSOR);
6619
2.86k
    yyaccept = 4;
6620
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
6621
2.86k
    if (yych == 'L') goto yy596;
6622
1.46k
    if (yych == 'l') goto yy596;
6623
80
    goto yy48;
6624
1.35k
yy505:
6625
1.35k
    YYDEBUG(505, *YYCURSOR);
6626
1.35k
    yyaccept = 4;
6627
1.35k
    yych = *(YYMARKER = ++YYCURSOR);
6628
1.35k
    if (yych == 'M') goto yy598;
6629
1.03k
    if (yych == 'm') goto yy598;
6630
10
    goto yy48;
6631
3.02k
yy506:
6632
3.02k
    YYDEBUG(506, *YYCURSOR);
6633
3.02k
    yyaccept = 4;
6634
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
6635
3.02k
    if (yych == 'D') goto yy599;
6636
2.49k
    if (yych == 'd') goto yy599;
6637
146
    goto yy48;
6638
1.03k
yy507:
6639
1.03k
    YYDEBUG(507, *YYCURSOR);
6640
1.03k
    yyaccept = 4;
6641
1.03k
    yych = *(YYMARKER = ++YYCURSOR);
6642
1.03k
    if (yych == 'N') goto yy600;
6643
876
    if (yych == 'n') goto yy600;
6644
36
    goto yy48;
6645
5.58k
yy508:
6646
5.58k
    YYDEBUG(508, *YYCURSOR);
6647
5.58k
    yyaccept = 4;
6648
5.58k
    yych = *(YYMARKER = ++YYCURSOR);
6649
5.58k
    if (yych == 'A') goto yy601;
6650
4.96k
    if (yych == 'a') goto yy601;
6651
2.74k
    goto yy48;
6652
2.74k
yy509:
6653
1.44k
    YYDEBUG(509, *YYCURSOR);
6654
1.44k
    yyaccept = 4;
6655
1.44k
    yych = *(YYMARKER = ++YYCURSOR);
6656
1.44k
    if (yych == 'F') goto yy602;
6657
1.27k
    if (yych == 'f') goto yy602;
6658
6
    goto yy48;
6659
13.5k
yy510:
6660
13.5k
    YYDEBUG(510, *YYCURSOR);
6661
13.5k
    yyaccept = 43;
6662
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
6663
13.5k
    if (yybm[256+yych] & 128) {
6664
3.52k
      goto yy47;
6665
3.52k
    }
6666
10.0k
    if (yych == '\\') goto yy164;
6667
10.0k
yy511:
6668
10.0k
    YYDEBUG(511, *YYCURSOR);
6669
10.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6670
10.0k
#line 1754 "Zend/zend_language_scanner.l"
6671
10.0k
    {
6672
10.0k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6673
10.0k
}
6674
0
#line 6675 "Zend/zend_language_scanner.c"
6675
1.02k
yy512:
6676
1.02k
    YYDEBUG(512, *YYCURSOR);
6677
1.02k
    yyaccept = 44;
6678
1.02k
    yych = *(YYMARKER = ++YYCURSOR);
6679
1.02k
    if (yybm[256+yych] & 128) {
6680
2
      goto yy47;
6681
2
    }
6682
1.02k
    if (yych == '\\') goto yy164;
6683
1.02k
yy513:
6684
1.02k
    YYDEBUG(513, *YYCURSOR);
6685
1.02k
    yyleng = YYCURSOR - SCNG(yy_text);
6686
1.02k
#line 1518 "Zend/zend_language_scanner.l"
6687
1.02k
    {
6688
1.02k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6689
1.02k
}
6690
0
#line 6691 "Zend/zend_language_scanner.c"
6691
6.45k
yy514:
6692
6.45k
    YYDEBUG(514, *YYCURSOR);
6693
6.45k
    yyaccept = 4;
6694
6.45k
    yych = *(YYMARKER = ++YYCURSOR);
6695
6.45k
    if (yych == 'P') goto yy603;
6696
6.27k
    if (yych == 'p') goto yy603;
6697
64
    goto yy48;
6698
5.84k
yy515:
6699
5.84k
    YYDEBUG(515, *YYCURSOR);
6700
5.84k
    yyaccept = 45;
6701
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
6702
5.84k
    if (yybm[256+yych] & 128) {
6703
4.06k
      goto yy47;
6704
4.06k
    }
6705
1.77k
    if (yych == '\\') goto yy164;
6706
1.77k
yy516:
6707
1.77k
    YYDEBUG(516, *YYCURSOR);
6708
1.77k
    yyleng = YYCURSOR - SCNG(yy_text);
6709
1.77k
#line 1550 "Zend/zend_language_scanner.l"
6710
1.77k
    {
6711
1.77k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6712
1.77k
}
6713
0
#line 6714 "Zend/zend_language_scanner.c"
6714
4.82k
yy517:
6715
4.82k
    YYDEBUG(517, *YYCURSOR);
6716
4.82k
    yyaccept = 4;
6717
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
6718
4.82k
    if (yych == 'T') goto yy604;
6719
3.65k
    if (yych == 't') goto yy604;
6720
119
    goto yy48;
6721
3.30k
yy518:
6722
3.30k
    YYDEBUG(518, *YYCURSOR);
6723
3.30k
    yyaccept = 4;
6724
3.30k
    yych = *(YYMARKER = ++YYCURSOR);
6725
3.30k
    if (yych == 'C') goto yy605;
6726
2.13k
    if (yych == 'c') goto yy605;
6727
21
    goto yy48;
6728
27.9k
yy519:
6729
27.9k
    YYDEBUG(519, *YYCURSOR);
6730
27.9k
    yyaccept = 4;
6731
27.9k
    yych = *(YYMARKER = ++YYCURSOR);
6732
27.9k
    if (yych == 'C') goto yy606;
6733
26.4k
    if (yych == 'c') goto yy606;
6734
2.79k
    goto yy48;
6735
2.87k
yy520:
6736
2.87k
    YYDEBUG(520, *YYCURSOR);
6737
2.87k
    yyaccept = 4;
6738
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
6739
2.87k
    if (yych == 'N') goto yy608;
6740
2.87k
    if (yych == 'n') goto yy608;
6741
69
    goto yy48;
6742
4.57k
yy521:
6743
4.57k
    YYDEBUG(521, *YYCURSOR);
6744
4.57k
    yyaccept = 4;
6745
4.57k
    yych = *(YYMARKER = ++YYCURSOR);
6746
4.57k
    if (yych == 'R') goto yy609;
6747
4.45k
    if (yych == 'r') goto yy609;
6748
52
    goto yy48;
6749
11.5k
yy522:
6750
11.5k
    YYDEBUG(522, *YYCURSOR);
6751
11.5k
    yyaccept = 4;
6752
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
6753
11.5k
    if (yych == 'N') goto yy610;
6754
11.4k
    if (yych == 'n') goto yy610;
6755
169
    goto yy48;
6756
7.75k
yy523:
6757
7.75k
    YYDEBUG(523, *YYCURSOR);
6758
7.75k
    yyaccept = 4;
6759
7.75k
    yych = *(YYMARKER = ++YYCURSOR);
6760
7.75k
    if (yych == 'C') goto yy612;
6761
7.11k
    if (yych == 'c') goto yy612;
6762
419
    goto yy48;
6763
441
yy524:
6764
441
    YYDEBUG(524, *YYCURSOR);
6765
441
    yyaccept = 4;
6766
441
    yych = *(YYMARKER = ++YYCURSOR);
6767
441
    if (yych == 'H') goto yy614;
6768
389
    if (yych == 'h') goto yy614;
6769
42
    goto yy48;
6770
4.89k
yy525:
6771
4.89k
    YYDEBUG(525, *YYCURSOR);
6772
4.89k
    yyaccept = 46;
6773
4.89k
    yych = *(YYMARKER = ++YYCURSOR);
6774
4.89k
    if (yybm[256+yych] & 128) {
6775
1.37k
      goto yy47;
6776
1.37k
    }
6777
3.51k
    if (yych == '\\') goto yy164;
6778
3.51k
yy526:
6779
3.51k
    YYDEBUG(526, *YYCURSOR);
6780
3.51k
    yyleng = YYCURSOR - SCNG(yy_text);
6781
3.51k
#line 1450 "Zend/zend_language_scanner.l"
6782
3.51k
    {
6783
3.51k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6784
3.51k
}
6785
0
#line 6786 "Zend/zend_language_scanner.c"
6786
5.69k
yy527:
6787
5.69k
    YYDEBUG(527, *YYCURSOR);
6788
5.69k
    yyaccept = 47;
6789
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
6790
5.69k
    if (yybm[256+yych] & 128) {
6791
1.21k
      goto yy47;
6792
1.21k
    }
6793
4.47k
    if (yych == '\\') goto yy164;
6794
4.47k
yy528:
6795
4.47k
    YYDEBUG(528, *YYCURSOR);
6796
4.47k
    yyleng = YYCURSOR - SCNG(yy_text);
6797
4.47k
#line 1562 "Zend/zend_language_scanner.l"
6798
4.47k
    {
6799
4.47k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6800
4.47k
}
6801
0
#line 6802 "Zend/zend_language_scanner.c"
6802
3.02k
yy529:
6803
3.02k
    YYDEBUG(529, *YYCURSOR);
6804
3.02k
    yyaccept = 48;
6805
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
6806
3.02k
    if (yybm[256+yych] & 128) {
6807
79
      goto yy47;
6808
79
    }
6809
2.94k
    if (yych == '\\') goto yy164;
6810
2.94k
yy530:
6811
2.94k
    YYDEBUG(530, *YYCURSOR);
6812
2.94k
    yyleng = YYCURSOR - SCNG(yy_text);
6813
2.94k
#line 1806 "Zend/zend_language_scanner.l"
6814
2.94k
    {
6815
2.94k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6816
2.94k
}
6817
0
#line 6818 "Zend/zend_language_scanner.c"
6818
1.50k
yy531:
6819
1.50k
    YYDEBUG(531, *YYCURSOR);
6820
1.50k
    yyaccept = 49;
6821
1.50k
    yych = *(YYMARKER = ++YYCURSOR);
6822
1.50k
    if (yybm[256+yych] & 128) {
6823
104
      goto yy47;
6824
104
    }
6825
1.40k
    if (yych == '\\') goto yy164;
6826
1.40k
yy532:
6827
1.40k
    YYDEBUG(532, *YYCURSOR);
6828
1.40k
    yyleng = YYCURSOR - SCNG(yy_text);
6829
1.40k
#line 1470 "Zend/zend_language_scanner.l"
6830
1.40k
    {
6831
1.40k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6832
1.40k
}
6833
0
#line 6834 "Zend/zend_language_scanner.c"
6834
4.84k
yy533:
6835
4.84k
    YYDEBUG(533, *YYCURSOR);
6836
4.84k
    yyaccept = 50;
6837
4.84k
    yych = *(YYMARKER = ++YYCURSOR);
6838
4.84k
    if (yybm[256+yych] & 128) {
6839
66
      goto yy47;
6840
66
    }
6841
4.78k
    if (yych <= ' ') {
6842
2.05k
      if (yych <= '\f') {
6843
61
        if (yych <= 0x08) goto yy534;
6844
55
        if (yych <= '\n') goto yy616;
6845
1.99k
      } else {
6846
1.99k
        if (yych <= '\r') goto yy616;
6847
1.99k
        if (yych >= ' ') goto yy616;
6848
1.99k
      }
6849
2.72k
    } else {
6850
2.72k
      if (yych <= '.') {
6851
2.19k
        if (yych == '#') goto yy618;
6852
2.19k
      } else {
6853
533
        if (yych <= '/') goto yy619;
6854
511
        if (yych == '\\') goto yy164;
6855
511
      }
6856
2.72k
    }
6857
4.26k
yy534:
6858
4.26k
    YYDEBUG(534, *YYCURSOR);
6859
4.26k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
4.26k
#line 1434 "Zend/zend_language_scanner.l"
6861
4.26k
    {
6862
4.26k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6863
4.26k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
885
yy535:
6866
885
    YYDEBUG(535, *YYCURSOR);
6867
885
    yyaccept = 4;
6868
885
    yych = *(YYMARKER = ++YYCURSOR);
6869
885
    if (yych == 'S') goto yy620;
6870
30
    if (yych == 's') goto yy620;
6871
26
    goto yy48;
6872
1.15k
yy536:
6873
1.15k
    YYDEBUG(536, *YYCURSOR);
6874
1.15k
    yyaccept = 4;
6875
1.15k
    yych = *(YYMARKER = ++YYCURSOR);
6876
1.15k
    if (yych == '_') goto yy621;
6877
561
    goto yy48;
6878
4.19k
yy537:
6879
4.19k
    YYDEBUG(537, *YYCURSOR);
6880
4.19k
    yyaccept = 4;
6881
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
6882
4.19k
    if (yych == 'E') goto yy622;
6883
211
    if (yych == 'e') goto yy622;
6884
167
    goto yy48;
6885
2.53k
yy538:
6886
2.53k
    YYDEBUG(538, *YYCURSOR);
6887
2.53k
    yyaccept = 4;
6888
2.53k
    yych = *(YYMARKER = ++YYCURSOR);
6889
2.53k
    if (yych == 'C') goto yy623;
6890
330
    if (yych == 'c') goto yy623;
6891
328
    goto yy48;
6892
328
yy539:
6893
80
    YYDEBUG(539, *YYCURSOR);
6894
80
    yyaccept = 4;
6895
80
    yych = *(YYMARKER = ++YYCURSOR);
6896
80
    if (yych == 'T') goto yy624;
6897
18
    if (yych == 't') goto yy624;
6898
4
    goto yy48;
6899
285
yy540:
6900
285
    YYDEBUG(540, *YYCURSOR);
6901
285
    yyaccept = 4;
6902
285
    yych = *(YYMARKER = ++YYCURSOR);
6903
285
    if (yych == 'E') goto yy625;
6904
16
    if (yych == 'e') goto yy625;
6905
12
    goto yy48;
6906
4.78k
yy541:
6907
4.78k
    YYDEBUG(541, *YYCURSOR);
6908
4.78k
    yyaccept = 4;
6909
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
6910
4.78k
    if (yych == 'H') goto yy626;
6911
121
    if (yych == 'h') goto yy626;
6912
117
    goto yy48;
6913
2.29k
yy542:
6914
2.29k
    YYDEBUG(542, *YYCURSOR);
6915
2.29k
    yyaccept = 4;
6916
2.29k
    yych = *(YYMARKER = ++YYCURSOR);
6917
2.29k
    if (yych == 'E') goto yy627;
6918
112
    if (yych == 'e') goto yy627;
6919
42
    goto yy48;
6920
370
yy543:
6921
370
    YYDEBUG(543, *YYCURSOR);
6922
370
    yyaccept = 4;
6923
370
    yych = *(YYMARKER = ++YYCURSOR);
6924
370
    if (yych == 'P') goto yy628;
6925
52
    if (yych == 'p') goto yy628;
6926
52
    goto yy48;
6927
996
yy544:
6928
996
    YYDEBUG(544, *YYCURSOR);
6929
996
    yyaccept = 4;
6930
996
    yych = *(YYMARKER = ++YYCURSOR);
6931
996
    if (yych == 'I') goto yy629;
6932
248
    if (yych == 'i') goto yy629;
6933
248
    goto yy48;
6934
9.72k
yy545:
6935
9.72k
    YYDEBUG(545, *YYCURSOR);
6936
9.72k
    ++YYCURSOR;
6937
9.72k
    YYFILL(1);
6938
9.72k
    yych = *YYCURSOR;
6939
9.72k
    YYDEBUG(546, *YYCURSOR);
6940
9.72k
    if (yybm[0+yych] & 64) {
6941
0
      goto yy355;
6942
0
    }
6943
9.72k
    if (yych <= ' ') {
6944
382
      if (yych <= '\n') {
6945
112
        if (yych <= 0x00) goto yy86;
6946
104
        if (yych <= 0x08) goto yy230;
6947
104
        goto yy545;
6948
270
      } else {
6949
270
        if (yych == '\r') goto yy545;
6950
8
        if (yych <= 0x1F) goto yy230;
6951
8
        goto yy545;
6952
8
      }
6953
9.34k
    } else {
6954
9.34k
      if (yych <= '$') {
6955
8.47k
        if (yych <= '"') goto yy230;
6956
8.47k
        if (yych <= '#') goto yy630;
6957
954
        goto yy631;
6958
8.47k
      } else {
6959
866
        if (yych <= '-') goto yy230;
6960
850
        if (yych <= '.') goto yy632;
6961
850
        if (yych <= '/') goto yy633;
6962
532
        goto yy230;
6963
850
      }
6964
9.34k
    }
6965
3.02k
yy547:
6966
3.02k
    YYDEBUG(547, *YYCURSOR);
6967
3.02k
    ++YYCURSOR;
6968
3.02k
    YYFILL(1);
6969
3.02k
    yych = *YYCURSOR;
6970
3.02k
    YYDEBUG(548, *YYCURSOR);
6971
3.02k
    if (yych <= '\r') {
6972
1.22k
      if (yych <= '\t') {
6973
0
        if (yych <= 0x00) goto yy86;
6974
0
        goto yy443;
6975
1.22k
      } else {
6976
1.22k
        if (yych <= '\n') goto yy545;
6977
1.21k
        if (yych <= '\f') goto yy443;
6978
1.21k
        goto yy545;
6979
1.21k
      }
6980
1.80k
    } else {
6981
1.80k
      if (yych <= '*') {
6982
16
        if (yych <= ')') goto yy443;
6983
0
        goto yy547;
6984
1.78k
      } else {
6985
1.78k
        if (yych == '/') goto yy227;
6986
338
        goto yy443;
6987
1.78k
      }
6988
1.80k
    }
6989
1.87k
yy549:
6990
1.87k
    YYDEBUG(549, *YYCURSOR);
6991
1.87k
    ++YYCURSOR;
6992
1.87k
    YYFILL(1);
6993
1.87k
    yych = *YYCURSOR;
6994
1.87k
    YYDEBUG(550, *YYCURSOR);
6995
1.87k
    if (yych <= 0x1F) {
6996
10
      if (yych == '\t') goto yy549;
6997
10
      goto yy86;
6998
1.86k
    } else {
6999
1.86k
      if (yych <= ' ') goto yy549;
7000
1.50k
      if (yych == ')') goto yy634;
7001
1.28k
      goto yy86;
7002
1.50k
    }
7003
80
yy551:
7004
80
    YYDEBUG(551, *YYCURSOR);
7005
80
    yych = *++YYCURSOR;
7006
80
    if (yych == 'Y') goto yy636;
7007
66
    if (yych == 'y') goto yy636;
7008
8
    goto yy86;
7009
114
yy552:
7010
114
    YYDEBUG(552, *YYCURSOR);
7011
114
    ++YYCURSOR;
7012
114
    YYFILL(1);
7013
114
    yych = *YYCURSOR;
7014
232
yy553:
7015
232
    YYDEBUG(553, *YYCURSOR);
7016
232
    if (yych <= 0x1F) {
7017
6
      if (yych == '\t') goto yy552;
7018
6
      goto yy86;
7019
226
    } else {
7020
226
      if (yych <= ' ') goto yy552;
7021
112
      if (yych != ')') goto yy86;
7022
112
    }
7023
56
    YYDEBUG(554, *YYCURSOR);
7024
56
    ++YYCURSOR;
7025
56
    YYDEBUG(555, *YYCURSOR);
7026
56
    yyleng = YYCURSOR - SCNG(yy_text);
7027
56
#line 1696 "Zend/zend_language_scanner.l"
7028
56
    {
7029
56
  RETURN_TOKEN(T_BOOL_CAST);
7030
56
}
7031
0
#line 7032 "Zend/zend_language_scanner.c"
7032
22
yy556:
7033
22
    YYDEBUG(556, *YYCURSOR);
7034
22
    yych = *++YYCURSOR;
7035
22
    if (yych == 'A') goto yy638;
7036
22
    if (yych == 'a') goto yy638;
7037
0
    goto yy86;
7038
244
yy557:
7039
244
    YYDEBUG(557, *YYCURSOR);
7040
244
    yych = *++YYCURSOR;
7041
244
    if (yych == 'E') goto yy639;
7042
244
    if (yych == 'e') goto yy639;
7043
6
    goto yy86;
7044
408
yy558:
7045
408
    YYDEBUG(558, *YYCURSOR);
7046
408
    ++YYCURSOR;
7047
408
    YYFILL(1);
7048
408
    yych = *YYCURSOR;
7049
408
    YYDEBUG(559, *YYCURSOR);
7050
408
    if (yych <= 0x1F) {
7051
0
      if (yych == '\t') goto yy558;
7052
0
      goto yy86;
7053
408
    } else {
7054
408
      if (yych <= ' ') goto yy558;
7055
303
      if (yych == ')') goto yy641;
7056
111
      goto yy86;
7057
303
    }
7058
372
yy560:
7059
372
    YYDEBUG(560, *YYCURSOR);
7060
372
    yych = *++YYCURSOR;
7061
372
    if (yych == 'E') goto yy643;
7062
372
    if (yych == 'e') goto yy643;
7063
20
    goto yy86;
7064
335
yy561:
7065
335
    YYDEBUG(561, *YYCURSOR);
7066
335
    yych = *++YYCURSOR;
7067
335
    if (yych == 'T') goto yy644;
7068
335
    if (yych == 't') goto yy644;
7069
2
    goto yy86;
7070
2
yy562:
7071
2
    YYDEBUG(562, *YYCURSOR);
7072
2
    ++YYCURSOR;
7073
2
    YYDEBUG(563, *YYCURSOR);
7074
2
    yyleng = YYCURSOR - SCNG(yy_text);
7075
2
#line 1666 "Zend/zend_language_scanner.l"
7076
2
    {
7077
2
  if (PARSER_MODE()) {
7078
2
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7079
2
    RETURN_TOKEN(T_ERROR);
7080
2
  }
7081
0
  RETURN_TOKEN(T_DOUBLE_CAST);
7082
0
}
7083
0
#line 7084 "Zend/zend_language_scanner.c"
7084
1.75k
yy564:
7085
1.75k
    YYDEBUG(564, *YYCURSOR);
7086
1.75k
    yych = *++YYCURSOR;
7087
1.75k
    if (yych == 'G') goto yy646;
7088
1.75k
    if (yych == 'g') goto yy646;
7089
2
    goto yy86;
7090
54
yy565:
7091
54
    YYDEBUG(565, *YYCURSOR);
7092
54
    ++YYCURSOR;
7093
54
    YYFILL(1);
7094
54
    yych = *YYCURSOR;
7095
54
    YYDEBUG(566, *YYCURSOR);
7096
54
    if (yych <= 0x1F) {
7097
0
      if (yych == '\t') goto yy565;
7098
0
      goto yy86;
7099
54
    } else {
7100
54
      if (yych <= ' ') goto yy565;
7101
52
      if (yych == ')') goto yy648;
7102
50
      goto yy86;
7103
52
    }
7104
57
yy567:
7105
57
    YYDEBUG(567, *YYCURSOR);
7106
57
    ++YYCURSOR;
7107
57
    YYDEBUG(568, *YYCURSOR);
7108
57
    yyleng = YYCURSOR - SCNG(yy_text);
7109
57
#line 1714 "Zend/zend_language_scanner.l"
7110
57
    {
7111
57
  RETURN_TOKEN(T_VOID_CAST);
7112
57
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
2.14k
yy569:
7115
2.14k
    YYDEBUG(569, *YYCURSOR);
7116
2.14k
    yych = *++YYCURSOR;
7117
2.14k
    if (yych == '\n') goto yy466;
7118
354
    if (yych == '\r') goto yy468;
7119
100
    goto yy86;
7120
2.86k
yy570:
7121
2.86k
    YYDEBUG(570, *YYCURSOR);
7122
2.86k
    yyaccept = 4;
7123
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
7124
2.86k
    if (yych == 'C') goto yy650;
7125
1.54k
    if (yych == 'c') goto yy650;
7126
34
    goto yy48;
7127
510
yy571:
7128
510
    YYDEBUG(571, *YYCURSOR);
7129
510
    yyaccept = 4;
7130
510
    yych = *(YYMARKER = ++YYCURSOR);
7131
510
    if (yych == 'L') goto yy651;
7132
291
    if (yych == 'l') goto yy651;
7133
68
    goto yy48;
7134
1.04k
yy572:
7135
1.04k
    YYDEBUG(572, *YYCURSOR);
7136
1.04k
    yyaccept = 4;
7137
1.04k
    yych = *(YYMARKER = ++YYCURSOR);
7138
1.04k
    if (yych == 'U') goto yy652;
7139
436
    if (yych == 'u') goto yy652;
7140
4
    goto yy48;
7141
2.19k
yy573:
7142
2.19k
    YYDEBUG(573, *YYCURSOR);
7143
2.19k
    yyaccept = 4;
7144
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
7145
2.19k
    if (yych == 'E') goto yy653;
7146
2.00k
    if (yych == 'e') goto yy653;
7147
34
    goto yy48;
7148
308
yy574:
7149
308
    YYDEBUG(574, *YYCURSOR);
7150
308
    yyaccept = 4;
7151
308
    yych = *(YYMARKER = ++YYCURSOR);
7152
308
    if (yych == 'T') goto yy655;
7153
268
    if (yych == 't') goto yy655;
7154
6
    goto yy48;
7155
133
yy575:
7156
133
    YYDEBUG(575, *YYCURSOR);
7157
133
    yyaccept = 51;
7158
133
    yych = *(YYMARKER = ++YYCURSOR);
7159
133
    if (yybm[256+yych] & 128) {
7160
2
      goto yy47;
7161
2
    }
7162
131
    if (yych == '\\') goto yy164;
7163
131
yy576:
7164
131
    YYDEBUG(576, *YYCURSOR);
7165
131
    yyleng = YYCURSOR - SCNG(yy_text);
7166
131
#line 1458 "Zend/zend_language_scanner.l"
7167
131
    {
7168
131
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7169
131
}
7170
0
#line 7171 "Zend/zend_language_scanner.c"
7171
459
yy577:
7172
459
    YYDEBUG(577, *YYCURSOR);
7173
459
    yyaccept = 4;
7174
459
    yych = *(YYMARKER = ++YYCURSOR);
7175
459
    if (yych == 'L') goto yy657;
7176
102
    if (yych == 'l') goto yy657;
7177
28
    goto yy48;
7178
1.97k
yy578:
7179
1.97k
    YYDEBUG(578, *YYCURSOR);
7180
1.97k
    yyaccept = 52;
7181
1.97k
    yych = *(YYMARKER = ++YYCURSOR);
7182
1.97k
    if (yych <= '\\') {
7183
1.88k
      if (yych <= 'D') {
7184
461
        if (yych <= '/') goto yy579;
7185
34
        if (yych <= '9') goto yy47;
7186
10
        if (yych >= 'A') goto yy47;
7187
1.42k
      } else {
7188
1.42k
        if (yych <= 'E') goto yy658;
7189
2
        if (yych <= 'Z') goto yy47;
7190
0
        if (yych >= '\\') goto yy164;
7191
0
      }
7192
1.88k
    } else {
7193
96
      if (yych <= 'd') {
7194
0
        if (yych == '_') goto yy47;
7195
0
        if (yych >= 'a') goto yy47;
7196
96
      } else {
7197
96
        if (yych <= 'e') goto yy658;
7198
36
        if (yych <= 'z') goto yy47;
7199
36
        if (yych >= 0x80) goto yy47;
7200
36
      }
7201
96
    }
7202
437
yy579:
7203
437
    YYDEBUG(579, *YYCURSOR);
7204
437
    yyleng = YYCURSOR - SCNG(yy_text);
7205
437
#line 1486 "Zend/zend_language_scanner.l"
7206
437
    {
7207
437
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7208
437
}
7209
0
#line 7210 "Zend/zend_language_scanner.c"
7210
522
yy580:
7211
522
    YYDEBUG(580, *YYCURSOR);
7212
522
    yyaccept = 4;
7213
522
    yych = *(YYMARKER = ++YYCURSOR);
7214
522
    if (yych == 'T') goto yy659;
7215
412
    if (yych == 't') goto yy659;
7216
100
    goto yy48;
7217
1.46k
yy581:
7218
1.46k
    YYDEBUG(581, *YYCURSOR);
7219
1.46k
    yyaccept = 4;
7220
1.46k
    yych = *(YYMARKER = ++YYCURSOR);
7221
1.46k
    if (yych == 'L') goto yy660;
7222
249
    if (yych == 'l') goto yy660;
7223
0
    goto yy48;
7224
1.66k
yy582:
7225
1.66k
    YYDEBUG(582, *YYCURSOR);
7226
1.66k
    ++YYCURSOR;
7227
5.74k
yy583:
7228
5.74k
    YYDEBUG(583, *YYCURSOR);
7229
5.74k
    yyleng = YYCURSOR - SCNG(yy_text);
7230
5.74k
#line 1574 "Zend/zend_language_scanner.l"
7231
5.74k
    {
7232
5.74k
  yyless(4);
7233
5.74k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7234
5.74k
}
7235
0
#line 7236 "Zend/zend_language_scanner.c"
7236
919
yy584:
7237
919
    YYDEBUG(584, *YYCURSOR);
7238
919
    yyaccept = 53;
7239
919
    yych = *(YYMARKER = ++YYCURSOR);
7240
919
    if (yych == 'X') goto yy661;
7241
919
    if (yych == 'x') goto yy661;
7242
684
    goto yy583;
7243
684
yy585:
7244
455
    YYDEBUG(585, *YYCURSOR);
7245
455
    yyaccept = 53;
7246
455
    yych = *(YYMARKER = ++YYCURSOR);
7247
455
    if (yych == 'M') goto yy662;
7248
455
    if (yych == 'm') goto yy662;
7249
445
    goto yy583;
7250
421k
yy586:
7251
421k
    YYDEBUG(586, *YYCURSOR);
7252
421k
    ++YYCURSOR;
7253
421k
    YYFILL(1);
7254
421k
    yych = *YYCURSOR;
7255
421k
    YYDEBUG(587, *YYCURSOR);
7256
421k
    if (yych <= '\n') {
7257
11.5k
      if (yych <= 0x00) goto yy86;
7258
11.1k
      if (yych <= '\t') goto yy586;
7259
9.62k
      goto yy495;
7260
409k
    } else {
7261
409k
      if (yych == '\r') goto yy495;
7262
354k
      goto yy586;
7263
409k
    }
7264
122k
yy588:
7265
122k
    YYDEBUG(588, *YYCURSOR);
7266
122k
    ++YYCURSOR;
7267
122k
    YYFILL(1);
7268
122k
    yych = *YYCURSOR;
7269
122k
    YYDEBUG(589, *YYCURSOR);
7270
122k
    if (yych <= 'D') {
7271
102k
      if (yych <= 0x1F) {
7272
25.3k
        if (yych <= '\t') {
7273
1.12k
          if (yych <= 0x00) goto yy86;
7274
964
          if (yych <= 0x08) goto yy586;
7275
918
          goto yy588;
7276
24.2k
        } else {
7277
24.2k
          if (yych <= '\n') goto yy495;
7278
24.2k
          if (yych == '\r') goto yy495;
7279
36
          goto yy586;
7280
24.2k
        }
7281
77.4k
      } else {
7282
77.4k
        if (yych <= '#') {
7283
21.2k
          if (yych <= ' ') goto yy588;
7284
21.0k
          if (yych <= '"') goto yy586;
7285
21.0k
          goto yy663;
7286
56.2k
        } else {
7287
56.2k
          if (yych == '/') goto yy664;
7288
751
          if (yych <= '@') goto yy586;
7289
6
          goto yy665;
7290
751
        }
7291
77.4k
      }
7292
102k
    } else {
7293
19.7k
      if (yych <= '`') {
7294
102
        if (yych <= 'I') {
7295
26
          if (yych <= 'E') goto yy666;
7296
10
          if (yych <= 'H') goto yy665;
7297
8
          goto yy667;
7298
76
        } else {
7299
76
          if (yych <= 'Z') goto yy665;
7300
74
          if (yych == '_') goto yy665;
7301
48
          goto yy586;
7302
74
        }
7303
19.6k
      } else {
7304
19.6k
        if (yych <= 'h') {
7305
130
          if (yych == 'e') goto yy666;
7306
12
          goto yy665;
7307
19.5k
        } else {
7308
19.5k
          if (yych <= 'i') goto yy667;
7309
19.4k
          if (yych <= 'z') goto yy665;
7310
19.0k
          if (yych <= 0x7F) goto yy586;
7311
206
          goto yy665;
7312
19.0k
        }
7313
19.6k
      }
7314
19.7k
    }
7315
526k
yy590:
7316
526k
    YYDEBUG(590, *YYCURSOR);
7317
526k
    ++YYCURSOR;
7318
526k
    YYFILL(1);
7319
526k
    yych = *YYCURSOR;
7320
526k
    YYDEBUG(591, *YYCURSOR);
7321
526k
    if (yych <= 0x00) goto yy86;
7322
525k
    if (yych == '*') goto yy668;
7323
491k
    goto yy590;
7324
491k
yy592:
7325
4.03k
    YYDEBUG(592, *YYCURSOR);
7326
4.03k
    yyaccept = 4;
7327
4.03k
    yych = *(YYMARKER = ++YYCURSOR);
7328
4.03k
    if (yych == 'S') goto yy670;
7329
3.79k
    if (yych == 's') goto yy670;
7330
222
    goto yy48;
7331
1.10k
yy593:
7332
1.10k
    YYDEBUG(593, *YYCURSOR);
7333
1.10k
    yyaccept = 4;
7334
1.10k
    yych = *(YYMARKER = ++YYCURSOR);
7335
1.10k
    if (yych == 'Y') goto yy672;
7336
980
    if (yych == 'y') goto yy672;
7337
22
    goto yy48;
7338
11.5k
yy594:
7339
11.5k
    YYDEBUG(594, *YYCURSOR);
7340
11.5k
    yyaccept = 4;
7341
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
7342
11.5k
    if (yych == 'H') goto yy674;
7343
11.2k
    if (yych == 'h') goto yy674;
7344
164
    goto yy48;
7345
39.8k
yy595:
7346
39.8k
    YYDEBUG(595, *YYCURSOR);
7347
39.8k
    yyaccept = 4;
7348
39.8k
    yych = *(YYMARKER = ++YYCURSOR);
7349
39.8k
    if (yych == 'O') goto yy676;
7350
39.6k
    if (yych == 'o') goto yy676;
7351
284
    goto yy48;
7352
2.78k
yy596:
7353
2.78k
    YYDEBUG(596, *YYCURSOR);
7354
2.78k
    yyaccept = 54;
7355
2.78k
    yych = *(YYMARKER = ++YYCURSOR);
7356
2.78k
    if (yybm[256+yych] & 128) {
7357
578
      goto yy47;
7358
578
    }
7359
2.20k
    if (yych == '\\') goto yy164;
7360
2.20k
yy597:
7361
2.20k
    YYDEBUG(597, *YYCURSOR);
7362
2.20k
    yyleng = YYCURSOR - SCNG(yy_text);
7363
2.20k
#line 1750 "Zend/zend_language_scanner.l"
7364
2.20k
    {
7365
2.20k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7366
2.20k
}
7367
0
#line 7368 "Zend/zend_language_scanner.c"
7368
1.34k
yy598:
7369
1.34k
    YYDEBUG(598, *YYCURSOR);
7370
1.34k
    yyaccept = 4;
7371
1.34k
    yych = *(YYMARKER = ++YYCURSOR);
7372
1.34k
    if (yych == 'E') goto yy677;
7373
987
    if (yych == 'e') goto yy677;
7374
6
    goto yy48;
7375
2.88k
yy599:
7376
2.88k
    YYDEBUG(599, *YYCURSOR);
7377
2.88k
    yyaccept = 4;
7378
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
7379
2.88k
    if (yych == 'E') goto yy678;
7380
2.41k
    if (yych == 'e') goto yy678;
7381
112
    goto yy48;
7382
1.00k
yy600:
7383
1.00k
    YYDEBUG(600, *YYCURSOR);
7384
1.00k
    yyaccept = 4;
7385
1.00k
    yych = *(YYMARKER = ++YYCURSOR);
7386
1.00k
    if (yych == 'C') goto yy680;
7387
841
    if (yych == 'c') goto yy680;
7388
277
    goto yy48;
7389
2.83k
yy601:
7390
2.83k
    YYDEBUG(601, *YYCURSOR);
7391
2.83k
    yyaccept = 4;
7392
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
7393
2.83k
    if (yych == 'D') goto yy681;
7394
2.21k
    if (yych == 'd') goto yy681;
7395
0
    goto yy48;
7396
1.43k
yy602:
7397
1.43k
    YYDEBUG(602, *YYCURSOR);
7398
1.43k
    yyaccept = 4;
7399
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
7400
1.43k
    if (yych == 'A') goto yy682;
7401
1.27k
    if (yych == 'a') goto yy682;
7402
56
    goto yy48;
7403
6.39k
yy603:
7404
6.39k
    YYDEBUG(603, *YYCURSOR);
7405
6.39k
    yyaccept = 4;
7406
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
7407
6.39k
    if (yych == 'A') goto yy683;
7408
6.21k
    if (yych == 'a') goto yy683;
7409
391
    goto yy48;
7410
4.70k
yy604:
7411
4.70k
    YYDEBUG(604, *YYCURSOR);
7412
4.70k
    yyaccept = 4;
7413
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
7414
4.70k
    if (yych == 'E') goto yy684;
7415
3.55k
    if (yych == 'e') goto yy684;
7416
6
    goto yy48;
7417
3.28k
yy605:
7418
3.28k
    YYDEBUG(605, *YYCURSOR);
7419
3.28k
    yyaccept = 4;
7420
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
7421
3.28k
    if (yych == 'T') goto yy686;
7422
2.11k
    if (yych == 't') goto yy686;
7423
413
    goto yy48;
7424
25.1k
yy606:
7425
25.1k
    YYDEBUG(606, *YYCURSOR);
7426
25.1k
    yyaccept = 55;
7427
25.1k
    yych = *(YYMARKER = ++YYCURSOR);
7428
25.1k
    if (yybm[256+yych] & 128) {
7429
562
      goto yy47;
7430
562
    }
7431
24.6k
    if (yych == '(') goto yy687;
7432
24.5k
    if (yych == '\\') goto yy164;
7433
24.6k
yy607:
7434
24.6k
    YYDEBUG(607, *YYCURSOR);
7435
24.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7436
24.6k
#line 1798 "Zend/zend_language_scanner.l"
7437
24.6k
    {
7438
24.6k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7439
24.6k
}
7440
0
#line 7441 "Zend/zend_language_scanner.c"
7441
2.80k
yy608:
7442
2.80k
    YYDEBUG(608, *YYCURSOR);
7443
2.80k
    yyaccept = 4;
7444
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
7445
2.80k
    if (yych == 'L') goto yy688;
7446
2.80k
    if (yych == 'l') goto yy688;
7447
308
    goto yy48;
7448
4.52k
yy609:
7449
4.52k
    YYDEBUG(609, *YYCURSOR);
7450
4.52k
    yyaccept = 4;
7451
4.52k
    yych = *(YYMARKER = ++YYCURSOR);
7452
4.52k
    if (yych == 'E') goto yy689;
7453
4.40k
    if (yych == 'e') goto yy689;
7454
153
    goto yy48;
7455
11.3k
yy610:
7456
11.3k
    YYDEBUG(610, *YYCURSOR);
7457
11.3k
    yyaccept = 56;
7458
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
7459
11.3k
    if (yybm[256+yych] & 128) {
7460
179
      goto yy47;
7461
179
    }
7462
11.1k
    if (yych == '\\') goto yy164;
7463
11.1k
yy611:
7464
11.1k
    YYDEBUG(611, *YYCURSOR);
7465
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
11.1k
#line 1419 "Zend/zend_language_scanner.l"
7467
11.1k
    {
7468
11.1k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7469
11.1k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
7.34k
yy612:
7472
7.34k
    YYDEBUG(612, *YYCURSOR);
7473
7.34k
    yyaccept = 57;
7474
7.34k
    yych = *(YYMARKER = ++YYCURSOR);
7475
7.34k
    if (yybm[256+yych] & 128) {
7476
244
      goto yy47;
7477
244
    }
7478
7.09k
    if (yych == '\\') goto yy164;
7479
7.09k
yy613:
7480
7.09k
    YYDEBUG(613, *YYCURSOR);
7481
7.09k
    yyleng = YYCURSOR - SCNG(yy_text);
7482
7.09k
#line 1766 "Zend/zend_language_scanner.l"
7483
7.09k
    {
7484
7.09k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7485
7.09k
}
7486
0
#line 7487 "Zend/zend_language_scanner.c"
7487
399
yy614:
7488
399
    YYDEBUG(614, *YYCURSOR);
7489
399
    yyaccept = 58;
7490
399
    yych = *(YYMARKER = ++YYCURSOR);
7491
399
    if (yybm[256+yych] & 128) {
7492
4
      goto yy47;
7493
4
    }
7494
395
    if (yych == '\\') goto yy164;
7495
395
yy615:
7496
395
    YYDEBUG(615, *YYCURSOR);
7497
395
    yyleng = YYCURSOR - SCNG(yy_text);
7498
395
#line 1514 "Zend/zend_language_scanner.l"
7499
395
    {
7500
395
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7501
395
}
7502
0
#line 7503 "Zend/zend_language_scanner.c"
7503
65.4k
yy616:
7504
65.4k
    YYDEBUG(616, *YYCURSOR);
7505
65.4k
    ++YYCURSOR;
7506
65.4k
    YYFILL(5);
7507
65.4k
    yych = *YYCURSOR;
7508
65.4k
    YYDEBUG(617, *YYCURSOR);
7509
65.4k
    if (yych <= '"') {
7510
16.1k
      if (yych <= '\f') {
7511
3.70k
        if (yych <= 0x08) goto yy86;
7512
3.66k
        if (yych <= '\n') goto yy616;
7513
0
        goto yy86;
7514
12.4k
      } else {
7515
12.4k
        if (yych <= '\r') goto yy616;
7516
450
        if (yych == ' ') goto yy616;
7517
154
        goto yy86;
7518
450
      }
7519
49.2k
    } else {
7520
49.2k
      if (yych <= 'E') {
7521
48.1k
        if (yych <= '#') goto yy618;
7522
3.58k
        if (yych == '/') goto yy619;
7523
1.51k
        goto yy86;
7524
3.58k
      } else {
7525
1.10k
        if (yych <= 'F') goto yy691;
7526
1.10k
        if (yych == 'f') goto yy691;
7527
406
        goto yy86;
7528
1.10k
      }
7529
49.2k
    }
7530
46.5k
yy618:
7531
46.5k
    YYDEBUG(618, *YYCURSOR);
7532
46.5k
    ++YYCURSOR;
7533
46.5k
    YYFILL(1);
7534
46.5k
    yych = *YYCURSOR;
7535
46.5k
    if (yych <= '\f') {
7536
30.7k
      if (yych <= 0x00) goto yy86;
7537
30.7k
      if (yych == '\n') goto yy694;
7538
94
      goto yy692;
7539
30.7k
    } else {
7540
15.8k
      if (yych <= '\r') goto yy694;
7541
8.64k
      if (yych == '[') goto yy86;
7542
8.64k
      goto yy692;
7543
8.64k
    }
7544
2.09k
yy619:
7545
2.09k
    YYDEBUG(619, *YYCURSOR);
7546
2.09k
    ++YYCURSOR;
7547
2.09k
    YYFILL(1);
7548
2.09k
    yych = *YYCURSOR;
7549
2.09k
    if (yych == '*') goto yy696;
7550
176
    if (yych == '/') goto yy692;
7551
114
    goto yy86;
7552
859
yy620:
7553
859
    YYDEBUG(620, *YYCURSOR);
7554
859
    yyaccept = 4;
7555
859
    yych = *(YYMARKER = ++YYCURSOR);
7556
859
    if (yych == 'S') goto yy698;
7557
10
    if (yych == 's') goto yy698;
7558
6
    goto yy48;
7559
594
yy621:
7560
594
    YYDEBUG(621, *YYCURSOR);
7561
594
    yyaccept = 4;
7562
594
    yych = *(YYMARKER = ++YYCURSOR);
7563
594
    if (yych == '_') goto yy699;
7564
44
    goto yy48;
7565
4.02k
yy622:
7566
4.02k
    YYDEBUG(622, *YYCURSOR);
7567
4.02k
    yyaccept = 4;
7568
4.02k
    yych = *(YYMARKER = ++YYCURSOR);
7569
4.02k
    if (yych == '_') goto yy701;
7570
61
    goto yy48;
7571
2.20k
yy623:
7572
2.20k
    YYDEBUG(623, *YYCURSOR);
7573
2.20k
    yyaccept = 4;
7574
2.20k
    yych = *(YYMARKER = ++YYCURSOR);
7575
2.20k
    if (yych == 'T') goto yy702;
7576
666
    if (yych == 't') goto yy702;
7577
663
    goto yy48;
7578
663
yy624:
7579
76
    YYDEBUG(624, *YYCURSOR);
7580
76
    yyaccept = 4;
7581
76
    yych = *(YYMARKER = ++YYCURSOR);
7582
76
    if (yych == '_') goto yy703;
7583
2
    goto yy48;
7584
273
yy625:
7585
273
    YYDEBUG(625, *YYCURSOR);
7586
273
    yyaccept = 4;
7587
273
    yych = *(YYMARKER = ++YYCURSOR);
7588
273
    if (yych == '_') goto yy704;
7589
4
    goto yy48;
7590
4.66k
yy626:
7591
4.66k
    YYDEBUG(626, *YYCURSOR);
7592
4.66k
    yyaccept = 4;
7593
4.66k
    yych = *(YYMARKER = ++YYCURSOR);
7594
4.66k
    if (yych == 'O') goto yy705;
7595
405
    if (yych == 'o') goto yy705;
7596
401
    goto yy48;
7597
2.25k
yy627:
7598
2.25k
    YYDEBUG(627, *YYCURSOR);
7599
2.25k
    yyaccept = 4;
7600
2.25k
    yych = *(YYMARKER = ++YYCURSOR);
7601
2.25k
    if (yych == 'S') goto yy706;
7602
87
    if (yych == 's') goto yy706;
7603
67
    goto yy48;
7604
318
yy628:
7605
318
    YYDEBUG(628, *YYCURSOR);
7606
318
    yyaccept = 4;
7607
318
    yych = *(YYMARKER = ++YYCURSOR);
7608
318
    if (yych == 'E') goto yy707;
7609
2
    if (yych == 'e') goto yy707;
7610
2
    goto yy48;
7611
748
yy629:
7612
748
    YYDEBUG(629, *YYCURSOR);
7613
748
    yyaccept = 4;
7614
748
    yych = *(YYMARKER = ++YYCURSOR);
7615
748
    if (yych == 'T') goto yy708;
7616
66
    if (yych == 't') goto yy708;
7617
66
    goto yy48;
7618
7.52k
yy630:
7619
7.52k
    YYDEBUG(630, *YYCURSOR);
7620
7.52k
    ++YYCURSOR;
7621
7.52k
    YYFILL(1);
7622
7.52k
    yych = *YYCURSOR;
7623
7.52k
    if (yych <= '\r') {
7624
4.66k
      if (yych <= '\t') {
7625
0
        if (yych <= 0x00) goto yy86;
7626
0
        goto yy443;
7627
4.66k
      } else {
7628
4.66k
        if (yych <= '\n') goto yy709;
7629
2
        if (yych <= '\f') goto yy443;
7630
2
        goto yy709;
7631
2
      }
7632
4.66k
    } else {
7633
2.85k
      if (yych <= '*') {
7634
264
        if (yych <= ')') goto yy443;
7635
170
        goto yy547;
7636
2.59k
      } else {
7637
2.59k
        if (yych == '[') goto yy230;
7638
2.59k
        goto yy443;
7639
2.59k
      }
7640
2.85k
    }
7641
954
yy631:
7642
954
    YYDEBUG(631, *YYCURSOR);
7643
954
    yyaccept = 26;
7644
954
    YYMARKER = ++YYCURSOR;
7645
954
    YYFILL(1);
7646
954
    yych = *YYCURSOR;
7647
954
    if (yybm[0+yych] & 4) {
7648
946
      goto yy230;
7649
946
    }
7650
8
    if (yych <= 0x00) goto yy89;
7651
0
    goto yy355;
7652
0
yy632:
7653
0
    YYDEBUG(632, *YYCURSOR);
7654
0
    ++YYCURSOR;
7655
0
    YYFILL(1);
7656
0
    yych = *YYCURSOR;
7657
0
    if (yybm[0+yych] & 64) {
7658
0
      goto yy355;
7659
0
    }
7660
0
    if (yych <= 0x00) goto yy86;
7661
0
    if (yych == '.') goto yy711;
7662
0
    goto yy230;
7663
318
yy633:
7664
318
    YYDEBUG(633, *YYCURSOR);
7665
318
    ++YYCURSOR;
7666
318
    YYFILL(1);
7667
318
    yych = *YYCURSOR;
7668
318
    if (yych <= '*') {
7669
258
      if (yych <= 0x00) goto yy86;
7670
258
      if (yych <= ')') goto yy230;
7671
256
      goto yy712;
7672
258
    } else {
7673
60
      if (yych == '/') goto yy443;
7674
58
      goto yy230;
7675
60
    }
7676
226
yy634:
7677
226
    YYDEBUG(634, *YYCURSOR);
7678
226
    ++YYCURSOR;
7679
226
    YYDEBUG(635, *YYCURSOR);
7680
226
    yyleng = YYCURSOR - SCNG(yy_text);
7681
226
#line 1688 "Zend/zend_language_scanner.l"
7682
226
    {
7683
226
  RETURN_TOKEN(T_ARRAY_CAST);
7684
226
}
7685
0
#line 7686 "Zend/zend_language_scanner.c"
7686
72
yy636:
7687
72
    YYDEBUG(636, *YYCURSOR);
7688
72
    ++YYCURSOR;
7689
72
    YYFILL(1);
7690
72
    yych = *YYCURSOR;
7691
72
    YYDEBUG(637, *YYCURSOR);
7692
72
    if (yych <= 0x1F) {
7693
0
      if (yych == '\t') goto yy636;
7694
0
      goto yy86;
7695
72
    } else {
7696
72
      if (yych <= ' ') goto yy636;
7697
72
      if (yych == ')') goto yy713;
7698
68
      goto yy86;
7699
72
    }
7700
22
yy638:
7701
22
    YYDEBUG(638, *YYCURSOR);
7702
22
    yych = *++YYCURSOR;
7703
22
    if (yych == 'N') goto yy715;
7704
22
    if (yych == 'n') goto yy715;
7705
0
    goto yy86;
7706
256
yy639:
7707
256
    YYDEBUG(639, *YYCURSOR);
7708
256
    ++YYCURSOR;
7709
256
    YYFILL(1);
7710
256
    yych = *YYCURSOR;
7711
256
    YYDEBUG(640, *YYCURSOR);
7712
256
    if (yych <= 0x1F) {
7713
50
      if (yych == '\t') goto yy639;
7714
50
      goto yy86;
7715
206
    } else {
7716
206
      if (yych <= ' ') goto yy639;
7717
188
      if (yych == ')') goto yy717;
7718
182
      goto yy86;
7719
188
    }
7720
192
yy641:
7721
192
    YYDEBUG(641, *YYCURSOR);
7722
192
    ++YYCURSOR;
7723
192
    YYDEBUG(642, *YYCURSOR);
7724
192
    yyleng = YYCURSOR - SCNG(yy_text);
7725
192
#line 1652 "Zend/zend_language_scanner.l"
7726
192
    {
7727
192
  RETURN_TOKEN(T_DOUBLE_CAST);
7728
192
}
7729
0
#line 7730 "Zend/zend_language_scanner.c"
7730
352
yy643:
7731
352
    YYDEBUG(643, *YYCURSOR);
7732
352
    yych = *++YYCURSOR;
7733
352
    if (yych == 'R') goto yy719;
7734
352
    if (yych == 'r') goto yy719;
7735
0
    goto yy86;
7736
447
yy644:
7737
447
    YYDEBUG(644, *YYCURSOR);
7738
447
    ++YYCURSOR;
7739
447
    YYFILL(1);
7740
447
    yych = *YYCURSOR;
7741
447
    YYDEBUG(645, *YYCURSOR);
7742
447
    if (yych <= 0x1F) {
7743
2
      if (yych == '\t') goto yy644;
7744
2
      goto yy86;
7745
445
    } else {
7746
445
      if (yych <= ' ') goto yy644;
7747
331
      if (yych == ')') goto yy721;
7748
128
      goto yy86;
7749
331
    }
7750
2.48k
yy646:
7751
2.48k
    YYDEBUG(646, *YYCURSOR);
7752
2.48k
    ++YYCURSOR;
7753
2.48k
    YYFILL(1);
7754
2.48k
    yych = *YYCURSOR;
7755
2.48k
    YYDEBUG(647, *YYCURSOR);
7756
2.48k
    if (yych <= 0x1F) {
7757
9
      if (yych == '\t') goto yy646;
7758
6
      goto yy86;
7759
2.47k
    } else {
7760
2.47k
      if (yych <= ' ') goto yy646;
7761
1.74k
      if (yych == ')') goto yy723;
7762
824
      goto yy86;
7763
1.74k
    }
7764
2
yy648:
7765
2
    YYDEBUG(648, *YYCURSOR);
7766
2
    ++YYCURSOR;
7767
2
    YYDEBUG(649, *YYCURSOR);
7768
2
    yyleng = YYCURSOR - SCNG(yy_text);
7769
2
#line 1710 "Zend/zend_language_scanner.l"
7770
2
    {
7771
2
  RETURN_TOKEN(T_UNSET_CAST);
7772
2
}
7773
0
#line 7774 "Zend/zend_language_scanner.c"
7774
2.82k
yy650:
7775
2.82k
    YYDEBUG(650, *YYCURSOR);
7776
2.82k
    yyaccept = 4;
7777
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
7778
2.82k
    if (yych == 'T') goto yy725;
7779
1.51k
    if (yych == 't') goto yy725;
7780
35
    goto yy48;
7781
442
yy651:
7782
442
    YYDEBUG(651, *YYCURSOR);
7783
442
    yyaccept = 4;
7784
442
    yych = *(YYMARKER = ++YYCURSOR);
7785
442
    if (yych == 'E') goto yy727;
7786
225
    if (yych == 'e') goto yy727;
7787
10
    goto yy48;
7788
1.03k
yy652:
7789
1.03k
    YYDEBUG(652, *YYCURSOR);
7790
1.03k
    yyaccept = 4;
7791
1.03k
    yych = *(YYMARKER = ++YYCURSOR);
7792
1.03k
    if (yych == 'E') goto yy729;
7793
440
    if (yych == 'e') goto yy729;
7794
36
    goto yy48;
7795
2.16k
yy653:
7796
2.16k
    YYDEBUG(653, *YYCURSOR);
7797
2.16k
    yyaccept = 59;
7798
2.16k
    yych = *(YYMARKER = ++YYCURSOR);
7799
2.16k
    if (yybm[256+yych] & 128) {
7800
95
      goto yy47;
7801
95
    }
7802
2.06k
    if (yych == '\\') goto yy164;
7803
2.06k
yy654:
7804
2.06k
    YYDEBUG(654, *YYCURSOR);
7805
2.06k
    yyleng = YYCURSOR - SCNG(yy_text);
7806
2.06k
#line 1498 "Zend/zend_language_scanner.l"
7807
2.06k
    {
7808
2.06k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7809
2.06k
}
7810
0
#line 7811 "Zend/zend_language_scanner.c"
7811
302
yy655:
7812
302
    YYDEBUG(655, *YYCURSOR);
7813
302
    yyaccept = 60;
7814
302
    yych = *(YYMARKER = ++YYCURSOR);
7815
302
    if (yybm[256+yych] & 128) {
7816
32
      goto yy47;
7817
32
    }
7818
270
    if (yych == '\\') goto yy164;
7819
270
yy656:
7820
270
    YYDEBUG(656, *YYCURSOR);
7821
270
    yyleng = YYCURSOR - SCNG(yy_text);
7822
270
#line 1530 "Zend/zend_language_scanner.l"
7823
270
    {
7824
270
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7825
270
}
7826
0
#line 7827 "Zend/zend_language_scanner.c"
7827
431
yy657:
7828
431
    YYDEBUG(657, *YYCURSOR);
7829
431
    yyaccept = 4;
7830
431
    yych = *(YYMARKER = ++YYCURSOR);
7831
431
    if (yych == 'A') goto yy731;
7832
74
    if (yych == 'a') goto yy731;
7833
16
    goto yy48;
7834
1.48k
yy658:
7835
1.48k
    YYDEBUG(658, *YYCURSOR);
7836
1.48k
    yyaccept = 4;
7837
1.48k
    yych = *(YYMARKER = ++YYCURSOR);
7838
1.48k
    if (yych == 'A') goto yy732;
7839
92
    if (yych == 'a') goto yy732;
7840
32
    goto yy48;
7841
422
yy659:
7842
422
    YYDEBUG(659, *YYCURSOR);
7843
422
    yyaccept = 4;
7844
422
    yych = *(YYMARKER = ++YYCURSOR);
7845
422
    if (yych == 'C') goto yy733;
7846
312
    if (yych == 'c') goto yy733;
7847
46
    goto yy48;
7848
1.46k
yy660:
7849
1.46k
    YYDEBUG(660, *YYCURSOR);
7850
1.46k
    yyaccept = 4;
7851
1.46k
    yych = *(YYMARKER = ++YYCURSOR);
7852
1.46k
    if (yych == 'E') goto yy734;
7853
1.14k
    if (yych == 'e') goto yy734;
7854
895
    goto yy48;
7855
895
yy661:
7856
235
    YYDEBUG(661, *YYCURSOR);
7857
235
    yych = *++YYCURSOR;
7858
235
    if (yych == 'T') goto yy736;
7859
235
    if (yych == 't') goto yy736;
7860
4
    goto yy86;
7861
10
yy662:
7862
10
    YYDEBUG(662, *YYCURSOR);
7863
10
    yych = *++YYCURSOR;
7864
10
    if (yych == 'P') goto yy737;
7865
10
    if (yych == 'p') goto yy737;
7866
0
    goto yy86;
7867
21.0k
yy663:
7868
21.0k
    YYDEBUG(663, *YYCURSOR);
7869
21.0k
    ++YYCURSOR;
7870
21.0k
    YYFILL(1);
7871
21.0k
    yych = *YYCURSOR;
7872
21.0k
    if (yych <= '\n') {
7873
2.12k
      if (yych <= 0x00) goto yy86;
7874
2.12k
      if (yych <= '\t') goto yy586;
7875
1.83k
      goto yy588;
7876
18.9k
    } else {
7877
18.9k
      if (yych == '\r') goto yy588;
7878
18.9k
      goto yy586;
7879
18.9k
    }
7880
55.4k
yy664:
7881
55.4k
    YYDEBUG(664, *YYCURSOR);
7882
55.4k
    ++YYCURSOR;
7883
55.4k
    YYFILL(1);
7884
55.4k
    yych = *YYCURSOR;
7885
55.4k
    if (yych <= '\f') {
7886
10
      if (yych <= 0x00) goto yy86;
7887
8
      if (yych == '\n') goto yy495;
7888
0
      goto yy586;
7889
55.4k
    } else {
7890
55.4k
      if (yych <= '\r') goto yy495;
7891
55.3k
      if (yych == '*') goto yy738;
7892
657
      goto yy586;
7893
55.3k
    }
7894
690
yy665:
7895
690
    YYDEBUG(665, *YYCURSOR);
7896
690
    yyaccept = 53;
7897
690
    YYMARKER = ++YYCURSOR;
7898
690
    YYFILL(1);
7899
690
    yych = *YYCURSOR;
7900
690
    if (yych <= '\n') {
7901
152
      if (yych <= 0x00) goto yy583;
7902
126
      if (yych <= '\t') goto yy586;
7903
122
      goto yy495;
7904
538
    } else {
7905
538
      if (yych == '\r') goto yy495;
7906
526
      goto yy586;
7907
538
    }
7908
134
yy666:
7909
134
    YYDEBUG(666, *YYCURSOR);
7910
134
    yyaccept = 53;
7911
134
    YYMARKER = ++YYCURSOR;
7912
134
    YYFILL(1);
7913
134
    yych = *YYCURSOR;
7914
134
    if (yych <= '\r') {
7915
0
      if (yych <= '\t') {
7916
0
        if (yych <= 0x00) goto yy583;
7917
0
        goto yy586;
7918
0
      } else {
7919
0
        if (yych <= '\n') goto yy495;
7920
0
        if (yych <= '\f') goto yy586;
7921
0
        goto yy495;
7922
0
      }
7923
134
    } else {
7924
134
      if (yych <= 'X') {
7925
20
        if (yych <= 'W') goto yy586;
7926
4
        goto yy740;
7927
114
      } else {
7928
114
        if (yych == 'x') goto yy740;
7929
32
        goto yy586;
7930
114
      }
7931
134
    }
7932
118
yy667:
7933
118
    YYDEBUG(667, *YYCURSOR);
7934
118
    yyaccept = 53;
7935
118
    YYMARKER = ++YYCURSOR;
7936
118
    YYFILL(1);
7937
118
    yych = *YYCURSOR;
7938
118
    if (yych <= '\r') {
7939
0
      if (yych <= '\t') {
7940
0
        if (yych <= 0x00) goto yy583;
7941
0
        goto yy586;
7942
0
      } else {
7943
0
        if (yych <= '\n') goto yy495;
7944
0
        if (yych <= '\f') goto yy586;
7945
0
        goto yy495;
7946
0
      }
7947
118
    } else {
7948
118
      if (yych <= 'M') {
7949
40
        if (yych <= 'L') goto yy586;
7950
22
        goto yy741;
7951
78
      } else {
7952
78
        if (yych == 'm') goto yy741;
7953
78
        goto yy586;
7954
78
      }
7955
118
    }
7956
33.8k
yy668:
7957
33.8k
    YYDEBUG(668, *YYCURSOR);
7958
33.8k
    ++YYCURSOR;
7959
33.8k
    YYFILL(1);
7960
33.8k
    yych = *YYCURSOR;
7961
33.8k
    YYDEBUG(669, *YYCURSOR);
7962
33.8k
    if (yych <= '*') {
7963
1.14k
      if (yych <= 0x00) goto yy86;
7964
1.10k
      if (yych <= ')') goto yy590;
7965
16
      goto yy668;
7966
32.7k
    } else {
7967
32.7k
      if (yych == '/') goto yy495;
7968
959
      goto yy590;
7969
32.7k
    }
7970
3.81k
yy670:
7971
3.81k
    YYDEBUG(670, *YYCURSOR);
7972
3.81k
    yyaccept = 61;
7973
3.81k
    yych = *(YYMARKER = ++YYCURSOR);
7974
3.81k
    if (yybm[256+yych] & 128) {
7975
2
      goto yy47;
7976
2
    }
7977
3.80k
    if (yych == '\\') goto yy164;
7978
3.80k
yy671:
7979
3.80k
    YYDEBUG(671, *YYCURSOR);
7980
3.80k
    yyleng = YYCURSOR - SCNG(yy_text);
7981
3.80k
#line 1579 "Zend/zend_language_scanner.l"
7982
3.80k
    {
7983
3.80k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7984
3.80k
}
7985
0
#line 7986 "Zend/zend_language_scanner.c"
7986
1.08k
yy672:
7987
1.08k
    YYDEBUG(672, *YYCURSOR);
7988
1.08k
    yyaccept = 62;
7989
1.08k
    yych = *(YYMARKER = ++YYCURSOR);
7990
1.08k
    if (yybm[256+yych] & 128) {
7991
14
      goto yy47;
7992
14
    }
7993
1.06k
    if (yych == '\\') goto yy164;
7994
1.03k
yy673:
7995
1.03k
    YYDEBUG(673, *YYCURSOR);
7996
1.03k
    yyleng = YYCURSOR - SCNG(yy_text);
7997
1.03k
#line 1446 "Zend/zend_language_scanner.l"
7998
1.03k
    {
7999
1.03k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8000
1.03k
}
8001
0
#line 8002 "Zend/zend_language_scanner.c"
8002
11.4k
yy674:
8003
11.4k
    YYDEBUG(674, *YYCURSOR);
8004
11.4k
    yyaccept = 63;
8005
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
8006
11.4k
    if (yybm[256+yych] & 128) {
8007
240
      goto yy47;
8008
240
    }
8009
11.1k
    if (yych == '\\') goto yy164;
8010
11.1k
yy675:
8011
11.1k
    YYDEBUG(675, *YYCURSOR);
8012
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
11.1k
#line 1490 "Zend/zend_language_scanner.l"
8014
11.1k
    {
8015
11.1k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8016
11.1k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
39.5k
yy676:
8019
39.5k
    YYDEBUG(676, *YYCURSOR);
8020
39.5k
    yyaccept = 4;
8021
39.5k
    yych = *(YYMARKER = ++YYCURSOR);
8022
39.5k
    if (yych == 'N') goto yy742;
8023
39.4k
    if (yych == 'n') goto yy742;
8024
510
    goto yy48;
8025
1.33k
yy677:
8026
1.33k
    YYDEBUG(677, *YYCURSOR);
8027
1.33k
    yyaccept = 4;
8028
1.33k
    yych = *(YYMARKER = ++YYCURSOR);
8029
1.33k
    if (yych == 'N') goto yy744;
8030
981
    if (yych == 'n') goto yy744;
8031
4
    goto yy48;
8032
2.76k
yy678:
8033
2.76k
    YYDEBUG(678, *YYCURSOR);
8034
2.76k
    yyaccept = 64;
8035
2.76k
    yych = *(YYMARKER = ++YYCURSOR);
8036
2.76k
    if (yych <= '\\') {
8037
1.20k
      if (yych <= '@') {
8038
1.16k
        if (yych <= '/') goto yy679;
8039
32
        if (yych <= '9') goto yy47;
8040
32
      } else {
8041
32
        if (yych <= 'Z') goto yy47;
8042
30
        if (yych >= '\\') goto yy164;
8043
30
      }
8044
1.56k
    } else {
8045
1.56k
      if (yych <= '`') {
8046
1.52k
        if (yych == '_') goto yy745;
8047
1.52k
      } else {
8048
40
        if (yych <= 'z') goto yy47;
8049
38
        if (yych >= 0x80) goto yy47;
8050
38
      }
8051
1.56k
    }
8052
1.20k
yy679:
8053
1.20k
    YYDEBUG(679, *YYCURSOR);
8054
1.20k
    yyleng = YYCURSOR - SCNG(yy_text);
8055
1.20k
#line 1722 "Zend/zend_language_scanner.l"
8056
1.20k
    {
8057
1.20k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8058
1.20k
}
8059
0
#line 8060 "Zend/zend_language_scanner.c"
8060
726
yy680:
8061
726
    YYDEBUG(680, *YYCURSOR);
8062
726
    yyaccept = 4;
8063
726
    yych = *(YYMARKER = ++YYCURSOR);
8064
726
    if (yych == 'E') goto yy746;
8065
569
    if (yych == 'e') goto yy746;
8066
15
    goto yy48;
8067
2.83k
yy681:
8068
2.83k
    YYDEBUG(681, *YYCURSOR);
8069
2.83k
    yyaccept = 4;
8070
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
8071
2.83k
    if (yych == 'O') goto yy747;
8072
2.21k
    if (yych == 'o') goto yy747;
8073
293
    goto yy48;
8074
1.37k
yy682:
8075
1.37k
    YYDEBUG(682, *YYCURSOR);
8076
1.37k
    yyaccept = 4;
8077
1.37k
    yych = *(YYMARKER = ++YYCURSOR);
8078
1.37k
    if (yych == 'C') goto yy748;
8079
1.23k
    if (yych == 'c') goto yy748;
8080
33
    goto yy48;
8081
6.00k
yy683:
8082
6.00k
    YYDEBUG(683, *YYCURSOR);
8083
6.00k
    yyaccept = 4;
8084
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
8085
6.00k
    if (yych == 'C') goto yy749;
8086
5.83k
    if (yych == 'c') goto yy749;
8087
478
    goto yy48;
8088
4.70k
yy684:
8089
4.70k
    YYDEBUG(684, *YYCURSOR);
8090
4.70k
    yyaccept = 65;
8091
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
8092
4.70k
    if (yybm[256+yych] & 128) {
8093
18
      goto yy47;
8094
18
    }
8095
4.68k
    if (yych == '(') goto yy750;
8096
4.00k
    if (yych == '\\') goto yy164;
8097
4.54k
yy685:
8098
4.54k
    YYDEBUG(685, *YYCURSOR);
8099
4.54k
    yyleng = YYCURSOR - SCNG(yy_text);
8100
4.54k
#line 1778 "Zend/zend_language_scanner.l"
8101
4.54k
    {
8102
4.54k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8103
4.54k
}
8104
0
#line 8105 "Zend/zend_language_scanner.c"
8105
2.86k
yy686:
8106
2.86k
    YYDEBUG(686, *YYCURSOR);
8107
2.86k
    yyaccept = 4;
8108
2.86k
    yych = *(YYMARKER = ++YYCURSOR);
8109
2.86k
    if (yych == 'E') goto yy751;
8110
1.81k
    if (yych == 'e') goto yy751;
8111
182
    goto yy48;
8112
182
yy687:
8113
66
    YYDEBUG(687, *YYCURSOR);
8114
66
    yych = *++YYCURSOR;
8115
66
    if (yych == 'S') goto yy752;
8116
66
    if (yych == 's') goto yy752;
8117
54
    goto yy86;
8118
2.50k
yy688:
8119
2.50k
    YYDEBUG(688, *YYCURSOR);
8120
2.50k
    yyaccept = 4;
8121
2.50k
    yych = *(YYMARKER = ++YYCURSOR);
8122
2.50k
    if (yych == 'Y') goto yy753;
8123
2.49k
    if (yych == 'y') goto yy753;
8124
51
    goto yy48;
8125
4.37k
yy689:
8126
4.37k
    YYDEBUG(689, *YYCURSOR);
8127
4.37k
    yyaccept = 66;
8128
4.37k
    yych = *(YYMARKER = ++YYCURSOR);
8129
4.37k
    if (yych <= '\\') {
8130
3.72k
      if (yych <= '@') {
8131
3.71k
        if (yych <= '/') goto yy690;
8132
10
        if (yych <= '9') goto yy47;
8133
10
      } else {
8134
4
        if (yych <= 'Z') goto yy47;
8135
2
        if (yych >= '\\') goto yy164;
8136
2
      }
8137
3.72k
    } else {
8138
651
      if (yych <= '`') {
8139
210
        if (yych == '_') goto yy755;
8140
441
      } else {
8141
441
        if (yych <= 'z') goto yy47;
8142
8
        if (yych >= 0x80) goto yy47;
8143
8
      }
8144
651
    }
8145
3.71k
yy690:
8146
3.71k
    YYDEBUG(690, *YYCURSOR);
8147
3.71k
    yyleng = YYCURSOR - SCNG(yy_text);
8148
3.71k
#line 1730 "Zend/zend_language_scanner.l"
8149
3.71k
    {
8150
3.71k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8151
3.71k
}
8152
0
#line 8153 "Zend/zend_language_scanner.c"
8153
696
yy691:
8154
696
    YYDEBUG(691, *YYCURSOR);
8155
696
    yych = *++YYCURSOR;
8156
696
    if (yych == 'R') goto yy756;
8157
591
    if (yych == 'r') goto yy756;
8158
18
    goto yy86;
8159
136k
yy692:
8160
136k
    YYDEBUG(692, *YYCURSOR);
8161
136k
    ++YYCURSOR;
8162
136k
    YYFILL(1);
8163
136k
    yych = *YYCURSOR;
8164
136k
    YYDEBUG(693, *YYCURSOR);
8165
136k
    if (yych <= '\n') {
8166
2.42k
      if (yych <= 0x00) goto yy86;
8167
2.36k
      if (yych <= '\t') goto yy692;
8168
2.16k
      goto yy616;
8169
134k
    } else {
8170
134k
      if (yych == '\r') goto yy616;
8171
112k
      goto yy692;
8172
134k
    }
8173
49.6k
yy694:
8174
49.6k
    YYDEBUG(694, *YYCURSOR);
8175
49.6k
    ++YYCURSOR;
8176
49.6k
    YYFILL(1);
8177
49.6k
    yych = *YYCURSOR;
8178
49.6k
    YYDEBUG(695, *YYCURSOR);
8179
49.6k
    if (yych <= ' ') {
8180
11.5k
      if (yych <= '\n') {
8181
234
        if (yych <= 0x00) goto yy86;
8182
212
        if (yych <= 0x08) goto yy692;
8183
212
        if (yych <= '\t') goto yy694;
8184
12
        goto yy616;
8185
11.2k
      } else {
8186
11.2k
        if (yych == '\r') goto yy616;
8187
302
        if (yych <= 0x1F) goto yy692;
8188
150
        goto yy694;
8189
302
      }
8190
38.0k
    } else {
8191
38.0k
      if (yych <= '/') {
8192
29.9k
        if (yych == '#') goto yy757;
8193
22.6k
        if (yych <= '.') goto yy692;
8194
22.5k
        goto yy758;
8195
22.6k
      } else {
8196
8.09k
        if (yych <= 'F') {
8197
0
          if (yych <= 'E') goto yy692;
8198
0
          goto yy759;
8199
8.09k
        } else {
8200
8.09k
          if (yych == 'f') goto yy759;
8201
8.09k
          goto yy692;
8202
8.09k
        }
8203
8.09k
      }
8204
38.0k
    }
8205
197k
yy696:
8206
197k
    YYDEBUG(696, *YYCURSOR);
8207
197k
    ++YYCURSOR;
8208
197k
    YYFILL(1);
8209
197k
    yych = *YYCURSOR;
8210
197k
    YYDEBUG(697, *YYCURSOR);
8211
197k
    if (yych <= 0x00) goto yy86;
8212
197k
    if (yych == '*') goto yy760;
8213
185k
    goto yy696;
8214
185k
yy698:
8215
853
    YYDEBUG(698, *YYCURSOR);
8216
853
    yyaccept = 4;
8217
853
    yych = *(YYMARKER = ++YYCURSOR);
8218
853
    if (yych == '_') goto yy762;
8219
2
    goto yy48;
8220
550
yy699:
8221
550
    YYDEBUG(699, *YYCURSOR);
8222
550
    yyaccept = 67;
8223
550
    yych = *(YYMARKER = ++YYCURSOR);
8224
550
    if (yybm[256+yych] & 128) {
8225
32
      goto yy47;
8226
32
    }
8227
518
    if (yych == '\\') goto yy164;
8228
518
yy700:
8229
518
    YYDEBUG(700, *YYCURSOR);
8230
518
    yyleng = YYCURSOR - SCNG(yy_text);
8231
518
#line 2281 "Zend/zend_language_scanner.l"
8232
518
    {
8233
518
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8234
518
}
8235
0
#line 8236 "Zend/zend_language_scanner.c"
8236
3.96k
yy701:
8237
3.96k
    YYDEBUG(701, *YYCURSOR);
8238
3.96k
    yyaccept = 4;
8239
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
8240
3.96k
    if (yych == '_') goto yy763;
8241
1.08k
    goto yy48;
8242
1.54k
yy702:
8243
1.54k
    YYDEBUG(702, *YYCURSOR);
8244
1.54k
    yyaccept = 4;
8245
1.54k
    yych = *(YYMARKER = ++YYCURSOR);
8246
1.54k
    if (yych == 'I') goto yy765;
8247
23
    if (yych == 'i') goto yy765;
8248
20
    goto yy48;
8249
74
yy703:
8250
74
    YYDEBUG(703, *YYCURSOR);
8251
74
    yyaccept = 4;
8252
74
    yych = *(YYMARKER = ++YYCURSOR);
8253
74
    if (yych == 'C') goto yy766;
8254
14
    if (yych == 'c') goto yy766;
8255
0
    goto yy48;
8256
269
yy704:
8257
269
    YYDEBUG(704, *YYCURSOR);
8258
269
    yyaccept = 4;
8259
269
    yych = *(YYMARKER = ++YYCURSOR);
8260
269
    if (yych == '_') goto yy767;
8261
12
    goto yy48;
8262
4.26k
yy705:
8263
4.26k
    YYDEBUG(705, *YYCURSOR);
8264
4.26k
    yyaccept = 4;
8265
4.26k
    yych = *(YYMARKER = ++YYCURSOR);
8266
4.26k
    if (yych == 'D') goto yy769;
8267
48
    if (yych == 'd') goto yy769;
8268
46
    goto yy48;
8269
2.18k
yy706:
8270
2.18k
    YYDEBUG(706, *YYCURSOR);
8271
2.18k
    yyaccept = 4;
8272
2.18k
    yych = *(YYMARKER = ++YYCURSOR);
8273
2.18k
    if (yych == 'P') goto yy770;
8274
387
    if (yych == 'p') goto yy770;
8275
383
    goto yy48;
8276
383
yy707:
8277
316
    YYDEBUG(707, *YYCURSOR);
8278
316
    yyaccept = 4;
8279
316
    yych = *(YYMARKER = ++YYCURSOR);
8280
316
    if (yych == 'R') goto yy771;
8281
0
    if (yych == 'r') goto yy771;
8282
0
    goto yy48;
8283
682
yy708:
8284
682
    YYDEBUG(708, *YYCURSOR);
8285
682
    yyaccept = 4;
8286
682
    yych = *(YYMARKER = ++YYCURSOR);
8287
682
    if (yych == '_') goto yy772;
8288
283
    goto yy48;
8289
9.40k
yy709:
8290
9.40k
    YYDEBUG(709, *YYCURSOR);
8291
9.40k
    ++YYCURSOR;
8292
9.40k
    YYFILL(1);
8293
9.40k
    yych = *YYCURSOR;
8294
9.40k
    YYDEBUG(710, *YYCURSOR);
8295
9.40k
    if (yych <= ' ') {
8296
2.83k
      if (yych <= '\n') {
8297
212
        if (yych <= 0x00) goto yy86;
8298
154
        if (yych <= 0x08) goto yy443;
8299
148
        if (yych <= '\t') goto yy709;
8300
0
        goto yy545;
8301
2.62k
      } else {
8302
2.62k
        if (yych == '\r') goto yy545;
8303
0
        if (yych <= 0x1F) goto yy443;
8304
0
        goto yy709;
8305
0
      }
8306
6.56k
    } else {
8307
6.56k
      if (yych <= ')') {
8308
1.00k
        if (yych <= '"') goto yy443;
8309
1.00k
        if (yych <= '#') goto yy773;
8310
854
        if (yych <= '$') goto yy774;
8311
0
        goto yy443;
8312
5.56k
      } else {
8313
5.56k
        if (yych <= '-') {
8314
48
          if (yych <= '*') goto yy547;
8315
0
          goto yy443;
8316
5.51k
        } else {
8317
5.51k
          if (yych <= '.') goto yy775;
8318
4.91k
          if (yych <= '/') goto yy776;
8319
426
          goto yy443;
8320
4.91k
        }
8321
5.56k
      }
8322
6.56k
    }
8323
0
yy711:
8324
0
    YYDEBUG(711, *YYCURSOR);
8325
0
    ++YYCURSOR;
8326
0
    YYFILL(1);
8327
0
    yych = *YYCURSOR;
8328
0
    if (yybm[0+yych] & 64) {
8329
0
      goto yy355;
8330
0
    }
8331
0
    if (yych <= 0x00) goto yy86;
8332
0
    if (yych == '.') goto yy631;
8333
0
    goto yy230;
8334
256
yy712:
8335
256
    YYDEBUG(712, *YYCURSOR);
8336
256
    ++YYCURSOR;
8337
256
    YYFILL(1);
8338
256
    yych = *YYCURSOR;
8339
256
    if (yybm[0+yych] & 64) {
8340
12
      goto yy355;
8341
12
    }
8342
244
    if (yych <= 0x00) goto yy86;
8343
244
    if (yych == '/') goto yy545;
8344
10
    goto yy230;
8345
10
yy713:
8346
4
    YYDEBUG(713, *YYCURSOR);
8347
4
    ++YYCURSOR;
8348
4
    YYDEBUG(714, *YYCURSOR);
8349
4
    yyleng = YYCURSOR - SCNG(yy_text);
8350
4
#line 1678 "Zend/zend_language_scanner.l"
8351
4
    {
8352
4
  if (PARSER_MODE()) {
8353
4
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8354
4
    if (EG(exception)) {
8355
0
      RETURN_TOKEN(T_ERROR);
8356
0
    }
8357
4
  }
8358
4
  RETURN_TOKEN(T_STRING_CAST);
8359
4
}
8360
0
#line 8361 "Zend/zend_language_scanner.c"
8361
42
yy715:
8362
42
    YYDEBUG(715, *YYCURSOR);
8363
42
    ++YYCURSOR;
8364
42
    YYFILL(1);
8365
42
    yych = *YYCURSOR;
8366
42
    YYDEBUG(716, *YYCURSOR);
8367
42
    if (yych <= 0x1F) {
8368
0
      if (yych == '\t') goto yy715;
8369
0
      goto yy86;
8370
42
    } else {
8371
42
      if (yych <= ' ') goto yy715;
8372
22
      if (yych == ')') goto yy777;
8373
20
      goto yy86;
8374
22
    }
8375
6
yy717:
8376
6
    YYDEBUG(717, *YYCURSOR);
8377
6
    ++YYCURSOR;
8378
6
    YYDEBUG(718, *YYCURSOR);
8379
6
    yyleng = YYCURSOR - SCNG(yy_text);
8380
6
#line 1656 "Zend/zend_language_scanner.l"
8381
6
    {
8382
6
  if (PARSER_MODE()) {
8383
6
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8384
6
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
6
  }
8388
6
  RETURN_TOKEN(T_DOUBLE_CAST);
8389
6
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
368
yy719:
8392
368
    YYDEBUG(719, *YYCURSOR);
8393
368
    ++YYCURSOR;
8394
368
    YYFILL(1);
8395
368
    yych = *YYCURSOR;
8396
368
    YYDEBUG(720, *YYCURSOR);
8397
368
    if (yych <= 0x1F) {
8398
0
      if (yych == '\t') goto yy719;
8399
0
      goto yy86;
8400
368
    } else {
8401
368
      if (yych <= ' ') goto yy719;
8402
352
      if (yych == ')') goto yy779;
8403
161
      goto yy86;
8404
352
    }
8405
203
yy721:
8406
203
    YYDEBUG(721, *YYCURSOR);
8407
203
    ++YYCURSOR;
8408
203
    YYDEBUG(722, *YYCURSOR);
8409
203
    yyleng = YYCURSOR - SCNG(yy_text);
8410
203
#line 1692 "Zend/zend_language_scanner.l"
8411
203
    {
8412
203
  RETURN_TOKEN(T_OBJECT_CAST);
8413
203
}
8414
0
#line 8415 "Zend/zend_language_scanner.c"
8415
919
yy723:
8416
919
    YYDEBUG(723, *YYCURSOR);
8417
919
    ++YYCURSOR;
8418
919
    YYDEBUG(724, *YYCURSOR);
8419
919
    yyleng = YYCURSOR - SCNG(yy_text);
8420
919
#line 1674 "Zend/zend_language_scanner.l"
8421
919
    {
8422
919
  RETURN_TOKEN(T_STRING_CAST);
8423
919
}
8424
0
#line 8425 "Zend/zend_language_scanner.c"
8425
2.79k
yy725:
8426
2.79k
    YYDEBUG(725, *YYCURSOR);
8427
2.79k
    yyaccept = 68;
8428
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
8429
2.79k
    if (yybm[256+yych] & 128) {
8430
837
      goto yy47;
8431
837
    }
8432
1.95k
    if (yych == '\\') goto yy164;
8433
1.95k
yy726:
8434
1.95k
    YYDEBUG(726, *YYCURSOR);
8435
1.95k
    yyleng = YYCURSOR - SCNG(yy_text);
8436
1.95k
#line 1770 "Zend/zend_language_scanner.l"
8437
1.95k
    {
8438
1.95k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8439
1.95k
}
8440
0
#line 8441 "Zend/zend_language_scanner.c"
8441
432
yy727:
8442
432
    YYDEBUG(727, *YYCURSOR);
8443
432
    yyaccept = 69;
8444
432
    yych = *(YYMARKER = ++YYCURSOR);
8445
432
    if (yybm[256+yych] & 128) {
8446
82
      goto yy47;
8447
82
    }
8448
350
    if (yych == '\\') goto yy164;
8449
350
yy728:
8450
350
    YYDEBUG(728, *YYCURSOR);
8451
350
    yyleng = YYCURSOR - SCNG(yy_text);
8452
350
#line 1822 "Zend/zend_language_scanner.l"
8453
350
    {
8454
350
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8455
350
}
8456
0
#line 8457 "Zend/zend_language_scanner.c"
8457
1.00k
yy729:
8458
1.00k
    YYDEBUG(729, *YYCURSOR);
8459
1.00k
    yyaccept = 70;
8460
1.00k
    yych = *(YYMARKER = ++YYCURSOR);
8461
1.00k
    if (yybm[256+yych] & 128) {
8462
19
      goto yy47;
8463
19
    }
8464
982
    if (yych == '\\') goto yy164;
8465
982
yy730:
8466
982
    YYDEBUG(730, *YYCURSOR);
8467
982
    yyleng = YYCURSOR - SCNG(yy_text);
8468
982
#line 1538 "Zend/zend_language_scanner.l"
8469
982
    {
8470
982
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8471
982
}
8472
0
#line 8473 "Zend/zend_language_scanner.c"
8473
415
yy731:
8474
415
    YYDEBUG(731, *YYCURSOR);
8475
415
    yyaccept = 4;
8476
415
    yych = *(YYMARKER = ++YYCURSOR);
8477
415
    if (yych == 'R') goto yy781;
8478
62
    if (yych == 'r') goto yy781;
8479
4
    goto yy48;
8480
1.44k
yy732:
8481
1.44k
    YYDEBUG(732, *YYCURSOR);
8482
1.44k
    yyaccept = 4;
8483
1.44k
    yych = *(YYMARKER = ++YYCURSOR);
8484
1.44k
    if (yych == 'C') goto yy782;
8485
60
    if (yych == 'c') goto yy782;
8486
18
    goto yy48;
8487
376
yy733:
8488
376
    YYDEBUG(733, *YYCURSOR);
8489
376
    yyaccept = 4;
8490
376
    yych = *(YYMARKER = ++YYCURSOR);
8491
376
    if (yych == 'H') goto yy783;
8492
266
    if (yych == 'h') goto yy783;
8493
0
    goto yy48;
8494
569
yy734:
8495
569
    YYDEBUG(734, *YYCURSOR);
8496
569
    yyaccept = 71;
8497
569
    yych = *(YYMARKER = ++YYCURSOR);
8498
569
    if (yybm[256+yych] & 128) {
8499
45
      goto yy47;
8500
45
    }
8501
524
    if (yych == '\\') goto yy164;
8502
524
yy735:
8503
524
    YYDEBUG(735, *YYCURSOR);
8504
524
    yyleng = YYCURSOR - SCNG(yy_text);
8505
524
#line 1474 "Zend/zend_language_scanner.l"
8506
524
    {
8507
524
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8508
524
}
8509
0
#line 8510 "Zend/zend_language_scanner.c"
8510
231
yy736:
8511
231
    YYDEBUG(736, *YYCURSOR);
8512
231
    yych = *++YYCURSOR;
8513
231
    if (yych == 'E') goto yy785;
8514
231
    if (yych == 'e') goto yy785;
8515
12
    goto yy86;
8516
12
yy737:
8517
10
    YYDEBUG(737, *YYCURSOR);
8518
10
    yych = *++YYCURSOR;
8519
10
    if (yych == 'L') goto yy786;
8520
10
    if (yych == 'l') goto yy786;
8521
0
    goto yy86;
8522
803k
yy738:
8523
803k
    YYDEBUG(738, *YYCURSOR);
8524
803k
    ++YYCURSOR;
8525
803k
    YYFILL(1);
8526
803k
    yych = *YYCURSOR;
8527
803k
    YYDEBUG(739, *YYCURSOR);
8528
803k
    if (yych <= '\f') {
8529
37.6k
      if (yych <= 0x00) goto yy86;
8530
35.7k
      if (yych == '\n') goto yy787;
8531
11.3k
      goto yy738;
8532
765k
    } else {
8533
765k
      if (yych <= '\r') goto yy787;
8534
689k
      if (yych == '*') goto yy789;
8535
644k
      goto yy738;
8536
689k
    }
8537
86
yy740:
8538
86
    YYDEBUG(740, *YYCURSOR);
8539
86
    ++YYCURSOR;
8540
86
    YYFILL(1);
8541
86
    yych = *YYCURSOR;
8542
86
    if (yych <= '\r') {
8543
0
      if (yych <= '\t') {
8544
0
        if (yych <= 0x00) goto yy86;
8545
0
        goto yy586;
8546
0
      } else {
8547
0
        if (yych <= '\n') goto yy495;
8548
0
        if (yych <= '\f') goto yy586;
8549
0
        goto yy495;
8550
0
      }
8551
86
    } else {
8552
86
      if (yych <= 'T') {
8553
4
        if (yych <= 'S') goto yy586;
8554
0
        goto yy791;
8555
82
      } else {
8556
82
        if (yych == 't') goto yy791;
8557
82
        goto yy586;
8558
82
      }
8559
86
    }
8560
22
yy741:
8561
22
    YYDEBUG(741, *YYCURSOR);
8562
22
    ++YYCURSOR;
8563
22
    YYFILL(1);
8564
22
    yych = *YYCURSOR;
8565
22
    if (yych <= '\r') {
8566
0
      if (yych <= '\t') {
8567
0
        if (yych <= 0x00) goto yy86;
8568
0
        goto yy586;
8569
0
      } else {
8570
0
        if (yych <= '\n') goto yy495;
8571
0
        if (yych <= '\f') goto yy586;
8572
0
        goto yy495;
8573
0
      }
8574
22
    } else {
8575
22
      if (yych <= 'P') {
8576
0
        if (yych <= 'O') goto yy586;
8577
0
        goto yy792;
8578
22
      } else {
8579
22
        if (yych == 'p') goto yy792;
8580
0
        goto yy586;
8581
22
      }
8582
22
    }
8583
39.0k
yy742:
8584
39.0k
    YYDEBUG(742, *YYCURSOR);
8585
39.0k
    yyaccept = 72;
8586
39.0k
    yych = *(YYMARKER = ++YYCURSOR);
8587
39.0k
    if (yybm[256+yych] & 128) {
8588
286
      goto yy47;
8589
286
    }
8590
38.7k
    if (yych == '\\') goto yy164;
8591
38.7k
yy743:
8592
38.7k
    YYDEBUG(743, *YYCURSOR);
8593
38.7k
    yyleng = YYCURSOR - SCNG(yy_text);
8594
38.7k
#line 1411 "Zend/zend_language_scanner.l"
8595
38.7k
    {
8596
38.7k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8597
38.7k
}
8598
0
#line 8599 "Zend/zend_language_scanner.c"
8599
1.33k
yy744:
8600
1.33k
    YYDEBUG(744, *YYCURSOR);
8601
1.33k
    yyaccept = 4;
8602
1.33k
    yych = *(YYMARKER = ++YYCURSOR);
8603
1.33k
    if (yych == 'T') goto yy793;
8604
1.01k
    if (yych == 't') goto yy793;
8605
52
    goto yy48;
8606
1.52k
yy745:
8607
1.52k
    YYDEBUG(745, *YYCURSOR);
8608
1.52k
    yyaccept = 4;
8609
1.52k
    yych = *(YYMARKER = ++YYCURSOR);
8610
1.52k
    if (yych == 'O') goto yy794;
8611
1.36k
    if (yych == 'o') goto yy794;
8612
18
    goto yy48;
8613
711
yy746:
8614
711
    YYDEBUG(746, *YYCURSOR);
8615
711
    yyaccept = 4;
8616
711
    yych = *(YYMARKER = ++YYCURSOR);
8617
711
    if (yych == 'O') goto yy795;
8618
555
    if (yych == 'o') goto yy795;
8619
42
    goto yy48;
8620
2.54k
yy747:
8621
2.54k
    YYDEBUG(747, *YYCURSOR);
8622
2.54k
    yyaccept = 4;
8623
2.54k
    yych = *(YYMARKER = ++YYCURSOR);
8624
2.54k
    if (yych == 'F') goto yy796;
8625
1.92k
    if (yych == 'f') goto yy796;
8626
170
    goto yy48;
8627
1.34k
yy748:
8628
1.34k
    YYDEBUG(748, *YYCURSOR);
8629
1.34k
    yyaccept = 4;
8630
1.34k
    yych = *(YYMARKER = ++YYCURSOR);
8631
1.34k
    if (yych == 'E') goto yy798;
8632
1.21k
    if (yych == 'e') goto yy798;
8633
44
    goto yy48;
8634
5.52k
yy749:
8635
5.52k
    YYDEBUG(749, *YYCURSOR);
8636
5.52k
    yyaccept = 4;
8637
5.52k
    yych = *(YYMARKER = ++YYCURSOR);
8638
5.52k
    if (yych == 'E') goto yy800;
8639
5.36k
    if (yych == 'e') goto yy800;
8640
62
    goto yy48;
8641
678
yy750:
8642
678
    YYDEBUG(750, *YYCURSOR);
8643
678
    yych = *++YYCURSOR;
8644
678
    if (yych == 'S') goto yy802;
8645
660
    if (yych == 's') goto yy802;
8646
22
    goto yy86;
8647
2.68k
yy751:
8648
2.68k
    YYDEBUG(751, *YYCURSOR);
8649
2.68k
    yyaccept = 4;
8650
2.68k
    yych = *(YYMARKER = ++YYCURSOR);
8651
2.68k
    if (yych == 'D') goto yy803;
8652
1.63k
    if (yych == 'd') goto yy803;
8653
64
    goto yy48;
8654
64
yy752:
8655
12
    YYDEBUG(752, *YYCURSOR);
8656
12
    yych = *++YYCURSOR;
8657
12
    if (yych == 'E') goto yy805;
8658
12
    if (yych == 'e') goto yy805;
8659
0
    goto yy86;
8660
2.45k
yy753:
8661
2.45k
    YYDEBUG(753, *YYCURSOR);
8662
2.45k
    yyaccept = 73;
8663
2.45k
    yych = *(YYMARKER = ++YYCURSOR);
8664
2.45k
    if (yybm[256+yych] & 128) {
8665
305
      goto yy47;
8666
305
    }
8667
2.14k
    if (yych == '\\') goto yy164;
8668
2.14k
yy754:
8669
2.14k
    YYDEBUG(754, *YYCURSOR);
8670
2.14k
    yyleng = YYCURSOR - SCNG(yy_text);
8671
2.14k
#line 1802 "Zend/zend_language_scanner.l"
8672
2.14k
    {
8673
2.14k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8674
2.14k
}
8675
0
#line 8676 "Zend/zend_language_scanner.c"
8676
210
yy755:
8677
210
    YYDEBUG(755, *YYCURSOR);
8678
210
    yyaccept = 4;
8679
210
    yych = *(YYMARKER = ++YYCURSOR);
8680
210
    if (yych == 'O') goto yy806;
8681
152
    if (yych == 'o') goto yy806;
8682
34
    goto yy48;
8683
678
yy756:
8684
678
    YYDEBUG(756, *YYCURSOR);
8685
678
    yych = *++YYCURSOR;
8686
678
    if (yych == 'O') goto yy807;
8687
678
    if (yych == 'o') goto yy807;
8688
155
    goto yy86;
8689
7.35k
yy757:
8690
7.35k
    YYDEBUG(757, *YYCURSOR);
8691
7.35k
    ++YYCURSOR;
8692
7.35k
    YYFILL(1);
8693
7.35k
    yych = *YYCURSOR;
8694
7.35k
    if (yych <= '\n') {
8695
200
      if (yych <= 0x00) goto yy86;
8696
200
      if (yych <= '\t') goto yy692;
8697
200
      goto yy694;
8698
7.15k
    } else {
8699
7.15k
      if (yych == '\r') goto yy694;
8700
7.15k
      goto yy692;
8701
7.15k
    }
8702
22.5k
yy758:
8703
22.5k
    YYDEBUG(758, *YYCURSOR);
8704
22.5k
    ++YYCURSOR;
8705
22.5k
    YYFILL(1);
8706
22.5k
    yych = *YYCURSOR;
8707
22.5k
    if (yych <= '\f') {
8708
2
      if (yych <= 0x00) goto yy86;
8709
2
      if (yych == '\n') goto yy616;
8710
0
      goto yy692;
8711
22.5k
    } else {
8712
22.5k
      if (yych <= '\r') goto yy616;
8713
22.4k
      if (yych == '*') goto yy808;
8714
20
      goto yy692;
8715
22.4k
    }
8716
0
yy759:
8717
0
    YYDEBUG(759, *YYCURSOR);
8718
0
    ++YYCURSOR;
8719
0
    YYFILL(1);
8720
0
    yych = *YYCURSOR;
8721
0
    if (yych <= '\r') {
8722
0
      if (yych <= '\t') {
8723
0
        if (yych <= 0x00) goto yy86;
8724
0
        goto yy692;
8725
0
      } else {
8726
0
        if (yych <= '\n') goto yy616;
8727
0
        if (yych <= '\f') goto yy692;
8728
0
        goto yy616;
8729
0
      }
8730
0
    } else {
8731
0
      if (yych <= 'R') {
8732
0
        if (yych <= 'Q') goto yy692;
8733
0
        goto yy810;
8734
0
      } else {
8735
0
        if (yych == 'r') goto yy810;
8736
0
        goto yy692;
8737
0
      }
8738
0
    }
8739
12.6k
yy760:
8740
12.6k
    YYDEBUG(760, *YYCURSOR);
8741
12.6k
    ++YYCURSOR;
8742
12.6k
    YYFILL(1);
8743
12.6k
    yych = *YYCURSOR;
8744
12.6k
    YYDEBUG(761, *YYCURSOR);
8745
12.6k
    if (yych <= '*') {
8746
342
      if (yych <= 0x00) goto yy86;
8747
342
      if (yych <= ')') goto yy696;
8748
0
      goto yy760;
8749
12.2k
    } else {
8750
12.2k
      if (yych == '/') goto yy616;
8751
150
      goto yy696;
8752
12.2k
    }
8753
851
yy762:
8754
851
    YYDEBUG(762, *YYCURSOR);
8755
851
    yyaccept = 4;
8756
851
    yych = *(YYMARKER = ++YYCURSOR);
8757
851
    if (yych == '_') goto yy811;
8758
0
    goto yy48;
8759
2.87k
yy763:
8760
2.87k
    YYDEBUG(763, *YYCURSOR);
8761
2.87k
    yyaccept = 74;
8762
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
8763
2.87k
    if (yybm[256+yych] & 128) {
8764
56
      goto yy47;
8765
56
    }
8766
2.81k
    if (yych == '\\') goto yy164;
8767
2.81k
yy764:
8768
2.81k
    YYDEBUG(764, *YYCURSOR);
8769
2.81k
    yyleng = YYCURSOR - SCNG(yy_text);
8770
2.81k
#line 2277 "Zend/zend_language_scanner.l"
8771
2.81k
    {
8772
2.81k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8773
2.81k
}
8774
0
#line 8775 "Zend/zend_language_scanner.c"
8775
1.52k
yy765:
8776
1.52k
    YYDEBUG(765, *YYCURSOR);
8777
1.52k
    yyaccept = 4;
8778
1.52k
    yych = *(YYMARKER = ++YYCURSOR);
8779
1.52k
    if (yych == 'O') goto yy813;
8780
7
    if (yych == 'o') goto yy813;
8781
5
    goto yy48;
8782
74
yy766:
8783
74
    YYDEBUG(766, *YYCURSOR);
8784
74
    yyaccept = 4;
8785
74
    yych = *(YYMARKER = ++YYCURSOR);
8786
74
    if (yych == 'O') goto yy814;
8787
60
    if (yych == 'o') goto yy814;
8788
46
    goto yy48;
8789
257
yy767:
8790
257
    YYDEBUG(767, *YYCURSOR);
8791
257
    yyaccept = 75;
8792
257
    yych = *(YYMARKER = ++YYCURSOR);
8793
257
    if (yybm[256+yych] & 128) {
8794
8
      goto yy47;
8795
8
    }
8796
249
    if (yych == '\\') goto yy164;
8797
249
yy768:
8798
249
    YYDEBUG(768, *YYCURSOR);
8799
249
    yyleng = YYCURSOR - SCNG(yy_text);
8800
249
#line 2273 "Zend/zend_language_scanner.l"
8801
249
    {
8802
249
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8803
249
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
4.22k
yy769:
8806
4.22k
    YYDEBUG(769, *YYCURSOR);
8807
4.22k
    yyaccept = 4;
8808
4.22k
    yych = *(YYMARKER = ++YYCURSOR);
8809
4.22k
    if (yych == '_') goto yy815;
8810
241
    goto yy48;
8811
1.80k
yy770:
8812
1.80k
    YYDEBUG(770, *YYCURSOR);
8813
1.80k
    yyaccept = 4;
8814
1.80k
    yych = *(YYMARKER = ++YYCURSOR);
8815
1.80k
    if (yych == 'A') goto yy816;
8816
46
    if (yych == 'a') goto yy816;
8817
42
    goto yy48;
8818
316
yy771:
8819
316
    YYDEBUG(771, *YYCURSOR);
8820
316
    yyaccept = 4;
8821
316
    yych = *(YYMARKER = ++YYCURSOR);
8822
316
    if (yych == 'T') goto yy817;
8823
217
    if (yych == 't') goto yy817;
8824
2
    goto yy48;
8825
399
yy772:
8826
399
    YYDEBUG(772, *YYCURSOR);
8827
399
    yyaccept = 4;
8828
399
    yych = *(YYMARKER = ++YYCURSOR);
8829
399
    if (yych == '_') goto yy818;
8830
4
    goto yy48;
8831
148
yy773:
8832
148
    YYDEBUG(773, *YYCURSOR);
8833
148
    ++YYCURSOR;
8834
148
    YYFILL(1);
8835
148
    yych = *YYCURSOR;
8836
148
    if (yybm[0+yych] & 128) {
8837
0
      goto yy443;
8838
0
    }
8839
148
    if (yych <= 0x00) goto yy86;
8840
148
    if (yych <= '\r') goto yy709;
8841
0
    goto yy547;
8842
854
yy774:
8843
854
    YYDEBUG(774, *YYCURSOR);
8844
854
    yyaccept = 26;
8845
854
    YYMARKER = ++YYCURSOR;
8846
854
    YYFILL(1);
8847
854
    yych = *YYCURSOR;
8848
854
    if (yybm[0+yych] & 128) {
8849
854
      goto yy443;
8850
854
    }
8851
0
    if (yych <= 0x00) goto yy89;
8852
0
    if (yych <= '\r') goto yy545;
8853
0
    goto yy547;
8854
606
yy775:
8855
606
    YYDEBUG(775, *YYCURSOR);
8856
606
    ++YYCURSOR;
8857
606
    YYFILL(1);
8858
606
    yych = *YYCURSOR;
8859
606
    if (yych <= '\r') {
8860
606
      if (yych <= '\t') {
8861
0
        if (yych <= 0x00) goto yy86;
8862
0
        goto yy443;
8863
606
      } else {
8864
606
        if (yych <= '\n') goto yy545;
8865
606
        if (yych <= '\f') goto yy443;
8866
606
        goto yy545;
8867
606
      }
8868
606
    } else {
8869
0
      if (yych <= '*') {
8870
0
        if (yych <= ')') goto yy443;
8871
0
        goto yy547;
8872
0
      } else {
8873
0
        if (yych == '.') goto yy820;
8874
0
        goto yy443;
8875
0
      }
8876
0
    }
8877
4.48k
yy776:
8878
4.48k
    YYDEBUG(776, *YYCURSOR);
8879
4.48k
    ++YYCURSOR;
8880
4.48k
    YYFILL(1);
8881
4.48k
    yych = *YYCURSOR;
8882
4.48k
    if (yybm[0+yych] & 128) {
8883
4
      goto yy443;
8884
4
    }
8885
4.48k
    if (yych <= 0x00) goto yy86;
8886
4.44k
    if (yych <= '\r') goto yy545;
8887
4.44k
    goto yy821;
8888
4.44k
yy777:
8889
2
    YYDEBUG(777, *YYCURSOR);
8890
2
    ++YYCURSOR;
8891
2
    YYDEBUG(778, *YYCURSOR);
8892
2
    yyleng = YYCURSOR - SCNG(yy_text);
8893
2
#line 1700 "Zend/zend_language_scanner.l"
8894
2
    {
8895
2
  if (PARSER_MODE()) {
8896
2
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8897
2
    if (EG(exception)) {
8898
0
      RETURN_TOKEN(T_ERROR);
8899
0
    }
8900
2
  }
8901
2
  RETURN_TOKEN(T_BOOL_CAST);
8902
2
}
8903
0
#line 8904 "Zend/zend_language_scanner.c"
8904
191
yy779:
8905
191
    YYDEBUG(779, *YYCURSOR);
8906
191
    ++YYCURSOR;
8907
191
    YYDEBUG(780, *YYCURSOR);
8908
191
    yyleng = YYCURSOR - SCNG(yy_text);
8909
191
#line 1642 "Zend/zend_language_scanner.l"
8910
191
    {
8911
191
  if (PARSER_MODE()) {
8912
14
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8913
14
    if (EG(exception)) {
8914
0
      RETURN_TOKEN(T_ERROR);
8915
0
    }
8916
14
  }
8917
191
  RETURN_TOKEN(T_INT_CAST);
8918
191
}
8919
0
#line 8920 "Zend/zend_language_scanner.c"
8920
411
yy781:
8921
411
    YYDEBUG(781, *YYCURSOR);
8922
411
    yyaccept = 4;
8923
411
    yych = *(YYMARKER = ++YYCURSOR);
8924
411
    if (yych == 'E') goto yy822;
8925
66
    if (yych == 'e') goto yy822;
8926
10
    goto yy48;
8927
1.43k
yy782:
8928
1.43k
    YYDEBUG(782, *YYCURSOR);
8929
1.43k
    yyaccept = 4;
8930
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
8931
1.43k
    if (yych == 'H') goto yy824;
8932
42
    if (yych == 'h') goto yy824;
8933
0
    goto yy48;
8934
376
yy783:
8935
376
    YYDEBUG(783, *YYCURSOR);
8936
376
    yyaccept = 76;
8937
376
    yych = *(YYMARKER = ++YYCURSOR);
8938
376
    if (yybm[256+yych] & 128) {
8939
68
      goto yy47;
8940
68
    }
8941
308
    if (yych == '\\') goto yy164;
8942
308
yy784:
8943
308
    YYDEBUG(784, *YYCURSOR);
8944
308
    yyleng = YYCURSOR - SCNG(yy_text);
8945
308
#line 1522 "Zend/zend_language_scanner.l"
8946
308
    {
8947
308
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8948
308
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
219
yy785:
8951
219
    YYDEBUG(785, *YYCURSOR);
8952
219
    yych = *++YYCURSOR;
8953
219
    if (yych == 'N') goto yy826;
8954
219
    if (yych == 'n') goto yy826;
8955
0
    goto yy86;
8956
10
yy786:
8957
10
    YYDEBUG(786, *YYCURSOR);
8958
10
    yych = *++YYCURSOR;
8959
10
    if (yych == 'E') goto yy827;
8960
10
    if (yych == 'e') goto yy827;
8961
0
    goto yy86;
8962
187k
yy787:
8963
187k
    YYDEBUG(787, *YYCURSOR);
8964
187k
    ++YYCURSOR;
8965
187k
    YYFILL(1);
8966
187k
    yych = *YYCURSOR;
8967
187k
    YYDEBUG(788, *YYCURSOR);
8968
187k
    if (yych <= '@') {
8969
185k
      if (yych <= ' ') {
8970
3.98k
        if (yych <= '\n') {
8971
828
          if (yych <= 0x00) goto yy86;
8972
728
          if (yych <= 0x08) goto yy590;
8973
580
          goto yy787;
8974
3.15k
        } else {
8975
3.15k
          if (yych == '\r') goto yy787;
8976
794
          if (yych <= 0x1F) goto yy590;
8977
772
          goto yy787;
8978
794
        }
8979
181k
      } else {
8980
181k
        if (yych <= ')') {
8981
167k
          if (yych == '#') goto yy828;
8982
14.8k
          goto yy590;
8983
167k
        } else {
8984
14.4k
          if (yych <= '*') goto yy668;
8985
14.3k
          if (yych == '/') goto yy829;
8986
7.55k
          goto yy590;
8987
14.3k
        }
8988
181k
      }
8989
185k
    } else {
8990
1.78k
      if (yych <= '_') {
8991
192
        if (yych <= 'H') {
8992
156
          if (yych == 'E') goto yy831;
8993
70
          goto yy830;
8994
156
        } else {
8995
36
          if (yych <= 'I') goto yy832;
8996
28
          if (yych <= 'Z') goto yy830;
8997
16
          if (yych <= '^') goto yy590;
8998
8
          goto yy830;
8999
16
        }
9000
1.58k
      } else {
9001
1.58k
        if (yych <= 'h') {
9002
304
          if (yych <= '`') goto yy590;
9003
296
          if (yych == 'e') goto yy831;
9004
208
          goto yy830;
9005
1.28k
        } else {
9006
1.28k
          if (yych <= 'i') goto yy832;
9007
1.14k
          if (yych <= 'z') goto yy830;
9008
858
          if (yych <= 0x7F) goto yy590;
9009
576
          goto yy830;
9010
858
        }
9011
1.58k
      }
9012
1.78k
    }
9013
53.4k
yy789:
9014
53.4k
    YYDEBUG(789, *YYCURSOR);
9015
53.4k
    ++YYCURSOR;
9016
53.4k
    YYFILL(1);
9017
53.4k
    yych = *YYCURSOR;
9018
53.4k
    YYDEBUG(790, *YYCURSOR);
9019
53.4k
    if (yych <= '\r') {
9020
22.8k
      if (yych <= '\t') {
9021
146
        if (yych <= 0x00) goto yy86;
9022
108
        goto yy738;
9023
22.6k
      } else {
9024
22.6k
        if (yych <= '\n') goto yy787;
9025
22.6k
        if (yych <= '\f') goto yy738;
9026
22.6k
        goto yy787;
9027
22.6k
      }
9028
30.5k
    } else {
9029
30.5k
      if (yych <= '*') {
9030
311
        if (yych <= ')') goto yy738;
9031
64
        goto yy789;
9032
30.2k
      } else {
9033
30.2k
        if (yych == '/') goto yy588;
9034
4.60k
        goto yy738;
9035
30.2k
      }
9036
30.5k
    }
9037
0
yy791:
9038
0
    YYDEBUG(791, *YYCURSOR);
9039
0
    ++YYCURSOR;
9040
0
    YYFILL(1);
9041
0
    yych = *YYCURSOR;
9042
0
    if (yych <= '\r') {
9043
0
      if (yych <= '\t') {
9044
0
        if (yych <= 0x00) goto yy86;
9045
0
        goto yy586;
9046
0
      } else {
9047
0
        if (yych <= '\n') goto yy495;
9048
0
        if (yych <= '\f') goto yy586;
9049
0
        goto yy495;
9050
0
      }
9051
0
    } else {
9052
0
      if (yych <= 'E') {
9053
0
        if (yych <= 'D') goto yy586;
9054
0
        goto yy833;
9055
0
      } else {
9056
0
        if (yych == 'e') goto yy833;
9057
0
        goto yy586;
9058
0
      }
9059
0
    }
9060
22
yy792:
9061
22
    YYDEBUG(792, *YYCURSOR);
9062
22
    ++YYCURSOR;
9063
22
    YYFILL(1);
9064
22
    yych = *YYCURSOR;
9065
22
    if (yych <= '\r') {
9066
2
      if (yych <= '\t') {
9067
2
        if (yych <= 0x00) goto yy86;
9068
0
        goto yy586;
9069
2
      } else {
9070
0
        if (yych <= '\n') goto yy495;
9071
0
        if (yych <= '\f') goto yy586;
9072
0
        goto yy495;
9073
0
      }
9074
20
    } else {
9075
20
      if (yych <= 'L') {
9076
0
        if (yych <= 'K') goto yy586;
9077
0
        goto yy834;
9078
20
      } else {
9079
20
        if (yych == 'l') goto yy834;
9080
0
        goto yy586;
9081
20
      }
9082
20
    }
9083
1.27k
yy793:
9084
1.27k
    YYDEBUG(793, *YYCURSOR);
9085
1.27k
    yyaccept = 4;
9086
1.27k
    yych = *(YYMARKER = ++YYCURSOR);
9087
1.27k
    if (yych == 'S') goto yy835;
9088
961
    if (yych == 's') goto yy835;
9089
31
    goto yy48;
9090
1.50k
yy794:
9091
1.50k
    YYDEBUG(794, *YYCURSOR);
9092
1.50k
    yyaccept = 4;
9093
1.50k
    yych = *(YYMARKER = ++YYCURSOR);
9094
1.50k
    if (yych == 'N') goto yy837;
9095
1.34k
    if (yych == 'n') goto yy837;
9096
94
    goto yy48;
9097
669
yy795:
9098
669
    YYDEBUG(795, *YYCURSOR);
9099
669
    yyaccept = 4;
9100
669
    yych = *(YYMARKER = ++YYCURSOR);
9101
669
    if (yych == 'F') goto yy838;
9102
515
    if (yych == 'f') goto yy838;
9103
6
    goto yy48;
9104
2.37k
yy796:
9105
2.37k
    YYDEBUG(796, *YYCURSOR);
9106
2.37k
    yyaccept = 77;
9107
2.37k
    yych = *(YYMARKER = ++YYCURSOR);
9108
2.37k
    if (yybm[256+yych] & 128) {
9109
223
      goto yy47;
9110
223
    }
9111
2.15k
    if (yych == '\\') goto yy164;
9112
2.15k
yy797:
9113
2.15k
    YYDEBUG(797, *YYCURSOR);
9114
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
9115
2.15k
#line 1746 "Zend/zend_language_scanner.l"
9116
2.15k
    {
9117
2.15k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9118
2.15k
}
9119
0
#line 9120 "Zend/zend_language_scanner.c"
9120
1.30k
yy798:
9121
1.30k
    YYDEBUG(798, *YYCURSOR);
9122
1.30k
    yyaccept = 78;
9123
1.30k
    yych = *(YYMARKER = ++YYCURSOR);
9124
1.30k
    if (yybm[256+yych] & 128) {
9125
80
      goto yy47;
9126
80
    }
9127
1.22k
    if (yych == '\\') goto yy164;
9128
1.22k
yy799:
9129
1.22k
    YYDEBUG(799, *YYCURSOR);
9130
1.22k
    yyleng = YYCURSOR - SCNG(yy_text);
9131
1.22k
#line 1558 "Zend/zend_language_scanner.l"
9132
1.22k
    {
9133
1.22k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9134
1.22k
}
9135
0
#line 9136 "Zend/zend_language_scanner.c"
9136
5.46k
yy800:
9137
5.46k
    YYDEBUG(800, *YYCURSOR);
9138
5.46k
    yyaccept = 79;
9139
5.46k
    yych = *(YYMARKER = ++YYCURSOR);
9140
5.46k
    if (yybm[256+yych] & 128) {
9141
337
      goto yy47;
9142
337
    }
9143
5.12k
    if (yych == '\\') goto yy840;
9144
4.26k
yy801:
9145
4.26k
    YYDEBUG(801, *YYCURSOR);
9146
4.26k
    yyleng = YYCURSOR - SCNG(yy_text);
9147
4.26k
#line 1738 "Zend/zend_language_scanner.l"
9148
4.26k
    {
9149
4.26k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9150
4.26k
}
9151
0
#line 9152 "Zend/zend_language_scanner.c"
9152
656
yy802:
9153
656
    YYDEBUG(802, *YYCURSOR);
9154
656
    yych = *++YYCURSOR;
9155
656
    if (yych == 'E') goto yy841;
9156
656
    if (yych == 'e') goto yy841;
9157
484
    goto yy86;
9158
2.62k
yy803:
9159
2.62k
    YYDEBUG(803, *YYCURSOR);
9160
2.62k
    yyaccept = 80;
9161
2.62k
    yych = *(YYMARKER = ++YYCURSOR);
9162
2.62k
    if (yybm[256+yych] & 128) {
9163
106
      goto yy47;
9164
106
    }
9165
2.51k
    if (yych == '(') goto yy842;
9166
2.39k
    if (yych == '\\') goto yy164;
9167
2.44k
yy804:
9168
2.44k
    YYDEBUG(804, *YYCURSOR);
9169
2.44k
    yyleng = YYCURSOR - SCNG(yy_text);
9170
2.44k
#line 1782 "Zend/zend_language_scanner.l"
9171
2.44k
    {
9172
2.44k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9173
2.44k
}
9174
0
#line 9175 "Zend/zend_language_scanner.c"
9175
12
yy805:
9176
12
    YYDEBUG(805, *YYCURSOR);
9177
12
    yych = *++YYCURSOR;
9178
12
    if (yych == 'T') goto yy843;
9179
12
    if (yych == 't') goto yy843;
9180
0
    goto yy86;
9181
176
yy806:
9182
176
    YYDEBUG(806, *YYCURSOR);
9183
176
    yyaccept = 4;
9184
176
    yych = *(YYMARKER = ++YYCURSOR);
9185
176
    if (yych == 'N') goto yy844;
9186
118
    if (yych == 'n') goto yy844;
9187
2
    goto yy48;
9188
523
yy807:
9189
523
    YYDEBUG(807, *YYCURSOR);
9190
523
    yych = *++YYCURSOR;
9191
523
    if (yych == 'M') goto yy845;
9192
521
    if (yych == 'm') goto yy845;
9193
2
    goto yy86;
9194
336k
yy808:
9195
336k
    YYDEBUG(808, *YYCURSOR);
9196
336k
    ++YYCURSOR;
9197
336k
    YYFILL(1);
9198
336k
    yych = *YYCURSOR;
9199
336k
    YYDEBUG(809, *YYCURSOR);
9200
336k
    if (yych <= '\f') {
9201
13.3k
      if (yych <= 0x00) goto yy86;
9202
12.9k
      if (yych == '\n') goto yy846;
9203
4.46k
      goto yy808;
9204
322k
    } else {
9205
322k
      if (yych <= '\r') goto yy846;
9206
288k
      if (yych == '*') goto yy848;
9207
271k
      goto yy808;
9208
288k
    }
9209
0
yy810:
9210
0
    YYDEBUG(810, *YYCURSOR);
9211
0
    ++YYCURSOR;
9212
0
    YYFILL(1);
9213
0
    yych = *YYCURSOR;
9214
0
    if (yych <= '\r') {
9215
0
      if (yych <= '\t') {
9216
0
        if (yych <= 0x00) goto yy86;
9217
0
        goto yy692;
9218
0
      } else {
9219
0
        if (yych <= '\n') goto yy616;
9220
0
        if (yych <= '\f') goto yy692;
9221
0
        goto yy616;
9222
0
      }
9223
0
    } else {
9224
0
      if (yych <= 'O') {
9225
0
        if (yych <= 'N') goto yy692;
9226
0
        goto yy850;
9227
0
      } else {
9228
0
        if (yych == 'o') goto yy850;
9229
0
        goto yy692;
9230
0
      }
9231
0
    }
9232
851
yy811:
9233
851
    YYDEBUG(811, *YYCURSOR);
9234
851
    yyaccept = 81;
9235
851
    yych = *(YYMARKER = ++YYCURSOR);
9236
851
    if (yybm[256+yych] & 128) {
9237
169
      goto yy47;
9238
169
    }
9239
682
    if (yych == '\\') goto yy164;
9240
682
yy812:
9241
682
    YYDEBUG(812, *YYCURSOR);
9242
682
    yyleng = YYCURSOR - SCNG(yy_text);
9243
682
#line 2253 "Zend/zend_language_scanner.l"
9244
682
    {
9245
682
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9246
682
}
9247
0
#line 9248 "Zend/zend_language_scanner.c"
9248
1.51k
yy813:
9249
1.51k
    YYDEBUG(813, *YYCURSOR);
9250
1.51k
    yyaccept = 4;
9251
1.51k
    yych = *(YYMARKER = ++YYCURSOR);
9252
1.51k
    if (yych == 'N') goto yy851;
9253
60
    if (yych == 'n') goto yy851;
9254
58
    goto yy48;
9255
58
yy814:
9256
28
    YYDEBUG(814, *YYCURSOR);
9257
28
    yyaccept = 4;
9258
28
    yych = *(YYMARKER = ++YYCURSOR);
9259
28
    if (yych == 'M') goto yy852;
9260
14
    if (yych == 'm') goto yy852;
9261
0
    goto yy48;
9262
3.97k
yy815:
9263
3.97k
    YYDEBUG(815, *YYCURSOR);
9264
3.97k
    yyaccept = 4;
9265
3.97k
    yych = *(YYMARKER = ++YYCURSOR);
9266
3.97k
    if (yych == '_') goto yy853;
9267
14
    goto yy48;
9268
1.76k
yy816:
9269
1.76k
    YYDEBUG(816, *YYCURSOR);
9270
1.76k
    yyaccept = 4;
9271
1.76k
    yych = *(YYMARKER = ++YYCURSOR);
9272
1.76k
    if (yych == 'C') goto yy855;
9273
32
    if (yych == 'c') goto yy855;
9274
28
    goto yy48;
9275
314
yy817:
9276
314
    YYDEBUG(817, *YYCURSOR);
9277
314
    yyaccept = 4;
9278
314
    yych = *(YYMARKER = ++YYCURSOR);
9279
314
    if (yych == 'Y') goto yy856;
9280
99
    if (yych == 'y') goto yy856;
9281
99
    goto yy48;
9282
395
yy818:
9283
395
    YYDEBUG(818, *YYCURSOR);
9284
395
    yyaccept = 82;
9285
395
    yych = *(YYMARKER = ++YYCURSOR);
9286
395
    if (yybm[256+yych] & 128) {
9287
0
      goto yy47;
9288
0
    }
9289
395
    if (yych == '\\') goto yy164;
9290
395
yy819:
9291
395
    YYDEBUG(819, *YYCURSOR);
9292
395
    yyleng = YYCURSOR - SCNG(yy_text);
9293
395
#line 2257 "Zend/zend_language_scanner.l"
9294
395
    {
9295
395
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9296
395
}
9297
0
#line 9298 "Zend/zend_language_scanner.c"
9298
0
yy820:
9299
0
    YYDEBUG(820, *YYCURSOR);
9300
0
    ++YYCURSOR;
9301
0
    YYFILL(1);
9302
0
    yych = *YYCURSOR;
9303
0
    if (yych <= '\r') {
9304
0
      if (yych <= '\t') {
9305
0
        if (yych <= 0x00) goto yy86;
9306
0
        goto yy443;
9307
0
      } else {
9308
0
        if (yych <= '\n') goto yy545;
9309
0
        if (yych <= '\f') goto yy443;
9310
0
        goto yy545;
9311
0
      }
9312
0
    } else {
9313
0
      if (yych <= '*') {
9314
0
        if (yych <= ')') goto yy443;
9315
0
        goto yy547;
9316
0
      } else {
9317
0
        if (yych == '.') goto yy774;
9318
0
        goto yy443;
9319
0
      }
9320
0
    }
9321
4.44k
yy821:
9322
4.44k
    YYDEBUG(821, *YYCURSOR);
9323
4.44k
    ++YYCURSOR;
9324
4.44k
    YYFILL(1);
9325
4.44k
    yych = *YYCURSOR;
9326
4.44k
    if (yych <= '\r') {
9327
0
      if (yych <= '\t') {
9328
0
        if (yych <= 0x00) goto yy86;
9329
0
        goto yy443;
9330
0
      } else {
9331
0
        if (yych <= '\n') goto yy545;
9332
0
        if (yych <= '\f') goto yy443;
9333
0
        goto yy545;
9334
0
      }
9335
4.44k
    } else {
9336
4.44k
      if (yych <= '*') {
9337
0
        if (yych <= ')') goto yy443;
9338
0
        goto yy547;
9339
4.44k
      } else {
9340
4.44k
        if (yych == '/') goto yy709;
9341
6
        goto yy443;
9342
4.44k
      }
9343
4.44k
    }
9344
401
yy822:
9345
401
    YYDEBUG(822, *YYCURSOR);
9346
401
    yyaccept = 83;
9347
401
    yych = *(YYMARKER = ++YYCURSOR);
9348
401
    if (yybm[256+yych] & 128) {
9349
0
      goto yy47;
9350
0
    }
9351
401
    if (yych == '\\') goto yy164;
9352
401
yy823:
9353
401
    YYDEBUG(823, *YYCURSOR);
9354
401
    yyleng = YYCURSOR - SCNG(yy_text);
9355
401
#line 1502 "Zend/zend_language_scanner.l"
9356
401
    {
9357
401
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9358
401
}
9359
0
#line 9360 "Zend/zend_language_scanner.c"
9360
1.43k
yy824:
9361
1.43k
    YYDEBUG(824, *YYCURSOR);
9362
1.43k
    yyaccept = 84;
9363
1.43k
    yych = *(YYMARKER = ++YYCURSOR);
9364
1.43k
    if (yybm[256+yych] & 128) {
9365
6
      goto yy47;
9366
6
    }
9367
1.42k
    if (yych == '\\') goto yy164;
9368
1.42k
yy825:
9369
1.42k
    YYDEBUG(825, *YYCURSOR);
9370
1.42k
    yyleng = YYCURSOR - SCNG(yy_text);
9371
1.42k
#line 1494 "Zend/zend_language_scanner.l"
9372
1.42k
    {
9373
1.42k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9374
1.42k
}
9375
0
#line 9376 "Zend/zend_language_scanner.c"
9376
219
yy826:
9377
219
    YYDEBUG(826, *YYCURSOR);
9378
219
    yych = *++YYCURSOR;
9379
219
    if (yych == 'D') goto yy857;
9380
219
    if (yych == 'd') goto yy857;
9381
215
    goto yy86;
9382
215
yy827:
9383
10
    YYDEBUG(827, *YYCURSOR);
9384
10
    yych = *++YYCURSOR;
9385
10
    if (yych == 'M') goto yy858;
9386
10
    if (yych == 'm') goto yy858;
9387
6
    goto yy86;
9388
152k
yy828:
9389
152k
    YYDEBUG(828, *YYCURSOR);
9390
152k
    ++YYCURSOR;
9391
152k
    YYFILL(1);
9392
152k
    yych = *YYCURSOR;
9393
152k
    if (yych <= '\r') {
9394
96.2k
      if (yych <= '\t') {
9395
96
        if (yych <= 0x00) goto yy86;
9396
88
        goto yy738;
9397
96.1k
      } else {
9398
96.1k
        if (yych <= '\n') goto yy859;
9399
210
        if (yych <= '\f') goto yy738;
9400
210
        goto yy859;
9401
210
      }
9402
96.2k
    } else {
9403
56.4k
      if (yych <= '*') {
9404
11.1k
        if (yych <= ')') goto yy738;
9405
6.33k
        goto yy789;
9406
45.3k
      } else {
9407
45.3k
        if (yych == '[') goto yy590;
9408
45.3k
        goto yy738;
9409
45.3k
      }
9410
56.4k
    }
9411
6.74k
yy829:
9412
6.74k
    YYDEBUG(829, *YYCURSOR);
9413
6.74k
    ++YYCURSOR;
9414
6.74k
    YYFILL(1);
9415
6.74k
    yych = *YYCURSOR;
9416
6.74k
    if (yych <= '*') {
9417
3.89k
      if (yych <= 0x00) goto yy86;
9418
3.87k
      if (yych <= ')') goto yy590;
9419
3.73k
      goto yy861;
9420
3.87k
    } else {
9421
2.84k
      if (yych == '/') goto yy738;
9422
2.01k
      goto yy590;
9423
2.84k
    }
9424
1.16k
yy830:
9425
1.16k
    YYDEBUG(830, *YYCURSOR);
9426
1.16k
    yyaccept = 53;
9427
1.16k
    YYMARKER = ++YYCURSOR;
9428
1.16k
    YYFILL(1);
9429
1.16k
    yych = *YYCURSOR;
9430
1.16k
    if (yych <= 0x00) goto yy583;
9431
1.12k
    if (yych == '*') goto yy668;
9432
1.08k
    goto yy590;
9433
1.08k
yy831:
9434
174
    YYDEBUG(831, *YYCURSOR);
9435
174
    yyaccept = 53;
9436
174
    YYMARKER = ++YYCURSOR;
9437
174
    YYFILL(1);
9438
174
    yych = *YYCURSOR;
9439
174
    if (yych <= 'W') {
9440
82
      if (yych <= 0x00) goto yy583;
9441
2
      if (yych == '*') goto yy668;
9442
2
      goto yy590;
9443
92
    } else {
9444
92
      if (yych <= 'X') goto yy862;
9445
90
      if (yych == 'x') goto yy862;
9446
90
      goto yy590;
9447
90
    }
9448
146
yy832:
9449
146
    YYDEBUG(832, *YYCURSOR);
9450
146
    yyaccept = 53;
9451
146
    YYMARKER = ++YYCURSOR;
9452
146
    YYFILL(1);
9453
146
    yych = *YYCURSOR;
9454
146
    if (yych <= 'L') {
9455
66
      if (yych <= 0x00) goto yy583;
9456
2
      if (yych == '*') goto yy668;
9457
2
      goto yy590;
9458
80
    } else {
9459
80
      if (yych <= 'M') goto yy863;
9460
80
      if (yych == 'm') goto yy863;
9461
8
      goto yy590;
9462
80
    }
9463
0
yy833:
9464
0
    YYDEBUG(833, *YYCURSOR);
9465
0
    ++YYCURSOR;
9466
0
    YYFILL(1);
9467
0
    yych = *YYCURSOR;
9468
0
    if (yych <= '\r') {
9469
0
      if (yych <= '\t') {
9470
0
        if (yych <= 0x00) goto yy86;
9471
0
        goto yy586;
9472
0
      } else {
9473
0
        if (yych <= '\n') goto yy495;
9474
0
        if (yych <= '\f') goto yy586;
9475
0
        goto yy495;
9476
0
      }
9477
0
    } else {
9478
0
      if (yych <= 'N') {
9479
0
        if (yych <= 'M') goto yy586;
9480
0
        goto yy864;
9481
0
      } else {
9482
0
        if (yych == 'n') goto yy864;
9483
0
        goto yy586;
9484
0
      }
9485
0
    }
9486
20
yy834:
9487
20
    YYDEBUG(834, *YYCURSOR);
9488
20
    ++YYCURSOR;
9489
20
    YYFILL(1);
9490
20
    yych = *YYCURSOR;
9491
20
    if (yych <= '\r') {
9492
0
      if (yych <= '\t') {
9493
0
        if (yych <= 0x00) goto yy86;
9494
0
        goto yy586;
9495
0
      } else {
9496
0
        if (yych <= '\n') goto yy495;
9497
0
        if (yych <= '\f') goto yy586;
9498
0
        goto yy495;
9499
0
      }
9500
20
    } else {
9501
20
      if (yych <= 'E') {
9502
4
        if (yych <= 'D') goto yy586;
9503
0
        goto yy865;
9504
16
      } else {
9505
16
        if (yych == 'e') goto yy865;
9506
6
        goto yy586;
9507
16
      }
9508
20
    }
9509
1.24k
yy835:
9510
1.24k
    YYDEBUG(835, *YYCURSOR);
9511
1.24k
    yyaccept = 85;
9512
1.24k
    yych = *(YYMARKER = ++YYCURSOR);
9513
1.24k
    if (yybm[256+yych] & 128) {
9514
0
      goto yy47;
9515
0
    }
9516
1.24k
    if (yych == '\\') goto yy164;
9517
1.24k
yy836:
9518
1.24k
    YYDEBUG(836, *YYCURSOR);
9519
1.24k
    yyleng = YYCURSOR - SCNG(yy_text);
9520
1.24k
#line 1583 "Zend/zend_language_scanner.l"
9521
1.24k
    {
9522
1.24k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9523
1.24k
}
9524
0
#line 9525 "Zend/zend_language_scanner.c"
9525
1.41k
yy837:
9526
1.41k
    YYDEBUG(837, *YYCURSOR);
9527
1.41k
    yyaccept = 4;
9528
1.41k
    yych = *(YYMARKER = ++YYCURSOR);
9529
1.41k
    if (yych == 'C') goto yy866;
9530
1.23k
    if (yych == 'c') goto yy866;
9531
50
    goto yy48;
9532
663
yy838:
9533
663
    YYDEBUG(838, *YYCURSOR);
9534
663
    yyaccept = 86;
9535
663
    yych = *(YYMARKER = ++YYCURSOR);
9536
663
    if (yybm[256+yych] & 128) {
9537
72
      goto yy47;
9538
72
    }
9539
591
    if (yych == '\\') goto yy164;
9540
591
yy839:
9541
591
    YYDEBUG(839, *YYCURSOR);
9542
591
    yyleng = YYCURSOR - SCNG(yy_text);
9543
591
#line 1506 "Zend/zend_language_scanner.l"
9544
591
    {
9545
591
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9546
591
}
9547
0
#line 9548 "Zend/zend_language_scanner.c"
9548
880
yy840:
9549
880
    YYDEBUG(840, *YYCURSOR);
9550
880
    ++YYCURSOR;
9551
880
    YYFILL(1);
9552
880
    yych = *YYCURSOR;
9553
880
    if (yych <= '_') {
9554
99
      if (yych <= '@') goto yy86;
9555
89
      if (yych <= 'Z') goto yy867;
9556
48
      if (yych <= '^') goto yy86;
9557
48
      goto yy867;
9558
781
    } else {
9559
781
      if (yych <= '`') goto yy86;
9560
781
      if (yych <= 'z') goto yy867;
9561
0
      if (yych <= 0x7F) goto yy86;
9562
0
      goto yy867;
9563
0
    }
9564
172
yy841:
9565
172
    YYDEBUG(841, *YYCURSOR);
9566
172
    yych = *++YYCURSOR;
9567
172
    if (yych == 'T') goto yy870;
9568
172
    if (yych == 't') goto yy870;
9569
18
    goto yy86;
9570
118
yy842:
9571
118
    YYDEBUG(842, *YYCURSOR);
9572
118
    yych = *++YYCURSOR;
9573
118
    if (yych == 'S') goto yy871;
9574
118
    if (yych == 's') goto yy871;
9575
38
    goto yy86;
9576
38
yy843:
9577
12
    YYDEBUG(843, *YYCURSOR);
9578
12
    yych = *++YYCURSOR;
9579
12
    if (yych == ')') goto yy872;
9580
0
    goto yy86;
9581
174
yy844:
9582
174
    YYDEBUG(844, *YYCURSOR);
9583
174
    yyaccept = 4;
9584
174
    yych = *(YYMARKER = ++YYCURSOR);
9585
174
    if (yych == 'C') goto yy874;
9586
123
    if (yych == 'c') goto yy874;
9587
9
    goto yy48;
9588
521
yy845:
9589
521
    YYDEBUG(845, *YYCURSOR);
9590
521
    yych = *++YYCURSOR;
9591
521
    if (yych <= '^') {
9592
521
      if (yych <= '9') {
9593
521
        if (yych <= '/') goto yy875;
9594
2
        goto yy86;
9595
521
      } else {
9596
0
        if (yych <= '@') goto yy875;
9597
0
        if (yych <= 'Z') goto yy86;
9598
0
        goto yy875;
9599
0
      }
9600
521
    } else {
9601
0
      if (yych <= '`') {
9602
0
        if (yych <= '_') goto yy86;
9603
0
        goto yy875;
9604
0
      } else {
9605
0
        if (yych <= 'z') goto yy86;
9606
0
        if (yych <= 0x7F) goto yy875;
9607
0
        goto yy86;
9608
0
      }
9609
0
    }
9610
81.5k
yy846:
9611
81.5k
    YYDEBUG(846, *YYCURSOR);
9612
81.5k
    ++YYCURSOR;
9613
81.5k
    YYFILL(1);
9614
81.5k
    yych = *YYCURSOR;
9615
81.5k
    YYDEBUG(847, *YYCURSOR);
9616
81.5k
    if (yych <= '#') {
9617
69.5k
      if (yych <= '\f') {
9618
242
        if (yych <= 0x00) goto yy86;
9619
208
        if (yych <= 0x08) goto yy696;
9620
168
        if (yych <= '\n') goto yy846;
9621
0
        goto yy696;
9622
69.3k
      } else {
9623
69.3k
        if (yych <= 0x1F) {
9624
1.39k
          if (yych <= '\r') goto yy846;
9625
0
          goto yy696;
9626
67.9k
        } else {
9627
67.9k
          if (yych <= ' ') goto yy846;
9628
67.9k
          if (yych <= '"') goto yy696;
9629
67.9k
          goto yy877;
9630
67.9k
        }
9631
69.3k
      }
9632
69.5k
    } else {
9633
11.9k
      if (yych <= '/') {
9634
9.08k
        if (yych == '*') goto yy760;
9635
9.07k
        if (yych <= '.') goto yy696;
9636
2.45k
        goto yy878;
9637
9.07k
      } else {
9638
2.90k
        if (yych <= 'F') {
9639
2.53k
          if (yych <= 'E') goto yy696;
9640
0
          goto yy879;
9641
2.53k
        } else {
9642
370
          if (yych == 'f') goto yy879;
9643
362
          goto yy696;
9644
370
        }
9645
2.90k
      }
9646
11.9k
    }
9647
21.2k
yy848:
9648
21.2k
    YYDEBUG(848, *YYCURSOR);
9649
21.2k
    ++YYCURSOR;
9650
21.2k
    YYFILL(1);
9651
21.2k
    yych = *YYCURSOR;
9652
21.2k
    YYDEBUG(849, *YYCURSOR);
9653
21.2k
    if (yych <= '\r') {
9654
9.20k
      if (yych <= '\t') {
9655
0
        if (yych <= 0x00) goto yy86;
9656
0
        goto yy808;
9657
9.20k
      } else {
9658
9.20k
        if (yych <= '\n') goto yy846;
9659
9.20k
        if (yych <= '\f') goto yy808;
9660
9.20k
        goto yy846;
9661
9.20k
      }
9662
11.9k
    } else {
9663
11.9k
      if (yych <= '*') {
9664
100
        if (yych <= ')') goto yy808;
9665
0
        goto yy848;
9666
11.8k
      } else {
9667
11.8k
        if (yych == '/') goto yy694;
9668
690
        goto yy808;
9669
11.8k
      }
9670
11.9k
    }
9671
0
yy850:
9672
0
    YYDEBUG(850, *YYCURSOR);
9673
0
    ++YYCURSOR;
9674
0
    YYFILL(1);
9675
0
    yych = *YYCURSOR;
9676
0
    if (yych <= '\r') {
9677
0
      if (yych <= '\t') {
9678
0
        if (yych <= 0x00) goto yy86;
9679
0
        goto yy692;
9680
0
      } else {
9681
0
        if (yych <= '\n') goto yy616;
9682
0
        if (yych <= '\f') goto yy692;
9683
0
        goto yy616;
9684
0
      }
9685
0
    } else {
9686
0
      if (yych <= 'M') {
9687
0
        if (yych <= 'L') goto yy692;
9688
0
        goto yy880;
9689
0
      } else {
9690
0
        if (yych == 'm') goto yy880;
9691
0
        goto yy692;
9692
0
      }
9693
0
    }
9694
1.45k
yy851:
9695
1.45k
    YYDEBUG(851, *YYCURSOR);
9696
1.45k
    yyaccept = 4;
9697
1.45k
    yych = *(YYMARKER = ++YYCURSOR);
9698
1.45k
    if (yych == '_') goto yy881;
9699
57
    goto yy48;
9700
57
yy852:
9701
28
    YYDEBUG(852, *YYCURSOR);
9702
28
    yyaccept = 4;
9703
28
    yych = *(YYMARKER = ++YYCURSOR);
9704
28
    if (yych == 'P') goto yy882;
9705
14
    if (yych == 'p') goto yy882;
9706
0
    goto yy48;
9707
3.96k
yy853:
9708
3.96k
    YYDEBUG(853, *YYCURSOR);
9709
3.96k
    yyaccept = 87;
9710
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
9711
3.96k
    if (yybm[256+yych] & 128) {
9712
93
      goto yy47;
9713
93
    }
9714
3.87k
    if (yych == '\\') goto yy164;
9715
3.87k
yy854:
9716
3.87k
    YYDEBUG(854, *YYCURSOR);
9717
3.87k
    yyleng = YYCURSOR - SCNG(yy_text);
9718
3.87k
#line 2269 "Zend/zend_language_scanner.l"
9719
3.87k
    {
9720
3.87k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9721
3.87k
}
9722
0
#line 9723 "Zend/zend_language_scanner.c"
9723
1.73k
yy855:
9724
1.73k
    YYDEBUG(855, *YYCURSOR);
9725
1.73k
    yyaccept = 4;
9726
1.73k
    yych = *(YYMARKER = ++YYCURSOR);
9727
1.73k
    if (yych == 'E') goto yy883;
9728
41
    if (yych == 'e') goto yy883;
9729
37
    goto yy48;
9730
215
yy856:
9731
215
    YYDEBUG(856, *YYCURSOR);
9732
215
    yyaccept = 4;
9733
215
    yych = *(YYMARKER = ++YYCURSOR);
9734
215
    if (yych == '_') goto yy884;
9735
2
    goto yy48;
9736
8
yy857:
9737
8
    YYDEBUG(857, *YYCURSOR);
9738
8
    yych = *++YYCURSOR;
9739
8
    if (yych == 'S') goto yy885;
9740
8
    if (yych == 's') goto yy885;
9741
0
    goto yy86;
9742
4
yy858:
9743
4
    YYDEBUG(858, *YYCURSOR);
9744
4
    yych = *++YYCURSOR;
9745
4
    if (yych == 'E') goto yy887;
9746
4
    if (yych == 'e') goto yy887;
9747
0
    goto yy86;
9748
195k
yy859:
9749
195k
    YYDEBUG(859, *YYCURSOR);
9750
195k
    ++YYCURSOR;
9751
195k
    YYFILL(1);
9752
195k
    yych = *YYCURSOR;
9753
195k
    YYDEBUG(860, *YYCURSOR);
9754
195k
    if (yych <= '@') {
9755
187k
      if (yych <= 0x1F) {
9756
61.5k
        if (yych <= '\t') {
9757
4.61k
          if (yych <= 0x00) goto yy86;
9758
4.40k
          if (yych <= 0x08) goto yy738;
9759
4.29k
          goto yy859;
9760
56.9k
        } else {
9761
56.9k
          if (yych <= '\n') goto yy787;
9762
55.6k
          if (yych == '\r') goto yy787;
9763
4
          goto yy738;
9764
55.6k
        }
9765
125k
      } else {
9766
125k
        if (yych <= ')') {
9767
20.9k
          if (yych <= ' ') goto yy859;
9768
19.9k
          if (yych == '#') goto yy888;
9769
14.6k
          goto yy738;
9770
105k
        } else {
9771
105k
          if (yych <= '*') goto yy789;
9772
104k
          if (yych == '/') goto yy889;
9773
12.7k
          goto yy738;
9774
104k
        }
9775
125k
      }
9776
187k
    } else {
9777
7.99k
      if (yych <= '_') {
9778
162
        if (yych <= 'H') {
9779
30
          if (yych == 'E') goto yy891;
9780
30
          goto yy890;
9781
132
        } else {
9782
132
          if (yych <= 'I') goto yy892;
9783
132
          if (yych <= 'Z') goto yy890;
9784
124
          if (yych <= '^') goto yy738;
9785
0
          goto yy890;
9786
124
        }
9787
7.83k
      } else {
9788
7.83k
        if (yych <= 'h') {
9789
546
          if (yych <= '`') goto yy738;
9790
534
          if (yych == 'e') goto yy891;
9791
20
          goto yy890;
9792
7.28k
        } else {
9793
7.28k
          if (yych <= 'i') goto yy892;
9794
6.91k
          if (yych <= 'z') goto yy890;
9795
5.93k
          if (yych <= 0x7F) goto yy738;
9796
926
          goto yy890;
9797
5.93k
        }
9798
7.83k
      }
9799
7.99k
    }
9800
3.73k
yy861:
9801
3.73k
    YYDEBUG(861, *YYCURSOR);
9802
3.73k
    ++YYCURSOR;
9803
3.73k
    YYFILL(1);
9804
3.73k
    yych = *YYCURSOR;
9805
3.73k
    if (yych <= '*') {
9806
48
      if (yych <= 0x00) goto yy86;
9807
44
      if (yych <= ')') goto yy590;
9808
32
      goto yy668;
9809
3.68k
    } else {
9810
3.68k
      if (yych == '/') goto yy787;
9811
54
      goto yy590;
9812
3.68k
    }
9813
2
yy862:
9814
2
    YYDEBUG(862, *YYCURSOR);
9815
2
    ++YYCURSOR;
9816
2
    YYFILL(1);
9817
2
    yych = *YYCURSOR;
9818
2
    if (yych <= 'S') {
9819
2
      if (yych <= 0x00) goto yy86;
9820
2
      if (yych == '*') goto yy668;
9821
2
      goto yy590;
9822
2
    } else {
9823
0
      if (yych <= 'T') goto yy893;
9824
0
      if (yych == 't') goto yy893;
9825
0
      goto yy590;
9826
0
    }
9827
72
yy863:
9828
72
    YYDEBUG(863, *YYCURSOR);
9829
72
    ++YYCURSOR;
9830
72
    YYFILL(1);
9831
72
    yych = *YYCURSOR;
9832
72
    if (yych <= 'O') {
9833
0
      if (yych <= 0x00) goto yy86;
9834
0
      if (yych == '*') goto yy668;
9835
0
      goto yy590;
9836
72
    } else {
9837
72
      if (yych <= 'P') goto yy894;
9838
72
      if (yych == 'p') goto yy894;
9839
0
      goto yy590;
9840
72
    }
9841
0
yy864:
9842
0
    YYDEBUG(864, *YYCURSOR);
9843
0
    ++YYCURSOR;
9844
0
    YYFILL(1);
9845
0
    yych = *YYCURSOR;
9846
0
    if (yych <= '\r') {
9847
0
      if (yych <= '\t') {
9848
0
        if (yych <= 0x00) goto yy86;
9849
0
        goto yy586;
9850
0
      } else {
9851
0
        if (yych <= '\n') goto yy495;
9852
0
        if (yych <= '\f') goto yy586;
9853
0
        goto yy495;
9854
0
      }
9855
0
    } else {
9856
0
      if (yych <= 'D') {
9857
0
        if (yych <= 'C') goto yy586;
9858
0
        goto yy895;
9859
0
      } else {
9860
0
        if (yych == 'd') goto yy895;
9861
0
        goto yy586;
9862
0
      }
9863
0
    }
9864
10
yy865:
9865
10
    YYDEBUG(865, *YYCURSOR);
9866
10
    ++YYCURSOR;
9867
10
    YYFILL(1);
9868
10
    yych = *YYCURSOR;
9869
10
    if (yych <= '\r') {
9870
10
      if (yych <= '\t') {
9871
10
        if (yych <= 0x00) goto yy86;
9872
0
        goto yy586;
9873
10
      } else {
9874
0
        if (yych <= '\n') goto yy495;
9875
0
        if (yych <= '\f') goto yy586;
9876
0
        goto yy495;
9877
0
      }
9878
10
    } else {
9879
0
      if (yych <= 'M') {
9880
0
        if (yych <= 'L') goto yy586;
9881
0
        goto yy896;
9882
0
      } else {
9883
0
        if (yych == 'm') goto yy896;
9884
0
        goto yy586;
9885
0
      }
9886
0
    }
9887
1.36k
yy866:
9888
1.36k
    YYDEBUG(866, *YYCURSOR);
9889
1.36k
    yyaccept = 4;
9890
1.36k
    yych = *(YYMARKER = ++YYCURSOR);
9891
1.36k
    if (yych == 'E') goto yy897;
9892
1.17k
    if (yych == 'e') goto yy897;
9893
130
    goto yy48;
9894
12.7k
yy867:
9895
12.7k
    YYDEBUG(867, *YYCURSOR);
9896
12.7k
    yyaccept = 88;
9897
12.7k
    YYMARKER = ++YYCURSOR;
9898
12.7k
    YYFILL(1);
9899
12.7k
    yych = *YYCURSOR;
9900
12.7k
    YYDEBUG(868, *YYCURSOR);
9901
12.7k
    if (yych <= '\\') {
9902
1.78k
      if (yych <= '@') {
9903
906
        if (yych <= '/') goto yy869;
9904
637
        if (yych <= '9') goto yy867;
9905
876
      } else {
9906
876
        if (yych <= 'Z') goto yy867;
9907
16
        if (yych >= '\\') goto yy840;
9908
16
      }
9909
10.9k
    } else {
9910
10.9k
      if (yych <= '`') {
9911
190
        if (yych == '_') goto yy867;
9912
10.8k
      } else {
9913
10.8k
        if (yych <= 'z') goto yy867;
9914
10.0k
        if (yych >= 0x80) goto yy867;
9915
10.0k
      }
9916
10.9k
    }
9917
864
yy869:
9918
864
    YYDEBUG(869, *YYCURSOR);
9919
864
    yyleng = YYCURSOR - SCNG(yy_text);
9920
864
#line 2439 "Zend/zend_language_scanner.l"
9921
864
    {
9922
864
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9923
864
}
9924
0
#line 9925 "Zend/zend_language_scanner.c"
9925
154
yy870:
9926
154
    YYDEBUG(870, *YYCURSOR);
9927
154
    yych = *++YYCURSOR;
9928
154
    if (yych == ')') goto yy899;
9929
18
    goto yy86;
9930
80
yy871:
9931
80
    YYDEBUG(871, *YYCURSOR);
9932
80
    yych = *++YYCURSOR;
9933
80
    if (yych == 'E') goto yy901;
9934
80
    if (yych == 'e') goto yy901;
9935
10
    goto yy86;
9936
12
yy872:
9937
12
    YYDEBUG(872, *YYCURSOR);
9938
12
    ++YYCURSOR;
9939
12
    YYDEBUG(873, *YYCURSOR);
9940
12
    yyleng = YYCURSOR - SCNG(yy_text);
9941
12
#line 1786 "Zend/zend_language_scanner.l"
9942
12
    {
9943
12
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9944
12
}
9945
0
#line 9946 "Zend/zend_language_scanner.c"
9946
165
yy874:
9947
165
    YYDEBUG(874, *YYCURSOR);
9948
165
    yyaccept = 4;
9949
165
    yych = *(YYMARKER = ++YYCURSOR);
9950
165
    if (yych == 'E') goto yy902;
9951
114
    if (yych == 'e') goto yy902;
9952
2
    goto yy48;
9953
519
yy875:
9954
519
    YYDEBUG(875, *YYCURSOR);
9955
519
    ++YYCURSOR;
9956
519
yy876:
9957
519
    YYDEBUG(876, *YYCURSOR);
9958
519
    yyleng = YYCURSOR - SCNG(yy_text);
9959
519
#line 1428 "Zend/zend_language_scanner.l"
9960
519
    {
9961
519
  yyless(yyleng - 1);
9962
519
  HANDLE_NEWLINES(yytext, yyleng);
9963
519
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9964
519
}
9965
0
#line 9966 "Zend/zend_language_scanner.c"
9966
67.9k
yy877:
9967
67.9k
    YYDEBUG(877, *YYCURSOR);
9968
67.9k
    ++YYCURSOR;
9969
67.9k
    YYFILL(1);
9970
67.9k
    yych = *YYCURSOR;
9971
67.9k
    if (yych <= '\r') {
9972
43.2k
      if (yych <= '\t') {
9973
0
        if (yych <= 0x00) goto yy86;
9974
0
        goto yy808;
9975
43.2k
      } else {
9976
43.2k
        if (yych <= '\n') goto yy904;
9977
82
        if (yych <= '\f') goto yy808;
9978
82
        goto yy904;
9979
82
      }
9980
43.2k
    } else {
9981
24.6k
      if (yych <= '*') {
9982
5.86k
        if (yych <= ')') goto yy808;
9983
3.56k
        goto yy848;
9984
18.7k
      } else {
9985
18.7k
        if (yych == '[') goto yy696;
9986
18.7k
        goto yy808;
9987
18.7k
      }
9988
24.6k
    }
9989
2.45k
yy878:
9990
2.45k
    YYDEBUG(878, *YYCURSOR);
9991
2.45k
    ++YYCURSOR;
9992
2.45k
    YYFILL(1);
9993
2.45k
    yych = *YYCURSOR;
9994
2.45k
    if (yych <= '*') {
9995
1.54k
      if (yych <= 0x00) goto yy86;
9996
1.54k
      if (yych <= ')') goto yy696;
9997
1.49k
      goto yy906;
9998
1.54k
    } else {
9999
916
      if (yych == '/') goto yy808;
10000
916
      goto yy696;
10001
916
    }
10002
8
yy879:
10003
8
    YYDEBUG(879, *YYCURSOR);
10004
8
    ++YYCURSOR;
10005
8
    YYFILL(1);
10006
8
    yych = *YYCURSOR;
10007
8
    if (yych <= 'Q') {
10008
0
      if (yych <= 0x00) goto yy86;
10009
0
      if (yych == '*') goto yy760;
10010
0
      goto yy696;
10011
8
    } else {
10012
8
      if (yych <= 'R') goto yy907;
10013
8
      if (yych == 'r') goto yy907;
10014
8
      goto yy696;
10015
8
    }
10016
0
yy880:
10017
0
    YYDEBUG(880, *YYCURSOR);
10018
0
    ++YYCURSOR;
10019
0
    YYFILL(1);
10020
0
    yych = *YYCURSOR;
10021
0
    if (yych <= '9') {
10022
0
      if (yych <= '\n') {
10023
0
        if (yych <= 0x00) goto yy875;
10024
0
        if (yych <= '\t') goto yy908;
10025
0
        goto yy909;
10026
0
      } else {
10027
0
        if (yych == '\r') goto yy909;
10028
0
        if (yych <= '/') goto yy908;
10029
0
        goto yy692;
10030
0
      }
10031
0
    } else {
10032
0
      if (yych <= '_') {
10033
0
        if (yych <= '@') goto yy908;
10034
0
        if (yych <= 'Z') goto yy692;
10035
0
        if (yych <= '^') goto yy908;
10036
0
        goto yy692;
10037
0
      } else {
10038
0
        if (yych <= '`') goto yy908;
10039
0
        if (yych <= 'z') goto yy692;
10040
0
        if (yych <= 0x7F) goto yy908;
10041
0
        goto yy692;
10042
0
      }
10043
0
    }
10044
1.40k
yy881:
10045
1.40k
    YYDEBUG(881, *YYCURSOR);
10046
1.40k
    yyaccept = 4;
10047
1.40k
    yych = *(YYMARKER = ++YYCURSOR);
10048
1.40k
    if (yych == '_') goto yy910;
10049
2
    goto yy48;
10050
28
yy882:
10051
28
    YYDEBUG(882, *YYCURSOR);
10052
28
    yyaccept = 4;
10053
28
    yych = *(YYMARKER = ++YYCURSOR);
10054
28
    if (yych == 'I') goto yy912;
10055
14
    if (yych == 'i') goto yy912;
10056
0
    goto yy48;
10057
1.69k
yy883:
10058
1.69k
    YYDEBUG(883, *YYCURSOR);
10059
1.69k
    yyaccept = 4;
10060
1.69k
    yych = *(YYMARKER = ++YYCURSOR);
10061
1.69k
    if (yych == '_') goto yy913;
10062
208
    goto yy48;
10063
213
yy884:
10064
213
    YYDEBUG(884, *YYCURSOR);
10065
213
    yyaccept = 4;
10066
213
    yych = *(YYMARKER = ++YYCURSOR);
10067
213
    if (yych == '_') goto yy914;
10068
0
    goto yy48;
10069
8
yy885:
10070
8
    YYDEBUG(885, *YYCURSOR);
10071
8
    ++YYCURSOR;
10072
8
yy886:
10073
8
    YYDEBUG(886, *YYCURSOR);
10074
8
    yyleng = YYCURSOR - SCNG(yy_text);
10075
8
#line 1570 "Zend/zend_language_scanner.l"
10076
8
    {
10077
8
  yyless(4);
10078
8
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10079
8
}
10080
0
#line 10081 "Zend/zend_language_scanner.c"
10081
4
yy887:
10082
4
    YYDEBUG(887, *YYCURSOR);
10083
4
    yych = *++YYCURSOR;
10084
4
    if (yych == 'N') goto yy916;
10085
4
    if (yych == 'n') goto yy916;
10086
0
    goto yy86;
10087
5.31k
yy888:
10088
5.31k
    YYDEBUG(888, *YYCURSOR);
10089
5.31k
    ++YYCURSOR;
10090
5.31k
    YYFILL(1);
10091
5.31k
    yych = *YYCURSOR;
10092
5.31k
    if (yych <= '\f') {
10093
4.24k
      if (yych <= 0x00) goto yy86;
10094
4.20k
      if (yych == '\n') goto yy859;
10095
0
      goto yy738;
10096
4.20k
    } else {
10097
1.06k
      if (yych <= '\r') goto yy859;
10098
1.05k
      if (yych == '*') goto yy789;
10099
878
      goto yy738;
10100
1.05k
    }
10101
91.4k
yy889:
10102
91.4k
    YYDEBUG(889, *YYCURSOR);
10103
91.4k
    ++YYCURSOR;
10104
91.4k
    YYFILL(1);
10105
91.4k
    yych = *YYCURSOR;
10106
91.4k
    if (yych <= '\f') {
10107
2
      if (yych <= 0x00) goto yy86;
10108
2
      if (yych == '\n') goto yy787;
10109
0
      goto yy738;
10110
91.4k
    } else {
10111
91.4k
      if (yych <= '\r') goto yy787;
10112
91.4k
      if (yych == '*') goto yy917;
10113
1.07k
      goto yy738;
10114
91.4k
    }
10115
1.97k
yy890:
10116
1.97k
    YYDEBUG(890, *YYCURSOR);
10117
1.97k
    yyaccept = 53;
10118
1.97k
    YYMARKER = ++YYCURSOR;
10119
1.97k
    YYFILL(1);
10120
1.97k
    yych = *YYCURSOR;
10121
1.97k
    if (yych <= '\f') {
10122
126
      if (yych <= 0x00) goto yy583;
10123
114
      if (yych == '\n') goto yy787;
10124
32
      goto yy738;
10125
1.84k
    } else {
10126
1.84k
      if (yych <= '\r') goto yy787;
10127
1.84k
      if (yych == '*') goto yy789;
10128
1.48k
      goto yy738;
10129
1.84k
    }
10130
514
yy891:
10131
514
    YYDEBUG(891, *YYCURSOR);
10132
514
    yyaccept = 53;
10133
514
    YYMARKER = ++YYCURSOR;
10134
514
    YYFILL(1);
10135
514
    yych = *YYCURSOR;
10136
514
    if (yych <= ')') {
10137
80
      if (yych <= '\n') {
10138
80
        if (yych <= 0x00) goto yy583;
10139
80
        if (yych <= '\t') goto yy738;
10140
80
        goto yy787;
10141
80
      } else {
10142
0
        if (yych == '\r') goto yy787;
10143
0
        goto yy738;
10144
0
      }
10145
434
    } else {
10146
434
      if (yych <= 'X') {
10147
18
        if (yych <= '*') goto yy789;
10148
18
        if (yych <= 'W') goto yy738;
10149
10
        goto yy918;
10150
416
      } else {
10151
416
        if (yych == 'x') goto yy918;
10152
228
        goto yy738;
10153
416
      }
10154
434
    }
10155
370
yy892:
10156
370
    YYDEBUG(892, *YYCURSOR);
10157
370
    yyaccept = 53;
10158
370
    YYMARKER = ++YYCURSOR;
10159
370
    YYFILL(1);
10160
370
    yych = *YYCURSOR;
10161
370
    if (yych <= ')') {
10162
0
      if (yych <= '\n') {
10163
0
        if (yych <= 0x00) goto yy583;
10164
0
        if (yych <= '\t') goto yy738;
10165
0
        goto yy787;
10166
0
      } else {
10167
0
        if (yych == '\r') goto yy787;
10168
0
        goto yy738;
10169
0
      }
10170
370
    } else {
10171
370
      if (yych <= 'M') {
10172
56
        if (yych <= '*') goto yy789;
10173
52
        if (yych <= 'L') goto yy738;
10174
2
        goto yy919;
10175
314
      } else {
10176
314
        if (yych == 'm') goto yy919;
10177
314
        goto yy738;
10178
314
      }
10179
370
    }
10180
0
yy893:
10181
0
    YYDEBUG(893, *YYCURSOR);
10182
0
    ++YYCURSOR;
10183
0
    YYFILL(1);
10184
0
    yych = *YYCURSOR;
10185
0
    if (yych <= 'D') {
10186
0
      if (yych <= 0x00) goto yy86;
10187
0
      if (yych == '*') goto yy668;
10188
0
      goto yy590;
10189
0
    } else {
10190
0
      if (yych <= 'E') goto yy920;
10191
0
      if (yych == 'e') goto yy920;
10192
0
      goto yy590;
10193
0
    }
10194
72
yy894:
10195
72
    YYDEBUG(894, *YYCURSOR);
10196
72
    ++YYCURSOR;
10197
72
    YYFILL(1);
10198
72
    yych = *YYCURSOR;
10199
72
    if (yych <= 'K') {
10200
0
      if (yych <= 0x00) goto yy86;
10201
0
      if (yych == '*') goto yy668;
10202
0
      goto yy590;
10203
72
    } else {
10204
72
      if (yych <= 'L') goto yy921;
10205
72
      if (yych == 'l') goto yy921;
10206
0
      goto yy590;
10207
72
    }
10208
0
yy895:
10209
0
    YYDEBUG(895, *YYCURSOR);
10210
0
    ++YYCURSOR;
10211
0
    YYFILL(1);
10212
0
    yych = *YYCURSOR;
10213
0
    if (yych <= '\r') {
10214
0
      if (yych <= '\t') {
10215
0
        if (yych <= 0x00) goto yy86;
10216
0
        goto yy586;
10217
0
      } else {
10218
0
        if (yych <= '\n') goto yy495;
10219
0
        if (yych <= '\f') goto yy586;
10220
0
        goto yy495;
10221
0
      }
10222
0
    } else {
10223
0
      if (yych <= 'S') {
10224
0
        if (yych <= 'R') goto yy586;
10225
0
        goto yy922;
10226
0
      } else {
10227
0
        if (yych == 's') goto yy922;
10228
0
        goto yy586;
10229
0
      }
10230
0
    }
10231
0
yy896:
10232
0
    YYDEBUG(896, *YYCURSOR);
10233
0
    ++YYCURSOR;
10234
0
    YYFILL(1);
10235
0
    yych = *YYCURSOR;
10236
0
    if (yych <= '\r') {
10237
0
      if (yych <= '\t') {
10238
0
        if (yych <= 0x00) goto yy86;
10239
0
        goto yy586;
10240
0
      } else {
10241
0
        if (yych <= '\n') goto yy495;
10242
0
        if (yych <= '\f') goto yy586;
10243
0
        goto yy495;
10244
0
      }
10245
0
    } else {
10246
0
      if (yych <= 'E') {
10247
0
        if (yych <= 'D') goto yy586;
10248
0
        goto yy923;
10249
0
      } else {
10250
0
        if (yych == 'e') goto yy923;
10251
0
        goto yy586;
10252
0
      }
10253
0
    }
10254
1.23k
yy897:
10255
1.23k
    YYDEBUG(897, *YYCURSOR);
10256
1.23k
    yyaccept = 89;
10257
1.23k
    yych = *(YYMARKER = ++YYCURSOR);
10258
1.23k
    if (yybm[256+yych] & 128) {
10259
166
      goto yy47;
10260
166
    }
10261
1.06k
    if (yych == '\\') goto yy164;
10262
1.06k
yy898:
10263
1.06k
    YYDEBUG(898, *YYCURSOR);
10264
1.06k
    yyleng = YYCURSOR - SCNG(yy_text);
10265
1.06k
#line 1726 "Zend/zend_language_scanner.l"
10266
1.06k
    {
10267
1.06k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10268
1.06k
}
10269
0
#line 10270 "Zend/zend_language_scanner.c"
10270
136
yy899:
10271
136
    YYDEBUG(899, *YYCURSOR);
10272
136
    ++YYCURSOR;
10273
136
    YYDEBUG(900, *YYCURSOR);
10274
136
    yyleng = YYCURSOR - SCNG(yy_text);
10275
136
#line 1794 "Zend/zend_language_scanner.l"
10276
136
    {
10277
136
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10278
136
}
10279
0
#line 10280 "Zend/zend_language_scanner.c"
10280
70
yy901:
10281
70
    YYDEBUG(901, *YYCURSOR);
10282
70
    yych = *++YYCURSOR;
10283
70
    if (yych == 'T') goto yy924;
10284
70
    if (yych == 't') goto yy924;
10285
2
    goto yy86;
10286
163
yy902:
10287
163
    YYDEBUG(902, *YYCURSOR);
10288
163
    yyaccept = 90;
10289
163
    yych = *(YYMARKER = ++YYCURSOR);
10290
163
    if (yybm[256+yych] & 128) {
10291
0
      goto yy47;
10292
0
    }
10293
163
    if (yych == '\\') goto yy164;
10294
163
yy903:
10295
163
    YYDEBUG(903, *YYCURSOR);
10296
163
    yyleng = YYCURSOR - SCNG(yy_text);
10297
163
#line 1734 "Zend/zend_language_scanner.l"
10298
163
    {
10299
163
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10300
163
}
10301
0
#line 10302 "Zend/zend_language_scanner.c"
10302
89.8k
yy904:
10303
89.8k
    YYDEBUG(904, *YYCURSOR);
10304
89.8k
    ++YYCURSOR;
10305
89.8k
    YYFILL(1);
10306
89.8k
    yych = *YYCURSOR;
10307
89.8k
    YYDEBUG(905, *YYCURSOR);
10308
89.8k
    if (yych <= '"') {
10309
29.5k
      if (yych <= '\n') {
10310
3.26k
        if (yych <= 0x00) goto yy86;
10311
3.07k
        if (yych <= 0x08) goto yy808;
10312
3.05k
        if (yych <= '\t') goto yy904;
10313
842
        goto yy846;
10314
26.2k
      } else {
10315
26.2k
        if (yych <= '\r') {
10316
25.9k
          if (yych <= '\f') goto yy808;
10317
25.9k
          goto yy846;
10318
25.9k
        } else {
10319
256
          if (yych == ' ') goto yy904;
10320
0
          goto yy808;
10321
256
        }
10322
26.2k
      }
10323
60.3k
    } else {
10324
60.3k
      if (yych <= '/') {
10325
55.0k
        if (yych <= ')') {
10326
8.85k
          if (yych <= '#') goto yy925;
10327
6.37k
          goto yy808;
10328
46.1k
        } else {
10329
46.1k
          if (yych <= '*') goto yy848;
10330
46.1k
          if (yych <= '.') goto yy808;
10331
42.2k
          goto yy926;
10332
46.1k
        }
10333
55.0k
      } else {
10334
5.25k
        if (yych <= 'F') {
10335
2.07k
          if (yych <= 'E') goto yy808;
10336
0
          goto yy927;
10337
3.18k
        } else {
10338
3.18k
          if (yych == 'f') goto yy927;
10339
3.18k
          goto yy808;
10340
3.18k
        }
10341
5.25k
      }
10342
60.3k
    }
10343
1.49k
yy906:
10344
1.49k
    YYDEBUG(906, *YYCURSOR);
10345
1.49k
    ++YYCURSOR;
10346
1.49k
    YYFILL(1);
10347
1.49k
    yych = *YYCURSOR;
10348
1.49k
    if (yych <= '*') {
10349
0
      if (yych <= 0x00) goto yy86;
10350
0
      if (yych <= ')') goto yy696;
10351
0
      goto yy760;
10352
1.49k
    } else {
10353
1.49k
      if (yych == '/') goto yy846;
10354
0
      goto yy696;
10355
1.49k
    }
10356
0
yy907:
10357
0
    YYDEBUG(907, *YYCURSOR);
10358
0
    ++YYCURSOR;
10359
0
    YYFILL(1);
10360
0
    yych = *YYCURSOR;
10361
0
    if (yych <= 'N') {
10362
0
      if (yych <= 0x00) goto yy86;
10363
0
      if (yych == '*') goto yy760;
10364
0
      goto yy696;
10365
0
    } else {
10366
0
      if (yych <= 'O') goto yy928;
10367
0
      if (yych == 'o') goto yy928;
10368
0
      goto yy696;
10369
0
    }
10370
0
yy908:
10371
0
    YYDEBUG(908, *YYCURSOR);
10372
0
    yyaccept = 91;
10373
0
    YYMARKER = ++YYCURSOR;
10374
0
    YYFILL(1);
10375
0
    yych = *YYCURSOR;
10376
0
    if (yych <= '\n') {
10377
0
      if (yych <= 0x00) goto yy876;
10378
0
      if (yych <= '\t') goto yy692;
10379
0
      goto yy616;
10380
0
    } else {
10381
0
      if (yych == '\r') goto yy616;
10382
0
      goto yy692;
10383
0
    }
10384
0
yy909:
10385
0
    YYDEBUG(909, *YYCURSOR);
10386
0
    yyaccept = 91;
10387
0
    YYMARKER = ++YYCURSOR;
10388
0
    YYFILL(5);
10389
0
    yych = *YYCURSOR;
10390
0
    if (yych <= '"') {
10391
0
      if (yych <= '\f') {
10392
0
        if (yych <= 0x08) goto yy876;
10393
0
        if (yych <= '\n') goto yy616;
10394
0
        goto yy876;
10395
0
      } else {
10396
0
        if (yych <= '\r') goto yy616;
10397
0
        if (yych == ' ') goto yy616;
10398
0
        goto yy876;
10399
0
      }
10400
0
    } else {
10401
0
      if (yych <= 'E') {
10402
0
        if (yych <= '#') goto yy618;
10403
0
        if (yych == '/') goto yy619;
10404
0
        goto yy876;
10405
0
      } else {
10406
0
        if (yych <= 'F') goto yy691;
10407
0
        if (yych == 'f') goto yy691;
10408
0
        goto yy876;
10409
0
      }
10410
0
    }
10411
1.39k
yy910:
10412
1.39k
    YYDEBUG(910, *YYCURSOR);
10413
1.39k
    yyaccept = 92;
10414
1.39k
    yych = *(YYMARKER = ++YYCURSOR);
10415
1.39k
    if (yybm[256+yych] & 128) {
10416
2
      goto yy47;
10417
2
    }
10418
1.39k
    if (yych == '\\') goto yy164;
10419
1.24k
yy911:
10420
1.24k
    YYDEBUG(911, *YYCURSOR);
10421
1.24k
    yyleng = YYCURSOR - SCNG(yy_text);
10422
1.24k
#line 2261 "Zend/zend_language_scanner.l"
10423
1.24k
    {
10424
1.24k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10425
1.24k
}
10426
0
#line 10427 "Zend/zend_language_scanner.c"
10427
28
yy912:
10428
28
    YYDEBUG(912, *YYCURSOR);
10429
28
    yyaccept = 4;
10430
28
    yych = *(YYMARKER = ++YYCURSOR);
10431
28
    if (yych == 'L') goto yy929;
10432
14
    if (yych == 'l') goto yy929;
10433
2
    goto yy48;
10434
1.49k
yy913:
10435
1.49k
    YYDEBUG(913, *YYCURSOR);
10436
1.49k
    yyaccept = 4;
10437
1.49k
    yych = *(YYMARKER = ++YYCURSOR);
10438
1.49k
    if (yych == '_') goto yy930;
10439
240
    goto yy48;
10440
240
yy914:
10441
213
    YYDEBUG(914, *YYCURSOR);
10442
213
    yyaccept = 93;
10443
213
    yych = *(YYMARKER = ++YYCURSOR);
10444
213
    if (yybm[256+yych] & 128) {
10445
0
      goto yy47;
10446
0
    }
10447
213
    if (yych == '\\') goto yy164;
10448
213
yy915:
10449
213
    YYDEBUG(915, *YYCURSOR);
10450
213
    yyleng = YYCURSOR - SCNG(yy_text);
10451
213
#line 2265 "Zend/zend_language_scanner.l"
10452
213
    {
10453
213
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10454
213
}
10455
0
#line 10456 "Zend/zend_language_scanner.c"
10456
4
yy916:
10457
4
    YYDEBUG(916, *YYCURSOR);
10458
4
    yych = *++YYCURSOR;
10459
4
    if (yych == 'T') goto yy857;
10460
4
    if (yych == 't') goto yy857;
10461
0
    goto yy86;
10462
90.3k
yy917:
10463
90.3k
    YYDEBUG(917, *YYCURSOR);
10464
90.3k
    ++YYCURSOR;
10465
90.3k
    YYFILL(1);
10466
90.3k
    yych = *YYCURSOR;
10467
90.3k
    if (yych <= '\r') {
10468
26
      if (yych <= '\t') {
10469
20
        if (yych <= 0x00) goto yy86;
10470
0
        goto yy738;
10471
20
      } else {
10472
6
        if (yych <= '\n') goto yy787;
10473
0
        if (yych <= '\f') goto yy738;
10474
0
        goto yy787;
10475
0
      }
10476
90.3k
    } else {
10477
90.3k
      if (yych <= '*') {
10478
486
        if (yych <= ')') goto yy738;
10479
298
        goto yy789;
10480
89.8k
      } else {
10481
89.8k
        if (yych == '/') goto yy859;
10482
24
        goto yy738;
10483
89.8k
      }
10484
90.3k
    }
10485
198
yy918:
10486
198
    YYDEBUG(918, *YYCURSOR);
10487
198
    ++YYCURSOR;
10488
198
    YYFILL(1);
10489
198
    yych = *YYCURSOR;
10490
198
    if (yych <= ')') {
10491
0
      if (yych <= '\n') {
10492
0
        if (yych <= 0x00) goto yy86;
10493
0
        if (yych <= '\t') goto yy738;
10494
0
        goto yy787;
10495
0
      } else {
10496
0
        if (yych == '\r') goto yy787;
10497
0
        goto yy738;
10498
0
      }
10499
198
    } else {
10500
198
      if (yych <= 'T') {
10501
10
        if (yych <= '*') goto yy789;
10502
10
        if (yych <= 'S') goto yy738;
10503
0
        goto yy932;
10504
188
      } else {
10505
188
        if (yych == 't') goto yy932;
10506
188
        goto yy738;
10507
188
      }
10508
198
    }
10509
2
yy919:
10510
2
    YYDEBUG(919, *YYCURSOR);
10511
2
    ++YYCURSOR;
10512
2
    YYFILL(1);
10513
2
    yych = *YYCURSOR;
10514
2
    if (yych <= ')') {
10515
0
      if (yych <= '\n') {
10516
0
        if (yych <= 0x00) goto yy86;
10517
0
        if (yych <= '\t') goto yy738;
10518
0
        goto yy787;
10519
0
      } else {
10520
0
        if (yych == '\r') goto yy787;
10521
0
        goto yy738;
10522
0
      }
10523
2
    } else {
10524
2
      if (yych <= 'P') {
10525
0
        if (yych <= '*') goto yy789;
10526
0
        if (yych <= 'O') goto yy738;
10527
0
        goto yy933;
10528
2
      } else {
10529
2
        if (yych == 'p') goto yy933;
10530
0
        goto yy738;
10531
2
      }
10532
2
    }
10533
0
yy920:
10534
0
    YYDEBUG(920, *YYCURSOR);
10535
0
    ++YYCURSOR;
10536
0
    YYFILL(1);
10537
0
    yych = *YYCURSOR;
10538
0
    if (yych <= 'M') {
10539
0
      if (yych <= 0x00) goto yy86;
10540
0
      if (yych == '*') goto yy668;
10541
0
      goto yy590;
10542
0
    } else {
10543
0
      if (yych <= 'N') goto yy934;
10544
0
      if (yych == 'n') goto yy934;
10545
0
      goto yy590;
10546
0
    }
10547
72
yy921:
10548
72
    YYDEBUG(921, *YYCURSOR);
10549
72
    ++YYCURSOR;
10550
72
    YYFILL(1);
10551
72
    yych = *YYCURSOR;
10552
72
    if (yych <= 'D') {
10553
12
      if (yych <= 0x00) goto yy86;
10554
12
      if (yych == '*') goto yy668;
10555
12
      goto yy590;
10556
60
    } else {
10557
60
      if (yych <= 'E') goto yy935;
10558
28
      if (yych == 'e') goto yy935;
10559
28
      goto yy590;
10560
28
    }
10561
0
yy922:
10562
0
    YYDEBUG(922, *YYCURSOR);
10563
0
    yyaccept = 94;
10564
0
    YYMARKER = ++YYCURSOR;
10565
0
    YYFILL(1);
10566
0
    yych = *YYCURSOR;
10567
0
    if (yych <= '\n') {
10568
0
      if (yych <= 0x00) goto yy886;
10569
0
      if (yych <= '\t') goto yy586;
10570
0
      goto yy495;
10571
0
    } else {
10572
0
      if (yych == '\r') goto yy495;
10573
0
      goto yy586;
10574
0
    }
10575
0
yy923:
10576
0
    YYDEBUG(923, *YYCURSOR);
10577
0
    ++YYCURSOR;
10578
0
    YYFILL(1);
10579
0
    yych = *YYCURSOR;
10580
0
    if (yych <= '\r') {
10581
0
      if (yych <= '\t') {
10582
0
        if (yych <= 0x00) goto yy86;
10583
0
        goto yy586;
10584
0
      } else {
10585
0
        if (yych <= '\n') goto yy495;
10586
0
        if (yych <= '\f') goto yy586;
10587
0
        goto yy495;
10588
0
      }
10589
0
    } else {
10590
0
      if (yych <= 'N') {
10591
0
        if (yych <= 'M') goto yy586;
10592
0
        goto yy936;
10593
0
      } else {
10594
0
        if (yych == 'n') goto yy936;
10595
0
        goto yy586;
10596
0
      }
10597
0
    }
10598
68
yy924:
10599
68
    YYDEBUG(924, *YYCURSOR);
10600
68
    yych = *++YYCURSOR;
10601
68
    if (yych == ')') goto yy937;
10602
2
    goto yy86;
10603
2.48k
yy925:
10604
2.48k
    YYDEBUG(925, *YYCURSOR);
10605
2.48k
    ++YYCURSOR;
10606
2.48k
    YYFILL(1);
10607
2.48k
    yych = *YYCURSOR;
10608
2.48k
    if (yych <= '\f') {
10609
2.21k
      if (yych <= 0x00) goto yy86;
10610
2.21k
      if (yych == '\n') goto yy904;
10611
0
      goto yy808;
10612
2.21k
    } else {
10613
272
      if (yych <= '\r') goto yy904;
10614
272
      if (yych == '*') goto yy848;
10615
180
      goto yy808;
10616
272
    }
10617
42.2k
yy926:
10618
42.2k
    YYDEBUG(926, *YYCURSOR);
10619
42.2k
    ++YYCURSOR;
10620
42.2k
    YYFILL(1);
10621
42.2k
    yych = *YYCURSOR;
10622
42.2k
    if (yych <= '\f') {
10623
6
      if (yych <= 0x00) goto yy86;
10624
6
      if (yych == '\n') goto yy846;
10625
0
      goto yy808;
10626
42.2k
    } else {
10627
42.2k
      if (yych <= '\r') goto yy846;
10628
42.2k
      if (yych == '*') goto yy939;
10629
216
      goto yy808;
10630
42.2k
    }
10631
0
yy927:
10632
0
    YYDEBUG(927, *YYCURSOR);
10633
0
    ++YYCURSOR;
10634
0
    YYFILL(1);
10635
0
    yych = *YYCURSOR;
10636
0
    if (yych <= ')') {
10637
0
      if (yych <= '\n') {
10638
0
        if (yych <= 0x00) goto yy86;
10639
0
        if (yych <= '\t') goto yy808;
10640
0
        goto yy846;
10641
0
      } else {
10642
0
        if (yych == '\r') goto yy846;
10643
0
        goto yy808;
10644
0
      }
10645
0
    } else {
10646
0
      if (yych <= 'R') {
10647
0
        if (yych <= '*') goto yy848;
10648
0
        if (yych <= 'Q') goto yy808;
10649
0
        goto yy940;
10650
0
      } else {
10651
0
        if (yych == 'r') goto yy940;
10652
0
        goto yy808;
10653
0
      }
10654
0
    }
10655
0
yy928:
10656
0
    YYDEBUG(928, *YYCURSOR);
10657
0
    ++YYCURSOR;
10658
0
    YYFILL(1);
10659
0
    yych = *YYCURSOR;
10660
0
    if (yych <= 'L') {
10661
0
      if (yych <= 0x00) goto yy86;
10662
0
      if (yych == '*') goto yy760;
10663
0
      goto yy696;
10664
0
    } else {
10665
0
      if (yych <= 'M') goto yy941;
10666
0
      if (yych == 'm') goto yy941;
10667
0
      goto yy696;
10668
0
    }
10669
26
yy929:
10670
26
    YYDEBUG(929, *YYCURSOR);
10671
26
    yyaccept = 4;
10672
26
    yych = *(YYMARKER = ++YYCURSOR);
10673
26
    if (yych == 'E') goto yy942;
10674
12
    if (yych == 'e') goto yy942;
10675
2
    goto yy48;
10676
1.25k
yy930:
10677
1.25k
    YYDEBUG(930, *YYCURSOR);
10678
1.25k
    yyaccept = 95;
10679
1.25k
    yych = *(YYMARKER = ++YYCURSOR);
10680
1.25k
    if (yybm[256+yych] & 128) {
10681
0
      goto yy47;
10682
0
    }
10683
1.25k
    if (yych == '\\') goto yy164;
10684
1.25k
yy931:
10685
1.25k
    YYDEBUG(931, *YYCURSOR);
10686
1.25k
    yyleng = YYCURSOR - SCNG(yy_text);
10687
1.25k
#line 2285 "Zend/zend_language_scanner.l"
10688
1.25k
    {
10689
1.25k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10690
1.25k
}
10691
0
#line 10692 "Zend/zend_language_scanner.c"
10692
0
yy932:
10693
0
    YYDEBUG(932, *YYCURSOR);
10694
0
    ++YYCURSOR;
10695
0
    YYFILL(1);
10696
0
    yych = *YYCURSOR;
10697
0
    if (yych <= ')') {
10698
0
      if (yych <= '\n') {
10699
0
        if (yych <= 0x00) goto yy86;
10700
0
        if (yych <= '\t') goto yy738;
10701
0
        goto yy787;
10702
0
      } else {
10703
0
        if (yych == '\r') goto yy787;
10704
0
        goto yy738;
10705
0
      }
10706
0
    } else {
10707
0
      if (yych <= 'E') {
10708
0
        if (yych <= '*') goto yy789;
10709
0
        if (yych <= 'D') goto yy738;
10710
0
        goto yy943;
10711
0
      } else {
10712
0
        if (yych == 'e') goto yy943;
10713
0
        goto yy738;
10714
0
      }
10715
0
    }
10716
2
yy933:
10717
2
    YYDEBUG(933, *YYCURSOR);
10718
2
    ++YYCURSOR;
10719
2
    YYFILL(1);
10720
2
    yych = *YYCURSOR;
10721
2
    if (yych <= ')') {
10722
2
      if (yych <= '\n') {
10723
2
        if (yych <= 0x00) goto yy86;
10724
0
        if (yych <= '\t') goto yy738;
10725
0
        goto yy787;
10726
0
      } else {
10727
0
        if (yych == '\r') goto yy787;
10728
0
        goto yy738;
10729
0
      }
10730
2
    } else {
10731
0
      if (yych <= 'L') {
10732
0
        if (yych <= '*') goto yy789;
10733
0
        if (yych <= 'K') goto yy738;
10734
0
        goto yy944;
10735
0
      } else {
10736
0
        if (yych == 'l') goto yy944;
10737
0
        goto yy738;
10738
0
      }
10739
0
    }
10740
0
yy934:
10741
0
    YYDEBUG(934, *YYCURSOR);
10742
0
    ++YYCURSOR;
10743
0
    YYFILL(1);
10744
0
    yych = *YYCURSOR;
10745
0
    if (yych <= 'C') {
10746
0
      if (yych <= 0x00) goto yy86;
10747
0
      if (yych == '*') goto yy668;
10748
0
      goto yy590;
10749
0
    } else {
10750
0
      if (yych <= 'D') goto yy945;
10751
0
      if (yych == 'd') goto yy945;
10752
0
      goto yy590;
10753
0
    }
10754
32
yy935:
10755
32
    YYDEBUG(935, *YYCURSOR);
10756
32
    ++YYCURSOR;
10757
32
    YYFILL(1);
10758
32
    yych = *YYCURSOR;
10759
32
    if (yych <= 'L') {
10760
0
      if (yych <= 0x00) goto yy86;
10761
0
      if (yych == '*') goto yy668;
10762
0
      goto yy590;
10763
32
    } else {
10764
32
      if (yych <= 'M') goto yy946;
10765
32
      if (yych == 'm') goto yy946;
10766
0
      goto yy590;
10767
32
    }
10768
0
yy936:
10769
0
    YYDEBUG(936, *YYCURSOR);
10770
0
    ++YYCURSOR;
10771
0
    YYFILL(1);
10772
0
    yych = *YYCURSOR;
10773
0
    if (yych <= '\r') {
10774
0
      if (yych <= '\t') {
10775
0
        if (yych <= 0x00) goto yy86;
10776
0
        goto yy586;
10777
0
      } else {
10778
0
        if (yych <= '\n') goto yy495;
10779
0
        if (yych <= '\f') goto yy586;
10780
0
        goto yy495;
10781
0
      }
10782
0
    } else {
10783
0
      if (yych <= 'T') {
10784
0
        if (yych <= 'S') goto yy586;
10785
0
        goto yy895;
10786
0
      } else {
10787
0
        if (yych == 't') goto yy895;
10788
0
        goto yy586;
10789
0
      }
10790
0
    }
10791
66
yy937:
10792
66
    YYDEBUG(937, *YYCURSOR);
10793
66
    ++YYCURSOR;
10794
66
    YYDEBUG(938, *YYCURSOR);
10795
66
    yyleng = YYCURSOR - SCNG(yy_text);
10796
66
#line 1790 "Zend/zend_language_scanner.l"
10797
66
    {
10798
66
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10799
66
}
10800
0
#line 10801 "Zend/zend_language_scanner.c"
10801
41.9k
yy939:
10802
41.9k
    YYDEBUG(939, *YYCURSOR);
10803
41.9k
    ++YYCURSOR;
10804
41.9k
    YYFILL(1);
10805
41.9k
    yych = *YYCURSOR;
10806
41.9k
    if (yych <= '\r') {
10807
20
      if (yych <= '\t') {
10808
20
        if (yych <= 0x00) goto yy86;
10809
0
        goto yy808;
10810
20
      } else {
10811
0
        if (yych <= '\n') goto yy846;
10812
0
        if (yych <= '\f') goto yy808;
10813
0
        goto yy846;
10814
0
      }
10815
41.9k
    } else {
10816
41.9k
      if (yych <= '*') {
10817
120
        if (yych <= ')') goto yy808;
10818
0
        goto yy848;
10819
41.8k
      } else {
10820
41.8k
        if (yych == '/') goto yy904;
10821
12
        goto yy808;
10822
41.8k
      }
10823
41.9k
    }
10824
0
yy940:
10825
0
    YYDEBUG(940, *YYCURSOR);
10826
0
    ++YYCURSOR;
10827
0
    YYFILL(1);
10828
0
    yych = *YYCURSOR;
10829
0
    if (yych <= ')') {
10830
0
      if (yych <= '\n') {
10831
0
        if (yych <= 0x00) goto yy86;
10832
0
        if (yych <= '\t') goto yy808;
10833
0
        goto yy846;
10834
0
      } else {
10835
0
        if (yych == '\r') goto yy846;
10836
0
        goto yy808;
10837
0
      }
10838
0
    } else {
10839
0
      if (yych <= 'O') {
10840
0
        if (yych <= '*') goto yy848;
10841
0
        if (yych <= 'N') goto yy808;
10842
0
        goto yy947;
10843
0
      } else {
10844
0
        if (yych == 'o') goto yy947;
10845
0
        goto yy808;
10846
0
      }
10847
0
    }
10848
0
yy941:
10849
0
    YYDEBUG(941, *YYCURSOR);
10850
0
    ++YYCURSOR;
10851
0
    YYFILL(1);
10852
0
    yych = *YYCURSOR;
10853
0
    if (yych <= '@') {
10854
0
      if (yych <= '*') {
10855
0
        if (yych <= 0x00) goto yy875;
10856
0
        if (yych <= ')') goto yy948;
10857
0
        goto yy949;
10858
0
      } else {
10859
0
        if (yych <= '/') goto yy948;
10860
0
        if (yych <= '9') goto yy696;
10861
0
        goto yy948;
10862
0
      }
10863
0
    } else {
10864
0
      if (yych <= '_') {
10865
0
        if (yych <= 'Z') goto yy696;
10866
0
        if (yych <= '^') goto yy948;
10867
0
        goto yy696;
10868
0
      } else {
10869
0
        if (yych <= '`') goto yy948;
10870
0
        if (yych <= 'z') goto yy696;
10871
0
        if (yych <= 0x7F) goto yy948;
10872
0
        goto yy696;
10873
0
      }
10874
0
    }
10875
24
yy942:
10876
24
    YYDEBUG(942, *YYCURSOR);
10877
24
    yyaccept = 4;
10878
24
    yych = *(YYMARKER = ++YYCURSOR);
10879
24
    if (yych == 'R') goto yy950;
10880
10
    if (yych == 'r') goto yy950;
10881
0
    goto yy48;
10882
0
yy943:
10883
0
    YYDEBUG(943, *YYCURSOR);
10884
0
    ++YYCURSOR;
10885
0
    YYFILL(1);
10886
0
    yych = *YYCURSOR;
10887
0
    if (yych <= ')') {
10888
0
      if (yych <= '\n') {
10889
0
        if (yych <= 0x00) goto yy86;
10890
0
        if (yych <= '\t') goto yy738;
10891
0
        goto yy787;
10892
0
      } else {
10893
0
        if (yych == '\r') goto yy787;
10894
0
        goto yy738;
10895
0
      }
10896
0
    } else {
10897
0
      if (yych <= 'N') {
10898
0
        if (yych <= '*') goto yy789;
10899
0
        if (yych <= 'M') goto yy738;
10900
0
        goto yy952;
10901
0
      } else {
10902
0
        if (yych == 'n') goto yy952;
10903
0
        goto yy738;
10904
0
      }
10905
0
    }
10906
0
yy944:
10907
0
    YYDEBUG(944, *YYCURSOR);
10908
0
    ++YYCURSOR;
10909
0
    YYFILL(1);
10910
0
    yych = *YYCURSOR;
10911
0
    if (yych <= ')') {
10912
0
      if (yych <= '\n') {
10913
0
        if (yych <= 0x00) goto yy86;
10914
0
        if (yych <= '\t') goto yy738;
10915
0
        goto yy787;
10916
0
      } else {
10917
0
        if (yych == '\r') goto yy787;
10918
0
        goto yy738;
10919
0
      }
10920
0
    } else {
10921
0
      if (yych <= 'E') {
10922
0
        if (yych <= '*') goto yy789;
10923
0
        if (yych <= 'D') goto yy738;
10924
0
        goto yy953;
10925
0
      } else {
10926
0
        if (yych == 'e') goto yy953;
10927
0
        goto yy738;
10928
0
      }
10929
0
    }
10930
0
yy945:
10931
0
    YYDEBUG(945, *YYCURSOR);
10932
0
    ++YYCURSOR;
10933
0
    YYFILL(1);
10934
0
    yych = *YYCURSOR;
10935
0
    if (yych <= 'R') {
10936
0
      if (yych <= 0x00) goto yy86;
10937
0
      if (yych == '*') goto yy668;
10938
0
      goto yy590;
10939
0
    } else {
10940
0
      if (yych <= 'S') goto yy954;
10941
0
      if (yych == 's') goto yy954;
10942
0
      goto yy590;
10943
0
    }
10944
32
yy946:
10945
32
    YYDEBUG(946, *YYCURSOR);
10946
32
    ++YYCURSOR;
10947
32
    YYFILL(1);
10948
32
    yych = *YYCURSOR;
10949
32
    if (yych <= 'D') {
10950
0
      if (yych <= 0x00) goto yy86;
10951
0
      if (yych == '*') goto yy668;
10952
0
      goto yy590;
10953
32
    } else {
10954
32
      if (yych <= 'E') goto yy955;
10955
0
      if (yych == 'e') goto yy955;
10956
0
      goto yy590;
10957
0
    }
10958
0
yy947:
10959
0
    YYDEBUG(947, *YYCURSOR);
10960
0
    ++YYCURSOR;
10961
0
    YYFILL(1);
10962
0
    yych = *YYCURSOR;
10963
0
    if (yych <= ')') {
10964
0
      if (yych <= '\n') {
10965
0
        if (yych <= 0x00) goto yy86;
10966
0
        if (yych <= '\t') goto yy808;
10967
0
        goto yy846;
10968
0
      } else {
10969
0
        if (yych == '\r') goto yy846;
10970
0
        goto yy808;
10971
0
      }
10972
0
    } else {
10973
0
      if (yych <= 'M') {
10974
0
        if (yych <= '*') goto yy848;
10975
0
        if (yych <= 'L') goto yy808;
10976
0
        goto yy956;
10977
0
      } else {
10978
0
        if (yych == 'm') goto yy956;
10979
0
        goto yy808;
10980
0
      }
10981
0
    }
10982
0
yy948:
10983
0
    YYDEBUG(948, *YYCURSOR);
10984
0
    yyaccept = 91;
10985
0
    YYMARKER = ++YYCURSOR;
10986
0
    YYFILL(1);
10987
0
    yych = *YYCURSOR;
10988
0
    if (yych <= 0x00) goto yy876;
10989
0
    if (yych == '*') goto yy760;
10990
0
    goto yy696;
10991
0
yy949:
10992
0
    YYDEBUG(949, *YYCURSOR);
10993
0
    yyaccept = 91;
10994
0
    YYMARKER = ++YYCURSOR;
10995
0
    YYFILL(1);
10996
0
    yych = *YYCURSOR;
10997
0
    if (yych <= '*') {
10998
0
      if (yych <= 0x00) goto yy876;
10999
0
      if (yych <= ')') goto yy696;
11000
0
      goto yy760;
11001
0
    } else {
11002
0
      if (yych == '/') goto yy616;
11003
0
      goto yy696;
11004
0
    }
11005
24
yy950:
11006
24
    YYDEBUG(950, *YYCURSOR);
11007
24
    yyaccept = 96;
11008
24
    yych = *(YYMARKER = ++YYCURSOR);
11009
24
    if (yybm[256+yych] & 128) {
11010
0
      goto yy47;
11011
0
    }
11012
24
    if (yych == '\\') goto yy164;
11013
24
yy951:
11014
24
    YYDEBUG(951, *YYCURSOR);
11015
24
    yyleng = YYCURSOR - SCNG(yy_text);
11016
24
#line 1762 "Zend/zend_language_scanner.l"
11017
24
    {
11018
24
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11019
24
}
11020
0
#line 11021 "Zend/zend_language_scanner.c"
11021
0
yy952:
11022
0
    YYDEBUG(952, *YYCURSOR);
11023
0
    ++YYCURSOR;
11024
0
    YYFILL(1);
11025
0
    yych = *YYCURSOR;
11026
0
    if (yych <= ')') {
11027
0
      if (yych <= '\n') {
11028
0
        if (yych <= 0x00) goto yy86;
11029
0
        if (yych <= '\t') goto yy738;
11030
0
        goto yy787;
11031
0
      } else {
11032
0
        if (yych == '\r') goto yy787;
11033
0
        goto yy738;
11034
0
      }
11035
0
    } else {
11036
0
      if (yych <= 'D') {
11037
0
        if (yych <= '*') goto yy789;
11038
0
        if (yych <= 'C') goto yy738;
11039
0
        goto yy957;
11040
0
      } else {
11041
0
        if (yych == 'd') goto yy957;
11042
0
        goto yy738;
11043
0
      }
11044
0
    }
11045
0
yy953:
11046
0
    YYDEBUG(953, *YYCURSOR);
11047
0
    ++YYCURSOR;
11048
0
    YYFILL(1);
11049
0
    yych = *YYCURSOR;
11050
0
    if (yych <= ')') {
11051
0
      if (yych <= '\n') {
11052
0
        if (yych <= 0x00) goto yy86;
11053
0
        if (yych <= '\t') goto yy738;
11054
0
        goto yy787;
11055
0
      } else {
11056
0
        if (yych == '\r') goto yy787;
11057
0
        goto yy738;
11058
0
      }
11059
0
    } else {
11060
0
      if (yych <= 'M') {
11061
0
        if (yych <= '*') goto yy789;
11062
0
        if (yych <= 'L') goto yy738;
11063
0
        goto yy958;
11064
0
      } else {
11065
0
        if (yych == 'm') goto yy958;
11066
0
        goto yy738;
11067
0
      }
11068
0
    }
11069
0
yy954:
11070
0
    YYDEBUG(954, *YYCURSOR);
11071
0
    yyaccept = 94;
11072
0
    YYMARKER = ++YYCURSOR;
11073
0
    YYFILL(1);
11074
0
    yych = *YYCURSOR;
11075
0
    if (yych <= 0x00) goto yy886;
11076
0
    if (yych == '*') goto yy668;
11077
0
    goto yy590;
11078
32
yy955:
11079
32
    YYDEBUG(955, *YYCURSOR);
11080
32
    ++YYCURSOR;
11081
32
    YYFILL(1);
11082
32
    yych = *YYCURSOR;
11083
32
    if (yych <= 'M') {
11084
0
      if (yych <= 0x00) goto yy86;
11085
0
      if (yych == '*') goto yy668;
11086
0
      goto yy590;
11087
32
    } else {
11088
32
      if (yych <= 'N') goto yy959;
11089
0
      if (yych == 'n') goto yy959;
11090
0
      goto yy590;
11091
0
    }
11092
0
yy956:
11093
0
    YYDEBUG(956, *YYCURSOR);
11094
0
    ++YYCURSOR;
11095
0
    YYFILL(1);
11096
0
    yych = *YYCURSOR;
11097
0
    if (yych <= '/') {
11098
0
      if (yych <= '\f') {
11099
0
        if (yych <= 0x00) goto yy875;
11100
0
        if (yych == '\n') goto yy961;
11101
0
        goto yy960;
11102
0
      } else {
11103
0
        if (yych <= '\r') goto yy961;
11104
0
        if (yych == '*') goto yy962;
11105
0
        goto yy960;
11106
0
      }
11107
0
    } else {
11108
0
      if (yych <= '^') {
11109
0
        if (yych <= '9') goto yy808;
11110
0
        if (yych <= '@') goto yy960;
11111
0
        if (yych <= 'Z') goto yy808;
11112
0
        goto yy960;
11113
0
      } else {
11114
0
        if (yych <= '`') {
11115
0
          if (yych <= '_') goto yy808;
11116
0
          goto yy960;
11117
0
        } else {
11118
0
          if (yych <= 'z') goto yy808;
11119
0
          if (yych <= 0x7F) goto yy960;
11120
0
          goto yy808;
11121
0
        }
11122
0
      }
11123
0
    }
11124
0
yy957:
11125
0
    YYDEBUG(957, *YYCURSOR);
11126
0
    ++YYCURSOR;
11127
0
    YYFILL(1);
11128
0
    yych = *YYCURSOR;
11129
0
    if (yych <= ')') {
11130
0
      if (yych <= '\n') {
11131
0
        if (yych <= 0x00) goto yy86;
11132
0
        if (yych <= '\t') goto yy738;
11133
0
        goto yy787;
11134
0
      } else {
11135
0
        if (yych == '\r') goto yy787;
11136
0
        goto yy738;
11137
0
      }
11138
0
    } else {
11139
0
      if (yych <= 'S') {
11140
0
        if (yych <= '*') goto yy789;
11141
0
        if (yych <= 'R') goto yy738;
11142
0
        goto yy963;
11143
0
      } else {
11144
0
        if (yych == 's') goto yy963;
11145
0
        goto yy738;
11146
0
      }
11147
0
    }
11148
0
yy958:
11149
0
    YYDEBUG(958, *YYCURSOR);
11150
0
    ++YYCURSOR;
11151
0
    YYFILL(1);
11152
0
    yych = *YYCURSOR;
11153
0
    if (yych <= ')') {
11154
0
      if (yych <= '\n') {
11155
0
        if (yych <= 0x00) goto yy86;
11156
0
        if (yych <= '\t') goto yy738;
11157
0
        goto yy787;
11158
0
      } else {
11159
0
        if (yych == '\r') goto yy787;
11160
0
        goto yy738;
11161
0
      }
11162
0
    } else {
11163
0
      if (yych <= 'E') {
11164
0
        if (yych <= '*') goto yy789;
11165
0
        if (yych <= 'D') goto yy738;
11166
0
        goto yy964;
11167
0
      } else {
11168
0
        if (yych == 'e') goto yy964;
11169
0
        goto yy738;
11170
0
      }
11171
0
    }
11172
32
yy959:
11173
32
    YYDEBUG(959, *YYCURSOR);
11174
32
    ++YYCURSOR;
11175
32
    YYFILL(1);
11176
32
    yych = *YYCURSOR;
11177
32
    if (yych <= 'S') {
11178
32
      if (yych <= 0x00) goto yy86;
11179
32
      if (yych == '*') goto yy668;
11180
32
      goto yy590;
11181
32
    } else {
11182
0
      if (yych <= 'T') goto yy945;
11183
0
      if (yych == 't') goto yy945;
11184
0
      goto yy590;
11185
0
    }
11186
0
yy960:
11187
0
    YYDEBUG(960, *YYCURSOR);
11188
0
    yyaccept = 91;
11189
0
    YYMARKER = ++YYCURSOR;
11190
0
    YYFILL(1);
11191
0
    yych = *YYCURSOR;
11192
0
    if (yych <= '\f') {
11193
0
      if (yych <= 0x00) goto yy876;
11194
0
      if (yych == '\n') goto yy846;
11195
0
      goto yy808;
11196
0
    } else {
11197
0
      if (yych <= '\r') goto yy846;
11198
0
      if (yych == '*') goto yy848;
11199
0
      goto yy808;
11200
0
    }
11201
0
yy961:
11202
0
    YYDEBUG(961, *YYCURSOR);
11203
0
    yyaccept = 91;
11204
0
    YYMARKER = ++YYCURSOR;
11205
0
    YYFILL(1);
11206
0
    yych = *YYCURSOR;
11207
0
    if (yych <= '#') {
11208
0
      if (yych <= '\f') {
11209
0
        if (yych <= 0x00) goto yy876;
11210
0
        if (yych <= 0x08) goto yy696;
11211
0
        if (yych <= '\n') goto yy846;
11212
0
        goto yy696;
11213
0
      } else {
11214
0
        if (yych <= 0x1F) {
11215
0
          if (yych <= '\r') goto yy846;
11216
0
          goto yy696;
11217
0
        } else {
11218
0
          if (yych <= ' ') goto yy846;
11219
0
          if (yych <= '"') goto yy696;
11220
0
          goto yy877;
11221
0
        }
11222
0
      }
11223
0
    } else {
11224
0
      if (yych <= '/') {
11225
0
        if (yych == '*') goto yy760;
11226
0
        if (yych <= '.') goto yy696;
11227
0
        goto yy878;
11228
0
      } else {
11229
0
        if (yych <= 'F') {
11230
0
          if (yych <= 'E') goto yy696;
11231
0
          goto yy879;
11232
0
        } else {
11233
0
          if (yych == 'f') goto yy879;
11234
0
          goto yy696;
11235
0
        }
11236
0
      }
11237
0
    }
11238
0
yy962:
11239
0
    YYDEBUG(962, *YYCURSOR);
11240
0
    yyaccept = 91;
11241
0
    YYMARKER = ++YYCURSOR;
11242
0
    YYFILL(1);
11243
0
    yych = *YYCURSOR;
11244
0
    if (yych <= '\r') {
11245
0
      if (yych <= '\t') {
11246
0
        if (yych <= 0x00) goto yy876;
11247
0
        goto yy808;
11248
0
      } else {
11249
0
        if (yych <= '\n') goto yy846;
11250
0
        if (yych <= '\f') goto yy808;
11251
0
        goto yy846;
11252
0
      }
11253
0
    } else {
11254
0
      if (yych <= '*') {
11255
0
        if (yych <= ')') goto yy808;
11256
0
        goto yy848;
11257
0
      } else {
11258
0
        if (yych == '/') goto yy694;
11259
0
        goto yy808;
11260
0
      }
11261
0
    }
11262
0
yy963:
11263
0
    YYDEBUG(963, *YYCURSOR);
11264
0
    yyaccept = 94;
11265
0
    YYMARKER = ++YYCURSOR;
11266
0
    YYFILL(1);
11267
0
    yych = *YYCURSOR;
11268
0
    if (yych <= '\f') {
11269
0
      if (yych <= 0x00) goto yy886;
11270
0
      if (yych == '\n') goto yy787;
11271
0
      goto yy738;
11272
0
    } else {
11273
0
      if (yych <= '\r') goto yy787;
11274
0
      if (yych == '*') goto yy789;
11275
0
      goto yy738;
11276
0
    }
11277
0
yy964:
11278
0
    YYDEBUG(964, *YYCURSOR);
11279
0
    ++YYCURSOR;
11280
0
    YYFILL(1);
11281
0
    yych = *YYCURSOR;
11282
0
    if (yych <= ')') {
11283
0
      if (yych <= '\n') {
11284
0
        if (yych <= 0x00) goto yy86;
11285
0
        if (yych <= '\t') goto yy738;
11286
0
        goto yy787;
11287
0
      } else {
11288
0
        if (yych == '\r') goto yy787;
11289
0
        goto yy738;
11290
0
      }
11291
0
    } else {
11292
0
      if (yych <= 'N') {
11293
0
        if (yych <= '*') goto yy789;
11294
0
        if (yych <= 'M') goto yy738;
11295
0
      } else {
11296
0
        if (yych != 'n') goto yy738;
11297
0
      }
11298
0
    }
11299
0
    YYDEBUG(965, *YYCURSOR);
11300
0
    ++YYCURSOR;
11301
0
    YYFILL(1);
11302
0
    yych = *YYCURSOR;
11303
0
    if (yych <= ')') {
11304
0
      if (yych <= '\n') {
11305
0
        if (yych <= 0x00) goto yy86;
11306
0
        if (yych <= '\t') goto yy738;
11307
0
        goto yy787;
11308
0
      } else {
11309
0
        if (yych == '\r') goto yy787;
11310
0
        goto yy738;
11311
0
      }
11312
0
    } else {
11313
0
      if (yych <= 'T') {
11314
0
        if (yych <= '*') goto yy789;
11315
0
        if (yych <= 'S') goto yy738;
11316
0
        goto yy957;
11317
0
      } else {
11318
0
        if (yych == 't') goto yy957;
11319
0
        goto yy738;
11320
0
      }
11321
0
    }
11322
0
  }
11323
/* *********************************** */
11324
173k
yyc_ST_LOOKING_FOR_PROPERTY:
11325
173k
  {
11326
173k
    static const unsigned char yybm[] = {
11327
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11328
173k
        0,  64,  64,   0,   0,  64,   0,   0, 
11329
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
173k
       64,   0,   0,   0,   0,   0,   0,   0, 
11332
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11333
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11334
173k
      128, 128,   0,   0,   0,   0,   0,   0, 
11335
173k
        0, 128, 128, 128, 128, 128, 128, 128, 
11336
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
173k
      128, 128, 128,   0,   0,   0,   0, 128, 
11339
173k
        0, 128, 128, 128, 128, 128, 128, 128, 
11340
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
173k
      128, 128, 128,   0,   0,   0,   0,   0, 
11343
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
173k
    };
11360
173k
    YYDEBUG(966, *YYCURSOR);
11361
173k
    YYFILL(4);
11362
173k
    yych = *YYCURSOR;
11363
173k
    if (yybm[0+yych] & 64) {
11364
1.30k
      goto yy970;
11365
1.30k
    }
11366
172k
    if (yych <= '?') {
11367
56.2k
      if (yych <= '-') {
11368
25.9k
        if (yych == '#') goto yy973;
11369
25.6k
        if (yych >= '-') goto yy975;
11370
30.2k
      } else {
11371
30.2k
        if (yych == '/') goto yy976;
11372
29.0k
        if (yych >= '?') goto yy977;
11373
29.0k
      }
11374
116k
    } else {
11375
116k
      if (yych <= '_') {
11376
29.9k
        if (yych <= '@') goto yy968;
11377
29.9k
        if (yych <= 'Z') goto yy978;
11378
15.6k
        if (yych >= '_') goto yy978;
11379
86.0k
      } else {
11380
86.0k
        if (yych <= '`') goto yy968;
11381
86.0k
        if (yych <= 'z') goto yy978;
11382
2.18k
        if (yych >= 0x80) goto yy978;
11383
2.18k
      }
11384
116k
    }
11385
21.4k
yy968:
11386
21.4k
    YYDEBUG(968, *YYCURSOR);
11387
21.4k
    ++YYCURSOR;
11388
21.6k
yy969:
11389
21.6k
    YYDEBUG(969, *YYCURSOR);
11390
21.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11391
21.6k
#line 2520 "Zend/zend_language_scanner.l"
11392
21.6k
    {
11393
21.6k
  yyless(0);
11394
21.6k
  yy_pop_state();
11395
21.6k
  goto restart;
11396
21.4k
}
11397
0
#line 11398 "Zend/zend_language_scanner.c"
11398
2.14k
yy970:
11399
2.14k
    YYDEBUG(970, *YYCURSOR);
11400
2.14k
    ++YYCURSOR;
11401
2.14k
    YYFILL(1);
11402
2.14k
    yych = *YYCURSOR;
11403
2.14k
    YYDEBUG(971, *YYCURSOR);
11404
2.14k
    if (yybm[0+yych] & 64) {
11405
832
      goto yy970;
11406
832
    }
11407
1.30k
    YYDEBUG(972, *YYCURSOR);
11408
1.30k
    yyleng = YYCURSOR - SCNG(yy_text);
11409
1.30k
#line 1597 "Zend/zend_language_scanner.l"
11410
1.30k
    {
11411
1.30k
  goto return_whitespace;
11412
2.14k
}
11413
0
#line 11414 "Zend/zend_language_scanner.c"
11414
463
yy973:
11415
463
    YYDEBUG(973, *YYCURSOR);
11416
463
    ++YYCURSOR;
11417
463
    YYDEBUG(974, *YYCURSOR);
11418
463
    yyleng = YYCURSOR - SCNG(yy_text);
11419
463
#line 2460 "Zend/zend_language_scanner.l"
11420
463
    {
11421
45.9k
  while (YYCURSOR < YYLIMIT) {
11422
45.8k
    switch (*YYCURSOR++) {
11423
76
      case '\r':
11424
417
      case '\n':
11425
417
        YYCURSOR--;
11426
417
        break;
11427
172
      case '?':
11428
172
        if (*YYCURSOR == '>') {
11429
0
          YYCURSOR--;
11430
0
          break;
11431
0
        }
11432
172
        ZEND_FALLTHROUGH;
11433
45.4k
      default:
11434
45.4k
        continue;
11435
45.8k
    }
11436
11437
417
    break;
11438
45.8k
  }
11439
11440
463
  yyleng = YYCURSOR - SCNG(yy_text);
11441
463
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11442
463
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
20.6k
yy975:
11445
20.6k
    YYDEBUG(975, *YYCURSOR);
11446
20.6k
    yych = *++YYCURSOR;
11447
20.6k
    if (yych == '>') goto yy981;
11448
212
    goto yy969;
11449
1.22k
yy976:
11450
1.22k
    YYDEBUG(976, *YYCURSOR);
11451
1.22k
    yych = *++YYCURSOR;
11452
1.22k
    if (yych == '*') goto yy983;
11453
256
    if (yych == '/') goto yy973;
11454
14
    goto yy969;
11455
27.6k
yy977:
11456
27.6k
    YYDEBUG(977, *YYCURSOR);
11457
27.6k
    yyaccept = 0;
11458
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
11459
27.6k
    if (yych == '-') goto yy985;
11460
18
    goto yy969;
11461
447k
yy978:
11462
447k
    YYDEBUG(978, *YYCURSOR);
11463
447k
    ++YYCURSOR;
11464
447k
    YYFILL(1);
11465
447k
    yych = *YYCURSOR;
11466
447k
    YYDEBUG(979, *YYCURSOR);
11467
447k
    if (yybm[0+yych] & 128) {
11468
346k
      goto yy978;
11469
346k
    }
11470
101k
    YYDEBUG(980, *YYCURSOR);
11471
101k
    yyleng = YYCURSOR - SCNG(yy_text);
11472
101k
#line 1609 "Zend/zend_language_scanner.l"
11473
101k
    {
11474
101k
  yy_pop_state();
11475
101k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11476
101k
}
11477
0
#line 11478 "Zend/zend_language_scanner.c"
11478
20.4k
yy981:
11479
20.4k
    YYDEBUG(981, *YYCURSOR);
11480
20.4k
    ++YYCURSOR;
11481
20.4k
    YYDEBUG(982, *YYCURSOR);
11482
20.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11483
20.4k
#line 1601 "Zend/zend_language_scanner.l"
11484
20.4k
    {
11485
20.4k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11486
20.4k
}
11487
0
#line 11488 "Zend/zend_language_scanner.c"
11488
968
yy983:
11489
968
    YYDEBUG(983, *YYCURSOR);
11490
968
    yyaccept = 1;
11491
968
    yych = *(YYMARKER = ++YYCURSOR);
11492
968
    if (yych == '*') goto yy987;
11493
968
yy984:
11494
968
    YYDEBUG(984, *YYCURSOR);
11495
968
    yyleng = YYCURSOR - SCNG(yy_text);
11496
968
#line 2484 "Zend/zend_language_scanner.l"
11497
968
    {
11498
968
  int doc_com;
11499
11500
968
  if (yyleng > 2) {
11501
413
    doc_com = 1;
11502
413
    RESET_DOC_COMMENT();
11503
555
  } else {
11504
555
    doc_com = 0;
11505
555
  }
11506
11507
269k
  while (YYCURSOR < YYLIMIT) {
11508
269k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11509
829
      break;
11510
829
    }
11511
269k
  }
11512
11513
968
  if (YYCURSOR < YYLIMIT) {
11514
829
    YYCURSOR++;
11515
829
  } else {
11516
139
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11517
139
    if (PARSER_MODE()) {
11518
2
      RETURN_TOKEN(T_ERROR);
11519
2
    }
11520
139
  }
11521
11522
966
  yyleng = YYCURSOR - SCNG(yy_text);
11523
966
  HANDLE_NEWLINES(yytext, yyleng);
11524
11525
966
  if (doc_com) {
11526
411
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11527
411
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11528
411
  }
11529
11530
555
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11531
555
}
11532
0
#line 11533 "Zend/zend_language_scanner.c"
11533
27.6k
yy985:
11534
27.6k
    YYDEBUG(985, *YYCURSOR);
11535
27.6k
    yych = *++YYCURSOR;
11536
27.6k
    if (yych == '>') goto yy988;
11537
115
yy986:
11538
115
    YYDEBUG(986, *YYCURSOR);
11539
115
    YYCURSOR = YYMARKER;
11540
115
    if (yyaccept == 0) {
11541
0
      goto yy969;
11542
115
    } else {
11543
115
      goto yy984;
11544
115
    }
11545
528
yy987:
11546
528
    YYDEBUG(987, *YYCURSOR);
11547
528
    yych = *++YYCURSOR;
11548
528
    if (yych <= '\f') {
11549
0
      if (yych <= 0x08) goto yy986;
11550
0
      if (yych <= '\n') goto yy990;
11551
0
      goto yy986;
11552
528
    } else {
11553
528
      if (yych <= '\r') goto yy990;
11554
528
      if (yych == ' ') goto yy990;
11555
115
      goto yy986;
11556
528
    }
11557
27.6k
yy988:
11558
27.6k
    YYDEBUG(988, *YYCURSOR);
11559
27.6k
    ++YYCURSOR;
11560
27.6k
    YYDEBUG(989, *YYCURSOR);
11561
27.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11562
27.6k
#line 1605 "Zend/zend_language_scanner.l"
11563
27.6k
    {
11564
27.6k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11565
27.6k
}
11566
0
#line 11567 "Zend/zend_language_scanner.c"
11567
413
yy990:
11568
413
    YYDEBUG(990, *YYCURSOR);
11569
413
    ++YYCURSOR;
11570
413
    YYFILL(1);
11571
413
    yych = *YYCURSOR;
11572
413
    YYDEBUG(991, *YYCURSOR);
11573
413
    if (yych <= '\f') {
11574
0
      if (yych <= 0x08) goto yy984;
11575
0
      if (yych <= '\n') goto yy990;
11576
0
      goto yy984;
11577
413
    } else {
11578
413
      if (yych <= '\r') goto yy990;
11579
413
      if (yych == ' ') goto yy990;
11580
413
      goto yy984;
11581
413
    }
11582
413
  }
11583
/* *********************************** */
11584
82.4k
yyc_ST_BACKQUOTE:
11585
82.4k
  {
11586
82.4k
    static const unsigned char yybm[] = {
11587
82.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
82.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
82.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
82.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
82.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
82.4k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11594
82.4k
      128, 128,   0,   0,   0,   0,   0,   0, 
11595
82.4k
        0, 128, 128, 128, 128, 128, 128, 128, 
11596
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
82.4k
      128, 128, 128,   0,   0,   0,   0, 128, 
11599
82.4k
        0, 128, 128, 128, 128, 128, 128, 128, 
11600
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
82.4k
      128, 128, 128,   0,   0,   0,   0,   0, 
11603
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
82.4k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
82.4k
    };
11620
82.4k
    YYDEBUG(992, *YYCURSOR);
11621
82.4k
    YYFILL(2);
11622
82.4k
    yych = *YYCURSOR;
11623
82.4k
    if (yych <= '_') {
11624
62.2k
      if (yych == '$') goto yy996;
11625
62.2k
    } else {
11626
20.2k
      if (yych <= '`') goto yy997;
11627
6.03k
      if (yych == '{') goto yy999;
11628
6.03k
    }
11629
36.6k
    YYDEBUG(994, *YYCURSOR);
11630
36.6k
    ++YYCURSOR;
11631
39.4k
yy995:
11632
39.4k
    YYDEBUG(995, *YYCURSOR);
11633
39.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11634
39.4k
#line 2918 "Zend/zend_language_scanner.l"
11635
39.4k
    {
11636
39.4k
  if (YYCURSOR > YYLIMIT) {
11637
1.51k
    RETURN_END_TOKEN;
11638
1.51k
  }
11639
37.8k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11640
663
    YYCURSOR++;
11641
663
  }
11642
11643
2.75M
  while (YYCURSOR < YYLIMIT) {
11644
2.75M
    switch (*YYCURSOR++) {
11645
8.08k
      case '`':
11646
8.08k
        break;
11647
39.4k
      case '$':
11648
39.4k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11649
27.9k
          break;
11650
27.9k
        }
11651
11.4k
        continue;
11652
11.4k
      case '{':
11653
9.29k
        if (*YYCURSOR == '$') {
11654
372
          break;
11655
372
        }
11656
8.92k
        continue;
11657
17.5k
      case '\\':
11658
17.5k
        if (YYCURSOR < YYLIMIT) {
11659
17.1k
          YYCURSOR++;
11660
17.1k
        }
11661
17.5k
        ZEND_FALLTHROUGH;
11662
2.69M
      default:
11663
2.69M
        continue;
11664
2.75M
    }
11665
11666
36.4k
    YYCURSOR--;
11667
36.4k
    break;
11668
2.75M
  }
11669
11670
37.8k
  yyleng = YYCURSOR - SCNG(yy_text);
11671
11672
37.8k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11673
37.8k
   || !PARSER_MODE()) {
11674
37.8k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11675
37.8k
  } else {
11676
0
    RETURN_TOKEN(T_ERROR);
11677
0
  }
11678
37.8k
}
11679
0
#line 11680 "Zend/zend_language_scanner.c"
11680
31.2k
yy996:
11681
31.2k
    YYDEBUG(996, *YYCURSOR);
11682
31.2k
    yych = *++YYCURSOR;
11683
31.2k
    if (yych <= '_') {
11684
4.54k
      if (yych <= '@') goto yy995;
11685
4.20k
      if (yych <= 'Z') goto yy1000;
11686
2.41k
      if (yych <= '^') goto yy995;
11687
79
      goto yy1000;
11688
26.6k
    } else {
11689
26.6k
      if (yych <= 'z') {
11690
21.2k
        if (yych <= '`') goto yy995;
11691
21.2k
        goto yy1000;
11692
21.2k
      } else {
11693
5.37k
        if (yych <= '{') goto yy1003;
11694
2.61k
        if (yych <= 0x7F) goto yy995;
11695
2.57k
        goto yy1000;
11696
2.61k
      }
11697
26.6k
    }
11698
14.2k
yy997:
11699
14.2k
    YYDEBUG(997, *YYCURSOR);
11700
14.2k
    ++YYCURSOR;
11701
14.2k
    YYDEBUG(998, *YYCURSOR);
11702
14.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11703
14.2k
#line 2858 "Zend/zend_language_scanner.l"
11704
14.2k
    {
11705
14.2k
  BEGIN(ST_IN_SCRIPTING);
11706
14.2k
  RETURN_TOKEN('`');
11707
14.2k
}
11708
0
#line 11709 "Zend/zend_language_scanner.c"
11709
424
yy999:
11710
424
    YYDEBUG(999, *YYCURSOR);
11711
424
    yych = *++YYCURSOR;
11712
424
    if (yych == '$') goto yy1005;
11713
52
    goto yy995;
11714
144k
yy1000:
11715
144k
    YYDEBUG(1000, *YYCURSOR);
11716
144k
    YYMARKER = ++YYCURSOR;
11717
144k
    YYFILL(4);
11718
144k
    yych = *YYCURSOR;
11719
144k
    YYDEBUG(1001, *YYCURSOR);
11720
144k
    if (yybm[0+yych] & 128) {
11721
118k
      goto yy1000;
11722
118k
    }
11723
25.7k
    if (yych <= '>') {
11724
18.9k
      if (yych == '-') goto yy1007;
11725
18.9k
    } else {
11726
6.79k
      if (yych <= '?') goto yy1009;
11727
1.54k
      if (yych <= '@') goto yy1002;
11728
1.48k
      if (yych <= '[') goto yy1010;
11729
1.48k
    }
11730
21.5k
yy1002:
11731
21.5k
    YYDEBUG(1002, *YYCURSOR);
11732
21.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
21.5k
#line 2417 "Zend/zend_language_scanner.l"
11734
21.5k
    {
11735
21.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11736
21.5k
}
11737
0
#line 11738 "Zend/zend_language_scanner.c"
11738
2.76k
yy1003:
11739
2.76k
    YYDEBUG(1003, *YYCURSOR);
11740
2.76k
    ++YYCURSOR;
11741
2.76k
    YYDEBUG(1004, *YYCURSOR);
11742
2.76k
    yyleng = YYCURSOR - SCNG(yy_text);
11743
2.76k
#line 1981 "Zend/zend_language_scanner.l"
11744
2.76k
    {
11745
2.76k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11746
2.76k
  enter_nesting('{');
11747
2.76k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11748
2.76k
}
11749
0
#line 11750 "Zend/zend_language_scanner.c"
11750
372
yy1005:
11751
372
    YYDEBUG(1005, *YYCURSOR);
11752
372
    ++YYCURSOR;
11753
372
    YYDEBUG(1006, *YYCURSOR);
11754
372
    yyleng = YYCURSOR - SCNG(yy_text);
11755
372
#line 2845 "Zend/zend_language_scanner.l"
11756
372
    {
11757
372
  yy_push_state(ST_IN_SCRIPTING);
11758
372
  yyless(1);
11759
372
  enter_nesting('{');
11760
372
  RETURN_TOKEN(T_CURLY_OPEN);
11761
372
}
11762
0
#line 11763 "Zend/zend_language_scanner.c"
11763
2.13k
yy1007:
11764
2.13k
    YYDEBUG(1007, *YYCURSOR);
11765
2.13k
    yych = *++YYCURSOR;
11766
2.13k
    if (yych == '>') goto yy1012;
11767
4.09k
yy1008:
11768
4.09k
    YYDEBUG(1008, *YYCURSOR);
11769
4.09k
    YYCURSOR = YYMARKER;
11770
4.09k
    goto yy1002;
11771
5.25k
yy1009:
11772
5.25k
    YYDEBUG(1009, *YYCURSOR);
11773
5.25k
    yych = *++YYCURSOR;
11774
5.25k
    if (yych == '-') goto yy1013;
11775
2.43k
    goto yy1008;
11776
2.43k
yy1010:
11777
859
    YYDEBUG(1010, *YYCURSOR);
11778
859
    ++YYCURSOR;
11779
859
    YYDEBUG(1011, *YYCURSOR);
11780
859
    yyleng = YYCURSOR - SCNG(yy_text);
11781
859
#line 2411 "Zend/zend_language_scanner.l"
11782
859
    {
11783
859
  yyless(yyleng - 1);
11784
859
  yy_push_state(ST_VAR_OFFSET);
11785
859
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11786
859
}
11787
0
#line 11788 "Zend/zend_language_scanner.c"
11788
998
yy1012:
11789
998
    YYDEBUG(1012, *YYCURSOR);
11790
998
    yych = *++YYCURSOR;
11791
998
    if (yych <= '_') {
11792
136
      if (yych <= '@') goto yy1008;
11793
104
      if (yych <= 'Z') goto yy1014;
11794
26
      if (yych <= '^') goto yy1008;
11795
18
      goto yy1014;
11796
862
    } else {
11797
862
      if (yych <= '`') goto yy1008;
11798
862
      if (yych <= 'z') goto yy1014;
11799
237
      if (yych <= 0x7F) goto yy1008;
11800
151
      goto yy1014;
11801
237
    }
11802
2.81k
yy1013:
11803
2.81k
    YYDEBUG(1013, *YYCURSOR);
11804
2.81k
    yych = *++YYCURSOR;
11805
2.81k
    if (yych == '>') goto yy1016;
11806
304
    goto yy1008;
11807
872
yy1014:
11808
872
    YYDEBUG(1014, *YYCURSOR);
11809
872
    ++YYCURSOR;
11810
872
    YYDEBUG(1015, *YYCURSOR);
11811
872
    yyleng = YYCURSOR - SCNG(yy_text);
11812
872
#line 2397 "Zend/zend_language_scanner.l"
11813
872
    {
11814
872
  yyless(yyleng - 3);
11815
872
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11816
872
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
872
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
2.51k
yy1016:
11820
2.51k
    YYDEBUG(1016, *YYCURSOR);
11821
2.51k
    yych = *++YYCURSOR;
11822
2.51k
    if (yych <= '_') {
11823
90
      if (yych <= '@') goto yy1008;
11824
42
      if (yych <= 'Z') goto yy1017;
11825
42
      if (yych <= '^') goto yy1008;
11826
2.42k
    } else {
11827
2.42k
      if (yych <= '`') goto yy1008;
11828
2.42k
      if (yych <= 'z') goto yy1017;
11829
46
      if (yych <= 0x7F) goto yy1008;
11830
46
    }
11831
2.42k
yy1017:
11832
2.42k
    YYDEBUG(1017, *YYCURSOR);
11833
2.42k
    ++YYCURSOR;
11834
2.42k
    YYDEBUG(1018, *YYCURSOR);
11835
2.42k
    yyleng = YYCURSOR - SCNG(yy_text);
11836
2.42k
#line 2403 "Zend/zend_language_scanner.l"
11837
2.42k
    {
11838
2.42k
  yyless(yyleng - 4);
11839
2.42k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11840
2.42k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11841
2.42k
}
11842
2.42k
#line 11843 "Zend/zend_language_scanner.c"
11843
2.42k
  }
11844
/* *********************************** */
11845
234k
yyc_ST_DOUBLE_QUOTES:
11846
234k
  {
11847
234k
    static const unsigned char yybm[] = {
11848
234k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
234k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
234k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
234k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
234k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
234k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11855
234k
      128, 128,   0,   0,   0,   0,   0,   0, 
11856
234k
        0, 128, 128, 128, 128, 128, 128, 128, 
11857
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
234k
      128, 128, 128,   0,   0,   0,   0, 128, 
11860
234k
        0, 128, 128, 128, 128, 128, 128, 128, 
11861
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
234k
      128, 128, 128,   0,   0,   0,   0,   0, 
11864
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
234k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
234k
    };
11881
234k
    YYDEBUG(1019, *YYCURSOR);
11882
234k
    YYFILL(2);
11883
234k
    yych = *YYCURSOR;
11884
234k
    if (yych <= '#') {
11885
46.6k
      if (yych == '"') goto yy1023;
11886
188k
    } else {
11887
188k
      if (yych <= '$') goto yy1025;
11888
94.8k
      if (yych == '{') goto yy1026;
11889
94.8k
    }
11890
116k
    YYDEBUG(1021, *YYCURSOR);
11891
116k
    ++YYCURSOR;
11892
117k
yy1022:
11893
117k
    YYDEBUG(1022, *YYCURSOR);
11894
117k
    yyleng = YYCURSOR - SCNG(yy_text);
11895
117k
#line 2864 "Zend/zend_language_scanner.l"
11896
117k
    {
11897
117k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11898
26.9k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11899
26.9k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11900
11901
26.9k
    goto double_quotes_scan_done;
11902
26.9k
  }
11903
11904
90.3k
  if (YYCURSOR > YYLIMIT) {
11905
3.84k
    RETURN_END_TOKEN;
11906
3.84k
  }
11907
86.4k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11908
6.04k
    YYCURSOR++;
11909
6.04k
  }
11910
11911
2.96M
  while (YYCURSOR < YYLIMIT) {
11912
2.96M
    switch (*YYCURSOR++) {
11913
21.0k
      case '"':
11914
21.0k
        break;
11915
69.0k
      case '$':
11916
69.0k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11917
63.0k
          break;
11918
63.0k
        }
11919
6.06k
        continue;
11920
10.4k
      case '{':
11921
10.4k
        if (*YYCURSOR == '$') {
11922
1.31k
          break;
11923
1.31k
        }
11924
9.12k
        continue;
11925
16.6k
      case '\\':
11926
16.6k
        if (YYCURSOR < YYLIMIT) {
11927
16.6k
          YYCURSOR++;
11928
16.6k
        }
11929
16.6k
        ZEND_FALLTHROUGH;
11930
2.86M
      default:
11931
2.86M
        continue;
11932
2.96M
    }
11933
11934
85.3k
    YYCURSOR--;
11935
85.3k
    break;
11936
2.96M
  }
11937
11938
113k
double_quotes_scan_done:
11939
113k
  yyleng = YYCURSOR - SCNG(yy_text);
11940
11941
113k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11942
113k
   || !PARSER_MODE()) {
11943
113k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11944
113k
  } else {
11945
0
    RETURN_TOKEN(T_ERROR);
11946
0
  }
11947
113k
}
11948
0
#line 11949 "Zend/zend_language_scanner.c"
11949
21.8k
yy1023:
11950
21.8k
    YYDEBUG(1023, *YYCURSOR);
11951
21.8k
    ++YYCURSOR;
11952
21.8k
    YYDEBUG(1024, *YYCURSOR);
11953
21.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11954
21.8k
#line 2853 "Zend/zend_language_scanner.l"
11955
21.8k
    {
11956
21.8k
  BEGIN(ST_IN_SCRIPTING);
11957
21.8k
  RETURN_TOKEN('"');
11958
21.8k
}
11959
0
#line 11960 "Zend/zend_language_scanner.c"
11960
93.2k
yy1025:
11961
93.2k
    YYDEBUG(1025, *YYCURSOR);
11962
93.2k
    yych = *++YYCURSOR;
11963
93.2k
    if (yych <= '_') {
11964
3.00k
      if (yych <= '@') goto yy1022;
11965
2.61k
      if (yych <= 'Z') goto yy1027;
11966
501
      if (yych <= '^') goto yy1022;
11967
499
      goto yy1027;
11968
90.2k
    } else {
11969
90.2k
      if (yych <= 'z') {
11970
80.3k
        if (yych <= '`') goto yy1022;
11971
80.3k
        goto yy1027;
11972
80.3k
      } else {
11973
9.84k
        if (yych <= '{') goto yy1030;
11974
4.53k
        if (yych <= 0x7F) goto yy1022;
11975
4.53k
        goto yy1027;
11976
4.53k
      }
11977
90.2k
    }
11978
2.95k
yy1026:
11979
2.95k
    YYDEBUG(1026, *YYCURSOR);
11980
2.95k
    yych = *++YYCURSOR;
11981
2.95k
    if (yych == '$') goto yy1032;
11982
224
    goto yy1022;
11983
306k
yy1027:
11984
306k
    YYDEBUG(1027, *YYCURSOR);
11985
306k
    YYMARKER = ++YYCURSOR;
11986
306k
    YYFILL(4);
11987
306k
    yych = *YYCURSOR;
11988
306k
    YYDEBUG(1028, *YYCURSOR);
11989
306k
    if (yybm[0+yych] & 128) {
11990
218k
      goto yy1027;
11991
218k
    }
11992
87.5k
    if (yych <= '>') {
11993
57.8k
      if (yych == '-') goto yy1034;
11994
57.8k
    } else {
11995
29.6k
      if (yych <= '?') goto yy1036;
11996
9.39k
      if (yych <= '@') goto yy1029;
11997
9.33k
      if (yych <= '[') goto yy1037;
11998
9.33k
    }
11999
64.0k
yy1029:
12000
64.0k
    YYDEBUG(1029, *YYCURSOR);
12001
64.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12002
64.0k
#line 2417 "Zend/zend_language_scanner.l"
12003
64.0k
    {
12004
64.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12005
64.0k
}
12006
0
#line 12007 "Zend/zend_language_scanner.c"
12007
5.31k
yy1030:
12008
5.31k
    YYDEBUG(1030, *YYCURSOR);
12009
5.31k
    ++YYCURSOR;
12010
5.31k
    YYDEBUG(1031, *YYCURSOR);
12011
5.31k
    yyleng = YYCURSOR - SCNG(yy_text);
12012
5.31k
#line 1981 "Zend/zend_language_scanner.l"
12013
5.31k
    {
12014
5.31k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12015
5.31k
  enter_nesting('{');
12016
5.31k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12017
5.31k
}
12018
0
#line 12019 "Zend/zend_language_scanner.c"
12019
2.73k
yy1032:
12020
2.73k
    YYDEBUG(1032, *YYCURSOR);
12021
2.73k
    ++YYCURSOR;
12022
2.73k
    YYDEBUG(1033, *YYCURSOR);
12023
2.73k
    yyleng = YYCURSOR - SCNG(yy_text);
12024
2.73k
#line 2845 "Zend/zend_language_scanner.l"
12025
2.73k
    {
12026
2.73k
  yy_push_state(ST_IN_SCRIPTING);
12027
2.73k
  yyless(1);
12028
2.73k
  enter_nesting('{');
12029
2.73k
  RETURN_TOKEN(T_CURLY_OPEN);
12030
2.73k
}
12031
0
#line 12032 "Zend/zend_language_scanner.c"
12032
18.6k
yy1034:
12033
18.6k
    YYDEBUG(1034, *YYCURSOR);
12034
18.6k
    yych = *++YYCURSOR;
12035
18.6k
    if (yych == '>') goto yy1039;
12036
17.3k
yy1035:
12037
17.3k
    YYDEBUG(1035, *YYCURSOR);
12038
17.3k
    YYCURSOR = YYMARKER;
12039
17.3k
    goto yy1029;
12040
20.2k
yy1036:
12041
20.2k
    YYDEBUG(1036, *YYCURSOR);
12042
20.2k
    yych = *++YYCURSOR;
12043
20.2k
    if (yych == '-') goto yy1040;
12044
11.7k
    goto yy1035;
12045
11.7k
yy1037:
12046
1.87k
    YYDEBUG(1037, *YYCURSOR);
12047
1.87k
    ++YYCURSOR;
12048
1.87k
    YYDEBUG(1038, *YYCURSOR);
12049
1.87k
    yyleng = YYCURSOR - SCNG(yy_text);
12050
1.87k
#line 2411 "Zend/zend_language_scanner.l"
12051
1.87k
    {
12052
1.87k
  yyless(yyleng - 1);
12053
1.87k
  yy_push_state(ST_VAR_OFFSET);
12054
1.87k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12055
1.87k
}
12056
0
#line 12057 "Zend/zend_language_scanner.c"
12057
14.9k
yy1039:
12058
14.9k
    YYDEBUG(1039, *YYCURSOR);
12059
14.9k
    yych = *++YYCURSOR;
12060
14.9k
    if (yych <= '_') {
12061
12.8k
      if (yych <= '@') goto yy1035;
12062
12.1k
      if (yych <= 'Z') goto yy1041;
12063
137
      if (yych <= '^') goto yy1035;
12064
113
      goto yy1041;
12065
2.06k
    } else {
12066
2.06k
      if (yych <= '`') goto yy1035;
12067
2.06k
      if (yych <= 'z') goto yy1041;
12068
320
      if (yych <= 0x7F) goto yy1035;
12069
153
      goto yy1041;
12070
320
    }
12071
8.50k
yy1040:
12072
8.50k
    YYDEBUG(1040, *YYCURSOR);
12073
8.50k
    yych = *++YYCURSOR;
12074
8.50k
    if (yych == '>') goto yy1043;
12075
481
    goto yy1035;
12076
14.0k
yy1041:
12077
14.0k
    YYDEBUG(1041, *YYCURSOR);
12078
14.0k
    ++YYCURSOR;
12079
14.0k
    YYDEBUG(1042, *YYCURSOR);
12080
14.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
14.0k
#line 2397 "Zend/zend_language_scanner.l"
12082
14.0k
    {
12083
14.0k
  yyless(yyleng - 3);
12084
14.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12085
14.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
14.0k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
8.02k
yy1043:
12089
8.02k
    YYDEBUG(1043, *YYCURSOR);
12090
8.02k
    yych = *++YYCURSOR;
12091
8.02k
    if (yych <= '_') {
12092
473
      if (yych <= '@') goto yy1035;
12093
305
      if (yych <= 'Z') goto yy1044;
12094
303
      if (yych <= '^') goto yy1035;
12095
7.55k
    } else {
12096
7.55k
      if (yych <= '`') goto yy1035;
12097
7.55k
      if (yych <= 'z') goto yy1044;
12098
94
      if (yych <= 0x7F) goto yy1035;
12099
94
    }
12100
7.56k
yy1044:
12101
7.56k
    YYDEBUG(1044, *YYCURSOR);
12102
7.56k
    ++YYCURSOR;
12103
7.56k
    YYDEBUG(1045, *YYCURSOR);
12104
7.56k
    yyleng = YYCURSOR - SCNG(yy_text);
12105
7.56k
#line 2403 "Zend/zend_language_scanner.l"
12106
7.56k
    {
12107
7.56k
  yyless(yyleng - 4);
12108
7.56k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12109
7.56k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12110
7.56k
}
12111
7.56k
#line 12112 "Zend/zend_language_scanner.c"
12112
7.56k
  }
12113
/* *********************************** */
12114
465k
yyc_ST_HEREDOC:
12115
465k
  {
12116
465k
    static const unsigned char yybm[] = {
12117
465k
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
465k
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
465k
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
465k
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
465k
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
465k
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12124
465k
      128, 128,   0,   0,   0,   0,   0,   0, 
12125
465k
        0, 128, 128, 128, 128, 128, 128, 128, 
12126
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
465k
      128, 128, 128,   0,   0,   0,   0, 128, 
12129
465k
        0, 128, 128, 128, 128, 128, 128, 128, 
12130
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
465k
      128, 128, 128,   0,   0,   0,   0,   0, 
12133
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
465k
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
465k
    };
12150
465k
    YYDEBUG(1046, *YYCURSOR);
12151
465k
    YYFILL(2);
12152
465k
    yych = *YYCURSOR;
12153
465k
    if (yych == '$') goto yy1050;
12154
230k
    if (yych == '{') goto yy1051;
12155
196k
    YYDEBUG(1048, *YYCURSOR);
12156
196k
    ++YYCURSOR;
12157
207k
yy1049:
12158
207k
    YYDEBUG(1049, *YYCURSOR);
12159
207k
    yyleng = YYCURSOR - SCNG(yy_text);
12160
207k
#line 2964 "Zend/zend_language_scanner.l"
12161
207k
    {
12162
207k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12163
207k
  int newline = 0, indentation = 0, spacing = 0;
12164
12165
207k
  if (YYCURSOR > YYLIMIT) {
12166
5.18k
    RETURN_END_TOKEN;
12167
5.18k
  }
12168
12169
201k
  YYCURSOR--;
12170
12171
13.0M
  while (YYCURSOR < YYLIMIT) {
12172
13.0M
    switch (*YYCURSOR++) {
12173
79.2k
      case '\r':
12174
79.2k
        if (*YYCURSOR == '\n') {
12175
10.6k
          YYCURSOR++;
12176
10.6k
        }
12177
79.2k
        ZEND_FALLTHROUGH;
12178
532k
      case '\n':
12179
532k
        indentation = spacing = 0;
12180
12181
954k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12182
421k
          if (*YYCURSOR == '\t') {
12183
10.2k
            spacing |= HEREDOC_USING_TABS;
12184
411k
          } else {
12185
411k
            spacing |= HEREDOC_USING_SPACES;
12186
411k
          }
12187
421k
          ++YYCURSOR;
12188
421k
          ++indentation;
12189
421k
        }
12190
12191
532k
        if (YYCURSOR == YYLIMIT) {
12192
283
          yyleng = YYCURSOR - SCNG(yy_text);
12193
283
          HANDLE_NEWLINES(yytext, yyleng);
12194
283
          ZVAL_NULL(zendlval);
12195
283
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12196
283
        }
12197
12198
        /* Check for ending label on the next line */
12199
532k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12200
11.1k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12201
6.77k
            continue;
12202
6.77k
          }
12203
12204
4.37k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12205
4
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12206
4
            if (PARSER_MODE()) {
12207
2
              RETURN_TOKEN(T_ERROR);
12208
2
            }
12209
4
          }
12210
12211
          /* newline before label will be subtracted from returned text, but
12212
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12213
4.37k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12214
14
            newline = 2; /* Windows newline */
12215
4.35k
          } else {
12216
4.35k
            newline = 1;
12217
4.35k
          }
12218
12219
4.37k
          CG(increment_lineno) = 1; /* For newline before label */
12220
12221
4.37k
          if (SCNG(heredoc_scan_ahead)) {
12222
2.50k
            SCNG(heredoc_indentation) = indentation;
12223
2.50k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12224
2.50k
          } else {
12225
1.86k
            YYCURSOR -= indentation;
12226
1.86k
          }
12227
12228
4.37k
          BEGIN(ST_END_HEREDOC);
12229
12230
4.37k
          goto heredoc_scan_done;
12231
4.37k
        }
12232
521k
        continue;
12233
521k
      case '$':
12234
277k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12235
179k
          break;
12236
179k
        }
12237
98.7k
        continue;
12238
98.7k
      case '{':
12239
71.6k
        if (*YYCURSOR == '$') {
12240
13.2k
          break;
12241
13.2k
        }
12242
58.4k
        continue;
12243
58.4k
      case '\\':
12244
58.1k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12245
56.2k
          YYCURSOR++;
12246
56.2k
        }
12247
58.1k
        ZEND_FALLTHROUGH;
12248
12.1M
      default:
12249
12.1M
        continue;
12250
13.0M
    }
12251
12252
192k
    YYCURSOR--;
12253
192k
    break;
12254
13.0M
  }
12255
12256
201k
heredoc_scan_done:
12257
12258
201k
  yyleng = YYCURSOR - SCNG(yy_text);
12259
201k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12260
12261
201k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12262
48.6k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12263
48.6k
    zend_string *copy = Z_STR_P(zendlval);
12264
12265
48.6k
    if (!strip_multiline_string_indentation(
12266
48.6k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12267
48.6k
        newline_at_start, newline != 0)) {
12268
30
      RETURN_TOKEN(T_ERROR);
12269
30
    }
12270
12271
48.6k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12272
2
      zend_string_efree(copy);
12273
2
      RETURN_TOKEN(T_ERROR);
12274
2
    }
12275
12276
48.6k
    zend_string_efree(copy);
12277
152k
  } else {
12278
152k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12279
152k
  }
12280
12281
201k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12282
201k
}
12283
0
#line 12284 "Zend/zend_language_scanner.c"
12284
235k
yy1050:
12285
235k
    YYDEBUG(1050, *YYCURSOR);
12286
235k
    yych = *++YYCURSOR;
12287
235k
    if (yych <= '_') {
12288
8.38k
      if (yych <= '@') goto yy1049;
12289
4.11k
      if (yych <= 'Z') goto yy1052;
12290
1.26k
      if (yych <= '^') goto yy1049;
12291
927
      goto yy1052;
12292
227k
    } else {
12293
227k
      if (yych <= 'z') {
12294
120k
        if (yych <= '`') goto yy1049;
12295
120k
        goto yy1052;
12296
120k
      } else {
12297
106k
        if (yych <= '{') goto yy1055;
12298
10.8k
        if (yych <= 0x7F) goto yy1049;
12299
10.7k
        goto yy1052;
12300
10.8k
      }
12301
227k
    }
12302
33.6k
yy1051:
12303
33.6k
    YYDEBUG(1051, *YYCURSOR);
12304
33.6k
    yych = *++YYCURSOR;
12305
33.6k
    if (yych == '$') goto yy1057;
12306
5.61k
    goto yy1049;
12307
551k
yy1052:
12308
551k
    YYDEBUG(1052, *YYCURSOR);
12309
551k
    YYMARKER = ++YYCURSOR;
12310
551k
    YYFILL(4);
12311
551k
    yych = *YYCURSOR;
12312
551k
    YYDEBUG(1053, *YYCURSOR);
12313
551k
    if (yybm[0+yych] & 128) {
12314
416k
      goto yy1052;
12315
416k
    }
12316
134k
    if (yych <= '>') {
12317
83.6k
      if (yych == '-') goto yy1059;
12318
83.6k
    } else {
12319
51.0k
      if (yych <= '?') goto yy1061;
12320
10.6k
      if (yych <= '@') goto yy1054;
12321
10.5k
      if (yych <= '[') goto yy1062;
12322
10.5k
    }
12323
107k
yy1054:
12324
107k
    YYDEBUG(1054, *YYCURSOR);
12325
107k
    yyleng = YYCURSOR - SCNG(yy_text);
12326
107k
#line 2417 "Zend/zend_language_scanner.l"
12327
107k
    {
12328
107k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12329
107k
}
12330
0
#line 12331 "Zend/zend_language_scanner.c"
12331
95.9k
yy1055:
12332
95.9k
    YYDEBUG(1055, *YYCURSOR);
12333
95.9k
    ++YYCURSOR;
12334
95.9k
    YYDEBUG(1056, *YYCURSOR);
12335
95.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12336
95.9k
#line 1981 "Zend/zend_language_scanner.l"
12337
95.9k
    {
12338
95.9k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12339
95.9k
  enter_nesting('{');
12340
95.9k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12341
95.9k
}
12342
0
#line 12343 "Zend/zend_language_scanner.c"
12343
28.0k
yy1057:
12344
28.0k
    YYDEBUG(1057, *YYCURSOR);
12345
28.0k
    ++YYCURSOR;
12346
28.0k
    YYDEBUG(1058, *YYCURSOR);
12347
28.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12348
28.0k
#line 2845 "Zend/zend_language_scanner.l"
12349
28.0k
    {
12350
28.0k
  yy_push_state(ST_IN_SCRIPTING);
12351
28.0k
  yyless(1);
12352
28.0k
  enter_nesting('{');
12353
28.0k
  RETURN_TOKEN(T_CURLY_OPEN);
12354
28.0k
}
12355
0
#line 12356 "Zend/zend_language_scanner.c"
12356
8.91k
yy1059:
12357
8.91k
    YYDEBUG(1059, *YYCURSOR);
12358
8.91k
    yych = *++YYCURSOR;
12359
8.91k
    if (yych == '>') goto yy1064;
12360
26.0k
yy1060:
12361
26.0k
    YYDEBUG(1060, *YYCURSOR);
12362
26.0k
    YYCURSOR = YYMARKER;
12363
26.0k
    goto yy1054;
12364
40.3k
yy1061:
12365
40.3k
    YYDEBUG(1061, *YYCURSOR);
12366
40.3k
    yych = *++YYCURSOR;
12367
40.3k
    if (yych == '-') goto yy1065;
12368
21.2k
    goto yy1060;
12369
21.2k
yy1062:
12370
4.03k
    YYDEBUG(1062, *YYCURSOR);
12371
4.03k
    ++YYCURSOR;
12372
4.03k
    YYDEBUG(1063, *YYCURSOR);
12373
4.03k
    yyleng = YYCURSOR - SCNG(yy_text);
12374
4.03k
#line 2411 "Zend/zend_language_scanner.l"
12375
4.03k
    {
12376
4.03k
  yyless(yyleng - 1);
12377
4.03k
  yy_push_state(ST_VAR_OFFSET);
12378
4.03k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12379
4.03k
}
12380
0
#line 12381 "Zend/zend_language_scanner.c"
12381
6.90k
yy1064:
12382
6.90k
    YYDEBUG(1064, *YYCURSOR);
12383
6.90k
    yych = *++YYCURSOR;
12384
6.90k
    if (yych <= '_') {
12385
2.91k
      if (yych <= '@') goto yy1060;
12386
1.65k
      if (yych <= 'Z') goto yy1066;
12387
186
      if (yych <= '^') goto yy1060;
12388
148
      goto yy1066;
12389
3.99k
    } else {
12390
3.99k
      if (yych <= '`') goto yy1060;
12391
3.99k
      if (yych <= 'z') goto yy1066;
12392
125
      if (yych <= 0x7F) goto yy1060;
12393
93
      goto yy1066;
12394
125
    }
12395
19.0k
yy1065:
12396
19.0k
    YYDEBUG(1065, *YYCURSOR);
12397
19.0k
    yych = *++YYCURSOR;
12398
19.0k
    if (yych == '>') goto yy1068;
12399
968
    goto yy1060;
12400
5.58k
yy1066:
12401
5.58k
    YYDEBUG(1066, *YYCURSOR);
12402
5.58k
    ++YYCURSOR;
12403
5.58k
    YYDEBUG(1067, *YYCURSOR);
12404
5.58k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
5.58k
#line 2397 "Zend/zend_language_scanner.l"
12406
5.58k
    {
12407
5.58k
  yyless(yyleng - 3);
12408
5.58k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12409
5.58k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
5.58k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
18.1k
yy1068:
12413
18.1k
    YYDEBUG(1068, *YYCURSOR);
12414
18.1k
    yych = *++YYCURSOR;
12415
18.1k
    if (yych <= '_') {
12416
434
      if (yych <= '@') goto yy1060;
12417
96
      if (yych <= 'Z') goto yy1069;
12418
96
      if (yych <= '^') goto yy1060;
12419
17.6k
    } else {
12420
17.6k
      if (yych <= '`') goto yy1060;
12421
17.6k
      if (yych <= 'z') goto yy1069;
12422
50
      if (yych <= 0x7F) goto yy1060;
12423
50
    }
12424
17.6k
yy1069:
12425
17.6k
    YYDEBUG(1069, *YYCURSOR);
12426
17.6k
    ++YYCURSOR;
12427
17.6k
    YYDEBUG(1070, *YYCURSOR);
12428
17.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12429
17.6k
#line 2403 "Zend/zend_language_scanner.l"
12430
17.6k
    {
12431
17.6k
  yyless(yyleng - 4);
12432
17.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12433
17.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12434
17.6k
}
12435
17.6k
#line 12436 "Zend/zend_language_scanner.c"
12436
17.6k
  }
12437
/* *********************************** */
12438
104k
yyc_ST_LOOKING_FOR_VARNAME:
12439
104k
  {
12440
104k
    static const unsigned char yybm[] = {
12441
104k
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
104k
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
104k
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
104k
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
104k
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
104k
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12448
104k
      128, 128,   0,   0,   0,   0,   0,   0, 
12449
104k
        0, 128, 128, 128, 128, 128, 128, 128, 
12450
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
104k
      128, 128, 128,   0,   0,   0,   0, 128, 
12453
104k
        0, 128, 128, 128, 128, 128, 128, 128, 
12454
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
104k
      128, 128, 128,   0,   0,   0,   0,   0, 
12457
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
104k
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
104k
    };
12474
104k
    YYDEBUG(1071, *YYCURSOR);
12475
104k
    YYFILL(2);
12476
104k
    yych = *YYCURSOR;
12477
104k
    if (yych <= '_') {
12478
89.4k
      if (yych <= '@') goto yy1073;
12479
3.52k
      if (yych <= 'Z') goto yy1075;
12480
288
      if (yych >= '_') goto yy1075;
12481
14.6k
    } else {
12482
14.6k
      if (yych <= '`') goto yy1073;
12483
14.5k
      if (yych <= 'z') goto yy1075;
12484
2.80k
      if (yych >= 0x80) goto yy1075;
12485
2.80k
    }
12486
86.8k
yy1073:
12487
86.8k
    YYDEBUG(1073, *YYCURSOR);
12488
86.8k
    ++YYCURSOR;
12489
103k
yy1074:
12490
103k
    YYDEBUG(1074, *YYCURSOR);
12491
103k
    yyleng = YYCURSOR - SCNG(yy_text);
12492
103k
#line 2004 "Zend/zend_language_scanner.l"
12493
103k
    {
12494
103k
  yyless(0);
12495
103k
  yy_pop_state();
12496
103k
  yy_push_state(ST_IN_SCRIPTING);
12497
103k
  goto restart;
12498
86.8k
}
12499
0
#line 12500 "Zend/zend_language_scanner.c"
12500
17.1k
yy1075:
12501
17.1k
    YYDEBUG(1075, *YYCURSOR);
12502
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
12503
17.1k
    if (yych <= '_') {
12504
10.6k
      if (yych <= '@') {
12505
4.39k
        if (yych <= '/') goto yy1074;
12506
3.59k
        if (yych <= '9') goto yy1077;
12507
3.55k
        goto yy1074;
12508
6.21k
      } else {
12509
6.21k
        if (yych <= '[') goto yy1077;
12510
608
        if (yych <= '^') goto yy1074;
12511
50
        goto yy1077;
12512
608
      }
12513
10.6k
    } else {
12514
6.57k
      if (yych <= '|') {
12515
5.20k
        if (yych <= '`') goto yy1074;
12516
5.17k
        if (yych <= 'z') goto yy1077;
12517
50
        goto yy1074;
12518
5.17k
      } else {
12519
1.37k
        if (yych <= '}') goto yy1077;
12520
1.30k
        if (yych <= 0x7F) goto yy1074;
12521
1.28k
        goto yy1077;
12522
1.30k
      }
12523
6.57k
    }
12524
40.5k
yy1076:
12525
40.5k
    YYDEBUG(1076, *YYCURSOR);
12526
40.5k
    ++YYCURSOR;
12527
40.5k
    YYFILL(1);
12528
40.5k
    yych = *YYCURSOR;
12529
52.7k
yy1077:
12530
52.7k
    YYDEBUG(1077, *YYCURSOR);
12531
52.7k
    if (yybm[0+yych] & 128) {
12532
40.5k
      goto yy1076;
12533
40.5k
    }
12534
12.1k
    if (yych <= '@') goto yy1078;
12535
881
    if (yych <= '[') goto yy1079;
12536
422
    if (yych == '}') goto yy1079;
12537
11.5k
yy1078:
12538
11.5k
    YYDEBUG(1078, *YYCURSOR);
12539
11.5k
    YYCURSOR = YYMARKER;
12540
11.5k
    goto yy1074;
12541
583
yy1079:
12542
583
    YYDEBUG(1079, *YYCURSOR);
12543
583
    ++YYCURSOR;
12544
583
    YYDEBUG(1080, *YYCURSOR);
12545
583
    yyleng = YYCURSOR - SCNG(yy_text);
12546
583
#line 1996 "Zend/zend_language_scanner.l"
12547
583
    {
12548
583
  yyless(yyleng - 1);
12549
583
  yy_pop_state();
12550
583
  yy_push_state(ST_IN_SCRIPTING);
12551
583
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12552
583
}
12553
583
#line 12554 "Zend/zend_language_scanner.c"
12554
583
  }
12555
/* *********************************** */
12556
68.5k
yyc_ST_VAR_OFFSET:
12557
68.5k
  {
12558
68.5k
    static const unsigned char yybm[] = {
12559
68.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
68.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
68.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
68.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
68.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
68.5k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
68.5k
      248, 248, 216, 216, 216, 216, 216, 216, 
12566
68.5k
      152, 152,   0,   0,   0,   0,   0,   0, 
12567
68.5k
        0, 144, 144, 144, 144, 144, 144,  16, 
12568
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
68.5k
       16,  16,  16,   0,   0,   0,   0,  16, 
12571
68.5k
        0, 144, 144, 144, 144, 144, 144,  16, 
12572
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
68.5k
       16,  16,  16,   0,   0,   0,   0,   0, 
12575
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
68.5k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
68.5k
    };
12592
68.5k
    YYDEBUG(1081, *YYCURSOR);
12593
68.5k
    YYFILL(2);
12594
68.5k
    yych = *YYCURSOR;
12595
68.5k
    if (yych <= '0') {
12596
36.5k
      if (yych <= ' ') {
12597
18.1k
        if (yych <= '\f') {
12598
17.2k
          if (yych <= 0x08) goto yy1083;
12599
1.37k
          if (yych <= '\n') goto yy1085;
12600
1.37k
        } else {
12601
952
          if (yych <= '\r') goto yy1085;
12602
884
          if (yych >= ' ') goto yy1085;
12603
884
        }
12604
18.3k
      } else {
12605
18.3k
        if (yych <= '$') {
12606
8.32k
          if (yych <= '"') goto yy1087;
12607
6.10k
          if (yych <= '#') goto yy1085;
12608
6.10k
          goto yy1089;
12609
10.0k
        } else {
12610
10.0k
          if (yych == '\'') goto yy1085;
12611
9.85k
          if (yych <= '/') goto yy1087;
12612
3.98k
          goto yy1090;
12613
9.85k
        }
12614
18.3k
      }
12615
36.5k
    } else {
12616
32.0k
      if (yych <= ']') {
12617
22.9k
        if (yych <= 'Z') {
12618
11.4k
          if (yych <= '9') goto yy1092;
12619
7.58k
          if (yych <= '@') goto yy1087;
12620
1.68k
          goto yy1094;
12621
11.5k
        } else {
12622
11.5k
          if (yych <= '[') goto yy1087;
12623
4.36k
          if (yych <= '\\') goto yy1085;
12624
4.27k
          goto yy1097;
12625
4.36k
        }
12626
22.9k
      } else {
12627
9.06k
        if (yych <= '`') {
12628
262
          if (yych == '_') goto yy1094;
12629
184
          goto yy1087;
12630
8.79k
        } else {
12631
8.79k
          if (yych <= 'z') goto yy1094;
12632
4.15k
          if (yych <= '~') goto yy1087;
12633
2.47k
          if (yych >= 0x80) goto yy1094;
12634
2.47k
        }
12635
9.06k
      }
12636
32.0k
    }
12637
16.4k
yy1083:
12638
16.4k
    YYDEBUG(1083, *YYCURSOR);
12639
16.4k
    ++YYCURSOR;
12640
16.4k
    YYDEBUG(1084, *YYCURSOR);
12641
16.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12642
16.4k
#line 3179 "Zend/zend_language_scanner.l"
12643
16.4k
    {
12644
16.4k
  if (YYCURSOR > YYLIMIT) {
12645
298
    RETURN_END_TOKEN;
12646
298
  }
12647
12648
16.1k
  RETURN_TOKEN(T_BAD_CHARACTER);
12649
16.1k
}
12650
0
#line 12651 "Zend/zend_language_scanner.c"
12651
2.12k
yy1085:
12652
2.12k
    YYDEBUG(1085, *YYCURSOR);
12653
2.12k
    ++YYCURSOR;
12654
2.12k
    YYDEBUG(1086, *YYCURSOR);
12655
2.12k
    yyleng = YYCURSOR - SCNG(yy_text);
12656
2.12k
#line 2431 "Zend/zend_language_scanner.l"
12657
2.12k
    {
12658
  /* Invalid rule to return a more explicit parse error with proper line number */
12659
2.12k
  yyless(0);
12660
2.12k
  yy_pop_state();
12661
2.12k
  ZVAL_NULL(zendlval);
12662
2.12k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12663
2.12k
}
12664
0
#line 12665 "Zend/zend_language_scanner.c"
12665
23.0k
yy1087:
12666
23.0k
    YYDEBUG(1087, *YYCURSOR);
12667
23.0k
    ++YYCURSOR;
12668
27.9k
yy1088:
12669
27.9k
    YYDEBUG(1088, *YYCURSOR);
12670
27.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12671
27.9k
#line 2426 "Zend/zend_language_scanner.l"
12672
27.9k
    {
12673
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12674
27.9k
  RETURN_TOKEN(yytext[0]);
12675
27.9k
}
12676
0
#line 12677 "Zend/zend_language_scanner.c"
12677
6.10k
yy1089:
12678
6.10k
    YYDEBUG(1089, *YYCURSOR);
12679
6.10k
    yych = *++YYCURSOR;
12680
6.10k
    if (yych <= '_') {
12681
4.30k
      if (yych <= '@') goto yy1088;
12682
92
      if (yych <= 'Z') goto yy1099;
12683
48
      if (yych <= '^') goto yy1088;
12684
0
      goto yy1099;
12685
1.79k
    } else {
12686
1.79k
      if (yych <= '`') goto yy1088;
12687
1.79k
      if (yych <= 'z') goto yy1099;
12688
982
      if (yych <= 0x7F) goto yy1088;
12689
290
      goto yy1099;
12690
982
    }
12691
3.98k
yy1090:
12692
3.98k
    YYDEBUG(1090, *YYCURSOR);
12693
3.98k
    yyaccept = 0;
12694
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
12695
3.98k
    if (yych <= 'X') {
12696
1.17k
      if (yych <= 'B') {
12697
1.09k
        if (yych <= '/') goto yy1091;
12698
958
        if (yych <= '9') goto yy1102;
12699
72
        if (yych >= 'B') goto yy1105;
12700
74
      } else {
12701
74
        if (yych == 'O') goto yy1107;
12702
0
        if (yych >= 'X') goto yy1108;
12703
0
      }
12704
2.81k
    } else {
12705
2.81k
      if (yych <= 'b') {
12706
2.56k
        if (yych == '_') goto yy1109;
12707
2.56k
        if (yych >= 'b') goto yy1105;
12708
2.56k
      } else {
12709
245
        if (yych <= 'o') {
12710
10
          if (yych >= 'o') goto yy1107;
12711
235
        } else {
12712
235
          if (yych == 'x') goto yy1108;
12713
235
        }
12714
245
      }
12715
2.81k
    }
12716
6.91k
yy1091:
12717
6.91k
    YYDEBUG(1091, *YYCURSOR);
12718
6.91k
    yyleng = YYCURSOR - SCNG(yy_text);
12719
6.91k
#line 2208 "Zend/zend_language_scanner.l"
12720
6.91k
    { /* Offset could be treated as a long */
12721
6.91k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12722
6.29k
    char *end;
12723
6.29k
    errno = 0;
12724
6.29k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12725
6.29k
    if (errno == ERANGE) {
12726
0
      goto string;
12727
0
    }
12728
6.29k
    ZEND_ASSERT(end == yytext + yyleng);
12729
6.29k
  } else {
12730
614
string:
12731
614
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12732
614
  }
12733
6.91k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12734
6.91k
}
12735
0
#line 12736 "Zend/zend_language_scanner.c"
12736
34.1k
yy1092:
12737
34.1k
    YYDEBUG(1092, *YYCURSOR);
12738
34.1k
    yyaccept = 0;
12739
34.1k
    YYMARKER = ++YYCURSOR;
12740
34.1k
    YYFILL(1);
12741
34.1k
    yych = *YYCURSOR;
12742
34.1k
    YYDEBUG(1093, *YYCURSOR);
12743
34.1k
    if (yybm[0+yych] & 8) {
12744
30.3k
      goto yy1092;
12745
30.3k
    }
12746
3.88k
    if (yych == '_') goto yy1109;
12747
3.85k
    goto yy1091;
12748
43.2k
yy1094:
12749
43.2k
    YYDEBUG(1094, *YYCURSOR);
12750
43.2k
    ++YYCURSOR;
12751
43.2k
    YYFILL(1);
12752
43.2k
    yych = *YYCURSOR;
12753
43.2k
    YYDEBUG(1095, *YYCURSOR);
12754
43.2k
    if (yybm[0+yych] & 16) {
12755
34.4k
      goto yy1094;
12756
34.4k
    }
12757
8.80k
    YYDEBUG(1096, *YYCURSOR);
12758
8.80k
    yyleng = YYCURSOR - SCNG(yy_text);
12759
8.80k
#line 2455 "Zend/zend_language_scanner.l"
12760
8.80k
    {
12761
8.80k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12762
8.80k
}
12763
0
#line 12764 "Zend/zend_language_scanner.c"
12764
4.27k
yy1097:
12765
4.27k
    YYDEBUG(1097, *YYCURSOR);
12766
4.27k
    ++YYCURSOR;
12767
4.27k
    YYDEBUG(1098, *YYCURSOR);
12768
4.27k
    yyleng = YYCURSOR - SCNG(yy_text);
12769
4.27k
#line 2421 "Zend/zend_language_scanner.l"
12770
4.27k
    {
12771
4.27k
  yy_pop_state();
12772
4.27k
  RETURN_TOKEN(']');
12773
4.27k
}
12774
0
#line 12775 "Zend/zend_language_scanner.c"
12775
6.71k
yy1099:
12776
6.71k
    YYDEBUG(1099, *YYCURSOR);
12777
6.71k
    ++YYCURSOR;
12778
6.71k
    YYFILL(1);
12779
6.71k
    yych = *YYCURSOR;
12780
6.71k
    YYDEBUG(1100, *YYCURSOR);
12781
6.71k
    if (yych <= '^') {
12782
2.07k
      if (yych <= '9') {
12783
511
        if (yych >= '0') goto yy1099;
12784
1.56k
      } else {
12785
1.56k
        if (yych <= '@') goto yy1101;
12786
1.42k
        if (yych <= 'Z') goto yy1099;
12787
1.42k
      }
12788
4.63k
    } else {
12789
4.63k
      if (yych <= '`') {
12790
178
        if (yych <= '_') goto yy1099;
12791
4.46k
      } else {
12792
4.46k
        if (yych <= 'z') goto yy1099;
12793
2.29k
        if (yych >= 0x80) goto yy1099;
12794
2.29k
      }
12795
4.63k
    }
12796
1.15k
yy1101:
12797
1.15k
    YYDEBUG(1101, *YYCURSOR);
12798
1.15k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
1.15k
#line 2417 "Zend/zend_language_scanner.l"
12800
1.15k
    {
12801
1.15k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12802
1.15k
}
12803
0
#line 12804 "Zend/zend_language_scanner.c"
12804
5.63k
yy1102:
12805
5.63k
    YYDEBUG(1102, *YYCURSOR);
12806
5.63k
    yyaccept = 1;
12807
5.63k
    YYMARKER = ++YYCURSOR;
12808
5.63k
    YYFILL(1);
12809
5.63k
    yych = *YYCURSOR;
12810
5.63k
    YYDEBUG(1103, *YYCURSOR);
12811
5.63k
    if (yych <= '/') goto yy1104;
12812
4.84k
    if (yych <= '9') goto yy1102;
12813
90
    if (yych == '_') goto yy1109;
12814
956
yy1104:
12815
956
    YYDEBUG(1104, *YYCURSOR);
12816
956
    yyleng = YYCURSOR - SCNG(yy_text);
12817
956
#line 2224 "Zend/zend_language_scanner.l"
12818
956
    { /* Offset must be treated as a string */
12819
956
  if (yyleng == 1) {
12820
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12821
956
  } else {
12822
956
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12823
956
  }
12824
956
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12825
956
}
12826
0
#line 12827 "Zend/zend_language_scanner.c"
12827
36
yy1105:
12828
36
    YYDEBUG(1105, *YYCURSOR);
12829
36
    ++YYCURSOR;
12830
36
    YYFILL(1);
12831
36
    yych = *YYCURSOR;
12832
36
    if (yybm[0+yych] & 32) {
12833
4
      goto yy1110;
12834
4
    }
12835
170
yy1106:
12836
170
    YYDEBUG(1106, *YYCURSOR);
12837
170
    YYCURSOR = YYMARKER;
12838
170
    if (yyaccept == 0) {
12839
140
      goto yy1091;
12840
140
    } else {
12841
30
      goto yy1104;
12842
30
    }
12843
78
yy1107:
12844
78
    YYDEBUG(1107, *YYCURSOR);
12845
78
    ++YYCURSOR;
12846
78
    YYFILL(1);
12847
78
    yych = *YYCURSOR;
12848
78
    if (yybm[0+yych] & 64) {
12849
10
      goto yy1112;
12850
10
    }
12851
68
    goto yy1106;
12852
68
yy1108:
12853
66
    YYDEBUG(1108, *YYCURSOR);
12854
66
    ++YYCURSOR;
12855
66
    YYFILL(1);
12856
66
    yych = *YYCURSOR;
12857
66
    if (yybm[0+yych] & 128) {
12858
56
      goto yy1114;
12859
56
    }
12860
10
    goto yy1106;
12861
60
yy1109:
12862
60
    YYDEBUG(1109, *YYCURSOR);
12863
60
    ++YYCURSOR;
12864
60
    YYFILL(1);
12865
60
    yych = *YYCURSOR;
12866
60
    if (yych <= '/') goto yy1106;
12867
60
    if (yych <= '9') goto yy1102;
12868
60
    goto yy1106;
12869
60
yy1110:
12870
40
    YYDEBUG(1110, *YYCURSOR);
12871
40
    yyaccept = 1;
12872
40
    YYMARKER = ++YYCURSOR;
12873
40
    YYFILL(1);
12874
40
    yych = *YYCURSOR;
12875
40
    YYDEBUG(1111, *YYCURSOR);
12876
40
    if (yybm[0+yych] & 32) {
12877
36
      goto yy1110;
12878
36
    }
12879
4
    if (yych == '_') goto yy1105;
12880
4
    goto yy1104;
12881
38
yy1112:
12882
38
    YYDEBUG(1112, *YYCURSOR);
12883
38
    yyaccept = 1;
12884
38
    YYMARKER = ++YYCURSOR;
12885
38
    YYFILL(1);
12886
38
    yych = *YYCURSOR;
12887
38
    YYDEBUG(1113, *YYCURSOR);
12888
38
    if (yybm[0+yych] & 64) {
12889
28
      goto yy1112;
12890
28
    }
12891
10
    if (yych == '_') goto yy1107;
12892
10
    goto yy1104;
12893
284
yy1114:
12894
284
    YYDEBUG(1114, *YYCURSOR);
12895
284
    yyaccept = 1;
12896
284
    YYMARKER = ++YYCURSOR;
12897
284
    YYFILL(1);
12898
284
    yych = *YYCURSOR;
12899
284
    YYDEBUG(1115, *YYCURSOR);
12900
284
    if (yybm[0+yych] & 128) {
12901
228
      goto yy1114;
12902
228
    }
12903
56
    if (yych == '_') goto yy1108;
12904
56
    goto yy1104;
12905
56
  }
12906
/* *********************************** */
12907
56
yyc_SHEBANG:
12908
0
  {
12909
0
    static const unsigned char yybm[] = {
12910
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12911
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 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
    };
12943
0
    YYDEBUG(1116, *YYCURSOR);
12944
0
    YYFILL(2);
12945
0
    yych = *YYCURSOR;
12946
0
    if (yych == '#') goto yy1120;
12947
0
    YYDEBUG(1118, *YYCURSOR);
12948
0
    ++YYCURSOR;
12949
0
yy1119:
12950
0
    YYDEBUG(1119, *YYCURSOR);
12951
0
    yyleng = YYCURSOR - SCNG(yy_text);
12952
0
#line 2295 "Zend/zend_language_scanner.l"
12953
0
    {
12954
0
  yyless(0);
12955
0
  BEGIN(INITIAL);
12956
0
  goto restart;
12957
0
}
12958
0
#line 12959 "Zend/zend_language_scanner.c"
12959
0
yy1120:
12960
0
    YYDEBUG(1120, *YYCURSOR);
12961
0
    yych = *++YYCURSOR;
12962
0
    if (yych != '!') goto yy1119;
12963
0
yy1121:
12964
0
    YYDEBUG(1121, *YYCURSOR);
12965
0
    ++YYCURSOR;
12966
0
    YYFILL(1);
12967
0
    yych = *YYCURSOR;
12968
0
    YYDEBUG(1122, *YYCURSOR);
12969
0
    if (yybm[0+yych] & 128) {
12970
0
      goto yy1121;
12971
0
    }
12972
0
    YYDEBUG(1123, *YYCURSOR);
12973
0
    ++YYCURSOR;
12974
0
    YYDEBUG(1124, *YYCURSOR);
12975
0
    yyleng = YYCURSOR - SCNG(yy_text);
12976
0
#line 2289 "Zend/zend_language_scanner.l"
12977
0
    {
12978
0
  CG(zend_lineno)++;
12979
0
  BEGIN(INITIAL);
12980
0
  goto restart;
12981
0
}
12982
0
#line 12983 "Zend/zend_language_scanner.c"
12983
0
  }
12984
/* *********************************** */
12985
138k
yyc_INITIAL:
12986
138k
  YYDEBUG(1125, *YYCURSOR);
12987
138k
  YYFILL(7);
12988
138k
  yych = *YYCURSOR;
12989
138k
  if (yych == '<') goto yy1129;
12990
75.9k
  YYDEBUG(1127, *YYCURSOR);
12991
75.9k
  ++YYCURSOR;
12992
76.8k
yy1128:
12993
76.8k
  YYDEBUG(1128, *YYCURSOR);
12994
76.8k
  yyleng = YYCURSOR - SCNG(yy_text);
12995
76.8k
#line 2341 "Zend/zend_language_scanner.l"
12996
76.8k
  {
12997
76.8k
  if (YYCURSOR > YYLIMIT) {
12998
27.8k
    RETURN_END_TOKEN;
12999
27.8k
  }
13000
13001
49.0k
inline_char_handler:
13002
13003
101k
  while (1) {
13004
101k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13005
13006
101k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13007
13008
101k
    if (YYCURSOR >= YYLIMIT) {
13009
12.7k
      break;
13010
12.7k
    }
13011
13012
88.8k
    if (*YYCURSOR == '?') {
13013
36.3k
      if (CG(short_tags) /* <? */
13014
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13015
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13016
0
          (YYCURSOR + 4 == YYLIMIT ||
13017
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13018
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13019
36.3k
      ) {
13020
36.3k
        YYCURSOR--;
13021
36.3k
        break;
13022
36.3k
      }
13023
36.3k
    }
13024
88.8k
  }
13025
13026
49.0k
  yyleng = YYCURSOR - SCNG(yy_text);
13027
13028
49.0k
  if (SCNG(output_filter)) {
13029
0
    size_t readsize;
13030
0
    char *s = NULL;
13031
0
    size_t sz = 0;
13032
    // TODO: avoid reallocation ???
13033
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13034
0
    ZVAL_STRINGL(zendlval, s, sz);
13035
0
    efree(s);
13036
0
    if (readsize < yyleng) {
13037
0
      yyless(readsize);
13038
0
    }
13039
49.0k
  } else if (yyleng == 1) {
13040
1.78k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13041
47.2k
  } else {
13042
47.2k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13043
47.2k
  }
13044
49.0k
  HANDLE_NEWLINES(yytext, yyleng);
13045
49.0k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13046
49.0k
}
13047
0
#line 13048 "Zend/zend_language_scanner.c"
13048
62.5k
yy1129:
13049
62.5k
  YYDEBUG(1129, *YYCURSOR);
13050
62.5k
  yych = *++YYCURSOR;
13051
62.5k
  if (yych != '?') goto yy1128;
13052
61.5k
  YYDEBUG(1130, *YYCURSOR);
13053
61.5k
  yych = *(YYMARKER = ++YYCURSOR);
13054
61.5k
  if (yych <= 'O') {
13055
7.30k
    if (yych == '=') goto yy1132;
13056
54.2k
  } else {
13057
54.2k
    if (yych <= 'P') goto yy1134;
13058
54.2k
    if (yych == 'p') goto yy1134;
13059
54.2k
  }
13060
14.3k
yy1131:
13061
14.3k
  YYDEBUG(1131, *YYCURSOR);
13062
14.3k
  yyleng = YYCURSOR - SCNG(yy_text);
13063
14.3k
#line 2332 "Zend/zend_language_scanner.l"
13064
14.3k
  {
13065
14.3k
  if (CG(short_tags)) {
13066
14.3k
    BEGIN(ST_IN_SCRIPTING);
13067
14.3k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13068
14.3k
  } else {
13069
0
    goto inline_char_handler;
13070
0
  }
13071
14.3k
}
13072
0
#line 13073 "Zend/zend_language_scanner.c"
13073
109
yy1132:
13074
109
  YYDEBUG(1132, *YYCURSOR);
13075
109
  ++YYCURSOR;
13076
109
  YYDEBUG(1133, *YYCURSOR);
13077
109
  yyleng = YYCURSOR - SCNG(yy_text);
13078
109
#line 2301 "Zend/zend_language_scanner.l"
13079
109
  {
13080
109
  BEGIN(ST_IN_SCRIPTING);
13081
109
  if (PARSER_MODE()) {
13082
    /* We'll reject this as an identifier in zend_lex_tstring. */
13083
44
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13084
44
  }
13085
65
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13086
65
}
13087
0
#line 13088 "Zend/zend_language_scanner.c"
13088
49.6k
yy1134:
13089
49.6k
  YYDEBUG(1134, *YYCURSOR);
13090
49.6k
  yych = *++YYCURSOR;
13091
49.6k
  if (yych == 'H') goto yy1136;
13092
49.3k
  if (yych == 'h') goto yy1136;
13093
2.58k
yy1135:
13094
2.58k
  YYDEBUG(1135, *YYCURSOR);
13095
2.58k
  YYCURSOR = YYMARKER;
13096
2.58k
  goto yy1131;
13097
48.3k
yy1136:
13098
48.3k
  YYDEBUG(1136, *YYCURSOR);
13099
48.3k
  yych = *++YYCURSOR;
13100
48.3k
  if (yych == 'P') goto yy1137;
13101
47.7k
  if (yych != 'p') goto yy1135;
13102
47.0k
yy1137:
13103
47.0k
  YYDEBUG(1137, *YYCURSOR);
13104
47.0k
  yych = *++YYCURSOR;
13105
47.0k
  if (yych <= '\f') {
13106
41.3k
    if (yych <= 0x08) goto yy1138;
13107
41.3k
    if (yych <= '\n') goto yy1139;
13108
41.3k
  } else {
13109
5.69k
    if (yych <= '\r') goto yy1141;
13110
5.67k
    if (yych == ' ') goto yy1139;
13111
5.67k
  }
13112
1.20k
yy1138:
13113
1.20k
  YYDEBUG(1138, *YYCURSOR);
13114
1.20k
  yyleng = YYCURSOR - SCNG(yy_text);
13115
1.20k
#line 2317 "Zend/zend_language_scanner.l"
13116
1.20k
  {
13117
  /* Allow <?php followed by end of file. */
13118
1.20k
  if (YYCURSOR == YYLIMIT) {
13119
2
    BEGIN(ST_IN_SCRIPTING);
13120
2
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13121
2
  }
13122
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13123
1.19k
  if (CG(short_tags)) {
13124
1.19k
    yyless(2);
13125
1.19k
    BEGIN(ST_IN_SCRIPTING);
13126
1.19k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13127
1.19k
  }
13128
0
  goto inline_char_handler;
13129
1.19k
}
13130
0
#line 13131 "Zend/zend_language_scanner.c"
13131
45.8k
yy1139:
13132
45.8k
  YYDEBUG(1139, *YYCURSOR);
13133
45.8k
  ++YYCURSOR;
13134
45.8k
yy1140:
13135
45.8k
  YYDEBUG(1140, *YYCURSOR);
13136
45.8k
  yyleng = YYCURSOR - SCNG(yy_text);
13137
45.8k
#line 2311 "Zend/zend_language_scanner.l"
13138
45.8k
  {
13139
45.8k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13140
45.8k
  BEGIN(ST_IN_SCRIPTING);
13141
45.8k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13142
45.8k
}
13143
0
#line 13144 "Zend/zend_language_scanner.c"
13144
16
yy1141:
13145
16
  YYDEBUG(1141, *YYCURSOR);
13146
16
  yych = *++YYCURSOR;
13147
16
  if (yych == '\n') goto yy1139;
13148
4
  goto yy1140;
13149
/* *********************************** */
13150
6.46k
yyc_ST_END_HEREDOC:
13151
6.46k
  YYDEBUG(1142, *YYCURSOR);
13152
6.46k
  YYFILL(1);
13153
6.46k
  yych = *YYCURSOR;
13154
6.46k
  YYDEBUG(1144, *YYCURSOR);
13155
6.46k
  ++YYCURSOR;
13156
6.46k
  YYDEBUG(1145, *YYCURSOR);
13157
6.46k
  yyleng = YYCURSOR - SCNG(yy_text);
13158
6.46k
#line 2831 "Zend/zend_language_scanner.l"
13159
6.46k
  {
13160
6.46k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13161
13162
6.46k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13163
6.46k
  YYCURSOR += yyleng - 1;
13164
13165
6.46k
  heredoc_label_dtor(heredoc_label);
13166
6.46k
  efree(heredoc_label);
13167
13168
6.46k
  BEGIN(ST_IN_SCRIPTING);
13169
6.46k
  RETURN_TOKEN(T_END_HEREDOC);
13170
6.46k
}
13171
0
#line 13172 "Zend/zend_language_scanner.c"
13172
/* *********************************** */
13173
2.27k
yyc_ST_NOWDOC:
13174
2.27k
  YYDEBUG(1146, *YYCURSOR);
13175
2.27k
  YYFILL(1);
13176
2.27k
  yych = *YYCURSOR;
13177
2.27k
  YYDEBUG(1148, *YYCURSOR);
13178
2.27k
  ++YYCURSOR;
13179
2.27k
  YYDEBUG(1149, *YYCURSOR);
13180
2.27k
  yyleng = YYCURSOR - SCNG(yy_text);
13181
2.27k
#line 3088 "Zend/zend_language_scanner.l"
13182
2.27k
  {
13183
2.27k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13184
2.27k
  int newline = 0, indentation = 0, spacing = -1;
13185
13186
2.27k
  if (YYCURSOR > YYLIMIT) {
13187
268
    RETURN_END_TOKEN;
13188
268
  }
13189
13190
2.00k
  YYCURSOR--;
13191
13192
407k
  while (YYCURSOR < YYLIMIT) {
13193
406k
    switch (*YYCURSOR++) {
13194
570
      case '\r':
13195
570
        if (*YYCURSOR == '\n') {
13196
56
          YYCURSOR++;
13197
56
        }
13198
570
        ZEND_FALLTHROUGH;
13199
18.4k
      case '\n':
13200
18.4k
        indentation = spacing = 0;
13201
13202
35.6k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13203
17.1k
          if (*YYCURSOR == '\t') {
13204
111
            spacing |= HEREDOC_USING_TABS;
13205
17.0k
          } else {
13206
17.0k
            spacing |= HEREDOC_USING_SPACES;
13207
17.0k
          }
13208
17.1k
          ++YYCURSOR;
13209
17.1k
          ++indentation;
13210
17.1k
        }
13211
13212
18.4k
        if (YYCURSOR == YYLIMIT) {
13213
40
          yyleng = YYCURSOR - SCNG(yy_text);
13214
40
          HANDLE_NEWLINES(yytext, yyleng);
13215
40
          ZVAL_NULL(zendlval);
13216
40
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13217
40
        }
13218
13219
        /* Check for ending label on the next line */
13220
18.4k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13221
1.74k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13222
13
            continue;
13223
13
          }
13224
13225
1.72k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13226
2
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13227
2
            if (PARSER_MODE()) {
13228
2
              RETURN_TOKEN(T_ERROR);
13229
2
            }
13230
2
          }
13231
13232
          /* newline before label will be subtracted from returned text, but
13233
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13234
1.72k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13235
0
            newline = 2; /* Windows newline */
13236
1.72k
          } else {
13237
1.72k
            newline = 1;
13238
1.72k
          }
13239
13240
1.72k
          CG(increment_lineno) = 1; /* For newline before label */
13241
13242
1.72k
          YYCURSOR -= indentation;
13243
1.72k
          heredoc_label->indentation = indentation;
13244
13245
1.72k
          BEGIN(ST_END_HEREDOC);
13246
13247
1.72k
          goto nowdoc_scan_done;
13248
1.72k
        }
13249
16.7k
        ZEND_FALLTHROUGH;
13250
405k
      default:
13251
405k
        continue;
13252
406k
    }
13253
406k
  }
13254
13255
1.96k
nowdoc_scan_done:
13256
1.96k
  yyleng = YYCURSOR - SCNG(yy_text);
13257
1.96k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13258
13259
1.96k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13260
283
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13261
283
    if (!strip_multiline_string_indentation(
13262
283
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13263
283
        newline_at_start, newline != 0)) {
13264
12
      RETURN_TOKEN(T_ERROR);
13265
12
    }
13266
283
  }
13267
13268
1.94k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13269
1.94k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13270
1.94k
}
13271
1.94k
#line 13272 "Zend/zend_language_scanner.c"
13272
1.94k
}
13273
0
#line 3187 "Zend/zend_language_scanner.l"
13274
13275
13276
2.26M
emit_token_with_str:
13277
2.26M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13278
13279
3.41M
emit_token_with_val:
13280
3.41M
  if (PARSER_MODE()) {
13281
1.36M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13282
1.36M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13283
1.36M
  }
13284
13285
10.5M
emit_token:
13286
10.5M
  if (SCNG(on_event)) {
13287
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13288
0
  }
13289
10.5M
  return token;
13290
13291
448k
emit_token_with_ident:
13292
448k
  if (PARSER_MODE()) {
13293
241k
    elem->ident = SCNG(yy_text);
13294
241k
  }
13295
448k
  if (SCNG(on_event)) {
13296
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13297
0
  }
13298
448k
  return token;
13299
13300
2.42M
return_whitespace:
13301
2.42M
  HANDLE_NEWLINES(yytext, yyleng);
13302
2.42M
  if (SCNG(on_event)) {
13303
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13304
0
  }
13305
2.42M
  if (PARSER_MODE()) {
13306
1.22M
    start_line = CG(zend_lineno);
13307
1.22M
    goto restart;
13308
1.22M
  } else {
13309
1.20M
    return T_WHITESPACE;
13310
1.20M
  }
13311
13312
81.2k
skip_token:
13313
81.2k
  if (SCNG(on_event)) {
13314
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13315
0
  }
13316
81.2k
  start_line = CG(zend_lineno);
13317
81.2k
  goto restart;
13318
2.42M
}