Coverage Report

Created: 2026-02-14 06:52

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
42.7M
#define YYCTYPE   unsigned char
54
109M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
692M
#define YYCURSOR  SCNG(yy_cursor)
56
219M
#define YYLIMIT   SCNG(yy_limit)
57
41.4M
#define YYMARKER  SCNG(yy_marker)
58
59
140M
#define YYGETCONDITION()  SCNG(yy_state)
60
15.7M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
3.81M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
252k
#define YYSTATE      YYGETCONDITION()
67
16.3M
#define yytext       ((char*)SCNG(yy_text))
68
56.8M
#define yyleng       SCNG(yy_leng)
69
3.61M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
3.61M
                          yyleng   = (unsigned int)x; } while(0)
71
#define yymore()     goto yymore_restart
72
73
/* perform sanity check. If this message is triggered you should
74
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
75
#define YYMAXFILL 16
76
77
#if ZEND_MMAP_AHEAD < YYMAXFILL
78
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
79
#endif
80
81
#include <stdarg.h>
82
83
#ifdef HAVE_UNISTD_H
84
# include <unistd.h>
85
#endif
86
87
/* Globals Macros */
88
1.36G
#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
6.35M
#define HANDLE_NEWLINES(s, l)                         \
97
6.35M
do {                                     \
98
6.35M
  char *p = (s), *boundary = p+(l);                     \
99
6.35M
                                        \
100
57.8M
  while (p<boundary) {                           \
101
51.4M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
5.36M
      CG(zend_lineno)++;                          \
103
5.36M
    }                                    \
104
51.4M
    p++;                                  \
105
51.4M
  }                                      \
106
6.35M
} while (0)
107
108
252k
#define HANDLE_NEWLINE(c) \
109
252k
{ \
110
252k
  if (c == '\n' || c == '\r') { \
111
87.6k
    CG(zend_lineno)++; \
112
87.6k
  } \
113
252k
}
114
115
/* To save initial string length after scanning to first variable */
116
158k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
348k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
5.74M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
38.9k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
160k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
27.3k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
124
125
126
static void strip_underscores(char *str, size_t *len)
127
7.91k
{
128
7.91k
  char *src = str, *dest = str;
129
176k
  while (*src != '\0') {
130
168k
    if (*src != '_') {
131
157k
      *dest = *src;
132
157k
      dest++;
133
157k
    } else {
134
11.8k
      --(*len);
135
11.8k
    }
136
168k
    src++;
137
168k
  }
138
7.91k
  *dest = '\0';
139
7.91k
}
140
141
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
142
0
{
143
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
144
0
  ZEND_ASSERT(internal_encoding);
145
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
146
0
}
147
148
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
149
0
{
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
156
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
157
0
}
158
159
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
160
0
{
161
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
162
0
  ZEND_ASSERT(internal_encoding);
163
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
164
0
internal_encoding, zend_multibyte_encoding_utf8);
165
0
}
166
167
168
static void _yy_push_state(int new_state)
169
7.94M
{
170
7.94M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
7.94M
  YYSETCONDITION(new_state);
172
7.94M
}
173
174
7.94M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
3.78M
{
178
3.78M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
3.78M
  YYSETCONDITION(*stack_state);
180
3.78M
  zend_stack_del_top(&SCNG(state_stack));
181
3.78M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
119k
{
185
119k
  YYCURSOR       = (YYCTYPE*)str;
186
119k
  YYLIMIT        = YYCURSOR + len;
187
119k
  if (!SCNG(yy_start)) {
188
23.8k
    SCNG(yy_start) = YYCURSOR;
189
23.8k
  }
190
119k
}
191
192
void startup_scanner(void)
193
191k
{
194
191k
  CG(parse_error) = 0;
195
191k
  CG(doc_comment) = NULL;
196
191k
  CG(extra_fn_flags) = 0;
197
191k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
191k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
191k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
191k
  SCNG(heredoc_scan_ahead) = 0;
201
191k
}
202
203
5.24M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
5.24M
    efree(heredoc_label->label);
205
5.24M
}
206
207
void shutdown_scanner(void)
208
191k
{
209
191k
  CG(parse_error) = 0;
210
191k
  RESET_DOC_COMMENT();
211
191k
  zend_stack_destroy(&SCNG(state_stack));
212
191k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
191k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
191k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
191k
  SCNG(heredoc_scan_ahead) = 0;
216
191k
  SCNG(on_event) = NULL;
217
191k
  SCNG(on_event_context) = NULL;
218
191k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
252k
{
222
252k
  lex_state->yy_leng   = SCNG(yy_leng);
223
252k
  lex_state->yy_start  = SCNG(yy_start);
224
252k
  lex_state->yy_text   = SCNG(yy_text);
225
252k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
252k
  lex_state->yy_marker = SCNG(yy_marker);
227
252k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
252k
  lex_state->state_stack = SCNG(state_stack);
230
252k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
252k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
252k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
252k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
252k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
252k
  lex_state->in = SCNG(yy_in);
239
252k
  lex_state->yy_state = YYSTATE;
240
252k
  lex_state->filename = CG(compiled_filename);
241
252k
  lex_state->lineno = CG(zend_lineno);
242
252k
  CG(compiled_filename) = NULL;
243
244
252k
  lex_state->script_org = SCNG(script_org);
245
252k
  lex_state->script_org_size = SCNG(script_org_size);
246
252k
  lex_state->script_filtered = SCNG(script_filtered);
247
252k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
252k
  lex_state->input_filter = SCNG(input_filter);
249
252k
  lex_state->output_filter = SCNG(output_filter);
250
252k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
252k
  lex_state->on_event = SCNG(on_event);
253
252k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
252k
  lex_state->ast = CG(ast);
256
252k
  lex_state->ast_arena = CG(ast_arena);
257
252k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
246k
{
261
246k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
246k
  SCNG(yy_start)  = lex_state->yy_start;
263
246k
  SCNG(yy_text)   = lex_state->yy_text;
264
246k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
246k
  SCNG(yy_marker) = lex_state->yy_marker;
266
246k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
246k
  zend_stack_destroy(&SCNG(state_stack));
269
246k
  SCNG(state_stack) = lex_state->state_stack;
270
271
246k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
246k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
246k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
246k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
246k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
246k
  SCNG(yy_in) = lex_state->in;
279
246k
  YYSETCONDITION(lex_state->yy_state);
280
246k
  CG(zend_lineno) = lex_state->lineno;
281
246k
  zend_restore_compiled_filename(lex_state->filename);
282
283
246k
  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
246k
  SCNG(script_org) = lex_state->script_org;
288
246k
  SCNG(script_org_size) = lex_state->script_org_size;
289
246k
  SCNG(script_filtered) = lex_state->script_filtered;
290
246k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
246k
  SCNG(input_filter) = lex_state->input_filter;
292
246k
  SCNG(output_filter) = lex_state->output_filter;
293
246k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
246k
  SCNG(on_event) = lex_state->on_event;
296
246k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
246k
  CG(ast) = lex_state->ast;
299
246k
  CG(ast_arena) = lex_state->ast_arena;
300
301
246k
  RESET_DOC_COMMENT();
302
246k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
10.7k
{
306
10.7k
  unsigned char *end = ident;
307
68.2k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
57.5k
    end++;
309
57.5k
  }
310
311
10.7k
  size_t length = end - ident;
312
10.7k
  if (length == 0) {
313
7
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
7
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
7
    return FAILURE;
316
7
  }
317
318
10.7k
  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
10.7k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
10.7k
  return SUCCESS;
324
10.7k
}
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
97.0k
{
532
97.0k
  char *buf;
533
97.0k
  size_t size;
534
97.0k
  zend_string *compiled_filename;
535
536
97.0k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
729
    zend_llist_add_element(&CG(open_files), file_handle);
539
729
    file_handle->in_list = 1;
540
729
    return FAILURE;
541
729
  }
542
543
96.2k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
96.2k
  zend_llist_add_element(&CG(open_files), file_handle);
545
95.5k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
95.5k
  SCNG(yy_in) = file_handle;
549
95.5k
  SCNG(yy_start) = NULL;
550
551
95.5k
  if (size != (size_t)-1) {
552
95.5k
    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
95.5k
    SCNG(yy_start) = (unsigned char *)buf;
569
95.5k
    yy_scan_buffer(buf, size);
570
95.5k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
95.5k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
95.5k
  } else {
577
95.5k
    BEGIN(INITIAL);
578
95.5k
  }
579
580
95.5k
  if (file_handle->opened_path) {
581
54
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
95.5k
  } else {
583
95.5k
    compiled_filename = zend_string_copy(file_handle->filename);
584
95.5k
  }
585
586
95.5k
  zend_set_compiled_filename(compiled_filename);
587
95.5k
  zend_string_release_ex(compiled_filename, 0);
588
589
95.5k
  SCNG(on_event) = NULL;
590
95.5k
  SCNG(on_event_context) = NULL;
591
95.5k
  RESET_DOC_COMMENT();
592
95.5k
  CG(zend_lineno) = 1;
593
95.5k
  CG(increment_lineno) = 0;
594
95.5k
  return SUCCESS;
595
95.5k
}
596
597
static zend_op_array *zend_compile(int type)
598
99.5k
{
599
99.5k
  zend_op_array *op_array = NULL;
600
99.5k
  bool original_in_compilation = CG(in_compilation);
601
602
99.5k
  CG(in_compilation) = 1;
603
99.5k
  CG(ast) = NULL;
604
99.5k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
99.5k
  if (!zendparse()) {
607
72.3k
    uint32_t last_lineno = CG(zend_lineno);
608
72.3k
    zend_file_context original_file_context;
609
72.3k
    zend_oparray_context original_oparray_context;
610
72.3k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
72.3k
    op_array = emalloc(sizeof(zend_op_array));
613
72.3k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
72.3k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
72.3k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
72.3k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
72.3k
    zend_file_context_begin(&original_file_context);
624
72.3k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
72.3k
    zend_compile_top_stmt(CG(ast));
626
72.3k
    CG(zend_lineno) = last_lineno;
627
72.3k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
72.3k
    op_array->line_start = 1;
629
72.3k
    op_array->line_end = last_lineno;
630
72.3k
    pass_two(op_array);
631
72.3k
    zend_oparray_context_end(&original_oparray_context);
632
72.3k
    zend_file_context_end(&original_file_context);
633
634
72.3k
    CG(active_op_array) = original_active_op_array;
635
72.3k
  }
636
637
99.5k
  zend_ast_destroy(CG(ast));
638
99.5k
  zend_arena_destroy(CG(ast_arena));
639
640
99.5k
  CG(in_compilation) = original_in_compilation;
641
642
99.5k
  return op_array;
643
99.5k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
97.0k
{
647
97.0k
  zend_lex_state original_lex_state;
648
97.0k
  zend_op_array *op_array = NULL;
649
97.0k
  zend_save_lexical_state(&original_lex_state);
650
651
97.0k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
729
    if (!EG(exception)) {
653
696
      if (type==ZEND_REQUIRE) {
654
674
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
674
      } else {
656
22
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
22
      }
658
696
    }
659
96.2k
  } else {
660
96.2k
    bool orig_record_errors = EG(record_errors);
661
96.2k
    if (!orig_record_errors) {
662
63
      zend_begin_record_errors();
663
63
    }
664
665
96.2k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
96.2k
    if (!orig_record_errors) {
668
63
      zend_emit_recorded_errors();
669
63
      zend_free_recorded_errors();
670
63
    }
671
96.2k
  }
672
673
97.0k
  zend_restore_lexical_state(&original_lex_state);
674
97.0k
  return op_array;
675
97.0k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
12
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
12
  zval code_zv;
680
12
  bool original_in_compilation;
681
12
  zend_lex_state original_lex_state;
682
12
  zend_ast *ast;
683
684
12
  ZVAL_STR_COPY(&code_zv, code);
685
686
12
  original_in_compilation = CG(in_compilation);
687
12
  CG(in_compilation) = 1;
688
689
12
  zend_save_lexical_state(&original_lex_state);
690
12
  zend_prepare_string_for_scanning(&code_zv, filename);
691
12
  CG(ast) = NULL;
692
12
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
12
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
12
  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
12
  ast = CG(ast);
703
12
  *ast_arena = CG(ast_arena);
704
705
12
  zend_restore_lexical_state(&original_lex_state);
706
12
  CG(in_compilation) = original_in_compilation;
707
708
12
  zval_ptr_dtor_str(&code_zv);
709
710
12
  return ast;
711
12
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
99.3k
{
715
99.3k
  zend_file_handle file_handle;
716
99.3k
  zend_op_array *retval;
717
99.3k
  zend_string *opened_path = NULL;
718
719
99.3k
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
99.3k
  retval = zend_compile_file(&file_handle, type);
722
99.3k
  if (retval && file_handle.handle.stream.handle) {
723
61
    if (!file_handle.opened_path) {
724
8
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
8
    }
726
727
61
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
61
    if (opened_path) {
730
8
      zend_string_release_ex(opened_path, 0);
731
8
    }
732
61
  }
733
99.3k
  zend_destroy_file_handle(&file_handle);
734
735
99.3k
  return retval;
736
99.3k
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
23.8k
{
740
23.8k
  char *buf;
741
23.8k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
23.8k
  old_len = Z_STRLEN_P(str);
745
23.8k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
23.8k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
23.8k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
23.8k
  SCNG(yy_in) = NULL;
750
23.8k
  SCNG(yy_start) = NULL;
751
752
23.8k
  buf = Z_STRVAL_P(str);
753
23.8k
  size = old_len;
754
755
23.8k
  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
23.8k
  yy_scan_buffer(buf, size);
773
23.8k
  zend_set_compiled_filename(filename);
774
23.8k
  CG(zend_lineno) = 1;
775
23.8k
  CG(increment_lineno) = 0;
776
23.8k
  SCNG(on_event) = NULL;
777
23.8k
  SCNG(on_event_context) = NULL;
778
23.8k
  RESET_DOC_COMMENT();
779
23.8k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
55
{
784
55
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
55
  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
55
  return offset;
801
55
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
4.00k
{
805
4.00k
  zend_lex_state original_lex_state;
806
4.00k
  zend_op_array *op_array = NULL;
807
4.00k
  zval tmp;
808
4.00k
  zend_string *filename_str;
809
810
4.00k
  if (ZSTR_LEN(source_string) == 0) {
811
22
    return NULL;
812
22
  }
813
814
3.98k
  ZVAL_STR_COPY(&tmp, source_string);
815
816
3.98k
  zend_save_lexical_state(&original_lex_state);
817
3.98k
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
3.98k
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
3.98k
  zend_string_release(filename_str);
820
821
3.98k
  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
3.98k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
3.98k
      BEGIN(ST_IN_SCRIPTING);
830
3.98k
      break;
831
3.98k
  }
832
833
3.98k
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
3.98k
  zend_restore_lexical_state(&original_lex_state);
836
3.98k
  zval_ptr_dtor(&tmp);
837
838
3.98k
  return op_array;
839
3.98k
}
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
19.9k
{
867
19.9k
  zend_lex_state original_lex_state;
868
19.9k
  zval str_zv;
869
19.9k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
19.9k
  ZVAL_STR_COPY(&str_zv, str);
871
19.9k
  zend_save_lexical_state(&original_lex_state);
872
19.9k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
19.9k
  zend_string_release(filename_str);
874
19.9k
  BEGIN(INITIAL);
875
19.9k
  zend_highlight(syntax_highlighter_ini);
876
19.9k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
19.9k
  zend_restore_lexical_state(&original_lex_state);
881
19.9k
  zval_ptr_dtor(&str_zv);
882
19.9k
}
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
5.76M
  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
5.76M
  } else if (yyleng == 1) { \
928
1.94M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
3.81M
  } else { \
930
3.81M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
3.81M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
636k
{
935
636k
  char *s, *t;
936
636k
  char *end;
937
938
636k
  if (len <= 1) {
939
162k
    if (len < 1) {
940
25.4k
      ZVAL_EMPTY_STRING(zendlval);
941
137k
    } else {
942
137k
      zend_uchar c = (zend_uchar)*str;
943
137k
      HANDLE_NEWLINE(c);
944
137k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
137k
    }
946
162k
    goto skip_escape_conversion;
947
162k
  }
948
949
474k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
474k
  s = Z_STRVAL_P(zendlval);
953
474k
  end = s+Z_STRLEN_P(zendlval);
954
13.7M
  while (1) {
955
13.7M
    if (UNEXPECTED(*s=='\\')) {
956
118k
      break;
957
118k
    }
958
13.5M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
392k
      CG(zend_lineno)++;
960
392k
    }
961
13.5M
    s++;
962
13.5M
    if (s == end) {
963
355k
      goto skip_escape_conversion;
964
355k
    }
965
13.5M
  }
966
967
118k
  t = s;
968
4.28M
  while (s<end) {
969
4.16M
    if (*s=='\\') {
970
293k
      s++;
971
293k
      if (s >= end) {
972
1.71k
        *t++ = '\\';
973
1.71k
        break;
974
1.71k
      }
975
976
292k
      switch(*s) {
977
48.5k
        case 'n':
978
48.5k
          *t++ = '\n';
979
48.5k
          break;
980
991
        case 'r':
981
991
          *t++ = '\r';
982
991
          break;
983
1.17k
        case 't':
984
1.17k
          *t++ = '\t';
985
1.17k
          break;
986
2.00k
        case 'f':
987
2.00k
          *t++ = '\f';
988
2.00k
          break;
989
2.45k
        case 'v':
990
2.45k
          *t++ = '\v';
991
2.45k
          break;
992
454
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
454
          *t++ = '\e';
997
454
#endif
998
454
          break;
999
1.74k
        case '"':
1000
4.75k
        case '`':
1001
4.75k
          if (*s != quote_type) {
1002
1.23k
            *t++ = '\\';
1003
1.23k
            *t++ = *s;
1004
1.23k
            break;
1005
1.23k
          }
1006
3.52k
          ZEND_FALLTHROUGH;
1007
89.7k
        case '\\':
1008
90.8k
        case '$':
1009
90.8k
          *t++ = *s;
1010
90.8k
          break;
1011
9.79k
        case 'x':
1012
12.7k
        case 'X':
1013
12.7k
          if (ZEND_IS_HEX(*(s+1))) {
1014
8.07k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
8.07k
            hex_buf[0] = *(++s);
1017
8.07k
            if (ZEND_IS_HEX(*(s+1))) {
1018
4.72k
              hex_buf[1] = *(++s);
1019
4.72k
            }
1020
8.07k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
8.07k
          } else {
1022
4.66k
            *t++ = '\\';
1023
4.66k
            *t++ = *s;
1024
4.66k
          }
1025
12.7k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
3.01k
        case 'u':
1028
3.01k
          {
1029
            /* cache where we started so we can parse after validating */
1030
3.01k
            char *start = s + 1;
1031
3.01k
            size_t len = 0;
1032
3.01k
            bool valid = 1;
1033
3.01k
            unsigned long codepoint;
1034
1035
3.01k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
847
              *t++ = '\\';
1040
847
              *t++ = 'u';
1041
847
              break;
1042
2.16k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
2.16k
              s++;
1045
2.16k
              len++;
1046
2.16k
              s++;
1047
7.94k
              while (*s != '}') {
1048
6.53k
                if (!ZEND_IS_HEX(*s)) {
1049
756
                  valid = 0;
1050
756
                  break;
1051
5.77k
                } else {
1052
5.77k
                  len++;
1053
5.77k
                }
1054
5.77k
                s++;
1055
5.77k
              }
1056
2.16k
              if (*s == '}') {
1057
1.41k
                valid = 1;
1058
1.41k
                len++;
1059
1.41k
              }
1060
2.16k
            }
1061
1062
            /* \u{} is invalid */
1063
2.16k
            if (len <= 2) {
1064
630
              valid = 0;
1065
630
            }
1066
1067
2.16k
            if (!valid) {
1068
792
              zend_throw_exception(zend_ce_parse_error,
1069
792
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
792
              zval_ptr_dtor(zendlval);
1071
792
              ZVAL_UNDEF(zendlval);
1072
792
              return FAILURE;
1073
792
            }
1074
1075
2.16k
            errno = 0;
1076
1.37k
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
1.37k
            if (codepoint > 0x10FFFF || errno) {
1080
81
              zend_throw_exception(zend_ce_parse_error,
1081
81
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
81
              zval_ptr_dtor(zendlval);
1083
81
              ZVAL_UNDEF(zendlval);
1084
81
              return FAILURE;
1085
81
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
1.29k
            if (codepoint < 0x80) {
1089
218
              *t++ = codepoint;
1090
1.07k
            } else if (codepoint <= 0x7FF) {
1091
132
              *t++ = (codepoint >> 6) + 0xC0;
1092
132
              *t++ = (codepoint & 0x3F) + 0x80;
1093
945
            } else if (codepoint <= 0xFFFF) {
1094
760
              *t++ = (codepoint >> 12) + 0xE0;
1095
760
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
760
              *t++ = (codepoint & 0x3F) + 0x80;
1097
760
            } else if (codepoint <= 0x10FFFF) {
1098
185
              *t++ = (codepoint >> 18) + 0xF0;
1099
185
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
185
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
185
              *t++ = (codepoint & 0x3F) + 0x80;
1102
185
            }
1103
1.29k
          }
1104
0
          break;
1105
128k
        default:
1106
          /* check for an octal */
1107
128k
          if (ZEND_IS_OCT(*s)) {
1108
25.5k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
25.5k
            octal_buf[0] = *s;
1111
25.5k
            if (ZEND_IS_OCT(*(s+1))) {
1112
5.98k
              octal_buf[1] = *(++s);
1113
5.98k
              if (ZEND_IS_OCT(*(s+1))) {
1114
2.55k
                octal_buf[2] = *(++s);
1115
2.55k
              }
1116
5.98k
            }
1117
25.5k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
245
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
245
            }
1121
1122
25.5k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
103k
          } else {
1124
103k
            *t++ = '\\';
1125
103k
            *t++ = *s;
1126
103k
          }
1127
128k
          break;
1128
292k
      }
1129
3.87M
    } else {
1130
3.87M
      *t++ = *s;
1131
3.87M
    }
1132
1133
4.16M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
112k
      CG(zend_lineno)++;
1135
112k
    }
1136
4.16M
    s++;
1137
4.16M
  }
1138
117k
  *t = 0;
1139
117k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
635k
skip_escape_conversion:
1142
635k
  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
635k
  return SUCCESS;
1153
117k
}
1154
1155
587k
#define HEREDOC_USING_SPACES 1
1156
39.7k
#define HEREDOC_USING_TABS 2
1157
1158
188k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
2.36M
  for (; str < end; str++) {
1160
2.28M
    if (*str == '\r') {
1161
13.4k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
13.4k
      return str;
1163
2.27M
    } else if (*str == '\n') {
1164
92.3k
      *newline_len = 1;
1165
92.3k
      return str;
1166
92.3k
    }
1167
2.28M
  }
1168
82.3k
  *newline_len = 0;
1169
82.3k
  return NULL;
1170
188k
}
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
78.9k
{
1176
78.9k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
78.9k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
78.9k
  uint32_t newline_count = 0;
1180
78.9k
  size_t newline_len;
1181
78.9k
  const char *nl;
1182
1183
78.9k
  if (!newline_at_start) {
1184
50.4k
    nl = next_newline(str, end, &newline_len);
1185
50.4k
    if (!nl) {
1186
31.1k
      return 1;
1187
31.1k
    }
1188
1189
19.2k
    str = nl + newline_len;
1190
19.2k
    copy = (char *) nl + newline_len;
1191
19.2k
    newline_count++;
1192
28.5k
  } else {
1193
28.5k
    nl = str;
1194
28.5k
  }
1195
1196
  /* <= intentional */
1197
160k
  while (str <= end && nl) {
1198
137k
    size_t skip;
1199
137k
    nl = next_newline(str, end, &newline_len);
1200
137k
    if (!nl && newline_at_end) {
1201
7.38k
      nl = end;
1202
7.38k
    }
1203
1204
    /* Try to skip indentation */
1205
140k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
2.95k
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
460
        break;
1209
460
      }
1210
1211
2.49k
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
58
        CG(zend_lineno) += newline_count;
1213
58
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
58
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
58
        goto error;
1216
58
      }
1217
1218
2.44k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
24
        CG(zend_lineno) += newline_count;
1220
24
        zend_throw_exception(zend_ce_parse_error,
1221
24
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
24
        goto error;
1223
24
      }
1224
2.44k
    }
1225
1226
137k
    if (str == end) {
1227
25.0k
      break;
1228
25.0k
    }
1229
1230
112k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
112k
    memmove(copy, str, len);
1232
112k
    str += len;
1233
112k
    copy += len;
1234
112k
    newline_count++;
1235
112k
  }
1236
1237
47.7k
  *copy = '\0';
1238
47.7k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
47.7k
  return 1;
1240
1241
82
error:
1242
82
  zval_ptr_dtor_str(zendlval);
1243
82
  ZVAL_UNDEF(zendlval);
1244
1245
82
  return 0;
1246
47.7k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
2.12M
{
1250
2.12M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
2.12M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
2.12M
  *new_heredoc_label = *heredoc_label;
1254
2.12M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
2.12M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
2.12M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
219k
{
1262
219k
  char   buf[256];
1263
219k
  size_t used = 0;
1264
1265
219k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
219k
  if (opening_lineno != CG(zend_lineno)) {
1268
115k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
115k
  }
1270
1271
219k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
108k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
108k
  }
1274
1275
219k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
219k
}
1277
1278
static void enter_nesting(char opening)
1279
5.68M
{
1280
5.68M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
5.68M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
5.68M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
1.24M
{
1286
1.24M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
11.7k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
11.7k
    return FAILURE;
1289
11.7k
  }
1290
1291
1.23M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
1.23M
  char opening = nest_loc->text;
1293
1294
1.23M
  if ((opening == '{' && closing != '}') ||
1295
1.18M
      (opening == '[' && closing != ']') ||
1296
1.17M
      (opening == '(' && closing != ')')) {
1297
108k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
108k
    return FAILURE;
1299
108k
  }
1300
1301
1.12M
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
1.12M
  return SUCCESS;
1303
1.23M
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
197k
{
1307
197k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
111k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
111k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
111k
    return FAILURE;
1311
111k
  }
1312
1313
85.8k
  return SUCCESS;
1314
197k
}
1315
1316
#define PARSER_MODE() \
1317
16.6M
  EXPECTED(elem != NULL)
1318
1319
23.1M
#define RETURN_TOKEN(_token) do { \
1320
23.1M
    token = _token; \
1321
23.1M
    goto emit_token; \
1322
23.1M
  } while (0)
1323
1324
2.91M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
2.91M
    token = _token; \
1326
2.91M
    goto emit_token_with_val; \
1327
2.91M
  } while (0)
1328
1329
5.76M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
5.76M
    token = _token; \
1331
5.76M
    offset = _offset; \
1332
5.76M
    goto emit_token_with_str; \
1333
5.76M
  } while (0)
1334
1335
1.13M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
1.13M
    token = _token; \
1337
1.13M
    goto emit_token_with_ident; \
1338
1.13M
  } while (0)
1339
1340
944k
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
944k
    token = _token; \
1342
944k
    if (PARSER_MODE()) { \
1343
223k
      goto skip_token; \
1344
223k
    } \
1345
944k
    goto emit_token; \
1346
944k
  } while (0)
1347
1348
1.24M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
1.24M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
185
      RETURN_TOKEN(T_ERROR); \
1351
1.24M
    } else { \
1352
1.24M
      RETURN_TOKEN(_token); \
1353
1.24M
    } \
1354
1.24M
  } while(0)
1355
1356
197k
#define RETURN_END_TOKEN do { \
1357
197k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
4.06k
      RETURN_TOKEN(T_ERROR); \
1359
193k
    } else { \
1360
193k
      RETURN_TOKEN(END); \
1361
193k
    } \
1362
197k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
36.6M
{
1366
36.6M
int token;
1367
36.6M
int offset;
1368
36.6M
uint32_t start_line = CG(zend_lineno);
1369
1370
36.6M
  ZVAL_UNDEF(zendlval);
1371
42.4M
restart:
1372
42.4M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
42.4M
#line 1376 "Zend/zend_language_scanner.c"
1376
42.4M
{
1377
42.4M
  YYCTYPE yych;
1378
42.4M
  unsigned int yyaccept = 0;
1379
42.4M
  if (YYGETCONDITION() < 5) {
1380
38.6M
    if (YYGETCONDITION() < 2) {
1381
33.3M
      if (YYGETCONDITION() < 1) {
1382
33.0M
        goto yyc_ST_IN_SCRIPTING;
1383
33.0M
      } else {
1384
358k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
358k
      }
1386
33.3M
    } else {
1387
5.27M
      if (YYGETCONDITION() < 3) {
1388
173k
        goto yyc_ST_BACKQUOTE;
1389
5.10M
      } else {
1390
5.10M
        if (YYGETCONDITION() < 4) {
1391
555k
          goto yyc_ST_DOUBLE_QUOTES;
1392
4.54M
        } else {
1393
4.54M
          goto yyc_ST_HEREDOC;
1394
4.54M
        }
1395
5.10M
      }
1396
5.27M
    }
1397
38.6M
  } else {
1398
3.82M
    if (YYGETCONDITION() < 8) {
1399
3.43M
      if (YYGETCONDITION() < 6) {
1400
3.23M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
3.23M
      } else {
1402
197k
        if (YYGETCONDITION() < 7) {
1403
197k
          goto yyc_ST_VAR_OFFSET;
1404
197k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
197k
      }
1408
3.43M
    } else {
1409
392k
      if (YYGETCONDITION() < 9) {
1410
364k
        goto yyc_INITIAL;
1411
364k
      } else {
1412
28.2k
        if (YYGETCONDITION() < 10) {
1413
19.9k
          goto yyc_ST_END_HEREDOC;
1414
19.9k
        } else {
1415
8.34k
          goto yyc_ST_NOWDOC;
1416
8.34k
        }
1417
28.2k
      }
1418
392k
    }
1419
3.82M
  }
1420
/* *********************************** */
1421
33.0M
yyc_ST_IN_SCRIPTING:
1422
33.0M
  {
1423
33.0M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
33.0M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
33.0M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
33.0M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
33.0M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
33.0M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
33.0M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
33.0M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
33.0M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
33.0M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
33.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
33.0M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
33.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
33.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
33.0M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
33.0M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
33.0M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
33.0M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
33.0M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
33.0M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
33.0M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
33.0M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
33.0M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
33.0M
    };
1491
33.0M
    YYDEBUG(1, *YYCURSOR);
1492
33.0M
    YYFILL(16);
1493
33.0M
    yych = *YYCURSOR;
1494
33.0M
    if (yybm[256+yych] & 32) {
1495
5.28M
      goto yy5;
1496
5.28M
    }
1497
27.7M
    switch (yych) {
1498
4.14M
    case 0x00:
1499
4.24M
    case 0x01:
1500
4.28M
    case 0x02:
1501
4.32M
    case 0x03:
1502
4.45M
    case 0x04:
1503
4.49M
    case 0x05:
1504
4.51M
    case 0x06:
1505
4.56M
    case 0x07:
1506
4.62M
    case 0x08:
1507
4.62M
    case '\t':
1508
4.62M
    case '\n':
1509
4.68M
    case '\v':
1510
4.73M
    case '\f':
1511
4.73M
    case '\r':
1512
4.79M
    case 0x0E:
1513
4.83M
    case 0x0F:
1514
4.85M
    case 0x10:
1515
4.87M
    case 0x11:
1516
4.89M
    case 0x12:
1517
4.94M
    case 0x13:
1518
4.96M
    case 0x14:
1519
4.97M
    case 0x15:
1520
4.99M
    case 0x16:
1521
5.01M
    case 0x17:
1522
5.02M
    case 0x18:
1523
5.05M
    case 0x19:
1524
5.06M
    case 0x1A:
1525
5.07M
    case 0x1B:
1526
5.27M
    case 0x1C:
1527
5.32M
    case 0x1D:
1528
5.41M
    case 0x1E:
1529
5.44M
    case 0x1F:
1530
5.46M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
159k
    case '!': goto yy8;
1533
303k
    case '"': goto yy10;
1534
602k
    case '#': goto yy12;
1535
1.51M
    case '$': goto yy14;
1536
59.3k
    case '%': goto yy15;
1537
176k
    case '&': goto yy16;
1538
281k
    case '\'':  goto yy18;
1539
996k
    case '(': goto yy20;
1540
703k
    case ')':
1541
917k
    case ']': goto yy22;
1542
110k
    case '*': goto yy24;
1543
170k
    case '+': goto yy25;
1544
748k
    case ',':
1545
1.57M
    case ';':
1546
2.03M
    case '@':
1547
2.09M
    case '~': goto yy26;
1548
333k
    case '-': goto yy27;
1549
347k
    case '.': goto yy28;
1550
271k
    case '/': goto yy29;
1551
199k
    case '0': goto yy30;
1552
194k
    case '1':
1553
333k
    case '2':
1554
426k
    case '3':
1555
542k
    case '4':
1556
606k
    case '5':
1557
652k
    case '6':
1558
680k
    case '7':
1559
727k
    case '8':
1560
765k
    case '9': goto yy32;
1561
187k
    case ':': goto yy34;
1562
4.44M
    case '<': goto yy35;
1563
514k
    case '=': goto yy36;
1564
72.5k
    case '>': goto yy37;
1565
538k
    case '?': goto yy38;
1566
66.7k
    case 'A':
1567
208k
    case 'a': goto yy39;
1568
49.6k
    case 'B':
1569
99.3k
    case 'b': goto yy41;
1570
66.5k
    case 'C':
1571
320k
    case 'c': goto yy42;
1572
49.5k
    case 'D':
1573
119k
    case 'd': goto yy43;
1574
75.2k
    case 'E':
1575
584k
    case 'e': goto yy44;
1576
54.0k
    case 'F':
1577
423k
    case 'f': goto yy45;
1578
14.2k
    case 'G':
1579
77.0k
    case 'g': goto yy46;
1580
63.8k
    case 'I':
1581
276k
    case 'i': goto yy49;
1582
9.74k
    case 'L':
1583
50.7k
    case 'l': goto yy50;
1584
27.1k
    case 'M':
1585
83.0k
    case 'm': goto yy51;
1586
38.4k
    case 'N':
1587
214k
    case 'n': goto yy52;
1588
35.8k
    case 'O':
1589
115k
    case 'o': goto yy53;
1590
61.6k
    case 'P':
1591
374k
    case 'p': goto yy54;
1592
15.1k
    case 'R':
1593
136k
    case 'r': goto yy55;
1594
25.2k
    case 'S':
1595
180k
    case 's': goto yy56;
1596
41.6k
    case 'T':
1597
200k
    case 't': goto yy57;
1598
7.54k
    case 'U':
1599
74.2k
    case 'u': goto yy58;
1600
8.51k
    case 'V':
1601
122k
    case 'v': goto yy59;
1602
13.5k
    case 'W':
1603
29.0k
    case 'w': goto yy60;
1604
15.4k
    case 'X':
1605
32.4k
    case 'x': goto yy61;
1606
7.96k
    case 'Y':
1607
120k
    case 'y': goto yy62;
1608
235k
    case '[': goto yy63;
1609
212k
    case '\\':  goto yy64;
1610
77.4k
    case '^': goto yy66;
1611
212k
    case '_': goto yy67;
1612
55.5k
    case '`': goto yy68;
1613
1.16M
    case '{': goto yy70;
1614
108k
    case '|': goto yy72;
1615
326k
    case '}': goto yy73;
1616
979k
    default:  goto yy47;
1617
27.7M
    }
1618
5.46M
yy3:
1619
5.46M
    YYDEBUG(3, *YYCURSOR);
1620
5.46M
    ++YYCURSOR;
1621
5.46M
    YYDEBUG(4, *YYCURSOR);
1622
5.46M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
5.46M
#line 3180 "Zend/zend_language_scanner.l"
1624
5.46M
    {
1625
5.46M
  if (YYCURSOR > YYLIMIT) {
1626
105k
    RETURN_END_TOKEN;
1627
105k
  }
1628
1629
5.36M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
5.36M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
8.36M
yy5:
1633
8.36M
    YYDEBUG(5, *YYCURSOR);
1634
8.36M
    ++YYCURSOR;
1635
8.36M
    YYFILL(1);
1636
8.36M
    yych = *YYCURSOR;
1637
8.36M
    YYDEBUG(6, *YYCURSOR);
1638
8.36M
    if (yybm[256+yych] & 32) {
1639
3.07M
      goto yy5;
1640
3.07M
    }
1641
5.28M
    YYDEBUG(7, *YYCURSOR);
1642
5.28M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
5.28M
#line 1597 "Zend/zend_language_scanner.l"
1644
5.28M
    {
1645
5.28M
  goto return_whitespace;
1646
8.36M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
159k
yy8:
1649
159k
    YYDEBUG(8, *YYCURSOR);
1650
159k
    yych = *++YYCURSOR;
1651
159k
    if (yych == '=') goto yy75;
1652
5.45M
yy9:
1653
5.45M
    YYDEBUG(9, *YYCURSOR);
1654
5.45M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
5.45M
#line 1969 "Zend/zend_language_scanner.l"
1656
5.45M
    {
1657
5.45M
  RETURN_TOKEN(yytext[0]);
1658
5.45M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
304k
yy10:
1661
304k
    YYDEBUG(10, *YYCURSOR);
1662
304k
    ++YYCURSOR;
1663
304k
    YYDEBUG(11, *YYCURSOR);
1664
304k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
304k
#line 2632 "Zend/zend_language_scanner.l"
1666
304k
    {
1667
304k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
7.90M
  while (YYCURSOR < YYLIMIT) {
1670
7.90M
    switch (*YYCURSOR++) {
1671
219k
      case '"':
1672
219k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
219k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
219k
         || !PARSER_MODE()) {
1675
219k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
219k
        } else {
1677
10
          RETURN_TOKEN(T_ERROR);
1678
10
        }
1679
97.2k
      case '$':
1680
97.2k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
74.5k
          break;
1682
74.5k
        }
1683
22.6k
        continue;
1684
33.7k
      case '{':
1685
33.7k
        if (*YYCURSOR == '$') {
1686
3.50k
          break;
1687
3.50k
        }
1688
30.1k
        continue;
1689
214k
      case '\\':
1690
214k
        if (YYCURSOR < YYLIMIT) {
1691
213k
          YYCURSOR++;
1692
213k
        }
1693
214k
        ZEND_FALLTHROUGH;
1694
7.55M
      default:
1695
7.55M
        continue;
1696
7.90M
    }
1697
1698
78.0k
    YYCURSOR--;
1699
78.0k
    break;
1700
7.90M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
304k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
84.7k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
84.7k
  BEGIN(ST_DOUBLE_QUOTES);
1708
84.7k
  RETURN_TOKEN('"');
1709
84.7k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
602k
yy12:
1712
602k
    YYDEBUG(12, *YYCURSOR);
1713
602k
    yych = *++YYCURSOR;
1714
602k
    if (yych == '[') goto yy77;
1715
655k
yy13:
1716
655k
    YYDEBUG(13, *YYCURSOR);
1717
655k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
655k
#line 2460 "Zend/zend_language_scanner.l"
1719
655k
    {
1720
6.56M
  while (YYCURSOR < YYLIMIT) {
1721
6.56M
    switch (*YYCURSOR++) {
1722
194k
      case '\r':
1723
647k
      case '\n':
1724
647k
        YYCURSOR--;
1725
647k
        break;
1726
33.4k
      case '?':
1727
33.4k
        if (*YYCURSOR == '>') {
1728
2.66k
          YYCURSOR--;
1729
2.66k
          break;
1730
2.66k
        }
1731
30.7k
        ZEND_FALLTHROUGH;
1732
5.91M
      default:
1733
5.91M
        continue;
1734
6.56M
    }
1735
1736
649k
    break;
1737
6.56M
  }
1738
1739
655k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
655k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
655k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
1.51M
yy14:
1744
1.51M
    YYDEBUG(14, *YYCURSOR);
1745
1.51M
    yych = *++YYCURSOR;
1746
1.51M
    if (yych <= '_') {
1747
214k
      if (yych <= '@') goto yy9;
1748
36.3k
      if (yych <= 'Z') goto yy79;
1749
9.41k
      if (yych <= '^') goto yy9;
1750
4.29k
      goto yy79;
1751
1.29M
    } else {
1752
1.29M
      if (yych <= '`') goto yy9;
1753
1.29M
      if (yych <= 'z') goto yy79;
1754
479k
      if (yych <= 0x7F) goto yy9;
1755
62.9k
      goto yy79;
1756
479k
    }
1757
59.3k
yy15:
1758
59.3k
    YYDEBUG(15, *YYCURSOR);
1759
59.3k
    yych = *++YYCURSOR;
1760
59.3k
    if (yych == '=') goto yy82;
1761
58.1k
    goto yy9;
1762
176k
yy16:
1763
176k
    YYDEBUG(16, *YYCURSOR);
1764
176k
    yyaccept = 0;
1765
176k
    yych = *(YYMARKER = ++YYCURSOR);
1766
176k
    if (yych <= '"') {
1767
61.9k
      if (yych <= '\f') {
1768
37.9k
        if (yych <= 0x08) goto yy17;
1769
35.7k
        if (yych <= '\n') goto yy85;
1770
35.7k
      } else {
1771
23.9k
        if (yych <= '\r') goto yy85;
1772
18.7k
        if (yych == ' ') goto yy85;
1773
18.7k
      }
1774
114k
    } else {
1775
114k
      if (yych <= '-') {
1776
44.0k
        if (yych <= '$') goto yy85;
1777
27.2k
        if (yych == '&') goto yy90;
1778
70.0k
      } else {
1779
70.0k
        if (yych <= '/') goto yy85;
1780
67.1k
        if (yych == '=') goto yy94;
1781
67.1k
      }
1782
114k
    }
1783
114k
yy17:
1784
114k
    YYDEBUG(17, *YYCURSOR);
1785
114k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
114k
#line 1955 "Zend/zend_language_scanner.l"
1787
114k
    {
1788
114k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
114k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
282k
yy18:
1792
282k
    YYDEBUG(18, *YYCURSOR);
1793
282k
    ++YYCURSOR;
1794
282k
    YYDEBUG(19, *YYCURSOR);
1795
282k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
282k
#line 2538 "Zend/zend_language_scanner.l"
1797
282k
    {
1798
282k
  char *s, *t;
1799
282k
  char *end;
1800
282k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
34.0M
  while (1) {
1803
34.0M
    if (YYCURSOR < YYLIMIT) {
1804
34.0M
      if (*YYCURSOR == '\'') {
1805
272k
        YYCURSOR++;
1806
272k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
272k
        break;
1809
33.8M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
99.1k
        YYCURSOR++;
1811
99.1k
      }
1812
34.0M
    } else {
1813
9.75k
      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
9.75k
      ZVAL_NULL(zendlval);
1819
9.75k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
9.75k
    }
1821
34.0M
  }
1822
1823
272k
  if (yyleng-bprefix-2 <= 1) {
1824
51.9k
    if (yyleng-bprefix-2 < 1) {
1825
12.7k
      ZVAL_EMPTY_STRING(zendlval);
1826
39.2k
    } else {
1827
39.2k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
39.2k
      HANDLE_NEWLINE(c);
1829
39.2k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
39.2k
    }
1831
51.9k
    goto skip_escape_conversion;
1832
51.9k
  }
1833
220k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
220k
  s = Z_STRVAL_P(zendlval);
1837
220k
  end = s+Z_STRLEN_P(zendlval);
1838
23.3M
  while (1) {
1839
23.3M
    if (UNEXPECTED(*s=='\\')) {
1840
32.7k
      break;
1841
32.7k
    }
1842
23.2M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
400k
      CG(zend_lineno)++;
1844
400k
    }
1845
23.2M
    s++;
1846
23.2M
    if (s == end) {
1847
187k
      goto skip_escape_conversion;
1848
187k
    }
1849
23.2M
  }
1850
1851
32.7k
  t = s;
1852
9.47M
  while (s<end) {
1853
9.44M
    if (*s=='\\') {
1854
94.6k
      s++;
1855
94.6k
      if (*s == '\\' || *s == '\'') {
1856
29.4k
        *t++ = *s;
1857
65.2k
      } else {
1858
65.2k
        *t++ = '\\';
1859
65.2k
        *t++ = *s;
1860
65.2k
      }
1861
9.35M
    } else {
1862
9.35M
      *t++ = *s;
1863
9.35M
    }
1864
9.44M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
158k
      CG(zend_lineno)++;
1866
158k
    }
1867
9.44M
    s++;
1868
9.44M
  }
1869
32.7k
  *t = 0;
1870
32.7k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
272k
skip_escape_conversion:
1873
272k
  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
272k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
272k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
996k
yy20:
1891
996k
    YYDEBUG(20, *YYCURSOR);
1892
996k
    yyaccept = 1;
1893
996k
    yych = *(YYMARKER = ++YYCURSOR);
1894
996k
    if (yych <= 'S') {
1895
697k
      if (yych <= 'D') {
1896
646k
        if (yych <= ' ') {
1897
93.6k
          if (yych == '\t') goto yy97;
1898
86.2k
          if (yych >= ' ') goto yy97;
1899
553k
        } else {
1900
553k
          if (yych <= '@') goto yy21;
1901
17.2k
          if (yych != 'C') goto yy97;
1902
17.2k
        }
1903
646k
      } else {
1904
50.1k
        if (yych <= 'I') {
1905
35.0k
          if (yych == 'F') goto yy97;
1906
31.2k
          if (yych >= 'I') goto yy97;
1907
31.2k
        } else {
1908
15.1k
          if (yych == 'O') goto yy97;
1909
11.8k
          if (yych >= 'R') goto yy97;
1910
11.8k
        }
1911
50.1k
      }
1912
697k
    } else {
1913
299k
      if (yych <= 'f') {
1914
125k
        if (yych <= 'b') {
1915
81.6k
          if (yych <= 'T') goto yy21;
1916
76.3k
          if (yych <= 'V') goto yy97;
1917
74.0k
          if (yych >= 'a') goto yy97;
1918
74.0k
        } else {
1919
43.4k
          if (yych == 'd') goto yy97;
1920
36.9k
          if (yych >= 'f') goto yy97;
1921
36.9k
        }
1922
174k
      } else {
1923
174k
        if (yych <= 'o') {
1924
65.5k
          if (yych == 'i') goto yy97;
1925
36.9k
          if (yych >= 'o') goto yy97;
1926
108k
        } else {
1927
108k
          if (yych <= 's') {
1928
49.1k
            if (yych >= 'r') goto yy97;
1929
59.6k
          } else {
1930
59.6k
            if (yych <= 't') goto yy21;
1931
53.0k
            if (yych <= 'v') goto yy97;
1932
53.0k
          }
1933
108k
        }
1934
174k
      }
1935
299k
    }
1936
1.22M
yy21:
1937
1.22M
    YYDEBUG(21, *YYCURSOR);
1938
1.22M
    yyleng = YYCURSOR - SCNG(yy_text);
1939
1.22M
#line 1964 "Zend/zend_language_scanner.l"
1940
1.22M
    {
1941
1.22M
  enter_nesting(yytext[0]);
1942
1.22M
  RETURN_TOKEN(yytext[0]);
1943
1.22M
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
917k
yy22:
1946
917k
    YYDEBUG(22, *YYCURSOR);
1947
917k
    ++YYCURSOR;
1948
917k
    YYDEBUG(23, *YYCURSOR);
1949
917k
    yyleng = YYCURSOR - SCNG(yy_text);
1950
917k
#line 1959 "Zend/zend_language_scanner.l"
1951
917k
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
917k
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
917k
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
110k
yy24:
1957
110k
    YYDEBUG(24, *YYCURSOR);
1958
110k
    yych = *++YYCURSOR;
1959
110k
    if (yych == '*') goto yy108;
1960
82.7k
    if (yych == '=') goto yy110;
1961
78.8k
    goto yy9;
1962
170k
yy25:
1963
170k
    YYDEBUG(25, *YYCURSOR);
1964
170k
    yych = *++YYCURSOR;
1965
170k
    if (yych == '+') goto yy112;
1966
131k
    if (yych == '=') goto yy114;
1967
129k
    goto yy9;
1968
2.09M
yy26:
1969
2.09M
    YYDEBUG(26, *YYCURSOR);
1970
2.09M
    ++YYCURSOR;
1971
2.09M
    goto yy9;
1972
333k
yy27:
1973
333k
    YYDEBUG(27, *YYCURSOR);
1974
333k
    yych = *++YYCURSOR;
1975
333k
    if (yych <= '<') {
1976
147k
      if (yych == '-') goto yy116;
1977
121k
      goto yy9;
1978
186k
    } else {
1979
186k
      if (yych <= '=') goto yy118;
1980
184k
      if (yych <= '>') goto yy120;
1981
71.7k
      goto yy9;
1982
184k
    }
1983
347k
yy28:
1984
347k
    YYDEBUG(28, *YYCURSOR);
1985
347k
    yyaccept = 2;
1986
347k
    yych = *(YYMARKER = ++YYCURSOR);
1987
347k
    if (yych <= '/') {
1988
161k
      if (yych == '.') goto yy122;
1989
105k
      goto yy9;
1990
185k
    } else {
1991
185k
      if (yych <= '9') goto yy123;
1992
138k
      if (yych == '=') goto yy126;
1993
49.2k
      goto yy9;
1994
138k
    }
1995
271k
yy29:
1996
271k
    YYDEBUG(29, *YYCURSOR);
1997
271k
    yych = *++YYCURSOR;
1998
271k
    if (yych <= '.') {
1999
132k
      if (yych == '*') goto yy128;
2000
42.5k
      goto yy9;
2001
138k
    } else {
2002
138k
      if (yych <= '/') goto yy130;
2003
71.2k
      if (yych == '=') goto yy131;
2004
68.3k
      goto yy9;
2005
71.2k
    }
2006
199k
yy30:
2007
199k
    YYDEBUG(30, *YYCURSOR);
2008
199k
    yyaccept = 3;
2009
199k
    yych = *(YYMARKER = ++YYCURSOR);
2010
199k
    if (yych <= 'X') {
2011
135k
      if (yych <= 'N') {
2012
130k
        if (yych == 'B') goto yy134;
2013
129k
        goto yy33;
2014
130k
      } else {
2015
4.97k
        if (yych <= 'O') goto yy136;
2016
4.35k
        if (yych <= 'W') goto yy33;
2017
3.62k
        goto yy137;
2018
4.35k
      }
2019
135k
    } else {
2020
64.6k
      if (yych <= 'n') {
2021
36.6k
        if (yych == 'b') goto yy134;
2022
34.2k
        goto yy33;
2023
36.6k
      } else {
2024
28.0k
        if (yych <= 'o') goto yy136;
2025
24.9k
        if (yych == 'x') goto yy137;
2026
21.9k
        goto yy33;
2027
24.9k
      }
2028
64.6k
    }
2029
876k
yy31:
2030
876k
    YYDEBUG(31, *YYCURSOR);
2031
876k
    yyleng = YYCURSOR - SCNG(yy_text);
2032
876k
#line 2103 "Zend/zend_language_scanner.l"
2033
876k
    {
2034
876k
  size_t len = yyleng;
2035
876k
  char *end, *lnum = yytext;
2036
876k
  bool is_octal = lnum[0] == '0';
2037
876k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
876k
  if (contains_underscores) {
2040
3.78k
    lnum = estrndup(lnum, len);
2041
3.78k
    strip_underscores(lnum, &len);
2042
3.78k
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
876k
  if (is_octal) {
2046
179k
    size_t i;
2047
537k
    for (i = 0; i < len; i++) {
2048
360k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
3.00k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
3.00k
        if (PARSER_MODE()) {
2051
19
          if (contains_underscores) {
2052
2
            efree(lnum);
2053
2
          }
2054
19
          ZVAL_UNDEF(zendlval);
2055
19
          RETURN_TOKEN(T_ERROR);
2056
19
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
2.99k
        len = i;
2060
2.99k
        break;
2061
3.00k
      }
2062
360k
    }
2063
179k
  }
2064
2065
2066
876k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
842k
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
842k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
842k
    ZEND_ASSERT(end == lnum + len);
2071
842k
  } else {
2072
34.0k
    errno = 0;
2073
34.0k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
34.0k
    if (errno == ERANGE) { /* Overflow */
2075
29.0k
      errno = 0;
2076
29.0k
      if (is_octal) { /* octal overflow */
2077
611
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
28.4k
      } else {
2079
28.4k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
28.4k
      }
2081
29.0k
      ZEND_ASSERT(end == lnum + len);
2082
29.0k
      if (contains_underscores) {
2083
2.10k
        efree(lnum);
2084
2.10k
      }
2085
29.0k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
29.0k
    }
2087
5.03k
    ZEND_ASSERT(end == lnum + len);
2088
5.03k
  }
2089
847k
  ZEND_ASSERT(!errno);
2090
847k
  if (contains_underscores) {
2091
1.68k
    efree(lnum);
2092
1.68k
  }
2093
847k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
847k
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
3.21M
yy32:
2097
3.21M
    YYDEBUG(32, *YYCURSOR);
2098
3.21M
    yyaccept = 3;
2099
3.21M
    YYMARKER = ++YYCURSOR;
2100
3.21M
    YYFILL(3);
2101
3.21M
    yych = *YYCURSOR;
2102
3.39M
yy33:
2103
3.39M
    YYDEBUG(33, *YYCURSOR);
2104
3.39M
    if (yybm[256+yych] & 64) {
2105
2.43M
      goto yy32;
2106
2.43M
    }
2107
959k
    if (yych <= 'E') {
2108
714k
      if (yych == '.') goto yy133;
2109
661k
      if (yych <= 'D') goto yy31;
2110
18.0k
      goto yy135;
2111
661k
    } else {
2112
244k
      if (yych <= '_') {
2113
106k
        if (yych <= '^') goto yy31;
2114
15.6k
        goto yy138;
2115
138k
      } else {
2116
138k
        if (yych == 'e') goto yy135;
2117
125k
        goto yy31;
2118
138k
      }
2119
244k
    }
2120
187k
yy34:
2121
187k
    YYDEBUG(34, *YYCURSOR);
2122
187k
    yych = *++YYCURSOR;
2123
187k
    if (yych == ':') goto yy139;
2124
91.7k
    goto yy9;
2125
4.44M
yy35:
2126
4.44M
    YYDEBUG(35, *YYCURSOR);
2127
4.44M
    yych = *++YYCURSOR;
2128
4.44M
    if (yych <= ';') goto yy9;
2129
4.25M
    if (yych <= '<') goto yy141;
2130
609k
    if (yych <= '=') goto yy143;
2131
598k
    if (yych <= '>') goto yy145;
2132
590k
    goto yy9;
2133
590k
yy36:
2134
514k
    YYDEBUG(36, *YYCURSOR);
2135
514k
    yych = *++YYCURSOR;
2136
514k
    if (yych <= '<') goto yy9;
2137
102k
    if (yych <= '=') goto yy146;
2138
67.4k
    if (yych <= '>') goto yy148;
2139
24.1k
    goto yy9;
2140
72.5k
yy37:
2141
72.5k
    YYDEBUG(37, *YYCURSOR);
2142
72.5k
    yych = *++YYCURSOR;
2143
72.5k
    if (yych <= '<') goto yy9;
2144
36.9k
    if (yych <= '=') goto yy150;
2145
32.8k
    if (yych <= '>') goto yy152;
2146
21.6k
    goto yy9;
2147
538k
yy38:
2148
538k
    YYDEBUG(38, *YYCURSOR);
2149
538k
    yyaccept = 2;
2150
538k
    yych = *(YYMARKER = ++YYCURSOR);
2151
538k
    if (yych <= '=') {
2152
222k
      if (yych == '-') goto yy154;
2153
182k
      goto yy9;
2154
316k
    } else {
2155
316k
      if (yych <= '>') goto yy155;
2156
189k
      if (yych <= '?') goto yy157;
2157
141k
      goto yy9;
2158
189k
    }
2159
208k
yy39:
2160
208k
    YYDEBUG(39, *YYCURSOR);
2161
208k
    yyaccept = 4;
2162
208k
    yych = *(YYMARKER = ++YYCURSOR);
2163
208k
    if (yych <= 'S') {
2164
75.0k
      if (yych <= 'M') {
2165
66.3k
        if (yych == 'B') goto yy159;
2166
64.1k
        goto yy48;
2167
66.3k
      } else {
2168
8.74k
        if (yych <= 'N') goto yy160;
2169
7.93k
        if (yych <= 'Q') goto yy48;
2170
6.70k
        if (yych <= 'R') goto yy161;
2171
4.64k
        goto yy162;
2172
6.70k
      }
2173
133k
    } else {
2174
133k
      if (yych <= 'n') {
2175
36.1k
        if (yych == 'b') goto yy159;
2176
25.7k
        if (yych <= 'm') goto yy48;
2177
6.76k
        goto yy160;
2178
97.3k
      } else {
2179
97.3k
        if (yych <= 'q') goto yy48;
2180
95.6k
        if (yych <= 'r') goto yy161;
2181
62.3k
        if (yych <= 's') goto yy162;
2182
14.3k
        goto yy48;
2183
62.3k
      }
2184
133k
    }
2185
3.84M
yy40:
2186
3.84M
    YYDEBUG(40, *YYCURSOR);
2187
3.84M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
3.84M
#line 2455 "Zend/zend_language_scanner.l"
2189
3.84M
    {
2190
3.84M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
3.84M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
99.3k
yy41:
2194
99.3k
    YYDEBUG(41, *YYCURSOR);
2195
99.3k
    yyaccept = 4;
2196
99.3k
    yych = *(YYMARKER = ++YYCURSOR);
2197
99.3k
    if (yych <= ';') {
2198
27.4k
      if (yych <= '"') {
2199
13.2k
        if (yych <= '!') goto yy48;
2200
1.16k
        goto yy10;
2201
14.1k
      } else {
2202
14.1k
        if (yych == '\'') goto yy18;
2203
13.4k
        goto yy48;
2204
14.1k
      }
2205
71.8k
    } else {
2206
71.8k
      if (yych <= 'R') {
2207
16.1k
        if (yych <= '<') goto yy165;
2208
9.85k
        if (yych <= 'Q') goto yy48;
2209
484
        goto yy166;
2210
55.6k
      } else {
2211
55.6k
        if (yych == 'r') goto yy166;
2212
49.2k
        goto yy48;
2213
55.6k
      }
2214
71.8k
    }
2215
320k
yy42:
2216
320k
    YYDEBUG(42, *YYCURSOR);
2217
320k
    yyaccept = 4;
2218
320k
    yych = *(YYMARKER = ++YYCURSOR);
2219
320k
    if (yych <= 'O') {
2220
72.1k
      if (yych <= 'K') {
2221
61.1k
        if (yych == 'A') goto yy167;
2222
58.9k
        goto yy48;
2223
61.1k
      } else {
2224
10.9k
        if (yych <= 'L') goto yy168;
2225
6.46k
        if (yych <= 'N') goto yy48;
2226
6.01k
        goto yy169;
2227
6.46k
      }
2228
248k
    } else {
2229
248k
      if (yych <= 'k') {
2230
92.2k
        if (yych == 'a') goto yy167;
2231
23.3k
        goto yy48;
2232
156k
      } else {
2233
156k
        if (yych <= 'l') goto yy168;
2234
69.8k
        if (yych == 'o') goto yy169;
2235
17.4k
        goto yy48;
2236
69.8k
      }
2237
248k
    }
2238
119k
yy43:
2239
119k
    YYDEBUG(43, *YYCURSOR);
2240
119k
    yyaccept = 4;
2241
119k
    yych = *(YYMARKER = ++YYCURSOR);
2242
119k
    if (yych <= 'O') {
2243
31.4k
      if (yych <= 'H') {
2244
23.3k
        if (yych == 'E') goto yy170;
2245
20.3k
        goto yy48;
2246
23.3k
      } else {
2247
8.07k
        if (yych <= 'I') goto yy171;
2248
7.08k
        if (yych <= 'N') goto yy48;
2249
5.77k
        goto yy172;
2250
7.08k
      }
2251
88.1k
    } else {
2252
88.1k
      if (yych <= 'h') {
2253
56.4k
        if (yych == 'e') goto yy170;
2254
34.5k
        goto yy48;
2255
56.4k
      } else {
2256
31.7k
        if (yych <= 'i') goto yy171;
2257
23.6k
        if (yych == 'o') goto yy172;
2258
11.8k
        goto yy48;
2259
23.6k
      }
2260
88.1k
    }
2261
584k
yy44:
2262
584k
    YYDEBUG(44, *YYCURSOR);
2263
584k
    yyaccept = 4;
2264
584k
    yych = *(YYMARKER = ++YYCURSOR);
2265
584k
    switch (yych) {
2266
2.39k
    case 'C':
2267
81.4k
    case 'c': goto yy174;
2268
1.26k
    case 'L':
2269
19.5k
    case 'l': goto yy175;
2270
1.56k
    case 'M':
2271
8.57k
    case 'm': goto yy176;
2272
123k
    case 'N':
2273
265k
    case 'n': goto yy177;
2274
281
    case 'V':
2275
10.4k
    case 'v': goto yy178;
2276
3.67k
    case 'X':
2277
63.3k
    case 'x': goto yy179;
2278
135k
    default:  goto yy48;
2279
584k
    }
2280
423k
yy45:
2281
423k
    YYDEBUG(45, *YYCURSOR);
2282
423k
    yyaccept = 4;
2283
423k
    yych = *(YYMARKER = ++YYCURSOR);
2284
423k
    if (yych <= 'U') {
2285
132k
      if (yych <= 'M') {
2286
105k
        if (yych == 'I') goto yy180;
2287
104k
        goto yy48;
2288
105k
      } else {
2289
26.8k
        if (yych <= 'N') goto yy181;
2290
25.8k
        if (yych <= 'O') goto yy183;
2291
14.6k
        if (yych <= 'T') goto yy48;
2292
774
        goto yy184;
2293
14.6k
      }
2294
291k
    } else {
2295
291k
      if (yych <= 'n') {
2296
68.0k
        if (yych == 'i') goto yy180;
2297
47.4k
        if (yych <= 'm') goto yy48;
2298
19.6k
        goto yy181;
2299
223k
      } else {
2300
223k
        if (yych <= 'o') goto yy183;
2301
125k
        if (yych == 'u') goto yy184;
2302
20.3k
        goto yy48;
2303
125k
      }
2304
291k
    }
2305
77.0k
yy46:
2306
77.0k
    YYDEBUG(46, *YYCURSOR);
2307
77.0k
    yyaccept = 4;
2308
77.0k
    yych = *(YYMARKER = ++YYCURSOR);
2309
77.0k
    if (yych <= 'O') {
2310
37.1k
      if (yych == 'L') goto yy185;
2311
33.7k
      if (yych <= 'N') goto yy48;
2312
1.37k
      goto yy186;
2313
39.9k
    } else {
2314
39.9k
      if (yych <= 'l') {
2315
28.3k
        if (yych <= 'k') goto yy48;
2316
5.21k
        goto yy185;
2317
28.3k
      } else {
2318
11.5k
        if (yych == 'o') goto yy186;
2319
7.40k
        goto yy48;
2320
11.5k
      }
2321
39.9k
    }
2322
15.2M
yy47:
2323
15.2M
    YYDEBUG(47, *YYCURSOR);
2324
15.2M
    yyaccept = 4;
2325
15.2M
    YYMARKER = ++YYCURSOR;
2326
15.2M
    YYFILL(1);
2327
15.2M
    yych = *YYCURSOR;
2328
17.8M
yy48:
2329
17.8M
    YYDEBUG(48, *YYCURSOR);
2330
17.8M
    if (yybm[256+yych] & 128) {
2331
14.0M
      goto yy47;
2332
14.0M
    }
2333
3.85M
    if (yych == '\\') goto yy164;
2334
3.80M
    goto yy40;
2335
3.80M
yy49:
2336
276k
    YYDEBUG(49, *YYCURSOR);
2337
276k
    yyaccept = 4;
2338
276k
    yych = *(YYMARKER = ++YYCURSOR);
2339
276k
    if (yych <= 'S') {
2340
69.6k
      if (yych <= 'L') {
2341
31.4k
        if (yych == 'F') goto yy187;
2342
30.9k
        goto yy48;
2343
38.2k
      } else {
2344
38.2k
        if (yych <= 'M') goto yy189;
2345
31.0k
        if (yych <= 'N') goto yy190;
2346
8.49k
        if (yych <= 'R') goto yy48;
2347
4.22k
        goto yy191;
2348
8.49k
      }
2349
207k
    } else {
2350
207k
      if (yych <= 'm') {
2351
79.1k
        if (yych == 'f') goto yy187;
2352
56.5k
        if (yych <= 'l') goto yy48;
2353
34.5k
        goto yy189;
2354
127k
      } else {
2355
127k
        if (yych <= 'n') goto yy190;
2356
45.1k
        if (yych == 's') goto yy191;
2357
20.3k
        goto yy48;
2358
45.1k
      }
2359
207k
    }
2360
50.7k
yy50:
2361
50.7k
    YYDEBUG(50, *YYCURSOR);
2362
50.7k
    yyaccept = 4;
2363
50.7k
    yych = *(YYMARKER = ++YYCURSOR);
2364
50.7k
    if (yych == 'I') goto yy192;
2365
50.1k
    if (yych == 'i') goto yy192;
2366
43.1k
    goto yy48;
2367
83.0k
yy51:
2368
83.0k
    YYDEBUG(51, *YYCURSOR);
2369
83.0k
    yyaccept = 4;
2370
83.0k
    yych = *(YYMARKER = ++YYCURSOR);
2371
83.0k
    if (yych == 'A') goto yy193;
2372
80.0k
    if (yych == 'a') goto yy193;
2373
74.6k
    goto yy48;
2374
214k
yy52:
2375
214k
    YYDEBUG(52, *YYCURSOR);
2376
214k
    yyaccept = 4;
2377
214k
    yych = *(YYMARKER = ++YYCURSOR);
2378
214k
    if (yych <= 'E') {
2379
32.4k
      if (yych == 'A') goto yy194;
2380
30.6k
      if (yych <= 'D') goto yy48;
2381
3.59k
      goto yy195;
2382
182k
    } else {
2383
182k
      if (yych <= 'a') {
2384
50.4k
        if (yych <= '`') goto yy48;
2385
34.3k
        goto yy194;
2386
131k
      } else {
2387
131k
        if (yych == 'e') goto yy195;
2388
51.9k
        goto yy48;
2389
131k
      }
2390
182k
    }
2391
115k
yy53:
2392
115k
    YYDEBUG(53, *YYCURSOR);
2393
115k
    yyaccept = 4;
2394
115k
    yych = *(YYMARKER = ++YYCURSOR);
2395
115k
    if (yych == 'R') goto yy196;
2396
112k
    if (yych == 'r') goto yy196;
2397
107k
    goto yy48;
2398
374k
yy54:
2399
374k
    YYDEBUG(54, *YYCURSOR);
2400
374k
    yyaccept = 4;
2401
374k
    yych = *(YYMARKER = ++YYCURSOR);
2402
374k
    if (yych <= 'U') {
2403
125k
      if (yych == 'R') goto yy198;
2404
119k
      if (yych <= 'T') goto yy48;
2405
1.76k
      goto yy199;
2406
249k
    } else {
2407
249k
      if (yych <= 'r') {
2408
160k
        if (yych <= 'q') goto yy48;
2409
49.0k
        goto yy198;
2410
160k
      } else {
2411
88.6k
        if (yych == 'u') goto yy199;
2412
18.8k
        goto yy48;
2413
88.6k
      }
2414
249k
    }
2415
136k
yy55:
2416
136k
    YYDEBUG(55, *YYCURSOR);
2417
136k
    yyaccept = 4;
2418
136k
    yych = *(YYMARKER = ++YYCURSOR);
2419
136k
    if (yych == 'E') goto yy200;
2420
131k
    if (yych == 'e') goto yy200;
2421
51.9k
    goto yy48;
2422
180k
yy56:
2423
180k
    YYDEBUG(56, *YYCURSOR);
2424
180k
    yyaccept = 4;
2425
180k
    yych = *(YYMARKER = ++YYCURSOR);
2426
180k
    if (yych <= 'W') {
2427
58.6k
      if (yych == 'T') goto yy201;
2428
54.7k
      if (yych <= 'V') goto yy48;
2429
557
      goto yy202;
2430
121k
    } else {
2431
121k
      if (yych <= 't') {
2432
105k
        if (yych <= 's') goto yy48;
2433
55.6k
        goto yy201;
2434
105k
      } else {
2435
15.6k
        if (yych == 'w') goto yy202;
2436
6.82k
        goto yy48;
2437
15.6k
      }
2438
121k
    }
2439
200k
yy57:
2440
200k
    YYDEBUG(57, *YYCURSOR);
2441
200k
    yyaccept = 4;
2442
200k
    yych = *(YYMARKER = ++YYCURSOR);
2443
200k
    if (yych <= 'R') {
2444
36.9k
      if (yych == 'H') goto yy203;
2445
36.2k
      if (yych <= 'Q') goto yy48;
2446
5.77k
      goto yy204;
2447
163k
    } else {
2448
163k
      if (yych <= 'h') {
2449
73.3k
        if (yych <= 'g') goto yy48;
2450
15.8k
        goto yy203;
2451
89.7k
      } else {
2452
89.7k
        if (yych == 'r') goto yy204;
2453
24.1k
        goto yy48;
2454
89.7k
      }
2455
163k
    }
2456
74.2k
yy58:
2457
74.2k
    YYDEBUG(58, *YYCURSOR);
2458
74.2k
    yyaccept = 4;
2459
74.2k
    yych = *(YYMARKER = ++YYCURSOR);
2460
74.2k
    if (yych <= 'S') {
2461
20.4k
      if (yych == 'N') goto yy205;
2462
18.6k
      if (yych <= 'R') goto yy48;
2463
477
      goto yy206;
2464
53.8k
    } else {
2465
53.8k
      if (yych <= 'n') {
2466
33.8k
        if (yych <= 'm') goto yy48;
2467
17.5k
        goto yy205;
2468
33.8k
      } else {
2469
20.0k
        if (yych == 's') goto yy206;
2470
5.86k
        goto yy48;
2471
20.0k
      }
2472
53.8k
    }
2473
122k
yy59:
2474
122k
    YYDEBUG(59, *YYCURSOR);
2475
122k
    yyaccept = 4;
2476
122k
    yych = *(YYMARKER = ++YYCURSOR);
2477
122k
    if (yych == 'A') goto yy207;
2478
121k
    if (yych == 'a') goto yy207;
2479
24.6k
    goto yy48;
2480
29.0k
yy60:
2481
29.0k
    YYDEBUG(60, *YYCURSOR);
2482
29.0k
    yyaccept = 4;
2483
29.0k
    yych = *(YYMARKER = ++YYCURSOR);
2484
29.0k
    if (yych == 'H') goto yy208;
2485
28.3k
    if (yych == 'h') goto yy208;
2486
21.6k
    goto yy48;
2487
32.4k
yy61:
2488
32.4k
    YYDEBUG(61, *YYCURSOR);
2489
32.4k
    yyaccept = 4;
2490
32.4k
    yych = *(YYMARKER = ++YYCURSOR);
2491
32.4k
    if (yych == 'O') goto yy209;
2492
32.0k
    if (yych == 'o') goto yy209;
2493
27.7k
    goto yy48;
2494
120k
yy62:
2495
120k
    YYDEBUG(62, *YYCURSOR);
2496
120k
    yyaccept = 4;
2497
120k
    yych = *(YYMARKER = ++YYCURSOR);
2498
120k
    if (yych == 'I') goto yy210;
2499
119k
    if (yych == 'i') goto yy210;
2500
28.6k
    goto yy48;
2501
235k
yy63:
2502
235k
    YYDEBUG(63, *YYCURSOR);
2503
235k
    ++YYCURSOR;
2504
235k
    goto yy21;
2505
212k
yy64:
2506
212k
    YYDEBUG(64, *YYCURSOR);
2507
212k
    yych = *++YYCURSOR;
2508
212k
    if (yych <= '_') {
2509
161k
      if (yych <= '@') goto yy65;
2510
110k
      if (yych <= 'Z') goto yy211;
2511
94.0k
      if (yych >= '_') goto yy211;
2512
94.0k
    } else {
2513
51.1k
      if (yych <= '`') goto yy65;
2514
48.7k
      if (yych <= 'z') goto yy211;
2515
15.5k
      if (yych >= 0x80) goto yy211;
2516
15.5k
    }
2517
154k
yy65:
2518
154k
    YYDEBUG(65, *YYCURSOR);
2519
154k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
154k
#line 2451 "Zend/zend_language_scanner.l"
2521
154k
    {
2522
154k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
154k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
77.4k
yy66:
2526
77.4k
    YYDEBUG(66, *YYCURSOR);
2527
77.4k
    yych = *++YYCURSOR;
2528
77.4k
    if (yych == '=') goto yy214;
2529
75.8k
    goto yy9;
2530
212k
yy67:
2531
212k
    YYDEBUG(67, *YYCURSOR);
2532
212k
    yyaccept = 4;
2533
212k
    yych = *(YYMARKER = ++YYCURSOR);
2534
212k
    if (yych == '_') goto yy216;
2535
67.2k
    goto yy48;
2536
67.2k
yy68:
2537
55.5k
    YYDEBUG(68, *YYCURSOR);
2538
55.5k
    ++YYCURSOR;
2539
55.5k
    YYDEBUG(69, *YYCURSOR);
2540
55.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
55.5k
#line 2826 "Zend/zend_language_scanner.l"
2542
55.5k
    {
2543
55.5k
  BEGIN(ST_BACKQUOTE);
2544
55.5k
  RETURN_TOKEN('`');
2545
55.5k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
1.16M
yy70:
2548
1.16M
    YYDEBUG(70, *YYCURSOR);
2549
1.16M
    ++YYCURSOR;
2550
1.16M
    YYDEBUG(71, *YYCURSOR);
2551
1.16M
    yyleng = YYCURSOR - SCNG(yy_text);
2552
1.16M
#line 1974 "Zend/zend_language_scanner.l"
2553
1.16M
    {
2554
1.16M
  yy_push_state(ST_IN_SCRIPTING);
2555
1.16M
  enter_nesting('{');
2556
1.16M
  RETURN_TOKEN('{');
2557
1.16M
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
108k
yy72:
2560
108k
    YYDEBUG(72, *YYCURSOR);
2561
108k
    yych = *++YYCURSOR;
2562
108k
    if (yych <= '>') {
2563
56.5k
      if (yych <= '<') goto yy9;
2564
10.0k
      if (yych <= '=') goto yy217;
2565
6.58k
      goto yy219;
2566
51.9k
    } else {
2567
51.9k
      if (yych == '|') goto yy221;
2568
45.2k
      goto yy9;
2569
51.9k
    }
2570
326k
yy73:
2571
326k
    YYDEBUG(73, *YYCURSOR);
2572
326k
    ++YYCURSOR;
2573
326k
    YYDEBUG(74, *YYCURSOR);
2574
326k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
326k
#line 1987 "Zend/zend_language_scanner.l"
2576
326k
    {
2577
326k
  RESET_DOC_COMMENT();
2578
326k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
295k
    yy_pop_state();
2580
295k
  }
2581
326k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
326k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
7.10k
yy75:
2585
7.10k
    YYDEBUG(75, *YYCURSOR);
2586
7.10k
    yych = *++YYCURSOR;
2587
7.10k
    if (yych == '=') goto yy223;
2588
13.1k
yy76:
2589
13.1k
    YYDEBUG(76, *YYCURSOR);
2590
13.1k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
13.1k
#line 1846 "Zend/zend_language_scanner.l"
2592
13.1k
    {
2593
13.1k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
13.1k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
14.0k
yy77:
2597
14.0k
    YYDEBUG(77, *YYCURSOR);
2598
14.0k
    ++YYCURSOR;
2599
14.0k
    YYDEBUG(78, *YYCURSOR);
2600
14.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
14.0k
#line 1423 "Zend/zend_language_scanner.l"
2602
14.0k
    {
2603
14.0k
  enter_nesting('[');
2604
14.0k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
14.0k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
4.07M
yy79:
2608
4.07M
    YYDEBUG(79, *YYCURSOR);
2609
4.07M
    ++YYCURSOR;
2610
4.07M
    YYFILL(1);
2611
4.07M
    yych = *YYCURSOR;
2612
4.07M
    YYDEBUG(80, *YYCURSOR);
2613
4.07M
    if (yych <= '^') {
2614
1.11M
      if (yych <= '9') {
2615
789k
        if (yych >= '0') goto yy79;
2616
789k
      } else {
2617
320k
        if (yych <= '@') goto yy81;
2618
198k
        if (yych <= 'Z') goto yy79;
2619
198k
      }
2620
2.96M
    } else {
2621
2.96M
      if (yych <= '`') {
2622
10.6k
        if (yych <= '_') goto yy79;
2623
2.95M
      } else {
2624
2.95M
        if (yych <= 'z') goto yy79;
2625
870k
        if (yych >= 0x80) goto yy79;
2626
870k
      }
2627
2.96M
    }
2628
910k
yy81:
2629
910k
    YYDEBUG(81, *YYCURSOR);
2630
910k
    yyleng = YYCURSOR - SCNG(yy_text);
2631
910k
#line 2417 "Zend/zend_language_scanner.l"
2632
910k
    {
2633
910k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
910k
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
1.23k
yy82:
2637
1.23k
    YYDEBUG(82, *YYCURSOR);
2638
1.23k
    ++YYCURSOR;
2639
1.23k
    YYDEBUG(83, *YYCURSOR);
2640
1.23k
    yyleng = YYCURSOR - SCNG(yy_text);
2641
1.23k
#line 1890 "Zend/zend_language_scanner.l"
2642
1.23k
    {
2643
1.23k
  RETURN_TOKEN(T_MOD_EQUAL);
2644
1.23k
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
879k
yy84:
2647
879k
    YYDEBUG(84, *YYCURSOR);
2648
879k
    ++YYCURSOR;
2649
879k
    YYFILL(3);
2650
879k
    yych = *YYCURSOR;
2651
952k
yy85:
2652
952k
    YYDEBUG(85, *YYCURSOR);
2653
952k
    if (yych <= ' ') {
2654
79.4k
      if (yych <= '\f') {
2655
52.4k
        if (yych <= 0x08) goto yy86;
2656
50.4k
        if (yych <= '\n') goto yy84;
2657
50.4k
      } else {
2658
27.0k
        if (yych <= '\r') goto yy84;
2659
16.6k
        if (yych >= ' ') goto yy84;
2660
16.6k
      }
2661
872k
    } else {
2662
872k
      if (yych <= '$') {
2663
845k
        if (yych <= '"') goto yy86;
2664
843k
        if (yych <= '#') goto yy87;
2665
20.2k
        goto yy88;
2666
843k
      } else {
2667
27.6k
        if (yych <= '-') goto yy86;
2668
25.6k
        if (yych <= '.') goto yy92;
2669
22.2k
        if (yych <= '/') goto yy93;
2670
22.2k
      }
2671
872k
    }
2672
820k
yy86:
2673
820k
    YYDEBUG(86, *YYCURSOR);
2674
820k
    YYCURSOR = YYMARKER;
2675
820k
    if (yyaccept <= 48) {
2676
646k
      if (yyaccept <= 24) {
2677
632k
        if (yyaccept <= 12) {
2678
621k
          if (yyaccept <= 6) {
2679
375k
            if (yyaccept <= 3) {
2680
320k
              if (yyaccept <= 1) {
2681
277k
                if (yyaccept == 0) {
2682
44.0k
                  goto yy17;
2683
233k
                } else {
2684
233k
                  goto yy21;
2685
233k
                }
2686
277k
              } else {
2687
42.7k
                if (yyaccept == 2) {
2688
25.2k
                  goto yy9;
2689
25.2k
                } else {
2690
17.4k
                  goto yy31;
2691
17.4k
                }
2692
42.7k
              }
2693
320k
            } else {
2694
54.6k
              if (yyaccept <= 5) {
2695
50.6k
                if (yyaccept == 4) {
2696
43.1k
                  goto yy40;
2697
43.1k
                } else {
2698
7.48k
                  goto yy125;
2699
7.48k
                }
2700
50.6k
              } else {
2701
3.98k
                goto yy129;
2702
3.98k
              }
2703
54.6k
            }
2704
375k
          } else {
2705
246k
            if (yyaccept <= 9) {
2706
245k
              if (yyaccept <= 8) {
2707
245k
                if (yyaccept == 7) {
2708
245k
                  goto yy142;
2709
245k
                } else {
2710
151
                  goto yy163;
2711
151
                }
2712
245k
              } else {
2713
90
                goto yy173;
2714
90
              }
2715
245k
            } else {
2716
841
              if (yyaccept <= 11) {
2717
527
                if (yyaccept == 10) {
2718
234
                  goto yy182;
2719
293
                } else {
2720
293
                  goto yy188;
2721
293
                }
2722
527
              } else {
2723
314
                goto yy197;
2724
314
              }
2725
841
            }
2726
246k
          }
2727
621k
        } else {
2728
10.7k
          if (yyaccept <= 18) {
2729
9.06k
            if (yyaccept <= 15) {
2730
5.96k
              if (yyaccept <= 14) {
2731
5.48k
                if (yyaccept == 13) {
2732
5.20k
                  goto yy213;
2733
5.20k
                } else {
2734
284
                  goto yy251;
2735
284
                }
2736
5.48k
              } else {
2737
485
                goto yy257;
2738
485
              }
2739
5.96k
            } else {
2740
3.09k
              if (yyaccept <= 17) {
2741
497
                if (yyaccept == 16) {
2742
299
                  goto yy260;
2743
299
                } else {
2744
198
                  goto yy279;
2745
198
                }
2746
2.60k
              } else {
2747
2.60k
                goto yy283;
2748
2.60k
              }
2749
3.09k
            }
2750
9.06k
          } else {
2751
1.64k
            if (yyaccept <= 21) {
2752
1.16k
              if (yyaccept <= 20) {
2753
972
                if (yyaccept == 19) {
2754
377
                  goto yy295;
2755
595
                } else {
2756
595
                  goto yy306;
2757
595
                }
2758
972
              } else {
2759
196
                goto yy319;
2760
196
              }
2761
1.16k
            } else {
2762
479
              if (yyaccept <= 23) {
2763
402
                if (yyaccept == 22) {
2764
222
                  goto yy331;
2765
222
                } else {
2766
180
                  goto yy334;
2767
180
                }
2768
402
              } else {
2769
77
                goto yy336;
2770
77
              }
2771
479
            }
2772
1.64k
          }
2773
10.7k
        }
2774
632k
      } else {
2775
13.4k
        if (yyaccept <= 36) {
2776
10.1k
          if (yyaccept <= 30) {
2777
7.94k
            if (yyaccept <= 27) {
2778
7.28k
              if (yyaccept <= 26) {
2779
7.11k
                if (yyaccept == 25) {
2780
181
                  goto yy339;
2781
6.93k
                } else {
2782
6.93k
                  goto yy89;
2783
6.93k
                }
2784
7.11k
              } else {
2785
163
                goto yy379;
2786
163
              }
2787
7.28k
            } else {
2788
665
              if (yyaccept <= 29) {
2789
136
                if (yyaccept == 28) {
2790
51
                  goto yy388;
2791
85
                } else {
2792
85
                  goto yy390;
2793
85
                }
2794
529
              } else {
2795
529
                goto yy399;
2796
529
              }
2797
665
            }
2798
7.94k
          } else {
2799
2.22k
            if (yyaccept <= 33) {
2800
1.43k
              if (yyaccept <= 32) {
2801
525
                if (yyaccept == 31) {
2802
306
                  goto yy401;
2803
306
                } else {
2804
219
                  goto yy408;
2805
219
                }
2806
910
              } else {
2807
910
                goto yy415;
2808
910
              }
2809
1.43k
            } else {
2810
785
              if (yyaccept <= 35) {
2811
723
                if (yyaccept == 34) {
2812
31
                  goto yy471;
2813
692
                } else {
2814
692
                  goto yy473;
2815
692
                }
2816
723
              } else {
2817
62
                goto yy476;
2818
62
              }
2819
785
            }
2820
2.22k
          }
2821
10.1k
        } else {
2822
3.23k
          if (yyaccept <= 42) {
2823
1.42k
            if (yyaccept <= 39) {
2824
625
              if (yyaccept <= 38) {
2825
474
                if (yyaccept == 37) {
2826
258
                  goto yy478;
2827
258
                } else {
2828
216
                  goto yy480;
2829
216
                }
2830
474
              } else {
2831
151
                goto yy482;
2832
151
              }
2833
801
            } else {
2834
801
              if (yyaccept <= 41) {
2835
545
                if (yyaccept == 40) {
2836
334
                  goto yy488;
2837
334
                } else {
2838
211
                  goto yy492;
2839
211
                }
2840
545
              } else {
2841
256
                goto yy501;
2842
256
              }
2843
801
            }
2844
1.81k
          } else {
2845
1.81k
            if (yyaccept <= 45) {
2846
1.23k
              if (yyaccept <= 44) {
2847
1.01k
                if (yyaccept == 43) {
2848
857
                  goto yy511;
2849
857
                } else {
2850
158
                  goto yy513;
2851
158
                }
2852
1.01k
              } else {
2853
219
                goto yy516;
2854
219
              }
2855
1.23k
            } else {
2856
577
              if (yyaccept <= 47) {
2857
400
                if (yyaccept == 46) {
2858
175
                  goto yy526;
2859
225
                } else {
2860
225
                  goto yy528;
2861
225
                }
2862
400
              } else {
2863
177
                goto yy530;
2864
177
              }
2865
577
            }
2866
1.81k
          }
2867
3.23k
        }
2868
13.4k
      }
2869
646k
    } else {
2870
174k
      if (yyaccept <= 72) {
2871
153k
        if (yyaccept <= 60) {
2872
148k
          if (yyaccept <= 54) {
2873
144k
            if (yyaccept <= 51) {
2874
50.6k
              if (yyaccept <= 50) {
2875
50.5k
                if (yyaccept == 49) {
2876
431
                  goto yy532;
2877
50.1k
                } else {
2878
50.1k
                  goto yy534;
2879
50.1k
                }
2880
50.5k
              } else {
2881
86
                goto yy576;
2882
86
              }
2883
94.2k
            } else {
2884
94.2k
              if (yyaccept <= 53) {
2885
94.0k
                if (yyaccept == 52) {
2886
189
                  goto yy579;
2887
93.8k
                } else {
2888
93.8k
                  goto yy583;
2889
93.8k
                }
2890
94.0k
              } else {
2891
174
                goto yy597;
2892
174
              }
2893
94.2k
            }
2894
144k
          } else {
2895
3.42k
            if (yyaccept <= 57) {
2896
2.70k
              if (yyaccept <= 56) {
2897
2.38k
                if (yyaccept == 55) {
2898
2.14k
                  goto yy607;
2899
2.14k
                } else {
2900
238
                  goto yy611;
2901
238
                }
2902
2.38k
              } else {
2903
325
                goto yy613;
2904
325
              }
2905
2.70k
            } else {
2906
717
              if (yyaccept <= 59) {
2907
651
                if (yyaccept == 58) {
2908
356
                  goto yy615;
2909
356
                } else {
2910
295
                  goto yy654;
2911
295
                }
2912
651
              } else {
2913
66
                goto yy656;
2914
66
              }
2915
717
            }
2916
3.42k
          }
2917
148k
        } else {
2918
5.29k
          if (yyaccept <= 66) {
2919
4.00k
            if (yyaccept <= 63) {
2920
1.31k
              if (yyaccept <= 62) {
2921
1.01k
                if (yyaccept == 61) {
2922
792
                  goto yy671;
2923
792
                } else {
2924
225
                  goto yy673;
2925
225
                }
2926
1.01k
              } else {
2927
300
                goto yy675;
2928
300
              }
2929
2.68k
            } else {
2930
2.68k
              if (yyaccept <= 65) {
2931
2.38k
                if (yyaccept == 64) {
2932
183
                  goto yy679;
2933
2.20k
                } else {
2934
2.20k
                  goto yy685;
2935
2.20k
                }
2936
2.38k
              } else {
2937
305
                goto yy690;
2938
305
              }
2939
2.68k
            }
2940
4.00k
          } else {
2941
1.29k
            if (yyaccept <= 69) {
2942
571
              if (yyaccept <= 68) {
2943
505
                if (yyaccept == 67) {
2944
344
                  goto yy700;
2945
344
                } else {
2946
161
                  goto yy726;
2947
161
                }
2948
505
              } else {
2949
66
                goto yy728;
2950
66
              }
2951
722
            } else {
2952
722
              if (yyaccept <= 71) {
2953
459
                if (yyaccept == 70) {
2954
258
                  goto yy730;
2955
258
                } else {
2956
201
                  goto yy735;
2957
201
                }
2958
459
              } else {
2959
263
                goto yy743;
2960
263
              }
2961
722
            }
2962
1.29k
          }
2963
5.29k
        }
2964
153k
      } else {
2965
21.3k
        if (yyaccept <= 84) {
2966
4.61k
          if (yyaccept <= 78) {
2967
1.50k
            if (yyaccept <= 75) {
2968
733
              if (yyaccept <= 74) {
2969
615
                if (yyaccept == 73) {
2970
482
                  goto yy754;
2971
482
                } else {
2972
133
                  goto yy764;
2973
133
                }
2974
615
              } else {
2975
118
                goto yy768;
2976
118
              }
2977
774
            } else {
2978
774
              if (yyaccept <= 77) {
2979
334
                if (yyaccept == 76) {
2980
265
                  goto yy784;
2981
265
                } else {
2982
69
                  goto yy797;
2983
69
                }
2984
440
              } else {
2985
440
                goto yy799;
2986
440
              }
2987
774
            }
2988
3.10k
          } else {
2989
3.10k
            if (yyaccept <= 81) {
2990
1.55k
              if (yyaccept <= 80) {
2991
1.31k
                if (yyaccept == 79) {
2992
458
                  goto yy801;
2993
856
                } else {
2994
856
                  goto yy804;
2995
856
                }
2996
1.31k
              } else {
2997
239
                goto yy812;
2998
239
              }
2999
1.55k
            } else {
3000
1.55k
              if (yyaccept <= 83) {
3001
265
                if (yyaccept == 82) {
3002
206
                  goto yy819;
3003
206
                } else {
3004
59
                  goto yy823;
3005
59
                }
3006
1.28k
              } else {
3007
1.28k
                goto yy825;
3008
1.28k
              }
3009
1.55k
            }
3010
3.10k
          }
3011
16.7k
        } else {
3012
16.7k
          if (yyaccept <= 90) {
3013
1.56k
            if (yyaccept <= 87) {
3014
624
              if (yyaccept <= 86) {
3015
545
                if (yyaccept == 85) {
3016
276
                  goto yy836;
3017
276
                } else {
3018
269
                  goto yy839;
3019
269
                }
3020
545
              } else {
3021
79
                goto yy854;
3022
79
              }
3023
943
            } else {
3024
943
              if (yyaccept <= 89) {
3025
715
                if (yyaccept == 88) {
3026
646
                  goto yy869;
3027
646
                } else {
3028
69
                  goto yy898;
3029
69
                }
3030
715
              } else {
3031
228
                goto yy903;
3032
228
              }
3033
943
            }
3034
15.1k
          } else {
3035
15.1k
            if (yyaccept <= 93) {
3036
12.1k
              if (yyaccept <= 92) {
3037
12.1k
                if (yyaccept == 91) {
3038
11.8k
                  goto yy876;
3039
11.8k
                } else {
3040
249
                  goto yy911;
3041
249
                }
3042
12.1k
              } else {
3043
37
                goto yy915;
3044
37
              }
3045
12.1k
            } else {
3046
2.99k
              if (yyaccept <= 95) {
3047
2.73k
                if (yyaccept == 94) {
3048
2.34k
                  goto yy886;
3049
2.34k
                } else {
3050
383
                  goto yy931;
3051
383
                }
3052
2.73k
              } else {
3053
261
                goto yy951;
3054
261
              }
3055
2.99k
            }
3056
15.1k
          }
3057
16.7k
        }
3058
21.3k
      }
3059
174k
    }
3060
823k
yy87:
3061
823k
    YYDEBUG(87, *YYCURSOR);
3062
823k
    ++YYCURSOR;
3063
823k
    YYFILL(1);
3064
823k
    yych = *YYCURSOR;
3065
823k
    if (yych <= '\f') {
3066
48.7k
      if (yych <= 0x00) goto yy86;
3067
48.4k
      if (yych == '\n') goto yy227;
3068
1.80k
      goto yy225;
3069
774k
    } else {
3070
774k
      if (yych <= '\r') goto yy227;
3071
17.3k
      if (yych == '[') goto yy86;
3072
17.2k
      goto yy225;
3073
17.3k
    }
3074
21.2k
yy88:
3075
21.2k
    YYDEBUG(88, *YYCURSOR);
3076
21.2k
    ++YYCURSOR;
3077
28.5k
yy89:
3078
28.5k
    YYDEBUG(89, *YYCURSOR);
3079
28.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
28.5k
#line 1950 "Zend/zend_language_scanner.l"
3081
28.5k
    {
3082
28.5k
  yyless(1);
3083
28.5k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
28.5k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
18.7k
yy90:
3087
18.7k
    YYDEBUG(90, *YYCURSOR);
3088
18.7k
    ++YYCURSOR;
3089
18.7k
    YYDEBUG(91, *YYCURSOR);
3090
18.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
18.7k
#line 1926 "Zend/zend_language_scanner.l"
3092
18.7k
    {
3093
18.7k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
18.7k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
3.43k
yy92:
3097
3.43k
    YYDEBUG(92, *YYCURSOR);
3098
3.43k
    yych = *++YYCURSOR;
3099
3.43k
    if (yych == '.') goto yy229;
3100
1.64k
    goto yy86;
3101
6.69k
yy93:
3102
6.69k
    YYDEBUG(93, *YYCURSOR);
3103
6.69k
    ++YYCURSOR;
3104
6.69k
    YYFILL(1);
3105
6.69k
    yych = *YYCURSOR;
3106
6.69k
    if (yych == '*') goto yy230;
3107
3.02k
    if (yych == '/') goto yy225;
3108
2.35k
    goto yy86;
3109
14.5k
yy94:
3110
14.5k
    YYDEBUG(94, *YYCURSOR);
3111
14.5k
    ++YYCURSOR;
3112
14.5k
    YYDEBUG(95, *YYCURSOR);
3113
14.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
14.5k
#line 1902 "Zend/zend_language_scanner.l"
3115
14.5k
    {
3116
14.5k
  RETURN_TOKEN(T_AND_EQUAL);
3117
14.5k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
228k
yy96:
3120
228k
    YYDEBUG(96, *YYCURSOR);
3121
228k
    ++YYCURSOR;
3122
228k
    YYFILL(7);
3123
228k
    yych = *YYCURSOR;
3124
473k
yy97:
3125
473k
    YYDEBUG(97, *YYCURSOR);
3126
473k
    if (yybm[0+yych] & 1) {
3127
228k
      goto yy96;
3128
228k
    }
3129
244k
    switch (yych) {
3130
4.96k
    case 'A':
3131
37.5k
    case 'a': goto yy98;
3132
5.33k
    case 'B':
3133
15.8k
    case 'b': goto yy99;
3134
789
    case 'D':
3135
7.48k
    case 'd': goto yy100;
3136
3.79k
    case 'F':
3137
20.9k
    case 'f': goto yy101;
3138
1.15k
    case 'I':
3139
30.3k
    case 'i': goto yy102;
3140
3.55k
    case 'O':
3141
9.30k
    case 'o': goto yy103;
3142
842
    case 'R':
3143
9.47k
    case 'r': goto yy104;
3144
4.31k
    case 'S':
3145
35.2k
    case 's': goto yy105;
3146
1.83k
    case 'U':
3147
8.19k
    case 'u': goto yy106;
3148
882
    case 'V':
3149
4.74k
    case 'v': goto yy107;
3150
65.8k
    default:  goto yy86;
3151
244k
    }
3152
37.5k
yy98:
3153
37.5k
    YYDEBUG(98, *YYCURSOR);
3154
37.5k
    yych = *++YYCURSOR;
3155
37.5k
    if (yych == 'R') goto yy232;
3156
36.5k
    if (yych == 'r') goto yy232;
3157
24.8k
    goto yy86;
3158
24.8k
yy99:
3159
15.8k
    YYDEBUG(99, *YYCURSOR);
3160
15.8k
    yych = *++YYCURSOR;
3161
15.8k
    if (yych <= 'O') {
3162
7.50k
      if (yych == 'I') goto yy233;
3163
6.93k
      if (yych <= 'N') goto yy86;
3164
754
      goto yy234;
3165
8.29k
    } else {
3166
8.29k
      if (yych <= 'i') {
3167
4.30k
        if (yych <= 'h') goto yy86;
3168
3.10k
        goto yy233;
3169
4.30k
      } else {
3170
3.99k
        if (yych == 'o') goto yy234;
3171
936
        goto yy86;
3172
3.99k
      }
3173
8.29k
    }
3174
7.48k
yy100:
3175
7.48k
    YYDEBUG(100, *YYCURSOR);
3176
7.48k
    yych = *++YYCURSOR;
3177
7.48k
    if (yych == 'O') goto yy235;
3178
7.44k
    if (yych == 'o') goto yy235;
3179
3.08k
    goto yy86;
3180
20.9k
yy101:
3181
20.9k
    YYDEBUG(101, *YYCURSOR);
3182
20.9k
    yych = *++YYCURSOR;
3183
20.9k
    if (yych == 'L') goto yy236;
3184
20.4k
    if (yych == 'l') goto yy236;
3185
16.7k
    goto yy86;
3186
30.3k
yy102:
3187
30.3k
    YYDEBUG(102, *YYCURSOR);
3188
30.3k
    yych = *++YYCURSOR;
3189
30.3k
    if (yych == 'N') goto yy237;
3190
28.4k
    if (yych == 'n') goto yy237;
3191
19.4k
    goto yy86;
3192
19.4k
yy103:
3193
9.30k
    YYDEBUG(103, *YYCURSOR);
3194
9.30k
    yych = *++YYCURSOR;
3195
9.30k
    if (yych == 'B') goto yy238;
3196
9.21k
    if (yych == 'b') goto yy238;
3197
3.40k
    goto yy86;
3198
9.47k
yy104:
3199
9.47k
    YYDEBUG(104, *YYCURSOR);
3200
9.47k
    yych = *++YYCURSOR;
3201
9.47k
    if (yych == 'E') goto yy239;
3202
9.15k
    if (yych == 'e') goto yy239;
3203
3.96k
    goto yy86;
3204
35.2k
yy105:
3205
35.2k
    YYDEBUG(105, *YYCURSOR);
3206
35.2k
    yych = *++YYCURSOR;
3207
35.2k
    if (yych == 'T') goto yy240;
3208
33.7k
    if (yych == 't') goto yy240;
3209
17.1k
    goto yy86;
3210
17.1k
yy106:
3211
8.19k
    YYDEBUG(106, *YYCURSOR);
3212
8.19k
    yych = *++YYCURSOR;
3213
8.19k
    if (yych == 'N') goto yy241;
3214
7.67k
    if (yych == 'n') goto yy241;
3215
3.97k
    goto yy86;
3216
4.74k
yy107:
3217
4.74k
    YYDEBUG(107, *YYCURSOR);
3218
4.74k
    yych = *++YYCURSOR;
3219
4.74k
    if (yych == 'O') goto yy242;
3220
4.62k
    if (yych == 'o') goto yy242;
3221
2.55k
    goto yy86;
3222
28.0k
yy108:
3223
28.0k
    YYDEBUG(108, *YYCURSOR);
3224
28.0k
    yych = *++YYCURSOR;
3225
28.0k
    if (yych == '=') goto yy243;
3226
27.6k
    YYDEBUG(109, *YYCURSOR);
3227
27.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
27.6k
#line 1874 "Zend/zend_language_scanner.l"
3229
27.6k
    {
3230
27.6k
  RETURN_TOKEN(T_POW);
3231
27.6k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
3.82k
yy110:
3234
3.82k
    YYDEBUG(110, *YYCURSOR);
3235
3.82k
    ++YYCURSOR;
3236
3.82k
    YYDEBUG(111, *YYCURSOR);
3237
3.82k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
3.82k
#line 1870 "Zend/zend_language_scanner.l"
3239
3.82k
    {
3240
3.82k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
3.82k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
38.1k
yy112:
3244
38.1k
    YYDEBUG(112, *YYCURSOR);
3245
38.1k
    ++YYCURSOR;
3246
38.1k
    YYDEBUG(113, *YYCURSOR);
3247
38.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
38.1k
#line 1826 "Zend/zend_language_scanner.l"
3249
38.1k
    {
3250
38.1k
  RETURN_TOKEN(T_INC);
3251
38.1k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
2.94k
yy114:
3254
2.94k
    YYDEBUG(114, *YYCURSOR);
3255
2.94k
    ++YYCURSOR;
3256
2.94k
    YYDEBUG(115, *YYCURSOR);
3257
2.94k
    yyleng = YYCURSOR - SCNG(yy_text);
3258
2.94k
#line 1862 "Zend/zend_language_scanner.l"
3259
2.94k
    {
3260
2.94k
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
2.94k
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
25.7k
yy116:
3264
25.7k
    YYDEBUG(116, *YYCURSOR);
3265
25.7k
    ++YYCURSOR;
3266
25.7k
    YYDEBUG(117, *YYCURSOR);
3267
25.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
25.7k
#line 1830 "Zend/zend_language_scanner.l"
3269
25.7k
    {
3270
25.7k
  RETURN_TOKEN(T_DEC);
3271
25.7k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
2.12k
yy118:
3274
2.12k
    YYDEBUG(118, *YYCURSOR);
3275
2.12k
    ++YYCURSOR;
3276
2.12k
    YYDEBUG(119, *YYCURSOR);
3277
2.12k
    yyleng = YYCURSOR - SCNG(yy_text);
3278
2.12k
#line 1866 "Zend/zend_language_scanner.l"
3279
2.12k
    {
3280
2.12k
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
2.12k
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
112k
yy120:
3284
112k
    YYDEBUG(120, *YYCURSOR);
3285
112k
    ++YYCURSOR;
3286
112k
    YYDEBUG(121, *YYCURSOR);
3287
112k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
112k
#line 1587 "Zend/zend_language_scanner.l"
3289
112k
    {
3290
112k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
112k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
112k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
55.5k
yy122:
3295
55.5k
    YYDEBUG(122, *YYCURSOR);
3296
55.5k
    yych = *++YYCURSOR;
3297
55.5k
    if (yych == '.') goto yy245;
3298
22.4k
    goto yy86;
3299
417k
yy123:
3300
417k
    YYDEBUG(123, *YYCURSOR);
3301
417k
    yyaccept = 5;
3302
417k
    YYMARKER = ++YYCURSOR;
3303
417k
    YYFILL(2);
3304
417k
    yych = *YYCURSOR;
3305
469k
yy124:
3306
469k
    YYDEBUG(124, *YYCURSOR);
3307
469k
    if (yych <= 'E') {
3308
437k
      if (yych <= '/') goto yy125;
3309
392k
      if (yych <= '9') goto yy123;
3310
23.1k
      if (yych >= 'E') goto yy135;
3311
31.9k
    } else {
3312
31.9k
      if (yych <= '_') {
3313
4.43k
        if (yych >= '_') goto yy247;
3314
27.4k
      } else {
3315
27.4k
        if (yych == 'e') goto yy135;
3316
27.4k
      }
3317
31.9k
    }
3318
124k
yy125:
3319
124k
    YYDEBUG(125, *YYCURSOR);
3320
124k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
124k
#line 2233 "Zend/zend_language_scanner.l"
3322
124k
    {
3323
124k
  const char *end;
3324
124k
  size_t len = yyleng;
3325
124k
  char *dnum = yytext;
3326
124k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
124k
  if (contains_underscores) {
3329
1.89k
    dnum = estrndup(dnum, len);
3330
1.89k
    strip_underscores(dnum, &len);
3331
1.89k
  }
3332
3333
124k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
124k
  ZEND_ASSERT(end == dnum + len);
3336
124k
  if (contains_underscores) {
3337
1.89k
    efree(dnum);
3338
1.89k
  }
3339
124k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
124k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
89.2k
yy126:
3343
89.2k
    YYDEBUG(126, *YYCURSOR);
3344
89.2k
    ++YYCURSOR;
3345
89.2k
    YYDEBUG(127, *YYCURSOR);
3346
89.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
89.2k
#line 1886 "Zend/zend_language_scanner.l"
3348
89.2k
    {
3349
89.2k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
89.2k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
90.0k
yy128:
3353
90.0k
    YYDEBUG(128, *YYCURSOR);
3354
90.0k
    yyaccept = 6;
3355
90.0k
    yych = *(YYMARKER = ++YYCURSOR);
3356
90.0k
    if (yych == '*') goto yy248;
3357
90.0k
yy129:
3358
90.0k
    YYDEBUG(129, *YYCURSOR);
3359
90.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
90.0k
#line 2484 "Zend/zend_language_scanner.l"
3361
90.0k
    {
3362
90.0k
  int doc_com;
3363
3364
90.0k
  if (yyleng > 2) {
3365
8.09k
    doc_com = 1;
3366
8.09k
    RESET_DOC_COMMENT();
3367
81.9k
  } else {
3368
81.9k
    doc_com = 0;
3369
81.9k
  }
3370
3371
6.79M
  while (YYCURSOR < YYLIMIT) {
3372
6.77M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
68.6k
      break;
3374
68.6k
    }
3375
6.77M
  }
3376
3377
90.0k
  if (YYCURSOR < YYLIMIT) {
3378
68.6k
    YYCURSOR++;
3379
68.6k
  } else {
3380
21.3k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
21.3k
    if (PARSER_MODE()) {
3382
1.01k
      RETURN_TOKEN(T_ERROR);
3383
1.01k
    }
3384
21.3k
  }
3385
3386
88.9k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
88.9k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
88.9k
  if (doc_com) {
3390
8.02k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
8.02k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
8.02k
  }
3393
3394
80.9k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
80.9k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
67.5k
yy130:
3398
67.5k
    YYDEBUG(130, *YYCURSOR);
3399
67.5k
    ++YYCURSOR;
3400
67.5k
    goto yy13;
3401
2.90k
yy131:
3402
2.90k
    YYDEBUG(131, *YYCURSOR);
3403
2.90k
    ++YYCURSOR;
3404
2.90k
    YYDEBUG(132, *YYCURSOR);
3405
2.90k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
2.90k
#line 1882 "Zend/zend_language_scanner.l"
3407
2.90k
    {
3408
2.90k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
2.90k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
53.2k
yy133:
3412
53.2k
    YYDEBUG(133, *YYCURSOR);
3413
53.2k
    yyaccept = 5;
3414
53.2k
    yych = *(YYMARKER = ++YYCURSOR);
3415
53.2k
    if (yych == '_') goto yy125;
3416
51.7k
    goto yy124;
3417
51.7k
yy134:
3418
4.50k
    YYDEBUG(134, *YYCURSOR);
3419
4.50k
    ++YYCURSOR;
3420
4.50k
    YYFILL(1);
3421
4.50k
    yych = *YYCURSOR;
3422
4.50k
    if (yybm[0+yych] & 8) {
3423
3.12k
      goto yy249;
3424
3.12k
    }
3425
1.37k
    goto yy86;
3426
45.4k
yy135:
3427
45.4k
    YYDEBUG(135, *YYCURSOR);
3428
45.4k
    yych = *++YYCURSOR;
3429
45.4k
    if (yych <= ',') {
3430
2.26k
      if (yych == '+') goto yy252;
3431
1.30k
      goto yy86;
3432
43.2k
    } else {
3433
43.2k
      if (yych <= '-') goto yy252;
3434
28.4k
      if (yych <= '/') goto yy86;
3435
27.2k
      if (yych <= '9') goto yy253;
3436
6.97k
      goto yy86;
3437
27.2k
    }
3438
4.99k
yy136:
3439
4.99k
    YYDEBUG(136, *YYCURSOR);
3440
4.99k
    ++YYCURSOR;
3441
4.99k
    YYFILL(1);
3442
4.99k
    yych = *YYCURSOR;
3443
4.99k
    if (yybm[0+yych] & 16) {
3444
3.05k
      goto yy255;
3445
3.05k
    }
3446
1.94k
    goto yy86;
3447
8.64k
yy137:
3448
8.64k
    YYDEBUG(137, *YYCURSOR);
3449
8.64k
    ++YYCURSOR;
3450
8.64k
    YYFILL(1);
3451
8.64k
    yych = *YYCURSOR;
3452
8.64k
    if (yybm[0+yych] & 32) {
3453
7.88k
      goto yy258;
3454
7.88k
    }
3455
763
    goto yy86;
3456
15.6k
yy138:
3457
15.6k
    YYDEBUG(138, *YYCURSOR);
3458
15.6k
    ++YYCURSOR;
3459
15.6k
    YYFILL(1);
3460
15.6k
    yych = *YYCURSOR;
3461
15.6k
    if (yybm[256+yych] & 64) {
3462
8.22k
      goto yy32;
3463
8.22k
    }
3464
7.39k
    goto yy86;
3465
95.7k
yy139:
3466
95.7k
    YYDEBUG(139, *YYCURSOR);
3467
95.7k
    ++YYCURSOR;
3468
95.7k
    YYDEBUG(140, *YYCURSOR);
3469
95.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
95.7k
#line 1614 "Zend/zend_language_scanner.l"
3471
95.7k
    {
3472
95.7k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
95.7k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
3.64M
yy141:
3476
3.64M
    YYDEBUG(141, *YYCURSOR);
3477
3.64M
    yyaccept = 7;
3478
3.64M
    yych = *(YYMARKER = ++YYCURSOR);
3479
3.64M
    if (yych <= ';') goto yy142;
3480
3.56M
    if (yych <= '<') goto yy261;
3481
194k
    if (yych <= '=') goto yy263;
3482
521k
yy142:
3483
521k
    YYDEBUG(142, *YYCURSOR);
3484
521k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
521k
#line 1942 "Zend/zend_language_scanner.l"
3486
521k
    {
3487
521k
  RETURN_TOKEN(T_SL);
3488
521k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
11.0k
yy143:
3491
11.0k
    YYDEBUG(143, *YYCURSOR);
3492
11.0k
    yych = *++YYCURSOR;
3493
11.0k
    if (yych == '>') goto yy265;
3494
10.3k
    YYDEBUG(144, *YYCURSOR);
3495
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
10.3k
#line 1854 "Zend/zend_language_scanner.l"
3497
10.3k
    {
3498
10.3k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
10.3k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
8.16k
yy145:
3502
8.16k
    YYDEBUG(145, *YYCURSOR);
3503
8.16k
    ++YYCURSOR;
3504
8.16k
    goto yy76;
3505
34.9k
yy146:
3506
34.9k
    YYDEBUG(146, *YYCURSOR);
3507
34.9k
    yych = *++YYCURSOR;
3508
34.9k
    if (yych == '=') goto yy267;
3509
21.7k
    YYDEBUG(147, *YYCURSOR);
3510
21.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
21.7k
#line 1842 "Zend/zend_language_scanner.l"
3512
21.7k
    {
3513
21.7k
  RETURN_TOKEN(T_IS_EQUAL);
3514
21.7k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
43.3k
yy148:
3517
43.3k
    YYDEBUG(148, *YYCURSOR);
3518
43.3k
    ++YYCURSOR;
3519
43.3k
    YYDEBUG(149, *YYCURSOR);
3520
43.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
43.3k
#line 1810 "Zend/zend_language_scanner.l"
3522
43.3k
    {
3523
43.3k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
43.3k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
4.09k
yy150:
3527
4.09k
    YYDEBUG(150, *YYCURSOR);
3528
4.09k
    ++YYCURSOR;
3529
4.09k
    YYDEBUG(151, *YYCURSOR);
3530
4.09k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
4.09k
#line 1858 "Zend/zend_language_scanner.l"
3532
4.09k
    {
3533
4.09k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
4.09k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
11.2k
yy152:
3537
11.2k
    YYDEBUG(152, *YYCURSOR);
3538
11.2k
    yych = *++YYCURSOR;
3539
11.2k
    if (yych == '=') goto yy269;
3540
10.7k
    YYDEBUG(153, *YYCURSOR);
3541
10.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
10.7k
#line 1946 "Zend/zend_language_scanner.l"
3543
10.7k
    {
3544
10.7k
  RETURN_TOKEN(T_SR);
3545
10.7k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
39.9k
yy154:
3548
39.9k
    YYDEBUG(154, *YYCURSOR);
3549
39.9k
    yych = *++YYCURSOR;
3550
39.9k
    if (yych == '>') goto yy271;
3551
2.87k
    goto yy86;
3552
127k
yy155:
3553
127k
    YYDEBUG(155, *YYCURSOR);
3554
127k
    yych = *++YYCURSOR;
3555
127k
    if (yych == '\n') goto yy273;
3556
118k
    if (yych == '\r') goto yy274;
3557
127k
yy156:
3558
127k
    YYDEBUG(156, *YYCURSOR);
3559
127k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
127k
#line 2526 "Zend/zend_language_scanner.l"
3561
127k
    {
3562
127k
  BEGIN(INITIAL);
3563
127k
  if (yytext[yyleng-1] != '>') {
3564
9.53k
    CG(increment_lineno) = 1;
3565
9.53k
  }
3566
127k
  if (PARSER_MODE()) {
3567
101k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
101k
  }
3569
25.4k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
25.4k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
47.7k
yy157:
3573
47.7k
    YYDEBUG(157, *YYCURSOR);
3574
47.7k
    yych = *++YYCURSOR;
3575
47.7k
    if (yych == '=') goto yy275;
3576
39.2k
    YYDEBUG(158, *YYCURSOR);
3577
39.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
39.2k
#line 1622 "Zend/zend_language_scanner.l"
3579
39.2k
    {
3580
39.2k
  RETURN_TOKEN(T_COALESCE);
3581
39.2k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
12.5k
yy159:
3584
12.5k
    YYDEBUG(159, *YYCURSOR);
3585
12.5k
    yyaccept = 4;
3586
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
3587
12.5k
    if (yych == 'S') goto yy277;
3588
10.6k
    if (yych == 's') goto yy277;
3589
3.18k
    goto yy48;
3590
7.57k
yy160:
3591
7.57k
    YYDEBUG(160, *YYCURSOR);
3592
7.57k
    yyaccept = 4;
3593
7.57k
    yych = *(YYMARKER = ++YYCURSOR);
3594
7.57k
    if (yych == 'D') goto yy278;
3595
6.82k
    if (yych == 'd') goto yy278;
3596
1.96k
    goto yy48;
3597
35.3k
yy161:
3598
35.3k
    YYDEBUG(161, *YYCURSOR);
3599
35.3k
    yyaccept = 4;
3600
35.3k
    yych = *(YYMARKER = ++YYCURSOR);
3601
35.3k
    if (yych == 'R') goto yy280;
3602
35.0k
    if (yych == 'r') goto yy280;
3603
8.52k
    goto yy48;
3604
52.5k
yy162:
3605
52.5k
    YYDEBUG(162, *YYCURSOR);
3606
52.5k
    yyaccept = 8;
3607
52.5k
    yych = *(YYMARKER = ++YYCURSOR);
3608
52.5k
    if (yybm[256+yych] & 128) {
3609
28.4k
      goto yy47;
3610
28.4k
    }
3611
24.1k
    if (yych == '\\') goto yy164;
3612
24.1k
yy163:
3613
24.1k
    YYDEBUG(163, *YYCURSOR);
3614
24.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
24.1k
#line 1510 "Zend/zend_language_scanner.l"
3616
24.1k
    {
3617
24.1k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
24.1k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
81.4k
yy164:
3621
81.4k
    YYDEBUG(164, *YYCURSOR);
3622
81.4k
    ++YYCURSOR;
3623
81.4k
    YYFILL(1);
3624
81.4k
    yych = *YYCURSOR;
3625
81.4k
    if (yych <= '_') {
3626
56.7k
      if (yych <= '@') goto yy86;
3627
32.0k
      if (yych <= 'Z') goto yy281;
3628
15.0k
      if (yych <= '^') goto yy86;
3629
1.52k
      goto yy281;
3630
24.6k
    } else {
3631
24.6k
      if (yych <= '`') goto yy86;
3632
23.3k
      if (yych <= 'z') goto yy281;
3633
11.6k
      if (yych <= 0x7F) goto yy86;
3634
4.59k
      goto yy281;
3635
11.6k
    }
3636
6.34k
yy165:
3637
6.34k
    YYDEBUG(165, *YYCURSOR);
3638
6.34k
    yych = *++YYCURSOR;
3639
6.34k
    if (yych == '<') goto yy284;
3640
1.85k
    goto yy86;
3641
6.88k
yy166:
3642
6.88k
    YYDEBUG(166, *YYCURSOR);
3643
6.88k
    yyaccept = 4;
3644
6.88k
    yych = *(YYMARKER = ++YYCURSOR);
3645
6.88k
    if (yych == 'E') goto yy285;
3646
5.70k
    if (yych == 'e') goto yy285;
3647
1.89k
    goto yy48;
3648
71.1k
yy167:
3649
71.1k
    YYDEBUG(167, *YYCURSOR);
3650
71.1k
    yyaccept = 4;
3651
71.1k
    yych = *(YYMARKER = ++YYCURSOR);
3652
71.1k
    if (yych <= 'T') {
3653
5.06k
      if (yych <= 'L') {
3654
3.48k
        if (yych <= 'K') goto yy48;
3655
1.72k
        goto yy286;
3656
3.48k
      } else {
3657
1.57k
        if (yych <= 'R') goto yy48;
3658
1.27k
        if (yych <= 'S') goto yy287;
3659
986
        goto yy288;
3660
1.27k
      }
3661
66.0k
    } else {
3662
66.0k
      if (yych <= 'r') {
3663
17.6k
        if (yych == 'l') goto yy286;
3664
2.88k
        goto yy48;
3665
48.4k
      } else {
3666
48.4k
        if (yych <= 's') goto yy287;
3667
38.5k
        if (yych <= 't') goto yy288;
3668
759
        goto yy48;
3669
38.5k
      }
3670
66.0k
    }
3671
90.7k
yy168:
3672
90.7k
    YYDEBUG(168, *YYCURSOR);
3673
90.7k
    yyaccept = 4;
3674
90.7k
    yych = *(YYMARKER = ++YYCURSOR);
3675
90.7k
    if (yych <= 'O') {
3676
6.69k
      if (yych == 'A') goto yy289;
3677
4.89k
      if (yych <= 'N') goto yy48;
3678
680
      goto yy290;
3679
84.0k
    } else {
3680
84.0k
      if (yych <= 'a') {
3681
71.3k
        if (yych <= '`') goto yy48;
3682
70.5k
        goto yy289;
3683
71.3k
      } else {
3684
12.7k
        if (yych == 'o') goto yy290;
3685
3.25k
        goto yy48;
3686
12.7k
      }
3687
84.0k
    }
3688
58.4k
yy169:
3689
58.4k
    YYDEBUG(169, *YYCURSOR);
3690
58.4k
    yyaccept = 4;
3691
58.4k
    yych = *(YYMARKER = ++YYCURSOR);
3692
58.4k
    if (yych == 'N') goto yy291;
3693
52.7k
    if (yych == 'n') goto yy291;
3694
8.16k
    goto yy48;
3695
24.8k
yy170:
3696
24.8k
    YYDEBUG(170, *YYCURSOR);
3697
24.8k
    yyaccept = 4;
3698
24.8k
    yych = *(YYMARKER = ++YYCURSOR);
3699
24.8k
    if (yych <= 'F') {
3700
3.39k
      if (yych == 'C') goto yy292;
3701
2.19k
      if (yych <= 'E') goto yy48;
3702
821
      goto yy293;
3703
21.4k
    } else {
3704
21.4k
      if (yych <= 'c') {
3705
11.2k
        if (yych <= 'b') goto yy48;
3706
8.23k
        goto yy292;
3707
11.2k
      } else {
3708
10.2k
        if (yych == 'f') goto yy293;
3709
2.74k
        goto yy48;
3710
10.2k
      }
3711
21.4k
    }
3712
9.02k
yy171:
3713
9.02k
    YYDEBUG(171, *YYCURSOR);
3714
9.02k
    yyaccept = 4;
3715
9.02k
    yych = *(YYMARKER = ++YYCURSOR);
3716
9.02k
    if (yych == 'E') goto yy294;
3717
8.75k
    if (yych == 'e') goto yy294;
3718
2.21k
    goto yy48;
3719
17.5k
yy172:
3720
17.5k
    YYDEBUG(172, *YYCURSOR);
3721
17.5k
    yyaccept = 9;
3722
17.5k
    yych = *(YYMARKER = ++YYCURSOR);
3723
17.5k
    if (yybm[256+yych] & 128) {
3724
14.5k
      goto yy47;
3725
14.5k
    }
3726
3.00k
    if (yych == '\\') goto yy164;
3727
2.35k
yy173:
3728
2.35k
    YYDEBUG(173, *YYCURSOR);
3729
2.35k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
2.35k
#line 1478 "Zend/zend_language_scanner.l"
3731
2.35k
    {
3732
2.35k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
2.35k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
81.4k
yy174:
3736
81.4k
    YYDEBUG(174, *YYCURSOR);
3737
81.4k
    yyaccept = 4;
3738
81.4k
    yych = *(YYMARKER = ++YYCURSOR);
3739
81.4k
    if (yych == 'H') goto yy296;
3740
81.2k
    if (yych == 'h') goto yy296;
3741
6.85k
    goto yy48;
3742
19.5k
yy175:
3743
19.5k
    YYDEBUG(175, *YYCURSOR);
3744
19.5k
    yyaccept = 4;
3745
19.5k
    yych = *(YYMARKER = ++YYCURSOR);
3746
19.5k
    if (yych == 'S') goto yy297;
3747
18.8k
    if (yych == 's') goto yy297;
3748
4.78k
    goto yy48;
3749
8.57k
yy176:
3750
8.57k
    YYDEBUG(176, *YYCURSOR);
3751
8.57k
    yyaccept = 4;
3752
8.57k
    yych = *(YYMARKER = ++YYCURSOR);
3753
8.57k
    if (yych == 'P') goto yy298;
3754
6.86k
    if (yych == 'p') goto yy298;
3755
3.20k
    goto yy48;
3756
265k
yy177:
3757
265k
    YYDEBUG(177, *YYCURSOR);
3758
265k
    yyaccept = 4;
3759
265k
    yych = *(YYMARKER = ++YYCURSOR);
3760
265k
    if (yych <= 'U') {
3761
31.9k
      if (yych == 'D') goto yy299;
3762
11.4k
      if (yych <= 'T') goto yy48;
3763
2.56k
      goto yy300;
3764
233k
    } else {
3765
233k
      if (yych <= 'd') {
3766
34.6k
        if (yych <= 'c') goto yy48;
3767
31.6k
        goto yy299;
3768
199k
      } else {
3769
199k
        if (yych == 'u') goto yy300;
3770
10.4k
        goto yy48;
3771
199k
      }
3772
233k
    }
3773
10.4k
yy178:
3774
10.4k
    YYDEBUG(178, *YYCURSOR);
3775
10.4k
    yyaccept = 4;
3776
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
3777
10.4k
    if (yych == 'A') goto yy301;
3778
10.1k
    if (yych == 'a') goto yy301;
3779
2.17k
    goto yy48;
3780
63.3k
yy179:
3781
63.3k
    YYDEBUG(179, *YYCURSOR);
3782
63.3k
    yyaccept = 4;
3783
63.3k
    yych = *(YYMARKER = ++YYCURSOR);
3784
63.3k
    if (yych <= 'T') {
3785
8.69k
      if (yych == 'I') goto yy302;
3786
8.29k
      if (yych <= 'S') goto yy48;
3787
3.14k
      goto yy303;
3788
54.7k
    } else {
3789
54.7k
      if (yych <= 'i') {
3790
29.1k
        if (yych <= 'h') goto yy48;
3791
2.53k
        goto yy302;
3792
29.1k
      } else {
3793
25.5k
        if (yych == 't') goto yy303;
3794
4.00k
        goto yy48;
3795
25.5k
      }
3796
54.7k
    }
3797
21.6k
yy180:
3798
21.6k
    YYDEBUG(180, *YYCURSOR);
3799
21.6k
    yyaccept = 4;
3800
21.6k
    yych = *(YYMARKER = ++YYCURSOR);
3801
21.6k
    if (yych == 'N') goto yy304;
3802
21.0k
    if (yych == 'n') goto yy304;
3803
5.23k
    goto yy48;
3804
20.6k
yy181:
3805
20.6k
    YYDEBUG(181, *YYCURSOR);
3806
20.6k
    yyaccept = 10;
3807
20.6k
    yych = *(YYMARKER = ++YYCURSOR);
3808
20.6k
    if (yybm[256+yych] & 128) {
3809
3.13k
      goto yy47;
3810
3.13k
    }
3811
17.4k
    if (yych == '\\') goto yy164;
3812
17.1k
yy182:
3813
17.1k
    YYDEBUG(182, *YYCURSOR);
3814
17.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
17.1k
#line 1407 "Zend/zend_language_scanner.l"
3816
17.1k
    {
3817
17.1k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
17.1k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
108k
yy183:
3821
108k
    YYDEBUG(183, *YYCURSOR);
3822
108k
    yyaccept = 4;
3823
108k
    yych = *(YYMARKER = ++YYCURSOR);
3824
108k
    if (yych == 'R') goto yy305;
3825
107k
    if (yych == 'r') goto yy305;
3826
50.7k
    goto yy48;
3827
106k
yy184:
3828
106k
    YYDEBUG(184, *YYCURSOR);
3829
106k
    yyaccept = 4;
3830
106k
    yych = *(YYMARKER = ++YYCURSOR);
3831
106k
    if (yych == 'N') goto yy307;
3832
104k
    if (yych == 'n') goto yy307;
3833
2.90k
    goto yy48;
3834
8.59k
yy185:
3835
8.59k
    YYDEBUG(185, *YYCURSOR);
3836
8.59k
    yyaccept = 4;
3837
8.59k
    yych = *(YYMARKER = ++YYCURSOR);
3838
8.59k
    if (yych == 'O') goto yy308;
3839
5.86k
    if (yych == 'o') goto yy308;
3840
1.14k
    goto yy48;
3841
5.55k
yy186:
3842
5.55k
    YYDEBUG(186, *YYCURSOR);
3843
5.55k
    yyaccept = 4;
3844
5.55k
    yych = *(YYMARKER = ++YYCURSOR);
3845
5.55k
    if (yych == 'T') goto yy309;
3846
4.40k
    if (yych == 't') goto yy309;
3847
727
    goto yy48;
3848
23.1k
yy187:
3849
23.1k
    YYDEBUG(187, *YYCURSOR);
3850
23.1k
    yyaccept = 11;
3851
23.1k
    yych = *(YYMARKER = ++YYCURSOR);
3852
23.1k
    if (yybm[256+yych] & 128) {
3853
926
      goto yy47;
3854
926
    }
3855
22.1k
    if (yych == '\\') goto yy164;
3856
22.1k
yy188:
3857
22.1k
    YYDEBUG(188, *YYCURSOR);
3858
22.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
22.1k
#line 1454 "Zend/zend_language_scanner.l"
3860
22.1k
    {
3861
22.1k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
22.1k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
41.7k
yy189:
3865
41.7k
    YYDEBUG(189, *YYCURSOR);
3866
41.7k
    yyaccept = 4;
3867
41.7k
    yych = *(YYMARKER = ++YYCURSOR);
3868
41.7k
    if (yych == 'P') goto yy310;
3869
35.2k
    if (yych == 'p') goto yy310;
3870
9.69k
    goto yy48;
3871
105k
yy190:
3872
105k
    YYDEBUG(190, *YYCURSOR);
3873
105k
    yyaccept = 4;
3874
105k
    yych = *(YYMARKER = ++YYCURSOR);
3875
105k
    if (yych <= 'T') {
3876
21.0k
      if (yych <= 'C') {
3877
11.3k
        if (yych <= 'B') goto yy48;
3878
2.34k
        goto yy311;
3879
11.3k
      } else {
3880
9.64k
        if (yych <= 'R') goto yy48;
3881
3.00k
        if (yych <= 'S') goto yy312;
3882
1.22k
        goto yy313;
3883
3.00k
      }
3884
84.3k
    } else {
3885
84.3k
      if (yych <= 'r') {
3886
37.8k
        if (yych == 'c') goto yy311;
3887
25.0k
        goto yy48;
3888
46.5k
      } else {
3889
46.5k
        if (yych <= 's') goto yy312;
3890
30.4k
        if (yych <= 't') goto yy313;
3891
4.54k
        goto yy48;
3892
30.4k
      }
3893
84.3k
    }
3894
29.0k
yy191:
3895
29.0k
    YYDEBUG(191, *YYCURSOR);
3896
29.0k
    yyaccept = 4;
3897
29.0k
    yych = *(YYMARKER = ++YYCURSOR);
3898
29.0k
    if (yych == 'S') goto yy314;
3899
28.7k
    if (yych == 's') goto yy314;
3900
10.8k
    goto yy48;
3901
10.8k
yy192:
3902
7.57k
    YYDEBUG(192, *YYCURSOR);
3903
7.57k
    yyaccept = 4;
3904
7.57k
    yych = *(YYMARKER = ++YYCURSOR);
3905
7.57k
    if (yych == 'S') goto yy315;
3906
7.28k
    if (yych == 's') goto yy315;
3907
2.70k
    goto yy48;
3908
8.39k
yy193:
3909
8.39k
    YYDEBUG(193, *YYCURSOR);
3910
8.39k
    yyaccept = 4;
3911
8.39k
    yych = *(YYMARKER = ++YYCURSOR);
3912
8.39k
    if (yych == 'T') goto yy316;
3913
8.17k
    if (yych == 't') goto yy316;
3914
4.36k
    goto yy48;
3915
36.0k
yy194:
3916
36.0k
    YYDEBUG(194, *YYCURSOR);
3917
36.0k
    yyaccept = 4;
3918
36.0k
    yych = *(YYMARKER = ++YYCURSOR);
3919
36.0k
    if (yych == 'M') goto yy317;
3920
34.7k
    if (yych == 'm') goto yy317;
3921
2.14k
    goto yy48;
3922
83.6k
yy195:
3923
83.6k
    YYDEBUG(195, *YYCURSOR);
3924
83.6k
    yyaccept = 4;
3925
83.6k
    yych = *(YYMARKER = ++YYCURSOR);
3926
83.6k
    if (yych == 'W') goto yy318;
3927
82.6k
    if (yych == 'w') goto yy318;
3928
6.61k
    goto yy48;
3929
7.80k
yy196:
3930
7.80k
    YYDEBUG(196, *YYCURSOR);
3931
7.80k
    yyaccept = 12;
3932
7.80k
    yych = *(YYMARKER = ++YYCURSOR);
3933
7.80k
    if (yybm[256+yych] & 128) {
3934
3.52k
      goto yy47;
3935
3.52k
    }
3936
4.27k
    if (yych == '\\') goto yy164;
3937
4.22k
yy197:
3938
4.22k
    YYDEBUG(197, *YYCURSOR);
3939
4.22k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
4.22k
#line 1930 "Zend/zend_language_scanner.l"
3941
4.22k
    {
3942
4.22k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
4.22k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
54.7k
yy198:
3946
54.7k
    YYDEBUG(198, *YYCURSOR);
3947
54.7k
    yyaccept = 4;
3948
54.7k
    yych = *(YYMARKER = ++YYCURSOR);
3949
54.7k
    if (yych <= 'O') {
3950
6.74k
      if (yych == 'I') goto yy320;
3951
4.84k
      if (yych <= 'N') goto yy48;
3952
3.17k
      goto yy321;
3953
47.9k
    } else {
3954
47.9k
      if (yych <= 'i') {
3955
36.6k
        if (yych <= 'h') goto yy48;
3956
30.8k
        goto yy320;
3957
36.6k
      } else {
3958
11.3k
        if (yych == 'o') goto yy321;
3959
1.04k
        goto yy48;
3960
11.3k
      }
3961
47.9k
    }
3962
71.5k
yy199:
3963
71.5k
    YYDEBUG(199, *YYCURSOR);
3964
71.5k
    yyaccept = 4;
3965
71.5k
    yych = *(YYMARKER = ++YYCURSOR);
3966
71.5k
    if (yych == 'B') goto yy322;
3967
69.4k
    if (yych == 'b') goto yy322;
3968
3.92k
    goto yy48;
3969
84.1k
yy200:
3970
84.1k
    YYDEBUG(200, *YYCURSOR);
3971
84.1k
    yyaccept = 4;
3972
84.1k
    yych = *(YYMARKER = ++YYCURSOR);
3973
84.1k
    if (yych <= 'T') {
3974
7.14k
      if (yych <= 'P') {
3975
5.52k
        if (yych == 'A') goto yy323;
3976
5.12k
        goto yy48;
3977
5.52k
      } else {
3978
1.62k
        if (yych <= 'Q') goto yy324;
3979
882
        if (yych <= 'S') goto yy48;
3980
682
        goto yy325;
3981
882
      }
3982
77.0k
    } else {
3983
77.0k
      if (yych <= 'p') {
3984
18.9k
        if (yych == 'a') goto yy323;
3985
7.36k
        goto yy48;
3986
58.0k
      } else {
3987
58.0k
        if (yych <= 'q') goto yy324;
3988
34.1k
        if (yych == 't') goto yy325;
3989
7.15k
        goto yy48;
3990
34.1k
      }
3991
77.0k
    }
3992
59.5k
yy201:
3993
59.5k
    YYDEBUG(201, *YYCURSOR);
3994
59.5k
    yyaccept = 4;
3995
59.5k
    yych = *(YYMARKER = ++YYCURSOR);
3996
59.5k
    if (yych == 'A') goto yy326;
3997
58.5k
    if (yych == 'a') goto yy326;
3998
39.6k
    goto yy48;
3999
39.6k
yy202:
4000
9.36k
    YYDEBUG(202, *YYCURSOR);
4001
9.36k
    yyaccept = 4;
4002
9.36k
    yych = *(YYMARKER = ++YYCURSOR);
4003
9.36k
    if (yych == 'I') goto yy327;
4004
8.72k
    if (yych == 'i') goto yy327;
4005
843
    goto yy48;
4006
16.5k
yy203:
4007
16.5k
    YYDEBUG(203, *YYCURSOR);
4008
16.5k
    yyaccept = 4;
4009
16.5k
    yych = *(YYMARKER = ++YYCURSOR);
4010
16.5k
    if (yych == 'R') goto yy328;
4011
16.2k
    if (yych == 'r') goto yy328;
4012
3.76k
    goto yy48;
4013
71.3k
yy204:
4014
71.3k
    YYDEBUG(204, *YYCURSOR);
4015
71.3k
    yyaccept = 4;
4016
71.3k
    yych = *(YYMARKER = ++YYCURSOR);
4017
71.3k
    if (yych <= 'Y') {
4018
6.20k
      if (yych == 'A') goto yy329;
4019
4.11k
      if (yych <= 'X') goto yy48;
4020
254
      goto yy330;
4021
65.1k
    } else {
4022
65.1k
      if (yych <= 'a') {
4023
10.9k
        if (yych <= '`') goto yy48;
4024
10.3k
        goto yy329;
4025
54.1k
      } else {
4026
54.1k
        if (yych == 'y') goto yy330;
4027
11.0k
        goto yy48;
4028
54.1k
      }
4029
65.1k
    }
4030
19.3k
yy205:
4031
19.3k
    YYDEBUG(205, *YYCURSOR);
4032
19.3k
    yyaccept = 4;
4033
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
4034
19.3k
    if (yych == 'S') goto yy332;
4035
18.7k
    if (yych == 's') goto yy332;
4036
3.96k
    goto yy48;
4037
14.6k
yy206:
4038
14.6k
    YYDEBUG(206, *YYCURSOR);
4039
14.6k
    yyaccept = 4;
4040
14.6k
    yych = *(YYMARKER = ++YYCURSOR);
4041
14.6k
    if (yych == 'E') goto yy333;
4042
14.0k
    if (yych == 'e') goto yy333;
4043
1.19k
    goto yy48;
4044
97.4k
yy207:
4045
97.4k
    YYDEBUG(207, *YYCURSOR);
4046
97.4k
    yyaccept = 4;
4047
97.4k
    yych = *(YYMARKER = ++YYCURSOR);
4048
97.4k
    if (yych == 'R') goto yy335;
4049
97.1k
    if (yych == 'r') goto yy335;
4050
5.74k
    goto yy48;
4051
7.45k
yy208:
4052
7.45k
    YYDEBUG(208, *YYCURSOR);
4053
7.45k
    yyaccept = 4;
4054
7.45k
    yych = *(YYMARKER = ++YYCURSOR);
4055
7.45k
    if (yych == 'I') goto yy337;
4056
6.58k
    if (yych == 'i') goto yy337;
4057
1.26k
    goto yy48;
4058
4.69k
yy209:
4059
4.69k
    YYDEBUG(209, *YYCURSOR);
4060
4.69k
    yyaccept = 4;
4061
4.69k
    yych = *(YYMARKER = ++YYCURSOR);
4062
4.69k
    if (yych == 'R') goto yy338;
4063
4.03k
    if (yych == 'r') goto yy338;
4064
487
    goto yy48;
4065
91.4k
yy210:
4066
91.4k
    YYDEBUG(210, *YYCURSOR);
4067
91.4k
    yyaccept = 4;
4068
91.4k
    yych = *(YYMARKER = ++YYCURSOR);
4069
91.4k
    if (yych == 'E') goto yy340;
4070
89.1k
    if (yych == 'e') goto yy340;
4071
4.07k
    goto yy48;
4072
311k
yy211:
4073
311k
    YYDEBUG(211, *YYCURSOR);
4074
311k
    yyaccept = 13;
4075
311k
    YYMARKER = ++YYCURSOR;
4076
311k
    YYFILL(1);
4077
311k
    yych = *YYCURSOR;
4078
311k
    YYDEBUG(212, *YYCURSOR);
4079
311k
    if (yych <= '\\') {
4080
113k
      if (yych <= '@') {
4081
50.4k
        if (yych <= '/') goto yy213;
4082
20.6k
        if (yych <= '9') goto yy211;
4083
63.1k
      } else {
4084
63.1k
        if (yych <= 'Z') goto yy211;
4085
21.7k
        if (yych >= '\\') goto yy341;
4086
21.7k
      }
4087
197k
    } else {
4088
197k
      if (yych <= '`') {
4089
12.5k
        if (yych == '_') goto yy211;
4090
185k
      } else {
4091
185k
        if (yych <= 'z') goto yy211;
4092
52.7k
        if (yych >= 0x80) goto yy211;
4093
52.7k
      }
4094
197k
    }
4095
57.5k
yy213:
4096
57.5k
    YYDEBUG(213, *YYCURSOR);
4097
57.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
57.5k
#line 2447 "Zend/zend_language_scanner.l"
4099
57.5k
    {
4100
57.5k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
57.5k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
1.66k
yy214:
4104
1.66k
    YYDEBUG(214, *YYCURSOR);
4105
1.66k
    ++YYCURSOR;
4106
1.66k
    YYDEBUG(215, *YYCURSOR);
4107
1.66k
    yyleng = YYCURSOR - SCNG(yy_text);
4108
1.66k
#line 1910 "Zend/zend_language_scanner.l"
4109
1.66k
    {
4110
1.66k
  RETURN_TOKEN(T_XOR_EQUAL);
4111
1.66k
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
145k
yy216:
4114
145k
    YYDEBUG(216, *YYCURSOR);
4115
145k
    yyaccept = 4;
4116
145k
    yych = *(YYMARKER = ++YYCURSOR);
4117
145k
    switch (yych) {
4118
4.63k
    case 'C':
4119
21.3k
    case 'c': goto yy342;
4120
4.38k
    case 'D':
4121
13.1k
    case 'd': goto yy343;
4122
10.0k
    case 'F':
4123
26.3k
    case 'f': goto yy344;
4124
1.28k
    case 'H':
4125
10.2k
    case 'h': goto yy345;
4126
2.44k
    case 'L':
4127
6.37k
    case 'l': goto yy346;
4128
8.26k
    case 'M':
4129
14.8k
    case 'm': goto yy347;
4130
5.97k
    case 'N':
4131
10.9k
    case 'n': goto yy348;
4132
4.16k
    case 'P':
4133
5.24k
    case 'p': goto yy349;
4134
1.38k
    case 'T':
4135
13.9k
    case 't': goto yy350;
4136
22.8k
    default:  goto yy48;
4137
145k
    }
4138
3.42k
yy217:
4139
3.42k
    YYDEBUG(217, *YYCURSOR);
4140
3.42k
    ++YYCURSOR;
4141
3.42k
    YYDEBUG(218, *YYCURSOR);
4142
3.42k
    yyleng = YYCURSOR - SCNG(yy_text);
4143
3.42k
#line 1906 "Zend/zend_language_scanner.l"
4144
3.42k
    {
4145
3.42k
  RETURN_TOKEN(T_OR_EQUAL);
4146
3.42k
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
6.58k
yy219:
4149
6.58k
    YYDEBUG(219, *YYCURSOR);
4150
6.58k
    ++YYCURSOR;
4151
6.58k
    YYDEBUG(220, *YYCURSOR);
4152
6.58k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
6.58k
#line 1918 "Zend/zend_language_scanner.l"
4154
6.58k
    {
4155
6.58k
  RETURN_TOKEN(T_PIPE);
4156
6.58k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
6.64k
yy221:
4159
6.64k
    YYDEBUG(221, *YYCURSOR);
4160
6.64k
    ++YYCURSOR;
4161
6.64k
    YYDEBUG(222, *YYCURSOR);
4162
6.64k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
6.64k
#line 1922 "Zend/zend_language_scanner.l"
4164
6.64k
    {
4165
6.64k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
6.64k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
2.12k
yy223:
4169
2.12k
    YYDEBUG(223, *YYCURSOR);
4170
2.12k
    ++YYCURSOR;
4171
2.12k
    YYDEBUG(224, *YYCURSOR);
4172
2.12k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
2.12k
#line 1838 "Zend/zend_language_scanner.l"
4174
2.12k
    {
4175
2.12k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
2.12k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
1.48M
yy225:
4179
1.48M
    YYDEBUG(225, *YYCURSOR);
4180
1.48M
    ++YYCURSOR;
4181
1.48M
    YYFILL(1);
4182
1.48M
    yych = *YYCURSOR;
4183
1.48M
    YYDEBUG(226, *YYCURSOR);
4184
1.48M
    if (yybm[0+yych] & 2) {
4185
695k
      goto yy225;
4186
695k
    }
4187
786k
    if (yych <= 0x00) goto yy86;
4188
781k
    goto yy84;
4189
821k
yy227:
4190
821k
    YYDEBUG(227, *YYCURSOR);
4191
821k
    ++YYCURSOR;
4192
821k
    YYFILL(1);
4193
821k
    yych = *YYCURSOR;
4194
821k
    YYDEBUG(228, *YYCURSOR);
4195
821k
    if (yych <= 0x1F) {
4196
12.9k
      if (yych <= '\t') {
4197
4.24k
        if (yych <= 0x00) goto yy86;
4198
3.90k
        if (yych <= 0x08) goto yy225;
4199
610
        goto yy227;
4200
8.74k
      } else {
4201
8.74k
        if (yych <= '\n') goto yy84;
4202
7.05k
        if (yych == '\r') goto yy84;
4203
2.79k
        goto yy225;
4204
7.05k
      }
4205
808k
    } else {
4206
808k
      if (yych <= '$') {
4207
16.5k
        if (yych <= ' ') goto yy227;
4208
15.4k
        if (yych <= '"') goto yy225;
4209
14.8k
        if (yych <= '#') goto yy351;
4210
2.99k
        goto yy352;
4211
791k
      } else {
4212
791k
        if (yych <= '-') goto yy225;
4213
128k
        if (yych <= '.') goto yy353;
4214
112k
        if (yych <= '/') goto yy354;
4215
29.2k
        goto yy225;
4216
112k
      }
4217
808k
    }
4218
1.79k
yy229:
4219
1.79k
    YYDEBUG(229, *YYCURSOR);
4220
1.79k
    yych = *++YYCURSOR;
4221
1.79k
    if (yych == '.') goto yy88;
4222
808
    goto yy86;
4223
526k
yy230:
4224
526k
    YYDEBUG(230, *YYCURSOR);
4225
526k
    ++YYCURSOR;
4226
526k
    YYFILL(1);
4227
526k
    yych = *YYCURSOR;
4228
526k
    YYDEBUG(231, *YYCURSOR);
4229
526k
    if (yybm[0+yych] & 4) {
4230
501k
      goto yy230;
4231
501k
    }
4232
24.4k
    if (yych <= 0x00) goto yy86;
4233
15.4k
    goto yy355;
4234
15.4k
yy232:
4235
12.6k
    YYDEBUG(232, *YYCURSOR);
4236
12.6k
    yych = *++YYCURSOR;
4237
12.6k
    if (yych == 'R') goto yy357;
4238
12.5k
    if (yych == 'r') goto yy357;
4239
2.56k
    goto yy86;
4240
3.67k
yy233:
4241
3.67k
    YYDEBUG(233, *YYCURSOR);
4242
3.67k
    yych = *++YYCURSOR;
4243
3.67k
    if (yych == 'N') goto yy358;
4244
3.33k
    if (yych == 'n') goto yy358;
4245
1.09k
    goto yy86;
4246
3.81k
yy234:
4247
3.81k
    YYDEBUG(234, *YYCURSOR);
4248
3.81k
    yych = *++YYCURSOR;
4249
3.81k
    if (yych == 'O') goto yy359;
4250
3.50k
    if (yych == 'o') goto yy359;
4251
632
    goto yy86;
4252
4.39k
yy235:
4253
4.39k
    YYDEBUG(235, *YYCURSOR);
4254
4.39k
    yych = *++YYCURSOR;
4255
4.39k
    if (yych == 'U') goto yy360;
4256
4.12k
    if (yych == 'u') goto yy360;
4257
547
    goto yy86;
4258
4.15k
yy236:
4259
4.15k
    YYDEBUG(236, *YYCURSOR);
4260
4.15k
    yych = *++YYCURSOR;
4261
4.15k
    if (yych == 'O') goto yy361;
4262
2.84k
    if (yych == 'o') goto yy361;
4263
1.18k
    goto yy86;
4264
10.8k
yy237:
4265
10.8k
    YYDEBUG(237, *YYCURSOR);
4266
10.8k
    yych = *++YYCURSOR;
4267
10.8k
    if (yych == 'T') goto yy362;
4268
9.95k
    if (yych == 't') goto yy362;
4269
2.64k
    goto yy86;
4270
5.89k
yy238:
4271
5.89k
    YYDEBUG(238, *YYCURSOR);
4272
5.89k
    yych = *++YYCURSOR;
4273
5.89k
    if (yych == 'J') goto yy363;
4274
5.60k
    if (yych == 'j') goto yy363;
4275
1.18k
    goto yy86;
4276
5.50k
yy239:
4277
5.50k
    YYDEBUG(239, *YYCURSOR);
4278
5.50k
    yych = *++YYCURSOR;
4279
5.50k
    if (yych == 'A') goto yy364;
4280
4.59k
    if (yych == 'a') goto yy364;
4281
3.11k
    goto yy86;
4282
18.1k
yy240:
4283
18.1k
    YYDEBUG(240, *YYCURSOR);
4284
18.1k
    yych = *++YYCURSOR;
4285
18.1k
    if (yych == 'R') goto yy365;
4286
17.8k
    if (yych == 'r') goto yy365;
4287
1.86k
    goto yy86;
4288
4.21k
yy241:
4289
4.21k
    YYDEBUG(241, *YYCURSOR);
4290
4.21k
    yych = *++YYCURSOR;
4291
4.21k
    if (yych == 'S') goto yy366;
4292
3.92k
    if (yych == 's') goto yy366;
4293
859
    goto yy86;
4294
2.19k
yy242:
4295
2.19k
    YYDEBUG(242, *YYCURSOR);
4296
2.19k
    yych = *++YYCURSOR;
4297
2.19k
    if (yych == 'I') goto yy367;
4298
2.14k
    if (yych == 'i') goto yy367;
4299
471
    goto yy86;
4300
471
yy243:
4301
384
    YYDEBUG(243, *YYCURSOR);
4302
384
    ++YYCURSOR;
4303
384
    YYDEBUG(244, *YYCURSOR);
4304
384
    yyleng = YYCURSOR - SCNG(yy_text);
4305
384
#line 1878 "Zend/zend_language_scanner.l"
4306
384
    {
4307
384
  RETURN_TOKEN(T_POW_EQUAL);
4308
384
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
33.0k
yy245:
4311
33.0k
    YYDEBUG(245, *YYCURSOR);
4312
33.0k
    ++YYCURSOR;
4313
33.0k
    YYDEBUG(246, *YYCURSOR);
4314
33.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
33.0k
#line 1618 "Zend/zend_language_scanner.l"
4316
33.0k
    {
4317
33.0k
  RETURN_TOKEN(T_ELLIPSIS);
4318
33.0k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
2.59k
yy247:
4321
2.59k
    YYDEBUG(247, *YYCURSOR);
4322
2.59k
    ++YYCURSOR;
4323
2.59k
    YYFILL(1);
4324
2.59k
    yych = *YYCURSOR;
4325
2.59k
    if (yych <= '/') goto yy86;
4326
2.33k
    if (yych <= '9') goto yy123;
4327
1.35k
    goto yy86;
4328
12.0k
yy248:
4329
12.0k
    YYDEBUG(248, *YYCURSOR);
4330
12.0k
    yych = *++YYCURSOR;
4331
12.0k
    if (yych <= '\f') {
4332
7.20k
      if (yych <= 0x08) goto yy86;
4333
6.82k
      if (yych <= '\n') goto yy368;
4334
1.70k
      goto yy86;
4335
6.82k
    } else {
4336
4.87k
      if (yych <= '\r') goto yy368;
4337
3.82k
      if (yych == ' ') goto yy368;
4338
1.89k
      goto yy86;
4339
3.82k
    }
4340
47.8k
yy249:
4341
47.8k
    YYDEBUG(249, *YYCURSOR);
4342
47.8k
    yyaccept = 14;
4343
47.8k
    YYMARKER = ++YYCURSOR;
4344
47.8k
    YYFILL(1);
4345
47.8k
    yych = *YYCURSOR;
4346
47.8k
    YYDEBUG(250, *YYCURSOR);
4347
47.8k
    if (yybm[0+yych] & 8) {
4348
44.7k
      goto yy249;
4349
44.7k
    }
4350
3.12k
    if (yych == '_') goto yy134;
4351
2.20k
yy251:
4352
2.20k
    YYDEBUG(251, *YYCURSOR);
4353
2.20k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
2.20k
#line 2011 "Zend/zend_language_scanner.l"
4355
2.20k
    {
4356
  /* The +/- 2 skips "0b" */
4357
2.20k
  size_t len = yyleng - 2;
4358
2.20k
  char *end, *bin = yytext + 2;
4359
2.20k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
3.70k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
1.50k
    ++bin;
4364
1.50k
    --len;
4365
1.50k
  }
4366
4367
2.20k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
2.20k
  if (contains_underscores) {
4370
264
    bin = estrndup(bin, len);
4371
264
    strip_underscores(bin, &len);
4372
264
  }
4373
4374
2.20k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
1.98k
    if (len == 0) {
4376
402
      ZVAL_LONG(zendlval, 0);
4377
1.58k
    } else {
4378
1.58k
      errno = 0;
4379
1.58k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
1.58k
      ZEND_ASSERT(!errno && end == bin + len);
4381
1.58k
    }
4382
1.98k
    if (contains_underscores) {
4383
169
      efree(bin);
4384
169
    }
4385
1.98k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
1.98k
  } else {
4387
222
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
222
    ZEND_ASSERT(end == bin + len);
4390
222
    if (contains_underscores) {
4391
95
      efree(bin);
4392
95
    }
4393
222
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
222
  }
4395
2.20k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
16.1k
yy252:
4398
16.1k
    YYDEBUG(252, *YYCURSOR);
4399
16.1k
    ++YYCURSOR;
4400
16.1k
    YYFILL(1);
4401
16.1k
    yych = *YYCURSOR;
4402
16.1k
    if (yych <= '/') goto yy86;
4403
14.6k
    if (yych >= ':') goto yy86;
4404
108k
yy253:
4405
108k
    YYDEBUG(253, *YYCURSOR);
4406
108k
    yyaccept = 5;
4407
108k
    YYMARKER = ++YYCURSOR;
4408
108k
    YYFILL(1);
4409
108k
    yych = *YYCURSOR;
4410
108k
    YYDEBUG(254, *YYCURSOR);
4411
108k
    if (yych <= '/') goto yy125;
4412
89.8k
    if (yych <= '9') goto yy253;
4413
14.3k
    if (yych == '_') goto yy252;
4414
13.9k
    goto yy125;
4415
13.9k
yy255:
4416
11.9k
    YYDEBUG(255, *YYCURSOR);
4417
11.9k
    yyaccept = 15;
4418
11.9k
    YYMARKER = ++YYCURSOR;
4419
11.9k
    YYFILL(1);
4420
11.9k
    yych = *YYCURSOR;
4421
11.9k
    YYDEBUG(256, *YYCURSOR);
4422
11.9k
    if (yybm[0+yych] & 16) {
4423
8.89k
      goto yy255;
4424
8.89k
    }
4425
3.05k
    if (yych == '_') goto yy136;
4426
2.28k
yy257:
4427
2.28k
    YYDEBUG(257, *YYCURSOR);
4428
2.28k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
2.28k
#line 2053 "Zend/zend_language_scanner.l"
4430
2.28k
    {
4431
  /* The +/- 2 skips "0o" */
4432
2.28k
  size_t len = yyleng - 2;
4433
2.28k
  char *end, *octal = yytext + 2;
4434
2.28k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
4.02k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
1.73k
    ++octal;
4439
1.73k
    --len;
4440
1.73k
  }
4441
4442
2.28k
  if (len == 0) {
4443
540
    ZVAL_LONG(zendlval, 0);
4444
540
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
540
  }
4446
4447
1.74k
  if (contains_underscores) {
4448
724
    octal = estrndup(octal, len);
4449
724
    strip_underscores(octal, &len);
4450
724
  }
4451
4452
1.74k
  errno = 0;
4453
4454
1.74k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
1.74k
  ZEND_ASSERT(end == octal + len);
4457
4458
1.74k
  if (!errno) {
4459
1.43k
    if (contains_underscores) {
4460
527
      efree(octal);
4461
527
    }
4462
1.43k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
1.43k
  }
4464
4465
  /* Overflow */
4466
306
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
306
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
306
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
306
  ZEND_ASSERT(!errno);
4473
306
  ZEND_ASSERT(end == octal + len);
4474
306
  if (contains_underscores) {
4475
197
    efree(octal);
4476
197
  }
4477
306
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
306
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
52.0k
yy258:
4481
52.0k
    YYDEBUG(258, *YYCURSOR);
4482
52.0k
    yyaccept = 16;
4483
52.0k
    YYMARKER = ++YYCURSOR;
4484
52.0k
    YYFILL(1);
4485
52.0k
    yych = *YYCURSOR;
4486
52.0k
    YYDEBUG(259, *YYCURSOR);
4487
52.0k
    if (yybm[0+yych] & 32) {
4488
44.2k
      goto yy258;
4489
44.2k
    }
4490
7.88k
    if (yych == '_') goto yy137;
4491
6.12k
yy260:
4492
6.12k
    YYDEBUG(260, *YYCURSOR);
4493
6.12k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
6.12k
#line 2166 "Zend/zend_language_scanner.l"
4495
6.12k
    {
4496
  /* The +/- 2 skips "0x" */
4497
6.12k
  size_t len = yyleng - 2;
4498
6.12k
  char *end, *hex = yytext + 2;
4499
6.12k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
7.81k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
1.69k
    ++hex;
4504
1.69k
    --len;
4505
1.69k
  }
4506
4507
6.12k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
6.12k
  if (contains_underscores) {
4510
1.24k
    hex = estrndup(hex, len);
4511
1.24k
    strip_underscores(hex, &len);
4512
1.24k
  }
4513
4514
6.12k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
4.65k
    if (len == 0) {
4516
569
      ZVAL_LONG(zendlval, 0);
4517
4.08k
    } else {
4518
4.08k
      errno = 0;
4519
4.08k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
4.08k
      ZEND_ASSERT(!errno && end == hex + len);
4521
4.08k
    }
4522
4.65k
    if (contains_underscores) {
4523
543
      efree(hex);
4524
543
    }
4525
4.65k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
4.65k
  } else {
4527
1.46k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
1.46k
    ZEND_ASSERT(end == hex + len);
4530
1.46k
    if (contains_underscores) {
4531
706
      efree(hex);
4532
706
    }
4533
1.46k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
1.46k
  }
4535
6.12k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
3.39M
yy261:
4538
3.39M
    YYDEBUG(261, *YYCURSOR);
4539
3.39M
    ++YYCURSOR;
4540
3.39M
    YYFILL(2);
4541
3.39M
    yych = *YYCURSOR;
4542
3.39M
    YYDEBUG(262, *YYCURSOR);
4543
3.39M
    if (yych <= '\'') {
4544
62.1k
      if (yych <= ' ') {
4545
40.9k
        if (yych == '\t') goto yy261;
4546
24.0k
        if (yych <= 0x1F) goto yy86;
4547
7.33k
        goto yy261;
4548
24.0k
      } else {
4549
21.1k
        if (yych == '"') goto yy370;
4550
17.1k
        if (yych <= '&') goto yy86;
4551
11.0k
        goto yy371;
4552
17.1k
      }
4553
3.33M
    } else {
4554
3.33M
      if (yych <= '_') {
4555
679k
        if (yych <= '@') goto yy86;
4556
612k
        if (yych <= 'Z') goto yy372;
4557
7.27k
        if (yych <= '^') goto yy86;
4558
6.47k
        goto yy372;
4559
2.65M
      } else {
4560
2.65M
        if (yych <= '`') goto yy86;
4561
2.65M
        if (yych <= 'z') goto yy372;
4562
1.92M
        if (yych <= 0x7F) goto yy86;
4563
1.91M
        goto yy372;
4564
1.92M
      }
4565
3.33M
    }
4566
1.82k
yy263:
4567
1.82k
    YYDEBUG(263, *YYCURSOR);
4568
1.82k
    ++YYCURSOR;
4569
1.82k
    YYDEBUG(264, *YYCURSOR);
4570
1.82k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
1.82k
#line 1894 "Zend/zend_language_scanner.l"
4572
1.82k
    {
4573
1.82k
  RETURN_TOKEN(T_SL_EQUAL);
4574
1.82k
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
711
yy265:
4577
711
    YYDEBUG(265, *YYCURSOR);
4578
711
    ++YYCURSOR;
4579
711
    YYDEBUG(266, *YYCURSOR);
4580
711
    yyleng = YYCURSOR - SCNG(yy_text);
4581
711
#line 1850 "Zend/zend_language_scanner.l"
4582
711
    {
4583
711
  RETURN_TOKEN(T_SPACESHIP);
4584
711
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
13.1k
yy267:
4587
13.1k
    YYDEBUG(267, *YYCURSOR);
4588
13.1k
    ++YYCURSOR;
4589
13.1k
    YYDEBUG(268, *YYCURSOR);
4590
13.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
13.1k
#line 1834 "Zend/zend_language_scanner.l"
4592
13.1k
    {
4593
13.1k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
13.1k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
473
yy269:
4597
473
    YYDEBUG(269, *YYCURSOR);
4598
473
    ++YYCURSOR;
4599
473
    YYDEBUG(270, *YYCURSOR);
4600
473
    yyleng = YYCURSOR - SCNG(yy_text);
4601
473
#line 1898 "Zend/zend_language_scanner.l"
4602
473
    {
4603
473
  RETURN_TOKEN(T_SR_EQUAL);
4604
473
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
37.0k
yy271:
4607
37.0k
    YYDEBUG(271, *YYCURSOR);
4608
37.0k
    ++YYCURSOR;
4609
37.0k
    YYDEBUG(272, *YYCURSOR);
4610
37.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
37.0k
#line 1592 "Zend/zend_language_scanner.l"
4612
37.0k
    {
4613
37.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
37.0k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
37.0k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
8.45k
yy273:
4618
8.45k
    YYDEBUG(273, *YYCURSOR);
4619
8.45k
    ++YYCURSOR;
4620
8.45k
    goto yy156;
4621
1.47k
yy274:
4622
1.47k
    YYDEBUG(274, *YYCURSOR);
4623
1.47k
    yych = *++YYCURSOR;
4624
1.47k
    if (yych == '\n') goto yy273;
4625
1.07k
    goto yy156;
4626
8.51k
yy275:
4627
8.51k
    YYDEBUG(275, *YYCURSOR);
4628
8.51k
    ++YYCURSOR;
4629
8.51k
    YYDEBUG(276, *YYCURSOR);
4630
8.51k
    yyleng = YYCURSOR - SCNG(yy_text);
4631
8.51k
#line 1914 "Zend/zend_language_scanner.l"
4632
8.51k
    {
4633
8.51k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
8.51k
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
9.38k
yy277:
4637
9.38k
    YYDEBUG(277, *YYCURSOR);
4638
9.38k
    yyaccept = 4;
4639
9.38k
    yych = *(YYMARKER = ++YYCURSOR);
4640
9.38k
    if (yych == 'T') goto yy374;
4641
6.99k
    if (yych == 't') goto yy374;
4642
355
    goto yy48;
4643
5.61k
yy278:
4644
5.61k
    YYDEBUG(278, *YYCURSOR);
4645
5.61k
    yyaccept = 17;
4646
5.61k
    yych = *(YYMARKER = ++YYCURSOR);
4647
5.61k
    if (yybm[256+yych] & 128) {
4648
249
      goto yy47;
4649
249
    }
4650
5.36k
    if (yych == '\\') goto yy164;
4651
5.35k
yy279:
4652
5.35k
    YYDEBUG(279, *YYCURSOR);
4653
5.35k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
5.35k
#line 1934 "Zend/zend_language_scanner.l"
4655
5.35k
    {
4656
5.35k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
5.35k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
26.8k
yy280:
4660
26.8k
    YYDEBUG(280, *YYCURSOR);
4661
26.8k
    yyaccept = 4;
4662
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
4663
26.8k
    if (yych == 'A') goto yy375;
4664
26.6k
    if (yych == 'a') goto yy375;
4665
2.10k
    goto yy48;
4666
148k
yy281:
4667
148k
    YYDEBUG(281, *YYCURSOR);
4668
148k
    yyaccept = 18;
4669
148k
    YYMARKER = ++YYCURSOR;
4670
148k
    YYFILL(1);
4671
148k
    yych = *YYCURSOR;
4672
148k
    YYDEBUG(282, *YYCURSOR);
4673
148k
    if (yych <= '\\') {
4674
62.1k
      if (yych <= '@') {
4675
37.9k
        if (yych <= '/') goto yy283;
4676
18.5k
        if (yych <= '9') goto yy281;
4677
24.2k
      } else {
4678
24.2k
        if (yych <= 'Z') goto yy281;
4679
8.77k
        if (yych >= '\\') goto yy164;
4680
8.77k
      }
4681
86.8k
    } else {
4682
86.8k
      if (yych <= '`') {
4683
1.79k
        if (yych == '_') goto yy281;
4684
85.0k
      } else {
4685
85.0k
        if (yych <= 'z') goto yy281;
4686
43.9k
        if (yych >= 0x80) goto yy281;
4687
43.9k
      }
4688
86.8k
    }
4689
28.9k
yy283:
4690
28.9k
    YYDEBUG(283, *YYCURSOR);
4691
28.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
28.9k
#line 2443 "Zend/zend_language_scanner.l"
4693
28.9k
    {
4694
28.9k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
28.9k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
4.48k
yy284:
4698
4.48k
    YYDEBUG(284, *YYCURSOR);
4699
4.48k
    yych = *++YYCURSOR;
4700
4.48k
    if (yych == '<') goto yy261;
4701
955
    goto yy86;
4702
4.99k
yy285:
4703
4.99k
    YYDEBUG(285, *YYCURSOR);
4704
4.99k
    yyaccept = 4;
4705
4.99k
    yych = *(YYMARKER = ++YYCURSOR);
4706
4.99k
    if (yych == 'A') goto yy376;
4707
4.68k
    if (yych == 'a') goto yy376;
4708
1.30k
    goto yy48;
4709
16.4k
yy286:
4710
16.4k
    YYDEBUG(286, *YYCURSOR);
4711
16.4k
    yyaccept = 4;
4712
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
4713
16.4k
    if (yych == 'L') goto yy377;
4714
14.7k
    if (yych == 'l') goto yy377;
4715
1.51k
    goto yy48;
4716
10.1k
yy287:
4717
10.1k
    YYDEBUG(287, *YYCURSOR);
4718
10.1k
    yyaccept = 4;
4719
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
4720
10.1k
    if (yych == 'E') goto yy378;
4721
8.55k
    if (yych == 'e') goto yy378;
4722
1.01k
    goto yy48;
4723
38.8k
yy288:
4724
38.8k
    YYDEBUG(288, *YYCURSOR);
4725
38.8k
    yyaccept = 4;
4726
38.8k
    yych = *(YYMARKER = ++YYCURSOR);
4727
38.8k
    if (yych == 'C') goto yy380;
4728
38.4k
    if (yych == 'c') goto yy380;
4729
1.43k
    goto yy48;
4730
72.3k
yy289:
4731
72.3k
    YYDEBUG(289, *YYCURSOR);
4732
72.3k
    yyaccept = 4;
4733
72.3k
    yych = *(YYMARKER = ++YYCURSOR);
4734
72.3k
    if (yych == 'S') goto yy381;
4735
70.5k
    if (yych == 's') goto yy381;
4736
2.06k
    goto yy48;
4737
10.1k
yy290:
4738
10.1k
    YYDEBUG(290, *YYCURSOR);
4739
10.1k
    yyaccept = 4;
4740
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
4741
10.1k
    if (yych == 'N') goto yy382;
4742
9.79k
    if (yych == 'n') goto yy382;
4743
3.84k
    goto yy48;
4744
50.2k
yy291:
4745
50.2k
    YYDEBUG(291, *YYCURSOR);
4746
50.2k
    yyaccept = 4;
4747
50.2k
    yych = *(YYMARKER = ++YYCURSOR);
4748
50.2k
    if (yych <= 'T') {
4749
6.72k
      if (yych <= 'R') goto yy48;
4750
5.59k
      if (yych <= 'S') goto yy383;
4751
2.32k
      goto yy384;
4752
43.5k
    } else {
4753
43.5k
      if (yych <= 'r') goto yy48;
4754
43.0k
      if (yych <= 's') goto yy383;
4755
5.38k
      if (yych <= 't') goto yy384;
4756
333
      goto yy48;
4757
5.38k
    }
4758
9.43k
yy292:
4759
9.43k
    YYDEBUG(292, *YYCURSOR);
4760
9.43k
    yyaccept = 4;
4761
9.43k
    yych = *(YYMARKER = ++YYCURSOR);
4762
9.43k
    if (yych == 'L') goto yy385;
4763
8.38k
    if (yych == 'l') goto yy385;
4764
606
    goto yy48;
4765
8.32k
yy293:
4766
8.32k
    YYDEBUG(293, *YYCURSOR);
4767
8.32k
    yyaccept = 4;
4768
8.32k
    yych = *(YYMARKER = ++YYCURSOR);
4769
8.32k
    if (yych == 'A') goto yy386;
4770
7.85k
    if (yych == 'a') goto yy386;
4771
4.47k
    goto yy48;
4772
6.80k
yy294:
4773
6.80k
    YYDEBUG(294, *YYCURSOR);
4774
6.80k
    yyaccept = 19;
4775
6.80k
    yych = *(YYMARKER = ++YYCURSOR);
4776
6.80k
    if (yybm[256+yych] & 128) {
4777
850
      goto yy47;
4778
850
    }
4779
5.95k
    if (yych == '\\') goto yy164;
4780
5.95k
yy295:
4781
5.95k
    YYDEBUG(295, *YYCURSOR);
4782
5.95k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
5.95k
#line 1403 "Zend/zend_language_scanner.l"
4784
5.95k
    {
4785
5.95k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
5.95k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
74.6k
yy296:
4789
74.6k
    YYDEBUG(296, *YYCURSOR);
4790
74.6k
    yyaccept = 4;
4791
74.6k
    yych = *(YYMARKER = ++YYCURSOR);
4792
74.6k
    if (yych == 'O') goto yy387;
4793
74.4k
    if (yych == 'o') goto yy387;
4794
2.47k
    goto yy48;
4795
14.7k
yy297:
4796
14.7k
    YYDEBUG(297, *YYCURSOR);
4797
14.7k
    yyaccept = 4;
4798
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
4799
14.7k
    if (yych == 'E') goto yy389;
4800
14.0k
    if (yych == 'e') goto yy389;
4801
1.16k
    goto yy48;
4802
5.37k
yy298:
4803
5.37k
    YYDEBUG(298, *YYCURSOR);
4804
5.37k
    yyaccept = 4;
4805
5.37k
    yych = *(YYMARKER = ++YYCURSOR);
4806
5.37k
    if (yych == 'T') goto yy391;
4807
4.14k
    if (yych == 't') goto yy391;
4808
748
    goto yy48;
4809
52.1k
yy299:
4810
52.1k
    YYDEBUG(299, *YYCURSOR);
4811
52.1k
    yyaccept = 4;
4812
52.1k
    yych = *(YYMARKER = ++YYCURSOR);
4813
52.1k
    switch (yych) {
4814
2.57k
    case 'D':
4815
6.26k
    case 'd': goto yy392;
4816
3.69k
    case 'F':
4817
12.8k
    case 'f': goto yy393;
4818
3.31k
    case 'I':
4819
6.48k
    case 'i': goto yy394;
4820
1.35k
    case 'S':
4821
8.19k
    case 's': goto yy395;
4822
4.69k
    case 'W':
4823
10.6k
    case 'w': goto yy396;
4824
7.77k
    default:  goto yy48;
4825
52.1k
    }
4826
191k
yy300:
4827
191k
    YYDEBUG(300, *YYCURSOR);
4828
191k
    yyaccept = 4;
4829
191k
    yych = *(YYMARKER = ++YYCURSOR);
4830
191k
    if (yych == 'M') goto yy397;
4831
185k
    if (yych == 'm') goto yy397;
4832
24.2k
    goto yy48;
4833
24.2k
yy301:
4834
8.28k
    YYDEBUG(301, *YYCURSOR);
4835
8.28k
    yyaccept = 4;
4836
8.28k
    yych = *(YYMARKER = ++YYCURSOR);
4837
8.28k
    if (yych == 'L') goto yy398;
4838
7.68k
    if (yych == 'l') goto yy398;
4839
961
    goto yy48;
4840
2.93k
yy302:
4841
2.93k
    YYDEBUG(302, *YYCURSOR);
4842
2.93k
    yyaccept = 4;
4843
2.93k
    yych = *(YYMARKER = ++YYCURSOR);
4844
2.93k
    if (yych == 'T') goto yy400;
4845
2.57k
    if (yych == 't') goto yy400;
4846
779
    goto yy48;
4847
24.6k
yy303:
4848
24.6k
    YYDEBUG(303, *YYCURSOR);
4849
24.6k
    yyaccept = 4;
4850
24.6k
    yych = *(YYMARKER = ++YYCURSOR);
4851
24.6k
    if (yych == 'E') goto yy402;
4852
23.3k
    if (yych == 'e') goto yy402;
4853
1.76k
    goto yy48;
4854
16.4k
yy304:
4855
16.4k
    YYDEBUG(304, *YYCURSOR);
4856
16.4k
    yyaccept = 4;
4857
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
4858
16.4k
    if (yych == 'A') goto yy403;
4859
15.2k
    if (yych == 'a') goto yy403;
4860
981
    goto yy48;
4861
57.8k
yy305:
4862
57.8k
    YYDEBUG(305, *YYCURSOR);
4863
57.8k
    yyaccept = 20;
4864
57.8k
    yych = *(YYMARKER = ++YYCURSOR);
4865
57.8k
    if (yych <= '\\') {
4866
32.0k
      if (yych <= 'D') {
4867
29.0k
        if (yych <= '/') goto yy306;
4868
2.66k
        if (yych <= '9') goto yy47;
4869
2.07k
        if (yych >= 'A') goto yy47;
4870
3.00k
      } else {
4871
3.00k
        if (yych <= 'E') goto yy404;
4872
2.01k
        if (yych <= 'Z') goto yy47;
4873
1.09k
        if (yych >= '\\') goto yy164;
4874
1.09k
      }
4875
32.0k
    } else {
4876
25.8k
      if (yych <= 'd') {
4877
996
        if (yych == '_') goto yy47;
4878
605
        if (yych >= 'a') goto yy47;
4879
24.8k
      } else {
4880
24.8k
        if (yych <= 'e') goto yy404;
4881
2.05k
        if (yych <= 'z') goto yy47;
4882
1.04k
        if (yych >= 0x80) goto yy47;
4883
1.04k
      }
4884
25.8k
    }
4885
29.4k
yy306:
4886
29.4k
    YYDEBUG(306, *YYCURSOR);
4887
29.4k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
29.4k
#line 1482 "Zend/zend_language_scanner.l"
4889
29.4k
    {
4890
29.4k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
29.4k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
103k
yy307:
4894
103k
    YYDEBUG(307, *YYCURSOR);
4895
103k
    yyaccept = 4;
4896
103k
    yych = *(YYMARKER = ++YYCURSOR);
4897
103k
    if (yych == 'C') goto yy405;
4898
102k
    if (yych == 'c') goto yy405;
4899
2.94k
    goto yy48;
4900
7.45k
yy308:
4901
7.45k
    YYDEBUG(308, *YYCURSOR);
4902
7.45k
    yyaccept = 4;
4903
7.45k
    yych = *(YYMARKER = ++YYCURSOR);
4904
7.45k
    if (yych == 'B') goto yy406;
4905
5.18k
    if (yych == 'b') goto yy406;
4906
1.28k
    goto yy48;
4907
4.82k
yy309:
4908
4.82k
    YYDEBUG(309, *YYCURSOR);
4909
4.82k
    yyaccept = 4;
4910
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
4911
4.82k
    if (yych == 'O') goto yy407;
4912
3.68k
    if (yych == 'o') goto yy407;
4913
646
    goto yy48;
4914
32.0k
yy310:
4915
32.0k
    YYDEBUG(310, *YYCURSOR);
4916
32.0k
    yyaccept = 4;
4917
32.0k
    yych = *(YYMARKER = ++YYCURSOR);
4918
32.0k
    if (yych == 'L') goto yy409;
4919
26.9k
    if (yych == 'l') goto yy409;
4920
2.89k
    goto yy48;
4921
15.1k
yy311:
4922
15.1k
    YYDEBUG(311, *YYCURSOR);
4923
15.1k
    yyaccept = 4;
4924
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
4925
15.1k
    if (yych == 'L') goto yy410;
4926
13.2k
    if (yych == 'l') goto yy410;
4927
2.34k
    goto yy48;
4928
17.8k
yy312:
4929
17.8k
    YYDEBUG(312, *YYCURSOR);
4930
17.8k
    yyaccept = 4;
4931
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
4932
17.8k
    if (yych == 'T') goto yy411;
4933
16.2k
    if (yych == 't') goto yy411;
4934
1.21k
    goto yy48;
4935
27.1k
yy313:
4936
27.1k
    YYDEBUG(313, *YYCURSOR);
4937
27.1k
    yyaccept = 4;
4938
27.1k
    yych = *(YYMARKER = ++YYCURSOR);
4939
27.1k
    if (yych == 'E') goto yy412;
4940
26.2k
    if (yych == 'e') goto yy412;
4941
13.2k
    goto yy48;
4942
18.1k
yy314:
4943
18.1k
    YYDEBUG(314, *YYCURSOR);
4944
18.1k
    yyaccept = 4;
4945
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
4946
18.1k
    if (yych == 'E') goto yy413;
4947
17.9k
    if (yych == 'e') goto yy413;
4948
277
    goto yy48;
4949
4.86k
yy315:
4950
4.86k
    YYDEBUG(315, *YYCURSOR);
4951
4.86k
    yyaccept = 4;
4952
4.86k
    yych = *(YYMARKER = ++YYCURSOR);
4953
4.86k
    if (yych == 'T') goto yy414;
4954
4.57k
    if (yych == 't') goto yy414;
4955
271
    goto yy48;
4956
4.02k
yy316:
4957
4.02k
    YYDEBUG(316, *YYCURSOR);
4958
4.02k
    yyaccept = 4;
4959
4.02k
    yych = *(YYMARKER = ++YYCURSOR);
4960
4.02k
    if (yych == 'C') goto yy416;
4961
3.63k
    if (yych == 'c') goto yy416;
4962
411
    goto yy48;
4963
33.9k
yy317:
4964
33.9k
    YYDEBUG(317, *YYCURSOR);
4965
33.9k
    yyaccept = 4;
4966
33.9k
    yych = *(YYMARKER = ++YYCURSOR);
4967
33.9k
    if (yych == 'E') goto yy417;
4968
32.8k
    if (yych == 'e') goto yy417;
4969
2.90k
    goto yy48;
4970
77.0k
yy318:
4971
77.0k
    YYDEBUG(318, *YYCURSOR);
4972
77.0k
    yyaccept = 21;
4973
77.0k
    yych = *(YYMARKER = ++YYCURSOR);
4974
77.0k
    if (yybm[256+yych] & 128) {
4975
934
      goto yy47;
4976
934
    }
4977
76.0k
    if (yych == '\\') goto yy164;
4978
76.0k
yy319:
4979
76.0k
    YYDEBUG(319, *YYCURSOR);
4980
76.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
76.0k
#line 1626 "Zend/zend_language_scanner.l"
4982
76.0k
    {
4983
76.0k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
76.0k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
32.7k
yy320:
4987
32.7k
    YYDEBUG(320, *YYCURSOR);
4988
32.7k
    yyaccept = 4;
4989
32.7k
    yych = *(YYMARKER = ++YYCURSOR);
4990
32.7k
    if (yych <= 'V') {
4991
3.07k
      if (yych == 'N') goto yy418;
4992
2.16k
      if (yych <= 'U') goto yy48;
4993
1.45k
      goto yy419;
4994
29.6k
    } else {
4995
29.6k
      if (yych <= 'n') {
4996
19.1k
        if (yych <= 'm') goto yy48;
4997
11.7k
        goto yy418;
4998
19.1k
      } else {
4999
10.5k
        if (yych == 'v') goto yy419;
5000
807
        goto yy48;
5001
10.5k
      }
5002
29.6k
    }
5003
13.4k
yy321:
5004
13.4k
    YYDEBUG(321, *YYCURSOR);
5005
13.4k
    yyaccept = 4;
5006
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
5007
13.4k
    if (yych == 'T') goto yy420;
5008
11.7k
    if (yych == 't') goto yy420;
5009
2.21k
    goto yy48;
5010
67.5k
yy322:
5011
67.5k
    YYDEBUG(322, *YYCURSOR);
5012
67.5k
    yyaccept = 4;
5013
67.5k
    yych = *(YYMARKER = ++YYCURSOR);
5014
67.5k
    if (yych == 'L') goto yy421;
5015
65.8k
    if (yych == 'l') goto yy421;
5016
2.23k
    goto yy48;
5017
12.0k
yy323:
5018
12.0k
    YYDEBUG(323, *YYCURSOR);
5019
12.0k
    yyaccept = 4;
5020
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
5021
12.0k
    if (yych == 'D') goto yy422;
5022
11.7k
    if (yych == 'd') goto yy422;
5023
4.21k
    goto yy48;
5024
24.5k
yy324:
5025
24.5k
    YYDEBUG(324, *YYCURSOR);
5026
24.5k
    yyaccept = 4;
5027
24.5k
    yych = *(YYMARKER = ++YYCURSOR);
5028
24.5k
    if (yych == 'U') goto yy423;
5029
23.8k
    if (yych == 'u') goto yy423;
5030
4.45k
    goto yy48;
5031
27.7k
yy325:
5032
27.7k
    YYDEBUG(325, *YYCURSOR);
5033
27.7k
    yyaccept = 4;
5034
27.7k
    yych = *(YYMARKER = ++YYCURSOR);
5035
27.7k
    if (yych == 'U') goto yy424;
5036
27.2k
    if (yych == 'u') goto yy424;
5037
836
    goto yy48;
5038
19.9k
yy326:
5039
19.9k
    YYDEBUG(326, *YYCURSOR);
5040
19.9k
    yyaccept = 4;
5041
19.9k
    yych = *(YYMARKER = ++YYCURSOR);
5042
19.9k
    if (yych == 'T') goto yy425;
5043
19.1k
    if (yych == 't') goto yy425;
5044
1.98k
    goto yy48;
5045
8.51k
yy327:
5046
8.51k
    YYDEBUG(327, *YYCURSOR);
5047
8.51k
    yyaccept = 4;
5048
8.51k
    yych = *(YYMARKER = ++YYCURSOR);
5049
8.51k
    if (yych == 'T') goto yy426;
5050
7.89k
    if (yych == 't') goto yy426;
5051
413
    goto yy48;
5052
12.7k
yy328:
5053
12.7k
    YYDEBUG(328, *YYCURSOR);
5054
12.7k
    yyaccept = 4;
5055
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5056
12.7k
    if (yych == 'O') goto yy427;
5057
11.6k
    if (yych == 'o') goto yy427;
5058
566
    goto yy48;
5059
12.4k
yy329:
5060
12.4k
    YYDEBUG(329, *YYCURSOR);
5061
12.4k
    yyaccept = 4;
5062
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5063
12.4k
    if (yych == 'I') goto yy428;
5064
10.5k
    if (yych == 'i') goto yy428;
5065
1.50k
    goto yy48;
5066
43.3k
yy330:
5067
43.3k
    YYDEBUG(330, *YYCURSOR);
5068
43.3k
    yyaccept = 22;
5069
43.3k
    yych = *(YYMARKER = ++YYCURSOR);
5070
43.3k
    if (yybm[256+yych] & 128) {
5071
1.69k
      goto yy47;
5072
1.69k
    }
5073
41.6k
    if (yych == '\\') goto yy164;
5074
41.6k
yy331:
5075
41.6k
    YYDEBUG(331, *YYCURSOR);
5076
41.6k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
41.6k
#line 1438 "Zend/zend_language_scanner.l"
5078
41.6k
    {
5079
41.6k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
41.6k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
15.3k
yy332:
5083
15.3k
    YYDEBUG(332, *YYCURSOR);
5084
15.3k
    yyaccept = 4;
5085
15.3k
    yych = *(YYMARKER = ++YYCURSOR);
5086
15.3k
    if (yych == 'E') goto yy429;
5087
14.7k
    if (yych == 'e') goto yy429;
5088
1.59k
    goto yy48;
5089
13.4k
yy333:
5090
13.4k
    YYDEBUG(333, *YYCURSOR);
5091
13.4k
    yyaccept = 23;
5092
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
5093
13.4k
    if (yybm[256+yych] & 128) {
5094
2.57k
      goto yy47;
5095
2.57k
    }
5096
10.9k
    if (yych == '\\') goto yy164;
5097
10.7k
yy334:
5098
10.7k
    YYDEBUG(334, *YYCURSOR);
5099
10.7k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
10.7k
#line 1742 "Zend/zend_language_scanner.l"
5101
10.7k
    {
5102
10.7k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
10.7k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
91.7k
yy335:
5106
91.7k
    YYDEBUG(335, *YYCURSOR);
5107
91.7k
    yyaccept = 24;
5108
91.7k
    yych = *(YYMARKER = ++YYCURSOR);
5109
91.7k
    if (yybm[256+yych] & 128) {
5110
89.2k
      goto yy47;
5111
89.2k
    }
5112
2.49k
    if (yych == '\\') goto yy164;
5113
2.38k
yy336:
5114
2.38k
    YYDEBUG(336, *YYCURSOR);
5115
2.38k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
2.38k
#line 1634 "Zend/zend_language_scanner.l"
5117
2.38k
    {
5118
2.38k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
2.38k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
6.18k
yy337:
5122
6.18k
    YYDEBUG(337, *YYCURSOR);
5123
6.18k
    yyaccept = 4;
5124
6.18k
    yych = *(YYMARKER = ++YYCURSOR);
5125
6.18k
    if (yych == 'L') goto yy430;
5126
5.75k
    if (yych == 'l') goto yy430;
5127
1.38k
    goto yy48;
5128
4.20k
yy338:
5129
4.20k
    YYDEBUG(338, *YYCURSOR);
5130
4.20k
    yyaccept = 25;
5131
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
5132
4.20k
    if (yybm[256+yych] & 128) {
5133
66
      goto yy47;
5134
66
    }
5135
4.14k
    if (yych == '\\') goto yy164;
5136
4.12k
yy339:
5137
4.12k
    YYDEBUG(339, *YYCURSOR);
5138
4.12k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
4.12k
#line 1938 "Zend/zend_language_scanner.l"
5140
4.12k
    {
5141
4.12k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
4.12k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
87.4k
yy340:
5145
87.4k
    YYDEBUG(340, *YYCURSOR);
5146
87.4k
    yyaccept = 4;
5147
87.4k
    yych = *(YYMARKER = ++YYCURSOR);
5148
87.4k
    if (yych == 'L') goto yy431;
5149
85.2k
    if (yych == 'l') goto yy431;
5150
4.13k
    goto yy48;
5151
21.2k
yy341:
5152
21.2k
    YYDEBUG(341, *YYCURSOR);
5153
21.2k
    ++YYCURSOR;
5154
21.2k
    YYFILL(1);
5155
21.2k
    yych = *YYCURSOR;
5156
21.2k
    if (yych <= '_') {
5157
18.0k
      if (yych <= '@') goto yy86;
5158
16.5k
      if (yych <= 'Z') goto yy211;
5159
3.22k
      if (yych <= '^') goto yy86;
5160
347
      goto yy211;
5161
3.24k
    } else {
5162
3.24k
      if (yych <= '`') goto yy86;
5163
2.91k
      if (yych <= 'z') goto yy211;
5164
1.46k
      if (yych <= 0x7F) goto yy86;
5165
977
      goto yy211;
5166
1.46k
    }
5167
21.3k
yy342:
5168
21.3k
    YYDEBUG(342, *YYCURSOR);
5169
21.3k
    yyaccept = 4;
5170
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
5171
21.3k
    if (yych == 'L') goto yy432;
5172
18.3k
    if (yych == 'l') goto yy432;
5173
10.2k
    goto yy48;
5174
13.1k
yy343:
5175
13.1k
    YYDEBUG(343, *YYCURSOR);
5176
13.1k
    yyaccept = 4;
5177
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
5178
13.1k
    if (yych == 'I') goto yy433;
5179
9.59k
    if (yych == 'i') goto yy433;
5180
5.12k
    goto yy48;
5181
26.3k
yy344:
5182
26.3k
    YYDEBUG(344, *YYCURSOR);
5183
26.3k
    yyaccept = 4;
5184
26.3k
    yych = *(YYMARKER = ++YYCURSOR);
5185
26.3k
    if (yych <= 'U') {
5186
10.9k
      if (yych == 'I') goto yy434;
5187
4.82k
      if (yych <= 'T') goto yy48;
5188
3.93k
      goto yy435;
5189
15.4k
    } else {
5190
15.4k
      if (yych <= 'i') {
5191
4.87k
        if (yych <= 'h') goto yy48;
5192
4.33k
        goto yy434;
5193
10.5k
      } else {
5194
10.5k
        if (yych == 'u') goto yy435;
5195
616
        goto yy48;
5196
10.5k
      }
5197
15.4k
    }
5198
10.2k
yy345:
5199
10.2k
    YYDEBUG(345, *YYCURSOR);
5200
10.2k
    yyaccept = 4;
5201
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
5202
10.2k
    if (yych == 'A') goto yy436;
5203
9.26k
    if (yych == 'a') goto yy436;
5204
741
    goto yy48;
5205
6.37k
yy346:
5206
6.37k
    YYDEBUG(346, *YYCURSOR);
5207
6.37k
    yyaccept = 4;
5208
6.37k
    yych = *(YYMARKER = ++YYCURSOR);
5209
6.37k
    if (yych == 'I') goto yy437;
5210
4.58k
    if (yych == 'i') goto yy437;
5211
1.66k
    goto yy48;
5212
14.8k
yy347:
5213
14.8k
    YYDEBUG(347, *YYCURSOR);
5214
14.8k
    yyaccept = 4;
5215
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
5216
14.8k
    if (yych == 'E') goto yy438;
5217
7.01k
    if (yych == 'e') goto yy438;
5218
911
    goto yy48;
5219
10.9k
yy348:
5220
10.9k
    YYDEBUG(348, *YYCURSOR);
5221
10.9k
    yyaccept = 4;
5222
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
5223
10.9k
    if (yych == 'A') goto yy439;
5224
6.34k
    if (yych == 'a') goto yy439;
5225
1.61k
    goto yy48;
5226
5.24k
yy349:
5227
5.24k
    YYDEBUG(349, *YYCURSOR);
5228
5.24k
    yyaccept = 4;
5229
5.24k
    yych = *(YYMARKER = ++YYCURSOR);
5230
5.24k
    if (yych == 'R') goto yy440;
5231
753
    if (yych == 'r') goto yy440;
5232
325
    goto yy48;
5233
13.9k
yy350:
5234
13.9k
    YYDEBUG(350, *YYCURSOR);
5235
13.9k
    yyaccept = 4;
5236
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
5237
13.9k
    if (yych == 'R') goto yy441;
5238
12.6k
    if (yych == 'r') goto yy441;
5239
2.42k
    goto yy48;
5240
11.8k
yy351:
5241
11.8k
    YYDEBUG(351, *YYCURSOR);
5242
11.8k
    ++YYCURSOR;
5243
11.8k
    YYFILL(1);
5244
11.8k
    yych = *YYCURSOR;
5245
11.8k
    if (yybm[0+yych] & 2) {
5246
1.37k
      goto yy225;
5247
1.37k
    }
5248
10.4k
    if (yych <= 0x00) goto yy86;
5249
10.2k
    goto yy227;
5250
10.2k
yy352:
5251
5.81k
    YYDEBUG(352, *YYCURSOR);
5252
5.81k
    yyaccept = 26;
5253
5.81k
    YYMARKER = ++YYCURSOR;
5254
5.81k
    YYFILL(1);
5255
5.81k
    yych = *YYCURSOR;
5256
5.81k
    if (yybm[0+yych] & 2) {
5257
5.43k
      goto yy225;
5258
5.43k
    }
5259
383
    if (yych <= 0x00) goto yy89;
5260
255
    goto yy84;
5261
16.3k
yy353:
5262
16.3k
    YYDEBUG(353, *YYCURSOR);
5263
16.3k
    ++YYCURSOR;
5264
16.3k
    YYFILL(1);
5265
16.3k
    yych = *YYCURSOR;
5266
16.3k
    if (yych <= '\f') {
5267
1.38k
      if (yych <= 0x00) goto yy86;
5268
1.29k
      if (yych == '\n') goto yy84;
5269
292
      goto yy225;
5270
14.9k
    } else {
5271
14.9k
      if (yych <= '\r') goto yy84;
5272
11.4k
      if (yych == '.') goto yy442;
5273
3.87k
      goto yy225;
5274
11.4k
    }
5275
82.8k
yy354:
5276
82.8k
    YYDEBUG(354, *YYCURSOR);
5277
82.8k
    ++YYCURSOR;
5278
82.8k
    YYFILL(1);
5279
82.8k
    yych = *YYCURSOR;
5280
82.8k
    if (yych <= '\f') {
5281
920
      if (yych <= 0x00) goto yy86;
5282
541
      if (yych == '\n') goto yy84;
5283
394
      goto yy225;
5284
81.9k
    } else {
5285
81.9k
      if (yych <= '\r') goto yy84;
5286
79.9k
      if (yych == '*') goto yy443;
5287
52.1k
      goto yy225;
5288
79.9k
    }
5289
20.2k
yy355:
5290
20.2k
    YYDEBUG(355, *YYCURSOR);
5291
20.2k
    ++YYCURSOR;
5292
20.2k
    YYFILL(1);
5293
20.2k
    yych = *YYCURSOR;
5294
20.2k
    YYDEBUG(356, *YYCURSOR);
5295
20.2k
    if (yybm[0+yych] & 64) {
5296
1.25k
      goto yy355;
5297
1.25k
    }
5298
19.0k
    if (yych <= 0x00) goto yy86;
5299
18.2k
    if (yych == '/') goto yy84;
5300
9.18k
    goto yy230;
5301
10.1k
yy357:
5302
10.1k
    YYDEBUG(357, *YYCURSOR);
5303
10.1k
    yych = *++YYCURSOR;
5304
10.1k
    if (yych == 'A') goto yy445;
5305
10.0k
    if (yych == 'a') goto yy445;
5306
1.64k
    goto yy86;
5307
2.58k
yy358:
5308
2.58k
    YYDEBUG(358, *YYCURSOR);
5309
2.58k
    yych = *++YYCURSOR;
5310
2.58k
    if (yych == 'A') goto yy446;
5311
2.46k
    if (yych == 'a') goto yy446;
5312
315
    goto yy86;
5313
3.18k
yy359:
5314
3.18k
    YYDEBUG(359, *YYCURSOR);
5315
3.18k
    yych = *++YYCURSOR;
5316
3.18k
    if (yych == 'L') goto yy447;
5317
2.67k
    if (yych == 'l') goto yy447;
5318
353
    goto yy86;
5319
3.84k
yy360:
5320
3.84k
    YYDEBUG(360, *YYCURSOR);
5321
3.84k
    yych = *++YYCURSOR;
5322
3.84k
    if (yych == 'B') goto yy448;
5323
2.59k
    if (yych == 'b') goto yy448;
5324
598
    goto yy86;
5325
2.97k
yy361:
5326
2.97k
    YYDEBUG(361, *YYCURSOR);
5327
2.97k
    yych = *++YYCURSOR;
5328
2.97k
    if (yych == 'A') goto yy449;
5329
2.92k
    if (yych == 'a') goto yy449;
5330
584
    goto yy86;
5331
8.21k
yy362:
5332
8.21k
    YYDEBUG(362, *YYCURSOR);
5333
8.21k
    yych = *++YYCURSOR;
5334
8.21k
    if (yych == 'E') goto yy454;
5335
7.52k
    if (yych == 'e') goto yy454;
5336
4.33k
    goto yy451;
5337
4.71k
yy363:
5338
4.71k
    YYDEBUG(363, *YYCURSOR);
5339
4.71k
    yych = *++YYCURSOR;
5340
4.71k
    if (yych == 'E') goto yy455;
5341
4.47k
    if (yych == 'e') goto yy455;
5342
2.88k
    goto yy86;
5343
2.88k
yy364:
5344
2.39k
    YYDEBUG(364, *YYCURSOR);
5345
2.39k
    yych = *++YYCURSOR;
5346
2.39k
    if (yych == 'L') goto yy456;
5347
1.10k
    if (yych == 'l') goto yy456;
5348
710
    goto yy86;
5349
16.2k
yy365:
5350
16.2k
    YYDEBUG(365, *YYCURSOR);
5351
16.2k
    yych = *++YYCURSOR;
5352
16.2k
    if (yych == 'I') goto yy458;
5353
15.2k
    if (yych == 'i') goto yy458;
5354
2.49k
    goto yy86;
5355
3.35k
yy366:
5356
3.35k
    YYDEBUG(366, *YYCURSOR);
5357
3.35k
    yych = *++YYCURSOR;
5358
3.35k
    if (yych == 'E') goto yy459;
5359
3.05k
    if (yych == 'e') goto yy459;
5360
527
    goto yy86;
5361
1.72k
yy367:
5362
1.72k
    YYDEBUG(367, *YYCURSOR);
5363
1.72k
    yych = *++YYCURSOR;
5364
1.72k
    if (yych == 'D') goto yy460;
5365
1.51k
    if (yych == 'd') goto yy460;
5366
418
    goto yy86;
5367
15.6k
yy368:
5368
15.6k
    YYDEBUG(368, *YYCURSOR);
5369
15.6k
    ++YYCURSOR;
5370
15.6k
    YYFILL(1);
5371
15.6k
    yych = *YYCURSOR;
5372
15.6k
    YYDEBUG(369, *YYCURSOR);
5373
15.6k
    if (yych <= '\f') {
5374
4.65k
      if (yych <= 0x08) goto yy129;
5375
4.28k
      if (yych <= '\n') goto yy368;
5376
1.02k
      goto yy129;
5377
10.9k
    } else {
5378
10.9k
      if (yych <= '\r') goto yy368;
5379
10.7k
      if (yych == ' ') goto yy368;
5380
6.69k
      goto yy129;
5381
10.7k
    }
5382
3.99k
yy370:
5383
3.99k
    YYDEBUG(370, *YYCURSOR);
5384
3.99k
    yych = *++YYCURSOR;
5385
3.99k
    if (yych == '"') goto yy86;
5386
3.89k
    if (yych <= '/') goto yy463;
5387
2.54k
    if (yych <= '9') goto yy86;
5388
2.37k
    goto yy463;
5389
11.0k
yy371:
5390
11.0k
    YYDEBUG(371, *YYCURSOR);
5391
11.0k
    yych = *++YYCURSOR;
5392
11.0k
    if (yych == '\'') goto yy86;
5393
10.6k
    if (yych <= '/') goto yy465;
5394
9.23k
    if (yych <= '9') goto yy86;
5395
9.14k
    goto yy465;
5396
4.75M
yy372:
5397
4.75M
    YYDEBUG(372, *YYCURSOR);
5398
4.75M
    ++YYCURSOR;
5399
4.75M
    YYFILL(2);
5400
4.75M
    yych = *YYCURSOR;
5401
4.75M
    YYDEBUG(373, *YYCURSOR);
5402
4.75M
    if (yych <= '@') {
5403
3.33M
      if (yych <= '\f') {
5404
3.13M
        if (yych == '\n') goto yy466;
5405
35.9k
        goto yy86;
5406
3.13M
      } else {
5407
195k
        if (yych <= '\r') goto yy468;
5408
180k
        if (yych <= '/') goto yy86;
5409
123k
        if (yych <= '9') goto yy372;
5410
34.3k
        goto yy86;
5411
123k
      }
5412
3.33M
    } else {
5413
1.42M
      if (yych <= '_') {
5414
184k
        if (yych <= 'Z') goto yy372;
5415
37.3k
        if (yych <= '^') goto yy86;
5416
29.3k
        goto yy372;
5417
1.24M
      } else {
5418
1.24M
        if (yych <= '`') goto yy86;
5419
1.24M
        if (yych <= 'z') goto yy372;
5420
779k
        if (yych <= 0x7F) goto yy86;
5421
770k
        goto yy372;
5422
779k
      }
5423
1.42M
    }
5424
9.03k
yy374:
5425
9.03k
    YYDEBUG(374, *YYCURSOR);
5426
9.03k
    yyaccept = 4;
5427
9.03k
    yych = *(YYMARKER = ++YYCURSOR);
5428
9.03k
    if (yych == 'R') goto yy469;
5429
7.55k
    if (yych == 'r') goto yy469;
5430
710
    goto yy48;
5431
24.7k
yy375:
5432
24.7k
    YYDEBUG(375, *YYCURSOR);
5433
24.7k
    yyaccept = 4;
5434
24.7k
    yych = *(YYMARKER = ++YYCURSOR);
5435
24.7k
    if (yych == 'Y') goto yy470;
5436
24.3k
    if (yych == 'y') goto yy470;
5437
1.08k
    goto yy48;
5438
3.69k
yy376:
5439
3.69k
    YYDEBUG(376, *YYCURSOR);
5440
3.69k
    yyaccept = 4;
5441
3.69k
    yych = *(YYMARKER = ++YYCURSOR);
5442
3.69k
    if (yych == 'K') goto yy472;
5443
2.95k
    if (yych == 'k') goto yy472;
5444
386
    goto yy48;
5445
14.9k
yy377:
5446
14.9k
    YYDEBUG(377, *YYCURSOR);
5447
14.9k
    yyaccept = 4;
5448
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
5449
14.9k
    if (yych == 'A') goto yy474;
5450
14.1k
    if (yych == 'a') goto yy474;
5451
10.1k
    goto yy48;
5452
10.1k
yy378:
5453
9.11k
    YYDEBUG(378, *YYCURSOR);
5454
9.11k
    yyaccept = 27;
5455
9.11k
    yych = *(YYMARKER = ++YYCURSOR);
5456
9.11k
    if (yybm[256+yych] & 128) {
5457
1.15k
      goto yy47;
5458
1.15k
    }
5459
7.95k
    if (yych == '\\') goto yy164;
5460
7.88k
yy379:
5461
7.88k
    YYDEBUG(379, *YYCURSOR);
5462
7.88k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
7.88k
#line 1526 "Zend/zend_language_scanner.l"
5464
7.88k
    {
5465
7.88k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
7.88k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
37.3k
yy380:
5469
37.3k
    YYDEBUG(380, *YYCURSOR);
5470
37.3k
    yyaccept = 4;
5471
37.3k
    yych = *(YYMARKER = ++YYCURSOR);
5472
37.3k
    if (yych == 'H') goto yy475;
5473
36.6k
    if (yych == 'h') goto yy475;
5474
1.55k
    goto yy48;
5475
70.3k
yy381:
5476
70.3k
    YYDEBUG(381, *YYCURSOR);
5477
70.3k
    yyaccept = 4;
5478
70.3k
    yych = *(YYMARKER = ++YYCURSOR);
5479
70.3k
    if (yych == 'S') goto yy477;
5480
68.7k
    if (yych == 's') goto yy477;
5481
869
    goto yy48;
5482
6.29k
yy382:
5483
6.29k
    YYDEBUG(382, *YYCURSOR);
5484
6.29k
    yyaccept = 4;
5485
6.29k
    yych = *(YYMARKER = ++YYCURSOR);
5486
6.29k
    if (yych == 'E') goto yy479;
5487
6.08k
    if (yych == 'e') goto yy479;
5488
613
    goto yy48;
5489
40.9k
yy383:
5490
40.9k
    YYDEBUG(383, *YYCURSOR);
5491
40.9k
    yyaccept = 4;
5492
40.9k
    yych = *(YYMARKER = ++YYCURSOR);
5493
40.9k
    if (yych == 'T') goto yy481;
5494
37.7k
    if (yych == 't') goto yy481;
5495
1.84k
    goto yy48;
5496
7.36k
yy384:
5497
7.36k
    YYDEBUG(384, *YYCURSOR);
5498
7.36k
    yyaccept = 4;
5499
7.36k
    yych = *(YYMARKER = ++YYCURSOR);
5500
7.36k
    if (yych == 'I') goto yy483;
5501
5.65k
    if (yych == 'i') goto yy483;
5502
2.54k
    goto yy48;
5503
8.82k
yy385:
5504
8.82k
    YYDEBUG(385, *YYCURSOR);
5505
8.82k
    yyaccept = 4;
5506
8.82k
    yych = *(YYMARKER = ++YYCURSOR);
5507
8.82k
    if (yych == 'A') goto yy484;
5508
7.92k
    if (yych == 'a') goto yy484;
5509
377
    goto yy48;
5510
3.85k
yy386:
5511
3.85k
    YYDEBUG(386, *YYCURSOR);
5512
3.85k
    yyaccept = 4;
5513
3.85k
    yych = *(YYMARKER = ++YYCURSOR);
5514
3.85k
    if (yych == 'U') goto yy485;
5515
3.44k
    if (yych == 'u') goto yy485;
5516
450
    goto yy48;
5517
72.1k
yy387:
5518
72.1k
    YYDEBUG(387, *YYCURSOR);
5519
72.1k
    yyaccept = 28;
5520
72.1k
    yych = *(YYMARKER = ++YYCURSOR);
5521
72.1k
    if (yybm[256+yych] & 128) {
5522
1.58k
      goto yy47;
5523
1.58k
    }
5524
70.5k
    if (yych == '\\') goto yy164;
5525
70.3k
yy388:
5526
70.3k
    YYDEBUG(388, *YYCURSOR);
5527
70.3k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
70.3k
#line 1546 "Zend/zend_language_scanner.l"
5529
70.3k
    {
5530
70.3k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
70.3k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
13.5k
yy389:
5534
13.5k
    YYDEBUG(389, *YYCURSOR);
5535
13.5k
    yyaccept = 29;
5536
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
5537
13.5k
    if (yych <= '\\') {
5538
6.94k
      if (yych <= 'H') {
5539
4.96k
        if (yych <= '/') goto yy390;
5540
1.91k
        if (yych <= '9') goto yy47;
5541
1.55k
        if (yych >= 'A') goto yy47;
5542
1.98k
      } else {
5543
1.98k
        if (yych <= 'I') goto yy486;
5544
942
        if (yych <= 'Z') goto yy47;
5545
662
        if (yych >= '\\') goto yy164;
5546
662
      }
5547
6.94k
    } else {
5548
6.61k
      if (yych <= 'h') {
5549
1.16k
        if (yych == '_') goto yy47;
5550
815
        if (yych >= 'a') goto yy47;
5551
5.44k
      } else {
5552
5.44k
        if (yych <= 'i') goto yy486;
5553
1.60k
        if (yych <= 'z') goto yy47;
5554
1.25k
        if (yych >= 0x80) goto yy47;
5555
1.25k
      }
5556
6.61k
    }
5557
6.06k
yy390:
5558
6.06k
    YYDEBUG(390, *YYCURSOR);
5559
6.06k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
6.06k
#line 1466 "Zend/zend_language_scanner.l"
5561
6.06k
    {
5562
6.06k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
6.06k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
4.62k
yy391:
5566
4.62k
    YYDEBUG(391, *YYCURSOR);
5567
4.62k
    yyaccept = 4;
5568
4.62k
    yych = *(YYMARKER = ++YYCURSOR);
5569
4.62k
    if (yych == 'Y') goto yy487;
5570
3.22k
    if (yych == 'y') goto yy487;
5571
372
    goto yy48;
5572
6.26k
yy392:
5573
6.26k
    YYDEBUG(392, *YYCURSOR);
5574
6.26k
    yyaccept = 4;
5575
6.26k
    yych = *(YYMARKER = ++YYCURSOR);
5576
6.26k
    if (yych == 'E') goto yy489;
5577
3.84k
    if (yych == 'e') goto yy489;
5578
604
    goto yy48;
5579
12.8k
yy393:
5580
12.8k
    YYDEBUG(393, *YYCURSOR);
5581
12.8k
    yyaccept = 4;
5582
12.8k
    yych = *(YYMARKER = ++YYCURSOR);
5583
12.8k
    if (yych == 'O') goto yy490;
5584
9.41k
    if (yych == 'o') goto yy490;
5585
858
    goto yy48;
5586
6.48k
yy394:
5587
6.48k
    YYDEBUG(394, *YYCURSOR);
5588
6.48k
    yyaccept = 4;
5589
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
5590
6.48k
    if (yych == 'F') goto yy491;
5591
3.24k
    if (yych == 'f') goto yy491;
5592
456
    goto yy48;
5593
8.19k
yy395:
5594
8.19k
    YYDEBUG(395, *YYCURSOR);
5595
8.19k
    yyaccept = 4;
5596
8.19k
    yych = *(YYMARKER = ++YYCURSOR);
5597
8.19k
    if (yych == 'W') goto yy493;
5598
6.89k
    if (yych == 'w') goto yy493;
5599
3.23k
    goto yy48;
5600
10.6k
yy396:
5601
10.6k
    YYDEBUG(396, *YYCURSOR);
5602
10.6k
    yyaccept = 4;
5603
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
5604
10.6k
    if (yych == 'H') goto yy494;
5605
8.04k
    if (yych == 'h') goto yy494;
5606
2.76k
    goto yy48;
5607
166k
yy397:
5608
166k
    YYDEBUG(397, *YYCURSOR);
5609
166k
    yyaccept = 4;
5610
166k
    yych = *(YYMARKER = ++YYCURSOR);
5611
166k
    if (yych <= 0x1F) {
5612
137k
      if (yych <= '\n') {
5613
4.64k
        if (yych <= 0x08) goto yy48;
5614
3.19k
        goto yy495;
5615
133k
      } else {
5616
133k
        if (yych == '\r') goto yy495;
5617
1.35k
        goto yy48;
5618
133k
      }
5619
137k
    } else {
5620
28.9k
      if (yych <= '#') {
5621
14.4k
        if (yych <= ' ') goto yy495;
5622
9.24k
        if (yych <= '"') goto yy48;
5623
8.94k
        goto yy497;
5624
14.5k
      } else {
5625
14.5k
        if (yych == '/') goto yy498;
5626
14.0k
        goto yy48;
5627
14.5k
      }
5628
28.9k
    }
5629
7.32k
yy398:
5630
7.32k
    YYDEBUG(398, *YYCURSOR);
5631
7.32k
    yyaccept = 30;
5632
7.32k
    yych = *(YYMARKER = ++YYCURSOR);
5633
7.32k
    if (yybm[256+yych] & 128) {
5634
1.69k
      goto yy47;
5635
1.69k
    }
5636
5.62k
    if (yych == '\\') goto yy164;
5637
5.48k
yy399:
5638
5.48k
    YYDEBUG(399, *YYCURSOR);
5639
5.48k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
5.48k
#line 1718 "Zend/zend_language_scanner.l"
5641
5.48k
    {
5642
5.48k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
5.48k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
2.15k
yy400:
5646
2.15k
    YYDEBUG(400, *YYCURSOR);
5647
2.15k
    yyaccept = 31;
5648
2.15k
    yych = *(YYMARKER = ++YYCURSOR);
5649
2.15k
    if (yybm[256+yych] & 128) {
5650
383
      goto yy47;
5651
383
    }
5652
1.77k
    if (yych == '\\') goto yy164;
5653
1.77k
yy401:
5654
1.77k
    YYDEBUG(401, *YYCURSOR);
5655
1.77k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
1.77k
#line 1399 "Zend/zend_language_scanner.l"
5657
1.77k
    {
5658
1.77k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
1.77k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
22.8k
yy402:
5662
22.8k
    YYDEBUG(402, *YYCURSOR);
5663
22.8k
    yyaccept = 4;
5664
22.8k
    yych = *(YYMARKER = ++YYCURSOR);
5665
22.8k
    if (yych == 'N') goto yy499;
5666
19.6k
    if (yych == 'n') goto yy499;
5667
1.58k
    goto yy48;
5668
15.4k
yy403:
5669
15.4k
    YYDEBUG(403, *YYCURSOR);
5670
15.4k
    yyaccept = 4;
5671
15.4k
    yych = *(YYMARKER = ++YYCURSOR);
5672
15.4k
    if (yych == 'L') goto yy500;
5673
14.9k
    if (yych == 'l') goto yy500;
5674
1.11k
    goto yy48;
5675
23.7k
yy404:
5676
23.7k
    YYDEBUG(404, *YYCURSOR);
5677
23.7k
    yyaccept = 4;
5678
23.7k
    yych = *(YYMARKER = ++YYCURSOR);
5679
23.7k
    if (yych == 'A') goto yy502;
5680
23.0k
    if (yych == 'a') goto yy502;
5681
1.74k
    goto yy48;
5682
100k
yy405:
5683
100k
    YYDEBUG(405, *YYCURSOR);
5684
100k
    yyaccept = 4;
5685
100k
    yych = *(YYMARKER = ++YYCURSOR);
5686
100k
    if (yych == 'T') goto yy503;
5687
99.6k
    if (yych == 't') goto yy503;
5688
7.56k
    goto yy48;
5689
7.56k
yy406:
5690
6.16k
    YYDEBUG(406, *YYCURSOR);
5691
6.16k
    yyaccept = 4;
5692
6.16k
    yych = *(YYMARKER = ++YYCURSOR);
5693
6.16k
    if (yych == 'A') goto yy504;
5694
4.23k
    if (yych == 'a') goto yy504;
5695
866
    goto yy48;
5696
4.18k
yy407:
5697
4.18k
    YYDEBUG(407, *YYCURSOR);
5698
4.18k
    yyaccept = 32;
5699
4.18k
    yych = *(YYMARKER = ++YYCURSOR);
5700
4.18k
    if (yybm[256+yych] & 128) {
5701
934
      goto yy47;
5702
934
    }
5703
3.24k
    if (yych == '\\') goto yy164;
5704
3.24k
yy408:
5705
3.24k
    YYDEBUG(408, *YYCURSOR);
5706
3.24k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
3.24k
#line 1542 "Zend/zend_language_scanner.l"
5708
3.24k
    {
5709
3.24k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
3.24k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
29.1k
yy409:
5713
29.1k
    YYDEBUG(409, *YYCURSOR);
5714
29.1k
    yyaccept = 4;
5715
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
5716
29.1k
    if (yych == 'E') goto yy505;
5717
24.0k
    if (yych == 'e') goto yy505;
5718
3.27k
    goto yy48;
5719
12.7k
yy410:
5720
12.7k
    YYDEBUG(410, *YYCURSOR);
5721
12.7k
    yyaccept = 4;
5722
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
5723
12.7k
    if (yych == 'U') goto yy506;
5724
11.1k
    if (yych == 'u') goto yy506;
5725
947
    goto yy48;
5726
16.6k
yy411:
5727
16.6k
    YYDEBUG(411, *YYCURSOR);
5728
16.6k
    yyaccept = 4;
5729
16.6k
    yych = *(YYMARKER = ++YYCURSOR);
5730
16.6k
    if (yych <= 'E') {
5731
2.79k
      if (yych == 'A') goto yy507;
5732
1.75k
      if (yych <= 'D') goto yy48;
5733
883
      goto yy508;
5734
13.8k
    } else {
5735
13.8k
      if (yych <= 'a') {
5736
4.97k
        if (yych <= '`') goto yy48;
5737
4.51k
        goto yy507;
5738
8.84k
      } else {
5739
8.84k
        if (yych == 'e') goto yy508;
5740
923
        goto yy48;
5741
8.84k
      }
5742
13.8k
    }
5743
13.8k
yy412:
5744
13.8k
    YYDEBUG(412, *YYCURSOR);
5745
13.8k
    yyaccept = 4;
5746
13.8k
    yych = *(YYMARKER = ++YYCURSOR);
5747
13.8k
    if (yych == 'R') goto yy509;
5748
13.4k
    if (yych == 'r') goto yy509;
5749
4.51k
    goto yy48;
5750
17.8k
yy413:
5751
17.8k
    YYDEBUG(413, *YYCURSOR);
5752
17.8k
    yyaccept = 4;
5753
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
5754
17.8k
    if (yych == 'T') goto yy510;
5755
17.3k
    if (yych == 't') goto yy510;
5756
353
    goto yy48;
5757
4.59k
yy414:
5758
4.59k
    YYDEBUG(414, *YYCURSOR);
5759
4.59k
    yyaccept = 33;
5760
4.59k
    yych = *(YYMARKER = ++YYCURSOR);
5761
4.59k
    if (yybm[256+yych] & 128) {
5762
1.05k
      goto yy47;
5763
1.05k
    }
5764
3.53k
    if (yych == '\\') goto yy164;
5765
3.52k
yy415:
5766
3.52k
    YYDEBUG(415, *YYCURSOR);
5767
3.52k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
3.52k
#line 1814 "Zend/zend_language_scanner.l"
5769
3.52k
    {
5770
3.52k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
3.52k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
3.61k
yy416:
5774
3.61k
    YYDEBUG(416, *YYCURSOR);
5775
3.61k
    yyaccept = 4;
5776
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
5777
3.61k
    if (yych == 'H') goto yy512;
5778
3.51k
    if (yych == 'h') goto yy512;
5779
325
    goto yy48;
5780
31.0k
yy417:
5781
31.0k
    YYDEBUG(417, *YYCURSOR);
5782
31.0k
    yyaccept = 4;
5783
31.0k
    yych = *(YYMARKER = ++YYCURSOR);
5784
31.0k
    if (yych == 'S') goto yy514;
5785
30.4k
    if (yych == 's') goto yy514;
5786
2.47k
    goto yy48;
5787
12.6k
yy418:
5788
12.6k
    YYDEBUG(418, *YYCURSOR);
5789
12.6k
    yyaccept = 4;
5790
12.6k
    yych = *(YYMARKER = ++YYCURSOR);
5791
12.6k
    if (yych == 'T') goto yy515;
5792
12.5k
    if (yych == 't') goto yy515;
5793
411
    goto yy48;
5794
11.1k
yy419:
5795
11.1k
    YYDEBUG(419, *YYCURSOR);
5796
11.1k
    yyaccept = 4;
5797
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
5798
11.1k
    if (yych == 'A') goto yy517;
5799
9.69k
    if (yych == 'a') goto yy517;
5800
385
    goto yy48;
5801
11.2k
yy420:
5802
11.2k
    YYDEBUG(420, *YYCURSOR);
5803
11.2k
    yyaccept = 4;
5804
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
5805
11.2k
    if (yych == 'E') goto yy518;
5806
9.56k
    if (yych == 'e') goto yy518;
5807
1.09k
    goto yy48;
5808
65.3k
yy421:
5809
65.3k
    YYDEBUG(421, *YYCURSOR);
5810
65.3k
    yyaccept = 4;
5811
65.3k
    yych = *(YYMARKER = ++YYCURSOR);
5812
65.3k
    if (yych == 'I') goto yy519;
5813
63.6k
    if (yych == 'i') goto yy519;
5814
1.25k
    goto yy48;
5815
7.79k
yy422:
5816
7.79k
    YYDEBUG(422, *YYCURSOR);
5817
7.79k
    yyaccept = 4;
5818
7.79k
    yych = *(YYMARKER = ++YYCURSOR);
5819
7.79k
    if (yych == 'O') goto yy520;
5820
7.55k
    if (yych == 'o') goto yy520;
5821
677
    goto yy48;
5822
20.1k
yy423:
5823
20.1k
    YYDEBUG(423, *YYCURSOR);
5824
20.1k
    yyaccept = 4;
5825
20.1k
    yych = *(YYMARKER = ++YYCURSOR);
5826
20.1k
    if (yych == 'I') goto yy521;
5827
19.3k
    if (yych == 'i') goto yy521;
5828
817
    goto yy48;
5829
26.8k
yy424:
5830
26.8k
    YYDEBUG(424, *YYCURSOR);
5831
26.8k
    yyaccept = 4;
5832
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
5833
26.8k
    if (yych == 'R') goto yy522;
5834
26.3k
    if (yych == 'r') goto yy522;
5835
488
    goto yy48;
5836
17.9k
yy425:
5837
17.9k
    YYDEBUG(425, *YYCURSOR);
5838
17.9k
    yyaccept = 4;
5839
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
5840
17.9k
    if (yych == 'I') goto yy523;
5841
16.9k
    if (yych == 'i') goto yy523;
5842
914
    goto yy48;
5843
8.10k
yy426:
5844
8.10k
    YYDEBUG(426, *YYCURSOR);
5845
8.10k
    yyaccept = 4;
5846
8.10k
    yych = *(YYMARKER = ++YYCURSOR);
5847
8.10k
    if (yych == 'C') goto yy524;
5848
7.62k
    if (yych == 'c') goto yy524;
5849
310
    goto yy48;
5850
12.1k
yy427:
5851
12.1k
    YYDEBUG(427, *YYCURSOR);
5852
12.1k
    yyaccept = 4;
5853
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
5854
12.1k
    if (yych == 'W') goto yy525;
5855
11.3k
    if (yych == 'w') goto yy525;
5856
1.45k
    goto yy48;
5857
10.9k
yy428:
5858
10.9k
    YYDEBUG(428, *YYCURSOR);
5859
10.9k
    yyaccept = 4;
5860
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
5861
10.9k
    if (yych == 'T') goto yy527;
5862
9.99k
    if (yych == 't') goto yy527;
5863
2.32k
    goto yy48;
5864
13.7k
yy429:
5865
13.7k
    YYDEBUG(429, *YYCURSOR);
5866
13.7k
    yyaccept = 4;
5867
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
5868
13.7k
    if (yych == 'T') goto yy529;
5869
12.6k
    if (yych == 't') goto yy529;
5870
4.93k
    goto yy48;
5871
4.93k
yy430:
5872
4.79k
    YYDEBUG(430, *YYCURSOR);
5873
4.79k
    yyaccept = 4;
5874
4.79k
    yych = *(YYMARKER = ++YYCURSOR);
5875
4.79k
    if (yych == 'E') goto yy531;
5876
4.31k
    if (yych == 'e') goto yy531;
5877
451
    goto yy48;
5878
83.2k
yy431:
5879
83.2k
    YYDEBUG(431, *YYCURSOR);
5880
83.2k
    yyaccept = 4;
5881
83.2k
    yych = *(YYMARKER = ++YYCURSOR);
5882
83.2k
    if (yych == 'D') goto yy533;
5883
80.7k
    if (yych == 'd') goto yy533;
5884
2.72k
    goto yy48;
5885
11.0k
yy432:
5886
11.0k
    YYDEBUG(432, *YYCURSOR);
5887
11.0k
    yyaccept = 4;
5888
11.0k
    yych = *(YYMARKER = ++YYCURSOR);
5889
11.0k
    if (yych == 'A') goto yy535;
5890
8.53k
    if (yych == 'a') goto yy535;
5891
1.19k
    goto yy48;
5892
8.06k
yy433:
5893
8.06k
    YYDEBUG(433, *YYCURSOR);
5894
8.06k
    yyaccept = 4;
5895
8.06k
    yych = *(YYMARKER = ++YYCURSOR);
5896
8.06k
    if (yych == 'R') goto yy536;
5897
5.19k
    if (yych == 'r') goto yy536;
5898
1.11k
    goto yy48;
5899
10.4k
yy434:
5900
10.4k
    YYDEBUG(434, *YYCURSOR);
5901
10.4k
    yyaccept = 4;
5902
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5903
10.4k
    if (yych == 'L') goto yy537;
5904
4.73k
    if (yych == 'l') goto yy537;
5905
1.36k
    goto yy48;
5906
13.8k
yy435:
5907
13.8k
    YYDEBUG(435, *YYCURSOR);
5908
13.8k
    yyaccept = 4;
5909
13.8k
    yych = *(YYMARKER = ++YYCURSOR);
5910
13.8k
    if (yych == 'N') goto yy538;
5911
6.31k
    if (yych == 'n') goto yy538;
5912
1.38k
    goto yy48;
5913
9.52k
yy436:
5914
9.52k
    YYDEBUG(436, *YYCURSOR);
5915
9.52k
    yyaccept = 4;
5916
9.52k
    yych = *(YYMARKER = ++YYCURSOR);
5917
9.52k
    if (yych == 'L') goto yy539;
5918
8.67k
    if (yych == 'l') goto yy539;
5919
1.81k
    goto yy48;
5920
4.71k
yy437:
5921
4.71k
    YYDEBUG(437, *YYCURSOR);
5922
4.71k
    yyaccept = 4;
5923
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
5924
4.71k
    if (yych == 'N') goto yy540;
5925
3.15k
    if (yych == 'n') goto yy540;
5926
938
    goto yy48;
5927
13.9k
yy438:
5928
13.9k
    YYDEBUG(438, *YYCURSOR);
5929
13.9k
    yyaccept = 4;
5930
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
5931
13.9k
    if (yych == 'T') goto yy541;
5932
6.37k
    if (yych == 't') goto yy541;
5933
577
    goto yy48;
5934
9.33k
yy439:
5935
9.33k
    YYDEBUG(439, *YYCURSOR);
5936
9.33k
    yyaccept = 4;
5937
9.33k
    yych = *(YYMARKER = ++YYCURSOR);
5938
9.33k
    if (yych == 'M') goto yy542;
5939
5.05k
    if (yych == 'm') goto yy542;
5940
859
    goto yy48;
5941
4.91k
yy440:
5942
4.91k
    YYDEBUG(440, *YYCURSOR);
5943
4.91k
    yyaccept = 4;
5944
4.91k
    yych = *(YYMARKER = ++YYCURSOR);
5945
4.91k
    if (yych == 'O') goto yy543;
5946
1.66k
    if (yych == 'o') goto yy543;
5947
363
    goto yy48;
5948
11.4k
yy441:
5949
11.4k
    YYDEBUG(441, *YYCURSOR);
5950
11.4k
    yyaccept = 4;
5951
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
5952
11.4k
    if (yych == 'A') goto yy544;
5953
5.33k
    if (yych == 'a') goto yy544;
5954
833
    goto yy48;
5955
7.55k
yy442:
5956
7.55k
    YYDEBUG(442, *YYCURSOR);
5957
7.55k
    ++YYCURSOR;
5958
7.55k
    YYFILL(1);
5959
7.55k
    yych = *YYCURSOR;
5960
7.55k
    if (yych <= '\f') {
5961
681
      if (yych <= 0x00) goto yy86;
5962
479
      if (yych == '\n') goto yy84;
5963
368
      goto yy225;
5964
6.87k
    } else {
5965
6.87k
      if (yych <= '\r') goto yy84;
5966
6.66k
      if (yych == '.') goto yy352;
5967
3.84k
      goto yy225;
5968
6.66k
    }
5969
433k
yy443:
5970
433k
    YYDEBUG(443, *YYCURSOR);
5971
433k
    ++YYCURSOR;
5972
433k
    YYFILL(1);
5973
433k
    yych = *YYCURSOR;
5974
433k
    YYDEBUG(444, *YYCURSOR);
5975
433k
    if (yybm[0+yych] & 128) {
5976
357k
      goto yy443;
5977
357k
    }
5978
76.0k
    if (yych <= 0x00) goto yy86;
5979
73.3k
    if (yych <= '\r') goto yy545;
5980
11.3k
    goto yy547;
5981
11.3k
yy445:
5982
8.47k
    YYDEBUG(445, *YYCURSOR);
5983
8.47k
    yych = *++YYCURSOR;
5984
8.47k
    if (yych == 'Y') goto yy549;
5985
8.10k
    if (yych == 'y') goto yy549;
5986
284
    goto yy86;
5987
2.26k
yy446:
5988
2.26k
    YYDEBUG(446, *YYCURSOR);
5989
2.26k
    yych = *++YYCURSOR;
5990
2.26k
    if (yych == 'R') goto yy551;
5991
1.60k
    if (yych == 'r') goto yy551;
5992
548
    goto yy86;
5993
2.83k
yy447:
5994
2.83k
    YYDEBUG(447, *YYCURSOR);
5995
2.83k
    yych = *++YYCURSOR;
5996
2.83k
    if (yych == 'E') goto yy556;
5997
2.34k
    if (yych == 'e') goto yy556;
5998
1.58k
    goto yy553;
5999
3.25k
yy448:
6000
3.25k
    YYDEBUG(448, *YYCURSOR);
6001
3.25k
    yych = *++YYCURSOR;
6002
3.25k
    if (yych == 'L') goto yy557;
6003
2.42k
    if (yych == 'l') goto yy557;
6004
518
    goto yy86;
6005
2.39k
yy449:
6006
2.39k
    YYDEBUG(449, *YYCURSOR);
6007
2.39k
    yych = *++YYCURSOR;
6008
2.39k
    if (yych == 'T') goto yy558;
6009
2.20k
    if (yych == 't') goto yy558;
6010
602
    goto yy86;
6011
2.29k
yy450:
6012
2.29k
    YYDEBUG(450, *YYCURSOR);
6013
2.29k
    ++YYCURSOR;
6014
2.29k
    YYFILL(1);
6015
2.29k
    yych = *YYCURSOR;
6016
6.62k
yy451:
6017
6.62k
    YYDEBUG(451, *YYCURSOR);
6018
6.62k
    if (yych <= 0x1F) {
6019
697
      if (yych == '\t') goto yy450;
6020
275
      goto yy86;
6021
5.93k
    } else {
6022
5.93k
      if (yych <= ' ') goto yy450;
6023
4.06k
      if (yych != ')') goto yy86;
6024
4.06k
    }
6025
1.36k
    YYDEBUG(452, *YYCURSOR);
6026
1.36k
    ++YYCURSOR;
6027
1.36k
    YYDEBUG(453, *YYCURSOR);
6028
1.36k
    yyleng = YYCURSOR - SCNG(yy_text);
6029
1.36k
#line 1638 "Zend/zend_language_scanner.l"
6030
1.36k
    {
6031
1.36k
  RETURN_TOKEN(T_INT_CAST);
6032
1.36k
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
3.87k
yy454:
6035
3.87k
    YYDEBUG(454, *YYCURSOR);
6036
3.87k
    yych = *++YYCURSOR;
6037
3.87k
    if (yych == 'G') goto yy560;
6038
3.51k
    if (yych == 'g') goto yy560;
6039
873
    goto yy86;
6040
1.83k
yy455:
6041
1.83k
    YYDEBUG(455, *YYCURSOR);
6042
1.83k
    yych = *++YYCURSOR;
6043
1.83k
    if (yych == 'C') goto yy561;
6044
1.78k
    if (yych == 'c') goto yy561;
6045
339
    goto yy86;
6046
4.30k
yy456:
6047
4.30k
    YYDEBUG(456, *YYCURSOR);
6048
4.30k
    ++YYCURSOR;
6049
4.30k
    YYFILL(1);
6050
4.30k
    yych = *YYCURSOR;
6051
4.30k
    YYDEBUG(457, *YYCURSOR);
6052
4.30k
    if (yych <= 0x1F) {
6053
2.85k
      if (yych == '\t') goto yy456;
6054
435
      goto yy86;
6055
2.85k
    } else {
6056
1.44k
      if (yych <= ' ') goto yy456;
6057
1.24k
      if (yych == ')') goto yy562;
6058
667
      goto yy86;
6059
1.24k
    }
6060
13.7k
yy458:
6061
13.7k
    YYDEBUG(458, *YYCURSOR);
6062
13.7k
    yych = *++YYCURSOR;
6063
13.7k
    if (yych == 'N') goto yy564;
6064
13.7k
    if (yych == 'n') goto yy564;
6065
2.35k
    goto yy86;
6066
2.83k
yy459:
6067
2.83k
    YYDEBUG(459, *YYCURSOR);
6068
2.83k
    yych = *++YYCURSOR;
6069
2.83k
    if (yych == 'T') goto yy565;
6070
2.00k
    if (yych == 't') goto yy565;
6071
995
    goto yy86;
6072
1.79k
yy460:
6073
1.79k
    YYDEBUG(460, *YYCURSOR);
6074
1.79k
    ++YYCURSOR;
6075
1.79k
    YYFILL(1);
6076
1.79k
    yych = *YYCURSOR;
6077
1.79k
    YYDEBUG(461, *YYCURSOR);
6078
1.79k
    if (yych <= 0x1F) {
6079
299
      if (yych == '\t') goto yy460;
6080
55
      goto yy86;
6081
1.49k
    } else {
6082
1.49k
      if (yych <= ' ') goto yy460;
6083
1.24k
      if (yych == ')') goto yy567;
6084
631
      goto yy86;
6085
1.24k
    }
6086
10.9k
yy462:
6087
10.9k
    YYDEBUG(462, *YYCURSOR);
6088
10.9k
    ++YYCURSOR;
6089
10.9k
    YYFILL(3);
6090
10.9k
    yych = *YYCURSOR;
6091
14.7k
yy463:
6092
14.7k
    YYDEBUG(463, *YYCURSOR);
6093
14.7k
    if (yych <= 'Z') {
6094
4.67k
      if (yych <= '/') {
6095
2.90k
        if (yych == '"') goto yy569;
6096
2.15k
        goto yy86;
6097
2.90k
      } else {
6098
1.76k
        if (yych <= '9') goto yy462;
6099
1.26k
        if (yych <= '@') goto yy86;
6100
945
        goto yy462;
6101
1.26k
      }
6102
10.0k
    } else {
6103
10.0k
      if (yych <= '`') {
6104
1.07k
        if (yych == '_') goto yy462;
6105
243
        goto yy86;
6106
8.96k
      } else {
6107
8.96k
        if (yych <= 'z') goto yy462;
6108
1.09k
        if (yych <= 0x7F) goto yy86;
6109
842
        goto yy462;
6110
1.09k
      }
6111
10.0k
    }
6112
33.0k
yy464:
6113
33.0k
    YYDEBUG(464, *YYCURSOR);
6114
33.0k
    ++YYCURSOR;
6115
33.0k
    YYFILL(3);
6116
33.0k
    yych = *YYCURSOR;
6117
43.5k
yy465:
6118
43.5k
    YYDEBUG(465, *YYCURSOR);
6119
43.5k
    if (yych <= 'Z') {
6120
19.9k
      if (yych <= '/') {
6121
8.71k
        if (yych == '\'') goto yy569;
6122
1.65k
        goto yy86;
6123
11.2k
      } else {
6124
11.2k
        if (yych <= '9') goto yy464;
6125
10.9k
        if (yych <= '@') goto yy86;
6126
9.74k
        goto yy464;
6127
10.9k
      }
6128
23.6k
    } else {
6129
23.6k
      if (yych <= '`') {
6130
476
        if (yych == '_') goto yy464;
6131
293
        goto yy86;
6132
23.1k
      } else {
6133
23.1k
        if (yych <= 'z') goto yy464;
6134
15.1k
        if (yych <= 0x7F) goto yy86;
6135
14.8k
        goto yy464;
6136
15.1k
      }
6137
23.6k
    }
6138
3.10M
yy466:
6139
3.10M
    YYDEBUG(466, *YYCURSOR);
6140
3.10M
    ++YYCURSOR;
6141
3.12M
yy467:
6142
3.12M
    YYDEBUG(467, *YYCURSOR);
6143
3.12M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
3.12M
#line 2678 "Zend/zend_language_scanner.l"
6145
3.12M
    {
6146
3.12M
  char *s;
6147
3.12M
  unsigned char *saved_cursor;
6148
3.12M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
3.12M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
3.12M
  bool is_heredoc = 1;
6151
6152
3.12M
  CG(zend_lineno)++;
6153
3.12M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
3.12M
  s = yytext+bprefix+3;
6155
3.13M
  while ((*s == ' ') || (*s == '\t')) {
6156
5.85k
    s++;
6157
5.85k
    heredoc_label->length--;
6158
5.85k
  }
6159
6160
3.12M
  if (*s == '\'') {
6161
6.67k
    s++;
6162
6.67k
    heredoc_label->length -= 2;
6163
6.67k
    is_heredoc = 0;
6164
6165
6.67k
    BEGIN(ST_NOWDOC);
6166
3.11M
  } else {
6167
3.11M
    if (*s == '"') {
6168
473
      s++;
6169
473
      heredoc_label->length -= 2;
6170
473
    }
6171
6172
3.11M
    BEGIN(ST_HEREDOC);
6173
3.11M
  }
6174
6175
3.12M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
3.12M
  heredoc_label->indentation_uses_spaces = 0;
6177
3.12M
  heredoc_label->indentation = 0;
6178
3.12M
  saved_cursor = YYCURSOR;
6179
6180
3.12M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
3.17M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
50.7k
    if (*YYCURSOR == '\t') {
6184
5.11k
      spacing |= HEREDOC_USING_TABS;
6185
45.6k
    } else {
6186
45.6k
      spacing |= HEREDOC_USING_SPACES;
6187
45.6k
    }
6188
50.7k
    ++YYCURSOR;
6189
50.7k
    ++indentation;
6190
50.7k
  }
6191
6192
3.12M
  if (YYCURSOR == YYLIMIT) {
6193
964
    YYCURSOR = saved_cursor;
6194
964
    RETURN_TOKEN(T_START_HEREDOC);
6195
964
  }
6196
6197
  /* Check for ending label on the next line */
6198
3.12M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
9.52k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
4.46k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
87
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
87
        if (PARSER_MODE()) {
6203
12
          RETURN_TOKEN(T_ERROR);
6204
12
        }
6205
87
      }
6206
6207
4.45k
      YYCURSOR = saved_cursor;
6208
4.45k
      heredoc_label->indentation = indentation;
6209
6210
4.45k
      BEGIN(ST_END_HEREDOC);
6211
4.45k
      RETURN_TOKEN(T_START_HEREDOC);
6212
4.45k
    }
6213
9.52k
  }
6214
6215
3.11M
  YYCURSOR = saved_cursor;
6216
6217
3.11M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
131k
    zend_lex_state current_state;
6219
131k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
131k
    int heredoc_nesting_level = 1;
6221
131k
    int first_token = 0;
6222
131k
    int error = 0;
6223
6224
131k
    zend_save_lexical_state(&current_state);
6225
6226
131k
    SCNG(heredoc_scan_ahead) = 1;
6227
131k
    SCNG(heredoc_indentation) = 0;
6228
131k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
131k
    SCNG(on_event_context) = NULL;
6230
131k
    LANG_SCNG(on_event) = NULL;
6231
131k
    CG(doc_comment) = NULL;
6232
6233
131k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
131k
    zend_object *prev_exception = EG(exception);
6236
131k
    EG(exception) = NULL;
6237
21.2M
    while (heredoc_nesting_level) {
6238
21.2M
      zval zv;
6239
21.2M
      int retval;
6240
6241
21.2M
      ZVAL_UNDEF(&zv);
6242
21.2M
      retval = lex_scan(&zv, NULL);
6243
21.2M
      zval_ptr_dtor_nogc(&zv);
6244
6245
21.2M
      if (EG(exception)) {
6246
123k
        zend_clear_exception();
6247
123k
        break;
6248
123k
      }
6249
6250
21.1M
      if (!first_token) {
6251
131k
        first_token = retval;
6252
131k
      }
6253
6254
21.1M
      switch (retval) {
6255
2.99M
        case T_START_HEREDOC:
6256
2.99M
          ++heredoc_nesting_level;
6257
2.99M
          break;
6258
13.9k
        case T_END_HEREDOC:
6259
13.9k
          --heredoc_nesting_level;
6260
13.9k
          break;
6261
2.95k
        case END:
6262
2.95k
          heredoc_nesting_level = 0;
6263
21.1M
      }
6264
21.1M
    }
6265
131k
    EG(exception) = prev_exception;
6266
6267
131k
    if (
6268
131k
        (first_token == T_VARIABLE
6269
125k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6270
33.2k
         || first_token == T_CURLY_OPEN
6271
131k
        ) && SCNG(heredoc_indentation)) {
6272
9
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6273
9
      error = 1;
6274
9
    }
6275
6276
131k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6277
131k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6278
6279
131k
    zend_restore_lexical_state(&current_state);
6280
131k
    SCNG(heredoc_scan_ahead) = 0;
6281
131k
    CG(increment_lineno) = 0;
6282
131k
    CG(doc_comment) = saved_doc_comment;
6283
6284
131k
    if (PARSER_MODE() && error) {
6285
9
      RETURN_TOKEN(T_ERROR);
6286
9
    }
6287
131k
  }
6288
6289
3.11M
  RETURN_TOKEN(T_START_HEREDOC);
6290
3.11M
}
6291
0
#line 6292 "Zend/zend_language_scanner.c"
6292
18.0k
yy468:
6293
18.0k
    YYDEBUG(468, *YYCURSOR);
6294
18.0k
    yych = *++YYCURSOR;
6295
18.0k
    if (yych == '\n') goto yy466;
6296
17.6k
    goto yy467;
6297
17.6k
yy469:
6298
8.32k
    YYDEBUG(469, *YYCURSOR);
6299
8.32k
    yyaccept = 4;
6300
8.32k
    yych = *(YYMARKER = ++YYCURSOR);
6301
8.32k
    if (yych == 'A') goto yy570;
6302
6.71k
    if (yych == 'a') goto yy570;
6303
282
    goto yy48;
6304
23.6k
yy470:
6305
23.6k
    YYDEBUG(470, *YYCURSOR);
6306
23.6k
    yyaccept = 34;
6307
23.6k
    yych = *(YYMARKER = ++YYCURSOR);
6308
23.6k
    if (yybm[256+yych] & 128) {
6309
6.50k
      goto yy47;
6310
6.50k
    }
6311
17.1k
    if (yych == '\\') goto yy164;
6312
17.1k
yy471:
6313
17.1k
    YYDEBUG(471, *YYCURSOR);
6314
17.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6315
17.1k
#line 1818 "Zend/zend_language_scanner.l"
6316
17.1k
    {
6317
17.1k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6318
17.1k
}
6319
0
#line 6320 "Zend/zend_language_scanner.c"
6320
3.30k
yy472:
6321
3.30k
    YYDEBUG(472, *YYCURSOR);
6322
3.30k
    yyaccept = 35;
6323
3.30k
    yych = *(YYMARKER = ++YYCURSOR);
6324
3.30k
    if (yybm[256+yych] & 128) {
6325
861
      goto yy47;
6326
861
    }
6327
2.44k
    if (yych == '\\') goto yy164;
6328
2.41k
yy473:
6329
2.41k
    YYDEBUG(473, *YYCURSOR);
6330
2.41k
    yyleng = YYCURSOR - SCNG(yy_text);
6331
2.41k
#line 1534 "Zend/zend_language_scanner.l"
6332
2.41k
    {
6333
2.41k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6334
2.41k
}
6335
0
#line 6336 "Zend/zend_language_scanner.c"
6336
4.82k
yy474:
6337
4.82k
    YYDEBUG(474, *YYCURSOR);
6338
4.82k
    yyaccept = 4;
6339
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
6340
4.82k
    if (yych == 'B') goto yy571;
6341
3.78k
    if (yych == 'b') goto yy571;
6342
261
    goto yy48;
6343
35.8k
yy475:
6344
35.8k
    YYDEBUG(475, *YYCURSOR);
6345
35.8k
    yyaccept = 36;
6346
35.8k
    yych = *(YYMARKER = ++YYCURSOR);
6347
35.8k
    if (yybm[256+yych] & 128) {
6348
1.93k
      goto yy47;
6349
1.93k
    }
6350
33.8k
    if (yych == '\\') goto yy164;
6351
33.8k
yy476:
6352
33.8k
    YYDEBUG(476, *YYCURSOR);
6353
33.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6354
33.8k
#line 1442 "Zend/zend_language_scanner.l"
6355
33.8k
    {
6356
33.8k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6357
33.8k
}
6358
0
#line 6359 "Zend/zend_language_scanner.c"
6359
69.4k
yy477:
6360
69.4k
    YYDEBUG(477, *YYCURSOR);
6361
69.4k
    yyaccept = 37;
6362
69.4k
    yych = *(YYMARKER = ++YYCURSOR);
6363
69.4k
    if (yybm[256+yych] & 128) {
6364
4.81k
      goto yy47;
6365
4.81k
    }
6366
64.6k
    if (yych == '\\') goto yy164;
6367
64.6k
yy478:
6368
64.6k
    YYDEBUG(478, *YYCURSOR);
6369
64.6k
    yyleng = YYCURSOR - SCNG(yy_text);
6370
64.6k
#line 1554 "Zend/zend_language_scanner.l"
6371
64.6k
    {
6372
64.6k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6373
64.6k
}
6374
0
#line 6375 "Zend/zend_language_scanner.c"
6375
5.68k
yy479:
6376
5.68k
    YYDEBUG(479, *YYCURSOR);
6377
5.68k
    yyaccept = 38;
6378
5.68k
    yych = *(YYMARKER = ++YYCURSOR);
6379
5.68k
    if (yybm[256+yych] & 128) {
6380
640
      goto yy47;
6381
640
    }
6382
5.04k
    if (yych == '\\') goto yy164;
6383
5.03k
yy480:
6384
5.03k
    YYDEBUG(480, *YYCURSOR);
6385
5.03k
    yyleng = YYCURSOR - SCNG(yy_text);
6386
5.03k
#line 1630 "Zend/zend_language_scanner.l"
6387
5.03k
    {
6388
5.03k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6389
5.03k
}
6390
0
#line 6391 "Zend/zend_language_scanner.c"
6391
39.1k
yy481:
6392
39.1k
    YYDEBUG(481, *YYCURSOR);
6393
39.1k
    yyaccept = 39;
6394
39.1k
    yych = *(YYMARKER = ++YYCURSOR);
6395
39.1k
    if (yybm[256+yych] & 128) {
6396
4.29k
      goto yy47;
6397
4.29k
    }
6398
34.8k
    if (yych == '\\') goto yy164;
6399
34.8k
yy482:
6400
34.8k
    YYDEBUG(482, *YYCURSOR);
6401
34.8k
    yyleng = YYCURSOR - SCNG(yy_text);
6402
34.8k
#line 1415 "Zend/zend_language_scanner.l"
6403
34.8k
    {
6404
34.8k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6405
34.8k
}
6406
0
#line 6407 "Zend/zend_language_scanner.c"
6407
4.82k
yy483:
6408
4.82k
    YYDEBUG(483, *YYCURSOR);
6409
4.82k
    yyaccept = 4;
6410
4.82k
    yych = *(YYMARKER = ++YYCURSOR);
6411
4.82k
    if (yych == 'N') goto yy572;
6412
3.18k
    if (yych == 'n') goto yy572;
6413
527
    goto yy48;
6414
8.45k
yy484:
6415
8.45k
    YYDEBUG(484, *YYCURSOR);
6416
8.45k
    yyaccept = 4;
6417
8.45k
    yych = *(YYMARKER = ++YYCURSOR);
6418
8.45k
    if (yych == 'R') goto yy573;
6419
8.20k
    if (yych == 'r') goto yy573;
6420
1.84k
    goto yy48;
6421
3.40k
yy485:
6422
3.40k
    YYDEBUG(485, *YYCURSOR);
6423
3.40k
    yyaccept = 4;
6424
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
6425
3.40k
    if (yych == 'L') goto yy574;
6426
3.10k
    if (yych == 'l') goto yy574;
6427
516
    goto yy48;
6428
4.88k
yy486:
6429
4.88k
    YYDEBUG(486, *YYCURSOR);
6430
4.88k
    yyaccept = 4;
6431
4.88k
    yych = *(YYMARKER = ++YYCURSOR);
6432
4.88k
    if (yych == 'F') goto yy575;
6433
4.59k
    if (yych == 'f') goto yy575;
6434
2.05k
    goto yy48;
6435
4.25k
yy487:
6436
4.25k
    YYDEBUG(487, *YYCURSOR);
6437
4.25k
    yyaccept = 40;
6438
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
6439
4.25k
    if (yybm[256+yych] & 128) {
6440
487
      goto yy47;
6441
487
    }
6442
3.76k
    if (yych == '\\') goto yy164;
6443
3.65k
yy488:
6444
3.65k
    YYDEBUG(488, *YYCURSOR);
6445
3.65k
    yyleng = YYCURSOR - SCNG(yy_text);
6446
3.65k
#line 1758 "Zend/zend_language_scanner.l"
6447
3.65k
    {
6448
3.65k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6449
3.65k
}
6450
0
#line 6451 "Zend/zend_language_scanner.c"
6451
5.66k
yy489:
6452
5.66k
    YYDEBUG(489, *YYCURSOR);
6453
5.66k
    yyaccept = 4;
6454
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
6455
5.66k
    if (yych == 'C') goto yy577;
6456
4.18k
    if (yych == 'c') goto yy577;
6457
1.29k
    goto yy48;
6458
11.9k
yy490:
6459
11.9k
    YYDEBUG(490, *YYCURSOR);
6460
11.9k
    yyaccept = 4;
6461
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
6462
11.9k
    if (yych == 'R') goto yy578;
6463
8.95k
    if (yych == 'r') goto yy578;
6464
755
    goto yy48;
6465
6.02k
yy491:
6466
6.02k
    YYDEBUG(491, *YYCURSOR);
6467
6.02k
    yyaccept = 41;
6468
6.02k
    yych = *(YYMARKER = ++YYCURSOR);
6469
6.02k
    if (yybm[256+yych] & 128) {
6470
345
      goto yy47;
6471
345
    }
6472
5.68k
    if (yych == '\\') goto yy164;
6473
5.58k
yy492:
6474
5.58k
    YYDEBUG(492, *YYCURSOR);
6475
5.58k
    yyleng = YYCURSOR - SCNG(yy_text);
6476
5.58k
#line 1462 "Zend/zend_language_scanner.l"
6477
5.58k
    {
6478
5.58k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6479
5.58k
}
6480
0
#line 6481 "Zend/zend_language_scanner.c"
6481
4.95k
yy493:
6482
4.95k
    YYDEBUG(493, *YYCURSOR);
6483
4.95k
    yyaccept = 4;
6484
4.95k
    yych = *(YYMARKER = ++YYCURSOR);
6485
4.95k
    if (yych == 'I') goto yy580;
6486
3.73k
    if (yych == 'i') goto yy580;
6487
703
    goto yy48;
6488
7.86k
yy494:
6489
7.86k
    YYDEBUG(494, *YYCURSOR);
6490
7.86k
    yyaccept = 4;
6491
7.86k
    yych = *(YYMARKER = ++YYCURSOR);
6492
7.86k
    if (yych == 'I') goto yy581;
6493
5.58k
    if (yych == 'i') goto yy581;
6494
874
    goto yy48;
6495
692k
yy495:
6496
692k
    YYDEBUG(495, *YYCURSOR);
6497
692k
    ++YYCURSOR;
6498
692k
    YYFILL(10);
6499
692k
    yych = *YYCURSOR;
6500
692k
    YYDEBUG(496, *YYCURSOR);
6501
692k
    if (yych <= 'E') {
6502
647k
      if (yych <= ' ') {
6503
64.7k
        if (yych <= '\f') {
6504
18.8k
          if (yych <= 0x08) goto yy86;
6505
16.6k
          if (yych <= '\n') goto yy495;
6506
1.15k
          goto yy86;
6507
45.9k
        } else {
6508
45.9k
          if (yych <= '\r') goto yy495;
6509
10.5k
          if (yych <= 0x1F) goto yy86;
6510
9.69k
          goto yy495;
6511
10.5k
        }
6512
583k
      } else {
6513
583k
        if (yych <= '.') {
6514
564k
          if (yych != '#') goto yy86;
6515
564k
        } else {
6516
18.6k
          if (yych <= '/') goto yy498;
6517
7.12k
          if (yych <= '@') goto yy86;
6518
3.18k
          if (yych <= 'D') goto yy582;
6519
1.29k
          goto yy584;
6520
3.18k
        }
6521
583k
      }
6522
647k
    } else {
6523
44.8k
      if (yych <= '`') {
6524
8.45k
        if (yych <= 'Z') {
6525
5.95k
          if (yych == 'I') goto yy585;
6526
3.60k
          goto yy582;
6527
5.95k
        } else {
6528
2.49k
          if (yych == '_') goto yy582;
6529
1.37k
          goto yy86;
6530
2.49k
        }
6531
36.4k
      } else {
6532
36.4k
        if (yych <= 'h') {
6533
16.4k
          if (yych == 'e') goto yy584;
6534
4.63k
          goto yy582;
6535
19.9k
        } else {
6536
19.9k
          if (yych <= 'i') goto yy585;
6537
15.1k
          if (yych <= 'z') goto yy582;
6538
8.94k
          if (yych <= 0x7F) goto yy86;
6539
6.36k
          goto yy582;
6540
8.94k
        }
6541
36.4k
      }
6542
44.8k
    }
6543
556k
yy497:
6544
556k
    YYDEBUG(497, *YYCURSOR);
6545
556k
    ++YYCURSOR;
6546
556k
    YYFILL(1);
6547
556k
    yych = *YYCURSOR;
6548
556k
    if (yych <= '\f') {
6549
424k
      if (yych <= 0x00) goto yy86;
6550
423k
      if (yych == '\n') goto yy588;
6551
8.47k
      goto yy586;
6552
423k
    } else {
6553
131k
      if (yych <= '\r') goto yy588;
6554
51.2k
      if (yych == '[') goto yy86;
6555
51.2k
      goto yy586;
6556
51.2k
    }
6557
12.0k
yy498:
6558
12.0k
    YYDEBUG(498, *YYCURSOR);
6559
12.0k
    ++YYCURSOR;
6560
12.0k
    YYFILL(1);
6561
12.0k
    yych = *YYCURSOR;
6562
12.0k
    if (yych == '*') goto yy590;
6563
7.33k
    if (yych == '/') goto yy586;
6564
961
    goto yy86;
6565
21.3k
yy499:
6566
21.3k
    YYDEBUG(499, *YYCURSOR);
6567
21.3k
    yyaccept = 4;
6568
21.3k
    yych = *(YYMARKER = ++YYCURSOR);
6569
21.3k
    if (yych == 'D') goto yy592;
6570
19.2k
    if (yych == 'd') goto yy592;
6571
2.33k
    goto yy48;
6572
14.3k
yy500:
6573
14.3k
    YYDEBUG(500, *YYCURSOR);
6574
14.3k
    yyaccept = 42;
6575
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
6576
14.3k
    if (yych <= '\\') {
6577
7.57k
      if (yych <= 'K') {
6578
6.26k
        if (yych <= '/') goto yy501;
6579
2.55k
        if (yych <= '9') goto yy47;
6580
1.73k
        if (yych >= 'A') goto yy47;
6581
1.73k
      } else {
6582
1.31k
        if (yych <= 'L') goto yy593;
6583
1.03k
        if (yych <= 'Z') goto yy47;
6584
649
        if (yych >= '\\') goto yy164;
6585
649
      }
6586
7.57k
    } else {
6587
6.72k
      if (yych <= 'k') {
6588
1.10k
        if (yych == '_') goto yy47;
6589
654
        if (yych >= 'a') goto yy47;
6590
5.62k
      } else {
6591
5.62k
        if (yych <= 'l') goto yy593;
6592
1.13k
        if (yych <= 'z') goto yy47;
6593
782
        if (yych >= 0x80) goto yy47;
6594
782
      }
6595
6.72k
    }
6596
6.39k
yy501:
6597
6.39k
    YYDEBUG(501, *YYCURSOR);
6598
6.39k
    yyleng = YYCURSOR - SCNG(yy_text);
6599
6.39k
#line 1774 "Zend/zend_language_scanner.l"
6600
6.39k
    {
6601
6.39k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6602
6.39k
}
6603
0
#line 6604 "Zend/zend_language_scanner.c"
6604
21.9k
yy502:
6605
21.9k
    YYDEBUG(502, *YYCURSOR);
6606
21.9k
    yyaccept = 4;
6607
21.9k
    yych = *(YYMARKER = ++YYCURSOR);
6608
21.9k
    if (yych == 'C') goto yy594;
6609
21.5k
    if (yych == 'c') goto yy594;
6610
573
    goto yy48;
6611
92.8k
yy503:
6612
92.8k
    YYDEBUG(503, *YYCURSOR);
6613
92.8k
    yyaccept = 4;
6614
92.8k
    yych = *(YYMARKER = ++YYCURSOR);
6615
92.8k
    if (yych == 'I') goto yy595;
6616
92.2k
    if (yych == 'i') goto yy595;
6617
1.17k
    goto yy48;
6618
5.30k
yy504:
6619
5.30k
    YYDEBUG(504, *YYCURSOR);
6620
5.30k
    yyaccept = 4;
6621
5.30k
    yych = *(YYMARKER = ++YYCURSOR);
6622
5.30k
    if (yych == 'L') goto yy596;
6623
3.53k
    if (yych == 'l') goto yy596;
6624
949
    goto yy48;
6625
25.8k
yy505:
6626
25.8k
    YYDEBUG(505, *YYCURSOR);
6627
25.8k
    yyaccept = 4;
6628
25.8k
    yych = *(YYMARKER = ++YYCURSOR);
6629
25.8k
    if (yych == 'M') goto yy598;
6630
21.7k
    if (yych == 'm') goto yy598;
6631
8.02k
    goto yy48;
6632
11.8k
yy506:
6633
11.8k
    YYDEBUG(506, *YYCURSOR);
6634
11.8k
    yyaccept = 4;
6635
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
6636
11.8k
    if (yych == 'D') goto yy599;
6637
10.2k
    if (yych == 'd') goto yy599;
6638
643
    goto yy48;
6639
5.55k
yy507:
6640
5.55k
    YYDEBUG(507, *YYCURSOR);
6641
5.55k
    yyaccept = 4;
6642
5.55k
    yych = *(YYMARKER = ++YYCURSOR);
6643
5.55k
    if (yych == 'N') goto yy600;
6644
4.82k
    if (yych == 'n') goto yy600;
6645
697
    goto yy48;
6646
8.80k
yy508:
6647
8.80k
    YYDEBUG(508, *YYCURSOR);
6648
8.80k
    yyaccept = 4;
6649
8.80k
    yych = *(YYMARKER = ++YYCURSOR);
6650
8.80k
    if (yych == 'A') goto yy601;
6651
8.07k
    if (yych == 'a') goto yy601;
6652
3.15k
    goto yy48;
6653
9.36k
yy509:
6654
9.36k
    YYDEBUG(509, *YYCURSOR);
6655
9.36k
    yyaccept = 4;
6656
9.36k
    yych = *(YYMARKER = ++YYCURSOR);
6657
9.36k
    if (yych == 'F') goto yy602;
6658
8.96k
    if (yych == 'f') goto yy602;
6659
514
    goto yy48;
6660
17.4k
yy510:
6661
17.4k
    YYDEBUG(510, *YYCURSOR);
6662
17.4k
    yyaccept = 43;
6663
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
6664
17.4k
    if (yybm[256+yych] & 128) {
6665
4.00k
      goto yy47;
6666
4.00k
    }
6667
13.4k
    if (yych == '\\') goto yy164;
6668
13.4k
yy511:
6669
13.4k
    YYDEBUG(511, *YYCURSOR);
6670
13.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6671
13.4k
#line 1754 "Zend/zend_language_scanner.l"
6672
13.4k
    {
6673
13.4k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6674
13.4k
}
6675
0
#line 6676 "Zend/zend_language_scanner.c"
6676
3.29k
yy512:
6677
3.29k
    YYDEBUG(512, *YYCURSOR);
6678
3.29k
    yyaccept = 44;
6679
3.29k
    yych = *(YYMARKER = ++YYCURSOR);
6680
3.29k
    if (yybm[256+yych] & 128) {
6681
394
      goto yy47;
6682
394
    }
6683
2.89k
    if (yych == '\\') goto yy164;
6684
2.89k
yy513:
6685
2.89k
    YYDEBUG(513, *YYCURSOR);
6686
2.89k
    yyleng = YYCURSOR - SCNG(yy_text);
6687
2.89k
#line 1518 "Zend/zend_language_scanner.l"
6688
2.89k
    {
6689
2.89k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6690
2.89k
}
6691
0
#line 6692 "Zend/zend_language_scanner.c"
6692
28.5k
yy514:
6693
28.5k
    YYDEBUG(514, *YYCURSOR);
6694
28.5k
    yyaccept = 4;
6695
28.5k
    yych = *(YYMARKER = ++YYCURSOR);
6696
28.5k
    if (yych == 'P') goto yy603;
6697
17.4k
    if (yych == 'p') goto yy603;
6698
619
    goto yy48;
6699
12.2k
yy515:
6700
12.2k
    YYDEBUG(515, *YYCURSOR);
6701
12.2k
    yyaccept = 45;
6702
12.2k
    yych = *(YYMARKER = ++YYCURSOR);
6703
12.2k
    if (yybm[256+yych] & 128) {
6704
7.51k
      goto yy47;
6705
7.51k
    }
6706
4.75k
    if (yych == '\\') goto yy164;
6707
4.67k
yy516:
6708
4.67k
    YYDEBUG(516, *YYCURSOR);
6709
4.67k
    yyleng = YYCURSOR - SCNG(yy_text);
6710
4.67k
#line 1550 "Zend/zend_language_scanner.l"
6711
4.67k
    {
6712
4.67k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6713
4.67k
}
6714
0
#line 6715 "Zend/zend_language_scanner.c"
6715
10.7k
yy517:
6716
10.7k
    YYDEBUG(517, *YYCURSOR);
6717
10.7k
    yyaccept = 4;
6718
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
6719
10.7k
    if (yych == 'T') goto yy604;
6720
9.24k
    if (yych == 't') goto yy604;
6721
335
    goto yy48;
6722
10.1k
yy518:
6723
10.1k
    YYDEBUG(518, *YYCURSOR);
6724
10.1k
    yyaccept = 4;
6725
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
6726
10.1k
    if (yych == 'C') goto yy605;
6727
8.47k
    if (yych == 'c') goto yy605;
6728
454
    goto yy48;
6729
64.1k
yy519:
6730
64.1k
    YYDEBUG(519, *YYCURSOR);
6731
64.1k
    yyaccept = 4;
6732
64.1k
    yych = *(YYMARKER = ++YYCURSOR);
6733
64.1k
    if (yych == 'C') goto yy606;
6734
61.7k
    if (yych == 'c') goto yy606;
6735
2.27k
    goto yy48;
6736
7.11k
yy520:
6737
7.11k
    YYDEBUG(520, *YYCURSOR);
6738
7.11k
    yyaccept = 4;
6739
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
6740
7.11k
    if (yych == 'N') goto yy608;
6741
6.91k
    if (yych == 'n') goto yy608;
6742
636
    goto yy48;
6743
19.3k
yy521:
6744
19.3k
    YYDEBUG(521, *YYCURSOR);
6745
19.3k
    yyaccept = 4;
6746
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
6747
19.3k
    if (yych == 'R') goto yy609;
6748
18.3k
    if (yych == 'r') goto yy609;
6749
1.17k
    goto yy48;
6750
26.3k
yy522:
6751
26.3k
    YYDEBUG(522, *YYCURSOR);
6752
26.3k
    yyaccept = 4;
6753
26.3k
    yych = *(YYMARKER = ++YYCURSOR);
6754
26.3k
    if (yych == 'N') goto yy610;
6755
25.6k
    if (yych == 'n') goto yy610;
6756
1.05k
    goto yy48;
6757
17.0k
yy523:
6758
17.0k
    YYDEBUG(523, *YYCURSOR);
6759
17.0k
    yyaccept = 4;
6760
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
6761
17.0k
    if (yych == 'C') goto yy612;
6762
16.1k
    if (yych == 'c') goto yy612;
6763
1.22k
    goto yy48;
6764
7.79k
yy524:
6765
7.79k
    YYDEBUG(524, *YYCURSOR);
6766
7.79k
    yyaccept = 4;
6767
7.79k
    yych = *(YYMARKER = ++YYCURSOR);
6768
7.79k
    if (yych == 'H') goto yy614;
6769
7.23k
    if (yych == 'h') goto yy614;
6770
3.01k
    goto yy48;
6771
10.7k
yy525:
6772
10.7k
    YYDEBUG(525, *YYCURSOR);
6773
10.7k
    yyaccept = 46;
6774
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
6775
10.7k
    if (yybm[256+yych] & 128) {
6776
3.96k
      goto yy47;
6777
3.96k
    }
6778
6.77k
    if (yych == '\\') goto yy164;
6779
6.76k
yy526:
6780
6.76k
    YYDEBUG(526, *YYCURSOR);
6781
6.76k
    yyleng = YYCURSOR - SCNG(yy_text);
6782
6.76k
#line 1450 "Zend/zend_language_scanner.l"
6783
6.76k
    {
6784
6.76k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6785
6.76k
}
6786
0
#line 6787 "Zend/zend_language_scanner.c"
6787
8.62k
yy527:
6788
8.62k
    YYDEBUG(527, *YYCURSOR);
6789
8.62k
    yyaccept = 47;
6790
8.62k
    yych = *(YYMARKER = ++YYCURSOR);
6791
8.62k
    if (yybm[256+yych] & 128) {
6792
1.64k
      goto yy47;
6793
1.64k
    }
6794
6.97k
    if (yych == '\\') goto yy164;
6795
6.94k
yy528:
6796
6.94k
    YYDEBUG(528, *YYCURSOR);
6797
6.94k
    yyleng = YYCURSOR - SCNG(yy_text);
6798
6.94k
#line 1562 "Zend/zend_language_scanner.l"
6799
6.94k
    {
6800
6.94k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6801
6.94k
}
6802
0
#line 6803 "Zend/zend_language_scanner.c"
6803
8.85k
yy529:
6804
8.85k
    YYDEBUG(529, *YYCURSOR);
6805
8.85k
    yyaccept = 48;
6806
8.85k
    yych = *(YYMARKER = ++YYCURSOR);
6807
8.85k
    if (yybm[256+yych] & 128) {
6808
650
      goto yy47;
6809
650
    }
6810
8.20k
    if (yych == '\\') goto yy164;
6811
8.06k
yy530:
6812
8.06k
    YYDEBUG(530, *YYCURSOR);
6813
8.06k
    yyleng = YYCURSOR - SCNG(yy_text);
6814
8.06k
#line 1806 "Zend/zend_language_scanner.l"
6815
8.06k
    {
6816
8.06k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6817
8.06k
}
6818
0
#line 6819 "Zend/zend_language_scanner.c"
6819
4.34k
yy531:
6820
4.34k
    YYDEBUG(531, *YYCURSOR);
6821
4.34k
    yyaccept = 49;
6822
4.34k
    yych = *(YYMARKER = ++YYCURSOR);
6823
4.34k
    if (yybm[256+yych] & 128) {
6824
936
      goto yy47;
6825
936
    }
6826
3.40k
    if (yych == '\\') goto yy164;
6827
3.40k
yy532:
6828
3.40k
    YYDEBUG(532, *YYCURSOR);
6829
3.40k
    yyleng = YYCURSOR - SCNG(yy_text);
6830
3.40k
#line 1470 "Zend/zend_language_scanner.l"
6831
3.40k
    {
6832
3.40k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6833
3.40k
}
6834
0
#line 6835 "Zend/zend_language_scanner.c"
6835
80.5k
yy533:
6836
80.5k
    YYDEBUG(533, *YYCURSOR);
6837
80.5k
    yyaccept = 50;
6838
80.5k
    yych = *(YYMARKER = ++YYCURSOR);
6839
80.5k
    if (yybm[256+yych] & 128) {
6840
6.00k
      goto yy47;
6841
6.00k
    }
6842
74.5k
    if (yych <= ' ') {
6843
40.9k
      if (yych <= '\f') {
6844
29.2k
        if (yych <= 0x08) goto yy534;
6845
28.5k
        if (yych <= '\n') goto yy616;
6846
28.5k
      } else {
6847
11.6k
        if (yych <= '\r') goto yy616;
6848
10.7k
        if (yych >= ' ') goto yy616;
6849
10.7k
      }
6850
40.9k
    } else {
6851
33.6k
      if (yych <= '.') {
6852
31.4k
        if (yych == '#') goto yy618;
6853
31.4k
      } else {
6854
2.15k
        if (yych <= '/') goto yy619;
6855
1.77k
        if (yych == '\\') goto yy164;
6856
1.77k
      }
6857
33.6k
    }
6858
55.1k
yy534:
6859
55.1k
    YYDEBUG(534, *YYCURSOR);
6860
55.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6861
55.1k
#line 1434 "Zend/zend_language_scanner.l"
6862
55.1k
    {
6863
55.1k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6864
55.1k
}
6865
0
#line 6866 "Zend/zend_language_scanner.c"
6866
9.89k
yy535:
6867
9.89k
    YYDEBUG(535, *YYCURSOR);
6868
9.89k
    yyaccept = 4;
6869
9.89k
    yych = *(YYMARKER = ++YYCURSOR);
6870
9.89k
    if (yych == 'S') goto yy620;
6871
8.14k
    if (yych == 's') goto yy620;
6872
1.02k
    goto yy48;
6873
6.95k
yy536:
6874
6.95k
    YYDEBUG(536, *YYCURSOR);
6875
6.95k
    yyaccept = 4;
6876
6.95k
    yych = *(YYMARKER = ++YYCURSOR);
6877
6.95k
    if (yych == '_') goto yy621;
6878
1.03k
    goto yy48;
6879
9.08k
yy537:
6880
9.08k
    YYDEBUG(537, *YYCURSOR);
6881
9.08k
    yyaccept = 4;
6882
9.08k
    yych = *(YYMARKER = ++YYCURSOR);
6883
9.08k
    if (yych == 'E') goto yy622;
6884
3.79k
    if (yych == 'e') goto yy622;
6885
810
    goto yy48;
6886
12.4k
yy538:
6887
12.4k
    YYDEBUG(538, *YYCURSOR);
6888
12.4k
    yyaccept = 4;
6889
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
6890
12.4k
    if (yych == 'C') goto yy623;
6891
8.85k
    if (yych == 'c') goto yy623;
6892
4.73k
    goto yy48;
6893
7.70k
yy539:
6894
7.70k
    YYDEBUG(539, *YYCURSOR);
6895
7.70k
    yyaccept = 4;
6896
7.70k
    yych = *(YYMARKER = ++YYCURSOR);
6897
7.70k
    if (yych == 'T') goto yy624;
6898
6.52k
    if (yych == 't') goto yy624;
6899
655
    goto yy48;
6900
3.77k
yy540:
6901
3.77k
    YYDEBUG(540, *YYCURSOR);
6902
3.77k
    yyaccept = 4;
6903
3.77k
    yych = *(YYMARKER = ++YYCURSOR);
6904
3.77k
    if (yych == 'E') goto yy625;
6905
2.06k
    if (yych == 'e') goto yy625;
6906
229
    goto yy48;
6907
13.3k
yy541:
6908
13.3k
    YYDEBUG(541, *YYCURSOR);
6909
13.3k
    yyaccept = 4;
6910
13.3k
    yych = *(YYMARKER = ++YYCURSOR);
6911
13.3k
    if (yych == 'H') goto yy626;
6912
5.94k
    if (yych == 'h') goto yy626;
6913
974
    goto yy48;
6914
8.47k
yy542:
6915
8.47k
    YYDEBUG(542, *YYCURSOR);
6916
8.47k
    yyaccept = 4;
6917
8.47k
    yych = *(YYMARKER = ++YYCURSOR);
6918
8.47k
    if (yych == 'E') goto yy627;
6919
5.39k
    if (yych == 'e') goto yy627;
6920
1.47k
    goto yy48;
6921
4.55k
yy543:
6922
4.55k
    YYDEBUG(543, *YYCURSOR);
6923
4.55k
    yyaccept = 4;
6924
4.55k
    yych = *(YYMARKER = ++YYCURSOR);
6925
4.55k
    if (yych == 'P') goto yy628;
6926
1.93k
    if (yych == 'p') goto yy628;
6927
1.28k
    goto yy48;
6928
10.6k
yy544:
6929
10.6k
    YYDEBUG(544, *YYCURSOR);
6930
10.6k
    yyaccept = 4;
6931
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
6932
10.6k
    if (yych == 'I') goto yy629;
6933
9.58k
    if (yych == 'i') goto yy629;
6934
550
    goto yy48;
6935
88.6k
yy545:
6936
88.6k
    YYDEBUG(545, *YYCURSOR);
6937
88.6k
    ++YYCURSOR;
6938
88.6k
    YYFILL(1);
6939
88.6k
    yych = *YYCURSOR;
6940
88.6k
    YYDEBUG(546, *YYCURSOR);
6941
88.6k
    if (yybm[0+yych] & 64) {
6942
411
      goto yy355;
6943
411
    }
6944
88.2k
    if (yych <= ' ') {
6945
14.1k
      if (yych <= '\n') {
6946
6.20k
        if (yych <= 0x00) goto yy86;
6947
4.85k
        if (yych <= 0x08) goto yy230;
6948
4.60k
        goto yy545;
6949
7.93k
      } else {
6950
7.93k
        if (yych == '\r') goto yy545;
6951
1.45k
        if (yych <= 0x1F) goto yy230;
6952
1.33k
        goto yy545;
6953
1.45k
      }
6954
74.0k
    } else {
6955
74.0k
      if (yych <= '$') {
6956
55.0k
        if (yych <= '"') goto yy230;
6957
54.7k
        if (yych <= '#') goto yy630;
6958
3.87k
        goto yy631;
6959
54.7k
      } else {
6960
19.0k
        if (yych <= '-') goto yy230;
6961
15.7k
        if (yych <= '.') goto yy632;
6962
14.4k
        if (yych <= '/') goto yy633;
6963
4.20k
        goto yy230;
6964
14.4k
      }
6965
74.0k
    }
6966
18.4k
yy547:
6967
18.4k
    YYDEBUG(547, *YYCURSOR);
6968
18.4k
    ++YYCURSOR;
6969
18.4k
    YYFILL(1);
6970
18.4k
    yych = *YYCURSOR;
6971
18.4k
    YYDEBUG(548, *YYCURSOR);
6972
18.4k
    if (yych <= '\r') {
6973
2.85k
      if (yych <= '\t') {
6974
764
        if (yych <= 0x00) goto yy86;
6975
350
        goto yy443;
6976
2.09k
      } else {
6977
2.09k
        if (yych <= '\n') goto yy545;
6978
1.24k
        if (yych <= '\f') goto yy443;
6979
1.03k
        goto yy545;
6980
1.24k
      }
6981
15.6k
    } else {
6982
15.6k
      if (yych <= '*') {
6983
8.49k
        if (yych <= ')') goto yy443;
6984
3.89k
        goto yy547;
6985
8.49k
      } else {
6986
7.11k
        if (yych == '/') goto yy227;
6987
1.64k
        goto yy443;
6988
7.11k
      }
6989
15.6k
    }
6990
12.1k
yy549:
6991
12.1k
    YYDEBUG(549, *YYCURSOR);
6992
12.1k
    ++YYCURSOR;
6993
12.1k
    YYFILL(1);
6994
12.1k
    yych = *YYCURSOR;
6995
12.1k
    YYDEBUG(550, *YYCURSOR);
6996
12.1k
    if (yych <= 0x1F) {
6997
685
      if (yych == '\t') goto yy549;
6998
411
      goto yy86;
6999
11.4k
    } else {
7000
11.4k
      if (yych <= ' ') goto yy549;
7001
7.78k
      if (yych == ')') goto yy634;
7002
6.43k
      goto yy86;
7003
7.78k
    }
7004
1.71k
yy551:
7005
1.71k
    YYDEBUG(551, *YYCURSOR);
7006
1.71k
    yych = *++YYCURSOR;
7007
1.71k
    if (yych == 'Y') goto yy636;
7008
1.45k
    if (yych == 'y') goto yy636;
7009
668
    goto yy86;
7010
668
yy552:
7011
583
    YYDEBUG(552, *YYCURSOR);
7012
583
    ++YYCURSOR;
7013
583
    YYFILL(1);
7014
583
    yych = *YYCURSOR;
7015
2.16k
yy553:
7016
2.16k
    YYDEBUG(553, *YYCURSOR);
7017
2.16k
    if (yych <= 0x1F) {
7018
843
      if (yych == '\t') goto yy552;
7019
655
      goto yy86;
7020
1.32k
    } else {
7021
1.32k
      if (yych <= ' ') goto yy552;
7022
931
      if (yych != ')') goto yy86;
7023
931
    }
7024
547
    YYDEBUG(554, *YYCURSOR);
7025
547
    ++YYCURSOR;
7026
547
    YYDEBUG(555, *YYCURSOR);
7027
547
    yyleng = YYCURSOR - SCNG(yy_text);
7028
547
#line 1696 "Zend/zend_language_scanner.l"
7029
547
    {
7030
547
  RETURN_TOKEN(T_BOOL_CAST);
7031
547
}
7032
0
#line 7033 "Zend/zend_language_scanner.c"
7033
1.24k
yy556:
7034
1.24k
    YYDEBUG(556, *YYCURSOR);
7035
1.24k
    yych = *++YYCURSOR;
7036
1.24k
    if (yych == 'A') goto yy638;
7037
792
    if (yych == 'a') goto yy638;
7038
55
    goto yy86;
7039
2.73k
yy557:
7040
2.73k
    YYDEBUG(557, *YYCURSOR);
7041
2.73k
    yych = *++YYCURSOR;
7042
2.73k
    if (yych == 'E') goto yy639;
7043
2.25k
    if (yych == 'e') goto yy639;
7044
1.69k
    goto yy86;
7045
2.18k
yy558:
7046
2.18k
    YYDEBUG(558, *YYCURSOR);
7047
2.18k
    ++YYCURSOR;
7048
2.18k
    YYFILL(1);
7049
2.18k
    yych = *YYCURSOR;
7050
2.18k
    YYDEBUG(559, *YYCURSOR);
7051
2.18k
    if (yych <= 0x1F) {
7052
426
      if (yych == '\t') goto yy558;
7053
340
      goto yy86;
7054
1.75k
    } else {
7055
1.75k
      if (yych <= ' ') goto yy558;
7056
1.44k
      if (yych == ')') goto yy641;
7057
464
      goto yy86;
7058
1.44k
    }
7059
3.00k
yy560:
7060
3.00k
    YYDEBUG(560, *YYCURSOR);
7061
3.00k
    yych = *++YYCURSOR;
7062
3.00k
    if (yych == 'E') goto yy643;
7063
2.75k
    if (yych == 'e') goto yy643;
7064
1.02k
    goto yy86;
7065
1.49k
yy561:
7066
1.49k
    YYDEBUG(561, *YYCURSOR);
7067
1.49k
    yych = *++YYCURSOR;
7068
1.49k
    if (yych == 'T') goto yy644;
7069
1.09k
    if (yych == 't') goto yy644;
7070
123
    goto yy86;
7071
579
yy562:
7072
579
    YYDEBUG(562, *YYCURSOR);
7073
579
    ++YYCURSOR;
7074
579
    YYDEBUG(563, *YYCURSOR);
7075
579
    yyleng = YYCURSOR - SCNG(yy_text);
7076
579
#line 1666 "Zend/zend_language_scanner.l"
7077
579
    {
7078
579
  if (PARSER_MODE()) {
7079
9
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7080
9
    RETURN_TOKEN(T_ERROR);
7081
9
  }
7082
570
  RETURN_TOKEN(T_DOUBLE_CAST);
7083
570
}
7084
0
#line 7085 "Zend/zend_language_scanner.c"
7085
11.4k
yy564:
7086
11.4k
    YYDEBUG(564, *YYCURSOR);
7087
11.4k
    yych = *++YYCURSOR;
7088
11.4k
    if (yych == 'G') goto yy646;
7089
10.4k
    if (yych == 'g') goto yy646;
7090
1.27k
    goto yy86;
7091
2.99k
yy565:
7092
2.99k
    YYDEBUG(565, *YYCURSOR);
7093
2.99k
    ++YYCURSOR;
7094
2.99k
    YYFILL(1);
7095
2.99k
    yych = *YYCURSOR;
7096
2.99k
    YYDEBUG(566, *YYCURSOR);
7097
2.99k
    if (yych <= 0x1F) {
7098
1.13k
      if (yych == '\t') goto yy565;
7099
810
      goto yy86;
7100
1.86k
    } else {
7101
1.86k
      if (yych <= ' ') goto yy565;
7102
1.02k
      if (yych == ')') goto yy648;
7103
328
      goto yy86;
7104
1.02k
    }
7105
618
yy567:
7106
618
    YYDEBUG(567, *YYCURSOR);
7107
618
    ++YYCURSOR;
7108
618
    YYDEBUG(568, *YYCURSOR);
7109
618
    yyleng = YYCURSOR - SCNG(yy_text);
7110
618
#line 1714 "Zend/zend_language_scanner.l"
7111
618
    {
7112
618
  RETURN_TOKEN(T_VOID_CAST);
7113
618
}
7114
0
#line 7115 "Zend/zend_language_scanner.c"
7115
7.80k
yy569:
7116
7.80k
    YYDEBUG(569, *YYCURSOR);
7117
7.80k
    yych = *++YYCURSOR;
7118
7.80k
    if (yych == '\n') goto yy466;
7119
3.18k
    if (yych == '\r') goto yy468;
7120
652
    goto yy86;
7121
8.04k
yy570:
7122
8.04k
    YYDEBUG(570, *YYCURSOR);
7123
8.04k
    yyaccept = 4;
7124
8.04k
    yych = *(YYMARKER = ++YYCURSOR);
7125
8.04k
    if (yych == 'C') goto yy650;
7126
6.43k
    if (yych == 'c') goto yy650;
7127
474
    goto yy48;
7128
4.56k
yy571:
7129
4.56k
    YYDEBUG(571, *YYCURSOR);
7130
4.56k
    yyaccept = 4;
7131
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
7132
4.56k
    if (yych == 'L') goto yy651;
7133
3.70k
    if (yych == 'l') goto yy651;
7134
361
    goto yy48;
7135
4.29k
yy572:
7136
4.29k
    YYDEBUG(572, *YYCURSOR);
7137
4.29k
    yyaccept = 4;
7138
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
7139
4.29k
    if (yych == 'U') goto yy652;
7140
3.05k
    if (yych == 'u') goto yy652;
7141
386
    goto yy48;
7142
6.60k
yy573:
7143
6.60k
    YYDEBUG(573, *YYCURSOR);
7144
6.60k
    yyaccept = 4;
7145
6.60k
    yych = *(YYMARKER = ++YYCURSOR);
7146
6.60k
    if (yych == 'E') goto yy653;
7147
6.34k
    if (yych == 'e') goto yy653;
7148
402
    goto yy48;
7149
2.88k
yy574:
7150
2.88k
    YYDEBUG(574, *YYCURSOR);
7151
2.88k
    yyaccept = 4;
7152
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
7153
2.88k
    if (yych == 'T') goto yy655;
7154
2.43k
    if (yych == 't') goto yy655;
7155
446
    goto yy48;
7156
2.82k
yy575:
7157
2.82k
    YYDEBUG(575, *YYCURSOR);
7158
2.82k
    yyaccept = 51;
7159
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
7160
2.82k
    if (yybm[256+yych] & 128) {
7161
410
      goto yy47;
7162
410
    }
7163
2.41k
    if (yych == '\\') goto yy164;
7164
1.99k
yy576:
7165
1.99k
    YYDEBUG(576, *YYCURSOR);
7166
1.99k
    yyleng = YYCURSOR - SCNG(yy_text);
7167
1.99k
#line 1458 "Zend/zend_language_scanner.l"
7168
1.99k
    {
7169
1.99k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7170
1.99k
}
7171
0
#line 7172 "Zend/zend_language_scanner.c"
7172
4.36k
yy577:
7173
4.36k
    YYDEBUG(577, *YYCURSOR);
7174
4.36k
    yyaccept = 4;
7175
4.36k
    yych = *(YYMARKER = ++YYCURSOR);
7176
4.36k
    if (yych == 'L') goto yy657;
7177
3.24k
    if (yych == 'l') goto yy657;
7178
752
    goto yy48;
7179
11.2k
yy578:
7180
11.2k
    YYDEBUG(578, *YYCURSOR);
7181
11.2k
    yyaccept = 52;
7182
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
7183
11.2k
    if (yych <= '\\') {
7184
5.30k
      if (yych <= 'D') {
7185
1.98k
        if (yych <= '/') goto yy579;
7186
786
        if (yych <= '9') goto yy47;
7187
470
        if (yych >= 'A') goto yy47;
7188
3.32k
      } else {
7189
3.32k
        if (yych <= 'E') goto yy658;
7190
1.18k
        if (yych <= 'Z') goto yy47;
7191
827
        if (yych >= '\\') goto yy164;
7192
827
      }
7193
5.91k
    } else {
7194
5.91k
      if (yych <= 'd') {
7195
926
        if (yych == '_') goto yy47;
7196
639
        if (yych >= 'a') goto yy47;
7197
4.98k
      } else {
7198
4.98k
        if (yych <= 'e') goto yy658;
7199
1.01k
        if (yych <= 'z') goto yy47;
7200
799
        if (yych >= 0x80) goto yy47;
7201
799
      }
7202
5.91k
    }
7203
2.83k
yy579:
7204
2.83k
    YYDEBUG(579, *YYCURSOR);
7205
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
7206
2.83k
#line 1486 "Zend/zend_language_scanner.l"
7207
2.83k
    {
7208
2.83k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7209
2.83k
}
7210
0
#line 7211 "Zend/zend_language_scanner.c"
7211
4.25k
yy580:
7212
4.25k
    YYDEBUG(580, *YYCURSOR);
7213
4.25k
    yyaccept = 4;
7214
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
7215
4.25k
    if (yych == 'T') goto yy659;
7216
3.16k
    if (yych == 't') goto yy659;
7217
717
    goto yy48;
7218
6.99k
yy581:
7219
6.99k
    YYDEBUG(581, *YYCURSOR);
7220
6.99k
    yyaccept = 4;
7221
6.99k
    yych = *(YYMARKER = ++YYCURSOR);
7222
6.99k
    if (yych == 'L') goto yy660;
7223
4.75k
    if (yych == 'l') goto yy660;
7224
363
    goto yy48;
7225
23.8k
yy582:
7226
23.8k
    YYDEBUG(582, *YYCURSOR);
7227
23.8k
    ++YYCURSOR;
7228
132k
yy583:
7229
132k
    YYDEBUG(583, *YYCURSOR);
7230
132k
    yyleng = YYCURSOR - SCNG(yy_text);
7231
132k
#line 1574 "Zend/zend_language_scanner.l"
7232
132k
    {
7233
132k
  yyless(4);
7234
132k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7235
132k
}
7236
0
#line 7237 "Zend/zend_language_scanner.c"
7237
13.1k
yy584:
7238
13.1k
    YYDEBUG(584, *YYCURSOR);
7239
13.1k
    yyaccept = 53;
7240
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
7241
13.1k
    if (yych == 'X') goto yy661;
7242
12.6k
    if (yych == 'x') goto yy661;
7243
10.3k
    goto yy583;
7244
10.3k
yy585:
7245
7.15k
    YYDEBUG(585, *YYCURSOR);
7246
7.15k
    yyaccept = 53;
7247
7.15k
    yych = *(YYMARKER = ++YYCURSOR);
7248
7.15k
    if (yych == 'M') goto yy662;
7249
5.39k
    if (yych == 'm') goto yy662;
7250
1.67k
    goto yy583;
7251
3.03M
yy586:
7252
3.03M
    YYDEBUG(586, *YYCURSOR);
7253
3.03M
    ++YYCURSOR;
7254
3.03M
    YYFILL(1);
7255
3.03M
    yych = *YYCURSOR;
7256
3.03M
    YYDEBUG(587, *YYCURSOR);
7257
3.03M
    if (yych <= '\n') {
7258
114k
      if (yych <= 0x00) goto yy86;
7259
98.9k
      if (yych <= '\t') goto yy586;
7260
71.8k
      goto yy495;
7261
2.92M
    } else {
7262
2.92M
      if (yych == '\r') goto yy495;
7263
2.56M
      goto yy586;
7264
2.92M
    }
7265
569k
yy588:
7266
569k
    YYDEBUG(588, *YYCURSOR);
7267
569k
    ++YYCURSOR;
7268
569k
    YYFILL(1);
7269
569k
    yych = *YYCURSOR;
7270
569k
    YYDEBUG(589, *YYCURSOR);
7271
569k
    if (yych <= 'D') {
7272
212k
      if (yych <= 0x1F) {
7273
27.5k
        if (yych <= '\t') {
7274
11.1k
          if (yych <= 0x00) goto yy86;
7275
10.2k
          if (yych <= 0x08) goto yy586;
7276
3.19k
          goto yy588;
7277
16.3k
        } else {
7278
16.3k
          if (yych <= '\n') goto yy495;
7279
13.1k
          if (yych == '\r') goto yy495;
7280
1.40k
          goto yy586;
7281
13.1k
        }
7282
184k
      } else {
7283
184k
        if (yych <= '#') {
7284
62.0k
          if (yych <= ' ') goto yy588;
7285
47.7k
          if (yych <= '"') goto yy586;
7286
46.9k
          goto yy663;
7287
122k
        } else {
7288
122k
          if (yych == '/') goto yy664;
7289
14.7k
          if (yych <= '@') goto yy586;
7290
698
          goto yy665;
7291
14.7k
        }
7292
184k
      }
7293
356k
    } else {
7294
356k
      if (yych <= '`') {
7295
16.4k
        if (yych <= 'I') {
7296
10.2k
          if (yych <= 'E') goto yy666;
7297
9.41k
          if (yych <= 'H') goto yy665;
7298
9.31k
          goto yy667;
7299
9.41k
        } else {
7300
6.21k
          if (yych <= 'Z') goto yy665;
7301
3.09k
          if (yych == '_') goto yy665;
7302
1.82k
          goto yy586;
7303
3.09k
        }
7304
340k
      } else {
7305
340k
        if (yych <= 'h') {
7306
277k
          if (yych == 'e') goto yy666;
7307
10.1k
          goto yy665;
7308
277k
        } else {
7309
62.5k
          if (yych <= 'i') goto yy667;
7310
24.6k
          if (yych <= 'z') goto yy665;
7311
13.2k
          if (yych <= 0x7F) goto yy586;
7312
4.96k
          goto yy665;
7313
13.2k
        }
7314
340k
      }
7315
356k
    }
7316
2.55M
yy590:
7317
2.55M
    YYDEBUG(590, *YYCURSOR);
7318
2.55M
    ++YYCURSOR;
7319
2.55M
    YYFILL(1);
7320
2.55M
    yych = *YYCURSOR;
7321
2.55M
    YYDEBUG(591, *YYCURSOR);
7322
2.55M
    if (yych <= 0x00) goto yy86;
7323
2.52M
    if (yych == '*') goto yy668;
7324
2.48M
    goto yy590;
7325
2.48M
yy592:
7326
18.9k
    YYDEBUG(592, *YYCURSOR);
7327
18.9k
    yyaccept = 4;
7328
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
7329
18.9k
    if (yych == 'S') goto yy670;
7330
17.8k
    if (yych == 's') goto yy670;
7331
2.07k
    goto yy48;
7332
4.76k
yy593:
7333
4.76k
    YYDEBUG(593, *YYCURSOR);
7334
4.76k
    yyaccept = 4;
7335
4.76k
    yych = *(YYMARKER = ++YYCURSOR);
7336
4.76k
    if (yych == 'Y') goto yy672;
7337
4.49k
    if (yych == 'y') goto yy672;
7338
320
    goto yy48;
7339
21.4k
yy594:
7340
21.4k
    YYDEBUG(594, *YYCURSOR);
7341
21.4k
    yyaccept = 4;
7342
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
7343
21.4k
    if (yych == 'H') goto yy674;
7344
21.2k
    if (yych == 'h') goto yy674;
7345
718
    goto yy48;
7346
91.7k
yy595:
7347
91.7k
    YYDEBUG(595, *YYCURSOR);
7348
91.7k
    yyaccept = 4;
7349
91.7k
    yych = *(YYMARKER = ++YYCURSOR);
7350
91.7k
    if (yych == 'O') goto yy676;
7351
91.0k
    if (yych == 'o') goto yy676;
7352
2.06k
    goto yy48;
7353
4.35k
yy596:
7354
4.35k
    YYDEBUG(596, *YYCURSOR);
7355
4.35k
    yyaccept = 54;
7356
4.35k
    yych = *(YYMARKER = ++YYCURSOR);
7357
4.35k
    if (yybm[256+yych] & 128) {
7358
900
      goto yy47;
7359
900
    }
7360
3.45k
    if (yych == '\\') goto yy164;
7361
3.32k
yy597:
7362
3.32k
    YYDEBUG(597, *YYCURSOR);
7363
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
7364
3.32k
#line 1750 "Zend/zend_language_scanner.l"
7365
3.32k
    {
7366
3.32k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7367
3.32k
}
7368
0
#line 7369 "Zend/zend_language_scanner.c"
7369
17.8k
yy598:
7370
17.8k
    YYDEBUG(598, *YYCURSOR);
7371
17.8k
    yyaccept = 4;
7372
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
7373
17.8k
    if (yych == 'E') goto yy677;
7374
14.4k
    if (yych == 'e') goto yy677;
7375
2.77k
    goto yy48;
7376
11.1k
yy599:
7377
11.1k
    YYDEBUG(599, *YYCURSOR);
7378
11.1k
    yyaccept = 4;
7379
11.1k
    yych = *(YYMARKER = ++YYCURSOR);
7380
11.1k
    if (yych == 'E') goto yy678;
7381
7.38k
    if (yych == 'e') goto yy678;
7382
811
    goto yy48;
7383
4.85k
yy600:
7384
4.85k
    YYDEBUG(600, *YYCURSOR);
7385
4.85k
    yyaccept = 4;
7386
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
7387
4.85k
    if (yych == 'C') goto yy680;
7388
4.18k
    if (yych == 'c') goto yy680;
7389
393
    goto yy48;
7390
5.64k
yy601:
7391
5.64k
    YYDEBUG(601, *YYCURSOR);
7392
5.64k
    yyaccept = 4;
7393
5.64k
    yych = *(YYMARKER = ++YYCURSOR);
7394
5.64k
    if (yych == 'D') goto yy681;
7395
5.21k
    if (yych == 'd') goto yy681;
7396
1.02k
    goto yy48;
7397
8.85k
yy602:
7398
8.85k
    YYDEBUG(602, *YYCURSOR);
7399
8.85k
    yyaccept = 4;
7400
8.85k
    yych = *(YYMARKER = ++YYCURSOR);
7401
8.85k
    if (yych == 'A') goto yy682;
7402
8.37k
    if (yych == 'a') goto yy682;
7403
1.01k
    goto yy48;
7404
27.9k
yy603:
7405
27.9k
    YYDEBUG(603, *YYCURSOR);
7406
27.9k
    yyaccept = 4;
7407
27.9k
    yych = *(YYMARKER = ++YYCURSOR);
7408
27.9k
    if (yych == 'A') goto yy683;
7409
27.4k
    if (yych == 'a') goto yy683;
7410
913
    goto yy48;
7411
10.4k
yy604:
7412
10.4k
    YYDEBUG(604, *YYCURSOR);
7413
10.4k
    yyaccept = 4;
7414
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
7415
10.4k
    if (yych == 'E') goto yy684;
7416
8.72k
    if (yych == 'e') goto yy684;
7417
579
    goto yy48;
7418
9.72k
yy605:
7419
9.72k
    YYDEBUG(605, *YYCURSOR);
7420
9.72k
    yyaccept = 4;
7421
9.72k
    yych = *(YYMARKER = ++YYCURSOR);
7422
9.72k
    if (yych == 'T') goto yy686;
7423
8.15k
    if (yych == 't') goto yy686;
7424
1.12k
    goto yy48;
7425
61.8k
yy606:
7426
61.8k
    YYDEBUG(606, *YYCURSOR);
7427
61.8k
    yyaccept = 55;
7428
61.8k
    yych = *(YYMARKER = ++YYCURSOR);
7429
61.8k
    if (yybm[256+yych] & 128) {
7430
1.52k
      goto yy47;
7431
1.52k
    }
7432
60.3k
    if (yych == '(') goto yy687;
7433
57.3k
    if (yych == '\\') goto yy164;
7434
59.1k
yy607:
7435
59.1k
    YYDEBUG(607, *YYCURSOR);
7436
59.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7437
59.1k
#line 1798 "Zend/zend_language_scanner.l"
7438
59.1k
    {
7439
59.1k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7440
59.1k
}
7441
0
#line 7442 "Zend/zend_language_scanner.c"
7442
6.48k
yy608:
7443
6.48k
    YYDEBUG(608, *YYCURSOR);
7444
6.48k
    yyaccept = 4;
7445
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
7446
6.48k
    if (yych == 'L') goto yy688;
7447
6.23k
    if (yych == 'l') goto yy688;
7448
1.80k
    goto yy48;
7449
18.1k
yy609:
7450
18.1k
    YYDEBUG(609, *YYCURSOR);
7451
18.1k
    yyaccept = 4;
7452
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
7453
18.1k
    if (yych == 'E') goto yy689;
7454
17.3k
    if (yych == 'e') goto yy689;
7455
679
    goto yy48;
7456
25.3k
yy610:
7457
25.3k
    YYDEBUG(610, *YYCURSOR);
7458
25.3k
    yyaccept = 56;
7459
25.3k
    yych = *(YYMARKER = ++YYCURSOR);
7460
25.3k
    if (yybm[256+yych] & 128) {
7461
1.33k
      goto yy47;
7462
1.33k
    }
7463
24.0k
    if (yych == '\\') goto yy164;
7464
23.9k
yy611:
7465
23.9k
    YYDEBUG(611, *YYCURSOR);
7466
23.9k
    yyleng = YYCURSOR - SCNG(yy_text);
7467
23.9k
#line 1419 "Zend/zend_language_scanner.l"
7468
23.9k
    {
7469
23.9k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7470
23.9k
}
7471
0
#line 7472 "Zend/zend_language_scanner.c"
7472
15.7k
yy612:
7473
15.7k
    YYDEBUG(612, *YYCURSOR);
7474
15.7k
    yyaccept = 57;
7475
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
7476
15.7k
    if (yybm[256+yych] & 128) {
7477
638
      goto yy47;
7478
638
    }
7479
15.1k
    if (yych == '\\') goto yy164;
7480
15.1k
yy613:
7481
15.1k
    YYDEBUG(613, *YYCURSOR);
7482
15.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7483
15.1k
#line 1766 "Zend/zend_language_scanner.l"
7484
15.1k
    {
7485
15.1k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7486
15.1k
}
7487
0
#line 7488 "Zend/zend_language_scanner.c"
7488
4.78k
yy614:
7489
4.78k
    YYDEBUG(614, *YYCURSOR);
7490
4.78k
    yyaccept = 58;
7491
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
7492
4.78k
    if (yybm[256+yych] & 128) {
7493
317
      goto yy47;
7494
317
    }
7495
4.46k
    if (yych == '\\') goto yy164;
7496
4.46k
yy615:
7497
4.46k
    YYDEBUG(615, *YYCURSOR);
7498
4.46k
    yyleng = YYCURSOR - SCNG(yy_text);
7499
4.46k
#line 1514 "Zend/zend_language_scanner.l"
7500
4.46k
    {
7501
4.46k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7502
4.46k
}
7503
0
#line 7504 "Zend/zend_language_scanner.c"
7504
253k
yy616:
7505
253k
    YYDEBUG(616, *YYCURSOR);
7506
253k
    ++YYCURSOR;
7507
253k
    YYFILL(5);
7508
253k
    yych = *YYCURSOR;
7509
253k
    YYDEBUG(617, *YYCURSOR);
7510
253k
    if (yych <= '"') {
7511
72.3k
      if (yych <= '\f') {
7512
62.9k
        if (yych <= 0x08) goto yy86;
7513
60.9k
        if (yych <= '\n') goto yy616;
7514
705
        goto yy86;
7515
60.9k
      } else {
7516
9.40k
        if (yych <= '\r') goto yy616;
7517
2.51k
        if (yych == ' ') goto yy616;
7518
1.35k
        goto yy86;
7519
2.51k
      }
7520
181k
    } else {
7521
181k
      if (yych <= 'E') {
7522
165k
        if (yych <= '#') goto yy618;
7523
16.7k
        if (yych == '/') goto yy619;
7524
11.9k
        goto yy86;
7525
16.7k
      } else {
7526
15.8k
        if (yych <= 'F') goto yy691;
7527
13.4k
        if (yych == 'f') goto yy691;
7528
6.50k
        goto yy86;
7529
13.4k
      }
7530
181k
    }
7531
178k
yy618:
7532
178k
    YYDEBUG(618, *YYCURSOR);
7533
178k
    ++YYCURSOR;
7534
178k
    YYFILL(1);
7535
178k
    yych = *YYCURSOR;
7536
178k
    if (yych <= '\f') {
7537
41.9k
      if (yych <= 0x00) goto yy86;
7538
41.3k
      if (yych == '\n') goto yy694;
7539
765
      goto yy692;
7540
136k
    } else {
7541
136k
      if (yych <= '\r') goto yy694;
7542
28.2k
      if (yych == '[') goto yy86;
7543
27.6k
      goto yy692;
7544
28.2k
    }
7545
5.51k
yy619:
7546
5.51k
    YYDEBUG(619, *YYCURSOR);
7547
5.51k
    ++YYCURSOR;
7548
5.51k
    YYFILL(1);
7549
5.51k
    yych = *YYCURSOR;
7550
5.51k
    if (yych == '*') goto yy696;
7551
2.05k
    if (yych == '/') goto yy692;
7552
1.57k
    goto yy86;
7553
8.87k
yy620:
7554
8.87k
    YYDEBUG(620, *YYCURSOR);
7555
8.87k
    yyaccept = 4;
7556
8.87k
    yych = *(YYMARKER = ++YYCURSOR);
7557
8.87k
    if (yych == 'S') goto yy698;
7558
7.53k
    if (yych == 's') goto yy698;
7559
727
    goto yy48;
7560
5.91k
yy621:
7561
5.91k
    YYDEBUG(621, *YYCURSOR);
7562
5.91k
    yyaccept = 4;
7563
5.91k
    yych = *(YYMARKER = ++YYCURSOR);
7564
5.91k
    if (yych == '_') goto yy699;
7565
887
    goto yy48;
7566
8.27k
yy622:
7567
8.27k
    YYDEBUG(622, *YYCURSOR);
7568
8.27k
    yyaccept = 4;
7569
8.27k
    yych = *(YYMARKER = ++YYCURSOR);
7570
8.27k
    if (yych == '_') goto yy701;
7571
332
    goto yy48;
7572
7.73k
yy623:
7573
7.73k
    YYDEBUG(623, *YYCURSOR);
7574
7.73k
    yyaccept = 4;
7575
7.73k
    yych = *(YYMARKER = ++YYCURSOR);
7576
7.73k
    if (yych == 'T') goto yy702;
7577
4.12k
    if (yych == 't') goto yy702;
7578
1.13k
    goto yy48;
7579
7.05k
yy624:
7580
7.05k
    YYDEBUG(624, *YYCURSOR);
7581
7.05k
    yyaccept = 4;
7582
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
7583
7.05k
    if (yych == '_') goto yy703;
7584
555
    goto yy48;
7585
3.54k
yy625:
7586
3.54k
    YYDEBUG(625, *YYCURSOR);
7587
3.54k
    yyaccept = 4;
7588
3.54k
    yych = *(YYMARKER = ++YYCURSOR);
7589
3.54k
    if (yych == '_') goto yy704;
7590
794
    goto yy48;
7591
12.4k
yy626:
7592
12.4k
    YYDEBUG(626, *YYCURSOR);
7593
12.4k
    yyaccept = 4;
7594
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
7595
12.4k
    if (yych == 'O') goto yy705;
7596
5.19k
    if (yych == 'o') goto yy705;
7597
735
    goto yy48;
7598
7.00k
yy627:
7599
7.00k
    YYDEBUG(627, *YYCURSOR);
7600
7.00k
    yyaccept = 4;
7601
7.00k
    yych = *(YYMARKER = ++YYCURSOR);
7602
7.00k
    if (yych == 'S') goto yy706;
7603
5.24k
    if (yych == 's') goto yy706;
7604
1.53k
    goto yy48;
7605
3.26k
yy628:
7606
3.26k
    YYDEBUG(628, *YYCURSOR);
7607
3.26k
    yyaccept = 4;
7608
3.26k
    yych = *(YYMARKER = ++YYCURSOR);
7609
3.26k
    if (yych == 'E') goto yy707;
7610
1.88k
    if (yych == 'e') goto yy707;
7611
517
    goto yy48;
7612
10.1k
yy629:
7613
10.1k
    YYDEBUG(629, *YYCURSOR);
7614
10.1k
    yyaccept = 4;
7615
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
7616
10.1k
    if (yych == 'T') goto yy708;
7617
9.11k
    if (yych == 't') goto yy708;
7618
889
    goto yy48;
7619
50.9k
yy630:
7620
50.9k
    YYDEBUG(630, *YYCURSOR);
7621
50.9k
    ++YYCURSOR;
7622
50.9k
    YYFILL(1);
7623
50.9k
    yych = *YYCURSOR;
7624
50.9k
    if (yych <= '\r') {
7625
40.1k
      if (yych <= '\t') {
7626
872
        if (yych <= 0x00) goto yy86;
7627
581
        goto yy443;
7628
39.3k
      } else {
7629
39.3k
        if (yych <= '\n') goto yy709;
7630
15.9k
        if (yych <= '\f') goto yy443;
7631
15.2k
        goto yy709;
7632
15.9k
      }
7633
40.1k
    } else {
7634
10.7k
      if (yych <= '*') {
7635
2.35k
        if (yych <= ')') goto yy443;
7636
935
        goto yy547;
7637
8.37k
      } else {
7638
8.37k
        if (yych == '[') goto yy230;
7639
8.17k
        goto yy443;
7640
8.37k
      }
7641
10.7k
    }
7642
4.06k
yy631:
7643
4.06k
    YYDEBUG(631, *YYCURSOR);
7644
4.06k
    yyaccept = 26;
7645
4.06k
    YYMARKER = ++YYCURSOR;
7646
4.06k
    YYFILL(1);
7647
4.06k
    yych = *YYCURSOR;
7648
4.06k
    if (yybm[0+yych] & 4) {
7649
1.59k
      goto yy230;
7650
1.59k
    }
7651
2.47k
    if (yych <= 0x00) goto yy89;
7652
2.28k
    goto yy355;
7653
2.28k
yy632:
7654
1.39k
    YYDEBUG(632, *YYCURSOR);
7655
1.39k
    ++YYCURSOR;
7656
1.39k
    YYFILL(1);
7657
1.39k
    yych = *YYCURSOR;
7658
1.39k
    if (yybm[0+yych] & 64) {
7659
426
      goto yy355;
7660
426
    }
7661
966
    if (yych <= 0x00) goto yy86;
7662
778
    if (yych == '.') goto yy711;
7663
315
    goto yy230;
7664
10.2k
yy633:
7665
10.2k
    YYDEBUG(633, *YYCURSOR);
7666
10.2k
    ++YYCURSOR;
7667
10.2k
    YYFILL(1);
7668
10.2k
    yych = *YYCURSOR;
7669
10.2k
    if (yych <= '*') {
7670
9.03k
      if (yych <= 0x00) goto yy86;
7671
8.71k
      if (yych <= ')') goto yy230;
7672
8.44k
      goto yy712;
7673
8.71k
    } else {
7674
1.16k
      if (yych == '/') goto yy443;
7675
369
      goto yy230;
7676
1.16k
    }
7677
1.34k
yy634:
7678
1.34k
    YYDEBUG(634, *YYCURSOR);
7679
1.34k
    ++YYCURSOR;
7680
1.34k
    YYDEBUG(635, *YYCURSOR);
7681
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
7682
1.34k
#line 1688 "Zend/zend_language_scanner.l"
7683
1.34k
    {
7684
1.34k
  RETURN_TOKEN(T_ARRAY_CAST);
7685
1.34k
}
7686
0
#line 7687 "Zend/zend_language_scanner.c"
7687
1.93k
yy636:
7688
1.93k
    YYDEBUG(636, *YYCURSOR);
7689
1.93k
    ++YYCURSOR;
7690
1.93k
    YYFILL(1);
7691
1.93k
    yych = *YYCURSOR;
7692
1.93k
    YYDEBUG(637, *YYCURSOR);
7693
1.93k
    if (yych <= 0x1F) {
7694
435
      if (yych == '\t') goto yy636;
7695
219
      goto yy86;
7696
1.49k
    } else {
7697
1.49k
      if (yych <= ' ') goto yy636;
7698
831
      if (yych == ')') goto yy713;
7699
381
      goto yy86;
7700
831
    }
7701
1.19k
yy638:
7702
1.19k
    YYDEBUG(638, *YYCURSOR);
7703
1.19k
    yych = *++YYCURSOR;
7704
1.19k
    if (yych == 'N') goto yy715;
7705
861
    if (yych == 'n') goto yy715;
7706
233
    goto yy86;
7707
1.56k
yy639:
7708
1.56k
    YYDEBUG(639, *YYCURSOR);
7709
1.56k
    ++YYCURSOR;
7710
1.56k
    YYFILL(1);
7711
1.56k
    yych = *YYCURSOR;
7712
1.56k
    YYDEBUG(640, *YYCURSOR);
7713
1.56k
    if (yych <= 0x1F) {
7714
323
      if (yych == '\t') goto yy639;
7715
58
      goto yy86;
7716
1.24k
    } else {
7717
1.24k
      if (yych <= ' ') goto yy639;
7718
982
      if (yych == ')') goto yy717;
7719
592
      goto yy86;
7720
982
    }
7721
984
yy641:
7722
984
    YYDEBUG(641, *YYCURSOR);
7723
984
    ++YYCURSOR;
7724
984
    YYDEBUG(642, *YYCURSOR);
7725
984
    yyleng = YYCURSOR - SCNG(yy_text);
7726
984
#line 1652 "Zend/zend_language_scanner.l"
7727
984
    {
7728
984
  RETURN_TOKEN(T_DOUBLE_CAST);
7729
984
}
7730
0
#line 7731 "Zend/zend_language_scanner.c"
7731
1.97k
yy643:
7732
1.97k
    YYDEBUG(643, *YYCURSOR);
7733
1.97k
    yych = *++YYCURSOR;
7734
1.97k
    if (yych == 'R') goto yy719;
7735
1.48k
    if (yych == 'r') goto yy719;
7736
269
    goto yy86;
7737
1.87k
yy644:
7738
1.87k
    YYDEBUG(644, *YYCURSOR);
7739
1.87k
    ++YYCURSOR;
7740
1.87k
    YYFILL(1);
7741
1.87k
    yych = *YYCURSOR;
7742
1.87k
    YYDEBUG(645, *YYCURSOR);
7743
1.87k
    if (yych <= 0x1F) {
7744
598
      if (yych == '\t') goto yy644;
7745
422
      goto yy86;
7746
1.27k
    } else {
7747
1.27k
      if (yych <= ' ') goto yy644;
7748
950
      if (yych == ')') goto yy721;
7749
217
      goto yy86;
7750
950
    }
7751
12.1k
yy646:
7752
12.1k
    YYDEBUG(646, *YYCURSOR);
7753
12.1k
    ++YYCURSOR;
7754
12.1k
    YYFILL(1);
7755
12.1k
    yych = *YYCURSOR;
7756
12.1k
    YYDEBUG(647, *YYCURSOR);
7757
12.1k
    if (yych <= 0x1F) {
7758
4.30k
      if (yych == '\t') goto yy646;
7759
3.94k
      goto yy86;
7760
7.88k
    } else {
7761
7.88k
      if (yych <= ' ') goto yy646;
7762
6.18k
      if (yych == ')') goto yy723;
7763
3.47k
      goto yy86;
7764
6.18k
    }
7765
697
yy648:
7766
697
    YYDEBUG(648, *YYCURSOR);
7767
697
    ++YYCURSOR;
7768
697
    YYDEBUG(649, *YYCURSOR);
7769
697
    yyleng = YYCURSOR - SCNG(yy_text);
7770
697
#line 1710 "Zend/zend_language_scanner.l"
7771
697
    {
7772
697
  RETURN_TOKEN(T_UNSET_CAST);
7773
697
}
7774
0
#line 7775 "Zend/zend_language_scanner.c"
7775
7.56k
yy650:
7776
7.56k
    YYDEBUG(650, *YYCURSOR);
7777
7.56k
    yyaccept = 4;
7778
7.56k
    yych = *(YYMARKER = ++YYCURSOR);
7779
7.56k
    if (yych == 'T') goto yy725;
7780
6.19k
    if (yych == 't') goto yy725;
7781
967
    goto yy48;
7782
4.20k
yy651:
7783
4.20k
    YYDEBUG(651, *YYCURSOR);
7784
4.20k
    yyaccept = 4;
7785
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
7786
4.20k
    if (yych == 'E') goto yy727;
7787
3.58k
    if (yych == 'e') goto yy727;
7788
667
    goto yy48;
7789
3.91k
yy652:
7790
3.91k
    YYDEBUG(652, *YYCURSOR);
7791
3.91k
    yyaccept = 4;
7792
3.91k
    yych = *(YYMARKER = ++YYCURSOR);
7793
3.91k
    if (yych == 'E') goto yy729;
7794
2.80k
    if (yych == 'e') goto yy729;
7795
360
    goto yy48;
7796
6.19k
yy653:
7797
6.19k
    YYDEBUG(653, *YYCURSOR);
7798
6.19k
    yyaccept = 59;
7799
6.19k
    yych = *(YYMARKER = ++YYCURSOR);
7800
6.19k
    if (yybm[256+yych] & 128) {
7801
500
      goto yy47;
7802
500
    }
7803
5.69k
    if (yych == '\\') goto yy164;
7804
5.69k
yy654:
7805
5.69k
    YYDEBUG(654, *YYCURSOR);
7806
5.69k
    yyleng = YYCURSOR - SCNG(yy_text);
7807
5.69k
#line 1498 "Zend/zend_language_scanner.l"
7808
5.69k
    {
7809
5.69k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7810
5.69k
}
7811
0
#line 7812 "Zend/zend_language_scanner.c"
7812
2.44k
yy655:
7813
2.44k
    YYDEBUG(655, *YYCURSOR);
7814
2.44k
    yyaccept = 60;
7815
2.44k
    yych = *(YYMARKER = ++YYCURSOR);
7816
2.44k
    if (yybm[256+yych] & 128) {
7817
533
      goto yy47;
7818
533
    }
7819
1.90k
    if (yych == '\\') goto yy164;
7820
1.82k
yy656:
7821
1.82k
    YYDEBUG(656, *YYCURSOR);
7822
1.82k
    yyleng = YYCURSOR - SCNG(yy_text);
7823
1.82k
#line 1530 "Zend/zend_language_scanner.l"
7824
1.82k
    {
7825
1.82k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7826
1.82k
}
7827
0
#line 7828 "Zend/zend_language_scanner.c"
7828
3.61k
yy657:
7829
3.61k
    YYDEBUG(657, *YYCURSOR);
7830
3.61k
    yyaccept = 4;
7831
3.61k
    yych = *(YYMARKER = ++YYCURSOR);
7832
3.61k
    if (yych == 'A') goto yy731;
7833
2.41k
    if (yych == 'a') goto yy731;
7834
291
    goto yy48;
7835
6.11k
yy658:
7836
6.11k
    YYDEBUG(658, *YYCURSOR);
7837
6.11k
    yyaccept = 4;
7838
6.11k
    yych = *(YYMARKER = ++YYCURSOR);
7839
6.11k
    if (yych == 'A') goto yy732;
7840
4.19k
    if (yych == 'a') goto yy732;
7841
356
    goto yy48;
7842
3.53k
yy659:
7843
3.53k
    YYDEBUG(659, *YYCURSOR);
7844
3.53k
    yyaccept = 4;
7845
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
7846
3.53k
    if (yych == 'C') goto yy733;
7847
2.91k
    if (yych == 'c') goto yy733;
7848
598
    goto yy48;
7849
6.63k
yy660:
7850
6.63k
    YYDEBUG(660, *YYCURSOR);
7851
6.63k
    yyaccept = 4;
7852
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
7853
6.63k
    if (yych == 'E') goto yy734;
7854
6.10k
    if (yych == 'e') goto yy734;
7855
1.85k
    goto yy48;
7856
2.80k
yy661:
7857
2.80k
    YYDEBUG(661, *YYCURSOR);
7858
2.80k
    yych = *++YYCURSOR;
7859
2.80k
    if (yych == 'T') goto yy736;
7860
2.43k
    if (yych == 't') goto yy736;
7861
313
    goto yy86;
7862
5.47k
yy662:
7863
5.47k
    YYDEBUG(662, *YYCURSOR);
7864
5.47k
    yych = *++YYCURSOR;
7865
5.47k
    if (yych == 'P') goto yy737;
7866
3.77k
    if (yych == 'p') goto yy737;
7867
612
    goto yy86;
7868
46.9k
yy663:
7869
46.9k
    YYDEBUG(663, *YYCURSOR);
7870
46.9k
    ++YYCURSOR;
7871
46.9k
    YYFILL(1);
7872
46.9k
    yych = *YYCURSOR;
7873
46.9k
    if (yych <= '\n') {
7874
28.0k
      if (yych <= 0x00) goto yy86;
7875
27.8k
      if (yych <= '\t') goto yy586;
7876
27.1k
      goto yy588;
7877
27.8k
    } else {
7878
18.8k
      if (yych == '\r') goto yy588;
7879
4.14k
      goto yy586;
7880
18.8k
    }
7881
107k
yy664:
7882
107k
    YYDEBUG(664, *YYCURSOR);
7883
107k
    ++YYCURSOR;
7884
107k
    YYFILL(1);
7885
107k
    yych = *YYCURSOR;
7886
107k
    if (yych <= '\f') {
7887
1.25k
      if (yych <= 0x00) goto yy86;
7888
1.02k
      if (yych == '\n') goto yy495;
7889
492
      goto yy586;
7890
106k
    } else {
7891
106k
      if (yych <= '\r') goto yy495;
7892
103k
      if (yych == '*') goto yy738;
7893
10.1k
      goto yy586;
7894
103k
    }
7895
31.7k
yy665:
7896
31.7k
    YYDEBUG(665, *YYCURSOR);
7897
31.7k
    yyaccept = 53;
7898
31.7k
    YYMARKER = ++YYCURSOR;
7899
31.7k
    YYFILL(1);
7900
31.7k
    yych = *YYCURSOR;
7901
31.7k
    if (yych <= '\n') {
7902
3.69k
      if (yych <= 0x00) goto yy583;
7903
3.25k
      if (yych <= '\t') goto yy586;
7904
734
      goto yy495;
7905
28.0k
    } else {
7906
28.0k
      if (yych == '\r') goto yy495;
7907
26.7k
      goto yy586;
7908
28.0k
    }
7909
268k
yy666:
7910
268k
    YYDEBUG(666, *YYCURSOR);
7911
268k
    yyaccept = 53;
7912
268k
    YYMARKER = ++YYCURSOR;
7913
268k
    YYFILL(1);
7914
268k
    yych = *YYCURSOR;
7915
268k
    if (yych <= '\r') {
7916
48.4k
      if (yych <= '\t') {
7917
29.1k
        if (yych <= 0x00) goto yy583;
7918
28.8k
        goto yy586;
7919
29.1k
      } else {
7920
19.2k
        if (yych <= '\n') goto yy495;
7921
18.8k
        if (yych <= '\f') goto yy586;
7922
2.23k
        goto yy495;
7923
18.8k
      }
7924
220k
    } else {
7925
220k
      if (yych <= 'X') {
7926
152k
        if (yych <= 'W') goto yy586;
7927
2.85k
        goto yy740;
7928
152k
      } else {
7929
67.7k
        if (yych == 'x') goto yy740;
7930
55.1k
        goto yy586;
7931
67.7k
      }
7932
220k
    }
7933
47.2k
yy667:
7934
47.2k
    YYDEBUG(667, *YYCURSOR);
7935
47.2k
    yyaccept = 53;
7936
47.2k
    YYMARKER = ++YYCURSOR;
7937
47.2k
    YYFILL(1);
7938
47.2k
    yych = *YYCURSOR;
7939
47.2k
    if (yych <= '\r') {
7940
1.82k
      if (yych <= '\t') {
7941
853
        if (yych <= 0x00) goto yy583;
7942
608
        goto yy586;
7943
973
      } else {
7944
973
        if (yych <= '\n') goto yy495;
7945
399
        if (yych <= '\f') goto yy586;
7946
106
        goto yy495;
7947
399
      }
7948
45.4k
    } else {
7949
45.4k
      if (yych <= 'M') {
7950
9.67k
        if (yych <= 'L') goto yy586;
7951
8.94k
        goto yy741;
7952
35.7k
      } else {
7953
35.7k
        if (yych == 'm') goto yy741;
7954
6.18k
        goto yy586;
7955
35.7k
      }
7956
45.4k
    }
7957
70.6k
yy668:
7958
70.6k
    YYDEBUG(668, *YYCURSOR);
7959
70.6k
    ++YYCURSOR;
7960
70.6k
    YYFILL(1);
7961
70.6k
    yych = *YYCURSOR;
7962
70.6k
    YYDEBUG(669, *YYCURSOR);
7963
70.6k
    if (yych <= '*') {
7964
30.2k
      if (yych <= 0x00) goto yy86;
7965
28.8k
      if (yych <= ')') goto yy590;
7966
22.6k
      goto yy668;
7967
40.4k
    } else {
7968
40.4k
      if (yych == '/') goto yy495;
7969
9.54k
      goto yy590;
7970
40.4k
    }
7971
16.8k
yy670:
7972
16.8k
    YYDEBUG(670, *YYCURSOR);
7973
16.8k
    yyaccept = 61;
7974
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
7975
16.8k
    if (yybm[256+yych] & 128) {
7976
705
      goto yy47;
7977
705
    }
7978
16.1k
    if (yych == '\\') goto yy164;
7979
16.1k
yy671:
7980
16.1k
    YYDEBUG(671, *YYCURSOR);
7981
16.1k
    yyleng = YYCURSOR - SCNG(yy_text);
7982
16.1k
#line 1579 "Zend/zend_language_scanner.l"
7983
16.1k
    {
7984
16.1k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7985
16.1k
}
7986
0
#line 7987 "Zend/zend_language_scanner.c"
7987
4.44k
yy672:
7988
4.44k
    YYDEBUG(672, *YYCURSOR);
7989
4.44k
    yyaccept = 62;
7990
4.44k
    yych = *(YYMARKER = ++YYCURSOR);
7991
4.44k
    if (yybm[256+yych] & 128) {
7992
650
      goto yy47;
7993
650
    }
7994
3.79k
    if (yych == '\\') goto yy164;
7995
3.62k
yy673:
7996
3.62k
    YYDEBUG(673, *YYCURSOR);
7997
3.62k
    yyleng = YYCURSOR - SCNG(yy_text);
7998
3.62k
#line 1446 "Zend/zend_language_scanner.l"
7999
3.62k
    {
8000
3.62k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8001
3.62k
}
8002
0
#line 8003 "Zend/zend_language_scanner.c"
8003
20.7k
yy674:
8004
20.7k
    YYDEBUG(674, *YYCURSOR);
8005
20.7k
    yyaccept = 63;
8006
20.7k
    yych = *(YYMARKER = ++YYCURSOR);
8007
20.7k
    if (yybm[256+yych] & 128) {
8008
1.22k
      goto yy47;
8009
1.22k
    }
8010
19.4k
    if (yych == '\\') goto yy164;
8011
19.4k
yy675:
8012
19.4k
    YYDEBUG(675, *YYCURSOR);
8013
19.4k
    yyleng = YYCURSOR - SCNG(yy_text);
8014
19.4k
#line 1490 "Zend/zend_language_scanner.l"
8015
19.4k
    {
8016
19.4k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8017
19.4k
}
8018
0
#line 8019 "Zend/zend_language_scanner.c"
8019
89.6k
yy676:
8020
89.6k
    YYDEBUG(676, *YYCURSOR);
8021
89.6k
    yyaccept = 4;
8022
89.6k
    yych = *(YYMARKER = ++YYCURSOR);
8023
89.6k
    if (yych == 'N') goto yy742;
8024
89.1k
    if (yych == 'n') goto yy742;
8025
2.04k
    goto yy48;
8026
15.0k
yy677:
8027
15.0k
    YYDEBUG(677, *YYCURSOR);
8028
15.0k
    yyaccept = 4;
8029
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
8030
15.0k
    if (yych == 'N') goto yy744;
8031
12.9k
    if (yych == 'n') goto yy744;
8032
5.23k
    goto yy48;
8033
10.3k
yy678:
8034
10.3k
    YYDEBUG(678, *YYCURSOR);
8035
10.3k
    yyaccept = 64;
8036
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
8037
10.3k
    if (yych <= '\\') {
8038
5.05k
      if (yych <= '@') {
8039
4.19k
        if (yych <= '/') goto yy679;
8040
2.06k
        if (yych <= '9') goto yy47;
8041
2.06k
      } else {
8042
857
        if (yych <= 'Z') goto yy47;
8043
530
        if (yych >= '\\') goto yy164;
8044
530
      }
8045
5.31k
    } else {
8046
5.31k
      if (yych <= '`') {
8047
4.12k
        if (yych == '_') goto yy745;
8048
4.12k
      } else {
8049
1.19k
        if (yych <= 'z') goto yy47;
8050
716
        if (yych >= 0x80) goto yy47;
8051
716
      }
8052
5.31k
    }
8053
4.74k
yy679:
8054
4.74k
    YYDEBUG(679, *YYCURSOR);
8055
4.74k
    yyleng = YYCURSOR - SCNG(yy_text);
8056
4.74k
#line 1722 "Zend/zend_language_scanner.l"
8057
4.74k
    {
8058
4.74k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8059
4.74k
}
8060
0
#line 8061 "Zend/zend_language_scanner.c"
8061
4.46k
yy680:
8062
4.46k
    YYDEBUG(680, *YYCURSOR);
8063
4.46k
    yyaccept = 4;
8064
4.46k
    yych = *(YYMARKER = ++YYCURSOR);
8065
4.46k
    if (yych == 'E') goto yy746;
8066
3.76k
    if (yych == 'e') goto yy746;
8067
504
    goto yy48;
8068
4.61k
yy681:
8069
4.61k
    YYDEBUG(681, *YYCURSOR);
8070
4.61k
    yyaccept = 4;
8071
4.61k
    yych = *(YYMARKER = ++YYCURSOR);
8072
4.61k
    if (yych == 'O') goto yy747;
8073
4.23k
    if (yych == 'o') goto yy747;
8074
537
    goto yy48;
8075
7.84k
yy682:
8076
7.84k
    YYDEBUG(682, *YYCURSOR);
8077
7.84k
    yyaccept = 4;
8078
7.84k
    yych = *(YYMARKER = ++YYCURSOR);
8079
7.84k
    if (yych == 'C') goto yy748;
8080
7.51k
    if (yych == 'c') goto yy748;
8081
417
    goto yy48;
8082
27.0k
yy683:
8083
27.0k
    YYDEBUG(683, *YYCURSOR);
8084
27.0k
    yyaccept = 4;
8085
27.0k
    yych = *(YYMARKER = ++YYCURSOR);
8086
27.0k
    if (yych == 'C') goto yy749;
8087
15.8k
    if (yych == 'c') goto yy749;
8088
902
    goto yy48;
8089
9.85k
yy684:
8090
9.85k
    YYDEBUG(684, *YYCURSOR);
8091
9.85k
    yyaccept = 65;
8092
9.85k
    yych = *(YYMARKER = ++YYCURSOR);
8093
9.85k
    if (yybm[256+yych] & 128) {
8094
602
      goto yy47;
8095
602
    }
8096
9.25k
    if (yych == '(') goto yy750;
8097
6.79k
    if (yych == '\\') goto yy164;
8098
8.83k
yy685:
8099
8.83k
    YYDEBUG(685, *YYCURSOR);
8100
8.83k
    yyleng = YYCURSOR - SCNG(yy_text);
8101
8.83k
#line 1778 "Zend/zend_language_scanner.l"
8102
8.83k
    {
8103
8.83k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8104
8.83k
}
8105
0
#line 8106 "Zend/zend_language_scanner.c"
8106
8.59k
yy686:
8107
8.59k
    YYDEBUG(686, *YYCURSOR);
8108
8.59k
    yyaccept = 4;
8109
8.59k
    yych = *(YYMARKER = ++YYCURSOR);
8110
8.59k
    if (yych == 'E') goto yy751;
8111
6.79k
    if (yych == 'e') goto yy751;
8112
630
    goto yy48;
8113
2.98k
yy687:
8114
2.98k
    YYDEBUG(687, *YYCURSOR);
8115
2.98k
    yych = *++YYCURSOR;
8116
2.98k
    if (yych == 'S') goto yy752;
8117
2.58k
    if (yych == 's') goto yy752;
8118
413
    goto yy86;
8119
4.67k
yy688:
8120
4.67k
    YYDEBUG(688, *YYCURSOR);
8121
4.67k
    yyaccept = 4;
8122
4.67k
    yych = *(YYMARKER = ++YYCURSOR);
8123
4.67k
    if (yych == 'Y') goto yy753;
8124
4.46k
    if (yych == 'y') goto yy753;
8125
488
    goto yy48;
8126
17.4k
yy689:
8127
17.4k
    YYDEBUG(689, *YYCURSOR);
8128
17.4k
    yyaccept = 66;
8129
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
8130
17.4k
    if (yych <= '\\') {
8131
7.91k
      if (yych <= '@') {
8132
7.06k
        if (yych <= '/') goto yy690;
8133
1.47k
        if (yych <= '9') goto yy47;
8134
1.47k
      } else {
8135
858
        if (yych <= 'Z') goto yy47;
8136
592
        if (yych >= '\\') goto yy164;
8137
592
      }
8138
9.53k
    } else {
8139
9.53k
      if (yych <= '`') {
8140
3.48k
        if (yych == '_') goto yy755;
8141
6.05k
      } else {
8142
6.05k
        if (yych <= 'z') goto yy47;
8143
5.42k
        if (yych >= 0x80) goto yy47;
8144
5.42k
      }
8145
9.53k
    }
8146
7.77k
yy690:
8147
7.77k
    YYDEBUG(690, *YYCURSOR);
8148
7.77k
    yyleng = YYCURSOR - SCNG(yy_text);
8149
7.77k
#line 1730 "Zend/zend_language_scanner.l"
8150
7.77k
    {
8151
7.77k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8152
7.77k
}
8153
0
#line 8154 "Zend/zend_language_scanner.c"
8154
9.40k
yy691:
8155
9.40k
    YYDEBUG(691, *YYCURSOR);
8156
9.40k
    yych = *++YYCURSOR;
8157
9.40k
    if (yych == 'R') goto yy756;
8158
7.43k
    if (yych == 'r') goto yy756;
8159
2.53k
    goto yy86;
8160
797k
yy692:
8161
797k
    YYDEBUG(692, *YYCURSOR);
8162
797k
    ++YYCURSOR;
8163
797k
    YYFILL(1);
8164
797k
    yych = *YYCURSOR;
8165
797k
    YYDEBUG(693, *YYCURSOR);
8166
797k
    if (yych <= '\n') {
8167
94.5k
      if (yych <= 0x00) goto yy86;
8168
89.8k
      if (yych <= '\t') goto yy692;
8169
85.1k
      goto yy616;
8170
702k
    } else {
8171
702k
      if (yych == '\r') goto yy616;
8172
675k
      goto yy692;
8173
702k
    }
8174
167k
yy694:
8175
167k
    YYDEBUG(694, *YYCURSOR);
8176
167k
    ++YYCURSOR;
8177
167k
    YYFILL(1);
8178
167k
    yych = *YYCURSOR;
8179
167k
    YYDEBUG(695, *YYCURSOR);
8180
167k
    if (yych <= ' ') {
8181
11.5k
      if (yych <= '\n') {
8182
3.52k
        if (yych <= 0x00) goto yy86;
8183
2.85k
        if (yych <= 0x08) goto yy692;
8184
2.36k
        if (yych <= '\t') goto yy694;
8185
1.73k
        goto yy616;
8186
7.98k
      } else {
8187
7.98k
        if (yych == '\r') goto yy616;
8188
1.64k
        if (yych <= 0x1F) goto yy692;
8189
681
        goto yy694;
8190
1.64k
      }
8191
156k
    } else {
8192
156k
      if (yych <= '/') {
8193
90.6k
        if (yych == '#') goto yy757;
8194
79.4k
        if (yych <= '.') goto yy692;
8195
68.3k
        goto yy758;
8196
79.4k
      } else {
8197
65.3k
        if (yych <= 'F') {
8198
33.0k
          if (yych <= 'E') goto yy692;
8199
19.4k
          goto yy759;
8200
33.0k
        } else {
8201
32.2k
          if (yych == 'f') goto yy759;
8202
30.8k
          goto yy692;
8203
32.2k
        }
8204
65.3k
      }
8205
156k
    }
8206
1.79M
yy696:
8207
1.79M
    YYDEBUG(696, *YYCURSOR);
8208
1.79M
    ++YYCURSOR;
8209
1.79M
    YYFILL(1);
8210
1.79M
    yych = *YYCURSOR;
8211
1.79M
    YYDEBUG(697, *YYCURSOR);
8212
1.79M
    if (yych <= 0x00) goto yy86;
8213
1.78M
    if (yych == '*') goto yy760;
8214
1.70M
    goto yy696;
8215
1.70M
yy698:
8216
8.15k
    YYDEBUG(698, *YYCURSOR);
8217
8.15k
    yyaccept = 4;
8218
8.15k
    yych = *(YYMARKER = ++YYCURSOR);
8219
8.15k
    if (yych == '_') goto yy762;
8220
332
    goto yy48;
8221
5.02k
yy699:
8222
5.02k
    YYDEBUG(699, *YYCURSOR);
8223
5.02k
    yyaccept = 67;
8224
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
8225
5.02k
    if (yybm[256+yych] & 128) {
8226
806
      goto yy47;
8227
806
    }
8228
4.22k
    if (yych == '\\') goto yy164;
8229
4.22k
yy700:
8230
4.22k
    YYDEBUG(700, *YYCURSOR);
8231
4.22k
    yyleng = YYCURSOR - SCNG(yy_text);
8232
4.22k
#line 2281 "Zend/zend_language_scanner.l"
8233
4.22k
    {
8234
4.22k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8235
4.22k
}
8236
0
#line 8237 "Zend/zend_language_scanner.c"
8237
7.94k
yy701:
8238
7.94k
    YYDEBUG(701, *YYCURSOR);
8239
7.94k
    yyaccept = 4;
8240
7.94k
    yych = *(YYMARKER = ++YYCURSOR);
8241
7.94k
    if (yych == '_') goto yy763;
8242
923
    goto yy48;
8243
6.60k
yy702:
8244
6.60k
    YYDEBUG(702, *YYCURSOR);
8245
6.60k
    yyaccept = 4;
8246
6.60k
    yych = *(YYMARKER = ++YYCURSOR);
8247
6.60k
    if (yych == 'I') goto yy765;
8248
4.19k
    if (yych == 'i') goto yy765;
8249
563
    goto yy48;
8250
6.49k
yy703:
8251
6.49k
    YYDEBUG(703, *YYCURSOR);
8252
6.49k
    yyaccept = 4;
8253
6.49k
    yych = *(YYMARKER = ++YYCURSOR);
8254
6.49k
    if (yych == 'C') goto yy766;
8255
5.79k
    if (yych == 'c') goto yy766;
8256
205
    goto yy48;
8257
2.75k
yy704:
8258
2.75k
    YYDEBUG(704, *YYCURSOR);
8259
2.75k
    yyaccept = 4;
8260
2.75k
    yych = *(YYMARKER = ++YYCURSOR);
8261
2.75k
    if (yych == '_') goto yy767;
8262
401
    goto yy48;
8263
11.6k
yy705:
8264
11.6k
    YYDEBUG(705, *YYCURSOR);
8265
11.6k
    yyaccept = 4;
8266
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
8267
11.6k
    if (yych == 'D') goto yy769;
8268
4.52k
    if (yych == 'd') goto yy769;
8269
410
    goto yy48;
8270
5.46k
yy706:
8271
5.46k
    YYDEBUG(706, *YYCURSOR);
8272
5.46k
    yyaccept = 4;
8273
5.46k
    yych = *(YYMARKER = ++YYCURSOR);
8274
5.46k
    if (yych == 'P') goto yy770;
8275
3.55k
    if (yych == 'p') goto yy770;
8276
297
    goto yy48;
8277
2.75k
yy707:
8278
2.75k
    YYDEBUG(707, *YYCURSOR);
8279
2.75k
    yyaccept = 4;
8280
2.75k
    yych = *(YYMARKER = ++YYCURSOR);
8281
2.75k
    if (yych == 'R') goto yy771;
8282
490
    if (yych == 'r') goto yy771;
8283
261
    goto yy48;
8284
9.21k
yy708:
8285
9.21k
    YYDEBUG(708, *YYCURSOR);
8286
9.21k
    yyaccept = 4;
8287
9.21k
    yych = *(YYMARKER = ++YYCURSOR);
8288
9.21k
    if (yych == '_') goto yy772;
8289
5.41k
    goto yy48;
8290
49.0k
yy709:
8291
49.0k
    YYDEBUG(709, *YYCURSOR);
8292
49.0k
    ++YYCURSOR;
8293
49.0k
    YYFILL(1);
8294
49.0k
    yych = *YYCURSOR;
8295
49.0k
    YYDEBUG(710, *YYCURSOR);
8296
49.0k
    if (yych <= ' ') {
8297
5.48k
      if (yych <= '\n') {
8298
2.34k
        if (yych <= 0x00) goto yy86;
8299
2.01k
        if (yych <= 0x08) goto yy443;
8300
1.65k
        if (yych <= '\t') goto yy709;
8301
799
        goto yy545;
8302
3.14k
      } else {
8303
3.14k
        if (yych == '\r') goto yy545;
8304
1.29k
        if (yych <= 0x1F) goto yy443;
8305
935
        goto yy709;
8306
1.29k
      }
8307
43.6k
    } else {
8308
43.6k
      if (yych <= ')') {
8309
8.05k
        if (yych <= '"') goto yy443;
8310
7.91k
        if (yych <= '#') goto yy773;
8311
3.75k
        if (yych <= '$') goto yy774;
8312
3.07k
        goto yy443;
8313
35.5k
      } else {
8314
35.5k
        if (yych <= '-') {
8315
838
          if (yych <= '*') goto yy547;
8316
593
          goto yy443;
8317
34.7k
        } else {
8318
34.7k
          if (yych <= '.') goto yy775;
8319
29.2k
          if (yych <= '/') goto yy776;
8320
18.9k
          goto yy443;
8321
29.2k
        }
8322
35.5k
      }
8323
43.6k
    }
8324
463
yy711:
8325
463
    YYDEBUG(711, *YYCURSOR);
8326
463
    ++YYCURSOR;
8327
463
    YYFILL(1);
8328
463
    yych = *YYCURSOR;
8329
463
    if (yybm[0+yych] & 64) {
8330
171
      goto yy355;
8331
171
    }
8332
292
    if (yych <= 0x00) goto yy86;
8333
228
    if (yych == '.') goto yy631;
8334
35
    goto yy230;
8335
8.44k
yy712:
8336
8.44k
    YYDEBUG(712, *YYCURSOR);
8337
8.44k
    ++YYCURSOR;
8338
8.44k
    YYFILL(1);
8339
8.44k
    yych = *YYCURSOR;
8340
8.44k
    if (yybm[0+yych] & 64) {
8341
301
      goto yy355;
8342
301
    }
8343
8.14k
    if (yych <= 0x00) goto yy86;
8344
7.94k
    if (yych == '/') goto yy545;
8345
728
    goto yy230;
8346
728
yy713:
8347
450
    YYDEBUG(713, *YYCURSOR);
8348
450
    ++YYCURSOR;
8349
450
    YYDEBUG(714, *YYCURSOR);
8350
450
    yyleng = YYCURSOR - SCNG(yy_text);
8351
450
#line 1678 "Zend/zend_language_scanner.l"
8352
450
    {
8353
450
  if (PARSER_MODE()) {
8354
40
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8355
40
    if (EG(exception)) {
8356
0
      RETURN_TOKEN(T_ERROR);
8357
0
    }
8358
40
  }
8359
450
  RETURN_TOKEN(T_STRING_CAST);
8360
450
}
8361
0
#line 8362 "Zend/zend_language_scanner.c"
8362
1.48k
yy715:
8363
1.48k
    YYDEBUG(715, *YYCURSOR);
8364
1.48k
    ++YYCURSOR;
8365
1.48k
    YYFILL(1);
8366
1.48k
    yych = *YYCURSOR;
8367
1.48k
    YYDEBUG(716, *YYCURSOR);
8368
1.48k
    if (yych <= 0x1F) {
8369
503
      if (yych == '\t') goto yy715;
8370
308
      goto yy86;
8371
983
    } else {
8372
983
      if (yych <= ' ') goto yy715;
8373
649
      if (yych == ')') goto yy777;
8374
332
      goto yy86;
8375
649
    }
8376
390
yy717:
8377
390
    YYDEBUG(717, *YYCURSOR);
8378
390
    ++YYCURSOR;
8379
390
    YYDEBUG(718, *YYCURSOR);
8380
390
    yyleng = YYCURSOR - SCNG(yy_text);
8381
390
#line 1656 "Zend/zend_language_scanner.l"
8382
390
    {
8383
390
  if (PARSER_MODE()) {
8384
84
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8385
84
    if (EG(exception)) {
8386
0
      RETURN_TOKEN(T_ERROR);
8387
0
    }
8388
84
  }
8389
390
  RETURN_TOKEN(T_DOUBLE_CAST);
8390
390
}
8391
0
#line 8392 "Zend/zend_language_scanner.c"
8392
8.44k
yy719:
8393
8.44k
    YYDEBUG(719, *YYCURSOR);
8394
8.44k
    ++YYCURSOR;
8395
8.44k
    YYFILL(1);
8396
8.44k
    yych = *YYCURSOR;
8397
8.44k
    YYDEBUG(720, *YYCURSOR);
8398
8.44k
    if (yych <= 0x1F) {
8399
4.83k
      if (yych == '\t') goto yy719;
8400
362
      goto yy86;
8401
4.83k
    } else {
8402
3.61k
      if (yych <= ' ') goto yy719;
8403
1.34k
      if (yych == ')') goto yy779;
8404
918
      goto yy86;
8405
1.34k
    }
8406
733
yy721:
8407
733
    YYDEBUG(721, *YYCURSOR);
8408
733
    ++YYCURSOR;
8409
733
    YYDEBUG(722, *YYCURSOR);
8410
733
    yyleng = YYCURSOR - SCNG(yy_text);
8411
733
#line 1692 "Zend/zend_language_scanner.l"
8412
733
    {
8413
733
  RETURN_TOKEN(T_OBJECT_CAST);
8414
733
}
8415
0
#line 8416 "Zend/zend_language_scanner.c"
8416
2.71k
yy723:
8417
2.71k
    YYDEBUG(723, *YYCURSOR);
8418
2.71k
    ++YYCURSOR;
8419
2.71k
    YYDEBUG(724, *YYCURSOR);
8420
2.71k
    yyleng = YYCURSOR - SCNG(yy_text);
8421
2.71k
#line 1674 "Zend/zend_language_scanner.l"
8422
2.71k
    {
8423
2.71k
  RETURN_TOKEN(T_STRING_CAST);
8424
2.71k
}
8425
0
#line 8426 "Zend/zend_language_scanner.c"
8426
6.60k
yy725:
8427
6.60k
    YYDEBUG(725, *YYCURSOR);
8428
6.60k
    yyaccept = 68;
8429
6.60k
    yych = *(YYMARKER = ++YYCURSOR);
8430
6.60k
    if (yybm[256+yych] & 128) {
8431
1.38k
      goto yy47;
8432
1.38k
    }
8433
5.21k
    if (yych == '\\') goto yy164;
8434
5.20k
yy726:
8435
5.20k
    YYDEBUG(726, *YYCURSOR);
8436
5.20k
    yyleng = YYCURSOR - SCNG(yy_text);
8437
5.20k
#line 1770 "Zend/zend_language_scanner.l"
8438
5.20k
    {
8439
5.20k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8440
5.20k
}
8441
0
#line 8442 "Zend/zend_language_scanner.c"
8442
3.53k
yy727:
8443
3.53k
    YYDEBUG(727, *YYCURSOR);
8444
3.53k
    yyaccept = 69;
8445
3.53k
    yych = *(YYMARKER = ++YYCURSOR);
8446
3.53k
    if (yybm[256+yych] & 128) {
8447
545
      goto yy47;
8448
545
    }
8449
2.99k
    if (yych == '\\') goto yy164;
8450
2.99k
yy728:
8451
2.99k
    YYDEBUG(728, *YYCURSOR);
8452
2.99k
    yyleng = YYCURSOR - SCNG(yy_text);
8453
2.99k
#line 1822 "Zend/zend_language_scanner.l"
8454
2.99k
    {
8455
2.99k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8456
2.99k
}
8457
0
#line 8458 "Zend/zend_language_scanner.c"
8458
3.55k
yy729:
8459
3.55k
    YYDEBUG(729, *YYCURSOR);
8460
3.55k
    yyaccept = 70;
8461
3.55k
    yych = *(YYMARKER = ++YYCURSOR);
8462
3.55k
    if (yybm[256+yych] & 128) {
8463
542
      goto yy47;
8464
542
    }
8465
3.01k
    if (yych == '\\') goto yy164;
8466
3.01k
yy730:
8467
3.01k
    YYDEBUG(730, *YYCURSOR);
8468
3.01k
    yyleng = YYCURSOR - SCNG(yy_text);
8469
3.01k
#line 1538 "Zend/zend_language_scanner.l"
8470
3.01k
    {
8471
3.01k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8472
3.01k
}
8473
0
#line 8474 "Zend/zend_language_scanner.c"
8474
3.32k
yy731:
8475
3.32k
    YYDEBUG(731, *YYCURSOR);
8476
3.32k
    yyaccept = 4;
8477
3.32k
    yych = *(YYMARKER = ++YYCURSOR);
8478
3.32k
    if (yych == 'R') goto yy781;
8479
2.58k
    if (yych == 'r') goto yy781;
8480
752
    goto yy48;
8481
5.76k
yy732:
8482
5.76k
    YYDEBUG(732, *YYCURSOR);
8483
5.76k
    yyaccept = 4;
8484
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
8485
5.76k
    if (yych == 'C') goto yy782;
8486
4.20k
    if (yych == 'c') goto yy782;
8487
696
    goto yy48;
8488
2.94k
yy733:
8489
2.94k
    YYDEBUG(733, *YYCURSOR);
8490
2.94k
    yyaccept = 4;
8491
2.94k
    yych = *(YYMARKER = ++YYCURSOR);
8492
2.94k
    if (yych == 'H') goto yy783;
8493
2.36k
    if (yych == 'h') goto yy783;
8494
835
    goto yy48;
8495
4.78k
yy734:
8496
4.78k
    YYDEBUG(734, *YYCURSOR);
8497
4.78k
    yyaccept = 71;
8498
4.78k
    yych = *(YYMARKER = ++YYCURSOR);
8499
4.78k
    if (yybm[256+yych] & 128) {
8500
530
      goto yy47;
8501
530
    }
8502
4.25k
    if (yych == '\\') goto yy164;
8503
4.23k
yy735:
8504
4.23k
    YYDEBUG(735, *YYCURSOR);
8505
4.23k
    yyleng = YYCURSOR - SCNG(yy_text);
8506
4.23k
#line 1474 "Zend/zend_language_scanner.l"
8507
4.23k
    {
8508
4.23k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8509
4.23k
}
8510
0
#line 8511 "Zend/zend_language_scanner.c"
8511
2.49k
yy736:
8512
2.49k
    YYDEBUG(736, *YYCURSOR);
8513
2.49k
    yych = *++YYCURSOR;
8514
2.49k
    if (yych == 'E') goto yy785;
8515
1.98k
    if (yych == 'e') goto yy785;
8516
298
    goto yy86;
8517
4.86k
yy737:
8518
4.86k
    YYDEBUG(737, *YYCURSOR);
8519
4.86k
    yych = *++YYCURSOR;
8520
4.86k
    if (yych == 'L') goto yy786;
8521
3.28k
    if (yych == 'l') goto yy786;
8522
484
    goto yy86;
8523
2.21M
yy738:
8524
2.21M
    YYDEBUG(738, *YYCURSOR);
8525
2.21M
    ++YYCURSOR;
8526
2.21M
    YYFILL(1);
8527
2.21M
    yych = *YYCURSOR;
8528
2.21M
    YYDEBUG(739, *YYCURSOR);
8529
2.21M
    if (yych <= '\f') {
8530
132k
      if (yych <= 0x00) goto yy86;
8531
121k
      if (yych == '\n') goto yy787;
8532
36.5k
      goto yy738;
8533
2.07M
    } else {
8534
2.07M
      if (yych <= '\r') goto yy787;
8535
1.91M
      if (yych == '*') goto yy789;
8536
1.88M
      goto yy738;
8537
1.91M
    }
8538
15.4k
yy740:
8539
15.4k
    YYDEBUG(740, *YYCURSOR);
8540
15.4k
    ++YYCURSOR;
8541
15.4k
    YYFILL(1);
8542
15.4k
    yych = *YYCURSOR;
8543
15.4k
    if (yych <= '\r') {
8544
1.02k
      if (yych <= '\t') {
8545
456
        if (yych <= 0x00) goto yy86;
8546
298
        goto yy586;
8547
565
      } else {
8548
565
        if (yych <= '\n') goto yy495;
8549
284
        if (yych <= '\f') goto yy586;
8550
44
        goto yy495;
8551
284
      }
8552
14.4k
    } else {
8553
14.4k
      if (yych <= 'T') {
8554
4.81k
        if (yych <= 'S') goto yy586;
8555
3.03k
        goto yy791;
8556
9.61k
      } else {
8557
9.61k
        if (yych == 't') goto yy791;
8558
2.77k
        goto yy586;
8559
9.61k
      }
8560
14.4k
    }
8561
38.5k
yy741:
8562
38.5k
    YYDEBUG(741, *YYCURSOR);
8563
38.5k
    ++YYCURSOR;
8564
38.5k
    YYFILL(1);
8565
38.5k
    yych = *YYCURSOR;
8566
38.5k
    if (yych <= '\r') {
8567
1.89k
      if (yych <= '\t') {
8568
806
        if (yych <= 0x00) goto yy86;
8569
489
        goto yy586;
8570
1.08k
      } else {
8571
1.08k
        if (yych <= '\n') goto yy495;
8572
819
        if (yych <= '\f') goto yy586;
8573
638
        goto yy495;
8574
819
      }
8575
36.6k
    } else {
8576
36.6k
      if (yych <= 'P') {
8577
10.6k
        if (yych <= 'O') goto yy586;
8578
8.41k
        goto yy792;
8579
26.0k
      } else {
8580
26.0k
        if (yych == 'p') goto yy792;
8581
878
        goto yy586;
8582
26.0k
      }
8583
36.6k
    }
8584
87.6k
yy742:
8585
87.6k
    YYDEBUG(742, *YYCURSOR);
8586
87.6k
    yyaccept = 72;
8587
87.6k
    yych = *(YYMARKER = ++YYCURSOR);
8588
87.6k
    if (yybm[256+yych] & 128) {
8589
1.36k
      goto yy47;
8590
1.36k
    }
8591
86.2k
    if (yych == '\\') goto yy164;
8592
86.2k
yy743:
8593
86.2k
    YYDEBUG(743, *YYCURSOR);
8594
86.2k
    yyleng = YYCURSOR - SCNG(yy_text);
8595
86.2k
#line 1411 "Zend/zend_language_scanner.l"
8596
86.2k
    {
8597
86.2k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8598
86.2k
}
8599
0
#line 8600 "Zend/zend_language_scanner.c"
8600
9.81k
yy744:
8601
9.81k
    YYDEBUG(744, *YYCURSOR);
8602
9.81k
    yyaccept = 4;
8603
9.81k
    yych = *(YYMARKER = ++YYCURSOR);
8604
9.81k
    if (yych == 'T') goto yy793;
8605
8.47k
    if (yych == 't') goto yy793;
8606
2.32k
    goto yy48;
8607
3.93k
yy745:
8608
3.93k
    YYDEBUG(745, *YYCURSOR);
8609
3.93k
    yyaccept = 4;
8610
3.93k
    yych = *(YYMARKER = ++YYCURSOR);
8611
3.93k
    if (yych == 'O') goto yy794;
8612
2.93k
    if (yych == 'o') goto yy794;
8613
824
    goto yy48;
8614
3.95k
yy746:
8615
3.95k
    YYDEBUG(746, *YYCURSOR);
8616
3.95k
    yyaccept = 4;
8617
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
8618
3.95k
    if (yych == 'O') goto yy795;
8619
3.22k
    if (yych == 'o') goto yy795;
8620
837
    goto yy48;
8621
4.07k
yy747:
8622
4.07k
    YYDEBUG(747, *YYCURSOR);
8623
4.07k
    yyaccept = 4;
8624
4.07k
    yych = *(YYMARKER = ++YYCURSOR);
8625
4.07k
    if (yych == 'F') goto yy796;
8626
3.56k
    if (yych == 'f') goto yy796;
8627
406
    goto yy48;
8628
7.42k
yy748:
8629
7.42k
    YYDEBUG(748, *YYCURSOR);
8630
7.42k
    yyaccept = 4;
8631
7.42k
    yych = *(YYMARKER = ++YYCURSOR);
8632
7.42k
    if (yych == 'E') goto yy798;
8633
7.20k
    if (yych == 'e') goto yy798;
8634
743
    goto yy48;
8635
26.1k
yy749:
8636
26.1k
    YYDEBUG(749, *YYCURSOR);
8637
26.1k
    yyaccept = 4;
8638
26.1k
    yych = *(YYMARKER = ++YYCURSOR);
8639
26.1k
    if (yych == 'E') goto yy800;
8640
25.1k
    if (yych == 'e') goto yy800;
8641
624
    goto yy48;
8642
2.46k
yy750:
8643
2.46k
    YYDEBUG(750, *YYCURSOR);
8644
2.46k
    yych = *++YYCURSOR;
8645
2.46k
    if (yych == 'S') goto yy802;
8646
1.29k
    if (yych == 's') goto yy802;
8647
290
    goto yy86;
8648
7.96k
yy751:
8649
7.96k
    YYDEBUG(751, *YYCURSOR);
8650
7.96k
    yyaccept = 4;
8651
7.96k
    yych = *(YYMARKER = ++YYCURSOR);
8652
7.96k
    if (yych == 'D') goto yy803;
8653
6.37k
    if (yych == 'd') goto yy803;
8654
328
    goto yy48;
8655
2.57k
yy752:
8656
2.57k
    YYDEBUG(752, *YYCURSOR);
8657
2.57k
    yych = *++YYCURSOR;
8658
2.57k
    if (yych == 'E') goto yy805;
8659
1.73k
    if (yych == 'e') goto yy805;
8660
312
    goto yy86;
8661
4.19k
yy753:
8662
4.19k
    YYDEBUG(753, *YYCURSOR);
8663
4.19k
    yyaccept = 73;
8664
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
8665
4.19k
    if (yybm[256+yych] & 128) {
8666
1.26k
      goto yy47;
8667
1.26k
    }
8668
2.92k
    if (yych == '\\') goto yy164;
8669
2.92k
yy754:
8670
2.92k
    YYDEBUG(754, *YYCURSOR);
8671
2.92k
    yyleng = YYCURSOR - SCNG(yy_text);
8672
2.92k
#line 1802 "Zend/zend_language_scanner.l"
8673
2.92k
    {
8674
2.92k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8675
2.92k
}
8676
0
#line 8677 "Zend/zend_language_scanner.c"
8677
3.28k
yy755:
8678
3.28k
    YYDEBUG(755, *YYCURSOR);
8679
3.28k
    yyaccept = 4;
8680
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
8681
3.28k
    if (yych == 'O') goto yy806;
8682
2.51k
    if (yych == 'o') goto yy806;
8683
370
    goto yy48;
8684
6.87k
yy756:
8685
6.87k
    YYDEBUG(756, *YYCURSOR);
8686
6.87k
    yych = *++YYCURSOR;
8687
6.87k
    if (yych == 'O') goto yy807;
8688
4.72k
    if (yych == 'o') goto yy807;
8689
494
    goto yy86;
8690
11.1k
yy757:
8691
11.1k
    YYDEBUG(757, *YYCURSOR);
8692
11.1k
    ++YYCURSOR;
8693
11.1k
    YYFILL(1);
8694
11.1k
    yych = *YYCURSOR;
8695
11.1k
    if (yych <= '\n') {
8696
6.60k
      if (yych <= 0x00) goto yy86;
8697
6.25k
      if (yych <= '\t') goto yy692;
8698
5.49k
      goto yy694;
8699
6.25k
    } else {
8700
4.58k
      if (yych == '\r') goto yy694;
8701
2.12k
      goto yy692;
8702
4.58k
    }
8703
68.3k
yy758:
8704
68.3k
    YYDEBUG(758, *YYCURSOR);
8705
68.3k
    ++YYCURSOR;
8706
68.3k
    YYFILL(1);
8707
68.3k
    yych = *YYCURSOR;
8708
68.3k
    if (yych <= '\f') {
8709
1.01k
      if (yych <= 0x00) goto yy86;
8710
603
      if (yych == '\n') goto yy616;
8711
347
      goto yy692;
8712
67.3k
    } else {
8713
67.3k
      if (yych <= '\r') goto yy616;
8714
63.8k
      if (yych == '*') goto yy808;
8715
15.9k
      goto yy692;
8716
63.8k
    }
8717
20.8k
yy759:
8718
20.8k
    YYDEBUG(759, *YYCURSOR);
8719
20.8k
    ++YYCURSOR;
8720
20.8k
    YYFILL(1);
8721
20.8k
    yych = *YYCURSOR;
8722
20.8k
    if (yych <= '\r') {
8723
1.23k
      if (yych <= '\t') {
8724
325
        if (yych <= 0x00) goto yy86;
8725
231
        goto yy692;
8726
906
      } else {
8727
906
        if (yych <= '\n') goto yy616;
8728
354
        if (yych <= '\f') goto yy692;
8729
199
        goto yy616;
8730
354
      }
8731
19.6k
    } else {
8732
19.6k
      if (yych <= 'R') {
8733
17.0k
        if (yych <= 'Q') goto yy692;
8734
15.3k
        goto yy810;
8735
17.0k
      } else {
8736
2.62k
        if (yych == 'r') goto yy810;
8737
997
        goto yy692;
8738
2.62k
      }
8739
19.6k
    }
8740
77.7k
yy760:
8741
77.7k
    YYDEBUG(760, *YYCURSOR);
8742
77.7k
    ++YYCURSOR;
8743
77.7k
    YYFILL(1);
8744
77.7k
    yych = *YYCURSOR;
8745
77.7k
    YYDEBUG(761, *YYCURSOR);
8746
77.7k
    if (yych <= '*') {
8747
51.6k
      if (yych <= 0x00) goto yy86;
8748
51.0k
      if (yych <= ')') goto yy696;
8749
1.85k
      goto yy760;
8750
51.0k
    } else {
8751
26.0k
      if (yych == '/') goto yy616;
8752
10.3k
      goto yy696;
8753
26.0k
    }
8754
7.81k
yy762:
8755
7.81k
    YYDEBUG(762, *YYCURSOR);
8756
7.81k
    yyaccept = 4;
8757
7.81k
    yych = *(YYMARKER = ++YYCURSOR);
8758
7.81k
    if (yych == '_') goto yy811;
8759
678
    goto yy48;
8760
7.01k
yy763:
8761
7.01k
    YYDEBUG(763, *YYCURSOR);
8762
7.01k
    yyaccept = 74;
8763
7.01k
    yych = *(YYMARKER = ++YYCURSOR);
8764
7.01k
    if (yybm[256+yych] & 128) {
8765
1.21k
      goto yy47;
8766
1.21k
    }
8767
5.80k
    if (yych == '\\') goto yy164;
8768
5.80k
yy764:
8769
5.80k
    YYDEBUG(764, *YYCURSOR);
8770
5.80k
    yyleng = YYCURSOR - SCNG(yy_text);
8771
5.80k
#line 2277 "Zend/zend_language_scanner.l"
8772
5.80k
    {
8773
5.80k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8774
5.80k
}
8775
0
#line 8776 "Zend/zend_language_scanner.c"
8776
6.04k
yy765:
8777
6.04k
    YYDEBUG(765, *YYCURSOR);
8778
6.04k
    yyaccept = 4;
8779
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
8780
6.04k
    if (yych == 'O') goto yy813;
8781
3.36k
    if (yych == 'o') goto yy813;
8782
434
    goto yy48;
8783
6.29k
yy766:
8784
6.29k
    YYDEBUG(766, *YYCURSOR);
8785
6.29k
    yyaccept = 4;
8786
6.29k
    yych = *(YYMARKER = ++YYCURSOR);
8787
6.29k
    if (yych == 'O') goto yy814;
8788
5.59k
    if (yych == 'o') goto yy814;
8789
1.15k
    goto yy48;
8790
2.35k
yy767:
8791
2.35k
    YYDEBUG(767, *YYCURSOR);
8792
2.35k
    yyaccept = 75;
8793
2.35k
    yych = *(YYMARKER = ++YYCURSOR);
8794
2.35k
    if (yybm[256+yych] & 128) {
8795
923
      goto yy47;
8796
923
    }
8797
1.42k
    if (yych == '\\') goto yy164;
8798
1.41k
yy768:
8799
1.41k
    YYDEBUG(768, *YYCURSOR);
8800
1.41k
    yyleng = YYCURSOR - SCNG(yy_text);
8801
1.41k
#line 2273 "Zend/zend_language_scanner.l"
8802
1.41k
    {
8803
1.41k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8804
1.41k
}
8805
0
#line 8806 "Zend/zend_language_scanner.c"
8806
11.2k
yy769:
8807
11.2k
    YYDEBUG(769, *YYCURSOR);
8808
11.2k
    yyaccept = 4;
8809
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
8810
11.2k
    if (yych == '_') goto yy815;
8811
1.09k
    goto yy48;
8812
5.17k
yy770:
8813
5.17k
    YYDEBUG(770, *YYCURSOR);
8814
5.17k
    yyaccept = 4;
8815
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
8816
5.17k
    if (yych == 'A') goto yy816;
8817
3.46k
    if (yych == 'a') goto yy816;
8818
478
    goto yy48;
8819
2.49k
yy771:
8820
2.49k
    YYDEBUG(771, *YYCURSOR);
8821
2.49k
    yyaccept = 4;
8822
2.49k
    yych = *(YYMARKER = ++YYCURSOR);
8823
2.49k
    if (yych == 'T') goto yy817;
8824
1.24k
    if (yych == 't') goto yy817;
8825
449
    goto yy48;
8826
3.79k
yy772:
8827
3.79k
    YYDEBUG(772, *YYCURSOR);
8828
3.79k
    yyaccept = 4;
8829
3.79k
    yych = *(YYMARKER = ++YYCURSOR);
8830
3.79k
    if (yych == '_') goto yy818;
8831
708
    goto yy48;
8832
4.16k
yy773:
8833
4.16k
    YYDEBUG(773, *YYCURSOR);
8834
4.16k
    ++YYCURSOR;
8835
4.16k
    YYFILL(1);
8836
4.16k
    yych = *YYCURSOR;
8837
4.16k
    if (yybm[0+yych] & 128) {
8838
694
      goto yy443;
8839
694
    }
8840
3.46k
    if (yych <= 0x00) goto yy86;
8841
3.23k
    if (yych <= '\r') goto yy709;
8842
375
    goto yy547;
8843
1.27k
yy774:
8844
1.27k
    YYDEBUG(774, *YYCURSOR);
8845
1.27k
    yyaccept = 26;
8846
1.27k
    YYMARKER = ++YYCURSOR;
8847
1.27k
    YYFILL(1);
8848
1.27k
    yych = *YYCURSOR;
8849
1.27k
    if (yybm[0+yych] & 128) {
8850
814
      goto yy443;
8851
814
    }
8852
463
    if (yych <= 0x00) goto yy89;
8853
418
    if (yych <= '\r') goto yy545;
8854
203
    goto yy547;
8855
5.47k
yy775:
8856
5.47k
    YYDEBUG(775, *YYCURSOR);
8857
5.47k
    ++YYCURSOR;
8858
5.47k
    YYFILL(1);
8859
5.47k
    yych = *YYCURSOR;
8860
5.47k
    if (yych <= '\r') {
8861
1.73k
      if (yych <= '\t') {
8862
638
        if (yych <= 0x00) goto yy86;
8863
464
        goto yy443;
8864
1.09k
      } else {
8865
1.09k
        if (yych <= '\n') goto yy545;
8866
456
        if (yych <= '\f') goto yy443;
8867
281
        goto yy545;
8868
456
      }
8869
3.74k
    } else {
8870
3.74k
      if (yych <= '*') {
8871
1.44k
        if (yych <= ')') goto yy443;
8872
808
        goto yy547;
8873
2.30k
      } else {
8874
2.30k
        if (yych == '.') goto yy820;
8875
239
        goto yy443;
8876
2.30k
      }
8877
3.74k
    }
8878
10.2k
yy776:
8879
10.2k
    YYDEBUG(776, *YYCURSOR);
8880
10.2k
    ++YYCURSOR;
8881
10.2k
    YYFILL(1);
8882
10.2k
    yych = *YYCURSOR;
8883
10.2k
    if (yybm[0+yych] & 128) {
8884
1.38k
      goto yy443;
8885
1.38k
    }
8886
8.90k
    if (yych <= 0x00) goto yy86;
8887
8.51k
    if (yych <= '\r') goto yy545;
8888
8.28k
    goto yy821;
8889
8.28k
yy777:
8890
317
    YYDEBUG(777, *YYCURSOR);
8891
317
    ++YYCURSOR;
8892
317
    YYDEBUG(778, *YYCURSOR);
8893
317
    yyleng = YYCURSOR - SCNG(yy_text);
8894
317
#line 1700 "Zend/zend_language_scanner.l"
8895
317
    {
8896
317
  if (PARSER_MODE()) {
8897
36
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8898
36
    if (EG(exception)) {
8899
0
      RETURN_TOKEN(T_ERROR);
8900
0
    }
8901
36
  }
8902
317
  RETURN_TOKEN(T_BOOL_CAST);
8903
317
}
8904
0
#line 8905 "Zend/zend_language_scanner.c"
8905
428
yy779:
8906
428
    YYDEBUG(779, *YYCURSOR);
8907
428
    ++YYCURSOR;
8908
428
    YYDEBUG(780, *YYCURSOR);
8909
428
    yyleng = YYCURSOR - SCNG(yy_text);
8910
428
#line 1642 "Zend/zend_language_scanner.l"
8911
428
    {
8912
428
  if (PARSER_MODE()) {
8913
47
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8914
47
    if (EG(exception)) {
8915
0
      RETURN_TOKEN(T_ERROR);
8916
0
    }
8917
47
  }
8918
428
  RETURN_TOKEN(T_INT_CAST);
8919
428
}
8920
0
#line 8921 "Zend/zend_language_scanner.c"
8921
2.56k
yy781:
8922
2.56k
    YYDEBUG(781, *YYCURSOR);
8923
2.56k
    yyaccept = 4;
8924
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
8925
2.56k
    if (yych == 'E') goto yy822;
8926
2.01k
    if (yych == 'e') goto yy822;
8927
569
    goto yy48;
8928
5.06k
yy782:
8929
5.06k
    YYDEBUG(782, *YYCURSOR);
8930
5.06k
    yyaccept = 4;
8931
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
8932
5.06k
    if (yych == 'H') goto yy824;
8933
3.51k
    if (yych == 'h') goto yy824;
8934
648
    goto yy48;
8935
2.10k
yy783:
8936
2.10k
    YYDEBUG(783, *YYCURSOR);
8937
2.10k
    yyaccept = 76;
8938
2.10k
    yych = *(YYMARKER = ++YYCURSOR);
8939
2.10k
    if (yybm[256+yych] & 128) {
8940
602
      goto yy47;
8941
602
    }
8942
1.50k
    if (yych == '\\') goto yy164;
8943
1.50k
yy784:
8944
1.50k
    YYDEBUG(784, *YYCURSOR);
8945
1.50k
    yyleng = YYCURSOR - SCNG(yy_text);
8946
1.50k
#line 1522 "Zend/zend_language_scanner.l"
8947
1.50k
    {
8948
1.50k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8949
1.50k
}
8950
0
#line 8951 "Zend/zend_language_scanner.c"
8951
2.19k
yy785:
8952
2.19k
    YYDEBUG(785, *YYCURSOR);
8953
2.19k
    yych = *++YYCURSOR;
8954
2.19k
    if (yych == 'N') goto yy826;
8955
1.95k
    if (yych == 'n') goto yy826;
8956
497
    goto yy86;
8957
4.38k
yy786:
8958
4.38k
    YYDEBUG(786, *YYCURSOR);
8959
4.38k
    yych = *++YYCURSOR;
8960
4.38k
    if (yych == 'E') goto yy827;
8961
3.36k
    if (yych == 'e') goto yy827;
8962
853
    goto yy86;
8963
367k
yy787:
8964
367k
    YYDEBUG(787, *YYCURSOR);
8965
367k
    ++YYCURSOR;
8966
367k
    YYFILL(1);
8967
367k
    yych = *YYCURSOR;
8968
367k
    YYDEBUG(788, *YYCURSOR);
8969
367k
    if (yych <= '@') {
8970
328k
      if (yych <= ' ') {
8971
70.9k
        if (yych <= '\n') {
8972
11.1k
          if (yych <= 0x00) goto yy86;
8973
9.33k
          if (yych <= 0x08) goto yy590;
8974
9.12k
          goto yy787;
8975
59.7k
        } else {
8976
59.7k
          if (yych == '\r') goto yy787;
8977
19.7k
          if (yych <= 0x1F) goto yy590;
8978
19.0k
          goto yy787;
8979
19.7k
        }
8980
257k
      } else {
8981
257k
        if (yych <= ')') {
8982
233k
          if (yych == '#') goto yy828;
8983
11.6k
          goto yy590;
8984
233k
        } else {
8985
23.6k
          if (yych <= '*') goto yy668;
8986
23.1k
          if (yych == '/') goto yy829;
8987
3.98k
          goto yy590;
8988
23.1k
        }
8989
257k
      }
8990
328k
    } else {
8991
39.2k
      if (yych <= '_') {
8992
6.91k
        if (yych <= 'H') {
8993
2.05k
          if (yych == 'E') goto yy831;
8994
1.60k
          goto yy830;
8995
4.85k
        } else {
8996
4.85k
          if (yych <= 'I') goto yy832;
8997
1.91k
          if (yych <= 'Z') goto yy830;
8998
1.37k
          if (yych <= '^') goto yy590;
8999
618
          goto yy830;
9000
1.37k
        }
9001
32.3k
      } else {
9002
32.3k
        if (yych <= 'h') {
9003
15.1k
          if (yych <= '`') goto yy590;
9004
14.5k
          if (yych == 'e') goto yy831;
9005
2.19k
          goto yy830;
9006
17.1k
        } else {
9007
17.1k
          if (yych <= 'i') goto yy832;
9008
4.94k
          if (yych <= 'z') goto yy830;
9009
2.56k
          if (yych <= 0x7F) goto yy590;
9010
1.92k
          goto yy830;
9011
2.56k
        }
9012
32.3k
      }
9013
39.2k
    }
9014
75.7k
yy789:
9015
75.7k
    YYDEBUG(789, *YYCURSOR);
9016
75.7k
    ++YYCURSOR;
9017
75.7k
    YYFILL(1);
9018
75.7k
    yych = *YYCURSOR;
9019
75.7k
    YYDEBUG(790, *YYCURSOR);
9020
75.7k
    if (yych <= '\r') {
9021
9.76k
      if (yych <= '\t') {
9022
1.44k
        if (yych <= 0x00) goto yy86;
9023
711
        goto yy738;
9024
8.31k
      } else {
9025
8.31k
        if (yych <= '\n') goto yy787;
9026
6.40k
        if (yych <= '\f') goto yy738;
9027
5.94k
        goto yy787;
9028
6.40k
      }
9029
65.9k
    } else {
9030
65.9k
      if (yych <= '*') {
9031
39.7k
        if (yych <= ')') goto yy738;
9032
34.2k
        goto yy789;
9033
39.7k
      } else {
9034
26.2k
        if (yych == '/') goto yy588;
9035
12.5k
        goto yy738;
9036
26.2k
      }
9037
65.9k
    }
9038
9.86k
yy791:
9039
9.86k
    YYDEBUG(791, *YYCURSOR);
9040
9.86k
    ++YYCURSOR;
9041
9.86k
    YYFILL(1);
9042
9.86k
    yych = *YYCURSOR;
9043
9.86k
    if (yych <= '\r') {
9044
1.40k
      if (yych <= '\t') {
9045
277
        if (yych <= 0x00) goto yy86;
9046
74
        goto yy586;
9047
1.12k
      } else {
9048
1.12k
        if (yych <= '\n') goto yy495;
9049
513
        if (yych <= '\f') goto yy586;
9050
338
        goto yy495;
9051
513
      }
9052
8.46k
    } else {
9053
8.46k
      if (yych <= 'E') {
9054
967
        if (yych <= 'D') goto yy586;
9055
696
        goto yy833;
9056
7.49k
      } else {
9057
7.49k
        if (yych == 'e') goto yy833;
9058
203
        goto yy586;
9059
7.49k
      }
9060
8.46k
    }
9061
33.5k
yy792:
9062
33.5k
    YYDEBUG(792, *YYCURSOR);
9063
33.5k
    ++YYCURSOR;
9064
33.5k
    YYFILL(1);
9065
33.5k
    yych = *YYCURSOR;
9066
33.5k
    if (yych <= '\r') {
9067
1.68k
      if (yych <= '\t') {
9068
685
        if (yych <= 0x00) goto yy86;
9069
347
        goto yy586;
9070
1.00k
      } else {
9071
1.00k
        if (yych <= '\n') goto yy495;
9072
554
        if (yych <= '\f') goto yy586;
9073
296
        goto yy495;
9074
554
      }
9075
31.8k
    } else {
9076
31.8k
      if (yych <= 'L') {
9077
8.02k
        if (yych <= 'K') goto yy586;
9078
7.18k
        goto yy834;
9079
23.8k
      } else {
9080
23.8k
        if (yych == 'l') goto yy834;
9081
1.63k
        goto yy586;
9082
23.8k
      }
9083
31.8k
    }
9084
7.49k
yy793:
9085
7.49k
    YYDEBUG(793, *YYCURSOR);
9086
7.49k
    yyaccept = 4;
9087
7.49k
    yych = *(YYMARKER = ++YYCURSOR);
9088
7.49k
    if (yych == 'S') goto yy835;
9089
7.07k
    if (yych == 's') goto yy835;
9090
1.74k
    goto yy48;
9091
3.11k
yy794:
9092
3.11k
    YYDEBUG(794, *YYCURSOR);
9093
3.11k
    yyaccept = 4;
9094
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
9095
3.11k
    if (yych == 'N') goto yy837;
9096
2.24k
    if (yych == 'n') goto yy837;
9097
432
    goto yy48;
9098
3.12k
yy795:
9099
3.12k
    YYDEBUG(795, *YYCURSOR);
9100
3.12k
    yyaccept = 4;
9101
3.12k
    yych = *(YYMARKER = ++YYCURSOR);
9102
3.12k
    if (yych == 'F') goto yy838;
9103
2.64k
    if (yych == 'f') goto yy838;
9104
304
    goto yy48;
9105
3.67k
yy796:
9106
3.67k
    YYDEBUG(796, *YYCURSOR);
9107
3.67k
    yyaccept = 77;
9108
3.67k
    yych = *(YYMARKER = ++YYCURSOR);
9109
3.67k
    if (yybm[256+yych] & 128) {
9110
685
      goto yy47;
9111
685
    }
9112
2.98k
    if (yych == '\\') goto yy164;
9113
2.98k
yy797:
9114
2.98k
    YYDEBUG(797, *YYCURSOR);
9115
2.98k
    yyleng = YYCURSOR - SCNG(yy_text);
9116
2.98k
#line 1746 "Zend/zend_language_scanner.l"
9117
2.98k
    {
9118
2.98k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9119
2.98k
}
9120
0
#line 9121 "Zend/zend_language_scanner.c"
9121
6.68k
yy798:
9122
6.68k
    YYDEBUG(798, *YYCURSOR);
9123
6.68k
    yyaccept = 78;
9124
6.68k
    yych = *(YYMARKER = ++YYCURSOR);
9125
6.68k
    if (yybm[256+yych] & 128) {
9126
630
      goto yy47;
9127
630
    }
9128
6.05k
    if (yych == '\\') goto yy164;
9129
6.04k
yy799:
9130
6.04k
    YYDEBUG(799, *YYCURSOR);
9131
6.04k
    yyleng = YYCURSOR - SCNG(yy_text);
9132
6.04k
#line 1558 "Zend/zend_language_scanner.l"
9133
6.04k
    {
9134
6.04k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9135
6.04k
}
9136
0
#line 9137 "Zend/zend_language_scanner.c"
9137
25.5k
yy800:
9138
25.5k
    YYDEBUG(800, *YYCURSOR);
9139
25.5k
    yyaccept = 79;
9140
25.5k
    yych = *(YYMARKER = ++YYCURSOR);
9141
25.5k
    if (yybm[256+yych] & 128) {
9142
846
      goto yy47;
9143
846
    }
9144
24.6k
    if (yych == '\\') goto yy840;
9145
11.3k
yy801:
9146
11.3k
    YYDEBUG(801, *YYCURSOR);
9147
11.3k
    yyleng = YYCURSOR - SCNG(yy_text);
9148
11.3k
#line 1738 "Zend/zend_language_scanner.l"
9149
11.3k
    {
9150
11.3k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9151
11.3k
}
9152
0
#line 9153 "Zend/zend_language_scanner.c"
9153
2.17k
yy802:
9154
2.17k
    YYDEBUG(802, *YYCURSOR);
9155
2.17k
    yych = *++YYCURSOR;
9156
2.17k
    if (yych == 'E') goto yy841;
9157
1.95k
    if (yych == 'e') goto yy841;
9158
1.31k
    goto yy86;
9159
7.64k
yy803:
9160
7.64k
    YYDEBUG(803, *YYCURSOR);
9161
7.64k
    yyaccept = 80;
9162
7.64k
    yych = *(YYMARKER = ++YYCURSOR);
9163
7.64k
    if (yybm[256+yych] & 128) {
9164
522
      goto yy47;
9165
522
    }
9166
7.11k
    if (yych == '(') goto yy842;
9167
5.97k
    if (yych == '\\') goto yy164;
9168
6.57k
yy804:
9169
6.57k
    YYDEBUG(804, *YYCURSOR);
9170
6.57k
    yyleng = YYCURSOR - SCNG(yy_text);
9171
6.57k
#line 1782 "Zend/zend_language_scanner.l"
9172
6.57k
    {
9173
6.57k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9174
6.57k
}
9175
0
#line 9176 "Zend/zend_language_scanner.c"
9176
2.25k
yy805:
9177
2.25k
    YYDEBUG(805, *YYCURSOR);
9178
2.25k
    yych = *++YYCURSOR;
9179
2.25k
    if (yych == 'T') goto yy843;
9180
1.80k
    if (yych == 't') goto yy843;
9181
231
    goto yy86;
9182
2.91k
yy806:
9183
2.91k
    YYDEBUG(806, *YYCURSOR);
9184
2.91k
    yyaccept = 4;
9185
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
9186
2.91k
    if (yych == 'N') goto yy844;
9187
2.31k
    if (yych == 'n') goto yy844;
9188
243
    goto yy48;
9189
6.37k
yy807:
9190
6.37k
    YYDEBUG(807, *YYCURSOR);
9191
6.37k
    yych = *++YYCURSOR;
9192
6.37k
    if (yych == 'M') goto yy845;
9193
5.56k
    if (yych == 'm') goto yy845;
9194
933
    goto yy86;
9195
662k
yy808:
9196
662k
    YYDEBUG(808, *YYCURSOR);
9197
662k
    ++YYCURSOR;
9198
662k
    YYFILL(1);
9199
662k
    yych = *YYCURSOR;
9200
662k
    YYDEBUG(809, *YYCURSOR);
9201
662k
    if (yych <= '\f') {
9202
82.0k
      if (yych <= 0x00) goto yy86;
9203
78.2k
      if (yych == '\n') goto yy846;
9204
15.4k
      goto yy808;
9205
580k
    } else {
9206
580k
      if (yych <= '\r') goto yy846;
9207
551k
      if (yych == '*') goto yy848;
9208
529k
      goto yy808;
9209
551k
    }
9210
17.0k
yy810:
9211
17.0k
    YYDEBUG(810, *YYCURSOR);
9212
17.0k
    ++YYCURSOR;
9213
17.0k
    YYFILL(1);
9214
17.0k
    yych = *YYCURSOR;
9215
17.0k
    if (yych <= '\r') {
9216
2.39k
      if (yych <= '\t') {
9217
790
        if (yych <= 0x00) goto yy86;
9218
483
        goto yy692;
9219
1.60k
      } else {
9220
1.60k
        if (yych <= '\n') goto yy616;
9221
1.37k
        if (yych <= '\f') goto yy692;
9222
928
        goto yy616;
9223
1.37k
      }
9224
14.6k
    } else {
9225
14.6k
      if (yych <= 'O') {
9226
12.8k
        if (yych <= 'N') goto yy692;
9227
12.2k
        goto yy850;
9228
12.8k
      } else {
9229
1.75k
        if (yych == 'o') goto yy850;
9230
704
        goto yy692;
9231
1.75k
      }
9232
14.6k
    }
9233
7.14k
yy811:
9234
7.14k
    YYDEBUG(811, *YYCURSOR);
9235
7.14k
    yyaccept = 81;
9236
7.14k
    yych = *(YYMARKER = ++YYCURSOR);
9237
7.14k
    if (yybm[256+yych] & 128) {
9238
616
      goto yy47;
9239
616
    }
9240
6.52k
    if (yych == '\\') goto yy164;
9241
6.52k
yy812:
9242
6.52k
    YYDEBUG(812, *YYCURSOR);
9243
6.52k
    yyleng = YYCURSOR - SCNG(yy_text);
9244
6.52k
#line 2253 "Zend/zend_language_scanner.l"
9245
6.52k
    {
9246
6.52k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9247
6.52k
}
9248
0
#line 9249 "Zend/zend_language_scanner.c"
9249
5.60k
yy813:
9250
5.60k
    YYDEBUG(813, *YYCURSOR);
9251
5.60k
    yyaccept = 4;
9252
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
9253
5.60k
    if (yych == 'N') goto yy851;
9254
2.20k
    if (yych == 'n') goto yy851;
9255
200
    goto yy48;
9256
5.14k
yy814:
9257
5.14k
    YYDEBUG(814, *YYCURSOR);
9258
5.14k
    yyaccept = 4;
9259
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
9260
5.14k
    if (yych == 'M') goto yy852;
9261
4.33k
    if (yych == 'm') goto yy852;
9262
1.32k
    goto yy48;
9263
10.1k
yy815:
9264
10.1k
    YYDEBUG(815, *YYCURSOR);
9265
10.1k
    yyaccept = 4;
9266
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
9267
10.1k
    if (yych == '_') goto yy853;
9268
393
    goto yy48;
9269
4.69k
yy816:
9270
4.69k
    YYDEBUG(816, *YYCURSOR);
9271
4.69k
    yyaccept = 4;
9272
4.69k
    yych = *(YYMARKER = ++YYCURSOR);
9273
4.69k
    if (yych == 'C') goto yy855;
9274
3.05k
    if (yych == 'c') goto yy855;
9275
418
    goto yy48;
9276
2.04k
yy817:
9277
2.04k
    YYDEBUG(817, *YYCURSOR);
9278
2.04k
    yyaccept = 4;
9279
2.04k
    yych = *(YYMARKER = ++YYCURSOR);
9280
2.04k
    if (yych == 'Y') goto yy856;
9281
747
    if (yych == 'y') goto yy856;
9282
350
    goto yy48;
9283
3.08k
yy818:
9284
3.08k
    YYDEBUG(818, *YYCURSOR);
9285
3.08k
    yyaccept = 82;
9286
3.08k
    yych = *(YYMARKER = ++YYCURSOR);
9287
3.08k
    if (yybm[256+yych] & 128) {
9288
801
      goto yy47;
9289
801
    }
9290
2.28k
    if (yych == '\\') goto yy164;
9291
2.28k
yy819:
9292
2.28k
    YYDEBUG(819, *YYCURSOR);
9293
2.28k
    yyleng = YYCURSOR - SCNG(yy_text);
9294
2.28k
#line 2257 "Zend/zend_language_scanner.l"
9295
2.28k
    {
9296
2.28k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9297
2.28k
}
9298
0
#line 9299 "Zend/zend_language_scanner.c"
9299
2.06k
yy820:
9300
2.06k
    YYDEBUG(820, *YYCURSOR);
9301
2.06k
    ++YYCURSOR;
9302
2.06k
    YYFILL(1);
9303
2.06k
    yych = *YYCURSOR;
9304
2.06k
    if (yych <= '\r') {
9305
922
      if (yych <= '\t') {
9306
317
        if (yych <= 0x00) goto yy86;
9307
240
        goto yy443;
9308
605
      } else {
9309
605
        if (yych <= '\n') goto yy545;
9310
289
        if (yych <= '\f') goto yy443;
9311
100
        goto yy545;
9312
289
      }
9313
1.14k
    } else {
9314
1.14k
      if (yych <= '*') {
9315
268
        if (yych <= ')') goto yy443;
9316
197
        goto yy547;
9317
874
      } else {
9318
874
        if (yych == '.') goto yy774;
9319
277
        goto yy443;
9320
874
      }
9321
1.14k
    }
9322
8.28k
yy821:
9323
8.28k
    YYDEBUG(821, *YYCURSOR);
9324
8.28k
    ++YYCURSOR;
9325
8.28k
    YYFILL(1);
9326
8.28k
    yych = *YYCURSOR;
9327
8.28k
    if (yych <= '\r') {
9328
1.44k
      if (yych <= '\t') {
9329
656
        if (yych <= 0x00) goto yy86;
9330
433
        goto yy443;
9331
785
      } else {
9332
785
        if (yych <= '\n') goto yy545;
9333
265
        if (yych <= '\f') goto yy443;
9334
188
        goto yy545;
9335
265
      }
9336
6.84k
    } else {
9337
6.84k
      if (yych <= '*') {
9338
711
        if (yych <= ')') goto yy443;
9339
453
        goto yy547;
9340
6.13k
      } else {
9341
6.13k
        if (yych == '/') goto yy709;
9342
305
        goto yy443;
9343
6.13k
      }
9344
6.84k
    }
9345
1.99k
yy822:
9346
1.99k
    YYDEBUG(822, *YYCURSOR);
9347
1.99k
    yyaccept = 83;
9348
1.99k
    yych = *(YYMARKER = ++YYCURSOR);
9349
1.99k
    if (yybm[256+yych] & 128) {
9350
542
      goto yy47;
9351
542
    }
9352
1.45k
    if (yych == '\\') goto yy164;
9353
1.40k
yy823:
9354
1.40k
    YYDEBUG(823, *YYCURSOR);
9355
1.40k
    yyleng = YYCURSOR - SCNG(yy_text);
9356
1.40k
#line 1502 "Zend/zend_language_scanner.l"
9357
1.40k
    {
9358
1.40k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9359
1.40k
}
9360
0
#line 9361 "Zend/zend_language_scanner.c"
9361
4.41k
yy824:
9362
4.41k
    YYDEBUG(824, *YYCURSOR);
9363
4.41k
    yyaccept = 84;
9364
4.41k
    yych = *(YYMARKER = ++YYCURSOR);
9365
4.41k
    if (yybm[256+yych] & 128) {
9366
576
      goto yy47;
9367
576
    }
9368
3.84k
    if (yych == '\\') goto yy164;
9369
3.83k
yy825:
9370
3.83k
    YYDEBUG(825, *YYCURSOR);
9371
3.83k
    yyleng = YYCURSOR - SCNG(yy_text);
9372
3.83k
#line 1494 "Zend/zend_language_scanner.l"
9373
3.83k
    {
9374
3.83k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9375
3.83k
}
9376
0
#line 9377 "Zend/zend_language_scanner.c"
9377
1.69k
yy826:
9378
1.69k
    YYDEBUG(826, *YYCURSOR);
9379
1.69k
    yych = *++YYCURSOR;
9380
1.69k
    if (yych == 'D') goto yy857;
9381
1.26k
    if (yych == 'd') goto yy857;
9382
776
    goto yy86;
9383
3.52k
yy827:
9384
3.52k
    YYDEBUG(827, *YYCURSOR);
9385
3.52k
    yych = *++YYCURSOR;
9386
3.52k
    if (yych == 'M') goto yy858;
9387
2.63k
    if (yych == 'm') goto yy858;
9388
945
    goto yy86;
9389
222k
yy828:
9390
222k
    YYDEBUG(828, *YYCURSOR);
9391
222k
    ++YYCURSOR;
9392
222k
    YYFILL(1);
9393
222k
    yych = *YYCURSOR;
9394
222k
    if (yych <= '\r') {
9395
183k
      if (yych <= '\t') {
9396
4.70k
        if (yych <= 0x00) goto yy86;
9397
4.41k
        goto yy738;
9398
178k
      } else {
9399
178k
        if (yych <= '\n') goto yy859;
9400
42.6k
        if (yych <= '\f') goto yy738;
9401
42.0k
        goto yy859;
9402
42.6k
      }
9403
183k
    } else {
9404
38.7k
      if (yych <= '*') {
9405
5.32k
        if (yych <= ')') goto yy738;
9406
1.65k
        goto yy789;
9407
33.4k
      } else {
9408
33.4k
        if (yych == '[') goto yy590;
9409
33.2k
        goto yy738;
9410
33.4k
      }
9411
38.7k
    }
9412
19.1k
yy829:
9413
19.1k
    YYDEBUG(829, *YYCURSOR);
9414
19.1k
    ++YYCURSOR;
9415
19.1k
    YYFILL(1);
9416
19.1k
    yych = *YYCURSOR;
9417
19.1k
    if (yych <= '*') {
9418
16.0k
      if (yych <= 0x00) goto yy86;
9419
15.7k
      if (yych <= ')') goto yy590;
9420
15.1k
      goto yy861;
9421
15.7k
    } else {
9422
3.08k
      if (yych == '/') goto yy738;
9423
1.44k
      goto yy590;
9424
3.08k
    }
9425
9.26k
yy830:
9426
9.26k
    YYDEBUG(830, *YYCURSOR);
9427
9.26k
    yyaccept = 53;
9428
9.26k
    YYMARKER = ++YYCURSOR;
9429
9.26k
    YYFILL(1);
9430
9.26k
    yych = *YYCURSOR;
9431
9.26k
    if (yych <= 0x00) goto yy583;
9432
8.82k
    if (yych == '*') goto yy668;
9433
8.63k
    goto yy590;
9434
12.8k
yy831:
9435
12.8k
    YYDEBUG(831, *YYCURSOR);
9436
12.8k
    yyaccept = 53;
9437
12.8k
    YYMARKER = ++YYCURSOR;
9438
12.8k
    YYFILL(1);
9439
12.8k
    yych = *YYCURSOR;
9440
12.8k
    if (yych <= 'W') {
9441
5.16k
      if (yych <= 0x00) goto yy583;
9442
4.85k
      if (yych == '*') goto yy668;
9443
3.17k
      goto yy590;
9444
7.67k
    } else {
9445
7.67k
      if (yych <= 'X') goto yy862;
9446
6.81k
      if (yych == 'x') goto yy862;
9447
3.45k
      goto yy590;
9448
6.81k
    }
9449
15.1k
yy832:
9450
15.1k
    YYDEBUG(832, *YYCURSOR);
9451
15.1k
    yyaccept = 53;
9452
15.1k
    YYMARKER = ++YYCURSOR;
9453
15.1k
    YYFILL(1);
9454
15.1k
    yych = *YYCURSOR;
9455
15.1k
    if (yych <= 'L') {
9456
920
      if (yych <= 0x00) goto yy583;
9457
683
      if (yych == '*') goto yy668;
9458
492
      goto yy590;
9459
14.2k
    } else {
9460
14.2k
      if (yych <= 'M') goto yy863;
9461
11.2k
      if (yych == 'm') goto yy863;
9462
566
      goto yy590;
9463
11.2k
    }
9464
7.99k
yy833:
9465
7.99k
    YYDEBUG(833, *YYCURSOR);
9466
7.99k
    ++YYCURSOR;
9467
7.99k
    YYFILL(1);
9468
7.99k
    yych = *YYCURSOR;
9469
7.99k
    if (yych <= '\r') {
9470
1.39k
      if (yych <= '\t') {
9471
477
        if (yych <= 0x00) goto yy86;
9472
226
        goto yy586;
9473
922
      } else {
9474
922
        if (yych <= '\n') goto yy495;
9475
782
        if (yych <= '\f') goto yy586;
9476
566
        goto yy495;
9477
782
      }
9478
6.59k
    } else {
9479
6.59k
      if (yych <= 'N') {
9480
3.43k
        if (yych <= 'M') goto yy586;
9481
3.16k
        goto yy864;
9482
3.43k
      } else {
9483
3.15k
        if (yych == 'n') goto yy864;
9484
531
        goto yy586;
9485
3.15k
      }
9486
6.59k
    }
9487
29.3k
yy834:
9488
29.3k
    YYDEBUG(834, *YYCURSOR);
9489
29.3k
    ++YYCURSOR;
9490
29.3k
    YYFILL(1);
9491
29.3k
    yych = *YYCURSOR;
9492
29.3k
    if (yych <= '\r') {
9493
2.36k
      if (yych <= '\t') {
9494
833
        if (yych <= 0x00) goto yy86;
9495
446
        goto yy586;
9496
1.53k
      } else {
9497
1.53k
        if (yych <= '\n') goto yy495;
9498
929
        if (yych <= '\f') goto yy586;
9499
557
        goto yy495;
9500
929
      }
9501
27.0k
    } else {
9502
27.0k
      if (yych <= 'E') {
9503
6.92k
        if (yych <= 'D') goto yy586;
9504
6.37k
        goto yy865;
9505
20.1k
      } else {
9506
20.1k
        if (yych == 'e') goto yy865;
9507
602
        goto yy586;
9508
20.1k
      }
9509
27.0k
    }
9510
5.74k
yy835:
9511
5.74k
    YYDEBUG(835, *YYCURSOR);
9512
5.74k
    yyaccept = 85;
9513
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
9514
5.74k
    if (yybm[256+yych] & 128) {
9515
289
      goto yy47;
9516
289
    }
9517
5.45k
    if (yych == '\\') goto yy164;
9518
5.44k
yy836:
9519
5.44k
    YYDEBUG(836, *YYCURSOR);
9520
5.44k
    yyleng = YYCURSOR - SCNG(yy_text);
9521
5.44k
#line 1583 "Zend/zend_language_scanner.l"
9522
5.44k
    {
9523
5.44k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9524
5.44k
}
9525
0
#line 9526 "Zend/zend_language_scanner.c"
9526
2.67k
yy837:
9527
2.67k
    YYDEBUG(837, *YYCURSOR);
9528
2.67k
    yyaccept = 4;
9529
2.67k
    yych = *(YYMARKER = ++YYCURSOR);
9530
2.67k
    if (yych == 'C') goto yy866;
9531
2.41k
    if (yych == 'c') goto yy866;
9532
691
    goto yy48;
9533
2.81k
yy838:
9534
2.81k
    YYDEBUG(838, *YYCURSOR);
9535
2.81k
    yyaccept = 86;
9536
2.81k
    yych = *(YYMARKER = ++YYCURSOR);
9537
2.81k
    if (yybm[256+yych] & 128) {
9538
502
      goto yy47;
9539
502
    }
9540
2.31k
    if (yych == '\\') goto yy164;
9541
2.31k
yy839:
9542
2.31k
    YYDEBUG(839, *YYCURSOR);
9543
2.31k
    yyleng = YYCURSOR - SCNG(yy_text);
9544
2.31k
#line 1506 "Zend/zend_language_scanner.l"
9545
2.31k
    {
9546
2.31k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9547
2.31k
}
9548
0
#line 9549 "Zend/zend_language_scanner.c"
9549
14.9k
yy840:
9550
14.9k
    YYDEBUG(840, *YYCURSOR);
9551
14.9k
    ++YYCURSOR;
9552
14.9k
    YYFILL(1);
9553
14.9k
    yych = *YYCURSOR;
9554
14.9k
    if (yych <= '_') {
9555
1.36k
      if (yych <= '@') goto yy86;
9556
998
      if (yych <= 'Z') goto yy867;
9557
313
      if (yych <= '^') goto yy86;
9558
66
      goto yy867;
9559
13.5k
    } else {
9560
13.5k
      if (yych <= '`') goto yy86;
9561
13.2k
      if (yych <= 'z') goto yy867;
9562
1.30k
      if (yych <= 0x7F) goto yy86;
9563
1.13k
      goto yy867;
9564
1.30k
    }
9565
860
yy841:
9566
860
    YYDEBUG(841, *YYCURSOR);
9567
860
    yych = *++YYCURSOR;
9568
860
    if (yych == 'T') goto yy870;
9569
784
    if (yych == 't') goto yy870;
9570
369
    goto yy86;
9571
1.14k
yy842:
9572
1.14k
    YYDEBUG(842, *YYCURSOR);
9573
1.14k
    yych = *++YYCURSOR;
9574
1.14k
    if (yych == 'S') goto yy871;
9575
916
    if (yych == 's') goto yy871;
9576
111
    goto yy86;
9577
2.02k
yy843:
9578
2.02k
    YYDEBUG(843, *YYCURSOR);
9579
2.02k
    yych = *++YYCURSOR;
9580
2.02k
    if (yych == ')') goto yy872;
9581
873
    goto yy86;
9582
2.67k
yy844:
9583
2.67k
    YYDEBUG(844, *YYCURSOR);
9584
2.67k
    yyaccept = 4;
9585
2.67k
    yych = *(YYMARKER = ++YYCURSOR);
9586
2.67k
    if (yych == 'C') goto yy874;
9587
2.08k
    if (yych == 'c') goto yy874;
9588
245
    goto yy48;
9589
5.44k
yy845:
9590
5.44k
    YYDEBUG(845, *YYCURSOR);
9591
5.44k
    yych = *++YYCURSOR;
9592
5.44k
    if (yych <= '^') {
9593
3.92k
      if (yych <= '9') {
9594
3.11k
        if (yych <= '/') goto yy875;
9595
357
        goto yy86;
9596
3.11k
      } else {
9597
805
        if (yych <= '@') goto yy875;
9598
166
        if (yych <= 'Z') goto yy86;
9599
75
        goto yy875;
9600
166
      }
9601
3.92k
    } else {
9602
1.52k
      if (yych <= '`') {
9603
655
        if (yych <= '_') goto yy86;
9604
239
        goto yy875;
9605
866
      } else {
9606
866
        if (yych <= 'z') goto yy86;
9607
527
        if (yych <= 0x7F) goto yy875;
9608
308
        goto yy86;
9609
527
      }
9610
1.52k
    }
9611
156k
yy846:
9612
156k
    YYDEBUG(846, *YYCURSOR);
9613
156k
    ++YYCURSOR;
9614
156k
    YYFILL(1);
9615
156k
    yych = *YYCURSOR;
9616
156k
    YYDEBUG(847, *YYCURSOR);
9617
156k
    if (yych <= '#') {
9618
114k
      if (yych <= '\f') {
9619
11.0k
        if (yych <= 0x00) goto yy86;
9620
10.0k
        if (yych <= 0x08) goto yy696;
9621
9.93k
        if (yych <= '\n') goto yy846;
9622
98
        goto yy696;
9623
103k
      } else {
9624
103k
        if (yych <= 0x1F) {
9625
13.9k
          if (yych <= '\r') goto yy846;
9626
439
          goto yy696;
9627
89.6k
        } else {
9628
89.6k
          if (yych <= ' ') goto yy846;
9629
88.0k
          if (yych <= '"') goto yy696;
9630
87.7k
          goto yy877;
9631
88.0k
        }
9632
103k
      }
9633
114k
    } else {
9634
41.5k
      if (yych <= '/') {
9635
26.7k
        if (yych == '*') goto yy760;
9636
25.9k
        if (yych <= '.') goto yy696;
9637
18.6k
        goto yy878;
9638
25.9k
      } else {
9639
14.7k
        if (yych <= 'F') {
9640
10.4k
          if (yych <= 'E') goto yy696;
9641
8.65k
          goto yy879;
9642
10.4k
        } else {
9643
4.29k
          if (yych == 'f') goto yy879;
9644
4.14k
          goto yy696;
9645
4.29k
        }
9646
14.7k
      }
9647
41.5k
    }
9648
29.5k
yy848:
9649
29.5k
    YYDEBUG(848, *YYCURSOR);
9650
29.5k
    ++YYCURSOR;
9651
29.5k
    YYFILL(1);
9652
29.5k
    yych = *YYCURSOR;
9653
29.5k
    YYDEBUG(849, *YYCURSOR);
9654
29.5k
    if (yych <= '\r') {
9655
8.16k
      if (yych <= '\t') {
9656
2.39k
        if (yych <= 0x00) goto yy86;
9657
2.23k
        goto yy808;
9658
5.77k
      } else {
9659
5.77k
        if (yych <= '\n') goto yy846;
9660
2.79k
        if (yych <= '\f') goto yy808;
9661
2.26k
        goto yy846;
9662
2.79k
      }
9663
21.3k
    } else {
9664
21.3k
      if (yych <= '*') {
9665
8.21k
        if (yych <= ')') goto yy808;
9666
3.42k
        goto yy848;
9667
13.1k
      } else {
9668
13.1k
        if (yych == '/') goto yy694;
9669
4.43k
        goto yy808;
9670
13.1k
      }
9671
21.3k
    }
9672
13.3k
yy850:
9673
13.3k
    YYDEBUG(850, *YYCURSOR);
9674
13.3k
    ++YYCURSOR;
9675
13.3k
    YYFILL(1);
9676
13.3k
    yych = *YYCURSOR;
9677
13.3k
    if (yych <= '\r') {
9678
4.62k
      if (yych <= '\t') {
9679
872
        if (yych <= 0x00) goto yy86;
9680
437
        goto yy692;
9681
3.75k
      } else {
9682
3.75k
        if (yych <= '\n') goto yy616;
9683
2.10k
        if (yych <= '\f') goto yy692;
9684
738
        goto yy616;
9685
2.10k
      }
9686
8.69k
    } else {
9687
8.69k
      if (yych <= 'M') {
9688
6.67k
        if (yych <= 'L') goto yy692;
9689
6.14k
        goto yy880;
9690
6.67k
      } else {
9691
2.01k
        if (yych == 'm') goto yy880;
9692
310
        goto yy692;
9693
2.01k
      }
9694
8.69k
    }
9695
5.40k
yy851:
9696
5.40k
    YYDEBUG(851, *YYCURSOR);
9697
5.40k
    yyaccept = 4;
9698
5.40k
    yych = *(YYMARKER = ++YYCURSOR);
9699
5.40k
    if (yych == '_') goto yy881;
9700
267
    goto yy48;
9701
3.81k
yy852:
9702
3.81k
    YYDEBUG(852, *YYCURSOR);
9703
3.81k
    yyaccept = 4;
9704
3.81k
    yych = *(YYMARKER = ++YYCURSOR);
9705
3.81k
    if (yych == 'P') goto yy882;
9706
3.12k
    if (yych == 'p') goto yy882;
9707
421
    goto yy48;
9708
9.77k
yy853:
9709
9.77k
    YYDEBUG(853, *YYCURSOR);
9710
9.77k
    yyaccept = 87;
9711
9.77k
    yych = *(YYMARKER = ++YYCURSOR);
9712
9.77k
    if (yybm[256+yych] & 128) {
9713
433
      goto yy47;
9714
433
    }
9715
9.34k
    if (yych == '\\') goto yy164;
9716
9.34k
yy854:
9717
9.34k
    YYDEBUG(854, *YYCURSOR);
9718
9.34k
    yyleng = YYCURSOR - SCNG(yy_text);
9719
9.34k
#line 2269 "Zend/zend_language_scanner.l"
9720
9.34k
    {
9721
9.34k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9722
9.34k
}
9723
0
#line 9724 "Zend/zend_language_scanner.c"
9724
4.27k
yy855:
9725
4.27k
    YYDEBUG(855, *YYCURSOR);
9726
4.27k
    yyaccept = 4;
9727
4.27k
    yych = *(YYMARKER = ++YYCURSOR);
9728
4.27k
    if (yych == 'E') goto yy883;
9729
2.67k
    if (yych == 'e') goto yy883;
9730
325
    goto yy48;
9731
1.69k
yy856:
9732
1.69k
    YYDEBUG(856, *YYCURSOR);
9733
1.69k
    yyaccept = 4;
9734
1.69k
    yych = *(YYMARKER = ++YYCURSOR);
9735
1.69k
    if (yych == '_') goto yy884;
9736
488
    goto yy48;
9737
1.35k
yy857:
9738
1.35k
    YYDEBUG(857, *YYCURSOR);
9739
1.35k
    yych = *++YYCURSOR;
9740
1.35k
    if (yych == 'S') goto yy885;
9741
1.01k
    if (yych == 's') goto yy885;
9742
777
    goto yy86;
9743
2.58k
yy858:
9744
2.58k
    YYDEBUG(858, *YYCURSOR);
9745
2.58k
    yych = *++YYCURSOR;
9746
2.58k
    if (yych == 'E') goto yy887;
9747
2.15k
    if (yych == 'e') goto yy887;
9748
752
    goto yy86;
9749
241k
yy859:
9750
241k
    YYDEBUG(859, *YYCURSOR);
9751
241k
    ++YYCURSOR;
9752
241k
    YYFILL(1);
9753
241k
    yych = *YYCURSOR;
9754
241k
    YYDEBUG(860, *YYCURSOR);
9755
241k
    if (yych <= '@') {
9756
102k
      if (yych <= 0x1F) {
9757
22.2k
        if (yych <= '\t') {
9758
4.82k
          if (yych <= 0x00) goto yy86;
9759
4.37k
          if (yych <= 0x08) goto yy738;
9760
3.14k
          goto yy859;
9761
17.4k
        } else {
9762
17.4k
          if (yych <= '\n') goto yy787;
9763
16.2k
          if (yych == '\r') goto yy787;
9764
997
          goto yy738;
9765
16.2k
        }
9766
80.3k
      } else {
9767
80.3k
        if (yych <= ')') {
9768
39.9k
          if (yych <= ' ') goto yy859;
9769
21.1k
          if (yych == '#') goto yy888;
9770
3.63k
          goto yy738;
9771
40.3k
        } else {
9772
40.3k
          if (yych <= '*') goto yy789;
9773
40.0k
          if (yych == '/') goto yy889;
9774
3.20k
          goto yy738;
9775
40.0k
        }
9776
80.3k
      }
9777
138k
    } else {
9778
138k
      if (yych <= '_') {
9779
9.89k
        if (yych <= 'H') {
9780
1.38k
          if (yych == 'E') goto yy891;
9781
995
          goto yy890;
9782
8.50k
        } else {
9783
8.50k
          if (yych <= 'I') goto yy892;
9784
2.24k
          if (yych <= 'Z') goto yy890;
9785
1.16k
          if (yych <= '^') goto yy738;
9786
273
          goto yy890;
9787
1.16k
        }
9788
129k
      } else {
9789
129k
        if (yych <= 'h') {
9790
89.0k
          if (yych <= '`') goto yy738;
9791
87.7k
          if (yych == 'e') goto yy891;
9792
1.93k
          goto yy890;
9793
87.7k
        } else {
9794
40.0k
          if (yych <= 'i') goto yy892;
9795
14.0k
          if (yych <= 'z') goto yy890;
9796
11.0k
          if (yych <= 0x7F) goto yy738;
9797
7.37k
          goto yy890;
9798
11.0k
        }
9799
129k
      }
9800
138k
    }
9801
15.1k
yy861:
9802
15.1k
    YYDEBUG(861, *YYCURSOR);
9803
15.1k
    ++YYCURSOR;
9804
15.1k
    YYFILL(1);
9805
15.1k
    yych = *YYCURSOR;
9806
15.1k
    if (yych <= '*') {
9807
1.38k
      if (yych <= 0x00) goto yy86;
9808
1.01k
      if (yych <= ')') goto yy590;
9809
163
      goto yy668;
9810
13.7k
    } else {
9811
13.7k
      if (yych == '/') goto yy787;
9812
549
      goto yy590;
9813
13.7k
    }
9814
4.21k
yy862:
9815
4.21k
    YYDEBUG(862, *YYCURSOR);
9816
4.21k
    ++YYCURSOR;
9817
4.21k
    YYFILL(1);
9818
4.21k
    yych = *YYCURSOR;
9819
4.21k
    if (yych <= 'S') {
9820
548
      if (yych <= 0x00) goto yy86;
9821
395
      if (yych == '*') goto yy668;
9822
321
      goto yy590;
9823
3.67k
    } else {
9824
3.67k
      if (yych <= 'T') goto yy893;
9825
2.95k
      if (yych == 't') goto yy893;
9826
483
      goto yy590;
9827
2.95k
    }
9828
13.6k
yy863:
9829
13.6k
    YYDEBUG(863, *YYCURSOR);
9830
13.6k
    ++YYCURSOR;
9831
13.6k
    YYFILL(1);
9832
13.6k
    yych = *YYCURSOR;
9833
13.6k
    if (yych <= 'O') {
9834
743
      if (yych <= 0x00) goto yy86;
9835
580
      if (yych == '*') goto yy668;
9836
307
      goto yy590;
9837
12.9k
    } else {
9838
12.9k
      if (yych <= 'P') goto yy894;
9839
10.6k
      if (yych == 'p') goto yy894;
9840
87
      goto yy590;
9841
10.6k
    }
9842
5.78k
yy864:
9843
5.78k
    YYDEBUG(864, *YYCURSOR);
9844
5.78k
    ++YYCURSOR;
9845
5.78k
    YYFILL(1);
9846
5.78k
    yych = *YYCURSOR;
9847
5.78k
    if (yych <= '\r') {
9848
1.50k
      if (yych <= '\t') {
9849
364
        if (yych <= 0x00) goto yy86;
9850
253
        goto yy586;
9851
1.14k
      } else {
9852
1.14k
        if (yych <= '\n') goto yy495;
9853
977
        if (yych <= '\f') goto yy586;
9854
911
        goto yy495;
9855
977
      }
9856
4.28k
    } else {
9857
4.28k
      if (yych <= 'D') {
9858
1.24k
        if (yych <= 'C') goto yy586;
9859
772
        goto yy895;
9860
3.03k
      } else {
9861
3.03k
        if (yych == 'd') goto yy895;
9862
1.72k
        goto yy586;
9863
3.03k
      }
9864
4.28k
    }
9865
25.8k
yy865:
9866
25.8k
    YYDEBUG(865, *YYCURSOR);
9867
25.8k
    ++YYCURSOR;
9868
25.8k
    YYFILL(1);
9869
25.8k
    yych = *YYCURSOR;
9870
25.8k
    if (yych <= '\r') {
9871
1.63k
      if (yych <= '\t') {
9872
802
        if (yych <= 0x00) goto yy86;
9873
257
        goto yy586;
9874
837
      } else {
9875
837
        if (yych <= '\n') goto yy495;
9876
332
        if (yych <= '\f') goto yy586;
9877
252
        goto yy495;
9878
332
      }
9879
24.2k
    } else {
9880
24.2k
      if (yych <= 'M') {
9881
8.90k
        if (yych <= 'L') goto yy586;
9882
5.93k
        goto yy896;
9883
15.3k
      } else {
9884
15.3k
        if (yych == 'm') goto yy896;
9885
4.53k
        goto yy586;
9886
15.3k
      }
9887
24.2k
    }
9888
1.98k
yy866:
9889
1.98k
    YYDEBUG(866, *YYCURSOR);
9890
1.98k
    yyaccept = 4;
9891
1.98k
    yych = *(YYMARKER = ++YYCURSOR);
9892
1.98k
    if (yych == 'E') goto yy897;
9893
1.71k
    if (yych == 'e') goto yy897;
9894
335
    goto yy48;
9895
87.6k
yy867:
9896
87.6k
    YYDEBUG(867, *YYCURSOR);
9897
87.6k
    yyaccept = 88;
9898
87.6k
    YYMARKER = ++YYCURSOR;
9899
87.6k
    YYFILL(1);
9900
87.6k
    yych = *YYCURSOR;
9901
87.6k
    YYDEBUG(868, *YYCURSOR);
9902
87.6k
    if (yych <= '\\') {
9903
15.5k
      if (yych <= '@') {
9904
12.5k
        if (yych <= '/') goto yy869;
9905
11.1k
        if (yych <= '9') goto yy867;
9906
11.1k
      } else {
9907
2.97k
        if (yych <= 'Z') goto yy867;
9908
1.44k
        if (yych >= '\\') goto yy840;
9909
1.44k
      }
9910
72.1k
    } else {
9911
72.1k
      if (yych <= '`') {
9912
1.23k
        if (yych == '_') goto yy867;
9913
70.8k
      } else {
9914
70.8k
        if (yych <= 'z') goto yy867;
9915
14.7k
        if (yych >= 0x80) goto yy867;
9916
14.7k
      }
9917
72.1k
    }
9918
13.3k
yy869:
9919
13.3k
    YYDEBUG(869, *YYCURSOR);
9920
13.3k
    yyleng = YYCURSOR - SCNG(yy_text);
9921
13.3k
#line 2439 "Zend/zend_language_scanner.l"
9922
13.3k
    {
9923
13.3k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9924
13.3k
}
9925
0
#line 9926 "Zend/zend_language_scanner.c"
9926
491
yy870:
9927
491
    YYDEBUG(870, *YYCURSOR);
9928
491
    yych = *++YYCURSOR;
9929
491
    if (yych == ')') goto yy899;
9930
90
    goto yy86;
9931
1.03k
yy871:
9932
1.03k
    YYDEBUG(871, *YYCURSOR);
9933
1.03k
    yych = *++YYCURSOR;
9934
1.03k
    if (yych == 'E') goto yy901;
9935
554
    if (yych == 'e') goto yy901;
9936
95
    goto yy86;
9937
1.15k
yy872:
9938
1.15k
    YYDEBUG(872, *YYCURSOR);
9939
1.15k
    ++YYCURSOR;
9940
1.15k
    YYDEBUG(873, *YYCURSOR);
9941
1.15k
    yyleng = YYCURSOR - SCNG(yy_text);
9942
1.15k
#line 1786 "Zend/zend_language_scanner.l"
9943
1.15k
    {
9944
1.15k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9945
1.15k
}
9946
0
#line 9947 "Zend/zend_language_scanner.c"
9947
2.42k
yy874:
9948
2.42k
    YYDEBUG(874, *YYCURSOR);
9949
2.42k
    yyaccept = 4;
9950
2.42k
    yych = *(YYMARKER = ++YYCURSOR);
9951
2.42k
    if (yych == 'E') goto yy902;
9952
1.81k
    if (yych == 'e') goto yy902;
9953
669
    goto yy48;
9954
4.61k
yy875:
9955
4.61k
    YYDEBUG(875, *YYCURSOR);
9956
4.61k
    ++YYCURSOR;
9957
19.4k
yy876:
9958
19.4k
    YYDEBUG(876, *YYCURSOR);
9959
19.4k
    yyleng = YYCURSOR - SCNG(yy_text);
9960
19.4k
#line 1428 "Zend/zend_language_scanner.l"
9961
19.4k
    {
9962
19.4k
  yyless(yyleng - 1);
9963
19.4k
  HANDLE_NEWLINES(yytext, yyleng);
9964
19.4k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9965
19.4k
}
9966
0
#line 9967 "Zend/zend_language_scanner.c"
9967
88.0k
yy877:
9968
88.0k
    YYDEBUG(877, *YYCURSOR);
9969
88.0k
    ++YYCURSOR;
9970
88.0k
    YYFILL(1);
9971
88.0k
    yych = *YYCURSOR;
9972
88.0k
    if (yych <= '\r') {
9973
69.5k
      if (yych <= '\t') {
9974
1.18k
        if (yych <= 0x00) goto yy86;
9975
993
        goto yy808;
9976
68.3k
      } else {
9977
68.3k
        if (yych <= '\n') goto yy904;
9978
35.4k
        if (yych <= '\f') goto yy808;
9979
35.1k
        goto yy904;
9980
35.4k
      }
9981
69.5k
    } else {
9982
18.5k
      if (yych <= '*') {
9983
4.97k
        if (yych <= ')') goto yy808;
9984
1.47k
        goto yy848;
9985
13.5k
      } else {
9986
13.5k
        if (yych == '[') goto yy696;
9987
13.3k
        goto yy808;
9988
13.5k
      }
9989
18.5k
    }
9990
18.8k
yy878:
9991
18.8k
    YYDEBUG(878, *YYCURSOR);
9992
18.8k
    ++YYCURSOR;
9993
18.8k
    YYFILL(1);
9994
18.8k
    yych = *YYCURSOR;
9995
18.8k
    if (yych <= '*') {
9996
17.2k
      if (yych <= 0x00) goto yy86;
9997
17.0k
      if (yych <= ')') goto yy696;
9998
16.5k
      goto yy906;
9999
17.0k
    } else {
10000
1.55k
      if (yych == '/') goto yy808;
10001
853
      goto yy696;
10002
1.55k
    }
10003
9.07k
yy879:
10004
9.07k
    YYDEBUG(879, *YYCURSOR);
10005
9.07k
    ++YYCURSOR;
10006
9.07k
    YYFILL(1);
10007
9.07k
    yych = *YYCURSOR;
10008
9.07k
    if (yych <= 'Q') {
10009
1.93k
      if (yych <= 0x00) goto yy86;
10010
1.65k
      if (yych == '*') goto yy760;
10011
1.42k
      goto yy696;
10012
7.13k
    } else {
10013
7.13k
      if (yych <= 'R') goto yy907;
10014
319
      if (yych == 'r') goto yy907;
10015
218
      goto yy696;
10016
319
    }
10017
7.85k
yy880:
10018
7.85k
    YYDEBUG(880, *YYCURSOR);
10019
7.85k
    ++YYCURSOR;
10020
7.85k
    YYFILL(1);
10021
7.85k
    yych = *YYCURSOR;
10022
7.85k
    if (yych <= '9') {
10023
4.66k
      if (yych <= '\n') {
10024
2.17k
        if (yych <= 0x00) goto yy875;
10025
1.95k
        if (yych <= '\t') goto yy908;
10026
1.24k
        goto yy909;
10027
2.49k
      } else {
10028
2.49k
        if (yych == '\r') goto yy909;
10029
1.57k
        if (yych <= '/') goto yy908;
10030
269
        goto yy692;
10031
1.57k
      }
10032
4.66k
    } else {
10033
3.18k
      if (yych <= '_') {
10034
879
        if (yych <= '@') goto yy908;
10035
741
        if (yych <= 'Z') goto yy692;
10036
572
        if (yych <= '^') goto yy908;
10037
251
        goto yy692;
10038
2.30k
      } else {
10039
2.30k
        if (yych <= '`') goto yy908;
10040
2.12k
        if (yych <= 'z') goto yy692;
10041
1.07k
        if (yych <= 0x7F) goto yy908;
10042
509
        goto yy692;
10043
1.07k
      }
10044
3.18k
    }
10045
5.14k
yy881:
10046
5.14k
    YYDEBUG(881, *YYCURSOR);
10047
5.14k
    yyaccept = 4;
10048
5.14k
    yych = *(YYMARKER = ++YYCURSOR);
10049
5.14k
    if (yych == '_') goto yy910;
10050
437
    goto yy48;
10051
3.39k
yy882:
10052
3.39k
    YYDEBUG(882, *YYCURSOR);
10053
3.39k
    yyaccept = 4;
10054
3.39k
    yych = *(YYMARKER = ++YYCURSOR);
10055
3.39k
    if (yych == 'I') goto yy912;
10056
2.84k
    if (yych == 'i') goto yy912;
10057
259
    goto yy48;
10058
3.95k
yy883:
10059
3.95k
    YYDEBUG(883, *YYCURSOR);
10060
3.95k
    yyaccept = 4;
10061
3.95k
    yych = *(YYMARKER = ++YYCURSOR);
10062
3.95k
    if (yych == '_') goto yy913;
10063
475
    goto yy48;
10064
1.20k
yy884:
10065
1.20k
    YYDEBUG(884, *YYCURSOR);
10066
1.20k
    yyaccept = 4;
10067
1.20k
    yych = *(YYMARKER = ++YYCURSOR);
10068
1.20k
    if (yych == '_') goto yy914;
10069
138
    goto yy48;
10070
575
yy885:
10071
575
    YYDEBUG(885, *YYCURSOR);
10072
575
    ++YYCURSOR;
10073
3.54k
yy886:
10074
3.54k
    YYDEBUG(886, *YYCURSOR);
10075
3.54k
    yyleng = YYCURSOR - SCNG(yy_text);
10076
3.54k
#line 1570 "Zend/zend_language_scanner.l"
10077
3.54k
    {
10078
3.54k
  yyless(4);
10079
3.54k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10080
3.54k
}
10081
0
#line 10082 "Zend/zend_language_scanner.c"
10082
1.83k
yy887:
10083
1.83k
    YYDEBUG(887, *YYCURSOR);
10084
1.83k
    yych = *++YYCURSOR;
10085
1.83k
    if (yych == 'N') goto yy916;
10086
1.53k
    if (yych == 'n') goto yy916;
10087
929
    goto yy86;
10088
17.4k
yy888:
10089
17.4k
    YYDEBUG(888, *YYCURSOR);
10090
17.4k
    ++YYCURSOR;
10091
17.4k
    YYFILL(1);
10092
17.4k
    yych = *YYCURSOR;
10093
17.4k
    if (yych <= '\f') {
10094
5.80k
      if (yych <= 0x00) goto yy86;
10095
5.61k
      if (yych == '\n') goto yy859;
10096
248
      goto yy738;
10097
11.6k
    } else {
10098
11.6k
      if (yych <= '\r') goto yy859;
10099
3.31k
      if (yych == '*') goto yy789;
10100
3.06k
      goto yy738;
10101
3.31k
    }
10102
36.8k
yy889:
10103
36.8k
    YYDEBUG(889, *YYCURSOR);
10104
36.8k
    ++YYCURSOR;
10105
36.8k
    YYFILL(1);
10106
36.8k
    yych = *YYCURSOR;
10107
36.8k
    if (yych <= '\f') {
10108
940
      if (yych <= 0x00) goto yy86;
10109
413
      if (yych == '\n') goto yy787;
10110
162
      goto yy738;
10111
35.8k
    } else {
10112
35.8k
      if (yych <= '\r') goto yy787;
10113
34.7k
      if (yych == '*') goto yy917;
10114
1.61k
      goto yy738;
10115
34.7k
    }
10116
14.6k
yy890:
10117
14.6k
    YYDEBUG(890, *YYCURSOR);
10118
14.6k
    yyaccept = 53;
10119
14.6k
    YYMARKER = ++YYCURSOR;
10120
14.6k
    YYFILL(1);
10121
14.6k
    yych = *YYCURSOR;
10122
14.6k
    if (yych <= '\f') {
10123
1.82k
      if (yych <= 0x00) goto yy583;
10124
1.48k
      if (yych == '\n') goto yy787;
10125
1.13k
      goto yy738;
10126
12.8k
    } else {
10127
12.8k
      if (yych <= '\r') goto yy787;
10128
12.2k
      if (yych == '*') goto yy789;
10129
11.5k
      goto yy738;
10130
12.2k
    }
10131
86.2k
yy891:
10132
86.2k
    YYDEBUG(891, *YYCURSOR);
10133
86.2k
    yyaccept = 53;
10134
86.2k
    YYMARKER = ++YYCURSOR;
10135
86.2k
    YYFILL(1);
10136
86.2k
    yych = *YYCURSOR;
10137
86.2k
    if (yych <= ')') {
10138
22.0k
      if (yych <= '\n') {
10139
4.71k
        if (yych <= 0x00) goto yy583;
10140
4.59k
        if (yych <= '\t') goto yy738;
10141
413
        goto yy787;
10142
17.3k
      } else {
10143
17.3k
        if (yych == '\r') goto yy787;
10144
16.9k
        goto yy738;
10145
17.3k
      }
10146
64.1k
    } else {
10147
64.1k
      if (yych <= 'X') {
10148
17.9k
        if (yych <= '*') goto yy789;
10149
17.8k
        if (yych <= 'W') goto yy738;
10150
6.13k
        goto yy918;
10151
46.2k
      } else {
10152
46.2k
        if (yych == 'x') goto yy918;
10153
33.2k
        goto yy738;
10154
46.2k
      }
10155
64.1k
    }
10156
32.2k
yy892:
10157
32.2k
    YYDEBUG(892, *YYCURSOR);
10158
32.2k
    yyaccept = 53;
10159
32.2k
    YYMARKER = ++YYCURSOR;
10160
32.2k
    YYFILL(1);
10161
32.2k
    yych = *YYCURSOR;
10162
32.2k
    if (yych <= ')') {
10163
1.70k
      if (yych <= '\n') {
10164
995
        if (yych <= 0x00) goto yy583;
10165
712
        if (yych <= '\t') goto yy738;
10166
454
        goto yy787;
10167
712
      } else {
10168
707
        if (yych == '\r') goto yy787;
10169
338
        goto yy738;
10170
707
      }
10171
30.5k
    } else {
10172
30.5k
      if (yych <= 'M') {
10173
5.86k
        if (yych <= '*') goto yy789;
10174
5.44k
        if (yych <= 'L') goto yy738;
10175
4.97k
        goto yy919;
10176
24.6k
      } else {
10177
24.6k
        if (yych == 'm') goto yy919;
10178
960
        goto yy738;
10179
24.6k
      }
10180
30.5k
    }
10181
3.18k
yy893:
10182
3.18k
    YYDEBUG(893, *YYCURSOR);
10183
3.18k
    ++YYCURSOR;
10184
3.18k
    YYFILL(1);
10185
3.18k
    yych = *YYCURSOR;
10186
3.18k
    if (yych <= 'D') {
10187
524
      if (yych <= 0x00) goto yy86;
10188
370
      if (yych == '*') goto yy668;
10189
281
      goto yy590;
10190
2.66k
    } else {
10191
2.66k
      if (yych <= 'E') goto yy920;
10192
2.47k
      if (yych == 'e') goto yy920;
10193
68
      goto yy590;
10194
2.47k
    }
10195
12.8k
yy894:
10196
12.8k
    YYDEBUG(894, *YYCURSOR);
10197
12.8k
    ++YYCURSOR;
10198
12.8k
    YYFILL(1);
10199
12.8k
    yych = *YYCURSOR;
10200
12.8k
    if (yych <= 'K') {
10201
3.27k
      if (yych <= 0x00) goto yy86;
10202
2.45k
      if (yych == '*') goto yy668;
10203
2.16k
      goto yy590;
10204
9.58k
    } else {
10205
9.58k
      if (yych <= 'L') goto yy921;
10206
7.49k
      if (yych == 'l') goto yy921;
10207
250
      goto yy590;
10208
7.49k
    }
10209
5.22k
yy895:
10210
5.22k
    YYDEBUG(895, *YYCURSOR);
10211
5.22k
    ++YYCURSOR;
10212
5.22k
    YYFILL(1);
10213
5.22k
    yych = *YYCURSOR;
10214
5.22k
    if (yych <= '\r') {
10215
1.45k
      if (yych <= '\t') {
10216
911
        if (yych <= 0x00) goto yy86;
10217
274
        goto yy586;
10218
911
      } else {
10219
543
        if (yych <= '\n') goto yy495;
10220
475
        if (yych <= '\f') goto yy586;
10221
58
        goto yy495;
10222
475
      }
10223
3.77k
    } else {
10224
3.77k
      if (yych <= 'S') {
10225
1.02k
        if (yych <= 'R') goto yy586;
10226
336
        goto yy922;
10227
2.74k
      } else {
10228
2.74k
        if (yych == 's') goto yy922;
10229
248
        goto yy586;
10230
2.74k
      }
10231
3.77k
    }
10232
16.7k
yy896:
10233
16.7k
    YYDEBUG(896, *YYCURSOR);
10234
16.7k
    ++YYCURSOR;
10235
16.7k
    YYFILL(1);
10236
16.7k
    yych = *YYCURSOR;
10237
16.7k
    if (yych <= '\r') {
10238
1.28k
      if (yych <= '\t') {
10239
496
        if (yych <= 0x00) goto yy86;
10240
95
        goto yy586;
10241
792
      } else {
10242
792
        if (yych <= '\n') goto yy495;
10243
445
        if (yych <= '\f') goto yy586;
10244
264
        goto yy495;
10245
445
      }
10246
15.4k
    } else {
10247
15.4k
      if (yych <= 'E') {
10248
5.12k
        if (yych <= 'D') goto yy586;
10249
4.61k
        goto yy923;
10250
10.3k
      } else {
10251
10.3k
        if (yych == 'e') goto yy923;
10252
640
        goto yy586;
10253
10.3k
      }
10254
15.4k
    }
10255
1.65k
yy897:
10256
1.65k
    YYDEBUG(897, *YYCURSOR);
10257
1.65k
    yyaccept = 89;
10258
1.65k
    yych = *(YYMARKER = ++YYCURSOR);
10259
1.65k
    if (yybm[256+yych] & 128) {
10260
355
      goto yy47;
10261
355
    }
10262
1.29k
    if (yych == '\\') goto yy164;
10263
1.29k
yy898:
10264
1.29k
    YYDEBUG(898, *YYCURSOR);
10265
1.29k
    yyleng = YYCURSOR - SCNG(yy_text);
10266
1.29k
#line 1726 "Zend/zend_language_scanner.l"
10267
1.29k
    {
10268
1.29k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10269
1.29k
}
10270
0
#line 10271 "Zend/zend_language_scanner.c"
10271
401
yy899:
10272
401
    YYDEBUG(899, *YYCURSOR);
10273
401
    ++YYCURSOR;
10274
401
    YYDEBUG(900, *YYCURSOR);
10275
401
    yyleng = YYCURSOR - SCNG(yy_text);
10276
401
#line 1794 "Zend/zend_language_scanner.l"
10277
401
    {
10278
401
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10279
401
}
10280
0
#line 10281 "Zend/zend_language_scanner.c"
10281
943
yy901:
10282
943
    YYDEBUG(901, *YYCURSOR);
10283
943
    yych = *++YYCURSOR;
10284
943
    if (yych == 'T') goto yy924;
10285
668
    if (yych == 't') goto yy924;
10286
236
    goto yy86;
10287
1.75k
yy902:
10288
1.75k
    YYDEBUG(902, *YYCURSOR);
10289
1.75k
    yyaccept = 90;
10290
1.75k
    yych = *(YYMARKER = ++YYCURSOR);
10291
1.75k
    if (yybm[256+yych] & 128) {
10292
550
      goto yy47;
10293
550
    }
10294
1.20k
    if (yych == '\\') goto yy164;
10295
1.20k
yy903:
10296
1.20k
    YYDEBUG(903, *YYCURSOR);
10297
1.20k
    yyleng = YYCURSOR - SCNG(yy_text);
10298
1.20k
#line 1734 "Zend/zend_language_scanner.l"
10299
1.20k
    {
10300
1.20k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10301
1.20k
}
10302
0
#line 10303 "Zend/zend_language_scanner.c"
10303
89.3k
yy904:
10304
89.3k
    YYDEBUG(904, *YYCURSOR);
10305
89.3k
    ++YYCURSOR;
10306
89.3k
    YYFILL(1);
10307
89.3k
    yych = *YYCURSOR;
10308
89.3k
    YYDEBUG(905, *YYCURSOR);
10309
89.3k
    if (yych <= '"') {
10310
13.9k
      if (yych <= '\n') {
10311
3.51k
        if (yych <= 0x00) goto yy86;
10312
2.89k
        if (yych <= 0x08) goto yy808;
10313
2.28k
        if (yych <= '\t') goto yy904;
10314
1.32k
        goto yy846;
10315
10.4k
      } else {
10316
10.4k
        if (yych <= '\r') {
10317
8.56k
          if (yych <= '\f') goto yy808;
10318
8.35k
          goto yy846;
10319
8.56k
        } else {
10320
1.85k
          if (yych == ' ') goto yy904;
10321
656
          goto yy808;
10322
1.85k
        }
10323
10.4k
      }
10324
75.4k
    } else {
10325
75.4k
      if (yych <= '/') {
10326
36.1k
        if (yych <= ')') {
10327
9.03k
          if (yych <= '#') goto yy925;
10328
2.31k
          goto yy808;
10329
27.1k
        } else {
10330
27.1k
          if (yych <= '*') goto yy848;
10331
26.6k
          if (yych <= '.') goto yy808;
10332
25.2k
          goto yy926;
10333
26.6k
        }
10334
39.2k
      } else {
10335
39.2k
        if (yych <= 'F') {
10336
22.0k
          if (yych <= 'E') goto yy808;
10337
20.1k
          goto yy927;
10338
22.0k
        } else {
10339
17.2k
          if (yych == 'f') goto yy927;
10340
16.9k
          goto yy808;
10341
17.2k
        }
10342
39.2k
      }
10343
75.4k
    }
10344
16.5k
yy906:
10345
16.5k
    YYDEBUG(906, *YYCURSOR);
10346
16.5k
    ++YYCURSOR;
10347
16.5k
    YYFILL(1);
10348
16.5k
    yych = *YYCURSOR;
10349
16.5k
    if (yych <= '*') {
10350
2.01k
      if (yych <= 0x00) goto yy86;
10351
1.75k
      if (yych <= ')') goto yy696;
10352
227
      goto yy760;
10353
14.5k
    } else {
10354
14.5k
      if (yych == '/') goto yy846;
10355
507
      goto yy696;
10356
14.5k
    }
10357
6.91k
yy907:
10358
6.91k
    YYDEBUG(907, *YYCURSOR);
10359
6.91k
    ++YYCURSOR;
10360
6.91k
    YYFILL(1);
10361
6.91k
    yych = *YYCURSOR;
10362
6.91k
    if (yych <= 'N') {
10363
655
      if (yych <= 0x00) goto yy86;
10364
586
      if (yych == '*') goto yy760;
10365
548
      goto yy696;
10366
6.25k
    } else {
10367
6.25k
      if (yych <= 'O') goto yy928;
10368
1.32k
      if (yych == 'o') goto yy928;
10369
213
      goto yy696;
10370
1.32k
    }
10371
3.22k
yy908:
10372
3.22k
    YYDEBUG(908, *YYCURSOR);
10373
3.22k
    yyaccept = 91;
10374
3.22k
    YYMARKER = ++YYCURSOR;
10375
3.22k
    YYFILL(1);
10376
3.22k
    yych = *YYCURSOR;
10377
3.22k
    if (yych <= '\n') {
10378
1.59k
      if (yych <= 0x00) goto yy876;
10379
1.34k
      if (yych <= '\t') goto yy692;
10380
1.10k
      goto yy616;
10381
1.62k
    } else {
10382
1.62k
      if (yych == '\r') goto yy616;
10383
1.30k
      goto yy692;
10384
1.62k
    }
10385
2.16k
yy909:
10386
2.16k
    YYDEBUG(909, *YYCURSOR);
10387
2.16k
    yyaccept = 91;
10388
2.16k
    YYMARKER = ++YYCURSOR;
10389
2.16k
    YYFILL(5);
10390
2.16k
    yych = *YYCURSOR;
10391
2.16k
    if (yych <= '"') {
10392
1.15k
      if (yych <= '\f') {
10393
606
        if (yych <= 0x08) goto yy876;
10394
539
        if (yych <= '\n') goto yy616;
10395
196
        goto yy876;
10396
546
      } else {
10397
546
        if (yych <= '\r') goto yy616;
10398
445
        if (yych == ' ') goto yy616;
10399
236
        goto yy876;
10400
445
      }
10401
1.15k
    } else {
10402
1.00k
      if (yych <= 'E') {
10403
868
        if (yych <= '#') goto yy618;
10404
651
        if (yych == '/') goto yy619;
10405
335
        goto yy876;
10406
651
      } else {
10407
140
        if (yych <= 'F') goto yy691;
10408
98
        if (yych == 'f') goto yy691;
10409
80
        goto yy876;
10410
98
      }
10411
1.00k
    }
10412
4.70k
yy910:
10413
4.70k
    YYDEBUG(910, *YYCURSOR);
10414
4.70k
    yyaccept = 92;
10415
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
10416
4.70k
    if (yybm[256+yych] & 128) {
10417
1.06k
      goto yy47;
10418
1.06k
    }
10419
3.64k
    if (yych == '\\') goto yy164;
10420
3.63k
yy911:
10421
3.63k
    YYDEBUG(911, *YYCURSOR);
10422
3.63k
    yyleng = YYCURSOR - SCNG(yy_text);
10423
3.63k
#line 2261 "Zend/zend_language_scanner.l"
10424
3.63k
    {
10425
3.63k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10426
3.63k
}
10427
0
#line 10428 "Zend/zend_language_scanner.c"
10428
3.13k
yy912:
10429
3.13k
    YYDEBUG(912, *YYCURSOR);
10430
3.13k
    yyaccept = 4;
10431
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
10432
3.13k
    if (yych == 'L') goto yy929;
10433
2.93k
    if (yych == 'l') goto yy929;
10434
741
    goto yy48;
10435
3.47k
yy913:
10436
3.47k
    YYDEBUG(913, *YYCURSOR);
10437
3.47k
    yyaccept = 4;
10438
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
10439
3.47k
    if (yych == '_') goto yy930;
10440
734
    goto yy48;
10441
1.06k
yy914:
10442
1.06k
    YYDEBUG(914, *YYCURSOR);
10443
1.06k
    yyaccept = 93;
10444
1.06k
    yych = *(YYMARKER = ++YYCURSOR);
10445
1.06k
    if (yybm[256+yych] & 128) {
10446
228
      goto yy47;
10447
228
    }
10448
838
    if (yych == '\\') goto yy164;
10449
838
yy915:
10450
838
    YYDEBUG(915, *YYCURSOR);
10451
838
    yyleng = YYCURSOR - SCNG(yy_text);
10452
838
#line 2265 "Zend/zend_language_scanner.l"
10453
838
    {
10454
838
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10455
838
}
10456
0
#line 10457 "Zend/zend_language_scanner.c"
10457
903
yy916:
10458
903
    YYDEBUG(916, *YYCURSOR);
10459
903
    yych = *++YYCURSOR;
10460
903
    if (yych == 'T') goto yy857;
10461
681
    if (yych == 't') goto yy857;
10462
470
    goto yy86;
10463
33.0k
yy917:
10464
33.0k
    YYDEBUG(917, *YYCURSOR);
10465
33.0k
    ++YYCURSOR;
10466
33.0k
    YYFILL(1);
10467
33.0k
    yych = *YYCURSOR;
10468
33.0k
    if (yych <= '\r') {
10469
2.26k
      if (yych <= '\t') {
10470
756
        if (yych <= 0x00) goto yy86;
10471
550
        goto yy738;
10472
1.51k
      } else {
10473
1.51k
        if (yych <= '\n') goto yy787;
10474
546
        if (yych <= '\f') goto yy738;
10475
334
        goto yy787;
10476
546
      }
10477
30.8k
    } else {
10478
30.8k
      if (yych <= '*') {
10479
1.50k
        if (yych <= ')') goto yy738;
10480
916
        goto yy789;
10481
29.3k
      } else {
10482
29.3k
        if (yych == '/') goto yy859;
10483
1.39k
        goto yy738;
10484
29.3k
      }
10485
30.8k
    }
10486
19.1k
yy918:
10487
19.1k
    YYDEBUG(918, *YYCURSOR);
10488
19.1k
    ++YYCURSOR;
10489
19.1k
    YYFILL(1);
10490
19.1k
    yych = *YYCURSOR;
10491
19.1k
    if (yych <= ')') {
10492
1.46k
      if (yych <= '\n') {
10493
1.09k
        if (yych <= 0x00) goto yy86;
10494
594
        if (yych <= '\t') goto yy738;
10495
366
        goto yy787;
10496
594
      } else {
10497
371
        if (yych == '\r') goto yy787;
10498
287
        goto yy738;
10499
371
      }
10500
17.7k
    } else {
10501
17.7k
      if (yych <= 'T') {
10502
2.72k
        if (yych <= '*') goto yy789;
10503
2.54k
        if (yych <= 'S') goto yy738;
10504
1.45k
        goto yy932;
10505
15.0k
      } else {
10506
15.0k
        if (yych == 't') goto yy932;
10507
3.27k
        goto yy738;
10508
15.0k
      }
10509
17.7k
    }
10510
28.7k
yy919:
10511
28.7k
    YYDEBUG(919, *YYCURSOR);
10512
28.7k
    ++YYCURSOR;
10513
28.7k
    YYFILL(1);
10514
28.7k
    yych = *YYCURSOR;
10515
28.7k
    if (yych <= ')') {
10516
1.82k
      if (yych <= '\n') {
10517
949
        if (yych <= 0x00) goto yy86;
10518
741
        if (yych <= '\t') goto yy738;
10519
55
        goto yy787;
10520
880
      } else {
10521
880
        if (yych == '\r') goto yy787;
10522
243
        goto yy738;
10523
880
      }
10524
26.8k
    } else {
10525
26.8k
      if (yych <= 'P') {
10526
9.77k
        if (yych <= '*') goto yy789;
10527
7.35k
        if (yych <= 'O') goto yy738;
10528
5.59k
        goto yy933;
10529
17.1k
      } else {
10530
17.1k
        if (yych == 'p') goto yy933;
10531
469
        goto yy738;
10532
17.1k
      }
10533
26.8k
    }
10534
2.59k
yy920:
10535
2.59k
    YYDEBUG(920, *YYCURSOR);
10536
2.59k
    ++YYCURSOR;
10537
2.59k
    YYFILL(1);
10538
2.59k
    yych = *YYCURSOR;
10539
2.59k
    if (yych <= 'M') {
10540
992
      if (yych <= 0x00) goto yy86;
10541
841
      if (yych == '*') goto yy668;
10542
574
      goto yy590;
10543
1.60k
    } else {
10544
1.60k
      if (yych <= 'N') goto yy934;
10545
1.40k
      if (yych == 'n') goto yy934;
10546
232
      goto yy590;
10547
1.40k
    }
10548
9.33k
yy921:
10549
9.33k
    YYDEBUG(921, *YYCURSOR);
10550
9.33k
    ++YYCURSOR;
10551
9.33k
    YYFILL(1);
10552
9.33k
    yych = *YYCURSOR;
10553
9.33k
    if (yych <= 'D') {
10554
880
      if (yych <= 0x00) goto yy86;
10555
611
      if (yych == '*') goto yy668;
10556
419
      goto yy590;
10557
8.45k
    } else {
10558
8.45k
      if (yych <= 'E') goto yy935;
10559
6.66k
      if (yych == 'e') goto yy935;
10560
493
      goto yy590;
10561
6.66k
    }
10562
2.83k
yy922:
10563
2.83k
    YYDEBUG(922, *YYCURSOR);
10564
2.83k
    yyaccept = 94;
10565
2.83k
    YYMARKER = ++YYCURSOR;
10566
2.83k
    YYFILL(1);
10567
2.83k
    yych = *YYCURSOR;
10568
2.83k
    if (yych <= '\n') {
10569
713
      if (yych <= 0x00) goto yy886;
10570
513
      if (yych <= '\t') goto yy586;
10571
247
      goto yy495;
10572
2.12k
    } else {
10573
2.12k
      if (yych == '\r') goto yy495;
10574
1.76k
      goto yy586;
10575
2.12k
    }
10576
14.2k
yy923:
10577
14.2k
    YYDEBUG(923, *YYCURSOR);
10578
14.2k
    ++YYCURSOR;
10579
14.2k
    YYFILL(1);
10580
14.2k
    yych = *YYCURSOR;
10581
14.2k
    if (yych <= '\r') {
10582
2.36k
      if (yych <= '\t') {
10583
1.62k
        if (yych <= 0x00) goto yy86;
10584
1.39k
        goto yy586;
10585
1.62k
      } else {
10586
739
        if (yych <= '\n') goto yy495;
10587
488
        if (yych <= '\f') goto yy586;
10588
276
        goto yy495;
10589
488
      }
10590
11.9k
    } else {
10591
11.9k
      if (yych <= 'N') {
10592
1.48k
        if (yych <= 'M') goto yy586;
10593
977
        goto yy936;
10594
10.4k
      } else {
10595
10.4k
        if (yych == 'n') goto yy936;
10596
6.85k
        goto yy586;
10597
10.4k
      }
10598
11.9k
    }
10599
707
yy924:
10600
707
    YYDEBUG(924, *YYCURSOR);
10601
707
    yych = *++YYCURSOR;
10602
707
    if (yych == ')') goto yy937;
10603
349
    goto yy86;
10604
6.72k
yy925:
10605
6.72k
    YYDEBUG(925, *YYCURSOR);
10606
6.72k
    ++YYCURSOR;
10607
6.72k
    YYFILL(1);
10608
6.72k
    yych = *YYCURSOR;
10609
6.72k
    if (yych <= '\f') {
10610
4.14k
      if (yych <= 0x00) goto yy86;
10611
3.63k
      if (yych == '\n') goto yy904;
10612
362
      goto yy808;
10613
3.63k
    } else {
10614
2.57k
      if (yych <= '\r') goto yy904;
10615
1.58k
      if (yych == '*') goto yy848;
10616
1.36k
      goto yy808;
10617
1.58k
    }
10618
25.2k
yy926:
10619
25.2k
    YYDEBUG(926, *YYCURSOR);
10620
25.2k
    ++YYCURSOR;
10621
25.2k
    YYFILL(1);
10622
25.2k
    yych = *YYCURSOR;
10623
25.2k
    if (yych <= '\f') {
10624
703
      if (yych <= 0x00) goto yy86;
10625
368
      if (yych == '\n') goto yy846;
10626
71
      goto yy808;
10627
24.5k
    } else {
10628
24.5k
      if (yych <= '\r') goto yy846;
10629
23.9k
      if (yych == '*') goto yy939;
10630
1.22k
      goto yy808;
10631
23.9k
    }
10632
20.4k
yy927:
10633
20.4k
    YYDEBUG(927, *YYCURSOR);
10634
20.4k
    ++YYCURSOR;
10635
20.4k
    YYFILL(1);
10636
20.4k
    yych = *YYCURSOR;
10637
20.4k
    if (yych <= ')') {
10638
4.90k
      if (yych <= '\n') {
10639
4.08k
        if (yych <= 0x00) goto yy86;
10640
4.05k
        if (yych <= '\t') goto yy808;
10641
3.79k
        goto yy846;
10642
4.05k
      } else {
10643
819
        if (yych == '\r') goto yy846;
10644
96
        goto yy808;
10645
819
      }
10646
15.5k
    } else {
10647
15.5k
      if (yych <= 'R') {
10648
13.1k
        if (yych <= '*') goto yy848;
10649
12.8k
        if (yych <= 'Q') goto yy808;
10650
12.1k
        goto yy940;
10651
12.8k
      } else {
10652
2.45k
        if (yych == 'r') goto yy940;
10653
503
        goto yy808;
10654
2.45k
      }
10655
15.5k
    }
10656
6.04k
yy928:
10657
6.04k
    YYDEBUG(928, *YYCURSOR);
10658
6.04k
    ++YYCURSOR;
10659
6.04k
    YYFILL(1);
10660
6.04k
    yych = *YYCURSOR;
10661
6.04k
    if (yych <= 'L') {
10662
648
      if (yych <= 0x00) goto yy86;
10663
446
      if (yych == '*') goto yy760;
10664
247
      goto yy696;
10665
5.39k
    } else {
10666
5.39k
      if (yych <= 'M') goto yy941;
10667
918
      if (yych == 'm') goto yy941;
10668
170
      goto yy696;
10669
918
    }
10670
2.39k
yy929:
10671
2.39k
    YYDEBUG(929, *YYCURSOR);
10672
2.39k
    yyaccept = 4;
10673
2.39k
    yych = *(YYMARKER = ++YYCURSOR);
10674
2.39k
    if (yych == 'E') goto yy942;
10675
2.08k
    if (yych == 'e') goto yy942;
10676
197
    goto yy48;
10677
2.74k
yy930:
10678
2.74k
    YYDEBUG(930, *YYCURSOR);
10679
2.74k
    yyaccept = 95;
10680
2.74k
    yych = *(YYMARKER = ++YYCURSOR);
10681
2.74k
    if (yybm[256+yych] & 128) {
10682
604
      goto yy47;
10683
604
    }
10684
2.13k
    if (yych == '\\') goto yy164;
10685
2.07k
yy931:
10686
2.07k
    YYDEBUG(931, *YYCURSOR);
10687
2.07k
    yyleng = YYCURSOR - SCNG(yy_text);
10688
2.07k
#line 2285 "Zend/zend_language_scanner.l"
10689
2.07k
    {
10690
2.07k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10691
2.07k
}
10692
0
#line 10693 "Zend/zend_language_scanner.c"
10693
13.1k
yy932:
10694
13.1k
    YYDEBUG(932, *YYCURSOR);
10695
13.1k
    ++YYCURSOR;
10696
13.1k
    YYFILL(1);
10697
13.1k
    yych = *YYCURSOR;
10698
13.1k
    if (yych <= ')') {
10699
1.31k
      if (yych <= '\n') {
10700
862
        if (yych <= 0x00) goto yy86;
10701
672
        if (yych <= '\t') goto yy738;
10702
340
        goto yy787;
10703
672
      } else {
10704
453
        if (yych == '\r') goto yy787;
10705
210
        goto yy738;
10706
453
      }
10707
11.8k
    } else {
10708
11.8k
      if (yych <= 'E') {
10709
733
        if (yych <= '*') goto yy789;
10710
529
        if (yych <= 'D') goto yy738;
10711
303
        goto yy943;
10712
11.1k
      } else {
10713
11.1k
        if (yych == 'e') goto yy943;
10714
361
        goto yy738;
10715
11.1k
      }
10716
11.8k
    }
10717
22.2k
yy933:
10718
22.2k
    YYDEBUG(933, *YYCURSOR);
10719
22.2k
    ++YYCURSOR;
10720
22.2k
    YYFILL(1);
10721
22.2k
    yych = *YYCURSOR;
10722
22.2k
    if (yych <= ')') {
10723
1.28k
      if (yych <= '\n') {
10724
735
        if (yych <= 0x00) goto yy86;
10725
655
        if (yych <= '\t') goto yy738;
10726
212
        goto yy787;
10727
655
      } else {
10728
549
        if (yych == '\r') goto yy787;
10729
349
        goto yy738;
10730
549
      }
10731
20.9k
    } else {
10732
20.9k
      if (yych <= 'L') {
10733
4.69k
        if (yych <= '*') goto yy789;
10734
4.48k
        if (yych <= 'K') goto yy738;
10735
4.13k
        goto yy944;
10736
16.2k
      } else {
10737
16.2k
        if (yych == 'l') goto yy944;
10738
573
        goto yy738;
10739
16.2k
      }
10740
20.9k
    }
10741
1.37k
yy934:
10742
1.37k
    YYDEBUG(934, *YYCURSOR);
10743
1.37k
    ++YYCURSOR;
10744
1.37k
    YYFILL(1);
10745
1.37k
    yych = *YYCURSOR;
10746
1.37k
    if (yych <= 'C') {
10747
338
      if (yych <= 0x00) goto yy86;
10748
133
      if (yych == '*') goto yy668;
10749
79
      goto yy590;
10750
1.03k
    } else {
10751
1.03k
      if (yych <= 'D') goto yy945;
10752
863
      if (yych == 'd') goto yy945;
10753
291
      goto yy590;
10754
863
    }
10755
7.96k
yy935:
10756
7.96k
    YYDEBUG(935, *YYCURSOR);
10757
7.96k
    ++YYCURSOR;
10758
7.96k
    YYFILL(1);
10759
7.96k
    yych = *YYCURSOR;
10760
7.96k
    if (yych <= 'L') {
10761
797
      if (yych <= 0x00) goto yy86;
10762
635
      if (yych == '*') goto yy668;
10763
414
      goto yy590;
10764
7.16k
    } else {
10765
7.16k
      if (yych <= 'M') goto yy946;
10766
5.59k
      if (yych == 'm') goto yy946;
10767
206
      goto yy590;
10768
5.59k
    }
10769
4.55k
yy936:
10770
4.55k
    YYDEBUG(936, *YYCURSOR);
10771
4.55k
    ++YYCURSOR;
10772
4.55k
    YYFILL(1);
10773
4.55k
    yych = *YYCURSOR;
10774
4.55k
    if (yych <= '\r') {
10775
935
      if (yych <= '\t') {
10776
491
        if (yych <= 0x00) goto yy86;
10777
386
        goto yy586;
10778
491
      } else {
10779
444
        if (yych <= '\n') goto yy495;
10780
412
        if (yych <= '\f') goto yy586;
10781
231
        goto yy495;
10782
412
      }
10783
3.62k
    } else {
10784
3.62k
      if (yych <= 'T') {
10785
725
        if (yych <= 'S') goto yy586;
10786
598
        goto yy895;
10787
2.89k
      } else {
10788
2.89k
        if (yych == 't') goto yy895;
10789
349
        goto yy586;
10790
2.89k
      }
10791
3.62k
    }
10792
358
yy937:
10793
358
    YYDEBUG(937, *YYCURSOR);
10794
358
    ++YYCURSOR;
10795
358
    YYDEBUG(938, *YYCURSOR);
10796
358
    yyleng = YYCURSOR - SCNG(yy_text);
10797
358
#line 1790 "Zend/zend_language_scanner.l"
10798
358
    {
10799
358
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10800
358
}
10801
0
#line 10802 "Zend/zend_language_scanner.c"
10802
22.7k
yy939:
10803
22.7k
    YYDEBUG(939, *YYCURSOR);
10804
22.7k
    ++YYCURSOR;
10805
22.7k
    YYFILL(1);
10806
22.7k
    yych = *YYCURSOR;
10807
22.7k
    if (yych <= '\r') {
10808
5.01k
      if (yych <= '\t') {
10809
4.01k
        if (yych <= 0x00) goto yy86;
10810
3.76k
        goto yy808;
10811
4.01k
      } else {
10812
995
        if (yych <= '\n') goto yy846;
10813
425
        if (yych <= '\f') goto yy808;
10814
224
        goto yy846;
10815
425
      }
10816
17.7k
    } else {
10817
17.7k
      if (yych <= '*') {
10818
1.84k
        if (yych <= ')') goto yy808;
10819
820
        goto yy848;
10820
15.9k
      } else {
10821
15.9k
        if (yych == '/') goto yy904;
10822
1.03k
        goto yy808;
10823
15.9k
      }
10824
17.7k
    }
10825
14.0k
yy940:
10826
14.0k
    YYDEBUG(940, *YYCURSOR);
10827
14.0k
    ++YYCURSOR;
10828
14.0k
    YYFILL(1);
10829
14.0k
    yych = *YYCURSOR;
10830
14.0k
    if (yych <= ')') {
10831
1.48k
      if (yych <= '\n') {
10832
654
        if (yych <= 0x00) goto yy86;
10833
398
        if (yych <= '\t') goto yy808;
10834
296
        goto yy846;
10835
828
      } else {
10836
828
        if (yych == '\r') goto yy846;
10837
196
        goto yy808;
10838
828
      }
10839
12.6k
    } else {
10840
12.6k
      if (yych <= 'O') {
10841
11.8k
        if (yych <= '*') goto yy848;
10842
11.7k
        if (yych <= 'N') goto yy808;
10843
11.6k
        goto yy947;
10844
11.7k
      } else {
10845
790
        if (yych == 'o') goto yy947;
10846
330
        goto yy808;
10847
790
      }
10848
12.6k
    }
10849
5.22k
yy941:
10850
5.22k
    YYDEBUG(941, *YYCURSOR);
10851
5.22k
    ++YYCURSOR;
10852
5.22k
    YYFILL(1);
10853
5.22k
    yych = *YYCURSOR;
10854
5.22k
    if (yych <= '@') {
10855
3.56k
      if (yych <= '*') {
10856
3.08k
        if (yych <= 0x00) goto yy875;
10857
2.86k
        if (yych <= ')') goto yy948;
10858
1.65k
        goto yy949;
10859
2.86k
      } else {
10860
474
        if (yych <= '/') goto yy948;
10861
282
        if (yych <= '9') goto yy696;
10862
206
        goto yy948;
10863
282
      }
10864
3.56k
    } else {
10865
1.66k
      if (yych <= '_') {
10866
696
        if (yych <= 'Z') goto yy696;
10867
483
        if (yych <= '^') goto yy948;
10868
180
        goto yy696;
10869
972
      } else {
10870
972
        if (yych <= '`') goto yy948;
10871
856
        if (yych <= 'z') goto yy696;
10872
182
        if (yych <= 0x7F) goto yy948;
10873
95
        goto yy696;
10874
182
      }
10875
1.66k
    }
10876
2.19k
yy942:
10877
2.19k
    YYDEBUG(942, *YYCURSOR);
10878
2.19k
    yyaccept = 4;
10879
2.19k
    yych = *(YYMARKER = ++YYCURSOR);
10880
2.19k
    if (yych == 'R') goto yy950;
10881
1.89k
    if (yych == 'r') goto yy950;
10882
175
    goto yy48;
10883
11.0k
yy943:
10884
11.0k
    YYDEBUG(943, *YYCURSOR);
10885
11.0k
    ++YYCURSOR;
10886
11.0k
    YYFILL(1);
10887
11.0k
    yych = *YYCURSOR;
10888
11.0k
    if (yych <= ')') {
10889
4.14k
      if (yych <= '\n') {
10890
893
        if (yych <= 0x00) goto yy86;
10891
628
        if (yych <= '\t') goto yy738;
10892
392
        goto yy787;
10893
3.25k
      } else {
10894
3.25k
        if (yych == '\r') goto yy787;
10895
419
        goto yy738;
10896
3.25k
      }
10897
6.94k
    } else {
10898
6.94k
      if (yych <= 'N') {
10899
3.11k
        if (yych <= '*') goto yy789;
10900
1.81k
        if (yych <= 'M') goto yy738;
10901
988
        goto yy952;
10902
3.82k
      } else {
10903
3.82k
        if (yych == 'n') goto yy952;
10904
539
        goto yy738;
10905
3.82k
      }
10906
6.94k
    }
10907
19.8k
yy944:
10908
19.8k
    YYDEBUG(944, *YYCURSOR);
10909
19.8k
    ++YYCURSOR;
10910
19.8k
    YYFILL(1);
10911
19.8k
    yych = *YYCURSOR;
10912
19.8k
    if (yych <= ')') {
10913
2.04k
      if (yych <= '\n') {
10914
993
        if (yych <= 0x00) goto yy86;
10915
951
        if (yych <= '\t') goto yy738;
10916
319
        goto yy787;
10917
1.05k
      } else {
10918
1.05k
        if (yych == '\r') goto yy787;
10919
607
        goto yy738;
10920
1.05k
      }
10921
17.7k
    } else {
10922
17.7k
      if (yych <= 'E') {
10923
3.65k
        if (yych <= '*') goto yy789;
10924
3.52k
        if (yych <= 'D') goto yy738;
10925
3.29k
        goto yy953;
10926
14.1k
      } else {
10927
14.1k
        if (yych == 'e') goto yy953;
10928
732
        goto yy738;
10929
14.1k
      }
10930
17.7k
    }
10931
3.42k
yy945:
10932
3.42k
    YYDEBUG(945, *YYCURSOR);
10933
3.42k
    ++YYCURSOR;
10934
3.42k
    YYFILL(1);
10935
3.42k
    yych = *YYCURSOR;
10936
3.42k
    if (yych <= 'R') {
10937
1.29k
      if (yych <= 0x00) goto yy86;
10938
1.04k
      if (yych == '*') goto yy668;
10939
240
      goto yy590;
10940
2.13k
    } else {
10941
2.13k
      if (yych <= 'S') goto yy954;
10942
1.85k
      if (yych == 's') goto yy954;
10943
914
      goto yy590;
10944
1.85k
    }
10945
6.96k
yy946:
10946
6.96k
    YYDEBUG(946, *YYCURSOR);
10947
6.96k
    ++YYCURSOR;
10948
6.96k
    YYFILL(1);
10949
6.96k
    yych = *YYCURSOR;
10950
6.96k
    if (yych <= 'D') {
10951
768
      if (yych <= 0x00) goto yy86;
10952
554
      if (yych == '*') goto yy668;
10953
246
      goto yy590;
10954
6.19k
    } else {
10955
6.19k
      if (yych <= 'E') goto yy955;
10956
5.42k
      if (yych == 'e') goto yy955;
10957
412
      goto yy590;
10958
5.42k
    }
10959
12.0k
yy947:
10960
12.0k
    YYDEBUG(947, *YYCURSOR);
10961
12.0k
    ++YYCURSOR;
10962
12.0k
    YYFILL(1);
10963
12.0k
    yych = *YYCURSOR;
10964
12.0k
    if (yych <= ')') {
10965
821
      if (yych <= '\n') {
10966
568
        if (yych <= 0x00) goto yy86;
10967
383
        if (yych <= '\t') goto yy808;
10968
198
        goto yy846;
10969
383
      } else {
10970
253
        if (yych == '\r') goto yy846;
10971
107
        goto yy808;
10972
253
      }
10973
11.2k
    } else {
10974
11.2k
      if (yych <= 'M') {
10975
9.73k
        if (yych <= '*') goto yy848;
10976
9.53k
        if (yych <= 'L') goto yy808;
10977
9.29k
        goto yy956;
10978
9.53k
      } else {
10979
1.50k
        if (yych == 'm') goto yy956;
10980
417
        goto yy808;
10981
1.50k
      }
10982
11.2k
    }
10983
2.11k
yy948:
10984
2.11k
    YYDEBUG(948, *YYCURSOR);
10985
2.11k
    yyaccept = 91;
10986
2.11k
    YYMARKER = ++YYCURSOR;
10987
2.11k
    YYFILL(1);
10988
2.11k
    yych = *YYCURSOR;
10989
2.11k
    if (yych <= 0x00) goto yy876;
10990
1.28k
    if (yych == '*') goto yy760;
10991
847
    goto yy696;
10992
1.65k
yy949:
10993
1.65k
    YYDEBUG(949, *YYCURSOR);
10994
1.65k
    yyaccept = 91;
10995
1.65k
    YYMARKER = ++YYCURSOR;
10996
1.65k
    YYFILL(1);
10997
1.65k
    yych = *YYCURSOR;
10998
1.65k
    if (yych <= '*') {
10999
1.12k
      if (yych <= 0x00) goto yy876;
11000
800
      if (yych <= ')') goto yy696;
11001
267
      goto yy760;
11002
800
    } else {
11003
526
      if (yych == '/') goto yy616;
11004
461
      goto yy696;
11005
526
    }
11006
2.01k
yy950:
11007
2.01k
    YYDEBUG(950, *YYCURSOR);
11008
2.01k
    yyaccept = 96;
11009
2.01k
    yych = *(YYMARKER = ++YYCURSOR);
11010
2.01k
    if (yybm[256+yych] & 128) {
11011
734
      goto yy47;
11012
734
    }
11013
1.28k
    if (yych == '\\') goto yy164;
11014
1.03k
yy951:
11015
1.03k
    YYDEBUG(951, *YYCURSOR);
11016
1.03k
    yyleng = YYCURSOR - SCNG(yy_text);
11017
1.03k
#line 1762 "Zend/zend_language_scanner.l"
11018
1.03k
    {
11019
1.03k
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11020
1.03k
}
11021
0
#line 11022 "Zend/zend_language_scanner.c"
11022
4.27k
yy952:
11023
4.27k
    YYDEBUG(952, *YYCURSOR);
11024
4.27k
    ++YYCURSOR;
11025
4.27k
    YYFILL(1);
11026
4.27k
    yych = *YYCURSOR;
11027
4.27k
    if (yych <= ')') {
11028
1.11k
      if (yych <= '\n') {
11029
358
        if (yych <= 0x00) goto yy86;
11030
122
        if (yych <= '\t') goto yy738;
11031
54
        goto yy787;
11032
752
      } else {
11033
752
        if (yych == '\r') goto yy787;
11034
560
        goto yy738;
11035
752
      }
11036
3.16k
    } else {
11037
3.16k
      if (yych <= 'D') {
11038
291
        if (yych <= '*') goto yy789;
11039
246
        if (yych <= 'C') goto yy738;
11040
184
        goto yy957;
11041
2.87k
      } else {
11042
2.87k
        if (yych == 'd') goto yy957;
11043
1.19k
        goto yy738;
11044
2.87k
      }
11045
3.16k
    }
11046
16.6k
yy953:
11047
16.6k
    YYDEBUG(953, *YYCURSOR);
11048
16.6k
    ++YYCURSOR;
11049
16.6k
    YYFILL(1);
11050
16.6k
    yych = *YYCURSOR;
11051
16.6k
    if (yych <= ')') {
11052
4.79k
      if (yych <= '\n') {
11053
3.73k
        if (yych <= 0x00) goto yy86;
11054
3.49k
        if (yych <= '\t') goto yy738;
11055
3.24k
        goto yy787;
11056
3.49k
      } else {
11057
1.05k
        if (yych == '\r') goto yy787;
11058
742
        goto yy738;
11059
1.05k
      }
11060
11.8k
    } else {
11061
11.8k
      if (yych <= 'M') {
11062
5.88k
        if (yych <= '*') goto yy789;
11063
3.53k
        if (yych <= 'L') goto yy738;
11064
3.28k
        goto yy958;
11065
5.98k
      } else {
11066
5.98k
        if (yych == 'm') goto yy958;
11067
255
        goto yy738;
11068
5.98k
      }
11069
11.8k
    }
11070
1.22k
yy954:
11071
1.22k
    YYDEBUG(954, *YYCURSOR);
11072
1.22k
    yyaccept = 94;
11073
1.22k
    YYMARKER = ++YYCURSOR;
11074
1.22k
    YYFILL(1);
11075
1.22k
    yych = *YYCURSOR;
11076
1.22k
    if (yych <= 0x00) goto yy886;
11077
1.01k
    if (yych == '*') goto yy668;
11078
574
    goto yy590;
11079
5.78k
yy955:
11080
5.78k
    YYDEBUG(955, *YYCURSOR);
11081
5.78k
    ++YYCURSOR;
11082
5.78k
    YYFILL(1);
11083
5.78k
    yych = *YYCURSOR;
11084
5.78k
    if (yych <= 'M') {
11085
1.22k
      if (yych <= 0x00) goto yy86;
11086
734
      if (yych == '*') goto yy668;
11087
512
      goto yy590;
11088
4.56k
    } else {
11089
4.56k
      if (yych <= 'N') goto yy959;
11090
3.69k
      if (yych == 'n') goto yy959;
11091
397
      goto yy590;
11092
3.69k
    }
11093
10.3k
yy956:
11094
10.3k
    YYDEBUG(956, *YYCURSOR);
11095
10.3k
    ++YYCURSOR;
11096
10.3k
    YYFILL(1);
11097
10.3k
    yych = *YYCURSOR;
11098
10.3k
    if (yych <= '/') {
11099
7.54k
      if (yych <= '\f') {
11100
3.74k
        if (yych <= 0x00) goto yy875;
11101
3.49k
        if (yych == '\n') goto yy961;
11102
232
        goto yy960;
11103
3.79k
      } else {
11104
3.79k
        if (yych <= '\r') goto yy961;
11105
2.70k
        if (yych == '*') goto yy962;
11106
968
        goto yy960;
11107
2.70k
      }
11108
7.54k
    } else {
11109
2.84k
      if (yych <= '^') {
11110
797
        if (yych <= '9') goto yy808;
11111
576
        if (yych <= '@') goto yy960;
11112
490
        if (yych <= 'Z') goto yy808;
11113
395
        goto yy960;
11114
2.04k
      } else {
11115
2.04k
        if (yych <= '`') {
11116
799
          if (yych <= '_') goto yy808;
11117
614
          goto yy960;
11118
1.24k
        } else {
11119
1.24k
          if (yych <= 'z') goto yy808;
11120
986
          if (yych <= 0x7F) goto yy960;
11121
355
          goto yy808;
11122
986
        }
11123
2.04k
      }
11124
2.84k
    }
11125
4.76k
yy957:
11126
4.76k
    YYDEBUG(957, *YYCURSOR);
11127
4.76k
    ++YYCURSOR;
11128
4.76k
    YYFILL(1);
11129
4.76k
    yych = *YYCURSOR;
11130
4.76k
    if (yych <= ')') {
11131
1.34k
      if (yych <= '\n') {
11132
885
        if (yych <= 0x00) goto yy86;
11133
681
        if (yych <= '\t') goto yy738;
11134
294
        goto yy787;
11135
681
      } else {
11136
460
        if (yych == '\r') goto yy787;
11137
205
        goto yy738;
11138
460
      }
11139
3.41k
    } else {
11140
3.41k
      if (yych <= 'S') {
11141
1.38k
        if (yych <= '*') goto yy789;
11142
855
        if (yych <= 'R') goto yy738;
11143
437
        goto yy963;
11144
2.03k
      } else {
11145
2.03k
        if (yych == 's') goto yy963;
11146
497
        goto yy738;
11147
2.03k
      }
11148
3.41k
    }
11149
9.02k
yy958:
11150
9.02k
    YYDEBUG(958, *YYCURSOR);
11151
9.02k
    ++YYCURSOR;
11152
9.02k
    YYFILL(1);
11153
9.02k
    yych = *YYCURSOR;
11154
9.02k
    if (yych <= ')') {
11155
1.42k
      if (yych <= '\n') {
11156
1.12k
        if (yych <= 0x00) goto yy86;
11157
894
        if (yych <= '\t') goto yy738;
11158
697
        goto yy787;
11159
894
      } else {
11160
305
        if (yych == '\r') goto yy787;
11161
235
        goto yy738;
11162
305
      }
11163
7.59k
    } else {
11164
7.59k
      if (yych <= 'E') {
11165
1.60k
        if (yych <= '*') goto yy789;
11166
1.56k
        if (yych <= 'D') goto yy738;
11167
1.33k
        goto yy964;
11168
5.98k
      } else {
11169
5.98k
        if (yych == 'e') goto yy964;
11170
203
        goto yy738;
11171
5.98k
      }
11172
7.59k
    }
11173
4.16k
yy959:
11174
4.16k
    YYDEBUG(959, *YYCURSOR);
11175
4.16k
    ++YYCURSOR;
11176
4.16k
    YYFILL(1);
11177
4.16k
    yych = *YYCURSOR;
11178
4.16k
    if (yych <= 'S') {
11179
923
      if (yych <= 0x00) goto yy86;
11180
568
      if (yych == '*') goto yy668;
11181
373
      goto yy590;
11182
3.24k
    } else {
11183
3.24k
      if (yych <= 'T') goto yy945;
11184
2.90k
      if (yych == 't') goto yy945;
11185
557
      goto yy590;
11186
2.90k
    }
11187
2.92k
yy960:
11188
2.92k
    YYDEBUG(960, *YYCURSOR);
11189
2.92k
    yyaccept = 91;
11190
2.92k
    YYMARKER = ++YYCURSOR;
11191
2.92k
    YYFILL(1);
11192
2.92k
    yych = *YYCURSOR;
11193
2.92k
    if (yych <= '\f') {
11194
1.35k
      if (yych <= 0x00) goto yy876;
11195
1.11k
      if (yych == '\n') goto yy846;
11196
442
      goto yy808;
11197
1.57k
    } else {
11198
1.57k
      if (yych <= '\r') goto yy846;
11199
1.49k
      if (yych == '*') goto yy848;
11200
980
      goto yy808;
11201
1.49k
    }
11202
4.35k
yy961:
11203
4.35k
    YYDEBUG(961, *YYCURSOR);
11204
4.35k
    yyaccept = 91;
11205
4.35k
    YYMARKER = ++YYCURSOR;
11206
4.35k
    YYFILL(1);
11207
4.35k
    yych = *YYCURSOR;
11208
4.35k
    if (yych <= '#') {
11209
2.73k
      if (yych <= '\f') {
11210
775
        if (yych <= 0x00) goto yy876;
11211
548
        if (yych <= 0x08) goto yy696;
11212
506
        if (yych <= '\n') goto yy846;
11213
270
        goto yy696;
11214
1.96k
      } else {
11215
1.96k
        if (yych <= 0x1F) {
11216
655
          if (yych <= '\r') goto yy846;
11217
393
          goto yy696;
11218
1.30k
        } else {
11219
1.30k
          if (yych <= ' ') goto yy846;
11220
578
          if (yych <= '"') goto yy696;
11221
388
          goto yy877;
11222
578
        }
11223
1.96k
      }
11224
2.73k
    } else {
11225
1.61k
      if (yych <= '/') {
11226
512
        if (yych == '*') goto yy760;
11227
286
        if (yych <= '.') goto yy696;
11228
211
        goto yy878;
11229
1.10k
      } else {
11230
1.10k
        if (yych <= 'F') {
11231
719
          if (yych <= 'E') goto yy696;
11232
192
          goto yy879;
11233
719
        } else {
11234
388
          if (yych == 'f') goto yy879;
11235
320
          goto yy696;
11236
388
        }
11237
1.10k
      }
11238
1.61k
    }
11239
1.73k
yy962:
11240
1.73k
    YYDEBUG(962, *YYCURSOR);
11241
1.73k
    yyaccept = 91;
11242
1.73k
    YYMARKER = ++YYCURSOR;
11243
1.73k
    YYFILL(1);
11244
1.73k
    yych = *YYCURSOR;
11245
1.73k
    if (yych <= '\r') {
11246
963
      if (yych <= '\t') {
11247
224
        if (yych <= 0x00) goto yy876;
11248
84
        goto yy808;
11249
739
      } else {
11250
739
        if (yych <= '\n') goto yy846;
11251
494
        if (yych <= '\f') goto yy808;
11252
71
        goto yy846;
11253
494
      }
11254
963
    } else {
11255
774
      if (yych <= '*') {
11256
219
        if (yych <= ')') goto yy808;
11257
147
        goto yy848;
11258
555
      } else {
11259
555
        if (yych == '/') goto yy694;
11260
61
        goto yy808;
11261
555
      }
11262
774
    }
11263
1.97k
yy963:
11264
1.97k
    YYDEBUG(963, *YYCURSOR);
11265
1.97k
    yyaccept = 94;
11266
1.97k
    YYMARKER = ++YYCURSOR;
11267
1.97k
    YYFILL(1);
11268
1.97k
    yych = *YYCURSOR;
11269
1.97k
    if (yych <= '\f') {
11270
851
      if (yych <= 0x00) goto yy886;
11271
635
      if (yych == '\n') goto yy787;
11272
439
      goto yy738;
11273
1.12k
    } else {
11274
1.12k
      if (yych <= '\r') goto yy787;
11275
901
      if (yych == '*') goto yy789;
11276
454
      goto yy738;
11277
901
    }
11278
7.12k
yy964:
11279
7.12k
    YYDEBUG(964, *YYCURSOR);
11280
7.12k
    ++YYCURSOR;
11281
7.12k
    YYFILL(1);
11282
7.12k
    yych = *YYCURSOR;
11283
7.12k
    if (yych <= ')') {
11284
1.40k
      if (yych <= '\n') {
11285
1.27k
        if (yych <= 0x00) goto yy86;
11286
1.05k
        if (yych <= '\t') goto yy738;
11287
213
        goto yy787;
11288
1.05k
      } else {
11289
126
        if (yych == '\r') goto yy787;
11290
76
        goto yy738;
11291
126
      }
11292
5.72k
    } else {
11293
5.72k
      if (yych <= 'N') {
11294
1.66k
        if (yych <= '*') goto yy789;
11295
1.53k
        if (yych <= 'M') goto yy738;
11296
4.05k
      } else {
11297
4.05k
        if (yych != 'n') goto yy738;
11298
4.05k
      }
11299
5.72k
    }
11300
4.59k
    YYDEBUG(965, *YYCURSOR);
11301
4.59k
    ++YYCURSOR;
11302
4.59k
    YYFILL(1);
11303
4.59k
    yych = *YYCURSOR;
11304
4.59k
    if (yych <= ')') {
11305
960
      if (yych <= '\n') {
11306
524
        if (yych <= 0x00) goto yy86;
11307
281
        if (yych <= '\t') goto yy738;
11308
214
        goto yy787;
11309
436
      } else {
11310
436
        if (yych == '\r') goto yy787;
11311
219
        goto yy738;
11312
436
      }
11313
3.63k
    } else {
11314
3.63k
      if (yych <= 'T') {
11315
1.25k
        if (yych <= '*') goto yy789;
11316
1.03k
        if (yych <= 'S') goto yy738;
11317
820
        goto yy957;
11318
2.38k
      } else {
11319
2.38k
        if (yych == 't') goto yy957;
11320
302
        goto yy738;
11321
2.38k
      }
11322
3.63k
    }
11323
4.59k
  }
11324
/* *********************************** */
11325
358k
yyc_ST_LOOKING_FOR_PROPERTY:
11326
358k
  {
11327
358k
    static const unsigned char yybm[] = {
11328
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
11329
358k
        0,  64,  64,   0,   0,  64,   0,   0, 
11330
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
11332
358k
       64,   0,   0,   0,   0,   0,   0,   0, 
11333
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
11334
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11335
358k
      128, 128,   0,   0,   0,   0,   0,   0, 
11336
358k
        0, 128, 128, 128, 128, 128, 128, 128, 
11337
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11339
358k
      128, 128, 128,   0,   0,   0,   0, 128, 
11340
358k
        0, 128, 128, 128, 128, 128, 128, 128, 
11341
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11343
358k
      128, 128, 128,   0,   0,   0,   0,   0, 
11344
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
358k
      128, 128, 128, 128, 128, 128, 128, 128, 
11360
358k
    };
11361
358k
    YYDEBUG(966, *YYCURSOR);
11362
358k
    YYFILL(4);
11363
358k
    yych = *YYCURSOR;
11364
358k
    if (yybm[0+yych] & 64) {
11365
9.45k
      goto yy970;
11366
9.45k
    }
11367
348k
    if (yych <= '?') {
11368
119k
      if (yych <= '-') {
11369
42.0k
        if (yych == '#') goto yy973;
11370
34.5k
        if (yych >= '-') goto yy975;
11371
77.6k
      } else {
11372
77.6k
        if (yych == '/') goto yy976;
11373
70.5k
        if (yych >= '?') goto yy977;
11374
70.5k
      }
11375
228k
    } else {
11376
228k
      if (yych <= '_') {
11377
31.5k
        if (yych <= '@') goto yy968;
11378
31.2k
        if (yych <= 'Z') goto yy978;
11379
19.7k
        if (yych >= '_') goto yy978;
11380
197k
      } else {
11381
197k
        if (yych <= '`') goto yy968;
11382
196k
        if (yych <= 'z') goto yy978;
11383
17.3k
        if (yych >= 0x80) goto yy978;
11384
17.3k
      }
11385
228k
    }
11386
29.1k
yy968:
11387
29.1k
    YYDEBUG(968, *YYCURSOR);
11388
29.1k
    ++YYCURSOR;
11389
31.1k
yy969:
11390
31.1k
    YYDEBUG(969, *YYCURSOR);
11391
31.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11392
31.1k
#line 2520 "Zend/zend_language_scanner.l"
11393
31.1k
    {
11394
31.1k
  yyless(0);
11395
31.1k
  yy_pop_state();
11396
31.1k
  goto restart;
11397
29.1k
}
11398
0
#line 11399 "Zend/zend_language_scanner.c"
11399
11.0k
yy970:
11400
11.0k
    YYDEBUG(970, *YYCURSOR);
11401
11.0k
    ++YYCURSOR;
11402
11.0k
    YYFILL(1);
11403
11.0k
    yych = *YYCURSOR;
11404
11.0k
    YYDEBUG(971, *YYCURSOR);
11405
11.0k
    if (yybm[0+yych] & 64) {
11406
1.57k
      goto yy970;
11407
1.57k
    }
11408
9.45k
    YYDEBUG(972, *YYCURSOR);
11409
9.45k
    yyleng = YYCURSOR - SCNG(yy_text);
11410
9.45k
#line 1597 "Zend/zend_language_scanner.l"
11411
9.45k
    {
11412
9.45k
  goto return_whitespace;
11413
11.0k
}
11414
0
#line 11415 "Zend/zend_language_scanner.c"
11415
8.81k
yy973:
11416
8.81k
    YYDEBUG(973, *YYCURSOR);
11417
8.81k
    ++YYCURSOR;
11418
8.81k
    YYDEBUG(974, *YYCURSOR);
11419
8.81k
    yyleng = YYCURSOR - SCNG(yy_text);
11420
8.81k
#line 2460 "Zend/zend_language_scanner.l"
11421
8.81k
    {
11422
94.1k
  while (YYCURSOR < YYLIMIT) {
11423
93.7k
    switch (*YYCURSOR++) {
11424
3.40k
      case '\r':
11425
8.25k
      case '\n':
11426
8.25k
        YYCURSOR--;
11427
8.25k
        break;
11428
1.02k
      case '?':
11429
1.02k
        if (*YYCURSOR == '>') {
11430
227
          YYCURSOR--;
11431
227
          break;
11432
227
        }
11433
797
        ZEND_FALLTHROUGH;
11434
85.2k
      default:
11435
85.2k
        continue;
11436
93.7k
    }
11437
11438
8.48k
    break;
11439
93.7k
  }
11440
11441
8.81k
  yyleng = YYCURSOR - SCNG(yy_text);
11442
8.81k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11443
8.81k
}
11444
0
#line 11445 "Zend/zend_language_scanner.c"
11445
26.5k
yy975:
11446
26.5k
    YYDEBUG(975, *YYCURSOR);
11447
26.5k
    yych = *++YYCURSOR;
11448
26.5k
    if (yych == '>') goto yy981;
11449
507
    goto yy969;
11450
7.08k
yy976:
11451
7.08k
    YYDEBUG(976, *YYCURSOR);
11452
7.08k
    yych = *++YYCURSOR;
11453
7.08k
    if (yych == '*') goto yy983;
11454
1.86k
    if (yych == '/') goto yy973;
11455
503
    goto yy969;
11456
67.9k
yy977:
11457
67.9k
    YYDEBUG(977, *YYCURSOR);
11458
67.9k
    yyaccept = 0;
11459
67.9k
    yych = *(YYMARKER = ++YYCURSOR);
11460
67.9k
    if (yych == '-') goto yy985;
11461
805
    goto yy969;
11462
907k
yy978:
11463
907k
    YYDEBUG(978, *YYCURSOR);
11464
907k
    ++YYCURSOR;
11465
907k
    YYFILL(1);
11466
907k
    yych = *YYCURSOR;
11467
907k
    YYDEBUG(979, *YYCURSOR);
11468
907k
    if (yybm[0+yych] & 128) {
11469
697k
      goto yy978;
11470
697k
    }
11471
210k
    YYDEBUG(980, *YYCURSOR);
11472
210k
    yyleng = YYCURSOR - SCNG(yy_text);
11473
210k
#line 1609 "Zend/zend_language_scanner.l"
11474
210k
    {
11475
210k
  yy_pop_state();
11476
210k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11477
210k
}
11478
0
#line 11479 "Zend/zend_language_scanner.c"
11479
26.0k
yy981:
11480
26.0k
    YYDEBUG(981, *YYCURSOR);
11481
26.0k
    ++YYCURSOR;
11482
26.0k
    YYDEBUG(982, *YYCURSOR);
11483
26.0k
    yyleng = YYCURSOR - SCNG(yy_text);
11484
26.0k
#line 1601 "Zend/zend_language_scanner.l"
11485
26.0k
    {
11486
26.0k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11487
26.0k
}
11488
0
#line 11489 "Zend/zend_language_scanner.c"
11489
5.21k
yy983:
11490
5.21k
    YYDEBUG(983, *YYCURSOR);
11491
5.21k
    yyaccept = 1;
11492
5.21k
    yych = *(YYMARKER = ++YYCURSOR);
11493
5.21k
    if (yych == '*') goto yy987;
11494
5.21k
yy984:
11495
5.21k
    YYDEBUG(984, *YYCURSOR);
11496
5.21k
    yyleng = YYCURSOR - SCNG(yy_text);
11497
5.21k
#line 2484 "Zend/zend_language_scanner.l"
11498
5.21k
    {
11499
5.21k
  int doc_com;
11500
11501
5.21k
  if (yyleng > 2) {
11502
2.86k
    doc_com = 1;
11503
2.86k
    RESET_DOC_COMMENT();
11504
2.86k
  } else {
11505
2.35k
    doc_com = 0;
11506
2.35k
  }
11507
11508
219k
  while (YYCURSOR < YYLIMIT) {
11509
219k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11510
4.29k
      break;
11511
4.29k
    }
11512
219k
  }
11513
11514
5.21k
  if (YYCURSOR < YYLIMIT) {
11515
4.29k
    YYCURSOR++;
11516
4.29k
  } else {
11517
925
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11518
925
    if (PARSER_MODE()) {
11519
70
      RETURN_TOKEN(T_ERROR);
11520
70
    }
11521
925
  }
11522
11523
5.14k
  yyleng = YYCURSOR - SCNG(yy_text);
11524
5.14k
  HANDLE_NEWLINES(yytext, yyleng);
11525
11526
5.14k
  if (doc_com) {
11527
2.82k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11528
2.82k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11529
2.82k
  }
11530
11531
2.32k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11532
2.32k
}
11533
0
#line 11534 "Zend/zend_language_scanner.c"
11534
67.1k
yy985:
11535
67.1k
    YYDEBUG(985, *YYCURSOR);
11536
67.1k
    yych = *++YYCURSOR;
11537
67.1k
    if (yych == '>') goto yy988;
11538
1.18k
yy986:
11539
1.18k
    YYDEBUG(986, *YYCURSOR);
11540
1.18k
    YYCURSOR = YYMARKER;
11541
1.18k
    if (yyaccept == 0) {
11542
93
      goto yy969;
11543
1.09k
    } else {
11544
1.09k
      goto yy984;
11545
1.09k
    }
11546
3.95k
yy987:
11547
3.95k
    YYDEBUG(987, *YYCURSOR);
11548
3.95k
    yych = *++YYCURSOR;
11549
3.95k
    if (yych <= '\f') {
11550
2.78k
      if (yych <= 0x08) goto yy986;
11551
2.38k
      if (yych <= '\n') goto yy990;
11552
231
      goto yy986;
11553
2.38k
    } else {
11554
1.17k
      if (yych <= '\r') goto yy990;
11555
1.02k
      if (yych == ' ') goto yy990;
11556
463
      goto yy986;
11557
1.02k
    }
11558
67.0k
yy988:
11559
67.0k
    YYDEBUG(988, *YYCURSOR);
11560
67.0k
    ++YYCURSOR;
11561
67.0k
    YYDEBUG(989, *YYCURSOR);
11562
67.0k
    yyleng = YYCURSOR - SCNG(yy_text);
11563
67.0k
#line 1605 "Zend/zend_language_scanner.l"
11564
67.0k
    {
11565
67.0k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11566
67.0k
}
11567
0
#line 11568 "Zend/zend_language_scanner.c"
11568
3.74k
yy990:
11569
3.74k
    YYDEBUG(990, *YYCURSOR);
11570
3.74k
    ++YYCURSOR;
11571
3.74k
    YYFILL(1);
11572
3.74k
    yych = *YYCURSOR;
11573
3.74k
    YYDEBUG(991, *YYCURSOR);
11574
3.74k
    if (yych <= '\f') {
11575
2.24k
      if (yych <= 0x08) goto yy984;
11576
2.12k
      if (yych <= '\n') goto yy990;
11577
1.87k
      goto yy984;
11578
2.12k
    } else {
11579
1.50k
      if (yych <= '\r') goto yy990;
11580
1.11k
      if (yych == ' ') goto yy990;
11581
872
      goto yy984;
11582
1.11k
    }
11583
3.74k
  }
11584
/* *********************************** */
11585
173k
yyc_ST_BACKQUOTE:
11586
173k
  {
11587
173k
    static const unsigned char yybm[] = {
11588
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
173k
        0,   0,   0,   0,   0,   0,   0,   0, 
11594
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11595
173k
      128, 128,   0,   0,   0,   0,   0,   0, 
11596
173k
        0, 128, 128, 128, 128, 128, 128, 128, 
11597
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11599
173k
      128, 128, 128,   0,   0,   0,   0, 128, 
11600
173k
        0, 128, 128, 128, 128, 128, 128, 128, 
11601
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11603
173k
      128, 128, 128,   0,   0,   0,   0,   0, 
11604
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
173k
      128, 128, 128, 128, 128, 128, 128, 128, 
11620
173k
    };
11621
173k
    YYDEBUG(992, *YYCURSOR);
11622
173k
    YYFILL(2);
11623
173k
    yych = *YYCURSOR;
11624
173k
    if (yych <= '_') {
11625
126k
      if (yych == '$') goto yy996;
11626
126k
    } else {
11627
47.6k
      if (yych <= '`') goto yy997;
11628
14.8k
      if (yych == '{') goto yy999;
11629
14.8k
    }
11630
73.9k
    YYDEBUG(994, *YYCURSOR);
11631
73.9k
    ++YYCURSOR;
11632
79.1k
yy995:
11633
79.1k
    YYDEBUG(995, *YYCURSOR);
11634
79.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11635
79.1k
#line 2919 "Zend/zend_language_scanner.l"
11636
79.1k
    {
11637
79.1k
  if (YYCURSOR > YYLIMIT) {
11638
5.55k
    RETURN_END_TOKEN;
11639
5.55k
  }
11640
73.6k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11641
1.35k
    YYCURSOR++;
11642
1.35k
  }
11643
11644
3.69M
  while (YYCURSOR < YYLIMIT) {
11645
3.69M
    switch (*YYCURSOR++) {
11646
14.0k
      case '`':
11647
14.0k
        break;
11648
64.1k
      case '$':
11649
64.1k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11650
52.7k
          break;
11651
52.7k
        }
11652
11.3k
        continue;
11653
18.1k
      case '{':
11654
18.1k
        if (*YYCURSOR == '$') {
11655
1.45k
          break;
11656
1.45k
        }
11657
16.6k
        continue;
11658
29.7k
      case '\\':
11659
29.7k
        if (YYCURSOR < YYLIMIT) {
11660
28.7k
          YYCURSOR++;
11661
28.7k
        }
11662
29.7k
        ZEND_FALLTHROUGH;
11663
3.59M
      default:
11664
3.59M
        continue;
11665
3.69M
    }
11666
11667
68.2k
    YYCURSOR--;
11668
68.2k
    break;
11669
3.69M
  }
11670
11671
73.6k
  yyleng = YYCURSOR - SCNG(yy_text);
11672
11673
73.6k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11674
73.5k
   || !PARSER_MODE()) {
11675
73.5k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11676
73.5k
  } else {
11677
9
    RETURN_TOKEN(T_ERROR);
11678
9
  }
11679
73.6k
}
11680
0
#line 11681 "Zend/zend_language_scanner.c"
11681
64.4k
yy996:
11682
64.4k
    YYDEBUG(996, *YYCURSOR);
11683
64.4k
    yych = *++YYCURSOR;
11684
64.4k
    if (yych <= '_') {
11685
9.88k
      if (yych <= '@') goto yy995;
11686
8.87k
      if (yych <= 'Z') goto yy1000;
11687
6.65k
      if (yych <= '^') goto yy995;
11688
4.08k
      goto yy1000;
11689
54.6k
    } else {
11690
54.6k
      if (yych <= 'z') {
11691
30.1k
        if (yych <= '`') goto yy995;
11692
30.0k
        goto yy1000;
11693
30.1k
      } else {
11694
24.4k
        if (yych <= '{') goto yy1003;
11695
7.70k
        if (yych <= 0x7F) goto yy995;
11696
7.45k
        goto yy1000;
11697
7.70k
      }
11698
54.6k
    }
11699
32.7k
yy997:
11700
32.7k
    YYDEBUG(997, *YYCURSOR);
11701
32.7k
    ++YYCURSOR;
11702
32.7k
    YYDEBUG(998, *YYCURSOR);
11703
32.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11704
32.7k
#line 2859 "Zend/zend_language_scanner.l"
11705
32.7k
    {
11706
32.7k
  BEGIN(ST_IN_SCRIPTING);
11707
32.7k
  RETURN_TOKEN('`');
11708
32.7k
}
11709
0
#line 11710 "Zend/zend_language_scanner.c"
11710
2.80k
yy999:
11711
2.80k
    YYDEBUG(999, *YYCURSOR);
11712
2.80k
    yych = *++YYCURSOR;
11713
2.80k
    if (yych == '$') goto yy1005;
11714
1.27k
    goto yy995;
11715
162k
yy1000:
11716
162k
    YYDEBUG(1000, *YYCURSOR);
11717
162k
    YYMARKER = ++YYCURSOR;
11718
162k
    YYFILL(4);
11719
162k
    yych = *YYCURSOR;
11720
162k
    YYDEBUG(1001, *YYCURSOR);
11721
162k
    if (yybm[0+yych] & 128) {
11722
118k
      goto yy1000;
11723
118k
    }
11724
43.8k
    if (yych <= '>') {
11725
29.4k
      if (yych == '-') goto yy1007;
11726
29.4k
    } else {
11727
14.3k
      if (yych <= '?') goto yy1009;
11728
4.66k
      if (yych <= '@') goto yy1002;
11729
4.47k
      if (yych <= '[') goto yy1010;
11730
4.47k
    }
11731
33.5k
yy1002:
11732
33.5k
    YYDEBUG(1002, *YYCURSOR);
11733
33.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11734
33.5k
#line 2417 "Zend/zend_language_scanner.l"
11735
33.5k
    {
11736
33.5k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11737
33.5k
}
11738
0
#line 11739 "Zend/zend_language_scanner.c"
11739
16.7k
yy1003:
11740
16.7k
    YYDEBUG(1003, *YYCURSOR);
11741
16.7k
    ++YYCURSOR;
11742
16.7k
    YYDEBUG(1004, *YYCURSOR);
11743
16.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11744
16.7k
#line 1981 "Zend/zend_language_scanner.l"
11745
16.7k
    {
11746
16.7k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11747
16.7k
  enter_nesting('{');
11748
16.7k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11749
16.7k
}
11750
0
#line 11751 "Zend/zend_language_scanner.c"
11751
1.53k
yy1005:
11752
1.53k
    YYDEBUG(1005, *YYCURSOR);
11753
1.53k
    ++YYCURSOR;
11754
1.53k
    YYDEBUG(1006, *YYCURSOR);
11755
1.53k
    yyleng = YYCURSOR - SCNG(yy_text);
11756
1.53k
#line 2846 "Zend/zend_language_scanner.l"
11757
1.53k
    {
11758
1.53k
  yy_push_state(ST_IN_SCRIPTING);
11759
1.53k
  yyless(1);
11760
1.53k
  enter_nesting('{');
11761
1.53k
  RETURN_TOKEN(T_CURLY_OPEN);
11762
1.53k
}
11763
0
#line 11764 "Zend/zend_language_scanner.c"
11764
6.80k
yy1007:
11765
6.80k
    YYDEBUG(1007, *YYCURSOR);
11766
6.80k
    yych = *++YYCURSOR;
11767
6.80k
    if (yych == '>') goto yy1012;
11768
8.16k
yy1008:
11769
8.16k
    YYDEBUG(1008, *YYCURSOR);
11770
8.16k
    YYCURSOR = YYMARKER;
11771
8.16k
    goto yy1002;
11772
9.72k
yy1009:
11773
9.72k
    YYDEBUG(1009, *YYCURSOR);
11774
9.72k
    yych = *++YYCURSOR;
11775
9.72k
    if (yych == '-') goto yy1013;
11776
2.86k
    goto yy1008;
11777
2.86k
yy1010:
11778
1.92k
    YYDEBUG(1010, *YYCURSOR);
11779
1.92k
    ++YYCURSOR;
11780
1.92k
    YYDEBUG(1011, *YYCURSOR);
11781
1.92k
    yyleng = YYCURSOR - SCNG(yy_text);
11782
1.92k
#line 2411 "Zend/zend_language_scanner.l"
11783
1.92k
    {
11784
1.92k
  yyless(yyleng - 1);
11785
1.92k
  yy_push_state(ST_VAR_OFFSET);
11786
1.92k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11787
1.92k
}
11788
0
#line 11789 "Zend/zend_language_scanner.c"
11789
5.28k
yy1012:
11790
5.28k
    YYDEBUG(1012, *YYCURSOR);
11791
5.28k
    yych = *++YYCURSOR;
11792
5.28k
    if (yych <= '_') {
11793
1.13k
      if (yych <= '@') goto yy1008;
11794
802
      if (yych <= 'Z') goto yy1014;
11795
704
      if (yych <= '^') goto yy1008;
11796
309
      goto yy1014;
11797
4.14k
    } else {
11798
4.14k
      if (yych <= '`') goto yy1008;
11799
3.78k
      if (yych <= 'z') goto yy1014;
11800
1.35k
      if (yych <= 0x7F) goto yy1008;
11801
1.03k
      goto yy1014;
11802
1.35k
    }
11803
6.85k
yy1013:
11804
6.85k
    YYDEBUG(1013, *YYCURSOR);
11805
6.85k
    yych = *++YYCURSOR;
11806
6.85k
    if (yych == '>') goto yy1016;
11807
575
    goto yy1008;
11808
3.88k
yy1014:
11809
3.88k
    YYDEBUG(1014, *YYCURSOR);
11810
3.88k
    ++YYCURSOR;
11811
3.88k
    YYDEBUG(1015, *YYCURSOR);
11812
3.88k
    yyleng = YYCURSOR - SCNG(yy_text);
11813
3.88k
#line 2397 "Zend/zend_language_scanner.l"
11814
3.88k
    {
11815
3.88k
  yyless(yyleng - 3);
11816
3.88k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11817
3.88k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11818
3.88k
}
11819
0
#line 11820 "Zend/zend_language_scanner.c"
11820
6.28k
yy1016:
11821
6.28k
    YYDEBUG(1016, *YYCURSOR);
11822
6.28k
    yych = *++YYCURSOR;
11823
6.28k
    if (yych <= '_') {
11824
3.44k
      if (yych <= '@') goto yy1008;
11825
2.94k
      if (yych <= 'Z') goto yy1017;
11826
2.72k
      if (yych <= '^') goto yy1008;
11827
2.83k
    } else {
11828
2.83k
      if (yych <= '`') goto yy1008;
11829
2.56k
      if (yych <= 'z') goto yy1017;
11830
412
      if (yych <= 0x7F) goto yy1008;
11831
412
    }
11832
4.47k
yy1017:
11833
4.47k
    YYDEBUG(1017, *YYCURSOR);
11834
4.47k
    ++YYCURSOR;
11835
4.47k
    YYDEBUG(1018, *YYCURSOR);
11836
4.47k
    yyleng = YYCURSOR - SCNG(yy_text);
11837
4.47k
#line 2403 "Zend/zend_language_scanner.l"
11838
4.47k
    {
11839
4.47k
  yyless(yyleng - 4);
11840
4.47k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11841
4.47k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11842
4.47k
}
11843
4.47k
#line 11844 "Zend/zend_language_scanner.c"
11844
4.47k
  }
11845
/* *********************************** */
11846
555k
yyc_ST_DOUBLE_QUOTES:
11847
555k
  {
11848
555k
    static const unsigned char yybm[] = {
11849
555k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
555k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
555k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
555k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
555k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
555k
        0,   0,   0,   0,   0,   0,   0,   0, 
11855
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11856
555k
      128, 128,   0,   0,   0,   0,   0,   0, 
11857
555k
        0, 128, 128, 128, 128, 128, 128, 128, 
11858
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11860
555k
      128, 128, 128,   0,   0,   0,   0, 128, 
11861
555k
        0, 128, 128, 128, 128, 128, 128, 128, 
11862
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11864
555k
      128, 128, 128,   0,   0,   0,   0,   0, 
11865
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
555k
      128, 128, 128, 128, 128, 128, 128, 128, 
11881
555k
    };
11882
555k
    YYDEBUG(1019, *YYCURSOR);
11883
555k
    YYFILL(2);
11884
555k
    yych = *YYCURSOR;
11885
555k
    if (yych <= '#') {
11886
100k
      if (yych == '"') goto yy1023;
11887
455k
    } else {
11888
455k
      if (yych <= '$') goto yy1025;
11889
216k
      if (yych == '{') goto yy1026;
11890
216k
    }
11891
269k
    YYDEBUG(1021, *YYCURSOR);
11892
269k
    ++YYCURSOR;
11893
275k
yy1022:
11894
275k
    YYDEBUG(1022, *YYCURSOR);
11895
275k
    yyleng = YYCURSOR - SCNG(yy_text);
11896
275k
#line 2865 "Zend/zend_language_scanner.l"
11897
275k
    {
11898
275k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11899
73.3k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11900
73.3k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11901
11902
73.3k
    goto double_quotes_scan_done;
11903
73.3k
  }
11904
11905
201k
  if (YYCURSOR > YYLIMIT) {
11906
9.56k
    RETURN_END_TOKEN;
11907
9.56k
  }
11908
192k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11909
8.83k
    YYCURSOR++;
11910
8.83k
  }
11911
11912
4.89M
  while (YYCURSOR < YYLIMIT) {
11913
4.89M
    switch (*YYCURSOR++) {
11914
37.4k
      case '"':
11915
37.4k
        break;
11916
175k
      case '$':
11917
175k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11918
150k
          break;
11919
150k
        }
11920
25.2k
        continue;
11921
25.2k
      case '{':
11922
12.7k
        if (*YYCURSOR == '$') {
11923
1.97k
          break;
11924
1.97k
        }
11925
10.7k
        continue;
11926
32.6k
      case '\\':
11927
32.6k
        if (YYCURSOR < YYLIMIT) {
11928
32.3k
          YYCURSOR++;
11929
32.3k
        }
11930
32.6k
        ZEND_FALLTHROUGH;
11931
4.66M
      default:
11932
4.66M
        continue;
11933
4.89M
    }
11934
11935
189k
    YYCURSOR--;
11936
189k
    break;
11937
4.89M
  }
11938
11939
265k
double_quotes_scan_done:
11940
265k
  yyleng = YYCURSOR - SCNG(yy_text);
11941
11942
265k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11943
265k
   || !PARSER_MODE()) {
11944
265k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11945
265k
  } else {
11946
45
    RETURN_TOKEN(T_ERROR);
11947
45
  }
11948
265k
}
11949
0
#line 11950 "Zend/zend_language_scanner.c"
11950
40.7k
yy1023:
11951
40.7k
    YYDEBUG(1023, *YYCURSOR);
11952
40.7k
    ++YYCURSOR;
11953
40.7k
    YYDEBUG(1024, *YYCURSOR);
11954
40.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11955
40.7k
#line 2854 "Zend/zend_language_scanner.l"
11956
40.7k
    {
11957
40.7k
  BEGIN(ST_IN_SCRIPTING);
11958
40.7k
  RETURN_TOKEN('"');
11959
40.7k
}
11960
0
#line 11961 "Zend/zend_language_scanner.c"
11961
238k
yy1025:
11962
238k
    YYDEBUG(1025, *YYCURSOR);
11963
238k
    yych = *++YYCURSOR;
11964
238k
    if (yych <= '_') {
11965
27.7k
      if (yych <= '@') goto yy1022;
11966
24.8k
      if (yych <= 'Z') goto yy1027;
11967
2.92k
      if (yych <= '^') goto yy1022;
11968
2.68k
      goto yy1027;
11969
210k
    } else {
11970
210k
      if (yych <= 'z') {
11971
163k
        if (yych <= '`') goto yy1022;
11972
162k
        goto yy1027;
11973
163k
      } else {
11974
47.1k
        if (yych <= '{') goto yy1030;
11975
16.4k
        if (yych <= 0x7F) goto yy1022;
11976
16.1k
        goto yy1027;
11977
16.4k
      }
11978
210k
    }
11979
7.11k
yy1026:
11980
7.11k
    YYDEBUG(1026, *YYCURSOR);
11981
7.11k
    yych = *++YYCURSOR;
11982
7.11k
    if (yych == '$') goto yy1032;
11983
1.62k
    goto yy1022;
11984
680k
yy1027:
11985
680k
    YYDEBUG(1027, *YYCURSOR);
11986
680k
    YYMARKER = ++YYCURSOR;
11987
680k
    YYFILL(4);
11988
680k
    yych = *YYCURSOR;
11989
680k
    YYDEBUG(1028, *YYCURSOR);
11990
680k
    if (yybm[0+yych] & 128) {
11991
477k
      goto yy1027;
11992
477k
    }
11993
203k
    if (yych <= '>') {
11994
109k
      if (yych == '-') goto yy1034;
11995
109k
    } else {
11996
93.8k
      if (yych <= '?') goto yy1036;
11997
18.3k
      if (yych <= '@') goto yy1029;
11998
17.9k
      if (yych <= '[') goto yy1037;
11999
17.9k
    }
12000
156k
yy1029:
12001
156k
    YYDEBUG(1029, *YYCURSOR);
12002
156k
    yyleng = YYCURSOR - SCNG(yy_text);
12003
156k
#line 2417 "Zend/zend_language_scanner.l"
12004
156k
    {
12005
156k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12006
156k
}
12007
0
#line 12008 "Zend/zend_language_scanner.c"
12008
30.6k
yy1030:
12009
30.6k
    YYDEBUG(1030, *YYCURSOR);
12010
30.6k
    ++YYCURSOR;
12011
30.6k
    YYDEBUG(1031, *YYCURSOR);
12012
30.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12013
30.6k
#line 1981 "Zend/zend_language_scanner.l"
12014
30.6k
    {
12015
30.6k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12016
30.6k
  enter_nesting('{');
12017
30.6k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12018
30.6k
}
12019
0
#line 12020 "Zend/zend_language_scanner.c"
12020
5.48k
yy1032:
12021
5.48k
    YYDEBUG(1032, *YYCURSOR);
12022
5.48k
    ++YYCURSOR;
12023
5.48k
    YYDEBUG(1033, *YYCURSOR);
12024
5.48k
    yyleng = YYCURSOR - SCNG(yy_text);
12025
5.48k
#line 2846 "Zend/zend_language_scanner.l"
12026
5.48k
    {
12027
5.48k
  yy_push_state(ST_IN_SCRIPTING);
12028
5.48k
  yyless(1);
12029
5.48k
  enter_nesting('{');
12030
5.48k
  RETURN_TOKEN(T_CURLY_OPEN);
12031
5.48k
}
12032
0
#line 12033 "Zend/zend_language_scanner.c"
12033
17.9k
yy1034:
12034
17.9k
    YYDEBUG(1034, *YYCURSOR);
12035
17.9k
    yych = *++YYCURSOR;
12036
17.9k
    if (yych == '>') goto yy1039;
12037
50.6k
yy1035:
12038
50.6k
    YYDEBUG(1035, *YYCURSOR);
12039
50.6k
    YYCURSOR = YYMARKER;
12040
50.6k
    goto yy1029;
12041
75.4k
yy1036:
12042
75.4k
    YYDEBUG(1036, *YYCURSOR);
12043
75.4k
    yych = *++YYCURSOR;
12044
75.4k
    if (yych == '-') goto yy1040;
12045
40.9k
    goto yy1035;
12046
40.9k
yy1037:
12047
4.64k
    YYDEBUG(1037, *YYCURSOR);
12048
4.64k
    ++YYCURSOR;
12049
4.64k
    YYDEBUG(1038, *YYCURSOR);
12050
4.64k
    yyleng = YYCURSOR - SCNG(yy_text);
12051
4.64k
#line 2411 "Zend/zend_language_scanner.l"
12052
4.64k
    {
12053
4.64k
  yyless(yyleng - 1);
12054
4.64k
  yy_push_state(ST_VAR_OFFSET);
12055
4.64k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12056
4.64k
}
12057
0
#line 12058 "Zend/zend_language_scanner.c"
12058
13.8k
yy1039:
12059
13.8k
    YYDEBUG(1039, *YYCURSOR);
12060
13.8k
    yych = *++YYCURSOR;
12061
13.8k
    if (yych <= '_') {
12062
7.70k
      if (yych <= '@') goto yy1035;
12063
6.66k
      if (yych <= 'Z') goto yy1041;
12064
502
      if (yych <= '^') goto yy1035;
12065
274
      goto yy1041;
12066
6.12k
    } else {
12067
6.12k
      if (yych <= '`') goto yy1035;
12068
5.74k
      if (yych <= 'z') goto yy1041;
12069
1.76k
      if (yych <= 0x7F) goto yy1035;
12070
1.04k
      goto yy1041;
12071
1.76k
    }
12072
34.5k
yy1040:
12073
34.5k
    YYDEBUG(1040, *YYCURSOR);
12074
34.5k
    yych = *++YYCURSOR;
12075
34.5k
    if (yych == '>') goto yy1043;
12076
1.31k
    goto yy1035;
12077
11.4k
yy1041:
12078
11.4k
    YYDEBUG(1041, *YYCURSOR);
12079
11.4k
    ++YYCURSOR;
12080
11.4k
    YYDEBUG(1042, *YYCURSOR);
12081
11.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12082
11.4k
#line 2397 "Zend/zend_language_scanner.l"
12083
11.4k
    {
12084
11.4k
  yyless(yyleng - 3);
12085
11.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12086
11.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12087
11.4k
}
12088
0
#line 12089 "Zend/zend_language_scanner.c"
12089
33.2k
yy1043:
12090
33.2k
    YYDEBUG(1043, *YYCURSOR);
12091
33.2k
    yych = *++YYCURSOR;
12092
33.2k
    if (yych <= '_') {
12093
1.85k
      if (yych <= '@') goto yy1035;
12094
796
      if (yych <= 'Z') goto yy1044;
12095
665
      if (yych <= '^') goto yy1035;
12096
31.4k
    } else {
12097
31.4k
      if (yych <= '`') goto yy1035;
12098
31.0k
      if (yych <= 'z') goto yy1044;
12099
1.10k
      if (yych <= 0x7F) goto yy1035;
12100
1.10k
    }
12101
31.2k
yy1044:
12102
31.2k
    YYDEBUG(1044, *YYCURSOR);
12103
31.2k
    ++YYCURSOR;
12104
31.2k
    YYDEBUG(1045, *YYCURSOR);
12105
31.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12106
31.2k
#line 2403 "Zend/zend_language_scanner.l"
12107
31.2k
    {
12108
31.2k
  yyless(yyleng - 4);
12109
31.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12110
31.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12111
31.2k
}
12112
31.2k
#line 12113 "Zend/zend_language_scanner.c"
12113
31.2k
  }
12114
/* *********************************** */
12115
4.54M
yyc_ST_HEREDOC:
12116
4.54M
  {
12117
4.54M
    static const unsigned char yybm[] = {
12118
4.54M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
4.54M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
4.54M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
4.54M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
4.54M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
4.54M
        0,   0,   0,   0,   0,   0,   0,   0, 
12124
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12125
4.54M
      128, 128,   0,   0,   0,   0,   0,   0, 
12126
4.54M
        0, 128, 128, 128, 128, 128, 128, 128, 
12127
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12129
4.54M
      128, 128, 128,   0,   0,   0,   0, 128, 
12130
4.54M
        0, 128, 128, 128, 128, 128, 128, 128, 
12131
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12133
4.54M
      128, 128, 128,   0,   0,   0,   0,   0, 
12134
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
4.54M
      128, 128, 128, 128, 128, 128, 128, 128, 
12150
4.54M
    };
12151
4.54M
    YYDEBUG(1046, *YYCURSOR);
12152
4.54M
    YYFILL(2);
12153
4.54M
    yych = *YYCURSOR;
12154
4.54M
    if (yych == '$') goto yy1050;
12155
802k
    if (yych == '{') goto yy1051;
12156
727k
    YYDEBUG(1048, *YYCURSOR);
12157
727k
    ++YYCURSOR;
12158
916k
yy1049:
12159
916k
    YYDEBUG(1049, *YYCURSOR);
12160
916k
    yyleng = YYCURSOR - SCNG(yy_text);
12161
916k
#line 2965 "Zend/zend_language_scanner.l"
12162
916k
    {
12163
916k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12164
916k
  int newline = 0, indentation = 0, spacing = 0;
12165
12166
916k
  if (YYCURSOR > YYLIMIT) {
12167
17.5k
    RETURN_END_TOKEN;
12168
17.5k
  }
12169
12170
899k
  YYCURSOR--;
12171
12172
21.8M
  while (YYCURSOR < YYLIMIT) {
12173
21.7M
    switch (*YYCURSOR++) {
12174
141k
      case '\r':
12175
141k
        if (*YYCURSOR == '\n') {
12176
12.4k
          YYCURSOR++;
12177
12.4k
        }
12178
141k
        ZEND_FALLTHROUGH;
12179
1.24M
      case '\n':
12180
1.24M
        indentation = spacing = 0;
12181
12182
1.70M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12183
460k
          if (*YYCURSOR == '\t') {
12184
13.0k
            spacing |= HEREDOC_USING_TABS;
12185
447k
          } else {
12186
447k
            spacing |= HEREDOC_USING_SPACES;
12187
447k
          }
12188
460k
          ++YYCURSOR;
12189
460k
          ++indentation;
12190
460k
        }
12191
12192
1.24M
        if (YYCURSOR == YYLIMIT) {
12193
1.45k
          yyleng = YYCURSOR - SCNG(yy_text);
12194
1.45k
          HANDLE_NEWLINES(yytext, yyleng);
12195
1.45k
          ZVAL_NULL(zendlval);
12196
1.45k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12197
1.45k
        }
12198
12199
        /* Check for ending label on the next line */
12200
1.23M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12201
23.4k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12202
11.8k
            continue;
12203
11.8k
          }
12204
12205
11.5k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12206
40
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12207
40
            if (PARSER_MODE()) {
12208
6
              RETURN_TOKEN(T_ERROR);
12209
6
            }
12210
40
          }
12211
12212
          /* newline before label will be subtracted from returned text, but
12213
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12214
11.5k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12215
270
            newline = 2; /* Windows newline */
12216
11.2k
          } else {
12217
11.2k
            newline = 1;
12218
11.2k
          }
12219
12220
11.5k
          CG(increment_lineno) = 1; /* For newline before label */
12221
12222
11.5k
          if (SCNG(heredoc_scan_ahead)) {
12223
7.20k
            SCNG(heredoc_indentation) = indentation;
12224
7.20k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12225
7.20k
          } else {
12226
4.35k
            YYCURSOR -= indentation;
12227
4.35k
          }
12228
12229
11.5k
          BEGIN(ST_END_HEREDOC);
12230
12231
11.5k
          goto heredoc_scan_done;
12232
11.5k
        }
12233
1.21M
        continue;
12234
1.21M
      case '$':
12235
1.15M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12236
859k
          break;
12237
859k
        }
12238
295k
        continue;
12239
295k
      case '{':
12240
249k
        if (*YYCURSOR == '$') {
12241
12.1k
          break;
12242
12.1k
        }
12243
237k
        continue;
12244
237k
      case '\\':
12245
87.5k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12246
84.5k
          YYCURSOR++;
12247
84.5k
        }
12248
87.5k
        ZEND_FALLTHROUGH;
12249
19.1M
      default:
12250
19.1M
        continue;
12251
21.7M
    }
12252
12253
872k
    YYCURSOR--;
12254
872k
    break;
12255
21.7M
  }
12256
12257
897k
heredoc_scan_done:
12258
12259
897k
  yyleng = YYCURSOR - SCNG(yy_text);
12260
897k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12261
12262
897k
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12263
77.5k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12264
77.5k
    zend_string *copy = Z_STR_P(zendlval);
12265
12266
77.5k
    if (!strip_multiline_string_indentation(
12267
77.5k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12268
77.5k
        newline_at_start, newline != 0)) {
12269
57
      RETURN_TOKEN(T_ERROR);
12270
57
    }
12271
12272
77.5k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12273
15
      zend_string_efree(copy);
12274
15
      RETURN_TOKEN(T_ERROR);
12275
15
    }
12276
12277
77.4k
    zend_string_efree(copy);
12278
820k
  } else {
12279
820k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12280
820k
  }
12281
12282
897k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12283
897k
}
12284
0
#line 12285 "Zend/zend_language_scanner.c"
12285
3.74M
yy1050:
12286
3.74M
    YYDEBUG(1050, *YYCURSOR);
12287
3.74M
    yych = *++YYCURSOR;
12288
3.74M
    if (yych <= '_') {
12289
163k
      if (yych <= '@') goto yy1049;
12290
31.5k
      if (yych <= 'Z') goto yy1052;
12291
12.0k
      if (yych <= '^') goto yy1049;
12292
6.48k
      goto yy1052;
12293
3.57M
    } else {
12294
3.57M
      if (yych <= 'z') {
12295
220k
        if (yych <= '`') goto yy1049;
12296
220k
        goto yy1052;
12297
3.35M
      } else {
12298
3.35M
        if (yych <= '{') goto yy1055;
12299
171k
        if (yych <= 0x7F) goto yy1049;
12300
159k
        goto yy1052;
12301
171k
      }
12302
3.57M
    }
12303
74.6k
yy1051:
12304
74.6k
    YYDEBUG(1051, *YYCURSOR);
12305
74.6k
    yych = *++YYCURSOR;
12306
74.6k
    if (yych == '$') goto yy1057;
12307
39.6k
    goto yy1049;
12308
1.45M
yy1052:
12309
1.45M
    YYDEBUG(1052, *YYCURSOR);
12310
1.45M
    YYMARKER = ++YYCURSOR;
12311
1.45M
    YYFILL(4);
12312
1.45M
    yych = *YYCURSOR;
12313
1.45M
    YYDEBUG(1053, *YYCURSOR);
12314
1.45M
    if (yybm[0+yych] & 128) {
12315
1.04M
      goto yy1052;
12316
1.04M
    }
12317
405k
    if (yych <= '>') {
12318
281k
      if (yych == '-') goto yy1059;
12319
281k
    } else {
12320
123k
      if (yych <= '?') goto yy1061;
12321
47.9k
      if (yych <= '@') goto yy1054;
12322
46.9k
      if (yych <= '[') goto yy1062;
12323
46.9k
    }
12324
352k
yy1054:
12325
352k
    YYDEBUG(1054, *YYCURSOR);
12326
352k
    yyleng = YYCURSOR - SCNG(yy_text);
12327
352k
#line 2417 "Zend/zend_language_scanner.l"
12328
352k
    {
12329
352k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12330
352k
}
12331
0
#line 12332 "Zend/zend_language_scanner.c"
12332
3.18M
yy1055:
12333
3.18M
    YYDEBUG(1055, *YYCURSOR);
12334
3.18M
    ++YYCURSOR;
12335
3.18M
    YYDEBUG(1056, *YYCURSOR);
12336
3.18M
    yyleng = YYCURSOR - SCNG(yy_text);
12337
3.18M
#line 1981 "Zend/zend_language_scanner.l"
12338
3.18M
    {
12339
3.18M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12340
3.18M
  enter_nesting('{');
12341
3.18M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12342
3.18M
}
12343
0
#line 12344 "Zend/zend_language_scanner.c"
12344
35.0k
yy1057:
12345
35.0k
    YYDEBUG(1057, *YYCURSOR);
12346
35.0k
    ++YYCURSOR;
12347
35.0k
    YYDEBUG(1058, *YYCURSOR);
12348
35.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12349
35.0k
#line 2846 "Zend/zend_language_scanner.l"
12350
35.0k
    {
12351
35.0k
  yy_push_state(ST_IN_SCRIPTING);
12352
35.0k
  yyless(1);
12353
35.0k
  enter_nesting('{');
12354
35.0k
  RETURN_TOKEN(T_CURLY_OPEN);
12355
35.0k
}
12356
0
#line 12357 "Zend/zend_language_scanner.c"
12357
16.0k
yy1059:
12358
16.0k
    YYDEBUG(1059, *YYCURSOR);
12359
16.0k
    yych = *++YYCURSOR;
12360
16.0k
    if (yych == '>') goto yy1064;
12361
50.2k
yy1060:
12362
50.2k
    YYDEBUG(1060, *YYCURSOR);
12363
50.2k
    YYCURSOR = YYMARKER;
12364
50.2k
    goto yy1054;
12365
75.9k
yy1061:
12366
75.9k
    YYDEBUG(1061, *YYCURSOR);
12367
75.9k
    yych = *++YYCURSOR;
12368
75.9k
    if (yych == '-') goto yy1065;
12369
39.4k
    goto yy1060;
12370
39.4k
yy1062:
12371
11.1k
    YYDEBUG(1062, *YYCURSOR);
12372
11.1k
    ++YYCURSOR;
12373
11.1k
    YYDEBUG(1063, *YYCURSOR);
12374
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12375
11.1k
#line 2411 "Zend/zend_language_scanner.l"
12376
11.1k
    {
12377
11.1k
  yyless(yyleng - 1);
12378
11.1k
  yy_push_state(ST_VAR_OFFSET);
12379
11.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12380
11.1k
}
12381
0
#line 12382 "Zend/zend_language_scanner.c"
12382
12.5k
yy1064:
12383
12.5k
    YYDEBUG(1064, *YYCURSOR);
12384
12.5k
    yych = *++YYCURSOR;
12385
12.5k
    if (yych <= '_') {
12386
4.68k
      if (yych <= '@') goto yy1060;
12387
3.26k
      if (yych <= 'Z') goto yy1066;
12388
733
      if (yych <= '^') goto yy1060;
12389
596
      goto yy1066;
12390
7.91k
    } else {
12391
7.91k
      if (yych <= '`') goto yy1060;
12392
7.51k
      if (yych <= 'z') goto yy1066;
12393
893
      if (yych <= 0x7F) goto yy1060;
12394
713
      goto yy1066;
12395
893
    }
12396
36.5k
yy1065:
12397
36.5k
    YYDEBUG(1065, *YYCURSOR);
12398
36.5k
    yych = *++YYCURSOR;
12399
36.5k
    if (yych == '>') goto yy1068;
12400
1.81k
    goto yy1060;
12401
10.4k
yy1066:
12402
10.4k
    YYDEBUG(1066, *YYCURSOR);
12403
10.4k
    ++YYCURSOR;
12404
10.4k
    YYDEBUG(1067, *YYCURSOR);
12405
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12406
10.4k
#line 2397 "Zend/zend_language_scanner.l"
12407
10.4k
    {
12408
10.4k
  yyless(yyleng - 3);
12409
10.4k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12410
10.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12411
10.4k
}
12412
0
#line 12413 "Zend/zend_language_scanner.c"
12413
34.7k
yy1068:
12414
34.7k
    YYDEBUG(1068, *YYCURSOR);
12415
34.7k
    yych = *++YYCURSOR;
12416
34.7k
    if (yych <= '_') {
12417
3.33k
      if (yych <= '@') goto yy1060;
12418
711
      if (yych <= 'Z') goto yy1069;
12419
503
      if (yych <= '^') goto yy1060;
12420
31.3k
    } else {
12421
31.3k
      if (yych <= '`') goto yy1060;
12422
31.0k
      if (yych <= 'z') goto yy1069;
12423
872
      if (yych <= 0x7F) goto yy1060;
12424
872
    }
12425
31.3k
yy1069:
12426
31.3k
    YYDEBUG(1069, *YYCURSOR);
12427
31.3k
    ++YYCURSOR;
12428
31.3k
    YYDEBUG(1070, *YYCURSOR);
12429
31.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12430
31.3k
#line 2403 "Zend/zend_language_scanner.l"
12431
31.3k
    {
12432
31.3k
  yyless(yyleng - 4);
12433
31.3k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12434
31.3k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12435
31.3k
}
12436
31.3k
#line 12437 "Zend/zend_language_scanner.c"
12437
31.3k
  }
12438
/* *********************************** */
12439
3.23M
yyc_ST_LOOKING_FOR_VARNAME:
12440
3.23M
  {
12441
3.23M
    static const unsigned char yybm[] = {
12442
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
3.23M
        0,   0,   0,   0,   0,   0,   0,   0, 
12448
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12449
3.23M
      128, 128,   0,   0,   0,   0,   0,   0, 
12450
3.23M
        0, 128, 128, 128, 128, 128, 128, 128, 
12451
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12453
3.23M
      128, 128, 128,   0,   0,   0,   0, 128, 
12454
3.23M
        0, 128, 128, 128, 128, 128, 128, 128, 
12455
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12457
3.23M
      128, 128, 128,   0,   0,   0,   0,   0, 
12458
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
3.23M
      128, 128, 128, 128, 128, 128, 128, 128, 
12474
3.23M
    };
12475
3.23M
    YYDEBUG(1071, *YYCURSOR);
12476
3.23M
    YYFILL(2);
12477
3.23M
    yych = *YYCURSOR;
12478
3.23M
    if (yych <= '_') {
12479
3.12M
      if (yych <= '@') goto yy1073;
12480
20.3k
      if (yych <= 'Z') goto yy1075;
12481
7.87k
      if (yych >= '_') goto yy1075;
12482
114k
    } else {
12483
114k
      if (yych <= '`') goto yy1073;
12484
111k
      if (yych <= 'z') goto yy1075;
12485
34.2k
      if (yych >= 0x80) goto yy1075;
12486
34.2k
    }
12487
3.11M
yy1073:
12488
3.11M
    YYDEBUG(1073, *YYCURSOR);
12489
3.11M
    ++YYCURSOR;
12490
3.23M
yy1074:
12491
3.23M
    YYDEBUG(1074, *YYCURSOR);
12492
3.23M
    yyleng = YYCURSOR - SCNG(yy_text);
12493
3.23M
#line 2004 "Zend/zend_language_scanner.l"
12494
3.23M
    {
12495
3.23M
  yyless(0);
12496
3.23M
  yy_pop_state();
12497
3.23M
  yy_push_state(ST_IN_SCRIPTING);
12498
3.23M
  goto restart;
12499
3.11M
}
12500
0
#line 12501 "Zend/zend_language_scanner.c"
12501
123k
yy1075:
12502
123k
    YYDEBUG(1075, *YYCURSOR);
12503
123k
    yych = *(YYMARKER = ++YYCURSOR);
12504
123k
    if (yych <= '_') {
12505
47.3k
      if (yych <= '@') {
12506
31.1k
        if (yych <= '/') goto yy1074;
12507
16.3k
        if (yych <= '9') goto yy1077;
12508
15.4k
        goto yy1074;
12509
16.3k
      } else {
12510
16.2k
        if (yych <= '[') goto yy1077;
12511
6.48k
        if (yych <= '^') goto yy1074;
12512
5.91k
        goto yy1077;
12513
6.48k
      }
12514
75.6k
    } else {
12515
75.6k
      if (yych <= '|') {
12516
61.7k
        if (yych <= '`') goto yy1074;
12517
61.3k
        if (yych <= 'z') goto yy1077;
12518
1.03k
        goto yy1074;
12519
61.3k
      } else {
12520
13.8k
        if (yych <= '}') goto yy1077;
12521
13.4k
        if (yych <= 0x7F) goto yy1074;
12522
13.0k
        goto yy1077;
12523
13.4k
      }
12524
75.6k
    }
12525
487k
yy1076:
12526
487k
    YYDEBUG(1076, *YYCURSOR);
12527
487k
    ++YYCURSOR;
12528
487k
    YYFILL(1);
12529
487k
    yych = *YYCURSOR;
12530
577k
yy1077:
12531
577k
    YYDEBUG(1077, *YYCURSOR);
12532
577k
    if (yybm[0+yych] & 128) {
12533
487k
      goto yy1076;
12534
487k
    }
12535
90.3k
    if (yych <= '@') goto yy1078;
12536
20.1k
    if (yych <= '[') goto yy1079;
12537
19.2k
    if (yych == '}') goto yy1079;
12538
88.7k
yy1078:
12539
88.7k
    YYDEBUG(1078, *YYCURSOR);
12540
88.7k
    YYCURSOR = YYMARKER;
12541
88.7k
    goto yy1074;
12542
1.62k
yy1079:
12543
1.62k
    YYDEBUG(1079, *YYCURSOR);
12544
1.62k
    ++YYCURSOR;
12545
1.62k
    YYDEBUG(1080, *YYCURSOR);
12546
1.62k
    yyleng = YYCURSOR - SCNG(yy_text);
12547
1.62k
#line 1996 "Zend/zend_language_scanner.l"
12548
1.62k
    {
12549
1.62k
  yyless(yyleng - 1);
12550
1.62k
  yy_pop_state();
12551
1.62k
  yy_push_state(ST_IN_SCRIPTING);
12552
1.62k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12553
1.62k
}
12554
1.62k
#line 12555 "Zend/zend_language_scanner.c"
12555
1.62k
  }
12556
/* *********************************** */
12557
197k
yyc_ST_VAR_OFFSET:
12558
197k
  {
12559
197k
    static const unsigned char yybm[] = {
12560
197k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
197k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
197k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
197k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
197k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
197k
        0,   0,   0,   0,   0,   0,   0,   0, 
12566
197k
      248, 248, 216, 216, 216, 216, 216, 216, 
12567
197k
      152, 152,   0,   0,   0,   0,   0,   0, 
12568
197k
        0, 144, 144, 144, 144, 144, 144,  16, 
12569
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12571
197k
       16,  16,  16,   0,   0,   0,   0,  16, 
12572
197k
        0, 144, 144, 144, 144, 144, 144,  16, 
12573
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12575
197k
       16,  16,  16,   0,   0,   0,   0,   0, 
12576
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
197k
       16,  16,  16,  16,  16,  16,  16,  16, 
12592
197k
    };
12593
197k
    YYDEBUG(1081, *YYCURSOR);
12594
197k
    YYFILL(2);
12595
197k
    yych = *YYCURSOR;
12596
197k
    if (yych <= '0') {
12597
87.1k
      if (yych <= ' ') {
12598
34.2k
        if (yych <= '\f') {
12599
27.6k
          if (yych <= 0x08) goto yy1083;
12600
5.55k
          if (yych <= '\n') goto yy1085;
12601
6.56k
        } else {
12602
6.56k
          if (yych <= '\r') goto yy1085;
12603
6.10k
          if (yych >= ' ') goto yy1085;
12604
6.10k
        }
12605
52.9k
      } else {
12606
52.9k
        if (yych <= '$') {
12607
21.5k
          if (yych <= '"') goto yy1087;
12608
15.6k
          if (yych <= '#') goto yy1085;
12609
15.2k
          goto yy1089;
12610
31.4k
        } else {
12611
31.4k
          if (yych == '\'') goto yy1085;
12612
30.2k
          if (yych <= '/') goto yy1087;
12613
13.7k
          goto yy1090;
12614
30.2k
        }
12615
52.9k
      }
12616
110k
    } else {
12617
110k
      if (yych <= ']') {
12618
71.2k
        if (yych <= 'Z') {
12619
37.9k
          if (yych <= '9') goto yy1092;
12620
27.0k
          if (yych <= '@') goto yy1087;
12621
5.96k
          goto yy1094;
12622
33.2k
        } else {
12623
33.2k
          if (yych <= '[') goto yy1087;
12624
8.61k
          if (yych <= '\\') goto yy1085;
12625
8.51k
          goto yy1097;
12626
8.61k
        }
12627
71.2k
      } else {
12628
39.2k
        if (yych <= '`') {
12629
17.8k
          if (yych == '_') goto yy1094;
12630
15.0k
          goto yy1087;
12631
21.4k
        } else {
12632
21.4k
          if (yych <= 'z') goto yy1094;
12633
11.5k
          if (yych <= '~') goto yy1087;
12634
8.38k
          if (yych >= 0x80) goto yy1094;
12635
8.38k
        }
12636
39.2k
      }
12637
110k
    }
12638
29.5k
yy1083:
12639
29.5k
    YYDEBUG(1083, *YYCURSOR);
12640
29.5k
    ++YYCURSOR;
12641
29.5k
    YYDEBUG(1084, *YYCURSOR);
12642
29.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12643
29.5k
#line 3180 "Zend/zend_language_scanner.l"
12644
29.5k
    {
12645
29.5k
  if (YYCURSOR > YYLIMIT) {
12646
1.46k
    RETURN_END_TOKEN;
12647
1.46k
  }
12648
12649
28.0k
  RETURN_TOKEN(T_BAD_CHARACTER);
12650
28.0k
}
12651
0
#line 12652 "Zend/zend_language_scanner.c"
12652
7.25k
yy1085:
12653
7.25k
    YYDEBUG(1085, *YYCURSOR);
12654
7.25k
    ++YYCURSOR;
12655
7.25k
    YYDEBUG(1086, *YYCURSOR);
12656
7.25k
    yyleng = YYCURSOR - SCNG(yy_text);
12657
7.25k
#line 2431 "Zend/zend_language_scanner.l"
12658
7.25k
    {
12659
  /* Invalid rule to return a more explicit parse error with proper line number */
12660
7.25k
  yyless(0);
12661
7.25k
  yy_pop_state();
12662
7.25k
  ZVAL_NULL(zendlval);
12663
7.25k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12664
7.25k
}
12665
0
#line 12666 "Zend/zend_language_scanner.c"
12666
86.4k
yy1087:
12667
86.4k
    YYDEBUG(1087, *YYCURSOR);
12668
86.4k
    ++YYCURSOR;
12669
91.6k
yy1088:
12670
91.6k
    YYDEBUG(1088, *YYCURSOR);
12671
91.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12672
91.6k
#line 2426 "Zend/zend_language_scanner.l"
12673
91.6k
    {
12674
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12675
91.6k
  RETURN_TOKEN(yytext[0]);
12676
91.6k
}
12677
0
#line 12678 "Zend/zend_language_scanner.c"
12678
15.2k
yy1089:
12679
15.2k
    YYDEBUG(1089, *YYCURSOR);
12680
15.2k
    yych = *++YYCURSOR;
12681
15.2k
    if (yych <= '_') {
12682
5.98k
      if (yych <= '@') goto yy1088;
12683
2.51k
      if (yych <= 'Z') goto yy1099;
12684
1.42k
      if (yych <= '^') goto yy1088;
12685
708
      goto yy1099;
12686
9.27k
    } else {
12687
9.27k
      if (yych <= '`') goto yy1088;
12688
9.17k
      if (yych <= 'z') goto yy1099;
12689
2.35k
      if (yych <= 0x7F) goto yy1088;
12690
1.43k
      goto yy1099;
12691
2.35k
    }
12692
13.7k
yy1090:
12693
13.7k
    YYDEBUG(1090, *YYCURSOR);
12694
13.7k
    yyaccept = 0;
12695
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
12696
13.7k
    if (yych <= 'X') {
12697
7.08k
      if (yych <= 'B') {
12698
5.31k
        if (yych <= '/') goto yy1091;
12699
3.97k
        if (yych <= '9') goto yy1102;
12700
1.17k
        if (yych >= 'B') goto yy1105;
12701
1.77k
      } else {
12702
1.77k
        if (yych == 'O') goto yy1107;
12703
665
        if (yych >= 'X') goto yy1108;
12704
665
      }
12705
7.08k
    } else {
12706
6.63k
      if (yych <= 'b') {
12707
4.52k
        if (yych == '_') goto yy1109;
12708
3.95k
        if (yych >= 'b') goto yy1105;
12709
3.95k
      } else {
12710
2.11k
        if (yych <= 'o') {
12711
1.00k
          if (yych >= 'o') goto yy1107;
12712
1.10k
        } else {
12713
1.10k
          if (yych == 'x') goto yy1108;
12714
1.10k
        }
12715
2.11k
      }
12716
6.63k
    }
12717
20.2k
yy1091:
12718
20.2k
    YYDEBUG(1091, *YYCURSOR);
12719
20.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12720
20.2k
#line 2208 "Zend/zend_language_scanner.l"
12721
20.2k
    { /* Offset could be treated as a long */
12722
20.2k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12723
19.1k
    char *end;
12724
19.1k
    errno = 0;
12725
19.1k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12726
19.1k
    if (errno == ERANGE) {
12727
0
      goto string;
12728
0
    }
12729
19.1k
    ZEND_ASSERT(end == yytext + yyleng);
12730
19.1k
  } else {
12731
1.08k
string:
12732
1.08k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12733
1.08k
  }
12734
20.2k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12735
20.2k
}
12736
0
#line 12737 "Zend/zend_language_scanner.c"
12737
71.0k
yy1092:
12738
71.0k
    YYDEBUG(1092, *YYCURSOR);
12739
71.0k
    yyaccept = 0;
12740
71.0k
    YYMARKER = ++YYCURSOR;
12741
71.0k
    YYFILL(1);
12742
71.0k
    yych = *YYCURSOR;
12743
71.0k
    YYDEBUG(1093, *YYCURSOR);
12744
71.0k
    if (yybm[0+yych] & 8) {
12745
60.1k
      goto yy1092;
12746
60.1k
    }
12747
10.8k
    if (yych == '_') goto yy1109;
12748
9.96k
    goto yy1091;
12749
120k
yy1094:
12750
120k
    YYDEBUG(1094, *YYCURSOR);
12751
120k
    ++YYCURSOR;
12752
120k
    YYFILL(1);
12753
120k
    yych = *YYCURSOR;
12754
120k
    YYDEBUG(1095, *YYCURSOR);
12755
120k
    if (yybm[0+yych] & 16) {
12756
94.6k
      goto yy1094;
12757
94.6k
    }
12758
26.1k
    YYDEBUG(1096, *YYCURSOR);
12759
26.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12760
26.1k
#line 2455 "Zend/zend_language_scanner.l"
12761
26.1k
    {
12762
26.1k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12763
26.1k
}
12764
0
#line 12765 "Zend/zend_language_scanner.c"
12765
8.51k
yy1097:
12766
8.51k
    YYDEBUG(1097, *YYCURSOR);
12767
8.51k
    ++YYCURSOR;
12768
8.51k
    YYDEBUG(1098, *YYCURSOR);
12769
8.51k
    yyleng = YYCURSOR - SCNG(yy_text);
12770
8.51k
#line 2421 "Zend/zend_language_scanner.l"
12771
8.51k
    {
12772
8.51k
  yy_pop_state();
12773
8.51k
  RETURN_TOKEN(']');
12774
8.51k
}
12775
0
#line 12776 "Zend/zend_language_scanner.c"
12776
36.0k
yy1099:
12777
36.0k
    YYDEBUG(1099, *YYCURSOR);
12778
36.0k
    ++YYCURSOR;
12779
36.0k
    YYFILL(1);
12780
36.0k
    yych = *YYCURSOR;
12781
36.0k
    YYDEBUG(1100, *YYCURSOR);
12782
36.0k
    if (yych <= '^') {
12783
13.5k
      if (yych <= '9') {
12784
6.11k
        if (yych >= '0') goto yy1099;
12785
7.41k
      } else {
12786
7.41k
        if (yych <= '@') goto yy1101;
12787
5.46k
        if (yych <= 'Z') goto yy1099;
12788
5.46k
      }
12789
22.5k
    } else {
12790
22.5k
      if (yych <= '`') {
12791
1.26k
        if (yych <= '_') goto yy1099;
12792
21.2k
      } else {
12793
21.2k
        if (yych <= 'z') goto yy1099;
12794
9.05k
        if (yych >= 0x80) goto yy1099;
12795
9.05k
      }
12796
22.5k
    }
12797
10.0k
yy1101:
12798
10.0k
    YYDEBUG(1101, *YYCURSOR);
12799
10.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12800
10.0k
#line 2417 "Zend/zend_language_scanner.l"
12801
10.0k
    {
12802
10.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12803
10.0k
}
12804
0
#line 12805 "Zend/zend_language_scanner.c"
12805
9.62k
yy1102:
12806
9.62k
    YYDEBUG(1102, *YYCURSOR);
12807
9.62k
    yyaccept = 1;
12808
9.62k
    YYMARKER = ++YYCURSOR;
12809
9.62k
    YYFILL(1);
12810
9.62k
    yych = *YYCURSOR;
12811
9.62k
    YYDEBUG(1103, *YYCURSOR);
12812
9.62k
    if (yych <= '/') goto yy1104;
12813
8.57k
    if (yych <= '9') goto yy1102;
12814
2.28k
    if (yych == '_') goto yy1109;
12815
4.37k
yy1104:
12816
4.37k
    YYDEBUG(1104, *YYCURSOR);
12817
4.37k
    yyleng = YYCURSOR - SCNG(yy_text);
12818
4.37k
#line 2224 "Zend/zend_language_scanner.l"
12819
4.37k
    { /* Offset must be treated as a string */
12820
4.37k
  if (yyleng == 1) {
12821
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12822
4.37k
  } else {
12823
4.37k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12824
4.37k
  }
12825
4.37k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12826
4.37k
}
12827
0
#line 12828 "Zend/zend_language_scanner.c"
12828
938
yy1105:
12829
938
    YYDEBUG(1105, *YYCURSOR);
12830
938
    ++YYCURSOR;
12831
938
    YYFILL(1);
12832
938
    yych = *YYCURSOR;
12833
938
    if (yybm[0+yych] & 32) {
12834
517
      goto yy1110;
12835
517
    }
12836
4.02k
yy1106:
12837
4.02k
    YYDEBUG(1106, *YYCURSOR);
12838
4.02k
    YYCURSOR = YYMARKER;
12839
4.02k
    if (yyaccept == 0) {
12840
2.77k
      goto yy1091;
12841
2.77k
    } else {
12842
1.25k
      goto yy1104;
12843
1.25k
    }
12844
1.84k
yy1107:
12845
1.84k
    YYDEBUG(1107, *YYCURSOR);
12846
1.84k
    ++YYCURSOR;
12847
1.84k
    YYFILL(1);
12848
1.84k
    yych = *YYCURSOR;
12849
1.84k
    if (yybm[0+yych] & 64) {
12850
641
      goto yy1112;
12851
641
    }
12852
1.20k
    goto yy1106;
12853
1.20k
yy1108:
12854
626
    YYDEBUG(1108, *YYCURSOR);
12855
626
    ++YYCURSOR;
12856
626
    YYFILL(1);
12857
626
    yych = *YYCURSOR;
12858
626
    if (yybm[0+yych] & 128) {
12859
220
      goto yy1114;
12860
220
    }
12861
406
    goto yy1106;
12862
2.52k
yy1109:
12863
2.52k
    YYDEBUG(1109, *YYCURSOR);
12864
2.52k
    ++YYCURSOR;
12865
2.52k
    YYFILL(1);
12866
2.52k
    yych = *YYCURSOR;
12867
2.52k
    if (yych <= '/') goto yy1106;
12868
981
    if (yych <= '9') goto yy1102;
12869
445
    goto yy1106;
12870
832
yy1110:
12871
832
    YYDEBUG(1110, *YYCURSOR);
12872
832
    yyaccept = 1;
12873
832
    YYMARKER = ++YYCURSOR;
12874
832
    YYFILL(1);
12875
832
    yych = *YYCURSOR;
12876
832
    YYDEBUG(1111, *YYCURSOR);
12877
832
    if (yybm[0+yych] & 32) {
12878
315
      goto yy1110;
12879
315
    }
12880
517
    if (yych == '_') goto yy1105;
12881
350
    goto yy1104;
12882
1.18k
yy1112:
12883
1.18k
    YYDEBUG(1112, *YYCURSOR);
12884
1.18k
    yyaccept = 1;
12885
1.18k
    YYMARKER = ++YYCURSOR;
12886
1.18k
    YYFILL(1);
12887
1.18k
    yych = *YYCURSOR;
12888
1.18k
    YYDEBUG(1113, *YYCURSOR);
12889
1.18k
    if (yybm[0+yych] & 64) {
12890
547
      goto yy1112;
12891
547
    }
12892
641
    if (yych == '_') goto yy1107;
12893
321
    goto yy1104;
12894
498
yy1114:
12895
498
    YYDEBUG(1114, *YYCURSOR);
12896
498
    yyaccept = 1;
12897
498
    YYMARKER = ++YYCURSOR;
12898
498
    YYFILL(1);
12899
498
    yych = *YYCURSOR;
12900
498
    YYDEBUG(1115, *YYCURSOR);
12901
498
    if (yybm[0+yych] & 128) {
12902
278
      goto yy1114;
12903
278
    }
12904
220
    if (yych == '_') goto yy1108;
12905
169
    goto yy1104;
12906
220
  }
12907
/* *********************************** */
12908
169
yyc_SHEBANG:
12909
0
  {
12910
0
    static const unsigned char yybm[] = {
12911
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12912
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12943
0
    };
12944
0
    YYDEBUG(1116, *YYCURSOR);
12945
0
    YYFILL(2);
12946
0
    yych = *YYCURSOR;
12947
0
    if (yych == '#') goto yy1120;
12948
0
    YYDEBUG(1118, *YYCURSOR);
12949
0
    ++YYCURSOR;
12950
0
yy1119:
12951
0
    YYDEBUG(1119, *YYCURSOR);
12952
0
    yyleng = YYCURSOR - SCNG(yy_text);
12953
0
#line 2295 "Zend/zend_language_scanner.l"
12954
0
    {
12955
0
  yyless(0);
12956
0
  BEGIN(INITIAL);
12957
0
  goto restart;
12958
0
}
12959
0
#line 12960 "Zend/zend_language_scanner.c"
12960
0
yy1120:
12961
0
    YYDEBUG(1120, *YYCURSOR);
12962
0
    yych = *++YYCURSOR;
12963
0
    if (yych != '!') goto yy1119;
12964
0
yy1121:
12965
0
    YYDEBUG(1121, *YYCURSOR);
12966
0
    ++YYCURSOR;
12967
0
    YYFILL(1);
12968
0
    yych = *YYCURSOR;
12969
0
    YYDEBUG(1122, *YYCURSOR);
12970
0
    if (yybm[0+yych] & 128) {
12971
0
      goto yy1121;
12972
0
    }
12973
0
    YYDEBUG(1123, *YYCURSOR);
12974
0
    ++YYCURSOR;
12975
0
    YYDEBUG(1124, *YYCURSOR);
12976
0
    yyleng = YYCURSOR - SCNG(yy_text);
12977
0
#line 2289 "Zend/zend_language_scanner.l"
12978
0
    {
12979
0
  CG(zend_lineno)++;
12980
0
  BEGIN(INITIAL);
12981
0
  goto restart;
12982
0
}
12983
0
#line 12984 "Zend/zend_language_scanner.c"
12984
0
  }
12985
/* *********************************** */
12986
364k
yyc_INITIAL:
12987
364k
  YYDEBUG(1125, *YYCURSOR);
12988
364k
  YYFILL(7);
12989
364k
  yych = *YYCURSOR;
12990
364k
  if (yych == '<') goto yy1129;
12991
169k
  YYDEBUG(1127, *YYCURSOR);
12992
169k
  ++YYCURSOR;
12993
177k
yy1128:
12994
177k
  YYDEBUG(1128, *YYCURSOR);
12995
177k
  yyleng = YYCURSOR - SCNG(yy_text);
12996
177k
#line 2341 "Zend/zend_language_scanner.l"
12997
177k
  {
12998
177k
  if (YYCURSOR > YYLIMIT) {
12999
55.8k
    RETURN_END_TOKEN;
13000
55.8k
  }
13001
13002
121k
inline_char_handler:
13003
13004
307k
  while (1) {
13005
307k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13006
13007
307k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13008
13009
307k
    if (YYCURSOR >= YYLIMIT) {
13010
25.0k
      break;
13011
25.0k
    }
13012
13013
282k
    if (*YYCURSOR == '?') {
13014
96.8k
      if (CG(short_tags) /* <? */
13015
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13016
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13017
0
          (YYCURSOR + 4 == YYLIMIT ||
13018
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13019
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13020
96.8k
      ) {
13021
96.8k
        YYCURSOR--;
13022
96.8k
        break;
13023
96.8k
      }
13024
96.8k
    }
13025
282k
  }
13026
13027
121k
  yyleng = YYCURSOR - SCNG(yy_text);
13028
13029
121k
  if (SCNG(output_filter)) {
13030
0
    size_t readsize;
13031
0
    char *s = NULL;
13032
0
    size_t sz = 0;
13033
    // TODO: avoid reallocation ???
13034
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13035
0
    ZVAL_STRINGL(zendlval, s, sz);
13036
0
    efree(s);
13037
0
    if (readsize < yyleng) {
13038
0
      yyless(readsize);
13039
0
    }
13040
121k
  } else if (yyleng == 1) {
13041
12.6k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13042
109k
  } else {
13043
109k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13044
109k
  }
13045
121k
  HANDLE_NEWLINES(yytext, yyleng);
13046
121k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13047
121k
}
13048
0
#line 13049 "Zend/zend_language_scanner.c"
13049
195k
yy1129:
13050
195k
  YYDEBUG(1129, *YYCURSOR);
13051
195k
  yych = *++YYCURSOR;
13052
195k
  if (yych != '?') goto yy1128;
13053
186k
  YYDEBUG(1130, *YYCURSOR);
13054
186k
  yych = *(YYMARKER = ++YYCURSOR);
13055
186k
  if (yych <= 'O') {
13056
48.6k
    if (yych == '=') goto yy1132;
13057
138k
  } else {
13058
138k
    if (yych <= 'P') goto yy1134;
13059
137k
    if (yych == 'p') goto yy1134;
13060
137k
  }
13061
104k
yy1131:
13062
104k
  YYDEBUG(1131, *YYCURSOR);
13063
104k
  yyleng = YYCURSOR - SCNG(yy_text);
13064
104k
#line 2332 "Zend/zend_language_scanner.l"
13065
104k
  {
13066
104k
  if (CG(short_tags)) {
13067
104k
    BEGIN(ST_IN_SCRIPTING);
13068
104k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13069
104k
  } else {
13070
0
    goto inline_char_handler;
13071
0
  }
13072
104k
}
13073
0
#line 13074 "Zend/zend_language_scanner.c"
13074
1.04k
yy1132:
13075
1.04k
  YYDEBUG(1132, *YYCURSOR);
13076
1.04k
  ++YYCURSOR;
13077
1.04k
  YYDEBUG(1133, *YYCURSOR);
13078
1.04k
  yyleng = YYCURSOR - SCNG(yy_text);
13079
1.04k
#line 2301 "Zend/zend_language_scanner.l"
13080
1.04k
  {
13081
1.04k
  BEGIN(ST_IN_SCRIPTING);
13082
1.04k
  if (PARSER_MODE()) {
13083
    /* We'll reject this as an identifier in zend_lex_tstring. */
13084
541
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13085
541
  }
13086
506
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13087
506
}
13088
0
#line 13089 "Zend/zend_language_scanner.c"
13089
87.8k
yy1134:
13090
87.8k
  YYDEBUG(1134, *YYCURSOR);
13091
87.8k
  yych = *++YYCURSOR;
13092
87.8k
  if (yych == 'H') goto yy1136;
13093
85.6k
  if (yych == 'h') goto yy1136;
13094
6.92k
yy1135:
13095
6.92k
  YYDEBUG(1135, *YYCURSOR);
13096
6.92k
  YYCURSOR = YYMARKER;
13097
6.92k
  goto yy1131;
13098
83.1k
yy1136:
13099
83.1k
  YYDEBUG(1136, *YYCURSOR);
13100
83.1k
  yych = *++YYCURSOR;
13101
83.1k
  if (yych == 'P') goto yy1137;
13102
81.9k
  if (yych != 'p') goto yy1135;
13103
80.9k
yy1137:
13104
80.9k
  YYDEBUG(1137, *YYCURSOR);
13105
80.9k
  yych = *++YYCURSOR;
13106
80.9k
  if (yych <= '\f') {
13107
70.8k
    if (yych <= 0x08) goto yy1138;
13108
70.2k
    if (yych <= '\n') goto yy1139;
13109
70.2k
  } else {
13110
10.1k
    if (yych <= '\r') goto yy1141;
13111
9.76k
    if (yych == ' ') goto yy1139;
13112
9.76k
  }
13113
4.71k
yy1138:
13114
4.71k
  YYDEBUG(1138, *YYCURSOR);
13115
4.71k
  yyleng = YYCURSOR - SCNG(yy_text);
13116
4.71k
#line 2317 "Zend/zend_language_scanner.l"
13117
4.71k
  {
13118
  /* Allow <?php followed by end of file. */
13119
4.71k
  if (YYCURSOR == YYLIMIT) {
13120
312
    BEGIN(ST_IN_SCRIPTING);
13121
312
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13122
312
  }
13123
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13124
4.40k
  if (CG(short_tags)) {
13125
4.40k
    yyless(2);
13126
4.40k
    BEGIN(ST_IN_SCRIPTING);
13127
4.40k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13128
4.40k
  }
13129
0
  goto inline_char_handler;
13130
4.40k
}
13131
0
#line 13132 "Zend/zend_language_scanner.c"
13132
76.0k
yy1139:
13133
76.0k
  YYDEBUG(1139, *YYCURSOR);
13134
76.0k
  ++YYCURSOR;
13135
76.2k
yy1140:
13136
76.2k
  YYDEBUG(1140, *YYCURSOR);
13137
76.2k
  yyleng = YYCURSOR - SCNG(yy_text);
13138
76.2k
#line 2311 "Zend/zend_language_scanner.l"
13139
76.2k
  {
13140
76.2k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13141
76.2k
  BEGIN(ST_IN_SCRIPTING);
13142
76.2k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13143
76.2k
}
13144
0
#line 13145 "Zend/zend_language_scanner.c"
13145
350
yy1141:
13146
350
  YYDEBUG(1141, *YYCURSOR);
13147
350
  yych = *++YYCURSOR;
13148
350
  if (yych == '\n') goto yy1139;
13149
239
  goto yy1140;
13150
/* *********************************** */
13151
19.9k
yyc_ST_END_HEREDOC:
13152
19.9k
  YYDEBUG(1142, *YYCURSOR);
13153
19.9k
  YYFILL(1);
13154
19.9k
  yych = *YYCURSOR;
13155
19.9k
  YYDEBUG(1144, *YYCURSOR);
13156
19.9k
  ++YYCURSOR;
13157
19.9k
  YYDEBUG(1145, *YYCURSOR);
13158
19.9k
  yyleng = YYCURSOR - SCNG(yy_text);
13159
19.9k
#line 2832 "Zend/zend_language_scanner.l"
13160
19.9k
  {
13161
19.9k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13162
13163
19.9k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13164
19.9k
  YYCURSOR += yyleng - 1;
13165
13166
19.9k
  heredoc_label_dtor(heredoc_label);
13167
19.9k
  efree(heredoc_label);
13168
13169
19.9k
  BEGIN(ST_IN_SCRIPTING);
13170
19.9k
  RETURN_TOKEN(T_END_HEREDOC);
13171
19.9k
}
13172
0
#line 13173 "Zend/zend_language_scanner.c"
13173
/* *********************************** */
13174
8.34k
yyc_ST_NOWDOC:
13175
8.34k
  YYDEBUG(1146, *YYCURSOR);
13176
8.34k
  YYFILL(1);
13177
8.34k
  yych = *YYCURSOR;
13178
8.34k
  YYDEBUG(1148, *YYCURSOR);
13179
8.34k
  ++YYCURSOR;
13180
8.34k
  YYDEBUG(1149, *YYCURSOR);
13181
8.34k
  yyleng = YYCURSOR - SCNG(yy_text);
13182
8.34k
#line 3089 "Zend/zend_language_scanner.l"
13183
8.34k
  {
13184
8.34k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13185
8.34k
  int newline = 0, indentation = 0, spacing = -1;
13186
13187
8.34k
  if (YYCURSOR > YYLIMIT) {
13188
1.98k
    RETURN_END_TOKEN;
13189
1.98k
  }
13190
13191
6.35k
  YYCURSOR--;
13192
13193
2.83M
  while (YYCURSOR < YYLIMIT) {
13194
2.83M
    switch (*YYCURSOR++) {
13195
22.3k
      case '\r':
13196
22.3k
        if (*YYCURSOR == '\n') {
13197
1.23k
          YYCURSOR++;
13198
1.23k
        }
13199
22.3k
        ZEND_FALLTHROUGH;
13200
139k
      case '\n':
13201
139k
        indentation = spacing = 0;
13202
13203
205k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13204
66.4k
          if (*YYCURSOR == '\t') {
13205
1.25k
            spacing |= HEREDOC_USING_TABS;
13206
65.1k
          } else {
13207
65.1k
            spacing |= HEREDOC_USING_SPACES;
13208
65.1k
          }
13209
66.4k
          ++YYCURSOR;
13210
66.4k
          ++indentation;
13211
66.4k
        }
13212
13213
139k
        if (YYCURSOR == YYLIMIT) {
13214
248
          yyleng = YYCURSOR - SCNG(yy_text);
13215
248
          HANDLE_NEWLINES(yytext, yyleng);
13216
248
          ZVAL_NULL(zendlval);
13217
248
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13218
248
        }
13219
13220
        /* Check for ending label on the next line */
13221
138k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13222
5.99k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13223
1.64k
            continue;
13224
1.64k
          }
13225
13226
4.35k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13227
278
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13228
278
            if (PARSER_MODE()) {
13229
5
              RETURN_TOKEN(T_ERROR);
13230
5
            }
13231
278
          }
13232
13233
          /* newline before label will be subtracted from returned text, but
13234
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13235
4.35k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13236
321
            newline = 2; /* Windows newline */
13237
4.02k
          } else {
13238
4.02k
            newline = 1;
13239
4.02k
          }
13240
13241
4.35k
          CG(increment_lineno) = 1; /* For newline before label */
13242
13243
4.35k
          YYCURSOR -= indentation;
13244
4.35k
          heredoc_label->indentation = indentation;
13245
13246
4.35k
          BEGIN(ST_END_HEREDOC);
13247
13248
4.35k
          goto nowdoc_scan_done;
13249
4.35k
        }
13250
132k
        ZEND_FALLTHROUGH;
13251
2.82M
      default:
13252
2.82M
        continue;
13253
2.83M
    }
13254
2.83M
  }
13255
13256
6.09k
nowdoc_scan_done:
13257
6.09k
  yyleng = YYCURSOR - SCNG(yy_text);
13258
6.09k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13259
13260
6.09k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13261
1.43k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13262
1.43k
    if (!strip_multiline_string_indentation(
13263
1.43k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13264
1.43k
        newline_at_start, newline != 0)) {
13265
25
      RETURN_TOKEN(T_ERROR);
13266
25
    }
13267
1.43k
  }
13268
13269
6.07k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13270
6.07k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13271
6.07k
}
13272
6.07k
#line 13273 "Zend/zend_language_scanner.c"
13273
6.07k
}
13274
0
#line 3188 "Zend/zend_language_scanner.l"
13275
13276
13277
5.76M
emit_token_with_str:
13278
5.76M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13279
13280
8.67M
emit_token_with_val:
13281
8.67M
  if (PARSER_MODE()) {
13282
2.97M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13283
2.97M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13284
2.97M
  }
13285
13286
32.5M
emit_token:
13287
32.5M
  if (SCNG(on_event)) {
13288
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13289
0
  }
13290
32.5M
  return token;
13291
13292
1.13M
emit_token_with_ident:
13293
1.13M
  if (PARSER_MODE()) {
13294
557k
    elem->ident = SCNG(yy_text);
13295
557k
  }
13296
1.13M
  if (SCNG(on_event)) {
13297
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13298
0
  }
13299
1.13M
  return token;
13300
13301
5.29M
return_whitespace:
13302
5.29M
  HANDLE_NEWLINES(yytext, yyleng);
13303
5.29M
  if (SCNG(on_event)) {
13304
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13305
0
  }
13306
5.29M
  if (PARSER_MODE()) {
13307
2.34M
    start_line = CG(zend_lineno);
13308
2.34M
    goto restart;
13309
2.95M
  } else {
13310
2.95M
    return T_WHITESPACE;
13311
2.95M
  }
13312
13313
223k
skip_token:
13314
223k
  if (SCNG(on_event)) {
13315
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13316
0
  }
13317
223k
  start_line = CG(zend_lineno);
13318
223k
  goto restart;
13319
5.29M
}